From f8931b3b3e4f71aacc66535756b8087e3f1597f4 Mon Sep 17 00:00:00 2001 From: Shuyi Cheng Date: Wed, 23 Oct 2024 10:10:58 +0800 Subject: [PATCH] delete unused package remove btf, compile, lcc and pkg directory Signed-off-by: Shuyi Cheng --- btf/CMakeLists.txt | 2 - btf/Readme.md | 6 - btf/btfhive/aarch64/getFuncs.py | 392 - btf/btfhive/aarch64/getVmlinux.py | 209 - btf/btfhive/aarch64/spider.py | 98 - btf/btfhive/getFuncs.py | 490 - btf/btfhive/getVmlinux.py | 202 - btf/btfhive/infoParse.py | 154 - btf/btfhive/lab/libs.py | 37 - btf/btfhive/lab/randomChoose.py | 59 - btf/btfhive/lab/stripHead.py | 48 - btf/btfhive/main.py | 17 - btf/btfhive/multiSpider.py | 80 - btf/btfhive/psSentry.py | 56 - btf/btfhive/spider.py | 121 - btf/btfhive/vers.py | 75 - btf/btfhive/vers/getVers.py | 34 - btf/lib/CMakeLists.txt | 2 - btf/lib/btfparse/CMakeLists.txt | 10 - btf/lib/btfparse/README.md | 20 - btf/lib/btfparse/btfparse.c | 195 - btf/lib/btfparse/btfparse.h | 37 - btf/lib/btfparse/btfparsetest.c | 29 - compile/local-compile/Makefile | 26 - compile/local-compile/bpftool | Bin 2453464 -> 0 bytes compile/local-compile/make.sh | 3 - compile/remote-compile/lbc/CMakeLists.txt | 7 - compile/remote-compile/lbc/Makefile | 84 - compile/remote-compile/lbc/bpf/lbc.bpf.c | 47 - compile/remote-compile/lbc/bpf/lbc.h | 121 - compile/remote-compile/lbc/bpf/lbc.org.h | 209 - .../lbc/cmake-build-debug/CMakeCache.txt | 347 - .../CMakeFiles/3.19.2/CMakeCCompiler.cmake | 77 - .../3.19.2/CMakeDetermineCompilerABI_C.bin | Bin 4304 -> 0 bytes .../CMakeFiles/3.19.2/CMakeSystem.cmake | 15 - .../3.19.2/CompilerIdC/CMakeCCompilerId.c | 691 - .../3.19.2/CompilerIdC/CMakeCCompilerId.o | Bin 1400 -> 0 bytes .../CMakeDirectoryInformation.cmake | 16 - .../CMakeFiles/CMakeError.log | 11 - .../CMakeFiles/CMakeOutput.log | 130 - .../CMakeFiles/Makefile.cmake | 49 - .../cmake-build-debug/CMakeFiles/Makefile2 | 125 - .../CMakeFiles/TargetDirectories.txt | 3 - .../CMakeFiles/clion-environment.txt | 3 - .../CMakeFiles/clion-log.txt | 16 - .../CMakeFiles/cmake.check_cache | 1 - .../CMakeFiles/lbc.dir/DependInfo.cmake | 21 - .../CMakeFiles/lbc.dir/build.make | 133 - .../CMakeFiles/lbc.dir/cmake_clean.cmake | 11 - .../lbc.dir/cmake_clean_target.cmake | 3 - .../CMakeFiles/lbc.dir/depend.make | 2 - .../CMakeFiles/lbc.dir/flags.make | 10 - .../CMakeFiles/lbc.dir/link.txt | 2 - .../CMakeFiles/lbc.dir/progress.make | 4 - .../CMakeFiles/progress.marks | 1 - .../lbc/cmake-build-debug/Makefile | 227 - .../Testing/Temporary/LastTest.log | 3 - .../lbc/cmake-build-debug/cmake_install.cmake | 49 - .../lbc/cmake-build-debug/lbc.cbp | 97 - compile/remote-compile/lbc/include/bpf/bpf.h | 285 - .../lbc/include/bpf/bpf_core_read.h | 436 - .../lbc/include/bpf/bpf_endian.h | 99 - .../lbc/include/bpf/bpf_helper_defs.h | 3734 -- .../lbc/include/bpf/bpf_helpers.h | 131 - .../lbc/include/bpf/bpf_tracing.h | 432 - compile/remote-compile/lbc/include/bpf/btf.h | 369 - .../remote-compile/lbc/include/bpf/libbpf.h | 766 - .../lbc/include/bpf/libbpf_common.h | 42 - .../lbc/include/bpf/libbpf_util.h | 47 - compile/remote-compile/lbc/include/bpf/xsk.h | 263 - compile/remote-compile/lbc/ko/test | 1 - compile/remote-compile/lbc/libbpf | 1 - compile/remote-compile/lbc/run.sh | 2 - compile/remote-compile/lbc/tool/__init__.py | 16 - compile/remote-compile/lbc/tool/atobj.py | 261 - compile/remote-compile/lbc/tool/bpftool | Bin 2453464 -> 0 bytes .../remote-compile/lbc/tool/checkSymbol.py | 84 - .../remote-compile/lbc/tool/compileServer.py | 293 - compile/remote-compile/lbc/tool/dict2db.py | 524 - compile/remote-compile/lbc/tool/entry.py | 57 - compile/remote-compile/lbc/tool/ffiGen.py | 157 - .../remote-compile/lbc/tool/generateUser.py | 119 - compile/remote-compile/lbc/tool/getFuncs.py | 500 - compile/remote-compile/lbc/tool/infoParse.py | 164 - compile/remote-compile/lbc/tool/objelf.py | 277 - .../remote-compile/lbc/tool/parsePahole.py | 199 - .../remote-compile/lbc/tool/replaceHead.py | 52 - compile/remote-compile/lbc/tool/surfServer.py | 290 - compile/remote-compile/lbc/tool/udpHook.py | 31 - lcc/CMakeLists.txt | 3 - lcc/clcc/CMakeLists.txt | 7 - lcc/clcc/README.md | 12 - lcc/clcc/example/CMakeLists.txt | 13 - lcc/clcc/example/example.bpf.c | 33 - lcc/clcc/example/example.c | 149 - lcc/clcc/example/example.h | 16 - lcc/clcc/lib/CMakeLists.txt | 3 - lcc/clcc/lib/helpers/CMakeLists.txt | 9 - lcc/clcc/lib/helpers/errno_helpers.c | 232 - lcc/clcc/lib/helpers/errno_helpers.h | 7 - lcc/clcc/lib/helpers/map_helpers.c | 106 - lcc/clcc/lib/helpers/map_helpers.h | 11 - lcc/clcc/lib/helpers/syscall_helpers.c | 527 - lcc/clcc/lib/helpers/syscall_helpers.h | 12 - lcc/clcc/lib/helpers/trace_helpers.c | 397 - lcc/clcc/lib/helpers/trace_helpers.h | 46 - lcc/clcc/lib/helpers/uprobe_helpers.c | 241 - lcc/clcc/lib/helpers/uprobe_helpers.h | 14 - lcc/clcc/remote/Makefile | 16 - lcc/clcc/remote/README.md | 210 - lcc/clcc/remote/call_stack/Makefile | 28 - lcc/clcc/remote/call_stack/call_stack.bpf.c | 30 - lcc/clcc/remote/call_stack/call_stack.c | 66 - lcc/clcc/remote/config_map/Makefile | 28 - lcc/clcc/remote/config_map/config_map.bpf.c | 36 - lcc/clcc/remote/config_map/config_map.c | 63 - lcc/clcc/remote/event_out/Makefile | 28 - lcc/clcc/remote/event_out/event_out.bpf.c | 28 - lcc/clcc/remote/event_out/event_out.c | 45 - lcc/clcc/remote/hash_map/Makefile | 28 - lcc/clcc/remote/hash_map/hash_map.bpf.c | 34 - lcc/clcc/remote/hash_map/hash_map.c | 75 - lcc/clcc/remote/hello/Makefile | 28 - lcc/clcc/remote/hello/hello.bpf.c | 12 - lcc/clcc/remote/hello/hello.c | 18 - lcc/clcc/remote/include/clcc.h | 334 - lcc/core/bpf_core_helper.h | 58 - lcc/eunomia-lcc/.gitignore | 4 - lcc/eunomia-lcc/Makefile | 19 - lcc/eunomia-lcc/README.md | 201 - lcc/eunomia-lcc/example/minimal/minimal.bpf.c | 21 - .../example/opensnoop/opensnoop.bpf.c | 140 - lcc/eunomia-lcc/example/opensnoop/opensnoop.h | 21 - lcc/eunomia-lcc/example/runqlat/bits.bpf.h | 31 - .../example/runqlat/core_fixes.bpf.h | 112 - lcc/eunomia-lcc/example/runqlat/maps.bpf.h | 26 - lcc/eunomia-lcc/example/runqlat/runqlat.bpf.c | 158 - lcc/eunomia-lcc/example/runqlat/runqlat.h | 14 - .../example/sigsnoop/sigsnoop.bpf.c | 149 - lcc/eunomia-lcc/example/sigsnoop/sigsnoop.h | 16 - lcc/glcc/CMakeLists.txt | 38 - lcc/glcc/README.md | 34 - lcc/glcc/lib/ebpf/Makefile | 20 - lcc/glcc/lib/ebpf/allsyms.c | 271 - lcc/glcc/lib/ebpf/allsyms.h | 78 - lcc/glcc/lib/ebpf/arraymap.c | 703 - lcc/glcc/lib/ebpf/bpf_frame.h | 43 - lcc/glcc/lib/ebpf/bpf_jit.S | 197 - lcc/glcc/lib/ebpf/bpf_jit_comp.c | 768 - lcc/glcc/lib/ebpf/bpf_lru_list.c | 697 - lcc/glcc/lib/ebpf/bpf_lru_list.h | 85 - lcc/glcc/lib/ebpf/bpf_trace.c | 939 - lcc/glcc/lib/ebpf/bpf_verifier.h | 239 - lcc/glcc/lib/ebpf/core.c | 1938 - lcc/glcc/lib/ebpf/disasm.c | 261 - lcc/glcc/lib/ebpf/disasm.h | 48 - lcc/glcc/lib/ebpf/ebpf.c | 1738 - lcc/glcc/lib/ebpf/ebpf.h | 17 - lcc/glcc/lib/ebpf/ebpf_kprobe.c | 99 - lcc/glcc/lib/ebpf/ebpf_kprobe.h | 22 - lcc/glcc/lib/ebpf/ebpf_tracepoint.c | 299 - lcc/glcc/lib/ebpf/ebpf_tracepoint.h | 17 - lcc/glcc/lib/ebpf/hashtab.c | 1416 - lcc/glcc/lib/ebpf/helpers.c | 184 - lcc/glcc/lib/ebpf/linux/bpf.h | 495 - lcc/glcc/lib/ebpf/linux/bpf_common.h | 57 - lcc/glcc/lib/ebpf/linux/bpf_perf_event.h | 20 - lcc/glcc/lib/ebpf/linux/bpf_types.h | 33 - lcc/glcc/lib/ebpf/linux/config.h | 21 - lcc/glcc/lib/ebpf/linux/filter.h | 921 - lcc/glcc/lib/ebpf/linux/frame.h | 23 - lcc/glcc/lib/ebpf/linux/list_nulls.h | 121 - lcc/glcc/lib/ebpf/linux/nospec.h | 69 - lcc/glcc/lib/ebpf/linux/rbtree_latch.h | 235 - lcc/glcc/lib/ebpf/linux/rculist_nulls.h | 174 - lcc/glcc/lib/ebpf/map_in_map.c | 116 - lcc/glcc/lib/ebpf/map_in_map.h | 24 - lcc/glcc/lib/ebpf/nospec-branch.h | 343 - lcc/glcc/lib/ebpf/percpu_freelist.c | 104 - lcc/glcc/lib/ebpf/percpu_freelist.h | 31 - lcc/glcc/lib/ebpf/readme.md | 16 - lcc/glcc/lib/ebpf/stackmap.c | 743 - lcc/glcc/lib/ebpf/tnum.c | 190 - lcc/glcc/lib/ebpf/tnum.h | 83 - lcc/glcc/lib/ebpf/trace_bpf_jit.S | 154 - lcc/glcc/lib/ebpf/trace_bpf_jit_comp.c | 1331 - lcc/glcc/lib/ebpf/uapi/linux/bpf.h | 746 - lcc/glcc/lib/ebpf/uapi/linux/filter.h | 84 - lcc/glcc/lib/ebpf/verifier.c | 6154 --- lcc/glcc/lib/hook/CMakeLists.txt | 5 - lcc/glcc/lib/hook/hook.c | 367 - lcc/glcc/lib/hook/hook.h | 52 - lcc/glcc/lib/ringbuffer/Makefile | 15 - lcc/glcc/lib/ringbuffer/main.c | 70 - lcc/glcc/lib/ringbuffer/ringbuffer.c | 499 - lcc/golcc/README.md | 66 - lcc/golcc/include/bpf/bpf.h | 537 - lcc/golcc/include/bpf/bpf_common.h | 57 - lcc/golcc/include/bpf/bpf_core_read.h | 473 - lcc/golcc/include/bpf/bpf_endian.h | 99 - lcc/golcc/include/bpf/bpf_gen_internal.h | 72 - lcc/golcc/include/bpf/bpf_helper_defs.h | 4373 -- lcc/golcc/include/bpf/bpf_helpers.h | 288 - lcc/golcc/include/bpf/bpf_tracing.h | 531 - lcc/golcc/include/bpf/btf.h | 605 - lcc/golcc/include/bpf/hashmap.h | 195 - lcc/golcc/include/bpf/if_link.h | 1279 - lcc/golcc/include/bpf/if_xdp.h | 111 - lcc/golcc/include/bpf/libbpf.h | 1767 - lcc/golcc/include/bpf/libbpf_common.h | 83 - lcc/golcc/include/bpf/libbpf_internal.h | 583 - lcc/golcc/include/bpf/libbpf_legacy.h | 114 - lcc/golcc/include/bpf/libbpf_version.h | 9 - lcc/golcc/include/bpf/netlink.h | 252 - lcc/golcc/include/bpf/nlattr.h | 164 - lcc/golcc/include/bpf/perf_event.h | 1395 - lcc/golcc/include/bpf/pkt_cls.h | 612 - lcc/golcc/include/bpf/pkt_sched.h | 1164 - lcc/golcc/include/bpf/relo_core.h | 93 - lcc/golcc/include/bpf/skel_internal.h | 349 - lcc/golcc/include/bpf/str_error.h | 6 - lcc/golcc/include/bpf/strset.h | 21 - lcc/golcc/include/bpf/usdt.bpf.h | 259 - lcc/golcc/include/bpf/xsk.h | 336 - lcc/golcc/lib/libbpf.a | Bin 2647240 -> 0 bytes lcc/golcc/rexample/hello/Makefile | 23 - lcc/golcc/rexample/hello/bpf/hello.bpf.c | 13 - lcc/golcc/rexample/hello/go.mod | 7 - lcc/golcc/rexample/hello/go.sum | 14 - lcc/golcc/rexample/hello/hello.go | 66 - lcc/golcc/rexample/user_slow/Makefile | 21 - .../rexample/user_slow/bpf/user_slow.bpf.c | 159 - lcc/golcc/rexample/user_slow/go.mod | 10 - lcc/golcc/rexample/user_slow/go.sum | 10 - lcc/golcc/rexample/user_slow/user_slow.go | 153 - lcc/pylcc/guide/attach.py | 42 - lcc/pylcc/guide/callStack.py | 77 - lcc/pylcc/guide/codeSeparate.py | 35 - lcc/pylcc/guide/dynamicVar.py | 70 - lcc/pylcc/guide/eventOut.py | 64 - lcc/pylcc/guide/hashMap.py | 80 - lcc/pylcc/guide/hello.py | 43 - lcc/pylcc/guide/independ.bpf.c | 26 - lcc/pylcc/guide/javaProbe.py | 44 - lcc/pylcc/guide/mulitEvent.py | 87 - lcc/pylcc/guide/netCollect.py | 172 - lcc/pylcc/guide/netcollect.3.10.bpf.c | 248 - lcc/pylcc/guide/netcollect.4.plus.bpf.c | 291 - lcc/pylcc/guide/perfBreakpoint.py | 93 - lcc/pylcc/guide/runlatency.py | 105 - lcc/pylcc/guide/testPerf.py | 51 - lcc/pylcc/guide/testUprobe.py | 42 - lcc/pylcc/guide/traceUprobe.py | 70 - lcc/pylcc/guide/user_break_point.c | 34 - lcc/pylcc/inject/sysHigh/20221020_145304.svg | 515 - lcc/pylcc/inject/sysHigh/Makefile | 21 - lcc/pylcc/inject/sysHigh/fly.py | 60 - lcc/pylcc/inject/sysHigh/inject.py | 56 - lcc/pylcc/inject/sysHigh/mem.json | 1 - lcc/pylcc/inject/sysHigh/proc_def.h | 34 - lcc/pylcc/inject/sysHigh/sys_high.c | 88 - lcc/pylcc/lib/__init__.py | 18 - lcc/pylcc/lib/clcc.py | 53 - lcc/pylcc/lib/lbcBase.py | 513 - lcc/pylcc/lib/lbcInclude.py | 85 - lcc/pylcc/lib/lbcMaps.py | 458 - lcc/pylcc/lib/lbcStack.py | 88 - lcc/pylcc/lib/perfEvent.py | 228 - lcc/pylcc/pytool/bindsnoop.py | 285 - lcc/pylcc/pytool/bindsnoop_example.txt | 0 lcc/pylcc/pytool/cpudist.py | 74 - lcc/pylcc/pytool/cpudist_example.txt | 49 - lcc/pylcc/pytool/filelife.py | 142 - lcc/pylcc/pytool/fileslower.py | 216 - lcc/pylcc/pytool/oomkill.py | 62 - lcc/pylcc/pytool/opensnoop.py | 176 - lcc/pylcc/pytool/opensnoop_example.txt | 174 - lcc/pylcc/pytool/perfMemFly.py | 139 - lcc/pylcc/pytool/perfSys.py | 184 - lcc/pylcc/pytool/runlatency.py | 97 - lcc/pylcc/pytool/swapin.py | 58 - lcc/pylcc/pytool/syncsnoop.py | 40 - lcc/pylcc/pytool/tcprtt.py | 174 - lcc/pylcc/pytool/tcprtt_example.txt | 60 - lcc/pylcc/test/ffiObj/testFFIObj.py | 181 - lcc/pylcc/test/readStream/bccStream.py | 65 - lcc/pylcc/test/readStream/lccStream.py | 72 - lcc/rlcc/CMakeLists.txt | 3 - lcc/rlcc/README.md | 20 - lcc/rlcc/example/Cargo.lock | 1123 - lcc/rlcc/example/Cargo.toml | 29 - lcc/rlcc/example/build.rs | 48 - lcc/rlcc/example/src/bpf/.output/bindings.rs | 90 - .../example/src/bpf/.output/example.skel.rs | 39873 ---------------- lcc/rlcc/example/src/bpf/example.bpf.c | 33 - lcc/rlcc/example/src/bpf/example.h | 32 - lcc/rlcc/example/src/bpf/vmlinux.h | 1 - lcc/rlcc/example/src/main.rs | 107 - lcc/rlcc/rexample/CMakeLists.txt | 34 - lcc/rlcc/rexample/Cargo.lock | 1123 - lcc/rlcc/rexample/Cargo.toml | 29 - lcc/rlcc/rexample/build.rs | 37 - lcc/rlcc/rexample/src/bpf/example.bpf.c | 29 - lcc/rlcc/rexample/src/bpf/example.h | 32 - lcc/rlcc/rexample/src/bpf/lbc.h | 10 - lcc/rlcc/rexample/src/bpf/vmlinux.h | 1 - lcc/rlcc/rexample/src/main.rs | 107 - lcc/rlcc/tools/cargo-libbpf | Bin 7730568 -> 0 bytes lwcb/Cargo.toml | 21 - lwcb/blang/Cargo.toml | 20 - lwcb/blang/src/blang.rs | 121 - lwcb/blang/src/btf.rs | 218 - lwcb/blang/src/call.rs | 31 - lwcb/blang/src/constant.rs | 38 - lwcb/blang/src/lexer.rs | 301 - lwcb/blang/src/lib.rs | 12 - lwcb/blang/src/optimize/mod.rs | 0 lwcb/blang/src/parser.rs | 750 - lwcb/blang/src/passes/bpfir.rs | 449 - lwcb/blang/src/passes/mod.rs | 3 - lwcb/blang/src/passes/typecheck.rs | 294 - lwcb/blang/src/passes/unfold.rs | 74 - lwcb/blang/src/print.rs | 135 - lwcb/blang/tests/files/binary_add.cb | 32 - lwcb/blang/tests/files/binary_div.cb | 30 - lwcb/blang/tests/files/binary_mul.cb | 30 - lwcb/blang/tests/files/binary_sub.cb | 30 - lwcb/blang/tests/files/call_print.cb | 37 - lwcb/blang/tests/files/empty.cb | 18 - lwcb/blang/tests/files/if_empty.cb | 41 - lwcb/blang/tests/files/if_then.cb | 46 - lwcb/blang/tests/files/if_then_else.cb | 45 - lwcb/blang/tests/files/map.cb | 44 - lwcb/blang/tests/files/member_complex.cb | 26 - lwcb/blang/tests/files/member_simple.cb | 27 - lwcb/blang/tests/files/relation_eq.cb | 39 - lwcb/blang/tests/files/relation_gt.cb | 39 - lwcb/blang/tests/files/relation_gte.cb | 39 - lwcb/blang/tests/files/relation_lt.cb | 39 - lwcb/blang/tests/files/relation_lte.cb | 39 - lwcb/blang/tests/files/relation_neq.cb | 39 - lwcb/blang/tests/files/unary_neg.cb | 28 - lwcb/blang/tests/test_bpfir.rs | 153 - lwcb/bpfir/.cargo/config | 2 - lwcb/bpfir/Cargo.toml | 25 - lwcb/bpfir/src/be/codegen.rs | 369 - lwcb/bpfir/src/be/isel.rs | 731 - lwcb/bpfir/src/be/mod.rs | 19 - lwcb/bpfir/src/be/regalloc.rs | 303 - lwcb/bpfir/src/be/spec.rs | 281 - lwcb/bpfir/src/func.rs | 48 - lwcb/bpfir/src/lib.rs | 10 - lwcb/bpfir/src/module.rs | 249 - lwcb/bpfir/src/object.rs | 98 - lwcb/bpfir/src/types.rs | 278 - lwcb/rustfmt.toml | 1 - lwcb/src/main.rs | 92 - lwcb/tests/bin/vmlinux | Bin 2402536 -> 0 bytes pkg/coolbpf-rs/Cargo.toml | 7 - pkg/coolbpf-rs/coolbpf-builder/Cargo.toml | 12 - pkg/coolbpf-rs/coolbpf-builder/src/lib.rs | 122 - pkg/coolbpf-rs/coolbpf-rs/Cargo.toml | 16 - pkg/coolbpf-rs/coolbpf-rs/src/coolbpf.rs | 74 - pkg/coolbpf-rs/coolbpf-rs/src/error.rs | 29 - pkg/coolbpf-rs/coolbpf-rs/src/exporter.rs | 5 - pkg/coolbpf-rs/coolbpf-rs/src/helper/mod.rs | 3 - pkg/coolbpf-rs/coolbpf-rs/src/helper/net.rs | 5 - pkg/coolbpf-rs/coolbpf-rs/src/lib.rs | 32 - pkg/coolbpf-rs/coolbpf-rs/src/logger.rs | 17 - pkg/coolbpf-rs/examples/tcpconnect/Cargo.toml | 13 - pkg/coolbpf-rs/examples/tcpconnect/build.rs | 9 - .../tcpconnect/src/bpf/tcpconnect.bpf.c | 47 - .../examples/tcpconnect/src/bpf/tcpconnect.h | 14 - .../examples/tcpconnect/src/main.rs | 33 - pkg/coolbpf-rs/libbpf-rs | 1 - 375 files changed, 113414 deletions(-) delete mode 100644 btf/CMakeLists.txt delete mode 100644 btf/Readme.md delete mode 100644 btf/btfhive/aarch64/getFuncs.py delete mode 100644 btf/btfhive/aarch64/getVmlinux.py delete mode 100644 btf/btfhive/aarch64/spider.py delete mode 100644 btf/btfhive/getFuncs.py delete mode 100644 btf/btfhive/getVmlinux.py delete mode 100644 btf/btfhive/infoParse.py delete mode 100644 btf/btfhive/lab/libs.py delete mode 100644 btf/btfhive/lab/randomChoose.py delete mode 100644 btf/btfhive/lab/stripHead.py delete mode 100644 btf/btfhive/main.py delete mode 100644 btf/btfhive/multiSpider.py delete mode 100644 btf/btfhive/psSentry.py delete mode 100644 btf/btfhive/spider.py delete mode 100644 btf/btfhive/vers.py delete mode 100644 btf/btfhive/vers/getVers.py delete mode 100644 btf/lib/CMakeLists.txt delete mode 100644 btf/lib/btfparse/CMakeLists.txt delete mode 100644 btf/lib/btfparse/README.md delete mode 100644 btf/lib/btfparse/btfparse.c delete mode 100644 btf/lib/btfparse/btfparse.h delete mode 100644 btf/lib/btfparse/btfparsetest.c delete mode 100644 compile/local-compile/Makefile delete mode 100755 compile/local-compile/bpftool delete mode 100644 compile/local-compile/make.sh delete mode 100644 compile/remote-compile/lbc/CMakeLists.txt delete mode 100644 compile/remote-compile/lbc/Makefile delete mode 100644 compile/remote-compile/lbc/bpf/lbc.bpf.c delete mode 100644 compile/remote-compile/lbc/bpf/lbc.h delete mode 100644 compile/remote-compile/lbc/bpf/lbc.org.h delete mode 100644 compile/remote-compile/lbc/cmake-build-debug/CMakeCache.txt delete mode 100644 compile/remote-compile/lbc/cmake-build-debug/CMakeFiles/3.19.2/CMakeCCompiler.cmake delete mode 100755 compile/remote-compile/lbc/cmake-build-debug/CMakeFiles/3.19.2/CMakeDetermineCompilerABI_C.bin delete mode 100644 compile/remote-compile/lbc/cmake-build-debug/CMakeFiles/3.19.2/CMakeSystem.cmake delete mode 100644 compile/remote-compile/lbc/cmake-build-debug/CMakeFiles/3.19.2/CompilerIdC/CMakeCCompilerId.c delete mode 100644 compile/remote-compile/lbc/cmake-build-debug/CMakeFiles/3.19.2/CompilerIdC/CMakeCCompilerId.o delete mode 100644 compile/remote-compile/lbc/cmake-build-debug/CMakeFiles/CMakeDirectoryInformation.cmake delete mode 100644 compile/remote-compile/lbc/cmake-build-debug/CMakeFiles/CMakeError.log delete mode 100644 compile/remote-compile/lbc/cmake-build-debug/CMakeFiles/CMakeOutput.log delete mode 100644 compile/remote-compile/lbc/cmake-build-debug/CMakeFiles/Makefile.cmake delete mode 100644 compile/remote-compile/lbc/cmake-build-debug/CMakeFiles/Makefile2 delete mode 100644 compile/remote-compile/lbc/cmake-build-debug/CMakeFiles/TargetDirectories.txt delete mode 100644 compile/remote-compile/lbc/cmake-build-debug/CMakeFiles/clion-environment.txt delete mode 100644 compile/remote-compile/lbc/cmake-build-debug/CMakeFiles/clion-log.txt delete mode 100644 compile/remote-compile/lbc/cmake-build-debug/CMakeFiles/cmake.check_cache delete mode 100644 compile/remote-compile/lbc/cmake-build-debug/CMakeFiles/lbc.dir/DependInfo.cmake delete mode 100644 compile/remote-compile/lbc/cmake-build-debug/CMakeFiles/lbc.dir/build.make delete mode 100644 compile/remote-compile/lbc/cmake-build-debug/CMakeFiles/lbc.dir/cmake_clean.cmake delete mode 100644 compile/remote-compile/lbc/cmake-build-debug/CMakeFiles/lbc.dir/cmake_clean_target.cmake delete mode 100644 compile/remote-compile/lbc/cmake-build-debug/CMakeFiles/lbc.dir/depend.make delete mode 100644 compile/remote-compile/lbc/cmake-build-debug/CMakeFiles/lbc.dir/flags.make delete mode 100644 compile/remote-compile/lbc/cmake-build-debug/CMakeFiles/lbc.dir/link.txt delete mode 100644 compile/remote-compile/lbc/cmake-build-debug/CMakeFiles/lbc.dir/progress.make delete mode 100644 compile/remote-compile/lbc/cmake-build-debug/CMakeFiles/progress.marks delete mode 100644 compile/remote-compile/lbc/cmake-build-debug/Makefile delete mode 100644 compile/remote-compile/lbc/cmake-build-debug/Testing/Temporary/LastTest.log delete mode 100644 compile/remote-compile/lbc/cmake-build-debug/cmake_install.cmake delete mode 100644 compile/remote-compile/lbc/cmake-build-debug/lbc.cbp delete mode 100644 compile/remote-compile/lbc/include/bpf/bpf.h delete mode 100644 compile/remote-compile/lbc/include/bpf/bpf_core_read.h delete mode 100644 compile/remote-compile/lbc/include/bpf/bpf_endian.h delete mode 100644 compile/remote-compile/lbc/include/bpf/bpf_helper_defs.h delete mode 100644 compile/remote-compile/lbc/include/bpf/bpf_helpers.h delete mode 100644 compile/remote-compile/lbc/include/bpf/bpf_tracing.h delete mode 100644 compile/remote-compile/lbc/include/bpf/btf.h delete mode 100644 compile/remote-compile/lbc/include/bpf/libbpf.h delete mode 100644 compile/remote-compile/lbc/include/bpf/libbpf_common.h delete mode 100644 compile/remote-compile/lbc/include/bpf/libbpf_util.h delete mode 100644 compile/remote-compile/lbc/include/bpf/xsk.h delete mode 100644 compile/remote-compile/lbc/ko/test delete mode 120000 compile/remote-compile/lbc/libbpf delete mode 100755 compile/remote-compile/lbc/run.sh delete mode 100644 compile/remote-compile/lbc/tool/__init__.py delete mode 100644 compile/remote-compile/lbc/tool/atobj.py delete mode 100755 compile/remote-compile/lbc/tool/bpftool delete mode 100644 compile/remote-compile/lbc/tool/checkSymbol.py delete mode 100644 compile/remote-compile/lbc/tool/compileServer.py delete mode 100644 compile/remote-compile/lbc/tool/dict2db.py delete mode 100644 compile/remote-compile/lbc/tool/entry.py delete mode 100644 compile/remote-compile/lbc/tool/ffiGen.py delete mode 100644 compile/remote-compile/lbc/tool/generateUser.py delete mode 100644 compile/remote-compile/lbc/tool/getFuncs.py delete mode 100644 compile/remote-compile/lbc/tool/infoParse.py delete mode 100644 compile/remote-compile/lbc/tool/objelf.py delete mode 100644 compile/remote-compile/lbc/tool/parsePahole.py delete mode 100644 compile/remote-compile/lbc/tool/replaceHead.py delete mode 100644 compile/remote-compile/lbc/tool/surfServer.py delete mode 100644 compile/remote-compile/lbc/tool/udpHook.py delete mode 100644 lcc/CMakeLists.txt delete mode 100644 lcc/clcc/CMakeLists.txt delete mode 100644 lcc/clcc/README.md delete mode 100644 lcc/clcc/example/CMakeLists.txt delete mode 100644 lcc/clcc/example/example.bpf.c delete mode 100644 lcc/clcc/example/example.c delete mode 100644 lcc/clcc/example/example.h delete mode 100644 lcc/clcc/lib/CMakeLists.txt delete mode 100644 lcc/clcc/lib/helpers/CMakeLists.txt delete mode 100644 lcc/clcc/lib/helpers/errno_helpers.c delete mode 100644 lcc/clcc/lib/helpers/errno_helpers.h delete mode 100644 lcc/clcc/lib/helpers/map_helpers.c delete mode 100644 lcc/clcc/lib/helpers/map_helpers.h delete mode 100644 lcc/clcc/lib/helpers/syscall_helpers.c delete mode 100644 lcc/clcc/lib/helpers/syscall_helpers.h delete mode 100644 lcc/clcc/lib/helpers/trace_helpers.c delete mode 100644 lcc/clcc/lib/helpers/trace_helpers.h delete mode 100644 lcc/clcc/lib/helpers/uprobe_helpers.c delete mode 100644 lcc/clcc/lib/helpers/uprobe_helpers.h delete mode 100644 lcc/clcc/remote/Makefile delete mode 100644 lcc/clcc/remote/README.md delete mode 100644 lcc/clcc/remote/call_stack/Makefile delete mode 100644 lcc/clcc/remote/call_stack/call_stack.bpf.c delete mode 100644 lcc/clcc/remote/call_stack/call_stack.c delete mode 100644 lcc/clcc/remote/config_map/Makefile delete mode 100644 lcc/clcc/remote/config_map/config_map.bpf.c delete mode 100644 lcc/clcc/remote/config_map/config_map.c delete mode 100644 lcc/clcc/remote/event_out/Makefile delete mode 100644 lcc/clcc/remote/event_out/event_out.bpf.c delete mode 100644 lcc/clcc/remote/event_out/event_out.c delete mode 100644 lcc/clcc/remote/hash_map/Makefile delete mode 100644 lcc/clcc/remote/hash_map/hash_map.bpf.c delete mode 100644 lcc/clcc/remote/hash_map/hash_map.c delete mode 100644 lcc/clcc/remote/hello/Makefile delete mode 100644 lcc/clcc/remote/hello/hello.bpf.c delete mode 100644 lcc/clcc/remote/hello/hello.c delete mode 100644 lcc/clcc/remote/include/clcc.h delete mode 100644 lcc/core/bpf_core_helper.h delete mode 100644 lcc/eunomia-lcc/.gitignore delete mode 100644 lcc/eunomia-lcc/Makefile delete mode 100644 lcc/eunomia-lcc/README.md delete mode 100644 lcc/eunomia-lcc/example/minimal/minimal.bpf.c delete mode 100644 lcc/eunomia-lcc/example/opensnoop/opensnoop.bpf.c delete mode 100644 lcc/eunomia-lcc/example/opensnoop/opensnoop.h delete mode 100644 lcc/eunomia-lcc/example/runqlat/bits.bpf.h delete mode 100644 lcc/eunomia-lcc/example/runqlat/core_fixes.bpf.h delete mode 100644 lcc/eunomia-lcc/example/runqlat/maps.bpf.h delete mode 100644 lcc/eunomia-lcc/example/runqlat/runqlat.bpf.c delete mode 100644 lcc/eunomia-lcc/example/runqlat/runqlat.h delete mode 100644 lcc/eunomia-lcc/example/sigsnoop/sigsnoop.bpf.c delete mode 100644 lcc/eunomia-lcc/example/sigsnoop/sigsnoop.h delete mode 100644 lcc/glcc/CMakeLists.txt delete mode 100644 lcc/glcc/README.md delete mode 100644 lcc/glcc/lib/ebpf/Makefile delete mode 100644 lcc/glcc/lib/ebpf/allsyms.c delete mode 100644 lcc/glcc/lib/ebpf/allsyms.h delete mode 100644 lcc/glcc/lib/ebpf/arraymap.c delete mode 100644 lcc/glcc/lib/ebpf/bpf_frame.h delete mode 100644 lcc/glcc/lib/ebpf/bpf_jit.S delete mode 100644 lcc/glcc/lib/ebpf/bpf_jit_comp.c delete mode 100644 lcc/glcc/lib/ebpf/bpf_lru_list.c delete mode 100644 lcc/glcc/lib/ebpf/bpf_lru_list.h delete mode 100644 lcc/glcc/lib/ebpf/bpf_trace.c delete mode 100644 lcc/glcc/lib/ebpf/bpf_verifier.h delete mode 100644 lcc/glcc/lib/ebpf/core.c delete mode 100644 lcc/glcc/lib/ebpf/disasm.c delete mode 100644 lcc/glcc/lib/ebpf/disasm.h delete mode 100644 lcc/glcc/lib/ebpf/ebpf.c delete mode 100644 lcc/glcc/lib/ebpf/ebpf.h delete mode 100644 lcc/glcc/lib/ebpf/ebpf_kprobe.c delete mode 100644 lcc/glcc/lib/ebpf/ebpf_kprobe.h delete mode 100644 lcc/glcc/lib/ebpf/ebpf_tracepoint.c delete mode 100644 lcc/glcc/lib/ebpf/ebpf_tracepoint.h delete mode 100644 lcc/glcc/lib/ebpf/hashtab.c delete mode 100644 lcc/glcc/lib/ebpf/helpers.c delete mode 100644 lcc/glcc/lib/ebpf/linux/bpf.h delete mode 100644 lcc/glcc/lib/ebpf/linux/bpf_common.h delete mode 100644 lcc/glcc/lib/ebpf/linux/bpf_perf_event.h delete mode 100644 lcc/glcc/lib/ebpf/linux/bpf_types.h delete mode 100644 lcc/glcc/lib/ebpf/linux/config.h delete mode 100644 lcc/glcc/lib/ebpf/linux/filter.h delete mode 100644 lcc/glcc/lib/ebpf/linux/frame.h delete mode 100644 lcc/glcc/lib/ebpf/linux/list_nulls.h delete mode 100644 lcc/glcc/lib/ebpf/linux/nospec.h delete mode 100644 lcc/glcc/lib/ebpf/linux/rbtree_latch.h delete mode 100644 lcc/glcc/lib/ebpf/linux/rculist_nulls.h delete mode 100644 lcc/glcc/lib/ebpf/map_in_map.c delete mode 100644 lcc/glcc/lib/ebpf/map_in_map.h delete mode 100644 lcc/glcc/lib/ebpf/nospec-branch.h delete mode 100644 lcc/glcc/lib/ebpf/percpu_freelist.c delete mode 100644 lcc/glcc/lib/ebpf/percpu_freelist.h delete mode 100644 lcc/glcc/lib/ebpf/readme.md delete mode 100644 lcc/glcc/lib/ebpf/stackmap.c delete mode 100644 lcc/glcc/lib/ebpf/tnum.c delete mode 100644 lcc/glcc/lib/ebpf/tnum.h delete mode 100644 lcc/glcc/lib/ebpf/trace_bpf_jit.S delete mode 100644 lcc/glcc/lib/ebpf/trace_bpf_jit_comp.c delete mode 100644 lcc/glcc/lib/ebpf/uapi/linux/bpf.h delete mode 100644 lcc/glcc/lib/ebpf/uapi/linux/filter.h delete mode 100644 lcc/glcc/lib/ebpf/verifier.c delete mode 100644 lcc/glcc/lib/hook/CMakeLists.txt delete mode 100644 lcc/glcc/lib/hook/hook.c delete mode 100644 lcc/glcc/lib/hook/hook.h delete mode 100644 lcc/glcc/lib/ringbuffer/Makefile delete mode 100644 lcc/glcc/lib/ringbuffer/main.c delete mode 100644 lcc/glcc/lib/ringbuffer/ringbuffer.c delete mode 100644 lcc/golcc/README.md delete mode 100644 lcc/golcc/include/bpf/bpf.h delete mode 100644 lcc/golcc/include/bpf/bpf_common.h delete mode 100644 lcc/golcc/include/bpf/bpf_core_read.h delete mode 100644 lcc/golcc/include/bpf/bpf_endian.h delete mode 100644 lcc/golcc/include/bpf/bpf_gen_internal.h delete mode 100644 lcc/golcc/include/bpf/bpf_helper_defs.h delete mode 100644 lcc/golcc/include/bpf/bpf_helpers.h delete mode 100644 lcc/golcc/include/bpf/bpf_tracing.h delete mode 100644 lcc/golcc/include/bpf/btf.h delete mode 100644 lcc/golcc/include/bpf/hashmap.h delete mode 100644 lcc/golcc/include/bpf/if_link.h delete mode 100644 lcc/golcc/include/bpf/if_xdp.h delete mode 100644 lcc/golcc/include/bpf/libbpf.h delete mode 100644 lcc/golcc/include/bpf/libbpf_common.h delete mode 100644 lcc/golcc/include/bpf/libbpf_internal.h delete mode 100644 lcc/golcc/include/bpf/libbpf_legacy.h delete mode 100644 lcc/golcc/include/bpf/libbpf_version.h delete mode 100644 lcc/golcc/include/bpf/netlink.h delete mode 100644 lcc/golcc/include/bpf/nlattr.h delete mode 100644 lcc/golcc/include/bpf/perf_event.h delete mode 100644 lcc/golcc/include/bpf/pkt_cls.h delete mode 100644 lcc/golcc/include/bpf/pkt_sched.h delete mode 100644 lcc/golcc/include/bpf/relo_core.h delete mode 100644 lcc/golcc/include/bpf/skel_internal.h delete mode 100644 lcc/golcc/include/bpf/str_error.h delete mode 100644 lcc/golcc/include/bpf/strset.h delete mode 100644 lcc/golcc/include/bpf/usdt.bpf.h delete mode 100644 lcc/golcc/include/bpf/xsk.h delete mode 100644 lcc/golcc/lib/libbpf.a delete mode 100644 lcc/golcc/rexample/hello/Makefile delete mode 100644 lcc/golcc/rexample/hello/bpf/hello.bpf.c delete mode 100644 lcc/golcc/rexample/hello/go.mod delete mode 100644 lcc/golcc/rexample/hello/go.sum delete mode 100644 lcc/golcc/rexample/hello/hello.go delete mode 100644 lcc/golcc/rexample/user_slow/Makefile delete mode 100644 lcc/golcc/rexample/user_slow/bpf/user_slow.bpf.c delete mode 100644 lcc/golcc/rexample/user_slow/go.mod delete mode 100644 lcc/golcc/rexample/user_slow/go.sum delete mode 100644 lcc/golcc/rexample/user_slow/user_slow.go delete mode 100644 lcc/pylcc/guide/attach.py delete mode 100644 lcc/pylcc/guide/callStack.py delete mode 100644 lcc/pylcc/guide/codeSeparate.py delete mode 100644 lcc/pylcc/guide/dynamicVar.py delete mode 100644 lcc/pylcc/guide/eventOut.py delete mode 100644 lcc/pylcc/guide/hashMap.py delete mode 100644 lcc/pylcc/guide/hello.py delete mode 100644 lcc/pylcc/guide/independ.bpf.c delete mode 100644 lcc/pylcc/guide/javaProbe.py delete mode 100644 lcc/pylcc/guide/mulitEvent.py delete mode 100644 lcc/pylcc/guide/netCollect.py delete mode 100644 lcc/pylcc/guide/netcollect.3.10.bpf.c delete mode 100644 lcc/pylcc/guide/netcollect.4.plus.bpf.c delete mode 100644 lcc/pylcc/guide/perfBreakpoint.py delete mode 100644 lcc/pylcc/guide/runlatency.py delete mode 100644 lcc/pylcc/guide/testPerf.py delete mode 100644 lcc/pylcc/guide/testUprobe.py delete mode 100644 lcc/pylcc/guide/traceUprobe.py delete mode 100644 lcc/pylcc/guide/user_break_point.c delete mode 100644 lcc/pylcc/inject/sysHigh/20221020_145304.svg delete mode 100644 lcc/pylcc/inject/sysHigh/Makefile delete mode 100644 lcc/pylcc/inject/sysHigh/fly.py delete mode 100644 lcc/pylcc/inject/sysHigh/inject.py delete mode 100644 lcc/pylcc/inject/sysHigh/mem.json delete mode 100644 lcc/pylcc/inject/sysHigh/proc_def.h delete mode 100644 lcc/pylcc/inject/sysHigh/sys_high.c delete mode 100644 lcc/pylcc/lib/__init__.py delete mode 100644 lcc/pylcc/lib/clcc.py delete mode 100644 lcc/pylcc/lib/lbcBase.py delete mode 100644 lcc/pylcc/lib/lbcInclude.py delete mode 100644 lcc/pylcc/lib/lbcMaps.py delete mode 100644 lcc/pylcc/lib/lbcStack.py delete mode 100644 lcc/pylcc/lib/perfEvent.py delete mode 100644 lcc/pylcc/pytool/bindsnoop.py delete mode 100644 lcc/pylcc/pytool/bindsnoop_example.txt delete mode 100644 lcc/pylcc/pytool/cpudist.py delete mode 100644 lcc/pylcc/pytool/cpudist_example.txt delete mode 100644 lcc/pylcc/pytool/filelife.py delete mode 100644 lcc/pylcc/pytool/fileslower.py delete mode 100644 lcc/pylcc/pytool/oomkill.py delete mode 100644 lcc/pylcc/pytool/opensnoop.py delete mode 100644 lcc/pylcc/pytool/opensnoop_example.txt delete mode 100644 lcc/pylcc/pytool/perfMemFly.py delete mode 100644 lcc/pylcc/pytool/perfSys.py delete mode 100644 lcc/pylcc/pytool/runlatency.py delete mode 100644 lcc/pylcc/pytool/swapin.py delete mode 100644 lcc/pylcc/pytool/syncsnoop.py delete mode 100644 lcc/pylcc/pytool/tcprtt.py delete mode 100644 lcc/pylcc/pytool/tcprtt_example.txt delete mode 100644 lcc/pylcc/test/ffiObj/testFFIObj.py delete mode 100644 lcc/pylcc/test/readStream/bccStream.py delete mode 100644 lcc/pylcc/test/readStream/lccStream.py delete mode 100644 lcc/rlcc/CMakeLists.txt delete mode 100644 lcc/rlcc/README.md delete mode 100644 lcc/rlcc/example/Cargo.lock delete mode 100644 lcc/rlcc/example/Cargo.toml delete mode 100644 lcc/rlcc/example/build.rs delete mode 100644 lcc/rlcc/example/src/bpf/.output/bindings.rs delete mode 100644 lcc/rlcc/example/src/bpf/.output/example.skel.rs delete mode 100644 lcc/rlcc/example/src/bpf/example.bpf.c delete mode 100644 lcc/rlcc/example/src/bpf/example.h delete mode 120000 lcc/rlcc/example/src/bpf/vmlinux.h delete mode 100644 lcc/rlcc/example/src/main.rs delete mode 100644 lcc/rlcc/rexample/CMakeLists.txt delete mode 100644 lcc/rlcc/rexample/Cargo.lock delete mode 100644 lcc/rlcc/rexample/Cargo.toml delete mode 100644 lcc/rlcc/rexample/build.rs delete mode 100644 lcc/rlcc/rexample/src/bpf/example.bpf.c delete mode 100644 lcc/rlcc/rexample/src/bpf/example.h delete mode 100644 lcc/rlcc/rexample/src/bpf/lbc.h delete mode 120000 lcc/rlcc/rexample/src/bpf/vmlinux.h delete mode 100644 lcc/rlcc/rexample/src/main.rs delete mode 100755 lcc/rlcc/tools/cargo-libbpf delete mode 100644 lwcb/Cargo.toml delete mode 100644 lwcb/blang/Cargo.toml delete mode 100644 lwcb/blang/src/blang.rs delete mode 100644 lwcb/blang/src/btf.rs delete mode 100644 lwcb/blang/src/call.rs delete mode 100644 lwcb/blang/src/constant.rs delete mode 100644 lwcb/blang/src/lexer.rs delete mode 100644 lwcb/blang/src/lib.rs delete mode 100644 lwcb/blang/src/optimize/mod.rs delete mode 100644 lwcb/blang/src/parser.rs delete mode 100644 lwcb/blang/src/passes/bpfir.rs delete mode 100644 lwcb/blang/src/passes/mod.rs delete mode 100644 lwcb/blang/src/passes/typecheck.rs delete mode 100644 lwcb/blang/src/passes/unfold.rs delete mode 100644 lwcb/blang/src/print.rs delete mode 100644 lwcb/blang/tests/files/binary_add.cb delete mode 100644 lwcb/blang/tests/files/binary_div.cb delete mode 100644 lwcb/blang/tests/files/binary_mul.cb delete mode 100644 lwcb/blang/tests/files/binary_sub.cb delete mode 100644 lwcb/blang/tests/files/call_print.cb delete mode 100644 lwcb/blang/tests/files/empty.cb delete mode 100644 lwcb/blang/tests/files/if_empty.cb delete mode 100644 lwcb/blang/tests/files/if_then.cb delete mode 100644 lwcb/blang/tests/files/if_then_else.cb delete mode 100644 lwcb/blang/tests/files/map.cb delete mode 100644 lwcb/blang/tests/files/member_complex.cb delete mode 100644 lwcb/blang/tests/files/member_simple.cb delete mode 100644 lwcb/blang/tests/files/relation_eq.cb delete mode 100644 lwcb/blang/tests/files/relation_gt.cb delete mode 100644 lwcb/blang/tests/files/relation_gte.cb delete mode 100644 lwcb/blang/tests/files/relation_lt.cb delete mode 100644 lwcb/blang/tests/files/relation_lte.cb delete mode 100644 lwcb/blang/tests/files/relation_neq.cb delete mode 100644 lwcb/blang/tests/files/unary_neg.cb delete mode 100644 lwcb/blang/tests/test_bpfir.rs delete mode 100644 lwcb/bpfir/.cargo/config delete mode 100644 lwcb/bpfir/Cargo.toml delete mode 100644 lwcb/bpfir/src/be/codegen.rs delete mode 100644 lwcb/bpfir/src/be/isel.rs delete mode 100644 lwcb/bpfir/src/be/mod.rs delete mode 100644 lwcb/bpfir/src/be/regalloc.rs delete mode 100644 lwcb/bpfir/src/be/spec.rs delete mode 100644 lwcb/bpfir/src/func.rs delete mode 100644 lwcb/bpfir/src/lib.rs delete mode 100644 lwcb/bpfir/src/module.rs delete mode 100644 lwcb/bpfir/src/object.rs delete mode 100644 lwcb/bpfir/src/types.rs delete mode 100644 lwcb/rustfmt.toml delete mode 100644 lwcb/src/main.rs delete mode 100644 lwcb/tests/bin/vmlinux delete mode 100644 pkg/coolbpf-rs/Cargo.toml delete mode 100644 pkg/coolbpf-rs/coolbpf-builder/Cargo.toml delete mode 100644 pkg/coolbpf-rs/coolbpf-builder/src/lib.rs delete mode 100644 pkg/coolbpf-rs/coolbpf-rs/Cargo.toml delete mode 100644 pkg/coolbpf-rs/coolbpf-rs/src/coolbpf.rs delete mode 100644 pkg/coolbpf-rs/coolbpf-rs/src/error.rs delete mode 100644 pkg/coolbpf-rs/coolbpf-rs/src/exporter.rs delete mode 100644 pkg/coolbpf-rs/coolbpf-rs/src/helper/mod.rs delete mode 100644 pkg/coolbpf-rs/coolbpf-rs/src/helper/net.rs delete mode 100644 pkg/coolbpf-rs/coolbpf-rs/src/lib.rs delete mode 100644 pkg/coolbpf-rs/coolbpf-rs/src/logger.rs delete mode 100644 pkg/coolbpf-rs/examples/tcpconnect/Cargo.toml delete mode 100644 pkg/coolbpf-rs/examples/tcpconnect/build.rs delete mode 100644 pkg/coolbpf-rs/examples/tcpconnect/src/bpf/tcpconnect.bpf.c delete mode 100644 pkg/coolbpf-rs/examples/tcpconnect/src/bpf/tcpconnect.h delete mode 100644 pkg/coolbpf-rs/examples/tcpconnect/src/main.rs delete mode 160000 pkg/coolbpf-rs/libbpf-rs diff --git a/btf/CMakeLists.txt b/btf/CMakeLists.txt deleted file mode 100644 index eeb607d..0000000 --- a/btf/CMakeLists.txt +++ /dev/null @@ -1,2 +0,0 @@ - -add_subdirectory(lib) \ No newline at end of file diff --git a/btf/Readme.md b/btf/Readme.md deleted file mode 100644 index 358a239..0000000 --- a/btf/Readme.md +++ /dev/null @@ -1,6 +0,0 @@ -如何生成对应的vmlinux.h - 0. pahole: git://git.kernel.org/pub/scm/devel/pahole/pahole.git - bptftool: linux 最新: toosl/bpf/bpftool - 1. 安装对应内核 kernel-debuginfo RPM,获得包含 DWARF 的 vmlinux - 2. DWARF 生成 BTF section:pahole -J vmlinux - 3. 导出 BTF 字段并生成 headers: bpftool btf dump file vmlinux format c > vmlinux.h diff --git a/btf/btfhive/aarch64/getFuncs.py b/btf/btfhive/aarch64/getFuncs.py deleted file mode 100644 index 0d5f9ac..0000000 --- a/btf/btfhive/aarch64/getFuncs.py +++ /dev/null @@ -1,392 +0,0 @@ -# -*- coding: utf-8 -*- -# cython:language_level=3 -""" -------------------------------------------------- - File Name: getFuncs - Description : - Author : liaozhaoyan - date: 2021/12/1 -------------------------------------------------- - Change Activity: - 2021/12/1: -------------------------------------------------- -""" -__author__ = 'liaozhaoyan' - -import sys -import os -import shlex -from subprocess import PIPE, Popen -import select -import sqlite3 -import json -import re - -ON_POSIX = 'posix' in sys.builtin_module_names - -class CasyncCmdQue(object): - def __init__(self, cmd): - super(CasyncCmdQue, self).__init__() - self.daemon = True # thread dies with the program - self.__p = Popen(shlex.split(cmd), stdout=PIPE, stdin=PIPE, close_fds=ON_POSIX) - self.__e = select.epoll() - self.__e.register(self.__p.stdout.fileno(), select.EPOLLIN) - - def __del__(self): - self.__p.kill() - - def write(self, cmd): - try: - self.__p.stdin.write(cmd.encode()) - self.__p.stdin.flush() - except IOError: - return -1 - - def writeLine(self, cmd): - self.write(cmd + "\n") - - def read(self, tmout=0.2, l=16384): - while True: - es = self.__e.poll(tmout) - if not es: - return "" - for f, e in es: - if e & select.EPOLLIN: - s = os.read(f, l).decode() - return s - - def readw(self, want, tries=100): - i = 0 - r = "" - while i < tries: - line = self.read() - if want in line: - return r + line - r += line - i += 1 - raise Exception("get want args %s overtimes" % want) - - def terminate(self): - self.__p.terminate() - return self.__p.wait() - -class CgetVminfo(object): - def __init__(self, vmPath): - super(CgetVminfo, self).__init__() - self._gdb = CasyncCmdQue("gdb %s" % vmPath) - self._gdb.readw("(gdb)", 500) - self._gdb.writeLine("set pagination off") - self._gdb.readw("(gdb)") - - def genType(self, t): - self._gdb.writeLine(f"ptype {t}") - r = self._gdb.readw("(gdb)").split("\n")[0] - try: - _, alias = r.split("=", 1) - except ValueError: - return [None, None] - alias = alias.strip() - - self._gdb.writeLine(f"p sizeof({t})") - r = self._gdb.readw("(gdb)").split("\n")[0] - _, size = r.split("=", 1) - size = int(size.strip()) - return [alias, size] - - def genFile(self, fName="funs.txt"): - self._gdb.writeLine("i functions") - with open(fName, 'w') as f: - s = "dummy" - while "\n(gdb)" not in s: - s = self._gdb.read(tmout=240) - f.write(s) - -class CgenfuncsDb(object): - def __init__(self, dbName): - # self._txt = txt - self._db = None - self._vm = None - # dbName = self._parseName() - self._setupDb(dbName) - - def __del__(self): - if self._db is not None: - self._db.commit() - self._db.close() - - def _setupDb(self, dbName): - if os.path.exists(dbName): - os.remove(dbName) - self._db = sqlite3.connect(dbName) - cur = self._db.cursor() - sql = """CREATE TABLE files ( - id INTEGER PRIMARY KEY autoincrement, - file TEXT - );""" - cur.execute(sql) - sql = """CREATE TABLE funs ( - id INTEGER PRIMARY KEY autoincrement, - func VARCHAR (128), - args JSON, - ret VARCHAR (64), - line INTEGER, - fid INTEGER - );""" - cur.execute(sql) - sql = """CREATE TABLE structs ( - id INTEGER PRIMARY KEY autoincrement, - name VARCHAR (64), - members INTEGER, - bytes INTEGER - );""" - cur.execute(sql) - sql = """CREATE TABLE members ( - id INTEGER PRIMARY KEY autoincrement, - fid INTEGER, - types VARCHAR (128), - name VARCHAR (64), - offset INTEGER, - bytes INTEGER, - bits VARCHAR (16) DEFAULT "" - );""" - cur.execute(sql) - sql = """CREATE TABLE types ( - id INTEGER PRIMARY KEY autoincrement, - name VARCHAR (64), - alias VARCHAR (64), - bytes INTEGER - );""" - cur.execute(sql) - cur.close() - - def _arg_split(self, argStr): - args = [] - arg = "" - count = 0 - - for a in argStr: - if count == 0 and a == ",": - args.append(arg.strip()) - arg = "" - continue - elif a == "(": - count += 1 - elif a == ")": - count -= 1 - arg += a - if arg != "": - args.append(arg.strip()) - return args - - def funcs(self, funcPath): - cur = self._db.cursor() - with open(funcPath, 'r') as f: - fid = 0 - for index, line in enumerate(f): - line = line[:-1] - if line == "": - continue - elif line.startswith("(gdb)"): - break - elif line.startswith("File "): - _, sFile = line.split(" ", 1) - sql = f'''INSERT INTO files (file) VALUES ("{sFile[:-1]}")''' - cur.execute(sql) - fid = cur.lastrowid - elif line.endswith(");"): - #8: static int __paravirt_pgd_alloc(struct mm_struct *); - line = line[:-2] - lineNo, body = line.split(":", 1) - head, args = body.split("(", 1) - # args = [x.strip() for x in args.split(",")] - args = self._arg_split(args) - if "*" in head: - ret, func = head.rsplit("*", 1) - ret += "*" - else: - ret, func = head.rsplit(" ", 1) - sql = f'''INSERT INTO funs (func, args, ret, line, fid) VALUES \ - ("{func}", '{json.dumps(args)}', "{ret.strip()}", {lineNo}, {fid})''' - cur.execute(sql) - cur.close() - - def _insStructs(self, cur, lines): - name, _ = lines[0].rsplit(" ", 1) - ds = {"members": 0, "size":0} - for line in lines[::-1]: - if "/* size" in line: - """ /* size: 16, cachelines: 1, members: 2 */""" - l = line.strip() - beg = l.index("/*") + 2 - end = l.index("*/") - l = l[beg:end] - vs = l.split(",") - for c in vs: - k, v = c.split(":") - ds[k.strip()] = v.strip() - sql = f'''INSERT INTO structs (name, members, bytes) VALUES \ - ("{name}", {ds["members"]}, {ds["size"]})''' - cur.execute(sql) - return cur.lastrowid - - def _parseMember(self, cur, fid, line, pre=""): - """struct list_head * next; /* 0 8 */""" - """void (*func)(struct callback_head *); /* 8 8 */""" - """unsigned int p:1; /* 4:15 4 */""" - if ";" not in line: - return - bits = "" - body, anno = line.split(";") - if "/*" not in anno: - return - - if body[-1] == ")": #func - _, func = body.split("(*", 1) - func, _ = func.split(")", 1) - types = body.replace(f" (*{func})(", " (*)(", 1) - types = re.sub(" +", " ", types) - name = func - else: - types, name = body.rsplit(" ", 1) - types = types.strip() - name = name.strip() - if ":" in name: - name, bits = name.split(":", 1) - name = pre + name - - beg = anno.index("/*") + 2 - end = anno.index("*/") - l = anno[beg:end].strip() - offset, bytes = l.rsplit(" ", 1) - offset = offset.strip() - if ":" in offset: - offset, start = offset.split(":", 1) - bits = start.strip() + ":" + bits - - sql = f'''INSERT INTO members (fid, types, name, offset, bytes, bits) VALUES \ - ({fid}, "{types}", "{name}", {offset.strip()}, {bytes.strip()}, "{bits}")''' - cur.execute(sql) - - def _parseBox(self, cur, fid, lines, pre): - """union {""" - """} pci;""" - t = lines[0].split(" ", 1)[0] - if t in ["union", "struct"]: - lastLine = lines[-1] - if not lastLine.startswith("};"): - npre, _ = lastLine[1:].split(";", 1) - _, npre = npre.rsplit(" ", 1) - pre += npre.strip() + "." - self._parseLoop(cur, fid, lines, pre) - - def _parseLoop(self, cur, fid, lines, pre): - qCount = 0 - box = [] - for line in lines[1:-1]: - line = line.strip() - if line.startswith("/* size:"): - break - lCount = line.count("{") - rCount = line.count("}") - qCount += lCount - rCount - if qCount > 0: - box.append(line) - elif len(box) > 0: - box.append(line) - self._parseBox(cur, fid, box, pre) - box = [] - else: - self._parseMember(cur, fid, line, pre) - - def _parseStruct(self, cur, lines): - fid = self._insStructs(cur, lines) - self._parseLoop(cur, fid, lines, "") - - def structs(self, fName): - cur = self._db.cursor() - with open(fName, 'r') as f: - lines = [] - for index, line in enumerate(f): - lines.append(line) - if line.startswith("}"): - self._parseStruct(cur, lines) - lines = [] - cur.close() - - def _save_type(self, cur, t): - alias, size = self._vm.genType(t) - if alias: - sql = f'INSERT INTO types (name, alias, bytes) VALUES ("{t}", "{alias}", {size})' - cur.execute(sql) - - def _type_is_in(self, cur, t): - sql = f"SELECT name FROM types WHERE name = '{t}'" - res = cur.execute(sql) - if res is None: - return False - r = res.fetchone() - if r is None: - return False - return True - - def _is_types(self, t): - if "*" in t: - return None - if t.startswith("const "): - t = t[6:] - if t.startswith("static "): - t = t[7:] - if t.startswith("volatile "): - t = t[8:] - if t.startswith("struct ") or t.startswith("union ") or t.startswith("enum "): - return None - if t in ("void", "..."): - return None - return t - - def _check_type(self, cur, t): - t = self._is_types(t) - if t and not self._type_is_in(cur, t): - self._save_type(cur, t) - - def _type(self, args, ret): - if args is not None: - args = json.loads(args) - else: - args = [] - args.append(ret) - - cur = self._db.cursor() - for arg in args: - self._check_type(cur, arg) - cur.close() - - def types(self, vmlinux): - cur = self._db.cursor() - self._vm = CgetVminfo(vmlinux) - self._save_type(cur, "void *") - sql = "SELECT args, ret FROM funs" - res = cur.execute(sql) - if res is None: - return - r = res.fetchone() - while r is not None: - self._type(*r) - r = res.fetchone() - sql = "SELECT types FROM members" - res = cur.execute(sql) - if res is None: - return - r = res.fetchone() - while r is not None: - self._type(None, r[0]) - r = res.fetchone() - cur.close() - -if __name__ == "__main__": - d = CgenfuncsDb("info-4.19.91-25.al7.x86_64.db") - os.system("pahole /home/vmhive/vmlinux/alinux/vmlinux-4.19.91-25.al7.x86_64 > struct.txt") - d.structs("struct.txt") - d.funcs("/home/vmhive/funcs/alinux/funs-4.19.91-25.al7.x86_64.txt") - d.types("/home/vmhive/vmlinux/alinux/vmlinux-4.19.91-25.al7.x86_64") - pass diff --git a/btf/btfhive/aarch64/getVmlinux.py b/btf/btfhive/aarch64/getVmlinux.py deleted file mode 100644 index dbf1bde..0000000 --- a/btf/btfhive/aarch64/getVmlinux.py +++ /dev/null @@ -1,209 +0,0 @@ -# -*- coding: utf-8 -*- -# cython:language_level=3 -""" -------------------------------------------------- - File Name: getVmlinux - Description : - Author : liaozhaoyan - date: 2021/12/1 -------------------------------------------------- - Change Activity: - 2021/12/1: -------------------------------------------------- -""" -__author__ = 'liaozhaoyan' - -import sys -import os -import shlex -from subprocess import PIPE, Popen -from getFuncs import CgetVminfo, CgenfuncsDb - -HivePath = "/home/vmhive/aarch64/" -VMPath = HivePath + "vmlinux/" -BTFPath = HivePath + "btf/" -HeadPath = HivePath + "header/" -FuncPath = HivePath + "funcs/" -DBPath = HivePath + "db/" -PkgPath = HivePath + "pkg/" -RVMPath = PkgPath - -class CexecCmd(object): - def __init__(self): - super(CexecCmd, self).__init__() - - @staticmethod - def cmd(cmds): - p = Popen(shlex.split(cmds), stdout=PIPE) - return p.stdout.read().decode().strip() - - @staticmethod - def system(cmds): - cmds = cmds.replace('\0', '').strip() - return os.system(cmds) - -class CgetVmlinux(CexecCmd): - def __init__(self): - super(CgetVmlinux, self).__init__() - - def drpm(self, path): - self.system("rpm2cpio %s|cpio -id" % path) - - def ddeb(self, path): - self.cmd("ar x %s" % path) - if os.path.exists("data.tar.xz"): - self.cmd("xz -d data.tar.xz") - self.cmd("tar xf data.tar") - else: - self.cmd("tar -I zstd -xvf data.tar.zst") - - def _genRpmVer(self, name): - _, _, n = name.split("-", 2) - ver, _ = n.rsplit(".", 1) - return ver - - #linux-image-3.13.0-96-generic-dbgsym_3.13.0-96.143_i386.ddeb -> 3.13.0-96-generic - def _genDebVer(self, name): - if name.startswith("linux-image-unsigned"): - _, _, _, n = name.split("-", 3) - else: - _, _, n = name.split("-", 2) - ver, _ = n.split("-dbgsym", 1) - return ver - - def copyVmlinuxRpm(self, name, release): - res = self.cmd("find ./ -name vmlinux").strip("\n") - ver = self._genRpmVer(name) - dPath = VMPath + "%s/vmlinux-%s" % (release, ver) - cmd = "cp %s %s" % (res, dPath) - self.cmd(cmd) - return [ver, release, dPath] - - def copyVmlinuxDeb(self, name, release): - res = self.cmd("find ./ -name vmlinux*").strip("\n").split('\n') - for r in res: - if os.path.isfile(r) and not r.endswith("decompressor"): - ver = self._genDebVer(name) - dPath = VMPath + release +"/vmlinux-%s" % ver - cmd = "cp %s %s" % (r, dPath) - self.cmd(cmd) - break - return [ver, release, dPath] - - def checkProc(self, name, release): - if name.endswith(".rpm"): - ver = self._genRpmVer(name) - elif name.endswith(".ddeb"): - ver = self._genDebVer(name) - else: - return True - funsPath = FuncPath + "%s/funs-%s.txt" % (release, ver) - btfPath = BTFPath + "%s/vmlinux-%s" % (release, ver) - dbPath = DBPath + "%s/info-%s.db" % (release, ver) - vmPath = VMPath + "%s/vmlinux-%s" % (release, ver) - if os.path.exists(dbPath): - return True - if os.path.exists(funsPath) and os.path.exists(btfPath): - self._genDb(ver, release) - return True - if os.path.exists(vmPath): - self.genOthers(ver, release, vmPath) - return True - return False - - def _check_mount(self): - if not os.path.exists(f"{PkgPath}flag"): - pass - # self.cmd("sshfs root@47.113.194.53:/root/1ext/down/pkg /home/vmhive/pkg/") - - def _proc_work(self, url, name, release): - pkg = f"{PkgPath}{name}" - - # self._check_mount() - # if os.path.exists(pkg) and not os.path.exists(f"{pkg}.st"): - # self.cmd(f"cp {pkg} ./") - # else: - self.cmd("axel -n 4 %s" % url) - res = None - if not os.path.exists(name): - raise Exception("failed to get file.") - if name.endswith(".rpm"): - self.drpm(name) - res = self.copyVmlinuxRpm(name, release) - elif name.endswith(".ddeb"): - self.ddeb(name) - res = self.copyVmlinuxDeb(name, release) - # self._check_mount() - # if os.path.exists(pkg) and not os.path.exists(f"{pkg}.st"): - # self.cmd(f"rm -f {pkg}") - return res - - def _check_remote_vm(self, name, release): - return None - # self._check_mount() - # if name.endswith(".rpm"): - # ver = self._genRpmVer(name) - # elif name.endswith(".ddeb"): - # ver = self._genDebVer(name) - # else: - # return None - # sPath = RVMPath + "vmlinux-%s" % ver - # if not os.path.exists(sPath): - # return None - # dPath = VMPath + "%s/vmlinux-%s" % (release, ver) - # cmd = "cp %s %s" % (sPath, dPath) - # self.cmd(cmd) - # return [ver, release, dPath] - - def proc(self, url, name, release): - if self.checkProc(name, release): - return - res = self._check_remote_vm(name, release) - if res is None: - lastWork = os.getcwd() - self.cmd("rm -rf work") - os.mkdir("work") - os.chdir("work") - res = self._proc_work(url, name, release) - os.chdir(lastWork) - self.cmd("rm -rf work") - if res is not None: - self.genOthers(*res) - - def _genBtfHead(self, ver, release, vmPath): - btfPath = BTFPath + "%s/vmlinux-%s" % (release, ver) - headPath = HeadPath + "%s/vmlinux-%s.h" % (release, ver) - self.cmd("cp %s %s" % (vmPath, btfPath)) - self.cmd("pahole -J %s" % btfPath) - self.cmd("llvm-objcopy --only-section=.BTF --set-section-flags .BTF=alloc,readonly --strip-all %s" % btfPath) - self.cmd("aarch64-linux-gnu-strip -x %s" % btfPath) - if os.path.exists(f"{btfPath}.btf"): - self.cmd(f"rm -f {btfPath}") - self.cmd(f"mv {btfPath}.btf {btfPath}") - self.system("bpftool btf dump file %s format c > %s" % (btfPath, headPath)) - - def _getFuns(self, ver, release, vmPath): - funsPath = FuncPath + "%s/funs-%s.txt" % (release, ver) - g = CgetVminfo(vmPath) - g.genFile(funsPath) - - def _genDb(self, ver, release): - funsPath = FuncPath + "%s/funs-%s.txt" % (release, ver) - btfPath = BTFPath + "%s/vmlinux-%s" % (release, ver) - dbPath = DBPath + "%s/info-%s.db" % (release, ver) - vmPath = VMPath + "%s/vmlinux-%s" % (release, ver) - - print(f"gen {dbPath}") - db = CgenfuncsDb(dbPath) - self.system(f"pahole {btfPath} > struct.txt") - db.funcs(funsPath) - db.structs("struct.txt") - db.types(vmPath) - - def genOthers(self, ver, release, vmPath): - self._genBtfHead(ver, release, vmPath) - self._getFuns(ver, release, vmPath) - self._genDb(ver, release) - -if __name__ == "__main__": - pass diff --git a/btf/btfhive/aarch64/spider.py b/btf/btfhive/aarch64/spider.py deleted file mode 100644 index 3bc218f..0000000 --- a/btf/btfhive/aarch64/spider.py +++ /dev/null @@ -1,98 +0,0 @@ -# -*- coding: utf-8 -*- -# cython:language_level=2 -""" -------------------------------------------------- - File Name: spider - Description : - Author : liaozhaoyan - date: 2021/12/1 -------------------------------------------------- - Change Activity: - 2021/12/1: -------------------------------------------------- -""" -__author__ = 'liaozhaoyan' - -import time - -from bs4 import BeautifulSoup -import requests -from getVmlinux import CgetVmlinux -import traceback - - -class Cspider(object): - def __init__(self): - self._oDict = { - "alios": self.getAliosUrl, - "alinux": self.getAlinux, - "centos": self.getCentos, - "ubuntu": self.getUbuntu, - "anolis": self.getAlinux - } - self._vm = CgetVmlinux() - - def getAliosUrl(self, url, rel): - html = requests.get(url) - bs = BeautifulSoup(html.text, 'lxml') - uls = bs.find('ul') - for li in uls.find_all('li'): - href = li.a['href'] - if href.endswith(".rpm"): - # print("%s%s" % (url, href)) - dstUrl = "%s%s" % (url, href) - self._vm.proc(dstUrl, href, rel) - - - def getCentos(self, url, rel): - html = requests.get(url) - bs = BeautifulSoup(html.text, 'lxml') - table = bs.find('table', attrs={'id': "indexlist"}) - for td in table.find_all('td', attrs={'class': 'indexcolname'}): - href = td.a['href'] - if href.startswith('kernel-debuginfo') and not href.startswith('kernel-debuginfo-common'): - # print("%s%s" % (url, href)) - dstUrl = "%s%s" % (url, href) - self._vm.proc(dstUrl, href, rel) - - def getAlinux(self, url, rel): - html = requests.get(url) - bs = BeautifulSoup(html.text, 'lxml') - table = bs.find('table', attrs={'class': "table"}) - for td in table.find_all('td', attrs={'class': 'link'}): - href = td.a['href'] - if href.startswith('kernel-debuginfo') and not href.startswith('kernel-debuginfo-common'): - # print("%s%s" % (url, href)) - dstUrl = "%s%s" % (url, href) - self._vm.proc(dstUrl, href, rel) - - def getUbuntu(self, url, rel): - html = requests.get(url) - bs = BeautifulSoup(html.text, 'lxml') - table = bs.find('table') - for a in table.find_all('a'): - if a.has_attr("href"): - href = a["href"] - if href.startswith("linux-image") and "dbgsym" in href and href.endswith("arm64.ddeb"): - # print("%s%s" % (url, href)) - dstUrl = "%s%s" % (url, href) - self._vm.proc(dstUrl, href, rel) - - def work(self): - for k in allD.keys(): - urls = allD[k] - for url in urls: - try: - self._oDict[k](url, k) - except Exception as e: - print(f"except msg: {e}") - traceback.print_exc() - continue - - -if __name__ == "__main__": - s = Cspider() - while True: - s.work() - time.sleep(10 * 60) - pass diff --git a/btf/btfhive/getFuncs.py b/btf/btfhive/getFuncs.py deleted file mode 100644 index 7722ffc..0000000 --- a/btf/btfhive/getFuncs.py +++ /dev/null @@ -1,490 +0,0 @@ -# -*- coding: utf-8 -*- -# cython:language_level=3 -""" -------------------------------------------------- - File Name: getFuncs - Description : - Author : liaozhaoyan - date: 2021/12/1 -------------------------------------------------- - Change Activity: - 2021/12/1: -------------------------------------------------- -""" -__author__ = 'liaozhaoyan' - -import sys -import os -import select -from select import epoll as CPoll -import shlex -from subprocess import PIPE, Popen -import sqlite3 -import json -import re -import eventlet - -ON_POSIX = 'posix' in sys.builtin_module_names - - -class CasyncCmdQue(object): - def __init__(self, cmd): - super(CasyncCmdQue, self).__init__() - self.daemon = True # thread dies with the program - self.__p = Popen(shlex.split(cmd), stdout=PIPE, stdin=PIPE, close_fds=ON_POSIX) - self.__e = CPoll() - self.__e.register(self.__p.stdout.fileno(), select.EPOLLIN) - - def __del__(self): - self.__p.kill() - - def write(self, cmd): - try: - self.__p.stdin.write(cmd.encode()) - self.__p.stdin.flush() - except IOError: - return -1 - - def writeLine(self, cmd): - self.write(cmd + "\n") - - def read(self, tmout=0.2, l=16384): - while True: - es = self.__e.poll(tmout) - if not es: - return "" - for f, e in es: - if e & select.EPOLLIN: - s = os.read(f, l).decode() - return s - elif e & select.EPOLLERR: - raise OSError("epoll error.") - elif e & select.EPOLLHUP: - raise OSError("epoll hup error.") - else: - raise OSError(f"unknown catch able events {e}") - - def readw(self, want, tries=20): - i = 0 - r = "" - while i < tries: - line = self.read() - if want in line: - return r + line - r += line - i += 1 - raise OSError("get want args %s overtimes" % want) - - def terminate(self): - self.writeLine("q") - self.__p.terminate() - return self.__p.wait() - -class CgetVminfo(object): - def __init__(self, vmPath, waits=20): - super(CgetVminfo, self).__init__() - # print(vmPath) - self._gdb = CasyncCmdQue("gdb %s" % vmPath) - self._gdb.readw("(gdb)", waits) - self._gdb.writeLine("set pagination off") - self._gdb.readw("(gdb)") - self._gdb.writeLine("set max-value-size unlimited") - self._gdb.readw("(gdb)") - - def __del__(self): - if hasattr(self, "_gdb"): - self._gdb.terminate() - - def genType(self, t): - self._gdb.writeLine(f"ptype {t}") - r = self._gdb.readw("(gdb)").split("\n")[0] - _, alias = r.split("=", 1) - alias = alias.strip() - - self._gdb.writeLine(f"p sizeof({t})") - r = self._gdb.readw("(gdb)").split("\n")[0] - _, size = r.split("=", 1) - size = int(size.strip()) - return [alias, size] - - def showTypeSize(self, t): - self._gdb.writeLine(f"p sizeof({t})") - r = self._gdb.readw("(gdb)").split("\n")[0] - _, size = r.split("=", 1) - return int(size.strip()) - - def showStruct(self, sStruct): - self._gdb.writeLine("ptype /o %s" % sStruct) - return self._gdb.readw("(gdb)", 80) - - def genFuncs(self, fName="funs.txt"): - self._gdb.writeLine("i functions") - with open(fName, 'w') as f: - s = "dummy" - while "\n(gdb)" not in s: - s = self._gdb.read(tmout=240) - f.write(s) - - def genTypes(self, fName="types.txt"): - self._gdb.writeLine("i types") - with open(fName, 'w') as f: - s = "dummy" - while "\n(gdb)" not in s: - s = self._gdb.read(tmout=240) - f.write(s) - - -class CgenfuncsDb(object): - def __init__(self, dbName, build=True): - self._db = None - self._res = None - self._setupDb(dbName, build) - self._reTypeLine = re.compile(r"[\d]+:") - self._rePaholeRem1 = re.compile(r"\/\* *[\d]+( *|: *[\d] *)\| *[\d]+ *\*\/") - self._rePaholeRem2 = re.compile(r"\/\* *[\d]+ *\*\/") - self._reRem = re.compile(r"\/\*.*\*\/") - self._banTypes = [] - - def __del__(self): - if self._db is not None: - self._db.commit() - self._db.close() - - def _setupDb(self, dbName, build): - if not build: - self._db = sqlite3.connect(dbName) - return - if os.path.exists(dbName): - os.remove(dbName) - self._db = sqlite3.connect(dbName) - cur = self._db.cursor() - sql = """CREATE TABLE files ( - id INTEGER PRIMARY KEY autoincrement, - file TEXT - );""" - cur.execute(sql) - sql = """CREATE TABLE funs ( - id INTEGER PRIMARY KEY autoincrement, - func VARCHAR (128), - args JSON, - ret VARCHAR (64), - line INTEGER, - fid INTEGER, - module VARCHAR (64) - );""" - cur.execute(sql) - sql = """CREATE TABLE structs ( - id INTEGER PRIMARY KEY autoincrement, - name VARCHAR (64), - members INTEGER, - bytes INTEGER - );""" - cur.execute(sql) - sql = """CREATE TABLE members ( - id INTEGER PRIMARY KEY autoincrement, - fid INTEGER, - types VARCHAR (128), - name VARCHAR (64), - offset INTEGER, - bytes INTEGER, - bits VARCHAR (16) DEFAULT "" - );""" - cur.execute(sql) - sql = """CREATE TABLE types ( - id INTEGER PRIMARY KEY autoincrement, - name VARCHAR (64), - alias VARCHAR (64), - bytes INTEGER - );""" - cur.execute(sql) - cur.close() - - def _arg_split(self, argStr): - args = [] - arg = "" - count = 0 - - for a in argStr: - if count == 0 and a == ",": - args.append(arg.strip()) - arg = "" - continue - elif a == "(": - count += 1 - elif a == ")": - count -= 1 - arg += a - if arg != "": - args.append(arg.strip()) - return args - - def _funcs(self, funcPath, module="vm"): - cur = self._db.cursor() - with open(funcPath, 'r') as f: - fid = 0 - for index, line in enumerate(f): - line = line[:-1] - if line == "": - continue - elif line.startswith("(gdb)"): - break - elif line.startswith("File "): - if line.endswith(".h:"): # do not add any - fid = -1 - else: - _, sFile = line.split(" ", 1) - sql = f'''INSERT INTO files (file) VALUES ("{sFile[:-1]}")''' - cur.execute(sql) - fid = cur.lastrowid - elif fid > 0 and line.endswith(");"): - #8: static int __paravirt_pgd_alloc(struct mm_struct *); - line = line[:-2] - lineNo, body = line.split(":", 1) - head, args = body.split("(", 1) - # args = [x.strip() for x in args.split(",")] - args = self._arg_split(args) - if "*" in head: - ret, func = head.rsplit("*", 1) - ret += "*" - else: - ret, func = head.rsplit(" ", 1) - sql = f'''INSERT INTO funs (func, args, ret, line, fid, module) VALUES \ - ("{func}", '{json.dumps(args)}', "{ret.strip()}", {lineNo}, {fid}, "{module}")''' - cur.execute(sql) - cur.close() - - def _stripRem(self, line): - return self._reRem.sub("", line).strip() - - def _splitStructLine(self, line): - rd = {"offset": None, "size": None, "bits": None} - res = self._rePaholeRem1.search(line) - if res: - l = res.group()[2:-2].strip() - # /* 19: 0 | 1 */ unsigned char skc_reuse : 4; - # /* 19: 4 | 1 */ unsigned char skc_reuseport : 1; - off, size = l.split('|', 1) - rd["size"] = int(size.strip()) - if ":" in off: - off, bits = off.split(":", 1) - rd['bits'] = bits.strip() # offset - rd["offset"] = int(off.strip()) - else: - res = self._rePaholeRem2.search(line) - if res: - l = res.group()[2:-2].strip() - # /* 8 | 4 */ union { - # /* 4 */ unsigned int skc_hash; - # /* 4 */ __u16 skc_u16hashes[2]; - size = l.strip() - rd["size"] = int(size) - rd["line"] = self._stripRem(line) - return rd - - def _parseMember(self, sStruct, line, pre="", off=0): - """struct list_head * next;""" - """void (*func)(struct callback_head *);""" - """unsigned int p:1;""" - if ";" not in line: - """/* total size (bytes): 4 */""" - if "total size (bytes):" in line: - size = line.split(":", 1)[1] - size = size.split("*", 1)[0].strip() - self._res['res']['size'] = size - return - rd = self._splitStructLine(line) - l = rd['line'] - bits = "" - if ':' in l: - l, bits = l.rsplit(" : ", 1) - bits = "%s:%s" % (rd["bits"], bits) - if '(' in l: - _, func = l.split("(*", 1) - func, _ = func.split(")", 1) - types = l.replace(" (*%s)(" % func, " (*)(", 1) - types = re.sub(" +", " ", types) - name = func - elif '*' in l: - types, name = l.rsplit("*", 1) - types = types + "*" - name = name.strip("; ") - else: - types, name = l.rsplit(" ", 1) - types = types.strip() - name = name.strip("; ") - name = pre + name - - if rd["offset"] is None: - rd["offset"] = off - cell = {"type": types, "name": name, "offset": rd["offset"], - "size": rd["size"], "bits": bits} - self._res['res']['cell'].append(cell) - - def _parseBox(self, sStruct, lines, pre): - """union {""" - """} pci;""" - rd = self._splitStructLine(lines[0]) - t = rd['line'].split(" ", 1)[0] - if t in ["union", "struct"]: - lastLine = lines[-1].strip() - if not lastLine.startswith("};"): - npre, _ = lastLine[1:].split(";", 1) - _, npre = npre.rsplit(" ", 1) - pre += npre.strip() + "." - if rd["offset"] is None: - rd["offset"] = 0 - self._parseLoop(sStruct, lines, pre, rd["offset"]) - - def _parseLoop(self, sStruct, lines, pre, off=0): - qCount = 0 - box = [] - for line in lines[1:-1]: - lCount = line.count("{") - rCount = line.count("}") - qCount += lCount - rCount - if qCount > 0: - box.append(line) - elif len(box) > 0: - box.append(line) - self._parseBox(sStruct, box, pre) - box = [] - else: - self._parseMember(sStruct, line, pre, off) - - def _getStruct(self, gdb, sStruct): - self._res = {"log": "struct"} - lines = gdb.showStruct(sStruct).split('\n') - self._res['res'] = {"name": sStruct, "size": 0, "cell": []} - self._parseLoop(sStruct, lines, "") - self._res['res']['members'] = len(self._res['res']['cell']) - return self._res - - def _struct_is_in(self, cur, sStruct): - sql = f"SELECT name FROM structs WHERE name = '{sStruct}'" - res = cur.execute(sql) - if res is None: - return False - r = res.fetchone() - if r is None: - return False - return True - - def _struct(self, cur, gdb, sStruct): - if self._struct_is_in(cur, sStruct): - return - res = self._getStruct(gdb, sStruct) - if res is None: - return - dStruct = res['res'] - sql = f'''INSERT INTO structs (name, members, bytes) VALUES \ - ("{dStruct['name']}", {dStruct['members']}, {dStruct['size']})''' - cur.execute(sql) - fid = cur.lastrowid - for cell in dStruct['cell']: - sql = f'''INSERT INTO members (fid, types, name, offset, bytes, bits) VALUES \ - ({fid}, "{cell['type']}", "{cell['name']}", {cell['offset']}, {cell['size']}, "{cell['bits']}")''' - try: - cur.execute(sql) - except sqlite3.OperationalError: - print(f"bad {sql}, for {dStruct['name']}") - - def _save_type(self, cur, gdb, t): - alias, size = gdb.genType(t) - sql = f'INSERT INTO types (name, alias, bytes) VALUES ("{t}", "{alias}", {size})' - cur.execute(sql) - if alias == "struct {" or alias == 'union {': # there is no alias struct in this type - self._struct(cur, gdb, t) - - def _type_is_in(self, cur, t): - if t in self._banTypes: - return True - sql = f"SELECT name FROM types WHERE name = '{t}'" - res = cur.execute(sql) - if res is None: - return False - r = res.fetchone() - if r is None: - return False - return True - - def _check_type(self, cur, gdb, t): - if not self._type_is_in(cur, t): - try: - self._save_type(cur, gdb, t) - except ValueError: - self._banTypes.append(t) - print(f"failed to parse type {t}") - - def _types(self, typePath, cur, gdb): - with open(typePath, 'r') as f: - for i, line in enumerate(f): - if i < 1 or line.startswith("(gdb)"): # skip head and end - continue - if self._reTypeLine.match(line): - line = line.split(':', 1)[1] - line = line.strip() - if line != "": # strip blank line - if line.startswith("File "): # jump File - continue - if line.startswith("enum "): - continue - if line.startswith("struct ") or line.startswith("union "): - self._struct(cur, gdb, line[:-1]) - continue - if line.startswith("typedef "): # for typedef - sType = line.rsplit(" ", 1)[1] - self._check_type(cur, gdb, sType[:-1]) # skip last ; - continue - if line.startswith("__int128"): - line = "__int128" - self._check_type(cur, gdb, line) - - def _parseElf(self, cur, gdb, mod): - try: - gdb.genTypes("types.txt") - gdb.genFuncs("funcs.txt") - except OSError as e: - print(f"parse error. report {e}") - return - self._funcs("funcs.txt", mod) - self._types("types.txt", cur, gdb) - - def pasrseVmLinux(self, vmPath): - cur = self._db.cursor() - gdb = CgetVminfo(vmPath, waits=800) - self._save_type(cur, gdb, "void *") - self._parseElf(cur, gdb, "vm") - cur.close() - - def _parse_ko(self, path, fName): - if fName.endswith("ko"): - mod = fName.rsplit(".", 1)[0] - else: - mod = fName.rsplit(".", 2)[0] - try: - gdb = CgetVminfo(os.path.join(path, fName), 80) - except OSError as e: - print(f"load module {fName} error. report {e}") - return - cur = self._db.cursor() - self._parseElf(cur, gdb, mod) - cur.close() - - def parse_kos(self, path): - g = os.walk(path) - for path, dirL, fileL in g: - for fName in fileL: - if fName.endswith("ko") or fName.endswith("ko.debug"): - eventlet.monkey_patch() - try: - with eventlet.Timeout(6 * 60): - self._parse_ko(path, fName) - except (OSError, eventlet.timeout.Timeout) as e: - print(f"parse {fName} failed report {e}") - - -if __name__ == "__main__": - d = CgenfuncsDb("./info-5.13.0-21-generic.db") - d.pasrseVmLinux("./deb/usr/lib/debug/boot/vmlinux-5.13.0-21-generic") - d.parse_kos("./deb") - pass diff --git a/btf/btfhive/getVmlinux.py b/btf/btfhive/getVmlinux.py deleted file mode 100644 index b035358..0000000 --- a/btf/btfhive/getVmlinux.py +++ /dev/null @@ -1,202 +0,0 @@ -# -*- coding: utf-8 -*- -# cython:language_level=3 -""" -------------------------------------------------- - File Name: getVmlinux - Description : - Author : liaozhaoyan - date: 2021/12/1 -------------------------------------------------- - Change Activity: - 2021/12/1: -------------------------------------------------- -""" -__author__ = 'liaozhaoyan' - -import sys -import os -import shlex -from subprocess import PIPE, Popen -from getFuncs import CgetVminfo, CgenfuncsDb - -HivePath = "/root/vmhive/" -# VMPath = HivePath + "vmlinux/" -# BTFPath = HivePath + "btf/" -# HeadPath = HivePath + "header/" -# FuncPath = HivePath + "funcs/" -# DBPath = HivePath + "db/" -# PackPath = HivePath + "pkg/" - -class CexecCmd(object): - def __init__(self): - super(CexecCmd, self).__init__() - - @staticmethod - def cmd(cmds): - p = Popen(shlex.split(cmds), stdout=PIPE) - return p.stdout.read().decode().strip() - - @staticmethod - def system(cmds): - cmds = cmds.replace('\0', '').strip() - return os.system(cmds) - -class CgetVmlinux(CexecCmd): - def __init__(self): - super(CgetVmlinux, self).__init__() - - def drpm(self, path): - self.system("rpm2cpio %s|cpio -id" % path) - - def ddeb(self, path): - self.cmd("ar x %s" % path) - if os.path.exists("data.tar.xz"): - self.cmd("xz -d data.tar.xz") - self.cmd("tar xf data.tar") - else: - self.cmd("tar -I zstd -xvf data.tar.zst") - - def _genRpmVer(self, name): - _, _, n = name.split("-", 2) - ver, _ = n.rsplit(".", 1) - return ver - - #linux-image-3.13.0-96-generic-dbgsym_3.13.0-96.143_i386.ddeb -> 3.13.0-96-generic - def _genDebVer(self, name): - if name.startswith("linux-image-unsigned"): - _, _, _, n = name.split("-", 3) - else: - _, _, n = name.split("-", 2) - ver, _ = n.split("-dbgsym", 1) - return ver - - def _copyVmlinuxRpm(self, name, release, arch): - res = self.cmd("find ./ -name vmlinux").strip("\n") - ver = self._genRpmVer(name) - VMPath = HivePath + arch + "/vmlinux/" - dPath = VMPath + "%s/vmlinux-%s" % (release, ver) - cmd = "cp %s %s" % (res, dPath) - self.cmd(cmd) - return [ver, release, dPath, arch] - - def _copyVmlinuxDeb(self, name, release, arch): - res = self.cmd("find ./ -name vmlinux*").strip("\n").split('\n') - for r in res: - if os.path.isfile(r) and not r.endswith("decompressor"): - ver = self._genDebVer(name) - VMPath = HivePath + arch + "/vmlinux/" - dPath = VMPath + release +"/vmlinux-%s" % ver - cmd = "cp %s %s" % (r, dPath) - self.cmd(cmd) - break - return [ver, release, dPath, arch] - - def _checkProc(self, name, release, arch): - if name.endswith(".rpm"): - ver = self._genRpmVer(name) - elif name.endswith(".ddeb"): - ver = self._genDebVer(name) - else: - return True - DBPath = HivePath + arch + "/db/" - dbPath = DBPath + "%s/info-%s.db" % (release, ver) - dbJournal = dbPath + "-journal" - PackPath = HivePath + arch + "/pack/" - packName = f"{PackPath}/{release}/{name}" - - if os.path.exists(dbPath): - if not os.path.exists(dbJournal): - return True - if os.path.exists(packName): - workPath = self._prevProc() - self.cmd(f"cp {packName} ./") - res = self.__proc_work(name, release, arch) - self._afterProc(workPath, res) - return True - return False - - def __proc_work(self, name, release, arch): - res = None - if not os.path.exists(name): - raise Exception("failed to get file.") - if name.endswith(".rpm"): - self.drpm(name) - res = self._copyVmlinuxRpm(name, release, arch) - elif name.endswith(".ddeb"): - self.ddeb(name) - res = self._copyVmlinuxDeb(name, release, arch) - return res - - def _proc_work(self, url, name, release, arch): - self.cmd("axel -n 4 %s" % url) - PackPath = HivePath + arch + "/pack/" - self.cmd(f"cp {name} {PackPath}/{release}/") - return self.__proc_work(name, release, arch) - - def _proc_kos(self, db): - db.parse_kos('./') - - def _prevProc(self): - lastWork = os.path.abspath(os.getcwd()) - self.cmd(f"rm -rf {os.getpid()}") - os.mkdir(f"{os.getpid()}") - os.chdir(f"{os.getpid()}") - return lastWork - - def _afterProc(self, lastWork, res): - db = None - if res is not None: - db = self.genOthers(*res) - if db is not None: - vmPath = res[2] - try: - db.pasrseVmLinux(vmPath) - self._proc_kos(db) - except OSError as e: - print(f"parse {vmPath} report {e}") - os.chdir(lastWork) - self.cmd(f"rm -rf {os.getpid()}") - - def proc(self, url, name, release, arch): - print(f"proc {name}, {arch}") - if self._checkProc(name, release, arch): - return - - lastWork = self._prevProc() - res = self._proc_work(url, name, release, arch) - self._afterProc(lastWork, res) - - def _genBtfHead(self, ver, release, vmPath, arch): - BTFPath = HivePath + arch + "/btf/" - HeadPath = HivePath + arch + "/head/" - btfPath = BTFPath + "%s/vmlinux-%s" % (release, ver) - headPath = HeadPath + "%s/vmlinux-%s.h" % (release, ver) - self.cmd("cp %s %s" % (vmPath, btfPath)) - self.cmd("pahole -J %s" % btfPath) - self.cmd("llvm-objcopy --only-section=.BTF --set-section-flags .BTF=alloc,readonly --strip-all %s" % btfPath) - if arch == 'aarch64': - self.cmd("aarch64-linux-gnu-strip -x %s" % btfPath) - else: - self.cmd("strip -x %s" % btfPath) - if os.path.exists(f"{btfPath}.btf"): - self.cmd(f"rm -f {btfPath}") - self.cmd(f"mv {btfPath}.btf {btfPath}") - self.system("bpftool btf dump file %s format c > %s" % (btfPath, headPath)) - - def _getFuns(self, ver, release, vmPath, arch): - pass - - def _genDb(self, ver, release, arch): - DBPath = HivePath + arch + "/db/" - dbPath = DBPath + "%s/info-%s.db" % (release, ver) - print(f"gen {dbPath}") - db = CgenfuncsDb(dbPath) - return db - - def genOthers(self, ver, release, vmPath, arch): - self._genBtfHead(ver, release, vmPath, arch) - self._getFuns(ver, release, vmPath, arch) - return self._genDb(ver, release, arch) - -if __name__ == "__main__": - pass diff --git a/btf/btfhive/infoParse.py b/btf/btfhive/infoParse.py deleted file mode 100644 index b6cb146..0000000 --- a/btf/btfhive/infoParse.py +++ /dev/null @@ -1,154 +0,0 @@ -# -*- coding: utf-8 -*- -# cython:language_level=3 -""" -------------------------------------------------- - File Name: infoParse - Description : - Author : liaozhaoyan - date: 2021/12/3 -------------------------------------------------- - Change Activity: - 2021/12/3: -------------------------------------------------- -""" -__author__ = 'liaozhaoyan' - -import os.path -import sqlite3 -import json - -class CinfoParse(object): - def __init__(self, dbPath): - if not os.path.exists(dbPath): - raise IOError(f"db {dbPath} is not exist.") - self._db = sqlite3.connect(dbPath, uri=True) - - def __del__(self): - if self._db is not None: - self._db.commit() - self._db.close() - - def _genFuncRet(self, cur, res): - lR = [] - for r in res: - args = json.loads(r[1]) - fid = r[4] - sql = f"SELECT file FROM files WHERE id = '{fid}'" - res = cur.execute(sql) - txt = res.fetchone()[0] - d = {"func": r[0], "args": args, "ret": r[2], "line": r[3], "file": txt} - lR.append(d) - return lR - - def getFunc(self, func): - cur = self._db.cursor() - sql = f"SELECT func, args, ret, line, fid FROM funs WHERE func = '{func}'" - res = cur.execute(sql).fetchall() - lR = self._genFuncRet(cur, res) - cur.close() - return lR - - def _chekcFunfilter(self, func): - if "%" not in func: - raise ValueError(f"bad arg {func}, args should contains %.") - - def getFuncs(self, func, limit=20): - self._chekcFunfilter(func) - cur = self._db.cursor() - sql = f"SELECT func, args, ret, line, fid FROM funs WHERE func LIKE '{func}' LIMIT {limit}" - res = cur.execute(sql).fetchall() - lR = self._genFuncRet(cur, res) - cur.close() - return lR - - def getFuncFilterRet(self, ret, func="", limit=100): - cur = self._db.cursor() - sql = f"SELECT func, args, ret, line, fid FROM funs WHERE (ret = '{ret}' OR ret = 'static {ret}')" - if func != "": - self._chekcFunfilter(func) - sql += f" AND func LIKE '{func}'" - sql += f" LIMIT {limit}" - res = cur.execute(sql) - lR = self._genFuncRet(cur, res) - cur.close() - return lR - - def getFuncFilterArg(self, arg, func="", limit=100): - cur = self._db.cursor() - sql = f"SELECT func, args, ret, line, fid FROM funs, json_each(funs.args) WHERE json_each.value = '{arg}'" - if func != "": - self._chekcFunfilter(func) - sql += f" AND func LIKE '{func}'" - sql += f" LIMIT {limit}" - res = cur.execute(sql) - lR = self._genFuncRet(cur, res) - cur.close() - return lR - - def _getStruct(self, cur, struct, limit=10): - if '%' in struct: - sql = f"SELECT id, name, members, bytes FROM structs WHERE name LIKE '{struct}' LIMIT {limit}" - res = cur.execute(sql) - rDs = [] - for r in res.fetchall(): - rD = {"name": r[1], "members": r[2], "size": r[3]} - rDs.append(rD) - return rDs - - sql = f"SELECT id, name, members, bytes FROM structs WHERE name = '{struct}'" - res = cur.execute(sql) - r = res.fetchone() - if r is None: return None - fid = r[0] - rD = {"name": r[1], "members": r[2], "size": r[3]} - sql = f"SELECT types, offset, bytes, bits, name FROM members WHERE fid = {fid}" - res = cur.execute(sql) - cells = [] - for r in res.fetchall(): - dCell = {"type": r[0], "offset": r[1], "size": r[2], - "bits": r[3], "name": r[4]} - cells.append(dCell) - rD["cell"] = cells - return rD - - def getStruct(self, struct): - cur = self._db.cursor() - r = self._getStruct(cur, struct) - cur.close() - return r - - def _getStructMember(self, cur, struct, memeber): - sql = f"SELECT id FROM structs WHERE name = '{struct}'" - res = cur.execute(sql) - r = res.fetchone() - if r is None: return None - fid = r[0] - sql = f"SELECT types, offset, bytes, bits, name FROM members WHERE fid = {fid} \ - AND (name = '{memeber}' OR name LIKE '{memeber}[%]')" - res = cur.execute(sql) - r = res.fetchone() - if r is None: return None - rD = {"type": r[0], "offset": r[1], "size": r[2], "bits": r[3], "name": r[4]} - return rD - - def getStructMember(self, struct, memeber): - cur = self._db.cursor() - r = self._getStructMember(cur,struct, memeber) - cur.close() - return r - - def getType(self, t): - cur = self._db.cursor() - sql = f"SELECT name, alias, bytes FROM types WHERE name = '{t}'" - res = cur.execute(sql) - r = res.fetchone() - if r is None: return None - return {"name": r[0], "type": r[1], "size": r[2]} - -if __name__ == "__main__": - i = CinfoParse("info-3.10.0-327.ali2013.1.alios7.x86_64.db") - print(i.getStructMember("struct sock", "sk_backlog.head")) - print(i.getFunc("set_in_cr4")) - print(i.getStruct("struct sock")) - print(i.getFuncFilterArg("int", func="skb%")) - print(i.getType("u_int8")) \ No newline at end of file diff --git a/btf/btfhive/lab/libs.py b/btf/btfhive/lab/libs.py deleted file mode 100644 index 819eacd..0000000 --- a/btf/btfhive/lab/libs.py +++ /dev/null @@ -1,37 +0,0 @@ -# -*- coding: utf-8 -*- -# cython:language_level=3 -""" -------------------------------------------------- - File Name: libs - Description : - Author : liaozhaoyan - date: 2022/1/14 -------------------------------------------------- - Change Activity: - 2022/1/14: -------------------------------------------------- -""" -__author__ = 'liaozhaoyan' -import requests -from bs4 import BeautifulSoup - -sKernel = "linux-image-unsigned-5.4.0-42-generic-dbgsym_5.4.0-42.46_arm64.ddeb" - -ubuntuUrl = "http://ddebs.ubuntu.com/pool/main/l/linux/" - -def filter(href): - if href.startswith("linux-image") and "dbgsym" in href and href.endswith("arm64.ddeb"): - print(href) - -def start(): - html = requests.get(ubuntuUrl) - bs = BeautifulSoup(html.text, 'lxml') - table = bs.find('table') - for a in table.find_all('a'): - if a.has_attr("href"): - href = a["href"] - filter(href) - -if __name__ == "__main__": - start() - pass diff --git a/btf/btfhive/lab/randomChoose.py b/btf/btfhive/lab/randomChoose.py deleted file mode 100644 index 3cf0e34..0000000 --- a/btf/btfhive/lab/randomChoose.py +++ /dev/null @@ -1,59 +0,0 @@ -# -*- coding: utf-8 -*- -# cython:language_level=3 -""" -------------------------------------------------- - File Name: randomChoose - Description : - Author : liaozhaoyan - date: 2022/1/21 -------------------------------------------------- - Change Activity: - 2022/1/21: -------------------------------------------------- -""" -__author__ = 'liaozhaoyan' - -import os -import time -from random import shuffle -from multiprocessing import Process -from threading import Thread - -class workProc(Process): - def __init__(self, index): - super(workProc, self).__init__() - self._index = index - - def run(self): - print(f"pid {os.getpid()}, {self._index}") - time.sleep(self._index / 10) - - def work(self): - self.start() - self.join() - -class dispathThread(Thread): - def __init__(self, L): - super(dispathThread, self).__init__() - self._L = L - - def run(self): - while True: - try: - cell = self._L.pop() - except IndexError: - return - w = workProc(cell) - w.work() - -if __name__ == "__main__": - L = list(range(20)) - shuffle(L) - ts = [] - for i in range(4): - ts.append(dispathThread(L)) - for t in ts: - t.start() - for t in ts: - t.join() - pass diff --git a/btf/btfhive/lab/stripHead.py b/btf/btfhive/lab/stripHead.py deleted file mode 100644 index db3f9f1..0000000 --- a/btf/btfhive/lab/stripHead.py +++ /dev/null @@ -1,48 +0,0 @@ -# -*- coding: utf-8 -*- -# cython:language_level=3 -""" -------------------------------------------------- - File Name: stripHead - Description : - Author : liaozhaoyan - date: 2022/1/18 -------------------------------------------------- - Change Activity: - 2022/1/18: -------------------------------------------------- -""" -__author__ = 'liaozhaoyan' -import re - -reStrip = re.compile("___[\d]+") -def transLines(lines): - if lines[0].startswith("struct"): - res = reStrip.search(lines[0]) - if res is not None: - return "" - nlines = [reStrip.sub("", lines[0])] - for i, line in enumerate(lines[1:]): - if line != "\n": - nlines.append(reStrip.sub("", line)) - if len(nlines) == 1 and nlines[0] == "\n": - return "" - return "".join(nlines) - -def stripHead(path): - content = "" - with open(path, 'r') as f: - lines = [] - brackets = 0 - for i, line in enumerate(f): - brackets += line.count("{") - brackets -= line.count("}") - lines.append(line) - if brackets == 0: - content += transLines(lines) - lines = [] - - with open("new.h", 'w') as f: - f.write(content) - -if __name__ == "__main__": - stripHead("vmlinux-3.10.0-327.ali2019.alios7.x86_64.h") diff --git a/btf/btfhive/main.py b/btf/btfhive/main.py deleted file mode 100644 index 50a8fe6..0000000 --- a/btf/btfhive/main.py +++ /dev/null @@ -1,17 +0,0 @@ -# coding=utf-8 -# This is a sample Python script. - -# Press ⌃R to execute it or replace it with your code. -# Press Double ⇧ to search everywhere for classes, files, tool windows, actions, and settings. - - -def print_hi(name): - # Use a breakpoint in the code line below to debug your script. - print("Hi, {0}".format(name)) # Press ⌘F8 to toggle the breakpoint. - - -# Press the green button in the gutter to run the script. -if __name__ == '__main__': - print_hi('PyCharm') - -# See PyCharm help at https://www.jetbrains.com/help/pycharm/ diff --git a/btf/btfhive/multiSpider.py b/btf/btfhive/multiSpider.py deleted file mode 100644 index c12b9be..0000000 --- a/btf/btfhive/multiSpider.py +++ /dev/null @@ -1,80 +0,0 @@ -# -*- coding: utf-8 -*- -# cython:language_level=3 -""" -------------------------------------------------- - File Name: multiSpider - Description : - Author : liaozhaoyan - date: 2022/1/21 -------------------------------------------------- - Change Activity: - 2022/1/21: -------------------------------------------------- -""" -__author__ = 'liaozhaoyan' - -import os -import time -from random import shuffle -from multiprocessing import Process -from threading import Thread -from spider import Cspider -from getVmlinux import CgetVmlinux -import traceback - -class workProc(Process): - def __init__(self, res): - super(workProc, self).__init__() - self._res = res - - def run(self): - vm = CgetVmlinux() - try: - vm.proc(*self._res) - except Exception as e: - print(f"except msg: {e}") - traceback.print_exc() - - def work(self): - self.start() - self.join() - -class dispathThread(Thread): - def __init__(self, L): - super(dispathThread, self).__init__() - self._L = L - - def run(self): - while True: - try: - cell = self._L.pop() - except IndexError: - return - w = workProc(cell) - w.work() - -class CmultiSpider(Cspider): - def __init__(self): - super(CmultiSpider, self).__init__() - self._L = [] - - def _proc(self, url, href, release, arch): - print(f"append {arch}, {href}") - self._L.append([url, href, release, arch]) - - def work(self): - super(CmultiSpider, self).work() - shuffle(self._L) - ts = [] - print("start to dispatch") - for i in range(8): - ts.append(dispathThread(self._L)) - for t in ts: - t.start() - for t in ts: - t.join() - -if __name__ == "__main__": - s = CmultiSpider() - s.work() - pass diff --git a/btf/btfhive/psSentry.py b/btf/btfhive/psSentry.py deleted file mode 100644 index a7ffa7c..0000000 --- a/btf/btfhive/psSentry.py +++ /dev/null @@ -1,56 +0,0 @@ -# -*- coding: utf-8 -*- -# cython:language_level=3 -""" -------------------------------------------------- - File Name: psSentry - Description : - Author : liaozhaoyan - date: 2022/1/24 -------------------------------------------------- - Change Activity: - 2022/1/24: -------------------------------------------------- -""" -__author__ = 'liaozhaoyan' - -import psutil -import time - - -class CpsSentry(object): - def __init__(self): - super(CpsSentry, self).__init__() - self._gdbd = {} - - def proc(self): - pids = psutil.pids() - idL = [] - for p in pids: - try: - task = psutil.Process(p) - except psutil.NoSuchProcess: - continue - comm = " ".join(task.cmdline()) - if comm.startswith("gdb") and (comm.endswith("ko") or comm.endswith("ko.debug")): - idL.append(task.pid) - if task.pid in self._gdbd.keys(): - self._gdbd[task.pid] += 1 - if self._gdbd[task.pid] > 8: - print(f"need too kill {task.pid}, {comm}, {self._gdbd[task.pid]}") - try: - task.kill() - except (psutil.NoSuchProcess, FileNotFoundError): - continue - else: - self._gdbd[task.pid] = 1 - gL = list(self._gdbd.keys()) - for k in gL: - if k not in idL: - del self._gdbd[k] - -if __name__ == "__main__": - ps = CpsSentry() - while True: - ps.proc() - time.sleep(60) - pass diff --git a/btf/btfhive/spider.py b/btf/btfhive/spider.py deleted file mode 100644 index ce8e16e..0000000 --- a/btf/btfhive/spider.py +++ /dev/null @@ -1,121 +0,0 @@ -# -*- coding: utf-8 -*- -# cython:language_level=2 -""" -------------------------------------------------- - File Name: spider - Description : - Author : liaozhaoyan - date: 2021/12/1 -------------------------------------------------- - Change Activity: - 2021/12/1: -------------------------------------------------- -""" -__author__ = 'liaozhaoyan' - -import time - -from bs4 import BeautifulSoup -import requests -from getVmlinux import CgetVmlinux -import traceback -from vers import versD - - -class Cspider(object): - def __init__(self): - self._oDict = { - "alios": self.getAliosUrl, - "alinux": self.getAlinux, - "centos": self.getCentos, - "ubuntu": self.getUbuntu, - "anolis": self.getAlinux - } - self._vm = CgetVmlinux() - - def _proc(self, url, href, release, arch): - self._vm.proc(url, href, release, arch) - - def getAliosUrl(self, url, rel, arch): - html = requests.get(url) - bs = BeautifulSoup(html.text, 'lxml') - uls = bs.find('ul') - for li in uls.find_all('li'): - href = li.a['href'] - if href.endswith(".rpm"): - # print("%s%s" % (url, href)) - dstUrl = "%s%s" % (url, href) - self._proc(dstUrl, href, rel, arch) - - def getCentos(self, url, rel, arch): - html = requests.get(url) - bs = BeautifulSoup(html.text, 'lxml') - table = bs.find('table', attrs={'id': "indexlist"}) - for td in table.find_all('td', attrs={'class': 'indexcolname'}): - href = td.a['href'] - if href.startswith('kernel-debuginfo') and not href.startswith('kernel-debuginfo-common'): - # print("%s%s" % (url, href)) - dstUrl = "%s%s" % (url, href) - self._proc(dstUrl, href, rel, arch) - - def getAlinux(self, url, rel, arch): - html = requests.get(url) - bs = BeautifulSoup(html.text, 'lxml') - links = bs.findAll('a') - for link in links: - href = link['href'] - if href.startswith('kernel-debuginfo') and not href.startswith('kernel-debuginfo-common'): - dstUrl = "%s%s" % (url, href) - self._proc(dstUrl, href, rel, arch) - # table = bs.find('table', attrs={'class': "table"}) - # for td in table.find_all('td', attrs={'class': 'link'}): - # href = td.a['href'] - # if href.startswith('kernel-debuginfo') and not href.startswith('kernel-debuginfo-common'): - # dstUrl = "%s%s" % (url, href) - # self._vm.proc(dstUrl, href, rel) - - def getUbuntu(self, url, rel, arch): - html = requests.get(url) - bs = BeautifulSoup(html.text, 'lxml') - table = bs.find('table') - endDeb = {'x86_64': "amd64.ddeb", 'aarch64': "arm64.ddeb"} - ends = endDeb[arch] - for a in table.find_all('a'): - if a.has_attr("href"): - href = a["href"] - if href.startswith("linux-image") and "dbgsym" in href and href.endswith(ends): - # print("%s%s" % (url, href)) - dstUrl = "%s%s" % (url, href) - self._proc(dstUrl, href, rel, arch) - - def work(self): - for arch, relD in versD.items(): - for release in relD.keys(): - urls = relD[release] - for url in urls: - try: - self._oDict[release](url, release, arch) - except Exception as e: - print(f"except msg: {e}") - traceback.print_exc() - continue - - # - # for k in allD.keys(): - # urls = allD[k] - # for url in urls: - # try: - # self._oDict[k](url, k) - # except Exception as e: - # print(f"except msg: {e}") - # traceback.print_exc() - # continue - - -if __name__ == "__main__": - s = Cspider() - # s.work() - while True: - s.work() - time.sleep(10 * 60) - pass diff --git a/btf/btfhive/vers.py b/btf/btfhive/vers.py deleted file mode 100644 index 5e9d37f..0000000 --- a/btf/btfhive/vers.py +++ /dev/null @@ -1,75 +0,0 @@ -# -*- coding: utf-8 -*- -# cython:language_level=3 -""" -------------------------------------------------- - File Name: vers.py - Description : - Author : liaozhaoyan - date: 2022/1/20 -------------------------------------------------- - Change Activity: - 2022/1/20: -------------------------------------------------- -""" -__author__ = 'liaozhaoyan' - -aliosUrl_x86_64 = "http://yum.tbsite.net/taobao/7/x86_64/current/kernel-debuginfo/" -aliosStableUrl_x86_64 = "http://yum.tbsite.net/taobao/7/x86_64/stable/kernel-debuginfo/" -centos7Url_x86_64 = "http://debuginfo.centos.org/7/x86_64/" -centos8Url_x86_64 = "http://debuginfo.centos.org/8/x86_64/Packages/" -centosSteamUrl_x86_64 = "http://debuginfo.centos.org/8-stream/x86_64/Packages/" -alinux219Url_x86_64 = "http://mirrors.aliyun.com/alinux/2.1903/plus/x86_64/debug/" -alinux2Url_x86_64 = "http://mirrors.aliyun.com/alinux/2/kernels/x86_64/debug/" -alinux3Url_x86_64 = "http://mirrors.aliyun.com/alinux/3/plus/x86_64/debug/" -ubuntuUrl_x86_64 = "http://ddebs.ubuntu.com/pool/main/l/linux/" -anolis8x4Url_x86_64 = "http://mirrors.aliyun.com/anolis/8.4/BaseOS/x86_64/debug/Packages/" -anolis8x2Url_x86_64 = "http://mirrors.aliyun.com/anolis/8.2/BaseOS/x86_64/debug/Packages/" -anolis8Url_x86_64 = "http://mirrors.aliyun.com/anolis/8/BaseOS/x86_64/debug/Packages/" -anolis7Url_x86_64 = "http://mirrors.aliyun.com/anolis/7.7/os/x86_64/debug/Packages/" -anolis8x4Url1_x86_64 = "http://mirrors.openanolis.cn/anolis/8.4/Plus/x86_64/debug/Packages/" -anolis8x2Url1_x86_64 = "http://mirrors.openanolis.cn/anolis/8.2/Plus/x86_64/debug/Packages/" -anolis8Url1_x86_64 = "http://mirrors.openanolis.cn/anolis/8/Plus/x86_64/debug/Packages/" -anolis7Url1_x86_64 = "http://mirrors.openanolis.cn/anolis/7.7/Plus/x86_64/debug/Packages/" -anolis7X9Url1_x86_64 = "http://mirrors.openanolis.cn/anolis/7.9/Plus/x86_64/debug/Packages/" - -x86_64_D = { - "alios": [aliosUrl_x86_64, aliosStableUrl_x86_64], - "alinux": [alinux2Url_x86_64, alinux219Url_x86_64, alinux3Url_x86_64], - "anolis": [anolis7Url_x86_64, anolis8Url_x86_64, anolis8x2Url_x86_64, anolis8x4Url_x86_64, - anolis7Url1_x86_64, anolis7X9Url1_x86_64, anolis8Url1_x86_64, anolis8x2Url1_x86_64, anolis8x4Url1_x86_64], - "ubuntu": [ubuntuUrl_x86_64], - "centos": [centos7Url_x86_64, centos8Url_x86_64, centosSteamUrl_x86_64], -} - -aliosUrl_aarch64 = "http://yum.tbsite.net/taobao/7/aarch64/current/kernel-debuginfo/" -aliosStableUrl_aarch64 = "http://yum.tbsite.net/taobao/7/aarch64/stable/kernel-debuginfo/" -centos7Url_aarch64 = "http://debuginfo.centos.org/7/aarch64/" -centos8Url_aarch64 = "http://debuginfo.centos.org/8/aarch64/Packages/" -centosStreamUrl_aarch64 = "http://debuginfo.centos.org/8-stream/aarch64/Packages/" -alinux219Url_aarch64 = "http://mirrors.aliyun.com/alinux/2.1903/plus/aarch64/debug/" -alinux2Url_aarch64 = "http://mirrors.aliyun.com/alinux/2/kernels/aarch64/debug/" -alinux3Url_aarch64 = "http://mirrors.aliyun.com/alinux/3/plus/aarch64/debug/" -ubuntuUrl_aarch64 = "http://ddebs.ubuntu.com/pool/main/l/linux/" -anolis8x4Url_aarch64 = "http://mirrors.aliyun.com/anolis/8.4/BaseOS/aarch64/debug/Packages/" -anolis8x2Url_aarch64 = "http://mirrors.aliyun.com/anolis/8.2/BaseOS/aarch64/debug/Packages/" -anolis8Url_aarch64 = "http://mirrors.aliyun.com/anolis/8/BaseOS/aarch64/debug/Packages/" -anolis7Url_aarch64 = "http://mirrors.aliyun.com/anolis/7.7/os/aarch64/debug/Packages/" -anolis8x4Url1_aarch64 = "http://mirrors.openanolis.cn/anolis/8.4/Plus/aarch64/debug/Packages/" -anolis8x2Url1_aarch64 = "http://mirrors.openanolis.cn/anolis/8.2/Plus/aarch64/debug/Packages/" -anolis8Url1_aarch64 = "http://mirrors.openanolis.cn/anolis/8/Plus/aarch64/debug/Packages/" -anolis7Url1_aarch64 = "http://mirrors.openanolis.cn/anolis/7.7/Plus/aarch64/debug/Packages/" -anolis7X9Url1_aarch64 = "http://mirrors.openanolis.cn/anolis/7.9/Plus/aarch64/debug/Packages/" - -aarch64_D = { - "alios": [aliosUrl_aarch64, aliosStableUrl_aarch64], - "alinux": [alinux2Url_aarch64, alinux219Url_aarch64, alinux3Url_aarch64], - "anolis": [anolis7Url_aarch64, anolis8Url_aarch64, anolis8x2Url_aarch64, anolis8x4Url_aarch64, - anolis7Url1_aarch64, anolis7X9Url1_aarch64, anolis8Url1_aarch64, anolis8x2Url1_aarch64, anolis8x4Url1_aarch64], - "ubuntu": [ubuntuUrl_aarch64], - "centos": [centos7Url_aarch64, centos8Url_aarch64, centosStreamUrl_aarch64], -} - -versD = {"x86_64": x86_64_D, "aarch64": aarch64_D} - -if __name__ == "__main__": - pass diff --git a/btf/btfhive/vers/getVers.py b/btf/btfhive/vers/getVers.py deleted file mode 100644 index c7b55f8..0000000 --- a/btf/btfhive/vers/getVers.py +++ /dev/null @@ -1,34 +0,0 @@ -# -*- coding: utf-8 -*- -# cython:language_level=3 -""" -------------------------------------------------- - File Name: getVers - Description : - Author : liaozhaoyan - date: 2022/1/11 -------------------------------------------------- - Change Activity: - 2022/1/11: -------------------------------------------------- -""" -__author__ = 'liaozhaoyan' -import os - -Dir = "../version/" -vD = {"x86_64": "../db/x86_64/", "aarch64": "../db/aarch64/"} - -def procVers(arch, path): - files = os.listdir(path) - files.sort() - with open(os.path.join(Dir, arch + ".txt"), "w") as f: - for name in files: - if name.startswith("info-"): - name = name.replace("info-", "") - name = name.replace(".db", "") - f.write(name + "\n") - -if __name__ == "__main__": - path = os.path.split(os.path.realpath(__file__))[0] - os.chdir(path) - for k, v in vD.items(): - procVers(k, v) diff --git a/btf/lib/CMakeLists.txt b/btf/lib/CMakeLists.txt deleted file mode 100644 index ce2caca..0000000 --- a/btf/lib/CMakeLists.txt +++ /dev/null @@ -1,2 +0,0 @@ - -add_subdirectory(btfparse) \ No newline at end of file diff --git a/btf/lib/btfparse/CMakeLists.txt b/btf/lib/btfparse/CMakeLists.txt deleted file mode 100644 index fa8f7b0..0000000 --- a/btf/lib/btfparse/CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ - - -add_library(btfparse btfparse.c) -target_link_libraries(btfparse libbpf) -target_include_directories(btfparse PRIVATE ${CMAKE_CURRENT_BINARY_DIR}) - - - -add_executable(btfparsetest btfparsetest.c) -target_link_libraries(btfparsetest libbpf btfparse) \ No newline at end of file diff --git a/btf/lib/btfparse/README.md b/btf/lib/btfparse/README.md deleted file mode 100644 index cc37b0a..0000000 --- a/btf/lib/btfparse/README.md +++ /dev/null @@ -1,20 +0,0 @@ - - - - -## btfparse - -专用于解析btf文件,目前支持以下功能: - -1. 根据结构体的名字和成员的名字确定成员在该结构体内的偏移,以及成员的大小。 - - -### 编译 - -1. 运行命令 `mkdir build & cd build` 创建编译目录 - -2. 运行命令 `cmake ..` 生成 Makefile 文件 - -3. 运行命令 `make btfparse btfparsetest` - -4. 运行测试程序: `./btf/lib/btfparse/btfparsetest` diff --git a/btf/lib/btfparse/btfparse.c b/btf/lib/btfparse/btfparse.c deleted file mode 100644 index d39d44d..0000000 --- a/btf/lib/btfparse/btfparse.c +++ /dev/null @@ -1,195 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include - -#include "btfparse.h" - -#define DEBUG 0 - -#define pr_dbg(fmt, ...) \ - do \ - { \ - if (DEBUG) \ - printf("DEBUG: " fmt, ##__VA_ARGS__); \ - } while (0) - -static bool btf_type_is_modifier(const struct btf_type *t) -{ - /* Some of them is not strictly a C modifier - * but they are grouped into the same bucket - * for BTF concern: - * A type (t) that refers to another - * type through t->type AND its size cannot - * be determined without following the t->type. - * - * ptr does not fall into this bucket - * because its size is always sizeof(void *). - */ - switch (BTF_INFO_KIND(t->info)) - { - case BTF_KIND_TYPEDEF: - case BTF_KIND_VOLATILE: - case BTF_KIND_CONST: - case BTF_KIND_RESTRICT: - // case BTF_KIND_TYPE_TAG: - return true; - } - - return false; -} - -const struct btf_type *btf_type_skip_modifiers(const struct btf *btf, - uint32_t id, uint32_t *res_id) -{ - const struct btf_type *t = btf__type_by_id(btf, id); - - while (btf_type_is_modifier(t)) - { - id = t->type; - t = btf__type_by_id(btf, t->type); - } - - if (res_id) - *res_id = id; - - return t; -} - -const struct btf_type *btf_type_skip_ptr(const struct btf *btf, uint32_t id) -{ - const struct btf_type *t = btf__type_by_id(btf, id); - while (btf_is_ptr(t)) - t = btf__type_by_id(btf, t->type); - - return t; -} - -/* Similar to btf_type_skip_modifiers() but does not skip typedefs. */ -static const struct btf_type *btf_type_skip_qualifiers(const struct btf *btf, - uint32_t id) -{ - const struct btf_type *t = btf__type_by_id(btf, id); - - while (btf_type_is_modifier(t) && - BTF_INFO_KIND(t->info) != BTF_KIND_TYPEDEF) - { - t = btf__type_by_id(btf, t->type); - } - - return t; -} - -// skip modifiers and pointer to find real type -static const struct btf_type *btf_type_find_realtype(struct btf *btf, int typeid) -{ - const struct btf_type *t; - t = btf__type_by_id(btf, typeid); - while (btf_type_is_modifier(t) || btf_is_ptr(t)) - { - t = btf_type_skip_modifiers(btf, typeid, (uint32_t *)&typeid); - t = btf_type_skip_ptr(btf, typeid); - } - return t; -} - -const struct btf_member *btf_find_member(struct btf *btf, int typeid, - const char *target_member_name, int *offset) -{ - const struct btf_type *t; - const struct btf_member *m, *tmpm; - const char *name; - int i; - - t = btf_type_find_realtype(btf, typeid); - m = btf_members(t); - for (i = 0; i < btf_vlen(t); i++, m++) - { - name = btf__name_by_offset(btf, m->name_off); - if (!name || !name[0]) - { - // find embedded struct/union - tmpm = btf_find_member(btf, m->type, target_member_name, offset); - if (tmpm) - { - pr_dbg("find member: name-%s, off-%u, size-%llu\n", btf__name_by_offset(btf, tmpm->name_off), tmpm->offset, btf__resolve_size(btf, tmpm->type)); - *offset += m->offset; - return tmpm; - } - } - else if (strcmp(name, target_member_name) == 0) - { - pr_dbg("find member: name-%s, off-%u, size-%llu\n", btf__name_by_offset(btf, m->name_off), m->offset, btf__resolve_size(btf, m->type)); - *offset += m->offset; - return m; - } - } - - pr_dbg("Unable to find %s(member) in %s(struct)\n", target_member_name, btf__name_by_offset(btf, t->name_off)); - return NULL; -} - -struct btf *btf_load(char *btf_custom_path) -{ - struct btf *btf; - int err; - if (btf_custom_path != NULL) - btf = btf__parse(btf_custom_path, NULL); - else - btf = libbpf_find_kernel_btf(); - - err = libbpf_get_error(btf); - if (err) - { - errno = -err; - return NULL; - } - - return btf; -} - -struct member_attribute *btf_find_struct_member(struct btf *btf, char *struct_name, char *member_name) -{ - int typeid, offset; - struct member_attribute *ma = NULL; - const struct btf_member *member; - - if (!btf || !struct_name || !member_name) - { - errno = EINVAL; - return NULL; - } - - ma = malloc(sizeof(struct member_attribute)); - if (!ma) - { - errno = ENOMEM; - return NULL; - } - - typeid = btf__find_by_name_kind(btf, struct_name, BTF_KIND_STRUCT); - if (typeid < 0) - { - errno = EINVAL; - goto free_ma; - } - - offset = 0; - member = btf_find_member(btf, typeid, member_name, &offset); - if (!member) - { - pr_dbg("failed to find member: %s in struct: %s, err = %d\n", member_name, btf__name_by_offset(btf, btf__type_by_id(btf, typeid)->name_off), -errno); - goto free_ma; - } - - ma->offset = offset; - ma->size = btf__resolve_size(btf, member->type); - ma->real_size = btf_type_find_realtype(btf, member->type)->size; - return ma; - -free_ma: - return NULL; -} diff --git a/btf/lib/btfparse/btfparse.h b/btf/lib/btfparse/btfparse.h deleted file mode 100644 index 18ddc87..0000000 --- a/btf/lib/btfparse/btfparse.h +++ /dev/null @@ -1,37 +0,0 @@ - - -#ifndef __BTF_PARSE_H -#define __BTF_PARSE_H - - - -/** - * btf_load: load btf from btf_custom_path - * - * @btf_custom_path: path of btf file - */ -struct btf *btf_load(char *btf_custom_path); - - -struct member_attribute -{ - uint32_t size; // size of structure's member - uint32_t real_size; // real_size mean - uint32_t offset; // offset of member in strucutre -}; - -/** - * btf_find_struct_member - find struct btfid by structure's name - * - * @btf: - * @struct_name: name of struct - * @member_name: name of structure's member - * @return: NULL mean error, get error number from errno. - * - * Note: Remember to free pointer of struct member_attribute - */ -struct member_attribute *btf_find_struct_member(struct btf *btf, char *struct_name, char *member_name); - - -#endif - diff --git a/btf/lib/btfparse/btfparsetest.c b/btf/lib/btfparse/btfparsetest.c deleted file mode 100644 index de129d7..0000000 --- a/btf/lib/btfparse/btfparsetest.c +++ /dev/null @@ -1,29 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include -#include - -#include "btfparse.h" - - -int main() -{ - struct btf *btf = btf_load(NULL); - assert(btf != NULL); - - char struct_name[] = "sock"; - char member_name[] = "sk_sndbuf"; - struct member_attribute *ma = btf_find_struct_member(btf, struct_name, member_name); - assert(btf != NULL); - assert(ma->offset != 0); - assert(ma->size != 0); - assert(ma->real_size != 0); - - printf("offset: %u, size: %u, realsize: %u\n", ma->offset, ma->size, ma->real_size); - free(ma); - return 0; -} \ No newline at end of file diff --git a/compile/local-compile/Makefile b/compile/local-compile/Makefile deleted file mode 100644 index d4a701b..0000000 --- a/compile/local-compile/Makefile +++ /dev/null @@ -1,26 +0,0 @@ -ROOT := $(abspath $(shell pwd)../../../) -OUTPUT ?= $(ROOT)/build/apps -BPFTOOL ?= $(abspath bpftool) -INCLUDES := -I$(ROOT)/build/third -I$(ROOT)/build/third/libbpf -I${ROOT}/arch/x86_64 -ARCH := $(shell uname -m | sed 's/x86_64/x86/') -BPF_CORE_SRC ?= $(wildcard $(ROOT)/apps/*.bpf.c) - -CLANG = clang -LLVM_STRIP = llvm-strip - -.PHONY: all -all:gen_skel - -gen_skel: - $(shell mkdir -p $(OUTPUT)) - $(foreach src,$(BPF_CORE_SRC),\ - $(CLANG) -g -O2 -target bpf -D__TARGET_ARCH_$(ARCH) $(INCLUDES) -c $(src) -o $(OUTPUT)/$(patsubst %.c,%.o,$(notdir $(src))); \ - $(LLVM_STRIP) -g $(OUTPUT)/$(patsubst %.c,%.o,$(notdir $(src))); \ - $(BPFTOOL) gen skeleton $(OUTPUT)/$(patsubst %.c,%.o,$(notdir $(src))) > $(OUTPUT)/$(patsubst %.bpf.c,%.skel.h,$(notdir $(src))); \ - ) - -# delete failed targets -.DELETE_ON_ERROR: - -# keep intermediate (.skel.h, .bpf.o, etc) targets -.SECONDARY: \ No newline at end of file diff --git a/compile/local-compile/bpftool b/compile/local-compile/bpftool deleted file mode 100755 index c5629886d07cde839e88d7fee8f6d4ae839944dd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2453464 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

hNnFg$D_(-{y0iDm>=wUx0Sap@cvL| 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

Oisa?D2~ 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%0A@w6t{ zoi$0YCK{qZkSM|Lm}!p3J5(zejXT%b4bEBCs)^K1WEX;ycbk$({6sm&)=Um7I5|8T z^OKHLI%xg&+wA3Z*D==WBQ&k-`3MTrsL1RMz^m^cN>^T)wtNoRxv1n9i}iB`=r@(b z0}`=w+amJVA`C0-_Na#{Tc~H(p1m0IvNVi|;7|Iks~tFy=o_kovlo%iV`Di5_EX?1 z{q^oK)Ll()qD~99ED2pj8fX$<##&Z{OBRpLPh2C6N1k1L8Fy-vrl>MClcGhb^NnDc z9|$S^hMJ+4+V%oC`UI*L!6T}24_1EZQf~YaK`^d zsUVpvCpY{SA&h6wGK6tZYj4lh#)Y4tiaHfk^&*X)OD<#oC9FZc_on}SUT9!~iMK#S zhVaI1#OsFjO>Zb2xgm!G!KNI#QK_mT&s*sMpcBS0J7Sloj`0t&fsCAzdzBm#zp349 z%gFOh9jcHyO_YNQs1m7ozKy&42yT%WK|o`AS9sv|HTj>1aMCkB^NWlqy!d>jnpK1L zsJqQ*?b_29pPgG>@_rz{O)T&De9!qLQmyqRpGbO%*7r2CzFR@&V13cGRdz;CE>j+& z+9I?Hksau+)J_h;?NPyAv?Ik_*=IhO>sZGU=F?`*T!_rx%=@Xq>Ykd2+_9h0S*>-Z zXv9U;-P59t&wYq2}CrwO_Be!@H zlkUZc`GGu7YA&u5?^#T1)lZq4 zS;b%!wTxm_M(;F=jln3SHW&r$)-;@KdQBc_m=o)og8=|m|1d;*GYxVWg_J_6# zD03MH^csH!8NZ>&$#7{vFmt#S*}mvYJ!7g~TpM zy`)#1`wgMZm=c7n%C+DH+{2*mr0Z!I0ae{*yv6n>MtY%!q4CHE$s_bWIUrUvc}6TW zfRZHJr7<(+^v;Fj%S=tAoqO~)yBs3VwE{Pvlw->cRaPcNoAu;V1YC2tfkqd=XAD>C z7=|;Q!8!=V64ANc+z~B|n5bc}4B~y7$Hgr*q102Ffmt~z)+C4!X5y57r{jKYrD^!* z9t>ef#G{+0Vj-OESRe1UT$B3@l?tFE%WE|t^5xys(m0~nOvh$4Ep)i1p+dheSkr*^ zPp%JPoMLe;E$llqYt$!rTLi!!i3yN%5?5Rb&2g@;B9E)?IPqMx4^t))0-c9d~+GKs6*BN)3tD1&%ROa~_ zOBCqMFxyCPW)FOq4HS3IuS&fkRtBQHOxLh5Yt?Ny7O>-BL;(l2))mK{$$$VE0_KX> z%i>9btj21O%86aIWsAo^RK-ey7_0i z{+ZT29tLXx(ecoZaqJeQ8f{Tel9l2Q84BRnRTv%jf zt{2>DPq$hZ3Q#cg7JFcEp0N8D>uYYe8StE;+I@tbB7ieJz%gzhiR@ogmw;4*R<*gY z7paQS>I=Q}p`Spouj_yo+0QYs2f=zV(}&4OSvde#IQCN7D~74A+R3B;Yu=Af7<~CL zk9|h!=*6c-dO`1zMl@1JlHUNcROK@_z&67^`;PB|0<&*baFkzeMi6jBeR7k(e=~&_*+(jcjdt%dh9{ zXV51*Ckyz0;(PuW%HJB=EAlTySbc!KRpj5sB0M0r{nLxOr2Jm^yE1K}?NSB;17yykA}=@qK6|OJ`2-vF_)vAE@^t|8MH5 zWyN5iu-C8=+Ug{nx>X5#_%OXY)lUSZurUnx-=FR}9h{nBt$v1M1g_e6Psg(>W_rK< zy1L4p4q*LLvO{1UV*h!8XjDLQI$-bNMHqVxS!?;vC*iprTao6)-p1QaB3cRaO%R1H z!Zyt?Q{>r!c*JbjMb?@Fl3xeDxbxnmJlOc`)=|ZkdL?d&|kNEzqt5 zoqO0yj*;ouIP$R$EYW?o3?i?vJ5pw)mm0nX1d}iMi)iArfgX33hyANf51f_!4!xH@X8Ny!v)PGs`J_GafPK3?ybGm-=@MIVimspXj!bv)?iO(H7S=wS!DxuqoE`Yjnfsld#>e z-Z6W;O_z&im~U>{D0a%uty%MiGRK%zibKaTa4k4G=HoS}S5t1eyk?r2JlQIc+ z`ho9qg*ta#1mCZu^|6cjeRKEC9qnXb8?Kw~6(r;wwfz5s`pMBpf(+cY+CdNJ#ZHxj+{gTrEh=d6KZlt`L*Z3AYzhVUZp0-9Z( zT?*B%N#cz<;pIB0@O0!i?`v-#;%@WFof&F$Pl7+y zjkpuO_e~m)b=D26uv#ND*yy6a`8e*3imj;|VRCLIRG@`39Y_D4o7qV@n3YBXC{_n> zHMUFCK#=k%%fqq1bUXK3bn)1-w3Kd^QBz^!_J-Zzcw}bP;?JQN1N8mkB-&NVz#z|V zW`ck_YGyUrA5r~|-wrnpQv5a_o3lr_E6Dqsd#Sv?V=K9Djundr*Umn(SK;I4;#rg{ zv^M6c_4JJb;cXSLy%87mM>C1y!`Wz@Z@i<;i$vuhu!T7pMP-fm@+Bf0FjS-?R#L}- zC%w0)1$8T^8>Uh3x!jAY{EJ6(FRJq|?#{ia$-nqNUWmyRO5Cgx^kSPPZTDKSG`|Q4z-{&~2<8?)x z09+Y;%Di9AAu7W?F5Wg9SAM=uG;W*#FtTFQTqEqWRh7Z%`EKVI2b1ol7w3MPO z9($#`JG4oiP)hP180B1wa^M9tmQgtu_o6UtHRFg2t$sKxXiI<_Vcois-4J?e;C95( z5e&nZW!caLPIRqz>ImP$KX6LjJm#F_56^#Beb6L-W~`u1XG8k+0WAk5Y_g}URZ2hH za*#8lezqJeHS3>K3yQFreu&@~wp2MAL?hC#V{%FM58Ea8+(ij*)$6bgmLSOg`y?W^ zNgEDLHM>F1w^8qcKXM05eotg>M1~>aCg2F$Y^xr>oa+}r&E}a8_2j|YQeQa`iITcl zpJTL9FYJisXpoip9aD~VaI;HN}lLq zSZ15^oRv8ixQ*!?^OVnxp|po8Cp+$U=b978yWi|{;+Q+ftLB1VP8%?k?q|~dvj2B+ zQOF<0+$BFi${8uct@exQp`br@rw#Gbrc4IF1q78oK0e3vk^NL3kArtXw4#K3T$@c_ z!%bgznKSVb7j&HsJ|4UARYsg0H}$3N?&!T3FD^mR_2q`#Rv}&`t?i}hS6i8GO`lnp z`oG|5J?mZ+$Xmw(d_$)K(X2l|A6cVe0{t5A`~nu0PJ?M2rCbnZ=jLyeS`A1&kOJ`eGsqWa_8S?TF*zliZQM0PqR(S5ERmbR zMw4PDGHrn_I53%#c=fLEIyF`@K<|x3=TRgT3=76oZy1b*hz7T-Eq+vPnr)ck_(n9}trQHGAxj zY6l{8Z=>llz7+D&X)l!L?=&?8T`uq+;~^Sk8&6$o*c|QvLvjvho7Hf7v)#vE+q)Q) zWSFfcFMKd;?YG!Xc12N3Zrm-yh# znJL$;j2Vx0Zxb@+*7-NRB?hlC zR9LbY+hI;;v?QFIUY{lVh_j`H3>A@go9gP_LEOfjtmQ|p0W0%0nla1Kahy4)ZD}A| zOUcl`#dXE^27t%0tUj`J@msld&ki*JaqEvAEufUyp$!abggx>gsW@(E^NLBGu-q^1yc}x~3timL$j21ROdt~K)+`&E&j;aWi!u+gt z_5F(b&faR3zQzAv{t3G7xCNF^kKFk59j+S|cIUeBm+)Nhx6xV3xG>{#LsrQ?JDCVC z43<&QW~IR%(Nog>358PNHmm7Oj2805O(-fc`j=g2fe1@L1aHAhhq^oKhPR{!#5yN& z5FQm!Fi1NtsJSHf=#k+PphZEP)JAOPhxRs26)82%t^7AhqBI)77HGDyo5jq+O=-LV+`FAR31XGl#!WzxBNnWhN@$BMKJfuyI z->Ff%WGb0`1fl@6s9N@UUxO3*S8EX2e#dmz@_0TZpHhbX`hCN zxyIUSW|Y9@b3tRE{(%ik{nBN~YzX|_3)a@(1rkAF5*1zBn zCi=BRtQ>56PU1osS50%SF1H>0A2{~TKLwgM0g`tbb~Zd3=h`d^$z?@tmh_;Nzl6x8 zJiQd4kR6PE^Ao4)yo=O9V+iKB3NPMiV0L>zJ>hZYq@BG>+&~Oyjs_TY?=oUTXKE=m zY<(h)9ua@2=IMRP^ zi)0l%mFV{E67Q=Bka1^~O8V0cI@eQXFc!qZ!0Jm-8*H)Cvq2?Y-%U_=nPTwJVQ z3R})kfs(jKFRsFbTb$bEE*r+hxbTk`+?hiYp|=vDx4rMct=z#KTY_<#W)%<5gjmgC zB>()6b0EDJ3npiAvpRtEN=}MsGdNA=^CDv`td2)ECr<)>mLS!ve_!Zx_&IT#(n^;g z$ABL)K3q`Z>CJt|n27AOR^1N8k$lfcUuXc1Lu2x8{dEH>tn045{RF1r?aAe9cD#?JFTo{l;+5*}76R@95i$(r*xx{7>|P zO1Akcu)HDE8FOB%hZ3+c7j&E$;G2xEHq*oS+FHTi22KdqYXq!EL$~ag@>E&z0>-x1 zBEH8u+l!Ou%QO%>yS{QbzMt6%VLDzv0jl7A@0mk5V>cAtxq?)XH&#}ryV0S2Rb%hQ zJt4{iN8`r^rMru*`i+b;mVWzV#;RG#au%jnf~YAVZ7HhJzZT;Lz%EN9kH$g5jJ z;@RfXm@r-V2G2lF;uHTg(nfTyhEj#9zSJHSBPe;8J#s6ancdSV3E2};;|P^EDvg6` z7p*GKs+@8C*z+{8*Wp@NhwPVatack6Z{xX9Kcf>rFfb8_a6`8Pk>puL@uR z7x0UEBpgxr_+z={8LOvYd9I|mwMxE(EKls=Qmx0aEgzP~?g=N4piU2cpczpzfh%gr z*+1wt3YCI9sdEI~*17DU(0keB>0x3Spx#Dfd=z6aQGG_wCMQ4c7iD7AXrMc0g7g8s z?yMUTrUq*OR19LCkNIIXa@7S@$Z}N^-68keA@cSBP!bvtoMW{4A3Q0r*5RSE8R@*D zX@RwFYDI(dcAH-U;3vAH?*n^K`0U_Y+8Kw*DW$#{2npq?30sH1)tkJD8hN-LQW%rlk36q4d{Qp6qM{j{$RIhznxo zCQs|x2w$WfYt?KZEJzzwNOG_sy)K+Ap;8a#zbDM!E2LlZgc&QYhzL|Hz=f5=^Q&J$ zLt1^=F(kvZZxU9UwLaN|DU7-ZbLWdlp>y#oi*XPG%O6wlkFXqHCTTeV$31l6|AQsU zEv0{sWH)EyS~!HY>P4p3BJp@)Xvr}DUz%usy&w^xmL(?0h}Uor@smgWm-%7#v%v|j zu9fUzt-I8aKIg>%14)s?Tm1^Ka4wwDTBUP{(QYF2f&ZqN0DO=2R}0tCg7Dhv5%Q55ZkF7HS^KaTl=_ zXA`Wn0N~c2vy5`p%TAb~0oe>l&|{KC-j07B(yhimIjwuv(|Lhi$4&z~go@-BM4KD( z`aKR-X?rt*AfEpcur2WCgwxD`R$&?}nK3umn_v#G4Vs}1*xn&;I!*Yx!!*zXK%Ah^ z?{SHPJ@U~h*=vvJwue7!haUBl8cqSeGThdJ(lp0iD{wkp82Tl>fM1G7#heZP0T4H5 z?=zH1cwVk3z)`r;LyANGx2O@|qfti2?gzIFB=pz6w^x0$C1dxC1PW66>)+P%y}l?_ zgp@}1!$(7Y2vU%@GiE2eTLpy2Xvv!&2Tvx5POMFD9pZn{OgckLEZx?@{_%Z&5AkDt zeh>D?^!Yu+-(Wg4(F#>w^dE=dvOF2_ zg3|s(6=tP5p|!LDJ<{`~yK0i>rMu4Iz$|cf4df0)O4J|_hDUOCCoS`={GnZvjcJ-m zRp|b6@0FNDQ|Y7KBj{P)q1xQ zG~g;oG6ut%SZ%u(z`Q0_35@#on1zF3(m@Wy>HoF-3Yry zev}dc6#d-*G!KI=jnHk`57xrGQom(%H=N4oZs|L^1Gv(W=$I=(El|_qhx_UK-|F3!ay}qzT|sSs(?QeF zY~)npEz?_2O4ti}`@08kiR)jGh&*YvepidCka*A0Z6q z9VfomU^{sjk9qyDm3f87 zc={1@swXstb92mHEr7>rR}0og??pTsAH1916Me_!x{ZVbRz~cU>AO3_?70Kp8|39P z!r|v2adtZuii)hMIb-x*94|}h_w`x4;H&(FP%Gd@e~nE*Zd>xa1C!$fwoc3r z-J{Q#6p!H=A5=%(7ua$4`+_1_85T%4)6(d!3U(Ktr?`pXAkpF~=SjSb#+Qf{VmV%bI}c$;aGa4qG}%?^Dm?v6#49i$vbcH{{zpI48e9f6&I z7j-Bd7!QgE4urLT(VP}tl^YpyYuq*Iv1ntvxq_3NXRs~{d&Ug|dz{yDdaZh^ey6u9LKt3dy-XbA4qhnUt_CGFT((6qVpUoHX{87=7udrZyCkJt`Pq!D(cg{b|0V7$m zWdMYrKl-^K5LXdm+%ulNupfSr&o538e9^D@vN3J*orbYs{HJaQ6aS)q&KC!=H_cee za2X73h{FuiL%`v@d`W%rq+WZbMMI;0JbP*XMD~>TSebZs83{F~sl!}7xmA{+aU$c; zm8P%P_|CC8JGD5y%bK75Fl+^+`rfDF^M>A%2<__LrE$$i&ayJ+F#wbx`4QS9pYU$b zA|o|H{w@h|q|P_r^ou~Q|1a|-xy>N|IwOUfar3*>zr4@y{_)6bR{9T2ie&Mn=7Lt` z$JtbB-al>d@2kbW;_-Uq6TX{zE059Z2}f}l`dDZ?WRDIa>*r7CPrdfu_1YW6U)cx^75<-9IH-?wdPkv{v2~ibSOC+req$MvKT&lG z=NY9v^MA*y{JIjpw55O1-_A0~m|2wHcbwV4wDfL}t@$wDICovax3vL6rgswz++OOR z$E)5G4EsY0V+y8R=6^_;p8gB+h)IcMjD1V`82c7r?2F7QYwmB?&MI%J;ul180VI5U z&TRf7yQHr{MSckAx)AxW9pV^jqUE2oGCvmB(#vctRr1>+EgPwU<_{T2G~hnk#Lg{%vuiIZYud}d z<%>LM19_8khV(ce^YF!@7I%)PohYQRI2?0AfpwQ#<0c2%u_HC1l7^~yExbfA+i9h( zjHB4m*?~hUSe))*CDEH8_a3;5wNu;Y|5X!yvT1{sQw{W8!Z2_E^ z%u-SH4yZJ`3dMzMco@Op=<(1Ka*gH#OwNoc?vPJ97;XPx+mh* z&nGYA-;yK;D_nR?%|pW05)PxvoJMsbS9Ntk0BO{C2H1i$E~4HU9B!q%ynzzdy=eS< z;6l6oQ$G|?*H;K6g^J#vOLIbP1GR)Z29Bnt?I6)z$T`nxux&@$Zv4J@FmLsy+!(*S z!DB_=&V|)3$GXw0?Y}8WpGM@vtP}2nXwQI@0t?Kd;%V1G6`|BPMO=xolJwp?Apu9ng;Q2 zxwSHokI$rp?%$ow?3Cl{u|*eSsl@)r9p_QQ-mnSD{HzOC%uCc)cT#5@-n;%tsniH;>1(A`=$|4=ETQ%NpVZe~nL z##Gx}(R3ERVAX;fskg0_A_#Wmkd;1%heqe!#=JARS>8?K;MX$?l@X zwKB>I1$q|06Q(S*iQ>m8eV}mjVQoje857jS+e%m&tx>KS62B2b8c;G*Wgc37)B0qN znyXATww~$%H}?Hkh}&v(W``S{$rb+7V5avjnjG%)$%|6vuGgw~x(4(+HQ9`ly&HA-nDtX+^wk=<=wz&?FW;?nDS| zG%$yn?h~8}JGSm2-3cdZB!@&^!(FV_<5)2~8=Co(lLOr4H63^N>>n<>4(nRWab{q^ zyU*CXZ<0pvGY4k1Dq{=K`N>PtHlQfajP4om^;PsA&?y|u67F@?qMmB0-YKp05{FSm84W}|T*z=B zE2HyfE@f@PnG1xs)vsB|1%6Qy1}_=LSf@F46|#@dSyOjPav*mg0UlGQ&YbU|x5*RY zZX?_K+j#c8Wo7=CuhzQQDVerp!y_7zmww%J%srv12=huf6}B@69GMnQb0aH!00MAn zkn|Cx>U|Z1kuz@K$bQ&b`5=v1nP2lSel<0A?UHbF9dQz-QHUoRCgsq#YnLKO|CXoJ zDdY;AURhr=qtaUaL%kTvi;GUFuetaXYh^1h0{PL^4SK0B`)%e84J@I7Gxa0zki>MR z#uL0TS)`l|*y-)af#!dwo+kZ7CG9uAIDc(w3qMY&nQ=$=YdX| zhthT0&fvInDe}Y@)Y@lA=soyrMExO^-ew}j5!gV(g&}YCN4Z6;D@%UCc84H+;PCr| zx9>C#hSv!5N26QG*m-M z{Hs(nkbA6k3oD~Fiz=Is3+^N&Tt~CE(mEHI^*Rc-$Hv;Lm@LcW9Ai7&HBbf+8l9_( z%-wqi?ub$^if#lYf^LE<%>(^<0VRBiCbGXw6R54#Q`JvvSpVj_URlErzf+Qivz2yN zs;*x{m%Z{i2C46i@1+>OY|;#V`+(Z z{j1Q1r@%If;u@7b;%lNS?Hd^=4X}{-$2dML%>-9)(LfC%5cF4w0?q|z&iwftSz!Dl z_!$&=yP!m-+2nH%oTI7SKR)%XYrb_|^S99|CNYz2t7%VdlA;-{jfAJA%F{08a)Q2Zm=C5kw~ zM`usRPc^@ph8`MEN<6*2#)I_Q84$qaiO}@%K#ZEZNK9(aK+|7-q1-H&6FpRwuGpv5op zqKtKoOfI`m2(6n->o)f2gMydJW0-?$y1m@sVWc^%Gj4NP6L%$^3pi8n;N8B~wAxEv zfwO&(b8%tjqD5)UwCdpMyhV8;RGsPjNGkJs*W~+lTvRtIsvet?05fgWXi(>bg zKn5!JjL-PtKWT0eO_D)B@VVbjOsP`xqkoIdf(?j>n568<8*KL?*8ZjB)d}}o)v@(z zP&cq6%F8p70ifXC=PhOjNb*Kux9xR_iJY$9#nYbz{TG|+$i1T!g-6*brfh1xlE>%N zOTFeFyu#ZxpGq@!neVY93iyS`^~C^ae-1AbEQbWok;H|9(B}n|Tv!(5pSNr6aPsWj z4P6tFPPv(AV+v0WM05%n@b}K&{mJzZ`|ee6Eo-;F+-xT#4kJ3h_(8BCPBHSc#28b@ zg(K(~!2d``Tj&Yl=5o*mVCU$+!T-r&j7t5I)1%h9!*=L-J94n;%3wXBEr(IXpoK2t zDQsna8a!bZ_@zdXJ@&6d4Otribz3iYN$>Z6KGd6jxcAABf=I9>9@=iLdt@QMqHX&I z;B3EWkP&Z9Tt_t1o&141OMX)wCBMkO#oVW!J$72q!EcVDgSa|~tAoP$O=8XGnPFHP z5ZOWbGyD9W_KDwc%Rb+upZGne_iyP}pAW9I`oLUi6{Hfj-PLz8|AhP7`veB}PW>`; zT6{eo+GnlYr8gya-lad;I{e}P9^?+JCpJKrVh8Y#rw@0h=5zGLrS!~G4#UiF)7Irn zD-C>=9Lo8SBZ44n0*~FkgX}vu$c~^%|X>eiO)nX%T`oZDAt2#*E%wftzlNnPK*?dNXF5_a-s$ zp#5k7|C#cS-UrCtqr!zcm_`C<`Oh&U{PD@NmJ1*jtxsg#fP$pg2yi#O6V$L5Kt&hI zBX$njyFfLkoQbzS8$^9S|X=$r%o*mnA3E7l$aCK8}n#TT>+lSrM$(zZ{k&|iL+=`Z@Ga^6*&=k`f8 z`fIJKCFvToHB+GXIY=UjlB*Yxm=8i!&)Euv0vb(HjdP5f8z=E(dQg5WE%yme*lK?r zNH^$FuuqNIb6)n!FM&sw7V{jBylkb9RQYVbOP(;o#e~6T7yj>=y@ZR`hj)<^3Yurk z|M`>CKmGudZRSHcPN{@uW-5_raHD&8~ zisIQkgt$*DeK^d@I{ywLAN&`=B~wRU1y$5>He{oRQJfW9t52XBMhP)ZlyuITn5D>?^x*xz&;V`z`$xVFaSLRN8@Lj$Pr$`irH!m z+|SM^=B<_9kJSWtZh!pjoTWWGZpa`O#4Y!WksZZSg@stYjerEJ&zG(XCF3J#q71mgaSH`T_Hrkb>!uyQal8^ z*T9`*b?ivJC3vhlRnu5Ev*^KpKK}UQ_$Xzb#OG1-%5b${Lnw8ezX{ST`b#zAAD8(X zFPIAcaU(q^Q+W$>jydg+#>U7;)~d1KHNI>Elrrih+Oo4hHAS3_nWy5}$ssi0BPoKs zmTymXd(&QGWLK^|rw!s~nwzY}%Lcsw;j!KHrqrzP0wNIDa>GXQR!3|ui0Zpie z72&vNt#0GRY5X9@{xlA`8<`}JqcGSkVJ6nPt#WK6d0et`l(V%nS$P^*5ZeBu1Bb1@ zfMILopL=^ev?c#-GYad4A-ZSeqfJ%vZ_2AL5oB89sYa__!4LrkmOZo)=j;oV$_;eh zh&C+petu3GH+RpyN}NU9nz&a}NKatSWALyxQ&<({SNg+&*6JdL3wD2P2pBzY=vtg9 zyLZxD=7yj2j*|)J;tIa2g z(-8>sLs0iJ9go>&R)(I<7$|Cnjq@Q>_kKhz1MqqVXfu7pZ~34r_luSZcHDs|o1bi9 z23Jszq->gNWA>6``R4{ubL2Lw5wL;ka@sNdkKXUE;9$_ zPI3;)-y^;dcbAoUlSxQLue@v3I|Fidf`1+SJcnaf&<@}MylEza1+w zsA30R^wwWCm>Gn&_-9a;{Tp-78`863oi=P8{feBe2j1AQyEt2Vb7VvEOSlwNWG@ib z$DCP+-=nuKp2AROLJJ6DhAnY8^xwo0PxK-C?S3!_%r%LvJCl^bd62}{yFk%&tr;G0t$_(88t1SKn#5hqQKHs z(@Ro|L_nki>0M1VuutVG^{p{6sDW2XupeUSN#PI}Y3P~a=7H()atG}I6LQlAxH*$w zNglp2!Iv40CAbL~e}t2(fic;;z!5pqpBFZlj0SLm?&K*-n;|rY$oM~`xp)EW>V`## zJ)#FcPX98OEx>seOd`&Pd?=KcFV_;=`D0}ZrA(;dC8(qUR5YJbxWRcs5I$_cfWzNw zN+{{YIl<#cq4fo6nPo#!ePn<0voeG%vE86OnRwPv!vBeS4?<+ebb{&SBFDq{QsfT? zjd*jK-XzVN=a{tMxB51ARUcH5*c3tw0NH;)Xu(~{VD+v7ZnUnzDw>V;Gk{bnK@+*M z%KJUet%7Ll>9lENBmYD8AA!l_JB0s^vRW(Y)<1;5K&Vn>=p?b+3oew1=+32JEdHrSCBn@uYC0K;@gm4N__MGt`?wtbCGuf z5r~ew>mc_mM8^-1WAGAyE7dTlT)9`Jn)gOig#BOce}OOF`e#`R5j98|wA+6}z*e)O zmap$cjB4|%cxQA(h=Shd-=Tn^vQIN-5tuw}>4i)lpZawAJS~|{f5)(K{f<&EP(Aqo9g6>i-JA-#R(B|n=zBdvC zZ#QFTbVkZ*vBWE-d)X}5Fi1JtU@RNPjhGV)_Y6tOqaZS;il#_J9<<_Zd0JvT6}jSi z2$k#Eb=r@)MyLj@>Zut}IdM4eyVQiv6{waOGgK=b4Tt=FEH6~VuMrwKulO4b=-|(` zGr5Ypi~JEHYb`f~uy3rUyH8RzHjY0FTQNY)Y%oCl_s3{+vJ)O1S=bxp-oRr8#7~}U z-v60_Ujs&3pgrB6mQP0y!MP&2_kc-@Gp^RI=!j5@*HA>-9^b^ zjggm|_a~ee7*%i1;@=JJ<8>pq2lSFe{r}~4%-Iun&zYJ{{;9}N<8xqx&<(RH|r=sQVWYpPH1#K!XB5p7pN@)1J~codBJ<`r-!;beq|Kuw<9M7r%M0p zjJV#q*Z1${omZ@#fPi%rH6yC|6V?1FHBq6TLUvYYLhjDS*Svht?K;j5a+z?kbg8f zN5!4%%kaSXD9qrm?tlSvBH8nSUKimAikG8+I^z=3NH;I67M*c`2Iu7{)q03tRx@qj_`GJE0vQ+w@& zkG1f95BR%(!iwRhCW6a3dq~cW>0hiSN}0at2Jk08G&p&@wMzN9(ua<~{*&2gCh@o# zWrH~rZnn}_@iR_-^o~38<2%Ioo}`ww>Z|;F)1iu!c+SkF+)amuo9B@b(Db1StJP!T zz%LxYZ>2I<&y5@rT@9JXT#m8ciB{NW8^wOdpTiO^aXT>rr+erASTuL+hVFHRpiiVG~%4)JsSwmoE)Yxjp{ zxdxq5SgtDXyt1zDg4=ywrxN+GpAfSDFSJ zkYEUHW7*%+Z?-so21C)z-JwR^87KzRQoJRcgLd|=ojiHZz8Y}Xd#I48eee$6S?N3V zqvSyqjkPGTo}@CZW23VytijDOgKOdY|Ihf23&saxf=?(L7#w;E2A9&{(lqI(kS9s@F44`nyGm1sCPlqd%y^BTiIw?}IDPGmX%_B>8u1J} zM)V)~VfYmcmn;h`X8mhzLjjfrRGv|G?x`=|h98R{0+m@NojRNF$D)$m+6G z(jr;urP^HW3YUfl>K{P)?|`IuejUB^;A8sG@m6LKmD7jH33Kh;_UlSDlVdIq@xg2z zbNb9}ot?xN!L)}uC34Z+&B@hT*`+y1!L*MDU7+C~=+j>u-oxmMpddaz7D1!E_oJ&u z6K0PhWy$GlpB?hOD`ENm8Uu|MO$fb?*_oIuVfJ!nFxp_{^b3G_i7DH&bC2mYo4pK) zom;A%yK<67oFkIodK0KKn?z{8wUSGHgQ--ixU(qikLDq7pUTk@!;1X7=uDaof4Qi~ zx^EUmt#$vjL(e*4Yvm$kbXo)blnET;aD?_25u~zn8_C0TyW&dHXF+HGHxiO`$ zrG5VvGqsGsfQNEG-k+hAe>v5_;L;ohuRMoU%NO_o1@fCT=4|v&HY=*K!6Z|vix<6k z#nrvaicq0f^Jnrs5&5^3K1#@iPOjr<@t+?3*#nG*G!UshBRv3-VzR<*hT;#StKhlY zzoJ(+6}`Jbbw^MBUgnk`a#5e}8x4b2AUEw zy;m^!A~tyqVUlj-rZ+)T0-Z})n?n8{?3~Z$?3^|R^}cdL&6u|I;WFD9Qi(zau-$Yx z;BHTf0+n2cI-hK~*DcY88%6+;oa5e-i^6q8Lopd=10!oi(RB&>J(Jt3-syVaky%e3 zx&C@uJFttNBe(DHLfo#~wPAOEF8>+19lrsn7nugeZdVr6;SIIta9_*Eln?Y9wMSZ+ zef(;47vmYxnZo6;-{tEJr`h=*!)fmLLV?qidv6Yu@*hw3KFa?mejrvODPKVc6Bl^i%>Km~5~Yg2#ZLuI-voIEz&b!4(^f@GW2Z9Vfv z-+`D*E?T;7FB0k00GiS{Iz+&L|J`2mG2TSrb`{zX4q%naD;W0XgV#zWh%?`#CS7)+ zeM6akz-NE0V7E3untqHXHQKFNAdFKV#Q`wKeV+AYjR1{*IZD3j2E;B%G&>wHaq#?N)dv&&+hMLH~juxvm0(cvDa>R zuK#Bp8Qazx!E28QNa+BzaqOQyFqI<=c>ell2YRo3|1;tnO-5#848G|dBL}%xFYI;h z2oiE@o8gbk>8`>KjKz-#I}+}a3h#M1E3?+eYOZlZGDiiG7YG(z%ek=fT69_$RsdgV zyM$FLT%#`wZAZ@doV|F%UX-^vt5+dS+gpuJm**3H#KkwxCUE6i+@#14c|n>~s=6g? znD$aBb`CmhlHZA{R(r>l1lGCWj)PvOhEAOtZrZF__Oi}V?>>>U*!_l{z3yxc$eFVh zY8JEpvcr%wwjbndG~{eg^7vS7BgxY`rp0P6ElN&lbiXP0uGG6M+mHWhmhHs-2J$bR zP*}Dq@1%a8AubPMN&E&dA*c6kC{1^LIhQAZ8~QR&0WI9|(K4Hdv9j_QNsD`FIojFt zfPxN3)r6t8mu_HYD7{ldlo0SDYS`Jj(PQ>dXPUmKa#j98hYYh0Q3~NjfSHEv-H3({ zet_C7rgMoRYu<)fS*wrYU)>p)X)zBtgzF4%)z?dF%40BolfdID+}^aWaJhtH?ZUzh zVZcSLt2fD7h`i-}gc{3im`ANll&y?!4CesGP2&sGUA0!GSe>uZ{eS7MIYjxGpNcPp ztm%CB4PF@HW@Ron1N*Agx|q_j+(~Lh7DhnlW30@%ro!1IFQliqyIx;l21~s4&{*54EBF6x zhET8alevAzl%Hv}KEZ44c-l@1`3`uOykY>{dN*Hu^1SuH%dBFh{}a=a4ocO`Kg%!1 zmJ~zdw(TR6R*o$sO|d8#Xwb8+8pa#Vvz6I=?88=47x;C#c7yU@12PjPrVvO0a!>O| z1mE+W9k0%g&UH4xeABFZ`fINn%`A)j4l@TBQV&$_eAYmv%zv`?{1V~~fC4B0jHGum z%12;VZH{RL{${qs+ccc+I@fCb9t|ir!xC0>rJfmHxMgnjVLxe_j%phvv-Zd7gU4E{ z=kl&F?M+1$RBAMp%mPddx7471s5Ngul9sEh4TPuhd*w?mQBxj&I_*`fdBMNyi- z!_3dMj!I(mEAvocWfZcK{xE8_{)PwL3xcj1W!m&`_jL9Xt)e-t@G+R=*R?lX);^;d z1V|S45u2rdFzcb3C~19kqIr3XSyvVH+Od9I1J6!4kFbjMf5p7-{gvaJTUVv+(fT?c zX=xa$c{G=~DU#aU5KbJ;o<}ZBe$JOmFQ5ib^@$*DnbGAUM!nQKCT%hN`d22SgZ6I? zpS**C84wmFG6-0f7;|6)>ABXoQJ^JW9dcqrIj-NquT~b73ktrcXDf4#G|SluKk8u6 z+cfBpR>KWsqS$d|<%Ncs+4GV-$riRBkU%J`%<&okeO3Fn0T6TQRZftA_kHf81Hmf$ zA7Oy7)f+bC>n4e@zyblzGZ9t2{bZ)?F@Hz zJ)(efh%g}TK6s>sX>h54K`Z?J*1D6YAt4{tURMtS;HJVm15fXb7a5?aTv}ChD?;58 zuGC(*Xfu+dm%`NG1edwf@VZ>}YO0&sJ^F(nzRFx5A=gfB2h5#%;9n>R6F{ZHn+>7Y zp+zL#rMJ$8a$+IY@`Tmu4*n$EWdxO6g)h%bsiQisF>=F+hV@*@usiFjL!3w4YmoN$ zB>zp0&2o8WzMQDNrXt17ZBS#xITGn@PHmOEwzWv!nyH6`tBhbC^0N`htE6cvHlQi& zU(O{py(Eu>`*#s?;u{#xvI-7DCI%+?!lxN^0LOUtvKmzG(>jg`eq)%!XVul_|SB$^UBe?sF7zBhpHR%gf&2G&5NqGZHG?%Kr*81q8{%1*&|=x%c3o4AC-CaFjDqTvp~X`nTO%4em>ZI)(`bq#sd{ z@c9D1fmzD+z}PPExZNg-dpx_MqX^RCO^%s4cKqc3B8I3(EAihA$T60 za4y(yr~Pu<`L=L1^=F)Jtkz#@itbp3e8e|)==2pNC+V4wcShF%SnK#oxEIVP;dBw| z$msJ^h-Z`Mdd~9 zXklv$ph6Rj{D7zoJ#1K*a7!zL;H~sDpyTN`KW82kFLE^lS}9?&R{AQZvctwIKTGb(UU6zK)^dnD}Cu|*K+?A4L|b$_#H&` zdEfa({&eQluYcvB|Y&Dfon4v0!S?7 z5|+PuKZTSGJ97~v5Tv#;N-AW#3&cFF%nAk~dLK(aRM|z*;zmsK9uJK;#O&lR@vs!( zsIOuD3^71W?B$i)+Qw%Q*E#&M-Tw`U1;@j$^P70BL57dWsRZ|0Qr#V+El=>gDQI|3 zNB_0ri$qNvdPAvD22g75sgCyI|k?Ql5tcS!Qw=YF5K`oG%r>JgWBgQ z&qOdNnz=RT;CjKl=k8h%9k z50SBIeSfuo67A-3}&W zJlIG9CK>yRCn+ev1QPf^IvxS9;;wNVin5dMqfx#m$#tVE2)|^4dmOS(EDS4hiVfi^ z@ID%L2-P&D&2j`1y17||b5o!7fIu5*(PYOqJirG}<1A9JK4B|!0xt}N(O!{&flN?Z zkA!>Y9sFT@1UtN9q?z&n?!dXsJ8Rzo{7zP&a_dIkh2z-iL)WJeZ7*TzT{AsRWHzSJ z3U3gF^DpK9_Tkm&OmU~~O_l<5Pf%$Ky zjO!hp-M5yPDp%wEf^udmc6*E7>c5WRIXa4;D_Gf`Ji=RQnhQK)&>J$jJ*n4&dIikj zwDPvuy~~%VQa`UjmE83KuIk0u;Kl9q5tJAaytuRQ;%M_?`GVkcDZjA2f5c~~TRp_7wA}nL{oPLPb8YUfv5jRqA5-aN;EaOkZ3AcVMh#JM8IiS7;`g~ zW)_gaTj>jDoVfGl7zuCKNRkI@SyfT0f%6JviH6?xo+F8JYn!n}Cy$53SN<+sWNvway1)M$>y{1Hx^0~e z6t!o z#Z3Ez#oV|xtesDXwmZe(qpf&q;-lQ@$k1J=Ks9u?$zUUtkDQ}UxPz-qTD8-bf8O~p zf39$;0|6$jlA@=bZ&#(T)q)i!jP5n>r{q;+SXSmS>Ol{sH;D3xFz_1?2!}C}1cE~3 zqVDP#AbpzjjAZ7-K5JO`JGw8&U`9a8)s4w^gStj?^!5b%~8(!g;2_6GFmdY z{c-Lnafn#QK%U-I#%9eh1o6Ww2_#Uy$>|bh7;P0q2HJ`}M^csyz*S}|1?82;c%h1w zn^D?N@4^OH)~z(s!_mRqNNz6HnB4$d?)V<0W%+YRj~_{Te7ye@e1{Kt{PiYp$n7hr{S`U}vYj?nmg+E+xxgF?({};ec9ZQK9EN`7c#8i9 zs$p+{e*oIm!iV1Sm|?S!RkzfTRns*JZ!F4I8x8_xX=1T1Gj!ac(%qZX(M zEWy=yLug-AsGKt2GQw~NnjYwAEd6oFTtUeFGNdcr4H6=h2la(n+)Q;sRD4|$1M37O z@4oe};7FRBqSw_nDLu=Z&auf{Qemz7JC(rOMyDAkg~`Oc2E!ytKck_watsB}Q$`yQ zAW%p7sMf-G4FO>cUav8<-l*kFuaIf&N7TwGREI#v%CxL7e3QPdiZf+$FmD+o=X@*y z=CQB;%HK=_|HXfWNmLMKpzdl({j};Dp8PZTXMF|LyldfjFn1V97e85{gk#nU+6I-J zzm`zhwdTB){+KIzOk1B*3xDLR-kb3V&y*&PF`_JGuUe~>NGMKXEE@wSiCK>4r++*Z zO&h*4cLe;~bKg49Cw~g^UM`2qP4CqFf26$&d{oud|DBKk1EMEY(Rgd4#TrDPLR)3Is5F(+H0@9*4k^Yy*8)~qna71<03;B82ZU_ z7EolYISRv>p=w>_VWQqNCe61bXC%{fN#xlg%9!JNca6Ejl!9QDtz9pyBgNMBPvsRH z(Yg$~`J2X6^99y`elt9bUnEvkwZUdL%!_ZsqIbhFl4E9YP)HQCAVGBfX$_tJ(3MkA z(>f>g`p4U4Z1!1IjLvr*=WCN57qWH$u1~c#;)_1im9!qX^y=f>_^YS z;*MdK_Uk{OfG?6SE?j#|FyLhOK@*cb$XVrx>}E z^eVv6IB6^n_L`3qc-G?;4V5P6m1~$H_6rnhTU^P`KL^bqjZyk1p@ZpDf&Gsu8PHfF!24k3WN(e=V8+L@NZNcWNL~ z4GmsB!_|>GR(&x>h&MF=hU&c<@$ZMIk&04+E0`^ufPECDt^O@*&4@j25|a5bVU!^= zs)TUZ>Nhi_8o!^5N3g+=pbjBW{lx~R`;?94n@i1awGf*`%u#0Kp;$oNpKoSW`W)0l z{_6Zeq!wNAUSp}l!l!a`0Ho$= zM)}7YfHd%yCpwZXH)*ghYkK~KXR6g zL+^vGB`&IUTVGTDpKk3(Y=6h*ohf6Gj&8i|WQ^r0*P(!s_&>kApD5W>^vFq1l2X;EA@N)8aeNBU7M5JNd{HK2@%DxtWFj#*x z&1-_=tzxbdHsMNWOk*>u{4d=YYX5S4gfU}Lg1vsjyr5V0=u-GBg;a-yM1}^lvodjd zRqNZV1VLACYN%WLv7!!50f|P;ar+NQhx*x4t;i1x&IpkOwi$r<_+YhWtQxzDu0_Pp zngTaGT1()UR9PO)1TZQ>VtVO^tHmFO(3;KoCkhQmKtN2tM4@R&{1Ivu-Q8he2I|_4 znkMb)K>oflEBH+orn1Gc?@%hrzU$;3lPKZFKTdJfk){Z>95buE+mvxKt4Y(3s>EAy(Rw1o|#*y zt#_N59^(PqSv^FxwP(l3y_i5f{`|?1p}Hcum67j6Vdy{d#!K&ih>}4|Cww$4x>KUk zzvi{={csf(2wp&oMfD`K-yiVK;Au#T^I^NoQzK1kZaNJnp@s~HEeVuA_%G-Hni0~BC#jBmYYex) zng1aFq46f&yjISooj&gI>&JGwx_0g+GcfGa690(!r022|SCii|F22B>*p?>qyhY)_ z4t1=w}%8$ z`3LrY8YW)BM9GqdWfAD#ZGD&7eb5p!yMOSQnce5UH)wYM=;iH$q6kIIB{vi1G6!WI zW-zJ?UEzn~_Xr&`4OlrWS9e7T{(0ZlrmJWo96$A4*@EGSCUYq}y5PSm*|Lg$Tc+Aj zx+5yaVV9^TQ*CfJk_Y}dY!Lrk+#zX{=NvfU9<9Ami<|NO@l+{M!K6}sf-<<3yaOY4 zx543rSBv`)m%oMtdN&pBrw}8w!hh=p?Oa&&4cbo$&eb9Af6?kozf-Fb9JCAo!4XDa zT2{Djqd}J-e08OnG_Wb@5V(gAQKgXI3bJU3+xczE|Bo=(lyAlFzOjO@;=YM|>wod8r_%F^InIEunGVwg3JxmS5^VacOeT9D=ME;C5thH6pD z^LTz~CsXLcRXdS}!&=iTdiyf~7#oat-fF-(^GUtmdzd~OW|14Y}9Z)j|$ zK7+3i>^VUbA2gCm&|s_}gHFJKgXKK>fBLA6qHdN^25DB zuCWV^Yiw#BlQF;8OvZ1oHw^%JRH?RI9rcOp_7|Ja9JOA_ z>wVHPkv{MHcZF)oFd)~2#nz31L?i*OHd3=BQcIY94Dq4281e=GgnNQNrhiu~GwHR|sIe>K(E?urFBu}G*14k3${ zQL$hZgB~F#IFhsfs(gH+&|1kI513GJ`DfAUf9@VNqE0niYglkK!9$AsEOQBbZpE5a z?NRGbTV!|_araH7MBdOcbFq2B+`?%+EJH-hM8CoI(@~R}lJJ_FdpHRp7ee`EO4%oj zCqfm!Ocy_@XXKYTgP@sP@yi_hByK>dp-p)3{kbWR)uglMDc3Ur`+v`ng&OZi5{C|Dw?%zijK1HxE(V0e}9bZGF16%E_L?o3msUMcVqVHYxWh z1^cA4REJvH`ed)5Z<9|ssU*cc_d{=;ep1O*N452}+VobXAJEn}-@dNq)ye&xmne>G zTVD%rPWE!uyY!c|l<6DcWZzZd62()<^zBQv7rNB*q_afF^)h|93l6=OhEfk?`dps- zBui#zsw&{gTZ)-;|$ilYVG$E4zj*Z-P)3hSoPK zXF>e9FnS3ul-^2Ht}~7BzQuUsZGGRiVAM}h{tLtWyeL2T-79~lkB~+~Uo@4ECv&E6 zIPbHks&JKgAClU~IHP2N$iV#Tx|2$9J}AB)0*(j2zr5G?u~a_zdjepJ@0q@RXz!O~ zX}#0-cY%ffV}_}9$;V_&hwc6p^mEDJ&^%v?<#~T#kM_LNuw<~heuA4|D&5W<630Ez(U%E z(=!cLo$e4Wq~iZXsP~p@2E+X9p<#2l7PsQg_hRzFIGd<~Ze|y|MvKWc|3sc+YbehJ zl{_B1s;m_vp%P?J@c>`zcX0z4KRCWHS%yY0cxZYRbtKa97?nf{A_?NA*_=dW2b;a~&kMT3NZ^*Cx>oF8e zdwT_Aic8>iseNQnj^bR~4IB(>Rro|LmjTOTU#)P>C~o|T!;D$#=62A;+6w-lTNZQG zSE0Hb?$_VD8}$$EGs@SjeBQjOL3uM>$N7ha`H(TDK1R{DHUph`tAE{7+Us=8DIkLF z70xQNhfC5YRT2Fkv~>+JcJLzIbDSG&%vu6A#PZp7&K)jxBrvnc4wxHd zKG<$xR{v}_V*Yi%->Vy^|Eq2s;-3}fs|>zIr33TDj6m>nID_4v+8h7Zsk*jnW6SwX zjSRhA4c&#nPE{SU3|c$I*n3nZG##pI|a)o>i-EpzAR?Y z70kMOx1k?A>x8ebEmg4m30|2&TP(7EB@~15!vxx(w@q!v!7D z8P20gYghIbx06N)@YEGaZ<&4GlsYY0_@17ZOJN~mq8m%pCQy4ewpIpRq!;D6TkFOm zKUA@TR!m3hn>GDC z8>~lcY~L$&cjomWpH2NF^Llxdswz`V@~JadR<*jWw^+*!U|O`lTe`$NZ!k%umIQCC z?_=@4k*=|!=2r4s0oXheCXov&4JLvUK@)IIpPA_n8=5*Zd=G&vzQ3P&y#hdr?>A&# zPn&n(xj4U}Zsfv?Gu^xMyE5B`jM&^h_2Ngldd)3yZtjCroz;s)kL^qJx63@2m=L6f z-&bcAxFb`;ET@JyGq2WEzHK|yVf#n(V{iWNu0ax&#FX`m(^}lMSV8Su?dIstkELcL#r1#3$Kr(+6;VW z&XM71SnrgoSnCm1D{lR}nVRtPnB7N%gD_W|)#ni2ec38%;>yOV)X?5xrLDu^7u)Jm zobb4W%6|KSpeamF|792qZ7S^UgcGlcS^F)Qc+K$FY=CFyU)B{EVOTY8AyPw;WAPyU zBjnIUePj>+RcPiSgimn;nUJ(HY~l%(xt1XqCt*xlQ9R)-I7~R*d+VNlA#P>>=)IT3 z5E;8sw_SLM|DN2e#H163J*KTFwLW^4UVRdz=A`e^>9i58?{Za+>HX-L^U#gttkB5-Q%SjvM@wnI8yM|qwh1FVMe_xdg1ce^I*JRIh zaS?Rw4P-|Y7OywMwsMj<@ers2_0^RXlwU~KOE%LV2v@hXVU=NMUIZr^C zCA~H3OA{`TWpitqYPZk(mgXbpmGW=P-r078s=!C=U}tHQhJocF8lCz_)gI za_nj;I(@#ID%}lnGo(&-Vbr3tdPHw0IQ}n_z$%z-)MQ>S<1~nORTX<;+j}8^D)>=) zC+3--2{Nu!Wk1Ae+$K?$Rh0gWKg6Kc?d&e+M#gfM%vmzZHo`#=(D}Z<|MfysW;2OR z1#<*T)0r=c%ws4ub=<+&Ex$;10>Ga?Pua~tsPGHObqa4WHL_W)a-S`8GG&O#)Ow>i z*&FgJJ3eA(^Pv$_XeL2CpwApL?16{6Y^p21|=%4x(yb-0Nx_a&?Sq1(o)SE8(M=WGl3nuX}NkNy=HAMvc zZ`mnKdQ;{gcu~jAwjq>SxDsvUw3wLbeBfjL+0-iB1qU&@{#zYpQIo#kbn&U* zv8WlZMa?4#EovGD@2^Di&|F`GvO#ATNhFpReF$eD1u?Nz#WOb`6OWPLnK4KrUV-j_ zM4U6oS;p{P{NB*d@IgZuazMt2KBV{fgx88G|Dr0~M`6Mkn^^h?BiA;&8AdDnBZNhQ zLjYDZIN5PXTy9(!Q*H8oU<4U!OaQ86QB_BQ-yraeo1r4sH)%2YfDx0ht`aAE56_9( zuC=C-JdW9)C}I1@Fc)A$0>pdE$8fXWS@=Ze6hAsqwoWWfdV7+POAkT#+NWf&IX7&i zI0D7H3P;g1<|N7%!r|vNC(2fvG7`7V&~VczQ$*Wr<#dwbqXd^dp-}IllmYj1wBoG( z{&IfuFJ|7{t_x(WyG~lM7v#SPsz+tEm5+GV$^C*??yr~pYVv;9Zm>g@qo6GOuAOX| zAu;^TJ%O|cq0{AN-sEze?Q*)S^R8`adkal(NLxP|9_`!(8cf%n+*}@4!tvh_W^5B~ z*Amk+CK{lAtynl;GCm| zZZI)_Sa1Ee%2Ee-^({whSSH(1(K&E~ip+Yh@WMrs@ffd>#jhffUuqs93RaZmFVJt& z@RYlRv%B%IchcdelGX)58}Z|QTX5rJkpXP|#$AzEl281gH5FhXk%4qQR5N*U0wCT_h=z-X@H7km{)5OMD3Bk45pkW`m!5zE9-M)PS&iinqg!hOf2JZZ&9fbqw;!^e6o%x*h7s0ia9c+{^*_kS5KyFtv z;jurQbr3h*arr2dg?yV;$~yx^ipfQ=Vmp&il8?c&j_+1ckrpiT67e7qYLGol1ac}n zr&?HJ@2Oayw5`w9S7?s;FV55WY1gL0bh!=!F+o*1ihmt*Dp34=!yn{aF^bJFC+8xL zd+TS#T8{(w2ad72{roRrjJso%ky{6H=xE)|2SU!n>m|3+G+%=6S=%BGVO_O*3O7ruB75o@+5j=%BUoO^PD90M3RJtB~N-BC;(mO}&926{SNqBST zpf$BXiLd=0P{u8)HoV5lHN4=A7#QFTb{KA;?6q*Lg)L&1kcfLMjezDFJAtv*E!AUi z5+tWcuPDM>{ky04$^Mqp{x54tH@M2^EIda7aT#C2X>zea*~PH$2GcnsCCyxtFbSEq z>ovhjxo#Onk?F*gYC-$6eDY)*j#yc*{S}z~)o3t#MO-KPj94+Pm(fB*-N7Z~?yYxA zQ?pEWgtK5c8JH6y!IIQv#cupPp>CwuXRL=m8a810r?lr#IL>ojFG3P9oiTu<;P=wB z3X_i#Tt5?BFVu0sFyBNVIvNU&f+->OG_XB4`6JdC?dGcgHB|E6FDdh&%Dhe)sOLPJ z{-V+^R{AEJKEEBcOoun7(2?GQZ@L-t*HU!V$*z#}mCxX@3 zXeQ3;X_b?PrM{f>W^+{JpW3>2N2YWTBeUl*-+=?yqAN2#du6foc1|t=~pt)pG z6+dptqC*JHuB}_xVQvK(RnE#$uW=8-bOdr*M~0HxAa%)xdDK|gY8ye%k5$%LRwwC| zxxP-dMNM1%EZ*CQ&!w^cCA9rd1v*zJIL(T;b$Ej;CJSVK;o$jycRI^vqK&|dSS9^Y zwVN7RNA@H_!fy8$KFOb-TnqUPHu-uOp~!Beeuj2Lgd?V2**RiL%LvAy0h#u#E${WLbT)! zkd5=Bi4S6`<>OZLI+F8$RTm|SGjHzB^u_9&TQ{^$62istoA`Ez5bsT|Y4p5Mgv<=EhDYSzt9uYo*VVC~PplG(OBvug;4A{2!_r#J+0IC(P5C~Qz>4ZEBs z-@-xkOVln1+SN*?t|q3-68BY#X;&%Gj2brQ5lT_s!XeUq%tREQ)w{k<7kEBwsK{CN zPqH!|SY<~}LN$(&%d`&1aY#qGEJe9o@_}j`m{xY^K~Zf z(HD3KJ|@?o^}7)7WM7bSV$KDy?G@SUyy%w4)FJTY3LOyW>@IUl8*6B#^#v3D8m@cy zPvLxbD=gSIC&G3AZ0ljJ(2t!r*d|idAi2UF z*IbFku#zuQ0O>g45T4eHahky6xpm9Gnzqd>mAL%fR-Lp}$JZe1!~TW!WA~dp9KgAm z70x(^Jv!|~S$hHPbtF{(U@FtSJQkgbC=1nmi-{B;!L5p~Lrx4{os*qI9=Bkkf%G^+ zSN>2#q4K^5gYxi6`5cjiS-isMo^9BR)P6}Y6jT|!CG7jzyvKVtKumw2H8VA>{$i=* zJO2Uv^Ljd1jW63EjQlRf<{%M}% zUL(nN@%e$Owp6N9t&augsxGboaSP{Kd7#slupyCmN$a!bdr`hRx!;mK(7i%~_U{MB z&oKuwk<^R!G^nt%?s~s#5l!Kz`FU(nxzl2Zj1KuF`8}_fiGEYV(hFLKrN$f1wdW?e zW8EUPQU2NcfRo;3C}6USGXzzFJB}z}TW*y!hZI{RJ-;`4ML{O3!swBvX~hILr~Qpq ziX{>{TQXPTJik>#sd|WVI!3>l?ouhv{*-siFiocZ*SIVh_FztG{4oX10<>`=lZCe9_F3Yw#Diwi%`3 z=OnuMzNi8J+LP@xF>(L2h8~u_wsJ`727{>cA4OlA>u#88l^U_;akTBMb}I{~?`H2{ z{%H8dgLlF3UcwFD|IUf1j9&d*7#7qg&Axd&zvH<=eil}XS($BhneIo}zpI}W*55mI zW+`zeJeJ4Qe)E!O-lu0uj@O%Z!>pE%4g$U7>jFJRk|4HOcn>6;M!XAPsdcLq`kj|2I#nJorR3;QgW7{M6TI zBWFI0&PKmbTQUEG3r)iutFV46n%T1dq4O`3R;!*7hmjExSKPo!pFZMX8N_(!FW_vq zhh=v`RnKT^!#huWZ;Q%u-dB`%<=3 zu&egpk~Z*>4@13&;(p&R zvDPZ=-5yIV!|!l5t?>WKcYTaDisKh?cP}jQ=^{NcIv+DSCN$7Y(CJ_H)NYMNYLT;g zx%7R4{}^$=W0wsBL`t;U;c*2Y41zYKSB8(7ZQYqCD%x%FjBZ*VphsxP+M7jC{xZCd z%+PaWfOjXikg9C|C_jC_mWI{(6= zUlF#Dy8lsRmYz2?Ui|*mj2qM*qmTwk?}{n(kF(vv@m}RgC1*}})m%;9fK*bDsK=W# zpL`K_Tp4KTe-E?8A4jEdldV{NegyExQHtWztslVSv4~ke0ev|p;B*6i`H{Hl7$9lh`m*k8^W%3OvKC`Zs|^U`)2pZ zjV=M~%cfSt=|1D%A^(xgA{J+eRpg{&x)MSM-r)CUL3#CCu6M3D`a*XkZt?4hLbg#X zG__you45Lt#1q^wRm&rI^4jHmW}9S=zXSVB&#$ch?=2OlV6rKpP`DQY`aYQLV212KII^4V0_(DywGY7RbPzTU1&cnOx@k{0^?Gc z`p=#}@vHgntiCGdpQ%m}AyE;D2l4Op4Ipjg!1&`|S=TSFhgm4U%bJDOaLZ35KP6vY z5RpD5`En)~!fym04H$2d-iSf_YW7UBbUru#W&{5Hok0wGQQhQ}ce#tN`C-(#iHhR|o z+9y^#x)>n;;e?LPpscR9tNdg4x2cgfq>HwNNdloVhlTO8-YiX(bq!}hj{{+T3aglM zE)<+%iEO}s3s15Y)XO0CBN>!)j+;Ng&2J9&BWZx28o2!1e=dHsKA6Tg;{Ei%(!!uJ z?{SU&hVtM7eXucP-Xn|`F=W&rzK(8TVQJm!-vuH{|G$4OZIxLvP=EZ~1kq6QPsh(m zU-PjC%Fy!I&!I!8XySi3E?H2YlZyoNk` zoSAv@W)Bx@(+ZOD2zfxQ#+|88u?L!a z2!5t^vj?c8B3?c;CT;Rzqi~$1SuHvWqlezk?4Mb_m|5IU1flql#KfsJSL4_BVY(J` zhc?sfyl;>~gv>`*YA_-c&4^Qp2u~fR%|G6df6-q+5(ARZl}<*dx|HHc?-Zze=u=H6 zp(}L|ipy4ghn=wND%6 zhmXM*ExIe!8D}nRIbJ$!W+xV^Q|UClDOYctr6RfXb^G-d923tG@8$jaGu;~|WvsI| zT3hZ?iUyVBi};JJM~t%wQKo~aEm+%t&ROz~+A1{cSI+qC&obr{XZ74&PWGoLf^B^T zWyx(a;B<~iOgt4J9^@_mZ07YH>78jOcMos9>$wBO+-bCWd}iD537goN?w93n7wHp0 z9q*So*=am!5xg>4V#m?vSf~s+LZ~|==8~LtrosX?28WSpC!|rLNh?7 zzLPtRr}ToMkfolM2lM!=^MPWvZedLcqsr731Bv+#7x{@SxJVu8Vfady|Mp{_vUS%P za0>*7YRnYM>NvOsIkOXs@YQ@uFW6aNyqL0j*~Og{itIIEQ@REqQ0x1Hod9iNdXT4( zUk7jS%y~pI{f?*Qf$UPE!jJ;fc*bFg7Swicbu}?sGh9i1D-u)&`Sl|<@dB~ib)q<8&bPb3uf(J;oLs|LS(bd8d z2{mM8GlW24(SggEW)>TY{X;6;WkR%0PvTyOCXwT&kE0|MfrT#syB*7IXEfq5Zqz7^)q;dn|3d`QhK z5S(jN##zXy5P2R=2$n`IUjCekWoOQXD+$@)z z%H|apc+PhU_0p@Ir6cwsp{Fcd=+y6XQc0o{<=^PSn^m(b>@D!p+H2OGnwfsqBw}!P zkkFLhmgw9zG+Abk&QAA^>z0#3OOrPp{4|2;vs)7R=aXeKs)1)pWmDOqI%$JQc%9CZ zbdb?bm<=C-bc5 ziB_e|ind`STz3C)w%Qh{yZOtiQQ8SChi}Bt@thKKhgxsx$5UM6tl*aCgB74VG5>*v z0`Lxkl^Lu41AO_6JHcN-36mC+qLbCG1DwKOeAhT<>GxukEKDv%zQpsJPn}u5G>QMu zTTS_wL&~p$Sk5F<13-5GG^f;^+!PWrZ{lBdd}Y}1c-3Q_*N)~9CkV6KWiFn@;yJV$ z%2{0>?RHgD%)pb|0cwInc!jQTAzC2&OdTr`ut!A3vPL`rrnV>uRW&q1#fH|acy_%d z-Fo#_t<;b9a4#MUP77>=n$MO8G!S~Aoea?cC0S!!j>@fgVEkfcQwDWY1@KDS*LDWPu38`j31c6e0I?)gZL(iHFf0mOM#QPixarl&ac)b`{+Ot<%6hSB8}WFQSKWxE=)Y-OpN91)63%51Pe$_ zQ_Tp%Bda(PQ$I7-ir=&$Vmr;)vLw2fxM3Rn`Xjj{*|^i?ZaGq>UfN|U=+oZxj|mf> z8M_PP*HWWL8; z^V{Fpf61|*xSgMrxz6vl*owUcbNowDs%R6FAA6>Fym8&4JN6~K1Vrok1y%B{t^+PV zu8d@IeuqcK*ygJE*q>-#tpVXB!9&}nwnl*z%}thW8bpjqr(si|yB_rI|CFn_1P}fa|$-yg})rM8DMkwVFf5Wi8^sY-%Bhq;3=Du&Z z_he^jti;>*bNqD)RKyuT23!Ll=-xkreRX~C9P{kF3{EElB8g40S5v1LH_YsLP_z8Q z6fAmg7Uci&i!vvFh5>PMt-htujQ-4|`}5(Jh7CU$+~~OTs+nz?+d%~B<48wV>FWbI!hqW^2YqZu$I|%6rnUgSEge><(B+Zck5_X#5P!P zzCgGBPXy;zasS}R?_oU z0Fq&2xi0vUzJQKkF&{&%V%i~SVDQ%xYBYYvBdtQSguQiLL46ayMLj!Ik2O2aMmj2d z*4PaROvb=)_|DX!1`&ptIl(_cOt?Pu&aY;$DhtiKw5|F0Om^V;RtK#de(ZQYi^=aK92IE$;(EK%v{TGL`9=KRxQ55g26w+wAi5WN3)e< z{|OW|`nQTr;)U=c)ycB+rSm4sE^OHY2|+KNbY!t)_?OlJSHe5Bdct$sr^OQfteaW8 zkxnxez6!hJ^nna3W)w2phNW3f=0;H_?%ggU{)A0*?$*v=Cv}Dj*el}G`3+_8hew0m z%=zWc{f*(dJ~{Y(UpStu^96ZR2u&hU)&%@T9ZoXLzhwV%#3^!S!?YL;>6iJ-Z+^Hi z9O5@G=L-pkL}8lWJN3w_q|>+~m`5u5?}Sakw`hX#B+M?mC02+-!*5Vy()*R+`1xmw z>O1R{J82<<9-m##!++ICQnO!5C+;@OaZWU-1 zZgtZ*qP3U_c^=Lmc0NpaHMpAKC(A=xW*q=_=uEUK%6*>q;D^Qh;Zjn)4z?(mimBW? z1=<>ih72qQ4g-*I`EOJstwT-a?C1zdNUmQXOPknIZ3z_H zGn~&7pbKCpxVQ^Hp=usXGvjD++)i<0kGfmhg$jIE`fl;8$G3RPzl7SonF>1Jisc_N z`t+V^aP}0DK4&bjuqe!Nk(cUh9c9I-izSTDVRk2zCe(YeX1~o)kU?!|^4;?}2D4x} z{Mw^QgpEig@8(fPj+OjQ=%-?z2dxEm@Y_HJZQ4mLm8e(V>2RB@@mZ1p_<%etb`6NP zui}O4nd1HUHrQ%dBP&tsl$a?UHD?vPJgaR&xp5@JiW1eV*8MNwyQheGYFe;$hn47~ z*5PVa0>gkvTLP_7E|vv4Ind|a!RXBj_?$b^Xxz4wnkvkM(_=VxLPfV5{oEdy&|wK; z9m=Esdo5~Ph)W8BUI*c`n`7>l{+e0R>|i1DrZlX~j%wn|m{L2i5}gezI)vV68qY;3Ik*q? z_~Yu=459=znPuP+R5}avlH{^fjo4Tw6SOAH4$%-lc_9#Fs^1ccC=$bkEgGX zRTvJ;ZEQ5j?U=ayE~1~Wh$Z_sZqsZFai*_uHbygqH;GK?KS}%2e zRAEXQ6PugyZt{<`*w zFpKGEaS_>S4@6|Dj!+@1gFOu;hLr9$GsC~@7FG+4fTl^LTST@I1|9;?agfuilVe}O zxx*ZMiD1jkGP?$ZLdtP7j8P;A+|nP3@#p-h&j4&w-O z*O;{FgIQc^Jl(wu5^PgO{RdEvbsjJ6PFTE0P!PIvx z46K)J9g-=@vi2Q}ZP1TUaPHrCId{o9t4DkMxZdQ2{LDr%M?G(E9vNH!bH=J-XD2+m zaL!l^3E{yWtf5wqy;=2%#@aPLg_Ohfg;!x@cPj=Zb8JN?f3!}7Gjn(xW>NY?!pq;G z!XaNyc(+s=b;KUuWvkRJ9QdMJc4bW>|A6^YSV#=C?atEm)V()(i`j~^iMxCtP(rqt z%y)@Hc9Y~6P8Nf)j7A($oKa+?{9-&R&v=XTcJoNwX7n_}c77#312XJH3Onna12;5m z(Xhm{LBwiwXi(u{1UuOzdUyQfy;Z4xz~^iFL-<*8;}n<(upOksB#wecvb3B~R31e=vfr(t7e zm*eC{@F7vU$!I<;@UMZj_UzF>l-s0PT>>pX#t)Z;XhgPum@JI4$E}!O0AcMjvVIaC z!q|f@jHx@8A#>leTefNyp-uHz;IWcQvCtzK zQux|%wpWDT7zU1kQ(&jNR#=pZvtWsS)Bw0@jYh1nr{z_a)**N)1h<8(Rfsa9B;NLw z5M*ZOFF&BPF`ng)Ff&n_S>_Ru6&QcSWJF8kY*{2z%C4eo9}#=KMX46I(R{|`2md~u z#4^)9D&pN@31pgy7h;ZFPA{a6vH?Tj4|_u&p+}S|S>^p+@c0wBkl0q7$qQ`o&}J*9 z4!f|s#S*9DQOL>?uXe}j1S0OBrl&M`7KX`Ch&=R<$IbSs zB=`Zc+mOR!$P<}`vggAbWm@L|tW@u$QDkK}OkY>RmV5Ro_`0k)SY6eI`~y&E_JwE@ z-uYOOhyMQflft0kg%ge-S^yqM8cC2fr#jH#b=murf~l_xPt8}UP<$c{Oj0_eaG-be z9FBQmaC)eWuoJ8m-zP6Ksq&q|hxmpmy#3|iJ}Q$j z%k26R*N>o1Ya=i_j|Y*ynFE99UrmeiM-$4wlPHg}fQbKAF)q=RQuE5_WGl30z=Z8& zeY1Mt06C<>R3Vs28Bu};+f-_eO(i<+J&rfHo;6AhNljn|?3aH!^JWi^9T1?DDLHK{S#r#6?C zye8V6T)k*4GnT;&bh{Fq2j4d{P*RY7NSH8fqR~TD#?RQ&Fo(_T(PW+Wlm;A)Uhp4W zG+@q%OE2Xp0XKJj=&VkCo!IWrrfb>D{$m+ndy{Wd1d4pEH~Cf`^4G-jA4*Wn&AdK5 zvnd^|ciNK&5kc=7Q^EjcC0t~gbG-)yj$)J&(#6gu>L3Ql93=fgB%a$sBp{Bq!r{iT z!Wwsai}XUBoDQnr77rgZCH{=gVWvc`fLOI_Osx~OG!DK)w+3zaTwy5Vq2gZZMo=}~ z8}-(7ue>|j5()e_q0)|{MQPQ58T?8!jTS*}drbUGR;Rxih1?29A^p3O)@!q#od1PaccwIyRf+mYKc>H^PK;<}JfY{QtgA@k_X<7)NlHCG43Q zFUct6YkC+VU$5+@?!x5z2~@XkG4dk9kF>Hh_4?;=Ry)$%Bd*lW2iX`uFBC_1gzS-K zH^^WrI2P3e?Mss1#0ZL{e(_)-& z&>JL`*fJ~K-qlcAx+SQhS6w9=iVMnUE$Q?Jzhg#pH5@doEVv%CttrQh-re~g$LO9l z7lWG>#()7g^|1pZa`yEIId=0)DDDs> z(W1WWP34*OSjV5vZ#L^uJEQ&NHp1$mpqolVtz2DGW5LTtNi;Ki)hdl*xk3K_MHhY? z13*-9JWfTZB~%hEAChCYstW>LU67)!E?D(IUC@`kyAYXT3e7O3y}Hu&y7ZMjtuoQt zL&CtU1L&H7i1cG8_fI1)qIC!Am<&7?8(MrAU3&uZ22V134&FoEDx`*$w;m})!1W$! z5&ddme6Ja=8??ER7|ZRMnq`GVdB<$zleygee=faU2SaF1iiB!6b74_u|;ojCM zKi_THkZFmbG(X&ThOpl7QjXt-&WzOJ;7{i^0+ZehkyR@Lkxjz0Br z!tAj*Bt-Yt3W?_YQ&xR2h zGa`Nju76&M_#aQfiKv@)iPFTJ41NO(GPd&It=Cj==<+WbmYhG<@Uv&VVkD_*fArOO zs>6tB3)8pUpJ2xQFGQTUmo|d8UQsVE6my?yYub98sc9)Sx%n4DHb36qIDdP8Bf)O- z8#tyX{$4bvi@m=X{Dg||a-Ii}>gYyLI6X7!_0pgfJpS7)xUa+jU1 zwa2l@nxu!#d+f`>0ut@8V65vZACAYta6ArPSG$GD7hen-Z$f?En`$ElP6FXE`S>b(&iJS2T`kXjUfh|wwuDp;q*A7XV?5{!X-HKHid$qLX` zI{Bw0JK4V&y~7xc&yvA-WE!(@b|tClot~4sfrqXk8?X$^z8nejgCX6bA-K3fNBm>8 z5lW=(TZ}c>h*r8D3>N@}p)0>&M~BhaT@B+gb9VCUOCuNYa9x=6=2rWM&m-WJh6Tg& z%S{R%9c_IXRV?`EMO8Vu=G&0f4Hrt4_6pYHF?vwXl_$T#oc@m6`KKP;8*eP&!QQXG9L%YbA1f%L_yMujM1vn zAn`96x#)R(m>x76<0ykBG_eFurz-oGaQ9M#eSaii77ca6I6M+bng6RWejD&cIU|Gp z%TK64$iVFo4e;<;6oB_VYqi?fTj=LS2CZV{H}4Ye#LC|?D&F8d1IWjahTqip~G>g)nf?BGJ$e>xm5Q5X;Te*;MZ_sA%} z4qTl|?vTm+#+Ve%-5}P@mTfkf&iyBTAh(@IgBi+D82up9lxoiXCf$FR?)%es!u1QI ze{R!HCVlq0OZWG`O7dEkR@$$Nw6vg}lT_rr+U7k#b(l*XhuJ#5Y12Qsi1d`|es71V zdzwvuL+J}ENPp3$f7zx#sq}kT>-g(z`oT8+4@&>DHu`^Q)B6!&!2ToBXRq@Q@NZT! z6Szh6x&~OIKEHUo?emKwg#O?Z2m!D=Z1D?J?Rl#9G+XUTo8Dlm{od#N8k>BJO+H@P zPZQKtHvJl#K3eJ8Df45bW1I?R(HhNs!+!rKcGGn;)r`O0U?FbPUsHOS(l?Xtzxo}9 zurPXz{n(+88KLeEw$Lb>zLNCW>u#>_?=s0JtaJ<}b}!z8cuuCSh5I011|(~S+R9R z$fijoxHSjgURWbWm*N0EzH#|y54eJcGKLtC7Ka}=mPboUZ zyQve?O-FO2H)4f@9pkm)Z+lFj4RVY(4fkv&UPiat^6K#WLqR)FHZZvO3X|BtIdLrC zdqzT1NR`$Kh`{;k@p$orGa>?+v(z<7Z>1nlc)7@pzBvl&vWHW8os-F8zSiy039q2G zI3=#gh4`53x`$0bpsml=^CQ2a!q6)@Y72oZ+SiQ5z3GUQI6>8W8H0{hT6{dETgv+h z5gPW(9!_y<7r0LLW%lv>vH!KbKX`^GplqiN*%v-c)_ySmM_l|hM-D&>NCgS_+euwu zdDX6C9qv$b5E{tR`dqLO>h!~0Db!hfD`jzti1aCVoR;@v zLD=Ej}}XdqzADR^R|jPk;M@Cf`;sMT3oK%M5S zQf5cl)nBl%W){o{RhoEuCud}O$Y+YDPnlVoKIM>7n>>kvDo_`CauP!ME#nZa#Fiv~ z=zHkOC6v^RnOoliFfx{v3m`wVY3_hHkHi59z;8JQ9OD39xe50RLeGeJ*Ahc52 z4AJ>SI{ztOjH&B>rb@E#2Msduh&7!?x)bN%GHmxc7}|AJd~09`=djf>!(Ucw&damc z1mhq$c7qnBVW<$MCv$iXfl%sTuCx#a(}-YDM55GC7UsH-q^`2G=m(P;mww0)MM>&N zELTKJBR=`HL`yp$9I-XBNCEd(=tB{2cql0TnO367S`6mSk~8)C|21Lo8ON|Rn6gEK znTJUnM3WgQ4Q8sCHMp+ZocTbwMGcYBfAT{$ZsmkmX6uYHta+Wdah$}{;7NDa4ulpAs! z2y2q3pn|1n*8vah#;Qs#=FJc?q&S!m=>1TA`jm@@sOs#SyqHQ*Rw9DVDbBfRZzB)s zYg?GSWtuA6*p&QZ^o`qj_*RJlQf|t2pW_aFw6vcq*E3@T_UFzp_U4U1FXKuLZrf{t zl)3u8p?JUQPb{Z2FmOCW=}zu(VX702GvZgagzU!Ul%-d0Y2?wx`OI?eTUcM-TF=ai zbNCW`rfTzD1Ru`y4M`2uWcs z9Mk{18G&{a$T*rH3+x1O0ilRf2mf33MzH-!WMznCNN^+1gXBGXUTkp*nZH-2rlavf zj;7Sodr111f?_L6;5erd%NVRnfetbYLtfrx7ROA)frDe2_M4EfW#%GIbMjI#H;q&5 z?B$bp0V7*9bYQYVra-I0qkw+i%xB_)LCW$|&%fvYWSwj%POb}D4Nk(;yqug7*$vr~ z?3VnLOo_}*X1zsx5o%mT)lih_Zf=W!xEOLUd^EGeaTb4<5}6$pSO12ZiV;#r6zj;)Uk zKr{X?Q%vNg+%1@?f|K~;-+0mXFbequUPJD%Xhv|N#E}$S)7~`N>k7s|c%fJ~8L=T6 zDNLMeU1(O?<=-?R)M(x@m7OJw-Y6B_&9`al#=XL=dh_m8V*Z)ZO<2))xP?(0-TXRp z-qn7=lw)gNruiHkU?>$$N>?HnZ@X~Z{0A{#XpM_Pl^Qd{E^ur7e{w2ai~4ptffN|v z&*oIIiFIq@B*pxFkba00VyMro4ujnufa@TOvHX@|s1fA$Y8}(pQH`Go{K5&hlrn|{ z_j%H)a0%4(&4#oa^|zS&FQ&6NlMagPs&Hbs1@|UzOQ(V4o^O(`&ay`Q2 zFy_$Mi8Qu$pLm67@f(v2iq)bD*dP{6CRj>IP)`Bzh2HvM%!9LR@z+W$tY3)K%?HTp z7WQ3nD(T#c!y=uU+gI_US~pUwxxN(4C7>Mzo0Vaa-rmE~TfnOs8}GAlLdQwA_Rbmu z7m-q_V~gr2Q}c?8QaIs9HWTYLom7r{XIE#QAYK#!JI(yMk#S0Rw{_D8XZ0ETeM?T=SNy6Ybib&Bmi}5$PJi^Qui1L-_i&LxI2ckE(b|X8s3{E0C zQ+vk>@)<_;sU8YLe?8(PxYTu(3 z0W+GAdrS4-sz4O7f- zyg&=~ZQ+7FrqSkGzwTo^OnuKC2pXI4AvQO0EM|>K{UL^5mu$Y2 z>;%`uVCv@BcA|DFDEgTgr%aSAXd27xWxao}EO2X_CA+zxOVXv~Z#XhpLK+|4U}Qs0 zz-vW{CCHa9bpR%sF*Stxk2L7w0EUK?KfotNWx`zCTOwjpC&#-S&rcQ(?@ZRd>}0;X zuTrT{Br}&NPb{b_)RNZOgbsW)iFQ~QSssw_JqK8NO=KQpUHFEx6f5GfY!Lg;Ufx8!nt_!0 zAK?AoGBR~b!W%_clW;FQqYx$6f^)MPElk4Lu8W^Rg05>6JGzLE8Zc*dD+=jzGAC3u zF$6J>L!%#Nc8yFr4V$^8FVWc(YnS6Q9jI<9Bx6zxYU|p$6f5)AhPrhBQ0G>yM{^eg zKcOqQ@Gg6vI-Gkqncvcs-zn>1rIX!^(Te>67~9ZOh8dAQ304Fh-t?VFq+_kFP{{d1d zVs5-Uan&7UcCw99GEhn$CszRf1q&Q9mnbA^0qwB{W2TzPFc7T(YBCq{`ObY5P^{s{ zog9Zq`-2>R%xys;gSi8sEr~$;yg*A;DuAy1))mlPOP2LwdMsHi!A)$pz^wot>M>69 z>r4*w!NhHj^zB69x)_Y}U6;c)X?1D!$#w0BKOUjbYA5T#?HHu%D;XX1)>fuw8y{r4 z;}R((Q`5xXbek8&Od+oI%ptA&X5PogrXOG6M$)jinb^JBGZM3rBjE~u{SN|(emS)0 zRU3TzjQb#kIGxRrhYw0eLJn$AMmGHVIL`(=;$%H&B>IpuMaIDJAXkBnE>e~0o|M^E z)A@GUsE!ev*S0~O@%B<tu_d`@O@Kmsg@gTBje5f1AQ>@MG+_M(KGyV)C!3U zjm9RD6srUU7@bGQwxcVPWX{qha=D)(*hS7W zCcLZ5W9ev9?r+#AsP;iV;n4L0=UFt>e_c|dJMy+DvG!L|ot$ij>Uj}LxJSjl2qGu@ z4g0dvya)=ituQYq+ZVe;`HFoJd`|Xg`?A@*RPvJWzQ%23lZRb89KwH@J9RJ81>-de z16xUbLR!k`$;q*5rHxg=U%D)Z51ez!$6tU@5re5A})PpyA1w6@&GOi`O-YFJ^a|w^P+ef8- z-#)@KMlZLIRXh^$M0u-uywN_6=W(fhgnuw9jH&^^80+s<+oTBhZl;U#LIDW@S*v@(c$uN`x0o-1`AJ-P*Y|M5SXkN02c(P}f3H7ZEa*Ec(!(MakO1Az8#R zI9aD5Nfwz5PM$=v6lgkM63Cvm+)zQFxL=Xnd_-hfl0vW3@=}pFbT4=?oImK->8H}V z^cHCqjqkBk6CB1@UE~N+)Uh4UVDF$3mYUZ50V*D3Iq0?9wbUxJa4H;5G`e;zmoz?X zE#YZoED%X=xmbXcF(-aE41<7RC~TZ!Azk)o>IDwG6XN*})RW!uG-k93P4*r^gie~G zac`vvmjFXGoqr#a80+gYBXbYJh9N*I--b!C)X{7zu{7m2+G#b3LLGYBv>LwTAJ6=K zdtG|>kkrCS!&CF)+ymKKX&c*4W88;M+0U;mPkjkE$T5poC!uRGC=5W8Vy&ZqLsQDO znOV=-yiUxsT^!bV-dVEh9~y;Xx15{5tPXA%qJH)~8;wIpENS5h7Lu;|IUrZs^OH5y zTN3oK`|ICunr_=#(oKRy=zy4gQ7teQ=SwtkA)7k2d+qB&@hO(%5QUAhR4OenEkI*?AJ=5-rIKdH)iuena8ymdb>r!6#L_)M}6 zC@Uudc2Skcam8UjeXLr`CYE)}%XHV^R57XpRUvpmjXbvwRBKQzCH>SO#>t+JPcKBI z`C#R;y>oRvmJvIgv{T~G3(;uk?(-C(p0%Q|by^DgXAS<`kFS_5%6Zcgzh=<4++{Mj z{FMxL9-+&Sg>!3gT*;+C!4iRH70?*+kp0Ul2u3}yS4O=@cXAzT3+gKR69V-gln*|o ztQ@q&TQt4uv?@AjytPo(K)_A;kAqj4Wfr*6WV5Kaoi$lBKXUiWGC2tdQK3=?AYsfv z5Mfbwt^AZSy^X`FoONdpPwhWIB}D?kr@KFRMeMz>R=ckG4#Meiwn_`63jg7sD59R0 zk??~ktll$lo;gOh_Y1A|J4=#B&DtOc06Ur+K^K!JT44qE&=E7@AfrDT?BET}6R&*C z+Dm{G0xqHPkai7dCj(lz64{OJ7tEu|1UDz4ueD%dMF*+;c5&@HV}^fzlkA8av?U#x z58anAA08%W#KH+rW%ttmmX=v6iWk{L8zUI}8Lk9xyQ1DSk(h*`B%?o(tu&zgGByn< z0?d)rSEVxOV^>|v5Cf>pjYVUl;0J$$t^QA0AIHAgc2yQ}j_gFXd;# zm1)&({y-44Am-1c0rGMi!GU8G?~Y)1nU0F~DV4&V`eU!TZ7+4BVpC)plPNPv^Asc`tC$=X*O6A!q_8%YbPtz?MX&~dHL>)GDCdG!Wa zyzo%uzTn=}+Q#g=DYwyECybKV(m3JWrm`!?vqp~-x1njKm{pc<#udROJpbH^xQXT8 zQQ1_AXS(|VKqtqHXsiuxcrCF(43m0Hmuzo>vlt%Xht>Lk4@>a$OS?_#fIXQ|?kD_X zO7RMYnBQ}hrIo25vYTon%T3{gvy8=ftCzlHor3519uu2Uv-rG4Mdb7 zKZ)|Xd91wzWh-1araWwILp`I;VABhM1H#Px2!jzt43n@e%16DA%2O^%0wESf^%Y@N zcK!<-KPtvGNLDt3vO^R|Mp^?Bul zp$7t$jgqMNdIL(aPJ`F~EBr)w8GQfC|KI*Z_s0myFBr~YJQO7r7hx<9F%$Npm5xmu z+%J&j7FxruO7ONfj^gK#_Qrj^YY#6hEh+8qhvxeFudb9f_GMEK*RI(*9uYN0RqqF4 zR%-MOKZ;)vzp%fXX+Q4kO#8y*{dW&9S=Y^H|A{~C8suLQ`9C7BxJRVz9S!;{chGg; z3uN(>B*Smr+n+Wx$7F25p6BFtqo(#wtt#hcODC(fiMLucXjQ(Aw?yXQG_UBVf7V;% z(l=+W31wA*oIu32GTFCs=UA2h%mIei6PTT=zg*%$s=~%{`4D6u<=MCv$(n?2Vd6HU z3*vw;ibwPJ>KkO}t5kzV)}}^qIt5Ne8k?*JE{r)xnerH1xRg=(RlbDFYRJaUt`_<{ zjSp6mYSwA8G6+7bzy5oFlS5LR3vt?a@IB!TZ{mwfCq~^UnmaX&&-#C%s9V0m}7&!dS<-o88Ik8+`uA_qDF>(ms@1 zdu5fAt3q(NnQJih;z^8ZlwCh$>J=O6ckBoGvx*n-BTGPbdXiZ)bf z6Nx$l3EaVnL{XttYg+wNYPSe8fLJtf65w_m|7mNh-K^DCsn%AlRopOUr3iTEPwEkfHfe@8>BigE2+Q%g# z8lgOghBiyquEG#Dc_OgxWX~MBw8rp1Qyy@^IDmw#YT0g zKYjWDpdy0GGy0GT)2Dx9p79KNs#iPleg?ir4DdnqLIu zzf6c^kl*w(a;Hf6F#PCb33T$sOUN(UCXUH3t+G}nnPT!0^=>auWamYkk~g#}HHrG| z;pICSLx3dCksUB55()Rk#>{uC6V2{_b<|U<%F#T%b24_NaB6Td+CM|EG8r72?1D2gEZyeWcc!LjN0lte>69(YBC#LBx1juSCre6~MZFgcm>eeIh4;R_94GjGle^T}`bX2-(5R0w6O1L&5-gm;|Y56Yogo?nLYK>U@Ry~>ck07&Qj#NLz8 z;G4zwWg-7`d(TL#I5aLH)F@YeL$E(|?oyTB80~-2;z83+SrmQdA$l+G|82`zdSB{T zzL#e8D*Siow87iyy>Es)Z(?H7d*2G%{HNLSqkJ}m0hNIn(?R@tPOu)p5Ge8QXLj@O znwd>_lDE(&QK&8d8o%ZnBLp7)b7m#rUrj%laRW8}2HS+n)t?em_jU@q1u65dG&|b# zAl%igy7}<{&aNkL7FjYi{E43uDdpPd3_WQy9PC2BJNGgg>3- zAnj)aymT|~Pa2S8=pOIfSpn#E$?1fEpog1fivrw}W3+p3Nq59FUWVEjs7T%5pEIm~ zymAN{yZrokzXBkO`NuQ!94#EwW7a(d0&J)WqR1+VB1R?~L1cC#fsm^Rax==wURr5| zig_eJi)YF>|62B`e8~wx$ym$VBeuZS*HEQO56C0S+~<8-z?cKizG+cjRr_QepXQkBB0$RNql)0^d;?E` zVgON$E#|(RIjKknV=XQrbU+GuH@CWyzQnZ;D;Yz{Fu1{6Ds#y&xJdzRmlVNG<`VX1 zs;Elll8F>B;G!=9YnK#37Iz@8RP``P*22z*TJ+TiY?&^C*kVb*u-awS!=^hY9%n8_hif=v?;cO?nd_wB z`H#%_#4t%^coEabz$UAs|MMlKwv>z@;VHKcCY{1Z1SkU$G!ua})VnT>bR2dnbr<4o zoeRg8-u@oG8sRRvcwl|AkuGP__wyGsfyVS|E{qvoIggPiv14jQZsEmR$Y-P(HV5Gr zW3>ya=f+@S8Ej1)_&I;0yIxNs{R<25n3%$A;T4m`X@eZnAB>rqZS2`C-zplz0&Y5{ zC|mdMuqjyp&R%(!@6Xb<+N4^V{O!9l_V&;J(<~!>Pu_ytL5n(Q74O9_=FHTUtSryp1ZP~Pns?s)yefXp`vYG#@8|VJPM{}Oro;3lOBj)a z=)1Nv$RN46(H|!d1hEWHUTEf_ixlJkj=BF#T{|6E# z1&K@yzb8&2u_$*kF}8Vp@Qpa4Tjs2`X7Q(eRElR7KqHtkT0jICkQ_9Xs?MN+@=ABN zWRA+2*|8_%>qz}P}kHef0Z6bJ7{#MKK@ z+!*`Fa3?B7c;mB|nDz0MkRSiOE)!JPpvh$piG>mEr+#t|^+a%6sHKPg&7)A!N%D;&=2S|8f5m?wE4_K$QkH zF3Vr%76A&Pb@-*C$cTchEi@bMx|r&$@nr_?i}mRr$1h2}`3c7d1tob^fn|az$t%hO zEM%D`R&1GllA4!8SmKWw%^|~>d=U(iEh=zPut>J3z(&Cm*`fkl&tA(j(`G;B`Jdvi zXe-gjNdGnP*PP`QDamszwl=FdE*ZFd0T5G}DobR(4`e?d&osb-iD}X40-P$`A)9Ad z5kvf8b-?QcwMfeiiY|H$J`roqVMSwA6!1U6YxMeu)dBNmPBXZLCt3)fZcYvg!xg(L z`I7ZRR}Iz~Muuyo=*vzWO3nga5Fb8(^-E;GJ2Dz~|I8P1N@%zi6!1wIjS2 z1X1p*Ya)zQ81Z*8!`?)akF5sShx$hfzgr?*lPA(BKlAu(t#{=yLW{-m34|YUUC5{X z{V$#Ec&!GE<5;GxsN0=L%ECmV$e5Me9ASzm%}lf=GRx+gy?&KtK{96oqy{GlS}jSV zE@XnpGB*4@w^h2{Y8LNIRx@x6z&k|Oo-MD{^&9pY)wT_y%)3!tOR3AXqw5NL4Yj$- zn9n+-XLXSj*mihP+jvPdgF4iv(9^YdH1-sR%z}Ch=jf1saOm;OnT03TU7Tts1njacXP4cf;I-34=4W)k6(Ha?gP%Xm4fvZ*T<$YySl)NI} zh0Fa`KFU7xF8RW6{m2}mhZ{J^E9uQSlOR8ly`Z{n*nSYiNq%|7`~8Vl)<{nGHr=)d zuga3-mM#5(oSs_6&!Upl@AyfUq<$$&xRm1N+)gtMBT{aH)H6+)?_-~jE$tG`tyb#i+GXNz zrT23(w+I{)*-N1J(kg;iycY=1LOPVXdFK4;WK)ez2_L!-MSNf)Md@WuO>#eSLnjD9 z8wf7cpyXUiaHJV!-kV*K$XqYId(L8}ed#`ta2FAk`NWwg#KhOuZ%Nj~0FSM(`7l9c z^>1NC$NjT~`wIA~uD|gT9Y6Pk zTS~9Rilr~DWO~nJoZUVS!Gg;sky4WxAkKu6yn2*0u4Bka+*wC~`k}KgVhuCjme?Mx8sUmeE6%au|9NWAHR*S{C#o&gnovBat&&uJo%=fVA+?hN% za97W?lqs7`IoV`VFJ{^%vS81ufrg9i4t&I9SlZOl9MMwr_Y~yuH~bNNFnvm6)YtS% z@HI2>sRoIc;jSIhgmR7v(s?>SEKmr-dz^NH*-|y(t_M|x)pfE#;u5s0e+6320;Z0V z3E^fY-`(PFcF#;WBnR(OdR}mL$DX|cxfK_2+p(-g$}SRq0+$`j8tu&k+-SEhI`O#U zjw=nXn4uRvY}d-#F$-AFK|m@JUOtIZ3tMMTvE4qJ5(nNR*K6qRmR_H22buHUfNQC$nWP{&E0B&ap0*i7mV+sok}dSAg;_(?G= zRQkJ`T(-%jG{IF_7vL=0TSw-@*h+>t_(J>So@j(t(Wx~II$N7yz+qBo(d4nCh zzNE4Kdx`LJIY$m#*iB!_E$mm&tTz(E5>OP*%#LX%ZZAO@nO(zcK-IlNP2^v$uve>R z?2C_!LB1=pXOY*sA-uxFSk+nc=@EQn1U84^8=eTKAE)e?5TGe6yF$MB^tWPF6t{D> zIB$=ca?wPRN^8Hb;;Ham1t%(myc?2UO3*XXoBFl^gVq8Vv;ym$rnQ_(=h`|8yx*r3 z>={(;!eMTHYq;|;feh0eL6$Ld{5hSUX{?+(;<|_;3;xFYHcSADtj6$i+|u)VAi^Yi z*M8YdRV2C5-&dbVC1hFgTdD;Bi(P}jx4x+*eEBa;@zJOUtAv^iDXN-Em`AVQ( z=xb`x(j+oDPj;=BS%iSS6<3~@DJVJ@5t)Y{DFcx?VKhUj-xHs> z4zHjp2Wq@%v@^KPIbyGK#2yqTsg(|R2@RiuOHJ5p1Qq`xM&GS>IYaLJEpseHb{#!Z z@2mJVdWw^npnq}=3ONp*b)zmfC2N!w6i%bgME$2aJD85eYT1FbRG`P2*9z~(+@$w~ zJC$4zu4f$$k+F{L@)%bp7KJpNwdkB2QUljH?sL)**YqD`jrG3|=I!UaB6Xx> z$r8^=*OjEm3e^TmU&10Pdq$0P$(@TpJH%(gsF}HPN|BSD32!Az_L`MV-Xbkpt)vif zvPUaIT-hjG`muBBBfQrZZ~z zZHu`xYQ4cN1sMJzUG)xpDWIf``Fsk{^8Dk8Q6X>t&y}-xjUA#+wZ>h#|1sQ8Ghf4l znWc%l9J)+vOt|L*UbC@knKqZ6g^nB_3hgz=;O?|W6L+&><+MicN{~wXDKd59)Q9fC zE%zkP6ChB;M%?P}2B(_&nJ_qMz;A~cv2c$q$)kW(s~Vrjl()?Td>8n;#H~ngkel%< zZeqq4A36x#i7?%N6pE(V-|?#nefSW}4VDKtJ>2BpJ45fC%zJJXuPxAP^r}{7R#l7U zTTqpVUMjk8o#t2)Ci(QL@Nxz5wAp5)Oob$jFmG2mgHJn0Y>ouf z_2y(cAdvZrdiA~`4rt$PozkGrp**8U+j;5@0S;!gMf(H$?P&O}4VZ6O`)5>UPCNhZ(Cs8@EQ z!RTpev-Cx>RP8q1`HAhvg@#+McQS{s`J&2Ujb9M3XIn~u2_0`K@;9YZ#t({nzpBTm ziZE7Db5U!P+yC3{*eA%Jb%J7r%zJ4VVUldjzWn?b4c$FH>3FAH{~_sf<{xsjNR^9d z(Jo=@j&*8z7%gh2|DpDV>dR91LwQP?Qh(!TL?ZQPeoCjOZsMn`Bz2w0QMt&G(kMWV z{#VBw8O4G~bu!SQZV@@QLpqVUK~t5;5~ek9#NOd0w+SMrRm8$~C#z4$IUO`r)V~q# zyoTDDpBb_6(PTya6Ua2C#0Z9uA}BtQTq4Qg5JShxzwr;9Pq1d1X+)TF%zl&Inkh*p zOk54l7p=t{;dq-8tenaYZ|IcP)MzIiuEPBhz_dU@{8nT9h!&@|$`ynKavrSEu6yl7f zHO?N7f!tf+w6ZT-VdM2x8TJ=cAfao zMpnddiHG?Cs)X|BkVTSso)5(4Ye{SJTWDZ&AL~CV;Ex+I)->l~(t?RuPL%BN&hycG zqr+)jbX;+-u9+Bcfq(bYe8TKNt#x|I7{FyaMgDpGAqc-6<=kr}uBY||AHl_SDReNb z&4;AcV<5120JC zju}S_2epi6&lnXIym0P?ZmK7_FJ`W+!g?n>)gy3QG+zH?>P06%_1nBdnQ}T1O=SL5 z-9uCH`kf1pgNL2A&hW6+TMQ4Ym@YwRC*t29B(!K_YQsrCZ=&8yR}PU#uc8f2j*ns> zSoPh^pWs_ILb-*=iJ4mUx}(kfA{bXw!^vVkW~?}OdDlMAv^G|Mmk#b@X2#EG+Mq9u zz8s#tEM37w=x89&&PNWP_C=%k(9;u(Ui+fX@Y|M9S^jBXbZ&%RuVw{48NY_Ych@-` zL;Gr(Iu5xuH2u@4lx?eQZ%HcE%0S~oRYU3_kf&# z2${}0UKzsi4DN9JqE@|>$j;bqKH|?SnxB@Mjvcn%9#gL+Xgs@gd;f2ckJ@TFUbfHo zj$c%(?%IyhWB=5AJ7&O|Ltp;;1$txZoAS@9oc8Fvxj)I=$L5$Iby7xRvtF>NsDVWB zKOr|1LC9wY5THgAp_qL2!4AjjGzyBxesF#~bM0-+&7_?~l&=vz4o+VsiAj_?-Csj}(YfrnZ}$qn66P&C`EVNo`Njz&S-}wozzuaz&}5~zeXKQ) z1kH2cNr?b`b93foT1+4wR$hsl!7jK`9v6p8h7(Bk{yLNcs|z~^(9WOQq2ry zK3SRy`X=NiWFnJtjFTnr+@sWLe9H7X;v)9{VP1EkC;!*@a$qvsSFj^PZ?ofK59Z-y zV2qjEOON_kI9dIv{{v3GZr~*Ov2fC?MWz}u28SZlk8~gM+ZIZM7>A2wq_}$&M#osGIJ4-jm-}H&XjrC$@H#)2FljUHJZgh@Up6o1BoOUn|y_a0rCDB*%)g zznelw!UPRDh)@^MRuc%t5E>j|E7ZEZ%d}h|HO^LcM8=o_iEnnd;VRm@eFSesP*@py ziT7kq&BX~AQ7OWIxqPMRWfK_KszEspD}F%iuckV$xsIvCzKmAAA0H_)n>HCCNL&^EJzclxCj!;6*iI$Gls-Y7t+54uh zVQ~V|L`O@TSgmdRNNWHqMEJxHXj-IyJ}6IpJmyrbM7VP<_m+PtYW)q3IB5M&U1w4i zt0TH7L2rYvr#TF{IcQQYGr76pt7r$j^UkrY%et(%+ne$YOT{GW>qTt0OPgvfBhwKhsH@uu-AZ-i~!259-EK@-5S_nnj3ABFfR`T#2O?WW%*dLbn>M_Piqd;DVj zrkOHB5I52W^s)FUf+#~aPb+iZ8Pq3(efMQ;L9cLGthBaMa=t@9h1CpN|@~DaNXI zTk-dB_>ju*-Ba@1-Csd~dA@IhL`?igC>SO1?~B&xBbZE~mTDn5&-W-Li!WU~ttL)b zDq^aUajUX9^D7-5HkUlq%!63_B_l$~V-%q?k(pc5T>tDMOq6ysPk1`su_J^^u({;1 zggdt;QF2;MGl?Sgjw(`Co5*~%Cg@JW{c0_bP|3})eKhQ4pRwDB&?}UF>SJ~(y}8HG z-Ruu5xn3=K6c)YKfme0!v3IAiXCHA~B|!U|X2S4%iPCA2L`g4+r^Rlf#5CL5onE_U zG*!H|AA@~ubu~BX(afo6jqtk6EJC&N=A=j66$XiAP$u#6;G6Dp-FsWR_1**e44JG9 z+wJsiV9n5~&#J`v`I>m8H zfdz_YKi;uj(-`mQF-*T*tOUnB;ZB7EW?|r9W=Rbc)NIantEQjesfCk7W)8|S)2Vpo z^iSwaxa$X|)9CPWRpHE;Yuf{8vLI++k1t0A zc+Cg*#0NJMjtWnwJ>wJM=}$M4DD2`QzKv)tWm+h+eRUbT#}wGDJA4UNtYUST*9TQ2 zUa}?Ot`vkYwS`$-aWi#_XSL+XqB+%zMRU4B;Xui>T|B3%e`$^RL;z#{9}Q5n^C{5E zOxDP$Gb?YhffVM|7iA0Zecas=@9P25hy2ZyLhnpm*plQ(v+uDPoQfW$q9pYODQ0)8 zVXKJDoZjlTwAwoJis=<%!7mTsA}G~RP}8ip|WdAY?a*DjIbT+-5z zccO7+>%pW;-~*pdxbu-FrlQJ(DYb$JN=q{?Ydjj`}m>)}Pkil;`cU>PiI!nwaYdw*k>O5RiN&)ktSfO7XzdSz+w?jc45dhv z>ZV(74vor1q@lOrt|=@AK3m~6=a~`g@+w9lzlbY)gjV1l)0^PccD?myGIBbDPhgtq z&6DM*7IDKAoD_`<{b)_O9Guo?-hg$s^3ZgjxD4_=+h%vHsQ6OY_o~RE3hSBB~n!463tClUl_%^c^OZS?`_g3W<1XbSN zQYPK3rQ$33KQx_cEIwa|&565D8q+cNVQa>!07iyWe2rjuqk@D?4+|(zIm#hBy+mPV z6)%8~Pt?bab0JE|aOXQ_C2ZJ8l4mx$K3;;Bbu(%lPAJ={BJ~SHUZP2m`k>8m%c{NB zsYaME`t+u*0kfl0pJ3k(=7T&=?t7m>qgC>%pEVGSdqTKVFWTqh-sU;3&;Z~)BPvwd z=HyRDInIJAlGdJ1=r`vo?QO+S6*%}AJEdS+4}*%cJ?E|K>JT&GPh#hq=-LIow?#^) zxH%~7+HIEmk{kjcT7lwk)p*M$!(_`+oEuWnXgvz5l@$-^Esnv(MTH3Q$kDAX<*k=J z<`9NrkdkQ(OVM3#-{@p5wT6I4jd#M2lvI!_zeXK91E8C; ztX|>_2VMYb5Le0wA<{>}C2)f5z5{fGb!hhmY?;`3Adso8%uZ^*{zJ`qnAL2xFF81r zd@CRpQ|CelmP$pLoWbiC5);Au$5R1dtxH}FTBq@CtaA&8AL|7*aUI}$({l&9K^Rmk zM1EWQHodfkY5c0)!e3`-j4+~L3-TBDe&ZGgThRG{wZAqRimIZcGhno!p-3-j3nkCQ zXg@3SjIt zcX`Ku8p2q=F1ZLhcCYXK0iCHDyoR0vUWK)O#jB(a{%;&mS)0!yNz%zKA$IRN?}0na zYCwc+8iD5QcdOs$VVU{T>)ykk(r4BuzYN%Wt@bl78W1*078rxJyx2c~NpR`kK@IP- zLjyw_nnIze8yZQpmanx+a~#|y-0QC6&cA~CIevomQUsv@Wq!<(2}lRYBhby8-mQP3 z|46d*7#jv1lH>-Trsqr`!%u#0_)@x?Q<0*D4EQiB4u6mK+=u%AP*cWX87JbWym0&?+DIv6Et4ofDYHCOg6^s6kI$WBb-{18s3m|5&v1~*f) zA$>u0LrMQZfxMPpI|d7K=)-g2SW!6)bBbqu~WevcpxSY@fL&l?8 zn&hv+wuCL1TGdbI-r18H7wdS%5|n48%Lv9EOTT}3av%Qg8}52WyOas?MHCC) zpY*8W_;u|s#Z0z*%}w<(&!U%Ath|37^O%!EtiysC2Y8v|t4QPRxBMt3*AucWuX&`^@cssGcTS)|!HrA8!S~w9J<@d$CA3F!kY0W;7`bXg=cd%?XeZX1_c6GJ^3+j;kQuSr zL%d7NRmK>Z;Id*eFk#R3FCkq=WGXW)Vm!a_xCtE0Dg7p6?JTtA4@4c{J^ zR$7ueIG$Z23g$_K&?~YuG7e4NLGRd-g}D+jDtDNe%cLKpPz{)M#afx${v~<*!FVv5 zmx?2neq}J$j$u;gG3M_5lH|ora0+k5(tEI0%J5$MQbOf)b#Ub$pTqOnrZKd!ZzA02 zncQ&!+#o;sI+77#ugpmN>#E__KtygJE$n0-e4Jcp5ev3aaSWO*Ar`~H-o`UR)*0$b z@=#~W)LQhR`i?ub)^FAq+(F~Np2#e%!4!aG2y|DAzF}%rxx%5EtyCqbi+Iof&LRRl z0(xix5wcczjvXD*hU3r7TKoaMk+^ixFz-}(GcN|mU`07a`cCRBJ}vcn zol@$?F{=fhIY7&^Rd|CF5g9(%!UeHT8AcBEG!MnWQjAY-YcaI5o8OQoGi;A~Nm*Mn4HSX*N6NuUsXUv-A znb}}7$O{bI70Ge5=p!=c)sQQZ{>j3xpB(YCS=;@7cCF~sh4Y<`UaMAnIQiLl{jG1% zjpV`5g?C?rF3j4W-TBN?^lyZoGB0Mb>Pe#h+sx<-_KG>~w^xyHr|h;HN=^9da8qw{ zCRLLtU09naUC`>^!so%G_=nY+&iXn+MZU<6dlwqSCztD!C+d@{^vQt##H&N0G@T0`v6lq2&HXv`f>n*~K*WC)-%P8e6Ew&NhwFEB0l!Y`qSyOyq%J zUn9@gn&mY1EWe^%LDi$|8q>jGFsqRiLX60tz>cKs0B%>03d(d4?UlU=S;~$(#(w@@ zMSrN#=bvSFQ9jO=U$62Xs(c;g;u~cjyE*O-+I@nU7&vbPIei=gRcixQqRgJl&N=?b z8ouhdcp37mbAM6@B!U3zI&9*-Yj_fOH)6OvX_NP-&Bk@G^FLycg}c~W+tmca?A*4m z3Uw`ySb=D`^B_i;#O^4bs=ZD-oZ5R@1l#HcEKMZ=M`MtAxmH9<=2w|Gs=&G_}Gk;H2HGIH|x&Bf#W{#fu7ob2uUv!X-JGG?2cNIobMD{*9qASsHgE^~|Pt zgB$s$HW*lNGIax^N>X3UHob)}>!MnDp?0oiC5e;+0-q7F>Bgm*19#v+fTDM(rIwM0 zJ3)S!u=T@`KHNJIlyHR^z^v@pU*)UY?wMYlgEY~*qb#0nfVE}Pf`BY2gdb@W7B!() z6kDS;*&=48Ya_id-Fec$H-HOH2JdF-)GrPSIHN5;n=jAIBsdUP4^1jGp>tM+-fN$@ zWz|EE5gZ4$3>98@`O{`&%&_R(f*UW&{I8K@uky(4+y&ZToxVO&%l}b;D2utTMSFIZ z#?t>Ofrr{T`msV>7=05)YH|Xi#Ksw0lGoCQ*lz0dT(9M|0SGO2qQkNwoUo`^MJQd$ zN4&J|kXh)*cxl1e+vN+dP~IlMO>XOEY-lZTsp<&dHK)wooZfzTLs__UC3Vt!$Qykb z7Z6focaYu#EjSg3B|8Q9jQnyHs&xQ)J-BEXksO`gvwyfNp)O?0KXZ-FBDzI${6<>o zw%=de>YV?KcIR!tSZ3@s1ZBkvooh{R&KEymn}8*z!|rq)9%%WTOucM`447qRMPk^x zi6@>k(0^`#=gr1itU*$rjYVR>>a7Y8<+4_^koHV6)ZdsI#r;U_7h?l7V8^xcPOyW! zx!0?7H|VFrCa;}aya9z8jSHKNxEx!#Xk={VspYYiXTeR}Z@}D_B%SA1r6a0xN^#XQ zLq)s8Av_zkMviKmnE_Z|PPo0s8xR%04}1mV2{0n^2N-?od}w*AlkQ_HYkQZ@N8vLg z$7gE)Dv99H7uLi})+gLQnRYRX_a8$D4BB(Ivd9FnT6`eXYSzmDVNs}h;Dpixps9f7 z^Zx;5e~0DtLJLvyqB&Qv8v4N4YvLGGIi)Dl!IA2{-)24$4W(Z^JpEq9;?=;wIMe#r zYp^CELUs}Mq8&dP)Gv&$%0CnWo8t$xd~-F+jZhKePrd*g7;B$5YOkhpu6V2(CzBEV z!jxw|K5M||%R&TGV(==#Rm3D2x(6_XtmEmXos;IxHGFins9{3{bnAJM&Zqqs%3ac$db8T%-<^VOaBz)H) zE6>r4UQl;rQJqX|zSe$~nf}h|cKwpp$SK)cpt9W>W!BDcBJ=xz zM1O?TnvI(FaPqeM(chQlVz-`CErJU}4y7f2_vp3eZe;K~is;}m_aU}uFZ6d~tmk!N zExuYB?RkB~W^@AlxG4QPO0wBt*8r?wSc^tqmEk<$3C8Ivegh9Tr(;hy@znEEn-S1-E*P z9MRSTtk9@nm{b5(-3Wq8d&hp;oE%LzWceFvSYKG8q1%sRMPVhO1HuO0P1~jp= z5C-$61r*sKi%t;FP(rQeSw&65?~JMTtKQDPZ^Rx}NowWlE zmc}G)4Xy@sj-FcMzUnB7BFs!?EZfWO09gnR0NGmWN>Ct(86?DP1Q_&Kv{D8ATYjIm zMEZYW^rOMPZK>*ahuv5Di@=+9o;fqtPUIU=gPOa!4tI_tfs>wNSc|X_@YLSScSpcf zg}bD05iikh-m@u8p|?`StQZ_&VmWqQNge-R_|F&cQMSCkJAdS#X<-_cFbzv<4899+ zozKCFUSZzy*ts9A$a>=RR#I`&LWYi|CT(sMXS(xzHSf!Yt>-*h-RY#K^u2 zbw8sTQeY~XZL+J8y&08RgF)UGw_42I$X)}LiDw`{$0$C;50|q!z)hM zO-tEv_dQ=s+mXM^-77yHZUI<2nS;Y{=On`$(cz{^&j>~V?Hr6MZSRNH6ZpJ+*m_m< z|8CfQW&e-4w*c?QfguAAI*F(K96y0w_HcgU86ZdFO7Gl1{lSRvav?Yqxo0gGmdOaO zAg3WiE&uOx8fw631nXRka`}#*3EI;+S#~)lokKfhpI{kq!wmw> z*|9{O0)NAd|2W40Ut!3rBp!;#Vv=A)hyC0;CrTqwkaAARmi495$6;_QsZRY;oR7x+OCEhd(vK6Zp<7o-iOc-3iz@o!%a`oG;9)9`XA!V{BM~9 z6|)Orv4dS$=99l}D06NDU2!Mq%!95+`kLf#ib{1?UsD~;6Iy_c=zW98CR)!;L`>rq zvpfC&0?9crsz4157`^jM5g3`V4f^BNUbg(y%ty9Purt^^`Q7mXZRYVDc>3|eO=Ulc zz;YNof_X)@e9w;x=(ExvPtWr;z={2Zn@B&w0)uzKo?Cc#&9HY*{{QiAjzWYxzY<`a zhzRqN3gOJ_m@_9+>wWQUOB${w{bB$a!|4O!NQDT*6X-G&prPw~rskbN3)1e;T)Ubp z1-39`R@~a381R@fwdS%Tlo%r2i^J-_!d-th>vwt;N8H+v;VTtP8OHV8tuU^4ldH=+ zc^*R13Q7y~@m?5%kbg8=@Lssgkbi{PtN=lblW7A6unf93fZ&~r$FE>uJ?7#@&hrm7 z@$>8s5K|#O&I-fJhknvdlR4Sb2%MIK^2d;j(0utm^Z6M}q51rMrVn*yM$LBn*!FTF z_wm72&eZvrfgHTsNJ5`YV{bEJVE%n%jxpX% zt@1C45Fm|?v4h8?cSo&;yYUTL3U{rc+|rx$-XDfn{6)(`UXG`RwQ1=|w*0Bsw@BNPN_&)@3h<;&bVdJyV-d`!dz#^3W{=&7Kqo_aWcCHildfXjcNA2~d+qgd7 zUf-%ZI*6iv2Lg(Jn7uwzbt>)kJ!-$qUN5_gYh!$vEk8}=uYn_Y_a(i%-CqAf-+J6$ zKdd@3=cdj9&=>!Hu7}xUp9Lfy^}C5^oQ=_R?EXU;GkWX*Gi5*X>a7z)WON;~dV;2p zs1c3frtOn({%hx+-E;|#GSBI3m$Uc*Z_JYeY{+C-UXkgwEwTF77C#F|tOJdN>&d24 zr?G|o9y?>;AuPY%cibn9LHJzS60EGA+@iJq7lh`bo$#jVxBu=FZ_S9bi*ikP$>nayKPs^LP*+N1Z=kujy9)s z$)&s_fKegrEZRb~lvPp$+mu4}+oD3)S#&qHC9&FLDv=O!lW}}b+!WI#bc9{udjm}>Tu1RT! z{6HUV;1XFxF0Bk<-<@8HS@#@c#b}U5a^E6PI6v)g_O!zC!#2{YWo44mIyRpXUZK;%(;-frVi_`}3`)9usM*nm{2?V}g3WL+csjx!d;b-c`!0Amj{KAgGQk!shO&l%7;Od&9{6Ywt9DW^sTlj4W zM&)F_Kx8?5UG@?qvMxj%KgK{rArnC;y)i=kAQL>&gsp5hCq+%6Khno`yrZZZzPl&q zJ*sF;IseZ4&2@z;bY5ew_tSOP+x+dDdI3`cYM{e~!yxQx-5|Pz9eH0=ydp#2>$pE%O?loG*OX({IL5S@d$-NJ8@$xlevNMVmusf4y~o@`K7RrE7LQ=%AN#%u z{JV{T*D~)Z=GbAbPh&2LQ|l599dFcwd(zwAFPEu>Ca%Pt9bm}g-gsYVtp;G3vpD&mqMw1)KVyUHgIOn?|#cG`J-M7pG|6)exff5E~iYl8Q) zb97v){VrwDdp3qq^xQo|Ym7@WyZJ>F}qYR{Ig`-u&ZzH-j z7^4VZe0V>nNdm86hoQxXLK2^T6pmvE3xd^7$;P4Wtc%UPJE@#y4|mBba`n|} zEk}=dt$N{S`CFMhjPRv;9d+sWP;x6}<>9Ws8<2^Hj47A#KFp6ZI-a&)2`~Qz?eT@% z@bFD;4X;>lZ!3@Db`#~>kL99=i<-}=3m4O1|LxtYqw2+#+yw1u9+v-yd%g>Aa5`73 z)2ef!>S#T}o$`kB>k9YQTC$y52ox04Zv!X(msQ8|nH_s;;lZux5kWsY_I?3Y-NqQ^ zrVamzaOZeIddJ?~s@Sy^wBqk)OD@ms$72)Yzhmz`Pu$1N+cZsGOiQTyC)ItymXra- zoG#g$f9j?ytH;(kWN%|QZEUa7uSd-YSG4KjA5@(PF1F}g75#)F>~pL?UDKrhoaw$J z(ggqh5hHbP`I%CEBtK6`-Rb$g9z;5j75+A;vd$WYS}J4mZY%aQz}`7E6{D1#qd_oV zSYnl-vcl%&j|gzEH)WXKtxtb2l9;?7RHS}U_>Ay&|JC00j|`~4iasCkmUK2#N{?4#|!N=hd=tko6^0d?o3QC3}(*EydeE9+I!q|c*+h^G(@V&A7osMjg|Dk zCa~762!h@=;&}#m(Bc)bYrISQ`J~aMx@;xQZ?QO@1+Ii8_6;8X5+{8u(Nqk9c1% z;5O8pJ*RG{xqj09F^51~O!xL0@65#m);BoAsQ z_e|=5+-#mc7wJzAg4IqhX*K4n;m+^!`jG$>AvP3xf;x=quc9Bu#362dN;%<+u&Pxu z33+UXlbHoa12?c0kAQs;c~6ZhykGW=3Uog+>c~B!A+zXzkGq=_E^Jbchk|Nn+NuVo zRzuA%ts_1gt4faen#|06M(&x}1kKR&5d;a`Z8Y@tz2VMZQxjz+-)#y!s1DM;D&SAn zsxfo=T&-0jPSe(%H{7|-tm9IY#G47^OM0dmLy04L>?*CblRRcbbM}IICi(@lQqAs* zELLK|Mr&BXdR6(S>RT57aLkvPI(J}tb%`u&P4{Er=&4haZnkXWc%#j&MRy@_AFQifdUrpT8e-^ zQ&K9!e^YuaWac9%fb73i_V+d4h=wE<1!Skfd+=0DQKL0(QyUhCjf5p_C^7kq425xD zKl@z&RxJMlc(?2wF&)JU2d5H}u>{>pV%_JE&V}>w?Te{w2&Ni!-eLOMfrV*LSI3W$PPt-zmlQjo|n1 zV1$u@88f1s=?Go|)KlLU!H$Lkz`rtH|7P;*2?G7Z$sKSexa~+)J<&)>Mn1sTCAmyV zf6&|m1KQc{lkw7v!EL)2T!6%gr9fSL%F>#}a|Wh0MMwuUVRO8+!=m5i`f2X!G21b@ z)G57E1!#HQZL;lUlK9^ z_|jn-U8xFpJO{%Z^PmoH;(8S=)OFZ;?J z##al^XRoQ_u|)FgiD4rF0>g%?g8u^cnc1?q$#HEoTqgQJB70=T#!-5!fZD!iE4KUdFt7XhoG5O|`A1 z_)4BDsasGo(q{D}lkW6dj<%aPdz}6yU6jQG#I$NVMaQLPHH^o;lb2=nUxL-Y7?}|b zhlf|(48;oHwL5-(!~KbpSB72*@D7>ZD#GcVB79iFU=TOG!k4>RfQPUSiuFyeDx<}Q zk;#i2Dw6-xP^NTKW?jwA$#*~(@qfxauVkTv zJh#&$2Aj_#-}2!N2ZlSPa0oA#7rTtcr*hYDh=KRifki!FAtJ$im~nwh{DUk+eW;eE zKz(B5Ax%YI(^jZgrPe-D&xXzryyQ-HDnGW~b%wx1rH|g!X2-8@6^-vwYRJC2{Ex$) zS20Gl=*y47Ja>8Cv8gPAGQuT}QMsJ5Obs2E6#5a#_k&tyOot77UKmgA`TN5EA2W{J z^Jn#(Tp^)kJ>47;bd$NapO-J0`tSdM@tK|(Q+4(IdLHH1caxqo*SyF0^W(deIt^p3 zghwkkP^)NmG&aF2Prj-r*~urM=>?Ph^2r<~11G{ER(Vf7gxMu%h#NL{&H$4bJwuOy zU6AEM-dzcB2LL_H^S>~3Gd2Du4R`o-_VAbb}dN0t?ZWGw9jLK{lDqBiFbX#u^((A{Q0{5QIBgNOlRe_S zwMLFxmTCviTmDfzkh}O3JhSTwlGl#PkFVHYOS9r6GI!rb{}9N^0$X^_@(53s#)yqU z$$*y~+y$b_g|G{E9>pEm$f_d*49zy-AO)`D0*c3~`Zv;C;d@xT9)~?g^}xD{!M*VxNd4f{VR8>T*1S1uQC3Al3pxbAUIO^x$M3!9+X{ZTUWMx8(>EWjAQqmIcMz^S&DPYddlXaE7LtE6mdY-)(!ZG*X;vNm^zy?e5KGp;%X6N{Ig4)4|m5C6o1qii~ZI%mq9n#G40 zrfqC`6X6O5wGh6}Y%JfE9e4YMOne4TeDbVb!*?YzpS7W0vnT%N(ejX2s~t9s?=oB$ zo8v%C6^#Lr_uBVzk^1WL&O_m@bG0JrbS8vAagxGnQXA zm472LLV6Ph0zth28clBkl!JT4`@UCb-zRNafIsd%Q1{=>-y86u2hw>4*tVS-g8J%x zD93{!)|3l$sz8I@v^5r|uBUT$>Tdt;o*{#U{Rd2kZT;-zH_tVM;~QJbLwA&W zx7@EqSnoe=>PWx+zg&6$p;+_=dFKP90lA)5cwvi8zfth;s>pO{yMtm+%C-T48%W$V zMm}zk#5dv!@QozyJ{2$7+>g0E^Xp)dmt9JVkY2FaX}c5keW}-+>|t*^eGJSjssj8w zR$bEn2L5;^JEA?0LX!qEe2i7q`Cs7|+WUH$F_GLZW7^n2(-D=a>O^*>utRhG!%0F|t<-kc^_bWIxVb&txsi?~ z>aQaJa43h5q}|~^m?n2E*1NIZ{>oVIs}+szb4~7J6qtE$&YVgjxHu+wn^H3dw?t@1+2!f&mFYbtjVou5Jor&Ez{Cc(4n8`1H?h_#(mUD*pC5c`^yc)-^m0Vw=$_GU zjNZ6%+Nd0yukAL?jI_-Vt({iN!asYcga9{NNAIDH%E9MHKa_qsGWb*@zb`~bzcu>r zD`yuPXd`2d{3GADf^e`N90516 z95Otc0la@`IXDWf%v8o$7-=iNhk@yadG+knR3wq@(99?5IaYjB%iqy!k?p_i{T3X0 zQE@dh)uYj;)VOc<`e6cz_G?9auVZ_XD^zJBaTzLvpGp&5|L(!EB%NTY)pqg8% z2+M`tB3A6#^67j(V6N&BJHHmo+@)E;mfEBFUj5R1&!nEh2U5Qs+)Deb;51gSoezv0 zy_uzPvI`M^Akeur${+X|cwb|uvj=?);b?B_wi{Azd6s`rysAeusU{_oJjvCc%7>Q2;q zi~oVrw$Hrre^s^fLuidEnhN>n7*NzuM}BCiWp=3U7R=_^+u^$&_4m)uZyY-!Gk>Oo zQJBj?-T=u_E_I#PBuP(VBjxr1$ml0e+Mz zIVsT_vtu9D0>rY%-%;{bBZ&0na{X=~V_wNy={-0dn6;Lncy{u`%K$9w#fkNwJ^{LN zW>xZgKvasD@D~M8b<8lR`X@~rsCthJ167}800n#leEs5^;v-C!b)W&E*e>6PAS;k_ zF#rxACYb@&7CvZT?f-b~li?{pRqhkaRB4ZoV}@5Ald=7dkxUf?q-d(Pyy|aZHS=&| zoZ#{>gFn6SPmL7vAKev3PY}RqCRz+LyvJ?+Jzv>94PGhwPBBbVpW8zHCoNSk%xAHD zA{;}M{!5pHlJ+csDXqz&F{9pyh6bib+EbiV7|{+=Omsb`zO5>G6o27*P5e=Gg2@LF zEv38k&OS*DTmPNGdKfY}AGi3Oilg(_Yp5dY{Xy@io2+f7);%9Ir7=TQ*NYFnlau$1 zof(QbrAm8aezC~(kb#3;-qLU7OX<*cD#i31?~=C^SmFu}t`*6z>zDdY`U8w#jATsc zpK#~zD8pDw6s{?=e6?N`J4(vhcj=-LyOe5$Fg_9Qd{{KS3yptO=@ALkxR}(5e97B* znziXznZ|oR;jMX!U$mSxvJG8k8q&iQ zS3LR-kD6+C{=ark*7HT3BLWVcGa94V97A#P?%Ia1R5fP)tnMj8ZKsyRNv~<=2lmFq zz_zR1q(F-wG-g`sn!|tjuZ-Qkh@WF1vm%*o;e~kmeP;AmdO4PDLi`X{te`U_^Z4%C z3Z0)EXPhv0DH}p_$t&K`Sc(!`D)q944BMtC9Nt-&gpn65d4!RKq$O?a3^cF7F>DZ< zkV!NSz`MN9Q2}_hfIAFm)fwuc`{39#T1qghj=1~JJUr4Lj{kPW)9VOewYI_||1f7( zuccn{FJyB8x<4wm7Yy|MkBR@yDL68VmN@nEku3gKAJQq}&$$?AVy8qi!71)CG9)Fx z*_e%j1fQCjO|GrzA7%76I#a7R>~9w9)cQA5J7;Fk;pvwxz01A-fJc)wF@DmffNyU2 z2XDa)T^6a|xcH513w9^xJVsvaV!oOAwuTx)j#BP$v_@pb*S&I}SJYt+L(DPP|1kYw zT!@^F=I|mFH{1Q_oQ+!jf-3A&>KCxDw60u5R#$M5IzsKE4v&U1CPcPw(L0+6f>!UI zLkEcySf+rR$6$nY8If5~CsS=s&IXAG(Cgd_kn3NV79LjfPW_fe*U|t<6hhvrY{{L;$V z2a|HS7Q_&l=gvOlL+`^3&-km6$A0qeS3^y%cke!o+QgOgx>ti&u(#zw|E)Pat})CD z`c=tEez?=+g$3W@m_M}u{ReD##GA)yHcY^A^zM`|p#ypSkE008cK5W}g!_VxS?TU_ z%c_yI&$(N;i!*#!=;P=c#~QnM;YVke8%r%y8ALRhY5^WwO5LHlyot4f6`FpiZf9YFfXuUU;@B73PiEZeD?h_nJM5n z2cwUhQ5NXs?6_RW*m|#3V$*~nfYosZomedXmMMFRc-Lq9-Dj1C2H2wRBj%8XyvcOK zn)FI5W2{=ce#+Hwlit*KWXPLphM!19<3Utu_xXF^gHW@PYjx#yy2`W*Q|A<$V_#Ob zD)fipCLmOO*esY1p%m`FkKf@|!GFx#i+{*^IMe@x#XH08Y|myp+VTx0@b(v%MDO~F z|0N2$CvD2x>CW0~!i#A33iFlcFC6#bgu4kqeVe&MF6=Z;K=SvVYeTYS4w6r%hNhq( zmFydxNRe~0(&^LC(UF^<4q^3B z61uEsyGp`$EjcdQJ~Tbtxd4eQyh3~@_toLfUvke?BS}8&6?!`1bJ;{X^{LFCCh+j*kkYc zpA+UBuMu1j?tGmY!;+e=qS+2yK(o4I82pTp+x4o-LxCal;{|f z`2(Vu&P2HJ-AT_7z{zky$s=R!Cx05Yxu6|-o>^h@-V@| z9Fgk>xCAm7J**SBs#lHdvXYfeA#W!wtT{pb1HDHyAm+Vv1NSuR(5&IE*nsmbO$gYO zs8+$T`d+(_1Wf{>%cqFjtA8ha`Ioo|KNzhgtr$ot=0e&v`_lFM2l6cU-V)v$T<|TY z{)6!4C+TJPA^33rZKDIEAA-_%798>s*pbhPVCM;OISJz#W%tdyded$PK;|_~y8FJr z4Gux@!DrG}Q^R-;W51TEm!tpw=4*}G2m|5ei@B4|y=#z{{BLttfKTRW^^F5V{swhb zbI+_NTvCm!PyrKVW~^wonCepRZ)d|M5Q&`^zyx`qaOcktclopr3A#GhpkwiYe@sw- zf9F6R1(Uu_z(dhy_Z9zY!|R{JLVSTY z>{8p0TJ_BsecAmNyU0iiu#-3@#ocwpMZ#>wzs*c#Zoe9Wk%`W=e9>$%TkKnFEOLOI zjI{;)nIkZO*^4NSMQf9Xdh>oSK+c^-iAQ4L?X5ktqR!M|b=rp2F;=Q->LBmX;%bJZ z*qXoUR-?kP^DXkv_5Tvi<%W{`c{^^P4}H^?*y?AqOwXiV_(=c#XSR+g&esDW|KLG~ zcV>%&_8$JKksy*N;l>@Yim2XEebq#C7aqBmml^q|fD=T6t?;jtp6P$f&}Vnsq-VUZ z(}#Y%P7CuD@aH;e%ki;TFDGk>@k6*~HIp5;`p-i{*y5CcxVm#0!teZIAYZ`DiEetc z|6tgRe$$z4-hXd0x6ckV1(Ewwk2%@v(O6 zPzuyRma50+Lt@RRbke{;s03exStg~tK#f=z_g7aM95nePc%OSDA>SL}Pl7O79>4Ml zuA_qfIc{h5cKv39U!LjgK>t+FDY|aSU4vsH-szkHi;PaC)P5HrH3NY;i;SA z_5bAV1*iVs&joRX!<{FHI%jmhitZr4lS~yqB$I^#Erhbg6z<5GQscEg zZWgj@v$~I4q2|;?wdkLsHE87)ErN+?%}nZ6{~pk<_xroe*=Jeuf*hW<@8b&2ZYlTf zBsizq)LPh*>w^-lh%M<3O0+JvB4V%1oQE3B?G zS9Dc%NL^#DaxeBp&Hne+W1hqk2>L3h67IYol&CY|*RZ_igj^3ao!+zDqiMcXGp9n$ zhu3EcfA~F2mn?*$-WlQDuF_x`^dOj)aOdraL`ox|clp%cf?EUH;m#99!v)CZ!fv3+ zpZbmRB$%v^I)3y1t)prnbU(|C!M%K%U0e+I$#Dj*+goQmn1e<@?2YEknr^-dTLP*N zcP`_s+|+Y29U8d6aBP1~0Ut@<#di)gIbz;oRwIMfb6DRmVB+U#;&bXjzSS?EC0t zY*=AMEvpItWh%QD#*uBSDZj!H%AyxOc<jpV15)b{v z$M4Kpv1EWXqBbMM9-!@^pmv;3pe1@?Qjgi3cpw=~BmCX22?dDpJ566cjBEU#VZCYA z`NPPp7G<x2fSP?`0ZH^L_*E6xP!!Zm+SsWtvI-gQqvZJ}?c_$gVV32-;SCVj=|o z;Fnm_-^AARPOI5NttQyan+%%?Bc6{FT5G27e^ss=u=g7rZbR8AS3EiGqyAB}-JH3g zx>8woy50*o5q7EE(zBCKzeUW9U8d@ z=3+m+yOeZs5mcf$G{1pytX!*& z9@LE)7phq1_-fDpT&c!I^qg?#!(mkk$RdIjy|f5_ii6TBfpd>D#laqP1kNo|33B3i zQ5D|3EXo3UX3c^xF}z@1?)ygP1gLnlGzKQu;*;)NK{l>3%a9i*0is;He zRX@Q!k$c;Dq|mKR`z#AJuDrkcNv>B#u-ump!CrjVE*+;tuh1bHn)B#`|H zyX_xW1EXJK>bzTzBqD)4hw}0zrUcHf4PET?6oCc7U2CN$2Mrmk^S*}7jS z)PBEx9PYFeMgxNSAqfOTPE^o%YX^-Q#A;BmNg;KHO!SOSGzu!#OKCyGdZRKyETRK5 z0jA?9ZMC(nPm8@+`#e6awN_Cp21J5d74e4J)<}z-F)FB)i>P_OzrD|yOsswX|Ci5) z%s%^mS$plZ)?RCE2!L~|gT?U4XFry@K)UMyQQ)U!%$UZ5SYyFt>A^~ZQjx1g-Pr(;>cV)6k<5^P0c#tf_G7CTM zOT8BBZUvcgh2h+P&Buwt4ZG;mIx`*E{#ujrILq4ZqQN^I=Xjbbw_|@+Y>qrfe~F^O z9Q5AAO+GV&2r5kvQBY9kX~EQ()s^F!D9wBtm&-dCtxuMnTxAr^^7mLMQL7eY1yKM6 zP!#KXNkHC1t;k%M%jk|M?!Nam6WOBiNQ9!EsSy_k%j6yiXTM|8go*)DX|?%|@B9x@ za?=D_0e-Q7XTb^Kq$V`jP=c=F9c)L`1*Dso!XM=k*X)fy^=Yvk>w1{?)ETB<3&|7n zeMlGQXjl6~uzkcia5Cq+-C*Uf?8z=M2JWLv7d|XQ^6%}JYjc$ho zL}nu1r(3~91hZ%+wPg~J6>VNjW_TR6ky|GRBJITuoTO5t%MEnW{EJhV9-~6H9nV7? zk+>X?LfvM4<+_UpGs|uH)9OuM&0e}@-&xDsuz%@~nYXnDg@`U&4p_iEuuEoh|KUoqYk@r9H<0!|MJ*rr zmmk`*@?#Qjei=o*I*%rneUn4 zXR&1V>vq65*x*7=ye?y0Jz04~?!PP>+f7_?JpF(c5m}P+M4*UZfmZS96O^z*T!qDl z?jk}&O7R@v5gEz&m^8BDb=Xt_nU+3#gigR=uCc1K8{mGpyLFpZZYNr=7&T{ZhK~3- zERlEdp;}Oi2W9hjZ6X(y6DXN_xdg zyj`NrCIyQ)2rLz6!_Q{-PS-Z9lvX`8bgW?uf14T($EhH0xT2zMOe8 zEe*Y$uf&G#%)C*#^VQa&-I>jUVnd&e4SiV@UpGY(V7!`;(<%LJ7iuqB9Hkips3Z7u z0DlOP`0rME-~YLVoW=NJisi4IRNRO4V@sECT=8JTx&+SjYl|-itc(zVSb#IA!mzhX zVvuo1fOY!Er*Ua08mAdwHRHn>U@*L>bL+a+@J2=#8~Q%OLUpip=tr41A{yG7%;sop z=##ObC>Y*ihE|Nwdtr};;v@f3tM^&ifT$~|*T-RTv}OMEuF`xYVCmhdkY8i4@!x{a zn|Hm-@AUOC^2!;$+tgD0n6AsL#REc|CBI>VO{%s0t&{zTd7E@l>gw{T5o*u$9Fp0E z62~aYWOj|@Zb*gi&l<{6r_zz^8rS-6{T+5Cc5!X& z@5JH_^r#<0M~cWTF+{!wI!BcCl6kD~xGwV++JpDPdu!|bPZa+&9(@SBu2owe+9V95GVG2hRL6Aj$=c#@n~el&gaz0MxUx>aY^!lQ`Zk~gKodw4+AtRP@jqf0?-&^t`odz_5^uVyUZ1%gO9qj_o`ny*+F^LvHSML#vb}!~5^<`vXgS!W@##nf*gUwqL>~!gkLExQU zxoEf9yU%D0ANMK`bU?4KKN^TB{yO=^dg!0(U#3u5whM=GU~O@e159Lc`1{Ck z8^(A9YJXY+I?D|ca3ONzx%V@hKQW)_k7`p@>5oQsIB=n{%#&ee^L+|Lf#0a_9X+%8 z4eK0TgoSm-dAAKkta?%`eQj-p(YIbHizX+&jxmc-7)m9^>n~vR=Yj#FCzdd>XGOX6 zjzmgFrXHvBDN*_$;Q#}hdu5-#2Eg3D2iT9vMir$g`mFw zCx2_s0}C<6mQxCs*oChQ9H!G7@UbO5?O{AB)ga13f zliSJR&ry`^#4KAeZ*ER%r8pl(S+-~o{7{2339}Y`lnkd1<);I`0sKr2r<`$J1ojRi zabeD*p%2X8{_<{qe>d;QtLvWIl%7V_N3!ML0(Q#fLD%CDd zvB@=*YKqkiD1rW|O7+)|)Z~;dZ!n}c@o}y9*}A!nI1fy&nI$r7>8p$hU9t@rmG@nY zws-Cm9zyv(dOiuOucNn5+QKiiLYG+Q)2o>S%=lA>v~rfqZ~J};;{{>3(WRM0b@V_U z-oKE@H<8gTAS}v_OF6Op{90JlA&IebFe)BL^GLIPN^R#S@rrtqYBl!O8wpt&-aZ0Or4CHtWA#(JTPhpo3BeYxKtssIz3xN8Vi~uTd4J z>E4ZI-od_u^5CdSFpf8*=A*veM{Rr_-xm2OZA9yfXVDolzVcl%zQ8<69|`tZ$_<3r z?IY{Fr!d-b^CRobdWgi~ZiNieLaNoG7WF!O|M~|O!ne>QN*ANeaDfBetd0p6zihtC z;6?tJ*4s^NZuptR$d2e}1V-OC!@7vMzp^GXk(Ikc5$J(`D~Zbu1Z9ve7`>#v#8thM zt)u%|PpPATrnh|0py@uH_P-;_i!%((yTJzNSoO8H=hn?Sd~PFNd85WkCyW}+yQ5#+ zxpDNGpqBt{k+XF8y z?{A6xBC||m?+Ve;;sl}sxVWem(urCR&9_K~u|LX`kC5E={1$h{JH@>Ssoy&$*QPZS zsq5Xb->ND8i%GZp3!)mBiRPX=?6k)4)1x2XxncB%p^uwR$Cja;U(zlH#j0_mnC}<% zw)0K;fj0eyApK;e-{+@0_k$}c5K|5=E~*WOtbJ3NK1-QCAa;a$zcPQbW)ek+N?#EI zL6wB};LXf~LaB&S@2Fvxaqw^61G%W($sUcE58AVB#>ePqA(n8KH4)=x9=S^eoKD5% zTjPOOENpBC=g*nyhM#vAJt%n%p0YyuM^=zGp1*P$dOkcH!&7ZX^nL0e52;$T`HMJ= z9J(fVb{wWpsKOB6>nlYcW@=O>Us(rlqy|uO?25@VWvKVifd8S7-HSI7rRZ4Gj(L-D9t8r}4ia*^CyVX~ z;SUV7lFUuU&>sx|xomWEx2l2Eqe!X|x%@&k#4>Bc)Nsuz`se)v7te-6wTD~0X~m7I zX~}+!JkDiAb*uCHEs5}7-TZ&q`QsX5Ev@KPP<8Yj1PzAuGpc&GiLk9MK1LN5u6Z=1 zEw?3&2ipVg3a9pCOYll4Zob@|%4G`~Z6dtd zcldR6O{N%jXFS0zOtri7IUH!w{^Re(R3?7eMc z{?Qh`2odP{jm4i46>J&HB{|t{_vBj5 z0`Q`hD1v4!UJiF9y4MQt;r=R^|F!~$(9Y))qyNJEqjk{Mv{qA}9D~TgEJSghK}B&i z-lv&Ld5HpE*IUQTIXprQu1%dg?h)_L}6+jd$vo%L&49@ zyzwy>HthFZD(9TMnra#hU6F3%;{Kat3(OaiLusy1_3N<`j!ZZ?GsLB}_YV4j z(L_QF;L-77yOux-15blkVvmN{g2fjIJ}QL6PAr}R!yfeRch#nML+D*#9{)$WNbial zY7kEp&my-)F~uDOy}w*9tEGN=LH4VCv2)sZ#K?MPvz*N0$OK zc*&-Jr0x+dvj3#0xJUTA>dtZHupx)>Z4=!B*ws7)-XUiVgf z-!xli96`M+KO*lgH_}k-3NmXE78rsPGKFy}B53NdviY8}Y9%WwBbQ&O39~^2h3p4t z{fpefL+b^Tg{psW5zxIj%?JAeE}p*_ATVu=LTY@|^$Ja_kFCu=j(~J}mP-{z~ubKA!lDox#JOYiH1V)ADtT)n7XN&=cy${SOo` zVWRuti!IRa7rb~jX*!Mj(?xo|5Ga9qvZoalDFF}LQ=DAsYUL5}ciav^klre05jnhA zYy|ThrTj#N<-4PCW`}Ic?=fF4dLu+8?N7T{cV8TlySB!i!2(=c?>tZtljuC~+>Xa1 zx#hP}0bbhEX?`{J=`Dj&W8@+G0JpGmJrRk*eMaf#!7uZHt8AZj$nu2;4*VBWs`nXx z9(})?Otww8^i(4EN#GH|7$~^|$SK^*PAoOkrECmoT0=MF8j zk(v|HPK4}02~HMBCX&Zm z^scm}XHXC^AiLjXFMhLNcYmjS!hjRP&AqAW9^|G%d)R#ZmAX|{o`58XhI;ZCc}rui za~YG64FBmie$3O`hQ6oI8|btA*%Is__!ArKqWiZAVawn3fbnyKl!4qLAQFHNpK?vk;U=W*+Z9*3Yg{VjFA|E^R4}s z|9UoJ0i*j2Lt&hDpcV|`E?ggoTaYV>noJZR#RD0RK*~my1UP!f*+%uhHxLP;`rjL< z52E_t8)yik>PpqSLDXSZc7q045EHR6mn~x^AJ~SIIAY`7ay+e(AEQ$KafthpQGsx0=T+-t=a`NXAMGFp>6tBjSM813{=#RE1KD#4_E|U5x|7#~j!NTa>P>tH|6C9b)m9 zn}67BIM7lAHtO_4tKb{ap64L6UVqKJpo9qRJ9m0A|35330p z^GbK@!)da>=mC(1EWyrf#v_}EBN;2_K-tW>zp~C;9>$in*0e6WzCPcnOl`SYHMn(a zpkffsb#=$!^AJ$2Kt2)6JUb}C2sn$>=R^+IUac^pcrD~MQM(k#Z)un7_m(-yTqM&H zWdUFq_`_vWrllQSl$Pmu&B?5w{J!4c4l!d?z(tX_n^kiQ@v5*}VXAj0W=!{U=4F&KSM(Tya`;ck3Mb!1_$Cb}QiIRy&#Bo9~I>a9u5*IR$U5Q|4<|7ET2xcj^dF zhP@aZSMId=Ipg>y#Y}pr7W{Jvo36TJy1DnV2#!0tX^Q01j~4ck`{i##vsZFefEhr{ zK(gMhgpxZEOvt+WsFgchROInn5KLkjyc?!IK4vr9#P|Q$JnI_fQ*UN_$FXIL6Loy` z%L5C|CoBC%r8`Q$c0f9JRzEJMzu7sp`7;~97)Qjo%Qkqb(ER*7s;EWC?)_!YZm4}$ zyVlBcwVp~mfJ8|OtG)jwhw(?+yUNg=Z&znN{i?In=x!FOZU@Vky?eBr^)8-?)Ysye zC<|Y;8(dKS{o~JkA9&8d^asx#_=I>)nY<(&`MISk z+I>nre?xPJN(`S?komh)?T2W;copq~43{xS?IaYGpa(&`ACh4AnXxCA;H#b|wj%?` zG*DIgqXSZ3EbLS(heB>!@`RS# zhqtPshq8agfNo3T zp8mA)viO}a5+GqnlRB$JN*U(ROV5$PXNglq5x;l^z-i8@{5iF_ny#Vt&>t(2gLF!yyytYo zu8cT2K$qRgMn01low?O-4)U&z`jiZ)<`Y)OuMX2Du2Pc*F3=t8+$iyYlby=kqqfvL z&#qs3_bjL}GC51bRG;2`0Jbg!g7eT>I?6<&2XS~c;DM8??v`4jn9`OS{1xObYX~Gq zlBWgK1uk&MV3_H)7Ooo-j-xzV<1EoTgNVz7*ddjy8%#WIx8`Pch7zma7@W+VkQnpa zsfA-4p2QKGBR|Zv2!_P&u%#M@T5j&bYHvQ$Q#zrwAUZ;mW?i~lqKb0vZ>vx5-p^So z*?xMr<78y*oZgMPr&QXUr8n_6tw#fNrQj_6Ie)V#z_&2GS($}LLY?k_4+8Et9Mr^_ z3&Jc+7?l#mBZwK6sS0uV;3o428K@DGpXjB z(LlR9y$^vE1E-Q3p)OrAq;fiMfrJHp%@2^b_3O(>Zu&Oc`7Ss=Z|M&3@DFtEEl=;h z)LC+`nXntQADyhOC(^sI(oFCE)~w}Dr?fANEoN?K^1b+Z_1PbQ&L*tBozAnC06WWP?klR#A8((esU=P;UD zbei!bT>KQlVM#^v0v=wr)>L?`)+$sRO_ynqLU*pDv1D#G8-5L&0BT0sPMl856PZVq zrYD68%^zRIio7V{&WHcnjndo$U8dMh$*kGxmENj}K1u-GoNNtam6mBN|06$RBLBb& ziuf0_`RHud`TYj3QL1Pb<3w;$Pybu-pgJZ>y;Bd}DRz;`I)He3S)95AX|3TfvX znh$&;-3)VJ@avMqBZWm-Z?aA$E2^2O9!>may@P_Ic#Pp&ln>Dl#PnbnXNeV)BRmz~ zfHpk-amkW2M*M?h|FIaBn(IuXkP3d-2ra%r@tLi}qfhQ~pLQ`?`PcDSWa?!0$#Dmm zeKHL|X7=XXP_nT?If%)XjaO9D-01!KTOuf@8l`xDN0Jun+o+5+F3z@548nZHiUL)p ze(rFMT)o#mz!sp!vJHb{6Mx>N*vy^$wOYQ?LdqfW0)Yqbt{5$@M0YD#MK^zF!85-v zv0_~Fq^2pgJu&ta?p#}|%inimROjt)Ms+H@C!_iaI_ehDU^4diOLz3;@Uo6B6<8(K z_W~9OyvbqA2n-Hnkv`MQ#a|0U*vcmWAQF=+b_iF$z{e5d;slO~c<-IX<+8(R& zBVw>2(eyOdx8bw>FMgHYYQEV%t~y#6|2Or{TifVEK8IW_?fNhe8HCv_i~=;O@yk|7 z9sozX3+b^v-|`I@6haFRLgfigqYGyO>)}ktyyfyR*~F=JuGx5*%h`DCLWS48Cz5CH zTVH2rxxf2YR@=NIF5$*1|C=tlLa!35|H)f9Z+gcCoqCK;>2Oo8^&oZj0KQ~V$ZP6& zmQUc0&gWN8&8MEGiZ$+-SCe7%x6u(VTu+bRLvq(>=u=)>&BwMU)Ybf%yArwRc6?g6 zW43dZwJSe$$aWMAUQKZ6*4p&cHGfEq*_2={&HnOG=@J`XXuj_>s%*}q;(ZiM@7~*4QbW|N<;7o_?@HX8*za5T_R*=qxHv@k zA>#aa{z6)R&AI8PXt(;<+N6Vlmr3FES~3BA7wiY{`2>Jwo+xyaJVa~+}np8 zM>2oqeA@zsAE^_l{}B{qCFw7u_Eh)o6~K2wZgGy*W=j;>@c;FG$2<7(BF9Y>`EFnp z$ors~uYeD~NOQRR0IuLljbzc-RzoC}jcxKxyyo5L3Z3qy}fM5*r0%yU$gX`OYh z7R_D#MinM+oHxffy3_dXD^e84$Bl@(hC~ML5~9?}>Rmi(S1jA1UZS|UOND2g!Yd-H zox&UXKtwn>U%8Cy-N#v&Rw5eAHR?g?dVYWI+??!-gp*@DFf^XshIgUwbZVh;y&0Gc znBWi^@@_;Ho0d9`V&AbzJ{QqhLS1@REVFy0vqW;~gyh04^@%aOUD16?Egb+qSM6~O zw!V?aSilsM<_FlCDXEcOB@0pO&6~lU9b-h7hG=u%yvcdP6+klgO5gK=66+ak3jf-$ zcrRO@>TkEze{!j*{%_Zmsz;2K%o`fH);oaeHHDF&W;H|FlaR*Lu}pRJJ6p8_(@@+o zNW8nPi%dJvrTZ~Z`n8&|oEe3$E>xx^wu8ts6i+K;(whw23Z@XbapB+XEZ&R#=UW!m zTXrP3a6Xp~#X3d-s$?Znmj*4F=NbJrJ~^qsjeO-0h$^~;%q5H`SUP9)&>6wH5d%h0 zY~oZiP>zrdij*hSaNqGGJZThbxG>Oc_}XhAmbI+!a^m=50gaXQCC zHOF@9tcZ5(C-NbCGL7q1`KUZ*n-Hsp@g-Fmn!GLdNn7p(ZB1jby@8_oXmAVJx)uIM zw0H|4OPA?g>Ur!vXX$q05=Pq!BMe_Y3p1mwz@$6bG_izgl7$Hs7Y_+_oGSc?yl1%C z5kHx2K=$a463Eh_WWLe6bh>6%N1y1f_sr$Gxyp|9y{t~tDjOe}>pcp{yXPkK6q0Zo zJ2xaoKb}CdO6)}T4|K#?a+*NFC|j|TKLh_cOE;f%T$ZF^NYxo)zYJ83&I{53^PpLs-Y;HFO(>KbZJOi}H|U&gslk`xW~@8bN;cK%F#WWTCO>sp<%a zeh>yvq#HJ&qTJ)4A-n)1Iux{eAcaSqs#o$dZ`88uZ zOospgRU2+2o}Y6;()s<>^=;u#+nRPdnJX!R?Ia9MJ80cyN0qed+j2W|PZ?X@-f`ML zs>Zqhmb&lJH#fgbw}?;+&hO8>AQ67Ct!bOHPa)I5>v)RsO8=IG7tQG6Kf(3tF!^NXOu2lF$wW;vCfFczRD^-|p@J^>LA0ODd zFt#pkhdn7@?`x;C-nS5G=i4I5`wwNm>DEd}auta_u>A2e`JUXLd`JY8FZ)N)ygruw z2DO$Feo~gONF~^fDsf8}FP#7_b;bGQuZ&ja4>lGs_1y)! zZvOj5+41TN+#kC;d1)|K?M2Sl#g4kN&HLxkhQCu~u2niSFN$@0r=2H`1sc)!|Ae6r z)=9-Y;|Wd-bD9*7XXZ=~)z#u(KZha2f zgIoL=5Huhq9HdxpF0{%pHOI5P#TWK3MfMCuZJ9~*|Au>4MzIiEKjm}>T~_BF<6S51 ziDOhN4{;0kndd6yHB!RxVnyI83wle{Dveo7qB?B1`V-{t(i9Za}v1x5MUpr7z_ zdGizlb8tZ{KWCQ2zP}$(Ljo_!6$k+p6D%VwTsC#i1 zxKhaHJ=PgHQ^pQD>{U=pjnUo0P`CBvy4E zzk-R8tTcK$U8%ivor2k&GVvT!JbzgPePSw(?R;F)8Yla0wURe?{pRXC>-%)e2xwxm z^g_;}YV(;D`r%WPYFRyf=}t7C=^`z+y0a@^35LGW$h3{QzSFuow&)+B2&t8Iso|~g zCas`RSYRZ99T^lS*=<+U#5@gpE55u+($$GWtW{TrJ?exB2Rsm3RBYAC<9T>#fz^o+{y zTqE+666*%W4KI&_epkLwl(yIHSX13mEqAPGcPPTjbqq0j$za%lXNW^op}LqD304+8 zK~&A6&HSw_TO{$C$!4WT<%{~3*u}v1dd6g13&^%`MGln z=Y&^p9_bEU13<}?Q_wSmZYK94 z<90|`v^EYI9qm29zaQth1i3JZH*JA9pyIatafzl2BOO~4`Gp)LCm@e%bK*O_``D$Z z;BG)kj~=_#`9yVQw-|rim_O`hRtj+OPD8TLdg`vc+W;25BRzjiDD~6y{Q8QHTW4kF z9~tVnsWsOVXGcfn5vexTQF z0)!gq5(BZv3V|EzHd5NnO@rq>k#T}>@#u~NHo`o2T+eJ9oItlZR&TG1QeJJa%CF&H zI)9qp24G82(I!DaB^p5Wf>i;8GEV#Vj6DM~3dboU^!971qbN?mK)X;Z&oisOiPp2_ zTn-5v(kXP8THt%Te&tOjpI*T^q$pRt1PrT~sJ;#3HjYDIe5!7ghx0xIr%iLx$EvV@C^V0GB{ApfqJ22mcn<(T8Ocu|X>X1L; zn^M;8=D~G{Ih~Eg$uuE(741zc*6;z<<#e7vLu}|l#iI>P-~7;-(9;*9_bno&*8AN{ zyD5EIL;{@J&mfAyo1yaq^{ad{6y=YeOM|-W)Y2#avZEhNOZr~OHqh@8pV;_!;e+(O zrNRnB{%%;*yDil>BVKo%5xgCuDslUhELd@Yq0qSO1N9Bd~9O(Nf^rAycg z2SZgVKI-*+!;+TQ(nx>_@+*}$=HDmurS@tTnd>aQm?3J}ZeceRwL;gVPM#&6b*vz{5pFb zB4Vme(CK2d+4I8F`Zp_cqdA7EizkzdtC#%*8?%cuaZM0d6-|3Vm#RFoUiG^j%tc|s z(z6VIzU`tCe_rpMaH=S5d&gmrA{QtqlpRXPEswJj$O$>w5k%y_HC0G;IqIh@mYd@` z`9mYW5W2{%(FUlSEJ#4bKojH*zNmyt$DUHcrFPb$Q_Xu&_ff&PjjJZn2;~9M>oh#? zV@d*Uowus~!i1r>oM-miopAAj!t067SAFn<^UNz&TMKihc~AN!W{{M$`*ySS8SU38 zeARK`piq9o!$CRkR=?1(rqJDWY1;0t`YGx9XI@|A%rZ7Y-}19Q%Y49y&{=e|2YDmu zQN`_bX|m^D$-TK^d-OCpY zvQ|CC6$W$1)zTKg-EM#Y;C*N>IzG}_0W#90TuPw;9~A3YuN~0?k!M!>pd+{gdG{4- z6;bHtKpRQ;9L7`Jl~VXM*uZyG!)LuI0K8QfzlUQj?<9PS3715$;{T60#O$YFrvhnS z(D{QMg;T==U;Wh^piCiqZmd&9kUhhFOQLgijxJiO z_WJwh>p4p=F}Kayejt(r^7PQN^gq>MA&Gr#cW!nI$OF_D4P1ShX8O{Vb~@((wj2?* zrrVU<-1arFQs*~h6=L&=M&CF=o<`p!r4+5hP}|YI0NjGv$lY}{nr2(hdEmu~ z?NgnlcM9Tk9rtSlGVY>JdMLI^e^i&#@}ZZIJ0IV_awnM$+)BjhouuCDF}*8^=6#(m zt>kj1)Vuf@?F3B}=2Yr$saKjc@5HBe3w?H;XsRnBL;n}&iI1!glr+xRO5)5-8G?r{ z0?}0dE>E~Ge@_oT@*r`1vf>^~=KoRWWAC9{4A=91+|`_`Yut)+ctGGKXEDMB#y$^G z+m4REqXATuk8jh-!b0E049z;7ZxfwlAPqi90!?&nn|J29X01jzoj3ReiM4h@&0Xq= zY!_A#aF&kXZ}Th#vp1WF%M>C02_+f+s?~&XVUwovV6a=nwA++nzWtG*WlUZSr8ISR zjZy0GHt*Z7;q|VlMsX4VK(}|-IU{GrkNdRCt1u1zB|Ak* zZeu(t3@*8aPviJi7B--S;m(pP=_Yr>9NN3zZ7gZjIh|4<;2^9!#UQm~&aDc0^C$1< zGtUG|hN6ddP_(m9>J{*&RBWer%`$LsvWpmkv*bShHqU~}Nu``6=g@ZZEdHb}X`Z=+ zpXs#ONt?9t4Cn@|v+f)pb;=F=Fj~uD;8AJ{>?`*{-g^KQxo*B{I*V8TC&VH=gU^DT4QZ2QYG@VuEt`ft!Ou z_SBoWGII;pwGZ|l`%q>bzD$r^p{pw1eTw4Us>d(UAG03L;>9%})4j#p6crxR5 z3yY)tBnykTi^+r;Hg`V!N_qrk7~x0%XhB_;1XsV(iKXmx%92T3{F_C17rz)Jc~7!?3lny=sHiC-qE08X_q3Ai?HZanYsjw`u&@Zd1;z{&2_kR| z;&ko>v}7jLu|`F$k?yzhVuQY?LqMOkAhS>!wN4wQ0FktM3$1e1XAt#P?~3(8iEya& zl7@zJ*H~G{cZ6?s$m#r8O(O4rb=2~V>w55uq)7nMhu{cIuYqkBHV-SbFYQ)_y)DoP z!mV5Ar|K6V%K{he8hnhzwDgtF~mA~MaDCVnsCU&Ma`wwYMpkGkD87-n${y6F`L@8#FA zn+sLHDw<(UIN2m`IkSv597Dswu=-vMu-kr&3hXu*(G6}Go)op%mAq{IF-i2ltTTy^ zF-Lz;7z5}zqc90_fEAAA&#m;9YE^ZjuCs2Qve$w^ltM?wQaF)cB{<<((&|CpK|)|&Zr(1<6sx^U5o%bj)cYCWS$vPvaL37`nTOxdE4Gld#$Qj2S?BfP z1(;RO7Paa*@4-W81iEM^o~qvw0QKd@o6aZar!@9L+EUonl1nrN49bd(8}_KtV-<6Mm5D?O6PtY;oUbE|b>j96pB z&&j0yyp^q9IJ08h6W$fw{>*e^QqDNQy-f9L#>b8jg6o0B2PiVawI$*2F;?%u4H% zk}dF>fTlh-ye_(|A^3QI^;@jox@GO*Am&Njs}AyRIEkehPMII6j1f8(VuRLIic4AA zL)1fGa!kUIn;WzgKjo;0=5gf+kT%^f2*69H2j!xIm zh(amkMsr-s2UAWy`))C3V>gcgm>gU@Gi@3-c&+#`jyzW?q4=S}WfPuj_TM=2yLJa& zK#Mb3ixM$Qg_=jXjx~K18&UMeM2XV0dw2pR$u)HE>lo40cnjqa#-D^Il#J|K$%XmQ zuke|<8t<)1LRbHz3X6A=MOO@n*wI|PjW6%v3E=XZ2wC~A>>r_90uLQhC+I%e81j1G z!^IrzpzM=HlvoZfuwPu&pmPm&>S5cX)GOmQu8Y=JbVnOB2eWeRM+Qn?g+m`0c?<-~ zm*$Mp@=tC^<}ZdPut_xHZov9GVa@wXID}R%muYjp~^MSo?zOwGrLc9^X z7Mi`1;yUL{1E&@yHPL{+MSRuzk=HdanW1qO#5?D4Y8W8>Pl@v0V&PpMS5x zTXm>(IW3QW{=A#YnPQC3o8foiQx2eP@o&Pa<^DH~eveVQ(T)-x%2(Z%K96<#daX=e zcr~MH8Q&d;^d|iK$NEgwLSmGbnvk#h7GXsD_>ss}T|^iZ!eg_8!c}MU!R_JGZhk?; zyT#1J`Dm@a*71~^zfkvY9sBk+aGyziUkd7r_>2cg_q7#Z>oXylwF$TYd(mI$UR;-o9VgIp)5 z^3GqI$`=3;3#h|2@eAtp<>s%5R4icL=5p+)0h@SQtsH9*;TFCPJoQI%p=lz^a_Yqe z6UUa6%ZJ(;9!X%T>*;2-_nj}Rb1dnQOwTU5XErrx(#|(yqmc1|W8pKupysnPAZbj8 znZ91|2al9maUEy?Z7ieTHH3!}YGTL|?FbTV8u|OFDfLW4D8PjRq$ zcR#eduXjy9zS09~oe$8Eyo7*njlI|<%DzF_7m}SW;#mDEOf=s~0mbih9M_vD!GC{0 z&ib5wj8>ULSWPyB`Y}Qkzod%mY(JKhq2qkXxMZicZ4$|^DY=SdFeHYN>^D+gRLWmT z>BsQJHy+%Ly;Pz3L8U#bQqK}&Jl6J)kMtia{Z*y^p7h@DTeva%SjU%<0++@UJGYJJ zoaDpz1<)m}IUFt?bCuu&74XzJG+qYbvD_)d`X+tB zSz4`L6h_Uat<36ZS$*5s$`t5$Rvk;=`pBF#Xz|-#JsrxBC19uWa>5~Vx-3UW>7Ek4#xQ-m(j7wdMY%R87Z8GZAzM%1V=qmODH zW`0FFVY`D_Wv#cK2#vUg#-NW16D}d0=AN5eY7PxVZ$G~|tx8$ZyH)fNb7~68m;j;5 z*6Py>#~g-5oy=FAB|{imvgs{n>8E70b1gIpn~F%;|29+4H%yp-4wZe(X(qfg+4Q9~ z=nG)y<-TMG4yAy%9^m&*G=dE*+nJD7@uWJy3@V-r$$0J!(_b%4SN+C7?2yRFL++)^ z27-07#-Y)s0aPck#=`vw7ZgkNvH%b)BhywopA552+G>kUX2fyQ3KI@&GJU)w=FgYs z9V5vFM`ig$WuSZQx^#t$AAyT3p5!{Hrua_;v_5@=&=Q46_*4N2%L-oyuipiPQS)1`x zRL8WQfyO@Il4_JsvqbJgGmH2NY0d5O{xlxI&-5V|*aOrPs!X*?BQZN%FkYB2g+jnk zAsWod3u8GolXXybc2c!UB=S0vo`@ zd|Rry+yCO2GpU@7CKVtv-%e_Sw~K;_{ka)=JNPSpZr~SLzeFqR|I6chC44sjTz1 za^b52y?>6zoh;0pJji!imufDXFC+uEjbSSl_P%|BmhC#>=uM#G zGB0D08iTyeG=dk>j;96SCHhSC7WcU^JcQyY^pi&$=`@$R=IG?W6vp6mg7ER~{i`qb zN4w!zgW825GLHi{)2j2K-pkB6?K5HW-)!VOJ{LA}Ftb?UVr-PA0VmT)dUE2Q%@?m` z+kknzMRysd7hWuAu%#ZKHWWj#LhZrELirXJ?ur+tv%?OefWTKM3~9k~G9rSG=T2~Q za~qt_%h*Wxp0NPWtB*dPXgDhD>&V@0eTkS?;Jv@R=8qC1^z7FtYvs}a8rTzYrG1`B z7Z+)Ynmdj|>K460#v9PP_oN<)-WNmK)jwD(f3hV$bJi`Vaq97JR?aAIT&$OEyh5nE z>BhP=8J#8O`jl6jYMiAHk;U#@7;DZzGX+vv$xq=FG-rvn{k4@+u*Lk5J!-P>!CkPy zs;qBqjz`H&KB#6D1m*hKs0rT#xydjEeuDQuuQEYQ2l*zGU%ZMDoAcO_-{D4gtpA9W znYF@roLc$KN4z9h#B5zPAJM4-BU@8kPg$RT^%ajmH8pPGGjOwbJ$u5A_+>LD;WJgv z3Ul$n2ANV*+=seK^r1b+a(c0PtqTWShTQ|VN4z>*l#!lkANfTNC3{Fp-!qo6Wq}RF zCh(8Ue;}X8J?-Y6MOmvY_Y8AY{!|HHEtLj|1EWH?2KwS?0u>etALm+z2dP5VNCtz? z5kPkhQTXf6twHxeeV;ClvnASbhP<*PYVK}{&{LPt=wTK59~GKXU%b{FV3=wRE-VkB7{jX}eM7E^&T8&^?V6*V2hJH(_-?39(YyO9 zt~qdZ&#*$aCRDfLYnbM%Xe&y!ZTx;k0Hg5 zR9hfYdYU$LgOsozju&CqlYf^Fv}5q2n%19a%& zpvz>$n3(w)D6CE7&Ztl38sTZ`llg1SbkrJWG9Oc)r~)%<+KSb3=+Mr^+{__aOJc~Ga4XVjR7ML` z?>u9!twum{T2{dLEkE+hRUz-{!@xAw%~o*+^W)Q(8nbirz6P^Xt)?H;(d7>*e?z^w zE?_ZnthA%!cGGq|Uk}6QbRI`Far_fWP#I6S2==_**k69>t_A-q;xA+n;!GM@m6x}1Uii`Rvn`={vXs^N85RgPV~ zxq5X^bu9d1cy%oIOzIKw{(p`)6+1>1Mh<144-yB+{ac-6OSnV=sGqboIvfQFD7 z9?zrR&$zB&T#w?i2HM!$`QPyM)^kBHL#e&}5}29`APZH;Kkch=Kpx-!Wk?sCx<>^w zX1*Y*1rpQ^SMsu%Gqzwu(&o_8PEUQy9wgJAz z3KvWuVM5)BLqgsqUqpqZbT3^z+b+N#OwkEngKR9@J8zx9-Z_y1{@&rfSF7qB{#%{< zws{%qYhsxUD6AuxaRb^%sowl#3))h`%$u!RMTp$!lR zm)z*nUtHoDG@fSFHN-ApFNC+Z7V2tJ_s0vDBWBffJ*$hWaIbe8 znB)}B2Vz$z!$oY0{Hi+sB<)VnKYe${ib{hX%Gbov)|j!;ZF(+s5KHsq7{pnJpwjR4 z+^H#SiP-#*O=i&En1d}zR4qW}*#}i-wtIUuUVw`gOn~1yRNlLGIO;=gv-jy}trMMk zqj<0|TA}K%PxSAqt`qF8I?}95fT{i^-7LF%@tn?wzk@qpBW%~{IYOG?c;00LKA~My z&n}v1@DeDVMULd>@NBKqc_;8~QakML2SH(NG?G z$$6pFwR0|BS5-|YH*w$5r&5OV|4+?c{*5ay`MhSq7vC8Y&%++ED%YAO*;jCmKRy;fDdQKpe20(s?g8`Dli2a3 zBL6xrkX_UYU<(uOxR`4nbHKh>#GI&)T}fSSstc1-5(hG&vD_x_B5KU+8SZ4?t7Nv8 z{+>Q$_6&BiU3}Vo>?}RYL}H+SBazFUrF)rg!0$r7<$t2HjR5T*b(Cr8AX<7zcb2T; zO$We8PY{9$=tF#Ks8sa@~uv{#In-Dtqi`-0wOlw%a&k>f=UG41hEyxoW} zpc!&gpsgetoYE*oBBl?I1^Xa8&g`jjIwuogDo#AoOocPEe=0Kj)7H`84m+=zJwu)B z!(c*Z>Gwc~nLR@oHlLY2oO~Y>pccp0^2Ch(TAEdh6~|>Mru=w^6L;^^9nMmT3^RN7 z!66*6%dfdIvuA|$f|c2We_5yV=eF{&t^D$`%6mpp`BHEVa<+D2-)W3@z;DCy2snA)@-h$ZAHyx75zaKO;bgM32)b#nfXFl z^7ob8WRrVra^E-l2R~QI2ifGCY;sRo@>C`7p%+yC1)IFOEO~;G|7w%R*yLZ7CGW4~ zM{M%pHaSz4ymLR2e`b@9u*oyak~b;&2AiBd+zhO>EcrntPq)b_n|x$h@=uf;v&l!= zkI~FFavdOmvyZ0rB3|FY&Z#KuQAO|?>RVBj(+x73i`gC)F!@z%c%l%a# z?z_O9D{ngd*taWC8c*x1OyJP}c120b;45z5hB#sbx=2R&V0F29O!W)ULp95gecgZd zK9goIn=+dBAvhJ~(Yw;;;Oe!%GWJDD-NwO+$JK?w9B#c!xsOK(VQ6ExgQ4qMA{D)l zuwRS=Z*%|o-A&|{^4}Kp|L}XIjbnTQdK=y`v>%%P#O2fE3(-MTa2}Mw@Nzz3gt(PI zl=|ZNMM~$Qz9v>^$19xYw7o@Q$D3_U@7f2DA3B_Be8s?4xdj!UcA%Q;C%!GwT_VEM zYDE9aTw8Rfm)ST)uJD81>8}1r;ST+yUNi9Ss8Jxw-DO5_S*;=0eSC=vrvG@%AU^rr z14gGya?JZ~;p(t=-9OAg%+xKRO=Hc_?QPiyAktfokbtisJ_Xe7J=%csLG^(YAEz@H z0jyRjUk`abD&XOqcmE4^%~&?z|IZfw8->f5f)|g1DHuJVaPgmit zCAcwD)A`!o$Gv9Cuv-1}zVsvX-tUW3(qCoWKk(sL0GxYi90G5xfG-g1KRgpGpukMJ%AKcknm?z2+7 zjV};S6Aa*Zc|bq71z5qtgcn~Gg|OB8l7%DsRg+4)W9QeGz|_qxs40Gn70@YEHr{hG zyD#zYr0vMr)i4b>UFYZ)%*b!K`8BY^cdh>&(XW&J3J{BU-nmK2)tTMjvRc-e-QTu{ zmK}A;NT**C$s0AdQG!h!i4|IJhgo)(>`+~qHycn9jX1_O1SO|o*z^$Z&n6cJeg=X6*x~RhIf{@EG#}c`9G#gdCht5-MxjZ>KafzFiDs z-Z#kQ<5!|a22p^XUvU58!&E4ID13?X&dI>NOrcJ$p@4bH+Thd@{Tfv9`NRI4Rq>-x zda}wA{yW>HdbIriafJmJT4kqmB;D-23;#mr@M8D>F9=ru?YlJwS|4W44Yb+-&?-XF zb_3=b?W3~2&imUDNu=!-ErF{8g6aoXkysX7r3&p22p0+Yg_J8p8*@?eS;*ThdE ztYw68Kq?Gk;P&VA&7AERF%3kGb3u*TsT$*Fd!Hsw69pWTv(k8ywfU zhf@kTE@`|5`gy$mWzL-E%io)qK7v(yG5b|JQyJZBgC7fYy=lpJIZPl$H*8sF&3j$Dn zE|9g2Vt@Eikszx7xw85os{gq%xXz3?YBhR@^FYO{TxJ6e8yWJTWf`$eCS0*B^E_c> zT41rvCL2V4ndz}XSlWzdgP@hnb{j;>V^rzYZqTuebdrLO@Yq>eS#udFaR;$=rP$iC z*!p0aGLf>_qf4=p(g!shQ;L<(+aUJXQmk%Kf>>~*U64$DS?uwp*rUs0$CrAhOOv36 z#!{?qf`VAz8key}%VMLYylz=+ywqBIS?tNBSV>BPdfieD)5>C#rP%3ZvF)YU*=4a) zOR;mxVyBg2=aa7P)B)XR@Bai-} zf{2sd%v!Ep9uK<{e_+ZM?k7cqfy%O#7tZdJ6m|7x^jwpL@%yF0YoxUg?Lq^`zYksAZN{NK z;%oAYX$5FidO`HUMFF^bvD!EB-HU_qWOg~%Z<1V>p{Isb7*J-9Mz{f}4y8t5>`_gj z3i+SmKZ^S0k!-b=hW@kK_eY3!kwrA9E9vpMX>R`ayVRS^_0?>*LXCK^Lg#v-lKDT? zP<=B0NXYyYZsSL?a}LH%HLPoYO3S;dyvMZ4!|qJX+;+Z#ZgSzwK6mFUINXwj&JG;a zb9VS}g-9C7T(%6dRrp=EJ9`tx?{PysE}vD8sp(e zC_9mZEL!xqwqL?|R9+Zb+07j*QNg@di=Q$_v5eD)q@t2UZ5kNW zPE^mpsHsGG1Eat`3%3u9x_~JB&8?koqx}^0KKRb=C{$(e(!h& zS<HYnn&(~c>XqRe{(Z0KY?*Ppqg)d4u#D3vb6br zA~kf@qP!kh4n;6NmivuWf@0XAeYraoiXzA*062ia{wt%z#LP>qeDcQLtlVC+a&z&G zx1h3h+(ul~wG56u48PGg?w#1GmA3dn_yobm&+k6v4k6!Z)%=+W-Uzn9UEkdP-QE45KEk~C4Nm|HFtpFK!p)9g%WXHCZq5FnD?L6?XUT{qm{*a1clM=oBXjtjbM;l1T+Q$NZ(I?X zp@WoS-?;M1s|YS5n2LP!VuG5O$kiQJ5)^e6x%A2i!4(AKXK=^foe>CMan(%ay@%kj zd+$Arpk|?t{{*}E(LaLg`H@Q!3;3qP`G;Sy!;ok!h|e06-F*5+AD!bp1xkYhlHuN{ zs`3x_P^zuaamcuLEMx}B>MzN9nY%23+1hTKxuvWbDkMRGK)rghE@ExcVN^=qF@-xbL~&m{sW^hO6sT`7*14~if;E|*pX`{p+n*u>~fOA=OBmL^AhDX!ip&XcXL9}cERSwO@ z%UsGa-)5CFpG5s~EMJw`=yrp(~@7QUanR|=L)c7mUNej zd4)kJbQjFSHxQlp55uN#pg*OOJk;`nA2<)J(pEG)Woi5tt`TCE0}P)qnh)!(__DDP z3*~1ZdSEQ9@qYkhiVTDS1I5JpU~vA0E6uOjnl__Sun{Zs}E{tZ^62 zy(dDh!qqq(;nv%_Xm!(O)(lSM>iCV2q{j`Zk#bd>WV2%aSIdi+ z2Wj1jGml%0dySVZvR^Q%3k7-pQDbV7oq(pHfKp@GBoK%D;(+q-A*ch|IG{X&C=nP9 zwji?K^WJU@J$MkSNwpuizt%YeO|_$=ruQuPjm%>;xQ*pI702w{yRPp;84Y`k<6{T^ z2V(xw+Tc0u;c^>?;5lpFm(MSBt%Zxb7dCpig>LUq{~l$b>v!Wqw3_}Nbl)N|ycP*> ziqWWZ?hj>pDo~1;G-%!dG*=kVoRdACqcWNAh$gH*ac9YMDp{y{=r@Kvn!BH2kM=kv z_NY+?aU#yEy%YC*h`9TGd!*`$9}gS6mJ;Z99niVk3PqXG!yc8la(^%97g7lo5Fc?- zmmtMi@?+W^n8}V%IySgG#@<-t_oo|!ZjUJLn?{=ZCN9@`jZ!`Tx5r7$e3|A@#aB;a ztLn*UyHb>EEF+(~u)6pPn=atzAV#_Fd&JC{A)9yVM<15yH(A2MY?CrsPg(=&7uADHWzr>&t;g;a{E{jLb{*v@lm;a%dfEfUdBXmC?Qk)?4g8A zaloO(Cpd_k8-s9zy4XDnA_Jq?qzmc?MzKj3_&XA8B)=WTh9Qc%AJp5pjhHMLnH+}Z zi{7pU@&{levBB{8UA!OnMyU_9sWB67RYfqR=iX0Q5Z#5?~4C5 zvGVie{o(&G_AcO2RagIih6D(To~TfxRU0+hAk>CeX_E?e1`;@f6C3Yo#WsDhG_BYo zPJ}Azz)XPgbTnRTtF^RMtMy(L&?*KH0=6n@Rjd~xYCXruMJ?gdN`9a3-e)F>`ab_Z zk7mv}`@Z(t>$cZk+dR*!+{Zu1e%)VRZ_zW|8&3DiY;V!}HU@IF^{?K!gM||9zkg-u zJ>WH#i1{D-rqBH-{YE}$IE!|vGJL$6_=WH+QO<<7yo;X(uFU*?!h1k0F;TqS!hHwf zJ(EXZ$ssO4=WMjZvue16T+bJT!9QC!Lw(;V%kM5#3N zY_L20M@r3cs+3(i=kFX*C!{PnaP%S|RO z{MrZylvLlGb#>fp16ijicF;#s=jaFH$OC)x^ULQT~Uk7 zK)O_UWhb`-z3RX4R{S1of<ABOC|p$UAOg_V-GVlb z*j!U-VyOI@cScv?U%Y*X!ZKAD2QC301K9t8ryJtA5jU9Fpq%Q?wfwlosxUNC+AmhA@=J&%6qxKGE8lmjezdLz}QmJ z8G=w=fsLqrmdIK*?)|R~ft7%)9NRv9n-KcbLzXMO&Z+Y;bl~yp7ifEm?|tW2Ec^Nd zTzHi0%XL`29}B~(DZ~Y#RL1|)GmNGU7aII$QhY!x?9vZnVG@fUw!x0%1^9{IHPoy$ zr%ka9srjpR#)l5cW7(-6^`CYfbN_I+2+_C+Hs_mz^EoR&mva?4}#loSiwk;8o$g(-p1%H_Eaf<6{L%E zGG*PmXIIV`+qY9`<$0f_oMH8<}#ordLndt%sjZrK)DrS1wE_UBNymNO@$6vaUlthlkt-;iM%$TLiN z&QSXb&!%Mm(J;vruOW&3GGb7gv|sm6JIoZrF<43SHxmc;+uUqi>L>eW+6nMEn5yIU zxskI!9m0|NF4|1Zf1AHiyKYwoN5oh9Ujg};#bbAwS-i9uOrke))`j>&=%~N3zWVS5 zpHRK0=QiSL@}Qwd^;HJi!klvd$v=c8pLR0WDre_P!kqQW*}a@-RWuKUGCXTrBJz=c zwGFG6`MznyZsrK4Ys|7?b=iOdBOm|o5L~O*awt3`I_mUA2p^2^L>S804k82Rll&$U zOq}?krmrkMIy(X~&ye*8bVj+ERaLx1qJA!Oa8n z`CC6w%>cxIm!}{}a!-BzAl*-n*eIujlJ!= z$jVlm|ew%@+&f!M^lB>8eB}KkY011*pl~rP>$4pz*nMd zAweQO3S+{(tlWevB7+AC>KjQO+u{B8W>%m7(1(4*$sCW*zUDU|IeBeLzKf`_PYvc5 zd0~-$OPsdv=of$HgY{cs_#C&HAcWtQVi$+so~J4G6Z1f^YV%OWIUs0F&(jr7+gkHL z<{L$lytW4of@f?T|6KSB9m!@YrJeb2F)`po3q#}>hM83z+1lyf@oxm_Wo_%oG-JZP z2$*NmC7uWn@GbK+ly4u4#^gpG(>tWdd1{?0ZN};USfy9wo>A+$k%v%wzr?9F@ozS9 z#K6R_k;q=3Boa#QKQOV(CJM+TmJCe%M1q5t>#~WD4hf|-+o4yKn47S5k7THi9v?v_ z($ z&NHm_Fq>5>Mc9FF*{rEBs~r4nUq3Qb{6=YAVOGaxZ3(lM6|%0iS5x0@0k@e%p4M(r5D1FUJYW5$~gqx&2n#d}9XY+n0Qnf&>TJ`mVA0 zN(Sb8NAj(qG{M`(w3`7tG@$)rHvc~uM8EbQ?#qAI!2GJ1LESzuf4VRK&j;pTYoU`I znE#Bv{NEUue}T?ssA?rh=KV(L0k>TyK-Ru|LidRf0v(r<6YgC zKRYmght2=U!2H+u&Y1RhQC3|EuZu!99YmJeyghCz)$2`oe)lt?hW{?YN8Ac33Ga@SssCN|;>pFf7pKyTumg$WI|?1J_N=F8A7JcRx#5H2 zwSRXOa0s{1fj8;ELfe5W3LRMU&SyI?-E=_PCFWWf{m`&Pxl9K)09bhUZlJQ)Ueu(S zTW}<==%3&A1oI$gmo)@xOV6$0TG5^;hOV|V@plU6>c|geMzDTG!0tGz+C~g@al6U3 zILc7+AeBq*m+)F@%zZqYsKD6SXr^FiTW(;|w(4NgFt(A@&)CKioyDGf@DoFB5C5K? z&$G|Z(_V0zeO{;M`hMSQ?ei=8{x$o&S=YQ#0_u^9jyLukhFVCltNHFb9Xv#p* zYB&;GZ~!?&dEMCmWJ;@WGS49Zgm#s~_lo9Cc(W&uA(flK2L-t(m}IPE^aOHu1Myq| z-XXTk-T5+9Rpo#9w$#Exm^52xk;L}gxC&cfZoYv36qyZ)HA{2Pq4iJGOk z`POP_&D>Jr*;@~dS>`mzpWpQsW1C_KBjc#Aaz}Ba)Xd6RT0~W5#ehY^RCiSPfsIoi zvqq*e#grLEDZ5(QTCRRXx*OD8gM(AEiq|*`4q*`~o^dU6=%#juNSOHdg`A7!f==394ljeC|mdKxe~sj0?EOE5}!w}(Ri zxWSANRCw{mP(1Rxt_6+XZ_Kdr<-Nh;wmKzDDEZXnlN|NYL{5F73MlQ zCu5x_f7dQh5@q#kSXm~7e2~j@2&OfgaHSVBU&DteSnq;wNb~T{WgGMLR?(w7BZeSu z{Ukreadd7VCcgB(7y+ebYToNdfE*Sv(t%iSh>XD;gMQH>?4~!+8w^ndewfGg*puEc z<)J;+UUM|K-u+NJA^DY0|D?x`CU|1(3G_09jVZ0U<28_vl6DOUopfK-IalVTf zhfDl-S7rK;bL_k}74S;qMIG$U+rCwr z9B;*oTdOR`oAB|r0+bX5f$4;0JZiaxo^#`B5u5$PUI#{>WrE9)UdZtEEe76q$Hv7C`*ohj|E$p&BMD4`6HE>l9PS zZe&YqkUM&&76;}%mo3x^XQ8q4fGLa2#Z<(AS}Xy8fH7lV7djb4g7riZF+d8fYbT>J z+Nf=k6cg>fgz>ESz;t90`)oR z7O}6~xD#!^p6>2PEu#Jqx@5XTV}~n8wnRbXXs#cUU5iZ7-9{ZtkjepaDqn}+`HG4& zHanC74EtP4QRWR>CQ&GJJ!J;2lCjFkYN)m{ikX;jlKRaLE=f!k^V6dT&CeD+0MJIu zuVKE_px}hLlG!Fs@#8Qb1vpy#kRGz@%w#4aT{wL;JXglaU2(e6{}@84~I zZ~Y*IQ$p0&f9qvCPzXAV#Kz&ZD=;Z>g;`-n6veGXe74%j%%DZhiwOYCbqH1(Hj^Yy zKiUu|XwxOX6p1393|(OkmiZ!2h5F;!m9bGBNC5lOO83ol?>_7#Ou?r?9?$E-o|&Pm zd;KPEc)(YoFI!pOtrt_9kGwN0PVyPSpYC-Ry31?~8dUavy*8@AjW&p+cS!D?dP9EV<4s zPBs9s>VLD;v^Pq^O>V-l!k8QB>p&FRD%k)=W}&mm&qL?f&*glYoNL5g1t zev1J`Ewyrso2tZ@rnOiSYW5sAF=@iws*s|6J4`ectO^sW!^ETdC*Gmy){dg#cj>PG zGF^UA{~YPCc%JCK^JCkvse6VJb>WOHzWKlD_lo_MxrOI&-2EYnv?(tsi!v1yKrr7V=jI)1 z1g(Avc}?=rFV-Xv9jHl$QW5@BhZ<4Ktp9x_@<@Z+o*35U?n@r2i*0sa)9SVUMbCrK z^S0*gkmFX`^>FvU@>sL|h0o&G)#5TCa+vUpz5WFc8{}v+aWFzH%Bb{bQ?tLH+DPye z+9e*{IwX{3iGNN*{x4~RbvAIpewAi|r?wPI4YiV%Q|Q^*UsUQNSa?uMDL0qDY<{hz zArH*+?vo_wulS4Y?3+e^e8OHyuOK!bP|R=I3&Eod|tFUoe&}=>5i@}MQ zZPXSOi!m#f_z#ROxK>F7@PEseTHCMGPLhavXiBkq3g!0Y4xiwk#)cIVA1Zj0kp^8x zoyaT98@UYI2+*$d#YAp8SGk-I!Cp|zAVLfa<>e4@F0;GT?k-`#3js|M$dTbw|1lV^ zpdoAC4d+-~wZb2|LDR|;kx-41D6i6k{4fhQJG@fK)&A8;6I#?RW=YqXf=kHiecakN zU92=!&Vnmx!}>T>u$gN0A4~kvEl>zo#j#8!SVd`4{kzj~c|XW5JVzcrTLGu&Au z2O~VNhCed8s4n{=U0r3>;zQ|bowUn@H++Mk(K?b>gtq0g=od z0}1+^$PFJG?$G=HfWy~8YNFh=MS~@+`$|0)B&#kS4Vb8;!Y=Ho!mZpSt|MTHIt#AX z;?5#XtPZNBpV}p@IHlQljKYg{0?9aJGsflo4yr$c*1GQr_50nHZlCr}eqG%Ro-x4R z&n)2>@@M)jmDr4^U*{2W{1Ma`oJ|KpyPx8$Rs_19zF@kz2CE>QGTy@S`?|}}p`E&2 zyn{#m)AKs}hz8nij&Eoi+}E!M7z=b{m3(N(H5 z`)UK1F43C>vnBD-n+|i+v#oVHEP?JdGBU+TRbXe;t}CnO|zMJqcu?pMIoYV^4Y-+CJ=xbW}dEd6b1m0~a6 zKtKn-QgN=rG{DQgisx{UF|@*V#E{*4d??vX>%o@a^F(8RftfLvFLve8?+_ZZ0;1eG z3VY#((fRixDFoMWDIz6XtY&v}q2#8&^_9eKme80^PoC|PB800b2U`yC!S z-ySG0iu8bBzZ@{;;OWlvrKN*f|CaEU?hHF<7?P&z`3f=uNmW>v3$FV2MG4>leE>Qdah zU$vtiHlW}c>RRrOT1P1JDs$yWT8UCSp3+15(=QWW5>?4rc#Pg7+sAH!$z@BpzYFq7 zNNDB=$+oon>(;*}?%ianU!HdeMrX*riO`$(3a)+GF~J(#T*-Zcj=S=`!R7+KUUw8X zvyZ7n?(kiSWV(Uw0!<*V+ZT*nT}|JBeOpRYJU965q^a>+w#K9S*EoY3`>H$3=6}fM zzs_0?K7J$LgDjknSONc|G9H{;{yrZ_@!w1ES9jEF+$K$*%4{VwZ6!C_O71IE!Z1GS zRHHW7z}|2q^1t<~s5uXx1S`m_otRlirTF}(G;Q*?|AZx1?s~IJIrTpXJ9_%*a(k7T z^e6A(F0$#|(fdRNXe>&0x!&FO6Zc7Rp%z}CJ;}3NFKs@`E7U7P@)nj|5+*mg6idRZE`ai%Fu4V#dKxg< zaG_J%tr>E=1{M1GV+a31AZYLN&yJnL;SCFbLd5<5geS@p-m$VnmV=XD|K|{Sidn+q zW`AkCw8yTOCvKI0^X`Zkl#{{4#}%n=dG54NQ+o(^WkXL6UN_qy#(YZ!hrOPkXs^m| zSgSe0_fn|#^4Kk=LfZS}8Mdg`=ey>A!?utlY*=6IF;TbN;Gf#sFR-=WgS(lf;ncou z%@@~x+rZj4?lS!!SoUDeo^g%ZSD78WFYfxYR`8X zR`>pEu+$SiQ@c6Xof~({Mm#qKbvtRggq2<{M_A#+~{i4RHml6-4-^%e(UunSTv|>_7x0h2&+R zdemSrZoA0~^Oafcp(;7e1Q%zY0JXwwi5g-b9*wB+*Um8&84V>_J$8Nm)W=rZ_V2#k zlAZaGGtQLT9fR{%ie~lt)A-f)xKGy#+vAY;woz#8pFhLaZell>sKlZt-f1l|G-b4j zOOOXSu~u6lv-q@Tmb?Lo4T2JA%UAoc#C}lu-x)zBEPtJOvDw3FT-7kz((vp}3Lp~v z#^egiTTwVH|F&uWi^@lZIN6&NJ|wUke_{E?{{5fSum7guLf2J3(A9H!f7yKh|DxUd z{P^!MFJIKYbqcxZW?&!OM=onD`O+of#CJNGpO{hMyo@t2S2r{@=<1Gh_{cS{%OMa* zooy&Ia~?x09dKOHSq=Jb-`CJuiv=egBwS z!UoqSH-i5+{fu=qSXaWvYu6@+#A_$FBz`Ox9nT^(Pb)(|cx9@N z6-=(_Zja^8+XuXX1g-p6vHx6aejKf9gC#(z9R+7{<&0xe#WN-pMUwaO7su8Ag{pQh zv3i5nA{{#zeY+pQYWw#Wkd#jtgTbcY>p;%R6ZP2-C0Dw#Mn}0!0;)Nhc8z+}z_}pU zeOW{8D^B|C!O~4wA&Jo_jok8tWFkn`WY^Tm>dB2x4cTYAPYmZ3=st08#H+eE z?3(v!JRW&P24_OWj9M3utZAtIx3lmgL0I>Vus2Wa6kL%v`OCNtkF!%3KMrX3y|AW; zzOk)8Ziysu@5_c_z@dTYgqNXI*^WNK0dLM9Qk@NqgC7_~LO{`~!nqz4o5~Vny?g>j zsiN8+|H&5s@%E3L7)BCk`9%rtHp*kehqLzao+2+y$_#}JBN-I8DY?s z=$0p3^5t;-kr#)Evsy=sWH?5rlFTx*vWb}ywsTh(DsL>ihHqyo5Kpz4`0i4RNAkw! znu&xy>%!z*-4>ch{ruSNEU8py*e})6aC0ZFWMcgnZfRC>ig}Ytc)Z;{ zmWE0oUx!QoUe0Iz>#vuS0fiEZvTjl!(}kc3tmos&_JR(K(Ksbx3O4l#2k7`mHIl1zMJ_W zSibG=M*4dy{T0(we@$s8b14K-{Z$3(ZSHhY7=PcCm{Gk+B?2IQ*}rZy)c+m&lB{(IiYlT|wtoT3wQ=;LuQ zkH*1i^n9a}@Tr|o{!`EmSuB+9de`sb2P#CYlVVpU?)2j~^98-{ECa0T%JkE@lJ#h} z0f?wn>Q4W7Cl~!bL+pTR>Vl0Jvb5Db@^53;>#8gCc7GYvKb}1=%KtUNf2Hh$NL>Q7 zWbOpyMqUsvU%)E&X_PJhD}5 z+Oqn*_>^8Q#t#J9(dbQ#eo)X)WFIt4os&X39#q75R}_&ec#Nk3YoLJsQ*Kh$FUEZ1 zLF5nqt5l@AqM}d@!c(a?ISEPKKj}kDkk3-+uxO1YZ*6p95f`pU*G4BXpHbI9vNPIf ze$!8vo!dX25I2K1lOT>92*U$R5f3(`ag-sHQa7T1! zw7jo{e14X|ii$%0w|%Dm6`!lW-+jl0Bi0n}XK1lR0gKKLXUi&xEHPS6cv{N^Q%iP( z)ApeiFtxP%J6~EU+H<3_yrbkbd+vDb4?Lakxi$Pub28tCpLw&IJEP6aC!pEHX|*ZE zs9r5@?nG^m7VX>s@-?L~MMeDe*%09{hg?`Hd_SW!k09Q4jnLjic8QjtH+7nKdNcQ+ zNV%*^qQ^~$b%EW(XvKdiMlGR;?>vD0Te4a_S8_ZOlrSAfybFzjW!JWw`=zDD+=moZ zeQbuV3ErX=E5}GZsms1#j9NOjj6ek&W6;KXwvGa&CNP^s7${&R3yf2lAc31_Z@uj` z^sB8yR&KU)uV=F^?4P$dMP>qz9~k3=9+{HE6e?pz+HK+r99hv$8vMpNH7tvhho}$- z{%IvDUE4dYk>yodJF(Qs{7_u!(-J4s1h}20H&i}Et)dbzR4e3m+r|JGhg#|UD8?(;_>b7Odt{L7b7iF6`F1KUimJw>(7QmeX+zmmI=s8Vv7Zhad66DK3= zi|t$`2;*4AUja8t+^o7RdL{N3&DSi`5R|yeUlJHnfUI6=TF}hln|3avtRMS&PqYbx z-*7V{rZ3)u>VUL?P5ka$1L^B^+RVO*nZ&{&S|_uD4B;-74Yv*IUW>)`F+c%!?^R@) z-YQxD)HJVi&0MNGdc;14|lJ)!I-#(tAv6#7;AlL=q z3;Q9g7M4AixEGHfl>ADpXG%#)D^W$JfWQ{tz-NQU%e5>+vI2?7&T7Ull>EgJbBNn% zJ5NjnF~0E^mS8zIt_tFOlic-LgqeBvK!oXsDngB8gnNA`(>5F}#P9_Y+q9n)Gvf*5 z?``E+7Us@ql$4^R!+yzKj8+xBVJfmt#fuv!I?FPZ_mhNrQaM9&B89TfS$2AKhPlnG zmDd?{=q;HGc!H8N*CDQ*PY#fAZ7jRHF8f;Dk)8ENzVOnv*h@jIc6aNS>e|i}F`b~A z+UoQ;iAVGVx7k=(Ub_kvAvYnrE;M?C*j!gRGvTqup-cXXhwU!gtdN9dJLO9;6G2{N z3;Gu8eW8EXon_mDXBkG{{0hmOrO`a<*JD3hp_@(obH|JBYK7`pfYWv{ znG9yq0;^VLLRN6BCior+vM=PJ3pS>TKn>;jCnIW0R!(ajIwO5)w5YXYMs{LU2q0SNX20iZT+28Q zq>0O&m_lh@JaLkt6NV&wt=aIVka9gw8+k%&Hcl|tG~`BnBl9Bnem#?%EA?n@9P>GI zTgCHCu?S%Qviwi19hPGprOwh{njJpwq%)iL+hXa?h#Pq`;r&M3&RKSY!KFmDvNE22 zx+>Ot5Y_+Ebh*Cv`Pon4%zzriEUR*!@c+cVuNif-Ze!phI2FdPBxnOy`#d6fiu>d& zKUu7nyle_E)b8UfL;&s0?i1W#i?ZI$ltOIp6Rec=&D3TK1!(tH<(Zt8~&&_?!zW@a`cdz+`QKfZM(8J7ya7yht z-pPDO#_+wtyQIumUS2f#HRLfCE^VPIt|b=M+s@L)!I>9ZG2kxjQi7J?Iv(QQ95y|o zZbLS(76Ea%^jg}kJ@7L$Jiz^-H>90^;*n7h;B0Wy zj-f?8C5>=)`F{sh{0VL9oBUf-A!yAwowhG4$2a*C!s)Xt&R}up=Fc*=JQr~?M}z#q z3L5v{et@t7X2ydRjLynI+NLW@U0NQAbqX4QoRA2~1D3NAfRT}f4V_GQr&i#~#wJ4o z_UYz~^?#KXNhu(Y^&Y@Ua8NNxa0Du#GE)Ka?0$l z0E^%_wj*_A`OxHSa9P%{xua}wPi5ZR=_A_F6MMVNI9=}tRb(q_&2)Q)PI;56 z5&v8Z8^nu*cLBtAn}5drSdr4Z2p@4IHFGYW{|ObQo4%Rml8z4sr9Y0OH%I(Kzt4<< zPWYe!6XdoM$&=Oj3TwDo1om=9G}EydM{1&NR-W2AcrA~E>b!;#T=$kF3$Jk5r{_tI3nuO z@bN!sEj10ZKIj!>@;1go?6pjbBN3`%36#zQ zvoK1}D)*DCBCJPyFL!6XG-(!0a9p9k%rs`n{VxA5wBBoMap$j;bySB>G7pm3(=9+n z;(44@r03CQw|EllC#!};y`y#BwJDy(joX^2)-9e`WfFp^wvh~}CPavx%e)G0?@=$v zJ1lUyBC)2|V&q$K1pbu%&Eq)B9s1X}-jjj}CJ%<^|Ewc|1$PbBdRAzD+=iZJC*eD9 z;ozpDRgu)Z%G01VCtCeI5Vmf7RUThr!?4dcuqB(Em^M!za zRE={L9SkE;d0HRb-Ry}t@$T*AR=5Eje3o5f)4|06A>Sdza59||I-FKlyWLrMD>RSL zdAhuUiW}K|PB9~miQITZnkJDSb<%9+S^RRnO9B7IrDg}`;Ij?Ua@uYY>1^bWmJFqO zg9h5Q{C*zR%~Aupt^Swp#@Rp@RchK3UbLk_xKVC^7$yG4(3rP)F?n^(RZ-C;Y?510 z_KD9l|W+nX_wzjAP)5C$PiBIaNsFgiR|#Ni6|FmLsIaB^u#IEnyAn zS%(E-_@8mcR!K#d(f+yYU{+qMKvWiN$Vx`*=IPjwDN=E zSkKB5MA%QCO_q4#Lx;gXcjrvQzfP@EJ`OuN}%!<3x7TxxwhyBdjb8 zqL;;EYbUuyv4_5?+LM2e5|9)4L+c6Vtl}p`oloAbJa8Alpy5UQOUK-5{-qc~Op|z+4x7}E1izDyq+;T`^0lArXXUrt;99k(V5#6)BO=(`)Sil@ z<18&pZ!S*lfm65)Al_N8?L9>DM=DRF9u$BG^Y%*a(n$81^yc!^o^mAN>g3Ps$FA49 zl?7|jITU0FE+aX0ddZ?hq_g+^a2;c(5C8$Wh<~;JbUiN~PxK_bq$$PF1dm@g_UW_5 z!C8jV6v-)isBBNuRR+#b2K}yf3D_CWaqWWhzy>#00-*6{O7D&|*?@~JQvr%BM)S@a;RIPVsx zw&UK_9je2--(aHiKqFkb1zVrtm-44ckt{^93)L*Scy8KAzUjQ8T$FXXA^m2VhKxzp zfH+(glI+Z?Fxy#6c+o$Vtb$>;^Q=%(X35mVbCa9ZP6uB#4_q{Pq?GYkE~X{8SOqDR zGQUPITs%x|YWvVxwAWEGXQmRxx@=?YyKaQ;nJbjf_zKO~^8_bQ0E0tA_CI4^Z^*tH zj8tbsd2c)y3wME(vNvwj_hn}t;U2A+jVGCX(`icMD%vykJKV`6^vgYPb^NCN^CiR8 z@(ASg71>iz0@^(rd1L<)@scI(zDex<32PQI?884FeCscP& z{jg`8w&y8>u|`B1^bAJ@v?dA~wR`t9Zv-N_upb59f-?J+Wssi@HO zS(c*Eca45Q-zWLCbQHi>t4(Y07u&%2*Fv`n#Se5Ao=TRwNo6iGmjIse;N|^% zuk&s-BoWK<6&JbQLGjRQ7l(>E@1_(b?3JvnVo^@6Wk;v8JP9REYhLV$5YVHg$mN+8 z7?S7bW|xJv+>nt_5r05slEOZybzf;{~BVilAaT{U2Pm7lRi{B1O z!iR8GX`zGE75!EcYA-8pt}v~sjcwifqU4Ej?;0y7K~mXg935+NcWQszyLK_-3|F(0 z`N5a;qD_;mTT`I)W-&Gy5)XN=3HGA&XfoSsz(Ua~^8i8%OzAy)xu%aC={;;le8nK_ z4Q4v!!I&I=mTyr;1XBJ>?#ov@tDMVRE=+zpi#LIYjxi%h^W_EW@Ag9rk!MsQxt z(R;#X(hAzl-nD=DZ%`yR@|35qEDN!7BG-J2Ms)(h&VUt%{0Ys}B1!Xhm04Pr+H(c2 zJrE9KkNm(qR5}@vlDPMs(r=x17?*o8Yw_F))nm56%&rCf^ed)>%7EROb~4|g(iIit z)9?n(3{%$#d)M*R$sBK5waZWY?&WM&8J8)!VmxRI$~>$Y$SQE`6k|-*YK1`m(hM!Z zfrJjSh7{Ej_E$ty^WSkAA>s!2D%Y2jkG{_oGhG=n_;_Rwxb}o0E0`+4#V2fiEFfF2 z{f!fRH~ktBdJ@@tE4!#Ck-goxDH{KvTaBw*0x^FhNp2S3d^l`3G<=a=3G-k-qvull zF89~*ou6_r*7b@nugZr4!relR{gwY2$q4SWdJ%5-lACRWBO&*>)*LBzkFv$CC&W4u zcOF<1k35~Iz1{XSS9jfDH#c()=OPa}NHYez(BT0JD)_!ZBuf#)4ve>atZCM2_0*TJDC;|jptdX|J$1-z+wk2c9u09LGK|? zJid@^EX(ir8_rsvK^~T&cZLMxukau~liCgKJdhWwS6PcRC~->e#4&~G9gktBw-;K% zmDXAyRB+8rta}|~k^NqKg1RL>%6BGc`h-2 zwoF!TF7^j8)ogdv!zcdBF_;GLSM30zL7Rae@}9_Uh)Yum?H@gpDxk7=lA}-GxtX_~ zNtIL}eu$+1K%K0aXS7&XPr~XX*~&pH(M23GS-pdJ+TdO7lY2b3c3$13V%fK1&J7(5 zo4D-GQXbfw_wV?Yfq-a6WAX&sq`UI%!ER(FC%P^^GVU$yps@DeK*4lJh1OeV$t&Pi z@0@PQ7dCp2(>94OiR?>3Ib$;4!-(nPax_|pY_FR9gU&TAa-@-vCLd!R1pk!401Quh z(2z3eSLjN}8t)^D(!05`zur(tYfkNnI&B%=?c!8Ks^0dBK}OwgbIf!O3C>r3YY!P; z>ZGICKMM(-!JR6^*qbDPb1%dEPHR4f zS^k;MyWSP@2trnZu)8PC;lkqU`5dgFWPbe^x@C<7Vh|Ik9cEHZTgSH^#nV`x{7+1~^F6v)&X5T5E!uc&)MjIIf*UKOVku7SHE@dlFn zw#WG%>nYmQ+7r*UL}F_ts=iBP?mWL1Sw~GrXgMc&#+9|{4^BspxrEKUUjHNFZ5UoX z29&KQ22)AetthLP5_BkEcqt7I;31TEn_8dAR~9o~%T(EVU+f9sP^1_J6ApS}01z@< zFu+hIoN|`^jC`Tnf-+az&)t8;eS;_$f*ag)-vkF)Nj8@W)w~dQ>N{8(fnr=cOPMCI zzeerYHfwXZB`>M?^R7ieX_uMMsA;1`kPQVs2TpO7F{HshoCi1$6)(O?QbO-(6~R)7 zR30xUmm46gX1(T>MsF%6Cy?aFzka{E5!dK@Gb8BC97G5W# zUG2Ko_hemwM4w$A{M^uh6pb3amdyu5O1=eK!Or}=UycyIubaNSlqJ_r;{3~tj{n~o zyrfO*2xqQ$QInhA+nfBUh`6eAaY%}Wx)%V9&2<*Zi7A8uX)rkk4ZkrI&9F#`*m=b< zUi=q(qP3-Xpc-JD;0v~7(lyRe~U=+k|&`t!iDZ@mT<~U404Hw=%XL8RS3W{dEKR z0K^Xe*gGOrc4LQqe_0OsZL=xjdbcPK=U|#~bbtkGUn8Huq+5YasNr2$hU^12 zqQ1Oa^Y+d%*$Ar0T-5rw@Xu%w>={4K2}C1`%EWS?P>)D)$`%@065e5}8roi;`{Rb} z8;Q~9TjO@ZdB6}^9MH8)W`(WD+qig{P*VJ>k&F9osJw!@go-uJvQ_TUA>N+^Dq80u zxI>B@=MyFpTw}zE?5(D6!4aS-gSPe{@o8r=3o`gA76JHoZbHK{3;il3$M1u1s=` z{DhjN0OfB0#ee2t!iJFZNYjvT*+1OXDQT+V+=%M+43*@$}+p|>_NYE}~UtDz+f z;>D&ieP`7*gZpeKc=HX~WS=*p?_d9DSIotM(BHJ9oNCPf`5z?t)`^M%cqj8?>@vYr zGWPLPtYLNZ87OWG1`qZw>aPKi7|a6+PigQF~s>bSNDwY#9o&2k%kvsRz? zmk$1F39wY%;=e56jbn5Nh8=yzS4Sxq-Y(%SS0R7(@733hPTQZAp52Iq?=`fzJ9k9p zcaR=DOy5<^h0$>UxKFyU<`!>xid+(*ZZp!&Bb9m=QR(z+ZbS((R0|R&p@a~W;o8eC zXyzR`WQ^1HqkaY5+~pDay!Qr`)UG}y!m{4A7W@lZC>d0nLbh8&)GY}{5_-aJ6?`;@ znv7UMZJ%y8HH(r`ugdiAQ)8h|FBs90QelTKG{t04H61bq!>b6h3!2oS-%$b-`(>p$ z&L_35f<<5fUJUIJXMw*Qy3J6Zchqbvs7>hl%J z{XSorx1fVMn0gLpFId83o)(D?k6xs?);boN(R9DIA8GhZL=~gFP025*yyPN>klQpw5$(Cof!l)miCVg5^{nUk$VKXR z>ppO&t%En+*pRvCJw}(ljH_l!wJUX(ih5p`I@Y${FfF`Fj68B0Y5@w~AN7J=MUAM$ zQKrNxEun>y#RQe>w}W(=VfIFGV@K(;n%g$3x%u12s6m!ID%7_r;XN#@AV!e8vJ1`4 zM`^zJhwYmi@$R*p;AF!u| ziLcw%98W)85!TMxs@ZozOOOPZfSZ<+fp9ZM#DK33o~`6M!7Dx2MIx)^(Xa#w0NH;Q+Ov(}4U}H#8V|jrjx%>M zWe%n4K6+WuQ@;%7X~=G)s-9>ub9y~obUAew1>Nt6;zz5D&xp3TVhB1ZC-W&K;vV}G zi??eOxp755gi*??J~yH6wW>v=-YHZPw>j-JimX6ZJHwg&I35hxRQ_3L$n|hkfe>~H?-w>)|Mx8oPm}%MQVn~ zhO)8eWdv($*aU|8M4_gWxr4u0M?viD-?|U9_B!uEaD5Bxf&SH=SK7KY;aym+80+sT zHnJ-19*w*a^XkiDu*|a7uY;K7aURRL!I#nvUS*~7A1pbY8!KDEM_dX0?_DMD_~csB zT7OMi>kY1A7)rr_w0BXld(tdsa^QfRMVm!ckOwtt#mWH}ylv+fiDreZS~9^XWMG8dwf?lRtp74i6NjD z(Q$E)wUp66A0nrf_;=#>LJbyT1OrL(Hq?bwH z?`6&LmG2J5&IanAT`@J6IHo93Jhv(_`m!oF`Z{NaQM?!TLiCTs-etu+zBCcJ99o1W^i^YF$AFg{YYrk4 zX^V5H&?In+oWLg5%kd~2fH#?o0mW``8D3%xqu~tYsqhH4V_!@XLw%zBQJriOvJ=ma z;Aqf9?b7rHKh}p(WAezY?U{_Fre~D~aZ-`F64_50vRgTbB%pZL3r3N4{S6*scC{f? zRp(_5=vH`DpuJ4jK` z$8xhB1wpEIZw_wT#Ky@#(xP{LWpAf!FjU0qg6+(i_Pw|ix%g2H!5?a6S10o`+SHC` z0>@GdOK?8neFxXI)7)S>kSM4Ie=$0^xvwss?a{TXpPFm=aHx7#zEm_4tMID*?otd& z;dvv+EZO=BSc&+#7HJ&iMK~YJ@8pDlakDSEE8iLH7MF{{Cvqb;xSfzJhTA!*H2f_K zf6L7;fQh4MRAI>|j(5@$d9&;UY-HMj8luZLkiEvPx96N#Te7?&m^GIAe|nTfElgQx z@-}ibT1l8zn%(RfxDF1T!M(e&wAITahE3t7RW-mlC8HM2Jl(u2QY31z$=~`7agW#I zxRV`E1FfSF9tW1gu3-=?o*k4QS@$)v^U>pkT;8O$NxD=|%lu~}VyaRu%91}#<5cz) z7VNG+vtV-*cH9MlIRH)E@7zZl*eUfV?wu@v;13J{zQd$UsYrMesf=Yv*u7R#4z$&? zBWM82R&)Lc+}NJp4W=z&oq?FqKcVh^-B2+vqvdb{7IK=98zdVufc2lILjU)iy)dP- ztI?AD)31QesjH7wZ zMD~sSvUK%(_WM0I@of5%eNfE6f8}^1wTOGD`-tF!X*-v(gUdZpxtOm=P{*$!!dQj+ zCEDR{`l^*VWPlfWQQ5IuKwQp2qX(9KUG&F_C?c2t>!p`amgGh(zE*xEegvGLWNNPD zDA$9Q_9hSTo92lY*>W~vE`A`r$^HD3`=uzBKwa%Us&UR^gcI_QG>M#9QE$jT*muG& z%L`vVy-ZcJ!CCmy9expHZK>D7FM_ZA(iwi)Sord2_(cG=dHxuF5t!|lYxM;I23TzK zGrU+$a2FZyT|4oZDthj;9X*`<^Pd)y^&<~Glcq$`TTl{Q>*A8|&Mh^!)Ozg{8@q** zNG!ndJVSh&t8s*p?YNK3$;dd)IR4rlb++Yn}jp*ZClDR+j#BseA*qa zeTAQoMHO$5*;$9x!Lr~@~6yk80LvkXbBuR5-VutN3 zk|Q{$y0U*29E10Hv-s^jt`EiLbC{?@J|tTD?{=oub^Qx|WT?Xvb{Uxyt8f+ngVC%a z@zn29~ya~N=lr0DUsdLko{LY`!v9=&+jW9HdJLMF`Vm#J@^FL z^UHZ80HNImcKb(`?8e4y^2Vp%wvnvv%J-20-zm}UBoz$CzZyCeW`P&?X5RH8qNs%k#a9<9 zsO?jKO_(V9Xb?goWR*P|e2BaVn0bGRGU>ajF?18ly?V{OUC)mU`RX*UnebIT=2gdQ zm8!1tIwpJ-#pYFBXG&Gic>Qkps=o00a~4oP95v_H)i_C2{DiZIoK?lQaM@VnoR=zB z251VRi_XsXZV;N>Z?fH^l_eyoHfrx-=qKHsXn>~}m%ju?O~C4cKW8HA9;mJ2W9-Z`b%uhY9ql7n?dV43SJ5cS6g z1>vu^JxZhC%%dCtV#560#8jl_ePXHaOo?{?4k96Cri96zRLA3 zL`L4?w7sk1hzmv3%z4U4c9nIo#&pV5rMsHPH#?b;JT`c(HvAUXlY{ka6KKZ>^^vUz zV@{EXl41~gY1Yez@TE~NOTw3E_aOy(+u$t~2+h&b`@jV4PoOXemhS?~g7D+-;nHtW*UU(KEl{H(!55Pld4$lLgl&S&aj~HIpI~Je%P*&W(e+FJ!n45 zv#aKBjzmtzbuZGo{Fss`L#Fln`ykR7$-a<&yF9fUH;P3V0MeVAowh##tT>fd^h`V| zm8{HL-jauE1aa`Ll)3J6rI;p;5Q+}jEwW8*Vqvy$_^t)ep>uBYKf20VFci5>3Nd@u zKv7#;vUi0>g-v1>rRsZL$oI2HS@NjZGku+omUQ@o(%U0xjzVCb7t@^!+ZyaF)DmX* ztAjdl3Du;V?lKlvA#p6f^NWvx7{KOWU4&qu>b@dBgg^=_<3x;>T&Ptq=d-)iD@G0x z+!V4hoG}f>=qo&j%)-Hc@ta@U)R9uzNMluS0?26P(%f88)e?VL6+N-GuL=sW5;5p| z4=e#Q8(Crse_%r%h+}(6!_QZ5$riyc~-+ zQZNsKpoP>XpXK1!7$F)E0@`lV+dLUC7^X-n--xLS^i4!16D|nbx>7U-0YbL+>hRsn zD(^MnyIGCAi>fKVR-5v>;d@8;-pG4!pt{N?6v1CN`DKgkkoPmg8ZhKFXzn@(nNbYF z;6pkaPJ#`0@Xuc(wA>F#^=JNP7vNG1mB20jrGc8zP@60(Xc&Fd+6OcX*pTyhDD>QD zIySuWu^;omPRrC>@@rs_dUgpA7i2G{VOi~p2Xw9~>|EQKBm?-b(?|b=+1k&A`WgCc z_)MX-UJfkVHF=c4&eCIxWcgy6^%IAR$Mz{j2l#t_hHTqk-6U0OMoP;8{u^PcSw$KE zsU3yX6=ABr=$}%>bZyxsVXD65Q#Te;7lf($l27d_q@Ew9>PtS=FQiTmQ}xB97BDN5 z<2_v0AV*Y1bUF>+x=SQh*bm{N5OXf98q3quYpbCdnmr6hCe#Eop}qa2{;@@F)#_`W7yh{ zJZ}lTfT>LxyCs&_zefOsZ`pa=IFrg~uY!V8b4s{0)W28sOF{h(weP=5+5e-G7^Dj6 zAEGaNJ9Fn2B}d>ei*&ll-+qAI;rX}ez5zBT_No-?cQ}w5FH`11iUNP8!}2VF-vzu{ zEl-$oQe!O7aC7%oZl}3~x1^n7ei4$4@y?oCLL5hk8z*C_4OaKc0t|L=S*LBTspAo& zW2sMXe8reBGR=K`>Wt3Q81k+7alqf17TM81voL}al$~psFiU2ZKyxHf$!BO@Wre@~ z$dG?PUTRGD{;KXJa<^Be_=QF$*-tYY`fFm|16rnRWgOAqT}i}?-qsHj*)3+jUmb6_ z0C%x((?ERsB12D1G;S0RHuVZhPr@TI;EBf*psO@qi{O>yPK6(0f-^$Qu`=61#(!}L zCci;9Lf7hniho0o=o(o_W%m}CipKQ_W7!1R6i=_Mz^=|`vrKv$SvUxwIwn-6=u%a4 ze#iNZo9VhGXmVE%jTKmRnK2tDY?hC9H)+J!2GOoe8sgpgu2*6#Pio)HUxzne(AO?; zBC;-y{}F{6o%C)=T{+y&;tJJ`q$`m+71o27nxq3hH?cj*7R;w;|4k}^sI&N2MzA&x zwC+hQRZe;#A3!D34k!>!cqjVQa370ej5hMvVW(`pcUHNHo-~pd=tr5mbEBHTX^5k( z2&Gjf(5tp=jOiG#TkLGF0`^QsJi7`{exB<*7st@`$^GiQsB1{(c&ao){{=ii9VeIP z8f}no?F-8J`g^c@En^O%g+Z){f-dWKvE}d$qk)0UL>1^baqkkA%N~$NW*N-R2(qA^ zA$Zme+>GkC0vC1GnD9)A>?@{xXsqpRZ>MQl=T#@ebCa_qde=zTYvHWWE>k*MrEQAl zxSDs1i@mEf2Xb3r0-UztRAHN@nWo1}NeknJQeW7bJJ%nF^Z)?_iutyjwsWL1$}JfP z;{avGXZ%h~Fbh;ivbx!lN`Kdf5mc0jDeGi(%ZIbz@BBqyLWB|MbAxXmDNk#~seR^J zV_@G57c89XJ(i_pZW+R)M4${svwzuILxqCI$>saLLWFzV%uvp)|t5c5WOf6Zeki(=4>L%_oX4b8|lr=c&zs&ZqljH z4P1@RBE>JZRQ_C6eZg;(=`AQ-FPPcAmy9ujyco+D&jw|okh6?X{42h&A7@s^8$1in z=%^$AJVKBv0spVEKI!Y6%oT>bEVC2tqTssCTxG#H@dK}FC~hc&Mb1o&cB{HkWc3}8 zkBnGAAAb!reH2z?zvv@q`sf8BLC6z5U%pDk`!coh(JWG9c6inQLwBSoxC2sd z^kuFbx?|a|-%et{J>*gpA}8~EqpwV)^MXsfDp5Su zbUrv4m}$RL%g#G#Y>%02AaCY7H}cn?4hGD2+MTvy`VmC2Fv@_*iZ+FpH0RESc1DetXSB3bm!)u>uwLgjlw~%g5XL4-)`0cxTgM;|s zCub-iX|(7Q!aqd&#akoZL;3ijNfa*PyIeBN;2l}$$CRp`C?Q2*gT@%x6Rj_8?P8_< zlg1y2q_MAe??e5md50?w zC1}s_fR|dgbFw_*|A4?YhKzD;J49Bp6q4O9ro#uv$ATl#StxWrhT0Va-;q0-Po45yD&E&-1TBE%h36OWw%Ih#zD zD)01azEu!Tf)(3BAeb!)r_L8n#GqH%SDdBHN@~xKV@wpjVj^Pc%_X4n=?4^0*~x6t z8qn27w~DIIUnM!h$QJkV9`o8Z(sXuGMI3UAXp7U{yJpcmZ(OnIWI1si2$_PQL%?e- zCgdN!D){3EWEYaKErH@Dp)50=g zev9_h4-O+*S@ZQQaZ3b{)LiH;42jX5X&scRV)#iSwo&IRvi!P)xuL?|#%AHIYwAc$ zmx3Zssr_9K@9JH?JITtpGpLtVsuS7W@#6huOj6$nmqwLpoZa`s!>lJ6hRyIL-fi>O z(i2JGWKX$^TIIe5`~9%^6MrCFfqQU z`HWJ)j2%?+-DnIpMl-(-I9vLx7+>R!(BicHRzOV;i1B6pjhO7VgIM65lPVw#keG00 z+m7X9zx}S<;Gh3;2rlulC)pG+mbq#@#F+#7zS3!{_)Pu@Q^-GK#YM$J-g5uk?p?i_ zeuEEA+kaWysmn&827GMj0syc=3GqcT)GOg5vxqs0dqeYE(Z+g%gFrkzbclCZi&Vh+ z&!ELDf_~1LDRlb;Fx1y>b<&p>Dv44rK)?i)o#e(ihZ2tr4N`QQ_4ozN5~YD5(Om>;0mJPX8_E^_n+vrQXOP#G)+ zm4j*$84u|iZE$*+{#g{8g~77NzmqsJhH#;Bty4kzfly|;NZ{IK&=$IfIaNE=IyY5O zpZ#wv+uIEbsxQTT_molGvtC-C?W)V}runiyEKX#{$W7KDsLluaS0#;(;I#d~G&E^c zEd4Ya(Ou5M59w$fs)oX8W4&w!| z3$R-9M662ucWj4^)0E)!M2ndgt!8?)mtHM0y{h9}&8YO=y~&f*tFP2PXnM7O_qPNu z`!=v&5AM^~ul#zVf4?@L!~UHCjOlxmmpc)*$WhodUe{aL~Up5hn#uZ0p+Y$dm_e)0v7h8d%KnP3i0z|=OnW0jC_!N*}BwxB4;n} zCh3Aq>tU{q;2Fn9o$f_LcY+$|Ci9a1jL%e*1+{swe9W@X`>`KNrx}oAM!QtSSoRf6 z)Oiluaz0A+4#VUfP{Q>dzL}=Y@h3OSRb4ESQvbb+#Nb?ScxCb!`J2L^-uE|r*ET>v z_w!=YV&}!aANxTb&TjU37N%&=KC=uxP+2K)rL9llg+bUvWVpOZ!pS^FlXc!b8gv6o z+Ie70Jo0R!Hn=!ikk8MdP4O(bKdM_SuW(oIV_9Qjz3tM93eC8YAYS|IoKE$Y?a22N z6!MRt#|b(@biuDc=a7FCM4u_|Qc>Xhqi|s(gslsHOByWKlpNt03MvkmDFva}hEYYq zv*huN_k!87-Lij3Xvy{uk~oGb=?K|jc%^eAgATq#VH3U7_@U9Kf69MB0<`G_0l+$= zW%LHslj@D*LTE?R*-6tq|D2{T0DLIVo|6|g|C6new z;QiI+zDu(KzDbuZscbzETq>{2Zs<4HsP)F7OhV9G3b#Dm9|MVFGzc?J=3vk%oK%JA z9v;Uy$F($xTL0oChjq+Kum>&@Yk>ax*8PKrXwu3ns4^l$Y_uTve?&6|on)u-o3vlS zWL02Js_a=++Ild)0qS%58P;^XH2sUxL5mwJlamO?Q_)cS>73u>N0y&wC-ZftA#qZ* zlQ~uo*`0M+u4d~!Tj8NcRGMS57M?xPijw3q&v>1(9Pcx0>wW)5=7JS?8)1;T@4^;k zA$B6yv~3E*gvuk(D_H=eW7#CJXQkJc`Z}i{#AuOn!M)VcE+0>3%6nir{m0DtRZiQr z^N3_eb7k$t3p#kCGN|{9tse>aEU_qG>=6-pwLt$NCdz~?#(E!TVCLCSC)4)KgkJTHF* z4tHP%>I#jp_Tt$^%Hm|+<302*NxWR-T~xkvZBYq4vN{3(E75>|Q4yctVMbcpnXKrU za%5TSq0yeTrLFtT|JMTQXdQ0xGK(>f0AcKM#%f=l^WfMQEuJ7j^so1u)cbbv|55Kj zrrr^@-sBh8i#{D6{VR3eUAdn zNgQM;bJ|4rbvR@W6g2&8 z0)oq10DB@tT;~Mx>r?$Ni*-(}pjFdsu%6UD`OdZY6?~JgCa-BuW}-r&&dKE}9JKRM zFdD#qty8yLj+KWy+*Fb_%a1Xj!I9!_7UB(8(B*pvboq~O;#-jK9HZ;&zv;oz)FZkh z`+8rnOoS+JktkQf`;%~0OYhsv3lYE@axWxr>cw{CdjMU3xR9DB9^*xR8jKEcU`A6{;L5#33%Ibj zkpKI0?wv{E_xt_-cxmR|bI$`hE@NU^BMRO9?L_`YElwoCc_eWs z1RADMNQVu9I!dS4!6MJ_#O7z`nwXWljuJapa$1Q^7|S^}t=YXV&3C)>)XHY}R~vaG zGP48{bHY>Gwojt8xmJQ$t?dp~ z3eMue6r9aNwfwaty7dbHYP=oWS8LV_cvXnYvof06PvDmNNxIn4{#Keysrq>45j{i? z>C9|CDARcfI>&ndI5P-J*M!x9fW4ZksQ;;O(a=LxRpLka61;21H;_4|886PVW}fky z5>B;$NU=N%^``H$&&KDKQ&&U&xe|x!{$K7Y1x3hSs`8F$B}%h_XQ2G>zg)2$&@XL8 zrmA0hh!q~}!b7VbnCh|pwv28p#d;pyCy1qn!|zbFd$T4`tAgeHROw6uDu_Y8f_lJbNe(v9@@xAWp0Pa@vMiRmd3` z&9Tn?k}m$WgZqeg+tT7fxf5z!CmHpR;u_#%XfLw7LNlHEDTGP)t$RH$iLcCMAwJ=r z3I)U)i;9CXh{OO;+{&vYx)LC-^X{iu94AY)vLtO~Z{}MeJbA|W*7u?2I23f})D^xa z+@I7_rHGa`2?{q-l44NG&-nBts+d$=h%VKY+ShJ~&k8)6jP}XOwg?2Bx61yM_G18? zTg$U4n0aVBj}fMVztRaa%*_?)tKc6j>G&*~U8gV3xK`zFaxbW~^LYBWiCN~ppcZ=G zf&v9;bDFUfgT6RxFrlf)bVcnbMp?5fh)yfhg{ar$azwkK?F}HmWzR|2Voxw@$j&bn zZA~=nND;wlsfeeZkL6%G^$i;bFTHoA4(>lI*4_53MAQ*%!U8CSIV&b=kcomXB$$Fj zr~3LC`!_KFV)8&g4iB};v#AxPG_OEB`u6$o<+1Ef>u?M^gG_72)e=bfoI3xb#S=sZi^p&cBH~OW+*i_ysJn$2uy&Kb#7_X(|xk+tNn)At1lk z`$B+A{$oHHtnc(ywbxm>2$_o|KMFo(>8+p+5t?B<`NBbnTtv;u)fCGcg4*H~#7-j8 zF*{mG8jQbEf!Uzuxis-{dO#Q6;8>amcB7&7%qH*Fiwf2=D}h5bwi?34>fm-Olayk$ zB1DgJPoMq#W_$WtJAd`QkhCrcTQ3`_xnDtIB7_3&%h7fAuJ!hjUG|vM>ycN5kNL)T zQVhW#H3XkOzdJm9)ujyviTqdT4P#cpor*Qn^7D{W-srvY%Rqi~VFAb^C>U(J&60KJ zrKDm1f=;2-92*iGXEzY#xL&7_r}dspy_KhAU4;f=hgn8?U(6! zEK|3Cqv1(Z+Yj8>Wj%R1t}%o2&|jI@1pO^+Qa77<93frqqC`mF-%94E2|5xnxbQkI z5P+*wPx}v}{WU1i;orj}oBi7Wmx)a8GsvJ0=AIF68u{T9gRI=o$SN{m3XfE2f1Sg4^_v`zKZ=&xkUG$@cBbHgSbilNPh&T+qu^b)+LM7b?Oi$qx zl~V1ny=xolkKxPAj^e#S@);=ldMG~9vcI+X$0afB}3YghTgbvgMPr+P< zwoJRYg#Z6k{@8h@^3-w-EJU*?Q?(rlJ*@9X4~-4gHt+gF_5?HE^PIPMf|kXp^{e{d zH!#KE1-gtvm=sjeS51wi2C1%99k${GxQ^Tv+)K{KV(y37|9z0sz<3>>8uRawoziKp z>odoc&IuVJ&Oord_7^!H-6VIqo;y2&V`?SMKNoCcoHmCAlg_lM29};&fB4Qq3vEuR zGw)Xoz%8y-K(nv4Y`at01H6_x%8Yn%NO0J;a^pm>*pvn%qyEgU0x<{~VhSpXn^~pq znd%(#7=4MjHVYVLrtEHJHKeLryba$C305{uQSYN?cK2p>fAw*QU?l#iXffiyK3ug2 zej-#_h5Ca8Hl8(~+mOLv2OJ=Zr~3{?JaRXZCDeM_&Q#XNwAmaJ9ToAV5uDla_+Y+c znQ-%SY^4q-si5aKN4HygJJKpoylqw!jo{fP1sBX^)sB;()T5hzg7BJeEIYRlY|5?m z>}K6v&lKVSMAZH`Vf*EyEBgnvvP_f(wPyP`=Ik~9ue^E}Q^e4pf$}Ss1I|;Jv~8rg zJE^JP{AA7UjBCS@?VPpjV8Cjd`C3BG_8B#(*esYAyx)2-^C1gsNwjSk`W?Id&96ry zdo%xvcD+}=&kko&lhZXb^JYn^Jf4}<6kAf(RuONX)Rd-{B^AN5^kzh5O_>joYK>;b zqekW+?igi2_{l7BIG{rT0s&N`j1x4W>iK^0S;4 zMIY|qvo7?>R?w)O&(;W(kspkFO~UpxK}wXJP_(Y}2@i$RHL`*Wk7%pc8y^5*i0nDk zWX^HT;a|6RPFxluNXg{HrJMUZWQi+^jFz0RE)0*cF~jCY9!l7ppmV8J;w&EO^e~SH z#M*34n)VXT0z<%gT@<|D%8$P4H|{Jjsr^TFUHDza2t*)Lr0xZp4gHHd#@i5JB^|P5 z<#c1gVm_!w{U*9kt>i~Fck(k}zSfeUO{vqx&7zSAN8)E!qZ8;}(8-(r$;&}tVNK(# z%d92CsntqLn>4WK^lDjTrQfSgoeZ6V5mb4{uoPHigCV(9b866}OsOHf#tbWa4LP;7 zN?GYouj2j;#xCGDvQgPgjoe!>g#AkeQYBdhDd(@H5_1_`sBvfzxtOf_*q7$cPW86V z6CMm_0kZF&_AM*-H6E2MG#MsEPaiM>L%C&m#m4L zpgdKXtx@kR_??hfk&cr|Y|+d@GN4VwJY9hK3ftb1=r%+M5F`HOh*Sb$F#UOykNybS zI6XhAT6Q*n`VP~TpIxGf`9T1LS=);6N9_=EZ(Sn?{l_7k^=s|XS;c|K&7w{X1ju*+ zkA&cq^Q}U?_bYJN4~qq|f78feds~y)T*n=Jxnos9Fh<$KOtD~$1_N6FS};i6!KtH_ zeS=JeK`PN8MH!?uvFKH1pqvffH^=uIC;xf+0_&>iF|6y3L4yhwsb~`#k6z=pZ9-86W$tbtAMy!?`6HN_y94;dn;J9w&m!P&u z0EpD~PwA0@ln;g!7)9!*)`RyO*o;Wm?cLkTg;%&)30&P*GaKP9mJKl&+Sf(V z-yq5B0ap|hTE)OdNj3UV=?!N3dwvyG z_**I@=T30R`{&reinDM23x{@`m~mxE9C5fpB(7c}6k_I_2?be9hcZYNlMonZn@+G@ zF1H)j%(+0?a67uz+ziHKm#!IC!SIyW&N_WD$uY@Xk6+9tc>|N^z04T*{3V2Yn^!9j zgkZB#88+8*Ybe(-+z<6XZ$vH+WL%k;5RM;bl)-N6H1u3(`sM**Z|W#F2A^m<+*?;K ziXJ#JbjM~fp6ps;v-N8PYp%KP@a`OtX{tVQy=OoB4{7L4upfph^S)#@k#e-!)dpr5 za_UeKaGi(Q1#ChA6YxFnPQsuup#M$;C;9T0bEnpF?EG&vMO*;vtB9TRhIjdX;c9|P z;@8JwNw|46B{QWewpj=qS5DPYswwEKG?w7llTg8j$tdD0s%l-=Tae%{mjn-)PN7hW z?zS6@dwZRgSwhu>ZDM{}oOcs>6)?ivE&{UT9`=RkvLyR!4=ee8J ziq4eIqCLz|f6!rN)1-0KB%Q}3QWMBH8imJcD$;b+yqIf`wV&UTXrR<4k|@P}FE0j9 zL&9qlGhc8QOqWUfUDGI2;0_BlLXJ)P;0st$X36gymN#T&!-;MvE-709BXHMJc!&l=y}%I@)X zYOfhJD<;F&9z!EPu9baduG`T0#y_A~U$K)7l((#leTOtt?9X)4u)(@P9z0(HxvU?^ z)rE2L4<%zi{LOq(YUS>rDx)LPdDKa2ri@LzH%ZO>j&FVW3BJ+SuVnsGWLkBQuy%EG zW(8+?W^Vme@EOJv6bh$wn^#9nBYy|{mUOTsbrjgtWvnT!yERmt=LR)d8HrScLF*w> zQcuqfY*x7|k0ktyrH>&1rKX$=-SK(CMA5fmHU@(QX?`v;sWjmd1UfNE&w7!}r+EylSm%JmmJ2Uh?FFKYDGM-C)-Sx0y40 zS59O0?qL_~{qk{UZ@y7G#nh3?NZXY#{f}*EAi;v$vM0ZiX~o6}V* ztLRj5chW4x^xUDrxWo{F4Re;d{bZ#Dkvx&N3BosS_7$h01V>$4>3@}m@Ezf1Hw^~# zEoAMR83m#DLVk_Xe*XcrRGM1K8O|#oU}ygDj&gB{A5IK+=H5LFsHy*6fHT69f2F|G zxMFj}akGgm>fV@EI~&@57QztggTZaR%zOAbN(;+H?}tDoc0* zFiohp78G`D^h$*N5Z!eb}TAcPmaszOh5C+^$xZJVq<$3X=Tj>$&SmrT!eq zUPj~%R3ZM9DgD3c+d$h`J>NVY`h~<_0%n>X^x>*6O{#B_!dp{U)2%a-G?W z?eca^(7s&T{M>(spXyC9Z*ExP22=42?ffyd_a6j$vnc(e`S5rpV~qT?RnX5M!SH(~ zuZjCX$4b3nw!zpTg$ALTMkdAF4+;^CcuOf6+GR?TFm_dwSJ=wseCCY{ddQ(lcdVK; z@peOC`K{M`cPyqK+o^)l7wkLE3d`f>K}+5@OGBo+Ds|Qhqx58Ky+Y#ny3}{56s!d^ z%kSBA66V}hQf*-gA2cyO#v4tH2oJ5WIY7MR2!R^)vGm!q01$Wb{fpi}m3 z_@y=fG5%stX663OgYBM+z0eni+Kw{sp(sV@T!L8Thqa#19zhEj*+yc6*;d=bjYnmb zyf8b~&rLRRC7W6kd}RpY~+9}JK0!| z{DQIEIlc_fyy;b`as{o&MQ!}>ChNh|jscu1z~Om(jeA-MiaC6&AWyARRzvfr(7YkP z_&aU$V#ve^_jK6tuphor3ho8)JKM0P^$sL!;OKAw+#*2O?aW;$XU2D)T2|8HUR#km zIEmL?zuqRgdP^~Q-HpWmxD*E7B`2!S%~;#N*+T4N1s*nHgJ3AqK2@znb+wuRUfsKh z?GraU$^S-o%YC1>u|H`$hP%?a13f2(H}j}gi8ssn!hMpPtp_&{2Y@(E0E}dDdL?4R zsb8gc51uEdFB||19rQ*wpuwUG*j(I8=|1|d@r)M?{1uO~8PyU7XcI%}CxP^n7`~ES z^?~v5{8u48pg)!8LVr$zm3g%fv4USC75?bm`2s{lJ7rcx;|xwq^82s6V=#2(Y@$|{ z_a0Lg_;2dS#cEnh&N{xKQF4YV*6M!E5P7#EX*I9p?GTz^7Uv;?7uF|Br@z)7`3K+q z0crl8I%7PLWsn%A%vA=Id#4MO@{<4sv$8)o(TuY#Pzza2o#d($z|#Pab}#rYcn)-` zxW9Fl|DTfzb_oghLhxvGvvTGeUmRaxN{4@oJq5*#H|VxLaUXj?(;7RizXg>9@X0gx zP*L?U!T4#m&AlZ1@Xmam{#8vX$I!#RPgBC)KD6~Nq9&41&|`ZW-*u{XdoZk8Q*_zs z-%!zNicX?v0Tmd}T8jDd7-YTx{-&u~)xL3NHMzVk-zLLbkYvucA^5f8gw<56m@hh7 zR-HegRH06@-y=XCbw5KBKN^F~s!DG$dClCrleK!ZJW5+@ zz2B_d-Rtg0m!9+wpll$Y(amam1ZtpuWF|lCjdS_|(MNSA2!6SB&g?KquSU3`dIUQs zdqp3WVh76xsD%M+(d`Y4lNpIJl#RueLzng-XZSB5%!TLS2dmMeg!tcD2I8NGgw?m6 zMs}u8IU%)=+#u7!Ki;p6Cb{4$-0ubScxU{q7U$W*NsaL*oYzmUg5Fq46+?X$wRkBN zC8bW2aiVTd$~V=_(2*N~SqW~!S21y!ITx}o2|gAYLF(>e{gVNF zJdAwonwVBrZoWxZ=P8-JmbaukuUauE+VC>2g^WF`q68m@jCD=QkFr`Cc3nQo{}YLt z&rsISK=}fJT=K?1p*#`oZfV#%Clzsy7HgPz%;S9?tGnPb$Vz08pjy{#S zs+tSOr1dm5G?QV*U zXtGeQFo;}y5zlOkHaYWZo19pTL&|EbQtJGi*_SGO#h7{3*8Ea4yRCIZaEK+a4D?5W zHsG1Hph5)G9ZxU>78~{v=)82>6{~D2kU?FE3Qh!zaNlYzJBQgJW>-IT1^fPF^iv_x zf=7&C9gDb^o9*ovW@@XM+8gHa#SSeAgg(-1kGWwZ8Mv{*%C?%%#_7z;%58qkB7JM? zG11<~kPyrdrlFa$l{ZIlm2p*Vhxzga>cf9`PG#}@xWQCU6{Vbx5eU9@E+Hs%74-0K zn|rFJUQVz#wpgaS4u>-2K&q`$cc=0NC6@xc4_uvg>4a*s? zP!d-Syv&Fe&Vlod=bQol>>uJ!o%h3~0m9VzZ)@Q5`}@zcUi0@l^8gTcq-E>L# z#B9D&Ab*DTiRAT>KM~&iEuv?Fl>L?{AX+yFXTA)PV4L@BOmxu7${NI1bS%^o{z-tT zMLkmb4V_2W4R;#RGj|3#jI$AC1N6RZ7tm^(Xy}5$Y;GoF{QaZJi@vhw7_3hE_>l$? z1GXtZ2JIiz4QxP{FE8sk4tlL*2Dj3`m_21Mp8?mwmqOj}A3Kro6Wl^r)OT`Mo{4f9 zsQf!*=fG}c+*Ehs6zlGViz!n&u@!A^f&ZCLt>LF29j?+>U+7UUr#Yq<4{N*N=W+!5 zl2nzk7k~+`zFYciI24u%)D5o+-5lO1?2Lvj!Wx0^f$H{xkl(JTSAW?T$hqlT3JSz9 zEMq)|pbF3L|Hb-~A~T)Y$Ar5$RUw61!QeSJ@|jL67%{%i!04X;XY$p6YXX9wtyea2w`lK?lDA$g&qA|X}AhRx!3Oi zo;iBaRfyjLtrPjHYYtd(0*T&`qmkEyk#hFZ(Hu7PDUB}(%(neM-lb{D5N*dAK`r0d zQ!fd5^zVDi3ujGJr+UZMNa*V(>dEt(f&Lww#sG=wrcs%W`G`tJi3Z4ndq zJgP;W4E^&0KUCv{df{xEZ9Aand{d7BBGt+@CaAfu5wn)ft~c~-dI#!l;(GL|{22<( zGxvE!&a0n;*eIY|At1@R)T4By-L8&AswweW+XLacym)H-F(eLn{X1=k`s;a8do75E zq7|fK^2>wKGYbRS-buK()pU@gT4FsfntH&9XZMyz9+Hg~>V=Q~l4>ETYhcpJefSqT zd8KY~$5$(`XCz%6fe`|m{3s5jY$hp_INwy(witJNlic?w^PMU!h%kGYveG)CX= zV}L~jtGcDBZTmC0!j_?LkA$NeG3D~3*FGYXJ1>eol(K{iy68@kbT1}q>N~0R#3_0l ztc~;>)E{0)!=a<7D`k4dNR-QN?U%toY)ApYx{*73hKBf*wjqImZ*}URow09Jwtb+m zBucWHcQIpaTS1n;75N!{S4n#PTm+zVsO}!qFo? zGm6(8qlzX`_1@@eDOPZoC*aY0GKqTGcv#54e30ERI8}k)!P+S2XU5OGAH8?auEb1q zL)!r^d}J4gh?coVrMO=z=)XSUAdf?38B7uNHLWQnU^dJQ4tq^mukq)UmrfxGo5Wkm zq`K0uSk`~KNHOt{V!I@jUIs&a9H|^GMTFOOR^rkhW+3bB#8^2cfoQgcBqy0 zU#PEGS^iqU3EIxAV}TYR8Wf~DnHTycQe&E`VBZ`2rB)VGWr$U%;Gkl)GWaT_4k?(h zJ)*p-X*0iUq(IdJXJ%aGtsv^U`AUXDxuM0{wv!_qqnP0up;F43oia;}UiPi0k)1Q! zSEySv7HAX8{1S@5f_J)vENY0?E(cqBW7aKetnq6MUzWRp&9Z=%b2Bqa$|JNEVS(c+ zDb*0K98lta;0OBO37sCe5v4XH1<_eEb%D#j_e{XTQKzJmz`a>R0BMO4nXEO!MQ*OU zTSCC-}h^f;Lsbet;GJ$xy?W3-#r*kpxgCuch zGP=b+@@0G12K&f$_CDRcXVi(WIvWdoDZmK)WUcHksLFQx0hyCf&@)7IUf)}IOSorL zWUfL0%YDbZ{Zjat9PvltV&L0n#$jaVBO2S_vX?D?-rYN(!I(s@*HK8Y*qUR``fs$< z$D_~0k6gWL-I43!`>bwWbc{Lh5xxC!m3vJk`i`UB7NPjp=vDktn(mE1|4z&Fcl_n- zYWnbb=eVl0#yE9ta>VxunPPTEth3?>wK{8N9@SPHpm_9S#wdQ|3%fQPxiY@b3kmD- z&wJ09=D%(V#`?;!z4?ERtlbwcEwSr$U)FghW=7`yYBUFxGc&t~S_^;6K%q!jr-h#% zeRX6+WKw?UjhyJ9iY{x(*Zfz0_GdHkPneTRbdyyo1$HoCErh47HW3}!!gE#Jok!fd zHewKQwGwf_G(GZC<=fX1E>4|Z8Tk@UG-bsxafZhaPK=0El3+b}CXjquni|Dlg1&7| zaTK(=+EC1y9h8edY*xjsL~kTJZg6K-8dLQU-rrmH*^g+w6^8Vy5Na+hL?cVj z&qH`*7ZNiCd!Aq^ZywL?w-x1s6em^EDnb!VTn+*#TzH4Pwv^x&~?}hzgYLGwjF7k&QrMQ2byh5iJI-mQa;^oLn#Tei~m7x+B z+WCjqYIO4D&vPqV_k4|&CV7SGiS6vh4{yHg#MtwaN&@TbH^Ea`+jM8g$j&am6!-kH zkL)|!#_&+mc0}gAXj>>muIgAbII!*M`6w7S+Rb#A%ycH~C0pv1o=u@#*v-KzaAdm6 zR7vU)q8ga-4AL|IDbuH(8#>m^7rX%c@RR(+mOW^0M(bN|I9yPF=07xX&R+j4mZhjm z-*<7B7lO?MWAX;Wsm<6LRq6gpoV{S6^AZ}Y2iNa>qT1=Wl?qb(cBj+)YUtDN zmZXMD-agpQFIQ(1`TJ|u@%zw8{Q1cK?+~rCykV<;T9Zok{3{&C^DaO-L~ts~V}1K4 zbHoav`GqLt0PS}zvm*AIc}Q{FCPJi!OKXHT)C&)e+}$xV^8i2K-L@;13Yo+@LIxd*vtH67i% z7u(y-&Z8iBAN)E~w3*K$a`rPTZ9TBBgF zvOl7ICNL<8zH=odM?T4VcK#(zsxx$ZVdL;0)TyQ1J-`f5B)|Xf6kXTpZgO@S3v}Bl ztML{dNMtPZYuyGEld(HzhDK#vnas~p13TGm26uk<91)Jc;vRL+-$*{qWxQeMoN);Z z@7$r=A%EQFSE<^p>}V!C>5QvNIIY;J>B!9al^RGrt_qr*KdOc}=Y-TScLnfyH+_XY zKWsG=9-A5#U$2@L97xZbut>v3>h5xLohr7({hRI%8|( zI)`ZQucC@zowevHr+3q=$%AoGJP^r5TD0Mv_O4Mii71w7h&no`G1rnL@=c|^_EFT3 zW9-J)TRGX8C!$?;_eycX%PTW})Smt%s>2H7o%a;&pPt7!y8-$$xjt_F>Iu66Udyhh z@tT9f9TRsjHe2JiqBOZ>rFCOx{mQmO**!&(r|JMxXZ*GL4d5*XLwU_$>P?%KLz?ar z&HLr8MhSYYUSvoKui}bRXArwQZtzWUaol1QM zZ*rb&nf|2na)Pd8wxHj66TVl7Tj%kZ~bq8D;*bY8vx2a*a)CT@1pR<;}UBkeouf+bK`K$*2APB(Yj?DHv0 z!v6=E3i#DMu1cc-zG#~L$Bkkbxggq^=w7YCZ;5sl#vksj@lPE24CBwad`kn@IQ{C0 zB$jniGZFqAKr(c;PwR;jzBlKsQ0pmnv6*%hj|cbfYV~u zUu+rd4qfV$n!}}co@& zndA;gjK7md?`oj!zh4afom!kV67pX(N1W{CQC#kvFd=3njY1R`PMq?M79(Kv6YMPT zM++PqaYX!{5gd?n(DxQKKg{2x{EX31s-BjHcds~%ca8<%6WF6-F5TOTk;>tjM8oTI zJ$zhKOR3*E5OL>P+_k*6?y;85&&5%LI316}^wa|F0nn;N0qcCM) zn{jieE_$8K0H9wVgQi>qKUM?(Wo4)0c?|Poj2JzmW!Vs|7&(mAn`qtejr_2`1>d)Q zHT-_6zSo4`jjopsuNgQQ0hvg5-hUI223CVPS8B9i#yXe#KLW7PC@Yk$G@=)NgSp2? z@GC&Z-o{9r@laphr)wMF&lu{LxvVslLQvtpZx3L{*g&}B?4u)*?UBYvWOgKVTyP65 zFH0k-BdmowU*@F)Ct-dTBX9GQ=FYE~9bMi~9Fd*o*<2R28H^JuX19=E0Zdt6h~>Z0 zLeUFnW=--b>iregoW#Q5FdX@i@ZFN!J1duw) z>AcZeu#IX-XeB|0dpu6#Q5t9-V~7ps@MtctEy^ph8`^jzc;Kwo774X(tuf;Sq(cA zdOp71$t?ofWb^^CVZVaUhAsl=I$%~nAs#pL_}k#I6Yy`9&?*XL(5~PFBhjO zu>QVAgY}10vfi#lc=pcZs-T%2VW_-q-hGr0FxYlX1y*j4jt%p}t_(_UvM4!QC95du z9W_KoKV}744=#`fYUIwDjWZT-8o-KNnIH8D(~jxX22Q$5y|aE9y44Hu2jF+0y~%&` zybq6yOdk0fiaz*qFOko1P_gzg2MC8LNOb0j*34(a+BSs(Ye8P+SoL?n_{omrBIlt^ zDZ2nOwf^#K`jlj9KY!301wQoU{Z9OxCWjC#(Y`o7;hL_8L^mITxPp2jCOiQ|V zE@pVV{fFv!hhvr|v&c%rS`zuTGJC`$X|k|63^kuNVVfdzNH(dY&#i|eo=a{7QTyh*ae?xDgFN0O zzW5pNyKgIihP}-4mB}Pn?~dnQiww-s*P@`U5}qS!OQA zG&x%_$8CSAG+vF>-MiiyTg0FySDLGsPOIo{o(&Al&$tS^6iKzq%G_<<$3SDC_ui3g zpxw#yL^^e0qLW+7=Va82BT+i1&2vl~r4%FSMdO)w218UT6gTiR1R%2jvAmzEL>rBj zT}nK_b#saOGWrF=H2f`=NzYAM zzxl>*4`DoKX*_#77|$_~vcCL$KS@P z2EaER4d_kh0_L?McrBa>#E8GZbsynkoQy|XJ#*2I*=1`qIjpH1q87VC-S{Kq(my?m z80%l^OxvBmnFmN(>QvSWw6HVPm~?CHhwuD*@DD`bGIx8|TXxshQs~H;(2o-1!;V8U z6!#(yKwoP+MOQ84-X%qTooc=4*J)df>klzwrA270C zr?UNm%6bkhRQ6v~W~>|o!$#DrRP*csTAQN}3No)KW-ceQX^pmnoPSbImNZKAo6Qj8 zpy*x864163os&k{%9WdOdDLX^s!M|+mEJ+-Dez17_Tj~U+$_Wx!zy5xooIS~O0oT1 zIrgs)4bg--E4gI_!25OnU|=!k|I(+5IALUz=a5vVK7~OQJ>=ZEZ#QV=jJ*gWRU9_u z1>i`(Ip+eH94QeKCBVq5g75SIzCRpN7|eIe{+Gc_?+;k-nGF>y((7xdSpV1;;foRP zK|J1#9Y+EBx333!IS6VfWBh_#Ujm=_lcuW!^oFV=W>9J=B6A}1#eUX;M|mCFTUbxZ2(VqE?K~@mkn#8377ks_c`u`-qp$FxceM^(G|BuYiu)`RN!c=e@ z>{^g$5v*TkkDWmi8qxT!)%;Ccxj*u@Gh6d?@V3&RN7ksLBr}rXEhR}=QvyX?LO-dR4%xOEi37E!eIi`Q{;7oAck+i_-(4mRMaH;HJvf8XoBV zj9ri1-#ck8qVPCeZD$_MMXT%dXl4IEC8*6GujbABF1V)wtkP=95BsHC-q+z$8(o)o z%YNj@H_q5uMyVYS19*_byO0kUqv~e9P7*0SxnF5YUSKkW4Q&UB!rTIh+(!@0{jL7F zSN7!=)a2gv^FGL^I~wNJD)4R=g37w$y9OPCnN2Dx{Bf*2q~pR2WiRBN&fN4(v5_4Q zA3X1Fpx6%|hzCJNjT@L5#1 zyX}AMo67J}5ZeFK-jB_6azNa898S{@NmFdQwF&W~H8QdJCu-J^v<-Xl0FWJKJ?d?$ zklhw|0B$M=M%7h}fK0)Ri(HW!iph9apqCID?`5xUR^%r<1S_(Kr*K7LU^e|T-KG{> zVTfBd7ud^~>>Y8hR`EwxqZY1RT#}0gu9l?M=hE^~;6g;4>q~NAx>A;fv zn+!VxM~=l&q2OJ?Ac;%g!pdYJkJY@$=|Xy=Rzp{CEhyQfS;30&p$e+@-X5&(a51IY zak01kbgm`(C+cWk=X`AAYo)oixeDN6e&ut3f-40Lh2B7)e;h-0M^blxjGA1mGDtQG zbK5HNRB=KHQrj5JX*C(+&uuh@28f`XLudU7(0O?T_~PWSP*c#Y4{%J z>CD?!TNeetN%M$ErhSn8XA~?}`pK>VczzMzdhRv*^w`cPI0L^_J8CeLjnuok{V7`; ztbjuq(x5|8?p~Z%>y=XyoSBQtjojv{sI%Der8jHrCC!%B5h>hS(8B0b&!u5KNTT6N zS}lHnvON4iw(!H9`p|HAjkTajCmH$iL+l0)DCU2gwnG;k%bGA(J4O#Zv!JsYX)z_JgClj+4C7xWg(4YxSRf{3T)bC5fPeDE4J6 z4Y96F*ruggz&<~xnbOAm6ZDA!2cdJ=Z54)DNRwCgZ+#E>MecPn@qH5uCe-x3^Lqd9 zj|Sg=hgD|yef5Cvw*}vSen9d2pY>hL$WQ4T2RfI3`Z3`Gr?CWeuCm4Z{@xO#>61e5 z<@@)F>kX-a)7u;-=fj4v*aE=y4a!z-7jLq@0e^_7n!4Q zFHICE1B>$wa)zMk0$Y(bGVNwj^n>FeG6{~&=Ij35ACz(jyhXU_{IFBrJ5J9GtlZu1 zGks?p6?DAaupcQssCu^w!;1_Yu$`D)dJYPWA+zj;_11!%S*D}gsetZG*uQ|OH|%B} z%!aQY(8EJ`MA{*H^Z%t^C@o72N{iLJfwQsVm|!Mg;^9oJiv%-a=x%=4+Vp^#*r2cZ z#y3qTc04SpDCoy;!eWLjBmWL8_Pe0iynmUiIMsdj1YY z4L#Syh@K}K-nAC|nwGvy&o3|_7D?Bg6f9PHG?n(7nP2d&=UzZPmog6{Xoql~L%RP% zgXE3h9QbLhK1~Wf{ivrjVr)}_-W{n=qk>O|sg#TWf=`3==@9d2bP4lJlV9DhfHdFT z`DOC9ON$?-SLd(5DkFHhpQqv?nFF4g2r`DG-L8s}kz~JznL2M=KE9U5Ikl8fX97yk z;+?aKtyX3>88i#CZRh-&c}D30jh-cHjp+L4nlu@ch!KnUjXSFYdft>T<1)@+_kE-P zQftN>m8sX1U^`{;|4*Xc$pFvOq-d=3gECnC2bnjm^qzgKh1<=dDZh~ZOEk%ko}!VM zUbcu!0(v(~+n-rQ5T@%&5Fg@BC$0UC)*L^M8o1x2y$Z`{ayDnSN6`T365DJ$twefB4PF0(Qj_FY#(HNCB^ zzQRNFB?&^uXGoqPyB5onM-GbkQ^m%hI~sY`dG;=b9(U8+<)mwP$oCNW2uISdH$%h# zPx>FVllR6qk0Wm0i|!D zv~eItyE=kq$l+sgSg4;SJ&5g3mFt0E^LH^7XpFx}--0ndk+0&XS!PuMU9vZt=^Zu% zKnG~Lj#D)zyz#P|Lz-N^Z1Zs(DF*~R-j`c5oq0>-c^x1<$r=KTtuTa*9!P0LG4%a)z zU$eZ6KZMKifOf18a8`x)IZ}a-(~|hB|23_YwS5`9H}rKqyd4B&u{d2F#;8x%L^E#b zPYI1{fxOl-NjF~^uvW#)mH^g>yJ{Bm% zPK3GW*erF{Y%}uXN}Q*HHdAN&m#b91@dg0aFtXbYhjD*e$*3GGbe28l=3x7hSxE*Y z#97f!yENdnxM@VO)p^f~rT5Z{JILTX#r?RQTiM5K=z6PSpLMCv%R;NQf*KnDuLMG-w@(R6;RXv1FAuRG=~jEwwhtiu zxL1I@pNX`8o9p1&5}N-0fVK-LFdS=Y?-k`xG;0HdKL>2+)9)Mm?fmHIC*_gw;H$!` zc+#AOqz=PTpcGhG=3A$c|BWnp3fyn zzbHddJTz_@xDQ!hAeP9}niEj4La= zeaWGdx{96^X8->_!L|3XvWhn~cVuR7IW+HR#w?`J5NYau@Nvd45>Wi+i36_-bbFex&VG71w9>?$7gY^_=dxJNQn*aGEm= zNcuGsSVZ<6-1c>Lb-$Aowifule|m80T!o2iO@Dexia*z-PD_7U`Uso||Dp7!vx2z7 z?x|G_?3BQ+4pUQ3K!%vZeMKaec_*_{8=QSG%4rfJX>R>^0MGrAuimRc{{yf88_w%cXAyCNV7?>nF;wtlBrk^O@RBke?VH#K-n0)S4wA7Oj5Kk6 z&HZggj?ul1-9Z%9`^uy=oD7=xba+=&rvLer?f!Z*Ajp{YVoV!F;kfCzdz@rupxD=T zaLyK)*-o;kgmt>M}8Wd0OgYmZr&Ho4BJww;A4+C8C`zmY5Y;t2rrd)vV;W5;uM z8w)8v%wt8i^5I#1(0!`jOMD3CD~LC+w>VAzBg}wzvIZpBX;z@TV*nHG0#RY88L9x( zgrhpS=Cjm0^3m`JlW=tK6f0Z(rM$Ci$yee%8RWwo!ODICG+}kHNvKuQjDy=+o7(`D z!tj3zxPa$t&zu0>^q!emE0D=r7^V93o`bFIqdXM$nG-qw}^Z%ouAI_Xps|Ib3>5Z#ynk6;jO(MLOi}oGX)UUG^t$-v4CRwQN+CT zo&&9gM}jfwJ(iXEHL2-6gM!<>tc5pFYnm85St6&RrR|8|QCRl_8> ziw`-I1-o7*-c{TVuZaGqudJ=Kr1ScD{{`%r0*o{1=y$x$@i_$|*a-^z^cY z#9r*(%)m44#eugTY(9nD|->`j)idkP`}q%xqWG>{j{ny z#r?fzr(jmEhP|%EUD2UxxxkIr3c_M296_`5m*u1;omnjSl`I0RDRfu>kLpNd9@n>s zVROm%nUNRShkDIFm1Dqzou=3>*#xuH%e(`Yha>@Xv$B=+6*u9ExO+>Ok^9&dQzWzz zc5y?n?q26ry;7t&)p-5@f3y1wm5_j2)tq~haL59J$T;-dcr{@_0**?9U=APkt3wXb z41wg=CMiPr_0RZWo)Ye_ck?98T5EF5_iL?;4hARYhrFwNn8rbViDI$VE*)1*2!^_5 zt#8@DCf#Z1j5()YZOzBz4DXU(3l>a=H`w{IbxO}{Apt4Ujm(+)ZgGC?&JczZ2RW}t+C3FQ; zMP4v*r8RwRZyDknv&A zhj{M`ga$P`4^5UDVv@cD<@|G5syfXc!CXrf2u0duckL#w_`*&~6ryVsK=nR-5Qz^x z4n|v7X>c@Ae?jzZaj&b?eRH`42*ih^emsG;61qyUZ$P$-j(kb*t`PR zn6W1rNaMZhz6`&A3eal2Sw5)AxwCrIztt~q=mR0kDe3TmwoEOtJ5 zaHS28akd8h%_R&6*56JEF*~qy>a4VJ?b&J%-zp=KF;i-6v+$nxSa_`>h0pv*EPnt0 zUPITMH$sI`FJt0utGj=DO*mgYl?BUyS z71-@g8N3~5-d7ViH8eLoJ@=l(@Qn%P(yTA9EZGo<%Vp}$rRvTXmjR*1$H-Z4co%rA z1B0pFR~1a@Fc30iLjFi|*mwR-JC>wH7M4@iY3p?MK!EkRC z6Xb6+WO$gBJqjhX;YU701pVIMT2M(6@iuV1{vLA5z1z3zfafXMdF8is(XW=v07zzVvp5)#BkKoKZy571oyW(LohHVT#cKk#^7vwzLj2_|2&3P+7r-i4p0#m#)h`N50Hwm zFsq;8Q_zp3`{Q{*3mlH8PNe?F^7BBYSM7Z2vx=Vm3izGS#fishu_f{?#2@^y?E~5) z#|;$ud3cEnSNPf)Li%UFPIDMXK}{f{#`4x2X&@vOS=bE2!p_npLW6i6#BgAhdc8TfM;Rn&onWiK)V{`%`0^*`j%8F$z zaw=Gs7O%6-5Ouv-p2&}a-yCo0oaQOq5M&jK-6tGBk=X-vy@2-1X-HnFi*^c1bcy1J z_VfvrTrXzj-_#4X^W)sIMTvaV6ChDD33bLztYrOEt|POR=G z=F8Taj$LZ9#p+yJ0flmbbW9-1T^p&a5+BZFO>Aa7vu7yhh-6LZ@OFG{VmNV1x+heb zzU0eKyWUXi*WW7_ce(!K0(W6ZDw_~&nTRTH%_h`~^bvPNk`2F6)B#-9lFlo=&lj#^ zx&0ETOW>B_-^RW>9zu8xP62{{i8M(^)0o4bFwc=#dtY-N36rwS8Y*Za? zx=y&rCjrf5j z*=_7vmpJl?MEmZDwiDTV0K{5wnoxlxqDEl128vq?H}aw+@H)8v)mku2K$~3bQ!X43YjsIyTfmtEG4D|su4)UT(A7=JD6DOIA4&28q~wYbC7$XGeHsxq2Y zzxwkI!ADYcpm(wsToVGv^atbRY*hHNG_gq%4Qpx2S1e}w!8}FjZ09C*_8iju-xy3* zeV`0`NM2bEHR@d&a!Ap+BvCGA<$k1(Q}i+O^ilL4F{XK=uWFo)>SRR#R;5bGpQ2Cx z&OBY|e~Xj?KLds%fWdzO!XSKW$F8jRaes)(!uVyLKG5$q-?G#Tp-I)$D7xEF2D|;~ zifSZ>&3pzKgYVS$<{Q+P4eLukR}%X01>ez{wPS2q67foI3Vf6AAZNkVjp$y)SJMiZ z#?}{7ZFU(+V;t0iWY;Bna{xIc|2f=oz-Dk2UX--_Y$7TTKFtEIp?{7 zB+JU_W(}Q0qd*(_tE@!sdnF^>Nq;ewG{GfzkTV?qB7XbSi-ogA+Lwo{Do4#`Tzee#q1+kV%p)*a)yR zDUyjG)$b0B-`KmjxHVqk{q$u9FFzXtm~Gx@Y6W3bnQdiXrxsoGij~Z5FKWYrh#1;) zxUqWMsr0X>I|YVen2CQP17{!pBusPrQ`77)^W)g9%a_4--W~k<@YLR*H zF3Nwoo??7Dwlv108waHJ_ZMOEGC+KqM*=5zKcSD>LY(w7iGwJOoK;D8zG!aTx_j!Z z_|B%93Gl^BILj(Tnit{=XOpgi#dap0m#ysCu&^fg=V_8hV&b_{^MDr5y>}5QseQG{ z6xzN5tsq!hbO*9!+orhNs;$&h$>@4J`m}aHvwAKfz805CLJ1cwrYJw_^b=k0ns{G~ z!TAJhnPEH2ZzVnM>}WC-JlBE^me_i85Q34mQ~R}Zr#UO4)Q;*Dqf&!;qTA6)E?WOh zP@&zOUQB}ik@#m`Rj>YqMcSU#7&OK3{23*)A^usp68Jq}w91Ebi|2Y~4su@cMEB&yAoip8T$E@$VU*C!pc{=CYV(isg z!P791{s&9Uuo!brY_3dEka{jNgx)?!B~ZNz)3V}DzD)`n(-R2(f1*aifX5J3)4f+; z3|R{7UHod3&PSM|&2&NklJ4Ys?(H+3!v}FQN&37|-}skwZVpWKzzKpFV(rSqe#T%r z$kdYC(BxiPZDoH<#qnKFNLyoNzo%AQ<7;SK_p*WAvYQdo#1*LyJqwTIS*)MXon#Qq9-0n$!@5cy5M{vfa`q=6;th0|3CQ z%h~%S-{u=HBbk)K_9pxLAUUPn;?iO61wr!u8n=GQKM9h*rQAFga!=(MXIn$Lob_?% z<;*4{W($Vi-Ldp@>3F6$YFkZ6AKiBQbJ{}e zTvMq$VFIEgYBVM6T$8r4&$1{`h<+vgOohVi?89%+u0(?Nf2q8#r7Tf1@ZbJvL;9y7 zznkkTW3;_y=Sr?Rl@(*!-eh-q$PA4FlQ3`@jqP-E$+7x4Hs0maUr^F-%msz)nYa6^2%7Hgg97-Q3(*+g&@1-1letSq!>*1 z9zKh#r%r+w0PN?9++-(Vm4>4dr4_f}3l{*mmN};Nnple#(^&x#G9@nEaXYxYmlFVkz z-JYRk#*Xy+Yg$Pc@La3)LEHY1F||i@OAI?xqC+#5OPXLrgyl09NOp$n#h32~ z^|hLqnxMkwkx!!Mo(aCx0WNR{JcNhqYc^1tBRn>^Cc;swW(u3TTsd7N0HQ7~TB;?j zYHjDXni%Ev!j!(2`Z}(^+|PqpEV8qaiqI3elWT>T0oghq!TEn=+&mzoxP)p%x_&Kn zEX8>+s0|m4q==wHeOOf~8}VI5tIiRga&Y6(&OR0&7`Q{ttw zTm4T^sQ1ZtP%$g}9dJ|gauUD(aQ^gt7pXZQ5`QF89U6bNKV>%MHy8Fppt8nD|KKwI z?~!l=yhq&#CTu3%Kinjyd8AWPv2~~ovu@0)^j|`x4&Kf9hz)ak#mEryq;K!cWdc*Z zo>n8jWTWU27%yBw#MEnESdq`OrDbNrLxWqr%2=R@F z{tNl}0!+rWpR4i?n7o_P3Wm+wmk2{{3zbkdYK-G}DD^)fMRWi1eSxY$YLl=7X8!#- z96}gDwXlCXbBfl9mbG641g?Fxc72aCmBD(*Z5Leq*Mt9Cp4Z2-qe1L5^Jr67t=)nelzO} z@u-SSu!+lRDmBvTaLjg(UzO;V$e{b5E5ctGs(B9z5DY_Zi>m0Ste@nVY9fhgA)y!6 zs$EKE+d)vFR-4#5L_IAvxyPGKNiNyLQA-MH=Y90o#O1+fT)c@=|Hj+~WE;QR6c}O( z%p+k`jW_pc!;A>Vfq2Wg2Yx{q(x3}^KcP!cu{kP5p@NtI!lwZt6%U{!zAKJZDK?>n zXxXg*{2xZYAk~_})7fQEa*=>AEs?gS{RmU7(Wv#=eSpAlBt7C-phY2;F*K< z7Z3#0X7&v4n%7jfj?)X*-p^2#x#z)D13jDZswnkVjk#6rS@W+J&JuIW{Sl|rXf}0) zO<^)aoIIbkPMuT4F{d%tVqYTF`d8pT75;c~any34aATIA;+oJxl&0ma&_Cjg=gSYc z!feR5u<8&}CcReNkk@)Qt&v2{DTf3vbMY<)IxqT%0(h{eF^79rc0Ur_A5IZn-F{_( zuA(?G3JZ}7SxRp4W{eXiU{as~@@BrOH$zU{RYh_dj9P4p$Z75#Dj2z8g#r>#9u&P= z-Sf_8K!xKss{Z_F=POh7+4~vl17YFMNOsGwAl0mk{OqaTabbyRd`brE_N^6QztG;) zDSGwdD~Q&k#}vwWp8%km8DR?DRg+f!^27M9e-bv$6S8=Q#45Osui5bs{U zN(uSC9cMis{+ErWc2oMoub~Fr!QPVBT2lagtMKo@UC+CHwQz_2x4qurU?x%mrG~qPpa)wV}NP9-?5#x z;vt{&Qo>p75o8wZZ?1CT(Cl8Xfp8sll2}H$!C4k!gzKv#KfI6q11k^bZh8L0PYj*yw znrd`149E)6f35ANm-x->9+W!OyCm_Y8?0v~jSVwO6jg-eGbB8HpC&%qzFO_|!57*& z%MQ`m7Q~`{SO_S(XzV=&u!zJ@UpC{uA$Szcggl*vIBnm+)3PP4D&>$R*+__mq(=1I=Uy z*x@}fQ7b_MwKWL-R)k8U=KXqt2^Nt1wyDlXY5p<%BqY{X{){$E>^LhsOc@GSUKdnR z?h;S5kGnDW!GkOHU&+#?fuw(*#-is44uWfmgm*c7l}nJ%CiwPC*8Cr-f5G)WZEs-l z<3B9=BOr0d4&#rD2EQ+IMn~#GlmwdqZJT$`^OVo*KETRd7ZxNnDA(92NMu0#Hy${q z<8Pxv2yxA=NjQORPUB4Yx|LmM5@Ze8I1_y3@Ku>-EZ{L$%A+7k;pDrm;`dSES!n-ZQf^{ANP(+ zUww2h*9~4)PW+K(fRer2a8I^_3%<>3le3*mbU0CjT5wDDUK-<=7=C`rrD5Pj+%c@& zPqh5Rj(rBP-l#O-jipKBj=Q1`{ zv#9x<9~#>EP3R3|=VfDWvFX5pDAM>xy$o*r3qNhQ($3XEJI@B~Jhq`g+C1kKG+m-0HRf$`BxC(g42>6P0r>I|EZV>tXAHiB8hi`x$jyJ zE1dXijIltnOe=~XB&F_o_-l}_<+5G4~nWCWS*CwaFJI27E5HvfE|Cwr(tfT8` zoO3xtWVd+nr8J99MgxwGZ!HIdR7pZL3F7ls?iW0vThhKy(}d3F>!e75(Tm~-g0Bv4 zhZN6Ppr@}w0n4J^BKWNcSMTp6j=|{`9aUAa1uYM`JIT6^u-9eG^pSRjpvuj1b4~ia^XXkEiQ#CGc7~`JVZw zm^MbQ3@R_7a_@91Wv5cxk2v^wRi*<2E)7;OU31|bepQ0SDP&~qydmAbA_i0C@rDhd_)*ZX3DMEzsDAyF}OFa)RN#^>Hl zS)SD>M;%U1P%JTUl92>5Jxz!U=bU zaByNiRZ-&o=rIOVn_hNi)UkzY=PMqDyx;{IgRuD(-g&4vf<3CY^l653F}x8X{9_2; z&Qp(s{t%Op@ztG#&ZflhHQq#G_DU?-1oXt@d+2a#Ls;6iLot>?%+0*RN_$4wmv$ab za9fH^%#W&5_}hB#h;e+xs6mSm#noJP34Yb!UH+_pv>JnfDndv6Q07pQkhXYPE*~&AoI$v}TePG^K;Yl&z+B2q zd9*yTMvIs0xlGK~E#4UvS<@UjL0+hpz*uO?sU$&bUQsASoSmE0f7`LEiT&)@wMrKm z?v734uRdUaaJ?b=3a9Sa(4m_Rh3}3jA2~SVWK`8}!13EZ?k6FURU@R}Kn4oQroQ(= zoFonCO>E5gWE){>6P_5A-l7G4;z>%M(W&Zlejb7kn-{0j`@~R(J5`~723f%T4O<_Q9r>g;^dBMCcUf62 zUN|==b>z0PV`v03Ah{E zNLvwObXZx(Yk5_x^(ya&%R+NEmdx=eBc#)4g5@w6%}*uVb}cUFDPy<57cI-CMgJdV z?*boXamD>-Ng@H!Cn9LPuNpNGl|+q_N@@ZLJgXavB0{THS`cZyQP=VgOZBeV@l}N2TYeZ2LP?Y??znSOR?0R|M|I4Q}&(8JCnKNh3 zIdkR=-XJEuVdeWJjf-YSf}dcdkN*yg#56)fWyaPVOaD}jcny8bs$N&5z$f#&NP6s> z{3n)9X+pRqQsF;=-=ndjipEOUGi}*cg0iMwZj~PgRdB7qzDQiLj0c-CqGrl(oqcG5 z)22Y(ajz+o*~EvL0&s7H6JNs2vxI!l3^e+To)6_eq)4CBGtNpi|I+b8LF#PGV0|a+i z^{`-wSNUMe{oK2D06`Ma34;TTdHeE{iUUS@S5)+LPYTcXtvNiU3-|W}cB|9&si02} zDCePzp6gwY7+T(F!o{whImoRYP8g zKgKsl0lb5iD*g-K@O=-qA1S_vAGowUL6j1jP=M1y#SDQ?*OH8D$67NybR{Qtrvvzf2ARYsPC%HZnzQ?NHdh;=)|L}FS7sj$Mv2LaNqIPlmfCXB> zrLT{=L*|rVVA5eep?+OXAk4}3jHrtBjF|{0<&#HOVeUAOdV>o5zJEi?;uAExk&#g@ zWlBBgNLR-fYP|g()A$@HY7T9vQBX-dy*X^vS4IoxfcF{58tTAip3N&;1xj$eA3=}3 ziJYOD#GH~GNZT})G{-6z;PXSFt^ujcaO)!cTO06?QF8og83g8PCI zUeQ+ljYZbQB5z=HQfTnfmgBn5vFjHx4ryQP;}s)8URj~zB*U*TP*rk%pC|{bxNW_F zJ;TEncKOrDJpP@h@gDoCUVcYGr+q0MDKZiK+FY;uu8MC^@hd3~hy?Gvnk%4NdAAkE zfT7*7?E2}2L+@il9C>gYsXB);n=D4bQLKhvRKtTT9E&N?a-nQ$3LEh@p4Q7>Rrbd< zSR-n;bMcb(K+Zpv^BOt5cGk?ZlvzyPL(2QNYONq8bBcIeuRkHaEy{mI`M)N=`({fw zh7V+4&d83ZVSIC{vq3@15gH~eLvXgS%9~Sb#>G?5z$JET94iaiN#Avwhw!3eTX`$^ z!=)u^G&u3*3jfpxbR!3OFYfJgL02&<_9yHICN2n40*dEq)}St zk=eJ{L7aBQt&R^twT>5Z5NWn8yuTMzTD(Iyt%xU;ZCP1EFP*?T(4HFR6UU_I`aDD~T*__+l9sJ7NU8#yU<7uoxsUZ+ioh z@#W9yM4cLurCxYAe~Em~J_)f(otGqtuA(#KE3ale`Owfx%y?OXsqzbh?ldboRqs^Q zC(N!ZDgy!IgoKiFyc3S%#-6UnVrgV(aYBVH+(SW&Yq3c*U`*J-Z-aV%SLruOpR&E0 z*OwbuYC>2bJO7&d?ZA;Vc#Q!1z5R9QSF~&~!S%1y@N&ou)eXC17<<l3`AOD*wAQV3bATx>Nye?f2wHI3j@_1+V~n%gUT(e=?69W+_Prh{ulSoUoDT0a&Dl3ZgJks zVNg`>d?98b$ZzB!Go)#VsyVf*xwb0-ZI3HymI0vlCC&7VmqegtvgO568RKti&boqGQj%IIohx(1{^4k{Mb$Rz-)_2(71|k$eg}l=itMwDJW9jkq zH`=Z!LiHEj!&370x$$95 z+uUM!^hVfm&MPX28h!ld=!93KTAmSsXXP{9SLFP-fft(ei0z7D0L{}$X6t0b6vtq9 zLh$i_JHZIr$iq(CNrttHLnPNiHxo+I1>Kh$z8xrWdVf#ss5H>x2JHnF3tcWVwbFr; z97cZpjDMJ4ac6}6AaVoF0pu7c{OYj7krl+up&DJQKh$6(UvJ*7MsFfI%)wL;`HF>M zNLoxmtmloXQ{2>yDyRK&c&&LqLknPDR^u}o8Ta=n-DzW$tZ@1E|1mxoC70aWzC&G6 zHj?xC;+|MUZ#0MZ@j!@xFT1Hj%jdtTy$Zj6UoM#VnK7hYy@M?`&Df!TVXs?E=X4t! z51pCYxl}jXd7)T$?TzKF6m%AtLDnX)x?xX&2xQJQ0>OQJn1x2_tv!0PyId4ed=p^ECy)V$s4eMDG zcEm54F^Qk4aXtHzT*U$zTbkKV3n{xk!~mdBUV&WWqCw|ycPz4jgUH5=E&*D(V?4{x zh?GHyDRWl_HI_Sv3ULidkb04u9?ob(fOFlQyYU_*w{06Q!|^tZ(_2Ue&~k-8nJ}6qt9OL9Yymr{#xy zY2nJqY>dr3A>~G1z~s%l;9oQt*nO7Q;34P?%+uUnkQ*chJ#*|h92N(&-r{#*2L%>< zVAZ*LOx#XA9m@p2ArNt?cUWwUri>-~Cyt?=lv20Su~DBkJt?Ip&OIEGs3|7myu% zw<#NaG3!f`e0R2Jf(>qNxgLBQ6vS{KG9qz}&cu#1zJw8;ph6Rz1v*Z4J>B%wO3~M3 zebo!=y_Z-J6XIzCfsq5Xo6CBzeYT#g{f7*_4|+lqM<0}iiIL5@-Y~UK4IB?ILA{)+ zeXq2kc3p!rYF&E=aUz_y{V1Zx45E#|bt>oUWBZt^qj6SUefOCfFJBY=@!ERlmQN;H zENxHpNAtU(Qs0vslAm! zV6dj8SfYRtV>nCvo0j2Xr7K!iQQ(4eAh&2(inDXpp;>np7Fs%0Xlkt7CZKK-^KKb$ zu$Z1&hSqsm19mF8%NrL};t8I0I+Iwl2l2|v=4mwZx&!{oS>N}61*frLyfTv*Odwxs z%+5{L`po1A{jiRXU`XlfD>7o&OeTSwcC_4S`fg0i!QN>fN;8ebQ_@D&ew1(yu&CG_ zPTLUktG?d+IGi8p3i-^u2rXN_mL7u%jA$=?Ou-Sh;K$&&F-=d5=+t7&P_s++a@vpQ z%k+x@T=11vZ^aA&!Kpukh}eP||%|K!>Bf;a8&yp4LYfC?ad56=Ew|o%|e1 z)L{VXUt@X1Su!@l*MM@aZ4OzvxnyNmNkim?$jXM)zYe-$oLIqg z%lr8K@0RU4@mm8Ca4?LH#9%%&gv5ZxG#3dN*OiQG#Xx#Of7)^^dcBQ|5Mn5?Pf&w< zup&sW_^4R#qnv+0#O2myrd~8-@P$wbUYLZpTf|I!wJC#`H4W9 z>f(ZZQhZqC#J~w03`|eWysASIynpvDna-Qz$*A6fRdA z8Owe#he$nbljLcj%}?){r_Q3YF-*kRXlH#Xm0`H`(crJy$4wwW)kj~MQ$_t@wmzbX z%Qj@{qvnkr)>&`&9$vi;>Kn$5L=Rhj#fpvcN+$u*e5HDaKTyA*H;`ar5~q1t&KvyN zXf1%ca;|SD-{ZvUD6Ub>{4eo{$sVO=#@Pw@jj3957Gh)0+Ii(c z*3Pk12-XfK)0$O(e~wPW?iC0?hy@u)SjT{IL)yow-Sh}c+H(3#o26RJ7p3uG+l^kA zIfYU=@+%{P2k|~Me+!5C!_NuiFV2e$8@*4hQ>diD-kH`yfbcbmFx8UolLLCulEhiA zU|pnOT|=axK|vPbG%NcwJfW|6q&pt@UjsNwob4}lNc77| z&k@KzaWGS}@@dRjhjN9$-*A*rI5KL>BQ}{q`v?8ZibN$MWS;F+V`jOJDQS!pWC}q* z&^uDzdv-X2A+_0m?=H;~K)sncL_(%l{LiM|RrSz=c2yl~<|X7*AIUAku3la)QWW6hGk? zyP;NZl22Nz=-pICptP}!^=>z^TRioRm^Yq%Wj0CtR#~%?AYqyh!qLWMxVY)xUWsx_(XV0EJJD)vr{V}cl zOJqR2cjBKYg){a2t*vnSM&jh0)yH)jpDpNcmqoAo-j$cqy_x6b=_X^y{j(!s&3&I*Y<5pqaHCU*91J3#C=kK zgivzyMUIBi0g%imPsjtn`|97r_PTX#TC z-HEDuVAvm?cF)nmteWKR1FZX0a`%D2`#z0`4Y_^k=JxSTREko_=Z1%P{ddJqN?A<^?_P#dz z*_`ZSl>M5`KFDT2l9RocvY)Wo``heWa?CWjzv|pQnjmyct zU)j1X189?N_GvlUKUQ{w%|5_pADEMUxw4Nk*~Jfj^YlQ}@oEksgsw!+XLJ$i)l7kH z;L%^1?q7Vp7cAm+ z33%31%0>&e^WS^)>83uGv5#Y`D9WtWpCl704EZ;qxF6HD+X=DrM~}vP*Wskzs$V$< z2cAL>lCoBYz#IGy%n|$IfM$#j)pgMRBqMhm;2V7-`t<>vhJ+VerB{0n(I zYaMa5v~Wz!LBB)c?xalJLt46ZBVz$TTzDRhVRu{1PZS|e^$(-H#`JvUbI@Pf;Ef^b zobNQhLuSj{&9(12ZPI2RJDO$!*TWix9aYl@sk>g`+X~%TA-q+c=%3pgI-|37kxf(L z-N9#PYe#S5ec4Z|6m-@b2c*<}W(1d)8F4+}mxOrw+HD5&$yaVL+Fjz6AG+T3h=0W; zW*`Q23+UI}p6K*nz=0~Ww-o`OJmYk+qTl|(kaGXuhgN)|+MENinri^swVz)h;$fd3 zMg-D~xk=#_-)Jj8L**Q$VD0Zv3iivZoOz4Ah1t$rr0vTq9!o`AgA+4#oi6KM>z_y+ zW~*1;mw&`(I9a?f79z%lBcNjuaO%Zs4Bnc7z#!IAgcC#dG4DC0%NQSi7@afsLO1J4 zOb&|$MeNT>I6?5-ch6$Yib-;o&fyAC%f2=V;Xlf|-~2gpQPY0Qq}v1r@m4-VI$j*g z53YwQ=+)fziX?JFJ*ktI_%HK#Q5Ljcq+lr!E7lAl}_oJre}v#L=V z2hGao;)o0c7Q_EJ!T@l zXlEpGBjpZCk<>r5?yO#%RA})Dpv8E!>utKP1^EBmWZ27BgBNsM2K(A~(a3`{bIe4* zmkg`CNx+8zS-;3Cv#=UI20jo^6)T-DUekMKv83oeZ-HDwt=z4NuL=uVE8kJ?yWTl^_YHDeEi|z7rBm5-uli zSAFdai!L$yJvU0>luNAw7?JIc#GFPCoO>a*}8r`kVoMcctNEwqaG!b+lyJRTA4y_uK%p+|HnE}n)=)E@nz?-GhyrFnP>McOIph?e-zM&)x#v; zan5SN$b-Rh2wtbRF!agt40AdcfTg(=SYfF=wqPqlP(dk}wM}Au1WC~_X^>5FmhMk; z6>7a~O6rykG>?7w{PI4FZjo|izBzX?_Z=49!Uad@ajfaxP2IB5{={H;OPBpbhrPwO zpYV}ew(;4c@MlT69EDv+Luit6-w#vEv#Ii`4^t~bEF_~jsmEtiWrPpQo{&vd@S!mE zq-?4VNy1cEpv8BxA}96aZ0hkjsi$Tk)0s%v!mwh{Gnl6WK>?q{}WEM*$+zNdHnB57u-jC_0EokqSr z{^x;w%N0}qsy5j}b@vmw*jy$JLusGCFLHCI8I)ipSmhC|`k;6D{pe`}9E3Y>5F94G z^M-I-$z9HM8_h{K8qMBrp&@2gO%xM<2^X{6v`q8J$+jlb>ivU>dl|K zT(v-{dP->wvZR(KisF^mRm9|Qm?&zloL3d&%>hjHiN3s48%vFgqK(7~$FXYV%A=RY zI9S1m_3UC$OO$0C&UIVII4J7Y9FIWg5uT{ZyY7*zXo3eA+|G6pQYpau7e9xD9<*{Z zt`VB3d(jL9SIOgJ&ZBC#VkHAl8IANhVPB1^r-+;WpS zX;A3FQWFvhdMt@KEAZi-zg7#anF#eUB0CuEZrn25=pM4$xhaUZc%K!04uKn+Ej~=c zO(7H_!X$WmC{Be*xGRL>RG5VPI}bLloi|KE*qv9=@Pw!!KLc8w*V;2?c33dV??w4V z%1K(>o8&UCJLKUG_tze(no9eH(%}8MX?H3O&Yzq1E2Y8rbJOlt8eBg&?YByU=Z9(f zc`BgX*9(f0hLHp^a|b(|q-FU@^(1xlCJEm4stuP9+edl`YBPktz8N zN@lL60IN!&HCS1hld^VdD<8ceZYl5o;PsBw_Qv!bTFmC8ycGL?BN0!{Z(`hqNeKSh*CFluZG8w|9h&pHY{IeiyaK$T(l&Dp%?@84yD}LCH!Y>e||TnE*vl= zb@{%0%s{Ujd-#;p*-;ujibl&x9C>V3zoUoL`Gv674xBf34QhFRS;61>J>x8Wd;=qh zd4F%CL-v|6R_^T_S>LLJ&XMlEM?AJKemmlsFXq!BtT{@8+}dTby}!CPk-L zUOic5AL8?*efH_kr?61Y|M~3TkN)wwo<9mnVyW8zoPPX2b{H~Mh3RePc5b@$#(+70 zo4=+s!!_bY`tdGmHG3_GR&TWw8D`rx__$AYP6pW8X1lpHryF)mGDHZpt0(Hh{!PXi z2ncxzb8vTPLFm4ZlBPS%MjYR?pbO+C?L|_cHHM{78CqC5xuyD(l&?D(cQ z%5li1yUEW>S~iF9lvAOcnW(6*Vk&Z*I+mPcZIbj=Qz2{)a?WXPP|zIB)YA<0V4rj9 zb0$#r@HD*Kr5^Y;vz+|AKB&j^wK6Gg`tkK<7L^_7yo2~O8ar{uey6G4lZ`9Y%~1z@ z&%mW?Lieefzx6sCtUdG44MHMemAE5_mr}2MX&H~~lU6_6?krudrD$}#?D#ERV^qu~ z7=EJoJ-(6BIb$Og#%m}#KNTy**AOyQ@@c?OF{uF=TzK&^GjMduAU-yZh#}yZ7wt16 zlilp0L7NE=%sC`RCvW-ya|-=4BY#SVWy2q04p1$8JDS{9gEhkwIm&IACu?q1Vvs@; z>pe}b^OfQ{NmqU~^#J5Q7sY%!)K`Rxl09!`ciNFa@H#i1Y(P*98H z1vY+7SC~Z9@Of1>30v&92`cmG!DQ3ycK06bGl)n#T1vamV}DAnE+tGXzY~q}jec#8 zyq8*h#&Hn`%0WEb_qP9`Wq`uQVF+$}R^oDco@;NMxO;PFE;Y~X?iZYE%yR=UF2>8~ zjSw))#E8cszKMXADCaR{1;Ozn!~4uUknXmobGviePNti9x}`p5fh+_~3G* z&OA>9A8K8AV^*CRrVDBkwM+clXUT5=q1{q-@N@djFJwn3pBF+LbAMRl575osd!HoEe+C&3J`THieNvEr=`j+6 zFVh{a@$`69!}1CWT2M06*g=gPa&bxKWfonie<53P{Pwg-X$(tuFU;zf0w2Mt{)-JV zWA(jbTls#lVlroi{mgSSRT#beKhESu+dTV^&L3DNU$+04_N;NcRYS}%Zo}X;(`@y~ zzJNq27<`bFYx@l#ajU-mjoM?U$i*!!zilh{abWX4$;YJG4VeS;vbNvop zRQ()R2wZbn;c2*08I+&LjiknM?iA$+Q`*^eR7Y!HUZ91@AcCGPkAVTZD%*;G z?+N>WN=6KE91bGJ&y)62T})65f@-;Jjq6pxJ;F0*+5nDCy7 z!?D0{&%bjzO5eC)ZiM$iJEvbB1pjQ=4EG)Bg(rhv-Cq`REcog4-dEP)xXkMv@Z4o| z1G4Tc7d#;K(7^xqVQJp;*9e$gy`p!0?r2g_m_JJ<9 z%|WBzO3%iAKt#_Evey{j_si(NdC0s9#xl&5j92b5Zq^D|w(w@{QC`hoZEM{N7{cja z8o~?L$_oQOadW;(yk!Fa>iBp*l?e^!K6Xs(=5qbdUFr96cW!o{#pr~I#A#b#nwML- zcVqe8AOR)9gj9OK#Hf~S!R6MT>jiNwWnB@IukSYTz#Ee5A~HeLs<8#9(ikyQb(&4L zyzl<09_C};b1T;=;0<9N6Xg?p#h8@e_H5$&oN+x^N`A8UEWLYv(j^40NEfZwrB^fA zPmw zet+qD!c7CEXv3!s4H%zz^T@QGflVJcaw97Ma0x ziOR~9Z3p_!Z1z@6OT#h?%^AtXqK+pP8CrX$Eu^(U(_~qEnR{@3w5c*RKAGdb6l!7D(n51Yxf%&m}y zC6SEY0rRH-PH=uPjxbExl>SrwoMrKfm2g3u<>b2kwc;TD<9{^050tc8>~e)=*P-ZS z_~J40Ce}F*9Ps|*kY2>D{hN5#GvuM$`Bv(_{xvqWzskO@REDV|tU>TyHZYDj zD{Ld`pCz)6n^nGdgZajy?LTt42>SDbmMOo{Y4kC0;DPIBd3!7Az4uA%_O+dP89YNP z>RnwaDKcD4@Qd5PP?w1$B|wrd6z9&mo3@$rIJTcGM2nfcbJ2D`z|Vr}|8O z;iffEoUaRh+}U{F-+=G67IKLx$@bM(LyR&Kq{c%?}pCx#3xU@?@HrAd{ynbcJ&<&FT6cuz*A* zpXJRxUbj=ZZyxWrjdv@kq_(4U?7wss9f=BX+LY9)CdO3wRfxeV(@$moN*RgFCfgqz zWSQ!Bkj2RsfhJYe|D?cHGkJ4OH5_%7HGea4V9(?w;}ZWrxrN44h>N1S{!ZMfYX~|p zzl%Ow=fBB+>+QN-nK?YR(mw)1WEK}B%q+fgJ+F4q<4cVJy%4|aY1UUSz2Kv%-^tly z3b?mn_)$}Z!L}%;%s=dipynDLepAWLl|(e_k@I;OA;ah%4rTVN_v4Wd{PzgGs~P>S z>BJtw2&Ze!vSD@E3;u%-W(**nOWFa`5zx;fd@#OSuaoO6k%7Z3e;FAjPJCYjD~k_c z2f^lsAeTJTvWXuA7Q|=z$13Cvo-#YTj|u2Qfz8~U4fPA&18g(AJaT=w z%3RSY+ZnRjDvPvmXf*IDvOs1cEYR{hU4X0#crbH z$X6yo_Kv2eK6;NFu~AMs+dvcSz*)2b+$ByEPm3KE%;~yBom~-HjXjHZQIsPx$7P>q z@`)kFN9GRdvAuS`;6M9=kMu^HS&^B!bd_DLnHdxc_%-)?Eqf1xWOU7fUdJJz%TS=r z)eX*~yt+4to0h}n?BhYz9qGIDB8a~q{RN1E#CCGg`(^*nKLQi&%D#`#uy|h<+$VWK ze~WO%)nELJcOrM+7d85!)2@5b_q96hH}H4I8fwMN2i0WP-La;W`#$iR9c!XayWa2I zv4+A|iY2AnA2I~qX5;vK!C&}Ds;ykAnE%bGhGf?>M6N{`V0DFRr(X=5&eHbv6q-`E zHv*<^Tk*w({e#U{U()1E2}QNfDK2nUtT(mIIQ>pGe`mR8B6WI$uc7sv%s<-9rv;if zIFX;}No+`al1RwBDnE0Y&D>}+C+BC5wV7Qub1>%ioIX!erdM|kRdmx_)*zGXe=cz& zeVeA$cs};{hkUkEMTZ4N39Awmea;r$)?0MjZd0@}C^{fp^j=$3dP30ZT3dAQps2j) zEC6$DQK?cv(O=l2+hOS47KwMETor-H8c_*YZZS>cswjlfu`ku&BI6esgwoB6N& z%wufkp*Hi${LB)YdAQA7m7m!SFQ?h4&3rsR^Ita8T=nw?FU!w-m`vuj!q)tIe&($< zv&v@vIX`oj%^YSkf1jWE9h+HiGw&iZP;ErVb!0-vE}2slYI@<%@GcR}{tTL3y55~M z;Ky#{sU8%y!_Jr3;tgI3e}tN;Y;XyO`vlQ}j6acqM4N-*E;2HMV5`z|y?tgSOargc zPEMi6Rp>{(e9znGY+LSc`Q>h*oaGGWEtSxoL%WVG-=_qX$PY5F z!}H6pq#*FznqPiKZ}~UzJJe)*BTHCK=9B z?<`B>Pvy;2+&gCcxdd9Y=h`^P$4o1A%PA#hw||y_lqw@VZbQIms&^Xp^~W!j^UZ!g zZevicpDlO$m&$e6a$P~WH+Pu!ZV1Zt^0+%}IX@`(sLG|Aw=vQmP&S7~Z!!g&cabwW zKc_`GUY*M4Gw|VL$l^nl?~$3iK6P&EE1xlM3;M3JeXEDM{2unFU@Sf0HF6G_mdiu1 zkVpKF*~?un=(PMS7FdcnAkl2FleTIZ5$20<1k3Iq4dHG#NSErZtY&LBatrU%ejuaK zG4Ko7jhfS!4pS(d0r5ze!v5cI1RH8-J9+~xX44I#yt-K}p(M6^;uk~;{~`d3S%D;; zzNgjn@RmS%Vvz;qH-Hj=5HGwZ1Ytg`8PK*DZ4Kx<}mL}1>dL#Kn|NM`K8JP~f zlR#<7*~54?bVoggt@hvV7uNNw-<8?G`T>E(<7w)WD@{}W5?dYRC$YckCH9G@rw%jk z?+k?wja`jyvUas)1~=^k%gDpHMplk-jV0SfyBUSb=KCpqH{0(s_1$2eq!q!9@e3$3KJ2CP@9pVfUnf%BEMTKXA>;Z_t0ZPG$(JZr5>xIYurOyz0#391qWyOoMSfj%_MP5PKMtRb$!Yb@V` z;6K&%nuvWWb&6lEb3--DDr{eN>qUU(5+ufDt)F>y9tYY7=nWN1MYhlyMcY1wB}I@X zIY)uc1BF{-6&Wi73#!c^j0y0CmDYsGCTv)?{OT~77$yXUqB`(AfM&@mP;1usX0VGw zl{%C#BX1H4T4K$VOF=To?Z?%fu|f#7XS+l6F5ejwhB*Z9AkC}!A+99wkJEYE%UZ0` z4;WbenHPOwmfc9V5&Q{-4DTYn69+q~9ZSn-c=heN1hnQ*7A3{@r z6p{-R@T6+tA6C^nYsO@r+Bifrb_beQvZHCF8hBz;^tELlQUAdg^@FKM$5h&3}_V%OlJr) z8)b?ASCNFrS&tTubHgC4B(c3VT@IP$cjUZ}jL#o44 zz81o%2 zLA1cZ3+XS^gKfdjzemCUP%z6s&bX+2w$pYDNwUIKcDj?^cPn{-WoIn)vBojMzkfim zmo=78bJ~6h`Iu-wnlH>`Vu%ZC#SjD1U?K{5!q||U2H4o* ziG{dbJG)!?3h@O+Em3FT$0kS&W|X6y1(Vpi11>*XawMuO#sItg70}AR7J?P^RbY_| zSFIgvDTB4vn78-tHJf2=#@=tZsm%ESPhZ21tG&G+xxs9T=K;@D{gfp-43;-7Oi*wq zm6#nS*l>GRObXKskEGCqFhShWtcoyUP>^8QusSLW5~{)yhXx65m=FyTINi6fm79b& zVuda6Y@I~Z4ZI?YB}INnjeNZ*qh$W3*dRc=}Cj%*c!Lm8aHQaygcrU@XfL%ON}C2H#J-G zK}rhl`n2-f*n^A@w5Mfj%riA?Y}g!raDXj7*n-kGTl}0af$}cwond~4$&Q9! z|3Ns+@-LNKrIPp`yCG8F@mFMa!nlKtVuXmpt9jbCbW66SSI+<9@MoKr*g0%V{_Nal zc8h4dnqS&x;@M_y`BF30K{I25W~y_W`I~L#W1}0_6=$1?(@f4@W37W*v{$fEuk7mM z4!J^$<9yJ;5iIQ8n3SNDh5L(35z}c=e{D69|5d*#ax#QuL<&O`EcA&y5~31Fd=qpI zSKmF8@w_p`Ab2jXk!E?9D>hK?KROo8`+T01XJyrkwer`MJU1br>LS8cB8oOvKE+{X z3ERQXG%A>1sYv5^0gp~6-?pFs8Fs_=&epe5#{?_@q+usHRmTRr z8)D&l>#{6d0_j*lGT_izol2yN6cmo`a)|6ICDp)@A=(m9%o#706j;VuDG^nIBx5m@4LHhdwkvTlE1#$GAu* zFg+8UOd5b!G~L7AI%?dN3sBA?p`)n1_E$LD7VgmY(LBH#rq!?j8 zhZqJ0Z<=|dSQPPL0EIbtX|mW;wta+xhRO~^)060>`wqZ+1{I(6dsqmbKRJL5p;ZwX z^QK_ex3vbg_;;Vf&RoWG9#$@U*-F7dDZK$Sv`2GyjyfK%6ZkZl+8WqT4{cp(^04GZ{|mV``9!8wEr{dTG4&lm@kshzQ9PyZ&~d0Ob$zq`clcakRoCb8*7Dt zFvkiSiLcJWB6XJ4|K2wGA8&C=R=5?>r216}r_uczo{$mVS@4%&>DOl*zNRb|dyJCf z9}RtL1FE;&$}OBwp?zuYTb6~IGs_;3Ey}G3INBvarfFbvkXaREj>yeitLfH>q}lJ1 zU7s=Iel)kl?}F+f(=E)+T%b%nG-Ru9{w(>wLjTSG?j&-rjyR`$KTs-@Z*l<$RWT8YSS z>Unby{%SS!;CwZdbs3g7q89XD!Y%gr>7j-=+D9?{q0VJIHTI%q|3vli*;dJz z#$V)xANG1vO{63Lfo9D_*3ZN;lhJgOxw^O3aaMF1nuToUSJm22wI0IA=y2`~O=irYwe=;|bndLk5 z*ay^P{)b*7YnQc1Y~&qnBRjiU{V48D;%S%3GK&;4h=9TZ@i-uyIfkG-cb6#O*$n*> zm{HT?)ihmcc*y@I26JqUM#sf9t!x=YHZ_(f>-1xU1vU#eH2~WWWaa+_X+n$I#oXyS zqj4!&-QTT!-Nn#T;oNXNeOMofXck@p2=7I6XyEWUwQfqo%6A4#X_)_ZkJIEVeUAUX z*O2^lfU{5zN_cSnv-bFc#?*6wy4kAD-vHD`W=aKw(|^`iA0 zL_;_Y%;mJyd(Xd}`T)~ae9}tZ?u>MBl`wYXdO{S(gF5j_pD>@UH{!EcEoA+kdaPX) z^Xenc!XK;6)Jx5&wSs2hbV+r4xLw;iyQct;VX60ape@)AI^hVJ7qz^-nx){?kTN*_&c$%SKe*ai za*c3}+FmgC89W7u&iqW(d6m;7re4DHIMZerh6Tj1-3xs<*^(xx^U|w`uXsp zko;=t%&d0SMuWLo5n=)~{1Ztba}&=oQge}2r9$b1UNGa9NE8v4fIUwpf`fEkaPQEzlBw?(YKO|w^2RQWQ1j8u!4Bdh_) z5mq@GngwJgfJopr(%zWNKD>x$RFBMHzWn>h4edSo@se|#Juq}&jDkB60u#8%osy8eYHQk|_EgA~`EQKc7~($BT*v!himC%9}V>TE2z z+*d(t@P;A%N?Tj3@K;^@L6Z|ZswuujyZ~ZBrt>F+TM|O4?1Cy(W@1qF`2WN_r2WAL z06=PprT?PVQ4gC@e&MbO%3|d72343RJd(lLv)~y0j%=&m%1)Om z;yo|eCn27hBR0K~?xAc6jT-Fjruk)|Loqr->UD(P(5txi1t+ZX- zaxOHt0ED9prGV{zDE*|^AX~0OaG3o)Y`Ph6&0bZe*A$FgJqFmoeS538xK|vpEq=$gI3l;j1+>`P z+&EkQ*=+`bN9^Jlm@S`T=OZ@2d8(6U=a#?FJKD?l5X_aM0iK)&rc&F;jkb}$+eV(5 zkTZ<^Os6)uz@A_v^56AcGD7^sSwUv)G?;Z%62>vd+sZ_eFLTq=OStvl2YY*RO__b# z3_5Vrf9=xja&Ku1Q31vjB)Z)6{WgjBp?Dw*FVY=}ac(+k66IBzE=7-gn59hLFIn`LCiP{8Lznx2|(#VpuqSmw%pISXEM3cDS&I6An^;Xj${p~-RBk(6f(EJN*4++A6^|o%VCV0g^wymda>rY>h z)4KCDtuG&y*ZQu6fj_@>z4ruBpI}>Wv8`X3+xo)|Uk&>Y@>~DKSGC^4YNYjlZ8ey= zgx2lGlV)$J>q{^G*e|qhF4cQAk7MaFNV1cr_d99l53+wbjoXAWzcT1>OfIt8#NE8& zi*1L0vBUY*xEy3{uFoG1lxuc{&Q?XPs1S{MHIFvY5!c7p5`vB?*MYagQFpyL>Yhj+ zMEvt=+;dE+9K%A6+~%jkx@!}2SP=Dw&T*DaTp4z06^)9-MG7fi#%Tf?h&gyQTY|Bk z%9_)$9UF0=lq9OEpA7Goa2m47|6SBFr$Ydqo9p&m;k$L>Y(4%3{FRy_D$X9tvkA1X zMz8;>n{upo-r1EK>j~mJ>2s&bAk}t+`C*)8tE@0ucuc;LrP(Y^4EW8#%Egqpft;Yu>sm{I{Ay5va^;^BGo!{WgJ zo<)J`XEu`^`uB$YkI1cW+!%s7`Qx`vF1OzSX=UoD5@)2#|MW-u59hJZJiyq=c7*Wx z;$w1wbXUGt=)b_2wZWEx8SPiZ2;p_t*(Ls+IPYc@Brbr*8hd7b5MZ>^Y5TVsrMZ9t z2b?ycSx<>PK_buAnxj*>1=LG2ahp>AORa8BebjwSR$pu+; z`;T2eC!H;gWQ*T^K(Kz+B{s4wcVyrL#d_j4R=X~-SFCo_)I?K5?dypsuZhVV+;T5` z;W+sUTvUpFbK1I{=-#7-buVu4F76LS!$McSUFe^b9Y@Q$%wE8}7{zi_`IKW?3#Zf- zL=q41UmSP8&#usYcOcKe!CA7i#^kZY|6L6t5j*l2?smpts62Bu8iSRGno{pdE_P*2 zujg?Kxc*NyO;YcgK|A6~S##}+PLd4-bh38iLr{8gMnyeNY?fp03;$0BQ+Yd>-pd_X#rjJ4IwGOpO0{4I+x zP1LTL@ffJR+&`@V*s2&~fi#KqAyx@bN5SY_W8k!zGkO^xvPF1F_qnw@dopX~7sDd~ zX0>y(|u;sK+jjH*_ zM8Q^(`P{^vE&e-Mf;!k0^vd}3@2Qh$MzQVmfXimRVp5-4FKQI_@kS`>P@TqFY=Fbp zf)^D3Jx==;b~3rO=xUV_W?ij}kfq9(#r0d>3l_j?U9H0K{ZD)fC39U-K7pALwc{ef zoHnG^l6Jnr3Zc9(@!chsj&vJgtK=4v^-8qYxRvfvpFeavi^>HI=e=4Qu6HU2;~)4V z?$B!97Aq{`KHDnAON~6wq|N#}cYGMe`3faOP$2+NKf|zQ)a$kNx+5`1EdM2|z`)=S zS&czfMH|wEsH=C=QA2uU5ud-epCy43OX>jG50;Uvf4O!AiabCPXsMSR!yQ9j4UfdU zvypv@kiwoK@RdR6+1}h!CKx`N+7PeYm`;>zL&}Rs0+#_^vNz2;Z87mpuH1FdESg@) zu6Sw`C_fb$&n9*@mTV&rFl4dTUkaIzSQHRZ?dPiW1aHm0Q z5YjeGMZPx%-+*2rSf>HInID4pTX;7D?>WG`o{}!`n%Yj=wJ=!0s|EybmxVV`!p34# zfzPxqK(%igh`Y>30P!ycUxl7D-|P=Ev%96U`1E$-`tz@|xH|haB>3_VU&s~2;zRjq z^)w7q=2_ZQaS3UDPf5rndCXuJiw{j~s{S(#@2B#K>EbuqcqCwO7ymW<-58B8;$$we zO{HdYA2vOBIk_$q+zJpR=yMUD#?foYe4|s5w3sA+D9?Jz;-Y*veT$|8F61UV3SF7# zlaJj&3VQ1}gRGlN^`~(QE-3Di~MPWo^s4;Me>dKXpM9muey_uM0&u6|NG5OxRu zzyrAzm%6x~{}0Q2U&aausY{5~Z0JW8>zQ`=j8ZU${>@sSa)>Ci#OzBuxK>gx&{!UQ zFkCEOP^#s@LiPuAXs6KPXM>dC^Gi$r+IPaGkCoLJBB-bPta#yk3j0HgXf=Cvu_R6cFAQDB*5U`VRP{z4+;D6)I&x{_^mi!=gI=c zyS#u>nMe7`TLW40UwWI0el_K1W`Pp_($l2kH3}oewa4fg_)%r3cJ=yQnfseNksrfc zF9oU~)?1m(3q@cQCN1eO=MteFS-24O3>H~b-9Z$wy;0`1;f(s%r%Vz$Th{o}(l<~S z{a0#o;~DH26)kG%pYuL8uUytFMSC?j@Lw?eJ^%z;K=Gg7JdNcD`gDik&^3O-9=Xh#<0T5YLh}Q|0;ixF+}a|1&<$Mgjd2 zK2Ce)>+$i_ssC4e+>3hh)%dup>kIgJ)eZ4+6zzUBK1!DVAMlZ?>zCBi7g_w&T`%Q` zTe8dLx9LCqkDV+5;W40}I%#Xm4-kbuNS>jxUim&70&7wkCzG?af4p7-9bMSl{t>D# zld*p_^?M5h^jg<*Y0$r9E&uE<^}i|1U!wdWU&>z*=Igl*fA25l|2oXSPx;-C?+h;g zYlw^CAlHZazfu0vU&_BE%)eFnfBI7XnPL7y<)^=pZv^$srJUBA@s3?y1$NxjZhv5* zVfG2amzG@!uG_TyAOpp3uSI#t9sczKmMz^ zHK%>6twTmKI+!EgdRz4 z*W*}dvhP*^g?)4&2jaH!GLq?iU)UsKzSFjr-!P(IOoH^d;`m~1kS=>ITGkR+vGy3e zR5Su~1@m{JD4XBY_(L%qb%kD+3iq&MkTKh2kT!v|YVBlvPwm+t^>m;hvs{Yc?rgCC zPOgtG8c9s4x|!D_GZ58Vt)~C9!Tc$tIjMK3B|PN~^6=1aaxp2tqck$3CX^UnBXaDuK@w8y%#``}!&uR{S|kZPL{;@x!M0gu z?$}rFkUbL7%m1K?7I7>kSjbupzO-lX^6QXCFj?ru#rOOT6rkP!^r(vL5P7Y^HTE_e zKLUpzzw9iHs-uM$S(y}_GHH5x=lLS$S@Xy|FUAZsK>$VBQr8POV^IXa%sz-A_$PbC z*SrcXVaENDNXx5xrcQIZ&Kf|wf0Nb2dAE5BGva>(I_u?MdS7;@g8K1P(lRs-8_%YC z>sUAS#j6(263G7ZEj}#94SNKa3!}%n`{~oT#~QgV*5?gz?kHr z61!DrAFB`Kgq4g%HM`f?_I`S8@SBH&3zBd5f9QsmR`JVkp}H-9m2UiBFWK3nF`(U! zECV!W!BlnO)t#UseSzGcOOYV9QY$dCYU&(ieyIAFC{v1M?tIu6Mr4oP&3e|H=dI*r zB#3B=PX^yo*-zw>3zrO(o|Q(N_S=Mp`D;`?=c)}+lLqyMS+AT279Q^YNCeUb|2UazYJhgslwylEthGr?G2+8n#Q}{nEmNx<&%A| zG}EGjboKZb0fLEAV3`3nHvdtUF{@MWfet&SU|T^!T|p}Ys7@D;KNi$ndQ4owxu z_|<(AjR?GtD(Hsp{&}K#PCFx~bg^&rKU}bP`sbrxH>5hdAM+n$AieOqsk$FQXW9L) zx&wrh7$?!Wts_x~84<== z(y^VUbIt=;ypJwtoz!+Zw|0d%E`*i*CH97F;jG!U)5!(zA*=arbX~aDUpQ``v z@~huqMa!YWc#kAT@#=CxNj_ zd@)wKk(a49^DQ`i%TP&P82y5%AB%MqgpH@uU#e?#+a?p;Q zFV25^F(dS=1QOuW7miDCYcMT&I+W-A_a86~BnZ$ouGBqcY-w_H>0{KycHgv0)pWd+ zz3O4dlkUr`_9iMMU~S**Toq*IobXZZd5-q}>K!{qjxIt2Q5@cMm0w})U-m>goDtLb3A?TE(-T7 z?hsdDF%8tyj+&Lvj}fjvFPsHGu>;C-Rg3RHVLIj$g9&^J5-%D&qDFQ4M+~RA+O>(} z{iX+Z_9S;jrYuejFai+FVZHbxKpOKKq`)+b8fhb#r%9Va0hrMh0 zWKYpXS^JK&@b4yv_uY~>-6A8DD4Sgo<*nJ9JGjVSqf4gdz)h8SYiu|KK-`9yyafvq zjahmHr}U?=PwXZ^u()_+SInEI#z8{UHsL)CW!AKd2z;?KfMfa^X^I0hL}+AX=1ib0 zNp6m~l}{;dSE{Johy|@@k8aJZ)E;2Q7wUA453@CVPO?eur3d*3VC7R7w~x)~UGm)u z|G<6vu+WUcU+TX@kVj$2oYushrfvR4Qp8y8(FtLx8@FcpGjUc9AjoywbBV)SKONdK z0A6Z(Bw?RevQw|o9;l4>oh2;=^{sn`CN8dT+d;sLRCjk@=)FxL*Eth+mJ|*j+VTO_ zMv*i^k+4!5We~vsrFKzWLaXdfHy)0V(chQ6=>T;e6q^@}utF&+OZL8PEXgSi#q_HD0@QX8+cCJtsMB zlSQvVi3Uak=q;~|^op*pezj549$Cd(i-~h&a4bbzI8-zCibxs{KkuSKDY}QsyB6n| zmz|qC%)^WyLrLbNNsXsAQLog$he{MK_0I1TIb-mO1O}?~i4XB-=Gkm;_wu2AbRSdp z$)jx9)JvVkKP5;1Oh(tnfF_G)l5C$MR->$%)ZoiWVpD7IM&tg+rUZkXTVDvLj7Q#Q z9y$w7I%z0l#dKA>tK|dZCHo6gYM%xBDZujw7@~4Rd9lJK!YBc=A1!MOs|GIFa!dT< z^p#wL$`$b8hVK$wx(&Ud&`cFOM(Y_vTXr{KG&MqH>%2WDIqf$?t_}DTWiAulF1c7V z>8Hy->S6xcctKh3|1x=mlhp2rXR5!Pj=GbG1V>LmCfbggVGuF;&pQn^Gk2L9TQe8a zEi|1u#&lnwyI;Ym-88I^vz}5;L(G~ICkpg$$+IlBCk>a6r9OIe5J=H(MyK^N#uqHt z@9K`R{?SJ=W^eEbr17d-T15R-FN)?p0Cu*X5`DP<&i5)0h(3>J|BRuC82)s%!DjKk zzx6mtFNAxTdsxBpsOF>c6>V*qk3fs)_d-gU0yU3NOF55GC1<^#Ps})Hyu$x{2FO=Z zD3*Hm(ZL#p858>r@h9|qtba+A-n?R$Lh;n zT{!(nM$yNN0-xh8{&9dr7)j{ehLL3cDe&fx%rI48FADIKChO;&aFqT)Mwna4u5Uto zb3weopUl>H;l(@waglb--tmrIK89@B2R^i?o`I&1K!db$;p*1wM;BbfRqRm_%&W;g z5UllOa+=n=ogI)zk9)>B(diYm+Db#LhAA2xJm7WCv!HpR&w{_)Y2~6GPn@r!8RGqk0ZIky9woL4;EINc4t(E8pr@~8UA6{W)S`T=H)64gsXOE7(9W-vRz|L0u!reVCB z`qZjCP`JjheK}jE=54BrgkPG6*a;vOaJQVI0=tGM8vFtG8o>dvK_2=rwY~pn?02AX zLKclYNozghrsnEGR-W*h&~EDfHnzCnQKM<5)@}a-u9v!HFp-4dbqsl|_+5udF>u;t z)An!ShqL6O^0QoTUKOk1wpcMtSpO6uEw#D2V_jqUSq1)u>m$mCtB(pk#^|Gp56<1>@|7An zQ6KeuOy#f3%eI_B&55Q)PIJ@v$w@tLyBLVkuxW8)W-&}UD^Ik}E#I%&X+Iq}_#8OY zX+MEaJz0eERlJ<%+IJL;&;ie!TJoLYmKO@lSoecTgv4 zxA3MV;FIPy=uZFbYVbq^3%kLyX}27L&x6968SE_|N|PYYU=bYpx5F5P!1nuT%FKHV zV~=E7f8qx<~x4`~?ZnoMP6RKv6RD^0QN;8b2 z$81Ok`$6kBzR@z7mz*Qv(4J)WVyVuC^j>I{PS`?sy@3PXWX69!bd2uY$Pfa$oRh%G zhF1&ATB=5@D`Ia4)q2X^%4h10D=M+n8@y0U>WT!w67esyl^=#|-t(u4YzQEntKX9q zV#jYiBE*WVV_7%!c3F_ob~_oFH2)c~u5m~LzxH?NH**&W{`Nz~g9@s5WNNYfW#?b| zq874IgA6k|LPAy3AXq}}>O{R;xsi#1fc@z-z&-6^&iA+YHSe0~M&VDKXrMO>?pp_c z)N{5s`~)LB{?A{`Pi^gPD3+ipRd4NnH;#i-pz?p>W23K1K_ipWGl)BTOzrjQ?{C*jmgt(3G3L%U4$Wt1W{wRVLw=8*PHq z7B#<5QJqUoot8JPnHPi>t=cJG)TY|8^h{RtCg1ogNXUl~7-w=S-pEqWlFsZAg-Zy3 z-(N2;<)Byn;Uk>9LLR)L&&t0#oTGcCq(U&(7a`1i}1Q`o$|V z#k%nB6dY5~(Wju_`juV9{Z`5NnHtOL8;6;9XL55%zYWMk7()GK4*j$ar)f!ptS1g+ zO6}7W>I>2E0<%I5OdH z7mhNk%=kx65CWDOg{UxdBvWUX-wVG(!~AuqdUop9Pi_0bKECp8WQ1v0L}wCJ5c&`2 zSMr6kWOQR{RdRFR)=&Gi9G>hd8(x|?(1b5f8>eZ}Y)_Y6x1lUDnJ(DOtQe9b|KP~! zrnV)9?HKJw=xk!kQMkeh`7Vzj6}r&=QwS+iBRSfxT{nx>wJy`w0Mtq;2rAh8t1=(3 zE{V5q7Y6*t-_U31@3zT*8u`#o8F1j=9~tUx z1T#$ICjSj4#;mlpi91^-j^1r7+7cz2IHF_)(yi0hA$N77AZG9U%` zvt49vp@=_=B@oJglAnxtmv1+|PnbY{nwT@0!9|x2t@qy_FRU18FwvJcaP`D@f($UXJYP)Pq)p6p!5`U4G{{C9__-Ihm~yz9Sli-`5gmk-SjUcZ??%-d?C5oHZmnIIk9i+q|w(KP%@G{bUG7-;}}WOf3%W* zkrtiygUE|}e=BcQ+hj}k6BqiKEis5ln4mWt(nG+F#W?aWfi0?=cOFn#8`p zm9GMS?fw!CksH05t;&}$s+Rw3(w+8;Xe;1XoBTVtNtarc@zkD((h{>F)?m|d+O8tA z7t~I!@s;?C2f{1?TNI+kyDH4UiV{Qp;yVqMI&G&>FJxl{tksMnhiGDc_Y}(Ys>PWD z)o^MjR2v7+%aTA;8&q+VW8*cAO=;gXS{&23jniaw! zn-2L-XMjpCVr;~=XO{#B|JYwLJU`NF96W|qiM3aaD{9xy`fJ0wzECI_x-#lNNl$j)|G6xQJGrQ_i6D}0YFvSg zhXxIPqfm{2p_9l>{uEJ0$nUZ=^(ynqrG(aR48?#86RI!$$P#;|4>_&ZMxrgg3E%6T zTbJCt$Bm3D=zhsiZLdCT^tD`mV;n@o%_AO!OZ$pF$*>;R zW_}RR2T55=x6^j6NtLGDiJ`lA)&YJ$=cAs`OnVoEnK_9f{`P%EZpK_aY_p+hgjuI; zpsJ^^1sQ|)Nyjio4Bkii=igx#>|$(ry(_kQs~=Z`o3v(`J|yGhR$j9bQ;wyYqDqrf zRG(O9QweEUa=X)EVPP%SetKGkf4*en@Ww_x%UxT- z7XQitP+@+u+gV?w?96IIRly|>TP2$(y*R8#^N64^;#)xUA0lKS0#>fmh^A^q<_mhZtaURrdB`MdTq~8=T=zM%j=5zBkT3=-mtFEQ2ry784*d# z?USPntel*XnwA`ACdN&3`T0e>`OjoKIyu?JLCH4bzZvm=wl^aGUV!M&W0h4u*?o6* z{f74?an>IvuLTaxc?!TDTCM1!Z7ww7u%TOqxS~`zOX?4A=73f1Sma^vaN6hcm8m5` z_ATzuZQyrv`gExi{dUy5k(R=Ex=NNb2a~mAr;QxmlX-eW>ocZ zo<4=Yntw34)1UAbj1}gulXWf1MUbziFqT?1y}xGLXwjj z0fF;?i^|L7&RgpLnY{*>2gpmGhh<4`?`TYINc3-52VWZ6;Ejlwul}0dsHCwWMh;`v zP$-z}hDC+yQHON%CKNdB=4f6Lio}MBm^X(bxWQMPsaq-#gZ~WFtG>9y@mXT9n&)tk zs~3U+D`qVDI&9+4B44n|aS)TD=6N@bwx!6J@%IVH7}@AE(lnnU5$mm|_m|Ni0{YMu zkzQCZE5GthSg=C}hD}#@7`JAF5x=!B$Vf0@>2XAE0vDC*i0V2kUiG5j&-iJ3# z&IFkrr>3oTUu^BFR{ge0Q7f`Zz?H=XwF+95GmZ+PCWzHM@6UbCOeWFq^ZV=P>m`|U z&b{B)eeKtE$G*UKf9X(4rSj?R!BlPJso7x#6?xd=t<*ie=9JR-0>iE3+PEFg`Bc;E4(`yG@|F_z#nYtKe24VD4Q{X|56cZ^Mh%L1wTsN^vE{W@z->Db7ENez4uM`eXSc9 zs%*y~chC=d0X6T)t(g0^H2U1tY~?3LJB|88imYqFEQztlqm*x&YGsyqg@%`xNcbhP zO~aE{)56!vKb~0n7{&;mUS0P{NPT)?h5Pf-9y`1iUNJd3?)Y1*c;=>h4YZHzApg_k|U+q@18v#dl1u9j6aV0!_7s}VZui#DaZ&ReoGw72`H4vKvMMy!5vc7GbLx=^taJ*U|@R#I1S%+ZuIvGOd<#0%fCZHy!`Q38|;` zx97Ul8feR5U!0(Sd#)=iHFUZ6emnRqDJ#d-LQls4Hv#+`cEY#iV)f%7sbd}wOlKZ@ zFXJq-cf65VRKWZXu{O?dFK>)E!fzBUSmMVr*Yi2yh1(}`!+z5MMtj(tUWX)i#JL}t z|0gAUJlo>?0N*lf5RJ&ejnS&=vNtOeSl+Is44QZ zz4fikIw~6cFCumqc0`!GtQn9%BnGtGTnH$$oTD5TTA4BZDnHoi=oB4P)1%Hz3?jd zYp77e5NVDHP93?*MjL8lw7A5rt#aK>rn`7{phk&a@gUk$5!5ubL3h1A>-a(x@xB$2 z5G%Tieol8{p9k>fLBt5TBZBG%#;PfMZFO_*J4X@aIw>Tlpu|{sMl16(Q{$Y^1Kks9 zz87wziwWV>K=PqiCvl(IXTSULGhDQ?Mx962CD(cx_MV~=1wqQ=_xpxV>S0}VcWsy> z0{;K&ebmdHdgD&9G%q&%b8ajhFz4;6>$F zAwh@`2`jCE$o4RpGTNjehA&~G8hSo58&%_;V1B`G0@+sPZZlNq_;!quMpYl*k-%4FOyyBEBayb+11G( z3r5G&RUuo(4;1OU=S{Hay)9u~#}={y_ml1j`PF*B##z*wk zrc6)rMR1lmtSC*o|Ae~EV@umtG+K8&LG={e54zQyVg$V;Gf8$ysvU*F2o65wuL#+% z%sfzf5BJmPyv|@1Y7y?Q@@Bso6E`0kc6Sl=q5EDCL8j944fs8?>zX*JGFhvDwIv!e z|FJ>||8J}R*Zu?5jn&q*AN0@bS}T(@t7A9V%fkMD(auS;^pnGf1Tl$=b{E?G)&H#! zj#p2TZ_uQv{6Bs95E|#l%wpF0M3$5xpT2_Jlc-Hl@f<3AZ6qW{wrzKt_o0;!7xH0n z=|iXY!REtsKHN+f2D`ZT@j(DJoi8&DOXW^`Rs0mm&T759SdUBxSF_G!5;||T4(#+q z_Q{s)zFISehD@B$%@f=#ECPGukv0q1V@p?(Wdn=PuO%Ij@#hq>AY6Fi|@e*;m|FeUq!P)jo!g-0+rRg|!CnoKUs~BfTcL++<%$<-bJ{_hg1>_A7dR zEI0famI_X@$b)B}F?uxbntI#$={COh!TT;Rbmia*xIISM5DTto%AHdY;`h)f$~)Xp zWAa^Dsl^E;ugNu`H~Bz}3X0|@;Jq3F@iTzsb@9l?=?ol~NPP`m;z z0|efHhUPhY<&M*6AY$}_yX~NArkxBU-TDTd|DhY!6E zHXoGx(G1Fi7E(;QAMzUQj}#xN<2=HpjVL2rtC%H(Yd3Gp7!`w&jYMvs>YUmeIHYEP z?!NnY(B(CHj}VLy)&?^JtWWP0Z*46a9k;u$LSq0(>}lVH+hCU+XB)+>Oo+~7xdlBf zx_vx%Z>`>vs3Vr$-IU$a!i5fOze!B_R6JK{RFxEKsuYNz<(LX#09N9WSCb8fFLR8` ziS2mqFoKqfGk}J3LO{bt&z-(wA9G!SK{2IY$uAL;Ik;!ro@SG?@iOD2ZR4_GVl>y`m<; z;j6)~nS~&cB``ZwMne{{NwUXREZ%Rt##p>@G&UJW^hEakmfV=Ng`qzGgSR?%!B4Er zTV{Ms9E>_)-&prY*n_8|#lk#_hVUKtY}&&7n0zL`lM`K(XLMf+K7(7`8TW(9x9~-{ z4AOCu!TAOx&E7Ld_c^eD4^al*Qh2RAXj}k_2Pk(Q%iY@0Tg}~@fe^^#&Y`XW8x+%~ zvR@^CCpcDXpyl|=MfkZG1Oq|eV0bKO1NxY-N1Toka{5`yZ+^%=i+wC2V8nb2ZD&)i4V z4{}qZ7WG*k(z{DZBVRfekCu!FNuFKB_n@%H+6@bTZl_m{Gd`>w@OzKY*vt7k4`%?3 zfai|RrjW3Z+pCGdmG)eRtJhL5vwN-elo5Gtmcs9QOHc!G9WL7 zOm6)D3?|pj=N}s$!2RSVmQjZ6`W1Qk@R#^4_qb0!D)(;||KF5LE~$*3+m!t%n*L9) z=+F1UlkjPqH))*c&*!yd zUx=)pJ0^?I`A{5g5-)`8$fv1VdiZ@l8q}mqS=*`b3@}K!G9r?8iaKqvU*;D zaF21GuVo7A_frvyM8#D|b$KCzcd>Q*mIu*6Nrvbzl5 zsxtt13PH$!S4c?zc-TR|%1FH)TOkxvwMF3j@QLo_8-$CcDG%uo47D;pqRY|iHOfhq zR^}?9pB(YXxnX}l4DMOG)!U_e1!)`kERyhJK964SA^tPH*CGfvmA!88UL(g0+jER5 z9ilmR1g{O#Aao^m1H>Sv;X?NtC_%+EB*)-xy^pe08#n&edw30^n+eE|@j+h44(W1! z8NE=z;&%6>zZm_;a%8O*kis@iz?xFjiBJoO zto?iD<%U@H#e{c(3>fnZ-YFiZP#2AC?Ony>1=Nn_&V&o6g$OOAni+3RH2WMwDqFvw z;4RBRScS}c9MC+PJm|&kbngaxn32MNn5NBbyMSa7gpTl)nTd*4K*-P%D3VW0;=xt1 z$Y;J*XzpMo12cLF)JKJ3(#H`^Bpj_CLNTHi<5*hE))FO0qJbXw7as~!&%&02w=#60 z%l!-NyYhUkX1F(j_l2kM0~Al|UUZ}J`@NjkP3^B5Bxq&M=LvlGNQJnCH;t6*&Y%(Y zw21GUlNnw zPmzGkN49unNV#wdAOQ0F@G0Z_&KQni3>wSh|K@MW8m>bV$PcEld&PHOL&vvKIXzc17kebTBm8q+;8_B(&ujpD;`H_83 za<5L#A#+K0R(7o#KziL3{2Xvaw)qRNRk8vXpSaAnlTfFZ+P8BHgKGx{{(hU9P5!k* zQ7)YW((h93%rDeQ@|R}Ey{6OLy+G@QTT1xcqkqPza~*cI1*}j{vdTU8J<)+3Zj1i< zvG%M!76*A~md!tUPWvX>a4xA%;_x~TyLZ?8X$j}ZMC6^hhj%r{s*_jRxodC6tb4Pa zJt>}ktIbZo-4>6$H+vsH8HXEW06zC24wxCj>Lj6`o$gVLee|YmXZ8tCXSc%rM?t*j z`~%YKg2qh~7U0qX3?#<}(O zNUXc0)SrmGYy~+!vb$_$G~U|7ey=J9ec`e)$PP|n9X1s6^ML5Q7lrrDdU~N$-bPI@ zZH+Is#Z5hAjv#3b%F{|acri({{*ye&{eB)0g(MRFgZ)riiX|!5-&5DF9{pvBZIe%-_|PXlQr*!P5t5B{J=;3^<2P?S6gaS_wZ45tcJ=&WjJ(&s_fgIghe`BG zb9C=bcK4`2>3o@Z4=>t+En@G<5HMHN;qWljK_Lw8{5j}yK0`avshRq>tux_)ns9Qw zOhT{mMFhlYGNb)gR?(9^t#~_-fG~9~McRLFid-(+BkH>B` zk)X(N4C--FWA`2~6Tonc$+Ml_(~~@mWbPHqkgNjfJ$qR#tFl$+&|2X^4-Xo5eD?~F z9{EEC0YM~9`@NO=hOLwI@_6y zaB)^RIjTs1F_w;ci?6}*_)c@mz#*~g;S0M8ONHK^Lj8;?t?B^^7gnm*UU;#cs-LR| zW`7Q6d1{zc5Cf726pktC6P#)06*wfaCH0|Uyvq9n?^nCW>;a0AGqV%xr{#5DW^enZ zLK%HyJh@@tcxfbD;Q2L4Znj9@TpdX6Hb`Hdtb%>~s!I3)azFuqHkoo8`98L4*U9Gx z7TTz;KYWo^NSwnIUgVvo5apSbY7Fz2|8)@#&)KQrbk!pi0XrUc4}bkxXeHdwXjGH~ zgm_P(&|zn%QDIuR@QhE#NcwsxhzL)dfV<;bq+oFez4K!n|3~A9G}k2e_9pAWi<#F4 z`QbEQj=#^H@~H5j=1XAz;bz=D%2PV(YcvDD8o92 zNTuP7e{Bp~`eNDn`hTDAwlkXtxSyix7+ZA@HLV{!##o4BiLG!e(%UN1?f^*$w>-{U z;2@Md3+fMN{O3890r%3~^k}#OOt%kd4k$D(W_q$eNJwL?AxHf}K&QfO#bf8Eg zxYeTt9iRq|5;4jswF5~UAjY~EZ4VkhO0VN%55Xae0GS>f)gkG$Px)KC+Ly8!1;-uB zLP!BGCVupaj{FS<;V~Eud_n*n#$Tzgx`kEHA@BXBgJ~BhAMgF$?iFtp@rU8EKF611 z68i2Mwu=d5P20l6D*$es2bM``hAGR-*J%Of3A5n~StqI~G%VLLFY(e=qdBqu3 zucmMbW*?&yxSJcR$?ASrm)0fuN;LgeW$O7NS{QW=tVOPB@oh?r7gD3 z>+u?NOu6yPP8?%qJs=lF<~iIJpl;s%7^Q}&3} z?o;m|Zex8!`N6HdvFxX4c;tsQM-zuzgPBj>AVSod81Xj#p*|(7!S+0gW2`G4%Hs{> zDh#AzcOUTXM?JZj3|}uW#M?8lXpE|5%z1g#7wLM%jH%`K9NEwUpJ=x+{u1Amyjl{n zTOfDUu-1djK2`B&xf1cYKV|=l_&!*Q093Ke;oj|D04ZHAwNuovNzO}s$;C6D&h4F8h$7Na4zfAu8y zc1L|>`)_=?{oDQak#Rnm;xU3W{l$sr2a?B+?t&-8EWb9`jdzw2Si( ze&q2vX8dLCtBer{4FYWx(EXK0g(j1SdP5%E+vNV!^3zO1W*z7R^y@&>dihyDagLHq z8c9X-*C0H z4X6qT~&|fjb zPw-8;kP15}x38OLB_eMxxEdn_w`AFiJ|nL{VBzxu_0XgGoyd)=ONn21l@fev zzjosq_{c0em2md-!~61!&0F-|5`OgI1?RIm7@D$gqkYjDf)jThAiX=rMZaE-oH*rTeXMPx<#pO5%`RojOEXl$SV! zLJP_XkPI<{FjV9*ec1=BGkVkDEvdcrcJwAF+wH5e8-zsW_p;pkLQge#U!-vV%mVr2 z@ZiCy3p|kUZl$r7o*7FxUr)bL)Anh#RCL!i3P>Yl5UE{}uS~yDk^VH8JUjgB=U!v zNefblX0G5zBGP55B%d7eXh?dA0oJ9^% zBPODI*~`?-6yf1U+kJ@(y&#kTAbI!cJ>g8W+h){0N8UbX3aaJFDCZICCpPkp-BJe$ za$Fd7zHxc^393T8iMdyZUGk{I6jGp}MV{P{ev;iV$_5;bzSyK4)CC`)!D*X39Ke;|GE zE7AyW;khL{rq--i{%3sXJARJ=kwcUp#Xm*-j?%YQvFY`An5PDtq^s3SnrrRsKeerk&I|_{5x{!KqkN#x z8K={tH-JbH>~4d#^xE1!r>%~od@-tyXm(BGiuWsVj!y5cv2JT*UpWr*v|$O{ud1<% zEb~^AjUsmPNoC>jl`fxbkga`?CWc2MmhS;55Wf=JO zO^>jS+;|>))1FBy!igy$ev7_*NSpy692X_2`OTVsxb)A5O-K<24)Sd zj8gfUWi1WV6x7PP>#k$EGm^DKOd-JiWEa+skfAkOF)y~I#o3FEJ_JwSH)b5PHADzv}v zVVi{2^n{(hu`xi}?6ldYK=SJ>F=n)Y`wkO;SLg>;ck!tgtUSK1YhrDEYMqS8;4$y` z;9%jNOy*u@bw3pJY)?fVQsGSKF?sex2{&K_4qEq@F%Ae)03q!Pi3uMfC!Gn9r zT4nK5I+9Q-oN%sSARo!^8F_sn%fkJ3%eC==$zrNG;U<4u;ZIVWXjry$MuW+e zg8Bev#Zu}dHp(B-!NrXlUmA`d&%xO3Kx&&e9QOmTM{na>n1?szLE|b?!%#>fxV6n^ zX_O+`gD3T0Y<%0r#kuy%2c`Px1P0_zFhZkZQgYX=9{Y; zybu@N&gN>0!EkxSt7^1i+2(MuUa>K<<8;Rrcy|;d_FM^v&Tw^7^jkgW;}}ky{;sE$&wFZ6V1X`E3_a0sW^M z^~YDtpI#amcqTH~;F(#f`7$+KmwKh~=0=UAeqnKGovRM!nRx~%+S{z|I@5gfZ$eng z&P&m|=$R=oXP`jU`Fc}!WjylX99#|1x4(aS_V{(l3!-=e8NiKYD}FEe)$-F~}9(Q7>v#EwUtYTBB zfD?c}e`g*@?uL4E6XXuuFa$L1v)J&$-R#{yY#O`%U=@3Jih$(!soFc)V+yzFukeF8 zUtXW3=%y#;x0rzPt?n8x`LX^e>J@y#&=Z$8}U+k_)Hn##n?slqabB_0`WQz+oM1)Y&Po25Nr|Jb$=% zYv>*>aGke5_zE+zwRCDtZi?Q_-RW5cd+AB^{3gkVXncK6;}ceJGguun&ZI_<2Nl{< z207w}$X<4SD0b?l!@X##*r`_#j&>*CaKBJk9`~1;kcdwAByUWfUy``^v!52(nLpTF zf3v@dq_wLuXtOi6B)k?m(>+0D9=_y~d9%Mg>kjKF9-Z|=HgTitDM5f#e;sfer4?)&G--!@I9ATTOLWigf;zayA*uwl&?xQqN}ncS zv1dQZjkgED6w2nvkYEbeP`43J#zFq1-Kf+J?7}^o?PX7y*$!}DU09rL@=&Jft&W-O zS3Ee1vq zEZ7X)ml}^;H`4&&twDgW7F(#hW(smC{AP7L(mdUKo273@>DyoYZ-`6H4d&Z9`gXLw z-O4v|h7ZIVB`325w2o?Rv|(Ls=VuSF93}=d2^}^soi<^PMDF<2@yKh|EmFs5e&n$^ zikn3SjOUqbO^Q%3g9naiQZ=i)8k-xvcuKM;mKvT&!$1~=r=uWvpTY_SGvJ6T)`x`!xbPVi=D%l=x_S(JHQ? z;>`w3&gs>7t-oe1KAr7II0r-(3<(BGJ{EUo<4}jXtd815qq=uuuqr&~>A6~*>l#S0 z(MYzZgf#(08S$cEK0 zfVt#8bzXzs2|5SKeiYJ$lzbew;XjIU0Px0Z^s zTs_dv%^7GGW%Q;c69=kNoqHJhMVm65A#RC@Eul=GZaLScnBIa|J&^XB$iK;|Fu(JN z5R!Hce?2dY>1v(xYw%QS--PZo87Fqn&=Y6)2KF;`SRr2GA3-Sq1miuzm!nQ- zyRl{vo1JO1cunV|oNGY#g{PNq z)mxvjHFtsA+~H@iJeat&L{R^k2oyKg1$2(DHhxGYzk}@6bY6PbJKo$p-tX#tb_S@a zab1lypQnz+(=Kdh_ksrsbBHj$HP@$Jvm?9k!%M%*m-FjE2IfE^AaY_b17_pG{Mme7kYkIaPaW&X|6 zi}TQRIpzK}p1zg)HY5l@R!J&e3Mz@!+T5ZL_ z)jnG!EWKuGaoKwJH`!2 zRz=q~;cAm!T^%K1l^q#gYc1AwQrv#s68uDrP$2aNGm0U44NOFC3?-ixTZHDDP*ES{ zySK9q00W%7mGR{02{qZ3={G)W`;-i;3Fm5p13piV7mBMlJdW_%X@Bx7F+eLbo<5C1 zQaEcU##7-e(Ngj9H7#-sZ$cX#Q_u!xUcAkOF1du+;52jTT;@|IM(LO?Z*4nRt_kY2Q$4Fg}NCD-R4Bf5Ey$WTv-=R*ZFmWvVq2Z0WpU zHvaU_X4F=u8hnbDCPbfZX0jm#0}SeCqnzBGyq5dlT?Xso{5w9f796QaY(M{jbgpJ4 zbF&7PEoJ=U-lbIVZTdb3&RK)7UBdq;8hT8o^APj@l{x9!0 zaAdXbhRNkU^S0WD@GmuonVMpolqxjSOnZ%8PqcAKJ>Q9;AHn|qTR*L(m0&@`D}Ga* zvNPyg#&>@ehr`?qS|Bw_^=?gi)X1(%t>XsV$yYTwLw*!Z ze>&8<G<4{86}mQ;5H8Z&NjYVN-E%cI4Y= zvUxJ)CWb$;er=POgp2iDFUS-W%%&gVv{`QRWB8tEg%Y`$!5G~1iyknM7s`lHOy5L( zcDf5#0JY(-rgt#bPY_i2Zh0Z1>?NPZR`bcR$RS zfB?^`Z#H=BjrG>zKhXwvM1aYA-0wrZ9??l9#1oxZoi%9#t|y6$%sCzPt;zsNK$H8m zL>}5n87q^fsB%N->{&l!q~40LDvhDE9S-JC?=wE*At#|~3K)&tJd?uQ$HC7Q;;~p& zb_FmrV5Pm`Y;(XkSkWGQ^g2CVia=aY1?>Ph4Y23s_S6gSX8yaF|6XSP+-+h2N&wD! z_nE(`4tQ3y%{UkmeRUoF)orHCjrAfrw=ykr>2Ev$CKHtwf`>lnhCqdKkxGns9z6lP+Q-@53WUi!0s~erPU{a=!%fp3SS`Eb%V4GL%I`pWEb4c3eP{bgz#3zz%%8vy z0}nirzj97pezhqJz8!V}kipJO-wA+x%z1FPOz72ztE_+cUZ-x*9Sil&FQ#&FpVu^e zmE4O>G#s=R|A!fy>L{7!18;_Ym`sT71hR(1BTIm6za0!&I?~B|N(7>l>IOR=Vn)k4 z8}!L0)LHHKNl%!oI{k99WCw7*nT7LAFU549TP8}G0GYy$b2u5Z_DGx27NU{dK`iGJhbvnvic8P#%5Ity)$v1M_dH&o49UHGcjF?6X2R-3J;GgFiz=;Tk!s{riIZj{H5UQ$9&yi2Mfm zCYQej90Pg0Ped}nJ`(P~F9fIyby)*{t3l(Ss!jRx%s^Do6e_%|=z+p!GT%Oj!m`-z zN_P+lFPy#%(8*&c?b{=#KajWemb??J44eJ8_nFE>;k2Weiihv;_vtAH$$1(0U$u+o!g}YZ8h1-K& zPk`#k!PjoGtLBDvs9{f4XBxhfCc2)07Ozsi$Q12-Jl7(+4=VkMw#3MphRiyXt8vVT z;R;gCV#B90?kt{HJk)y+%GNTl>@5ed>E-7;-A6C%-v1xL7WXdmz7LVpxxo5N2zVTOkRfVdx=twu z7!WwDr<(J!4up@dm^oVSxR*l03cp4-`{|TQhPuQ3FxNXeW12BV{r$~17*Is#oB+6# zGs+vMFWRlj|Ht5Z10NgPp{lIh!f}U9OSK($a=n-5EJcE1A zXLu|wh;Shl=7*4DcoPL(4zzALou-&uV@-TUl=CNYiCa$eKyvpsg=%+&j( z#E!n9JlPcIo;HDxVm~_@s~J)N$C6+pLnDTaL^gn)k+r|D7p*m0;@jcpZZ-32Kbpo_ z;{M`cOy;x3I%abew#c6Jx&ef(#YvL@{;uXP`^km#xucFi$jM(u8@>F`qRGbLgO3CB zvDrW=?WuNpGQ1`GKaKsD&j|Y@6k@fHpp^E@gN6-8{{HZ7X!o}vMP_&0+6Em4b|8_R z0ViLAcgEQER`-xLKNqC1ZhX5T{tu{uW*Ttos9VIB>a+-5Sh%drk6C{57vOJ1GLxoY z4f*`@E6mwx(|Yy-DP^yutTQXzy*9vFTkYDpu2n?toX-z#19*q2v{RMcJU941!4>aT zrQfU|6vWD0$J_Lt0mxbiYu*oK^~Pk(QM?owtkL2?W{zpKtQp$R+p>Gimqa zv(wG<cMeEiZ3-UQzeaEaF}!AEP3++6{Hgr*>4x8n@yqar zeD+j>u)PttpRH~#V<&&QCLqxooIHAc-Zq`J@tVozn|bOGbMdrU(9!GD zZ`QQ!;n=RsAHgSYyowT^7+#s*EB!_=AL^~YjF|`WU+bM0%uC>P?=bU` zMmWTY)lpyR7WV~u2=xl|L&KkpW_{gB8Syi#s~DIL*h!iYd;cSKXJ-#EZ72UAC3epU zP+PWBT9R`h->CPw5&&!r%{<7UopLK{5&kr!8(}s#vJFyfz+|>oyRqYB)RYE;mG}p< zNyBkn%FYztG&{5E4R&U+Jbq3cQ|`a4@qswQFt28{Yz(WTH}$k)$?&|7pQ8Ae=yxwZ zQ(Y}O1Pk7KYJ<0Ar=v@0ga+Mac1>w@G|nRHjC^DJQ6`E#>W=noHUqbvYqY{7l z&PGolaDFUb0l6vdZ>|nb>(PXof!}eL3h`KQeSF~g1T~iNr@A8(8>&gFRpUfMY@nCt z9k$tO&(NhjIIPSbekGhaUQ{t5D@i=%t_~+KCK}#Q{(&vJ=0_2n*i~53?e5Vh8gqYk zCmHXt_CI4B9k#o-;kug`dt;rhsZe&*kURcQL^AP%9j_^q%6j*krTH#v!jjF}%F=Xd zY249e^n;23Qg7Y-Rj-xPzc}iI5HL5oE6#yhp)qE=o%oQI?^coor+vMYSUs&mrHb}x z9}9!Y#wjzu5C6IG-LKQ}>+1MKI?gM~ymx#O!u~SN>P;*$3W1;I#ix4 znYFau9s5_TE4Q21b9jv`^PD?~mgHB)zI*XoMcc7)!?sCT*1^Q>&RZVfkN)c~S9cm| zT3>W%YRnJdDk6OHJ;9Ms#E?Q*&-$G_kW0*hsa?iC>jc{3wZ`)LE|^C=U21(Cb?8)i zts{uOnmVv>MlZeprN|6#lcyT(_?wVbdC>mHNV2J|;2}t!r1mks)ZT3Hb|0zT)2iV1 zABI1F`9&#zQ9>wmf+hJ*ZN2*tXJ48o+PY+R38doiFgBY)-T53EIf>9Q_%VH9qC<}9?g z(Xe+7U^Lwlt}N@$A24QQW?}9%WxPNuSu~A5q1=U_Fuw-}(3G`A`IV*6%U0I93p^$S zX2*7h)+R5HJGW_bfMc(gcQXD=RsUpE63o)+9{77H22p^hy;ootqRvk=dwD<&12>%W zDo6B3sQ27kN6{-Kqd_yj{DBSGq0+buSn2)2^8(l&ENjxTc zzstYEXr95upHcE6N=hf;&cT;QCyk6l=yl9h>Ea7&z?7kB22_;MfwCpP);5iw^Kh_o zIOfLhPfHIU%d1Di{F6TbgRsiy#(%ntkya+WkruB$FLw_O_dySY(ID9$6$lIoj1L4V z0ScWCYq4ZNUW5Y4tNAkoes>FR@WNyP%UH=nRapHFTXd%643qH9I~j{sd0r4xW*Q4c zS%B3+-jNR%(Ry!uM8EdAHBDJ>BWE@we{BSLlXW2B++~nV?&PZ1klme`Qwy{GbIg$< z0&0z;H$FXeCXXr(CK?qXtZGL*=-}thjL+%z}Z5+XM?)2jXYZJiKfA+h( z7O~wQ!OW>F_1~5b2)LjAPBt;6KmdIx1;Pt3Eg{eD1wK8$!5-Vn1ykeIr{rN>Iz<{f zuSrxzLXcqPYF0PkCdf<894!zmCVKEpn7qaU_$qhxZ*-*OEN31cG>;5x zis?Otw!}!^=0v+Me$ROOepAV**r)Y27GbA;v14M)3I1lrL49c?>tQ}11{ND9Y)E;{G@8OI~W@sS_T zl%P}#bq|V1;x%}4u4*FC{tzxMDg4dQ6FYL7I`zLK-w{fh9K$UumhFs1_j)Immc4kvcGxIwZZlI{CHONt42St40&Ml6zU! zneYC~koPijR-J84;;XaR90O-b2ZP`=4)a#AcmL0ocN|;t86z#rhP+0xbY{nfc3!UZqU@oz;@e>8YFJ-9tQCrNe_l~!hKlAx-#UnAkfo(U` zR2kp8CC`Ij#uDx7t~gp?ijNWb1DsTSOn#tKL+<(`P0VvFn~!dOO96Fr$Zj3)-b$W? z#E5Mq?K90p)l5vyeAhHXY;!JF*^?NtJ2v*}SZ&xHO6+{V?TuLhJ!rG3}D~#JV?Q^q_IK2`-2SP5Z z=%pa)YOD^Xj+fNlcIvUI8C*#VK|_F`XR;tFD3T|}5i?KKg@-##K6iGZ$1D=(CwaLN zvw3NUDa@=$je(bRmV~U^Sj}<~TlfH-Z^*=Vdw8J5IgQ4w_O}2!t&gIe(Q>{;3wnS1 zs??q4TxM1ze~K{1wSTFfsSJm>C$%q2_$#j+PO)orz@Cy@9RnYIHnEM>5U+tP>YUn2 zC=6$}pJ)I961WWlF2$+m?@|`uZ#!7L z4s@a!Lx7}r2G8^)*A;%zr+*J0DTk8r z#FNRYMu6^|8RHZWL04tYnR8v^=vNVrMst+{`Ds`QbWuBLNp2(@xt{EcE8p2KxXTW5 ztTx*#3j^%Yo9)Q%)YhmJm~0vsMRg;C!_PZoHb{*?VA75PSErn!2Rk15R&{DuG;(cC z>OHCDQ5;C^_cy?c&3G9I9}mh7Lx#xHgb{FBW+=dD|JeAqN+#OY#UlIa=aqmK9tXUHRsIvEZgekbDmt;w#+& z@zEO+k#(t8l*;-J;IRq)cuSD^pFSFx)V#<^#YZy12ct}ci!#iWwyVfF$PTTtmPWO_ zulTdHgQydfkeY9#GkwaCTa1T2@`3i~De}rQM!{+16$vVjAXfpfvTC1gr*FXdo4Y>! z&{z1V^u#*4zp)-veN|mDjJC4@Lr6Wr=-9p1z({RSEO4*C1_?#+ur57=(f+3#zm(HY zV_)qrt8j}R7WnUje`2uauzX^O0&R#b#t7`(Aje26^D)H9XO*mWa>fx5*5&+tjoE!G z^P;|Xt-vGaY4hnB=k!_Gots_OswOw7r+uf@{tv%_Kme%u6Ay*}Y~B`GYu&O{m7K#R zXj_FAkB{=Anh`iqCbL1Ph8saY9@oV9f~nWWKA`SXFO0Qkr8b}^ooPo}XQtL7LFVt} zgNN5mPJXG_(j)mc+5$0A5R>tw<^j%nC{n*b zrMj!>Na*H_P#moe*EZn~5r ze;Sp~H@)@qBu^3M5;-$@z{|<9G!B3GA*{Qv+ckVjXOlWr+^WfdiQhI*kU0?ISh&Zz zLo?)(mC8E&v44IC8ainZTe5g-pCT-g8+QA1Mm`AfXZdUv-aYa#E|@yuc11ds`!9%} zdZ~<`0$Mrw#yOP~D#SGc*jU;HLssSy9*7izJ!r{ZNf5gkVQOstVmc_v2S|?o7x4pO z0pE}~NEymYvppMH96Y$ivM6hkL^RGM|KQ8twWclgxFo%hgevY1x(Lg$b6$gU#;lfH za%deM8X8UH^|_ClWd+G4n6kZj8@yL6`wZTqP#<;)FaKz+iK~1+AncMCL!k!fI_+F* z4@k(|=DqRVc;v;|T$!*5&O%a_RD9L8L!Lc|qWss)jQ_|OB_0J44K&ClT6j`VS(%eG z`pDL~t=>Mv*Nm33i>RdeIq5KhLq5zim}gf zs|yiLgobd0oj;tA(q0L&(fc7y7XC$JqIdj>E^8oHBX}k){iukvDSy-l_ z?$z=V6EJ+AQJY0+d?@IxOa2?cUJ(u=TdiB#8M;56{PE_SmTX>4zJ>>H-4qX%;4X!X zF6&?ct@c(bu|Oz3{RK+B+B=Bc$#>jUsR)Om?wj%%1GuW_zpzXqi3g@h6XyU=4HyD0 z8YF796{+`&tnMfg5KP_%hWc=*F#}!J;tNzls)xeylyRS#R(b(pDYFOh<73p_=C)f2ce$%~yFdPce5^I5X}e?2tj1VyPEFy=j<|CT zv8XjpYIrQTGcsp5{@b%pK_i&{Aeh}aa%KC6sXA`8P_la`6`C`gZ0*@q?z|rvt_j!r zi^H8w9{ZSmjSE@h>Gz3yd2jAt3rcxm_(>tVpQ{TCTYB@Em;Gbh6uo;lo-FVn_miaxMB3U(A;)9X|)965* z4#KzVoYRMA?cp%@BR{k&PKWvvKIT%l@aR_)&VuReK5pZcwY;QK6C)8e$9cwS zoJE$nSnY7DeHGu3LW}#=&gpClH942pB(LJKgRw@Bwzeg>-F*X+hVH(;CHRi9-2D#~ z<72PEGxyK@iaJej*SqZQS0HWd2o`dZRmtN;F-*2IrdF+~ou8|nAex|3PpO|6`NCL7 zI^D?cIFwur^<$H@6j<2XJ@5O){J0$Sx;_lEKW-%{8*Y*>+MBn#OFf?5&Q{hYpD|<1 z9L!mhDgm_53bZyPM(%>SOCG}Wa6oZ?hLgO$I867G4rw<@no9Ro*l&5F<1b?vQkxtJ z@Lp(>R+k16ge2wV;Zwrjp5R1FOwPUJPBSwr^EpNGhcTkkXV?w5k6DacSj8~TKHc6HhLZaq@3u8U~m_JiN~ef>NNX-VyB$xTKwLdq7Ojc*)Fuz1CUQ|Dd;WEO*|Jymo5$84@ghEPs2 zaQILhGzj5KUK?%uW+2rHf&@vePo5a%Vj``yzeruqS(s<=(qMhL$-^vHUWyzPmuK(? zfN1eX6XehG+XN894}dJ?hMnxa&#&QqPVXzd_lJ4!H|l*>@88>BS@?S42LP8OmK;$$ z|0bXM*J)HgUSF(ZpnOWHcf3p*vMoWE(<{i-z1O_!>H64IRluH6iP!q7o;N#|i9|~< z^Yz2aD*HVHeto`6;wUR`+(=C23?Gn+s{4MY!@N4ojsLmkB&zM!FsC9uj%J_o9B6W9 zAV)uIZ+<75o6HKuPWd9f`3;0q)RL2P$-!U5bx+Ew_~!rE>1QE@iNUYOyEny0?2K=A z(>=jt!|Zd@Jp+<;>7EMtDGxix>$H|mwFJv$VRC=FpE_>SIPHzDn(N*~)awY+D(EI1 zd-DhJ5xZJ|$~$yHjwv^Kg%_c#;8_2C40f+1ulo5bTTp3vLEIt~((rINh#24JrZF;t zNg3l@ivvs8&MlG=OooLpcd=L*1y@!ovfp#XqI{ZQ%iWvzktTU1ChdfEKO&J5W7fDY zLmts3oJ+!29_5?hd3xbrvoBraLEC7Url7_VdD1}4?4KCp&gf0X2f0eqK_dyao;B0T z>}KRhh4`X1!Kk+9dBhd7+F4NDl3kOim_9uod_Eq08dQA{M0%!^vJ=NmuWLE(%IO4J zwI4z^QV|`+?J#nk`ny@K=IM5DB7SsDAv_Uq*85zIW@l78=hkpgBOpjpNv1|KRc}%c z?%mzvoLlLnhLASSS-`a1A2LsGiWDxwpVLxFoAJ%>IW0puB=OB}rFY{LdN!TvtPm4d zIx7b6vKkHEnZYmidpXgCUHsEaKNKtWJ8hkFMjd!HKR`U=5zGjdePC%S7){G|3L_!D zT&8`+1=h4#?R(Q`9OM4MqWVJ#xfnXogpVYSo8jF$E=DFdKCzOx)&13-xzaq7H)v;k zvtC=huQ&0!W#pQofSXtTH9Y(j-K$I=W?fr?&*I#otFy4(AGrYb?A%6f=m{l)+wBoA z+1(`0>9R*`um^YcoF%F})I_&@sd`xTRFt#Zz0n@A(mt}OLANkz@6^!X=eQ%p)IZZ~ zNWbn|vum$7GF9q58vK~Xq9dN~-ZWxWbnx?W>+%2goHgCl*ENla3Qhs1qY((+FT3$; zEe+A&)6o%Yx;Kp25FNZm<(ig^$iIb|?@L2%?LSi-8Ake(EzZ>INluzys{W;g8o52M zh4$g3dAi_JP-_M&-^*o0^#t-$`K5$%`xH-k{&0O8sBh!=1+AU^I(HFB)XL0jo%@7eKp$H&Q#)nfk7LFStz27A9LXG%`#Y{QX+_yyC4b#iyM&vgnphxjG(v4yj|F3ODT_{eT4twok4*-3MT z!8&Brp2m;UM;J$P_K5AHLk<|aZ4lEIR!MDC>RqU1zg;lbR~+{u9RfZyELesl zl{;7j?wgwuijRCL-#|mzE%}RhUusWMfzW*`=johU4jQQ}{DT%h5-yRG#@Q)5X*6)C z0ZNZPm+A|8<3|!NW!kaLLGLLZ^bd;Qj}jpNZ;siQ``0;*9*O5xseUwwv-Ahi5ifa1 z^(BsK4@Z?2enAWVd_`!04Q{p0Zj62{QOj|CE;^#qJFcDCElo=n1oBt)mj8c^cVtg~ zvcaxUWbbH=_J+!{Xq=&L_f!G9EESuatc4itjv{}F9N^;MlY`Y|@f#jm{p8WUXmvI1 zf^B!|bs1W{*L&^i^8A=c=A0s@@aX)^*AUtyw8$lijvUD&10POCL8|3*}^_jN@gDk(+ z+zjf``99yn#qV;)@xIgc^$7JfZeQNBHXyn0-iqA+Z{;@P$SM-tttqk>AwX-yO5HZ2I-sO#U72ojowa0N z)(UrTjBm`hjCeV|Io~q+$(E7iXW!ToT$LETvIXUE_r}DCjrNh+=5|^$wkMoQ@(FW@ zK;at_gIBZ!Hzd?FKkat<@!HSVnKGRIa{B4(*Nwyt|H)y)`M=v3K1B_UnP0TM)tx>7 zF^YQuSG#Ko-X+c1xm-D)aE8<(K>s^R^aCp5XxpCZtcqnrg&2V1StOiTJlnMc4N?0LcY(ZxPutJP{wNO7U`F88qQTcdZkcC zF`aBle$hR7?cEfLE~zZb3sw3qt_`{mz47=#c~_-oB2@WQXPvnogLH!^A6MEOQd~9U z1eE@aV{{ZAjF{$$mk z|Nm9rF01ePKg@@_F#Zp|KSW#U8Tc#5|4Qg2NfXQbA&F{1tjJO)viFy*O7dzNHtp^TNp9HNHM5H@-n1&*h_s9A~SF ze{faEoA08Yb|mtY<^3}_q0oYx>wj$cD*zs;Aj_ED^xSEOIgRrS=K zLV!f>OFupWC8jq6Qx{fe(ZUrlJxI%j{MybbvE@ z-<(^1?q<~e97gwHEvy$mu%v>Gl{*dGl==3zUl_G+rodv!L#JLl07G_>$;UO^_i#_6 z*}_!uv=dz}hFF;4oO)SB{k4?1#lzO>T&7MTW0sVomLDMVG0ygwd9Hs#-HqqnBMH{xDT`DEvkUz>CyCV z@?6g{v~!;pu9ybF!cH$L<72?YpjL$F7$b-~Xb8}J$Qge}!kGXOeV6DBB&2w{lRIlQ z@4d7IUpen~c@N523gaS;IM;?eXvv+tmaY@d^r?j-^reM65xi0-09;=q-;OD#0vy7Z z@hxzVnkxX#1H6ZYt%yCJZfN2a2;6 zzf~9Q*=VkVxuV1RXCwLU+A6LXFTaQ2G9LSwn5h=IgP_FO;aw)vym#l7ah-BiwI&-o>bZu>9{S@BTJf?pkc*_Wt?! z{{MbcP2e`; z<{Z@9h6fAT^QLpr_sox0_w_F@cezUJjXBM+GAx&=UB^p6dZk+xO>djXISnQgLToiS zm>I0$Zo0!mZ8B77S7EhpHPuRv6;}HXbru(`Q4f7^TVtSWQn)gCpPjq6b{nH7ODR~0 zYfB!Mu~IxgAiE=xyR5dJtF-J~TIzb^rTwegdi9t6Rc(X$o2hLy{d*;PGw|D4qD^}K z#fX~KDOvD)dznZZvIwjF$|k0wkqS9JgC3SzNJ_&C!Kh4Hj*Z_Lc@XbtHMQ7~fBIZ$HYDVT4Bqr?)|@EF&x5pvSz#TPnbj6M&CdXR!~{%9(6}jy6~Xi!L9#N z6%;q5d+*q(RhY5c{YI@4RIc^kqYv!q*v%*Z!nYoG`!!yFr}gcRwVJA9zHC-+e&O_v zy%zO+%mA!gerOO%)qS}tF~-ZxJqz%YRqeM{1xox9&$IeHr>Ic=eOkZgN&TKj_j?}R z?|D$a=jwjXZ}#i|>3+{k`#s;;?>XD=d3L|&i~Bt{_j?}Q@A=Sv&sF`NcQ}35=jDFS zYx+Ik*YEj~p_P5scS*nRbNW4B((gIm?|DqW=fnFw@73@5v+wsE|J(hZH}rdcq~G&h z{ho9Ep6B&@zO>)-gl9{hqht!&VOO zi~D__)$e&)zvrfY&nNbKKD7K9`J)%vLEn698g#HHc@iwJd+4DC191~U?;S4X_c0(& zpa<(6FaFVC;TtKT+L3-*RW;TWwfc5sB0RZ4hmj_Jy(7e!URaM)B>H__mu8%PtW3PJUq|rG^pyZ#qx(;Q z>a`B`%J0-Fq+Xoj%598d7Cx9bp2ljYx`&SSVli29LyQ{HTg9`1WNXQ(P!}KKi!qTe zJMGR%hD6!v71cOvh&?8qnY;KqAmrTbW^LFssWs9BAj-d#F<9;AX#CEqS?Syk#ZL974s`gGE&bXcCgJyeN zj4Z6>80xfDWe{{QxLYwQ|%LH~L&6^)kx#Uc77E?8^Ld2tb z2rV?x9I`S;!r9AfLdA)eHv!}Bt>@jDQ}!D)^0MaXF=D&VvPn`NAq)?6zHF_pl?hF80L5&Y&Y zJOf}9y_VQO8-$Or@}kJM(HS51r}0Vq*xCw zbhe!acliHh?Ooubs;)i$nLHpUdZMC6#Tqqg5EP;Wi3G_&0y8pEl!sKSP}3q-t*;rt z2N0Z@%5)s0wXfUOTWf7=ZR_=_*P>O*LlU*sB36r{g70%25sNiEtmOaw?S1AEeEjeI z_wT1AXU^G=wbx#+z4qE`*X-zB^2tqnQatib@@oQ@0w@y`akY{yw?dxn(|OjB0P<5~ zM433*2aUBDP2W{_AC+Z$jV4Ed4kG^4Hx_?qY|&`iCiD!Y_h`2~{b#laa!rNtj#bz8 zj)FF=lFelWiSB{qlCB%=eCtVo#)US?K=CL)#;&1!?3J;1@+ZE=R8dTAhowx0h08_Av}65T|NR zBD>c)B0wj(udTM^1kTJ>9bF9$wzGn!GqJGEauo}%Qxb84sTq_Ga8tdL_qpM$Umt3R z$gc@PI>Dv;Xmcv;tbB^QzB_l<$4=)fhZ)udIV$*dDz-PhHUF8&l63)UBkS1ra37UM z(dcwD#F^Pawf;Fu)r@BM8~fWznx7tY9@-V^skp8pR+HcN!#UzSM2Gf$d|NpCjo#dC zS~>_cuU_~kuuDIPV2I!WVKjI1E1L01h?#?jeCiqULKF-LDbc1bS>|K!`4*x?oFs}e zAN;m8t)tzk@AsI!lhIKh8|uv<6~>q?ks!`3&hKZpvX!|tf{#?hLlv2v3FDWb{ZF-u z=leQwB+h`J)^*Y}LLr*AAR8`=D%pym_JPnPfr~iMw#JT%G+kH~|3{?hit2cdG)k;T zm0ZD1BGL)?*a%{{_qScwlz37NVB~UvZ~MsO#FzlkTR44->02paW=Fw?#f$K9tn$!k zBEKfzgAsW{AG8XJb*=z5}Qg)_S>+tVb()zT`DKEGe~>D}9i zJ)(W|tdk7Vg%D(Vx7gBFemYD;E&S!=#NXYEku+r6W0~EC%dTHE9k22BhsdI2XB_%F zA2MGaXDi=y$dmR2~-=$RRUfQA6k?*@=cg9=^k-z&iy0xd*yBg`L)n+ZA z2fVF7=O(GdSS39KOlmeKv?b*hQdBXl@T=r^b#64Gsg;Z7b_p%9aZ7foO6&k)3%T%7 z(mUMU&&ck?DsD0AA_-=<^R2TX6*34{EZKD@rQ>UGavaZryxdE0Mecdzrj?rBRTAs~ zW|WP0gaOlUO-+0K)y`3U&r{gL6#0CNSO@b;EjJe8GTQ*3j(rbf`#-E`xg|~2KHPI!ZM+;L)n7(!Tw<1Pj8^0#yOOMdX4Nv z=_4~`@tAFIIaNkL!ID{s)@t_~h(Jt-41pQ6iv4hy;E~bMo}CU!y%Z^Dqd(mAoRhe= zOtbNP=#N4u!Lhj`xWD6LOeN(RYvY_AI?yJ?duiSon4W>&*n3h*iJd@jF=Z$njQ_uw9El?XD`uM#r%MbAeoFrSmN!{&(#MubZ z37{X!=p+d0WfOD0{VQ@D!g{h3nX}$!OJ=2&`G6BCC(f_uvLm%pfDP-K;=RS`KlT!4D`f)vETeNT=Hqpyu|@QU0i*0fWO{hXYHbw3<}*ep&b8^xxfmPl zsAtF(a`9|;?EY$J>WE12ahjVO9rM-E^QVO~|82~$@@r<(F?Um(MkXO7=e{;zg|&JM z0*}@GHg`Yj^X2VuW{mrtfx^)ZRc@FNo(nEq0aXOJiPNWt?ARw4GQ`(4#GBs|o~NRb z&YYY34qRA5|2j4DY^;TSS!C#%YscY^HGapFKeZn3UL}EOmgP;YFI00!Fe~<<6@Rzz zr8&(_%i$q}&pr_@pER0Z;=c@6r-YmOuTWjx6f$8AS^0|n@0eI~QwSAzs5#(;gxufX zA+81R-Yv*4wOTCCW~8~VSb2K;>+YH_-Ax{iaQYATG5YimSMaYv1hZJBn)$nhlb`@u z=)WztM?k=O)Rtkg%=w70b6IU6d+Q`6$#WhqC%Iq$4|;lg)>f^YNbB)|J={R~&>ScE z8ozqhR)ik;nqD8A-gsP~Q(-W{w!=0M4M9Z2n%17~+D9V#e4suDTJ-s_4T;zPkXUnR zdSm*<;{w&D%3-UPycVe9am$m5Rp)VlFa2WMVNWi3jRsLluf4+Y=n1@SJ8V@bvE?_R z#H#r{YlE@zi8sp7Scg5Ccx`fG_0dL>a>wY6l>y0$bOkaM-hpmbiZ;kyaI#Dt=-b>v zrM4MB*~6FcH@;@c8=M{>2EjD<+r;X4?!UmF0Xt~G?n%7;Y@+LIuZo$3$dalKj=;}5 z*vj4}$<^gkO>(|)`eS#^iI69>%EGm#=x-_<<;=_i(VJr9dL|rQyPI(#oOXkX&6_@gZ`)kBfCA-YSEfvj@-oX(cP)RYY!- zIV)|>mID5`$85!Pn(JB9=_Ee}h3WOHw>YbJ9>o-!RA;`NNxS*i=Xrml*ov=GDR(<* zidV!;_3HTYo;9_x+MYF4E3V;9e94m64Z-auMmn+OlfN}Z*6P5Iky$g<$WC+AtN@%Q8Z~RRZ zQ|P))NQ?fwbZ5NQlRxrer5?v#tXy^fypJJkB@BO-%OTD20YvELIQ?nU1(IKI+yxi5 zr{iQ{s4yE;HiE~>!`|if0xGqt*qOJ5l_vBPn)czRI$h2kZhhpX?1M=91^+OGhRlFJ zL@LhZdgf5Kh6HKiwb3eeL?j*5V*Uj+^jxZi8o#NAzy^!p|B#f|S3%@b`-0q0xobl?0nC#n0_nv=*!Cv^{xTDeq3 zvWtvsrAax*f2X&Ju7T}M@zL`iDYnO%@AfoT4>Ci3CK^>WSPp{I&e6j;A3|L@M{5F3 z@;yCc!PmGOAP>&=PBC|m^kT%Yykxb%#`T)a4e!Y(D{Rp!_tzASW@i%+x-F6&IoQ2~ z{Xx2jq$f?`T(l`>>XMtJ+kI&!?Uv8Ndl!>ilAX-WZkOI=Ch?AC7JM1WTvRU^S-0|Z z5Tz1-qYIjh^=CP6zUIj+Z4;xy!E^JxW`pLF!ZBlMF_Td1J%%utv%I-37H#Ivob|}G zNMa$`GOo}O-#!Qpt_zP*7W2EQFZ=fnwWGY|H|f3uvnunJ^CUY7Y*r80Nc=6oHL;*C z(6Gt7+I&WiH;1_}iXW!0`1h7KY|Y)KdZt6)^NDW^7>&Ol)0EXmq@0vmO4!;v3AKdumyw?(i^zA@SD>G>^@^p%7PT?vCu3VS0; z-=j%a)B%c03YyyZ0DjrI4rhjOssiuQ`|is}(>s(_OILVuwz+@i1&4;%U;)RnyyV?C zUBAWyU@23KtCHt%iccWPhf59EczzWb7BoTne2V|s^5bcGHT-4lUV*dDS$dnAh1~bW zSmqs(%>YQ&;*{bw=*FauHDOdjr90AAwJwLHzpRvd^gI09o+0}b`vV)Or5hltBYy-# zfm;4gLL4IJrOJ%r$l}wB)27=9k>;p1V55OxPQ|x|v(5c_pO0kb)o_t)b@nn82ThS}WI`IvWkpz@ftTb`wHZvO zwcAV|#wIV76nXz|dUK>4VJD&F?jWTEGoShr?mh2o{6oK|(XZzCkM)L}NAc4q=il(A z4>{ZGn^TQis^=A6+NM|VrpaSSCxoCeZ_0G?NEE;`BiYwFuexDtsC!a9cz|?3gaQuEj1Z^%_k+h;QTO z&K$s6wQw?$DU?`T57EtHu}+9<`Xy(XG=7*l2?sZF znXi-hFMhN5SLPB#oyOQg_@8_aI0Lrjg^;9CjnKl{F8vXwuP{V%-;f-Ya{MtI(VUE* z1`#90rm>A=hD-Poq#|~Wl#8nPfM>x;ER{{r^qvu`+`YX;W2RJ9Xbe}WWNU>|0Hh9) z@<8bD!l1P-cGdjl+>r6tVw>bp83Sb3JX-8po~-iA>uSt~nt_D^N?B<2QOR^L6|sXg zCuW{BE4nPYLCS)cUY&W^YedsDA~TS8o#X^DMqzyFxC19vq-l*mvPH(?TW8+78h*S^oBjd^^x6MhIlDrxm=Ek~d5YL9fQ?6~1f}ivE>I z`IWVXG8fnSt}d0r4M(ZAfB_{O#J-jjQ>~M>ie}FPDBY!q;hvsc%efxIGDeA&58{sB z{d$On4R@>!U$%-oFFO^vM>de^M@9&;ZsTVyL@RW+)bf_sEvAw5MhM$bb;k$p;xomX zzR8*%?Ojjy5FH#%wX$_)?qe{&ehN=Ftg`l?cRN1>A*NHUO*)S={o<&Z8PTV~2Q%2t zw6xn9k>_rvW@HMe&_qlz6VcAJn8_~8h|my8pNk?M4|jZ{rk!btbdNWHTM87L6GDb; zYT6o$6o`XMSg#$$t31uS1q#njh051l+fVEtI|cEg$pWn}i56dHnEcH>%ReNJWcJtd zCeM^!#;4F|cIrSjB{Ym`(|;-7X((#Xve$c*)=eBu zECfcTT_^Pu@%i2{-!1;$X?GX5Q?W?ubqCLqYb^d4F3j}{*h~^RrG6wd=NmP4c^wRhH+FWFyLzIs?CxG!MU(Qi9U!1NCK4Or zj#}Ttfe`|DwJ`qEJ`_MiZgq!0hu@>Yhpg-r7Vqn97QFPfcH#zix@QFl7Re686QL%N zl3i>URJ0FyI^5(&vayqb^Y15L-TdDp@#o)de8!w>ahD$En<%(lb+Lv#*4kV{o3jPT zE^6yZjQJTXZ|Qb;4==f!U^|R)F&Mq9ij7qb1O;gWpK&LC#kNorX<8j?axeKS!*PSL zf&Nh3IU8);uTbQswPj1PeLXMa*=whN_qMRX4!dK*%|{n#n+r0I-=7PKtYPSBEJw1< z>)kJNiX%J*s#OF4yfF;3kZ;!>Kt-whCwsTws{?f$9!)&XQhyBzmbS+q>1xwVVlzyw zb>{%@O4(K6|Ik8j#~wZys^cobaQdK7=h>4wt!eNwxbozQ&--I-zOc4z?1?IWksM0@ z<>65y1A*yNL)nY^L$(VNZ|n>+KecGJs`N{J2zM?JW*3eKuc-C^TdCO=N^A8`z5YQ^ zniT>@lb(>G1V6xqGgXDZwZo@=xqS|^QrFd5cl>bo2_jyg*8Q(E-x#(2GAHe(|=b!D>|;H;t2DrT6sSCvaNuvdju6Cnba1VCo1)}UKACMutTnBXtK56{ zh>n$<#)9WQ_GO=k|Ku%#ik0sHl?=@_bD2^&Nc=buVT*J=ArzELFTD_6{r))GKP9mx z7#{KgCLb^wSo38!s;mY#j}-*kXS9(3yD*z_WKtC`WCqrSl=vjEx~8q^@p-3)Gh7p_ z4{7aUqI-MY@;1%xT#PpM>!JGh-2((`)4JHB-gD4%>yQs+PsR7mktPAZaV{7;3JEvr zJgws1H4a^O^Gq|kVC*&T4yqVOocAN1+_zf&{Ur9_quI(A2q7e|%*uVlZO%jgAlBll zir7%(Vz#1_tWkQMZ4Iq=R-Vbev;7=@6HiuEJ}4lUfbk{wU*RDb88bD68k8T8*%F{L6_>niVeICD_v>9gVosT%A|ox*uK z(@)8Hr)Z`>VIqeZ_(RT0uC0Cw;3E~WXe1jBCf*%!Uod@0IPJ7KD_epbNnAgnr{bK7 zSfRaa#dl4z&+N38^{viIWyM`Z1EC78eCXUc%la<&(bk34cPdPC=|g;fpWJIYcw9vi z=y1n+?j+QGs=c}6^6Qk$)M`YjGDByYPb8FOr(*L`SwkYvr&cX~H8TO?yn#!?iTx69p!CkDCbj#3k9vS$X-X%QG>p}A z;7{t??O&{s`-`>HaM{+7Q*60^Q%lFYQ(4>4G3gp^ti^ITFSyDsZFHkzcBIj$?l{_! z)tOxw40rUp_qFM#y<4Q)Ekm7mF(4_B4o%P0YO*1vudRg%*GS+3SWBRLQhgDwD@_9v zs&n@i?4LyMjM$h&Z=Cpx-U-Sd^B(b*;44orhJZ@xw}Jtd{+1Ri`JL$HfY%Rs2Uk4G z!Aw{`A6swzI$X|qVR@f;;s-A78-INJUcVpR>-Q~t{l0Cl-wXHp{l>Ya@yi20<4R^ehy#cvKl6DY2u2l$s3HuAP!~G62r>mldW%w#q8c3-M*ZT40 z{|4E%J(E^hJ8l#)JTcfZRIR0hNM=x-;fKjPS#ZEpheP9>{v`3>s>NnU*3y%E&{(-B zE4TxeF8NQpRjt6we(d}amTR+%tK3_RxM3*un7zsP0_~*nF%vf zs}^xx`I`+}i~MGfwTXf*^H=xVYmPGHP)_ z;KCEbLw09}9YT7#_Kr7$Tf-fABi?t9n-C0WkC|m-&{e`%v58Ogo$4pC2XWT*SS^oX zr`?rJclCH?6JM*Ychhq7vV4U;@k7j?Na5Y|`-02GP(!SMUmJFo9S?$om$7-{^H+hN z{qjn)$p9F{7@MVR=QSoDCb`4)dugkH zDjP{hKGVm6MJGWoxG=pY*J=AVC}fLe8KrSX$hW)B{W%7K0lkAjBq;b@_phN6=q)`? zXZ1Q~Rwa3(KVTdGk)y$v(Y;#!^o^UU$Gl^y^Ap5QXLFshKC97f?)7HGn2y+e6~^w1 zV}vRX#9H?Z;E@z6(wm8_|A_d3{$ST!Kz~x~hR)qXV{_P#bZ*i{;!~VM>#2xV#Mrvd z9aYdnL}E>mHsz{LRQ!61Ohex$S1qk*fs?zaK$Lu@k~WIG6iz`US|- zRq_#o?@T-Zt+LhNUWDd~20QZPBK~E6%UqrSwwX2UY$1I^)HX{D&XVRnGD7FxNDif?!w{M?iOG6YHR`G za(q!?H)TV!JY8#AGN0Mzbt>p~*!HTtep)va>`7L*_WK0BXQql~rr;D`b~#+msQ~aJ z2hDy=R#MHdv${~UHHAc>A@m57Q|neWaeBB&9=n<~eH`pRuw>3t*47!qc*JZ2Xi_MSCc89+x=Zdi9Wiw!!xxDNLf!sfz7CiWHi%_UO=f%* zJ^Vupk517E-F&BER3JS%O}2?X`ahEX*YwAja`IYckGw+7>@T^TSX-01tO{d;`$JBZ zkL?%>^xGGtU8{UeyYk=Z#>~Woy_0I~*|XVj z85Qd4e+)b2?3_ng?s%{t5eAXqi=nRIF$UUpLK2#%alIc>uDQ)giN!;m3xh})?4p||3_JS z_M6<{V{pWQHpPtc*_>PJDnHr46vfakU@`d!Tr5igT85t21w%_GDJf+E(F5aeseNTQ z=k@fUkUuc~YzgGeY8xRzeKsC!{wBA8 zG7~$HNef#8~AmZ5DzoTk{e=`ox5kn z(-5!$Yq_)Ra6xyjy%VGPJSX)H+J-Zy(3v^P2hq(bb7Kw0(sTy{W+XdUm*Y$t^=84_~MmI#TRZLzSu<_@x|&>)CJLJVv1!d!U!OjJ6Xv$O5qFM2W z@EmLo*^6tMCj!RPQ!$!T>fcU}`{HmrHA|QxO^vt1!uwMSdQJBEMm?V-*vC7mrRt!A z4w`2!j~_`7ZLn{=tofVqukOtb%_ql48W0Q%ILUUZ>Ni80!H}LP3~5b}%t84V@omXf z+%m6jF0=g~qyD4n^5WP}a=$6ghxGHmSP~{4@9g8ZULe199XtvY~eVmpVI(JxHG?)u>7>-b<^<+170n58Ow?!@AN2- z4*Ub&TRLu`%fx8XXkr(s?sRKO zVpnCXJ+Z68=G9E>>bKnPerL~7B0A?=J(Mvkti2CmIH+RgFkH%WhVPrNaFWW5&bsUT zRzfOhKzMhPY=BAZ4SQD`FE}b1!dcYy{jB)5Ek)e1({Mn*y-1}6S^u+CbDuQI~zOPoos2VE&<^np0*4=XYfGwchtAuQ12f@ zv}3o!_4GG5)Vmh>vRwFEOOK+nGx>{G;bB5&P|wz3FwBR)KzRGUZ^jzNglE!AoeS|z z%_o!6NCcWG$3$%Yx|34MVOurZc;7s<*}%Qq`{UNV+oR*wiukMEbEuEyAwz1qo0PE| z-hGNqD(_LgS-Q!T+4M_Ltb4XCd&_KdAH>&Oush@~}_&xGa#XLN65>D*qJRd7Q;Jc|prGQ%if^ATf!v zqKG)})*^j$E($UOu7Ps1C0Wi8xwpS<$kdw#9`oZpkn!GMDKHn)q-Dk5K>|e-DX`4@ z4_=ww6Yo}@TJ1jVSfI8wbgdQ0xo=7da)t{;A?I)4!))&%;8{4iT?TfZyaxcpSmXEe zpmhJR8BhK~=|3rF7Lc_3=St2k`)IeVtk2P^_QSjjs6vrbOFGxg{g(awe>Z(;lhvJT`q|fvGn%~=IwhBuBAAAvdZ!0E zcc14ZKLkah583bHOU3Zr!#hkTRzagWhOjnquY^-rY2*eM<&9aNB-WYrqm%4W4cu2^ ztMMw_#I;@B*APsB8AeKh9qzzk#s+)B>_-Cj=@+$$I$%lj$ zusZ4uNza{aDd_sfx@KqDSY%w(Y%*}lTon7@30l&3JGUy2H4>$cbtLa~`gH8J2y0(? zfjHTxo{M<^qbf2X~Si0^c1`#{eds+bmA} zIsi$D{SPncrALJt=6>lk6+@#P)+$V)ziZxphFTi0q?G!Tk3F^nIX|ZUx_cd3Zg;SCxOD zf(iq;i_SCvIna!9djNHr9|`XiZ@KJpX%d{1Eu1cdKMYsv_iR03ke4-|Z?$icUz)FX zk~OL(BE>kl#TJqi*Jwic z>m4^rwr83t*neiGlz!OzlhBxLyd`W$TV6Wahh8(IH315io<)3LG4^Xd7Gp{U^_M&@ zI_<*>)9R{$fN^LvfO?f6)Wh8T!)!gc_Y;hkS_N!Q@(7t8AYg8ID97N<3}vrpIX7^l zjgsj=*hcGW-QIesdY)7mZZ^T8Q?z}GD+VMJ>p~0{Fb7{SnNCWPR=H#Ia-_5e=G8sF&Tl_H zflHL>av1*9)Z=uec*V{Iy=OSdL52_;C!A^L_5>go(WWkggP<_-TJm(W*h(0#8PZ?H@;=;DG)8mzAgQfdkAmnAlyL(^n`{T zY!7%kZs6N9!VRm0n23Cv+wUD8pjS7PIIl_z|`%(wKJ`O}eX#hK5~xXFf( zeG-@Ip<~hQ^aY=_zlQW%V5nv~C0JQf!^GLj|Zgj)`w=H&8RP&OR$eJo{ zE{VSjRhtk4ub;7&CaOHTZNfrFd zjQpo*phfidn@M)ou6`3;(Pj{2X_S;F{Bk2lk%=;>_o+=rhdasCZnYu_E&EyWJt++! zfv@obRF(Ht%Fz0Y(=9b0q}DfLXIP|PCwrO@1&RzZTvzLU=Q!bf8r-I74X4X|tj3YP zC7kxuai59rk7>Gqo~it3B`YdZzX`wqocL-3Gv?%Gx0`p~P5gE*gguz0qI}HTH)a== zEw1#RKTkI@f3=KZa4X{<=Eh!yrZ@3eAFBx)EHSYd{%xaeZg0K}j%2hQj<_~+%ERdV z!-)LD?EHh>ucnNVyq%+2P92T_)V^Qm?uHvr>D=A4s6(!=dM$34`AC}3uRWWLib}7I z9k8Q~rpf~GMN2-`!PQ0c%w=SyBDIwZkyFT;&ycD`e1svLtCmiyyQ-n*5!6J0b?nsv z_xQRGd%4eu@ic7cTu?R($E)8T>ZiI)u*7cm?PKEcw33@*7kXhnN$(Lam7T!Nzs|BF z#k~lvDGDu+1vyg!ZO?S;P>(143Qpq{hOD$+fnR8c&(OUPO!B$rlFgBZdMWtmT zERBogYNWmdWf%9~ssyAq6WPs@ZIAmF>Q;svR$PqxJcydd(q0`F_jJKHZsjYQUT0Yw zqOu3)DTMv>`(9p`U z$w|OArmfb=o*}83Aq&cnh=E*VJSh)R(a_58c`&rH3(?{I%x{k=HDe&%(6>P+76jCE zf=VoaAZ&ajL`u>tnTjLaVO#k0BXv_E26p`2w^XZ;@&=Gztu9Lei5)0YbU#ZT%)aCo z=kVI8U|M(Ic!h??sbQFRggZ?jm^8B4#_$=;K6P63?hhIUKThQb^y=NtZ?_*jY4v@G zc;6lVULZ?K!Vir5M|))p$J5LbbFL)ZJ>Dw1?(x!sP%TERqSjHhgX&n8j5L86%9nLF zpOvW(Nvl#LBv6fv>|^4zm{$DzTPa(e-|xje^!?Rb#=go)t%e1XEHfYGFNwNaorew& zWheZpd8Bjm4|qi&BB{L-9K7k>Qj~|Go_=Mq^F;^Ya1){&%E>l@Lnz_te5YC87&F)~2}}1w z-M>6931`OIQM=?e+{gtGK^c2-A&VfEUcb^kGT5Tf5FFqSu%r@?F z5pT$~^m?&q>PiX8?7^cik^}CEo{BT^!yilE*(rB-%6+Ww(oj18-mn#yVoKESAJ1Yp zR5N1x|K$!1JH5^Vkeo*`kHtm6;y>GX@;}Rcc-=={lC8RR1#Jh+;35=ea7mH0^;Qdk z<9Q3eLC?v#6pdt#avmyAxZ|4-b#CS&1;PEnIKeF{wwEPpJ^&7~=sX?$`YWn&zSi^p zRnq>$45fse7P4gFTtvpsxAI1NvI&d)0Mfz)9*B;E0PcO=pLcw;8u?)Ni0AS`dxQjX zY?(Rw$HF_t0_#5yMW*VgkMu{akTaO$d$(Q!@k@W~2EuTV;H1;&W-wDkH~xIWO$L{t z&X3!jl=LpcVsH?AHvCxUu2bd@3gax6G$AzK`NcENP165i!k(el&eJD4sUVdKj3X8+)x zZwEDA;Fo(5H9@)m@yqSzr#B{FPKaE=n3V>49HfRcaZYq!wcRoc&8O8^A$-S;A^TRO{ni=wIcu-OhtAf#*}w(|zDpzZ&1oY^^;r7v2s z&jJMZr30{grt?%F_L&qH*T5(vY>jsy7nzWGZ@d*XF0pEGt3<+dH7WFm$B?YuNiHzI z2Xof1F&x%emCf!=1_&*MF(lBl>^Ff1Q^|{{xQYD0#_&nw!1Y#g?}i%llDp1Xmg6Uq zyC!eonC+NcA}_C;l{>8(oVr1c!|L3*VU$h@C(ehHysI^)>`6ZvQyBocCiWNk<~(#z zcKl<_r_7&WBw1?;f#9N$^X(h*15${WbI{nTBM7+3Hg=$kWW3#ux-q6*w()z7l>s-) zZzC#gtMl&Z+`WKXE}WaSv4kG*=$(M?_;=(+ zW33s(RrabeT<;PA$SiH4chB4uXN_mK7g-PVxs0Wq%HA0|^o?RVCumNWd?lQ{jF}qV zc|#CmWT(VQVr>~3DScFKl-1uXX>kCfzm|Tlq7!Jj{}~UNj_T~Ji)Qbt(>o&uZk3Kp zKgZC+9Zw`T#JiBlM}sw4w6hVAMEbd#pW(OS-=&D*%rD^H2RXV0&dBuzV@n%x(>V!4 zN)}sb&%G4{mrjK!ZC9(E$x|7-Wp{&&S3{3NQ33ZBGr5!@dMvGT(s@|BmW@<+(r&l&Uae&yN4%0~?aY(qSgRe8nUm5V)lAv@+{ ziaGbNxG5)O+A3}<{)|`)*h~-q1bB(qwo36 zq+c~M)IC>C&D|-z(8u3s*2fB|x0`WKPbG~7XJA_ih0W~WXGczFUpv->cC1rUx-bT7 zbu>FN7~>T68H70A$*9{%SK{CuY?2x8$wB(e(Fa`kP6>wI5;NB=Al^uDd(KU^CP+1_1v>+HSjqHZb zCN$gxl`#hv8JBklU@vDj{Nub#$#C14=EKG%g@-($bv^-3udfV{J&F#;a zXtmH-OP^M?6mcFJ5$fDCHFk)z?8kiMnP^-sV0oGzKSkf1RJ8!*e2Vllhg_P^vYE-6 zNoqBcPtEP55r$~2T||U2VnL|e_2)j&ywvai4I23#lG=c3OAo8__D2gA*JnTyir;CS zVXSESyFYncW-DIbMYn*Bt~Uv&#MDjEXDGYKxDOB85BFi_v`EJbSd7M44GT#Z!|+Bx z%4qFkBSzspvMCSK`b{M8GbU6^iPYJQN?(o==*(1AB*<|AETsK;p#+63#!X^P5rC3V zdc!Oi2z)R~T#i$FKi&n*4H%b`hfzMyR~$Gd#Q@+xUnlUlxm`~oOHSvT)}I508YXwY z!@{A+;7;mRsfTRi%O~2;*X;HAD*JhZ|9NWRGcncXQ%kuwg$HYwX$NIKI#vw#j6k^U zNx|tz0(ckk!QXcaK}W43AMbqCT`u|{Zkht#05j6Is_@XZKnOY0>YXp8ZT&}Pix6n< zGyJsKebY3Lu*Yql-S45O$sQypx&oCsK^#BLdswxzjb-QQ(9~ulNox2E$9m~^ysnTeW1&S{zT1^gwqHc2uV{`a1MfP8sWOS7R2rW9VX zA%>&m4HkmE{iJBKjqV9T z{bu(blvgCtKj{4m0%Sg0(_Hql*?j{gIM>btR@R3!ZY2ZJsD>wQB{=}W(V;)%>bA9Ek+ zbVcYcd2gd=0G%_X#C%DbjQ?0`_dpRQ?3u_chD^k#GK&!PjKb|lGMy=sdnpYq(Ob5t zrTI!H$@u~Os#tUisJiq%LZuM6n07ndu?Se=j}IsHz&!l8W4%ur3E%0ebpIy0)Dj4%)07UG?s+w=EA{Lru&bYYpBd;(FxDtG<5CS7TRR6V)MLjIU}F zhFo)pSbb*>WfPb82}d*L(@8thN>g@E&_sg8Uy(d9j$aJ99qzTJqj-0C zMII^o&SgBrGU#lkt}%d8ssh#{k%_ITa);B@!(#z+PP)oFm_8V7RgNp4pF{Ptb5R8vT;Ycd@0rtyGu+yqT~wAIUalrj|E1&kHT;_&&r1O? z$qFU@vRSP7uDH9PKgjQi|I2W;?AhMyoki2)%WP!`V8C_xXX2XRHAF-1K;7=bF+?BF z3h&LsH6FN#xZ4}g`&z)dy^Eov=C3-bO-LZH0Gd+DRz=58G<^yShZp>9efs+u74rRU z5Iu6qJa~Yo;7)l4+@C^c!h56m5Mp;=!zL3p4$0p7TcB88j8Xc#nc~L%X<3Vogj&#gqmMYSI#7qd z3&ECl{%sh6Msy;M^z!dAJcSO=!n!W2j3kK!gjX$hGHEcDZ zSE(VkrE5;HE&Yy`yn}gH5(h;%8gsGD4XokYWb+M0Z}!Q`jyBj(7w*-ndOn}sNf2V* zo-?Pt`<}ia7vss?0dMSh7L?tEtO+>pHFCr`|1EAaA^03mTg5MHSYV}=~RTzIgn*Ao|AL(G6r_+BSGxm1bRad+*io1V?ZXvIdvV)M~9$&W$ys* zK=%mNDb_B3@ICfxX%RNeFsWa4dsm9*ZAY;mx>xPA3|mhVhGFd@nqk)JjVFbj zz@-p$(wZk9wc1Bt2P=j$=gnnb=hi2A7W(GoyOhIn<8SRI;E|8zfU&?HYZJCfvJrK#a`2?ETLf z4`ktuqpTb{CMvS!A%m>cFh-Dfu`IlL3e?0QgOh&Y^EpXQzKL$UTHm70#X_<9yG z??m@~yi!?qZI!jX&jJuW+8_L+*uA{bRFP zOl85C{`fc(F?Vq0?8}$z($=wa^G)EJRayG%%M%m65{zcZACunPn(3HJ&ZpUYBTLO( z{c&|dBFtwT4azWcN-@LCK0TtcFU~OY_D9=$6PJA@xC6~uhU4agX!^3*t?7=r@ruM{ zmj??%O7fsY80bjc)7bpaDL~SsdmPnAFeuBTjl?<_7ByzQjNvc>m=p$8U1DWU86vsD z**11p39a9!b72|lFvahiZ}4t3GbVO2cH_&3`$yDKCkoSlR&<&j`_x{q-_>i5zLR&i zeaI(~#3yCWGMy6$b&kU<8%V>vt8kXx$vbA|$7HVX&G}yUn}}4{H}x%*cUI1qNq@+8 z%+*S-7+8RK$>Rt?#Mk7_O$m$BRU zc(yStV@u72I%GXHr7Eu*F@&&-H+_q8T_igR>$0NG+R4~%Ixk)mN&E{tS<1N`E|#5f zljz3Sm6EN#ZMnmp3_+v5xHHA5p%!q`a0B z#{N&g*g(=-sWrET6}+DV(#EgYTz^LH3$v_GbVgVcuJy@rA28vAGL{tWQp1 z+9KJ-TAz%n$*)hEAq-K>!F&v5+j?*o4H$0l4T^Ckqv}w6W_>bgAFiU*b9L^B!uqW* z{{Kv8dHk2blT8(Md)v={M$r2BfBw)S{zrntPvPG`JM@a^E!+60M{p779zao_K#d2? z*MAzK=5DW~Y?tlG5qUCcPx86qxC6Mw7NcrbU zpM#Y00#eMntuH?QNCSC%Z2#~x@$p9{%E!mLLyGvQGthsE9y@5z(4)MALdL)Tr-%#% zA3_gWPn(5Bc2b2`%{#498tgZ%QjS;EY~?X_M4w_S(p9xe#+35ahaVTmaU$ce>lDLR z@Tg(851DR%9G@Iq7)SeMZ`Qaofl>Y!Qsl&HbtcS7-3<)h4`|grLd`LdQz>KuBt`ut z{Bd4L2Ve5(P}rl$6ZBjU7f`yvM^@XiK!V}{JkKTOesdlN20nf)xBh~&aLQ{Y|W%|u}W z&+BsDJ9FJ8)C;^$z<^QN-+PEPwwC z*+V6Lm+2h8WC7&aePB27O5g7$eAR5~d%xgoetoo~UjPz{4Mg@1lSO}-K;$J#6%(6J z$a`F><>s_G{(65}gk`$p4aDBGXJ>ABYQ7LuI$ zz2}A*xk~f~SHLk1s$svXM)$-PLuStR?fr-JG`ua@8#__3KtfJx4X~I^JbC;~c*Grq z3&~tG71QhJ$GXTNN6{Jd#5o`246{(*MhXjD{ff#vh7p<*V2AlbrC}%av7J-YYecpK zS5inUAEzRjMa&2BT2lS2Tq8}`83!@|GnfGr z!?4e1PLxV2;480xK`shhQ{t{Cw89_2w?VtlAzvraG90oBmt28E5VVHSuM&qW;IbZt z+$+i~^|I_3VLL1Zu`Gv2=?tEV{HRv7os)H)B6t21YcI$@T%`y1C%={O zD*(y)Id`e?$U7+g%R5=rmJ+1pi3wz<}jnezhLPPP(t*vVie;QApG)PL?{?) z*a{Xst=kOVRm{*+ho-QBu5U5ouwbfjc!|(VjdIE3lAV1FwiYvmnm3xkbahe{G*hH{ z_xB(8D31L?MUE~2G|Nd2piuy_^4frvXAV!Wg2GnY)?Re?r1lci>k5!RgIb^+OB|vM zf&s3efj;9))@r?^J#{0kUanLx&^VZk&YRyYWOM+t0-x~w~i9l zg6x|Z>e^m7(6N#CzWjYakBM)NCVHHTt!Yo@9$~38IE3qtKhmk0zy3yJgrrQFy#uN^ zwdsz9x_mlc$VDyC`9?fa1v=l8r?5Po+Z|vuyWc_-8Vo4>a{=Rs4WsX~z9f0u>n=5YgC9FL zeWQgtgmS~l=e)CBbPPS3qthky_%lGkBk8?nuxRMgoB%fHJ9Dcjx!WB4%~8;6vdohd z`38!Fd5Yxu+wh9TU$*f-1`0LXTu&3!O--ZkH2z=f%|A7l%ky*G$}2m^x>LGnZ|Pl? z`zuvY98W2kco$Go=mr(3eF?UlLMbK*l#ixuGjCh(p`vVS%}uSGmIk?a+h27Xp0-_1 z0iVK9tvmc}YhZki+3=anj4+tZ#O23vBOTgt+>BCipLXSW?Q1{goqu+*Zx75wGiUU% z81DwP4XZk@E5qoxh#9nAH{7-gkxZEr?AhyBTs4-zRvvIK(Yir;cBbJkQr2?pf?y(o zeHo~fK&_c89%{@(8l>tqMhz-q1$gsQ7l9pi?yR5M-NJj^2Y_%d#mtr6{!XsjwoP)E z!!r53UH6TD>W!01QM5fxI$lz7u+RbRa1ahEvj#eg7ES)FciaSzWQ$-7ZKVCeYHGK1 z!xWJPtfh1JES-&1@+tJRNz6Jcw*Q>vxr40S(??AwpJN{;H;~zVkCXZ`GT7I{x>tM$ z{9Waq|7-QR!@cttc4n#(U>NtP5H@C|-%cj*W`M`DSKZqaq8A0p1vb-?<_whSD z;l2;Sd}@7Q=C?E%gYo2isbqdzbzev47>wj`WC%LdxCpj z$1md=p7Q2PIh@%%$L9A_HaX?_BbV6(%7(KOD#$^}N`PCCNQg6wx;oD?Uw=7qc{YCy zW1D4s17QZ~wFF)r#AdcN&rU{VTKtlI01LS2QAuxfQY&Po^!2GMCz9w|w#&!1Y-tRT z6P`m1d)#`l5!A6y=M5YsP41#sHphATHN)a*9{2f4A!Wy|tg1vs?{RzH@(K6@mDdmEL zRqoth`3;J8+Jj`oSQz*tLnB6p&V9X{SPRLs1$<$^b$@0z@7J>Ltnqq4?5yLpg_B z&o)mL_{!T%>1!*acx%ZGx)Z0BX_7@wKiSi_1FDGc7;qut6HY{Y2Wn!n2mg`$?^+l+ zDV_giuKT^(2s(DSuR{aTj#b9K*HNbSAgAeYfM*-ue8rX+;rUczF3Z%NZZm+^Bp;#F ze#|`f?+$a)t5R(X&twBqD?V_k4(6P)r!iEirn7#DdN_zi3i_FGGup2T3oEb1g){aN zI(KKh;rA>noQt|E)TXD?cf}JM)9yWn#*zz^F1eK=Cts@d5mRbW!QL~L zNok4krX9s;DY8oh+}^aqNy+0PBOyQRL-3DcW?hX3O>|f=wRHcUjDvk&mmef{gfix^ zS~3x#RqihlhH6q4Lsj@k5lh6L&X-#H{XDpDdDy_M{Z1pVZHl7xXkwce(fyc~y;aiT zzC2%x9=Oo>A)AAi_U`0set+WA_&alzdQjFMCd%7nr@j%}1yrOy0sr3Y()uN*dP=eP zCf>F5+T04w@?3%RzNS=m8xyCU3SUq7P`9bb1B_mxWAsmjoOnR$LzMZ%7EvZYLWqrJ z%B^I_Au4IjCxmP@%BKBJTh$cznkb+N+z7xX#(K_j!L!j6S{U%YA_BsXKv?ReeVmm1 zPf*-PFEuJORgUl~_htG%ZDOx=^BFl-=mW%J$&Dl>^=VLh#xE5l*pUTRu1m$Yz)QhW3GSp$;I+Ka*h6D~_F^M; z$sRYO&SWd;FgwUUd!Nx&PRhgsF%tunOm-Inxj8~%?iHaB+_rD`gwaS8;4xOe9}YwoMK*>!4ZO<#ujH9D#U z5#N`#>8r#g@7bwhdNk(be*hc^8zp2aX2_p}H4>@Wu_yF-9lw$&ss07*FrwUrmhS;~ z%kAPP;u(L;UqNfF>?dDh21?1Hg-#5y7`iYkEALHMM{u=g=lAQL5M{i;LG$oq?f~eR zlvT6BTl@WruE&osfYFGz-+LJz zk*4t{!!9tKHehNI=_^$#zf$ycSI*q6WFSpFei&BF7Y-im-b4p5jI`Xr;DL8$Uicz-jGNxkNt zJWMOHeg-lJ^>kImMw9*Hs`x3L3(8~hVZzT}peqF#nEkn$H0QWCyEUAAF!=PI5-!Yq zcfMU4I~Jq7%vfVe5Y@T+s`vrUL*er5Iay9u&*N6jR=>Z2`n*63i*tpde25+Vv|8`Z+=EYm|5i7Y?+xk z_kIg9OeHjddj=Kk$hPnr=`e%!$$nL}LizTdimNM}q~a4YTh+_OQu;XB+}zL}Ex8CAR|gB;J1M2j)DW84jh--? z?Mfed?_+B43u#w^p#7{?I_(o~|Epre;0fzEA(#~;XpZ>TYonr`b=x?}^PS%__AaI~ z6p7tg&NoxQF5}{V7xTuSC!(8;Q+&}Po7@`r=PyEP*dw@A*k@AM7pqr=xJ==Qe+$<1 zw7MD@m|}RdxLE$WVGjM6sn@0F(|_6aL%6LSjRFU*u!M zDy6#D?k376&BW{v^>gIQM{orzP1FyLGQ`N9KN5 zkf()D{YydoT=_oUDPQSmT-|ICCMSL@dAb306 z!{E<#zPGA#*V*x7*c>`0F=a#uXrldXS@jsO>yRe>fFP2{E3P>^EtP<54}y- zWi@GY!&^9Wa{xsU9^1=sV#n)%M>u_(UbQS8R^GDow^jOTz|mw_eHG69u!h%NH>*-$ zrT*=`O;K#&L}E05g2o@t&43SDym7G)zTmL45_Eqv7RrX!HxHOUS=as0UBfE$Wksid zAs{nSiE5$y0Q68wlGXiQx_YrB{)k)D z#!MQvuqE8Fekzkm9=LPEne%GXlQ^0;_$e?PJF>ex1k_O*>$sK>h0wkzvYZok)Uwp1#9IW z%YD$7{%Fr|c<1P8v3+f4oj?OPIw&%!#?7cKbkz`LNukWdvc#Oc6037aK^Boxj;F0f}uaj$%YAN1H0RV4LlAMwsO&5f7{4k1mTkRgvpY%cd~9LHQ-}y zgDLJcV<sl!RVN;CoAE=Q-EC)`PyDOK?SiPK5Cf7&RP z`P@Lf*?q3P(43|NgP45imy&xG*JNTB?F{At+kkcsG*6iKsVbffM5Ybet#&h}9efsv z(GBsV#U_ab)xkJtg`WV6@= z+(y&C6*ogy-HANg<+z+4EJU*>JtMDQcI;pI}FH4G15c9|t%mkMA$IJ;EoTHB4J;)7R<-JIm%Du10-X(>R3sx#IY*(Sn3| zc)-e=VF$H0?P;~f0CB9UncnWp946xA!aNvTpv%ggPl+7kJ4fW)UHs>bp6p2trvJv#pYGqvTZ5ifETL%AM}_gfDYnnkAtLvR|0^99$Nx)= zLT2w*{Q2LH|7mR6LjV6?_@LPTe%si+&W=5XKmYswoBsdn|H}7G|0(|b@B5$o|I_?K ze+S8lOE@%t{`dX6tU&%P{719Dt6LAVw;L|b?l*`;b&njz3(Fy^d2 zWS8{r*|TTIvqwL1Tqpmr&c%Kk?1(18r)wPRf*8F>h^p5^m-LoU{^^H%yYQ(7|=`n z$(7uX_=S2aUh{8`#{fq#SmN{(;-`i)=T^05zA>09XoA-q$G^Dj=cBH9>K{K?MXNLW zaHaM>iR(FJle`*#u1^MeRNPbF2Nhiv<@M?JyAo2eoYj}Hg5v*C!>8(v|5Uvpw$_kP zqPcD?2`PpeFgOPFuM@4I;v;f0jd>5@dM_H{-mm%T8%n1;sb~2W&V;KIO=F0UasLYgmT(A??lzJ9Yik6;NbRQv5ZzIlV_S9WI!ltBa6&Gq0Wn*LhdX!LXoj7kISpkNHk zJ!ZZ_BC>i6{`E2J&H(caqJ{HU`xW~6xtR`AEulueJ9;$mTlMTWp(B`6)Y(irn{7M$ zgT62`-@IX$!QQW8{PeOVGY2N#Jq*|O zeDdRktJ@%uv!R%B=jP5j^*p*Y{jTon46lBjTUTxzG$ouNYZ4DLd8pRIY#vzfMfsE+ zNX*HNgXXdx5nSCZTKm(8R&ep}8WdQpP92W9fsmUWO+TQLW?%WcrbW(~P&CLCxXRY?owc=QMb=^&Me~&qk>ycAm;bRJB6iyY3|+ z{q@P?{PEQM2!b*E;ZEk8_clL^g5mggj9{qePl+A%g>vEQLBN@pv;UqRzx!>|`#t>0 zoq#{(3;Vt4-|g4%rayGn&&Qa~8;|8rTjt8@ob@8@tzWR8%zBkDk?N9h+a>G&O~05) zFw-aZN2U87tiP9x>nD@BDDIJO73DWDomODoAZmE%)3xq6rcW*EEVLCCdK`(dlW)7c zj>@7s?#fEC;{_oYQ#rh3&nK_~T!oEk8|fpB^I0+e2GgzgxoiiRZ`cO1WW)oz=|j;;DYZlY@)KMn~v8?yA7m?{Vp)z;ZA|r!3W4{fCw)sFXN!A#`vt9$E1I9(s5z8y|lh9j@3e?XSgS z-`hXpr)wV$DO68}?^pXt4U^}=|HqC0UtdW3&)~7|z5Rc8`^nn>wQB$F{c6ASPt?Ar-`;*C#*^Xw;Nr79 z{dSfpC*=N5p8yel9NelU#r`LM_Q21&dd9n>vuquY?)Z@8vKL%&-dow9rSe?)7Rs!j zX1}^Ii=Tm>N;CEm*EAx09KFcp*=ajfhMyg+;90g`@LbmUN6sfNM-7{gPl0?0o1%J# zjeqc$-X^*(q>>UPkwb#!064?QV&eeBfyT;Q$&vG*gT$wvh#U!)VkLk zReN((ot~o}=}K@N(!G0Ea`s-83{rw=kgIRP6v=Ko15?}rez7cf2ucg&EI-1-aiVrB zExuv}eR_t3H=YDL~vZrc(}&6c0blsXj5!MA@;kF*OF1R4e9){ zviY>q=5w;Uzwn*<;zcO;qvS*UW4{b--D!Ji(7XXFy6sV1xH7!Z>}*~CNqkTKjH0T=SpHMjHxGf*8hsl@ z=y@~<+aSW=T)^|D%cQ~nSbe4mzv(k|Z+`O~_M-Pb$(oNJqQ8YedWH7(4^a(K`z6#z z6L{jvL&<>tMraBQ)n!I^E9kb^UjPhYLq0p_u@7l0&4Zgn3_gxWsto5_zI#1%eH{c3-*|3|i;*#~s~4I-ZxKpcVKz{?OXDS6(c?CZyy zN&@jc{zy;oEN8k{U_-{c7%Tidd#+mfBiugJ^m2><|#cjhodh!is>mzUpa;R7@>#< zK|^>MtFg4n@(>ueoSA4pOOWh=NOG=p)0BY~q@8aIX64~wzbisZ?W-RDefz4BGqZUO z_EeYe&z|bTSslBa9b1M-U|DHY(VXXV)6Qht!?|hYOuHvHttZoBxoJM8U7ee@36>3K zLQWb0Qlt!W-SMzrmc32|kkapw2a(HvDtL@zzna$Oz$3u4N8L2nI^KtA_vPk0f@z7| zv`$Q$nw$11EH};txoPh)P0vkR!nA%!0|`u_b^_mxqcG8)rcy@F&Jub7mtcp4sWOT2 z0Z>6JKu{=FIfX+g>^zm5R>`yn zbJC!K{_!I+vdZ7#VIP`l5^L|A{k9zVWbe;s@iV{&d-MATpIYE4PVJ^A{l=Bqlg<;Z zTLN%$tE+Fa|GwZy%=?Uv^Zs4q%if>;iRb^QuHQcY@8(S5?4FpePgiGCZrFUJKPcS3 z3ZKGN@~$OcLzZxrShjH=AoIt!z%ySGoPXmtBs=z<&VV2fSVM7mYn!aEx$z|XKezg^ z!zDXVxB4fzTTr+9FLw8!ZuMi^iF;30H7;3THilFPGpDT5+JgRz!GIt_gUD%y3LOhk zAkrH-$8r#HvE_rf$;8BihK^nT!El{}+4=e@#bI-5k*rYjkdRrSX4cC&_*Ytxt-rte z4vKg*`h)C0R-fcLQbC^t9;u%TkIJ<-W%QF=e8*n>{^5HTs#|Zks9tAm&GJNO{Lha- z^Qj%t+|x%oz%Oe&KP`XzN?6o4^0(vP#ynYlK3^lC{tS;Sd&sx;PfKiCl{LRVNFOu> zRdLwZ`8Uq+r#D*KL>^`L)!S&HitC(+olBPiJ9o&sPPUEXAOBf4IpJwpf2=FFMdPhS zKb7s_<%5Csr?cDXCGw~5i@vx8kA2;*Y=o|!jn_ZG|E`vn9~_xM@Gvw{Qv>d-i_gIaV9?@jhJK@~vAp7e*%O_2$J$ z4Vv-G@Cd*jbk|T6w$Ap|S~`lY^QVf$HN3efShWiR zgi3d$7HMDqKS2K*ltzX$$|#I!OLBzTO0EuKivSy~oCq?LRjt%O7?a88;q>ZtX0I-6 z#ywf8fkA9DqqhE!HRm=q+HEY;j%RUp-r`6Ud3nm|>r|YfUv|VJw=1fLaJd;Lg2>aR zMY&cg^%!(5yH6c@6Ljm(^d^mQgQ35+`hS7`iz|3$uc1v=L7X}7um((m=V0+<-c2{r z6nsZf$aAZQI|PO${-~$&Wq00fA55NyaAh)Bc3XkG1rau5L)Fa|{Us4VZ z-qXDAYpJW+tR<#lf^k~;083vM+tqpcYD<4HwyTpi=QG#{bbmJ~mGC0o0MZdqq+3CgO13TE(;ZOC{y&OZCCJH!KU#j(qj2cT`V zG;i=c09!)V`24UI+@04HimxfCE8h}<>LW0$^KGI2pu2w6-uVILSFO$uVEw;Xff~9B z^#{*?SE0@~?^UVe15K%iF}|DLQuk~ek8#zR(+iz5Db)7yjF5BgM>z(adCT{s?5QHs zzW=a;yR+u3q^H3?9FBMzlz=0`4gwzRSN{KgzHj-x{>1mOKVJTO_OU-+{(e|o?aO$* z{I5X;-kYOB3{FByPB@w&{#RoOc@egcpIHo^cP|u3F=LpgaSvraqxwi5lU{=GW#t#Ry_nr(<9D=MAs#@vz*73i_EpNjW5b{4(mCCwVH5gdLCVEN9xS zZ24-p<+IrGFPRc`Q~EGvf-1N5DjXd_x!-%ZP zqlG=P5E@OP&P}OrgKHXK$R{cap^AG+G4sx5{0k$NxA~lC0o=;ssdwGfa5gvs6V&e1 z5pwPaF0P`%e!&sK1sY$wgsNVNuGgz}N7iv~*23k87-q{7K$Lq%cVIN!&cnfp3bf)1 zvt!)-`Yd^N9x{qN8_gF_o(&OTD0!ARUFvci7>q6b&%*w%5cWUbc^R(4X&hM4iZPW! zbf#1O#+30$LEjoDqVx7|kRm9eAV2s3IC)QU=PkbA zrB_Bdr=T5E+E5j=hTR{C?etCW9^Z09O|0Fg&3Obft{Qnv{EgShm3VfMbO6g-`9@Dr z`vvZIS(SBfC=|OEFce2zFGrF6N90H!0ebBvbV}}%!=OqysOOO~95gaPwf8D=J5xDo z9&)nIykrfA6rjCw(eurO`mZ#z`kJw z;=ij!sV6sb?xm6XcCkgZV@9>a;oMwvmHdp3iPfIB^mcZ!w(KIkzqiPFD3YZF_ku$w zuw(NTiZ_2vf_fMzvX8_0$G!t;D6-n`-OFn$uj*5lNP^E$G`cUB`l z4%9&&8|AHweGy|6d8#Y4~B2}q8>m8wflwDy8akH z%)XWt)Idv2lHO(S5qY#NbfFu7ld@D$1q6@;d_e<-lr{D;Oh7j5lzx&8KP}lE`W|3d zmUR+V!7;wxA4RZ}oZdXSS8q;IhJcfJ7CVNqgCFITxJG1VcK=UMB~Fmrbg-Z4=C}F` zxDG*RtUi@^bnq|u4tV#0PLa0j{TO&#eGYnA=2^pI-`js|&rjC=y-TJ2Kj5+N?f3by z?Z;j$1am8klzS6#rjjjxq~pXl3KbXML`DdrxfHtw_UQMQ$Qa(i!^KD3BNl4TMMGC) zrA`ujWEz1Me&~5wZVvuOU~@kn z-_?Hhei_;q)#)eTCpf+SDDFbC`n-zAzPJDCmp>Z*_vQh?()$F55uiDHwjM)s7Nafj zgWUWy)_iyVa|)d=AiO*9AFI#DkH~mG!DHXY`yOigk@zNJDr}VE`ZL6Taft)G*_n*G zF+TbJ4b-FfH|XVv#&4t-W#@|Al1r6otLbq91MuJPS6;m}#uXgwzS_EO#`1B0DnE~$ z`THvORxgYuyU&@M$rHY>W^atuMBshRT#7N;=Udyd;`3$4yL{uDZrYQ@{_T)_0pnHk z*VHC;1RycCBW_mr)YbFM`AmWf>m}xpA{;Sf036&~x5>^Zq$(hx;dga zzO%e-ND=a51LN=1`E|qM0~bZ^JSj2>Ml?T+HfiNj~_;Tr_mxu=mM0 z1R9{zy`eIhNz!|C7Ff+uEf51%_hLNA>|-oR>{b4f^O-L=7Z=cks$LDweSvZaw>oES zKF?%47~V~&oAZnDRUIKqQa}MRTiWLnRC+ww9}h2XlZv8tze_CVDPobPT7#YPPH9cD znNxV%nQl%fGNA(wjnqTmQ*Q0kOE?!tB2KpphdQhWT{t*@0+ND$Cl;Cosby}LT2*gc zL-RLx$+<;HLEr+Y?4b?h$)N$Vfj$uC$IDmWH$)ef59=5a`PoRv=e%{^OEq6@B zU~AsXYVYJ&?RD#Hp4(r_bNg@O+`bcu03w{xu+QPJ2D`H?qsA=v%%0^@y3vve!GURh zeV?b<;Z9%+{K)bATS;km3(PwBOq&8y)Vi#g;_K zcwODfhbZm=<8yBnQp{j_<;t#yT|IhsE+8ta!^fK#et37#SWneGDQqieD`^su{hKv1 z6+sDiqe+&*Sq@PXm9{+*8+CLg#i18fe^jjTIrU$P5seeNmH2OR78ISkkyw;G159#l zHLjC~!h;7g{#DsPtP%MpaZp@ri;T$CCDPK9Q8f2Qy3N?f{4Tnt?)3H-_otB?_OB7A z6Y>LvDwepDT%$xbsnS^mp~?ABc=;+LWc@D_OKI6kQu9a!NnWvceEZ@;m?aS zYYlNS;_4E0e-fa=UZ%Cg$)1)dxRLSi^K?brr6}$0yRJj|!SRPpG0dt^-)*uTfUdfm z3))V>f}F1CY$!)zEmJgw&2KEeK~w!)osO2t^je4ub82+7sAO8S8h+0^9C=w>vkN{ary0D>*F76YLa#i(?nw@WNX|NFZkvL_27Djp%i zzDFMJV7qwO!$uV^hvH${4Y7ZoYbCf%4(_=L|GU$js~@y*QFn2ObIh|!*U z{o*+8GqU_4-5kXTqr^*t|lIRSk~zPqz z_9c{yEDsy?IwAy#8VxU8&6gE^7vxxf9FL9S2USpikdeR#6R$1q6>NH%3Ejw zLB$cn@t-f2aY1oXb6MWxc>@sm|9@;e-qN40cUv%^|0AABux!Rbt-%pq-2K^EoAYZh zCG1fo<|03whALLTZD__B3Vv3%6;^oeGPu^wnatThyk$gJjlctevT6+KLD5KsvDEc8 zdR@GYj?m`xM{ZSkNvfIgWR0b%)fxN)xCV~suf-2mmG)(n*onI7U+m6v#gfz-3AMUi zYe3kaA&C55qy4Vc>4E%Vb8s2rR%?kD(P4y^HE-!%3uVVVr*GA+nJ4S@&8R$V^{PQ< z8Dn<1i8meDZ5{`EteIi~->G1Z!N62F@x`s(%D zB(SdkQ)5j3i3`zpjKG;LV7Q^sJf}z^O>;V~LZwPU)oj47?={aQ69Mls}HejrMO;#1@Xx&D^$w~v#^CenSU8bfjURP1I%PfsxZzfwvO^!R39USu(ToPEe0pfk=W_(tH!!UUr&s!ha zf?WDY0(?{wn!$`4Pj*{h_@HV%l~nC}{Tz|*XQ`X>_ij#S0=wkpJ1(8?=Wf31y?lLT zdXzj$=l=|rdo}*!yzzVa^Rn`Dz7#*6u7RO;joSen1f5d}(;UM%tg%kPp!GO1spNqC`FLyY_ruS7ouS5h1(5%i-q46sItE9wTl z90y%6KU~C!!Vu}Mo70MM{{%d@Q5>EZ7c2a+|46zv8J`>DorxQ{lFKn*bIb(LaPoI- ziWB@MdhB7&681ie!>&P5GFkgU`igbLOJ4e@=H+;IsQ-Mx9qJS`WIsYTX%75+{F*$^ zUQICb_i*{0nP04eR6S*GJ(qa(lpts9W?o%KDB0ztd|nZWXdQ=QZbZB>k~l7hMov{D zIz6V?ZluLRX%L=YRaeyN3_(6~eA&S9y)|oHJ~~w2LcFxPK}ZcNF~*lcNG%q?^peTw zS@}#^UR&OY?Ah%tO*91Ko(J+3SZyKdoRa|sdo)^8Lm2K3;eq?vJ_b99@O2yH<;maP z;3KTu>bdCYtOoPg2{f4cjaP^GoqTJjuTXWwvg=sucG?*Zka^X7OuGKoYD!c!RoT@% z=v71h;#Kp&cUJQ@$7}W6_TQ`#)p*r#&Fob({yVGrt*Yjc>}q0OHPNhU#ESi`gBqc# zxh%Vyi@j=2K{b$+sr#Vb0_J)4QSd@>MuKHP$*}nAF=m6HD9-Sf666STP-gF zhlm{vsYpux9RzdJe9Um-clAcr}Yn-SJec~ z`q6fYl%t*)!qU;WsyJvMhk+ahav1faMZ9f8uk4R+;N3M4&9uAi#P~eswvl5sr$K$( zEt06)9&k3t&lWiWlSr_*huz^tNE{ouNr9_}h#2k#HG-o2@gv`R40acO1W{x#ltF}c~R%~+bU=cf5&44R?(T~hA zq=qrQXMU8;J+Mj`<8jW&(zZNAdX-fIVC7XY4;Y>LC*)sE>}w43QZNw=7}4q{ke!Sf zi(7Wg`Uw~^q|-f3#*hj2m!Lp%+63XNIB|4L<1btk9ef}C&zLz~JL+xh=YBp8pRx3D zFUqLqKB2lOqxWv76_bm5f@#9b>?M4IUahzJOHmz2I-eIEJ&4z8=#}^Jd5V^pho^3Q zoYK)Qw8q-VIh?EE=rE`t5>=w$6v?#4zWZKDrurN?pCSv_?i5MIkt3^XBZp(jeQ5Ql zd69+iIw5=B1vo7hR`r$`$*ADT{Hf!CT4Bejk~v(SMdD(>8g30SiZM z_GX}5br^B2z(lLZ;l58iwT6JN`fAsy4|kvO{#)G&_`qXCf4&|ly$9*PM?F~GL#rND zY%d_W<5rUiz$D<2W+jNs^-Dzxle3OcxCG8hF+W*Qy|z#-D!^!mp)$=H#bk2~h?$lb z@ZhCbUnu-07u6d2qUpg=SgXM3Hq%Jp+=}xkvL1+UMh}$k=H`p6@~{;1X%C?mq;#t% zc{Ren2vt}=3gAWCbRg^mSKLBO4hSM;hS}j>8IjOm0V9;|W|DN=J<6s5NnFGEJ zl97_Iad{!cQ5ul71mvCn1tsLb4bY5NC?$_+p6 zdU%XEz6gf7+ds(5140*>!!9^84?JVWb*RS}b^!>JxAs&GjT{6Y41fHp3w-K+BvL#V zD!94iyvS)XN;Y{W5tTh_wSRjLUd75&8!3nRt)fXal4=k>C!AqKacYsmLvDm|l1NKq ze|8@g>%SpTn{jBsWio5*N=a&QW}+(5JJ6MD5#~?$1bHq^rfckjsOL~c?1_AwOH>=H z!pb#?K0}KdTd}0k6IdV2le`pI2ujGNnIA$c*#B6>We1`PEt`NVt9KS73(kX58r*=R z+8A8*R4w_L%7-2R31HKG7h}s^Bi+n)j25Rw%A?;X^#V&-0hA&}27;2F3;5K^|EYoBW10<5D~Zwyt-eDr558ly$6*OMz)1wu$*2&o102=!uOzR{BU z5SSY>M;4mb7wP7~@y+?ZX`^EUfMRE$3udTCd>4ZBk4974UA!+lz6IOmwXz4fa*zG<^d=FBh<~ZC=BPXUJ%?|DEEbr?%BZoC=ya)Y@pagK)sLSh2n;OPcu0oqXjN6=;^QaHMyZuz@ZR>DpA zCq@DqTP#5_G3TxJQS2J#976&$VuL{H2V=}+9e7AxyYEze8O*xoVT{n_PF8TSPr;~( zF3?wu<-&j955W$+ghKArp5fN>AGe;}fOv+UP#>;lcnE0Sm`_{ zgSn+PJCAL+uyS5U>+zi+<#REQ&RO^+^klED=S68NBEz(XF0ozLM2?1}0m(-W6VWrD zJ&EI=hi~{gV7M>(0VQ?dzdl&iq6|RctL=;7;DWv-$dFo8eWjMrP-^l#=MX%y_wTcI z??GpyptFip{T~^X%f~5I>2Fd!nf#6VqmrvLP9tXgk|%o9E@BGLpD`FO#_DrqTvC0HW+ za}p*74yHf@EpeBmWh8NlE|@JP*xW?2IWoUm>)IR{{{I%VquW= zh|6lAkhct?{PvdA{c6w`cS*ffq&9W%wmc=$VAzo@23OvGj!%@go!O$d%DN6%kP)`d zR$?_GOdv#T*!;OQau4XB~>m z*~C?NLF5&GDI`#m`M5buGUq-K-^qw&1px4+fQ|qo0^HcV!&zQmvfq?fs4yEEJtDth zE?LS4*+hO3l3ehT$Wy0b|8o;=z^&d()O-O0h?|q5Cc}SR)mY(-bC6WH#(wA{WEb`4 zB`N{Y$J6|l`!Hz~1K-1Eh}S3CT^Fj(c>GA`&*XM05LpN78?Ur;EcnqpfE%k7=WiZ8 z5~C&v7RkOg8IA0Vc=RWrghb=id7!MvJIihTFg-}Ywvz0*enUR4!FtLrBgzZYUnCr# zGYGH(KEm`JTRM|K)9!>G$cjvwBwe|9hm=@jp8{qSGG4-DcPo`k1-s*ebP+=0Uv8$( zlF8NE!^S#Js;8>nKRexJ$_eM1G#o_Uk&QZe0^ANPvJ_SnCrM6zOpN{HZUwhAh|U{C z4m!u;C-f_|(smA&nnfAvk5_a#SSsoem8-Nm^eUN)!p6T!upf%XmppaoYcwS4&><)j z!)=PmP3W7_gg#_1F$qVK9YZ7p@EiCM-v#BMiw6}<+y*x8(!l$8XPJ9p5&!|D6@<6k zblNXml=mdg)k(?fJcTS2Vx#ZpUG1I_o8lH+zfR`G@i60ny(>Bn6}c3Fk9iLF&%AyO zMKzv4vY&6#5tg1GGYsck+^sKdr>&51J5W^@NL&enpFo+iF ze-0f?JbuE?KD|ad>x`66ud(NL;~-j`LHvz=h!YKWBM44fX!3Qe>S$&3%ld~FyC}9G z7lB$URwz~~Lv|YPfUW(ei8$clwdeZp;mii_ip4tTo4pmrXo>#=TF#nMJr4c~=WEG+ z_{F|(lNP((QP6{K){!^?1}$+sSZ2lQ)WP%Y5nRO>7`EbHx%N=FR;g%W=xmYdXy8Jz zTUU>C^>VZ!9uMP-pCw(`CWe41Lqm}V*!UK(YkNKC(HzG`qSo*;&VK@d+GEHc`!a}i z1Z18y1lDx@a%b#^Jj7$kqZY&*#J@R!0-;M+nAG{#C4&H52&X7P~*!I_NFHB0JjT z@1id(#fw?ne_$>AW*V7jj!WB0v2W08sZrbCUP^j4-l5!8OlXV!NsLJgoj;>Y#!n&= z8Cm(k(kPN}L+w z5S@#F=pLP*jY2d{7*CTXRFB#A*4w0^*q38)OFQ5RCz8l`X<|0o@|w7rqfG zDGv1-(YwWOWbK;ju~CavSH3GvMlB2^^#C~5bDT!!zsRomoHWDrDRZ9z86%V7_8f3a zL*vM|!5;@T^a00F*7K3RKuz-3p|gn?UC!4`+UwfdDOy4H!8!m z5jc|$i%t*3zar!#r^C|Hv$kVWCscW<+HIrqvbO3qfbeCZ5?hrlT*w-vDw5{!T#uVU$YVtkTOn zl&n&p6JJsCT9sSw!saY|u>e&t2X%&_#L3Ty_UgH zdg4v++dR}7{84bP~B9D+Tc0XdP6XBK5tW`3+uR&;!P-O2KJK z@o%$kv~_k5V;uGq6r@e$0;FN*#=Y}_3j&jbfurE6te-W2*Th1(^4p_p*(wLk!oM@J zNNuQ+B&YhUbK&||G2;oXVJW;23Jr1JQkQds4tegz86~5Np=HcWI5GlZ@K%Eqi4SVO zR@I9L^2nH}y9Qdskm_G(bIxY@hGp;$yI!jAF;C(-NqOwN(P)?415!u5agw+-6aHMJ z6S~gbrF>Y(Zh$)npsKKSDP;2HNPtVr7bp<6ra))fF8IlH7m@2dq*tu2E=5Rf2#}2Y zg{s~w0Sb-nD#fJ77y80gsaqX50&}Lf*x@(G8!!JzEJbCm zVdpG>gGJs3aUmmRVd4tOw@LeT1pVZpk8O>Ekj;6~<9jT?{dTqNJe1%5hHp$>$E|k* z++d+Sc@|$q<{ZW>F#!%U-3sDYW#ROf=UgElxVeUpa0Er~0DoA@I3xL3nf)9oHvO$s zp%4q5hC+?g@x}^IzD<}*;<0oSN2GHXF}FYcA=IQ`bl#+eZ)jLu-^sUtERBp z%X8XL7hCC+9x}b6ohOjoIK}P3Kix`BPFHeox)OL3AhHi~$D1|OW7LhdyMU#s7GOEd zb1s*UUEGhG-t<1gJc`KfZu2YC$=#V;;U>SBPCkUmKXa2GPA5YVM5GlrIRIOsYPbiJ zHPrMcHfYV&*k4R2n?m*Tn>K5jFT(Mn&5)k0HQ&hw| z{KE2_IjGHDs*Q<6;IMZkFgoc&$!ALO-5ggoa9r=1mu8zpYDaN74p z-r;E?!uQu7v zVR_VR0w}=9Jp=eklwhI{60``)4Ta%jWI47F_9<~PZ3WJybCqZ1O07!EtD(NYQ;4@o zH-(V^O{;Sr@?pQdrqCSSi@O!Sz;FC2A2Ql0!z*@4eu;4ruY~-i?K&V==pq% zZrx8iiEcf~O-mYm%}KA%H*D z+iGJ>!E-L3ZMB3wf8M8l&U1f0=sq7-$xo=qQ*P?h>SvRBEaJmnL!7H0_mo+?NY00^ zL8XiN1xLh3V-VWoEfSWM0g%i8XVfmz@6%x+Y+maJLwT6Ph&SO23@fz{>c-_y>qc^d zj6KQH(CZ$wdyzGnDw#`dWHc9WkYQsZPFNENt%*uPEU#UFV~)ca3xNNgCagbKVGZnh z+H}{g%hyg+3dy8}b|UQh&x}Kq-g;X==WAPFw0ewHj|u8=0Uryq_8){E5VHywWRoJG zs>?yT+c(ZdM&SPhbSrCiY8S(s;VkaClRT_5%dSDZLXHT~`Rt)+h1M{HhoK6=qLaTz z7X0p99SQ(DBL3=N^x)VnT~PRSeo=N9+N-uND$)`|kQTOHAga*@(_=Ve0qnxM)@3Bz z7!T|K9YD3Iue~$cRs1ZpIbEeA{uX9B_yOmg8U;8JbzcDV>;R~+udy4uUKH&TyRjP>>M6{DC4;eGG``qZhv+yd z??y}5Xt$4C0@kw~wLz-F2XQ`5=Co8SiMI~1o54$55|ZsjEI8&%9c5C7yd#z}QrRY; z;)@*Q<_FLRRz!O6@lGwWcFfsXF98p!M+x>k*hxd``!Rq zFCeFjZ|n=w-ir}rp`&6Jo~w$-80-@vPC%u<_y#smpt!&V!UcMXxh{GPI6z;z? zknATx(lHl#JP)(nZX3pK#`s&wkFd1>li3~^7ecHR9AzibFgnZBHf}cMwUL43W%ZN7 z!VaJo%ot5I)VvU}+CG{pAJ8;x>`=>03y8cI7C)-6cwWaZ#^n#%cR~pT9qzi7W}#+s z&LxrK<5h(-N`j_uWW9e*$hR|qgE#5*W1!F|PzSZlDA{#C1%oql*mZ{gm;nT`_m@hE z)GPFF3l*jQkonGQLQ=o7|2~uuBK&yd%J?8_?BIA9d?}_o*Y+6gL<{Lc`4}Vx@n$stFQt{a&4^6!Tgf zYsqySJrD<%rMu77=A3{1&idFtRUaGtmI{A~3Nzz}|5|+Ggq)ty8w(LRr{d_HZa{p| zPXdGyW@JtPm)}Ylt+OVKG*XM=$B=rF%b@DP4183keq&j@rBL_T21nSRr}<8>9|pS9 zz1+7DL4c>fC&p}kv=FhFo*u{*g*F}*7at|wX}mxvpG6ZUPFjctKCu5E>X7xeA_lVDB$N;j(qlUs2CsT`}N2bQGeyHUIxcn;KTxjqh+0S4@LhK?4 zj1Px^X1Q7h1AQM>L;E!F7I?IWeILhnojM&iFmNO&VDa!7;f9z+h^L(GxYPq& zW@@~j4el`B!C)_#MUEG9Nlv4`eG>MAoU}v%`o&!WV+W?7S9-n?uw$=zm|L^2^Kc;~0Bi_Z z!z2MCC~U`hILebpAXlO1rb3zd3_TypMziVpQgSJnrh(tUhHs%~+&e|2j=;pe#V$D$ zRphX(u(36ICMIWe+BT}D=b<4Tr-%IxG4zSYVHN)T*?#VE*kv-iIOFOO|l7`3z9JG)a zn$C;wDZzoI7fSG|YjrjaOFnkeha*3T9foqoRbGKy`wO%YOAGrce?oqo{S_7XW~e++P4YdDNy3wq#{8XMN0R-b>|?9am@^1}Ss?vc7RWKZ;1 ztzksFbv8^*U1oIG8dm7_W9I|r8`?jpXab1-$q_1+*eMon(d>1*4 zxp>x1cc6thmu1r5cGG#T)d{=la!w!P6Kyt)KX+9#G6s+*dY}w^@;ssvP6=(Y3qEaMsprKV_!wJ zL@Tj8_7&Vw-o+;@M`K@I677LTKZc_K8>LlRZ9(!z^;2a)V@r>CnkMwrF__1AbKkjL z^yV-9@y))tjVayW<91!58?zd38*TA*T6|aMS#QOg$ItDOdeh_QXyaFI8`sO4bd{o; zj)s>JtS8Ixl2!h9JyjnoRQc2*>IbOzi7#YV!#=`If7DGs+-=XtF;Vw*P86h$;T7f5 z^Wh^il=;9t>HI_s{PU8h)BD)4L=!9cfY8x`TkZeA1g=wwa%!Zy1gpc>Rbr}nky8vf zCAZHy%GhP>EdNxEld!5^R<*b_*rTX#^waVkf(zxl;i!r!)axe&kUEY```3bC$dC38^;9Ly0!(YTUUT@w~w4*r|L!H6babX-|QNES8M328yfb9Y}Ih`0b zUKia#`M(j3QilS;qBoF-ziy9%^#nu@Ys3YmSnd77wM1MClDHUhvw`3#E$TyV^n}m( zEoK;oh!v<{kXu0yw}R9QNGx*`+qq+C4e{e@DMZg;NQ8!S@;L>4uovNMMlHr`&f&mj zJf0C8%Cl3a=d5SF^Fgu>-HWwCnntb>#ek7gzqD>#29OV%aXwJtIp9l;*3cfRuYOwD z9AqBn21}2Y6{>E{@(C^QY}51sAVu@)(h_Q*xV0Sdqnd8)fp7~j4xSJ8n9&!&qyZwD zY!!&Kigz;gQ|&`%hP!4e2NxE=55yRp&(R$1(>TLU`>05b$~-9top6nv&vtqEa|tp6lsF{(B70~>rND>enpWkp zZ{>@IjsnZSQ2qHMD^BxYw|@F}IJe`AD_6qSboTRkkv;I|bIV>NIY6)JIfkN}p5|Zo z&jBior|b~f?(uk`OHo(RMAz80s1MaIzDmF#=d)FO_AGc`LX9H>@BbhQ0mt2iMYG|( z@guUmHTI`)i6y+BQ_M60e!+fLzBpbQ!G(4{`&Hx-SE4@v>$HY(h~L!bZOC=4p#{9A zmQ3wt6xSN+KugVD5_j1-;A2AZjXs`4v--SyJu3y7TZ8}11D*GxE%KZAhVi&4&k9K5 z14xWJ<2x_42Je_Vw)B|l!?ig_k}>hfXD|s((-u>mz_apHgr(p(%F)O4{NTd9{JN@7 zaKa4buoHY(R!^4!Cy+D}p>Ny3Rny&l8tJNAv#$a1TZ3O@4?jR>(69K0GtfaK%)XT0 z0`l!&($O=VbC86lRevHQ6(#&0KEX}|UtIZnk(+)y(=W)R-;2Eg_Ww$z2Q%rFZvL~G z-aC_iu$x}R^d4?HlyE?OTwYNGzA_Z$7`D{95YsL!P4&+TEUQ=o2g9L@o%?}XX?R(K z5m(G;ZC>x^$CVCan!5dd`)bv{C2;6{7Sj*LESr&6vgUi-eD=$g9dKCAmk@_9Q51DN zHn%xU1d(e`4a>sUe^Y_5DsP@x0E)v>Z;gEsvZxH}`EwpKWDt6tdzTqFQ3jzOcb-+v zbRMUAdnCTXUHa%tfZAGOjkFOdJ=%jy7#6}p`yrr=(p?zQ#XhhiW50II2rz%adnJxh z1BakYCsssmitQd1xouWmZ1;_kve@pMWZt!;Y>`=&uLx;wvHu9;J!A~n8y)u-Vt`+S zm0or`zaW)g@kPxGw1w!1*e$**qOiPG{y|m36_R}pvO}T3@q{^$ZBJy@GuJQ^1Ru4b zKCBalx|PUc$-J=v`Zl@sd-f@sMj$1!{FZ5m10#oufpu);LjugTA|zuF@0`kaC3^aq*$BQO29bb6TSuXyQQ)9LRbTNI{gXeFZI&t!ms+% zJQ?ZTyz~+2^jnz!a~vTcB09fFr_W^iyI%T{>Gbo5VZ4jH^n!Hy3C#bfm(FuJs$Grg z_ju`Vq|-~8eyf*GsiX2A$@I&-bb5EG^ruH5J?y2M>GTa#klxQrpO#La&iuW+^oi;8 zLx-dPelLB9N{1l>@_M>2?hK9XI&{XNYRl)1wg2?Z>x$Dxj4@<4DIKC13sRsRaj|g| z(Q=iu2VY#gB_Uds_7(m-i2|iHoa>A2zCugvK@D6COo5*`>j6n4-=&u!-;vSKAt1WSR087Krstoj1%e4fLnCa#4zk#h`3-k&5aMjW05W&SIk)G%%y@kwv zrID^dZt`xisVo7&>Mk>Zog)tQR!E8Y2*-{d$ZED!-%DBUy>A^PA}<34T?|qiSV)S=!%sq zJC!o1v=p->%F1|(1d5=MN;X7P2kdtE`ln8m@}gI5vE@FIu*06NsdOsj~M5FT#lk8s;QPnCV`a*#zQrddPsogfnJGl)P?^aiI9 z`(ruYyvm_pn@m-!-2$Z=nI>nNZbByKSs<^%JbNqW+p6r22BgeF`vEyQP+clq#YOo~ zi1KBsUi%tV>A{&wuVSTxFy;2`K)-p}@=D3zo6(AEYqbF^$YPwRs6H<;j_zAYq*PCc zOyac5Iccq-pt=s{J5UHmG!k#}`-sR*48-s$--qMMN7iChwxD0^HVD{W57*_?6`Thu z-CV6i#wkpA1z+&KEjvC*5TO!{Y;i1aBSe4FL)s+CsI=w^;)#O2CxGK6JY+XgJa-wR%J_b2p zF@R@9%Aw=0;-l|pwg0t^I&P6qs(+|~{OezC4e#MQZ4Rt~q152J7u$0G0X?V-{Xr-Mt5V*928B6Tnx*5}uNW-Q?iXvwXckGb4lYKce=h#LN zwHTMz#1~C*H84+KM6aJF;+*c{1MFxxDT?*Fzz(E3j?;UJH^0J=alZwNa6iFL9pAzJ z5u&5Y4)&&7{a_n+Rp8E#s7C?hN1DX}AVcY$~QInjL z>#HS{o<6NWjt0?frvk&n++J|8pX(2%toc~2x<_M`sJ!AIg#_cxEG2N4C%@U`=Mh(2 z$lMPfBv-YrCC=h?3aeEU=`$D6{MPymn&J(+;!71an)LEj zVa!3|RCeL%D<-SIkU6Tb&Tv9IHigUsL(RL+GF~fh)th(chs&3Sj5iSpxN5OhyE0I< z^2W2n))05fIp6KzEZB+E64zo1*paZYP<13R11ac1dXnx0^g>1x!%8P_z&CdTCy%@S z2&^%zF!lcg&LL}RzO3;GV+cYPN-ZJ(Jo8cv>KXd6gYj}uZ(v3F3hY&1V{Uot+S3RZK@2|-P4vfi@uPlU*G9goS1n<`%L#q;{TTVqk1%aD z>s7Q@-_u0V(Tka^GrO`)sZfpiD3zR_n=FSx(4Br0Krd=vm7^#IigHTL@r8O@Gk^{X zT!zCR+ zparZ(frWN4PEWfs20w%Jwry{PY6W>xLJ1@BQ^@FP=AgD+4UpP@Jqp_PX?Sz-7vtm* zN1%G-bBg5)=knwWvga~#Jd%#dNy5}i404P-fe#MPtK&T%@2s&iyGIoNmC}YC*hHEB z=~_4a29>_XO@G@G|-cMSD2@r9N9TfxuAi7zBKCcjY*czz|tsS7>% zA}1c|46I@pf7M-m^$>W<^)qVu#r<`J%)bsQ8ulo*`>zKd_Y;L-3#WGG!%iio!zt`4 zZl{E0$`xD}P{EYLMbUd8Nqo}}LPUU-m@XH;!6=mvLRZEUT$9lkP=)Nk-sCTs+K^!2SlK9Zjd%`)T}Pr8EAPfaJdyL zK}dt!@ddjThf6e&v?c(2z=7B8-+^f`oZ8n=wKqp_7a81jk6wjclQrP#dx%$4*We?a z&|B?F0z!J;m6D(}VC)Q(FUIC_K&#yvsM?{;<<1cxH`_Inef~a)MeKP7jbT>ho39}Q zLm9N%Z{Z_Ds+TCNu6hf{hs$?k+XkCHXnBo2Suj4Wy1ex>rQ>{y>H>ioErU(&@Vv;e zaQ+bRF5zZEq0w5t5@JfLeJxP+sy25Ard>{raW4=+JPbH+)ukC6NPY!Q!dZozs5bj; zA_>%pj1a|v5H0x?llPXR=Ai;dT$qqp%pB#o>j6DTE(zB=+I&opb0r#`7q)7A6_h}7 z*ke?r+f)PlY9^NDL8zFeUM0F3Z1V}h`(_XCq0LA} zAQLLYxR*lIbYRlyf=RPZRU{8wdS^9}4UDrDb(;Rt)L|Sy)!diuS;aCG@Monj6{q#3 z=y8~1+$;^m{fF#VNRvmu%er9GU~8#)_9?IiXLMWE>x?)$N1t_4Xd=s>R%35$-H+%JTPd?=P`?;6$Cfi0&+}Bx~r$_H!r;lEXn~d+OmJ zGb}=<;5l(p&{zvs8+W~Y`^NsHZ?n%+SLXOzCQ5lX6jky~k>0v_r~CvEJug)o2SPcQ zw=ZJ(^wOaw&%PUtU@>HNIv+Lipf%he8-XJ;&VxDOp~KJbc*#qH8SBjACMz; z_~d!D=H(oRy$Cr#sXvdNqT_@Jrn&wo4iFaIHjb(i6GIldOgH-Y(13HXh`Smb0YBcE zG7j$Ym*>InZk=x3Q#y|wG+LD>+Ep?k$rV|n?q^0%6uZpO-rW@B;r>*cRCuPv(B ziQKKoy`fXZHpm%dYTjH>@tW~z`PTAn&Fi{I-lfg9Re#d~`&FR-GuBlt3mD5Hz4rRFXWGZAWV9994>q#Q z9tZ1HZ_UX64Cf0sf)jW8+kg83itvf(`4`ZUqDm8sIQyKEZIC}bxigZr->mk(J&#Lu ze@K~r@^}#VMJ0%hQXDjAOhFLwLqb;XclD|-wL8uyVm5z(YX#rX<_y6Pc+^h7+-r%; z<;Tp?a?ucQqkWkqQ&NR+hCXCWDnW1tWba#RM5lzxYs(O=qA#J8>gmA?=9@yj>OF0C z8zUlC$+7W0UmlrT+qA!&?1{S~?0`Wie=1=^(Z->!pj`y3Rx&_U{L)zoZ z^yUpEC~II0A-dVPUjmo>Szg+H>JABk?aH``voy)@OW&U;V<82EDKrPnspOC zLru|l!$yTSj5$?6O^jG4aa;@Ux%OqsG7aDQtc4-$k|o;gCm}2Bmnj;oo|m1=F}7l@ zhSO|juY3>4N$y^Y*AJOU`?wl{ILR$Q@FHvhWmSqhC@)rxLDJs^&9+;}oH-hX()JZ# z&)t|mD>n`wq2F>a(;jwcdjE{~9b})M!f&9*u)ZFB1;&Tc#)B|Uw_)W6M1&;({`IoE z|0Ps%jOQNcDd2f(Jf5rwn!WR%oeEgCzlmYcvEY~PB~|nUa1)0XM+Q@l)EU>7)Ebkg z)ER?9#)YFp#FB-SC3?F% zo{+IJFs=?~e8!IBsML_?tk7Ex=cTb&lP`2f!x0GA3Yw+)0k_*PMe1dmIOl3~wZ)Nu z2u1{;03uGpNM`2M8Bz59ni>#@Hv%AwjKIzsL7Jbq<2VqDm2Vsbdm1*n0b0#=UouKm zl{has)TqKO-y5dMB4DdH1zRbdqb@fYm>GQRl3Ym^rOfxY_?Y`-o z0vK2kJRF#QlO4je3iTYtAum%uA$9>*1)uh{)B~7)F^TMi5ENYuX*2WUO?^OtiIaf( zH0H7Zn)2eXanu=|LfOIG5uo>B^SY9-IiomoM$kyHqo>LMdbjR#|8M`AXZWUH_+kub zVsGSnrhXZy#Of3~2YMKIxL)78C_T){>~*mkDA{V{8X1PmQ#mS7GI%L$SOKVhQ+S*J z`qXf%$0pPd-$(FDdngDv1PxD^D_=yD_wb1$PQ&Zo5ES=fX`_8v%5YiB7ES_?5>2J< z&h{^cyfEGZb}Tv@^o&!KSf}A=aV?L9$r+fSEFFu@@l)c%`uiY2N;tx>uf-hfH-~pK zaih-TFX_#8NqH;y^H!eCf5X-uZ!2GDtO}dmTI+Zr!vYK>glM;61D7|Q2LCah^udg8 zZy#5Ph!k`d(vo*0lR0im7_5P{c+Id4+_x0pl5dWyW@EM1bztRoNuazfuzX9v*A{qV zOHg~fy|(=8pf3fdJ7blBoK=fvbPAS#$X-;V7wr*Fpe7) zhnm;<>wL=t=Jo!78R`}=eF07lK=Xy(yt$-&$MP+{J#TE*9^YF2SqPXOFjj|}KP(t& zl^z`ig25W;?kP@0E2PlKFSrdEXdf?gfgD=$eawY)0D5{c%=D}$-L7iWya|?+ZE>68 z_3K)Cfl<8fhU&BXjSZ05f$}#4=6He^fJGky#`x-R)q68Km8bA)q}A^|v;j2tpYERH zs+7JQlj)0=q+c*AVe`E0k#J9b6xM=kQ~z-FE_4w0HY)3}n4O45q4;%ufoy9--Wlw) z}oi&OmA=xiGV!x&=(Xj|8qr*c@YLO4Au8u znCgo8Q2OI^(A7ZSbQ~APo)Gk;H=&n(L{d}W%;@JXa3Fh?UW1T;;8<&+-8N4@K#%V# znb94^U?*8K(TP!>f}}vN{Yvc?@j2ozP(wP;1s&jF4(ksP9|5G?rfVlH=D(J0+J()Y z{xn$|-;^z%v)8LQG?XXnQLasMm!q~?j@IPWY;P+-yb)Nlo_Xe`GaiWV=^8LTgV|*E zv6xSk$N7X&o$zni0r)rGAHYH;(7dj&*4NC$18aTDnO=zW;#%KgypQS}RNuNVAM?9; zyQ;j0XJz$42WB<-nXFPpL9K5Yl2~J)9F)Dde0k8UJ9Gn7s|_l{PZb49l%d~>BLWb z@yq`LX4s0K`OLr4?0KS_rre5`>9G@}lobB{S(fdEd{b-Cu;fP&7aRl~??b%u zU8f?jHQd!(=wF{$65WgvS^Na_hNbz+I_}TxRJQ54kpmDNU_hidOh(`Uh_+a3IG7{}vk>S|^#eqd4^R92)Kcco@L%UDGK4fb%^UNq+=2xy>Gq99MKpx0 z&)RNHlolcli}jvhd*IFJH~f^^?8*EIYY)Gstv%7sF!QjEi3{zXg

=9>ISlvL<{j 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

cI=KrXS$O3YbS>zK1_E?XVjJhpna z^VxWFZP{BLb5`~AP=h^n*i(x=_1IIBJ$2bro4r-vqtkEG`?=Z1R%`x~AgMOjYCqQ! z;D4{vMoVI@r7_nM;Xm(_GX8I3jjRurN}Z)rXQ|X#Ds`4hou$H83A&x7GS5<(hsy1G zRP3!Zf~3)7j~si{*dxXsE%r#UM~S_RN?^5?QAy5fFQby2r64Z=O3u=dQAy5Hkx`N3 zf5+3XRAf|Qv{YnNlCxA~RFbn)>MRu*6-F7AsYk`$N+U=bJ@&}4M~yvV?9pP66nm7| z%culaYZ;Z~toAZ0$yo|AD#=+IGAhYgDl#f^GAea1oy)^b3R8JhbvsChua(>zVRm zro5pkuVu;3uc+YA)h{A}%Py!AJygN^r1P#3k8q9(h!wR%5S?|B+1YIGZk*)BU7eWwhy-^1Ib{cn@q+*-Y#tM@$f6ji;i*ZcEjFRJ~b+Apg8qS~*W z6V-lE?YC4(Fl}hcjtS|P#e<;inDTy>O}lwE4cOD7J*d+`Ne9~c`PdW+Eau}@IOGW3 z9^$wD<}@`sR<`qr#_t&L^9o{TPmg}l<|bYc>IwDpnTZ#J*jwo!Us=&kUg6~zVo8{M zMB}O%;_E7T+|Y+M=*_a-%C>b{%%V5T_AGguNE-1Xj&7SJPl$9jOYxdYOS5ePSuS1d zxUJ9YxUE-q?QCtG>}2beUAyes*g|5FT~HFT3$QJf;(+XydL6uK)hD}Nz2_3q8E)f~ zo%{hivFbhV9Ew?X1Q4s<2X#{K`K{s3FmIu<=S53N>t_fpazAY4|b*jIzU}ILhM6r zMi(oU9S!C*>2`CPa^pi7v-OY#zpOrWLY~8L=Mchu_N?l zqr)w{M8`62;YBds5NmNVUp&_dZQa&&jd`M}_H=?)H=j)1(}C**Csu)LP%FZgwWYJOjD5x+y1+t!o! z7T9uS#isn;ppVV_F@CR&Z7=DqY;pSE#8ye#!8Sk2@8q$i*yMKwW7J*C79{T`@BTQy zqeuM|zu)J>)+%|*W27UL$ES=>#;~a%U+i%mPfvbVF@%2}{A_sSSylCzwMlwByHyQ6 ztG1Aq?YitX^ND9w6LqIC-xWH#wmZXZT8dr&8ZjJ{FJ@e)<}7nK6b#}$JvIk zZDxC+^5eDn@7kn~hOct0Y_}-sJz3jPY&GP?md@HFU5u@2N`E;$={L76IZpZ1dg7OC zIbU;S|6LB!pKQ%P;CH&eZ&A{%*>q-#t$AviI#TbSu~pKK_qW#OgR;Fo`K+4rOaAs3 z=~^h;Vm7hKws#NLmMLwf)@!9)>Wjt;ZPHe@7b+LK^f9%c!n)Gu)J@90Q+$$f)E|0Q zeRbkl^?_%(RHbuU{T+n30HFY~Or^YF9kEVe&TzlE*f^6xk?_e08Yg5!i- zR>&`K&v^NiAKIQU^=HP*XUMOBmwrkSC`F(Yfl>rY5pc-g6q)+-5Pv75m_LR3U$j|& ztIhfk+pPbH&H9hptUqM4{$oYfFXmb=X_X>Sia;p>r3k!qB2ajL@_3Q2FNOL~*sLG7 zS^rBm>wnp1{jb=pzs+X-CyT8A(m7H~o|Ym|ia;p>r3jQFP>Mh)0;LF)B2bFJzj_1; zKmR^e`uy^oDJzW6(?yO?p+0|xy{JEh`d_tK|7$kuf8A#N9X9KK!)E<&+N}RAoAnbm z>wnv3{qNYU|6QB)ciOD~J)8BvZ?panY}Vgpv;Gfl)_=xk{U6z^zuRX0AKR?|6Pxva zYO{XQX8oVptp9VH^?y-h{lfndV@^@;KKZ|k3iM7d$p53+Lj5!TQNe=th4;^?BFDc_ z|4%mS|GCKe1>q`swlF?_DYE~C`e~c>_uH<x9*CPv}2cuyB4yiX5Lp{m~-p|C7U2 z>aG-lQUpp7C`F(Yfl>rY5hz8V6oFC%N)aeUpcH{p1WFMoMW7UcQUpp7C`F(Yfl>rY z5%{|iDExk8>?QX7NTL4+itK-({z04d$BV50cNajZLMZ~J2>i=Npz!=NQRMSOq5dJ8 z^$**upRrm0h|T(wMb@`_VHd8SXN&BAq5e^u_5W(K{@-lYS2pWE?}fpCaDf%h@3g`f z28*m;X0!fuoAt|W)_Rb>6YyTJaz3We+E z4Mq09Q2&iK>%Yln{VJRF-)yt~$u{f1rO5jK;PU>v%?sCO^-IkEzdOKx@d}0UKcy7^ zfAJanzvW)x`aHGB>$6b*G@JEj7g_(Mz8VVSKc~p?DbzpRX8kj4)_2>if2Pg)XW6WO zc9He%KE4XqXHAj)FVsKBX8m(*)<4f?{aTy#=i01aXS4o1oAv8$)<557{R?c?f2+;< z9-H;wX0!fD6+oY_a}Di7v7&NEOLAb^)I$r zztLv>OKjG^)MoufHtTzB*1ybV{mX6EzrtqyCY$xIv|0ZuoAs}@S-;t4{cCL2zqZKw z|Lp76;v)NBc>QXzS^qkl^{=;C{|1}&eMQ!{dwrJlUpxYZ$JdQTp5H?Kn{3v9m(BW1 zimd0xuqc!t+C0k&mxJ z{dSx6JBqCT;?XOWmLgD!Kq&&H2)s}P3eW%kBA=fN^*e3W@3L8csm=O^&HCLo>)&Rx z{xX~O12*gT*sR}MWc?R9ZNvYwOhY%es3>wd)&Cs z{=03~e~-=jYi-tlug&^*+N^(<&HC$X)_;<{-DkJ_t~s}zs>p|v{`?Bk@f99Ka})eJOYL1w+|J0ehc+KY_tAHY}Vgk zv;M!?tp8D)^*?5_e$;0DkK3&OfX(`!uvvd&k@a8v>{KeXI|7C0=l}N-o8Llr-9-*q zq5hdg)-R0zX9_zka(~5^EA;=fMfSf?KW4N3=WN#he3A8wJ)b4LQUpp7C`F(Yfl>rY z5hz8V6oFC%N)aeUpcH{p1WFMoMW7UcQUr<_fx_o|UnuhPu|oYVMbLO7 z_PweXPjyTd4oI&H7K+tRJ^o|4TOOf7xdJuh^`=t;qVe9avf6!u9`Tk^L{!f68Y4 zr)}2XZnOSZZPx#q&H7(2vi?7N{qHEU|Ap)S8#e2Iv&i~($G@asia;p>r3jQF@UIzx z!t2+!ihO-3)KA!~|81M~zf)xWf6Z0#U-znTe!pAf_!R2zEVBN8eWd@IH4EeOy&}h_ zQ2+Zy*8kUxYRRio1WFP3zYu}K^V<)Ke10p`-&JJ&m--wP#^;Acj!&WfGdAo0$Y%ZB zMb>|*ub-0tr3jQFP>R6+R0ImIFF!8w`MFU4Cq>r(pNdrY5hz8V6oFC%N)aeUpcH{p1WFMoMW7UcQUpp7 zC`F(Yfl>rY5hz8V6oFC%N)aeUpcH{p1WFMoMW7UcQUpp7C`F(Yfl>rY5hz8V6oFC% zN)aeUAQypY{N&P(X%5LA?*tI3cd~sgEvb<3HeEs7m zw2HKq;{OhF{k|}>@y!LSpkkq01;u|iE9yDlrE)Hv(>=aGZqBDoJE_I!tnTUy1o~EX z_b#pOp69vXJkxW*ITzGdhk~6Q-Cf-s)&A~KTPW1o(;n#TukH(myZd@W)ouNq)uDl4 zu&+Pd=|`czdLYz!(#r0zQ5{C|oGYtCWIBv$ch5i|+#L*b=9`9$zJY+hx*dVeU|WBi z2(;f`-O<<6(-u1O!jr`3>guc))$-GL%!BIg-s%hL+q=WnJ$?R8UDv8FuItLruRpKu zc=bKC`3430b1yhf{kCv8Cold418ukCODNnw&>;~KzZSHd-clX9y*J!u<{YcW9_|ce zTfRWM%XF3JG_0VW z&w@~Bpr3RQ=?S52J{G0&@ePJL@0UZnoq>Bd^y05Fcy>Fn` zA3FCW$Fw(1fBR0a!{K^4n=h?gmpL2>e_EA4;c)yA2ICIL@8GPjI2>uX9ZtaJZ4SrZ zVE8GAr$SHdG{>V|X|)Spwk)kSu9@a|3VI%x=I{j4YOvSgi1wyciayQ0 zw3<(UG3bM-&k=xU18%(ZBE9Vu|hgHzC zn*Ly9OE=t-~Mad|z5Qt|Sg{7L33~7=M3St%uG? zT5S~$;@4I9{lTTZ!3O76INbBf6xt+4-|${I&a)0iCbguOgC%yJ6~N>fMY^^?ntG zNf?9fQ}(Mp&OB00-n#wD-G==F{Dof6ezgOdZ^I9q{VEFG*D$XJenJBp*P;hKEyS;z{$V3@-N1Z91MU#}jre~X_1=XZblr>{`fk~; z9Lwkjx?l=6!`Q9NAI!iwbha{&(A&;D2JjCyzOVxLC*^O<~*8QxnDKGsL4FT%gf+=!WZ|4{nCeHOv<@ zpfgDM9khc6Y=$QE!#G?E6L14`z8im`8}5c4n1Wt-6#8K0a&+KqXhIK+z$Tc4CUm`r z@k1X>NI4vZap>x2yl_5rt!3Vz2S#8LCZYLW<|l;xPU=D5J;YsjFMh!IAnQ3yy$`WI zpz&ei3SA##T?}B4vi@N50p?`|<)5G*n1K=K-AFqafe9GG@tgx=3!hsn?4 zhe`S8=ntmgT4+4FU+t1SJPM_#yPEiamGQy^3_#b{SWhqtH$nF|i6itRnZGr(gC<`X zjKOBf|DO8qMh^}`?;p^GJ~#von1B(u2S(v2%)s*Zpz}x0H_)A8z9kQX(Df(QpXA|I z=>0SCfk`+DJ%7QUwdlbbn1NpCO>-WF&SBOaOu)U8AEm$dq6g>06f~e~jJQD$Tn`Nx zgK@YEdJoX(_XO)3MxpaAbPsWSK=UxiBTQyE-@wcf{DI!1 ztoL=4|CRGOO#Y2^3O&_cY z#a=P28s3lYtA|wt8ncE~2F71MtiloceZ#QY2i+%A?;i5dgsHa-t08Ds538Lpati(2 zOS{vCl>xo8ht(#Sgganl&ag_u)S2jf0M4U7nDA0QNSrRC{eAd-`LGH=*A=vfNw^J0 zuN+p@_oI8&uxf(F)%XEZ&GZjF*A6T12kB?=u!_Mb+y>)t7tFwY(AmQHpzAu~wH|%A z7G|y=R(oLThGA9vA^Pz#4j6?Sp>fl&8inS&hLz{T_znFq2~C)SgV1v`I?%X<@{iyT zG+`VL!UWs|lW+)TU;?^sr5*G^=LY(LRnXOnpOS~IFa-x;ybXWE-cJ30BYqvjsu8AO z5W4;N4ZUzH^uZm_fJtb=G>k*%NAU|*!3?a0zRqFQ3=Qaqt}fyVBQPQMrPTizIU;;+q9vFk8FagUyPJ8Hr&Sk@@2D;&V=!GrNfCh}fH82L(!vx$6Q!oxQa3^#I zhSgrl!^Q`g|6bM;boMb`=z>YH!!-0k$0z6q&Vmu>hEdo6@(&W z$9WA#zE6B&l>dPCF!BugF!@uC)6Y@=An}1oxC=%nIF3J09@azmQQ`y>aFgW!N`2^s zJE2qI-xui5F`{mWI84Ib&|NX2($IkAUu2xH3T9wE zbiZ;$wLl+S10!%VjKdw!SvjKiKrb8@`>SZbm40D8biaB;H9->^Fft22U;@Ua{B`&Z z4VZx`IQwDhy?#WsLaz(|Ve*Y5Y8Q0BX+(`e6IMQg4y=W)su9%;eb9hWxE3a1RLb8x zqP9X4?uH4NhS8Hpl>1TQ^A^SlO&EZ&>Jha8CQiXWn1bUldg_RpHAFdd!xU_Q8Q2V+ zr!k+<1x*-%gHjGRLHBIN4U==wg^AOd=f`Mw#)zthh8sN?Ka=@|?z2YJMi_xxVFvDi zp0h_(62{>uOq_%NkJImY^aH)MBg*vz@tBJr!V8EmOun6X#;M;hqK?AIJD8s@q4!SW z1if$z^ug^g3U|XK9EBNJ{$>2V2z_Y4W|){yyrFj?arp{*7c&m%Zlt~N65_IrdN2Yb zm$7c3>k8^UNjYqW9_WW&XhI(xga+IMBUjP>DaL&@#}Q1xy)X&Kp}UzlK21AV4Hk*Z4dXBh6L1Sm!tF2xcSBz*>v;!u*aXdX#x3j^Q7LHn(fbBE zox~Yt;AUtVj2n6bBdYP6=)*P8)x&y$2HXdeu4V2Mrh%`#R!~ zpr7|~Ji+MQBWk_mVFG$190%V<56*|)dqz|k8ut<}82bS0P4a{2d{y1@h8MqzBA0Qsk_lXfz z^F93A$a;b1Cy6uk{wM4A`;SJ)2ss+h3jD)ZkGIKSYOcdAaVNv?O-#E!-()9 z&Py-__d)L$8OJXCg$*zRebBj;^9ppqwb1h@^9ob2{)fb4i1h=Vj}aH>hTEa*3G|-9 zKiB|M(17tT(;xJGg?RjkcH1b2z9*S?Xgr1AF!MC)VmI}_!SM!N-{ScEG5X(SoG=Cx zFuIF%{1g2DA@LSIL%d)Tx_(N(KjM50BfD9@(EVf1KhTpzFG;_!0Y-jCIn2PLF#2=a z{S1G8g&juWZkT{6n1n~6``76F96zBKy7!K#CC~$d&l)|r&U6imXSFa<03FfKS7I`^?Yp$j%a zH*AFl9F+X;(SZrL3p)RR9`r)TFR{bf(DxVmhfz2P<7w8Nl*2f5?&mxQy>Ks#!Exvs z=DP7K`hnHZ2kT*U1Ra=yLsCAz-`b6cS94VVHB4C z0Xzl6x;$ca65FqiFtqtn1Ze<=HV~!&7*2QG~g2GJDGMcbqf8%_^G4HmBxM={lWxn zf!;Zc6B=+Qbe@jhe*A#*q3euM6@+d#>j7q968g@h-Z1*G20G714@O`RCSgSEHO!af z;Zf*2hxr(xKiB|cuo-5~Wu1uqJjMwlaJQ7h6!g}Ps@bFH%tarXb@&4#^EeJ+3Z|f^ z9>2!Wfz{A?KJkP;xB+J1UYNRowHbPH4VuR5=f#5367l*1{NUgbC<_ zo(s{Ha=2IQFazUnXI{t2H?S^X5^jJg7=szO9h&c8T}+_!PT~L~FaX^bQ6EO<6K^SB z!0|8Tu;vi)xR~<{^uZ<2fI(=&bua>>(ACIs0^OHzTpXrfI2%S5u|8k|CSek$q05Uu z8Tx~67`u#lg_$Pe4c%7}XXv~dog?_+qhDyei}64c?uHSV68jR4!%6gR;W&c^9E2v^ z1XHc_FZMR#2IH{iS^8-w9?Kn1WsyF^Qj)!yxqB&ip_h+yPCv7e?SXOs!%a{Ehr-j#rq3YoT{7{X+A- z9A}ES!CIJvUg)`#al-`M3|)7l2fgpdAKqVbMOaVJdk^PHXu@4E2}gw=;CP%ijqib( z59o#l^ujgJfa_rtZiaCfhY7e7X5e1vxu5l1HjVF*@gGLk6JO~4FvqFnVFJeC9_acA z$H8>^-9VgR^a0`neV@jEXhLT>{yfOKg}#T-f$^=(KTJZ$%jh4vpzC4c0zJ?ReXtdp z(1gxMh`ZQ_Sbrywe~j@$FI)p-kJG>8pI|)D2ghL?I!~O&eI(<9(KzvhzOOJon1pc{ z+lF5-0n44}KZ#$^18am&;|Fwqm3e@v@378aj@}{G2TZ|1=z7_hNP!Bf13^bs-c1&%62HXx^bH~(Cn4CAJnkpFog=1NT$31_|< zJy;E$H;$=#=!RbCg-c)pZjk&fV`?vq!g1)kbxb*5LqDx!stU&766kKDJ~ZKWn1E>* z=@?V)S@a7VVARjJpr><84Z>I#+Ub54wbo1F8o4-grQn z(0tPYH3(C1GmKOnP}^Y??uM>6A5e}{m|s{0P3VE1lMkpRl7Gtq6@w}F0W}We^#@er zsf-J@!W0a{`1uD^MC@=QbY5^kZI%3652&Ni<2j&aorYh~4KuI>Ixjq+c0e~wiv8{Q zF`IEW98k^Bgnk%%2YN7d(E*i)@%i{Y2mco^Ug*5|fLa5MM)aU>5&fLbxGrNH!o>$v z6vkQ(sC_VV-2qj527cW@oS^9=F3@??0X5T&9nOXZY=AM?0+TQRo$orJ)1gxg>Y?iRK)KW9-NHbYOx z0TqN^xDGn~j6?EpH_X8Dv(fE5pjGj8aHgV2DRU=$8Xc@OPs(C=fOp{t+x zOCBa*45pwn#Q3BfR-QvSoDF@@1LLp>y29wd3|tG10s4Wd6$jKV=v_&F=MooK3*#n! z!W3K!joXPUG~r&cuRfr>=h4p{_z%7BW?jI@d+?){_``KD_I}pWT*eJ+p)*31 ziF+6ibl-bG?STdyg(*0z4!sXBUoZt5q5FQ~D|VQMzV)n+d6YvF#y-UQlRQjA<0Hhq zp8h|2KpD{Yu>)!YG^3Qm7<8VGKOe_G;RBRI@8?)QFa{kL5Wg=FN9cKybqw845kJX4 zeL!VkWcvYC|5nELb=Cun?!ZqN`3Ca?Ge0Jt9@_nkcF_1alAwb$a;ZsxD#el)O$PSf2Mz!gzI4ZFRWjfN;8fI`rFTZ zK<_Z)6^?M+!qh1905fn8^o-#jG@$bxjOPHyA50viU+6mfph`n8bi9*tSPdiR98>|x zUwlx-VFvDl$;N}K>LThdKBx>BX`vjZt~;nw&~yDkbreS7?D@p;hJ&gZdY~T~(1cMq z2;*=QOu`}P^c_?Qn7Hwvnzev9-*iy9VdiGqLGLZJgRWbtCwcRraxElYo6(0UXiEOm z2i0cDe}?f~Ouf$?R6*$aJa%YqIjBaV??Ln%=^r-3%tHs&Mi_mR@d$_T;}ZOO99@`v z;-K0CBVVH3rT7V#!1%UOoZt-LMfxU=aGg#<*b|?tX1p)~Ba;8gLA4bc za3?f>dQeqf$+%$yj3!wpFb3Da6kHEIKf_O$fqS6y=gbF;!K$lh_Y1}gjbAbjn1s7w z3Z|gEp_P3Ahou%g5C=7=^nef5JHLqcVTaaaD6I<2Y$tnb3UWxY_~ZZ=xI~s>fB+ zV)}!vFayKTeag6sK=15vRo+7R8RM!MM$Q^nn}jvvY81xL8&|>W@M|vpLT4Si(15eA zrygv8G1vm*(16Z)<7y4`!u8OEn_&j-g3o%H?DHUUZ>pQE zOYkQ=t^&|?&$!wy931EUQuJX88t^DIVdc&E31`DN^uXkO<7x?X-cOvQ{Db3a3yiI& zJ@kH<_F{*#ZlN7?!`MfNkK`X1R|%N>Ps(q_ALxe8E#qnsdLATRF!sf9bDw zOgv0Hq45aiFa|S{e-!`PD2Gd63I<^Yu7j>2))Vx=AsB@Tu|GDh_Q5!u)s8=~7CIjv zSB)_B#JE}uBTrEe`u0=aLBFsGrY6T#6ef-mKj^8LP}P3)VLePjAB??nLd9SPZik*% zO{nrt`h~U7eD#D{0)4NUP*LceHKCF)0?WJ5fwj=}TIxXqMqmsM!4%vp`PWUTs-={_ zVL}C9>Mav$8+4yCp)z7W6~7GnJ8eP*p?CI#+6ZHFCR7S0-IRCZ|Jf62EsWIA9{SFi zP~$KIYi}byb18=@&xG0uBk!ExeO21Q8W@A~VFI?m6f~goq6xJIM&J<4Ts)y10sLs3 zP_tn4k_qL8p35dw82VrY#^DfjUOu7rNI5(TU032y595Q4!mB2f38RaNH%!89(9?qd z(0c=Z_0sQ+*kSS}#tkD&Ce-Xc^lqL|tuO)yp|68^fC*S0q}i~LwO}r$(mw4Yn|Gy=k(6x`_0~#9TV{(=6WC&fI&2;2d^f0|G;-$OZ^4O4$c54t9ZH}t?AFmiS1;U@J_) zF!Y>%SVf@kg2QUN*xyROAEo`n1V~7^Bsp( z5PIP{=z~$1ggc@8BHBmkf5BnpgU*W&t1ZwCw~M`z@k#!Y!@L(t`4xwiU)Xe5?SO8W zgkG42ap-%1ey%>OHp3{~1~YIRx|-?l6STkfunIt9G5x_9OhVT(#=ViaLLW@RAan-~ zt3jB7G3e}Neqj_Ig$a|m{y)YITcPI;bYb#+ltcI3tb*fl0UxX5cQ#e~vhBqTkO`4`yHldcHtCXl`MgF!m7se+s`IVO%is7~}d6 z{DaLf6F;ot(EH`Xs{B8x4_(mw_F-i}-%k98-tRHb(7B8Cw3+^&VcwwYM~77g`rzzO zQ}3sY2by~r56tX6tVUt%H-}Z#XK1&Nc*Dr=nSbc{1M>%?e`H;L7QHm_gBiFECdL>q zOui~J&m!Z?h>ePTZY z{m)~E_0WJ#Fald)0CH12fQBmr*kxqCRxP%)E>WL+4vFYCCkpBuv4|FQVfit}p|G(0E%$MW6{c z!U)_7ofl@*ZkT|TTd}`0qn5xZ3_{mM%pWusWK>GZ;Zc}`RSz?ch0F(ZHZl*;^im%t zF2`@NUrG5R_;(HcLNDA34Y)({*P;haIO|d7VKF)|(ZV`_-s>`I6sF+(A?jUEyrAzU z{DIz9^dG~|PUZ{xy3m*WZLGJ)DPNXR9_WKj(15Mbgkk6k5Em(jTcNurqxQfUta^fa zy~G1XU=T*(I+%i6ps$a4hH-clx`VWf(=V)r5!ehf%NZ{;`|%qlVfmM^Ll=yM7zcEQ znKx)c6UN|r=pDd6vBMoO2}hx8C2{*Q<1*<7CT}Os(7TFt0i$p)%)nV+Vg0S9ADDna zm|8!Aq2JF!HZ}|6B`hkPc`%(OYF}NE#KgRm_8h*i9&|0ONw*&FI1CXRv>r zc)%9u{A@-U&;{2BKS!LQ8;(N{bnc+tL)3@H!yMNz4oAiQDE4nKzQ;LlzziIM&L=ou zK{wn3y>Jvp;p}hH9(rH`Ho?f3i3{|6g?5tPMmy+wlJR{DJDdfbPZ4jJc$)PCUEA>& zy5TtVKxYDdSOvXbW&OegTmmy+Cw|b}!Ep_J-^!@QZ)4v{|Iqsb>@e~}>VF3vXhPpJ ztXt^%5&l8*r|5o{`oG{j4dcIJJ?vzBzh?bF*Kg?md-w%wp$9g?1oXoUG@T0ZU<>rU{)k!wlW@Jzg%0$- z;fUHJc{p=7{l4*tnhle%LGo{+e;9$Aps(tP+6hyz{Kxq9<|C>W8gL1W!u2o-w?Xg8 zM^p+r-*QB`enK8L!o;aZ)E4MFjsBqlN15!L)t?9dORa6L56I-)9*#OZ9>L+@Pd z&^eFsLidH(e@1*R!VaTX9Z`E>@_PLHIeIr7QG+o0t|KZ5JvTGXU!Zpjae=OO#sw45 zxd$ENi1NXBKXHZ8@DY`Pp4Ig8OYC zrr>7idH)fW5Iao41Uw48kt3@5*R+TA&~p#%VG?c@`@Qr7&2ON;7d!Mr_xF#etkr9Q)`8)M~a3c6l5sXQq4DNP z-a{mR@}z2n&bKfg=z%flJ9Sd+lk(a4{TKQ_Yf`m9@7a?o3Nv#j)ovJ_$GFq*eEbl; zeNqiU??scmKZwr!N#%wHY=97EY=ZG~rR0ftADPUW^WmUqU^Y zfZJda?t-yPCspkT?H5g|^)LcsFb2251l$EvaG%({lWP7b_RA*KTIjrjxIhmahu$kE zRb&i5;1G<%Jun5!4^Vy;{lO?SUaEI*82t5`2E3B!_K zJ*hT8V-5bo6dZ@XJ6MMq#tCOb&%0SCFbZ3sZ!PU%1P;Ok+zgX2F822_Z_sro|BZQu#z%=Sj6pwieVlobJlqbw570k!e}Z;L@ekHQ z&&EmRg9#Xf#wUpfjKNLN`|r#vOl@Kw#QrJ9|5w`o2kQZ5{*(To^V7^H^nPYiZGp+p zvOb~bbIb>feV%ppH~N1NKcVL#j!&3*lH*3~Pfe-}G-0JeAI^r(r->8v!6xB$;si~& z1}1*PJi!#)EBW8j-cjao{*LxA0zJ^RkA9&64VZ)xvHy{E2IDXTQ*h=q?5Rmr4WobJ zJO<;?2c3T=PA~=6!{lF>7Z^!%Je5%&*1#B?596=}8Y8rW&QaRI1l$2VW5gADVfpkj zey;!>n1HQNerD-CfA4J7wT@|K<+L}=Jkhy++KH87uVRbMNvpH6bp*$+?{LhfOzLMU z_?tg7NmNu`TH(64FR8iYl;a*Tty|BVX z|8%wx8U0hqo>y{tH$1IQuuOW)mD3!K-PrCBoA$ZyqzdPv8LjNSGnOzi-s5HSP_L#Y zt$59!KQdKOd3V{xuQ;LczUhPISKRfovd2#%?2Du?7n`5DqtyMV)Lm4ucUsx~TBm{R zTFS!b@b`Y8^mkv`B^9p0>G*uNjOVVGEvndFHvL?NBI8()8;68L$74I~cAT457w6kA zdT#rxX$icG~IVlH;e72#bFk zu_v+n^Zt4B<1O&7v10AC={Jjijn5meUh~pV8okV0`P*Kkb3Zcg<>l-={7tE>u?D)Z z9i?tiZ2CB$@4KfnlXsPuHE~$7<~g1&&aFc)^&8MQJ@2cYn@f%}HiLEE%K2sQo%5$(bQ~2qFk8{_q0_V= ztzIDq)3LQ$5RdHIYA%Z&ccm_x(TM%h=gsJqGxYk{Mjx5W_}gLmJ~;NX$3wyTSX8lo z`t%PUe|=mbb0}+KCMUx9wa;H4v$1c-F7c81@Bk0Cqu6BaPFWwEqwXpvI;Ty)i_WT< z7i*p5&%3go!nAF^KCNzh;q%7)ve5HR31wGdx^&8^WYLWFf=ZXnxVgZxfWg($XNo?X zZs1x*TKv6F&K>!4Rc!~(a&e-7MJ;nE=lH4eotad3!0Fj_FXA@bo zUg}o)j;+}qebunmtdtv+H&OmJ(!{X(U6e1F;nQnc;u@hmK>5SW>6A5n?7Eg+(_71@ z`(I$$X`gqYv+w4#`eZh?gJt-97su`VvajTiT4r44`zUpNw?22i#XgIRTr2i7Ny~iu z@lwwJHP}t;HKKi^T=O_5+(kULm-SX8%9<*6aUdqy_LkiwSDjm}4j0Jvvpb)@WJWd3 zO|+J@rqw3W*7_;)>chNE2TmVD8>y3|&h6PXHuZdeY<*uW=jSUbMyt!>6`ATQE7qQJ zX+?x>{VDvOV0GEO$34?rCTqS@`sUaf??|iHNSYr#emS1_+m4dX{Yc#!>`v@5Me-vt znUAd;+pn_m{-9jHpLb2t$GObG&yMTO|3})}fX8)J_ukTs;t0kW1ejE`E>%EK0RjXS zptb@=w!W<-3MfQL9HJx&h#-Ohmk1CbkZVk)yKeyubh2d(Js?<|uHV_dJj6GylEz+Fxt0z4qE4r!!YE46kW; z9lm=d_%-R!JsRJPm+6eCyf(hI=ZCf$-r94SOZn=D9$tFn(Z_b@ho-JPuxP(v zJ}9;W{9PoSI-olXEv0wJBRjU@&}?q=j2 zxoO%xrFab99r>o~^EIyVGjGUO*Fkbb^!Ka; z9Azrfe-38X2jDKi*8!UDZ9#zg-cEn_{Wae1QCssqqbAK!Ek~7uo5wJn9OUk_U z?JZ?o`tU_GP)e5Ca^iUbUfa2kRX34xe0jH zQbB#ci;Y&zk3`)k^3|E|{{WnNZB&R)w07sR*QMvTJC`|0lyb|~`jpz{F#oiEC6du* zu;XAYU^nny(PJ{@?2kGond*AqU^W$D8E#b_*BbR9d>WZz!@QVp$L5Ex4YSgg%iuVPEM;el?;~!_*H?m@!niiKq{vfM*XPe=WsHX^oYFKw zcZ@i##JN5tPG5eul4PPdXd(57v&0!B&REzVOqWLOZhg!2a!>wTT?S82ivH*}{n3Dd zI5D>pJX7iOs6AT24ubtq08--pTW*g0sjw2v-=MK=6#DKzOdm^?-)X|f2|p@+eVU`# zI0U}~@^4I`UxrklC7z(}+@2!fCL~UupMlp|c)cX0|3+hypMTC~v%9WHRR%VWNR}H= zoTt9E5`5OzWqkhReH#V!>5>t$$C|$cl2c6WIS#+=5B>Pv>20b!4-q~vaSb$dp z+gCbkcW$3KLwT)G-#SE`S>k*~ageLBe!C}Mc)zRaP(5kjRXZ&cx9Zy~!8^n8xZ7TtLR5F;WW{UVvme_2MSKZ-cR^H3Nl*?7E{@7 z{1BM4e&E}a%e?KmUz{VVc&RJ@O{?W&gXNoGP97#sPo5{bXxoct?+B45^K5h z{2l0#iZsx15%KnRN9nvTf&5A+dj}rgjcjLZl?33wipJb`W>9?lL-NcT2x)~35 z1I7J5y}5VgTl(^aZtIt>{TAUp@z*QCHEI*9qh2}M7oTiBj5%?ay;%Rc2<_zGtOWN# zs`~cha*y(1_WpJG`AQ}_CHbK7)t{Rf02YWl@8eF(2Xa9E`l%|0lT1&193qbN%`kEL z&tQL)>YKzkWb)n1Oe6EZQx#5oj%-()fY}EDwYU4_&w%E3Zn(? zBt)`(9()#jK)A_vUw)<<(W#+JcIDn+{}ZJ0)%+yuAJBd|q(xu(@^v!K;=GptQ^VLq zbedK()B&s|I(Soxuygm#;6-+1}yX9t)+&ZwuB^a?zp1(Kg6?!e!#1XugG z)0y6|zOT=psMF{ZuW)Ru_)lx!1$Z?5U?q5+%46-jM?8>#sjBxB+lnB`!UnX%KL%|h zv^!BwhoSvA?~X6_h?j-T+nwg2am?OSJ@i3eeJ<`}jqDe%Z<-XZq+elCN_GztcY?Uq zPS@pYu19uj!Dqn_fxnD*WV+^B+DLk{z|T{J%@Jn)NGrF=s;w_-qKyd_)z$7C;uQT< zJGYAGPorP|VI_E%-g~7BZ2io1BqIr0KxSo83I}7qoDEnY{(0hm$;XecaWYxR{A$cB zRUM5%Km3n;mqqljP0`7P434vsI-SOXL)`6(%X5^!d9c%9|HJF}xa>u9(k^^? z2e9U8h4{==bB%mA^S93YAgeOB=L?iKNz^7UdsAm=%(mQpmiFn({_&5yN5#k&s&cAs7?^b2Q>+@04rMU5QyK>nPEQKU& zO9V-f`6$D@FFAvfYj0*R2SK|^J8qYir{!m`CocT><FySB&f4A&sc zzSlxT$cFlqPyXL*MyA9q;ly2gW692WOwgwI2*ReG?{$rvj*epq?BZn3) zseumjEguvA)pR>sb-PIT5yJa?`VX=kQS^P74apQe@&i9RyGNB#K5e(PF!8HJ5gl1y z2|nQK*2^Aac6^@!%RnVcoeuSl1cVKs`Wb=W(nhpSkTQR2(lC@Ldgg%y)RV*4Q9{&~ zlU`Ybf8XOP!ApI9Q}`D$Ur9uzqe=HxJsbPve?@a7AY0Gg2|fsZj{wuJ)@Nx`)`0s% z{ok2GL%O{jPNxnKZ-#gY8v@feqh%mBI(OypeE9cn7I*!t#`Z(RuerDq^eA1EMH_q3 z$!tFG=C1VNDd<|DE9yhF+cH=)*sC-AAkRL~_Th zEnJIMdIiD<2!A>{%cb`O^R3x!+03?7xzjYnbo`9ctK@qs{MMs990h9v%cyOsz04QM z#O_??2F6H*FA!drSq**k+Og8%*UME;=Lzp8oc}DouuJ?HjbYC)oaeTt)_`s@yzDmJ6$7(6;ke{aoTff7qA(0qs?~pE(x& z-NsRL#niUm{A4zJi$;~iNGg-W?1_H(?0?d#lYQ(7?;|$75sk;0UoIW1l#xds?S{t; z@sIxZ54jJIAJ*rtlg&lGvri}8T8cu((KG5v;g84|vy2c`w%%EI&5@UzRVM34lu7Hg zt{*y`&PtE!tNMA2XHVvPH@v%a&6aX~{Vk;BEPi8O3rP#~eYw?uB#ie|<}RCuDBS_V zh6uaahaD)cLDyk4`2H(KlEX=84?%l{XnBMk0-FKjzlw@$^EH|$9OK7vurCTr=%ROr z*`r==E@su$!8zj9Z(j{=DUD~g@xCzL^*QBxI}@itXul!asJ?ph8xUJipbg8icSN9CpMZXhSF z;kAgZ`dWat04=7VJ;Kg_^?_}VVJl$z23&F7M|2XDb}*I>>=CvDO#I?l16XSUYXxhG zVf?J<=bvV<-Qre~Z@DU5zO}eW_pF$Jb`aW^i#Donw8Ez_n z=$4>62;B?CFHTp-JOqDgI})mNFG4p19secLg^nzCd%B&^ryYI_e(liB{s=nh=~3v8 zLC195r>j*__w@1Kv=9HRAo3p{!_ghKpAIQYjQ-j;k(@2iF0eQYze}Vy>-kM`SC6`vb`=p-p2Ipu~a&*;0h#ligXV@V>S41-d%f}&XT1Wc_zDa zvQ(VSu`8!7DefIhZ%FYFmVv8RgPXRp7vSdi6lxOnJE?g>?Q{@OKDe=HL=wZK(O6cS5gGaV zeHVL=wQG88R_X`xc`ZBEgywf=kahb#Bsl)91s+W;_) zHN&Th86$V+-W&hPv`Kwz1D^Yzy&Bx;+uQFQjP_Zz!!P?PnxVw7@6GMXA0w?3q;-t6 zW|bxNlfsJ_uj*Ibo=@v1=nyx?wmDftn_y>K|A+PxwEKytKE?i*K?V)8{S-b;_{ei3 zJC4aXfzcka2p%SW!$WR~`N zFtvd#pOVAo7o(3G_(tXv_L(r9Ew{~z*Cf17zku&2hIvl2pKUFM?H!rS_sLqhP`A7F zZ+MNrcr`fS3>x@_JOVBTTKlIO2c$qD1{lj?K-rFx!rtxz2 z`!Ku;FXbDMl-ITU9kkqax!q`g$>e^*hX|i|5*Y-LR_(ng?`Sf8O(svn zZ-#G~zK`GH7hjjW6QL}sdey(2zUQGm;mhgAh%O{t2EJF89l1`#z7z3(lNbLC!s!D| zBdZ*J@ak@j<`3SlZoV`dzqEe&TZz%CU0dr*#xGlYQr|iPzm`|=O~#bG&4kIfyZJA) zdtc31_akW4jd4d;-sa0;^WT@^M|({)=Tf!Q@V66u5nQ6FM`dgRTLAk;s5hfMw>XOY z9(3=^KUbISk&vYcEW9KSlkjWi`>)4%S6ju`d{LxY^KFu?Us6NpGPT_);vOUJzlCul ze-ewr7B}fiq<0@FwIEzRs&TOPbsz`gH6odb?0cuvG8b7SR89$rnMtY*SFQ6*>>8M)DV`Fo~+(&HwBjtjhk? zmAtW0kYAUoI`flP>;YA|Mt%9Gf#HBm>ooq%=bZqAQWZC%W^OOi$j;dZP1BqC<}B~p8!&}E+@E35 zholsKi110mA5^%da~rDUo-q6*;Twb>j)nJU-Wi6UCVcFkt>a%L{2bv{e$T(|UYA3) z#g11}-na10@sNMUj4*{Y5jITNtqNlx$!6RfPW`5juw#T>uQ1bt<}Wp0!~2V)B|+W% zjYGQx?Kk{*6}MH&eQmbqKV`_@WxnwRcop8d8hl;pT6r?RO((T^Lmkk0!p{-@YOiOe zGIpR0+wod!+ZJf5`RDSztKnLo_jmV}`nxmlDK(4TJieW{Lwu{d03TQGUT*`xF)X!Y zaTL07=*+LfZ();Qhrn2tv}XtZ9s-*MV~S#SuFezI^LiY74m?r6_(a|trqcx7Y3R;D zcR=y2KHfxibj#t4@7DdxQ~}#s?`|Es8l$?E?~LE#;~bFx&+PcOg^GB$bYHDo^Uz?T zHZKrwn0TKG6o1d-IMo=jORCu@9D5KEoTjtO4Z63GFwD~Nwr?lciL|dJQuj=U- zahKj6`DALrPJu0g9ah@57huNPQ+05Lu)cS!2KTzKq76u0O;u@f40~I;9k-(bt}NSe zP8}r9yA{XeH?je|hp{(b-JjE#+yd=cXm3$jY_A$)zF*5?@Ttsv8|4?y#d>n=5RL!5 zA@pefSLskFS{C`J&am!F0tjJwotR|t zJI&YNHg#d6jg$5e@pio1`(UFn+iVT%=e8%;&q-{Nwx!&1!PkFRs>$Cb2~P1laI%QB z&yw~f(tdsEJT1-6(V4urjkU+Sp9pn{Kz74Yd#6Ev@K__pS!l$R^|DMtr?3 z(qDdlG?smiy!GV;+oR316vBdHUld-DCO!8-4xmKGrrk%Th z?g9ydx6AtbUg8c;tp?Bc{XHJnZ2R8){BtsYk%-%qE0EM-;`Z%d4c_kKKA?RG-e<%D zdw9-yzAEz{JH7LwOr@Z*d5*&F0C4S2Lb}nD5M& z*0r5|NZ8V{)HH2ONn>|zl>AP^YwlODhrGPT`>8*N(Ukf3#9WB&YS#m?=>u(pmcYq- zJzL>`Xz#E=IuW!IKz;Kv>5WXU2E8eHPsm9ZUE+=D_0yI^1XF}~k4B3Wywl1${u;)c z2UmmUuy3+w=K-BzEj!E1zW=x92mA6v{rSON`F?4F@(E>U?w$F;Yx6?``N1}fsV<9f zgZ;2GUl&Mk`$t!UpAF}&)+f@^(^-n!GWij#-P=qVu;P%CVvosqp@4opv>JSy`c(fY zTPN3KTYFDR+-Y4FcY?U%A76F*8l%1y?HM3$Cd1LC5|4LhPBy|EaT`D3{cf3k`I?*A zq7S|deiXba>~p;um#n{9R^AoY?R#=?_fo>}(w=*7O!1qYR@cV({>jy#K5VCGUqNp; z-?zCUXDTu}WSLS|-8P1d!mImJtHBicbh?B#pU%D>TLA+lR2?!hoEl+|aUG;bi8o8U z4=NtBi36E^PkvaVjn3jf>};?_XtsZPHTb+}?$kKQ>K5~~J4`RSdka)Q8_*qs?v_$H zu>NW?Z+J<>0cabYpTr8UCqS@SMSL$UfrHwz8WQcb@sJafbItE=7L6z8=b*vtQW`F$P#i$`YHlkIK(>KoY4Ja_et zv9RplW{;%7r>1kxSRjm_^q@opTjCokEgIyzg$dJ zYiR>i*WzyU*&nS2f605SA4Yy{6#Eo+BaC5)B^MZarQrqAOK3eOdu))CywtVhk2%FU z!4vX*L!y7%m?4){xGg|VJ=vvW@H-E`KNLUaesMpO&g#}W!?aUJqqRC;3)xZPjQw%6 zrjFnIxA5;jG(^}uVLSe0HTVPM$H|PXiLh>8Hr8to)T_7B;aZg_H$>WOUAVr3^uHPT z=zN}SpCR6~T4n@{`Ob#!hxQ`0Kjrh|X>AUe-CkKNpPeV0fcC=tYA`9<8>BlEV?2Fv zY8(AnH5qG|>{XTifG;afQ`-()F!duS-RIMeuh-c4tpl3xO{jAmk{?e%yELMf=zMnu=Q#Y& zJXGojnFl)!b~Wki(Ol^?*f}t!`Su9A0JeR>`@8rp+wL-0HJI(ILF(gsHOxLkZB#N@ zD(M%@s-^c@y0EW^`$xRH{)XJe_rmw)o8Fg*x+}+WPYE-`oap=E)&K2P?hq>SqRry# zgC+-zUUk}Cmh8Pfs;%UKY-S(u-w^UdZf%bW^Df_kyK^`4jy*=tP-fKkM~Qcacs*tDbYiSXdt;G> z<$snq7m4#7UpH}mp`|+6|FZm?+F%utDvo|LU*w=n{5R^N;vzi97FWal+L4{fzBcr^ z*MJ>X1auTd=*%(Lc--bd4e)8DAT8fnb$8>CfyifYFT?;$2}LaV8-aE&wACs*kFW`_ z!5AieI|DWVcHNKezudb}x7A@7%j16dofE%5_w!cD65m6MjQcaICR^V`jDSjY4FZsq ztu{$T`G#O7vdK-twyVjPznA_-KAuUQ^jP`9s{dj&c!`4yn*pl_drAyD3RVXunbxDY zb6`8co^FW4mcSaop5-yM(K)bYFs6iF{-eF|Zz_rnLE^c65B3?fGC%a_|2nV%uulod z?9bN>=qP?4~kZB#n8}__ESq08^Qy54R(LBaf^GFAnuL zddT~9OdpzLY&ERsJStRJieUAGBl8{y1$i3+;Yri*2HI zItexd7WaKGf=z>6q4aq~cNXkm43jOf;rZbjp`!CO%x%Ixy8T-GY|zL1XdT#5u;+=M zXD5HnVDn(N3E&(uDhM8|h+vy5-2uWY9$O9X(JJtB1ne?#zQB8hoinhywRwrvEjm7f z`c(G|XRX~i4uYu@xpa@iV+6jV;z7E%lWw<9w;yPU@HxWIDBNVy)?G{{Z9#W;To?A} zuAE3Uw&zOr;1~5)-F3KGmP_lT8LSY)3MAJJ)(Tb;j$!yg@7G?#_FDonVUzx+bvG3A%Q$a|yaZu$2VeDA=V0-6UAmUzN7UA+Q>-c>5j$ z+nJy{1=au-mzQO*`WQBZESv|c13NFlurbhVHQU>3zO){h(Q+BZ$3B)DwKIX;i1bva zzS`O8UIIv`KJsV_Y`bq@eS$Q8F4Uc*5!anP@`JF^uEehG$`y#apSUOfhxeh7zx#D> zgZEk3xkxN-pSw^skh|N9x}gRhi|}YYT{>=_1#1C|kC7W-?Fp=kL98FF3O;(ouNJHi zEN)jff(<6<3Sa{Xx&g4E1l)s?DS_iZI1Sa;^66qORI}|778cf@l?-OV^Is(G#D<#ii*1!N0wJJI>QIXs?>ILgO7 z;TMVX3591S%nv5~4EV%%*>h+(V?6$`y}WOL*Z=iu@Mpr2YHts62G{R%x4DMgv?UW2 zb8?m-+)Zcw1u=J>gM7fUe*pgy{6EZ^qxi>tIFWzJd^on5ehdE+PMo1k{$Q3FWA-Ng zXIp4Cd-KzHkf$nS=QUIQfhl1#zDTMg|XKa6DML5@v2|X_({Ca zD1DpDkbj+j@6X`e@spX(+#ME;d5vVOl{h2$HMj4a-lN;>B-;bvW8g(wOnQ6-Y&4=R zvAgzr`gor??CF(`9`QI1HVzN7f5@ZTbKhaM!y;izu{4#BvtWy0KP3h{!ZyH8gT?z@ z)lJk}EUxrdzQHS;&E+#S}{q)#DUY<-u9RMHVN%H;?>uz z1z!v8vdFhU2M*Vf7@SyvPTFPd+Ay62@jJ8XD3mr2$Hs1%lS$I<+yHqP9%MXt>RPbs z^X~8L<#wgGZ7A-%IfQIq~Hg;cpqN{%LE$WdWvtdc!?ZjHT1M zlh*GQ>*tjJoA76$@fg zU-N4?rt6}#Sn11T?n_O~?F~2xukAb5!aE7#>nPSvnjhdMDXDWBS+cr7+4i*0m0Y*pO235H zmgoMx&%Kc5w(GKc6iG5}bMCUe6^GzE^b>1AcPLj#W_+I?vfyRd_8vbi-KlMN_h@W7 zFMhRa&WB+>1%$xw$K#6ahtMC43k)#0xo#*bkakR4;;J6&F&yTJU(}f@dkfepus`5k z^%(bE)0@0rnaH;c<_p)EFFCnJ!1{5~fN;a0r8NWJ`e&BP*-@}MutufDQ_J5RSSuL+ zRaD%PuVsMa)=2a&KTiWr685VKBX4m%dvCtshI~`MrHn1*wWW+1y|M;K6v;^~llvuj zw1jKJ*0(vY9$%jg*U8csW!Zny1g~Lu&F`fCe0zG|2s4WV+?Csu!CNTVC8sEHzwUCF zI7fbZEx1dSZh9;s1ISjm=au{T{$4UruE{hExb*~qH+@iV_d4@>KjGWfo$Qw=p#gnDmSp>1+(l=NqsrD7C*m*F@5+_fMZ z=7~D-J`2;izW(REB-oo{qLu{J2o0n+dOLFUy!aT7t4=nSyT`}XD!NNL z{V=qn&`x;yi?5~NW}UhM>p7G8^F+zobLtPLiF@MtYeBD+^%KhugKj2!RW?<2xD@r7 zEIe|eaz4WXDI3C1WGeQ z&8+dV58!qWWasm|v382VeJ0DDK9J8-Cp$>`6#2N+6WUo#va=+Ir@l?^ z{>AF^Hg?UyYFZH znSU|i zrCaX8KXRjQ6Q*E(FQ@rh+3V{Z@ZN`@_8ozK0(zDs{QQblf@-Gp{M=923Bo?2ut=7$ zN#bLT?J-fFhtu*_AnFo)F2Uy!)w9jvP=cBxuuL|B2FE?k%#Fsy5LFKO!RqU`ivc!P z)liB1Z(0j>`L>GRZ)J@BiNOl7CAWLQ&w#gie1ZZC z-v?fE^IGv7TmL?A>AY$17Vv2O!S=`Cr}O$InOGmLF05LQ=Lzzz$)4JzZaE*sy)b&39AY+kD%@Z<=!m*i(J%Z{wOO zS2GRJ?uG6Qbic>D()D{>SNgq6(hUn|S4}t#z?-j3y{w}vi zzXkjh_%*^Axv-9CCwGdZ9%zv8CBmPpa4WkF$aS&f`Bs;c(4GDfbUR^j47#(>JzM-p zkCB@Bqf1ZuTqJyj@OFi(TnL-+bKvzuzP!r+NWNP6y9C|`ewXANe@Kr9y?41b=?6azzNd(D_C@X3%-<+s)pw$sGW;kDq_WEr%mMNxjm=k+{v zg}Y1ROFl1ykAVLY?@nLPic{IwNE@-j{0mmYG#6;aBpon92TlB z1|LTyJ4>>18eSD|UUPR4SUs!Z?=fP9UnIQg3Bq^08T<7K!kY=7*&p(I)23|F~=FUJ^6W@xkauF0(KmO6oJ(Qpuy2H?Ie=EL4$u{|nkK@t4Vmo7eZN7j2 zv@ozI+&D6>WG9`6*Ex7SjdwkgflFX3V4oMDF^fw?I5Ix03RIlhw=iDcyH>Kc)Ce{X z_6o(}5nTc7C|H#t4jTZQ1=Db&M|2}#M-u!dzz&1aB=(4I2JB)CQ(GPd>wg<{CMtBF zCc4)D!AHQ4sg7R9Uijnm6oM&9Z%+TxAsPre58cMtTCk@0ri*RffzMwz33=xsn{3sBAW2%81l55|-x#7=@OC+HTz8h^>l8OlAABqQ{XWK{uwK&U?`G2>eeCE&uXcg6e4uxZ(Aa#!(y;V!IG)bUi+f$Vf9^FC+d;ZShj<{)O`n{Y)^SNA4Q zU;1IVMzt6Eo%hln@1~x%Dnm4v(A^kcrwDXHX3o@P=u7R!rIb=j6Y!sa{~7rIZ*`ui zk4Nng@u!a12bt2xnM8hmtGcsKHl(C2dFv<1%cMW}{qqJP z^9z{|QyJV*pHO&hcI2R35waaOO@{lF))@X{(*3eeH@O{4i2-kQEGq~6Ko5qKSj7tLi)4ga11I|QaC(<5vFYzFLAhB$lr z4A`k6c86@O*W1`A`iq2}BkWn8URd?p84qH7o56O1T>u*to#{;`9d;))W0qH&-P+Ts zq0d%s&_R$65U=K!*W6h)f)2=5n#$@^5*neq6ve$*^;hhNzHk6J^!+Tp)?{rUC*d45 zj{O-FoU()ra)KpM5dX2f`ZPLEV0M z&Fv-Sw{%1S>>}8|@$Tdn%iOPl^oHjn{C?v??9RBjj%bs7(%BN?TqmA9iF_8~hr*OE z^{4t+UI+MnhJ5uM^y@&qvL7s8ksO+C@pqK;XK)dwC>NbL_dBg0gJ&IodJ_5RPs`6| zk41G?N1Ty&B9G+fqhdgQxDS1=4srBy;Jv!*Vbe#`(6oGHEjZ=psa_xTYMm@P^OZe| zzLO|~DwgRAgH#FBr9PwfIS0?9(`&&mm&#UT@9CC?@@*;abo@dmYLEPyCGv-HrMfSm zyiVU=Y9|eVErZ4T=m^+Sf^GtAF@ep1EyUs;Cyk?E^I*?Zz1Uep(~S&v@%g*$DbNig z90g2iORk4sO&_q^wa+(YnBWlQ7B~i&a|M-uU#pHR>Pg5*$!EBVGW((5j%1`joM|Rv zmmc)CG5RJx9?>=Ynu;3i%jGUHzvi_JkMlF7?QtILTntlxxde6=tdn+u&W$e00s-E6%I(-vYKXhDrDLfwh2L?`5sb?;4Hgy5=jx!fr~hZ#Q56VR*HE zY%O?YXro1XCE;Jaj&oP;GNW=8V*Nn#*9-7#JhbM{$Wym*9m`m+yVVMIj5F?9!UsG+ z+;$my#%3@8l#rrSNn;z;QPEw$HdPwl<<29h7Y4amRNLpgrV!vJhu_C!9Bqg50r^{ z6YLtsnZLlBEv9}fL|$yq|6Rz7+q>Vz2`E1lT7LEtXO1{msoreg9rKRpjD(lx%$*texMT51~vL>8{lf;x&sd zL-DWp$W@;Q;c*!r&*NQ>up?l#N1`?sb^>fi0$Tv9iD50!odMepHpaVTkMECp+l@J> zPr557uej57?4(x>nXhZddnp%jVNp@RY5u4@I%-^t^jLvpRo6P7I)#9=mA`)C?kDai zybes)71^Ijj^R>NgT$X9{`t?YxjPN5&mcqPedc3n?Y<|a&)nqOUHxMP-Uol(@56z2 znXQlhlqFQwKf1LIs6-g{(16w%Rp#~yY@^@6*Yw0?eoC^;GDho&zn}O`vunXid3Wbq z2c2moW0{JT%pQZL51M!Qz7>~QvytV)`7F7N+sG_+;0o0@SHg}hC%*Vyg5Sh%t_9!n zwpN*a7|m03okjL7>7CW?iEf5p_xq6F&wH7%xk6DtdKqJWz%|#1kK3g0@C;k~l;E4{?;g3&fcq4sNe_I#kU~t`CsEo<#oC-|F6v zKZtlwQaqlW{56A}0Fxade-xV#nWwTS>B9#IpWh-}Jogd4Ot_}~dW0PWTZ&<7qa$F8 zV1M%reo&`ndr8^1ePEl}@bYkG@4qV5ps+cQ<}-Q{cG*m2+;}Hkd1>Tt{m2i)eS-yl zH++DypIQsP=w-ZgU2MKypIEP>>D)|^iNpT*@3x%MABD%kKlVQKn=~iQ?7~aem17!= z@ADQme>|kNIs{$CpM>kZ^i%sLij8AYT`S zGFus!-PE>DEoJ;(xmD)QAzg;Yv2U#f^YGIhHrjVd;jYV9<156&!H~s}=VYScgXs4^ zjru`>D6L>EVE-EC!R#9wqvQ5ErtbeL&%-XO=Sg^+f5`hh%~xQ)S-$Y~c2{)jTRN+j z^o~Q@u;ABC8F&t4?qOVYZNErZA7O((j_om&y(W{|_HDK&aL0$xFAsaaDe0|Vy6{OmOr zxpc5nUz#EAp{2FpA>LhIvNK#(4=A}0W-?!j)r9MR3&d%9B)+!`JKW#%tZ&eKGQMQb zz#|=Vi8!Z-^D(7ka>o$q_6pF;y;0O2GubGc?31Sb*u#&m1qXfE9?*qM_h-#VVKUEG z$)?cBCn}jdCnrN(t%RDCn}@m$-4_}PO`fLVJ^0vK?EY5D5#LW+GA7F_nbM{hQj(`L z@H(>0_+C{k-|nlnb-M4*UTYtq#lYnQwAv&o`L6zDag{?vvXIi{=CT^Y?4+o* zE`9l@TCz3Z!zC|HhLJ7XZ_2JBui86xRMo#rzqLa;O}qy9{-@$$pT^Is+gWd>HFfQ5 zS7kb3+f`ZP#*r0Ato}~J=Nx<_2YMR#y8w0>>_!2Rej)l)6@ui)Z8t9L_%QAKgJ>^y z{F_|*R65<|jnccduqr^iAKGig*K~59>14IzUcwF&c7?)tgpGk6iebZG`@v?w%)dq6 z((mFn|CX-L+>lI_>rrfuP6Emoq--CsWOs#hy8khLrhzfjpEI+0pA_vlIxRl!vvWRi z7qas!wj5+Ug4aL5SM}-h9PP6*Tf=le_ZMkQPsy_ReaqL@R8NQD-}+DN1rmRr9sC^! z8w9hx>R1R2)F$5x;6vc+p-!?nQ(~^HnE;X+svYhMSaf9#A;yCSrS%d1`DgFzun$%u z*cB^H%{;OqviBd~k zbY9?uSD!vfnzR497E~)u8@tf$yB^H;>f_=a)7#pouH-ZDD0fDdAxO?cKlyKw54>z1 zVY2G`*AOeGDVf-n%kHR5TSSBZA^y6575V%j`{C8utv?`D@v$pPLo?MclL*$4sm(|v z`*QZN+46wva@p(E>&w4wdTlOqo&fh<>bQ8LRJ+N_Ir4RS!>>gp@)hl)@cnd1SJtK! zo-tK=s&N`Q+C-meOpW?{w5DS6YxSs${Il zRR{&&mgm~@5+#NoCV|ja1z4Pc-{^mpoq;gDbZ4lSI^-#=B`;Jbir&53J)7*L{3Zb?%JeNo9+F(&ATOo!|<8BycW#zuCk^2op278_-?w`H&8MV zxpDjiyiUXGGoDv`-)-h2MT^4K=~-yI{~LMDx^%tWleVVLeXW(*kEwO(r`V^+OgJh? zEN$#=d=NXaVm&+uJPKX_+W}^KGop4Q4S%+c@mQY*DrvQj+}lAIWf^~oL*;kaYHqy$ za-Oaq>>sI@cA7RWCj~V>I@cT8rTmD&R zDfc&G%!_4MCvCaiWk|O}ka<_8(C!!}ji$==;L)%h68$o6D-`tE`IJ^buItI-33#2X zS`S{N{F?4B_AyRwV-qkuSzDcf?i6$yqxIDAw*qzsY`Y;&o+?<7Jq;!~Rr%v*!QE(2 z>kuTnw-MS)&>~irHvXG~cnPQrw;#Wc@R2LlOZIaOfh~ZEhaTl)AJ{yY`1)(qAU_B=z}Kgw?(_y~Bh45A$Z8wP6=ng6bgF2LH>=A=l6*1)7~XkBI@O$5(DJ9_1Mcn5gwK3+La9j)$9@vlmAg*a!3^Az#t z5mtfVp9YK9-43wj1l9nyl!)63wwR#n2U`Hki#LzTH4HWnRuEt^#{CWlvgr1yszJ-3 z^PNh*XP{MnPI}t7pS!p=BYSQRy3y)&x1WGjZw45f%c{;#6ShHEt9T4^KMfKrdVqg`bUqgUHRE3XCF%+`)y26UdG{f z_NsOFeKX`jw!H8e@T&ZJ@C=PPnSbVkzpif`1K<9X_24RCJ!-pCVAWv1Xo$m>!I~4; zd9Wd{0Z+Gs|1W_Z2fJGspB@rF`};WQ*Q}S!+3LY6z|@v{#HR&pCs?x|8`IA}GWEfy zr~xIeJn^4$a4UIRR*(6JXO#X^*MklvWPPAG_qfB3;7PwpPUfI%gzi;kbbJ$yaiORO z&q3D?-CIP*qq1KFn+1EJ0NPuVS;^G)Prw)awZcgo{f6c3;xrI;IVDa3e8L;BA(y80A9{j9ti}-oZ$kxGGprsh> z6#F969pQVAzD((D8S`-z;92`g$_vj&d3WO?d5_=8N8YElvF6`j-o9cYS=tMagU?uZ zYdhk}-x$~e*xPw`b&LVW%8>flG+_-_uLmuq^%c#jt-j2D?a2>m(@Oc=*$MzJ@jDB@ z+FEqmllXz&d4joF52p#U|Fa5~k{lEkIZIv+Kc6Dk6DR3#;wVf;WIaOSrYYZYXj7t4oA65|;R0vf0tz z7gj)BD6<$L6bLiW@3V_TyESQQV5KW0qD1N|gG^AiH$>xz;UMN3cgzXlubIz-6-Q zvHlOH^x{~-$1h^yIRK{gcPb+3%l=UOQ6ImUUtyCzelbtN4*B>`=3S3?9s?Uq8MwGy^SSlpiO2U|#B!(j7ZPgQz6iaQRrl)$FJ&VUtdXVJ}qod(;kh&;kh zf-QqR*ARy-f~_R5vtZRPSP$=qQQQr%<^)#t8`KBb4KaSTV8;_!BiN+`Rsd^%VQJg} zuoy2SEU>9SUWcesqQ{%e3>w-@asT{&jfscc~QStdOoA4I? zPJ=Il|Cexlvhj5k#+3=QRcsMO3wCy9#Ok(Y7I}Y>@4F<`42ycOS+HAqck&XgFEY${ zf!U+U7ECuP>8KA4gVhngj(69W?Wz)^pCqiF zFzEw5qCe#6O@6HJ>(r^^e}b@P=!^PRX)b^@#drui1J(%k72frT?+Vx%u;SceD#Jly zaLG*dZ!%uJ)XNMyAwKV;P!cy1luv1k#gZ3R5D{p*?b0I`dDM%;4OGK%+Z*y%*H}l8r&= zj<>D{lf1h=Av*W%l6{2Lyvpksu52vY4AbD<;7{b+R3A7AT|aaS;!U}HABgZE9?*Ucn;UT6PA!1Zz&3c(RgKU#yt;HOE`Zg8{hWC56!;qe z>j&Et%D&B=ZC+(_f#Td*n@yAY8v9xKIt-7!ukrpFvJu)f1#RgJ4I9hX0<^QxKAm`a zO#gu$k71JW6|gz5BO;3Afzg6>rO{9zdNsdP(dis2x~-!%d;xt>K=1f6rLQ5{++4nl z-O@Ydv-38S<$drPYV*FksB9Q`oCzwHZMU}fvEPaMuOkn~h_ghTrzm~mXg{7AVit!Mm4nlWT=lA7i}Oy&g!$C9iC4V!neM^Ru3? z0%5p~tlqp1r{2PQmzsVF)j$J>)1Y=;+mb+N`?yXw8)g#T`{CUs-lWU^it27&4}+fq z$5iz)9?g|(E{)mZzss(<5);`Lq&_iaMwT=NorhOV`?|aTmv;BM*z5;*70)4jrcBT3 zQ~+8m)Xr!y$x$;46N{I>rN z{`<~|pRhWx;RMzUHU#!0!u5!*8*DGw)rPpd?DhQKB+TmF^nlfSqz4#MON#2gD|VQ; zN8mT)ZnTI!TPT&&&CUVZ8>3bk)mH^HX=cd4(gb$4c3@_Zj1sY7Ep9FPq< zmAvbG*4+@RyZyu|beHPY!(gpoS>=sK z9lFgr1Q3b>(QA&Ae|Vkry!@DHdwHpEUwXH(-v4OlaEX6)W8VNg&cUNyJlH=ol|egT z4@$R;5w@deJ@|EnQ9mxMODk_f}(w^%Gs+^{MhPgw~KwI}4Aw zUT@Q=Em-lFPpp}+ON6!V@p{MF9zVP9CzxQqJiE2UfCi^>h$Eg&UqXb4cS`xn{z0Wp zx_DI|=p*b>U(`OrhQKZ+uzg?~V8yl--9fMwupIAt8u&W`b^&Z!Kq8Ns@RBLl*A}7e zyA~Pp^>x4Y;`;r8#r~o%RjR?m{y|;T!Mf`A=;zn12j5XTly-`^TmpjlYjD|<+Yj6T z%@Q=z;?Lf^GMgjvP3sIM=2Z&^f122-*T5;Ol6^j0bn^*+D&?{Me96hkVH}?+u{zit zq&)Cfq@^I(zzSJrz?C^QhNeQSQ7 z`snxbU#knY<%28jM#8EIdzxG$5^xAHJQNWbU9KL47&i^|>OxDQ^-Z@_dqW)z1o<#=V=Xd3X2(JAy^?m1h z@GW28>GJOPjP>grM@kl1a=J)BxgF@fXEi|@b9a^cv1Y(dgBA6F3cPG!qwMNV- zZ+rG|ORM-I*cEk< zz>57#ar?jygB{{skFX)I`u9eCvl(n3SRGj8qp-2p`l06K4AqD+>%KI#6KOa09w**G z;?=>!>2Bvolipq=Y??61y$f@CTX{H7*bHICKBe}(hvI$(-O=qc&FJdYPk2A!_da2N@w#TV zGE+zumtA)6&@#OCeUNoDU#@ijnDLUfKb^{o0b_^q{x#-*A6gGyz`N{bt*Z%d1|I`| zk;k>FR^Yu4{2=&^!cD*0*%dc7yJ}&h3ub3nMOq07o7i~Iz~d-9ro=-w+xy-AlVjjJ zr`CgOLp>192W`x-@zmE5ed>48`;@gwE37Yx-vM-Q*#7jAxbsS% zNB!?4*vx}oAJZ>&NKv#);B(-`vTHmz2X-24fOj{>+g(KTNnG82jMqTZPw@6{U@y$9 z2me#F?@S%@ni#9gj)&`Zeq1{bVS_x3BYO$;&4)^yzhelVN8vf8NvrjNw0;}Pn&u7V zoq!BVPacQYg-X03g4f>9MZWVPuG z%zkk_xLx+3>7L9T3@9|id(FJF+vJ#suw2Z)8Qbt8xmh9J;_v!>8|YT)ZQ)g?=r<|& zPVh4+cr*C96ub}oLJB?%zLCJyo)h4gz(2@)tUXOXMrRZDPj#P4}~Db)GwwsyAfXuihW zsc!ur+T+j`$d2oG-VUpKYth4NbCOBu7NE1c72)ac)TDoA{@!T@Y&*1p+Wk1Rmwtae z{C0)6JIrp9i$!{b)z?l9s(6lVAy%?}o_IqiO4sQxf$asmRr%u)-FBRY$H1O#h|`^Q zU<+Wl7yS9QVmW$Auz0rzQpTpbhaQ%jD0@InP~dMbaa+E;9(>ieNtvvh52rW3k1QKGqbPC$8HKxfae6f z=DxNbJ3o$n5a0i1^<&fN&!*MSFg)hrF+8^(d_A0NL^ej0AFp30D|LZMN-x5n#}4Zh ztz~{q_0@)X>gQYQ!SB3~A5s5G^i{8WH!_*yTco3Q*axq=Rn~`imyO3t0al@_-xhLmN%$y4o`*9Xmq2*8lc<<{7h<7uD+| z_yBn8)%^HT<(VH2)g?nxw=`x6vd7(j3crckjo@!(oLRYS+>dPE$X>UPex%Dw zr|~)pubQ13!HJNU$#|Mf;Csx@ZKc~)-y87S_cI&8D}5cs`)`@;+n>#gSNUMxmTQGq z>qE3_-A3>_&#O$1sBe8?LDhrSbk%KEGjWMOLHvW)Y=r)(__~zY0@hxcsYC^v<4Zc} z6!9CLO<8zX9mnUPZ!TJu1c~+nw5`y-CWY1=l0XzZ?T!WPL179fo#S zDJ_$ssjAUL9!8-(2<=NsX>ERZM}qb+w9`LE9whe*(9S}8!t*U#E0U)K%d(^$7*i$p z72l?RK4&BNT88&XPSa#d+YGY1)901ua}&RQ`0ao0MlccDyH6miCn~egP8U`?JEgMC z!tdk@H^OrUaTzneK4r`1U{X@J_MGCLCGK3~M(mrU^ubaeM^m=8vNS636u0(a`0C#hlT=KbTnJFf0>W`DqR=s2+xGAMS@|~ObJs$14 z%w;fD|KX*C*Al#Hn>KJ#gk?vPr4#R8g<>*4*x2((GNYo{fHQvk;cgHI>0;X|3F7lLU!^~$&n?Y%wA>I+< zeJqS;ZI31j@4_2%cYT%WCdu%QMgDo^M(o^Vq`MO~1t-Zf+!&i$eCrcxmtpwL|NKVq z{VVxleXMtDe<+{WWD`V6ZMt?j0k45J>f?$cFUy++njy|!7y>&F_5opL zFPQy|&eK*80CU|IcS$kxN4s}JdYE{PT^qrBs`&Av>I{2}Q9Y%cZk^#gyoUB{xb;}r zDX*8nj)2Ycu1DDRKgWLPLl+w2#;7{5i(nrTMn1~+vAHpd4j@fHTR=nSwoy*{8f>VisNsX!9XNY^0xW#WJ#qE=_zE`lWQa-v?@PX3daB z)lD1WeHy;*uqVQA05##)DB1TRJ*&D~B5pTvUl5KZHum<)KhztJCElOFy3=xM4m)ft zseOd<4sHa$3*S_^XWV6Ig{lUZM}fYX)A$??jgQ5ybZdwDr)Y*}Qi|Y)vnmg|-FSd(-m3 zG0CD55#Q>^u*abtOQYrcl5yH*Xy<=SzC+Mf-T9;W){^ctwB68ZD(L(ZI%VQ?^D)Bu z2#b$Fr@#im%%=Br%V7J#UMwCw(!uA!X2HHFz}h0(6D$dqvj`o`CY<7{OLONk_S9V) zp>MvP=uKetU^j>tl@dF5&0>$+uPD7Z2;JUT+##@0uo19^QvDIx+9sz({h@Czrbr`q zh@B;%TEQgmK4zwLqxs+`Hke)qg)c>ff;uJg!1my|A`hRxfr3B~I>aHeDAvTkiN zUI!Ji@IR2Zk8Xr(E^4O%uzs)=-d!C;`Z$t7Kkg1?9!eDrtY`TMX5n=aUY`;#>uFWqSmXo#G z)6@^~-WAH)mUZ8yc^S)JDRtjt-y{oWo{@7}P;RldCs33PL_Z zgr4vBiiXfGJIApA|M^dD#O}4wrpxY}9N=oB^Mr2@{u8PLo(BFdseE8ouT&j-W0+c2 z_t{4N-8$fFt~-lg|6S&9hc|+oEw<~QEnug>20SMH-3M0vDevE)X{Iu7HT~U3*a%@e z347soeptV-yICXMXY&@X`?!nd_9w8#>R>SkzspCx@5s_ZB(x#L352u%pqcypM(~}V zE2f#y7g3tDVJ7?3^v-CuyyUv^uhDydi=7?LNuEHi$1+?klp+$ywc2DHUaj9}j>)^8 zX8xwdAB=4Kaf*ia_gH2QIB{o9wNpoxDYE$x3Xm=k?;P=p_prw23YckZW~#$U>tbN# zOvHa{Z=CW|{Wqll18im9^$6Pub_VQ!8RGgy6WGGJjbQIH0j(XMpia;6QMS}daQCcE zi2r{wUsS)~*}>lo*!lmn;r3VQUJ4G+O16%HxBl0L+k=n1%JP?lDxV94%@daAU617Z z4A?2K`vg#Qe||#W{9>x8%AnuVvf^EJhVou!T=uk68N1%l!s-aCC+vk`*qcqJ>-gPD zSPNl)s4(S;9iuw-#lNA<3_)`mnwN(*c_cH@eBH}^A@ko`RF@n7;I;VQ8^K*qB0a17 zNGB!qs`gdcWpm}@f!l+430^DPHiKo_KgKK3AH9DEKi#jV_YK>hSqqEqzs0_J+NQIW zsNMMYhK30nBTPx@G5PoOOh@ezHVxMB^i8*iiL;l&X2F`ltp53}es~hBAMD$ub($C# zecop(Gn!D8*F(GACs6S{+Goe6yYoZ04*L66YQc9tV>7fjB^!-k4Pb|PcQQr)w0jYY z{tIM^{yj?YAhbuIeR8Pt=_jRrs{$RdMCEteHz?v8_}%gPIMS9Y83R!9t}iW;UhCCS z-4)2gS+H)fKlgcv>jjOv>IF>E+H%?o!MoYOnJ?SB_HH!6qwephpP$$a_d7=RE-R7R zsYa3ea_=a1r@+?S#@8v)x67VQN}^aHbHLV3$v4S2PBJI(uM zw-LNGSbnevCfv6I!FK2hYPQq{hPj3ddrL_^7MD0RbxI5;kZrZ3j7j4$H zvnxZCVG%w@p0yeLYl`iPq3Z9Sz#ACZtg!9L$?Ra{q!1_+n6ruEjyRE}2Y<;zy~nz(UX%u zuKDj7Z(h6^-knkA6C~o)Hrv`-O`en?>L{#Y8ym!D0zPvu`Txg9eQN{cnXsM` z_ugAQ`LdnJ>Tp#`+1$6RYkolgc{oM2OmwrXTbNT;K#s^q~P=5ClmNk1@;g468I%=t4`}~A^Tp@RMmC3cxxEX zqrQq<^OHFcU6+k4+{3yj9^9t8b>q~|R%`tS^m+?=nDmPGtnK7=0DJ~~w{SQz55Oea zl`G!EvXAh2!Zo$hBb|N_>=f8n1)z%J>uvNO^BLg^ z4A>~xZ;Ia=;(nT5#;S)Hx45SIoo>61cvSx*_7L=vbv^1=JHal2eRZojV5EO+ZSL2$ z=vU%D090P z^K)$0ZC@khSgz1ig?7fZ`k#>ZHp-s?p#HbI&#i!0Dyh)Aa@nl(9P5>FJ!ia?*I{@s z@7fH$?|FMYp0G77ueQeAmu_on3ySHYlkgkr*bLX1fZh3D@DcDg2{5^n7;`FvPhYAY zR|uaYd_dtm!Ya-){&#Mc+^e?(tOD$36wV{M2C(f3tQD*l>;|K9bp2q%F--ko80-WX zrbjVfe{3CspH2MjCw#1H)7`~KzN7o6--rR=_R)0Z?zG;Cxn=W`IpQ2A&U-3hkog0< z#4atSub1@wEKD-2Hzs>goB4`n;IVM+X6&psc0<{{d-}Rg)YoX4 z?$S?R8N#;Dcz48>CyyKOAGnToRvxV#VbFs3-WmVrrQe$O=RJQD5Hlern{kNlrNKyJbm8CV zFSl*Fds9d|{_Py&$CdTk%3i_`uSqv?Cx|;j+^_KN^d2%F|E5VVaW!R&8$DfoFjve_ zxg=+8uRgm7ue0!awRl;dg~0AH8M7MD&g=$)HlVu*-9BIb=?tzxe-^{<;Do392I;R=b3cry%HUbBLg3=!S+j-5J9~y+nRElXaaj!1pQgyVJ3oDxG%l0IaXB>; zX_S563IE)V^fAloz7`f2;J5dko534+cYR(*Vcp!gY88D(*j>J^<7a)XJdtlk7Y=+c zwLI)6luY--YhfRLv#0UH@}1BF5wG6-%r#nBN~xSqYpWyhI()#lN9GXCz|}Xns|v85 zBW(1;o57Pp`REPDN$gPX@6b7t<#JJA5m0^iGCW!iZn|%Gkk`13*?OPJn4S2EP2Zhg zqh*cp{v(^geWAUaHcltiy=&Wj#GUz7bViu>D6XYT9kI89s)@!5Q#ov_ju3PjN=W5c zfZy`;X0XnCsvcnxz~>~U(wuEnL8SfnZw7a0ut>;RLY6tGP?>!mu9}nvLv>&KWI{+O z;eKKFL?5h2NN4)9o56FuE-9Pe5mQ%Ll z%@^Uv4xAFTtIhn9(Tl_#``l)*H$|@{%52|h=16Nwk-Kf|DQr-GN29ScvXyj(90h~U z&{&~#N1;6fZS?({gpFhK$)eu4af?*lTJ;>f_I@Gq?Rwe8H|D>)V6sbh-B&LD+R&or zz6_5G$MA{qu19*JW)uI$7dPGBEsnL--OU9#`8vygBVoq~dn_E|qx>i4oFsfF`A3k; z#lgm*ad;n=b?eWBRq?ld8fcw<%Kv=Y!ry8co0N z#~{*d=I*KlV@`HhyPl!Eh3&S(%#=1RP~ z_3du+_Tx!*ok?w8#RA{C6Pp3ch~~q~{4#3RuT$0$cJ#}e?rwa7CCANRHGhC_N%ULl z46_TI0H*XFEgXs0B)k^jb*Qwy&Bq({MdP)HeIzg5YM7HeFTtz!Bx8c|#Utz-*bXqW zi})=Y_99pT>}PqG&+<-eBjsiLMSLOP(f+xp?W1wf+dGBf)c#rQ>x1xW{c3!@qc@z- zM17@G`*g7pw5z+kuN3vwQFzsTZ8PY6C7Ddrcf`x*YojXj)zqBzy7dou)vs;_O)5K& z{1a9GPJMt~FTiXf9kE9OIIoks{Cr9qMd^FJHMZqt7e3-G0U6ZXZaJmJ0L4o$c~ zzr`JoyYn~JZZcJ;isvykoEC>4>kBK;UwX#l;eETZc`N=m^>g*(!I0iff7rZ1jBY57 zUkwB`KsO5AXh_GsLry;-E2=#PI;>6gxdCWTK>GsG@(3FNTS{OPU>CriZ&Z$M2CV8Q z9uM~^Deh6Qnglinwi8Tw)1$Up0&4;LT8f-TZRPt3>%vU)QZ&;Z>nF7+x8t>syEQ?0 ztNj|mE`dF~mEAxWKCsRBx9j^~du1z?cWbE#tCI=%jqiNieR~J2g})iFlVFRyOQz#? zjm;$Lig0twn~#5`SP|{>v#7c&cbWpp2vevR>Am*Wzf!1PNp`z`>yE0KXjp{(s zc~#NdoNwSCo!775i$rNT>l89`q}@yGSTVaQmEJ}WrxI~K@@YHHGphZtq6-)MmKVnB z(gxZfEA4`QYqxk^@YD(Idjz{{e2U)Q{|i}bF6y_>ypnz<{af_UplyZUatSRAS}$m6 zilS+Gp!I;ZJ85Feia`^3vxTPo3uindtx7lMX=?7G2D}*;_uJx7J@ka4`EC;OIQ!9;hZefJ`)4`B-=4AD5p2{F$5-GNh8AA*GtEmz{D zqhaJ<^6$lyGAcs6CdB)Nq=#!f{>njX1MMs!V6=h#rI-bk9BO~87U3fZe^A1m@=~^6 z4!mQ5;iJBKRT_`3`iyqOtEubP?~|!`&iRJ{*9*555W5DvE5W%mRSvW8wPL;)NQRUNs_$`Qk zE#tfA9}~tGg-MQZK<`?N_&t!d7P3yY%i8gQ9DBpEmXDM96g7svO4j(mn3S|D`mLd4 z{+?qyr(q8`X6Jl_;VC1?R~2NfxU%26!OoX6FY5TFW;`gXoj$Vg$>sqBB-;9kA#u@G zA&uBo=uhxl>w)qsbeodtD41xpBlSL$_=_XpUvhQ7m1E~gm6htJJ#)+$qXtvQ_<6IE z7B11vnZYqBwF~GU;9hhy0@_;8&cko%bJe-s*nlKm?F^ZgkTYXol%+j2f;az~e*Fz4 z#VfnwF#wWP{3-ej`YiBufUgOByV)}JH?0bB--EDbgqe5ExW1vvKzu7Kr#QaVG}&Vx zhN5fhEXGOloS6!JzP8_WCOqm&wQG8%D({-N5WF4Wy_I?4x1}(CI$Ikt@XBFUQa*FR zn|)n>+$>46thh1~HA`|Z7{31b!2wv>M*3+D2Mzi)$(XY7WomPHt& zXyPi!CA9UR#XvhkQFQ&KKv9Yoqc0c#MA>lq!nuK)?FvL2miRf~&A-0i zlC~q4JVzmDHJ~jLg0g+8eBhI~=V4v%NrFesyt&H?llxLHjgZv|Ss2D8)GfDyVtq`% zyWI)i#v3q~AiTK5wy%=-pj{(`;^)b-qf_9m-ef8YR7nX59 zPjH0dq5|jXLXeptwI?$dA4BeFMthb7@hqFDH(4)`1#h2vo2K@L)~)_!XV?N4Js zotLQe5b9*>Ven+szTBal#CS=$cOvf02m19n+D^HvKF8^=WaF8mk|=jM8_FR-UL|Cu z;zQ~!kahaj=9!=a?*7@Wi%nx>VjC0)LM_|MJ~0$L#%DaODhy(C@i!Ogv_9Ie-$QhC zP0W%r$6Mrl_dxup7Q~tGSif})ev2O^tBFtn)Q8sTE`(PiT=`jG5k2Y!tqZgTcHOGE zWLXTuw6qkYHeg~;Qm}wFp##2~=>M_y{ITR|q4092oc%51T;YGR-@3!cpHCPIN8~^@ zpRz)Gk~*w|tlCcK(ssB>s!Qyv+sF9JI!yb#DKvQ$j zh%0j(ji4<7Z718`P(A_<732HcZapm3XN)K4;S}l9d|U*)J=Tl>zc~S^i?q;~l!Bgq ztHn;+@tYj~gyY@zG3X}z>s89M46>Tu?zevDqaz-F4)aE1f+_ySU6rZGTLyW3f9|)w zrkzNb6T|6vIKE5TH7Xs71SbdIqM70$DZi%<@}iQzcl)iq>}OTw?95N7b4l6vlm?zj z@~m<|olkipWwI>iNx7PbS53GvpbuE-h{J2TJ;t(7PJ|bqVU{^5m z@Afe1{V=_d-}8RI>�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%0DiuOxoe`_6L3bGZXGS2=f0?`7@eKBJ%%9 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 \ - | sed -n '/<...> search starts here:/,/End of search list./{ s| \(/.*\)|-I \1|p }') - -SKEL := $(addprefix $(OUTPUT)/,$(notdir $(patsubst %.bpf.c, %.skel.h, $(wildcard bpf/*.bpf.c)))) - -.PHONY: all -all: $(SO) - -.PHONY: clean -clean: - rm -rf *.o $(SO) $(APP) $(OUTPUT) bpf/vmlinux.h ${SRC}/bpf_init.c - $(MAKE) -C $(LIBBPF_SRC) clean - -$(OUTPUT) $(OUTPUT)/libbpf: - mkdir -p $@ - -# build libbpf.a -$(LIBBPF_OBJ): $(wildcard $(LIBBPF_SRC)/*.[ch] $(LIBBPF_SRC)/Makefile) | $(OUTPUT)/libbpf - touch src/bpf_init.c - $(MAKE) -C $(LIBBPF_SRC) BUILD_STATIC_ONLY=1 - cp $(LIBBPF_SRC)/libbpf.a ./ - -bpf/vmlinux.h: $(wildcard vmlinux/*.h) - ln -sf ../../hive/header/$(ARCH)/vmlinux-$(VMLINUX_VERSION).h bpf/vmlinux.h - python tool/replaceHead.py bpf/lbc.org.h bpf/vmlinux.h bpf/lbc.h - -.PRECIOUS: $(OUTPUT)/lbc.bpf.o - -.PRECIOUS: $(OUTPUT)/lbc.skel.h - -# compile bpf program -$(OUTPUT)/lbc.bpf.o: bpf/lbc.bpf.c $(LIBBPF_OBJ) $(wildcard bpf/lbc.h) bpf/vmlinux.h | $(OUTPUT) - $(CLANG) -g -O2 -target bpf -D__TARGET_ARCH_$(CARCH) $(INCLUDES) $(CLANG_BPF_SYS_INCLUDES) $(CLFLAG) -c $(filter %.c,$^) -o $@ -# $(CC) $(CFLAGS) -c $(filter %.c,$^) -w -# $(LLVM_STRIP) -g $@ # strip useless DWARF info - -# gen skeleton header file -$(OUTPUT)/lbc.skel.h: $(OUTPUT)/lbc.bpf.o - $(BPFTOOL) gen skeleton $< > $@ - -$(SRC)/bpf_init.c: $(OUTPUT)/lbc.skel.h - python3 tool/generateUser.py $(VMLINUX_VERSION) $(ARCH) $(CLFLAG) - -# link pingtrace elf -touch: $(SKEL) - python tool/generateUser.py - -$(SRC)/bpf_init.o: $(SRC)/bpf_init.c - $(CC) $(CFLAGS) -fPIC -c $< -o $@ - -$(SRC)/perf_event_attr.o: $(SRC)/perf_event_attr.c $(SRC)/perf_event_attr.h $(SRC)/cJSON.h - $(CC) $(CFLAGS) -fPIC -c $< -o $@ - -$(SRC)/cJSON.o: $(SRC)/cJSON.c $(SRC)/cJSON.h - $(CC) $(CFLAGS) -fPIC -c $< -o $@ - -$(SRC)/lbc_static.o: $(SRC)/lbc_static.c $(SKEL) $(SRC)/perf_event_attr.h - $(CC) $(CFLAGS) -fPIC -c $< -o $@ - -OBJS=$(SRC)/bpf_init.o $(SRC)/perf_event_attr.o $(SRC)/cJSON.o $(SRC)/lbc_static.o - -$(SO): %: $(OBJS) $(LIBBPF_OBJ) $(LIB_Z_ELF_BFD_OBJ) - $(CC) $(CFLAGS) -shared -fPIC -o $@ $^ diff --git a/compile/remote-compile/lbc/bpf/lbc.bpf.c b/compile/remote-compile/lbc/bpf/lbc.bpf.c deleted file mode 100644 index c907e7a..0000000 --- a/compile/remote-compile/lbc/bpf/lbc.bpf.c +++ /dev/null @@ -1,47 +0,0 @@ -// -// Created by 廖肇燕 on 2021/7/15. -// -#include "lbc.h" - -struct data_t { - u32 pid; - u32 stack_id; - u32 parent_id; - u64 cookie; - char comm[16]; -} ; - -LBC_PERF_OUTPUT(my_map, struct data_t, 1024); -LBC_HASH(pids, u64, u32, 1024); -LBC_STACK(callStack,32); - -SEC("kprobe/_do_fork") -int bpf_prog1(struct pt_regs *ctx) -{ - struct data_t data = {0, 0}; - u32 *pcnt, cnt = 1; - u32 pid; - struct task_struct *parent; - - - data.pid = bpf_get_current_pid_tgid()>>32; - data.cookie = 0x12345678; - bpf_get_current_comm(&(data.comm), 16); - data.stack_id = bpf_get_stackid(ctx, &callStack, KERN_STACKID_FLAGS); - bpf_perf_event_output(ctx, &my_map, BPF_F_CURRENT_CPU, &data, sizeof(data)); - parent = (struct task_struct *)PT_REGS_PARM1(ctx); - data.parent_id = BPF_CORE_READ(parent, pid); - - pid = data.pid; - pcnt = bpf_map_lookup_elem(&pids, &pid); - if (pcnt) { - cnt = *pcnt + 1; - bpf_printk("count: %d\n", cnt); - } else { - cnt = 1; - } - bpf_map_update_elem(&pids, &pid, &cnt, BPF_ANY); - return 0; -} - -char _license[] SEC("license") = "GPL"; diff --git a/compile/remote-compile/lbc/bpf/lbc.h b/compile/remote-compile/lbc/bpf/lbc.h deleted file mode 100644 index 36da75b..0000000 --- a/compile/remote-compile/lbc/bpf/lbc.h +++ /dev/null @@ -1,121 +0,0 @@ -// -// Created by 廖肇燕 on 2021/7/16. -// - -#ifndef LBC_LBC_H -#define LBC_LBC_H - -#define _LINUX_POSIX_TYPES_H -#define __ASM_GENERIC_POSIX_TYPES_H - -#define PERF_MAX_STACK_DEPTH 127 -#define BPF_F_FAST_STACK_CMP (1ULL << 9) - -#define KERN_STACKID_FLAGS (0 | BPF_F_FAST_STACK_CMP) -#define USER_STACKID_FLAGS (0 | BPF_F_FAST_STACK_CMP | BPF_F_USER_STACK) - -typedef unsigned long long u64; -typedef signed long long s64; -typedef unsigned int u32; -typedef signed int s32; -typedef unsigned short u16; -typedef signed short s16; -typedef unsigned char u8; -typedef signed char s8; - -enum { - BPF_ANY = 0, /* create new element or update existing */ - BPF_NOEXIST = 1, /* create new element if it didn't exist */ - BPF_EXIST = 2, /* update existing element */ - BPF_F_LOCK = 4, /* spin_lock-ed map_lookup/map_update */ -}; - -#define LBC_PERF_OUTPUT(MAPS, CELL, ENTRIES) \ - struct bpf_map_def SEC("maps") MAPS = { \ - .type = BPF_MAP_TYPE_PERF_EVENT_ARRAY, \ - .key_size = sizeof(int), \ - .value_size = sizeof(s32), \ - .max_entries = ENTRIES, \ - } - -#define LBC_HASH(MAPS, KEY_T, VALUE_T, ENTRIES) \ - struct bpf_map_def SEC("maps") MAPS = { \ - .type = BPF_MAP_TYPE_HASH, \ - .key_size = sizeof(KEY_T), \ - .value_size = sizeof(VALUE_T), \ - .max_entries = ENTRIES, \ - } - -#define LBC_ARRAY(MAPS, KEY_T, VALUE_T, ENTRIES) \ - struct bpf_map_def SEC("maps") MAPS = { \ - .type = BPF_MAP_TYPE_ARRAY, \ - .key_size = sizeof(KEY_T), \ - .value_size = sizeof(VALUE_T), \ - .max_entries = ENTRIES, \ - } - -#define LBC_LRU_HASH(MAPS, KEY_T, VALUE_T, ENTRIES) \ - struct bpf_map_def SEC("maps") MAPS = { \ - .type = BPF_MAP_TYPE_LRU_HASH, \ - .key_size = sizeof(KEY_T), \ - .value_size = sizeof(VALUE_T), \ - .max_entries = ENTRIES, \ - } - -#define LBC_PERCPU_HASH(MAPS, KEY_T, VALUE_T, ENTRIES) \ - struct bpf_map_def SEC("maps") MAPS = { \ - .type = BPF_MAP_TYPE_PERCPU_HASH, \ - .key_size = sizeof(KEY_T), \ - .value_size = sizeof(VALUE_T), \ - .max_entries = ENTRIES, \ - } - -#define LBC_LRU_PERCPU_HASH(MAPS, KEY_T, VALUE_T, ENTRIES) \ - struct bpf_map_def SEC("maps") MAPS = { \ - .type = BPF_MAP_TYPE_LRU_PERCPU_HASH, \ - .key_size = sizeof(KEY_T), \ - .value_size = sizeof(VALUE_T), \ - .max_entries = ENTRIES, \ - } - -#define LBC_STACK(MAPS, ENTRIES) \ - struct bpf_map_def SEC("maps") MAPS = { \ - .type = BPF_MAP_TYPE_STACK_TRACE, \ - .key_size = sizeof(u32), \ - .value_size = PERF_MAX_STACK_DEPTH * sizeof(u64), \ - .max_entries = ENTRIES, \ - } - -#define _(P) ({typeof(P) val = 0; bpf_probe_read((void*)&val, sizeof(val), (const void*)&P); val;}) - -#include "vmlinux.h" -#include -#include -#include -#include - -#ifndef NULL -#define NULL ((void*)0) -#endif -#ifndef ntohs -#define ntohs(x) (0xff00 & x << 8) \ - |(0x00ff & x >> 8) -#endif -#ifndef ntohl -#define ntohl(x) (0xff000000 & x << 24) \ - |(0x00ff0000 & x << 8) \ - |(0x0000ff00 & x >> 8) \ - |(0x000000ff & x >> 24) -#endif -#ifndef ntohll -#define ntohll(x) ((((long long)ntohl(x))<<32) + (ntohl((x)>>32))) -#endif -#define BPF_F_CURRENT_CPU 0xffffffffULL - -#ifdef LBC_DEBUG -#define lbc_debug(...) bpf_printk(__VA_ARGS__) -#else -#define lbc_debug(...) -#endif - -#endif //LBC_LBC_H diff --git a/compile/remote-compile/lbc/bpf/lbc.org.h b/compile/remote-compile/lbc/bpf/lbc.org.h deleted file mode 100644 index 1b6f30a..0000000 --- a/compile/remote-compile/lbc/bpf/lbc.org.h +++ /dev/null @@ -1,209 +0,0 @@ -// -// Created by 廖肇燕 on 2021/7/16. -// - -#ifndef LBC_LBC_H -#define LBC_LBC_H - -#include "vmlinux.h" - -#ifndef _LINUX_POSIX_TYPES_H -#define _LINUX_POSIX_TYPES_H -#endif -#ifndef _LINUX_POSIX_TYPES_H -#define __ASM_GENERIC_POSIX_TYPES_H -#endif - -#ifndef PERF_MAX_STACK_DEPTH -#define PERF_MAX_STACK_DEPTH 127 -#endif - -ENUM_DEFINE_STACK_CMP - -ENUM_DEFINE_BPF_ANY - -#ifndef KERN_STACKID_FLAGS -#define KERN_STACKID_FLAGS (0 | BPF_F_FAST_STACK_CMP) -#endif -#ifndef USER_STACKID_FLAGS -#define USER_STACKID_FLAGS (0 | BPF_F_FAST_STACK_CMP | BPF_F_USER_STACK) -#endif - -typedef unsigned long long u64; -typedef signed long long s64; -typedef unsigned int u32; -typedef signed int s32; -typedef unsigned short u16; -typedef signed short s16; -typedef unsigned char u8; -typedef signed char s8; - -#define LBC_PERF_OUTPUT(MAPS, CELL, ENTRIES) \ - struct bpf_map_def SEC("maps") MAPS = { \ - .type = BPF_MAP_TYPE_PERF_EVENT_ARRAY, \ - .key_size = sizeof(int), \ - .value_size = sizeof(s32), \ - .max_entries = ENTRIES, \ - } - -#define LBC_HASH(MAPS, KEY_T, VALUE_T, ENTRIES) \ - struct bpf_map_def SEC("maps") MAPS = { \ - .type = BPF_MAP_TYPE_HASH, \ - .key_size = sizeof(KEY_T), \ - .value_size = sizeof(VALUE_T), \ - .max_entries = ENTRIES, \ - } - -#define LBC_ARRAY(MAPS, KEY_T, VALUE_T, ENTRIES) \ - struct bpf_map_def SEC("maps") MAPS = { \ - .type = BPF_MAP_TYPE_ARRAY, \ - .key_size = sizeof(KEY_T), \ - .value_size = sizeof(VALUE_T), \ - .max_entries = ENTRIES, \ - } - -#define LBC_HIST2(MAPS) \ - struct bpf_map_def SEC("maps") MAPS = { \ - .type = BPF_MAP_TYPE_ARRAY, \ - .key_size = sizeof(int), \ - .value_size = sizeof(long), \ - .max_entries = 64, \ - } - -#define LBC_HIST10(MAPS) \ - struct bpf_map_def SEC("maps") MAPS = { \ - .type = BPF_MAP_TYPE_ARRAY, \ - .key_size = sizeof(int), \ - .value_size = sizeof(long), \ - .max_entries = 20, \ - } - -#define LBC_LRU_HASH(MAPS, KEY_T, VALUE_T, ENTRIES) \ - struct bpf_map_def SEC("maps") MAPS = { \ - .type = BPF_MAP_TYPE_LRU_HASH, \ - .key_size = sizeof(KEY_T), \ - .value_size = sizeof(VALUE_T), \ - .max_entries = ENTRIES, \ - } - -#define LBC_PERCPU_HASH(MAPS, KEY_T, VALUE_T, ENTRIES) \ - struct bpf_map_def SEC("maps") MAPS = { \ - .type = BPF_MAP_TYPE_PERCPU_HASH, \ - .key_size = sizeof(KEY_T), \ - .value_size = sizeof(VALUE_T), \ - .max_entries = ENTRIES, \ - } - -#define LBC_LRU_PERCPU_HASH(MAPS, KEY_T, VALUE_T, ENTRIES) \ - struct bpf_map_def SEC("maps") MAPS = { \ - .type = BPF_MAP_TYPE_LRU_PERCPU_HASH, \ - .key_size = sizeof(KEY_T), \ - .value_size = sizeof(VALUE_T), \ - .max_entries = ENTRIES, \ - } - -#define LBC_PERCPU_ARRAY(MAPS, KEY_T, VALUE_T, ENTRIES) \ - struct bpf_map_def SEC("maps") MAPS = { \ - .type = BPF_MAP_TYPE_PERCPU_ARRAY, \ - .key_size = sizeof(KEY_T), \ - .value_size = sizeof(VALUE_T), \ - .max_entries = ENTRIES, \ - } - -#define LBC_STACK(MAPS, ENTRIES) \ - struct bpf_map_def SEC("maps") MAPS = { \ - .type = BPF_MAP_TYPE_STACK_TRACE, \ - .key_size = sizeof(u32), \ - .value_size = PERF_MAX_STACK_DEPTH * sizeof(u64), \ - .max_entries = ENTRIES, \ - } - -#define _(P) ({typeof(P) val = 0; bpf_probe_read((void*)&val, sizeof(val), (const void*)&P); val;}) - -#include -#include -#include -#include - -#ifndef NULL -#define NULL ((void*)0) -#endif -#ifndef ntohs -#define ntohs(x) (0xff00 & x << 8) \ - |(0x00ff & x >> 8) -#endif -#ifndef ntohl -#define ntohl(x) (0xff000000 & x << 24) \ - |(0x00ff0000 & x << 8) \ - |(0x0000ff00 & x >> 8) \ - |(0x000000ff & x >> 24) -#endif -#ifndef ntohll -#define ntohll(x) ((((long long)ntohl(x))<<32) + (ntohl((x)>>32))) -#endif -#define BPF_F_CURRENT_CPU 0xffffffffULL - -#ifdef LBC_DEBUG -#define lbc_debug(...) bpf_printk(__VA_ARGS__) -#else -#define lbc_debug(...) -#endif - - -static inline int fast_log2(long value) -{ - int n = 0; - int i; - - if (value < 1) { - goto end; - } - - #pragma unroll - for (i = 32; i > 0; i /= 2) { - long v = 1ULL << i; - if (value >= v) { - n += i; - value = value >> i; - } - } -end: - return n; -} - -#define NUM_E16 10000000000000000ULL -#define NUM_E8 100000000ULL -#define NUM_E4 10000ULL -#define NUM_E2 100ULL -#define NUM_E1 10ULL -static inline int fast_log10(long v) -{ - int n = 0; - if (v >= NUM_E16) {n += 16; v /= NUM_E16;} - if (v >= NUM_E8) {n += 8; v /= NUM_E8;} - if (v >= NUM_E4) {n += 4; v /= NUM_E4;} - if (v >= NUM_E2) {n += 2; v /= NUM_E2;} - if (v >= NUM_E1) {n += 1;} - return n; -} - -static inline void add_hist(struct bpf_map_def* maps, int k, int v) { - u64 *pv = bpf_map_lookup_elem(maps, &k); - if (pv) { - __sync_fetch_and_add(pv, v); - } -} - -#define incr_hist(maps, k) add_hist(maps, k, 1) - -static inline void hist2_push(struct bpf_map_def* maps, long v) { - int k = fast_log2(v); - incr_hist(maps, k); -} - -static inline void hist10_push(struct bpf_map_def* maps, long v) { - int k = fast_log10(v); - incr_hist(maps, k); -} - -#endif //LBC_LBC_H diff --git a/compile/remote-compile/lbc/cmake-build-debug/CMakeCache.txt b/compile/remote-compile/lbc/cmake-build-debug/CMakeCache.txt deleted file mode 100644 index a6ae084..0000000 --- a/compile/remote-compile/lbc/cmake-build-debug/CMakeCache.txt +++ /dev/null @@ -1,347 +0,0 @@ -# This is the CMakeCache file. -# For build in directory: /Users/liaozhaoyan/work/sh/c/lbc/cmake-build-debug -# It was generated by CMake: /Applications/CLion.app/Contents/bin/cmake/mac/bin/cmake -# You can edit this file to change values found and used by cmake. -# If you do not want to change any of the values, simply exit the editor. -# If you do want to change a value, simply edit, save, and exit the editor. -# The syntax for the file is as follows: -# KEY:TYPE=VALUE -# KEY is the name of a variable in the cache. -# TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!. -# VALUE is the current value for the KEY. - -######################## -# EXTERNAL cache entries -######################## - -//Path to a program. -CMAKE_ADDR2LINE:FILEPATH=CMAKE_ADDR2LINE-NOTFOUND - -//Path to a program. -CMAKE_AR:FILEPATH=/Library/Developer/CommandLineTools/usr/bin/ar - -//Choose the type of build, options are: None Debug Release RelWithDebInfo -// MinSizeRel ... -CMAKE_BUILD_TYPE:STRING=Debug - -//Id string of the compiler for the CodeBlocks IDE. Automatically -// detected when left empty -CMAKE_CODEBLOCKS_COMPILER_ID:STRING= - -//The CodeBlocks executable -CMAKE_CODEBLOCKS_EXECUTABLE:FILEPATH=CMAKE_CODEBLOCKS_EXECUTABLE-NOTFOUND - -//Additional command line arguments when CodeBlocks invokes make. -// Enter e.g. -j to get parallel builds -CMAKE_CODEBLOCKS_MAKE_ARGUMENTS:STRING=-j8 - -//Enable/Disable color output during build. -CMAKE_COLOR_MAKEFILE:BOOL=ON - -//C compiler -CMAKE_C_COMPILER:FILEPATH=/Library/Developer/CommandLineTools/usr/bin/cc - -//Flags used by the C compiler during all build types. -CMAKE_C_FLAGS:STRING= - -//Flags used by the C compiler during DEBUG builds. -CMAKE_C_FLAGS_DEBUG:STRING=-g - -//Flags used by the C compiler during MINSIZEREL builds. -CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG - -//Flags used by the C compiler during RELEASE builds. -CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG - -//Flags used by the C compiler during RELWITHDEBINFO builds. -CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG - -//Path to a program. -CMAKE_DLLTOOL:FILEPATH=CMAKE_DLLTOOL-NOTFOUND - -//Executable file format -CMAKE_EXECUTABLE_FORMAT:STRING=MACHO - -//Flags used by the linker during all build types. -CMAKE_EXE_LINKER_FLAGS:STRING= - -//Flags used by the linker during DEBUG builds. -CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING= - -//Flags used by the linker during MINSIZEREL builds. -CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING= - -//Flags used by the linker during RELEASE builds. -CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING= - -//Flags used by the linker during RELWITHDEBINFO builds. -CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING= - -//Enable/Disable output of compile commands during generation. -CMAKE_EXPORT_COMPILE_COMMANDS:BOOL= - -//Path to a program. -CMAKE_INSTALL_NAME_TOOL:FILEPATH=/usr/bin/install_name_tool - -//Install path prefix, prepended onto install directories. -CMAKE_INSTALL_PREFIX:PATH=/usr/local - -//Path to a program. -CMAKE_LINKER:FILEPATH=/Library/Developer/CommandLineTools/usr/bin/ld - -//Path to a program. -CMAKE_MAKE_PROGRAM:FILEPATH=/usr/bin/make - -//Flags used by the linker during the creation of modules during -// all build types. -CMAKE_MODULE_LINKER_FLAGS:STRING= - -//Flags used by the linker during the creation of modules during -// DEBUG builds. -CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING= - -//Flags used by the linker during the creation of modules during -// MINSIZEREL builds. -CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING= - -//Flags used by the linker during the creation of modules during -// RELEASE builds. -CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING= - -//Flags used by the linker during the creation of modules during -// RELWITHDEBINFO builds. -CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING= - -//Path to a program. -CMAKE_NM:FILEPATH=/Library/Developer/CommandLineTools/usr/bin/nm - -//Path to a program. -CMAKE_OBJCOPY:FILEPATH=CMAKE_OBJCOPY-NOTFOUND - -//Path to a program. -CMAKE_OBJDUMP:FILEPATH=/Library/Developer/CommandLineTools/usr/bin/objdump - -//Build architectures for OSX -CMAKE_OSX_ARCHITECTURES:STRING= - -//Minimum OS X version to target for deployment (at runtime); newer -// APIs weak linked. Set to empty string for default value. -CMAKE_OSX_DEPLOYMENT_TARGET:STRING= - -//The product will be built against the headers and libraries located -// inside the indicated SDK. -CMAKE_OSX_SYSROOT:PATH=/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk - -//Value Computed by CMake -CMAKE_PROJECT_DESCRIPTION:STATIC= - -//Value Computed by CMake -CMAKE_PROJECT_HOMEPAGE_URL:STATIC= - -//Value Computed by CMake -CMAKE_PROJECT_NAME:STATIC=lbc - -//Path to a program. -CMAKE_RANLIB:FILEPATH=/Library/Developer/CommandLineTools/usr/bin/ranlib - -//Path to a program. -CMAKE_READELF:FILEPATH=CMAKE_READELF-NOTFOUND - -//Flags used by the linker during the creation of shared libraries -// during all build types. -CMAKE_SHARED_LINKER_FLAGS:STRING= - -//Flags used by the linker during the creation of shared libraries -// during DEBUG builds. -CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING= - -//Flags used by the linker during the creation of shared libraries -// during MINSIZEREL builds. -CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING= - -//Flags used by the linker during the creation of shared libraries -// during RELEASE builds. -CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING= - -//Flags used by the linker during the creation of shared libraries -// during RELWITHDEBINFO builds. -CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING= - -//If set, runtime paths are not added when installing shared libraries, -// but are added when building. -CMAKE_SKIP_INSTALL_RPATH:BOOL=NO - -//If set, runtime paths are not added when using shared libraries. -CMAKE_SKIP_RPATH:BOOL=NO - -//Flags used by the linker during the creation of static libraries -// during all build types. -CMAKE_STATIC_LINKER_FLAGS:STRING= - -//Flags used by the linker during the creation of static libraries -// during DEBUG builds. -CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING= - -//Flags used by the linker during the creation of static libraries -// during MINSIZEREL builds. -CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING= - -//Flags used by the linker during the creation of static libraries -// during RELEASE builds. -CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING= - -//Flags used by the linker during the creation of static libraries -// during RELWITHDEBINFO builds. -CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING= - -//Path to a program. -CMAKE_STRIP:FILEPATH=/Library/Developer/CommandLineTools/usr/bin/strip - -//If this value is on, makefiles will be generated without the -// .SILENT directive, and all commands will be echoed to the console -// during the make. This is useful for debugging only. With Visual -// Studio IDE projects all commands are done without /nologo. -CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE - -//Path to a program. -ProcessorCount_cmd_sysctl:FILEPATH=/usr/sbin/sysctl - -//Value Computed by CMake -lbc_BINARY_DIR:STATIC=/Users/liaozhaoyan/work/sh/c/lbc/cmake-build-debug - -//Value Computed by CMake -lbc_SOURCE_DIR:STATIC=/Users/liaozhaoyan/work/sh/c/lbc - - -######################## -# INTERNAL cache entries -######################## - -//ADVANCED property for variable: CMAKE_ADDR2LINE -CMAKE_ADDR2LINE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_AR -CMAKE_AR-ADVANCED:INTERNAL=1 -//This is the directory where this CMakeCache.txt was created -CMAKE_CACHEFILE_DIR:INTERNAL=/Users/liaozhaoyan/work/sh/c/lbc/cmake-build-debug -//Major version of cmake used to create the current loaded cache -CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3 -//Minor version of cmake used to create the current loaded cache -CMAKE_CACHE_MINOR_VERSION:INTERNAL=19 -//Patch version of cmake used to create the current loaded cache -CMAKE_CACHE_PATCH_VERSION:INTERNAL=2 -//ADVANCED property for variable: CMAKE_COLOR_MAKEFILE -CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1 -//Path to CMake executable. -CMAKE_COMMAND:INTERNAL=/Applications/CLion.app/Contents/bin/cmake/mac/bin/cmake -//Path to cpack program executable. -CMAKE_CPACK_COMMAND:INTERNAL=/Applications/CLion.app/Contents/bin/cmake/mac/bin/cpack -//Path to ctest program executable. -CMAKE_CTEST_COMMAND:INTERNAL=/Applications/CLion.app/Contents/bin/cmake/mac/bin/ctest -//ADVANCED property for variable: CMAKE_C_COMPILER -CMAKE_C_COMPILER-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_C_FLAGS -CMAKE_C_FLAGS-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG -CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL -CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE -CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO -CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_DLLTOOL -CMAKE_DLLTOOL-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS -CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG -CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL -CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE -CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO -CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_EXPORT_COMPILE_COMMANDS -CMAKE_EXPORT_COMPILE_COMMANDS-ADVANCED:INTERNAL=1 -//Name of external makefile project generator. -CMAKE_EXTRA_GENERATOR:INTERNAL=CodeBlocks -//C compiler system defined macros -CMAKE_EXTRA_GENERATOR_C_SYSTEM_DEFINED_MACROS:INTERNAL=__llvm__;1;__clang__;1;__clang_major__;11;__clang_minor__;0;__clang_patchlevel__;3;__clang_version__;"11.0.3 (clang-1103.0.32.62)";__GNUC_MINOR__;2;__GNUC_PATCHLEVEL__;1;__GNUC__;4;__GXX_ABI_VERSION;1002;__ATOMIC_RELAXED;0;__ATOMIC_CONSUME;1;__ATOMIC_ACQUIRE;2;__ATOMIC_RELEASE;3;__ATOMIC_ACQ_REL;4;__ATOMIC_SEQ_CST;5;__OPENCL_MEMORY_SCOPE_WORK_ITEM;0;__OPENCL_MEMORY_SCOPE_WORK_GROUP;1;__OPENCL_MEMORY_SCOPE_DEVICE;2;__OPENCL_MEMORY_SCOPE_ALL_SVM_DEVICES;3;__OPENCL_MEMORY_SCOPE_SUB_GROUP;4;__PRAGMA_REDEFINE_EXTNAME;1;__VERSION__;"4.2.1 Compatible Apple LLVM 11.0.3 (clang-1103.0.32.62)";__OBJC_BOOL_IS_BOOL;0;__CONSTANT_CFSTRINGS__;1;__block;__attribute__((__blocks__(byref)));__BLOCKS__;1;__ORDER_LITTLE_ENDIAN__;1234;__ORDER_BIG_ENDIAN__;4321;__ORDER_PDP_ENDIAN__;3412;__BYTE_ORDER__;__ORDER_LITTLE_ENDIAN__;__LITTLE_ENDIAN__;1;_LP64;1;__LP64__;1;__CHAR_BIT__;8;__SCHAR_MAX__;127;__SHRT_MAX__;32767;__INT_MAX__;2147483647;__LONG_MAX__;9223372036854775807L;__LONG_LONG_MAX__;9223372036854775807LL;__WCHAR_MAX__;2147483647;__WINT_MAX__;2147483647;__INTMAX_MAX__;9223372036854775807L;__SIZE_MAX__;18446744073709551615UL;__UINTMAX_MAX__;18446744073709551615UL;__PTRDIFF_MAX__;9223372036854775807L;__INTPTR_MAX__;9223372036854775807L;__UINTPTR_MAX__;18446744073709551615UL;__SIZEOF_DOUBLE__;8;__SIZEOF_FLOAT__;4;__SIZEOF_INT__;4;__SIZEOF_LONG__;8;__SIZEOF_LONG_DOUBLE__;16;__SIZEOF_LONG_LONG__;8;__SIZEOF_POINTER__;8;__SIZEOF_SHORT__;2;__SIZEOF_PTRDIFF_T__;8;__SIZEOF_SIZE_T__;8;__SIZEOF_WCHAR_T__;4;__SIZEOF_WINT_T__;4;__SIZEOF_INT128__;16;__INTMAX_TYPE__;long int;__INTMAX_FMTd__;"ld";__INTMAX_FMTi__;"li";__INTMAX_C_SUFFIX__;L;__UINTMAX_TYPE__;long unsigned int;__UINTMAX_FMTo__;"lo";__UINTMAX_FMTu__;"lu";__UINTMAX_FMTx__;"lx";__UINTMAX_FMTX__;"lX";__UINTMAX_C_SUFFIX__;UL;__INTMAX_WIDTH__;64;__PTRDIFF_TYPE__;long int;__PTRDIFF_FMTd__;"ld";__PTRDIFF_FMTi__;"li";__PTRDIFF_WIDTH__;64;__INTPTR_TYPE__;long int;__INTPTR_FMTd__;"ld";__INTPTR_FMTi__;"li";__INTPTR_WIDTH__;64;__SIZE_TYPE__;long unsigned int;__SIZE_FMTo__;"lo";__SIZE_FMTu__;"lu";__SIZE_FMTx__;"lx";__SIZE_FMTX__;"lX";__SIZE_WIDTH__;64;__WCHAR_TYPE__;int;__WCHAR_WIDTH__;32;__WINT_TYPE__;int;__WINT_WIDTH__;32;__SIG_ATOMIC_WIDTH__;32;__SIG_ATOMIC_MAX__;2147483647;__CHAR16_TYPE__;unsigned short;__CHAR32_TYPE__;unsigned int;__UINTMAX_WIDTH__;64;__UINTPTR_TYPE__;long unsigned int;__UINTPTR_FMTo__;"lo";__UINTPTR_FMTu__;"lu";__UINTPTR_FMTx__;"lx";__UINTPTR_FMTX__;"lX";__UINTPTR_WIDTH__;64;__FLT16_DENORM_MIN__;5.9604644775390625e-8F16;__FLT16_HAS_DENORM__;1;__FLT16_DIG__;3;__FLT16_DECIMAL_DIG__;5;__FLT16_EPSILON__;9.765625e-4F16;__FLT16_HAS_INFINITY__;1;__FLT16_HAS_QUIET_NAN__;1;__FLT16_MANT_DIG__;11;__FLT16_MAX_10_EXP__;4;__FLT16_MAX_EXP__;16;__FLT16_MAX__;6.5504e+4F16;__FLT16_MIN_10_EXP__;(-4);__FLT16_MIN_EXP__;(-13);__FLT16_MIN__;6.103515625e-5F16;__FLT_DENORM_MIN__;1.40129846e-45F;__FLT_HAS_DENORM__;1;__FLT_DIG__;6;__FLT_DECIMAL_DIG__;9;__FLT_EPSILON__;1.19209290e-7F;__FLT_HAS_INFINITY__;1;__FLT_HAS_QUIET_NAN__;1;__FLT_MANT_DIG__;24;__FLT_MAX_10_EXP__;38;__FLT_MAX_EXP__;128;__FLT_MAX__;3.40282347e+38F;__FLT_MIN_10_EXP__;(-37);__FLT_MIN_EXP__;(-125);__FLT_MIN__;1.17549435e-38F;__DBL_DENORM_MIN__;4.9406564584124654e-324;__DBL_HAS_DENORM__;1;__DBL_DIG__;15;__DBL_DECIMAL_DIG__;17;__DBL_EPSILON__;2.2204460492503131e-16;__DBL_HAS_INFINITY__;1;__DBL_HAS_QUIET_NAN__;1;__DBL_MANT_DIG__;53;__DBL_MAX_10_EXP__;308;__DBL_MAX_EXP__;1024;__DBL_MAX__;1.7976931348623157e+308;__DBL_MIN_10_EXP__;(-307);__DBL_MIN_EXP__;(-1021);__DBL_MIN__;2.2250738585072014e-308;__LDBL_DENORM_MIN__;3.64519953188247460253e-4951L;__LDBL_HAS_DENORM__;1;__LDBL_DIG__;18;__LDBL_DECIMAL_DIG__;21;__LDBL_EPSILON__;1.08420217248550443401e-19L;__LDBL_HAS_INFINITY__;1;__LDBL_HAS_QUIET_NAN__;1;__LDBL_MANT_DIG__;64;__LDBL_MAX_10_EXP__;4932;__LDBL_MAX_EXP__;16384;__LDBL_MAX__;1.18973149535723176502e+4932L;__LDBL_MIN_10_EXP__;(-4931);__LDBL_MIN_EXP__;(-16381);__LDBL_MIN__;3.36210314311209350626e-4932L;__POINTER_WIDTH__;64;__BIGGEST_ALIGNMENT__;16;__INT8_TYPE__;signed char;__INT8_FMTd__;"hhd";__INT8_FMTi__;"hhi";__INT8_C_SUFFIX__; ;__INT16_TYPE__;short;__INT16_FMTd__;"hd";__INT16_FMTi__;"hi";__INT16_C_SUFFIX__; ;__INT32_TYPE__;int;__INT32_FMTd__;"d";__INT32_FMTi__;"i";__INT32_C_SUFFIX__; ;__INT64_TYPE__;long long int;__INT64_FMTd__;"lld";__INT64_FMTi__;"lli";__INT64_C_SUFFIX__;LL;__UINT8_TYPE__;unsigned char;__UINT8_FMTo__;"hho";__UINT8_FMTu__;"hhu";__UINT8_FMTx__;"hhx";__UINT8_FMTX__;"hhX";__UINT8_C_SUFFIX__; ;__UINT8_MAX__;255;__INT8_MAX__;127;__UINT16_TYPE__;unsigned short;__UINT16_FMTo__;"ho";__UINT16_FMTu__;"hu";__UINT16_FMTx__;"hx";__UINT16_FMTX__;"hX";__UINT16_C_SUFFIX__; ;__UINT16_MAX__;65535;__INT16_MAX__;32767;__UINT32_TYPE__;unsigned int;__UINT32_FMTo__;"o";__UINT32_FMTu__;"u";__UINT32_FMTx__;"x";__UINT32_FMTX__;"X";__UINT32_C_SUFFIX__;U;__UINT32_MAX__;4294967295U;__INT32_MAX__;2147483647;__UINT64_TYPE__;long long unsigned int;__UINT64_FMTo__;"llo";__UINT64_FMTu__;"llu";__UINT64_FMTx__;"llx";__UINT64_FMTX__;"llX";__UINT64_C_SUFFIX__;ULL;__UINT64_MAX__;18446744073709551615ULL;__INT64_MAX__;9223372036854775807LL;__INT_LEAST8_TYPE__;signed char;__INT_LEAST8_MAX__;127;__INT_LEAST8_FMTd__;"hhd";__INT_LEAST8_FMTi__;"hhi";__UINT_LEAST8_TYPE__;unsigned char;__UINT_LEAST8_MAX__;255;__UINT_LEAST8_FMTo__;"hho";__UINT_LEAST8_FMTu__;"hhu";__UINT_LEAST8_FMTx__;"hhx";__UINT_LEAST8_FMTX__;"hhX";__INT_LEAST16_TYPE__;short;__INT_LEAST16_MAX__;32767;__INT_LEAST16_FMTd__;"hd";__INT_LEAST16_FMTi__;"hi";__UINT_LEAST16_TYPE__;unsigned short;__UINT_LEAST16_MAX__;65535;__UINT_LEAST16_FMTo__;"ho";__UINT_LEAST16_FMTu__;"hu";__UINT_LEAST16_FMTx__;"hx";__UINT_LEAST16_FMTX__;"hX";__INT_LEAST32_TYPE__;int;__INT_LEAST32_MAX__;2147483647;__INT_LEAST32_FMTd__;"d";__INT_LEAST32_FMTi__;"i";__UINT_LEAST32_TYPE__;unsigned int;__UINT_LEAST32_MAX__;4294967295U;__UINT_LEAST32_FMTo__;"o";__UINT_LEAST32_FMTu__;"u";__UINT_LEAST32_FMTx__;"x";__UINT_LEAST32_FMTX__;"X";__INT_LEAST64_TYPE__;long long int;__INT_LEAST64_MAX__;9223372036854775807LL;__INT_LEAST64_FMTd__;"lld";__INT_LEAST64_FMTi__;"lli";__UINT_LEAST64_TYPE__;long long unsigned int;__UINT_LEAST64_MAX__;18446744073709551615ULL;__UINT_LEAST64_FMTo__;"llo";__UINT_LEAST64_FMTu__;"llu";__UINT_LEAST64_FMTx__;"llx";__UINT_LEAST64_FMTX__;"llX";__INT_FAST8_TYPE__;signed char;__INT_FAST8_MAX__;127;__INT_FAST8_FMTd__;"hhd";__INT_FAST8_FMTi__;"hhi";__UINT_FAST8_TYPE__;unsigned char;__UINT_FAST8_MAX__;255;__UINT_FAST8_FMTo__;"hho";__UINT_FAST8_FMTu__;"hhu";__UINT_FAST8_FMTx__;"hhx";__UINT_FAST8_FMTX__;"hhX";__INT_FAST16_TYPE__;short;__INT_FAST16_MAX__;32767;__INT_FAST16_FMTd__;"hd";__INT_FAST16_FMTi__;"hi";__UINT_FAST16_TYPE__;unsigned short;__UINT_FAST16_MAX__;65535;__UINT_FAST16_FMTo__;"ho";__UINT_FAST16_FMTu__;"hu";__UINT_FAST16_FMTx__;"hx";__UINT_FAST16_FMTX__;"hX";__INT_FAST32_TYPE__;int;__INT_FAST32_MAX__;2147483647;__INT_FAST32_FMTd__;"d";__INT_FAST32_FMTi__;"i";__UINT_FAST32_TYPE__;unsigned int;__UINT_FAST32_MAX__;4294967295U;__UINT_FAST32_FMTo__;"o";__UINT_FAST32_FMTu__;"u";__UINT_FAST32_FMTx__;"x";__UINT_FAST32_FMTX__;"X";__INT_FAST64_TYPE__;long long int;__INT_FAST64_MAX__;9223372036854775807LL;__INT_FAST64_FMTd__;"lld";__INT_FAST64_FMTi__;"lli";__UINT_FAST64_TYPE__;long long unsigned int;__UINT_FAST64_MAX__;18446744073709551615ULL;__UINT_FAST64_FMTo__;"llo";__UINT_FAST64_FMTu__;"llu";__UINT_FAST64_FMTx__;"llx";__UINT_FAST64_FMTX__;"llX";__USER_LABEL_PREFIX__;_;__FINITE_MATH_ONLY__;0;__GNUC_STDC_INLINE__;1;__GCC_ATOMIC_TEST_AND_SET_TRUEVAL;1;__CLANG_ATOMIC_BOOL_LOCK_FREE;2;__CLANG_ATOMIC_CHAR_LOCK_FREE;2;__CLANG_ATOMIC_CHAR16_T_LOCK_FREE;2;__CLANG_ATOMIC_CHAR32_T_LOCK_FREE;2;__CLANG_ATOMIC_WCHAR_T_LOCK_FREE;2;__CLANG_ATOMIC_SHORT_LOCK_FREE;2;__CLANG_ATOMIC_INT_LOCK_FREE;2;__CLANG_ATOMIC_LONG_LOCK_FREE;2;__CLANG_ATOMIC_LLONG_LOCK_FREE;2;__CLANG_ATOMIC_POINTER_LOCK_FREE;2;__GCC_ATOMIC_BOOL_LOCK_FREE;2;__GCC_ATOMIC_CHAR_LOCK_FREE;2;__GCC_ATOMIC_CHAR16_T_LOCK_FREE;2;__GCC_ATOMIC_CHAR32_T_LOCK_FREE;2;__GCC_ATOMIC_WCHAR_T_LOCK_FREE;2;__GCC_ATOMIC_SHORT_LOCK_FREE;2;__GCC_ATOMIC_INT_LOCK_FREE;2;__GCC_ATOMIC_LONG_LOCK_FREE;2;__GCC_ATOMIC_LLONG_LOCK_FREE;2;__GCC_ATOMIC_POINTER_LOCK_FREE;2;__NO_INLINE__;1;__PIC__;2;__pic__;2;__FLT_EVAL_METHOD__;0;__FLT_RADIX__;2;__DECIMAL_DIG__;__LDBL_DECIMAL_DIG__;__SSP__;1;__nonnull;_Nonnull;__null_unspecified;_Null_unspecified;__nullable;_Nullable;__GCC_ASM_FLAG_OUTPUTS__;1;__code_model_small_;1;__amd64__;1;__amd64;1;__x86_64;1;__x86_64__;1;__core2;1;__core2__;1;__tune_core2__;1;__REGISTER_PREFIX__; ;__NO_MATH_INLINES;1;__FXSR__;1;__SSE4_1__;1;__SSSE3__;1;__SSE3__;1;__SSE2__;1;__SSE2_MATH__;1;__SSE__;1;__SSE_MATH__;1;__MMX__;1;__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1;1;__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2;1;__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4;1;__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8;1;__GCC_HAVE_SYNC_COMPARE_AND_SWAP_16;1;__APPLE_CC__;6000;__APPLE__;1;__STDC_NO_THREADS__;1;OBJC_NEW_PROPERTIES;1;__apple_build_version__;11030032;__weak;__attribute__((objc_gc(weak)));__strong; ;__unsafe_unretained; ;__DYNAMIC__;1;__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__;101600;__MACH__;1;__STDC__;1;__STDC_HOSTED__;1;__STDC_VERSION__;201112L;__STDC_UTF_16__;1;__STDC_UTF_32__;1 -//C compiler system include directories -CMAKE_EXTRA_GENERATOR_C_SYSTEM_INCLUDE_DIRS:INTERNAL=/usr/local/include;/Library/Developer/CommandLineTools/usr/lib/clang/11.0.3/include;/Library/Developer/CommandLineTools/usr/include;/System/Library/Frameworks;/Library/Frameworks -//Name of generator. -CMAKE_GENERATOR:INTERNAL=Unix Makefiles -//Generator instance identifier. -CMAKE_GENERATOR_INSTANCE:INTERNAL= -//Name of generator platform. -CMAKE_GENERATOR_PLATFORM:INTERNAL= -//Name of generator toolset. -CMAKE_GENERATOR_TOOLSET:INTERNAL= -//Source directory with the top level CMakeLists.txt file for this -// project -CMAKE_HOME_DIRECTORY:INTERNAL=/Users/liaozhaoyan/work/sh/c/lbc -//ADVANCED property for variable: CMAKE_INSTALL_NAME_TOOL -CMAKE_INSTALL_NAME_TOOL-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_LINKER -CMAKE_LINKER-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_MAKE_PROGRAM -CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS -CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG -CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL -CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE -CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO -CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_NM -CMAKE_NM-ADVANCED:INTERNAL=1 -//number of local generators -CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=1 -//ADVANCED property for variable: CMAKE_OBJCOPY -CMAKE_OBJCOPY-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_OBJDUMP -CMAKE_OBJDUMP-ADVANCED:INTERNAL=1 -//Platform information initialized -CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_RANLIB -CMAKE_RANLIB-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_READELF -CMAKE_READELF-ADVANCED:INTERNAL=1 -//Path to CMake installation. -CMAKE_ROOT:INTERNAL=/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19 -//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS -CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG -CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL -CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE -CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO -CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH -CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_SKIP_RPATH -CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS -CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG -CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL -CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE -CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO -CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_STRIP -CMAKE_STRIP-ADVANCED:INTERNAL=1 -//uname command -CMAKE_UNAME:INTERNAL=/usr/bin/uname -//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE -CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: ProcessorCount_cmd_sysctl -ProcessorCount_cmd_sysctl-ADVANCED:INTERNAL=1 - diff --git a/compile/remote-compile/lbc/cmake-build-debug/CMakeFiles/3.19.2/CMakeCCompiler.cmake b/compile/remote-compile/lbc/cmake-build-debug/CMakeFiles/3.19.2/CMakeCCompiler.cmake deleted file mode 100644 index 5c076db..0000000 --- a/compile/remote-compile/lbc/cmake-build-debug/CMakeFiles/3.19.2/CMakeCCompiler.cmake +++ /dev/null @@ -1,77 +0,0 @@ -set(CMAKE_C_COMPILER "/Library/Developer/CommandLineTools/usr/bin/cc") -set(CMAKE_C_COMPILER_ARG1 "") -set(CMAKE_C_COMPILER_ID "AppleClang") -set(CMAKE_C_COMPILER_VERSION "11.0.3.11030032") -set(CMAKE_C_COMPILER_VERSION_INTERNAL "") -set(CMAKE_C_COMPILER_WRAPPER "") -set(CMAKE_C_STANDARD_COMPUTED_DEFAULT "11") -set(CMAKE_C_COMPILE_FEATURES "c_std_90;c_function_prototypes;c_std_99;c_restrict;c_variadic_macros;c_std_11;c_static_assert") -set(CMAKE_C90_COMPILE_FEATURES "c_std_90;c_function_prototypes") -set(CMAKE_C99_COMPILE_FEATURES "c_std_99;c_restrict;c_variadic_macros") -set(CMAKE_C11_COMPILE_FEATURES "c_std_11;c_static_assert") - -set(CMAKE_C_PLATFORM_ID "Darwin") -set(CMAKE_C_SIMULATE_ID "") -set(CMAKE_C_COMPILER_FRONTEND_VARIANT "") -set(CMAKE_C_SIMULATE_VERSION "") - - - - -set(CMAKE_AR "/Library/Developer/CommandLineTools/usr/bin/ar") -set(CMAKE_C_COMPILER_AR "") -set(CMAKE_RANLIB "/Library/Developer/CommandLineTools/usr/bin/ranlib") -set(CMAKE_C_COMPILER_RANLIB "") -set(CMAKE_LINKER "/Library/Developer/CommandLineTools/usr/bin/ld") -set(CMAKE_MT "") -set(CMAKE_COMPILER_IS_GNUCC ) -set(CMAKE_C_COMPILER_LOADED 1) -set(CMAKE_C_COMPILER_WORKS TRUE) -set(CMAKE_C_ABI_COMPILED TRUE) -set(CMAKE_COMPILER_IS_MINGW ) -set(CMAKE_COMPILER_IS_CYGWIN ) -if(CMAKE_COMPILER_IS_CYGWIN) - set(CYGWIN 1) - set(UNIX 1) -endif() - -set(CMAKE_C_COMPILER_ENV_VAR "CC") - -if(CMAKE_COMPILER_IS_MINGW) - set(MINGW 1) -endif() -set(CMAKE_C_COMPILER_ID_RUN 1) -set(CMAKE_C_SOURCE_FILE_EXTENSIONS c;m) -set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC) -set(CMAKE_C_LINKER_PREFERENCE 10) - -# Save compiler ABI information. -set(CMAKE_C_SIZEOF_DATA_PTR "8") -set(CMAKE_C_COMPILER_ABI "") -set(CMAKE_C_LIBRARY_ARCHITECTURE "") - -if(CMAKE_C_SIZEOF_DATA_PTR) - set(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}") -endif() - -if(CMAKE_C_COMPILER_ABI) - set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}") -endif() - -if(CMAKE_C_LIBRARY_ARCHITECTURE) - set(CMAKE_LIBRARY_ARCHITECTURE "") -endif() - -set(CMAKE_C_CL_SHOWINCLUDES_PREFIX "") -if(CMAKE_C_CL_SHOWINCLUDES_PREFIX) - set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_C_CL_SHOWINCLUDES_PREFIX}") -endif() - - - - - -set(CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES "/Library/Developer/CommandLineTools/usr/lib/clang/11.0.3/include;/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include;/Library/Developer/CommandLineTools/usr/include") -set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "") -set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/lib") -set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks") diff --git a/compile/remote-compile/lbc/cmake-build-debug/CMakeFiles/3.19.2/CMakeDetermineCompilerABI_C.bin b/compile/remote-compile/lbc/cmake-build-debug/CMakeFiles/3.19.2/CMakeDetermineCompilerABI_C.bin deleted file mode 100755 index b678624bd1b92b226e3745c63744b69f1969167f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4304 zcmeHK&1w@-7`@X}D_Tt!DvE!h3#lSWX@v&qLdCHYl(uLCVky@qGo=H~L^2a>1fd%j zp$J|00DTH|yIHJoQx1+ z05}1ZKwgSGG9k_a9w6o1t!ekM`(T!{>2T8YuZ(p{*eK<^`)EGBMV-&3=Y-~mFilV& zL&_vrOL}>ar|Uh*;xSm5&|Am{``by@O)6!r5ykz2zw6u5^-k$SNS408H@Q1t!3U!J+=-YM^U2Y*t&X}@-KA+D))%}0b-A3Nw0a~^f5 zjhfB?bKrdMCdQi>k8ut#gZ~X--e<1=E9du?2Zn)SD{dB7!)noQulnGOa{zTr?@jt| zK2D9iZMH9r=5{v5F_#B;=V11z0(1499KJSi6*(mTic!3ub@)A)!Fx*p*Z5|~cksD6 zeJ#-QupK8sy>Pn#U11fQ5SIbg_waKB;}y;6mksNHb-+4c9k32q2do3u0qcNu;Qw@> z;&r}kyL)_m=f$qqX?@#vyJTL?-Su7_KaVu~{-l$sbUT&qhTC2IuxUnl=I-o`ID8&7 zmZkqRX)cVF7I~b#4$m^okv$B1oa-2g*Sg>24 & 0x00FF) -# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF) -# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF) - -#elif defined(__BORLANDC__) -# define COMPILER_ID "Borland" - /* __BORLANDC__ = 0xVRR */ -# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8) -# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF) - -#elif defined(__WATCOMC__) && __WATCOMC__ < 1200 -# define COMPILER_ID "Watcom" - /* __WATCOMC__ = VVRR */ -# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100) -# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) -# if (__WATCOMC__ % 10) > 0 -# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) -# endif - -#elif defined(__WATCOMC__) -# define COMPILER_ID "OpenWatcom" - /* __WATCOMC__ = VVRP + 1100 */ -# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100) -# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) -# if (__WATCOMC__ % 10) > 0 -# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) -# endif - -#elif defined(__SUNPRO_C) -# define COMPILER_ID "SunPro" -# if __SUNPRO_C >= 0x5100 - /* __SUNPRO_C = 0xVRRP */ -# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>12) -# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xFF) -# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF) -# else - /* __SUNPRO_CC = 0xVRP */ -# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>8) -# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xF) -# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF) -# endif - -#elif defined(__HP_cc) -# define COMPILER_ID "HP" - /* __HP_cc = VVRRPP */ -# define COMPILER_VERSION_MAJOR DEC(__HP_cc/10000) -# define COMPILER_VERSION_MINOR DEC(__HP_cc/100 % 100) -# define COMPILER_VERSION_PATCH DEC(__HP_cc % 100) - -#elif defined(__DECC) -# define COMPILER_ID "Compaq" - /* __DECC_VER = VVRRTPPPP */ -# define COMPILER_VERSION_MAJOR DEC(__DECC_VER/10000000) -# define COMPILER_VERSION_MINOR DEC(__DECC_VER/100000 % 100) -# define COMPILER_VERSION_PATCH DEC(__DECC_VER % 10000) - -#elif defined(__IBMC__) && defined(__COMPILER_VER__) -# define COMPILER_ID "zOS" - /* __IBMC__ = VRP */ -# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) -# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) -# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) - -#elif defined(__ibmxl__) && defined(__clang__) -# define COMPILER_ID "XLClang" -# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__) -# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__) -# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__) -# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__) - - -#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ >= 800 -# define COMPILER_ID "XL" - /* __IBMC__ = VRP */ -# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) -# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) -# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) - -#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ < 800 -# define COMPILER_ID "VisualAge" - /* __IBMC__ = VRP */ -# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) -# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) -# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) - -#elif defined(__PGI) -# define COMPILER_ID "PGI" -# define COMPILER_VERSION_MAJOR DEC(__PGIC__) -# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__) -# if defined(__PGIC_PATCHLEVEL__) -# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__) -# endif - -#elif defined(_CRAYC) -# define COMPILER_ID "Cray" -# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR) -# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR) - -#elif defined(__TI_COMPILER_VERSION__) -# define COMPILER_ID "TI" - /* __TI_COMPILER_VERSION__ = VVVRRRPPP */ -# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000) -# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000) -# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000) - -#elif defined(__FUJITSU) || defined(__FCC_VERSION) || defined(__fcc_version) -# define COMPILER_ID "Fujitsu" - -#elif defined(__ghs__) -# define COMPILER_ID "GHS" -/* __GHS_VERSION_NUMBER = VVVVRP */ -# ifdef __GHS_VERSION_NUMBER -# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100) -# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10) -# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10) -# endif - -#elif defined(__TINYC__) -# define COMPILER_ID "TinyCC" - -#elif defined(__BCC__) -# define COMPILER_ID "Bruce" - -#elif defined(__SCO_VERSION__) -# define COMPILER_ID "SCO" - -#elif defined(__ARMCC_VERSION) && !defined(__clang__) -# define COMPILER_ID "ARMCC" -#if __ARMCC_VERSION >= 1000000 - /* __ARMCC_VERSION = VRRPPPP */ - # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000) - # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100) - # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) -#else - /* __ARMCC_VERSION = VRPPPP */ - # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000) - # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10) - # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) -#endif - - -#elif defined(__clang__) && defined(__apple_build_version__) -# define COMPILER_ID "AppleClang" -# if defined(_MSC_VER) -# define SIMULATE_ID "MSVC" -# endif -# define COMPILER_VERSION_MAJOR DEC(__clang_major__) -# define COMPILER_VERSION_MINOR DEC(__clang_minor__) -# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) -# if defined(_MSC_VER) - /* _MSC_VER = VVRR */ -# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) -# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) -# endif -# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__) - -#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION) -# define COMPILER_ID "ARMClang" - # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000) - # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100) - # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION % 10000) -# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION) - -#elif defined(__clang__) -# define COMPILER_ID "Clang" -# if defined(_MSC_VER) -# define SIMULATE_ID "MSVC" -# endif -# define COMPILER_VERSION_MAJOR DEC(__clang_major__) -# define COMPILER_VERSION_MINOR DEC(__clang_minor__) -# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) -# if defined(_MSC_VER) - /* _MSC_VER = VVRR */ -# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) -# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) -# endif - -#elif defined(__GNUC__) -# define COMPILER_ID "GNU" -# define COMPILER_VERSION_MAJOR DEC(__GNUC__) -# if defined(__GNUC_MINOR__) -# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__) -# endif -# if defined(__GNUC_PATCHLEVEL__) -# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) -# endif - -#elif defined(_MSC_VER) -# define COMPILER_ID "MSVC" - /* _MSC_VER = VVRR */ -# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100) -# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100) -# if defined(_MSC_FULL_VER) -# if _MSC_VER >= 1400 - /* _MSC_FULL_VER = VVRRPPPPP */ -# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000) -# else - /* _MSC_FULL_VER = VVRRPPPP */ -# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000) -# endif -# endif -# if defined(_MSC_BUILD) -# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD) -# endif - -#elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__) -# define COMPILER_ID "ADSP" -#if defined(__VISUALDSPVERSION__) - /* __VISUALDSPVERSION__ = 0xVVRRPP00 */ -# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24) -# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF) -# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF) -#endif - -#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) -# define COMPILER_ID "IAR" -# if defined(__VER__) && defined(__ICCARM__) -# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000) -# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000) -# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000) -# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) -# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__)) -# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100) -# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100)) -# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__) -# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) -# endif - -#elif defined(__SDCC_VERSION_MAJOR) || defined(SDCC) -# define COMPILER_ID "SDCC" -# if defined(__SDCC_VERSION_MAJOR) -# define COMPILER_VERSION_MAJOR DEC(__SDCC_VERSION_MAJOR) -# define COMPILER_VERSION_MINOR DEC(__SDCC_VERSION_MINOR) -# define COMPILER_VERSION_PATCH DEC(__SDCC_VERSION_PATCH) -# else - /* SDCC = VRP */ -# define COMPILER_VERSION_MAJOR DEC(SDCC/100) -# define COMPILER_VERSION_MINOR DEC(SDCC/10 % 10) -# define COMPILER_VERSION_PATCH DEC(SDCC % 10) -# endif - - -/* These compilers are either not known or too old to define an - identification macro. Try to identify the platform and guess that - it is the native compiler. */ -#elif defined(__hpux) || defined(__hpua) -# define COMPILER_ID "HP" - -#else /* unknown compiler */ -# define COMPILER_ID "" -#endif - -/* Construct the string literal in pieces to prevent the source from - getting matched. Store it in a pointer rather than an array - because some compilers will just produce instructions to fill the - array rather than assigning a pointer to a static array. */ -char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; -#ifdef SIMULATE_ID -char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]"; -#endif - -#ifdef __QNXNTO__ -char const* qnxnto = "INFO" ":" "qnxnto[]"; -#endif - -#if defined(_CRAYC) || defined(__cray__) -char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]"; -#endif - -#define STRINGIFY_HELPER(X) #X -#define STRINGIFY(X) STRINGIFY_HELPER(X) - -/* Identify known platforms by name. */ -#if defined(__linux) || defined(__linux__) || defined(linux) -# define PLATFORM_ID "Linux" - -#elif defined(__CYGWIN__) -# define PLATFORM_ID "Cygwin" - -#elif defined(__MINGW32__) -# define PLATFORM_ID "MinGW" - -#elif defined(__APPLE__) -# define PLATFORM_ID "Darwin" - -#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) -# define PLATFORM_ID "Windows" - -#elif defined(__FreeBSD__) || defined(__FreeBSD) -# define PLATFORM_ID "FreeBSD" - -#elif defined(__NetBSD__) || defined(__NetBSD) -# define PLATFORM_ID "NetBSD" - -#elif defined(__OpenBSD__) || defined(__OPENBSD) -# define PLATFORM_ID "OpenBSD" - -#elif defined(__sun) || defined(sun) -# define PLATFORM_ID "SunOS" - -#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) -# define PLATFORM_ID "AIX" - -#elif defined(__hpux) || defined(__hpux__) -# define PLATFORM_ID "HP-UX" - -#elif defined(__HAIKU__) -# define PLATFORM_ID "Haiku" - -#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) -# define PLATFORM_ID "BeOS" - -#elif defined(__QNX__) || defined(__QNXNTO__) -# define PLATFORM_ID "QNX" - -#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) -# define PLATFORM_ID "Tru64" - -#elif defined(__riscos) || defined(__riscos__) -# define PLATFORM_ID "RISCos" - -#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) -# define PLATFORM_ID "SINIX" - -#elif defined(__UNIX_SV__) -# define PLATFORM_ID "UNIX_SV" - -#elif defined(__bsdos__) -# define PLATFORM_ID "BSDOS" - -#elif defined(_MPRAS) || defined(MPRAS) -# define PLATFORM_ID "MP-RAS" - -#elif defined(__osf) || defined(__osf__) -# define PLATFORM_ID "OSF1" - -#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) -# define PLATFORM_ID "SCO_SV" - -#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) -# define PLATFORM_ID "ULTRIX" - -#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) -# define PLATFORM_ID "Xenix" - -#elif defined(__WATCOMC__) -# if defined(__LINUX__) -# define PLATFORM_ID "Linux" - -# elif defined(__DOS__) -# define PLATFORM_ID "DOS" - -# elif defined(__OS2__) -# define PLATFORM_ID "OS2" - -# elif defined(__WINDOWS__) -# define PLATFORM_ID "Windows3x" - -# elif defined(__VXWORKS__) -# define PLATFORM_ID "VxWorks" - -# else /* unknown platform */ -# define PLATFORM_ID -# endif - -#elif defined(__INTEGRITY) -# if defined(INT_178B) -# define PLATFORM_ID "Integrity178" - -# else /* regular Integrity */ -# define PLATFORM_ID "Integrity" -# endif - -#else /* unknown platform */ -# define PLATFORM_ID - -#endif - -/* For windows compilers MSVC and Intel we can determine - the architecture of the compiler being used. This is because - the compilers do not have flags that can change the architecture, - but rather depend on which compiler is being used -*/ -#if defined(_WIN32) && defined(_MSC_VER) -# if defined(_M_IA64) -# define ARCHITECTURE_ID "IA64" - -# elif defined(_M_X64) || defined(_M_AMD64) -# define ARCHITECTURE_ID "x64" - -# elif defined(_M_IX86) -# define ARCHITECTURE_ID "X86" - -# elif defined(_M_ARM64) -# define ARCHITECTURE_ID "ARM64" - -# elif defined(_M_ARM) -# if _M_ARM == 4 -# define ARCHITECTURE_ID "ARMV4I" -# elif _M_ARM == 5 -# define ARCHITECTURE_ID "ARMV5I" -# else -# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM) -# endif - -# elif defined(_M_MIPS) -# define ARCHITECTURE_ID "MIPS" - -# elif defined(_M_SH) -# define ARCHITECTURE_ID "SHx" - -# else /* unknown architecture */ -# define ARCHITECTURE_ID "" -# endif - -#elif defined(__WATCOMC__) -# if defined(_M_I86) -# define ARCHITECTURE_ID "I86" - -# elif defined(_M_IX86) -# define ARCHITECTURE_ID "X86" - -# else /* unknown architecture */ -# define ARCHITECTURE_ID "" -# endif - -#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) -# if defined(__ICCARM__) -# define ARCHITECTURE_ID "ARM" - -# elif defined(__ICCRX__) -# define ARCHITECTURE_ID "RX" - -# elif defined(__ICCRH850__) -# define ARCHITECTURE_ID "RH850" - -# elif defined(__ICCRL78__) -# define ARCHITECTURE_ID "RL78" - -# elif defined(__ICCRISCV__) -# define ARCHITECTURE_ID "RISCV" - -# elif defined(__ICCAVR__) -# define ARCHITECTURE_ID "AVR" - -# elif defined(__ICC430__) -# define ARCHITECTURE_ID "MSP430" - -# elif defined(__ICCV850__) -# define ARCHITECTURE_ID "V850" - -# elif defined(__ICC8051__) -# define ARCHITECTURE_ID "8051" - -# else /* unknown architecture */ -# define ARCHITECTURE_ID "" -# endif - -#elif defined(__ghs__) -# if defined(__PPC64__) -# define ARCHITECTURE_ID "PPC64" - -# elif defined(__ppc__) -# define ARCHITECTURE_ID "PPC" - -# elif defined(__ARM__) -# define ARCHITECTURE_ID "ARM" - -# elif defined(__x86_64__) -# define ARCHITECTURE_ID "x64" - -# elif defined(__i386__) -# define ARCHITECTURE_ID "X86" - -# else /* unknown architecture */ -# define ARCHITECTURE_ID "" -# endif - -#elif defined(__TI_COMPILER_VERSION__) -# if defined(__TI_ARM__) -# define ARCHITECTURE_ID "ARM" - -# elif defined(__MSP430__) -# define ARCHITECTURE_ID "MSP430" - -# elif defined(__TMS320C28XX__) -# define ARCHITECTURE_ID "TMS320C28x" - -# elif defined(__TMS320C6X__) || defined(_TMS320C6X) -# define ARCHITECTURE_ID "TMS320C6x" - -# else /* unknown architecture */ -# define ARCHITECTURE_ID "" -# endif - -#else -# define ARCHITECTURE_ID -#endif - -/* Convert integer to decimal digit literals. */ -#define DEC(n) \ - ('0' + (((n) / 10000000)%10)), \ - ('0' + (((n) / 1000000)%10)), \ - ('0' + (((n) / 100000)%10)), \ - ('0' + (((n) / 10000)%10)), \ - ('0' + (((n) / 1000)%10)), \ - ('0' + (((n) / 100)%10)), \ - ('0' + (((n) / 10)%10)), \ - ('0' + ((n) % 10)) - -/* Convert integer to hex digit literals. */ -#define HEX(n) \ - ('0' + ((n)>>28 & 0xF)), \ - ('0' + ((n)>>24 & 0xF)), \ - ('0' + ((n)>>20 & 0xF)), \ - ('0' + ((n)>>16 & 0xF)), \ - ('0' + ((n)>>12 & 0xF)), \ - ('0' + ((n)>>8 & 0xF)), \ - ('0' + ((n)>>4 & 0xF)), \ - ('0' + ((n) & 0xF)) - -/* Construct a string literal encoding the version number components. */ -#ifdef COMPILER_VERSION_MAJOR -char const info_version[] = { - 'I', 'N', 'F', 'O', ':', - 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[', - COMPILER_VERSION_MAJOR, -# ifdef COMPILER_VERSION_MINOR - '.', COMPILER_VERSION_MINOR, -# ifdef COMPILER_VERSION_PATCH - '.', COMPILER_VERSION_PATCH, -# ifdef COMPILER_VERSION_TWEAK - '.', COMPILER_VERSION_TWEAK, -# endif -# endif -# endif - ']','\0'}; -#endif - -/* Construct a string literal encoding the internal version number. */ -#ifdef COMPILER_VERSION_INTERNAL -char const info_version_internal[] = { - 'I', 'N', 'F', 'O', ':', - 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_', - 'i','n','t','e','r','n','a','l','[', - COMPILER_VERSION_INTERNAL,']','\0'}; -#endif - -/* Construct a string literal encoding the version number components. */ -#ifdef SIMULATE_VERSION_MAJOR -char const info_simulate_version[] = { - 'I', 'N', 'F', 'O', ':', - 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[', - SIMULATE_VERSION_MAJOR, -# ifdef SIMULATE_VERSION_MINOR - '.', SIMULATE_VERSION_MINOR, -# ifdef SIMULATE_VERSION_PATCH - '.', SIMULATE_VERSION_PATCH, -# ifdef SIMULATE_VERSION_TWEAK - '.', SIMULATE_VERSION_TWEAK, -# endif -# endif -# endif - ']','\0'}; -#endif - -/* Construct the string literal in pieces to prevent the source from - getting matched. Store it in a pointer rather than an array - because some compilers will just produce instructions to fill the - array rather than assigning a pointer to a static array. */ -char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; -char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; - - - -#if !defined(__STDC__) -# if (defined(_MSC_VER) && !defined(__clang__)) \ - || (defined(__ibmxl__) || defined(__IBMC__)) -# define C_DIALECT "90" -# else -# define C_DIALECT -# endif -#elif __STDC_VERSION__ >= 201000L -# define C_DIALECT "11" -#elif __STDC_VERSION__ >= 199901L -# define C_DIALECT "99" -#else -# define C_DIALECT "90" -#endif -const char* info_language_dialect_default = - "INFO" ":" "dialect_default[" C_DIALECT "]"; - -/*--------------------------------------------------------------------------*/ - -#ifdef ID_VOID_MAIN -void main() {} -#else -# if defined(__CLASSIC_C__) -int main(argc, argv) int argc; char *argv[]; -# else -int main(int argc, char* argv[]) -# endif -{ - int require = 0; - require += info_compiler[argc]; - require += info_platform[argc]; - require += info_arch[argc]; -#ifdef COMPILER_VERSION_MAJOR - require += info_version[argc]; -#endif -#ifdef COMPILER_VERSION_INTERNAL - require += info_version_internal[argc]; -#endif -#ifdef SIMULATE_ID - require += info_simulate[argc]; -#endif -#ifdef SIMULATE_VERSION_MAJOR - require += info_simulate_version[argc]; -#endif -#if defined(_CRAYC) || defined(__cray__) - require += info_cray[argc]; -#endif - require += info_language_dialect_default[argc]; - (void)argv; - return require; -} -#endif diff --git a/compile/remote-compile/lbc/cmake-build-debug/CMakeFiles/3.19.2/CompilerIdC/CMakeCCompilerId.o b/compile/remote-compile/lbc/cmake-build-debug/CMakeFiles/3.19.2/CompilerIdC/CMakeCCompilerId.o deleted file mode 100644 index d7e19a90adb488d8398bfa4469950e270b25ca40..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1400 zcmb7C&ubG=5PoTE8r0exdZ=I^2M;~f-R7nU4M|D_wNergLU?^7n`B|L37d@;LFh>d zMd+WPw;sLe$x9FI&3~a6!9#=|gGlw8xAU4GsOZ4#H#2YMd-HbY^Y?ETi$cWa1wPOP z=+PWLX(;3-bdCH!$XhCcoN|uw!6``NbO@0$boRo?j{H*LX=&^m>opt1N4>Q0xk9l8 zu}@$`%33cBT))WyDW~}iPnplR>46h6`y?srDpcbHDf8Jy2pj5Ap0GU;U&IySJgt<_n*6dUCM`fb4Iwyb4YVA0W#|EJ&=#4 zo-C!)l8r#Mov2{8zg;fcWWF`#V^>_mXpBv`0bPaavgB0?X`xFg{t@-G3#%CBE)ezN z33O8E-0aI_{9o*Haq#7&@PkqZFGs~e|NNvdB(Hd&*QZ!}G+O?&l9(?K2j$^^1Z#y+ z@y!x3p*;4N@`J*#di>z=*7jYRl()vnupS*HdAm6SOON6<~@SRY9#) zVY}`s&%u=IPDAy*uwvU)x?7liey2SlJ}@3LPF*aYIYH0u_!UcwZLdd$Wf>#0ZrfJI zvN9VHJ+oZi!_&VEixoCwFLp$1FBwZ-UrZb#>o(%Ip!*j;wU|Cd_D1s6TyDwCvx^+; zLP`R$3aKq1BxU1+Jxvh@=u)&R$crZ#6N~^ICq!O+2e^#Fa|%GxQ1Z`!B*@YJNP9x$ z*#FA@9rDqLP6XU1pNfn~*Kc$r&91MSj+~i`h>p#q+2!9ZWLvpD$IQstrCHMzzW^}k B$nXFF diff --git a/compile/remote-compile/lbc/cmake-build-debug/CMakeFiles/CMakeDirectoryInformation.cmake b/compile/remote-compile/lbc/cmake-build-debug/CMakeFiles/CMakeDirectoryInformation.cmake deleted file mode 100644 index b95e298..0000000 --- a/compile/remote-compile/lbc/cmake-build-debug/CMakeFiles/CMakeDirectoryInformation.cmake +++ /dev/null @@ -1,16 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.19 - -# Relative path conversion top directories. -set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/Users/liaozhaoyan/work/sh/c/lbc") -set(CMAKE_RELATIVE_PATH_TOP_BINARY "/Users/liaozhaoyan/work/sh/c/lbc/cmake-build-debug") - -# Force unix paths in dependencies. -set(CMAKE_FORCE_UNIX_PATHS 1) - - -# The C and CXX include file regular expressions for this directory. -set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$") -set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$") -set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN}) -set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN}) diff --git a/compile/remote-compile/lbc/cmake-build-debug/CMakeFiles/CMakeError.log b/compile/remote-compile/lbc/cmake-build-debug/CMakeFiles/CMakeError.log deleted file mode 100644 index 8dfb7ed..0000000 --- a/compile/remote-compile/lbc/cmake-build-debug/CMakeFiles/CMakeError.log +++ /dev/null @@ -1,11 +0,0 @@ -Compiling the C compiler identification source file "CMakeCCompilerId.c" failed. -Compiler: /Library/Developer/CommandLineTools/usr/bin/cc -Build flags: -Id flags: - -The output was: -1 -ld: library not found for -lSystem -clang: error: linker command failed with exit code 1 (use -v to see invocation) - - diff --git a/compile/remote-compile/lbc/cmake-build-debug/CMakeFiles/CMakeOutput.log b/compile/remote-compile/lbc/cmake-build-debug/CMakeFiles/CMakeOutput.log deleted file mode 100644 index d0d8df8..0000000 --- a/compile/remote-compile/lbc/cmake-build-debug/CMakeFiles/CMakeOutput.log +++ /dev/null @@ -1,130 +0,0 @@ -The system is: Darwin - 20.2.0 - x86_64 -Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded. -Compiler: /Library/Developer/CommandLineTools/usr/bin/cc -Build flags: -Id flags: -c - -The output was: -0 - - -Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "CMakeCCompilerId.o" - -The C compiler identification is AppleClang, found in "/Users/liaozhaoyan/work/sh/c/lbc/cmake-build-debug/CMakeFiles/3.19.2/CompilerIdC/CMakeCCompilerId.o" - -Detecting C compiler ABI info compiled with the following output: -Change Dir: /Users/liaozhaoyan/work/sh/c/lbc/cmake-build-debug/CMakeFiles/CMakeTmp - -Run Build Command(s):/usr/bin/make cmTC_8a035/fast && /Library/Developer/CommandLineTools/usr/bin/make -f CMakeFiles/cmTC_8a035.dir/build.make CMakeFiles/cmTC_8a035.dir/build -Building C object CMakeFiles/cmTC_8a035.dir/CMakeCCompilerABI.c.o -/Library/Developer/CommandLineTools/usr/bin/cc -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk -v -Wl,-v -o CMakeFiles/cmTC_8a035.dir/CMakeCCompilerABI.c.o -c /Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/CMakeCCompilerABI.c -Apple clang version 11.0.3 (clang-1103.0.32.62) -Target: x86_64-apple-darwin20.2.0 -Thread model: posix -InstalledDir: /Library/Developer/CommandLineTools/usr/bin -clang: warning: -Wl,-v: 'linker' input unused [-Wunused-command-line-argument] - "/Library/Developer/CommandLineTools/usr/bin/clang" -cc1 -triple x86_64-apple-macosx10.15.4 -Wdeprecated-objc-isa-usage -Werror=deprecated-objc-isa-usage -emit-obj -mrelax-all -disable-free -disable-llvm-verifier -discard-value-names -main-file-name CMakeCCompilerABI.c -mrelocation-model pic -pic-level 2 -mthread-model posix -mframe-pointer=all -fno-strict-return -masm-verbose -munwind-tables -target-sdk-version=10.15.4 -target-cpu penryn -dwarf-column-info -debugger-tuning=lldb -target-linker-version 556.6 -v -coverage-notes-file /Users/liaozhaoyan/work/sh/c/lbc/cmake-build-debug/CMakeFiles/CMakeTmp/CMakeFiles/cmTC_8a035.dir/CMakeCCompilerABI.c.gcno -resource-dir /Library/Developer/CommandLineTools/usr/lib/clang/11.0.3 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk -internal-isystem /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/local/include -internal-isystem /Library/Developer/CommandLineTools/usr/lib/clang/11.0.3/include -internal-externc-isystem /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include -internal-externc-isystem /Library/Developer/CommandLineTools/usr/include -Wno-objc-signed-char-bool-implicit-int-conversion -Wno-extra-semi-stmt -Wno-quoted-include-in-framework-header -fdebug-compilation-dir /Users/liaozhaoyan/work/sh/c/lbc/cmake-build-debug/CMakeFiles/CMakeTmp -ferror-limit 19 -fmessage-length 0 -stack-protector 1 -fstack-check -mdarwin-stkchk-strong-link -fblocks -fencode-extended-block-signature -fregister-global-dtors-with-atexit -fobjc-runtime=macosx-10.15.4 -fmax-type-align=16 -fdiagnostics-show-option -o CMakeFiles/cmTC_8a035.dir/CMakeCCompilerABI.c.o -x c /Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/CMakeCCompilerABI.c -clang -cc1 version 11.0.3 (clang-1103.0.32.62) default target x86_64-apple-darwin20.2.0 -ignoring nonexistent directory "/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/local/include" -ignoring nonexistent directory "/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/Library/Frameworks" -#include "..." search starts here: -#include <...> search starts here: - /Library/Developer/CommandLineTools/usr/lib/clang/11.0.3/include - /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include - /Library/Developer/CommandLineTools/usr/include - /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks (framework directory) -End of search list. -Linking C executable cmTC_8a035 -/Applications/CLion.app/Contents/bin/cmake/mac/bin/cmake -E cmake_link_script CMakeFiles/cmTC_8a035.dir/link.txt --verbose=1 -/Library/Developer/CommandLineTools/usr/bin/cc -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk -Wl,-search_paths_first -Wl,-headerpad_max_install_names -v -Wl,-v CMakeFiles/cmTC_8a035.dir/CMakeCCompilerABI.c.o -o cmTC_8a035 -Apple clang version 11.0.3 (clang-1103.0.32.62) -Target: x86_64-apple-darwin20.2.0 -Thread model: posix -InstalledDir: /Library/Developer/CommandLineTools/usr/bin - "/Library/Developer/CommandLineTools/usr/bin/ld" -demangle -lto_library /Library/Developer/CommandLineTools/usr/lib/libLTO.dylib -dynamic -arch x86_64 -platform_version macos 10.15.4 10.15.4 -syslibroot /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk -o cmTC_8a035 -search_paths_first -headerpad_max_install_names -v CMakeFiles/cmTC_8a035.dir/CMakeCCompilerABI.c.o -lSystem /Library/Developer/CommandLineTools/usr/lib/clang/11.0.3/lib/darwin/libclang_rt.osx.a -@(#)PROGRAM:ld PROJECT:ld64-556.6 -BUILD 17:57:49 Apr 24 2020 -configured to support archs: armv6 armv7 armv7s arm64 arm64e arm64_32 i386 x86_64 x86_64h armv6m armv7k armv7m armv7em -Library search paths: - /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/lib -Framework search paths: - /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/ - - - -Parsed C implicit include dir info from above output: rv=done - found start of include info - found start of implicit include info - add: [/Library/Developer/CommandLineTools/usr/lib/clang/11.0.3/include] - add: [/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include] - add: [/Library/Developer/CommandLineTools/usr/include] - end of search list found - collapse include dir [/Library/Developer/CommandLineTools/usr/lib/clang/11.0.3/include] ==> [/Library/Developer/CommandLineTools/usr/lib/clang/11.0.3/include] - collapse include dir [/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include] ==> [/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include] - collapse include dir [/Library/Developer/CommandLineTools/usr/include] ==> [/Library/Developer/CommandLineTools/usr/include] - implicit include dirs: [/Library/Developer/CommandLineTools/usr/lib/clang/11.0.3/include;/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include;/Library/Developer/CommandLineTools/usr/include] - - -Parsed C implicit link information from above output: - link line regex: [^( *|.*[/\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\]+-)?ld|collect2)[^/\]*( |$)] - ignore line: [Change Dir: /Users/liaozhaoyan/work/sh/c/lbc/cmake-build-debug/CMakeFiles/CMakeTmp] - ignore line: [] - ignore line: [Run Build Command(s):/usr/bin/make cmTC_8a035/fast && /Library/Developer/CommandLineTools/usr/bin/make -f CMakeFiles/cmTC_8a035.dir/build.make CMakeFiles/cmTC_8a035.dir/build] - ignore line: [Building C object CMakeFiles/cmTC_8a035.dir/CMakeCCompilerABI.c.o] - ignore line: [/Library/Developer/CommandLineTools/usr/bin/cc -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk -v -Wl -v -o CMakeFiles/cmTC_8a035.dir/CMakeCCompilerABI.c.o -c /Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/CMakeCCompilerABI.c] - ignore line: [Apple clang version 11.0.3 (clang-1103.0.32.62)] - ignore line: [Target: x86_64-apple-darwin20.2.0] - ignore line: [Thread model: posix] - ignore line: [InstalledDir: /Library/Developer/CommandLineTools/usr/bin] - ignore line: [clang: warning: -Wl -v: 'linker' input unused [-Wunused-command-line-argument]] - ignore line: [ "/Library/Developer/CommandLineTools/usr/bin/clang" -cc1 -triple x86_64-apple-macosx10.15.4 -Wdeprecated-objc-isa-usage -Werror=deprecated-objc-isa-usage -emit-obj -mrelax-all -disable-free -disable-llvm-verifier -discard-value-names -main-file-name CMakeCCompilerABI.c -mrelocation-model pic -pic-level 2 -mthread-model posix -mframe-pointer=all -fno-strict-return -masm-verbose -munwind-tables -target-sdk-version=10.15.4 -target-cpu penryn -dwarf-column-info -debugger-tuning=lldb -target-linker-version 556.6 -v -coverage-notes-file /Users/liaozhaoyan/work/sh/c/lbc/cmake-build-debug/CMakeFiles/CMakeTmp/CMakeFiles/cmTC_8a035.dir/CMakeCCompilerABI.c.gcno -resource-dir /Library/Developer/CommandLineTools/usr/lib/clang/11.0.3 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk -internal-isystem /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/local/include -internal-isystem /Library/Developer/CommandLineTools/usr/lib/clang/11.0.3/include -internal-externc-isystem /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include -internal-externc-isystem /Library/Developer/CommandLineTools/usr/include -Wno-objc-signed-char-bool-implicit-int-conversion -Wno-extra-semi-stmt -Wno-quoted-include-in-framework-header -fdebug-compilation-dir /Users/liaozhaoyan/work/sh/c/lbc/cmake-build-debug/CMakeFiles/CMakeTmp -ferror-limit 19 -fmessage-length 0 -stack-protector 1 -fstack-check -mdarwin-stkchk-strong-link -fblocks -fencode-extended-block-signature -fregister-global-dtors-with-atexit -fobjc-runtime=macosx-10.15.4 -fmax-type-align=16 -fdiagnostics-show-option -o CMakeFiles/cmTC_8a035.dir/CMakeCCompilerABI.c.o -x c /Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/CMakeCCompilerABI.c] - ignore line: [clang -cc1 version 11.0.3 (clang-1103.0.32.62) default target x86_64-apple-darwin20.2.0] - ignore line: [ignoring nonexistent directory "/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/local/include"] - ignore line: [ignoring nonexistent directory "/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/Library/Frameworks"] - ignore line: [#include "..." search starts here:] - ignore line: [#include <...> search starts here:] - ignore line: [ /Library/Developer/CommandLineTools/usr/lib/clang/11.0.3/include] - ignore line: [ /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include] - ignore line: [ /Library/Developer/CommandLineTools/usr/include] - ignore line: [ /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks (framework directory)] - ignore line: [End of search list.] - ignore line: [Linking C executable cmTC_8a035] - ignore line: [/Applications/CLion.app/Contents/bin/cmake/mac/bin/cmake -E cmake_link_script CMakeFiles/cmTC_8a035.dir/link.txt --verbose=1] - ignore line: [/Library/Developer/CommandLineTools/usr/bin/cc -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk -Wl -search_paths_first -Wl -headerpad_max_install_names -v -Wl -v CMakeFiles/cmTC_8a035.dir/CMakeCCompilerABI.c.o -o cmTC_8a035 ] - ignore line: [Apple clang version 11.0.3 (clang-1103.0.32.62)] - ignore line: [Target: x86_64-apple-darwin20.2.0] - ignore line: [Thread model: posix] - ignore line: [InstalledDir: /Library/Developer/CommandLineTools/usr/bin] - link line: [ "/Library/Developer/CommandLineTools/usr/bin/ld" -demangle -lto_library /Library/Developer/CommandLineTools/usr/lib/libLTO.dylib -dynamic -arch x86_64 -platform_version macos 10.15.4 10.15.4 -syslibroot /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk -o cmTC_8a035 -search_paths_first -headerpad_max_install_names -v CMakeFiles/cmTC_8a035.dir/CMakeCCompilerABI.c.o -lSystem /Library/Developer/CommandLineTools/usr/lib/clang/11.0.3/lib/darwin/libclang_rt.osx.a] - arg [/Library/Developer/CommandLineTools/usr/bin/ld] ==> ignore - arg [-demangle] ==> ignore - arg [-lto_library] ==> ignore, skip following value - arg [/Library/Developer/CommandLineTools/usr/lib/libLTO.dylib] ==> skip value of -lto_library - arg [-dynamic] ==> ignore - arg [-arch] ==> ignore - arg [x86_64] ==> ignore - arg [-platform_version] ==> ignore - arg [macos] ==> ignore - arg [10.15.4] ==> ignore - arg [10.15.4] ==> ignore - arg [-syslibroot] ==> ignore - arg [/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk] ==> ignore - arg [-o] ==> ignore - arg [cmTC_8a035] ==> ignore - arg [-search_paths_first] ==> ignore - arg [-headerpad_max_install_names] ==> ignore - arg [-v] ==> ignore - arg [CMakeFiles/cmTC_8a035.dir/CMakeCCompilerABI.c.o] ==> ignore - arg [-lSystem] ==> lib [System] - arg [/Library/Developer/CommandLineTools/usr/lib/clang/11.0.3/lib/darwin/libclang_rt.osx.a] ==> lib [/Library/Developer/CommandLineTools/usr/lib/clang/11.0.3/lib/darwin/libclang_rt.osx.a] - Library search paths: [;/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/lib] - Framework search paths: [;/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/] - remove lib [System] - remove lib [/Library/Developer/CommandLineTools/usr/lib/clang/11.0.3/lib/darwin/libclang_rt.osx.a] - collapse library dir [/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/lib] ==> [/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/lib] - collapse framework dir [/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/] ==> [/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks] - implicit libs: [] - implicit dirs: [/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/lib] - implicit fwks: [/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks] - - diff --git a/compile/remote-compile/lbc/cmake-build-debug/CMakeFiles/Makefile.cmake b/compile/remote-compile/lbc/cmake-build-debug/CMakeFiles/Makefile.cmake deleted file mode 100644 index e134fee..0000000 --- a/compile/remote-compile/lbc/cmake-build-debug/CMakeFiles/Makefile.cmake +++ /dev/null @@ -1,49 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.19 - -# The generator used is: -set(CMAKE_DEPENDS_GENERATOR "Unix Makefiles") - -# The top level Makefile was generated from the following files: -set(CMAKE_MAKEFILE_DEPENDS - "CMakeCache.txt" - "/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/CMakeCInformation.cmake" - "/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/CMakeCommonLanguageInclude.cmake" - "/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/CMakeExtraGeneratorDetermineCompilerMacrosAndIncludeDirs.cmake" - "/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/CMakeFindCodeBlocks.cmake" - "/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/CMakeGenericSystem.cmake" - "/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/CMakeInitializeConfigs.cmake" - "/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/CMakeLanguageInformation.cmake" - "/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/CMakeSystemSpecificInformation.cmake" - "/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/CMakeSystemSpecificInitialize.cmake" - "/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/Compiler/AppleClang-C.cmake" - "/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/Compiler/CMakeCommonCompilerMacros.cmake" - "/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/Compiler/Clang.cmake" - "/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/Compiler/GNU.cmake" - "/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/Platform/Apple-AppleClang-C.cmake" - "/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/Platform/Apple-Clang-C.cmake" - "/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/Platform/Apple-Clang.cmake" - "/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/Platform/Darwin-Initialize.cmake" - "/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/Platform/Darwin.cmake" - "/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/Platform/UnixPaths.cmake" - "/Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.19/Modules/ProcessorCount.cmake" - "../CMakeLists.txt" - "CMakeFiles/3.19.2/CMakeCCompiler.cmake" - "CMakeFiles/3.19.2/CMakeSystem.cmake" - ) - -# The corresponding makefile is: -set(CMAKE_MAKEFILE_OUTPUTS - "Makefile" - "CMakeFiles/cmake.check_cache" - ) - -# Byproducts of CMake generate step: -set(CMAKE_MAKEFILE_PRODUCTS - "CMakeFiles/CMakeDirectoryInformation.cmake" - ) - -# Dependency information for all targets: -set(CMAKE_DEPEND_INFO_FILES - "CMakeFiles/lbc.dir/DependInfo.cmake" - ) diff --git a/compile/remote-compile/lbc/cmake-build-debug/CMakeFiles/Makefile2 b/compile/remote-compile/lbc/cmake-build-debug/CMakeFiles/Makefile2 deleted file mode 100644 index a90c864..0000000 --- a/compile/remote-compile/lbc/cmake-build-debug/CMakeFiles/Makefile2 +++ /dev/null @@ -1,125 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.19 - -# Default target executed when no arguments are given to make. -default_target: all - -.PHONY : default_target - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - - -# Disable VCS-based implicit rules. -% : %,v - - -# Disable VCS-based implicit rules. -% : RCS/% - - -# Disable VCS-based implicit rules. -% : RCS/%,v - - -# Disable VCS-based implicit rules. -% : SCCS/s.% - - -# Disable VCS-based implicit rules. -% : s.% - - -.SUFFIXES: .hpux_make_needs_suffix_list - - -# Command-line flag to silence nested $(MAKE). -$(VERBOSE)MAKESILENT = -s - -#Suppress display of executed commands. -$(VERBOSE).SILENT: - -# A target that is always out of date. -cmake_force: - -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /Applications/CLion.app/Contents/bin/cmake/mac/bin/cmake - -# The command to remove a file. -RM = /Applications/CLion.app/Contents/bin/cmake/mac/bin/cmake -E rm -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /Users/liaozhaoyan/work/sh/c/lbc - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /Users/liaozhaoyan/work/sh/c/lbc/cmake-build-debug - -#============================================================================= -# Directory level rules for the build root directory - -# The main recursive "all" target. -all: CMakeFiles/lbc.dir/all - -.PHONY : all - -# The main recursive "preinstall" target. -preinstall: - -.PHONY : preinstall - -# The main recursive "clean" target. -clean: CMakeFiles/lbc.dir/clean - -.PHONY : clean - -#============================================================================= -# Target rules for target CMakeFiles/lbc.dir - -# All Build rule for target. -CMakeFiles/lbc.dir/all: - $(MAKE) $(MAKESILENT) -f CMakeFiles/lbc.dir/build.make CMakeFiles/lbc.dir/depend - $(MAKE) $(MAKESILENT) -f CMakeFiles/lbc.dir/build.make CMakeFiles/lbc.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/Users/liaozhaoyan/work/sh/c/lbc/cmake-build-debug/CMakeFiles --progress-num=1,2,3 "Built target lbc" -.PHONY : CMakeFiles/lbc.dir/all - -# Build rule for subdir invocation for target. -CMakeFiles/lbc.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /Users/liaozhaoyan/work/sh/c/lbc/cmake-build-debug/CMakeFiles 3 - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 CMakeFiles/lbc.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start /Users/liaozhaoyan/work/sh/c/lbc/cmake-build-debug/CMakeFiles 0 -.PHONY : CMakeFiles/lbc.dir/rule - -# Convenience name for target. -lbc: CMakeFiles/lbc.dir/rule - -.PHONY : lbc - -# clean rule for target. -CMakeFiles/lbc.dir/clean: - $(MAKE) $(MAKESILENT) -f CMakeFiles/lbc.dir/build.make CMakeFiles/lbc.dir/clean -.PHONY : CMakeFiles/lbc.dir/clean - -#============================================================================= -# Special targets to cleanup operation of make. - -# Special rule to run CMake to check the build system integrity. -# No rule that depends on this can have commands that come from listfiles -# because they might be regenerated. -cmake_check_build_system: - $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 -.PHONY : cmake_check_build_system - diff --git a/compile/remote-compile/lbc/cmake-build-debug/CMakeFiles/TargetDirectories.txt b/compile/remote-compile/lbc/cmake-build-debug/CMakeFiles/TargetDirectories.txt deleted file mode 100644 index c4a31f8..0000000 --- a/compile/remote-compile/lbc/cmake-build-debug/CMakeFiles/TargetDirectories.txt +++ /dev/null @@ -1,3 +0,0 @@ -/Users/liaozhaoyan/work/sh/c/lbc/cmake-build-debug/CMakeFiles/rebuild_cache.dir -/Users/liaozhaoyan/work/sh/c/lbc/cmake-build-debug/CMakeFiles/edit_cache.dir -/Users/liaozhaoyan/work/sh/c/lbc/cmake-build-debug/CMakeFiles/lbc.dir diff --git a/compile/remote-compile/lbc/cmake-build-debug/CMakeFiles/clion-environment.txt b/compile/remote-compile/lbc/cmake-build-debug/CMakeFiles/clion-environment.txt deleted file mode 100644 index 270d93c..0000000 --- a/compile/remote-compile/lbc/cmake-build-debug/CMakeFiles/clion-environment.txt +++ /dev/null @@ -1,3 +0,0 @@ -ToolSet: 1.0 (local)Options: - -Options: \ No newline at end of file diff --git a/compile/remote-compile/lbc/cmake-build-debug/CMakeFiles/clion-log.txt b/compile/remote-compile/lbc/cmake-build-debug/CMakeFiles/clion-log.txt deleted file mode 100644 index e87a374..0000000 --- a/compile/remote-compile/lbc/cmake-build-debug/CMakeFiles/clion-log.txt +++ /dev/null @@ -1,16 +0,0 @@ -/Applications/CLion.app/Contents/bin/cmake/mac/bin/cmake -DCMAKE_BUILD_TYPE=Debug -G "CodeBlocks - Unix Makefiles" /Users/liaozhaoyan/work/sh/c/lbc --- Configuring done -CMake Error at CMakeLists.txt:6 (add_library): - Cannot find source file: - - bpf/hello.bpf.c - - Tried extensions .c .C .c++ .cc .cpp .cxx .cu .m .M .mm .h .hh .h++ .hm - .hpp .hxx .in .txx .f .F .for .f77 .f90 .f95 .f03 .ispc - - -CMake Error at CMakeLists.txt:6 (add_library): - No SOURCES given to target: lbc - - -CMake Generate step failed. Build files cannot be regenerated correctly. diff --git a/compile/remote-compile/lbc/cmake-build-debug/CMakeFiles/cmake.check_cache b/compile/remote-compile/lbc/cmake-build-debug/CMakeFiles/cmake.check_cache deleted file mode 100644 index 3dccd73..0000000 --- a/compile/remote-compile/lbc/cmake-build-debug/CMakeFiles/cmake.check_cache +++ /dev/null @@ -1 +0,0 @@ -# This file is generated by cmake for dependency checking of the CMakeCache.txt file diff --git a/compile/remote-compile/lbc/cmake-build-debug/CMakeFiles/lbc.dir/DependInfo.cmake b/compile/remote-compile/lbc/cmake-build-debug/CMakeFiles/lbc.dir/DependInfo.cmake deleted file mode 100644 index 77bc856..0000000 --- a/compile/remote-compile/lbc/cmake-build-debug/CMakeFiles/lbc.dir/DependInfo.cmake +++ /dev/null @@ -1,21 +0,0 @@ -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - "C" - ) -# The set of files for implicit dependencies of each language: -set(CMAKE_DEPENDS_CHECK_C - "/Users/liaozhaoyan/work/sh/c/lbc/bpf/hello.bpf.c" "/Users/liaozhaoyan/work/sh/c/lbc/cmake-build-debug/CMakeFiles/lbc.dir/bpf/hello.bpf.c.o" - "/Users/liaozhaoyan/work/sh/c/lbc/src/bpf_init.c" "/Users/liaozhaoyan/work/sh/c/lbc/cmake-build-debug/CMakeFiles/lbc.dir/src/bpf_init.c.o" - ) -set(CMAKE_C_COMPILER_ID "AppleClang") - -# The include file search paths: -set(CMAKE_C_TARGET_INCLUDE_PATH - ) - -# Targets to which this target links. -set(CMAKE_TARGET_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/compile/remote-compile/lbc/cmake-build-debug/CMakeFiles/lbc.dir/build.make b/compile/remote-compile/lbc/cmake-build-debug/CMakeFiles/lbc.dir/build.make deleted file mode 100644 index df2ccba..0000000 --- a/compile/remote-compile/lbc/cmake-build-debug/CMakeFiles/lbc.dir/build.make +++ /dev/null @@ -1,133 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.19 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - - -# Disable VCS-based implicit rules. -% : %,v - - -# Disable VCS-based implicit rules. -% : RCS/% - - -# Disable VCS-based implicit rules. -% : RCS/%,v - - -# Disable VCS-based implicit rules. -% : SCCS/s.% - - -# Disable VCS-based implicit rules. -% : s.% - - -.SUFFIXES: .hpux_make_needs_suffix_list - - -# Command-line flag to silence nested $(MAKE). -$(VERBOSE)MAKESILENT = -s - -#Suppress display of executed commands. -$(VERBOSE).SILENT: - -# A target that is always out of date. -cmake_force: - -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /Applications/CLion.app/Contents/bin/cmake/mac/bin/cmake - -# The command to remove a file. -RM = /Applications/CLion.app/Contents/bin/cmake/mac/bin/cmake -E rm -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /Users/liaozhaoyan/work/sh/c/lbc - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /Users/liaozhaoyan/work/sh/c/lbc/cmake-build-debug - -# Include any dependencies generated for this target. -include CMakeFiles/lbc.dir/depend.make - -# Include the progress variables for this target. -include CMakeFiles/lbc.dir/progress.make - -# Include the compile flags for this target's objects. -include CMakeFiles/lbc.dir/flags.make - -CMakeFiles/lbc.dir/src/bpf_init.c.o: CMakeFiles/lbc.dir/flags.make -CMakeFiles/lbc.dir/src/bpf_init.c.o: ../src/bpf_init.c - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/Users/liaozhaoyan/work/sh/c/lbc/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building C object CMakeFiles/lbc.dir/src/bpf_init.c.o" - /Library/Developer/CommandLineTools/usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/lbc.dir/src/bpf_init.c.o -c /Users/liaozhaoyan/work/sh/c/lbc/src/bpf_init.c - -CMakeFiles/lbc.dir/src/bpf_init.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/lbc.dir/src/bpf_init.c.i" - /Library/Developer/CommandLineTools/usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /Users/liaozhaoyan/work/sh/c/lbc/src/bpf_init.c > CMakeFiles/lbc.dir/src/bpf_init.c.i - -CMakeFiles/lbc.dir/src/bpf_init.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/lbc.dir/src/bpf_init.c.s" - /Library/Developer/CommandLineTools/usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /Users/liaozhaoyan/work/sh/c/lbc/src/bpf_init.c -o CMakeFiles/lbc.dir/src/bpf_init.c.s - -CMakeFiles/lbc.dir/bpf/hello.bpf.c.o: CMakeFiles/lbc.dir/flags.make -CMakeFiles/lbc.dir/bpf/hello.bpf.c.o: ../bpf/hello.bpf.c - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/Users/liaozhaoyan/work/sh/c/lbc/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Building C object CMakeFiles/lbc.dir/bpf/hello.bpf.c.o" - /Library/Developer/CommandLineTools/usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -o CMakeFiles/lbc.dir/bpf/hello.bpf.c.o -c /Users/liaozhaoyan/work/sh/c/lbc/bpf/hello.bpf.c - -CMakeFiles/lbc.dir/bpf/hello.bpf.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/lbc.dir/bpf/hello.bpf.c.i" - /Library/Developer/CommandLineTools/usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /Users/liaozhaoyan/work/sh/c/lbc/bpf/hello.bpf.c > CMakeFiles/lbc.dir/bpf/hello.bpf.c.i - -CMakeFiles/lbc.dir/bpf/hello.bpf.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/lbc.dir/bpf/hello.bpf.c.s" - /Library/Developer/CommandLineTools/usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /Users/liaozhaoyan/work/sh/c/lbc/bpf/hello.bpf.c -o CMakeFiles/lbc.dir/bpf/hello.bpf.c.s - -# Object files for target lbc -lbc_OBJECTS = \ -"CMakeFiles/lbc.dir/src/bpf_init.c.o" \ -"CMakeFiles/lbc.dir/bpf/hello.bpf.c.o" - -# External object files for target lbc -lbc_EXTERNAL_OBJECTS = - -liblbc.a: CMakeFiles/lbc.dir/src/bpf_init.c.o -liblbc.a: CMakeFiles/lbc.dir/bpf/hello.bpf.c.o -liblbc.a: CMakeFiles/lbc.dir/build.make -liblbc.a: CMakeFiles/lbc.dir/link.txt - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --bold --progress-dir=/Users/liaozhaoyan/work/sh/c/lbc/cmake-build-debug/CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "Linking C static library liblbc.a" - $(CMAKE_COMMAND) -P CMakeFiles/lbc.dir/cmake_clean_target.cmake - $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/lbc.dir/link.txt --verbose=$(VERBOSE) - -# Rule to build all files generated by this target. -CMakeFiles/lbc.dir/build: liblbc.a - -.PHONY : CMakeFiles/lbc.dir/build - -CMakeFiles/lbc.dir/clean: - $(CMAKE_COMMAND) -P CMakeFiles/lbc.dir/cmake_clean.cmake -.PHONY : CMakeFiles/lbc.dir/clean - -CMakeFiles/lbc.dir/depend: - cd /Users/liaozhaoyan/work/sh/c/lbc/cmake-build-debug && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /Users/liaozhaoyan/work/sh/c/lbc /Users/liaozhaoyan/work/sh/c/lbc /Users/liaozhaoyan/work/sh/c/lbc/cmake-build-debug /Users/liaozhaoyan/work/sh/c/lbc/cmake-build-debug /Users/liaozhaoyan/work/sh/c/lbc/cmake-build-debug/CMakeFiles/lbc.dir/DependInfo.cmake --color=$(COLOR) -.PHONY : CMakeFiles/lbc.dir/depend - diff --git a/compile/remote-compile/lbc/cmake-build-debug/CMakeFiles/lbc.dir/cmake_clean.cmake b/compile/remote-compile/lbc/cmake-build-debug/CMakeFiles/lbc.dir/cmake_clean.cmake deleted file mode 100644 index 8e5f35a..0000000 --- a/compile/remote-compile/lbc/cmake-build-debug/CMakeFiles/lbc.dir/cmake_clean.cmake +++ /dev/null @@ -1,11 +0,0 @@ -file(REMOVE_RECURSE - "CMakeFiles/lbc.dir/bpf/hello.bpf.c.o" - "CMakeFiles/lbc.dir/src/bpf_init.c.o" - "liblbc.a" - "liblbc.pdb" -) - -# Per-language clean rules from dependency scanning. -foreach(lang C) - include(CMakeFiles/lbc.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() diff --git a/compile/remote-compile/lbc/cmake-build-debug/CMakeFiles/lbc.dir/cmake_clean_target.cmake b/compile/remote-compile/lbc/cmake-build-debug/CMakeFiles/lbc.dir/cmake_clean_target.cmake deleted file mode 100644 index 337970f..0000000 --- a/compile/remote-compile/lbc/cmake-build-debug/CMakeFiles/lbc.dir/cmake_clean_target.cmake +++ /dev/null @@ -1,3 +0,0 @@ -file(REMOVE_RECURSE - "liblbc.a" -) diff --git a/compile/remote-compile/lbc/cmake-build-debug/CMakeFiles/lbc.dir/depend.make b/compile/remote-compile/lbc/cmake-build-debug/CMakeFiles/lbc.dir/depend.make deleted file mode 100644 index e172244..0000000 --- a/compile/remote-compile/lbc/cmake-build-debug/CMakeFiles/lbc.dir/depend.make +++ /dev/null @@ -1,2 +0,0 @@ -# Empty dependencies file for lbc. -# This may be replaced when dependencies are built. diff --git a/compile/remote-compile/lbc/cmake-build-debug/CMakeFiles/lbc.dir/flags.make b/compile/remote-compile/lbc/cmake-build-debug/CMakeFiles/lbc.dir/flags.make deleted file mode 100644 index d1494eb..0000000 --- a/compile/remote-compile/lbc/cmake-build-debug/CMakeFiles/lbc.dir/flags.make +++ /dev/null @@ -1,10 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.19 - -# compile C with /Library/Developer/CommandLineTools/usr/bin/cc -C_DEFINES = - -C_INCLUDES = - -C_FLAGS = -g -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk -std=gnu99 - diff --git a/compile/remote-compile/lbc/cmake-build-debug/CMakeFiles/lbc.dir/link.txt b/compile/remote-compile/lbc/cmake-build-debug/CMakeFiles/lbc.dir/link.txt deleted file mode 100644 index 6c87ffc..0000000 --- a/compile/remote-compile/lbc/cmake-build-debug/CMakeFiles/lbc.dir/link.txt +++ /dev/null @@ -1,2 +0,0 @@ -/Library/Developer/CommandLineTools/usr/bin/ar qc liblbc.a CMakeFiles/lbc.dir/src/bpf_init.c.o CMakeFiles/lbc.dir/bpf/hello.bpf.c.o -/Library/Developer/CommandLineTools/usr/bin/ranlib liblbc.a diff --git a/compile/remote-compile/lbc/cmake-build-debug/CMakeFiles/lbc.dir/progress.make b/compile/remote-compile/lbc/cmake-build-debug/CMakeFiles/lbc.dir/progress.make deleted file mode 100644 index 6a9dc74..0000000 --- a/compile/remote-compile/lbc/cmake-build-debug/CMakeFiles/lbc.dir/progress.make +++ /dev/null @@ -1,4 +0,0 @@ -CMAKE_PROGRESS_1 = 1 -CMAKE_PROGRESS_2 = 2 -CMAKE_PROGRESS_3 = 3 - diff --git a/compile/remote-compile/lbc/cmake-build-debug/CMakeFiles/progress.marks b/compile/remote-compile/lbc/cmake-build-debug/CMakeFiles/progress.marks deleted file mode 100644 index 00750ed..0000000 --- a/compile/remote-compile/lbc/cmake-build-debug/CMakeFiles/progress.marks +++ /dev/null @@ -1 +0,0 @@ -3 diff --git a/compile/remote-compile/lbc/cmake-build-debug/Makefile b/compile/remote-compile/lbc/cmake-build-debug/Makefile deleted file mode 100644 index 1aafaa8..0000000 --- a/compile/remote-compile/lbc/cmake-build-debug/Makefile +++ /dev/null @@ -1,227 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.19 - -# Default target executed when no arguments are given to make. -default_target: all - -.PHONY : default_target - -# Allow only one "make -f Makefile2" at a time, but pass parallelism. -.NOTPARALLEL: - - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - - -# Disable VCS-based implicit rules. -% : %,v - - -# Disable VCS-based implicit rules. -% : RCS/% - - -# Disable VCS-based implicit rules. -% : RCS/%,v - - -# Disable VCS-based implicit rules. -% : SCCS/s.% - - -# Disable VCS-based implicit rules. -% : s.% - - -.SUFFIXES: .hpux_make_needs_suffix_list - - -# Command-line flag to silence nested $(MAKE). -$(VERBOSE)MAKESILENT = -s - -#Suppress display of executed commands. -$(VERBOSE).SILENT: - -# A target that is always out of date. -cmake_force: - -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /Applications/CLion.app/Contents/bin/cmake/mac/bin/cmake - -# The command to remove a file. -RM = /Applications/CLion.app/Contents/bin/cmake/mac/bin/cmake -E rm -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /Users/liaozhaoyan/work/sh/c/lbc - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /Users/liaozhaoyan/work/sh/c/lbc/cmake-build-debug - -#============================================================================= -# Targets provided globally by CMake. - -# Special rule for the target rebuild_cache -rebuild_cache: - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..." - /Applications/CLion.app/Contents/bin/cmake/mac/bin/cmake --regenerate-during-build -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) -.PHONY : rebuild_cache - -# Special rule for the target rebuild_cache -rebuild_cache/fast: rebuild_cache - -.PHONY : rebuild_cache/fast - -# Special rule for the target edit_cache -edit_cache: - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "No interactive CMake dialog available..." - /Applications/CLion.app/Contents/bin/cmake/mac/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available. -.PHONY : edit_cache - -# Special rule for the target edit_cache -edit_cache/fast: edit_cache - -.PHONY : edit_cache/fast - -# The main all target -all: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /Users/liaozhaoyan/work/sh/c/lbc/cmake-build-debug/CMakeFiles /Users/liaozhaoyan/work/sh/c/lbc/cmake-build-debug//CMakeFiles/progress.marks - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 all - $(CMAKE_COMMAND) -E cmake_progress_start /Users/liaozhaoyan/work/sh/c/lbc/cmake-build-debug/CMakeFiles 0 -.PHONY : all - -# The main clean target -clean: - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 clean -.PHONY : clean - -# The main clean target -clean/fast: clean - -.PHONY : clean/fast - -# Prepare targets for installation. -preinstall: all - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 preinstall -.PHONY : preinstall - -# Prepare targets for installation. -preinstall/fast: - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 preinstall -.PHONY : preinstall/fast - -# clear depends -depend: - $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1 -.PHONY : depend - -#============================================================================= -# Target rules for targets named lbc - -# Build rule for target. -lbc: cmake_check_build_system - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 lbc -.PHONY : lbc - -# fast build rule for target. -lbc/fast: - $(MAKE) $(MAKESILENT) -f CMakeFiles/lbc.dir/build.make CMakeFiles/lbc.dir/build -.PHONY : lbc/fast - -bpf/hello.bpf.o: bpf/hello.bpf.c.o - -.PHONY : bpf/hello.bpf.o - -# target to build an object file -bpf/hello.bpf.c.o: - $(MAKE) $(MAKESILENT) -f CMakeFiles/lbc.dir/build.make CMakeFiles/lbc.dir/bpf/hello.bpf.c.o -.PHONY : bpf/hello.bpf.c.o - -bpf/hello.bpf.i: bpf/hello.bpf.c.i - -.PHONY : bpf/hello.bpf.i - -# target to preprocess a source file -bpf/hello.bpf.c.i: - $(MAKE) $(MAKESILENT) -f CMakeFiles/lbc.dir/build.make CMakeFiles/lbc.dir/bpf/hello.bpf.c.i -.PHONY : bpf/hello.bpf.c.i - -bpf/hello.bpf.s: bpf/hello.bpf.c.s - -.PHONY : bpf/hello.bpf.s - -# target to generate assembly for a file -bpf/hello.bpf.c.s: - $(MAKE) $(MAKESILENT) -f CMakeFiles/lbc.dir/build.make CMakeFiles/lbc.dir/bpf/hello.bpf.c.s -.PHONY : bpf/hello.bpf.c.s - -src/bpf_init.o: src/bpf_init.c.o - -.PHONY : src/bpf_init.o - -# target to build an object file -src/bpf_init.c.o: - $(MAKE) $(MAKESILENT) -f CMakeFiles/lbc.dir/build.make CMakeFiles/lbc.dir/src/bpf_init.c.o -.PHONY : src/bpf_init.c.o - -src/bpf_init.i: src/bpf_init.c.i - -.PHONY : src/bpf_init.i - -# target to preprocess a source file -src/bpf_init.c.i: - $(MAKE) $(MAKESILENT) -f CMakeFiles/lbc.dir/build.make CMakeFiles/lbc.dir/src/bpf_init.c.i -.PHONY : src/bpf_init.c.i - -src/bpf_init.s: src/bpf_init.c.s - -.PHONY : src/bpf_init.s - -# target to generate assembly for a file -src/bpf_init.c.s: - $(MAKE) $(MAKESILENT) -f CMakeFiles/lbc.dir/build.make CMakeFiles/lbc.dir/src/bpf_init.c.s -.PHONY : src/bpf_init.c.s - -# Help Target -help: - @echo "The following are some of the valid targets for this Makefile:" - @echo "... all (the default if no target is provided)" - @echo "... clean" - @echo "... depend" - @echo "... edit_cache" - @echo "... rebuild_cache" - @echo "... lbc" - @echo "... bpf/hello.bpf.o" - @echo "... bpf/hello.bpf.i" - @echo "... bpf/hello.bpf.s" - @echo "... src/bpf_init.o" - @echo "... src/bpf_init.i" - @echo "... src/bpf_init.s" -.PHONY : help - - - -#============================================================================= -# Special targets to cleanup operation of make. - -# Special rule to run CMake to check the build system integrity. -# No rule that depends on this can have commands that come from listfiles -# because they might be regenerated. -cmake_check_build_system: - $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 -.PHONY : cmake_check_build_system - diff --git a/compile/remote-compile/lbc/cmake-build-debug/Testing/Temporary/LastTest.log b/compile/remote-compile/lbc/cmake-build-debug/Testing/Temporary/LastTest.log deleted file mode 100644 index 1ee7ad7..0000000 --- a/compile/remote-compile/lbc/cmake-build-debug/Testing/Temporary/LastTest.log +++ /dev/null @@ -1,3 +0,0 @@ -Start testing: Jul 15 23:43 CST ----------------------------------------------------------- -End testing: Jul 15 23:43 CST diff --git a/compile/remote-compile/lbc/cmake-build-debug/cmake_install.cmake b/compile/remote-compile/lbc/cmake-build-debug/cmake_install.cmake deleted file mode 100644 index 2f73869..0000000 --- a/compile/remote-compile/lbc/cmake-build-debug/cmake_install.cmake +++ /dev/null @@ -1,49 +0,0 @@ -# Install script for directory: /Users/liaozhaoyan/work/sh/c/lbc - -# Set the install prefix -if(NOT DEFINED CMAKE_INSTALL_PREFIX) - set(CMAKE_INSTALL_PREFIX "/usr/local") -endif() -string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") - -# Set the install configuration name. -if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) - if(BUILD_TYPE) - string(REGEX REPLACE "^[^A-Za-z0-9_]+" "" - CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") - else() - set(CMAKE_INSTALL_CONFIG_NAME "Debug") - endif() - message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") -endif() - -# Set the component getting installed. -if(NOT CMAKE_INSTALL_COMPONENT) - if(COMPONENT) - message(STATUS "Install component: \"${COMPONENT}\"") - set(CMAKE_INSTALL_COMPONENT "${COMPONENT}") - else() - set(CMAKE_INSTALL_COMPONENT) - endif() -endif() - -# Is this installation the result of a crosscompile? -if(NOT DEFINED CMAKE_CROSSCOMPILING) - set(CMAKE_CROSSCOMPILING "FALSE") -endif() - -# Set default install directory permissions. -if(NOT DEFINED CMAKE_OBJDUMP) - set(CMAKE_OBJDUMP "/Library/Developer/CommandLineTools/usr/bin/objdump") -endif() - -if(CMAKE_INSTALL_COMPONENT) - set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt") -else() - set(CMAKE_INSTALL_MANIFEST "install_manifest.txt") -endif() - -string(REPLACE ";" "\n" CMAKE_INSTALL_MANIFEST_CONTENT - "${CMAKE_INSTALL_MANIFEST_FILES}") -file(WRITE "/Users/liaozhaoyan/work/sh/c/lbc/cmake-build-debug/${CMAKE_INSTALL_MANIFEST}" - "${CMAKE_INSTALL_MANIFEST_CONTENT}") diff --git a/compile/remote-compile/lbc/cmake-build-debug/lbc.cbp b/compile/remote-compile/lbc/cmake-build-debug/lbc.cbp deleted file mode 100644 index e542404..0000000 --- a/compile/remote-compile/lbc/cmake-build-debug/lbc.cbp +++ /dev/null @@ -1,97 +0,0 @@ - - - - - - diff --git a/compile/remote-compile/lbc/include/bpf/bpf.h b/compile/remote-compile/lbc/include/bpf/bpf.h deleted file mode 100644 index 875dde2..0000000 --- a/compile/remote-compile/lbc/include/bpf/bpf.h +++ /dev/null @@ -1,285 +0,0 @@ -/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */ - -/* - * common eBPF ELF operations. - * - * Copyright (C) 2013-2015 Alexei Starovoitov - * Copyright (C) 2015 Wang Nan - * Copyright (C) 2015 Huawei Inc. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; - * version 2.1 of the License (not later!) - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this program; if not, see - */ -#ifndef __LIBBPF_BPF_H -#define __LIBBPF_BPF_H - -#include -#include -#include -#include - -#include "libbpf_common.h" - -#ifdef __cplusplus -extern "C" { -#endif - -struct bpf_create_map_attr { - const char *name; - enum bpf_map_type map_type; - __u32 map_flags; - __u32 key_size; - __u32 value_size; - __u32 max_entries; - __u32 numa_node; - __u32 btf_fd; - __u32 btf_key_type_id; - __u32 btf_value_type_id; - __u32 map_ifindex; - union { - __u32 inner_map_fd; - __u32 btf_vmlinux_value_type_id; - }; -}; - -LIBBPF_API int -bpf_create_map_xattr(const struct bpf_create_map_attr *create_attr); -LIBBPF_API int bpf_create_map_node(enum bpf_map_type map_type, const char *name, - int key_size, int value_size, - int max_entries, __u32 map_flags, int node); -LIBBPF_API int bpf_create_map_name(enum bpf_map_type map_type, const char *name, - int key_size, int value_size, - int max_entries, __u32 map_flags); -LIBBPF_API int bpf_create_map(enum bpf_map_type map_type, int key_size, - int value_size, int max_entries, __u32 map_flags); -LIBBPF_API int bpf_create_map_in_map_node(enum bpf_map_type map_type, - const char *name, int key_size, - int inner_map_fd, int max_entries, - __u32 map_flags, int node); -LIBBPF_API int bpf_create_map_in_map(enum bpf_map_type map_type, - const char *name, int key_size, - int inner_map_fd, int max_entries, - __u32 map_flags); - -struct bpf_load_program_attr { - enum bpf_prog_type prog_type; - enum bpf_attach_type expected_attach_type; - const char *name; - const struct bpf_insn *insns; - size_t insns_cnt; - const char *license; - union { - __u32 kern_version; - __u32 attach_prog_fd; - }; - union { - __u32 prog_ifindex; - __u32 attach_btf_id; - }; - __u32 prog_btf_fd; - __u32 func_info_rec_size; - const void *func_info; - __u32 func_info_cnt; - __u32 line_info_rec_size; - const void *line_info; - __u32 line_info_cnt; - __u32 log_level; - __u32 prog_flags; -}; - -/* Flags to direct loading requirements */ -#define MAPS_RELAX_COMPAT 0x01 - -/* Recommend log buffer size */ -#define BPF_LOG_BUF_SIZE (UINT32_MAX >> 8) /* verifier maximum in kernels <= 5.1 */ -LIBBPF_API int -bpf_load_program_xattr(const struct bpf_load_program_attr *load_attr, - char *log_buf, size_t log_buf_sz); -LIBBPF_API int bpf_load_program(enum bpf_prog_type type, - const struct bpf_insn *insns, size_t insns_cnt, - const char *license, __u32 kern_version, - char *log_buf, size_t log_buf_sz); -LIBBPF_API int bpf_verify_program(enum bpf_prog_type type, - const struct bpf_insn *insns, - size_t insns_cnt, __u32 prog_flags, - const char *license, __u32 kern_version, - char *log_buf, size_t log_buf_sz, - int log_level); - -LIBBPF_API int bpf_map_update_elem(int fd, const void *key, const void *value, - __u64 flags); - -LIBBPF_API int bpf_map_lookup_elem(int fd, const void *key, void *value); -LIBBPF_API int bpf_map_lookup_elem_flags(int fd, const void *key, void *value, - __u64 flags); -LIBBPF_API int bpf_map_lookup_and_delete_elem(int fd, const void *key, - void *value); -LIBBPF_API int bpf_map_delete_elem(int fd, const void *key); -LIBBPF_API int bpf_map_get_next_key(int fd, const void *key, void *next_key); -LIBBPF_API int bpf_map_freeze(int fd); - -struct bpf_map_batch_opts { - size_t sz; /* size of this struct for forward/backward compatibility */ - __u64 elem_flags; - __u64 flags; -}; -#define bpf_map_batch_opts__last_field flags - -LIBBPF_API int bpf_map_delete_batch(int fd, void *keys, - __u32 *count, - const struct bpf_map_batch_opts *opts); -LIBBPF_API int bpf_map_lookup_batch(int fd, void *in_batch, void *out_batch, - void *keys, void *values, __u32 *count, - const struct bpf_map_batch_opts *opts); -LIBBPF_API int bpf_map_lookup_and_delete_batch(int fd, void *in_batch, - void *out_batch, void *keys, - void *values, __u32 *count, - const struct bpf_map_batch_opts *opts); -LIBBPF_API int bpf_map_update_batch(int fd, void *keys, void *values, - __u32 *count, - const struct bpf_map_batch_opts *opts); - -LIBBPF_API int bpf_obj_pin(int fd, const char *pathname); -LIBBPF_API int bpf_obj_get(const char *pathname); - -struct bpf_prog_attach_opts { - size_t sz; /* size of this struct for forward/backward compatibility */ - unsigned int flags; - int replace_prog_fd; -}; -#define bpf_prog_attach_opts__last_field replace_prog_fd - -LIBBPF_API int bpf_prog_attach(int prog_fd, int attachable_fd, - enum bpf_attach_type type, unsigned int flags); -LIBBPF_API int bpf_prog_attach_xattr(int prog_fd, int attachable_fd, - enum bpf_attach_type type, - const struct bpf_prog_attach_opts *opts); -LIBBPF_API int bpf_prog_detach(int attachable_fd, enum bpf_attach_type type); -LIBBPF_API int bpf_prog_detach2(int prog_fd, int attachable_fd, - enum bpf_attach_type type); - -union bpf_iter_link_info; /* defined in up-to-date linux/bpf.h */ -struct bpf_link_create_opts { - size_t sz; /* size of this struct for forward/backward compatibility */ - __u32 flags; - union bpf_iter_link_info *iter_info; - __u32 iter_info_len; - __u32 target_btf_id; -}; -#define bpf_link_create_opts__last_field target_btf_id - -LIBBPF_API int bpf_link_create(int prog_fd, int target_fd, - enum bpf_attach_type attach_type, - const struct bpf_link_create_opts *opts); - -LIBBPF_API int bpf_link_detach(int link_fd); - -struct bpf_link_update_opts { - size_t sz; /* size of this struct for forward/backward compatibility */ - __u32 flags; /* extra flags */ - __u32 old_prog_fd; /* expected old program FD */ -}; -#define bpf_link_update_opts__last_field old_prog_fd - -LIBBPF_API int bpf_link_update(int link_fd, int new_prog_fd, - const struct bpf_link_update_opts *opts); - -LIBBPF_API int bpf_iter_create(int link_fd); - -struct bpf_prog_test_run_attr { - int prog_fd; - int repeat; - const void *data_in; - __u32 data_size_in; - void *data_out; /* optional */ - __u32 data_size_out; /* in: max length of data_out - * out: length of data_out */ - __u32 retval; /* out: return code of the BPF program */ - __u32 duration; /* out: average per repetition in ns */ - const void *ctx_in; /* optional */ - __u32 ctx_size_in; - void *ctx_out; /* optional */ - __u32 ctx_size_out; /* in: max length of ctx_out - * out: length of cxt_out */ -}; - -LIBBPF_API int bpf_prog_test_run_xattr(struct bpf_prog_test_run_attr *test_attr); - -/* - * bpf_prog_test_run does not check that data_out is large enough. Consider - * using bpf_prog_test_run_xattr instead. - */ -LIBBPF_API int bpf_prog_test_run(int prog_fd, int repeat, void *data, - __u32 size, void *data_out, __u32 *size_out, - __u32 *retval, __u32 *duration); -LIBBPF_API int bpf_prog_get_next_id(__u32 start_id, __u32 *next_id); -LIBBPF_API int bpf_map_get_next_id(__u32 start_id, __u32 *next_id); -LIBBPF_API int bpf_btf_get_next_id(__u32 start_id, __u32 *next_id); -LIBBPF_API int bpf_link_get_next_id(__u32 start_id, __u32 *next_id); -LIBBPF_API int bpf_prog_get_fd_by_id(__u32 id); -LIBBPF_API int bpf_map_get_fd_by_id(__u32 id); -LIBBPF_API int bpf_btf_get_fd_by_id(__u32 id); -LIBBPF_API int bpf_link_get_fd_by_id(__u32 id); -LIBBPF_API int bpf_obj_get_info_by_fd(int bpf_fd, void *info, __u32 *info_len); -LIBBPF_API int bpf_prog_query(int target_fd, enum bpf_attach_type type, - __u32 query_flags, __u32 *attach_flags, - __u32 *prog_ids, __u32 *prog_cnt); -LIBBPF_API int bpf_raw_tracepoint_open(const char *name, int prog_fd); -LIBBPF_API int bpf_load_btf(const void *btf, __u32 btf_size, char *log_buf, - __u32 log_buf_size, bool do_log); -LIBBPF_API int bpf_task_fd_query(int pid, int fd, __u32 flags, char *buf, - __u32 *buf_len, __u32 *prog_id, __u32 *fd_type, - __u64 *probe_offset, __u64 *probe_addr); - -enum bpf_stats_type; /* defined in up-to-date linux/bpf.h */ -LIBBPF_API int bpf_enable_stats(enum bpf_stats_type type); - -struct bpf_prog_bind_opts { - size_t sz; /* size of this struct for forward/backward compatibility */ - __u32 flags; -}; -#define bpf_prog_bind_opts__last_field flags - -LIBBPF_API int bpf_prog_bind_map(int prog_fd, int map_fd, - const struct bpf_prog_bind_opts *opts); - -struct bpf_test_run_opts { - size_t sz; /* size of this struct for forward/backward compatibility */ - const void *data_in; /* optional */ - void *data_out; /* optional */ - __u32 data_size_in; - __u32 data_size_out; /* in: max length of data_out - * out: length of data_out - */ - const void *ctx_in; /* optional */ - void *ctx_out; /* optional */ - __u32 ctx_size_in; - __u32 ctx_size_out; /* in: max length of ctx_out - * out: length of cxt_out - */ - __u32 retval; /* out: return code of the BPF program */ - int repeat; - __u32 duration; /* out: average per repetition in ns */ - __u32 flags; - __u32 cpu; -}; -#define bpf_test_run_opts__last_field cpu - -LIBBPF_API int bpf_prog_test_run_opts(int prog_fd, - struct bpf_test_run_opts *opts); - -#ifdef __cplusplus -} /* extern "C" */ -#endif - -#endif /* __LIBBPF_BPF_H */ diff --git a/compile/remote-compile/lbc/include/bpf/bpf_core_read.h b/compile/remote-compile/lbc/include/bpf/bpf_core_read.h deleted file mode 100644 index 53b3e19..0000000 --- a/compile/remote-compile/lbc/include/bpf/bpf_core_read.h +++ /dev/null @@ -1,436 +0,0 @@ -/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */ -#ifndef __BPF_CORE_READ_H__ -#define __BPF_CORE_READ_H__ - -/* - * enum bpf_field_info_kind is passed as a second argument into - * __builtin_preserve_field_info() built-in to get a specific aspect of - * a field, captured as a first argument. __builtin_preserve_field_info(field, - * info_kind) returns __u32 integer and produces BTF field relocation, which - * is understood and processed by libbpf during BPF object loading. See - * selftests/bpf for examples. - */ -enum bpf_field_info_kind { - BPF_FIELD_BYTE_OFFSET = 0, /* field byte offset */ - BPF_FIELD_BYTE_SIZE = 1, - BPF_FIELD_EXISTS = 2, /* field existence in target kernel */ - BPF_FIELD_SIGNED = 3, - BPF_FIELD_LSHIFT_U64 = 4, - BPF_FIELD_RSHIFT_U64 = 5, -}; - -/* second argument to __builtin_btf_type_id() built-in */ -enum bpf_type_id_kind { - BPF_TYPE_ID_LOCAL = 0, /* BTF type ID in local program */ - BPF_TYPE_ID_TARGET = 1, /* BTF type ID in target kernel */ -}; - -/* second argument to __builtin_preserve_type_info() built-in */ -enum bpf_type_info_kind { - BPF_TYPE_EXISTS = 0, /* type existence in target kernel */ - BPF_TYPE_SIZE = 1, /* type size in target kernel */ -}; - -/* second argument to __builtin_preserve_enum_value() built-in */ -enum bpf_enum_value_kind { - BPF_ENUMVAL_EXISTS = 0, /* enum value existence in kernel */ - BPF_ENUMVAL_VALUE = 1, /* enum value value relocation */ -}; - -#define __CORE_RELO(src, field, info) \ - __builtin_preserve_field_info((src)->field, BPF_FIELD_##info) - -#if __BYTE_ORDER == __LITTLE_ENDIAN -#define __CORE_BITFIELD_PROBE_READ(dst, src, fld) \ - bpf_probe_read_kernel( \ - (void *)dst, \ - __CORE_RELO(src, fld, BYTE_SIZE), \ - (const void *)src + __CORE_RELO(src, fld, BYTE_OFFSET)) -#else -/* semantics of LSHIFT_64 assumes loading values into low-ordered bytes, so - * for big-endian we need to adjust destination pointer accordingly, based on - * field byte size - */ -#define __CORE_BITFIELD_PROBE_READ(dst, src, fld) \ - bpf_probe_read_kernel( \ - (void *)dst + (8 - __CORE_RELO(src, fld, BYTE_SIZE)), \ - __CORE_RELO(src, fld, BYTE_SIZE), \ - (const void *)src + __CORE_RELO(src, fld, BYTE_OFFSET)) -#endif - -/* - * Extract bitfield, identified by s->field, and return its value as u64. - * All this is done in relocatable manner, so bitfield changes such as - * signedness, bit size, offset changes, this will be handled automatically. - * This version of macro is using bpf_probe_read_kernel() to read underlying - * integer storage. Macro functions as an expression and its return type is - * bpf_probe_read_kernel()'s return value: 0, on success, <0 on error. - */ -#define BPF_CORE_READ_BITFIELD_PROBED(s, field) ({ \ - unsigned long long val = 0; \ - \ - __CORE_BITFIELD_PROBE_READ(&val, s, field); \ - val <<= __CORE_RELO(s, field, LSHIFT_U64); \ - if (__CORE_RELO(s, field, SIGNED)) \ - val = ((long long)val) >> __CORE_RELO(s, field, RSHIFT_U64); \ - else \ - val = val >> __CORE_RELO(s, field, RSHIFT_U64); \ - val; \ -}) - -/* - * Extract bitfield, identified by s->field, and return its value as u64. - * This version of macro is using direct memory reads and should be used from - * BPF program types that support such functionality (e.g., typed raw - * tracepoints). - */ -#define BPF_CORE_READ_BITFIELD(s, field) ({ \ - const void *p = (const void *)s + __CORE_RELO(s, field, BYTE_OFFSET); \ - unsigned long long val; \ - \ - switch (__CORE_RELO(s, field, BYTE_SIZE)) { \ - case 1: val = *(const unsigned char *)p; \ - case 2: val = *(const unsigned short *)p; \ - case 4: val = *(const unsigned int *)p; \ - case 8: val = *(const unsigned long long *)p; \ - } \ - val <<= __CORE_RELO(s, field, LSHIFT_U64); \ - if (__CORE_RELO(s, field, SIGNED)) \ - val = ((long long)val) >> __CORE_RELO(s, field, RSHIFT_U64); \ - else \ - val = val >> __CORE_RELO(s, field, RSHIFT_U64); \ - val; \ -}) - -/* - * Convenience macro to check that field actually exists in target kernel's. - * Returns: - * 1, if matching field is present in target kernel; - * 0, if no matching field found. - */ -#define bpf_core_field_exists(field) \ - __builtin_preserve_field_info(field, BPF_FIELD_EXISTS) - -/* - * Convenience macro to get the byte size of a field. Works for integers, - * struct/unions, pointers, arrays, and enums. - */ -#define bpf_core_field_size(field) \ - __builtin_preserve_field_info(field, BPF_FIELD_BYTE_SIZE) - -/* - * Convenience macro to get BTF type ID of a specified type, using a local BTF - * information. Return 32-bit unsigned integer with type ID from program's own - * BTF. Always succeeds. - */ -#define bpf_core_type_id_local(type) \ - __builtin_btf_type_id(*(typeof(type) *)0, BPF_TYPE_ID_LOCAL) - -/* - * Convenience macro to get BTF type ID of a target kernel's type that matches - * specified local type. - * Returns: - * - valid 32-bit unsigned type ID in kernel BTF; - * - 0, if no matching type was found in a target kernel BTF. - */ -#define bpf_core_type_id_kernel(type) \ - __builtin_btf_type_id(*(typeof(type) *)0, BPF_TYPE_ID_TARGET) - -/* - * Convenience macro to check that provided named type - * (struct/union/enum/typedef) exists in a target kernel. - * Returns: - * 1, if such type is present in target kernel's BTF; - * 0, if no matching type is found. - */ -#define bpf_core_type_exists(type) \ - __builtin_preserve_type_info(*(typeof(type) *)0, BPF_TYPE_EXISTS) - -/* - * Convenience macro to get the byte size of a provided named type - * (struct/union/enum/typedef) in a target kernel. - * Returns: - * >= 0 size (in bytes), if type is present in target kernel's BTF; - * 0, if no matching type is found. - */ -#define bpf_core_type_size(type) \ - __builtin_preserve_type_info(*(typeof(type) *)0, BPF_TYPE_SIZE) - -/* - * Convenience macro to check that provided enumerator value is defined in - * a target kernel. - * Returns: - * 1, if specified enum type and its enumerator value are present in target - * kernel's BTF; - * 0, if no matching enum and/or enum value within that enum is found. - */ -#define bpf_core_enum_value_exists(enum_type, enum_value) \ - __builtin_preserve_enum_value(*(typeof(enum_type) *)enum_value, BPF_ENUMVAL_EXISTS) - -/* - * Convenience macro to get the integer value of an enumerator value in - * a target kernel. - * Returns: - * 64-bit value, if specified enum type and its enumerator value are - * present in target kernel's BTF; - * 0, if no matching enum and/or enum value within that enum is found. - */ -#define bpf_core_enum_value(enum_type, enum_value) \ - __builtin_preserve_enum_value(*(typeof(enum_type) *)enum_value, BPF_ENUMVAL_VALUE) - -/* - * bpf_core_read() abstracts away bpf_probe_read_kernel() call and captures - * offset relocation for source address using __builtin_preserve_access_index() - * built-in, provided by Clang. - * - * __builtin_preserve_access_index() takes as an argument an expression of - * taking an address of a field within struct/union. It makes compiler emit - * a relocation, which records BTF type ID describing root struct/union and an - * accessor string which describes exact embedded field that was used to take - * an address. See detailed description of this relocation format and - * semantics in comments to struct bpf_field_reloc in libbpf_internal.h. - * - * This relocation allows libbpf to adjust BPF instruction to use correct - * actual field offset, based on target kernel BTF type that matches original - * (local) BTF, used to record relocation. - */ -#define bpf_core_read(dst, sz, src) \ - bpf_probe_read_kernel(dst, sz, (const void *)__builtin_preserve_access_index(src)) - -/* NOTE: see comments for BPF_CORE_READ_USER() about the proper types use. */ -#define bpf_core_read_user(dst, sz, src) \ - bpf_probe_read_user(dst, sz, (const void *)__builtin_preserve_access_index(src)) -/* - * bpf_core_read_str() is a thin wrapper around bpf_probe_read_str() - * additionally emitting BPF CO-RE field relocation for specified source - * argument. - */ -#define bpf_core_read_str(dst, sz, src) \ - bpf_probe_read_kernel_str(dst, sz, (const void *)__builtin_preserve_access_index(src)) - -/* NOTE: see comments for BPF_CORE_READ_USER() about the proper types use. */ -#define bpf_core_read_user_str(dst, sz, src) \ - bpf_probe_read_user_str(dst, sz, (const void *)__builtin_preserve_access_index(src)) - -#define ___concat(a, b) a ## b -#define ___apply(fn, n) ___concat(fn, n) -#define ___nth(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, __11, N, ...) N - -/* - * return number of provided arguments; used for switch-based variadic macro - * definitions (see ___last, ___arrow, etc below) - */ -#define ___narg(...) ___nth(_, ##__VA_ARGS__, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0) -/* - * return 0 if no arguments are passed, N - otherwise; used for - * recursively-defined macros to specify termination (0) case, and generic - * (N) case (e.g., ___read_ptrs, ___core_read) - */ -#define ___empty(...) ___nth(_, ##__VA_ARGS__, N, N, N, N, N, N, N, N, N, N, 0) - -#define ___last1(x) x -#define ___last2(a, x) x -#define ___last3(a, b, x) x -#define ___last4(a, b, c, x) x -#define ___last5(a, b, c, d, x) x -#define ___last6(a, b, c, d, e, x) x -#define ___last7(a, b, c, d, e, f, x) x -#define ___last8(a, b, c, d, e, f, g, x) x -#define ___last9(a, b, c, d, e, f, g, h, x) x -#define ___last10(a, b, c, d, e, f, g, h, i, x) x -#define ___last(...) ___apply(___last, ___narg(__VA_ARGS__))(__VA_ARGS__) - -#define ___nolast2(a, _) a -#define ___nolast3(a, b, _) a, b -#define ___nolast4(a, b, c, _) a, b, c -#define ___nolast5(a, b, c, d, _) a, b, c, d -#define ___nolast6(a, b, c, d, e, _) a, b, c, d, e -#define ___nolast7(a, b, c, d, e, f, _) a, b, c, d, e, f -#define ___nolast8(a, b, c, d, e, f, g, _) a, b, c, d, e, f, g -#define ___nolast9(a, b, c, d, e, f, g, h, _) a, b, c, d, e, f, g, h -#define ___nolast10(a, b, c, d, e, f, g, h, i, _) a, b, c, d, e, f, g, h, i -#define ___nolast(...) ___apply(___nolast, ___narg(__VA_ARGS__))(__VA_ARGS__) - -#define ___arrow1(a) a -#define ___arrow2(a, b) a->b -#define ___arrow3(a, b, c) a->b->c -#define ___arrow4(a, b, c, d) a->b->c->d -#define ___arrow5(a, b, c, d, e) a->b->c->d->e -#define ___arrow6(a, b, c, d, e, f) a->b->c->d->e->f -#define ___arrow7(a, b, c, d, e, f, g) a->b->c->d->e->f->g -#define ___arrow8(a, b, c, d, e, f, g, h) a->b->c->d->e->f->g->h -#define ___arrow9(a, b, c, d, e, f, g, h, i) a->b->c->d->e->f->g->h->i -#define ___arrow10(a, b, c, d, e, f, g, h, i, j) a->b->c->d->e->f->g->h->i->j -#define ___arrow(...) ___apply(___arrow, ___narg(__VA_ARGS__))(__VA_ARGS__) - -#define ___type(...) typeof(___arrow(__VA_ARGS__)) - -#define ___read(read_fn, dst, src_type, src, accessor) \ - read_fn((void *)(dst), sizeof(*(dst)), &((src_type)(src))->accessor) - -/* "recursively" read a sequence of inner pointers using local __t var */ -#define ___rd_first(fn, src, a) ___read(fn, &__t, ___type(src), src, a); -#define ___rd_last(fn, ...) \ - ___read(fn, &__t, ___type(___nolast(__VA_ARGS__)), __t, ___last(__VA_ARGS__)); -#define ___rd_p1(fn, ...) const void *__t; ___rd_first(fn, __VA_ARGS__) -#define ___rd_p2(fn, ...) ___rd_p1(fn, ___nolast(__VA_ARGS__)) ___rd_last(fn, __VA_ARGS__) -#define ___rd_p3(fn, ...) ___rd_p2(fn, ___nolast(__VA_ARGS__)) ___rd_last(fn, __VA_ARGS__) -#define ___rd_p4(fn, ...) ___rd_p3(fn, ___nolast(__VA_ARGS__)) ___rd_last(fn, __VA_ARGS__) -#define ___rd_p5(fn, ...) ___rd_p4(fn, ___nolast(__VA_ARGS__)) ___rd_last(fn, __VA_ARGS__) -#define ___rd_p6(fn, ...) ___rd_p5(fn, ___nolast(__VA_ARGS__)) ___rd_last(fn, __VA_ARGS__) -#define ___rd_p7(fn, ...) ___rd_p6(fn, ___nolast(__VA_ARGS__)) ___rd_last(fn, __VA_ARGS__) -#define ___rd_p8(fn, ...) ___rd_p7(fn, ___nolast(__VA_ARGS__)) ___rd_last(fn, __VA_ARGS__) -#define ___rd_p9(fn, ...) ___rd_p8(fn, ___nolast(__VA_ARGS__)) ___rd_last(fn, __VA_ARGS__) -#define ___read_ptrs(fn, src, ...) \ - ___apply(___rd_p, ___narg(__VA_ARGS__))(fn, src, __VA_ARGS__) - -#define ___core_read0(fn, fn_ptr, dst, src, a) \ - ___read(fn, dst, ___type(src), src, a); -#define ___core_readN(fn, fn_ptr, dst, src, ...) \ - ___read_ptrs(fn_ptr, src, ___nolast(__VA_ARGS__)) \ - ___read(fn, dst, ___type(src, ___nolast(__VA_ARGS__)), __t, \ - ___last(__VA_ARGS__)); -#define ___core_read(fn, fn_ptr, dst, src, a, ...) \ - ___apply(___core_read, ___empty(__VA_ARGS__))(fn, fn_ptr, dst, \ - src, a, ##__VA_ARGS__) - -/* - * BPF_CORE_READ_INTO() is a more performance-conscious variant of - * BPF_CORE_READ(), in which final field is read into user-provided storage. - * See BPF_CORE_READ() below for more details on general usage. - */ -#define BPF_CORE_READ_INTO(dst, src, a, ...) ({ \ - ___core_read(bpf_core_read, bpf_core_read, \ - dst, (src), a, ##__VA_ARGS__) \ -}) - -/* - * Variant of BPF_CORE_READ_INTO() for reading from user-space memory. - * - * NOTE: see comments for BPF_CORE_READ_USER() about the proper types use. - */ -#define BPF_CORE_READ_USER_INTO(dst, src, a, ...) ({ \ - ___core_read(bpf_core_read_user, bpf_core_read_user, \ - dst, (src), a, ##__VA_ARGS__) \ -}) - -/* Non-CO-RE variant of BPF_CORE_READ_INTO() */ -#define BPF_PROBE_READ_INTO(dst, src, a, ...) ({ \ - ___core_read(bpf_probe_read, bpf_probe_read, \ - dst, (src), a, ##__VA_ARGS__) \ -}) - -/* Non-CO-RE variant of BPF_CORE_READ_USER_INTO(). - * - * As no CO-RE relocations are emitted, source types can be arbitrary and are - * not restricted to kernel types only. - */ -#define BPF_PROBE_READ_USER_INTO(dst, src, a, ...) ({ \ - ___core_read(bpf_probe_read_user, bpf_probe_read_user, \ - dst, (src), a, ##__VA_ARGS__) \ -}) - -/* - * BPF_CORE_READ_STR_INTO() does same "pointer chasing" as - * BPF_CORE_READ() for intermediate pointers, but then executes (and returns - * corresponding error code) bpf_core_read_str() for final string read. - */ -#define BPF_CORE_READ_STR_INTO(dst, src, a, ...) ({ \ - ___core_read(bpf_core_read_str, bpf_core_read, \ - dst, (src), a, ##__VA_ARGS__) \ -}) - -/* - * Variant of BPF_CORE_READ_STR_INTO() for reading from user-space memory. - * - * NOTE: see comments for BPF_CORE_READ_USER() about the proper types use. - */ -#define BPF_CORE_READ_USER_STR_INTO(dst, src, a, ...) ({ \ - ___core_read(bpf_core_read_user_str, bpf_core_read_user, \ - dst, (src), a, ##__VA_ARGS__) \ -}) - -/* Non-CO-RE variant of BPF_CORE_READ_STR_INTO() */ -#define BPF_PROBE_READ_STR_INTO(dst, src, a, ...) ({ \ - ___core_read(bpf_probe_read_str, bpf_probe_read, \ - dst, (src), a, ##__VA_ARGS__) \ -}) - -/* - * Non-CO-RE variant of BPF_CORE_READ_USER_STR_INTO(). - * - * As no CO-RE relocations are emitted, source types can be arbitrary and are - * not restricted to kernel types only. - */ -#define BPF_PROBE_READ_USER_STR_INTO(dst, src, a, ...) ({ \ - ___core_read(bpf_probe_read_user_str, bpf_probe_read_user, \ - dst, (src), a, ##__VA_ARGS__) \ -}) - -/* - * BPF_CORE_READ() is used to simplify BPF CO-RE relocatable read, especially - * when there are few pointer chasing steps. - * E.g., what in non-BPF world (or in BPF w/ BCC) would be something like: - * int x = s->a.b.c->d.e->f->g; - * can be succinctly achieved using BPF_CORE_READ as: - * int x = BPF_CORE_READ(s, a.b.c, d.e, f, g); - * - * BPF_CORE_READ will decompose above statement into 4 bpf_core_read (BPF - * CO-RE relocatable bpf_probe_read_kernel() wrapper) calls, logically - * equivalent to: - * 1. const void *__t = s->a.b.c; - * 2. __t = __t->d.e; - * 3. __t = __t->f; - * 4. return __t->g; - * - * Equivalence is logical, because there is a heavy type casting/preservation - * involved, as well as all the reads are happening through - * bpf_probe_read_kernel() calls using __builtin_preserve_access_index() to - * emit CO-RE relocations. - * - * N.B. Only up to 9 "field accessors" are supported, which should be more - * than enough for any practical purpose. - */ -#define BPF_CORE_READ(src, a, ...) ({ \ - ___type((src), a, ##__VA_ARGS__) __r; \ - BPF_CORE_READ_INTO(&__r, (src), a, ##__VA_ARGS__); \ - __r; \ -}) - -/* - * Variant of BPF_CORE_READ() for reading from user-space memory. - * - * NOTE: all the source types involved are still *kernel types* and need to - * exist in kernel (or kernel module) BTF, otherwise CO-RE relocation will - * fail. Custom user types are not relocatable with CO-RE. - * The typical situation in which BPF_CORE_READ_USER() might be used is to - * read kernel UAPI types from the user-space memory passed in as a syscall - * input argument. - */ -#define BPF_CORE_READ_USER(src, a, ...) ({ \ - ___type((src), a, ##__VA_ARGS__) __r; \ - BPF_CORE_READ_USER_INTO(&__r, (src), a, ##__VA_ARGS__); \ - __r; \ -}) - -/* Non-CO-RE variant of BPF_CORE_READ() */ -#define BPF_PROBE_READ(src, a, ...) ({ \ - ___type((src), a, ##__VA_ARGS__) __r; \ - BPF_PROBE_READ_INTO(&__r, (src), a, ##__VA_ARGS__); \ - __r; \ -}) - -/* - * Non-CO-RE variant of BPF_CORE_READ_USER(). - * - * As no CO-RE relocations are emitted, source types can be arbitrary and are - * not restricted to kernel types only. - */ -#define BPF_PROBE_READ_USER(src, a, ...) ({ \ - ___type((src), a, ##__VA_ARGS__) __r; \ - BPF_PROBE_READ_USER_INTO(&__r, (src), a, ##__VA_ARGS__); \ - __r; \ -}) - -#endif - diff --git a/compile/remote-compile/lbc/include/bpf/bpf_endian.h b/compile/remote-compile/lbc/include/bpf/bpf_endian.h deleted file mode 100644 index ec9db4f..0000000 --- a/compile/remote-compile/lbc/include/bpf/bpf_endian.h +++ /dev/null @@ -1,99 +0,0 @@ -/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */ -#ifndef __BPF_ENDIAN__ -#define __BPF_ENDIAN__ - -/* - * Isolate byte #n and put it into byte #m, for __u##b type. - * E.g., moving byte #6 (nnnnnnnn) into byte #1 (mmmmmmmm) for __u64: - * 1) xxxxxxxx nnnnnnnn xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx mmmmmmmm xxxxxxxx - * 2) nnnnnnnn xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx mmmmmmmm xxxxxxxx 00000000 - * 3) 00000000 00000000 00000000 00000000 00000000 00000000 00000000 nnnnnnnn - * 4) 00000000 00000000 00000000 00000000 00000000 00000000 nnnnnnnn 00000000 - */ -#define ___bpf_mvb(x, b, n, m) ((__u##b)(x) << (b-(n+1)*8) >> (b-8) << (m*8)) - -#define ___bpf_swab16(x) ((__u16)( \ - ___bpf_mvb(x, 16, 0, 1) | \ - ___bpf_mvb(x, 16, 1, 0))) - -#define ___bpf_swab32(x) ((__u32)( \ - ___bpf_mvb(x, 32, 0, 3) | \ - ___bpf_mvb(x, 32, 1, 2) | \ - ___bpf_mvb(x, 32, 2, 1) | \ - ___bpf_mvb(x, 32, 3, 0))) - -#define ___bpf_swab64(x) ((__u64)( \ - ___bpf_mvb(x, 64, 0, 7) | \ - ___bpf_mvb(x, 64, 1, 6) | \ - ___bpf_mvb(x, 64, 2, 5) | \ - ___bpf_mvb(x, 64, 3, 4) | \ - ___bpf_mvb(x, 64, 4, 3) | \ - ___bpf_mvb(x, 64, 5, 2) | \ - ___bpf_mvb(x, 64, 6, 1) | \ - ___bpf_mvb(x, 64, 7, 0))) - -/* LLVM's BPF target selects the endianness of the CPU - * it compiles on, or the user specifies (bpfel/bpfeb), - * respectively. The used __BYTE_ORDER__ is defined by - * the compiler, we cannot rely on __BYTE_ORDER from - * libc headers, since it doesn't reflect the actual - * requested byte order. - * - * Note, LLVM's BPF target has different __builtin_bswapX() - * semantics. It does map to BPF_ALU | BPF_END | BPF_TO_BE - * in bpfel and bpfeb case, which means below, that we map - * to cpu_to_be16(). We could use it unconditionally in BPF - * case, but better not rely on it, so that this header here - * can be used from application and BPF program side, which - * use different targets. - */ -#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ -# define __bpf_ntohs(x) __builtin_bswap16(x) -# define __bpf_htons(x) __builtin_bswap16(x) -# define __bpf_constant_ntohs(x) ___bpf_swab16(x) -# define __bpf_constant_htons(x) ___bpf_swab16(x) -# define __bpf_ntohl(x) __builtin_bswap32(x) -# define __bpf_htonl(x) __builtin_bswap32(x) -# define __bpf_constant_ntohl(x) ___bpf_swab32(x) -# define __bpf_constant_htonl(x) ___bpf_swab32(x) -# define __bpf_be64_to_cpu(x) __builtin_bswap64(x) -# define __bpf_cpu_to_be64(x) __builtin_bswap64(x) -# define __bpf_constant_be64_to_cpu(x) ___bpf_swab64(x) -# define __bpf_constant_cpu_to_be64(x) ___bpf_swab64(x) -#elif __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ -# define __bpf_ntohs(x) (x) -# define __bpf_htons(x) (x) -# define __bpf_constant_ntohs(x) (x) -# define __bpf_constant_htons(x) (x) -# define __bpf_ntohl(x) (x) -# define __bpf_htonl(x) (x) -# define __bpf_constant_ntohl(x) (x) -# define __bpf_constant_htonl(x) (x) -# define __bpf_be64_to_cpu(x) (x) -# define __bpf_cpu_to_be64(x) (x) -# define __bpf_constant_be64_to_cpu(x) (x) -# define __bpf_constant_cpu_to_be64(x) (x) -#else -# error "Fix your compiler's __BYTE_ORDER__?!" -#endif - -#define bpf_htons(x) \ - (__builtin_constant_p(x) ? \ - __bpf_constant_htons(x) : __bpf_htons(x)) -#define bpf_ntohs(x) \ - (__builtin_constant_p(x) ? \ - __bpf_constant_ntohs(x) : __bpf_ntohs(x)) -#define bpf_htonl(x) \ - (__builtin_constant_p(x) ? \ - __bpf_constant_htonl(x) : __bpf_htonl(x)) -#define bpf_ntohl(x) \ - (__builtin_constant_p(x) ? \ - __bpf_constant_ntohl(x) : __bpf_ntohl(x)) -#define bpf_cpu_to_be64(x) \ - (__builtin_constant_p(x) ? \ - __bpf_constant_cpu_to_be64(x) : __bpf_cpu_to_be64(x)) -#define bpf_be64_to_cpu(x) \ - (__builtin_constant_p(x) ? \ - __bpf_constant_be64_to_cpu(x) : __bpf_be64_to_cpu(x)) - -#endif /* __BPF_ENDIAN__ */ diff --git a/compile/remote-compile/lbc/include/bpf/bpf_helper_defs.h b/compile/remote-compile/lbc/include/bpf/bpf_helper_defs.h deleted file mode 100644 index b7511f0..0000000 --- a/compile/remote-compile/lbc/include/bpf/bpf_helper_defs.h +++ /dev/null @@ -1,3734 +0,0 @@ -/* This is auto-generated file. See bpf_helpers_doc.py for details. */ - -/* Forward declarations of BPF structs */ -struct bpf_fib_lookup; -struct bpf_sk_lookup; -struct bpf_perf_event_data; -struct bpf_perf_event_value; -struct bpf_pidns_info; -struct bpf_redir_neigh; -struct bpf_sock; -struct bpf_sock_addr; -struct bpf_sock_ops; -struct bpf_sock_tuple; -struct bpf_spin_lock; -struct bpf_sysctl; -struct bpf_tcp_sock; -struct bpf_tunnel_key; -struct bpf_xfrm_state; -struct linux_binprm; -struct pt_regs; -struct sk_reuseport_md; -struct sockaddr; -struct tcphdr; -struct seq_file; -struct tcp6_sock; -struct tcp_sock; -struct tcp_timewait_sock; -struct tcp_request_sock; -struct udp6_sock; -struct task_struct; -struct __sk_buff; -struct sk_msg_md; -struct xdp_md; -struct path; -struct btf_ptr; -struct inode; -struct socket; -struct file; - -/* - * bpf_map_lookup_elem - * - * Perform a lookup in *map* for an entry associated to *key*. - * - * Returns - * Map value associated to *key*, or **NULL** if no entry was - * found. - */ -static void *(*bpf_map_lookup_elem)(void *map, const void *key) = (void *) 1; - -/* - * bpf_map_update_elem - * - * Add or update the value of the entry associated to *key* in - * *map* with *value*. *flags* is one of: - * - * **BPF_NOEXIST** - * The entry for *key* must not exist in the map. - * **BPF_EXIST** - * The entry for *key* must already exist in the map. - * **BPF_ANY** - * No condition on the existence of the entry for *key*. - * - * Flag value **BPF_NOEXIST** cannot be used for maps of types - * **BPF_MAP_TYPE_ARRAY** or **BPF_MAP_TYPE_PERCPU_ARRAY** (all - * elements always exist), the helper would return an error. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_map_update_elem)(void *map, const void *key, const void *value, __u64 flags) = (void *) 2; - -/* - * bpf_map_delete_elem - * - * Delete entry with *key* from *map*. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_map_delete_elem)(void *map, const void *key) = (void *) 3; - -/* - * bpf_probe_read - * - * For tracing programs, safely attempt to read *size* bytes from - * kernel space address *unsafe_ptr* and store the data in *dst*. - * - * Generally, use **bpf_probe_read_user**\ () or - * **bpf_probe_read_kernel**\ () instead. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_probe_read)(void *dst, __u32 size, const void *unsafe_ptr) = (void *) 4; - -/* - * bpf_ktime_get_ns - * - * Return the time elapsed since system boot, in nanoseconds. - * Does not include time the system was suspended. - * See: **clock_gettime**\ (**CLOCK_MONOTONIC**) - * - * Returns - * Current *ktime*. - */ -static __u64 (*bpf_ktime_get_ns)(void) = (void *) 5; - -/* - * bpf_trace_printk - * - * This helper is a "printk()-like" facility for debugging. It - * prints a message defined by format *fmt* (of size *fmt_size*) - * to file *\/sys/kernel/debug/tracing/trace* from DebugFS, if - * available. It can take up to three additional **u64** - * arguments (as an eBPF helpers, the total number of arguments is - * limited to five). - * - * Each time the helper is called, it appends a line to the trace. - * Lines are discarded while *\/sys/kernel/debug/tracing/trace* is - * open, use *\/sys/kernel/debug/tracing/trace_pipe* to avoid this. - * The format of the trace is customizable, and the exact output - * one will get depends on the options set in - * *\/sys/kernel/debug/tracing/trace_options* (see also the - * *README* file under the same directory). However, it usually - * defaults to something like: - * - * :: - * - * telnet-470 [001] .N.. 419421.045894: 0x00000001: - * - * In the above: - * - * * ``telnet`` is the name of the current task. - * * ``470`` is the PID of the current task. - * * ``001`` is the CPU number on which the task is - * running. - * * In ``.N..``, each character refers to a set of - * options (whether irqs are enabled, scheduling - * options, whether hard/softirqs are running, level of - * preempt_disabled respectively). **N** means that - * **TIF_NEED_RESCHED** and **PREEMPT_NEED_RESCHED** - * are set. - * * ``419421.045894`` is a timestamp. - * * ``0x00000001`` is a fake value used by BPF for the - * instruction pointer register. - * * ```` is the message formatted with - * *fmt*. - * - * The conversion specifiers supported by *fmt* are similar, but - * more limited than for printk(). They are **%d**, **%i**, - * **%u**, **%x**, **%ld**, **%li**, **%lu**, **%lx**, **%lld**, - * **%lli**, **%llu**, **%llx**, **%p**, **%s**. No modifier (size - * of field, padding with zeroes, etc.) is available, and the - * helper will return **-EINVAL** (but print nothing) if it - * encounters an unknown specifier. - * - * Also, note that **bpf_trace_printk**\ () is slow, and should - * only be used for debugging purposes. For this reason, a notice - * block (spanning several lines) is printed to kernel logs and - * states that the helper should not be used "for production use" - * the first time this helper is used (or more precisely, when - * **trace_printk**\ () buffers are allocated). For passing values - * to user space, perf events should be preferred. - * - * Returns - * The number of bytes written to the buffer, or a negative error - * in case of failure. - */ -static long (*bpf_trace_printk)(const char *fmt, __u32 fmt_size, ...) = (void *) 6; - -/* - * bpf_get_prandom_u32 - * - * Get a pseudo-random number. - * - * From a security point of view, this helper uses its own - * pseudo-random internal state, and cannot be used to infer the - * seed of other random functions in the kernel. However, it is - * essential to note that the generator used by the helper is not - * cryptographically secure. - * - * Returns - * A random 32-bit unsigned value. - */ -static __u32 (*bpf_get_prandom_u32)(void) = (void *) 7; - -/* - * bpf_get_smp_processor_id - * - * Get the SMP (symmetric multiprocessing) processor id. Note that - * all programs run with preemption disabled, which means that the - * SMP processor id is stable during all the execution of the - * program. - * - * Returns - * The SMP id of the processor running the program. - */ -static __u32 (*bpf_get_smp_processor_id)(void) = (void *) 8; - -/* - * bpf_skb_store_bytes - * - * Store *len* bytes from address *from* into the packet - * associated to *skb*, at *offset*. *flags* are a combination of - * **BPF_F_RECOMPUTE_CSUM** (automatically recompute the - * checksum for the packet after storing the bytes) and - * **BPF_F_INVALIDATE_HASH** (set *skb*\ **->hash**, *skb*\ - * **->swhash** and *skb*\ **->l4hash** to 0). - * - * A call to this helper is susceptible to change the underlying - * packet buffer. Therefore, at load time, all checks on pointers - * previously done by the verifier are invalidated and must be - * performed again, if the helper is used in combination with - * direct packet access. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_skb_store_bytes)(struct __sk_buff *skb, __u32 offset, const void *from, __u32 len, __u64 flags) = (void *) 9; - -/* - * bpf_l3_csum_replace - * - * Recompute the layer 3 (e.g. IP) checksum for the packet - * associated to *skb*. Computation is incremental, so the helper - * must know the former value of the header field that was - * modified (*from*), the new value of this field (*to*), and the - * number of bytes (2 or 4) for this field, stored in *size*. - * Alternatively, it is possible to store the difference between - * the previous and the new values of the header field in *to*, by - * setting *from* and *size* to 0. For both methods, *offset* - * indicates the location of the IP checksum within the packet. - * - * This helper works in combination with **bpf_csum_diff**\ (), - * which does not update the checksum in-place, but offers more - * flexibility and can handle sizes larger than 2 or 4 for the - * checksum to update. - * - * A call to this helper is susceptible to change the underlying - * packet buffer. Therefore, at load time, all checks on pointers - * previously done by the verifier are invalidated and must be - * performed again, if the helper is used in combination with - * direct packet access. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_l3_csum_replace)(struct __sk_buff *skb, __u32 offset, __u64 from, __u64 to, __u64 size) = (void *) 10; - -/* - * bpf_l4_csum_replace - * - * Recompute the layer 4 (e.g. TCP, UDP or ICMP) checksum for the - * packet associated to *skb*. Computation is incremental, so the - * helper must know the former value of the header field that was - * modified (*from*), the new value of this field (*to*), and the - * number of bytes (2 or 4) for this field, stored on the lowest - * four bits of *flags*. Alternatively, it is possible to store - * the difference between the previous and the new values of the - * header field in *to*, by setting *from* and the four lowest - * bits of *flags* to 0. For both methods, *offset* indicates the - * location of the IP checksum within the packet. In addition to - * the size of the field, *flags* can be added (bitwise OR) actual - * flags. With **BPF_F_MARK_MANGLED_0**, a null checksum is left - * untouched (unless **BPF_F_MARK_ENFORCE** is added as well), and - * for updates resulting in a null checksum the value is set to - * **CSUM_MANGLED_0** instead. Flag **BPF_F_PSEUDO_HDR** indicates - * the checksum is to be computed against a pseudo-header. - * - * This helper works in combination with **bpf_csum_diff**\ (), - * which does not update the checksum in-place, but offers more - * flexibility and can handle sizes larger than 2 or 4 for the - * checksum to update. - * - * A call to this helper is susceptible to change the underlying - * packet buffer. Therefore, at load time, all checks on pointers - * previously done by the verifier are invalidated and must be - * performed again, if the helper is used in combination with - * direct packet access. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_l4_csum_replace)(struct __sk_buff *skb, __u32 offset, __u64 from, __u64 to, __u64 flags) = (void *) 11; - -/* - * bpf_tail_call - * - * This special helper is used to trigger a "tail call", or in - * other words, to jump into another eBPF program. The same stack - * frame is used (but values on stack and in registers for the - * caller are not accessible to the callee). This mechanism allows - * for program chaining, either for raising the maximum number of - * available eBPF instructions, or to execute given programs in - * conditional blocks. For security reasons, there is an upper - * limit to the number of successive tail calls that can be - * performed. - * - * Upon call of this helper, the program attempts to jump into a - * program referenced at index *index* in *prog_array_map*, a - * special map of type **BPF_MAP_TYPE_PROG_ARRAY**, and passes - * *ctx*, a pointer to the context. - * - * If the call succeeds, the kernel immediately runs the first - * instruction of the new program. This is not a function call, - * and it never returns to the previous program. If the call - * fails, then the helper has no effect, and the caller continues - * to run its subsequent instructions. A call can fail if the - * destination program for the jump does not exist (i.e. *index* - * is superior to the number of entries in *prog_array_map*), or - * if the maximum number of tail calls has been reached for this - * chain of programs. This limit is defined in the kernel by the - * macro **MAX_TAIL_CALL_CNT** (not accessible to user space), - * which is currently set to 32. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_tail_call)(void *ctx, void *prog_array_map, __u32 index) = (void *) 12; - -/* - * bpf_clone_redirect - * - * Clone and redirect the packet associated to *skb* to another - * net device of index *ifindex*. Both ingress and egress - * interfaces can be used for redirection. The **BPF_F_INGRESS** - * value in *flags* is used to make the distinction (ingress path - * is selected if the flag is present, egress path otherwise). - * This is the only flag supported for now. - * - * In comparison with **bpf_redirect**\ () helper, - * **bpf_clone_redirect**\ () has the associated cost of - * duplicating the packet buffer, but this can be executed out of - * the eBPF program. Conversely, **bpf_redirect**\ () is more - * efficient, but it is handled through an action code where the - * redirection happens only after the eBPF program has returned. - * - * A call to this helper is susceptible to change the underlying - * packet buffer. Therefore, at load time, all checks on pointers - * previously done by the verifier are invalidated and must be - * performed again, if the helper is used in combination with - * direct packet access. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_clone_redirect)(struct __sk_buff *skb, __u32 ifindex, __u64 flags) = (void *) 13; - -/* - * bpf_get_current_pid_tgid - * - * - * Returns - * A 64-bit integer containing the current tgid and pid, and - * created as such: - * *current_task*\ **->tgid << 32 \|** - * *current_task*\ **->pid**. - */ -static __u64 (*bpf_get_current_pid_tgid)(void) = (void *) 14; - -/* - * bpf_get_current_uid_gid - * - * - * Returns - * A 64-bit integer containing the current GID and UID, and - * created as such: *current_gid* **<< 32 \|** *current_uid*. - */ -static __u64 (*bpf_get_current_uid_gid)(void) = (void *) 15; - -/* - * bpf_get_current_comm - * - * Copy the **comm** attribute of the current task into *buf* of - * *size_of_buf*. The **comm** attribute contains the name of - * the executable (excluding the path) for the current task. The - * *size_of_buf* must be strictly positive. On success, the - * helper makes sure that the *buf* is NUL-terminated. On failure, - * it is filled with zeroes. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_get_current_comm)(void *buf, __u32 size_of_buf) = (void *) 16; - -/* - * bpf_get_cgroup_classid - * - * Retrieve the classid for the current task, i.e. for the net_cls - * cgroup to which *skb* belongs. - * - * This helper can be used on TC egress path, but not on ingress. - * - * The net_cls cgroup provides an interface to tag network packets - * based on a user-provided identifier for all traffic coming from - * the tasks belonging to the related cgroup. See also the related - * kernel documentation, available from the Linux sources in file - * *Documentation/admin-guide/cgroup-v1/net_cls.rst*. - * - * The Linux kernel has two versions for cgroups: there are - * cgroups v1 and cgroups v2. Both are available to users, who can - * use a mixture of them, but note that the net_cls cgroup is for - * cgroup v1 only. This makes it incompatible with BPF programs - * run on cgroups, which is a cgroup-v2-only feature (a socket can - * only hold data for one version of cgroups at a time). - * - * This helper is only available is the kernel was compiled with - * the **CONFIG_CGROUP_NET_CLASSID** configuration option set to - * "**y**" or to "**m**". - * - * Returns - * The classid, or 0 for the default unconfigured classid. - */ -static __u32 (*bpf_get_cgroup_classid)(struct __sk_buff *skb) = (void *) 17; - -/* - * bpf_skb_vlan_push - * - * Push a *vlan_tci* (VLAN tag control information) of protocol - * *vlan_proto* to the packet associated to *skb*, then update - * the checksum. Note that if *vlan_proto* is different from - * **ETH_P_8021Q** and **ETH_P_8021AD**, it is considered to - * be **ETH_P_8021Q**. - * - * A call to this helper is susceptible to change the underlying - * packet buffer. Therefore, at load time, all checks on pointers - * previously done by the verifier are invalidated and must be - * performed again, if the helper is used in combination with - * direct packet access. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_skb_vlan_push)(struct __sk_buff *skb, __be16 vlan_proto, __u16 vlan_tci) = (void *) 18; - -/* - * bpf_skb_vlan_pop - * - * Pop a VLAN header from the packet associated to *skb*. - * - * A call to this helper is susceptible to change the underlying - * packet buffer. Therefore, at load time, all checks on pointers - * previously done by the verifier are invalidated and must be - * performed again, if the helper is used in combination with - * direct packet access. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_skb_vlan_pop)(struct __sk_buff *skb) = (void *) 19; - -/* - * bpf_skb_get_tunnel_key - * - * Get tunnel metadata. This helper takes a pointer *key* to an - * empty **struct bpf_tunnel_key** of **size**, that will be - * filled with tunnel metadata for the packet associated to *skb*. - * The *flags* can be set to **BPF_F_TUNINFO_IPV6**, which - * indicates that the tunnel is based on IPv6 protocol instead of - * IPv4. - * - * The **struct bpf_tunnel_key** is an object that generalizes the - * principal parameters used by various tunneling protocols into a - * single struct. This way, it can be used to easily make a - * decision based on the contents of the encapsulation header, - * "summarized" in this struct. In particular, it holds the IP - * address of the remote end (IPv4 or IPv6, depending on the case) - * in *key*\ **->remote_ipv4** or *key*\ **->remote_ipv6**. Also, - * this struct exposes the *key*\ **->tunnel_id**, which is - * generally mapped to a VNI (Virtual Network Identifier), making - * it programmable together with the **bpf_skb_set_tunnel_key**\ - * () helper. - * - * Let's imagine that the following code is part of a program - * attached to the TC ingress interface, on one end of a GRE - * tunnel, and is supposed to filter out all messages coming from - * remote ends with IPv4 address other than 10.0.0.1: - * - * :: - * - * int ret; - * struct bpf_tunnel_key key = {}; - * - * ret = bpf_skb_get_tunnel_key(skb, &key, sizeof(key), 0); - * if (ret < 0) - * return TC_ACT_SHOT; // drop packet - * - * if (key.remote_ipv4 != 0x0a000001) - * return TC_ACT_SHOT; // drop packet - * - * return TC_ACT_OK; // accept packet - * - * This interface can also be used with all encapsulation devices - * that can operate in "collect metadata" mode: instead of having - * one network device per specific configuration, the "collect - * metadata" mode only requires a single device where the - * configuration can be extracted from this helper. - * - * This can be used together with various tunnels such as VXLan, - * Geneve, GRE or IP in IP (IPIP). - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_skb_get_tunnel_key)(struct __sk_buff *skb, struct bpf_tunnel_key *key, __u32 size, __u64 flags) = (void *) 20; - -/* - * bpf_skb_set_tunnel_key - * - * Populate tunnel metadata for packet associated to *skb.* The - * tunnel metadata is set to the contents of *key*, of *size*. The - * *flags* can be set to a combination of the following values: - * - * **BPF_F_TUNINFO_IPV6** - * Indicate that the tunnel is based on IPv6 protocol - * instead of IPv4. - * **BPF_F_ZERO_CSUM_TX** - * For IPv4 packets, add a flag to tunnel metadata - * indicating that checksum computation should be skipped - * and checksum set to zeroes. - * **BPF_F_DONT_FRAGMENT** - * Add a flag to tunnel metadata indicating that the - * packet should not be fragmented. - * **BPF_F_SEQ_NUMBER** - * Add a flag to tunnel metadata indicating that a - * sequence number should be added to tunnel header before - * sending the packet. This flag was added for GRE - * encapsulation, but might be used with other protocols - * as well in the future. - * - * Here is a typical usage on the transmit path: - * - * :: - * - * struct bpf_tunnel_key key; - * populate key ... - * bpf_skb_set_tunnel_key(skb, &key, sizeof(key), 0); - * bpf_clone_redirect(skb, vxlan_dev_ifindex, 0); - * - * See also the description of the **bpf_skb_get_tunnel_key**\ () - * helper for additional information. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_skb_set_tunnel_key)(struct __sk_buff *skb, struct bpf_tunnel_key *key, __u32 size, __u64 flags) = (void *) 21; - -/* - * bpf_perf_event_read - * - * Read the value of a perf event counter. This helper relies on a - * *map* of type **BPF_MAP_TYPE_PERF_EVENT_ARRAY**. The nature of - * the perf event counter is selected when *map* is updated with - * perf event file descriptors. The *map* is an array whose size - * is the number of available CPUs, and each cell contains a value - * relative to one CPU. The value to retrieve is indicated by - * *flags*, that contains the index of the CPU to look up, masked - * with **BPF_F_INDEX_MASK**. Alternatively, *flags* can be set to - * **BPF_F_CURRENT_CPU** to indicate that the value for the - * current CPU should be retrieved. - * - * Note that before Linux 4.13, only hardware perf event can be - * retrieved. - * - * Also, be aware that the newer helper - * **bpf_perf_event_read_value**\ () is recommended over - * **bpf_perf_event_read**\ () in general. The latter has some ABI - * quirks where error and counter value are used as a return code - * (which is wrong to do since ranges may overlap). This issue is - * fixed with **bpf_perf_event_read_value**\ (), which at the same - * time provides more features over the **bpf_perf_event_read**\ - * () interface. Please refer to the description of - * **bpf_perf_event_read_value**\ () for details. - * - * Returns - * The value of the perf event counter read from the map, or a - * negative error code in case of failure. - */ -static __u64 (*bpf_perf_event_read)(void *map, __u64 flags) = (void *) 22; - -/* - * bpf_redirect - * - * Redirect the packet to another net device of index *ifindex*. - * This helper is somewhat similar to **bpf_clone_redirect**\ - * (), except that the packet is not cloned, which provides - * increased performance. - * - * Except for XDP, both ingress and egress interfaces can be used - * for redirection. The **BPF_F_INGRESS** value in *flags* is used - * to make the distinction (ingress path is selected if the flag - * is present, egress path otherwise). Currently, XDP only - * supports redirection to the egress interface, and accepts no - * flag at all. - * - * The same effect can also be attained with the more generic - * **bpf_redirect_map**\ (), which uses a BPF map to store the - * redirect target instead of providing it directly to the helper. - * - * Returns - * For XDP, the helper returns **XDP_REDIRECT** on success or - * **XDP_ABORTED** on error. For other program types, the values - * are **TC_ACT_REDIRECT** on success or **TC_ACT_SHOT** on - * error. - */ -static long (*bpf_redirect)(__u32 ifindex, __u64 flags) = (void *) 23; - -/* - * bpf_get_route_realm - * - * Retrieve the realm or the route, that is to say the - * **tclassid** field of the destination for the *skb*. The - * identifier retrieved is a user-provided tag, similar to the - * one used with the net_cls cgroup (see description for - * **bpf_get_cgroup_classid**\ () helper), but here this tag is - * held by a route (a destination entry), not by a task. - * - * Retrieving this identifier works with the clsact TC egress hook - * (see also **tc-bpf(8)**), or alternatively on conventional - * classful egress qdiscs, but not on TC ingress path. In case of - * clsact TC egress hook, this has the advantage that, internally, - * the destination entry has not been dropped yet in the transmit - * path. Therefore, the destination entry does not need to be - * artificially held via **netif_keep_dst**\ () for a classful - * qdisc until the *skb* is freed. - * - * This helper is available only if the kernel was compiled with - * **CONFIG_IP_ROUTE_CLASSID** configuration option. - * - * Returns - * The realm of the route for the packet associated to *skb*, or 0 - * if none was found. - */ -static __u32 (*bpf_get_route_realm)(struct __sk_buff *skb) = (void *) 24; - -/* - * bpf_perf_event_output - * - * Write raw *data* blob into a special BPF perf event held by - * *map* of type **BPF_MAP_TYPE_PERF_EVENT_ARRAY**. This perf - * event must have the following attributes: **PERF_SAMPLE_RAW** - * as **sample_type**, **PERF_TYPE_SOFTWARE** as **type**, and - * **PERF_COUNT_SW_BPF_OUTPUT** as **config**. - * - * The *flags* are used to indicate the index in *map* for which - * the value must be put, masked with **BPF_F_INDEX_MASK**. - * Alternatively, *flags* can be set to **BPF_F_CURRENT_CPU** - * to indicate that the index of the current CPU core should be - * used. - * - * The value to write, of *size*, is passed through eBPF stack and - * pointed by *data*. - * - * The context of the program *ctx* needs also be passed to the - * helper. - * - * On user space, a program willing to read the values needs to - * call **perf_event_open**\ () on the perf event (either for - * one or for all CPUs) and to store the file descriptor into the - * *map*. This must be done before the eBPF program can send data - * into it. An example is available in file - * *samples/bpf/trace_output_user.c* in the Linux kernel source - * tree (the eBPF program counterpart is in - * *samples/bpf/trace_output_kern.c*). - * - * **bpf_perf_event_output**\ () achieves better performance - * than **bpf_trace_printk**\ () for sharing data with user - * space, and is much better suitable for streaming data from eBPF - * programs. - * - * Note that this helper is not restricted to tracing use cases - * and can be used with programs attached to TC or XDP as well, - * where it allows for passing data to user space listeners. Data - * can be: - * - * * Only custom structs, - * * Only the packet payload, or - * * A combination of both. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_perf_event_output)(void *ctx, void *map, __u64 flags, void *data, __u64 size) = (void *) 25; - -/* - * bpf_skb_load_bytes - * - * This helper was provided as an easy way to load data from a - * packet. It can be used to load *len* bytes from *offset* from - * the packet associated to *skb*, into the buffer pointed by - * *to*. - * - * Since Linux 4.7, usage of this helper has mostly been replaced - * by "direct packet access", enabling packet data to be - * manipulated with *skb*\ **->data** and *skb*\ **->data_end** - * pointing respectively to the first byte of packet data and to - * the byte after the last byte of packet data. However, it - * remains useful if one wishes to read large quantities of data - * at once from a packet into the eBPF stack. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_skb_load_bytes)(const void *skb, __u32 offset, void *to, __u32 len) = (void *) 26; - -/* - * bpf_get_stackid - * - * Walk a user or a kernel stack and return its id. To achieve - * this, the helper needs *ctx*, which is a pointer to the context - * on which the tracing program is executed, and a pointer to a - * *map* of type **BPF_MAP_TYPE_STACK_TRACE**. - * - * The last argument, *flags*, holds the number of stack frames to - * skip (from 0 to 255), masked with - * **BPF_F_SKIP_FIELD_MASK**. The next bits can be used to set - * a combination of the following flags: - * - * **BPF_F_USER_STACK** - * Collect a user space stack instead of a kernel stack. - * **BPF_F_FAST_STACK_CMP** - * Compare stacks by hash only. - * **BPF_F_REUSE_STACKID** - * If two different stacks hash into the same *stackid*, - * discard the old one. - * - * The stack id retrieved is a 32 bit long integer handle which - * can be further combined with other data (including other stack - * ids) and used as a key into maps. This can be useful for - * generating a variety of graphs (such as flame graphs or off-cpu - * graphs). - * - * For walking a stack, this helper is an improvement over - * **bpf_probe_read**\ (), which can be used with unrolled loops - * but is not efficient and consumes a lot of eBPF instructions. - * Instead, **bpf_get_stackid**\ () can collect up to - * **PERF_MAX_STACK_DEPTH** both kernel and user frames. Note that - * this limit can be controlled with the **sysctl** program, and - * that it should be manually increased in order to profile long - * user stacks (such as stacks for Java programs). To do so, use: - * - * :: - * - * # sysctl kernel.perf_event_max_stack= - * - * Returns - * The positive or null stack id on success, or a negative error - * in case of failure. - */ -static long (*bpf_get_stackid)(void *ctx, void *map, __u64 flags) = (void *) 27; - -/* - * bpf_csum_diff - * - * Compute a checksum difference, from the raw buffer pointed by - * *from*, of length *from_size* (that must be a multiple of 4), - * towards the raw buffer pointed by *to*, of size *to_size* - * (same remark). An optional *seed* can be added to the value - * (this can be cascaded, the seed may come from a previous call - * to the helper). - * - * This is flexible enough to be used in several ways: - * - * * With *from_size* == 0, *to_size* > 0 and *seed* set to - * checksum, it can be used when pushing new data. - * * With *from_size* > 0, *to_size* == 0 and *seed* set to - * checksum, it can be used when removing data from a packet. - * * With *from_size* > 0, *to_size* > 0 and *seed* set to 0, it - * can be used to compute a diff. Note that *from_size* and - * *to_size* do not need to be equal. - * - * This helper can be used in combination with - * **bpf_l3_csum_replace**\ () and **bpf_l4_csum_replace**\ (), to - * which one can feed in the difference computed with - * **bpf_csum_diff**\ (). - * - * Returns - * The checksum result, or a negative error code in case of - * failure. - */ -static __s64 (*bpf_csum_diff)(__be32 *from, __u32 from_size, __be32 *to, __u32 to_size, __wsum seed) = (void *) 28; - -/* - * bpf_skb_get_tunnel_opt - * - * Retrieve tunnel options metadata for the packet associated to - * *skb*, and store the raw tunnel option data to the buffer *opt* - * of *size*. - * - * This helper can be used with encapsulation devices that can - * operate in "collect metadata" mode (please refer to the related - * note in the description of **bpf_skb_get_tunnel_key**\ () for - * more details). A particular example where this can be used is - * in combination with the Geneve encapsulation protocol, where it - * allows for pushing (with **bpf_skb_get_tunnel_opt**\ () helper) - * and retrieving arbitrary TLVs (Type-Length-Value headers) from - * the eBPF program. This allows for full customization of these - * headers. - * - * Returns - * The size of the option data retrieved. - */ -static long (*bpf_skb_get_tunnel_opt)(struct __sk_buff *skb, void *opt, __u32 size) = (void *) 29; - -/* - * bpf_skb_set_tunnel_opt - * - * Set tunnel options metadata for the packet associated to *skb* - * to the option data contained in the raw buffer *opt* of *size*. - * - * See also the description of the **bpf_skb_get_tunnel_opt**\ () - * helper for additional information. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_skb_set_tunnel_opt)(struct __sk_buff *skb, void *opt, __u32 size) = (void *) 30; - -/* - * bpf_skb_change_proto - * - * Change the protocol of the *skb* to *proto*. Currently - * supported are transition from IPv4 to IPv6, and from IPv6 to - * IPv4. The helper takes care of the groundwork for the - * transition, including resizing the socket buffer. The eBPF - * program is expected to fill the new headers, if any, via - * **skb_store_bytes**\ () and to recompute the checksums with - * **bpf_l3_csum_replace**\ () and **bpf_l4_csum_replace**\ - * (). The main case for this helper is to perform NAT64 - * operations out of an eBPF program. - * - * Internally, the GSO type is marked as dodgy so that headers are - * checked and segments are recalculated by the GSO/GRO engine. - * The size for GSO target is adapted as well. - * - * All values for *flags* are reserved for future usage, and must - * be left at zero. - * - * A call to this helper is susceptible to change the underlying - * packet buffer. Therefore, at load time, all checks on pointers - * previously done by the verifier are invalidated and must be - * performed again, if the helper is used in combination with - * direct packet access. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_skb_change_proto)(struct __sk_buff *skb, __be16 proto, __u64 flags) = (void *) 31; - -/* - * bpf_skb_change_type - * - * Change the packet type for the packet associated to *skb*. This - * comes down to setting *skb*\ **->pkt_type** to *type*, except - * the eBPF program does not have a write access to *skb*\ - * **->pkt_type** beside this helper. Using a helper here allows - * for graceful handling of errors. - * - * The major use case is to change incoming *skb*s to - * **PACKET_HOST** in a programmatic way instead of having to - * recirculate via **redirect**\ (..., **BPF_F_INGRESS**), for - * example. - * - * Note that *type* only allows certain values. At this time, they - * are: - * - * **PACKET_HOST** - * Packet is for us. - * **PACKET_BROADCAST** - * Send packet to all. - * **PACKET_MULTICAST** - * Send packet to group. - * **PACKET_OTHERHOST** - * Send packet to someone else. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_skb_change_type)(struct __sk_buff *skb, __u32 type) = (void *) 32; - -/* - * bpf_skb_under_cgroup - * - * Check whether *skb* is a descendant of the cgroup2 held by - * *map* of type **BPF_MAP_TYPE_CGROUP_ARRAY**, at *index*. - * - * Returns - * The return value depends on the result of the test, and can be: - * - * * 0, if the *skb* failed the cgroup2 descendant test. - * * 1, if the *skb* succeeded the cgroup2 descendant test. - * * A negative error code, if an error occurred. - */ -static long (*bpf_skb_under_cgroup)(struct __sk_buff *skb, void *map, __u32 index) = (void *) 33; - -/* - * bpf_get_hash_recalc - * - * Retrieve the hash of the packet, *skb*\ **->hash**. If it is - * not set, in particular if the hash was cleared due to mangling, - * recompute this hash. Later accesses to the hash can be done - * directly with *skb*\ **->hash**. - * - * Calling **bpf_set_hash_invalid**\ (), changing a packet - * prototype with **bpf_skb_change_proto**\ (), or calling - * **bpf_skb_store_bytes**\ () with the - * **BPF_F_INVALIDATE_HASH** are actions susceptible to clear - * the hash and to trigger a new computation for the next call to - * **bpf_get_hash_recalc**\ (). - * - * Returns - * The 32-bit hash. - */ -static __u32 (*bpf_get_hash_recalc)(struct __sk_buff *skb) = (void *) 34; - -/* - * bpf_get_current_task - * - * - * Returns - * A pointer to the current task struct. - */ -static __u64 (*bpf_get_current_task)(void) = (void *) 35; - -/* - * bpf_probe_write_user - * - * Attempt in a safe way to write *len* bytes from the buffer - * *src* to *dst* in memory. It only works for threads that are in - * user context, and *dst* must be a valid user space address. - * - * This helper should not be used to implement any kind of - * security mechanism because of TOC-TOU attacks, but rather to - * debug, divert, and manipulate execution of semi-cooperative - * processes. - * - * Keep in mind that this feature is meant for experiments, and it - * has a risk of crashing the system and running programs. - * Therefore, when an eBPF program using this helper is attached, - * a warning including PID and process name is printed to kernel - * logs. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_probe_write_user)(void *dst, const void *src, __u32 len) = (void *) 36; - -/* - * bpf_current_task_under_cgroup - * - * Check whether the probe is being run is the context of a given - * subset of the cgroup2 hierarchy. The cgroup2 to test is held by - * *map* of type **BPF_MAP_TYPE_CGROUP_ARRAY**, at *index*. - * - * Returns - * The return value depends on the result of the test, and can be: - * - * * 0, if current task belongs to the cgroup2. - * * 1, if current task does not belong to the cgroup2. - * * A negative error code, if an error occurred. - */ -static long (*bpf_current_task_under_cgroup)(void *map, __u32 index) = (void *) 37; - -/* - * bpf_skb_change_tail - * - * Resize (trim or grow) the packet associated to *skb* to the - * new *len*. The *flags* are reserved for future usage, and must - * be left at zero. - * - * The basic idea is that the helper performs the needed work to - * change the size of the packet, then the eBPF program rewrites - * the rest via helpers like **bpf_skb_store_bytes**\ (), - * **bpf_l3_csum_replace**\ (), **bpf_l3_csum_replace**\ () - * and others. This helper is a slow path utility intended for - * replies with control messages. And because it is targeted for - * slow path, the helper itself can afford to be slow: it - * implicitly linearizes, unclones and drops offloads from the - * *skb*. - * - * A call to this helper is susceptible to change the underlying - * packet buffer. Therefore, at load time, all checks on pointers - * previously done by the verifier are invalidated and must be - * performed again, if the helper is used in combination with - * direct packet access. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_skb_change_tail)(struct __sk_buff *skb, __u32 len, __u64 flags) = (void *) 38; - -/* - * bpf_skb_pull_data - * - * Pull in non-linear data in case the *skb* is non-linear and not - * all of *len* are part of the linear section. Make *len* bytes - * from *skb* readable and writable. If a zero value is passed for - * *len*, then the whole length of the *skb* is pulled. - * - * This helper is only needed for reading and writing with direct - * packet access. - * - * For direct packet access, testing that offsets to access - * are within packet boundaries (test on *skb*\ **->data_end**) is - * susceptible to fail if offsets are invalid, or if the requested - * data is in non-linear parts of the *skb*. On failure the - * program can just bail out, or in the case of a non-linear - * buffer, use a helper to make the data available. The - * **bpf_skb_load_bytes**\ () helper is a first solution to access - * the data. Another one consists in using **bpf_skb_pull_data** - * to pull in once the non-linear parts, then retesting and - * eventually access the data. - * - * At the same time, this also makes sure the *skb* is uncloned, - * which is a necessary condition for direct write. As this needs - * to be an invariant for the write part only, the verifier - * detects writes and adds a prologue that is calling - * **bpf_skb_pull_data()** to effectively unclone the *skb* from - * the very beginning in case it is indeed cloned. - * - * A call to this helper is susceptible to change the underlying - * packet buffer. Therefore, at load time, all checks on pointers - * previously done by the verifier are invalidated and must be - * performed again, if the helper is used in combination with - * direct packet access. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_skb_pull_data)(struct __sk_buff *skb, __u32 len) = (void *) 39; - -/* - * bpf_csum_update - * - * Add the checksum *csum* into *skb*\ **->csum** in case the - * driver has supplied a checksum for the entire packet into that - * field. Return an error otherwise. This helper is intended to be - * used in combination with **bpf_csum_diff**\ (), in particular - * when the checksum needs to be updated after data has been - * written into the packet through direct packet access. - * - * Returns - * The checksum on success, or a negative error code in case of - * failure. - */ -static __s64 (*bpf_csum_update)(struct __sk_buff *skb, __wsum csum) = (void *) 40; - -/* - * bpf_set_hash_invalid - * - * Invalidate the current *skb*\ **->hash**. It can be used after - * mangling on headers through direct packet access, in order to - * indicate that the hash is outdated and to trigger a - * recalculation the next time the kernel tries to access this - * hash or when the **bpf_get_hash_recalc**\ () helper is called. - * - */ -static void (*bpf_set_hash_invalid)(struct __sk_buff *skb) = (void *) 41; - -/* - * bpf_get_numa_node_id - * - * Return the id of the current NUMA node. The primary use case - * for this helper is the selection of sockets for the local NUMA - * node, when the program is attached to sockets using the - * **SO_ATTACH_REUSEPORT_EBPF** option (see also **socket(7)**), - * but the helper is also available to other eBPF program types, - * similarly to **bpf_get_smp_processor_id**\ (). - * - * Returns - * The id of current NUMA node. - */ -static long (*bpf_get_numa_node_id)(void) = (void *) 42; - -/* - * bpf_skb_change_head - * - * Grows headroom of packet associated to *skb* and adjusts the - * offset of the MAC header accordingly, adding *len* bytes of - * space. It automatically extends and reallocates memory as - * required. - * - * This helper can be used on a layer 3 *skb* to push a MAC header - * for redirection into a layer 2 device. - * - * All values for *flags* are reserved for future usage, and must - * be left at zero. - * - * A call to this helper is susceptible to change the underlying - * packet buffer. Therefore, at load time, all checks on pointers - * previously done by the verifier are invalidated and must be - * performed again, if the helper is used in combination with - * direct packet access. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_skb_change_head)(struct __sk_buff *skb, __u32 len, __u64 flags) = (void *) 43; - -/* - * bpf_xdp_adjust_head - * - * Adjust (move) *xdp_md*\ **->data** by *delta* bytes. Note that - * it is possible to use a negative value for *delta*. This helper - * can be used to prepare the packet for pushing or popping - * headers. - * - * A call to this helper is susceptible to change the underlying - * packet buffer. Therefore, at load time, all checks on pointers - * previously done by the verifier are invalidated and must be - * performed again, if the helper is used in combination with - * direct packet access. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_xdp_adjust_head)(struct xdp_md *xdp_md, int delta) = (void *) 44; - -/* - * bpf_probe_read_str - * - * Copy a NUL terminated string from an unsafe kernel address - * *unsafe_ptr* to *dst*. See **bpf_probe_read_kernel_str**\ () for - * more details. - * - * Generally, use **bpf_probe_read_user_str**\ () or - * **bpf_probe_read_kernel_str**\ () instead. - * - * Returns - * On success, the strictly positive length of the string, - * including the trailing NUL character. On error, a negative - * value. - */ -static long (*bpf_probe_read_str)(void *dst, __u32 size, const void *unsafe_ptr) = (void *) 45; - -/* - * bpf_get_socket_cookie - * - * If the **struct sk_buff** pointed by *skb* has a known socket, - * retrieve the cookie (generated by the kernel) of this socket. - * If no cookie has been set yet, generate a new cookie. Once - * generated, the socket cookie remains stable for the life of the - * socket. This helper can be useful for monitoring per socket - * networking traffic statistics as it provides a global socket - * identifier that can be assumed unique. - * - * Returns - * A 8-byte long non-decreasing number on success, or 0 if the - * socket field is missing inside *skb*. - */ -static __u64 (*bpf_get_socket_cookie)(void *ctx) = (void *) 46; - -/* - * bpf_get_socket_uid - * - * - * Returns - * The owner UID of the socket associated to *skb*. If the socket - * is **NULL**, or if it is not a full socket (i.e. if it is a - * time-wait or a request socket instead), **overflowuid** value - * is returned (note that **overflowuid** might also be the actual - * UID value for the socket). - */ -static __u32 (*bpf_get_socket_uid)(struct __sk_buff *skb) = (void *) 47; - -/* - * bpf_set_hash - * - * Set the full hash for *skb* (set the field *skb*\ **->hash**) - * to value *hash*. - * - * Returns - * 0 - */ -static long (*bpf_set_hash)(struct __sk_buff *skb, __u32 hash) = (void *) 48; - -/* - * bpf_setsockopt - * - * Emulate a call to **setsockopt()** on the socket associated to - * *bpf_socket*, which must be a full socket. The *level* at - * which the option resides and the name *optname* of the option - * must be specified, see **setsockopt(2)** for more information. - * The option value of length *optlen* is pointed by *optval*. - * - * *bpf_socket* should be one of the following: - * - * * **struct bpf_sock_ops** for **BPF_PROG_TYPE_SOCK_OPS**. - * * **struct bpf_sock_addr** for **BPF_CGROUP_INET4_CONNECT** - * and **BPF_CGROUP_INET6_CONNECT**. - * - * This helper actually implements a subset of **setsockopt()**. - * It supports the following *level*\ s: - * - * * **SOL_SOCKET**, which supports the following *optname*\ s: - * **SO_RCVBUF**, **SO_SNDBUF**, **SO_MAX_PACING_RATE**, - * **SO_PRIORITY**, **SO_RCVLOWAT**, **SO_MARK**, - * **SO_BINDTODEVICE**, **SO_KEEPALIVE**. - * * **IPPROTO_TCP**, which supports the following *optname*\ s: - * **TCP_CONGESTION**, **TCP_BPF_IW**, - * **TCP_BPF_SNDCWND_CLAMP**, **TCP_SAVE_SYN**, - * **TCP_KEEPIDLE**, **TCP_KEEPINTVL**, **TCP_KEEPCNT**, - * **TCP_SYNCNT**, **TCP_USER_TIMEOUT**, **TCP_NOTSENT_LOWAT**. - * * **IPPROTO_IP**, which supports *optname* **IP_TOS**. - * * **IPPROTO_IPV6**, which supports *optname* **IPV6_TCLASS**. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_setsockopt)(void *bpf_socket, int level, int optname, void *optval, int optlen) = (void *) 49; - -/* - * bpf_skb_adjust_room - * - * Grow or shrink the room for data in the packet associated to - * *skb* by *len_diff*, and according to the selected *mode*. - * - * By default, the helper will reset any offloaded checksum - * indicator of the skb to CHECKSUM_NONE. This can be avoided - * by the following flag: - * - * * **BPF_F_ADJ_ROOM_NO_CSUM_RESET**: Do not reset offloaded - * checksum data of the skb to CHECKSUM_NONE. - * - * There are two supported modes at this time: - * - * * **BPF_ADJ_ROOM_MAC**: Adjust room at the mac layer - * (room space is added or removed below the layer 2 header). - * - * * **BPF_ADJ_ROOM_NET**: Adjust room at the network layer - * (room space is added or removed below the layer 3 header). - * - * The following flags are supported at this time: - * - * * **BPF_F_ADJ_ROOM_FIXED_GSO**: Do not adjust gso_size. - * Adjusting mss in this way is not allowed for datagrams. - * - * * **BPF_F_ADJ_ROOM_ENCAP_L3_IPV4**, - * **BPF_F_ADJ_ROOM_ENCAP_L3_IPV6**: - * Any new space is reserved to hold a tunnel header. - * Configure skb offsets and other fields accordingly. - * - * * **BPF_F_ADJ_ROOM_ENCAP_L4_GRE**, - * **BPF_F_ADJ_ROOM_ENCAP_L4_UDP**: - * Use with ENCAP_L3 flags to further specify the tunnel type. - * - * * **BPF_F_ADJ_ROOM_ENCAP_L2**\ (*len*): - * Use with ENCAP_L3/L4 flags to further specify the tunnel - * type; *len* is the length of the inner MAC header. - * - * A call to this helper is susceptible to change the underlying - * packet buffer. Therefore, at load time, all checks on pointers - * previously done by the verifier are invalidated and must be - * performed again, if the helper is used in combination with - * direct packet access. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_skb_adjust_room)(struct __sk_buff *skb, __s32 len_diff, __u32 mode, __u64 flags) = (void *) 50; - -/* - * bpf_redirect_map - * - * Redirect the packet to the endpoint referenced by *map* at - * index *key*. Depending on its type, this *map* can contain - * references to net devices (for forwarding packets through other - * ports), or to CPUs (for redirecting XDP frames to another CPU; - * but this is only implemented for native XDP (with driver - * support) as of this writing). - * - * The lower two bits of *flags* are used as the return code if - * the map lookup fails. This is so that the return value can be - * one of the XDP program return codes up to **XDP_TX**, as chosen - * by the caller. Any higher bits in the *flags* argument must be - * unset. - * - * See also **bpf_redirect**\ (), which only supports redirecting - * to an ifindex, but doesn't require a map to do so. - * - * Returns - * **XDP_REDIRECT** on success, or the value of the two lower bits - * of the *flags* argument on error. - */ -static long (*bpf_redirect_map)(void *map, __u32 key, __u64 flags) = (void *) 51; - -/* - * bpf_sk_redirect_map - * - * Redirect the packet to the socket referenced by *map* (of type - * **BPF_MAP_TYPE_SOCKMAP**) at index *key*. Both ingress and - * egress interfaces can be used for redirection. The - * **BPF_F_INGRESS** value in *flags* is used to make the - * distinction (ingress path is selected if the flag is present, - * egress path otherwise). This is the only flag supported for now. - * - * Returns - * **SK_PASS** on success, or **SK_DROP** on error. - */ -static long (*bpf_sk_redirect_map)(struct __sk_buff *skb, void *map, __u32 key, __u64 flags) = (void *) 52; - -/* - * bpf_sock_map_update - * - * Add an entry to, or update a *map* referencing sockets. The - * *skops* is used as a new value for the entry associated to - * *key*. *flags* is one of: - * - * **BPF_NOEXIST** - * The entry for *key* must not exist in the map. - * **BPF_EXIST** - * The entry for *key* must already exist in the map. - * **BPF_ANY** - * No condition on the existence of the entry for *key*. - * - * If the *map* has eBPF programs (parser and verdict), those will - * be inherited by the socket being added. If the socket is - * already attached to eBPF programs, this results in an error. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_sock_map_update)(struct bpf_sock_ops *skops, void *map, void *key, __u64 flags) = (void *) 53; - -/* - * bpf_xdp_adjust_meta - * - * Adjust the address pointed by *xdp_md*\ **->data_meta** by - * *delta* (which can be positive or negative). Note that this - * operation modifies the address stored in *xdp_md*\ **->data**, - * so the latter must be loaded only after the helper has been - * called. - * - * The use of *xdp_md*\ **->data_meta** is optional and programs - * are not required to use it. The rationale is that when the - * packet is processed with XDP (e.g. as DoS filter), it is - * possible to push further meta data along with it before passing - * to the stack, and to give the guarantee that an ingress eBPF - * program attached as a TC classifier on the same device can pick - * this up for further post-processing. Since TC works with socket - * buffers, it remains possible to set from XDP the **mark** or - * **priority** pointers, or other pointers for the socket buffer. - * Having this scratch space generic and programmable allows for - * more flexibility as the user is free to store whatever meta - * data they need. - * - * A call to this helper is susceptible to change the underlying - * packet buffer. Therefore, at load time, all checks on pointers - * previously done by the verifier are invalidated and must be - * performed again, if the helper is used in combination with - * direct packet access. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_xdp_adjust_meta)(struct xdp_md *xdp_md, int delta) = (void *) 54; - -/* - * bpf_perf_event_read_value - * - * Read the value of a perf event counter, and store it into *buf* - * of size *buf_size*. This helper relies on a *map* of type - * **BPF_MAP_TYPE_PERF_EVENT_ARRAY**. The nature of the perf event - * counter is selected when *map* is updated with perf event file - * descriptors. The *map* is an array whose size is the number of - * available CPUs, and each cell contains a value relative to one - * CPU. The value to retrieve is indicated by *flags*, that - * contains the index of the CPU to look up, masked with - * **BPF_F_INDEX_MASK**. Alternatively, *flags* can be set to - * **BPF_F_CURRENT_CPU** to indicate that the value for the - * current CPU should be retrieved. - * - * This helper behaves in a way close to - * **bpf_perf_event_read**\ () helper, save that instead of - * just returning the value observed, it fills the *buf* - * structure. This allows for additional data to be retrieved: in - * particular, the enabled and running times (in *buf*\ - * **->enabled** and *buf*\ **->running**, respectively) are - * copied. In general, **bpf_perf_event_read_value**\ () is - * recommended over **bpf_perf_event_read**\ (), which has some - * ABI issues and provides fewer functionalities. - * - * These values are interesting, because hardware PMU (Performance - * Monitoring Unit) counters are limited resources. When there are - * more PMU based perf events opened than available counters, - * kernel will multiplex these events so each event gets certain - * percentage (but not all) of the PMU time. In case that - * multiplexing happens, the number of samples or counter value - * will not reflect the case compared to when no multiplexing - * occurs. This makes comparison between different runs difficult. - * Typically, the counter value should be normalized before - * comparing to other experiments. The usual normalization is done - * as follows. - * - * :: - * - * normalized_counter = counter * t_enabled / t_running - * - * Where t_enabled is the time enabled for event and t_running is - * the time running for event since last normalization. The - * enabled and running times are accumulated since the perf event - * open. To achieve scaling factor between two invocations of an - * eBPF program, users can use CPU id as the key (which is - * typical for perf array usage model) to remember the previous - * value and do the calculation inside the eBPF program. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_perf_event_read_value)(void *map, __u64 flags, struct bpf_perf_event_value *buf, __u32 buf_size) = (void *) 55; - -/* - * bpf_perf_prog_read_value - * - * For en eBPF program attached to a perf event, retrieve the - * value of the event counter associated to *ctx* and store it in - * the structure pointed by *buf* and of size *buf_size*. Enabled - * and running times are also stored in the structure (see - * description of helper **bpf_perf_event_read_value**\ () for - * more details). - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_perf_prog_read_value)(struct bpf_perf_event_data *ctx, struct bpf_perf_event_value *buf, __u32 buf_size) = (void *) 56; - -/* - * bpf_getsockopt - * - * Emulate a call to **getsockopt()** on the socket associated to - * *bpf_socket*, which must be a full socket. The *level* at - * which the option resides and the name *optname* of the option - * must be specified, see **getsockopt(2)** for more information. - * The retrieved value is stored in the structure pointed by - * *opval* and of length *optlen*. - * - * *bpf_socket* should be one of the following: - * - * * **struct bpf_sock_ops** for **BPF_PROG_TYPE_SOCK_OPS**. - * * **struct bpf_sock_addr** for **BPF_CGROUP_INET4_CONNECT** - * and **BPF_CGROUP_INET6_CONNECT**. - * - * This helper actually implements a subset of **getsockopt()**. - * It supports the following *level*\ s: - * - * * **IPPROTO_TCP**, which supports *optname* - * **TCP_CONGESTION**. - * * **IPPROTO_IP**, which supports *optname* **IP_TOS**. - * * **IPPROTO_IPV6**, which supports *optname* **IPV6_TCLASS**. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_getsockopt)(void *bpf_socket, int level, int optname, void *optval, int optlen) = (void *) 57; - -/* - * bpf_override_return - * - * Used for error injection, this helper uses kprobes to override - * the return value of the probed function, and to set it to *rc*. - * The first argument is the context *regs* on which the kprobe - * works. - * - * This helper works by setting the PC (program counter) - * to an override function which is run in place of the original - * probed function. This means the probed function is not run at - * all. The replacement function just returns with the required - * value. - * - * This helper has security implications, and thus is subject to - * restrictions. It is only available if the kernel was compiled - * with the **CONFIG_BPF_KPROBE_OVERRIDE** configuration - * option, and in this case it only works on functions tagged with - * **ALLOW_ERROR_INJECTION** in the kernel code. - * - * Also, the helper is only available for the architectures having - * the CONFIG_FUNCTION_ERROR_INJECTION option. As of this writing, - * x86 architecture is the only one to support this feature. - * - * Returns - * 0 - */ -static long (*bpf_override_return)(struct pt_regs *regs, __u64 rc) = (void *) 58; - -/* - * bpf_sock_ops_cb_flags_set - * - * Attempt to set the value of the **bpf_sock_ops_cb_flags** field - * for the full TCP socket associated to *bpf_sock_ops* to - * *argval*. - * - * The primary use of this field is to determine if there should - * be calls to eBPF programs of type - * **BPF_PROG_TYPE_SOCK_OPS** at various points in the TCP - * code. A program of the same type can change its value, per - * connection and as necessary, when the connection is - * established. This field is directly accessible for reading, but - * this helper must be used for updates in order to return an - * error if an eBPF program tries to set a callback that is not - * supported in the current kernel. - * - * *argval* is a flag array which can combine these flags: - * - * * **BPF_SOCK_OPS_RTO_CB_FLAG** (retransmission time out) - * * **BPF_SOCK_OPS_RETRANS_CB_FLAG** (retransmission) - * * **BPF_SOCK_OPS_STATE_CB_FLAG** (TCP state change) - * * **BPF_SOCK_OPS_RTT_CB_FLAG** (every RTT) - * - * Therefore, this function can be used to clear a callback flag by - * setting the appropriate bit to zero. e.g. to disable the RTO - * callback: - * - * **bpf_sock_ops_cb_flags_set(bpf_sock,** - * **bpf_sock->bpf_sock_ops_cb_flags & ~BPF_SOCK_OPS_RTO_CB_FLAG)** - * - * Here are some examples of where one could call such eBPF - * program: - * - * * When RTO fires. - * * When a packet is retransmitted. - * * When the connection terminates. - * * When a packet is sent. - * * When a packet is received. - * - * Returns - * Code **-EINVAL** if the socket is not a full TCP socket; - * otherwise, a positive number containing the bits that could not - * be set is returned (which comes down to 0 if all bits were set - * as required). - */ -static long (*bpf_sock_ops_cb_flags_set)(struct bpf_sock_ops *bpf_sock, int argval) = (void *) 59; - -/* - * bpf_msg_redirect_map - * - * This helper is used in programs implementing policies at the - * socket level. If the message *msg* is allowed to pass (i.e. if - * the verdict eBPF program returns **SK_PASS**), redirect it to - * the socket referenced by *map* (of type - * **BPF_MAP_TYPE_SOCKMAP**) at index *key*. Both ingress and - * egress interfaces can be used for redirection. The - * **BPF_F_INGRESS** value in *flags* is used to make the - * distinction (ingress path is selected if the flag is present, - * egress path otherwise). This is the only flag supported for now. - * - * Returns - * **SK_PASS** on success, or **SK_DROP** on error. - */ -static long (*bpf_msg_redirect_map)(struct sk_msg_md *msg, void *map, __u32 key, __u64 flags) = (void *) 60; - -/* - * bpf_msg_apply_bytes - * - * For socket policies, apply the verdict of the eBPF program to - * the next *bytes* (number of bytes) of message *msg*. - * - * For example, this helper can be used in the following cases: - * - * * A single **sendmsg**\ () or **sendfile**\ () system call - * contains multiple logical messages that the eBPF program is - * supposed to read and for which it should apply a verdict. - * * An eBPF program only cares to read the first *bytes* of a - * *msg*. If the message has a large payload, then setting up - * and calling the eBPF program repeatedly for all bytes, even - * though the verdict is already known, would create unnecessary - * overhead. - * - * When called from within an eBPF program, the helper sets a - * counter internal to the BPF infrastructure, that is used to - * apply the last verdict to the next *bytes*. If *bytes* is - * smaller than the current data being processed from a - * **sendmsg**\ () or **sendfile**\ () system call, the first - * *bytes* will be sent and the eBPF program will be re-run with - * the pointer for start of data pointing to byte number *bytes* - * **+ 1**. If *bytes* is larger than the current data being - * processed, then the eBPF verdict will be applied to multiple - * **sendmsg**\ () or **sendfile**\ () calls until *bytes* are - * consumed. - * - * Note that if a socket closes with the internal counter holding - * a non-zero value, this is not a problem because data is not - * being buffered for *bytes* and is sent as it is received. - * - * Returns - * 0 - */ -static long (*bpf_msg_apply_bytes)(struct sk_msg_md *msg, __u32 bytes) = (void *) 61; - -/* - * bpf_msg_cork_bytes - * - * For socket policies, prevent the execution of the verdict eBPF - * program for message *msg* until *bytes* (byte number) have been - * accumulated. - * - * This can be used when one needs a specific number of bytes - * before a verdict can be assigned, even if the data spans - * multiple **sendmsg**\ () or **sendfile**\ () calls. The extreme - * case would be a user calling **sendmsg**\ () repeatedly with - * 1-byte long message segments. Obviously, this is bad for - * performance, but it is still valid. If the eBPF program needs - * *bytes* bytes to validate a header, this helper can be used to - * prevent the eBPF program to be called again until *bytes* have - * been accumulated. - * - * Returns - * 0 - */ -static long (*bpf_msg_cork_bytes)(struct sk_msg_md *msg, __u32 bytes) = (void *) 62; - -/* - * bpf_msg_pull_data - * - * For socket policies, pull in non-linear data from user space - * for *msg* and set pointers *msg*\ **->data** and *msg*\ - * **->data_end** to *start* and *end* bytes offsets into *msg*, - * respectively. - * - * If a program of type **BPF_PROG_TYPE_SK_MSG** is run on a - * *msg* it can only parse data that the (**data**, **data_end**) - * pointers have already consumed. For **sendmsg**\ () hooks this - * is likely the first scatterlist element. But for calls relying - * on the **sendpage** handler (e.g. **sendfile**\ ()) this will - * be the range (**0**, **0**) because the data is shared with - * user space and by default the objective is to avoid allowing - * user space to modify data while (or after) eBPF verdict is - * being decided. This helper can be used to pull in data and to - * set the start and end pointer to given values. Data will be - * copied if necessary (i.e. if data was not linear and if start - * and end pointers do not point to the same chunk). - * - * A call to this helper is susceptible to change the underlying - * packet buffer. Therefore, at load time, all checks on pointers - * previously done by the verifier are invalidated and must be - * performed again, if the helper is used in combination with - * direct packet access. - * - * All values for *flags* are reserved for future usage, and must - * be left at zero. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_msg_pull_data)(struct sk_msg_md *msg, __u32 start, __u32 end, __u64 flags) = (void *) 63; - -/* - * bpf_bind - * - * Bind the socket associated to *ctx* to the address pointed by - * *addr*, of length *addr_len*. This allows for making outgoing - * connection from the desired IP address, which can be useful for - * example when all processes inside a cgroup should use one - * single IP address on a host that has multiple IP configured. - * - * This helper works for IPv4 and IPv6, TCP and UDP sockets. The - * domain (*addr*\ **->sa_family**) must be **AF_INET** (or - * **AF_INET6**). It's advised to pass zero port (**sin_port** - * or **sin6_port**) which triggers IP_BIND_ADDRESS_NO_PORT-like - * behavior and lets the kernel efficiently pick up an unused - * port as long as 4-tuple is unique. Passing non-zero port might - * lead to degraded performance. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_bind)(struct bpf_sock_addr *ctx, struct sockaddr *addr, int addr_len) = (void *) 64; - -/* - * bpf_xdp_adjust_tail - * - * Adjust (move) *xdp_md*\ **->data_end** by *delta* bytes. It is - * possible to both shrink and grow the packet tail. - * Shrink done via *delta* being a negative integer. - * - * A call to this helper is susceptible to change the underlying - * packet buffer. Therefore, at load time, all checks on pointers - * previously done by the verifier are invalidated and must be - * performed again, if the helper is used in combination with - * direct packet access. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_xdp_adjust_tail)(struct xdp_md *xdp_md, int delta) = (void *) 65; - -/* - * bpf_skb_get_xfrm_state - * - * Retrieve the XFRM state (IP transform framework, see also - * **ip-xfrm(8)**) at *index* in XFRM "security path" for *skb*. - * - * The retrieved value is stored in the **struct bpf_xfrm_state** - * pointed by *xfrm_state* and of length *size*. - * - * All values for *flags* are reserved for future usage, and must - * be left at zero. - * - * This helper is available only if the kernel was compiled with - * **CONFIG_XFRM** configuration option. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_skb_get_xfrm_state)(struct __sk_buff *skb, __u32 index, struct bpf_xfrm_state *xfrm_state, __u32 size, __u64 flags) = (void *) 66; - -/* - * bpf_get_stack - * - * Return a user or a kernel stack in bpf program provided buffer. - * To achieve this, the helper needs *ctx*, which is a pointer - * to the context on which the tracing program is executed. - * To store the stacktrace, the bpf program provides *buf* with - * a nonnegative *size*. - * - * The last argument, *flags*, holds the number of stack frames to - * skip (from 0 to 255), masked with - * **BPF_F_SKIP_FIELD_MASK**. The next bits can be used to set - * the following flags: - * - * **BPF_F_USER_STACK** - * Collect a user space stack instead of a kernel stack. - * **BPF_F_USER_BUILD_ID** - * Collect buildid+offset instead of ips for user stack, - * only valid if **BPF_F_USER_STACK** is also specified. - * - * **bpf_get_stack**\ () can collect up to - * **PERF_MAX_STACK_DEPTH** both kernel and user frames, subject - * to sufficient large buffer size. Note that - * this limit can be controlled with the **sysctl** program, and - * that it should be manually increased in order to profile long - * user stacks (such as stacks for Java programs). To do so, use: - * - * :: - * - * # sysctl kernel.perf_event_max_stack= - * - * Returns - * A non-negative value equal to or less than *size* on success, - * or a negative error in case of failure. - */ -static long (*bpf_get_stack)(void *ctx, void *buf, __u32 size, __u64 flags) = (void *) 67; - -/* - * bpf_skb_load_bytes_relative - * - * This helper is similar to **bpf_skb_load_bytes**\ () in that - * it provides an easy way to load *len* bytes from *offset* - * from the packet associated to *skb*, into the buffer pointed - * by *to*. The difference to **bpf_skb_load_bytes**\ () is that - * a fifth argument *start_header* exists in order to select a - * base offset to start from. *start_header* can be one of: - * - * **BPF_HDR_START_MAC** - * Base offset to load data from is *skb*'s mac header. - * **BPF_HDR_START_NET** - * Base offset to load data from is *skb*'s network header. - * - * In general, "direct packet access" is the preferred method to - * access packet data, however, this helper is in particular useful - * in socket filters where *skb*\ **->data** does not always point - * to the start of the mac header and where "direct packet access" - * is not available. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_skb_load_bytes_relative)(const void *skb, __u32 offset, void *to, __u32 len, __u32 start_header) = (void *) 68; - -/* - * bpf_fib_lookup - * - * Do FIB lookup in kernel tables using parameters in *params*. - * If lookup is successful and result shows packet is to be - * forwarded, the neighbor tables are searched for the nexthop. - * If successful (ie., FIB lookup shows forwarding and nexthop - * is resolved), the nexthop address is returned in ipv4_dst - * or ipv6_dst based on family, smac is set to mac address of - * egress device, dmac is set to nexthop mac address, rt_metric - * is set to metric from route (IPv4/IPv6 only), and ifindex - * is set to the device index of the nexthop from the FIB lookup. - * - * *plen* argument is the size of the passed in struct. - * *flags* argument can be a combination of one or more of the - * following values: - * - * **BPF_FIB_LOOKUP_DIRECT** - * Do a direct table lookup vs full lookup using FIB - * rules. - * **BPF_FIB_LOOKUP_OUTPUT** - * Perform lookup from an egress perspective (default is - * ingress). - * - * *ctx* is either **struct xdp_md** for XDP programs or - * **struct sk_buff** tc cls_act programs. - * - * Returns - * * < 0 if any input argument is invalid - * * 0 on success (packet is forwarded, nexthop neighbor exists) - * * > 0 one of **BPF_FIB_LKUP_RET_** codes explaining why the - * packet is not forwarded or needs assist from full stack - */ -static long (*bpf_fib_lookup)(void *ctx, struct bpf_fib_lookup *params, int plen, __u32 flags) = (void *) 69; - -/* - * bpf_sock_hash_update - * - * Add an entry to, or update a sockhash *map* referencing sockets. - * The *skops* is used as a new value for the entry associated to - * *key*. *flags* is one of: - * - * **BPF_NOEXIST** - * The entry for *key* must not exist in the map. - * **BPF_EXIST** - * The entry for *key* must already exist in the map. - * **BPF_ANY** - * No condition on the existence of the entry for *key*. - * - * If the *map* has eBPF programs (parser and verdict), those will - * be inherited by the socket being added. If the socket is - * already attached to eBPF programs, this results in an error. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_sock_hash_update)(struct bpf_sock_ops *skops, void *map, void *key, __u64 flags) = (void *) 70; - -/* - * bpf_msg_redirect_hash - * - * This helper is used in programs implementing policies at the - * socket level. If the message *msg* is allowed to pass (i.e. if - * the verdict eBPF program returns **SK_PASS**), redirect it to - * the socket referenced by *map* (of type - * **BPF_MAP_TYPE_SOCKHASH**) using hash *key*. Both ingress and - * egress interfaces can be used for redirection. The - * **BPF_F_INGRESS** value in *flags* is used to make the - * distinction (ingress path is selected if the flag is present, - * egress path otherwise). This is the only flag supported for now. - * - * Returns - * **SK_PASS** on success, or **SK_DROP** on error. - */ -static long (*bpf_msg_redirect_hash)(struct sk_msg_md *msg, void *map, void *key, __u64 flags) = (void *) 71; - -/* - * bpf_sk_redirect_hash - * - * This helper is used in programs implementing policies at the - * skb socket level. If the sk_buff *skb* is allowed to pass (i.e. - * if the verdict eBPF program returns **SK_PASS**), redirect it - * to the socket referenced by *map* (of type - * **BPF_MAP_TYPE_SOCKHASH**) using hash *key*. Both ingress and - * egress interfaces can be used for redirection. The - * **BPF_F_INGRESS** value in *flags* is used to make the - * distinction (ingress path is selected if the flag is present, - * egress otherwise). This is the only flag supported for now. - * - * Returns - * **SK_PASS** on success, or **SK_DROP** on error. - */ -static long (*bpf_sk_redirect_hash)(struct __sk_buff *skb, void *map, void *key, __u64 flags) = (void *) 72; - -/* - * bpf_lwt_push_encap - * - * Encapsulate the packet associated to *skb* within a Layer 3 - * protocol header. This header is provided in the buffer at - * address *hdr*, with *len* its size in bytes. *type* indicates - * the protocol of the header and can be one of: - * - * **BPF_LWT_ENCAP_SEG6** - * IPv6 encapsulation with Segment Routing Header - * (**struct ipv6_sr_hdr**). *hdr* only contains the SRH, - * the IPv6 header is computed by the kernel. - * **BPF_LWT_ENCAP_SEG6_INLINE** - * Only works if *skb* contains an IPv6 packet. Insert a - * Segment Routing Header (**struct ipv6_sr_hdr**) inside - * the IPv6 header. - * **BPF_LWT_ENCAP_IP** - * IP encapsulation (GRE/GUE/IPIP/etc). The outer header - * must be IPv4 or IPv6, followed by zero or more - * additional headers, up to **LWT_BPF_MAX_HEADROOM** - * total bytes in all prepended headers. Please note that - * if **skb_is_gso**\ (*skb*) is true, no more than two - * headers can be prepended, and the inner header, if - * present, should be either GRE or UDP/GUE. - * - * **BPF_LWT_ENCAP_SEG6**\ \* types can be called by BPF programs - * of type **BPF_PROG_TYPE_LWT_IN**; **BPF_LWT_ENCAP_IP** type can - * be called by bpf programs of types **BPF_PROG_TYPE_LWT_IN** and - * **BPF_PROG_TYPE_LWT_XMIT**. - * - * A call to this helper is susceptible to change the underlying - * packet buffer. Therefore, at load time, all checks on pointers - * previously done by the verifier are invalidated and must be - * performed again, if the helper is used in combination with - * direct packet access. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_lwt_push_encap)(struct __sk_buff *skb, __u32 type, void *hdr, __u32 len) = (void *) 73; - -/* - * bpf_lwt_seg6_store_bytes - * - * Store *len* bytes from address *from* into the packet - * associated to *skb*, at *offset*. Only the flags, tag and TLVs - * inside the outermost IPv6 Segment Routing Header can be - * modified through this helper. - * - * A call to this helper is susceptible to change the underlying - * packet buffer. Therefore, at load time, all checks on pointers - * previously done by the verifier are invalidated and must be - * performed again, if the helper is used in combination with - * direct packet access. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_lwt_seg6_store_bytes)(struct __sk_buff *skb, __u32 offset, const void *from, __u32 len) = (void *) 74; - -/* - * bpf_lwt_seg6_adjust_srh - * - * Adjust the size allocated to TLVs in the outermost IPv6 - * Segment Routing Header contained in the packet associated to - * *skb*, at position *offset* by *delta* bytes. Only offsets - * after the segments are accepted. *delta* can be as well - * positive (growing) as negative (shrinking). - * - * A call to this helper is susceptible to change the underlying - * packet buffer. Therefore, at load time, all checks on pointers - * previously done by the verifier are invalidated and must be - * performed again, if the helper is used in combination with - * direct packet access. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_lwt_seg6_adjust_srh)(struct __sk_buff *skb, __u32 offset, __s32 delta) = (void *) 75; - -/* - * bpf_lwt_seg6_action - * - * Apply an IPv6 Segment Routing action of type *action* to the - * packet associated to *skb*. Each action takes a parameter - * contained at address *param*, and of length *param_len* bytes. - * *action* can be one of: - * - * **SEG6_LOCAL_ACTION_END_X** - * End.X action: Endpoint with Layer-3 cross-connect. - * Type of *param*: **struct in6_addr**. - * **SEG6_LOCAL_ACTION_END_T** - * End.T action: Endpoint with specific IPv6 table lookup. - * Type of *param*: **int**. - * **SEG6_LOCAL_ACTION_END_B6** - * End.B6 action: Endpoint bound to an SRv6 policy. - * Type of *param*: **struct ipv6_sr_hdr**. - * **SEG6_LOCAL_ACTION_END_B6_ENCAP** - * End.B6.Encap action: Endpoint bound to an SRv6 - * encapsulation policy. - * Type of *param*: **struct ipv6_sr_hdr**. - * - * A call to this helper is susceptible to change the underlying - * packet buffer. Therefore, at load time, all checks on pointers - * previously done by the verifier are invalidated and must be - * performed again, if the helper is used in combination with - * direct packet access. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_lwt_seg6_action)(struct __sk_buff *skb, __u32 action, void *param, __u32 param_len) = (void *) 76; - -/* - * bpf_rc_repeat - * - * This helper is used in programs implementing IR decoding, to - * report a successfully decoded repeat key message. This delays - * the generation of a key up event for previously generated - * key down event. - * - * Some IR protocols like NEC have a special IR message for - * repeating last button, for when a button is held down. - * - * The *ctx* should point to the lirc sample as passed into - * the program. - * - * This helper is only available is the kernel was compiled with - * the **CONFIG_BPF_LIRC_MODE2** configuration option set to - * "**y**". - * - * Returns - * 0 - */ -static long (*bpf_rc_repeat)(void *ctx) = (void *) 77; - -/* - * bpf_rc_keydown - * - * This helper is used in programs implementing IR decoding, to - * report a successfully decoded key press with *scancode*, - * *toggle* value in the given *protocol*. The scancode will be - * translated to a keycode using the rc keymap, and reported as - * an input key down event. After a period a key up event is - * generated. This period can be extended by calling either - * **bpf_rc_keydown**\ () again with the same values, or calling - * **bpf_rc_repeat**\ (). - * - * Some protocols include a toggle bit, in case the button was - * released and pressed again between consecutive scancodes. - * - * The *ctx* should point to the lirc sample as passed into - * the program. - * - * The *protocol* is the decoded protocol number (see - * **enum rc_proto** for some predefined values). - * - * This helper is only available is the kernel was compiled with - * the **CONFIG_BPF_LIRC_MODE2** configuration option set to - * "**y**". - * - * Returns - * 0 - */ -static long (*bpf_rc_keydown)(void *ctx, __u32 protocol, __u64 scancode, __u32 toggle) = (void *) 78; - -/* - * bpf_skb_cgroup_id - * - * Return the cgroup v2 id of the socket associated with the *skb*. - * This is roughly similar to the **bpf_get_cgroup_classid**\ () - * helper for cgroup v1 by providing a tag resp. identifier that - * can be matched on or used for map lookups e.g. to implement - * policy. The cgroup v2 id of a given path in the hierarchy is - * exposed in user space through the f_handle API in order to get - * to the same 64-bit id. - * - * This helper can be used on TC egress path, but not on ingress, - * and is available only if the kernel was compiled with the - * **CONFIG_SOCK_CGROUP_DATA** configuration option. - * - * Returns - * The id is returned or 0 in case the id could not be retrieved. - */ -static __u64 (*bpf_skb_cgroup_id)(struct __sk_buff *skb) = (void *) 79; - -/* - * bpf_get_current_cgroup_id - * - * - * Returns - * A 64-bit integer containing the current cgroup id based - * on the cgroup within which the current task is running. - */ -static __u64 (*bpf_get_current_cgroup_id)(void) = (void *) 80; - -/* - * bpf_get_local_storage - * - * Get the pointer to the local storage area. - * The type and the size of the local storage is defined - * by the *map* argument. - * The *flags* meaning is specific for each map type, - * and has to be 0 for cgroup local storage. - * - * Depending on the BPF program type, a local storage area - * can be shared between multiple instances of the BPF program, - * running simultaneously. - * - * A user should care about the synchronization by himself. - * For example, by using the **BPF_ATOMIC** instructions to alter - * the shared data. - * - * Returns - * A pointer to the local storage area. - */ -static void *(*bpf_get_local_storage)(void *map, __u64 flags) = (void *) 81; - -/* - * bpf_sk_select_reuseport - * - * Select a **SO_REUSEPORT** socket from a - * **BPF_MAP_TYPE_REUSEPORT_ARRAY** *map*. - * It checks the selected socket is matching the incoming - * request in the socket buffer. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_sk_select_reuseport)(struct sk_reuseport_md *reuse, void *map, void *key, __u64 flags) = (void *) 82; - -/* - * bpf_skb_ancestor_cgroup_id - * - * Return id of cgroup v2 that is ancestor of cgroup associated - * with the *skb* at the *ancestor_level*. The root cgroup is at - * *ancestor_level* zero and each step down the hierarchy - * increments the level. If *ancestor_level* == level of cgroup - * associated with *skb*, then return value will be same as that - * of **bpf_skb_cgroup_id**\ (). - * - * The helper is useful to implement policies based on cgroups - * that are upper in hierarchy than immediate cgroup associated - * with *skb*. - * - * The format of returned id and helper limitations are same as in - * **bpf_skb_cgroup_id**\ (). - * - * Returns - * The id is returned or 0 in case the id could not be retrieved. - */ -static __u64 (*bpf_skb_ancestor_cgroup_id)(struct __sk_buff *skb, int ancestor_level) = (void *) 83; - -/* - * bpf_sk_lookup_tcp - * - * Look for TCP socket matching *tuple*, optionally in a child - * network namespace *netns*. The return value must be checked, - * and if non-**NULL**, released via **bpf_sk_release**\ (). - * - * The *ctx* should point to the context of the program, such as - * the skb or socket (depending on the hook in use). This is used - * to determine the base network namespace for the lookup. - * - * *tuple_size* must be one of: - * - * **sizeof**\ (*tuple*\ **->ipv4**) - * Look for an IPv4 socket. - * **sizeof**\ (*tuple*\ **->ipv6**) - * Look for an IPv6 socket. - * - * If the *netns* is a negative signed 32-bit integer, then the - * socket lookup table in the netns associated with the *ctx* - * will be used. For the TC hooks, this is the netns of the device - * in the skb. For socket hooks, this is the netns of the socket. - * If *netns* is any other signed 32-bit value greater than or - * equal to zero then it specifies the ID of the netns relative to - * the netns associated with the *ctx*. *netns* values beyond the - * range of 32-bit integers are reserved for future use. - * - * All values for *flags* are reserved for future usage, and must - * be left at zero. - * - * This helper is available only if the kernel was compiled with - * **CONFIG_NET** configuration option. - * - * Returns - * Pointer to **struct bpf_sock**, or **NULL** in case of failure. - * For sockets with reuseport option, the **struct bpf_sock** - * result is from *reuse*\ **->socks**\ [] using the hash of the - * tuple. - */ -static struct bpf_sock *(*bpf_sk_lookup_tcp)(void *ctx, struct bpf_sock_tuple *tuple, __u32 tuple_size, __u64 netns, __u64 flags) = (void *) 84; - -/* - * bpf_sk_lookup_udp - * - * Look for UDP socket matching *tuple*, optionally in a child - * network namespace *netns*. The return value must be checked, - * and if non-**NULL**, released via **bpf_sk_release**\ (). - * - * The *ctx* should point to the context of the program, such as - * the skb or socket (depending on the hook in use). This is used - * to determine the base network namespace for the lookup. - * - * *tuple_size* must be one of: - * - * **sizeof**\ (*tuple*\ **->ipv4**) - * Look for an IPv4 socket. - * **sizeof**\ (*tuple*\ **->ipv6**) - * Look for an IPv6 socket. - * - * If the *netns* is a negative signed 32-bit integer, then the - * socket lookup table in the netns associated with the *ctx* - * will be used. For the TC hooks, this is the netns of the device - * in the skb. For socket hooks, this is the netns of the socket. - * If *netns* is any other signed 32-bit value greater than or - * equal to zero then it specifies the ID of the netns relative to - * the netns associated with the *ctx*. *netns* values beyond the - * range of 32-bit integers are reserved for future use. - * - * All values for *flags* are reserved for future usage, and must - * be left at zero. - * - * This helper is available only if the kernel was compiled with - * **CONFIG_NET** configuration option. - * - * Returns - * Pointer to **struct bpf_sock**, or **NULL** in case of failure. - * For sockets with reuseport option, the **struct bpf_sock** - * result is from *reuse*\ **->socks**\ [] using the hash of the - * tuple. - */ -static struct bpf_sock *(*bpf_sk_lookup_udp)(void *ctx, struct bpf_sock_tuple *tuple, __u32 tuple_size, __u64 netns, __u64 flags) = (void *) 85; - -/* - * bpf_sk_release - * - * Release the reference held by *sock*. *sock* must be a - * non-**NULL** pointer that was returned from - * **bpf_sk_lookup_xxx**\ (). - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_sk_release)(void *sock) = (void *) 86; - -/* - * bpf_map_push_elem - * - * Push an element *value* in *map*. *flags* is one of: - * - * **BPF_EXIST** - * If the queue/stack is full, the oldest element is - * removed to make room for this. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_map_push_elem)(void *map, const void *value, __u64 flags) = (void *) 87; - -/* - * bpf_map_pop_elem - * - * Pop an element from *map*. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_map_pop_elem)(void *map, void *value) = (void *) 88; - -/* - * bpf_map_peek_elem - * - * Get an element from *map* without removing it. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_map_peek_elem)(void *map, void *value) = (void *) 89; - -/* - * bpf_msg_push_data - * - * For socket policies, insert *len* bytes into *msg* at offset - * *start*. - * - * If a program of type **BPF_PROG_TYPE_SK_MSG** is run on a - * *msg* it may want to insert metadata or options into the *msg*. - * This can later be read and used by any of the lower layer BPF - * hooks. - * - * This helper may fail if under memory pressure (a malloc - * fails) in these cases BPF programs will get an appropriate - * error and BPF programs will need to handle them. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_msg_push_data)(struct sk_msg_md *msg, __u32 start, __u32 len, __u64 flags) = (void *) 90; - -/* - * bpf_msg_pop_data - * - * Will remove *len* bytes from a *msg* starting at byte *start*. - * This may result in **ENOMEM** errors under certain situations if - * an allocation and copy are required due to a full ring buffer. - * However, the helper will try to avoid doing the allocation - * if possible. Other errors can occur if input parameters are - * invalid either due to *start* byte not being valid part of *msg* - * payload and/or *pop* value being to large. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_msg_pop_data)(struct sk_msg_md *msg, __u32 start, __u32 len, __u64 flags) = (void *) 91; - -/* - * bpf_rc_pointer_rel - * - * This helper is used in programs implementing IR decoding, to - * report a successfully decoded pointer movement. - * - * The *ctx* should point to the lirc sample as passed into - * the program. - * - * This helper is only available is the kernel was compiled with - * the **CONFIG_BPF_LIRC_MODE2** configuration option set to - * "**y**". - * - * Returns - * 0 - */ -static long (*bpf_rc_pointer_rel)(void *ctx, __s32 rel_x, __s32 rel_y) = (void *) 92; - -/* - * bpf_spin_lock - * - * Acquire a spinlock represented by the pointer *lock*, which is - * stored as part of a value of a map. Taking the lock allows to - * safely update the rest of the fields in that value. The - * spinlock can (and must) later be released with a call to - * **bpf_spin_unlock**\ (\ *lock*\ ). - * - * Spinlocks in BPF programs come with a number of restrictions - * and constraints: - * - * * **bpf_spin_lock** objects are only allowed inside maps of - * types **BPF_MAP_TYPE_HASH** and **BPF_MAP_TYPE_ARRAY** (this - * list could be extended in the future). - * * BTF description of the map is mandatory. - * * The BPF program can take ONE lock at a time, since taking two - * or more could cause dead locks. - * * Only one **struct bpf_spin_lock** is allowed per map element. - * * When the lock is taken, calls (either BPF to BPF or helpers) - * are not allowed. - * * The **BPF_LD_ABS** and **BPF_LD_IND** instructions are not - * allowed inside a spinlock-ed region. - * * The BPF program MUST call **bpf_spin_unlock**\ () to release - * the lock, on all execution paths, before it returns. - * * The BPF program can access **struct bpf_spin_lock** only via - * the **bpf_spin_lock**\ () and **bpf_spin_unlock**\ () - * helpers. Loading or storing data into the **struct - * bpf_spin_lock** *lock*\ **;** field of a map is not allowed. - * * To use the **bpf_spin_lock**\ () helper, the BTF description - * of the map value must be a struct and have **struct - * bpf_spin_lock** *anyname*\ **;** field at the top level. - * Nested lock inside another struct is not allowed. - * * The **struct bpf_spin_lock** *lock* field in a map value must - * be aligned on a multiple of 4 bytes in that value. - * * Syscall with command **BPF_MAP_LOOKUP_ELEM** does not copy - * the **bpf_spin_lock** field to user space. - * * Syscall with command **BPF_MAP_UPDATE_ELEM**, or update from - * a BPF program, do not update the **bpf_spin_lock** field. - * * **bpf_spin_lock** cannot be on the stack or inside a - * networking packet (it can only be inside of a map values). - * * **bpf_spin_lock** is available to root only. - * * Tracing programs and socket filter programs cannot use - * **bpf_spin_lock**\ () due to insufficient preemption checks - * (but this may change in the future). - * * **bpf_spin_lock** is not allowed in inner maps of map-in-map. - * - * Returns - * 0 - */ -static long (*bpf_spin_lock)(struct bpf_spin_lock *lock) = (void *) 93; - -/* - * bpf_spin_unlock - * - * Release the *lock* previously locked by a call to - * **bpf_spin_lock**\ (\ *lock*\ ). - * - * Returns - * 0 - */ -static long (*bpf_spin_unlock)(struct bpf_spin_lock *lock) = (void *) 94; - -/* - * bpf_sk_fullsock - * - * This helper gets a **struct bpf_sock** pointer such - * that all the fields in this **bpf_sock** can be accessed. - * - * Returns - * A **struct bpf_sock** pointer on success, or **NULL** in - * case of failure. - */ -static struct bpf_sock *(*bpf_sk_fullsock)(struct bpf_sock *sk) = (void *) 95; - -/* - * bpf_tcp_sock - * - * This helper gets a **struct bpf_tcp_sock** pointer from a - * **struct bpf_sock** pointer. - * - * Returns - * A **struct bpf_tcp_sock** pointer on success, or **NULL** in - * case of failure. - */ -static struct bpf_tcp_sock *(*bpf_tcp_sock)(struct bpf_sock *sk) = (void *) 96; - -/* - * bpf_skb_ecn_set_ce - * - * Set ECN (Explicit Congestion Notification) field of IP header - * to **CE** (Congestion Encountered) if current value is **ECT** - * (ECN Capable Transport). Otherwise, do nothing. Works with IPv6 - * and IPv4. - * - * Returns - * 1 if the **CE** flag is set (either by the current helper call - * or because it was already present), 0 if it is not set. - */ -static long (*bpf_skb_ecn_set_ce)(struct __sk_buff *skb) = (void *) 97; - -/* - * bpf_get_listener_sock - * - * Return a **struct bpf_sock** pointer in **TCP_LISTEN** state. - * **bpf_sk_release**\ () is unnecessary and not allowed. - * - * Returns - * A **struct bpf_sock** pointer on success, or **NULL** in - * case of failure. - */ -static struct bpf_sock *(*bpf_get_listener_sock)(struct bpf_sock *sk) = (void *) 98; - -/* - * bpf_skc_lookup_tcp - * - * Look for TCP socket matching *tuple*, optionally in a child - * network namespace *netns*. The return value must be checked, - * and if non-**NULL**, released via **bpf_sk_release**\ (). - * - * This function is identical to **bpf_sk_lookup_tcp**\ (), except - * that it also returns timewait or request sockets. Use - * **bpf_sk_fullsock**\ () or **bpf_tcp_sock**\ () to access the - * full structure. - * - * This helper is available only if the kernel was compiled with - * **CONFIG_NET** configuration option. - * - * Returns - * Pointer to **struct bpf_sock**, or **NULL** in case of failure. - * For sockets with reuseport option, the **struct bpf_sock** - * result is from *reuse*\ **->socks**\ [] using the hash of the - * tuple. - */ -static struct bpf_sock *(*bpf_skc_lookup_tcp)(void *ctx, struct bpf_sock_tuple *tuple, __u32 tuple_size, __u64 netns, __u64 flags) = (void *) 99; - -/* - * bpf_tcp_check_syncookie - * - * Check whether *iph* and *th* contain a valid SYN cookie ACK for - * the listening socket in *sk*. - * - * *iph* points to the start of the IPv4 or IPv6 header, while - * *iph_len* contains **sizeof**\ (**struct iphdr**) or - * **sizeof**\ (**struct ip6hdr**). - * - * *th* points to the start of the TCP header, while *th_len* - * contains **sizeof**\ (**struct tcphdr**). - * - * Returns - * 0 if *iph* and *th* are a valid SYN cookie ACK, or a negative - * error otherwise. - */ -static long (*bpf_tcp_check_syncookie)(void *sk, void *iph, __u32 iph_len, struct tcphdr *th, __u32 th_len) = (void *) 100; - -/* - * bpf_sysctl_get_name - * - * Get name of sysctl in /proc/sys/ and copy it into provided by - * program buffer *buf* of size *buf_len*. - * - * The buffer is always NUL terminated, unless it's zero-sized. - * - * If *flags* is zero, full name (e.g. "net/ipv4/tcp_mem") is - * copied. Use **BPF_F_SYSCTL_BASE_NAME** flag to copy base name - * only (e.g. "tcp_mem"). - * - * Returns - * Number of character copied (not including the trailing NUL). - * - * **-E2BIG** if the buffer wasn't big enough (*buf* will contain - * truncated name in this case). - */ -static long (*bpf_sysctl_get_name)(struct bpf_sysctl *ctx, char *buf, unsigned long buf_len, __u64 flags) = (void *) 101; - -/* - * bpf_sysctl_get_current_value - * - * Get current value of sysctl as it is presented in /proc/sys - * (incl. newline, etc), and copy it as a string into provided - * by program buffer *buf* of size *buf_len*. - * - * The whole value is copied, no matter what file position user - * space issued e.g. sys_read at. - * - * The buffer is always NUL terminated, unless it's zero-sized. - * - * Returns - * Number of character copied (not including the trailing NUL). - * - * **-E2BIG** if the buffer wasn't big enough (*buf* will contain - * truncated name in this case). - * - * **-EINVAL** if current value was unavailable, e.g. because - * sysctl is uninitialized and read returns -EIO for it. - */ -static long (*bpf_sysctl_get_current_value)(struct bpf_sysctl *ctx, char *buf, unsigned long buf_len) = (void *) 102; - -/* - * bpf_sysctl_get_new_value - * - * Get new value being written by user space to sysctl (before - * the actual write happens) and copy it as a string into - * provided by program buffer *buf* of size *buf_len*. - * - * User space may write new value at file position > 0. - * - * The buffer is always NUL terminated, unless it's zero-sized. - * - * Returns - * Number of character copied (not including the trailing NUL). - * - * **-E2BIG** if the buffer wasn't big enough (*buf* will contain - * truncated name in this case). - * - * **-EINVAL** if sysctl is being read. - */ -static long (*bpf_sysctl_get_new_value)(struct bpf_sysctl *ctx, char *buf, unsigned long buf_len) = (void *) 103; - -/* - * bpf_sysctl_set_new_value - * - * Override new value being written by user space to sysctl with - * value provided by program in buffer *buf* of size *buf_len*. - * - * *buf* should contain a string in same form as provided by user - * space on sysctl write. - * - * User space may write new value at file position > 0. To override - * the whole sysctl value file position should be set to zero. - * - * Returns - * 0 on success. - * - * **-E2BIG** if the *buf_len* is too big. - * - * **-EINVAL** if sysctl is being read. - */ -static long (*bpf_sysctl_set_new_value)(struct bpf_sysctl *ctx, const char *buf, unsigned long buf_len) = (void *) 104; - -/* - * bpf_strtol - * - * Convert the initial part of the string from buffer *buf* of - * size *buf_len* to a long integer according to the given base - * and save the result in *res*. - * - * The string may begin with an arbitrary amount of white space - * (as determined by **isspace**\ (3)) followed by a single - * optional '**-**' sign. - * - * Five least significant bits of *flags* encode base, other bits - * are currently unused. - * - * Base must be either 8, 10, 16 or 0 to detect it automatically - * similar to user space **strtol**\ (3). - * - * Returns - * Number of characters consumed on success. Must be positive but - * no more than *buf_len*. - * - * **-EINVAL** if no valid digits were found or unsupported base - * was provided. - * - * **-ERANGE** if resulting value was out of range. - */ -static long (*bpf_strtol)(const char *buf, unsigned long buf_len, __u64 flags, long *res) = (void *) 105; - -/* - * bpf_strtoul - * - * Convert the initial part of the string from buffer *buf* of - * size *buf_len* to an unsigned long integer according to the - * given base and save the result in *res*. - * - * The string may begin with an arbitrary amount of white space - * (as determined by **isspace**\ (3)). - * - * Five least significant bits of *flags* encode base, other bits - * are currently unused. - * - * Base must be either 8, 10, 16 or 0 to detect it automatically - * similar to user space **strtoul**\ (3). - * - * Returns - * Number of characters consumed on success. Must be positive but - * no more than *buf_len*. - * - * **-EINVAL** if no valid digits were found or unsupported base - * was provided. - * - * **-ERANGE** if resulting value was out of range. - */ -static long (*bpf_strtoul)(const char *buf, unsigned long buf_len, __u64 flags, unsigned long *res) = (void *) 106; - -/* - * bpf_sk_storage_get - * - * Get a bpf-local-storage from a *sk*. - * - * Logically, it could be thought of getting the value from - * a *map* with *sk* as the **key**. From this - * perspective, the usage is not much different from - * **bpf_map_lookup_elem**\ (*map*, **&**\ *sk*) except this - * helper enforces the key must be a full socket and the map must - * be a **BPF_MAP_TYPE_SK_STORAGE** also. - * - * Underneath, the value is stored locally at *sk* instead of - * the *map*. The *map* is used as the bpf-local-storage - * "type". The bpf-local-storage "type" (i.e. the *map*) is - * searched against all bpf-local-storages residing at *sk*. - * - * *sk* is a kernel **struct sock** pointer for LSM program. - * *sk* is a **struct bpf_sock** pointer for other program types. - * - * An optional *flags* (**BPF_SK_STORAGE_GET_F_CREATE**) can be - * used such that a new bpf-local-storage will be - * created if one does not exist. *value* can be used - * together with **BPF_SK_STORAGE_GET_F_CREATE** to specify - * the initial value of a bpf-local-storage. If *value* is - * **NULL**, the new bpf-local-storage will be zero initialized. - * - * Returns - * A bpf-local-storage pointer is returned on success. - * - * **NULL** if not found or there was an error in adding - * a new bpf-local-storage. - */ -static void *(*bpf_sk_storage_get)(void *map, void *sk, void *value, __u64 flags) = (void *) 107; - -/* - * bpf_sk_storage_delete - * - * Delete a bpf-local-storage from a *sk*. - * - * Returns - * 0 on success. - * - * **-ENOENT** if the bpf-local-storage cannot be found. - * **-EINVAL** if sk is not a fullsock (e.g. a request_sock). - */ -static long (*bpf_sk_storage_delete)(void *map, void *sk) = (void *) 108; - -/* - * bpf_send_signal - * - * Send signal *sig* to the process of the current task. - * The signal may be delivered to any of this process's threads. - * - * Returns - * 0 on success or successfully queued. - * - * **-EBUSY** if work queue under nmi is full. - * - * **-EINVAL** if *sig* is invalid. - * - * **-EPERM** if no permission to send the *sig*. - * - * **-EAGAIN** if bpf program can try again. - */ -static long (*bpf_send_signal)(__u32 sig) = (void *) 109; - -/* - * bpf_tcp_gen_syncookie - * - * Try to issue a SYN cookie for the packet with corresponding - * IP/TCP headers, *iph* and *th*, on the listening socket in *sk*. - * - * *iph* points to the start of the IPv4 or IPv6 header, while - * *iph_len* contains **sizeof**\ (**struct iphdr**) or - * **sizeof**\ (**struct ip6hdr**). - * - * *th* points to the start of the TCP header, while *th_len* - * contains the length of the TCP header. - * - * Returns - * On success, lower 32 bits hold the generated SYN cookie in - * followed by 16 bits which hold the MSS value for that cookie, - * and the top 16 bits are unused. - * - * On failure, the returned value is one of the following: - * - * **-EINVAL** SYN cookie cannot be issued due to error - * - * **-ENOENT** SYN cookie should not be issued (no SYN flood) - * - * **-EOPNOTSUPP** kernel configuration does not enable SYN cookies - * - * **-EPROTONOSUPPORT** IP packet version is not 4 or 6 - */ -static __s64 (*bpf_tcp_gen_syncookie)(void *sk, void *iph, __u32 iph_len, struct tcphdr *th, __u32 th_len) = (void *) 110; - -/* - * bpf_skb_output - * - * Write raw *data* blob into a special BPF perf event held by - * *map* of type **BPF_MAP_TYPE_PERF_EVENT_ARRAY**. This perf - * event must have the following attributes: **PERF_SAMPLE_RAW** - * as **sample_type**, **PERF_TYPE_SOFTWARE** as **type**, and - * **PERF_COUNT_SW_BPF_OUTPUT** as **config**. - * - * The *flags* are used to indicate the index in *map* for which - * the value must be put, masked with **BPF_F_INDEX_MASK**. - * Alternatively, *flags* can be set to **BPF_F_CURRENT_CPU** - * to indicate that the index of the current CPU core should be - * used. - * - * The value to write, of *size*, is passed through eBPF stack and - * pointed by *data*. - * - * *ctx* is a pointer to in-kernel struct sk_buff. - * - * This helper is similar to **bpf_perf_event_output**\ () but - * restricted to raw_tracepoint bpf programs. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_skb_output)(void *ctx, void *map, __u64 flags, void *data, __u64 size) = (void *) 111; - -/* - * bpf_probe_read_user - * - * Safely attempt to read *size* bytes from user space address - * *unsafe_ptr* and store the data in *dst*. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_probe_read_user)(void *dst, __u32 size, const void *unsafe_ptr) = (void *) 112; - -/* - * bpf_probe_read_kernel - * - * Safely attempt to read *size* bytes from kernel space address - * *unsafe_ptr* and store the data in *dst*. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_probe_read_kernel)(void *dst, __u32 size, const void *unsafe_ptr) = (void *) 113; - -/* - * bpf_probe_read_user_str - * - * Copy a NUL terminated string from an unsafe user address - * *unsafe_ptr* to *dst*. The *size* should include the - * terminating NUL byte. In case the string length is smaller than - * *size*, the target is not padded with further NUL bytes. If the - * string length is larger than *size*, just *size*-1 bytes are - * copied and the last byte is set to NUL. - * - * On success, returns the number of bytes that were written, - * including the terminal NUL. This makes this helper useful in - * tracing programs for reading strings, and more importantly to - * get its length at runtime. See the following snippet: - * - * :: - * - * SEC("kprobe/sys_open") - * void bpf_sys_open(struct pt_regs *ctx) - * { - * char buf[PATHLEN]; // PATHLEN is defined to 256 - * int res = bpf_probe_read_user_str(buf, sizeof(buf), - * ctx->di); - * - * // Consume buf, for example push it to - * // userspace via bpf_perf_event_output(); we - * // can use res (the string length) as event - * // size, after checking its boundaries. - * } - * - * In comparison, using **bpf_probe_read_user**\ () helper here - * instead to read the string would require to estimate the length - * at compile time, and would often result in copying more memory - * than necessary. - * - * Another useful use case is when parsing individual process - * arguments or individual environment variables navigating - * *current*\ **->mm->arg_start** and *current*\ - * **->mm->env_start**: using this helper and the return value, - * one can quickly iterate at the right offset of the memory area. - * - * Returns - * On success, the strictly positive length of the output string, - * including the trailing NUL character. On error, a negative - * value. - */ -static long (*bpf_probe_read_user_str)(void *dst, __u32 size, const void *unsafe_ptr) = (void *) 114; - -/* - * bpf_probe_read_kernel_str - * - * Copy a NUL terminated string from an unsafe kernel address *unsafe_ptr* - * to *dst*. Same semantics as with **bpf_probe_read_user_str**\ () apply. - * - * Returns - * On success, the strictly positive length of the string, including - * the trailing NUL character. On error, a negative value. - */ -static long (*bpf_probe_read_kernel_str)(void *dst, __u32 size, const void *unsafe_ptr) = (void *) 115; - -/* - * bpf_tcp_send_ack - * - * Send out a tcp-ack. *tp* is the in-kernel struct **tcp_sock**. - * *rcv_nxt* is the ack_seq to be sent out. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_tcp_send_ack)(void *tp, __u32 rcv_nxt) = (void *) 116; - -/* - * bpf_send_signal_thread - * - * Send signal *sig* to the thread corresponding to the current task. - * - * Returns - * 0 on success or successfully queued. - * - * **-EBUSY** if work queue under nmi is full. - * - * **-EINVAL** if *sig* is invalid. - * - * **-EPERM** if no permission to send the *sig*. - * - * **-EAGAIN** if bpf program can try again. - */ -static long (*bpf_send_signal_thread)(__u32 sig) = (void *) 117; - -/* - * bpf_jiffies64 - * - * Obtain the 64bit jiffies - * - * Returns - * The 64 bit jiffies - */ -static __u64 (*bpf_jiffies64)(void) = (void *) 118; - -/* - * bpf_read_branch_records - * - * For an eBPF program attached to a perf event, retrieve the - * branch records (**struct perf_branch_entry**) associated to *ctx* - * and store it in the buffer pointed by *buf* up to size - * *size* bytes. - * - * Returns - * On success, number of bytes written to *buf*. On error, a - * negative value. - * - * The *flags* can be set to **BPF_F_GET_BRANCH_RECORDS_SIZE** to - * instead return the number of bytes required to store all the - * branch entries. If this flag is set, *buf* may be NULL. - * - * **-EINVAL** if arguments invalid or **size** not a multiple - * of **sizeof**\ (**struct perf_branch_entry**\ ). - * - * **-ENOENT** if architecture does not support branch records. - */ -static long (*bpf_read_branch_records)(struct bpf_perf_event_data *ctx, void *buf, __u32 size, __u64 flags) = (void *) 119; - -/* - * bpf_get_ns_current_pid_tgid - * - * Returns 0 on success, values for *pid* and *tgid* as seen from the current - * *namespace* will be returned in *nsdata*. - * - * Returns - * 0 on success, or one of the following in case of failure: - * - * **-EINVAL** if dev and inum supplied don't match dev_t and inode number - * with nsfs of current task, or if dev conversion to dev_t lost high bits. - * - * **-ENOENT** if pidns does not exists for the current task. - */ -static long (*bpf_get_ns_current_pid_tgid)(__u64 dev, __u64 ino, struct bpf_pidns_info *nsdata, __u32 size) = (void *) 120; - -/* - * bpf_xdp_output - * - * Write raw *data* blob into a special BPF perf event held by - * *map* of type **BPF_MAP_TYPE_PERF_EVENT_ARRAY**. This perf - * event must have the following attributes: **PERF_SAMPLE_RAW** - * as **sample_type**, **PERF_TYPE_SOFTWARE** as **type**, and - * **PERF_COUNT_SW_BPF_OUTPUT** as **config**. - * - * The *flags* are used to indicate the index in *map* for which - * the value must be put, masked with **BPF_F_INDEX_MASK**. - * Alternatively, *flags* can be set to **BPF_F_CURRENT_CPU** - * to indicate that the index of the current CPU core should be - * used. - * - * The value to write, of *size*, is passed through eBPF stack and - * pointed by *data*. - * - * *ctx* is a pointer to in-kernel struct xdp_buff. - * - * This helper is similar to **bpf_perf_eventoutput**\ () but - * restricted to raw_tracepoint bpf programs. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_xdp_output)(void *ctx, void *map, __u64 flags, void *data, __u64 size) = (void *) 121; - -/* - * bpf_get_netns_cookie - * - * Retrieve the cookie (generated by the kernel) of the network - * namespace the input *ctx* is associated with. The network - * namespace cookie remains stable for its lifetime and provides - * a global identifier that can be assumed unique. If *ctx* is - * NULL, then the helper returns the cookie for the initial - * network namespace. The cookie itself is very similar to that - * of **bpf_get_socket_cookie**\ () helper, but for network - * namespaces instead of sockets. - * - * Returns - * A 8-byte long opaque number. - */ -static __u64 (*bpf_get_netns_cookie)(void *ctx) = (void *) 122; - -/* - * bpf_get_current_ancestor_cgroup_id - * - * Return id of cgroup v2 that is ancestor of the cgroup associated - * with the current task at the *ancestor_level*. The root cgroup - * is at *ancestor_level* zero and each step down the hierarchy - * increments the level. If *ancestor_level* == level of cgroup - * associated with the current task, then return value will be the - * same as that of **bpf_get_current_cgroup_id**\ (). - * - * The helper is useful to implement policies based on cgroups - * that are upper in hierarchy than immediate cgroup associated - * with the current task. - * - * The format of returned id and helper limitations are same as in - * **bpf_get_current_cgroup_id**\ (). - * - * Returns - * The id is returned or 0 in case the id could not be retrieved. - */ -static __u64 (*bpf_get_current_ancestor_cgroup_id)(int ancestor_level) = (void *) 123; - -/* - * bpf_sk_assign - * - * Helper is overloaded depending on BPF program type. This - * description applies to **BPF_PROG_TYPE_SCHED_CLS** and - * **BPF_PROG_TYPE_SCHED_ACT** programs. - * - * Assign the *sk* to the *skb*. When combined with appropriate - * routing configuration to receive the packet towards the socket, - * will cause *skb* to be delivered to the specified socket. - * Subsequent redirection of *skb* via **bpf_redirect**\ (), - * **bpf_clone_redirect**\ () or other methods outside of BPF may - * interfere with successful delivery to the socket. - * - * This operation is only valid from TC ingress path. - * - * The *flags* argument must be zero. - * - * Returns - * 0 on success, or a negative error in case of failure: - * - * **-EINVAL** if specified *flags* are not supported. - * - * **-ENOENT** if the socket is unavailable for assignment. - * - * **-ENETUNREACH** if the socket is unreachable (wrong netns). - * - * **-EOPNOTSUPP** if the operation is not supported, for example - * a call from outside of TC ingress. - * - * **-ESOCKTNOSUPPORT** if the socket type is not supported - * (reuseport). - */ -static long (*bpf_sk_assign)(void *ctx, void *sk, __u64 flags) = (void *) 124; - -/* - * bpf_ktime_get_boot_ns - * - * Return the time elapsed since system boot, in nanoseconds. - * Does include the time the system was suspended. - * See: **clock_gettime**\ (**CLOCK_BOOTTIME**) - * - * Returns - * Current *ktime*. - */ -static __u64 (*bpf_ktime_get_boot_ns)(void) = (void *) 125; - -/* - * bpf_seq_printf - * - * **bpf_seq_printf**\ () uses seq_file **seq_printf**\ () to print - * out the format string. - * The *m* represents the seq_file. The *fmt* and *fmt_size* are for - * the format string itself. The *data* and *data_len* are format string - * arguments. The *data* are a **u64** array and corresponding format string - * values are stored in the array. For strings and pointers where pointees - * are accessed, only the pointer values are stored in the *data* array. - * The *data_len* is the size of *data* in bytes. - * - * Formats **%s**, **%p{i,I}{4,6}** requires to read kernel memory. - * Reading kernel memory may fail due to either invalid address or - * valid address but requiring a major memory fault. If reading kernel memory - * fails, the string for **%s** will be an empty string, and the ip - * address for **%p{i,I}{4,6}** will be 0. Not returning error to - * bpf program is consistent with what **bpf_trace_printk**\ () does for now. - * - * Returns - * 0 on success, or a negative error in case of failure: - * - * **-EBUSY** if per-CPU memory copy buffer is busy, can try again - * by returning 1 from bpf program. - * - * **-EINVAL** if arguments are invalid, or if *fmt* is invalid/unsupported. - * - * **-E2BIG** if *fmt* contains too many format specifiers. - * - * **-EOVERFLOW** if an overflow happened: The same object will be tried again. - */ -static long (*bpf_seq_printf)(struct seq_file *m, const char *fmt, __u32 fmt_size, const void *data, __u32 data_len) = (void *) 126; - -/* - * bpf_seq_write - * - * **bpf_seq_write**\ () uses seq_file **seq_write**\ () to write the data. - * The *m* represents the seq_file. The *data* and *len* represent the - * data to write in bytes. - * - * Returns - * 0 on success, or a negative error in case of failure: - * - * **-EOVERFLOW** if an overflow happened: The same object will be tried again. - */ -static long (*bpf_seq_write)(struct seq_file *m, const void *data, __u32 len) = (void *) 127; - -/* - * bpf_sk_cgroup_id - * - * Return the cgroup v2 id of the socket *sk*. - * - * *sk* must be a non-**NULL** pointer to a socket, e.g. one - * returned from **bpf_sk_lookup_xxx**\ (), - * **bpf_sk_fullsock**\ (), etc. The format of returned id is - * same as in **bpf_skb_cgroup_id**\ (). - * - * This helper is available only if the kernel was compiled with - * the **CONFIG_SOCK_CGROUP_DATA** configuration option. - * - * Returns - * The id is returned or 0 in case the id could not be retrieved. - */ -static __u64 (*bpf_sk_cgroup_id)(void *sk) = (void *) 128; - -/* - * bpf_sk_ancestor_cgroup_id - * - * Return id of cgroup v2 that is ancestor of cgroup associated - * with the *sk* at the *ancestor_level*. The root cgroup is at - * *ancestor_level* zero and each step down the hierarchy - * increments the level. If *ancestor_level* == level of cgroup - * associated with *sk*, then return value will be same as that - * of **bpf_sk_cgroup_id**\ (). - * - * The helper is useful to implement policies based on cgroups - * that are upper in hierarchy than immediate cgroup associated - * with *sk*. - * - * The format of returned id and helper limitations are same as in - * **bpf_sk_cgroup_id**\ (). - * - * Returns - * The id is returned or 0 in case the id could not be retrieved. - */ -static __u64 (*bpf_sk_ancestor_cgroup_id)(void *sk, int ancestor_level) = (void *) 129; - -/* - * bpf_ringbuf_output - * - * Copy *size* bytes from *data* into a ring buffer *ringbuf*. - * If **BPF_RB_NO_WAKEUP** is specified in *flags*, no notification - * of new data availability is sent. - * If **BPF_RB_FORCE_WAKEUP** is specified in *flags*, notification - * of new data availability is sent unconditionally. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_ringbuf_output)(void *ringbuf, void *data, __u64 size, __u64 flags) = (void *) 130; - -/* - * bpf_ringbuf_reserve - * - * Reserve *size* bytes of payload in a ring buffer *ringbuf*. - * - * Returns - * Valid pointer with *size* bytes of memory available; NULL, - * otherwise. - */ -static void *(*bpf_ringbuf_reserve)(void *ringbuf, __u64 size, __u64 flags) = (void *) 131; - -/* - * bpf_ringbuf_submit - * - * Submit reserved ring buffer sample, pointed to by *data*. - * If **BPF_RB_NO_WAKEUP** is specified in *flags*, no notification - * of new data availability is sent. - * If **BPF_RB_FORCE_WAKEUP** is specified in *flags*, notification - * of new data availability is sent unconditionally. - * - * Returns - * Nothing. Always succeeds. - */ -static void (*bpf_ringbuf_submit)(void *data, __u64 flags) = (void *) 132; - -/* - * bpf_ringbuf_discard - * - * Discard reserved ring buffer sample, pointed to by *data*. - * If **BPF_RB_NO_WAKEUP** is specified in *flags*, no notification - * of new data availability is sent. - * If **BPF_RB_FORCE_WAKEUP** is specified in *flags*, notification - * of new data availability is sent unconditionally. - * - * Returns - * Nothing. Always succeeds. - */ -static void (*bpf_ringbuf_discard)(void *data, __u64 flags) = (void *) 133; - -/* - * bpf_ringbuf_query - * - * Query various characteristics of provided ring buffer. What - * exactly is queries is determined by *flags*: - * - * * **BPF_RB_AVAIL_DATA**: Amount of data not yet consumed. - * * **BPF_RB_RING_SIZE**: The size of ring buffer. - * * **BPF_RB_CONS_POS**: Consumer position (can wrap around). - * * **BPF_RB_PROD_POS**: Producer(s) position (can wrap around). - * - * Data returned is just a momentary snapshot of actual values - * and could be inaccurate, so this facility should be used to - * power heuristics and for reporting, not to make 100% correct - * calculation. - * - * Returns - * Requested value, or 0, if *flags* are not recognized. - */ -static __u64 (*bpf_ringbuf_query)(void *ringbuf, __u64 flags) = (void *) 134; - -/* - * bpf_csum_level - * - * Change the skbs checksum level by one layer up or down, or - * reset it entirely to none in order to have the stack perform - * checksum validation. The level is applicable to the following - * protocols: TCP, UDP, GRE, SCTP, FCOE. For example, a decap of - * | ETH | IP | UDP | GUE | IP | TCP | into | ETH | IP | TCP | - * through **bpf_skb_adjust_room**\ () helper with passing in - * **BPF_F_ADJ_ROOM_NO_CSUM_RESET** flag would require one call - * to **bpf_csum_level**\ () with **BPF_CSUM_LEVEL_DEC** since - * the UDP header is removed. Similarly, an encap of the latter - * into the former could be accompanied by a helper call to - * **bpf_csum_level**\ () with **BPF_CSUM_LEVEL_INC** if the - * skb is still intended to be processed in higher layers of the - * stack instead of just egressing at tc. - * - * There are three supported level settings at this time: - * - * * **BPF_CSUM_LEVEL_INC**: Increases skb->csum_level for skbs - * with CHECKSUM_UNNECESSARY. - * * **BPF_CSUM_LEVEL_DEC**: Decreases skb->csum_level for skbs - * with CHECKSUM_UNNECESSARY. - * * **BPF_CSUM_LEVEL_RESET**: Resets skb->csum_level to 0 and - * sets CHECKSUM_NONE to force checksum validation by the stack. - * * **BPF_CSUM_LEVEL_QUERY**: No-op, returns the current - * skb->csum_level. - * - * Returns - * 0 on success, or a negative error in case of failure. In the - * case of **BPF_CSUM_LEVEL_QUERY**, the current skb->csum_level - * is returned or the error code -EACCES in case the skb is not - * subject to CHECKSUM_UNNECESSARY. - */ -static long (*bpf_csum_level)(struct __sk_buff *skb, __u64 level) = (void *) 135; - -/* - * bpf_skc_to_tcp6_sock - * - * Dynamically cast a *sk* pointer to a *tcp6_sock* pointer. - * - * Returns - * *sk* if casting is valid, or **NULL** otherwise. - */ -static struct tcp6_sock *(*bpf_skc_to_tcp6_sock)(void *sk) = (void *) 136; - -/* - * bpf_skc_to_tcp_sock - * - * Dynamically cast a *sk* pointer to a *tcp_sock* pointer. - * - * Returns - * *sk* if casting is valid, or **NULL** otherwise. - */ -static struct tcp_sock *(*bpf_skc_to_tcp_sock)(void *sk) = (void *) 137; - -/* - * bpf_skc_to_tcp_timewait_sock - * - * Dynamically cast a *sk* pointer to a *tcp_timewait_sock* pointer. - * - * Returns - * *sk* if casting is valid, or **NULL** otherwise. - */ -static struct tcp_timewait_sock *(*bpf_skc_to_tcp_timewait_sock)(void *sk) = (void *) 138; - -/* - * bpf_skc_to_tcp_request_sock - * - * Dynamically cast a *sk* pointer to a *tcp_request_sock* pointer. - * - * Returns - * *sk* if casting is valid, or **NULL** otherwise. - */ -static struct tcp_request_sock *(*bpf_skc_to_tcp_request_sock)(void *sk) = (void *) 139; - -/* - * bpf_skc_to_udp6_sock - * - * Dynamically cast a *sk* pointer to a *udp6_sock* pointer. - * - * Returns - * *sk* if casting is valid, or **NULL** otherwise. - */ -static struct udp6_sock *(*bpf_skc_to_udp6_sock)(void *sk) = (void *) 140; - -/* - * bpf_get_task_stack - * - * Return a user or a kernel stack in bpf program provided buffer. - * To achieve this, the helper needs *task*, which is a valid - * pointer to **struct task_struct**. To store the stacktrace, the - * bpf program provides *buf* with a nonnegative *size*. - * - * The last argument, *flags*, holds the number of stack frames to - * skip (from 0 to 255), masked with - * **BPF_F_SKIP_FIELD_MASK**. The next bits can be used to set - * the following flags: - * - * **BPF_F_USER_STACK** - * Collect a user space stack instead of a kernel stack. - * **BPF_F_USER_BUILD_ID** - * Collect buildid+offset instead of ips for user stack, - * only valid if **BPF_F_USER_STACK** is also specified. - * - * **bpf_get_task_stack**\ () can collect up to - * **PERF_MAX_STACK_DEPTH** both kernel and user frames, subject - * to sufficient large buffer size. Note that - * this limit can be controlled with the **sysctl** program, and - * that it should be manually increased in order to profile long - * user stacks (such as stacks for Java programs). To do so, use: - * - * :: - * - * # sysctl kernel.perf_event_max_stack= - * - * Returns - * A non-negative value equal to or less than *size* on success, - * or a negative error in case of failure. - */ -static long (*bpf_get_task_stack)(struct task_struct *task, void *buf, __u32 size, __u64 flags) = (void *) 141; - -/* - * bpf_load_hdr_opt - * - * Load header option. Support reading a particular TCP header - * option for bpf program (**BPF_PROG_TYPE_SOCK_OPS**). - * - * If *flags* is 0, it will search the option from the - * *skops*\ **->skb_data**. The comment in **struct bpf_sock_ops** - * has details on what skb_data contains under different - * *skops*\ **->op**. - * - * The first byte of the *searchby_res* specifies the - * kind that it wants to search. - * - * If the searching kind is an experimental kind - * (i.e. 253 or 254 according to RFC6994). It also - * needs to specify the "magic" which is either - * 2 bytes or 4 bytes. It then also needs to - * specify the size of the magic by using - * the 2nd byte which is "kind-length" of a TCP - * header option and the "kind-length" also - * includes the first 2 bytes "kind" and "kind-length" - * itself as a normal TCP header option also does. - * - * For example, to search experimental kind 254 with - * 2 byte magic 0xeB9F, the searchby_res should be - * [ 254, 4, 0xeB, 0x9F, 0, 0, .... 0 ]. - * - * To search for the standard window scale option (3), - * the *searchby_res* should be [ 3, 0, 0, .... 0 ]. - * Note, kind-length must be 0 for regular option. - * - * Searching for No-Op (0) and End-of-Option-List (1) are - * not supported. - * - * *len* must be at least 2 bytes which is the minimal size - * of a header option. - * - * Supported flags: - * - * * **BPF_LOAD_HDR_OPT_TCP_SYN** to search from the - * saved_syn packet or the just-received syn packet. - * - * - * Returns - * > 0 when found, the header option is copied to *searchby_res*. - * The return value is the total length copied. On failure, a - * negative error code is returned: - * - * **-EINVAL** if a parameter is invalid. - * - * **-ENOMSG** if the option is not found. - * - * **-ENOENT** if no syn packet is available when - * **BPF_LOAD_HDR_OPT_TCP_SYN** is used. - * - * **-ENOSPC** if there is not enough space. Only *len* number of - * bytes are copied. - * - * **-EFAULT** on failure to parse the header options in the - * packet. - * - * **-EPERM** if the helper cannot be used under the current - * *skops*\ **->op**. - */ -static long (*bpf_load_hdr_opt)(struct bpf_sock_ops *skops, void *searchby_res, __u32 len, __u64 flags) = (void *) 142; - -/* - * bpf_store_hdr_opt - * - * Store header option. The data will be copied - * from buffer *from* with length *len* to the TCP header. - * - * The buffer *from* should have the whole option that - * includes the kind, kind-length, and the actual - * option data. The *len* must be at least kind-length - * long. The kind-length does not have to be 4 byte - * aligned. The kernel will take care of the padding - * and setting the 4 bytes aligned value to th->doff. - * - * This helper will check for duplicated option - * by searching the same option in the outgoing skb. - * - * This helper can only be called during - * **BPF_SOCK_OPS_WRITE_HDR_OPT_CB**. - * - * - * Returns - * 0 on success, or negative error in case of failure: - * - * **-EINVAL** If param is invalid. - * - * **-ENOSPC** if there is not enough space in the header. - * Nothing has been written - * - * **-EEXIST** if the option already exists. - * - * **-EFAULT** on failrue to parse the existing header options. - * - * **-EPERM** if the helper cannot be used under the current - * *skops*\ **->op**. - */ -static long (*bpf_store_hdr_opt)(struct bpf_sock_ops *skops, const void *from, __u32 len, __u64 flags) = (void *) 143; - -/* - * bpf_reserve_hdr_opt - * - * Reserve *len* bytes for the bpf header option. The - * space will be used by **bpf_store_hdr_opt**\ () later in - * **BPF_SOCK_OPS_WRITE_HDR_OPT_CB**. - * - * If **bpf_reserve_hdr_opt**\ () is called multiple times, - * the total number of bytes will be reserved. - * - * This helper can only be called during - * **BPF_SOCK_OPS_HDR_OPT_LEN_CB**. - * - * - * Returns - * 0 on success, or negative error in case of failure: - * - * **-EINVAL** if a parameter is invalid. - * - * **-ENOSPC** if there is not enough space in the header. - * - * **-EPERM** if the helper cannot be used under the current - * *skops*\ **->op**. - */ -static long (*bpf_reserve_hdr_opt)(struct bpf_sock_ops *skops, __u32 len, __u64 flags) = (void *) 144; - -/* - * bpf_inode_storage_get - * - * Get a bpf_local_storage from an *inode*. - * - * Logically, it could be thought of as getting the value from - * a *map* with *inode* as the **key**. From this - * perspective, the usage is not much different from - * **bpf_map_lookup_elem**\ (*map*, **&**\ *inode*) except this - * helper enforces the key must be an inode and the map must also - * be a **BPF_MAP_TYPE_INODE_STORAGE**. - * - * Underneath, the value is stored locally at *inode* instead of - * the *map*. The *map* is used as the bpf-local-storage - * "type". The bpf-local-storage "type" (i.e. the *map*) is - * searched against all bpf_local_storage residing at *inode*. - * - * An optional *flags* (**BPF_LOCAL_STORAGE_GET_F_CREATE**) can be - * used such that a new bpf_local_storage will be - * created if one does not exist. *value* can be used - * together with **BPF_LOCAL_STORAGE_GET_F_CREATE** to specify - * the initial value of a bpf_local_storage. If *value* is - * **NULL**, the new bpf_local_storage will be zero initialized. - * - * Returns - * A bpf_local_storage pointer is returned on success. - * - * **NULL** if not found or there was an error in adding - * a new bpf_local_storage. - */ -static void *(*bpf_inode_storage_get)(void *map, void *inode, void *value, __u64 flags) = (void *) 145; - -/* - * bpf_inode_storage_delete - * - * Delete a bpf_local_storage from an *inode*. - * - * Returns - * 0 on success. - * - * **-ENOENT** if the bpf_local_storage cannot be found. - */ -static int (*bpf_inode_storage_delete)(void *map, void *inode) = (void *) 146; - -/* - * bpf_d_path - * - * Return full path for given **struct path** object, which - * needs to be the kernel BTF *path* object. The path is - * returned in the provided buffer *buf* of size *sz* and - * is zero terminated. - * - * - * Returns - * On success, the strictly positive length of the string, - * including the trailing NUL character. On error, a negative - * value. - */ -static long (*bpf_d_path)(struct path *path, char *buf, __u32 sz) = (void *) 147; - -/* - * bpf_copy_from_user - * - * Read *size* bytes from user space address *user_ptr* and store - * the data in *dst*. This is a wrapper of **copy_from_user**\ (). - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_copy_from_user)(void *dst, __u32 size, const void *user_ptr) = (void *) 148; - -/* - * bpf_snprintf_btf - * - * Use BTF to store a string representation of *ptr*->ptr in *str*, - * using *ptr*->type_id. This value should specify the type - * that *ptr*->ptr points to. LLVM __builtin_btf_type_id(type, 1) - * can be used to look up vmlinux BTF type ids. Traversing the - * data structure using BTF, the type information and values are - * stored in the first *str_size* - 1 bytes of *str*. Safe copy of - * the pointer data is carried out to avoid kernel crashes during - * operation. Smaller types can use string space on the stack; - * larger programs can use map data to store the string - * representation. - * - * The string can be subsequently shared with userspace via - * bpf_perf_event_output() or ring buffer interfaces. - * bpf_trace_printk() is to be avoided as it places too small - * a limit on string size to be useful. - * - * *flags* is a combination of - * - * **BTF_F_COMPACT** - * no formatting around type information - * **BTF_F_NONAME** - * no struct/union member names/types - * **BTF_F_PTR_RAW** - * show raw (unobfuscated) pointer values; - * equivalent to printk specifier %px. - * **BTF_F_ZERO** - * show zero-valued struct/union members; they - * are not displayed by default - * - * - * Returns - * The number of bytes that were written (or would have been - * written if output had to be truncated due to string size), - * or a negative error in cases of failure. - */ -static long (*bpf_snprintf_btf)(char *str, __u32 str_size, struct btf_ptr *ptr, __u32 btf_ptr_size, __u64 flags) = (void *) 149; - -/* - * bpf_seq_printf_btf - * - * Use BTF to write to seq_write a string representation of - * *ptr*->ptr, using *ptr*->type_id as per bpf_snprintf_btf(). - * *flags* are identical to those used for bpf_snprintf_btf. - * - * Returns - * 0 on success or a negative error in case of failure. - */ -static long (*bpf_seq_printf_btf)(struct seq_file *m, struct btf_ptr *ptr, __u32 ptr_size, __u64 flags) = (void *) 150; - -/* - * bpf_skb_cgroup_classid - * - * See **bpf_get_cgroup_classid**\ () for the main description. - * This helper differs from **bpf_get_cgroup_classid**\ () in that - * the cgroup v1 net_cls class is retrieved only from the *skb*'s - * associated socket instead of the current process. - * - * Returns - * The id is returned or 0 in case the id could not be retrieved. - */ -static __u64 (*bpf_skb_cgroup_classid)(struct __sk_buff *skb) = (void *) 151; - -/* - * bpf_redirect_neigh - * - * Redirect the packet to another net device of index *ifindex* - * and fill in L2 addresses from neighboring subsystem. This helper - * is somewhat similar to **bpf_redirect**\ (), except that it - * populates L2 addresses as well, meaning, internally, the helper - * relies on the neighbor lookup for the L2 address of the nexthop. - * - * The helper will perform a FIB lookup based on the skb's - * networking header to get the address of the next hop, unless - * this is supplied by the caller in the *params* argument. The - * *plen* argument indicates the len of *params* and should be set - * to 0 if *params* is NULL. - * - * The *flags* argument is reserved and must be 0. The helper is - * currently only supported for tc BPF program types, and enabled - * for IPv4 and IPv6 protocols. - * - * Returns - * The helper returns **TC_ACT_REDIRECT** on success or - * **TC_ACT_SHOT** on error. - */ -static long (*bpf_redirect_neigh)(__u32 ifindex, struct bpf_redir_neigh *params, int plen, __u64 flags) = (void *) 152; - -/* - * bpf_per_cpu_ptr - * - * Take a pointer to a percpu ksym, *percpu_ptr*, and return a - * pointer to the percpu kernel variable on *cpu*. A ksym is an - * extern variable decorated with '__ksym'. For ksym, there is a - * global var (either static or global) defined of the same name - * in the kernel. The ksym is percpu if the global var is percpu. - * The returned pointer points to the global percpu var on *cpu*. - * - * bpf_per_cpu_ptr() has the same semantic as per_cpu_ptr() in the - * kernel, except that bpf_per_cpu_ptr() may return NULL. This - * happens if *cpu* is larger than nr_cpu_ids. The caller of - * bpf_per_cpu_ptr() must check the returned value. - * - * Returns - * A pointer pointing to the kernel percpu variable on *cpu*, or - * NULL, if *cpu* is invalid. - */ -static void *(*bpf_per_cpu_ptr)(const void *percpu_ptr, __u32 cpu) = (void *) 153; - -/* - * bpf_this_cpu_ptr - * - * Take a pointer to a percpu ksym, *percpu_ptr*, and return a - * pointer to the percpu kernel variable on this cpu. See the - * description of 'ksym' in **bpf_per_cpu_ptr**\ (). - * - * bpf_this_cpu_ptr() has the same semantic as this_cpu_ptr() in - * the kernel. Different from **bpf_per_cpu_ptr**\ (), it would - * never return NULL. - * - * Returns - * A pointer pointing to the kernel percpu variable on this cpu. - */ -static void *(*bpf_this_cpu_ptr)(const void *percpu_ptr) = (void *) 154; - -/* - * bpf_redirect_peer - * - * Redirect the packet to another net device of index *ifindex*. - * This helper is somewhat similar to **bpf_redirect**\ (), except - * that the redirection happens to the *ifindex*' peer device and - * the netns switch takes place from ingress to ingress without - * going through the CPU's backlog queue. - * - * The *flags* argument is reserved and must be 0. The helper is - * currently only supported for tc BPF program types at the ingress - * hook and for veth device types. The peer device must reside in a - * different network namespace. - * - * Returns - * The helper returns **TC_ACT_REDIRECT** on success or - * **TC_ACT_SHOT** on error. - */ -static long (*bpf_redirect_peer)(__u32 ifindex, __u64 flags) = (void *) 155; - -/* - * bpf_task_storage_get - * - * Get a bpf_local_storage from the *task*. - * - * Logically, it could be thought of as getting the value from - * a *map* with *task* as the **key**. From this - * perspective, the usage is not much different from - * **bpf_map_lookup_elem**\ (*map*, **&**\ *task*) except this - * helper enforces the key must be an task_struct and the map must also - * be a **BPF_MAP_TYPE_TASK_STORAGE**. - * - * Underneath, the value is stored locally at *task* instead of - * the *map*. The *map* is used as the bpf-local-storage - * "type". The bpf-local-storage "type" (i.e. the *map*) is - * searched against all bpf_local_storage residing at *task*. - * - * An optional *flags* (**BPF_LOCAL_STORAGE_GET_F_CREATE**) can be - * used such that a new bpf_local_storage will be - * created if one does not exist. *value* can be used - * together with **BPF_LOCAL_STORAGE_GET_F_CREATE** to specify - * the initial value of a bpf_local_storage. If *value* is - * **NULL**, the new bpf_local_storage will be zero initialized. - * - * Returns - * A bpf_local_storage pointer is returned on success. - * - * **NULL** if not found or there was an error in adding - * a new bpf_local_storage. - */ -static void *(*bpf_task_storage_get)(void *map, struct task_struct *task, void *value, __u64 flags) = (void *) 156; - -/* - * bpf_task_storage_delete - * - * Delete a bpf_local_storage from a *task*. - * - * Returns - * 0 on success. - * - * **-ENOENT** if the bpf_local_storage cannot be found. - */ -static long (*bpf_task_storage_delete)(void *map, struct task_struct *task) = (void *) 157; - -/* - * bpf_get_current_task_btf - * - * Return a BTF pointer to the "current" task. - * This pointer can also be used in helpers that accept an - * *ARG_PTR_TO_BTF_ID* of type *task_struct*. - * - * Returns - * Pointer to the current task. - */ -static struct task_struct *(*bpf_get_current_task_btf)(void) = (void *) 158; - -/* - * bpf_bprm_opts_set - * - * Set or clear certain options on *bprm*: - * - * **BPF_F_BPRM_SECUREEXEC** Set the secureexec bit - * which sets the **AT_SECURE** auxv for glibc. The bit - * is cleared if the flag is not specified. - * - * Returns - * **-EINVAL** if invalid *flags* are passed, zero otherwise. - */ -static long (*bpf_bprm_opts_set)(struct linux_binprm *bprm, __u64 flags) = (void *) 159; - -/* - * bpf_ktime_get_coarse_ns - * - * Return a coarse-grained version of the time elapsed since - * system boot, in nanoseconds. Does not include time the system - * was suspended. - * - * See: **clock_gettime**\ (**CLOCK_MONOTONIC_COARSE**) - * - * Returns - * Current *ktime*. - */ -static __u64 (*bpf_ktime_get_coarse_ns)(void) = (void *) 160; - -/* - * bpf_ima_inode_hash - * - * Returns the stored IMA hash of the *inode* (if it's avaialable). - * If the hash is larger than *size*, then only *size* - * bytes will be copied to *dst* - * - * Returns - * The **hash_algo** is returned on success, - * **-EOPNOTSUP** if IMA is disabled or **-EINVAL** if - * invalid arguments are passed. - */ -static long (*bpf_ima_inode_hash)(struct inode *inode, void *dst, __u32 size) = (void *) 161; - -/* - * bpf_sock_from_file - * - * If the given file represents a socket, returns the associated - * socket. - * - * Returns - * A pointer to a struct socket on success or NULL if the file is - * not a socket. - */ -static struct socket *(*bpf_sock_from_file)(struct file *file) = (void *) 162; - - diff --git a/compile/remote-compile/lbc/include/bpf/bpf_helpers.h b/compile/remote-compile/lbc/include/bpf/bpf_helpers.h deleted file mode 100644 index ae6c975..0000000 --- a/compile/remote-compile/lbc/include/bpf/bpf_helpers.h +++ /dev/null @@ -1,131 +0,0 @@ -/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */ -#ifndef __BPF_HELPERS__ -#define __BPF_HELPERS__ - -/* - * Note that bpf programs need to include either - * vmlinux.h (auto-generated from BTF) or linux/types.h - * in advance since bpf_helper_defs.h uses such types - * as __u64. - */ -#include "bpf_helper_defs.h" - -#define __uint(name, val) int (*name)[val] -#define __type(name, val) typeof(val) *name -#define __array(name, val) typeof(val) *name[] - -/* Helper macro to print out debug messages */ -#define bpf_printk(fmt, ...) \ -({ \ - char ____fmt[] = fmt; \ - bpf_trace_printk(____fmt, sizeof(____fmt), \ - ##__VA_ARGS__); \ -}) - -/* - * Helper macro to place programs, maps, license in - * different sections in elf_bpf file. Section names - * are interpreted by elf_bpf loader - */ -#define SEC(NAME) __attribute__((section(NAME), used)) - -#ifndef __always_inline -#define __always_inline inline __attribute__((always_inline)) -#endif -#ifndef __noinline -#define __noinline __attribute__((noinline)) -#endif -#ifndef __weak -#define __weak __attribute__((weak)) -#endif - -/* - * Helper macro to manipulate data structures - */ -#ifndef offsetof -#define offsetof(TYPE, MEMBER) ((unsigned long)&((TYPE *)0)->MEMBER) -#endif -#ifndef container_of -#define container_of(ptr, type, member) \ - ({ \ - void *__mptr = (void *)(ptr); \ - ((type *)(__mptr - offsetof(type, member))); \ - }) -#endif - -/* - * Helper macro to throw a compilation error if __bpf_unreachable() gets - * built into the resulting code. This works given BPF back end does not - * implement __builtin_trap(). This is useful to assert that certain paths - * of the program code are never used and hence eliminated by the compiler. - * - * For example, consider a switch statement that covers known cases used by - * the program. __bpf_unreachable() can then reside in the default case. If - * the program gets extended such that a case is not covered in the switch - * statement, then it will throw a build error due to the default case not - * being compiled out. - */ -#ifndef __bpf_unreachable -# define __bpf_unreachable() __builtin_trap() -#endif - -/* - * Helper function to perform a tail call with a constant/immediate map slot. - */ -#if __clang_major__ >= 8 && defined(__bpf__) -static __always_inline void -bpf_tail_call_static(void *ctx, const void *map, const __u32 slot) -{ - if (!__builtin_constant_p(slot)) - __bpf_unreachable(); - - /* - * Provide a hard guarantee that LLVM won't optimize setting r2 (map - * pointer) and r3 (constant map index) from _different paths_ ending - * up at the _same_ call insn as otherwise we won't be able to use the - * jmpq/nopl retpoline-free patching by the x86-64 JIT in the kernel - * given they mismatch. See also d2e4c1e6c294 ("bpf: Constant map key - * tracking for prog array pokes") for details on verifier tracking. - * - * Note on clobber list: we need to stay in-line with BPF calling - * convention, so even if we don't end up using r0, r4, r5, we need - * to mark them as clobber so that LLVM doesn't end up using them - * before / after the call. - */ - asm volatile("r1 = %[ctx]\n\t" - "r2 = %[map]\n\t" - "r3 = %[slot]\n\t" - "call 12" - :: [ctx]"r"(ctx), [map]"r"(map), [slot]"i"(slot) - : "r0", "r1", "r2", "r3", "r4", "r5"); -} -#endif - -/* - * Helper structure used by eBPF C program - * to describe BPF map attributes to libbpf loader - */ -struct bpf_map_def { - unsigned int type; - unsigned int key_size; - unsigned int value_size; - unsigned int max_entries; - unsigned int map_flags; -}; - -enum libbpf_pin_type { - LIBBPF_PIN_NONE, - /* PIN_BY_NAME: pin maps by name (in /sys/fs/bpf by default) */ - LIBBPF_PIN_BY_NAME, -}; - -enum libbpf_tristate { - TRI_NO = 0, - TRI_YES = 1, - TRI_MODULE = 2, -}; - -#define __kconfig __attribute__((section(".kconfig"))) -#define __ksym __attribute__((section(".ksyms"))) - -#endif diff --git a/compile/remote-compile/lbc/include/bpf/bpf_tracing.h b/compile/remote-compile/lbc/include/bpf/bpf_tracing.h deleted file mode 100644 index f9ef377..0000000 --- a/compile/remote-compile/lbc/include/bpf/bpf_tracing.h +++ /dev/null @@ -1,432 +0,0 @@ -/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */ -#ifndef __BPF_TRACING_H__ -#define __BPF_TRACING_H__ - -/* Scan the ARCH passed in from ARCH env variable (see Makefile) */ -#if defined(__TARGET_ARCH_x86) - #define bpf_target_x86 - #define bpf_target_defined -#elif defined(__TARGET_ARCH_s390) - #define bpf_target_s390 - #define bpf_target_defined -#elif defined(__TARGET_ARCH_arm) - #define bpf_target_arm - #define bpf_target_defined -#elif defined(__TARGET_ARCH_arm64) - #define bpf_target_arm64 - #define bpf_target_defined -#elif defined(__TARGET_ARCH_mips) - #define bpf_target_mips - #define bpf_target_defined -#elif defined(__TARGET_ARCH_powerpc) - #define bpf_target_powerpc - #define bpf_target_defined -#elif defined(__TARGET_ARCH_sparc) - #define bpf_target_sparc - #define bpf_target_defined -#else - #undef bpf_target_defined -#endif - -/* Fall back to what the compiler says */ -#ifndef bpf_target_defined -#if defined(__x86_64__) - #define bpf_target_x86 -#elif defined(__s390__) - #define bpf_target_s390 -#elif defined(__arm__) - #define bpf_target_arm -#elif defined(__aarch64__) - #define bpf_target_arm64 -#elif defined(__mips__) - #define bpf_target_mips -#elif defined(__powerpc__) - #define bpf_target_powerpc -#elif defined(__sparc__) - #define bpf_target_sparc -#endif -#endif - -#if defined(bpf_target_x86) - -#if defined(__KERNEL__) || defined(__VMLINUX_H__) - -#define PT_REGS_PARM1(x) ((x)->di) -#define PT_REGS_PARM2(x) ((x)->si) -#define PT_REGS_PARM3(x) ((x)->dx) -#define PT_REGS_PARM4(x) ((x)->cx) -#define PT_REGS_PARM5(x) ((x)->r8) -#define PT_REGS_RET(x) ((x)->sp) -#define PT_REGS_FP(x) ((x)->bp) -#define PT_REGS_RC(x) ((x)->ax) -#define PT_REGS_SP(x) ((x)->sp) -#define PT_REGS_IP(x) ((x)->ip) - -#define PT_REGS_PARM1_CORE(x) BPF_CORE_READ((x), di) -#define PT_REGS_PARM2_CORE(x) BPF_CORE_READ((x), si) -#define PT_REGS_PARM3_CORE(x) BPF_CORE_READ((x), dx) -#define PT_REGS_PARM4_CORE(x) BPF_CORE_READ((x), cx) -#define PT_REGS_PARM5_CORE(x) BPF_CORE_READ((x), r8) -#define PT_REGS_RET_CORE(x) BPF_CORE_READ((x), sp) -#define PT_REGS_FP_CORE(x) BPF_CORE_READ((x), bp) -#define PT_REGS_RC_CORE(x) BPF_CORE_READ((x), ax) -#define PT_REGS_SP_CORE(x) BPF_CORE_READ((x), sp) -#define PT_REGS_IP_CORE(x) BPF_CORE_READ((x), ip) - -#else - -#ifdef __i386__ -/* i386 kernel is built with -mregparm=3 */ -#define PT_REGS_PARM1(x) ((x)->eax) -#define PT_REGS_PARM2(x) ((x)->edx) -#define PT_REGS_PARM3(x) ((x)->ecx) -#define PT_REGS_PARM4(x) 0 -#define PT_REGS_PARM5(x) 0 -#define PT_REGS_RET(x) ((x)->esp) -#define PT_REGS_FP(x) ((x)->ebp) -#define PT_REGS_RC(x) ((x)->eax) -#define PT_REGS_SP(x) ((x)->esp) -#define PT_REGS_IP(x) ((x)->eip) - -#define PT_REGS_PARM1_CORE(x) BPF_CORE_READ((x), eax) -#define PT_REGS_PARM2_CORE(x) BPF_CORE_READ((x), edx) -#define PT_REGS_PARM3_CORE(x) BPF_CORE_READ((x), ecx) -#define PT_REGS_PARM4_CORE(x) 0 -#define PT_REGS_PARM5_CORE(x) 0 -#define PT_REGS_RET_CORE(x) BPF_CORE_READ((x), esp) -#define PT_REGS_FP_CORE(x) BPF_CORE_READ((x), ebp) -#define PT_REGS_RC_CORE(x) BPF_CORE_READ((x), eax) -#define PT_REGS_SP_CORE(x) BPF_CORE_READ((x), esp) -#define PT_REGS_IP_CORE(x) BPF_CORE_READ((x), eip) - -#else - -#define PT_REGS_PARM1(x) ((x)->rdi) -#define PT_REGS_PARM2(x) ((x)->rsi) -#define PT_REGS_PARM3(x) ((x)->rdx) -#define PT_REGS_PARM4(x) ((x)->rcx) -#define PT_REGS_PARM5(x) ((x)->r8) -#define PT_REGS_RET(x) ((x)->rsp) -#define PT_REGS_FP(x) ((x)->rbp) -#define PT_REGS_RC(x) ((x)->rax) -#define PT_REGS_SP(x) ((x)->rsp) -#define PT_REGS_IP(x) ((x)->rip) - -#define PT_REGS_PARM1_CORE(x) BPF_CORE_READ((x), rdi) -#define PT_REGS_PARM2_CORE(x) BPF_CORE_READ((x), rsi) -#define PT_REGS_PARM3_CORE(x) BPF_CORE_READ((x), rdx) -#define PT_REGS_PARM4_CORE(x) BPF_CORE_READ((x), rcx) -#define PT_REGS_PARM5_CORE(x) BPF_CORE_READ((x), r8) -#define PT_REGS_RET_CORE(x) BPF_CORE_READ((x), rsp) -#define PT_REGS_FP_CORE(x) BPF_CORE_READ((x), rbp) -#define PT_REGS_RC_CORE(x) BPF_CORE_READ((x), rax) -#define PT_REGS_SP_CORE(x) BPF_CORE_READ((x), rsp) -#define PT_REGS_IP_CORE(x) BPF_CORE_READ((x), rip) - -#endif -#endif - -#elif defined(bpf_target_s390) - -/* s390 provides user_pt_regs instead of struct pt_regs to userspace */ -struct pt_regs; -#define PT_REGS_S390 const volatile user_pt_regs -#define PT_REGS_PARM1(x) (((PT_REGS_S390 *)(x))->gprs[2]) -#define PT_REGS_PARM2(x) (((PT_REGS_S390 *)(x))->gprs[3]) -#define PT_REGS_PARM3(x) (((PT_REGS_S390 *)(x))->gprs[4]) -#define PT_REGS_PARM4(x) (((PT_REGS_S390 *)(x))->gprs[5]) -#define PT_REGS_PARM5(x) (((PT_REGS_S390 *)(x))->gprs[6]) -#define PT_REGS_RET(x) (((PT_REGS_S390 *)(x))->gprs[14]) -/* Works only with CONFIG_FRAME_POINTER */ -#define PT_REGS_FP(x) (((PT_REGS_S390 *)(x))->gprs[11]) -#define PT_REGS_RC(x) (((PT_REGS_S390 *)(x))->gprs[2]) -#define PT_REGS_SP(x) (((PT_REGS_S390 *)(x))->gprs[15]) -#define PT_REGS_IP(x) (((PT_REGS_S390 *)(x))->psw.addr) - -#define PT_REGS_PARM1_CORE(x) BPF_CORE_READ((PT_REGS_S390 *)(x), gprs[2]) -#define PT_REGS_PARM2_CORE(x) BPF_CORE_READ((PT_REGS_S390 *)(x), gprs[3]) -#define PT_REGS_PARM3_CORE(x) BPF_CORE_READ((PT_REGS_S390 *)(x), gprs[4]) -#define PT_REGS_PARM4_CORE(x) BPF_CORE_READ((PT_REGS_S390 *)(x), gprs[5]) -#define PT_REGS_PARM5_CORE(x) BPF_CORE_READ((PT_REGS_S390 *)(x), gprs[6]) -#define PT_REGS_RET_CORE(x) BPF_CORE_READ((PT_REGS_S390 *)(x), gprs[14]) -#define PT_REGS_FP_CORE(x) BPF_CORE_READ((PT_REGS_S390 *)(x), gprs[11]) -#define PT_REGS_RC_CORE(x) BPF_CORE_READ((PT_REGS_S390 *)(x), gprs[2]) -#define PT_REGS_SP_CORE(x) BPF_CORE_READ((PT_REGS_S390 *)(x), gprs[15]) -#define PT_REGS_IP_CORE(x) BPF_CORE_READ((PT_REGS_S390 *)(x), psw.addr) - -#elif defined(bpf_target_arm) - -#define PT_REGS_PARM1(x) ((x)->uregs[0]) -#define PT_REGS_PARM2(x) ((x)->uregs[1]) -#define PT_REGS_PARM3(x) ((x)->uregs[2]) -#define PT_REGS_PARM4(x) ((x)->uregs[3]) -#define PT_REGS_PARM5(x) ((x)->uregs[4]) -#define PT_REGS_RET(x) ((x)->uregs[14]) -#define PT_REGS_FP(x) ((x)->uregs[11]) /* Works only with CONFIG_FRAME_POINTER */ -#define PT_REGS_RC(x) ((x)->uregs[0]) -#define PT_REGS_SP(x) ((x)->uregs[13]) -#define PT_REGS_IP(x) ((x)->uregs[12]) - -#define PT_REGS_PARM1_CORE(x) BPF_CORE_READ((x), uregs[0]) -#define PT_REGS_PARM2_CORE(x) BPF_CORE_READ((x), uregs[1]) -#define PT_REGS_PARM3_CORE(x) BPF_CORE_READ((x), uregs[2]) -#define PT_REGS_PARM4_CORE(x) BPF_CORE_READ((x), uregs[3]) -#define PT_REGS_PARM5_CORE(x) BPF_CORE_READ((x), uregs[4]) -#define PT_REGS_RET_CORE(x) BPF_CORE_READ((x), uregs[14]) -#define PT_REGS_FP_CORE(x) BPF_CORE_READ((x), uregs[11]) -#define PT_REGS_RC_CORE(x) BPF_CORE_READ((x), uregs[0]) -#define PT_REGS_SP_CORE(x) BPF_CORE_READ((x), uregs[13]) -#define PT_REGS_IP_CORE(x) BPF_CORE_READ((x), uregs[12]) - -#elif defined(bpf_target_arm64) - -/* arm64 provides struct user_pt_regs instead of struct pt_regs to userspace */ -struct pt_regs; -#define PT_REGS_ARM64 const volatile struct user_pt_regs -#define PT_REGS_PARM1(x) (((PT_REGS_ARM64 *)(x))->regs[0]) -#define PT_REGS_PARM2(x) (((PT_REGS_ARM64 *)(x))->regs[1]) -#define PT_REGS_PARM3(x) (((PT_REGS_ARM64 *)(x))->regs[2]) -#define PT_REGS_PARM4(x) (((PT_REGS_ARM64 *)(x))->regs[3]) -#define PT_REGS_PARM5(x) (((PT_REGS_ARM64 *)(x))->regs[4]) -#define PT_REGS_RET(x) (((PT_REGS_ARM64 *)(x))->regs[30]) -/* Works only with CONFIG_FRAME_POINTER */ -#define PT_REGS_FP(x) (((PT_REGS_ARM64 *)(x))->regs[29]) -#define PT_REGS_RC(x) (((PT_REGS_ARM64 *)(x))->regs[0]) -#define PT_REGS_SP(x) (((PT_REGS_ARM64 *)(x))->sp) -#define PT_REGS_IP(x) (((PT_REGS_ARM64 *)(x))->pc) - -#define PT_REGS_PARM1_CORE(x) BPF_CORE_READ((PT_REGS_ARM64 *)(x), regs[0]) -#define PT_REGS_PARM2_CORE(x) BPF_CORE_READ((PT_REGS_ARM64 *)(x), regs[1]) -#define PT_REGS_PARM3_CORE(x) BPF_CORE_READ((PT_REGS_ARM64 *)(x), regs[2]) -#define PT_REGS_PARM4_CORE(x) BPF_CORE_READ((PT_REGS_ARM64 *)(x), regs[3]) -#define PT_REGS_PARM5_CORE(x) BPF_CORE_READ((PT_REGS_ARM64 *)(x), regs[4]) -#define PT_REGS_RET_CORE(x) BPF_CORE_READ((PT_REGS_ARM64 *)(x), regs[30]) -#define PT_REGS_FP_CORE(x) BPF_CORE_READ((PT_REGS_ARM64 *)(x), regs[29]) -#define PT_REGS_RC_CORE(x) BPF_CORE_READ((PT_REGS_ARM64 *)(x), regs[0]) -#define PT_REGS_SP_CORE(x) BPF_CORE_READ((PT_REGS_ARM64 *)(x), sp) -#define PT_REGS_IP_CORE(x) BPF_CORE_READ((PT_REGS_ARM64 *)(x), pc) - -#elif defined(bpf_target_mips) - -#define PT_REGS_PARM1(x) ((x)->regs[4]) -#define PT_REGS_PARM2(x) ((x)->regs[5]) -#define PT_REGS_PARM3(x) ((x)->regs[6]) -#define PT_REGS_PARM4(x) ((x)->regs[7]) -#define PT_REGS_PARM5(x) ((x)->regs[8]) -#define PT_REGS_RET(x) ((x)->regs[31]) -#define PT_REGS_FP(x) ((x)->regs[30]) /* Works only with CONFIG_FRAME_POINTER */ -#define PT_REGS_RC(x) ((x)->regs[2]) -#define PT_REGS_SP(x) ((x)->regs[29]) -#define PT_REGS_IP(x) ((x)->cp0_epc) - -#define PT_REGS_PARM1_CORE(x) BPF_CORE_READ((x), regs[4]) -#define PT_REGS_PARM2_CORE(x) BPF_CORE_READ((x), regs[5]) -#define PT_REGS_PARM3_CORE(x) BPF_CORE_READ((x), regs[6]) -#define PT_REGS_PARM4_CORE(x) BPF_CORE_READ((x), regs[7]) -#define PT_REGS_PARM5_CORE(x) BPF_CORE_READ((x), regs[8]) -#define PT_REGS_RET_CORE(x) BPF_CORE_READ((x), regs[31]) -#define PT_REGS_FP_CORE(x) BPF_CORE_READ((x), regs[30]) -#define PT_REGS_RC_CORE(x) BPF_CORE_READ((x), regs[2]) -#define PT_REGS_SP_CORE(x) BPF_CORE_READ((x), regs[29]) -#define PT_REGS_IP_CORE(x) BPF_CORE_READ((x), cp0_epc) - -#elif defined(bpf_target_powerpc) - -#define PT_REGS_PARM1(x) ((x)->gpr[3]) -#define PT_REGS_PARM2(x) ((x)->gpr[4]) -#define PT_REGS_PARM3(x) ((x)->gpr[5]) -#define PT_REGS_PARM4(x) ((x)->gpr[6]) -#define PT_REGS_PARM5(x) ((x)->gpr[7]) -#define PT_REGS_RC(x) ((x)->gpr[3]) -#define PT_REGS_SP(x) ((x)->sp) -#define PT_REGS_IP(x) ((x)->nip) - -#define PT_REGS_PARM1_CORE(x) BPF_CORE_READ((x), gpr[3]) -#define PT_REGS_PARM2_CORE(x) BPF_CORE_READ((x), gpr[4]) -#define PT_REGS_PARM3_CORE(x) BPF_CORE_READ((x), gpr[5]) -#define PT_REGS_PARM4_CORE(x) BPF_CORE_READ((x), gpr[6]) -#define PT_REGS_PARM5_CORE(x) BPF_CORE_READ((x), gpr[7]) -#define PT_REGS_RC_CORE(x) BPF_CORE_READ((x), gpr[3]) -#define PT_REGS_SP_CORE(x) BPF_CORE_READ((x), sp) -#define PT_REGS_IP_CORE(x) BPF_CORE_READ((x), nip) - -#elif defined(bpf_target_sparc) - -#define PT_REGS_PARM1(x) ((x)->u_regs[UREG_I0]) -#define PT_REGS_PARM2(x) ((x)->u_regs[UREG_I1]) -#define PT_REGS_PARM3(x) ((x)->u_regs[UREG_I2]) -#define PT_REGS_PARM4(x) ((x)->u_regs[UREG_I3]) -#define PT_REGS_PARM5(x) ((x)->u_regs[UREG_I4]) -#define PT_REGS_RET(x) ((x)->u_regs[UREG_I7]) -#define PT_REGS_RC(x) ((x)->u_regs[UREG_I0]) -#define PT_REGS_SP(x) ((x)->u_regs[UREG_FP]) - -#define PT_REGS_PARM1_CORE(x) BPF_CORE_READ((x), u_regs[UREG_I0]) -#define PT_REGS_PARM2_CORE(x) BPF_CORE_READ((x), u_regs[UREG_I1]) -#define PT_REGS_PARM3_CORE(x) BPF_CORE_READ((x), u_regs[UREG_I2]) -#define PT_REGS_PARM4_CORE(x) BPF_CORE_READ((x), u_regs[UREG_I3]) -#define PT_REGS_PARM5_CORE(x) BPF_CORE_READ((x), u_regs[UREG_I4]) -#define PT_REGS_RET_CORE(x) BPF_CORE_READ((x), u_regs[UREG_I7]) -#define PT_REGS_RC_CORE(x) BPF_CORE_READ((x), u_regs[UREG_I0]) -#define PT_REGS_SP_CORE(x) BPF_CORE_READ((x), u_regs[UREG_FP]) - -/* Should this also be a bpf_target check for the sparc case? */ -#if defined(__arch64__) -#define PT_REGS_IP(x) ((x)->tpc) -#define PT_REGS_IP_CORE(x) BPF_CORE_READ((x), tpc) -#else -#define PT_REGS_IP(x) ((x)->pc) -#define PT_REGS_IP_CORE(x) BPF_CORE_READ((x), pc) -#endif - -#endif - -#if defined(bpf_target_powerpc) -#define BPF_KPROBE_READ_RET_IP(ip, ctx) ({ (ip) = (ctx)->link; }) -#define BPF_KRETPROBE_READ_RET_IP BPF_KPROBE_READ_RET_IP -#elif defined(bpf_target_sparc) -#define BPF_KPROBE_READ_RET_IP(ip, ctx) ({ (ip) = PT_REGS_RET(ctx); }) -#define BPF_KRETPROBE_READ_RET_IP BPF_KPROBE_READ_RET_IP -#else -#define BPF_KPROBE_READ_RET_IP(ip, ctx) \ - ({ bpf_probe_read_kernel(&(ip), sizeof(ip), (void *)PT_REGS_RET(ctx)); }) -#define BPF_KRETPROBE_READ_RET_IP(ip, ctx) \ - ({ bpf_probe_read_kernel(&(ip), sizeof(ip), \ - (void *)(PT_REGS_FP(ctx) + sizeof(ip))); }) -#endif - -#define ___bpf_concat(a, b) a ## b -#define ___bpf_apply(fn, n) ___bpf_concat(fn, n) -#define ___bpf_nth(_, _1, _2, _3, _4, _5, _6, _7, _8, _9, _a, _b, _c, N, ...) N -#define ___bpf_narg(...) \ - ___bpf_nth(_, ##__VA_ARGS__, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0) -#define ___bpf_empty(...) \ - ___bpf_nth(_, ##__VA_ARGS__, N, N, N, N, N, N, N, N, N, N, 0) - -#define ___bpf_ctx_cast0() ctx -#define ___bpf_ctx_cast1(x) ___bpf_ctx_cast0(), (void *)ctx[0] -#define ___bpf_ctx_cast2(x, args...) ___bpf_ctx_cast1(args), (void *)ctx[1] -#define ___bpf_ctx_cast3(x, args...) ___bpf_ctx_cast2(args), (void *)ctx[2] -#define ___bpf_ctx_cast4(x, args...) ___bpf_ctx_cast3(args), (void *)ctx[3] -#define ___bpf_ctx_cast5(x, args...) ___bpf_ctx_cast4(args), (void *)ctx[4] -#define ___bpf_ctx_cast6(x, args...) ___bpf_ctx_cast5(args), (void *)ctx[5] -#define ___bpf_ctx_cast7(x, args...) ___bpf_ctx_cast6(args), (void *)ctx[6] -#define ___bpf_ctx_cast8(x, args...) ___bpf_ctx_cast7(args), (void *)ctx[7] -#define ___bpf_ctx_cast9(x, args...) ___bpf_ctx_cast8(args), (void *)ctx[8] -#define ___bpf_ctx_cast10(x, args...) ___bpf_ctx_cast9(args), (void *)ctx[9] -#define ___bpf_ctx_cast11(x, args...) ___bpf_ctx_cast10(args), (void *)ctx[10] -#define ___bpf_ctx_cast12(x, args...) ___bpf_ctx_cast11(args), (void *)ctx[11] -#define ___bpf_ctx_cast(args...) \ - ___bpf_apply(___bpf_ctx_cast, ___bpf_narg(args))(args) - -/* - * BPF_PROG is a convenience wrapper for generic tp_btf/fentry/fexit and - * similar kinds of BPF programs, that accept input arguments as a single - * pointer to untyped u64 array, where each u64 can actually be a typed - * pointer or integer of different size. Instead of requring user to write - * manual casts and work with array elements by index, BPF_PROG macro - * allows user to declare a list of named and typed input arguments in the - * same syntax as for normal C function. All the casting is hidden and - * performed transparently, while user code can just assume working with - * function arguments of specified type and name. - * - * Original raw context argument is preserved as well as 'ctx' argument. - * This is useful when using BPF helpers that expect original context - * as one of the parameters (e.g., for bpf_perf_event_output()). - */ -#define BPF_PROG(name, args...) \ -name(unsigned long long *ctx); \ -static __attribute__((always_inline)) typeof(name(0)) \ -____##name(unsigned long long *ctx, ##args); \ -typeof(name(0)) name(unsigned long long *ctx) \ -{ \ - _Pragma("GCC diagnostic push") \ - _Pragma("GCC diagnostic ignored \"-Wint-conversion\"") \ - return ____##name(___bpf_ctx_cast(args)); \ - _Pragma("GCC diagnostic pop") \ -} \ -static __attribute__((always_inline)) typeof(name(0)) \ -____##name(unsigned long long *ctx, ##args) - -struct pt_regs; - -#define ___bpf_kprobe_args0() ctx -#define ___bpf_kprobe_args1(x) \ - ___bpf_kprobe_args0(), (void *)PT_REGS_PARM1(ctx) -#define ___bpf_kprobe_args2(x, args...) \ - ___bpf_kprobe_args1(args), (void *)PT_REGS_PARM2(ctx) -#define ___bpf_kprobe_args3(x, args...) \ - ___bpf_kprobe_args2(args), (void *)PT_REGS_PARM3(ctx) -#define ___bpf_kprobe_args4(x, args...) \ - ___bpf_kprobe_args3(args), (void *)PT_REGS_PARM4(ctx) -#define ___bpf_kprobe_args5(x, args...) \ - ___bpf_kprobe_args4(args), (void *)PT_REGS_PARM5(ctx) -#define ___bpf_kprobe_args(args...) \ - ___bpf_apply(___bpf_kprobe_args, ___bpf_narg(args))(args) - -/* - * BPF_KPROBE serves the same purpose for kprobes as BPF_PROG for - * tp_btf/fentry/fexit BPF programs. It hides the underlying platform-specific - * low-level way of getting kprobe input arguments from struct pt_regs, and - * provides a familiar typed and named function arguments syntax and - * semantics of accessing kprobe input paremeters. - * - * Original struct pt_regs* context is preserved as 'ctx' argument. This might - * be necessary when using BPF helpers like bpf_perf_event_output(). - */ -#define BPF_KPROBE(name, args...) \ -name(struct pt_regs *ctx); \ -static __attribute__((always_inline)) typeof(name(0)) \ -____##name(struct pt_regs *ctx, ##args); \ -typeof(name(0)) name(struct pt_regs *ctx) \ -{ \ - _Pragma("GCC diagnostic push") \ - _Pragma("GCC diagnostic ignored \"-Wint-conversion\"") \ - return ____##name(___bpf_kprobe_args(args)); \ - _Pragma("GCC diagnostic pop") \ -} \ -static __attribute__((always_inline)) typeof(name(0)) \ -____##name(struct pt_regs *ctx, ##args) - -#define ___bpf_kretprobe_args0() ctx -#define ___bpf_kretprobe_args1(x) \ - ___bpf_kretprobe_args0(), (void *)PT_REGS_RC(ctx) -#define ___bpf_kretprobe_args(args...) \ - ___bpf_apply(___bpf_kretprobe_args, ___bpf_narg(args))(args) - -/* - * BPF_KRETPROBE is similar to BPF_KPROBE, except, it only provides optional - * return value (in addition to `struct pt_regs *ctx`), but no input - * arguments, because they will be clobbered by the time probed function - * returns. - */ -#define BPF_KRETPROBE(name, args...) \ -name(struct pt_regs *ctx); \ -static __attribute__((always_inline)) typeof(name(0)) \ -____##name(struct pt_regs *ctx, ##args); \ -typeof(name(0)) name(struct pt_regs *ctx) \ -{ \ - _Pragma("GCC diagnostic push") \ - _Pragma("GCC diagnostic ignored \"-Wint-conversion\"") \ - return ____##name(___bpf_kretprobe_args(args)); \ - _Pragma("GCC diagnostic pop") \ -} \ -static __always_inline typeof(name(0)) ____##name(struct pt_regs *ctx, ##args) - -/* - * BPF_SEQ_PRINTF to wrap bpf_seq_printf to-be-printed values - * in a structure. - */ -#define BPF_SEQ_PRINTF(seq, fmt, args...) \ - ({ \ - _Pragma("GCC diagnostic push") \ - _Pragma("GCC diagnostic ignored \"-Wint-conversion\"") \ - static const char ___fmt[] = fmt; \ - unsigned long long ___param[] = { args }; \ - _Pragma("GCC diagnostic pop") \ - int ___ret = bpf_seq_printf(seq, ___fmt, sizeof(___fmt), \ - ___param, sizeof(___param)); \ - ___ret; \ - }) - -#endif diff --git a/compile/remote-compile/lbc/include/bpf/btf.h b/compile/remote-compile/lbc/include/bpf/btf.h deleted file mode 100644 index 1237bcd..0000000 --- a/compile/remote-compile/lbc/include/bpf/btf.h +++ /dev/null @@ -1,369 +0,0 @@ -/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */ -/* Copyright (c) 2018 Facebook */ - -#ifndef __LIBBPF_BTF_H -#define __LIBBPF_BTF_H - -#include -#include -#include -#include - -#include "libbpf_common.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#define BTF_ELF_SEC ".BTF" -#define BTF_EXT_ELF_SEC ".BTF.ext" -#define MAPS_ELF_SEC ".maps" - -struct btf; -struct btf_ext; -struct btf_type; - -struct bpf_object; - -enum btf_endianness { - BTF_LITTLE_ENDIAN = 0, - BTF_BIG_ENDIAN = 1, -}; - -LIBBPF_API void btf__free(struct btf *btf); - -LIBBPF_API struct btf *btf__new(const void *data, __u32 size); -LIBBPF_API struct btf *btf__new_split(const void *data, __u32 size, struct btf *base_btf); -LIBBPF_API struct btf *btf__new_empty(void); -LIBBPF_API struct btf *btf__new_empty_split(struct btf *base_btf); - -LIBBPF_API struct btf *btf__parse(const char *path, struct btf_ext **btf_ext); -LIBBPF_API struct btf *btf__parse_split(const char *path, struct btf *base_btf); -LIBBPF_API struct btf *btf__parse_elf(const char *path, struct btf_ext **btf_ext); -LIBBPF_API struct btf *btf__parse_elf_split(const char *path, struct btf *base_btf); -LIBBPF_API struct btf *btf__parse_raw(const char *path); -LIBBPF_API struct btf *btf__parse_raw_split(const char *path, struct btf *base_btf); - -LIBBPF_API int btf__finalize_data(struct bpf_object *obj, struct btf *btf); -LIBBPF_API int btf__load(struct btf *btf); -LIBBPF_API __s32 btf__find_by_name(const struct btf *btf, - const char *type_name); -LIBBPF_API __s32 btf__find_by_name_kind(const struct btf *btf, - const char *type_name, __u32 kind); -LIBBPF_API __u32 btf__get_nr_types(const struct btf *btf); -LIBBPF_API const struct btf *btf__base_btf(const struct btf *btf); -LIBBPF_API const struct btf_type *btf__type_by_id(const struct btf *btf, - __u32 id); -LIBBPF_API size_t btf__pointer_size(const struct btf *btf); -LIBBPF_API int btf__set_pointer_size(struct btf *btf, size_t ptr_sz); -LIBBPF_API enum btf_endianness btf__endianness(const struct btf *btf); -LIBBPF_API int btf__set_endianness(struct btf *btf, enum btf_endianness endian); -LIBBPF_API __s64 btf__resolve_size(const struct btf *btf, __u32 type_id); -LIBBPF_API int btf__resolve_type(const struct btf *btf, __u32 type_id); -LIBBPF_API int btf__align_of(const struct btf *btf, __u32 id); -LIBBPF_API int btf__fd(const struct btf *btf); -LIBBPF_API void btf__set_fd(struct btf *btf, int fd); -LIBBPF_API const void *btf__get_raw_data(const struct btf *btf, __u32 *size); -LIBBPF_API const char *btf__name_by_offset(const struct btf *btf, __u32 offset); -LIBBPF_API const char *btf__str_by_offset(const struct btf *btf, __u32 offset); -LIBBPF_API int btf__get_from_id(__u32 id, struct btf **btf); -LIBBPF_API int btf__get_map_kv_tids(const struct btf *btf, const char *map_name, - __u32 expected_key_size, - __u32 expected_value_size, - __u32 *key_type_id, __u32 *value_type_id); - -LIBBPF_API struct btf_ext *btf_ext__new(__u8 *data, __u32 size); -LIBBPF_API void btf_ext__free(struct btf_ext *btf_ext); -LIBBPF_API const void *btf_ext__get_raw_data(const struct btf_ext *btf_ext, - __u32 *size); -LIBBPF_API LIBBPF_DEPRECATED("btf_ext__reloc_func_info was never meant as a public API and has wrong assumptions embedded in it; it will be removed in the future libbpf versions") -int btf_ext__reloc_func_info(const struct btf *btf, - const struct btf_ext *btf_ext, - const char *sec_name, __u32 insns_cnt, - void **func_info, __u32 *cnt); -LIBBPF_API LIBBPF_DEPRECATED("btf_ext__reloc_line_info was never meant as a public API and has wrong assumptions embedded in it; it will be removed in the future libbpf versions") -int btf_ext__reloc_line_info(const struct btf *btf, - const struct btf_ext *btf_ext, - const char *sec_name, __u32 insns_cnt, - void **line_info, __u32 *cnt); -LIBBPF_API __u32 btf_ext__func_info_rec_size(const struct btf_ext *btf_ext); -LIBBPF_API __u32 btf_ext__line_info_rec_size(const struct btf_ext *btf_ext); - -LIBBPF_API struct btf *libbpf_find_kernel_btf(void); - -LIBBPF_API int btf__find_str(struct btf *btf, const char *s); -LIBBPF_API int btf__add_str(struct btf *btf, const char *s); - -LIBBPF_API int btf__add_int(struct btf *btf, const char *name, size_t byte_sz, int encoding); -LIBBPF_API int btf__add_ptr(struct btf *btf, int ref_type_id); -LIBBPF_API int btf__add_array(struct btf *btf, - int index_type_id, int elem_type_id, __u32 nr_elems); -/* struct/union construction APIs */ -LIBBPF_API int btf__add_struct(struct btf *btf, const char *name, __u32 sz); -LIBBPF_API int btf__add_union(struct btf *btf, const char *name, __u32 sz); -LIBBPF_API int btf__add_field(struct btf *btf, const char *name, int field_type_id, - __u32 bit_offset, __u32 bit_size); - -/* enum construction APIs */ -LIBBPF_API int btf__add_enum(struct btf *btf, const char *name, __u32 bytes_sz); -LIBBPF_API int btf__add_enum_value(struct btf *btf, const char *name, __s64 value); - -enum btf_fwd_kind { - BTF_FWD_STRUCT = 0, - BTF_FWD_UNION = 1, - BTF_FWD_ENUM = 2, -}; - -LIBBPF_API int btf__add_fwd(struct btf *btf, const char *name, enum btf_fwd_kind fwd_kind); -LIBBPF_API int btf__add_typedef(struct btf *btf, const char *name, int ref_type_id); -LIBBPF_API int btf__add_volatile(struct btf *btf, int ref_type_id); -LIBBPF_API int btf__add_const(struct btf *btf, int ref_type_id); -LIBBPF_API int btf__add_restrict(struct btf *btf, int ref_type_id); - -/* func and func_proto construction APIs */ -LIBBPF_API int btf__add_func(struct btf *btf, const char *name, - enum btf_func_linkage linkage, int proto_type_id); -LIBBPF_API int btf__add_func_proto(struct btf *btf, int ret_type_id); -LIBBPF_API int btf__add_func_param(struct btf *btf, const char *name, int type_id); - -/* var & datasec construction APIs */ -LIBBPF_API int btf__add_var(struct btf *btf, const char *name, int linkage, int type_id); -LIBBPF_API int btf__add_datasec(struct btf *btf, const char *name, __u32 byte_sz); -LIBBPF_API int btf__add_datasec_var_info(struct btf *btf, int var_type_id, - __u32 offset, __u32 byte_sz); - -struct btf_dedup_opts { - unsigned int dedup_table_size; - bool dont_resolve_fwds; -}; - -LIBBPF_API int btf__dedup(struct btf *btf, struct btf_ext *btf_ext, - const struct btf_dedup_opts *opts); - -struct btf_dump; - -struct btf_dump_opts { - void *ctx; -}; - -typedef void (*btf_dump_printf_fn_t)(void *ctx, const char *fmt, va_list args); - -LIBBPF_API struct btf_dump *btf_dump__new(const struct btf *btf, - const struct btf_ext *btf_ext, - const struct btf_dump_opts *opts, - btf_dump_printf_fn_t printf_fn); -LIBBPF_API void btf_dump__free(struct btf_dump *d); - -LIBBPF_API int btf_dump__dump_type(struct btf_dump *d, __u32 id); - -struct btf_dump_emit_type_decl_opts { - /* size of this struct, for forward/backward compatiblity */ - size_t sz; - /* optional field name for type declaration, e.g.: - * - struct my_struct - * - void (*)(int) - * - char (*)[123] - */ - const char *field_name; - /* extra indentation level (in number of tabs) to emit for multi-line - * type declarations (e.g., anonymous struct); applies for lines - * starting from the second one (first line is assumed to have - * necessary indentation already - */ - int indent_level; - /* strip all the const/volatile/restrict mods */ - bool strip_mods; -}; -#define btf_dump_emit_type_decl_opts__last_field strip_mods - -LIBBPF_API int -btf_dump__emit_type_decl(struct btf_dump *d, __u32 id, - const struct btf_dump_emit_type_decl_opts *opts); - -/* - * A set of helpers for easier BTF types handling - */ -static inline __u16 btf_kind(const struct btf_type *t) -{ - return BTF_INFO_KIND(t->info); -} - -static inline __u16 btf_vlen(const struct btf_type *t) -{ - return BTF_INFO_VLEN(t->info); -} - -static inline bool btf_kflag(const struct btf_type *t) -{ - return BTF_INFO_KFLAG(t->info); -} - -static inline bool btf_is_void(const struct btf_type *t) -{ - return btf_kind(t) == BTF_KIND_UNKN; -} - -static inline bool btf_is_int(const struct btf_type *t) -{ - return btf_kind(t) == BTF_KIND_INT; -} - -static inline bool btf_is_ptr(const struct btf_type *t) -{ - return btf_kind(t) == BTF_KIND_PTR; -} - -static inline bool btf_is_array(const struct btf_type *t) -{ - return btf_kind(t) == BTF_KIND_ARRAY; -} - -static inline bool btf_is_struct(const struct btf_type *t) -{ - return btf_kind(t) == BTF_KIND_STRUCT; -} - -static inline bool btf_is_union(const struct btf_type *t) -{ - return btf_kind(t) == BTF_KIND_UNION; -} - -static inline bool btf_is_composite(const struct btf_type *t) -{ - __u16 kind = btf_kind(t); - - return kind == BTF_KIND_STRUCT || kind == BTF_KIND_UNION; -} - -static inline bool btf_is_enum(const struct btf_type *t) -{ - return btf_kind(t) == BTF_KIND_ENUM; -} - -static inline bool btf_is_fwd(const struct btf_type *t) -{ - return btf_kind(t) == BTF_KIND_FWD; -} - -static inline bool btf_is_typedef(const struct btf_type *t) -{ - return btf_kind(t) == BTF_KIND_TYPEDEF; -} - -static inline bool btf_is_volatile(const struct btf_type *t) -{ - return btf_kind(t) == BTF_KIND_VOLATILE; -} - -static inline bool btf_is_const(const struct btf_type *t) -{ - return btf_kind(t) == BTF_KIND_CONST; -} - -static inline bool btf_is_restrict(const struct btf_type *t) -{ - return btf_kind(t) == BTF_KIND_RESTRICT; -} - -static inline bool btf_is_mod(const struct btf_type *t) -{ - __u16 kind = btf_kind(t); - - return kind == BTF_KIND_VOLATILE || - kind == BTF_KIND_CONST || - kind == BTF_KIND_RESTRICT; -} - -static inline bool btf_is_func(const struct btf_type *t) -{ - return btf_kind(t) == BTF_KIND_FUNC; -} - -static inline bool btf_is_func_proto(const struct btf_type *t) -{ - return btf_kind(t) == BTF_KIND_FUNC_PROTO; -} - -static inline bool btf_is_var(const struct btf_type *t) -{ - return btf_kind(t) == BTF_KIND_VAR; -} - -static inline bool btf_is_datasec(const struct btf_type *t) -{ - return btf_kind(t) == BTF_KIND_DATASEC; -} - -static inline __u8 btf_int_encoding(const struct btf_type *t) -{ - return BTF_INT_ENCODING(*(__u32 *)(t + 1)); -} - -static inline __u8 btf_int_offset(const struct btf_type *t) -{ - return BTF_INT_OFFSET(*(__u32 *)(t + 1)); -} - -static inline __u8 btf_int_bits(const struct btf_type *t) -{ - return BTF_INT_BITS(*(__u32 *)(t + 1)); -} - -static inline struct btf_array *btf_array(const struct btf_type *t) -{ - return (struct btf_array *)(t + 1); -} - -static inline struct btf_enum *btf_enum(const struct btf_type *t) -{ - return (struct btf_enum *)(t + 1); -} - -static inline struct btf_member *btf_members(const struct btf_type *t) -{ - return (struct btf_member *)(t + 1); -} - -/* Get bit offset of a member with specified index. */ -static inline __u32 btf_member_bit_offset(const struct btf_type *t, - __u32 member_idx) -{ - const struct btf_member *m = btf_members(t) + member_idx; - bool kflag = btf_kflag(t); - - return kflag ? BTF_MEMBER_BIT_OFFSET(m->offset) : m->offset; -} -/* - * Get bitfield size of a member, assuming t is BTF_KIND_STRUCT or - * BTF_KIND_UNION. If member is not a bitfield, zero is returned. - */ -static inline __u32 btf_member_bitfield_size(const struct btf_type *t, - __u32 member_idx) -{ - const struct btf_member *m = btf_members(t) + member_idx; - bool kflag = btf_kflag(t); - - return kflag ? BTF_MEMBER_BITFIELD_SIZE(m->offset) : 0; -} - -static inline struct btf_param *btf_params(const struct btf_type *t) -{ - return (struct btf_param *)(t + 1); -} - -static inline struct btf_var *btf_var(const struct btf_type *t) -{ - return (struct btf_var *)(t + 1); -} - -static inline struct btf_var_secinfo * -btf_var_secinfos(const struct btf_type *t) -{ - return (struct btf_var_secinfo *)(t + 1); -} - -#ifdef __cplusplus -} /* extern "C" */ -#endif - -#endif /* __LIBBPF_BTF_H */ diff --git a/compile/remote-compile/lbc/include/bpf/libbpf.h b/compile/remote-compile/lbc/include/bpf/libbpf.h deleted file mode 100644 index 3c35eb4..0000000 --- a/compile/remote-compile/lbc/include/bpf/libbpf.h +++ /dev/null @@ -1,766 +0,0 @@ -/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */ - -/* - * Common eBPF ELF object loading operations. - * - * Copyright (C) 2013-2015 Alexei Starovoitov - * Copyright (C) 2015 Wang Nan - * Copyright (C) 2015 Huawei Inc. - */ -#ifndef __LIBBPF_LIBBPF_H -#define __LIBBPF_LIBBPF_H - -#include -#include -#include -#include -#include // for size_t -#include - -#include "libbpf_common.h" - -#ifdef __cplusplus -extern "C" { -#endif - -enum libbpf_errno { - __LIBBPF_ERRNO__START = 4000, - - /* Something wrong in libelf */ - LIBBPF_ERRNO__LIBELF = __LIBBPF_ERRNO__START, - LIBBPF_ERRNO__FORMAT, /* BPF object format invalid */ - LIBBPF_ERRNO__KVERSION, /* Incorrect or no 'version' section */ - LIBBPF_ERRNO__ENDIAN, /* Endian mismatch */ - LIBBPF_ERRNO__INTERNAL, /* Internal error in libbpf */ - LIBBPF_ERRNO__RELOC, /* Relocation failed */ - LIBBPF_ERRNO__LOAD, /* Load program failure for unknown reason */ - LIBBPF_ERRNO__VERIFY, /* Kernel verifier blocks program loading */ - LIBBPF_ERRNO__PROG2BIG, /* Program too big */ - LIBBPF_ERRNO__KVER, /* Incorrect kernel version */ - LIBBPF_ERRNO__PROGTYPE, /* Kernel doesn't support this program type */ - LIBBPF_ERRNO__WRNGPID, /* Wrong pid in netlink message */ - LIBBPF_ERRNO__INVSEQ, /* Invalid netlink sequence */ - LIBBPF_ERRNO__NLPARSE, /* netlink parsing error */ - __LIBBPF_ERRNO__END, -}; - -LIBBPF_API int libbpf_strerror(int err, char *buf, size_t size); - -enum libbpf_print_level { - LIBBPF_WARN, - LIBBPF_INFO, - LIBBPF_DEBUG, -}; - -typedef int (*libbpf_print_fn_t)(enum libbpf_print_level level, - const char *, va_list ap); - -LIBBPF_API libbpf_print_fn_t libbpf_set_print(libbpf_print_fn_t fn); - -/* Hide internal to user */ -struct bpf_object; - -struct bpf_object_open_attr { - const char *file; - enum bpf_prog_type prog_type; -}; - -struct bpf_object_open_opts { - /* size of this struct, for forward/backward compatiblity */ - size_t sz; - /* object name override, if provided: - * - for object open from file, this will override setting object - * name from file path's base name; - * - for object open from memory buffer, this will specify an object - * name and will override default "-" name; - */ - const char *object_name; - /* parse map definitions non-strictly, allowing extra attributes/data */ - bool relaxed_maps; - /* DEPRECATED: handle CO-RE relocations non-strictly, allowing failures. - * Value is ignored. Relocations always are processed non-strictly. - * Non-relocatable instructions are replaced with invalid ones to - * prevent accidental errors. - * */ - bool relaxed_core_relocs; - /* maps that set the 'pinning' attribute in their definition will have - * their pin_path attribute set to a file in this directory, and be - * auto-pinned to that path on load; defaults to "/sys/fs/bpf". - */ - const char *pin_root_path; - __u32 attach_prog_fd; - /* Additional kernel config content that augments and overrides - * system Kconfig for CONFIG_xxx externs. - */ - const char *kconfig; -}; -#define bpf_object_open_opts__last_field kconfig - -LIBBPF_API struct bpf_object *bpf_object__open(const char *path); -LIBBPF_API struct bpf_object * -bpf_object__open_file(const char *path, const struct bpf_object_open_opts *opts); -LIBBPF_API struct bpf_object * -bpf_object__open_mem(const void *obj_buf, size_t obj_buf_sz, - const struct bpf_object_open_opts *opts); - -/* deprecated bpf_object__open variants */ -LIBBPF_API struct bpf_object * -bpf_object__open_buffer(const void *obj_buf, size_t obj_buf_sz, - const char *name); -LIBBPF_API struct bpf_object * -bpf_object__open_xattr(struct bpf_object_open_attr *attr); - -enum libbpf_pin_type { - LIBBPF_PIN_NONE, - /* PIN_BY_NAME: pin maps by name (in /sys/fs/bpf by default) */ - LIBBPF_PIN_BY_NAME, -}; - -/* pin_maps and unpin_maps can both be called with a NULL path, in which case - * they will use the pin_path attribute of each map (and ignore all maps that - * don't have a pin_path set). - */ -LIBBPF_API int bpf_object__pin_maps(struct bpf_object *obj, const char *path); -LIBBPF_API int bpf_object__unpin_maps(struct bpf_object *obj, - const char *path); -LIBBPF_API int bpf_object__pin_programs(struct bpf_object *obj, - const char *path); -LIBBPF_API int bpf_object__unpin_programs(struct bpf_object *obj, - const char *path); -LIBBPF_API int bpf_object__pin(struct bpf_object *object, const char *path); -LIBBPF_API void bpf_object__close(struct bpf_object *object); - -struct bpf_object_load_attr { - struct bpf_object *obj; - int log_level; - const char *target_btf_path; -}; - -/* Load/unload object into/from kernel */ -LIBBPF_API int bpf_object__load(struct bpf_object *obj); -LIBBPF_API int bpf_object__load_xattr(struct bpf_object_load_attr *attr); -LIBBPF_API int bpf_object__unload(struct bpf_object *obj); - -LIBBPF_API const char *bpf_object__name(const struct bpf_object *obj); -LIBBPF_API unsigned int bpf_object__kversion(const struct bpf_object *obj); - -struct btf; -LIBBPF_API struct btf *bpf_object__btf(const struct bpf_object *obj); -LIBBPF_API int bpf_object__btf_fd(const struct bpf_object *obj); - -LIBBPF_API struct bpf_program * -bpf_object__find_program_by_title(const struct bpf_object *obj, - const char *title); -LIBBPF_API struct bpf_program * -bpf_object__find_program_by_name(const struct bpf_object *obj, - const char *name); - -LIBBPF_API struct bpf_object *bpf_object__next(struct bpf_object *prev); -#define bpf_object__for_each_safe(pos, tmp) \ - for ((pos) = bpf_object__next(NULL), \ - (tmp) = bpf_object__next(pos); \ - (pos) != NULL; \ - (pos) = (tmp), (tmp) = bpf_object__next(tmp)) - -typedef void (*bpf_object_clear_priv_t)(struct bpf_object *, void *); -LIBBPF_API int bpf_object__set_priv(struct bpf_object *obj, void *priv, - bpf_object_clear_priv_t clear_priv); -LIBBPF_API void *bpf_object__priv(const struct bpf_object *prog); - -LIBBPF_API int -libbpf_prog_type_by_name(const char *name, enum bpf_prog_type *prog_type, - enum bpf_attach_type *expected_attach_type); -LIBBPF_API int libbpf_attach_type_by_name(const char *name, - enum bpf_attach_type *attach_type); -LIBBPF_API int libbpf_find_vmlinux_btf_id(const char *name, - enum bpf_attach_type attach_type); - -/* Accessors of bpf_program */ -struct bpf_program; -LIBBPF_API struct bpf_program *bpf_program__next(struct bpf_program *prog, - const struct bpf_object *obj); - -#define bpf_object__for_each_program(pos, obj) \ - for ((pos) = bpf_program__next(NULL, (obj)); \ - (pos) != NULL; \ - (pos) = bpf_program__next((pos), (obj))) - -LIBBPF_API struct bpf_program *bpf_program__prev(struct bpf_program *prog, - const struct bpf_object *obj); - -typedef void (*bpf_program_clear_priv_t)(struct bpf_program *, void *); - -LIBBPF_API int bpf_program__set_priv(struct bpf_program *prog, void *priv, - bpf_program_clear_priv_t clear_priv); - -LIBBPF_API void *bpf_program__priv(const struct bpf_program *prog); -LIBBPF_API void bpf_program__set_ifindex(struct bpf_program *prog, - __u32 ifindex); - -LIBBPF_API const char *bpf_program__name(const struct bpf_program *prog); -LIBBPF_API const char *bpf_program__section_name(const struct bpf_program *prog); -LIBBPF_API LIBBPF_DEPRECATED("BPF program title is confusing term; please use bpf_program__section_name() instead") -const char *bpf_program__title(const struct bpf_program *prog, bool needs_copy); -LIBBPF_API bool bpf_program__autoload(const struct bpf_program *prog); -LIBBPF_API int bpf_program__set_autoload(struct bpf_program *prog, bool autoload); - -/* returns program size in bytes */ -LIBBPF_API size_t bpf_program__size(const struct bpf_program *prog); - -LIBBPF_API int bpf_program__load(struct bpf_program *prog, char *license, - __u32 kern_version); -LIBBPF_API int bpf_program__fd(const struct bpf_program *prog); -LIBBPF_API int bpf_program__pin_instance(struct bpf_program *prog, - const char *path, - int instance); -LIBBPF_API int bpf_program__unpin_instance(struct bpf_program *prog, - const char *path, - int instance); -LIBBPF_API int bpf_program__pin(struct bpf_program *prog, const char *path); -LIBBPF_API int bpf_program__unpin(struct bpf_program *prog, const char *path); -LIBBPF_API void bpf_program__unload(struct bpf_program *prog); - -struct bpf_link; - -LIBBPF_API struct bpf_link *bpf_link__open(const char *path); -LIBBPF_API int bpf_link__fd(const struct bpf_link *link); -LIBBPF_API const char *bpf_link__pin_path(const struct bpf_link *link); -LIBBPF_API int bpf_link__pin(struct bpf_link *link, const char *path); -LIBBPF_API int bpf_link__unpin(struct bpf_link *link); -LIBBPF_API int bpf_link__update_program(struct bpf_link *link, - struct bpf_program *prog); -LIBBPF_API void bpf_link__disconnect(struct bpf_link *link); -LIBBPF_API int bpf_link__detach(struct bpf_link *link); -LIBBPF_API int bpf_link__destroy(struct bpf_link *link); - -LIBBPF_API struct bpf_link * -bpf_program__attach(struct bpf_program *prog); -LIBBPF_API struct bpf_link * -bpf_program__attach_perf_event(struct bpf_program *prog, int pfd); -LIBBPF_API struct bpf_link * -bpf_program__attach_kprobe(struct bpf_program *prog, bool retprobe, - const char *func_name); -LIBBPF_API struct bpf_link * -bpf_program__attach_uprobe(struct bpf_program *prog, bool retprobe, - pid_t pid, const char *binary_path, - size_t func_offset); -LIBBPF_API struct bpf_link * -bpf_program__attach_tracepoint(struct bpf_program *prog, - const char *tp_category, - const char *tp_name); -LIBBPF_API struct bpf_link * -bpf_program__attach_raw_tracepoint(struct bpf_program *prog, - const char *tp_name); -LIBBPF_API struct bpf_link * -bpf_program__attach_trace(struct bpf_program *prog); -LIBBPF_API struct bpf_link * -bpf_program__attach_lsm(struct bpf_program *prog); -LIBBPF_API struct bpf_link * -bpf_program__attach_cgroup(struct bpf_program *prog, int cgroup_fd); -LIBBPF_API struct bpf_link * -bpf_program__attach_netns(struct bpf_program *prog, int netns_fd); -LIBBPF_API struct bpf_link * -bpf_program__attach_xdp(struct bpf_program *prog, int ifindex); -LIBBPF_API struct bpf_link * -bpf_program__attach_freplace(struct bpf_program *prog, - int target_fd, const char *attach_func_name); - -struct bpf_map; - -LIBBPF_API struct bpf_link *bpf_map__attach_struct_ops(struct bpf_map *map); - -struct bpf_iter_attach_opts { - size_t sz; /* size of this struct for forward/backward compatibility */ - union bpf_iter_link_info *link_info; - __u32 link_info_len; -}; -#define bpf_iter_attach_opts__last_field link_info_len - -LIBBPF_API struct bpf_link * -bpf_program__attach_iter(struct bpf_program *prog, - const struct bpf_iter_attach_opts *opts); - -struct bpf_insn; - -/* - * Libbpf allows callers to adjust BPF programs before being loaded - * into kernel. One program in an object file can be transformed into - * multiple variants to be attached to different hooks. - * - * bpf_program_prep_t, bpf_program__set_prep and bpf_program__nth_fd - * form an API for this purpose. - * - * - bpf_program_prep_t: - * Defines a 'preprocessor', which is a caller defined function - * passed to libbpf through bpf_program__set_prep(), and will be - * called before program is loaded. The processor should adjust - * the program one time for each instance according to the instance id - * passed to it. - * - * - bpf_program__set_prep: - * Attaches a preprocessor to a BPF program. The number of instances - * that should be created is also passed through this function. - * - * - bpf_program__nth_fd: - * After the program is loaded, get resulting FD of a given instance - * of the BPF program. - * - * If bpf_program__set_prep() is not used, the program would be loaded - * without adjustment during bpf_object__load(). The program has only - * one instance. In this case bpf_program__fd(prog) is equal to - * bpf_program__nth_fd(prog, 0). - */ - -struct bpf_prog_prep_result { - /* - * If not NULL, load new instruction array. - * If set to NULL, don't load this instance. - */ - struct bpf_insn *new_insn_ptr; - int new_insn_cnt; - - /* If not NULL, result FD is written to it. */ - int *pfd; -}; - -/* - * Parameters of bpf_program_prep_t: - * - prog: The bpf_program being loaded. - * - n: Index of instance being generated. - * - insns: BPF instructions array. - * - insns_cnt:Number of instructions in insns. - * - res: Output parameter, result of transformation. - * - * Return value: - * - Zero: pre-processing success. - * - Non-zero: pre-processing error, stop loading. - */ -typedef int (*bpf_program_prep_t)(struct bpf_program *prog, int n, - struct bpf_insn *insns, int insns_cnt, - struct bpf_prog_prep_result *res); - -LIBBPF_API int bpf_program__set_prep(struct bpf_program *prog, int nr_instance, - bpf_program_prep_t prep); - -LIBBPF_API int bpf_program__nth_fd(const struct bpf_program *prog, int n); - -/* - * Adjust type of BPF program. Default is kprobe. - */ -LIBBPF_API int bpf_program__set_socket_filter(struct bpf_program *prog); -LIBBPF_API int bpf_program__set_tracepoint(struct bpf_program *prog); -LIBBPF_API int bpf_program__set_raw_tracepoint(struct bpf_program *prog); -LIBBPF_API int bpf_program__set_kprobe(struct bpf_program *prog); -LIBBPF_API int bpf_program__set_lsm(struct bpf_program *prog); -LIBBPF_API int bpf_program__set_sched_cls(struct bpf_program *prog); -LIBBPF_API int bpf_program__set_sched_act(struct bpf_program *prog); -LIBBPF_API int bpf_program__set_xdp(struct bpf_program *prog); -LIBBPF_API int bpf_program__set_perf_event(struct bpf_program *prog); -LIBBPF_API int bpf_program__set_tracing(struct bpf_program *prog); -LIBBPF_API int bpf_program__set_struct_ops(struct bpf_program *prog); -LIBBPF_API int bpf_program__set_extension(struct bpf_program *prog); -LIBBPF_API int bpf_program__set_sk_lookup(struct bpf_program *prog); - -LIBBPF_API enum bpf_prog_type bpf_program__get_type(struct bpf_program *prog); -LIBBPF_API void bpf_program__set_type(struct bpf_program *prog, - enum bpf_prog_type type); - -LIBBPF_API enum bpf_attach_type -bpf_program__get_expected_attach_type(struct bpf_program *prog); -LIBBPF_API void -bpf_program__set_expected_attach_type(struct bpf_program *prog, - enum bpf_attach_type type); - -LIBBPF_API int -bpf_program__set_attach_target(struct bpf_program *prog, int attach_prog_fd, - const char *attach_func_name); - -LIBBPF_API bool bpf_program__is_socket_filter(const struct bpf_program *prog); -LIBBPF_API bool bpf_program__is_tracepoint(const struct bpf_program *prog); -LIBBPF_API bool bpf_program__is_raw_tracepoint(const struct bpf_program *prog); -LIBBPF_API bool bpf_program__is_kprobe(const struct bpf_program *prog); -LIBBPF_API bool bpf_program__is_lsm(const struct bpf_program *prog); -LIBBPF_API bool bpf_program__is_sched_cls(const struct bpf_program *prog); -LIBBPF_API bool bpf_program__is_sched_act(const struct bpf_program *prog); -LIBBPF_API bool bpf_program__is_xdp(const struct bpf_program *prog); -LIBBPF_API bool bpf_program__is_perf_event(const struct bpf_program *prog); -LIBBPF_API bool bpf_program__is_tracing(const struct bpf_program *prog); -LIBBPF_API bool bpf_program__is_struct_ops(const struct bpf_program *prog); -LIBBPF_API bool bpf_program__is_extension(const struct bpf_program *prog); -LIBBPF_API bool bpf_program__is_sk_lookup(const struct bpf_program *prog); - -/* - * No need for __attribute__((packed)), all members of 'bpf_map_def' - * are all aligned. In addition, using __attribute__((packed)) - * would trigger a -Wpacked warning message, and lead to an error - * if -Werror is set. - */ -struct bpf_map_def { - unsigned int type; - unsigned int key_size; - unsigned int value_size; - unsigned int max_entries; - unsigned int map_flags; -}; - -/* - * The 'struct bpf_map' in include/linux/bpf.h is internal to the kernel, - * so no need to worry about a name clash. - */ -LIBBPF_API struct bpf_map * -bpf_object__find_map_by_name(const struct bpf_object *obj, const char *name); - -LIBBPF_API int -bpf_object__find_map_fd_by_name(const struct bpf_object *obj, const char *name); - -/* - * Get bpf_map through the offset of corresponding struct bpf_map_def - * in the BPF object file. - */ -LIBBPF_API struct bpf_map * -bpf_object__find_map_by_offset(struct bpf_object *obj, size_t offset); - -LIBBPF_API struct bpf_map * -bpf_map__next(const struct bpf_map *map, const struct bpf_object *obj); -#define bpf_object__for_each_map(pos, obj) \ - for ((pos) = bpf_map__next(NULL, (obj)); \ - (pos) != NULL; \ - (pos) = bpf_map__next((pos), (obj))) -#define bpf_map__for_each bpf_object__for_each_map - -LIBBPF_API struct bpf_map * -bpf_map__prev(const struct bpf_map *map, const struct bpf_object *obj); - -/* get/set map FD */ -LIBBPF_API int bpf_map__fd(const struct bpf_map *map); -LIBBPF_API int bpf_map__reuse_fd(struct bpf_map *map, int fd); -/* get map definition */ -LIBBPF_API const struct bpf_map_def *bpf_map__def(const struct bpf_map *map); -/* get map name */ -LIBBPF_API const char *bpf_map__name(const struct bpf_map *map); -/* get/set map type */ -LIBBPF_API enum bpf_map_type bpf_map__type(const struct bpf_map *map); -LIBBPF_API int bpf_map__set_type(struct bpf_map *map, enum bpf_map_type type); -/* get/set map size (max_entries) */ -LIBBPF_API __u32 bpf_map__max_entries(const struct bpf_map *map); -LIBBPF_API int bpf_map__set_max_entries(struct bpf_map *map, __u32 max_entries); -LIBBPF_API int bpf_map__resize(struct bpf_map *map, __u32 max_entries); -/* get/set map flags */ -LIBBPF_API __u32 bpf_map__map_flags(const struct bpf_map *map); -LIBBPF_API int bpf_map__set_map_flags(struct bpf_map *map, __u32 flags); -/* get/set map NUMA node */ -LIBBPF_API __u32 bpf_map__numa_node(const struct bpf_map *map); -LIBBPF_API int bpf_map__set_numa_node(struct bpf_map *map, __u32 numa_node); -/* get/set map key size */ -LIBBPF_API __u32 bpf_map__key_size(const struct bpf_map *map); -LIBBPF_API int bpf_map__set_key_size(struct bpf_map *map, __u32 size); -/* get/set map value size */ -LIBBPF_API __u32 bpf_map__value_size(const struct bpf_map *map); -LIBBPF_API int bpf_map__set_value_size(struct bpf_map *map, __u32 size); -/* get map key/value BTF type IDs */ -LIBBPF_API __u32 bpf_map__btf_key_type_id(const struct bpf_map *map); -LIBBPF_API __u32 bpf_map__btf_value_type_id(const struct bpf_map *map); -/* get/set map if_index */ -LIBBPF_API __u32 bpf_map__ifindex(const struct bpf_map *map); -LIBBPF_API int bpf_map__set_ifindex(struct bpf_map *map, __u32 ifindex); - -typedef void (*bpf_map_clear_priv_t)(struct bpf_map *, void *); -LIBBPF_API int bpf_map__set_priv(struct bpf_map *map, void *priv, - bpf_map_clear_priv_t clear_priv); -LIBBPF_API void *bpf_map__priv(const struct bpf_map *map); -LIBBPF_API int bpf_map__set_initial_value(struct bpf_map *map, - const void *data, size_t size); -LIBBPF_API bool bpf_map__is_offload_neutral(const struct bpf_map *map); -LIBBPF_API bool bpf_map__is_internal(const struct bpf_map *map); -LIBBPF_API int bpf_map__set_pin_path(struct bpf_map *map, const char *path); -LIBBPF_API const char *bpf_map__get_pin_path(const struct bpf_map *map); -LIBBPF_API bool bpf_map__is_pinned(const struct bpf_map *map); -LIBBPF_API int bpf_map__pin(struct bpf_map *map, const char *path); -LIBBPF_API int bpf_map__unpin(struct bpf_map *map, const char *path); - -LIBBPF_API int bpf_map__set_inner_map_fd(struct bpf_map *map, int fd); - -LIBBPF_API long libbpf_get_error(const void *ptr); - -struct bpf_prog_load_attr { - const char *file; - enum bpf_prog_type prog_type; - enum bpf_attach_type expected_attach_type; - int ifindex; - int log_level; - int prog_flags; -}; - -LIBBPF_API int bpf_prog_load_xattr(const struct bpf_prog_load_attr *attr, - struct bpf_object **pobj, int *prog_fd); -LIBBPF_API int bpf_prog_load(const char *file, enum bpf_prog_type type, - struct bpf_object **pobj, int *prog_fd); - -struct xdp_link_info { - __u32 prog_id; - __u32 drv_prog_id; - __u32 hw_prog_id; - __u32 skb_prog_id; - __u8 attach_mode; -}; - -struct bpf_xdp_set_link_opts { - size_t sz; - int old_fd; -}; -#define bpf_xdp_set_link_opts__last_field old_fd - -LIBBPF_API int bpf_set_link_xdp_fd(int ifindex, int fd, __u32 flags); -LIBBPF_API int bpf_set_link_xdp_fd_opts(int ifindex, int fd, __u32 flags, - const struct bpf_xdp_set_link_opts *opts); -LIBBPF_API int bpf_get_link_xdp_id(int ifindex, __u32 *prog_id, __u32 flags); -LIBBPF_API int bpf_get_link_xdp_info(int ifindex, struct xdp_link_info *info, - size_t info_size, __u32 flags); - -/* Ring buffer APIs */ -struct ring_buffer; - -typedef int (*ring_buffer_sample_fn)(void *ctx, void *data, size_t size); - -struct ring_buffer_opts { - size_t sz; /* size of this struct, for forward/backward compatiblity */ -}; - -#define ring_buffer_opts__last_field sz - -LIBBPF_API struct ring_buffer * -ring_buffer__new(int map_fd, ring_buffer_sample_fn sample_cb, void *ctx, - const struct ring_buffer_opts *opts); -LIBBPF_API void ring_buffer__free(struct ring_buffer *rb); -LIBBPF_API int ring_buffer__add(struct ring_buffer *rb, int map_fd, - ring_buffer_sample_fn sample_cb, void *ctx); -LIBBPF_API int ring_buffer__poll(struct ring_buffer *rb, int timeout_ms); -LIBBPF_API int ring_buffer__consume(struct ring_buffer *rb); -LIBBPF_API int ring_buffer__epoll_fd(const struct ring_buffer *rb); - -/* Perf buffer APIs */ -struct perf_buffer; - -typedef void (*perf_buffer_sample_fn)(void *ctx, int cpu, - void *data, __u32 size); -typedef void (*perf_buffer_lost_fn)(void *ctx, int cpu, __u64 cnt); - -/* common use perf buffer options */ -struct perf_buffer_opts { - /* if specified, sample_cb is called for each sample */ - perf_buffer_sample_fn sample_cb; - /* if specified, lost_cb is called for each batch of lost samples */ - perf_buffer_lost_fn lost_cb; - /* ctx is provided to sample_cb and lost_cb */ - void *ctx; -}; - -LIBBPF_API struct perf_buffer * -perf_buffer__new(int map_fd, size_t page_cnt, - const struct perf_buffer_opts *opts); - -enum bpf_perf_event_ret { - LIBBPF_PERF_EVENT_DONE = 0, - LIBBPF_PERF_EVENT_ERROR = -1, - LIBBPF_PERF_EVENT_CONT = -2, -}; - -struct perf_event_header; - -typedef enum bpf_perf_event_ret -(*perf_buffer_event_fn)(void *ctx, int cpu, struct perf_event_header *event); - -/* raw perf buffer options, giving most power and control */ -struct perf_buffer_raw_opts { - /* perf event attrs passed directly into perf_event_open() */ - struct perf_event_attr *attr; - /* raw event callback */ - perf_buffer_event_fn event_cb; - /* ctx is provided to event_cb */ - void *ctx; - /* if cpu_cnt == 0, open all on all possible CPUs (up to the number of - * max_entries of given PERF_EVENT_ARRAY map) - */ - int cpu_cnt; - /* if cpu_cnt > 0, cpus is an array of CPUs to open ring buffers on */ - int *cpus; - /* if cpu_cnt > 0, map_keys specify map keys to set per-CPU FDs for */ - int *map_keys; -}; - -LIBBPF_API struct perf_buffer * -perf_buffer__new_raw(int map_fd, size_t page_cnt, - const struct perf_buffer_raw_opts *opts); - -LIBBPF_API void perf_buffer__free(struct perf_buffer *pb); -LIBBPF_API int perf_buffer__epoll_fd(const struct perf_buffer *pb); -LIBBPF_API int perf_buffer__poll(struct perf_buffer *pb, int timeout_ms); -LIBBPF_API int perf_buffer__consume(struct perf_buffer *pb); -LIBBPF_API int perf_buffer__consume_buffer(struct perf_buffer *pb, size_t buf_idx); -LIBBPF_API size_t perf_buffer__buffer_cnt(const struct perf_buffer *pb); -LIBBPF_API int perf_buffer__buffer_fd(const struct perf_buffer *pb, size_t buf_idx); - -typedef enum bpf_perf_event_ret - (*bpf_perf_event_print_t)(struct perf_event_header *hdr, - void *private_data); -LIBBPF_API enum bpf_perf_event_ret -bpf_perf_event_read_simple(void *mmap_mem, size_t mmap_size, size_t page_size, - void **copy_mem, size_t *copy_size, - bpf_perf_event_print_t fn, void *private_data); - -struct bpf_prog_linfo; -struct bpf_prog_info; - -LIBBPF_API void bpf_prog_linfo__free(struct bpf_prog_linfo *prog_linfo); -LIBBPF_API struct bpf_prog_linfo * -bpf_prog_linfo__new(const struct bpf_prog_info *info); -LIBBPF_API const struct bpf_line_info * -bpf_prog_linfo__lfind_addr_func(const struct bpf_prog_linfo *prog_linfo, - __u64 addr, __u32 func_idx, __u32 nr_skip); -LIBBPF_API const struct bpf_line_info * -bpf_prog_linfo__lfind(const struct bpf_prog_linfo *prog_linfo, - __u32 insn_off, __u32 nr_skip); - -/* - * Probe for supported system features - * - * Note that running many of these probes in a short amount of time can cause - * the kernel to reach the maximal size of lockable memory allowed for the - * user, causing subsequent probes to fail. In this case, the caller may want - * to adjust that limit with setrlimit(). - */ -LIBBPF_API bool bpf_probe_prog_type(enum bpf_prog_type prog_type, - __u32 ifindex); -LIBBPF_API bool bpf_probe_map_type(enum bpf_map_type map_type, __u32 ifindex); -LIBBPF_API bool bpf_probe_helper(enum bpf_func_id id, - enum bpf_prog_type prog_type, __u32 ifindex); -LIBBPF_API bool bpf_probe_large_insn_limit(__u32 ifindex); - -/* - * Get bpf_prog_info in continuous memory - * - * struct bpf_prog_info has multiple arrays. The user has option to choose - * arrays to fetch from kernel. The following APIs provide an uniform way to - * fetch these data. All arrays in bpf_prog_info are stored in a single - * continuous memory region. This makes it easy to store the info in a - * file. - * - * Before writing bpf_prog_info_linear to files, it is necessary to - * translate pointers in bpf_prog_info to offsets. Helper functions - * bpf_program__bpil_addr_to_offs() and bpf_program__bpil_offs_to_addr() - * are introduced to switch between pointers and offsets. - * - * Examples: - * # To fetch map_ids and prog_tags: - * __u64 arrays = (1UL << BPF_PROG_INFO_MAP_IDS) | - * (1UL << BPF_PROG_INFO_PROG_TAGS); - * struct bpf_prog_info_linear *info_linear = - * bpf_program__get_prog_info_linear(fd, arrays); - * - * # To save data in file - * bpf_program__bpil_addr_to_offs(info_linear); - * write(f, info_linear, sizeof(*info_linear) + info_linear->data_len); - * - * # To read data from file - * read(f, info_linear, ); - * bpf_program__bpil_offs_to_addr(info_linear); - */ -enum bpf_prog_info_array { - BPF_PROG_INFO_FIRST_ARRAY = 0, - BPF_PROG_INFO_JITED_INSNS = 0, - BPF_PROG_INFO_XLATED_INSNS, - BPF_PROG_INFO_MAP_IDS, - BPF_PROG_INFO_JITED_KSYMS, - BPF_PROG_INFO_JITED_FUNC_LENS, - BPF_PROG_INFO_FUNC_INFO, - BPF_PROG_INFO_LINE_INFO, - BPF_PROG_INFO_JITED_LINE_INFO, - BPF_PROG_INFO_PROG_TAGS, - BPF_PROG_INFO_LAST_ARRAY, -}; - -struct bpf_prog_info_linear { - /* size of struct bpf_prog_info, when the tool is compiled */ - __u32 info_len; - /* total bytes allocated for data, round up to 8 bytes */ - __u32 data_len; - /* which arrays are included in data */ - __u64 arrays; - struct bpf_prog_info info; - __u8 data[]; -}; - -LIBBPF_API struct bpf_prog_info_linear * -bpf_program__get_prog_info_linear(int fd, __u64 arrays); - -LIBBPF_API void -bpf_program__bpil_addr_to_offs(struct bpf_prog_info_linear *info_linear); - -LIBBPF_API void -bpf_program__bpil_offs_to_addr(struct bpf_prog_info_linear *info_linear); - -/* - * A helper function to get the number of possible CPUs before looking up - * per-CPU maps. Negative errno is returned on failure. - * - * Example usage: - * - * int ncpus = libbpf_num_possible_cpus(); - * if (ncpus < 0) { - * // error handling - * } - * long values[ncpus]; - * bpf_map_lookup_elem(per_cpu_map_fd, key, values); - * - */ -LIBBPF_API int libbpf_num_possible_cpus(void); - -struct bpf_map_skeleton { - const char *name; - struct bpf_map **map; - void **mmaped; -}; - -struct bpf_prog_skeleton { - const char *name; - struct bpf_program **prog; - struct bpf_link **link; -}; - -struct bpf_object_skeleton { - size_t sz; /* size of this struct, for forward/backward compatibility */ - - const char *name; - void *data; - size_t data_sz; - - struct bpf_object **obj; - - int map_cnt; - int map_skel_sz; /* sizeof(struct bpf_skeleton_map) */ - struct bpf_map_skeleton *maps; - - int prog_cnt; - int prog_skel_sz; /* sizeof(struct bpf_skeleton_prog) */ - struct bpf_prog_skeleton *progs; -}; - -LIBBPF_API int -bpf_object__open_skeleton(struct bpf_object_skeleton *s, - const struct bpf_object_open_opts *opts); -LIBBPF_API int bpf_object__load_skeleton(struct bpf_object_skeleton *s); -LIBBPF_API int bpf_object__attach_skeleton(struct bpf_object_skeleton *s); -LIBBPF_API void bpf_object__detach_skeleton(struct bpf_object_skeleton *s); -LIBBPF_API void bpf_object__destroy_skeleton(struct bpf_object_skeleton *s); - -enum libbpf_tristate { - TRI_NO = 0, - TRI_YES = 1, - TRI_MODULE = 2, -}; - -#ifdef __cplusplus -} /* extern "C" */ -#endif - -#endif /* __LIBBPF_LIBBPF_H */ diff --git a/compile/remote-compile/lbc/include/bpf/libbpf_common.h b/compile/remote-compile/lbc/include/bpf/libbpf_common.h deleted file mode 100644 index 947d8bd..0000000 --- a/compile/remote-compile/lbc/include/bpf/libbpf_common.h +++ /dev/null @@ -1,42 +0,0 @@ -/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */ - -/* - * Common user-facing libbpf helpers. - * - * Copyright (c) 2019 Facebook - */ - -#ifndef __LIBBPF_LIBBPF_COMMON_H -#define __LIBBPF_LIBBPF_COMMON_H - -#include - -#ifndef LIBBPF_API -#define LIBBPF_API __attribute__((visibility("default"))) -#endif - -#define LIBBPF_DEPRECATED(msg) __attribute__((deprecated(msg))) - -/* Helper macro to declare and initialize libbpf options struct - * - * This dance with uninitialized declaration, followed by memset to zero, - * followed by assignment using compound literal syntax is done to preserve - * ability to use a nice struct field initialization syntax and **hopefully** - * have all the padding bytes initialized to zero. It's not guaranteed though, - * when copying literal, that compiler won't copy garbage in literal's padding - * bytes, but that's the best way I've found and it seems to work in practice. - * - * Macro declares opts struct of given type and name, zero-initializes, - * including any extra padding, it with memset() and then assigns initial - * values provided by users in struct initializer-syntax as varargs. - */ -#define DECLARE_LIBBPF_OPTS(TYPE, NAME, ...) \ - struct TYPE NAME = ({ \ - memset(&NAME, 0, sizeof(struct TYPE)); \ - (struct TYPE) { \ - .sz = sizeof(struct TYPE), \ - __VA_ARGS__ \ - }; \ - }) - -#endif /* __LIBBPF_LIBBPF_COMMON_H */ diff --git a/compile/remote-compile/lbc/include/bpf/libbpf_util.h b/compile/remote-compile/lbc/include/bpf/libbpf_util.h deleted file mode 100644 index 59c779c..0000000 --- a/compile/remote-compile/lbc/include/bpf/libbpf_util.h +++ /dev/null @@ -1,47 +0,0 @@ -/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */ -/* Copyright (c) 2019 Facebook */ - -#ifndef __LIBBPF_LIBBPF_UTIL_H -#define __LIBBPF_LIBBPF_UTIL_H - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Use these barrier functions instead of smp_[rw]mb() when they are - * used in a libbpf header file. That way they can be built into the - * application that uses libbpf. - */ -#if defined(__i386__) || defined(__x86_64__) -# define libbpf_smp_rmb() asm volatile("" : : : "memory") -# define libbpf_smp_wmb() asm volatile("" : : : "memory") -# define libbpf_smp_mb() \ - asm volatile("lock; addl $0,-4(%%rsp)" : : : "memory", "cc") -/* Hinders stores to be observed before older loads. */ -# define libbpf_smp_rwmb() asm volatile("" : : : "memory") -#elif defined(__aarch64__) -# define libbpf_smp_rmb() asm volatile("dmb ishld" : : : "memory") -# define libbpf_smp_wmb() asm volatile("dmb ishst" : : : "memory") -# define libbpf_smp_mb() asm volatile("dmb ish" : : : "memory") -# define libbpf_smp_rwmb() libbpf_smp_mb() -#elif defined(__arm__) -/* These are only valid for armv7 and above */ -# define libbpf_smp_rmb() asm volatile("dmb ish" : : : "memory") -# define libbpf_smp_wmb() asm volatile("dmb ishst" : : : "memory") -# define libbpf_smp_mb() asm volatile("dmb ish" : : : "memory") -# define libbpf_smp_rwmb() libbpf_smp_mb() -#else -/* Architecture missing native barrier functions. */ -# define libbpf_smp_rmb() __sync_synchronize() -# define libbpf_smp_wmb() __sync_synchronize() -# define libbpf_smp_mb() __sync_synchronize() -# define libbpf_smp_rwmb() __sync_synchronize() -#endif - -#ifdef __cplusplus -} /* extern "C" */ -#endif - -#endif diff --git a/compile/remote-compile/lbc/include/bpf/xsk.h b/compile/remote-compile/lbc/include/bpf/xsk.h deleted file mode 100644 index e9f121f..0000000 --- a/compile/remote-compile/lbc/include/bpf/xsk.h +++ /dev/null @@ -1,263 +0,0 @@ -/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */ - -/* - * AF_XDP user-space access library. - * - * Copyright(c) 2018 - 2019 Intel Corporation. - * - * Author(s): Magnus Karlsson - */ - -#ifndef __LIBBPF_XSK_H -#define __LIBBPF_XSK_H - -#include -#include -#include - -#include "libbpf.h" -#include "libbpf_util.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Do not access these members directly. Use the functions below. */ -#define DEFINE_XSK_RING(name) \ -struct name { \ - __u32 cached_prod; \ - __u32 cached_cons; \ - __u32 mask; \ - __u32 size; \ - __u32 *producer; \ - __u32 *consumer; \ - void *ring; \ - __u32 *flags; \ -} - -DEFINE_XSK_RING(xsk_ring_prod); -DEFINE_XSK_RING(xsk_ring_cons); - -/* For a detailed explanation on the memory barriers associated with the - * ring, please take a look at net/xdp/xsk_queue.h. - */ - -struct xsk_umem; -struct xsk_socket; - -static inline __u64 *xsk_ring_prod__fill_addr(struct xsk_ring_prod *fill, - __u32 idx) -{ - __u64 *addrs = (__u64 *)fill->ring; - - return &addrs[idx & fill->mask]; -} - -static inline const __u64 * -xsk_ring_cons__comp_addr(const struct xsk_ring_cons *comp, __u32 idx) -{ - const __u64 *addrs = (const __u64 *)comp->ring; - - return &addrs[idx & comp->mask]; -} - -static inline struct xdp_desc *xsk_ring_prod__tx_desc(struct xsk_ring_prod *tx, - __u32 idx) -{ - struct xdp_desc *descs = (struct xdp_desc *)tx->ring; - - return &descs[idx & tx->mask]; -} - -static inline const struct xdp_desc * -xsk_ring_cons__rx_desc(const struct xsk_ring_cons *rx, __u32 idx) -{ - const struct xdp_desc *descs = (const struct xdp_desc *)rx->ring; - - return &descs[idx & rx->mask]; -} - -static inline int xsk_ring_prod__needs_wakeup(const struct xsk_ring_prod *r) -{ - return *r->flags & XDP_RING_NEED_WAKEUP; -} - -static inline __u32 xsk_prod_nb_free(struct xsk_ring_prod *r, __u32 nb) -{ - __u32 free_entries = r->cached_cons - r->cached_prod; - - if (free_entries >= nb) - return free_entries; - - /* Refresh the local tail pointer. - * cached_cons is r->size bigger than the real consumer pointer so - * that this addition can be avoided in the more frequently - * executed code that computs free_entries in the beginning of - * this function. Without this optimization it whould have been - * free_entries = r->cached_prod - r->cached_cons + r->size. - */ - r->cached_cons = *r->consumer + r->size; - - return r->cached_cons - r->cached_prod; -} - -static inline __u32 xsk_cons_nb_avail(struct xsk_ring_cons *r, __u32 nb) -{ - __u32 entries = r->cached_prod - r->cached_cons; - - if (entries == 0) { - r->cached_prod = *r->producer; - entries = r->cached_prod - r->cached_cons; - } - - return (entries > nb) ? nb : entries; -} - -static inline __u32 xsk_ring_prod__reserve(struct xsk_ring_prod *prod, __u32 nb, __u32 *idx) -{ - if (xsk_prod_nb_free(prod, nb) < nb) - return 0; - - *idx = prod->cached_prod; - prod->cached_prod += nb; - - return nb; -} - -static inline void xsk_ring_prod__submit(struct xsk_ring_prod *prod, __u32 nb) -{ - /* Make sure everything has been written to the ring before indicating - * this to the kernel by writing the producer pointer. - */ - libbpf_smp_wmb(); - - *prod->producer += nb; -} - -static inline __u32 xsk_ring_cons__peek(struct xsk_ring_cons *cons, __u32 nb, __u32 *idx) -{ - __u32 entries = xsk_cons_nb_avail(cons, nb); - - if (entries > 0) { - /* Make sure we do not speculatively read the data before - * we have received the packet buffers from the ring. - */ - libbpf_smp_rmb(); - - *idx = cons->cached_cons; - cons->cached_cons += entries; - } - - return entries; -} - -static inline void xsk_ring_cons__cancel(struct xsk_ring_cons *cons, __u32 nb) -{ - cons->cached_cons -= nb; -} - -static inline void xsk_ring_cons__release(struct xsk_ring_cons *cons, __u32 nb) -{ - /* Make sure data has been read before indicating we are done - * with the entries by updating the consumer pointer. - */ - libbpf_smp_rwmb(); - - *cons->consumer += nb; -} - -static inline void *xsk_umem__get_data(void *umem_area, __u64 addr) -{ - return &((char *)umem_area)[addr]; -} - -static inline __u64 xsk_umem__extract_addr(__u64 addr) -{ - return addr & XSK_UNALIGNED_BUF_ADDR_MASK; -} - -static inline __u64 xsk_umem__extract_offset(__u64 addr) -{ - return addr >> XSK_UNALIGNED_BUF_OFFSET_SHIFT; -} - -static inline __u64 xsk_umem__add_offset_to_addr(__u64 addr) -{ - return xsk_umem__extract_addr(addr) + xsk_umem__extract_offset(addr); -} - -LIBBPF_API int xsk_umem__fd(const struct xsk_umem *umem); -LIBBPF_API int xsk_socket__fd(const struct xsk_socket *xsk); - -#define XSK_RING_CONS__DEFAULT_NUM_DESCS 2048 -#define XSK_RING_PROD__DEFAULT_NUM_DESCS 2048 -#define XSK_UMEM__DEFAULT_FRAME_SHIFT 12 /* 4096 bytes */ -#define XSK_UMEM__DEFAULT_FRAME_SIZE (1 << XSK_UMEM__DEFAULT_FRAME_SHIFT) -#define XSK_UMEM__DEFAULT_FRAME_HEADROOM 0 -#define XSK_UMEM__DEFAULT_FLAGS 0 - -struct xsk_umem_config { - __u32 fill_size; - __u32 comp_size; - __u32 frame_size; - __u32 frame_headroom; - __u32 flags; -}; - -LIBBPF_API int xsk_setup_xdp_prog(int ifindex, - int *xsks_map_fd); -LIBBPF_API int xsk_socket__update_xskmap(struct xsk_socket *xsk, - int xsks_map_fd); - -/* Flags for the libbpf_flags field. */ -#define XSK_LIBBPF_FLAGS__INHIBIT_PROG_LOAD (1 << 0) - -struct xsk_socket_config { - __u32 rx_size; - __u32 tx_size; - __u32 libbpf_flags; - __u32 xdp_flags; - __u16 bind_flags; -}; - -/* Set config to NULL to get the default configuration. */ -LIBBPF_API int xsk_umem__create(struct xsk_umem **umem, - void *umem_area, __u64 size, - struct xsk_ring_prod *fill, - struct xsk_ring_cons *comp, - const struct xsk_umem_config *config); -LIBBPF_API int xsk_umem__create_v0_0_2(struct xsk_umem **umem, - void *umem_area, __u64 size, - struct xsk_ring_prod *fill, - struct xsk_ring_cons *comp, - const struct xsk_umem_config *config); -LIBBPF_API int xsk_umem__create_v0_0_4(struct xsk_umem **umem, - void *umem_area, __u64 size, - struct xsk_ring_prod *fill, - struct xsk_ring_cons *comp, - const struct xsk_umem_config *config); -LIBBPF_API int xsk_socket__create(struct xsk_socket **xsk, - const char *ifname, __u32 queue_id, - struct xsk_umem *umem, - struct xsk_ring_cons *rx, - struct xsk_ring_prod *tx, - const struct xsk_socket_config *config); -LIBBPF_API int -xsk_socket__create_shared(struct xsk_socket **xsk_ptr, - const char *ifname, - __u32 queue_id, struct xsk_umem *umem, - struct xsk_ring_cons *rx, - struct xsk_ring_prod *tx, - struct xsk_ring_prod *fill, - struct xsk_ring_cons *comp, - const struct xsk_socket_config *config); - -/* Returns 0 for success and -EBUSY if the umem is still in use. */ -LIBBPF_API int xsk_umem__delete(struct xsk_umem *umem); -LIBBPF_API void xsk_socket__delete(struct xsk_socket *xsk); - -#ifdef __cplusplus -} /* extern "C" */ -#endif - -#endif /* __LIBBPF_XSK_H */ diff --git a/compile/remote-compile/lbc/ko/test b/compile/remote-compile/lbc/ko/test deleted file mode 100644 index b6fc4c6..0000000 --- a/compile/remote-compile/lbc/ko/test +++ /dev/null @@ -1 +0,0 @@ -hello \ No newline at end of file diff --git a/compile/remote-compile/lbc/libbpf b/compile/remote-compile/lbc/libbpf deleted file mode 120000 index 7fe2613..0000000 --- a/compile/remote-compile/lbc/libbpf +++ /dev/null @@ -1 +0,0 @@ -../../../third/libbpf/ \ No newline at end of file diff --git a/compile/remote-compile/lbc/run.sh b/compile/remote-compile/lbc/run.sh deleted file mode 100755 index 1355a8f..0000000 --- a/compile/remote-compile/lbc/run.sh +++ /dev/null @@ -1,2 +0,0 @@ -source /opt/rh/devtoolset-9/enable -/usr/local/bin/python3 /home/lbc/tool/entry.py $* \ No newline at end of file diff --git a/compile/remote-compile/lbc/tool/__init__.py b/compile/remote-compile/lbc/tool/__init__.py deleted file mode 100644 index d08ad5a..0000000 --- a/compile/remote-compile/lbc/tool/__init__.py +++ /dev/null @@ -1,16 +0,0 @@ -# -*- coding: utf-8 -*- -""" -------------------------------------------------- - File Name: __init__.py - Description : - Author : liaozhaoyan - date: 2021/7/17 -------------------------------------------------- - Change Activity: - 2021/7/17: -------------------------------------------------- -""" -__author__ = 'liaozhaoyan' - -if __name__ == "__main__": - pass diff --git a/compile/remote-compile/lbc/tool/atobj.py b/compile/remote-compile/lbc/tool/atobj.py deleted file mode 100644 index 52adfea..0000000 --- a/compile/remote-compile/lbc/tool/atobj.py +++ /dev/null @@ -1,261 +0,0 @@ -# -*- coding: utf-8 -*- -""" -------------------------------------------------- - File Name: atobj - Description : - Author : liaozhaoyan - date: 2022/11/6 -------------------------------------------------- - Change Activity: - 2022/11/6: -------------------------------------------------- -""" -__author__ = 'liaozhaoyan' - - -class CatObj(object): - def __init__(self): - self.atDict = { - "DW_AT_producer": self._at_producer, - "DW_AT_language": self._at_language, - "DW_AT_name": self._at_name, - "DW_AT_comp_dir": self._at_comp_dir, - "DW_AT_low_pc": self._at_low_pc, - "DW_AT_high_pc": self._at_high_pc, - "DW_AT_stmt_list": self._at_stmt_list, - "DW_AT_byte_size": self._at_byte_size, - "DW_AT_encoding": self._at_encoding, - "DW_AT_type": self._at_type, - "DW_AT_sibling": self._at_sibling, - "DW_AT_upper_bound": self._at_upper_bound, - "DW_AT_decl_file": self._at_decl_file, - "DW_AT_decl_line": self._at_decl_line, - "DW_AT_decl_column": self._at_decl_column, - "DW_AT_data_member_location": self._at_data_member_location, - "DW_AT_bit_size": self._at_bit_size, - "DW_AT_bit_offset": self._at_bit_offset, - "DW_AT_const_value": self._at_const_value, - "DW_AT_external": self._at_external, - "DW_AT_prototyped": self._at_prototyped, - "DW_AT_GNU_all_tail_call_sites": self._at_GNU_all_tail_call_sites, - "DW_AT_location": self._at_location, - "DW_AT_declaration": self._at_declaration, - "DW_AT_frame_base": self._at_frame_base, - "DW_AT_entry_pc": self._at_entry_pc, - "DW_AT_call_file": self._at_call_file, - "DW_AT_call_line": self._at_call_line, - "DW_AT_call_column": self._at_call_column, - "DW_AT_abstract_origin": self._at_abstract_origin, - "DW_AT_ranges": self._at_ranges, - "DW_AT_specification": self._at_specification, - "DW_AT_GNU_all_call_sites": self._at_GNU_all_call_sites, - "DW_AT_GNU_call_site_value": self._at_GNU_call_site_value, - "DW_AT_GNU_tail_call": self._at_GNU_tail_call, - "DW_AT_GNU_call_site_target": self._at_GNU_call_site_target, - "DW_AT_inline": self._at_inline, - "DW_AT_artificial": self._at_artificial, - "DW_AT_linkage_name": self._at_linkage_name, - "DW_AT_noreturn": self._at_noreturn, - "DW_AT_alignment": self._at_alignment, - "DW_AT_call_all_calls": self._at_call_all_calls, - "DW_AT_GNU_locviews": self._at_GNU_locviews, - "DW_AT_GNU_entry_view": self._at_GNU_entry_view, - "DW_AT_call_return_pc": self._at_call_return_pc, - "DW_AT_call_origin": self._at_call_origin, - "DW_AT_call_value": self._at_call_value, - "DW_AT_call_parameter": self._at_call_parameter, - "DW_AT_count": self._at_count, - "DW_AT_data_bit_offset": self._at_data_bit_offset, - "DW_AT_call_all_tail_calls": self._at_call_all_tail_calls, - "DW_AT_call_target": self._at_call_target, - "DW_AT_GNU_vector": self._at_GNU_vector, - } - - def _at_GNU_vector(self, values): - return self._at_byte_size(values) - - def _at_call_target(self, values): - return values - - def _at_call_all_tail_calls(self, values): - return self._at_byte_size(values) - - def _at_data_bit_offset(self, values): - return self._at_byte_size(values) - - def _at_count(self, values): - return self._at_byte_size(values) - - def _at_call_parameter(self, values): - return self._at_call_origin(values) - - def _at_call_value(self, values): - return values - - def _at_call_origin(self, values): # <0xda> - return self._at_byte_size(values[1:-1]) - - def _at_call_return_pc(self, values): # addr - return self._at_byte_size(values) - - def _at_GNU_entry_view(self, values): - return self._at_byte_size(values) - - def _at_GNU_locviews(self, values): - return self._at_byte_size(values) - - def _at_call_all_calls(self, values): - return self._at_byte_size(values) - - def _at_alignment(self, values): - return self._at_byte_size(values) - - def _at_noreturn(self, values): - return self._at_byte_size(values) - - def _at_GNU_call_site_target(self, values): - return values - - def _at_artificial(self, values): - self._at_byte_size(values) - - def _at_linkage_name(self, values): - try: - self._at_producer(values) - except ValueError: - return values - - def _at_inline(self, values): - return values - - def _at_GNU_tail_call(self, values): - return values - - def _at_GNU_call_site_value(self, values): - return values - - def _at_GNU_all_call_sites(self, values): - return self._at_byte_size(values) - - def _at_specification(self, values): - return self._at_type(values) - - def _at_ranges(self, values): - return self._at_byte_size(values) - - def _at_abstract_origin(self, values): - return self._at_type(values) - - def _at_call_column(self, values): - return self._at_byte_size(values) - - def _at_call_line(self, values): - return self._at_byte_size(values) - - def _at_call_file(self, values): - return self._at_byte_size(values) - - def _at_entry_pc(self, values): - return self._at_low_pc(values) - - def _at_producer(self, values): - if "):" in values: - _, value = values.split("):", 1) - return value.strip() - return values - - def _at_language(self, values): - if values.startswith("("): - _, value = values.rsplit("(", 1) - return value[:-1] - return values - - def _at_name(self, values): - if len(values) and values[0] == '(': - return self._at_producer(values) - return values - - def _at_comp_dir(self, values): - return self._at_producer(values) - - def _at_low_pc(self, values): - return self._at_byte_size(values) - - def _at_high_pc(self, values): - return int(values, 16) - - def _at_stmt_list(self, values): - return self._at_high_pc(values) - - def _at_byte_size(self, values): - try: - if values.startswith("0x"): - res = int(values, 16) - else: - res = int(values) - except ValueError: - res = values - return res - - def _at_encoding(self, values): - _, value = values.split("(", 1) - return value[:-1] - - def _at_type(self, values): - value = int(values[1:-1], 16) - return value - - def _at_sibling(self, values): - return self._at_type(values) - - def _at_upper_bound(self, values): - return self._at_byte_size(values) - - def _at_decl_file(self, values): - return self._at_byte_size(values) - - def _at_decl_line(self, values): - return self._at_byte_size(values) - - def _at_decl_column(self, values): - return self._at_byte_size(values) - - def _at_data_member_location(self, values): - return self._at_byte_size(values) - - def _at_bit_size(self, values): - return self._at_byte_size(values) - - def _at_bit_offset(self, values): - return self._at_byte_size(values) - - def _at_const_value(self, values): - try: - return self._at_byte_size(values) - except ValueError: - return values - - def _at_external(self, values): - return self._at_byte_size(values) - - def _at_prototyped(self, values): - return self._at_byte_size(values) - - def _at_frame_base(self, values): - return values - - def _at_GNU_all_tail_call_sites(self, values): - return self._at_byte_size(values) - - def _at_location(self, values): - return values - - def _at_declaration(self, values): - return self._at_byte_size(values) - - def parse(self, tag, value): - return self.atDict[tag](value) - - -if __name__ == "__main__": - pass diff --git a/compile/remote-compile/lbc/tool/bpftool b/compile/remote-compile/lbc/tool/bpftool deleted file mode 100755 index c5629886d07cde839e88d7fee8f6d4ae839944dd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2453464 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

Oisa?D2~ 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%0A@w6t{ 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

=9>ISlvL<{j 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

cI=KrXS$O3YbS>zK1_E?XVjJhpna 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�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%0DiuOxoe`_6L3bGZXGS2=f0?`7@eKBJ%%9 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 buffSize: - return None - while len(d) < size: - d += s.recv(buffSize) - return json.loads(d[11:]) - - def _send_lbc(self, s, send): - send = "LBC%08x" % (len(send)) + send - s.send(send.encode()) - - def _setupArch(self, dRecv): - if 'arch' in dRecv: - return dRecv['arch'] - return 'x86_64' - - def _changeDbDir(self, dRecv): - arch = self._setupArch(dRecv) - dbPath = dbDir + f"{arch}/" - if not os.path.exists(dbPath): - return {"log": f"arch {arch} not support."} - else: - os.chdir(dbPath) - return {"log": "ok."} - - def _dbCheck(self, dRecv, k): - path = f"info-{dRecv['ver']}.db" - try: - i = CinfoParse(path) - except IOError: - return {"log": "version not support."} - if k not in dRecv or dRecv[k] == "" or not self._checkSql(dRecv[k]): - return {"log": f"bad {k} key."} - return {"db": i} - - def _dbCheckArg(self, k, v): - if ";" in v: - return {"log": f"bad {k} key."} - - def __getFunc(self, dRecv): - dSend = {"log": "ok."} - ds = self._dbCheck(dRecv, "func") - if "log" in ds: - return ds - i = ds["db"] - func = dRecv["func"] - if "ret" in dRecv: - r = self._dbCheckArg("ret", dRecv["ret"]) - if r: - return r - try: - dSend['res'] = i.getFuncFilterRet(dRecv["ret"], func=dRecv["func"]) - return dSend - except ValueError: - return {"log": f"query value error."} - if "arg" in dRecv: - r = self._dbCheckArg("arg", dRecv["arg"]) - if r: return r - try: - dSend['res'] = i.getFuncFilterArg(dRecv["arg"], func=dRecv["func"]) - return dSend - except ValueError: - return {"log": f"query value error."} - if "%" in func: - dSend['res'] = i.getFuncs(func) - else: - dSend['res'] = i.getFunc(func) - return dSend - - def _getFunc(self, client_socket, dRecv): - res = self._changeDbDir(dRecv) - if res['log'] != "ok.": - self._send_lbc(client_socket, json.dumps(res)) - res = self.__getFunc(dRecv) - self._send_lbc(client_socket, json.dumps(res)) - - def __getStuct(self, dRecv): - dSend = {"log": "ok."} - ds = self._dbCheck(dRecv, "struct") - if "log" in ds: - return ds - i = ds["db"] - struct = dRecv["struct"] - dSend['res'] = i.getStruct(struct) - return dSend - - def _getStruct(self, client_socket, dRecv): - res = self._changeDbDir(dRecv) - if res['log'] != "ok.": - self._send_lbc(client_socket, json.dumps(res)) - self._send_lbc(client_socket, json.dumps(self.__getStuct(dRecv))) - - def __getType(self, dRecv): - dSend = {"log": "ok."} - ds = self._dbCheck(dRecv, "type") - if "log" in ds: - return ds - i = ds["db"] - t = dRecv["type"] - dSend['res'] = i.getType(t) - return dSend - - def _getType(self, client_socket, dRecv): - res = self._changeDbDir(dRecv) - if res['log'] != "ok.": - self._send_lbc(client_socket, json.dumps(res)) - self._send_lbc(client_socket, json.dumps(self.__getType(dRecv))) - - def _transArch(self, arch): - if arch == 'x86_64': - return 'x86' - return arch - - def _compileSo(self, client_socket, dRecv): - dSend = {"log": "not start", "so": None} - if "code" not in dRecv: - self._send_lbc(client_socket, json.dumps({"log": "not code."})) - return - if 'env' not in dRecv: - dRecv['env'] = "" - with self._lock: - print("compile for %s" % dRecv['ver']) - os.chdir(compileDir) - with open("bpf/lbc.bpf.c", 'w') as f: - f.write(dRecv['code']) - if os.path.exists(soFile): - os.remove(soFile) - ver = dRecv['ver'] - arch = self._setupArch(dRecv) - self._c.cmd("rm -f bpf/vmlinux.h") - dSend['log'] = self._c.cmd('make VMLINUX_VERSION=%s ARCH=%s CARCH=%s %s' % (ver, - arch, - self._transArch(arch), - dRecv['env'])) - print(dSend['log']) - try: - with open(soFile, 'rb') as f: - dSend['so'] = base64.b64encode(f.read()).decode() - except: - print("comiple fialed.") - self._send_lbc(client_socket, json.dumps(dSend)) - - def _sendBtf(self, client_socket, dRecv): - arch = self._setupArch(dRecv) - btfPath = btfDir + f"{arch}/" - os.chdir(btfPath) - dSend = {'ver': dRecv['ver'], 'arch': arch} - name = "vmlinux-%s" % dRecv['ver'] - try: - with open(name, 'rb') as f: - dSend['btf'] = base64.b64encode(f.read()).decode() - dSend['log'] = "get btf file ok." - except IOError: - dSend['log'] = "read btf file failed." - self._send_lbc(client_socket, json.dumps(dSend)) - - # data format: {"cmd": "btf/c/db/func/struct", "ver"} - def _recv_data(self, client_socket): - dRecv = self._recv_lbc(client_socket) - if dRecv is None: - return - - if "cmd" not in dRecv: - dRecv['log'] = 'unknown request.' - self._send_lbc(client_socket, json.dumps(dRecv)) - return - - if dRecv["cmd"] not in self._callDict: - dRecv['log'] = 'unknown cmd.' - self._send_lbc(client_socket, json.dumps(dRecv)) - return - - if "ver" not in dRecv: - dRecv['log'] = 'no kernel version info.' - self._send_lbc(client_socket, json.dumps(dRecv)) - return - - udpPut(dRecv) - self._callDict[dRecv['cmd']](client_socket, dRecv) - - def recv_data(self, client_socket, client_addr): - self._recv_data(client_socket) - client_socket.close() - - -if __name__ == "__main__": - server = ClocalTcpServer(LBC_COMPILE_PORT) - server.start() - try: - signal.pause() - except KeyboardInterrupt: - print("stop") - pid = os.getpid() - os.system("kill %d" % pid) diff --git a/compile/remote-compile/lbc/tool/dict2db.py b/compile/remote-compile/lbc/tool/dict2db.py deleted file mode 100644 index a62b570..0000000 --- a/compile/remote-compile/lbc/tool/dict2db.py +++ /dev/null @@ -1,524 +0,0 @@ -# -*- coding: utf-8 -*- -""" -------------------------------------------------- - File Name: dict2db - Description : - Author : liaozhaoyan - date: 2022/11/6 -------------------------------------------------- - Change Activity: - 2022/11/6: -------------------------------------------------- -""" -__author__ = 'liaozhaoyan' - -import datetime -import os -import sqlite3 -import json -import traceback - - -class Cobj2db(object): - def __init__(self, path, db, pointSize=8): - super(Cobj2db, self).__init__() - self._path = path - self._db = self._setupDb(db) - self._offD = {} - self._cur = None - - self._sizePoint = pointSize - # for dwarf 5 - self._bit_offset = -1 - self._bit_size = -1 - - self._cbs = { - "DW_TAG_base_type": self._cb_base_type, - "DW_TAG_pointer_type": self._cb_point_type, - "DW_TAG_typedef": self._cb_typedef, - "DW_TAG_subprogram": self._cb_subprogram, - "DW_TAG_structure_type": self._cb_structure, - "DW_TAG_union_type": self._cb_union, - "DW_TAG_enumeration_type": self._cb_enumeration, - } - self._refs = { - "DW_TAG_structure_type": self._ref_sue, - "DW_TAG_union_type": self._ref_sue, - "DW_TAG_enumeration_type": self._ref_sue, - "DW_TAG_base_type": self._ref_base, - "DW_TAG_pointer_type": self._ref_pointer, - "DW_TAG_subroutine_type": self._ref_subroutine, - "DW_TAG_array_type": self._ref_array, - "DW_TAG_formal_parameter": self._ref_formal, - "DW_TAG_member": self._ref_formal, - "DW_TAG_typedef": self._ref_jump, - "DW_TAG_const_type": self._ref_jump, - "DW_TAG_volatile_type": self._ref_jump, - } - - def _setupDb(self, dbPath): - if os.path.exists(dbPath): - db = sqlite3.connect(dbPath) - db.execute("PRAGMA journal_mode = MEMORY") - db.execute("PRAGMA synchronous = OFF") - return db - db = sqlite3.connect(dbPath) - db.execute("PRAGMA journal_mode = MEMORY") - db.execute("PRAGMA synchronous = OFF") - cur = db.cursor() - sqls = [ - """CREATE TABLE files ( - id INTEGER PRIMARY KEY autoincrement, - file TEXT - );""", - """CREATE TABLE funs ( - id INTEGER PRIMARY KEY autoincrement, - func VARCHAR (128), - args VARCHAR (256), - argi VARCHAR (256), - ret VARCHAR (64), - line INTEGER, - fid INTEGER, - module VARCHAR (64) - );""", - """CREATE TABLE structs ( - id INTEGER PRIMARY KEY autoincrement, - name VARCHAR (64), - members INTEGER, - bytes INTEGER - );""", - """CREATE TABLE members ( - id INTEGER PRIMARY KEY autoincrement, - fid INTEGER, - types VARCHAR (128), - name VARCHAR (64), - offset INTEGER, - bytes INTEGER, - bits VARCHAR (16) DEFAULT "" - );""", - """CREATE TABLE types ( - id INTEGER PRIMARY KEY autoincrement, - name VARCHAR (64), - alias VARCHAR (64), - bytes INTEGER - );""", - """CREATE INDEX "iname" ON "structs" ( "name" ASC );""", - """CREATE INDEX "tname" ON "types" ( "name" ASC );""", - ] - for sql in sqls: - cur.execute(sql) - cur.close() - return db - - def _type_is_in(self, t): - sql = "SELECT name FROM types WHERE name = '%s'" % t - res = self._cur.execute(sql) - if res is None: - return False - r = res.fetchone() - if r is None: - return False - return True - - def _save_type(self, name, alias, size): - sql = 'INSERT INTO types (name, alias, bytes) VALUES ("%s", "%s", %d)' % ( - name, alias, size - ) - self._cur.execute(sql) - - def _save_file(self, fileName): - sql = '''INSERT INTO files (file) VALUES ("%s")''' % fileName - self._cur.execute(sql) - return self._cur.lastrowid - - def _get_ref_array(self, cell): - res = "" - for child in cell["child"]: - if "DW_AT_upper_bound" in child: - res += "[%d]" % (child["DW_AT_upper_bound"] + 1) - elif "DW_AT_count" in child: - res += "[%d]" % (child["DW_AT_count"]) - else: - res += "[%d]" % 1 - return res - - def _get_array_scale(self, cell): - scale = 1 - for child in cell["child"]: - if "DW_AT_upper_bound" in child: - scale *= child["DW_AT_upper_bound"] + 1 - elif "DW_AT_count" in child: - scale *= child["DW_AT_count"] - return scale - - def _get_pfunc(self, cell): - if "DW_AT_type" in cell: - resId = cell['DW_AT_type'] - resCell = self._offD[resId] - res = self._get_ref_type(resCell) - else: - res = "void" - - if "child" in cell: - args = [] - for child in cell["child"]: - if "DW_AT_type" in child: - resId = child['DW_AT_type'] - resCell = self._offD[resId] - args.append(self._get_ref_type(resCell)) - else: - args = ["void"] - break - else: - args = ['void'] - return "%s (*)(%s)" % (res, ", ".join(args)) - - def _ref_sue(self, cell): - aType = cell["tag_name"] - tHeads = { - "DW_TAG_structure_type": "struct", - "DW_TAG_union_type": "union", - "DW_TAG_enumeration_type": "enum", - } - if "DW_AT_name" in cell: - return " ".join((tHeads[aType], cell["DW_AT_name"])) - else: - return tHeads[aType] - - def _ref_base(self, cell): - return cell["DW_AT_name"] - - def _ref_pointer(self, cell): - if 'DW_AT_type' in cell: - resId = cell['DW_AT_type'] - resCell = self._offD[resId] - if resCell["tag_name"] == "DW_TAG_subroutine_type": - return self._get_pfunc(resCell) - return self._get_ref_type(resCell) + "*" - else: - return "void*" - - def _ref_subroutine(self, cell): - return self._get_pfunc(cell) - - def _ref_array(self, cell): - resId = cell['DW_AT_type'] - resCell = self._offD[resId] - return self._get_ref_type(resCell) + self._get_ref_array(cell) - - def _ref_formal(self, cell): - resId = cell['DW_AT_type'] - resCell = self._offD[resId] - return self._get_ref_type(resCell) - - def _ref_jump(self, cell): - if "DW_AT_type" in cell: - resId = cell['DW_AT_type'] - resCell = self._offD[resId] - return self._get_ref_type(resCell) - return "void" - - def _get_ref_type(self, cell): - aType = cell["tag_name"] - if aType in self._refs.keys(): - return self._refs[aType](cell) - return aType - - def _get_ref_cell(self, cell): - resId = cell['DW_AT_type'] - resCell = self._offD[resId] - aType = resCell["tag_name"] - if aType in ("DW_TAG_const_type", "DW_TAG_volatile_type"): - return self._get_ref_cell(resCell) - return resCell - - def _get_ref_size(self, cell): - scale = 1 - while "DW_AT_byte_size" not in cell: - if cell["tag_name"] == "DW_TAG_array_type": - scale = self._get_array_scale(cell) - if cell["tag_name"] == "DW_TAG_pointer_type": - if "DW_AT_byte_size" not in cell: - cell["DW_AT_byte_size"] = self._sizePoint - break - if "DW_AT_type" in cell: - resId = cell['DW_AT_type'] - cell = self._offD[resId] - else: - return 8 * scale - return cell["DW_AT_byte_size"] * scale - - def _get_func_args(self, childs): - args = [] - argi = [] - for cell in childs: - aType = cell["tag_name"] - if aType == "DW_TAG_formal_parameter": - args.append(self._get_ref_type(cell)) - argi.append(cell['DW_AT_name']) - return args, argi - - def _cb_subprogram(self, cell): - if "DW_AT_name" not in cell: - return - if "DW_AT_frame_base" not in cell: - return - name = cell['DW_AT_name'] - if "DW_AT_decl_line" in cell: - line = cell['DW_AT_decl_line'] - else: - line = 0 - - if "DW_AT_type" in cell: - resId = cell['DW_AT_type'] - resCell = self._offD[resId] - retType = self._get_ref_type(resCell) - else: - retType = "void" - - if "child" in cell: - args, argi = self._get_func_args(cell['child']) - else: - args = ["void"] - argi = [] - - sql = '''INSERT INTO funs (func, args, argi, ret, line, fid, module) VALUES \ - ("%s", ?, ?, "%s", %d, %d, "%s")''' % ( - name, retType, line, self._fileId, self._path) - self._cur.execute(sql, (json.dumps(args), json.dumps(argi))) - - def _save_type1(self, cell, name, alias=""): - if not self._type_is_in(name): - if alias == "": - alias = name - size = self._get_ref_size(cell) - self._save_type(name, alias, size) - - def _save_type_void(self, name, alias=""): - if not self._type_is_in(name): - self._save_type(name, alias, 0) - - def _cb_base_type(self, cell): - self._save_type1(cell, cell['DW_AT_name']) - - def _cb_point_type(self, cell): - self._save_type1(cell, "void *") - - def _cb_typedef(self, cell): - name = cell["DW_AT_name"] - if "DW_AT_type" in cell: - resId = cell['DW_AT_type'] - resCell = self._offD[resId] - while resCell["tag_name"] == "DW_TAG_typedef": - if "DW_AT_type" in resCell: - resId = resCell['DW_AT_type'] - resCell = self._offD[resId] - else: - return self._save_type_void(name, "void") - alias = self._get_ref_type(resCell) - if alias in ("struct", "union", "enum"): - self._save_struct(resCell, name) # no struct name - alias = name - self._save_type1(resCell, name, alias) - else: - return self._save_type_void(name, "void") - - def _struct_is_in(self, sStruct): - sql = "SELECT name FROM structs WHERE name = '%s'" % sStruct - res = self._cur.execute(sql) - if res is None: - return False - r = res.fetchone() - if r is None: - return False - return True - - def _member_bits(self, cell): - res = "" - if "DW_AT_bit_offset" in cell: - size = cell["DW_AT_bit_size"] - offs = 8 * cell["DW_AT_byte_size"] - cell["DW_AT_bit_offset"] - size - res = "%d:%d" % (offs, size) - - elif "DW_AT_data_bit_offset" in cell: # for dwarf5 - size = cell["DW_AT_bit_size"] - offs = cell["DW_AT_data_bit_offset"] - self._bit_offset * 8 - res = "%d:%d" % (offs, size) - - return res - - def _save_member(self, cell, fid, offset): - isAnony = False - types = self._get_ref_type(cell) - if types in ("struct", "union"): # anon members. for clang - types = self._anony_member(types, cell) - isAnony = True - if "DW_AT_name" in cell: - name = cell["DW_AT_name"] - elif isAnony: - name = "$" - else: - print(cell) - raise ValueError("bad struct") - size = self._get_ref_size(cell) - bits = self._member_bits(cell) - sql = "INSERT INTO members (fid, types, name, offset, bytes, bits) " - sql += 'VALUES (%d, "%s", "%s", %d, %d, "%s")' % (fid, types, name, offset, size, bits) - self._cur.execute(sql) - - def _anony_member(self, types, cell): - cell = self._get_ref_cell(cell) - while cell["tag_name"] == "DW_TAG_typedef": - cell = self._get_ref_cell(cell) - name = f"{types} ${cell['offset']}" - if not self._struct_is_in(name): - self._save_struct(cell, name) - return name - - def _anony_struct(self, cell, fid, beg): - size = cell["DW_AT_byte_size"] - if size > 0: - isStruct = cell['tag_name'] == "DW_TAG_structure_type" - self._bit_offset = -1 - self._bit_size = -1 - offset = 0 - for child in cell["child"]: - if isStruct: - if "DW_AT_data_member_location" in child: - offset = beg + child["DW_AT_data_member_location"] - elif "DW_AT_data_bit_offset" in child: - offset = beg + self._cal_bit_offset(child) - elif child["tag_name"] in self._cbs.keys(): - self._saveCell(child) - else: - raise ValueError("bad cell", child) - else: - offset = beg - if "DW_AT_name" in child: - self._save_member(child, fid, offset) - elif child["tag_name"] not in self._cbs.keys(): - self._save_member(cell, fid, offset) - # resCell = self._get_ref_cell(child) - # self._anony_struct(resCell, fid, offset) - - def _cal_bit_offset(self, cell): - size = self._get_ref_size(cell) - offset = cell["DW_AT_data_bit_offset"] / 8 - if offset >= self._bit_offset + self._bit_size: - self._bit_offset = offset - self._bit_size = size - else: - offset = self._bit_offset - return offset - - def _save_struct(self, cell, sStruct): - if "DW_AT_byte_size" not in cell: - return - size = cell["DW_AT_byte_size"] - if size > 0: - nums = len(cell["child"]) - sql = 'INSERT INTO structs (name, members, bytes) ' - sql += 'VALUES ("%s", %d, %d)' % (sStruct, nums, size) - self._cur.execute(sql) - fid = self._cur.lastrowid - - isStruct = cell['tag_name'] == "DW_TAG_structure_type" - self._bit_offset = -1 - self._bit_size = -1 - offset = 0 - for child in cell["child"]: - if isStruct: - if "DW_AT_data_member_location" in child: - offset = child["DW_AT_data_member_location"] - elif "DW_AT_data_bit_offset" in child: - offset = self._cal_bit_offset(child) - elif child["tag_name"] in self._cbs.keys(): - self._saveCell(child) - else: - print(child) - raise ValueError("bad cell") - else: - offset = 0 - - if "DW_AT_name" in child: - self._save_member(child, fid, offset) - elif child["tag_name"] not in self._cbs.keys(): # for anony struct or union - self._save_member(child, fid, offset) - # resCell = self._get_ref_cell(child) - # self._anony_struct(resCell, fid, offset) - else: - nums = 0 - sql = 'INSERT INTO structs (name, members, bytes) ' - sql += 'VALUES ("%s", %d, %d)' % (sStruct, nums, size) - self._cur.execute(sql) - - def _cb_structure(self, cell): - if "DW_AT_name" in cell: - sStruct = "struct " + cell["DW_AT_name"] - if not self._struct_is_in(sStruct): - self._save_struct(cell, sStruct) - - def _cb_union(self, cell): - if "DW_AT_name" in cell: - sStruct = "union " + cell["DW_AT_name"] - if not self._struct_is_in(sStruct): - self._save_struct(cell, sStruct) - - def _cb_enumeration(self, cell): - if "DW_AT_name" in cell: - sStruct = "enum " + cell["DW_AT_name"] - if not self._struct_is_in(sStruct): - if "DW_AT_byte_size" in cell: - size = cell["DW_AT_byte_size"] - nums = len(cell["child"]) - sql = 'INSERT INTO structs (name, members, bytes) ' - sql += 'VALUES ("%s", %d, %d)' % (sStruct, nums, size) - self._cur.execute(sql) - - def _walk_offs(self, cells): - for cell in cells: - self._offD[cell['offset']] = cell - if "child" in cell: - self._walk_offs(cell["child"]) - - def _saveCell(self, cell): - tag = cell["tag_name"] - if tag in self._cbs.keys(): - try: - self._cbs[tag](cell) - except sqlite3.OperationalError as e: - print(e) - - def _splitCells(self, cells): - for cell in cells: - self._saveCell(cell) - - def _toDb(self, desc): - topD = desc - if topD["tag_name"] != "DW_TAG_compile_unit": - raise ValueError("top dict tag name is %s, not DW_TAG_compile_unit" % - topD["tag_name"]) - - self._offD[topD['offset']] = topD - path = topD["DW_AT_comp_dir"] - name = topD["DW_AT_name"] - self._filePath = os.path.join(path, name) - print(self._filePath) - self._fileId = self._save_file(self._filePath) - if "child" in topD: - self._walk_offs(topD["child"]) - self._splitCells(topD["child"]) - self._offD = {} - - def walks(self, desc): - self._cur = self._db.cursor() - self._cur.execute("BEGIN TRANSACTION") - self._toDb(desc) - self._cur.execute("END TRANSACTION") - self._cur.close() - self._db.commit() - self._db.close() - - -if __name__ == "__main__": - pass diff --git a/compile/remote-compile/lbc/tool/entry.py b/compile/remote-compile/lbc/tool/entry.py deleted file mode 100644 index d6e8d4e..0000000 --- a/compile/remote-compile/lbc/tool/entry.py +++ /dev/null @@ -1,57 +0,0 @@ -import sys -import json -import tornado.web -import tornado.ioloop -from tornado.options import define, options -from tornado.httpserver import HTTPServer -from tornado.escape import json_encode -from surfServer import CsurfServer -from multiprocessing import Lock - -define("port", default=7655, help="r compile server.", type=int) - - -class CsurfHandler(tornado.web.RequestHandler): - hLock = Lock() - surf = CsurfServer(hLock, sys.argv[1]) - - def post(self): - lines = self.request.body.decode() - response = None - try: - parses = json.loads(lines) - except json.decoder.JSONDecodeError: - response = { - "result": 'failed', - 'status': False, - 'code': 500, - 'res': [{'log': lines}] - } - if response is None: - res = [] - for parse in parses: - res.append(CsurfHandler.surf.proc(parse)) - response = { - "result": 'success', - 'status': True, - 'code': 200, - 'res': res - } - self.write(json_encode(response)) - - -if __name__ == "__main__": - if len(sys.argv) == 1: - sys.argv.append("127.0.0.1") - app = tornado.web.Application( - [ - (r"/lbc", CsurfHandler), - ], - ) - # app.listen(options.port) - server = HTTPServer(app) - server.bind(options.port) - server.start(5) - - # print("http://0.0.0.0:{}/".format(options.port)) - tornado.ioloop.IOLoop.instance().start() \ No newline at end of file diff --git a/compile/remote-compile/lbc/tool/ffiGen.py b/compile/remote-compile/lbc/tool/ffiGen.py deleted file mode 100644 index ac25473..0000000 --- a/compile/remote-compile/lbc/tool/ffiGen.py +++ /dev/null @@ -1,157 +0,0 @@ -# -*- coding: utf-8 -*- -""" -------------------------------------------------- - File Name: ffiGen - Description : - Author : liaozhaoyan - date: 2022/12/1 -------------------------------------------------- - Change Activity: - 2022/12/1: -------------------------------------------------- -""" -__author__ = 'liaozhaoyan' - -from surftrace.dbParser import CdbParser - - -class CffiGen(object): - def __init__(self, db): - super(CffiGen, self).__init__() - self._parser = CdbParser(db) - self._baseType = ( - "char", "unsigned char", "signed char", - "short", "unsigned short", "signed short", - "int", "unsigned int", "signed int", - "long int", "unsigned long int", "signed long int", - "long long int", "long long unsigned int", "signed long long int", "unsigned long long int", - "long unsigned int", "long long", "long", - "float", "double", - "void *", "void", "_Bool", - ) - self._lines = [] - self._cells = [] - self._tails = [] - - def _getType(self, t): - if '*' in t: - return self._parser.getType("void *") - elif t in self._baseType: - return self._parser.getType(t) - elif ' ' in t: - head, body = t.split(" ", 1) - if head in ("struct", "union", "enum"): - return self._parser.getStruct(t) - else: - raise ValueError("bad head: %s" % t) - else: - res = self._parser.getType(t) - alias = res["res"]["type"] - if alias == t: - return self._parser.getStruct(t) - else: - return self._getType(alias) - - def outType(self, t, res): - if t != res['name']: - line = "typedef %s %s;" % (res['name'], t) - self._lines.insert(0, line) - - def _checkMemberType(self, sType): - if sType.endswith("*"): # for function void (*)(struct callback_head) - sType = sType.replace("*", "") - - if sType in self._cells or sType in self._baseType: - return "" - if sType.startswith("struct ") or sType.startswith("union "): - res = self._getType(sType) - if res['res'] and "cell" in res['res']: - self._cells.append(sType) - self._tails.append(res['res']) - return sType + ';\n' - elif "(" in sType: - return "" - elif sType.startswith("enum"): - return "" - elif sType in ("struct", "union"): - self._cells.append(sType) - return "" - else: - print(sType) - - def _anonStruct(self, res, topName, step): - pre = "" - head = res["name"].split(" ")[0] - tabs = '\t' * step - line = "%s%s {\n" % (tabs, head) - for cell in res["cell"]: - sType = cell["type"] - sName = cell["name"] - if "$" in sType: - sub = self._getType(sType)['res'] - self._anonStruct(sub, sName, step + 1) - else: - if '[' in sType: - sType, sArr = sType.split("[", 1) - sName += "[" + sArr - pre += self._checkMemberType(sType) - line += "%s\t%s %s;\n" % (tabs, sType, sName) - line += "%s} %s;\n" % (tabs, topName) - return pre, line - - def outStruct(self, res, step): - name = res["name"] - if name not in self._cells: - self._cells.append(name) - tabs = '\t' * step - if name.startswith("struct ") or name.startswith("union "): - pre = "" - line = "%s%s {\n" % (tabs, name) - for cell in res["cell"]: - sType = cell["type"] - sName = cell["name"] - if sName == "$": - print("anony members.") - sName = "" - if "$" in sType: - sub = self._getType(sType)['res'] - apre, aline = self._anonStruct(sub, sName, step + 1) - pre += apre - line += aline - else: - if '[' in sType: - sType, sArr = sType.split("[", 1) - sName += "[" + sArr - pre += self._checkMemberType(sType) - line += "%s\t%s %s;\n" % (tabs, sType, sName) - line += "%s};\n" % tabs - self._lines.append(pre + line) - - def gen(self, t): - if '[' in t: - t, _ = t.split('[', 1) - if t in self._cells or t in self._baseType: - return - - res = self._getType(t)['res'] - if "cell" in res: - self.outStruct(res, 0) - else: - self.outType(t, res) - - def out(self): - for r in self._tails: - self.outStruct(r, 0) - return "\n".join(self._lines) - - -if __name__ == "__main__": - g = CffiGen("bpf.db") - g.gen("int") - g.gen("u64[63]") - g.gen("iw_handler") - g.gen("struct task_struct") - g.gen("struct mm_struct") - g.gen("struct data_t") - print(g.out()) - pass diff --git a/compile/remote-compile/lbc/tool/generateUser.py b/compile/remote-compile/lbc/tool/generateUser.py deleted file mode 100644 index dff3be7..0000000 --- a/compile/remote-compile/lbc/tool/generateUser.py +++ /dev/null @@ -1,119 +0,0 @@ -# -*- coding: utf-8 -*- -""" -------------------------------------------------- - File Name: generateUser - Description : - Author : liaozhaoyan - date: 2021/7/17 -------------------------------------------------- - Change Activity: - 2021/7/17: -------------------------------------------------- -""" -__author__ = 'liaozhaoyan' - -import re -import os -import sys -import json -import hashlib -from checkSymbol import ClbcSymbol -# from parseArgs import CpaserGdbArgs -from parsePahole import CparsePahole -from objelf import CobjElf -from ffiGen import CffiGen - - -class CgenerateUser(object): - def __init__(self, path='./'): - self.__path = path - self._skel = os.path.join(self.__path, '.output/lbc.skel.h') - self._bpfc = os.path.join(self.__path, "bpf/lbc.bpf.c") - self._bpfo = os.path.join(self.__path, '.output/lbc.bpf.o') - self._ffiDb = os.path.join(self.__path, "lbc.db") - self._reMaps = re.compile("struct bpf_map \\*[A-Za-z0-9_]+;") - - def upSkel(self, skel): - self._skel = skel - - def getSkelMaps(self): - rs = [] - with open(self._skel) as fSkel: - line = fSkel.read() - maps = self._reMaps.findall(line) - for m in maps: - t, v = m.rsplit("*", 1) - rs.append(v[:-1]) - return rs - - def createUser(self, ver, arch, env="", oFile='src/bpf_init.c'): - - s = self.genModelSymbols(ver, arch, env) - if not os.path.exists("src"): - os.mkdir("src") - with open(os.path.join(self.__path, oFile), 'w') as f: - f.write(s) - - def _genFFI(self, ffiList): - if os.path.exists(self._ffiDb): - os.remove(self._ffiDb) - e = CobjElf(self._bpfo) - e.toDb("lbc", self._ffiDb) - g = CffiGen(self._ffiDb) - for ffi in ffiList: - g.gen(ffi) - return g.out() - # os.remove(self._ffiDb) - - def genModelSymbols(self, ver, arch, env=""): - a = CparsePahole(self._bpfo) - dOut = {} - dMaps = {} - with open(self._bpfc, 'r') as f: - sym = ClbcSymbol() - s = f.read() - s += env - dOut['hash'] = hashlib.sha256(s.encode()).hexdigest() - ffiList = [] - ds = sym.findEvent(s) - for k, v in ds.items(): - dMaps[k] = {'type': v['type'], - "fktype": "", 'ktype': None, - "fvtype": v['vtype'], "vtype": a.parseType(v['vtype'])} - if v['vtype'] not in ffiList: - ffiList.append(v['vtype']) - hs = sym.findMaps(s) - for k, v in hs.items(): - dMaps[k] = {'type': v['type'], - "fktype": v['ktype'], 'ktype': a.parseType(v['ktype']), - "fvtype": v['vtype'], "vtype": a.parseType(v['vtype'])} - if v['ktype'] not in ffiList: - ffiList.append(v['ktype']) - if v['vtype'] not in ffiList: - ffiList.append(v['vtype']) - dOut['maps'] = dMaps - dOut['arch'] = arch - dOut['kern_version'] = ver - dOut["ffi"] = self._genFFI(ffiList) - print(dOut['ffi']) - s = json.dumps(dOut) - return """ - -#include "lbc_static.h" - - -const char* lbc_get_map_types(void) -{ - const char* s = %s; - return s; -} - - """ % (json.dumps(s)) - - -if __name__ == "__main__": - g = CgenerateUser() - if len(sys.argv) <= 3: - g.createUser(sys.argv[1], sys.argv[2]) - else: - g.createUser(sys.argv[1], sys.argv[2], sys.argv[3]) diff --git a/compile/remote-compile/lbc/tool/getFuncs.py b/compile/remote-compile/lbc/tool/getFuncs.py deleted file mode 100644 index d6eb559..0000000 --- a/compile/remote-compile/lbc/tool/getFuncs.py +++ /dev/null @@ -1,500 +0,0 @@ -# -*- coding: utf-8 -*- -# cython:language_level=3 -""" -------------------------------------------------- - File Name: getFuncs - Description : - Author : liaozhaoyan - date: 2021/12/1 -------------------------------------------------- - Change Activity: - 2021/12/1: -------------------------------------------------- -""" -__author__ = 'liaozhaoyan' - -import sys -import os -import select -from select import epoll as CPoll -import shlex -from subprocess import PIPE, Popen -import sqlite3 -import json -import re -import eventlet - -ON_POSIX = 'posix' in sys.builtin_module_names - - -class CasyncCmdQue(object): - def __init__(self, cmd): - super(CasyncCmdQue, self).__init__() - self.daemon = True # thread dies with the program - self.__p = Popen(shlex.split(cmd), stdout=PIPE, stdin=PIPE, close_fds=ON_POSIX) - self.__e = CPoll() - self.__e.register(self.__p.stdout.fileno(), select.EPOLLIN) - - def __del__(self): - self.__p.kill() - - def write(self, cmd): - try: - self.__p.stdin.write(cmd.encode()) - self.__p.stdin.flush() - except IOError: - return -1 - - def writeLine(self, cmd): - self.write(cmd + "\n") - - def read(self, tmout=0.2, l=16384): - while True: - es = self.__e.poll(tmout) - if not es: - return "" - for f, e in es: - if e & select.EPOLLIN: - s = os.read(f, l).decode() - return s - elif e & select.EPOLLERR: - raise OSError("epoll error.") - elif e & select.EPOLLHUP: - raise OSError("epoll hup error.") - else: - raise OSError(f"unknown catch able events {e}") - - def readw(self, want, tries=20): - i = 0 - r = "" - while i < tries: - line = self.read() - if want in line: - return r + line - r += line - i += 1 - raise OSError("get want args %s overtimes" % want) - - def terminate(self): - self.writeLine("q") - self.__p.terminate() - return self.__p.wait() - - -class CgetVminfo(object): - def __init__(self, vmPath, arch, waits=20): - super(CgetVminfo, self).__init__() - # print(vmPath) - self._gdb = CasyncCmdQue("gdb %s" % vmPath) - self._gdb.readw("(gdb)", waits) - self._gdb.writeLine("set pagination off") - self._gdb.readw("(gdb)") - self._gdb.writeLine("set architecture %s" % arch) - self._gdb.readw("(gdb)") - self._gdb.writeLine("set max-value-size unlimited") - self._gdb.readw("(gdb)") - - def __del__(self): - if hasattr(self, "_gdb"): - self._gdb.terminate() - - def genType(self, t): - self._gdb.writeLine(f"ptype {t}") - r = self._gdb.readw("(gdb)").split("\n")[0] - _, alias = r.split("=", 1) - alias = alias.strip() - - self._gdb.writeLine(f"p sizeof({t})") - r = self._gdb.readw("(gdb)").split("\n")[0] - _, size = r.split("=", 1) - size = int(size.strip()) - return [alias, size] - - def showTypeSize(self, t): - self._gdb.writeLine(f"p sizeof({t})") - r = self._gdb.readw("(gdb)").split("\n")[0] - _, size = r.split("=", 1) - return int(size.strip()) - - def showStruct(self, sStruct): - self._gdb.writeLine("ptype /o %s" % sStruct) - return self._gdb.readw("(gdb)", 80) - - def genFuncs(self, fName="funs.txt"): - self._gdb.writeLine("i functions") - with open(fName, 'w') as f: - s = "dummy" - while "\n(gdb)" not in s: - s = self._gdb.read(tmout=240) - f.write(s) - - def genTypes(self, fName="types.txt"): - self._gdb.writeLine("i types") - with open(fName, 'w') as f: - s = "dummy" - while "\n(gdb)" not in s: - s = self._gdb.read(tmout=240) - f.write(s) - - -class CgenfuncsDb(object): - def __init__(self, dbName, arch, build=True): - self._db = None - self._res = None - self._arch = arch - self._setupDb(dbName, build) - self._reTypeLine = re.compile(r"[\d]+:") - self._rePaholeRem1 = re.compile(r"\/\* *[\d]+( *|: *[\d] *)\| *[\d]+ *\*\/") - self._rePaholeRem2 = re.compile(r"\/\* *[\d]+ *\*\/") - self._reRem = re.compile(r"\/\*.*\*\/") - self._banTypes = [] - - def __del__(self): - if self._db is not None: - self._db.commit() - self._db.close() - - def _setupDb(self, dbName, build): - if not build: - self._db = sqlite3.connect(dbName) - return - if os.path.exists(dbName): - os.remove(dbName) - self._db = sqlite3.connect(dbName) - cur = self._db.cursor() - sql = """CREATE TABLE files ( - id INTEGER PRIMARY KEY autoincrement, - file TEXT - );""" - cur.execute(sql) - sql = """CREATE TABLE funs ( - id INTEGER PRIMARY KEY autoincrement, - func VARCHAR (128), - args JSON, - ret VARCHAR (64), - line INTEGER, - fid INTEGER, - module VARCHAR (64) - );""" - cur.execute(sql) - sql = """CREATE TABLE structs ( - id INTEGER PRIMARY KEY autoincrement, - name VARCHAR (64), - members INTEGER, - bytes INTEGER - );""" - cur.execute(sql) - sql = """CREATE TABLE members ( - id INTEGER PRIMARY KEY autoincrement, - fid INTEGER, - types VARCHAR (128), - name VARCHAR (64), - offset INTEGER, - bytes INTEGER, - bits VARCHAR (16) DEFAULT "" - );""" - cur.execute(sql) - sql = """CREATE TABLE types ( - id INTEGER PRIMARY KEY autoincrement, - name VARCHAR (64), - alias VARCHAR (64), - bytes INTEGER - );""" - cur.execute(sql) - cur.close() - - def _arg_split(self, argStr): - args = [] - arg = "" - count = 0 - - for a in argStr: - if count == 0 and a == ",": - args.append(arg.strip()) - arg = "" - continue - elif a == "(": - count += 1 - elif a == ")": - count -= 1 - arg += a - if arg != "": - args.append(arg.strip()) - return args - - def _funcs(self, funcPath, module="vm"): - cur = self._db.cursor() - with open(funcPath, 'r') as f: - fid = 0 - for index, line in enumerate(f): - line = line[:-1] - if line == "": - continue - elif line.startswith("(gdb)"): - break - elif line.startswith("File "): - if line.endswith(".h:"): # do not add any - fid = -1 - else: - _, sFile = line.split(" ", 1) - sql = f'''INSERT INTO files (file) VALUES ("{sFile[:-1]}")''' - cur.execute(sql) - fid = cur.lastrowid - elif fid > 0 and line.endswith(");"): - #8: static int __paravirt_pgd_alloc(struct mm_struct *); - line = line[:-2] - lineNo, body = line.split(":", 1) - head, args = body.split("(", 1) - # args = [x.strip() for x in args.split(",")] - args = self._arg_split(args) - if "*" in head: - ret, func = head.rsplit("*", 1) - ret += "*" - else: - ret, func = head.rsplit(" ", 1) - sql = f'''INSERT INTO funs (func, args, ret, line, fid, module) VALUES \ - ("{func}", '{json.dumps(args)}', "{ret.strip()}", {lineNo}, {fid}, "{module}")''' - cur.execute(sql) - cur.close() - - def _stripRem(self, line): - return self._reRem.sub("", line).strip() - - def _splitStructLine(self, line): - rd = {"offset": None, "size": None, "bits": None} - res = self._rePaholeRem1.search(line) - if res: - l = res.group()[2:-2].strip() - # /* 19: 0 | 1 */ unsigned char skc_reuse : 4; - # /* 19: 4 | 1 */ unsigned char skc_reuseport : 1; - off, size = l.split('|', 1) - rd["size"] = int(size.strip()) - if ":" in off: - off, bits = off.split(":", 1) - rd['bits'] = bits.strip() # offset - rd["offset"] = int(off.strip()) - else: - res = self._rePaholeRem2.search(line) - if res: - l = res.group()[2:-2].strip() - # /* 8 | 4 */ union { - # /* 4 */ unsigned int skc_hash; - # /* 4 */ __u16 skc_u16hashes[2]; - size = l.strip() - rd["size"] = int(size) - rd["line"] = self._stripRem(line) - return rd - - def _parseMember(self, sStruct, line, pre="", off=0): - """struct list_head * next;""" - """void (*func)(struct callback_head *);""" - """unsigned int p:1;""" - if ";" not in line: - """/* total size (bytes): 4 */""" - if "total size (bytes):" in line: - size = line.split(":", 1)[1] - size = size.split("*", 1)[0].strip() - self._res['res']['size'] = size - return - rd = self._splitStructLine(line) - l = rd['line'] - bits = "" - if ':' in l: - l, bits = l.rsplit(" : ", 1) - bits = "%s:%s" % (rd["bits"], bits) - if '(' in l: - _, func = l.split("(*", 1) - func, _ = func.split(")", 1) - types = l.replace(" (*%s)(" % func, " (*)(", 1) - types = re.sub(" +", " ", types) - name = func - elif '*' in l: - types, name = l.rsplit("*", 1) - types = types + "*" - name = name.strip("; ") - else: - types, name = l.rsplit(" ", 1) - types = types.strip() - name = name.strip("; ") - name = pre + name - - if rd["offset"] is None: - rd["offset"] = off - cell = {"type": types, "name": name, "offset": rd["offset"], - "size": rd["size"], "bits": bits} - self._res['res']['cell'].append(cell) - - def _parseBox(self, sStruct, lines, pre): - """union {""" - """} pci;""" - rd = self._splitStructLine(lines[0]) - t = rd['line'].split(" ", 1)[0] - if t in ["union", "struct"]: - lastLine = lines[-1].strip() - if not lastLine.startswith("};"): - npre, _ = lastLine[1:].split(";", 1) - _, npre = npre.rsplit(" ", 1) - pre += npre.strip() + "." - if rd["offset"] is None: - rd["offset"] = 0 - self._parseLoop(sStruct, lines, pre, rd["offset"]) - - def _parseLoop(self, sStruct, lines, pre, off=0): - qCount = 0 - box = [] - for line in lines[1:-1]: - lCount = line.count("{") - rCount = line.count("}") - qCount += lCount - rCount - if qCount > 0: - box.append(line) - elif len(box) > 0: - box.append(line) - self._parseBox(sStruct, box, pre) - box = [] - else: - self._parseMember(sStruct, line, pre, off) - - def _getStruct(self, gdb, sStruct): - self._res = {"log": "struct"} - lines = gdb.showStruct(sStruct).split('\n') - self._res['res'] = {"name": sStruct, "size": 0, "cell": []} - self._parseLoop(sStruct, lines, "") - self._res['res']['members'] = len(self._res['res']['cell']) - return self._res - - def _struct_is_in(self, cur, sStruct): - sql = f"SELECT name FROM structs WHERE name = '{sStruct}'" - res = cur.execute(sql) - if res is None: - return False - r = res.fetchone() - if r is None: - return False - return True - - def _struct(self, cur, gdb, sStruct): - if self._struct_is_in(cur, sStruct): - return - res = self._getStruct(gdb, sStruct) - if res is None: - return - dStruct = res['res'] - sql = f'''INSERT INTO structs (name, members, bytes) VALUES \ - ("{dStruct['name']}", {dStruct['members']}, {dStruct['size']})''' - cur.execute(sql) - fid = cur.lastrowid - for cell in dStruct['cell']: - sql = f'''INSERT INTO members (fid, types, name, offset, bytes, bits) VALUES \ - ({fid}, "{cell['type']}", "{cell['name']}", {cell['offset']}, {cell['size']}, "{cell['bits']}")''' - try: - cur.execute(sql) - except sqlite3.OperationalError: - print(f"bad {sql}, for {dStruct['name']}") - - def _save_type(self, cur, gdb, t): - alias, size = gdb.genType(t) - sql = f'INSERT INTO types (name, alias, bytes) VALUES ("{t}", "{alias}", {size})' - cur.execute(sql) - if alias == "struct {" or alias == 'union {': # there is no alias struct in this type - self._struct(cur, gdb, t) - - def _type_is_in(self, cur, t): - if t in self._banTypes: - return True - sql = f"SELECT name FROM types WHERE name = '{t}'" - res = cur.execute(sql) - if res is None: - return False - r = res.fetchone() - if r is None: - return False - return True - - def _check_type(self, cur, gdb, t): - if not self._type_is_in(cur, t): - try: - self._save_type(cur, gdb, t) - except ValueError: - self._banTypes.append(t) - print(f"failed to parse type {t}") - - def _types(self, typePath, cur, gdb): - with open(typePath, 'r') as f: - for i, line in enumerate(f): - if i < 1 or line.startswith("(gdb)"): # skip head and end - continue - if self._reTypeLine.match(line): - line = line.split(':', 1)[1] - line = line.strip() - if line != "": # strip blank line - if line.startswith("File "): # jump File - continue - if line.startswith("enum "): - continue - if line.startswith("struct ") or line.startswith("union "): - self._struct(cur, gdb, line[:-1]) - continue - if line.startswith("typedef "): # for typedef - sType = line.rsplit(" ", 1)[1] - self._check_type(cur, gdb, sType[:-1]) # skip last ; - continue - if line.startswith("__int128"): - line = "__int128" - self._check_type(cur, gdb, line) - - def _parseElf(self, cur, gdb, mod): - try: - gdb.genTypes("types.txt") - gdb.genFuncs("funcs.txt") - except OSError as e: - print(f"parse error. report {e}") - return - self._funcs("funcs.txt", mod) - self._types("types.txt", cur, gdb) - - def pasrseVmLinux(self, vmPath): - cur = self._db.cursor() - gdb = CgetVminfo(vmPath, self._arch, waits=1600) - self._save_type(cur, gdb, "void *") - self._parseElf(cur, gdb, "vm") - cur.close() - - def pasrseLbc(self, bcPath): - cur = self._db.cursor() - gdb = CgetVminfo(bcPath, self._arch, waits=200) - self._save_type(cur, gdb, "void *") - self._parseElf(cur, gdb, "lbc") - cur.close() - - def _parse_ko(self, path, fName): - if fName.endswith("ko"): - mod = fName.rsplit(".", 1)[0] - else: - mod = fName.rsplit(".", 2)[0] - try: - gdb = CgetVminfo(os.path.join(path, fName), self._arch, 80) - except OSError as e: - print(f"load module {fName} error. report {e}") - return - cur = self._db.cursor() - self._parseElf(cur, gdb, mod) - cur.close() - - def parse_kos(self, path): - g = os.walk(path) - for path, dirL, fileL in g: - for fName in fileL: - if fName.endswith("ko") or fName.endswith("ko.debug"): - eventlet.monkey_patch() - try: - with eventlet.Timeout(6 * 60): - self._parse_ko(path, fName) - except (OSError, eventlet.timeout.Timeout) as e: - print(f"parse {fName} failed report {e}") - - -if __name__ == "__main__": - d = CgenfuncsDb("lbc.db", arch='x86_64') - d.pasrseLbc("lbc.bpf.obj") - pass diff --git a/compile/remote-compile/lbc/tool/infoParse.py b/compile/remote-compile/lbc/tool/infoParse.py deleted file mode 100644 index 9a45c68..0000000 --- a/compile/remote-compile/lbc/tool/infoParse.py +++ /dev/null @@ -1,164 +0,0 @@ -# -*- coding: utf-8 -*- -# cython:language_level=3 -""" -------------------------------------------------- - File Name: infoParse - Description : - Author : liaozhaoyan - date: 2021/12/3 -------------------------------------------------- - Change Activity: - 2021/12/3: -------------------------------------------------- -""" -__author__ = 'liaozhaoyan' - -import os.path -import sqlite3 -import json - - -class CinfoParse(object): - def __init__(self, dbPath): - if not os.path.exists(dbPath): - raise IOError(f"db {dbPath} is not exist.") - self._db = sqlite3.connect(dbPath, uri=True) - - def __del__(self): - if self._db is not None: - self._db.commit() - self._db.close() - - def _genFuncRet(self, cur, res): - lR = [] - for r in res: - args = json.loads(r[1]) - fid = r[4] - sql = f"SELECT file FROM files WHERE id = '{fid}'" - res = cur.execute(sql) - txt = res.fetchone()[0] - d = {"func": r[0], "args": args, "ret": r[2], "line": r[3], "file": txt} - lR.append(d) - return lR - - def getFunc(self, func): - cur = self._db.cursor() - sql = f"SELECT func, args, ret, line, fid FROM funs WHERE func = '{func}'" - res = cur.execute(sql).fetchall() - lR = self._genFuncRet(cur, res) - cur.close() - return lR - - def _chekcFunfilter(self, func): - if "%" not in func: - raise ValueError(f"bad arg {func}, args should contains %.") - - def getFuncs(self, func, limit=20): - self._chekcFunfilter(func) - cur = self._db.cursor() - sql = f"SELECT func, args, ret, line, fid FROM funs WHERE func LIKE '{func}' LIMIT {limit}" - res = cur.execute(sql).fetchall() - lR = self._genFuncRet(cur, res) - cur.close() - return lR - - def getFuncFilterRet(self, ret, func="", limit=100): - cur = self._db.cursor() - sql = f"SELECT func, args, ret, line, fid FROM funs WHERE (ret = '{ret}' OR ret = 'static {ret}')" - if func != "": - self._chekcFunfilter(func) - sql += f" AND func LIKE '{func}'" - sql += f" LIMIT {limit}" - res = cur.execute(sql) - lR = self._genFuncRet(cur, res) - cur.close() - return lR - - def getFuncFilterArg(self, arg, func="", limit=100): - cur = self._db.cursor() - sql = f"SELECT func, args, ret, line, fid FROM funs, json_each(funs.args) WHERE json_each.value = '{arg}'" - if func != "": - self._chekcFunfilter(func) - sql += f" AND func LIKE '{func}'" - sql += f" LIMIT {limit}" - res = cur.execute(sql) - lR = self._genFuncRet(cur, res) - cur.close() - return lR - - def _getStruct(self, cur, struct, limit=10): - if '%' in struct: - sql = f"SELECT id, name, members, bytes FROM structs WHERE name LIKE '{struct}' LIMIT {limit}" - res = cur.execute(sql) - rDs = [] - for r in res.fetchall(): - rD = {"name": r[1], "members": r[2], "size": r[3]} - rDs.append(rD) - return rDs - - sql = f"SELECT id, name, members, bytes FROM structs WHERE name = '{struct}'" - res = cur.execute(sql) - r = res.fetchone() - if r is None: - return None - fid = r[0] - rD = {"name": r[1], "members": r[2], "size": r[3]} - sql = f"SELECT types, offset, bytes, bits, name FROM members WHERE fid = {fid}" - res = cur.execute(sql) - cells = [] - for r in res.fetchall(): - dCell = {"type": r[0], "offset": r[1], "size": r[2], - "bits": r[3], "name": r[4]} - cells.append(dCell) - rD["cell"] = cells - return rD - - def getStruct(self, struct): - cur = self._db.cursor() - r = self._getStruct(cur, struct) - cur.close() - return r - - def _getStructMember(self, cur, struct, memeber): - sql = f"SELECT id FROM structs WHERE name = '{struct}'" - res = cur.execute(sql) - r = res.fetchone() - if r is None: return None - fid = r[0] - sql = f"SELECT types, offset, bytes, bits, name FROM members WHERE fid = {fid} \ - AND (name = '{memeber}' OR name LIKE '{memeber}[%]')" - res = cur.execute(sql) - r = res.fetchone() - if r is None: - return None - rD = {"type": r[0], "offset": r[1], "size": r[2], "bits": r[3], "name": r[4]} - return rD - - def getStructMember(self, struct, memeber): - cur = self._db.cursor() - r = self._getStructMember(cur,struct, memeber) - cur.close() - return r - - def getType(self, t): - cur = self._db.cursor() - if t != '_': - sql = "SELECT name, alias, bytes FROM types WHERE name = '%s'" % t - else: - sql = "SELECT name, alias, bytes FROM types WHERE id = 1" - res = cur.execute(sql) - r = res.fetchone() - if r is None: - return None - return {"name": r[0], "type": r[1], "size": r[2]} - - -if __name__ == "__main__": - # i = CinfoParse("info-3.10.0-327.ali2013.1.alios7.x86_64.db") - # print(i.getStructMember("struct sock", "sk_backlog.head")) - # print(i.getFunc("set_in_cr4")) - # print(i.getStruct("struct sock")) - # print(i.getFuncFilterArg("int", func="skb%")) - # print(i.getType("u_int8")) - i = CinfoParse("/Users/liaozhaoyan/work/sh/lbc.db") - print(i.getStruct("struct data_t")) \ No newline at end of file diff --git a/compile/remote-compile/lbc/tool/objelf.py b/compile/remote-compile/lbc/tool/objelf.py deleted file mode 100644 index 7242a58..0000000 --- a/compile/remote-compile/lbc/tool/objelf.py +++ /dev/null @@ -1,277 +0,0 @@ -# -*- coding: utf-8 -*- -""" -------------------------------------------------- - File Name: objelf - Description : - Author : liaozhaoyan - date: 2022/11/5 -------------------------------------------------- - Change Activity: - 2022/11/5: -------------------------------------------------- -""" -__author__ = 'liaozhaoyan' - -import datetime -import os -import sys -import shlex -import time -import json -import gc -import re -from subprocess import PIPE, Popen -from threading import Thread, Lock -from atobj import CatObj -from dict2db import Cobj2db - - -class Cobj2json(object): - reCellHead = re.compile(r"\<\d+\>\<[0-9a-f]+\>\:") - reInParenthesis = re.compile(r"(?<=\()[^\(\)]+(?=\))") - - def __init__(self): - super(Cobj2json, self).__init__() - self._atObj = CatObj() - self._getStr = None - - def _compileUnitHead(self, lines): - while True: - for i, line in enumerate(lines[:-1]): - if line.startswith("Contents of the") and not line.startswith("Contents of the .debug_info section:"): - return 0, None - if Cobj2json.reCellHead.search(line): - return 1, lines[i:] - tail = lines[-1] - s = tail + self._getStr() - lines = s.split("\n") - - def _compileUnitEnd(self, lines): - res = [] - while True: - for i, line in enumerate(lines[:-1]): - line = line.lstrip() - if len(line): - if line[0] == "<": - res.append(line) - else: - return res, lines[i:] - tail = lines[-1] - s = tail + self._getStr() - lines = s.split("\n") - - def _findHead(self): - tail = "" - while True: - s = tail + self._getStr() - lines = s.split("\n") - for i, line in enumerate(lines[:-1]): - if line.startswith("Contents of the .debug_info section:"): - return lines[i:] - tail = lines[-1] - - def _parseLine(self, line): - if Cobj2json.reCellHead.search(line): - head, content = line.split(":", 1) - levels, offsets = head.split("><") - level = int(levels[1:], 10) - offset = int(offsets[:-1], 16) - tag = "tag_name" - fit = Cobj2json.reInParenthesis.findall(content) - if len(fit): - value = fit[0] - else: - value = None - else: - level = -1 - head, content = line.split(">", 1) - offset = int(head[1:], 16) - tags, values = content.split(":", 1) - tag = tags.strip() - if tag in self._atObj.atDict: - values = values.lstrip() - value = self._atObj.parse(tag, values) - elif tag == "Unknown AT value": - tag = None - value = "" - else: - print("\t tag: %s not in at dict. value: %s", tag, values) - value = values.strip() - return level, offset, tag, value - - def _decode(self, lines): - lastLevel = 0 - dStack = [] - dRet = {} - for i, line in enumerate(lines): - level, offset, tag, value = self._parseLine(line) - if tag is None: # for Unknown AT value - continue - if level >= 0: - if value is None: - continue - dRet = {tag: value, "offset": offset} - if level == lastLevel: - if level == 0: - dStack.append(dRet) - else: - dParent = dStack[level - 1] - dRet = {tag: value, "offset": offset} - if "child" not in dParent: - raise ValueError("should add child.") - else: - dParent['child'].append(dRet) - dStack[level] = dRet - elif level > lastLevel: # > need add child. - if level > lastLevel + 1: - print("pid %d" % os.getpid()) - raise ValueError("level %d, lastLevel %d" % (level, lastLevel)) - dParent = dStack[level - 1] - if "child" in dParent: - raise ValueError("should no child.") - dParent['child'] = [dRet] - dStack.append(dRet) - lastLevel = level - elif level < lastLevel: # back to last level - dParent = dStack[level - 1] - dParent['child'].append(dRet) - dStack = dStack[:level+1] - dStack[level] = dRet - lastLevel = level - else: # single line. - dRet[tag] = value - return dStack[0] - - def accept(self, getStr): - self._getStr = getStr - tail = self._findHead() - flag, tail = self._compileUnitHead(tail) - while flag: - lines, tail = self._compileUnitEnd(tail) - # with open("cell.txt", "w") as f: - # f.write("\n".join(lines)) - yield self._decode(lines) - flag, tail = self._compileUnitHead(tail) - - -class Ctest(object): - def __init__(self, path="/root/1ext/code/surftrace/tools/dwarf/walks/samelf/dwarf.txt"): - super(Ctest, self).__init__() - self._handle = open(path, 'r') - self._db = Cobj2db("elf", "info.db") - - def read(self): - res = self._handle.read(1024) - if res == "": - raise OSError("end of file") - return res - - def test(self): - o = Cobj2json() - ana = o.accept(self.read) - for res in ana: - self._db.walks(res) - del res - gc.collect() - - -class CmonThread(Thread): - def __init__(self, mon): - super(CmonThread, self).__init__() - self.daemon = True - self._mon = mon - self.start() - - def run(self): - while True: - time.sleep(0.1) - if self._mon.poll() is not None: - self._mon.closePipe() - break - - -class CobjElf(object): - def __init__(self, elf): - super(CobjElf, self).__init__() - if not os.path.exists(elf) or not os.path.isfile(elf): - raise ValueError("%s is not a file" % elf) - - self._l = Lock() - self._r, self._w = -1, -1 - self._elf = elf - self._p = None - - def __del__(self): - if hasattr(self, "_p"): - self.closePipe() - - def _exec(self): - cmd = "readelf -w %s" % self._elf - with self._l: - self._r, self._w = os.pipe() - self._p = Popen(shlex.split(cmd), stdout=self._w) - return self._p - - def poll(self): - res = 0 - with self._l: - if hasattr(self, "_p"): - res = self._p.poll() - return res - - def closePipe(self): - with self._l: - if self._r >= 0: - os.close(self._r) - os.close(self._w) - self._r = -1 - self._w = -1 - try: - self._p.terminate() - except OSError: - pass - del self._p - - def _read(self, size=16384): - if sys.version_info.major == 2: - res = os.read(self._r, size) - else: - res = os.read(self._r, size).decode() - if res is None or res == "": - raise OSError("end of file.") - return res - - def out(self, toFile): - self._exec() - with open(toFile, 'w') as f: - while True: - try: - s = self._read() - except OSError: - break - f.write(s) - - def toDb(self, name, db): - o = Cobj2json() - self._exec() - t = CmonThread(self) - ana = o.accept(self._read) - for res in ana: - obj = Cobj2db(name, db) - # with open("vm.json", "w") as f: - # json.dump(res, f) - obj.walks(res) - self.closePipe() - t.join(0.1) - - -if __name__ == "__main__": - e = CobjElf("/home/lbc/.output/lbc.bpf.o") - # e.out("vm.db") - t1 = datetime.datetime.now() - e.toDb("bpf", "bpf.db") - print("to Db.", datetime.datetime.now() - t1) - # t = Ctest() - # t = Ctest("./vm.txt") - # t.test() - pass diff --git a/compile/remote-compile/lbc/tool/parsePahole.py b/compile/remote-compile/lbc/tool/parsePahole.py deleted file mode 100644 index 06b2a4b..0000000 --- a/compile/remote-compile/lbc/tool/parsePahole.py +++ /dev/null @@ -1,199 +0,0 @@ -import re -import sys -import os -import shlex -from subprocess import PIPE, Popen - - -class CexecCmd(object): - def __init__(self): - super(CexecCmd, self).__init__() - pass - - @staticmethod - def cmd(cmds): - p = Popen(shlex.split(cmds), stdout=PIPE) - return p.stdout.read().decode('utf-8').strip() - - @staticmethod - def system(cmds): - cmds = cmds.replace('\0', '').strip() - return os.system(cmds) - - -class CparsePahole(CexecCmd): - def __init__(self, objs): - super(CparsePahole, self).__init__() - if not os.path.exists(objs): - raise Exception("obj file %s not exist." % objs) - self._reIndex = re.compile(r"(?<=\[)[^\[\]]+(?=])") - # self.__reStruct = re.compile(r"(?<={)[^{}]+(?=})") - self._struct_mapping = {'char': 'c', - 'signed char': 'b', - 'unsigned char': 'B', - '__s8': 'b', - '__u8': 'b', - 's8': 'b', - 'u8': 'b', - 'char *': 's', - 'short': 'h', - 'unsigned short': 'H', - '__s16': 'h', - '__u16': 'H', - 's16': 'h', - 'u16': 'H', - 'int': 'i', - 'enum': 'i', - 'unsigned int': 'I', - '__s32': 'i', - '__u32': 'I', - 's32': 'i', - 'u32': 'I', - 'long long': 'q', - 'long': 'l', - 'long int': 'l', - 'unsigned long': 'L', - 'unsigned long long': 'Q', - 'long long unsigned int': 'Q', - '__s64': 'q', - '__u64': 'Q', - 's64': 'q', - 'u64': 'Q', - 'char []': 's', - 'void *': 'P'} - self._typeSize = {'c': 1, 'b': 1, 'B': 1, - 'h': 2, 'H': 2, - 'i': 4, 'I': 4, - 'l': 8, 'L': 8, 'Q': 8, 'q': 8, - 's': 8, 'P': 8, - } - self._objs = objs - self._retStr = None - - def _getFormat(self, dMems): - if dMems['type'] in self._struct_mapping: - if dMems['array']: - dMems['format'] = self._struct_mapping[dMems['type']] * dMems['array'] - else: - dMems['format'] = self._struct_mapping[dMems['type']] - else: - raise Exception("unknown type: %s" % dMems['type']) - - def _getTopSize(self, dMems): - dMems['size'] = self._typeSize[dMems['format'][0]] - - def _parseHead(self, tStr, dRet): - if tStr[-1] == ']': - t, _ = tStr.split('[', 1) - dRet['type'] = t.strip() - size = self._reIndex.findall(tStr)[0] - dRet['array'] = int(size) - else: - dRet['type'] = tStr - dRet['array'] = 0 - - def _getTop(self, realType): - dMems = {'member': 'value'} - self._parseHead(realType, dMems) - self._getFormat(dMems) - self._getTopSize(dMems) - return dMems - - def _getStructStr(self, sStruct): - if self._retStr is None: - self._retStr = self.cmd("pahole %s" % self._objs) - find = "%s {" % sStruct - start = self._retStr.index(find) + len(find) - end = start + 1 - count = 1 - while count: - c = self._retStr[end] - if c == "{": - count += 1 - elif c == '\0': - raise Exception("bad pahole result.") - elif c == '}': - count -= 1 - end += 1 - return self._retStr[start:end - 1] - - # /* size: 44, cachelines: 1, members: 5 */ - def _getStrcutSize(self, ano): - # print(ano) - title, _ = ano.strip()[2:].split(',', 1) - _, value = title.split(':') - return int(value.strip()) - - def _parseMember(self, desc): - desc = re.sub(r" +", r" ", desc) - # char c_comm[16]; /* 8 16 */ - var, annotate = desc.split(';', 1) - tStr, member = var.strip().split(" ", 1) - if ":" in member: - raise ValueError("pylcc not support bit segment") - if tStr.startswith('struct'): - return self._getStruct(member) - else: - dMems = {'type': tStr} - if member[-1] == ']': - m, _ = member.split('[', 1) - dMems['member'] = m.strip() - size = self._reIndex.findall(member)[0] - dMems['array'] = int(size) - else: - dMems['member'] = member - dMems['array'] = 0 - self._getFormat(dMems) - - beg = annotate.index("/*") + 2 - end = annotate.index("*/") - offs = annotate[beg:end].strip() - offset, size = offs.split(' ') - dMems['offset'] = int(offset) - dMems['size'] = int(size) - if dMems['array']: - dMems['size'] = int(dMems['size'] / dMems['array']) - return dMems - - def _getStruct(self, sStruct): - # - # u32 c_pid; /* 0 4 */ - # u32 p_pid; /* 4 4 */ - # char c_comm[16]; /* 8 16 */ - # char p_comm[16]; /* 24 16 */ - # u32 stack_id; /* 40 4 */ - # - # /* size: 44, cachelines: 1, members: 5 */ - # /* last cacheline: 44 bytes */ - # } - dStruct = {} - self._parseHead(sStruct, dStruct) - sDesc = self._getStructStr(dStruct['type']) - descs = sDesc.split("\n") - lMem = [] - sSize = "None" - for desc in descs: - s = desc.strip() - if s == "": - continue - if s.startswith("/*"): - if s.startswith('/* size'): - sSize = s - continue - lMem.append(self._parseMember(desc)) - dStruct['cells'] = lMem - dStruct['offset'] = 0 - # /* size: 44, cachelines: 1, members: 5 */ - dStruct['size'] = self._getStrcutSize(sSize.strip()) - return dStruct - - def parseType(self, t): - if t.startswith('struct '): - return self._getStruct(t) - else: - return self._getTop(t) - - -if __name__ == "__main__": - p = CparsePahole("../.output/lbc.bpf.o") - print(p.parseType('struct data_t')) diff --git a/compile/remote-compile/lbc/tool/replaceHead.py b/compile/remote-compile/lbc/tool/replaceHead.py deleted file mode 100644 index dfb1a46..0000000 --- a/compile/remote-compile/lbc/tool/replaceHead.py +++ /dev/null @@ -1,52 +0,0 @@ -# -*- coding: utf-8 -*- -""" -------------------------------------------------- - File Name: replaceHead - Description : - Author : liaozhaoyan - date: 2022/6/22 -------------------------------------------------- - Change Activity: - 2022/6/22: -------------------------------------------------- -""" -__author__ = 'liaozhaoyan' - -import sys - - -def rep(fList): - lbc, vmlinux, dst = fList - with open(vmlinux, "r") as fVmlinux: - with open(lbc, "r") as fLbc: - strVmlinux = fVmlinux.read() - strLbc = fLbc.read() - - if "BPF_ANY " in strVmlinux: - strLbc = strLbc.replace("ENUM_DEFINE_BPF_ANY", "") - else: - strLbc = strLbc.replace("ENUM_DEFINE_BPF_ANY", - """enum { - BPF_ANY = 0, - BPF_NOEXIST = 1, - BPF_EXIST = 2, - BPF_F_LOCK = 4, -};""") - if "BPF_F_FAST_STACK_CMP " in strVmlinux: - strLbc = strLbc.replace("ENUM_DEFINE_STACK_CMP", "") - else: - strLbc = strLbc.replace("ENUM_DEFINE_STACK_CMP", - """enum { - BPF_F_SKIP_FIELD_MASK = 255, - BPF_F_USER_STACK = 256, - BPF_F_FAST_STACK_CMP = 512, - BPF_F_REUSE_STACKID = 1024, - BPF_F_USER_BUILD_ID = 2048, -};""") - with open(dst, "w") as f: - f.write(strLbc) - - -if __name__ == "__main__": - rep(sys.argv[1:]) - pass diff --git a/compile/remote-compile/lbc/tool/surfServer.py b/compile/remote-compile/lbc/tool/surfServer.py deleted file mode 100644 index c91ebf5..0000000 --- a/compile/remote-compile/lbc/tool/surfServer.py +++ /dev/null @@ -1,290 +0,0 @@ -# -*- coding: utf-8 -*- -""" -------------------------------------------------- - File Name: surfServer - Description : - Author : liaozhaoyan - date: 2022/5/9 -------------------------------------------------- - Change Activity: - 2022/5/9: -------------------------------------------------- -""" -__author__ = 'liaozhaoyan' - -import os -import re -import base64 -from subprocess import PIPE, Popen -import shlex -from udpHook import udpPut -from infoParse import CinfoParse -from getFuncs import CgenfuncsDb - -rootDir = "/home" -dbDir = os.path.join(rootDir, "hive/db") -btfDir = os.path.join(rootDir, "hive/btf") -compileDir = os.path.join(rootDir, "lbc") -koBuildDir = os.path.join(rootDir, "lbc/ko") -elfSoDir = os.path.join(rootDir, "lbc/elf_sym") - -soFile = "bpf.so" -objFile = ".output/lbc.bpf.o" -dfFile = "pre.db" - -SEG_UNIT = 4096 - - -def segDecode(stream): - line = b"" - l = len(stream) - for i in range(0, l, 4 * SEG_UNIT): - s = stream[i:i + 4 * SEG_UNIT] - line += base64.b64decode(s) - if l % (4 * SEG_UNIT): - i = int(l / (4 * SEG_UNIT) * (4 * SEG_UNIT)) - line += base64.b64decode(stream[i:]) - return line - - -def segEncode(stream): - line = b"" - l = len(stream) - for i in range(0, l, 3 * SEG_UNIT): - s = stream[i:i+3 * SEG_UNIT] - line += base64.b64encode(s) - if l % (3 * SEG_UNIT): - i = int(l / (3 * SEG_UNIT) * (3 * SEG_UNIT)) - line += base64.b64encode(stream[i:]) - return line - - -class CexecCmd(object): - def __init__(self): - pass - - def cmd(self, cmds): - p = Popen(shlex.split(cmds), stdout=PIPE, stderr=PIPE) - return p.stdout.read().decode() + p.stderr.read().decode() - - def system(self, cmds): - cmds = cmds.replace('\0', '').strip() - return os.system(cmds) - - -class CsurfServer(object): - def __init__(self, lock, udpHost): - self._callDict = { - "btf": self._sendBtf, - "func": self._getFunc, - "struct": self._getStruct, - "type": self._getType, - "c": self._compileSo, - "obj": self._compileObj, - "ko": self._koBuild, - "elf_so": self._sendElfSo, - } - self._reSql = re.compile(r"[^a-zA-Z0-9_% ]") - self._lock = lock - self._c = CexecCmd() - self._udpHost = udpHost - - def _checkSql(self, sql): - res = self._reSql.findall(sql) - if len(res) == 0: - return True - return False - - def _setupArch(self, dRecv): - if 'arch' in dRecv: - return dRecv['arch'] - return 'x86_64' - - def _changeDbDir(self, dRecv): - arch = self._setupArch(dRecv) - dbPath = os.path.join(dbDir, arch) - if not os.path.exists(dbPath): - return {"log": f"arch {arch} not support."} - else: - os.chdir(dbPath) - return {"log": "ok."} - - def _changeKoDir(self): - if not os.path.exists(koBuildDir): - return {"log": f"arch not support."} - else: - os.chdir(koBuildDir) - return {"log": "ok."} - - def _dbCheck(self, dRecv, k): - path = f"info-{dRecv['ver']}.db" - try: - i = CinfoParse(path) - except IOError: - return {"log": "version not support."} - if k not in dRecv or dRecv[k] == "" or not self._checkSql(dRecv[k]): - return {"log": f"bad {k} key."} - return {"db": i} - - def _getType(self, dRecv): - res = self._changeDbDir(dRecv) - if res['log'] != "ok.": - return res - dSend = {"log": "ok."} - ds = self._dbCheck(dRecv, "type") - if "log" in ds: - return ds - i = ds["db"] - t = dRecv["type"] - dSend['res'] = i.getType(t) - return dSend - - def _getStruct(self, dRecv): - res = self._changeDbDir(dRecv) - if res['log'] != "ok.": - return res - dSend = {"log": "ok."} - ds = self._dbCheck(dRecv, "struct") - if "log" in ds: - return ds - i = ds["db"] - t = dRecv["struct"] - dSend['res'] = i.getStruct(t) - return dSend - - def _getFunc(self, dRecv): - res = self._changeDbDir(dRecv) - if res['log'] != "ok.": - return res - dSend = {"log": "ok."} - ds = self._dbCheck(dRecv, "func") - if "log" in ds: - return ds - i = ds["db"] - t = dRecv["func"] - dSend['res'] = i.getFunc(t) - return dSend - - def _sendElfSo(self, dRecv): - arch = self._setupArch(dRecv) - soPath = os.path.join(elfSoDir, arch) - os.chdir(soPath) - dSend = {'ver': dRecv['ver'], 'arch': arch} - try: - with open("syms.so", "rb") as f: - dSend['so'] = segEncode(f.read()).decode() - dSend['log'] = "ok." - except IOError: - dSend['log'] = "read elf so file failed." - return dSend - - def _sendBtf(self, dRecv): - arch = self._setupArch(dRecv) - btfPath = os.path.join(btfDir, arch) - os.chdir(btfPath) - dSend = {'ver': dRecv['ver'], 'arch': arch} - name = "vmlinux-%s" % dRecv['ver'] - try: - with open(name, 'rb') as f: - dSend['btf'] = segEncode(f.read()).decode() - dSend['log'] = "ok." - except IOError: - dSend['log'] = "read btf file failed." - return dSend - - def _transArch(self, arch): - if arch == 'x86_64': - return 'x86' - return arch - - def _setupWorkPre(self, path): - self._c.cmd(f"rm -rf {path}") - os.mkdir(path) - os.chdir(path) - - def _setupWorkEnd(self, path): - os.chdir("../") - self._c.cmd(f"rm -rf {path}") - - def _koBuild(self, dRecv): - try: - kos = dRecv.pop("kos") - except KeyError: - return {"log": "kos not in request."} - res = self._changeKoDir() - if res['log'] != "ok.": - return res - dSend = {"log": "ok."} - path = "tmp" - with self._lock: - self._setupWorkPre(path) - for k, v in kos.items(): - with open(k, 'wb') as f: - f.write(segDecode(v)) - fns = CgenfuncsDb(dfFile, dRecv['arch']) - fns.parse_kos('./') - del fns # confirm all data write to db - with open(dfFile, 'rb') as f: - dSend['db'] = segEncode(f.read()).decode() - self._setupWorkEnd(path) - return dSend - - def _make(self, dRecv, filePath, k): - dSend = {"log": "not start", k: None} - try: - cStr = dRecv.pop("code") - except KeyError: - return {"log": "no code."} - if 'env' not in dRecv: - dRecv['env'] = "" - with self._lock: - print("compile for %s" % dRecv['ver']) - os.chdir(compileDir) - with open("bpf/lbc.bpf.c", 'w') as f: - f.write(cStr) - if os.path.exists(filePath): - os.remove(filePath) - ver = dRecv['ver'] - arch = self._setupArch(dRecv) - self._c.cmd("rm -f bpf/vmlinux.h") - dSend['clog'] = self._c.cmd('make VMLINUX_VERSION=%s ARCH=%s CARCH=%s CLFLAG="%s"' % (ver, - arch, - self._transArch(arch), - dRecv['env'])) - print(dSend['clog']) - # self._c.cmd("strip -x %s" % filePath) - try: - with open(filePath, 'rb') as f: - dSend[k] = base64.b64encode(f.read()).decode() - dSend['log'] = "ok." - except (OSError, IOError) as e: - dSend['log'] = f"setup {k} report: {e}." - print(dSend) - return dSend - - def _compileSo(self, dRecv): - return self._make(dRecv, soFile, 'so') - - def _compileObj(self, dRecv): - return self._make(dRecv, objFile, 'obj') - - def proc(self, dRecv): - if "cmd" not in dRecv: - dRecv['log'] = 'unknown request.' - return dRecv - - if dRecv["cmd"] not in self._callDict: - dRecv['log'] = 'unknown cmd.' - return dRecv - - if "ver" not in dRecv: - dRecv['log'] = 'no kernel version info.' - return dRecv - - res = self._callDict[dRecv['cmd']](dRecv) - udpPut(self._udpHost, dRecv) - return res - - -if __name__ == "__main__": - pass diff --git a/compile/remote-compile/lbc/tool/udpHook.py b/compile/remote-compile/lbc/tool/udpHook.py deleted file mode 100644 index 9a42ced..0000000 --- a/compile/remote-compile/lbc/tool/udpHook.py +++ /dev/null @@ -1,31 +0,0 @@ -# -*- coding: utf-8 -*- -""" -------------------------------------------------- - File Name: udpHook - Description : - Author : liaozhaoyan - date: 2021/8/26 -------------------------------------------------- - Change Activity: - 2021/8/26: -------------------------------------------------- -""" -from socket import * -import json - - -def udpPut(udpHost, dRecv): - s = json.dumps(dRecv) - udpSocket = socket(AF_INET, SOCK_DGRAM) - sendAddress = (udpHost, 8080) - try: - udpSocket.sendto(s.encode(), sendAddress) - except OSError as e: - print(f"udp put failed, {e.strerror}") - udpSocket.close() - - -if __name__ == "__main__": - dst = "172.24.90.162" - udpPut(dst, {"k": "v"}) - pass diff --git a/lcc/CMakeLists.txt b/lcc/CMakeLists.txt deleted file mode 100644 index 14250dc..0000000 --- a/lcc/CMakeLists.txt +++ /dev/null @@ -1,3 +0,0 @@ -add_subdirectory(glcc) -add_subdirectory(clcc) -add_subdirectory(rlcc) \ No newline at end of file diff --git a/lcc/clcc/CMakeLists.txt b/lcc/clcc/CMakeLists.txt deleted file mode 100644 index 69bae18..0000000 --- a/lcc/clcc/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ - -include_directories( - ${CMAKE_CURRENT_SOURCE_DIR}/lib/helpers -) - -add_subdirectory(lib) -add_subdirectory(example) diff --git a/lcc/clcc/README.md b/lcc/clcc/README.md deleted file mode 100644 index a970c14..0000000 --- a/lcc/clcc/README.md +++ /dev/null @@ -1,12 +0,0 @@ - -### 编译 example - -以编译 example 为例 - -1. 在 coolbpf 根目录运行命令 `mkdir build & cd build` 创建编译目录 - -2. 运行命令 `cmake ..` 生成 Makefile 文件 - -3. 运行命令 `make example` - -4. 运行 example 程序: `./lcc/clcc/example` \ No newline at end of file diff --git a/lcc/clcc/example/CMakeLists.txt b/lcc/clcc/example/CMakeLists.txt deleted file mode 100644 index 0634af7..0000000 --- a/lcc/clcc/example/CMakeLists.txt +++ /dev/null @@ -1,13 +0,0 @@ - - - -add_custom_command( - OUTPUT example.skel.h - COMMAND sh make.sh ${CMAKE_CURRENT_SOURCE_DIR}/example.bpf.c ${CMAKE_CURRENT_BINARY_DIR} - WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/compile/local-compile - COMMENT "Local Compile: example example.skel.h" -) - -add_executable(example example.c example.skel.h) -target_link_libraries(example libbpf helpers) -target_include_directories(example PRIVATE ${CMAKE_CURRENT_BINARY_DIR}) diff --git a/lcc/clcc/example/example.bpf.c b/lcc/clcc/example/example.bpf.c deleted file mode 100644 index bf0ca55..0000000 --- a/lcc/clcc/example/example.bpf.c +++ /dev/null @@ -1,33 +0,0 @@ -#include "vmlinux.h" -#include -#include -#include -#include - -#include "example.h" - -struct -{ - __uint(type, BPF_MAP_TYPE_PERF_EVENT_ARRAY); - __uint(key_size, sizeof(u32)); - __uint(value_size, sizeof(u32)); -} events SEC(".maps"); - -SEC("kprobe/tcp_connect") -int BPF_KPROBE(tcp_connect, struct sock *sk) -{ - struct example e; - struct inet_sock *inet = (struct inet_sock *)sk; - - e.pid = bpf_get_current_pid_tgid() >> 32; - bpf_get_current_comm(&e.comm, TASK_COMM_LEN); - BPF_CORE_READ_INTO(&e.daddr, sk, __sk_common.skc_daddr); - BPF_CORE_READ_INTO(&e.dport, sk, __sk_common.skc_dport); - BPF_CORE_READ_INTO(&e.saddr, sk, __sk_common.skc_rcv_saddr); - BPF_CORE_READ_INTO(&e.sport, inet, inet_sport); - - bpf_perf_event_output(ctx, &events, BPF_F_CURRENT_CPU, &e, sizeof(e)); - return 0; -} - -char LICENSE[] SEC("license") = "GPL"; \ No newline at end of file diff --git a/lcc/clcc/example/example.c b/lcc/clcc/example/example.c deleted file mode 100644 index f211063..0000000 --- a/lcc/clcc/example/example.c +++ /dev/null @@ -1,149 +0,0 @@ -#include -#include -#include -#include -#include - -#include "example.h" -#include "example.skel.h" - -const char *argp_program_version = "Specify your program version"; -const char *argp_program_bug_address = "The address to report bug about your program"; -static const char argp_program_doc[] = - "\nDescription your program\n" - "\n" - "EXAMPLES:\n" - " first exampe # add some comment\n" - " second exampe # add some comment\n" - " ...... \n"; - -static const struct argp_option netinfo_options[] = { - {"btf", 'b', "BTF_PATH", 0, "Specify path of the custom btf"}, - {"debug", 'd', NULL, 0, "Enable libbpf debug output"}, - {NULL, 'h', NULL, OPTION_HIDDEN, "Show the full help"}, - {}, -}; - -static struct env -{ - bool debug; - char *btf_custom_path; -} env = { - .debug = false, - .btf_custom_path = NULL, -}; - -static int libbpf_print_fn(enum libbpf_print_level level, - const char *format, va_list args) -{ - if (!env.debug) - return 0; - return vfprintf(stderr, format, args); -} - -static error_t parse_arg(int key, char *arg, struct argp_state *state) -{ - - switch (key) - { - case 'd': - env.debug = true; - break; - case 'b': - env.btf_custom_path = arg; - break; - default: - return ARGP_ERR_UNKNOWN; - } - return 0; -} - -static void handle_event(void *ctx, int cpu, void *data, __u32 data_sz) -{ - struct example *ep = data; - char sip[INET_ADDRSTRLEN]; - char dip[INET_ADDRSTRLEN]; - - inet_ntop(AF_INET, &ep->saddr, sip, 16); - inet_ntop(AF_INET, &ep->daddr, dip, 16); - printf("(PID)%d:%s (LOCAL)%s:%u -> (REMOTE)%s:%u\n", ep->pid, ep->comm, sip, ep->sport, dip, ep->dport); -} - -static void handle_lost_events(void *ctx, int cpu, __u64 lost_cnt) -{ - printf("Lost %llu events on CPU #%d!\n", lost_cnt, cpu); -} - -void event_printer(int perf_map_fd) -{ - struct perf_buffer_opts pb_opts = { - .sample_cb = handle_event, - .lost_cb = handle_lost_events, - }; - struct perf_buffer *pb = NULL; - int err; - - pb = perf_buffer__new(perf_map_fd, 128, &pb_opts); - err = libbpf_get_error(pb); - if (err) - { - pb = NULL; - printf("failed to open perf buffer: %d\n", err); - goto cleanup; - } - while (1) - { - err = perf_buffer__poll(pb, 100); - if (err < 0 && errno != EINTR) - { - printf("Error polling perf buffer: %d\n", err); - goto cleanup; - } - } -cleanup: - perf_buffer__free(pb); -} - -int main(int argc, char **argv) -{ - struct example_bpf *obj; - int err; - DECLARE_LIBBPF_OPTS(bpf_object_open_opts, open_opts); - static const struct argp argp = { - .options = netinfo_options, - .parser = parse_arg, - .doc = argp_program_doc, - .args_doc = NULL, - }; - - bump_memlock_rlimit(); - libbpf_set_print(libbpf_print_fn); - err = argp_parse(&argp, argc, argv, 0, NULL, NULL); - if (err) - return err; - - open_opts.btf_custom_path = env.btf_custom_path; - obj = example_bpf__open_opts(&open_opts); - if (!obj) - { - printf("failed to open BPF object\n"); - return 1; - } - err = example_bpf__load(obj); - if (err) - { - printf("failed to load BPF object: %d\n", err); - goto cleanup; - } - err = example_bpf__attach(obj); - if (err) - { - printf("failed to attach BPF programs: %s\n", strerror(-err)); - goto cleanup; - } - event_printer(bpf_map__fd(obj->maps.events)); -cleanup: - // destory the bpf program - example_bpf__destroy(obj); - return 0; -} \ No newline at end of file diff --git a/lcc/clcc/example/example.h b/lcc/clcc/example/example.h deleted file mode 100644 index bc9b6f7..0000000 --- a/lcc/clcc/example/example.h +++ /dev/null @@ -1,16 +0,0 @@ -#ifndef __EXAMPLE_H -#define __EXAMPLE_H - -#define TASK_COMM_LEN 16 - -struct example -{ - int pid; - char comm[TASK_COMM_LEN]; // command (task_comm_len) - __u16 sport; // source port - __u16 dport; // destination port - __u32 saddr; // source address - __u32 daddr; // destination address -}; - -#endif diff --git a/lcc/clcc/lib/CMakeLists.txt b/lcc/clcc/lib/CMakeLists.txt deleted file mode 100644 index 619826c..0000000 --- a/lcc/clcc/lib/CMakeLists.txt +++ /dev/null @@ -1,3 +0,0 @@ - - -add_subdirectory(helpers) diff --git a/lcc/clcc/lib/helpers/CMakeLists.txt b/lcc/clcc/lib/helpers/CMakeLists.txt deleted file mode 100644 index 952459d..0000000 --- a/lcc/clcc/lib/helpers/CMakeLists.txt +++ /dev/null @@ -1,9 +0,0 @@ - -add_library(helpers - errno_helpers.c - map_helpers.c - syscall_helpers.c - trace_helpers.c - uprobe_helpers.c) - -target_link_libraries(helpers libbpf) diff --git a/lcc/clcc/lib/helpers/errno_helpers.c b/lcc/clcc/lib/helpers/errno_helpers.c deleted file mode 100644 index eb63d70..0000000 --- a/lcc/clcc/lib/helpers/errno_helpers.c +++ /dev/null @@ -1,232 +0,0 @@ -// SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) -// Copyright (c) 2020 Anton Protopopov -#include -#include -#include -#include -#include - -#define warn(...) fprintf(stderr, __VA_ARGS__) - -#ifdef __x86_64__ -static int errno_by_name_x86_64(const char *errno_name) -{ - -#define strcase(X, N) if (!strcmp(errno_name, (X))) return N - - strcase("EPERM", 1); - strcase("ENOENT", 2); - strcase("ESRCH", 3); - strcase("EINTR", 4); - strcase("EIO", 5); - strcase("ENXIO", 6); - strcase("E2BIG", 7); - strcase("ENOEXEC", 8); - strcase("EBADF", 9); - strcase("ECHILD", 10); - strcase("EAGAIN", 11); - strcase("EWOULDBLOCK", 11); - strcase("ENOMEM", 12); - strcase("EACCES", 13); - strcase("EFAULT", 14); - strcase("ENOTBLK", 15); - strcase("EBUSY", 16); - strcase("EEXIST", 17); - strcase("EXDEV", 18); - strcase("ENODEV", 19); - strcase("ENOTDIR", 20); - strcase("EISDIR", 21); - strcase("EINVAL", 22); - strcase("ENFILE", 23); - strcase("EMFILE", 24); - strcase("ENOTTY", 25); - strcase("ETXTBSY", 26); - strcase("EFBIG", 27); - strcase("ENOSPC", 28); - strcase("ESPIPE", 29); - strcase("EROFS", 30); - strcase("EMLINK", 31); - strcase("EPIPE", 32); - strcase("EDOM", 33); - strcase("ERANGE", 34); - strcase("EDEADLK", 35); - strcase("EDEADLOCK", 35); - strcase("ENAMETOOLONG", 36); - strcase("ENOLCK", 37); - strcase("ENOSYS", 38); - strcase("ENOTEMPTY", 39); - strcase("ELOOP", 40); - strcase("ENOMSG", 42); - strcase("EIDRM", 43); - strcase("ECHRNG", 44); - strcase("EL2NSYNC", 45); - strcase("EL3HLT", 46); - strcase("EL3RST", 47); - strcase("ELNRNG", 48); - strcase("EUNATCH", 49); - strcase("ENOCSI", 50); - strcase("EL2HLT", 51); - strcase("EBADE", 52); - strcase("EBADR", 53); - strcase("EXFULL", 54); - strcase("ENOANO", 55); - strcase("EBADRQC", 56); - strcase("EBADSLT", 57); - strcase("EBFONT", 59); - strcase("ENOSTR", 60); - strcase("ENODATA", 61); - strcase("ETIME", 62); - strcase("ENOSR", 63); - strcase("ENONET", 64); - strcase("ENOPKG", 65); - strcase("EREMOTE", 66); - strcase("ENOLINK", 67); - strcase("EADV", 68); - strcase("ESRMNT", 69); - strcase("ECOMM", 70); - strcase("EPROTO", 71); - strcase("EMULTIHOP", 72); - strcase("EDOTDOT", 73); - strcase("EBADMSG", 74); - strcase("EOVERFLOW", 75); - strcase("ENOTUNIQ", 76); - strcase("EBADFD", 77); - strcase("EREMCHG", 78); - strcase("ELIBACC", 79); - strcase("ELIBBAD", 80); - strcase("ELIBSCN", 81); - strcase("ELIBMAX", 82); - strcase("ELIBEXEC", 83); - strcase("EILSEQ", 84); - strcase("ERESTART", 85); - strcase("ESTRPIPE", 86); - strcase("EUSERS", 87); - strcase("ENOTSOCK", 88); - strcase("EDESTADDRREQ", 89); - strcase("EMSGSIZE", 90); - strcase("EPROTOTYPE", 91); - strcase("ENOPROTOOPT", 92); - strcase("EPROTONOSUPPORT", 93); - strcase("ESOCKTNOSUPPORT", 94); - strcase("ENOTSUP", 95); - strcase("EOPNOTSUPP", 95); - strcase("EPFNOSUPPORT", 96); - strcase("EAFNOSUPPORT", 97); - strcase("EADDRINUSE", 98); - strcase("EADDRNOTAVAIL", 99); - strcase("ENETDOWN", 100); - strcase("ENETUNREACH", 101); - strcase("ENETRESET", 102); - strcase("ECONNABORTED", 103); - strcase("ECONNRESET", 104); - strcase("ENOBUFS", 105); - strcase("EISCONN", 106); - strcase("ENOTCONN", 107); - strcase("ESHUTDOWN", 108); - strcase("ETOOMANYREFS", 109); - strcase("ETIMEDOUT", 110); - strcase("ECONNREFUSED", 111); - strcase("EHOSTDOWN", 112); - strcase("EHOSTUNREACH", 113); - strcase("EALREADY", 114); - strcase("EINPROGRESS", 115); - strcase("ESTALE", 116); - strcase("EUCLEAN", 117); - strcase("ENOTNAM", 118); - strcase("ENAVAIL", 119); - strcase("EISNAM", 120); - strcase("EREMOTEIO", 121); - strcase("EDQUOT", 122); - strcase("ENOMEDIUM", 123); - strcase("EMEDIUMTYPE", 124); - strcase("ECANCELED", 125); - strcase("ENOKEY", 126); - strcase("EKEYEXPIRED", 127); - strcase("EKEYREVOKED", 128); - strcase("EKEYREJECTED", 129); - strcase("EOWNERDEAD", 130); - strcase("ENOTRECOVERABLE", 131); - strcase("ERFKILL", 132); - strcase("EHWPOISON", 133); - -#undef strcase - - return -1; - -} -#endif - -/* Try to find the errno number using the errno(1) program */ -static int errno_by_name_dynamic(const char *errno_name) -{ - int i, len = strlen(errno_name); - int err, number = -1; - char buf[128]; - char cmd[64]; - char *end; - long val; - FILE *f; - - /* sanity check to not call popen with random input */ - for (i = 0; i < len; i++) { - if (errno_name[i] < 'A' || errno_name[i] > 'Z') { - warn("errno_name contains invalid char 0x%02x: %s\n", - errno_name[i], errno_name); - return -1; - } - } - - snprintf(cmd, sizeof(cmd), "errno %s", errno_name); - f = popen(cmd, "r"); - if (!f) { - warn("popen: %s: %s\n", cmd, strerror(errno)); - return -1; - } - - if (!fgets(buf, sizeof(buf), f)) { - goto close; - } else if (ferror(f)) { - warn("fgets: %s\n", strerror(errno)); - goto close; - } - - // expecting " " - if (strncmp(errno_name, buf, len) || strlen(buf) < len+2) { - warn("expected '%s': %s\n", errno_name, buf); - goto close; - } - errno = 0; - val = strtol(buf+len+2, &end, 10); - if (errno || end == (buf+len+2) || number < 0 || number > INT_MAX) { - warn("can't parse the second column, expected int: %s\n", buf); - goto close; - } - number = val; - -close: - err = pclose(f); - if (err < 0) - warn("pclose: %s\n", strerror(errno)); -#ifndef __x86_64__ - /* Ignore the error for x86_64 where we have a table compiled in */ - else if (err && WEXITSTATUS(err) == 127) { - warn("errno(1) required for errno name/number mapping\n"); - } else if (err) { - warn("errno(1) exit status (see wait(2)): 0x%x\n", err); - } -#endif - return number; -} - -int errno_by_name(const char *errno_name) -{ -#ifdef __x86_64__ - int err; - - err = errno_by_name_x86_64(errno_name); - if (err >= 0) - return err; -#endif - - return errno_by_name_dynamic(errno_name); -} diff --git a/lcc/clcc/lib/helpers/errno_helpers.h b/lcc/clcc/lib/helpers/errno_helpers.h deleted file mode 100644 index 4c154fb..0000000 --- a/lcc/clcc/lib/helpers/errno_helpers.h +++ /dev/null @@ -1,7 +0,0 @@ -/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */ -#ifndef __ERRNO_HELPERS_H -#define __ERRNO_HELPERS_H - -int errno_by_name(const char *errno_name); - -#endif /* __ERRNO_HELPERS_H */ diff --git a/lcc/clcc/lib/helpers/map_helpers.c b/lcc/clcc/lib/helpers/map_helpers.c deleted file mode 100644 index b766102..0000000 --- a/lcc/clcc/lib/helpers/map_helpers.c +++ /dev/null @@ -1,106 +0,0 @@ -// SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) -// Copyright (c) 2020 Anton Protopopov -#include -#include -#include - -#include "map_helpers.h" - -#define warn(...) fprintf(stderr, __VA_ARGS__) - -static bool batch_map_ops = true; /* hope for the best */ - -static int -dump_hash_iter(int map_fd, void *keys, __u32 key_size, - void *values, __u32 value_size, __u32 *count, - void *invalid_key) -{ - __u8 key[key_size], next_key[key_size]; - __u32 n = 0; - int i, err; - - /* First get keys */ - __builtin_memcpy(key, invalid_key, key_size); - while (n < *count) { - err = bpf_map_get_next_key(map_fd, key, next_key); - if (err && errno != ENOENT) { - return -1; - } else if (err) { - break; - } - __builtin_memcpy(key, next_key, key_size); - __builtin_memcpy(keys + key_size * n, next_key, key_size); - n++; - } - - /* Now read values */ - for (i = 0; i < n; i++) { - err = bpf_map_lookup_elem(map_fd, keys + key_size * i, - values + value_size * i); - if (err) - return -1; - } - - *count = n; - return 0; -} - -static int -dump_hash_batch(int map_fd, void *keys, __u32 key_size, - void *values, __u32 value_size, __u32 *count) -{ - void *in = NULL, *out; - __u32 n, n_read = 0; - int err = 0; - - while (n_read < *count && !err) { - n = *count - n_read; - err = bpf_map_lookup_batch(map_fd, &in, &out, - keys + n_read * key_size, - values + n_read * value_size, - &n, NULL); - if (err && errno != ENOENT) { - return -1; - } - n_read += n; - in = out; - } - - *count = n_read; - return 0; -} - -int dump_hash(int map_fd, - void *keys, __u32 key_size, - void *values, __u32 value_size, - __u32 *count, void *invalid_key) -{ - int err; - - if (!keys || !values || !count || !key_size || !value_size) { - errno = EINVAL; - return -1; - } - - if (batch_map_ops) { - err = dump_hash_batch(map_fd, keys, key_size, - values, value_size, count); - if (err) { - if (errno != EINVAL) { - return -1; - - /* assume that batch operations are not - * supported and try non-batch mode */ - batch_map_ops = false; - } - } - } - - if (!invalid_key) { - errno = EINVAL; - return -1; - } - - return dump_hash_iter(map_fd, keys, key_size, - values, value_size, count, invalid_key); -} diff --git a/lcc/clcc/lib/helpers/map_helpers.h b/lcc/clcc/lib/helpers/map_helpers.h deleted file mode 100644 index 2d5cb02..0000000 --- a/lcc/clcc/lib/helpers/map_helpers.h +++ /dev/null @@ -1,11 +0,0 @@ -/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */ -/* Copyright (c) 2020 Anton Protopopov */ -#ifndef __MAP_HELPERS_H -#define __MAP_HELPERS_H - -#include - -int dump_hash(int map_fd, void *keys, __u32 key_size, - void *values, __u32 value_size, __u32 *count, void *invalid_key); - -#endif /* __MAP_HELPERS_H */ diff --git a/lcc/clcc/lib/helpers/syscall_helpers.c b/lcc/clcc/lib/helpers/syscall_helpers.c deleted file mode 100644 index 161f9a7..0000000 --- a/lcc/clcc/lib/helpers/syscall_helpers.c +++ /dev/null @@ -1,527 +0,0 @@ -// SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) -// Copyright (c) 2020 Anton Protopopov -#include -#include -#include -#include -#include - -static const char **syscall_names; -static size_t syscall_names_size; - -#define warn(...) fprintf(stderr, __VA_ARGS__) -#define MAX(x, y) (((x) > (y)) ? (x) : (y)) - -static const char *parse_syscall(const char *buf, int *number) -{ - char *end; - long x; - - errno = 0; - x = strtol(buf, &end, 10); - if (errno) { - warn("strtol(%s): %s\n", buf, strerror(errno)); - return NULL; - } else if (end == buf) { - warn("strtol(%s): no digits found\n", buf); - return NULL; - } else if (x < 0 || x > INT_MAX) { - warn("strtol(%s): bad syscall number: %ld\n", buf, x); - return NULL; - } - if (*end != '\t') { - warn("bad input: %s (expected \t)\n", buf); - return NULL; - } - - *number = x; - return ++end; -} - -void init_syscall_names(void) -{ - size_t old_size, size = 1024; - const char *name; - char buf[64]; - int number; - int err; - FILE *f; - - f = popen("ausyscall --dump 2>/dev/null", "r"); - if (!f) { - warn("popen: ausyscall --dump: %s\n", strerror(errno)); - return; - } - - syscall_names = calloc(size, sizeof(char *)); - if (!syscall_names) { - warn("calloc: %s\n", strerror(errno)); - goto close; - } - - /* skip the header, ignore the result of fgets, outwit the comiler */ - (void) !!fgets(buf, sizeof(buf), f); - - while (fgets(buf, sizeof(buf), f)) { - if (buf[strlen(buf) - 1] == '\n') - buf[strlen(buf) - 1] = '\0'; - - name = parse_syscall(buf, &number); - if (!name || !name[0]) - goto close; - - /* In a rare case when syscall number is > than initial 1024 */ - if (number >= size) { - old_size = size; - size = 1024 * (1 + number / 1024); - syscall_names = realloc(syscall_names, - size * sizeof(char *)); - if (!syscall_names) { - warn("realloc: %s\n", strerror(errno)); - goto close; - } - memset(syscall_names+old_size, 0, - (size - old_size) * sizeof(char *)); - } - - if (syscall_names[number]) { - warn("duplicate number: %d (stored: %s)", - number, syscall_names[number]); - goto close; - } - - syscall_names[number] = strdup(name); - if (!syscall_names[number]) { - warn("strdup: %s\n", strerror(errno)); - goto close; - } - syscall_names_size = MAX(number+1, syscall_names_size); - } - - if (ferror(f)) - warn("fgets: %s\n", strerror(errno)); -close: - err = pclose(f); - if (err < 0) - warn("pclose: %s\n", strerror(errno)); -#ifndef __x86_64__ - /* Ignore the error for x86_64 where we have a table compiled in */ - else if (err && WEXITSTATUS(err) == 127) { - warn("ausyscall required for syscalls number/name mapping\n"); - } else if (err) { - warn("ausyscall exit status (see wait(2)): 0x%x\n", err); - } -#endif -} - -void free_syscall_names(void) -{ - size_t i; - - for (i = 0; i < syscall_names_size; i++) - free((void *) syscall_names[i]); - free(syscall_names); -} - -/* - * Syscall table for Linux x86_64. - * - * Semi-automatically generated from strace/linux/x86_64/syscallent.h and - * linux/syscallent-common.h using the following commands: - * - * awk -F\" '/SEN/{printf("%d %s\n", substr($0,2,3), $(NF-1));}' syscallent.h - * awk '/SEN/ { printf("%d %s\n", $3, $9); }' syscallent-common.h - * - * (The idea is taken from src/python/bcc/syscall.py.) - */ -#ifdef __x86_64__ -static const char *syscall_names_x86_64[] = { - [0] = "read", - [1] = "write", - [2] = "open", - [3] = "close", - [4] = "stat", - [5] = "fstat", - [6] = "lstat", - [7] = "poll", - [8] = "lseek", - [9] = "mmap", - [10] = "mprotect", - [11] = "munmap", - [12] = "brk", - [13] = "rt_sigaction", - [14] = "rt_sigprocmask", - [15] = "rt_sigreturn", - [16] = "ioctl", - [17] = "pread64", - [18] = "pwrite64", - [19] = "readv", - [20] = "writev", - [21] = "access", - [22] = "pipe", - [23] = "select", - [24] = "sched_yield", - [25] = "mremap", - [26] = "msync", - [27] = "mincore", - [28] = "madvise", - [29] = "shmget", - [30] = "shmat", - [31] = "shmctl", - [32] = "dup", - [33] = "dup2", - [34] = "pause", - [35] = "nanosleep", - [36] = "getitimer", - [37] = "alarm", - [38] = "setitimer", - [39] = "getpid", - [40] = "sendfile", - [41] = "socket", - [42] = "connect", - [43] = "accept", - [44] = "sendto", - [45] = "recvfrom", - [46] = "sendmsg", - [47] = "recvmsg", - [48] = "shutdown", - [49] = "bind", - [50] = "listen", - [51] = "getsockname", - [52] = "getpeername", - [53] = "socketpair", - [54] = "setsockopt", - [55] = "getsockopt", - [56] = "clone", - [57] = "fork", - [58] = "vfork", - [59] = "execve", - [60] = "exit", - [61] = "wait4", - [62] = "kill", - [63] = "uname", - [64] = "semget", - [65] = "semop", - [66] = "semctl", - [67] = "shmdt", - [68] = "msgget", - [69] = "msgsnd", - [70] = "msgrcv", - [71] = "msgctl", - [72] = "fcntl", - [73] = "flock", - [74] = "fsync", - [75] = "fdatasync", - [76] = "truncate", - [77] = "ftruncate", - [78] = "getdents", - [79] = "getcwd", - [80] = "chdir", - [81] = "fchdir", - [82] = "rename", - [83] = "mkdir", - [84] = "rmdir", - [85] = "creat", - [86] = "link", - [87] = "unlink", - [88] = "symlink", - [89] = "readlink", - [90] = "chmod", - [91] = "fchmod", - [92] = "chown", - [93] = "fchown", - [94] = "lchown", - [95] = "umask", - [96] = "gettimeofday", - [97] = "getrlimit", - [98] = "getrusage", - [99] = "sysinfo", - [100] = "times", - [101] = "ptrace", - [102] = "getuid", - [103] = "syslog", - [104] = "getgid", - [105] = "setuid", - [106] = "setgid", - [107] = "geteuid", - [108] = "getegid", - [109] = "setpgid", - [110] = "getppid", - [111] = "getpgrp", - [112] = "setsid", - [113] = "setreuid", - [114] = "setregid", - [115] = "getgroups", - [116] = "setgroups", - [117] = "setresuid", - [118] = "getresuid", - [119] = "setresgid", - [120] = "getresgid", - [121] = "getpgid", - [122] = "setfsuid", - [123] = "setfsgid", - [124] = "getsid", - [125] = "capget", - [126] = "capset", - [127] = "rt_sigpending", - [128] = "rt_sigtimedwait", - [129] = "rt_sigqueueinfo", - [130] = "rt_sigsuspend", - [131] = "sigaltstack", - [132] = "utime", - [133] = "mknod", - [134] = "uselib", - [135] = "personality", - [136] = "ustat", - [137] = "statfs", - [138] = "fstatfs", - [139] = "sysfs", - [140] = "getpriority", - [141] = "setpriority", - [142] = "sched_setparam", - [143] = "sched_getparam", - [144] = "sched_setscheduler", - [145] = "sched_getscheduler", - [146] = "sched_get_priority_max", - [147] = "sched_get_priority_min", - [148] = "sched_rr_get_interval", - [149] = "mlock", - [150] = "munlock", - [151] = "mlockall", - [152] = "munlockall", - [153] = "vhangup", - [154] = "modify_ldt", - [155] = "pivot_root", - [156] = "_sysctl", - [157] = "prctl", - [158] = "arch_prctl", - [159] = "adjtimex", - [160] = "setrlimit", - [161] = "chroot", - [162] = "sync", - [163] = "acct", - [164] = "settimeofday", - [165] = "mount", - [166] = "umount2", - [167] = "swapon", - [168] = "swapoff", - [169] = "reboot", - [170] = "sethostname", - [171] = "setdomainname", - [172] = "iopl", - [173] = "ioperm", - [174] = "create_module", - [175] = "init_module", - [176] = "delete_module", - [177] = "get_kernel_syms", - [178] = "query_module", - [179] = "quotactl", - [180] = "nfsservctl", - [181] = "getpmsg", - [182] = "putpmsg", - [183] = "afs_syscall", - [184] = "tuxcall", - [185] = "security", - [186] = "gettid", - [187] = "readahead", - [188] = "setxattr", - [189] = "lsetxattr", - [190] = "fsetxattr", - [191] = "getxattr", - [192] = "lgetxattr", - [193] = "fgetxattr", - [194] = "listxattr", - [195] = "llistxattr", - [196] = "flistxattr", - [197] = "removexattr", - [198] = "lremovexattr", - [199] = "fremovexattr", - [200] = "tkill", - [201] = "time", - [202] = "futex", - [203] = "sched_setaffinity", - [204] = "sched_getaffinity", - [205] = "set_thread_area", - [206] = "io_setup", - [207] = "io_destroy", - [208] = "io_getevents", - [209] = "io_submit", - [210] = "io_cancel", - [211] = "get_thread_area", - [212] = "lookup_dcookie", - [213] = "epoll_create", - [214] = "epoll_ctl_old", - [215] = "epoll_wait_old", - [216] = "remap_file_pages", - [217] = "getdents64", - [218] = "set_tid_address", - [219] = "restart_syscall", - [220] = "semtimedop", - [221] = "fadvise64", - [222] = "timer_create", - [223] = "timer_settime", - [224] = "timer_gettime", - [225] = "timer_getoverrun", - [226] = "timer_delete", - [227] = "clock_settime", - [228] = "clock_gettime", - [229] = "clock_getres", - [230] = "clock_nanosleep", - [231] = "exit_group", - [232] = "epoll_wait", - [233] = "epoll_ctl", - [234] = "tgkill", - [235] = "utimes", - [236] = "vserver", - [237] = "mbind", - [238] = "set_mempolicy", - [239] = "get_mempolicy", - [240] = "mq_open", - [241] = "mq_unlink", - [242] = "mq_timedsend", - [243] = "mq_timedreceive", - [244] = "mq_notify", - [245] = "mq_getsetattr", - [246] = "kexec_load", - [247] = "waitid", - [248] = "add_key", - [249] = "request_key", - [250] = "keyctl", - [251] = "ioprio_set", - [252] = "ioprio_get", - [253] = "inotify_init", - [254] = "inotify_add_watch", - [255] = "inotify_rm_watch", - [256] = "migrate_pages", - [257] = "openat", - [258] = "mkdirat", - [259] = "mknodat", - [260] = "fchownat", - [261] = "futimesat", - [262] = "newfstatat", - [263] = "unlinkat", - [264] = "renameat", - [265] = "linkat", - [266] = "symlinkat", - [267] = "readlinkat", - [268] = "fchmodat", - [269] = "faccessat", - [270] = "pselect6", - [271] = "ppoll", - [272] = "unshare", - [273] = "set_robust_list", - [274] = "get_robust_list", - [275] = "splice", - [276] = "tee", - [277] = "sync_file_range", - [278] = "vmsplice", - [279] = "move_pages", - [280] = "utimensat", - [281] = "epoll_pwait", - [282] = "signalfd", - [283] = "timerfd_create", - [284] = "eventfd", - [285] = "fallocate", - [286] = "timerfd_settime", - [287] = "timerfd_gettime", - [288] = "accept4", - [289] = "signalfd4", - [290] = "eventfd2", - [291] = "epoll_create1", - [292] = "dup3", - [293] = "pipe2", - [294] = "inotify_init1", - [295] = "preadv", - [296] = "pwritev", - [297] = "rt_tgsigqueueinfo", - [298] = "perf_event_open", - [299] = "recvmmsg", - [300] = "fanotify_init", - [301] = "fanotify_mark", - [302] = "prlimit64", - [303] = "name_to_handle_at", - [304] = "open_by_handle_at", - [305] = "clock_adjtime", - [306] = "syncfs", - [307] = "sendmmsg", - [308] = "setns", - [309] = "getcpu", - [310] = "process_vm_readv", - [311] = "process_vm_writev", - [312] = "kcmp", - [313] = "finit_module", - [314] = "sched_setattr", - [315] = "sched_getattr", - [316] = "renameat2", - [317] = "seccomp", - [318] = "getrandom", - [319] = "memfd_create", - [320] = "kexec_file_load", - [321] = "bpf", - [322] = "execveat", - [323] = "userfaultfd", - [324] = "membarrier", - [325] = "mlock2", - [326] = "copy_file_range", - [327] = "preadv2", - [328] = "pwritev2", - [329] = "pkey_mprotect", - [330] = "pkey_alloc", - [331] = "pkey_free", - [332] = "statx", - [333] = "io_pgetevents", - [334] = "rseq", - [424] = "pidfd_send_signal", - [425] = "io_uring_setup", - [426] = "io_uring_enter", - [427] = "io_uring_register", - [428] = "open_tree", - [429] = "move_mount", - [430] = "fsopen", - [431] = "fsconfig", - [432] = "fsmount", - [433] = "fspick", - [434] = "pidfd_open", - [435] = "clone3", - [437] = "openat2", - [438] = "pidfd_getfd", -}; -size_t syscall_names_x86_64_size = sizeof(syscall_names_x86_64)/sizeof(char*); -#endif - -void syscall_name(unsigned n, char *buf, size_t size) -{ - const char *name = NULL; - - if (n < syscall_names_size) - name = syscall_names[n]; -#ifdef __x86_64__ - else if (n < syscall_names_x86_64_size) - name = syscall_names_x86_64[n]; -#endif - - if (name) - strncpy(buf, name, size-1); - else - snprintf(buf, size, "[unknown: %u]", n); -} - -int list_syscalls(void) -{ - const char **list = syscall_names; - size_t i, size = syscall_names_size; - -#ifdef __x86_64__ - if (!size) { - size = syscall_names_x86_64_size; - list = syscall_names_x86_64; - } -#endif - - for (i = 0; i < size; i++) { - if (list[i]) - printf("%3zd: %s\n", i, list[i]); - } - - return (!list || !size); -} diff --git a/lcc/clcc/lib/helpers/syscall_helpers.h b/lcc/clcc/lib/helpers/syscall_helpers.h deleted file mode 100644 index 06f2965..0000000 --- a/lcc/clcc/lib/helpers/syscall_helpers.h +++ /dev/null @@ -1,12 +0,0 @@ -/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */ -#ifndef __SYSCALL_HELPERS_H -#define __SYSCALL_HELPERS_H - -#include - -void init_syscall_names(void); -void free_syscall_names(void); -void list_syscalls(void); -void syscall_name(unsigned n, char *buf, size_t size); - -#endif /* __SYSCALL_HELPERS_H */ diff --git a/lcc/clcc/lib/helpers/trace_helpers.c b/lcc/clcc/lib/helpers/trace_helpers.c deleted file mode 100644 index 1a8fafc..0000000 --- a/lcc/clcc/lib/helpers/trace_helpers.c +++ /dev/null @@ -1,397 +0,0 @@ -/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */ -// Copyright (c) 2020 Wenbo Zhang -// -// Based on ksyms improvements from Andrii Nakryiko, add more helpers. -// 28-Feb-2020 Wenbo Zhang Created this. -#include -#include -#include -#include -#include -#include "trace_helpers.h" - -#define min(x, y) ({ \ - typeof(x) _min1 = (x); \ - typeof(y) _min2 = (y); \ - (void) (&_min1 == &_min2); \ - _min1 < _min2 ? _min1 : _min2; }) - -#define DISK_NAME_LEN 32 - -#define MINORBITS 20 -#define MINORMASK ((1U << MINORBITS) - 1) - -#define MKDEV(ma, mi) (((ma) << MINORBITS) | (mi)) - -struct ksyms { - struct ksym *syms; - int syms_sz; - int syms_cap; - char *strs; - int strs_sz; - int strs_cap; -}; - -static int ksyms__add_symbol(struct ksyms *ksyms, const char *name, unsigned long addr) -{ - size_t new_cap, name_len = strlen(name) + 1; - struct ksym *ksym; - void *tmp; - - if (ksyms->strs_sz + name_len > ksyms->strs_cap) { - new_cap = ksyms->strs_cap * 4 / 3; - if (new_cap < ksyms->strs_sz + name_len) - new_cap = ksyms->strs_sz + name_len; - if (new_cap < 1024) - new_cap = 1024; - tmp = realloc(ksyms->strs, new_cap); - if (!tmp) - return -1; - ksyms->strs = tmp; - ksyms->strs_cap = new_cap; - } - if (ksyms->syms_sz + 1 > ksyms->syms_cap) { - new_cap = ksyms->syms_cap * 4 / 3; - if (new_cap < 1024) - new_cap = 1024; - tmp = realloc(ksyms->syms, sizeof(*ksyms->syms) * new_cap); - if (!tmp) - return -1; - ksyms->syms = tmp; - ksyms->syms_cap = new_cap; - } - - ksym = &ksyms->syms[ksyms->syms_sz]; - /* while constructing, re-use pointer as just a plain offset */ - ksym->name = (void *)(unsigned long)ksyms->strs_sz; - ksym->addr = addr; - - memcpy(ksyms->strs + ksyms->strs_sz, name, name_len); - ksyms->strs_sz += name_len; - ksyms->syms_sz++; - - return 0; -} - -static int ksym_cmp(const void *p1, const void *p2) -{ - const struct ksym *s1 = p1, *s2 = p2; - - if (s1->addr == s2->addr) - return strcmp(s1->name, s2->name); - return s1->addr < s2->addr ? -1 : 1; -} - -struct ksyms *ksyms__load(void) -{ - char sym_type, sym_name[256]; - struct ksyms *ksyms; - unsigned long sym_addr; - int i, ret; - FILE *f; - - f = fopen("/proc/kallsyms", "r"); - if (!f) - return NULL; - - ksyms = calloc(1, sizeof(*ksyms)); - if (!ksyms) - goto err_out; - - while (true) { - ret = fscanf(f, "%lx %c %s%*[^\n]\n", - &sym_addr, &sym_type, sym_name); - if (ret == EOF && feof(f)) - break; - if (ret != 3) - goto err_out; - if (ksyms__add_symbol(ksyms, sym_name, sym_addr)) - goto err_out; - } - - /* now when strings are finalized, adjust pointers properly */ - for (i = 0; i < ksyms->syms_sz; i++) - ksyms->syms[i].name += (unsigned long)ksyms->strs; - - qsort(ksyms->syms, ksyms->syms_sz, sizeof(*ksyms->syms), ksym_cmp); - - fclose(f); - return ksyms; - -err_out: - ksyms__free(ksyms); - fclose(f); - return NULL; -} - -void ksyms__free(struct ksyms *ksyms) -{ - if (!ksyms) - return; - - free(ksyms->syms); - free(ksyms->strs); - free(ksyms); -} - -const struct ksym *ksyms__map_addr(const struct ksyms *ksyms, - unsigned long addr) -{ - int start = 0, end = ksyms->syms_sz - 1, mid; - unsigned long sym_addr; - - /* find largest sym_addr <= addr using binary search */ - while (start < end) { - mid = start + (end - start + 1) / 2; - sym_addr = ksyms->syms[mid].addr; - - if (sym_addr <= addr) - start = mid; - else - end = mid - 1; - } - - if (start == end && ksyms->syms[start].addr <= addr) - return &ksyms->syms[start]; - return NULL; -} - -const struct ksym *ksyms__get_symbol(const struct ksyms *ksyms, - const char *name) -{ - int i; - - for (i = 0; i < ksyms->syms_sz; i++) { - if (strcmp(ksyms->syms[i].name, name) == 0) - return &ksyms->syms[i]; - } - - return NULL; -} - -struct partitions { - struct partition *items; - int sz; -}; - -static int partitions__add_partition(struct partitions *partitions, - const char *name, unsigned int dev) -{ - struct partition *partition; - void *tmp; - - tmp = realloc(partitions->items, (partitions->sz + 1) * - sizeof(*partitions->items)); - if (!tmp) - return -1; - partitions->items = tmp; - partition = &partitions->items[partitions->sz]; - partition->name = strdup(name); - partition->dev = dev; - partitions->sz++; - - return 0; -} - -struct partitions *partitions__load(void) -{ - char part_name[DISK_NAME_LEN]; - unsigned int devmaj, devmin; - unsigned long long nop; - struct partitions *partitions; - char buf[64]; - FILE *f; - - f = fopen("/proc/partitions", "r"); - if (!f) - return NULL; - - partitions = calloc(1, sizeof(*partitions)); - if (!partitions) - goto err_out; - - while (fgets(buf, sizeof(buf), f) != NULL) { - /* skip heading */ - if (buf[0] != ' ' || buf[0] == '\n') - continue; - if (sscanf(buf, "%u %u %llu %s", &devmaj, &devmin, &nop, - part_name) != 4) - goto err_out; - if (partitions__add_partition(partitions, part_name, - MKDEV(devmaj, devmin))) - goto err_out; - } - - fclose(f); - return partitions; - -err_out: - partitions__free(partitions); - fclose(f); - return NULL; -} - -void partitions__free(struct partitions *partitions) -{ - int i; - - if (!partitions) - return; - - for (i = 0; i < partitions->sz; i++) - free(partitions->items[i].name); - free(partitions->items); - free(partitions); -} - -const struct partition * -partitions__get_by_dev(const struct partitions *partitions, unsigned int dev) -{ - int i; - - for (i = 0; i < partitions->sz; i++) { - if (partitions->items[i].dev == dev) - return &partitions->items[i]; - } - - return NULL; -} - -const struct partition * -partitions__get_by_name(const struct partitions *partitions, const char *name) -{ - int i; - - for (i = 0; i < partitions->sz; i++) { - if (strcmp(partitions->items[i].name, name) == 0) - return &partitions->items[i]; - } - - return NULL; -} - -static void print_stars(unsigned int val, unsigned int val_max, int width) -{ - int num_stars, num_spaces, i; - bool need_plus; - - num_stars = min(val, val_max) * width / val_max; - num_spaces = width - num_stars; - need_plus = val > val_max; - - for (i = 0; i < num_stars; i++) - printf("*"); - for (i = 0; i < num_spaces; i++) - printf(" "); - if (need_plus) - printf("+"); -} - -void print_log2_hist(unsigned int *vals, int vals_size, const char *val_type) -{ - int stars_max = 40, idx_max = -1; - unsigned int val, val_max = 0; - unsigned long long low, high; - int stars, width, i; - - for (i = 0; i < vals_size; i++) { - val = vals[i]; - if (val > 0) - idx_max = i; - if (val > val_max) - val_max = val; - } - - if (idx_max < 0) - return; - - printf("%*s%-*s : count distribution\n", idx_max <= 32 ? 5 : 15, "", - idx_max <= 32 ? 19 : 29, val_type); - - if (idx_max <= 32) - stars = stars_max; - else - stars = stars_max / 2; - - for (i = 0; i <= idx_max; i++) { - low = (1ULL << (i + 1)) >> 1; - high = (1ULL << (i + 1)) - 1; - if (low == high) - low -= 1; - val = vals[i]; - width = idx_max <= 32 ? 10 : 20; - printf("%*lld -> %-*lld : %-8d |", width, low, width, high, val); - print_stars(val, val_max, stars); - printf("|\n"); - } -} - -void print_linear_hist(unsigned int *vals, int vals_size, unsigned int base, - unsigned int step, const char *val_type) -{ - int i, stars_max = 40, idx_min = -1, idx_max = -1; - unsigned int val, val_max = 0; - - for (i = 0; i < vals_size; i++) { - val = vals[i]; - if (val > 0) { - idx_max = i; - if (idx_min < 0) - idx_min = i; - } - if (val > val_max) - val_max = val; - } - - if (idx_max < 0) - return; - - printf(" %-13s : count distribution\n", val_type); - for (i = idx_min; i <= idx_max; i++) { - val = vals[i]; - printf(" %-10d : %-8d |", base + i * step, val); - print_stars(val, val_max, stars_max); - printf("|\n"); - } -} - -unsigned long long get_ktime_ns(void) -{ - struct timespec ts; - - clock_gettime(CLOCK_MONOTONIC, &ts); - return ts.tv_sec * NSEC_PER_SEC + ts.tv_nsec; -} - -int bump_memlock_rlimit(void) -{ - struct rlimit rlim_new = { - .rlim_cur = RLIM_INFINITY, - .rlim_max = RLIM_INFINITY, - }; - - return setrlimit(RLIMIT_MEMLOCK, &rlim_new); -} - -bool is_kernel_module(const char *name) -{ - bool found = false; - char buf[64]; - FILE *f; - - f = fopen("/proc/modules", "r"); - if (!f) - return false; - - while (fgets(buf, sizeof(buf), f) != NULL) { - if (sscanf(buf, "%s %*s\n", buf) != 1) - break; - if (!strcmp(buf, name)) { - found = true; - break; - } - } - - fclose(f); - return found; -} diff --git a/lcc/clcc/lib/helpers/trace_helpers.h b/lcc/clcc/lib/helpers/trace_helpers.h deleted file mode 100644 index f4fbb84..0000000 --- a/lcc/clcc/lib/helpers/trace_helpers.h +++ /dev/null @@ -1,46 +0,0 @@ -/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */ -#ifndef __TRACE_HELPERS_H -#define __TRACE_HELPERS_H - -#include - -#define NSEC_PER_SEC 1000000000ULL - -struct ksym { - const char *name; - unsigned long addr; -}; - -struct ksyms; - -struct ksyms *ksyms__load(void); -void ksyms__free(struct ksyms *ksyms); -const struct ksym *ksyms__map_addr(const struct ksyms *ksyms, - unsigned long addr); -const struct ksym *ksyms__get_symbol(const struct ksyms *ksyms, - const char *name); - -struct partition { - char *name; - unsigned int dev; -}; - -struct partitions; - -struct partitions *partitions__load(void); -void partitions__free(struct partitions *partitions); -const struct partition * -partitions__get_by_dev(const struct partitions *partitions, unsigned int dev); -const struct partition * -partitions__get_by_name(const struct partitions *partitions, const char *name); - -void print_log2_hist(unsigned int *vals, int vals_size, const char *val_type); -void print_linear_hist(unsigned int *vals, int vals_size, unsigned int base, - unsigned int step, const char *val_type); - -unsigned long long get_ktime_ns(void); -int bump_memlock_rlimit(void); - -bool is_kernel_module(const char *name); - -#endif /* __TRACE_HELPERS_H */ diff --git a/lcc/clcc/lib/helpers/uprobe_helpers.c b/lcc/clcc/lib/helpers/uprobe_helpers.c deleted file mode 100644 index fbce9b8..0000000 --- a/lcc/clcc/lib/helpers/uprobe_helpers.c +++ /dev/null @@ -1,241 +0,0 @@ -// SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) -/* Copyright (c) 2021 Google LLC. */ -#define _GNU_SOURCE -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#define warn(...) fprintf(stderr, __VA_ARGS__) - -/* - * Returns 0 on success; -1 on failure. On sucess, returns via `path` the full - * path to the program for pid. - */ -int get_pid_binary_path(pid_t pid, char *path, size_t path_sz) -{ - ssize_t ret; - char proc_pid_exe[32]; - - if (snprintf(proc_pid_exe, sizeof(proc_pid_exe), "/proc/%d/exe", pid) - >= sizeof(proc_pid_exe)) { - warn("snprintf /proc/PID/exe failed"); - return -1; - } - ret = readlink(proc_pid_exe, path, path_sz); - if (ret < 0) { - warn("No such pid %d\n", pid); - return -1; - } - if (ret >= path_sz) { - warn("readlink truncation"); - return -1; - } - path[ret] = '\0'; - - return 0; -} - -/* - * Returns 0 on success; -1 on failure. On success, returns via `path` the full - * path to a library matching the name `lib` that is loaded into pid's address - * space. - */ -int get_pid_lib_path(pid_t pid, const char *lib, char *path, size_t path_sz) -{ - FILE *maps; - char *p; - char proc_pid_maps[32]; - char line_buf[1024]; - - if (snprintf(proc_pid_maps, sizeof(proc_pid_maps), "/proc/%d/maps", pid) - >= sizeof(proc_pid_maps)) { - warn("snprintf /proc/PID/maps failed"); - return -1; - } - maps = fopen(proc_pid_maps, "r"); - if (!maps) { - warn("No such pid %d\n", pid); - return -1; - } - while (fgets(line_buf, sizeof(line_buf), maps)) { - if (sscanf(line_buf, "%*x-%*x %*s %*x %*s %*u %s", path) != 1) - continue; - /* e.g. /usr/lib/x86_64-linux-gnu/libc-2.31.so */ - p = strrchr(path, '/'); - if (!p) - continue; - if (strncmp(p, "/lib", 4)) - continue; - p += 4; - if (strncmp(lib, p, strlen(lib))) - continue; - p += strlen(lib); - /* libraries can have - or . after the name */ - if (*p != '.' && *p != '-') - continue; - - fclose(maps); - return 0; - } - - warn("Cannot find library %s\n", lib); - fclose(maps); - return -1; -} - -/* - * Returns 0 on success; -1 on failure. On success, returns via `path` the full - * path to the program. - */ -static int which_program(const char *prog, char *path, size_t path_sz) -{ - FILE *which; - char cmd[100]; - - if (snprintf(cmd, sizeof(cmd), "which %s", prog) >= sizeof(cmd)) { - warn("snprintf which prog failed"); - return -1; - } - which = popen(cmd, "r"); - if (!which) { - warn("which failed"); - return -1; - } - if (!fgets(path, path_sz, which)) { - warn("fgets which failed"); - pclose(which); - return -1; - } - /* which has a \n at the end of the string */ - path[strlen(path) - 1] = '\0'; - pclose(which); - return 0; -} - -/* - * Returns 0 on success; -1 on failure. On success, returns via `path` the full - * path to the binary for the given pid. - * 1) pid == x, binary == "" : returns the path to x's program - * 2) pid == x, binary == "foo" : returns the path to libfoo linked in x - * 3) pid == 0, binary == "" : failure: need a pid or a binary - * 4) pid == 0, binary == "bar" : returns the path to `which bar` - * - * For case 4), ideally we'd like to search for libbar too, but we don't support - * that yet. - */ -int resolve_binary_path(const char *binary, pid_t pid, char *path, size_t path_sz) -{ - if (!strcmp(binary, "")) { - if (!pid) { - warn("Uprobes need a pid or a binary\n"); - return -1; - } - return get_pid_binary_path(pid, path, path_sz); - } - if (pid) - return get_pid_lib_path(pid, binary, path, path_sz); - - if (which_program(binary, path, path_sz)) { - /* - * If the user is tracing a program by name, we can find it. - * But we can't find a library by name yet. We'd need to parse - * ld.so.cache or something similar. - */ - warn("Can't find %s (Need a PID if this is a library)\n", binary); - return -1; - } - return 0; -} - -/* - * Opens an elf at `path` of kind ELF_K_ELF. Returns NULL on failure. On - * success, close with close_elf(e, fd_close). - */ -static Elf *open_elf(const char *path, int *fd_close) -{ - int fd; - Elf *e; - - if (elf_version(EV_CURRENT) == EV_NONE) { - warn("elf init failed\n"); - return NULL; - } - fd = open(path, O_RDONLY); - if (fd < 0) { - warn("Could not open %s\n", path); - return NULL; - } - e = elf_begin(fd, ELF_C_READ, NULL); - if (!e) { - warn("elf_begin failed: %s\n", elf_errmsg(-1)); - close(fd); - return NULL; - } - if (elf_kind(e) != ELF_K_ELF) { - warn("elf kind %d is not ELF_K_ELF\n", elf_kind(e)); - elf_end(e); - close(fd); - return NULL; - } - *fd_close = fd; - return e; -} - -static void close_elf(Elf *e, int fd_close) -{ - elf_end(e); - close(fd_close); -} - -/* Returns the offset of a function in the elf file `path`, or -1 on failure. */ -off_t get_elf_func_offset(const char *path, const char *func) -{ - off_t ret = -1; - int i, fd = -1; - Elf *e; - Elf_Scn *scn; - Elf_Data *data; - GElf_Shdr shdr[1]; - GElf_Sym sym[1]; - size_t shstrndx; - char *n; - - e = open_elf(path, &fd); - - if (elf_getshdrstrndx(e, &shstrndx) != 0) - goto out; - - scn = NULL; - while ((scn = elf_nextscn(e, scn))) { - if (!gelf_getshdr(scn, shdr)) - continue; - if (!(shdr->sh_type == SHT_SYMTAB || shdr->sh_type == SHT_DYNSYM)) - continue; - data = NULL; - while ((data = elf_getdata(scn, data))) { - for (i = 0; gelf_getsym(data, i, sym); i++) { - n = elf_strptr(e, shdr->sh_link, sym->st_name); - if (!n) - continue; - if (GELF_ST_TYPE(sym->st_info) != STT_FUNC) - continue; - if (!strcmp(n, func)) { - ret = sym->st_value; - goto out; - } - } - } - } - -out: - close_elf(e, fd); - return ret; -} diff --git a/lcc/clcc/lib/helpers/uprobe_helpers.h b/lcc/clcc/lib/helpers/uprobe_helpers.h deleted file mode 100644 index c8a7580..0000000 --- a/lcc/clcc/lib/helpers/uprobe_helpers.h +++ /dev/null @@ -1,14 +0,0 @@ -/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */ -/* Copyright (c) 2021 Google LLC. */ -#ifndef __UPROBE_HELPERS_H -#define __UPROBE_HELPERS_H - -#include -#include - -int get_pid_binary_path(pid_t pid, char *path, size_t path_sz); -int get_pid_lib_path(pid_t pid, const char *lib, char *path, size_t path_sz); -int resolve_binary_path(const char *binary, pid_t pid, char *path, size_t path_sz); -off_t get_elf_func_offset(const char *path, const char *func); - -#endif /* __UPROBE_HELPERS_H */ diff --git a/lcc/clcc/remote/Makefile b/lcc/clcc/remote/Makefile deleted file mode 100644 index fd1d1ac..0000000 --- a/lcc/clcc/remote/Makefile +++ /dev/null @@ -1,16 +0,0 @@ -########################################### -#Makefile for simple programs -########################################### - -SUBDIRS=hello event_out hash_map call_stack attach - -all:$(SUBDIRS) - -$(SUBDIRS):ECHO - make -C $@ - -clean: - $(foreach N, $(SUBDIRS),make clean -C $(N);) - -ECHO: - @echo $(SUBDIRS) \ No newline at end of file diff --git a/lcc/clcc/remote/README.md b/lcc/clcc/remote/README.md deleted file mode 100644 index b5ee7e9..0000000 --- a/lcc/clcc/remote/README.md +++ /dev/null @@ -1,210 +0,0 @@ -# 1 clcc - clcc与pylcc原理基本一致,不同的是开发语言为C语言,属于静态语言版本,适用于bpf.c程序比较固定的场景 - -## 1.1 准备工作 - -基本要求 - -- 能力要求:熟悉c,libpf开发特性, -- python2.7 或者python3,coolbpf >=0.1.1,可以执行pip install -U coolbpf -- 环境要求:可以访问pylcc.openanolis.cn或自己建远程编译服务 -- 编译要求:本地已安装gcc/make - -## 1.2 coolbpf 命令说明 - -```bash -optional arguments: - -h, --help show this help message and exit - -f FILE, --file FILE set file to compile. - -e ENV, --env ENV set compile env. - -a ARCH, --arch ARCH set architecture. - -v VER, --version VER - set kernel version. - -i INC, --include INC - set include path. - -o, --obj compile object file only. -``` - 如要将hello.bpf.c 编译成hello.so,执行: - -```bash -coolbpf -f hello.bpf.c -``` - - 编译成 hello.bpf.o,执行: - -```bash -coolbpf -f hello.bpf.c -o -``` - - -## 1.3 验证过程 - 参考pylcc 6.3的例程,先clone 代码 make: - -```bash -git clone git@github.com:aliyun/coolbpf.git -cd lcc/clcc/remote/ -make -``` - - 执行完编译后,就能编译出对应的可执行程序和对应的so,可以在对应路径下逐一验证,功能实现与pylcc实现一致。 - -### 1.2.1 hello - 实现和验证流程参考 pylcc hello的验证,实现了hello world 打印功能 - -### 1.2.2 event_out - 实现和验证流程参考 pylcc eventOut的验证,实现了往用户态吐数据功能 - -### 1.2.3 hash_map - 实现和验证流程参考 pylcc hashMaps的验证,实现了maps数据读取功能 - -### 1.2.3 call_stack - 实现和验证流程参考 pylcc callStack的验证,实现了打印内核调用栈功能 - -## 1.3 clcc 头文件说明 - 头文件clcc.h保存在 include 路径下, 实现了so加载的主要功能,主要功能如下: - -### 1.3.1 直接API - -```C -/* - * function name: clcc_init - * description: load an so - * arg1: so path to load - * return: struct clcc_struct * - */ -struct clcc_struct* clcc_init(const char* so_path); - -/* - * function name: clcc_deinit - * description: release an so - * arg1: struct clcc_struct *p; mem will free this function. - * return: None - */ -struct clcc_struct* clcc_deinit(const char* so_path); - -/* - * function name: clcc_get_call_stack - * description: get call stack from table and stack id - * arg1: table id: from struct clcc_struct get_maps_id function. - * arg2: stack_id: from bpf kernel bpf_get_stackid function. - * arg3: pstack: struct clcc_call_stack, should be alloced at first, use in clcc_print_stack - * arg4: pclcc: setup from clcc_init function - * return: 0 if success. - */ -int clcc_get_call_stack(int table_id, - int stack_id, - struct clcc_call_stack *pstack, - struct clcc_struct *pclcc) - - -/* - * function name: clcc_print_stack - * description: print call stack - * arg1: pstack: struct clcc_call_stack, stack to print, setup from clcc_get_call_stack. - * arg2: pclcc: setup from clcc_init function - * return: None. - */ -void clcc_print_stack(struct clcc_call_stack *pstack, - struct clcc_struct *pclcc) - -``` - -### 1.3.2 结构体API -  struct clcc_struct 是 clcc 最重要的结构体,封装libbpf的主要功能,结构定义如下: - -```C -struct clcc_struct{ - /* - * member: handle - * description: so file file handle pointer, it should not be modified or accessed. - */ - void* handle; - /* - * member: status - * description: reserved. - */ - int status; - /* - * member: init - * description: install libbpf programme, - * arg1: print level, 0~3. -1:do not print any thing. - * return: 0 if success. - */ - int (*init)(int); - /* - * member: exit - * description: uninstall libbpf programme, - * return: None. - */ - void (*exit)(void); - /* - * member: get_maps_id - * description: get map id from map name which quote in LBC_XXX(). - * arg1: event: map name which quote in LBC_XXX(), eg: LBC_PERF_OUTPUT(e_out, struct data_t, 128), then arg is e_out. - * return: >=0, failed when < 0 - */ - int (*get_maps_id)(char* event); - /* - * member: set_event_cb - * description: set call back function for perf out event. - * arg1: event id, get from get_maps_id. - * arg2: callback function when event polled. - * arg3: lost callback function when event polled. - * return: 0 if success. - */ - int (*set_event_cb)(int id, - void (*cb)(void *ctx, int cpu, void *data, unsigned int size), - void (*lost)(void *ctx, int cpu, unsigned long long cnt)); - /* - * member: event_loop - * description: poll perf out put event, usually used in pairs with set_event_cb function. - * arg1: event id, get from get_maps_id. - * arg2: timeout, unit seconds. -1 nevet timeout. - * return: 0 if success. - */ - int (*event_loop)(int id, int timeout); - /* - * member: map_lookup_elem - * description: lookup element by key. - * arg1: event id, get from get_maps_id. - * arg2: key point. - * arg3: value point. - * return: 0 if success. - */ - int (*map_lookup_elem)(int id, const void *key, void *value); - /* - * member: map_lookup_and_delete_elem - * description: lookup element by key then delete key. - * arg1: event id, get from get_maps_id. - * arg2: key point. - * arg3: value point. - * return: 0 if success. - */ - int (* map_delete_elem)(int id, const void *key, void *value); - /* - * member: map_lookup_and_delete_elem - * description: lookup element by key then delete key. - * arg1: event id, get from get_maps_id. - * arg2: key point. - * return: 0 if success. - */ - int (*map_delete_elem)(int id, const void *key); - /* - * member: map_get_next_key - * description: walk keys from maps. - * arg1: event id, get from get_maps_id. - * arg2: key point. - * arg3: next key point. - * return: 0 if success. - */ - int (*map_get_next_key)(int id, const void *key, void *next_key); - const char* (*get_map_types)(void); - /* - * member: ksym_search - * description: get symbol from kernel addr. - * arg1: kernnel addr. - * return: symbol name and address information. - */ - struct ksym* (*ksym_search)(unsigned long addr); -}; -``` diff --git a/lcc/clcc/remote/call_stack/Makefile b/lcc/clcc/remote/call_stack/Makefile deleted file mode 100644 index d8283c6..0000000 --- a/lcc/clcc/remote/call_stack/Makefile +++ /dev/null @@ -1,28 +0,0 @@ -########################################### -#Makefile for simple programs -########################################### -INC= -I../include -LIB= -lpthread -ldl - -LCC=coolbpf -CC=gcc -CC_FLAG=-Wall -g - -PRG=call_stack -OBJ=$(PRG).o ksyms.o -BPF_FILE=$(PRG).bpf.c -BFP_SO=$(PRG).so - -$(PRG): $(BFP_SO) $(OBJ) - $(CC) $(LIB) -o $@ $(OBJ) - -$(BFP_SO): $(BPF_FILE) - $(LCC) -f $(BPF_FILE) - -%.o: %.c ksyms.h - $(CC) $(CC_FLAG) $(INC) -c $< -o $@ -DSO_NAME=\"$(BFP_SO)\" - -.PRONY:clean -clean: - @echo "Removing linked and compiled files......" - rm -f $(OBJ) $(PRG) $(BFP_SO) \ No newline at end of file diff --git a/lcc/clcc/remote/call_stack/call_stack.bpf.c b/lcc/clcc/remote/call_stack/call_stack.bpf.c deleted file mode 100644 index e3f7555..0000000 --- a/lcc/clcc/remote/call_stack/call_stack.bpf.c +++ /dev/null @@ -1,30 +0,0 @@ -#include "lbc.h" - -#define TASK_COMM_LEN 16 -struct data_t { - u32 c_pid; - u32 p_pid; - char c_comm[TASK_COMM_LEN]; - char p_comm[TASK_COMM_LEN]; - u32 stack_id; -}; - -LBC_PERF_OUTPUT(e_out, struct data_t, 128); -LBC_STACK(call_stack,32); - -SEC("kprobe/wake_up_new_task") -int j_wake_up_new_task(struct pt_regs *ctx) -{ - struct task_struct* parent = (struct task_struct *)PT_REGS_PARM1(ctx); - struct data_t data = {}; - data.c_pid = bpf_get_current_pid_tgid() >> 32; - bpf_get_current_comm(&data.c_comm, TASK_COMM_LEN); - data.p_pid = BPF_CORE_READ(parent, pid); - bpf_core_read(&data.p_comm[0], TASK_COMM_LEN, &parent->comm[0]); - data.stack_id = bpf_get_stackid(ctx, &call_stack, KERN_STACKID_FLAGS); - - bpf_perf_event_output(ctx, &e_out, BPF_F_CURRENT_CPU, &data, sizeof(data)); - return 0; -} - -char _license[] SEC("license") = "GPL"; diff --git a/lcc/clcc/remote/call_stack/call_stack.c b/lcc/clcc/remote/call_stack/call_stack.c deleted file mode 100644 index fd3347c..0000000 --- a/lcc/clcc/remote/call_stack/call_stack.c +++ /dev/null @@ -1,66 +0,0 @@ -#include -#include -#include -#include "clcc.h" -#include "ksyms.h" - -#define TASK_COMM_LEN 16 -struct data_t { - unsigned int c_pid; - unsigned int p_pid; - char c_comm[TASK_COMM_LEN]; - char p_comm[TASK_COMM_LEN]; - unsigned int stack_id; -}; -struct clcc_struct* gclcc = NULL; - -void event_cb(void *ctx, int cpu, void *data, unsigned int size){ - struct data_t *e = (struct data_t *)data; - struct clcc_call_stack stack; - int table_id = gclcc->get_maps_id("call_stack"); - - printf("poll message: c_pid:%d, p_pid:%d, stack_id:%d\n", e->c_pid, e->p_pid, e->stack_id); - printf("c_comm:%s, p_comm:%s\n", e->c_comm, e->p_comm); - - if (table_id >= 0 && !clcc_get_call_stack(table_id, e->stack_id, &stack, gclcc)) { - printf("call stack:\n"); - ksym_shows(&stack); - } -} - -void event_run(struct clcc_struct* pclcc) { - int event_id; - - event_id = pclcc->get_maps_id("e_out"); - if (event_id < 0) { - return; - } - - pclcc->set_event_cb(event_id, event_cb, NULL); - pclcc->event_loop(event_id, -1); -} - -int main(int argc,char *argv[]) { - int res; - struct clcc_struct* pclcc = clcc_init("./"SO_NAME); - - if (pclcc == NULL) { - printf("open so file failed.\n"); - exit(-1); - } - - res = ksym_load(); - if (res != 0) { - printf("setup kallsyms failed.\n"); - exit(-1); - } - - pclcc->init(-1, 1); - gclcc = pclcc; - event_run(pclcc); - - pclcc->exit(); - ksym_deinit(); - clcc_deinit(pclcc); - return 0; -} diff --git a/lcc/clcc/remote/config_map/Makefile b/lcc/clcc/remote/config_map/Makefile deleted file mode 100644 index d261eca..0000000 --- a/lcc/clcc/remote/config_map/Makefile +++ /dev/null @@ -1,28 +0,0 @@ -########################################### -#Makefile for simple programs -########################################### -INC= -I../include -LIB= -lpthread -ldl - -LCC=coolbpf -CC=gcc -CC_FLAG=-Wall -g - -PRG=config_map -BPF_FILE=$(PRG).bpf.c -BFP_SO=$(PRG).so -OBJ=$(PRG).o - -$(PRG): $(BFP_SO) $(OBJ) - $(CC) $(LIB) -o $@ $(OBJ) - -$(BFP_SO): $(BPF_FILE) - $(LCC) -f $(BPF_FILE) - -%.o: %.c - $(CC) $(CC_FLAG) $(INC) -c $< -o $@ -DSO_NAME=\"$(BFP_SO)\" - -.PRONY:clean -clean: - @echo "Removing linked and compiled files......" - rm -f $(OBJ) $(PRG) $(BFP_SO) diff --git a/lcc/clcc/remote/config_map/config_map.bpf.c b/lcc/clcc/remote/config_map/config_map.bpf.c deleted file mode 100644 index 0708c0e..0000000 --- a/lcc/clcc/remote/config_map/config_map.bpf.c +++ /dev/null @@ -1,36 +0,0 @@ -#include "lbc.h" - -#define TASK_COMM_LEN 16 -struct data_t { - u32 c_pid; - u32 p_pid; - char c_comm[TASK_COMM_LEN]; - char p_comm[TASK_COMM_LEN]; -}; - -LBC_PERF_OUTPUT(e_out, struct data_t, 128); -LBC_HASH(user_config, u32, u32, 1024); - -SEC("kprobe/wake_up_new_task") -int j_wake_up_new_task(struct pt_regs *ctx) -{ - struct task_struct* parent = (struct task_struct *)PT_REGS_PARM1(ctx); - u32 pid = BPF_CORE_READ(parent, pid); - u32 key = 0; - u32 *pidp; - - pidp = bpf_map_lookup_elem(&user_config, &key); - if (pidp) { - if (*pidp == pid) { - struct data_t data = {}; - data.c_pid = bpf_get_current_pid_tgid() >> 32; - bpf_get_current_comm(&data.c_comm, TASK_COMM_LEN); - data.p_pid = BPF_CORE_READ(parent, pid); - bpf_core_read(&data.p_comm[0], TASK_COMM_LEN, &parent->comm[0]); - bpf_perf_event_output(ctx, &e_out, BPF_F_CURRENT_CPU, &data, sizeof(data)); - } - } - return 0; -} - -char _license[] SEC("license") = "GPL"; \ No newline at end of file diff --git a/lcc/clcc/remote/config_map/config_map.c b/lcc/clcc/remote/config_map/config_map.c deleted file mode 100644 index da3d325..0000000 --- a/lcc/clcc/remote/config_map/config_map.c +++ /dev/null @@ -1,63 +0,0 @@ -#include -#include -#include -#include -#include "clcc.h" - -#define TASK_COMM_LEN 16 -struct data_t { - unsigned int c_pid; - unsigned int p_pid; - char c_comm[TASK_COMM_LEN]; - char p_comm[TASK_COMM_LEN]; -}; - -void event_cb(void *ctx, int cpu, void *data, unsigned int size){ - struct data_t *e = (struct data_t *)data; - printf("poll message: c_pid:%d, p_pid:%d\n", e->c_pid, e->p_pid); - printf("c_comm:%s, p_comm:%s\n", e->c_comm, e->p_comm); -} - -void user_config(struct clcc_struct *pclcc) { - unsigned int key = 0; - unsigned int val = 1; - - pclcc->map_update_elem(pclcc->get_maps_id("user_config"), &key, &val); -} - -void event_run(struct clcc_struct* pclcc) { - int event_id; - - event_id = pclcc->get_maps_id("e_out"); - if (event_id < 0) { - printf("get %s map id failed.\n", "e_out"); - return; - } - - pclcc->set_event_cb(event_id, event_cb, NULL); - pclcc->event_loop(event_id, 10); -} - -static void stop(int signo){ - printf("signal.\n"); -} - -int main(int argc,char *argv[]) { - struct clcc_struct* pclcc = clcc_init("./"SO_NAME); - - if (pclcc == NULL) { - printf("open so file failed.\n"); - exit(-1); - } - - signal(SIGINT, stop); - pclcc->init(-1, 1); - printf("The program starts executing and will exit after 10 seconds.\n"); - printf("user config map\n"); - user_config(pclcc); - event_run(pclcc); - - pclcc->exit(); - clcc_deinit(pclcc); - return 0; -} diff --git a/lcc/clcc/remote/event_out/Makefile b/lcc/clcc/remote/event_out/Makefile deleted file mode 100644 index 6e67820..0000000 --- a/lcc/clcc/remote/event_out/Makefile +++ /dev/null @@ -1,28 +0,0 @@ -########################################### -#Makefile for simple programs -########################################### -INC= -I../include -LIB= -lpthread -ldl - -LCC=coolbpf -CC=gcc -CC_FLAG=-Wall -g - -PRG=event_out -OBJ=$(PRG).o -BPF_FILE=$(PRG).bpf.c -BFP_SO=$(PRG).so - -$(PRG): $(BFP_SO) $(OBJ) - $(CC) $(LIB) -o $@ $(OBJ) - -$(BFP_SO): $(BPF_FILE) - $(LCC) -f $(BPF_FILE) - -%.o: %.c - $(CC) $(CC_FLAG) $(INC) -c $< -o $@ -DSO_NAME=\"$(BFP_SO)\" - -.PRONY:clean -clean: - @echo "Removing linked and compiled files......" - rm -f $(OBJ) $(PRG) $(BFP_SO) \ No newline at end of file diff --git a/lcc/clcc/remote/event_out/event_out.bpf.c b/lcc/clcc/remote/event_out/event_out.bpf.c deleted file mode 100644 index 6b63c9c..0000000 --- a/lcc/clcc/remote/event_out/event_out.bpf.c +++ /dev/null @@ -1,28 +0,0 @@ -#include "lbc.h" - -#define TASK_COMM_LEN 16 -struct data_t { - u32 c_pid; - u32 p_pid; - char c_comm[TASK_COMM_LEN]; - char p_comm[TASK_COMM_LEN]; -}; - -LBC_PERF_OUTPUT(e_out, struct data_t, 128); - -SEC("kprobe/wake_up_new_task") -int j_wake_up_new_task(struct pt_regs *ctx) -{ - struct task_struct* parent = (struct task_struct *)PT_REGS_PARM1(ctx); - struct data_t data = {}; - - data.c_pid = bpf_get_current_pid_tgid() >> 32; - bpf_get_current_comm(&data.c_comm, TASK_COMM_LEN); - data.p_pid = BPF_CORE_READ(parent, pid); - bpf_core_read(&data.p_comm[0], TASK_COMM_LEN, &parent->comm[0]); - - bpf_perf_event_output(ctx, &e_out, BPF_F_CURRENT_CPU, &data, sizeof(data)); - return 0; -} - -char _license[] SEC("license") = "GPL"; diff --git a/lcc/clcc/remote/event_out/event_out.c b/lcc/clcc/remote/event_out/event_out.c deleted file mode 100644 index 240ad0f..0000000 --- a/lcc/clcc/remote/event_out/event_out.c +++ /dev/null @@ -1,45 +0,0 @@ -#include -#include -#include -#include "clcc.h" - -#define TASK_COMM_LEN 16 -struct data_t { - unsigned int c_pid; - unsigned int p_pid; - char c_comm[TASK_COMM_LEN]; - char p_comm[TASK_COMM_LEN]; -}; - -void event_cb(void *ctx, int cpu, void *data, unsigned int size){ - struct data_t *e = (struct data_t *)data; - printf("poll message: c_pid:%d, p_pid:%d\n", e->c_pid, e->p_pid); - printf("c_comm:%s, p_comm:%s\n", e->c_comm, e->p_comm); -} - -void event_run(struct clcc_struct* pclcc) { - int event_id; - - event_id = pclcc->get_maps_id("e_out"); - if (event_id < 0) { - return; - } - - pclcc->set_event_cb(event_id, event_cb, NULL); - pclcc->event_loop(event_id, -1); -} - -int main(int argc,char *argv[]) { - struct clcc_struct* pclcc = clcc_init("./"SO_NAME); - - if (pclcc == NULL) { - printf("open so file failed.\n"); - exit(-1); - } - pclcc->init(-1, 1); - event_run(pclcc); - - pclcc->exit(); - clcc_deinit(pclcc); - return 0; -} diff --git a/lcc/clcc/remote/hash_map/Makefile b/lcc/clcc/remote/hash_map/Makefile deleted file mode 100644 index 94b0158..0000000 --- a/lcc/clcc/remote/hash_map/Makefile +++ /dev/null @@ -1,28 +0,0 @@ -########################################### -#Makefile for simple programs -########################################### -INC= -I../include -LIB= -lpthread -ldl - -LCC=coolbpf -CC=gcc -CC_FLAG=-Wall -g - -PRG=hash_map -OBJ=$(PRG).o -BPF_FILE=$(PRG).bpf.c -BFP_SO=$(PRG).so - -$(PRG): $(BFP_SO) $(OBJ) - $(CC) $(LIB) -o $@ $(OBJ) - -$(BFP_SO): $(BPF_FILE) - $(LCC) -f $(BPF_FILE) - -%.o: %.c - $(CC) $(CC_FLAG) $(INC) -c $< -o $@ -DSO_NAME=\"$(BFP_SO)\" - -.PRONY:clean -clean: - @echo "Removing linked and compiled files......" - rm -f $(OBJ) $(PRG) $(BFP_SO) \ No newline at end of file diff --git a/lcc/clcc/remote/hash_map/hash_map.bpf.c b/lcc/clcc/remote/hash_map/hash_map.bpf.c deleted file mode 100644 index 1763edc..0000000 --- a/lcc/clcc/remote/hash_map/hash_map.bpf.c +++ /dev/null @@ -1,34 +0,0 @@ -#include "lbc.h" - -#define TASK_COMM_LEN 16 -struct data_t { - u32 c_pid; - u32 p_pid; - char c_comm[TASK_COMM_LEN]; - char p_comm[TASK_COMM_LEN]; -}; - -LBC_PERF_OUTPUT(e_out, struct data_t, 128); -LBC_HASH(pid_cnt, u32, u32, 1024); - -SEC("kprobe/wake_up_new_task") -int j_wake_up_new_task(struct pt_regs *ctx) -{ - struct task_struct* parent = (struct task_struct *)PT_REGS_PARM1(ctx); - u32 pid = BPF_CORE_READ(parent, pid); - u32 *pcnt, cnt; - - pcnt = bpf_map_lookup_elem(&pid_cnt, &pid); - cnt = pcnt ? *pcnt + 1 : 1; - bpf_map_update_elem(&pid_cnt, &pid, &cnt, BPF_ANY); - struct data_t data = {}; - data.c_pid = bpf_get_current_pid_tgid() >> 32; - bpf_get_current_comm(&data.c_comm, TASK_COMM_LEN); - data.p_pid = BPF_CORE_READ(parent, pid); - bpf_core_read(&data.p_comm[0], TASK_COMM_LEN, &parent->comm[0]); - - bpf_perf_event_output(ctx, &e_out, BPF_F_CURRENT_CPU, &data, sizeof(data)); - return 0; -} - -char _license[] SEC("license") = "GPL"; diff --git a/lcc/clcc/remote/hash_map/hash_map.c b/lcc/clcc/remote/hash_map/hash_map.c deleted file mode 100644 index e96d03c..0000000 --- a/lcc/clcc/remote/hash_map/hash_map.c +++ /dev/null @@ -1,75 +0,0 @@ -#include -#include -#include -#include -#include "clcc.h" - -#define TASK_COMM_LEN 16 -struct data_t { - unsigned int c_pid; - unsigned int p_pid; - char c_comm[TASK_COMM_LEN]; - char p_comm[TASK_COMM_LEN]; -}; - -void event_cb(void *ctx, int cpu, void *data, unsigned int size){ - struct data_t *e = (struct data_t *)data; - printf("poll message: c_pid:%d, p_pid:%d\n", e->c_pid, e->p_pid); - printf("c_comm:%s, p_comm:%s\n", e->c_comm, e->p_comm); -} - -void event_run(struct clcc_struct* pclcc) { - int event_id; - - event_id = pclcc->get_maps_id("e_out"); - if (event_id < 0) { - printf("get %s map id failed.\n", "e_out"); - return; - } - - pclcc->set_event_cb(event_id, event_cb, NULL); - pclcc->event_loop(event_id, 10); -} - -static void report(struct clcc_struct* pclcc) { - int hash_id; - unsigned int pid = 0, pid_next; - unsigned int cnt; - - hash_id = pclcc->get_maps_id("pid_cnt"); - if (hash_id < 0) { - printf("get %s map id failed.\n", "pid_cnt"); - return; - } - - while (!pclcc->map_get_next_key(hash_id, &pid, &pid_next)) { - pclcc->map_lookup_elem(hash_id, &pid_next, &cnt); - printf("pid: %d, count: %d\n", pid, cnt); - pid = pid_next; - } -} - -static void stop(int signo){ - printf("signal.\n"); -} - -int main(int argc,char *argv[]) { - struct clcc_struct* pclcc = clcc_init("./"SO_NAME); - - if (pclcc == NULL) { - printf("open so file failed.\n"); - exit(-1); - } - - signal(SIGINT, stop); - pclcc->init(-1, 1); - printf("The program starts executing and will exit after 10 seconds.\n"); - event_run(pclcc); - - printf("report:\n"); - report(pclcc); - - pclcc->exit(); - clcc_deinit(pclcc); - return 0; -} diff --git a/lcc/clcc/remote/hello/Makefile b/lcc/clcc/remote/hello/Makefile deleted file mode 100644 index 9496bee..0000000 --- a/lcc/clcc/remote/hello/Makefile +++ /dev/null @@ -1,28 +0,0 @@ -########################################### -#Makefile for simple programs -########################################### -INC= -I../include -LIB= -lpthread -ldl - -LCC=coolbpf -CC=gcc -CC_FLAG=-Wall -g - -PRG=hello -BPF_FILE=$(PRG).bpf.c -BFP_SO=$(PRG).so -OBJ=$(PRG).o - -$(PRG): $(BFP_SO) $(OBJ) - $(CC) $(LIB) -o $@ $(OBJ) - -$(BFP_SO): $(BPF_FILE) - $(LCC) -f $(BPF_FILE) - -%.o: %.c - $(CC) $(CC_FLAG) $(INC) -c $< -o $@ -DSO_NAME=\"$(BFP_SO)\" - -.PRONY:clean -clean: - @echo "Removing linked and compiled files......" - rm -f $(OBJ) $(PRG) $(BFP_SO) \ No newline at end of file diff --git a/lcc/clcc/remote/hello/hello.bpf.c b/lcc/clcc/remote/hello/hello.bpf.c deleted file mode 100644 index dd4cb65..0000000 --- a/lcc/clcc/remote/hello/hello.bpf.c +++ /dev/null @@ -1,12 +0,0 @@ -#include "lbc.h" - -SEC("kprobe/wake_up_new_task") -int j_wake_up_new_task(struct pt_regs *ctx) -{ - struct task_struct* parent = (struct task_struct *)PT_REGS_PARM1(ctx); - - bpf_printk("hello lcc, parent: %d\n", _(parent->tgid)); - return 0; -} - -char _license[] SEC("license") = "GPL"; diff --git a/lcc/clcc/remote/hello/hello.c b/lcc/clcc/remote/hello/hello.c deleted file mode 100644 index 62e8bc1..0000000 --- a/lcc/clcc/remote/hello/hello.c +++ /dev/null @@ -1,18 +0,0 @@ -#include -#include -#include -#include "clcc.h" - -int main(int argc,char *argv[]) { - struct clcc_struct* pclcc = clcc_init("./"SO_NAME); - - if (pclcc == NULL) { - printf("open so file failed.\n"); - exit(-1); - } - pclcc->init(-1, 1); - pause(); - pclcc->exit(); - clcc_deinit(pclcc); - return 0; -} diff --git a/lcc/clcc/remote/include/clcc.h b/lcc/clcc/remote/include/clcc.h deleted file mode 100644 index 0972203..0000000 --- a/lcc/clcc/remote/include/clcc.h +++ /dev/null @@ -1,334 +0,0 @@ -#ifndef CLCC_H -#define CLCC_H - -#include -#include - -#define PERF_MAX_STACK_DEPTH 127 - -struct clcc_call_stack{ - unsigned long stack[PERF_MAX_STACK_DEPTH]; - int depth; -}; - -static const char * clcc_funcs[] = { - "lbc_bpf_init", - "lbc_bpf_exit", - "lbc_bpf_get_maps_id", - "lbc_set_event_cb", - "lbc_event_loop", - "lbc_map_lookup_elem", - "lbc_map_lookup_elem_flags", - "lbc_map_lookup_and_delete_elem", - "lbc_map_delete_elem", - "lbc_map_update_elem", - "lbc_map_get_next_key", - "lbc_attach_perf_event", - "lbc_attach_kprobe", - "lbc_attach_kretprobe", - "lbc_attach_uprobe", - "lbc_attach_uretprobe", - "lbc_attach_tracepoint", - "lbc_attach_raw_tracepoint", - "lbc_attach_cgroup", - "lbc_attach_netns", - "lbc_attach_xdp", - "lbc_get_map_types", -}; - -struct clcc_struct{ - /* - * member: handle - * description: so file file handle pointer, it should not be modified or accessed. - */ - void* handle; - /* - * member: status - * description: reserved. - */ - int status; - /* - * member: init - * description: install libbpf programme, - * arg1: print level, 0~3. -1:do not print any thing. - * arg2: attach, 0: do not attach, !0: attach - * return: 0 if success. - */ - int (*init)(int log_level, int attach); - /* - * member: exit - * description: uninstall libbpf programme, - * return: None. - */ - void (*exit)(void); - /* - * member: get_maps_id - * description: get map id from map name which quote in LBC_XXX(). - * arg1: event: map name which quote in LBC_XXX(), eg: LBC_PERF_OUTPUT(e_out, struct data_t, 128), then arg is e_out. - * return: >=0, failed when < 0 - */ - int (*get_maps_id)(char* event); - /* - * member: set_event_cb - * description: set call back function for perf out event. - * arg1: event id, get from get_maps_id. - * arg2: callback function when event polled. - * arg3: lost callback function when event polled. - * return: 0 if success. - */ - int (*set_event_cb)(int id, - void (*cb)(void *ctx, int cpu, void *data, unsigned int size), - void (*lost)(void *ctx, int cpu, unsigned long long cnt)); - /* - * member: event_loop - * description: poll perf out put event, usually used in pairs with set_event_cb function. - * arg1: event id, get from get_maps_id. - * arg2: timeout, unit seconds. -1 nevet timeout. - * return: 0 if success. - */ - int (*event_loop)(int id, int timeout); - /* - * member: map_lookup_elem - * description: lookup element by key. - * arg1: event id, get from get_maps_id. - * arg2: key point. - * arg3: value point. - * return: 0 if success. - */ - int (*map_lookup_elem)(int id, const void *key, void *value); - /* - * member: map_lookup_elem_flags - * description: lookup element by key. - * arg1: event id, get from get_maps_id. - * arg2: key point. - * arg3: value point. - * return: 0 if success. - */ - int (*map_lookup_elem_flags)(int id, const void *key, void *value, unsigned long int); - /* - * member: map_lookup_and_delete_elem - * description: lookup element by key then delete key. - * arg1: event id, get from get_maps_id. - * arg2: key point. - * arg3: value point. - * return: 0 if success. - */ - int (*map_lookup_and_delete_elem)(int id, const void *key, void *value); - /* - * member: map_delete_elem - * description: lookup element by key then delete key. - * arg1: event id, get from get_maps_id. - * arg2: key point. - * return: 0 if success. - */ - int (*map_delete_elem)(int id, const void *key); - /* - * member: map_update_elem - * description: update element by key. - * arg1: event id, get from get_maps_id. - * arg2: key point. - * arg3: value point. - * return: 0 if success. - */ - int (*map_update_elem)(int id, const void *key, void *value); - /* - * member: map_get_next_key - * description: walk keys from maps. - * arg1: event id, get from get_maps_id. - * arg2: key point. - * arg3: next key point. - * return: 0 if success. - */ - int (*map_get_next_key)(int id, const void *key, void *next_key); - /* - * member: attach_perf_event - * description: attach perf event. - * arg1: function name in bpf.c. - * arg2: perf event id. - * return: 0 if success. - */ - int (*attach_perf_event)(const char* func, int pfd); - /* - * member: attach_kprobe - * description: attach kprobe. - * arg1: function name in bpf.c. - * arg2: kprobe symbol. - * return: 0 if success. - */ - int (*attach_kprobe)(const char* func, const char* sym); - /* - * member: attach_kretprobe - * description: attach kprobe. - * arg1: function name in bpf.c. - * arg2: kprobe symbol. - * return: 0 if success. - */ - int (*attach_kretprobe)(const char* func, const char* sym); - /* - * member: attach_uprobe - * description: attach uprobe. - * arg1: function name in bpf.c. - * arg2: task pid - * arg3: binary_path. - * arg4: offset. - * return: 0 if success. - */ - int (*attach_uprobe)(const char* func, int pid, const char *binary_path, unsigned long func_offset); - /* - * member: attach_uretprobe - * description: attach uretprobe. - * arg1: function name in bpf.c. - * arg2: task pid - * arg3: binary_path. - * arg4: offset. - * return: 0 if success. - */ - int (*attach_uretprobe)(const char* func, int pid, const char *binary_path, unsigned long func_offset); - /* - * member: attach_tracepoint - * description: attach kprobe. - * arg1: function name in bpf.c. - * arg2: tp_category. - * arg3: tp_name. - * return: 0 if success. - */ - int (*attach_tracepoint)(const char* func, const char *tp_category, const char *tp_name); - /* - * member: attach_raw_tracepoint - * description: attach kprobe. - * arg1: function name in bpf.c. - * arg2: tp_name. - * return: 0 if success. - */ - int (*attach_raw_tracepoint)(const char* func, const char *tp_name); - /* - * member: attach_cgroup - * description: attach cgroup. - * arg1: function name in bpf.c. - * arg2: cgroup_fd. - * return: 0 if success. - */ - int (*attach_cgroup)(const char* func, int cgroup_fd); - /* - * member: attach_netns - * description: attach netns. - * arg1: function name in bpf.c. - * arg2: netns. - * return: 0 if success. - */ - int (*attach_netns)(const char* func, int netns); - /* - * member: attach_xdp - * description: attach xdp. - * arg1: function name in bpf.c. - * arg2: ifindex. - * return: 0 if success. - */ - int (*attach_xdp)(const char* func, int ifindex); - const char* (*get_map_types)(void); -}; - - -static inline int clcc_setup_syms(void* handle, struct clcc_struct *pclcc) -{ - void** head = (void** )&(pclcc->init); - void* func = NULL; - int nums = sizeof(clcc_funcs) / sizeof(const char *); - int i = 0; - - for (i = 0; i < nums; i ++) { - func = dlsym(handle, clcc_funcs[i]); - if (func == NULL) { - printf("can not find %s on so.", clcc_funcs[i]); - return -1; - } - *(head ++) = func; - } - return 0; -} - -/* - * function name: clcc_init - * description: load an so - * arg1: so path to load - * return: struct clcc_struct * - */ -static inline struct clcc_struct* clcc_init(const char* so_path) -{ - void *handle = NULL; - struct clcc_struct *pclcc = NULL; - - if ((handle = dlopen(so_path, RTLD_NOW)) == NULL) { - printf("dlopen - %sn", dlerror()); - errno = -EPERM; - goto open_failed; - } - - pclcc = (struct clcc_struct *)malloc(sizeof(struct clcc_struct)); - if (pclcc == NULL) { - errno = -ENOMEM; - goto malloc_failed; - } - - pclcc->handle = handle; - if (clcc_setup_syms(handle, pclcc)) { - errno = -ESRCH; - goto setup_failed; - } - return pclcc; - -setup_failed: - free(pclcc); -malloc_failed: - dlclose(handle); -open_failed: - return NULL; -} - -/* - * function name: clcc_deinit - * description: release an so - * arg1: struct clcc_struct *p; setup from clcc_init function, mem will be free in this function. - * return: None - */ -static inline void clcc_deinit(struct clcc_struct* pclcc) -{ - void *handle = pclcc->handle; - - free(pclcc); - dlclose(handle); -} - -/* - * function name: clcc_get_call_stack - * description: get call stack from table and stack id - * arg1: table id: from struct clcc_struct get_maps_id function. - * arg2: stack_id: from bpf kernel bpf_get_stackid function. - * arg3: pstack: struct clcc_call_stack, should be alloced at first, use in clcc_print_stack - * arg4: pclcc: setup from clcc_init function - * return: 0 if success. - */ -static inline int clcc_get_call_stack(int table_id, - int stack_id, - struct clcc_call_stack *pstack, - struct clcc_struct *pclcc) { - int i; - int ret; - - ret = pclcc->map_lookup_elem(table_id, &stack_id, &(pstack->stack[0])); - if (ret != 0) { - printf("get stack id %d return %d\n", stack_id, ret); - return 1; - } - - pstack->depth = PERF_MAX_STACK_DEPTH; - for (i = 0; i < PERF_MAX_STACK_DEPTH; i ++) { - if (pstack->stack[i] == 0) { - pstack->depth = i; - break; - } - } - return 0; -} - -#endif diff --git a/lcc/core/bpf_core_helper.h b/lcc/core/bpf_core_helper.h deleted file mode 100644 index 86c3191..0000000 --- a/lcc/core/bpf_core_helper.h +++ /dev/null @@ -1,58 +0,0 @@ - -#ifndef __BPF_CORE_HELPER_H -#define __BPF_CORE_HELPER_H - -#ifdef __VMLINUX_H__ - -union ktime___310 -{ - s64 tv64; -}; -typedef union ktime___310 ktime_t___310; -struct sk_buff___310 -{ - ktime_t___310 tstamp; -}; - -static __always_inline u64 bpf_core_skb_tstamp(struct sk_buff *skb) -{ - u64 ts; - ktime_t___310 ktime310; - if (bpf_core_field_exists(ktime310.tv64)) - { - struct sk_buff___310 *skb310 = skb; - bpf_core_read(&ktime310, sizeof(ktime310), &skb310->tstamp); - ts = ktime310.tv64; - } - else - { - bpf_probe_read(&ts, sizeof(u64), &skb->tstamp); - } - return ts; -} - -struct msghdr___310 -{ - struct iovec *msg_iov; -}; - -// libbpf: prog 'kprobe__raw_sendmsg': relo #3: kind (0), spec is [346] struct msghdr.msg_iter.iov (0:2:4:0 @ offset 40) -static __always_inline void *bpf_core_msghdr_base(struct msghdr *msg) -{ - void *ptr; - if (bpf_core_field_exists(msg->msg_iter)) - { - BPF_CORE_READ_INTO(&ptr, msg, msg_iter.iov, iov_base); - } - else - { - struct msghdr___310 *msg310 = msg;; - BPF_CORE_READ_INTO(&ptr, msg310, msg_iov, iov_base); - } - return ptr; -} - -#endif - -#endif - diff --git a/lcc/eunomia-lcc/.gitignore b/lcc/eunomia-lcc/.gitignore deleted file mode 100644 index f0966be..0000000 --- a/lcc/eunomia-lcc/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -ecli -ecc -example/*/*.o -example/*/*.json diff --git a/lcc/eunomia-lcc/Makefile b/lcc/eunomia-lcc/Makefile deleted file mode 100644 index 591204a..0000000 --- a/lcc/eunomia-lcc/Makefile +++ /dev/null @@ -1,19 +0,0 @@ -.PHONY: all build -all: build - -EUNOMIA_SOURCE := ../../third/eunomia-bpf -LIBBPF_SRC := $(abspath ../../third/libbpf/src) - -ecli: - cd $(EUNOMIA_SOURCE)/ecli && \ - cmake -Bbuild -DCMAKE_INSTALL_PREFIX=$(INSTALL_LOCATION)\ - -DCMAKE_BUILD_TYPE=Release\ - -DLIBBPF_SOURCE_DIR=$(LIBBPF_SRC) - cd $(EUNOMIA_SOURCE)/ecli && cmake --build build --config Release - cp $(EUNOMIA_SOURCE)/ecli/build/bin/Release/ecli ecli - -ecc: - cd $(EUNOMIA_SOURCE)/eunomia-cc && make - cp $(EUNOMIA_SOURCE)/eunomia-cc/workspace/bin/ecc ecc - -build: ecli ecc diff --git a/lcc/eunomia-lcc/README.md b/lcc/eunomia-lcc/README.md deleted file mode 100644 index 446150d..0000000 --- a/lcc/eunomia-lcc/README.md +++ /dev/null @@ -1,201 +0,0 @@ -# eunomia-lcc - -use eunomia-bpf as a frontend for Coolbpf libbpf and kernel bpf supported. - -使用开源社区的 [eunomia-bpf](https://gitee.com/anolis/eunomia) 框架作为 Coolbpf 的用户态开发库,让 Coolbpf 也能: - -- 在编写 eBPF 程序或工具时只编写 libbpf 内核态代码,自动获取内核态导出信息,自动生成命令行参数、直方图输出等; -- 使用 WASM 进行用户态交互程序的开发,在 WASM 虚拟机内部控制整个 eBPF 程序的加载和执行,以及处理相关数据; -- 可以将预编译的 eBPF 程序打包为通用的 JSON 或 WASM 模块,跨架构和内核版本进行分发,无需重新编译即可动态加载运行。 - -同时保留 Coolbpf 的低版本兼容、BTF 自动获取、远程编译等特性,让 eBPF 程序的开发更加简便易行。 - -## example - -### 编译运行(以编译 signsoop 为例) - -以编译 example/signsoop 为例,首先确保 eunomia-bpf 已经作为一个 submodule 加入到项目中: - -```bash -git submodule update --init --recursive -``` - -然后在项目根目录下执行,编译 eunomia-bpf 的编译工具链和运行时,在编译时需要安装 `libclang`, `libelf` and `zlib` 库: - -```bash -cd lcc/eunomia-lcc -make -``` - -编译完成后可以看到编译工具 `ecc` 和运行工具 `ecli`, 可以使用 `ecc` 编译 example 中的 eBPF 程序: - -```console -$ ./ecc sigsnoop.bpf.c sigsnoop.h -Compiling bpf object... -Generating export types... -Packing ebpf object and config into package.json... -``` - -或者在 x86 上也可以用 docker 编译,在 sigsnoop 目录下: - -```bash -docker run -it -v `pwd`/:/src/ yunwei37/ebpm:latest -``` - -可以使用 `ecli` 运行编译后的程序,可以通过内核态代码中的全局变量指定命令行参数,生成帮助信息等: - -```console -$ sudo ./ecli package.json -TIME PID TPID SIG RET COMM -20:43:44 21276 3054 0 0 cpptools-srv -20:43:44 22407 3054 0 0 cpptools-srv -20:43:44 20222 3054 0 0 cpptools-srv -20:43:44 8933 3054 0 0 cpptools-srv -20:43:44 2915 2803 0 0 node -20:43:44 2943 2803 0 0 node -20:43:44 31453 3054 0 0 cpptools-srv - -$ sudo ./ecli package.json -h -Usage: sigsnoop_bpf [--help] [--version] [--verbose] [--filtered_pid VAR] [--target_signal VAR] [--failed_only] - -Trace standard and real-time signals. - -Optional arguments: - -h, --help shows help message and exits - -v, --version prints version information and exits - --verbose prints libbpf debug information - --filtered_pid Process ID to trace. If set to 0, trace all processes. - --target_signal Signal number to trace. If set to 0, trace all signals. - --failed_only Trace only failed signals. If set to false, trace all signals. - -Built with eunomia-bpf framework. - -$ sudo ./ecli package.json --filtered_pid 3024 -TIME PID TPID SIG RET COMM -16:38:33 3024 2920 0 0 node -16:38:34 3024 2920 0 0 node -16:38:34 3024 2920 0 0 node -16:38:35 3024 2920 0 0 node -16:38:35 3024 2920 0 0 node -16:38:36 3024 2920 0 0 node -``` - -### minimal - -`minimal` is just that – a minimal practical BPF application example. It -doesn't use or require BPF CO-RE, so should run on quite old kernels. It -installs a tracepoint handler which is triggered once every second. It uses -`bpf_printk()` BPF helper to communicate with the world. - -```console -$ ./ecc minimal.bpf.c -Compiling bpf object... -Packing ebpf object and config into package.json... -$ sudo ecli package.json -Runing eBPF program... -``` - -To see it's output, -read `/sys/kernel/debug/tracing/trace_pipe` file as a root: - -```shell -$ sudo cat /sys/kernel/debug/tracing/trace_pipe - <...>-3840345 [010] d... 3220701.101143: bpf_trace_printk: BPF triggered from PID 3840345. - <...>-3840345 [010] d... 3220702.101265: bpf_trace_printk: BPF triggered from PID 3840345. -``` - -`minimal` is great as a bare-bones experimental playground to quickly try out -new ideas or BPF features. - -### runqlat - -This program summarizes scheduler run queue latency as a histogram, showing -how long tasks spent waiting their turn to run on-CPU. - -```console -$ ./ecc runqlat.bpf.c runqlat.h -Compiling bpf object... -Generating export types... -Packing ebpf object and config into package.json... -$ sudo ./ecli package.json - (unit) : count distribution - 0 -> 1 : 69 |********************************** | - 2 -> 3 : 58 |***************************** | - 4 -> 7 : 42 |********************* | - 8 -> 15 : 69 |********************************** | - 16 -> 31 : 80 |****************************************| - 32 -> 63 : 28 |************** | - 64 -> 127 : 10 |***** | - 128 -> 255 : 6 |*** | - 256 -> 511 : 1 | | - 512 -> 1023 : 1 | | - 1024 -> 2047 : 0 | | - 2048 -> 4095 : 1 | | - 4096 -> 8191 : 0 | | - 8192 -> 16383 : 1 | | - -$ sudo ./ecli package.json -h -Usage: runqlat_bpf [--help] [--version] [--verbose] [--filter_cg] [--targ_per_process] [--targ_per_thread] [--targ_per_pidns] [--targ_ms] [--targ_tgid VAR] - -Summarize run queue (scheduler) latency as a histogram - -Optional arguments: - -h, --help shows help message and exits - -v, --version prints version information and exits - --verbose prints libbpf debug information - --filter_cg set value of bool variable filter_cg - --targ_per_process print a histogram per process ID - --targ_per_thread print a histogram per thread ID - --targ_per_pidns print a histogram per PID namespace - --targ_ms millisecond histogram - --targ_tgid trace this PID only - -Built with eunomia-bpf framework. -``` - -### opensnoop - -Demonstrations of opensnoop, the Linux eBPF/bcc version. - -opensnoop traces the open() syscall system-wide, and prints various details. -Example output: - -```console -$ sudo ecli package.json -h -Usage: opensnoop_bpf [--help] [--version] [--verbose] [--pid_target VAR] [--tgid_target VAR] [--uid_target VAR] [--failed] - -Trace open family syscalls. - -Optional arguments: - -h, --help shows help message and exits - -v, --version prints version information and exits - --verbose prints libbpf debug information - --pid_target Process ID to trace - --tgid_target Thread ID to trace - --uid_target User ID to trace - -f, --failed trace only failed events - -Built with eunomia-bpf framework. - -$ sudo ecli examples/bpftools/opensnoop/package.json -TIME TS PID UID RET FLAGS COMM FNAME -20:31:50 0 1 0 51 524288 systemd /proc/614/cgroup -20:31:50 0 33182 0 25 524288 ecli /etc/localtime -20:31:53 0 754 0 6 0 irqbalance /proc/interrupts -20:31:53 0 754 0 6 0 irqbalance /proc/stat -20:32:03 0 754 0 6 0 irqbalance /proc/interrupts -20:32:03 0 754 0 6 0 irqbalance /proc/stat -20:32:03 0 632 0 7 524288 vmtoolsd /etc/mtab -20:32:03 0 632 0 9 0 vmtoolsd /proc/devices - -$ sudo ecli examples/bpftools/opensnoop/package.json --pid_target 754 -TIME TS PID UID RET FLAGS COMM FNAME -20:34:13 0 754 0 6 0 irqbalance /proc/interrupts -20:34:13 0 754 0 6 0 irqbalance /proc/stat -20:34:23 0 754 0 6 0 irqbalance /proc/interrupts -20:34:23 0 754 0 6 0 irqbalance /proc/stat -``` - -## 更多信息 - -请参考: diff --git a/lcc/eunomia-lcc/example/minimal/minimal.bpf.c b/lcc/eunomia-lcc/example/minimal/minimal.bpf.c deleted file mode 100644 index 0c65717..0000000 --- a/lcc/eunomia-lcc/example/minimal/minimal.bpf.c +++ /dev/null @@ -1,21 +0,0 @@ -/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */ -#define BPF_NO_GLOBAL_DATA -#include -#include -#include - -typedef unsigned int u32; -typedef int pid_t; -const pid_t pid_filter = 0; - -char LICENSE[] SEC("license") = "Dual BSD/GPL"; - -SEC("tp/syscalls/sys_enter_write") -int handle_tp(void *ctx) -{ - pid_t pid = bpf_get_current_pid_tgid() >> 32; - if (pid_filter && pid != pid_filter) - return 0; - bpf_printk("BPF triggered from PID %d.\n", pid); - return 0; -} diff --git a/lcc/eunomia-lcc/example/opensnoop/opensnoop.bpf.c b/lcc/eunomia-lcc/example/opensnoop/opensnoop.bpf.c deleted file mode 100644 index 597c760..0000000 --- a/lcc/eunomia-lcc/example/opensnoop/opensnoop.bpf.c +++ /dev/null @@ -1,140 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0 -// Copyright (c) 2019 Facebook -// Copyright (c) 2020 Netflix -#include -#include -#include "opensnoop.h" - -struct args_t { - const char *fname; - int flags; -}; - -/// Process ID to trace -const volatile int pid_target = 0; -/// Thread ID to trace -const volatile int tgid_target = 0; -/// @description User ID to trace -const volatile int uid_target = 0; -/// @cmdarg {"default": false, "short": "f", "long": "failed"} -/// @description trace only failed events -const volatile bool targ_failed = false; - -struct { - __uint(type, BPF_MAP_TYPE_HASH); - __uint(max_entries, 10240); - __type(key, u32); - __type(value, struct args_t); -} start SEC(".maps"); - -struct { - __uint(type, BPF_MAP_TYPE_PERF_EVENT_ARRAY); - __uint(key_size, sizeof(u32)); - __uint(value_size, sizeof(u32)); -} events SEC(".maps"); - -static __always_inline bool valid_uid(uid_t uid) { - return uid != INVALID_UID; -} - -static __always_inline -bool trace_allowed(u32 tgid, u32 pid) -{ - u32 uid; - - /* filters */ - if (tgid_target && tgid_target != tgid) - return false; - if (pid_target && pid_target != pid) - return false; - if (valid_uid(uid_target)) { - uid = (u32)bpf_get_current_uid_gid(); - if (uid_target != uid) { - return false; - } - } - return true; -} - -SEC("tracepoint/syscalls/sys_enter_open") -int tracepoint__syscalls__sys_enter_open(struct trace_event_raw_sys_enter* ctx) -{ - u64 id = bpf_get_current_pid_tgid(); - /* use kernel terminology here for tgid/pid: */ - u32 tgid = id >> 32; - u32 pid = id; - - /* store arg info for later lookup */ - if (trace_allowed(tgid, pid)) { - struct args_t args = {}; - args.fname = (const char *)ctx->args[0]; - args.flags = (int)ctx->args[1]; - bpf_map_update_elem(&start, &pid, &args, 0); - } - return 0; -} - -SEC("tracepoint/syscalls/sys_enter_openat") -int tracepoint__syscalls__sys_enter_openat(struct trace_event_raw_sys_enter* ctx) -{ - u64 id = bpf_get_current_pid_tgid(); - /* use kernel terminology here for tgid/pid: */ - u32 tgid = id >> 32; - u32 pid = id; - - /* store arg info for later lookup */ - if (trace_allowed(tgid, pid)) { - struct args_t args = {}; - args.fname = (const char *)ctx->args[1]; - args.flags = (int)ctx->args[2]; - bpf_map_update_elem(&start, &pid, &args, 0); - } - return 0; -} - -static __always_inline -int trace_exit(struct trace_event_raw_sys_exit* ctx) -{ - struct event event = {}; - struct args_t *ap; - int ret; - u32 pid = bpf_get_current_pid_tgid(); - - ap = bpf_map_lookup_elem(&start, &pid); - if (!ap) - return 0; /* missed entry */ - ret = ctx->ret; - if (targ_failed && ret >= 0) - goto cleanup; /* want failed only */ - - /* event data */ - event.pid = bpf_get_current_pid_tgid() >> 32; - event.uid = bpf_get_current_uid_gid(); - bpf_get_current_comm(&event.comm, sizeof(event.comm)); - bpf_probe_read_user_str(&event.fname, sizeof(event.fname), ap->fname); - event.flags = ap->flags; - event.ret = ret; - - /* emit event */ - bpf_perf_event_output(ctx, &events, BPF_F_CURRENT_CPU, - &event, sizeof(event)); - -cleanup: - bpf_map_delete_elem(&start, &pid); - return 0; -} - -SEC("tracepoint/syscalls/sys_exit_open") -int tracepoint__syscalls__sys_exit_open(struct trace_event_raw_sys_exit* ctx) -{ - return trace_exit(ctx); -} - -SEC("tracepoint/syscalls/sys_exit_openat") -int tracepoint__syscalls__sys_exit_openat(struct trace_event_raw_sys_exit* ctx) -{ - return trace_exit(ctx); -} - -/// Trace open family syscalls. -char LICENSE[] SEC("license") = "GPL"; diff --git a/lcc/eunomia-lcc/example/opensnoop/opensnoop.h b/lcc/eunomia-lcc/example/opensnoop/opensnoop.h deleted file mode 100644 index a5aa43f..0000000 --- a/lcc/eunomia-lcc/example/opensnoop/opensnoop.h +++ /dev/null @@ -1,21 +0,0 @@ -/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */ -#ifndef __OPENSNOOP_H -#define __OPENSNOOP_H - -#define TASK_COMM_LEN 16 -#define NAME_MAX 255 -#define INVALID_UID ((uid_t)-1) - -// used for export event -struct event { - /* user terminology for pid: */ - unsigned long long ts; - int pid; - int uid; - int ret; - int flags; - char comm[TASK_COMM_LEN]; - char fname[NAME_MAX]; -}; - -#endif /* __OPENSNOOP_H */ \ No newline at end of file diff --git a/lcc/eunomia-lcc/example/runqlat/bits.bpf.h b/lcc/eunomia-lcc/example/runqlat/bits.bpf.h deleted file mode 100644 index a2b7bb9..0000000 --- a/lcc/eunomia-lcc/example/runqlat/bits.bpf.h +++ /dev/null @@ -1,31 +0,0 @@ -/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */ -#ifndef __BITS_BPF_H -#define __BITS_BPF_H - -#define READ_ONCE(x) (*(volatile typeof(x) *)&(x)) -#define WRITE_ONCE(x, val) ((*(volatile typeof(x) *)&(x)) = val) - -static __always_inline u64 log2(u32 v) -{ - u32 shift, r; - - r = (v > 0xFFFF) << 4; v >>= r; - shift = (v > 0xFF) << 3; v >>= shift; r |= shift; - shift = (v > 0xF) << 2; v >>= shift; r |= shift; - shift = (v > 0x3) << 1; v >>= shift; r |= shift; - r |= (v >> 1); - - return r; -} - -static __always_inline u64 log2l(u64 v) -{ - u32 hi = v >> 32; - - if (hi) - return log2(hi) + 32; - else - return log2(v); -} - -#endif /* __BITS_BPF_H */ diff --git a/lcc/eunomia-lcc/example/runqlat/core_fixes.bpf.h b/lcc/eunomia-lcc/example/runqlat/core_fixes.bpf.h deleted file mode 100644 index 003163a..0000000 --- a/lcc/eunomia-lcc/example/runqlat/core_fixes.bpf.h +++ /dev/null @@ -1,112 +0,0 @@ -/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */ -/* Copyright (c) 2021 Hengqi Chen */ - -#ifndef __CORE_FIXES_BPF_H -#define __CORE_FIXES_BPF_H - -#include -#include - -/** - * commit 2f064a59a1 ("sched: Change task_struct::state") changes - * the name of task_struct::state to task_struct::__state - * see: - * https://github.com/torvalds/linux/commit/2f064a59a1 - */ -struct task_struct___o { - volatile long int state; -} __attribute__((preserve_access_index)); - -struct task_struct___x { - unsigned int __state; -} __attribute__((preserve_access_index)); - -static __always_inline __s64 get_task_state(void *task) -{ - struct task_struct___x *t = task; - - if (bpf_core_field_exists(t->__state)) - return BPF_CORE_READ(t, __state); - return BPF_CORE_READ((struct task_struct___o *)task, state); -} - -/** - * commit 309dca309fc3 ("block: store a block_device pointer in struct bio") - * adds a new member bi_bdev which is a pointer to struct block_device - * see: - * https://github.com/torvalds/linux/commit/309dca309fc3 - */ -struct bio___o { - struct gendisk *bi_disk; -} __attribute__((preserve_access_index)); - -struct bio___x { - struct block_device *bi_bdev; -} __attribute__((preserve_access_index)); - -static __always_inline struct gendisk *get_gendisk(void *bio) -{ - struct bio___x *b = bio; - - if (bpf_core_field_exists(b->bi_bdev)) - return BPF_CORE_READ(b, bi_bdev, bd_disk); - return BPF_CORE_READ((struct bio___o *)bio, bi_disk); -} - -/** - * commit d5869fdc189f ("block: introduce block_rq_error tracepoint") - * adds a new tracepoint block_rq_error and it shares the same arguments - * with tracepoint block_rq_complete. As a result, the kernel BTF now has - * a `struct trace_event_raw_block_rq_completion` instead of - * `struct trace_event_raw_block_rq_complete`. - * see: - * https://github.com/torvalds/linux/commit/d5869fdc189f - */ -struct trace_event_raw_block_rq_complete___x { - dev_t dev; - sector_t sector; - unsigned int nr_sector; -} __attribute__((preserve_access_index)); - -struct trace_event_raw_block_rq_completion___x { - dev_t dev; - sector_t sector; - unsigned int nr_sector; -} __attribute__((preserve_access_index)); - -static __always_inline bool has_block_rq_completion() -{ - if (bpf_core_type_exists(struct trace_event_raw_block_rq_completion___x)) - return true; - return false; -} - -/** - * commit d152c682f03c ("block: add an explicit ->disk backpointer to the - * request_queue") and commit f3fa33acca9f ("block: remove the ->rq_disk - * field in struct request") make some changes to `struct request` and - * `struct request_queue`. Now, to get the `struct gendisk *` field in a CO-RE - * way, we need both `struct request` and `struct request_queue`. - * see: - * https://github.com/torvalds/linux/commit/d152c682f03c - * https://github.com/torvalds/linux/commit/f3fa33acca9f - */ -struct request_queue___x { - struct gendisk *disk; -} __attribute__((preserve_access_index)); - -struct request___x { - struct request_queue___x *q; - struct gendisk *rq_disk; -} __attribute__((preserve_access_index)); - -static __always_inline struct gendisk *get_disk(void *request) -{ - struct request___x *r = request; - - if (bpf_core_field_exists(r->rq_disk)) - return BPF_CORE_READ(r, rq_disk); - return BPF_CORE_READ(r, q, disk); -} - -#endif /* __CORE_FIXES_BPF_H */ diff --git a/lcc/eunomia-lcc/example/runqlat/maps.bpf.h b/lcc/eunomia-lcc/example/runqlat/maps.bpf.h deleted file mode 100644 index 51d1012..0000000 --- a/lcc/eunomia-lcc/example/runqlat/maps.bpf.h +++ /dev/null @@ -1,26 +0,0 @@ -// SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) -// Copyright (c) 2020 Anton Protopopov -#ifndef __MAPS_BPF_H -#define __MAPS_BPF_H - -#include -#include - -static __always_inline void * -bpf_map_lookup_or_try_init(void *map, const void *key, const void *init) -{ - void *val; - long err; - - val = bpf_map_lookup_elem(map, key); - if (val) - return val; - - err = bpf_map_update_elem(map, key, init, BPF_NOEXIST); - if (err && err != -EEXIST) - return 0; - - return bpf_map_lookup_elem(map, key); -} - -#endif /* __MAPS_BPF_H */ diff --git a/lcc/eunomia-lcc/example/runqlat/runqlat.bpf.c b/lcc/eunomia-lcc/example/runqlat/runqlat.bpf.c deleted file mode 100644 index 1fbb52a..0000000 --- a/lcc/eunomia-lcc/example/runqlat/runqlat.bpf.c +++ /dev/null @@ -1,158 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0 -// Copyright (c) 2020 Wenbo Zhang -#include -#include -#include -#include -#include "runqlat.h" -#include "bits.bpf.h" -#include "maps.bpf.h" -#include "core_fixes.bpf.h" - -#define MAX_ENTRIES 10240 -#define TASK_RUNNING 0 - -const volatile bool filter_cg = false; -/// "print a histogram per process ID" -const volatile bool targ_per_process = false; -/// "print a histogram per thread ID" -const volatile bool targ_per_thread = false; -/// "print a histogram per PID namespace" -const volatile bool targ_per_pidns = false; -/// "millisecond histogram" -const volatile bool targ_ms = false; -/// "trace this PID only" -const volatile pid_t targ_tgid = 0; - -struct { - __uint(type, BPF_MAP_TYPE_CGROUP_ARRAY); - __type(key, u32); - __type(value, u32); - __uint(max_entries, 1); -} cgroup_map SEC(".maps"); - -struct { - __uint(type, BPF_MAP_TYPE_HASH); - __uint(max_entries, MAX_ENTRIES); - __type(key, u32); - __type(value, u64); -} start SEC(".maps"); - -static struct hist zero; - -/// @sample {"interval": 1000, "type" : "log2_hist"} -struct { - __uint(type, BPF_MAP_TYPE_HASH); - __uint(max_entries, MAX_ENTRIES); - __type(key, u32); - __type(value, struct hist); -} hists SEC(".maps"); - -static int trace_enqueue(u32 tgid, u32 pid) -{ - u64 ts; - - if (!pid) - return 0; - if (targ_tgid && targ_tgid != tgid) - return 0; - - ts = bpf_ktime_get_ns(); - bpf_map_update_elem(&start, &pid, &ts, BPF_ANY); - return 0; -} - -static unsigned int pid_namespace(struct task_struct *task) -{ - struct pid *pid; - unsigned int level; - struct upid upid; - unsigned int inum; - - /* get the pid namespace by following task_active_pid_ns(), - * pid->numbers[pid->level].ns - */ - pid = BPF_CORE_READ(task, thread_pid); - level = BPF_CORE_READ(pid, level); - bpf_core_read(&upid, sizeof(upid), &pid->numbers[level]); - inum = BPF_CORE_READ(upid.ns, ns.inum); - - return inum; -} - -static int handle_switch(bool preempt, struct task_struct *prev, struct task_struct *next) -{ - struct hist *histp; - u64 *tsp, slot; - u32 pid, hkey; - s64 delta; - - if (filter_cg && !bpf_current_task_under_cgroup(&cgroup_map, 0)) - return 0; - - if (get_task_state(prev) == TASK_RUNNING) - trace_enqueue(BPF_CORE_READ(prev, tgid), BPF_CORE_READ(prev, pid)); - - pid = BPF_CORE_READ(next, pid); - - tsp = bpf_map_lookup_elem(&start, &pid); - if (!tsp) - return 0; - delta = bpf_ktime_get_ns() - *tsp; - if (delta < 0) - goto cleanup; - - if (targ_per_process) - hkey = BPF_CORE_READ(next, tgid); - else if (targ_per_thread) - hkey = pid; - else if (targ_per_pidns) - hkey = pid_namespace(next); - else - hkey = -1; - histp = bpf_map_lookup_or_try_init(&hists, &hkey, &zero); - if (!histp) - goto cleanup; - if (!histp->comm[0]) - bpf_probe_read_kernel_str(&histp->comm, sizeof(histp->comm), - next->comm); - if (targ_ms) - delta /= 1000000U; - else - delta /= 1000U; - slot = log2l(delta); - if (slot >= MAX_SLOTS) - slot = MAX_SLOTS - 1; - __sync_fetch_and_add(&histp->slots[slot], 1); - -cleanup: - bpf_map_delete_elem(&start, &pid); - return 0; -} - -SEC("raw_tp/sched_wakeup") -int BPF_PROG(handle_sched_wakeup, struct task_struct *p) -{ - if (filter_cg && !bpf_current_task_under_cgroup(&cgroup_map, 0)) - return 0; - - return trace_enqueue(BPF_CORE_READ(p, tgid), BPF_CORE_READ(p, pid)); -} - -SEC("raw_tp/sched_wakeup_new") -int BPF_PROG(handle_sched_wakeup_new, struct task_struct *p) -{ - if (filter_cg && !bpf_current_task_under_cgroup(&cgroup_map, 0)) - return 0; - - return trace_enqueue(BPF_CORE_READ(p, tgid), BPF_CORE_READ(p, pid)); -} - -SEC("raw_tp/sched_switch") -int BPF_PROG(handle_sched_switch, bool preempt, struct task_struct *prev, struct task_struct *next) -{ - return handle_switch(preempt, prev, next); -} - -/// "Summarize run queue (scheduler) latency as a histogram" -char LICENSE[] SEC("license") = "GPL"; diff --git a/lcc/eunomia-lcc/example/runqlat/runqlat.h b/lcc/eunomia-lcc/example/runqlat/runqlat.h deleted file mode 100644 index b6f0a02..0000000 --- a/lcc/eunomia-lcc/example/runqlat/runqlat.h +++ /dev/null @@ -1,14 +0,0 @@ - -/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */ -#ifndef __RUNQLAT_H -#define __RUNQLAT_H - -#define TASK_COMM_LEN 16 -#define MAX_SLOTS 26 - -struct hist { - __u32 slots[MAX_SLOTS]; - char comm[TASK_COMM_LEN]; -}; - -#endif /* __RUNQLAT_H */ diff --git a/lcc/eunomia-lcc/example/sigsnoop/sigsnoop.bpf.c b/lcc/eunomia-lcc/example/sigsnoop/sigsnoop.bpf.c deleted file mode 100644 index 873f1de..0000000 --- a/lcc/eunomia-lcc/example/sigsnoop/sigsnoop.bpf.c +++ /dev/null @@ -1,149 +0,0 @@ -// SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) -/* Copyright (c) 2021~2022 Hengqi Chen */ -#include -#include -#include "sigsnoop.h" - -#define MAX_ENTRIES 10240 - -/// "Process ID to trace. If set to 0, trace all processes." -const volatile pid_t filtered_pid = 0; -/// "Signal number to trace. If set to 0, trace all signals." -const volatile int target_signal = 0; -/// "Trace only failed signals. If set to false, trace all signals." -const volatile bool failed_only = false; - -struct { - __uint(type, BPF_MAP_TYPE_HASH); - __uint(max_entries, MAX_ENTRIES); - __type(key, __u32); - __type(value, struct event); -} values SEC(".maps"); - -struct { - __uint(type, BPF_MAP_TYPE_PERF_EVENT_ARRAY); - __uint(key_size, sizeof(__u32)); - __uint(value_size, sizeof(__u32)); -} events SEC(".maps"); - -static int probe_entry(pid_t tpid, int sig) -{ - struct event event = {}; - __u64 pid_tgid; - __u32 pid, tid; - - if (target_signal && sig != target_signal) - return 0; - - pid_tgid = bpf_get_current_pid_tgid(); - pid = pid_tgid >> 32; - tid = (__u32)pid_tgid; - if (filtered_pid && pid != filtered_pid) - return 0; - - event.pid = pid; - event.tpid = tpid; - event.sig = sig; - bpf_get_current_comm(event.comm, sizeof(event.comm)); - bpf_map_update_elem(&values, &tid, &event, BPF_ANY); - return 0; -} - -static int probe_exit(void *ctx, int ret) -{ - __u64 pid_tgid = bpf_get_current_pid_tgid(); - __u32 tid = (__u32)pid_tgid; - struct event *eventp; - - eventp = bpf_map_lookup_elem(&values, &tid); - if (!eventp) - return 0; - - if (failed_only && ret >= 0) - goto cleanup; - - eventp->ret = ret; - bpf_perf_event_output(ctx, &events, BPF_F_CURRENT_CPU, eventp, sizeof(*eventp)); - -cleanup: - bpf_map_delete_elem(&values, &tid); - return 0; -} - -SEC("tracepoint/syscalls/sys_enter_kill") -int kill_entry(struct trace_event_raw_sys_enter *ctx) -{ - pid_t tpid = (pid_t)ctx->args[0]; - int sig = (int)ctx->args[1]; - - return probe_entry(tpid, sig); -} - -SEC("tracepoint/syscalls/sys_exit_kill") -int kill_exit(struct trace_event_raw_sys_exit *ctx) -{ - return probe_exit(ctx, ctx->ret); -} - -SEC("tracepoint/syscalls/sys_enter_tkill") -int tkill_entry(struct trace_event_raw_sys_enter *ctx) -{ - pid_t tpid = (pid_t)ctx->args[0]; - int sig = (int)ctx->args[1]; - - return probe_entry(tpid, sig); -} - -SEC("tracepoint/syscalls/sys_exit_tkill") -int tkill_exit(struct trace_event_raw_sys_exit *ctx) -{ - return probe_exit(ctx, ctx->ret); -} - -SEC("tracepoint/syscalls/sys_enter_tgkill") -int tgkill_entry(struct trace_event_raw_sys_enter *ctx) -{ - pid_t tpid = (pid_t)ctx->args[1]; - int sig = (int)ctx->args[2]; - - return probe_entry(tpid, sig); -} - -SEC("tracepoint/syscalls/sys_exit_tgkill") -int tgkill_exit(struct trace_event_raw_sys_exit *ctx) -{ - return probe_exit(ctx, ctx->ret); -} - -SEC("tracepoint/signal/signal_generate") -int sig_trace(struct trace_event_raw_signal_generate *ctx) -{ - struct event event = {}; - pid_t tpid = ctx->pid; - int ret = ctx->errno; - int sig = ctx->sig; - __u64 pid_tgid; - __u32 pid; - - if (failed_only && ret == 0) - return 0; - - if (target_signal && sig != target_signal) - return 0; - - pid_tgid = bpf_get_current_pid_tgid(); - pid = pid_tgid >> 32; - if (filtered_pid && pid != filtered_pid) - return 0; - - event.pid = pid; - event.tpid = tpid; - event.sig = sig; - event.ret = ret; - bpf_get_current_comm(event.comm, sizeof(event.comm)); - bpf_perf_event_output(ctx, &events, BPF_F_CURRENT_CPU, &event, sizeof(event)); - return 0; -} - -/// "Trace standard and real-time signals." -char LICENSE[] SEC("license") = "Dual BSD/GPL"; diff --git a/lcc/eunomia-lcc/example/sigsnoop/sigsnoop.h b/lcc/eunomia-lcc/example/sigsnoop/sigsnoop.h deleted file mode 100644 index a9826d8..0000000 --- a/lcc/eunomia-lcc/example/sigsnoop/sigsnoop.h +++ /dev/null @@ -1,16 +0,0 @@ -// SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) -/* Copyright (c) 2021~2022 Hengqi Chen */ -#ifndef __SIGSNOOP_H -#define __SIGSNOOP_H - -#define TASK_COMM_LEN 16 - -struct event { - unsigned int pid; - unsigned int tpid; - int sig; - int ret; - char comm[TASK_COMM_LEN]; -}; - -#endif /* __SIGSNOOP_H */ diff --git a/lcc/glcc/CMakeLists.txt b/lcc/glcc/CMakeLists.txt deleted file mode 100644 index 979dc12..0000000 --- a/lcc/glcc/CMakeLists.txt +++ /dev/null @@ -1,38 +0,0 @@ - - - - -# compile ebpf driver -add_custom_command( - OUTPUT ebpfdrv_source - COMMAND cp -r ${CMAKE_CURRENT_SOURCE_DIR}/lib/ebpf ${CMAKE_CURRENT_BINARY_DIR}/lib - COMMENT "Copy ebpf driver code" -) - -add_custom_command( - OUTPUT ebpfdrv.ko - COMMAND ${CMAKE_MAKE_PROGRAM} - DEPENDS ebpfdrv_source - WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/lib/ebpf - COMMENT "Compile ebpf driver: Generate ebpfdrv.ko" -) -add_custom_target(ebpfdrv DEPENDS ebpfdrv.ko) - -# compile ringbuffer driver -add_custom_command( - OUTPUT ringbuffer_source - COMMAND cp -r ${CMAKE_CURRENT_SOURCE_DIR}/lib/ringbuffer ${CMAKE_CURRENT_BINARY_DIR}/lib - COMMENT "Copy ringbuffer driver code" -) - -add_custom_command( - OUTPUT ringbuffer.ko - COMMAND ${CMAKE_MAKE_PROGRAM} - DEPENDS ringbuffer_source - WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/lib/ringbuffer - COMMENT "Compile ebpf driver: Generate ringbuffer.ko" -) -add_custom_target(ringbuffer DEPENDS ringbuffer.ko) - -# compile hook -add_subdirectory(lib/hook) \ No newline at end of file diff --git a/lcc/glcc/README.md b/lcc/glcc/README.md deleted file mode 100644 index 29e5008..0000000 --- a/lcc/glcc/README.md +++ /dev/null @@ -1,34 +0,0 @@ - - - - -### 编译流程 - -#### ebpf 驱动编译流程 - -1. 安装目标内核版本的 kernel-devel 包,以 3.10.0-327.ali2017.alios7.x86_64 为例: `yum install kernel-devel-3.10.0-327.ali2017.alios7.x86_64` - -2. 配置编译环境和安装编译工具: - -```shell -yum install cmake -yum install elfutils-devel.x86_64 -yum install zlib-devel.x86_64 -``` - -3. 运行命令 `mkdir build & cd build` 创建编译目录,build目录建立在coolbpf项目根目录 - -4. 运行命令 `cmake ..` 生成 Makefile 文件 - -5. 运行命令 `make ebpfdrv KERNEL_VERSION=3.10.0-327.ali2017.alios7.x86_64` - -6. 生成的驱动所在路径 `lcc/glcc/lib/ebpf/ebpfdrv.ko` - - -### 运行流程 - -1. 安装驱动: `insmod ebpfdrv.ko` - -2. 使能驱动: `export ENABLE_BPF_DRV=1` - -3. 运行程序: `./YOUR_APPLICATION` diff --git a/lcc/glcc/lib/ebpf/Makefile b/lcc/glcc/lib/ebpf/Makefile deleted file mode 100644 index 9b35d5d..0000000 --- a/lcc/glcc/lib/ebpf/Makefile +++ /dev/null @@ -1,20 +0,0 @@ -ifeq ($(KERNEL_VERSION),) -KERNEL_VERSION = $(shell uname -r) -endif - -ifneq ($(KERNELRELEASE),) - obj-m := ebpfdrv.o - EXTRA_CFLAGS += -I$(src) - ebpfdrv-objs := ebpf.o allsyms.o core.o verifier.o disasm.o tnum.o bpf_trace.o helpers.o bpf_jit_comp.o bpf_jit.o trace_bpf_jit_comp.o trace_bpf_jit.o \ - hashtab.o arraymap.o percpu_freelist.o bpf_lru_list.o map_in_map.o \ - stackmap.o \ - ebpf_kprobe.o ebpf_tracepoint.o -else - KERN_DIR ?= /usr/src/kernels/$(KERNEL_VERSION)/ - PWD := $(shell pwd) -default: - $(MAKE) -C $(KERN_DIR) M=$(PWD) modules -endif - -clean: - rm -rf *.o *~ core .depend .*.cmd *.ko *.mod.c .tmp_versions Module.symvers modules.order \ No newline at end of file diff --git a/lcc/glcc/lib/ebpf/allsyms.c b/lcc/glcc/lib/ebpf/allsyms.c deleted file mode 100644 index 57cf7df..0000000 --- a/lcc/glcc/lib/ebpf/allsyms.c +++ /dev/null @@ -1,271 +0,0 @@ -#include "linux/config.h" -#include "allsyms.h" - -#include - -trace_printk_init_buffers_t trace_printk_init_buffers_p; -perf_prepare_sample_t perf_prepare_sample_p; -perf_output_begin_t perf_output_begin_p; -perf_output_sample_t perf_output_sample_p; -perf_output_end_t perf_output_end_p; -free_uid_t free_uid_p; -__vmalloc_node_range_t __vmalloc_node_range_p; -get_callchain_buffers_t get_callchain_buffers_p; -put_callchain_buffers_t put_callchain_buffers_p; -sha_init_t sha_init_p; -sha_transform_t sha_transform_p; -module_alloc_t module_alloc_p; -module_free_t module_free_p; -// struct file_operations *perf_fops_p; -ftrace_find_event_t ftrace_find_event_p; -perf_callchain_kernel_t perf_callchain_kernel_p; -perf_event_get_t perf_event_get_p; -perf_event_read_local_t perf_event_read_local_p; -perf_event_output_t perf_event_output_p; - -void inner_perf_event_output(struct perf_event *event, - struct perf_sample_data *data, - struct pt_regs *regs) -{ - struct perf_output_handle handle; - struct perf_event_header header; - - /* protect the callchain buffers */ - rcu_read_lock(); - - perf_prepare_sample_p(&header, data, event, regs); - - if (perf_output_begin_p(&handle, event, header.size)) - goto exit; - - perf_output_sample_p(&handle, &header, data, event); - - perf_output_end_p(&handle); - -exit: - rcu_read_unlock(); -} - -struct file *inner_perf_event_get(unsigned int fd) -{ - struct file *file; - - file = fget_raw(fd); - if (!file) - return ERR_PTR(-EBADF); - - // if (file->f_op != &perf_fops) { - // fput(file); - // return ERR_PTR(-EBADF); - // } - - return file; -} - -static inline u64 perf_clock(void) -{ - return local_clock(); -} - -/* - * State based event timekeeping... - * - * The basic idea is to use event->state to determine which (if any) time - * fields to increment with the current delta. This means we only need to - * update timestamps when we change state or when they are explicitly requested - * (read). - * - * Event groups make things a little more complicated, but not terribly so. The - * rules for a group are that if the group leader is OFF the entire group is - * OFF, irrespecive of what the group member states are. This results in - * __perf_effective_state(). - * - * A futher ramification is that when a group leader flips between OFF and - * !OFF, we need to update all group member times. - * - * - * NOTE: perf_event_time() is based on the (cgroup) context time, and thus we - * need to make sure the relevant context time is updated before we try and - * update our timestamps. - */ - -static __always_inline enum perf_event_active_state -__perf_effective_state(struct perf_event *event) -{ - struct perf_event *leader = event->group_leader; - - if (leader->state <= PERF_EVENT_STATE_OFF) - return leader->state; - - return event->state; -} - -static __always_inline void -__perf_update_times(struct perf_event *event, u64 now, u64 *enabled, u64 *running) -{ - // RH_KABI_REPLACE(u64 tstamp_stopped, u64 tstamp) - enum perf_event_active_state state = __perf_effective_state(event); - u64 delta = now - event->tstamp_stopped; - - *enabled = event->total_time_enabled; - if (state >= PERF_EVENT_STATE_INACTIVE) - *enabled += delta; - - *running = event->total_time_running; - if (state >= PERF_EVENT_STATE_ACTIVE) - *running += delta; -} - -int inner_perf_event_read_local(struct perf_event *event, u64 *value, - u64 *enabled, u64 *running) -{ - unsigned long flags; - int ret = 0; - - /* - * Disabling interrupts avoids all counter scheduling (context - * switches, timer based rotation and IPIs). - */ - local_irq_save(flags); - - /* - * It must not be an event with inherit set, we cannot read - * all child counters from atomic context. - */ - if (event->attr.inherit) { - ret = -EOPNOTSUPP; - goto out; - } - - /* If this is a per-task event, it must be for current */ - if ((event->attach_state & PERF_ATTACH_TASK) && - event->hw.target != current) { - ret = -EINVAL; - goto out; - } - - /* If this is a per-CPU event, it must be for this CPU */ - if (!(event->attach_state & PERF_ATTACH_TASK) && - event->cpu != smp_processor_id()) { - ret = -EINVAL; - goto out; - } - - /* If this is a pinned event it must be running on this CPU */ - if (event->attr.pinned && event->oncpu != smp_processor_id()) { - ret = -EBUSY; - goto out; - } - - /* - * If the event is currently on this CPU, its either a per-task event, - * or local to this CPU. Furthermore it means its ACTIVE (otherwise - * oncpu == -1). - */ - if (event->oncpu == smp_processor_id()) - event->pmu->read(event); - - *value = local64_read(&event->count); - if (enabled || running) { - u64 now = event->shadow_ctx_time + perf_clock(); - u64 __enabled, __running; - - __perf_update_times(event, now, &__enabled, &__running); - if (enabled) - *enabled = __enabled; - if (running) - *running = __running; - } -out: - local_irq_restore(flags); - - return ret; -} - - -int load_allsyms(void) -{ - trace_printk_init_buffers_p = (trace_printk_init_buffers_t)kallsyms_lookup_name("trace_printk_init_buffers"); - if (trace_printk_init_buffers_p == NULL) - goto err; - - perf_prepare_sample_p = (perf_prepare_sample_t)kallsyms_lookup_name("perf_prepare_sample"); - if (perf_prepare_sample_p == NULL) - goto err; - - perf_output_begin_p = (perf_output_begin_t)kallsyms_lookup_name("perf_output_begin"); - if (perf_output_begin_p == NULL) - goto err; - - perf_output_sample_p = (perf_output_sample_t)kallsyms_lookup_name("perf_output_sample"); - if (perf_output_sample_p == NULL) - goto err; - - perf_output_end_p = (perf_output_end_t)kallsyms_lookup_name("perf_output_end"); - if (perf_output_end_p == NULL) - goto err; - - free_uid_p = (free_uid_t)kallsyms_lookup_name("free_uid"); - if (free_uid_p == NULL) - goto err; - - __vmalloc_node_range_p = (__vmalloc_node_range_t)kallsyms_lookup_name("__vmalloc_node_range"); - if (__vmalloc_node_range_p == NULL) - goto err; - - get_callchain_buffers_p = (get_callchain_buffers_t)kallsyms_lookup_name("get_callchain_buffers"); - if (get_callchain_buffers_p == NULL) - goto err; - - put_callchain_buffers_p = (put_callchain_buffers_t)kallsyms_lookup_name("put_callchain_buffers"); - if (put_callchain_buffers_p == NULL) - goto err; - - sha_init_p = (sha_init_t)kallsyms_lookup_name("sha_init"); - if (sha_init_p == NULL) - goto err; - - sha_transform_p = (sha_transform_t)kallsyms_lookup_name("sha_transform"); - if (sha_transform_p == NULL) - goto err; - - module_alloc_p = (module_alloc_t)kallsyms_lookup_name("module_alloc"); - if (module_alloc_p == NULL) - goto err; - - module_free_p = (module_free_t)kallsyms_lookup_name("module_free"); - if (module_free_p == NULL) - goto err; - - // perf_fops_p = (struct file_operations *)kallsyms_lookup_name("perf_fops"); - // if (perf_fops_p == NULL) - // goto err; - - ftrace_find_event_p = (ftrace_find_event_t)kallsyms_lookup_name("ftrace_find_event"); - if (ftrace_find_event_p == NULL) - goto err; - - perf_callchain_kernel_p = (perf_callchain_kernel_t)kallsyms_lookup_name("perf_callchain_kernel"); - if (perf_callchain_kernel_p == NULL) - goto err; - - // todo: we cannot use perf_event_get in kernel - // https://www.spinics.net/lists/linux-fsdevel/msg142795.html - // perf_event_get_p = (perf_event_get_t)kallsyms_lookup_name("perf_event_get"); - // if (perf_event_get_p == NULL) - perf_event_get_p = inner_perf_event_get; - - perf_event_read_local_p = (perf_event_read_local_t)kallsyms_lookup_name("perf_event_read_local"); - if (perf_event_read_local_p == NULL) - perf_event_read_local_p = inner_perf_event_read_local; - - perf_event_output_p = (perf_event_output_t)kallsyms_lookup_name("perf_event_output"); - if (perf_event_output_p == NULL) - perf_event_output_p = inner_perf_event_output; - - - return 0; -err: - printk(KERN_NOTICE "Error to find function syms\n"); - return -EINVAL; -} diff --git a/lcc/glcc/lib/ebpf/allsyms.h b/lcc/glcc/lib/ebpf/allsyms.h deleted file mode 100644 index 32dc3a6..0000000 --- a/lcc/glcc/lib/ebpf/allsyms.h +++ /dev/null @@ -1,78 +0,0 @@ -#ifndef ALL_SYMS__ -#define ALL_SYMS__ - -#include -#include - - -typedef void (*trace_printk_init_buffers_t)(void); -typedef void (*perf_prepare_sample_t)(struct perf_event_header *header, - struct perf_sample_data *data, - struct perf_event *event, - struct pt_regs *regs); -typedef int (*perf_output_begin_t)(struct perf_output_handle *handle, - struct perf_event *event, unsigned int size); -typedef void (*perf_output_sample_t)(struct perf_output_handle *handle, - struct perf_event_header *header, - struct perf_sample_data *data, - struct perf_event *event); -typedef void (*perf_output_end_t)(struct perf_output_handle *handle); -typedef void (*free_uid_t)(struct user_struct *); -typedef void *(*__vmalloc_node_range_t)(unsigned long size, unsigned long align, - unsigned long start, unsigned long end, gfp_t gfp_mask, - pgprot_t prot, int node, const void *caller); -typedef int (*get_callchain_buffers_t)(void); -typedef void (*put_callchain_buffers_t)(void); -typedef void (*sha_init_t)(__u32 *buf); -typedef void (*sha_transform_t)(__u32 *digest, const char *data, __u32 *W); -typedef void *(*module_alloc_t)(unsigned long size); -typedef void (*module_free_t)(struct module *mod, void *module_region); -typedef struct trace_event *(*ftrace_find_event_t)(int type); -typedef void (*perf_callchain_kernel_t)(struct perf_callchain_entry *entry, struct pt_regs *regs); -typedef struct file* (*perf_event_get_t)(unsigned int fd); -typedef int (*perf_event_read_local_t)(struct perf_event *event, u64 *value, - u64 *enabled, u64 *running); -typedef void (*perf_event_output_t)(struct perf_event *event, - struct perf_sample_data *data, - struct pt_regs *regs); - -extern trace_printk_init_buffers_t trace_printk_init_buffers_p; -extern perf_prepare_sample_t perf_prepare_sample_p; -extern perf_output_begin_t perf_output_begin_p; -extern perf_output_sample_t perf_output_sample_p; -extern perf_output_end_t perf_output_end_p; -extern free_uid_t free_uid_p; -extern __vmalloc_node_range_t __vmalloc_node_range_p; -extern get_callchain_buffers_t get_callchain_buffers_p; -extern put_callchain_buffers_t put_callchain_buffers_p; -extern sha_init_t sha_init_p; -extern sha_transform_t sha_transform_p; -extern module_alloc_t module_alloc_p; -extern module_free_t module_free_p; -// extern struct file_operations *perf_fops_p; -extern ftrace_find_event_t ftrace_find_event_p; -extern perf_callchain_kernel_t perf_callchain_kernel_p; -extern perf_event_get_t perf_event_get_p; -extern perf_event_read_local_t perf_event_read_local_p; -extern perf_event_output_t perf_event_output_p; - -int load_allsyms(void); - - -// redefinition with perf_event.h -// static inline void perf_sample_data_init(struct perf_sample_data *data, -// u64 addr, u64 period) -// { -// /* remaining struct members initialized in perf_prepare_sample() */ -// data->addr = addr; -// data->raw = NULL; -// data->br_stack = NULL; -// data->period = period; -// data->weight = 0; -// data->data_src.val = PERF_MEM_NA; -// data->txn = 0; -// } - - - -#endif \ No newline at end of file diff --git a/lcc/glcc/lib/ebpf/arraymap.c b/lcc/glcc/lib/ebpf/arraymap.c deleted file mode 100644 index 408cb92..0000000 --- a/lcc/glcc/lib/ebpf/arraymap.c +++ /dev/null @@ -1,703 +0,0 @@ -/* Copyright (c) 2011-2014 PLUMgrid, http://plumgrid.com - * Copyright (c) 2016,2017 Facebook - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of version 2 of the GNU General Public - * License as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - */ -#include "linux/config.h" -#include "linux/bpf.h" -#include -#include -#include -#include "linux/filter.h" -#include - -#include "map_in_map.h" -#include "allsyms.h" - -#define ARRAY_CREATE_FLAG_MASK \ - (BPF_F_NUMA_NODE | BPF_F_RDONLY | BPF_F_WRONLY) - -static void bpf_array_free_percpu(struct bpf_array *array) -{ - int i; - - for (i = 0; i < array->map.max_entries; i++) { - free_percpu(array->pptrs[i]); - cond_resched(); - } -} - -static int bpf_array_alloc_percpu(struct bpf_array *array) -{ - void __percpu *ptr; - int i; - - for (i = 0; i < array->map.max_entries; i++) { - ptr = __alloc_percpu_gfp(array->elem_size, 8, - GFP_USER | __GFP_NOWARN); - if (!ptr) { - bpf_array_free_percpu(array); - return -ENOMEM; - } - array->pptrs[i] = ptr; - cond_resched(); - } - - return 0; -} - -/* Called from syscall */ -static int array_map_alloc_check(union bpf_attr *attr) -{ - bool percpu = attr->map_type == BPF_MAP_TYPE_PERCPU_ARRAY; - int numa_node = bpf_map_attr_numa_node(attr); - - /* check sanity of attributes */ - if (attr->max_entries == 0 || attr->key_size != 4 || - attr->value_size == 0 || - attr->map_flags & ~ARRAY_CREATE_FLAG_MASK || - (percpu && numa_node != NUMA_NO_NODE)) - return -EINVAL; - - if (attr->value_size > KMALLOC_MAX_SIZE) - /* if value_size is bigger, the user space won't be able to - * access the elements. - */ - return -E2BIG; - - return 0; -} - -static struct bpf_map *array_map_alloc(union bpf_attr *attr) -{ - bool percpu = attr->map_type == BPF_MAP_TYPE_PERCPU_ARRAY; - int ret, numa_node = bpf_map_attr_numa_node(attr); - u32 elem_size, index_mask, max_entries; - bool unpriv = !capable(CAP_SYS_ADMIN); - u64 cost, array_size, mask64; - struct bpf_array *array; - - elem_size = round_up(attr->value_size, 8); - - max_entries = attr->max_entries; - - /* On 32 bit archs roundup_pow_of_two() with max_entries that has - * upper most bit set in u32 space is undefined behavior due to - * resulting 1U << 32, so do it manually here in u64 space. - */ - mask64 = fls_long(max_entries - 1); - mask64 = 1ULL << mask64; - mask64 -= 1; - - index_mask = mask64; - if (unpriv) { - /* round up array size to nearest power of 2, - * since cpu will speculate within index_mask limits - */ - max_entries = index_mask + 1; - /* Check for overflows. */ - if (max_entries < attr->max_entries) - return ERR_PTR(-E2BIG); - } - - array_size = sizeof(*array); - if (percpu) - array_size += (u64) max_entries * sizeof(void *); - else - array_size += (u64) max_entries * elem_size; - - /* make sure there is no u32 overflow later in round_up() */ - cost = array_size; - if (cost >= U32_MAX - PAGE_SIZE) - return ERR_PTR(-ENOMEM); - if (percpu) { - cost += (u64)attr->max_entries * elem_size * num_possible_cpus(); - if (cost >= U32_MAX - PAGE_SIZE) - return ERR_PTR(-ENOMEM); - } - cost = round_up(cost, PAGE_SIZE) >> PAGE_SHIFT; - - ret = bpf_map_precharge_memlock(cost); - if (ret < 0) - return ERR_PTR(ret); - - /* allocate all map elements and zero-initialize them */ - array = bpf_map_area_alloc(array_size, numa_node); - if (!array) - return ERR_PTR(-ENOMEM); - array->index_mask = index_mask; - array->map.unpriv_array = unpriv; - - /* copy mandatory map attributes */ - bpf_map_init_from_attr(&array->map, attr); - array->map.pages = cost; - array->elem_size = elem_size; - - if (percpu && bpf_array_alloc_percpu(array)) { - bpf_map_area_free(array); - return ERR_PTR(-ENOMEM); - } - - return &array->map; -} - -/* Called from syscall or from eBPF program */ -static void *array_map_lookup_elem(struct bpf_map *map, void *key) -{ - struct bpf_array *array = container_of(map, struct bpf_array, map); - u32 index = *(u32 *)key; - - if (unlikely(index >= array->map.max_entries)) - return NULL; - - return array->value + array->elem_size * (index & array->index_mask); -} - -/* emit BPF instructions equivalent to C code of array_map_lookup_elem() */ -static u32 array_map_gen_lookup(struct bpf_map *map, struct bpf_insn *insn_buf) -{ - struct bpf_array *array = container_of(map, struct bpf_array, map); - struct bpf_insn *insn = insn_buf; - u32 elem_size = round_up(map->value_size, 8); - const int ret = BPF_REG_0; - const int map_ptr = BPF_REG_1; - const int index = BPF_REG_2; - - *insn++ = BPF_ALU64_IMM(BPF_ADD, map_ptr, offsetof(struct bpf_array, value)); - *insn++ = BPF_LDX_MEM(BPF_W, ret, index, 0); - if (map->unpriv_array) { - *insn++ = BPF_JMP_IMM(BPF_JGE, ret, map->max_entries, 4); - *insn++ = BPF_ALU32_IMM(BPF_AND, ret, array->index_mask); - } else { - *insn++ = BPF_JMP_IMM(BPF_JGE, ret, map->max_entries, 3); - } - - if (is_power_of_2(elem_size)) { - *insn++ = BPF_ALU64_IMM(BPF_LSH, ret, ilog2(elem_size)); - } else { - *insn++ = BPF_ALU64_IMM(BPF_MUL, ret, elem_size); - } - *insn++ = BPF_ALU64_REG(BPF_ADD, ret, map_ptr); - *insn++ = BPF_JMP_IMM(BPF_JA, 0, 0, 1); - *insn++ = BPF_MOV64_IMM(ret, 0); - return insn - insn_buf; -} - -// /* Called from eBPF program */ -// static void *percpu_array_map_lookup_elem(struct bpf_map *map, void *key) -// { -// struct bpf_array *array = container_of(map, struct bpf_array, map); -// u32 index = *(u32 *)key; - -// if (unlikely(index >= array->map.max_entries)) -// return NULL; - -// return this_cpu_ptr(array->pptrs[index & array->index_mask]); -// } - -int bpf_percpu_array_copy(struct bpf_map *map, void *key, void *value) -{ - struct bpf_array *array = container_of(map, struct bpf_array, map); - u32 index = *(u32 *)key; - void __percpu *pptr; - int cpu, off = 0; - u32 size; - - if (unlikely(index >= array->map.max_entries)) - return -ENOENT; - - /* per_cpu areas are zero-filled and bpf programs can only - * access 'value_size' of them, so copying rounded areas - * will not leak any kernel data - */ - size = round_up(map->value_size, 8); - rcu_read_lock(); - pptr = array->pptrs[index & array->index_mask]; - for_each_possible_cpu(cpu) { - bpf_long_memcpy(value + off, per_cpu_ptr(pptr, cpu), size); - off += size; - } - rcu_read_unlock(); - return 0; -} - -/* Called from syscall */ -static int array_map_get_next_key(struct bpf_map *map, void *key, void *next_key) -{ - struct bpf_array *array = container_of(map, struct bpf_array, map); - u32 index = key ? *(u32 *)key : U32_MAX; - u32 *next = (u32 *)next_key; - - if (index >= array->map.max_entries) { - *next = 0; - return 0; - } - - if (index == array->map.max_entries - 1) - return -ENOENT; - - *next = index + 1; - return 0; -} - -/* Called from syscall or from eBPF program */ -static int array_map_update_elem(struct bpf_map *map, void *key, void *value, - u64 map_flags) -{ - struct bpf_array *array = container_of(map, struct bpf_array, map); - u32 index = *(u32 *)key; - - if (unlikely(map_flags > BPF_EXIST)) - /* unknown flags */ - return -EINVAL; - - if (unlikely(index >= array->map.max_entries)) - /* all elements were pre-allocated, cannot insert a new one */ - return -E2BIG; - - if (unlikely(map_flags == BPF_NOEXIST)) - /* all elements already exist */ - return -EEXIST; - - if (array->map.map_type == BPF_MAP_TYPE_PERCPU_ARRAY) - memcpy(this_cpu_ptr(array->pptrs[index & array->index_mask]), - value, map->value_size); - else - memcpy(array->value + - array->elem_size * (index & array->index_mask), - value, map->value_size); - return 0; -} - -int bpf_percpu_array_update(struct bpf_map *map, void *key, void *value, - u64 map_flags) -{ - struct bpf_array *array = container_of(map, struct bpf_array, map); - u32 index = *(u32 *)key; - void __percpu *pptr; - int cpu, off = 0; - u32 size; - - if (unlikely(map_flags > BPF_EXIST)) - /* unknown flags */ - return -EINVAL; - - if (unlikely(index >= array->map.max_entries)) - /* all elements were pre-allocated, cannot insert a new one */ - return -E2BIG; - - if (unlikely(map_flags == BPF_NOEXIST)) - /* all elements already exist */ - return -EEXIST; - - /* the user space will provide round_up(value_size, 8) bytes that - * will be copied into per-cpu area. bpf programs can only access - * value_size of it. During lookup the same extra bytes will be - * returned or zeros which were zero-filled by percpu_alloc, - * so no kernel data leaks possible - */ - size = round_up(map->value_size, 8); - rcu_read_lock(); - pptr = array->pptrs[index & array->index_mask]; - for_each_possible_cpu(cpu) { - bpf_long_memcpy(per_cpu_ptr(pptr, cpu), value + off, size); - off += size; - } - rcu_read_unlock(); - return 0; -} - -/* Called from syscall or from eBPF program */ -static int array_map_delete_elem(struct bpf_map *map, void *key) -{ - return -EINVAL; -} - -/* Called when map->refcnt goes to zero, either from workqueue or from syscall */ -static void array_map_free(struct bpf_map *map) -{ - struct bpf_array *array = container_of(map, struct bpf_array, map); - - /* at this point bpf_prog->aux->refcnt == 0 and this map->refcnt == 0, - * so the programs (can be more than one that used this map) were - * disconnected from events. Wait for outstanding programs to complete - * and free the array - */ - synchronize_rcu(); - - if (array->map.map_type == BPF_MAP_TYPE_PERCPU_ARRAY) - bpf_array_free_percpu(array); - - bpf_map_area_free(array); -} - -const struct bpf_map_ops array_map_ops = { - .map_alloc_check = array_map_alloc_check, - .map_alloc = array_map_alloc, - .map_free = array_map_free, - .map_get_next_key = array_map_get_next_key, - .map_lookup_elem = array_map_lookup_elem, - .map_update_elem = array_map_update_elem, - .map_delete_elem = array_map_delete_elem, - .map_gen_lookup = array_map_gen_lookup, -}; - -// const struct bpf_map_ops percpu_array_map_ops = { -// .map_alloc_check = array_map_alloc_check, -// .map_alloc = array_map_alloc, -// .map_free = array_map_free, -// .map_get_next_key = array_map_get_next_key, -// .map_lookup_elem = percpu_array_map_lookup_elem, -// .map_update_elem = array_map_update_elem, -// .map_delete_elem = array_map_delete_elem, -// }; - -static int fd_array_map_alloc_check(union bpf_attr *attr) -{ - /* only file descriptors can be stored in this type of map */ - if (attr->value_size != sizeof(u32)) - return -EINVAL; - return array_map_alloc_check(attr); -} - -static void fd_array_map_free(struct bpf_map *map) -{ - struct bpf_array *array = container_of(map, struct bpf_array, map); - int i; - - synchronize_rcu(); - - /* make sure it's empty */ - for (i = 0; i < array->map.max_entries; i++) - BUG_ON(array->ptrs[i] != NULL); - - bpf_map_area_free(array); -} - -static void *fd_array_map_lookup_elem(struct bpf_map *map, void *key) -{ - return NULL; -} - -/* only called from syscall */ -int bpf_fd_array_map_lookup_elem(struct bpf_map *map, void *key, u32 *value) -{ - void **elem, *ptr; - int ret = 0; - - if (!map->ops->map_fd_sys_lookup_elem) - return -ENOTSUPP; - - rcu_read_lock(); - elem = array_map_lookup_elem(map, key); - if (elem && (ptr = READ_ONCE(*elem))) - *value = map->ops->map_fd_sys_lookup_elem(ptr); - else - ret = -ENOENT; - rcu_read_unlock(); - - return ret; -} - -/* only called from syscall */ -int bpf_fd_array_map_update_elem(struct bpf_map *map, struct file *map_file, - void *key, void *value, u64 map_flags) -{ - struct bpf_array *array = container_of(map, struct bpf_array, map); - void *new_ptr, *old_ptr; - u32 index = *(u32 *)key, ufd; - - if (map_flags != BPF_ANY) - return -EINVAL; - - if (index >= array->map.max_entries) - return -E2BIG; - - ufd = *(u32 *)value; - new_ptr = map->ops->map_fd_get_ptr(map, map_file, ufd); - if (IS_ERR(new_ptr)) - return PTR_ERR(new_ptr); - - old_ptr = xchg(array->ptrs + index, new_ptr); - if (old_ptr) - map->ops->map_fd_put_ptr(old_ptr); - - return 0; -} - -static int fd_array_map_delete_elem(struct bpf_map *map, void *key) -{ - struct bpf_array *array = container_of(map, struct bpf_array, map); - void *old_ptr; - u32 index = *(u32 *)key; - - if (index >= array->map.max_entries) - return -E2BIG; - - old_ptr = xchg(array->ptrs + index, NULL); - if (old_ptr) { - map->ops->map_fd_put_ptr(old_ptr); - return 0; - } else { - return -ENOENT; - } -} - -// static void *prog_fd_array_get_ptr(struct bpf_map *map, -// struct file *map_file, int fd) -// { -// struct bpf_array *array = container_of(map, struct bpf_array, map); -// struct bpf_prog *prog = bpf_prog_get(fd); - -// if (IS_ERR(prog)) -// return prog; - -// // if (!bpf_prog_array_compatible(array, prog)) { -// // bpf_prog_put(prog); -// // return ERR_PTR(-EINVAL); -// // } - -// return prog; -// } - -// static void prog_fd_array_put_ptr(void *ptr) -// { -// bpf_prog_put(ptr); -// } - -// static u32 prog_fd_array_sys_lookup_elem(void *ptr) -// { -// return ((struct bpf_prog *)ptr)->aux->id; -// } - -/* decrement refcnt of all bpf_progs that are stored in this map */ -void bpf_fd_array_map_clear(struct bpf_map *map) -{ - struct bpf_array *array = container_of(map, struct bpf_array, map); - int i; - - for (i = 0; i < array->map.max_entries; i++) - fd_array_map_delete_elem(map, &i); -} - -// const struct bpf_map_ops prog_array_map_ops = { -// .map_alloc_check = fd_array_map_alloc_check, -// .map_alloc = array_map_alloc, -// .map_free = fd_array_map_free, -// .map_get_next_key = array_map_get_next_key, -// .map_lookup_elem = fd_array_map_lookup_elem, -// .map_delete_elem = fd_array_map_delete_elem, -// .map_fd_get_ptr = prog_fd_array_get_ptr, -// .map_fd_put_ptr = prog_fd_array_put_ptr, -// .map_fd_sys_lookup_elem = prog_fd_array_sys_lookup_elem, -// }; - -static struct bpf_event_entry *bpf_event_entry_gen(struct file *perf_file, - struct file *map_file) -{ - struct bpf_event_entry *ee; - - ee = kzalloc(sizeof(*ee), GFP_ATOMIC); - if (ee) { - ee->event = perf_file->private_data; - ee->perf_file = perf_file; - ee->map_file = map_file; - } - - return ee; -} - -static void __bpf_event_entry_free(struct rcu_head *rcu) -{ - struct bpf_event_entry *ee; - - ee = container_of(rcu, struct bpf_event_entry, rcu); - fput(ee->perf_file); - kfree(ee); -} - -static void bpf_event_entry_free_rcu(struct bpf_event_entry *ee) -{ - call_rcu(&ee->rcu, __bpf_event_entry_free); -} - -static void *perf_event_fd_array_get_ptr(struct bpf_map *map, - struct file *map_file, int fd) -{ - struct bpf_event_entry *ee; - struct perf_event *event; - struct file *perf_file; - u64 value; - - perf_file = perf_event_get_p(fd); - if (IS_ERR(perf_file)) - return perf_file; - - ee = ERR_PTR(-EOPNOTSUPP); - event = perf_file->private_data; - if (perf_event_read_local_p(event, &value, NULL, NULL) == -EOPNOTSUPP) - goto err_out; - - ee = bpf_event_entry_gen(perf_file, map_file); - if (ee) - return ee; - ee = ERR_PTR(-ENOMEM); -err_out: - fput(perf_file); - return ee; -} - -static void perf_event_fd_array_put_ptr(void *ptr) -{ - bpf_event_entry_free_rcu(ptr); -} - -static void perf_event_fd_array_release(struct bpf_map *map, - struct file *map_file) -{ - struct bpf_array *array = container_of(map, struct bpf_array, map); - struct bpf_event_entry *ee; - int i; - - rcu_read_lock(); - for (i = 0; i < array->map.max_entries; i++) { - ee = READ_ONCE(array->ptrs[i]); - if (ee && ee->map_file == map_file) - fd_array_map_delete_elem(map, &i); - } - rcu_read_unlock(); -} - -const struct bpf_map_ops perf_event_array_map_ops = { - .map_alloc_check = fd_array_map_alloc_check, - .map_alloc = array_map_alloc, - .map_free = fd_array_map_free, - .map_get_next_key = array_map_get_next_key, - .map_lookup_elem = fd_array_map_lookup_elem, - .map_delete_elem = fd_array_map_delete_elem, - .map_fd_get_ptr = perf_event_fd_array_get_ptr, - .map_fd_put_ptr = perf_event_fd_array_put_ptr, - .map_release = perf_event_fd_array_release, -}; - -#ifdef CONFIG_SOCK_CGROUP_DATA -static void *cgroup_fd_array_get_ptr(struct bpf_map *map, - struct file *map_file /* not used */, - int fd) -{ - return cgroup_get_from_fd(fd); -} - -static void cgroup_fd_array_put_ptr(void *ptr) -{ - /* cgroup_put free cgrp after a rcu grace period */ - cgroup_put(ptr); -} - -static void cgroup_fd_array_free(struct bpf_map *map) -{ - bpf_fd_array_map_clear(map); - fd_array_map_free(map); -} - -const struct bpf_map_ops cgroup_array_map_ops = { - .map_alloc_check = fd_array_map_alloc_check, - .map_alloc = array_map_alloc, - .map_free = cgroup_fd_array_free, - .map_get_next_key = array_map_get_next_key, - .map_lookup_elem = fd_array_map_lookup_elem, - .map_delete_elem = fd_array_map_delete_elem, - .map_fd_get_ptr = cgroup_fd_array_get_ptr, - .map_fd_put_ptr = cgroup_fd_array_put_ptr, -}; -#endif - -// static struct bpf_map *array_of_map_alloc(union bpf_attr *attr) -// { -// struct bpf_map *map, *inner_map_meta; - -// inner_map_meta = bpf_map_meta_alloc(attr->inner_map_fd); -// if (IS_ERR(inner_map_meta)) -// return inner_map_meta; - -// map = array_map_alloc(attr); -// if (IS_ERR(map)) { -// bpf_map_meta_free(inner_map_meta); -// return map; -// } - -// map->inner_map_meta = inner_map_meta; - -// return map; -// } - -// static void array_of_map_free(struct bpf_map *map) -// { -// /* map->inner_map_meta is only accessed by syscall which -// * is protected by fdget/fdput. -// */ -// bpf_map_meta_free(map->inner_map_meta); -// bpf_fd_array_map_clear(map); -// fd_array_map_free(map); -// } - -// static void *array_of_map_lookup_elem(struct bpf_map *map, void *key) -// { -// struct bpf_map **inner_map = array_map_lookup_elem(map, key); - -// if (!inner_map) -// return NULL; - -// return READ_ONCE(*inner_map); -// } - -// static u32 array_of_map_gen_lookup(struct bpf_map *map, -// struct bpf_insn *insn_buf) -// { -// struct bpf_array *array = container_of(map, struct bpf_array, map); -// u32 elem_size = round_up(map->value_size, 8); -// struct bpf_insn *insn = insn_buf; -// const int ret = BPF_REG_0; -// const int map_ptr = BPF_REG_1; -// const int index = BPF_REG_2; - -// *insn++ = BPF_ALU64_IMM(BPF_ADD, map_ptr, offsetof(struct bpf_array, value)); -// *insn++ = BPF_LDX_MEM(BPF_W, ret, index, 0); -// if (map->unpriv_array) { -// *insn++ = BPF_JMP_IMM(BPF_JGE, ret, map->max_entries, 6); -// *insn++ = BPF_ALU32_IMM(BPF_AND, ret, array->index_mask); -// } else { -// *insn++ = BPF_JMP_IMM(BPF_JGE, ret, map->max_entries, 5); -// } -// if (is_power_of_2(elem_size)) -// *insn++ = BPF_ALU64_IMM(BPF_LSH, ret, ilog2(elem_size)); -// else -// *insn++ = BPF_ALU64_IMM(BPF_MUL, ret, elem_size); -// *insn++ = BPF_ALU64_REG(BPF_ADD, ret, map_ptr); -// *insn++ = BPF_LDX_MEM(BPF_DW, ret, ret, 0); -// *insn++ = BPF_JMP_IMM(BPF_JEQ, ret, 0, 1); -// *insn++ = BPF_JMP_IMM(BPF_JA, 0, 0, 1); -// *insn++ = BPF_MOV64_IMM(ret, 0); - -// return insn - insn_buf; -// } - -// const struct bpf_map_ops array_of_maps_map_ops = { -// .map_alloc_check = fd_array_map_alloc_check, -// .map_alloc = array_of_map_alloc, -// .map_free = array_of_map_free, -// .map_get_next_key = array_map_get_next_key, -// .map_lookup_elem = array_of_map_lookup_elem, -// .map_delete_elem = fd_array_map_delete_elem, -// .map_fd_get_ptr = bpf_map_fd_get_ptr, -// .map_fd_put_ptr = bpf_map_fd_put_ptr, -// .map_fd_sys_lookup_elem = bpf_map_fd_sys_lookup_elem, -// .map_gen_lookup = array_of_map_gen_lookup, -// }; diff --git a/lcc/glcc/lib/ebpf/bpf_frame.h b/lcc/glcc/lib/ebpf/bpf_frame.h deleted file mode 100644 index 622edbd..0000000 --- a/lcc/glcc/lib/ebpf/bpf_frame.h +++ /dev/null @@ -1,43 +0,0 @@ -#ifndef _ASM_BPF_FRAME_H -#define _ASM_BPF_FRAME_H -#include -/* - * These are stack frame creation macros. They should be used by every - * callable non-leaf asm function to make kernel stack traces more reliable. - */ -#ifdef CONFIG_FRAME_POINTER - -#ifdef __ASSEMBLY__ - -#include - -.macro FRAME_BEGIN - push %_ASM_BP - _ASM_MOV %_ASM_SP, %_ASM_BP -.endm - -.macro FRAME_END - pop %_ASM_BP -.endm - -#else /* !__ASSEMBLY__ */ - -#define FRAME_BEGIN \ - "push %" _ASM_BP "\n" \ - _ASM_MOV "%" _ASM_SP ", %" _ASM_BP "\n" - -#define FRAME_END "pop %" _ASM_BP "\n" - -#endif /* __ASSEMBLY__ */ - -#define FRAME_OFFSET __ASM_SEL(4, 8) - -#else /* !CONFIG_FRAME_POINTER */ - -#define FRAME_BEGIN -#define FRAME_END -#define FRAME_OFFSET 0 - -#endif /* CONFIG_FRAME_POINTER */ - -#endif /* _ASM_X86_FRAME_H */ diff --git a/lcc/glcc/lib/ebpf/bpf_jit.S b/lcc/glcc/lib/ebpf/bpf_jit.S deleted file mode 100644 index dd1913f..0000000 --- a/lcc/glcc/lib/ebpf/bpf_jit.S +++ /dev/null @@ -1,197 +0,0 @@ -/* bpf_jit.S : BPF JIT helper functions - * - * Copyright (C) 2011 Eric Dumazet (eric.dumazet@gmail.com) - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; version 2 - * of the License. - */ -#include -#include -#include "bpf_frame.h" - -/* - * Calling convention : - * rdi : skb pointer - * esi : offset of byte(s) to fetch in skb (can be scratched) - * r8 : copy of skb->data - * r9d : hlen = skb->len - skb->data_len - */ -#define SKBDATA %r8 -#define SKF_MAX_NEG_OFF $(-0x200000) /* SKF_LL_OFF from filter.h */ - -#define FUNC(name) \ - .globl name; \ - .type name, @function; \ - name: - -FUNC(sk_load_word) - test %esi,%esi - js bpf_slow_path_word_neg - -FUNC(sk_load_word_positive_offset) - mov %r9d,%eax # hlen - sub %esi,%eax # hlen - offset - cmp $3,%eax - jle bpf_slow_path_word - mov (SKBDATA,%rsi),%eax - bswap %eax /* ntohl() */ - ret - -FUNC(sk_load_half) - test %esi,%esi - js bpf_slow_path_half_neg - -FUNC(sk_load_half_positive_offset) - mov %r9d,%eax - sub %esi,%eax # hlen - offset - cmp $1,%eax - jle bpf_slow_path_half - movzwl (SKBDATA,%rsi),%eax - rol $8,%ax # ntohs() - ret - -FUNC(sk_load_byte) - test %esi,%esi - js bpf_slow_path_byte_neg - -FUNC(sk_load_byte_positive_offset) - cmp %esi,%r9d /* if (offset >= hlen) goto bpf_slow_path_byte */ - jle bpf_slow_path_byte - movzbl (SKBDATA,%rsi),%eax - ret - -/** - * sk_load_byte_msh - BPF_S_LDX_B_MSH helper - * - * Implements BPF_S_LDX_B_MSH : ldxb 4*([offset]&0xf) - * Must preserve A accumulator (%eax) - * Inputs : %esi is the offset value - */ -sk_load_byte_msh: - .globl sk_load_byte_msh - test %esi,%esi - js bpf_slow_path_byte_msh_neg - -FUNC(sk_load_byte_msh_positive_offset) - cmp %esi,%r9d /* if (offset >= hlen) goto bpf_slow_path_byte_msh */ - jle bpf_slow_path_byte_msh - movzbl (SKBDATA,%rsi),%ebx - and $15,%bl - shl $2,%bl - ret - -/* rsi contains offset and can be scratched */ -#define bpf_slow_path_common(LEN) \ - lea -12(%rbp),%rdx; \ - FRAME_BEGIN; \ - push %rdi; /* save skb */ \ - push %r9; \ - push SKBDATA; \ -/* rsi already has offset */ \ - mov $LEN,%ecx; /* len */ \ - call skb_copy_bits; \ - test %eax,%eax; \ - pop SKBDATA; \ - pop %r9; \ - pop %rdi; \ - FRAME_END - - -bpf_slow_path_word: - bpf_slow_path_common(4) - js bpf_error - mov -12(%rbp),%eax - bswap %eax - ret - -bpf_slow_path_half: - bpf_slow_path_common(2) - js bpf_error - mov -12(%rbp),%ax - rol $8,%ax - movzwl %ax,%eax - ret - -bpf_slow_path_byte: - bpf_slow_path_common(1) - js bpf_error - movzbl -12(%rbp),%eax - ret - -bpf_slow_path_byte_msh: - xchg %eax,%ebx /* dont lose A , X is about to be scratched */ - bpf_slow_path_common(1) - js bpf_error - movzbl -12(%rbp),%eax - and $15,%al - shl $2,%al - xchg %eax,%ebx - ret - -#define sk_negative_common(SIZE) \ - FRAME_BEGIN; \ - push %rdi; /* save skb */ \ - push %r9; \ - push SKBDATA; \ -/* rsi already has offset */ \ - mov $SIZE,%ecx; /* size */ \ - call bpf_internal_load_pointer_neg_helper; \ - test %rax,%rax; \ - pop SKBDATA; \ - pop %r9; \ - pop %rdi; \ - FRAME_END; \ - jz bpf_error - - -bpf_slow_path_word_neg: - cmp SKF_MAX_NEG_OFF, %esi /* test range */ - jl bpf_error /* offset lower -> error */ - -FUNC(sk_load_word_negative_offset) - sk_negative_common(4) - mov (%rax), %eax - bswap %eax - ret - -bpf_slow_path_half_neg: - cmp SKF_MAX_NEG_OFF, %esi - jl bpf_error - -FUNC(sk_load_half_negative_offset) - sk_negative_common(2) - mov (%rax),%ax - rol $8,%ax - movzwl %ax,%eax - ret - -bpf_slow_path_byte_neg: - cmp SKF_MAX_NEG_OFF, %esi - jl bpf_error - -FUNC(sk_load_byte_negative_offset) - sk_negative_common(1) - movzbl (%rax), %eax - ret - -bpf_slow_path_byte_msh_neg: - cmp SKF_MAX_NEG_OFF, %esi - jl bpf_error - -FUNC(sk_load_byte_msh_negative_offset) - xchg %eax,%ebx /* dont lose A , X is about to be scratched */ - sk_negative_common(1) - movzbl (%rax),%eax - and $15,%al - shl $2,%al - xchg %eax,%ebx - ret - -bpf_error: -# force a return 0 from jit handler - xor %eax,%eax - mov -8(%rbp),%rbx - leaveq - ret diff --git a/lcc/glcc/lib/ebpf/bpf_jit_comp.c b/lcc/glcc/lib/ebpf/bpf_jit_comp.c deleted file mode 100644 index cacde82..0000000 --- a/lcc/glcc/lib/ebpf/bpf_jit_comp.c +++ /dev/null @@ -1,768 +0,0 @@ -/* bpf_jit_comp.c : BPF JIT compiler - * - * Copyright (C) 2011-2013 Eric Dumazet (eric.dumazet@gmail.com) - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; version 2 - * of the License. - */ -#include "linux/config.h" -#include -#include -#include -#include "linux/filter.h" -#include -#include "allsyms.h" - -/* - * Conventions : - * EAX : BPF A accumulator - * EBX : BPF X accumulator - * RDI : pointer to skb (first argument given to JIT function) - * RBP : frame pointer (even if CONFIG_FRAME_POINTER=n) - * ECX,EDX,ESI : scratch registers - * r9d : skb->len - skb->data_len (headlen) - * r8 : skb->data - * -8(RBP) : saved RBX value - * -16(RBP)..-80(RBP) : BPF_MEMWORDS values - */ - -/* - * assembly code in arch/x86/net/bpf_jit.S - */ -extern u8 sk_load_word[], sk_load_half[], sk_load_byte[], sk_load_byte_msh[]; -extern u8 sk_load_word_positive_offset[], sk_load_half_positive_offset[]; -extern u8 sk_load_byte_positive_offset[], sk_load_byte_msh_positive_offset[]; -extern u8 sk_load_word_negative_offset[], sk_load_half_negative_offset[]; -extern u8 sk_load_byte_negative_offset[], sk_load_byte_msh_negative_offset[]; - -static inline u8 *emit_code(u8 *ptr, u32 bytes, unsigned int len) -{ - if (len == 1) - *ptr = bytes; - else if (len == 2) - *(u16 *)ptr = bytes; - else { - *(u32 *)ptr = bytes; - barrier(); - } - return ptr + len; -} - -#define EMIT(bytes, len) do { prog = emit_code(prog, bytes, len); } while (0) - -#define EMIT1(b1) EMIT(b1, 1) -#define EMIT2(b1, b2) EMIT((b1) + ((b2) << 8), 2) -#define EMIT3(b1, b2, b3) EMIT((b1) + ((b2) << 8) + ((b3) << 16), 3) -#define EMIT4(b1, b2, b3, b4) EMIT((b1) + ((b2) << 8) + ((b3) << 16) + ((b4) << 24), 4) -#define EMIT1_off32(b1, off) do { EMIT1(b1); EMIT(off, 4);} while (0) - -#define CLEAR_A() EMIT2(0x31, 0xc0) /* xor %eax,%eax */ -#define CLEAR_X() EMIT2(0x31, 0xdb) /* xor %ebx,%ebx */ - -static inline bool is_imm8(int value) -{ - return value <= 127 && value >= -128; -} - -static inline bool is_near(int offset) -{ - return offset <= 127 && offset >= -128; -} - -#define EMIT_JMP(offset) \ -do { \ - if (offset) { \ - if (is_near(offset)) \ - EMIT2(0xeb, offset); /* jmp .+off8 */ \ - else \ - EMIT1_off32(0xe9, offset); /* jmp .+off32 */ \ - } \ -} while (0) - -/* list of x86 cond jumps opcodes (. + s8) - * Add 0x10 (and an extra 0x0f) to generate far jumps (. + s32) - */ -#define X86_JB 0x72 -#define X86_JAE 0x73 -#define X86_JE 0x74 -#define X86_JNE 0x75 -#define X86_JBE 0x76 -#define X86_JA 0x77 - -#define EMIT_COND_JMP(op, offset) \ -do { \ - if (is_near(offset)) \ - EMIT2(op, offset); /* jxx .+off8 */ \ - else { \ - EMIT2(0x0f, op + 0x10); \ - EMIT(offset, 4); /* jxx .+off32 */ \ - } \ -} while (0) - -#define COND_SEL(CODE, TOP, FOP) \ - case CODE: \ - t_op = TOP; \ - f_op = FOP; \ - goto cond_branch - - -#define SEEN_DATAREF 1 /* might call external helpers */ -#define SEEN_XREG 2 /* ebx is used */ -#define SEEN_MEM 4 /* use mem[] for temporary storage */ - -static inline void bpf_flush_icache(void *start, void *end) -{ - mm_segment_t old_fs = get_fs(); - - set_fs(KERNEL_DS); - smp_wmb(); - flush_icache_range((unsigned long)start, (unsigned long)end); - set_fs(old_fs); -} - -#define CHOOSE_LOAD_FUNC(K, func) \ - ((int)K < 0 ? ((int)K >= SKF_LL_OFF ? func##_negative_offset : func) : func##_positive_offset) - -/* Helper to find the offset of pkt_type in sk_buff - * We want to make sure its still a 3bit field starting at a byte boundary. - */ -#define PKT_TYPE_MAX 7 -static int pkt_type_offset(void) -{ - struct sk_buff skb_probe = { - .pkt_type = ~0, - }; - char *ct = (char *)&skb_probe; - unsigned int off; - - for (off = 0; off < sizeof(struct sk_buff); off++) { - if (ct[off] == PKT_TYPE_MAX) - return off; - } - pr_err_once("Please fix pkt_type_offset(), as pkt_type couldn't be found\n"); - return -1; -} - -void bpf_jit_compile(struct sk_filter *fp) -{ - u8 temp[64]; - u8 *prog; - unsigned int proglen, oldproglen = 0; - int ilen, i; - int t_offset, f_offset; - u8 t_op, f_op, seen = 0, pass; - u8 *image = NULL; - u8 *func; - int pc_ret0 = -1; /* bpf index of first RET #0 instruction (if any) */ - unsigned int cleanup_addr; /* epilogue code offset */ - unsigned int *addrs; - const struct sock_filter *filter = fp->insns; - int flen = fp->len; - if (!bpf_jit_enable) - return; - - addrs = kmalloc(flen * sizeof(*addrs), GFP_KERNEL); - if (addrs == NULL) - return; - - /* Before first pass, make a rough estimation of addrs[] - * each bpf instruction is translated to less than 64 bytes - */ - for (proglen = 0, i = 0; i < flen; i++) { - proglen += 64; - addrs[i] = proglen; - } - cleanup_addr = proglen; /* epilogue address */ - - /* JITed image shrinks with every pass and the loop iterates - * until the image stops shrinking. Very large bpf programs - * may converge on the last pass. In such case do one more - * pass to emit the final image - */ - for (pass = 0; pass < 10 || image; pass++) { - u8 seen_or_pass0 = (pass == 0) ? (SEEN_XREG | SEEN_DATAREF | SEEN_MEM) : seen; - /* no prologue/epilogue for trivial filters (RET something) */ - proglen = 0; - prog = temp; - - if (seen_or_pass0) { - EMIT4(0x55, 0x48, 0x89, 0xe5); /* push %rbp; mov %rsp,%rbp */ - EMIT4(0x48, 0x83, 0xec, 96); /* subq $96,%rsp */ - /* note : must save %rbx in case bpf_error is hit */ - if (seen_or_pass0 & (SEEN_XREG | SEEN_DATAREF)) - EMIT4(0x48, 0x89, 0x5d, 0xf8); /* mov %rbx, -8(%rbp) */ - if (seen_or_pass0 & SEEN_XREG) - CLEAR_X(); /* make sure we dont leek kernel memory */ - - /* - * If this filter needs to access skb data, - * loads r9 and r8 with : - * r9 = skb->len - skb->data_len - * r8 = skb->data - */ - if (seen_or_pass0 & SEEN_DATAREF) { - if (offsetof(struct sk_buff, len) <= 127) - /* mov off8(%rdi),%r9d */ - EMIT4(0x44, 0x8b, 0x4f, offsetof(struct sk_buff, len)); - else { - /* mov off32(%rdi),%r9d */ - EMIT3(0x44, 0x8b, 0x8f); - EMIT(offsetof(struct sk_buff, len), 4); - } - if (is_imm8(offsetof(struct sk_buff, data_len))) - /* sub off8(%rdi),%r9d */ - EMIT4(0x44, 0x2b, 0x4f, offsetof(struct sk_buff, data_len)); - else { - EMIT3(0x44, 0x2b, 0x8f); - EMIT(offsetof(struct sk_buff, data_len), 4); - } - - if (is_imm8(offsetof(struct sk_buff, data))) - /* mov off8(%rdi),%r8 */ - EMIT4(0x4c, 0x8b, 0x47, offsetof(struct sk_buff, data)); - else { - /* mov off32(%rdi),%r8 */ - EMIT3(0x4c, 0x8b, 0x87); - EMIT(offsetof(struct sk_buff, data), 4); - } - } - } - - switch (filter[0].code) { - case BPF_S_RET_K: - case BPF_S_LD_W_LEN: - case BPF_S_ANC_PROTOCOL: - case BPF_S_ANC_IFINDEX: - case BPF_S_ANC_MARK: - case BPF_S_ANC_RXHASH: - case BPF_S_ANC_CPU: - case BPF_S_ANC_VLAN_TAG: - case BPF_S_ANC_VLAN_TAG_PRESENT: - case BPF_S_ANC_QUEUE: - case BPF_S_ANC_PKTTYPE: - case BPF_S_LD_W_ABS: - case BPF_S_LD_H_ABS: - case BPF_S_LD_B_ABS: - /* first instruction sets A register (or is RET 'constant') */ - break; - default: - /* make sure we dont leak kernel information to user */ - CLEAR_A(); /* A = 0 */ - } - - for (i = 0; i < flen; i++) { - unsigned int K = filter[i].k; - - switch (filter[i].code) { - case BPF_S_ALU_ADD_X: /* A += X; */ - seen |= SEEN_XREG; - EMIT2(0x01, 0xd8); /* add %ebx,%eax */ - break; - case BPF_S_ALU_ADD_K: /* A += K; */ - if (!K) - break; - if (is_imm8(K)) - EMIT3(0x83, 0xc0, K); /* add imm8,%eax */ - else - EMIT1_off32(0x05, K); /* add imm32,%eax */ - break; - case BPF_S_ALU_SUB_X: /* A -= X; */ - seen |= SEEN_XREG; - EMIT2(0x29, 0xd8); /* sub %ebx,%eax */ - break; - case BPF_S_ALU_SUB_K: /* A -= K */ - if (!K) - break; - if (is_imm8(K)) - EMIT3(0x83, 0xe8, K); /* sub imm8,%eax */ - else - EMIT1_off32(0x2d, K); /* sub imm32,%eax */ - break; - case BPF_S_ALU_MUL_X: /* A *= X; */ - seen |= SEEN_XREG; - EMIT3(0x0f, 0xaf, 0xc3); /* imul %ebx,%eax */ - break; - case BPF_S_ALU_MUL_K: /* A *= K */ - if (is_imm8(K)) - EMIT3(0x6b, 0xc0, K); /* imul imm8,%eax,%eax */ - else { - EMIT2(0x69, 0xc0); /* imul imm32,%eax */ - EMIT(K, 4); - } - break; - case BPF_S_ALU_DIV_X: /* A /= X; */ - seen |= SEEN_XREG; - EMIT2(0x85, 0xdb); /* test %ebx,%ebx */ - if (pc_ret0 > 0) { - /* addrs[pc_ret0 - 1] is start address of target - * (addrs[i] - 4) is the address following this jmp - * ("xor %edx,%edx; div %ebx" being 4 bytes long) - */ - EMIT_COND_JMP(X86_JE, addrs[pc_ret0 - 1] - - (addrs[i] - 4)); - } else { - EMIT_COND_JMP(X86_JNE, 2 + 5); - CLEAR_A(); - EMIT1_off32(0xe9, cleanup_addr - (addrs[i] - 4)); /* jmp .+off32 */ - } - EMIT4(0x31, 0xd2, 0xf7, 0xf3); /* xor %edx,%edx; div %ebx */ - break; - case BPF_S_ALU_MOD_X: /* A %= X; */ - seen |= SEEN_XREG; - EMIT2(0x85, 0xdb); /* test %ebx,%ebx */ - if (pc_ret0 > 0) { - /* addrs[pc_ret0 - 1] is start address of target - * (addrs[i] - 6) is the address following this jmp - * ("xor %edx,%edx; div %ebx;mov %edx,%eax" being 6 bytes long) - */ - EMIT_COND_JMP(X86_JE, addrs[pc_ret0 - 1] - - (addrs[i] - 6)); - } else { - EMIT_COND_JMP(X86_JNE, 2 + 5); - CLEAR_A(); - EMIT1_off32(0xe9, cleanup_addr - (addrs[i] - 6)); /* jmp .+off32 */ - } - EMIT2(0x31, 0xd2); /* xor %edx,%edx */ - EMIT2(0xf7, 0xf3); /* div %ebx */ - EMIT2(0x89, 0xd0); /* mov %edx,%eax */ - break; - case BPF_S_ALU_MOD_K: /* A %= K; */ - if (K == 1) { - CLEAR_A(); - break; - } - EMIT2(0x31, 0xd2); /* xor %edx,%edx */ - EMIT1(0xb9);EMIT(K, 4); /* mov imm32,%ecx */ - EMIT2(0xf7, 0xf1); /* div %ecx */ - EMIT2(0x89, 0xd0); /* mov %edx,%eax */ - break; - case BPF_S_ALU_DIV_K: /* A /= K */ - if (K == 1) - break; - EMIT2(0x31, 0xd2); /* xor %edx,%edx */ - EMIT1(0xb9);EMIT(K, 4); /* mov imm32,%ecx */ - EMIT2(0xf7, 0xf1); /* div %ecx */ - break; - case BPF_S_ALU_AND_X: - seen |= SEEN_XREG; - EMIT2(0x21, 0xd8); /* and %ebx,%eax */ - break; - case BPF_S_ALU_AND_K: - if (K >= 0xFFFFFF00) { - EMIT2(0x24, K & 0xFF); /* and imm8,%al */ - } else if (K >= 0xFFFF0000) { - EMIT2(0x66, 0x25); /* and imm16,%ax */ - EMIT(K, 2); - } else { - EMIT1_off32(0x25, K); /* and imm32,%eax */ - } - break; - case BPF_S_ALU_OR_X: - seen |= SEEN_XREG; - EMIT2(0x09, 0xd8); /* or %ebx,%eax */ - break; - case BPF_S_ALU_OR_K: - if (is_imm8(K)) - EMIT3(0x83, 0xc8, K); /* or imm8,%eax */ - else - EMIT1_off32(0x0d, K); /* or imm32,%eax */ - break; - case BPF_S_ANC_ALU_XOR_X: /* A ^= X; */ - case BPF_S_ALU_XOR_X: - seen |= SEEN_XREG; - EMIT2(0x31, 0xd8); /* xor %ebx,%eax */ - break; - case BPF_S_ALU_XOR_K: /* A ^= K; */ - if (K == 0) - break; - if (is_imm8(K)) - EMIT3(0x83, 0xf0, K); /* xor imm8,%eax */ - else - EMIT1_off32(0x35, K); /* xor imm32,%eax */ - break; - case BPF_S_ALU_LSH_X: /* A <<= X; */ - seen |= SEEN_XREG; - EMIT4(0x89, 0xd9, 0xd3, 0xe0); /* mov %ebx,%ecx; shl %cl,%eax */ - break; - case BPF_S_ALU_LSH_K: - if (K == 0) - break; - else if (K == 1) - EMIT2(0xd1, 0xe0); /* shl %eax */ - else - EMIT3(0xc1, 0xe0, K); - break; - case BPF_S_ALU_RSH_X: /* A >>= X; */ - seen |= SEEN_XREG; - EMIT4(0x89, 0xd9, 0xd3, 0xe8); /* mov %ebx,%ecx; shr %cl,%eax */ - break; - case BPF_S_ALU_RSH_K: /* A >>= K; */ - if (K == 0) - break; - else if (K == 1) - EMIT2(0xd1, 0xe8); /* shr %eax */ - else - EMIT3(0xc1, 0xe8, K); - break; - case BPF_S_ALU_NEG: - EMIT2(0xf7, 0xd8); /* neg %eax */ - break; - case BPF_S_RET_K: - if (!K) { - if (pc_ret0 == -1) - pc_ret0 = i; - CLEAR_A(); - } else { - EMIT1_off32(0xb8, K); /* mov $imm32,%eax */ - } - /* fallinto */ - case BPF_S_RET_A: - if (seen_or_pass0) { - if (i != flen - 1) { - EMIT_JMP(cleanup_addr - addrs[i]); - break; - } - if (seen_or_pass0 & SEEN_XREG) - EMIT4(0x48, 0x8b, 0x5d, 0xf8); /* mov -8(%rbp),%rbx */ - EMIT1(0xc9); /* leaveq */ - } - EMIT1(0xc3); /* ret */ - break; - case BPF_S_MISC_TAX: /* X = A */ - seen |= SEEN_XREG; - EMIT2(0x89, 0xc3); /* mov %eax,%ebx */ - break; - case BPF_S_MISC_TXA: /* A = X */ - seen |= SEEN_XREG; - EMIT2(0x89, 0xd8); /* mov %ebx,%eax */ - break; - case BPF_S_LD_IMM: /* A = K */ - if (!K) - CLEAR_A(); - else - EMIT1_off32(0xb8, K); /* mov $imm32,%eax */ - break; - case BPF_S_LDX_IMM: /* X = K */ - seen |= SEEN_XREG; - if (!K) - CLEAR_X(); - else - EMIT1_off32(0xbb, K); /* mov $imm32,%ebx */ - break; - case BPF_S_LD_MEM: /* A = mem[K] : mov off8(%rbp),%eax */ - seen |= SEEN_MEM; - EMIT3(0x8b, 0x45, 0xf0 - K*4); - break; - case BPF_S_LDX_MEM: /* X = mem[K] : mov off8(%rbp),%ebx */ - seen |= SEEN_XREG | SEEN_MEM; - EMIT3(0x8b, 0x5d, 0xf0 - K*4); - break; - case BPF_S_ST: /* mem[K] = A : mov %eax,off8(%rbp) */ - seen |= SEEN_MEM; - EMIT3(0x89, 0x45, 0xf0 - K*4); - break; - case BPF_S_STX: /* mem[K] = X : mov %ebx,off8(%rbp) */ - seen |= SEEN_XREG | SEEN_MEM; - EMIT3(0x89, 0x5d, 0xf0 - K*4); - break; - case BPF_S_LD_W_LEN: /* A = skb->len; */ - BUILD_BUG_ON(FIELD_SIZEOF(struct sk_buff, len) != 4); - if (is_imm8(offsetof(struct sk_buff, len))) - /* mov off8(%rdi),%eax */ - EMIT3(0x8b, 0x47, offsetof(struct sk_buff, len)); - else { - EMIT2(0x8b, 0x87); - EMIT(offsetof(struct sk_buff, len), 4); - } - break; - case BPF_S_LDX_W_LEN: /* X = skb->len; */ - seen |= SEEN_XREG; - if (is_imm8(offsetof(struct sk_buff, len))) - /* mov off8(%rdi),%ebx */ - EMIT3(0x8b, 0x5f, offsetof(struct sk_buff, len)); - else { - EMIT2(0x8b, 0x9f); - EMIT(offsetof(struct sk_buff, len), 4); - } - break; - case BPF_S_ANC_PROTOCOL: /* A = ntohs(skb->protocol); */ - BUILD_BUG_ON(FIELD_SIZEOF(struct sk_buff, protocol) != 2); - if (is_imm8(offsetof(struct sk_buff, protocol))) { - /* movzwl off8(%rdi),%eax */ - EMIT4(0x0f, 0xb7, 0x47, offsetof(struct sk_buff, protocol)); - } else { - EMIT3(0x0f, 0xb7, 0x87); /* movzwl off32(%rdi),%eax */ - EMIT(offsetof(struct sk_buff, protocol), 4); - } - EMIT2(0x86, 0xc4); /* ntohs() : xchg %al,%ah */ - break; - case BPF_S_ANC_IFINDEX: - if (is_imm8(offsetof(struct sk_buff, dev))) { - /* movq off8(%rdi),%rax */ - EMIT4(0x48, 0x8b, 0x47, offsetof(struct sk_buff, dev)); - } else { - EMIT3(0x48, 0x8b, 0x87); /* movq off32(%rdi),%rax */ - EMIT(offsetof(struct sk_buff, dev), 4); - } - EMIT3(0x48, 0x85, 0xc0); /* test %rax,%rax */ - EMIT_COND_JMP(X86_JE, cleanup_addr - (addrs[i] - 6)); - BUILD_BUG_ON(FIELD_SIZEOF(struct net_device, ifindex) != 4); - EMIT2(0x8b, 0x80); /* mov off32(%rax),%eax */ - EMIT(offsetof(struct net_device, ifindex), 4); - break; - case BPF_S_ANC_MARK: - BUILD_BUG_ON(FIELD_SIZEOF(struct sk_buff, mark) != 4); - if (is_imm8(offsetof(struct sk_buff, mark))) { - /* mov off8(%rdi),%eax */ - EMIT3(0x8b, 0x47, offsetof(struct sk_buff, mark)); - } else { - EMIT2(0x8b, 0x87); - EMIT(offsetof(struct sk_buff, mark), 4); - } - break; - case BPF_S_ANC_RXHASH: - BUILD_BUG_ON(FIELD_SIZEOF(struct sk_buff, hash) != 4); - if (is_imm8(offsetof(struct sk_buff, hash))) { - /* mov off8(%rdi),%eax */ - EMIT3(0x8b, 0x47, offsetof(struct sk_buff, hash)); - } else { - EMIT2(0x8b, 0x87); - EMIT(offsetof(struct sk_buff, hash), 4); - } - break; - case BPF_S_ANC_QUEUE: - BUILD_BUG_ON(FIELD_SIZEOF(struct sk_buff, queue_mapping) != 2); - if (is_imm8(offsetof(struct sk_buff, queue_mapping))) { - /* movzwl off8(%rdi),%eax */ - EMIT4(0x0f, 0xb7, 0x47, offsetof(struct sk_buff, queue_mapping)); - } else { - EMIT3(0x0f, 0xb7, 0x87); /* movzwl off32(%rdi),%eax */ - EMIT(offsetof(struct sk_buff, queue_mapping), 4); - } - break; - case BPF_S_ANC_CPU: -#ifdef CONFIG_SMP - EMIT4(0x65, 0x8b, 0x04, 0x25); /* mov %gs:off32,%eax */ - EMIT((u32)(unsigned long)&cpu_number, 4); /* A = smp_processor_id(); */ -#else - CLEAR_A(); -#endif - break; - case BPF_S_ANC_VLAN_TAG: - case BPF_S_ANC_VLAN_TAG_PRESENT: - BUILD_BUG_ON(FIELD_SIZEOF(struct sk_buff, vlan_tci) != 2); - if (is_imm8(offsetof(struct sk_buff, vlan_tci))) { - /* movzwl off8(%rdi),%eax */ - EMIT4(0x0f, 0xb7, 0x47, offsetof(struct sk_buff, vlan_tci)); - } else { - EMIT3(0x0f, 0xb7, 0x87); /* movzwl off32(%rdi),%eax */ - EMIT(offsetof(struct sk_buff, vlan_tci), 4); - } - BUILD_BUG_ON(VLAN_TAG_PRESENT != 0x1000); - if (filter[i].code == BPF_S_ANC_VLAN_TAG) { - EMIT3(0x80, 0xe4, 0xef); /* and $0xef,%ah */ - } else { - EMIT3(0xc1, 0xe8, 0x0c); /* shr $0xc,%eax */ - EMIT3(0x83, 0xe0, 0x01); /* and $0x1,%eax */ - } - break; - case BPF_S_ANC_PKTTYPE: - { - int off = pkt_type_offset(); - - if (off < 0) - goto out; - if (is_imm8(off)) { - /* movzbl off8(%rdi),%eax */ - EMIT4(0x0f, 0xb6, 0x47, off); - } else { - /* movbl off32(%rdi),%eax */ - EMIT3(0x0f, 0xb6, 0x87); - EMIT(off, 4); - } - EMIT3(0x83, 0xe0, PKT_TYPE_MAX); /* and $0x7,%eax */ - break; - } - case BPF_S_LD_W_ABS: - func = CHOOSE_LOAD_FUNC(K, sk_load_word); -common_load: seen |= SEEN_DATAREF; - t_offset = func - (image + addrs[i]); - EMIT1_off32(0xbe, K); /* mov imm32,%esi */ - EMIT1_off32(0xe8, t_offset); /* call */ - break; - case BPF_S_LD_H_ABS: - func = CHOOSE_LOAD_FUNC(K, sk_load_half); - goto common_load; - case BPF_S_LD_B_ABS: - func = CHOOSE_LOAD_FUNC(K, sk_load_byte); - goto common_load; - case BPF_S_LDX_B_MSH: - func = CHOOSE_LOAD_FUNC(K, sk_load_byte_msh); - seen |= SEEN_DATAREF | SEEN_XREG; - t_offset = func - (image + addrs[i]); - EMIT1_off32(0xbe, K); /* mov imm32,%esi */ - EMIT1_off32(0xe8, t_offset); /* call sk_load_byte_msh */ - break; - case BPF_S_LD_W_IND: - func = sk_load_word; -common_load_ind: seen |= SEEN_DATAREF | SEEN_XREG; - t_offset = func - (image + addrs[i]); - if (K) { - if (is_imm8(K)) { - EMIT3(0x8d, 0x73, K); /* lea imm8(%rbx), %esi */ - } else { - EMIT2(0x8d, 0xb3); /* lea imm32(%rbx),%esi */ - EMIT(K, 4); - } - } else { - EMIT2(0x89,0xde); /* mov %ebx,%esi */ - } - EMIT1_off32(0xe8, t_offset); /* call sk_load_xxx_ind */ - break; - case BPF_S_LD_H_IND: - func = sk_load_half; - goto common_load_ind; - case BPF_S_LD_B_IND: - func = sk_load_byte; - goto common_load_ind; - case BPF_S_JMP_JA: - t_offset = addrs[i + K] - addrs[i]; - EMIT_JMP(t_offset); - break; - COND_SEL(BPF_S_JMP_JGT_K, X86_JA, X86_JBE); - COND_SEL(BPF_S_JMP_JGE_K, X86_JAE, X86_JB); - COND_SEL(BPF_S_JMP_JEQ_K, X86_JE, X86_JNE); - COND_SEL(BPF_S_JMP_JSET_K,X86_JNE, X86_JE); - COND_SEL(BPF_S_JMP_JGT_X, X86_JA, X86_JBE); - COND_SEL(BPF_S_JMP_JGE_X, X86_JAE, X86_JB); - COND_SEL(BPF_S_JMP_JEQ_X, X86_JE, X86_JNE); - COND_SEL(BPF_S_JMP_JSET_X,X86_JNE, X86_JE); - -cond_branch: f_offset = addrs[i + filter[i].jf] - addrs[i]; - t_offset = addrs[i + filter[i].jt] - addrs[i]; - - /* same targets, can avoid doing the test :) */ - if (filter[i].jt == filter[i].jf) { - EMIT_JMP(t_offset); - break; - } - - switch (filter[i].code) { - case BPF_S_JMP_JGT_X: - case BPF_S_JMP_JGE_X: - case BPF_S_JMP_JEQ_X: - seen |= SEEN_XREG; - EMIT2(0x39, 0xd8); /* cmp %ebx,%eax */ - break; - case BPF_S_JMP_JSET_X: - seen |= SEEN_XREG; - EMIT2(0x85, 0xd8); /* test %ebx,%eax */ - break; - case BPF_S_JMP_JEQ_K: - if (K == 0) { - EMIT2(0x85, 0xc0); /* test %eax,%eax */ - break; - } - case BPF_S_JMP_JGT_K: - case BPF_S_JMP_JGE_K: - if (K <= 127) - EMIT3(0x83, 0xf8, K); /* cmp imm8,%eax */ - else - EMIT1_off32(0x3d, K); /* cmp imm32,%eax */ - break; - case BPF_S_JMP_JSET_K: - if (K <= 0xFF) - EMIT2(0xa8, K); /* test imm8,%al */ - else if (!(K & 0xFFFF00FF)) - EMIT3(0xf6, 0xc4, K >> 8); /* test imm8,%ah */ - else if (K <= 0xFFFF) { - EMIT2(0x66, 0xa9); /* test imm16,%ax */ - EMIT(K, 2); - } else { - EMIT1_off32(0xa9, K); /* test imm32,%eax */ - } - break; - } - if (filter[i].jt != 0) { - if (filter[i].jf && f_offset) - t_offset += is_near(f_offset) ? 2 : 5; - EMIT_COND_JMP(t_op, t_offset); - if (filter[i].jf) - EMIT_JMP(f_offset); - break; - } - EMIT_COND_JMP(f_op, f_offset); - break; - default: - /* hmm, too complex filter, give up with jit compiler */ - goto out; - } - ilen = prog - temp; - if (image) { - if (unlikely(proglen + ilen > oldproglen)) { - pr_err("bpb_jit_compile fatal error\n"); - kfree(addrs); - module_free_p(NULL, image); - return; - } - memcpy(image + proglen, temp, ilen); - } - proglen += ilen; - addrs[i] = proglen; - prog = temp; - } - /* last bpf instruction is always a RET : - * use it to give the cleanup instruction(s) addr - */ - cleanup_addr = proglen - 1; /* ret */ - if (seen_or_pass0) - cleanup_addr -= 1; /* leaveq */ - if (seen_or_pass0 & SEEN_XREG) - cleanup_addr -= 4; /* mov -8(%rbp),%rbx */ - - if (image) { - if (proglen != oldproglen) - pr_err("bpb_jit_compile proglen=%u != oldproglen=%u\n", proglen, oldproglen); - break; - } - if (proglen == oldproglen) { - image = module_alloc_p(max_t(unsigned int, - proglen, - sizeof(struct work_struct))); - if (!image) - goto out; - } - oldproglen = proglen; - } - - if (bpf_jit_enable > 1) - bpf_jit_dump(flen, proglen, pass, image); - - if (image) { - bpf_flush_icache(image, image + proglen); - fp->bpf_func = (void *)image; - } -out: - kfree(addrs); - return; -} - -static void jit_free_defer(struct work_struct *arg) -{ - module_free_p(NULL, arg); -} - -/* run from softirq, we must use a work_struct to call - * module_free() from process context - */ -void bpf_jit_free(struct sk_filter *fp) -{ - if (fp->bpf_func != sk_run_filter) { - struct work_struct *work = (struct work_struct *)fp->bpf_func; - - INIT_WORK(work, jit_free_defer); - schedule_work(work); - } -} diff --git a/lcc/glcc/lib/ebpf/bpf_lru_list.c b/lcc/glcc/lib/ebpf/bpf_lru_list.c deleted file mode 100644 index e6ef440..0000000 --- a/lcc/glcc/lib/ebpf/bpf_lru_list.c +++ /dev/null @@ -1,697 +0,0 @@ -/* Copyright (c) 2016 Facebook - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of version 2 of the GNU General Public - * License as published by the Free Software Foundation. - */ -#include -#include -#include - -#include "bpf_lru_list.h" - -#define LOCAL_FREE_TARGET (128) -#define LOCAL_NR_SCANS LOCAL_FREE_TARGET - -#define PERCPU_FREE_TARGET (4) -#define PERCPU_NR_SCANS PERCPU_FREE_TARGET - -/* Helpers to get the local list index */ -#define LOCAL_LIST_IDX(t) ((t) - BPF_LOCAL_LIST_T_OFFSET) -#define LOCAL_FREE_LIST_IDX LOCAL_LIST_IDX(BPF_LRU_LOCAL_LIST_T_FREE) -#define LOCAL_PENDING_LIST_IDX LOCAL_LIST_IDX(BPF_LRU_LOCAL_LIST_T_PENDING) -#define IS_LOCAL_LIST_TYPE(t) ((t) >= BPF_LOCAL_LIST_T_OFFSET) - -static int get_next_cpu(int cpu) -{ - cpu = cpumask_next(cpu, cpu_possible_mask); - if (cpu >= nr_cpu_ids) - cpu = cpumask_first(cpu_possible_mask); - return cpu; -} - -/* Local list helpers */ -static struct list_head *local_free_list(struct bpf_lru_locallist *loc_l) -{ - return &loc_l->lists[LOCAL_FREE_LIST_IDX]; -} - -static struct list_head *local_pending_list(struct bpf_lru_locallist *loc_l) -{ - return &loc_l->lists[LOCAL_PENDING_LIST_IDX]; -} - -/* bpf_lru_node helpers */ -static bool bpf_lru_node_is_ref(const struct bpf_lru_node *node) -{ - return node->ref; -} - -static void bpf_lru_list_count_inc(struct bpf_lru_list *l, - enum bpf_lru_list_type type) -{ - if (type < NR_BPF_LRU_LIST_COUNT) - l->counts[type]++; -} - -static void bpf_lru_list_count_dec(struct bpf_lru_list *l, - enum bpf_lru_list_type type) -{ - if (type < NR_BPF_LRU_LIST_COUNT) - l->counts[type]--; -} - -static void __bpf_lru_node_move_to_free(struct bpf_lru_list *l, - struct bpf_lru_node *node, - struct list_head *free_list, - enum bpf_lru_list_type tgt_free_type) -{ - if (WARN_ON_ONCE(IS_LOCAL_LIST_TYPE(node->type))) - return; - - /* If the removing node is the next_inactive_rotation candidate, - * move the next_inactive_rotation pointer also. - */ - if (&node->list == l->next_inactive_rotation) - l->next_inactive_rotation = l->next_inactive_rotation->prev; - - bpf_lru_list_count_dec(l, node->type); - - node->type = tgt_free_type; - list_move(&node->list, free_list); -} - -/* Move nodes from local list to the LRU list */ -static void __bpf_lru_node_move_in(struct bpf_lru_list *l, - struct bpf_lru_node *node, - enum bpf_lru_list_type tgt_type) -{ - if (WARN_ON_ONCE(!IS_LOCAL_LIST_TYPE(node->type)) || - WARN_ON_ONCE(IS_LOCAL_LIST_TYPE(tgt_type))) - return; - - bpf_lru_list_count_inc(l, tgt_type); - node->type = tgt_type; - node->ref = 0; - list_move(&node->list, &l->lists[tgt_type]); -} - -/* Move nodes between or within active and inactive list (like - * active to inactive, inactive to active or tail of active back to - * the head of active). - */ -static void __bpf_lru_node_move(struct bpf_lru_list *l, - struct bpf_lru_node *node, - enum bpf_lru_list_type tgt_type) -{ - if (WARN_ON_ONCE(IS_LOCAL_LIST_TYPE(node->type)) || - WARN_ON_ONCE(IS_LOCAL_LIST_TYPE(tgt_type))) - return; - - if (node->type != tgt_type) { - bpf_lru_list_count_dec(l, node->type); - bpf_lru_list_count_inc(l, tgt_type); - node->type = tgt_type; - } - node->ref = 0; - - /* If the moving node is the next_inactive_rotation candidate, - * move the next_inactive_rotation pointer also. - */ - if (&node->list == l->next_inactive_rotation) - l->next_inactive_rotation = l->next_inactive_rotation->prev; - - list_move(&node->list, &l->lists[tgt_type]); -} - -static bool bpf_lru_list_inactive_low(const struct bpf_lru_list *l) -{ - return l->counts[BPF_LRU_LIST_T_INACTIVE] < - l->counts[BPF_LRU_LIST_T_ACTIVE]; -} - -/* Rotate the active list: - * 1. Start from tail - * 2. If the node has the ref bit set, it will be rotated - * back to the head of active list with the ref bit cleared. - * Give this node one more chance to survive in the active list. - * 3. If the ref bit is not set, move it to the head of the - * inactive list. - * 4. It will at most scan nr_scans nodes - */ -static void __bpf_lru_list_rotate_active(struct bpf_lru *lru, - struct bpf_lru_list *l) -{ - struct list_head *active = &l->lists[BPF_LRU_LIST_T_ACTIVE]; - struct bpf_lru_node *node, *tmp_node, *first_node; - unsigned int i = 0; - - first_node = list_first_entry(active, struct bpf_lru_node, list); - list_for_each_entry_safe_reverse(node, tmp_node, active, list) { - if (bpf_lru_node_is_ref(node)) - __bpf_lru_node_move(l, node, BPF_LRU_LIST_T_ACTIVE); - else - __bpf_lru_node_move(l, node, BPF_LRU_LIST_T_INACTIVE); - - if (++i == lru->nr_scans || node == first_node) - break; - } -} - -/* Rotate the inactive list. It starts from the next_inactive_rotation - * 1. If the node has ref bit set, it will be moved to the head - * of active list with the ref bit cleared. - * 2. If the node does not have ref bit set, it will leave it - * at its current location (i.e. do nothing) so that it can - * be considered during the next inactive_shrink. - * 3. It will at most scan nr_scans nodes - */ -static void __bpf_lru_list_rotate_inactive(struct bpf_lru *lru, - struct bpf_lru_list *l) -{ - struct list_head *inactive = &l->lists[BPF_LRU_LIST_T_INACTIVE]; - struct list_head *cur, *last, *next = inactive; - struct bpf_lru_node *node; - unsigned int i = 0; - - if (list_empty(inactive)) - return; - - last = l->next_inactive_rotation->next; - if (last == inactive) - last = last->next; - - cur = l->next_inactive_rotation; - while (i < lru->nr_scans) { - if (cur == inactive) { - cur = cur->prev; - continue; - } - - node = list_entry(cur, struct bpf_lru_node, list); - next = cur->prev; - if (bpf_lru_node_is_ref(node)) - __bpf_lru_node_move(l, node, BPF_LRU_LIST_T_ACTIVE); - if (cur == last) - break; - cur = next; - i++; - } - - l->next_inactive_rotation = next; -} - -/* Shrink the inactive list. It starts from the tail of the - * inactive list and only move the nodes without the ref bit - * set to the designated free list. - */ -static unsigned int -__bpf_lru_list_shrink_inactive(struct bpf_lru *lru, - struct bpf_lru_list *l, - unsigned int tgt_nshrink, - struct list_head *free_list, - enum bpf_lru_list_type tgt_free_type) -{ - struct list_head *inactive = &l->lists[BPF_LRU_LIST_T_INACTIVE]; - struct bpf_lru_node *node, *tmp_node; - unsigned int nshrinked = 0; - unsigned int i = 0; - - list_for_each_entry_safe_reverse(node, tmp_node, inactive, list) { - if (bpf_lru_node_is_ref(node)) { - __bpf_lru_node_move(l, node, BPF_LRU_LIST_T_ACTIVE); - } else if (lru->del_from_htab(lru->del_arg, node)) { - __bpf_lru_node_move_to_free(l, node, free_list, - tgt_free_type); - if (++nshrinked == tgt_nshrink) - break; - } - - if (++i == lru->nr_scans) - break; - } - - return nshrinked; -} - -/* 1. Rotate the active list (if needed) - * 2. Always rotate the inactive list - */ -static void __bpf_lru_list_rotate(struct bpf_lru *lru, struct bpf_lru_list *l) -{ - if (bpf_lru_list_inactive_low(l)) - __bpf_lru_list_rotate_active(lru, l); - - __bpf_lru_list_rotate_inactive(lru, l); -} - -/* Calls __bpf_lru_list_shrink_inactive() to shrink some - * ref-bit-cleared nodes and move them to the designated - * free list. - * - * If it cannot get a free node after calling - * __bpf_lru_list_shrink_inactive(). It will just remove - * one node from either inactive or active list without - * honoring the ref-bit. It prefers inactive list to active - * list in this situation. - */ -static unsigned int __bpf_lru_list_shrink(struct bpf_lru *lru, - struct bpf_lru_list *l, - unsigned int tgt_nshrink, - struct list_head *free_list, - enum bpf_lru_list_type tgt_free_type) - -{ - struct bpf_lru_node *node, *tmp_node; - struct list_head *force_shrink_list; - unsigned int nshrinked; - - nshrinked = __bpf_lru_list_shrink_inactive(lru, l, tgt_nshrink, - free_list, tgt_free_type); - if (nshrinked) - return nshrinked; - - /* Do a force shrink by ignoring the reference bit */ - if (!list_empty(&l->lists[BPF_LRU_LIST_T_INACTIVE])) - force_shrink_list = &l->lists[BPF_LRU_LIST_T_INACTIVE]; - else - force_shrink_list = &l->lists[BPF_LRU_LIST_T_ACTIVE]; - - list_for_each_entry_safe_reverse(node, tmp_node, force_shrink_list, - list) { - if (lru->del_from_htab(lru->del_arg, node)) { - __bpf_lru_node_move_to_free(l, node, free_list, - tgt_free_type); - return 1; - } - } - - return 0; -} - -/* Flush the nodes from the local pending list to the LRU list */ -static void __local_list_flush(struct bpf_lru_list *l, - struct bpf_lru_locallist *loc_l) -{ - struct bpf_lru_node *node, *tmp_node; - - list_for_each_entry_safe_reverse(node, tmp_node, - local_pending_list(loc_l), list) { - if (bpf_lru_node_is_ref(node)) - __bpf_lru_node_move_in(l, node, BPF_LRU_LIST_T_ACTIVE); - else - __bpf_lru_node_move_in(l, node, - BPF_LRU_LIST_T_INACTIVE); - } -} - -static void bpf_lru_list_push_free(struct bpf_lru_list *l, - struct bpf_lru_node *node) -{ - unsigned long flags; - - if (WARN_ON_ONCE(IS_LOCAL_LIST_TYPE(node->type))) - return; - - raw_spin_lock_irqsave(&l->lock, flags); - __bpf_lru_node_move(l, node, BPF_LRU_LIST_T_FREE); - raw_spin_unlock_irqrestore(&l->lock, flags); -} - -static void bpf_lru_list_pop_free_to_local(struct bpf_lru *lru, - struct bpf_lru_locallist *loc_l) -{ - struct bpf_lru_list *l = &lru->common_lru.lru_list; - struct bpf_lru_node *node, *tmp_node; - unsigned int nfree = 0; - - raw_spin_lock(&l->lock); - - __local_list_flush(l, loc_l); - - __bpf_lru_list_rotate(lru, l); - - list_for_each_entry_safe(node, tmp_node, &l->lists[BPF_LRU_LIST_T_FREE], - list) { - __bpf_lru_node_move_to_free(l, node, local_free_list(loc_l), - BPF_LRU_LOCAL_LIST_T_FREE); - if (++nfree == LOCAL_FREE_TARGET) - break; - } - - if (nfree < LOCAL_FREE_TARGET) - __bpf_lru_list_shrink(lru, l, LOCAL_FREE_TARGET - nfree, - local_free_list(loc_l), - BPF_LRU_LOCAL_LIST_T_FREE); - - raw_spin_unlock(&l->lock); -} - -static void __local_list_add_pending(struct bpf_lru *lru, - struct bpf_lru_locallist *loc_l, - int cpu, - struct bpf_lru_node *node, - u32 hash) -{ - *(u32 *)((void *)node + lru->hash_offset) = hash; - node->cpu = cpu; - node->type = BPF_LRU_LOCAL_LIST_T_PENDING; - node->ref = 0; - list_add(&node->list, local_pending_list(loc_l)); -} - -static struct bpf_lru_node * -__local_list_pop_free(struct bpf_lru_locallist *loc_l) -{ - struct bpf_lru_node *node; - - node = list_first_entry_or_null(local_free_list(loc_l), - struct bpf_lru_node, - list); - if (node) - list_del(&node->list); - - return node; -} - -static struct bpf_lru_node * -__local_list_pop_pending(struct bpf_lru *lru, struct bpf_lru_locallist *loc_l) -{ - struct bpf_lru_node *node; - bool force = false; - -ignore_ref: - /* Get from the tail (i.e. older element) of the pending list. */ - list_for_each_entry_reverse(node, local_pending_list(loc_l), - list) { - if ((!bpf_lru_node_is_ref(node) || force) && - lru->del_from_htab(lru->del_arg, node)) { - list_del(&node->list); - return node; - } - } - - if (!force) { - force = true; - goto ignore_ref; - } - - return NULL; -} - -static struct bpf_lru_node *bpf_percpu_lru_pop_free(struct bpf_lru *lru, - u32 hash) -{ - struct list_head *free_list; - struct bpf_lru_node *node = NULL; - struct bpf_lru_list *l; - unsigned long flags; - int cpu = raw_smp_processor_id(); - - l = per_cpu_ptr(lru->percpu_lru, cpu); - - raw_spin_lock_irqsave(&l->lock, flags); - - __bpf_lru_list_rotate(lru, l); - - free_list = &l->lists[BPF_LRU_LIST_T_FREE]; - if (list_empty(free_list)) - __bpf_lru_list_shrink(lru, l, PERCPU_FREE_TARGET, free_list, - BPF_LRU_LIST_T_FREE); - - if (!list_empty(free_list)) { - node = list_first_entry(free_list, struct bpf_lru_node, list); - *(u32 *)((void *)node + lru->hash_offset) = hash; - node->ref = 0; - __bpf_lru_node_move(l, node, BPF_LRU_LIST_T_INACTIVE); - } - - raw_spin_unlock_irqrestore(&l->lock, flags); - - return node; -} - -static struct bpf_lru_node *bpf_common_lru_pop_free(struct bpf_lru *lru, - u32 hash) -{ - struct bpf_lru_locallist *loc_l, *steal_loc_l; - struct bpf_common_lru *clru = &lru->common_lru; - struct bpf_lru_node *node; - int steal, first_steal; - unsigned long flags; - int cpu = raw_smp_processor_id(); - - loc_l = per_cpu_ptr(clru->local_list, cpu); - - raw_spin_lock_irqsave(&loc_l->lock, flags); - - node = __local_list_pop_free(loc_l); - if (!node) { - bpf_lru_list_pop_free_to_local(lru, loc_l); - node = __local_list_pop_free(loc_l); - } - - if (node) - __local_list_add_pending(lru, loc_l, cpu, node, hash); - - raw_spin_unlock_irqrestore(&loc_l->lock, flags); - - if (node) - return node; - - /* No free nodes found from the local free list and - * the global LRU list. - * - * Steal from the local free/pending list of the - * current CPU and remote CPU in RR. It starts - * with the loc_l->next_steal CPU. - */ - - first_steal = loc_l->next_steal; - steal = first_steal; - do { - steal_loc_l = per_cpu_ptr(clru->local_list, steal); - - raw_spin_lock_irqsave(&steal_loc_l->lock, flags); - - node = __local_list_pop_free(steal_loc_l); - if (!node) - node = __local_list_pop_pending(lru, steal_loc_l); - - raw_spin_unlock_irqrestore(&steal_loc_l->lock, flags); - - steal = get_next_cpu(steal); - } while (!node && steal != first_steal); - - loc_l->next_steal = steal; - - if (node) { - raw_spin_lock_irqsave(&loc_l->lock, flags); - __local_list_add_pending(lru, loc_l, cpu, node, hash); - raw_spin_unlock_irqrestore(&loc_l->lock, flags); - } - - return node; -} - -struct bpf_lru_node *bpf_lru_pop_free(struct bpf_lru *lru, u32 hash) -{ - if (lru->percpu) - return bpf_percpu_lru_pop_free(lru, hash); - else - return bpf_common_lru_pop_free(lru, hash); -} - -static void bpf_common_lru_push_free(struct bpf_lru *lru, - struct bpf_lru_node *node) -{ - unsigned long flags; - - if (WARN_ON_ONCE(node->type == BPF_LRU_LIST_T_FREE) || - WARN_ON_ONCE(node->type == BPF_LRU_LOCAL_LIST_T_FREE)) - return; - - if (node->type == BPF_LRU_LOCAL_LIST_T_PENDING) { - struct bpf_lru_locallist *loc_l; - - loc_l = per_cpu_ptr(lru->common_lru.local_list, node->cpu); - - raw_spin_lock_irqsave(&loc_l->lock, flags); - - if (unlikely(node->type != BPF_LRU_LOCAL_LIST_T_PENDING)) { - raw_spin_unlock_irqrestore(&loc_l->lock, flags); - goto check_lru_list; - } - - node->type = BPF_LRU_LOCAL_LIST_T_FREE; - node->ref = 0; - list_move(&node->list, local_free_list(loc_l)); - - raw_spin_unlock_irqrestore(&loc_l->lock, flags); - return; - } - -check_lru_list: - bpf_lru_list_push_free(&lru->common_lru.lru_list, node); -} - -static void bpf_percpu_lru_push_free(struct bpf_lru *lru, - struct bpf_lru_node *node) -{ - struct bpf_lru_list *l; - unsigned long flags; - - l = per_cpu_ptr(lru->percpu_lru, node->cpu); - - raw_spin_lock_irqsave(&l->lock, flags); - - __bpf_lru_node_move(l, node, BPF_LRU_LIST_T_FREE); - - raw_spin_unlock_irqrestore(&l->lock, flags); -} - -void bpf_lru_push_free(struct bpf_lru *lru, struct bpf_lru_node *node) -{ - if (lru->percpu) - bpf_percpu_lru_push_free(lru, node); - else - bpf_common_lru_push_free(lru, node); -} - -static void bpf_common_lru_populate(struct bpf_lru *lru, void *buf, - u32 node_offset, u32 elem_size, - u32 nr_elems) -{ - struct bpf_lru_list *l = &lru->common_lru.lru_list; - u32 i; - - for (i = 0; i < nr_elems; i++) { - struct bpf_lru_node *node; - - node = (struct bpf_lru_node *)(buf + node_offset); - node->type = BPF_LRU_LIST_T_FREE; - node->ref = 0; - list_add(&node->list, &l->lists[BPF_LRU_LIST_T_FREE]); - buf += elem_size; - } -} - -static void bpf_percpu_lru_populate(struct bpf_lru *lru, void *buf, - u32 node_offset, u32 elem_size, - u32 nr_elems) -{ - u32 i, pcpu_entries; - int cpu; - struct bpf_lru_list *l; - - pcpu_entries = nr_elems / num_possible_cpus(); - - i = 0; - - for_each_possible_cpu(cpu) { - struct bpf_lru_node *node; - - l = per_cpu_ptr(lru->percpu_lru, cpu); -again: - node = (struct bpf_lru_node *)(buf + node_offset); - node->cpu = cpu; - node->type = BPF_LRU_LIST_T_FREE; - node->ref = 0; - list_add(&node->list, &l->lists[BPF_LRU_LIST_T_FREE]); - i++; - buf += elem_size; - if (i == nr_elems) - break; - if (i % pcpu_entries) - goto again; - } -} - -void bpf_lru_populate(struct bpf_lru *lru, void *buf, u32 node_offset, - u32 elem_size, u32 nr_elems) -{ - if (lru->percpu) - bpf_percpu_lru_populate(lru, buf, node_offset, elem_size, - nr_elems); - else - bpf_common_lru_populate(lru, buf, node_offset, elem_size, - nr_elems); -} - -static void bpf_lru_locallist_init(struct bpf_lru_locallist *loc_l, int cpu) -{ - int i; - - for (i = 0; i < NR_BPF_LRU_LOCAL_LIST_T; i++) - INIT_LIST_HEAD(&loc_l->lists[i]); - - loc_l->next_steal = cpu; - - raw_spin_lock_init(&loc_l->lock); -} - -static void bpf_lru_list_init(struct bpf_lru_list *l) -{ - int i; - - for (i = 0; i < NR_BPF_LRU_LIST_T; i++) - INIT_LIST_HEAD(&l->lists[i]); - - for (i = 0; i < NR_BPF_LRU_LIST_COUNT; i++) - l->counts[i] = 0; - - l->next_inactive_rotation = &l->lists[BPF_LRU_LIST_T_INACTIVE]; - - raw_spin_lock_init(&l->lock); -} - -int bpf_lru_init(struct bpf_lru *lru, bool percpu, u32 hash_offset, - del_from_htab_func del_from_htab, void *del_arg) -{ - int cpu; - - if (percpu) { - lru->percpu_lru = alloc_percpu(struct bpf_lru_list); - if (!lru->percpu_lru) - return -ENOMEM; - - for_each_possible_cpu(cpu) { - struct bpf_lru_list *l; - - l = per_cpu_ptr(lru->percpu_lru, cpu); - bpf_lru_list_init(l); - } - lru->nr_scans = PERCPU_NR_SCANS; - } else { - struct bpf_common_lru *clru = &lru->common_lru; - - clru->local_list = alloc_percpu(struct bpf_lru_locallist); - if (!clru->local_list) - return -ENOMEM; - - for_each_possible_cpu(cpu) { - struct bpf_lru_locallist *loc_l; - - loc_l = per_cpu_ptr(clru->local_list, cpu); - bpf_lru_locallist_init(loc_l, cpu); - } - - bpf_lru_list_init(&clru->lru_list); - lru->nr_scans = LOCAL_NR_SCANS; - } - - lru->percpu = percpu; - lru->del_from_htab = del_from_htab; - lru->del_arg = del_arg; - lru->hash_offset = hash_offset; - - return 0; -} - -void bpf_lru_destroy(struct bpf_lru *lru) -{ - if (lru->percpu) - free_percpu(lru->percpu_lru); - else - free_percpu(lru->common_lru.local_list); -} diff --git a/lcc/glcc/lib/ebpf/bpf_lru_list.h b/lcc/glcc/lib/ebpf/bpf_lru_list.h deleted file mode 100644 index 7d4f89b..0000000 --- a/lcc/glcc/lib/ebpf/bpf_lru_list.h +++ /dev/null @@ -1,85 +0,0 @@ -/* Copyright (c) 2016 Facebook - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of version 2 of the GNU General Public - * License as published by the Free Software Foundation. - */ -#ifndef __BPF_LRU_LIST_H_ -#define __BPF_LRU_LIST_H_ - -#include -#include - -#define NR_BPF_LRU_LIST_T (3) -#define NR_BPF_LRU_LIST_COUNT (2) -#define NR_BPF_LRU_LOCAL_LIST_T (2) -#define BPF_LOCAL_LIST_T_OFFSET NR_BPF_LRU_LIST_T - -enum bpf_lru_list_type { - BPF_LRU_LIST_T_ACTIVE, - BPF_LRU_LIST_T_INACTIVE, - BPF_LRU_LIST_T_FREE, - BPF_LRU_LOCAL_LIST_T_FREE, - BPF_LRU_LOCAL_LIST_T_PENDING, -}; - -struct bpf_lru_node { - struct list_head list; - u16 cpu; - u8 type; - u8 ref; -}; - -struct bpf_lru_list { - struct list_head lists[NR_BPF_LRU_LIST_T]; - unsigned int counts[NR_BPF_LRU_LIST_COUNT]; - /* The next inacitve list rotation starts from here */ - struct list_head *next_inactive_rotation; - - raw_spinlock_t lock ____cacheline_aligned_in_smp; -}; - -struct bpf_lru_locallist { - struct list_head lists[NR_BPF_LRU_LOCAL_LIST_T]; - u16 next_steal; - raw_spinlock_t lock; -}; - -struct bpf_common_lru { - struct bpf_lru_list lru_list; - struct bpf_lru_locallist __percpu *local_list; -}; - -typedef bool (*del_from_htab_func)(void *arg, struct bpf_lru_node *node); - -struct bpf_lru { - union { - struct bpf_common_lru common_lru; - struct bpf_lru_list __percpu *percpu_lru; - }; - del_from_htab_func del_from_htab; - void *del_arg; - unsigned int hash_offset; - unsigned int nr_scans; - bool percpu; -}; - -static inline void bpf_lru_node_set_ref(struct bpf_lru_node *node) -{ - /* ref is an approximation on access frequency. It does not - * have to be very accurate. Hence, no protection is used. - */ - if (!node->ref) - node->ref = 1; -} - -int bpf_lru_init(struct bpf_lru *lru, bool percpu, u32 hash_offset, - del_from_htab_func del_from_htab, void *delete_arg); -void bpf_lru_populate(struct bpf_lru *lru, void *buf, u32 node_offset, - u32 elem_size, u32 nr_elems); -void bpf_lru_destroy(struct bpf_lru *lru); -struct bpf_lru_node *bpf_lru_pop_free(struct bpf_lru *lru, u32 hash); -void bpf_lru_push_free(struct bpf_lru *lru, struct bpf_lru_node *node); -void bpf_lru_promote(struct bpf_lru *lru, struct bpf_lru_node *node); - -#endif diff --git a/lcc/glcc/lib/ebpf/bpf_trace.c b/lcc/glcc/lib/ebpf/bpf_trace.c deleted file mode 100644 index 7845ece..0000000 --- a/lcc/glcc/lib/ebpf/bpf_trace.c +++ /dev/null @@ -1,939 +0,0 @@ -/* Copyright (c) 2011-2015 PLUMgrid, http://plumgrid.com - * Copyright (c) 2016 Facebook - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of version 2 of the GNU General Public - * License as published by the Free Software Foundation. - */ -#include "linux/config.h" -#include "linux/bpf.h" - -#include -#include -#include -#include "linux/bpf_perf_event.h" -#include "linux/filter.h" -#include -#include -#include -#include - -#include "allsyms.h" - -// u64 bpf_get_stackid(u64 r1, u64 r2, u64 r3, u64 r4, u64 r5); -// u64 bpf_get_stack(u64 r1, u64 r2, u64 r3, u64 r4, u64 r5); - -/** - * trace_call_bpf - invoke BPF program - * @call: tracepoint event - * @ctx: opaque context pointer - * - * kprobe handlers execute BPF programs via this helper. - * Can be used from static tracepoints in the future. - * - * Return: BPF programs always return an integer which is interpreted by - * kprobe handler as: - * 0 - return from kprobe (event is filtered out) - * 1 - store kprobe event into ring buffer - * Other values are reserved and currently alias to 1 - */ -// unsigned int trace_call_bpf(struct ftrace_event_call *call, void *ctx) -// { -// unsigned int ret; - -// if (in_nmi()) /* not supported yet */ -// return 1; - -// preempt_disable(); - -// if (unlikely(__this_cpu_inc_return(bpf_prog_active) != 1)) { -// /* -// * since some bpf program is already running on this cpu, -// * don't call into another bpf program (same or different) -// * and don't send kprobe event into ring-buffer, -// * so return zero here -// */ -// ret = 0; -// goto out; -// } - -// /* -// * Instead of moving rcu_read_lock/rcu_dereference/rcu_read_unlock -// * to all call sites, we did a bpf_prog_array_valid() there to check -// * whether call->prog_array is empty or not, which is -// * a heurisitc to speed up execution. -// * -// * If bpf_prog_array_valid() fetched prog_array was -// * non-NULL, we go into trace_call_bpf() and do the actual -// * proper rcu_dereference() under RCU lock. -// * If it turns out that prog_array is NULL then, we bail out. -// * For the opposite, if the bpf_prog_array_valid() fetched pointer -// * was NULL, you'll skip the prog_array with the risk of missing -// * out of events when it was updated in between this and the -// * rcu_dereference() which is accepted risk. -// */ -// ret = BPF_PROG_RUN_ARRAY_CHECK(call->rh_data->prog_array, ctx, BPF_PROG_RUN); - -// out: -// __this_cpu_dec(bpf_prog_active); -// preempt_enable(); - -// return ret; -// } - -/** - * strncpy_from_unsafe: - Copy a NUL terminated string from unsafe address. - * @dst: Destination address, in kernel space. This buffer must be at - * least @count bytes long. - * @src: Unsafe address. - * @count: Maximum number of bytes to copy, including the trailing NUL. - * - * Copies a NUL-terminated string from unsafe address to kernel buffer. - * - * On success, returns the length of the string INCLUDING the trailing NUL. - * - * If access fails, returns -EFAULT (some data may have been copied - * and the trailing NUL added). - * - * If @count is smaller than the length of the string, copies @count-1 bytes, - * sets the last byte of @dst buffer to NUL and returns @count. - */ -long strncpy_from_unsafe(char *dst, const void *unsafe_addr, long count) -{ - mm_segment_t old_fs = get_fs(); - const void *src = unsafe_addr; - long ret; - - if (unlikely(count <= 0)) - return 0; - - set_fs(KERNEL_DS); - pagefault_disable(); - - do { - ret = __copy_from_user_inatomic(dst++, - (const void __user __force *)src++, 1); - } while (dst[-1] && ret == 0 && src - unsafe_addr < count); - - dst[-1] = '\0'; - pagefault_enable(); - set_fs(old_fs); - - return ret ? -EFAULT : src - unsafe_addr; -} - -// BPF_CALL_2(bpf_override_return, struct pt_regs *, regs, unsigned long, rc) -// { -// return -EINVAL; -// } - -// static const struct bpf_func_proto bpf_override_return_proto = { -// .func = bpf_override_return, -// .gpl_only = true, -// .ret_type = RET_INTEGER, -// .arg1_type = ARG_PTR_TO_CTX, -// .arg2_type = ARG_ANYTHING, -// }; - -BPF_CALL_3(bpf_probe_read, void *, dst, u32, size, const void *, unsafe_ptr) -{ - int ret; - - ret = probe_kernel_read(dst, unsafe_ptr, size); - if (unlikely(ret < 0)) - memset(dst, 0, size); - - return ret; -} - -static const struct bpf_func_proto bpf_probe_read_proto = { - .func = bpf_probe_read, - .gpl_only = true, - .ret_type = RET_INTEGER, - .arg1_type = ARG_PTR_TO_UNINIT_MEM, - .arg2_type = ARG_CONST_SIZE_OR_ZERO, - .arg3_type = ARG_ANYTHING, -}; - -// BPF_CALL_3(bpf_probe_write_user, void *, unsafe_ptr, const void *, src, -// u32, size) -// { -// /* -// * Ensure we're in user context which is safe for the helper to -// * run. This helper has no business in a kthread. -// * -// * access_ok() should prevent writing to non-user memory, but in -// * some situations (nommu, temporary switch, etc) access_ok() does -// * not provide enough validation, hence the check on KERNEL_DS. -// */ - -// if (unlikely(in_interrupt() || -// current->flags & (PF_KTHREAD | PF_EXITING))) -// return -EPERM; -// if (unlikely(segment_eq(get_fs(), KERNEL_DS))) -// return -EPERM; -// if (!access_ok(VERIFY_WRITE, unsafe_ptr, size)) -// return -EPERM; - -// return probe_kernel_write(unsafe_ptr, src, size); -// } - -// static const struct bpf_func_proto bpf_probe_write_user_proto = { -// .func = bpf_probe_write_user, -// .gpl_only = true, -// .ret_type = RET_INTEGER, -// .arg1_type = ARG_ANYTHING, -// .arg2_type = ARG_PTR_TO_MEM, -// .arg3_type = ARG_CONST_SIZE, -// }; - -// static const struct bpf_func_proto *bpf_get_probe_write_proto(void) -// { -// pr_warn_ratelimited("%s[%d] is installing a program with bpf_probe_write_user helper that may corrupt user memory!", -// current->comm, task_pid_nr(current)); - -// return &bpf_probe_write_user_proto; -// } - -/* - * limited trace_printk() - * only %d %u %x %ld %lu %lx %lld %llu %llx %p %s conversion specifiers allowed - */ -BPF_CALL_5(bpf_trace_printk, char *, fmt, u32, fmt_size, u64, arg1, - u64, arg2, u64, arg3) -{ - bool str_seen = false; - int mod[3] = {}; - int fmt_cnt = 0; - u64 unsafe_addr; - char buf[64]; - int i; - - /* - * bpf_check()->check_func_arg()->check_stack_boundary() - * guarantees that fmt points to bpf program stack, - * fmt_size bytes of it were initialized and fmt_size > 0 - */ - if (fmt[--fmt_size] != 0) - return -EINVAL; - - /* check format string for allowed specifiers */ - for (i = 0; i < fmt_size; i++) { - if ((!isprint(fmt[i]) && !isspace(fmt[i])) || !isascii(fmt[i])) - return -EINVAL; - - if (fmt[i] != '%') - continue; - - if (fmt_cnt >= 3) - return -EINVAL; - - /* fmt[i] != 0 && fmt[last] == 0, so we can access fmt[i + 1] */ - i++; - if (fmt[i] == 'l') { - mod[fmt_cnt]++; - i++; - } else if (fmt[i] == 'p' || fmt[i] == 's') { - mod[fmt_cnt]++; - i++; - if (!isspace(fmt[i]) && !ispunct(fmt[i]) && fmt[i] != 0) - return -EINVAL; - fmt_cnt++; - if (fmt[i - 1] == 's') { - if (str_seen) - /* allow only one '%s' per fmt string */ - return -EINVAL; - str_seen = true; - - switch (fmt_cnt) { - case 1: - unsafe_addr = arg1; - arg1 = (long) buf; - break; - case 2: - unsafe_addr = arg2; - arg2 = (long) buf; - break; - case 3: - unsafe_addr = arg3; - arg3 = (long) buf; - break; - } - buf[0] = 0; - strncpy_from_unsafe(buf, - (void *) (long) unsafe_addr, - sizeof(buf)); - } - continue; - } - - if (fmt[i] == 'l') { - mod[fmt_cnt]++; - i++; - } - - if (fmt[i] != 'd' && fmt[i] != 'u' && fmt[i] != 'x') - return -EINVAL; - fmt_cnt++; - } - - return __trace_printk(1/* fake ip will not be printed */, fmt, - mod[0] == 2 ? arg1 : mod[0] == 1 ? (long) arg1 : (u32) arg1, - mod[1] == 2 ? arg2 : mod[1] == 1 ? (long) arg2 : (u32) arg2, - mod[2] == 2 ? arg3 : mod[2] == 1 ? (long) arg3 : (u32) arg3); -} - -static const struct bpf_func_proto bpf_trace_printk_proto = { - .func = bpf_trace_printk, - .gpl_only = true, - .ret_type = RET_INTEGER, - .arg1_type = ARG_PTR_TO_MEM, - .arg2_type = ARG_CONST_SIZE, -}; - -const struct bpf_func_proto *bpf_get_trace_printk_proto(void) -{ - /* - * this program might be calling bpf_trace_printk, - * so allocate per-cpu printk buffers - */ - trace_printk_init_buffers_p(); - - return &bpf_trace_printk_proto; -} - -// static __always_inline int -// get_map_perf_counter(struct bpf_map *map, u64 flags, -// u64 *value, u64 *enabled, u64 *running) -// { -// struct bpf_array *array = container_of(map, struct bpf_array, map); -// unsigned int cpu = smp_processor_id(); -// u64 index = flags & BPF_F_INDEX_MASK; -// struct bpf_event_entry *ee; - -// if (unlikely(flags & ~(BPF_F_INDEX_MASK))) -// return -EINVAL; -// if (index == BPF_F_CURRENT_CPU) -// index = cpu; -// if (unlikely(index >= array->map.max_entries)) -// return -E2BIG; - -// ee = READ_ONCE(array->ptrs[index]); -// if (!ee) -// return -ENOENT; - -// return 0; -// // return perf_event_read_local_p(ee->event, value, enabled, running); -// } - -// BPF_CALL_2(bpf_perf_event_read, struct bpf_map *, map, u64, flags) -// { -// u64 value = 0; -// int err; - -// err = get_map_perf_counter(map, flags, &value, NULL, NULL); -// /* -// * this api is ugly since we miss [-22..-2] range of valid -// * counter values, but that's uapi -// */ -// if (err) -// return err; -// return value; -// } - -// static const struct bpf_func_proto bpf_perf_event_read_proto = { -// .func = bpf_perf_event_read, -// .gpl_only = true, -// .ret_type = RET_INTEGER, -// .arg1_type = ARG_CONST_MAP_PTR, -// .arg2_type = ARG_ANYTHING, -// }; - -// BPF_CALL_4(bpf_perf_event_read_value, struct bpf_map *, map, u64, flags, -// struct bpf_perf_event_value *, buf, u32, size) -// { -// int err = -EINVAL; - -// if (unlikely(size != sizeof(struct bpf_perf_event_value))) -// goto clear; -// err = get_map_perf_counter(map, flags, &buf->counter, &buf->enabled, -// &buf->running); -// if (unlikely(err)) -// goto clear; -// return 0; -// clear: -// memset(buf, 0, size); -// return err; -// } - -// static const struct bpf_func_proto bpf_perf_event_read_value_proto = { -// .func = bpf_perf_event_read_value, -// .gpl_only = true, -// .ret_type = RET_INTEGER, -// .arg1_type = ARG_CONST_MAP_PTR, -// .arg2_type = ARG_ANYTHING, -// .arg3_type = ARG_PTR_TO_UNINIT_MEM, -// .arg4_type = ARG_CONST_SIZE, -// }; - -static __always_inline u64 -__bpf_perf_event_output(struct pt_regs *regs, struct bpf_map *map, - u64 flags, struct perf_raw_record *raw) -{ - struct bpf_array *array = container_of(map, struct bpf_array, map); - u64 index = flags & BPF_F_INDEX_MASK; - struct perf_sample_data sample_data; - struct bpf_event_entry *ee; - struct perf_event *event; - - if (index == BPF_F_CURRENT_CPU) - index = raw_smp_processor_id(); - if (unlikely(index >= array->map.max_entries)) - return -E2BIG; - - ee = READ_ONCE(array->ptrs[index]); - if (!ee) - return -ENOENT; - -#define PERF_COUNT_SW_BPF_OUTPUT PERF_COUNT_SW_DUMMY - - event = ee->event; - if (unlikely(event->attr.type != PERF_TYPE_SOFTWARE || - event->attr.config != PERF_COUNT_SW_BPF_OUTPUT)) - return -EINVAL; - - if (unlikely(event->oncpu != smp_processor_id())) - return -EOPNOTSUPP; - - perf_sample_data_init(&sample_data, 0, 0); - sample_data.raw = raw; - perf_event_output_p(event, &sample_data, regs); - return 0; -} - -BPF_CALL_5(bpf_perf_event_output, struct pt_regs *, regs, struct bpf_map *, map, - u64, flags, void *, data, u64, size) -{ - // struct perf_raw_record raw = { - // .frag = { - // .size = size, - // .data = data, - // }, - // }; - struct perf_raw_record raw = { - .data = data, - .size = size, - }; - - if (unlikely(flags & ~(BPF_F_INDEX_MASK))) - return -EINVAL; - - return __bpf_perf_event_output(regs, map, flags, &raw); -} - -static const struct bpf_func_proto bpf_perf_event_output_proto = { - .func = bpf_perf_event_output, - .gpl_only = true, - .ret_type = RET_INTEGER, - .arg1_type = ARG_PTR_TO_CTX, - .arg2_type = ARG_CONST_MAP_PTR, - .arg3_type = ARG_ANYTHING, - .arg4_type = ARG_PTR_TO_MEM, - .arg5_type = ARG_CONST_SIZE_OR_ZERO, -}; - -// static DEFINE_PER_CPU(struct pt_regs, bpf_pt_regs); - -// u64 bpf_event_output(struct bpf_map *map, u64 flags, void *meta, u64 meta_size, -// void *ctx, u64 ctx_size, bpf_ctx_copy_t ctx_copy) -// { - // struct pt_regs *regs = this_cpu_ptr(&bpf_pt_regs); - // struct perf_raw_frag frag = { - // .copy = ctx_copy, - // .size = ctx_size, - // .data = ctx, - // }; - // struct perf_raw_record raw = { - // .frag = { - // { - // .next = ctx_size ? &frag : NULL, - // }, - // .size = meta_size, - // .data = meta, - // }, - // }; - - // perf_fetch_caller_regs(regs); - - // return __bpf_perf_event_output(regs, map, flags, &raw); -// return 0; -// } - -BPF_CALL_0(bpf_get_current_task) -{ - return (long) current; -} - -static const struct bpf_func_proto bpf_get_current_task_proto = { - .func = bpf_get_current_task, - .gpl_only = true, - .ret_type = RET_INTEGER, -}; - -// BPF_CALL_3(bpf_probe_read_str, void *, dst, u32, size, -// const void *, unsafe_ptr) -// { -// int ret; - -// /* -// * The strncpy_from_unsafe() call will likely not fill the entire -// * buffer, but that's okay in this circumstance as we're probing -// * arbitrary memory anyway similar to bpf_probe_read() and might -// * as well probe the stack. Thus, memory is explicitly cleared -// * only in error case, so that improper users ignoring return -// * code altogether don't copy garbage; otherwise length of string -// * is returned that can be used for bpf_perf_event_output() et al. -// */ -// ret = strncpy_from_unsafe(dst, unsafe_ptr, size); -// if (unlikely(ret < 0)) -// memset(dst, 0, size); - -// return ret; -// } - -// static const struct bpf_func_proto bpf_probe_read_str_proto = { -// .func = bpf_probe_read_str, -// .gpl_only = true, -// .ret_type = RET_INTEGER, -// .arg1_type = ARG_PTR_TO_UNINIT_MEM, -// .arg2_type = ARG_CONST_SIZE_OR_ZERO, -// .arg3_type = ARG_ANYTHING, -// }; - -static const struct bpf_func_proto * -tracing_func_proto(enum bpf_func_id func_id, const struct bpf_prog *prog) -{ - switch (func_id) { - case BPF_FUNC_map_lookup_elem: - return &bpf_map_lookup_elem_proto; - case BPF_FUNC_map_update_elem: - return &bpf_map_update_elem_proto; - case BPF_FUNC_map_delete_elem: - return &bpf_map_delete_elem_proto; - case BPF_FUNC_probe_read: - return &bpf_probe_read_proto; - case BPF_FUNC_ktime_get_ns: - return &bpf_ktime_get_ns_proto; - // case BPF_FUNC_tail_call: - // return &bpf_tail_call_proto; - case BPF_FUNC_get_current_pid_tgid: - return &bpf_get_current_pid_tgid_proto; - case BPF_FUNC_get_current_task: - return &bpf_get_current_task_proto; - // case BPF_FUNC_get_current_uid_gid: - // return &bpf_get_current_uid_gid_proto; - case BPF_FUNC_get_current_comm: - return &bpf_get_current_comm_proto; - case BPF_FUNC_trace_printk: - return bpf_get_trace_printk_proto(); - case BPF_FUNC_get_smp_processor_id: - return &bpf_get_smp_processor_id_proto; - // case BPF_FUNC_get_numa_node_id: - // return &bpf_get_numa_node_id_proto; - // case BPF_FUNC_perf_event_read: - // return &bpf_perf_event_read_proto; - // case BPF_FUNC_probe_write_user: - // return bpf_get_probe_write_proto(); - // case BPF_FUNC_get_prandom_u32: - // return &bpf_get_prandom_u32_proto; - // case BPF_FUNC_probe_read_str: - // return &bpf_probe_read_str_proto; - default: - return NULL; - } -} - -static const struct bpf_func_proto * -kprobe_prog_func_proto(enum bpf_func_id func_id, const struct bpf_prog *prog) -{ - switch (func_id) { - case BPF_FUNC_perf_event_output: - return &bpf_perf_event_output_proto; - case BPF_FUNC_get_stackid: - return &bpf_get_stackid_proto; - // case BPF_FUNC_get_stack: - // return &bpf_get_stack_proto; - // case BPF_FUNC_perf_event_read_value: - // return &bpf_perf_event_read_value_proto; - // case BPF_FUNC_override_return: - // pr_warn_ratelimited("%s[%d] is installing a program with bpf_override_return helper that may cause unexpected behavior!", - // current->comm, task_pid_nr(current)); - // return &bpf_override_return_proto; - default: - return tracing_func_proto(func_id, prog); - } -} - -// /* bpf+kprobe programs can access fields of 'struct pt_regs' */ -static bool kprobe_prog_is_valid_access(int off, int size, enum bpf_access_type type, - const struct bpf_prog *prog, - struct bpf_insn_access_aux *info) -{ - if (off < 0 || off >= sizeof(struct pt_regs)) - return false; - if (type != BPF_READ) - return false; - if (off % size != 0) - return false; - /* - * Assertion for 32 bit to make sure last 8 byte access - * (BPF_DW) to the last 4 byte member is disallowed. - */ - if (off + size > sizeof(struct pt_regs)) - return false; - - return true; -} - -const struct bpf_verifier_ops kprobe_verifier_ops = { - .get_func_proto = kprobe_prog_func_proto, - .is_valid_access = kprobe_prog_is_valid_access, -}; - -const struct bpf_prog_ops kprobe_prog_ops = { -}; - -static DEFINE_PER_CPU(struct pt_regs, bpf_raw_tp_regs); -BPF_CALL_5(bpf_perf_event_output_tp, void *, tp_buff, struct bpf_map *, map, - u64, flags, void *, data, u64, size) -{ - // struct pt_regs *regs = *(struct pt_regs **)tp_buff; - struct pt_regs *regs = this_cpu_ptr(&bpf_raw_tp_regs); - perf_fetch_caller_regs(regs); - - /* - * r1 points to perf tracepoint buffer where first 8 bytes are hidden - * from bpf program and contain a pointer to 'struct pt_regs'. Fetch it - * from there and call the same bpf_perf_event_output() helper inline. - */ - return ____bpf_perf_event_output(regs, map, flags, data, size); -} - -static const struct bpf_func_proto bpf_perf_event_output_proto_tp = { - .func = bpf_perf_event_output_tp, - .gpl_only = true, - .ret_type = RET_INTEGER, - .arg1_type = ARG_PTR_TO_CTX, - .arg2_type = ARG_CONST_MAP_PTR, - .arg3_type = ARG_ANYTHING, - .arg4_type = ARG_PTR_TO_MEM, - .arg5_type = ARG_CONST_SIZE_OR_ZERO, -}; - -// BPF_CALL_3(bpf_get_stackid_tp, void *, tp_buff, struct bpf_map *, map, -// u64, flags) -// { -// struct pt_regs *regs = *(struct pt_regs **)tp_buff; - -// /* -// * Same comment as in bpf_perf_event_output_tp(), only that this time -// * the other helper's function body cannot be inlined due to being -// * external, thus we need to call raw helper function. -// */ -// return bpf_get_stackid((unsigned long) regs, (unsigned long) map, -// flags, 0, 0); -// } - -// static const struct bpf_func_proto bpf_get_stackid_proto_tp = { -// .func = bpf_get_stackid_tp, -// .gpl_only = true, -// .ret_type = RET_INTEGER, -// .arg1_type = ARG_PTR_TO_CTX, -// .arg2_type = ARG_CONST_MAP_PTR, -// .arg3_type = ARG_ANYTHING, -// }; - -// BPF_CALL_4(bpf_get_stack_tp, void *, tp_buff, void *, buf, u32, size, -// u64, flags) -// { -// struct pt_regs *regs = *(struct pt_regs **)tp_buff; - -// return bpf_get_stack((unsigned long) regs, (unsigned long) buf, -// (unsigned long) size, flags, 0); -// } - -// static const struct bpf_func_proto bpf_get_stack_proto_tp = { -// .func = bpf_get_stack_tp, -// .gpl_only = true, -// .ret_type = RET_INTEGER, -// .arg1_type = ARG_PTR_TO_CTX, -// .arg2_type = ARG_PTR_TO_UNINIT_MEM, -// .arg3_type = ARG_CONST_SIZE_OR_ZERO, -// .arg4_type = ARG_ANYTHING, -// }; - -static const struct bpf_func_proto * -tp_prog_func_proto(enum bpf_func_id func_id, const struct bpf_prog *prog) -{ - switch (func_id) { - case BPF_FUNC_perf_event_output: - return &bpf_perf_event_output_proto_tp; - case BPF_FUNC_get_stackid: - return &bpf_get_stackid_proto_tp; - // case BPF_FUNC_get_stack: - // return &bpf_get_stack_proto_tp; - default: - return tracing_func_proto(func_id, prog); - } -} - -static bool tp_prog_is_valid_access(int off, int size, enum bpf_access_type type, - const struct bpf_prog *prog, - struct bpf_insn_access_aux *info) -{ -#define PERF_MAX_TRACE_SIZE 2048 -// fix for raw tp - if (off < 0|| off >= PERF_MAX_TRACE_SIZE) - return false; - if (type != BPF_READ) - return false; - if (off % size != 0) - return false; - - BUILD_BUG_ON(PERF_MAX_TRACE_SIZE % sizeof(__u64)); - return true; -} - -const struct bpf_verifier_ops tracepoint_verifier_ops = { - .get_func_proto = tp_prog_func_proto, - .is_valid_access = tp_prog_is_valid_access, -}; - -const struct bpf_prog_ops tracepoint_prog_ops = { -}; - -// BPF_CALL_3(bpf_perf_prog_read_value, struct bpf_perf_event_data_kern *, ctx, -// struct bpf_perf_event_value *, buf, u32, size) -// { -// int err = -EINVAL; - -// if (unlikely(size != sizeof(struct bpf_perf_event_value))) -// goto clear; -// err = perf_event_read_local_p(ctx->event, &buf->counter, &buf->enabled, -// &buf->running); -// if (unlikely(err)) -// goto clear; -// return 0; -// clear: -// memset(buf, 0, size); -// return err; -// } - -// static const struct bpf_func_proto bpf_perf_prog_read_value_proto = { -// .func = bpf_perf_prog_read_value, -// .gpl_only = true, -// .ret_type = RET_INTEGER, -// .arg1_type = ARG_PTR_TO_CTX, -// .arg2_type = ARG_PTR_TO_UNINIT_MEM, -// .arg3_type = ARG_CONST_SIZE, -// }; - -// static const struct bpf_func_proto * -// pe_prog_func_proto(enum bpf_func_id func_id, const struct bpf_prog *prog) -// { -// switch (func_id) { -// case BPF_FUNC_perf_event_output: -// return &bpf_perf_event_output_proto_tp; -// case BPF_FUNC_get_stackid: -// return &bpf_get_stackid_proto_tp; -// case BPF_FUNC_get_stack: -// return &bpf_get_stack_proto_tp; -// case BPF_FUNC_perf_prog_read_value: -// return &bpf_perf_prog_read_value_proto; -// default: -// return tracing_func_proto(func_id, prog); -// } -// } - -// static bool pe_prog_is_valid_access(int off, int size, enum bpf_access_type type, -// const struct bpf_prog *prog, -// struct bpf_insn_access_aux *info) -// { -// const int size_sp = FIELD_SIZEOF(struct bpf_perf_event_data, -// sample_period); - -// if (off < 0 || off >= sizeof(struct bpf_perf_event_data)) -// return false; -// if (type != BPF_READ) -// return false; -// if (off % size != 0) { -// if (sizeof(unsigned long) != 4) -// return false; -// if (size != 8) -// return false; -// if (off % size != 4) -// return false; -// } - -// switch (off) { -// case bpf_ctx_range(struct bpf_perf_event_data, sample_period): -// bpf_ctx_record_field_size(info, size_sp); -// if (!bpf_ctx_narrow_access_ok(off, size, size_sp)) -// return false; -// break; -// default: -// if (size != sizeof(long)) -// return false; -// } - -// return true; -// } - -// static u32 pe_prog_convert_ctx_access(enum bpf_access_type type, -// const struct bpf_insn *si, -// struct bpf_insn *insn_buf, -// struct bpf_prog *prog, u32 *target_size) -// { -// struct bpf_insn *insn = insn_buf; - -// switch (si->off) { -// case offsetof(struct bpf_perf_event_data, sample_period): -// *insn++ = BPF_LDX_MEM(BPF_FIELD_SIZEOF(struct bpf_perf_event_data_kern, -// data), si->dst_reg, si->src_reg, -// offsetof(struct bpf_perf_event_data_kern, data)); -// *insn++ = BPF_LDX_MEM(BPF_DW, si->dst_reg, si->dst_reg, -// bpf_target_off(struct perf_sample_data, period, 8, -// target_size)); -// break; -// default: -// *insn++ = BPF_LDX_MEM(BPF_FIELD_SIZEOF(struct bpf_perf_event_data_kern, -// regs), si->dst_reg, si->src_reg, -// offsetof(struct bpf_perf_event_data_kern, regs)); -// *insn++ = BPF_LDX_MEM(BPF_SIZEOF(long), si->dst_reg, si->dst_reg, -// si->off); -// break; -// } - -// return insn - insn_buf; -// } - -// const struct bpf_verifier_ops perf_event_verifier_ops = { -// .get_func_proto = pe_prog_func_proto, -// .is_valid_access = pe_prog_is_valid_access, -// .convert_ctx_access = pe_prog_convert_ctx_access, -// }; - -// const struct bpf_prog_ops perf_event_prog_ops = { -// }; - -// static DEFINE_MUTEX(bpf_event_mutex); - -// #define BPF_TRACE_MAX_PROGS 64 - -// int perf_event_attach_bpf_prog(struct perf_event *event, -// struct bpf_prog *prog) -// { -// struct bpf_prog_array __rcu *old_array; -// struct bpf_prog_array *new_array; -// int ret = -EEXIST; - -// /* Kprobe override only works for ftrace based kprobes. */ -// if (prog->kprobe_override && !trace_kprobe_ftrace(event->tp_event)) -// return -EINVAL; - -// mutex_lock(&bpf_event_mutex); - -// if (event->prog) -// goto unlock; - -// old_array = event->tp_event->rh_data->prog_array; -// if (old_array && -// bpf_prog_array_length(old_array) >= BPF_TRACE_MAX_PROGS) { -// ret = -E2BIG; -// goto unlock; -// } - -// ret = bpf_prog_array_copy(old_array, NULL, prog, &new_array); -// if (ret < 0) -// goto unlock; - -// /* set the new array to event->tp_event and set event->prog */ -// event->prog = prog; -// rcu_assign_pointer(event->tp_event->rh_data->prog_array, new_array); -// bpf_prog_array_free(old_array); - -// unlock: -// mutex_unlock(&bpf_event_mutex); -// return ret; -// } - -// void perf_event_detach_bpf_prog(struct perf_event *event) -// { -// struct bpf_prog_array __rcu *old_array; -// struct bpf_prog_array *new_array; -// int ret; - -// mutex_lock(&bpf_event_mutex); - -// if (!event->prog) -// goto unlock; - -// old_array = event->tp_event->rh_data->prog_array; -// ret = bpf_prog_array_copy(old_array, event->prog, NULL, &new_array); -// if (ret == -ENOENT) -// goto unlock; -// if (ret < 0) { -// bpf_prog_array_delete_safe(old_array, event->prog); -// } else { -// rcu_assign_pointer(event->tp_event->rh_data->prog_array, new_array); -// bpf_prog_array_free(old_array); -// } - -// bpf_prog_put(event->prog); -// event->prog = NULL; - -// unlock: -// mutex_unlock(&bpf_event_mutex); -// } - -// int perf_event_query_prog_array(struct perf_event *event, void __user *info) -// { -// struct perf_event_query_bpf __user *uquery = info; -// struct perf_event_query_bpf query = {}; -// u32 *ids, prog_cnt, ids_len; -// int ret; - -// if (!capable(CAP_SYS_ADMIN)) -// return -EPERM; -// if (event->attr.type != PERF_TYPE_TRACEPOINT) -// return -EINVAL; -// if (copy_from_user(&query, uquery, sizeof(query))) -// return -EFAULT; - -// ids_len = query.ids_len; -// if (ids_len > BPF_TRACE_MAX_PROGS) -// return -E2BIG; -// ids = kcalloc(ids_len, sizeof(u32), GFP_USER | __GFP_NOWARN); -// if (!ids) -// return -ENOMEM; -// /* -// * The above kcalloc returns ZERO_SIZE_PTR when ids_len = 0, which -// * is required when user only wants to check for uquery->prog_cnt. -// * There is no need to check for it since the case is handled -// * gracefully in bpf_prog_array_copy_info. -// */ - -// mutex_lock(&bpf_event_mutex); -// ret = bpf_prog_array_copy_info(event->tp_event->rh_data->prog_array, -// ids, -// ids_len, -// &prog_cnt); -// mutex_unlock(&bpf_event_mutex); - -// if (copy_to_user(&uquery->prog_cnt, &prog_cnt, sizeof(prog_cnt)) || -// copy_to_user(uquery->ids, ids, ids_len * sizeof(u32))) -// ret = -EFAULT; - -// kfree(ids); -// return ret; -// } diff --git a/lcc/glcc/lib/ebpf/bpf_verifier.h b/lcc/glcc/lib/ebpf/bpf_verifier.h deleted file mode 100644 index a0a7042..0000000 --- a/lcc/glcc/lib/ebpf/bpf_verifier.h +++ /dev/null @@ -1,239 +0,0 @@ -/* Copyright (c) 2011-2014 PLUMgrid, http://plumgrid.com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of version 2 of the GNU General Public - * License as published by the Free Software Foundation. - */ -#ifndef _LINUX_BPF_VERIFIER_H -#define _LINUX_BPF_VERIFIER_H 1 - -#include "linux/bpf.h" /* for enum bpf_reg_type */ -#include "linux/filter.h" /* for MAX_BPF_STACK */ -#include "tnum.h" - -/* Maximum variable offset umax_value permitted when resolving memory accesses. - * In practice this is far bigger than any realistic pointer offset; this limit - * ensures that umax_value + (int)off + (int)size cannot overflow a u64. - */ -#define BPF_MAX_VAR_OFF (1 << 29) -/* Maximum variable size permitted for ARG_CONST_SIZE[_OR_ZERO]. This ensures - * that converting umax_value to int cannot overflow. - */ -#define BPF_MAX_VAR_SIZ (1 << 29) - -/* Liveness marks, used for registers and spilled-regs (in stack slots). - * Read marks propagate upwards until they find a write mark; they record that - * "one of this state's descendants read this reg" (and therefore the reg is - * relevant for states_equal() checks). - * Write marks collect downwards and do not propagate; they record that "the - * straight-line code that reached this state (from its parent) wrote this reg" - * (and therefore that reads propagated from this state or its descendants - * should not propagate to its parent). - * A state with a write mark can receive read marks; it just won't propagate - * them to its parent, since the write mark is a property, not of the state, - * but of the link between it and its parent. See mark_reg_read() and - * mark_stack_slot_read() in kernel/bpf/verifier.c. - */ -enum bpf_reg_liveness { - REG_LIVE_NONE = 0, /* reg hasn't been read or written this branch */ - REG_LIVE_READ, /* reg was read, so we're sensitive to initial value */ - REG_LIVE_WRITTEN, /* reg was written first, screening off later reads */ -}; - -struct bpf_reg_state { - enum bpf_reg_type type; - union { - /* valid when type == PTR_TO_PACKET */ - u16 range; - - /* valid when type == CONST_PTR_TO_MAP | PTR_TO_MAP_VALUE | - * PTR_TO_MAP_VALUE_OR_NULL - */ - struct bpf_map *map_ptr; - }; - /* Fixed part of pointer offset, pointer types only */ - s32 off; - /* For PTR_TO_PACKET, used to find other pointers with the same variable - * offset, so they can share range knowledge. - * For PTR_TO_MAP_VALUE_OR_NULL this is used to share which map value we - * came from, when one is tested for != NULL. - */ - u32 id; - /* Ordering of fields matters. See states_equal() */ - /* For scalar types (SCALAR_VALUE), this represents our knowledge of - * the actual value. - * For pointer types, this represents the variable part of the offset - * from the pointed-to object, and is shared with all bpf_reg_states - * with the same id as us. - */ - struct tnum var_off; - /* Used to determine if any memory access using this register will - * result in a bad access. - * These refer to the same value as var_off, not necessarily the actual - * contents of the register. - */ - s64 smin_value; /* minimum possible (s64)value */ - s64 smax_value; /* maximum possible (s64)value */ - u64 umin_value; /* minimum possible (u64)value */ - u64 umax_value; /* maximum possible (u64)value */ - /* Inside the callee two registers can be both PTR_TO_STACK like - * R1=fp-8 and R2=fp-8, but one of them points to this function stack - * while another to the caller's stack. To differentiate them 'frameno' - * is used which is an index in bpf_verifier_state->frame[] array - * pointing to bpf_func_state. - * This field must be second to last, for states_equal() reasons. - */ - u32 frameno; - /* This field must be last, for states_equal() reasons. */ - enum bpf_reg_liveness live; -}; - -enum bpf_stack_slot_type { - STACK_INVALID, /* nothing was stored in this stack slot */ - STACK_SPILL, /* register spilled into stack */ - STACK_MISC, /* BPF program wrote some data into this slot */ - STACK_ZERO, /* BPF program wrote constant zero */ -}; - -#define BPF_REG_SIZE 8 /* size of eBPF register in bytes */ - -struct bpf_stack_state { - struct bpf_reg_state spilled_ptr; - u8 slot_type[BPF_REG_SIZE]; -}; - -/* state of the program: - * type of all registers and stack info - */ -struct bpf_func_state { - struct bpf_reg_state regs[MAX_BPF_REG]; - struct bpf_verifier_state *parent; - /* index of call instruction that called into this func */ - int callsite; - /* stack frame number of this function state from pov of - * enclosing bpf_verifier_state. - * 0 = main function, 1 = first callee. - */ - u32 frameno; - /* subprog number == index within subprog_stack_depth - * zero == main subprog - */ - u32 subprogno; - - /* should be second to last. See copy_func_state() */ - int allocated_stack; - struct bpf_stack_state *stack; -}; - -#define MAX_CALL_FRAMES 8 -struct bpf_verifier_state { - /* call stack tracking */ - struct bpf_func_state *frame[MAX_CALL_FRAMES]; - struct bpf_verifier_state *parent; - u32 curframe; - bool speculative; -}; - -/* linked list of verifier states used to prune search */ -struct bpf_verifier_state_list { - struct bpf_verifier_state state; - struct bpf_verifier_state_list *next; -}; - -/* Possible states for alu_state member. */ -#define BPF_ALU_SANITIZE_SRC 1U -#define BPF_ALU_SANITIZE_DST 2U -#define BPF_ALU_NEG_VALUE (1U << 2) -#define BPF_ALU_SANITIZE (BPF_ALU_SANITIZE_SRC | \ - BPF_ALU_SANITIZE_DST) - -struct bpf_insn_aux_data { - union { - enum bpf_reg_type ptr_type; /* pointer type for load/store insns */ - unsigned long map_state; /* pointer/poison value for maps */ - s32 call_imm; /* saved imm field of call insn */ - u32 alu_limit; /* limit for add/sub register with pointer */ - }; - int ctx_field_size; /* the ctx field size for load insn, maybe 0 */ - int sanitize_stack_off; /* stack slot to be cleared */ - bool seen; /* this insn was processed by the verifier */ - u8 alu_state; /* used in combination with alu_limit */ -}; - -#define MAX_USED_MAPS 64 /* max number of maps accessed by one eBPF program */ - -#define BPF_VERIFIER_TMP_LOG_SIZE 1024 - -struct bpf_verifier_log { - u32 level; - char kbuf[BPF_VERIFIER_TMP_LOG_SIZE]; - char __user *ubuf; - u32 len_used; - u32 len_total; -}; - -static inline bool bpf_verifier_log_full(const struct bpf_verifier_log *log) -{ - return log->len_used >= log->len_total - 1; -} - -struct bpf_verifier_env; -struct bpf_ext_analyzer_ops { - int (*insn_hook)(struct bpf_verifier_env *env, - int insn_idx, int prev_insn_idx); -}; - -static inline bool bpf_verifier_log_needed(const struct bpf_verifier_log *log) -{ - return log->level && log->ubuf && !bpf_verifier_log_full(log); -} - -#define BPF_MAX_SUBPROGS 256 - -struct bpf_subprog_info { - u32 start; /* insn idx of function entry point */ - u16 stack_depth; /* max. stack depth used by this function */ -}; - -/* single container for all structs - * one verifier_env per bpf_check() call - */ -struct bpf_verifier_env { - u32 insn_idx; - u32 prev_insn_idx; - struct bpf_prog *prog; /* eBPF program being verified */ - const struct bpf_verifier_ops *ops; - struct bpf_verifier_stack_elem *head; /* stack of verifier states to be processed */ - int stack_size; /* number of states to be processed */ - bool strict_alignment; /* perform strict pointer alignment checks */ - struct bpf_verifier_state *cur_state; /* current verifier state */ - struct bpf_verifier_state_list **explored_states; /* search pruning optimization */ - const struct bpf_ext_analyzer_ops *analyzer_ops; /* external analyzer ops */ - void *analyzer_priv; /* pointer to external analyzer's private data */ - struct bpf_map *used_maps[MAX_USED_MAPS]; /* array of map's used by eBPF program */ - u32 used_map_cnt; /* number of used maps */ - u32 id_gen; /* used to generate unique reg IDs */ - bool allow_ptr_leaks; - bool seen_direct_write; - struct bpf_insn_aux_data *insn_aux_data; /* array of per-insn state */ - struct bpf_verifier_log log; - struct bpf_subprog_info subprog_info[BPF_MAX_SUBPROGS + 1]; - u32 subprog_cnt; -}; - -__printf(2, 0) void bpf_verifier_vlog(struct bpf_verifier_log *log, - const char *fmt, va_list args); -__printf(2, 3) void bpf_verifier_log_write(struct bpf_verifier_env *env, - const char *fmt, ...); - -static inline struct bpf_reg_state *cur_regs(struct bpf_verifier_env *env) -{ - struct bpf_verifier_state *cur = env->cur_state; - - return cur->frame[cur->curframe]->regs; -} - -int bpf_analyzer(struct bpf_prog *prog, const struct bpf_ext_analyzer_ops *ops, - void *priv); - -#endif /* _LINUX_BPF_VERIFIER_H */ diff --git a/lcc/glcc/lib/ebpf/core.c b/lcc/glcc/lib/ebpf/core.c deleted file mode 100644 index 14b89b0..0000000 --- a/lcc/glcc/lib/ebpf/core.c +++ /dev/null @@ -1,1938 +0,0 @@ -// /* -// * Linux Socket Filter - Kernel level socket filtering -// * -// * Based on the design of the Berkeley Packet Filter. The new -// * internal format has been designed by PLUMgrid: -// * -// * Copyright (c) 2011 - 2014 PLUMgrid, http://plumgrid.com -// * -// * Authors: -// * -// * Jay Schulist -// * Alexei Starovoitov -// * Daniel Borkmann -// * -// * This program is free software; you can redistribute it and/or -// * modify it under the terms of the GNU General Public License -// * as published by the Free Software Foundation; either version -// * 2 of the License, or (at your option) any later version. -// * -// * Andi Kleen - Fix a few bad bugs and races. -// * Kris Katterjohn - Added many additional checks in bpf_check_classic() -// */ - -#include "linux/config.h" -#include "linux/filter.h" -#include -#include -#include -#include -#include "linux/bpf.h" -#include "linux/frame.h" -// #include -#include -#include -#include - -#include - -#include "allsyms.h" - -/* Registers */ -#define BPF_R0 regs[BPF_REG_0] -#define BPF_R1 regs[BPF_REG_1] -#define BPF_R2 regs[BPF_REG_2] -#define BPF_R3 regs[BPF_REG_3] -#define BPF_R4 regs[BPF_REG_4] -#define BPF_R5 regs[BPF_REG_5] -#define BPF_R6 regs[BPF_REG_6] -#define BPF_R7 regs[BPF_REG_7] -#define BPF_R8 regs[BPF_REG_8] -#define BPF_R9 regs[BPF_REG_9] -#define BPF_R10 regs[BPF_REG_10] - -/* Named registers */ -#define DST regs[insn->dst_reg] -#define SRC regs[insn->src_reg] -#define FP regs[BPF_REG_FP] -#define ARG1 regs[BPF_REG_ARG1] -#define CTX regs[BPF_REG_CTX] -#define IMM insn->imm - -/* No hurry in this branch - * - * Exported for the bpf jit load helper. - */ -void *trace_bpf_internal_load_pointer_neg_helper(const struct sk_buff *skb, int k, unsigned int size) -{ - u8 *ptr = NULL; - - if (k >= SKF_NET_OFF) - ptr = skb_network_header(skb) + k - SKF_NET_OFF; - else if (k >= SKF_LL_OFF) - ptr = skb_mac_header(skb) + k - SKF_LL_OFF; - - if (ptr >= skb->head && ptr + size <= skb_tail_pointer(skb)) - return ptr; - - return NULL; -} - -void *bpf_internal_load_pointer_neg_helper(const struct sk_buff *skb, int k, unsigned int size) -{ - u8 *ptr = NULL; - - if (k >= SKF_NET_OFF) - ptr = skb_network_header(skb) + k - SKF_NET_OFF; - else if (k >= SKF_LL_OFF) - ptr = skb_mac_header(skb) + k - SKF_LL_OFF; - - if (ptr >= skb->head && ptr + size <= skb_tail_pointer(skb)) - return ptr; - - return NULL; -} - -struct bpf_prog *bpf_prog_alloc(unsigned int size, gfp_t gfp_extra_flags) -{ - gfp_t gfp_flags = GFP_KERNEL | __GFP_HIGHMEM | __GFP_ZERO | - gfp_extra_flags; - struct bpf_prog_aux *aux; - struct bpf_prog *fp; - - size = round_up(size, PAGE_SIZE); - fp = __vmalloc(size, gfp_flags, PAGE_KERNEL); - if (fp == NULL) - return NULL; - - kmemcheck_annotate_bitfield(fp, meta); - - aux = kzalloc(sizeof(*aux), GFP_KERNEL | gfp_extra_flags); - if (aux == NULL) { - vfree(fp); - return NULL; - } - - fp->pages = size / PAGE_SIZE; - fp->aux = aux; - fp->aux->prog = fp; - fp->jit_requested = ebpf_jit_enabled(); - - INIT_LIST_HEAD_RCU(&fp->aux->ksym_lnode); - - return fp; -} -// EXPORT_SYMBOL_GPL(bpf_prog_alloc); - -struct bpf_prog *bpf_prog_realloc(struct bpf_prog *fp_old, unsigned int size, - gfp_t gfp_extra_flags) -{ - gfp_t gfp_flags = GFP_KERNEL | __GFP_HIGHMEM | __GFP_ZERO | - gfp_extra_flags; - struct bpf_prog *fp; - u32 pages, delta; - int ret; - - BUG_ON(fp_old == NULL); - - size = round_up(size, PAGE_SIZE); - pages = size / PAGE_SIZE; - if (pages <= fp_old->pages) - return fp_old; - - delta = pages - fp_old->pages; - ret = __bpf_prog_charge(fp_old->aux->user, delta); - if (ret) - return NULL; - - fp = __vmalloc(size, gfp_flags, PAGE_KERNEL); - if (fp == NULL) { - __bpf_prog_uncharge(fp_old->aux->user, delta); - } else { - kmemcheck_annotate_bitfield(fp, meta); - - memcpy(fp, fp_old, fp_old->pages * PAGE_SIZE); - fp->pages = pages; - fp->aux->prog = fp; - - /* We keep fp->aux from fp_old around in the new - * reallocated structure. - */ - fp_old->aux = NULL; - __bpf_prog_free(fp_old); - } - - return fp; -} - -void __bpf_prog_free(struct bpf_prog *fp) -{ - kfree(fp->aux); - vfree(fp); -} - -int bpf_prog_calc_tag(struct bpf_prog *fp) -{ - const u32 bits_offset = SHA_MESSAGE_BYTES - sizeof(__be64); - u32 raw_size = bpf_prog_tag_scratch_size(fp); - u32 digest[SHA_DIGEST_WORDS]; - u32 ws[SHA_WORKSPACE_WORDS]; - u32 i, bsize, psize, blocks; - struct bpf_insn *dst; - bool was_ld_map; - u8 *raw, *todo; - __be32 *result; - __be64 *bits; - - raw = vmalloc(raw_size); - if (!raw) - return -ENOMEM; - - sha_init_p(digest); - memset(ws, 0, sizeof(ws)); - - /* We need to take out the map fd for the digest calculation - * since they are unstable from user space side. - */ - dst = (void *)raw; - for (i = 0, was_ld_map = false; i < fp->len; i++) { - dst[i] = fp->insnsi[i]; - if (!was_ld_map && - dst[i].code == (BPF_LD | BPF_IMM | BPF_DW) && - dst[i].src_reg == BPF_PSEUDO_MAP_FD) { - was_ld_map = true; - dst[i].imm = 0; - } else if (was_ld_map && - dst[i].code == 0 && - dst[i].dst_reg == 0 && - dst[i].src_reg == 0 && - dst[i].off == 0) { - was_ld_map = false; - dst[i].imm = 0; - } else { - was_ld_map = false; - } - } - - psize = bpf_prog_insn_size(fp); - memset(&raw[psize], 0, raw_size - psize); - raw[psize++] = 0x80; - - bsize = round_up(psize, SHA_MESSAGE_BYTES); - blocks = bsize / SHA_MESSAGE_BYTES; - todo = raw; - if (bsize - psize >= sizeof(__be64)) { - bits = (__be64 *)(todo + bsize - sizeof(__be64)); - } else { - bits = (__be64 *)(todo + bsize + bits_offset); - blocks++; - } - *bits = cpu_to_be64((psize - 1) << 3); - - while (blocks--) { - sha_transform_p(digest, todo, ws); - todo += SHA_MESSAGE_BYTES; - } - - result = (__force __be32 *)digest; - for (i = 0; i < SHA_DIGEST_WORDS; i++) - result[i] = cpu_to_be32(digest[i]); - memcpy(fp->tag, result, sizeof(fp->tag)); - - vfree(raw); - return 0; -} - -static int bpf_adj_delta_to_imm(struct bpf_insn *insn, u32 pos, u32 delta, - u32 curr, const bool probe_pass) -{ - const s64 imm_min = S32_MIN, imm_max = S32_MAX; - s64 imm = insn->imm; - - if (curr < pos && curr + imm + 1 > pos) - imm += delta; - else if (curr > pos + delta && curr + imm + 1 <= pos + delta) - imm -= delta; - if (imm < imm_min || imm > imm_max) - return -ERANGE; - if (!probe_pass) - insn->imm = imm; - return 0; -} - -static int bpf_adj_delta_to_off(struct bpf_insn *insn, u32 pos, u32 delta, - u32 curr, const bool probe_pass) -{ - const s32 off_min = S16_MIN, off_max = S16_MAX; - s32 off = insn->off; - - if (curr < pos && curr + off + 1 > pos) - off += delta; - else if (curr > pos + delta && curr + off + 1 <= pos + delta) - off -= delta; - if (off < off_min || off > off_max) - return -ERANGE; - if (!probe_pass) - insn->off = off; - return 0; -} - -static int bpf_adj_branches(struct bpf_prog *prog, u32 pos, u32 delta, - const bool probe_pass) -{ - u32 i, insn_cnt = prog->len + (probe_pass ? delta : 0); - struct bpf_insn *insn = prog->insnsi; - int ret = 0; - - for (i = 0; i < insn_cnt; i++, insn++) { - u8 code; - - /* In the probing pass we still operate on the original, - * unpatched image in order to check overflows before we - * do any other adjustments. Therefore skip the patchlet. - */ - if (probe_pass && i == pos) { - i += delta + 1; - insn++; - } - code = insn->code; - if (BPF_CLASS(code) != BPF_JMP || - BPF_OP(code) == BPF_EXIT) - continue; - /* Adjust offset of jmps if we cross patch boundaries. */ - if (BPF_OP(code) == BPF_CALL) { - if (insn->src_reg != BPF_PSEUDO_CALL) - continue; - ret = bpf_adj_delta_to_imm(insn, pos, delta, i, - probe_pass); - } else { - ret = bpf_adj_delta_to_off(insn, pos, delta, i, - probe_pass); - } - if (ret) - break; - } - - return ret; -} - -struct bpf_prog *bpf_patch_insn_single(struct bpf_prog *prog, u32 off, - const struct bpf_insn *patch, u32 len) -{ - u32 insn_adj_cnt, insn_rest, insn_delta = len - 1; - const u32 cnt_max = S16_MAX; - struct bpf_prog *prog_adj; - - /* Since our patchlet doesn't expand the image, we're done. */ - if (insn_delta == 0) { - memcpy(prog->insnsi + off, patch, sizeof(*patch)); - return prog; - } - - insn_adj_cnt = prog->len + insn_delta; - - /* Reject anything that would potentially let the insn->off - * target overflow when we have excessive program expansions. - * We need to probe here before we do any reallocation where - * we afterwards may not fail anymore. - */ - if (insn_adj_cnt > cnt_max && - bpf_adj_branches(prog, off, insn_delta, true)) - return NULL; - - /* Several new instructions need to be inserted. Make room - * for them. Likely, there's no need for a new allocation as - * last page could have large enough tailroom. - */ - prog_adj = bpf_prog_realloc(prog, bpf_prog_size(insn_adj_cnt), - GFP_USER); - if (!prog_adj) - return NULL; - - prog_adj->len = insn_adj_cnt; - - /* Patching happens in 3 steps: - * - * 1) Move over tail of insnsi from next instruction onwards, - * so we can patch the single target insn with one or more - * new ones (patching is always from 1 to n insns, n > 0). - * 2) Inject new instructions at the target location. - * 3) Adjust branch offsets if necessary. - */ - insn_rest = insn_adj_cnt - off - len; - - memmove(prog_adj->insnsi + off + len, prog_adj->insnsi + off + 1, - sizeof(*patch) * insn_rest); - memcpy(prog_adj->insnsi + off, patch, sizeof(*patch) * len); - - /* We are guaranteed to not fail at this point, otherwise - * the ship has sailed to reverse to the original state. An - * overflow cannot happen at this point. - */ - BUG_ON(bpf_adj_branches(prog_adj, off, insn_delta, false)); - - return prog_adj; -} - -// void bpf_prog_kallsyms_del_subprogs(struct bpf_prog *fp) -// { -// int i; - -// for (i = 0; i < fp->aux->func_cnt; i++) -// bpf_prog_kallsyms_del(fp->aux->func[i]); -// } - -// void bpf_prog_kallsyms_del_all(struct bpf_prog *fp) -// { -// bpf_prog_kallsyms_del_subprogs(fp); -// bpf_prog_kallsyms_del(fp); -// } - -#ifdef CONFIG_BPF_JIT -// /* All BPF JIT sysctl knobs here. */ -// int bpf_jit_enable __read_mostly = IS_BUILTIN(CONFIG_BPF_JIT_ALWAYS_ON); -// /* RHEL-only: set it to 1 by default */ -int bpf_jit_harden __read_mostly = 1; - -static __always_inline void -bpf_get_prog_addr_region(const struct bpf_prog *prog, - unsigned long *symbol_start, - unsigned long *symbol_end) -{ - const struct bpf_binary_header *hdr = bpf_jit_binary_hdr(prog); - unsigned long addr = (unsigned long)hdr; - - WARN_ON_ONCE(!bpf_prog_ebpf_jited(prog)); - - *symbol_start = addr; - *symbol_end = addr + hdr->pages * PAGE_SIZE; -} - -static void bpf_get_prog_name(const struct bpf_prog *prog, char *sym) -{ - BUILD_BUG_ON(sizeof("bpf_prog_") + - sizeof(prog->tag) * 2 + 1 > KSYM_NAME_LEN); - - sym += snprintf(sym, KSYM_NAME_LEN, "bpf_prog_"); - // sym = bin2hex(sym, prog->tag, sizeof(prog->tag)); - *sym = 0; -} - -static __always_inline unsigned long -bpf_get_prog_addr_start(struct latch_tree_node *n) -{ - unsigned long symbol_start, symbol_end; - const struct bpf_prog_aux *aux; - - aux = container_of(n, struct bpf_prog_aux, ksym_tnode); - bpf_get_prog_addr_region(aux->prog, &symbol_start, &symbol_end); - - return symbol_start; -} - -static __always_inline bool bpf_tree_less(struct latch_tree_node *a, - struct latch_tree_node *b) -{ - return bpf_get_prog_addr_start(a) < bpf_get_prog_addr_start(b); -} - -static __always_inline int bpf_tree_comp(void *key, struct latch_tree_node *n) -{ - unsigned long val = (unsigned long)key; - unsigned long symbol_start, symbol_end; - const struct bpf_prog_aux *aux; - - aux = container_of(n, struct bpf_prog_aux, ksym_tnode); - bpf_get_prog_addr_region(aux->prog, &symbol_start, &symbol_end); - - if (val < symbol_start) - return -1; - if (val >= symbol_end) - return 1; - - return 0; -} - -static const struct latch_tree_ops bpf_tree_ops = { - .less = bpf_tree_less, - .comp = bpf_tree_comp, -}; - -static DEFINE_SPINLOCK(bpf_lock); -static LIST_HEAD(bpf_kallsyms); -static struct latch_tree_root bpf_tree __cacheline_aligned; - -int bpf_jit_kallsyms __read_mostly; - -static void bpf_prog_ksym_node_add(struct bpf_prog_aux *aux) -{ - WARN_ON_ONCE(!list_empty(&aux->ksym_lnode)); - list_add_tail_rcu(&aux->ksym_lnode, &bpf_kallsyms); - latch_tree_insert(&aux->ksym_tnode, &bpf_tree, &bpf_tree_ops); -} - -static void bpf_prog_ksym_node_del(struct bpf_prog_aux *aux) -{ - if (list_empty(&aux->ksym_lnode)) - return; - - latch_tree_erase(&aux->ksym_tnode, &bpf_tree, &bpf_tree_ops); - list_del_rcu(&aux->ksym_lnode); -} - -static bool bpf_prog_kallsyms_candidate(const struct bpf_prog *fp) -{ - return fp->jited && !bpf_prog_was_classic(fp); -} - -static bool bpf_prog_kallsyms_verify_off(const struct bpf_prog *fp) -{ - return list_empty(&fp->aux->ksym_lnode) || - fp->aux->ksym_lnode.prev == LIST_POISON2; -} - -void bpf_prog_kallsyms_add(struct bpf_prog *fp) -{ - unsigned long flags; - - if (!bpf_prog_kallsyms_candidate(fp) || - !capable(CAP_SYS_ADMIN)) - return; - - spin_lock_irqsave(&bpf_lock, flags); - bpf_prog_ksym_node_add(fp->aux); - spin_unlock_irqrestore(&bpf_lock, flags); -} - -void bpf_prog_kallsyms_del(struct bpf_prog *fp) -{ - unsigned long flags; - - if (!bpf_prog_kallsyms_candidate(fp)) - return; - - spin_lock_irqsave(&bpf_lock, flags); - bpf_prog_ksym_node_del(fp->aux); - spin_unlock_irqrestore(&bpf_lock, flags); -} - -static struct bpf_prog *bpf_prog_kallsyms_find(unsigned long addr) -{ - struct latch_tree_node *n; - - if (!bpf_jit_kallsyms_enabled()) - return NULL; - - n = latch_tree_find((void *)addr, &bpf_tree, &bpf_tree_ops); - return n ? - container_of(n, struct bpf_prog_aux, ksym_tnode)->prog : - NULL; -} - -const char *__bpf_address_lookup(unsigned long addr, unsigned long *size, - unsigned long *off, char *sym) -{ - unsigned long symbol_start, symbol_end; - struct bpf_prog *prog; - char *ret = NULL; - - rcu_read_lock(); - prog = bpf_prog_kallsyms_find(addr); - if (prog) { - bpf_get_prog_addr_region(prog, &symbol_start, &symbol_end); - bpf_get_prog_name(prog, sym); - - ret = sym; - if (size) - *size = symbol_end - symbol_start; - if (off) - *off = addr - symbol_start; - } - rcu_read_unlock(); - - return ret; -} - -bool is_bpf_text_address(unsigned long addr) -{ - bool ret; - - rcu_read_lock(); - ret = bpf_prog_kallsyms_find(addr) != NULL; - rcu_read_unlock(); - - return ret; -} - -int bpf_get_kallsym(unsigned int symnum, unsigned long *value, char *type, - char *sym) -{ - unsigned long symbol_start, symbol_end; - struct bpf_prog_aux *aux; - unsigned int it = 0; - int ret = -ERANGE; - - if (!bpf_jit_kallsyms_enabled()) - return ret; - - rcu_read_lock(); - list_for_each_entry_rcu(aux, &bpf_kallsyms, ksym_lnode) { - if (it++ != symnum) - continue; - - bpf_get_prog_addr_region(aux->prog, &symbol_start, &symbol_end); - bpf_get_prog_name(aux->prog, sym); - - *value = symbol_start; - *type = BPF_SYM_ELF_TYPE; - - ret = 0; - break; - } - rcu_read_unlock(); - - return ret; -} - -struct bpf_binary_header * -bpf_jit_binary_alloc(unsigned int proglen, u8 **image_ptr, - unsigned int alignment, - bpf_jit_fill_hole_t bpf_fill_ill_insns) -{ - struct bpf_binary_header *hdr; - unsigned int size, hole, start; - - /* Most of BPF filters are really small, but if some of them - * fill a page, allow at least 128 extra bytes to insert a - * random section of illegal instructions. - */ - size = round_up(proglen + sizeof(*hdr) + 128, PAGE_SIZE); - hdr = module_alloc_p(size); - if (hdr == NULL) - return NULL; - - /* Fill space with illegal/arch-dep instructions. */ - bpf_fill_ill_insns(hdr, size); - - hdr->pages = size / PAGE_SIZE; - hole = min_t(unsigned int, size - (proglen + sizeof(*hdr)), - PAGE_SIZE - sizeof(*hdr)); - start = (get_random_int() % hole) & ~(alignment - 1); - - /* Leave a random number of instructions before BPF code. */ - *image_ptr = &hdr->image[start]; - - return hdr; -} - -void bpf_jit_binary_free(struct bpf_binary_header *hdr) -{ - module_free_p(NULL, hdr); -} - -/* This symbol is only overridden by archs that have different - * requirements than the usual eBPF JITs, f.e. when they only - * implement cBPF JIT, do not set images read-only, etc. - */ -void __weak trace_bpf_jit_free(struct bpf_prog *fp) -{ - if (fp->jited) { - struct bpf_binary_header *hdr = bpf_jit_binary_hdr(fp); - - bpf_jit_binary_unlock_ro(hdr); - bpf_jit_binary_free(hdr); - - WARN_ON_ONCE(!bpf_prog_kallsyms_verify_off(fp)); - } - - bpf_prog_unlock_free(fp); -} - -int bpf_jit_harden __read_mostly; - -static int bpf_jit_blind_insn(const struct bpf_insn *from, - const struct bpf_insn *aux, - struct bpf_insn *to_buff) -{ - struct bpf_insn *to = to_buff; - u32 imm_rnd = get_random_int(); - s16 off; - - BUILD_BUG_ON(BPF_REG_AX + 1 != MAX_BPF_JIT_REG); - BUILD_BUG_ON(MAX_BPF_REG + 1 != MAX_BPF_JIT_REG); - - if (from->imm == 0 && - (from->code == (BPF_ALU | BPF_MOV | BPF_K) || - from->code == (BPF_ALU64 | BPF_MOV | BPF_K))) { - *to++ = BPF_ALU64_REG(BPF_XOR, from->dst_reg, from->dst_reg); - goto out; - } - - switch (from->code) { - case BPF_ALU | BPF_ADD | BPF_K: - case BPF_ALU | BPF_SUB | BPF_K: - case BPF_ALU | BPF_AND | BPF_K: - case BPF_ALU | BPF_OR | BPF_K: - case BPF_ALU | BPF_XOR | BPF_K: - case BPF_ALU | BPF_MUL | BPF_K: - case BPF_ALU | BPF_MOV | BPF_K: - case BPF_ALU | BPF_DIV | BPF_K: - case BPF_ALU | BPF_MOD | BPF_K: - *to++ = BPF_ALU32_IMM(BPF_MOV, BPF_REG_AX, imm_rnd ^ from->imm); - *to++ = BPF_ALU32_IMM(BPF_XOR, BPF_REG_AX, imm_rnd); - *to++ = BPF_ALU32_REG(from->code, from->dst_reg, BPF_REG_AX); - break; - - case BPF_ALU64 | BPF_ADD | BPF_K: - case BPF_ALU64 | BPF_SUB | BPF_K: - case BPF_ALU64 | BPF_AND | BPF_K: - case BPF_ALU64 | BPF_OR | BPF_K: - case BPF_ALU64 | BPF_XOR | BPF_K: - case BPF_ALU64 | BPF_MUL | BPF_K: - case BPF_ALU64 | BPF_MOV | BPF_K: - case BPF_ALU64 | BPF_DIV | BPF_K: - case BPF_ALU64 | BPF_MOD | BPF_K: - *to++ = BPF_ALU64_IMM(BPF_MOV, BPF_REG_AX, imm_rnd ^ from->imm); - *to++ = BPF_ALU64_IMM(BPF_XOR, BPF_REG_AX, imm_rnd); - *to++ = BPF_ALU64_REG(from->code, from->dst_reg, BPF_REG_AX); - break; - - case BPF_JMP | BPF_JEQ | BPF_K: - case BPF_JMP | BPF_JNE | BPF_K: - case BPF_JMP | BPF_JGT | BPF_K: - case BPF_JMP | BPF_JLT | BPF_K: - case BPF_JMP | BPF_JGE | BPF_K: - case BPF_JMP | BPF_JLE | BPF_K: - case BPF_JMP | BPF_JSGT | BPF_K: - case BPF_JMP | BPF_JSLT | BPF_K: - case BPF_JMP | BPF_JSGE | BPF_K: - case BPF_JMP | BPF_JSLE | BPF_K: - case BPF_JMP | BPF_JSET | BPF_K: - /* Accommodate for extra offset in case of a backjump. */ - off = from->off; - if (off < 0) - off -= 2; - *to++ = BPF_ALU64_IMM(BPF_MOV, BPF_REG_AX, imm_rnd ^ from->imm); - *to++ = BPF_ALU64_IMM(BPF_XOR, BPF_REG_AX, imm_rnd); - *to++ = BPF_JMP_REG(from->code, from->dst_reg, BPF_REG_AX, off); - break; - - case BPF_LD | BPF_ABS | BPF_W: - case BPF_LD | BPF_ABS | BPF_H: - case BPF_LD | BPF_ABS | BPF_B: - *to++ = BPF_ALU64_IMM(BPF_MOV, BPF_REG_AX, imm_rnd ^ from->imm); - *to++ = BPF_ALU64_IMM(BPF_XOR, BPF_REG_AX, imm_rnd); - *to++ = BPF_LD_IND(from->code, BPF_REG_AX, 0); - break; - - case BPF_LD | BPF_IND | BPF_W: - case BPF_LD | BPF_IND | BPF_H: - case BPF_LD | BPF_IND | BPF_B: - *to++ = BPF_ALU64_IMM(BPF_MOV, BPF_REG_AX, imm_rnd ^ from->imm); - *to++ = BPF_ALU64_IMM(BPF_XOR, BPF_REG_AX, imm_rnd); - *to++ = BPF_ALU32_REG(BPF_ADD, BPF_REG_AX, from->src_reg); - *to++ = BPF_LD_IND(from->code, BPF_REG_AX, 0); - break; - - case BPF_LD | BPF_IMM | BPF_DW: - *to++ = BPF_ALU64_IMM(BPF_MOV, BPF_REG_AX, imm_rnd ^ aux[1].imm); - *to++ = BPF_ALU64_IMM(BPF_XOR, BPF_REG_AX, imm_rnd); - *to++ = BPF_ALU64_IMM(BPF_LSH, BPF_REG_AX, 32); - *to++ = BPF_ALU64_REG(BPF_MOV, aux[0].dst_reg, BPF_REG_AX); - break; - case 0: /* Part 2 of BPF_LD | BPF_IMM | BPF_DW. */ - *to++ = BPF_ALU32_IMM(BPF_MOV, BPF_REG_AX, imm_rnd ^ aux[0].imm); - *to++ = BPF_ALU32_IMM(BPF_XOR, BPF_REG_AX, imm_rnd); - *to++ = BPF_ALU64_REG(BPF_OR, aux[0].dst_reg, BPF_REG_AX); - break; - - case BPF_ST | BPF_MEM | BPF_DW: - case BPF_ST | BPF_MEM | BPF_W: - case BPF_ST | BPF_MEM | BPF_H: - case BPF_ST | BPF_MEM | BPF_B: - *to++ = BPF_ALU64_IMM(BPF_MOV, BPF_REG_AX, imm_rnd ^ from->imm); - *to++ = BPF_ALU64_IMM(BPF_XOR, BPF_REG_AX, imm_rnd); - *to++ = BPF_STX_MEM(from->code, from->dst_reg, BPF_REG_AX, from->off); - break; - } -out: - return to - to_buff; -} - -static struct bpf_prog *bpf_prog_clone_create(struct bpf_prog *fp_other, - gfp_t gfp_extra_flags) -{ - gfp_t gfp_flags = GFP_KERNEL | __GFP_HIGHMEM | __GFP_ZERO | - gfp_extra_flags; - struct bpf_prog *fp; - - fp = __vmalloc(fp_other->pages * PAGE_SIZE, gfp_flags, PAGE_KERNEL); - if (fp != NULL) { - kmemcheck_annotate_bitfield(fp, meta); - - /* aux->prog still points to the fp_other one, so - * when promoting the clone to the real program, - * this still needs to be adapted. - */ - memcpy(fp, fp_other, fp_other->pages * PAGE_SIZE); - } - - return fp; -} - -static void bpf_prog_clone_free(struct bpf_prog *fp) -{ - /* aux was stolen by the other clone, so we cannot free - * it from this path! It will be freed eventually by the - * other program on release. - * - * At this point, we don't need a deferred release since - * clone is guaranteed to not be locked. - */ - fp->aux = NULL; - __bpf_prog_free(fp); -} - -void bpf_jit_prog_release_other(struct bpf_prog *fp, struct bpf_prog *fp_other) -{ - /* We have to repoint aux->prog to self, as we don't - * know whether fp here is the clone or the original. - */ - fp->aux->prog = fp; - bpf_prog_clone_free(fp_other); -} - -struct bpf_prog *bpf_jit_blind_constants(struct bpf_prog *prog) -{ - struct bpf_insn insn_buff[16], aux[2]; - struct bpf_prog *clone, *tmp; - int insn_delta, insn_cnt; - struct bpf_insn *insn; - int i, rewritten; - - if (!bpf_jit_blinding_enabled(prog) || prog->blinded) - return prog; - - clone = bpf_prog_clone_create(prog, GFP_USER); - if (!clone) - return ERR_PTR(-ENOMEM); - - insn_cnt = clone->len; - insn = clone->insnsi; - - for (i = 0; i < insn_cnt; i++, insn++) { - /* We temporarily need to hold the original ld64 insn - * so that we can still access the first part in the - * second blinding run. - */ - if (insn[0].code == (BPF_LD | BPF_IMM | BPF_DW) && - insn[1].code == 0) - memcpy(aux, insn, sizeof(aux)); - - rewritten = bpf_jit_blind_insn(insn, aux, insn_buff); - if (!rewritten) - continue; - - tmp = bpf_patch_insn_single(clone, i, insn_buff, rewritten); - if (!tmp) { - /* Patching may have repointed aux->prog during - * realloc from the original one, so we need to - * fix it up here on error. - */ - bpf_jit_prog_release_other(prog, clone); - return ERR_PTR(-ENOMEM); - } - - clone = tmp; - insn_delta = rewritten - 1; - - /* Walk new program and skip insns we just inserted. */ - insn = clone->insnsi + i + insn_delta; - insn_cnt += insn_delta; - i += insn_delta; - } - - clone->blinded = 1; - return clone; -} -#endif /* CONFIG_BPF_JIT */ - -// /* Base function for offset calculation. Needs to go into .text section, -// * therefore keeping it non-static as well; will also be used by JITs -// * anyway later on, so do not let the compiler omit it. This also needs -// * to go into kallsyms for correlation from e.g. bpftool, so naming -// * must not change. -// */ -noinline u64 __bpf_call_base(u64 r1, u64 r2, u64 r3, u64 r4, u64 r5) -{ - return 0; -} -// EXPORT_SYMBOL_GPL(__bpf_call_base); - -// /* All UAPI available opcodes. */ -#define BPF_INSN_MAP(INSN_2, INSN_3) \ - /* 32 bit ALU operations. */ \ - /* Register based. */ \ - INSN_3(ALU, ADD, X), \ - INSN_3(ALU, SUB, X), \ - INSN_3(ALU, AND, X), \ - INSN_3(ALU, OR, X), \ - INSN_3(ALU, LSH, X), \ - INSN_3(ALU, RSH, X), \ - INSN_3(ALU, XOR, X), \ - INSN_3(ALU, MUL, X), \ - INSN_3(ALU, MOV, X), \ - INSN_3(ALU, DIV, X), \ - INSN_3(ALU, MOD, X), \ - INSN_2(ALU, NEG), \ - INSN_3(ALU, END, TO_BE), \ - INSN_3(ALU, END, TO_LE), \ - /* Immediate based. */ \ - INSN_3(ALU, ADD, K), \ - INSN_3(ALU, SUB, K), \ - INSN_3(ALU, AND, K), \ - INSN_3(ALU, OR, K), \ - INSN_3(ALU, LSH, K), \ - INSN_3(ALU, RSH, K), \ - INSN_3(ALU, XOR, K), \ - INSN_3(ALU, MUL, K), \ - INSN_3(ALU, MOV, K), \ - INSN_3(ALU, DIV, K), \ - INSN_3(ALU, MOD, K), \ - /* 64 bit ALU operations. */ \ - /* Register based. */ \ - INSN_3(ALU64, ADD, X), \ - INSN_3(ALU64, SUB, X), \ - INSN_3(ALU64, AND, X), \ - INSN_3(ALU64, OR, X), \ - INSN_3(ALU64, LSH, X), \ - INSN_3(ALU64, RSH, X), \ - INSN_3(ALU64, XOR, X), \ - INSN_3(ALU64, MUL, X), \ - INSN_3(ALU64, MOV, X), \ - INSN_3(ALU64, ARSH, X), \ - INSN_3(ALU64, DIV, X), \ - INSN_3(ALU64, MOD, X), \ - INSN_2(ALU64, NEG), \ - /* Immediate based. */ \ - INSN_3(ALU64, ADD, K), \ - INSN_3(ALU64, SUB, K), \ - INSN_3(ALU64, AND, K), \ - INSN_3(ALU64, OR, K), \ - INSN_3(ALU64, LSH, K), \ - INSN_3(ALU64, RSH, K), \ - INSN_3(ALU64, XOR, K), \ - INSN_3(ALU64, MUL, K), \ - INSN_3(ALU64, MOV, K), \ - INSN_3(ALU64, ARSH, K), \ - INSN_3(ALU64, DIV, K), \ - INSN_3(ALU64, MOD, K), \ - /* Call instruction. */ \ - INSN_2(JMP, CALL), \ - /* Exit instruction. */ \ - INSN_2(JMP, EXIT), \ - /* Jump instructions. */ \ - /* Register based. */ \ - INSN_3(JMP, JEQ, X), \ - INSN_3(JMP, JNE, X), \ - INSN_3(JMP, JGT, X), \ - INSN_3(JMP, JLT, X), \ - INSN_3(JMP, JGE, X), \ - INSN_3(JMP, JLE, X), \ - INSN_3(JMP, JSGT, X), \ - INSN_3(JMP, JSLT, X), \ - INSN_3(JMP, JSGE, X), \ - INSN_3(JMP, JSLE, X), \ - INSN_3(JMP, JSET, X), \ - /* Immediate based. */ \ - INSN_3(JMP, JEQ, K), \ - INSN_3(JMP, JNE, K), \ - INSN_3(JMP, JGT, K), \ - INSN_3(JMP, JLT, K), \ - INSN_3(JMP, JGE, K), \ - INSN_3(JMP, JLE, K), \ - INSN_3(JMP, JSGT, K), \ - INSN_3(JMP, JSLT, K), \ - INSN_3(JMP, JSGE, K), \ - INSN_3(JMP, JSLE, K), \ - INSN_3(JMP, JSET, K), \ - INSN_2(JMP, JA), \ - /* Store instructions. */ \ - /* Register based. */ \ - INSN_3(STX, MEM, B), \ - INSN_3(STX, MEM, H), \ - INSN_3(STX, MEM, W), \ - INSN_3(STX, MEM, DW), \ - INSN_3(STX, XADD, W), \ - INSN_3(STX, XADD, DW), \ - /* Immediate based. */ \ - INSN_3(ST, MEM, B), \ - INSN_3(ST, MEM, H), \ - INSN_3(ST, MEM, W), \ - INSN_3(ST, MEM, DW), \ - /* Load instructions. */ \ - /* Register based. */ \ - INSN_3(LDX, MEM, B), \ - INSN_3(LDX, MEM, H), \ - INSN_3(LDX, MEM, W), \ - INSN_3(LDX, MEM, DW), \ - /* Immediate based. */ \ - INSN_3(LD, IMM, DW), \ - /* Misc (old cBPF carry-over). */ \ - INSN_3(LD, ABS, B), \ - INSN_3(LD, ABS, H), \ - INSN_3(LD, ABS, W), \ - INSN_3(LD, IND, B), \ - INSN_3(LD, IND, H), \ - INSN_3(LD, IND, W) - -bool bpf_opcode_in_insntable(u8 code) -{ -#define BPF_INSN_2_TBL(x, y) [BPF_##x | BPF_##y] = true -#define BPF_INSN_3_TBL(x, y, z) [BPF_##x | BPF_##y | BPF_##z] = true - static const bool public_insntable[256] = { - [0 ... 255] = false, - /* Now overwrite non-defaults ... */ - BPF_INSN_MAP(BPF_INSN_2_TBL, BPF_INSN_3_TBL), - }; -#undef BPF_INSN_3_TBL -#undef BPF_INSN_2_TBL - return public_insntable[code]; -} - -#ifndef CONFIG_BPF_JIT_ALWAYS_ON -/** - * __bpf_prog_run - run eBPF program on a given context - * @ctx: is the data we are operating on - * @insn: is the array of eBPF instructions - * - * Decode and execute eBPF instructions. - */ -static u64 ___bpf_prog_run(u64 *regs, const struct bpf_insn *insn, u64 *stack) -{ - u64 tmp; -#define BPF_INSN_2_LBL(x, y) [BPF_##x | BPF_##y] = &&x##_##y -#define BPF_INSN_3_LBL(x, y, z) [BPF_##x | BPF_##y | BPF_##z] = &&x##_##y##_##z - static const void *jumptable[256] = { - [0 ... 255] = &&default_label, - /* Now overwrite non-defaults ... */ - BPF_INSN_MAP(BPF_INSN_2_LBL, BPF_INSN_3_LBL), - /* Non-UAPI available opcodes. */ - [BPF_JMP | BPF_CALL_ARGS] = &&JMP_CALL_ARGS, - [BPF_JMP | BPF_TAIL_CALL] = &&JMP_TAIL_CALL, - }; -#undef BPF_INSN_3_LBL -#undef BPF_INSN_2_LBL - u32 tail_call_cnt = 0; - void *ptr; - int off; - -#define CONT ({ insn++; goto select_insn; }) -#define CONT_JMP ({ insn++; goto select_insn; }) - -select_insn: - goto *jumptable[insn->code]; - - /* ALU */ -#define ALU(OPCODE, OP) \ - ALU64_##OPCODE##_X: \ - DST = DST OP SRC; \ - CONT; \ - ALU_##OPCODE##_X: \ - DST = (u32) DST OP (u32) SRC; \ - CONT; \ - ALU64_##OPCODE##_K: \ - DST = DST OP IMM; \ - CONT; \ - ALU_##OPCODE##_K: \ - DST = (u32) DST OP (u32) IMM; \ - CONT; - - ALU(ADD, +) - ALU(SUB, -) - ALU(AND, &) - ALU(OR, |) - ALU(LSH, <<) - ALU(RSH, >>) - ALU(XOR, ^) - ALU(MUL, *) -#undef ALU - ALU_NEG: - DST = (u32) -DST; - CONT; - ALU64_NEG: - DST = -DST; - CONT; - ALU_MOV_X: - DST = (u32) SRC; - CONT; - ALU_MOV_K: - DST = (u32) IMM; - CONT; - ALU64_MOV_X: - DST = SRC; - CONT; - ALU64_MOV_K: - DST = IMM; - CONT; - LD_IMM_DW: - DST = (u64) (u32) insn[0].imm | ((u64) (u32) insn[1].imm) << 32; - insn++; - CONT; - ALU64_ARSH_X: - (*(s64 *) &DST) >>= SRC; - CONT; - ALU64_ARSH_K: - (*(s64 *) &DST) >>= IMM; - CONT; - ALU64_MOD_X: - div64_u64_rem(DST, SRC, &tmp); - DST = tmp; - CONT; - ALU_MOD_X: - tmp = (u32) DST; - DST = do_div(tmp, (u32) SRC); - CONT; - ALU64_MOD_K: - div64_u64_rem(DST, IMM, &tmp); - DST = tmp; - CONT; - ALU_MOD_K: - tmp = (u32) DST; - DST = do_div(tmp, (u32) IMM); - CONT; - ALU64_DIV_X: - DST = div64_u64(DST, SRC); - CONT; - ALU_DIV_X: - tmp = (u32) DST; - do_div(tmp, (u32) SRC); - DST = (u32) tmp; - CONT; - ALU64_DIV_K: - DST = div64_u64(DST, IMM); - CONT; - ALU_DIV_K: - tmp = (u32) DST; - do_div(tmp, (u32) IMM); - DST = (u32) tmp; - CONT; - ALU_END_TO_BE: - switch (IMM) { - case 16: - DST = (__force u16) cpu_to_be16(DST); - break; - case 32: - DST = (__force u32) cpu_to_be32(DST); - break; - case 64: - DST = (__force u64) cpu_to_be64(DST); - break; - } - CONT; - ALU_END_TO_LE: - switch (IMM) { - case 16: - DST = (__force u16) cpu_to_le16(DST); - break; - case 32: - DST = (__force u32) cpu_to_le32(DST); - break; - case 64: - DST = (__force u64) cpu_to_le64(DST); - break; - } - CONT; - - /* CALL */ - JMP_CALL: - /* Function call scratches BPF_R1-BPF_R5 registers, - * preserves BPF_R6-BPF_R9, and stores return value - * into BPF_R0. - */ - BPF_R0 = (__bpf_call_base + insn->imm)(BPF_R1, BPF_R2, BPF_R3, - BPF_R4, BPF_R5); - CONT; - - JMP_CALL_ARGS: - BPF_R0 = (__bpf_call_base_args + insn->imm)(BPF_R1, BPF_R2, - BPF_R3, BPF_R4, - BPF_R5, - insn + insn->off + 1); - CONT; - - JMP_TAIL_CALL: { - struct bpf_map *map = (struct bpf_map *) (unsigned long) BPF_R2; - struct bpf_array *array = container_of(map, struct bpf_array, map); - struct bpf_prog *prog; - u32 index = BPF_R3; - - if (unlikely(index >= array->map.max_entries)) - goto out; - if (unlikely(tail_call_cnt > MAX_TAIL_CALL_CNT)) - goto out; - - tail_call_cnt++; - - prog = READ_ONCE(array->ptrs[index]); - if (!prog) - goto out; - - /* ARG1 at this point is guaranteed to point to CTX from - * the verifier side due to the fact that the tail call is - * handeled like a helper, that is, bpf_tail_call_proto, - * where arg1_type is ARG_PTR_TO_CTX. - */ - insn = prog->insnsi; - goto select_insn; -out: - CONT; - } - /* JMP */ - JMP_JA: - insn += insn->off; - CONT; - JMP_JEQ_X: - if (DST == SRC) { - insn += insn->off; - CONT_JMP; - } - CONT; - JMP_JEQ_K: - if (DST == IMM) { - insn += insn->off; - CONT_JMP; - } - CONT; - JMP_JNE_X: - if (DST != SRC) { - insn += insn->off; - CONT_JMP; - } - CONT; - JMP_JNE_K: - if (DST != IMM) { - insn += insn->off; - CONT_JMP; - } - CONT; - JMP_JGT_X: - if (DST > SRC) { - insn += insn->off; - CONT_JMP; - } - CONT; - JMP_JGT_K: - if (DST > IMM) { - insn += insn->off; - CONT_JMP; - } - CONT; - JMP_JLT_X: - if (DST < SRC) { - insn += insn->off; - CONT_JMP; - } - CONT; - JMP_JLT_K: - if (DST < IMM) { - insn += insn->off; - CONT_JMP; - } - CONT; - JMP_JGE_X: - if (DST >= SRC) { - insn += insn->off; - CONT_JMP; - } - CONT; - JMP_JGE_K: - if (DST >= IMM) { - insn += insn->off; - CONT_JMP; - } - CONT; - JMP_JLE_X: - if (DST <= SRC) { - insn += insn->off; - CONT_JMP; - } - CONT; - JMP_JLE_K: - if (DST <= IMM) { - insn += insn->off; - CONT_JMP; - } - CONT; - JMP_JSGT_X: - if (((s64) DST) > ((s64) SRC)) { - insn += insn->off; - CONT_JMP; - } - CONT; - JMP_JSGT_K: - if (((s64) DST) > ((s64) IMM)) { - insn += insn->off; - CONT_JMP; - } - CONT; - JMP_JSLT_X: - if (((s64) DST) < ((s64) SRC)) { - insn += insn->off; - CONT_JMP; - } - CONT; - JMP_JSLT_K: - if (((s64) DST) < ((s64) IMM)) { - insn += insn->off; - CONT_JMP; - } - CONT; - JMP_JSGE_X: - if (((s64) DST) >= ((s64) SRC)) { - insn += insn->off; - CONT_JMP; - } - CONT; - JMP_JSGE_K: - if (((s64) DST) >= ((s64) IMM)) { - insn += insn->off; - CONT_JMP; - } - CONT; - JMP_JSLE_X: - if (((s64) DST) <= ((s64) SRC)) { - insn += insn->off; - CONT_JMP; - } - CONT; - JMP_JSLE_K: - if (((s64) DST) <= ((s64) IMM)) { - insn += insn->off; - CONT_JMP; - } - CONT; - JMP_JSET_X: - if (DST & SRC) { - insn += insn->off; - CONT_JMP; - } - CONT; - JMP_JSET_K: - if (DST & IMM) { - insn += insn->off; - CONT_JMP; - } - CONT; - JMP_EXIT: - return BPF_R0; - - /* STX and ST and LDX*/ -#define LDST(SIZEOP, SIZE) \ - STX_MEM_##SIZEOP: \ - *(SIZE *)(unsigned long) (DST + insn->off) = SRC; \ - CONT; \ - ST_MEM_##SIZEOP: \ - *(SIZE *)(unsigned long) (DST + insn->off) = IMM; \ - CONT; \ - LDX_MEM_##SIZEOP: \ - DST = *(SIZE *)(unsigned long) (SRC + insn->off); \ - CONT; - - LDST(B, u8) - LDST(H, u16) - LDST(W, u32) - LDST(DW, u64) -#undef LDST - STX_XADD_W: /* lock xadd *(u32 *)(dst_reg + off16) += src_reg */ - atomic_add((u32) SRC, (atomic_t *)(unsigned long) - (DST + insn->off)); - CONT; - STX_XADD_DW: /* lock xadd *(u64 *)(dst_reg + off16) += src_reg */ - atomic64_add((u64) SRC, (atomic64_t *)(unsigned long) - (DST + insn->off)); - CONT; - LD_ABS_W: /* BPF_R0 = ntohl(*(u32 *) (skb->data + imm32)) */ - off = IMM; -load_word: - /* BPF_LD + BPD_ABS and BPF_LD + BPF_IND insns are only - * appearing in the programs where ctx == skb - * (see may_access_skb() in the verifier). All programs - * keep 'ctx' in regs[BPF_REG_CTX] == BPF_R6, - * bpf_convert_filter() saves it in BPF_R6, internal BPF - * verifier will check that BPF_R6 == ctx. - * - * BPF_ABS and BPF_IND are wrappers of function calls, - * so they scratch BPF_R1-BPF_R5 registers, preserve - * BPF_R6-BPF_R9, and store return value into BPF_R0. - * - * Implicit input: - * ctx == skb == BPF_R6 == CTX - * - * Explicit input: - * SRC == any register - * IMM == 32-bit immediate - * - * Output: - * BPF_R0 - 8/16/32-bit skb data converted to cpu endianness - */ - - ptr = bpf_load_pointer((struct sk_buff *) (unsigned long) CTX, off, 4, &tmp); - if (likely(ptr != NULL)) { - BPF_R0 = get_unaligned_be32(ptr); - CONT; - } - - return 0; - LD_ABS_H: /* BPF_R0 = ntohs(*(u16 *) (skb->data + imm32)) */ - off = IMM; -load_half: - ptr = bpf_load_pointer((struct sk_buff *) (unsigned long) CTX, off, 2, &tmp); - if (likely(ptr != NULL)) { - BPF_R0 = get_unaligned_be16(ptr); - CONT; - } - - return 0; - LD_ABS_B: /* BPF_R0 = *(u8 *) (skb->data + imm32) */ - off = IMM; -load_byte: - ptr = bpf_load_pointer((struct sk_buff *) (unsigned long) CTX, off, 1, &tmp); - if (likely(ptr != NULL)) { - BPF_R0 = *(u8 *)ptr; - CONT; - } - - return 0; - LD_IND_W: /* BPF_R0 = ntohl(*(u32 *) (skb->data + src_reg + imm32)) */ - off = IMM + SRC; - goto load_word; - LD_IND_H: /* BPF_R0 = ntohs(*(u16 *) (skb->data + src_reg + imm32)) */ - off = IMM + SRC; - goto load_half; - LD_IND_B: /* BPF_R0 = *(u8 *) (skb->data + src_reg + imm32) */ - off = IMM + SRC; - goto load_byte; - - default_label: - /* If we ever reach this, we have a bug somewhere. Die hard here - * instead of just returning 0; we could be somewhere in a subprog, - * so execution could continue otherwise which we do /not/ want. - * - * Note, verifier whitelists all opcodes in bpf_opcode_in_insntable(). - */ - pr_warn("BPF interpreter: unknown opcode %02x\n", insn->code); - BUG_ON(1); - return 0; -} -STACK_FRAME_NON_STANDARD(___bpf_prog_run); /* jump table */ - -#define PROG_NAME(stack_size) __bpf_prog_run##stack_size -#define DEFINE_BPF_PROG_RUN(stack_size) \ -static unsigned int PROG_NAME(stack_size)(const void *ctx, const struct bpf_insn *insn) \ -{ \ - u64 stack[stack_size / sizeof(u64)]; \ - u64 regs[MAX_BPF_REG]; \ -\ - FP = (u64) (unsigned long) &stack[ARRAY_SIZE(stack)]; \ - ARG1 = (u64) (unsigned long) ctx; \ - return ___bpf_prog_run(regs, insn, stack); \ -} - -#define PROG_NAME_ARGS(stack_size) __bpf_prog_run_args##stack_size -#define DEFINE_BPF_PROG_RUN_ARGS(stack_size) \ -static u64 PROG_NAME_ARGS(stack_size)(u64 r1, u64 r2, u64 r3, u64 r4, u64 r5, \ - const struct bpf_insn *insn) \ -{ \ - u64 stack[stack_size / sizeof(u64)]; \ - u64 regs[MAX_BPF_REG]; \ -\ - FP = (u64) (unsigned long) &stack[ARRAY_SIZE(stack)]; \ - BPF_R1 = r1; \ - BPF_R2 = r2; \ - BPF_R3 = r3; \ - BPF_R4 = r4; \ - BPF_R5 = r5; \ - return ___bpf_prog_run(regs, insn, stack); \ -} - -#define EVAL1(FN, X) FN(X) -#define EVAL2(FN, X, Y...) FN(X) EVAL1(FN, Y) -#define EVAL3(FN, X, Y...) FN(X) EVAL2(FN, Y) -#define EVAL4(FN, X, Y...) FN(X) EVAL3(FN, Y) -#define EVAL5(FN, X, Y...) FN(X) EVAL4(FN, Y) -#define EVAL6(FN, X, Y...) FN(X) EVAL5(FN, Y) - -EVAL6(DEFINE_BPF_PROG_RUN, 32, 64, 96, 128, 160, 192); -EVAL6(DEFINE_BPF_PROG_RUN, 224, 256, 288, 320, 352, 384); -EVAL4(DEFINE_BPF_PROG_RUN, 416, 448, 480, 512); - -EVAL6(DEFINE_BPF_PROG_RUN_ARGS, 32, 64, 96, 128, 160, 192); -EVAL6(DEFINE_BPF_PROG_RUN_ARGS, 224, 256, 288, 320, 352, 384); -EVAL4(DEFINE_BPF_PROG_RUN_ARGS, 416, 448, 480, 512); - -#define PROG_NAME_LIST(stack_size) PROG_NAME(stack_size), - -static unsigned int (*interpreters[])(const void *ctx, - const struct bpf_insn *insn) = { -EVAL6(PROG_NAME_LIST, 32, 64, 96, 128, 160, 192) -EVAL6(PROG_NAME_LIST, 224, 256, 288, 320, 352, 384) -EVAL4(PROG_NAME_LIST, 416, 448, 480, 512) -}; -#undef PROG_NAME_LIST -#define PROG_NAME_LIST(stack_size) PROG_NAME_ARGS(stack_size), -static u64 (*interpreters_args[])(u64 r1, u64 r2, u64 r3, u64 r4, u64 r5, - const struct bpf_insn *insn) = { -EVAL6(PROG_NAME_LIST, 32, 64, 96, 128, 160, 192) -EVAL6(PROG_NAME_LIST, 224, 256, 288, 320, 352, 384) -EVAL4(PROG_NAME_LIST, 416, 448, 480, 512) -}; -#undef PROG_NAME_LIST - -void bpf_patch_call_args(struct bpf_insn *insn, u32 stack_depth) -{ - stack_depth = max_t(u32, stack_depth, 1); - insn->off = (s16) insn->imm; - insn->imm = interpreters_args[(round_up(stack_depth, 32) / 32) - 1] - - __bpf_call_base_args; - insn->code = BPF_JMP | BPF_CALL_ARGS; -} - -#else -static unsigned int __bpf_prog_ret0_warn(const void *ctx, - const struct bpf_insn *insn) -{ - /* If this handler ever gets executed, then BPF_JIT_ALWAYS_ON - * is not working properly, so warn about it! - */ - WARN_ON_ONCE(1); - return 0; -} -#endif - -bool bpf_prog_array_compatible(struct bpf_array *array, - const struct bpf_prog *fp) -{ - if (fp->kprobe_override) - return false; - - if (!array->owner_prog_type) { - /* There's no owner yet where we could check for - * compatibility. - */ - array->owner_prog_type = fp->type; - array->owner_jited = fp->jited; - - return true; - } - - return array->owner_prog_type == fp->type && - array->owner_jited == fp->jited; -} - -static int bpf_check_tail_call(const struct bpf_prog *fp) -{ - struct bpf_prog_aux *aux = fp->aux; - int i; - - for (i = 0; i < aux->used_map_cnt; i++) { - struct bpf_map *map = aux->used_maps[i]; - struct bpf_array *array; - - if (map->map_type != BPF_MAP_TYPE_PROG_ARRAY) - continue; - - array = container_of(map, struct bpf_array, map); - if (!bpf_prog_array_compatible(array, fp)) - return -EINVAL; - } - - return 0; -} - -// /* Stub for JITs that only support cBPF. eBPF programs are interpreted. -// * It is encouraged to implement bpf_int_jit_compile() instead, so that -// * eBPF and implicitly also cBPF can get JITed! -// */ -// struct bpf_prog * __weak trace_bpf_int_jit_compile(struct bpf_prog *prog) -// { -// return prog; -// } - -// /* Stub for JITs that support eBPF. All cBPF code gets transformed into -// * eBPF by the kernel and is later compiled by bpf_int_jit_compile(). -// */ -// void __weak trace_bpf_jit_compile(struct bpf_prog *prog) -// { -// } - -/** - * bpf_prog_select_runtime - select exec runtime for BPF program - * @fp: bpf_prog populated with internal BPF program - * @err: pointer to error variable - * - * Try to JIT eBPF program, if JIT is not available, use interpreter. - * The BPF program will be executed via BPF_PROG_RUN() macro. - */ -struct bpf_prog *bpf_prog_select_runtime(struct bpf_prog *fp, int *err) -{ -#ifndef CONFIG_BPF_JIT_ALWAYS_ON - u32 stack_depth = max_t(u32, fp->aux->stack_depth, 1); - - fp->bpf_func = interpreters[(round_up(stack_depth, 32) / 32) - 1]; -#else - fp->bpf_func = __bpf_prog_ret0_warn; -#endif - - /* eBPF JITs can rewrite the program in case constant - * blinding is active. However, in case of error during - * blinding, bpf_int_jit_compile() must always return a - * valid program, which in this case would simply not - * be JITed, but falls back to the interpreter. - */ - fp = trace_bpf_int_jit_compile(fp); -#ifdef CONFIG_BPF_JIT_ALWAYS_ON - if (!fp->jited) { - *err = -ENOTSUPP; - return fp; - } -#endif - bpf_prog_lock_ro(fp); - - /* The tail call compatibility check can only be done at - * this late stage as we need to determine, if we deal - * with JITed or non JITed program concatenations and not - * all eBPF JITs might immediately support all features. - */ - *err = bpf_check_tail_call(fp); - - return fp; -} -// EXPORT_SYMBOL_GPL(bpf_prog_select_runtime); - -// static unsigned int __bpf_prog_ret1(const void *ctx, -// const struct bpf_insn *insn) -// { -// return 1; -// } - -// static struct bpf_prog_dummy { -// struct bpf_prog prog; -// } dummy_bpf_prog = { -// .prog = { -// .bpf_func = __bpf_prog_ret1, -// }, -// }; - -// /* to avoid allocating empty bpf_prog_array for cgroups that -// * don't have bpf program attached use one global 'empty_prog_array' -// * It will not be modified the caller of bpf_prog_array_alloc() -// * (since caller requested prog_cnt == 0) -// * that pointer should be 'freed' by bpf_prog_array_free() -// */ -// static struct { -// struct bpf_prog_array hdr; -// struct bpf_prog *null_prog; -// } empty_prog_array = { -// .null_prog = NULL, -// }; - -// struct bpf_prog_array *bpf_prog_array_alloc(u32 prog_cnt, gfp_t flags) -// { -// if (prog_cnt) -// return kzalloc(sizeof(struct bpf_prog_array) + -// sizeof(struct bpf_prog *) * (prog_cnt + 1), -// flags); - -// return &empty_prog_array.hdr; -// } - -// void bpf_prog_array_free(struct bpf_prog_array __rcu *progs) -// { -// if (!progs || -// progs == (struct bpf_prog_array __rcu *)&empty_prog_array.hdr) -// return; -// kfree_rcu(progs, rcu); -// } - -// int bpf_prog_array_length(struct bpf_prog_array __rcu *progs) -// { -// struct bpf_prog **prog; -// u32 cnt = 0; - -// rcu_read_lock(); -// prog = rcu_dereference(progs)->progs; -// for (; *prog; prog++) -// if (*prog != &dummy_bpf_prog.prog) -// cnt++; -// rcu_read_unlock(); -// return cnt; -// } - -// static bool bpf_prog_array_copy_core(struct bpf_prog **prog, -// u32 *prog_ids, -// u32 request_cnt) -// { -// int i = 0; - -// for (; *prog; prog++) { -// if (*prog == &dummy_bpf_prog.prog) -// continue; -// prog_ids[i] = (*prog)->aux->id; -// if (++i == request_cnt) { -// prog++; -// break; -// } -// } - -// return !!(*prog); -// } - -// int bpf_prog_array_copy_to_user(struct bpf_prog_array __rcu *progs, -// __u32 __user *prog_ids, u32 cnt) -// { -// struct bpf_prog **prog; -// unsigned long err = 0; -// bool nospc; -// u32 *ids; - -// /* users of this function are doing: -// * cnt = bpf_prog_array_length(); -// * if (cnt > 0) -// * bpf_prog_array_copy_to_user(..., cnt); -// * so below kcalloc doesn't need extra cnt > 0 check, but -// * bpf_prog_array_length() releases rcu lock and -// * prog array could have been swapped with empty or larger array, -// * so always copy 'cnt' prog_ids to the user. -// * In a rare race the user will see zero prog_ids -// */ -// ids = kcalloc(cnt, sizeof(u32), GFP_USER | __GFP_NOWARN); -// if (!ids) -// return -ENOMEM; -// rcu_read_lock(); -// prog = rcu_dereference(progs)->progs; -// nospc = bpf_prog_array_copy_core(prog, ids, cnt); -// rcu_read_unlock(); -// err = copy_to_user(prog_ids, ids, cnt * sizeof(u32)); -// kfree(ids); -// if (err) -// return -EFAULT; -// if (nospc) -// return -ENOSPC; -// return 0; -// } - -// void bpf_prog_array_delete_safe(struct bpf_prog_array __rcu *progs, -// struct bpf_prog *old_prog) -// { -// struct bpf_prog **prog = progs->progs; - -// for (; *prog; prog++) -// if (*prog == old_prog) { -// WRITE_ONCE(*prog, &dummy_bpf_prog.prog); -// break; -// } -// } - -// int bpf_prog_array_copy(struct bpf_prog_array __rcu *old_array, -// struct bpf_prog *exclude_prog, -// struct bpf_prog *include_prog, -// struct bpf_prog_array **new_array) -// { -// int new_prog_cnt, carry_prog_cnt = 0; -// struct bpf_prog **existing_prog; -// struct bpf_prog_array *array; -// bool found_exclude = false; -// int new_prog_idx = 0; - -// /* Figure out how many existing progs we need to carry over to -// * the new array. -// */ -// if (old_array) { -// existing_prog = old_array->progs; -// for (; *existing_prog; existing_prog++) { -// if (*existing_prog == exclude_prog) { -// found_exclude = true; -// continue; -// } -// if (*existing_prog != &dummy_bpf_prog.prog) -// carry_prog_cnt++; -// if (*existing_prog == include_prog) -// return -EEXIST; -// } -// } - -// if (exclude_prog && !found_exclude) -// return -ENOENT; - -// /* How many progs (not NULL) will be in the new array? */ -// new_prog_cnt = carry_prog_cnt; -// if (include_prog) -// new_prog_cnt += 1; - -// /* Do we have any prog (not NULL) in the new array? */ -// if (!new_prog_cnt) { -// *new_array = NULL; -// return 0; -// } - -// /* +1 as the end of prog_array is marked with NULL */ -// array = bpf_prog_array_alloc(new_prog_cnt + 1, GFP_KERNEL); -// if (!array) -// return -ENOMEM; - -// /* Fill in the new prog array */ -// if (carry_prog_cnt) { -// existing_prog = old_array->progs; -// for (; *existing_prog; existing_prog++) -// if (*existing_prog != exclude_prog && -// *existing_prog != &dummy_bpf_prog.prog) -// array->progs[new_prog_idx++] = *existing_prog; -// } -// if (include_prog) -// array->progs[new_prog_idx++] = include_prog; -// array->progs[new_prog_idx] = NULL; -// *new_array = array; -// return 0; -// } - -// int bpf_prog_array_copy_info(struct bpf_prog_array __rcu *array, -// u32 *prog_ids, u32 request_cnt, -// u32 *prog_cnt) -// { -// struct bpf_prog **prog; -// u32 cnt = 0; - -// if (array) -// cnt = bpf_prog_array_length(array); - -// *prog_cnt = cnt; - -// /* return early if user requested only program count or nothing to copy */ -// if (!request_cnt || !cnt) -// return 0; - -// /* this function is called under trace/bpf_trace.c: bpf_event_mutex */ -// prog = rcu_dereference_check(array, 1)->progs; -// return bpf_prog_array_copy_core(prog, prog_ids, request_cnt) ? -ENOSPC -// : 0; -// } - -static void bpf_prog_free_deferred(struct work_struct *work) -{ - struct bpf_prog_aux *aux; - int i; - - aux = container_of(work, struct bpf_prog_aux, work); -#ifdef CONFIG_PERF_EVENTS - if (aux->prog->has_callchain_buf) - put_callchain_buffers_p(); -#endif - for (i = 0; i < aux->func_cnt; i++) - trace_bpf_jit_free(aux->func[i]); - if (aux->func_cnt) { - kfree(aux->func); - bpf_prog_unlock_free(aux->prog); - } else { - trace_bpf_jit_free(aux->prog); - } -} - -/* Free internal BPF program */ -void bpf_prog_free(struct bpf_prog *fp) -{ - struct bpf_prog_aux *aux = fp->aux; - - INIT_WORK(&aux->work, bpf_prog_free_deferred); - schedule_work(&aux->work); -} -// EXPORT_SYMBOL_GPL(bpf_prog_free); - -// /* RNG for unpriviledged user space with separated state from prandom_u32(). */ -// static DEFINE_PER_CPU(struct rnd_state, bpf_user_rnd_state); - -void bpf_user_rnd_init_once(void) -{ - return; - // static DEFINE_MUTEX(once_lock); - // static bool once; - - // if (once) - // return; - - // mutex_lock(&once_lock); - // if (!once) { - // once = true; - // prandom_seed_full_state(&bpf_user_rnd_state); - // } - // mutex_unlock(&once_lock); -} - -// BPF_CALL_0(bpf_user_rnd_u32) -// { -// /* Should someone ever have the rather unwise idea to use some -// * of the registers passed into this function, then note that -// * this function is called from native eBPF and classic-to-eBPF -// * transformations. Register assignments from both sides are -// * different, f.e. classic always sets fn(ctx, A, X) here. -// */ -// struct rnd_state *state; -// u32 res; - -// state = &get_cpu_var(bpf_user_rnd_state); -// res = prandom_u32_state(state); -// put_cpu_var(bpf_user_rnd_state); - -// return res; -// } - -// /* Weak definitions of helper functions in case we don't have bpf syscall. */ -// const struct bpf_func_proto bpf_map_lookup_elem_proto __weak; -// const struct bpf_func_proto bpf_map_update_elem_proto __weak; -// const struct bpf_func_proto bpf_map_delete_elem_proto __weak; - -// const struct bpf_func_proto bpf_get_prandom_u32_proto __weak; -const struct bpf_func_proto bpf_get_smp_processor_id_proto __weak; -// const struct bpf_func_proto bpf_get_numa_node_id_proto __weak; -const struct bpf_func_proto bpf_ktime_get_ns_proto __weak; - -const struct bpf_func_proto bpf_get_current_pid_tgid_proto __weak; -// const struct bpf_func_proto bpf_get_current_uid_gid_proto __weak; -const struct bpf_func_proto bpf_get_current_comm_proto __weak; - -// const struct bpf_func_proto * __weak bpf_get_trace_printk_proto(void) -// { -// return NULL; -// } - -// u64 __weak -// bpf_event_output(struct bpf_map *map, u64 flags, void *meta, u64 meta_size, -// void *ctx, u64 ctx_size, bpf_ctx_copy_t ctx_copy) -// { -// return -ENOTSUPP; -// } -// EXPORT_SYMBOL_GPL(bpf_event_output); - -// /* Always built-in helper functions. */ -// const struct bpf_func_proto bpf_tail_call_proto = { -// .func = NULL, -// .gpl_only = false, -// .ret_type = RET_VOID, -// .arg1_type = ARG_PTR_TO_CTX, -// .arg2_type = ARG_CONST_MAP_PTR, -// .arg3_type = ARG_ANYTHING, -// }; - -bool __weak bpf_helper_changes_skb_data(void *func) -{ - return false; -} - -// /* To execute LD_ABS/LD_IND instructions __bpf_prog_run() may call -// * skb_copy_bits(), so provide a weak definition of it for NET-less config. -// */ -// int __weak skb_copy_bits(const struct sk_buff *skb, int offset, void *to, -// int len) -// { -// return -EFAULT; -// } diff --git a/lcc/glcc/lib/ebpf/disasm.c b/lcc/glcc/lib/ebpf/disasm.c deleted file mode 100644 index e32ca04..0000000 --- a/lcc/glcc/lib/ebpf/disasm.c +++ /dev/null @@ -1,261 +0,0 @@ -/* Copyright (c) 2011-2014 PLUMgrid, http://plumgrid.com - * Copyright (c) 2016 Facebook - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of version 2 of the GNU General Public - * License as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - */ -#include "linux/config.h" -#include - -#include "disasm.h" - -#define __BPF_FUNC_STR_FN(x) [BPF_FUNC_ ## x] = __stringify(bpf_ ## x) -static const char * const func_id_str[] = { - __BPF_FUNC_MAPPER(__BPF_FUNC_STR_FN) -}; -#undef __BPF_FUNC_STR_FN - -static const char *__func_get_name(const struct bpf_insn_cbs *cbs, - const struct bpf_insn *insn, - char *buff, size_t len) -{ - BUILD_BUG_ON(ARRAY_SIZE(func_id_str) != __BPF_FUNC_MAX_ID); - - if (insn->src_reg != BPF_PSEUDO_CALL && - insn->imm >= 0 && insn->imm < __BPF_FUNC_MAX_ID && - func_id_str[insn->imm]) - return func_id_str[insn->imm]; - - if (cbs && cbs->cb_call) - return cbs->cb_call(cbs->private_data, insn); - - if (insn->src_reg == BPF_PSEUDO_CALL) - snprintf(buff, len, "%+d", insn->imm); - - return buff; -} - -static const char *__func_imm_name(const struct bpf_insn_cbs *cbs, - const struct bpf_insn *insn, - u64 full_imm, char *buff, size_t len) -{ - if (cbs && cbs->cb_imm) - return cbs->cb_imm(cbs->private_data, insn, full_imm); - - snprintf(buff, len, "0x%llx", (unsigned long long)full_imm); - return buff; -} - -const char *func_id_name(int id) -{ - if (id >= 0 && id < __BPF_FUNC_MAX_ID && func_id_str[id]) - return func_id_str[id]; - else - return "unknown"; -} - -const char *const bpf_class_string[8] = { - [BPF_LD] = "ld", - [BPF_LDX] = "ldx", - [BPF_ST] = "st", - [BPF_STX] = "stx", - [BPF_ALU] = "alu", - [BPF_JMP] = "jmp", - [BPF_RET] = "BUG", - [BPF_ALU64] = "alu64", -}; - -const char *const bpf_alu_string[16] = { - [BPF_ADD >> 4] = "+=", - [BPF_SUB >> 4] = "-=", - [BPF_MUL >> 4] = "*=", - [BPF_DIV >> 4] = "/=", - [BPF_OR >> 4] = "|=", - [BPF_AND >> 4] = "&=", - [BPF_LSH >> 4] = "<<=", - [BPF_RSH >> 4] = ">>=", - [BPF_NEG >> 4] = "neg", - [BPF_MOD >> 4] = "%=", - [BPF_XOR >> 4] = "^=", - [BPF_MOV >> 4] = "=", - [BPF_ARSH >> 4] = "s>>=", - [BPF_END >> 4] = "endian", -}; - -static const char *const bpf_ldst_string[] = { - [BPF_W >> 3] = "u32", - [BPF_H >> 3] = "u16", - [BPF_B >> 3] = "u8", - [BPF_DW >> 3] = "u64", -}; - -static const char *const bpf_jmp_string[16] = { - [BPF_JA >> 4] = "jmp", - [BPF_JEQ >> 4] = "==", - [BPF_JGT >> 4] = ">", - [BPF_JLT >> 4] = "<", - [BPF_JGE >> 4] = ">=", - [BPF_JLE >> 4] = "<=", - [BPF_JSET >> 4] = "&", - [BPF_JNE >> 4] = "!=", - [BPF_JSGT >> 4] = "s>", - [BPF_JSLT >> 4] = "s<", - [BPF_JSGE >> 4] = "s>=", - [BPF_JSLE >> 4] = "s<=", - [BPF_CALL >> 4] = "call", - [BPF_EXIT >> 4] = "exit", -}; - -static void print_bpf_end_insn(bpf_insn_print_t verbose, - void *private_data, - const struct bpf_insn *insn) -{ - verbose(private_data, "(%02x) r%d = %s%d r%d\n", - insn->code, insn->dst_reg, - BPF_SRC(insn->code) == BPF_TO_BE ? "be" : "le", - insn->imm, insn->dst_reg); -} - -void print_bpf_insn(const struct bpf_insn_cbs *cbs, - const struct bpf_insn *insn, - bool allow_ptr_leaks) -{ - const bpf_insn_print_t verbose = cbs->cb_print; - u8 class = BPF_CLASS(insn->code); - - if (class == BPF_ALU || class == BPF_ALU64) { - if (BPF_OP(insn->code) == BPF_END) { - if (class == BPF_ALU64) - verbose(cbs->private_data, "BUG_alu64_%02x\n", insn->code); - else - print_bpf_end_insn(verbose, cbs->private_data, insn); - } else if (BPF_OP(insn->code) == BPF_NEG) { - verbose(cbs->private_data, "(%02x) r%d = %s-r%d\n", - insn->code, insn->dst_reg, - class == BPF_ALU ? "(u32) " : "", - insn->dst_reg); - } else if (BPF_SRC(insn->code) == BPF_X) { - verbose(cbs->private_data, "(%02x) %sr%d %s %sr%d\n", - insn->code, class == BPF_ALU ? "(u32) " : "", - insn->dst_reg, - bpf_alu_string[BPF_OP(insn->code) >> 4], - class == BPF_ALU ? "(u32) " : "", - insn->src_reg); - } else { - verbose(cbs->private_data, "(%02x) %sr%d %s %s%d\n", - insn->code, class == BPF_ALU ? "(u32) " : "", - insn->dst_reg, - bpf_alu_string[BPF_OP(insn->code) >> 4], - class == BPF_ALU ? "(u32) " : "", - insn->imm); - } - } else if (class == BPF_STX) { - if (BPF_MODE(insn->code) == BPF_MEM) - verbose(cbs->private_data, "(%02x) *(%s *)(r%d %+d) = r%d\n", - insn->code, - bpf_ldst_string[BPF_SIZE(insn->code) >> 3], - insn->dst_reg, - insn->off, insn->src_reg); - else if (BPF_MODE(insn->code) == BPF_XADD) - verbose(cbs->private_data, "(%02x) lock *(%s *)(r%d %+d) += r%d\n", - insn->code, - bpf_ldst_string[BPF_SIZE(insn->code) >> 3], - insn->dst_reg, insn->off, - insn->src_reg); - else - verbose(cbs->private_data, "BUG_%02x\n", insn->code); - } else if (class == BPF_ST) { - if (BPF_MODE(insn->code) != BPF_MEM) { - verbose(cbs->private_data, "BUG_st_%02x\n", insn->code); - return; - } - verbose(cbs->private_data, "(%02x) *(%s *)(r%d %+d) = %d\n", - insn->code, - bpf_ldst_string[BPF_SIZE(insn->code) >> 3], - insn->dst_reg, - insn->off, insn->imm); - } else if (class == BPF_LDX) { - if (BPF_MODE(insn->code) != BPF_MEM) { - verbose(cbs->private_data, "BUG_ldx_%02x\n", insn->code); - return; - } - verbose(cbs->private_data, "(%02x) r%d = *(%s *)(r%d %+d)\n", - insn->code, insn->dst_reg, - bpf_ldst_string[BPF_SIZE(insn->code) >> 3], - insn->src_reg, insn->off); - } else if (class == BPF_LD) { - if (BPF_MODE(insn->code) == BPF_ABS) { - verbose(cbs->private_data, "(%02x) r0 = *(%s *)skb[%d]\n", - insn->code, - bpf_ldst_string[BPF_SIZE(insn->code) >> 3], - insn->imm); - } else if (BPF_MODE(insn->code) == BPF_IND) { - verbose(cbs->private_data, "(%02x) r0 = *(%s *)skb[r%d + %d]\n", - insn->code, - bpf_ldst_string[BPF_SIZE(insn->code) >> 3], - insn->src_reg, insn->imm); - } else if (BPF_MODE(insn->code) == BPF_IMM && - BPF_SIZE(insn->code) == BPF_DW) { - /* At this point, we already made sure that the second - * part of the ldimm64 insn is accessible. - */ - u64 imm = ((u64)(insn + 1)->imm << 32) | (u32)insn->imm; - bool map_ptr = insn->src_reg == BPF_PSEUDO_MAP_FD; - char tmp[64]; - - if (map_ptr && !allow_ptr_leaks) - imm = 0; - - verbose(cbs->private_data, "(%02x) r%d = %s\n", - insn->code, insn->dst_reg, - __func_imm_name(cbs, insn, imm, - tmp, sizeof(tmp))); - } else { - verbose(cbs->private_data, "BUG_ld_%02x\n", insn->code); - return; - } - } else if (class == BPF_JMP) { - u8 opcode = BPF_OP(insn->code); - - if (opcode == BPF_CALL) { - char tmp[64]; - - if (insn->src_reg == BPF_PSEUDO_CALL) { - verbose(cbs->private_data, "(%02x) call pc%s\n", - insn->code, - __func_get_name(cbs, insn, - tmp, sizeof(tmp))); - } else { - strcpy(tmp, "unknown"); - verbose(cbs->private_data, "(%02x) call %s#%d\n", insn->code, - __func_get_name(cbs, insn, - tmp, sizeof(tmp)), - insn->imm); - } - } else if (insn->code == (BPF_JMP | BPF_JA)) { - verbose(cbs->private_data, "(%02x) goto pc%+d\n", - insn->code, insn->off); - } else if (insn->code == (BPF_JMP | BPF_EXIT)) { - verbose(cbs->private_data, "(%02x) exit\n", insn->code); - } else if (BPF_SRC(insn->code) == BPF_X) { - verbose(cbs->private_data, "(%02x) if r%d %s r%d goto pc%+d\n", - insn->code, insn->dst_reg, - bpf_jmp_string[BPF_OP(insn->code) >> 4], - insn->src_reg, insn->off); - } else { - verbose(cbs->private_data, "(%02x) if r%d %s 0x%x goto pc%+d\n", - insn->code, insn->dst_reg, - bpf_jmp_string[BPF_OP(insn->code) >> 4], - insn->imm, insn->off); - } - } else { - verbose(cbs->private_data, "(%02x) %s\n", - insn->code, bpf_class_string[class]); - } -} diff --git a/lcc/glcc/lib/ebpf/disasm.h b/lcc/glcc/lib/ebpf/disasm.h deleted file mode 100644 index eb1ebba..0000000 --- a/lcc/glcc/lib/ebpf/disasm.h +++ /dev/null @@ -1,48 +0,0 @@ -/* Copyright (c) 2011-2014 PLUMgrid, http://plumgrid.com - * Copyright (c) 2016 Facebook - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of version 2 of the GNU General Public - * License as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - */ - -#ifndef __BPF_DISASM_H__ -#define __BPF_DISASM_H__ - -#include "linux/bpf.h" -#include -#include -// #ifndef __KERNEL__ -// #include -// #include -// #endif - -extern const char *const bpf_alu_string[16]; -extern const char *const bpf_class_string[8]; - -const char *func_id_name(int id); - -typedef __printf(2, 3) void (*bpf_insn_print_t)(void *private_data, - const char *, ...); -typedef const char *(*bpf_insn_revmap_call_t)(void *private_data, - const struct bpf_insn *insn); -typedef const char *(*bpf_insn_print_imm_t)(void *private_data, - const struct bpf_insn *insn, - __u64 full_imm); - -struct bpf_insn_cbs { - bpf_insn_print_t cb_print; - bpf_insn_revmap_call_t cb_call; - bpf_insn_print_imm_t cb_imm; - void *private_data; -}; - -void print_bpf_insn(const struct bpf_insn_cbs *cbs, - const struct bpf_insn *insn, - bool allow_ptr_leaks); -#endif diff --git a/lcc/glcc/lib/ebpf/ebpf.c b/lcc/glcc/lib/ebpf/ebpf.c deleted file mode 100644 index f1e2cdd..0000000 --- a/lcc/glcc/lib/ebpf/ebpf.c +++ /dev/null @@ -1,1738 +0,0 @@ -/* Copyright (c) 2011-2014 PLUMgrid, http://plumgrid.com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of version 2 of the GNU General Public - * License as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - */ -#include "linux/config.h" -#include "linux/bpf.h" -// #include -// #include -#include -#include -#include -#include -#include -#include -#include "linux/filter.h" -#include -#include -#include -#include -// #include -#include -#include - -#include -#include -#include - -#include -#include -#include - -#include "ebpf.h" - -#include "allsyms.h" -#include "ebpf_kprobe.h" -#include "ebpf_tracepoint.h" - -MODULE_LICENSE("Dual BSD/GPL"); - -static int dev_major = 0; -static struct class *ebpf_class = NULL; -static struct cdev ebpfdev; - -#define FMODE_CAN_READ FMODE_READ -#define FMODE_CAN_WRITE FMODE_WRITE - -#define IS_FD_ARRAY(map) ((map)->map_type == BPF_MAP_TYPE_PROG_ARRAY || \ - (map)->map_type == BPF_MAP_TYPE_PERF_EVENT_ARRAY || \ - (map)->map_type == BPF_MAP_TYPE_CGROUP_ARRAY || \ - (map)->map_type == BPF_MAP_TYPE_ARRAY_OF_MAPS) -#define IS_FD_HASH(map) ((map)->map_type == BPF_MAP_TYPE_HASH_OF_MAPS) -#define IS_FD_MAP(map) (IS_FD_ARRAY(map) || IS_FD_HASH(map)) - -DEFINE_PER_CPU(int, bpf_prog_active); -static DEFINE_IDR(prog_idr); -static DEFINE_SPINLOCK(prog_idr_lock); -static DEFINE_IDR(map_idr); -static DEFINE_SPINLOCK(map_idr_lock); - -static const struct bpf_map_ops * const bpf_map_types[] = { -#define BPF_PROG_TYPE(_id, _ops) -#define BPF_MAP_TYPE(_id, _ops) \ - [_id] = &_ops, -#include "linux/bpf_types.h" -#undef BPF_PROG_TYPE -#undef BPF_MAP_TYPE -}; - -struct ebpfdrv_attr -{ - uint32_t prog_fd; - union - { - struct - { - bool is_return; - uint64_t name; - } kprobe; - - struct - { - uint64_t category; - uint64_t name; - } tracepoint; - }; -}; - -#define u64_to_user_ptr(x) ( \ - { \ - typecheck(u64, x); \ - (void __user *)(uintptr_t) x; \ - }) - -/* - * If we're handed a bigger struct than we know of, ensure all the unknown bits - * are 0 - i.e. new user-space does not rely on any kernel feature extensions - * we don't know about yet. - * - * There is a ToCToU between this function call and the following - * copy_from_user() call. However, this is not a concern since this function is - * meant to be a future-proofing of bits. - */ -static int check_uarg_tail_zero(void __user *uaddr, - size_t expected_size, - size_t actual_size) -{ - unsigned char __user *addr; - unsigned char __user *end; - unsigned char val; - int err; - - if (unlikely(actual_size > PAGE_SIZE)) /* silly large */ - return -E2BIG; - - if (unlikely(!access_ok(VERIFY_READ, uaddr, actual_size))) - return -EFAULT; - - if (actual_size <= expected_size) - return 0; - - addr = uaddr + expected_size; - end = uaddr + actual_size; - - for (; addr < end; addr++) - { - err = get_user(val, addr); - if (err) - return err; - if (val) - return -E2BIG; - } - - return 0; -} - -static struct bpf_map *find_and_alloc_map(union bpf_attr *attr) -{ - const struct bpf_map_ops *ops; - u32 type = attr->map_type; - struct bpf_map *map; - int err; - - if (type >= ARRAY_SIZE(bpf_map_types)) - return ERR_PTR(-EINVAL); - type = array_index_nospec(type, ARRAY_SIZE(bpf_map_types)); - ops = bpf_map_types[type]; - if (!ops) - return ERR_PTR(-EINVAL); - - if (ops->map_alloc_check) { - err = ops->map_alloc_check(attr); - if (err) - return ERR_PTR(err); - } - map = ops->map_alloc(attr); - if (IS_ERR(map)) - return map; - map->ops = ops; - map->map_type = type; - return map; -} - -/** - * __vmalloc_node - allocate virtually contiguous memory - * @size: allocation size - * @align: desired alignment - * @gfp_mask: flags for the page level allocator - * @prot: protection mask for the allocated pages - * @node: node to use for allocation or NUMA_NO_NODE - * @caller: caller's return address - * - * Allocate enough pages to cover @size from the page level - * allocator with @gfp_mask flags. Map them into contiguous - * kernel virtual space, using a pagetable protection of @prot. - * - * Reclaim modifiers in @gfp_mask - __GFP_NORETRY, __GFP_REPEAT - * and __GFP_NOFAIL are not supported - * - * Any use of gfp flags outside of GFP_KERNEL should be consulted - * with mm people. - * - */ -void *__vmalloc_node(unsigned long size, unsigned long align, - gfp_t gfp_mask, pgprot_t prot, - int node, const void *caller) -{ - return __vmalloc_node_range_p(size, align, VMALLOC_START, VMALLOC_END, - gfp_mask, prot, node, caller); -} - -/* - * We really want to have this inlined due to caller tracking. This - * function is used by the highlevel vmalloc apis and so we want to track - * their callers and inlining will achieve that. - */ -static inline void *__vmalloc_node_flags(unsigned long size, - int node, gfp_t flags) -{ - return __vmalloc_node(size, 1, flags, PAGE_KERNEL, - node, __builtin_return_address(0)); -} - -void *bpf_map_area_alloc(size_t size, int numa_node) -{ - /* We definitely need __GFP_NORETRY, so OOM killer doesn't - * trigger under memory pressure as we really just want to - * fail instead. - */ - const gfp_t flags = __GFP_NOWARN | __GFP_NORETRY | __GFP_ZERO; - void *area; - - if (size <= (PAGE_SIZE << PAGE_ALLOC_COSTLY_ORDER)) { - area = kmalloc_node(size, GFP_USER | flags, numa_node); - if (area != NULL) - return area; - } - return __vmalloc_node_flags(size, numa_node, GFP_KERNEL | flags); -} - -void bpf_map_area_free(void *area) -{ - kvfree(area); -} - -void bpf_map_init_from_attr(struct bpf_map *map, union bpf_attr *attr) -{ - map->map_type = attr->map_type; - map->key_size = attr->key_size; - map->value_size = attr->value_size; - map->max_entries = attr->max_entries; - map->map_flags = attr->map_flags; - map->numa_node = bpf_map_attr_numa_node(attr); -} - -int bpf_map_precharge_memlock(u32 pages) -{ - struct user_struct *user = get_current_user(); - unsigned long memlock_limit, cur; - - memlock_limit = rlimit(RLIMIT_MEMLOCK) >> PAGE_SHIFT; - cur = atomic_long_read(&user->locked_vm); - free_uid_p(user); - if (cur + pages > memlock_limit) - return -EPERM; - return 0; -} - -static int bpf_charge_memlock(struct user_struct *user, u32 pages) -{ - unsigned long memlock_limit = rlimit(RLIMIT_MEMLOCK) >> PAGE_SHIFT; - - if (atomic_long_add_return(pages, &user->locked_vm) > memlock_limit) { - atomic_long_sub(pages, &user->locked_vm); - return -EPERM; - } - return 0; -} - -static void bpf_uncharge_memlock(struct user_struct *user, u32 pages) -{ - atomic_long_sub(pages, &user->locked_vm); -} - -static int bpf_map_init_memlock(struct bpf_map *map) -{ - struct user_struct *user = get_current_user(); - int ret; - - ret = bpf_charge_memlock(user, map->pages); - if (ret) { - free_uid_p(user); - return ret; - } - map->user = user; - return ret; -} - -static void bpf_map_release_memlock(struct bpf_map *map) -{ - struct user_struct *user = map->user; - bpf_uncharge_memlock(user, map->pages); - free_uid_p(user); -} - -int bpf_map_charge_memlock(struct bpf_map *map, u32 pages) -{ - int ret; - - ret = bpf_charge_memlock(map->user, pages); - if (ret) - return ret; - map->pages += pages; - return ret; -} - -void bpf_map_uncharge_memlock(struct bpf_map *map, u32 pages) -{ - bpf_uncharge_memlock(map->user, pages); - map->pages -= pages; -} - -static int bpf_map_alloc_id(struct bpf_map *map) -{ - int id; - - idr_preload(GFP_KERNEL); - spin_lock_bh(&map_idr_lock); - id = idr_alloc_cyclic(&map_idr, map, 1, INT_MAX, GFP_ATOMIC); - if (id > 0) - map->id = id; - spin_unlock_bh(&map_idr_lock); - idr_preload_end(); - - if (WARN_ON_ONCE(!id)) - return -ENOSPC; - - return id > 0 ? 0 : id; -} - -static void bpf_map_free_id(struct bpf_map *map, bool do_idr_lock) -{ - unsigned long flags; - - if (do_idr_lock) - spin_lock_irqsave(&map_idr_lock, flags); - else - __acquire(&map_idr_lock); - - idr_remove(&map_idr, map->id); - - if (do_idr_lock) - spin_unlock_irqrestore(&map_idr_lock, flags); - else - __release(&map_idr_lock); -} - -/* called from workqueue */ -static void bpf_map_free_deferred(struct work_struct *work) -{ - struct bpf_map *map = container_of(work, struct bpf_map, work); - - bpf_map_release_memlock(map); - // security_bpf_map_free(map); - /* implementation dependent freeing */ - map->ops->map_free(map); -} - -static void bpf_map_put_uref(struct bpf_map *map) -{ - if (atomic_dec_and_test(&map->usercnt)) { - if (map->map_type == BPF_MAP_TYPE_PROG_ARRAY) - bpf_fd_array_map_clear(map); - } -} - -/* decrement map refcnt and schedule it for freeing via workqueue - * (unrelying map implementation ops->map_free() might sleep) - */ -static void __bpf_map_put(struct bpf_map *map, bool do_idr_lock) -{ - if (atomic_dec_and_test(&map->refcnt)) { - /* bpf_map_free_id() must be called first */ - bpf_map_free_id(map, do_idr_lock); - INIT_WORK(&map->work, bpf_map_free_deferred); - schedule_work(&map->work); - } -} - -void bpf_map_put(struct bpf_map *map) -{ - __bpf_map_put(map, true); -} - -void bpf_map_put_with_uref(struct bpf_map *map) -{ - bpf_map_put_uref(map); - bpf_map_put(map); -} - -static int bpf_map_release(struct inode *inode, struct file *filp) -{ - struct bpf_map *map = filp->private_data; - - if (map->ops->map_release) - map->ops->map_release(map, filp); - - bpf_map_put_with_uref(map); - return 0; -} - -#ifdef CONFIG_PROC_FS -static int bpf_map_show_fdinfo(struct seq_file *m, struct file *filp) -{ - const struct bpf_map *map = filp->private_data; - const struct bpf_array *array; - u32 owner_prog_type = 0; - u32 owner_jited = 0; - int ret; - - if (map->map_type == BPF_MAP_TYPE_PROG_ARRAY) { - array = container_of(map, struct bpf_array, map); - owner_prog_type = array->owner_prog_type; - owner_jited = array->owner_jited; - } - - ret = seq_printf(m, - "map_type:\t%u\n" - "key_size:\t%u\n" - "value_size:\t%u\n" - "max_entries:\t%u\n" - "map_flags:\t%#x\n" - "memlock:\t%llu\n" - "map_id:\t%u\n", - map->map_type, - map->key_size, - map->value_size, - map->max_entries, - map->map_flags, - map->pages * 1ULL << PAGE_SHIFT, - map->id); - - if (owner_prog_type) { - ret += seq_printf(m, "owner_prog_type:\t%u\n", - owner_prog_type); - ret += seq_printf(m, "owner_jited:\t%u\n", - owner_jited); - } - return ret; -} -#endif - - -static ssize_t bpf_dummy_read(struct file *filp, char __user *buf, size_t siz, - loff_t *ppos) -{ - /* We need this handler such that alloc_file() enables - * f_mode with FMODE_CAN_READ. - */ - return -EINVAL; -} - -static ssize_t bpf_dummy_write(struct file *filp, const char __user *buf, - size_t siz, loff_t *ppos) -{ - /* We need this handler such that alloc_file() enables - * f_mode with FMODE_CAN_WRITE. - */ - return -EINVAL; -} - -const struct file_operations bpf_map_fops = { -#ifdef CONFIG_PROC_FS - .show_fdinfo = bpf_map_show_fdinfo, -#endif - .release = bpf_map_release, - .read = bpf_dummy_read, - .write = bpf_dummy_write, -}; - -int bpf_map_new_fd(struct bpf_map *map, int flags) -{ - // int ret; - - // ret = security_bpf_map(map, OPEN_FMODE(flags)); - // if (ret < 0) - // return ret; - - return anon_inode_getfd("bpf-map", &bpf_map_fops, map, - flags | O_CLOEXEC); -} - -int bpf_get_file_flag(int flags) -{ - if ((flags & BPF_F_RDONLY) && (flags & BPF_F_WRONLY)) - return -EINVAL; - if (flags & BPF_F_RDONLY) - return O_RDONLY; - if (flags & BPF_F_WRONLY) - return O_WRONLY; - return O_RDWR; -} - -/* helper macro to check that unused fields 'union bpf_attr' are zero */ -#define CHECK_ATTR(CMD) \ - memchr_inv((void *) &attr->CMD##_LAST_FIELD + \ - sizeof(attr->CMD##_LAST_FIELD), 0, \ - sizeof(*attr) - \ - offsetof(union bpf_attr, CMD##_LAST_FIELD) - \ - sizeof(attr->CMD##_LAST_FIELD)) != NULL - -/* dst and src must have at least BPF_OBJ_NAME_LEN number of bytes. - * Return 0 on success and < 0 on error. - */ -static int bpf_obj_name_cpy(char *dst, const char *src) -{ - const char *end = src + BPF_OBJ_NAME_LEN; - - memset(dst, 0, BPF_OBJ_NAME_LEN); - - /* Copy all isalnum() and '_' char */ - while (src < end && *src) { - if (!isalnum(*src) && *src != '_') - return -EINVAL; - *dst++ = *src++; - } - - /* No '\0' found in BPF_OBJ_NAME_LEN number of bytes */ - if (src == end) - return -EINVAL; - - return 0; -} - -#define BPF_MAP_CREATE_LAST_FIELD map_name -static int map_create(union bpf_attr *attr) -{ - int numa_node = bpf_map_attr_numa_node(attr); - struct bpf_map *map; - int f_flags; - int err; - - err = CHECK_ATTR(BPF_MAP_CREATE); - if (err) - return -EINVAL; - - f_flags = bpf_get_file_flag(attr->map_flags); - if (f_flags < 0) - return f_flags; - - if (numa_node != NUMA_NO_NODE && - ((unsigned int)numa_node >= nr_node_ids || - !node_online(numa_node))) - return -EINVAL; - - /* find map type and init map: hashtable vs rbtree vs bloom vs ... */ - map = find_and_alloc_map(attr); - if (IS_ERR(map)) - return PTR_ERR(map); - - err = bpf_obj_name_cpy(map->name, attr->map_name); - if (err) - goto free_map_nouncharge; - - atomic_set(&map->refcnt, 1); - atomic_set(&map->usercnt, 1); - - // err = security_bpf_map_alloc(map); - // if (err) - // goto free_map_nouncharge; - - err = bpf_map_init_memlock(map); - if (err) - goto free_map_sec; - - err = bpf_map_alloc_id(map); - if (err) - goto free_map; - - err = bpf_map_new_fd(map, f_flags); - if (err < 0) { - /* failed to allocate fd. - * bpf_map_put() is needed because the above - * bpf_map_alloc_id() has published the map - * to the userspace and the userspace may - * have refcnt-ed it through BPF_MAP_GET_FD_BY_ID. - */ - bpf_map_put(map); - return err; - } - - return err; - -free_map: - bpf_map_release_memlock(map); -free_map_sec: - // security_bpf_map_free(map); -free_map_nouncharge: - map->ops->map_free(map); - return err; -} - -/* if error is returned, fd is released. - * On success caller should complete fd access with matching fdput() - */ -struct bpf_map *__bpf_map_get(struct fd f) -{ - if (!f.file) - return ERR_PTR(-EBADF); - if (f.file->f_op != &bpf_map_fops) { - fdput(f); - return ERR_PTR(-EINVAL); - } - - return f.file->private_data; -} - -/* prog's and map's refcnt limit */ -#define BPF_MAX_REFCNT 32768 - -struct bpf_map *bpf_map_inc(struct bpf_map *map, bool uref) -{ - if (atomic_inc_return(&map->refcnt) > BPF_MAX_REFCNT) { - atomic_dec(&map->refcnt); - return ERR_PTR(-EBUSY); - } - if (uref) - atomic_inc(&map->usercnt); - return map; -} - -struct bpf_map *bpf_map_get_with_uref(u32 ufd) -{ - struct fd f = fdget(ufd); - struct bpf_map *map; - - map = __bpf_map_get(f); - if (IS_ERR(map)) - return map; - - map = bpf_map_inc(map, true); - fdput(f); - - return map; -} - -/* map_idr_lock should have been held */ -static struct bpf_map *bpf_map_inc_not_zero(struct bpf_map *map, - bool uref) -{ - int refold; - - refold = __atomic_add_unless(&map->refcnt, 1, 0); - - if (refold >= BPF_MAX_REFCNT) { - __bpf_map_put(map, false); - return ERR_PTR(-EBUSY); - } - - if (!refold) - return ERR_PTR(-ENOENT); - - if (uref) - atomic_inc(&map->usercnt); - - return map; -} - -int __weak bpf_stackmap_copy(struct bpf_map *map, void *key, void *value) -{ - return -ENOTSUPP; -} - -/* last field in 'union bpf_attr' used by this command */ -#define BPF_MAP_LOOKUP_ELEM_LAST_FIELD value - -static int map_lookup_elem(union bpf_attr *attr) -{ - void __user *ukey = u64_to_user_ptr(attr->key); - void __user *uvalue = u64_to_user_ptr(attr->value); - int ufd = attr->map_fd; - struct bpf_map *map; - void *key, *value, *ptr; - u32 value_size; - struct fd f; - int err; - - if (CHECK_ATTR(BPF_MAP_LOOKUP_ELEM)) - return -EINVAL; - - f = fdget(ufd); - map = __bpf_map_get(f); - if (IS_ERR(map)) - return PTR_ERR(map); - - if (!(f.file->f_mode & FMODE_CAN_READ)) { - err = -EPERM; - goto err_put; - } - - key = memdup_user(ukey, map->key_size); - if (IS_ERR(key)) { - err = PTR_ERR(key); - goto err_put; - } - - if (map->map_type == BPF_MAP_TYPE_PERCPU_HASH || - map->map_type == BPF_MAP_TYPE_LRU_PERCPU_HASH || - map->map_type == BPF_MAP_TYPE_PERCPU_ARRAY) - value_size = round_up(map->value_size, 8) * num_possible_cpus(); - else if (IS_FD_MAP(map)) - value_size = sizeof(u32); - else - value_size = map->value_size; - - err = -ENOMEM; - value = kmalloc(value_size, GFP_USER | __GFP_NOWARN); - if (!value) - goto free_key; - - if (map->map_type == BPF_MAP_TYPE_PERCPU_HASH || - map->map_type == BPF_MAP_TYPE_LRU_PERCPU_HASH) { - err = bpf_percpu_hash_copy(map, key, value); - } else if (map->map_type == BPF_MAP_TYPE_PERCPU_ARRAY) { - err = -EACCES; - // err = bpf_percpu_array_copy(map, key, value); - } else if (map->map_type == BPF_MAP_TYPE_STACK_TRACE) { - err = bpf_stackmap_copy(map, key, value); - } else if (IS_FD_ARRAY(map)) { - rcu_read_lock(); - err = bpf_fd_array_map_update_elem(map, f.file, key, value, - attr->flags); - rcu_read_unlock(); - } else if (IS_FD_HASH(map)) { - err = -EACCES; - } else { - rcu_read_lock(); - ptr = map->ops->map_lookup_elem(map, key); - if (ptr) - memcpy(value, ptr, value_size); - rcu_read_unlock(); - err = ptr ? 0 : -ENOENT; - } - - if (err) - goto free_value; - - err = -EFAULT; - if (copy_to_user(uvalue, value, value_size) != 0) - goto free_value; - - err = 0; - -free_value: - kfree(value); -free_key: - kfree(key); -err_put: - fdput(f); - return err; -} - -#define BPF_MAP_UPDATE_ELEM_LAST_FIELD flags - -static int map_update_elem(union bpf_attr *attr) -{ - void __user *ukey = u64_to_user_ptr(attr->key); - void __user *uvalue = u64_to_user_ptr(attr->value); - int ufd = attr->map_fd; - struct bpf_map *map; - void *key, *value; - u32 value_size; - struct fd f; - int err; - - if (CHECK_ATTR(BPF_MAP_UPDATE_ELEM)) - return -EINVAL; - - f = fdget(ufd); - map = __bpf_map_get(f); - if (IS_ERR(map)) - return PTR_ERR(map); - - if (!(f.file->f_mode & FMODE_CAN_WRITE)) { - err = -EPERM; - goto err_put; - } - - key = memdup_user(ukey, map->key_size); - if (IS_ERR(key)) { - err = PTR_ERR(key); - goto err_put; - } - - if (map->map_type == BPF_MAP_TYPE_PERCPU_HASH || - map->map_type == BPF_MAP_TYPE_LRU_PERCPU_HASH || - map->map_type == BPF_MAP_TYPE_PERCPU_ARRAY) - value_size = round_up(map->value_size, 8) * num_possible_cpus(); - else - value_size = map->value_size; - - err = -ENOMEM; - value = kmalloc(value_size, GFP_USER | __GFP_NOWARN); - if (!value) - goto free_key; - - err = -EFAULT; - if (copy_from_user(value, uvalue, value_size) != 0) - goto free_value; - - /* must increment bpf_prog_active to avoid kprobe+bpf triggering from - * inside bpf map update or delete otherwise deadlocks are possible - */ - preempt_disable(); - __this_cpu_inc(bpf_prog_active); - if (map->map_type == BPF_MAP_TYPE_PERCPU_HASH || - map->map_type == BPF_MAP_TYPE_LRU_PERCPU_HASH) { - err = bpf_percpu_hash_update(map, key, value, attr->flags); - } else if (map->map_type == BPF_MAP_TYPE_PERCPU_ARRAY) { - err = -EACCES; - // err = bpf_percpu_array_update(map, key, value, attr->flags); - } else if (IS_FD_ARRAY(map)) { - rcu_read_lock(); - err = bpf_fd_array_map_update_elem(map, f.file, key, value, - attr->flags); - rcu_read_unlock(); - } else if (map->map_type == BPF_MAP_TYPE_HASH_OF_MAPS) { - err = -EACCES; - // rcu_read_lock(); - // err = bpf_fd_htab_map_update_elem(map, f.file, key, value, - // attr->flags); - // rcu_read_unlock(); - } else { - rcu_read_lock(); - err = map->ops->map_update_elem(map, key, value, attr->flags); - rcu_read_unlock(); - } - __this_cpu_dec(bpf_prog_active); - preempt_enable(); -free_value: - kfree(value); -free_key: - kfree(key); -err_put: - fdput(f); - return err; -} - -#define BPF_MAP_DELETE_ELEM_LAST_FIELD key - -static int map_delete_elem(union bpf_attr *attr) -{ - void __user *ukey = u64_to_user_ptr(attr->key); - int ufd = attr->map_fd; - struct bpf_map *map; - struct fd f; - void *key; - int err; - - if (CHECK_ATTR(BPF_MAP_DELETE_ELEM)) - return -EINVAL; - - f = fdget(ufd); - map = __bpf_map_get(f); - if (IS_ERR(map)) - return PTR_ERR(map); - - if (!(f.file->f_mode & FMODE_CAN_WRITE)) { - err = -EPERM; - goto err_put; - } - - key = memdup_user(ukey, map->key_size); - if (IS_ERR(key)) { - err = PTR_ERR(key); - goto err_put; - } - - preempt_disable(); - __this_cpu_inc(bpf_prog_active); - rcu_read_lock(); - err = map->ops->map_delete_elem(map, key); - rcu_read_unlock(); - __this_cpu_dec(bpf_prog_active); - preempt_enable(); - kfree(key); -err_put: - fdput(f); - return err; -} - -/* last field in 'union bpf_attr' used by this command */ -#define BPF_MAP_GET_NEXT_KEY_LAST_FIELD next_key - -static int map_get_next_key(union bpf_attr *attr) -{ - void __user *ukey = u64_to_user_ptr(attr->key); - void __user *unext_key = u64_to_user_ptr(attr->next_key); - int ufd = attr->map_fd; - struct bpf_map *map; - void *key, *next_key; - struct fd f; - int err; - - if (CHECK_ATTR(BPF_MAP_GET_NEXT_KEY)) - return -EINVAL; - - f = fdget(ufd); - map = __bpf_map_get(f); - if (IS_ERR(map)) - return PTR_ERR(map); - - if (!(f.file->f_mode & FMODE_CAN_READ)) { - err = -EPERM; - goto err_put; - } - - if (ukey) { - key = memdup_user(ukey, map->key_size); - if (IS_ERR(key)) { - err = PTR_ERR(key); - goto err_put; - } - } else { - key = NULL; - } - - err = -ENOMEM; - next_key = kmalloc(map->key_size, GFP_USER); - if (!next_key) - goto free_key; - - rcu_read_lock(); - err = map->ops->map_get_next_key(map, key, next_key); - rcu_read_unlock(); - if (err) - goto free_next_key; - - err = -EFAULT; - if (copy_to_user(unext_key, next_key, map->key_size) != 0) - goto free_next_key; - - err = 0; - -free_next_key: - kfree(next_key); -free_key: - kfree(key); -err_put: - fdput(f); - return err; -} - - -static const struct bpf_prog_ops * const bpf_prog_types[] = { -#define BPF_PROG_TYPE(_id, _name) \ - [_id] = & _name ## _prog_ops, -#define BPF_MAP_TYPE(_id, _ops) -#include "linux/bpf_types.h" -#undef BPF_PROG_TYPE -#undef BPF_MAP_TYPE -}; - -static int find_prog_type(enum bpf_prog_type type, struct bpf_prog *prog) -{ - const struct bpf_prog_ops *ops; - - if (type >= ARRAY_SIZE(bpf_prog_types)) - return -EINVAL; - type = array_index_nospec(type, ARRAY_SIZE(bpf_prog_types)); - ops = bpf_prog_types[type]; - if (!ops) - return -EINVAL; - - prog->aux->ops = ops; - prog->type = type; - return 0; -} - -/* drop refcnt on maps used by eBPF program and free auxilary data */ -static void free_used_maps(struct bpf_prog_aux *aux) -{ - int i; - - for (i = 0; i < aux->used_map_cnt; i++) - bpf_map_put(aux->used_maps[i]); - - kfree(aux->used_maps); -} - -int __bpf_prog_charge(struct user_struct *user, u32 pages) -{ - unsigned long memlock_limit = rlimit(RLIMIT_MEMLOCK) >> PAGE_SHIFT; - unsigned long user_bufs; - - if (user) { - user_bufs = atomic_long_add_return(pages, &user->locked_vm); - if (user_bufs > memlock_limit) { - atomic_long_sub(pages, &user->locked_vm); - return -EPERM; - } - } - - return 0; -} - -void __bpf_prog_uncharge(struct user_struct *user, u32 pages) -{ - if (user) - atomic_long_sub(pages, &user->locked_vm); -} - -static int bpf_prog_charge_memlock(struct bpf_prog *prog) -{ - struct user_struct *user = get_current_user(); - int ret; - - ret = __bpf_prog_charge(user, prog->pages); - if (ret) { - free_uid_p(user); - return ret; - } - - prog->aux->user = user; - return 0; -} - -static void bpf_prog_uncharge_memlock(struct bpf_prog *prog) -{ - struct user_struct *user = prog->aux->user; - - __bpf_prog_uncharge(user, prog->pages); - free_uid_p(user); -} - -static int bpf_prog_alloc_id(struct bpf_prog *prog) -{ - int id; - - idr_preload(GFP_KERNEL); - spin_lock_bh(&prog_idr_lock); - id = idr_alloc_cyclic(&prog_idr, prog, 1, INT_MAX, GFP_ATOMIC); - if (id > 0) - prog->aux->id = id; - spin_unlock_bh(&prog_idr_lock); - idr_preload_end(); - - /* id is in [1, INT_MAX) */ - if (WARN_ON_ONCE(!id)) - return -ENOSPC; - - return id > 0 ? 0 : id; -} - -static void bpf_prog_free_id(struct bpf_prog *prog, bool do_idr_lock) -{ - /* cBPF to eBPF migrations are currently not in the idr store. */ - if (!prog->aux->id) - return; - - if (do_idr_lock) - spin_lock_bh(&prog_idr_lock); - else - __acquire(&prog_idr_lock); - - idr_remove(&prog_idr, prog->aux->id); - - if (do_idr_lock) - spin_unlock_bh(&prog_idr_lock); - else - __release(&prog_idr_lock); -} - -static void __bpf_prog_put_rcu(struct rcu_head *rcu) -{ - struct bpf_prog_aux *aux = container_of(rcu, struct bpf_prog_aux, rcu); - - free_used_maps(aux); - bpf_prog_uncharge_memlock(aux->prog); - // security_bpf_prog_free(aux); - bpf_prog_free(aux->prog); -} - -static void __bpf_prog_put(struct bpf_prog *prog, bool do_idr_lock) -{ - if (atomic_dec_and_test(&prog->aux->refcnt)) { - /* bpf_prog_free_id() must be called first */ - bpf_prog_free_id(prog, do_idr_lock); - // bpf_prog_kallsyms_del_all(prog); - call_rcu(&prog->aux->rcu, __bpf_prog_put_rcu); - } -} - -void bpf_prog_put(struct bpf_prog *prog) -{ - __bpf_prog_put(prog, true); -} - -static int bpf_prog_release(struct inode *inode, struct file *filp) -{ - struct bpf_prog *prog = filp->private_data; - - bpf_prog_put(prog); - return 0; -} - -#ifdef CONFIG_PROC_FS -static int bpf_prog_show_fdinfo(struct seq_file *m, struct file *filp) -{ - const struct bpf_prog *prog = filp->private_data; - char prog_tag[sizeof(prog->tag) * 2 + 1] = { }; - int ret = 0; - - // bin2hex(prog_tag, prog->tag, sizeof(prog->tag)); - // ret = seq_printf(m, - // "prog_type:\t%u\n" - // "prog_jited:\t%u\n" - // "prog_tag:\t%s\n" - // "memlock:\t%llu\n" - // "prog_id:\t%u\n", - // prog->type, - // prog->jited, - // prog_tag, - // prog->pages * 1ULL << PAGE_SHIFT, - // prog->aux->id); - - return ret; -} -#endif - -const struct file_operations bpf_prog_fops = { -#ifdef CONFIG_PROC_FS - .show_fdinfo = bpf_prog_show_fdinfo, -#endif - .release = bpf_prog_release, - .read = bpf_dummy_read, - .write = bpf_dummy_write, -}; - -int bpf_prog_new_fd(struct bpf_prog *prog) -{ - // int ret; - - // ret = security_bpf_prog(prog); - // if (ret < 0) - // return ret; - - return anon_inode_getfd("bpf-prog", &bpf_prog_fops, prog, - O_RDWR | O_CLOEXEC); -} - -static struct bpf_prog *____bpf_prog_get(struct fd f) -{ - if (!f.file) - return ERR_PTR(-EBADF); - if (f.file->f_op != &bpf_prog_fops) { - fdput(f); - return ERR_PTR(-EINVAL); - } - - return f.file->private_data; -} - -struct bpf_prog *bpf_prog_add(struct bpf_prog *prog, int i) -{ - if (atomic_add_return(i, &prog->aux->refcnt) > BPF_MAX_REFCNT) { - atomic_sub(i, &prog->aux->refcnt); - return ERR_PTR(-EBUSY); - } - return prog; -} - -struct bpf_prog *bpf_prog_inc(struct bpf_prog *prog) -{ - return bpf_prog_add(prog, 1); -} - -/* prog_idr_lock should have been held */ -struct bpf_prog *bpf_prog_inc_not_zero(struct bpf_prog *prog) -{ - int refold; - - refold = __atomic_add_unless(&prog->aux->refcnt, 1, 0); - - if (refold >= BPF_MAX_REFCNT) { - __bpf_prog_put(prog, false); - return ERR_PTR(-EBUSY); - } - - if (!refold) - return ERR_PTR(-ENOENT); - - return prog; -} - -static struct bpf_prog *__bpf_prog_get(u32 ufd, enum bpf_prog_type *type) -{ - struct fd f = fdget(ufd); - struct bpf_prog *prog; - - prog = ____bpf_prog_get(f); - if (IS_ERR(prog)) - return prog; - if (type && prog->type != *type) { - prog = ERR_PTR(-EINVAL); - goto out; - } - - prog = bpf_prog_inc(prog); -out: - fdput(f); - return prog; -} - -struct bpf_prog *bpf_prog_get(u32 ufd) -{ - return __bpf_prog_get(ufd, NULL); -} - -struct bpf_prog *bpf_prog_get_type(u32 ufd, enum bpf_prog_type type) -{ - return __bpf_prog_get(ufd, &type); -} - -static bool is_test_type(enum bpf_prog_type type) -{ - // return bpftest && - // (type == BPF_PROG_TYPE_SOCKET_FILTER || - // type == BPF_PROG_TYPE_SCHED_CLS || - // type == BPF_PROG_TYPE_SCHED_ACT); - return false; -} - -static int -bpf_prog_load_check_attach_type(enum bpf_prog_type prog_type, - enum bpf_attach_type expected_attach_type) -{ - /* There are currently no prog types that require specifying - * attach_type at load time. - */ - return 0; -} - -struct bpf_tracepoint { - struct bpf_tracepoint_event *bte; - struct bpf_prog *prog; -}; - -static int bpf_tracepoint_release(struct inode *inode, struct file *filp) -{ - struct bpf_tracepoint *bpf_tp = filp->private_data; - if (bpf_tp->prog) { - bpf_tracepoint_unregister(bpf_tp->bte, bpf_tp->prog); - bpf_prog_put(bpf_tp->prog); - } - - kfree(bpf_tp); - return 0; -} - -static const struct file_operations bpf_tracepoint_fops = { - .release = bpf_tracepoint_release, - .read = bpf_dummy_read, - .write = bpf_dummy_write, -}; - - -struct bpf_kprobe { - struct bpf_kprobe_event *bke; - struct bpf_prog *prog; -}; - -static int bpf_kprobe_release(struct inode *inode, struct file *filp) -{ - struct bpf_kprobe *bpf_kp = filp->private_data; - if (bpf_kp->prog) { - bpf_kprobe_unregister(bpf_kp->bke); - free_bpf_kprobe_event(bpf_kp->bke); - bpf_prog_put(bpf_kp->prog); - } - - kfree(bpf_kp); - return 0; -} - -static const struct file_operations bpf_kprobe_fops = { - .release = bpf_kprobe_release, - .read = bpf_dummy_read, - .write = bpf_dummy_write, -}; - -/* last field in 'union bpf_attr' used by this command */ -#define BPF_PROG_LOAD_LAST_FIELD expected_attach_type - -static int bpf_prog_load(union bpf_attr *attr) -{ - enum bpf_prog_type type = attr->prog_type; - struct bpf_prog *prog; - int err; - char license[128]; - bool is_gpl; - - /* RHEL7 - allow only following types */ - if (type != BPF_PROG_TYPE_KPROBE && - type != BPF_PROG_TYPE_TRACEPOINT && - type != BPF_PROG_TYPE_PERF_EVENT && - !is_test_type(type)) - return -EINVAL; - - if (CHECK_ATTR(BPF_PROG_LOAD)) - return -EINVAL; - - if (attr->prog_flags & ~BPF_F_STRICT_ALIGNMENT) - return -EINVAL; - /* copy eBPF program license from user space */ - if (strncpy_from_user(license, u64_to_user_ptr(attr->license), - sizeof(license) - 1) < 0) - return -EFAULT; - license[sizeof(license) - 1] = 0; - - /* eBPF programs must be GPL compatible to use GPL-ed functions */ - is_gpl = license_is_gpl_compatible(license); - - if (attr->insn_cnt == 0 || attr->insn_cnt > BPF_MAXINSNS) - return -E2BIG; - - if (type == BPF_PROG_TYPE_KPROBE && - attr->kern_version != LINUX_VERSION_CODE) - return -EINVAL; - - if (type != BPF_PROG_TYPE_SOCKET_FILTER && - type != BPF_PROG_TYPE_CGROUP_SKB && - !capable(CAP_SYS_ADMIN)) - return -EPERM; - - if (bpf_prog_load_check_attach_type(type, attr->expected_attach_type)) - return -EINVAL; - - /* plain bpf_prog allocation */ - prog = bpf_prog_alloc(bpf_prog_size(attr->insn_cnt), GFP_USER); - if (!prog) - return -ENOMEM; - prog->expected_attach_type = attr->expected_attach_type; - - // err = security_bpf_prog_alloc(prog->aux); - // if (err) - // goto free_prog_nouncharge; - - err = bpf_prog_charge_memlock(prog); - if (err) - goto free_prog_sec; - - prog->len = attr->insn_cnt; - - err = -EFAULT; - if (copy_from_user(prog->insns, u64_to_user_ptr(attr->insns), - bpf_prog_insn_size(prog)) != 0) - goto free_prog; - - prog->orig_prog = NULL; - prog->jited = 0; - - atomic_set(&prog->aux->refcnt, 1); - prog->gpl_compatible = is_gpl ? 1 : 0; - - /* find program type: socket_filter vs tracing_filter */ - err = find_prog_type(type, prog); - if (err < 0) - goto free_prog; - - // prog->aux->load_time = ktime_get_boot_ns(); - err = bpf_obj_name_cpy(prog->aux->name, attr->prog_name); - if (err) - goto free_prog; - - /* run eBPF verifier */ - err = bpf_check(&prog, attr); - if (err < 0) - goto free_used_maps; - - /* eBPF program is ready to be JITed */ - if (!prog->bpf_func) - prog = bpf_prog_select_runtime(prog, &err); - if (err < 0) - goto free_used_maps; - - err = bpf_prog_alloc_id(prog); - if (err) - goto free_used_maps; - - err = bpf_prog_new_fd(prog); - if (err < 0) { - /* failed to allocate fd. - * bpf_prog_put() is needed because the above - * bpf_prog_alloc_id() has published the prog - * to the userspace and the userspace may - * have refcnt-ed it through BPF_PROG_GET_FD_BY_ID. - */ - bpf_prog_put(prog); - return err; - } - - // bpf_prog_kallsyms_add(prog); - return err; - -free_used_maps: - // bpf_prog_kallsyms_del_subprogs(prog); - free_used_maps(prog->aux); -free_prog: - bpf_prog_uncharge_memlock(prog); -free_prog_sec: - // security_bpf_prog_free(prog->aux); -free_prog_nouncharge: - bpf_prog_free(prog); - return err; -} - -// #define BPF_PROG_ATTACH_LAST_FIELD attach_flags - -static int bpf_prog_attach_kprobe(u32 prog_fd, char *name, bool is_return) -{ - struct bpf_kprobe *bpf_kp; - struct bpf_prog *prog; - int kp_fd, err = 0; - bpf_kp = kzalloc(sizeof(*bpf_kp), GFP_USER); - if (!bpf_kp) - return -ENOMEM; - - prog = bpf_prog_get(prog_fd); - if (IS_ERR(prog)) { - err = PTR_ERR(prog); - goto free_bpf_kp; - } - - bpf_kp->bke = alloc_bpf_kprobe_event(prog, name, is_return); - if (IS_ERR(bpf_kp->bke)) { - err = PTR_ERR(bpf_kp->bke); - goto free_bpf_kp; - } - - err = bpf_kprobe_register(bpf_kp->bke); - if (err) { - printk(KERN_ERR "Failed to register kprobe\n"); - goto put_prog; - } - - bpf_kp->prog = prog; - kp_fd = anon_inode_getfd("bpf-kprobe", &bpf_kprobe_fops, bpf_kp, O_CLOEXEC); - if (kp_fd < 0) { - printk(KERN_ERR "Failed to get anon inode for bpf-kprobe\n"); - bpf_kprobe_unregister(bpf_kp->bke); - err = kp_fd; - goto put_prog; - } - return kp_fd; - -put_prog: - bpf_prog_put(prog); -free_bke: - free_bpf_kprobe_event(bpf_kp->bke); -free_bpf_kp: - kfree(bpf_kp); - return err; -} - -static int bpf_prog_attach_tracepoint(u32 prog_fd, char *category, char *name) -{ - struct bpf_tracepoint *bpf_tp; - struct bpf_tracepoint_event *bte; - struct bpf_prog *prog; - int tp_fd, err = 0; - - bte = bpf_find_tracepoint(name); - if (!bte) - return -ENOENT; - - bpf_tp = kzalloc(sizeof(*bpf_tp), GFP_USER); - if (!bpf_tp) - return -ENOMEM; - - bpf_tp->bte = bte; - prog = bpf_prog_get(prog_fd); - if (IS_ERR(prog)) { - err = PTR_ERR(prog); - goto free_bpf_tp; - } - - err = bpf_tracepoint_register(bte, prog); - if (err) - goto put_prog; - - bpf_tp->prog = prog; - tp_fd = anon_inode_getfd("bpf-tracepoint", &bpf_tracepoint_fops, bpf_tp, O_CLOEXEC); - if (tp_fd < 0) { - bpf_tracepoint_unregister(bpf_tp->bte, prog); - err = tp_fd; - goto put_prog; - } - return tp_fd; - -put_prog: - bpf_prog_put(prog); -free_bpf_tp: - kfree(bpf_tp); - return err; -} - -static int bpf_prog_attach(u64 arg) -{ - struct ebpfdrv_attr attr = {}; - struct bpf_prog *prog; - int err; - char name[128]; - char category[64]; - u32 prog_fd; - - /* copy attributes from user space, may be less than sizeof(bpf_attr) */ - if (copy_from_user(&attr, u64_to_user_ptr((u64)arg), sizeof(attr)) != 0) - return -EFAULT; - - prog_fd = attr.prog_fd; - prog = bpf_prog_get(prog_fd); - - if (IS_ERR(prog)) - return PTR_ERR(prog); - - switch(prog->type) - { - case BPF_PROG_TYPE_KPROBE: - { - if (strncpy_from_user(name, u64_to_user_ptr(attr.kprobe.name), sizeof(name) - 1) < 0) - { - err = -EFAULT; - goto out; - } - name[sizeof(name) - 1] = 0; - err = bpf_prog_attach_kprobe(prog_fd, name, attr.kprobe.is_return); - break; - } - case BPF_PROG_TYPE_TRACEPOINT: - { - if (strncpy_from_user(name, u64_to_user_ptr(attr.tracepoint.name), sizeof(name) - 1) < 0) - { - err = -EFAULT; - goto out; - } - name[sizeof(name) - 1] = 0; - - if (strncpy_from_user(category, u64_to_user_ptr(attr.tracepoint.category), sizeof(category) - 1) < 0) - { - err = -EFAULT; - goto out; - } - category[sizeof(category) - 1] = 0; - err = bpf_prog_attach_tracepoint(prog_fd, category, name); - break; - } - default: - { - err = -ENOTSUPP; - break; - } - } - -out: - bpf_prog_put(prog); - return err; -} - -static int bpf_map_get_info_by_fd(struct bpf_map *map, - const union bpf_attr *attr, - union bpf_attr __user *uattr) -{ - struct bpf_map_info __user *uinfo = u64_to_user_ptr(attr->info.info); - struct bpf_map_info info = {}; - u32 info_len = attr->info.info_len; - int err; - - err = check_uarg_tail_zero(uinfo, sizeof(info), info_len); - if (err) - return err; - info_len = min_t(u32, sizeof(info), info_len); - - info.type = map->map_type; - info.id = map->id; - info.key_size = map->key_size; - info.value_size = map->value_size; - info.max_entries = map->max_entries; - info.map_flags = map->map_flags; - memcpy(info.name, map->name, sizeof(map->name)); - - if (copy_to_user(uinfo, &info, info_len) || - put_user(info_len, &uattr->info.info_len)) - return -EFAULT; - - return 0; -} - -#define BPF_OBJ_GET_INFO_BY_FD_LAST_FIELD info.info - -static int bpf_obj_get_info_by_fd(const union bpf_attr *attr, - union bpf_attr __user *uattr) -{ - int ufd = attr->info.bpf_fd; - struct fd f; - int err; - - if (CHECK_ATTR(BPF_OBJ_GET_INFO_BY_FD)) - return -EINVAL; - - f = fdget(ufd); - if (!f.file) - return -EBADFD; - - if (f.file->f_op == &bpf_prog_fops) - err = -ENOTSUPP; - // err = bpf_prog_get_info_by_fd(f.file->private_data, attr, - // uattr); - else if (f.file->f_op == &bpf_map_fops) - err = bpf_map_get_info_by_fd(f.file->private_data, attr, - uattr); - else - err = -EINVAL; - - fdput(f); - return err; -} - -static long ebpf_ioctl(struct file *file, unsigned int cmd, unsigned long arg) -{ - union bpf_attr attr = {}; - static int marked; - int err; - - if (!capable(CAP_SYS_ADMIN)) - return -EPERM; - - if (!marked) - { - mark_tech_preview("eBPF syscall", NULL); - marked = true; - } - - if (cmd == IOCTL_BPF_PROG_ATTACH) - { - err = bpf_prog_attach(arg); - return err; - } - - err = check_uarg_tail_zero(u64_to_user_ptr((u64)arg), sizeof(attr), sizeof(attr)); - if (err) - return err; - - /* copy attributes from user space, may be less than sizeof(bpf_attr) */ - if (copy_from_user(&attr, u64_to_user_ptr((u64)arg), sizeof(attr)) != 0) - return -EFAULT; - - switch (cmd) - { - case IOCTL_BPF_MAP_CREATE: - printk("IOCTL_BPF_MAP_CREATE\n"); - err = map_create(&attr); - break; - case IOCTL_BPF_MAP_LOOKUP_ELEM: - err = map_lookup_elem(&attr); - break; - case IOCTL_BPF_MAP_UPDATE_ELEM: - err = map_update_elem(&attr); - break; - case IOCTL_BPF_MAP_DELETE_ELEM: - err = map_delete_elem(&attr); - break; - case IOCTL_BPF_MAP_GET_NEXT_KEY: - err = map_get_next_key(&attr); - break; - case IOCTL_BPF_PROG_LOAD: - printk("IOCTL_BPF_PROG_LOAD\n"); - err = bpf_prog_load(&attr); - printk("IOCTL_BPF_PROG_LOAD return %d\n", err); - break; - case IOCTL_BPF_OBJ_GET_INFO_BY_FD: - err = bpf_obj_get_info_by_fd(&attr, u64_to_user_ptr(arg)); - break; - default: - printk("%d not implemented.\n", cmd); - err = -EINVAL; - break; - } - - return err; -} - -int ebpf_open(struct inode *inode, struct file *filp) -{ - filp->private_data = inode->i_cdev; - return 0; -} - -static const struct file_operations ebpf_fops = { - .unlocked_ioctl = ebpf_ioctl, - .owner = THIS_MODULE, - .open = ebpf_open, -}; - - -extern int stack_map_init(void); - -static int ebpf_init(void) -{ - int err; - dev_t devno; - - /* 动态分配设备号 */ - err = alloc_chrdev_region(&devno, 0, 1, "ebpfdev"); - if (err) - goto out; - - dev_major = MAJOR(devno); - ebpf_class = class_create(THIS_MODULE, "ebpfdrv"); - - /* 初始化cdev结构,并传递file_operations结构指针 */ - cdev_init(&ebpfdev, &ebpf_fops); - /* 指定所属模块 */ - ebpfdev.owner = THIS_MODULE; - /* 注册字符设备 */ - err = cdev_add(&ebpfdev, MKDEV(dev_major, 0), 1); - if (err) - goto out; - - device_create(ebpf_class, NULL, MKDEV(dev_major, 0), NULL, "ebpfdrv"); - - err = load_allsyms(); - if (err) - goto out; - stack_map_init(); - return 0; -out: - printk(KERN_NOTICE "Error %d adding ebpfdev%d\n", err, 0); - return err; -} -void ebpf_exit(void) -{ - device_destroy(ebpf_class, MKDEV(dev_major, 0)); - class_unregister(ebpf_class); - class_destroy(ebpf_class); - cdev_del(&ebpfdev); - unregister_chrdev_region(MKDEV(dev_major, 0), MINORMASK); - printk(KERN_INFO "ebpf driver exit\n"); -} - -module_init(ebpf_init); -module_exit(ebpf_exit); diff --git a/lcc/glcc/lib/ebpf/ebpf.h b/lcc/glcc/lib/ebpf/ebpf.h deleted file mode 100644 index 562b6f6..0000000 --- a/lcc/glcc/lib/ebpf/ebpf.h +++ /dev/null @@ -1,17 +0,0 @@ -#ifndef __EBPF_H -#define __EBPF_H - -#include - -#define IOCTL_BPF_MAP_CREATE _IOW(';', 0, union bpf_attr *) -#define IOCTL_BPF_MAP_LOOKUP_ELEM _IOWR(';', 1, union bpf_attr *) -#define IOCTL_BPF_MAP_UPDATE_ELEM _IOW(';', 2, union bpf_attr *) -#define IOCTL_BPF_MAP_DELETE_ELEM _IOW(';', 3, union bpf_attr *) -#define IOCTL_BPF_MAP_GET_NEXT_KEY _IOW(';', 4, union bpf_attr *) -#define IOCTL_BPF_PROG_LOAD _IOW(';', 5, union bpf_attr *) -#define IOCTL_BPF_PROG_ATTACH _IOW(';', 6, __u32) -#define IOCTL_BPF_PROG_FUNCNAME _IOW(';', 7, char *) -#define IOCTL_BPF_OBJ_GET_INFO_BY_FD _IOWR(';', 8, union bpf_attr *) - - -#endif \ No newline at end of file diff --git a/lcc/glcc/lib/ebpf/ebpf_kprobe.c b/lcc/glcc/lib/ebpf/ebpf_kprobe.c deleted file mode 100644 index 848e60d..0000000 --- a/lcc/glcc/lib/ebpf/ebpf_kprobe.c +++ /dev/null @@ -1,99 +0,0 @@ -#include "ebpf_kprobe.h" - -#define KPROBE_MAGIC 0x22 - -static __always_inline void __bpf_kprobe_run(struct bpf_prog *prog, u64 *args) -{ - rcu_read_lock(); - preempt_disable(); - (void)BPF_PROG_RUN(prog, args); - preempt_enable(); - rcu_read_unlock(); -} - -static int bpf_kprobe_dispatcher(struct kprobe *kp, struct pt_regs *regs) -{ - struct bpf_kprobe_event *bke = container_of(kp, struct bpf_kprobe_event, rp.kp); - __bpf_kprobe_run(bke->prog, (u64 *)regs); - return 0; -} - -static int bpf_kretprobe_dispatcher(struct kretprobe_instance *ri, struct pt_regs *regs) -{ - struct bpf_kprobe_event *bke = container_of(ri->rp, struct bpf_kprobe_event, rp); - __bpf_kprobe_run(bke->prog, (u64 *)regs); - return 0; -} - -struct bpf_kprobe_event *alloc_bpf_kprobe_event(struct bpf_prog *prog, const char *symbol, bool is_return) -{ - struct bpf_kprobe_event *bke; - int err = 0; - - bke = kzalloc(sizeof(*bke), GFP_USER); - if (!bke) - return ERR_PTR(-ENOMEM); - - bke->is_return = is_return; - // todo: alloc nhit - - if (symbol) - { - bke->symbol = kstrdup(symbol, GFP_USER); - if (!bke->symbol) - { - err = -ENOMEM; - goto free_bke; - } - bke->rp.kp.symbol_name = bke->symbol; - } - else - { - printk(KERN_ERR "BUG: no symbol exists\n"); - err = -EINVAL; - goto free_bke; - } - - if (is_return) - bke->rp.handler = bpf_kretprobe_dispatcher; - else - bke->rp.kp.pre_handler = bpf_kprobe_dispatcher; - - bke->prog = prog; - return bke; - -// free_symbol: -// kfree(bke->symbol); -free_bke: - kfree(bke); - return ERR_PTR(err); -} - -void free_bpf_kprobe_event(struct bpf_kprobe_event *bke) -{ - kfree(bke->symbol); - kfree(bke); -} - -// attach k(ret)probe -int bpf_kprobe_register(struct bpf_kprobe_event *bke) -{ - int err; - if (bke->is_return) - err = register_kretprobe(&bke->rp); - else - err = register_kprobe(&bke->rp.kp); - - printk("Register %s: name - %s, error: %u\n", bke->is_return ? "kretprobe" : "kprobe", bke->symbol, err); - return err; -} - -void bpf_kprobe_unregister(struct bpf_kprobe_event *bke) -{ - if (bke->is_return) - unregister_kretprobe(&bke->rp); - else - unregister_kprobe(&bke->rp.kp); - - printk("Unegister %s: name - %s\n", bke->is_return ? "kretprobe" : "kprobe", bke->symbol); -} diff --git a/lcc/glcc/lib/ebpf/ebpf_kprobe.h b/lcc/glcc/lib/ebpf/ebpf_kprobe.h deleted file mode 100644 index f63cda0..0000000 --- a/lcc/glcc/lib/ebpf/ebpf_kprobe.h +++ /dev/null @@ -1,22 +0,0 @@ -#ifndef __EBPF_KPROBE_H_ -#define __EBPF_KPROBE_H_ -#include -#include "linux/filter.h" - -struct bpf_kprobe_event -{ - unsigned long __percpu *nhit; - const char *symbol; - struct kretprobe rp; // 3.10 kretprobe does not have kp - struct kprobe kp; - struct bpf_prog *prog; - bool is_return; -}; - -struct bpf_kprobe_event *alloc_bpf_kprobe_event(struct bpf_prog *prog, const char *symbol, bool is_return); -void free_bpf_kprobe_event(struct bpf_kprobe_event *bke); - -int bpf_kprobe_register(struct bpf_kprobe_event *bke); -void bpf_kprobe_unregister(struct bpf_kprobe_event *bke); - -#endif diff --git a/lcc/glcc/lib/ebpf/ebpf_tracepoint.c b/lcc/glcc/lib/ebpf/ebpf_tracepoint.c deleted file mode 100644 index f9eb44e..0000000 --- a/lcc/glcc/lib/ebpf/ebpf_tracepoint.c +++ /dev/null @@ -1,299 +0,0 @@ -#include "ebpf_tracepoint.h" -#include -#include -#include -#include "allsyms.h" - -#include - -static __always_inline void __bpf_tracepoint_run(struct bpf_prog *prog, u64 *args) -{ - rcu_read_lock(); - preempt_disable(); - (void)BPF_PROG_RUN(prog, args); - preempt_enable(); - rcu_read_unlock(); -} - -static int ebpf_net_dev_xmit(void *data, void *skbaddr, int rc, void *dev, int len) -{ - // trace_net_dev_xmit(skb, rc, dev, len); - struct bpf_prog *prog = (struct bpf_prog *)data; - struct args - { - struct trace_entry entry; - void *skbaddr; - unsigned int len; - int rc; - u32 __data_loc_name; - char __data[0]; - } arg = { - .skbaddr = skbaddr, - .rc = rc, - .len = len, - }; - __bpf_tracepoint_run(prog, (u64 *)&arg); - return 0; -} - -static int ebpf_netif_receive_skb(void *data, struct sk_buff *skb) -{ - struct bpf_prog *prog = (struct bpf_prog *)data; - struct args - { - struct trace_entry entry; - struct sk_buff *skb; - unsigned int len; - } arg = { - .skb = skb, - .len = skb->len, - }; - __bpf_tracepoint_run(prog, (u64 *)&arg); - return 0; -} - -static int ebpf_sched_wakeup(void *data, struct task_struct *p, int success) -{ - struct bpf_prog *prog = (struct bpf_prog *)data; - struct args - { - struct trace_entry entry; - char comm[TASK_COMM_LEN]; - pid_t pid; - int prio; - int success; - int target_cpu; - } arg = { - .pid = p->pid, - .prio = p->prio, - .success = success, - .target_cpu = task_cpu(p), - }; - memcpy(arg.comm, p->comm, TASK_COMM_LEN); - __bpf_tracepoint_run(prog, (u64 *)&arg); - return 0; -} - -static int ebpf_sched_wakeup_new(void *data, struct task_struct *p, int success) -{ - struct bpf_prog *prog = (struct bpf_prog *)data; - struct args - { - struct trace_entry entry; - char comm[TASK_COMM_LEN]; - pid_t pid; - int prio; - int success; - int target_cpu; - } arg = { - .pid = p->pid, - .prio = p->prio, - .success = success, - .target_cpu = task_cpu(p), - }; - memcpy(arg.comm, p->comm, TASK_COMM_LEN); - __bpf_tracepoint_run(prog, (u64 *)&arg); - return 0; -} - -static int ebpf_sched_switch(void *data, struct task_struct *prev, struct task_struct *next) -{ - struct bpf_prog *prog = (struct bpf_prog *)data; - struct args - { - struct trace_entry entry; - char prev_comm[TASK_COMM_LEN]; - pid_t prev_pid; - int prev_prio; - long prev_state; - char next_comm[TASK_COMM_LEN]; - pid_t next_pid; - int next_prio; - } arg = { - .prev_pid = prev->pid, - .prev_prio = prev->prio, - .prev_state = prev->state, - .next_pid = next->pid, - .next_prio = next->prio, - }; - memcpy(arg.prev_comm, prev->comm, TASK_COMM_LEN); - memcpy(arg.next_comm, next->comm, TASK_COMM_LEN); - __bpf_tracepoint_run(prog, (u64 *)&arg); - return 0; -} - -static int ebpf_softirq_raise(void *data, unsigned int vec_nr) -{ - struct bpf_prog *prog = (struct bpf_prog *)data; - struct args - { - struct trace_entry entry; - unsigned int vec; - } arg = { - .vec = vec_nr, - }; - __bpf_tracepoint_run(prog, (u64 *)&arg); - return 0; -} - -static int ebpf_net_dev_queue(void *data, struct sk_buff *skb) -{ - struct bpf_prog *prog = (struct bpf_prog *)data; - struct args - { - struct trace_entry entry; - struct sk_buff *skb; - unsigned int len; - } arg = { - .skb = skb, - .len = skb->len, - }; - __bpf_tracepoint_run(prog, (u64 *)&arg); - return 0; -} - -static int ebpf_sched_stat_template(void *data, struct task_struct *tsk, u64 delay) -{ - struct bpf_prog *prog = (struct bpf_prog *)data; - struct args { - struct trace_entry entry; - char comm[TASK_COMM_LEN]; - pid_t pid; - u64 delay; - } arg = { - .pid = tsk->pid, - .delay = delay, - }; - memcpy(arg.comm, tsk->comm, TASK_COMM_LEN); - __bpf_tracepoint_run(prog, (u64 *)&arg); - - return 0; -} - -static int ebpf_workqueue_execute_start(void *data, struct work_struct *work) -{ - struct bpf_prog *prog = (struct bpf_prog *)data; - struct args { - void *work; - void *function; - } arg = { - .work = work, - .function = work->func, - }; - __bpf_tracepoint_run(prog, (u64 *)&arg); - - return 0; -} - -static int ebpf_workqueue_work_template(void *data, struct work_struct *work) -{ - struct bpf_prog *prog = (struct bpf_prog *)data; - struct args { - void *work; - } arg = { - .work = work, - }; - __bpf_tracepoint_run(prog, (u64 *)&arg); - - return 0; -} - -static int ebpf_mm_vmscan_direct_reclaim_begin_template(void *data, int order, int may_writepage, gfp_t gfp_flags) -{ - struct bpf_prog *prog = (struct bpf_prog *)data; - struct args { - int order; - gfp_t gfp_flags; - } arg = { - .order = order, - .gfp_flags = gfp_flags, - }; - __bpf_tracepoint_run(prog, (u64 *)&arg); - - return 0; -} - -static int ebpf_mm_vmscan_direct_reclaim_end_template(void *data, unsigned long nr_reclaimed) -{ - struct bpf_prog *prog = (struct bpf_prog *)data; - struct args { - unsigned long nr_reclaimed; - } arg = { - .nr_reclaimed = nr_reclaimed, - }; - __bpf_tracepoint_run(prog, (u64 *)&arg); - - return 0; -} - -static int ebpf_mm_vmscan_memcg_reclaim_begin_template(void *data, int order, int may_writepage, gfp_t gfp_flags) -{ - struct bpf_prog *prog = (struct bpf_prog *)data; - struct args { - int order; - gfp_t gfp_flags; - } arg = { - .order = order, - .gfp_flags = gfp_flags, - }; - __bpf_tracepoint_run(prog, (u64 *)&arg); - - return 0; -} - -static int ebpf_mm_vmscan_memcg_reclaim_end_template(void *data, unsigned long nr_reclaimed) -{ - struct bpf_prog *prog = (struct bpf_prog *)data; - struct args { - unsigned long nr_reclaimed; - } arg = { - .nr_reclaimed = nr_reclaimed, - }; - __bpf_tracepoint_run(prog, (u64 *)&arg); - - return 0; -} - -static struct bpf_tracepoint_event events_table[] = - { - {.name = "net_dev_queue", .bpf_func = ebpf_net_dev_queue}, - {.name = "softirq_raise", .bpf_func = ebpf_softirq_raise}, - {.name = "sched_wakeup", .bpf_func = ebpf_sched_wakeup}, - {.name = "sched_wakeup_new", .bpf_func = ebpf_sched_wakeup_new}, - {.name = "sched_switch", .bpf_func = ebpf_sched_switch}, - {.name = "netif_receive_skb", .bpf_func = ebpf_netif_receive_skb}, - {.name = "net_dev_xmit", .bpf_func = ebpf_net_dev_xmit}, - {.name = "sched_stat_wait", .bpf_func = ebpf_sched_stat_template}, - {.name = "sched_stat_iowait", .bpf_func = ebpf_sched_stat_template}, - {.name = "sched_stat_blocked", .bpf_func = ebpf_sched_stat_template}, - {.name = "workqueue_execute_start", .bpf_func = ebpf_workqueue_execute_start}, - {.name = "workqueue_execute_end", .bpf_func = ebpf_workqueue_work_template}, - {.name = "workqueue_activate_work", .bpf_func = ebpf_workqueue_work_template}, - {.name = "mm_vmscan_direct_reclaim_begin", .bpf_func = ebpf_mm_vmscan_direct_reclaim_begin_template}, - {.name = "mm_vmscan_direct_reclaim_end", .bpf_func = ebpf_mm_vmscan_direct_reclaim_end_template}, - {.name = "mm_vmscan_memcg_reclaim_begin", .bpf_func = ebpf_mm_vmscan_memcg_reclaim_begin_template}, - {.name = "mm_vmscan_memcg_reclaim_end", .bpf_func = ebpf_mm_vmscan_memcg_reclaim_end_template}, -}; - -struct bpf_tracepoint_event *bpf_find_tracepoint(char *tp_name) -{ - int i; - for (i = 0; i < sizeof(events_table) / sizeof(struct bpf_tracepoint_event); i++) - { - if (strcmp(events_table[i].name, tp_name) == 0) - { - return &events_table[i]; - } - } - return NULL; -} - -int bpf_tracepoint_register(struct bpf_tracepoint_event *bte, struct bpf_prog *prog) -{ - return tracepoint_probe_register(bte->name, bte->bpf_func, prog); -} - -void bpf_tracepoint_unregister(struct bpf_tracepoint_event *bte, struct bpf_prog *prog) -{ - tracepoint_probe_unregister(bte->name, bte->bpf_func, prog); -} diff --git a/lcc/glcc/lib/ebpf/ebpf_tracepoint.h b/lcc/glcc/lib/ebpf/ebpf_tracepoint.h deleted file mode 100644 index 5ddcf7c..0000000 --- a/lcc/glcc/lib/ebpf/ebpf_tracepoint.h +++ /dev/null @@ -1,17 +0,0 @@ -#ifndef __EBPF_TRACEPOINT_H_ -#define __EBPF_TRACEPOINT_H_ -#include "linux/filter.h" - -struct bpf_tracepoint_event -{ - void *category; - void *name; - // void *tp; - void *bpf_func; -}; - -struct bpf_tracepoint_event *bpf_find_tracepoint(char *tp_name); -int bpf_tracepoint_register(struct bpf_tracepoint_event *bte, struct bpf_prog *prog); -void bpf_tracepoint_unregister(struct bpf_tracepoint_event *bte, struct bpf_prog *prog); - -#endif diff --git a/lcc/glcc/lib/ebpf/hashtab.c b/lcc/glcc/lib/ebpf/hashtab.c deleted file mode 100644 index 16d970e..0000000 --- a/lcc/glcc/lib/ebpf/hashtab.c +++ /dev/null @@ -1,1416 +0,0 @@ -/* Copyright (c) 2011-2014 PLUMgrid, http://plumgrid.com - * Copyright (c) 2016 Facebook - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of version 2 of the GNU General Public - * License as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - */ -#include "linux/config.h" -#include "linux/list_nulls.h" -#include "linux/bpf.h" -#include -#include "linux/filter.h" -#include "linux/rculist_nulls.h" -#include -#include "percpu_freelist.h" -#include "bpf_lru_list.h" -#include "map_in_map.h" - -#define HTAB_CREATE_FLAG_MASK \ - (BPF_F_NO_PREALLOC | BPF_F_NO_COMMON_LRU | BPF_F_NUMA_NODE | \ - BPF_F_RDONLY | BPF_F_WRONLY) - -struct bucket { - struct hlist_nulls_head head; - raw_spinlock_t lock; -}; - -struct bpf_htab { - struct bpf_map map; - struct bucket *buckets; - void *elems; - union { - struct pcpu_freelist freelist; - struct bpf_lru lru; - }; - struct htab_elem *__percpu *extra_elems; - atomic_t count; /* number of elements in this hashtable */ - u32 n_buckets; /* number of hash buckets */ - u32 elem_size; /* size of each element in bytes */ - u32 hashrnd; -}; - -/* each htab element is struct htab_elem + key + value */ -struct htab_elem { - union { - struct hlist_nulls_node hash_node; - struct { - void *padding; - union { - struct bpf_htab *htab; - struct pcpu_freelist_node fnode; - }; - }; - }; - union { - struct rcu_head rcu; - struct bpf_lru_node lru_node; - }; - u32 hash; - char key[0] __aligned(8); -}; - -static bool htab_lru_map_delete_node(void *arg, struct bpf_lru_node *node); - -static bool htab_is_lru(const struct bpf_htab *htab) -{ - return htab->map.map_type == BPF_MAP_TYPE_LRU_HASH || - htab->map.map_type == BPF_MAP_TYPE_LRU_PERCPU_HASH; -} - -static bool htab_is_percpu(const struct bpf_htab *htab) -{ - return htab->map.map_type == BPF_MAP_TYPE_PERCPU_HASH || - htab->map.map_type == BPF_MAP_TYPE_LRU_PERCPU_HASH; -} - -static bool htab_is_prealloc(const struct bpf_htab *htab) -{ - return !(htab->map.map_flags & BPF_F_NO_PREALLOC); -} - -static inline void htab_elem_set_ptr(struct htab_elem *l, u32 key_size, - void __percpu *pptr) -{ - *(void __percpu **)(l->key + key_size) = pptr; -} - -static inline void __percpu *htab_elem_get_ptr(struct htab_elem *l, u32 key_size) -{ - return *(void __percpu **)(l->key + key_size); -} - -static void *fd_htab_map_get_ptr(const struct bpf_map *map, struct htab_elem *l) -{ - return *(void **)(l->key + roundup(map->key_size, 8)); -} - -static struct htab_elem *get_htab_elem(struct bpf_htab *htab, int i) -{ - return (struct htab_elem *) (htab->elems + i * htab->elem_size); -} - -static void htab_free_elems(struct bpf_htab *htab) -{ - int i; - - if (!htab_is_percpu(htab)) - goto free_elems; - - for (i = 0; i < htab->map.max_entries; i++) { - void __percpu *pptr; - - pptr = htab_elem_get_ptr(get_htab_elem(htab, i), - htab->map.key_size); - free_percpu(pptr); - cond_resched(); - } -free_elems: - bpf_map_area_free(htab->elems); -} - -static struct htab_elem *prealloc_lru_pop(struct bpf_htab *htab, void *key, - u32 hash) -{ - struct bpf_lru_node *node = bpf_lru_pop_free(&htab->lru, hash); - struct htab_elem *l; - - if (node) { - l = container_of(node, struct htab_elem, lru_node); - memcpy(l->key, key, htab->map.key_size); - return l; - } - - return NULL; -} - -static int prealloc_init(struct bpf_htab *htab) -{ - u32 num_entries = htab->map.max_entries; - int err = -ENOMEM, i; - - if (!htab_is_percpu(htab) && !htab_is_lru(htab)) - num_entries += num_possible_cpus(); - - htab->elems = bpf_map_area_alloc(htab->elem_size * num_entries, - htab->map.numa_node); - if (!htab->elems) - return -ENOMEM; - - if (!htab_is_percpu(htab)) - goto skip_percpu_elems; - - for (i = 0; i < num_entries; i++) { - u32 size = round_up(htab->map.value_size, 8); - void __percpu *pptr; - - pptr = __alloc_percpu_gfp(size, 8, GFP_USER | __GFP_NOWARN); - if (!pptr) - goto free_elems; - htab_elem_set_ptr(get_htab_elem(htab, i), htab->map.key_size, - pptr); - cond_resched(); - } - -skip_percpu_elems: - if (htab_is_lru(htab)) - err = bpf_lru_init(&htab->lru, - htab->map.map_flags & BPF_F_NO_COMMON_LRU, - offsetof(struct htab_elem, hash) - - offsetof(struct htab_elem, lru_node), - htab_lru_map_delete_node, - htab); - else - err = pcpu_freelist_init(&htab->freelist); - - if (err) - goto free_elems; - - if (htab_is_lru(htab)) - bpf_lru_populate(&htab->lru, htab->elems, - offsetof(struct htab_elem, lru_node), - htab->elem_size, num_entries); - else - pcpu_freelist_populate(&htab->freelist, - htab->elems + offsetof(struct htab_elem, fnode), - htab->elem_size, num_entries); - - return 0; - -free_elems: - htab_free_elems(htab); - return err; -} - -static void prealloc_destroy(struct bpf_htab *htab) -{ - htab_free_elems(htab); - - if (htab_is_lru(htab)) - bpf_lru_destroy(&htab->lru); - else - pcpu_freelist_destroy(&htab->freelist); -} - -static int alloc_extra_elems(struct bpf_htab *htab) -{ - struct htab_elem *__percpu *pptr, *l_new; - struct pcpu_freelist_node *l; - int cpu; - - pptr = __alloc_percpu_gfp(sizeof(struct htab_elem *), 8, - GFP_USER | __GFP_NOWARN); - if (!pptr) - return -ENOMEM; - - for_each_possible_cpu(cpu) { - l = pcpu_freelist_pop(&htab->freelist); - /* pop will succeed, since prealloc_init() - * preallocated extra num_possible_cpus elements - */ - l_new = container_of(l, struct htab_elem, fnode); - *per_cpu_ptr(pptr, cpu) = l_new; - } - htab->extra_elems = pptr; - return 0; -} - -/* Called from syscall */ -static int htab_map_alloc_check(union bpf_attr *attr) -{ - bool percpu = (attr->map_type == BPF_MAP_TYPE_PERCPU_HASH || - attr->map_type == BPF_MAP_TYPE_LRU_PERCPU_HASH); - bool lru = (attr->map_type == BPF_MAP_TYPE_LRU_HASH || - attr->map_type == BPF_MAP_TYPE_LRU_PERCPU_HASH); - /* percpu_lru means each cpu has its own LRU list. - * it is different from BPF_MAP_TYPE_PERCPU_HASH where - * the map's value itself is percpu. percpu_lru has - * nothing to do with the map's value. - */ - bool percpu_lru = (attr->map_flags & BPF_F_NO_COMMON_LRU); - bool prealloc = !(attr->map_flags & BPF_F_NO_PREALLOC); - int numa_node = bpf_map_attr_numa_node(attr); - - BUILD_BUG_ON(offsetof(struct htab_elem, htab) != - offsetof(struct htab_elem, hash_node.pprev)); - BUILD_BUG_ON(offsetof(struct htab_elem, fnode.next) != - offsetof(struct htab_elem, hash_node.pprev)); - - if (lru && !capable(CAP_SYS_ADMIN)) - /* LRU implementation is much complicated than other - * maps. Hence, limit to CAP_SYS_ADMIN for now. - */ - return -EPERM; - - if (attr->map_flags & ~HTAB_CREATE_FLAG_MASK) - /* reserved bits should not be used */ - return -EINVAL; - - if (!lru && percpu_lru) - return -EINVAL; - - if (lru && !prealloc) - return -ENOTSUPP; - - if (numa_node != NUMA_NO_NODE && (percpu || percpu_lru)) - return -EINVAL; - - /* check sanity of attributes. - * value_size == 0 may be allowed in the future to use map as a set - */ - if (attr->max_entries == 0 || attr->key_size == 0 || - attr->value_size == 0) - return -EINVAL; - - if (attr->key_size > MAX_BPF_STACK) - /* eBPF programs initialize keys on stack, so they cannot be - * larger than max stack size - */ - return -E2BIG; - - if (attr->value_size >= KMALLOC_MAX_SIZE - - MAX_BPF_STACK - sizeof(struct htab_elem)) - /* if value_size is bigger, the user space won't be able to - * access the elements via bpf syscall. This check also makes - * sure that the elem_size doesn't overflow and it's - * kmalloc-able later in htab_map_update_elem() - */ - return -E2BIG; - - return 0; -} - -static struct bpf_map *htab_map_alloc(union bpf_attr *attr) -{ - bool percpu = (attr->map_type == BPF_MAP_TYPE_PERCPU_HASH || - attr->map_type == BPF_MAP_TYPE_LRU_PERCPU_HASH); - bool lru = (attr->map_type == BPF_MAP_TYPE_LRU_HASH || - attr->map_type == BPF_MAP_TYPE_LRU_PERCPU_HASH); - /* percpu_lru means each cpu has its own LRU list. - * it is different from BPF_MAP_TYPE_PERCPU_HASH where - * the map's value itself is percpu. percpu_lru has - * nothing to do with the map's value. - */ - bool percpu_lru = (attr->map_flags & BPF_F_NO_COMMON_LRU); - bool prealloc = !(attr->map_flags & BPF_F_NO_PREALLOC); - struct bpf_htab *htab; - int err, i; - u64 cost; - - htab = kzalloc(sizeof(*htab), GFP_USER); - if (!htab) - return ERR_PTR(-ENOMEM); - - bpf_map_init_from_attr(&htab->map, attr); - - if (percpu_lru) { - /* ensure each CPU's lru list has >=1 elements. - * since we are at it, make each lru list has the same - * number of elements. - */ - htab->map.max_entries = roundup(attr->max_entries, - num_possible_cpus()); - if (htab->map.max_entries < attr->max_entries) - htab->map.max_entries = rounddown(attr->max_entries, - num_possible_cpus()); - } - - /* hash table size must be power of 2 */ - htab->n_buckets = roundup_pow_of_two(htab->map.max_entries); - - htab->elem_size = sizeof(struct htab_elem) + - round_up(htab->map.key_size, 8); - if (percpu) - htab->elem_size += sizeof(void *); - else - htab->elem_size += round_up(htab->map.value_size, 8); - - err = -E2BIG; - /* prevent zero size kmalloc and check for u32 overflow */ - if (htab->n_buckets == 0 || - htab->n_buckets > U32_MAX / sizeof(struct bucket)) - goto free_htab; - - cost = (u64) htab->n_buckets * sizeof(struct bucket) + - (u64) htab->elem_size * htab->map.max_entries; - - if (percpu) - cost += (u64) round_up(htab->map.value_size, 8) * - num_possible_cpus() * htab->map.max_entries; - else - cost += (u64) htab->elem_size * num_possible_cpus(); - - if (cost >= U32_MAX - PAGE_SIZE) - /* make sure page count doesn't overflow */ - goto free_htab; - - htab->map.pages = round_up(cost, PAGE_SIZE) >> PAGE_SHIFT; - - /* if map size is larger than memlock limit, reject it early */ - err = bpf_map_precharge_memlock(htab->map.pages); - if (err) - goto free_htab; - - err = -ENOMEM; - htab->buckets = bpf_map_area_alloc(htab->n_buckets * - sizeof(struct bucket), - htab->map.numa_node); - if (!htab->buckets) - goto free_htab; - - htab->hashrnd = get_random_int(); - for (i = 0; i < htab->n_buckets; i++) { - INIT_HLIST_NULLS_HEAD(&htab->buckets[i].head, i); - raw_spin_lock_init(&htab->buckets[i].lock); - } - - if (prealloc) { - err = prealloc_init(htab); - if (err) - goto free_buckets; - - if (!percpu && !lru) { - /* lru itself can remove the least used element, so - * there is no need for an extra elem during map_update. - */ - err = alloc_extra_elems(htab); - if (err) - goto free_prealloc; - } - } - - return &htab->map; - -free_prealloc: - prealloc_destroy(htab); -free_buckets: - bpf_map_area_free(htab->buckets); -free_htab: - kfree(htab); - return ERR_PTR(err); -} - -static inline u32 htab_map_hash(const void *key, u32 key_len, u32 hashrnd) -{ - return jhash(key, key_len, hashrnd); -} - -static inline struct bucket *__select_bucket(struct bpf_htab *htab, u32 hash) -{ - return &htab->buckets[hash & (htab->n_buckets - 1)]; -} - -static inline struct hlist_nulls_head *select_bucket(struct bpf_htab *htab, u32 hash) -{ - return &__select_bucket(htab, hash)->head; -} - -/* this lookup function can only be called with bucket lock taken */ -static struct htab_elem *lookup_elem_raw(struct hlist_nulls_head *head, u32 hash, - void *key, u32 key_size) -{ - struct hlist_nulls_node *n; - struct htab_elem *l; - - hlist_nulls_for_each_entry_rcu(l, n, head, hash_node) - if (l->hash == hash && !memcmp(&l->key, key, key_size)) - return l; - - return NULL; -} - -/* can be called without bucket lock. it will repeat the loop in - * the unlikely event when elements moved from one bucket into another - * while link list is being walked - */ -static struct htab_elem *lookup_nulls_elem_raw(struct hlist_nulls_head *head, - u32 hash, void *key, - u32 key_size, u32 n_buckets) -{ - struct hlist_nulls_node *n; - struct htab_elem *l; - -again: - hlist_nulls_for_each_entry_rcu(l, n, head, hash_node) - if (l->hash == hash && !memcmp(&l->key, key, key_size)) - return l; - - if (unlikely(get_nulls_value(n) != (hash & (n_buckets - 1)))) - goto again; - - return NULL; -} - -/* Called from syscall or from eBPF program directly, so - * arguments have to match bpf_map_lookup_elem() exactly. - * The return value is adjusted by BPF instructions - * in htab_map_gen_lookup(). - */ -static void *__htab_map_lookup_elem(struct bpf_map *map, void *key) -{ - struct bpf_htab *htab = container_of(map, struct bpf_htab, map); - struct hlist_nulls_head *head; - struct htab_elem *l; - u32 hash, key_size; - - /* Must be called with rcu_read_lock. */ - WARN_ON_ONCE(!rcu_read_lock_held()); - - key_size = map->key_size; - - hash = htab_map_hash(key, key_size, htab->hashrnd); - - head = select_bucket(htab, hash); - - l = lookup_nulls_elem_raw(head, hash, key, key_size, htab->n_buckets); - - return l; -} - -static void *htab_map_lookup_elem(struct bpf_map *map, void *key) -{ - struct htab_elem *l = __htab_map_lookup_elem(map, key); - - if (l) - return l->key + round_up(map->key_size, 8); - - return NULL; -} - -/* inline bpf_map_lookup_elem() call. - * Instead of: - * bpf_prog - * bpf_map_lookup_elem - * map->ops->map_lookup_elem - * htab_map_lookup_elem - * __htab_map_lookup_elem - * do: - * bpf_prog - * __htab_map_lookup_elem - */ -static u32 htab_map_gen_lookup(struct bpf_map *map, struct bpf_insn *insn_buf) -{ - struct bpf_insn *insn = insn_buf; - const int ret = BPF_REG_0; - - BUILD_BUG_ON(!__same_type(&__htab_map_lookup_elem, - (void *(*)(struct bpf_map *map, void *key))NULL)); - *insn++ = BPF_EMIT_CALL(BPF_CAST_CALL(__htab_map_lookup_elem)); - *insn++ = BPF_JMP_IMM(BPF_JEQ, ret, 0, 1); - *insn++ = BPF_ALU64_IMM(BPF_ADD, ret, - offsetof(struct htab_elem, key) + - round_up(map->key_size, 8)); - return insn - insn_buf; -} - -static void *htab_lru_map_lookup_elem(struct bpf_map *map, void *key) -{ - struct htab_elem *l = __htab_map_lookup_elem(map, key); - - if (l) { - bpf_lru_node_set_ref(&l->lru_node); - return l->key + round_up(map->key_size, 8); - } - - return NULL; -} - -static u32 htab_lru_map_gen_lookup(struct bpf_map *map, - struct bpf_insn *insn_buf) -{ - struct bpf_insn *insn = insn_buf; - const int ret = BPF_REG_0; - const int ref_reg = BPF_REG_1; - - BUILD_BUG_ON(!__same_type(&__htab_map_lookup_elem, - (void *(*)(struct bpf_map *map, void *key))NULL)); - *insn++ = BPF_EMIT_CALL(BPF_CAST_CALL(__htab_map_lookup_elem)); - *insn++ = BPF_JMP_IMM(BPF_JEQ, ret, 0, 4); - *insn++ = BPF_LDX_MEM(BPF_B, ref_reg, ret, - offsetof(struct htab_elem, lru_node) + - offsetof(struct bpf_lru_node, ref)); - *insn++ = BPF_JMP_IMM(BPF_JNE, ref_reg, 0, 1); - *insn++ = BPF_ST_MEM(BPF_B, ret, - offsetof(struct htab_elem, lru_node) + - offsetof(struct bpf_lru_node, ref), - 1); - *insn++ = BPF_ALU64_IMM(BPF_ADD, ret, - offsetof(struct htab_elem, key) + - round_up(map->key_size, 8)); - return insn - insn_buf; -} - -/* It is called from the bpf_lru_list when the LRU needs to delete - * older elements from the htab. - */ -static bool htab_lru_map_delete_node(void *arg, struct bpf_lru_node *node) -{ - struct bpf_htab *htab = (struct bpf_htab *)arg; - struct htab_elem *l = NULL, *tgt_l; - struct hlist_nulls_head *head; - struct hlist_nulls_node *n; - unsigned long flags; - struct bucket *b; - - tgt_l = container_of(node, struct htab_elem, lru_node); - b = __select_bucket(htab, tgt_l->hash); - head = &b->head; - - raw_spin_lock_irqsave(&b->lock, flags); - - hlist_nulls_for_each_entry_rcu(l, n, head, hash_node) - if (l == tgt_l) { - hlist_nulls_del_rcu(&l->hash_node); - break; - } - - raw_spin_unlock_irqrestore(&b->lock, flags); - - return l == tgt_l; -} - -/* Called from syscall */ -static int htab_map_get_next_key(struct bpf_map *map, void *key, void *next_key) -{ - struct bpf_htab *htab = container_of(map, struct bpf_htab, map); - struct hlist_nulls_head *head; - struct htab_elem *l, *next_l; - u32 hash, key_size; - int i = 0; - - WARN_ON_ONCE(!rcu_read_lock_held()); - - key_size = map->key_size; - - if (!key) - goto find_first_elem; - - hash = htab_map_hash(key, key_size, htab->hashrnd); - - head = select_bucket(htab, hash); - - /* lookup the key */ - l = lookup_nulls_elem_raw(head, hash, key, key_size, htab->n_buckets); - - if (!l) - goto find_first_elem; - - /* key was found, get next key in the same bucket */ - next_l = hlist_nulls_entry_safe(rcu_dereference_raw(hlist_nulls_next_rcu(&l->hash_node)), - struct htab_elem, hash_node); - - if (next_l) { - /* if next elem in this hash list is non-zero, just return it */ - memcpy(next_key, next_l->key, key_size); - return 0; - } - - /* no more elements in this hash list, go to the next bucket */ - i = hash & (htab->n_buckets - 1); - i++; - -find_first_elem: - /* iterate over buckets */ - for (; i < htab->n_buckets; i++) { - head = select_bucket(htab, i); - - /* pick first element in the bucket */ - next_l = hlist_nulls_entry_safe(rcu_dereference_raw(hlist_nulls_first_rcu(head)), - struct htab_elem, hash_node); - if (next_l) { - /* if it's not empty, just return it */ - memcpy(next_key, next_l->key, key_size); - return 0; - } - } - - /* iterated over all buckets and all elements */ - return -ENOENT; -} - -static void htab_elem_free(struct bpf_htab *htab, struct htab_elem *l) -{ - if (htab->map.map_type == BPF_MAP_TYPE_PERCPU_HASH) - free_percpu(htab_elem_get_ptr(l, htab->map.key_size)); - kfree(l); -} - -static void htab_elem_free_rcu(struct rcu_head *head) -{ - struct htab_elem *l = container_of(head, struct htab_elem, rcu); - struct bpf_htab *htab = l->htab; - - /* must increment bpf_prog_active to avoid kprobe+bpf triggering while - * we're calling kfree, otherwise deadlock is possible if kprobes - * are placed somewhere inside of slub - */ - preempt_disable(); - __this_cpu_inc(bpf_prog_active); - htab_elem_free(htab, l); - __this_cpu_dec(bpf_prog_active); - preempt_enable(); -} - -static void free_htab_elem(struct bpf_htab *htab, struct htab_elem *l) -{ - struct bpf_map *map = &htab->map; - - if (map->ops->map_fd_put_ptr) { - void *ptr = fd_htab_map_get_ptr(map, l); - - map->ops->map_fd_put_ptr(ptr); - } - - if (htab_is_prealloc(htab)) { - pcpu_freelist_push(&htab->freelist, &l->fnode); - } else { - atomic_dec(&htab->count); - l->htab = htab; - call_rcu(&l->rcu, htab_elem_free_rcu); - } -} - -static void pcpu_copy_value(struct bpf_htab *htab, void __percpu *pptr, - void *value, bool onallcpus) -{ - if (!onallcpus) { - /* copy true value_size bytes */ - memcpy(this_cpu_ptr(pptr), value, htab->map.value_size); - } else { - u32 size = round_up(htab->map.value_size, 8); - int off = 0, cpu; - - for_each_possible_cpu(cpu) { - bpf_long_memcpy(per_cpu_ptr(pptr, cpu), - value + off, size); - off += size; - } - } -} - -static bool fd_htab_map_needs_adjust(const struct bpf_htab *htab) -{ - return htab->map.map_type == BPF_MAP_TYPE_HASH_OF_MAPS && - BITS_PER_LONG == 64; -} - -static u32 htab_size_value(const struct bpf_htab *htab, bool percpu) -{ - u32 size = htab->map.value_size; - - if (percpu || fd_htab_map_needs_adjust(htab)) - size = round_up(size, 8); - return size; -} - -static struct htab_elem *alloc_htab_elem(struct bpf_htab *htab, void *key, - void *value, u32 key_size, u32 hash, - bool percpu, bool onallcpus, - struct htab_elem *old_elem) -{ - u32 size = htab_size_value(htab, percpu); - bool prealloc = htab_is_prealloc(htab); - struct htab_elem *l_new, **pl_new; - void __percpu *pptr; - - if (prealloc) { - if (old_elem) { - /* if we're updating the existing element, - * use per-cpu extra elems to avoid freelist_pop/push - */ - pl_new = this_cpu_ptr(htab->extra_elems); - l_new = *pl_new; - *pl_new = old_elem; - } else { - struct pcpu_freelist_node *l; - - l = pcpu_freelist_pop(&htab->freelist); - if (!l) - return ERR_PTR(-E2BIG); - l_new = container_of(l, struct htab_elem, fnode); - } - } else { - if (atomic_inc_return(&htab->count) > htab->map.max_entries) - if (!old_elem) { - /* when map is full and update() is replacing - * old element, it's ok to allocate, since - * old element will be freed immediately. - * Otherwise return an error - */ - l_new = ERR_PTR(-E2BIG); - goto dec_count; - } - l_new = kmalloc_node(htab->elem_size, GFP_ATOMIC | __GFP_NOWARN, - htab->map.numa_node); - if (!l_new) { - l_new = ERR_PTR(-ENOMEM); - goto dec_count; - } - } - - memcpy(l_new->key, key, key_size); - if (percpu) { - if (prealloc) { - pptr = htab_elem_get_ptr(l_new, key_size); - } else { - /* alloc_percpu zero-fills */ - pptr = __alloc_percpu_gfp(size, 8, - GFP_ATOMIC | __GFP_NOWARN); - if (!pptr) { - kfree(l_new); - l_new = ERR_PTR(-ENOMEM); - goto dec_count; - } - } - - pcpu_copy_value(htab, pptr, value, onallcpus); - - if (!prealloc) - htab_elem_set_ptr(l_new, key_size, pptr); - } else { - memcpy(l_new->key + round_up(key_size, 8), value, size); - } - - l_new->hash = hash; - return l_new; -dec_count: - atomic_dec(&htab->count); - return l_new; -} - -static int check_flags(struct bpf_htab *htab, struct htab_elem *l_old, - u64 map_flags) -{ - if (l_old && map_flags == BPF_NOEXIST) - /* elem already exists */ - return -EEXIST; - - if (!l_old && map_flags == BPF_EXIST) - /* elem doesn't exist, cannot update it */ - return -ENOENT; - - return 0; -} - -/* Called from syscall or from eBPF program */ -static int htab_map_update_elem(struct bpf_map *map, void *key, void *value, - u64 map_flags) -{ - struct bpf_htab *htab = container_of(map, struct bpf_htab, map); - struct htab_elem *l_new = NULL, *l_old; - struct hlist_nulls_head *head; - unsigned long flags; - struct bucket *b; - u32 key_size, hash; - int ret; - - if (unlikely(map_flags > BPF_EXIST)) - /* unknown flags */ - return -EINVAL; - - WARN_ON_ONCE(!rcu_read_lock_held()); - - key_size = map->key_size; - - hash = htab_map_hash(key, key_size, htab->hashrnd); - - b = __select_bucket(htab, hash); - head = &b->head; - - /* bpf_map_update_elem() can be called in_irq() */ - raw_spin_lock_irqsave(&b->lock, flags); - - l_old = lookup_elem_raw(head, hash, key, key_size); - - ret = check_flags(htab, l_old, map_flags); - if (ret) - goto err; - - l_new = alloc_htab_elem(htab, key, value, key_size, hash, false, false, - l_old); - if (IS_ERR(l_new)) { - /* all pre-allocated elements are in use or memory exhausted */ - ret = PTR_ERR(l_new); - goto err; - } - - /* add new element to the head of the list, so that - * concurrent search will find it before old elem - */ - hlist_nulls_add_head_rcu(&l_new->hash_node, head); - if (l_old) { - hlist_nulls_del_rcu(&l_old->hash_node); - if (!htab_is_prealloc(htab)) - free_htab_elem(htab, l_old); - } - ret = 0; -err: - raw_spin_unlock_irqrestore(&b->lock, flags); - return ret; -} - -static int htab_lru_map_update_elem(struct bpf_map *map, void *key, void *value, - u64 map_flags) -{ - struct bpf_htab *htab = container_of(map, struct bpf_htab, map); - struct htab_elem *l_new, *l_old = NULL; - struct hlist_nulls_head *head; - unsigned long flags; - struct bucket *b; - u32 key_size, hash; - int ret; - - if (unlikely(map_flags > BPF_EXIST)) - /* unknown flags */ - return -EINVAL; - - WARN_ON_ONCE(!rcu_read_lock_held()); - - key_size = map->key_size; - - hash = htab_map_hash(key, key_size, htab->hashrnd); - - b = __select_bucket(htab, hash); - head = &b->head; - - /* For LRU, we need to alloc before taking bucket's - * spinlock because getting free nodes from LRU may need - * to remove older elements from htab and this removal - * operation will need a bucket lock. - */ - l_new = prealloc_lru_pop(htab, key, hash); - if (!l_new) - return -ENOMEM; - memcpy(l_new->key + round_up(map->key_size, 8), value, map->value_size); - - /* bpf_map_update_elem() can be called in_irq() */ - raw_spin_lock_irqsave(&b->lock, flags); - - l_old = lookup_elem_raw(head, hash, key, key_size); - - ret = check_flags(htab, l_old, map_flags); - if (ret) - goto err; - - /* add new element to the head of the list, so that - * concurrent search will find it before old elem - */ - hlist_nulls_add_head_rcu(&l_new->hash_node, head); - if (l_old) { - bpf_lru_node_set_ref(&l_new->lru_node); - hlist_nulls_del_rcu(&l_old->hash_node); - } - ret = 0; - -err: - raw_spin_unlock_irqrestore(&b->lock, flags); - - if (ret) - bpf_lru_push_free(&htab->lru, &l_new->lru_node); - else if (l_old) - bpf_lru_push_free(&htab->lru, &l_old->lru_node); - - return ret; -} - -static int __htab_percpu_map_update_elem(struct bpf_map *map, void *key, - void *value, u64 map_flags, - bool onallcpus) -{ - struct bpf_htab *htab = container_of(map, struct bpf_htab, map); - struct htab_elem *l_new = NULL, *l_old; - struct hlist_nulls_head *head; - unsigned long flags; - struct bucket *b; - u32 key_size, hash; - int ret; - - if (unlikely(map_flags > BPF_EXIST)) - /* unknown flags */ - return -EINVAL; - - WARN_ON_ONCE(!rcu_read_lock_held()); - - key_size = map->key_size; - - hash = htab_map_hash(key, key_size, htab->hashrnd); - - b = __select_bucket(htab, hash); - head = &b->head; - - /* bpf_map_update_elem() can be called in_irq() */ - raw_spin_lock_irqsave(&b->lock, flags); - - l_old = lookup_elem_raw(head, hash, key, key_size); - - ret = check_flags(htab, l_old, map_flags); - if (ret) - goto err; - - if (l_old) { - /* per-cpu hash map can update value in-place */ - pcpu_copy_value(htab, htab_elem_get_ptr(l_old, key_size), - value, onallcpus); - } else { - l_new = alloc_htab_elem(htab, key, value, key_size, - hash, true, onallcpus, NULL); - if (IS_ERR(l_new)) { - ret = PTR_ERR(l_new); - goto err; - } - hlist_nulls_add_head_rcu(&l_new->hash_node, head); - } - ret = 0; -err: - raw_spin_unlock_irqrestore(&b->lock, flags); - return ret; -} - -static int __htab_lru_percpu_map_update_elem(struct bpf_map *map, void *key, - void *value, u64 map_flags, - bool onallcpus) -{ - struct bpf_htab *htab = container_of(map, struct bpf_htab, map); - struct htab_elem *l_new = NULL, *l_old; - struct hlist_nulls_head *head; - unsigned long flags; - struct bucket *b; - u32 key_size, hash; - int ret; - - if (unlikely(map_flags > BPF_EXIST)) - /* unknown flags */ - return -EINVAL; - - WARN_ON_ONCE(!rcu_read_lock_held()); - - key_size = map->key_size; - - hash = htab_map_hash(key, key_size, htab->hashrnd); - - b = __select_bucket(htab, hash); - head = &b->head; - - /* For LRU, we need to alloc before taking bucket's - * spinlock because LRU's elem alloc may need - * to remove older elem from htab and this removal - * operation will need a bucket lock. - */ - if (map_flags != BPF_EXIST) { - l_new = prealloc_lru_pop(htab, key, hash); - if (!l_new) - return -ENOMEM; - } - - /* bpf_map_update_elem() can be called in_irq() */ - raw_spin_lock_irqsave(&b->lock, flags); - - l_old = lookup_elem_raw(head, hash, key, key_size); - - ret = check_flags(htab, l_old, map_flags); - if (ret) - goto err; - - if (l_old) { - bpf_lru_node_set_ref(&l_old->lru_node); - - /* per-cpu hash map can update value in-place */ - pcpu_copy_value(htab, htab_elem_get_ptr(l_old, key_size), - value, onallcpus); - } else { - pcpu_copy_value(htab, htab_elem_get_ptr(l_new, key_size), - value, onallcpus); - hlist_nulls_add_head_rcu(&l_new->hash_node, head); - l_new = NULL; - } - ret = 0; -err: - raw_spin_unlock_irqrestore(&b->lock, flags); - if (l_new) - bpf_lru_push_free(&htab->lru, &l_new->lru_node); - return ret; -} - -static int htab_percpu_map_update_elem(struct bpf_map *map, void *key, - void *value, u64 map_flags) -{ - return __htab_percpu_map_update_elem(map, key, value, map_flags, false); -} - -static int htab_lru_percpu_map_update_elem(struct bpf_map *map, void *key, - void *value, u64 map_flags) -{ - return __htab_lru_percpu_map_update_elem(map, key, value, map_flags, - false); -} - -/* Called from syscall or from eBPF program */ -static int htab_map_delete_elem(struct bpf_map *map, void *key) -{ - struct bpf_htab *htab = container_of(map, struct bpf_htab, map); - struct hlist_nulls_head *head; - struct bucket *b; - struct htab_elem *l; - unsigned long flags; - u32 hash, key_size; - int ret = -ENOENT; - - WARN_ON_ONCE(!rcu_read_lock_held()); - - key_size = map->key_size; - - hash = htab_map_hash(key, key_size, htab->hashrnd); - b = __select_bucket(htab, hash); - head = &b->head; - - raw_spin_lock_irqsave(&b->lock, flags); - - l = lookup_elem_raw(head, hash, key, key_size); - - if (l) { - hlist_nulls_del_rcu(&l->hash_node); - free_htab_elem(htab, l); - ret = 0; - } - - raw_spin_unlock_irqrestore(&b->lock, flags); - return ret; -} - -static int htab_lru_map_delete_elem(struct bpf_map *map, void *key) -{ - struct bpf_htab *htab = container_of(map, struct bpf_htab, map); - struct hlist_nulls_head *head; - struct bucket *b; - struct htab_elem *l; - unsigned long flags; - u32 hash, key_size; - int ret = -ENOENT; - - WARN_ON_ONCE(!rcu_read_lock_held()); - - key_size = map->key_size; - - hash = htab_map_hash(key, key_size, htab->hashrnd); - b = __select_bucket(htab, hash); - head = &b->head; - - raw_spin_lock_irqsave(&b->lock, flags); - - l = lookup_elem_raw(head, hash, key, key_size); - - if (l) { - hlist_nulls_del_rcu(&l->hash_node); - ret = 0; - } - - raw_spin_unlock_irqrestore(&b->lock, flags); - if (l) - bpf_lru_push_free(&htab->lru, &l->lru_node); - return ret; -} - -static void delete_all_elements(struct bpf_htab *htab) -{ - int i; - - for (i = 0; i < htab->n_buckets; i++) { - struct hlist_nulls_head *head = select_bucket(htab, i); - struct hlist_nulls_node *n; - struct htab_elem *l; - - hlist_nulls_for_each_entry_safe(l, n, head, hash_node) { - hlist_nulls_del_rcu(&l->hash_node); - htab_elem_free(htab, l); - } - } -} - -/* Called when map->refcnt goes to zero, either from workqueue or from syscall */ -static void htab_map_free(struct bpf_map *map) -{ - struct bpf_htab *htab = container_of(map, struct bpf_htab, map); - - /* at this point bpf_prog->aux->refcnt == 0 and this map->refcnt == 0, - * so the programs (can be more than one that used this map) were - * disconnected from events. Wait for outstanding critical sections in - * these programs to complete - */ - synchronize_rcu(); - - /* some of free_htab_elem() callbacks for elements of this map may - * not have executed. Wait for them. - */ - rcu_barrier(); - if (!htab_is_prealloc(htab)) - delete_all_elements(htab); - else - prealloc_destroy(htab); - - free_percpu(htab->extra_elems); - bpf_map_area_free(htab->buckets); - kfree(htab); -} - -const struct bpf_map_ops htab_map_ops = { - .map_alloc_check = htab_map_alloc_check, - .map_alloc = htab_map_alloc, - .map_free = htab_map_free, - .map_get_next_key = htab_map_get_next_key, - .map_lookup_elem = htab_map_lookup_elem, - .map_update_elem = htab_map_update_elem, - .map_delete_elem = htab_map_delete_elem, - .map_gen_lookup = htab_map_gen_lookup, -}; - -const struct bpf_map_ops htab_lru_map_ops = { - .map_alloc_check = htab_map_alloc_check, - .map_alloc = htab_map_alloc, - .map_free = htab_map_free, - .map_get_next_key = htab_map_get_next_key, - .map_lookup_elem = htab_lru_map_lookup_elem, - .map_update_elem = htab_lru_map_update_elem, - .map_delete_elem = htab_lru_map_delete_elem, - .map_gen_lookup = htab_lru_map_gen_lookup, -}; - -/* Called from eBPF program */ -static void *htab_percpu_map_lookup_elem(struct bpf_map *map, void *key) -{ - struct htab_elem *l = __htab_map_lookup_elem(map, key); - - if (l) - return this_cpu_ptr(htab_elem_get_ptr(l, map->key_size)); - else - return NULL; -} - -static void *htab_lru_percpu_map_lookup_elem(struct bpf_map *map, void *key) -{ - struct htab_elem *l = __htab_map_lookup_elem(map, key); - - if (l) { - bpf_lru_node_set_ref(&l->lru_node); - return this_cpu_ptr(htab_elem_get_ptr(l, map->key_size)); - } - - return NULL; -} - -int bpf_percpu_hash_copy(struct bpf_map *map, void *key, void *value) -{ - struct bpf_htab *htab = container_of(map, struct bpf_htab, map); - struct htab_elem *l; - void __percpu *pptr; - int ret = -ENOENT; - int cpu, off = 0; - u32 size; - - /* per_cpu areas are zero-filled and bpf programs can only - * access 'value_size' of them, so copying rounded areas - * will not leak any kernel data - */ - size = round_up(map->value_size, 8); - rcu_read_lock(); - l = __htab_map_lookup_elem(map, key); - if (!l) - goto out; - if (htab_is_lru(htab)) - bpf_lru_node_set_ref(&l->lru_node); - pptr = htab_elem_get_ptr(l, map->key_size); - for_each_possible_cpu(cpu) { - bpf_long_memcpy(value + off, - per_cpu_ptr(pptr, cpu), size); - off += size; - } - ret = 0; -out: - rcu_read_unlock(); - return ret; -} - -int bpf_percpu_hash_update(struct bpf_map *map, void *key, void *value, - u64 map_flags) -{ - struct bpf_htab *htab = container_of(map, struct bpf_htab, map); - int ret; - - rcu_read_lock(); - if (htab_is_lru(htab)) - ret = __htab_lru_percpu_map_update_elem(map, key, value, - map_flags, true); - else - ret = __htab_percpu_map_update_elem(map, key, value, map_flags, - true); - rcu_read_unlock(); - - return ret; -} - -const struct bpf_map_ops htab_percpu_map_ops = { - .map_alloc_check = htab_map_alloc_check, - .map_alloc = htab_map_alloc, - .map_free = htab_map_free, - .map_get_next_key = htab_map_get_next_key, - .map_lookup_elem = htab_percpu_map_lookup_elem, - .map_update_elem = htab_percpu_map_update_elem, - .map_delete_elem = htab_map_delete_elem, -}; - -const struct bpf_map_ops htab_lru_percpu_map_ops = { - .map_alloc_check = htab_map_alloc_check, - .map_alloc = htab_map_alloc, - .map_free = htab_map_free, - .map_get_next_key = htab_map_get_next_key, - .map_lookup_elem = htab_lru_percpu_map_lookup_elem, - .map_update_elem = htab_lru_percpu_map_update_elem, - .map_delete_elem = htab_lru_map_delete_elem, -}; - -static int fd_htab_map_alloc_check(union bpf_attr *attr) -{ - if (attr->value_size != sizeof(u32)) - return -EINVAL; - return htab_map_alloc_check(attr); -} - -static void fd_htab_map_free(struct bpf_map *map) -{ - struct bpf_htab *htab = container_of(map, struct bpf_htab, map); - struct hlist_nulls_node *n; - struct hlist_nulls_head *head; - struct htab_elem *l; - int i; - - for (i = 0; i < htab->n_buckets; i++) { - head = select_bucket(htab, i); - - hlist_nulls_for_each_entry_safe(l, n, head, hash_node) { - void *ptr = fd_htab_map_get_ptr(map, l); - - map->ops->map_fd_put_ptr(ptr); - } - } - - htab_map_free(map); -} - -/* only called from syscall */ -int bpf_fd_htab_map_lookup_elem(struct bpf_map *map, void *key, u32 *value) -{ - void **ptr; - int ret = 0; - - if (!map->ops->map_fd_sys_lookup_elem) - return -ENOTSUPP; - - rcu_read_lock(); - ptr = htab_map_lookup_elem(map, key); - if (ptr) - *value = map->ops->map_fd_sys_lookup_elem(READ_ONCE(*ptr)); - else - ret = -ENOENT; - rcu_read_unlock(); - - return ret; -} - -/* only called from syscall */ -int bpf_fd_htab_map_update_elem(struct bpf_map *map, struct file *map_file, - void *key, void *value, u64 map_flags) -{ - void *ptr; - int ret; - u32 ufd = *(u32 *)value; - - ptr = map->ops->map_fd_get_ptr(map, map_file, ufd); - if (IS_ERR(ptr)) - return PTR_ERR(ptr); - - ret = htab_map_update_elem(map, key, &ptr, map_flags); - if (ret) - map->ops->map_fd_put_ptr(ptr); - - return ret; -} - -static struct bpf_map *htab_of_map_alloc(union bpf_attr *attr) -{ - struct bpf_map *map, *inner_map_meta; - - inner_map_meta = bpf_map_meta_alloc(attr->inner_map_fd); - if (IS_ERR(inner_map_meta)) - return inner_map_meta; - - map = htab_map_alloc(attr); - if (IS_ERR(map)) { - bpf_map_meta_free(inner_map_meta); - return map; - } - - map->inner_map_meta = inner_map_meta; - - return map; -} - -static void *htab_of_map_lookup_elem(struct bpf_map *map, void *key) -{ - struct bpf_map **inner_map = htab_map_lookup_elem(map, key); - - if (!inner_map) - return NULL; - - return READ_ONCE(*inner_map); -} - -static u32 htab_of_map_gen_lookup(struct bpf_map *map, - struct bpf_insn *insn_buf) -{ - struct bpf_insn *insn = insn_buf; - const int ret = BPF_REG_0; - - BUILD_BUG_ON(!__same_type(&__htab_map_lookup_elem, - (void *(*)(struct bpf_map *map, void *key))NULL)); - *insn++ = BPF_EMIT_CALL(BPF_CAST_CALL(__htab_map_lookup_elem)); - *insn++ = BPF_JMP_IMM(BPF_JEQ, ret, 0, 2); - *insn++ = BPF_ALU64_IMM(BPF_ADD, ret, - offsetof(struct htab_elem, key) + - round_up(map->key_size, 8)); - *insn++ = BPF_LDX_MEM(BPF_DW, ret, ret, 0); - - return insn - insn_buf; -} - -static void htab_of_map_free(struct bpf_map *map) -{ - bpf_map_meta_free(map->inner_map_meta); - fd_htab_map_free(map); -} - -const struct bpf_map_ops htab_of_maps_map_ops = { - .map_alloc_check = fd_htab_map_alloc_check, - .map_alloc = htab_of_map_alloc, - .map_free = htab_of_map_free, - .map_get_next_key = htab_map_get_next_key, - .map_lookup_elem = htab_of_map_lookup_elem, - .map_delete_elem = htab_map_delete_elem, - .map_fd_get_ptr = bpf_map_fd_get_ptr, - .map_fd_put_ptr = bpf_map_fd_put_ptr, - .map_fd_sys_lookup_elem = bpf_map_fd_sys_lookup_elem, - .map_gen_lookup = htab_of_map_gen_lookup, -}; diff --git a/lcc/glcc/lib/ebpf/helpers.c b/lcc/glcc/lib/ebpf/helpers.c deleted file mode 100644 index 2ba531a..0000000 --- a/lcc/glcc/lib/ebpf/helpers.c +++ /dev/null @@ -1,184 +0,0 @@ -/* Copyright (c) 2011-2014 PLUMgrid, http://plumgrid.com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of version 2 of the GNU General Public - * License as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - */ -#include "linux/config.h" -#include "linux/bpf.h" -#include -#include -#include -#include -#include -#include -#include -#include "linux/filter.h" - -/* If kernel subsystem is allowing eBPF programs to call this function, - * inside its own verifier_ops->get_func_proto() callback it should return - * bpf_map_lookup_elem_proto, so that verifier can properly check the arguments - * - * Different map implementations will rely on rcu in map methods - * lookup/update/delete, therefore eBPF programs must run under rcu lock - * if program is allowed to access maps, so check rcu_read_lock_held in - * all three functions. - */ -BPF_CALL_2(bpf_map_lookup_elem, struct bpf_map *, map, void *, key) -{ - WARN_ON_ONCE(!rcu_read_lock_held()); - return (unsigned long) map->ops->map_lookup_elem(map, key); -} - -const struct bpf_func_proto bpf_map_lookup_elem_proto = { - .func = bpf_map_lookup_elem, - .gpl_only = false, - .pkt_access = true, - .ret_type = RET_PTR_TO_MAP_VALUE_OR_NULL, - .arg1_type = ARG_CONST_MAP_PTR, - .arg2_type = ARG_PTR_TO_MAP_KEY, -}; - -BPF_CALL_4(bpf_map_update_elem, struct bpf_map *, map, void *, key, - void *, value, u64, flags) -{ - WARN_ON_ONCE(!rcu_read_lock_held()); - return map->ops->map_update_elem(map, key, value, flags); -} - -const struct bpf_func_proto bpf_map_update_elem_proto = { - .func = bpf_map_update_elem, - .gpl_only = false, - .pkt_access = true, - .ret_type = RET_INTEGER, - .arg1_type = ARG_CONST_MAP_PTR, - .arg2_type = ARG_PTR_TO_MAP_KEY, - .arg3_type = ARG_PTR_TO_MAP_VALUE, - .arg4_type = ARG_ANYTHING, -}; - -BPF_CALL_2(bpf_map_delete_elem, struct bpf_map *, map, void *, key) -{ - WARN_ON_ONCE(!rcu_read_lock_held()); - return map->ops->map_delete_elem(map, key); -} - -const struct bpf_func_proto bpf_map_delete_elem_proto = { - .func = bpf_map_delete_elem, - .gpl_only = false, - .pkt_access = true, - .ret_type = RET_INTEGER, - .arg1_type = ARG_CONST_MAP_PTR, - .arg2_type = ARG_PTR_TO_MAP_KEY, -}; - -// const struct bpf_func_proto bpf_get_prandom_u32_proto = { -// .func = bpf_user_rnd_u32, -// .gpl_only = false, -// .ret_type = RET_INTEGER, -// }; - -BPF_CALL_0(bpf_get_smp_processor_id) -{ - return smp_processor_id(); -} - -const struct bpf_func_proto bpf_get_smp_processor_id_proto = { - .func = bpf_get_smp_processor_id, - .gpl_only = false, - .ret_type = RET_INTEGER, -}; - -BPF_CALL_0(bpf_get_numa_node_id) -{ - return numa_node_id(); -} - -const struct bpf_func_proto bpf_get_numa_node_id_proto = { - .func = bpf_get_numa_node_id, - .gpl_only = false, - .ret_type = RET_INTEGER, -}; - -BPF_CALL_0(bpf_ktime_get_ns) -{ - /* NMI safe access to clock monotonic */ - // return ktime_get_mono_fast_ns(); - - return ktime_to_ns(ktime_get_boottime()); -} - -const struct bpf_func_proto bpf_ktime_get_ns_proto = { - .func = bpf_ktime_get_ns, - .gpl_only = true, - .ret_type = RET_INTEGER, -}; - -BPF_CALL_0(bpf_get_current_pid_tgid) -{ - struct task_struct *task = current; - - if (unlikely(!task)) - return -EINVAL; - - return (u64) task->tgid << 32 | task->pid; -} - -const struct bpf_func_proto bpf_get_current_pid_tgid_proto = { - .func = bpf_get_current_pid_tgid, - .gpl_only = false, - .ret_type = RET_INTEGER, -}; - -BPF_CALL_0(bpf_get_current_uid_gid) -{ - struct task_struct *task = current; - kuid_t uid; - kgid_t gid; - - if (unlikely(!task)) - return -EINVAL; - - current_uid_gid(&uid, &gid); - return (u64) from_kgid(&init_user_ns, gid) << 32 | - from_kuid(&init_user_ns, uid); -} - -const struct bpf_func_proto bpf_get_current_uid_gid_proto = { - .func = bpf_get_current_uid_gid, - .gpl_only = false, - .ret_type = RET_INTEGER, -}; - -BPF_CALL_2(bpf_get_current_comm, char *, buf, u32, size) -{ - struct task_struct *task = current; - - if (unlikely(!task)) - goto err_clear; - - strncpy(buf, task->comm, size); - - /* Verifier guarantees that size > 0. For task->comm exceeding - * size, guarantee that buf is %NUL-terminated. Unconditionally - * done here to save the size test. - */ - buf[size - 1] = 0; - return 0; -err_clear: - memset(buf, 0, size); - return -EINVAL; -} - -const struct bpf_func_proto bpf_get_current_comm_proto = { - .func = bpf_get_current_comm, - .gpl_only = false, - .ret_type = RET_INTEGER, - .arg1_type = ARG_PTR_TO_UNINIT_MEM, - .arg2_type = ARG_CONST_SIZE, -}; diff --git a/lcc/glcc/lib/ebpf/linux/bpf.h b/lcc/glcc/lib/ebpf/linux/bpf.h deleted file mode 100644 index fed1a14..0000000 --- a/lcc/glcc/lib/ebpf/linux/bpf.h +++ /dev/null @@ -1,495 +0,0 @@ -/* Copyright (c) 2011-2014 PLUMgrid, http://plumgrid.com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of version 2 of the GNU General Public - * License as published by the Free Software Foundation. - */ -#ifndef _LINUX_BPF_H -#define _LINUX_BPF_H 1 - -#include "uapi/linux/bpf.h" -#include "allsyms.h" -#include -#include -#include -#include -#include -#include -#include "rbtree_latch.h" - -struct perf_event; -struct bpf_map; - -/* map is generic key/value storage optionally accesible by eBPF programs */ -struct bpf_map_ops { - /* funcs callable from userspace (via syscall) */ - int (*map_alloc_check)(union bpf_attr *attr); - struct bpf_map *(*map_alloc)(union bpf_attr *attr); - void (*map_release)(struct bpf_map *map, struct file *map_file); - void (*map_free)(struct bpf_map *map); - int (*map_get_next_key)(struct bpf_map *map, void *key, void *next_key); - - /* funcs callable from userspace and from eBPF programs */ - void *(*map_lookup_elem)(struct bpf_map *map, void *key); - int (*map_update_elem)(struct bpf_map *map, void *key, void *value, u64 flags); - int (*map_delete_elem)(struct bpf_map *map, void *key); - - /* funcs called by prog_array and perf_event_array map */ - void *(*map_fd_get_ptr)(struct bpf_map *map, struct file *map_file, - int fd); - void (*map_fd_put_ptr)(void *ptr); - u32 (*map_gen_lookup)(struct bpf_map *map, struct bpf_insn *insn_buf); - u32 (*map_fd_sys_lookup_elem)(void *ptr); -}; - -struct bpf_map { - /* 1st cacheline with read-mostly members of which some - * are also accessed in fast-path (e.g. ops, max_entries). - */ - const struct bpf_map_ops *ops ____cacheline_aligned; - struct bpf_map *inner_map_meta; -#ifdef CONFIG_SECURITY - void *security; -#endif - enum bpf_map_type map_type; - u32 key_size; - u32 value_size; - u32 max_entries; - u32 map_flags; - u32 pages; - u32 id; - int numa_node; - bool unpriv_array; - /* 7 bytes hole */ - - /* 2nd cacheline with misc members to avoid false sharing - * particularly with refcounting. - */ - struct user_struct *user ____cacheline_aligned; - atomic_t refcnt; - atomic_t usercnt; - struct work_struct work; - char name[BPF_OBJ_NAME_LEN]; -}; - -/* function argument constraints */ -enum bpf_arg_type { - ARG_DONTCARE = 0, /* unused argument in helper function */ - - /* the following constraints used to prototype - * bpf_map_lookup/update/delete_elem() functions - */ - ARG_CONST_MAP_PTR, /* const argument used as pointer to bpf_map */ - ARG_PTR_TO_MAP_KEY, /* pointer to stack used as map key */ - ARG_PTR_TO_MAP_VALUE, /* pointer to stack used as map value */ - - /* the following constraints used to prototype bpf_memcmp() and other - * functions that access data on eBPF program stack - */ - ARG_PTR_TO_MEM, /* pointer to valid memory (stack, packet, map value) */ - ARG_PTR_TO_MEM_OR_NULL, /* pointer to valid memory or NULL */ - ARG_PTR_TO_UNINIT_MEM, /* pointer to memory does not need to be initialized, - * helper function must fill all bytes or clear - * them in error case. - */ - - ARG_CONST_SIZE, /* number of bytes accessed from memory */ - ARG_CONST_SIZE_OR_ZERO, /* number of bytes accessed from memory or 0 */ - - ARG_PTR_TO_CTX, /* pointer to context */ - ARG_ANYTHING, /* any (initialized) argument is ok */ -}; - -/* type of values returned from helper functions */ -enum bpf_return_type { - RET_INTEGER, /* function returns integer */ - RET_VOID, /* function doesn't return anything */ - RET_PTR_TO_MAP_VALUE, /* returns a pointer to map elem value */ - RET_PTR_TO_MAP_VALUE_OR_NULL, /* returns a pointer to map elem value or NULL */ -}; - -/* eBPF function prototype used by verifier to allow BPF_CALLs from eBPF programs - * to in-kernel helper functions and for adjusting imm32 field in BPF_CALL - * instructions after verifying - */ -struct bpf_func_proto { - u64 (*func)(u64 r1, u64 r2, u64 r3, u64 r4, u64 r5); - bool gpl_only; - bool pkt_access; - enum bpf_return_type ret_type; - enum bpf_arg_type arg1_type; - enum bpf_arg_type arg2_type; - enum bpf_arg_type arg3_type; - enum bpf_arg_type arg4_type; - enum bpf_arg_type arg5_type; -}; - -/* bpf_context is intentionally undefined structure. Pointer to bpf_context is - * the first argument to eBPF programs. - * For socket filters: 'struct bpf_context *' == 'struct sk_buff *' - */ -struct bpf_context; - -enum bpf_access_type { - BPF_READ = 1, - BPF_WRITE = 2 -}; - -/* types of values stored in eBPF registers */ -/* Pointer types represent: - * pointer - * pointer + imm - * pointer + (u16) var - * pointer + (u16) var + imm - * if (range > 0) then [ptr, ptr + range - off) is safe to access - * if (id > 0) means that some 'var' was added - * if (off > 0) means that 'imm' was added - */ -enum bpf_reg_type { - NOT_INIT = 0, /* nothing was written into register */ - SCALAR_VALUE, /* reg doesn't contain a valid pointer */ - PTR_TO_CTX, /* reg points to bpf_context */ - CONST_PTR_TO_MAP, /* reg points to struct bpf_map */ - PTR_TO_MAP_VALUE, /* reg points to map element value */ - PTR_TO_MAP_VALUE_OR_NULL,/* points to map elem value or NULL */ - PTR_TO_STACK, /* reg == frame_pointer + offset */ - PTR_TO_PACKET_META, /* skb->data - meta_len */ - PTR_TO_PACKET, /* reg points to skb->data */ - PTR_TO_PACKET_END, /* skb->data + headlen */ -}; - -struct bpf_prog; - -/* The information passed from prog-specific *_is_valid_access - * back to the verifier. - */ -struct bpf_insn_access_aux { - enum bpf_reg_type reg_type; - int ctx_field_size; -}; - -static inline void -bpf_ctx_record_field_size(struct bpf_insn_access_aux *aux, u32 size) -{ - aux->ctx_field_size = size; -} - -struct bpf_prog_ops { - int (*test_run)(struct bpf_prog *prog, const union bpf_attr *kattr, - union bpf_attr __user *uattr); -}; - -struct bpf_verifier_ops { - /* return eBPF function prototype for verification */ - const struct bpf_func_proto * - (*get_func_proto)(enum bpf_func_id func_id, - const struct bpf_prog *prog); - - /* return true if 'size' wide access at offset 'off' within bpf_context - * with 'type' (read or write) is allowed - */ - bool (*is_valid_access)(int off, int size, enum bpf_access_type type, - const struct bpf_prog *prog, - struct bpf_insn_access_aux *info); - int (*gen_prologue)(struct bpf_insn *insn, bool direct_write, - const struct bpf_prog *prog); - u32 (*convert_ctx_access)(enum bpf_access_type type, - const struct bpf_insn *src, - struct bpf_insn *dst, - struct bpf_prog *prog, u32 *target_size); -}; - -struct bpf_prog_aux { - atomic_t refcnt; - u32 used_map_cnt; - u32 id; - u32 func_cnt; - struct bpf_prog **func; - void *jit_data; /* JIT specific data. arch dependent */ - u32 max_ctx_offset; - u32 stack_depth; - struct latch_tree_node ksym_tnode; - struct list_head ksym_lnode; - const struct bpf_prog_ops *ops; - struct bpf_map **used_maps; - struct bpf_prog *prog; - struct user_struct *user; - u64 load_time; /* ns since boottime */ - char name[BPF_OBJ_NAME_LEN]; -#ifdef CONFIG_SECURITY - void *security; -#endif - union { - struct work_struct work; - struct rcu_head rcu; - }; -}; - -struct bpf_array { - struct bpf_map map; - u32 elem_size; - u32 index_mask; - /* 'ownership' of prog_array is claimed by the first program that - * is going to use this map or by the first program which FD is stored - * in the map to make sure that all callers and callees have the same - * prog_type and JITed flag - */ - enum bpf_prog_type owner_prog_type; - bool owner_jited; - union { - char value[0] __aligned(8); - void *ptrs[0] __aligned(8); - void __percpu *pptrs[0] __aligned(8); - }; -}; - -#define MAX_TAIL_CALL_CNT 32 - -struct bpf_event_entry { - struct perf_event *event; - struct file *perf_file; - struct file *map_file; - struct rcu_head rcu; -}; - -// bool bpf_prog_array_compatible(struct bpf_array *array, const struct bpf_prog *fp); -int bpf_prog_calc_tag(struct bpf_prog *fp); - -const struct bpf_func_proto *bpf_get_trace_printk_proto(void); - -typedef unsigned long (*bpf_ctx_copy_t)(void *dst, const void *src, - unsigned long off, unsigned long len); - -u64 bpf_event_output(struct bpf_map *map, u64 flags, void *meta, u64 meta_size, - void *ctx, u64 ctx_size, bpf_ctx_copy_t ctx_copy); - -int bpf_prog_test_run_skb(struct bpf_prog *prog, const union bpf_attr *kattr, - union bpf_attr __user *uattr); - -/* an array of programs to be executed under rcu_lock. - * - * Typical usage: - * ret = BPF_PROG_RUN_ARRAY(&bpf_prog_array, ctx, BPF_PROG_RUN); - * - * the structure returned by bpf_prog_array_alloc() should be populated - * with program pointers and the last pointer must be NULL. - * The user has to keep refcnt on the program and make sure the program - * is removed from the array before bpf_prog_put(). - * The 'struct bpf_prog_array *' should only be replaced with xchg() - * since other cpus are walking the array of pointers in parallel. - */ -struct bpf_prog_array { - struct rcu_head rcu; - struct bpf_prog *progs[0]; -}; - -struct bpf_prog_array *bpf_prog_array_alloc(u32 prog_cnt, gfp_t flags); -void bpf_prog_array_free(struct bpf_prog_array __rcu *progs); -int bpf_prog_array_length(struct bpf_prog_array __rcu *progs); -int bpf_prog_array_copy_to_user(struct bpf_prog_array __rcu *progs, - __u32 __user *prog_ids, u32 cnt); - -void bpf_prog_array_delete_safe(struct bpf_prog_array __rcu *progs, - struct bpf_prog *old_prog); -int bpf_prog_array_copy_info(struct bpf_prog_array __rcu *array, - u32 *prog_ids, u32 request_cnt, - u32 *prog_cnt); -int bpf_prog_array_copy(struct bpf_prog_array __rcu *old_array, - struct bpf_prog *exclude_prog, - struct bpf_prog *include_prog, - struct bpf_prog_array **new_array); - -#define __BPF_PROG_RUN_ARRAY(array, ctx, func, check_non_null) \ - ({ \ - struct bpf_prog **_prog, *__prog; \ - struct bpf_prog_array *_array; \ - u32 _ret = 1; \ - rcu_read_lock(); \ - _array = rcu_dereference(array); \ - if (unlikely(check_non_null && !_array))\ - goto _out; \ - _prog = _array->progs; \ - while ((__prog = READ_ONCE(*_prog))) { \ - _ret &= func(__prog, ctx); \ - _prog++; \ - } \ -_out: \ - rcu_read_unlock(); \ - _ret; \ - }) - -#define BPF_PROG_RUN_ARRAY(array, ctx, func) \ - __BPF_PROG_RUN_ARRAY(array, ctx, func, false) - -#define BPF_PROG_RUN_ARRAY_CHECK(array, ctx, func) \ - __BPF_PROG_RUN_ARRAY(array, ctx, func, true) - -#ifndef CONFIG_BPF_SYSCALL -#define CONFIG_BPF_SYSCALL -#endif - -#ifdef CONFIG_BPF_SYSCALL -DECLARE_PER_CPU(int, bpf_prog_active); - -extern const struct file_operations bpf_map_fops; -extern const struct file_operations bpf_prog_fops; - -#define BPF_PROG_TYPE(_id, _name) \ - extern const struct bpf_prog_ops _name ## _prog_ops; \ - extern const struct bpf_verifier_ops _name ## _verifier_ops; -#define BPF_MAP_TYPE(_id, _ops) \ - extern const struct bpf_map_ops _ops; -#include -#undef BPF_PROG_TYPE -#undef BPF_MAP_TYPE - -struct bpf_prog *bpf_prog_get(u32 ufd); -struct bpf_prog *bpf_prog_get_type(u32 ufd, enum bpf_prog_type type); -struct bpf_prog * __must_check bpf_prog_add(struct bpf_prog *prog, int i); -struct bpf_prog * __must_check bpf_prog_inc(struct bpf_prog *prog); -struct bpf_prog * __must_check bpf_prog_inc_not_zero(struct bpf_prog *prog); -void bpf_prog_put(struct bpf_prog *prog); -int __bpf_prog_charge(struct user_struct *user, u32 pages); -void __bpf_prog_uncharge(struct user_struct *user, u32 pages); - -struct bpf_map *bpf_map_get(u32 ufd); -struct bpf_map *__bpf_map_get(struct fd f); -struct bpf_map *bpf_map_get_with_uref(u32 ufd); -struct bpf_map * __must_check bpf_map_inc(struct bpf_map *map, bool uref); -void bpf_map_put_with_uref(struct bpf_map *map); -void bpf_map_put(struct bpf_map *map); -int bpf_map_precharge_memlock(u32 pages); -int bpf_map_charge_memlock(struct bpf_map *map, u32 pages); -void bpf_map_uncharge_memlock(struct bpf_map *map, u32 pages); -void *bpf_map_area_alloc(size_t size, int numa_node); -void bpf_map_area_free(void *base); -void bpf_map_init_from_attr(struct bpf_map *map, union bpf_attr *attr); - -extern int sysctl_unprivileged_bpf_disabled; - -int bpf_map_new_fd(struct bpf_map *map, int flags); -int bpf_prog_new_fd(struct bpf_prog *prog); - -int bpf_obj_pin_user(u32 ufd, const char __user *pathname); -int bpf_obj_get_user(const char __user *pathname, int flags); - -int bpf_percpu_hash_copy(struct bpf_map *map, void *key, void *value); -int bpf_percpu_array_copy(struct bpf_map *map, void *key, void *value); -int bpf_percpu_hash_update(struct bpf_map *map, void *key, void *value, - u64 flags); -int bpf_percpu_array_update(struct bpf_map *map, void *key, void *value, - u64 flags); - -int bpf_stackmap_copy(struct bpf_map *map, void *key, void *value); - -int bpf_fd_array_map_update_elem(struct bpf_map *map, struct file *map_file, - void *key, void *value, u64 map_flags); -int bpf_fd_array_map_lookup_elem(struct bpf_map *map, void *key, u32 *value); -void bpf_fd_array_map_clear(struct bpf_map *map); -int bpf_fd_htab_map_update_elem(struct bpf_map *map, struct file *map_file, - void *key, void *value, u64 map_flags); -int bpf_fd_htab_map_lookup_elem(struct bpf_map *map, void *key, u32 *value); - -int bpf_get_file_flag(int flags); - -/* memcpy that is used with 8-byte aligned pointers, power-of-8 size and - * forced to use 'long' read/writes to try to atomically copy long counters. - * Best-effort only. No barriers here, since it _will_ race with concurrent - * updates from BPF programs. Called from bpf syscall and mostly used with - * size 8 or 16 bytes, so ask compiler to inline it. - */ -static inline void bpf_long_memcpy(void *dst, const void *src, u32 size) -{ - const long *lsrc = src; - long *ldst = dst; - - size /= sizeof(long); - while (size--) - *ldst++ = *lsrc++; -} - -/* verify correctness of eBPF program */ -int bpf_check(struct bpf_prog **fp, union bpf_attr *attr); -void bpf_patch_call_args(struct bpf_insn *insn, u32 stack_depth); - -/* Return map's numa specified by userspace */ -static inline int bpf_map_attr_numa_node(const union bpf_attr *attr) -{ - return (attr->map_flags & BPF_F_NUMA_NODE) ? - attr->numa_node : NUMA_NO_NODE; -} - -#else -static inline struct bpf_prog *bpf_prog_get(u32 ufd) -{ - return ERR_PTR(-EOPNOTSUPP); -} - -static inline struct bpf_prog *bpf_prog_get_type(u32 ufd, - enum bpf_prog_type type) -{ - return ERR_PTR(-EOPNOTSUPP); -} -static inline struct bpf_prog * __must_check bpf_prog_add(struct bpf_prog *prog, - int i) -{ - return ERR_PTR(-EOPNOTSUPP); -} - -static inline void bpf_prog_put(struct bpf_prog *prog) -{ -} - -static inline struct bpf_prog * __must_check bpf_prog_inc(struct bpf_prog *prog) -{ - return ERR_PTR(-EOPNOTSUPP); -} - -static inline void bpf_prog_sub(struct bpf_prog *prog, int i) -{ -} - -static inline struct bpf_prog *__must_check -bpf_prog_inc_not_zero(struct bpf_prog *prog) -{ - return ERR_PTR(-EOPNOTSUPP); -} - -static inline int __bpf_prog_charge(struct user_struct *user, u32 pages) -{ - return 0; -} - -static inline void __bpf_prog_uncharge(struct user_struct *user, u32 pages) -{ -} - -static inline int bpf_obj_get_user(const char __user *pathname, int flags) -{ - return -EOPNOTSUPP; -} - -#endif /* CONFIG_BPF_SYSCALL */ - -/* verifier prototypes for helper functions called from eBPF programs */ -extern const struct bpf_func_proto bpf_map_lookup_elem_proto; -extern const struct bpf_func_proto bpf_map_update_elem_proto; -extern const struct bpf_func_proto bpf_map_delete_elem_proto; - -// extern const struct bpf_func_proto bpf_get_prandom_u32_proto; -extern const struct bpf_func_proto bpf_get_smp_processor_id_proto; -// extern const struct bpf_func_proto bpf_get_numa_node_id_proto; -// extern const struct bpf_func_proto bpf_tail_call_proto; -extern const struct bpf_func_proto bpf_ktime_get_ns_proto; -extern const struct bpf_func_proto bpf_get_current_pid_tgid_proto; -// extern const struct bpf_func_proto bpf_get_current_uid_gid_proto; -extern const struct bpf_func_proto bpf_get_current_comm_proto; -extern const struct bpf_func_proto bpf_get_stackid_proto; -// extern const struct bpf_func_proto bpf_get_stack_proto; - -/* Shared helpers among cBPF and eBPF. */ -void bpf_user_rnd_init_once(void); -u64 bpf_user_rnd_u32(u64 r1, u64 r2, u64 r3, u64 r4, u64 r5); - -bool bpf_helper_changes_skb_data(void *func); -#endif /* _LINUX_BPF_H */ diff --git a/lcc/glcc/lib/ebpf/linux/bpf_common.h b/lcc/glcc/lib/ebpf/linux/bpf_common.h deleted file mode 100644 index f0fe139..0000000 --- a/lcc/glcc/lib/ebpf/linux/bpf_common.h +++ /dev/null @@ -1,57 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ -#ifndef __LINUX_BPF_COMMON_H__ -#define __LINUX_BPF_COMMON_H__ - -/* Instruction classes */ -#define BPF_CLASS(code) ((code) & 0x07) -#define BPF_LD 0x00 -#define BPF_LDX 0x01 -#define BPF_ST 0x02 -#define BPF_STX 0x03 -#define BPF_ALU 0x04 -#define BPF_JMP 0x05 -#define BPF_RET 0x06 -#define BPF_MISC 0x07 - -/* ld/ldx fields */ -#define BPF_SIZE(code) ((code) & 0x18) -#define BPF_W 0x00 /* 32-bit */ -#define BPF_H 0x08 /* 16-bit */ -#define BPF_B 0x10 /* 8-bit */ -/* eBPF BPF_DW 0x18 64-bit */ -#define BPF_MODE(code) ((code) & 0xe0) -#define BPF_IMM 0x00 -#define BPF_ABS 0x20 -#define BPF_IND 0x40 -#define BPF_MEM 0x60 -#define BPF_LEN 0x80 -#define BPF_MSH 0xa0 - -/* alu/jmp fields */ -#define BPF_OP(code) ((code) & 0xf0) -#define BPF_ADD 0x00 -#define BPF_SUB 0x10 -#define BPF_MUL 0x20 -#define BPF_DIV 0x30 -#define BPF_OR 0x40 -#define BPF_AND 0x50 -#define BPF_LSH 0x60 -#define BPF_RSH 0x70 -#define BPF_NEG 0x80 -#define BPF_MOD 0x90 -#define BPF_XOR 0xa0 - -#define BPF_JA 0x00 -#define BPF_JEQ 0x10 -#define BPF_JGT 0x20 -#define BPF_JGE 0x30 -#define BPF_JSET 0x40 -#define BPF_SRC(code) ((code) & 0x08) -#define BPF_K 0x00 -#define BPF_X 0x08 - -#ifndef BPF_MAXINSNS -#define BPF_MAXINSNS 4096 -#endif - -#endif /* __LINUX_BPF_COMMON_H__ */ diff --git a/lcc/glcc/lib/ebpf/linux/bpf_perf_event.h b/lcc/glcc/lib/ebpf/linux/bpf_perf_event.h deleted file mode 100644 index 16922ad..0000000 --- a/lcc/glcc/lib/ebpf/linux/bpf_perf_event.h +++ /dev/null @@ -1,20 +0,0 @@ -/* Copyright (c) 2016 Facebook - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of version 2 of the GNU General Public - * License as published by the Free Software Foundation. - */ -#ifndef _UAPI__LINUX_BPF_PERF_EVENT_H__ -#define _UAPI__LINUX_BPF_PERF_EVENT_H__ - -// #include -#include -/* Export kernel pt_regs structure */ -typedef struct pt_regs bpf_user_pt_regs_t; - -struct bpf_perf_event_data { - bpf_user_pt_regs_t regs; - __u64 sample_period; -}; - -#endif /* _UAPI__LINUX_BPF_PERF_EVENT_H__ */ diff --git a/lcc/glcc/lib/ebpf/linux/bpf_types.h b/lcc/glcc/lib/ebpf/linux/bpf_types.h deleted file mode 100644 index 1dc2724..0000000 --- a/lcc/glcc/lib/ebpf/linux/bpf_types.h +++ /dev/null @@ -1,33 +0,0 @@ -/* internal file - do not include directly */ - -// BPF_PROG_TYPE(BPF_PROG_TYPE_SOCKET_FILTER, sk_filter) - -// BPF_PROG_TYPE(BPF_PROG_TYPE_SCHED_CLS, tc_cls_act) -// BPF_PROG_TYPE(BPF_PROG_TYPE_SCHED_ACT, tc_cls_act) - -// #ifdef CONFIG_BPF_EVENTS -BPF_PROG_TYPE(BPF_PROG_TYPE_KPROBE, kprobe) -BPF_PROG_TYPE(BPF_PROG_TYPE_TRACEPOINT, tracepoint) -// BPF_PROG_TYPE(BPF_PROG_TYPE_PERF_EVENT, perf_event) -// #endif - -BPF_MAP_TYPE(BPF_MAP_TYPE_ARRAY, array_map_ops) -// BPF_MAP_TYPE(BPF_MAP_TYPE_PERCPU_ARRAY, percpu_array_map_ops) -// BPF_MAP_TYPE(BPF_MAP_TYPE_PROG_ARRAY, prog_array_map_ops) -BPF_MAP_TYPE(BPF_MAP_TYPE_PERF_EVENT_ARRAY, perf_event_array_map_ops) -// #ifdef CONFIG_SOCK_CGROUP_DATA -// BPF_MAP_TYPE(BPF_MAP_TYPE_CGROUP_ARRAY, cgroup_array_map_ops) -// #endif -BPF_MAP_TYPE(BPF_MAP_TYPE_HASH, htab_map_ops) -BPF_MAP_TYPE(BPF_MAP_TYPE_PERCPU_HASH, htab_percpu_map_ops) -BPF_MAP_TYPE(BPF_MAP_TYPE_LRU_HASH, htab_lru_map_ops) -// BPF_MAP_TYPE(BPF_MAP_TYPE_LRU_PERCPU_HASH, htab_lru_percpu_map_ops) -// BPF_MAP_TYPE(BPF_MAP_TYPE_LPM_TRIE, trie_map_ops) -#ifdef CONFIG_PERF_EVENTS -BPF_MAP_TYPE(BPF_MAP_TYPE_STACK_TRACE, stack_map_ops) -#endif -// BPF_MAP_TYPE(BPF_MAP_TYPE_ARRAY_OF_MAPS, array_of_maps_map_ops) -// BPF_MAP_TYPE(BPF_MAP_TYPE_HASH_OF_MAPS, htab_of_maps_map_ops) -// #ifdef CONFIG_NET -// BPF_MAP_TYPE(BPF_MAP_TYPE_DEVMAP, dev_map_ops) -// #endif diff --git a/lcc/glcc/lib/ebpf/linux/config.h b/lcc/glcc/lib/ebpf/linux/config.h deleted file mode 100644 index 803ada4..0000000 --- a/lcc/glcc/lib/ebpf/linux/config.h +++ /dev/null @@ -1,21 +0,0 @@ -#ifndef __EBPF_LINUX_CONFIG_H -#define __EBPF_LINUX_CONFIG_H - - -static int bpf_jit_enable = 1; - -#define CONFIG_BPF_JIT_ALWAYS_ON -#define CONFIG_HAVE_EBPF_JIT - -// /work/lcc/lib/ebpf/linux/config.h:5:0: warning: "CONFIG_BPF_JIT" redefined [enabled by default] -// #define CONFIG_BPF_JIT -// ^ -// In file included from /usr/src/kernels/3.10.0-327.ali2017.alios7.x86_64/include/linux/kconfig.h:4:0, -// from :0: -// include/generated/autoconf.h:2461:0: note: this is the location of the previous definition -// #define CONFIG_BPF_JIT 1 -// #define CONFIG_BPF_JIT - -#define DEBUG_LINE printk("%s:%d:1 fun:%s\n", __FILE__ ,__LINE__, __FUNCTION__) - -#endif diff --git a/lcc/glcc/lib/ebpf/linux/filter.h b/lcc/glcc/lib/ebpf/linux/filter.h deleted file mode 100644 index 1ba4fe2..0000000 --- a/lcc/glcc/lib/ebpf/linux/filter.h +++ /dev/null @@ -1,921 +0,0 @@ -/* - * Linux Socket Filter Data Structures - */ -#ifndef __LINUX_FILTER_H__ -#define __LINUX_FILTER_H__ - -#include "config.h" -#include -#include -#include -#include -#include "uapi/linux/bpf.h" -#ifndef __GENKSYMS__ -// #include -#include -#endif -#include -#include -#include - -#ifdef CONFIG_COMPAT -/* - * A struct sock_filter is architecture independent. - */ -struct compat_sock_fprog { - u16 len; - compat_uptr_t filter; /* struct sock_filter * */ -}; -#endif - -struct bpf_binary_header { - unsigned int pages; - u8 image[]; -}; - -struct sk_buff; -struct sock; -struct bpf_prog_aux; -struct xdp_buff; - -/* ArgX, context and stack frame pointer register positions. Note, - * Arg1, Arg2, Arg3, etc are used as argument mappings of function - * calls in BPF_CALL instruction. - */ -#define BPF_REG_ARG1 BPF_REG_1 -#define BPF_REG_ARG2 BPF_REG_2 -#define BPF_REG_ARG3 BPF_REG_3 -#define BPF_REG_ARG4 BPF_REG_4 -#define BPF_REG_ARG5 BPF_REG_5 -#define BPF_REG_CTX BPF_REG_6 -#define BPF_REG_FP BPF_REG_10 - -/* Additional register mappings for converted user programs. */ -#define BPF_REG_A BPF_REG_0 -#define BPF_REG_X BPF_REG_7 -#define BPF_REG_TMP BPF_REG_8 - -/* Kernel hidden auxiliary/helper register for hardening step. - * Only used by eBPF JITs. It's nothing more than a temporary - * register that JITs use internally, only that here it's part - * of eBPF instructions that have been rewritten for blinding - * constants. See JIT pre-step in bpf_jit_blind_constants(). - */ -#define BPF_REG_AX MAX_BPF_REG -#define MAX_BPF_JIT_REG (MAX_BPF_REG + 1) - -/* unused opcode to mark special call to bpf_tail_call() helper */ -#define BPF_TAIL_CALL 0xf0 - -/* unused opcode to mark call to interpreter with arguments */ -#define BPF_CALL_ARGS 0xe0 - -/* As per nm, we expose JITed images as text (code) section for - * kallsyms. That way, tools like perf can find it to match - * addresses. - */ -#define BPF_SYM_ELF_TYPE 't' - -/* BPF program can access up to 512 bytes of stack space. */ -#define MAX_BPF_STACK 512 - -/* Helper macros for filter block array initializers. */ - -/* ALU ops on registers, bpf_add|sub|...: dst_reg += src_reg */ - -#define BPF_ALU64_REG(OP, DST, SRC) \ - ((struct bpf_insn) { \ - .code = BPF_ALU64 | BPF_OP(OP) | BPF_X, \ - .dst_reg = DST, \ - .src_reg = SRC, \ - .off = 0, \ - .imm = 0 }) - -#define BPF_ALU32_REG(OP, DST, SRC) \ - ((struct bpf_insn) { \ - .code = BPF_ALU | BPF_OP(OP) | BPF_X, \ - .dst_reg = DST, \ - .src_reg = SRC, \ - .off = 0, \ - .imm = 0 }) - -/* ALU ops on immediates, bpf_add|sub|...: dst_reg += imm32 */ - -#define BPF_ALU64_IMM(OP, DST, IMM) \ - ((struct bpf_insn) { \ - .code = BPF_ALU64 | BPF_OP(OP) | BPF_K, \ - .dst_reg = DST, \ - .src_reg = 0, \ - .off = 0, \ - .imm = IMM }) - -#define BPF_ALU32_IMM(OP, DST, IMM) \ - ((struct bpf_insn) { \ - .code = BPF_ALU | BPF_OP(OP) | BPF_K, \ - .dst_reg = DST, \ - .src_reg = 0, \ - .off = 0, \ - .imm = IMM }) - -/* Endianess conversion, cpu_to_{l,b}e(), {l,b}e_to_cpu() */ - -#define BPF_ENDIAN(TYPE, DST, LEN) \ - ((struct bpf_insn) { \ - .code = BPF_ALU | BPF_END | BPF_SRC(TYPE), \ - .dst_reg = DST, \ - .src_reg = 0, \ - .off = 0, \ - .imm = LEN }) - -/* Short form of mov, dst_reg = src_reg */ - -#define BPF_MOV64_REG(DST, SRC) \ - ((struct bpf_insn) { \ - .code = BPF_ALU64 | BPF_MOV | BPF_X, \ - .dst_reg = DST, \ - .src_reg = SRC, \ - .off = 0, \ - .imm = 0 }) - -#define BPF_MOV32_REG(DST, SRC) \ - ((struct bpf_insn) { \ - .code = BPF_ALU | BPF_MOV | BPF_X, \ - .dst_reg = DST, \ - .src_reg = SRC, \ - .off = 0, \ - .imm = 0 }) - -/* Short form of mov, dst_reg = imm32 */ - -#define BPF_MOV64_IMM(DST, IMM) \ - ((struct bpf_insn) { \ - .code = BPF_ALU64 | BPF_MOV | BPF_K, \ - .dst_reg = DST, \ - .src_reg = 0, \ - .off = 0, \ - .imm = IMM }) - -#define BPF_MOV32_IMM(DST, IMM) \ - ((struct bpf_insn) { \ - .code = BPF_ALU | BPF_MOV | BPF_K, \ - .dst_reg = DST, \ - .src_reg = 0, \ - .off = 0, \ - .imm = IMM }) - -/* BPF_LD_IMM64 macro encodes single 'load 64-bit immediate' insn */ -#define BPF_LD_IMM64(DST, IMM) \ - BPF_LD_IMM64_RAW(DST, 0, IMM) - -#define BPF_LD_IMM64_RAW(DST, SRC, IMM) \ - ((struct bpf_insn) { \ - .code = BPF_LD | BPF_DW | BPF_IMM, \ - .dst_reg = DST, \ - .src_reg = SRC, \ - .off = 0, \ - .imm = (__u32) (IMM) }), \ - ((struct bpf_insn) { \ - .code = 0, /* zero is reserved opcode */ \ - .dst_reg = 0, \ - .src_reg = 0, \ - .off = 0, \ - .imm = ((__u64) (IMM)) >> 32 }) - -#define BPF_PSEUDO_MAP_FD 1 - -/* pseudo BPF_LD_IMM64 insn used to refer to process-local map_fd */ -#define BPF_LD_MAP_FD(DST, MAP_FD) \ - BPF_LD_IMM64_RAW(DST, BPF_PSEUDO_MAP_FD, MAP_FD) - -/* Short form of mov based on type, BPF_X: dst_reg = src_reg, BPF_K: dst_reg = imm32 */ - -#define BPF_MOV64_RAW(TYPE, DST, SRC, IMM) \ - ((struct bpf_insn) { \ - .code = BPF_ALU64 | BPF_MOV | BPF_SRC(TYPE), \ - .dst_reg = DST, \ - .src_reg = SRC, \ - .off = 0, \ - .imm = IMM }) - -#define BPF_MOV32_RAW(TYPE, DST, SRC, IMM) \ - ((struct bpf_insn) { \ - .code = BPF_ALU | BPF_MOV | BPF_SRC(TYPE), \ - .dst_reg = DST, \ - .src_reg = SRC, \ - .off = 0, \ - .imm = IMM }) - -/* Direct packet access, R0 = *(uint *) (skb->data + imm32) */ - -#define BPF_LD_ABS(SIZE, IMM) \ - ((struct bpf_insn) { \ - .code = BPF_LD | BPF_SIZE(SIZE) | BPF_ABS, \ - .dst_reg = 0, \ - .src_reg = 0, \ - .off = 0, \ - .imm = IMM }) - -/* Indirect packet access, R0 = *(uint *) (skb->data + src_reg + imm32) */ - -#define BPF_LD_IND(SIZE, SRC, IMM) \ - ((struct bpf_insn) { \ - .code = BPF_LD | BPF_SIZE(SIZE) | BPF_IND, \ - .dst_reg = 0, \ - .src_reg = SRC, \ - .off = 0, \ - .imm = IMM }) - -/* Memory load, dst_reg = *(uint *) (src_reg + off16) */ - -#define BPF_LDX_MEM(SIZE, DST, SRC, OFF) \ - ((struct bpf_insn) { \ - .code = BPF_LDX | BPF_SIZE(SIZE) | BPF_MEM, \ - .dst_reg = DST, \ - .src_reg = SRC, \ - .off = OFF, \ - .imm = 0 }) - -/* Memory store, *(uint *) (dst_reg + off16) = src_reg */ - -#define BPF_STX_MEM(SIZE, DST, SRC, OFF) \ - ((struct bpf_insn) { \ - .code = BPF_STX | BPF_SIZE(SIZE) | BPF_MEM, \ - .dst_reg = DST, \ - .src_reg = SRC, \ - .off = OFF, \ - .imm = 0 }) - -/* Memory store, *(uint *) (dst_reg + off16) = imm32 */ - -#define BPF_ST_MEM(SIZE, DST, OFF, IMM) \ - ((struct bpf_insn) { \ - .code = BPF_ST | BPF_SIZE(SIZE) | BPF_MEM, \ - .dst_reg = DST, \ - .src_reg = 0, \ - .off = OFF, \ - .imm = IMM }) - -/* Conditional jumps against registers, if (dst_reg 'op' src_reg) goto pc + off16 */ - -#define BPF_JMP_REG(OP, DST, SRC, OFF) \ - ((struct bpf_insn) { \ - .code = BPF_JMP | BPF_OP(OP) | BPF_X, \ - .dst_reg = DST, \ - .src_reg = SRC, \ - .off = OFF, \ - .imm = 0 }) - -/* Conditional jumps against immediates, if (dst_reg 'op' imm32) goto pc + off16 */ - -#define BPF_JMP_IMM(OP, DST, IMM, OFF) \ - ((struct bpf_insn) { \ - .code = BPF_JMP | BPF_OP(OP) | BPF_K, \ - .dst_reg = DST, \ - .src_reg = 0, \ - .off = OFF, \ - .imm = IMM }) - -/* Function call */ - -#define BPF_CAST_CALL(x) \ - ((u64 (*)(u64, u64, u64, u64, u64))(x)) - -#define BPF_EMIT_CALL(FUNC) \ - ((struct bpf_insn) { \ - .code = BPF_JMP | BPF_CALL, \ - .dst_reg = 0, \ - .src_reg = 0, \ - .off = 0, \ - .imm = ((FUNC) - __bpf_call_base) }) - -/* Raw code statement block */ - -#define BPF_RAW_INSN(CODE, DST, SRC, OFF, IMM) \ - ((struct bpf_insn) { \ - .code = CODE, \ - .dst_reg = DST, \ - .src_reg = SRC, \ - .off = OFF, \ - .imm = IMM }) - -/* Program exit */ - -#define BPF_EXIT_INSN() \ - ((struct bpf_insn) { \ - .code = BPF_JMP | BPF_EXIT, \ - .dst_reg = 0, \ - .src_reg = 0, \ - .off = 0, \ - .imm = 0 }) - -#define bytes_to_bpf_size(bytes) \ -({ \ - int bpf_size = -EINVAL; \ - \ - if (bytes == sizeof(u8)) \ - bpf_size = BPF_B; \ - else if (bytes == sizeof(u16)) \ - bpf_size = BPF_H; \ - else if (bytes == sizeof(u32)) \ - bpf_size = BPF_W; \ - else if (bytes == sizeof(u64)) \ - bpf_size = BPF_DW; \ - \ - bpf_size; \ -}) - -#define bpf_size_to_bytes(bpf_size) \ -({ \ - int bytes = -EINVAL; \ - \ - if (bpf_size == BPF_B) \ - bytes = sizeof(u8); \ - else if (bpf_size == BPF_H) \ - bytes = sizeof(u16); \ - else if (bpf_size == BPF_W) \ - bytes = sizeof(u32); \ - else if (bpf_size == BPF_DW) \ - bytes = sizeof(u64); \ - \ - bytes; \ -}) - -#define BPF_SIZEOF(type) \ - ({ \ - const int __size = bytes_to_bpf_size(sizeof(type)); \ - BUILD_BUG_ON(__size < 0); \ - __size; \ - }) - -#define BPF_FIELD_SIZEOF(type, field) \ - ({ \ - const int __size = bytes_to_bpf_size(FIELD_SIZEOF(type, field)); \ - BUILD_BUG_ON(__size < 0); \ - __size; \ - }) - -#define BPF_LDST_BYTES(insn) \ - ({ \ - const int __size = bpf_size_to_bytes(BPF_SIZE(insn->code)); \ - WARN_ON(__size < 0); \ - __size; \ - }) - -#define __BPF_MAP_0(m, v, ...) v -#define __BPF_MAP_1(m, v, t, a, ...) m(t, a) -#define __BPF_MAP_2(m, v, t, a, ...) m(t, a), __BPF_MAP_1(m, v, __VA_ARGS__) -#define __BPF_MAP_3(m, v, t, a, ...) m(t, a), __BPF_MAP_2(m, v, __VA_ARGS__) -#define __BPF_MAP_4(m, v, t, a, ...) m(t, a), __BPF_MAP_3(m, v, __VA_ARGS__) -#define __BPF_MAP_5(m, v, t, a, ...) m(t, a), __BPF_MAP_4(m, v, __VA_ARGS__) - -#define __BPF_REG_0(...) __BPF_PAD(5) -#define __BPF_REG_1(...) __BPF_MAP(1, __VA_ARGS__), __BPF_PAD(4) -#define __BPF_REG_2(...) __BPF_MAP(2, __VA_ARGS__), __BPF_PAD(3) -#define __BPF_REG_3(...) __BPF_MAP(3, __VA_ARGS__), __BPF_PAD(2) -#define __BPF_REG_4(...) __BPF_MAP(4, __VA_ARGS__), __BPF_PAD(1) -#define __BPF_REG_5(...) __BPF_MAP(5, __VA_ARGS__) - -#define __BPF_MAP(n, ...) __BPF_MAP_##n(__VA_ARGS__) -#define __BPF_REG(n, ...) __BPF_REG_##n(__VA_ARGS__) - -#define __BPF_CAST(t, a) \ - (__force t) \ - (__force \ - typeof(__builtin_choose_expr(sizeof(t) == sizeof(unsigned long), \ - (unsigned long)0, (t)0))) a -#define __BPF_V void -#define __BPF_N - -#define __BPF_DECL_ARGS(t, a) t a -#define __BPF_DECL_REGS(t, a) u64 a - -#define __BPF_PAD(n) \ - __BPF_MAP(n, __BPF_DECL_ARGS, __BPF_N, u64, __ur_1, u64, __ur_2, \ - u64, __ur_3, u64, __ur_4, u64, __ur_5) - -#define BPF_CALL_x(x, name, ...) \ - static __always_inline \ - u64 ____##name(__BPF_MAP(x, __BPF_DECL_ARGS, __BPF_V, __VA_ARGS__)); \ - u64 name(__BPF_REG(x, __BPF_DECL_REGS, __BPF_N, __VA_ARGS__)); \ - u64 name(__BPF_REG(x, __BPF_DECL_REGS, __BPF_N, __VA_ARGS__)) \ - { \ - return ____##name(__BPF_MAP(x,__BPF_CAST,__BPF_N,__VA_ARGS__));\ - } \ - static __always_inline \ - u64 ____##name(__BPF_MAP(x, __BPF_DECL_ARGS, __BPF_V, __VA_ARGS__)) - -#define BPF_CALL_0(name, ...) BPF_CALL_x(0, name, __VA_ARGS__) -#define BPF_CALL_1(name, ...) BPF_CALL_x(1, name, __VA_ARGS__) -#define BPF_CALL_2(name, ...) BPF_CALL_x(2, name, __VA_ARGS__) -#define BPF_CALL_3(name, ...) BPF_CALL_x(3, name, __VA_ARGS__) -#define BPF_CALL_4(name, ...) BPF_CALL_x(4, name, __VA_ARGS__) -#define BPF_CALL_5(name, ...) BPF_CALL_x(5, name, __VA_ARGS__) - -#define bpf_ctx_range(TYPE, MEMBER) \ - offsetof(TYPE, MEMBER) ... offsetofend(TYPE, MEMBER) - 1 -#define bpf_ctx_range_till(TYPE, MEMBER1, MEMBER2) \ - offsetof(TYPE, MEMBER1) ... offsetofend(TYPE, MEMBER2) - 1 - -#define bpf_target_off(TYPE, MEMBER, SIZE, PTR_SIZE) \ - ({ \ - BUILD_BUG_ON(FIELD_SIZEOF(TYPE, MEMBER) != (SIZE)); \ - *(PTR_SIZE) = (SIZE); \ - offsetof(TYPE, MEMBER); \ - }) - -struct bpf_prog { - u16 pages; /* Number of allocated pages */ - kmemcheck_bitfield_begin(meta); - u16 jited:1, /* Is our filter JIT'ed? */ - jit_requested:1,/* archs need to JIT the prog */ - gpl_compatible:1, /* Is filter GPL compatible? */ - cb_access:1, /* Is control block accessed? */ - dst_needed:1, /* Do we need dst entry? */ - blinded:1, /* Was blinded */ - is_func:1, /* program is a bpf function */ - kprobe_override:1, /* Do we override a kprobe? */ - has_callchain_buf:1; /* callchain buffer allocated? */ - kmemcheck_bitfield_end(meta); - enum bpf_prog_type type; /* Type of BPF program */ - enum bpf_attach_type expected_attach_type; /* For some prog types */ - u32 len; /* Number of filter blocks */ - u32 jited_len; /* Size of jited insns in bytes */ - u8 tag[BPF_TAG_SIZE]; - struct bpf_prog_aux *aux; /* Auxiliary fields */ - struct sock_fprog_kern *orig_prog; /* Original BPF program */ - unsigned int (*bpf_func)(const void *ctx, - const struct bpf_insn *insn); - /* Instructions for interpreter */ - union { - struct sock_filter insns[0]; - struct bpf_insn insnsi[0]; - }; -}; - -struct sk_filter -{ - atomic_t refcnt; - unsigned int len; /* Number of filter blocks */ - unsigned int (*bpf_func)(const struct sk_buff *skb, - const struct sock_filter *filter); - struct rcu_head rcu; - struct sock_filter insns[0]; -}; - -struct bpf_skb_data_end { - struct qdisc_skb_cb qdisc_cb; - void *data_end; -}; - -#define BPF_PROG_RUN(filter, ctx) (*(filter)->bpf_func)(ctx, (filter)->insnsi) - -static inline u32 bpf_prog_insn_size(const struct bpf_prog *prog) -{ - return prog->len * sizeof(struct bpf_insn); -} - -static inline u32 bpf_prog_tag_scratch_size(const struct bpf_prog *prog) -{ - return round_up(bpf_prog_insn_size(prog) + - sizeof(__be64) + 1, SHA_MESSAGE_BYTES); -} - -static inline unsigned int bpf_prog_size(unsigned int proglen) -{ - return max(sizeof(struct bpf_prog), - offsetof(struct bpf_prog, insns[proglen])); -} - -static inline u32 bpf_ctx_off_adjust_machine(u32 size) -{ - const u32 size_machine = sizeof(unsigned long); - - if (size > size_machine && size % size_machine == 0) - size = size_machine; - - return size; -} - -static inline bool bpf_ctx_narrow_align_ok(u32 off, u32 size_access, - u32 size_default) -{ - size_default = bpf_ctx_off_adjust_machine(size_default); - size_access = bpf_ctx_off_adjust_machine(size_access); - -#ifdef __LITTLE_ENDIAN - return (off & (size_default - 1)) == 0; -#else - return (off & (size_default - 1)) + size_access == size_default; -#endif -} - -static inline bool -bpf_ctx_narrow_access_ok(u32 off, u32 size, u32 size_default) -{ - return bpf_ctx_narrow_align_ok(off, size, size_default) && - size <= size_default && (size & (size - 1)) == 0; -} - -static inline bool bpf_prog_was_classic(const struct bpf_prog *prog) -{ - /* When classic BPF programs have been loaded and the arch - * does not have a classic BPF JIT (anymore), they have been - * converted via bpf_migrate_filter() to eBPF and thus always - * have an unspec program type. - */ - return prog->type == BPF_PROG_TYPE_UNSPEC; -} - -#define bpf_classic_proglen(fprog) (fprog->len * sizeof(fprog->filter[0])) - -#ifdef CONFIG_ARCH_HAS_SET_MEMORY -static inline void bpf_prog_lock_ro(struct bpf_prog *fp) -{ - set_memory_ro((unsigned long)fp, fp->pages); -} - -static inline void bpf_prog_unlock_ro(struct bpf_prog *fp) -{ - set_memory_rw((unsigned long)fp, fp->pages); -} - -static inline void bpf_jit_binary_lock_ro(struct bpf_binary_header *hdr) -{ - set_memory_ro((unsigned long)hdr, hdr->pages); -} - -static inline void bpf_jit_binary_unlock_ro(struct bpf_binary_header *hdr) -{ - set_memory_rw((unsigned long)hdr, hdr->pages); -} -#else -static inline void bpf_prog_lock_ro(struct bpf_prog *fp) -{ -} - -static inline void bpf_prog_unlock_ro(struct bpf_prog *fp) -{ -} - -static inline void bpf_jit_binary_lock_ro(struct bpf_binary_header *hdr) -{ -} - -static inline void bpf_jit_binary_unlock_ro(struct bpf_binary_header *hdr) -{ -} -#endif /* CONFIG_ARCH_HAS_SET_MEMORY */ - -/* compute the linear packet data range [data, data_end) which - * will be accessed by cls_bpf and act_bpf programs - */ -static inline unsigned int sk_filter_len(const struct sk_filter *fp) -{ - return fp->len * sizeof(struct sock_filter) + sizeof(*fp); -} - -static inline void bpf_compute_data_end(struct sk_buff *skb) -{ - return; -} - -static inline struct bpf_binary_header * -bpf_jit_binary_hdr(const struct bpf_prog *fp) -{ - unsigned long real_start = (unsigned long)fp->bpf_func; - unsigned long addr = real_start & PAGE_MASK; - - return (void *)addr; -} - -int sk_filter_trim_cap(struct sock *sk, struct sk_buff *skb, unsigned int cap); -static inline int sk_filter(struct sock *sk, struct sk_buff *skb) -{ - return sk_filter_trim_cap(sk, skb, 1); -} - -extern unsigned int sk_run_filter(const struct sk_buff *skb, - const struct sock_filter *filter); -extern int sk_unattached_filter_create(struct sk_filter **pfp, - struct sock_fprog *fprog); -extern void sk_unattached_filter_destroy(struct sk_filter *fp); -extern int sk_attach_filter(struct sock_fprog *fprog, struct sock *sk); -extern int sk_detach_filter(struct sock *sk); -extern int sk_chk_filter(struct sock_filter *filter, unsigned int flen); -extern int sk_get_filter(struct sock *sk, struct sock_filter __user *filter, unsigned len); -extern void sk_decode_filter(struct sock_filter *filt, struct sock_filter *to); - -u64 __bpf_call_base(u64 r1, u64 r2, u64 r3, u64 r4, u64 r5); -#define __bpf_call_base_args \ - ((u64 (*)(u64, u64, u64, u64, u64, const struct bpf_insn *)) \ - __bpf_call_base) - -struct bpf_prog *bpf_prog_select_runtime(struct bpf_prog *fp, int *err); -void bpf_prog_free(struct bpf_prog *fp); - -static inline u32 bpf_prog_run_xdp(const struct bpf_prog *prog, - struct xdp_buff *xdp) -{ - return 0; -} - -static inline void bpf_warn_invalid_xdp_action(u32 act) -{ - return; -} - - -int xdp_do_redirect(struct net_device *dev, - struct xdp_buff *xdp, - struct bpf_prog *prog); -void xdp_do_flush_map(void); - -bool bpf_opcode_in_insntable(u8 code); - -struct bpf_prog *bpf_prog_alloc(unsigned int size, gfp_t gfp_extra_flags); -struct bpf_prog *bpf_prog_realloc(struct bpf_prog *fp_old, unsigned int size, - gfp_t gfp_extra_flags); -void __bpf_prog_free(struct bpf_prog *fp); - -static inline void bpf_prog_unlock_free(struct bpf_prog *fp) -{ - bpf_prog_unlock_ro(fp); - __bpf_prog_free(fp); -} - -static inline bool bpf_dump_raw_ok(void) -{ - /* Reconstruction of call-sites is dependent on kallsyms, - * thus make dump the same restriction. - */ - return 0; - // return kallsyms_show_value() == 1; -} - -struct bpf_prog *bpf_patch_insn_single(struct bpf_prog *prog, u32 off, - const struct bpf_insn *patch, u32 len); - -typedef void (*bpf_jit_fill_hole_t)(void *area, unsigned int size); - -struct bpf_binary_header * -bpf_jit_binary_alloc(unsigned int proglen, u8 **image_ptr, - unsigned int alignment, - bpf_jit_fill_hole_t bpf_fill_ill_insns); -void bpf_jit_binary_free(struct bpf_binary_header *hdr); - -#ifdef CONFIG_BPF_JIT -#include -#include -#include - -extern int bpf_jit_harden; -extern int bpf_jit_kallsyms; - -void bpf_jit_compile(struct sk_filter *fp); -void bpf_jit_free(struct sk_filter *fp); - -void trace_bpf_jit_free(struct bpf_prog *fp); - -struct bpf_prog *trace_bpf_int_jit_compile(struct bpf_prog *prog); - -struct bpf_prog *bpf_jit_blind_constants(struct bpf_prog *fp); -void bpf_jit_prog_release_other(struct bpf_prog *fp, struct bpf_prog *fp_other); - -static inline void bpf_jit_dump(unsigned int flen, unsigned int proglen, - u32 pass, void *image) -{ - pr_err("flen=%u proglen=%u pass=%u image=%p\n", - flen, proglen, pass, image); - if (image) - print_hex_dump(KERN_ERR, "JIT code: ", DUMP_PREFIX_ADDRESS, - 16, 1, image, proglen, false); -} -#define SK_RUN_FILTER(FILTER, SKB) (*FILTER->bpf_func)(SKB, FILTER->insns) - -static inline bool bpf_jit_is_ebpf(void) -{ -# ifdef CONFIG_HAVE_EBPF_JIT - return true; -# else - return false; -# endif -} - -static inline bool ebpf_jit_enabled(void) -{ - return bpf_jit_enable && bpf_jit_is_ebpf(); -} - -static inline bool bpf_prog_ebpf_jited(const struct bpf_prog *fp) -{ - return fp->jited && bpf_jit_is_ebpf(); -} - -static inline bool bpf_jit_blinding_enabled(struct bpf_prog *prog) -{ - /* These are the prerequisites, should someone ever have the - * idea to call blinding outside of them, we make sure to - * bail out. - */ - if (!bpf_jit_is_ebpf()) - return false; - if (!prog->jit_requested) - return false; - if (!bpf_jit_harden) - return false; - if (bpf_jit_harden == 1 && capable(CAP_SYS_ADMIN)) - return false; - - return true; -} - -static inline bool bpf_jit_kallsyms_enabled(void) -{ - /* There are a couple of corner cases where kallsyms should - * not be enabled f.e. on hardening. - */ - if (bpf_jit_harden) - return false; - if (!bpf_jit_kallsyms) - return false; - if (bpf_jit_kallsyms == 1) - return true; - - return false; -} - -const char *__bpf_address_lookup(unsigned long addr, unsigned long *size, - unsigned long *off, char *sym); -bool is_bpf_text_address(unsigned long addr); -int bpf_get_kallsym(unsigned int symnum, unsigned long *value, char *type, - char *sym); - -static inline const char * -bpf_address_lookup(unsigned long addr, unsigned long *size, - unsigned long *off, char **modname, char *sym) -{ - const char *ret = __bpf_address_lookup(addr, size, off, sym); - - if (ret && modname) - *modname = NULL; - return ret; -} - -// void bpf_prog_kallsyms_add(struct bpf_prog *fp); -void bpf_prog_kallsyms_del(struct bpf_prog *fp); - -#else /* CONFIG_BPF_JIT */ - -static inline bool bpf_prog_ebpf_jited(const struct bpf_prog *fp) -{ - return false; -} - -static inline bool ebpf_jit_enabled(void) -{ - return false; -} - -static inline bool bpf_jit_kallsyms_enabled(void) -{ - return false; -} - -static inline const char * -__bpf_address_lookup(unsigned long addr, unsigned long *size, - unsigned long *off, char *sym) -{ - return NULL; -} - -static inline bool is_bpf_text_address(unsigned long addr) -{ - return false; -} - -static inline int bpf_get_kallsym(unsigned int symnum, unsigned long *value, - char *type, char *sym) -{ - return -ERANGE; -} - -static inline const char * -bpf_address_lookup(unsigned long addr, unsigned long *size, - unsigned long *off, char **modname, char *sym) -{ - return NULL; -} - -// static inline void bpf_prog_kallsyms_add(struct bpf_prog *fp) -// { -// } - -static inline void bpf_prog_kallsyms_del(struct bpf_prog *fp) -{ -} - -static inline void bpf_jit_compile(struct sk_filter *fp) -{ -} -static inline void bpf_jit_free(struct sk_filter *fp) -{ -} -#define SK_RUN_FILTER(FILTER, SKB) sk_run_filter(SKB, FILTER->insns) -#endif - -// void bpf_prog_kallsyms_del_subprogs(struct bpf_prog *fp); -// void bpf_prog_kallsyms_del_all(struct bpf_prog *fp); - -void *trace_bpf_internal_load_pointer_neg_helper(const struct sk_buff *skb, - int k, unsigned int size); -void *bpf_internal_load_pointer_neg_helper(const struct sk_buff *skb, - int k, unsigned int size); - -static inline void *bpf_load_pointer(const struct sk_buff *skb, int k, - unsigned int size, void *buffer) -{ - if (k >= 0) - return skb_header_pointer(skb, k, size, buffer); - - return trace_bpf_internal_load_pointer_neg_helper(skb, k, size); -} - -static inline int bpf_tell_extensions(void) -{ - return SKF_AD_MAX; -} - -enum { - BPF_S_RET_K = 1, - BPF_S_RET_A, - BPF_S_ALU_ADD_K, - BPF_S_ALU_ADD_X, - BPF_S_ALU_SUB_K, - BPF_S_ALU_SUB_X, - BPF_S_ALU_MUL_K, - BPF_S_ALU_MUL_X, - BPF_S_ALU_DIV_X, - BPF_S_ALU_MOD_K, - BPF_S_ALU_MOD_X, - BPF_S_ALU_AND_K, - BPF_S_ALU_AND_X, - BPF_S_ALU_OR_K, - BPF_S_ALU_OR_X, - BPF_S_ALU_XOR_K, - BPF_S_ALU_XOR_X, - BPF_S_ALU_LSH_K, - BPF_S_ALU_LSH_X, - BPF_S_ALU_RSH_K, - BPF_S_ALU_RSH_X, - BPF_S_ALU_NEG, - BPF_S_LD_W_ABS, - BPF_S_LD_H_ABS, - BPF_S_LD_B_ABS, - BPF_S_LD_W_LEN, - BPF_S_LD_W_IND, - BPF_S_LD_H_IND, - BPF_S_LD_B_IND, - BPF_S_LD_IMM, - BPF_S_LDX_W_LEN, - BPF_S_LDX_B_MSH, - BPF_S_LDX_IMM, - BPF_S_MISC_TAX, - BPF_S_MISC_TXA, - BPF_S_ALU_DIV_K, - BPF_S_LD_MEM, - BPF_S_LDX_MEM, - BPF_S_ST, - BPF_S_STX, - BPF_S_JMP_JA, - BPF_S_JMP_JEQ_K, - BPF_S_JMP_JEQ_X, - BPF_S_JMP_JGE_K, - BPF_S_JMP_JGE_X, - BPF_S_JMP_JGT_K, - BPF_S_JMP_JGT_X, - BPF_S_JMP_JSET_K, - BPF_S_JMP_JSET_X, - /* Ancillary data */ - BPF_S_ANC_PROTOCOL, - BPF_S_ANC_PKTTYPE, - BPF_S_ANC_IFINDEX, - BPF_S_ANC_NLATTR, - BPF_S_ANC_NLATTR_NEST, - BPF_S_ANC_MARK, - BPF_S_ANC_QUEUE, - BPF_S_ANC_HATYPE, - BPF_S_ANC_RXHASH, - BPF_S_ANC_CPU, - BPF_S_ANC_ALU_XOR_X, - BPF_S_ANC_SECCOMP_LD_W, - BPF_S_ANC_VLAN_TAG, - BPF_S_ANC_VLAN_TAG_PRESENT, - BPF_S_ANC_PAY_OFFSET, -}; - -static inline bool bpf_prog_is_dev_bound(struct bpf_prog_aux *aux) -{ - return false; -} - -#endif /* __LINUX_FILTER_H__ */ diff --git a/lcc/glcc/lib/ebpf/linux/frame.h b/lcc/glcc/lib/ebpf/linux/frame.h deleted file mode 100644 index e6baaba..0000000 --- a/lcc/glcc/lib/ebpf/linux/frame.h +++ /dev/null @@ -1,23 +0,0 @@ -#ifndef _LINUX_FRAME_H -#define _LINUX_FRAME_H - -#ifdef CONFIG_STACK_VALIDATION -/* - * This macro marks the given function's stack frame as "non-standard", which - * tells objtool to ignore the function when doing stack metadata validation. - * It should only be used in special cases where you're 100% sure it won't - * affect the reliability of frame pointers and kernel stack traces. - * - * For more information, see tools/objtool/Documentation/stack-validation.txt. - */ -#define STACK_FRAME_NON_STANDARD(func) \ - static void __used __section(__func_stack_frame_non_standard) \ - *__func_stack_frame_non_standard_##func = func - -#else /* !CONFIG_STACK_VALIDATION */ - -#define STACK_FRAME_NON_STANDARD(func) - -#endif /* CONFIG_STACK_VALIDATION */ - -#endif /* _LINUX_FRAME_H */ diff --git a/lcc/glcc/lib/ebpf/linux/list_nulls.h b/lcc/glcc/lib/ebpf/linux/list_nulls.h deleted file mode 100644 index a66b18e..0000000 --- a/lcc/glcc/lib/ebpf/linux/list_nulls.h +++ /dev/null @@ -1,121 +0,0 @@ -#ifndef _LINUX_LIST_NULLS_H -#define _LINUX_LIST_NULLS_H - -#include -#include - -/* - * Special version of lists, where end of list is not a NULL pointer, - * but a 'nulls' marker, which can have many different values. - * (up to 2^31 different values guaranteed on all platforms) - * - * In the standard hlist, termination of a list is the NULL pointer. - * In this special 'nulls' variant, we use the fact that objects stored in - * a list are aligned on a word (4 or 8 bytes alignment). - * We therefore use the last significant bit of 'ptr' : - * Set to 1 : This is a 'nulls' end-of-list marker (ptr >> 1) - * Set to 0 : This is a pointer to some object (ptr) - */ - -struct hlist_nulls_head { - struct hlist_nulls_node *first; -}; - -struct hlist_nulls_node { - struct hlist_nulls_node *next, **pprev; -}; -#define NULLS_MARKER(value) (1UL | (((long)value) << 1)) -#define INIT_HLIST_NULLS_HEAD(ptr, nulls) \ - ((ptr)->first = (struct hlist_nulls_node *) NULLS_MARKER(nulls)) - -#define hlist_nulls_entry(ptr, type, member) container_of(ptr,type,member) - -#define hlist_nulls_entry_safe(ptr, type, member) \ - ({ typeof(ptr) ____ptr = (ptr); \ - !is_a_nulls(____ptr) ? hlist_nulls_entry(____ptr, type, member) : NULL; \ - }) -/** - * ptr_is_a_nulls - Test if a ptr is a nulls - * @ptr: ptr to be tested - * - */ -static inline int is_a_nulls(const struct hlist_nulls_node *ptr) -{ - return ((unsigned long)ptr & 1); -} - -/** - * get_nulls_value - Get the 'nulls' value of the end of chain - * @ptr: end of chain - * - * Should be called only if is_a_nulls(ptr); - */ -static inline unsigned long get_nulls_value(const struct hlist_nulls_node *ptr) -{ - return ((unsigned long)ptr) >> 1; -} - -static inline int hlist_nulls_unhashed(const struct hlist_nulls_node *h) -{ - return !h->pprev; -} - -static inline int hlist_nulls_empty(const struct hlist_nulls_head *h) -{ - return is_a_nulls(h->first); -} - -static inline void hlist_nulls_add_head(struct hlist_nulls_node *n, - struct hlist_nulls_head *h) -{ - struct hlist_nulls_node *first = h->first; - - n->next = first; - n->pprev = &h->first; - h->first = n; - if (!is_a_nulls(first)) - first->pprev = &n->next; -} - -static inline void __hlist_nulls_del(struct hlist_nulls_node *n) -{ - struct hlist_nulls_node *next = n->next; - struct hlist_nulls_node **pprev = n->pprev; - *pprev = next; - if (!is_a_nulls(next)) - next->pprev = pprev; -} - -static inline void hlist_nulls_del(struct hlist_nulls_node *n) -{ - __hlist_nulls_del(n); - n->pprev = LIST_POISON2; -} - -/** - * hlist_nulls_for_each_entry - iterate over list of given type - * @tpos: the type * to use as a loop cursor. - * @pos: the &struct hlist_node to use as a loop cursor. - * @head: the head for your list. - * @member: the name of the hlist_node within the struct. - * - */ -#define hlist_nulls_for_each_entry(tpos, pos, head, member) \ - for (pos = (head)->first; \ - (!is_a_nulls(pos)) && \ - ({ tpos = hlist_nulls_entry(pos, typeof(*tpos), member); 1;}); \ - pos = pos->next) - -/** - * hlist_nulls_for_each_entry_from - iterate over a hlist continuing from current point - * @tpos: the type * to use as a loop cursor. - * @pos: the &struct hlist_node to use as a loop cursor. - * @member: the name of the hlist_node within the struct. - * - */ -#define hlist_nulls_for_each_entry_from(tpos, pos, member) \ - for (; (!is_a_nulls(pos)) && \ - ({ tpos = hlist_nulls_entry(pos, typeof(*tpos), member); 1;}); \ - pos = pos->next) - -#endif diff --git a/lcc/glcc/lib/ebpf/linux/nospec.h b/lcc/glcc/lib/ebpf/linux/nospec.h deleted file mode 100644 index 4284aba..0000000 --- a/lcc/glcc/lib/ebpf/linux/nospec.h +++ /dev/null @@ -1,69 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0 -// Copyright(c) 2018 Linus Torvalds. All rights reserved. -// Copyright(c) 2018 Alexei Starovoitov. All rights reserved. -// Copyright(c) 2018 Intel Corporation. All rights reserved. - -#ifndef _LINUX_NOSPEC_H -#define _LINUX_NOSPEC_H - -#include -#include - -// struct task_struct; - -// /* Speculation control prctl */ -// int arch_prctl_spec_ctrl_get(struct task_struct *task, unsigned long which); -// int arch_prctl_spec_ctrl_set(struct task_struct *task, unsigned long which, -// unsigned long ctrl); -// /* Speculation control for seccomp enforced mitigation */ -// void arch_seccomp_spec_mitigate(struct task_struct *task); - -/** - * array_index_mask_nospec() - generate a ~0 mask when index < size, 0 otherwise - * @index: array element index - * @size: number of elements in array - * - * When @index is out of bounds (@index >= @size), the sign bit will be - * set. Extend the sign bit to all bits and invert, giving a result of - * zero for an out of bounds index, or ~0 if within bounds [0, @size). - */ -#ifndef array_index_mask_nospec -static inline unsigned long array_index_mask_nospec(unsigned long index, - unsigned long size) -{ - /* - * Always calculate and emit the mask even if the compiler - * thinks the mask is not needed. The compiler does not take - * into account the value of @index under speculation. - */ - OPTIMIZER_HIDE_VAR(index); - return ~(long)(index | (size - 1UL - index)) >> (BITS_PER_LONG - 1); -} -#endif - -/* - * array_index_nospec - sanitize an array index after a bounds check - * - * For a code sequence like: - * - * if (index < size) { - * index = array_index_nospec(index, size); - * val = array[index]; - * } - * - * ...if the CPU speculates past the bounds check then - * array_index_nospec() will clamp the index within the range of [0, - * size). - */ -#define array_index_nospec(index, size) \ -({ \ - typeof(index) _i = (index); \ - typeof(size) _s = (size); \ - unsigned long _mask = array_index_mask_nospec(_i, _s); \ - \ - BUILD_BUG_ON(sizeof(_i) > sizeof(long)); \ - BUILD_BUG_ON(sizeof(_s) > sizeof(long)); \ - \ - (typeof(_i)) (_i & _mask); \ -}) -#endif /* _LINUX_NOSPEC_H */ diff --git a/lcc/glcc/lib/ebpf/linux/rbtree_latch.h b/lcc/glcc/lib/ebpf/linux/rbtree_latch.h deleted file mode 100644 index afa06b4..0000000 --- a/lcc/glcc/lib/ebpf/linux/rbtree_latch.h +++ /dev/null @@ -1,235 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0 */ -/* - * Latched RB-trees - * - * Copyright (C) 2015 Intel Corp., Peter Zijlstra - * - * Since RB-trees have non-atomic modifications they're not immediately suited - * for RCU/lockless queries. Even though we made RB-tree lookups non-fatal for - * lockless lookups; we cannot guarantee they return a correct result. - * - * The simplest solution is a seqlock + RB-tree, this will allow lockless - * lookups; but has the constraint (inherent to the seqlock) that read sides - * cannot nest in write sides. - * - * If we need to allow unconditional lookups (say as required for NMI context - * usage) we need a more complex setup; this data structure provides this by - * employing the latch technique -- see @raw_write_seqcount_latch_cb -- to - * implement a latched RB-tree which does allow for unconditional lookups by - * virtue of always having (at least) one stable copy of the tree. - * - * However, while we have the guarantee that there is at all times one stable - * copy, this does not guarantee an iteration will not observe modifications. - * What might have been a stable copy at the start of the iteration, need not - * remain so for the duration of the iteration. - * - * Therefore, this does require a lockless RB-tree iteration to be non-fatal; - * see the comment in lib/rbtree.c. Note however that we only require the first - * condition -- not seeing partial stores -- because the latch thing isolates - * us from loops. If we were to interrupt a modification the lookup would be - * pointed at the stable tree and complete while the modification was halted. - */ - -#ifndef RB_TREE_LATCH_H -#define RB_TREE_LATCH_H - -#include -#include -#include - -struct latch_tree_node { - struct rb_node node[2]; -}; - -struct latch_tree_root { - seqcount_t seq; - struct rb_root tree[2]; -}; - -static inline void rb_link_node_rcu(struct rb_node *node, struct rb_node *parent, - struct rb_node **rb_link) -{ - node->__rb_parent_color = (unsigned long)parent; - node->rb_left = node->rb_right = NULL; - - rcu_assign_pointer(*rb_link, node); -} - -static inline int raw_read_seqcount_latch(seqcount_t *s) -{ - return lockless_dereference(s->sequence); -} - -static inline void raw_write_seqcount_latch_cb(seqcount_t *s) -{ - smp_wmb(); /* prior stores before incrementing "sequence" */ - s->sequence++; - smp_wmb(); /* increment "sequence" before following stores */ -} - -/** - * latch_tree_ops - operators to define the tree order - * @less: used for insertion; provides the (partial) order between two elements. - * @comp: used for lookups; provides the order between the search key and an element. - * - * The operators are related like: - * - * comp(a->key,b) < 0 := less(a,b) - * comp(a->key,b) > 0 := less(b,a) - * comp(a->key,b) == 0 := !less(a,b) && !less(b,a) - * - * If these operators define a partial order on the elements we make no - * guarantee on which of the elements matching the key is found. See - * latch_tree_find(). - */ -struct latch_tree_ops { - bool (*less)(struct latch_tree_node *a, struct latch_tree_node *b); - int (*comp)(void *key, struct latch_tree_node *b); -}; - -static __always_inline struct latch_tree_node * -__lt_from_rb(struct rb_node *node, int idx) -{ - return container_of(node, struct latch_tree_node, node[idx]); -} - -static __always_inline void -__lt_insert(struct latch_tree_node *ltn, struct latch_tree_root *ltr, int idx, - bool (*less)(struct latch_tree_node *a, struct latch_tree_node *b)) -{ - struct rb_root *root = <r->tree[idx]; - struct rb_node **link = &root->rb_node; - struct rb_node *node = <n->node[idx]; - struct rb_node *parent = NULL; - struct latch_tree_node *ltp; - - while (*link) { - parent = *link; - ltp = __lt_from_rb(parent, idx); - - if (less(ltn, ltp)) - link = &parent->rb_left; - else - link = &parent->rb_right; - } - - rb_link_node_rcu(node, parent, link); - rb_insert_color(node, root); -} - -static __always_inline void -__lt_erase(struct latch_tree_node *ltn, struct latch_tree_root *ltr, int idx) -{ - rb_erase(<n->node[idx], <r->tree[idx]); -} - -static __always_inline struct latch_tree_node * -__lt_find(void *key, struct latch_tree_root *ltr, int idx, - int (*comp)(void *key, struct latch_tree_node *node)) -{ - struct rb_node *node = rcu_dereference_raw(ltr->tree[idx].rb_node); - struct latch_tree_node *ltn; - int c; - - while (node) { - ltn = __lt_from_rb(node, idx); - c = comp(key, ltn); - - if (c < 0) - node = rcu_dereference_raw(node->rb_left); - else if (c > 0) - node = rcu_dereference_raw(node->rb_right); - else - return ltn; - } - - return NULL; -} - -/** - * latch_tree_insert() - insert @node into the trees @root - * @node: nodes to insert - * @root: trees to insert @node into - * @ops: operators defining the node order - * - * It inserts @node into @root in an ordered fashion such that we can always - * observe one complete tree. See the comment for raw_write_seqcount_latch_cb(). - * - * The inserts use rcu_assign_pointer() to publish the element such that the - * tree structure is stored before we can observe the new @node. - * - * All modifications (latch_tree_insert, latch_tree_remove) are assumed to be - * serialized. - */ -static __always_inline void -latch_tree_insert(struct latch_tree_node *node, - struct latch_tree_root *root, - const struct latch_tree_ops *ops) -{ - raw_write_seqcount_latch_cb(&root->seq); - __lt_insert(node, root, 0, ops->less); - raw_write_seqcount_latch_cb(&root->seq); - __lt_insert(node, root, 1, ops->less); -} - -/** - * latch_tree_erase() - removes @node from the trees @root - * @node: nodes to remote - * @root: trees to remove @node from - * @ops: operators defining the node order - * - * Removes @node from the trees @root in an ordered fashion such that we can - * always observe one complete tree. See the comment for - * raw_write_seqcount_latch_cb(). - * - * It is assumed that @node will observe one RCU quiescent state before being - * reused of freed. - * - * All modifications (latch_tree_insert, latch_tree_remove) are assumed to be - * serialized. - */ -static __always_inline void -latch_tree_erase(struct latch_tree_node *node, - struct latch_tree_root *root, - const struct latch_tree_ops *ops) -{ - raw_write_seqcount_latch_cb(&root->seq); - __lt_erase(node, root, 0); - raw_write_seqcount_latch_cb(&root->seq); - __lt_erase(node, root, 1); -} - -/** - * latch_tree_find() - find the node matching @key in the trees @root - * @key: search key - * @root: trees to search for @key - * @ops: operators defining the node order - * - * Does a lockless lookup in the trees @root for the node matching @key. - * - * It is assumed that this is called while holding the appropriate RCU read - * side lock. - * - * If the operators define a partial order on the elements (there are multiple - * elements which have the same key value) it is undefined which of these - * elements will be found. Nor is it possible to iterate the tree to find - * further elements with the same key value. - * - * Returns: a pointer to the node matching @key or NULL. - */ -static __always_inline struct latch_tree_node * -latch_tree_find(void *key, struct latch_tree_root *root, - const struct latch_tree_ops *ops) -{ - struct latch_tree_node *node; - unsigned int seq; - - do { - seq = raw_read_seqcount_latch(&root->seq); - node = __lt_find(key, root, seq & 1, ops->comp); - } while (read_seqcount_retry(&root->seq, seq)); - - return node; -} - -#endif /* RB_TREE_LATCH_H */ diff --git a/lcc/glcc/lib/ebpf/linux/rculist_nulls.h b/lcc/glcc/lib/ebpf/linux/rculist_nulls.h deleted file mode 100644 index d7d8d70..0000000 --- a/lcc/glcc/lib/ebpf/linux/rculist_nulls.h +++ /dev/null @@ -1,174 +0,0 @@ -#ifndef _LINUX_RCULIST_NULLS_H -#define _LINUX_RCULIST_NULLS_H - -#ifdef __KERNEL__ - -/* - * RCU-protected list version - */ -#include "linux/list_nulls.h" -#include - -/** - * hlist_nulls_del_init_rcu - deletes entry from hash list with re-initialization - * @n: the element to delete from the hash list. - * - * Note: hlist_nulls_unhashed() on the node return true after this. It is - * useful for RCU based read lockfree traversal if the writer side - * must know if the list entry is still hashed or already unhashed. - * - * In particular, it means that we can not poison the forward pointers - * that may still be used for walking the hash list and we can only - * zero the pprev pointer so list_unhashed() will return true after - * this. - * - * The caller must take whatever precautions are necessary (such as - * holding appropriate locks) to avoid racing with another - * list-mutation primitive, such as hlist_nulls_add_head_rcu() or - * hlist_nulls_del_rcu(), running on this same list. However, it is - * perfectly legal to run concurrently with the _rcu list-traversal - * primitives, such as hlist_nulls_for_each_entry_rcu(). - */ -static inline void hlist_nulls_del_init_rcu(struct hlist_nulls_node *n) -{ - if (!hlist_nulls_unhashed(n)) { - __hlist_nulls_del(n); - n->pprev = NULL; - } -} - -#define hlist_nulls_first_rcu(head) \ - (*((struct hlist_nulls_node __rcu __force **)&(head)->first)) - -#define hlist_nulls_next_rcu(node) \ - (*((struct hlist_nulls_node __rcu __force **)&(node)->next)) - -/** - * hlist_nulls_del_rcu - deletes entry from hash list without re-initialization - * @n: the element to delete from the hash list. - * - * Note: hlist_nulls_unhashed() on entry does not return true after this, - * the entry is in an undefined state. It is useful for RCU based - * lockfree traversal. - * - * In particular, it means that we can not poison the forward - * pointers that may still be used for walking the hash list. - * - * The caller must take whatever precautions are necessary - * (such as holding appropriate locks) to avoid racing - * with another list-mutation primitive, such as hlist_nulls_add_head_rcu() - * or hlist_nulls_del_rcu(), running on this same list. - * However, it is perfectly legal to run concurrently with - * the _rcu list-traversal primitives, such as - * hlist_nulls_for_each_entry(). - */ -static inline void hlist_nulls_del_rcu(struct hlist_nulls_node *n) -{ - __hlist_nulls_del(n); - n->pprev = LIST_POISON2; -} - -/** - * hlist_nulls_add_head_rcu - * @n: the element to add to the hash list. - * @h: the list to add to. - * - * Description: - * Adds the specified element to the specified hlist_nulls, - * while permitting racing traversals. - * - * The caller must take whatever precautions are necessary - * (such as holding appropriate locks) to avoid racing - * with another list-mutation primitive, such as hlist_nulls_add_head_rcu() - * or hlist_nulls_del_rcu(), running on this same list. - * However, it is perfectly legal to run concurrently with - * the _rcu list-traversal primitives, such as - * hlist_nulls_for_each_entry_rcu(), used to prevent memory-consistency - * problems on Alpha CPUs. Regardless of the type of CPU, the - * list-traversal primitive must be guarded by rcu_read_lock(). - */ -static inline void hlist_nulls_add_head_rcu(struct hlist_nulls_node *n, - struct hlist_nulls_head *h) -{ - struct hlist_nulls_node *first = h->first; - - n->next = first; - n->pprev = &h->first; - rcu_assign_pointer(hlist_nulls_first_rcu(h), n); - if (!is_a_nulls(first)) - first->pprev = &n->next; -} - -/** - * hlist_nulls_add_tail_rcu - * @n: the element to add to the hash list. - * @h: the list to add to. - * - * Description: - * Adds the specified element to the end of the specified hlist_nulls, - * while permitting racing traversals. NOTE: tail insertion requires - * list traversal. - * - * The caller must take whatever precautions are necessary - * (such as holding appropriate locks) to avoid racing - * with another list-mutation primitive, such as hlist_nulls_add_head_rcu() - * or hlist_nulls_del_rcu(), running on this same list. - * However, it is perfectly legal to run concurrently with - * the _rcu list-traversal primitives, such as - * hlist_nulls_for_each_entry_rcu(), used to prevent memory-consistency - * problems on Alpha CPUs. Regardless of the type of CPU, the - * list-traversal primitive must be guarded by rcu_read_lock(). - */ -static inline void hlist_nulls_add_tail_rcu(struct hlist_nulls_node *n, - struct hlist_nulls_head *h) -{ - struct hlist_nulls_node *i, *last = NULL; - - for (i = hlist_nulls_first_rcu(h); !is_a_nulls(i); - i = hlist_nulls_next_rcu(i)) - last = i; - - if (last) { - n->next = last->next; - n->pprev = &last->next; - rcu_assign_pointer(hlist_nulls_next_rcu(last), n); - } else { - hlist_nulls_add_head_rcu(n, h); - } -} - -/** - * hlist_nulls_for_each_entry_rcu - iterate over rcu list of given type - * @tpos: the type * to use as a loop cursor. - * @pos: the &struct hlist_nulls_node to use as a loop cursor. - * @head: the head for your list. - * @member: the name of the hlist_nulls_node within the struct. - * - * The barrier() is needed to make sure compiler doesn't cache first element [1], - * as this loop can be restarted [2] - * [1] Documentation/atomic_ops.txt around line 114 - * [2] Documentation/RCU/rculist_nulls.txt around line 146 - */ -#define hlist_nulls_for_each_entry_rcu(tpos, pos, head, member) \ - for (({barrier();}), \ - pos = rcu_dereference_raw(hlist_nulls_first_rcu(head)); \ - (!is_a_nulls(pos)) && \ - ({ tpos = hlist_nulls_entry(pos, typeof(*tpos), member); 1; }); \ - pos = rcu_dereference_raw(hlist_nulls_next_rcu(pos))) - -/** - * hlist_nulls_for_each_entry_safe - - * iterate over list of given type safe against removal of list entry - * @tpos: the type * to use as a loop cursor. - * @pos: the &struct hlist_nulls_node to use as a loop cursor. - * @head: the head for your list. - * @member: the name of the hlist_nulls_node within the struct. - */ -#define hlist_nulls_for_each_entry_safe(tpos, pos, head, member) \ - for (({barrier();}), \ - pos = rcu_dereference_raw(hlist_nulls_first_rcu(head)); \ - (!is_a_nulls(pos)) && \ - ({ tpos = hlist_nulls_entry(pos, typeof(*tpos), member); \ - pos = rcu_dereference_raw(hlist_nulls_next_rcu(pos)); 1; });) -#endif -#endif diff --git a/lcc/glcc/lib/ebpf/map_in_map.c b/lcc/glcc/lib/ebpf/map_in_map.c deleted file mode 100644 index 138a584..0000000 --- a/lcc/glcc/lib/ebpf/map_in_map.c +++ /dev/null @@ -1,116 +0,0 @@ -/* Copyright (c) 2017 Facebook - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of version 2 of the GNU General Public - * License as published by the Free Software Foundation. - */ -#include "linux/config.h" -#include -#include - -#include "map_in_map.h" - -struct bpf_map *bpf_map_meta_alloc(int inner_map_ufd) -{ - struct bpf_map *inner_map, *inner_map_meta; - u32 inner_map_meta_size; - struct fd f; - - f = fdget(inner_map_ufd); - inner_map = __bpf_map_get(f); - if (IS_ERR(inner_map)) - return inner_map; - - /* prog_array->owner_prog_type and owner_jited - * is a runtime binding. Doing static check alone - * in the verifier is not enough. - */ - if (inner_map->map_type == BPF_MAP_TYPE_PROG_ARRAY) { - fdput(f); - return ERR_PTR(-ENOTSUPP); - } - - /* Does not support >1 level map-in-map */ - if (inner_map->inner_map_meta) { - fdput(f); - return ERR_PTR(-EINVAL); - } - - inner_map_meta_size = sizeof(*inner_map_meta); - /* In some cases verifier needs to access beyond just base map. */ - if (inner_map->ops == &array_map_ops) - inner_map_meta_size = sizeof(struct bpf_array); - - inner_map_meta = kzalloc(inner_map_meta_size, GFP_USER); - if (!inner_map_meta) { - fdput(f); - return ERR_PTR(-ENOMEM); - } - - inner_map_meta->map_type = inner_map->map_type; - inner_map_meta->key_size = inner_map->key_size; - inner_map_meta->value_size = inner_map->value_size; - inner_map_meta->map_flags = inner_map->map_flags; - inner_map_meta->max_entries = inner_map->max_entries; - - /* Misc members not needed in bpf_map_meta_equal() check. */ - inner_map_meta->ops = inner_map->ops; - if (inner_map->ops == &array_map_ops) { - inner_map_meta->unpriv_array = inner_map->unpriv_array; - container_of(inner_map_meta, struct bpf_array, map)->index_mask = - container_of(inner_map, struct bpf_array, map)->index_mask; - } - - fdput(f); - return inner_map_meta; -} - -void bpf_map_meta_free(struct bpf_map *map_meta) -{ - kfree(map_meta); -} - -bool bpf_map_meta_equal(const struct bpf_map *meta0, - const struct bpf_map *meta1) -{ - /* No need to compare ops because it is covered by map_type */ - return meta0->map_type == meta1->map_type && - meta0->key_size == meta1->key_size && - meta0->value_size == meta1->value_size && - meta0->map_flags == meta1->map_flags && - meta0->max_entries == meta1->max_entries; -} - -void *bpf_map_fd_get_ptr(struct bpf_map *map, - struct file *map_file /* not used */, - int ufd) -{ - struct bpf_map *inner_map; - struct fd f; - - f = fdget(ufd); - inner_map = __bpf_map_get(f); - if (IS_ERR(inner_map)) - return inner_map; - - if (bpf_map_meta_equal(map->inner_map_meta, inner_map)) - inner_map = bpf_map_inc(inner_map, false); - else - inner_map = ERR_PTR(-EINVAL); - - fdput(f); - return inner_map; -} - -void bpf_map_fd_put_ptr(void *ptr) -{ - /* ptr->ops->map_free() has to go through one - * rcu grace period by itself. - */ - bpf_map_put(ptr); -} - -u32 bpf_map_fd_sys_lookup_elem(void *ptr) -{ - return ((struct bpf_map *)ptr)->id; -} diff --git a/lcc/glcc/lib/ebpf/map_in_map.h b/lcc/glcc/lib/ebpf/map_in_map.h deleted file mode 100644 index 6183db9..0000000 --- a/lcc/glcc/lib/ebpf/map_in_map.h +++ /dev/null @@ -1,24 +0,0 @@ -/* Copyright (c) 2017 Facebook - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of version 2 of the GNU General Public - * License as published by the Free Software Foundation. - */ -#ifndef __MAP_IN_MAP_H__ -#define __MAP_IN_MAP_H__ - -#include - -struct file; -struct bpf_map; - -struct bpf_map *bpf_map_meta_alloc(int inner_map_ufd); -void bpf_map_meta_free(struct bpf_map *map_meta); -bool bpf_map_meta_equal(const struct bpf_map *meta0, - const struct bpf_map *meta1); -void *bpf_map_fd_get_ptr(struct bpf_map *map, struct file *map_file, - int ufd); -void bpf_map_fd_put_ptr(void *ptr); -u32 bpf_map_fd_sys_lookup_elem(void *ptr); - -#endif diff --git a/lcc/glcc/lib/ebpf/nospec-branch.h b/lcc/glcc/lib/ebpf/nospec-branch.h deleted file mode 100644 index a379e92..0000000 --- a/lcc/glcc/lib/ebpf/nospec-branch.h +++ /dev/null @@ -1,343 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0 */ - -#ifndef __NOSPEC_BRANCH_H__ -#define __NOSPEC_BRANCH_H__ - -#include -#include -// #include -#include -#include -#include -#include - -/* - * Fill the CPU return stack buffer. - * - * Each entry in the RSB, if used for a speculative 'ret', contains an - * infinite 'pause; lfence; jmp' loop to capture speculative execution. - * - * This is required in various cases for retpoline and IBRS-based - * mitigations for the Spectre variant 2 vulnerability. Sometimes to - * eliminate potentially bogus entries from the RSB, and sometimes - * purely to ensure that it doesn't get empty, which on some CPUs would - * allow predictions from other (unwanted!) sources to be used. - * - * We define a CPP macro such that it can be used from both .S files and - * inline assembly. It's possible to do a .macro and then include that - * from C via asm(".include ") but let's not go there. - */ - -#define RSB_CLEAR_LOOPS 32 /* To forcibly overwrite all entries */ -#define RSB_FILL_LOOPS 16 /* To avoid underflow */ - -/* - * Google experimented with loop-unrolling and this turned out to be - * the optimal version — two calls, each with their own speculation - * trap should their return address end up getting used, in a loop. - */ -#define __FILL_RETURN_BUFFER(reg, nr, sp) \ - mov $(nr/2), reg; \ -771: \ - call 772f; \ -773: /* speculation trap */ \ - pause; \ - lfence; \ - jmp 773b; \ -772: \ - call 774f; \ -775: /* speculation trap */ \ - pause; \ - lfence; \ - jmp 775b; \ -774: \ - dec reg; \ - jnz 771b; \ - add $(BITS_PER_LONG/8) * nr, sp; - -#ifdef __ASSEMBLY__ - - /* - * A simpler FILL_RETURN_BUFFER macro. Don't make people use the CPP - * monstrosity above, manually. - */ -.macro FILL_RETURN_BUFFER_CLOBBER reg=%rax - 661: __FILL_RETURN_BUFFER(\reg, RSB_CLEAR_LOOPS, %_ASM_SP); 662: - .pushsection .altinstr_replacement, "ax" - 663: ASM_NOP8; ASM_NOP8; ASM_NOP8; ASM_NOP8; ASM_NOP8; ASM_NOP3; 664: - .popsection - .pushsection .altinstructions, "a" - altinstruction_entry 661b, 663b, X86_FEATURE_SMEP, 662b-661b, 664b-663b - .popsection -.endm - -.macro FILL_RETURN_BUFFER - push %rax - FILL_RETURN_BUFFER_CLOBBER reg=%rax - pop %rax -.endm - -/* - * These are the bare retpoline primitives for indirect jmp and call. - * Do not use these directly; they only exist to make the ALTERNATIVE - * invocation below less ugly. - */ -.macro RETPOLINE_JMP reg:req - call .Ldo_rop_\@ -.Lspec_trap_\@: - pause - lfence - jmp .Lspec_trap_\@ -.Ldo_rop_\@: - mov \reg, (%_ASM_SP) - ret -.endm - -/* - * This is a wrapper around RETPOLINE_JMP so the called function in reg - * returns to the instruction after the macro. - */ -.macro RETPOLINE_CALL reg:req - jmp .Ldo_call_\@ -.Ldo_retpoline_jmp_\@: - RETPOLINE_JMP \reg -.Ldo_call_\@: - call .Ldo_retpoline_jmp_\@ -.endm - -.macro __JMP_NOSPEC reg:req - 661: RETPOLINE_JMP \reg; 662: - .pushsection .altinstr_replacement, "ax" - 663: lfence; jmp *\reg; 664: - .popsection - .pushsection .altinstructions, "a" - altinstruction_entry 661b, 663b, X86_FEATURE_RETPOLINE_AMD, 662b-661b, 664b-663b - .popsection -.endm - -.macro __CALL_NOSPEC reg:req - 661: RETPOLINE_CALL \reg; 662: - .pushsection .altinstr_replacement, "ax" - 663: lfence; call *\reg; 664: - .popsection - .pushsection .altinstructions, "a" - altinstruction_entry 661b, 663b, X86_FEATURE_RETPOLINE_AMD, 662b-661b, 664b-663b - .popsection -.endm - -/* - * JMP_NOSPEC and CALL_NOSPEC macros can be used instead of a simple - * indirect jmp/call which may be susceptible to the Spectre variant 2 - * attack. - */ -.macro JMP_NOSPEC reg:req - STATIC_JUMP .Lretp_\@, retp_enabled_key - jmp *\reg - -.Lretp_\@: - __JMP_NOSPEC \reg -.endm - -.macro CALL_NOSPEC reg:req - STATIC_JUMP .Lretp_\@, retp_enabled_key - call *\reg - jmp .Ldone_\@ - -.Lretp_\@: - __CALL_NOSPEC \reg - -.Ldone_\@: -.endm - -/* - * MDS_USER_CLEAR_CPU_BUFFERS macro is the assembly equivalent of - * mds_user_clear_cpu_buffers(). Like the C version, the __KERNEL_DS - * is used for verw. - * Note: The ZF flag will be clobbered after calling this macro. - */ -.macro MDS_USER_CLEAR_CPU_BUFFERS - STATIC_JUMP .Lverw_\@, mds_user_clear - jmp .Ldone_\@ - .balign 2 -.Lds_\@: - .word __KERNEL_DS -.Lverw_\@: - verw .Lds_\@(%rip) -.Ldone_\@: -.endm - -#else /* __ASSEMBLY__ */ - -#if defined(CONFIG_X86_64) && defined(RETPOLINE) -/* - * Since the inline asm uses the %V modifier which is only in newer GCC, - * the 64-bit one is dependent on RETPOLINE not CONFIG_RETPOLINE. - */ -#define CALL_NOSPEC \ - "call __x86_indirect_thunk_%V[thunk_target]\n" -#define THUNK_TARGET(addr) [thunk_target] "r" (addr) - -#else /* No retpoline for C / inline asm */ -# define CALL_NOSPEC "call *%[thunk_target]\n" -# define THUNK_TARGET(addr) [thunk_target] "rm" (addr) -#endif - -/* The Spectre V2 mitigation variants */ -enum spectre_v2_mitigation { - SPECTRE_V2_NONE, - SPECTRE_V2_RETPOLINE_MINIMAL, - SPECTRE_V2_RETPOLINE_NO_IBPB, - SPECTRE_V2_RETPOLINE_UNSAFE_MODULE, - SPECTRE_V2_RETPOLINE, - SPECTRE_V2_RETPOLINE_IBRS_USER, - SPECTRE_V2_IBRS, - SPECTRE_V2_IBRS_ALWAYS, - SPECTRE_V2_IBP_DISABLED, - SPECTRE_V2_IBRS_ENHANCED, -}; - -extern enum spectre_v2_mitigation spectre_v2_enabled; - -void __spectre_v2_select_mitigation(void); -void spectre_v2_print_mitigation(void); - -static inline bool retp_compiler(void) -{ -#ifdef RETPOLINE - return true; -#else - return false; -#endif -} - -/* - * The Intel specification for the SPEC_CTRL MSR requires that we - * preserve any already set reserved bits at boot time (e.g. for - * future additions that this kernel is not currently aware of). - * We then set any additional mitigation bits that we want - * ourselves and always use this as the base for SPEC_CTRL. - * We also use this when handling guest entry/exit as below. - */ -extern u64 x86_spec_ctrl_base; - -/* The Speculative Store Bypass disable variants */ -enum ssb_mitigation { - SPEC_STORE_BYPASS_NONE, - SPEC_STORE_BYPASS_DISABLE, - SPEC_STORE_BYPASS_PRCTL, - SPEC_STORE_BYPASS_SECCOMP, -}; - -/* AMD specific Speculative Store Bypass MSR data */ -extern u64 x86_amd_ls_cfg_base; -extern u64 x86_amd_ls_cfg_ssbd_mask; - -/* - * On VMEXIT we must ensure that no RSB predictions learned in the guest - * can be followed in the host, by overwriting the RSB completely. Both - * retpoline and IBRS mitigations for Spectre v2 need this; only on future - * CPUs with IBRS_ATT *might* it be avoided. - */ -static inline void fill_RSB(void) -{ - unsigned long loops; - register unsigned long sp asm(_ASM_SP); - - asm volatile (__stringify(__FILL_RETURN_BUFFER(%0, RSB_CLEAR_LOOPS, %1)) - : "=r" (loops), "+r" (sp) - : : "memory" ); -} - -extern struct static_key mds_user_clear; -extern struct static_key mds_idle_clear; - -#include - -/** - * mds_clear_cpu_buffers - Mitigation for MDS vulnerability - * - * This uses the otherwise unused and obsolete VERW instruction in - * combination with microcode which triggers a CPU buffer flush when the - * instruction is executed. - */ -static inline void mds_clear_cpu_buffers(void) -{ - static const u16 ds = __KERNEL_DS; - - /* - * Has to be the memory-operand variant because only that - * guarantees the CPU buffer flush functionality according to - * documentation. The register-operand variant does not. - * Works with any segment selector, but a valid writable - * data segment is the fastest variant. - * - * "cc" clobber is required because VERW modifies ZF. - */ - asm volatile("verw %[ds]" : : [ds] "m" (ds) : "cc"); -} - -/** - * mds_user_clear_cpu_buffers - Mitigation for MDS vulnerability - * - * Clear CPU buffers if the corresponding static key is enabled - * - * RHEL7: This inline function from upstream isn't being used. The - * equivalent MDS_USER_CLEAR_CPU_BUFFERS assembly macro is used in - * the entry code to achieve the same effect. - */ -static inline void mds_user_clear_cpu_buffers(void) -{ - if (static_key_false(&mds_user_clear)) - mds_clear_cpu_buffers(); -} - -/** - * mds_idle_clear_cpu_buffers - Mitigation for MDS vulnerability - * - * Clear CPU buffers if the corresponding static key is enabled - */ -static inline void mds_idle_clear_cpu_buffers(void) -{ - if (static_key_false(&mds_idle_clear)) - mds_clear_cpu_buffers(); -} - -#endif /* __ASSEMBLY__ */ - -/* - * Below is used in the eBPF JIT compiler and emits the byte sequence - * for the following assembly: - * - * With retpolines configured: - * - * callq do_rop - * spec_trap: - * pause - * lfence - * jmp spec_trap - * do_rop: - * mov %rax,(%rsp) - * retq - * - * Without retpolines configured: - * - * jmp *%rax - */ -#ifdef CONFIG_RETPOLINE -# define RETPOLINE_RAX_BPF_JIT_SIZE 17 -# define RETPOLINE_RAX_BPF_JIT() \ - EMIT1_off32(0xE8, 7); /* callq do_rop */ \ - /* spec_trap: */ \ - EMIT2(0xF3, 0x90); /* pause */ \ - EMIT3(0x0F, 0xAE, 0xE8); /* lfence */ \ - EMIT2(0xEB, 0xF9); /* jmp spec_trap */ \ - /* do_rop: */ \ - EMIT4(0x48, 0x89, 0x04, 0x24); /* mov %rax,(%rsp) */ \ - EMIT1(0xC3); /* retq */ -#else -# define RETPOLINE_RAX_BPF_JIT_SIZE 2 -# define RETPOLINE_RAX_BPF_JIT() \ - EMIT2(0xFF, 0xE0); /* jmp *%rax */ -#endif - -#endif /* __NOSPEC_BRANCH_H__ */ diff --git a/lcc/glcc/lib/ebpf/percpu_freelist.c b/lcc/glcc/lib/ebpf/percpu_freelist.c deleted file mode 100644 index 673fa6f..0000000 --- a/lcc/glcc/lib/ebpf/percpu_freelist.c +++ /dev/null @@ -1,104 +0,0 @@ -/* Copyright (c) 2016 Facebook - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of version 2 of the GNU General Public - * License as published by the Free Software Foundation. - */ -#include "percpu_freelist.h" - -int pcpu_freelist_init(struct pcpu_freelist *s) -{ - int cpu; - - s->freelist = alloc_percpu(struct pcpu_freelist_head); - if (!s->freelist) - return -ENOMEM; - - for_each_possible_cpu(cpu) { - struct pcpu_freelist_head *head = per_cpu_ptr(s->freelist, cpu); - - raw_spin_lock_init(&head->lock); - head->first = NULL; - } - return 0; -} - -void pcpu_freelist_destroy(struct pcpu_freelist *s) -{ - free_percpu(s->freelist); -} - -static inline void __pcpu_freelist_push(struct pcpu_freelist_head *head, - struct pcpu_freelist_node *node) -{ - raw_spin_lock(&head->lock); - node->next = head->first; - head->first = node; - raw_spin_unlock(&head->lock); -} - -void pcpu_freelist_push(struct pcpu_freelist *s, - struct pcpu_freelist_node *node) -{ - struct pcpu_freelist_head *head = this_cpu_ptr(s->freelist); - - __pcpu_freelist_push(head, node); -} - -void pcpu_freelist_populate(struct pcpu_freelist *s, void *buf, u32 elem_size, - u32 nr_elems) -{ - struct pcpu_freelist_head *head; - unsigned long flags; - int i, cpu, pcpu_entries; - - pcpu_entries = nr_elems / num_possible_cpus() + 1; - i = 0; - - /* disable irq to workaround lockdep false positive - * in bpf usage pcpu_freelist_populate() will never race - * with pcpu_freelist_push() - */ - local_irq_save(flags); - for_each_possible_cpu(cpu) { -again: - head = per_cpu_ptr(s->freelist, cpu); - __pcpu_freelist_push(head, buf); - i++; - buf += elem_size; - if (i == nr_elems) - break; - if (i % pcpu_entries) - goto again; - } - local_irq_restore(flags); -} - -struct pcpu_freelist_node *pcpu_freelist_pop(struct pcpu_freelist *s) -{ - struct pcpu_freelist_head *head; - struct pcpu_freelist_node *node; - unsigned long flags; - int orig_cpu, cpu; - - local_irq_save(flags); - orig_cpu = cpu = raw_smp_processor_id(); - while (1) { - head = per_cpu_ptr(s->freelist, cpu); - raw_spin_lock(&head->lock); - node = head->first; - if (node) { - head->first = node->next; - raw_spin_unlock_irqrestore(&head->lock, flags); - return node; - } - raw_spin_unlock(&head->lock); - cpu = cpumask_next(cpu, cpu_possible_mask); - if (cpu >= nr_cpu_ids) - cpu = 0; - if (cpu == orig_cpu) { - local_irq_restore(flags); - return NULL; - } - } -} diff --git a/lcc/glcc/lib/ebpf/percpu_freelist.h b/lcc/glcc/lib/ebpf/percpu_freelist.h deleted file mode 100644 index 3049aae..0000000 --- a/lcc/glcc/lib/ebpf/percpu_freelist.h +++ /dev/null @@ -1,31 +0,0 @@ -/* Copyright (c) 2016 Facebook - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of version 2 of the GNU General Public - * License as published by the Free Software Foundation. - */ -#ifndef __PERCPU_FREELIST_H__ -#define __PERCPU_FREELIST_H__ -#include -#include - -struct pcpu_freelist_head { - struct pcpu_freelist_node *first; - raw_spinlock_t lock; -}; - -struct pcpu_freelist { - struct pcpu_freelist_head __percpu *freelist; -}; - -struct pcpu_freelist_node { - struct pcpu_freelist_node *next; -}; - -void pcpu_freelist_push(struct pcpu_freelist *, struct pcpu_freelist_node *); -struct pcpu_freelist_node *pcpu_freelist_pop(struct pcpu_freelist *); -void pcpu_freelist_populate(struct pcpu_freelist *s, void *buf, u32 elem_size, - u32 nr_elems); -int pcpu_freelist_init(struct pcpu_freelist *); -void pcpu_freelist_destroy(struct pcpu_freelist *s); -#endif diff --git a/lcc/glcc/lib/ebpf/readme.md b/lcc/glcc/lib/ebpf/readme.md deleted file mode 100644 index fcc29b6..0000000 --- a/lcc/glcc/lib/ebpf/readme.md +++ /dev/null @@ -1,16 +0,0 @@ -测试机器 ssh root@121.40.175.214 -文件传输 scp ebpfdrv.ko root@121.40.175.214:~ - -memchr_inv — Find an unmatching character in an area of memory. -https://www.kernel.org/doc/htmldocs/kernel-api/API-memchr-inv.html - -array_index_nospec - -security_bpf_map_alloc https://www.spinics.net/lists/netdev/msg460710.html - - - -LD_PRELOAD= - -centos源码下载 http://vault.centos.org/7.6.1810/updates/Source/SPackages/kernel-3.10.0-957.21.3.el7.src.rpm -rpm2cpio *.src.rpm | cpio -idv \ No newline at end of file diff --git a/lcc/glcc/lib/ebpf/stackmap.c b/lcc/glcc/lib/ebpf/stackmap.c deleted file mode 100644 index a8bf3ed..0000000 --- a/lcc/glcc/lib/ebpf/stackmap.c +++ /dev/null @@ -1,743 +0,0 @@ -/* Copyright (c) 2016 Facebook - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of version 2 of the GNU General Public - * License as published by the Free Software Foundation. - */ -#include "allsyms.h" -#include "linux/bpf.h" -#include -#include "linux/filter.h" -#include -#include -#include -#include -#include -#include "percpu_freelist.h" - -#define STACK_CREATE_FLAG_MASK \ - (BPF_F_NUMA_NODE | BPF_F_RDONLY | BPF_F_WRONLY | \ - BPF_F_STACK_BUILD_ID) - -struct stack_map_bucket { - struct pcpu_freelist_node fnode; - u32 hash; - u32 nr; - u64 data[]; -}; - -struct bpf_stack_map { - struct bpf_map map; - void *elems; - struct pcpu_freelist freelist; - u32 n_buckets; - struct stack_map_bucket *buckets[]; -}; - -/* irq_work to run up_read() for build_id lookup in nmi context */ -struct stack_map_irq_work { - struct irq_work irq_work; - struct rw_semaphore *sem; -}; - -struct callchain_cpus_entries { - struct rcu_head rcu_head; - struct perf_callchain_entry *cpu_entries[0]; -}; -static DEFINE_PER_CPU(int, callchain_recursion[PERF_NR_CONTEXTS]); -static atomic_t nr_callchain_events; -static DEFINE_MUTEX(callchain_mutex); -static struct callchain_cpus_entries *callchain_cpus_entries; -static inline int get_recursion_context(int *recursion) -{ - int rctx; - - if (unlikely(in_nmi())) - rctx = 3; - else if (in_irq()) - rctx = 2; - else if (in_softirq()) - rctx = 1; - else - rctx = 0; - - if (recursion[rctx]) - return -1; - - recursion[rctx]++; - barrier(); - - return rctx; -} - -static inline void put_recursion_context(int *recursion, int rctx) -{ - barrier(); - recursion[rctx]--; -} - -static struct perf_callchain_entry *get_callchain_entry(int *rctx) -{ - int cpu; - struct callchain_cpus_entries *entries; - - *rctx = get_recursion_context(__get_cpu_var(callchain_recursion)); - if (*rctx == -1) - return NULL; - - entries = rcu_dereference(callchain_cpus_entries); - if (!entries) - return NULL; - - cpu = smp_processor_id(); - - return &entries->cpu_entries[cpu][*rctx]; -} - -static void -put_callchain_entry(int rctx) -{ - put_recursion_context(__get_cpu_var(callchain_recursion), rctx); -} - -struct perf_callchain_entry * -get_perf_callchain(struct pt_regs *regs, u32 init_nr, bool kernel, bool user, - bool crosstask, bool add_mark) -{ - struct perf_callchain_entry *entry; - int rctx; - - entry = get_callchain_entry(&rctx); - if (rctx == -1) { - printk("rctx is -1\n"); - return NULL; - } - - if (!entry) { - printk("entry is null\n"); - goto exit_put; - } - - entry->nr = init_nr; - - if (kernel && !user_mode(regs)) { - if (add_mark) - perf_callchain_store(entry, PERF_CONTEXT_KERNEL); - printk("call perf callchain kernel\n"); - perf_callchain_kernel_p(entry, regs); - } - - if (user) { - if (!user_mode(regs)) { - if (current->mm) - regs = task_pt_regs(current); - else - regs = NULL; - } - - if (regs) { - mm_segment_t fs; - - if (crosstask) - goto exit_put; - - if (add_mark) - perf_callchain_store(entry, PERF_CONTEXT_USER); - - fs = get_fs(); - set_fs(USER_DS); - printk("call perf callchain user\n"); - // perf_callchain_user(entry, regs); - set_fs(fs); - } - } - -exit_put: - put_callchain_entry(rctx); - - return entry; -} - -static void do_up_read(struct irq_work *entry) -{ - struct stack_map_irq_work *work; - - work = container_of(entry, struct stack_map_irq_work, irq_work); - up_read(work->sem); - work->sem = NULL; -} - -static DEFINE_PER_CPU(struct stack_map_irq_work, up_read_work); - -static inline bool stack_map_use_build_id(struct bpf_map *map) -{ - return (map->map_flags & BPF_F_STACK_BUILD_ID); -} - -static inline int stack_map_data_size(struct bpf_map *map) -{ - return stack_map_use_build_id(map) ? - sizeof(struct bpf_stack_build_id) : sizeof(u64); -} - -static int prealloc_elems_and_freelist(struct bpf_stack_map *smap) -{ - u32 elem_size = sizeof(struct stack_map_bucket) + smap->map.value_size; - int err; - - smap->elems = bpf_map_area_alloc(elem_size * smap->map.max_entries, - smap->map.numa_node); - if (!smap->elems) - return -ENOMEM; - - err = pcpu_freelist_init(&smap->freelist); - if (err) - goto free_elems; - - pcpu_freelist_populate(&smap->freelist, smap->elems, elem_size, - smap->map.max_entries); - return 0; - -free_elems: - bpf_map_area_free(smap->elems); - return err; -} - -/* Called from syscall */ -static struct bpf_map *stack_map_alloc(union bpf_attr *attr) -{ - u32 value_size = attr->value_size; - struct bpf_stack_map *smap; - u64 cost, n_buckets; - int err; - - if (!capable(CAP_SYS_ADMIN)) - return ERR_PTR(-EPERM); - - if (attr->map_flags & ~STACK_CREATE_FLAG_MASK) - return ERR_PTR(-EINVAL); - - /* check sanity of attributes */ - if (attr->max_entries == 0 || attr->key_size != 4 || - value_size < 8 || value_size % 8) - return ERR_PTR(-EINVAL); - - BUILD_BUG_ON(sizeof(struct bpf_stack_build_id) % sizeof(u64)); - if (attr->map_flags & BPF_F_STACK_BUILD_ID) { - if (value_size % sizeof(struct bpf_stack_build_id) || - value_size / sizeof(struct bpf_stack_build_id) - > PERF_MAX_STACK_DEPTH) - return ERR_PTR(-EINVAL); - } else if (value_size / 8 > PERF_MAX_STACK_DEPTH) - return ERR_PTR(-EINVAL); - - /* hash table size must be power of 2 */ - n_buckets = roundup_pow_of_two(attr->max_entries); - - cost = n_buckets * sizeof(struct stack_map_bucket *) + sizeof(*smap); - if (cost >= U32_MAX - PAGE_SIZE) - return ERR_PTR(-E2BIG); - - smap = bpf_map_area_alloc(cost, bpf_map_attr_numa_node(attr)); - if (!smap) - return ERR_PTR(-ENOMEM); - - err = -E2BIG; - cost += n_buckets * (value_size + sizeof(struct stack_map_bucket)); - if (cost >= U32_MAX - PAGE_SIZE) - goto free_smap; - - bpf_map_init_from_attr(&smap->map, attr); - smap->map.value_size = value_size; - smap->n_buckets = n_buckets; - smap->map.pages = round_up(cost, PAGE_SIZE) >> PAGE_SHIFT; - - err = bpf_map_precharge_memlock(smap->map.pages); - if (err) - goto free_smap; - - err = get_callchain_buffers_p(); - if (err) - goto free_smap; - - err = prealloc_elems_and_freelist(smap); - if (err) - goto put_buffers; - - return &smap->map; - -put_buffers: - put_callchain_buffers_p(); -free_smap: - bpf_map_area_free(smap); - return ERR_PTR(err); -} - -#define BPF_BUILD_ID 3 -/* - * Parse build id from the note segment. This logic can be shared between - * 32-bit and 64-bit system, because Elf32_Nhdr and Elf64_Nhdr are - * identical. - */ -static inline int stack_map_parse_build_id(void *page_addr, - unsigned char *build_id, - void *note_start, - Elf32_Word note_size) -{ - Elf32_Word note_offs = 0, new_offs; - - /* check for overflow */ - if (note_start < page_addr || note_start + note_size < note_start) - return -EINVAL; - - /* only supports note that fits in the first page */ - if (note_start + note_size > page_addr + PAGE_SIZE) - return -EINVAL; - - while (note_offs + sizeof(Elf32_Nhdr) < note_size) { - Elf32_Nhdr *nhdr = (Elf32_Nhdr *)(note_start + note_offs); - - if (nhdr->n_type == BPF_BUILD_ID && - nhdr->n_namesz == sizeof("GNU") && - nhdr->n_descsz == BPF_BUILD_ID_SIZE) { - memcpy(build_id, - note_start + note_offs + - ALIGN(sizeof("GNU"), 4) + sizeof(Elf32_Nhdr), - BPF_BUILD_ID_SIZE); - return 0; - } - new_offs = note_offs + sizeof(Elf32_Nhdr) + - ALIGN(nhdr->n_namesz, 4) + ALIGN(nhdr->n_descsz, 4); - if (new_offs <= note_offs) /* overflow */ - break; - note_offs = new_offs; - } - return -EINVAL; -} - -/* Parse build ID from 32-bit ELF */ -static int stack_map_get_build_id_32(void *page_addr, - unsigned char *build_id) -{ - Elf32_Ehdr *ehdr = (Elf32_Ehdr *)page_addr; - Elf32_Phdr *phdr; - int i; - - /* only supports phdr that fits in one page */ - if (ehdr->e_phnum > - (PAGE_SIZE - sizeof(Elf32_Ehdr)) / sizeof(Elf32_Phdr)) - return -EINVAL; - - phdr = (Elf32_Phdr *)(page_addr + sizeof(Elf32_Ehdr)); - - for (i = 0; i < ehdr->e_phnum; ++i) - if (phdr[i].p_type == PT_NOTE) - return stack_map_parse_build_id(page_addr, build_id, - page_addr + phdr[i].p_offset, - phdr[i].p_filesz); - return -EINVAL; -} - -/* Parse build ID from 64-bit ELF */ -static int stack_map_get_build_id_64(void *page_addr, - unsigned char *build_id) -{ - Elf64_Ehdr *ehdr = (Elf64_Ehdr *)page_addr; - Elf64_Phdr *phdr; - int i; - - /* only supports phdr that fits in one page */ - if (ehdr->e_phnum > - (PAGE_SIZE - sizeof(Elf64_Ehdr)) / sizeof(Elf64_Phdr)) - return -EINVAL; - - phdr = (Elf64_Phdr *)(page_addr + sizeof(Elf64_Ehdr)); - - for (i = 0; i < ehdr->e_phnum; ++i) - if (phdr[i].p_type == PT_NOTE) - return stack_map_parse_build_id(page_addr, build_id, - page_addr + phdr[i].p_offset, - phdr[i].p_filesz); - return -EINVAL; -} - -/* Parse build ID of ELF file mapped to vma */ -static int stack_map_get_build_id(struct vm_area_struct *vma, - unsigned char *build_id) -{ - Elf32_Ehdr *ehdr; - struct page *page; - void *page_addr; - int ret; - - /* only works for page backed storage */ - if (!vma->vm_file) - return -EINVAL; - - page = find_get_page(vma->vm_file->f_mapping, 0); - if (!page) - return -EFAULT; /* page not mapped */ - - ret = -EINVAL; - page_addr = page_address(page); - ehdr = (Elf32_Ehdr *)page_addr; - - /* compare magic x7f "ELF" */ - if (memcmp(ehdr->e_ident, ELFMAG, SELFMAG) != 0) - goto out; - - /* only support executable file and shared object file */ - if (ehdr->e_type != ET_EXEC && ehdr->e_type != ET_DYN) - goto out; - - if (ehdr->e_ident[EI_CLASS] == ELFCLASS32) - ret = stack_map_get_build_id_32(page_addr, build_id); - else if (ehdr->e_ident[EI_CLASS] == ELFCLASS64) - ret = stack_map_get_build_id_64(page_addr, build_id); -out: - put_page(page); - return ret; -} - -static void stack_map_get_build_id_offset(struct bpf_stack_build_id *id_offs, - u64 *ips, u32 trace_nr, bool user) -{ - int i; - struct vm_area_struct *vma; - bool irq_work_busy = false; - struct stack_map_irq_work *work = NULL; - - if (in_nmi()) { - work = this_cpu_ptr(&up_read_work); - if (work->irq_work.flags & IRQ_WORK_BUSY) - /* cannot queue more up_read, fallback */ - irq_work_busy = true; - } - - /* - * We cannot do up_read() in nmi context. To do build_id lookup - * in nmi context, we need to run up_read() in irq_work. We use - * a percpu variable to do the irq_work. If the irq_work is - * already used by another lookup, we fall back to report ips. - * - * Same fallback is used for kernel stack (!user) on a stackmap - * with build_id. - */ - if (!user || !current || !current->mm || irq_work_busy || - down_read_trylock(¤t->mm->mmap_sem) == 0) { - /* cannot access current->mm, fall back to ips */ - for (i = 0; i < trace_nr; i++) { - id_offs[i].status = BPF_STACK_BUILD_ID_IP; - id_offs[i].ip = ips[i]; - } - return; - } - - for (i = 0; i < trace_nr; i++) { - vma = find_vma(current->mm, ips[i]); - if (!vma || stack_map_get_build_id(vma, id_offs[i].build_id)) { - /* per entry fall back to ips */ - id_offs[i].status = BPF_STACK_BUILD_ID_IP; - id_offs[i].ip = ips[i]; - continue; - } - id_offs[i].offset = (vma->vm_pgoff << PAGE_SHIFT) + ips[i] - - vma->vm_start; - id_offs[i].status = BPF_STACK_BUILD_ID_VALID; - } - - if (!work) { - up_read(¤t->mm->mmap_sem); - } else { - work->sem = ¤t->mm->mmap_sem; - irq_work_queue(&work->irq_work); - } -} - -BPF_CALL_3(bpf_get_stackid, struct pt_regs *, regs, struct bpf_map *, map, - u64, flags) -{ - struct bpf_stack_map *smap = container_of(map, struct bpf_stack_map, map); - struct perf_callchain_entry *trace; - struct stack_map_bucket *bucket, *new_bucket, *old_bucket; - u32 max_depth = map->value_size / stack_map_data_size(map); - /* stack_map_alloc() checks that max_depth <= PERF_MAX_STACK_DEPTH */ - u32 init_nr = PERF_MAX_STACK_DEPTH - max_depth; - u32 skip = flags & BPF_F_SKIP_FIELD_MASK; - u32 hash, id, trace_nr, trace_len; - bool user = flags & BPF_F_USER_STACK; - bool kernel = !user; - u64 *ips; - bool hash_matches; - - if (unlikely(flags & ~(BPF_F_SKIP_FIELD_MASK | BPF_F_USER_STACK | - BPF_F_FAST_STACK_CMP | BPF_F_REUSE_STACKID))) - return -EINVAL; - - trace = get_perf_callchain(regs, init_nr, kernel, user, false, false); - - if (unlikely(!trace)) - /* couldn't fetch the stack trace */ - return -EFAULT; - - /* get_perf_callchain() guarantees that trace->nr >= init_nr - * and trace-nr <= PERF_MAX_STACK_DEPTH, so trace_nr <= max_depth - */ - trace_nr = trace->nr - init_nr; - - if (trace_nr <= skip) - /* skipping more than usable stack trace */ - return -EFAULT; - - trace_nr -= skip; - trace_len = trace_nr * sizeof(u64); - ips = trace->ip + skip + init_nr; - hash = jhash2((u32 *)ips, trace_len / sizeof(u32), 0); - id = hash & (smap->n_buckets - 1); - bucket = READ_ONCE(smap->buckets[id]); - - hash_matches = bucket && bucket->hash == hash; - /* fast cmp */ - if (hash_matches && flags & BPF_F_FAST_STACK_CMP) - return id; - - if (stack_map_use_build_id(map)) { - /* for build_id+offset, pop a bucket before slow cmp */ - new_bucket = (struct stack_map_bucket *) - pcpu_freelist_pop(&smap->freelist); - if (unlikely(!new_bucket)) - return -ENOMEM; - new_bucket->nr = trace_nr; - stack_map_get_build_id_offset( - (struct bpf_stack_build_id *)new_bucket->data, - ips, trace_nr, user); - trace_len = trace_nr * sizeof(struct bpf_stack_build_id); - if (hash_matches && bucket->nr == trace_nr && - memcmp(bucket->data, new_bucket->data, trace_len) == 0) { - pcpu_freelist_push(&smap->freelist, &new_bucket->fnode); - return id; - } - if (bucket && !(flags & BPF_F_REUSE_STACKID)) { - pcpu_freelist_push(&smap->freelist, &new_bucket->fnode); - return -EEXIST; - } - } else { - if (hash_matches && bucket->nr == trace_nr && - memcmp(bucket->data, ips, trace_len) == 0) - return id; - if (bucket && !(flags & BPF_F_REUSE_STACKID)) - return -EEXIST; - - new_bucket = (struct stack_map_bucket *) - pcpu_freelist_pop(&smap->freelist); - if (unlikely(!new_bucket)) - return -ENOMEM; - memcpy(new_bucket->data, ips, trace_len); - } - - new_bucket->hash = hash; - new_bucket->nr = trace_nr; - - old_bucket = xchg(&smap->buckets[id], new_bucket); - if (old_bucket) - pcpu_freelist_push(&smap->freelist, &old_bucket->fnode); - return id; -} - -const struct bpf_func_proto bpf_get_stackid_proto = { - .func = bpf_get_stackid, - .gpl_only = true, - .ret_type = RET_INTEGER, - .arg1_type = ARG_PTR_TO_CTX, - .arg2_type = ARG_CONST_MAP_PTR, - .arg3_type = ARG_ANYTHING, -}; - -// BPF_CALL_4(bpf_get_stack, struct pt_regs *, regs, void *, buf, u32, size, -// u64, flags) -// { -// u32 init_nr, trace_nr, copy_len, elem_size, num_elem; -// bool user_build_id = flags & BPF_F_USER_BUILD_ID; -// u32 skip = flags & BPF_F_SKIP_FIELD_MASK; -// bool user = flags & BPF_F_USER_STACK; -// struct perf_callchain_entry *trace; -// bool kernel = !user; -// int err = -EINVAL; -// u64 *ips; - -// if (unlikely(flags & ~(BPF_F_SKIP_FIELD_MASK | BPF_F_USER_STACK | -// BPF_F_USER_BUILD_ID))) -// goto clear; -// if (kernel && user_build_id) -// goto clear; - -// elem_size = (user && user_build_id) ? sizeof(struct bpf_stack_build_id) -// : sizeof(u64); -// if (unlikely(size % elem_size)) -// goto clear; - -// num_elem = size / elem_size; -// if (PERF_MAX_STACK_DEPTH < num_elem) -// init_nr = 0; -// else -// init_nr = PERF_MAX_STACK_DEPTH - num_elem; -// trace = get_perf_callchain(regs, init_nr, kernel, user, -// false, false); -// if (unlikely(!trace)) { -// goto err_fault; -// } - -// trace_nr = trace->nr - init_nr; -// if (trace_nr < skip) -// goto err_fault; - -// trace_nr -= skip; -// trace_nr = (trace_nr <= num_elem) ? trace_nr : num_elem; -// copy_len = trace_nr * elem_size; -// ips = trace->ip + skip + init_nr; -// if (user && user_build_id) -// stack_map_get_build_id_offset(buf, ips, trace_nr, user); -// else -// memcpy(buf, ips, copy_len); - -// if (size > copy_len) -// memset(buf + copy_len, 0, size - copy_len); -// printk("copy len is %u\n", copy_len); -// return copy_len; - -// err_fault: -// err = -EFAULT; -// clear: -// memset(buf, 0, size); -// return err; -// } - -// const struct bpf_func_proto bpf_get_stack_proto = { -// .func = bpf_get_stack, -// .gpl_only = true, -// .ret_type = RET_INTEGER, -// .arg1_type = ARG_PTR_TO_CTX, -// .arg2_type = ARG_PTR_TO_UNINIT_MEM, -// .arg3_type = ARG_CONST_SIZE_OR_ZERO, -// .arg4_type = ARG_ANYTHING, -// }; - -/* Called from eBPF program */ -static void *stack_map_lookup_elem(struct bpf_map *map, void *key) -{ - return NULL; -} - -/* Called from syscall */ -int bpf_stackmap_copy(struct bpf_map *map, void *key, void *value) -{ - struct bpf_stack_map *smap = container_of(map, struct bpf_stack_map, map); - struct stack_map_bucket *bucket, *old_bucket; - u32 id = *(u32 *)key, trace_len; - - if (unlikely(id >= smap->n_buckets)) - return -ENOENT; - - bucket = xchg(&smap->buckets[id], NULL); - if (!bucket) - return -ENOENT; - - trace_len = bucket->nr * stack_map_data_size(map); - memcpy(value, bucket->data, trace_len); - memset(value + trace_len, 0, map->value_size - trace_len); - - old_bucket = xchg(&smap->buckets[id], bucket); - if (old_bucket) - pcpu_freelist_push(&smap->freelist, &old_bucket->fnode); - return 0; -} - -static int stack_map_get_next_key(struct bpf_map *map, void *key, - void *next_key) -{ - struct bpf_stack_map *smap = container_of(map, - struct bpf_stack_map, map); - u32 id; - - WARN_ON_ONCE(!rcu_read_lock_held()); - - if (!key) { - id = 0; - } else { - id = *(u32 *)key; - if (id >= smap->n_buckets || !smap->buckets[id]) - id = 0; - else - id++; - } - - while (id < smap->n_buckets && !smap->buckets[id]) - id++; - - if (id >= smap->n_buckets) - return -ENOENT; - - *(u32 *)next_key = id; - return 0; -} - -static int stack_map_update_elem(struct bpf_map *map, void *key, void *value, - u64 map_flags) -{ - return -EINVAL; -} - -/* Called from syscall or from eBPF program */ -static int stack_map_delete_elem(struct bpf_map *map, void *key) -{ - struct bpf_stack_map *smap = container_of(map, struct bpf_stack_map, map); - struct stack_map_bucket *old_bucket; - u32 id = *(u32 *)key; - - if (unlikely(id >= smap->n_buckets)) - return -E2BIG; - - old_bucket = xchg(&smap->buckets[id], NULL); - if (old_bucket) { - pcpu_freelist_push(&smap->freelist, &old_bucket->fnode); - return 0; - } else { - return -ENOENT; - } -} - -/* Called when map->refcnt goes to zero, either from workqueue or from syscall */ -static void stack_map_free(struct bpf_map *map) -{ - struct bpf_stack_map *smap = container_of(map, struct bpf_stack_map, map); - - /* wait for bpf programs to complete before freeing stack map */ - synchronize_rcu(); - - bpf_map_area_free(smap->elems); - pcpu_freelist_destroy(&smap->freelist); - bpf_map_area_free(smap); - put_callchain_buffers_p(); -} - -const struct bpf_map_ops stack_map_ops = { - .map_alloc = stack_map_alloc, - .map_free = stack_map_free, - .map_get_next_key = stack_map_get_next_key, - .map_lookup_elem = stack_map_lookup_elem, - .map_update_elem = stack_map_update_elem, - .map_delete_elem = stack_map_delete_elem, -}; - -int stack_map_init(void) -{ - int cpu; - struct stack_map_irq_work *work; - printk("init stack map\n"); - for_each_possible_cpu(cpu) { - work = per_cpu_ptr(&up_read_work, cpu); - init_irq_work(&work->irq_work, do_up_read); - } - return 0; -} -// subsys_initcall(stack_map_init); diff --git a/lcc/glcc/lib/ebpf/tnum.c b/lcc/glcc/lib/ebpf/tnum.c deleted file mode 100644 index 38da4f0..0000000 --- a/lcc/glcc/lib/ebpf/tnum.c +++ /dev/null @@ -1,190 +0,0 @@ -/* tnum: tracked (or tristate) numbers - * - * A tnum tracks knowledge about the bits of a value. Each bit can be either - * known (0 or 1), or unknown (x). Arithmetic operations on tnums will - * propagate the unknown bits such that the tnum result represents all the - * possible results for possible values of the operands. - */ -#include -#include "tnum.h" - -#define TNUM(_v, _m) (struct tnum){.value = _v, .mask = _m} -/* A completely unknown value */ -const struct tnum tnum_unknown = { .value = 0, .mask = -1 }; - -struct tnum tnum_const(u64 value) -{ - return TNUM(value, 0); -} - -struct tnum tnum_range(u64 min, u64 max) -{ - u64 chi = min ^ max, delta; - u8 bits = fls64(chi); - - /* special case, needed because 1ULL << 64 is undefined */ - if (bits > 63) - return tnum_unknown; - /* e.g. if chi = 4, bits = 3, delta = (1<<3) - 1 = 7. - * if chi = 0, bits = 0, delta = (1<<0) - 1 = 0, so we return - * constant min (since min == max). - */ - delta = (1ULL << bits) - 1; - return TNUM(min & ~delta, delta); -} - -struct tnum tnum_lshift(struct tnum a, u8 shift) -{ - return TNUM(a.value << shift, a.mask << shift); -} - -struct tnum tnum_rshift(struct tnum a, u8 shift) -{ - return TNUM(a.value >> shift, a.mask >> shift); -} - -struct tnum tnum_arshift(struct tnum a, u8 min_shift) -{ - /* if a.value is negative, arithmetic shifting by minimum shift - * will have larger negative offset compared to more shifting. - * If a.value is nonnegative, arithmetic shifting by minimum shift - * will have larger positive offset compare to more shifting. - */ - return TNUM((s64)a.value >> min_shift, (s64)a.mask >> min_shift); -} - -struct tnum tnum_add(struct tnum a, struct tnum b) -{ - u64 sm, sv, sigma, chi, mu; - - sm = a.mask + b.mask; - sv = a.value + b.value; - sigma = sm + sv; - chi = sigma ^ sv; - mu = chi | a.mask | b.mask; - return TNUM(sv & ~mu, mu); -} - -struct tnum tnum_sub(struct tnum a, struct tnum b) -{ - u64 dv, alpha, beta, chi, mu; - - dv = a.value - b.value; - alpha = dv + a.mask; - beta = dv - b.mask; - chi = alpha ^ beta; - mu = chi | a.mask | b.mask; - return TNUM(dv & ~mu, mu); -} - -struct tnum tnum_and(struct tnum a, struct tnum b) -{ - u64 alpha, beta, v; - - alpha = a.value | a.mask; - beta = b.value | b.mask; - v = a.value & b.value; - return TNUM(v, alpha & beta & ~v); -} - -struct tnum tnum_or(struct tnum a, struct tnum b) -{ - u64 v, mu; - - v = a.value | b.value; - mu = a.mask | b.mask; - return TNUM(v, mu & ~v); -} - -struct tnum tnum_xor(struct tnum a, struct tnum b) -{ - u64 v, mu; - - v = a.value ^ b.value; - mu = a.mask | b.mask; - return TNUM(v & ~mu, mu); -} - -/* half-multiply add: acc += (unknown * mask * value). - * An intermediate step in the multiply algorithm. - */ -static struct tnum hma(struct tnum acc, u64 value, u64 mask) -{ - while (mask) { - if (mask & 1) - acc = tnum_add(acc, TNUM(0, value)); - mask >>= 1; - value <<= 1; - } - return acc; -} - -struct tnum tnum_mul(struct tnum a, struct tnum b) -{ - struct tnum acc; - u64 pi; - - pi = a.value * b.value; - acc = hma(TNUM(pi, 0), a.mask, b.mask | b.value); - return hma(acc, b.mask, a.value); -} - -/* Note that if a and b disagree - i.e. one has a 'known 1' where the other has - * a 'known 0' - this will return a 'known 1' for that bit. - */ -struct tnum tnum_intersect(struct tnum a, struct tnum b) -{ - u64 v, mu; - - v = a.value | b.value; - mu = a.mask & b.mask; - return TNUM(v & ~mu, mu); -} - -struct tnum tnum_cast(struct tnum a, u8 size) -{ - a.value &= (1ULL << (size * 8)) - 1; - a.mask &= (1ULL << (size * 8)) - 1; - return a; -} - -bool tnum_is_aligned(struct tnum a, u64 size) -{ - if (!size) - return true; - return !((a.value | a.mask) & (size - 1)); -} - -bool tnum_in(struct tnum a, struct tnum b) -{ - if (b.mask & ~a.mask) - return false; - b.value &= ~a.mask; - return a.value == b.value; -} - -int tnum_strn(char *str, size_t size, struct tnum a) -{ - return snprintf(str, size, "(%#llx; %#llx)", a.value, a.mask); -} -EXPORT_SYMBOL_GPL(tnum_strn); - -int tnum_sbin(char *str, size_t size, struct tnum a) -{ - size_t n; - - for (n = 64; n; n--) { - if (n < size) { - if (a.mask & 1) - str[n - 1] = 'x'; - else if (a.value & 1) - str[n - 1] = '1'; - else - str[n - 1] = '0'; - } - a.mask >>= 1; - a.value >>= 1; - } - str[min(size - 1, (size_t)64)] = 0; - return 64; -} diff --git a/lcc/glcc/lib/ebpf/tnum.h b/lcc/glcc/lib/ebpf/tnum.h deleted file mode 100644 index c7dc2b5..0000000 --- a/lcc/glcc/lib/ebpf/tnum.h +++ /dev/null @@ -1,83 +0,0 @@ -/* tnum: tracked (or tristate) numbers - * - * A tnum tracks knowledge about the bits of a value. Each bit can be either - * known (0 or 1), or unknown (x). Arithmetic operations on tnums will - * propagate the unknown bits such that the tnum result represents all the - * possible results for possible values of the operands. - */ -#include - -struct tnum { - u64 value; - u64 mask; -}; - -/* Constructors */ -/* Represent a known constant as a tnum. */ -struct tnum tnum_const(u64 value); -/* A completely unknown value */ -extern const struct tnum tnum_unknown; -/* A value that's unknown except that @min <= value <= @max */ -struct tnum tnum_range(u64 min, u64 max); - -/* Arithmetic and logical ops */ -/* Shift a tnum left (by a fixed shift) */ -struct tnum tnum_lshift(struct tnum a, u8 shift); -/* Shift (rsh) a tnum right (by a fixed shift) */ -struct tnum tnum_rshift(struct tnum a, u8 shift); -/* Shift (arsh) a tnum right (by a fixed min_shift) */ -struct tnum tnum_arshift(struct tnum a, u8 min_shift); -/* Add two tnums, return @a + @b */ -struct tnum tnum_add(struct tnum a, struct tnum b); -/* Subtract two tnums, return @a - @b */ -struct tnum tnum_sub(struct tnum a, struct tnum b); -/* Bitwise-AND, return @a & @b */ -struct tnum tnum_and(struct tnum a, struct tnum b); -/* Bitwise-OR, return @a | @b */ -struct tnum tnum_or(struct tnum a, struct tnum b); -/* Bitwise-XOR, return @a ^ @b */ -struct tnum tnum_xor(struct tnum a, struct tnum b); -/* Multiply two tnums, return @a * @b */ -struct tnum tnum_mul(struct tnum a, struct tnum b); - -/* Return a tnum representing numbers satisfying both @a and @b */ -struct tnum tnum_intersect(struct tnum a, struct tnum b); - -/* Return @a with all but the lowest @size bytes cleared */ -struct tnum tnum_cast(struct tnum a, u8 size); - -/* Returns true if @a is a known constant */ -static inline bool tnum_is_const(struct tnum a) -{ - return !a.mask; -} - -/* Returns true if @a == tnum_const(@b) */ -static inline bool tnum_equals_const(struct tnum a, u64 b) -{ - return tnum_is_const(a) && a.value == b; -} - -/* Returns true if @a is completely unknown */ -static inline bool tnum_is_unknown(struct tnum a) -{ - return !~a.mask; -} - -/* Returns true if @a is known to be a multiple of @size. - * @size must be a power of two. - */ -bool tnum_is_aligned(struct tnum a, u64 size); - -/* Returns true if @b represents a subset of @a. */ -bool tnum_in(struct tnum a, struct tnum b); - -/* Formatting functions. These have snprintf-like semantics: they will write - * up to @size bytes (including the terminating NUL byte), and return the number - * of bytes (excluding the terminating NUL) which would have been written had - * sufficient space been available. (Thus tnum_sbin always returns 64.) - */ -/* Format a tnum as a pair of hex numbers (value; mask) */ -int tnum_strn(char *str, size_t size, struct tnum a); -/* Format a tnum as tristate binary expansion */ -int tnum_sbin(char *str, size_t size, struct tnum a); diff --git a/lcc/glcc/lib/ebpf/trace_bpf_jit.S b/lcc/glcc/lib/ebpf/trace_bpf_jit.S deleted file mode 100644 index f0d9acf..0000000 --- a/lcc/glcc/lib/ebpf/trace_bpf_jit.S +++ /dev/null @@ -1,154 +0,0 @@ -/* bpf_jit.S : BPF JIT helper functions - * - * Copyright (C) 2011 Eric Dumazet (eric.dumazet@gmail.com) - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; version 2 - * of the License. - */ -#include -#include "bpf_frame.h" - -/* - * Calling convention : - * rbx : skb pointer (callee saved) - * esi : offset of byte(s) to fetch in skb (can be scratched) - * r10 : copy of skb->data - * r9d : hlen = skb->len - skb->data_len - */ -#define SKBDATA %r10 -#define SKF_MAX_NEG_OFF $(-0x200000) /* SKF_LL_OFF from filter.h */ - -#define FUNC(name) \ - .globl name; \ - .type name, @function; \ - name: - -FUNC(trace_sk_load_word) - test %esi,%esi - js bpf_slow_path_word_neg - -FUNC(trace_sk_load_word_positive_offset) - mov %r9d,%eax # hlen - sub %esi,%eax # hlen - offset - cmp $3,%eax - jle bpf_slow_path_word - mov (SKBDATA,%rsi),%eax - bswap %eax /* ntohl() */ - ret - -FUNC(trace_sk_load_half) - test %esi,%esi - js bpf_slow_path_half_neg - -FUNC(trace_sk_load_half_positive_offset) - mov %r9d,%eax - sub %esi,%eax # hlen - offset - cmp $1,%eax - jle bpf_slow_path_half - movzwl (SKBDATA,%rsi),%eax - rol $8,%ax # ntohs() - ret - -FUNC(trace_sk_load_byte) - test %esi,%esi - js bpf_slow_path_byte_neg - -FUNC(trace_sk_load_byte_positive_offset) - cmp %esi,%r9d /* if (offset >= hlen) goto bpf_slow_path_byte */ - jle bpf_slow_path_byte - movzbl (SKBDATA,%rsi),%eax - ret - -/* rsi contains offset and can be scratched */ -#define bpf_slow_path_common(LEN) \ - lea 32(%rbp), %rdx;\ - FRAME_BEGIN; \ - mov %rbx, %rdi; /* arg1 == skb */ \ - push %r9; \ - push SKBDATA; \ -/* rsi already has offset */ \ - mov $LEN,%ecx; /* len */ \ - call skb_copy_bits; \ - test %eax,%eax; \ - pop SKBDATA; \ - pop %r9; \ - FRAME_END - - -bpf_slow_path_word: - bpf_slow_path_common(4) - js bpf_error - mov 32(%rbp),%eax - bswap %eax - ret - -bpf_slow_path_half: - bpf_slow_path_common(2) - js bpf_error - mov 32(%rbp),%ax - rol $8,%ax - movzwl %ax,%eax - ret - -bpf_slow_path_byte: - bpf_slow_path_common(1) - js bpf_error - movzbl 32(%rbp),%eax - ret - -#define sk_negative_common(SIZE) \ - FRAME_BEGIN; \ - mov %rbx, %rdi; /* arg1 == skb */ \ - push %r9; \ - push SKBDATA; \ -/* rsi already has offset */ \ - mov $SIZE,%edx; /* size */ \ - call trace_bpf_internal_load_pointer_neg_helper; \ - test %rax,%rax; \ - pop SKBDATA; \ - pop %r9; \ - FRAME_END; \ - jz bpf_error - -bpf_slow_path_word_neg: - cmp SKF_MAX_NEG_OFF, %esi /* test range */ - jl bpf_error /* offset lower -> error */ - -FUNC(trace_sk_load_word_negative_offset) - sk_negative_common(4) - mov (%rax), %eax - bswap %eax - ret - -bpf_slow_path_half_neg: - cmp SKF_MAX_NEG_OFF, %esi - jl bpf_error - -FUNC(trace_sk_load_half_negative_offset) - sk_negative_common(2) - mov (%rax),%ax - rol $8,%ax - movzwl %ax,%eax - ret - -bpf_slow_path_byte_neg: - cmp SKF_MAX_NEG_OFF, %esi - jl bpf_error - -FUNC(trace_sk_load_byte_negative_offset) - sk_negative_common(1) - movzbl (%rax), %eax - ret - -bpf_error: -# force a return 0 from jit handler - xor %eax,%eax - mov (%rbp),%rbx - mov 8(%rbp),%r13 - mov 16(%rbp),%r14 - mov 24(%rbp),%r15 - add $40, %rbp - leaveq - ret diff --git a/lcc/glcc/lib/ebpf/trace_bpf_jit_comp.c b/lcc/glcc/lib/ebpf/trace_bpf_jit_comp.c deleted file mode 100644 index 85fc848..0000000 --- a/lcc/glcc/lib/ebpf/trace_bpf_jit_comp.c +++ /dev/null @@ -1,1331 +0,0 @@ -/* - * bpf_jit_comp.c: BPF JIT compiler - * - * Copyright (C) 2011-2013 Eric Dumazet (eric.dumazet@gmail.com) - * Internal BPF Copyright (c) 2011-2014 PLUMgrid, http://plumgrid.com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; version 2 - * of the License. - */ -#include "linux/config.h" -#include -#include "linux/filter.h" -#include -#include "linux/bpf.h" -#include "nospec-branch.h" -// #include - -/* - * Assembly code in arch/x86/net/bpf_jit.S - */ -extern u8 trace_sk_load_word[], trace_sk_load_half[], trace_sk_load_byte[]; -extern u8 trace_sk_load_word_positive_offset[], trace_sk_load_half_positive_offset[]; -extern u8 trace_sk_load_byte_positive_offset[]; -extern u8 trace_sk_load_word_negative_offset[], trace_sk_load_half_negative_offset[]; -extern u8 trace_sk_load_byte_negative_offset[]; - -static u8 *emit_code(u8 *ptr, u32 bytes, unsigned int len) -{ - if (len == 1) - *ptr = bytes; - else if (len == 2) - *(u16 *)ptr = bytes; - else { - *(u32 *)ptr = bytes; - barrier(); - } - return ptr + len; -} - -#define EMIT(bytes, len) \ - do { prog = emit_code(prog, bytes, len); cnt += len; } while (0) - -#define EMIT1(b1) EMIT(b1, 1) -#define EMIT2(b1, b2) EMIT((b1) + ((b2) << 8), 2) -#define EMIT3(b1, b2, b3) EMIT((b1) + ((b2) << 8) + ((b3) << 16), 3) -#define EMIT4(b1, b2, b3, b4) EMIT((b1) + ((b2) << 8) + ((b3) << 16) + ((b4) << 24), 4) - -#define EMIT1_off32(b1, off) \ - do { EMIT1(b1); EMIT(off, 4); } while (0) -#define EMIT2_off32(b1, b2, off) \ - do { EMIT2(b1, b2); EMIT(off, 4); } while (0) -#define EMIT3_off32(b1, b2, b3, off) \ - do { EMIT3(b1, b2, b3); EMIT(off, 4); } while (0) -#define EMIT4_off32(b1, b2, b3, b4, off) \ - do { EMIT4(b1, b2, b3, b4); EMIT(off, 4); } while (0) - -static bool is_imm8(int value) -{ - return value <= 127 && value >= -128; -} - -static bool is_simm32(s64 value) -{ - return value == (s64)(s32)value; -} - -static bool is_uimm32(u64 value) -{ - return value == (u64)(u32)value; -} - -/* mov dst, src */ -#define EMIT_mov(DST, SRC) \ - do { \ - if (DST != SRC) \ - EMIT3(add_2mod(0x48, DST, SRC), 0x89, add_2reg(0xC0, DST, SRC)); \ - } while (0) - -static int bpf_size_to_x86_bytes(int bpf_size) -{ - if (bpf_size == BPF_W) - return 4; - else if (bpf_size == BPF_H) - return 2; - else if (bpf_size == BPF_B) - return 1; - else if (bpf_size == BPF_DW) - return 4; /* imm32 */ - else - return 0; -} - -/* - * List of x86 cond jumps opcodes (. + s8) - * Add 0x10 (and an extra 0x0f) to generate far jumps (. + s32) - */ -#define X86_JB 0x72 -#define X86_JAE 0x73 -#define X86_JE 0x74 -#define X86_JNE 0x75 -#define X86_JBE 0x76 -#define X86_JA 0x77 -#define X86_JL 0x7C -#define X86_JGE 0x7D -#define X86_JLE 0x7E -#define X86_JG 0x7F - -#define CHOOSE_LOAD_FUNC(K, func) \ - ((int)K < 0 ? ((int)K >= SKF_LL_OFF ? func##_negative_offset : func) : func##_positive_offset) - -/* Pick a register outside of BPF range for JIT internal work */ -#define AUX_REG (MAX_BPF_JIT_REG + 1) - -/* - * The following table maps BPF registers to x86-64 registers. - * - * x86-64 register R12 is unused, since if used as base address - * register in load/store instructions, it always needs an - * extra byte of encoding and is callee saved. - * - * R9 caches skb->len - skb->data_len - * R10 caches skb->data, and used for blinding (if enabled) - */ -static const int reg2hex[] = { - [BPF_REG_0] = 0, /* RAX */ - [BPF_REG_1] = 7, /* RDI */ - [BPF_REG_2] = 6, /* RSI */ - [BPF_REG_3] = 2, /* RDX */ - [BPF_REG_4] = 1, /* RCX */ - [BPF_REG_5] = 0, /* R8 */ - [BPF_REG_6] = 3, /* RBX callee saved */ - [BPF_REG_7] = 5, /* R13 callee saved */ - [BPF_REG_8] = 6, /* R14 callee saved */ - [BPF_REG_9] = 7, /* R15 callee saved */ - [BPF_REG_FP] = 5, /* RBP readonly */ - [BPF_REG_AX] = 2, /* R10 temp register */ - [AUX_REG] = 3, /* R11 temp register */ -}; - -/* - * is_ereg() == true if BPF register 'reg' maps to x86-64 r8..r15 - * which need extra byte of encoding. - * rax,rcx,...,rbp have simpler encoding - */ -static bool is_ereg(u32 reg) -{ - return (1 << reg) & (BIT(BPF_REG_5) | - BIT(AUX_REG) | - BIT(BPF_REG_7) | - BIT(BPF_REG_8) | - BIT(BPF_REG_9) | - BIT(BPF_REG_AX)); -} - -static bool is_axreg(u32 reg) -{ - return reg == BPF_REG_0; -} - -/* Add modifiers if 'reg' maps to x86-64 registers R8..R15 */ -static u8 add_1mod(u8 byte, u32 reg) -{ - if (is_ereg(reg)) - byte |= 1; - return byte; -} - -static u8 add_2mod(u8 byte, u32 r1, u32 r2) -{ - if (is_ereg(r1)) - byte |= 1; - if (is_ereg(r2)) - byte |= 4; - return byte; -} - -/* Encode 'dst_reg' register into x86-64 opcode 'byte' */ -static u8 add_1reg(u8 byte, u32 dst_reg) -{ - return byte + reg2hex[dst_reg]; -} - -/* Encode 'dst_reg' and 'src_reg' registers into x86-64 opcode 'byte' */ -static u8 add_2reg(u8 byte, u32 dst_reg, u32 src_reg) -{ - return byte + reg2hex[dst_reg] + (reg2hex[src_reg] << 3); -} - -static void jit_fill_hole(void *area, unsigned int size) -{ - /* Fill whole space with INT3 instructions */ - memset(area, 0xcc, size); -} - -struct jit_context { - int cleanup_addr; /* Epilogue code offset */ - bool seen_ld_abs; - bool seen_ax_reg; -}; - -/* Maximum number of bytes emitted while JITing one eBPF insn */ -#define BPF_MAX_INSN_SIZE 128 -#define BPF_INSN_SAFETY 64 - -#define AUX_STACK_SPACE \ - (32 /* Space for RBX, R13, R14, R15 */ + \ - 8 /* Space for skb_copy_bits() buffer */) - -#define PROLOGUE_SIZE 37 - -/* - * Emit x86-64 prologue code for BPF program and check its size. - * bpf_tail_call helper will skip it while jumping into another program - */ -static void emit_prologue(u8 **pprog, u32 stack_depth, bool ebpf_from_cbpf) -{ - u8 *prog = *pprog; - int cnt = 0; - - /* push rbp */ - EMIT1(0x55); - - /* mov rbp,rsp */ - EMIT3(0x48, 0x89, 0xE5); - - /* sub rsp, rounded_stack_depth + AUX_STACK_SPACE */ - EMIT3_off32(0x48, 0x81, 0xEC, - round_up(stack_depth, 8) + AUX_STACK_SPACE); - - /* sub rbp, AUX_STACK_SPACE */ - EMIT4(0x48, 0x83, 0xED, AUX_STACK_SPACE); - - /* All classic BPF filters use R6(rbx) save it */ - - /* mov qword ptr [rbp+0],rbx */ - EMIT4(0x48, 0x89, 0x5D, 0); - - /* - * bpf_convert_filter() maps classic BPF register X to R7 and uses R8 - * as temporary, so all tcpdump filters need to spill/fill R7(R13) and - * R8(R14). R9(R15) spill could be made conditional, but there is only - * one 'bpf_error' return path out of helper functions inside bpf_jit.S - * The overhead of extra spill is negligible for any filter other - * than synthetic ones. Therefore not worth adding complexity. - */ - - /* mov qword ptr [rbp+8],r13 */ - EMIT4(0x4C, 0x89, 0x6D, 8); - /* mov qword ptr [rbp+16],r14 */ - EMIT4(0x4C, 0x89, 0x75, 16); - /* mov qword ptr [rbp+24],r15 */ - EMIT4(0x4C, 0x89, 0x7D, 24); - - if (!ebpf_from_cbpf) { - /* - * Clear the tail call counter (tail_call_cnt): for eBPF tail - * calls we need to reset the counter to 0. It's done in two - * instructions, resetting RAX register to 0, and moving it - * to the counter location. - */ - - /* xor eax, eax */ - EMIT2(0x31, 0xc0); - /* mov qword ptr [rbp+32], rax */ - EMIT4(0x48, 0x89, 0x45, 32); - - BUILD_BUG_ON(cnt != PROLOGUE_SIZE); - } - - *pprog = prog; -} - -/* - * Generate the following code: - * - * ... bpf_tail_call(void *ctx, struct bpf_array *array, u64 index) ... - * if (index >= array->map.max_entries) - * goto out; - * if (++tail_call_cnt > MAX_TAIL_CALL_CNT) - * goto out; - * prog = array->ptrs[index]; - * if (prog == NULL) - * goto out; - * goto *(prog->bpf_func + prologue_size); - * out: - */ -static void emit_bpf_tail_call(u8 **pprog) -{ - u8 *prog = *pprog; - int label1, label2, label3; - int cnt = 0; - - /* - * rdi - pointer to ctx - * rsi - pointer to bpf_array - * rdx - index in bpf_array - */ - - /* - * if (index >= array->map.max_entries) - * goto out; - */ - EMIT2(0x89, 0xD2); /* mov edx, edx */ - EMIT3(0x39, 0x56, /* cmp dword ptr [rsi + 16], edx */ - offsetof(struct bpf_array, map.max_entries)); -#define OFFSET1 (41 + RETPOLINE_RAX_BPF_JIT_SIZE) /* Number of bytes to jump */ - EMIT2(X86_JBE, OFFSET1); /* jbe out */ - label1 = cnt; - - /* - * if (tail_call_cnt > MAX_TAIL_CALL_CNT) - * goto out; - */ - EMIT2_off32(0x8B, 0x85, 36); /* mov eax, dword ptr [rbp + 36] */ - EMIT3(0x83, 0xF8, MAX_TAIL_CALL_CNT); /* cmp eax, MAX_TAIL_CALL_CNT */ -#define OFFSET2 (30 + RETPOLINE_RAX_BPF_JIT_SIZE) - EMIT2(X86_JA, OFFSET2); /* ja out */ - label2 = cnt; - EMIT3(0x83, 0xC0, 0x01); /* add eax, 1 */ - EMIT2_off32(0x89, 0x85, 36); /* mov dword ptr [rbp + 36], eax */ - - /* prog = array->ptrs[index]; */ - EMIT4_off32(0x48, 0x8B, 0x84, 0xD6, /* mov rax, [rsi + rdx * 8 + offsetof(...)] */ - offsetof(struct bpf_array, ptrs)); - - /* - * if (prog == NULL) - * goto out; - */ - EMIT3(0x48, 0x85, 0xC0); /* test rax,rax */ -#define OFFSET3 (8 + RETPOLINE_RAX_BPF_JIT_SIZE) - EMIT2(X86_JE, OFFSET3); /* je out */ - label3 = cnt; - - /* goto *(prog->bpf_func + prologue_size); */ - EMIT4(0x48, 0x8B, 0x40, /* mov rax, qword ptr [rax + 32] */ - offsetof(struct bpf_prog, bpf_func)); - EMIT4(0x48, 0x83, 0xC0, PROLOGUE_SIZE); /* add rax, prologue_size */ - - /* - * Wow we're ready to jump into next BPF program - * rdi == ctx (1st arg) - * rax == prog->bpf_func + prologue_size - */ - RETPOLINE_RAX_BPF_JIT(); - - /* out: */ - BUILD_BUG_ON(cnt - label1 != OFFSET1); - BUILD_BUG_ON(cnt - label2 != OFFSET2); - BUILD_BUG_ON(cnt - label3 != OFFSET3); - *pprog = prog; -} - - -static void emit_load_skb_data_hlen(u8 **pprog) -{ - u8 *prog = *pprog; - int cnt = 0; - - /* - * r9d = skb->len - skb->data_len (headlen) - * r10 = skb->data - */ - /* mov %r9d, off32(%rdi) */ - EMIT3_off32(0x44, 0x8b, 0x8f, offsetof(struct sk_buff, len)); - - /* sub %r9d, off32(%rdi) */ - EMIT3_off32(0x44, 0x2b, 0x8f, offsetof(struct sk_buff, data_len)); - - /* mov %r10, off32(%rdi) */ - EMIT3_off32(0x4c, 0x8b, 0x97, offsetof(struct sk_buff, data)); - *pprog = prog; -} - -static void emit_mov_imm32(u8 **pprog, bool sign_propagate, - u32 dst_reg, const u32 imm32) -{ - u8 *prog = *pprog; - u8 b1, b2, b3; - int cnt = 0; - - /* - * Optimization: if imm32 is positive, use 'mov %eax, imm32' - * (which zero-extends imm32) to save 2 bytes. - */ - if (sign_propagate && (s32)imm32 < 0) { - /* 'mov %rax, imm32' sign extends imm32 */ - b1 = add_1mod(0x48, dst_reg); - b2 = 0xC7; - b3 = 0xC0; - EMIT3_off32(b1, b2, add_1reg(b3, dst_reg), imm32); - goto done; - } - - /* - * Optimization: if imm32 is zero, use 'xor %eax, %eax' - * to save 3 bytes. - */ - if (imm32 == 0) { - if (is_ereg(dst_reg)) - EMIT1(add_2mod(0x40, dst_reg, dst_reg)); - b2 = 0x31; /* xor */ - b3 = 0xC0; - EMIT2(b2, add_2reg(b3, dst_reg, dst_reg)); - goto done; - } - - /* mov %eax, imm32 */ - if (is_ereg(dst_reg)) - EMIT1(add_1mod(0x40, dst_reg)); - EMIT1_off32(add_1reg(0xB8, dst_reg), imm32); -done: - *pprog = prog; -} - -static void emit_mov_imm64(u8 **pprog, u32 dst_reg, - const u32 imm32_hi, const u32 imm32_lo) -{ - u8 *prog = *pprog; - int cnt = 0; - - if (is_uimm32(((u64)imm32_hi << 32) | (u32)imm32_lo)) { - /* - * For emitting plain u32, where sign bit must not be - * propagated LLVM tends to load imm64 over mov32 - * directly, so save couple of bytes by just doing - * 'mov %eax, imm32' instead. - */ - emit_mov_imm32(&prog, false, dst_reg, imm32_lo); - } else { - /* movabsq %rax, imm64 */ - EMIT2(add_1mod(0x48, dst_reg), add_1reg(0xB8, dst_reg)); - EMIT(imm32_lo, 4); - EMIT(imm32_hi, 4); - } - - *pprog = prog; -} - -static void emit_mov_reg(u8 **pprog, bool is64, u32 dst_reg, u32 src_reg) -{ - u8 *prog = *pprog; - int cnt = 0; - - if (is64) { - /* mov dst, src */ - EMIT_mov(dst_reg, src_reg); - } else { - /* mov32 dst, src */ - if (is_ereg(dst_reg) || is_ereg(src_reg)) - EMIT1(add_2mod(0x40, dst_reg, src_reg)); - EMIT2(0x89, add_2reg(0xC0, dst_reg, src_reg)); - } - - *pprog = prog; -} - -static int do_jit(struct bpf_prog *bpf_prog, int *addrs, u8 *image, - int oldproglen, struct jit_context *ctx) -{ - struct bpf_insn *insn = bpf_prog->insnsi; - int insn_cnt = bpf_prog->len; - bool seen_ld_abs = ctx->seen_ld_abs | (oldproglen == 0); - bool seen_ax_reg = ctx->seen_ax_reg | (oldproglen == 0); - bool seen_exit = false; - u8 temp[BPF_MAX_INSN_SIZE + BPF_INSN_SAFETY]; - int i, cnt = 0; - int proglen = 0; - u8 *prog = temp; - - emit_prologue(&prog, bpf_prog->aux->stack_depth, - bpf_prog_was_classic(bpf_prog)); - - if (seen_ld_abs) - emit_load_skb_data_hlen(&prog); - - for (i = 0; i < insn_cnt; i++, insn++) { - const s32 imm32 = insn->imm; - u32 dst_reg = insn->dst_reg; - u32 src_reg = insn->src_reg; - u8 b2 = 0, b3 = 0; - s64 jmp_offset; - u8 jmp_cond; - bool reload_skb_data; - int ilen; - u8 *func; - - if (dst_reg == BPF_REG_AX || src_reg == BPF_REG_AX) - ctx->seen_ax_reg = seen_ax_reg = true; - - switch (insn->code) { - /* ALU */ - case BPF_ALU | BPF_ADD | BPF_X: - case BPF_ALU | BPF_SUB | BPF_X: - case BPF_ALU | BPF_AND | BPF_X: - case BPF_ALU | BPF_OR | BPF_X: - case BPF_ALU | BPF_XOR | BPF_X: - case BPF_ALU64 | BPF_ADD | BPF_X: - case BPF_ALU64 | BPF_SUB | BPF_X: - case BPF_ALU64 | BPF_AND | BPF_X: - case BPF_ALU64 | BPF_OR | BPF_X: - case BPF_ALU64 | BPF_XOR | BPF_X: - switch (BPF_OP(insn->code)) { - case BPF_ADD: b2 = 0x01; break; - case BPF_SUB: b2 = 0x29; break; - case BPF_AND: b2 = 0x21; break; - case BPF_OR: b2 = 0x09; break; - case BPF_XOR: b2 = 0x31; break; - } - if (BPF_CLASS(insn->code) == BPF_ALU64) - EMIT1(add_2mod(0x48, dst_reg, src_reg)); - else if (is_ereg(dst_reg) || is_ereg(src_reg)) - EMIT1(add_2mod(0x40, dst_reg, src_reg)); - EMIT2(b2, add_2reg(0xC0, dst_reg, src_reg)); - break; - - case BPF_ALU64 | BPF_MOV | BPF_X: - case BPF_ALU | BPF_MOV | BPF_X: - emit_mov_reg(&prog, - BPF_CLASS(insn->code) == BPF_ALU64, - dst_reg, src_reg); - break; - - /* neg dst */ - case BPF_ALU | BPF_NEG: - case BPF_ALU64 | BPF_NEG: - if (BPF_CLASS(insn->code) == BPF_ALU64) - EMIT1(add_1mod(0x48, dst_reg)); - else if (is_ereg(dst_reg)) - EMIT1(add_1mod(0x40, dst_reg)); - EMIT2(0xF7, add_1reg(0xD8, dst_reg)); - break; - - case BPF_ALU | BPF_ADD | BPF_K: - case BPF_ALU | BPF_SUB | BPF_K: - case BPF_ALU | BPF_AND | BPF_K: - case BPF_ALU | BPF_OR | BPF_K: - case BPF_ALU | BPF_XOR | BPF_K: - case BPF_ALU64 | BPF_ADD | BPF_K: - case BPF_ALU64 | BPF_SUB | BPF_K: - case BPF_ALU64 | BPF_AND | BPF_K: - case BPF_ALU64 | BPF_OR | BPF_K: - case BPF_ALU64 | BPF_XOR | BPF_K: - if (BPF_CLASS(insn->code) == BPF_ALU64) - EMIT1(add_1mod(0x48, dst_reg)); - else if (is_ereg(dst_reg)) - EMIT1(add_1mod(0x40, dst_reg)); - - /* - * b3 holds 'normal' opcode, b2 short form only valid - * in case dst is eax/rax. - */ - switch (BPF_OP(insn->code)) { - case BPF_ADD: - b3 = 0xC0; - b2 = 0x05; - break; - case BPF_SUB: - b3 = 0xE8; - b2 = 0x2D; - break; - case BPF_AND: - b3 = 0xE0; - b2 = 0x25; - break; - case BPF_OR: - b3 = 0xC8; - b2 = 0x0D; - break; - case BPF_XOR: - b3 = 0xF0; - b2 = 0x35; - break; - } - - if (is_imm8(imm32)) - EMIT3(0x83, add_1reg(b3, dst_reg), imm32); - else if (is_axreg(dst_reg)) - EMIT1_off32(b2, imm32); - else - EMIT2_off32(0x81, add_1reg(b3, dst_reg), imm32); - break; - - case BPF_ALU64 | BPF_MOV | BPF_K: - case BPF_ALU | BPF_MOV | BPF_K: - emit_mov_imm32(&prog, BPF_CLASS(insn->code) == BPF_ALU64, - dst_reg, imm32); - break; - - case BPF_LD | BPF_IMM | BPF_DW: - emit_mov_imm64(&prog, dst_reg, insn[1].imm, insn[0].imm); - insn++; - i++; - break; - - /* dst %= src, dst /= src, dst %= imm32, dst /= imm32 */ - case BPF_ALU | BPF_MOD | BPF_X: - case BPF_ALU | BPF_DIV | BPF_X: - case BPF_ALU | BPF_MOD | BPF_K: - case BPF_ALU | BPF_DIV | BPF_K: - case BPF_ALU64 | BPF_MOD | BPF_X: - case BPF_ALU64 | BPF_DIV | BPF_X: - case BPF_ALU64 | BPF_MOD | BPF_K: - case BPF_ALU64 | BPF_DIV | BPF_K: - EMIT1(0x50); /* push rax */ - EMIT1(0x52); /* push rdx */ - - if (BPF_SRC(insn->code) == BPF_X) - /* mov r11, src_reg */ - EMIT_mov(AUX_REG, src_reg); - else - /* mov r11, imm32 */ - EMIT3_off32(0x49, 0xC7, 0xC3, imm32); - - /* mov rax, dst_reg */ - EMIT_mov(BPF_REG_0, dst_reg); - - /* - * xor edx, edx - * equivalent to 'xor rdx, rdx', but one byte less - */ - EMIT2(0x31, 0xd2); - - if (BPF_CLASS(insn->code) == BPF_ALU64) - /* div r11 */ - EMIT3(0x49, 0xF7, 0xF3); - else - /* div r11d */ - EMIT3(0x41, 0xF7, 0xF3); - - if (BPF_OP(insn->code) == BPF_MOD) - /* mov r11, rdx */ - EMIT3(0x49, 0x89, 0xD3); - else - /* mov r11, rax */ - EMIT3(0x49, 0x89, 0xC3); - - EMIT1(0x5A); /* pop rdx */ - EMIT1(0x58); /* pop rax */ - - /* mov dst_reg, r11 */ - EMIT_mov(dst_reg, AUX_REG); - break; - - case BPF_ALU | BPF_MUL | BPF_K: - case BPF_ALU | BPF_MUL | BPF_X: - case BPF_ALU64 | BPF_MUL | BPF_K: - case BPF_ALU64 | BPF_MUL | BPF_X: - { - bool is64 = BPF_CLASS(insn->code) == BPF_ALU64; - - if (dst_reg != BPF_REG_0) - EMIT1(0x50); /* push rax */ - if (dst_reg != BPF_REG_3) - EMIT1(0x52); /* push rdx */ - - /* mov r11, dst_reg */ - EMIT_mov(AUX_REG, dst_reg); - - if (BPF_SRC(insn->code) == BPF_X) - emit_mov_reg(&prog, is64, BPF_REG_0, src_reg); - else - emit_mov_imm32(&prog, is64, BPF_REG_0, imm32); - - if (is64) - EMIT1(add_1mod(0x48, AUX_REG)); - else if (is_ereg(AUX_REG)) - EMIT1(add_1mod(0x40, AUX_REG)); - /* mul(q) r11 */ - EMIT2(0xF7, add_1reg(0xE0, AUX_REG)); - - if (dst_reg != BPF_REG_3) - EMIT1(0x5A); /* pop rdx */ - if (dst_reg != BPF_REG_0) { - /* mov dst_reg, rax */ - EMIT_mov(dst_reg, BPF_REG_0); - EMIT1(0x58); /* pop rax */ - } - break; - } - /* Shifts */ - case BPF_ALU | BPF_LSH | BPF_K: - case BPF_ALU | BPF_RSH | BPF_K: - case BPF_ALU | BPF_ARSH | BPF_K: - case BPF_ALU64 | BPF_LSH | BPF_K: - case BPF_ALU64 | BPF_RSH | BPF_K: - case BPF_ALU64 | BPF_ARSH | BPF_K: - if (BPF_CLASS(insn->code) == BPF_ALU64) - EMIT1(add_1mod(0x48, dst_reg)); - else if (is_ereg(dst_reg)) - EMIT1(add_1mod(0x40, dst_reg)); - - switch (BPF_OP(insn->code)) { - case BPF_LSH: b3 = 0xE0; break; - case BPF_RSH: b3 = 0xE8; break; - case BPF_ARSH: b3 = 0xF8; break; - } - - if (imm32 == 1) - EMIT2(0xD1, add_1reg(b3, dst_reg)); - else - EMIT3(0xC1, add_1reg(b3, dst_reg), imm32); - break; - - case BPF_ALU | BPF_LSH | BPF_X: - case BPF_ALU | BPF_RSH | BPF_X: - case BPF_ALU | BPF_ARSH | BPF_X: - case BPF_ALU64 | BPF_LSH | BPF_X: - case BPF_ALU64 | BPF_RSH | BPF_X: - case BPF_ALU64 | BPF_ARSH | BPF_X: - - /* Check for bad case when dst_reg == rcx */ - if (dst_reg == BPF_REG_4) { - /* mov r11, dst_reg */ - EMIT_mov(AUX_REG, dst_reg); - dst_reg = AUX_REG; - } - - if (src_reg != BPF_REG_4) { /* common case */ - EMIT1(0x51); /* push rcx */ - - /* mov rcx, src_reg */ - EMIT_mov(BPF_REG_4, src_reg); - } - - /* shl %rax, %cl | shr %rax, %cl | sar %rax, %cl */ - if (BPF_CLASS(insn->code) == BPF_ALU64) - EMIT1(add_1mod(0x48, dst_reg)); - else if (is_ereg(dst_reg)) - EMIT1(add_1mod(0x40, dst_reg)); - - switch (BPF_OP(insn->code)) { - case BPF_LSH: b3 = 0xE0; break; - case BPF_RSH: b3 = 0xE8; break; - case BPF_ARSH: b3 = 0xF8; break; - } - EMIT2(0xD3, add_1reg(b3, dst_reg)); - - if (src_reg != BPF_REG_4) - EMIT1(0x59); /* pop rcx */ - - if (insn->dst_reg == BPF_REG_4) - /* mov dst_reg, r11 */ - EMIT_mov(insn->dst_reg, AUX_REG); - break; - - case BPF_ALU | BPF_END | BPF_FROM_BE: - switch (imm32) { - case 16: - /* Emit 'ror %ax, 8' to swap lower 2 bytes */ - EMIT1(0x66); - if (is_ereg(dst_reg)) - EMIT1(0x41); - EMIT3(0xC1, add_1reg(0xC8, dst_reg), 8); - - /* Emit 'movzwl eax, ax' */ - if (is_ereg(dst_reg)) - EMIT3(0x45, 0x0F, 0xB7); - else - EMIT2(0x0F, 0xB7); - EMIT1(add_2reg(0xC0, dst_reg, dst_reg)); - break; - case 32: - /* Emit 'bswap eax' to swap lower 4 bytes */ - if (is_ereg(dst_reg)) - EMIT2(0x41, 0x0F); - else - EMIT1(0x0F); - EMIT1(add_1reg(0xC8, dst_reg)); - break; - case 64: - /* Emit 'bswap rax' to swap 8 bytes */ - EMIT3(add_1mod(0x48, dst_reg), 0x0F, - add_1reg(0xC8, dst_reg)); - break; - } - break; - - case BPF_ALU | BPF_END | BPF_FROM_LE: - switch (imm32) { - case 16: - /* - * Emit 'movzwl eax, ax' to zero extend 16-bit - * into 64 bit - */ - if (is_ereg(dst_reg)) - EMIT3(0x45, 0x0F, 0xB7); - else - EMIT2(0x0F, 0xB7); - EMIT1(add_2reg(0xC0, dst_reg, dst_reg)); - break; - case 32: - /* Emit 'mov eax, eax' to clear upper 32-bits */ - if (is_ereg(dst_reg)) - EMIT1(0x45); - EMIT2(0x89, add_2reg(0xC0, dst_reg, dst_reg)); - break; - case 64: - /* nop */ - break; - } - break; - - /* ST: *(u8*)(dst_reg + off) = imm */ - case BPF_ST | BPF_MEM | BPF_B: - if (is_ereg(dst_reg)) - EMIT2(0x41, 0xC6); - else - EMIT1(0xC6); - goto st; - case BPF_ST | BPF_MEM | BPF_H: - if (is_ereg(dst_reg)) - EMIT3(0x66, 0x41, 0xC7); - else - EMIT2(0x66, 0xC7); - goto st; - case BPF_ST | BPF_MEM | BPF_W: - if (is_ereg(dst_reg)) - EMIT2(0x41, 0xC7); - else - EMIT1(0xC7); - goto st; - case BPF_ST | BPF_MEM | BPF_DW: - EMIT2(add_1mod(0x48, dst_reg), 0xC7); - -st: if (is_imm8(insn->off)) - EMIT2(add_1reg(0x40, dst_reg), insn->off); - else - EMIT1_off32(add_1reg(0x80, dst_reg), insn->off); - - EMIT(imm32, bpf_size_to_x86_bytes(BPF_SIZE(insn->code))); - break; - - /* STX: *(u8*)(dst_reg + off) = src_reg */ - case BPF_STX | BPF_MEM | BPF_B: - /* Emit 'mov byte ptr [rax + off], al' */ - if (is_ereg(dst_reg) || is_ereg(src_reg) || - /* We have to add extra byte for x86 SIL, DIL regs */ - src_reg == BPF_REG_1 || src_reg == BPF_REG_2) - EMIT2(add_2mod(0x40, dst_reg, src_reg), 0x88); - else - EMIT1(0x88); - goto stx; - case BPF_STX | BPF_MEM | BPF_H: - if (is_ereg(dst_reg) || is_ereg(src_reg)) - EMIT3(0x66, add_2mod(0x40, dst_reg, src_reg), 0x89); - else - EMIT2(0x66, 0x89); - goto stx; - case BPF_STX | BPF_MEM | BPF_W: - if (is_ereg(dst_reg) || is_ereg(src_reg)) - EMIT2(add_2mod(0x40, dst_reg, src_reg), 0x89); - else - EMIT1(0x89); - goto stx; - case BPF_STX | BPF_MEM | BPF_DW: - EMIT2(add_2mod(0x48, dst_reg, src_reg), 0x89); -stx: if (is_imm8(insn->off)) - EMIT2(add_2reg(0x40, dst_reg, src_reg), insn->off); - else - EMIT1_off32(add_2reg(0x80, dst_reg, src_reg), - insn->off); - break; - - /* LDX: dst_reg = *(u8*)(src_reg + off) */ - case BPF_LDX | BPF_MEM | BPF_B: - /* Emit 'movzx rax, byte ptr [rax + off]' */ - EMIT3(add_2mod(0x48, src_reg, dst_reg), 0x0F, 0xB6); - goto ldx; - case BPF_LDX | BPF_MEM | BPF_H: - /* Emit 'movzx rax, word ptr [rax + off]' */ - EMIT3(add_2mod(0x48, src_reg, dst_reg), 0x0F, 0xB7); - goto ldx; - case BPF_LDX | BPF_MEM | BPF_W: - /* Emit 'mov eax, dword ptr [rax+0x14]' */ - if (is_ereg(dst_reg) || is_ereg(src_reg)) - EMIT2(add_2mod(0x40, src_reg, dst_reg), 0x8B); - else - EMIT1(0x8B); - goto ldx; - case BPF_LDX | BPF_MEM | BPF_DW: - /* Emit 'mov rax, qword ptr [rax+0x14]' */ - EMIT2(add_2mod(0x48, src_reg, dst_reg), 0x8B); -ldx: /* - * If insn->off == 0 we can save one extra byte, but - * special case of x86 R13 which always needs an offset - * is not worth the hassle - */ - if (is_imm8(insn->off)) - EMIT2(add_2reg(0x40, src_reg, dst_reg), insn->off); - else - EMIT1_off32(add_2reg(0x80, src_reg, dst_reg), - insn->off); - break; - - /* STX XADD: lock *(u32*)(dst_reg + off) += src_reg */ - case BPF_STX | BPF_XADD | BPF_W: - /* Emit 'lock add dword ptr [rax + off], eax' */ - if (is_ereg(dst_reg) || is_ereg(src_reg)) - EMIT3(0xF0, add_2mod(0x40, dst_reg, src_reg), 0x01); - else - EMIT2(0xF0, 0x01); - goto xadd; - case BPF_STX | BPF_XADD | BPF_DW: - EMIT3(0xF0, add_2mod(0x48, dst_reg, src_reg), 0x01); -xadd: if (is_imm8(insn->off)) - EMIT2(add_2reg(0x40, dst_reg, src_reg), insn->off); - else - EMIT1_off32(add_2reg(0x80, dst_reg, src_reg), - insn->off); - break; - - /* call */ - case BPF_JMP | BPF_CALL: - func = (u8 *) __bpf_call_base + imm32; - jmp_offset = func - (image + addrs[i]); - if (seen_ld_abs) { - reload_skb_data = bpf_helper_changes_skb_data(func); - if (reload_skb_data) { - EMIT1(0x57); /* push %rdi */ - jmp_offset += 22; /* pop, mov, sub, mov */ - } else { - EMIT2(0x41, 0x52); /* push %r10 */ - EMIT2(0x41, 0x51); /* push %r9 */ - /* - * We need to adjust jmp offset, since - * pop %r9, pop %r10 take 4 bytes after call insn - */ - jmp_offset += 4; - } - } - if (!imm32 || !is_simm32(jmp_offset)) { - pr_err("unsupported BPF func %d addr %p image %p\n", - imm32, func, image); - return -EINVAL; - } - EMIT1_off32(0xE8, jmp_offset); - if (seen_ld_abs) { - if (reload_skb_data) { - EMIT1(0x5F); /* pop %rdi */ - emit_load_skb_data_hlen(&prog); - } else { - EMIT2(0x41, 0x59); /* pop %r9 */ - EMIT2(0x41, 0x5A); /* pop %r10 */ - } - } - break; - - case BPF_JMP | BPF_TAIL_CALL: - emit_bpf_tail_call(&prog); - break; - - /* cond jump */ - case BPF_JMP | BPF_JEQ | BPF_X: - case BPF_JMP | BPF_JNE | BPF_X: - case BPF_JMP | BPF_JGT | BPF_X: - case BPF_JMP | BPF_JLT | BPF_X: - case BPF_JMP | BPF_JGE | BPF_X: - case BPF_JMP | BPF_JLE | BPF_X: - case BPF_JMP | BPF_JSGT | BPF_X: - case BPF_JMP | BPF_JSLT | BPF_X: - case BPF_JMP | BPF_JSGE | BPF_X: - case BPF_JMP | BPF_JSLE | BPF_X: - /* cmp dst_reg, src_reg */ - EMIT3(add_2mod(0x48, dst_reg, src_reg), 0x39, - add_2reg(0xC0, dst_reg, src_reg)); - goto emit_cond_jmp; - - case BPF_JMP | BPF_JSET | BPF_X: - /* test dst_reg, src_reg */ - EMIT3(add_2mod(0x48, dst_reg, src_reg), 0x85, - add_2reg(0xC0, dst_reg, src_reg)); - goto emit_cond_jmp; - - case BPF_JMP | BPF_JSET | BPF_K: - /* test dst_reg, imm32 */ - EMIT1(add_1mod(0x48, dst_reg)); - EMIT2_off32(0xF7, add_1reg(0xC0, dst_reg), imm32); - goto emit_cond_jmp; - - case BPF_JMP | BPF_JEQ | BPF_K: - case BPF_JMP | BPF_JNE | BPF_K: - case BPF_JMP | BPF_JGT | BPF_K: - case BPF_JMP | BPF_JLT | BPF_K: - case BPF_JMP | BPF_JGE | BPF_K: - case BPF_JMP | BPF_JLE | BPF_K: - case BPF_JMP | BPF_JSGT | BPF_K: - case BPF_JMP | BPF_JSLT | BPF_K: - case BPF_JMP | BPF_JSGE | BPF_K: - case BPF_JMP | BPF_JSLE | BPF_K: - /* cmp dst_reg, imm8/32 */ - EMIT1(add_1mod(0x48, dst_reg)); - - if (is_imm8(imm32)) - EMIT3(0x83, add_1reg(0xF8, dst_reg), imm32); - else - EMIT2_off32(0x81, add_1reg(0xF8, dst_reg), imm32); - -emit_cond_jmp: /* Convert BPF opcode to x86 */ - switch (BPF_OP(insn->code)) { - case BPF_JEQ: - jmp_cond = X86_JE; - break; - case BPF_JSET: - case BPF_JNE: - jmp_cond = X86_JNE; - break; - case BPF_JGT: - /* GT is unsigned '>', JA in x86 */ - jmp_cond = X86_JA; - break; - case BPF_JLT: - /* LT is unsigned '<', JB in x86 */ - jmp_cond = X86_JB; - break; - case BPF_JGE: - /* GE is unsigned '>=', JAE in x86 */ - jmp_cond = X86_JAE; - break; - case BPF_JLE: - /* LE is unsigned '<=', JBE in x86 */ - jmp_cond = X86_JBE; - break; - case BPF_JSGT: - /* Signed '>', GT in x86 */ - jmp_cond = X86_JG; - break; - case BPF_JSLT: - /* Signed '<', LT in x86 */ - jmp_cond = X86_JL; - break; - case BPF_JSGE: - /* Signed '>=', GE in x86 */ - jmp_cond = X86_JGE; - break; - case BPF_JSLE: - /* Signed '<=', LE in x86 */ - jmp_cond = X86_JLE; - break; - default: /* to silence GCC warning */ - return -EFAULT; - } - jmp_offset = addrs[i + insn->off] - addrs[i]; - if (is_imm8(jmp_offset)) { - EMIT2(jmp_cond, jmp_offset); - } else if (is_simm32(jmp_offset)) { - EMIT2_off32(0x0F, jmp_cond + 0x10, jmp_offset); - } else { - pr_err("cond_jmp gen bug %llx\n", jmp_offset); - return -EFAULT; - } - - break; - - case BPF_JMP | BPF_JA: - if (insn->off == -1) - /* -1 jmp instructions will always jump - * backwards two bytes. Explicitly handling - * this case avoids wasting too many passes - * when there are long sequences of replaced - * dead code. - */ - jmp_offset = -2; - else - jmp_offset = addrs[i + insn->off] - addrs[i]; - - if (!jmp_offset) - /* Optimize out nop jumps */ - break; -emit_jmp: - if (is_imm8(jmp_offset)) { - EMIT2(0xEB, jmp_offset); - } else if (is_simm32(jmp_offset)) { - EMIT1_off32(0xE9, jmp_offset); - } else { - pr_err("jmp gen bug %llx\n", jmp_offset); - return -EFAULT; - } - break; - - case BPF_LD | BPF_IND | BPF_W: - func = trace_sk_load_word; - goto common_load; - case BPF_LD | BPF_ABS | BPF_W: - func = CHOOSE_LOAD_FUNC(imm32, trace_sk_load_word); -common_load: - ctx->seen_ld_abs = seen_ld_abs = true; - jmp_offset = func - (image + addrs[i]); - if (!func || !is_simm32(jmp_offset)) { - pr_err("unsupported BPF func %d addr %p image %p\n", - imm32, func, image); - return -EINVAL; - } - if (BPF_MODE(insn->code) == BPF_ABS) { - /* mov %esi, imm32 */ - EMIT1_off32(0xBE, imm32); - } else { - /* mov %rsi, src_reg */ - EMIT_mov(BPF_REG_2, src_reg); - if (imm32) { - if (is_imm8(imm32)) - /* add %esi, imm8 */ - EMIT3(0x83, 0xC6, imm32); - else - /* add %esi, imm32 */ - EMIT2_off32(0x81, 0xC6, imm32); - } - } - /* - * skb pointer is in R6 (%rbx), it will be copied into - * %rdi if skb_copy_bits() call is necessary. - * trace_sk_load_* helpers also use %r10 and %r9d. - * See bpf_jit.S - */ - if (seen_ax_reg) - /* r10 = skb->data, mov %r10, off32(%rbx) */ - EMIT3_off32(0x4c, 0x8b, 0x93, - offsetof(struct sk_buff, data)); - EMIT1_off32(0xE8, jmp_offset); /* call */ - break; - - case BPF_LD | BPF_IND | BPF_H: - func = trace_sk_load_half; - goto common_load; - case BPF_LD | BPF_ABS | BPF_H: - func = CHOOSE_LOAD_FUNC(imm32, trace_sk_load_half); - goto common_load; - case BPF_LD | BPF_IND | BPF_B: - func = trace_sk_load_byte; - goto common_load; - case BPF_LD | BPF_ABS | BPF_B: - func = CHOOSE_LOAD_FUNC(imm32, trace_sk_load_byte); - goto common_load; - - case BPF_JMP | BPF_EXIT: - if (seen_exit) { - jmp_offset = ctx->cleanup_addr - addrs[i]; - goto emit_jmp; - } - seen_exit = true; - /* Update cleanup_addr */ - ctx->cleanup_addr = proglen; - /* mov rbx, qword ptr [rbp+0] */ - EMIT4(0x48, 0x8B, 0x5D, 0); - /* mov r13, qword ptr [rbp+8] */ - EMIT4(0x4C, 0x8B, 0x6D, 8); - /* mov r14, qword ptr [rbp+16] */ - EMIT4(0x4C, 0x8B, 0x75, 16); - /* mov r15, qword ptr [rbp+24] */ - EMIT4(0x4C, 0x8B, 0x7D, 24); - - /* add rbp, AUX_STACK_SPACE */ - EMIT4(0x48, 0x83, 0xC5, AUX_STACK_SPACE); - EMIT1(0xC9); /* leave */ - EMIT1(0xC3); /* ret */ - break; - - default: - /* - * By design x86-64 JIT should support all BPF instructions. - * This error will be seen if new instruction was added - * to the interpreter, but not to the JIT, or if there is - * junk in bpf_prog. - */ - pr_err("bpf_jit: unknown opcode %02x\n", insn->code); - return -EINVAL; - } - - ilen = prog - temp; - if (ilen > BPF_MAX_INSN_SIZE) { - pr_err("bpf_jit: fatal insn size error\n"); - return -EFAULT; - } - - if (image) { - if (unlikely(proglen + ilen > oldproglen)) { - pr_err("bpf_jit: fatal error\n"); - return -EFAULT; - } - memcpy(image + proglen, temp, ilen); - } - proglen += ilen; - addrs[i] = proglen; - prog = temp; - } - return proglen; -} - -struct x64_jit_data { - struct bpf_binary_header *header; - int *addrs; - u8 *image; - int proglen; - struct jit_context ctx; -}; - -struct bpf_prog *trace_bpf_int_jit_compile(struct bpf_prog *prog) -{ - struct bpf_binary_header *header = NULL; - struct bpf_prog *tmp, *orig_prog = prog; - struct x64_jit_data *jit_data; - int proglen, oldproglen = 0; - struct jit_context ctx = {}; - bool tmp_blinded = false; - bool extra_pass = false; - u8 *image = NULL; - int *addrs; - int pass; - int i; - - if (!prog->jit_requested) - return orig_prog; - - tmp = bpf_jit_blind_constants(prog); - - /* - * If blinding was requested and we failed during blinding, - * we must fall back to the interpreter. - */ - if (IS_ERR(tmp)) - return orig_prog; - if (tmp != prog) { - tmp_blinded = true; - prog = tmp; - } - - jit_data = prog->aux->jit_data; - if (!jit_data) { - jit_data = kzalloc(sizeof(*jit_data), GFP_KERNEL); - if (!jit_data) { - prog = orig_prog; - goto out; - } - prog->aux->jit_data = jit_data; - } - addrs = jit_data->addrs; - if (addrs) { - ctx = jit_data->ctx; - oldproglen = jit_data->proglen; - image = jit_data->image; - header = jit_data->header; - extra_pass = true; - goto skip_init_addrs; - } - addrs = kmalloc(prog->len * sizeof(*addrs), GFP_KERNEL); - if (!addrs) { - prog = orig_prog; - goto out_addrs; - } - - /* - * Before first pass, make a rough estimation of addrs[] - * each BPF instruction is translated to less than 64 bytes - */ - for (proglen = 0, i = 0; i < prog->len; i++) { - proglen += 64; - addrs[i] = proglen; - } - ctx.cleanup_addr = proglen; -skip_init_addrs: - - /* - * JITed image shrinks with every pass and the loop iterates - * until the image stops shrinking. Very large BPF programs - * may converge on the last pass. In such case do one more - * pass to emit the final image. - */ - for (pass = 0; pass < 20 || image; pass++) { - proglen = do_jit(prog, addrs, image, oldproglen, &ctx); - if (proglen <= 0) { -out_image: - image = NULL; - if (header) - bpf_jit_binary_free(header); - prog = orig_prog; - goto out_addrs; - } - if (image) { - if (proglen != oldproglen) { - pr_err("bpf_jit: proglen=%d != oldproglen=%d\n", - proglen, oldproglen); - goto out_image; - } - break; - } - if (proglen == oldproglen) { - header = bpf_jit_binary_alloc(proglen, &image, - 1, jit_fill_hole); - if (!header) { - prog = orig_prog; - goto out_addrs; - } - } - oldproglen = proglen; - cond_resched(); - } - - if (bpf_jit_enable > 1) - bpf_jit_dump(prog->len, proglen, pass + 1, image); - - if (image) { - if (!prog->is_func || extra_pass) { - bpf_jit_binary_lock_ro(header); - } else { - jit_data->addrs = addrs; - jit_data->ctx = ctx; - jit_data->proglen = proglen; - jit_data->image = image; - jit_data->header = header; - } - prog->bpf_func = (void *)image; - prog->jited = 1; - prog->jited_len = proglen; - } else { - prog = orig_prog; - } - - if (!image || !prog->is_func || extra_pass) { -out_addrs: - kfree(addrs); - kfree(jit_data); - prog->aux->jit_data = NULL; - } -out: - if (tmp_blinded) - bpf_jit_prog_release_other(prog, prog == orig_prog ? - tmp : orig_prog); - return prog; -} diff --git a/lcc/glcc/lib/ebpf/uapi/linux/bpf.h b/lcc/glcc/lib/ebpf/uapi/linux/bpf.h deleted file mode 100644 index 836d318..0000000 --- a/lcc/glcc/lib/ebpf/uapi/linux/bpf.h +++ /dev/null @@ -1,746 +0,0 @@ -/* Copyright (c) 2011-2014 PLUMgrid, http://plumgrid.com - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of version 2 of the GNU General Public - * License as published by the Free Software Foundation. - */ -#ifndef _UAPI__LINUX_BPF_H__ -#define _UAPI__LINUX_BPF_H__ - -#include -#include "linux/bpf_common.h" - -/* Extended instruction set based on top of classic BPF */ - -/* instruction classes */ -#define BPF_ALU64 0x07 /* alu mode in double word width */ - -/* ld/ldx fields */ -#define BPF_DW 0x18 /* double word */ -#define BPF_XADD 0xc0 /* exclusive add */ - -/* alu/jmp fields */ -#define BPF_MOV 0xb0 /* mov reg to reg */ -#define BPF_ARSH 0xc0 /* sign extending arithmetic shift right */ - -/* change endianness of a register */ -#define BPF_END 0xd0 /* flags for endianness conversion: */ -#define BPF_TO_LE 0x00 /* convert to little-endian */ -#define BPF_TO_BE 0x08 /* convert to big-endian */ -#define BPF_FROM_LE BPF_TO_LE -#define BPF_FROM_BE BPF_TO_BE - -/* jmp encodings */ -#define BPF_JNE 0x50 /* jump != */ -#define BPF_JLT 0xa0 /* LT is unsigned, '<' */ -#define BPF_JLE 0xb0 /* LE is unsigned, '<=' */ -#define BPF_JSGT 0x60 /* SGT is signed '>', GT in x86 */ -#define BPF_JSGE 0x70 /* SGE is signed '>=', GE in x86 */ -#define BPF_JSLT 0xc0 /* SLT is signed, '<' */ -#define BPF_JSLE 0xd0 /* SLE is signed, '<=' */ -#define BPF_CALL 0x80 /* function call */ -#define BPF_EXIT 0x90 /* function return */ - -/* Register numbers */ -enum { - BPF_REG_0 = 0, - BPF_REG_1, - BPF_REG_2, - BPF_REG_3, - BPF_REG_4, - BPF_REG_5, - BPF_REG_6, - BPF_REG_7, - BPF_REG_8, - BPF_REG_9, - BPF_REG_10, - __MAX_BPF_REG, -}; - -/* BPF has 10 general purpose 64-bit registers and stack frame. */ -#define MAX_BPF_REG __MAX_BPF_REG - -struct bpf_insn { - __u8 code; /* opcode */ - __u8 dst_reg:4; /* dest register */ - __u8 src_reg:4; /* source register */ - __s16 off; /* signed offset */ - __s32 imm; /* signed immediate constant */ -}; - -/* Key of an a BPF_MAP_TYPE_LPM_TRIE entry */ -struct bpf_lpm_trie_key { - __u32 prefixlen; /* up to 32 for AF_INET, 128 for AF_INET6 */ - __u8 data[0]; /* Arbitrary size */ -}; - -/* BPF syscall commands, see bpf(2) man-page for details. */ -enum bpf_cmd { - BPF_MAP_CREATE, - BPF_MAP_LOOKUP_ELEM, - BPF_MAP_UPDATE_ELEM, - BPF_MAP_DELETE_ELEM, - BPF_MAP_GET_NEXT_KEY, - BPF_PROG_LOAD, - BPF_OBJ_PIN, - BPF_OBJ_GET, - BPF_PROG_ATTACH, - BPF_PROG_DETACH, - BPF_PROG_TEST_RUN, - BPF_PROG_GET_NEXT_ID, - BPF_MAP_GET_NEXT_ID, - BPF_PROG_GET_FD_BY_ID, - BPF_MAP_GET_FD_BY_ID, - BPF_OBJ_GET_INFO_BY_FD, - BPF_PROG_QUERY, -}; - -enum bpf_map_type { - BPF_MAP_TYPE_UNSPEC, - BPF_MAP_TYPE_HASH, - BPF_MAP_TYPE_ARRAY, - BPF_MAP_TYPE_PROG_ARRAY, - BPF_MAP_TYPE_PERF_EVENT_ARRAY, - BPF_MAP_TYPE_PERCPU_HASH, - BPF_MAP_TYPE_PERCPU_ARRAY, - BPF_MAP_TYPE_STACK_TRACE, - BPF_MAP_TYPE_CGROUP_ARRAY, - BPF_MAP_TYPE_LRU_HASH, - BPF_MAP_TYPE_LRU_PERCPU_HASH, - BPF_MAP_TYPE_LPM_TRIE, - BPF_MAP_TYPE_ARRAY_OF_MAPS, - BPF_MAP_TYPE_HASH_OF_MAPS, - BPF_MAP_TYPE_DEVMAP, -}; - -enum bpf_prog_type { - BPF_PROG_TYPE_UNSPEC, - BPF_PROG_TYPE_SOCKET_FILTER, - BPF_PROG_TYPE_KPROBE, - BPF_PROG_TYPE_SCHED_CLS, - BPF_PROG_TYPE_SCHED_ACT, - BPF_PROG_TYPE_TRACEPOINT, - BPF_PROG_TYPE_XDP, - BPF_PROG_TYPE_PERF_EVENT, - BPF_PROG_TYPE_CGROUP_SKB, - BPF_PROG_TYPE_CGROUP_SOCK, - BPF_PROG_TYPE_LWT_IN, - BPF_PROG_TYPE_LWT_OUT, - BPF_PROG_TYPE_LWT_XMIT, - BPF_PROG_TYPE_SOCK_OPS, -}; - -enum bpf_attach_type { - BPF_CGROUP_INET_INGRESS, - BPF_CGROUP_INET_EGRESS, - BPF_CGROUP_INET_SOCK_CREATE, - BPF_CGROUP_SOCK_OPS, - __MAX_BPF_ATTACH_TYPE -}; - -#define MAX_BPF_ATTACH_TYPE __MAX_BPF_ATTACH_TYPE - -/* cgroup-bpf attach flags used in BPF_PROG_ATTACH command - * - * NONE(default): No further bpf programs allowed in the subtree. - * - * BPF_F_ALLOW_OVERRIDE: If a sub-cgroup installs some bpf program, - * the program in this cgroup yields to sub-cgroup program. - * - * BPF_F_ALLOW_MULTI: If a sub-cgroup installs some bpf program, - * that cgroup program gets run in addition to the program in this cgroup. - * - * Only one program is allowed to be attached to a cgroup with - * NONE or BPF_F_ALLOW_OVERRIDE flag. - * Attaching another program on top of NONE or BPF_F_ALLOW_OVERRIDE will - * release old program and attach the new one. Attach flags has to match. - * - * Multiple programs are allowed to be attached to a cgroup with - * BPF_F_ALLOW_MULTI flag. They are executed in FIFO order - * (those that were attached first, run first) - * The programs of sub-cgroup are executed first, then programs of - * this cgroup and then programs of parent cgroup. - * When children program makes decision (like picking TCP CA or sock bind) - * parent program has a chance to override it. - * - * A cgroup with MULTI or OVERRIDE flag allows any attach flags in sub-cgroups. - * A cgroup with NONE doesn't allow any programs in sub-cgroups. - * Ex1: - * cgrp1 (MULTI progs A, B) -> - * cgrp2 (OVERRIDE prog C) -> - * cgrp3 (MULTI prog D) -> - * cgrp4 (OVERRIDE prog E) -> - * cgrp5 (NONE prog F) - * the event in cgrp5 triggers execution of F,D,A,B in that order. - * if prog F is detached, the execution is E,D,A,B - * if prog F and D are detached, the execution is E,A,B - * if prog F, E and D are detached, the execution is C,A,B - * - * All eligible programs are executed regardless of return code from - * earlier programs. - */ -#define BPF_F_ALLOW_OVERRIDE (1U << 0) -#define BPF_F_ALLOW_MULTI (1U << 1) - -/* If BPF_F_STRICT_ALIGNMENT is used in BPF_PROG_LOAD command, the - * verifier will perform strict alignment checking as if the kernel - * has been built with CONFIG_EFFICIENT_UNALIGNED_ACCESS not set, - * and NET_IP_ALIGN defined to 2. - */ -#define BPF_F_STRICT_ALIGNMENT (1U << 0) - -/* when bpf_ldimm64->src_reg == BPF_PSEUDO_MAP_FD, bpf_ldimm64->imm == fd */ -#define BPF_PSEUDO_MAP_FD 1 - -/* when bpf_call->src_reg == BPF_PSEUDO_CALL, bpf_call->imm == pc-relative - * offset to another bpf function - */ -#define BPF_PSEUDO_CALL 1 - -/* flags for BPF_MAP_UPDATE_ELEM command */ -#define BPF_ANY 0 /* create new element or update existing */ -#define BPF_NOEXIST 1 /* create new element if it didn't exist */ -#define BPF_EXIST 2 /* update existing element */ - -/* flags for BPF_MAP_CREATE command */ -#define BPF_F_NO_PREALLOC (1U << 0) -/* Instead of having one common LRU list in the - * BPF_MAP_TYPE_LRU_[PERCPU_]HASH map, use a percpu LRU list - * which can scale and perform better. - * Note, the LRU nodes (including free nodes) cannot be moved - * across different LRU lists. - */ -#define BPF_F_NO_COMMON_LRU (1U << 1) -/* Specify numa node during map creation */ -#define BPF_F_NUMA_NODE (1U << 2) - -/* flags for BPF_PROG_QUERY */ -#define BPF_F_QUERY_EFFECTIVE (1U << 0) - -#define BPF_OBJ_NAME_LEN 16U - -/* Flags for accessing BPF object */ -#define BPF_F_RDONLY (1U << 3) -#define BPF_F_WRONLY (1U << 4) - -/* Flag for stack_map, store build_id+offset instead of pointer */ -#define BPF_F_STACK_BUILD_ID (1U << 5) - -enum bpf_stack_build_id_status { - /* user space need an empty entry to identify end of a trace */ - BPF_STACK_BUILD_ID_EMPTY = 0, - /* with valid build_id and offset */ - BPF_STACK_BUILD_ID_VALID = 1, - /* couldn't get build_id, fallback to ip */ - BPF_STACK_BUILD_ID_IP = 2, -}; - -#define BPF_BUILD_ID_SIZE 20 -struct bpf_stack_build_id { - __s32 status; - unsigned char build_id[BPF_BUILD_ID_SIZE]; - union { - __u64 offset; - __u64 ip; - }; -}; - -union bpf_attr { - struct { /* anonymous struct used by BPF_MAP_CREATE command */ - __u32 map_type; /* one of enum bpf_map_type */ - __u32 key_size; /* size of key in bytes */ - __u32 value_size; /* size of value in bytes */ - __u32 max_entries; /* max number of entries in a map */ - __u32 map_flags; /* BPF_MAP_CREATE related - * flags defined above. - */ - __u32 inner_map_fd; /* fd pointing to the inner map */ - __u32 numa_node; /* numa node (effective only if - * BPF_F_NUMA_NODE is set). - */ - char map_name[BPF_OBJ_NAME_LEN]; - }; - - struct { /* anonymous struct used by BPF_MAP_*_ELEM commands */ - __u32 map_fd; - __aligned_u64 key; - union { - __aligned_u64 value; - __aligned_u64 next_key; - }; - __u64 flags; - }; - struct { /* anonymous struct used by BPF_PROG_LOAD command */ - __u32 prog_type; /* one of enum bpf_prog_type */ - __u32 insn_cnt; - __aligned_u64 insns; - __aligned_u64 license; - __u32 log_level; /* verbosity level of verifier */ - __u32 log_size; /* size of user buffer */ - __aligned_u64 log_buf; /* user supplied buffer */ - __u32 kern_version; /* checked when prog_type=kprobe */ - __u32 prog_flags; - char prog_name[BPF_OBJ_NAME_LEN]; - __u32 prog_ifindex; /* ifindex of netdev to prep for */ - /* For some prog types expected attach type must be known at - * load time to verify attach type specific parts of prog - * (context accesses, allowed helpers, etc). - */ - __u32 expected_attach_type; - }; - - struct { /* anonymous struct used by BPF_OBJ_* commands */ - __aligned_u64 pathname; - __u32 bpf_fd; - __u32 file_flags; - }; - - struct { /* anonymous struct used by BPF_PROG_ATTACH/DETACH commands */ - __u32 target_fd; /* container object to attach to */ - __u32 attach_bpf_fd; /* eBPF program to attach */ - __u32 attach_type; - __u32 attach_flags; - }; - - struct { /* anonymous struct used by BPF_PROG_TEST_RUN command */ - __u32 prog_fd; - __u32 retval; - __u32 data_size_in; - __u32 data_size_out; - __aligned_u64 data_in; - __aligned_u64 data_out; - __u32 repeat; - __u32 duration; - } test; - - struct { /* anonymous struct used by BPF_*_GET_*_ID */ - union { - __u32 start_id; - __u32 prog_id; - __u32 map_id; - }; - __u32 next_id; - __u32 open_flags; - }; - - struct { /* anonymous struct used by BPF_OBJ_GET_INFO_BY_FD */ - __u32 bpf_fd; - __u32 info_len; - __aligned_u64 info; - } info; - - struct { /* anonymous struct used by BPF_PROG_QUERY command */ - __u32 target_fd; /* container object to query */ - __u32 attach_type; - __u32 query_flags; - __u32 attach_flags; - __aligned_u64 prog_ids; - __u32 prog_cnt; - } query; -} __attribute__((aligned(8))); - -/* User return codes for XDP prog type. - * A valid XDP program must return one of these defined values. All other - * return codes are reserved for future use. Unknown return codes will result - * in packet drop. - */ -enum xdp_action { - XDP_ABORTED = 0, - XDP_DROP, - XDP_PASS, - XDP_TX, - XDP_REDIRECT, -}; - -/* user accessible metadata for XDP packet hook - * new fields must be added to the end of this structure - */ -struct xdp_md { - __u32 data; - __u32 data_end; -}; - -#define XDP_PACKET_HEADROOM 256 - -/* BPF helper function descriptions: - * - * void *bpf_map_lookup_elem(&map, &key) - * Return: Map value or NULL - * - * int bpf_map_update_elem(&map, &key, &value, flags) - * Return: 0 on success or negative error - * - * int bpf_map_delete_elem(&map, &key) - * Return: 0 on success or negative error - * - * int bpf_probe_read(void *dst, int size, void *src) - * Return: 0 on success or negative error - * - * u64 bpf_ktime_get_ns(void) - * Return: current ktime - * - * int bpf_trace_printk(const char *fmt, int fmt_size, ...) - * Return: length of buffer written or negative error - * - * u32 bpf_prandom_u32(void) - * Return: random value - * - * u32 bpf_raw_smp_processor_id(void) - * Return: SMP processor ID - * - * int bpf_skb_store_bytes(skb, offset, from, len, flags) - * store bytes into packet - * @skb: pointer to skb - * @offset: offset within packet from skb->mac_header - * @from: pointer where to copy bytes from - * @len: number of bytes to store into packet - * @flags: bit 0 - if true, recompute skb->csum - * other bits - reserved - * Return: 0 on success or negative error - * - * int bpf_l3_csum_replace(skb, offset, from, to, flags) - * recompute IP checksum - * @skb: pointer to skb - * @offset: offset within packet where IP checksum is located - * @from: old value of header field - * @to: new value of header field - * @flags: bits 0-3 - size of header field - * other bits - reserved - * Return: 0 on success or negative error - * - * int bpf_l4_csum_replace(skb, offset, from, to, flags) - * recompute TCP/UDP checksum - * @skb: pointer to skb - * @offset: offset within packet where TCP/UDP checksum is located - * @from: old value of header field - * @to: new value of header field - * @flags: bits 0-3 - size of header field - * bit 4 - is pseudo header - * other bits - reserved - * Return: 0 on success or negative error - * - * int bpf_tail_call(ctx, prog_array_map, index) - * jump into another BPF program - * @ctx: context pointer passed to next program - * @prog_array_map: pointer to map which type is BPF_MAP_TYPE_PROG_ARRAY - * @index: 32-bit index inside array that selects specific program to run - * Return: 0 on success or negative error - * - * int bpf_clone_redirect(skb, ifindex, flags) - * redirect to another netdev - * @skb: pointer to skb - * @ifindex: ifindex of the net device - * @flags: bit 0 - if set, redirect to ingress instead of egress - * other bits - reserved - * Return: 0 on success or negative error - * - * u64 bpf_get_current_pid_tgid(void) - * Return: current->tgid << 32 | current->pid - * - * u64 bpf_get_current_uid_gid(void) - * Return: current_gid << 32 | current_uid - * - * int bpf_get_current_comm(char *buf, int size_of_buf) - * stores current->comm into buf - * Return: 0 on success or negative error - * - * u32 bpf_get_cgroup_classid(skb) - * retrieve a proc's classid - * @skb: pointer to skb - * Return: classid if != 0 - * - * int bpf_skb_vlan_push(skb, vlan_proto, vlan_tci) - * Return: 0 on success or negative error - * - * int bpf_skb_vlan_pop(skb) - * Return: 0 on success or negative error - * - * int bpf_skb_get_tunnel_key(skb, key, size, flags) - * int bpf_skb_set_tunnel_key(skb, key, size, flags) - * retrieve or populate tunnel metadata - * @skb: pointer to skb - * @key: pointer to 'struct bpf_tunnel_key' - * @size: size of 'struct bpf_tunnel_key' - * @flags: room for future extensions - * Return: 0 on success or negative error - * - * u64 bpf_perf_event_read(map, flags) - * read perf event counter value - * @map: pointer to perf_event_array map - * @flags: index of event in the map or bitmask flags - * Return: value of perf event counter read or error code - * - * int bpf_redirect(ifindex, flags) - * redirect to another netdev - * @ifindex: ifindex of the net device - * @flags: bit 0 - if set, redirect to ingress instead of egress - * other bits - reserved - * Return: TC_ACT_REDIRECT - * - * u32 bpf_get_route_realm(skb) - * retrieve a dst's tclassid - * @skb: pointer to skb - * Return: realm if != 0 - * - * int bpf_perf_event_output(ctx, map, flags, data, size) - * output perf raw sample - * @ctx: struct pt_regs* - * @map: pointer to perf_event_array map - * @flags: index of event in the map or bitmask flags - * @data: data on stack to be output as raw data - * @size: size of data - * Return: 0 on success or negative error - * - * int bpf_get_stackid(ctx, map, flags) - * walk user or kernel stack and return id - * @ctx: struct pt_regs* - * @map: pointer to stack_trace map - * @flags: bits 0-7 - numer of stack frames to skip - * bit 8 - collect user stack instead of kernel - * bit 9 - compare stacks by hash only - * bit 10 - if two different stacks hash into the same stackid - * discard old - * other bits - reserved - * Return: >= 0 stackid on success or negative error - * - * u64 bpf_get_current_task(void) - * Returns current task_struct - * Return: current - * - * int bpf_probe_write_user(void *dst, void *src, int len) - * safely attempt to write to a location - * @dst: destination address in userspace - * @src: source address on stack - * @len: number of bytes to copy - * Return: 0 on success or negative error - * - * int bpf_get_numa_node_id() - * Return: Id of current NUMA node. - * - * int bpf_probe_read_str(void *dst, int size, const void *unsafe_ptr) - * Copy a NUL terminated string from unsafe address. In case the string - * length is smaller than size, the target is not padded with further NUL - * bytes. In case the string length is larger than size, just count-1 - * bytes are copied and the last byte is set to NUL. - * @dst: destination address - * @size: maximum number of bytes to copy, including the trailing NUL - * @unsafe_ptr: unsafe address - * Return: - * > 0 length of the string including the trailing NUL on success - * < 0 error - * - * int bpf_perf_event_read_value(map, flags, buf, buf_size) - * read perf event counter value and perf event enabled/running time - * @map: pointer to perf_event_array map - * @flags: index of event in the map or bitmask flags - * @buf: buf to fill - * @buf_size: size of the buf - * Return: 0 on success or negative error code - * - * int bpf_perf_prog_read_value(ctx, buf, buf_size) - * read perf prog attached perf event counter and enabled/running time - * @ctx: pointer to ctx - * @buf: buf to fill - * @buf_size: size of the buf - * Return : 0 on success or negative error code - * - * int bpf_override_return(pt_regs, rc) - * @pt_regs: pointer to struct pt_regs - * @rc: the return value to set - * - * int bpf_get_stack(struct pt_regs *regs, void *buf, u32 size, u64 flags) - * Description - * Return a user or a kernel stack in bpf program provided buffer. - * To achieve this, the helper needs *ctx*, which is a pointer - * to the context on which the tracing program is executed. - * To store the stacktrace, the bpf program provides *buf* with - * a nonnegative *size*. - * - * The last argument, *flags*, holds the number of stack frames to - * skip (from 0 to 255), masked with - * **BPF_F_SKIP_FIELD_MASK**. The next bits can be used to set - * the following flags: - * - * **BPF_F_USER_STACK** - * Collect a user space stack instead of a kernel stack. - * **BPF_F_USER_BUILD_ID** - * Collect buildid+offset instead of ips for user stack, - * only valid if **BPF_F_USER_STACK** is also specified. - * - * **bpf_get_stack**\ () can collect up to - * **PERF_MAX_STACK_DEPTH** both kernel and user frames, subject - * to sufficient large buffer size. Note that - * this limit can be controlled with the **sysctl** program, and - * that it should be manually increased in order to profile long - * user stacks (such as stacks for Java programs). To do so, use: - * - * :: - * - * # sysctl kernel.perf_event_max_stack= - * - * Return - * a non-negative value equal to or less than size on success, or - * a negative error in case of failure. - */ -#define __BPF_FUNC_MAPPER(FN) \ - FN(unspec), \ - FN(map_lookup_elem), \ - FN(map_update_elem), \ - FN(map_delete_elem), \ - FN(probe_read), \ - FN(ktime_get_ns), \ - FN(trace_printk), \ - FN(get_prandom_u32), \ - FN(get_smp_processor_id), \ - FN(skb_store_bytes), \ - FN(l3_csum_replace), \ - FN(l4_csum_replace), \ - FN(tail_call), \ - FN(clone_redirect), \ - FN(get_current_pid_tgid), \ - FN(get_current_uid_gid), \ - FN(get_current_comm), \ - FN(get_cgroup_classid), \ - FN(skb_vlan_push), \ - FN(skb_vlan_pop), \ - FN(skb_get_tunnel_key), \ - FN(skb_set_tunnel_key), \ - FN(perf_event_read), \ - FN(redirect), \ - FN(get_route_realm), \ - FN(perf_event_output), \ - FN(skb_load_bytes), \ - FN(get_stackid), \ - FN(csum_diff), \ - FN(skb_get_tunnel_opt), \ - FN(skb_set_tunnel_opt), \ - FN(skb_change_proto), \ - FN(skb_change_type), \ - FN(skb_under_cgroup), \ - FN(get_hash_recalc), \ - FN(get_current_task), \ - FN(probe_write_user), \ - FN(current_task_under_cgroup), \ - FN(skb_change_tail), \ - FN(skb_pull_data), \ - FN(csum_update), \ - FN(set_hash_invalid), \ - FN(get_numa_node_id), \ - FN(skb_change_head), \ - FN(xdp_adjust_head), \ - FN(probe_read_str), \ - FN(get_socket_cookie), \ - FN(get_socket_uid), \ - FN(set_hash), \ - FN(setsockopt), \ - FN(skb_adjust_room), \ - FN(redirect_map), \ - FN(sk_redirect_map), \ - FN(sock_map_update), \ - FN(xdp_adjust_meta), \ - FN(perf_event_read_value), \ - FN(perf_prog_read_value), \ - FN(getsockopt), \ - FN(override_return), \ - FN(sock_ops_cb_flags_set), \ - FN(msg_redirect_map), \ - FN(msg_apply_bytes), \ - FN(msg_cork_bytes), \ - FN(msg_pull_data), \ - FN(bind), \ - FN(xdp_adjust_tail), \ - FN(skb_get_xfrm_state), \ - FN(get_stack), - -/* integer value in 'imm' field of BPF_CALL instruction selects which helper - * function eBPF program intends to call - */ -#define __BPF_ENUM_FN(x) BPF_FUNC_ ## x -enum bpf_func_id { - __BPF_FUNC_MAPPER(__BPF_ENUM_FN) - __BPF_FUNC_MAX_ID, -}; -#undef __BPF_ENUM_FN - -/* flags for both BPF_FUNC_get_stackid and BPF_FUNC_get_stack. */ -#define BPF_F_SKIP_FIELD_MASK 0xffULL -#define BPF_F_USER_STACK (1ULL << 8) -/* flags used by BPF_FUNC_get_stackid only. */ -#define BPF_F_FAST_STACK_CMP (1ULL << 9) -#define BPF_F_REUSE_STACKID (1ULL << 10) -/* flags used by BPF_FUNC_get_stack only. */ -#define BPF_F_USER_BUILD_ID (1ULL << 11) - -/* BPF_FUNC_perf_event_output, BPF_FUNC_perf_event_read and - * BPF_FUNC_perf_event_read_value flags. - */ -#define BPF_F_INDEX_MASK 0xffffffffULL -#define BPF_F_CURRENT_CPU BPF_F_INDEX_MASK -/* BPF_FUNC_perf_event_output for sk_buff input context. */ -#define BPF_F_CTXLEN_MASK (0xfffffULL << 32) - -/* user accessible mirror of in-kernel sk_buff. - * new fields can only be added to the end of this structure - */ -struct __sk_buff { - __u32 len; - __u32 pkt_type; - __u32 mark; - __u32 queue_mapping; - __u32 protocol; - __u32 vlan_present; - __u32 vlan_tci; - __u32 vlan_proto; - __u32 priority; - __u32 ingress_ifindex; - __u32 ifindex; - __u32 tc_index; - __u32 cb[5]; - __u32 hash; - __u32 tc_classid; - __u32 data; - __u32 data_end; -}; - -#define BPF_TAG_SIZE 8 - -struct bpf_prog_info { - __u32 type; - __u32 id; - __u8 tag[BPF_TAG_SIZE]; - __u32 jited_prog_len; - __u32 xlated_prog_len; - __aligned_u64 jited_prog_insns; - __aligned_u64 xlated_prog_insns; - __u64 load_time; /* ns since boottime */ - __u32 created_by_uid; - __u32 nr_map_ids; - __aligned_u64 map_ids; - char name[BPF_OBJ_NAME_LEN]; - __u32 ifindex; - __u32 gpl_compatible:1; - __u64 netns_dev; - __u64 netns_ino; - __u32 nr_jited_ksyms; - __u32 nr_jited_func_lens; - __aligned_u64 jited_ksyms; - __aligned_u64 jited_func_lens; -} __attribute__((aligned(8))); - -struct bpf_map_info { - __u32 type; - __u32 id; - __u32 key_size; - __u32 value_size; - __u32 max_entries; - __u32 map_flags; - char name[BPF_OBJ_NAME_LEN]; -} __attribute__((aligned(8))); - -struct bpf_perf_event_value { - __u64 counter; - __u64 enabled; - __u64 running; -}; - -#endif /* _UAPI__LINUX_BPF_H__ */ diff --git a/lcc/glcc/lib/ebpf/uapi/linux/filter.h b/lcc/glcc/lib/ebpf/uapi/linux/filter.h deleted file mode 100644 index c1f1e65..0000000 --- a/lcc/glcc/lib/ebpf/uapi/linux/filter.h +++ /dev/null @@ -1,84 +0,0 @@ -/* - * Linux Socket Filter Data Structures - */ - -#ifndef _UAPI__LINUX_FILTER_H__ -#define _UAPI__LINUX_FILTER_H__ - -#include -#include -#include "linux/bpf_common.h" - -/* - * Current version of the filter code architecture. - */ -#define BPF_MAJOR_VERSION 1 -#define BPF_MINOR_VERSION 1 - -/* - * Try and keep these values and structures similar to BSD, especially - * the BPF code definitions which need to match so you can share filters - */ - -struct sock_filter { /* Filter block */ - __u16 code; /* Actual filter code */ - __u8 jt; /* Jump true */ - __u8 jf; /* Jump false */ - __u32 k; /* Generic multiuse field */ -}; - -struct sock_fprog { /* Required for SO_ATTACH_FILTER. */ - unsigned short len; /* Number of filter blocks */ - struct sock_filter __user *filter; -}; - -/* ret - BPF_K and BPF_X also apply */ -#define BPF_RVAL(code) ((code) & 0x18) -#define BPF_A 0x10 - -/* misc */ -#define BPF_MISCOP(code) ((code) & 0xf8) -#define BPF_TAX 0x00 -#define BPF_TXA 0x80 - -/* - * Macros for filter block array initializers. - */ -#ifndef BPF_STMT -#define BPF_STMT(code, k) { (unsigned short)(code), 0, 0, k } -#endif -#ifndef BPF_JUMP -#define BPF_JUMP(code, k, jt, jf) { (unsigned short)(code), jt, jf, k } -#endif - -/* - * Number of scratch memory words for: BPF_ST and BPF_STX - */ -#define BPF_MEMWORDS 16 - -/* RATIONALE. Negative offsets are invalid in BPF. - We use them to reference ancillary data. - Unlike introduction new instructions, it does not break - existing compilers/optimizers. - */ -#define SKF_AD_OFF (-0x1000) -#define SKF_AD_PROTOCOL 0 -#define SKF_AD_PKTTYPE 4 -#define SKF_AD_IFINDEX 8 -#define SKF_AD_NLATTR 12 -#define SKF_AD_NLATTR_NEST 16 -#define SKF_AD_MARK 20 -#define SKF_AD_QUEUE 24 -#define SKF_AD_HATYPE 28 -#define SKF_AD_RXHASH 32 -#define SKF_AD_CPU 36 -#define SKF_AD_ALU_XOR_X 40 -#define SKF_AD_VLAN_TAG 44 -#define SKF_AD_VLAN_TAG_PRESENT 48 -#define SKF_AD_PAY_OFFSET 52 -#define SKF_AD_MAX 56 -#define SKF_NET_OFF (-0x100000) -#define SKF_LL_OFF (-0x200000) - - -#endif /* _UAPI__LINUX_FILTER_H__ */ diff --git a/lcc/glcc/lib/ebpf/verifier.c b/lcc/glcc/lib/ebpf/verifier.c deleted file mode 100644 index e100689..0000000 --- a/lcc/glcc/lib/ebpf/verifier.c +++ /dev/null @@ -1,6154 +0,0 @@ -/* Copyright (c) 2011-2014 PLUMgrid, http://plumgrid.com - * Copyright (c) 2016 Facebook - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of version 2 of the GNU General Public - * License as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - */ -#include "linux/config.h" -#include -#include -#include -#include "linux/bpf.h" -#include "bpf_verifier.h" -#include "linux/filter.h" -#include -#include -#include -#include -#include -#include -#include - -#include "allsyms.h" -#include "disasm.h" - -static const struct bpf_verifier_ops * const bpf_verifier_ops[] = { -#define BPF_PROG_TYPE(_id, _name) \ - [_id] = & _name ## _verifier_ops, -#define BPF_MAP_TYPE(_id, _ops) -#include "linux/bpf_types.h" -#undef BPF_PROG_TYPE -#undef BPF_MAP_TYPE -}; - -/* bpf_check() is a static code analyzer that walks eBPF program - * instruction by instruction and updates register/stack state. - * All paths of conditional branches are analyzed until 'bpf_exit' insn. - * - * The first pass is depth-first-search to check that the program is a DAG. - * It rejects the following programs: - * - larger than BPF_MAXINSNS insns - * - if loop is present (detected via back-edge) - * - unreachable insns exist (shouldn't be a forest. program = one function) - * - out of bounds or malformed jumps - * The second pass is all possible path descent from the 1st insn. - * Since it's analyzing all pathes through the program, the length of the - * analysis is limited to 64k insn, which may be hit even if total number of - * insn is less then 4K, but there are too many branches that change stack/regs. - * Number of 'branches to be analyzed' is limited to 1k - * - * On entry to each instruction, each register has a type, and the instruction - * changes the types of the registers depending on instruction semantics. - * If instruction is BPF_MOV64_REG(BPF_REG_1, BPF_REG_5), then type of R5 is - * copied to R1. - * - * All registers are 64-bit. - * R0 - return register - * R1-R5 argument passing registers - * R6-R9 callee saved registers - * R10 - frame pointer read-only - * - * At the start of BPF program the register R1 contains a pointer to bpf_context - * and has type PTR_TO_CTX. - * - * Verifier tracks arithmetic operations on pointers in case: - * BPF_MOV64_REG(BPF_REG_1, BPF_REG_10), - * BPF_ALU64_IMM(BPF_ADD, BPF_REG_1, -20), - * 1st insn copies R10 (which has FRAME_PTR) type into R1 - * and 2nd arithmetic instruction is pattern matched to recognize - * that it wants to construct a pointer to some element within stack. - * So after 2nd insn, the register R1 has type PTR_TO_STACK - * (and -20 constant is saved for further stack bounds checking). - * Meaning that this reg is a pointer to stack plus known immediate constant. - * - * Most of the time the registers have SCALAR_VALUE type, which - * means the register has some value, but it's not a valid pointer. - * (like pointer plus pointer becomes SCALAR_VALUE type) - * - * When verifier sees load or store instructions the type of base register - * can be: PTR_TO_MAP_VALUE, PTR_TO_CTX, PTR_TO_STACK. These are three pointer - * types recognized by check_mem_access() function. - * - * PTR_TO_MAP_VALUE means that this register is pointing to 'map element value' - * and the range of [ptr, ptr + map's value_size) is accessible. - * - * registers used to pass values to function calls are checked against - * function argument constraints. - * - * ARG_PTR_TO_MAP_KEY is one of such argument constraints. - * It means that the register type passed to this function must be - * PTR_TO_STACK and it will be used inside the function as - * 'pointer to map element key' - * - * For example the argument constraints for bpf_map_lookup_elem(): - * .ret_type = RET_PTR_TO_MAP_VALUE_OR_NULL, - * .arg1_type = ARG_CONST_MAP_PTR, - * .arg2_type = ARG_PTR_TO_MAP_KEY, - * - * ret_type says that this function returns 'pointer to map elem value or null' - * function expects 1st argument to be a const pointer to 'struct bpf_map' and - * 2nd argument should be a pointer to stack, which will be used inside - * the helper function as a pointer to map element key. - * - * On the kernel side the helper function looks like: - * u64 bpf_map_lookup_elem(u64 r1, u64 r2, u64 r3, u64 r4, u64 r5) - * { - * struct bpf_map *map = (struct bpf_map *) (unsigned long) r1; - * void *key = (void *) (unsigned long) r2; - * void *value; - * - * here kernel can access 'key' and 'map' pointers safely, knowing that - * [key, key + map->key_size) bytes are valid and were initialized on - * the stack of eBPF program. - * } - * - * Corresponding eBPF program may look like: - * BPF_MOV64_REG(BPF_REG_2, BPF_REG_10), // after this insn R2 type is FRAME_PTR - * BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -4), // after this insn R2 type is PTR_TO_STACK - * BPF_LD_MAP_FD(BPF_REG_1, map_fd), // after this insn R1 type is CONST_PTR_TO_MAP - * BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 0, 0, BPF_FUNC_map_lookup_elem), - * here verifier looks at prototype of map_lookup_elem() and sees: - * .arg1_type == ARG_CONST_MAP_PTR and R1->type == CONST_PTR_TO_MAP, which is ok, - * Now verifier knows that this map has key of R1->map_ptr->key_size bytes - * - * Then .arg2_type == ARG_PTR_TO_MAP_KEY and R2->type == PTR_TO_STACK, ok so far, - * Now verifier checks that [R2, R2 + map's key_size) are within stack limits - * and were initialized prior to this call. - * If it's ok, then verifier allows this BPF_CALL insn and looks at - * .ret_type which is RET_PTR_TO_MAP_VALUE_OR_NULL, so it sets - * R0->type = PTR_TO_MAP_VALUE_OR_NULL which means bpf_map_lookup_elem() function - * returns ether pointer to map value or NULL. - * - * When type PTR_TO_MAP_VALUE_OR_NULL passes through 'if (reg != 0) goto +off' - * insn, the register holding that pointer in the true branch changes state to - * PTR_TO_MAP_VALUE and the same register changes state to CONST_IMM in the false - * branch. See check_cond_jmp_op(). - * - * After the call R0 is set to return type of the function and registers R1-R5 - * are set to NOT_INIT to indicate that they are no longer readable. - */ - -/* verifier_state + insn_idx are pushed to stack when branch is encountered */ -struct bpf_verifier_stack_elem { - /* verifer state is 'st' - * before processing instruction 'insn_idx' - * and after processing instruction 'prev_insn_idx' - */ - struct bpf_verifier_state st; - int insn_idx; - int prev_insn_idx; - struct bpf_verifier_stack_elem *next; -}; - -#define BPF_COMPLEXITY_LIMIT_INSNS 131072 -#define BPF_COMPLEXITY_LIMIT_STACK 1024 - -#define BPF_MAP_PTR_UNPRIV 1UL -#define BPF_MAP_PTR_POISON ((void *)((0xeB9FUL << 1) + \ - POISON_POINTER_DELTA)) -#define BPF_MAP_PTR(X) ((struct bpf_map *)((X) & ~BPF_MAP_PTR_UNPRIV)) - -static bool bpf_map_ptr_poisoned(const struct bpf_insn_aux_data *aux) -{ - return BPF_MAP_PTR(aux->map_state) == BPF_MAP_PTR_POISON; -} - -static bool bpf_map_ptr_unpriv(const struct bpf_insn_aux_data *aux) -{ - return aux->map_state & BPF_MAP_PTR_UNPRIV; -} - -static void bpf_map_ptr_store(struct bpf_insn_aux_data *aux, - const struct bpf_map *map, bool unpriv) -{ - BUILD_BUG_ON((unsigned long)BPF_MAP_PTR_POISON & BPF_MAP_PTR_UNPRIV); - unpriv |= bpf_map_ptr_unpriv(aux); - aux->map_state = (unsigned long)map | - (unpriv ? BPF_MAP_PTR_UNPRIV : 0UL); -} - -struct bpf_call_arg_meta { - struct bpf_map *map_ptr; - bool raw_mode; - bool pkt_access; - int regno; - int access_size; - s64 msize_smax_value; - u64 msize_umax_value; -}; - -static DEFINE_MUTEX(bpf_verifier_lock); - -void bpf_verifier_vlog(struct bpf_verifier_log *log, const char *fmt, - va_list args) -{ - unsigned int n; - - n = vscnprintf(log->kbuf, BPF_VERIFIER_TMP_LOG_SIZE, fmt, args); - - WARN_ONCE(n >= BPF_VERIFIER_TMP_LOG_SIZE - 1, - "verifier log line truncated - local buffer too short\n"); - - n = min(log->len_total - log->len_used - 1, n); - log->kbuf[n] = '\0'; - - if (!copy_to_user(log->ubuf + log->len_used, log->kbuf, n + 1)) - log->len_used += n; - else - log->ubuf = NULL; -} - -/* log_level controls verbosity level of eBPF verifier. - * bpf_verifier_log_write() is used to dump the verification trace to the log, - * so the user can figure out what's wrong with the program - */ -__printf(2, 3) void bpf_verifier_log_write(struct bpf_verifier_env *env, - const char *fmt, ...) -{ - va_list args; - - if (!bpf_verifier_log_needed(&env->log)) - return; - - va_start(args, fmt); - bpf_verifier_vlog(&env->log, fmt, args); - va_end(args); -} -EXPORT_SYMBOL_GPL(bpf_verifier_log_write); - -__printf(2, 3) static void verbose(void *private_data, const char *fmt, ...) -{ - struct bpf_verifier_env *env = private_data; - va_list args; - - if (!bpf_verifier_log_needed(&env->log)) - return; - - va_start(args, fmt); - bpf_verifier_vlog(&env->log, fmt, args); - va_end(args); -} - -static bool type_is_pkt_pointer(enum bpf_reg_type type) -{ - return type == PTR_TO_PACKET || - type == PTR_TO_PACKET_META; -} - -/* string representation of 'enum bpf_reg_type' */ -static const char * const reg_type_str[] = { - [NOT_INIT] = "?", - [SCALAR_VALUE] = "inv", - [PTR_TO_CTX] = "ctx", - [CONST_PTR_TO_MAP] = "map_ptr", - [PTR_TO_MAP_VALUE] = "map_value", - [PTR_TO_MAP_VALUE_OR_NULL] = "map_value_or_null", - [PTR_TO_STACK] = "fp", - [PTR_TO_PACKET] = "pkt", - [PTR_TO_PACKET_META] = "pkt_meta", - [PTR_TO_PACKET_END] = "pkt_end", -}; - -static void print_liveness(struct bpf_verifier_env *env, - enum bpf_reg_liveness live) -{ - if (live & (REG_LIVE_READ | REG_LIVE_WRITTEN)) - verbose(env, "_"); - if (live & REG_LIVE_READ) - verbose(env, "r"); - if (live & REG_LIVE_WRITTEN) - verbose(env, "w"); -} - -static struct bpf_func_state *func(struct bpf_verifier_env *env, - const struct bpf_reg_state *reg) -{ - struct bpf_verifier_state *cur = env->cur_state; - - return cur->frame[reg->frameno]; -} - -static void print_verifier_state(struct bpf_verifier_env *env, - const struct bpf_func_state *state) -{ - const struct bpf_reg_state *reg; - enum bpf_reg_type t; - int i; - - if (state->frameno) - verbose(env, " frame%d:", state->frameno); - for (i = 0; i < MAX_BPF_REG; i++) { - reg = &state->regs[i]; - t = reg->type; - if (t == NOT_INIT) - continue; - verbose(env, " R%d", i); - print_liveness(env, reg->live); - verbose(env, "=%s", reg_type_str[t]); - if ((t == SCALAR_VALUE || t == PTR_TO_STACK) && - tnum_is_const(reg->var_off)) { - /* reg->off should be 0 for SCALAR_VALUE */ - verbose(env, "%lld", reg->var_off.value + reg->off); - if (t == PTR_TO_STACK) - verbose(env, ",call_%d", func(env, reg)->callsite); - } else { - verbose(env, "(id=%d", reg->id); - if (t != SCALAR_VALUE) - verbose(env, ",off=%d", reg->off); - if (type_is_pkt_pointer(t)) - verbose(env, ",r=%d", reg->range); - else if (t == CONST_PTR_TO_MAP || - t == PTR_TO_MAP_VALUE || - t == PTR_TO_MAP_VALUE_OR_NULL) - verbose(env, ",ks=%d,vs=%d", - reg->map_ptr->key_size, - reg->map_ptr->value_size); - if (tnum_is_const(reg->var_off)) { - /* Typically an immediate SCALAR_VALUE, but - * could be a pointer whose offset is too big - * for reg->off - */ - verbose(env, ",imm=%llx", reg->var_off.value); - } else { - if (reg->smin_value != reg->umin_value && - reg->smin_value != S64_MIN) - verbose(env, ",smin_value=%lld", - (long long)reg->smin_value); - if (reg->smax_value != reg->umax_value && - reg->smax_value != S64_MAX) - verbose(env, ",smax_value=%lld", - (long long)reg->smax_value); - if (reg->umin_value != 0) - verbose(env, ",umin_value=%llu", - (unsigned long long)reg->umin_value); - if (reg->umax_value != U64_MAX) - verbose(env, ",umax_value=%llu", - (unsigned long long)reg->umax_value); - if (!tnum_is_unknown(reg->var_off)) { - char tn_buf[48]; - - tnum_strn(tn_buf, sizeof(tn_buf), reg->var_off); - verbose(env, ",var_off=%s", tn_buf); - } - } - verbose(env, ")"); - } - } - for (i = 0; i < state->allocated_stack / BPF_REG_SIZE; i++) { - if (state->stack[i].slot_type[0] == STACK_SPILL) { - verbose(env, " fp%d", - (-i - 1) * BPF_REG_SIZE); - print_liveness(env, state->stack[i].spilled_ptr.live); - verbose(env, "=%s", - reg_type_str[state->stack[i].spilled_ptr.type]); - } - if (state->stack[i].slot_type[0] == STACK_ZERO) - verbose(env, " fp%d=0", (-i - 1) * BPF_REG_SIZE); - } - verbose(env, "\n"); -} - -static int copy_stack_state(struct bpf_func_state *dst, - const struct bpf_func_state *src) -{ - if (!src->stack) - return 0; - if (WARN_ON_ONCE(dst->allocated_stack < src->allocated_stack)) { - /* internal bug, make state invalid to reject the program */ - memset(dst, 0, sizeof(*dst)); - return -EFAULT; - } - memcpy(dst->stack, src->stack, - sizeof(*src->stack) * (src->allocated_stack / BPF_REG_SIZE)); - return 0; -} - -/* do_check() starts with zero-sized stack in struct bpf_verifier_state to - * make it consume minimal amount of memory. check_stack_write() access from - * the program calls into realloc_func_state() to grow the stack size. - * Note there is a non-zero 'parent' pointer inside bpf_verifier_state - * which this function copies over. It points to previous bpf_verifier_state - * which is never reallocated - */ -static int realloc_func_state(struct bpf_func_state *state, int size, - bool copy_old) -{ - u32 old_size = state->allocated_stack; - struct bpf_stack_state *new_stack; - int slot = size / BPF_REG_SIZE; - - if (size <= old_size || !size) { - if (copy_old) - return 0; - state->allocated_stack = slot * BPF_REG_SIZE; - if (!size && old_size) { - kfree(state->stack); - state->stack = NULL; - } - return 0; - } - new_stack = kmalloc_array(slot, sizeof(struct bpf_stack_state), - GFP_KERNEL); - if (!new_stack) - return -ENOMEM; - if (copy_old) { - if (state->stack) - memcpy(new_stack, state->stack, - sizeof(*new_stack) * (old_size / BPF_REG_SIZE)); - memset(new_stack + old_size / BPF_REG_SIZE, 0, - sizeof(*new_stack) * (size - old_size) / BPF_REG_SIZE); - } - state->allocated_stack = slot * BPF_REG_SIZE; - kfree(state->stack); - state->stack = new_stack; - return 0; -} - -static void free_func_state(struct bpf_func_state *state) -{ - if (!state) - return; - kfree(state->stack); - kfree(state); -} - -static void free_verifier_state(struct bpf_verifier_state *state, - bool free_self) -{ - int i; - - for (i = 0; i <= state->curframe; i++) { - free_func_state(state->frame[i]); - state->frame[i] = NULL; - } - if (free_self) - kfree(state); -} - -/* copy verifier state from src to dst growing dst stack space - * when necessary to accommodate larger src stack - */ -static int copy_func_state(struct bpf_func_state *dst, - const struct bpf_func_state *src) -{ - int err; - - err = realloc_func_state(dst, src->allocated_stack, false); - if (err) - return err; - memcpy(dst, src, offsetof(struct bpf_func_state, allocated_stack)); - return copy_stack_state(dst, src); -} - -static int copy_verifier_state(struct bpf_verifier_state *dst_state, - const struct bpf_verifier_state *src) -{ - struct bpf_func_state *dst; - int i, err; - - /* if dst has more stack frames then src frame, free them */ - for (i = src->curframe + 1; i <= dst_state->curframe; i++) { - free_func_state(dst_state->frame[i]); - dst_state->frame[i] = NULL; - } - dst_state->speculative = src->speculative; - dst_state->curframe = src->curframe; - dst_state->parent = src->parent; - for (i = 0; i <= src->curframe; i++) { - dst = dst_state->frame[i]; - if (!dst) { - dst = kzalloc(sizeof(*dst), GFP_KERNEL); - if (!dst) - return -ENOMEM; - dst_state->frame[i] = dst; - } - err = copy_func_state(dst, src->frame[i]); - if (err) - return err; - } - return 0; -} - -static int pop_stack(struct bpf_verifier_env *env, int *prev_insn_idx, - int *insn_idx) -{ - struct bpf_verifier_state *cur = env->cur_state; - struct bpf_verifier_stack_elem *elem, *head = env->head; - int err; - - if (env->head == NULL) - return -ENOENT; - - if (cur) { - err = copy_verifier_state(cur, &head->st); - if (err) - return err; - } - if (insn_idx) - *insn_idx = head->insn_idx; - if (prev_insn_idx) - *prev_insn_idx = head->prev_insn_idx; - elem = head->next; - free_verifier_state(&head->st, false); - kfree(head); - env->head = elem; - env->stack_size--; - return 0; -} - -static struct bpf_verifier_state *push_stack(struct bpf_verifier_env *env, - int insn_idx, int prev_insn_idx, - bool speculative) -{ - struct bpf_verifier_state *cur = env->cur_state; - struct bpf_verifier_stack_elem *elem; - int err; - - elem = kzalloc(sizeof(struct bpf_verifier_stack_elem), GFP_KERNEL); - if (!elem) - goto err; - - elem->insn_idx = insn_idx; - elem->prev_insn_idx = prev_insn_idx; - elem->next = env->head; - env->head = elem; - env->stack_size++; - err = copy_verifier_state(&elem->st, cur); - if (err) - goto err; - elem->st.speculative |= speculative; - if (env->stack_size > BPF_COMPLEXITY_LIMIT_STACK) { - verbose(env, "BPF program is too complex\n"); - goto err; - } - return &elem->st; -err: - free_verifier_state(env->cur_state, true); - env->cur_state = NULL; - /* pop all elements and return */ - while (!pop_stack(env, NULL, NULL)); - return NULL; -} - -#define CALLER_SAVED_REGS 6 -static const int caller_saved[CALLER_SAVED_REGS] = { - BPF_REG_0, BPF_REG_1, BPF_REG_2, BPF_REG_3, BPF_REG_4, BPF_REG_5 -}; - -static void __mark_reg_not_init(struct bpf_reg_state *reg); - -/* Mark the unknown part of a register (variable offset or scalar value) as - * known to have the value @imm. - */ -static void __mark_reg_known(struct bpf_reg_state *reg, u64 imm) -{ - reg->id = 0; - reg->var_off = tnum_const(imm); - reg->smin_value = (s64)imm; - reg->smax_value = (s64)imm; - reg->umin_value = imm; - reg->umax_value = imm; -} - -/* Mark the 'variable offset' part of a register as zero. This should be - * used only on registers holding a pointer type. - */ -static void __mark_reg_known_zero(struct bpf_reg_state *reg) -{ - __mark_reg_known(reg, 0); -} - -static void __mark_reg_const_zero(struct bpf_reg_state *reg) -{ - __mark_reg_known(reg, 0); - reg->off = 0; - reg->type = SCALAR_VALUE; -} - -static void mark_reg_known_zero(struct bpf_verifier_env *env, - struct bpf_reg_state *regs, u32 regno) -{ - if (WARN_ON(regno >= MAX_BPF_REG)) { - verbose(env, "mark_reg_known_zero(regs, %u)\n", regno); - /* Something bad happened, let's kill all regs */ - for (regno = 0; regno < MAX_BPF_REG; regno++) - __mark_reg_not_init(regs + regno); - return; - } - __mark_reg_known_zero(regs + regno); -} - -static bool reg_is_pkt_pointer(const struct bpf_reg_state *reg) -{ - return type_is_pkt_pointer(reg->type); -} - -static bool reg_is_pkt_pointer_any(const struct bpf_reg_state *reg) -{ - return reg_is_pkt_pointer(reg) || - reg->type == PTR_TO_PACKET_END; -} - -/* Unmodified PTR_TO_PACKET[_META,_END] register from ctx access. */ -static bool reg_is_init_pkt_pointer(const struct bpf_reg_state *reg, - enum bpf_reg_type which) -{ - /* The register can already have a range from prior markings. - * This is fine as long as it hasn't been advanced from its - * origin. - */ - return reg->type == which && - reg->id == 0 && - reg->off == 0 && - tnum_equals_const(reg->var_off, 0); -} - -/* Attempts to improve min/max values based on var_off information */ -static void __update_reg_bounds(struct bpf_reg_state *reg) -{ - /* min signed is max(sign bit) | min(other bits) */ - reg->smin_value = max_t(s64, reg->smin_value, - reg->var_off.value | (reg->var_off.mask & S64_MIN)); - /* max signed is min(sign bit) | max(other bits) */ - reg->smax_value = min_t(s64, reg->smax_value, - reg->var_off.value | (reg->var_off.mask & S64_MAX)); - reg->umin_value = max(reg->umin_value, reg->var_off.value); - reg->umax_value = min(reg->umax_value, - reg->var_off.value | reg->var_off.mask); -} - -/* Uses signed min/max values to inform unsigned, and vice-versa */ -static void __reg_deduce_bounds(struct bpf_reg_state *reg) -{ - /* Learn sign from signed bounds. - * If we cannot cross the sign boundary, then signed and unsigned bounds - * are the same, so combine. This works even in the negative case, e.g. - * -3 s<= x s<= -1 implies 0xf...fd u<= x u<= 0xf...ff. - */ - if (reg->smin_value >= 0 || reg->smax_value < 0) { - reg->smin_value = reg->umin_value = max_t(u64, reg->smin_value, - reg->umin_value); - reg->smax_value = reg->umax_value = min_t(u64, reg->smax_value, - reg->umax_value); - return; - } - /* Learn sign from unsigned bounds. Signed bounds cross the sign - * boundary, so we must be careful. - */ - if ((s64)reg->umax_value >= 0) { - /* Positive. We can't learn anything from the smin, but smax - * is positive, hence safe. - */ - reg->smin_value = reg->umin_value; - reg->smax_value = reg->umax_value = min_t(u64, reg->smax_value, - reg->umax_value); - } else if ((s64)reg->umin_value < 0) { - /* Negative. We can't learn anything from the smax, but smin - * is negative, hence safe. - */ - reg->smin_value = reg->umin_value = max_t(u64, reg->smin_value, - reg->umin_value); - reg->smax_value = reg->umax_value; - } -} - -/* Attempts to improve var_off based on unsigned min/max information */ -static void __reg_bound_offset(struct bpf_reg_state *reg) -{ - reg->var_off = tnum_intersect(reg->var_off, - tnum_range(reg->umin_value, - reg->umax_value)); -} - -/* Reset the min/max bounds of a register */ -static void __mark_reg_unbounded(struct bpf_reg_state *reg) -{ - reg->smin_value = S64_MIN; - reg->smax_value = S64_MAX; - reg->umin_value = 0; - reg->umax_value = U64_MAX; -} - -/* Mark a register as having a completely unknown (scalar) value. */ -static void __mark_reg_unknown(struct bpf_reg_state *reg) -{ - reg->type = SCALAR_VALUE; - reg->id = 0; - reg->off = 0; - reg->var_off = tnum_unknown; - reg->frameno = 0; - __mark_reg_unbounded(reg); -} - -static void mark_reg_unknown(struct bpf_verifier_env *env, - struct bpf_reg_state *regs, u32 regno) -{ - if (WARN_ON(regno >= MAX_BPF_REG)) { - verbose(env, "mark_reg_unknown(regs, %u)\n", regno); - /* Something bad happened, let's kill all regs except FP */ - for (regno = 0; regno < BPF_REG_FP; regno++) - __mark_reg_not_init(regs + regno); - return; - } - __mark_reg_unknown(regs + regno); -} - -static void __mark_reg_not_init(struct bpf_reg_state *reg) -{ - __mark_reg_unknown(reg); - reg->type = NOT_INIT; -} - -static void mark_reg_not_init(struct bpf_verifier_env *env, - struct bpf_reg_state *regs, u32 regno) -{ - if (WARN_ON(regno >= MAX_BPF_REG)) { - verbose(env, "mark_reg_not_init(regs, %u)\n", regno); - /* Something bad happened, let's kill all regs except FP */ - for (regno = 0; regno < BPF_REG_FP; regno++) - __mark_reg_not_init(regs + regno); - return; - } - __mark_reg_not_init(regs + regno); -} - -static void init_reg_state(struct bpf_verifier_env *env, - struct bpf_func_state *state) -{ - struct bpf_reg_state *regs = state->regs; - int i; - - for (i = 0; i < MAX_BPF_REG; i++) { - mark_reg_not_init(env, regs, i); - regs[i].live = REG_LIVE_NONE; - } - - /* frame pointer */ - regs[BPF_REG_FP].type = PTR_TO_STACK; - mark_reg_known_zero(env, regs, BPF_REG_FP); - regs[BPF_REG_FP].frameno = state->frameno; - - /* 1st arg to a function */ - regs[BPF_REG_1].type = PTR_TO_CTX; - mark_reg_known_zero(env, regs, BPF_REG_1); -} - -#define BPF_MAIN_FUNC (-1) -static void init_func_state(struct bpf_verifier_env *env, - struct bpf_func_state *state, - int callsite, int frameno, int subprogno) -{ - state->callsite = callsite; - state->frameno = frameno; - state->subprogno = subprogno; - init_reg_state(env, state); -} - -enum reg_arg_type { - SRC_OP, /* register is used as source operand */ - DST_OP, /* register is used as destination operand */ - DST_OP_NO_MARK /* same as above, check only, don't mark */ -}; - -static int cmp_subprogs(const void *a, const void *b) -{ - return ((struct bpf_subprog_info *)a)->start - - ((struct bpf_subprog_info *)b)->start; -} - -static int find_subprog(struct bpf_verifier_env *env, int off) -{ - struct bpf_subprog_info *p; - - p = bsearch(&off, env->subprog_info, env->subprog_cnt, - sizeof(env->subprog_info[0]), cmp_subprogs); - if (!p) - return -ENOENT; - return p - env->subprog_info; - -} - -static int add_subprog(struct bpf_verifier_env *env, int off) -{ - int insn_cnt = env->prog->len; - int ret; - - if (off >= insn_cnt || off < 0) { - verbose(env, "call to invalid destination\n"); - return -EINVAL; - } - ret = find_subprog(env, off); - if (ret >= 0) - return 0; - if (env->subprog_cnt >= BPF_MAX_SUBPROGS) { - verbose(env, "too many subprograms\n"); - return -E2BIG; - } - env->subprog_info[env->subprog_cnt++].start = off; - sort(env->subprog_info, env->subprog_cnt, - sizeof(env->subprog_info[0]), cmp_subprogs, NULL); - return 0; -} - -static int check_subprogs(struct bpf_verifier_env *env) -{ - int i, ret, subprog_start, subprog_end, off, cur_subprog = 0; - struct bpf_subprog_info *subprog = env->subprog_info; - struct bpf_insn *insn = env->prog->insnsi; - int insn_cnt = env->prog->len; - - /* Add entry function. */ - ret = add_subprog(env, 0); - if (ret < 0) - return ret; - - /* determine subprog starts. The end is one before the next starts */ - for (i = 0; i < insn_cnt; i++) { - if (insn[i].code != (BPF_JMP | BPF_CALL)) - continue; - if (insn[i].src_reg != BPF_PSEUDO_CALL) - continue; - if (!env->allow_ptr_leaks) { - verbose(env, "function calls to other bpf functions are allowed for root only\n"); - return -EPERM; - } - if (bpf_prog_is_dev_bound(env->prog->aux)) { - verbose(env, "funcation calls in offloaded programs are not supported yet\n"); - return -EINVAL; - } - ret = add_subprog(env, i + insn[i].imm + 1); - if (ret < 0) - return ret; - } - - /* Add a fake 'exit' subprog which could simplify subprog iteration - * logic. 'subprog_cnt' should not be increased. - */ - subprog[env->subprog_cnt].start = insn_cnt; - - if (env->log.level > 1) - for (i = 0; i < env->subprog_cnt; i++) - verbose(env, "func#%d @%d\n", i, subprog[i].start); - - /* now check that all jumps are within the same subprog */ - subprog_start = subprog[cur_subprog].start; - subprog_end = subprog[cur_subprog + 1].start; - for (i = 0; i < insn_cnt; i++) { - u8 code = insn[i].code; - - if (BPF_CLASS(code) != BPF_JMP) - goto next; - if (BPF_OP(code) == BPF_EXIT || BPF_OP(code) == BPF_CALL) - goto next; - off = i + insn[i].off + 1; - if (off < subprog_start || off >= subprog_end) { - verbose(env, "jump out of range from insn %d to %d\n", i, off); - return -EINVAL; - } -next: - if (i == subprog_end - 1) { - /* to avoid fall-through from one subprog into another - * the last insn of the subprog should be either exit - * or unconditional jump back - */ - if (code != (BPF_JMP | BPF_EXIT) && - code != (BPF_JMP | BPF_JA)) { - verbose(env, "last insn is not an exit or jmp\n"); - return -EINVAL; - } - subprog_start = subprog_end; - cur_subprog++; - if (cur_subprog < env->subprog_cnt) - subprog_end = subprog[cur_subprog + 1].start; - } - } - return 0; -} - -static -struct bpf_verifier_state *skip_callee(struct bpf_verifier_env *env, - const struct bpf_verifier_state *state, - struct bpf_verifier_state *parent, - u32 regno) -{ - struct bpf_verifier_state *tmp = NULL; - - /* 'parent' could be a state of caller and - * 'state' could be a state of callee. In such case - * parent->curframe < state->curframe - * and it's ok for r1 - r5 registers - * - * 'parent' could be a callee's state after it bpf_exit-ed. - * In such case parent->curframe > state->curframe - * and it's ok for r0 only - */ - if (parent->curframe == state->curframe || - (parent->curframe < state->curframe && - regno >= BPF_REG_1 && regno <= BPF_REG_5) || - (parent->curframe > state->curframe && - regno == BPF_REG_0)) - return parent; - - if (parent->curframe > state->curframe && - regno >= BPF_REG_6) { - /* for callee saved regs we have to skip the whole chain - * of states that belong to callee and mark as LIVE_READ - * the registers before the call - */ - tmp = parent; - while (tmp && tmp->curframe != state->curframe) { - tmp = tmp->parent; - } - if (!tmp) - goto bug; - parent = tmp; - } else { - goto bug; - } - return parent; -bug: - verbose(env, "verifier bug regno %d tmp %p\n", regno, tmp); - verbose(env, "regno %d parent frame %d current frame %d\n", - regno, parent->curframe, state->curframe); - return NULL; -} - -static int mark_reg_read(struct bpf_verifier_env *env, - const struct bpf_verifier_state *state, - struct bpf_verifier_state *parent, - u32 regno) -{ - bool writes = parent == state->parent; /* Observe write marks */ - - if (regno == BPF_REG_FP) - /* We don't need to worry about FP liveness because it's read-only */ - return 0; - - while (parent) { - /* if read wasn't screened by an earlier write ... */ - if (writes && state->frame[state->curframe]->regs[regno].live & REG_LIVE_WRITTEN) - break; - parent = skip_callee(env, state, parent, regno); - if (!parent) - return -EFAULT; - /* ... then we depend on parent's value */ - parent->frame[parent->curframe]->regs[regno].live |= REG_LIVE_READ; - state = parent; - parent = state->parent; - writes = true; - } - return 0; -} - -static int check_reg_arg(struct bpf_verifier_env *env, u32 regno, - enum reg_arg_type t) -{ - struct bpf_verifier_state *vstate = env->cur_state; - struct bpf_func_state *state = vstate->frame[vstate->curframe]; - struct bpf_reg_state *regs = state->regs; - - if (regno >= MAX_BPF_REG) { - verbose(env, "R%d is invalid\n", regno); - return -EINVAL; - } - - if (t == SRC_OP) { - /* check whether register used as source operand can be read */ - if (regs[regno].type == NOT_INIT) { - verbose(env, "R%d !read_ok\n", regno); - return -EACCES; - } - return mark_reg_read(env, vstate, vstate->parent, regno); - } else { - /* check whether register used as dest operand can be written to */ - if (regno == BPF_REG_FP) { - verbose(env, "frame pointer is read only\n"); - return -EACCES; - } - regs[regno].live |= REG_LIVE_WRITTEN; - if (t == DST_OP) - mark_reg_unknown(env, regs, regno); - } - return 0; -} - -static bool is_spillable_regtype(enum bpf_reg_type type) -{ - switch (type) { - case PTR_TO_MAP_VALUE: - case PTR_TO_MAP_VALUE_OR_NULL: - case PTR_TO_STACK: - case PTR_TO_CTX: - case PTR_TO_PACKET: - case PTR_TO_PACKET_META: - case PTR_TO_PACKET_END: - case CONST_PTR_TO_MAP: - return true; - default: - return false; - } -} - -/* Does this register contain a constant zero? */ -static bool register_is_null(struct bpf_reg_state *reg) -{ - return reg->type == SCALAR_VALUE && tnum_equals_const(reg->var_off, 0); -} - -/* check_stack_read/write functions track spill/fill of registers, - * stack boundary and alignment are checked in check_mem_access() - */ -static int check_stack_write(struct bpf_verifier_env *env, - struct bpf_func_state *state, /* func where register points to */ - int off, int size, int value_regno, int insn_idx) -{ - struct bpf_func_state *cur; /* state of the current function */ - int i, slot = -off - 1, spi = slot / BPF_REG_SIZE, err; - enum bpf_reg_type type; - - err = realloc_func_state(state, round_up(slot + 1, BPF_REG_SIZE), - true); - if (err) - return err; - /* caller checked that off % size == 0 and -MAX_BPF_STACK <= off < 0, - * so it's aligned access and [off, off + size) are within stack limits - */ - if (!env->allow_ptr_leaks && - state->stack[spi].slot_type[0] == STACK_SPILL && - size != BPF_REG_SIZE) { - verbose(env, "attempt to corrupt spilled pointer on stack\n"); - return -EACCES; - } - - cur = env->cur_state->frame[env->cur_state->curframe]; - if (value_regno >= 0 && - is_spillable_regtype((type = cur->regs[value_regno].type))) { - - /* register containing pointer is being spilled into stack */ - if (size != BPF_REG_SIZE) { - verbose(env, "invalid size of register spill\n"); - return -EACCES; - } - - if (state != cur && type == PTR_TO_STACK) { - verbose(env, "cannot spill pointers to stack into stack frame of the caller\n"); - return -EINVAL; - } - - /* save register state */ - state->stack[spi].spilled_ptr = cur->regs[value_regno]; - state->stack[spi].spilled_ptr.live |= REG_LIVE_WRITTEN; - - for (i = 0; i < BPF_REG_SIZE; i++) { - if (state->stack[spi].slot_type[i] == STACK_MISC && - !env->allow_ptr_leaks) { - int *poff = &env->insn_aux_data[insn_idx].sanitize_stack_off; - int soff = (-spi - 1) * BPF_REG_SIZE; - - /* detected reuse of integer stack slot with a pointer - * which means either llvm is reusing stack slot or - * an attacker is trying to exploit CVE-2018-3639 - * (speculative store bypass) - * Have to sanitize that slot with preemptive - * store of zero. - */ - if (*poff && *poff != soff) { - /* disallow programs where single insn stores - * into two different stack slots, since verifier - * cannot sanitize them - */ - verbose(env, - "insn %d cannot access two stack slots fp%d and fp%d", - insn_idx, *poff, soff); - return -EINVAL; - } - *poff = soff; - } - state->stack[spi].slot_type[i] = STACK_SPILL; - } - } else { - u8 type = STACK_MISC; - - /* regular write of data into stack */ - state->stack[spi].spilled_ptr = (struct bpf_reg_state) {}; - - /* only mark the slot as written if all 8 bytes were written - * otherwise read propagation may incorrectly stop too soon - * when stack slots are partially written. - * This heuristic means that read propagation will be - * conservative, since it will add reg_live_read marks - * to stack slots all the way to first state when programs - * writes+reads less than 8 bytes - */ - if (size == BPF_REG_SIZE) - state->stack[spi].spilled_ptr.live |= REG_LIVE_WRITTEN; - - /* when we zero initialize stack slots mark them as such */ - if (value_regno >= 0 && - register_is_null(&cur->regs[value_regno])) - type = STACK_ZERO; - - for (i = 0; i < size; i++) - state->stack[spi].slot_type[(slot - i) % BPF_REG_SIZE] = - type; - } - return 0; -} - -/* registers of every function are unique and mark_reg_read() propagates - * the liveness in the following cases: - * - from callee into caller for R1 - R5 that were used as arguments - * - from caller into callee for R0 that used as result of the call - * - from caller to the same caller skipping states of the callee for R6 - R9, - * since R6 - R9 are callee saved by implicit function prologue and - * caller's R6 != callee's R6, so when we propagate liveness up to - * parent states we need to skip callee states for R6 - R9. - * - * stack slot marking is different, since stacks of caller and callee are - * accessible in both (since caller can pass a pointer to caller's stack to - * callee which can pass it to another function), hence mark_stack_slot_read() - * has to propagate the stack liveness to all parent states at given frame number. - * Consider code: - * f1() { - * ptr = fp - 8; - * *ptr = ctx; - * call f2 { - * .. = *ptr; - * } - * .. = *ptr; - * } - * First *ptr is reading from f1's stack and mark_stack_slot_read() has - * to mark liveness at the f1's frame and not f2's frame. - * Second *ptr is also reading from f1's stack and mark_stack_slot_read() has - * to propagate liveness to f2 states at f1's frame level and further into - * f1 states at f1's frame level until write into that stack slot - */ -static void mark_stack_slot_read(struct bpf_verifier_env *env, - const struct bpf_verifier_state *state, - struct bpf_verifier_state *parent, - int slot, int frameno) -{ - bool writes = parent == state->parent; /* Observe write marks */ - - while (parent) { - if (parent->frame[frameno]->allocated_stack <= slot * BPF_REG_SIZE) - /* since LIVE_WRITTEN mark is only done for full 8-byte - * write the read marks are conservative and parent - * state may not even have the stack allocated. In such case - * end the propagation, since the loop reached beginning - * of the function - */ - break; - /* if read wasn't screened by an earlier write ... */ - if (writes && state->frame[frameno]->stack[slot].spilled_ptr.live & REG_LIVE_WRITTEN) - break; - /* ... then we depend on parent's value */ - parent->frame[frameno]->stack[slot].spilled_ptr.live |= REG_LIVE_READ; - state = parent; - parent = state->parent; - writes = true; - } -} - -static int check_stack_read(struct bpf_verifier_env *env, - struct bpf_func_state *reg_state /* func where register points to */, - int off, int size, int value_regno) -{ - struct bpf_verifier_state *vstate = env->cur_state; - struct bpf_func_state *state = vstate->frame[vstate->curframe]; - int i, slot = -off - 1, spi = slot / BPF_REG_SIZE; - u8 *stype; - - if (reg_state->allocated_stack <= slot) { - verbose(env, "invalid read from stack off %d+0 size %d\n", - off, size); - return -EACCES; - } - stype = reg_state->stack[spi].slot_type; - - if (stype[0] == STACK_SPILL) { - if (size != BPF_REG_SIZE) { - verbose(env, "invalid size of register spill\n"); - return -EACCES; - } - for (i = 1; i < BPF_REG_SIZE; i++) { - if (stype[(slot - i) % BPF_REG_SIZE] != STACK_SPILL) { - verbose(env, "corrupted spill memory\n"); - return -EACCES; - } - } - - if (value_regno >= 0) { - /* restore register state from stack */ - state->regs[value_regno] = reg_state->stack[spi].spilled_ptr; - /* mark reg as written since spilled pointer state likely - * has its liveness marks cleared by is_state_visited() - * which resets stack/reg liveness for state transitions - */ - state->regs[value_regno].live |= REG_LIVE_WRITTEN; - } - mark_stack_slot_read(env, vstate, vstate->parent, spi, - reg_state->frameno); - return 0; - } else { - int zeros = 0; - - for (i = 0; i < size; i++) { - if (stype[(slot - i) % BPF_REG_SIZE] == STACK_MISC) - continue; - if (stype[(slot - i) % BPF_REG_SIZE] == STACK_ZERO) { - zeros++; - continue; - } - verbose(env, "invalid read from stack off %d+%d size %d\n", - off, i, size); - return -EACCES; - } - mark_stack_slot_read(env, vstate, vstate->parent, spi, - reg_state->frameno); - if (value_regno >= 0) { - if (zeros == size) { - /* any size read into register is zero extended, - * so the whole register == const_zero - */ - __mark_reg_const_zero(&state->regs[value_regno]); - } else { - /* have read misc data from the stack */ - mark_reg_unknown(env, state->regs, value_regno); - } - state->regs[value_regno].live |= REG_LIVE_WRITTEN; - } - return 0; - } -} - -/* check read/write into map element returned by bpf_map_lookup_elem() */ -static int __check_map_access(struct bpf_verifier_env *env, u32 regno, int off, - int size, bool zero_size_allowed) -{ - struct bpf_reg_state *regs = cur_regs(env); - struct bpf_map *map = regs[regno].map_ptr; - - if (off < 0 || size < 0 || (size == 0 && !zero_size_allowed) || - off + size > map->value_size) { - verbose(env, "invalid access to map value, value_size=%d off=%d size=%d\n", - map->value_size, off, size); - return -EACCES; - } - return 0; -} - -/* check read/write into a map element with possible variable offset */ -static int check_map_access(struct bpf_verifier_env *env, u32 regno, - int off, int size, bool zero_size_allowed) -{ - struct bpf_verifier_state *vstate = env->cur_state; - struct bpf_func_state *state = vstate->frame[vstate->curframe]; - struct bpf_reg_state *reg = &state->regs[regno]; - int err; - - /* We may have adjusted the register to this map value, so we - * need to try adding each of min_value and max_value to off - * to make sure our theoretical access will be safe. - */ - if (env->log.level) - print_verifier_state(env, state); - /* The minimum value is only important with signed - * comparisons where we can't assume the floor of a - * value is 0. If we are using signed variables for our - * index'es we need to make sure that whatever we use - * will have a set floor within our range. - */ - if (reg->smin_value < 0) { - verbose(env, "R%d min value is negative, either use unsigned index or do a if (index >=0) check.\n", - regno); - return -EACCES; - } - err = __check_map_access(env, regno, reg->smin_value + off, size, - zero_size_allowed); - if (err) { - verbose(env, "R%d min value is outside of the array range\n", - regno); - return err; - } - - /* If we haven't set a max value then we need to bail since we can't be - * sure we won't do bad things. - * If reg->umax_value + off could overflow, treat that as unbounded too. - */ - if (reg->umax_value >= BPF_MAX_VAR_OFF) { - verbose(env, "R%d unbounded memory access, make sure to bounds check any array access into a map\n", - regno); - return -EACCES; - } - err = __check_map_access(env, regno, reg->umax_value + off, size, - zero_size_allowed); - if (err) - verbose(env, "R%d max value is outside of the array range\n", - regno); - return err; -} - -#define MAX_PACKET_OFF 0xffff - -static bool may_access_direct_pkt_data(struct bpf_verifier_env *env, - const struct bpf_call_arg_meta *meta, - enum bpf_access_type t) -{ - switch (env->prog->type) { - case BPF_PROG_TYPE_LWT_IN: - case BPF_PROG_TYPE_LWT_OUT: - /* dst_input() and dst_output() can't write for now */ - if (t == BPF_WRITE) - return false; - /* fallthrough */ - case BPF_PROG_TYPE_SCHED_CLS: - case BPF_PROG_TYPE_SCHED_ACT: - case BPF_PROG_TYPE_XDP: - case BPF_PROG_TYPE_LWT_XMIT: - if (meta) - return meta->pkt_access; - - env->seen_direct_write = true; - return true; - default: - return false; - } -} - -static int __check_packet_access(struct bpf_verifier_env *env, u32 regno, - int off, int size, bool zero_size_allowed) -{ - struct bpf_reg_state *regs = cur_regs(env); - struct bpf_reg_state *reg = ®s[regno]; - - if (off < 0 || size < 0 || (size == 0 && !zero_size_allowed) || - (u64)off + size > reg->range) { - verbose(env, "invalid access to packet, off=%d size=%d, R%d(id=%d,off=%d,r=%d)\n", - off, size, regno, reg->id, reg->off, reg->range); - return -EACCES; - } - return 0; -} - -static int check_packet_access(struct bpf_verifier_env *env, u32 regno, int off, - int size, bool zero_size_allowed) -{ - struct bpf_reg_state *regs = cur_regs(env); - struct bpf_reg_state *reg = ®s[regno]; - int err; - - /* We may have added a variable offset to the packet pointer; but any - * reg->range we have comes after that. We are only checking the fixed - * offset. - */ - - /* We don't allow negative numbers, because we aren't tracking enough - * detail to prove they're safe. - */ - if (reg->smin_value < 0) { - verbose(env, "R%d min value is negative, either use unsigned index or do a if (index >=0) check.\n", - regno); - return -EACCES; - } - err = __check_packet_access(env, regno, off, size, zero_size_allowed); - if (err) { - verbose(env, "R%d offset is outside of the packet\n", regno); - return err; - } - return err; -} - -/* check access to 'struct bpf_context' fields. Supports fixed offsets only */ -static int check_ctx_access(struct bpf_verifier_env *env, int insn_idx, int off, int size, - enum bpf_access_type t, enum bpf_reg_type *reg_type) -{ - struct bpf_insn_access_aux info = { - .reg_type = *reg_type, - }; - - if (env->ops->is_valid_access && - env->ops->is_valid_access(off, size, t, env->prog, &info)) { - /* A non zero info.ctx_field_size indicates that this field is a - * candidate for later verifier transformation to load the whole - * field and then apply a mask when accessed with a narrower - * access than actual ctx access size. A zero info.ctx_field_size - * will only allow for whole field access and rejects any other - * type of narrower access. - */ - *reg_type = info.reg_type; - - if (env->analyzer_ops) - return 0; - - env->insn_aux_data[insn_idx].ctx_field_size = info.ctx_field_size; - /* remember the offset of last byte accessed in ctx */ - if (env->prog->aux->max_ctx_offset < off + size) - env->prog->aux->max_ctx_offset = off + size; - return 0; - } - - verbose(env, "invalid bpf_context access off=%d size=%d\n", off, size); - return -EACCES; -} - -static bool __is_pointer_value(bool allow_ptr_leaks, - const struct bpf_reg_state *reg) -{ - if (allow_ptr_leaks) - return false; - - return reg->type != SCALAR_VALUE; -} - -static bool is_pointer_value(struct bpf_verifier_env *env, int regno) -{ - return __is_pointer_value(env->allow_ptr_leaks, cur_regs(env) + regno); -} - -static bool is_ctx_reg(struct bpf_verifier_env *env, int regno) -{ - const struct bpf_reg_state *reg = cur_regs(env) + regno; - - return reg->type == PTR_TO_CTX; -} - -static bool is_pkt_reg(struct bpf_verifier_env *env, int regno) -{ - const struct bpf_reg_state *reg = cur_regs(env) + regno; - - return type_is_pkt_pointer(reg->type); -} - -static int check_pkt_ptr_alignment(struct bpf_verifier_env *env, - const struct bpf_reg_state *reg, - int off, int size, bool strict) -{ - struct tnum reg_off; - int ip_align; - - /* Byte size accesses are always allowed. */ - if (!strict || size == 1) - return 0; - - /* For platforms that do not have a Kconfig enabling - * CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS the value of - * NET_IP_ALIGN is universally set to '2'. And on platforms - * that do set CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS, we get - * to this code only in strict mode where we want to emulate - * the NET_IP_ALIGN==2 checking. Therefore use an - * unconditional IP align value of '2'. - */ - ip_align = 2; - - reg_off = tnum_add(reg->var_off, tnum_const(ip_align + reg->off + off)); - if (!tnum_is_aligned(reg_off, size)) { - char tn_buf[48]; - - tnum_strn(tn_buf, sizeof(tn_buf), reg->var_off); - verbose(env, - "misaligned packet access off %d+%s+%d+%d size %d\n", - ip_align, tn_buf, reg->off, off, size); - return -EACCES; - } - - return 0; -} - -static int check_generic_ptr_alignment(struct bpf_verifier_env *env, - const struct bpf_reg_state *reg, - const char *pointer_desc, - int off, int size, bool strict) -{ - struct tnum reg_off; - - /* Byte size accesses are always allowed. */ - if (!strict || size == 1) - return 0; - - reg_off = tnum_add(reg->var_off, tnum_const(reg->off + off)); - if (!tnum_is_aligned(reg_off, size)) { - char tn_buf[48]; - - tnum_strn(tn_buf, sizeof(tn_buf), reg->var_off); - verbose(env, "misaligned %saccess off %s+%d+%d size %d\n", - pointer_desc, tn_buf, reg->off, off, size); - return -EACCES; - } - - return 0; -} - -static int check_ptr_alignment(struct bpf_verifier_env *env, - const struct bpf_reg_state *reg, int off, - int size, bool strict_alignment_once) -{ - bool strict = env->strict_alignment || strict_alignment_once; - const char *pointer_desc = ""; - - switch (reg->type) { - case PTR_TO_PACKET: - case PTR_TO_PACKET_META: - /* Special case, because of NET_IP_ALIGN. Given metadata sits - * right in front, treat it the very same way. - */ - return check_pkt_ptr_alignment(env, reg, off, size, strict); - case PTR_TO_MAP_VALUE: - pointer_desc = "value "; - break; - case PTR_TO_CTX: - pointer_desc = "context "; - break; - case PTR_TO_STACK: - pointer_desc = "stack "; - /* The stack spill tracking logic in check_stack_write() - * and check_stack_read() relies on stack accesses being - * aligned. - */ - strict = true; - break; - default: - break; - } - return check_generic_ptr_alignment(env, reg, pointer_desc, off, size, - strict); -} - -static int update_stack_depth(struct bpf_verifier_env *env, - const struct bpf_func_state *func, - int off) -{ - u16 stack = env->subprog_info[func->subprogno].stack_depth; - - if (stack >= -off) - return 0; - - /* update known max for given subprogram */ - env->subprog_info[func->subprogno].stack_depth = -off; - return 0; -} - -/* starting from main bpf function walk all instructions of the function - * and recursively walk all callees that given function can call. - * Ignore jump and exit insns. - * Since recursion is prevented by check_cfg() this algorithm - * only needs a local stack of MAX_CALL_FRAMES to remember callsites - */ -static int check_max_stack_depth(struct bpf_verifier_env *env) -{ - int depth = 0, frame = 0, idx = 0, i = 0, subprog_end; - struct bpf_subprog_info *subprog = env->subprog_info; - struct bpf_insn *insn = env->prog->insnsi; - int ret_insn[MAX_CALL_FRAMES]; - int ret_prog[MAX_CALL_FRAMES]; - -process_func: - /* round up to 32-bytes, since this is granularity - * of interpreter stack size - */ - depth += round_up(max_t(u32, subprog[idx].stack_depth, 1), 32); - if (depth > MAX_BPF_STACK) { - verbose(env, "combined stack size of %d calls is %d. Too large\n", - frame + 1, depth); - return -EACCES; - } -continue_func: - subprog_end = subprog[idx + 1].start; - for (; i < subprog_end; i++) { - if (insn[i].code != (BPF_JMP | BPF_CALL)) - continue; - if (insn[i].src_reg != BPF_PSEUDO_CALL) - continue; - /* remember insn and function to return to */ - ret_insn[frame] = i + 1; - ret_prog[frame] = idx; - - /* find the callee */ - i = i + insn[i].imm + 1; - idx = find_subprog(env, i); - if (idx < 0) { - WARN_ONCE(1, "verifier bug. No program starts at insn %d\n", - i); - return -EFAULT; - } - frame++; - if (frame >= MAX_CALL_FRAMES) { - WARN_ONCE(1, "verifier bug. Call stack is too deep\n"); - return -EFAULT; - } - goto process_func; - } - /* end of for() loop means the last insn of the 'subprog' - * was reached. Doesn't matter whether it was JA or EXIT - */ - if (frame == 0) - return 0; - depth -= round_up(max_t(u32, subprog[idx].stack_depth, 1), 32); - frame--; - i = ret_insn[frame]; - idx = ret_prog[frame]; - goto continue_func; -} - -#ifndef CONFIG_BPF_JIT_ALWAYS_ON -static int get_callee_stack_depth(struct bpf_verifier_env *env, - const struct bpf_insn *insn, int idx) -{ - int start = idx + insn->imm + 1, subprog; - - subprog = find_subprog(env, start); - if (subprog < 0) { - WARN_ONCE(1, "verifier bug. No program starts at insn %d\n", - start); - return -EFAULT; - } - return env->subprog_info[subprog].stack_depth; -} -#endif - -static int check_ctx_reg(struct bpf_verifier_env *env, - const struct bpf_reg_state *reg, int regno) -{ - /* Access to ctx or passing it to a helper is only allowed in - * its original, unmodified form. - */ - - if (reg->off) { - verbose(env, "dereference of modified ctx ptr R%d off=%d disallowed\n", - regno, reg->off); - return -EACCES; - } - - if (!tnum_is_const(reg->var_off) || reg->var_off.value) { - char tn_buf[48]; - - tnum_strn(tn_buf, sizeof(tn_buf), reg->var_off); - verbose(env, "variable ctx access var_off=%s disallowed\n", tn_buf); - return -EACCES; - } - - return 0; -} - -/* truncate register to smaller size (in bytes) - * must be called with size < BPF_REG_SIZE - */ -static void coerce_reg_to_size(struct bpf_reg_state *reg, int size) -{ - u64 mask; - - /* clear high bits in bit representation */ - reg->var_off = tnum_cast(reg->var_off, size); - - /* fix arithmetic bounds */ - mask = ((u64)1 << (size * 8)) - 1; - if ((reg->umin_value & ~mask) == (reg->umax_value & ~mask)) { - reg->umin_value &= mask; - reg->umax_value &= mask; - } else { - reg->umin_value = 0; - reg->umax_value = mask; - } - reg->smin_value = reg->umin_value; - reg->smax_value = reg->umax_value; -} - -/* check whether memory at (regno + off) is accessible for t = (read | write) - * if t==write, value_regno is a register which value is stored into memory - * if t==read, value_regno is a register which will receive the value from memory - * if t==write && value_regno==-1, some unknown value is stored into memory - * if t==read && value_regno==-1, don't care what we read from memory - */ -static int check_mem_access(struct bpf_verifier_env *env, int insn_idx, u32 regno, - int off, int bpf_size, enum bpf_access_type t, - int value_regno, bool strict_alignment_once) -{ - struct bpf_reg_state *regs = cur_regs(env); - struct bpf_reg_state *reg = regs + regno; - struct bpf_func_state *state; - int size, err = 0; - - size = bpf_size_to_bytes(bpf_size); - if (size < 0) - return size; - - /* alignment checks will add in reg->off themselves */ - err = check_ptr_alignment(env, reg, off, size, strict_alignment_once); - if (err) - return err; - - /* for access checks, reg->off is just part of off */ - off += reg->off; - - if (reg->type == PTR_TO_MAP_VALUE) { - if (t == BPF_WRITE && value_regno >= 0 && - is_pointer_value(env, value_regno)) { - verbose(env, "R%d leaks addr into map\n", value_regno); - return -EACCES; - } - - err = check_map_access(env, regno, off, size, false); - if (!err && t == BPF_READ && value_regno >= 0) - mark_reg_unknown(env, regs, value_regno); - - } else if (reg->type == PTR_TO_CTX) { - enum bpf_reg_type reg_type = SCALAR_VALUE; - - if (t == BPF_WRITE && value_regno >= 0 && - is_pointer_value(env, value_regno)) { - verbose(env, "R%d leaks addr into ctx\n", value_regno); - return -EACCES; - } - - err = check_ctx_reg(env, reg, regno); - if (err < 0) - return err; - - err = check_ctx_access(env, insn_idx, off, size, t, ®_type); - if (!err && t == BPF_READ && value_regno >= 0) { - /* ctx access returns either a scalar, or a - * PTR_TO_PACKET[_META,_END]. In the latter - * case, we know the offset is zero. - */ - if (reg_type == SCALAR_VALUE) - mark_reg_unknown(env, regs, value_regno); - else - mark_reg_known_zero(env, regs, - value_regno); - regs[value_regno].id = 0; - regs[value_regno].off = 0; - regs[value_regno].range = 0; - regs[value_regno].type = reg_type; - } - - } else if (reg->type == PTR_TO_STACK) { - /* stack accesses must be at a fixed offset, so that we can - * determine what type of data were returned. - * See check_stack_read(). - */ - if (!tnum_is_const(reg->var_off)) { - char tn_buf[48]; - - tnum_strn(tn_buf, sizeof(tn_buf), reg->var_off); - verbose(env, "variable stack access var_off=%s off=%d size=%d", - tn_buf, off, size); - return -EACCES; - } - off += reg->var_off.value; - if (off >= 0 || off < -MAX_BPF_STACK) { - verbose(env, "invalid stack off=%d size=%d\n", off, - size); - return -EACCES; - } - - state = func(env, reg); - err = update_stack_depth(env, state, off); - if (err) - return err; - - if (t == BPF_WRITE) - err = check_stack_write(env, state, off, size, - value_regno, insn_idx); - else - err = check_stack_read(env, state, off, size, - value_regno); - } else if (reg_is_pkt_pointer(reg)) { - if (t == BPF_WRITE && !may_access_direct_pkt_data(env, NULL, t)) { - verbose(env, "cannot write into packet\n"); - return -EACCES; - } - if (t == BPF_WRITE && value_regno >= 0 && - is_pointer_value(env, value_regno)) { - verbose(env, "R%d leaks addr into packet\n", - value_regno); - return -EACCES; - } - err = check_packet_access(env, regno, off, size, false); - if (!err && t == BPF_READ && value_regno >= 0) - mark_reg_unknown(env, regs, value_regno); - } else { - verbose(env, "R%d invalid mem access '%s'\n", regno, - reg_type_str[reg->type]); - return -EACCES; - } - - if (!err && size < BPF_REG_SIZE && value_regno >= 0 && t == BPF_READ && - regs[value_regno].type == SCALAR_VALUE) { - /* b/h/w load zero-extends, mark upper bits as known 0 */ - coerce_reg_to_size(®s[value_regno], size); - } - return err; -} - -static int check_xadd(struct bpf_verifier_env *env, int insn_idx, struct bpf_insn *insn) -{ - int err; - - if ((BPF_SIZE(insn->code) != BPF_W && BPF_SIZE(insn->code) != BPF_DW) || - insn->imm != 0) { - verbose(env, "BPF_XADD uses reserved fields\n"); - return -EINVAL; - } - - /* check src1 operand */ - err = check_reg_arg(env, insn->src_reg, SRC_OP); - if (err) - return err; - - /* check src2 operand */ - err = check_reg_arg(env, insn->dst_reg, SRC_OP); - if (err) - return err; - - if (is_pointer_value(env, insn->src_reg)) { - verbose(env, "R%d leaks addr into mem\n", insn->src_reg); - return -EACCES; - } - - if (is_ctx_reg(env, insn->dst_reg) || - is_pkt_reg(env, insn->dst_reg)) { - verbose(env, "BPF_XADD stores into R%d %s is not allowed\n", - insn->dst_reg, is_ctx_reg(env, insn->dst_reg) ? - "context" : "packet"); - return -EACCES; - } - - /* check whether atomic_add can read the memory */ - err = check_mem_access(env, insn_idx, insn->dst_reg, insn->off, - BPF_SIZE(insn->code), BPF_READ, -1, true); - if (err) - return err; - - /* check whether atomic_add can write into the same memory */ - return check_mem_access(env, insn_idx, insn->dst_reg, insn->off, - BPF_SIZE(insn->code), BPF_WRITE, -1, true); -} - -/* when register 'regno' is passed into function that will read 'access_size' - * bytes from that pointer, make sure that it's within stack boundary - * and all elements of stack are initialized. - * Unlike most pointer bounds-checking functions, this one doesn't take an - * 'off' argument, so it has to add in reg->off itself. - */ -static int check_stack_boundary(struct bpf_verifier_env *env, int regno, - int access_size, bool zero_size_allowed, - struct bpf_call_arg_meta *meta) -{ - struct bpf_reg_state *reg = cur_regs(env) + regno; - struct bpf_func_state *state = func(env, reg); - int off, i, slot, spi; - - if (reg->type != PTR_TO_STACK) { - /* Allow zero-byte read from NULL, regardless of pointer type */ - if (zero_size_allowed && access_size == 0 && - register_is_null(reg)) - return 0; - - verbose(env, "R%d type=%s expected=%s\n", regno, - reg_type_str[reg->type], - reg_type_str[PTR_TO_STACK]); - return -EACCES; - } - - /* Only allow fixed-offset stack reads */ - if (!tnum_is_const(reg->var_off)) { - char tn_buf[48]; - - tnum_strn(tn_buf, sizeof(tn_buf), reg->var_off); - verbose(env, "invalid variable stack read R%d var_off=%s\n", - regno, tn_buf); - return -EACCES; - } - off = reg->off + reg->var_off.value; - if (off >= 0 || off < -MAX_BPF_STACK || off + access_size > 0 || - access_size < 0 || (access_size == 0 && !zero_size_allowed)) { - verbose(env, "invalid stack type R%d off=%d access_size=%d\n", - regno, off, access_size); - return -EACCES; - } - - if (meta && meta->raw_mode) { - meta->access_size = access_size; - meta->regno = regno; - return 0; - } - - for (i = 0; i < access_size; i++) { - u8 *stype; - - slot = -(off + i) - 1; - spi = slot / BPF_REG_SIZE; - if (state->allocated_stack <= slot) - goto err; - stype = &state->stack[spi].slot_type[slot % BPF_REG_SIZE]; - if (*stype == STACK_MISC) - goto mark; - if (*stype == STACK_ZERO) { - /* helper can write anything into the stack */ - *stype = STACK_MISC; - goto mark; - } -err: - verbose(env, "invalid indirect read from stack off %d+%d size %d\n", - off, i, access_size); - return -EACCES; -mark: - /* reading any byte out of 8-byte 'spill_slot' will cause - * the whole slot to be marked as 'read' - */ - mark_stack_slot_read(env, env->cur_state, env->cur_state->parent, - spi, state->frameno); - } - return update_stack_depth(env, state, off); -} - -static int check_helper_mem_access(struct bpf_verifier_env *env, int regno, - int access_size, bool zero_size_allowed, - struct bpf_call_arg_meta *meta) -{ - struct bpf_reg_state *regs = cur_regs(env), *reg = ®s[regno]; - - switch (reg->type) { - case PTR_TO_PACKET: - case PTR_TO_PACKET_META: - return check_packet_access(env, regno, reg->off, access_size, - zero_size_allowed); - case PTR_TO_MAP_VALUE: - return check_map_access(env, regno, reg->off, access_size, - zero_size_allowed); - default: /* scalar_value|ptr_to_stack or invalid ptr */ - return check_stack_boundary(env, regno, access_size, - zero_size_allowed, meta); - } -} - -static bool arg_type_is_mem_ptr(enum bpf_arg_type type) -{ - return type == ARG_PTR_TO_MEM || - type == ARG_PTR_TO_MEM_OR_NULL || - type == ARG_PTR_TO_UNINIT_MEM; -} - -static bool arg_type_is_mem_size(enum bpf_arg_type type) -{ - return type == ARG_CONST_SIZE || - type == ARG_CONST_SIZE_OR_ZERO; -} - -static int check_func_arg(struct bpf_verifier_env *env, u32 regno, - enum bpf_arg_type arg_type, - struct bpf_call_arg_meta *meta) -{ - struct bpf_reg_state *regs = cur_regs(env), *reg = ®s[regno]; - enum bpf_reg_type expected_type, type = reg->type; - int err = 0; - - if (arg_type == ARG_DONTCARE) - return 0; - - err = check_reg_arg(env, regno, SRC_OP); - if (err) - return err; - - if (arg_type == ARG_ANYTHING) { - if (is_pointer_value(env, regno)) { - verbose(env, "R%d leaks addr into helper function\n", - regno); - return -EACCES; - } - return 0; - } - - if (type_is_pkt_pointer(type) && - !may_access_direct_pkt_data(env, meta, BPF_READ)) { - verbose(env, "helper access to the packet is not allowed\n"); - return -EACCES; - } - - if (arg_type == ARG_PTR_TO_MAP_KEY || - arg_type == ARG_PTR_TO_MAP_VALUE) { - expected_type = PTR_TO_STACK; - if (!type_is_pkt_pointer(type) && type != PTR_TO_MAP_VALUE && - type != expected_type) - goto err_type; - } else if (arg_type == ARG_CONST_SIZE || - arg_type == ARG_CONST_SIZE_OR_ZERO) { - expected_type = SCALAR_VALUE; - if (type != expected_type) - goto err_type; - } else if (arg_type == ARG_CONST_MAP_PTR) { - expected_type = CONST_PTR_TO_MAP; - if (type != expected_type) - goto err_type; - } else if (arg_type == ARG_PTR_TO_CTX) { - expected_type = PTR_TO_CTX; - if (type != expected_type) - goto err_type; - err = check_ctx_reg(env, reg, regno); - if (err < 0) - return err; - } else if (arg_type_is_mem_ptr(arg_type)) { - expected_type = PTR_TO_STACK; - /* One exception here. In case function allows for NULL to be - * passed in as argument, it's a SCALAR_VALUE type. Final test - * happens during stack boundary checking. - */ - if (register_is_null(reg) && - arg_type == ARG_PTR_TO_MEM_OR_NULL) - /* final test in check_stack_boundary() */; - else if (!type_is_pkt_pointer(type) && - type != PTR_TO_MAP_VALUE && - type != expected_type) - goto err_type; - meta->raw_mode = arg_type == ARG_PTR_TO_UNINIT_MEM; - } else { - verbose(env, "unsupported arg_type %d\n", arg_type); - return -EFAULT; - } - - if (arg_type == ARG_CONST_MAP_PTR) { - /* bpf_map_xxx(map_ptr) call: remember that map_ptr */ - meta->map_ptr = reg->map_ptr; - } else if (arg_type == ARG_PTR_TO_MAP_KEY) { - /* bpf_map_xxx(..., map_ptr, ..., key) call: - * check that [key, key + map->key_size) are within - * stack limits and initialized - */ - if (!meta->map_ptr) { - /* in function declaration map_ptr must come before - * map_key, so that it's verified and known before - * we have to check map_key here. Otherwise it means - * that kernel subsystem misconfigured verifier - */ - verbose(env, "invalid map_ptr to access map->key\n"); - return -EACCES; - } - err = check_helper_mem_access(env, regno, - meta->map_ptr->key_size, false, - NULL); - } else if (arg_type == ARG_PTR_TO_MAP_VALUE) { - /* bpf_map_xxx(..., map_ptr, ..., value) call: - * check [value, value + map->value_size) validity - */ - if (!meta->map_ptr) { - /* kernel subsystem misconfigured verifier */ - verbose(env, "invalid map_ptr to access map->value\n"); - return -EACCES; - } - err = check_helper_mem_access(env, regno, - meta->map_ptr->value_size, false, - NULL); - } else if (arg_type_is_mem_size(arg_type)) { - bool zero_size_allowed = (arg_type == ARG_CONST_SIZE_OR_ZERO); - - /* remember the mem_size which may be used later - * to refine return values. - */ - meta->msize_smax_value = reg->smax_value; - meta->msize_umax_value = reg->umax_value; - - /* The register is SCALAR_VALUE; the access check - * happens using its boundaries. - */ - if (!tnum_is_const(reg->var_off)) - /* For unprivileged variable accesses, disable raw - * mode so that the program is required to - * initialize all the memory that the helper could - * just partially fill up. - */ - meta = NULL; - - if (reg->smin_value < 0) { - verbose(env, "R%d min value is negative, either use unsigned or 'var &= const'\n", - regno); - return -EACCES; - } - - if (reg->umin_value == 0) { - err = check_helper_mem_access(env, regno - 1, 0, - zero_size_allowed, - meta); - if (err) - return err; - } - - if (reg->umax_value >= BPF_MAX_VAR_SIZ) { - verbose(env, "R%d unbounded memory access, use 'var &= const' or 'if (var < const)'\n", - regno); - return -EACCES; - } - err = check_helper_mem_access(env, regno - 1, - reg->umax_value, - zero_size_allowed, meta); - } - - return err; -err_type: - verbose(env, "R%d type=%s expected=%s\n", regno, - reg_type_str[type], reg_type_str[expected_type]); - return -EACCES; -} - -static int check_map_func_compatibility(struct bpf_verifier_env *env, - struct bpf_map *map, int func_id) -{ - if (!map) - return 0; - - /* We need a two way check, first is from map perspective ... */ - switch (map->map_type) { - case BPF_MAP_TYPE_PROG_ARRAY: - if (func_id != BPF_FUNC_tail_call) - goto error; - break; - case BPF_MAP_TYPE_PERF_EVENT_ARRAY: - if (func_id != BPF_FUNC_perf_event_read && - func_id != BPF_FUNC_perf_event_output && - func_id != BPF_FUNC_perf_event_read_value) - goto error; - break; - case BPF_MAP_TYPE_STACK_TRACE: - if (func_id != BPF_FUNC_get_stackid) - goto error; - break; - case BPF_MAP_TYPE_CGROUP_ARRAY: - goto error; - /* devmap returns a pointer to a live net_device ifindex that we cannot - * allow to be modified from bpf side. So do not allow lookup elements - * for now. - */ - case BPF_MAP_TYPE_DEVMAP: - if (func_id == BPF_FUNC_map_lookup_elem) - goto error; - break; - case BPF_MAP_TYPE_ARRAY_OF_MAPS: - case BPF_MAP_TYPE_HASH_OF_MAPS: - if (func_id != BPF_FUNC_map_lookup_elem) - goto error; - default: - break; - } - - /* ... and second from the function itself. */ - switch (func_id) { - case BPF_FUNC_tail_call: - if (map->map_type != BPF_MAP_TYPE_PROG_ARRAY) - goto error; - if (env->subprog_cnt > 1) { - verbose(env, "tail_calls are not allowed in programs with bpf-to-bpf calls\n"); - return -EINVAL; - } - break; - case BPF_FUNC_perf_event_read: - case BPF_FUNC_perf_event_output: - case BPF_FUNC_perf_event_read_value: - if (map->map_type != BPF_MAP_TYPE_PERF_EVENT_ARRAY) - goto error; - break; - case BPF_FUNC_get_stackid: - if (map->map_type != BPF_MAP_TYPE_STACK_TRACE) - goto error; - break; - default: - break; - } - - return 0; -error: - verbose(env, "cannot pass map_type %d into func %s#%d\n", - map->map_type, func_id_name(func_id), func_id); - return -EINVAL; -} - -static bool check_raw_mode_ok(const struct bpf_func_proto *fn) -{ - int count = 0; - - if (fn->arg1_type == ARG_PTR_TO_UNINIT_MEM) - count++; - if (fn->arg2_type == ARG_PTR_TO_UNINIT_MEM) - count++; - if (fn->arg3_type == ARG_PTR_TO_UNINIT_MEM) - count++; - if (fn->arg4_type == ARG_PTR_TO_UNINIT_MEM) - count++; - if (fn->arg5_type == ARG_PTR_TO_UNINIT_MEM) - count++; - - /* We only support one arg being in raw mode at the moment, - * which is sufficient for the helper functions we have - * right now. - */ - return count <= 1; -} - -static bool check_args_pair_invalid(enum bpf_arg_type arg_curr, - enum bpf_arg_type arg_next) -{ - return (arg_type_is_mem_ptr(arg_curr) && - !arg_type_is_mem_size(arg_next)) || - (!arg_type_is_mem_ptr(arg_curr) && - arg_type_is_mem_size(arg_next)); -} - -static bool check_arg_pair_ok(const struct bpf_func_proto *fn) -{ - /* bpf_xxx(..., buf, len) call will access 'len' - * bytes from memory 'buf'. Both arg types need - * to be paired, so make sure there's no buggy - * helper function specification. - */ - if (arg_type_is_mem_size(fn->arg1_type) || - arg_type_is_mem_ptr(fn->arg5_type) || - check_args_pair_invalid(fn->arg1_type, fn->arg2_type) || - check_args_pair_invalid(fn->arg2_type, fn->arg3_type) || - check_args_pair_invalid(fn->arg3_type, fn->arg4_type) || - check_args_pair_invalid(fn->arg4_type, fn->arg5_type)) - return false; - - return true; -} - -static int check_func_proto(const struct bpf_func_proto *fn) -{ - return check_raw_mode_ok(fn) && - check_arg_pair_ok(fn) ? 0 : -EINVAL; -} - -/* Packet data might have moved, any old PTR_TO_PACKET[_META,_END] - * are now invalid, so turn them into unknown SCALAR_VALUE. - */ -static void __clear_all_pkt_pointers(struct bpf_verifier_env *env, - struct bpf_func_state *state) -{ - struct bpf_reg_state *regs = state->regs, *reg; - int i; - - for (i = 0; i < MAX_BPF_REG; i++) - if (reg_is_pkt_pointer_any(®s[i])) - mark_reg_unknown(env, regs, i); - - for (i = 0; i < state->allocated_stack / BPF_REG_SIZE; i++) { - if (state->stack[i].slot_type[0] != STACK_SPILL) - continue; - reg = &state->stack[i].spilled_ptr; - if (reg_is_pkt_pointer_any(reg)) - __mark_reg_unknown(reg); - } -} - -static void clear_all_pkt_pointers(struct bpf_verifier_env *env) -{ - struct bpf_verifier_state *vstate = env->cur_state; - int i; - - for (i = 0; i <= vstate->curframe; i++) - __clear_all_pkt_pointers(env, vstate->frame[i]); -} - -static int check_func_call(struct bpf_verifier_env *env, struct bpf_insn *insn, - int *insn_idx) -{ - struct bpf_verifier_state *state = env->cur_state; - struct bpf_func_state *caller, *callee; - int i, subprog, target_insn; - - if (state->curframe + 1 >= MAX_CALL_FRAMES) { - verbose(env, "the call stack of %d frames is too deep\n", - state->curframe + 2); - return -E2BIG; - } - - target_insn = *insn_idx + insn->imm; - subprog = find_subprog(env, target_insn + 1); - if (subprog < 0) { - verbose(env, "verifier bug. No program starts at insn %d\n", - target_insn + 1); - return -EFAULT; - } - - caller = state->frame[state->curframe]; - if (state->frame[state->curframe + 1]) { - verbose(env, "verifier bug. Frame %d already allocated\n", - state->curframe + 1); - return -EFAULT; - } - - callee = kzalloc(sizeof(*callee), GFP_KERNEL); - if (!callee) - return -ENOMEM; - state->frame[state->curframe + 1] = callee; - - /* callee cannot access r0, r6 - r9 for reading and has to write - * into its own stack before reading from it. - * callee can read/write into caller's stack - */ - init_func_state(env, callee, - /* remember the callsite, it will be used by bpf_exit */ - *insn_idx /* callsite */, - state->curframe + 1 /* frameno within this callchain */, - subprog /* subprog number within this prog */); - - /* copy r1 - r5 args that callee can access */ - for (i = BPF_REG_1; i <= BPF_REG_5; i++) - callee->regs[i] = caller->regs[i]; - - /* after the call regsiters r0 - r5 were scratched */ - for (i = 0; i < CALLER_SAVED_REGS; i++) { - mark_reg_not_init(env, caller->regs, caller_saved[i]); - check_reg_arg(env, caller_saved[i], DST_OP_NO_MARK); - } - - /* only increment it after check_reg_arg() finished */ - state->curframe++; - - /* and go analyze first insn of the callee */ - *insn_idx = target_insn; - - if (env->log.level) { - verbose(env, "caller:\n"); - print_verifier_state(env, caller); - verbose(env, "callee:\n"); - print_verifier_state(env, callee); - } - return 0; -} - -static int prepare_func_exit(struct bpf_verifier_env *env, int *insn_idx) -{ - struct bpf_verifier_state *state = env->cur_state; - struct bpf_func_state *caller, *callee; - struct bpf_reg_state *r0; - - callee = state->frame[state->curframe]; - r0 = &callee->regs[BPF_REG_0]; - if (r0->type == PTR_TO_STACK) { - /* technically it's ok to return caller's stack pointer - * (or caller's caller's pointer) back to the caller, - * since these pointers are valid. Only current stack - * pointer will be invalid as soon as function exits, - * but let's be conservative - */ - verbose(env, "cannot return stack pointer to the caller\n"); - return -EINVAL; - } - - state->curframe--; - caller = state->frame[state->curframe]; - /* return to the caller whatever r0 had in the callee */ - caller->regs[BPF_REG_0] = *r0; - - *insn_idx = callee->callsite + 1; - if (env->log.level) { - verbose(env, "returning from callee:\n"); - print_verifier_state(env, callee); - verbose(env, "to caller at %d:\n", *insn_idx); - print_verifier_state(env, caller); - } - /* clear everything in the callee */ - free_func_state(callee); - state->frame[state->curframe + 1] = NULL; - return 0; -} - -static int -record_func_map(struct bpf_verifier_env *env, struct bpf_call_arg_meta *meta, - int func_id, int insn_idx) -{ - struct bpf_insn_aux_data *aux = &env->insn_aux_data[insn_idx]; - - if (func_id != BPF_FUNC_tail_call && - func_id != BPF_FUNC_map_lookup_elem && - func_id != BPF_FUNC_map_update_elem && - func_id != BPF_FUNC_map_delete_elem) - return 0; - - if (meta->map_ptr == NULL) { - verbose(env, "kernel subsystem misconfigured verifier\n"); - return -EINVAL; - } - - if (!BPF_MAP_PTR(aux->map_state)) - bpf_map_ptr_store(aux, meta->map_ptr, - meta->map_ptr->unpriv_array); - else if (BPF_MAP_PTR(aux->map_state) != meta->map_ptr) - bpf_map_ptr_store(aux, BPF_MAP_PTR_POISON, - meta->map_ptr->unpriv_array); - return 0; -} - -static void do_refine_retval_range(struct bpf_reg_state *regs, int ret_type, - int func_id, - struct bpf_call_arg_meta *meta) -{ - struct bpf_reg_state *ret_reg = ®s[BPF_REG_0]; - - if (ret_type != RET_INTEGER || - (func_id != BPF_FUNC_get_stack && - func_id != BPF_FUNC_probe_read_str)) - return; - - ret_reg->smax_value = meta->msize_smax_value; - ret_reg->umax_value = meta->msize_umax_value; - __reg_deduce_bounds(ret_reg); - __reg_bound_offset(ret_reg); -} - -static int check_helper_call(struct bpf_verifier_env *env, int func_id, int insn_idx) -{ - const struct bpf_func_proto *fn = NULL; - struct bpf_reg_state *regs; - struct bpf_call_arg_meta meta; - bool changes_data; - int i, err; - - /* find function prototype */ - if (func_id < 0 || func_id >= __BPF_FUNC_MAX_ID) { - verbose(env, "invalid func %s#%d\n", func_id_name(func_id), - func_id); - return -EINVAL; - } - - if (env->ops->get_func_proto) - fn = env->ops->get_func_proto(func_id, env->prog); - if (!fn) { - verbose(env, "unknown func %s#%d\n", func_id_name(func_id), - func_id); - return -EINVAL; - } - - /* eBPF programs must be GPL compatible to use GPL-ed functions */ - if (!env->prog->gpl_compatible && fn->gpl_only) { - verbose(env, "cannot call GPL-restricted function from non-GPL compatible program\n"); - return -EINVAL; - } - - changes_data = bpf_helper_changes_skb_data(fn->func); - - memset(&meta, 0, sizeof(meta)); - meta.pkt_access = fn->pkt_access; - - err = check_func_proto(fn); - if (err) { - verbose(env, "kernel subsystem misconfigured func %s#%d\n", - func_id_name(func_id), func_id); - return err; - } - - /* check args */ - err = check_func_arg(env, BPF_REG_1, fn->arg1_type, &meta); - if (err) - return err; - err = check_func_arg(env, BPF_REG_2, fn->arg2_type, &meta); - if (err) - return err; - err = check_func_arg(env, BPF_REG_3, fn->arg3_type, &meta); - if (err) - return err; - err = check_func_arg(env, BPF_REG_4, fn->arg4_type, &meta); - if (err) - return err; - err = check_func_arg(env, BPF_REG_5, fn->arg5_type, &meta); - if (err) - return err; - - err = record_func_map(env, &meta, func_id, insn_idx); - if (err) - return err; - - /* Mark slots with STACK_MISC in case of raw mode, stack offset - * is inferred from register state. - */ - for (i = 0; i < meta.access_size; i++) { - err = check_mem_access(env, insn_idx, meta.regno, i, BPF_B, - BPF_WRITE, -1, false); - if (err) - return err; - } - - regs = cur_regs(env); - /* reset caller saved regs */ - for (i = 0; i < CALLER_SAVED_REGS; i++) { - mark_reg_not_init(env, regs, caller_saved[i]); - check_reg_arg(env, caller_saved[i], DST_OP_NO_MARK); - } - - /* update return register (already marked as written above) */ - if (fn->ret_type == RET_INTEGER) { - /* sets type to SCALAR_VALUE */ - mark_reg_unknown(env, regs, BPF_REG_0); - } else if (fn->ret_type == RET_VOID) { - regs[BPF_REG_0].type = NOT_INIT; - } else if (fn->ret_type == RET_PTR_TO_MAP_VALUE_OR_NULL || - fn->ret_type == RET_PTR_TO_MAP_VALUE) { - if (fn->ret_type == RET_PTR_TO_MAP_VALUE) - regs[BPF_REG_0].type = PTR_TO_MAP_VALUE; - else - regs[BPF_REG_0].type = PTR_TO_MAP_VALUE_OR_NULL; - /* There is no offset yet applied, variable or fixed */ - mark_reg_known_zero(env, regs, BPF_REG_0); - regs[BPF_REG_0].off = 0; - /* remember map_ptr, so that check_map_access() - * can check 'value_size' boundary of memory access - * to map element returned from bpf_map_lookup_elem() - */ - if (meta.map_ptr == NULL) { - verbose(env, - "kernel subsystem misconfigured verifier\n"); - return -EINVAL; - } - regs[BPF_REG_0].map_ptr = meta.map_ptr; - regs[BPF_REG_0].id = ++env->id_gen; - } else { - verbose(env, "unknown return type %d of func %s#%d\n", - fn->ret_type, func_id_name(func_id), func_id); - return -EINVAL; - } - - do_refine_retval_range(regs, fn->ret_type, func_id, &meta); - - err = check_map_func_compatibility(env, meta.map_ptr, func_id); - if (err) - return err; - - if (func_id == BPF_FUNC_get_stack && !env->prog->has_callchain_buf) { - const char *err_str; - -#ifdef CONFIG_PERF_EVENTS - err = get_callchain_buffers_p(); - err_str = "cannot get callchain buffer for func %s#%d\n"; -#else - err = -ENOTSUPP; - err_str = "func %s#%d not supported without CONFIG_PERF_EVENTS\n"; -#endif - if (err) { - verbose(env, err_str, func_id_name(func_id), func_id); - return err; - } - - env->prog->has_callchain_buf = true; - } - - if (changes_data) - clear_all_pkt_pointers(env); - return 0; -} - -static bool signed_add_overflows(s64 a, s64 b) -{ - /* Do the add in u64, where overflow is well-defined */ - s64 res = (s64)((u64)a + (u64)b); - - if (b < 0) - return res > a; - return res < a; -} - -static bool signed_sub_overflows(s64 a, s64 b) -{ - /* Do the sub in u64, where overflow is well-defined */ - s64 res = (s64)((u64)a - (u64)b); - - if (b < 0) - return res < a; - return res > a; -} - -static bool check_reg_sane_offset(struct bpf_verifier_env *env, - const struct bpf_reg_state *reg, - enum bpf_reg_type type) -{ - bool known = tnum_is_const(reg->var_off); - s64 val = reg->var_off.value; - s64 smin = reg->smin_value; - - if (known && (val >= BPF_MAX_VAR_OFF || val <= -BPF_MAX_VAR_OFF)) { - verbose(env, "math between %s pointer and %lld is not allowed\n", - reg_type_str[type], val); - return false; - } - - if (reg->off >= BPF_MAX_VAR_OFF || reg->off <= -BPF_MAX_VAR_OFF) { - verbose(env, "%s pointer offset %d is not allowed\n", - reg_type_str[type], reg->off); - return false; - } - - if (smin == S64_MIN) { - verbose(env, "math between %s pointer and register with unbounded min value is not allowed\n", - reg_type_str[type]); - return false; - } - - if (smin >= BPF_MAX_VAR_OFF || smin <= -BPF_MAX_VAR_OFF) { - verbose(env, "value %lld makes %s pointer be out of bounds\n", - smin, reg_type_str[type]); - return false; - } - - return true; -} - -static struct bpf_insn_aux_data *cur_aux(struct bpf_verifier_env *env) -{ - return &env->insn_aux_data[env->insn_idx]; -} - -static int retrieve_ptr_limit(const struct bpf_reg_state *ptr_reg, - u32 *ptr_limit, u8 opcode, bool off_is_neg) -{ - bool mask_to_left = (opcode == BPF_ADD && off_is_neg) || - (opcode == BPF_SUB && !off_is_neg); - u32 off; - - switch (ptr_reg->type) { - case PTR_TO_STACK: - off = ptr_reg->off + ptr_reg->var_off.value; - if (mask_to_left) - *ptr_limit = MAX_BPF_STACK + off; - else - *ptr_limit = -off; - return 0; - case PTR_TO_MAP_VALUE: - if (mask_to_left) { - *ptr_limit = ptr_reg->umax_value + ptr_reg->off; - } else { - off = ptr_reg->smin_value + ptr_reg->off; - *ptr_limit = ptr_reg->map_ptr->value_size - off; - } - return 0; - default: - return -EINVAL; - } -} - -static int sanitize_ptr_alu(struct bpf_verifier_env *env, - struct bpf_insn *insn, - const struct bpf_reg_state *ptr_reg, - struct bpf_reg_state *dst_reg, - bool off_is_neg) -{ - struct bpf_verifier_state *vstate = env->cur_state; - struct bpf_insn_aux_data *aux = cur_aux(env); - bool ptr_is_dst_reg = ptr_reg == dst_reg; - u8 opcode = BPF_OP(insn->code); - u32 alu_state, alu_limit; - struct bpf_reg_state tmp; - bool ret; - - if (env->allow_ptr_leaks || BPF_SRC(insn->code) == BPF_K) - return 0; - - /* We already marked aux for masking from non-speculative - * paths, thus we got here in the first place. We only care - * to explore bad access from here. - */ - if (vstate->speculative) - goto do_sim; - - alu_state = off_is_neg ? BPF_ALU_NEG_VALUE : 0; - alu_state |= ptr_is_dst_reg ? - BPF_ALU_SANITIZE_SRC : BPF_ALU_SANITIZE_DST; - - if (retrieve_ptr_limit(ptr_reg, &alu_limit, opcode, off_is_neg)) - return 0; - - /* If we arrived here from different branches with different - * limits to sanitize, then this won't work. - */ - if (aux->alu_state && - (aux->alu_state != alu_state || - aux->alu_limit != alu_limit)) - return -EACCES; - - /* Corresponding fixup done in fixup_bpf_calls(). */ - aux->alu_state = alu_state; - aux->alu_limit = alu_limit; - -do_sim: - /* Simulate and find potential out-of-bounds access under - * speculative execution from truncation as a result of - * masking when off was not within expected range. If off - * sits in dst, then we temporarily need to move ptr there - * to simulate dst (== 0) +/-= ptr. Needed, for example, - * for cases where we use K-based arithmetic in one direction - * and truncated reg-based in the other in order to explore - * bad access. - */ - if (!ptr_is_dst_reg) { - tmp = *dst_reg; - *dst_reg = *ptr_reg; - } - ret = push_stack(env, env->insn_idx + 1, env->insn_idx, true); - if (!ptr_is_dst_reg) - *dst_reg = tmp; - return !ret ? -EFAULT : 0; -} - -/* Handles arithmetic on a pointer and a scalar: computes new min/max and var_off. - * Caller should also handle BPF_MOV case separately. - * If we return -EACCES, caller may want to try again treating pointer as a - * scalar. So we only emit a diagnostic if !env->allow_ptr_leaks. - */ -static int adjust_ptr_min_max_vals(struct bpf_verifier_env *env, - struct bpf_insn *insn, - const struct bpf_reg_state *ptr_reg, - const struct bpf_reg_state *off_reg) -{ - struct bpf_verifier_state *vstate = env->cur_state; - struct bpf_func_state *state = vstate->frame[vstate->curframe]; - struct bpf_reg_state *regs = state->regs, *dst_reg; - bool known = tnum_is_const(off_reg->var_off); - s64 smin_val = off_reg->smin_value, smax_val = off_reg->smax_value, - smin_ptr = ptr_reg->smin_value, smax_ptr = ptr_reg->smax_value; - u64 umin_val = off_reg->umin_value, umax_val = off_reg->umax_value, - umin_ptr = ptr_reg->umin_value, umax_ptr = ptr_reg->umax_value; - u32 dst = insn->dst_reg, src = insn->src_reg; - u8 opcode = BPF_OP(insn->code); - int ret; - - dst_reg = ®s[dst]; - - if ((known && (smin_val != smax_val || umin_val != umax_val)) || - smin_val > smax_val || umin_val > umax_val) { - /* Taint dst register if offset had invalid bounds derived from - * e.g. dead branches. - */ - __mark_reg_unknown(dst_reg); - return 0; - } - - if (BPF_CLASS(insn->code) != BPF_ALU64) { - /* 32-bit ALU ops on pointers produce (meaningless) scalars */ - verbose(env, - "R%d 32-bit pointer arithmetic prohibited\n", - dst); - return -EACCES; - } - - switch (ptr_reg->type) { - case PTR_TO_MAP_VALUE_OR_NULL: - verbose(env, "R%d pointer arithmetic on %s prohibited, null-check it first\n", - dst, reg_type_str[ptr_reg->type]); - return -EACCES; - case CONST_PTR_TO_MAP: - case PTR_TO_PACKET_END: - verbose(env, "R%d pointer arithmetic on %s prohibited\n", - dst, reg_type_str[ptr_reg->type]); - return -EACCES; - case PTR_TO_MAP_VALUE: - if (!env->allow_ptr_leaks && !known && (smin_val < 0) != (smax_val < 0)) { - verbose(env, "R%d has unknown scalar with mixed signed bounds, pointer arithmetic with it prohibited for !root\n", - off_reg == dst_reg ? dst : src); - return -EACCES; - } - /* fall-through */ - default: - break; - } - - /* In case of 'scalar += pointer', dst_reg inherits pointer type and id. - * The id may be overwritten later if we create a new variable offset. - */ - dst_reg->type = ptr_reg->type; - dst_reg->id = ptr_reg->id; - - if (!check_reg_sane_offset(env, off_reg, ptr_reg->type) || - !check_reg_sane_offset(env, ptr_reg, ptr_reg->type)) - return -EINVAL; - - switch (opcode) { - case BPF_ADD: - ret = sanitize_ptr_alu(env, insn, ptr_reg, dst_reg, smin_val < 0); - if (ret < 0) { - verbose(env, "R%d tried to add from different maps or paths\n", dst); - return ret; - } - /* We can take a fixed offset as long as it doesn't overflow - * the s32 'off' field - */ - if (known && (ptr_reg->off + smin_val == - (s64)(s32)(ptr_reg->off + smin_val))) { - /* pointer += K. Accumulate it into fixed offset */ - dst_reg->smin_value = smin_ptr; - dst_reg->smax_value = smax_ptr; - dst_reg->umin_value = umin_ptr; - dst_reg->umax_value = umax_ptr; - dst_reg->var_off = ptr_reg->var_off; - dst_reg->off = ptr_reg->off + smin_val; - dst_reg->range = ptr_reg->range; - break; - } - /* A new variable offset is created. Note that off_reg->off - * == 0, since it's a scalar. - * dst_reg gets the pointer type and since some positive - * integer value was added to the pointer, give it a new 'id' - * if it's a PTR_TO_PACKET. - * this creates a new 'base' pointer, off_reg (variable) gets - * added into the variable offset, and we copy the fixed offset - * from ptr_reg. - */ - if (signed_add_overflows(smin_ptr, smin_val) || - signed_add_overflows(smax_ptr, smax_val)) { - dst_reg->smin_value = S64_MIN; - dst_reg->smax_value = S64_MAX; - } else { - dst_reg->smin_value = smin_ptr + smin_val; - dst_reg->smax_value = smax_ptr + smax_val; - } - if (umin_ptr + umin_val < umin_ptr || - umax_ptr + umax_val < umax_ptr) { - dst_reg->umin_value = 0; - dst_reg->umax_value = U64_MAX; - } else { - dst_reg->umin_value = umin_ptr + umin_val; - dst_reg->umax_value = umax_ptr + umax_val; - } - dst_reg->var_off = tnum_add(ptr_reg->var_off, off_reg->var_off); - dst_reg->off = ptr_reg->off; - if (reg_is_pkt_pointer(ptr_reg)) { - dst_reg->id = ++env->id_gen; - /* something was added to pkt_ptr, set range to zero */ - dst_reg->range = 0; - } - break; - case BPF_SUB: - ret = sanitize_ptr_alu(env, insn, ptr_reg, dst_reg, smin_val < 0); - if (ret < 0) { - verbose(env, "R%d tried to sub from different maps or paths\n", dst); - return ret; - } - if (dst_reg == off_reg) { - /* scalar -= pointer. Creates an unknown scalar */ - verbose(env, "R%d tried to subtract pointer from scalar\n", - dst); - return -EACCES; - } - /* We don't allow subtraction from FP, because (according to - * test_verifier.c test "invalid fp arithmetic", JITs might not - * be able to deal with it. - */ - if (ptr_reg->type == PTR_TO_STACK) { - verbose(env, "R%d subtraction from stack pointer prohibited\n", - dst); - return -EACCES; - } - if (known && (ptr_reg->off - smin_val == - (s64)(s32)(ptr_reg->off - smin_val))) { - /* pointer -= K. Subtract it from fixed offset */ - dst_reg->smin_value = smin_ptr; - dst_reg->smax_value = smax_ptr; - dst_reg->umin_value = umin_ptr; - dst_reg->umax_value = umax_ptr; - dst_reg->var_off = ptr_reg->var_off; - dst_reg->id = ptr_reg->id; - dst_reg->off = ptr_reg->off - smin_val; - dst_reg->range = ptr_reg->range; - break; - } - /* A new variable offset is created. If the subtrahend is known - * nonnegative, then any reg->range we had before is still good. - */ - if (signed_sub_overflows(smin_ptr, smax_val) || - signed_sub_overflows(smax_ptr, smin_val)) { - /* Overflow possible, we know nothing */ - dst_reg->smin_value = S64_MIN; - dst_reg->smax_value = S64_MAX; - } else { - dst_reg->smin_value = smin_ptr - smax_val; - dst_reg->smax_value = smax_ptr - smin_val; - } - if (umin_ptr < umax_val) { - /* Overflow possible, we know nothing */ - dst_reg->umin_value = 0; - dst_reg->umax_value = U64_MAX; - } else { - /* Cannot overflow (as long as bounds are consistent) */ - dst_reg->umin_value = umin_ptr - umax_val; - dst_reg->umax_value = umax_ptr - umin_val; - } - dst_reg->var_off = tnum_sub(ptr_reg->var_off, off_reg->var_off); - dst_reg->off = ptr_reg->off; - if (reg_is_pkt_pointer(ptr_reg)) { - dst_reg->id = ++env->id_gen; - /* something was added to pkt_ptr, set range to zero */ - if (smin_val < 0) - dst_reg->range = 0; - } - break; - case BPF_AND: - case BPF_OR: - case BPF_XOR: - /* bitwise ops on pointers are troublesome, prohibit. */ - verbose(env, "R%d bitwise operator %s on pointer prohibited\n", - dst, bpf_alu_string[opcode >> 4]); - return -EACCES; - default: - /* other operators (e.g. MUL,LSH) produce non-pointer results */ - verbose(env, "R%d pointer arithmetic with %s operator prohibited\n", - dst, bpf_alu_string[opcode >> 4]); - return -EACCES; - } - - if (!check_reg_sane_offset(env, dst_reg, ptr_reg->type)) - return -EINVAL; - - __update_reg_bounds(dst_reg); - __reg_deduce_bounds(dst_reg); - __reg_bound_offset(dst_reg); - return 0; -} - -/* WARNING: This function does calculations on 64-bit values, but the actual - * execution may occur on 32-bit values. Therefore, things like bitshifts - * need extra checks in the 32-bit case. - */ -static int adjust_scalar_min_max_vals(struct bpf_verifier_env *env, - struct bpf_insn *insn, - struct bpf_reg_state *dst_reg, - struct bpf_reg_state src_reg) -{ - struct bpf_reg_state *regs = cur_regs(env); - u8 opcode = BPF_OP(insn->code); - bool src_known, dst_known; - s64 smin_val, smax_val; - u64 umin_val, umax_val; - u64 insn_bitness = (BPF_CLASS(insn->code) == BPF_ALU64) ? 64 : 32; - - if (insn_bitness == 32) { - /* Relevant for 32-bit RSH: Information can propagate towards - * LSB, so it isn't sufficient to only truncate the output to - * 32 bits. - */ - coerce_reg_to_size(dst_reg, 4); - coerce_reg_to_size(&src_reg, 4); - } - - smin_val = src_reg.smin_value; - smax_val = src_reg.smax_value; - umin_val = src_reg.umin_value; - umax_val = src_reg.umax_value; - src_known = tnum_is_const(src_reg.var_off); - dst_known = tnum_is_const(dst_reg->var_off); - - if ((src_known && (smin_val != smax_val || umin_val != umax_val)) || - smin_val > smax_val || umin_val > umax_val) { - /* Taint dst register if offset had invalid bounds derived from - * e.g. dead branches. - */ - __mark_reg_unknown(dst_reg); - return 0; - } - - if (!src_known && - opcode != BPF_ADD && opcode != BPF_SUB && opcode != BPF_AND) { - __mark_reg_unknown(dst_reg); - return 0; - } - - switch (opcode) { - case BPF_ADD: - if (signed_add_overflows(dst_reg->smin_value, smin_val) || - signed_add_overflows(dst_reg->smax_value, smax_val)) { - dst_reg->smin_value = S64_MIN; - dst_reg->smax_value = S64_MAX; - } else { - dst_reg->smin_value += smin_val; - dst_reg->smax_value += smax_val; - } - if (dst_reg->umin_value + umin_val < umin_val || - dst_reg->umax_value + umax_val < umax_val) { - dst_reg->umin_value = 0; - dst_reg->umax_value = U64_MAX; - } else { - dst_reg->umin_value += umin_val; - dst_reg->umax_value += umax_val; - } - dst_reg->var_off = tnum_add(dst_reg->var_off, src_reg.var_off); - break; - case BPF_SUB: - if (signed_sub_overflows(dst_reg->smin_value, smax_val) || - signed_sub_overflows(dst_reg->smax_value, smin_val)) { - /* Overflow possible, we know nothing */ - dst_reg->smin_value = S64_MIN; - dst_reg->smax_value = S64_MAX; - } else { - dst_reg->smin_value -= smax_val; - dst_reg->smax_value -= smin_val; - } - if (dst_reg->umin_value < umax_val) { - /* Overflow possible, we know nothing */ - dst_reg->umin_value = 0; - dst_reg->umax_value = U64_MAX; - } else { - /* Cannot overflow (as long as bounds are consistent) */ - dst_reg->umin_value -= umax_val; - dst_reg->umax_value -= umin_val; - } - dst_reg->var_off = tnum_sub(dst_reg->var_off, src_reg.var_off); - break; - case BPF_MUL: - dst_reg->var_off = tnum_mul(dst_reg->var_off, src_reg.var_off); - if (smin_val < 0 || dst_reg->smin_value < 0) { - /* Ain't nobody got time to multiply that sign */ - __mark_reg_unbounded(dst_reg); - __update_reg_bounds(dst_reg); - break; - } - /* Both values are positive, so we can work with unsigned and - * copy the result to signed (unless it exceeds S64_MAX). - */ - if (umax_val > U32_MAX || dst_reg->umax_value > U32_MAX) { - /* Potential overflow, we know nothing */ - __mark_reg_unbounded(dst_reg); - /* (except what we can learn from the var_off) */ - __update_reg_bounds(dst_reg); - break; - } - dst_reg->umin_value *= umin_val; - dst_reg->umax_value *= umax_val; - if (dst_reg->umax_value > S64_MAX) { - /* Overflow possible, we know nothing */ - dst_reg->smin_value = S64_MIN; - dst_reg->smax_value = S64_MAX; - } else { - dst_reg->smin_value = dst_reg->umin_value; - dst_reg->smax_value = dst_reg->umax_value; - } - break; - case BPF_AND: - if (src_known && dst_known) { - __mark_reg_known(dst_reg, dst_reg->var_off.value & - src_reg.var_off.value); - break; - } - /* We get our minimum from the var_off, since that's inherently - * bitwise. Our maximum is the minimum of the operands' maxima. - */ - dst_reg->var_off = tnum_and(dst_reg->var_off, src_reg.var_off); - dst_reg->umin_value = dst_reg->var_off.value; - dst_reg->umax_value = min(dst_reg->umax_value, umax_val); - if (dst_reg->smin_value < 0 || smin_val < 0) { - /* Lose signed bounds when ANDing negative numbers, - * ain't nobody got time for that. - */ - dst_reg->smin_value = S64_MIN; - dst_reg->smax_value = S64_MAX; - } else { - /* ANDing two positives gives a positive, so safe to - * cast result into s64. - */ - dst_reg->smin_value = dst_reg->umin_value; - dst_reg->smax_value = dst_reg->umax_value; - } - /* We may learn something more from the var_off */ - __update_reg_bounds(dst_reg); - break; - case BPF_OR: - if (src_known && dst_known) { - __mark_reg_known(dst_reg, dst_reg->var_off.value | - src_reg.var_off.value); - break; - } - /* We get our maximum from the var_off, and our minimum is the - * maximum of the operands' minima - */ - dst_reg->var_off = tnum_or(dst_reg->var_off, src_reg.var_off); - dst_reg->umin_value = max(dst_reg->umin_value, umin_val); - dst_reg->umax_value = dst_reg->var_off.value | - dst_reg->var_off.mask; - if (dst_reg->smin_value < 0 || smin_val < 0) { - /* Lose signed bounds when ORing negative numbers, - * ain't nobody got time for that. - */ - dst_reg->smin_value = S64_MIN; - dst_reg->smax_value = S64_MAX; - } else { - /* ORing two positives gives a positive, so safe to - * cast result into s64. - */ - dst_reg->smin_value = dst_reg->umin_value; - dst_reg->smax_value = dst_reg->umax_value; - } - /* We may learn something more from the var_off */ - __update_reg_bounds(dst_reg); - break; - case BPF_LSH: - if (umax_val >= insn_bitness) { - /* Shifts greater than 31 or 63 are undefined. - * This includes shifts by a negative number. - */ - mark_reg_unknown(env, regs, insn->dst_reg); - break; - } - /* We lose all sign bit information (except what we can pick - * up from var_off) - */ - dst_reg->smin_value = S64_MIN; - dst_reg->smax_value = S64_MAX; - /* If we might shift our top bit out, then we know nothing */ - if (dst_reg->umax_value > 1ULL << (63 - umax_val)) { - dst_reg->umin_value = 0; - dst_reg->umax_value = U64_MAX; - } else { - dst_reg->umin_value <<= umin_val; - dst_reg->umax_value <<= umax_val; - } - dst_reg->var_off = tnum_lshift(dst_reg->var_off, umin_val); - /* We may learn something more from the var_off */ - __update_reg_bounds(dst_reg); - break; - case BPF_RSH: - if (umax_val >= insn_bitness) { - /* Shifts greater than 31 or 63 are undefined. - * This includes shifts by a negative number. - */ - mark_reg_unknown(env, regs, insn->dst_reg); - break; - } - /* BPF_RSH is an unsigned shift. If the value in dst_reg might - * be negative, then either: - * 1) src_reg might be zero, so the sign bit of the result is - * unknown, so we lose our signed bounds - * 2) it's known negative, thus the unsigned bounds capture the - * signed bounds - * 3) the signed bounds cross zero, so they tell us nothing - * about the result - * If the value in dst_reg is known nonnegative, then again the - * unsigned bounts capture the signed bounds. - * Thus, in all cases it suffices to blow away our signed bounds - * and rely on inferring new ones from the unsigned bounds and - * var_off of the result. - */ - dst_reg->smin_value = S64_MIN; - dst_reg->smax_value = S64_MAX; - dst_reg->var_off = tnum_rshift(dst_reg->var_off, umin_val); - dst_reg->umin_value >>= umax_val; - dst_reg->umax_value >>= umin_val; - /* We may learn something more from the var_off */ - __update_reg_bounds(dst_reg); - break; - case BPF_ARSH: - if (umax_val >= insn_bitness) { - /* Shifts greater than 31 or 63 are undefined. - * This includes shifts by a negative number. - */ - mark_reg_unknown(env, regs, insn->dst_reg); - break; - } - - /* Upon reaching here, src_known is true and - * umax_val is equal to umin_val. - */ - dst_reg->smin_value >>= umin_val; - dst_reg->smax_value >>= umin_val; - dst_reg->var_off = tnum_arshift(dst_reg->var_off, umin_val); - - /* blow away the dst_reg umin_value/umax_value and rely on - * dst_reg var_off to refine the result. - */ - dst_reg->umin_value = 0; - dst_reg->umax_value = U64_MAX; - __update_reg_bounds(dst_reg); - break; - default: - mark_reg_unknown(env, regs, insn->dst_reg); - break; - } - - if (BPF_CLASS(insn->code) != BPF_ALU64) { - /* 32-bit ALU ops are (32,32)->32 */ - coerce_reg_to_size(dst_reg, 4); - } - - __reg_deduce_bounds(dst_reg); - __reg_bound_offset(dst_reg); - return 0; -} - -/* Handles ALU ops other than BPF_END, BPF_NEG and BPF_MOV: computes new min/max - * and var_off. - */ -static int adjust_reg_min_max_vals(struct bpf_verifier_env *env, - struct bpf_insn *insn) -{ - struct bpf_verifier_state *vstate = env->cur_state; - struct bpf_func_state *state = vstate->frame[vstate->curframe]; - struct bpf_reg_state *regs = state->regs, *dst_reg, *src_reg; - struct bpf_reg_state *ptr_reg = NULL, off_reg = {0}; - u8 opcode = BPF_OP(insn->code); - - dst_reg = ®s[insn->dst_reg]; - src_reg = NULL; - if (dst_reg->type != SCALAR_VALUE) - ptr_reg = dst_reg; - if (BPF_SRC(insn->code) == BPF_X) { - src_reg = ®s[insn->src_reg]; - if (src_reg->type != SCALAR_VALUE) { - if (dst_reg->type != SCALAR_VALUE) { - /* Combining two pointers by any ALU op yields - * an arbitrary scalar. Disallow all math except - * pointer subtraction - */ - if (opcode == BPF_SUB && env->allow_ptr_leaks) { - mark_reg_unknown(env, regs, insn->dst_reg); - return 0; - } - verbose(env, "R%d pointer %s pointer prohibited\n", - insn->dst_reg, - bpf_alu_string[opcode >> 4]); - return -EACCES; - } else { - /* scalar += pointer - * This is legal, but we have to reverse our - * src/dest handling in computing the range - */ - return adjust_ptr_min_max_vals(env, insn, - src_reg, dst_reg); - } - } else if (ptr_reg) { - /* pointer += scalar */ - return adjust_ptr_min_max_vals(env, insn, - dst_reg, src_reg); - } - } else { - /* Pretend the src is a reg with a known value, since we only - * need to be able to read from this state. - */ - off_reg.type = SCALAR_VALUE; - __mark_reg_known(&off_reg, insn->imm); - src_reg = &off_reg; - if (ptr_reg) /* pointer += K */ - return adjust_ptr_min_max_vals(env, insn, - ptr_reg, src_reg); - } - - /* Got here implies adding two SCALAR_VALUEs */ - if (WARN_ON_ONCE(ptr_reg)) { - print_verifier_state(env, state); - verbose(env, "verifier internal error: unexpected ptr_reg\n"); - return -EINVAL; - } - if (WARN_ON(!src_reg)) { - print_verifier_state(env, state); - verbose(env, "verifier internal error: no src_reg\n"); - return -EINVAL; - } - return adjust_scalar_min_max_vals(env, insn, dst_reg, *src_reg); -} - -/* check validity of 32-bit and 64-bit arithmetic operations */ -static int check_alu_op(struct bpf_verifier_env *env, struct bpf_insn *insn) -{ - struct bpf_reg_state *regs = cur_regs(env); - u8 opcode = BPF_OP(insn->code); - int err; - - if (opcode == BPF_END || opcode == BPF_NEG) { - if (opcode == BPF_NEG) { - if (BPF_SRC(insn->code) != 0 || - insn->src_reg != BPF_REG_0 || - insn->off != 0 || insn->imm != 0) { - verbose(env, "BPF_NEG uses reserved fields\n"); - return -EINVAL; - } - } else { - if (insn->src_reg != BPF_REG_0 || insn->off != 0 || - (insn->imm != 16 && insn->imm != 32 && insn->imm != 64) || - BPF_CLASS(insn->code) == BPF_ALU64) { - verbose(env, "BPF_END uses reserved fields\n"); - return -EINVAL; - } - } - - /* check src operand */ - err = check_reg_arg(env, insn->dst_reg, SRC_OP); - if (err) - return err; - - if (is_pointer_value(env, insn->dst_reg)) { - verbose(env, "R%d pointer arithmetic prohibited\n", - insn->dst_reg); - return -EACCES; - } - - /* check dest operand */ - err = check_reg_arg(env, insn->dst_reg, DST_OP); - if (err) - return err; - - } else if (opcode == BPF_MOV) { - - if (BPF_SRC(insn->code) == BPF_X) { - if (insn->imm != 0 || insn->off != 0) { - verbose(env, "BPF_MOV uses reserved fields\n"); - return -EINVAL; - } - - /* check src operand */ - err = check_reg_arg(env, insn->src_reg, SRC_OP); - if (err) - return err; - } else { - if (insn->src_reg != BPF_REG_0 || insn->off != 0) { - verbose(env, "BPF_MOV uses reserved fields\n"); - return -EINVAL; - } - } - - /* check dest operand, mark as required later */ - err = check_reg_arg(env, insn->dst_reg, DST_OP_NO_MARK); - if (err) - return err; - - if (BPF_SRC(insn->code) == BPF_X) { - if (BPF_CLASS(insn->code) == BPF_ALU64) { - /* case: R1 = R2 - * copy register state to dest reg - */ - regs[insn->dst_reg] = regs[insn->src_reg]; - regs[insn->dst_reg].live |= REG_LIVE_WRITTEN; - } else { - /* R1 = (u32) R2 */ - if (is_pointer_value(env, insn->src_reg)) { - verbose(env, - "R%d partial copy of pointer\n", - insn->src_reg); - return -EACCES; - } - mark_reg_unknown(env, regs, insn->dst_reg); - coerce_reg_to_size(®s[insn->dst_reg], 4); - } - } else { - /* case: R = imm - * remember the value we stored into this reg - */ - /* clear any state __mark_reg_known doesn't set */ - mark_reg_unknown(env, regs, insn->dst_reg); - regs[insn->dst_reg].type = SCALAR_VALUE; - if (BPF_CLASS(insn->code) == BPF_ALU64) { - __mark_reg_known(regs + insn->dst_reg, - insn->imm); - } else { - __mark_reg_known(regs + insn->dst_reg, - (u32)insn->imm); - } - } - - } else if (opcode > BPF_END) { - verbose(env, "invalid BPF_ALU opcode %x\n", opcode); - return -EINVAL; - - } else { /* all other ALU ops: and, sub, xor, add, ... */ - - if (BPF_SRC(insn->code) == BPF_X) { - if (insn->imm != 0 || insn->off != 0) { - verbose(env, "BPF_ALU uses reserved fields\n"); - return -EINVAL; - } - /* check src1 operand */ - err = check_reg_arg(env, insn->src_reg, SRC_OP); - if (err) - return err; - } else { - if (insn->src_reg != BPF_REG_0 || insn->off != 0) { - verbose(env, "BPF_ALU uses reserved fields\n"); - return -EINVAL; - } - } - - /* check src2 operand */ - err = check_reg_arg(env, insn->dst_reg, SRC_OP); - if (err) - return err; - - if ((opcode == BPF_MOD || opcode == BPF_DIV) && - BPF_SRC(insn->code) == BPF_K && insn->imm == 0) { - verbose(env, "div by zero\n"); - return -EINVAL; - } - - if (opcode == BPF_ARSH && BPF_CLASS(insn->code) != BPF_ALU64) { - verbose(env, "BPF_ARSH not supported for 32 bit ALU\n"); - return -EINVAL; - } - - if ((opcode == BPF_LSH || opcode == BPF_RSH || - opcode == BPF_ARSH) && BPF_SRC(insn->code) == BPF_K) { - int size = BPF_CLASS(insn->code) == BPF_ALU64 ? 64 : 32; - - if (insn->imm < 0 || insn->imm >= size) { - verbose(env, "invalid shift %d\n", insn->imm); - return -EINVAL; - } - } - - /* check dest operand */ - err = check_reg_arg(env, insn->dst_reg, DST_OP_NO_MARK); - if (err) - return err; - - return adjust_reg_min_max_vals(env, insn); - } - - return 0; -} - -static void find_good_pkt_pointers(struct bpf_verifier_state *vstate, - struct bpf_reg_state *dst_reg, - enum bpf_reg_type type, - bool range_right_open) -{ - struct bpf_func_state *state = vstate->frame[vstate->curframe]; - struct bpf_reg_state *regs = state->regs, *reg; - u16 new_range; - int i, j; - - if (dst_reg->off < 0 || - (dst_reg->off == 0 && range_right_open)) - /* This doesn't give us any range */ - return; - - if (dst_reg->umax_value > MAX_PACKET_OFF || - dst_reg->umax_value + dst_reg->off > MAX_PACKET_OFF) - /* Risk of overflow. For instance, ptr + (1<<63) may be less - * than pkt_end, but that's because it's also less than pkt. - */ - return; - - new_range = dst_reg->off; - if (range_right_open) - new_range--; - - /* Examples for register markings: - * - * pkt_data in dst register: - * - * r2 = r3; - * r2 += 8; - * if (r2 > pkt_end) goto - * - * - * r2 = r3; - * r2 += 8; - * if (r2 < pkt_end) goto - * - * - * Where: - * r2 == dst_reg, pkt_end == src_reg - * r2=pkt(id=n,off=8,r=0) - * r3=pkt(id=n,off=0,r=0) - * - * pkt_data in src register: - * - * r2 = r3; - * r2 += 8; - * if (pkt_end >= r2) goto - * - * - * r2 = r3; - * r2 += 8; - * if (pkt_end <= r2) goto - * - * - * Where: - * pkt_end == dst_reg, r2 == src_reg - * r2=pkt(id=n,off=8,r=0) - * r3=pkt(id=n,off=0,r=0) - * - * Find register r3 and mark its range as r3=pkt(id=n,off=0,r=8) - * or r3=pkt(id=n,off=0,r=8-1), so that range of bytes [r3, r3 + 8) - * and [r3, r3 + 8-1) respectively is safe to access depending on - * the check. - */ - - /* If our ids match, then we must have the same max_value. And we - * don't care about the other reg's fixed offset, since if it's too big - * the range won't allow anything. - * dst_reg->off is known < MAX_PACKET_OFF, therefore it fits in a u16. - */ - for (i = 0; i < MAX_BPF_REG; i++) - if (regs[i].type == type && regs[i].id == dst_reg->id) - /* keep the maximum range already checked */ - regs[i].range = max(regs[i].range, new_range); - - for (j = 0; j <= vstate->curframe; j++) { - state = vstate->frame[j]; - for (i = 0; i < state->allocated_stack / BPF_REG_SIZE; i++) { - if (state->stack[i].slot_type[0] != STACK_SPILL) - continue; - reg = &state->stack[i].spilled_ptr; - if (reg->type == type && reg->id == dst_reg->id) - reg->range = max(reg->range, new_range); - } - } -} - -/* Adjusts the register min/max values in the case that the dst_reg is the - * variable register that we are working on, and src_reg is a constant or we're - * simply doing a BPF_K check. - * In JEQ/JNE cases we also adjust the var_off values. - */ -static void reg_set_min_max(struct bpf_reg_state *true_reg, - struct bpf_reg_state *false_reg, u64 val, - u8 opcode) -{ - /* If the dst_reg is a pointer, we can't learn anything about its - * variable offset from the compare (unless src_reg were a pointer into - * the same object, but we don't bother with that. - * Since false_reg and true_reg have the same type by construction, we - * only need to check one of them for pointerness. - */ - if (__is_pointer_value(false, false_reg)) - return; - - switch (opcode) { - case BPF_JEQ: - /* If this is false then we know nothing Jon Snow, but if it is - * true then we know for sure. - */ - __mark_reg_known(true_reg, val); - break; - case BPF_JNE: - /* If this is true we know nothing Jon Snow, but if it is false - * we know the value for sure; - */ - __mark_reg_known(false_reg, val); - break; - case BPF_JGT: - false_reg->umax_value = min(false_reg->umax_value, val); - true_reg->umin_value = max(true_reg->umin_value, val + 1); - break; - case BPF_JSGT: - false_reg->smax_value = min_t(s64, false_reg->smax_value, val); - true_reg->smin_value = max_t(s64, true_reg->smin_value, val + 1); - break; - case BPF_JLT: - false_reg->umin_value = max(false_reg->umin_value, val); - true_reg->umax_value = min(true_reg->umax_value, val - 1); - break; - case BPF_JSLT: - false_reg->smin_value = max_t(s64, false_reg->smin_value, val); - true_reg->smax_value = min_t(s64, true_reg->smax_value, val - 1); - break; - case BPF_JGE: - false_reg->umax_value = min(false_reg->umax_value, val - 1); - true_reg->umin_value = max(true_reg->umin_value, val); - break; - case BPF_JSGE: - false_reg->smax_value = min_t(s64, false_reg->smax_value, val - 1); - true_reg->smin_value = max_t(s64, true_reg->smin_value, val); - break; - case BPF_JLE: - false_reg->umin_value = max(false_reg->umin_value, val + 1); - true_reg->umax_value = min(true_reg->umax_value, val); - break; - case BPF_JSLE: - false_reg->smin_value = max_t(s64, false_reg->smin_value, val + 1); - true_reg->smax_value = min_t(s64, true_reg->smax_value, val); - break; - default: - break; - } - - __reg_deduce_bounds(false_reg); - __reg_deduce_bounds(true_reg); - /* We might have learned some bits from the bounds. */ - __reg_bound_offset(false_reg); - __reg_bound_offset(true_reg); - /* Intersecting with the old var_off might have improved our bounds - * slightly. e.g. if umax was 0x7f...f and var_off was (0; 0xf...fc), - * then new var_off is (0; 0x7f...fc) which improves our umax. - */ - __update_reg_bounds(false_reg); - __update_reg_bounds(true_reg); -} - -/* Same as above, but for the case that dst_reg holds a constant and src_reg is - * the variable reg. - */ -static void reg_set_min_max_inv(struct bpf_reg_state *true_reg, - struct bpf_reg_state *false_reg, u64 val, - u8 opcode) -{ - if (__is_pointer_value(false, false_reg)) - return; - - switch (opcode) { - case BPF_JEQ: - /* If this is false then we know nothing Jon Snow, but if it is - * true then we know for sure. - */ - __mark_reg_known(true_reg, val); - break; - case BPF_JNE: - /* If this is true we know nothing Jon Snow, but if it is false - * we know the value for sure; - */ - __mark_reg_known(false_reg, val); - break; - case BPF_JGT: - true_reg->umax_value = min(true_reg->umax_value, val - 1); - false_reg->umin_value = max(false_reg->umin_value, val); - break; - case BPF_JSGT: - true_reg->smax_value = min_t(s64, true_reg->smax_value, val - 1); - false_reg->smin_value = max_t(s64, false_reg->smin_value, val); - break; - case BPF_JLT: - true_reg->umin_value = max(true_reg->umin_value, val + 1); - false_reg->umax_value = min(false_reg->umax_value, val); - break; - case BPF_JSLT: - true_reg->smin_value = max_t(s64, true_reg->smin_value, val + 1); - false_reg->smax_value = min_t(s64, false_reg->smax_value, val); - break; - case BPF_JGE: - true_reg->umax_value = min(true_reg->umax_value, val); - false_reg->umin_value = max(false_reg->umin_value, val + 1); - break; - case BPF_JSGE: - true_reg->smax_value = min_t(s64, true_reg->smax_value, val); - false_reg->smin_value = max_t(s64, false_reg->smin_value, val + 1); - break; - case BPF_JLE: - true_reg->umin_value = max(true_reg->umin_value, val); - false_reg->umax_value = min(false_reg->umax_value, val - 1); - break; - case BPF_JSLE: - true_reg->smin_value = max_t(s64, true_reg->smin_value, val); - false_reg->smax_value = min_t(s64, false_reg->smax_value, val - 1); - break; - default: - break; - } - - __reg_deduce_bounds(false_reg); - __reg_deduce_bounds(true_reg); - /* We might have learned some bits from the bounds. */ - __reg_bound_offset(false_reg); - __reg_bound_offset(true_reg); - /* Intersecting with the old var_off might have improved our bounds - * slightly. e.g. if umax was 0x7f...f and var_off was (0; 0xf...fc), - * then new var_off is (0; 0x7f...fc) which improves our umax. - */ - __update_reg_bounds(false_reg); - __update_reg_bounds(true_reg); -} - -/* Regs are known to be equal, so intersect their min/max/var_off */ -static void __reg_combine_min_max(struct bpf_reg_state *src_reg, - struct bpf_reg_state *dst_reg) -{ - src_reg->umin_value = dst_reg->umin_value = max(src_reg->umin_value, - dst_reg->umin_value); - src_reg->umax_value = dst_reg->umax_value = min(src_reg->umax_value, - dst_reg->umax_value); - src_reg->smin_value = dst_reg->smin_value = max(src_reg->smin_value, - dst_reg->smin_value); - src_reg->smax_value = dst_reg->smax_value = min(src_reg->smax_value, - dst_reg->smax_value); - src_reg->var_off = dst_reg->var_off = tnum_intersect(src_reg->var_off, - dst_reg->var_off); - /* We might have learned new bounds from the var_off. */ - __update_reg_bounds(src_reg); - __update_reg_bounds(dst_reg); - /* We might have learned something about the sign bit. */ - __reg_deduce_bounds(src_reg); - __reg_deduce_bounds(dst_reg); - /* We might have learned some bits from the bounds. */ - __reg_bound_offset(src_reg); - __reg_bound_offset(dst_reg); - /* Intersecting with the old var_off might have improved our bounds - * slightly. e.g. if umax was 0x7f...f and var_off was (0; 0xf...fc), - * then new var_off is (0; 0x7f...fc) which improves our umax. - */ - __update_reg_bounds(src_reg); - __update_reg_bounds(dst_reg); -} - -static void reg_combine_min_max(struct bpf_reg_state *true_src, - struct bpf_reg_state *true_dst, - struct bpf_reg_state *false_src, - struct bpf_reg_state *false_dst, - u8 opcode) -{ - switch (opcode) { - case BPF_JEQ: - __reg_combine_min_max(true_src, true_dst); - break; - case BPF_JNE: - __reg_combine_min_max(false_src, false_dst); - break; - } -} - -static void mark_map_reg(struct bpf_reg_state *regs, u32 regno, u32 id, - bool is_null) -{ - struct bpf_reg_state *reg = ®s[regno]; - - if (reg->type == PTR_TO_MAP_VALUE_OR_NULL && reg->id == id) { - /* Old offset (both fixed and variable parts) should - * have been known-zero, because we don't allow pointer - * arithmetic on pointers that might be NULL. - */ - if (WARN_ON_ONCE(reg->smin_value || reg->smax_value || - !tnum_equals_const(reg->var_off, 0) || - reg->off)) { - __mark_reg_known_zero(reg); - reg->off = 0; - } - if (is_null) { - reg->type = SCALAR_VALUE; - } else if (reg->map_ptr->inner_map_meta) { - reg->type = CONST_PTR_TO_MAP; - reg->map_ptr = reg->map_ptr->inner_map_meta; - } else { - reg->type = PTR_TO_MAP_VALUE; - } - /* We don't need id from this point onwards anymore, thus we - * should better reset it, so that state pruning has chances - * to take effect. - */ - reg->id = 0; - } -} - -/* The logic is similar to find_good_pkt_pointers(), both could eventually - * be folded together at some point. - */ -static void mark_map_regs(struct bpf_verifier_state *vstate, u32 regno, - bool is_null) -{ - struct bpf_func_state *state = vstate->frame[vstate->curframe]; - struct bpf_reg_state *regs = state->regs; - u32 id = regs[regno].id; - int i, j; - - for (i = 0; i < MAX_BPF_REG; i++) - mark_map_reg(regs, i, id, is_null); - - for (j = 0; j <= vstate->curframe; j++) { - state = vstate->frame[j]; - for (i = 0; i < state->allocated_stack / BPF_REG_SIZE; i++) { - if (state->stack[i].slot_type[0] != STACK_SPILL) - continue; - mark_map_reg(&state->stack[i].spilled_ptr, 0, id, is_null); - } - } -} - -static bool try_match_pkt_pointers(const struct bpf_insn *insn, - struct bpf_reg_state *dst_reg, - struct bpf_reg_state *src_reg, - struct bpf_verifier_state *this_branch, - struct bpf_verifier_state *other_branch) -{ - if (BPF_SRC(insn->code) != BPF_X) - return false; - - switch (BPF_OP(insn->code)) { - case BPF_JGT: - if ((dst_reg->type == PTR_TO_PACKET && - src_reg->type == PTR_TO_PACKET_END) || - (dst_reg->type == PTR_TO_PACKET_META && - reg_is_init_pkt_pointer(src_reg, PTR_TO_PACKET))) { - /* pkt_data' > pkt_end, pkt_meta' > pkt_data */ - find_good_pkt_pointers(this_branch, dst_reg, - dst_reg->type, false); - } else if ((dst_reg->type == PTR_TO_PACKET_END && - src_reg->type == PTR_TO_PACKET) || - (reg_is_init_pkt_pointer(dst_reg, PTR_TO_PACKET) && - src_reg->type == PTR_TO_PACKET_META)) { - /* pkt_end > pkt_data', pkt_data > pkt_meta' */ - find_good_pkt_pointers(other_branch, src_reg, - src_reg->type, true); - } else { - return false; - } - break; - case BPF_JLT: - if ((dst_reg->type == PTR_TO_PACKET && - src_reg->type == PTR_TO_PACKET_END) || - (dst_reg->type == PTR_TO_PACKET_META && - reg_is_init_pkt_pointer(src_reg, PTR_TO_PACKET))) { - /* pkt_data' < pkt_end, pkt_meta' < pkt_data */ - find_good_pkt_pointers(other_branch, dst_reg, - dst_reg->type, true); - } else if ((dst_reg->type == PTR_TO_PACKET_END && - src_reg->type == PTR_TO_PACKET) || - (reg_is_init_pkt_pointer(dst_reg, PTR_TO_PACKET) && - src_reg->type == PTR_TO_PACKET_META)) { - /* pkt_end < pkt_data', pkt_data > pkt_meta' */ - find_good_pkt_pointers(this_branch, src_reg, - src_reg->type, false); - } else { - return false; - } - break; - case BPF_JGE: - if ((dst_reg->type == PTR_TO_PACKET && - src_reg->type == PTR_TO_PACKET_END) || - (dst_reg->type == PTR_TO_PACKET_META && - reg_is_init_pkt_pointer(src_reg, PTR_TO_PACKET))) { - /* pkt_data' >= pkt_end, pkt_meta' >= pkt_data */ - find_good_pkt_pointers(this_branch, dst_reg, - dst_reg->type, true); - } else if ((dst_reg->type == PTR_TO_PACKET_END && - src_reg->type == PTR_TO_PACKET) || - (reg_is_init_pkt_pointer(dst_reg, PTR_TO_PACKET) && - src_reg->type == PTR_TO_PACKET_META)) { - /* pkt_end >= pkt_data', pkt_data >= pkt_meta' */ - find_good_pkt_pointers(other_branch, src_reg, - src_reg->type, false); - } else { - return false; - } - break; - case BPF_JLE: - if ((dst_reg->type == PTR_TO_PACKET && - src_reg->type == PTR_TO_PACKET_END) || - (dst_reg->type == PTR_TO_PACKET_META && - reg_is_init_pkt_pointer(src_reg, PTR_TO_PACKET))) { - /* pkt_data' <= pkt_end, pkt_meta' <= pkt_data */ - find_good_pkt_pointers(other_branch, dst_reg, - dst_reg->type, false); - } else if ((dst_reg->type == PTR_TO_PACKET_END && - src_reg->type == PTR_TO_PACKET) || - (reg_is_init_pkt_pointer(dst_reg, PTR_TO_PACKET) && - src_reg->type == PTR_TO_PACKET_META)) { - /* pkt_end <= pkt_data', pkt_data <= pkt_meta' */ - find_good_pkt_pointers(this_branch, src_reg, - src_reg->type, true); - } else { - return false; - } - break; - default: - return false; - } - - return true; -} - -static int check_cond_jmp_op(struct bpf_verifier_env *env, - struct bpf_insn *insn, int *insn_idx) -{ - struct bpf_verifier_state *this_branch = env->cur_state; - struct bpf_verifier_state *other_branch; - struct bpf_reg_state *regs = this_branch->frame[this_branch->curframe]->regs; - struct bpf_reg_state *dst_reg, *other_branch_regs; - u8 opcode = BPF_OP(insn->code); - int err; - - if (opcode > BPF_JSLE) { - verbose(env, "invalid BPF_JMP opcode %x\n", opcode); - return -EINVAL; - } - - if (BPF_SRC(insn->code) == BPF_X) { - if (insn->imm != 0) { - verbose(env, "BPF_JMP uses reserved fields\n"); - return -EINVAL; - } - - /* check src1 operand */ - err = check_reg_arg(env, insn->src_reg, SRC_OP); - if (err) - return err; - - if (is_pointer_value(env, insn->src_reg)) { - verbose(env, "R%d pointer comparison prohibited\n", - insn->src_reg); - return -EACCES; - } - } else { - if (insn->src_reg != BPF_REG_0) { - verbose(env, "BPF_JMP uses reserved fields\n"); - return -EINVAL; - } - } - - /* check src2 operand */ - err = check_reg_arg(env, insn->dst_reg, SRC_OP); - if (err) - return err; - - dst_reg = ®s[insn->dst_reg]; - - /* detect if R == 0 where R was initialized to zero earlier */ - if (BPF_SRC(insn->code) == BPF_K && - (opcode == BPF_JEQ || opcode == BPF_JNE) && - dst_reg->type == SCALAR_VALUE && - tnum_is_const(dst_reg->var_off)) { - if ((opcode == BPF_JEQ && dst_reg->var_off.value == insn->imm) || - (opcode == BPF_JNE && dst_reg->var_off.value != insn->imm)) { - /* if (imm == imm) goto pc+off; - * only follow the goto, ignore fall-through - */ - *insn_idx += insn->off; - return 0; - } else { - /* if (imm != imm) goto pc+off; - * only follow fall-through branch, since - * that's where the program will go - */ - return 0; - } - } - - other_branch = push_stack(env, *insn_idx + insn->off + 1, *insn_idx, - false); - if (!other_branch) - return -EFAULT; - other_branch_regs = other_branch->frame[other_branch->curframe]->regs; - - /* detect if we are comparing against a constant value so we can adjust - * our min/max values for our dst register. - * this is only legit if both are scalars (or pointers to the same - * object, I suppose, but we don't support that right now), because - * otherwise the different base pointers mean the offsets aren't - * comparable. - */ - if (BPF_SRC(insn->code) == BPF_X) { - if (dst_reg->type == SCALAR_VALUE && - regs[insn->src_reg].type == SCALAR_VALUE) { - if (tnum_is_const(regs[insn->src_reg].var_off)) - reg_set_min_max(&other_branch_regs[insn->dst_reg], - dst_reg, regs[insn->src_reg].var_off.value, - opcode); - else if (tnum_is_const(dst_reg->var_off)) - reg_set_min_max_inv(&other_branch_regs[insn->src_reg], - ®s[insn->src_reg], - dst_reg->var_off.value, opcode); - else if (opcode == BPF_JEQ || opcode == BPF_JNE) - /* Comparing for equality, we can combine knowledge */ - reg_combine_min_max(&other_branch_regs[insn->src_reg], - &other_branch_regs[insn->dst_reg], - ®s[insn->src_reg], - ®s[insn->dst_reg], opcode); - } - } else if (dst_reg->type == SCALAR_VALUE) { - reg_set_min_max(&other_branch_regs[insn->dst_reg], - dst_reg, insn->imm, opcode); - } - - /* detect if R == 0 where R is returned from bpf_map_lookup_elem() */ - if (BPF_SRC(insn->code) == BPF_K && - insn->imm == 0 && (opcode == BPF_JEQ || opcode == BPF_JNE) && - dst_reg->type == PTR_TO_MAP_VALUE_OR_NULL) { - /* Mark all identical map registers in each branch as either - * safe or unknown depending R == 0 or R != 0 conditional. - */ - mark_map_regs(this_branch, insn->dst_reg, opcode == BPF_JNE); - mark_map_regs(other_branch, insn->dst_reg, opcode == BPF_JEQ); - } else if (!try_match_pkt_pointers(insn, dst_reg, ®s[insn->src_reg], - this_branch, other_branch) && - is_pointer_value(env, insn->dst_reg)) { - verbose(env, "R%d pointer comparison prohibited\n", - insn->dst_reg); - return -EACCES; - } - if (env->log.level) - print_verifier_state(env, this_branch->frame[this_branch->curframe]); - return 0; -} - -/* return the map pointer stored inside BPF_LD_IMM64 instruction */ -static struct bpf_map *ld_imm64_to_map_ptr(struct bpf_insn *insn) -{ - u64 imm64 = ((u64) (u32) insn[0].imm) | ((u64) (u32) insn[1].imm) << 32; - - return (struct bpf_map *) (unsigned long) imm64; -} - -/* verify BPF_LD_IMM64 instruction */ -static int check_ld_imm(struct bpf_verifier_env *env, struct bpf_insn *insn) -{ - struct bpf_reg_state *regs = cur_regs(env); - int err; - - if (BPF_SIZE(insn->code) != BPF_DW) { - verbose(env, "invalid BPF_LD_IMM insn\n"); - return -EINVAL; - } - if (insn->off != 0) { - verbose(env, "BPF_LD_IMM64 uses reserved fields\n"); - return -EINVAL; - } - - err = check_reg_arg(env, insn->dst_reg, DST_OP); - if (err) - return err; - - if (insn->src_reg == 0) { - u64 imm = ((u64)(insn + 1)->imm << 32) | (u32)insn->imm; - - regs[insn->dst_reg].type = SCALAR_VALUE; - __mark_reg_known(®s[insn->dst_reg], imm); - return 0; - } - - /* replace_map_fd_with_map_ptr() should have caught bad ld_imm64 */ - BUG_ON(insn->src_reg != BPF_PSEUDO_MAP_FD); - - regs[insn->dst_reg].type = CONST_PTR_TO_MAP; - regs[insn->dst_reg].map_ptr = ld_imm64_to_map_ptr(insn); - return 0; -} - -static bool may_access_skb(enum bpf_prog_type type) -{ - switch (type) { - case BPF_PROG_TYPE_SOCKET_FILTER: - case BPF_PROG_TYPE_SCHED_CLS: - case BPF_PROG_TYPE_SCHED_ACT: - return true; - default: - return false; - } -} - -/* verify safety of LD_ABS|LD_IND instructions: - * - they can only appear in the programs where ctx == skb - * - since they are wrappers of function calls, they scratch R1-R5 registers, - * preserve R6-R9, and store return value into R0 - * - * Implicit input: - * ctx == skb == R6 == CTX - * - * Explicit input: - * SRC == any register - * IMM == 32-bit immediate - * - * Output: - * R0 - 8/16/32-bit skb data converted to cpu endianness - */ -static int check_ld_abs(struct bpf_verifier_env *env, struct bpf_insn *insn) -{ - struct bpf_reg_state *regs = cur_regs(env); - u8 mode = BPF_MODE(insn->code); - int i, err; - - if (!may_access_skb(env->prog->type)) { - verbose(env, "BPF_LD_[ABS|IND] instructions not allowed for this program type\n"); - return -EINVAL; - } - - if (env->subprog_cnt > 1) { - /* when program has LD_ABS insn JITs and interpreter assume - * that r1 == ctx == skb which is not the case for callees - * that can have arbitrary arguments. It's problematic - * for main prog as well since JITs would need to analyze - * all functions in order to make proper register save/restore - * decisions in the main prog. Hence disallow LD_ABS with calls - */ - verbose(env, "BPF_LD_[ABS|IND] instructions cannot be mixed with bpf-to-bpf calls\n"); - return -EINVAL; - } - - if (insn->dst_reg != BPF_REG_0 || insn->off != 0 || - BPF_SIZE(insn->code) == BPF_DW || - (mode == BPF_ABS && insn->src_reg != BPF_REG_0)) { - verbose(env, "BPF_LD_[ABS|IND] uses reserved fields\n"); - return -EINVAL; - } - - /* check whether implicit source operand (register R6) is readable */ - err = check_reg_arg(env, BPF_REG_6, SRC_OP); - if (err) - return err; - - if (regs[BPF_REG_6].type != PTR_TO_CTX) { - verbose(env, - "at the time of BPF_LD_ABS|IND R6 != pointer to skb\n"); - return -EINVAL; - } - - if (mode == BPF_IND) { - /* check explicit source operand */ - err = check_reg_arg(env, insn->src_reg, SRC_OP); - if (err) - return err; - } - - /* reset caller saved regs to unreadable */ - for (i = 0; i < CALLER_SAVED_REGS; i++) { - mark_reg_not_init(env, regs, caller_saved[i]); - check_reg_arg(env, caller_saved[i], DST_OP_NO_MARK); - } - - /* mark destination R0 register as readable, since it contains - * the value fetched from the packet. - * Already marked as written above. - */ - mark_reg_unknown(env, regs, BPF_REG_0); - return 0; -} - -static int check_return_code(struct bpf_verifier_env *env) -{ - struct bpf_reg_state *reg; - struct tnum range = tnum_range(0, 1); - - switch (env->prog->type) { - case BPF_PROG_TYPE_CGROUP_SKB: - case BPF_PROG_TYPE_CGROUP_SOCK: - case BPF_PROG_TYPE_SOCK_OPS: - break; - default: - return 0; - } - - reg = cur_regs(env) + BPF_REG_0; - if (reg->type != SCALAR_VALUE) { - verbose(env, "At program exit the register R0 is not a known value (%s)\n", - reg_type_str[reg->type]); - return -EINVAL; - } - - if (!tnum_in(range, reg->var_off)) { - verbose(env, "At program exit the register R0 "); - if (!tnum_is_unknown(reg->var_off)) { - char tn_buf[48]; - - tnum_strn(tn_buf, sizeof(tn_buf), reg->var_off); - verbose(env, "has value %s", tn_buf); - } else { - verbose(env, "has unknown scalar value"); - } - verbose(env, " should have been 0 or 1\n"); - return -EINVAL; - } - return 0; -} - -/* non-recursive DFS pseudo code - * 1 procedure DFS-iterative(G,v): - * 2 label v as discovered - * 3 let S be a stack - * 4 S.push(v) - * 5 while S is not empty - * 6 t <- S.pop() - * 7 if t is what we're looking for: - * 8 return t - * 9 for all edges e in G.adjacentEdges(t) do - * 10 if edge e is already labelled - * 11 continue with the next edge - * 12 w <- G.adjacentVertex(t,e) - * 13 if vertex w is not discovered and not explored - * 14 label e as tree-edge - * 15 label w as discovered - * 16 S.push(w) - * 17 continue at 5 - * 18 else if vertex w is discovered - * 19 label e as back-edge - * 20 else - * 21 // vertex w is explored - * 22 label e as forward- or cross-edge - * 23 label t as explored - * 24 S.pop() - * - * convention: - * 0x10 - discovered - * 0x11 - discovered and fall-through edge labelled - * 0x12 - discovered and fall-through and branch edges labelled - * 0x20 - explored - */ - -enum { - DISCOVERED = 0x10, - EXPLORED = 0x20, - FALLTHROUGH = 1, - BRANCH = 2, -}; - -#define STATE_LIST_MARK ((struct bpf_verifier_state_list *) -1L) - -static int *insn_stack; /* stack of insns to process */ -static int cur_stack; /* current stack index */ -static int *insn_state; - -/* t, w, e - match pseudo-code above: - * t - index of current instruction - * w - next instruction - * e - edge - */ -static int push_insn(int t, int w, int e, struct bpf_verifier_env *env) -{ - if (e == FALLTHROUGH && insn_state[t] >= (DISCOVERED | FALLTHROUGH)) - return 0; - - if (e == BRANCH && insn_state[t] >= (DISCOVERED | BRANCH)) - return 0; - - if (w < 0 || w >= env->prog->len) { - verbose(env, "jump out of range from insn %d to %d\n", t, w); - return -EINVAL; - } - - if (e == BRANCH) - /* mark branch target for state pruning */ - env->explored_states[w] = STATE_LIST_MARK; - - if (insn_state[w] == 0) { - /* tree-edge */ - insn_state[t] = DISCOVERED | e; - insn_state[w] = DISCOVERED; - if (cur_stack >= env->prog->len) - return -E2BIG; - insn_stack[cur_stack++] = w; - return 1; - } else if ((insn_state[w] & 0xF0) == DISCOVERED) { - verbose(env, "back-edge from insn %d to %d\n", t, w); - return -EINVAL; - } else if (insn_state[w] == EXPLORED) { - /* forward- or cross-edge */ - insn_state[t] = DISCOVERED | e; - } else { - verbose(env, "insn state internal bug\n"); - return -EFAULT; - } - return 0; -} - -/* non-recursive depth-first-search to detect loops in BPF program - * loop == back-edge in directed graph - */ -static int check_cfg(struct bpf_verifier_env *env) -{ - struct bpf_insn *insns = env->prog->insnsi; - int insn_cnt = env->prog->len; - int ret = 0; - int i, t; - - ret = check_subprogs(env); - if (ret < 0) - return ret; - - insn_state = kcalloc(insn_cnt, sizeof(int), GFP_KERNEL); - if (!insn_state) - return -ENOMEM; - - insn_stack = kcalloc(insn_cnt, sizeof(int), GFP_KERNEL); - if (!insn_stack) { - kfree(insn_state); - return -ENOMEM; - } - - insn_state[0] = DISCOVERED; /* mark 1st insn as discovered */ - insn_stack[0] = 0; /* 0 is the first instruction */ - cur_stack = 1; - -peek_stack: - if (cur_stack == 0) - goto check_state; - t = insn_stack[cur_stack - 1]; - - if (BPF_CLASS(insns[t].code) == BPF_JMP) { - u8 opcode = BPF_OP(insns[t].code); - - if (opcode == BPF_EXIT) { - goto mark_explored; - } else if (opcode == BPF_CALL) { - ret = push_insn(t, t + 1, FALLTHROUGH, env); - if (ret == 1) - goto peek_stack; - else if (ret < 0) - goto err_free; - if (t + 1 < insn_cnt) - env->explored_states[t + 1] = STATE_LIST_MARK; - if (insns[t].src_reg == BPF_PSEUDO_CALL) { - env->explored_states[t] = STATE_LIST_MARK; - ret = push_insn(t, t + insns[t].imm + 1, BRANCH, env); - if (ret == 1) - goto peek_stack; - else if (ret < 0) - goto err_free; - } - } else if (opcode == BPF_JA) { - if (BPF_SRC(insns[t].code) != BPF_K) { - ret = -EINVAL; - goto err_free; - } - /* unconditional jump with single edge */ - ret = push_insn(t, t + insns[t].off + 1, - FALLTHROUGH, env); - if (ret == 1) - goto peek_stack; - else if (ret < 0) - goto err_free; - /* tell verifier to check for equivalent states - * after every call and jump - */ - if (t + 1 < insn_cnt) - env->explored_states[t + 1] = STATE_LIST_MARK; - } else { - /* conditional jump with two edges */ - env->explored_states[t] = STATE_LIST_MARK; - ret = push_insn(t, t + 1, FALLTHROUGH, env); - if (ret == 1) - goto peek_stack; - else if (ret < 0) - goto err_free; - - ret = push_insn(t, t + insns[t].off + 1, BRANCH, env); - if (ret == 1) - goto peek_stack; - else if (ret < 0) - goto err_free; - } - } else { - /* all other non-branch instructions with single - * fall-through edge - */ - ret = push_insn(t, t + 1, FALLTHROUGH, env); - if (ret == 1) - goto peek_stack; - else if (ret < 0) - goto err_free; - } - -mark_explored: - insn_state[t] = EXPLORED; - if (cur_stack-- <= 0) { - verbose(env, "pop stack internal bug\n"); - ret = -EFAULT; - goto err_free; - } - goto peek_stack; - -check_state: - for (i = 0; i < insn_cnt; i++) { - if (insn_state[i] != EXPLORED) { - verbose(env, "unreachable insn %d\n", i); - ret = -EINVAL; - goto err_free; - } - } - ret = 0; /* cfg looks good */ - -err_free: - kfree(insn_state); - kfree(insn_stack); - return ret; -} - -/* check %cur's range satisfies %old's */ -static bool range_within(struct bpf_reg_state *old, - struct bpf_reg_state *cur) -{ - return old->umin_value <= cur->umin_value && - old->umax_value >= cur->umax_value && - old->smin_value <= cur->smin_value && - old->smax_value >= cur->smax_value; -} - -/* Maximum number of register states that can exist at once */ -#define ID_MAP_SIZE (MAX_BPF_REG + MAX_BPF_STACK / BPF_REG_SIZE) -struct idpair { - u32 old; - u32 cur; -}; - -/* If in the old state two registers had the same id, then they need to have - * the same id in the new state as well. But that id could be different from - * the old state, so we need to track the mapping from old to new ids. - * Once we have seen that, say, a reg with old id 5 had new id 9, any subsequent - * regs with old id 5 must also have new id 9 for the new state to be safe. But - * regs with a different old id could still have new id 9, we don't care about - * that. - * So we look through our idmap to see if this old id has been seen before. If - * so, we require the new id to match; otherwise, we add the id pair to the map. - */ -static bool check_ids(u32 old_id, u32 cur_id, struct idpair *idmap) -{ - unsigned int i; - - for (i = 0; i < ID_MAP_SIZE; i++) { - if (!idmap[i].old) { - /* Reached an empty slot; haven't seen this id before */ - idmap[i].old = old_id; - idmap[i].cur = cur_id; - return true; - } - if (idmap[i].old == old_id) - return idmap[i].cur == cur_id; - } - /* We ran out of idmap slots, which should be impossible */ - WARN_ON_ONCE(1); - return false; -} - -/* Returns true if (rold safe implies rcur safe) */ -static bool regsafe(struct bpf_reg_state *rold, struct bpf_reg_state *rcur, - struct idpair *idmap) -{ - bool equal; - - if (!(rold->live & REG_LIVE_READ)) - /* explored state didn't use this */ - return true; - - equal = memcmp(rold, rcur, offsetof(struct bpf_reg_state, frameno)) == 0; - - if (rold->type == PTR_TO_STACK) - /* two stack pointers are equal only if they're pointing to - * the same stack frame, since fp-8 in foo != fp-8 in bar - */ - return equal && rold->frameno == rcur->frameno; - - if (equal) - return true; - - if (rold->type == NOT_INIT) - /* explored state can't have used this */ - return true; - if (rcur->type == NOT_INIT) - return false; - switch (rold->type) { - case SCALAR_VALUE: - if (rcur->type == SCALAR_VALUE) { - /* new val must satisfy old val knowledge */ - return range_within(rold, rcur) && - tnum_in(rold->var_off, rcur->var_off); - } else { - /* We're trying to use a pointer in place of a scalar. - * Even if the scalar was unbounded, this could lead to - * pointer leaks because scalars are allowed to leak - * while pointers are not. We could make this safe in - * special cases if root is calling us, but it's - * probably not worth the hassle. - */ - return false; - } - case PTR_TO_MAP_VALUE: - /* If the new min/max/var_off satisfy the old ones and - * everything else matches, we are OK. - * We don't care about the 'id' value, because nothing - * uses it for PTR_TO_MAP_VALUE (only for ..._OR_NULL) - */ - return memcmp(rold, rcur, offsetof(struct bpf_reg_state, id)) == 0 && - range_within(rold, rcur) && - tnum_in(rold->var_off, rcur->var_off); - case PTR_TO_MAP_VALUE_OR_NULL: - /* a PTR_TO_MAP_VALUE could be safe to use as a - * PTR_TO_MAP_VALUE_OR_NULL into the same map. - * However, if the old PTR_TO_MAP_VALUE_OR_NULL then got NULL- - * checked, doing so could have affected others with the same - * id, and we can't check for that because we lost the id when - * we converted to a PTR_TO_MAP_VALUE. - */ - if (rcur->type != PTR_TO_MAP_VALUE_OR_NULL) - return false; - if (memcmp(rold, rcur, offsetof(struct bpf_reg_state, id))) - return false; - /* Check our ids match any regs they're supposed to */ - return check_ids(rold->id, rcur->id, idmap); - case PTR_TO_PACKET_META: - case PTR_TO_PACKET: - if (rcur->type != rold->type) - return false; - /* We must have at least as much range as the old ptr - * did, so that any accesses which were safe before are - * still safe. This is true even if old range < old off, - * since someone could have accessed through (ptr - k), or - * even done ptr -= k in a register, to get a safe access. - */ - if (rold->range > rcur->range) - return false; - /* If the offsets don't match, we can't trust our alignment; - * nor can we be sure that we won't fall out of range. - */ - if (rold->off != rcur->off) - return false; - /* id relations must be preserved */ - if (rold->id && !check_ids(rold->id, rcur->id, idmap)) - return false; - /* new val must satisfy old val knowledge */ - return range_within(rold, rcur) && - tnum_in(rold->var_off, rcur->var_off); - case PTR_TO_CTX: - case CONST_PTR_TO_MAP: - case PTR_TO_PACKET_END: - /* Only valid matches are exact, which memcmp() above - * would have accepted - */ - default: - /* Don't know what's going on, just say it's not safe */ - return false; - } - - /* Shouldn't get here; if we do, say it's not safe */ - WARN_ON_ONCE(1); - return false; -} - -static bool stacksafe(struct bpf_func_state *old, - struct bpf_func_state *cur, - struct idpair *idmap) -{ - int i, spi; - - /* if explored stack has more populated slots than current stack - * such stacks are not equivalent - */ - if (old->allocated_stack > cur->allocated_stack) - return false; - - /* walk slots of the explored stack and ignore any additional - * slots in the current stack, since explored(safe) state - * didn't use them - */ - for (i = 0; i < old->allocated_stack; i++) { - spi = i / BPF_REG_SIZE; - - if (!(old->stack[spi].spilled_ptr.live & REG_LIVE_READ)) - /* explored state didn't use this */ - continue; - - if (old->stack[spi].slot_type[i % BPF_REG_SIZE] == STACK_INVALID) - continue; - /* if old state was safe with misc data in the stack - * it will be safe with zero-initialized stack. - * The opposite is not true - */ - if (old->stack[spi].slot_type[i % BPF_REG_SIZE] == STACK_MISC && - cur->stack[spi].slot_type[i % BPF_REG_SIZE] == STACK_ZERO) - continue; - if (old->stack[spi].slot_type[i % BPF_REG_SIZE] != - cur->stack[spi].slot_type[i % BPF_REG_SIZE]) - /* Ex: old explored (safe) state has STACK_SPILL in - * this stack slot, but current has has STACK_MISC -> - * this verifier states are not equivalent, - * return false to continue verification of this path - */ - return false; - if (i % BPF_REG_SIZE) - continue; - if (old->stack[spi].slot_type[0] != STACK_SPILL) - continue; - if (!regsafe(&old->stack[spi].spilled_ptr, - &cur->stack[spi].spilled_ptr, - idmap)) - /* when explored and current stack slot are both storing - * spilled registers, check that stored pointers types - * are the same as well. - * Ex: explored safe path could have stored - * (bpf_reg_state) {.type = PTR_TO_STACK, .off = -8} - * but current path has stored: - * (bpf_reg_state) {.type = PTR_TO_STACK, .off = -16} - * such verifier states are not equivalent. - * return false to continue verification of this path - */ - return false; - } - return true; -} - -/* compare two verifier states - * - * all states stored in state_list are known to be valid, since - * verifier reached 'bpf_exit' instruction through them - * - * this function is called when verifier exploring different branches of - * execution popped from the state stack. If it sees an old state that has - * more strict register state and more strict stack state then this execution - * branch doesn't need to be explored further, since verifier already - * concluded that more strict state leads to valid finish. - * - * Therefore two states are equivalent if register state is more conservative - * and explored stack state is more conservative than the current one. - * Example: - * explored current - * (slot1=INV slot2=MISC) == (slot1=MISC slot2=MISC) - * (slot1=MISC slot2=MISC) != (slot1=INV slot2=MISC) - * - * In other words if current stack state (one being explored) has more - * valid slots than old one that already passed validation, it means - * the verifier can stop exploring and conclude that current state is valid too - * - * Similarly with registers. If explored state has register type as invalid - * whereas register type in current state is meaningful, it means that - * the current state will reach 'bpf_exit' instruction safely - */ -static bool func_states_equal(struct bpf_func_state *old, - struct bpf_func_state *cur) -{ - struct idpair *idmap; - bool ret = false; - int i; - - idmap = kcalloc(ID_MAP_SIZE, sizeof(struct idpair), GFP_KERNEL); - /* If we failed to allocate the idmap, just say it's not safe */ - if (!idmap) - return false; - - for (i = 0; i < MAX_BPF_REG; i++) { - if (!regsafe(&old->regs[i], &cur->regs[i], idmap)) - goto out_free; - } - - if (!stacksafe(old, cur, idmap)) - goto out_free; - ret = true; -out_free: - kfree(idmap); - return ret; -} - -static bool states_equal(struct bpf_verifier_env *env, - struct bpf_verifier_state *old, - struct bpf_verifier_state *cur) -{ - int i; - - if (old->curframe != cur->curframe) - return false; - - /* Verification state from speculative execution simulation - * must never prune a non-speculative execution one. - */ - if (old->speculative && !cur->speculative) - return false; - - /* for states to be equal callsites have to be the same - * and all frame states need to be equivalent - */ - for (i = 0; i <= old->curframe; i++) { - if (old->frame[i]->callsite != cur->frame[i]->callsite) - return false; - if (!func_states_equal(old->frame[i], cur->frame[i])) - return false; - } - return true; -} - -/* A write screens off any subsequent reads; but write marks come from the - * straight-line code between a state and its parent. When we arrive at an - * equivalent state (jump target or such) we didn't arrive by the straight-line - * code, so read marks in the state must propagate to the parent regardless - * of the state's write marks. That's what 'parent == state->parent' comparison - * in mark_reg_read() and mark_stack_slot_read() is for. - */ -static int propagate_liveness(struct bpf_verifier_env *env, - const struct bpf_verifier_state *vstate, - struct bpf_verifier_state *vparent) -{ - int i, frame, err = 0; - struct bpf_func_state *state, *parent; - - if (vparent->curframe != vstate->curframe) { - WARN(1, "propagate_live: parent frame %d current frame %d\n", - vparent->curframe, vstate->curframe); - return -EFAULT; - } - /* Propagate read liveness of registers... */ - BUILD_BUG_ON(BPF_REG_FP + 1 != MAX_BPF_REG); - /* We don't need to worry about FP liveness because it's read-only */ - for (i = 0; i < BPF_REG_FP; i++) { - if (vparent->frame[vparent->curframe]->regs[i].live & REG_LIVE_READ) - continue; - if (vstate->frame[vstate->curframe]->regs[i].live & REG_LIVE_READ) { - err = mark_reg_read(env, vstate, vparent, i); - if (err) - return err; - } - } - - /* ... and stack slots */ - for (frame = 0; frame <= vstate->curframe; frame++) { - state = vstate->frame[frame]; - parent = vparent->frame[frame]; - for (i = 0; i < state->allocated_stack / BPF_REG_SIZE && - i < parent->allocated_stack / BPF_REG_SIZE; i++) { - if (parent->stack[i].spilled_ptr.live & REG_LIVE_READ) - continue; - if (state->stack[i].spilled_ptr.live & REG_LIVE_READ) - mark_stack_slot_read(env, vstate, vparent, i, frame); - } - } - return err; -} - -static int is_state_visited(struct bpf_verifier_env *env, int insn_idx) -{ - struct bpf_verifier_state_list *new_sl; - struct bpf_verifier_state_list *sl; - struct bpf_verifier_state *cur = env->cur_state; - int i, j, err; - - sl = env->explored_states[insn_idx]; - if (!sl) - /* this 'insn_idx' instruction wasn't marked, so we will not - * be doing state search here - */ - return 0; - - while (sl != STATE_LIST_MARK) { - if (states_equal(env, &sl->state, cur)) { - /* reached equivalent register/stack state, - * prune the search. - * Registers read by the continuation are read by us. - * If we have any write marks in env->cur_state, they - * will prevent corresponding reads in the continuation - * from reaching our parent (an explored_state). Our - * own state will get the read marks recorded, but - * they'll be immediately forgotten as we're pruning - * this state and will pop a new one. - */ - err = propagate_liveness(env, &sl->state, cur); - if (err) - return err; - return 1; - } - sl = sl->next; - } - - /* there were no equivalent states, remember current one. - * technically the current state is not proven to be safe yet, - * but it will either reach outer most bpf_exit (which means it's safe) - * or it will be rejected. Since there are no loops, we won't be - * seeing this tuple (frame[0].callsite, frame[1].callsite, .. insn_idx) - * again on the way to bpf_exit - */ - new_sl = kzalloc(sizeof(struct bpf_verifier_state_list), GFP_KERNEL); - if (!new_sl) - return -ENOMEM; - - /* add new state to the head of linked list */ - err = copy_verifier_state(&new_sl->state, cur); - if (err) { - free_verifier_state(&new_sl->state, false); - kfree(new_sl); - return err; - } - new_sl->next = env->explored_states[insn_idx]; - env->explored_states[insn_idx] = new_sl; - /* connect new state to parentage chain */ - cur->parent = &new_sl->state; - /* clear write marks in current state: the writes we did are not writes - * our child did, so they don't screen off its reads from us. - * (There are no read marks in current state, because reads always mark - * their parent and current state never has children yet. Only - * explored_states can get read marks.) - */ - for (i = 0; i < BPF_REG_FP; i++) - cur->frame[cur->curframe]->regs[i].live = REG_LIVE_NONE; - - /* all stack frames are accessible from callee, clear them all */ - for (j = 0; j <= cur->curframe; j++) { - struct bpf_func_state *frame = cur->frame[j]; - - for (i = 0; i < frame->allocated_stack / BPF_REG_SIZE; i++) - frame->stack[i].spilled_ptr.live = REG_LIVE_NONE; - } - return 0; -} - -static int ext_analyzer_insn_hook(struct bpf_verifier_env *env, - int insn_idx, int prev_insn_idx) -{ - if (!env->analyzer_ops || !env->analyzer_ops->insn_hook) - return 0; - - return env->analyzer_ops->insn_hook(env, insn_idx, prev_insn_idx); -} - -static int do_check(struct bpf_verifier_env *env) -{ - struct bpf_verifier_state *state; - struct bpf_insn *insns = env->prog->insnsi; - struct bpf_reg_state *regs; - int insn_cnt = env->prog->len, i; - int insn_processed = 0; - bool do_print_state = false; - - state = kzalloc(sizeof(struct bpf_verifier_state), GFP_KERNEL); - if (!state) - return -ENOMEM; - state->curframe = 0; - state->parent = NULL; - state->speculative = false; - state->frame[0] = kzalloc(sizeof(struct bpf_func_state), GFP_KERNEL); - if (!state->frame[0]) { - kfree(state); - return -ENOMEM; - } - env->cur_state = state; - init_func_state(env, state->frame[0], - BPF_MAIN_FUNC /* callsite */, - 0 /* frameno */, - 0 /* subprogno, zero == main subprog */); - - for (;;) { - struct bpf_insn *insn; - u8 class; - int err; - - if (env->insn_idx >= insn_cnt) { - verbose(env, "invalid insn idx %d insn_cnt %d\n", - env->insn_idx, insn_cnt); - return -EFAULT; - } - - insn = &insns[env->insn_idx]; - class = BPF_CLASS(insn->code); - - if (++insn_processed > BPF_COMPLEXITY_LIMIT_INSNS) { - verbose(env, - "BPF program is too large. Processed %d insn\n", - insn_processed); - return -E2BIG; - } - - err = is_state_visited(env, env->insn_idx); - if (err < 0) - return err; - if (err == 1) { - /* found equivalent state, can prune the search */ - if (env->log.level) { - if (do_print_state) - verbose(env, "\nfrom %d to %d%s: safe\n", - env->prev_insn_idx, env->insn_idx, - env->cur_state->speculative ? - " (speculative execution)" : ""); - else - verbose(env, "%d: safe\n", env->insn_idx); - } - goto process_bpf_exit; - } - - if (need_resched()) - cond_resched(); - - if (env->log.level > 1 || (env->log.level && do_print_state)) { - if (env->log.level > 1) - verbose(env, "%d:", env->insn_idx); - else - verbose(env, "\nfrom %d to %d%s:", - env->prev_insn_idx, env->insn_idx, - env->cur_state->speculative ? - " (speculative execution)" : ""); - print_verifier_state(env, state->frame[state->curframe]); - do_print_state = false; - } - - if (env->log.level) { - const struct bpf_insn_cbs cbs = { - .cb_print = verbose, - .private_data = env, - }; - - verbose(env, "%d: ", env->insn_idx); - print_bpf_insn(&cbs, insn, env->allow_ptr_leaks); - } - - err = ext_analyzer_insn_hook(env, env->insn_idx, env->prev_insn_idx); - if (err) - return err; - - regs = cur_regs(env); - env->insn_aux_data[env->insn_idx].seen = true; - - if (class == BPF_ALU || class == BPF_ALU64) { - err = check_alu_op(env, insn); - if (err) - return err; - - } else if (class == BPF_LDX) { - enum bpf_reg_type *prev_src_type, src_reg_type; - - /* check for reserved fields is already done */ - - /* check src operand */ - err = check_reg_arg(env, insn->src_reg, SRC_OP); - if (err) - return err; - - err = check_reg_arg(env, insn->dst_reg, DST_OP_NO_MARK); - if (err) - return err; - - src_reg_type = regs[insn->src_reg].type; - - /* check that memory (src_reg + off) is readable, - * the state of dst_reg will be updated by this func - */ - err = check_mem_access(env, env->insn_idx, insn->src_reg, - insn->off, BPF_SIZE(insn->code), - BPF_READ, insn->dst_reg, false); - if (err) - return err; - - prev_src_type = &env->insn_aux_data[env->insn_idx].ptr_type; - - if (*prev_src_type == NOT_INIT) { - /* saw a valid insn - * dst_reg = *(u32 *)(src_reg + off) - * save type to validate intersecting paths - */ - *prev_src_type = src_reg_type; - - } else if (src_reg_type != *prev_src_type && - (src_reg_type == PTR_TO_CTX || - *prev_src_type == PTR_TO_CTX)) { - /* ABuser program is trying to use the same insn - * dst_reg = *(u32*) (src_reg + off) - * with different pointer types: - * src_reg == ctx in one branch and - * src_reg == stack|map in some other branch. - * Reject it. - */ - verbose(env, "same insn cannot be used with different pointers\n"); - return -EINVAL; - } - - } else if (class == BPF_STX) { - enum bpf_reg_type *prev_dst_type, dst_reg_type; - - if (BPF_MODE(insn->code) == BPF_XADD) { - err = check_xadd(env, env->insn_idx, insn); - if (err) - return err; - env->insn_idx++; - continue; - } - - /* check src1 operand */ - err = check_reg_arg(env, insn->src_reg, SRC_OP); - if (err) - return err; - /* check src2 operand */ - err = check_reg_arg(env, insn->dst_reg, SRC_OP); - if (err) - return err; - - dst_reg_type = regs[insn->dst_reg].type; - - /* check that memory (dst_reg + off) is writeable */ - err = check_mem_access(env, env->insn_idx, insn->dst_reg, - insn->off, BPF_SIZE(insn->code), - BPF_WRITE, insn->src_reg, false); - if (err) - return err; - - prev_dst_type = &env->insn_aux_data[env->insn_idx].ptr_type; - - if (*prev_dst_type == NOT_INIT) { - *prev_dst_type = dst_reg_type; - } else if (dst_reg_type != *prev_dst_type && - (dst_reg_type == PTR_TO_CTX || - *prev_dst_type == PTR_TO_CTX)) { - verbose(env, "same insn cannot be used with different pointers\n"); - return -EINVAL; - } - - } else if (class == BPF_ST) { - if (BPF_MODE(insn->code) != BPF_MEM || - insn->src_reg != BPF_REG_0) { - verbose(env, "BPF_ST uses reserved fields\n"); - return -EINVAL; - } - /* check src operand */ - err = check_reg_arg(env, insn->dst_reg, SRC_OP); - if (err) - return err; - - if (is_ctx_reg(env, insn->dst_reg)) { - verbose(env, "BPF_ST stores into R%d context is not allowed\n", - insn->dst_reg); - return -EACCES; - } - - /* check that memory (dst_reg + off) is writeable */ - err = check_mem_access(env, env->insn_idx, insn->dst_reg, - insn->off, BPF_SIZE(insn->code), - BPF_WRITE, -1, false); - if (err) - return err; - - } else if (class == BPF_JMP) { - u8 opcode = BPF_OP(insn->code); - - if (opcode == BPF_CALL) { - if (BPF_SRC(insn->code) != BPF_K || - insn->off != 0 || - (insn->src_reg != BPF_REG_0 && - insn->src_reg != BPF_PSEUDO_CALL) || - insn->dst_reg != BPF_REG_0) { - verbose(env, "BPF_CALL uses reserved fields\n"); - return -EINVAL; - } - - if (insn->src_reg == BPF_PSEUDO_CALL) - err = check_func_call(env, insn, &env->insn_idx); - else - err = check_helper_call(env, insn->imm, env->insn_idx); - if (err) - return err; - - } else if (opcode == BPF_JA) { - if (BPF_SRC(insn->code) != BPF_K || - insn->imm != 0 || - insn->src_reg != BPF_REG_0 || - insn->dst_reg != BPF_REG_0) { - verbose(env, "BPF_JA uses reserved fields\n"); - return -EINVAL; - } - - env->insn_idx += insn->off + 1; - continue; - - } else if (opcode == BPF_EXIT) { - if (BPF_SRC(insn->code) != BPF_K || - insn->imm != 0 || - insn->src_reg != BPF_REG_0 || - insn->dst_reg != BPF_REG_0) { - verbose(env, "BPF_EXIT uses reserved fields\n"); - return -EINVAL; - } - - if (state->curframe) { - /* exit from nested function */ - env->prev_insn_idx = env->insn_idx; - err = prepare_func_exit(env, &env->insn_idx); - if (err) - return err; - do_print_state = true; - continue; - } - - /* eBPF calling convetion is such that R0 is used - * to return the value from eBPF program. - * Make sure that it's readable at this time - * of bpf_exit, which means that program wrote - * something into it earlier - */ - err = check_reg_arg(env, BPF_REG_0, SRC_OP); - if (err) - return err; - - if (is_pointer_value(env, BPF_REG_0)) { - verbose(env, "R0 leaks addr as return value\n"); - return -EACCES; - } - - err = check_return_code(env); - if (err) - return err; -process_bpf_exit: - err = pop_stack(env, &env->prev_insn_idx, - &env->insn_idx); - if (err < 0) { - if (err != -ENOENT) - return err; - break; - } else { - do_print_state = true; - continue; - } - } else { - err = check_cond_jmp_op(env, insn, &env->insn_idx); - if (err) - return err; - } - } else if (class == BPF_LD) { - u8 mode = BPF_MODE(insn->code); - - if (mode == BPF_ABS || mode == BPF_IND) { - err = check_ld_abs(env, insn); - if (err) - return err; - - } else if (mode == BPF_IMM) { - err = check_ld_imm(env, insn); - if (err) - return err; - - env->insn_idx++; - env->insn_aux_data[env->insn_idx].seen = true; - } else { - verbose(env, "invalid BPF_LD mode\n"); - return -EINVAL; - } - } else { - verbose(env, "unknown insn class %d\n", class); - return -EINVAL; - } - - env->insn_idx++; - } - - verbose(env, "processed %d insns (limit %d), stack depth ", - insn_processed, BPF_COMPLEXITY_LIMIT_INSNS); - for (i = 0; i < env->subprog_cnt; i++) { - u32 depth = env->subprog_info[i].stack_depth; - - verbose(env, "%d", depth); - if (i + 1 < env->subprog_cnt) - verbose(env, "+"); - } - verbose(env, "\n"); - env->prog->aux->stack_depth = env->subprog_info[0].stack_depth; - return 0; -} - -static int check_map_prealloc(struct bpf_map *map) -{ - return (map->map_type != BPF_MAP_TYPE_HASH && - map->map_type != BPF_MAP_TYPE_PERCPU_HASH && - map->map_type != BPF_MAP_TYPE_HASH_OF_MAPS) || - !(map->map_flags & BPF_F_NO_PREALLOC); -} - -static int check_map_prog_compatibility(struct bpf_verifier_env *env, - struct bpf_map *map, - struct bpf_prog *prog) - -{ - /* Make sure that BPF_PROG_TYPE_PERF_EVENT programs only use - * preallocated hash maps, since doing memory allocation - * in overflow_handler can crash depending on where nmi got - * triggered. - */ - if (prog->type == BPF_PROG_TYPE_PERF_EVENT) { - if (!check_map_prealloc(map)) { - verbose(env, "perf_event programs can only use preallocated hash map\n"); - return -EINVAL; - } - if (map->inner_map_meta && - !check_map_prealloc(map->inner_map_meta)) { - verbose(env, "perf_event programs can only use preallocated inner hash map\n"); - return -EINVAL; - } - } - return 0; -} - -/* look for pseudo eBPF instructions that access map FDs and - * replace them with actual map pointers - */ -static int replace_map_fd_with_map_ptr(struct bpf_verifier_env *env) -{ - struct bpf_insn *insn = env->prog->insnsi; - int insn_cnt = env->prog->len; - int i, j, err; - - err = bpf_prog_calc_tag(env->prog); - if (err) - return err; - - for (i = 0; i < insn_cnt; i++, insn++) { - if (BPF_CLASS(insn->code) == BPF_LDX && - (BPF_MODE(insn->code) != BPF_MEM || insn->imm != 0)) { - verbose(env, "BPF_LDX uses reserved fields\n"); - return -EINVAL; - } - - if (BPF_CLASS(insn->code) == BPF_STX && - ((BPF_MODE(insn->code) != BPF_MEM && - BPF_MODE(insn->code) != BPF_XADD) || insn->imm != 0)) { - verbose(env, "BPF_STX uses reserved fields\n"); - return -EINVAL; - } - - if (insn[0].code == (BPF_LD | BPF_IMM | BPF_DW)) { - struct bpf_map *map; - struct fd f; - - if (i == insn_cnt - 1 || insn[1].code != 0 || - insn[1].dst_reg != 0 || insn[1].src_reg != 0 || - insn[1].off != 0) { - verbose(env, "invalid bpf_ld_imm64 insn\n"); - return -EINVAL; - } - - if (insn->src_reg == 0) - /* valid generic load 64-bit imm */ - goto next_insn; - - if (insn->src_reg != BPF_PSEUDO_MAP_FD) { - verbose(env, - "unrecognized bpf_ld_imm64 insn\n"); - return -EINVAL; - } - - f = fdget(insn->imm); - map = __bpf_map_get(f); - if (IS_ERR(map)) { - verbose(env, "fd %d is not pointing to valid bpf_map\n", - insn->imm); - return PTR_ERR(map); - } - - err = check_map_prog_compatibility(env, map, env->prog); - if (err) { - fdput(f); - return err; - } - - /* store map pointer inside BPF_LD_IMM64 instruction */ - insn[0].imm = (u32) (unsigned long) map; - insn[1].imm = ((u64) (unsigned long) map) >> 32; - - /* check whether we recorded this map already */ - for (j = 0; j < env->used_map_cnt; j++) - if (env->used_maps[j] == map) { - fdput(f); - goto next_insn; - } - - if (env->used_map_cnt >= MAX_USED_MAPS) { - fdput(f); - return -E2BIG; - } - - /* hold the map. If the program is rejected by verifier, - * the map will be released by release_maps() or it - * will be used by the valid program until it's unloaded - * and all maps are released in free_used_maps() - */ - map = bpf_map_inc(map, false); - if (IS_ERR(map)) { - fdput(f); - return PTR_ERR(map); - } - env->used_maps[env->used_map_cnt++] = map; - - fdput(f); -next_insn: - insn++; - i++; - continue; - } - - /* Basic sanity check before we invest more work here. */ - if (!bpf_opcode_in_insntable(insn->code)) { - verbose(env, "unknown opcode %02x\n", insn->code); - return -EINVAL; - } - } - - /* now all pseudo BPF_LD_IMM64 instructions load valid - * 'struct bpf_map *' into a register instead of user map_fd. - * These pointers will be used later by verifier to validate map access. - */ - return 0; -} - -/* drop refcnt of maps used by the rejected program */ -static void release_maps(struct bpf_verifier_env *env) -{ - int i; - - for (i = 0; i < env->used_map_cnt; i++) - bpf_map_put(env->used_maps[i]); -} - -/* convert pseudo BPF_LD_IMM64 into generic BPF_LD_IMM64 */ -static void convert_pseudo_ld_imm64(struct bpf_verifier_env *env) -{ - struct bpf_insn *insn = env->prog->insnsi; - int insn_cnt = env->prog->len; - int i; - - for (i = 0; i < insn_cnt; i++, insn++) - if (insn->code == (BPF_LD | BPF_IMM | BPF_DW)) - insn->src_reg = 0; -} - -/* single env->prog->insni[off] instruction was replaced with the range - * insni[off, off + cnt). Adjust corresponding insn_aux_data by copying - * [0, off) and [off, end) to new locations, so the patched range stays zero - */ -static int adjust_insn_aux_data(struct bpf_verifier_env *env, u32 prog_len, - u32 off, u32 cnt) -{ - struct bpf_insn_aux_data *new_data, *old_data = env->insn_aux_data; - int i; - - if (cnt == 1) - return 0; - new_data = vzalloc(sizeof(struct bpf_insn_aux_data) * prog_len); - if (!new_data) - return -ENOMEM; - memcpy(new_data, old_data, sizeof(struct bpf_insn_aux_data) * off); - memcpy(new_data + off + cnt - 1, old_data + off, - sizeof(struct bpf_insn_aux_data) * (prog_len - off - cnt + 1)); - for (i = off; i < off + cnt - 1; i++) - new_data[i].seen = true; - env->insn_aux_data = new_data; - vfree(old_data); - return 0; -} - -static void adjust_subprog_starts(struct bpf_verifier_env *env, u32 off, u32 len) -{ - int i; - - if (len == 1) - return; - /* NOTE: fake 'exit' subprog should be updated as well. */ - for (i = 0; i <= env->subprog_cnt; i++) { - if (env->subprog_info[i].start < off) - continue; - env->subprog_info[i].start += len - 1; - } -} - -static struct bpf_prog *bpf_patch_insn_data(struct bpf_verifier_env *env, u32 off, - const struct bpf_insn *patch, u32 len) -{ - struct bpf_prog *new_prog; - - new_prog = bpf_patch_insn_single(env->prog, off, patch, len); - if (!new_prog) - return NULL; - if (adjust_insn_aux_data(env, new_prog->len, off, len)) - return NULL; - adjust_subprog_starts(env, off, len); - return new_prog; -} - -/* The verifier does more data flow analysis than llvm and will not - * explore branches that are dead at run time. Malicious programs can - * have dead code too. Therefore replace all dead at-run-time code - * with 'ja -1'. - * - * Just nops are not optimal, e.g. if they would sit at the end of the - * program and through another bug we would manage to jump there, then - * we'd execute beyond program memory otherwise. Returning exception - * code also wouldn't work since we can have subprogs where the dead - * code could be located. - */ -static void sanitize_dead_code(struct bpf_verifier_env *env) -{ - struct bpf_insn_aux_data *aux_data = env->insn_aux_data; - struct bpf_insn trap = BPF_JMP_IMM(BPF_JA, 0, 0, -1); - struct bpf_insn *insn = env->prog->insnsi; - const int insn_cnt = env->prog->len; - int i; - - for (i = 0; i < insn_cnt; i++) { - if (aux_data[i].seen) - continue; - memcpy(insn + i, &trap, sizeof(trap)); - } -} - -/* convert load instructions that access fields of 'struct __sk_buff' - * into sequence of instructions that access fields of 'struct sk_buff' - */ -static int convert_ctx_accesses(struct bpf_verifier_env *env) -{ - const struct bpf_verifier_ops *ops = env->ops; - int i, cnt, size, ctx_field_size, delta = 0; - const int insn_cnt = env->prog->len; - struct bpf_insn insn_buf[16], *insn; - struct bpf_prog *new_prog; - enum bpf_access_type type; - bool is_narrower_load; - u32 target_size; - - if (ops->gen_prologue) { - cnt = ops->gen_prologue(insn_buf, env->seen_direct_write, - env->prog); - if (cnt >= ARRAY_SIZE(insn_buf)) { - verbose(env, "bpf verifier is misconfigured\n"); - return -EINVAL; - } else if (cnt) { - new_prog = bpf_patch_insn_data(env, 0, insn_buf, cnt); - if (!new_prog) - return -ENOMEM; - - env->prog = new_prog; - delta += cnt - 1; - } - } - - if (!ops->convert_ctx_access) - return 0; - - insn = env->prog->insnsi + delta; - - for (i = 0; i < insn_cnt; i++, insn++) { - if (insn->code == (BPF_LDX | BPF_MEM | BPF_B) || - insn->code == (BPF_LDX | BPF_MEM | BPF_H) || - insn->code == (BPF_LDX | BPF_MEM | BPF_W) || - insn->code == (BPF_LDX | BPF_MEM | BPF_DW)) - type = BPF_READ; - else if (insn->code == (BPF_STX | BPF_MEM | BPF_B) || - insn->code == (BPF_STX | BPF_MEM | BPF_H) || - insn->code == (BPF_STX | BPF_MEM | BPF_W) || - insn->code == (BPF_STX | BPF_MEM | BPF_DW)) - type = BPF_WRITE; - else - continue; - - if (type == BPF_WRITE && - env->insn_aux_data[i + delta].sanitize_stack_off) { - struct bpf_insn patch[] = { - /* Sanitize suspicious stack slot with zero. - * There are no memory dependencies for this store, - * since it's only using frame pointer and immediate - * constant of zero - */ - BPF_ST_MEM(BPF_DW, BPF_REG_FP, - env->insn_aux_data[i + delta].sanitize_stack_off, - 0), - /* the original STX instruction will immediately - * overwrite the same stack slot with appropriate value - */ - *insn, - }; - - cnt = ARRAY_SIZE(patch); - new_prog = bpf_patch_insn_data(env, i + delta, patch, cnt); - if (!new_prog) - return -ENOMEM; - - delta += cnt - 1; - env->prog = new_prog; - insn = new_prog->insnsi + i + delta; - continue; - } - - if (env->insn_aux_data[i + delta].ptr_type != PTR_TO_CTX) - continue; - - ctx_field_size = env->insn_aux_data[i + delta].ctx_field_size; - size = BPF_LDST_BYTES(insn); - - /* If the read access is a narrower load of the field, - * convert to a 4/8-byte load, to minimum program type specific - * convert_ctx_access changes. If conversion is successful, - * we will apply proper mask to the result. - */ - is_narrower_load = size < ctx_field_size; - if (is_narrower_load) { - u32 size_default = bpf_ctx_off_adjust_machine(ctx_field_size); - u32 off = insn->off; - u8 size_code; - - if (type == BPF_WRITE) { - verbose(env, "bpf verifier narrow ctx access misconfigured\n"); - return -EINVAL; - } - - size_code = BPF_H; - if (ctx_field_size == 4) - size_code = BPF_W; - else if (ctx_field_size == 8) - size_code = BPF_DW; - - insn->off = off & ~(size_default - 1); - insn->code = BPF_LDX | BPF_MEM | size_code; - } - - target_size = 0; - cnt = ops->convert_ctx_access(type, insn, insn_buf, env->prog, - &target_size); - if (cnt == 0 || cnt >= ARRAY_SIZE(insn_buf) || - (ctx_field_size && !target_size)) { - verbose(env, "bpf verifier is misconfigured\n"); - return -EINVAL; - } - - if (is_narrower_load && size < target_size) { - if (ctx_field_size <= 4) - insn_buf[cnt++] = BPF_ALU32_IMM(BPF_AND, insn->dst_reg, - (1 << size * 8) - 1); - else - insn_buf[cnt++] = BPF_ALU64_IMM(BPF_AND, insn->dst_reg, - (1 << size * 8) - 1); - } - - new_prog = bpf_patch_insn_data(env, i + delta, insn_buf, cnt); - if (!new_prog) - return -ENOMEM; - - delta += cnt - 1; - - /* keep walking new program and skip insns we just inserted */ - env->prog = new_prog; - insn = new_prog->insnsi + i + delta; - } - - return 0; -} - -static int jit_subprogs(struct bpf_verifier_env *env) -{ - struct bpf_prog *prog = env->prog, **func, *tmp; - int i, j, subprog_start, subprog_end = 0, len, subprog; - struct bpf_insn *insn; - void *old_bpf_func; - int err = -ENOMEM; - - if (env->subprog_cnt <= 1) - return 0; - - for (i = 0, insn = prog->insnsi; i < prog->len; i++, insn++) { - if (insn->code != (BPF_JMP | BPF_CALL) || - insn->src_reg != BPF_PSEUDO_CALL) - continue; - /* Upon error here we cannot fall back to interpreter but - * need a hard reject of the program. Thus -EFAULT is - * propagated in any case. - */ - subprog = find_subprog(env, i + insn->imm + 1); - if (subprog < 0) { - WARN_ONCE(1, "verifier bug. No program starts at insn %d\n", - i + insn->imm + 1); - return -EFAULT; - } - /* temporarily remember subprog id inside insn instead of - * aux_data, since next loop will split up all insns into funcs - */ - insn->off = subprog; - /* remember original imm in case JIT fails and fallback - * to interpreter will be needed - */ - env->insn_aux_data[i].call_imm = insn->imm; - /* point imm to __bpf_call_base+1 from JITs point of view */ - insn->imm = 1; - } - - func = kzalloc(sizeof(prog) * env->subprog_cnt, GFP_KERNEL); - if (!func) - goto out_undo_insn; - - for (i = 0; i < env->subprog_cnt; i++) { - subprog_start = subprog_end; - subprog_end = env->subprog_info[i + 1].start; - - len = subprog_end - subprog_start; - func[i] = bpf_prog_alloc(bpf_prog_size(len), GFP_USER); - if (!func[i]) - goto out_free; - memcpy(func[i]->insnsi, &prog->insnsi[subprog_start], - len * sizeof(struct bpf_insn)); - func[i]->type = prog->type; - func[i]->len = len; - if (bpf_prog_calc_tag(func[i])) - goto out_free; - func[i]->is_func = 1; - /* Use bpf_prog_F_tag to indicate functions in stack traces. - * Long term would need debug info to populate names - */ - func[i]->aux->name[0] = 'F'; - func[i]->aux->stack_depth = env->subprog_info[i].stack_depth; - func[i]->jit_requested = 1; - func[i] = trace_bpf_int_jit_compile(func[i]); - if (!func[i]->jited) { - err = -ENOTSUPP; - printk("wrong line number 5563\n"); - goto out_free; - } - cond_resched(); - } - /* at this point all bpf functions were successfully JITed - * now populate all bpf_calls with correct addresses and - * run last pass of JIT - */ - for (i = 0; i < env->subprog_cnt; i++) { - insn = func[i]->insnsi; - for (j = 0; j < func[i]->len; j++, insn++) { - if (insn->code != (BPF_JMP | BPF_CALL) || - insn->src_reg != BPF_PSEUDO_CALL) - continue; - subprog = insn->off; - insn->imm = (u64 (*)(u64, u64, u64, u64, u64)) - func[subprog]->bpf_func - - __bpf_call_base; - } - - /* we use the aux data to keep a list of the start addresses - * of the JITed images for each function in the program - * - * for some architectures, such as powerpc64, the imm field - * might not be large enough to hold the offset of the start - * address of the callee's JITed image from __bpf_call_base - * - * in such cases, we can lookup the start address of a callee - * by using its subprog id, available from the off field of - * the call instruction, as an index for this list - */ - func[i]->aux->func = func; - func[i]->aux->func_cnt = env->subprog_cnt; - } - for (i = 0; i < env->subprog_cnt; i++) { - old_bpf_func = func[i]->bpf_func; - tmp = trace_bpf_int_jit_compile(func[i]); - if (tmp != func[i] || func[i]->bpf_func != old_bpf_func) { - verbose(env, "JIT doesn't support bpf-to-bpf calls\n"); - err = -ENOTSUPP; - printk("wrong line number %d\n", __LINE__); - goto out_free; - } - cond_resched(); - } - - /* finally lock prog and jit images for all functions and - * populate kallsysm - */ - for (i = 0; i < env->subprog_cnt; i++) { - bpf_prog_lock_ro(func[i]); - // bpf_prog_kallsyms_add(func[i]); - } - - /* Last step: make now unused interpreter insns from main - * prog consistent for later dump requests, so they can - * later look the same as if they were interpreted only. - */ - for (i = 0, insn = prog->insnsi; i < prog->len; i++, insn++) { - if (insn->code != (BPF_JMP | BPF_CALL) || - insn->src_reg != BPF_PSEUDO_CALL) - continue; - insn->off = env->insn_aux_data[i].call_imm; - subprog = find_subprog(env, i + insn->off + 1); - insn->imm = subprog; - } - - prog->jited = 1; - prog->bpf_func = func[0]->bpf_func; - prog->aux->func = func; - prog->aux->func_cnt = env->subprog_cnt; - return 0; -out_free: - for (i = 0; i < env->subprog_cnt; i++) - if (func[i]) - trace_bpf_jit_free(func[i]); - kfree(func); -out_undo_insn: - /* cleanup main prog to be interpreted */ - prog->jit_requested = 0; - for (i = 0, insn = prog->insnsi; i < prog->len; i++, insn++) { - if (insn->code != (BPF_JMP | BPF_CALL) || - insn->src_reg != BPF_PSEUDO_CALL) - continue; - insn->off = 0; - insn->imm = env->insn_aux_data[i].call_imm; - } - return err; -} - -static int fixup_call_args(struct bpf_verifier_env *env) -{ -#ifndef CONFIG_BPF_JIT_ALWAYS_ON - struct bpf_prog *prog = env->prog; - struct bpf_insn *insn = prog->insnsi; - int i, depth; -#endif - int err; - - err = 0; - if (env->prog->jit_requested) { - err = jit_subprogs(env); - if (err == 0) - return 0; - if (err == -EFAULT) - return err; - } - -#ifndef CONFIG_BPF_JIT_ALWAYS_ON - for (i = 0; i < prog->len; i++, insn++) { - if (insn->code != (BPF_JMP | BPF_CALL) || - insn->src_reg != BPF_PSEUDO_CALL) - continue; - depth = get_callee_stack_depth(env, insn, i); - if (depth < 0) - return depth; - bpf_patch_call_args(insn, depth); - } - err = 0; -#endif - return err; -} - -/* fixup insn->imm field of bpf_call instructions - * and inline eligible helpers as explicit sequence of BPF instructions - * - * this function is called after eBPF program passed verification - */ -static int fixup_bpf_calls(struct bpf_verifier_env *env) -{ - struct bpf_prog *prog = env->prog; - struct bpf_insn *insn = prog->insnsi; - const struct bpf_func_proto *fn; - const int insn_cnt = prog->len; - const struct bpf_map_ops *ops; - struct bpf_insn_aux_data *aux; - struct bpf_insn insn_buf[16]; - struct bpf_prog *new_prog; - struct bpf_map *map_ptr; - int i, cnt, delta = 0; - - for (i = 0; i < insn_cnt; i++, insn++) { - if (insn->code == (BPF_ALU64 | BPF_MOD | BPF_X) || - insn->code == (BPF_ALU64 | BPF_DIV | BPF_X) || - insn->code == (BPF_ALU | BPF_MOD | BPF_X) || - insn->code == (BPF_ALU | BPF_DIV | BPF_X)) { - bool is64 = BPF_CLASS(insn->code) == BPF_ALU64; - struct bpf_insn mask_and_div[] = { - BPF_MOV32_REG(insn->src_reg, insn->src_reg), - /* Rx div 0 -> 0 */ - BPF_JMP_IMM(BPF_JNE, insn->src_reg, 0, 2), - BPF_ALU32_REG(BPF_XOR, insn->dst_reg, insn->dst_reg), - BPF_JMP_IMM(BPF_JA, 0, 0, 1), - *insn, - }; - struct bpf_insn mask_and_mod[] = { - BPF_MOV32_REG(insn->src_reg, insn->src_reg), - /* Rx mod 0 -> Rx */ - BPF_JMP_IMM(BPF_JEQ, insn->src_reg, 0, 1), - *insn, - }; - struct bpf_insn *patchlet; - - if (insn->code == (BPF_ALU64 | BPF_DIV | BPF_X) || - insn->code == (BPF_ALU | BPF_DIV | BPF_X)) { - patchlet = mask_and_div + (is64 ? 1 : 0); - cnt = ARRAY_SIZE(mask_and_div) - (is64 ? 1 : 0); - } else { - patchlet = mask_and_mod + (is64 ? 1 : 0); - cnt = ARRAY_SIZE(mask_and_mod) - (is64 ? 1 : 0); - } - - new_prog = bpf_patch_insn_data(env, i + delta, patchlet, cnt); - if (!new_prog) - return -ENOMEM; - - delta += cnt - 1; - env->prog = prog = new_prog; - insn = new_prog->insnsi + i + delta; - continue; - } - - if (insn->code == (BPF_ALU64 | BPF_ADD | BPF_X) || - insn->code == (BPF_ALU64 | BPF_SUB | BPF_X)) { - const u8 code_add = BPF_ALU64 | BPF_ADD | BPF_X; - const u8 code_sub = BPF_ALU64 | BPF_SUB | BPF_X; - struct bpf_insn insn_buf[16]; - struct bpf_insn *patch = &insn_buf[0]; - bool issrc, isneg; - u32 off_reg; - - aux = &env->insn_aux_data[i + delta]; - if (!aux->alu_state) - continue; - - isneg = aux->alu_state & BPF_ALU_NEG_VALUE; - issrc = (aux->alu_state & BPF_ALU_SANITIZE) == - BPF_ALU_SANITIZE_SRC; - - off_reg = issrc ? insn->src_reg : insn->dst_reg; - if (isneg) - *patch++ = BPF_ALU64_IMM(BPF_MUL, off_reg, -1); - *patch++ = BPF_MOV32_IMM(BPF_REG_AX, aux->alu_limit - 1); - *patch++ = BPF_ALU64_REG(BPF_SUB, BPF_REG_AX, off_reg); - *patch++ = BPF_ALU64_REG(BPF_OR, BPF_REG_AX, off_reg); - *patch++ = BPF_ALU64_IMM(BPF_NEG, BPF_REG_AX, 0); - *patch++ = BPF_ALU64_IMM(BPF_ARSH, BPF_REG_AX, 63); - if (issrc) { - *patch++ = BPF_ALU64_REG(BPF_AND, BPF_REG_AX, - off_reg); - insn->src_reg = BPF_REG_AX; - } else { - *patch++ = BPF_ALU64_REG(BPF_AND, off_reg, - BPF_REG_AX); - } - if (isneg) - insn->code = insn->code == code_add ? - code_sub : code_add; - *patch++ = *insn; - if (issrc && isneg) - *patch++ = BPF_ALU64_IMM(BPF_MUL, off_reg, -1); - cnt = patch - insn_buf; - - new_prog = bpf_patch_insn_data(env, i + delta, insn_buf, cnt); - if (!new_prog) - return -ENOMEM; - - delta += cnt - 1; - env->prog = prog = new_prog; - insn = new_prog->insnsi + i + delta; - continue; - } - - if (insn->code != (BPF_JMP | BPF_CALL)) - continue; - if (insn->src_reg == BPF_PSEUDO_CALL) - continue; - - if (insn->imm == BPF_FUNC_get_route_realm) - prog->dst_needed = 1; - if (insn->imm == BPF_FUNC_get_prandom_u32) - bpf_user_rnd_init_once(); - if (insn->imm == BPF_FUNC_override_return) - prog->kprobe_override = 1; - if (insn->imm == BPF_FUNC_tail_call) { - /* If we tail call into other programs, we - * cannot make any assumptions since they - * can be replaced dynamically during runtime - * in the program array. - */ - prog->cb_access = 1; - env->prog->aux->stack_depth = MAX_BPF_STACK; - - /* mark bpf_tail_call as different opcode to avoid - * conditional branch in the interpeter for every normal - * call and to prevent accidental JITing by JIT compiler - * that doesn't support bpf_tail_call yet - */ - insn->imm = 0; - insn->code = BPF_JMP | BPF_TAIL_CALL; - - aux = &env->insn_aux_data[i + delta]; - if (!bpf_map_ptr_unpriv(aux)) - continue; - - /* instead of changing every JIT dealing with tail_call - * emit two extra insns: - * if (index >= max_entries) goto out; - * index &= array->index_mask; - * to avoid out-of-bounds cpu speculation - */ - if (bpf_map_ptr_poisoned(aux)) { - verbose(env, "tail_call abusing map_ptr\n"); - return -EINVAL; - } - - map_ptr = BPF_MAP_PTR(aux->map_state); - insn_buf[0] = BPF_JMP_IMM(BPF_JGE, BPF_REG_3, - map_ptr->max_entries, 2); - insn_buf[1] = BPF_ALU32_IMM(BPF_AND, BPF_REG_3, - container_of(map_ptr, - struct bpf_array, - map)->index_mask); - insn_buf[2] = *insn; - cnt = 3; - new_prog = bpf_patch_insn_data(env, i + delta, insn_buf, cnt); - if (!new_prog) - return -ENOMEM; - - delta += cnt - 1; - env->prog = prog = new_prog; - insn = new_prog->insnsi + i + delta; - continue; - } - - /* BPF_EMIT_CALL() assumptions in some of the map_gen_lookup - * and other inlining handlers are currently limited to 64 bit - * only. - */ - if (prog->jit_requested && BITS_PER_LONG == 64 && - (insn->imm == BPF_FUNC_map_lookup_elem || - insn->imm == BPF_FUNC_map_update_elem || - insn->imm == BPF_FUNC_map_delete_elem)) { - aux = &env->insn_aux_data[i + delta]; - if (bpf_map_ptr_poisoned(aux)) - goto patch_call_imm; - - map_ptr = BPF_MAP_PTR(aux->map_state); - ops = map_ptr->ops; - if (insn->imm == BPF_FUNC_map_lookup_elem && - ops->map_gen_lookup) { - cnt = ops->map_gen_lookup(map_ptr, insn_buf); - if (cnt == 0 || cnt >= ARRAY_SIZE(insn_buf)) { - verbose(env, "bpf verifier is misconfigured\n"); - return -EINVAL; - } - - new_prog = bpf_patch_insn_data(env, i + delta, - insn_buf, cnt); - if (!new_prog) - return -ENOMEM; - - delta += cnt - 1; - env->prog = prog = new_prog; - insn = new_prog->insnsi + i + delta; - continue; - } - - BUILD_BUG_ON(!__same_type(ops->map_lookup_elem, - (void *(*)(struct bpf_map *map, void *key))NULL)); - BUILD_BUG_ON(!__same_type(ops->map_delete_elem, - (int (*)(struct bpf_map *map, void *key))NULL)); - BUILD_BUG_ON(!__same_type(ops->map_update_elem, - (int (*)(struct bpf_map *map, void *key, void *value, - u64 flags))NULL)); - switch (insn->imm) { - case BPF_FUNC_map_lookup_elem: - insn->imm = BPF_CAST_CALL(ops->map_lookup_elem) - - __bpf_call_base; - continue; - case BPF_FUNC_map_update_elem: - insn->imm = BPF_CAST_CALL(ops->map_update_elem) - - __bpf_call_base; - continue; - case BPF_FUNC_map_delete_elem: - insn->imm = BPF_CAST_CALL(ops->map_delete_elem) - - __bpf_call_base; - continue; - } - - goto patch_call_imm; - } - -patch_call_imm: - fn = env->ops->get_func_proto(insn->imm, env->prog); - /* all functions that have prototype and verifier allowed - * programs to call them, must be real in-kernel functions - */ - if (!fn->func) { - verbose(env, - "kernel subsystem misconfigured func %s#%d\n", - func_id_name(insn->imm), insn->imm); - return -EFAULT; - } - insn->imm = fn->func - __bpf_call_base; - } - - return 0; -} - -static void free_states(struct bpf_verifier_env *env) -{ - struct bpf_verifier_state_list *sl, *sln; - int i; - - if (!env->explored_states) - return; - - for (i = 0; i < env->prog->len; i++) { - sl = env->explored_states[i]; - - if (sl) - while (sl != STATE_LIST_MARK) { - sln = sl->next; - free_verifier_state(&sl->state, false); - kfree(sl); - sl = sln; - } - } - - kfree(env->explored_states); -} - -int bpf_check(struct bpf_prog **prog, union bpf_attr *attr) -{ - struct bpf_verifier_env *env; - struct bpf_verifier_log *log; - int ret = -EINVAL; - - /* no program is valid */ - if (ARRAY_SIZE(bpf_verifier_ops) == 0) - return -EINVAL; - - /* 'struct bpf_verifier_env' can be global, but since it's not small, - * allocate/free it every time bpf_check() is called - */ - env = kzalloc(sizeof(struct bpf_verifier_env), GFP_KERNEL); - if (!env) - return -ENOMEM; - log = &env->log; - - env->insn_aux_data = vzalloc(sizeof(struct bpf_insn_aux_data) * - (*prog)->len); - ret = -ENOMEM; - if (!env->insn_aux_data) - goto err_free_env; - env->prog = *prog; - env->ops = bpf_verifier_ops[env->prog->type]; - - /* grab the mutex to protect few globals used by verifier */ - mutex_lock(&bpf_verifier_lock); - - if (attr->log_level || attr->log_buf || attr->log_size) { - /* user requested verbose verifier output - * and supplied buffer to store the verification trace - */ - log->level = attr->log_level; - log->ubuf = (char __user *) (unsigned long) attr->log_buf; - log->len_total = attr->log_size; - - ret = -EINVAL; - /* log attributes have to be sane */ - if (log->len_total < 128 || log->len_total > UINT_MAX >> 8 || - !log->level || !log->ubuf) - goto err_unlock; - } - - env->strict_alignment = !!(attr->prog_flags & BPF_F_STRICT_ALIGNMENT); - if (!IS_ENABLED(CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS)) - env->strict_alignment = true; - - ret = replace_map_fd_with_map_ptr(env); - if (ret < 0) - goto skip_full_check; - - env->explored_states = kcalloc(env->prog->len, - sizeof(struct bpf_verifier_state_list *), - GFP_USER); - ret = -ENOMEM; - if (!env->explored_states) - goto skip_full_check; - - env->allow_ptr_leaks = capable(CAP_SYS_ADMIN); - - ret = check_cfg(env); - if (ret < 0) - goto skip_full_check; - - ret = do_check(env); - if (env->cur_state) { - free_verifier_state(env->cur_state, true); - env->cur_state = NULL; - } - -skip_full_check: - while (!pop_stack(env, NULL, NULL)); - free_states(env); - - if (ret == 0) - sanitize_dead_code(env); - - if (ret == 0) - ret = check_max_stack_depth(env); - - if (ret == 0) - /* program is valid, convert *(u32*)(ctx + off) accesses */ - ret = convert_ctx_accesses(env); - - if (ret == 0) - ret = fixup_bpf_calls(env); - - if (ret == 0) - ret = fixup_call_args(env); - - if (log->level && bpf_verifier_log_full(log)) - ret = -ENOSPC; - if (log->level && !log->ubuf) { - ret = -EFAULT; - goto err_release_maps; - } - - if (ret == 0 && env->used_map_cnt) { - /* if program passed verifier, update used_maps in bpf_prog_info */ - env->prog->aux->used_maps = kmalloc_array(env->used_map_cnt, - sizeof(env->used_maps[0]), - GFP_KERNEL); - - if (!env->prog->aux->used_maps) { - ret = -ENOMEM; - goto err_release_maps; - } - - memcpy(env->prog->aux->used_maps, env->used_maps, - sizeof(env->used_maps[0]) * env->used_map_cnt); - env->prog->aux->used_map_cnt = env->used_map_cnt; - - /* program is valid. Convert pseudo bpf_ld_imm64 into generic - * bpf_ld_imm64 instructions - */ - convert_pseudo_ld_imm64(env); - } - -err_release_maps: - if (!env->prog->aux->used_maps) - /* if we didn't copy map pointers into bpf_prog_info, release - * them now. Otherwise free_used_maps() will release them. - */ - release_maps(env); - *prog = env->prog; -err_unlock: - mutex_unlock(&bpf_verifier_lock); - vfree(env->insn_aux_data); -err_free_env: - kfree(env); - return ret; -} - -static const struct bpf_verifier_ops * const bpf_analyzer_ops[] = { -}; - -int bpf_analyzer(struct bpf_prog *prog, const struct bpf_ext_analyzer_ops *ops, - void *priv) -{ - struct bpf_verifier_env *env; - int ret; - - if (prog->type >= ARRAY_SIZE(bpf_analyzer_ops) || - !bpf_analyzer_ops[prog->type]) - return -EOPNOTSUPP; - - env = kzalloc(sizeof(struct bpf_verifier_env), GFP_KERNEL); - if (!env) - return -ENOMEM; - - env->insn_aux_data = vzalloc(sizeof(struct bpf_insn_aux_data) * - prog->len); - ret = -ENOMEM; - if (!env->insn_aux_data) - goto err_free_env; - env->prog = prog; - env->ops = bpf_analyzer_ops[env->prog->type]; - env->analyzer_ops = ops; - env->analyzer_priv = priv; - - /* grab the mutex to protect few globals used by verifier */ - mutex_lock(&bpf_verifier_lock); - - env->strict_alignment = false; - if (!IS_ENABLED(CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS)) - env->strict_alignment = true; - - env->explored_states = kcalloc(env->prog->len, - sizeof(struct bpf_verifier_state_list *), - GFP_KERNEL); - ret = -ENOMEM; - if (!env->explored_states) - goto skip_full_check; - - ret = check_cfg(env); - if (ret < 0) - goto skip_full_check; - - env->allow_ptr_leaks = capable(CAP_SYS_ADMIN); - - ret = do_check(env); - if (env->cur_state) { - free_verifier_state(env->cur_state, true); - env->cur_state = NULL; - } - -skip_full_check: - while (!pop_stack(env, NULL, NULL)); - free_states(env); - - mutex_unlock(&bpf_verifier_lock); - vfree(env->insn_aux_data); -err_free_env: - kfree(env); - return ret; -} -EXPORT_SYMBOL_GPL(bpf_analyzer); diff --git a/lcc/glcc/lib/hook/CMakeLists.txt b/lcc/glcc/lib/hook/CMakeLists.txt deleted file mode 100644 index 46ab590..0000000 --- a/lcc/glcc/lib/hook/CMakeLists.txt +++ /dev/null @@ -1,5 +0,0 @@ -add_library(hook SHARED - hook.c - ) - -set(CMAKE_C_FLAGS "-ldl") \ No newline at end of file diff --git a/lcc/glcc/lib/hook/hook.c b/lcc/glcc/lib/hook/hook.c deleted file mode 100644 index a9a4189..0000000 --- a/lcc/glcc/lib/hook/hook.c +++ /dev/null @@ -1,367 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "hook.h" -#define RTLD_NEXT ((void *)-1l) -typedef int (*ioctl_t)(int __fd, unsigned long int __request, ...); -typedef FILE *(*fopen_t)(const char *__filename, const char *__modes); -typedef FILE *(*fopen64_t)(const char *__filename, const char *__modes); -typedef long int (*syscall_t)(long int __sysno, ...); -static ioctl_t ioctl_p = NULL; -static fopen_t fopen_p = NULL; -static syscall_t syscall_p = NULL; -static fopen64_t fopen64_p = NULL; - -static struct hook_env -{ - bool init_done; - bool init_failed; - int ebpfdrv_fd; -} env = { - .init_done = false, - .init_failed = false, -}; - - -struct ebpfdrv_attr ebpfdrv_atrr; - -#define __NR_perf_event_open 298 -#define __NR_bpf 321 - -static int env_init() -{ - int err = 0; - - if (env.init_done) - return 0; - - if (env.init_failed) - { - pr_dbg("ebpfdrv has init failed, we don't try again.\n"); - return -EACCES; - } - - ioctl_p = (ioctl_t)dlsym(RTLD_NEXT, "ioctl"); - if (ioctl_p == NULL) - return -ENOTSUP; -#if 1 // we need this to avoid libbpf create perf event by kprobe_events - fopen_p = (fopen_t)dlsym(RTLD_NEXT, "fopen"); - if (fopen_p == NULL) - return -ENOTSUP; - - fopen64_p = (fopen64_t)dlsym(RTLD_NEXT, "fopen64"); - if (fopen64_p == NULL) - return -ENOTSUP; -#endif - syscall_p = (syscall_t)dlsym(RTLD_NEXT, "syscall"); - if (syscall_p == NULL) - return -ENOTSUP; - -#define EBPFDRV_PATH "/dev/ebpfdrv" -#define F_OK 0 /* Test for existence. */ - env.ebpfdrv_fd = open(EBPFDRV_PATH, O_RDWR); - if (env.ebpfdrv_fd < 0) - { - env.init_failed = true; - err = -errno; - pr_err("failed to open: %s, error message: %s\n", EBPFDRV_PATH, strerror(errno)); - return err; - } - - pr_dbg("init ebpfdrv sucessfully.\n"); - env.init_done = true; - return err; -} - -static int bpf_prog_attach(union bpf_attr *attr) -{ - pr_dbg("attach program type is %u and program name is %s\n", attr->attach_type, attr->prog_name); - return 0; -} - -long int handle_bpf_call(enum bpf_cmd cmd, union bpf_attr *attr, unsigned int size) -{ - int err; - switch (cmd) - { - case BPF_MAP_CREATE: - pr_dbg("BPF_MAP_CREATE\n"); - err = ioctl_p(env.ebpfdrv_fd, IOCTL_BPF_MAP_CREATE, attr); - pr_dbg("BPF_MAP_CREATE result is %d\n", err); - break; - case BPF_MAP_LOOKUP_ELEM: - err = ioctl_p(env.ebpfdrv_fd, IOCTL_BPF_MAP_LOOKUP_ELEM, attr); - break; - case BPF_MAP_UPDATE_ELEM: - err = ioctl_p(env.ebpfdrv_fd, IOCTL_BPF_MAP_UPDATE_ELEM, attr); - break; - case BPF_MAP_DELETE_ELEM: - pr_dbg("BPF_MAP_DELETE_ELEM\n"); - err = ioctl_p(env.ebpfdrv_fd, IOCTL_BPF_MAP_DELETE_ELEM, attr); - pr_dbg("BPF_MAP_DELETE_ELEM result is %d\n", err); - break; - case BPF_MAP_GET_NEXT_KEY: - pr_dbg("BPF_MAP_GET_NEXT_KEY\n"); - err = ioctl_p(env.ebpfdrv_fd, IOCTL_BPF_MAP_GET_NEXT_KEY, attr); - pr_dbg("BPF_MAP_GET_NEXT_KEY result is %d\n", err); - break; - case BPF_PROG_LOAD: - pr_dbg("BPF_PROG_LOAD\n"); - err = ioctl_p(env.ebpfdrv_fd, IOCTL_BPF_PROG_LOAD, attr); - pr_dbg("BPF_PROG_LOAD result is %d\n", err); - break; - case BPF_PROG_ATTACH: - pr_dbg("BPF_PROG_ATTACH\n"); - err = bpf_prog_attach(attr); - break; - case BPF_PROG_DETACH: - pr_dbg("BPF_PROG_DETACH\n"); - // err = bpf_prog_detach(&attr); - break; - case BPF_PROG_TEST_RUN: - pr_dbg("BPF_PROG_TEST_RUN\n"); - break; - case BPF_BTF_LOAD: - pr_dbg("BPF_BTF_LOAD\n"); - err = 0; - break; - case BPF_OBJ_GET_INFO_BY_FD: - pr_dbg("BPF_OBJ_GET_INFO_BY_FD\n"); - err = ioctl_p(env.ebpfdrv_fd, IOCTL_BPF_OBJ_GET_INFO_BY_FD, attr); - pr_dbg("BPF_OBJ_GET_INFO_BY_FD result is %d\n", err); - break; - default: - pr_dbg("Unexpected bpf cmd, cmd is %d\n", cmd); - err = -EINVAL; - break; - } - return err; -} - -int handle_perf_call(struct perf_event_attr *old_attr, pid_t pid, int cpu, int group_fd, unsigned long flags) -{ - struct perf_event_attr attr = {}; - int type; - int err; - int pfd = -EINVAL; - const char *name = (char *)old_attr->config1; - - if (old_attr->config == PERF_COUNT_SW_BPF_OUTPUT || old_attr->config == PERF_COUNT_SW_DUMMY) - { - pr_dbg("perf_event_open create perf buffer\n"); - old_attr->config = PERF_COUNT_SW_DUMMY; - pfd = syscall_p(__NR_perf_event_open, old_attr, pid, /* pid */ cpu, /* cpu */ group_fd /* group_fd */, flags); - if (pfd < 0) - { - err = -errno; - pr_err("create perf buffer failed: %s\n", strerror(err)); - return err; - } - } - else // kprobe or tracepoint - { - - // config1 is function name - if (old_attr->config1 == 0) - { - // tracepoint - pr_dbg("perf_event_open create perf event, type is tracepoint\n"); - pfd = 0xbeef; // fake perf event fd - } - else - { - pr_dbg("perf_event_open create perf event, type is kprobe\n"); - // kprobe - strcpy(ebpfdrv_atrr.name, name); - pr_dbg("store kprobe function name: %s\n", ebpfdrv_atrr.name); - pfd = 0xbeef; // fake perf event fd - } - } - return pfd; -} - -long int syscall(long int __sysno, ...) -{ - int err; - struct perf_event_attr *attr = NULL; - pid_t pid; - int cpu; - int group_fd; - unsigned long flags; - - va_list valist; - va_start(valist, __sysno); - err = env_init(); - if (err < 0) - { - pr_err("env init error, error %d, error string %s\n", err, strerror(err)); - return err; - } - switch (__sysno) - { - case __NR_perf_event_open: - attr = va_arg(valist, struct perf_event_attr *); - pid = va_arg(valist, pid_t); - cpu = va_arg(valist, int); - group_fd = va_arg(valist, int); - flags = va_arg(valist, unsigned long); - va_end(valist); - err = handle_perf_call(attr, pid, cpu, group_fd, flags); - break; - case __NR_bpf: - { - enum bpf_cmd cmd; - union bpf_attr *attr; - unsigned int size; - cmd = va_arg(valist, enum bpf_cmd); - attr = va_arg(valist, union bpf_attr *); - size = va_arg(valist, unsigned int); - va_end(valist); - err = handle_bpf_call(cmd, attr, size); - break; - } - default: - { - pr_dbg("unexpected syscall nr %u\n", __sysno); - unsigned long addr = (unsigned long)&__sysno; - err = syscall_p(__sysno, (char *)(addr + 8)); - break; - } - } - return err; -} - -int ioctl(int __fd, unsigned long int __request, ...) -{ - int err; - va_list valist; - __u32 prog_fd; - va_start(valist, __request); - - err = env_init(); - if (err < 0) - { - pr_err("env init error, error %d, error string %s\n", err, strerror(err)); - return err; - } - // todo: check __fd not only __request - switch (__request) - { - // detach and free buffer - case PERF_EVENT_IOC_DISABLE: - { - pr_dbg("PERF_EVENT_IOC_DISABLE not implement.\n"); - err = 0; - break; - } - // attach - case PERF_EVENT_IOC_SET_BPF: - { - pr_dbg("PERF_EVENT_IOC_SET_BPF\n"); - prog_fd = va_arg(valist, __u32); - va_end(valist); - - ebpfdrv_atrr.prog_fd = prog_fd; - dump_ebpfdrv_attr(&ebpfdrv_atrr); - ioctl_p(env.ebpfdrv_fd, IOCTL_BPF_PROG_ATTACH, &ebpfdrv_atrr); - pr_dbg("PERF_EVENT_IOC_SET_BPF result %d\n", err); - break; - } - // attach and enable - case PERF_EVENT_IOC_ENABLE: - { - err = 0; - pr_dbg("PERF_EVENT_IOC_ENABLE result %d\n", err); - break; - } - default: - { - pr_dbg("unexpected ioctl\n"); - unsigned long addr = (unsigned long)__request; - err = ioctl_p(__fd, __request, (char *)(addr + 8)); - break; - } - } - return err; -} - -// Just let sucessfully open file but not used. -#if 1 - -FILE *fopen_common_handle(const char *__filename, const char *__modes, bool is64) -{ - int err; - char subsys[128]; - char eventname[128]; -#define REAL_KPROBE_TYPE_FILE "/sys/bus/event_source/devices/kprobe/type" -// It does not matter let libbpf read tracepoint type. -#define FAKE_KPROBE_TYPE_FILE "/sys/bus/event_source/devices/tracepoint/type" -#define REAL_KRETPROBE_TYPE_FILE "/sys/bus/event_source/devices/kretprobe/type" -#define FAKE_KRETPROBE_TYPE_FILE FAKE_KPROBE_TYPE_FILE -#define TRACEPOINT_TYPE_FILE_PREFIX "/sys/kernel/debug/tracing/events" - - // pr_dbg("fopen%s :filename: %s\n", is64 ? "64" : "", __filename); - - err = env_init(); - if (err < 0) - { - pr_err("env init error, error %d, error string %s\n", err, strerror(err)); - return NULL; - } - - if (strncmp(__filename, REAL_KPROBE_TYPE_FILE, sizeof(REAL_KPROBE_TYPE_FILE) - 1) == 0) - { - ebpfdrv_atrr.is_return = false; - if (!is64) - return fopen_p(FAKE_KPROBE_TYPE_FILE, __modes); - else - return fopen64_p(FAKE_KPROBE_TYPE_FILE, __modes); - } - - if (strncmp(__filename, REAL_KRETPROBE_TYPE_FILE, sizeof(REAL_KRETPROBE_TYPE_FILE) - 1) == 0) - { - ebpfdrv_atrr.is_return = true; - if (!is64) - return fopen_p(FAKE_KRETPROBE_TYPE_FILE, __modes); - else - return fopen64_p(FAKE_KRETPROBE_TYPE_FILE, __modes); - } - - if (strncmp(TRACEPOINT_TYPE_FILE_PREFIX, __filename, sizeof(TRACEPOINT_TYPE_FILE_PREFIX) - 1) == 0) - { - sscanf(__filename, "/sys/kernel/debug/tracing/events/%[^/]/%[^/]/id", subsys, eventname); - pr_dbg("subsys:%s, eventname:%s\n", subsys, eventname); - strcpy(ebpfdrv_atrr.name, eventname); - pr_dbg("store tracepoint function name: %s\n", ebpfdrv_atrr.name); - } - if (!is64) - return fopen_p(__filename, __modes); - else - return fopen64_p(__filename, __modes); -} - -FILE *fopen(const char *__filename, const char *__modes) -{ - return fopen_common_handle(__filename, __modes, false); -} - -// Just let sucessfully open file but not used. -FILE *fopen64(const char *__filename, const char *__modes) -{ - return fopen_common_handle(__filename, __modes, true); -} - -#endif diff --git a/lcc/glcc/lib/hook/hook.h b/lcc/glcc/lib/hook/hook.h deleted file mode 100644 index 2d1f9b2..0000000 --- a/lcc/glcc/lib/hook/hook.h +++ /dev/null @@ -1,52 +0,0 @@ -#ifndef __HOOK_H -#define __HOOK_H - -#define IOCTL_BPF_MAP_CREATE _IOW(';', 0, union bpf_attr *) -#define IOCTL_BPF_MAP_LOOKUP_ELEM _IOWR(';', 1, union bpf_attr *) -#define IOCTL_BPF_MAP_UPDATE_ELEM _IOW(';', 2, union bpf_attr *) -#define IOCTL_BPF_MAP_DELETE_ELEM _IOW(';', 3, union bpf_attr *) -#define IOCTL_BPF_MAP_GET_NEXT_KEY _IOW(';', 4, union bpf_attr *) -#define IOCTL_BPF_PROG_LOAD _IOW(';', 5, union bpf_attr *) -#define IOCTL_BPF_PROG_ATTACH _IOW(';', 6, __u32) -#define IOCTL_BPF_PROG_FUNCNAME _IOW(';', 7, char *) -#define IOCTL_BPF_OBJ_GET_INFO_BY_FD _IOWR(';', 8, union bpf_attr *) - - -struct ebpfdrv_attr { - uint32_t prog_fd; - char name[80]; - bool is_return; -}; - -#define DEBUG 1 -static void level_print(char *fmt, ...) -{ - va_list args; - va_start(args, fmt); - vfprintf(stderr, fmt, args); - va_end(args); -} - -#define pr_err(fmt, ...) \ - do \ - { \ - level_print("LCCHOOK: ERROR: " fmt, ##__VA_ARGS__); \ - } while (0) - -#ifdef DEBUG -#define pr_dbg(fmt, ...) \ - do \ - { \ - level_print("LCCHOOK: DEBUG: " fmt, ##__VA_ARGS__); \ - } while (0) -#else -#define pr_dbg(...) -#endif - - -static __always_inline dump_ebpfdrv_attr(struct ebpfdrv_attr *attr) -{ - pr_dbg("ebpfdrv_attr: prog_fd - %u, name - %s, is_return: %u\n", attr->prog_fd, attr->name, attr->is_return); -} - -#endif diff --git a/lcc/glcc/lib/ringbuffer/Makefile b/lcc/glcc/lib/ringbuffer/Makefile deleted file mode 100644 index 677686e..0000000 --- a/lcc/glcc/lib/ringbuffer/Makefile +++ /dev/null @@ -1,15 +0,0 @@ - - -ifneq ($(KERNELRELEASE),) - obj-m := ringbuffer.o - EXTRA_CFLAGS += -I$(src) - ringbuffer-objs := main.o ringbuffer.o -else - KERN_DIR ?= /usr/src/kernels/3.10.0-327.ali2017.alios7.x86_64/ - PWD := $(shell pwd) -default: - $(MAKE) -C $(KERN_DIR) M=$(PWD) modules -endif - -clean: - rm -rf *.o *~ core .depend .*.cmd *.ko *.mod.c .tmp_versions Module.symvers modules.order \ No newline at end of file diff --git a/lcc/glcc/lib/ringbuffer/main.c b/lcc/glcc/lib/ringbuffer/main.c deleted file mode 100644 index 0a4a49f..0000000 --- a/lcc/glcc/lib/ringbuffer/main.c +++ /dev/null @@ -1,70 +0,0 @@ -#include -#include -#include -#include -#include - - -typedef void (*register_module_helper_t)(struct bpf_func_proto *helper); -typedef void (*register_module_map_t)(struct bpf_map_ops *map); -typedef void (*unregister_module_helper_t)(struct bpf_func_proto *helper); -typedef void (*unregister_module_map_t)(struct bpf_map_ops *map); - -register_module_helper_t register_module_helper_p = NULL; -unregister_module_helper_t unregister_module_helper_p = NULL; -register_module_map_t register_module_map_p = NULL; -unregister_module_map_t unregister_module_map_p = NULL; - -extern struct bpf_map_ops ringbuf_map_ops; -extern struct bpf_func_proto bpf_ringbuf_reserve_proto; -extern struct bpf_func_proto bpf_ringbuf_submit_proto; -extern struct bpf_func_proto bpf_ringbuf_discard_proto; -extern struct bpf_func_proto bpf_ringbuf_output_proto; -extern struct bpf_func_proto bpf_ringbuf_query_proto; - -static int ringbuffer_init(void) -{ - register_module_helper_p = (register_module_helper_t)kallsyms_lookup_name("register_module_helper"); - if (register_module_helper_p == NULL) - goto fail_find; - - unregister_module_helper_p = (register_module_helper_t)kallsyms_lookup_name("unregister_module_helper"); - if (unregister_module_helper_p == NULL) - goto fail_find; - - register_module_map_p = (register_module_map_t)kallsyms_lookup_name("register_module_map"); - if (register_module_map_p == NULL) - goto fail_find; - - unregister_module_map_p = (register_module_map_t)kallsyms_lookup_name("unregister_module_map"); - if (unregister_module_map_p == NULL) - goto fail_find; - - - register_module_map_p(&ringbuf_map_ops); - register_module_helper_p(&bpf_ringbuf_reserve_proto); - register_module_helper_p(&bpf_ringbuf_submit_proto); - register_module_helper_p(&bpf_ringbuf_discard_proto); - register_module_helper_p(&bpf_ringbuf_output_proto); - register_module_helper_p(&bpf_ringbuf_query_proto); - return 0; -fail_find: - printk(KERN_NOTICE "failed to find kernel symbols\n"); - return -1; -} -void ringbuffer_exit(void) -{ - if (unregister_module_map_p) - unregister_module_map_p(&ringbuf_map_ops); - if (unregister_module_helper_p) - { - unregister_module_helper_p(&bpf_ringbuf_reserve_proto); - unregister_module_helper_p(&bpf_ringbuf_submit_proto); - unregister_module_helper_p(&bpf_ringbuf_discard_proto); - unregister_module_helper_p(&bpf_ringbuf_output_proto); - unregister_module_helper_p(&bpf_ringbuf_query_proto); - } -} - -module_init(ringbuffer_init); -module_exit(ringbuffer_exit); \ No newline at end of file diff --git a/lcc/glcc/lib/ringbuffer/ringbuffer.c b/lcc/glcc/lib/ringbuffer/ringbuffer.c deleted file mode 100644 index fd77feb..0000000 --- a/lcc/glcc/lib/ringbuffer/ringbuffer.c +++ /dev/null @@ -1,499 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#define RINGBUF_CREATE_FLAG_MASK (BPF_F_NUMA_NODE) - -/* non-mmap()'able part of bpf_ringbuf (everything up to consumer page) */ -#define RINGBUF_PGOFF \ - (offsetof(struct bpf_ringbuf, consumer_pos) >> PAGE_SHIFT) -/* consumer page and producer page */ -#define RINGBUF_POS_PAGES 2 - -#define RINGBUF_MAX_RECORD_SZ (UINT_MAX/4) - -/* Maximum size of ring buffer area is limited by 32-bit page offset within - * record header, counted in pages. Reserve 8 bits for extensibility, and take - * into account few extra pages for consumer/producer pages and - * non-mmap()'able parts. This gives 64GB limit, which seems plenty for single - * ring buffer. - */ -#define RINGBUF_MAX_DATA_SZ \ - (((1ULL << 24) - RINGBUF_POS_PAGES - RINGBUF_PGOFF) * PAGE_SIZE) - -struct bpf_ringbuf { - wait_queue_head_t waitq; - struct irq_work work; - u64 mask; - struct page **pages; - int nr_pages; - spinlock_t spinlock ____cacheline_aligned_in_smp; - /* Consumer and producer counters are put into separate pages to allow - * mapping consumer page as r/w, but restrict producer page to r/o. - * This protects producer position from being modified by user-space - * application and ruining in-kernel position tracking. - */ - unsigned long consumer_pos __aligned(PAGE_SIZE); - unsigned long producer_pos __aligned(PAGE_SIZE); - char data[] __aligned(PAGE_SIZE); -}; - -struct bpf_ringbuf_map { - struct bpf_map map; - struct bpf_map_memory memory; - struct bpf_ringbuf *rb; -}; - -/* 8-byte ring buffer record header structure */ -struct bpf_ringbuf_hdr { - u32 len; - u32 pg_off; -}; - -static struct bpf_ringbuf *bpf_ringbuf_area_alloc(size_t data_sz, int numa_node) -{ - const gfp_t flags = GFP_KERNEL | __GFP_RETRY_MAYFAIL | __GFP_NOWARN | - __GFP_ZERO; - int nr_meta_pages = RINGBUF_PGOFF + RINGBUF_POS_PAGES; - int nr_data_pages = data_sz >> PAGE_SHIFT; - int nr_pages = nr_meta_pages + nr_data_pages; - struct page **pages, *page; - struct bpf_ringbuf *rb; - size_t array_size; - int i; - - /* Each data page is mapped twice to allow "virtual" - * continuous read of samples wrapping around the end of ring - * buffer area: - * ------------------------------------------------------ - * | meta pages | real data pages | same data pages | - * ------------------------------------------------------ - * | | 1 2 3 4 5 6 7 8 9 | 1 2 3 4 5 6 7 8 9 | - * ------------------------------------------------------ - * | | TA DA | TA DA | - * ------------------------------------------------------ - * ^^^^^^^ - * | - * Here, no need to worry about special handling of wrapped-around - * data due to double-mapped data pages. This works both in kernel and - * when mmap()'ed in user-space, simplifying both kernel and - * user-space implementations significantly. - */ - array_size = (nr_meta_pages + 2 * nr_data_pages) * sizeof(*pages); - if (array_size > PAGE_SIZE) - pages = vmalloc_node(array_size, numa_node); - else - pages = kmalloc_node(array_size, flags, numa_node); - if (!pages) - return NULL; - - for (i = 0; i < nr_pages; i++) { - page = alloc_pages_node(numa_node, flags, 0); - if (!page) { - nr_pages = i; - goto err_free_pages; - } - pages[i] = page; - if (i >= nr_meta_pages) - pages[nr_data_pages + i] = page; - } - - rb = vmap(pages, nr_meta_pages + 2 * nr_data_pages, - VM_ALLOC | VM_USERMAP, PAGE_KERNEL); - if (rb) { - rb->pages = pages; - rb->nr_pages = nr_pages; - return rb; - } - -err_free_pages: - for (i = 0; i < nr_pages; i++) - __free_page(pages[i]); - kvfree(pages); - return NULL; -} - -static void bpf_ringbuf_notify(struct irq_work *work) -{ - struct bpf_ringbuf *rb = container_of(work, struct bpf_ringbuf, work); - - wake_up_all(&rb->waitq); -} - -static struct bpf_ringbuf *bpf_ringbuf_alloc(size_t data_sz, int numa_node) -{ - struct bpf_ringbuf *rb; - - if (!data_sz || !PAGE_ALIGNED(data_sz)) - return ERR_PTR(-EINVAL); - -#ifdef CONFIG_64BIT - /* on 32-bit arch, it's impossible to overflow record's hdr->pgoff */ - if (data_sz > RINGBUF_MAX_DATA_SZ) - return ERR_PTR(-E2BIG); -#endif - - rb = bpf_ringbuf_area_alloc(data_sz, numa_node); - if (!rb) - return ERR_PTR(-ENOMEM); - - spin_lock_init(&rb->spinlock); - init_waitqueue_head(&rb->waitq); - init_irq_work(&rb->work, bpf_ringbuf_notify); - - rb->mask = data_sz - 1; - rb->consumer_pos = 0; - rb->producer_pos = 0; - - return rb; -} - -static struct bpf_map *ringbuf_map_alloc(union bpf_attr *attr) -{ - struct bpf_ringbuf_map *rb_map; - u64 cost; - int err; - - if (attr->map_flags & ~RINGBUF_CREATE_FLAG_MASK) - return ERR_PTR(-EINVAL); - - if (attr->key_size || attr->value_size || - attr->max_entries == 0 || !PAGE_ALIGNED(attr->max_entries)) - return ERR_PTR(-EINVAL); - - rb_map = kzalloc(sizeof(*rb_map), GFP_USER); - if (!rb_map) - return ERR_PTR(-ENOMEM); - - bpf_map_init_from_attr(&rb_map->map, attr); - - cost = sizeof(struct bpf_ringbuf_map) + - sizeof(struct bpf_ringbuf) + - attr->max_entries; - err = bpf_map_charge_init(&rb_map->map.memory, cost); - if (err) - goto err_free_map; - - rb_map->rb = bpf_ringbuf_alloc(attr->max_entries, rb_map->map.numa_node); - if (IS_ERR(rb_map->rb)) { - err = PTR_ERR(rb_map->rb); - goto err_uncharge; - } - - return &rb_map->map; - -err_uncharge: - bpf_map_charge_finish(&rb_map->map.memory); -err_free_map: - kfree(rb_map); - return ERR_PTR(err); -} - -static void bpf_ringbuf_free(struct bpf_ringbuf *rb) -{ - /* copy pages pointer and nr_pages to local variable, as we are going - * to unmap rb itself with vunmap() below - */ - struct page **pages = rb->pages; - int i, nr_pages = rb->nr_pages; - - vunmap(rb); - for (i = 0; i < nr_pages; i++) - __free_page(pages[i]); - kvfree(pages); -} - -static void ringbuf_map_free(struct bpf_map *map) -{ - struct bpf_ringbuf_map *rb_map; - - /* at this point bpf_prog->aux->refcnt == 0 and this map->refcnt == 0, - * so the programs (can be more than one that used this map) were - * disconnected from events. Wait for outstanding critical sections in - * these programs to complete - */ - synchronize_rcu(); - - rb_map = container_of(map, struct bpf_ringbuf_map, map); - bpf_ringbuf_free(rb_map->rb); - kfree(rb_map); -} - -static void *ringbuf_map_lookup_elem(struct bpf_map *map, void *key) -{ - return ERR_PTR(-ENOTSUPP); -} - -static int ringbuf_map_update_elem(struct bpf_map *map, void *key, void *value, - u64 flags) -{ - return -ENOTSUPP; -} - -static int ringbuf_map_delete_elem(struct bpf_map *map, void *key) -{ - return -ENOTSUPP; -} - -static int ringbuf_map_get_next_key(struct bpf_map *map, void *key, - void *next_key) -{ - return -ENOTSUPP; -} - -static size_t bpf_ringbuf_mmap_page_cnt(const struct bpf_ringbuf *rb) -{ - size_t data_pages = (rb->mask + 1) >> PAGE_SHIFT; - - /* consumer page + producer page + 2 x data pages */ - return RINGBUF_POS_PAGES + 2 * data_pages; -} - -static int ringbuf_map_mmap(struct bpf_map *map, struct vm_area_struct *vma) -{ - struct bpf_ringbuf_map *rb_map; - size_t mmap_sz; - - rb_map = container_of(map, struct bpf_ringbuf_map, map); - mmap_sz = bpf_ringbuf_mmap_page_cnt(rb_map->rb) << PAGE_SHIFT; - - if (vma->vm_pgoff * PAGE_SIZE + (vma->vm_end - vma->vm_start) > mmap_sz) - return -EINVAL; - - return remap_vmalloc_range(vma, rb_map->rb, - vma->vm_pgoff + RINGBUF_PGOFF); -} - -static unsigned long ringbuf_avail_data_sz(struct bpf_ringbuf *rb) -{ - unsigned long cons_pos, prod_pos; - - cons_pos = smp_load_acquire(&rb->consumer_pos); - prod_pos = smp_load_acquire(&rb->producer_pos); - return prod_pos - cons_pos; -} - -static __poll_t ringbuf_map_poll(struct bpf_map *map, struct file *filp, - struct poll_table_struct *pts) -{ - struct bpf_ringbuf_map *rb_map; - - rb_map = container_of(map, struct bpf_ringbuf_map, map); - poll_wait(filp, &rb_map->rb->waitq, pts); - - if (ringbuf_avail_data_sz(rb_map->rb)) - return EPOLLIN | EPOLLRDNORM; - return 0; -} - -const struct bpf_map_ops ringbuf_map_ops = { - .map_alloc = ringbuf_map_alloc, - .map_free = ringbuf_map_free, - .map_mmap = ringbuf_map_mmap, - .map_poll = ringbuf_map_poll, - .map_lookup_elem = ringbuf_map_lookup_elem, - .map_update_elem = ringbuf_map_update_elem, - .map_delete_elem = ringbuf_map_delete_elem, - .map_get_next_key = ringbuf_map_get_next_key, -}; - -/* Given pointer to ring buffer record metadata and struct bpf_ringbuf itself, - * calculate offset from record metadata to ring buffer in pages, rounded - * down. This page offset is stored as part of record metadata and allows to - * restore struct bpf_ringbuf * from record pointer. This page offset is - * stored at offset 4 of record metadata header. - */ -static size_t bpf_ringbuf_rec_pg_off(struct bpf_ringbuf *rb, - struct bpf_ringbuf_hdr *hdr) -{ - return ((void *)hdr - (void *)rb) >> PAGE_SHIFT; -} - -/* Given pointer to ring buffer record header, restore pointer to struct - * bpf_ringbuf itself by using page offset stored at offset 4 - */ -static struct bpf_ringbuf * -bpf_ringbuf_restore_from_rec(struct bpf_ringbuf_hdr *hdr) -{ - unsigned long addr = (unsigned long)(void *)hdr; - unsigned long off = (unsigned long)hdr->pg_off << PAGE_SHIFT; - - return (void*)((addr & PAGE_MASK) - off); -} - -static void *__bpf_ringbuf_reserve(struct bpf_ringbuf *rb, u64 size) -{ - unsigned long cons_pos, prod_pos, new_prod_pos, flags; - u32 len, pg_off; - struct bpf_ringbuf_hdr *hdr; - - if (unlikely(size > RINGBUF_MAX_RECORD_SZ)) - return NULL; - - len = round_up(size + BPF_RINGBUF_HDR_SZ, 8); - cons_pos = smp_load_acquire(&rb->consumer_pos); - - if (in_nmi()) { - if (!spin_trylock_irqsave(&rb->spinlock, flags)) - return NULL; - } else { - spin_lock_irqsave(&rb->spinlock, flags); - } - - prod_pos = rb->producer_pos; - new_prod_pos = prod_pos + len; - - /* check for out of ringbuf space by ensuring producer position - * doesn't advance more than (ringbuf_size - 1) ahead - */ - if (new_prod_pos - cons_pos > rb->mask) { - spin_unlock_irqrestore(&rb->spinlock, flags); - return NULL; - } - - hdr = (void *)rb->data + (prod_pos & rb->mask); - pg_off = bpf_ringbuf_rec_pg_off(rb, hdr); - hdr->len = size | BPF_RINGBUF_BUSY_BIT; - hdr->pg_off = pg_off; - - /* pairs with consumer's smp_load_acquire() */ - smp_store_release(&rb->producer_pos, new_prod_pos); - - spin_unlock_irqrestore(&rb->spinlock, flags); - - return (void *)hdr + BPF_RINGBUF_HDR_SZ; -} - -BPF_CALL_3(bpf_ringbuf_reserve, struct bpf_map *, map, u64, size, u64, flags) -{ - struct bpf_ringbuf_map *rb_map; - - if (unlikely(flags)) - return 0; - - rb_map = container_of(map, struct bpf_ringbuf_map, map); - return (unsigned long)__bpf_ringbuf_reserve(rb_map->rb, size); -} - -const struct bpf_func_proto bpf_ringbuf_reserve_proto = { - .func = bpf_ringbuf_reserve, - .ret_type = RET_PTR_TO_ALLOC_MEM_OR_NULL, - .arg1_type = ARG_CONST_MAP_PTR, - .arg2_type = ARG_CONST_ALLOC_SIZE_OR_ZERO, - .arg3_type = ARG_ANYTHING, -}; - -static void bpf_ringbuf_commit(void *sample, u64 flags, bool discard) -{ - unsigned long rec_pos, cons_pos; - struct bpf_ringbuf_hdr *hdr; - struct bpf_ringbuf *rb; - u32 new_len; - - hdr = sample - BPF_RINGBUF_HDR_SZ; - rb = bpf_ringbuf_restore_from_rec(hdr); - new_len = hdr->len ^ BPF_RINGBUF_BUSY_BIT; - if (discard) - new_len |= BPF_RINGBUF_DISCARD_BIT; - - /* update record header with correct final size prefix */ - xchg(&hdr->len, new_len); - - /* if consumer caught up and is waiting for our record, notify about - * new data availability - */ - rec_pos = (void *)hdr - (void *)rb->data; - cons_pos = smp_load_acquire(&rb->consumer_pos) & rb->mask; - - if (flags & BPF_RB_FORCE_WAKEUP) - irq_work_queue(&rb->work); - else if (cons_pos == rec_pos && !(flags & BPF_RB_NO_WAKEUP)) - irq_work_queue(&rb->work); -} - -BPF_CALL_2(bpf_ringbuf_submit, void *, sample, u64, flags) -{ - bpf_ringbuf_commit(sample, flags, false /* discard */); - return 0; -} - -const struct bpf_func_proto bpf_ringbuf_submit_proto = { - .func = bpf_ringbuf_submit, - .ret_type = RET_VOID, - .arg1_type = ARG_PTR_TO_ALLOC_MEM, - .arg2_type = ARG_ANYTHING, -}; - -BPF_CALL_2(bpf_ringbuf_discard, void *, sample, u64, flags) -{ - bpf_ringbuf_commit(sample, flags, true /* discard */); - return 0; -} - -const struct bpf_func_proto bpf_ringbuf_discard_proto = { - .func = bpf_ringbuf_discard, - .ret_type = RET_VOID, - .arg1_type = ARG_PTR_TO_ALLOC_MEM, - .arg2_type = ARG_ANYTHING, -}; - -BPF_CALL_4(bpf_ringbuf_output, struct bpf_map *, map, void *, data, u64, size, - u64, flags) -{ - struct bpf_ringbuf_map *rb_map; - void *rec; - - if (unlikely(flags & ~(BPF_RB_NO_WAKEUP | BPF_RB_FORCE_WAKEUP))) - return -EINVAL; - - rb_map = container_of(map, struct bpf_ringbuf_map, map); - rec = __bpf_ringbuf_reserve(rb_map->rb, size); - if (!rec) - return -EAGAIN; - - memcpy(rec, data, size); - bpf_ringbuf_commit(rec, flags, false /* discard */); - return 0; -} - -const struct bpf_func_proto bpf_ringbuf_output_proto = { - .func = bpf_ringbuf_output, - .ret_type = RET_INTEGER, - .arg1_type = ARG_CONST_MAP_PTR, - .arg2_type = ARG_PTR_TO_MEM, - .arg3_type = ARG_CONST_SIZE_OR_ZERO, - .arg4_type = ARG_ANYTHING, -}; - -BPF_CALL_2(bpf_ringbuf_query, struct bpf_map *, map, u64, flags) -{ - struct bpf_ringbuf *rb; - - rb = container_of(map, struct bpf_ringbuf_map, map)->rb; - - switch (flags) { - case BPF_RB_AVAIL_DATA: - return ringbuf_avail_data_sz(rb); - case BPF_RB_RING_SIZE: - return rb->mask + 1; - case BPF_RB_CONS_POS: - return smp_load_acquire(&rb->consumer_pos); - case BPF_RB_PROD_POS: - return smp_load_acquire(&rb->producer_pos); - default: - return 0; - } -} - -const struct bpf_func_proto bpf_ringbuf_query_proto = { - .func = bpf_ringbuf_query, - .ret_type = RET_INTEGER, - .arg1_type = ARG_CONST_MAP_PTR, - .arg2_type = ARG_ANYTHING, -}; \ No newline at end of file diff --git a/lcc/golcc/README.md b/lcc/golcc/README.md deleted file mode 100644 index aa94906..0000000 --- a/lcc/golcc/README.md +++ /dev/null @@ -1,66 +0,0 @@ - -### 编译 coolbpf go 语言 rexample 流程 - -## 环境准备 -1.本地安装go -2.go版本借助libbpfgo,编译包自动从github引入libbpfgo -## 编译流程 -rexample 目录下有相关example,直接执行通过`make`编译生成 go的二进制程序 -```bash -# cd lcc/golcc/rexample/hello -# make clean;make -rm -f hello hello.bpf.o -cp /mnt/source/gitee/coolbpf_gitee/lcc/golcc/rexample/hello/bpf/hello.bpf.c /mnt/source/gitee/coolbpf_gitee/lcc/golcc/rexample/hello -coolbpf -f hello.bpf.c -o -remote server compile success. -rm -f /mnt/source/gitee/coolbpf_gitee/lcc/golcc/rexample/hello/hello.bpf.c -CGO_CFLAGS="-I /mnt/source/gitee/coolbpf_gitee/lcc/golcc/rexample/hello/../../include" CGO_LDFLAGS="/mnt/source/gitee/coolbpf_gitee/lcc/golcc/rexample/hello/../../lib/libbpf.a" go build -o hello -``` - -## 执行结果 -```bash -#./hello -BPF_PROG_TYPE_KPROBE -^C -#cat /sys/kernel/debug/tracing/trace -# tracer: nop -# -# entries-in-buffer/entries-written: 225/225 #P:8 -# -# _-----=> irqs-off -# / _----=> need-resched -# | / _---=> hardirq/softirq -# || / _--=> preempt-depth -# ||| / delay -# TASK-PID CPU# |||| TIMESTAMP FUNCTION -# | | | |||| | | - java-7155 [000] .... 1221499.060321: 0: hello golcc, parent:85115e00 - <...>-40539 [004] .... 1221499.061255: 0: hello golcc, parent:fb95de00 - <...>-40539 [004] .... 1221499.061366: 0: hello golcc, parent:fb958000 - <...>-40539 [004] .... 1221499.061450: 0: hello golcc, parent:fb95c680 - java-7176 [004] .... 1221499.068765: 0: hello golcc, parent:fb95af00 - staragentd-3603 [007] .... 1221499.142273: 0: hello golcc, parent:b94f4680 - systemd-1 [003] .... 1221499.145939: 0: hello golcc, parent:8bcb5e00 -``` -## libbpf 版本更新 -从github仓库下载最新版本,更新.h头文件和libbpf.a库 -https://github.com/libbpf/libbpf.git -```bash -$ cd libbpf/src -$ make install -$ cp /usr/include/bpf/* golcc/include/bpf/ -$ cp /usr/lib64/libbpf.a golcc/lib/ -``` -## libbpfgo 版本更新 -编辑 golcc/rexample/hello/go.mod 替换 libbpfgo 版本号 -```bash -$cat lcc/golcc/rexample/hello/go.mod -module hello - -go 1.17 - -require github.com/aquasecurity/libbpfgo v0.3.0-libbpf-0.8.0 - -require golang.org/x/sys v0.0.0-20210514084401-e8d321eab015 // indirect -``` -版本号说明:v0.3.0 是libbpfgo的版本号,0.8.0 是对应libbpf的版本号,两个需要配套,否则可能会出现兼容性问题 \ No newline at end of file diff --git a/lcc/golcc/include/bpf/bpf.h b/lcc/golcc/include/bpf/bpf.h deleted file mode 100644 index 2e0d373..0000000 --- a/lcc/golcc/include/bpf/bpf.h +++ /dev/null @@ -1,537 +0,0 @@ -/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */ - -/* - * common eBPF ELF operations. - * - * Copyright (C) 2013-2015 Alexei Starovoitov - * Copyright (C) 2015 Wang Nan - * Copyright (C) 2015 Huawei Inc. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; - * version 2.1 of the License (not later!) - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this program; if not, see - */ -#ifndef __LIBBPF_BPF_H -#define __LIBBPF_BPF_H - -#include -#include -#include -#include - -#include "libbpf_common.h" -#include "libbpf_legacy.h" - -#ifdef __cplusplus -extern "C" { -#endif - -int libbpf_set_memlock_rlim(size_t memlock_bytes); - -struct bpf_map_create_opts { - size_t sz; /* size of this struct for forward/backward compatibility */ - - __u32 btf_fd; - __u32 btf_key_type_id; - __u32 btf_value_type_id; - __u32 btf_vmlinux_value_type_id; - - __u32 inner_map_fd; - __u32 map_flags; - __u64 map_extra; - - __u32 numa_node; - __u32 map_ifindex; -}; -#define bpf_map_create_opts__last_field map_ifindex - -LIBBPF_API int bpf_map_create(enum bpf_map_type map_type, - const char *map_name, - __u32 key_size, - __u32 value_size, - __u32 max_entries, - const struct bpf_map_create_opts *opts); - -struct bpf_create_map_attr { - const char *name; - enum bpf_map_type map_type; - __u32 map_flags; - __u32 key_size; - __u32 value_size; - __u32 max_entries; - __u32 numa_node; - __u32 btf_fd; - __u32 btf_key_type_id; - __u32 btf_value_type_id; - __u32 map_ifindex; - union { - __u32 inner_map_fd; - __u32 btf_vmlinux_value_type_id; - }; -}; - -LIBBPF_DEPRECATED_SINCE(0, 7, "use bpf_map_create() instead") -LIBBPF_API int bpf_create_map_xattr(const struct bpf_create_map_attr *create_attr); -LIBBPF_DEPRECATED_SINCE(0, 7, "use bpf_map_create() instead") -LIBBPF_API int bpf_create_map_node(enum bpf_map_type map_type, const char *name, - int key_size, int value_size, - int max_entries, __u32 map_flags, int node); -LIBBPF_DEPRECATED_SINCE(0, 7, "use bpf_map_create() instead") -LIBBPF_API int bpf_create_map_name(enum bpf_map_type map_type, const char *name, - int key_size, int value_size, - int max_entries, __u32 map_flags); -LIBBPF_DEPRECATED_SINCE(0, 7, "use bpf_map_create() instead") -LIBBPF_API int bpf_create_map(enum bpf_map_type map_type, int key_size, - int value_size, int max_entries, __u32 map_flags); -LIBBPF_DEPRECATED_SINCE(0, 7, "use bpf_map_create() instead") -LIBBPF_API int bpf_create_map_in_map_node(enum bpf_map_type map_type, - const char *name, int key_size, - int inner_map_fd, int max_entries, - __u32 map_flags, int node); -LIBBPF_DEPRECATED_SINCE(0, 7, "use bpf_map_create() instead") -LIBBPF_API int bpf_create_map_in_map(enum bpf_map_type map_type, - const char *name, int key_size, - int inner_map_fd, int max_entries, - __u32 map_flags); - -struct bpf_prog_load_opts { - size_t sz; /* size of this struct for forward/backward compatibility */ - - /* libbpf can retry BPF_PROG_LOAD command if bpf() syscall returns - * -EAGAIN. This field determines how many attempts libbpf has to - * make. If not specified, libbpf will use default value of 5. - */ - int attempts; - - enum bpf_attach_type expected_attach_type; - __u32 prog_btf_fd; - __u32 prog_flags; - __u32 prog_ifindex; - __u32 kern_version; - - __u32 attach_btf_id; - __u32 attach_prog_fd; - __u32 attach_btf_obj_fd; - - const int *fd_array; - - /* .BTF.ext func info data */ - const void *func_info; - __u32 func_info_cnt; - __u32 func_info_rec_size; - - /* .BTF.ext line info data */ - const void *line_info; - __u32 line_info_cnt; - __u32 line_info_rec_size; - - /* verifier log options */ - __u32 log_level; - __u32 log_size; - char *log_buf; -}; -#define bpf_prog_load_opts__last_field log_buf - -LIBBPF_API int bpf_prog_load(enum bpf_prog_type prog_type, - const char *prog_name, const char *license, - const struct bpf_insn *insns, size_t insn_cnt, - const struct bpf_prog_load_opts *opts); -/* this "specialization" should go away in libbpf 1.0 */ -LIBBPF_API int bpf_prog_load_v0_6_0(enum bpf_prog_type prog_type, - const char *prog_name, const char *license, - const struct bpf_insn *insns, size_t insn_cnt, - const struct bpf_prog_load_opts *opts); - -/* This is an elaborate way to not conflict with deprecated bpf_prog_load() - * API, defined in libbpf.h. Once we hit libbpf 1.0, all this will be gone. - * With this approach, if someone is calling bpf_prog_load() with - * 4 arguments, they will use the deprecated API, which keeps backwards - * compatibility (both source code and binary). If bpf_prog_load() is called - * with 6 arguments, though, it gets redirected to __bpf_prog_load. - * So looking forward to libbpf 1.0 when this hack will be gone and - * __bpf_prog_load() will be called just bpf_prog_load(). - */ -#ifndef bpf_prog_load -#define bpf_prog_load(...) ___libbpf_overload(___bpf_prog_load, __VA_ARGS__) -#define ___bpf_prog_load4(file, type, pobj, prog_fd) \ - bpf_prog_load_deprecated(file, type, pobj, prog_fd) -#define ___bpf_prog_load6(prog_type, prog_name, license, insns, insn_cnt, opts) \ - bpf_prog_load(prog_type, prog_name, license, insns, insn_cnt, opts) -#endif /* bpf_prog_load */ - -struct bpf_load_program_attr { - enum bpf_prog_type prog_type; - enum bpf_attach_type expected_attach_type; - const char *name; - const struct bpf_insn *insns; - size_t insns_cnt; - const char *license; - union { - __u32 kern_version; - __u32 attach_prog_fd; - }; - union { - __u32 prog_ifindex; - __u32 attach_btf_id; - }; - __u32 prog_btf_fd; - __u32 func_info_rec_size; - const void *func_info; - __u32 func_info_cnt; - __u32 line_info_rec_size; - const void *line_info; - __u32 line_info_cnt; - __u32 log_level; - __u32 prog_flags; -}; - -/* Flags to direct loading requirements */ -#define MAPS_RELAX_COMPAT 0x01 - -/* Recommended log buffer size */ -#define BPF_LOG_BUF_SIZE (UINT32_MAX >> 8) /* verifier maximum in kernels <= 5.1 */ - -LIBBPF_DEPRECATED_SINCE(0, 7, "use bpf_prog_load() instead") -LIBBPF_API int bpf_load_program_xattr(const struct bpf_load_program_attr *load_attr, - char *log_buf, size_t log_buf_sz); -LIBBPF_DEPRECATED_SINCE(0, 7, "use bpf_prog_load() instead") -LIBBPF_API int bpf_load_program(enum bpf_prog_type type, - const struct bpf_insn *insns, size_t insns_cnt, - const char *license, __u32 kern_version, - char *log_buf, size_t log_buf_sz); -LIBBPF_DEPRECATED_SINCE(0, 7, "use bpf_prog_load() instead") -LIBBPF_API int bpf_verify_program(enum bpf_prog_type type, - const struct bpf_insn *insns, - size_t insns_cnt, __u32 prog_flags, - const char *license, __u32 kern_version, - char *log_buf, size_t log_buf_sz, - int log_level); - -struct bpf_btf_load_opts { - size_t sz; /* size of this struct for forward/backward compatibility */ - - /* kernel log options */ - char *log_buf; - __u32 log_level; - __u32 log_size; -}; -#define bpf_btf_load_opts__last_field log_size - -LIBBPF_API int bpf_btf_load(const void *btf_data, size_t btf_size, - const struct bpf_btf_load_opts *opts); - -LIBBPF_DEPRECATED_SINCE(0, 8, "use bpf_btf_load() instead") -LIBBPF_API int bpf_load_btf(const void *btf, __u32 btf_size, char *log_buf, - __u32 log_buf_size, bool do_log); - -LIBBPF_API int bpf_map_update_elem(int fd, const void *key, const void *value, - __u64 flags); - -LIBBPF_API int bpf_map_lookup_elem(int fd, const void *key, void *value); -LIBBPF_API int bpf_map_lookup_elem_flags(int fd, const void *key, void *value, - __u64 flags); -LIBBPF_API int bpf_map_lookup_and_delete_elem(int fd, const void *key, - void *value); -LIBBPF_API int bpf_map_lookup_and_delete_elem_flags(int fd, const void *key, - void *value, __u64 flags); -LIBBPF_API int bpf_map_delete_elem(int fd, const void *key); -LIBBPF_API int bpf_map_delete_elem_flags(int fd, const void *key, __u64 flags); -LIBBPF_API int bpf_map_get_next_key(int fd, const void *key, void *next_key); -LIBBPF_API int bpf_map_freeze(int fd); - -struct bpf_map_batch_opts { - size_t sz; /* size of this struct for forward/backward compatibility */ - __u64 elem_flags; - __u64 flags; -}; -#define bpf_map_batch_opts__last_field flags - - -/** - * @brief **bpf_map_delete_batch()** allows for batch deletion of multiple - * elements in a BPF map. - * - * @param fd BPF map file descriptor - * @param keys pointer to an array of *count* keys - * @param count input and output parameter; on input **count** represents the - * number of elements in the map to delete in batch; - * on output if a non-EFAULT error is returned, **count** represents the number of deleted - * elements if the output **count** value is not equal to the input **count** value - * If EFAULT is returned, **count** should not be trusted to be correct. - * @param opts options for configuring the way the batch deletion works - * @return 0, on success; negative error code, otherwise (errno is also set to - * the error code) - */ -LIBBPF_API int bpf_map_delete_batch(int fd, const void *keys, - __u32 *count, - const struct bpf_map_batch_opts *opts); - -/** - * @brief **bpf_map_lookup_batch()** allows for batch lookup of BPF map elements. - * - * The parameter *in_batch* is the address of the first element in the batch to read. - * *out_batch* is an output parameter that should be passed as *in_batch* to subsequent - * calls to **bpf_map_lookup_batch()**. NULL can be passed for *in_batch* to indicate - * that the batched lookup starts from the beginning of the map. - * - * The *keys* and *values* are output parameters which must point to memory large enough to - * hold *count* items based on the key and value size of the map *map_fd*. The *keys* - * buffer must be of *key_size* * *count*. The *values* buffer must be of - * *value_size* * *count*. - * - * @param fd BPF map file descriptor - * @param in_batch address of the first element in batch to read, can pass NULL to - * indicate that the batched lookup starts from the beginning of the map. - * @param out_batch output parameter that should be passed to next call as *in_batch* - * @param keys pointer to an array large enough for *count* keys - * @param values pointer to an array large enough for *count* values - * @param count input and output parameter; on input it's the number of elements - * in the map to read in batch; on output it's the number of elements that were - * successfully read. - * If a non-EFAULT error is returned, count will be set as the number of elements - * that were read before the error occurred. - * If EFAULT is returned, **count** should not be trusted to be correct. - * @param opts options for configuring the way the batch lookup works - * @return 0, on success; negative error code, otherwise (errno is also set to - * the error code) - */ -LIBBPF_API int bpf_map_lookup_batch(int fd, void *in_batch, void *out_batch, - void *keys, void *values, __u32 *count, - const struct bpf_map_batch_opts *opts); - -/** - * @brief **bpf_map_lookup_and_delete_batch()** allows for batch lookup and deletion - * of BPF map elements where each element is deleted after being retrieved. - * - * @param fd BPF map file descriptor - * @param in_batch address of the first element in batch to read, can pass NULL to - * get address of the first element in *out_batch* - * @param out_batch output parameter that should be passed to next call as *in_batch* - * @param keys pointer to an array of *count* keys - * @param values pointer to an array large enough for *count* values - * @param count input and output parameter; on input it's the number of elements - * in the map to read and delete in batch; on output it represents the number of - * elements that were successfully read and deleted - * If a non-**EFAULT** error code is returned and if the output **count** value - * is not equal to the input **count** value, up to **count** elements may - * have been deleted. - * if **EFAULT** is returned up to *count* elements may have been deleted without - * being returned via the *keys* and *values* output parameters. - * @param opts options for configuring the way the batch lookup and delete works - * @return 0, on success; negative error code, otherwise (errno is also set to - * the error code) - */ -LIBBPF_API int bpf_map_lookup_and_delete_batch(int fd, void *in_batch, - void *out_batch, void *keys, - void *values, __u32 *count, - const struct bpf_map_batch_opts *opts); - -/** - * @brief **bpf_map_update_batch()** updates multiple elements in a map - * by specifying keys and their corresponding values. - * - * The *keys* and *values* parameters must point to memory large enough - * to hold *count* items based on the key and value size of the map. - * - * The *opts* parameter can be used to control how *bpf_map_update_batch()* - * should handle keys that either do or do not already exist in the map. - * In particular the *flags* parameter of *bpf_map_batch_opts* can be - * one of the following: - * - * Note that *count* is an input and output parameter, where on output it - * represents how many elements were successfully updated. Also note that if - * **EFAULT** then *count* should not be trusted to be correct. - * - * **BPF_ANY** - * Create new elements or update existing. - * - * **BPF_NOEXIST** - * Create new elements only if they do not exist. - * - * **BPF_EXIST** - * Update existing elements. - * - * **BPF_F_LOCK** - * Update spin_lock-ed map elements. This must be - * specified if the map value contains a spinlock. - * - * @param fd BPF map file descriptor - * @param keys pointer to an array of *count* keys - * @param values pointer to an array of *count* values - * @param count input and output parameter; on input it's the number of elements - * in the map to update in batch; on output if a non-EFAULT error is returned, - * **count** represents the number of updated elements if the output **count** - * value is not equal to the input **count** value. - * If EFAULT is returned, **count** should not be trusted to be correct. - * @param opts options for configuring the way the batch update works - * @return 0, on success; negative error code, otherwise (errno is also set to - * the error code) - */ -LIBBPF_API int bpf_map_update_batch(int fd, const void *keys, const void *values, - __u32 *count, - const struct bpf_map_batch_opts *opts); - -LIBBPF_API int bpf_obj_pin(int fd, const char *pathname); -LIBBPF_API int bpf_obj_get(const char *pathname); - -struct bpf_prog_attach_opts { - size_t sz; /* size of this struct for forward/backward compatibility */ - unsigned int flags; - int replace_prog_fd; -}; -#define bpf_prog_attach_opts__last_field replace_prog_fd - -LIBBPF_API int bpf_prog_attach(int prog_fd, int attachable_fd, - enum bpf_attach_type type, unsigned int flags); -LIBBPF_API int bpf_prog_attach_opts(int prog_fd, int attachable_fd, - enum bpf_attach_type type, - const struct bpf_prog_attach_opts *opts); -LIBBPF_DEPRECATED_SINCE(0, 8, "use bpf_prog_attach_opts() instead") -LIBBPF_API int bpf_prog_attach_xattr(int prog_fd, int attachable_fd, - enum bpf_attach_type type, - const struct bpf_prog_attach_opts *opts); -LIBBPF_API int bpf_prog_detach(int attachable_fd, enum bpf_attach_type type); -LIBBPF_API int bpf_prog_detach2(int prog_fd, int attachable_fd, - enum bpf_attach_type type); - -union bpf_iter_link_info; /* defined in up-to-date linux/bpf.h */ -struct bpf_link_create_opts { - size_t sz; /* size of this struct for forward/backward compatibility */ - __u32 flags; - union bpf_iter_link_info *iter_info; - __u32 iter_info_len; - __u32 target_btf_id; - union { - struct { - __u64 bpf_cookie; - } perf_event; - struct { - __u32 flags; - __u32 cnt; - const char **syms; - const unsigned long *addrs; - const __u64 *cookies; - } kprobe_multi; - struct { - __u64 cookie; - } tracing; - }; - size_t :0; -}; -#define bpf_link_create_opts__last_field kprobe_multi.cookies - -LIBBPF_API int bpf_link_create(int prog_fd, int target_fd, - enum bpf_attach_type attach_type, - const struct bpf_link_create_opts *opts); - -LIBBPF_API int bpf_link_detach(int link_fd); - -struct bpf_link_update_opts { - size_t sz; /* size of this struct for forward/backward compatibility */ - __u32 flags; /* extra flags */ - __u32 old_prog_fd; /* expected old program FD */ -}; -#define bpf_link_update_opts__last_field old_prog_fd - -LIBBPF_API int bpf_link_update(int link_fd, int new_prog_fd, - const struct bpf_link_update_opts *opts); - -LIBBPF_API int bpf_iter_create(int link_fd); - -struct bpf_prog_test_run_attr { - int prog_fd; - int repeat; - const void *data_in; - __u32 data_size_in; - void *data_out; /* optional */ - __u32 data_size_out; /* in: max length of data_out - * out: length of data_out */ - __u32 retval; /* out: return code of the BPF program */ - __u32 duration; /* out: average per repetition in ns */ - const void *ctx_in; /* optional */ - __u32 ctx_size_in; - void *ctx_out; /* optional */ - __u32 ctx_size_out; /* in: max length of ctx_out - * out: length of cxt_out */ -}; - -LIBBPF_DEPRECATED_SINCE(0, 7, "use bpf_prog_test_run_opts() instead") -LIBBPF_API int bpf_prog_test_run_xattr(struct bpf_prog_test_run_attr *test_attr); - -/* - * bpf_prog_test_run does not check that data_out is large enough. Consider - * using bpf_prog_test_run_opts instead. - */ -LIBBPF_DEPRECATED_SINCE(0, 7, "use bpf_prog_test_run_opts() instead") -LIBBPF_API int bpf_prog_test_run(int prog_fd, int repeat, void *data, - __u32 size, void *data_out, __u32 *size_out, - __u32 *retval, __u32 *duration); -LIBBPF_API int bpf_prog_get_next_id(__u32 start_id, __u32 *next_id); -LIBBPF_API int bpf_map_get_next_id(__u32 start_id, __u32 *next_id); -LIBBPF_API int bpf_btf_get_next_id(__u32 start_id, __u32 *next_id); -LIBBPF_API int bpf_link_get_next_id(__u32 start_id, __u32 *next_id); -LIBBPF_API int bpf_prog_get_fd_by_id(__u32 id); -LIBBPF_API int bpf_map_get_fd_by_id(__u32 id); -LIBBPF_API int bpf_btf_get_fd_by_id(__u32 id); -LIBBPF_API int bpf_link_get_fd_by_id(__u32 id); -LIBBPF_API int bpf_obj_get_info_by_fd(int bpf_fd, void *info, __u32 *info_len); -LIBBPF_API int bpf_prog_query(int target_fd, enum bpf_attach_type type, - __u32 query_flags, __u32 *attach_flags, - __u32 *prog_ids, __u32 *prog_cnt); -LIBBPF_API int bpf_raw_tracepoint_open(const char *name, int prog_fd); -LIBBPF_API int bpf_task_fd_query(int pid, int fd, __u32 flags, char *buf, - __u32 *buf_len, __u32 *prog_id, __u32 *fd_type, - __u64 *probe_offset, __u64 *probe_addr); - -enum bpf_stats_type; /* defined in up-to-date linux/bpf.h */ -LIBBPF_API int bpf_enable_stats(enum bpf_stats_type type); - -struct bpf_prog_bind_opts { - size_t sz; /* size of this struct for forward/backward compatibility */ - __u32 flags; -}; -#define bpf_prog_bind_opts__last_field flags - -LIBBPF_API int bpf_prog_bind_map(int prog_fd, int map_fd, - const struct bpf_prog_bind_opts *opts); - -struct bpf_test_run_opts { - size_t sz; /* size of this struct for forward/backward compatibility */ - const void *data_in; /* optional */ - void *data_out; /* optional */ - __u32 data_size_in; - __u32 data_size_out; /* in: max length of data_out - * out: length of data_out - */ - const void *ctx_in; /* optional */ - void *ctx_out; /* optional */ - __u32 ctx_size_in; - __u32 ctx_size_out; /* in: max length of ctx_out - * out: length of cxt_out - */ - __u32 retval; /* out: return code of the BPF program */ - int repeat; - __u32 duration; /* out: average per repetition in ns */ - __u32 flags; - __u32 cpu; - __u32 batch_size; -}; -#define bpf_test_run_opts__last_field batch_size - -LIBBPF_API int bpf_prog_test_run_opts(int prog_fd, - struct bpf_test_run_opts *opts); - -#ifdef __cplusplus -} /* extern "C" */ -#endif - -#endif /* __LIBBPF_BPF_H */ diff --git a/lcc/golcc/include/bpf/bpf_common.h b/lcc/golcc/include/bpf/bpf_common.h deleted file mode 100644 index ee97668..0000000 --- a/lcc/golcc/include/bpf/bpf_common.h +++ /dev/null @@ -1,57 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ -#ifndef _UAPI__LINUX_BPF_COMMON_H__ -#define _UAPI__LINUX_BPF_COMMON_H__ - -/* Instruction classes */ -#define BPF_CLASS(code) ((code) & 0x07) -#define BPF_LD 0x00 -#define BPF_LDX 0x01 -#define BPF_ST 0x02 -#define BPF_STX 0x03 -#define BPF_ALU 0x04 -#define BPF_JMP 0x05 -#define BPF_RET 0x06 -#define BPF_MISC 0x07 - -/* ld/ldx fields */ -#define BPF_SIZE(code) ((code) & 0x18) -#define BPF_W 0x00 /* 32-bit */ -#define BPF_H 0x08 /* 16-bit */ -#define BPF_B 0x10 /* 8-bit */ -/* eBPF BPF_DW 0x18 64-bit */ -#define BPF_MODE(code) ((code) & 0xe0) -#define BPF_IMM 0x00 -#define BPF_ABS 0x20 -#define BPF_IND 0x40 -#define BPF_MEM 0x60 -#define BPF_LEN 0x80 -#define BPF_MSH 0xa0 - -/* alu/jmp fields */ -#define BPF_OP(code) ((code) & 0xf0) -#define BPF_ADD 0x00 -#define BPF_SUB 0x10 -#define BPF_MUL 0x20 -#define BPF_DIV 0x30 -#define BPF_OR 0x40 -#define BPF_AND 0x50 -#define BPF_LSH 0x60 -#define BPF_RSH 0x70 -#define BPF_NEG 0x80 -#define BPF_MOD 0x90 -#define BPF_XOR 0xa0 - -#define BPF_JA 0x00 -#define BPF_JEQ 0x10 -#define BPF_JGT 0x20 -#define BPF_JGE 0x30 -#define BPF_JSET 0x40 -#define BPF_SRC(code) ((code) & 0x08) -#define BPF_K 0x00 -#define BPF_X 0x08 - -#ifndef BPF_MAXINSNS -#define BPF_MAXINSNS 4096 -#endif - -#endif /* _UAPI__LINUX_BPF_COMMON_H__ */ diff --git a/lcc/golcc/include/bpf/bpf_core_read.h b/lcc/golcc/include/bpf/bpf_core_read.h deleted file mode 100644 index fd48b1f..0000000 --- a/lcc/golcc/include/bpf/bpf_core_read.h +++ /dev/null @@ -1,473 +0,0 @@ -/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */ -#ifndef __BPF_CORE_READ_H__ -#define __BPF_CORE_READ_H__ - -/* - * enum bpf_field_info_kind is passed as a second argument into - * __builtin_preserve_field_info() built-in to get a specific aspect of - * a field, captured as a first argument. __builtin_preserve_field_info(field, - * info_kind) returns __u32 integer and produces BTF field relocation, which - * is understood and processed by libbpf during BPF object loading. See - * selftests/bpf for examples. - */ -enum bpf_field_info_kind { - BPF_FIELD_BYTE_OFFSET = 0, /* field byte offset */ - BPF_FIELD_BYTE_SIZE = 1, - BPF_FIELD_EXISTS = 2, /* field existence in target kernel */ - BPF_FIELD_SIGNED = 3, - BPF_FIELD_LSHIFT_U64 = 4, - BPF_FIELD_RSHIFT_U64 = 5, -}; - -/* second argument to __builtin_btf_type_id() built-in */ -enum bpf_type_id_kind { - BPF_TYPE_ID_LOCAL = 0, /* BTF type ID in local program */ - BPF_TYPE_ID_TARGET = 1, /* BTF type ID in target kernel */ -}; - -/* second argument to __builtin_preserve_type_info() built-in */ -enum bpf_type_info_kind { - BPF_TYPE_EXISTS = 0, /* type existence in target kernel */ - BPF_TYPE_SIZE = 1, /* type size in target kernel */ -}; - -/* second argument to __builtin_preserve_enum_value() built-in */ -enum bpf_enum_value_kind { - BPF_ENUMVAL_EXISTS = 0, /* enum value existence in kernel */ - BPF_ENUMVAL_VALUE = 1, /* enum value value relocation */ -}; - -#define __CORE_RELO(src, field, info) \ - __builtin_preserve_field_info((src)->field, BPF_FIELD_##info) - -#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ -#define __CORE_BITFIELD_PROBE_READ(dst, src, fld) \ - bpf_probe_read_kernel( \ - (void *)dst, \ - __CORE_RELO(src, fld, BYTE_SIZE), \ - (const void *)src + __CORE_RELO(src, fld, BYTE_OFFSET)) -#else -/* semantics of LSHIFT_64 assumes loading values into low-ordered bytes, so - * for big-endian we need to adjust destination pointer accordingly, based on - * field byte size - */ -#define __CORE_BITFIELD_PROBE_READ(dst, src, fld) \ - bpf_probe_read_kernel( \ - (void *)dst + (8 - __CORE_RELO(src, fld, BYTE_SIZE)), \ - __CORE_RELO(src, fld, BYTE_SIZE), \ - (const void *)src + __CORE_RELO(src, fld, BYTE_OFFSET)) -#endif - -/* - * Extract bitfield, identified by s->field, and return its value as u64. - * All this is done in relocatable manner, so bitfield changes such as - * signedness, bit size, offset changes, this will be handled automatically. - * This version of macro is using bpf_probe_read_kernel() to read underlying - * integer storage. Macro functions as an expression and its return type is - * bpf_probe_read_kernel()'s return value: 0, on success, <0 on error. - */ -#define BPF_CORE_READ_BITFIELD_PROBED(s, field) ({ \ - unsigned long long val = 0; \ - \ - __CORE_BITFIELD_PROBE_READ(&val, s, field); \ - val <<= __CORE_RELO(s, field, LSHIFT_U64); \ - if (__CORE_RELO(s, field, SIGNED)) \ - val = ((long long)val) >> __CORE_RELO(s, field, RSHIFT_U64); \ - else \ - val = val >> __CORE_RELO(s, field, RSHIFT_U64); \ - val; \ -}) - -/* - * Extract bitfield, identified by s->field, and return its value as u64. - * This version of macro is using direct memory reads and should be used from - * BPF program types that support such functionality (e.g., typed raw - * tracepoints). - */ -#define BPF_CORE_READ_BITFIELD(s, field) ({ \ - const void *p = (const void *)s + __CORE_RELO(s, field, BYTE_OFFSET); \ - unsigned long long val; \ - \ - /* This is a so-called barrier_var() operation that makes specified \ - * variable "a black box" for optimizing compiler. \ - * It forces compiler to perform BYTE_OFFSET relocation on p and use \ - * its calculated value in the switch below, instead of applying \ - * the same relocation 4 times for each individual memory load. \ - */ \ - asm volatile("" : "=r"(p) : "0"(p)); \ - \ - switch (__CORE_RELO(s, field, BYTE_SIZE)) { \ - case 1: val = *(const unsigned char *)p; break; \ - case 2: val = *(const unsigned short *)p; break; \ - case 4: val = *(const unsigned int *)p; break; \ - case 8: val = *(const unsigned long long *)p; break; \ - } \ - val <<= __CORE_RELO(s, field, LSHIFT_U64); \ - if (__CORE_RELO(s, field, SIGNED)) \ - val = ((long long)val) >> __CORE_RELO(s, field, RSHIFT_U64); \ - else \ - val = val >> __CORE_RELO(s, field, RSHIFT_U64); \ - val; \ -}) - -#define ___bpf_field_ref1(field) (field) -#define ___bpf_field_ref2(type, field) (((typeof(type) *)0)->field) -#define ___bpf_field_ref(args...) \ - ___bpf_apply(___bpf_field_ref, ___bpf_narg(args))(args) - -/* - * Convenience macro to check that field actually exists in target kernel's. - * Returns: - * 1, if matching field is present in target kernel; - * 0, if no matching field found. - * - * Supports two forms: - * - field reference through variable access: - * bpf_core_field_exists(p->my_field); - * - field reference through type and field names: - * bpf_core_field_exists(struct my_type, my_field). - */ -#define bpf_core_field_exists(field...) \ - __builtin_preserve_field_info(___bpf_field_ref(field), BPF_FIELD_EXISTS) - -/* - * Convenience macro to get the byte size of a field. Works for integers, - * struct/unions, pointers, arrays, and enums. - * - * Supports two forms: - * - field reference through variable access: - * bpf_core_field_size(p->my_field); - * - field reference through type and field names: - * bpf_core_field_size(struct my_type, my_field). - */ -#define bpf_core_field_size(field...) \ - __builtin_preserve_field_info(___bpf_field_ref(field), BPF_FIELD_BYTE_SIZE) - -/* - * Convenience macro to get field's byte offset. - * - * Supports two forms: - * - field reference through variable access: - * bpf_core_field_offset(p->my_field); - * - field reference through type and field names: - * bpf_core_field_offset(struct my_type, my_field). - */ -#define bpf_core_field_offset(field...) \ - __builtin_preserve_field_info(___bpf_field_ref(field), BPF_FIELD_BYTE_OFFSET) - -/* - * Convenience macro to get BTF type ID of a specified type, using a local BTF - * information. Return 32-bit unsigned integer with type ID from program's own - * BTF. Always succeeds. - */ -#define bpf_core_type_id_local(type) \ - __builtin_btf_type_id(*(typeof(type) *)0, BPF_TYPE_ID_LOCAL) - -/* - * Convenience macro to get BTF type ID of a target kernel's type that matches - * specified local type. - * Returns: - * - valid 32-bit unsigned type ID in kernel BTF; - * - 0, if no matching type was found in a target kernel BTF. - */ -#define bpf_core_type_id_kernel(type) \ - __builtin_btf_type_id(*(typeof(type) *)0, BPF_TYPE_ID_TARGET) - -/* - * Convenience macro to check that provided named type - * (struct/union/enum/typedef) exists in a target kernel. - * Returns: - * 1, if such type is present in target kernel's BTF; - * 0, if no matching type is found. - */ -#define bpf_core_type_exists(type) \ - __builtin_preserve_type_info(*(typeof(type) *)0, BPF_TYPE_EXISTS) - -/* - * Convenience macro to get the byte size of a provided named type - * (struct/union/enum/typedef) in a target kernel. - * Returns: - * >= 0 size (in bytes), if type is present in target kernel's BTF; - * 0, if no matching type is found. - */ -#define bpf_core_type_size(type) \ - __builtin_preserve_type_info(*(typeof(type) *)0, BPF_TYPE_SIZE) - -/* - * Convenience macro to check that provided enumerator value is defined in - * a target kernel. - * Returns: - * 1, if specified enum type and its enumerator value are present in target - * kernel's BTF; - * 0, if no matching enum and/or enum value within that enum is found. - */ -#define bpf_core_enum_value_exists(enum_type, enum_value) \ - __builtin_preserve_enum_value(*(typeof(enum_type) *)enum_value, BPF_ENUMVAL_EXISTS) - -/* - * Convenience macro to get the integer value of an enumerator value in - * a target kernel. - * Returns: - * 64-bit value, if specified enum type and its enumerator value are - * present in target kernel's BTF; - * 0, if no matching enum and/or enum value within that enum is found. - */ -#define bpf_core_enum_value(enum_type, enum_value) \ - __builtin_preserve_enum_value(*(typeof(enum_type) *)enum_value, BPF_ENUMVAL_VALUE) - -/* - * bpf_core_read() abstracts away bpf_probe_read_kernel() call and captures - * offset relocation for source address using __builtin_preserve_access_index() - * built-in, provided by Clang. - * - * __builtin_preserve_access_index() takes as an argument an expression of - * taking an address of a field within struct/union. It makes compiler emit - * a relocation, which records BTF type ID describing root struct/union and an - * accessor string which describes exact embedded field that was used to take - * an address. See detailed description of this relocation format and - * semantics in comments to struct bpf_field_reloc in libbpf_internal.h. - * - * This relocation allows libbpf to adjust BPF instruction to use correct - * actual field offset, based on target kernel BTF type that matches original - * (local) BTF, used to record relocation. - */ -#define bpf_core_read(dst, sz, src) \ - bpf_probe_read_kernel(dst, sz, (const void *)__builtin_preserve_access_index(src)) - -/* NOTE: see comments for BPF_CORE_READ_USER() about the proper types use. */ -#define bpf_core_read_user(dst, sz, src) \ - bpf_probe_read_user(dst, sz, (const void *)__builtin_preserve_access_index(src)) -/* - * bpf_core_read_str() is a thin wrapper around bpf_probe_read_str() - * additionally emitting BPF CO-RE field relocation for specified source - * argument. - */ -#define bpf_core_read_str(dst, sz, src) \ - bpf_probe_read_kernel_str(dst, sz, (const void *)__builtin_preserve_access_index(src)) - -/* NOTE: see comments for BPF_CORE_READ_USER() about the proper types use. */ -#define bpf_core_read_user_str(dst, sz, src) \ - bpf_probe_read_user_str(dst, sz, (const void *)__builtin_preserve_access_index(src)) - -#define ___concat(a, b) a ## b -#define ___apply(fn, n) ___concat(fn, n) -#define ___nth(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, __11, N, ...) N - -/* - * return number of provided arguments; used for switch-based variadic macro - * definitions (see ___last, ___arrow, etc below) - */ -#define ___narg(...) ___nth(_, ##__VA_ARGS__, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0) -/* - * return 0 if no arguments are passed, N - otherwise; used for - * recursively-defined macros to specify termination (0) case, and generic - * (N) case (e.g., ___read_ptrs, ___core_read) - */ -#define ___empty(...) ___nth(_, ##__VA_ARGS__, N, N, N, N, N, N, N, N, N, N, 0) - -#define ___last1(x) x -#define ___last2(a, x) x -#define ___last3(a, b, x) x -#define ___last4(a, b, c, x) x -#define ___last5(a, b, c, d, x) x -#define ___last6(a, b, c, d, e, x) x -#define ___last7(a, b, c, d, e, f, x) x -#define ___last8(a, b, c, d, e, f, g, x) x -#define ___last9(a, b, c, d, e, f, g, h, x) x -#define ___last10(a, b, c, d, e, f, g, h, i, x) x -#define ___last(...) ___apply(___last, ___narg(__VA_ARGS__))(__VA_ARGS__) - -#define ___nolast2(a, _) a -#define ___nolast3(a, b, _) a, b -#define ___nolast4(a, b, c, _) a, b, c -#define ___nolast5(a, b, c, d, _) a, b, c, d -#define ___nolast6(a, b, c, d, e, _) a, b, c, d, e -#define ___nolast7(a, b, c, d, e, f, _) a, b, c, d, e, f -#define ___nolast8(a, b, c, d, e, f, g, _) a, b, c, d, e, f, g -#define ___nolast9(a, b, c, d, e, f, g, h, _) a, b, c, d, e, f, g, h -#define ___nolast10(a, b, c, d, e, f, g, h, i, _) a, b, c, d, e, f, g, h, i -#define ___nolast(...) ___apply(___nolast, ___narg(__VA_ARGS__))(__VA_ARGS__) - -#define ___arrow1(a) a -#define ___arrow2(a, b) a->b -#define ___arrow3(a, b, c) a->b->c -#define ___arrow4(a, b, c, d) a->b->c->d -#define ___arrow5(a, b, c, d, e) a->b->c->d->e -#define ___arrow6(a, b, c, d, e, f) a->b->c->d->e->f -#define ___arrow7(a, b, c, d, e, f, g) a->b->c->d->e->f->g -#define ___arrow8(a, b, c, d, e, f, g, h) a->b->c->d->e->f->g->h -#define ___arrow9(a, b, c, d, e, f, g, h, i) a->b->c->d->e->f->g->h->i -#define ___arrow10(a, b, c, d, e, f, g, h, i, j) a->b->c->d->e->f->g->h->i->j -#define ___arrow(...) ___apply(___arrow, ___narg(__VA_ARGS__))(__VA_ARGS__) - -#define ___type(...) typeof(___arrow(__VA_ARGS__)) - -#define ___read(read_fn, dst, src_type, src, accessor) \ - read_fn((void *)(dst), sizeof(*(dst)), &((src_type)(src))->accessor) - -/* "recursively" read a sequence of inner pointers using local __t var */ -#define ___rd_first(fn, src, a) ___read(fn, &__t, ___type(src), src, a); -#define ___rd_last(fn, ...) \ - ___read(fn, &__t, ___type(___nolast(__VA_ARGS__)), __t, ___last(__VA_ARGS__)); -#define ___rd_p1(fn, ...) const void *__t; ___rd_first(fn, __VA_ARGS__) -#define ___rd_p2(fn, ...) ___rd_p1(fn, ___nolast(__VA_ARGS__)) ___rd_last(fn, __VA_ARGS__) -#define ___rd_p3(fn, ...) ___rd_p2(fn, ___nolast(__VA_ARGS__)) ___rd_last(fn, __VA_ARGS__) -#define ___rd_p4(fn, ...) ___rd_p3(fn, ___nolast(__VA_ARGS__)) ___rd_last(fn, __VA_ARGS__) -#define ___rd_p5(fn, ...) ___rd_p4(fn, ___nolast(__VA_ARGS__)) ___rd_last(fn, __VA_ARGS__) -#define ___rd_p6(fn, ...) ___rd_p5(fn, ___nolast(__VA_ARGS__)) ___rd_last(fn, __VA_ARGS__) -#define ___rd_p7(fn, ...) ___rd_p6(fn, ___nolast(__VA_ARGS__)) ___rd_last(fn, __VA_ARGS__) -#define ___rd_p8(fn, ...) ___rd_p7(fn, ___nolast(__VA_ARGS__)) ___rd_last(fn, __VA_ARGS__) -#define ___rd_p9(fn, ...) ___rd_p8(fn, ___nolast(__VA_ARGS__)) ___rd_last(fn, __VA_ARGS__) -#define ___read_ptrs(fn, src, ...) \ - ___apply(___rd_p, ___narg(__VA_ARGS__))(fn, src, __VA_ARGS__) - -#define ___core_read0(fn, fn_ptr, dst, src, a) \ - ___read(fn, dst, ___type(src), src, a); -#define ___core_readN(fn, fn_ptr, dst, src, ...) \ - ___read_ptrs(fn_ptr, src, ___nolast(__VA_ARGS__)) \ - ___read(fn, dst, ___type(src, ___nolast(__VA_ARGS__)), __t, \ - ___last(__VA_ARGS__)); -#define ___core_read(fn, fn_ptr, dst, src, a, ...) \ - ___apply(___core_read, ___empty(__VA_ARGS__))(fn, fn_ptr, dst, \ - src, a, ##__VA_ARGS__) - -/* - * BPF_CORE_READ_INTO() is a more performance-conscious variant of - * BPF_CORE_READ(), in which final field is read into user-provided storage. - * See BPF_CORE_READ() below for more details on general usage. - */ -#define BPF_CORE_READ_INTO(dst, src, a, ...) ({ \ - ___core_read(bpf_core_read, bpf_core_read, \ - dst, (src), a, ##__VA_ARGS__) \ -}) - -/* - * Variant of BPF_CORE_READ_INTO() for reading from user-space memory. - * - * NOTE: see comments for BPF_CORE_READ_USER() about the proper types use. - */ -#define BPF_CORE_READ_USER_INTO(dst, src, a, ...) ({ \ - ___core_read(bpf_core_read_user, bpf_core_read_user, \ - dst, (src), a, ##__VA_ARGS__) \ -}) - -/* Non-CO-RE variant of BPF_CORE_READ_INTO() */ -#define BPF_PROBE_READ_INTO(dst, src, a, ...) ({ \ - ___core_read(bpf_probe_read, bpf_probe_read, \ - dst, (src), a, ##__VA_ARGS__) \ -}) - -/* Non-CO-RE variant of BPF_CORE_READ_USER_INTO(). - * - * As no CO-RE relocations are emitted, source types can be arbitrary and are - * not restricted to kernel types only. - */ -#define BPF_PROBE_READ_USER_INTO(dst, src, a, ...) ({ \ - ___core_read(bpf_probe_read_user, bpf_probe_read_user, \ - dst, (src), a, ##__VA_ARGS__) \ -}) - -/* - * BPF_CORE_READ_STR_INTO() does same "pointer chasing" as - * BPF_CORE_READ() for intermediate pointers, but then executes (and returns - * corresponding error code) bpf_core_read_str() for final string read. - */ -#define BPF_CORE_READ_STR_INTO(dst, src, a, ...) ({ \ - ___core_read(bpf_core_read_str, bpf_core_read, \ - dst, (src), a, ##__VA_ARGS__) \ -}) - -/* - * Variant of BPF_CORE_READ_STR_INTO() for reading from user-space memory. - * - * NOTE: see comments for BPF_CORE_READ_USER() about the proper types use. - */ -#define BPF_CORE_READ_USER_STR_INTO(dst, src, a, ...) ({ \ - ___core_read(bpf_core_read_user_str, bpf_core_read_user, \ - dst, (src), a, ##__VA_ARGS__) \ -}) - -/* Non-CO-RE variant of BPF_CORE_READ_STR_INTO() */ -#define BPF_PROBE_READ_STR_INTO(dst, src, a, ...) ({ \ - ___core_read(bpf_probe_read_str, bpf_probe_read, \ - dst, (src), a, ##__VA_ARGS__) \ -}) - -/* - * Non-CO-RE variant of BPF_CORE_READ_USER_STR_INTO(). - * - * As no CO-RE relocations are emitted, source types can be arbitrary and are - * not restricted to kernel types only. - */ -#define BPF_PROBE_READ_USER_STR_INTO(dst, src, a, ...) ({ \ - ___core_read(bpf_probe_read_user_str, bpf_probe_read_user, \ - dst, (src), a, ##__VA_ARGS__) \ -}) - -/* - * BPF_CORE_READ() is used to simplify BPF CO-RE relocatable read, especially - * when there are few pointer chasing steps. - * E.g., what in non-BPF world (or in BPF w/ BCC) would be something like: - * int x = s->a.b.c->d.e->f->g; - * can be succinctly achieved using BPF_CORE_READ as: - * int x = BPF_CORE_READ(s, a.b.c, d.e, f, g); - * - * BPF_CORE_READ will decompose above statement into 4 bpf_core_read (BPF - * CO-RE relocatable bpf_probe_read_kernel() wrapper) calls, logically - * equivalent to: - * 1. const void *__t = s->a.b.c; - * 2. __t = __t->d.e; - * 3. __t = __t->f; - * 4. return __t->g; - * - * Equivalence is logical, because there is a heavy type casting/preservation - * involved, as well as all the reads are happening through - * bpf_probe_read_kernel() calls using __builtin_preserve_access_index() to - * emit CO-RE relocations. - * - * N.B. Only up to 9 "field accessors" are supported, which should be more - * than enough for any practical purpose. - */ -#define BPF_CORE_READ(src, a, ...) ({ \ - ___type((src), a, ##__VA_ARGS__) __r; \ - BPF_CORE_READ_INTO(&__r, (src), a, ##__VA_ARGS__); \ - __r; \ -}) - -/* - * Variant of BPF_CORE_READ() for reading from user-space memory. - * - * NOTE: all the source types involved are still *kernel types* and need to - * exist in kernel (or kernel module) BTF, otherwise CO-RE relocation will - * fail. Custom user types are not relocatable with CO-RE. - * The typical situation in which BPF_CORE_READ_USER() might be used is to - * read kernel UAPI types from the user-space memory passed in as a syscall - * input argument. - */ -#define BPF_CORE_READ_USER(src, a, ...) ({ \ - ___type((src), a, ##__VA_ARGS__) __r; \ - BPF_CORE_READ_USER_INTO(&__r, (src), a, ##__VA_ARGS__); \ - __r; \ -}) - -/* Non-CO-RE variant of BPF_CORE_READ() */ -#define BPF_PROBE_READ(src, a, ...) ({ \ - ___type((src), a, ##__VA_ARGS__) __r; \ - BPF_PROBE_READ_INTO(&__r, (src), a, ##__VA_ARGS__); \ - __r; \ -}) - -/* - * Non-CO-RE variant of BPF_CORE_READ_USER(). - * - * As no CO-RE relocations are emitted, source types can be arbitrary and are - * not restricted to kernel types only. - */ -#define BPF_PROBE_READ_USER(src, a, ...) ({ \ - ___type((src), a, ##__VA_ARGS__) __r; \ - BPF_PROBE_READ_USER_INTO(&__r, (src), a, ##__VA_ARGS__); \ - __r; \ -}) - -#endif - diff --git a/lcc/golcc/include/bpf/bpf_endian.h b/lcc/golcc/include/bpf/bpf_endian.h deleted file mode 100644 index ec9db4f..0000000 --- a/lcc/golcc/include/bpf/bpf_endian.h +++ /dev/null @@ -1,99 +0,0 @@ -/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */ -#ifndef __BPF_ENDIAN__ -#define __BPF_ENDIAN__ - -/* - * Isolate byte #n and put it into byte #m, for __u##b type. - * E.g., moving byte #6 (nnnnnnnn) into byte #1 (mmmmmmmm) for __u64: - * 1) xxxxxxxx nnnnnnnn xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx mmmmmmmm xxxxxxxx - * 2) nnnnnnnn xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx mmmmmmmm xxxxxxxx 00000000 - * 3) 00000000 00000000 00000000 00000000 00000000 00000000 00000000 nnnnnnnn - * 4) 00000000 00000000 00000000 00000000 00000000 00000000 nnnnnnnn 00000000 - */ -#define ___bpf_mvb(x, b, n, m) ((__u##b)(x) << (b-(n+1)*8) >> (b-8) << (m*8)) - -#define ___bpf_swab16(x) ((__u16)( \ - ___bpf_mvb(x, 16, 0, 1) | \ - ___bpf_mvb(x, 16, 1, 0))) - -#define ___bpf_swab32(x) ((__u32)( \ - ___bpf_mvb(x, 32, 0, 3) | \ - ___bpf_mvb(x, 32, 1, 2) | \ - ___bpf_mvb(x, 32, 2, 1) | \ - ___bpf_mvb(x, 32, 3, 0))) - -#define ___bpf_swab64(x) ((__u64)( \ - ___bpf_mvb(x, 64, 0, 7) | \ - ___bpf_mvb(x, 64, 1, 6) | \ - ___bpf_mvb(x, 64, 2, 5) | \ - ___bpf_mvb(x, 64, 3, 4) | \ - ___bpf_mvb(x, 64, 4, 3) | \ - ___bpf_mvb(x, 64, 5, 2) | \ - ___bpf_mvb(x, 64, 6, 1) | \ - ___bpf_mvb(x, 64, 7, 0))) - -/* LLVM's BPF target selects the endianness of the CPU - * it compiles on, or the user specifies (bpfel/bpfeb), - * respectively. The used __BYTE_ORDER__ is defined by - * the compiler, we cannot rely on __BYTE_ORDER from - * libc headers, since it doesn't reflect the actual - * requested byte order. - * - * Note, LLVM's BPF target has different __builtin_bswapX() - * semantics. It does map to BPF_ALU | BPF_END | BPF_TO_BE - * in bpfel and bpfeb case, which means below, that we map - * to cpu_to_be16(). We could use it unconditionally in BPF - * case, but better not rely on it, so that this header here - * can be used from application and BPF program side, which - * use different targets. - */ -#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ -# define __bpf_ntohs(x) __builtin_bswap16(x) -# define __bpf_htons(x) __builtin_bswap16(x) -# define __bpf_constant_ntohs(x) ___bpf_swab16(x) -# define __bpf_constant_htons(x) ___bpf_swab16(x) -# define __bpf_ntohl(x) __builtin_bswap32(x) -# define __bpf_htonl(x) __builtin_bswap32(x) -# define __bpf_constant_ntohl(x) ___bpf_swab32(x) -# define __bpf_constant_htonl(x) ___bpf_swab32(x) -# define __bpf_be64_to_cpu(x) __builtin_bswap64(x) -# define __bpf_cpu_to_be64(x) __builtin_bswap64(x) -# define __bpf_constant_be64_to_cpu(x) ___bpf_swab64(x) -# define __bpf_constant_cpu_to_be64(x) ___bpf_swab64(x) -#elif __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ -# define __bpf_ntohs(x) (x) -# define __bpf_htons(x) (x) -# define __bpf_constant_ntohs(x) (x) -# define __bpf_constant_htons(x) (x) -# define __bpf_ntohl(x) (x) -# define __bpf_htonl(x) (x) -# define __bpf_constant_ntohl(x) (x) -# define __bpf_constant_htonl(x) (x) -# define __bpf_be64_to_cpu(x) (x) -# define __bpf_cpu_to_be64(x) (x) -# define __bpf_constant_be64_to_cpu(x) (x) -# define __bpf_constant_cpu_to_be64(x) (x) -#else -# error "Fix your compiler's __BYTE_ORDER__?!" -#endif - -#define bpf_htons(x) \ - (__builtin_constant_p(x) ? \ - __bpf_constant_htons(x) : __bpf_htons(x)) -#define bpf_ntohs(x) \ - (__builtin_constant_p(x) ? \ - __bpf_constant_ntohs(x) : __bpf_ntohs(x)) -#define bpf_htonl(x) \ - (__builtin_constant_p(x) ? \ - __bpf_constant_htonl(x) : __bpf_htonl(x)) -#define bpf_ntohl(x) \ - (__builtin_constant_p(x) ? \ - __bpf_constant_ntohl(x) : __bpf_ntohl(x)) -#define bpf_cpu_to_be64(x) \ - (__builtin_constant_p(x) ? \ - __bpf_constant_cpu_to_be64(x) : __bpf_cpu_to_be64(x)) -#define bpf_be64_to_cpu(x) \ - (__builtin_constant_p(x) ? \ - __bpf_constant_be64_to_cpu(x) : __bpf_be64_to_cpu(x)) - -#endif /* __BPF_ENDIAN__ */ diff --git a/lcc/golcc/include/bpf/bpf_gen_internal.h b/lcc/golcc/include/bpf/bpf_gen_internal.h deleted file mode 100644 index 2233089..0000000 --- a/lcc/golcc/include/bpf/bpf_gen_internal.h +++ /dev/null @@ -1,72 +0,0 @@ -/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */ -/* Copyright (c) 2021 Facebook */ -#ifndef __BPF_GEN_INTERNAL_H -#define __BPF_GEN_INTERNAL_H - -#include "bpf.h" - -struct ksym_relo_desc { - const char *name; - int kind; - int insn_idx; - bool is_weak; - bool is_typeless; -}; - -struct ksym_desc { - const char *name; - int ref; - int kind; - union { - /* used for kfunc */ - int off; - /* used for typeless ksym */ - bool typeless; - }; - int insn; -}; - -struct bpf_gen { - struct gen_loader_opts *opts; - void *data_start; - void *data_cur; - void *insn_start; - void *insn_cur; - ssize_t cleanup_label; - __u32 nr_progs; - __u32 nr_maps; - int log_level; - int error; - struct ksym_relo_desc *relos; - int relo_cnt; - struct bpf_core_relo *core_relos; - int core_relo_cnt; - char attach_target[128]; - int attach_kind; - struct ksym_desc *ksyms; - __u32 nr_ksyms; - int fd_array; - int nr_fd_array; -}; - -void bpf_gen__init(struct bpf_gen *gen, int log_level, int nr_progs, int nr_maps); -int bpf_gen__finish(struct bpf_gen *gen, int nr_progs, int nr_maps); -void bpf_gen__free(struct bpf_gen *gen); -void bpf_gen__load_btf(struct bpf_gen *gen, const void *raw_data, __u32 raw_size); -void bpf_gen__map_create(struct bpf_gen *gen, - enum bpf_map_type map_type, const char *map_name, - __u32 key_size, __u32 value_size, __u32 max_entries, - struct bpf_map_create_opts *map_attr, int map_idx); -void bpf_gen__prog_load(struct bpf_gen *gen, - enum bpf_prog_type prog_type, const char *prog_name, - const char *license, struct bpf_insn *insns, size_t insn_cnt, - struct bpf_prog_load_opts *load_attr, int prog_idx); -void bpf_gen__map_update_elem(struct bpf_gen *gen, int map_idx, void *value, __u32 value_size); -void bpf_gen__map_freeze(struct bpf_gen *gen, int map_idx); -void bpf_gen__record_attach_target(struct bpf_gen *gen, const char *name, enum bpf_attach_type type); -void bpf_gen__record_extern(struct bpf_gen *gen, const char *name, bool is_weak, - bool is_typeless, int kind, int insn_idx); -void bpf_gen__record_relo_core(struct bpf_gen *gen, const struct bpf_core_relo *core_relo); -void bpf_gen__populate_outer_map(struct bpf_gen *gen, int outer_map_idx, int key, int inner_map_idx); - -#endif diff --git a/lcc/golcc/include/bpf/bpf_helper_defs.h b/lcc/golcc/include/bpf/bpf_helper_defs.h deleted file mode 100644 index abe612e..0000000 --- a/lcc/golcc/include/bpf/bpf_helper_defs.h +++ /dev/null @@ -1,4373 +0,0 @@ -/* This is auto-generated file. See bpf_doc.py for details. */ - -/* Forward declarations of BPF structs */ -struct bpf_fib_lookup; -struct bpf_sk_lookup; -struct bpf_perf_event_data; -struct bpf_perf_event_value; -struct bpf_pidns_info; -struct bpf_redir_neigh; -struct bpf_sock; -struct bpf_sock_addr; -struct bpf_sock_ops; -struct bpf_sock_tuple; -struct bpf_spin_lock; -struct bpf_sysctl; -struct bpf_tcp_sock; -struct bpf_tunnel_key; -struct bpf_xfrm_state; -struct linux_binprm; -struct pt_regs; -struct sk_reuseport_md; -struct sockaddr; -struct tcphdr; -struct seq_file; -struct tcp6_sock; -struct tcp_sock; -struct tcp_timewait_sock; -struct tcp_request_sock; -struct udp6_sock; -struct unix_sock; -struct task_struct; -struct __sk_buff; -struct sk_msg_md; -struct xdp_md; -struct path; -struct btf_ptr; -struct inode; -struct socket; -struct file; -struct bpf_timer; - -/* - * bpf_map_lookup_elem - * - * Perform a lookup in *map* for an entry associated to *key*. - * - * Returns - * Map value associated to *key*, or **NULL** if no entry was - * found. - */ -static void *(*bpf_map_lookup_elem)(void *map, const void *key) = (void *) 1; - -/* - * bpf_map_update_elem - * - * Add or update the value of the entry associated to *key* in - * *map* with *value*. *flags* is one of: - * - * **BPF_NOEXIST** - * The entry for *key* must not exist in the map. - * **BPF_EXIST** - * The entry for *key* must already exist in the map. - * **BPF_ANY** - * No condition on the existence of the entry for *key*. - * - * Flag value **BPF_NOEXIST** cannot be used for maps of types - * **BPF_MAP_TYPE_ARRAY** or **BPF_MAP_TYPE_PERCPU_ARRAY** (all - * elements always exist), the helper would return an error. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_map_update_elem)(void *map, const void *key, const void *value, __u64 flags) = (void *) 2; - -/* - * bpf_map_delete_elem - * - * Delete entry with *key* from *map*. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_map_delete_elem)(void *map, const void *key) = (void *) 3; - -/* - * bpf_probe_read - * - * For tracing programs, safely attempt to read *size* bytes from - * kernel space address *unsafe_ptr* and store the data in *dst*. - * - * Generally, use **bpf_probe_read_user**\ () or - * **bpf_probe_read_kernel**\ () instead. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_probe_read)(void *dst, __u32 size, const void *unsafe_ptr) = (void *) 4; - -/* - * bpf_ktime_get_ns - * - * Return the time elapsed since system boot, in nanoseconds. - * Does not include time the system was suspended. - * See: **clock_gettime**\ (**CLOCK_MONOTONIC**) - * - * Returns - * Current *ktime*. - */ -static __u64 (*bpf_ktime_get_ns)(void) = (void *) 5; - -/* - * bpf_trace_printk - * - * This helper is a "printk()-like" facility for debugging. It - * prints a message defined by format *fmt* (of size *fmt_size*) - * to file *\/sys/kernel/debug/tracing/trace* from DebugFS, if - * available. It can take up to three additional **u64** - * arguments (as an eBPF helpers, the total number of arguments is - * limited to five). - * - * Each time the helper is called, it appends a line to the trace. - * Lines are discarded while *\/sys/kernel/debug/tracing/trace* is - * open, use *\/sys/kernel/debug/tracing/trace_pipe* to avoid this. - * The format of the trace is customizable, and the exact output - * one will get depends on the options set in - * *\/sys/kernel/debug/tracing/trace_options* (see also the - * *README* file under the same directory). However, it usually - * defaults to something like: - * - * :: - * - * telnet-470 [001] .N.. 419421.045894: 0x00000001: - * - * In the above: - * - * * ``telnet`` is the name of the current task. - * * ``470`` is the PID of the current task. - * * ``001`` is the CPU number on which the task is - * running. - * * In ``.N..``, each character refers to a set of - * options (whether irqs are enabled, scheduling - * options, whether hard/softirqs are running, level of - * preempt_disabled respectively). **N** means that - * **TIF_NEED_RESCHED** and **PREEMPT_NEED_RESCHED** - * are set. - * * ``419421.045894`` is a timestamp. - * * ``0x00000001`` is a fake value used by BPF for the - * instruction pointer register. - * * ```` is the message formatted with - * *fmt*. - * - * The conversion specifiers supported by *fmt* are similar, but - * more limited than for printk(). They are **%d**, **%i**, - * **%u**, **%x**, **%ld**, **%li**, **%lu**, **%lx**, **%lld**, - * **%lli**, **%llu**, **%llx**, **%p**, **%s**. No modifier (size - * of field, padding with zeroes, etc.) is available, and the - * helper will return **-EINVAL** (but print nothing) if it - * encounters an unknown specifier. - * - * Also, note that **bpf_trace_printk**\ () is slow, and should - * only be used for debugging purposes. For this reason, a notice - * block (spanning several lines) is printed to kernel logs and - * states that the helper should not be used "for production use" - * the first time this helper is used (or more precisely, when - * **trace_printk**\ () buffers are allocated). For passing values - * to user space, perf events should be preferred. - * - * Returns - * The number of bytes written to the buffer, or a negative error - * in case of failure. - */ -static long (*bpf_trace_printk)(const char *fmt, __u32 fmt_size, ...) = (void *) 6; - -/* - * bpf_get_prandom_u32 - * - * Get a pseudo-random number. - * - * From a security point of view, this helper uses its own - * pseudo-random internal state, and cannot be used to infer the - * seed of other random functions in the kernel. However, it is - * essential to note that the generator used by the helper is not - * cryptographically secure. - * - * Returns - * A random 32-bit unsigned value. - */ -static __u32 (*bpf_get_prandom_u32)(void) = (void *) 7; - -/* - * bpf_get_smp_processor_id - * - * Get the SMP (symmetric multiprocessing) processor id. Note that - * all programs run with migration disabled, which means that the - * SMP processor id is stable during all the execution of the - * program. - * - * Returns - * The SMP id of the processor running the program. - */ -static __u32 (*bpf_get_smp_processor_id)(void) = (void *) 8; - -/* - * bpf_skb_store_bytes - * - * Store *len* bytes from address *from* into the packet - * associated to *skb*, at *offset*. *flags* are a combination of - * **BPF_F_RECOMPUTE_CSUM** (automatically recompute the - * checksum for the packet after storing the bytes) and - * **BPF_F_INVALIDATE_HASH** (set *skb*\ **->hash**, *skb*\ - * **->swhash** and *skb*\ **->l4hash** to 0). - * - * A call to this helper is susceptible to change the underlying - * packet buffer. Therefore, at load time, all checks on pointers - * previously done by the verifier are invalidated and must be - * performed again, if the helper is used in combination with - * direct packet access. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_skb_store_bytes)(struct __sk_buff *skb, __u32 offset, const void *from, __u32 len, __u64 flags) = (void *) 9; - -/* - * bpf_l3_csum_replace - * - * Recompute the layer 3 (e.g. IP) checksum for the packet - * associated to *skb*. Computation is incremental, so the helper - * must know the former value of the header field that was - * modified (*from*), the new value of this field (*to*), and the - * number of bytes (2 or 4) for this field, stored in *size*. - * Alternatively, it is possible to store the difference between - * the previous and the new values of the header field in *to*, by - * setting *from* and *size* to 0. For both methods, *offset* - * indicates the location of the IP checksum within the packet. - * - * This helper works in combination with **bpf_csum_diff**\ (), - * which does not update the checksum in-place, but offers more - * flexibility and can handle sizes larger than 2 or 4 for the - * checksum to update. - * - * A call to this helper is susceptible to change the underlying - * packet buffer. Therefore, at load time, all checks on pointers - * previously done by the verifier are invalidated and must be - * performed again, if the helper is used in combination with - * direct packet access. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_l3_csum_replace)(struct __sk_buff *skb, __u32 offset, __u64 from, __u64 to, __u64 size) = (void *) 10; - -/* - * bpf_l4_csum_replace - * - * Recompute the layer 4 (e.g. TCP, UDP or ICMP) checksum for the - * packet associated to *skb*. Computation is incremental, so the - * helper must know the former value of the header field that was - * modified (*from*), the new value of this field (*to*), and the - * number of bytes (2 or 4) for this field, stored on the lowest - * four bits of *flags*. Alternatively, it is possible to store - * the difference between the previous and the new values of the - * header field in *to*, by setting *from* and the four lowest - * bits of *flags* to 0. For both methods, *offset* indicates the - * location of the IP checksum within the packet. In addition to - * the size of the field, *flags* can be added (bitwise OR) actual - * flags. With **BPF_F_MARK_MANGLED_0**, a null checksum is left - * untouched (unless **BPF_F_MARK_ENFORCE** is added as well), and - * for updates resulting in a null checksum the value is set to - * **CSUM_MANGLED_0** instead. Flag **BPF_F_PSEUDO_HDR** indicates - * the checksum is to be computed against a pseudo-header. - * - * This helper works in combination with **bpf_csum_diff**\ (), - * which does not update the checksum in-place, but offers more - * flexibility and can handle sizes larger than 2 or 4 for the - * checksum to update. - * - * A call to this helper is susceptible to change the underlying - * packet buffer. Therefore, at load time, all checks on pointers - * previously done by the verifier are invalidated and must be - * performed again, if the helper is used in combination with - * direct packet access. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_l4_csum_replace)(struct __sk_buff *skb, __u32 offset, __u64 from, __u64 to, __u64 flags) = (void *) 11; - -/* - * bpf_tail_call - * - * This special helper is used to trigger a "tail call", or in - * other words, to jump into another eBPF program. The same stack - * frame is used (but values on stack and in registers for the - * caller are not accessible to the callee). This mechanism allows - * for program chaining, either for raising the maximum number of - * available eBPF instructions, or to execute given programs in - * conditional blocks. For security reasons, there is an upper - * limit to the number of successive tail calls that can be - * performed. - * - * Upon call of this helper, the program attempts to jump into a - * program referenced at index *index* in *prog_array_map*, a - * special map of type **BPF_MAP_TYPE_PROG_ARRAY**, and passes - * *ctx*, a pointer to the context. - * - * If the call succeeds, the kernel immediately runs the first - * instruction of the new program. This is not a function call, - * and it never returns to the previous program. If the call - * fails, then the helper has no effect, and the caller continues - * to run its subsequent instructions. A call can fail if the - * destination program for the jump does not exist (i.e. *index* - * is superior to the number of entries in *prog_array_map*), or - * if the maximum number of tail calls has been reached for this - * chain of programs. This limit is defined in the kernel by the - * macro **MAX_TAIL_CALL_CNT** (not accessible to user space), - * which is currently set to 33. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_tail_call)(void *ctx, void *prog_array_map, __u32 index) = (void *) 12; - -/* - * bpf_clone_redirect - * - * Clone and redirect the packet associated to *skb* to another - * net device of index *ifindex*. Both ingress and egress - * interfaces can be used for redirection. The **BPF_F_INGRESS** - * value in *flags* is used to make the distinction (ingress path - * is selected if the flag is present, egress path otherwise). - * This is the only flag supported for now. - * - * In comparison with **bpf_redirect**\ () helper, - * **bpf_clone_redirect**\ () has the associated cost of - * duplicating the packet buffer, but this can be executed out of - * the eBPF program. Conversely, **bpf_redirect**\ () is more - * efficient, but it is handled through an action code where the - * redirection happens only after the eBPF program has returned. - * - * A call to this helper is susceptible to change the underlying - * packet buffer. Therefore, at load time, all checks on pointers - * previously done by the verifier are invalidated and must be - * performed again, if the helper is used in combination with - * direct packet access. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_clone_redirect)(struct __sk_buff *skb, __u32 ifindex, __u64 flags) = (void *) 13; - -/* - * bpf_get_current_pid_tgid - * - * Get the current pid and tgid. - * - * Returns - * A 64-bit integer containing the current tgid and pid, and - * created as such: - * *current_task*\ **->tgid << 32 \|** - * *current_task*\ **->pid**. - */ -static __u64 (*bpf_get_current_pid_tgid)(void) = (void *) 14; - -/* - * bpf_get_current_uid_gid - * - * Get the current uid and gid. - * - * Returns - * A 64-bit integer containing the current GID and UID, and - * created as such: *current_gid* **<< 32 \|** *current_uid*. - */ -static __u64 (*bpf_get_current_uid_gid)(void) = (void *) 15; - -/* - * bpf_get_current_comm - * - * Copy the **comm** attribute of the current task into *buf* of - * *size_of_buf*. The **comm** attribute contains the name of - * the executable (excluding the path) for the current task. The - * *size_of_buf* must be strictly positive. On success, the - * helper makes sure that the *buf* is NUL-terminated. On failure, - * it is filled with zeroes. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_get_current_comm)(void *buf, __u32 size_of_buf) = (void *) 16; - -/* - * bpf_get_cgroup_classid - * - * Retrieve the classid for the current task, i.e. for the net_cls - * cgroup to which *skb* belongs. - * - * This helper can be used on TC egress path, but not on ingress. - * - * The net_cls cgroup provides an interface to tag network packets - * based on a user-provided identifier for all traffic coming from - * the tasks belonging to the related cgroup. See also the related - * kernel documentation, available from the Linux sources in file - * *Documentation/admin-guide/cgroup-v1/net_cls.rst*. - * - * The Linux kernel has two versions for cgroups: there are - * cgroups v1 and cgroups v2. Both are available to users, who can - * use a mixture of them, but note that the net_cls cgroup is for - * cgroup v1 only. This makes it incompatible with BPF programs - * run on cgroups, which is a cgroup-v2-only feature (a socket can - * only hold data for one version of cgroups at a time). - * - * This helper is only available is the kernel was compiled with - * the **CONFIG_CGROUP_NET_CLASSID** configuration option set to - * "**y**" or to "**m**". - * - * Returns - * The classid, or 0 for the default unconfigured classid. - */ -static __u32 (*bpf_get_cgroup_classid)(struct __sk_buff *skb) = (void *) 17; - -/* - * bpf_skb_vlan_push - * - * Push a *vlan_tci* (VLAN tag control information) of protocol - * *vlan_proto* to the packet associated to *skb*, then update - * the checksum. Note that if *vlan_proto* is different from - * **ETH_P_8021Q** and **ETH_P_8021AD**, it is considered to - * be **ETH_P_8021Q**. - * - * A call to this helper is susceptible to change the underlying - * packet buffer. Therefore, at load time, all checks on pointers - * previously done by the verifier are invalidated and must be - * performed again, if the helper is used in combination with - * direct packet access. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_skb_vlan_push)(struct __sk_buff *skb, __be16 vlan_proto, __u16 vlan_tci) = (void *) 18; - -/* - * bpf_skb_vlan_pop - * - * Pop a VLAN header from the packet associated to *skb*. - * - * A call to this helper is susceptible to change the underlying - * packet buffer. Therefore, at load time, all checks on pointers - * previously done by the verifier are invalidated and must be - * performed again, if the helper is used in combination with - * direct packet access. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_skb_vlan_pop)(struct __sk_buff *skb) = (void *) 19; - -/* - * bpf_skb_get_tunnel_key - * - * Get tunnel metadata. This helper takes a pointer *key* to an - * empty **struct bpf_tunnel_key** of **size**, that will be - * filled with tunnel metadata for the packet associated to *skb*. - * The *flags* can be set to **BPF_F_TUNINFO_IPV6**, which - * indicates that the tunnel is based on IPv6 protocol instead of - * IPv4. - * - * The **struct bpf_tunnel_key** is an object that generalizes the - * principal parameters used by various tunneling protocols into a - * single struct. This way, it can be used to easily make a - * decision based on the contents of the encapsulation header, - * "summarized" in this struct. In particular, it holds the IP - * address of the remote end (IPv4 or IPv6, depending on the case) - * in *key*\ **->remote_ipv4** or *key*\ **->remote_ipv6**. Also, - * this struct exposes the *key*\ **->tunnel_id**, which is - * generally mapped to a VNI (Virtual Network Identifier), making - * it programmable together with the **bpf_skb_set_tunnel_key**\ - * () helper. - * - * Let's imagine that the following code is part of a program - * attached to the TC ingress interface, on one end of a GRE - * tunnel, and is supposed to filter out all messages coming from - * remote ends with IPv4 address other than 10.0.0.1: - * - * :: - * - * int ret; - * struct bpf_tunnel_key key = {}; - * - * ret = bpf_skb_get_tunnel_key(skb, &key, sizeof(key), 0); - * if (ret < 0) - * return TC_ACT_SHOT; // drop packet - * - * if (key.remote_ipv4 != 0x0a000001) - * return TC_ACT_SHOT; // drop packet - * - * return TC_ACT_OK; // accept packet - * - * This interface can also be used with all encapsulation devices - * that can operate in "collect metadata" mode: instead of having - * one network device per specific configuration, the "collect - * metadata" mode only requires a single device where the - * configuration can be extracted from this helper. - * - * This can be used together with various tunnels such as VXLan, - * Geneve, GRE or IP in IP (IPIP). - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_skb_get_tunnel_key)(struct __sk_buff *skb, struct bpf_tunnel_key *key, __u32 size, __u64 flags) = (void *) 20; - -/* - * bpf_skb_set_tunnel_key - * - * Populate tunnel metadata for packet associated to *skb.* The - * tunnel metadata is set to the contents of *key*, of *size*. The - * *flags* can be set to a combination of the following values: - * - * **BPF_F_TUNINFO_IPV6** - * Indicate that the tunnel is based on IPv6 protocol - * instead of IPv4. - * **BPF_F_ZERO_CSUM_TX** - * For IPv4 packets, add a flag to tunnel metadata - * indicating that checksum computation should be skipped - * and checksum set to zeroes. - * **BPF_F_DONT_FRAGMENT** - * Add a flag to tunnel metadata indicating that the - * packet should not be fragmented. - * **BPF_F_SEQ_NUMBER** - * Add a flag to tunnel metadata indicating that a - * sequence number should be added to tunnel header before - * sending the packet. This flag was added for GRE - * encapsulation, but might be used with other protocols - * as well in the future. - * - * Here is a typical usage on the transmit path: - * - * :: - * - * struct bpf_tunnel_key key; - * populate key ... - * bpf_skb_set_tunnel_key(skb, &key, sizeof(key), 0); - * bpf_clone_redirect(skb, vxlan_dev_ifindex, 0); - * - * See also the description of the **bpf_skb_get_tunnel_key**\ () - * helper for additional information. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_skb_set_tunnel_key)(struct __sk_buff *skb, struct bpf_tunnel_key *key, __u32 size, __u64 flags) = (void *) 21; - -/* - * bpf_perf_event_read - * - * Read the value of a perf event counter. This helper relies on a - * *map* of type **BPF_MAP_TYPE_PERF_EVENT_ARRAY**. The nature of - * the perf event counter is selected when *map* is updated with - * perf event file descriptors. The *map* is an array whose size - * is the number of available CPUs, and each cell contains a value - * relative to one CPU. The value to retrieve is indicated by - * *flags*, that contains the index of the CPU to look up, masked - * with **BPF_F_INDEX_MASK**. Alternatively, *flags* can be set to - * **BPF_F_CURRENT_CPU** to indicate that the value for the - * current CPU should be retrieved. - * - * Note that before Linux 4.13, only hardware perf event can be - * retrieved. - * - * Also, be aware that the newer helper - * **bpf_perf_event_read_value**\ () is recommended over - * **bpf_perf_event_read**\ () in general. The latter has some ABI - * quirks where error and counter value are used as a return code - * (which is wrong to do since ranges may overlap). This issue is - * fixed with **bpf_perf_event_read_value**\ (), which at the same - * time provides more features over the **bpf_perf_event_read**\ - * () interface. Please refer to the description of - * **bpf_perf_event_read_value**\ () for details. - * - * Returns - * The value of the perf event counter read from the map, or a - * negative error code in case of failure. - */ -static __u64 (*bpf_perf_event_read)(void *map, __u64 flags) = (void *) 22; - -/* - * bpf_redirect - * - * Redirect the packet to another net device of index *ifindex*. - * This helper is somewhat similar to **bpf_clone_redirect**\ - * (), except that the packet is not cloned, which provides - * increased performance. - * - * Except for XDP, both ingress and egress interfaces can be used - * for redirection. The **BPF_F_INGRESS** value in *flags* is used - * to make the distinction (ingress path is selected if the flag - * is present, egress path otherwise). Currently, XDP only - * supports redirection to the egress interface, and accepts no - * flag at all. - * - * The same effect can also be attained with the more generic - * **bpf_redirect_map**\ (), which uses a BPF map to store the - * redirect target instead of providing it directly to the helper. - * - * Returns - * For XDP, the helper returns **XDP_REDIRECT** on success or - * **XDP_ABORTED** on error. For other program types, the values - * are **TC_ACT_REDIRECT** on success or **TC_ACT_SHOT** on - * error. - */ -static long (*bpf_redirect)(__u32 ifindex, __u64 flags) = (void *) 23; - -/* - * bpf_get_route_realm - * - * Retrieve the realm or the route, that is to say the - * **tclassid** field of the destination for the *skb*. The - * identifier retrieved is a user-provided tag, similar to the - * one used with the net_cls cgroup (see description for - * **bpf_get_cgroup_classid**\ () helper), but here this tag is - * held by a route (a destination entry), not by a task. - * - * Retrieving this identifier works with the clsact TC egress hook - * (see also **tc-bpf(8)**), or alternatively on conventional - * classful egress qdiscs, but not on TC ingress path. In case of - * clsact TC egress hook, this has the advantage that, internally, - * the destination entry has not been dropped yet in the transmit - * path. Therefore, the destination entry does not need to be - * artificially held via **netif_keep_dst**\ () for a classful - * qdisc until the *skb* is freed. - * - * This helper is available only if the kernel was compiled with - * **CONFIG_IP_ROUTE_CLASSID** configuration option. - * - * Returns - * The realm of the route for the packet associated to *skb*, or 0 - * if none was found. - */ -static __u32 (*bpf_get_route_realm)(struct __sk_buff *skb) = (void *) 24; - -/* - * bpf_perf_event_output - * - * Write raw *data* blob into a special BPF perf event held by - * *map* of type **BPF_MAP_TYPE_PERF_EVENT_ARRAY**. This perf - * event must have the following attributes: **PERF_SAMPLE_RAW** - * as **sample_type**, **PERF_TYPE_SOFTWARE** as **type**, and - * **PERF_COUNT_SW_BPF_OUTPUT** as **config**. - * - * The *flags* are used to indicate the index in *map* for which - * the value must be put, masked with **BPF_F_INDEX_MASK**. - * Alternatively, *flags* can be set to **BPF_F_CURRENT_CPU** - * to indicate that the index of the current CPU core should be - * used. - * - * The value to write, of *size*, is passed through eBPF stack and - * pointed by *data*. - * - * The context of the program *ctx* needs also be passed to the - * helper. - * - * On user space, a program willing to read the values needs to - * call **perf_event_open**\ () on the perf event (either for - * one or for all CPUs) and to store the file descriptor into the - * *map*. This must be done before the eBPF program can send data - * into it. An example is available in file - * *samples/bpf/trace_output_user.c* in the Linux kernel source - * tree (the eBPF program counterpart is in - * *samples/bpf/trace_output_kern.c*). - * - * **bpf_perf_event_output**\ () achieves better performance - * than **bpf_trace_printk**\ () for sharing data with user - * space, and is much better suitable for streaming data from eBPF - * programs. - * - * Note that this helper is not restricted to tracing use cases - * and can be used with programs attached to TC or XDP as well, - * where it allows for passing data to user space listeners. Data - * can be: - * - * * Only custom structs, - * * Only the packet payload, or - * * A combination of both. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_perf_event_output)(void *ctx, void *map, __u64 flags, void *data, __u64 size) = (void *) 25; - -/* - * bpf_skb_load_bytes - * - * This helper was provided as an easy way to load data from a - * packet. It can be used to load *len* bytes from *offset* from - * the packet associated to *skb*, into the buffer pointed by - * *to*. - * - * Since Linux 4.7, usage of this helper has mostly been replaced - * by "direct packet access", enabling packet data to be - * manipulated with *skb*\ **->data** and *skb*\ **->data_end** - * pointing respectively to the first byte of packet data and to - * the byte after the last byte of packet data. However, it - * remains useful if one wishes to read large quantities of data - * at once from a packet into the eBPF stack. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_skb_load_bytes)(const void *skb, __u32 offset, void *to, __u32 len) = (void *) 26; - -/* - * bpf_get_stackid - * - * Walk a user or a kernel stack and return its id. To achieve - * this, the helper needs *ctx*, which is a pointer to the context - * on which the tracing program is executed, and a pointer to a - * *map* of type **BPF_MAP_TYPE_STACK_TRACE**. - * - * The last argument, *flags*, holds the number of stack frames to - * skip (from 0 to 255), masked with - * **BPF_F_SKIP_FIELD_MASK**. The next bits can be used to set - * a combination of the following flags: - * - * **BPF_F_USER_STACK** - * Collect a user space stack instead of a kernel stack. - * **BPF_F_FAST_STACK_CMP** - * Compare stacks by hash only. - * **BPF_F_REUSE_STACKID** - * If two different stacks hash into the same *stackid*, - * discard the old one. - * - * The stack id retrieved is a 32 bit long integer handle which - * can be further combined with other data (including other stack - * ids) and used as a key into maps. This can be useful for - * generating a variety of graphs (such as flame graphs or off-cpu - * graphs). - * - * For walking a stack, this helper is an improvement over - * **bpf_probe_read**\ (), which can be used with unrolled loops - * but is not efficient and consumes a lot of eBPF instructions. - * Instead, **bpf_get_stackid**\ () can collect up to - * **PERF_MAX_STACK_DEPTH** both kernel and user frames. Note that - * this limit can be controlled with the **sysctl** program, and - * that it should be manually increased in order to profile long - * user stacks (such as stacks for Java programs). To do so, use: - * - * :: - * - * # sysctl kernel.perf_event_max_stack= - * - * Returns - * The positive or null stack id on success, or a negative error - * in case of failure. - */ -static long (*bpf_get_stackid)(void *ctx, void *map, __u64 flags) = (void *) 27; - -/* - * bpf_csum_diff - * - * Compute a checksum difference, from the raw buffer pointed by - * *from*, of length *from_size* (that must be a multiple of 4), - * towards the raw buffer pointed by *to*, of size *to_size* - * (same remark). An optional *seed* can be added to the value - * (this can be cascaded, the seed may come from a previous call - * to the helper). - * - * This is flexible enough to be used in several ways: - * - * * With *from_size* == 0, *to_size* > 0 and *seed* set to - * checksum, it can be used when pushing new data. - * * With *from_size* > 0, *to_size* == 0 and *seed* set to - * checksum, it can be used when removing data from a packet. - * * With *from_size* > 0, *to_size* > 0 and *seed* set to 0, it - * can be used to compute a diff. Note that *from_size* and - * *to_size* do not need to be equal. - * - * This helper can be used in combination with - * **bpf_l3_csum_replace**\ () and **bpf_l4_csum_replace**\ (), to - * which one can feed in the difference computed with - * **bpf_csum_diff**\ (). - * - * Returns - * The checksum result, or a negative error code in case of - * failure. - */ -static __s64 (*bpf_csum_diff)(__be32 *from, __u32 from_size, __be32 *to, __u32 to_size, __wsum seed) = (void *) 28; - -/* - * bpf_skb_get_tunnel_opt - * - * Retrieve tunnel options metadata for the packet associated to - * *skb*, and store the raw tunnel option data to the buffer *opt* - * of *size*. - * - * This helper can be used with encapsulation devices that can - * operate in "collect metadata" mode (please refer to the related - * note in the description of **bpf_skb_get_tunnel_key**\ () for - * more details). A particular example where this can be used is - * in combination with the Geneve encapsulation protocol, where it - * allows for pushing (with **bpf_skb_get_tunnel_opt**\ () helper) - * and retrieving arbitrary TLVs (Type-Length-Value headers) from - * the eBPF program. This allows for full customization of these - * headers. - * - * Returns - * The size of the option data retrieved. - */ -static long (*bpf_skb_get_tunnel_opt)(struct __sk_buff *skb, void *opt, __u32 size) = (void *) 29; - -/* - * bpf_skb_set_tunnel_opt - * - * Set tunnel options metadata for the packet associated to *skb* - * to the option data contained in the raw buffer *opt* of *size*. - * - * See also the description of the **bpf_skb_get_tunnel_opt**\ () - * helper for additional information. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_skb_set_tunnel_opt)(struct __sk_buff *skb, void *opt, __u32 size) = (void *) 30; - -/* - * bpf_skb_change_proto - * - * Change the protocol of the *skb* to *proto*. Currently - * supported are transition from IPv4 to IPv6, and from IPv6 to - * IPv4. The helper takes care of the groundwork for the - * transition, including resizing the socket buffer. The eBPF - * program is expected to fill the new headers, if any, via - * **skb_store_bytes**\ () and to recompute the checksums with - * **bpf_l3_csum_replace**\ () and **bpf_l4_csum_replace**\ - * (). The main case for this helper is to perform NAT64 - * operations out of an eBPF program. - * - * Internally, the GSO type is marked as dodgy so that headers are - * checked and segments are recalculated by the GSO/GRO engine. - * The size for GSO target is adapted as well. - * - * All values for *flags* are reserved for future usage, and must - * be left at zero. - * - * A call to this helper is susceptible to change the underlying - * packet buffer. Therefore, at load time, all checks on pointers - * previously done by the verifier are invalidated and must be - * performed again, if the helper is used in combination with - * direct packet access. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_skb_change_proto)(struct __sk_buff *skb, __be16 proto, __u64 flags) = (void *) 31; - -/* - * bpf_skb_change_type - * - * Change the packet type for the packet associated to *skb*. This - * comes down to setting *skb*\ **->pkt_type** to *type*, except - * the eBPF program does not have a write access to *skb*\ - * **->pkt_type** beside this helper. Using a helper here allows - * for graceful handling of errors. - * - * The major use case is to change incoming *skb*s to - * **PACKET_HOST** in a programmatic way instead of having to - * recirculate via **redirect**\ (..., **BPF_F_INGRESS**), for - * example. - * - * Note that *type* only allows certain values. At this time, they - * are: - * - * **PACKET_HOST** - * Packet is for us. - * **PACKET_BROADCAST** - * Send packet to all. - * **PACKET_MULTICAST** - * Send packet to group. - * **PACKET_OTHERHOST** - * Send packet to someone else. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_skb_change_type)(struct __sk_buff *skb, __u32 type) = (void *) 32; - -/* - * bpf_skb_under_cgroup - * - * Check whether *skb* is a descendant of the cgroup2 held by - * *map* of type **BPF_MAP_TYPE_CGROUP_ARRAY**, at *index*. - * - * Returns - * The return value depends on the result of the test, and can be: - * - * * 0, if the *skb* failed the cgroup2 descendant test. - * * 1, if the *skb* succeeded the cgroup2 descendant test. - * * A negative error code, if an error occurred. - */ -static long (*bpf_skb_under_cgroup)(struct __sk_buff *skb, void *map, __u32 index) = (void *) 33; - -/* - * bpf_get_hash_recalc - * - * Retrieve the hash of the packet, *skb*\ **->hash**. If it is - * not set, in particular if the hash was cleared due to mangling, - * recompute this hash. Later accesses to the hash can be done - * directly with *skb*\ **->hash**. - * - * Calling **bpf_set_hash_invalid**\ (), changing a packet - * prototype with **bpf_skb_change_proto**\ (), or calling - * **bpf_skb_store_bytes**\ () with the - * **BPF_F_INVALIDATE_HASH** are actions susceptible to clear - * the hash and to trigger a new computation for the next call to - * **bpf_get_hash_recalc**\ (). - * - * Returns - * The 32-bit hash. - */ -static __u32 (*bpf_get_hash_recalc)(struct __sk_buff *skb) = (void *) 34; - -/* - * bpf_get_current_task - * - * Get the current task. - * - * Returns - * A pointer to the current task struct. - */ -static __u64 (*bpf_get_current_task)(void) = (void *) 35; - -/* - * bpf_probe_write_user - * - * Attempt in a safe way to write *len* bytes from the buffer - * *src* to *dst* in memory. It only works for threads that are in - * user context, and *dst* must be a valid user space address. - * - * This helper should not be used to implement any kind of - * security mechanism because of TOC-TOU attacks, but rather to - * debug, divert, and manipulate execution of semi-cooperative - * processes. - * - * Keep in mind that this feature is meant for experiments, and it - * has a risk of crashing the system and running programs. - * Therefore, when an eBPF program using this helper is attached, - * a warning including PID and process name is printed to kernel - * logs. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_probe_write_user)(void *dst, const void *src, __u32 len) = (void *) 36; - -/* - * bpf_current_task_under_cgroup - * - * Check whether the probe is being run is the context of a given - * subset of the cgroup2 hierarchy. The cgroup2 to test is held by - * *map* of type **BPF_MAP_TYPE_CGROUP_ARRAY**, at *index*. - * - * Returns - * The return value depends on the result of the test, and can be: - * - * * 1, if current task belongs to the cgroup2. - * * 0, if current task does not belong to the cgroup2. - * * A negative error code, if an error occurred. - */ -static long (*bpf_current_task_under_cgroup)(void *map, __u32 index) = (void *) 37; - -/* - * bpf_skb_change_tail - * - * Resize (trim or grow) the packet associated to *skb* to the - * new *len*. The *flags* are reserved for future usage, and must - * be left at zero. - * - * The basic idea is that the helper performs the needed work to - * change the size of the packet, then the eBPF program rewrites - * the rest via helpers like **bpf_skb_store_bytes**\ (), - * **bpf_l3_csum_replace**\ (), **bpf_l3_csum_replace**\ () - * and others. This helper is a slow path utility intended for - * replies with control messages. And because it is targeted for - * slow path, the helper itself can afford to be slow: it - * implicitly linearizes, unclones and drops offloads from the - * *skb*. - * - * A call to this helper is susceptible to change the underlying - * packet buffer. Therefore, at load time, all checks on pointers - * previously done by the verifier are invalidated and must be - * performed again, if the helper is used in combination with - * direct packet access. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_skb_change_tail)(struct __sk_buff *skb, __u32 len, __u64 flags) = (void *) 38; - -/* - * bpf_skb_pull_data - * - * Pull in non-linear data in case the *skb* is non-linear and not - * all of *len* are part of the linear section. Make *len* bytes - * from *skb* readable and writable. If a zero value is passed for - * *len*, then the whole length of the *skb* is pulled. - * - * This helper is only needed for reading and writing with direct - * packet access. - * - * For direct packet access, testing that offsets to access - * are within packet boundaries (test on *skb*\ **->data_end**) is - * susceptible to fail if offsets are invalid, or if the requested - * data is in non-linear parts of the *skb*. On failure the - * program can just bail out, or in the case of a non-linear - * buffer, use a helper to make the data available. The - * **bpf_skb_load_bytes**\ () helper is a first solution to access - * the data. Another one consists in using **bpf_skb_pull_data** - * to pull in once the non-linear parts, then retesting and - * eventually access the data. - * - * At the same time, this also makes sure the *skb* is uncloned, - * which is a necessary condition for direct write. As this needs - * to be an invariant for the write part only, the verifier - * detects writes and adds a prologue that is calling - * **bpf_skb_pull_data()** to effectively unclone the *skb* from - * the very beginning in case it is indeed cloned. - * - * A call to this helper is susceptible to change the underlying - * packet buffer. Therefore, at load time, all checks on pointers - * previously done by the verifier are invalidated and must be - * performed again, if the helper is used in combination with - * direct packet access. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_skb_pull_data)(struct __sk_buff *skb, __u32 len) = (void *) 39; - -/* - * bpf_csum_update - * - * Add the checksum *csum* into *skb*\ **->csum** in case the - * driver has supplied a checksum for the entire packet into that - * field. Return an error otherwise. This helper is intended to be - * used in combination with **bpf_csum_diff**\ (), in particular - * when the checksum needs to be updated after data has been - * written into the packet through direct packet access. - * - * Returns - * The checksum on success, or a negative error code in case of - * failure. - */ -static __s64 (*bpf_csum_update)(struct __sk_buff *skb, __wsum csum) = (void *) 40; - -/* - * bpf_set_hash_invalid - * - * Invalidate the current *skb*\ **->hash**. It can be used after - * mangling on headers through direct packet access, in order to - * indicate that the hash is outdated and to trigger a - * recalculation the next time the kernel tries to access this - * hash or when the **bpf_get_hash_recalc**\ () helper is called. - * - * Returns - * void. - */ -static void (*bpf_set_hash_invalid)(struct __sk_buff *skb) = (void *) 41; - -/* - * bpf_get_numa_node_id - * - * Return the id of the current NUMA node. The primary use case - * for this helper is the selection of sockets for the local NUMA - * node, when the program is attached to sockets using the - * **SO_ATTACH_REUSEPORT_EBPF** option (see also **socket(7)**), - * but the helper is also available to other eBPF program types, - * similarly to **bpf_get_smp_processor_id**\ (). - * - * Returns - * The id of current NUMA node. - */ -static long (*bpf_get_numa_node_id)(void) = (void *) 42; - -/* - * bpf_skb_change_head - * - * Grows headroom of packet associated to *skb* and adjusts the - * offset of the MAC header accordingly, adding *len* bytes of - * space. It automatically extends and reallocates memory as - * required. - * - * This helper can be used on a layer 3 *skb* to push a MAC header - * for redirection into a layer 2 device. - * - * All values for *flags* are reserved for future usage, and must - * be left at zero. - * - * A call to this helper is susceptible to change the underlying - * packet buffer. Therefore, at load time, all checks on pointers - * previously done by the verifier are invalidated and must be - * performed again, if the helper is used in combination with - * direct packet access. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_skb_change_head)(struct __sk_buff *skb, __u32 len, __u64 flags) = (void *) 43; - -/* - * bpf_xdp_adjust_head - * - * Adjust (move) *xdp_md*\ **->data** by *delta* bytes. Note that - * it is possible to use a negative value for *delta*. This helper - * can be used to prepare the packet for pushing or popping - * headers. - * - * A call to this helper is susceptible to change the underlying - * packet buffer. Therefore, at load time, all checks on pointers - * previously done by the verifier are invalidated and must be - * performed again, if the helper is used in combination with - * direct packet access. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_xdp_adjust_head)(struct xdp_md *xdp_md, int delta) = (void *) 44; - -/* - * bpf_probe_read_str - * - * Copy a NUL terminated string from an unsafe kernel address - * *unsafe_ptr* to *dst*. See **bpf_probe_read_kernel_str**\ () for - * more details. - * - * Generally, use **bpf_probe_read_user_str**\ () or - * **bpf_probe_read_kernel_str**\ () instead. - * - * Returns - * On success, the strictly positive length of the string, - * including the trailing NUL character. On error, a negative - * value. - */ -static long (*bpf_probe_read_str)(void *dst, __u32 size, const void *unsafe_ptr) = (void *) 45; - -/* - * bpf_get_socket_cookie - * - * If the **struct sk_buff** pointed by *skb* has a known socket, - * retrieve the cookie (generated by the kernel) of this socket. - * If no cookie has been set yet, generate a new cookie. Once - * generated, the socket cookie remains stable for the life of the - * socket. This helper can be useful for monitoring per socket - * networking traffic statistics as it provides a global socket - * identifier that can be assumed unique. - * - * Returns - * A 8-byte long unique number on success, or 0 if the socket - * field is missing inside *skb*. - */ -static __u64 (*bpf_get_socket_cookie)(void *ctx) = (void *) 46; - -/* - * bpf_get_socket_uid - * - * Get the owner UID of the socked associated to *skb*. - * - * Returns - * The owner UID of the socket associated to *skb*. If the socket - * is **NULL**, or if it is not a full socket (i.e. if it is a - * time-wait or a request socket instead), **overflowuid** value - * is returned (note that **overflowuid** might also be the actual - * UID value for the socket). - */ -static __u32 (*bpf_get_socket_uid)(struct __sk_buff *skb) = (void *) 47; - -/* - * bpf_set_hash - * - * Set the full hash for *skb* (set the field *skb*\ **->hash**) - * to value *hash*. - * - * Returns - * 0 - */ -static long (*bpf_set_hash)(struct __sk_buff *skb, __u32 hash) = (void *) 48; - -/* - * bpf_setsockopt - * - * Emulate a call to **setsockopt()** on the socket associated to - * *bpf_socket*, which must be a full socket. The *level* at - * which the option resides and the name *optname* of the option - * must be specified, see **setsockopt(2)** for more information. - * The option value of length *optlen* is pointed by *optval*. - * - * *bpf_socket* should be one of the following: - * - * * **struct bpf_sock_ops** for **BPF_PROG_TYPE_SOCK_OPS**. - * * **struct bpf_sock_addr** for **BPF_CGROUP_INET4_CONNECT** - * and **BPF_CGROUP_INET6_CONNECT**. - * - * This helper actually implements a subset of **setsockopt()**. - * It supports the following *level*\ s: - * - * * **SOL_SOCKET**, which supports the following *optname*\ s: - * **SO_RCVBUF**, **SO_SNDBUF**, **SO_MAX_PACING_RATE**, - * **SO_PRIORITY**, **SO_RCVLOWAT**, **SO_MARK**, - * **SO_BINDTODEVICE**, **SO_KEEPALIVE**. - * * **IPPROTO_TCP**, which supports the following *optname*\ s: - * **TCP_CONGESTION**, **TCP_BPF_IW**, - * **TCP_BPF_SNDCWND_CLAMP**, **TCP_SAVE_SYN**, - * **TCP_KEEPIDLE**, **TCP_KEEPINTVL**, **TCP_KEEPCNT**, - * **TCP_SYNCNT**, **TCP_USER_TIMEOUT**, **TCP_NOTSENT_LOWAT**. - * * **IPPROTO_IP**, which supports *optname* **IP_TOS**. - * * **IPPROTO_IPV6**, which supports *optname* **IPV6_TCLASS**. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_setsockopt)(void *bpf_socket, int level, int optname, void *optval, int optlen) = (void *) 49; - -/* - * bpf_skb_adjust_room - * - * Grow or shrink the room for data in the packet associated to - * *skb* by *len_diff*, and according to the selected *mode*. - * - * By default, the helper will reset any offloaded checksum - * indicator of the skb to CHECKSUM_NONE. This can be avoided - * by the following flag: - * - * * **BPF_F_ADJ_ROOM_NO_CSUM_RESET**: Do not reset offloaded - * checksum data of the skb to CHECKSUM_NONE. - * - * There are two supported modes at this time: - * - * * **BPF_ADJ_ROOM_MAC**: Adjust room at the mac layer - * (room space is added or removed below the layer 2 header). - * - * * **BPF_ADJ_ROOM_NET**: Adjust room at the network layer - * (room space is added or removed below the layer 3 header). - * - * The following flags are supported at this time: - * - * * **BPF_F_ADJ_ROOM_FIXED_GSO**: Do not adjust gso_size. - * Adjusting mss in this way is not allowed for datagrams. - * - * * **BPF_F_ADJ_ROOM_ENCAP_L3_IPV4**, - * **BPF_F_ADJ_ROOM_ENCAP_L3_IPV6**: - * Any new space is reserved to hold a tunnel header. - * Configure skb offsets and other fields accordingly. - * - * * **BPF_F_ADJ_ROOM_ENCAP_L4_GRE**, - * **BPF_F_ADJ_ROOM_ENCAP_L4_UDP**: - * Use with ENCAP_L3 flags to further specify the tunnel type. - * - * * **BPF_F_ADJ_ROOM_ENCAP_L2**\ (*len*): - * Use with ENCAP_L3/L4 flags to further specify the tunnel - * type; *len* is the length of the inner MAC header. - * - * * **BPF_F_ADJ_ROOM_ENCAP_L2_ETH**: - * Use with BPF_F_ADJ_ROOM_ENCAP_L2 flag to further specify the - * L2 type as Ethernet. - * - * A call to this helper is susceptible to change the underlying - * packet buffer. Therefore, at load time, all checks on pointers - * previously done by the verifier are invalidated and must be - * performed again, if the helper is used in combination with - * direct packet access. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_skb_adjust_room)(struct __sk_buff *skb, __s32 len_diff, __u32 mode, __u64 flags) = (void *) 50; - -/* - * bpf_redirect_map - * - * Redirect the packet to the endpoint referenced by *map* at - * index *key*. Depending on its type, this *map* can contain - * references to net devices (for forwarding packets through other - * ports), or to CPUs (for redirecting XDP frames to another CPU; - * but this is only implemented for native XDP (with driver - * support) as of this writing). - * - * The lower two bits of *flags* are used as the return code if - * the map lookup fails. This is so that the return value can be - * one of the XDP program return codes up to **XDP_TX**, as chosen - * by the caller. The higher bits of *flags* can be set to - * BPF_F_BROADCAST or BPF_F_EXCLUDE_INGRESS as defined below. - * - * With BPF_F_BROADCAST the packet will be broadcasted to all the - * interfaces in the map, with BPF_F_EXCLUDE_INGRESS the ingress - * interface will be excluded when do broadcasting. - * - * See also **bpf_redirect**\ (), which only supports redirecting - * to an ifindex, but doesn't require a map to do so. - * - * Returns - * **XDP_REDIRECT** on success, or the value of the two lower bits - * of the *flags* argument on error. - */ -static long (*bpf_redirect_map)(void *map, __u32 key, __u64 flags) = (void *) 51; - -/* - * bpf_sk_redirect_map - * - * Redirect the packet to the socket referenced by *map* (of type - * **BPF_MAP_TYPE_SOCKMAP**) at index *key*. Both ingress and - * egress interfaces can be used for redirection. The - * **BPF_F_INGRESS** value in *flags* is used to make the - * distinction (ingress path is selected if the flag is present, - * egress path otherwise). This is the only flag supported for now. - * - * Returns - * **SK_PASS** on success, or **SK_DROP** on error. - */ -static long (*bpf_sk_redirect_map)(struct __sk_buff *skb, void *map, __u32 key, __u64 flags) = (void *) 52; - -/* - * bpf_sock_map_update - * - * Add an entry to, or update a *map* referencing sockets. The - * *skops* is used as a new value for the entry associated to - * *key*. *flags* is one of: - * - * **BPF_NOEXIST** - * The entry for *key* must not exist in the map. - * **BPF_EXIST** - * The entry for *key* must already exist in the map. - * **BPF_ANY** - * No condition on the existence of the entry for *key*. - * - * If the *map* has eBPF programs (parser and verdict), those will - * be inherited by the socket being added. If the socket is - * already attached to eBPF programs, this results in an error. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_sock_map_update)(struct bpf_sock_ops *skops, void *map, void *key, __u64 flags) = (void *) 53; - -/* - * bpf_xdp_adjust_meta - * - * Adjust the address pointed by *xdp_md*\ **->data_meta** by - * *delta* (which can be positive or negative). Note that this - * operation modifies the address stored in *xdp_md*\ **->data**, - * so the latter must be loaded only after the helper has been - * called. - * - * The use of *xdp_md*\ **->data_meta** is optional and programs - * are not required to use it. The rationale is that when the - * packet is processed with XDP (e.g. as DoS filter), it is - * possible to push further meta data along with it before passing - * to the stack, and to give the guarantee that an ingress eBPF - * program attached as a TC classifier on the same device can pick - * this up for further post-processing. Since TC works with socket - * buffers, it remains possible to set from XDP the **mark** or - * **priority** pointers, or other pointers for the socket buffer. - * Having this scratch space generic and programmable allows for - * more flexibility as the user is free to store whatever meta - * data they need. - * - * A call to this helper is susceptible to change the underlying - * packet buffer. Therefore, at load time, all checks on pointers - * previously done by the verifier are invalidated and must be - * performed again, if the helper is used in combination with - * direct packet access. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_xdp_adjust_meta)(struct xdp_md *xdp_md, int delta) = (void *) 54; - -/* - * bpf_perf_event_read_value - * - * Read the value of a perf event counter, and store it into *buf* - * of size *buf_size*. This helper relies on a *map* of type - * **BPF_MAP_TYPE_PERF_EVENT_ARRAY**. The nature of the perf event - * counter is selected when *map* is updated with perf event file - * descriptors. The *map* is an array whose size is the number of - * available CPUs, and each cell contains a value relative to one - * CPU. The value to retrieve is indicated by *flags*, that - * contains the index of the CPU to look up, masked with - * **BPF_F_INDEX_MASK**. Alternatively, *flags* can be set to - * **BPF_F_CURRENT_CPU** to indicate that the value for the - * current CPU should be retrieved. - * - * This helper behaves in a way close to - * **bpf_perf_event_read**\ () helper, save that instead of - * just returning the value observed, it fills the *buf* - * structure. This allows for additional data to be retrieved: in - * particular, the enabled and running times (in *buf*\ - * **->enabled** and *buf*\ **->running**, respectively) are - * copied. In general, **bpf_perf_event_read_value**\ () is - * recommended over **bpf_perf_event_read**\ (), which has some - * ABI issues and provides fewer functionalities. - * - * These values are interesting, because hardware PMU (Performance - * Monitoring Unit) counters are limited resources. When there are - * more PMU based perf events opened than available counters, - * kernel will multiplex these events so each event gets certain - * percentage (but not all) of the PMU time. In case that - * multiplexing happens, the number of samples or counter value - * will not reflect the case compared to when no multiplexing - * occurs. This makes comparison between different runs difficult. - * Typically, the counter value should be normalized before - * comparing to other experiments. The usual normalization is done - * as follows. - * - * :: - * - * normalized_counter = counter * t_enabled / t_running - * - * Where t_enabled is the time enabled for event and t_running is - * the time running for event since last normalization. The - * enabled and running times are accumulated since the perf event - * open. To achieve scaling factor between two invocations of an - * eBPF program, users can use CPU id as the key (which is - * typical for perf array usage model) to remember the previous - * value and do the calculation inside the eBPF program. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_perf_event_read_value)(void *map, __u64 flags, struct bpf_perf_event_value *buf, __u32 buf_size) = (void *) 55; - -/* - * bpf_perf_prog_read_value - * - * For en eBPF program attached to a perf event, retrieve the - * value of the event counter associated to *ctx* and store it in - * the structure pointed by *buf* and of size *buf_size*. Enabled - * and running times are also stored in the structure (see - * description of helper **bpf_perf_event_read_value**\ () for - * more details). - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_perf_prog_read_value)(struct bpf_perf_event_data *ctx, struct bpf_perf_event_value *buf, __u32 buf_size) = (void *) 56; - -/* - * bpf_getsockopt - * - * Emulate a call to **getsockopt()** on the socket associated to - * *bpf_socket*, which must be a full socket. The *level* at - * which the option resides and the name *optname* of the option - * must be specified, see **getsockopt(2)** for more information. - * The retrieved value is stored in the structure pointed by - * *opval* and of length *optlen*. - * - * *bpf_socket* should be one of the following: - * - * * **struct bpf_sock_ops** for **BPF_PROG_TYPE_SOCK_OPS**. - * * **struct bpf_sock_addr** for **BPF_CGROUP_INET4_CONNECT** - * and **BPF_CGROUP_INET6_CONNECT**. - * - * This helper actually implements a subset of **getsockopt()**. - * It supports the following *level*\ s: - * - * * **IPPROTO_TCP**, which supports *optname* - * **TCP_CONGESTION**. - * * **IPPROTO_IP**, which supports *optname* **IP_TOS**. - * * **IPPROTO_IPV6**, which supports *optname* **IPV6_TCLASS**. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_getsockopt)(void *bpf_socket, int level, int optname, void *optval, int optlen) = (void *) 57; - -/* - * bpf_override_return - * - * Used for error injection, this helper uses kprobes to override - * the return value of the probed function, and to set it to *rc*. - * The first argument is the context *regs* on which the kprobe - * works. - * - * This helper works by setting the PC (program counter) - * to an override function which is run in place of the original - * probed function. This means the probed function is not run at - * all. The replacement function just returns with the required - * value. - * - * This helper has security implications, and thus is subject to - * restrictions. It is only available if the kernel was compiled - * with the **CONFIG_BPF_KPROBE_OVERRIDE** configuration - * option, and in this case it only works on functions tagged with - * **ALLOW_ERROR_INJECTION** in the kernel code. - * - * Also, the helper is only available for the architectures having - * the CONFIG_FUNCTION_ERROR_INJECTION option. As of this writing, - * x86 architecture is the only one to support this feature. - * - * Returns - * 0 - */ -static long (*bpf_override_return)(struct pt_regs *regs, __u64 rc) = (void *) 58; - -/* - * bpf_sock_ops_cb_flags_set - * - * Attempt to set the value of the **bpf_sock_ops_cb_flags** field - * for the full TCP socket associated to *bpf_sock_ops* to - * *argval*. - * - * The primary use of this field is to determine if there should - * be calls to eBPF programs of type - * **BPF_PROG_TYPE_SOCK_OPS** at various points in the TCP - * code. A program of the same type can change its value, per - * connection and as necessary, when the connection is - * established. This field is directly accessible for reading, but - * this helper must be used for updates in order to return an - * error if an eBPF program tries to set a callback that is not - * supported in the current kernel. - * - * *argval* is a flag array which can combine these flags: - * - * * **BPF_SOCK_OPS_RTO_CB_FLAG** (retransmission time out) - * * **BPF_SOCK_OPS_RETRANS_CB_FLAG** (retransmission) - * * **BPF_SOCK_OPS_STATE_CB_FLAG** (TCP state change) - * * **BPF_SOCK_OPS_RTT_CB_FLAG** (every RTT) - * - * Therefore, this function can be used to clear a callback flag by - * setting the appropriate bit to zero. e.g. to disable the RTO - * callback: - * - * **bpf_sock_ops_cb_flags_set(bpf_sock,** - * **bpf_sock->bpf_sock_ops_cb_flags & ~BPF_SOCK_OPS_RTO_CB_FLAG)** - * - * Here are some examples of where one could call such eBPF - * program: - * - * * When RTO fires. - * * When a packet is retransmitted. - * * When the connection terminates. - * * When a packet is sent. - * * When a packet is received. - * - * Returns - * Code **-EINVAL** if the socket is not a full TCP socket; - * otherwise, a positive number containing the bits that could not - * be set is returned (which comes down to 0 if all bits were set - * as required). - */ -static long (*bpf_sock_ops_cb_flags_set)(struct bpf_sock_ops *bpf_sock, int argval) = (void *) 59; - -/* - * bpf_msg_redirect_map - * - * This helper is used in programs implementing policies at the - * socket level. If the message *msg* is allowed to pass (i.e. if - * the verdict eBPF program returns **SK_PASS**), redirect it to - * the socket referenced by *map* (of type - * **BPF_MAP_TYPE_SOCKMAP**) at index *key*. Both ingress and - * egress interfaces can be used for redirection. The - * **BPF_F_INGRESS** value in *flags* is used to make the - * distinction (ingress path is selected if the flag is present, - * egress path otherwise). This is the only flag supported for now. - * - * Returns - * **SK_PASS** on success, or **SK_DROP** on error. - */ -static long (*bpf_msg_redirect_map)(struct sk_msg_md *msg, void *map, __u32 key, __u64 flags) = (void *) 60; - -/* - * bpf_msg_apply_bytes - * - * For socket policies, apply the verdict of the eBPF program to - * the next *bytes* (number of bytes) of message *msg*. - * - * For example, this helper can be used in the following cases: - * - * * A single **sendmsg**\ () or **sendfile**\ () system call - * contains multiple logical messages that the eBPF program is - * supposed to read and for which it should apply a verdict. - * * An eBPF program only cares to read the first *bytes* of a - * *msg*. If the message has a large payload, then setting up - * and calling the eBPF program repeatedly for all bytes, even - * though the verdict is already known, would create unnecessary - * overhead. - * - * When called from within an eBPF program, the helper sets a - * counter internal to the BPF infrastructure, that is used to - * apply the last verdict to the next *bytes*. If *bytes* is - * smaller than the current data being processed from a - * **sendmsg**\ () or **sendfile**\ () system call, the first - * *bytes* will be sent and the eBPF program will be re-run with - * the pointer for start of data pointing to byte number *bytes* - * **+ 1**. If *bytes* is larger than the current data being - * processed, then the eBPF verdict will be applied to multiple - * **sendmsg**\ () or **sendfile**\ () calls until *bytes* are - * consumed. - * - * Note that if a socket closes with the internal counter holding - * a non-zero value, this is not a problem because data is not - * being buffered for *bytes* and is sent as it is received. - * - * Returns - * 0 - */ -static long (*bpf_msg_apply_bytes)(struct sk_msg_md *msg, __u32 bytes) = (void *) 61; - -/* - * bpf_msg_cork_bytes - * - * For socket policies, prevent the execution of the verdict eBPF - * program for message *msg* until *bytes* (byte number) have been - * accumulated. - * - * This can be used when one needs a specific number of bytes - * before a verdict can be assigned, even if the data spans - * multiple **sendmsg**\ () or **sendfile**\ () calls. The extreme - * case would be a user calling **sendmsg**\ () repeatedly with - * 1-byte long message segments. Obviously, this is bad for - * performance, but it is still valid. If the eBPF program needs - * *bytes* bytes to validate a header, this helper can be used to - * prevent the eBPF program to be called again until *bytes* have - * been accumulated. - * - * Returns - * 0 - */ -static long (*bpf_msg_cork_bytes)(struct sk_msg_md *msg, __u32 bytes) = (void *) 62; - -/* - * bpf_msg_pull_data - * - * For socket policies, pull in non-linear data from user space - * for *msg* and set pointers *msg*\ **->data** and *msg*\ - * **->data_end** to *start* and *end* bytes offsets into *msg*, - * respectively. - * - * If a program of type **BPF_PROG_TYPE_SK_MSG** is run on a - * *msg* it can only parse data that the (**data**, **data_end**) - * pointers have already consumed. For **sendmsg**\ () hooks this - * is likely the first scatterlist element. But for calls relying - * on the **sendpage** handler (e.g. **sendfile**\ ()) this will - * be the range (**0**, **0**) because the data is shared with - * user space and by default the objective is to avoid allowing - * user space to modify data while (or after) eBPF verdict is - * being decided. This helper can be used to pull in data and to - * set the start and end pointer to given values. Data will be - * copied if necessary (i.e. if data was not linear and if start - * and end pointers do not point to the same chunk). - * - * A call to this helper is susceptible to change the underlying - * packet buffer. Therefore, at load time, all checks on pointers - * previously done by the verifier are invalidated and must be - * performed again, if the helper is used in combination with - * direct packet access. - * - * All values for *flags* are reserved for future usage, and must - * be left at zero. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_msg_pull_data)(struct sk_msg_md *msg, __u32 start, __u32 end, __u64 flags) = (void *) 63; - -/* - * bpf_bind - * - * Bind the socket associated to *ctx* to the address pointed by - * *addr*, of length *addr_len*. This allows for making outgoing - * connection from the desired IP address, which can be useful for - * example when all processes inside a cgroup should use one - * single IP address on a host that has multiple IP configured. - * - * This helper works for IPv4 and IPv6, TCP and UDP sockets. The - * domain (*addr*\ **->sa_family**) must be **AF_INET** (or - * **AF_INET6**). It's advised to pass zero port (**sin_port** - * or **sin6_port**) which triggers IP_BIND_ADDRESS_NO_PORT-like - * behavior and lets the kernel efficiently pick up an unused - * port as long as 4-tuple is unique. Passing non-zero port might - * lead to degraded performance. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_bind)(struct bpf_sock_addr *ctx, struct sockaddr *addr, int addr_len) = (void *) 64; - -/* - * bpf_xdp_adjust_tail - * - * Adjust (move) *xdp_md*\ **->data_end** by *delta* bytes. It is - * possible to both shrink and grow the packet tail. - * Shrink done via *delta* being a negative integer. - * - * A call to this helper is susceptible to change the underlying - * packet buffer. Therefore, at load time, all checks on pointers - * previously done by the verifier are invalidated and must be - * performed again, if the helper is used in combination with - * direct packet access. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_xdp_adjust_tail)(struct xdp_md *xdp_md, int delta) = (void *) 65; - -/* - * bpf_skb_get_xfrm_state - * - * Retrieve the XFRM state (IP transform framework, see also - * **ip-xfrm(8)**) at *index* in XFRM "security path" for *skb*. - * - * The retrieved value is stored in the **struct bpf_xfrm_state** - * pointed by *xfrm_state* and of length *size*. - * - * All values for *flags* are reserved for future usage, and must - * be left at zero. - * - * This helper is available only if the kernel was compiled with - * **CONFIG_XFRM** configuration option. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_skb_get_xfrm_state)(struct __sk_buff *skb, __u32 index, struct bpf_xfrm_state *xfrm_state, __u32 size, __u64 flags) = (void *) 66; - -/* - * bpf_get_stack - * - * Return a user or a kernel stack in bpf program provided buffer. - * To achieve this, the helper needs *ctx*, which is a pointer - * to the context on which the tracing program is executed. - * To store the stacktrace, the bpf program provides *buf* with - * a nonnegative *size*. - * - * The last argument, *flags*, holds the number of stack frames to - * skip (from 0 to 255), masked with - * **BPF_F_SKIP_FIELD_MASK**. The next bits can be used to set - * the following flags: - * - * **BPF_F_USER_STACK** - * Collect a user space stack instead of a kernel stack. - * **BPF_F_USER_BUILD_ID** - * Collect buildid+offset instead of ips for user stack, - * only valid if **BPF_F_USER_STACK** is also specified. - * - * **bpf_get_stack**\ () can collect up to - * **PERF_MAX_STACK_DEPTH** both kernel and user frames, subject - * to sufficient large buffer size. Note that - * this limit can be controlled with the **sysctl** program, and - * that it should be manually increased in order to profile long - * user stacks (such as stacks for Java programs). To do so, use: - * - * :: - * - * # sysctl kernel.perf_event_max_stack= - * - * Returns - * The non-negative copied *buf* length equal to or less than - * *size* on success, or a negative error in case of failure. - */ -static long (*bpf_get_stack)(void *ctx, void *buf, __u32 size, __u64 flags) = (void *) 67; - -/* - * bpf_skb_load_bytes_relative - * - * This helper is similar to **bpf_skb_load_bytes**\ () in that - * it provides an easy way to load *len* bytes from *offset* - * from the packet associated to *skb*, into the buffer pointed - * by *to*. The difference to **bpf_skb_load_bytes**\ () is that - * a fifth argument *start_header* exists in order to select a - * base offset to start from. *start_header* can be one of: - * - * **BPF_HDR_START_MAC** - * Base offset to load data from is *skb*'s mac header. - * **BPF_HDR_START_NET** - * Base offset to load data from is *skb*'s network header. - * - * In general, "direct packet access" is the preferred method to - * access packet data, however, this helper is in particular useful - * in socket filters where *skb*\ **->data** does not always point - * to the start of the mac header and where "direct packet access" - * is not available. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_skb_load_bytes_relative)(const void *skb, __u32 offset, void *to, __u32 len, __u32 start_header) = (void *) 68; - -/* - * bpf_fib_lookup - * - * Do FIB lookup in kernel tables using parameters in *params*. - * If lookup is successful and result shows packet is to be - * forwarded, the neighbor tables are searched for the nexthop. - * If successful (ie., FIB lookup shows forwarding and nexthop - * is resolved), the nexthop address is returned in ipv4_dst - * or ipv6_dst based on family, smac is set to mac address of - * egress device, dmac is set to nexthop mac address, rt_metric - * is set to metric from route (IPv4/IPv6 only), and ifindex - * is set to the device index of the nexthop from the FIB lookup. - * - * *plen* argument is the size of the passed in struct. - * *flags* argument can be a combination of one or more of the - * following values: - * - * **BPF_FIB_LOOKUP_DIRECT** - * Do a direct table lookup vs full lookup using FIB - * rules. - * **BPF_FIB_LOOKUP_OUTPUT** - * Perform lookup from an egress perspective (default is - * ingress). - * - * *ctx* is either **struct xdp_md** for XDP programs or - * **struct sk_buff** tc cls_act programs. - * - * Returns - * * < 0 if any input argument is invalid - * * 0 on success (packet is forwarded, nexthop neighbor exists) - * * > 0 one of **BPF_FIB_LKUP_RET_** codes explaining why the - * packet is not forwarded or needs assist from full stack - * - * If lookup fails with BPF_FIB_LKUP_RET_FRAG_NEEDED, then the MTU - * was exceeded and output params->mtu_result contains the MTU. - */ -static long (*bpf_fib_lookup)(void *ctx, struct bpf_fib_lookup *params, int plen, __u32 flags) = (void *) 69; - -/* - * bpf_sock_hash_update - * - * Add an entry to, or update a sockhash *map* referencing sockets. - * The *skops* is used as a new value for the entry associated to - * *key*. *flags* is one of: - * - * **BPF_NOEXIST** - * The entry for *key* must not exist in the map. - * **BPF_EXIST** - * The entry for *key* must already exist in the map. - * **BPF_ANY** - * No condition on the existence of the entry for *key*. - * - * If the *map* has eBPF programs (parser and verdict), those will - * be inherited by the socket being added. If the socket is - * already attached to eBPF programs, this results in an error. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_sock_hash_update)(struct bpf_sock_ops *skops, void *map, void *key, __u64 flags) = (void *) 70; - -/* - * bpf_msg_redirect_hash - * - * This helper is used in programs implementing policies at the - * socket level. If the message *msg* is allowed to pass (i.e. if - * the verdict eBPF program returns **SK_PASS**), redirect it to - * the socket referenced by *map* (of type - * **BPF_MAP_TYPE_SOCKHASH**) using hash *key*. Both ingress and - * egress interfaces can be used for redirection. The - * **BPF_F_INGRESS** value in *flags* is used to make the - * distinction (ingress path is selected if the flag is present, - * egress path otherwise). This is the only flag supported for now. - * - * Returns - * **SK_PASS** on success, or **SK_DROP** on error. - */ -static long (*bpf_msg_redirect_hash)(struct sk_msg_md *msg, void *map, void *key, __u64 flags) = (void *) 71; - -/* - * bpf_sk_redirect_hash - * - * This helper is used in programs implementing policies at the - * skb socket level. If the sk_buff *skb* is allowed to pass (i.e. - * if the verdict eBPF program returns **SK_PASS**), redirect it - * to the socket referenced by *map* (of type - * **BPF_MAP_TYPE_SOCKHASH**) using hash *key*. Both ingress and - * egress interfaces can be used for redirection. The - * **BPF_F_INGRESS** value in *flags* is used to make the - * distinction (ingress path is selected if the flag is present, - * egress otherwise). This is the only flag supported for now. - * - * Returns - * **SK_PASS** on success, or **SK_DROP** on error. - */ -static long (*bpf_sk_redirect_hash)(struct __sk_buff *skb, void *map, void *key, __u64 flags) = (void *) 72; - -/* - * bpf_lwt_push_encap - * - * Encapsulate the packet associated to *skb* within a Layer 3 - * protocol header. This header is provided in the buffer at - * address *hdr*, with *len* its size in bytes. *type* indicates - * the protocol of the header and can be one of: - * - * **BPF_LWT_ENCAP_SEG6** - * IPv6 encapsulation with Segment Routing Header - * (**struct ipv6_sr_hdr**). *hdr* only contains the SRH, - * the IPv6 header is computed by the kernel. - * **BPF_LWT_ENCAP_SEG6_INLINE** - * Only works if *skb* contains an IPv6 packet. Insert a - * Segment Routing Header (**struct ipv6_sr_hdr**) inside - * the IPv6 header. - * **BPF_LWT_ENCAP_IP** - * IP encapsulation (GRE/GUE/IPIP/etc). The outer header - * must be IPv4 or IPv6, followed by zero or more - * additional headers, up to **LWT_BPF_MAX_HEADROOM** - * total bytes in all prepended headers. Please note that - * if **skb_is_gso**\ (*skb*) is true, no more than two - * headers can be prepended, and the inner header, if - * present, should be either GRE or UDP/GUE. - * - * **BPF_LWT_ENCAP_SEG6**\ \* types can be called by BPF programs - * of type **BPF_PROG_TYPE_LWT_IN**; **BPF_LWT_ENCAP_IP** type can - * be called by bpf programs of types **BPF_PROG_TYPE_LWT_IN** and - * **BPF_PROG_TYPE_LWT_XMIT**. - * - * A call to this helper is susceptible to change the underlying - * packet buffer. Therefore, at load time, all checks on pointers - * previously done by the verifier are invalidated and must be - * performed again, if the helper is used in combination with - * direct packet access. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_lwt_push_encap)(struct __sk_buff *skb, __u32 type, void *hdr, __u32 len) = (void *) 73; - -/* - * bpf_lwt_seg6_store_bytes - * - * Store *len* bytes from address *from* into the packet - * associated to *skb*, at *offset*. Only the flags, tag and TLVs - * inside the outermost IPv6 Segment Routing Header can be - * modified through this helper. - * - * A call to this helper is susceptible to change the underlying - * packet buffer. Therefore, at load time, all checks on pointers - * previously done by the verifier are invalidated and must be - * performed again, if the helper is used in combination with - * direct packet access. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_lwt_seg6_store_bytes)(struct __sk_buff *skb, __u32 offset, const void *from, __u32 len) = (void *) 74; - -/* - * bpf_lwt_seg6_adjust_srh - * - * Adjust the size allocated to TLVs in the outermost IPv6 - * Segment Routing Header contained in the packet associated to - * *skb*, at position *offset* by *delta* bytes. Only offsets - * after the segments are accepted. *delta* can be as well - * positive (growing) as negative (shrinking). - * - * A call to this helper is susceptible to change the underlying - * packet buffer. Therefore, at load time, all checks on pointers - * previously done by the verifier are invalidated and must be - * performed again, if the helper is used in combination with - * direct packet access. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_lwt_seg6_adjust_srh)(struct __sk_buff *skb, __u32 offset, __s32 delta) = (void *) 75; - -/* - * bpf_lwt_seg6_action - * - * Apply an IPv6 Segment Routing action of type *action* to the - * packet associated to *skb*. Each action takes a parameter - * contained at address *param*, and of length *param_len* bytes. - * *action* can be one of: - * - * **SEG6_LOCAL_ACTION_END_X** - * End.X action: Endpoint with Layer-3 cross-connect. - * Type of *param*: **struct in6_addr**. - * **SEG6_LOCAL_ACTION_END_T** - * End.T action: Endpoint with specific IPv6 table lookup. - * Type of *param*: **int**. - * **SEG6_LOCAL_ACTION_END_B6** - * End.B6 action: Endpoint bound to an SRv6 policy. - * Type of *param*: **struct ipv6_sr_hdr**. - * **SEG6_LOCAL_ACTION_END_B6_ENCAP** - * End.B6.Encap action: Endpoint bound to an SRv6 - * encapsulation policy. - * Type of *param*: **struct ipv6_sr_hdr**. - * - * A call to this helper is susceptible to change the underlying - * packet buffer. Therefore, at load time, all checks on pointers - * previously done by the verifier are invalidated and must be - * performed again, if the helper is used in combination with - * direct packet access. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_lwt_seg6_action)(struct __sk_buff *skb, __u32 action, void *param, __u32 param_len) = (void *) 76; - -/* - * bpf_rc_repeat - * - * This helper is used in programs implementing IR decoding, to - * report a successfully decoded repeat key message. This delays - * the generation of a key up event for previously generated - * key down event. - * - * Some IR protocols like NEC have a special IR message for - * repeating last button, for when a button is held down. - * - * The *ctx* should point to the lirc sample as passed into - * the program. - * - * This helper is only available is the kernel was compiled with - * the **CONFIG_BPF_LIRC_MODE2** configuration option set to - * "**y**". - * - * Returns - * 0 - */ -static long (*bpf_rc_repeat)(void *ctx) = (void *) 77; - -/* - * bpf_rc_keydown - * - * This helper is used in programs implementing IR decoding, to - * report a successfully decoded key press with *scancode*, - * *toggle* value in the given *protocol*. The scancode will be - * translated to a keycode using the rc keymap, and reported as - * an input key down event. After a period a key up event is - * generated. This period can be extended by calling either - * **bpf_rc_keydown**\ () again with the same values, or calling - * **bpf_rc_repeat**\ (). - * - * Some protocols include a toggle bit, in case the button was - * released and pressed again between consecutive scancodes. - * - * The *ctx* should point to the lirc sample as passed into - * the program. - * - * The *protocol* is the decoded protocol number (see - * **enum rc_proto** for some predefined values). - * - * This helper is only available is the kernel was compiled with - * the **CONFIG_BPF_LIRC_MODE2** configuration option set to - * "**y**". - * - * Returns - * 0 - */ -static long (*bpf_rc_keydown)(void *ctx, __u32 protocol, __u64 scancode, __u32 toggle) = (void *) 78; - -/* - * bpf_skb_cgroup_id - * - * Return the cgroup v2 id of the socket associated with the *skb*. - * This is roughly similar to the **bpf_get_cgroup_classid**\ () - * helper for cgroup v1 by providing a tag resp. identifier that - * can be matched on or used for map lookups e.g. to implement - * policy. The cgroup v2 id of a given path in the hierarchy is - * exposed in user space through the f_handle API in order to get - * to the same 64-bit id. - * - * This helper can be used on TC egress path, but not on ingress, - * and is available only if the kernel was compiled with the - * **CONFIG_SOCK_CGROUP_DATA** configuration option. - * - * Returns - * The id is returned or 0 in case the id could not be retrieved. - */ -static __u64 (*bpf_skb_cgroup_id)(struct __sk_buff *skb) = (void *) 79; - -/* - * bpf_get_current_cgroup_id - * - * Get the current cgroup id based on the cgroup within which - * the current task is running. - * - * Returns - * A 64-bit integer containing the current cgroup id based - * on the cgroup within which the current task is running. - */ -static __u64 (*bpf_get_current_cgroup_id)(void) = (void *) 80; - -/* - * bpf_get_local_storage - * - * Get the pointer to the local storage area. - * The type and the size of the local storage is defined - * by the *map* argument. - * The *flags* meaning is specific for each map type, - * and has to be 0 for cgroup local storage. - * - * Depending on the BPF program type, a local storage area - * can be shared between multiple instances of the BPF program, - * running simultaneously. - * - * A user should care about the synchronization by himself. - * For example, by using the **BPF_ATOMIC** instructions to alter - * the shared data. - * - * Returns - * A pointer to the local storage area. - */ -static void *(*bpf_get_local_storage)(void *map, __u64 flags) = (void *) 81; - -/* - * bpf_sk_select_reuseport - * - * Select a **SO_REUSEPORT** socket from a - * **BPF_MAP_TYPE_REUSEPORT_SOCKARRAY** *map*. - * It checks the selected socket is matching the incoming - * request in the socket buffer. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_sk_select_reuseport)(struct sk_reuseport_md *reuse, void *map, void *key, __u64 flags) = (void *) 82; - -/* - * bpf_skb_ancestor_cgroup_id - * - * Return id of cgroup v2 that is ancestor of cgroup associated - * with the *skb* at the *ancestor_level*. The root cgroup is at - * *ancestor_level* zero and each step down the hierarchy - * increments the level. If *ancestor_level* == level of cgroup - * associated with *skb*, then return value will be same as that - * of **bpf_skb_cgroup_id**\ (). - * - * The helper is useful to implement policies based on cgroups - * that are upper in hierarchy than immediate cgroup associated - * with *skb*. - * - * The format of returned id and helper limitations are same as in - * **bpf_skb_cgroup_id**\ (). - * - * Returns - * The id is returned or 0 in case the id could not be retrieved. - */ -static __u64 (*bpf_skb_ancestor_cgroup_id)(struct __sk_buff *skb, int ancestor_level) = (void *) 83; - -/* - * bpf_sk_lookup_tcp - * - * Look for TCP socket matching *tuple*, optionally in a child - * network namespace *netns*. The return value must be checked, - * and if non-**NULL**, released via **bpf_sk_release**\ (). - * - * The *ctx* should point to the context of the program, such as - * the skb or socket (depending on the hook in use). This is used - * to determine the base network namespace for the lookup. - * - * *tuple_size* must be one of: - * - * **sizeof**\ (*tuple*\ **->ipv4**) - * Look for an IPv4 socket. - * **sizeof**\ (*tuple*\ **->ipv6**) - * Look for an IPv6 socket. - * - * If the *netns* is a negative signed 32-bit integer, then the - * socket lookup table in the netns associated with the *ctx* - * will be used. For the TC hooks, this is the netns of the device - * in the skb. For socket hooks, this is the netns of the socket. - * If *netns* is any other signed 32-bit value greater than or - * equal to zero then it specifies the ID of the netns relative to - * the netns associated with the *ctx*. *netns* values beyond the - * range of 32-bit integers are reserved for future use. - * - * All values for *flags* are reserved for future usage, and must - * be left at zero. - * - * This helper is available only if the kernel was compiled with - * **CONFIG_NET** configuration option. - * - * Returns - * Pointer to **struct bpf_sock**, or **NULL** in case of failure. - * For sockets with reuseport option, the **struct bpf_sock** - * result is from *reuse*\ **->socks**\ [] using the hash of the - * tuple. - */ -static struct bpf_sock *(*bpf_sk_lookup_tcp)(void *ctx, struct bpf_sock_tuple *tuple, __u32 tuple_size, __u64 netns, __u64 flags) = (void *) 84; - -/* - * bpf_sk_lookup_udp - * - * Look for UDP socket matching *tuple*, optionally in a child - * network namespace *netns*. The return value must be checked, - * and if non-**NULL**, released via **bpf_sk_release**\ (). - * - * The *ctx* should point to the context of the program, such as - * the skb or socket (depending on the hook in use). This is used - * to determine the base network namespace for the lookup. - * - * *tuple_size* must be one of: - * - * **sizeof**\ (*tuple*\ **->ipv4**) - * Look for an IPv4 socket. - * **sizeof**\ (*tuple*\ **->ipv6**) - * Look for an IPv6 socket. - * - * If the *netns* is a negative signed 32-bit integer, then the - * socket lookup table in the netns associated with the *ctx* - * will be used. For the TC hooks, this is the netns of the device - * in the skb. For socket hooks, this is the netns of the socket. - * If *netns* is any other signed 32-bit value greater than or - * equal to zero then it specifies the ID of the netns relative to - * the netns associated with the *ctx*. *netns* values beyond the - * range of 32-bit integers are reserved for future use. - * - * All values for *flags* are reserved for future usage, and must - * be left at zero. - * - * This helper is available only if the kernel was compiled with - * **CONFIG_NET** configuration option. - * - * Returns - * Pointer to **struct bpf_sock**, or **NULL** in case of failure. - * For sockets with reuseport option, the **struct bpf_sock** - * result is from *reuse*\ **->socks**\ [] using the hash of the - * tuple. - */ -static struct bpf_sock *(*bpf_sk_lookup_udp)(void *ctx, struct bpf_sock_tuple *tuple, __u32 tuple_size, __u64 netns, __u64 flags) = (void *) 85; - -/* - * bpf_sk_release - * - * Release the reference held by *sock*. *sock* must be a - * non-**NULL** pointer that was returned from - * **bpf_sk_lookup_xxx**\ (). - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_sk_release)(void *sock) = (void *) 86; - -/* - * bpf_map_push_elem - * - * Push an element *value* in *map*. *flags* is one of: - * - * **BPF_EXIST** - * If the queue/stack is full, the oldest element is - * removed to make room for this. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_map_push_elem)(void *map, const void *value, __u64 flags) = (void *) 87; - -/* - * bpf_map_pop_elem - * - * Pop an element from *map*. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_map_pop_elem)(void *map, void *value) = (void *) 88; - -/* - * bpf_map_peek_elem - * - * Get an element from *map* without removing it. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_map_peek_elem)(void *map, void *value) = (void *) 89; - -/* - * bpf_msg_push_data - * - * For socket policies, insert *len* bytes into *msg* at offset - * *start*. - * - * If a program of type **BPF_PROG_TYPE_SK_MSG** is run on a - * *msg* it may want to insert metadata or options into the *msg*. - * This can later be read and used by any of the lower layer BPF - * hooks. - * - * This helper may fail if under memory pressure (a malloc - * fails) in these cases BPF programs will get an appropriate - * error and BPF programs will need to handle them. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_msg_push_data)(struct sk_msg_md *msg, __u32 start, __u32 len, __u64 flags) = (void *) 90; - -/* - * bpf_msg_pop_data - * - * Will remove *len* bytes from a *msg* starting at byte *start*. - * This may result in **ENOMEM** errors under certain situations if - * an allocation and copy are required due to a full ring buffer. - * However, the helper will try to avoid doing the allocation - * if possible. Other errors can occur if input parameters are - * invalid either due to *start* byte not being valid part of *msg* - * payload and/or *pop* value being to large. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_msg_pop_data)(struct sk_msg_md *msg, __u32 start, __u32 len, __u64 flags) = (void *) 91; - -/* - * bpf_rc_pointer_rel - * - * This helper is used in programs implementing IR decoding, to - * report a successfully decoded pointer movement. - * - * The *ctx* should point to the lirc sample as passed into - * the program. - * - * This helper is only available is the kernel was compiled with - * the **CONFIG_BPF_LIRC_MODE2** configuration option set to - * "**y**". - * - * Returns - * 0 - */ -static long (*bpf_rc_pointer_rel)(void *ctx, __s32 rel_x, __s32 rel_y) = (void *) 92; - -/* - * bpf_spin_lock - * - * Acquire a spinlock represented by the pointer *lock*, which is - * stored as part of a value of a map. Taking the lock allows to - * safely update the rest of the fields in that value. The - * spinlock can (and must) later be released with a call to - * **bpf_spin_unlock**\ (\ *lock*\ ). - * - * Spinlocks in BPF programs come with a number of restrictions - * and constraints: - * - * * **bpf_spin_lock** objects are only allowed inside maps of - * types **BPF_MAP_TYPE_HASH** and **BPF_MAP_TYPE_ARRAY** (this - * list could be extended in the future). - * * BTF description of the map is mandatory. - * * The BPF program can take ONE lock at a time, since taking two - * or more could cause dead locks. - * * Only one **struct bpf_spin_lock** is allowed per map element. - * * When the lock is taken, calls (either BPF to BPF or helpers) - * are not allowed. - * * The **BPF_LD_ABS** and **BPF_LD_IND** instructions are not - * allowed inside a spinlock-ed region. - * * The BPF program MUST call **bpf_spin_unlock**\ () to release - * the lock, on all execution paths, before it returns. - * * The BPF program can access **struct bpf_spin_lock** only via - * the **bpf_spin_lock**\ () and **bpf_spin_unlock**\ () - * helpers. Loading or storing data into the **struct - * bpf_spin_lock** *lock*\ **;** field of a map is not allowed. - * * To use the **bpf_spin_lock**\ () helper, the BTF description - * of the map value must be a struct and have **struct - * bpf_spin_lock** *anyname*\ **;** field at the top level. - * Nested lock inside another struct is not allowed. - * * The **struct bpf_spin_lock** *lock* field in a map value must - * be aligned on a multiple of 4 bytes in that value. - * * Syscall with command **BPF_MAP_LOOKUP_ELEM** does not copy - * the **bpf_spin_lock** field to user space. - * * Syscall with command **BPF_MAP_UPDATE_ELEM**, or update from - * a BPF program, do not update the **bpf_spin_lock** field. - * * **bpf_spin_lock** cannot be on the stack or inside a - * networking packet (it can only be inside of a map values). - * * **bpf_spin_lock** is available to root only. - * * Tracing programs and socket filter programs cannot use - * **bpf_spin_lock**\ () due to insufficient preemption checks - * (but this may change in the future). - * * **bpf_spin_lock** is not allowed in inner maps of map-in-map. - * - * Returns - * 0 - */ -static long (*bpf_spin_lock)(struct bpf_spin_lock *lock) = (void *) 93; - -/* - * bpf_spin_unlock - * - * Release the *lock* previously locked by a call to - * **bpf_spin_lock**\ (\ *lock*\ ). - * - * Returns - * 0 - */ -static long (*bpf_spin_unlock)(struct bpf_spin_lock *lock) = (void *) 94; - -/* - * bpf_sk_fullsock - * - * This helper gets a **struct bpf_sock** pointer such - * that all the fields in this **bpf_sock** can be accessed. - * - * Returns - * A **struct bpf_sock** pointer on success, or **NULL** in - * case of failure. - */ -static struct bpf_sock *(*bpf_sk_fullsock)(struct bpf_sock *sk) = (void *) 95; - -/* - * bpf_tcp_sock - * - * This helper gets a **struct bpf_tcp_sock** pointer from a - * **struct bpf_sock** pointer. - * - * Returns - * A **struct bpf_tcp_sock** pointer on success, or **NULL** in - * case of failure. - */ -static struct bpf_tcp_sock *(*bpf_tcp_sock)(struct bpf_sock *sk) = (void *) 96; - -/* - * bpf_skb_ecn_set_ce - * - * Set ECN (Explicit Congestion Notification) field of IP header - * to **CE** (Congestion Encountered) if current value is **ECT** - * (ECN Capable Transport). Otherwise, do nothing. Works with IPv6 - * and IPv4. - * - * Returns - * 1 if the **CE** flag is set (either by the current helper call - * or because it was already present), 0 if it is not set. - */ -static long (*bpf_skb_ecn_set_ce)(struct __sk_buff *skb) = (void *) 97; - -/* - * bpf_get_listener_sock - * - * Return a **struct bpf_sock** pointer in **TCP_LISTEN** state. - * **bpf_sk_release**\ () is unnecessary and not allowed. - * - * Returns - * A **struct bpf_sock** pointer on success, or **NULL** in - * case of failure. - */ -static struct bpf_sock *(*bpf_get_listener_sock)(struct bpf_sock *sk) = (void *) 98; - -/* - * bpf_skc_lookup_tcp - * - * Look for TCP socket matching *tuple*, optionally in a child - * network namespace *netns*. The return value must be checked, - * and if non-**NULL**, released via **bpf_sk_release**\ (). - * - * This function is identical to **bpf_sk_lookup_tcp**\ (), except - * that it also returns timewait or request sockets. Use - * **bpf_sk_fullsock**\ () or **bpf_tcp_sock**\ () to access the - * full structure. - * - * This helper is available only if the kernel was compiled with - * **CONFIG_NET** configuration option. - * - * Returns - * Pointer to **struct bpf_sock**, or **NULL** in case of failure. - * For sockets with reuseport option, the **struct bpf_sock** - * result is from *reuse*\ **->socks**\ [] using the hash of the - * tuple. - */ -static struct bpf_sock *(*bpf_skc_lookup_tcp)(void *ctx, struct bpf_sock_tuple *tuple, __u32 tuple_size, __u64 netns, __u64 flags) = (void *) 99; - -/* - * bpf_tcp_check_syncookie - * - * Check whether *iph* and *th* contain a valid SYN cookie ACK for - * the listening socket in *sk*. - * - * *iph* points to the start of the IPv4 or IPv6 header, while - * *iph_len* contains **sizeof**\ (**struct iphdr**) or - * **sizeof**\ (**struct ip6hdr**). - * - * *th* points to the start of the TCP header, while *th_len* - * contains **sizeof**\ (**struct tcphdr**). - * - * Returns - * 0 if *iph* and *th* are a valid SYN cookie ACK, or a negative - * error otherwise. - */ -static long (*bpf_tcp_check_syncookie)(void *sk, void *iph, __u32 iph_len, struct tcphdr *th, __u32 th_len) = (void *) 100; - -/* - * bpf_sysctl_get_name - * - * Get name of sysctl in /proc/sys/ and copy it into provided by - * program buffer *buf* of size *buf_len*. - * - * The buffer is always NUL terminated, unless it's zero-sized. - * - * If *flags* is zero, full name (e.g. "net/ipv4/tcp_mem") is - * copied. Use **BPF_F_SYSCTL_BASE_NAME** flag to copy base name - * only (e.g. "tcp_mem"). - * - * Returns - * Number of character copied (not including the trailing NUL). - * - * **-E2BIG** if the buffer wasn't big enough (*buf* will contain - * truncated name in this case). - */ -static long (*bpf_sysctl_get_name)(struct bpf_sysctl *ctx, char *buf, unsigned long buf_len, __u64 flags) = (void *) 101; - -/* - * bpf_sysctl_get_current_value - * - * Get current value of sysctl as it is presented in /proc/sys - * (incl. newline, etc), and copy it as a string into provided - * by program buffer *buf* of size *buf_len*. - * - * The whole value is copied, no matter what file position user - * space issued e.g. sys_read at. - * - * The buffer is always NUL terminated, unless it's zero-sized. - * - * Returns - * Number of character copied (not including the trailing NUL). - * - * **-E2BIG** if the buffer wasn't big enough (*buf* will contain - * truncated name in this case). - * - * **-EINVAL** if current value was unavailable, e.g. because - * sysctl is uninitialized and read returns -EIO for it. - */ -static long (*bpf_sysctl_get_current_value)(struct bpf_sysctl *ctx, char *buf, unsigned long buf_len) = (void *) 102; - -/* - * bpf_sysctl_get_new_value - * - * Get new value being written by user space to sysctl (before - * the actual write happens) and copy it as a string into - * provided by program buffer *buf* of size *buf_len*. - * - * User space may write new value at file position > 0. - * - * The buffer is always NUL terminated, unless it's zero-sized. - * - * Returns - * Number of character copied (not including the trailing NUL). - * - * **-E2BIG** if the buffer wasn't big enough (*buf* will contain - * truncated name in this case). - * - * **-EINVAL** if sysctl is being read. - */ -static long (*bpf_sysctl_get_new_value)(struct bpf_sysctl *ctx, char *buf, unsigned long buf_len) = (void *) 103; - -/* - * bpf_sysctl_set_new_value - * - * Override new value being written by user space to sysctl with - * value provided by program in buffer *buf* of size *buf_len*. - * - * *buf* should contain a string in same form as provided by user - * space on sysctl write. - * - * User space may write new value at file position > 0. To override - * the whole sysctl value file position should be set to zero. - * - * Returns - * 0 on success. - * - * **-E2BIG** if the *buf_len* is too big. - * - * **-EINVAL** if sysctl is being read. - */ -static long (*bpf_sysctl_set_new_value)(struct bpf_sysctl *ctx, const char *buf, unsigned long buf_len) = (void *) 104; - -/* - * bpf_strtol - * - * Convert the initial part of the string from buffer *buf* of - * size *buf_len* to a long integer according to the given base - * and save the result in *res*. - * - * The string may begin with an arbitrary amount of white space - * (as determined by **isspace**\ (3)) followed by a single - * optional '**-**' sign. - * - * Five least significant bits of *flags* encode base, other bits - * are currently unused. - * - * Base must be either 8, 10, 16 or 0 to detect it automatically - * similar to user space **strtol**\ (3). - * - * Returns - * Number of characters consumed on success. Must be positive but - * no more than *buf_len*. - * - * **-EINVAL** if no valid digits were found or unsupported base - * was provided. - * - * **-ERANGE** if resulting value was out of range. - */ -static long (*bpf_strtol)(const char *buf, unsigned long buf_len, __u64 flags, long *res) = (void *) 105; - -/* - * bpf_strtoul - * - * Convert the initial part of the string from buffer *buf* of - * size *buf_len* to an unsigned long integer according to the - * given base and save the result in *res*. - * - * The string may begin with an arbitrary amount of white space - * (as determined by **isspace**\ (3)). - * - * Five least significant bits of *flags* encode base, other bits - * are currently unused. - * - * Base must be either 8, 10, 16 or 0 to detect it automatically - * similar to user space **strtoul**\ (3). - * - * Returns - * Number of characters consumed on success. Must be positive but - * no more than *buf_len*. - * - * **-EINVAL** if no valid digits were found or unsupported base - * was provided. - * - * **-ERANGE** if resulting value was out of range. - */ -static long (*bpf_strtoul)(const char *buf, unsigned long buf_len, __u64 flags, unsigned long *res) = (void *) 106; - -/* - * bpf_sk_storage_get - * - * Get a bpf-local-storage from a *sk*. - * - * Logically, it could be thought of getting the value from - * a *map* with *sk* as the **key**. From this - * perspective, the usage is not much different from - * **bpf_map_lookup_elem**\ (*map*, **&**\ *sk*) except this - * helper enforces the key must be a full socket and the map must - * be a **BPF_MAP_TYPE_SK_STORAGE** also. - * - * Underneath, the value is stored locally at *sk* instead of - * the *map*. The *map* is used as the bpf-local-storage - * "type". The bpf-local-storage "type" (i.e. the *map*) is - * searched against all bpf-local-storages residing at *sk*. - * - * *sk* is a kernel **struct sock** pointer for LSM program. - * *sk* is a **struct bpf_sock** pointer for other program types. - * - * An optional *flags* (**BPF_SK_STORAGE_GET_F_CREATE**) can be - * used such that a new bpf-local-storage will be - * created if one does not exist. *value* can be used - * together with **BPF_SK_STORAGE_GET_F_CREATE** to specify - * the initial value of a bpf-local-storage. If *value* is - * **NULL**, the new bpf-local-storage will be zero initialized. - * - * Returns - * A bpf-local-storage pointer is returned on success. - * - * **NULL** if not found or there was an error in adding - * a new bpf-local-storage. - */ -static void *(*bpf_sk_storage_get)(void *map, void *sk, void *value, __u64 flags) = (void *) 107; - -/* - * bpf_sk_storage_delete - * - * Delete a bpf-local-storage from a *sk*. - * - * Returns - * 0 on success. - * - * **-ENOENT** if the bpf-local-storage cannot be found. - * **-EINVAL** if sk is not a fullsock (e.g. a request_sock). - */ -static long (*bpf_sk_storage_delete)(void *map, void *sk) = (void *) 108; - -/* - * bpf_send_signal - * - * Send signal *sig* to the process of the current task. - * The signal may be delivered to any of this process's threads. - * - * Returns - * 0 on success or successfully queued. - * - * **-EBUSY** if work queue under nmi is full. - * - * **-EINVAL** if *sig* is invalid. - * - * **-EPERM** if no permission to send the *sig*. - * - * **-EAGAIN** if bpf program can try again. - */ -static long (*bpf_send_signal)(__u32 sig) = (void *) 109; - -/* - * bpf_tcp_gen_syncookie - * - * Try to issue a SYN cookie for the packet with corresponding - * IP/TCP headers, *iph* and *th*, on the listening socket in *sk*. - * - * *iph* points to the start of the IPv4 or IPv6 header, while - * *iph_len* contains **sizeof**\ (**struct iphdr**) or - * **sizeof**\ (**struct ip6hdr**). - * - * *th* points to the start of the TCP header, while *th_len* - * contains the length of the TCP header. - * - * Returns - * On success, lower 32 bits hold the generated SYN cookie in - * followed by 16 bits which hold the MSS value for that cookie, - * and the top 16 bits are unused. - * - * On failure, the returned value is one of the following: - * - * **-EINVAL** SYN cookie cannot be issued due to error - * - * **-ENOENT** SYN cookie should not be issued (no SYN flood) - * - * **-EOPNOTSUPP** kernel configuration does not enable SYN cookies - * - * **-EPROTONOSUPPORT** IP packet version is not 4 or 6 - */ -static __s64 (*bpf_tcp_gen_syncookie)(void *sk, void *iph, __u32 iph_len, struct tcphdr *th, __u32 th_len) = (void *) 110; - -/* - * bpf_skb_output - * - * Write raw *data* blob into a special BPF perf event held by - * *map* of type **BPF_MAP_TYPE_PERF_EVENT_ARRAY**. This perf - * event must have the following attributes: **PERF_SAMPLE_RAW** - * as **sample_type**, **PERF_TYPE_SOFTWARE** as **type**, and - * **PERF_COUNT_SW_BPF_OUTPUT** as **config**. - * - * The *flags* are used to indicate the index in *map* for which - * the value must be put, masked with **BPF_F_INDEX_MASK**. - * Alternatively, *flags* can be set to **BPF_F_CURRENT_CPU** - * to indicate that the index of the current CPU core should be - * used. - * - * The value to write, of *size*, is passed through eBPF stack and - * pointed by *data*. - * - * *ctx* is a pointer to in-kernel struct sk_buff. - * - * This helper is similar to **bpf_perf_event_output**\ () but - * restricted to raw_tracepoint bpf programs. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_skb_output)(void *ctx, void *map, __u64 flags, void *data, __u64 size) = (void *) 111; - -/* - * bpf_probe_read_user - * - * Safely attempt to read *size* bytes from user space address - * *unsafe_ptr* and store the data in *dst*. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_probe_read_user)(void *dst, __u32 size, const void *unsafe_ptr) = (void *) 112; - -/* - * bpf_probe_read_kernel - * - * Safely attempt to read *size* bytes from kernel space address - * *unsafe_ptr* and store the data in *dst*. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_probe_read_kernel)(void *dst, __u32 size, const void *unsafe_ptr) = (void *) 113; - -/* - * bpf_probe_read_user_str - * - * Copy a NUL terminated string from an unsafe user address - * *unsafe_ptr* to *dst*. The *size* should include the - * terminating NUL byte. In case the string length is smaller than - * *size*, the target is not padded with further NUL bytes. If the - * string length is larger than *size*, just *size*-1 bytes are - * copied and the last byte is set to NUL. - * - * On success, returns the number of bytes that were written, - * including the terminal NUL. This makes this helper useful in - * tracing programs for reading strings, and more importantly to - * get its length at runtime. See the following snippet: - * - * :: - * - * SEC("kprobe/sys_open") - * void bpf_sys_open(struct pt_regs *ctx) - * { - * char buf[PATHLEN]; // PATHLEN is defined to 256 - * int res = bpf_probe_read_user_str(buf, sizeof(buf), - * ctx->di); - * - * // Consume buf, for example push it to - * // userspace via bpf_perf_event_output(); we - * // can use res (the string length) as event - * // size, after checking its boundaries. - * } - * - * In comparison, using **bpf_probe_read_user**\ () helper here - * instead to read the string would require to estimate the length - * at compile time, and would often result in copying more memory - * than necessary. - * - * Another useful use case is when parsing individual process - * arguments or individual environment variables navigating - * *current*\ **->mm->arg_start** and *current*\ - * **->mm->env_start**: using this helper and the return value, - * one can quickly iterate at the right offset of the memory area. - * - * Returns - * On success, the strictly positive length of the output string, - * including the trailing NUL character. On error, a negative - * value. - */ -static long (*bpf_probe_read_user_str)(void *dst, __u32 size, const void *unsafe_ptr) = (void *) 114; - -/* - * bpf_probe_read_kernel_str - * - * Copy a NUL terminated string from an unsafe kernel address *unsafe_ptr* - * to *dst*. Same semantics as with **bpf_probe_read_user_str**\ () apply. - * - * Returns - * On success, the strictly positive length of the string, including - * the trailing NUL character. On error, a negative value. - */ -static long (*bpf_probe_read_kernel_str)(void *dst, __u32 size, const void *unsafe_ptr) = (void *) 115; - -/* - * bpf_tcp_send_ack - * - * Send out a tcp-ack. *tp* is the in-kernel struct **tcp_sock**. - * *rcv_nxt* is the ack_seq to be sent out. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_tcp_send_ack)(void *tp, __u32 rcv_nxt) = (void *) 116; - -/* - * bpf_send_signal_thread - * - * Send signal *sig* to the thread corresponding to the current task. - * - * Returns - * 0 on success or successfully queued. - * - * **-EBUSY** if work queue under nmi is full. - * - * **-EINVAL** if *sig* is invalid. - * - * **-EPERM** if no permission to send the *sig*. - * - * **-EAGAIN** if bpf program can try again. - */ -static long (*bpf_send_signal_thread)(__u32 sig) = (void *) 117; - -/* - * bpf_jiffies64 - * - * Obtain the 64bit jiffies - * - * Returns - * The 64 bit jiffies - */ -static __u64 (*bpf_jiffies64)(void) = (void *) 118; - -/* - * bpf_read_branch_records - * - * For an eBPF program attached to a perf event, retrieve the - * branch records (**struct perf_branch_entry**) associated to *ctx* - * and store it in the buffer pointed by *buf* up to size - * *size* bytes. - * - * Returns - * On success, number of bytes written to *buf*. On error, a - * negative value. - * - * The *flags* can be set to **BPF_F_GET_BRANCH_RECORDS_SIZE** to - * instead return the number of bytes required to store all the - * branch entries. If this flag is set, *buf* may be NULL. - * - * **-EINVAL** if arguments invalid or **size** not a multiple - * of **sizeof**\ (**struct perf_branch_entry**\ ). - * - * **-ENOENT** if architecture does not support branch records. - */ -static long (*bpf_read_branch_records)(struct bpf_perf_event_data *ctx, void *buf, __u32 size, __u64 flags) = (void *) 119; - -/* - * bpf_get_ns_current_pid_tgid - * - * Returns 0 on success, values for *pid* and *tgid* as seen from the current - * *namespace* will be returned in *nsdata*. - * - * Returns - * 0 on success, or one of the following in case of failure: - * - * **-EINVAL** if dev and inum supplied don't match dev_t and inode number - * with nsfs of current task, or if dev conversion to dev_t lost high bits. - * - * **-ENOENT** if pidns does not exists for the current task. - */ -static long (*bpf_get_ns_current_pid_tgid)(__u64 dev, __u64 ino, struct bpf_pidns_info *nsdata, __u32 size) = (void *) 120; - -/* - * bpf_xdp_output - * - * Write raw *data* blob into a special BPF perf event held by - * *map* of type **BPF_MAP_TYPE_PERF_EVENT_ARRAY**. This perf - * event must have the following attributes: **PERF_SAMPLE_RAW** - * as **sample_type**, **PERF_TYPE_SOFTWARE** as **type**, and - * **PERF_COUNT_SW_BPF_OUTPUT** as **config**. - * - * The *flags* are used to indicate the index in *map* for which - * the value must be put, masked with **BPF_F_INDEX_MASK**. - * Alternatively, *flags* can be set to **BPF_F_CURRENT_CPU** - * to indicate that the index of the current CPU core should be - * used. - * - * The value to write, of *size*, is passed through eBPF stack and - * pointed by *data*. - * - * *ctx* is a pointer to in-kernel struct xdp_buff. - * - * This helper is similar to **bpf_perf_eventoutput**\ () but - * restricted to raw_tracepoint bpf programs. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_xdp_output)(void *ctx, void *map, __u64 flags, void *data, __u64 size) = (void *) 121; - -/* - * bpf_get_netns_cookie - * - * Retrieve the cookie (generated by the kernel) of the network - * namespace the input *ctx* is associated with. The network - * namespace cookie remains stable for its lifetime and provides - * a global identifier that can be assumed unique. If *ctx* is - * NULL, then the helper returns the cookie for the initial - * network namespace. The cookie itself is very similar to that - * of **bpf_get_socket_cookie**\ () helper, but for network - * namespaces instead of sockets. - * - * Returns - * A 8-byte long opaque number. - */ -static __u64 (*bpf_get_netns_cookie)(void *ctx) = (void *) 122; - -/* - * bpf_get_current_ancestor_cgroup_id - * - * Return id of cgroup v2 that is ancestor of the cgroup associated - * with the current task at the *ancestor_level*. The root cgroup - * is at *ancestor_level* zero and each step down the hierarchy - * increments the level. If *ancestor_level* == level of cgroup - * associated with the current task, then return value will be the - * same as that of **bpf_get_current_cgroup_id**\ (). - * - * The helper is useful to implement policies based on cgroups - * that are upper in hierarchy than immediate cgroup associated - * with the current task. - * - * The format of returned id and helper limitations are same as in - * **bpf_get_current_cgroup_id**\ (). - * - * Returns - * The id is returned or 0 in case the id could not be retrieved. - */ -static __u64 (*bpf_get_current_ancestor_cgroup_id)(int ancestor_level) = (void *) 123; - -/* - * bpf_sk_assign - * - * Helper is overloaded depending on BPF program type. This - * description applies to **BPF_PROG_TYPE_SCHED_CLS** and - * **BPF_PROG_TYPE_SCHED_ACT** programs. - * - * Assign the *sk* to the *skb*. When combined with appropriate - * routing configuration to receive the packet towards the socket, - * will cause *skb* to be delivered to the specified socket. - * Subsequent redirection of *skb* via **bpf_redirect**\ (), - * **bpf_clone_redirect**\ () or other methods outside of BPF may - * interfere with successful delivery to the socket. - * - * This operation is only valid from TC ingress path. - * - * The *flags* argument must be zero. - * - * Returns - * 0 on success, or a negative error in case of failure: - * - * **-EINVAL** if specified *flags* are not supported. - * - * **-ENOENT** if the socket is unavailable for assignment. - * - * **-ENETUNREACH** if the socket is unreachable (wrong netns). - * - * **-EOPNOTSUPP** if the operation is not supported, for example - * a call from outside of TC ingress. - * - * **-ESOCKTNOSUPPORT** if the socket type is not supported - * (reuseport). - */ -static long (*bpf_sk_assign)(void *ctx, void *sk, __u64 flags) = (void *) 124; - -/* - * bpf_ktime_get_boot_ns - * - * Return the time elapsed since system boot, in nanoseconds. - * Does include the time the system was suspended. - * See: **clock_gettime**\ (**CLOCK_BOOTTIME**) - * - * Returns - * Current *ktime*. - */ -static __u64 (*bpf_ktime_get_boot_ns)(void) = (void *) 125; - -/* - * bpf_seq_printf - * - * **bpf_seq_printf**\ () uses seq_file **seq_printf**\ () to print - * out the format string. - * The *m* represents the seq_file. The *fmt* and *fmt_size* are for - * the format string itself. The *data* and *data_len* are format string - * arguments. The *data* are a **u64** array and corresponding format string - * values are stored in the array. For strings and pointers where pointees - * are accessed, only the pointer values are stored in the *data* array. - * The *data_len* is the size of *data* in bytes - must be a multiple of 8. - * - * Formats **%s**, **%p{i,I}{4,6}** requires to read kernel memory. - * Reading kernel memory may fail due to either invalid address or - * valid address but requiring a major memory fault. If reading kernel memory - * fails, the string for **%s** will be an empty string, and the ip - * address for **%p{i,I}{4,6}** will be 0. Not returning error to - * bpf program is consistent with what **bpf_trace_printk**\ () does for now. - * - * Returns - * 0 on success, or a negative error in case of failure: - * - * **-EBUSY** if per-CPU memory copy buffer is busy, can try again - * by returning 1 from bpf program. - * - * **-EINVAL** if arguments are invalid, or if *fmt* is invalid/unsupported. - * - * **-E2BIG** if *fmt* contains too many format specifiers. - * - * **-EOVERFLOW** if an overflow happened: The same object will be tried again. - */ -static long (*bpf_seq_printf)(struct seq_file *m, const char *fmt, __u32 fmt_size, const void *data, __u32 data_len) = (void *) 126; - -/* - * bpf_seq_write - * - * **bpf_seq_write**\ () uses seq_file **seq_write**\ () to write the data. - * The *m* represents the seq_file. The *data* and *len* represent the - * data to write in bytes. - * - * Returns - * 0 on success, or a negative error in case of failure: - * - * **-EOVERFLOW** if an overflow happened: The same object will be tried again. - */ -static long (*bpf_seq_write)(struct seq_file *m, const void *data, __u32 len) = (void *) 127; - -/* - * bpf_sk_cgroup_id - * - * Return the cgroup v2 id of the socket *sk*. - * - * *sk* must be a non-**NULL** pointer to a socket, e.g. one - * returned from **bpf_sk_lookup_xxx**\ (), - * **bpf_sk_fullsock**\ (), etc. The format of returned id is - * same as in **bpf_skb_cgroup_id**\ (). - * - * This helper is available only if the kernel was compiled with - * the **CONFIG_SOCK_CGROUP_DATA** configuration option. - * - * Returns - * The id is returned or 0 in case the id could not be retrieved. - */ -static __u64 (*bpf_sk_cgroup_id)(void *sk) = (void *) 128; - -/* - * bpf_sk_ancestor_cgroup_id - * - * Return id of cgroup v2 that is ancestor of cgroup associated - * with the *sk* at the *ancestor_level*. The root cgroup is at - * *ancestor_level* zero and each step down the hierarchy - * increments the level. If *ancestor_level* == level of cgroup - * associated with *sk*, then return value will be same as that - * of **bpf_sk_cgroup_id**\ (). - * - * The helper is useful to implement policies based on cgroups - * that are upper in hierarchy than immediate cgroup associated - * with *sk*. - * - * The format of returned id and helper limitations are same as in - * **bpf_sk_cgroup_id**\ (). - * - * Returns - * The id is returned or 0 in case the id could not be retrieved. - */ -static __u64 (*bpf_sk_ancestor_cgroup_id)(void *sk, int ancestor_level) = (void *) 129; - -/* - * bpf_ringbuf_output - * - * Copy *size* bytes from *data* into a ring buffer *ringbuf*. - * If **BPF_RB_NO_WAKEUP** is specified in *flags*, no notification - * of new data availability is sent. - * If **BPF_RB_FORCE_WAKEUP** is specified in *flags*, notification - * of new data availability is sent unconditionally. - * If **0** is specified in *flags*, an adaptive notification - * of new data availability is sent. - * - * An adaptive notification is a notification sent whenever the user-space - * process has caught up and consumed all available payloads. In case the user-space - * process is still processing a previous payload, then no notification is needed - * as it will process the newly added payload automatically. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_ringbuf_output)(void *ringbuf, void *data, __u64 size, __u64 flags) = (void *) 130; - -/* - * bpf_ringbuf_reserve - * - * Reserve *size* bytes of payload in a ring buffer *ringbuf*. - * *flags* must be 0. - * - * Returns - * Valid pointer with *size* bytes of memory available; NULL, - * otherwise. - */ -static void *(*bpf_ringbuf_reserve)(void *ringbuf, __u64 size, __u64 flags) = (void *) 131; - -/* - * bpf_ringbuf_submit - * - * Submit reserved ring buffer sample, pointed to by *data*. - * If **BPF_RB_NO_WAKEUP** is specified in *flags*, no notification - * of new data availability is sent. - * If **BPF_RB_FORCE_WAKEUP** is specified in *flags*, notification - * of new data availability is sent unconditionally. - * If **0** is specified in *flags*, an adaptive notification - * of new data availability is sent. - * - * See 'bpf_ringbuf_output()' for the definition of adaptive notification. - * - * Returns - * Nothing. Always succeeds. - */ -static void (*bpf_ringbuf_submit)(void *data, __u64 flags) = (void *) 132; - -/* - * bpf_ringbuf_discard - * - * Discard reserved ring buffer sample, pointed to by *data*. - * If **BPF_RB_NO_WAKEUP** is specified in *flags*, no notification - * of new data availability is sent. - * If **BPF_RB_FORCE_WAKEUP** is specified in *flags*, notification - * of new data availability is sent unconditionally. - * If **0** is specified in *flags*, an adaptive notification - * of new data availability is sent. - * - * See 'bpf_ringbuf_output()' for the definition of adaptive notification. - * - * Returns - * Nothing. Always succeeds. - */ -static void (*bpf_ringbuf_discard)(void *data, __u64 flags) = (void *) 133; - -/* - * bpf_ringbuf_query - * - * Query various characteristics of provided ring buffer. What - * exactly is queries is determined by *flags*: - * - * * **BPF_RB_AVAIL_DATA**: Amount of data not yet consumed. - * * **BPF_RB_RING_SIZE**: The size of ring buffer. - * * **BPF_RB_CONS_POS**: Consumer position (can wrap around). - * * **BPF_RB_PROD_POS**: Producer(s) position (can wrap around). - * - * Data returned is just a momentary snapshot of actual values - * and could be inaccurate, so this facility should be used to - * power heuristics and for reporting, not to make 100% correct - * calculation. - * - * Returns - * Requested value, or 0, if *flags* are not recognized. - */ -static __u64 (*bpf_ringbuf_query)(void *ringbuf, __u64 flags) = (void *) 134; - -/* - * bpf_csum_level - * - * Change the skbs checksum level by one layer up or down, or - * reset it entirely to none in order to have the stack perform - * checksum validation. The level is applicable to the following - * protocols: TCP, UDP, GRE, SCTP, FCOE. For example, a decap of - * | ETH | IP | UDP | GUE | IP | TCP | into | ETH | IP | TCP | - * through **bpf_skb_adjust_room**\ () helper with passing in - * **BPF_F_ADJ_ROOM_NO_CSUM_RESET** flag would require one call - * to **bpf_csum_level**\ () with **BPF_CSUM_LEVEL_DEC** since - * the UDP header is removed. Similarly, an encap of the latter - * into the former could be accompanied by a helper call to - * **bpf_csum_level**\ () with **BPF_CSUM_LEVEL_INC** if the - * skb is still intended to be processed in higher layers of the - * stack instead of just egressing at tc. - * - * There are three supported level settings at this time: - * - * * **BPF_CSUM_LEVEL_INC**: Increases skb->csum_level for skbs - * with CHECKSUM_UNNECESSARY. - * * **BPF_CSUM_LEVEL_DEC**: Decreases skb->csum_level for skbs - * with CHECKSUM_UNNECESSARY. - * * **BPF_CSUM_LEVEL_RESET**: Resets skb->csum_level to 0 and - * sets CHECKSUM_NONE to force checksum validation by the stack. - * * **BPF_CSUM_LEVEL_QUERY**: No-op, returns the current - * skb->csum_level. - * - * Returns - * 0 on success, or a negative error in case of failure. In the - * case of **BPF_CSUM_LEVEL_QUERY**, the current skb->csum_level - * is returned or the error code -EACCES in case the skb is not - * subject to CHECKSUM_UNNECESSARY. - */ -static long (*bpf_csum_level)(struct __sk_buff *skb, __u64 level) = (void *) 135; - -/* - * bpf_skc_to_tcp6_sock - * - * Dynamically cast a *sk* pointer to a *tcp6_sock* pointer. - * - * Returns - * *sk* if casting is valid, or **NULL** otherwise. - */ -static struct tcp6_sock *(*bpf_skc_to_tcp6_sock)(void *sk) = (void *) 136; - -/* - * bpf_skc_to_tcp_sock - * - * Dynamically cast a *sk* pointer to a *tcp_sock* pointer. - * - * Returns - * *sk* if casting is valid, or **NULL** otherwise. - */ -static struct tcp_sock *(*bpf_skc_to_tcp_sock)(void *sk) = (void *) 137; - -/* - * bpf_skc_to_tcp_timewait_sock - * - * Dynamically cast a *sk* pointer to a *tcp_timewait_sock* pointer. - * - * Returns - * *sk* if casting is valid, or **NULL** otherwise. - */ -static struct tcp_timewait_sock *(*bpf_skc_to_tcp_timewait_sock)(void *sk) = (void *) 138; - -/* - * bpf_skc_to_tcp_request_sock - * - * Dynamically cast a *sk* pointer to a *tcp_request_sock* pointer. - * - * Returns - * *sk* if casting is valid, or **NULL** otherwise. - */ -static struct tcp_request_sock *(*bpf_skc_to_tcp_request_sock)(void *sk) = (void *) 139; - -/* - * bpf_skc_to_udp6_sock - * - * Dynamically cast a *sk* pointer to a *udp6_sock* pointer. - * - * Returns - * *sk* if casting is valid, or **NULL** otherwise. - */ -static struct udp6_sock *(*bpf_skc_to_udp6_sock)(void *sk) = (void *) 140; - -/* - * bpf_get_task_stack - * - * Return a user or a kernel stack in bpf program provided buffer. - * To achieve this, the helper needs *task*, which is a valid - * pointer to **struct task_struct**. To store the stacktrace, the - * bpf program provides *buf* with a nonnegative *size*. - * - * The last argument, *flags*, holds the number of stack frames to - * skip (from 0 to 255), masked with - * **BPF_F_SKIP_FIELD_MASK**. The next bits can be used to set - * the following flags: - * - * **BPF_F_USER_STACK** - * Collect a user space stack instead of a kernel stack. - * **BPF_F_USER_BUILD_ID** - * Collect buildid+offset instead of ips for user stack, - * only valid if **BPF_F_USER_STACK** is also specified. - * - * **bpf_get_task_stack**\ () can collect up to - * **PERF_MAX_STACK_DEPTH** both kernel and user frames, subject - * to sufficient large buffer size. Note that - * this limit can be controlled with the **sysctl** program, and - * that it should be manually increased in order to profile long - * user stacks (such as stacks for Java programs). To do so, use: - * - * :: - * - * # sysctl kernel.perf_event_max_stack= - * - * Returns - * The non-negative copied *buf* length equal to or less than - * *size* on success, or a negative error in case of failure. - */ -static long (*bpf_get_task_stack)(struct task_struct *task, void *buf, __u32 size, __u64 flags) = (void *) 141; - -/* - * bpf_load_hdr_opt - * - * Load header option. Support reading a particular TCP header - * option for bpf program (**BPF_PROG_TYPE_SOCK_OPS**). - * - * If *flags* is 0, it will search the option from the - * *skops*\ **->skb_data**. The comment in **struct bpf_sock_ops** - * has details on what skb_data contains under different - * *skops*\ **->op**. - * - * The first byte of the *searchby_res* specifies the - * kind that it wants to search. - * - * If the searching kind is an experimental kind - * (i.e. 253 or 254 according to RFC6994). It also - * needs to specify the "magic" which is either - * 2 bytes or 4 bytes. It then also needs to - * specify the size of the magic by using - * the 2nd byte which is "kind-length" of a TCP - * header option and the "kind-length" also - * includes the first 2 bytes "kind" and "kind-length" - * itself as a normal TCP header option also does. - * - * For example, to search experimental kind 254 with - * 2 byte magic 0xeB9F, the searchby_res should be - * [ 254, 4, 0xeB, 0x9F, 0, 0, .... 0 ]. - * - * To search for the standard window scale option (3), - * the *searchby_res* should be [ 3, 0, 0, .... 0 ]. - * Note, kind-length must be 0 for regular option. - * - * Searching for No-Op (0) and End-of-Option-List (1) are - * not supported. - * - * *len* must be at least 2 bytes which is the minimal size - * of a header option. - * - * Supported flags: - * - * * **BPF_LOAD_HDR_OPT_TCP_SYN** to search from the - * saved_syn packet or the just-received syn packet. - * - * - * Returns - * > 0 when found, the header option is copied to *searchby_res*. - * The return value is the total length copied. On failure, a - * negative error code is returned: - * - * **-EINVAL** if a parameter is invalid. - * - * **-ENOMSG** if the option is not found. - * - * **-ENOENT** if no syn packet is available when - * **BPF_LOAD_HDR_OPT_TCP_SYN** is used. - * - * **-ENOSPC** if there is not enough space. Only *len* number of - * bytes are copied. - * - * **-EFAULT** on failure to parse the header options in the - * packet. - * - * **-EPERM** if the helper cannot be used under the current - * *skops*\ **->op**. - */ -static long (*bpf_load_hdr_opt)(struct bpf_sock_ops *skops, void *searchby_res, __u32 len, __u64 flags) = (void *) 142; - -/* - * bpf_store_hdr_opt - * - * Store header option. The data will be copied - * from buffer *from* with length *len* to the TCP header. - * - * The buffer *from* should have the whole option that - * includes the kind, kind-length, and the actual - * option data. The *len* must be at least kind-length - * long. The kind-length does not have to be 4 byte - * aligned. The kernel will take care of the padding - * and setting the 4 bytes aligned value to th->doff. - * - * This helper will check for duplicated option - * by searching the same option in the outgoing skb. - * - * This helper can only be called during - * **BPF_SOCK_OPS_WRITE_HDR_OPT_CB**. - * - * - * Returns - * 0 on success, or negative error in case of failure: - * - * **-EINVAL** If param is invalid. - * - * **-ENOSPC** if there is not enough space in the header. - * Nothing has been written - * - * **-EEXIST** if the option already exists. - * - * **-EFAULT** on failrue to parse the existing header options. - * - * **-EPERM** if the helper cannot be used under the current - * *skops*\ **->op**. - */ -static long (*bpf_store_hdr_opt)(struct bpf_sock_ops *skops, const void *from, __u32 len, __u64 flags) = (void *) 143; - -/* - * bpf_reserve_hdr_opt - * - * Reserve *len* bytes for the bpf header option. The - * space will be used by **bpf_store_hdr_opt**\ () later in - * **BPF_SOCK_OPS_WRITE_HDR_OPT_CB**. - * - * If **bpf_reserve_hdr_opt**\ () is called multiple times, - * the total number of bytes will be reserved. - * - * This helper can only be called during - * **BPF_SOCK_OPS_HDR_OPT_LEN_CB**. - * - * - * Returns - * 0 on success, or negative error in case of failure: - * - * **-EINVAL** if a parameter is invalid. - * - * **-ENOSPC** if there is not enough space in the header. - * - * **-EPERM** if the helper cannot be used under the current - * *skops*\ **->op**. - */ -static long (*bpf_reserve_hdr_opt)(struct bpf_sock_ops *skops, __u32 len, __u64 flags) = (void *) 144; - -/* - * bpf_inode_storage_get - * - * Get a bpf_local_storage from an *inode*. - * - * Logically, it could be thought of as getting the value from - * a *map* with *inode* as the **key**. From this - * perspective, the usage is not much different from - * **bpf_map_lookup_elem**\ (*map*, **&**\ *inode*) except this - * helper enforces the key must be an inode and the map must also - * be a **BPF_MAP_TYPE_INODE_STORAGE**. - * - * Underneath, the value is stored locally at *inode* instead of - * the *map*. The *map* is used as the bpf-local-storage - * "type". The bpf-local-storage "type" (i.e. the *map*) is - * searched against all bpf_local_storage residing at *inode*. - * - * An optional *flags* (**BPF_LOCAL_STORAGE_GET_F_CREATE**) can be - * used such that a new bpf_local_storage will be - * created if one does not exist. *value* can be used - * together with **BPF_LOCAL_STORAGE_GET_F_CREATE** to specify - * the initial value of a bpf_local_storage. If *value* is - * **NULL**, the new bpf_local_storage will be zero initialized. - * - * Returns - * A bpf_local_storage pointer is returned on success. - * - * **NULL** if not found or there was an error in adding - * a new bpf_local_storage. - */ -static void *(*bpf_inode_storage_get)(void *map, void *inode, void *value, __u64 flags) = (void *) 145; - -/* - * bpf_inode_storage_delete - * - * Delete a bpf_local_storage from an *inode*. - * - * Returns - * 0 on success. - * - * **-ENOENT** if the bpf_local_storage cannot be found. - */ -static int (*bpf_inode_storage_delete)(void *map, void *inode) = (void *) 146; - -/* - * bpf_d_path - * - * Return full path for given **struct path** object, which - * needs to be the kernel BTF *path* object. The path is - * returned in the provided buffer *buf* of size *sz* and - * is zero terminated. - * - * - * Returns - * On success, the strictly positive length of the string, - * including the trailing NUL character. On error, a negative - * value. - */ -static long (*bpf_d_path)(struct path *path, char *buf, __u32 sz) = (void *) 147; - -/* - * bpf_copy_from_user - * - * Read *size* bytes from user space address *user_ptr* and store - * the data in *dst*. This is a wrapper of **copy_from_user**\ (). - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_copy_from_user)(void *dst, __u32 size, const void *user_ptr) = (void *) 148; - -/* - * bpf_snprintf_btf - * - * Use BTF to store a string representation of *ptr*->ptr in *str*, - * using *ptr*->type_id. This value should specify the type - * that *ptr*->ptr points to. LLVM __builtin_btf_type_id(type, 1) - * can be used to look up vmlinux BTF type ids. Traversing the - * data structure using BTF, the type information and values are - * stored in the first *str_size* - 1 bytes of *str*. Safe copy of - * the pointer data is carried out to avoid kernel crashes during - * operation. Smaller types can use string space on the stack; - * larger programs can use map data to store the string - * representation. - * - * The string can be subsequently shared with userspace via - * bpf_perf_event_output() or ring buffer interfaces. - * bpf_trace_printk() is to be avoided as it places too small - * a limit on string size to be useful. - * - * *flags* is a combination of - * - * **BTF_F_COMPACT** - * no formatting around type information - * **BTF_F_NONAME** - * no struct/union member names/types - * **BTF_F_PTR_RAW** - * show raw (unobfuscated) pointer values; - * equivalent to printk specifier %px. - * **BTF_F_ZERO** - * show zero-valued struct/union members; they - * are not displayed by default - * - * - * Returns - * The number of bytes that were written (or would have been - * written if output had to be truncated due to string size), - * or a negative error in cases of failure. - */ -static long (*bpf_snprintf_btf)(char *str, __u32 str_size, struct btf_ptr *ptr, __u32 btf_ptr_size, __u64 flags) = (void *) 149; - -/* - * bpf_seq_printf_btf - * - * Use BTF to write to seq_write a string representation of - * *ptr*->ptr, using *ptr*->type_id as per bpf_snprintf_btf(). - * *flags* are identical to those used for bpf_snprintf_btf. - * - * Returns - * 0 on success or a negative error in case of failure. - */ -static long (*bpf_seq_printf_btf)(struct seq_file *m, struct btf_ptr *ptr, __u32 ptr_size, __u64 flags) = (void *) 150; - -/* - * bpf_skb_cgroup_classid - * - * See **bpf_get_cgroup_classid**\ () for the main description. - * This helper differs from **bpf_get_cgroup_classid**\ () in that - * the cgroup v1 net_cls class is retrieved only from the *skb*'s - * associated socket instead of the current process. - * - * Returns - * The id is returned or 0 in case the id could not be retrieved. - */ -static __u64 (*bpf_skb_cgroup_classid)(struct __sk_buff *skb) = (void *) 151; - -/* - * bpf_redirect_neigh - * - * Redirect the packet to another net device of index *ifindex* - * and fill in L2 addresses from neighboring subsystem. This helper - * is somewhat similar to **bpf_redirect**\ (), except that it - * populates L2 addresses as well, meaning, internally, the helper - * relies on the neighbor lookup for the L2 address of the nexthop. - * - * The helper will perform a FIB lookup based on the skb's - * networking header to get the address of the next hop, unless - * this is supplied by the caller in the *params* argument. The - * *plen* argument indicates the len of *params* and should be set - * to 0 if *params* is NULL. - * - * The *flags* argument is reserved and must be 0. The helper is - * currently only supported for tc BPF program types, and enabled - * for IPv4 and IPv6 protocols. - * - * Returns - * The helper returns **TC_ACT_REDIRECT** on success or - * **TC_ACT_SHOT** on error. - */ -static long (*bpf_redirect_neigh)(__u32 ifindex, struct bpf_redir_neigh *params, int plen, __u64 flags) = (void *) 152; - -/* - * bpf_per_cpu_ptr - * - * Take a pointer to a percpu ksym, *percpu_ptr*, and return a - * pointer to the percpu kernel variable on *cpu*. A ksym is an - * extern variable decorated with '__ksym'. For ksym, there is a - * global var (either static or global) defined of the same name - * in the kernel. The ksym is percpu if the global var is percpu. - * The returned pointer points to the global percpu var on *cpu*. - * - * bpf_per_cpu_ptr() has the same semantic as per_cpu_ptr() in the - * kernel, except that bpf_per_cpu_ptr() may return NULL. This - * happens if *cpu* is larger than nr_cpu_ids. The caller of - * bpf_per_cpu_ptr() must check the returned value. - * - * Returns - * A pointer pointing to the kernel percpu variable on *cpu*, or - * NULL, if *cpu* is invalid. - */ -static void *(*bpf_per_cpu_ptr)(const void *percpu_ptr, __u32 cpu) = (void *) 153; - -/* - * bpf_this_cpu_ptr - * - * Take a pointer to a percpu ksym, *percpu_ptr*, and return a - * pointer to the percpu kernel variable on this cpu. See the - * description of 'ksym' in **bpf_per_cpu_ptr**\ (). - * - * bpf_this_cpu_ptr() has the same semantic as this_cpu_ptr() in - * the kernel. Different from **bpf_per_cpu_ptr**\ (), it would - * never return NULL. - * - * Returns - * A pointer pointing to the kernel percpu variable on this cpu. - */ -static void *(*bpf_this_cpu_ptr)(const void *percpu_ptr) = (void *) 154; - -/* - * bpf_redirect_peer - * - * Redirect the packet to another net device of index *ifindex*. - * This helper is somewhat similar to **bpf_redirect**\ (), except - * that the redirection happens to the *ifindex*' peer device and - * the netns switch takes place from ingress to ingress without - * going through the CPU's backlog queue. - * - * The *flags* argument is reserved and must be 0. The helper is - * currently only supported for tc BPF program types at the ingress - * hook and for veth device types. The peer device must reside in a - * different network namespace. - * - * Returns - * The helper returns **TC_ACT_REDIRECT** on success or - * **TC_ACT_SHOT** on error. - */ -static long (*bpf_redirect_peer)(__u32 ifindex, __u64 flags) = (void *) 155; - -/* - * bpf_task_storage_get - * - * Get a bpf_local_storage from the *task*. - * - * Logically, it could be thought of as getting the value from - * a *map* with *task* as the **key**. From this - * perspective, the usage is not much different from - * **bpf_map_lookup_elem**\ (*map*, **&**\ *task*) except this - * helper enforces the key must be an task_struct and the map must also - * be a **BPF_MAP_TYPE_TASK_STORAGE**. - * - * Underneath, the value is stored locally at *task* instead of - * the *map*. The *map* is used as the bpf-local-storage - * "type". The bpf-local-storage "type" (i.e. the *map*) is - * searched against all bpf_local_storage residing at *task*. - * - * An optional *flags* (**BPF_LOCAL_STORAGE_GET_F_CREATE**) can be - * used such that a new bpf_local_storage will be - * created if one does not exist. *value* can be used - * together with **BPF_LOCAL_STORAGE_GET_F_CREATE** to specify - * the initial value of a bpf_local_storage. If *value* is - * **NULL**, the new bpf_local_storage will be zero initialized. - * - * Returns - * A bpf_local_storage pointer is returned on success. - * - * **NULL** if not found or there was an error in adding - * a new bpf_local_storage. - */ -static void *(*bpf_task_storage_get)(void *map, struct task_struct *task, void *value, __u64 flags) = (void *) 156; - -/* - * bpf_task_storage_delete - * - * Delete a bpf_local_storage from a *task*. - * - * Returns - * 0 on success. - * - * **-ENOENT** if the bpf_local_storage cannot be found. - */ -static long (*bpf_task_storage_delete)(void *map, struct task_struct *task) = (void *) 157; - -/* - * bpf_get_current_task_btf - * - * Return a BTF pointer to the "current" task. - * This pointer can also be used in helpers that accept an - * *ARG_PTR_TO_BTF_ID* of type *task_struct*. - * - * Returns - * Pointer to the current task. - */ -static struct task_struct *(*bpf_get_current_task_btf)(void) = (void *) 158; - -/* - * bpf_bprm_opts_set - * - * Set or clear certain options on *bprm*: - * - * **BPF_F_BPRM_SECUREEXEC** Set the secureexec bit - * which sets the **AT_SECURE** auxv for glibc. The bit - * is cleared if the flag is not specified. - * - * Returns - * **-EINVAL** if invalid *flags* are passed, zero otherwise. - */ -static long (*bpf_bprm_opts_set)(struct linux_binprm *bprm, __u64 flags) = (void *) 159; - -/* - * bpf_ktime_get_coarse_ns - * - * Return a coarse-grained version of the time elapsed since - * system boot, in nanoseconds. Does not include time the system - * was suspended. - * - * See: **clock_gettime**\ (**CLOCK_MONOTONIC_COARSE**) - * - * Returns - * Current *ktime*. - */ -static __u64 (*bpf_ktime_get_coarse_ns)(void) = (void *) 160; - -/* - * bpf_ima_inode_hash - * - * Returns the stored IMA hash of the *inode* (if it's avaialable). - * If the hash is larger than *size*, then only *size* - * bytes will be copied to *dst* - * - * Returns - * The **hash_algo** is returned on success, - * **-EOPNOTSUP** if IMA is disabled or **-EINVAL** if - * invalid arguments are passed. - */ -static long (*bpf_ima_inode_hash)(struct inode *inode, void *dst, __u32 size) = (void *) 161; - -/* - * bpf_sock_from_file - * - * If the given file represents a socket, returns the associated - * socket. - * - * Returns - * A pointer to a struct socket on success or NULL if the file is - * not a socket. - */ -static struct socket *(*bpf_sock_from_file)(struct file *file) = (void *) 162; - -/* - * bpf_check_mtu - * - * Check packet size against exceeding MTU of net device (based - * on *ifindex*). This helper will likely be used in combination - * with helpers that adjust/change the packet size. - * - * The argument *len_diff* can be used for querying with a planned - * size change. This allows to check MTU prior to changing packet - * ctx. Providing an *len_diff* adjustment that is larger than the - * actual packet size (resulting in negative packet size) will in - * principle not exceed the MTU, why it is not considered a - * failure. Other BPF-helpers are needed for performing the - * planned size change, why the responsability for catch a negative - * packet size belong in those helpers. - * - * Specifying *ifindex* zero means the MTU check is performed - * against the current net device. This is practical if this isn't - * used prior to redirect. - * - * On input *mtu_len* must be a valid pointer, else verifier will - * reject BPF program. If the value *mtu_len* is initialized to - * zero then the ctx packet size is use. When value *mtu_len* is - * provided as input this specify the L3 length that the MTU check - * is done against. Remember XDP and TC length operate at L2, but - * this value is L3 as this correlate to MTU and IP-header tot_len - * values which are L3 (similar behavior as bpf_fib_lookup). - * - * The Linux kernel route table can configure MTUs on a more - * specific per route level, which is not provided by this helper. - * For route level MTU checks use the **bpf_fib_lookup**\ () - * helper. - * - * *ctx* is either **struct xdp_md** for XDP programs or - * **struct sk_buff** for tc cls_act programs. - * - * The *flags* argument can be a combination of one or more of the - * following values: - * - * **BPF_MTU_CHK_SEGS** - * This flag will only works for *ctx* **struct sk_buff**. - * If packet context contains extra packet segment buffers - * (often knows as GSO skb), then MTU check is harder to - * check at this point, because in transmit path it is - * possible for the skb packet to get re-segmented - * (depending on net device features). This could still be - * a MTU violation, so this flag enables performing MTU - * check against segments, with a different violation - * return code to tell it apart. Check cannot use len_diff. - * - * On return *mtu_len* pointer contains the MTU value of the net - * device. Remember the net device configured MTU is the L3 size, - * which is returned here and XDP and TC length operate at L2. - * Helper take this into account for you, but remember when using - * MTU value in your BPF-code. - * - * - * Returns - * * 0 on success, and populate MTU value in *mtu_len* pointer. - * - * * < 0 if any input argument is invalid (*mtu_len* not updated) - * - * MTU violations return positive values, but also populate MTU - * value in *mtu_len* pointer, as this can be needed for - * implementing PMTU handing: - * - * * **BPF_MTU_CHK_RET_FRAG_NEEDED** - * * **BPF_MTU_CHK_RET_SEGS_TOOBIG** - */ -static long (*bpf_check_mtu)(void *ctx, __u32 ifindex, __u32 *mtu_len, __s32 len_diff, __u64 flags) = (void *) 163; - -/* - * bpf_for_each_map_elem - * - * For each element in **map**, call **callback_fn** function with - * **map**, **callback_ctx** and other map-specific parameters. - * The **callback_fn** should be a static function and - * the **callback_ctx** should be a pointer to the stack. - * The **flags** is used to control certain aspects of the helper. - * Currently, the **flags** must be 0. - * - * The following are a list of supported map types and their - * respective expected callback signatures: - * - * BPF_MAP_TYPE_HASH, BPF_MAP_TYPE_PERCPU_HASH, - * BPF_MAP_TYPE_LRU_HASH, BPF_MAP_TYPE_LRU_PERCPU_HASH, - * BPF_MAP_TYPE_ARRAY, BPF_MAP_TYPE_PERCPU_ARRAY - * - * long (\*callback_fn)(struct bpf_map \*map, const void \*key, void \*value, void \*ctx); - * - * For per_cpu maps, the map_value is the value on the cpu where the - * bpf_prog is running. - * - * If **callback_fn** return 0, the helper will continue to the next - * element. If return value is 1, the helper will skip the rest of - * elements and return. Other return values are not used now. - * - * - * Returns - * The number of traversed map elements for success, **-EINVAL** for - * invalid **flags**. - */ -static long (*bpf_for_each_map_elem)(void *map, void *callback_fn, void *callback_ctx, __u64 flags) = (void *) 164; - -/* - * bpf_snprintf - * - * Outputs a string into the **str** buffer of size **str_size** - * based on a format string stored in a read-only map pointed by - * **fmt**. - * - * Each format specifier in **fmt** corresponds to one u64 element - * in the **data** array. For strings and pointers where pointees - * are accessed, only the pointer values are stored in the *data* - * array. The *data_len* is the size of *data* in bytes - must be - * a multiple of 8. - * - * Formats **%s** and **%p{i,I}{4,6}** require to read kernel - * memory. Reading kernel memory may fail due to either invalid - * address or valid address but requiring a major memory fault. If - * reading kernel memory fails, the string for **%s** will be an - * empty string, and the ip address for **%p{i,I}{4,6}** will be 0. - * Not returning error to bpf program is consistent with what - * **bpf_trace_printk**\ () does for now. - * - * - * Returns - * The strictly positive length of the formatted string, including - * the trailing zero character. If the return value is greater than - * **str_size**, **str** contains a truncated string, guaranteed to - * be zero-terminated except when **str_size** is 0. - * - * Or **-EBUSY** if the per-CPU memory copy buffer is busy. - */ -static long (*bpf_snprintf)(char *str, __u32 str_size, const char *fmt, __u64 *data, __u32 data_len) = (void *) 165; - -/* - * bpf_sys_bpf - * - * Execute bpf syscall with given arguments. - * - * Returns - * A syscall result. - */ -static long (*bpf_sys_bpf)(__u32 cmd, void *attr, __u32 attr_size) = (void *) 166; - -/* - * bpf_btf_find_by_name_kind - * - * Find BTF type with given name and kind in vmlinux BTF or in module's BTFs. - * - * Returns - * Returns btf_id and btf_obj_fd in lower and upper 32 bits. - */ -static long (*bpf_btf_find_by_name_kind)(char *name, int name_sz, __u32 kind, int flags) = (void *) 167; - -/* - * bpf_sys_close - * - * Execute close syscall for given FD. - * - * Returns - * A syscall result. - */ -static long (*bpf_sys_close)(__u32 fd) = (void *) 168; - -/* - * bpf_timer_init - * - * Initialize the timer. - * First 4 bits of *flags* specify clockid. - * Only CLOCK_MONOTONIC, CLOCK_REALTIME, CLOCK_BOOTTIME are allowed. - * All other bits of *flags* are reserved. - * The verifier will reject the program if *timer* is not from - * the same *map*. - * - * Returns - * 0 on success. - * **-EBUSY** if *timer* is already initialized. - * **-EINVAL** if invalid *flags* are passed. - * **-EPERM** if *timer* is in a map that doesn't have any user references. - * The user space should either hold a file descriptor to a map with timers - * or pin such map in bpffs. When map is unpinned or file descriptor is - * closed all timers in the map will be cancelled and freed. - */ -static long (*bpf_timer_init)(struct bpf_timer *timer, void *map, __u64 flags) = (void *) 169; - -/* - * bpf_timer_set_callback - * - * Configure the timer to call *callback_fn* static function. - * - * Returns - * 0 on success. - * **-EINVAL** if *timer* was not initialized with bpf_timer_init() earlier. - * **-EPERM** if *timer* is in a map that doesn't have any user references. - * The user space should either hold a file descriptor to a map with timers - * or pin such map in bpffs. When map is unpinned or file descriptor is - * closed all timers in the map will be cancelled and freed. - */ -static long (*bpf_timer_set_callback)(struct bpf_timer *timer, void *callback_fn) = (void *) 170; - -/* - * bpf_timer_start - * - * Set timer expiration N nanoseconds from the current time. The - * configured callback will be invoked in soft irq context on some cpu - * and will not repeat unless another bpf_timer_start() is made. - * In such case the next invocation can migrate to a different cpu. - * Since struct bpf_timer is a field inside map element the map - * owns the timer. The bpf_timer_set_callback() will increment refcnt - * of BPF program to make sure that callback_fn code stays valid. - * When user space reference to a map reaches zero all timers - * in a map are cancelled and corresponding program's refcnts are - * decremented. This is done to make sure that Ctrl-C of a user - * process doesn't leave any timers running. If map is pinned in - * bpffs the callback_fn can re-arm itself indefinitely. - * bpf_map_update/delete_elem() helpers and user space sys_bpf commands - * cancel and free the timer in the given map element. - * The map can contain timers that invoke callback_fn-s from different - * programs. The same callback_fn can serve different timers from - * different maps if key/value layout matches across maps. - * Every bpf_timer_set_callback() can have different callback_fn. - * - * - * Returns - * 0 on success. - * **-EINVAL** if *timer* was not initialized with bpf_timer_init() earlier - * or invalid *flags* are passed. - */ -static long (*bpf_timer_start)(struct bpf_timer *timer, __u64 nsecs, __u64 flags) = (void *) 171; - -/* - * bpf_timer_cancel - * - * Cancel the timer and wait for callback_fn to finish if it was running. - * - * Returns - * 0 if the timer was not active. - * 1 if the timer was active. - * **-EINVAL** if *timer* was not initialized with bpf_timer_init() earlier. - * **-EDEADLK** if callback_fn tried to call bpf_timer_cancel() on its - * own timer which would have led to a deadlock otherwise. - */ -static long (*bpf_timer_cancel)(struct bpf_timer *timer) = (void *) 172; - -/* - * bpf_get_func_ip - * - * Get address of the traced function (for tracing and kprobe programs). - * - * Returns - * Address of the traced function. - */ -static __u64 (*bpf_get_func_ip)(void *ctx) = (void *) 173; - -/* - * bpf_get_attach_cookie - * - * Get bpf_cookie value provided (optionally) during the program - * attachment. It might be different for each individual - * attachment, even if BPF program itself is the same. - * Expects BPF program context *ctx* as a first argument. - * - * Supported for the following program types: - * - kprobe/uprobe; - * - tracepoint; - * - perf_event. - * - * Returns - * Value specified by user at BPF link creation/attachment time - * or 0, if it was not specified. - */ -static __u64 (*bpf_get_attach_cookie)(void *ctx) = (void *) 174; - -/* - * bpf_task_pt_regs - * - * Get the struct pt_regs associated with **task**. - * - * Returns - * A pointer to struct pt_regs. - */ -static long (*bpf_task_pt_regs)(struct task_struct *task) = (void *) 175; - -/* - * bpf_get_branch_snapshot - * - * Get branch trace from hardware engines like Intel LBR. The - * hardware engine is stopped shortly after the helper is - * called. Therefore, the user need to filter branch entries - * based on the actual use case. To capture branch trace - * before the trigger point of the BPF program, the helper - * should be called at the beginning of the BPF program. - * - * The data is stored as struct perf_branch_entry into output - * buffer *entries*. *size* is the size of *entries* in bytes. - * *flags* is reserved for now and must be zero. - * - * - * Returns - * On success, number of bytes written to *buf*. On error, a - * negative value. - * - * **-EINVAL** if *flags* is not zero. - * - * **-ENOENT** if architecture does not support branch records. - */ -static long (*bpf_get_branch_snapshot)(void *entries, __u32 size, __u64 flags) = (void *) 176; - -/* - * bpf_trace_vprintk - * - * Behaves like **bpf_trace_printk**\ () helper, but takes an array of u64 - * to format and can handle more format args as a result. - * - * Arguments are to be used as in **bpf_seq_printf**\ () helper. - * - * Returns - * The number of bytes written to the buffer, or a negative error - * in case of failure. - */ -static long (*bpf_trace_vprintk)(const char *fmt, __u32 fmt_size, const void *data, __u32 data_len) = (void *) 177; - -/* - * bpf_skc_to_unix_sock - * - * Dynamically cast a *sk* pointer to a *unix_sock* pointer. - * - * Returns - * *sk* if casting is valid, or **NULL** otherwise. - */ -static struct unix_sock *(*bpf_skc_to_unix_sock)(void *sk) = (void *) 178; - -/* - * bpf_kallsyms_lookup_name - * - * Get the address of a kernel symbol, returned in *res*. *res* is - * set to 0 if the symbol is not found. - * - * Returns - * On success, zero. On error, a negative value. - * - * **-EINVAL** if *flags* is not zero. - * - * **-EINVAL** if string *name* is not the same size as *name_sz*. - * - * **-ENOENT** if symbol is not found. - * - * **-EPERM** if caller does not have permission to obtain kernel address. - */ -static long (*bpf_kallsyms_lookup_name)(const char *name, int name_sz, int flags, __u64 *res) = (void *) 179; - -/* - * bpf_find_vma - * - * Find vma of *task* that contains *addr*, call *callback_fn* - * function with *task*, *vma*, and *callback_ctx*. - * The *callback_fn* should be a static function and - * the *callback_ctx* should be a pointer to the stack. - * The *flags* is used to control certain aspects of the helper. - * Currently, the *flags* must be 0. - * - * The expected callback signature is - * - * long (\*callback_fn)(struct task_struct \*task, struct vm_area_struct \*vma, void \*callback_ctx); - * - * - * Returns - * 0 on success. - * **-ENOENT** if *task->mm* is NULL, or no vma contains *addr*. - * **-EBUSY** if failed to try lock mmap_lock. - * **-EINVAL** for invalid **flags**. - */ -static long (*bpf_find_vma)(struct task_struct *task, __u64 addr, void *callback_fn, void *callback_ctx, __u64 flags) = (void *) 180; - -/* - * bpf_loop - * - * For **nr_loops**, call **callback_fn** function - * with **callback_ctx** as the context parameter. - * The **callback_fn** should be a static function and - * the **callback_ctx** should be a pointer to the stack. - * The **flags** is used to control certain aspects of the helper. - * Currently, the **flags** must be 0. Currently, nr_loops is - * limited to 1 << 23 (~8 million) loops. - * - * long (\*callback_fn)(u32 index, void \*ctx); - * - * where **index** is the current index in the loop. The index - * is zero-indexed. - * - * If **callback_fn** returns 0, the helper will continue to the next - * loop. If return value is 1, the helper will skip the rest of - * the loops and return. Other return values are not used now, - * and will be rejected by the verifier. - * - * - * Returns - * The number of loops performed, **-EINVAL** for invalid **flags**, - * **-E2BIG** if **nr_loops** exceeds the maximum number of loops. - */ -static long (*bpf_loop)(__u32 nr_loops, void *callback_fn, void *callback_ctx, __u64 flags) = (void *) 181; - -/* - * bpf_strncmp - * - * Do strncmp() between **s1** and **s2**. **s1** doesn't need - * to be null-terminated and **s1_sz** is the maximum storage - * size of **s1**. **s2** must be a read-only string. - * - * Returns - * An integer less than, equal to, or greater than zero - * if the first **s1_sz** bytes of **s1** is found to be - * less than, to match, or be greater than **s2**. - */ -static long (*bpf_strncmp)(const char *s1, __u32 s1_sz, const char *s2) = (void *) 182; - -/* - * bpf_get_func_arg - * - * Get **n**-th argument (zero based) of the traced function (for tracing programs) - * returned in **value**. - * - * - * Returns - * 0 on success. - * **-EINVAL** if n >= arguments count of traced function. - */ -static long (*bpf_get_func_arg)(void *ctx, __u32 n, __u64 *value) = (void *) 183; - -/* - * bpf_get_func_ret - * - * Get return value of the traced function (for tracing programs) - * in **value**. - * - * - * Returns - * 0 on success. - * **-EOPNOTSUPP** for tracing programs other than BPF_TRACE_FEXIT or BPF_MODIFY_RETURN. - */ -static long (*bpf_get_func_ret)(void *ctx, __u64 *value) = (void *) 184; - -/* - * bpf_get_func_arg_cnt - * - * Get number of arguments of the traced function (for tracing programs). - * - * - * Returns - * The number of arguments of the traced function. - */ -static long (*bpf_get_func_arg_cnt)(void *ctx) = (void *) 185; - -/* - * bpf_get_retval - * - * Get the syscall's return value that will be returned to userspace. - * - * This helper is currently supported by cgroup programs only. - * - * Returns - * The syscall's return value. - */ -static int (*bpf_get_retval)(void) = (void *) 186; - -/* - * bpf_set_retval - * - * Set the syscall's return value that will be returned to userspace. - * - * This helper is currently supported by cgroup programs only. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static int (*bpf_set_retval)(int retval) = (void *) 187; - -/* - * bpf_xdp_get_buff_len - * - * Get the total size of a given xdp buff (linear and paged area) - * - * Returns - * The total size of a given xdp buffer. - */ -static __u64 (*bpf_xdp_get_buff_len)(struct xdp_md *xdp_md) = (void *) 188; - -/* - * bpf_xdp_load_bytes - * - * This helper is provided as an easy way to load data from a - * xdp buffer. It can be used to load *len* bytes from *offset* from - * the frame associated to *xdp_md*, into the buffer pointed by - * *buf*. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_xdp_load_bytes)(struct xdp_md *xdp_md, __u32 offset, void *buf, __u32 len) = (void *) 189; - -/* - * bpf_xdp_store_bytes - * - * Store *len* bytes from buffer *buf* into the frame - * associated to *xdp_md*, at *offset*. - * - * Returns - * 0 on success, or a negative error in case of failure. - */ -static long (*bpf_xdp_store_bytes)(struct xdp_md *xdp_md, __u32 offset, void *buf, __u32 len) = (void *) 190; - -/* - * bpf_copy_from_user_task - * - * Read *size* bytes from user space address *user_ptr* in *tsk*'s - * address space, and stores the data in *dst*. *flags* is not - * used yet and is provided for future extensibility. This helper - * can only be used by sleepable programs. - * - * Returns - * 0 on success, or a negative error in case of failure. On error - * *dst* buffer is zeroed out. - */ -static long (*bpf_copy_from_user_task)(void *dst, __u32 size, const void *user_ptr, struct task_struct *tsk, __u64 flags) = (void *) 191; - -/* - * bpf_skb_set_tstamp - * - * Change the __sk_buff->tstamp_type to *tstamp_type* - * and set *tstamp* to the __sk_buff->tstamp together. - * - * If there is no need to change the __sk_buff->tstamp_type, - * the tstamp value can be directly written to __sk_buff->tstamp - * instead. - * - * BPF_SKB_TSTAMP_DELIVERY_MONO is the only tstamp that - * will be kept during bpf_redirect_*(). A non zero - * *tstamp* must be used with the BPF_SKB_TSTAMP_DELIVERY_MONO - * *tstamp_type*. - * - * A BPF_SKB_TSTAMP_UNSPEC *tstamp_type* can only be used - * with a zero *tstamp*. - * - * Only IPv4 and IPv6 skb->protocol are supported. - * - * This function is most useful when it needs to set a - * mono delivery time to __sk_buff->tstamp and then - * bpf_redirect_*() to the egress of an iface. For example, - * changing the (rcv) timestamp in __sk_buff->tstamp at - * ingress to a mono delivery time and then bpf_redirect_*() - * to sch_fq@phy-dev. - * - * Returns - * 0 on success. - * **-EINVAL** for invalid input - * **-EOPNOTSUPP** for unsupported protocol - */ -static long (*bpf_skb_set_tstamp)(struct __sk_buff *skb, __u64 tstamp, __u32 tstamp_type) = (void *) 192; - -/* - * bpf_ima_file_hash - * - * Returns a calculated IMA hash of the *file*. - * If the hash is larger than *size*, then only *size* - * bytes will be copied to *dst* - * - * Returns - * The **hash_algo** is returned on success, - * **-EOPNOTSUP** if the hash calculation failed or **-EINVAL** if - * invalid arguments are passed. - */ -static long (*bpf_ima_file_hash)(struct file *file, void *dst, __u32 size) = (void *) 193; - -/* - * bpf_kptr_xchg - * - * Exchange kptr at pointer *map_value* with *ptr*, and return the - * old value. *ptr* can be NULL, otherwise it must be a referenced - * pointer which will be released when this helper is called. - * - * Returns - * The old value of kptr (which can be NULL). The returned pointer - * if not NULL, is a reference which must be released using its - * corresponding release function, or moved into a BPF map before - * program exit. - */ -static void *(*bpf_kptr_xchg)(void *map_value, void *ptr) = (void *) 194; - -/* - * bpf_map_lookup_percpu_elem - * - * Perform a lookup in *percpu map* for an entry associated to - * *key* on *cpu*. - * - * Returns - * Map value associated to *key* on *cpu*, or **NULL** if no entry - * was found or *cpu* is invalid. - */ -static void *(*bpf_map_lookup_percpu_elem)(void *map, const void *key, __u32 cpu) = (void *) 195; - - diff --git a/lcc/golcc/include/bpf/bpf_helpers.h b/lcc/golcc/include/bpf/bpf_helpers.h deleted file mode 100644 index fb04eaf..0000000 --- a/lcc/golcc/include/bpf/bpf_helpers.h +++ /dev/null @@ -1,288 +0,0 @@ -/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */ -#ifndef __BPF_HELPERS__ -#define __BPF_HELPERS__ - -/* - * Note that bpf programs need to include either - * vmlinux.h (auto-generated from BTF) or linux/types.h - * in advance since bpf_helper_defs.h uses such types - * as __u64. - */ -#include "bpf_helper_defs.h" - -#define __uint(name, val) int (*name)[val] -#define __type(name, val) typeof(val) *name -#define __array(name, val) typeof(val) *name[] - -/* - * Helper macro to place programs, maps, license in - * different sections in elf_bpf file. Section names - * are interpreted by libbpf depending on the context (BPF programs, BPF maps, - * extern variables, etc). - * To allow use of SEC() with externs (e.g., for extern .maps declarations), - * make sure __attribute__((unused)) doesn't trigger compilation warning. - */ -#define SEC(name) \ - _Pragma("GCC diagnostic push") \ - _Pragma("GCC diagnostic ignored \"-Wignored-attributes\"") \ - __attribute__((section(name), used)) \ - _Pragma("GCC diagnostic pop") \ - -/* Avoid 'linux/stddef.h' definition of '__always_inline'. */ -#undef __always_inline -#define __always_inline inline __attribute__((always_inline)) - -#ifndef __noinline -#define __noinline __attribute__((noinline)) -#endif -#ifndef __weak -#define __weak __attribute__((weak)) -#endif - -/* - * Use __hidden attribute to mark a non-static BPF subprogram effectively - * static for BPF verifier's verification algorithm purposes, allowing more - * extensive and permissive BPF verification process, taking into account - * subprogram's caller context. - */ -#define __hidden __attribute__((visibility("hidden"))) - -/* When utilizing vmlinux.h with BPF CO-RE, user BPF programs can't include - * any system-level headers (such as stddef.h, linux/version.h, etc), and - * commonly-used macros like NULL and KERNEL_VERSION aren't available through - * vmlinux.h. This just adds unnecessary hurdles and forces users to re-define - * them on their own. So as a convenience, provide such definitions here. - */ -#ifndef NULL -#define NULL ((void *)0) -#endif - -#ifndef KERNEL_VERSION -#define KERNEL_VERSION(a, b, c) (((a) << 16) + ((b) << 8) + ((c) > 255 ? 255 : (c))) -#endif - -/* - * Helper macros to manipulate data structures - */ -#ifndef offsetof -#define offsetof(TYPE, MEMBER) ((unsigned long)&((TYPE *)0)->MEMBER) -#endif -#ifndef container_of -#define container_of(ptr, type, member) \ - ({ \ - void *__mptr = (void *)(ptr); \ - ((type *)(__mptr - offsetof(type, member))); \ - }) -#endif - -/* - * Compiler (optimization) barrier. - */ -#ifndef barrier -#define barrier() asm volatile("" ::: "memory") -#endif - -/* Variable-specific compiler (optimization) barrier. It's a no-op which makes - * compiler believe that there is some black box modification of a given - * variable and thus prevents compiler from making extra assumption about its - * value and potential simplifications and optimizations on this variable. - * - * E.g., compiler might often delay or even omit 32-bit to 64-bit casting of - * a variable, making some code patterns unverifiable. Putting barrier_var() - * in place will ensure that cast is performed before the barrier_var() - * invocation, because compiler has to pessimistically assume that embedded - * asm section might perform some extra operations on that variable. - * - * This is a variable-specific variant of more global barrier(). - */ -#ifndef barrier_var -#define barrier_var(var) asm volatile("" : "=r"(var) : "0"(var)) -#endif - -/* - * Helper macro to throw a compilation error if __bpf_unreachable() gets - * built into the resulting code. This works given BPF back end does not - * implement __builtin_trap(). This is useful to assert that certain paths - * of the program code are never used and hence eliminated by the compiler. - * - * For example, consider a switch statement that covers known cases used by - * the program. __bpf_unreachable() can then reside in the default case. If - * the program gets extended such that a case is not covered in the switch - * statement, then it will throw a build error due to the default case not - * being compiled out. - */ -#ifndef __bpf_unreachable -# define __bpf_unreachable() __builtin_trap() -#endif - -/* - * Helper function to perform a tail call with a constant/immediate map slot. - */ -#if __clang_major__ >= 8 && defined(__bpf__) -static __always_inline void -bpf_tail_call_static(void *ctx, const void *map, const __u32 slot) -{ - if (!__builtin_constant_p(slot)) - __bpf_unreachable(); - - /* - * Provide a hard guarantee that LLVM won't optimize setting r2 (map - * pointer) and r3 (constant map index) from _different paths_ ending - * up at the _same_ call insn as otherwise we won't be able to use the - * jmpq/nopl retpoline-free patching by the x86-64 JIT in the kernel - * given they mismatch. See also d2e4c1e6c294 ("bpf: Constant map key - * tracking for prog array pokes") for details on verifier tracking. - * - * Note on clobber list: we need to stay in-line with BPF calling - * convention, so even if we don't end up using r0, r4, r5, we need - * to mark them as clobber so that LLVM doesn't end up using them - * before / after the call. - */ - asm volatile("r1 = %[ctx]\n\t" - "r2 = %[map]\n\t" - "r3 = %[slot]\n\t" - "call 12" - :: [ctx]"r"(ctx), [map]"r"(map), [slot]"i"(slot) - : "r0", "r1", "r2", "r3", "r4", "r5"); -} -#endif - -/* - * Helper structure used by eBPF C program - * to describe BPF map attributes to libbpf loader - */ -struct bpf_map_def { - unsigned int type; - unsigned int key_size; - unsigned int value_size; - unsigned int max_entries; - unsigned int map_flags; -} __attribute__((deprecated("use BTF-defined maps in .maps section"))); - -enum libbpf_pin_type { - LIBBPF_PIN_NONE, - /* PIN_BY_NAME: pin maps by name (in /sys/fs/bpf by default) */ - LIBBPF_PIN_BY_NAME, -}; - -enum libbpf_tristate { - TRI_NO = 0, - TRI_YES = 1, - TRI_MODULE = 2, -}; - -#define __kconfig __attribute__((section(".kconfig"))) -#define __ksym __attribute__((section(".ksyms"))) -#define __kptr __attribute__((btf_type_tag("kptr"))) -#define __kptr_ref __attribute__((btf_type_tag("kptr_ref"))) - -#ifndef ___bpf_concat -#define ___bpf_concat(a, b) a ## b -#endif -#ifndef ___bpf_apply -#define ___bpf_apply(fn, n) ___bpf_concat(fn, n) -#endif -#ifndef ___bpf_nth -#define ___bpf_nth(_, _1, _2, _3, _4, _5, _6, _7, _8, _9, _a, _b, _c, N, ...) N -#endif -#ifndef ___bpf_narg -#define ___bpf_narg(...) \ - ___bpf_nth(_, ##__VA_ARGS__, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0) -#endif - -#define ___bpf_fill0(arr, p, x) do {} while (0) -#define ___bpf_fill1(arr, p, x) arr[p] = x -#define ___bpf_fill2(arr, p, x, args...) arr[p] = x; ___bpf_fill1(arr, p + 1, args) -#define ___bpf_fill3(arr, p, x, args...) arr[p] = x; ___bpf_fill2(arr, p + 1, args) -#define ___bpf_fill4(arr, p, x, args...) arr[p] = x; ___bpf_fill3(arr, p + 1, args) -#define ___bpf_fill5(arr, p, x, args...) arr[p] = x; ___bpf_fill4(arr, p + 1, args) -#define ___bpf_fill6(arr, p, x, args...) arr[p] = x; ___bpf_fill5(arr, p + 1, args) -#define ___bpf_fill7(arr, p, x, args...) arr[p] = x; ___bpf_fill6(arr, p + 1, args) -#define ___bpf_fill8(arr, p, x, args...) arr[p] = x; ___bpf_fill7(arr, p + 1, args) -#define ___bpf_fill9(arr, p, x, args...) arr[p] = x; ___bpf_fill8(arr, p + 1, args) -#define ___bpf_fill10(arr, p, x, args...) arr[p] = x; ___bpf_fill9(arr, p + 1, args) -#define ___bpf_fill11(arr, p, x, args...) arr[p] = x; ___bpf_fill10(arr, p + 1, args) -#define ___bpf_fill12(arr, p, x, args...) arr[p] = x; ___bpf_fill11(arr, p + 1, args) -#define ___bpf_fill(arr, args...) \ - ___bpf_apply(___bpf_fill, ___bpf_narg(args))(arr, 0, args) - -/* - * BPF_SEQ_PRINTF to wrap bpf_seq_printf to-be-printed values - * in a structure. - */ -#define BPF_SEQ_PRINTF(seq, fmt, args...) \ -({ \ - static const char ___fmt[] = fmt; \ - unsigned long long ___param[___bpf_narg(args)]; \ - \ - _Pragma("GCC diagnostic push") \ - _Pragma("GCC diagnostic ignored \"-Wint-conversion\"") \ - ___bpf_fill(___param, args); \ - _Pragma("GCC diagnostic pop") \ - \ - bpf_seq_printf(seq, ___fmt, sizeof(___fmt), \ - ___param, sizeof(___param)); \ -}) - -/* - * BPF_SNPRINTF wraps the bpf_snprintf helper with variadic arguments instead of - * an array of u64. - */ -#define BPF_SNPRINTF(out, out_size, fmt, args...) \ -({ \ - static const char ___fmt[] = fmt; \ - unsigned long long ___param[___bpf_narg(args)]; \ - \ - _Pragma("GCC diagnostic push") \ - _Pragma("GCC diagnostic ignored \"-Wint-conversion\"") \ - ___bpf_fill(___param, args); \ - _Pragma("GCC diagnostic pop") \ - \ - bpf_snprintf(out, out_size, ___fmt, \ - ___param, sizeof(___param)); \ -}) - -#ifdef BPF_NO_GLOBAL_DATA -#define BPF_PRINTK_FMT_MOD -#else -#define BPF_PRINTK_FMT_MOD static const -#endif - -#define __bpf_printk(fmt, ...) \ -({ \ - BPF_PRINTK_FMT_MOD char ____fmt[] = fmt; \ - bpf_trace_printk(____fmt, sizeof(____fmt), \ - ##__VA_ARGS__); \ -}) - -/* - * __bpf_vprintk wraps the bpf_trace_vprintk helper with variadic arguments - * instead of an array of u64. - */ -#define __bpf_vprintk(fmt, args...) \ -({ \ - static const char ___fmt[] = fmt; \ - unsigned long long ___param[___bpf_narg(args)]; \ - \ - _Pragma("GCC diagnostic push") \ - _Pragma("GCC diagnostic ignored \"-Wint-conversion\"") \ - ___bpf_fill(___param, args); \ - _Pragma("GCC diagnostic pop") \ - \ - bpf_trace_vprintk(___fmt, sizeof(___fmt), \ - ___param, sizeof(___param)); \ -}) - -/* Use __bpf_printk when bpf_printk call has 3 or fewer fmt args - * Otherwise use __bpf_vprintk - */ -#define ___bpf_pick_printk(...) \ - ___bpf_nth(_, ##__VA_ARGS__, __bpf_vprintk, __bpf_vprintk, __bpf_vprintk, \ - __bpf_vprintk, __bpf_vprintk, __bpf_vprintk, __bpf_vprintk, \ - __bpf_vprintk, __bpf_vprintk, __bpf_printk /*3*/, __bpf_printk /*2*/,\ - __bpf_printk /*1*/, __bpf_printk /*0*/) - -/* Helper macro to print out debug messages */ -#define bpf_printk(fmt, args...) ___bpf_pick_printk(args)(fmt, ##args) - -#endif diff --git a/lcc/golcc/include/bpf/bpf_tracing.h b/lcc/golcc/include/bpf/bpf_tracing.h deleted file mode 100644 index 01ce121..0000000 --- a/lcc/golcc/include/bpf/bpf_tracing.h +++ /dev/null @@ -1,531 +0,0 @@ -/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */ -#ifndef __BPF_TRACING_H__ -#define __BPF_TRACING_H__ - -/* Scan the ARCH passed in from ARCH env variable (see Makefile) */ -#if defined(__TARGET_ARCH_x86) - #define bpf_target_x86 - #define bpf_target_defined -#elif defined(__TARGET_ARCH_s390) - #define bpf_target_s390 - #define bpf_target_defined -#elif defined(__TARGET_ARCH_arm) - #define bpf_target_arm - #define bpf_target_defined -#elif defined(__TARGET_ARCH_arm64) - #define bpf_target_arm64 - #define bpf_target_defined -#elif defined(__TARGET_ARCH_mips) - #define bpf_target_mips - #define bpf_target_defined -#elif defined(__TARGET_ARCH_powerpc) - #define bpf_target_powerpc - #define bpf_target_defined -#elif defined(__TARGET_ARCH_sparc) - #define bpf_target_sparc - #define bpf_target_defined -#elif defined(__TARGET_ARCH_riscv) - #define bpf_target_riscv - #define bpf_target_defined -#elif defined(__TARGET_ARCH_arc) - #define bpf_target_arc - #define bpf_target_defined -#else - -/* Fall back to what the compiler says */ -#if defined(__x86_64__) - #define bpf_target_x86 - #define bpf_target_defined -#elif defined(__s390__) - #define bpf_target_s390 - #define bpf_target_defined -#elif defined(__arm__) - #define bpf_target_arm - #define bpf_target_defined -#elif defined(__aarch64__) - #define bpf_target_arm64 - #define bpf_target_defined -#elif defined(__mips__) - #define bpf_target_mips - #define bpf_target_defined -#elif defined(__powerpc__) - #define bpf_target_powerpc - #define bpf_target_defined -#elif defined(__sparc__) - #define bpf_target_sparc - #define bpf_target_defined -#elif defined(__riscv) && __riscv_xlen == 64 - #define bpf_target_riscv - #define bpf_target_defined -#elif defined(__arc__) - #define bpf_target_arc - #define bpf_target_defined -#endif /* no compiler target */ - -#endif - -#ifndef __BPF_TARGET_MISSING -#define __BPF_TARGET_MISSING "GCC error \"Must specify a BPF target arch via __TARGET_ARCH_xxx\"" -#endif - -#if defined(bpf_target_x86) - -#if defined(__KERNEL__) || defined(__VMLINUX_H__) - -#define __PT_PARM1_REG di -#define __PT_PARM2_REG si -#define __PT_PARM3_REG dx -#define __PT_PARM4_REG cx -#define __PT_PARM5_REG r8 -#define __PT_RET_REG sp -#define __PT_FP_REG bp -#define __PT_RC_REG ax -#define __PT_SP_REG sp -#define __PT_IP_REG ip -/* syscall uses r10 for PARM4 */ -#define PT_REGS_PARM4_SYSCALL(x) ((x)->r10) -#define PT_REGS_PARM4_CORE_SYSCALL(x) BPF_CORE_READ(x, r10) - -#else - -#ifdef __i386__ - -#define __PT_PARM1_REG eax -#define __PT_PARM2_REG edx -#define __PT_PARM3_REG ecx -/* i386 kernel is built with -mregparm=3 */ -#define __PT_PARM4_REG __unsupported__ -#define __PT_PARM5_REG __unsupported__ -#define __PT_RET_REG esp -#define __PT_FP_REG ebp -#define __PT_RC_REG eax -#define __PT_SP_REG esp -#define __PT_IP_REG eip - -#else /* __i386__ */ - -#define __PT_PARM1_REG rdi -#define __PT_PARM2_REG rsi -#define __PT_PARM3_REG rdx -#define __PT_PARM4_REG rcx -#define __PT_PARM5_REG r8 -#define __PT_RET_REG rsp -#define __PT_FP_REG rbp -#define __PT_RC_REG rax -#define __PT_SP_REG rsp -#define __PT_IP_REG rip -/* syscall uses r10 for PARM4 */ -#define PT_REGS_PARM4_SYSCALL(x) ((x)->r10) -#define PT_REGS_PARM4_CORE_SYSCALL(x) BPF_CORE_READ(x, r10) - -#endif /* __i386__ */ - -#endif /* __KERNEL__ || __VMLINUX_H__ */ - -#elif defined(bpf_target_s390) - -struct pt_regs___s390 { - unsigned long orig_gpr2; -}; - -/* s390 provides user_pt_regs instead of struct pt_regs to userspace */ -#define __PT_REGS_CAST(x) ((const user_pt_regs *)(x)) -#define __PT_PARM1_REG gprs[2] -#define __PT_PARM2_REG gprs[3] -#define __PT_PARM3_REG gprs[4] -#define __PT_PARM4_REG gprs[5] -#define __PT_PARM5_REG gprs[6] -#define __PT_RET_REG grps[14] -#define __PT_FP_REG gprs[11] /* Works only with CONFIG_FRAME_POINTER */ -#define __PT_RC_REG gprs[2] -#define __PT_SP_REG gprs[15] -#define __PT_IP_REG psw.addr -#define PT_REGS_PARM1_SYSCALL(x) ({ _Pragma("GCC error \"use PT_REGS_PARM1_CORE_SYSCALL() instead\""); 0l; }) -#define PT_REGS_PARM1_CORE_SYSCALL(x) BPF_CORE_READ((const struct pt_regs___s390 *)(x), orig_gpr2) - -#elif defined(bpf_target_arm) - -#define __PT_PARM1_REG uregs[0] -#define __PT_PARM2_REG uregs[1] -#define __PT_PARM3_REG uregs[2] -#define __PT_PARM4_REG uregs[3] -#define __PT_PARM5_REG uregs[4] -#define __PT_RET_REG uregs[14] -#define __PT_FP_REG uregs[11] /* Works only with CONFIG_FRAME_POINTER */ -#define __PT_RC_REG uregs[0] -#define __PT_SP_REG uregs[13] -#define __PT_IP_REG uregs[12] - -#elif defined(bpf_target_arm64) - -struct pt_regs___arm64 { - unsigned long orig_x0; -}; - -/* arm64 provides struct user_pt_regs instead of struct pt_regs to userspace */ -#define __PT_REGS_CAST(x) ((const struct user_pt_regs *)(x)) -#define __PT_PARM1_REG regs[0] -#define __PT_PARM2_REG regs[1] -#define __PT_PARM3_REG regs[2] -#define __PT_PARM4_REG regs[3] -#define __PT_PARM5_REG regs[4] -#define __PT_RET_REG regs[30] -#define __PT_FP_REG regs[29] /* Works only with CONFIG_FRAME_POINTER */ -#define __PT_RC_REG regs[0] -#define __PT_SP_REG sp -#define __PT_IP_REG pc -#define PT_REGS_PARM1_SYSCALL(x) ({ _Pragma("GCC error \"use PT_REGS_PARM1_CORE_SYSCALL() instead\""); 0l; }) -#define PT_REGS_PARM1_CORE_SYSCALL(x) BPF_CORE_READ((const struct pt_regs___arm64 *)(x), orig_x0) - -#elif defined(bpf_target_mips) - -#define __PT_PARM1_REG regs[4] -#define __PT_PARM2_REG regs[5] -#define __PT_PARM3_REG regs[6] -#define __PT_PARM4_REG regs[7] -#define __PT_PARM5_REG regs[8] -#define __PT_RET_REG regs[31] -#define __PT_FP_REG regs[30] /* Works only with CONFIG_FRAME_POINTER */ -#define __PT_RC_REG regs[2] -#define __PT_SP_REG regs[29] -#define __PT_IP_REG cp0_epc - -#elif defined(bpf_target_powerpc) - -#define __PT_PARM1_REG gpr[3] -#define __PT_PARM2_REG gpr[4] -#define __PT_PARM3_REG gpr[5] -#define __PT_PARM4_REG gpr[6] -#define __PT_PARM5_REG gpr[7] -#define __PT_RET_REG regs[31] -#define __PT_FP_REG __unsupported__ -#define __PT_RC_REG gpr[3] -#define __PT_SP_REG sp -#define __PT_IP_REG nip -/* powerpc does not select ARCH_HAS_SYSCALL_WRAPPER. */ -#define PT_REGS_SYSCALL_REGS(ctx) ctx - -#elif defined(bpf_target_sparc) - -#define __PT_PARM1_REG u_regs[UREG_I0] -#define __PT_PARM2_REG u_regs[UREG_I1] -#define __PT_PARM3_REG u_regs[UREG_I2] -#define __PT_PARM4_REG u_regs[UREG_I3] -#define __PT_PARM5_REG u_regs[UREG_I4] -#define __PT_RET_REG u_regs[UREG_I7] -#define __PT_FP_REG __unsupported__ -#define __PT_RC_REG u_regs[UREG_I0] -#define __PT_SP_REG u_regs[UREG_FP] -/* Should this also be a bpf_target check for the sparc case? */ -#if defined(__arch64__) -#define __PT_IP_REG tpc -#else -#define __PT_IP_REG pc -#endif - -#elif defined(bpf_target_riscv) - -#define __PT_REGS_CAST(x) ((const struct user_regs_struct *)(x)) -#define __PT_PARM1_REG a0 -#define __PT_PARM2_REG a1 -#define __PT_PARM3_REG a2 -#define __PT_PARM4_REG a3 -#define __PT_PARM5_REG a4 -#define __PT_RET_REG ra -#define __PT_FP_REG s0 -#define __PT_RC_REG a5 -#define __PT_SP_REG sp -#define __PT_IP_REG pc -/* riscv does not select ARCH_HAS_SYSCALL_WRAPPER. */ -#define PT_REGS_SYSCALL_REGS(ctx) ctx - -#elif defined(bpf_target_arc) - -/* arc provides struct user_pt_regs instead of struct pt_regs to userspace */ -#define __PT_REGS_CAST(x) ((const struct user_regs_struct *)(x)) -#define __PT_PARM1_REG scratch.r0 -#define __PT_PARM2_REG scratch.r1 -#define __PT_PARM3_REG scratch.r2 -#define __PT_PARM4_REG scratch.r3 -#define __PT_PARM5_REG scratch.r4 -#define __PT_RET_REG scratch.blink -#define __PT_FP_REG __unsupported__ -#define __PT_RC_REG scratch.r0 -#define __PT_SP_REG scratch.sp -#define __PT_IP_REG scratch.ret -/* arc does not select ARCH_HAS_SYSCALL_WRAPPER. */ -#define PT_REGS_SYSCALL_REGS(ctx) ctx - -#endif - -#if defined(bpf_target_defined) - -struct pt_regs; - -/* allow some architecutres to override `struct pt_regs` */ -#ifndef __PT_REGS_CAST -#define __PT_REGS_CAST(x) (x) -#endif - -#define PT_REGS_PARM1(x) (__PT_REGS_CAST(x)->__PT_PARM1_REG) -#define PT_REGS_PARM2(x) (__PT_REGS_CAST(x)->__PT_PARM2_REG) -#define PT_REGS_PARM3(x) (__PT_REGS_CAST(x)->__PT_PARM3_REG) -#define PT_REGS_PARM4(x) (__PT_REGS_CAST(x)->__PT_PARM4_REG) -#define PT_REGS_PARM5(x) (__PT_REGS_CAST(x)->__PT_PARM5_REG) -#define PT_REGS_RET(x) (__PT_REGS_CAST(x)->__PT_RET_REG) -#define PT_REGS_FP(x) (__PT_REGS_CAST(x)->__PT_FP_REG) -#define PT_REGS_RC(x) (__PT_REGS_CAST(x)->__PT_RC_REG) -#define PT_REGS_SP(x) (__PT_REGS_CAST(x)->__PT_SP_REG) -#define PT_REGS_IP(x) (__PT_REGS_CAST(x)->__PT_IP_REG) - -#define PT_REGS_PARM1_CORE(x) BPF_CORE_READ(__PT_REGS_CAST(x), __PT_PARM1_REG) -#define PT_REGS_PARM2_CORE(x) BPF_CORE_READ(__PT_REGS_CAST(x), __PT_PARM2_REG) -#define PT_REGS_PARM3_CORE(x) BPF_CORE_READ(__PT_REGS_CAST(x), __PT_PARM3_REG) -#define PT_REGS_PARM4_CORE(x) BPF_CORE_READ(__PT_REGS_CAST(x), __PT_PARM4_REG) -#define PT_REGS_PARM5_CORE(x) BPF_CORE_READ(__PT_REGS_CAST(x), __PT_PARM5_REG) -#define PT_REGS_RET_CORE(x) BPF_CORE_READ(__PT_REGS_CAST(x), __PT_RET_REG) -#define PT_REGS_FP_CORE(x) BPF_CORE_READ(__PT_REGS_CAST(x), __PT_FP_REG) -#define PT_REGS_RC_CORE(x) BPF_CORE_READ(__PT_REGS_CAST(x), __PT_RC_REG) -#define PT_REGS_SP_CORE(x) BPF_CORE_READ(__PT_REGS_CAST(x), __PT_SP_REG) -#define PT_REGS_IP_CORE(x) BPF_CORE_READ(__PT_REGS_CAST(x), __PT_IP_REG) - -#if defined(bpf_target_powerpc) - -#define BPF_KPROBE_READ_RET_IP(ip, ctx) ({ (ip) = (ctx)->link; }) -#define BPF_KRETPROBE_READ_RET_IP BPF_KPROBE_READ_RET_IP - -#elif defined(bpf_target_sparc) - -#define BPF_KPROBE_READ_RET_IP(ip, ctx) ({ (ip) = PT_REGS_RET(ctx); }) -#define BPF_KRETPROBE_READ_RET_IP BPF_KPROBE_READ_RET_IP - -#else - -#define BPF_KPROBE_READ_RET_IP(ip, ctx) \ - ({ bpf_probe_read_kernel(&(ip), sizeof(ip), (void *)PT_REGS_RET(ctx)); }) -#define BPF_KRETPROBE_READ_RET_IP(ip, ctx) \ - ({ bpf_probe_read_kernel(&(ip), sizeof(ip), (void *)(PT_REGS_FP(ctx) + sizeof(ip))); }) - -#endif - -#ifndef PT_REGS_PARM1_SYSCALL -#define PT_REGS_PARM1_SYSCALL(x) PT_REGS_PARM1(x) -#endif -#define PT_REGS_PARM2_SYSCALL(x) PT_REGS_PARM2(x) -#define PT_REGS_PARM3_SYSCALL(x) PT_REGS_PARM3(x) -#ifndef PT_REGS_PARM4_SYSCALL -#define PT_REGS_PARM4_SYSCALL(x) PT_REGS_PARM4(x) -#endif -#define PT_REGS_PARM5_SYSCALL(x) PT_REGS_PARM5(x) - -#ifndef PT_REGS_PARM1_CORE_SYSCALL -#define PT_REGS_PARM1_CORE_SYSCALL(x) PT_REGS_PARM1_CORE(x) -#endif -#define PT_REGS_PARM2_CORE_SYSCALL(x) PT_REGS_PARM2_CORE(x) -#define PT_REGS_PARM3_CORE_SYSCALL(x) PT_REGS_PARM3_CORE(x) -#ifndef PT_REGS_PARM4_CORE_SYSCALL -#define PT_REGS_PARM4_CORE_SYSCALL(x) PT_REGS_PARM4_CORE(x) -#endif -#define PT_REGS_PARM5_CORE_SYSCALL(x) PT_REGS_PARM5_CORE(x) - -#else /* defined(bpf_target_defined) */ - -#define PT_REGS_PARM1(x) ({ _Pragma(__BPF_TARGET_MISSING); 0l; }) -#define PT_REGS_PARM2(x) ({ _Pragma(__BPF_TARGET_MISSING); 0l; }) -#define PT_REGS_PARM3(x) ({ _Pragma(__BPF_TARGET_MISSING); 0l; }) -#define PT_REGS_PARM4(x) ({ _Pragma(__BPF_TARGET_MISSING); 0l; }) -#define PT_REGS_PARM5(x) ({ _Pragma(__BPF_TARGET_MISSING); 0l; }) -#define PT_REGS_RET(x) ({ _Pragma(__BPF_TARGET_MISSING); 0l; }) -#define PT_REGS_FP(x) ({ _Pragma(__BPF_TARGET_MISSING); 0l; }) -#define PT_REGS_RC(x) ({ _Pragma(__BPF_TARGET_MISSING); 0l; }) -#define PT_REGS_SP(x) ({ _Pragma(__BPF_TARGET_MISSING); 0l; }) -#define PT_REGS_IP(x) ({ _Pragma(__BPF_TARGET_MISSING); 0l; }) - -#define PT_REGS_PARM1_CORE(x) ({ _Pragma(__BPF_TARGET_MISSING); 0l; }) -#define PT_REGS_PARM2_CORE(x) ({ _Pragma(__BPF_TARGET_MISSING); 0l; }) -#define PT_REGS_PARM3_CORE(x) ({ _Pragma(__BPF_TARGET_MISSING); 0l; }) -#define PT_REGS_PARM4_CORE(x) ({ _Pragma(__BPF_TARGET_MISSING); 0l; }) -#define PT_REGS_PARM5_CORE(x) ({ _Pragma(__BPF_TARGET_MISSING); 0l; }) -#define PT_REGS_RET_CORE(x) ({ _Pragma(__BPF_TARGET_MISSING); 0l; }) -#define PT_REGS_FP_CORE(x) ({ _Pragma(__BPF_TARGET_MISSING); 0l; }) -#define PT_REGS_RC_CORE(x) ({ _Pragma(__BPF_TARGET_MISSING); 0l; }) -#define PT_REGS_SP_CORE(x) ({ _Pragma(__BPF_TARGET_MISSING); 0l; }) -#define PT_REGS_IP_CORE(x) ({ _Pragma(__BPF_TARGET_MISSING); 0l; }) - -#define BPF_KPROBE_READ_RET_IP(ip, ctx) ({ _Pragma(__BPF_TARGET_MISSING); 0l; }) -#define BPF_KRETPROBE_READ_RET_IP(ip, ctx) ({ _Pragma(__BPF_TARGET_MISSING); 0l; }) - -#define PT_REGS_PARM1_SYSCALL(x) ({ _Pragma(__BPF_TARGET_MISSING); 0l; }) -#define PT_REGS_PARM2_SYSCALL(x) ({ _Pragma(__BPF_TARGET_MISSING); 0l; }) -#define PT_REGS_PARM3_SYSCALL(x) ({ _Pragma(__BPF_TARGET_MISSING); 0l; }) -#define PT_REGS_PARM4_SYSCALL(x) ({ _Pragma(__BPF_TARGET_MISSING); 0l; }) -#define PT_REGS_PARM5_SYSCALL(x) ({ _Pragma(__BPF_TARGET_MISSING); 0l; }) - -#define PT_REGS_PARM1_CORE_SYSCALL(x) ({ _Pragma(__BPF_TARGET_MISSING); 0l; }) -#define PT_REGS_PARM2_CORE_SYSCALL(x) ({ _Pragma(__BPF_TARGET_MISSING); 0l; }) -#define PT_REGS_PARM3_CORE_SYSCALL(x) ({ _Pragma(__BPF_TARGET_MISSING); 0l; }) -#define PT_REGS_PARM4_CORE_SYSCALL(x) ({ _Pragma(__BPF_TARGET_MISSING); 0l; }) -#define PT_REGS_PARM5_CORE_SYSCALL(x) ({ _Pragma(__BPF_TARGET_MISSING); 0l; }) - -#endif /* defined(bpf_target_defined) */ - -/* - * When invoked from a syscall handler kprobe, returns a pointer to a - * struct pt_regs containing syscall arguments and suitable for passing to - * PT_REGS_PARMn_SYSCALL() and PT_REGS_PARMn_CORE_SYSCALL(). - */ -#ifndef PT_REGS_SYSCALL_REGS -/* By default, assume that the arch selects ARCH_HAS_SYSCALL_WRAPPER. */ -#define PT_REGS_SYSCALL_REGS(ctx) ((struct pt_regs *)PT_REGS_PARM1(ctx)) -#endif - -#ifndef ___bpf_concat -#define ___bpf_concat(a, b) a ## b -#endif -#ifndef ___bpf_apply -#define ___bpf_apply(fn, n) ___bpf_concat(fn, n) -#endif -#ifndef ___bpf_nth -#define ___bpf_nth(_, _1, _2, _3, _4, _5, _6, _7, _8, _9, _a, _b, _c, N, ...) N -#endif -#ifndef ___bpf_narg -#define ___bpf_narg(...) ___bpf_nth(_, ##__VA_ARGS__, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0) -#endif - -#define ___bpf_ctx_cast0() ctx -#define ___bpf_ctx_cast1(x) ___bpf_ctx_cast0(), (void *)ctx[0] -#define ___bpf_ctx_cast2(x, args...) ___bpf_ctx_cast1(args), (void *)ctx[1] -#define ___bpf_ctx_cast3(x, args...) ___bpf_ctx_cast2(args), (void *)ctx[2] -#define ___bpf_ctx_cast4(x, args...) ___bpf_ctx_cast3(args), (void *)ctx[3] -#define ___bpf_ctx_cast5(x, args...) ___bpf_ctx_cast4(args), (void *)ctx[4] -#define ___bpf_ctx_cast6(x, args...) ___bpf_ctx_cast5(args), (void *)ctx[5] -#define ___bpf_ctx_cast7(x, args...) ___bpf_ctx_cast6(args), (void *)ctx[6] -#define ___bpf_ctx_cast8(x, args...) ___bpf_ctx_cast7(args), (void *)ctx[7] -#define ___bpf_ctx_cast9(x, args...) ___bpf_ctx_cast8(args), (void *)ctx[8] -#define ___bpf_ctx_cast10(x, args...) ___bpf_ctx_cast9(args), (void *)ctx[9] -#define ___bpf_ctx_cast11(x, args...) ___bpf_ctx_cast10(args), (void *)ctx[10] -#define ___bpf_ctx_cast12(x, args...) ___bpf_ctx_cast11(args), (void *)ctx[11] -#define ___bpf_ctx_cast(args...) ___bpf_apply(___bpf_ctx_cast, ___bpf_narg(args))(args) - -/* - * BPF_PROG is a convenience wrapper for generic tp_btf/fentry/fexit and - * similar kinds of BPF programs, that accept input arguments as a single - * pointer to untyped u64 array, where each u64 can actually be a typed - * pointer or integer of different size. Instead of requring user to write - * manual casts and work with array elements by index, BPF_PROG macro - * allows user to declare a list of named and typed input arguments in the - * same syntax as for normal C function. All the casting is hidden and - * performed transparently, while user code can just assume working with - * function arguments of specified type and name. - * - * Original raw context argument is preserved as well as 'ctx' argument. - * This is useful when using BPF helpers that expect original context - * as one of the parameters (e.g., for bpf_perf_event_output()). - */ -#define BPF_PROG(name, args...) \ -name(unsigned long long *ctx); \ -static __attribute__((always_inline)) typeof(name(0)) \ -____##name(unsigned long long *ctx, ##args); \ -typeof(name(0)) name(unsigned long long *ctx) \ -{ \ - _Pragma("GCC diagnostic push") \ - _Pragma("GCC diagnostic ignored \"-Wint-conversion\"") \ - return ____##name(___bpf_ctx_cast(args)); \ - _Pragma("GCC diagnostic pop") \ -} \ -static __attribute__((always_inline)) typeof(name(0)) \ -____##name(unsigned long long *ctx, ##args) - -struct pt_regs; - -#define ___bpf_kprobe_args0() ctx -#define ___bpf_kprobe_args1(x) ___bpf_kprobe_args0(), (void *)PT_REGS_PARM1(ctx) -#define ___bpf_kprobe_args2(x, args...) ___bpf_kprobe_args1(args), (void *)PT_REGS_PARM2(ctx) -#define ___bpf_kprobe_args3(x, args...) ___bpf_kprobe_args2(args), (void *)PT_REGS_PARM3(ctx) -#define ___bpf_kprobe_args4(x, args...) ___bpf_kprobe_args3(args), (void *)PT_REGS_PARM4(ctx) -#define ___bpf_kprobe_args5(x, args...) ___bpf_kprobe_args4(args), (void *)PT_REGS_PARM5(ctx) -#define ___bpf_kprobe_args(args...) ___bpf_apply(___bpf_kprobe_args, ___bpf_narg(args))(args) - -/* - * BPF_KPROBE serves the same purpose for kprobes as BPF_PROG for - * tp_btf/fentry/fexit BPF programs. It hides the underlying platform-specific - * low-level way of getting kprobe input arguments from struct pt_regs, and - * provides a familiar typed and named function arguments syntax and - * semantics of accessing kprobe input paremeters. - * - * Original struct pt_regs* context is preserved as 'ctx' argument. This might - * be necessary when using BPF helpers like bpf_perf_event_output(). - */ -#define BPF_KPROBE(name, args...) \ -name(struct pt_regs *ctx); \ -static __attribute__((always_inline)) typeof(name(0)) \ -____##name(struct pt_regs *ctx, ##args); \ -typeof(name(0)) name(struct pt_regs *ctx) \ -{ \ - _Pragma("GCC diagnostic push") \ - _Pragma("GCC diagnostic ignored \"-Wint-conversion\"") \ - return ____##name(___bpf_kprobe_args(args)); \ - _Pragma("GCC diagnostic pop") \ -} \ -static __attribute__((always_inline)) typeof(name(0)) \ -____##name(struct pt_regs *ctx, ##args) - -#define ___bpf_kretprobe_args0() ctx -#define ___bpf_kretprobe_args1(x) ___bpf_kretprobe_args0(), (void *)PT_REGS_RC(ctx) -#define ___bpf_kretprobe_args(args...) ___bpf_apply(___bpf_kretprobe_args, ___bpf_narg(args))(args) - -/* - * BPF_KRETPROBE is similar to BPF_KPROBE, except, it only provides optional - * return value (in addition to `struct pt_regs *ctx`), but no input - * arguments, because they will be clobbered by the time probed function - * returns. - */ -#define BPF_KRETPROBE(name, args...) \ -name(struct pt_regs *ctx); \ -static __attribute__((always_inline)) typeof(name(0)) \ -____##name(struct pt_regs *ctx, ##args); \ -typeof(name(0)) name(struct pt_regs *ctx) \ -{ \ - _Pragma("GCC diagnostic push") \ - _Pragma("GCC diagnostic ignored \"-Wint-conversion\"") \ - return ____##name(___bpf_kretprobe_args(args)); \ - _Pragma("GCC diagnostic pop") \ -} \ -static __always_inline typeof(name(0)) ____##name(struct pt_regs *ctx, ##args) - -#define ___bpf_syscall_args0() ctx -#define ___bpf_syscall_args1(x) ___bpf_syscall_args0(), (void *)PT_REGS_PARM1_CORE_SYSCALL(regs) -#define ___bpf_syscall_args2(x, args...) ___bpf_syscall_args1(args), (void *)PT_REGS_PARM2_CORE_SYSCALL(regs) -#define ___bpf_syscall_args3(x, args...) ___bpf_syscall_args2(args), (void *)PT_REGS_PARM3_CORE_SYSCALL(regs) -#define ___bpf_syscall_args4(x, args...) ___bpf_syscall_args3(args), (void *)PT_REGS_PARM4_CORE_SYSCALL(regs) -#define ___bpf_syscall_args5(x, args...) ___bpf_syscall_args4(args), (void *)PT_REGS_PARM5_CORE_SYSCALL(regs) -#define ___bpf_syscall_args(args...) ___bpf_apply(___bpf_syscall_args, ___bpf_narg(args))(args) - -/* - * BPF_KPROBE_SYSCALL is a variant of BPF_KPROBE, which is intended for - * tracing syscall functions, like __x64_sys_close. It hides the underlying - * platform-specific low-level way of getting syscall input arguments from - * struct pt_regs, and provides a familiar typed and named function arguments - * syntax and semantics of accessing syscall input parameters. - * - * Original struct pt_regs* context is preserved as 'ctx' argument. This might - * be necessary when using BPF helpers like bpf_perf_event_output(). - * - * This macro relies on BPF CO-RE support. - */ -#define BPF_KPROBE_SYSCALL(name, args...) \ -name(struct pt_regs *ctx); \ -static __attribute__((always_inline)) typeof(name(0)) \ -____##name(struct pt_regs *ctx, ##args); \ -typeof(name(0)) name(struct pt_regs *ctx) \ -{ \ - struct pt_regs *regs = PT_REGS_SYSCALL_REGS(ctx); \ - _Pragma("GCC diagnostic push") \ - _Pragma("GCC diagnostic ignored \"-Wint-conversion\"") \ - return ____##name(___bpf_syscall_args(args)); \ - _Pragma("GCC diagnostic pop") \ -} \ -static __attribute__((always_inline)) typeof(name(0)) \ -____##name(struct pt_regs *ctx, ##args) - -#endif diff --git a/lcc/golcc/include/bpf/btf.h b/lcc/golcc/include/bpf/btf.h deleted file mode 100644 index 951ac74..0000000 --- a/lcc/golcc/include/bpf/btf.h +++ /dev/null @@ -1,605 +0,0 @@ -/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */ -/* Copyright (c) 2018 Facebook */ -/*! \file */ - -#ifndef __LIBBPF_BTF_H -#define __LIBBPF_BTF_H - -#include -#include -#include -#include - -#include "libbpf_common.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#define BTF_ELF_SEC ".BTF" -#define BTF_EXT_ELF_SEC ".BTF.ext" -#define MAPS_ELF_SEC ".maps" - -struct btf; -struct btf_ext; -struct btf_type; - -struct bpf_object; - -enum btf_endianness { - BTF_LITTLE_ENDIAN = 0, - BTF_BIG_ENDIAN = 1, -}; - -/** - * @brief **btf__free()** frees all data of a BTF object - * @param btf BTF object to free - */ -LIBBPF_API void btf__free(struct btf *btf); - -/** - * @brief **btf__new()** creates a new instance of a BTF object from the raw - * bytes of an ELF's BTF section - * @param data raw bytes - * @param size number of bytes passed in `data` - * @return new BTF object instance which has to be eventually freed with - * **btf__free()** - * - * On error, error-code-encoded-as-pointer is returned, not a NULL. To extract - * error code from such a pointer `libbpf_get_error()` should be used. If - * `libbpf_set_strict_mode(LIBBPF_STRICT_CLEAN_PTRS)` is enabled, NULL is - * returned on error instead. In both cases thread-local `errno` variable is - * always set to error code as well. - */ -LIBBPF_API struct btf *btf__new(const void *data, __u32 size); - -/** - * @brief **btf__new_split()** create a new instance of a BTF object from the - * provided raw data bytes. It takes another BTF instance, **base_btf**, which - * serves as a base BTF, which is extended by types in a newly created BTF - * instance - * @param data raw bytes - * @param size length of raw bytes - * @param base_btf the base BTF object - * @return new BTF object instance which has to be eventually freed with - * **btf__free()** - * - * If *base_btf* is NULL, `btf__new_split()` is equivalent to `btf__new()` and - * creates non-split BTF. - * - * On error, error-code-encoded-as-pointer is returned, not a NULL. To extract - * error code from such a pointer `libbpf_get_error()` should be used. If - * `libbpf_set_strict_mode(LIBBPF_STRICT_CLEAN_PTRS)` is enabled, NULL is - * returned on error instead. In both cases thread-local `errno` variable is - * always set to error code as well. - */ -LIBBPF_API struct btf *btf__new_split(const void *data, __u32 size, struct btf *base_btf); - -/** - * @brief **btf__new_empty()** creates an empty BTF object. Use - * `btf__add_*()` to populate such BTF object. - * @return new BTF object instance which has to be eventually freed with - * **btf__free()** - * - * On error, error-code-encoded-as-pointer is returned, not a NULL. To extract - * error code from such a pointer `libbpf_get_error()` should be used. If - * `libbpf_set_strict_mode(LIBBPF_STRICT_CLEAN_PTRS)` is enabled, NULL is - * returned on error instead. In both cases thread-local `errno` variable is - * always set to error code as well. - */ -LIBBPF_API struct btf *btf__new_empty(void); - -/** - * @brief **btf__new_empty_split()** creates an unpopulated BTF object from an - * ELF BTF section except with a base BTF on top of which split BTF should be - * based - * @return new BTF object instance which has to be eventually freed with - * **btf__free()** - * - * If *base_btf* is NULL, `btf__new_empty_split()` is equivalent to - * `btf__new_empty()` and creates non-split BTF. - * - * On error, error-code-encoded-as-pointer is returned, not a NULL. To extract - * error code from such a pointer `libbpf_get_error()` should be used. If - * `libbpf_set_strict_mode(LIBBPF_STRICT_CLEAN_PTRS)` is enabled, NULL is - * returned on error instead. In both cases thread-local `errno` variable is - * always set to error code as well. - */ -LIBBPF_API struct btf *btf__new_empty_split(struct btf *base_btf); - -LIBBPF_API struct btf *btf__parse(const char *path, struct btf_ext **btf_ext); -LIBBPF_API struct btf *btf__parse_split(const char *path, struct btf *base_btf); -LIBBPF_API struct btf *btf__parse_elf(const char *path, struct btf_ext **btf_ext); -LIBBPF_API struct btf *btf__parse_elf_split(const char *path, struct btf *base_btf); -LIBBPF_API struct btf *btf__parse_raw(const char *path); -LIBBPF_API struct btf *btf__parse_raw_split(const char *path, struct btf *base_btf); - -LIBBPF_API struct btf *btf__load_vmlinux_btf(void); -LIBBPF_API struct btf *btf__load_module_btf(const char *module_name, struct btf *vmlinux_btf); -LIBBPF_API struct btf *libbpf_find_kernel_btf(void); - -LIBBPF_API struct btf *btf__load_from_kernel_by_id(__u32 id); -LIBBPF_API struct btf *btf__load_from_kernel_by_id_split(__u32 id, struct btf *base_btf); -LIBBPF_DEPRECATED_SINCE(0, 6, "use btf__load_from_kernel_by_id instead") -LIBBPF_API int btf__get_from_id(__u32 id, struct btf **btf); - -LIBBPF_DEPRECATED_SINCE(0, 6, "intended for internal libbpf use only") -LIBBPF_API int btf__finalize_data(struct bpf_object *obj, struct btf *btf); -LIBBPF_DEPRECATED_SINCE(0, 6, "use btf__load_into_kernel instead") -LIBBPF_API int btf__load(struct btf *btf); -LIBBPF_API int btf__load_into_kernel(struct btf *btf); -LIBBPF_API __s32 btf__find_by_name(const struct btf *btf, - const char *type_name); -LIBBPF_API __s32 btf__find_by_name_kind(const struct btf *btf, - const char *type_name, __u32 kind); -LIBBPF_DEPRECATED_SINCE(0, 7, "use btf__type_cnt() instead; note that btf__get_nr_types() == btf__type_cnt() - 1") -LIBBPF_API __u32 btf__get_nr_types(const struct btf *btf); -LIBBPF_API __u32 btf__type_cnt(const struct btf *btf); -LIBBPF_API const struct btf *btf__base_btf(const struct btf *btf); -LIBBPF_API const struct btf_type *btf__type_by_id(const struct btf *btf, - __u32 id); -LIBBPF_API size_t btf__pointer_size(const struct btf *btf); -LIBBPF_API int btf__set_pointer_size(struct btf *btf, size_t ptr_sz); -LIBBPF_API enum btf_endianness btf__endianness(const struct btf *btf); -LIBBPF_API int btf__set_endianness(struct btf *btf, enum btf_endianness endian); -LIBBPF_API __s64 btf__resolve_size(const struct btf *btf, __u32 type_id); -LIBBPF_API int btf__resolve_type(const struct btf *btf, __u32 type_id); -LIBBPF_API int btf__align_of(const struct btf *btf, __u32 id); -LIBBPF_API int btf__fd(const struct btf *btf); -LIBBPF_API void btf__set_fd(struct btf *btf, int fd); -LIBBPF_API const void *btf__raw_data(const struct btf *btf, __u32 *size); -LIBBPF_API const char *btf__name_by_offset(const struct btf *btf, __u32 offset); -LIBBPF_API const char *btf__str_by_offset(const struct btf *btf, __u32 offset); -LIBBPF_DEPRECATED_SINCE(0, 7, "this API is not necessary when BTF-defined maps are used") -LIBBPF_API int btf__get_map_kv_tids(const struct btf *btf, const char *map_name, - __u32 expected_key_size, - __u32 expected_value_size, - __u32 *key_type_id, __u32 *value_type_id); - -LIBBPF_API struct btf_ext *btf_ext__new(const __u8 *data, __u32 size); -LIBBPF_API void btf_ext__free(struct btf_ext *btf_ext); -LIBBPF_API const void *btf_ext__raw_data(const struct btf_ext *btf_ext, __u32 *size); -LIBBPF_API LIBBPF_DEPRECATED("btf_ext__reloc_func_info was never meant as a public API and has wrong assumptions embedded in it; it will be removed in the future libbpf versions") -int btf_ext__reloc_func_info(const struct btf *btf, - const struct btf_ext *btf_ext, - const char *sec_name, __u32 insns_cnt, - void **func_info, __u32 *cnt); -LIBBPF_API LIBBPF_DEPRECATED("btf_ext__reloc_line_info was never meant as a public API and has wrong assumptions embedded in it; it will be removed in the future libbpf versions") -int btf_ext__reloc_line_info(const struct btf *btf, - const struct btf_ext *btf_ext, - const char *sec_name, __u32 insns_cnt, - void **line_info, __u32 *cnt); -LIBBPF_API LIBBPF_DEPRECATED("btf_ext__reloc_func_info is deprecated; write custom func_info parsing to fetch rec_size") -__u32 btf_ext__func_info_rec_size(const struct btf_ext *btf_ext); -LIBBPF_API LIBBPF_DEPRECATED("btf_ext__reloc_line_info is deprecated; write custom line_info parsing to fetch rec_size") -__u32 btf_ext__line_info_rec_size(const struct btf_ext *btf_ext); - -LIBBPF_API int btf__find_str(struct btf *btf, const char *s); -LIBBPF_API int btf__add_str(struct btf *btf, const char *s); -LIBBPF_API int btf__add_type(struct btf *btf, const struct btf *src_btf, - const struct btf_type *src_type); -/** - * @brief **btf__add_btf()** appends all the BTF types from *src_btf* into *btf* - * @param btf BTF object which all the BTF types and strings are added to - * @param src_btf BTF object which all BTF types and referenced strings are copied from - * @return BTF type ID of the first appended BTF type, or negative error code - * - * **btf__add_btf()** can be used to simply and efficiently append the entire - * contents of one BTF object to another one. All the BTF type data is copied - * over, all referenced type IDs are adjusted by adding a necessary ID offset. - * Only strings referenced from BTF types are copied over and deduplicated, so - * if there were some unused strings in *src_btf*, those won't be copied over, - * which is consistent with the general string deduplication semantics of BTF - * writing APIs. - * - * If any error is encountered during this process, the contents of *btf* is - * left intact, which means that **btf__add_btf()** follows the transactional - * semantics and the operation as a whole is all-or-nothing. - * - * *src_btf* has to be non-split BTF, as of now copying types from split BTF - * is not supported and will result in -ENOTSUP error code returned. - */ -LIBBPF_API int btf__add_btf(struct btf *btf, const struct btf *src_btf); - -LIBBPF_API int btf__add_int(struct btf *btf, const char *name, size_t byte_sz, int encoding); -LIBBPF_API int btf__add_float(struct btf *btf, const char *name, size_t byte_sz); -LIBBPF_API int btf__add_ptr(struct btf *btf, int ref_type_id); -LIBBPF_API int btf__add_array(struct btf *btf, - int index_type_id, int elem_type_id, __u32 nr_elems); -/* struct/union construction APIs */ -LIBBPF_API int btf__add_struct(struct btf *btf, const char *name, __u32 sz); -LIBBPF_API int btf__add_union(struct btf *btf, const char *name, __u32 sz); -LIBBPF_API int btf__add_field(struct btf *btf, const char *name, int field_type_id, - __u32 bit_offset, __u32 bit_size); - -/* enum construction APIs */ -LIBBPF_API int btf__add_enum(struct btf *btf, const char *name, __u32 bytes_sz); -LIBBPF_API int btf__add_enum_value(struct btf *btf, const char *name, __s64 value); - -enum btf_fwd_kind { - BTF_FWD_STRUCT = 0, - BTF_FWD_UNION = 1, - BTF_FWD_ENUM = 2, -}; - -LIBBPF_API int btf__add_fwd(struct btf *btf, const char *name, enum btf_fwd_kind fwd_kind); -LIBBPF_API int btf__add_typedef(struct btf *btf, const char *name, int ref_type_id); -LIBBPF_API int btf__add_volatile(struct btf *btf, int ref_type_id); -LIBBPF_API int btf__add_const(struct btf *btf, int ref_type_id); -LIBBPF_API int btf__add_restrict(struct btf *btf, int ref_type_id); -LIBBPF_API int btf__add_type_tag(struct btf *btf, const char *value, int ref_type_id); - -/* func and func_proto construction APIs */ -LIBBPF_API int btf__add_func(struct btf *btf, const char *name, - enum btf_func_linkage linkage, int proto_type_id); -LIBBPF_API int btf__add_func_proto(struct btf *btf, int ret_type_id); -LIBBPF_API int btf__add_func_param(struct btf *btf, const char *name, int type_id); - -/* var & datasec construction APIs */ -LIBBPF_API int btf__add_var(struct btf *btf, const char *name, int linkage, int type_id); -LIBBPF_API int btf__add_datasec(struct btf *btf, const char *name, __u32 byte_sz); -LIBBPF_API int btf__add_datasec_var_info(struct btf *btf, int var_type_id, - __u32 offset, __u32 byte_sz); - -/* tag construction API */ -LIBBPF_API int btf__add_decl_tag(struct btf *btf, const char *value, int ref_type_id, - int component_idx); - -struct btf_dedup_opts { - size_t sz; - /* optional .BTF.ext info to dedup along the main BTF info */ - struct btf_ext *btf_ext; - /* force hash collisions (used for testing) */ - bool force_collisions; - size_t :0; -}; -#define btf_dedup_opts__last_field force_collisions - -LIBBPF_API int btf__dedup(struct btf *btf, const struct btf_dedup_opts *opts); - -LIBBPF_API int btf__dedup_v0_6_0(struct btf *btf, const struct btf_dedup_opts *opts); - -LIBBPF_DEPRECATED_SINCE(0, 7, "use btf__dedup() instead") -LIBBPF_API int btf__dedup_deprecated(struct btf *btf, struct btf_ext *btf_ext, const void *opts); -#define btf__dedup(...) ___libbpf_overload(___btf_dedup, __VA_ARGS__) -#define ___btf_dedup3(btf, btf_ext, opts) btf__dedup_deprecated(btf, btf_ext, opts) -#define ___btf_dedup2(btf, opts) btf__dedup(btf, opts) - -struct btf_dump; - -struct btf_dump_opts { - union { - size_t sz; - void *ctx; /* DEPRECATED: will be gone in v1.0 */ - }; -}; - -typedef void (*btf_dump_printf_fn_t)(void *ctx, const char *fmt, va_list args); - -LIBBPF_API struct btf_dump *btf_dump__new(const struct btf *btf, - btf_dump_printf_fn_t printf_fn, - void *ctx, - const struct btf_dump_opts *opts); - -LIBBPF_API struct btf_dump *btf_dump__new_v0_6_0(const struct btf *btf, - btf_dump_printf_fn_t printf_fn, - void *ctx, - const struct btf_dump_opts *opts); - -LIBBPF_API struct btf_dump *btf_dump__new_deprecated(const struct btf *btf, - const struct btf_ext *btf_ext, - const struct btf_dump_opts *opts, - btf_dump_printf_fn_t printf_fn); - -/* Choose either btf_dump__new() or btf_dump__new_deprecated() based on the - * type of 4th argument. If it's btf_dump's print callback, use deprecated - * API; otherwise, choose the new btf_dump__new(). ___libbpf_override() - * doesn't work here because both variants have 4 input arguments. - * - * (void *) casts are necessary to avoid compilation warnings about type - * mismatches, because even though __builtin_choose_expr() only ever evaluates - * one side the other side still has to satisfy type constraints (this is - * compiler implementation limitation which might be lifted eventually, - * according to the documentation). So passing struct btf_ext in place of - * btf_dump_printf_fn_t would be generating compilation warning. Casting to - * void * avoids this issue. - * - * Also, two type compatibility checks for a function and function pointer are - * required because passing function reference into btf_dump__new() as - * btf_dump__new(..., my_callback, ...) and as btf_dump__new(..., - * &my_callback, ...) (not explicit ampersand in the latter case) actually - * differs as far as __builtin_types_compatible_p() is concerned. Thus two - * checks are combined to detect callback argument. - * - * The rest works just like in case of ___libbpf_override() usage with symbol - * versioning. - * - * C++ compilers don't support __builtin_types_compatible_p(), so at least - * don't screw up compilation for them and let C++ users pick btf_dump__new - * vs btf_dump__new_deprecated explicitly. - */ -#ifndef __cplusplus -#define btf_dump__new(a1, a2, a3, a4) __builtin_choose_expr( \ - __builtin_types_compatible_p(typeof(a4), btf_dump_printf_fn_t) || \ - __builtin_types_compatible_p(typeof(a4), void(void *, const char *, va_list)), \ - btf_dump__new_deprecated((void *)a1, (void *)a2, (void *)a3, (void *)a4), \ - btf_dump__new((void *)a1, (void *)a2, (void *)a3, (void *)a4)) -#endif - -LIBBPF_API void btf_dump__free(struct btf_dump *d); - -LIBBPF_API int btf_dump__dump_type(struct btf_dump *d, __u32 id); - -struct btf_dump_emit_type_decl_opts { - /* size of this struct, for forward/backward compatiblity */ - size_t sz; - /* optional field name for type declaration, e.g.: - * - struct my_struct - * - void (*)(int) - * - char (*)[123] - */ - const char *field_name; - /* extra indentation level (in number of tabs) to emit for multi-line - * type declarations (e.g., anonymous struct); applies for lines - * starting from the second one (first line is assumed to have - * necessary indentation already - */ - int indent_level; - /* strip all the const/volatile/restrict mods */ - bool strip_mods; - size_t :0; -}; -#define btf_dump_emit_type_decl_opts__last_field strip_mods - -LIBBPF_API int -btf_dump__emit_type_decl(struct btf_dump *d, __u32 id, - const struct btf_dump_emit_type_decl_opts *opts); - - -struct btf_dump_type_data_opts { - /* size of this struct, for forward/backward compatibility */ - size_t sz; - const char *indent_str; - int indent_level; - /* below match "show" flags for bpf_show_snprintf() */ - bool compact; /* no newlines/indentation */ - bool skip_names; /* skip member/type names */ - bool emit_zeroes; /* show 0-valued fields */ - size_t :0; -}; -#define btf_dump_type_data_opts__last_field emit_zeroes - -LIBBPF_API int -btf_dump__dump_type_data(struct btf_dump *d, __u32 id, - const void *data, size_t data_sz, - const struct btf_dump_type_data_opts *opts); - -/* - * A set of helpers for easier BTF types handling. - * - * The inline functions below rely on constants from the kernel headers which - * may not be available for applications including this header file. To avoid - * compilation errors, we define all the constants here that were added after - * the initial introduction of the BTF_KIND* constants. - */ -#ifndef BTF_KIND_FUNC -#define BTF_KIND_FUNC 12 /* Function */ -#define BTF_KIND_FUNC_PROTO 13 /* Function Proto */ -#endif -#ifndef BTF_KIND_VAR -#define BTF_KIND_VAR 14 /* Variable */ -#define BTF_KIND_DATASEC 15 /* Section */ -#endif -#ifndef BTF_KIND_FLOAT -#define BTF_KIND_FLOAT 16 /* Floating point */ -#endif -/* The kernel header switched to enums, so these two were never #defined */ -#define BTF_KIND_DECL_TAG 17 /* Decl Tag */ -#define BTF_KIND_TYPE_TAG 18 /* Type Tag */ - -static inline __u16 btf_kind(const struct btf_type *t) -{ - return BTF_INFO_KIND(t->info); -} - -static inline __u16 btf_vlen(const struct btf_type *t) -{ - return BTF_INFO_VLEN(t->info); -} - -static inline bool btf_kflag(const struct btf_type *t) -{ - return BTF_INFO_KFLAG(t->info); -} - -static inline bool btf_is_void(const struct btf_type *t) -{ - return btf_kind(t) == BTF_KIND_UNKN; -} - -static inline bool btf_is_int(const struct btf_type *t) -{ - return btf_kind(t) == BTF_KIND_INT; -} - -static inline bool btf_is_ptr(const struct btf_type *t) -{ - return btf_kind(t) == BTF_KIND_PTR; -} - -static inline bool btf_is_array(const struct btf_type *t) -{ - return btf_kind(t) == BTF_KIND_ARRAY; -} - -static inline bool btf_is_struct(const struct btf_type *t) -{ - return btf_kind(t) == BTF_KIND_STRUCT; -} - -static inline bool btf_is_union(const struct btf_type *t) -{ - return btf_kind(t) == BTF_KIND_UNION; -} - -static inline bool btf_is_composite(const struct btf_type *t) -{ - __u16 kind = btf_kind(t); - - return kind == BTF_KIND_STRUCT || kind == BTF_KIND_UNION; -} - -static inline bool btf_is_enum(const struct btf_type *t) -{ - return btf_kind(t) == BTF_KIND_ENUM; -} - -static inline bool btf_is_fwd(const struct btf_type *t) -{ - return btf_kind(t) == BTF_KIND_FWD; -} - -static inline bool btf_is_typedef(const struct btf_type *t) -{ - return btf_kind(t) == BTF_KIND_TYPEDEF; -} - -static inline bool btf_is_volatile(const struct btf_type *t) -{ - return btf_kind(t) == BTF_KIND_VOLATILE; -} - -static inline bool btf_is_const(const struct btf_type *t) -{ - return btf_kind(t) == BTF_KIND_CONST; -} - -static inline bool btf_is_restrict(const struct btf_type *t) -{ - return btf_kind(t) == BTF_KIND_RESTRICT; -} - -static inline bool btf_is_mod(const struct btf_type *t) -{ - __u16 kind = btf_kind(t); - - return kind == BTF_KIND_VOLATILE || - kind == BTF_KIND_CONST || - kind == BTF_KIND_RESTRICT || - kind == BTF_KIND_TYPE_TAG; -} - -static inline bool btf_is_func(const struct btf_type *t) -{ - return btf_kind(t) == BTF_KIND_FUNC; -} - -static inline bool btf_is_func_proto(const struct btf_type *t) -{ - return btf_kind(t) == BTF_KIND_FUNC_PROTO; -} - -static inline bool btf_is_var(const struct btf_type *t) -{ - return btf_kind(t) == BTF_KIND_VAR; -} - -static inline bool btf_is_datasec(const struct btf_type *t) -{ - return btf_kind(t) == BTF_KIND_DATASEC; -} - -static inline bool btf_is_float(const struct btf_type *t) -{ - return btf_kind(t) == BTF_KIND_FLOAT; -} - -static inline bool btf_is_decl_tag(const struct btf_type *t) -{ - return btf_kind(t) == BTF_KIND_DECL_TAG; -} - -static inline bool btf_is_type_tag(const struct btf_type *t) -{ - return btf_kind(t) == BTF_KIND_TYPE_TAG; -} - -static inline __u8 btf_int_encoding(const struct btf_type *t) -{ - return BTF_INT_ENCODING(*(__u32 *)(t + 1)); -} - -static inline __u8 btf_int_offset(const struct btf_type *t) -{ - return BTF_INT_OFFSET(*(__u32 *)(t + 1)); -} - -static inline __u8 btf_int_bits(const struct btf_type *t) -{ - return BTF_INT_BITS(*(__u32 *)(t + 1)); -} - -static inline struct btf_array *btf_array(const struct btf_type *t) -{ - return (struct btf_array *)(t + 1); -} - -static inline struct btf_enum *btf_enum(const struct btf_type *t) -{ - return (struct btf_enum *)(t + 1); -} - -static inline struct btf_member *btf_members(const struct btf_type *t) -{ - return (struct btf_member *)(t + 1); -} - -/* Get bit offset of a member with specified index. */ -static inline __u32 btf_member_bit_offset(const struct btf_type *t, - __u32 member_idx) -{ - const struct btf_member *m = btf_members(t) + member_idx; - bool kflag = btf_kflag(t); - - return kflag ? BTF_MEMBER_BIT_OFFSET(m->offset) : m->offset; -} -/* - * Get bitfield size of a member, assuming t is BTF_KIND_STRUCT or - * BTF_KIND_UNION. If member is not a bitfield, zero is returned. - */ -static inline __u32 btf_member_bitfield_size(const struct btf_type *t, - __u32 member_idx) -{ - const struct btf_member *m = btf_members(t) + member_idx; - bool kflag = btf_kflag(t); - - return kflag ? BTF_MEMBER_BITFIELD_SIZE(m->offset) : 0; -} - -static inline struct btf_param *btf_params(const struct btf_type *t) -{ - return (struct btf_param *)(t + 1); -} - -static inline struct btf_var *btf_var(const struct btf_type *t) -{ - return (struct btf_var *)(t + 1); -} - -static inline struct btf_var_secinfo * -btf_var_secinfos(const struct btf_type *t) -{ - return (struct btf_var_secinfo *)(t + 1); -} - -struct btf_decl_tag; -static inline struct btf_decl_tag *btf_decl_tag(const struct btf_type *t) -{ - return (struct btf_decl_tag *)(t + 1); -} - -#ifdef __cplusplus -} /* extern "C" */ -#endif - -#endif /* __LIBBPF_BTF_H */ diff --git a/lcc/golcc/include/bpf/hashmap.h b/lcc/golcc/include/bpf/hashmap.h deleted file mode 100644 index 10a4c4c..0000000 --- a/lcc/golcc/include/bpf/hashmap.h +++ /dev/null @@ -1,195 +0,0 @@ -/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */ - -/* - * Generic non-thread safe hash map implementation. - * - * Copyright (c) 2019 Facebook - */ -#ifndef __LIBBPF_HASHMAP_H -#define __LIBBPF_HASHMAP_H - -#include -#include -#include - -static inline size_t hash_bits(size_t h, int bits) -{ - /* shuffle bits and return requested number of upper bits */ - if (bits == 0) - return 0; - -#if (__SIZEOF_SIZE_T__ == __SIZEOF_LONG_LONG__) - /* LP64 case */ - return (h * 11400714819323198485llu) >> (__SIZEOF_LONG_LONG__ * 8 - bits); -#elif (__SIZEOF_SIZE_T__ <= __SIZEOF_LONG__) - return (h * 2654435769lu) >> (__SIZEOF_LONG__ * 8 - bits); -#else -# error "Unsupported size_t size" -#endif -} - -/* generic C-string hashing function */ -static inline size_t str_hash(const char *s) -{ - size_t h = 0; - - while (*s) { - h = h * 31 + *s; - s++; - } - return h; -} - -typedef size_t (*hashmap_hash_fn)(const void *key, void *ctx); -typedef bool (*hashmap_equal_fn)(const void *key1, const void *key2, void *ctx); - -struct hashmap_entry { - const void *key; - void *value; - struct hashmap_entry *next; -}; - -struct hashmap { - hashmap_hash_fn hash_fn; - hashmap_equal_fn equal_fn; - void *ctx; - - struct hashmap_entry **buckets; - size_t cap; - size_t cap_bits; - size_t sz; -}; - -#define HASHMAP_INIT(hash_fn, equal_fn, ctx) { \ - .hash_fn = (hash_fn), \ - .equal_fn = (equal_fn), \ - .ctx = (ctx), \ - .buckets = NULL, \ - .cap = 0, \ - .cap_bits = 0, \ - .sz = 0, \ -} - -void hashmap__init(struct hashmap *map, hashmap_hash_fn hash_fn, - hashmap_equal_fn equal_fn, void *ctx); -struct hashmap *hashmap__new(hashmap_hash_fn hash_fn, - hashmap_equal_fn equal_fn, - void *ctx); -void hashmap__clear(struct hashmap *map); -void hashmap__free(struct hashmap *map); - -size_t hashmap__size(const struct hashmap *map); -size_t hashmap__capacity(const struct hashmap *map); - -/* - * Hashmap insertion strategy: - * - HASHMAP_ADD - only add key/value if key doesn't exist yet; - * - HASHMAP_SET - add key/value pair if key doesn't exist yet; otherwise, - * update value; - * - HASHMAP_UPDATE - update value, if key already exists; otherwise, do - * nothing and return -ENOENT; - * - HASHMAP_APPEND - always add key/value pair, even if key already exists. - * This turns hashmap into a multimap by allowing multiple values to be - * associated with the same key. Most useful read API for such hashmap is - * hashmap__for_each_key_entry() iteration. If hashmap__find() is still - * used, it will return last inserted key/value entry (first in a bucket - * chain). - */ -enum hashmap_insert_strategy { - HASHMAP_ADD, - HASHMAP_SET, - HASHMAP_UPDATE, - HASHMAP_APPEND, -}; - -/* - * hashmap__insert() adds key/value entry w/ various semantics, depending on - * provided strategy value. If a given key/value pair replaced already - * existing key/value pair, both old key and old value will be returned - * through old_key and old_value to allow calling code do proper memory - * management. - */ -int hashmap__insert(struct hashmap *map, const void *key, void *value, - enum hashmap_insert_strategy strategy, - const void **old_key, void **old_value); - -static inline int hashmap__add(struct hashmap *map, - const void *key, void *value) -{ - return hashmap__insert(map, key, value, HASHMAP_ADD, NULL, NULL); -} - -static inline int hashmap__set(struct hashmap *map, - const void *key, void *value, - const void **old_key, void **old_value) -{ - return hashmap__insert(map, key, value, HASHMAP_SET, - old_key, old_value); -} - -static inline int hashmap__update(struct hashmap *map, - const void *key, void *value, - const void **old_key, void **old_value) -{ - return hashmap__insert(map, key, value, HASHMAP_UPDATE, - old_key, old_value); -} - -static inline int hashmap__append(struct hashmap *map, - const void *key, void *value) -{ - return hashmap__insert(map, key, value, HASHMAP_APPEND, NULL, NULL); -} - -bool hashmap__delete(struct hashmap *map, const void *key, - const void **old_key, void **old_value); - -bool hashmap__find(const struct hashmap *map, const void *key, void **value); - -/* - * hashmap__for_each_entry - iterate over all entries in hashmap - * @map: hashmap to iterate - * @cur: struct hashmap_entry * used as a loop cursor - * @bkt: integer used as a bucket loop cursor - */ -#define hashmap__for_each_entry(map, cur, bkt) \ - for (bkt = 0; bkt < map->cap; bkt++) \ - for (cur = map->buckets[bkt]; cur; cur = cur->next) - -/* - * hashmap__for_each_entry_safe - iterate over all entries in hashmap, safe - * against removals - * @map: hashmap to iterate - * @cur: struct hashmap_entry * used as a loop cursor - * @tmp: struct hashmap_entry * used as a temporary next cursor storage - * @bkt: integer used as a bucket loop cursor - */ -#define hashmap__for_each_entry_safe(map, cur, tmp, bkt) \ - for (bkt = 0; bkt < map->cap; bkt++) \ - for (cur = map->buckets[bkt]; \ - cur && ({tmp = cur->next; true; }); \ - cur = tmp) - -/* - * hashmap__for_each_key_entry - iterate over entries associated with given key - * @map: hashmap to iterate - * @cur: struct hashmap_entry * used as a loop cursor - * @key: key to iterate entries for - */ -#define hashmap__for_each_key_entry(map, cur, _key) \ - for (cur = map->buckets \ - ? map->buckets[hash_bits(map->hash_fn((_key), map->ctx), map->cap_bits)] \ - : NULL; \ - cur; \ - cur = cur->next) \ - if (map->equal_fn(cur->key, (_key), map->ctx)) - -#define hashmap__for_each_key_entry_safe(map, cur, tmp, _key) \ - for (cur = map->buckets \ - ? map->buckets[hash_bits(map->hash_fn((_key), map->ctx), map->cap_bits)] \ - : NULL; \ - cur && ({ tmp = cur->next; true; }); \ - cur = tmp) \ - if (map->equal_fn(cur->key, (_key), map->ctx)) - -#endif /* __LIBBPF_HASHMAP_H */ diff --git a/lcc/golcc/include/bpf/if_link.h b/lcc/golcc/include/bpf/if_link.h deleted file mode 100644 index e1ba2d5..0000000 --- a/lcc/golcc/include/bpf/if_link.h +++ /dev/null @@ -1,1279 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ -#ifndef _UAPI_LINUX_IF_LINK_H -#define _UAPI_LINUX_IF_LINK_H - -#include -#include - -/* This struct should be in sync with struct rtnl_link_stats64 */ -struct rtnl_link_stats { - __u32 rx_packets; - __u32 tx_packets; - __u32 rx_bytes; - __u32 tx_bytes; - __u32 rx_errors; - __u32 tx_errors; - __u32 rx_dropped; - __u32 tx_dropped; - __u32 multicast; - __u32 collisions; - /* detailed rx_errors: */ - __u32 rx_length_errors; - __u32 rx_over_errors; - __u32 rx_crc_errors; - __u32 rx_frame_errors; - __u32 rx_fifo_errors; - __u32 rx_missed_errors; - - /* detailed tx_errors */ - __u32 tx_aborted_errors; - __u32 tx_carrier_errors; - __u32 tx_fifo_errors; - __u32 tx_heartbeat_errors; - __u32 tx_window_errors; - - /* for cslip etc */ - __u32 rx_compressed; - __u32 tx_compressed; - - __u32 rx_nohandler; -}; - -/** - * struct rtnl_link_stats64 - The main device statistics structure. - * - * @rx_packets: Number of good packets received by the interface. - * For hardware interfaces counts all good packets received from the device - * by the host, including packets which host had to drop at various stages - * of processing (even in the driver). - * - * @tx_packets: Number of packets successfully transmitted. - * For hardware interfaces counts packets which host was able to successfully - * hand over to the device, which does not necessarily mean that packets - * had been successfully transmitted out of the device, only that device - * acknowledged it copied them out of host memory. - * - * @rx_bytes: Number of good received bytes, corresponding to @rx_packets. - * - * For IEEE 802.3 devices should count the length of Ethernet Frames - * excluding the FCS. - * - * @tx_bytes: Number of good transmitted bytes, corresponding to @tx_packets. - * - * For IEEE 802.3 devices should count the length of Ethernet Frames - * excluding the FCS. - * - * @rx_errors: Total number of bad packets received on this network device. - * This counter must include events counted by @rx_length_errors, - * @rx_crc_errors, @rx_frame_errors and other errors not otherwise - * counted. - * - * @tx_errors: Total number of transmit problems. - * This counter must include events counter by @tx_aborted_errors, - * @tx_carrier_errors, @tx_fifo_errors, @tx_heartbeat_errors, - * @tx_window_errors and other errors not otherwise counted. - * - * @rx_dropped: Number of packets received but not processed, - * e.g. due to lack of resources or unsupported protocol. - * For hardware interfaces this counter may include packets discarded - * due to L2 address filtering but should not include packets dropped - * by the device due to buffer exhaustion which are counted separately in - * @rx_missed_errors (since procfs folds those two counters together). - * - * @tx_dropped: Number of packets dropped on their way to transmission, - * e.g. due to lack of resources. - * - * @multicast: Multicast packets received. - * For hardware interfaces this statistic is commonly calculated - * at the device level (unlike @rx_packets) and therefore may include - * packets which did not reach the host. - * - * For IEEE 802.3 devices this counter may be equivalent to: - * - * - 30.3.1.1.21 aMulticastFramesReceivedOK - * - * @collisions: Number of collisions during packet transmissions. - * - * @rx_length_errors: Number of packets dropped due to invalid length. - * Part of aggregate "frame" errors in `/proc/net/dev`. - * - * For IEEE 802.3 devices this counter should be equivalent to a sum - * of the following attributes: - * - * - 30.3.1.1.23 aInRangeLengthErrors - * - 30.3.1.1.24 aOutOfRangeLengthField - * - 30.3.1.1.25 aFrameTooLongErrors - * - * @rx_over_errors: Receiver FIFO overflow event counter. - * - * Historically the count of overflow events. Such events may be - * reported in the receive descriptors or via interrupts, and may - * not correspond one-to-one with dropped packets. - * - * The recommended interpretation for high speed interfaces is - - * number of packets dropped because they did not fit into buffers - * provided by the host, e.g. packets larger than MTU or next buffer - * in the ring was not available for a scatter transfer. - * - * Part of aggregate "frame" errors in `/proc/net/dev`. - * - * This statistics was historically used interchangeably with - * @rx_fifo_errors. - * - * This statistic corresponds to hardware events and is not commonly used - * on software devices. - * - * @rx_crc_errors: Number of packets received with a CRC error. - * Part of aggregate "frame" errors in `/proc/net/dev`. - * - * For IEEE 802.3 devices this counter must be equivalent to: - * - * - 30.3.1.1.6 aFrameCheckSequenceErrors - * - * @rx_frame_errors: Receiver frame alignment errors. - * Part of aggregate "frame" errors in `/proc/net/dev`. - * - * For IEEE 802.3 devices this counter should be equivalent to: - * - * - 30.3.1.1.7 aAlignmentErrors - * - * @rx_fifo_errors: Receiver FIFO error counter. - * - * Historically the count of overflow events. Those events may be - * reported in the receive descriptors or via interrupts, and may - * not correspond one-to-one with dropped packets. - * - * This statistics was used interchangeably with @rx_over_errors. - * Not recommended for use in drivers for high speed interfaces. - * - * This statistic is used on software devices, e.g. to count software - * packet queue overflow (can) or sequencing errors (GRE). - * - * @rx_missed_errors: Count of packets missed by the host. - * Folded into the "drop" counter in `/proc/net/dev`. - * - * Counts number of packets dropped by the device due to lack - * of buffer space. This usually indicates that the host interface - * is slower than the network interface, or host is not keeping up - * with the receive packet rate. - * - * This statistic corresponds to hardware events and is not used - * on software devices. - * - * @tx_aborted_errors: - * Part of aggregate "carrier" errors in `/proc/net/dev`. - * For IEEE 802.3 devices capable of half-duplex operation this counter - * must be equivalent to: - * - * - 30.3.1.1.11 aFramesAbortedDueToXSColls - * - * High speed interfaces may use this counter as a general device - * discard counter. - * - * @tx_carrier_errors: Number of frame transmission errors due to loss - * of carrier during transmission. - * Part of aggregate "carrier" errors in `/proc/net/dev`. - * - * For IEEE 802.3 devices this counter must be equivalent to: - * - * - 30.3.1.1.13 aCarrierSenseErrors - * - * @tx_fifo_errors: Number of frame transmission errors due to device - * FIFO underrun / underflow. This condition occurs when the device - * begins transmission of a frame but is unable to deliver the - * entire frame to the transmitter in time for transmission. - * Part of aggregate "carrier" errors in `/proc/net/dev`. - * - * @tx_heartbeat_errors: Number of Heartbeat / SQE Test errors for - * old half-duplex Ethernet. - * Part of aggregate "carrier" errors in `/proc/net/dev`. - * - * For IEEE 802.3 devices possibly equivalent to: - * - * - 30.3.2.1.4 aSQETestErrors - * - * @tx_window_errors: Number of frame transmission errors due - * to late collisions (for Ethernet - after the first 64B of transmission). - * Part of aggregate "carrier" errors in `/proc/net/dev`. - * - * For IEEE 802.3 devices this counter must be equivalent to: - * - * - 30.3.1.1.10 aLateCollisions - * - * @rx_compressed: Number of correctly received compressed packets. - * This counters is only meaningful for interfaces which support - * packet compression (e.g. CSLIP, PPP). - * - * @tx_compressed: Number of transmitted compressed packets. - * This counters is only meaningful for interfaces which support - * packet compression (e.g. CSLIP, PPP). - * - * @rx_nohandler: Number of packets received on the interface - * but dropped by the networking stack because the device is - * not designated to receive packets (e.g. backup link in a bond). - */ -struct rtnl_link_stats64 { - __u64 rx_packets; - __u64 tx_packets; - __u64 rx_bytes; - __u64 tx_bytes; - __u64 rx_errors; - __u64 tx_errors; - __u64 rx_dropped; - __u64 tx_dropped; - __u64 multicast; - __u64 collisions; - - /* detailed rx_errors: */ - __u64 rx_length_errors; - __u64 rx_over_errors; - __u64 rx_crc_errors; - __u64 rx_frame_errors; - __u64 rx_fifo_errors; - __u64 rx_missed_errors; - - /* detailed tx_errors */ - __u64 tx_aborted_errors; - __u64 tx_carrier_errors; - __u64 tx_fifo_errors; - __u64 tx_heartbeat_errors; - __u64 tx_window_errors; - - /* for cslip etc */ - __u64 rx_compressed; - __u64 tx_compressed; - __u64 rx_nohandler; -}; - -/* The struct should be in sync with struct ifmap */ -struct rtnl_link_ifmap { - __u64 mem_start; - __u64 mem_end; - __u64 base_addr; - __u16 irq; - __u8 dma; - __u8 port; -}; - -/* - * IFLA_AF_SPEC - * Contains nested attributes for address family specific attributes. - * Each address family may create a attribute with the address family - * number as type and create its own attribute structure in it. - * - * Example: - * [IFLA_AF_SPEC] = { - * [AF_INET] = { - * [IFLA_INET_CONF] = ..., - * }, - * [AF_INET6] = { - * [IFLA_INET6_FLAGS] = ..., - * [IFLA_INET6_CONF] = ..., - * } - * } - */ - -enum { - IFLA_UNSPEC, - IFLA_ADDRESS, - IFLA_BROADCAST, - IFLA_IFNAME, - IFLA_MTU, - IFLA_LINK, - IFLA_QDISC, - IFLA_STATS, - IFLA_COST, -#define IFLA_COST IFLA_COST - IFLA_PRIORITY, -#define IFLA_PRIORITY IFLA_PRIORITY - IFLA_MASTER, -#define IFLA_MASTER IFLA_MASTER - IFLA_WIRELESS, /* Wireless Extension event - see wireless.h */ -#define IFLA_WIRELESS IFLA_WIRELESS - IFLA_PROTINFO, /* Protocol specific information for a link */ -#define IFLA_PROTINFO IFLA_PROTINFO - IFLA_TXQLEN, -#define IFLA_TXQLEN IFLA_TXQLEN - IFLA_MAP, -#define IFLA_MAP IFLA_MAP - IFLA_WEIGHT, -#define IFLA_WEIGHT IFLA_WEIGHT - IFLA_OPERSTATE, - IFLA_LINKMODE, - IFLA_LINKINFO, -#define IFLA_LINKINFO IFLA_LINKINFO - IFLA_NET_NS_PID, - IFLA_IFALIAS, - IFLA_NUM_VF, /* Number of VFs if device is SR-IOV PF */ - IFLA_VFINFO_LIST, - IFLA_STATS64, - IFLA_VF_PORTS, - IFLA_PORT_SELF, - IFLA_AF_SPEC, - IFLA_GROUP, /* Group the device belongs to */ - IFLA_NET_NS_FD, - IFLA_EXT_MASK, /* Extended info mask, VFs, etc */ - IFLA_PROMISCUITY, /* Promiscuity count: > 0 means acts PROMISC */ -#define IFLA_PROMISCUITY IFLA_PROMISCUITY - IFLA_NUM_TX_QUEUES, - IFLA_NUM_RX_QUEUES, - IFLA_CARRIER, - IFLA_PHYS_PORT_ID, - IFLA_CARRIER_CHANGES, - IFLA_PHYS_SWITCH_ID, - IFLA_LINK_NETNSID, - IFLA_PHYS_PORT_NAME, - IFLA_PROTO_DOWN, - IFLA_GSO_MAX_SEGS, - IFLA_GSO_MAX_SIZE, - IFLA_PAD, - IFLA_XDP, - IFLA_EVENT, - IFLA_NEW_NETNSID, - IFLA_IF_NETNSID, - IFLA_TARGET_NETNSID = IFLA_IF_NETNSID, /* new alias */ - IFLA_CARRIER_UP_COUNT, - IFLA_CARRIER_DOWN_COUNT, - IFLA_NEW_IFINDEX, - IFLA_MIN_MTU, - IFLA_MAX_MTU, - IFLA_PROP_LIST, - IFLA_ALT_IFNAME, /* Alternative ifname */ - IFLA_PERM_ADDRESS, - IFLA_PROTO_DOWN_REASON, - - /* device (sysfs) name as parent, used instead - * of IFLA_LINK where there's no parent netdev - */ - IFLA_PARENT_DEV_NAME, - IFLA_PARENT_DEV_BUS_NAME, - IFLA_GRO_MAX_SIZE, - - __IFLA_MAX -}; - - -#define IFLA_MAX (__IFLA_MAX - 1) - -enum { - IFLA_PROTO_DOWN_REASON_UNSPEC, - IFLA_PROTO_DOWN_REASON_MASK, /* u32, mask for reason bits */ - IFLA_PROTO_DOWN_REASON_VALUE, /* u32, reason bit value */ - - __IFLA_PROTO_DOWN_REASON_CNT, - IFLA_PROTO_DOWN_REASON_MAX = __IFLA_PROTO_DOWN_REASON_CNT - 1 -}; - -/* backwards compatibility for userspace */ -#ifndef __KERNEL__ -#define IFLA_RTA(r) ((struct rtattr*)(((char*)(r)) + NLMSG_ALIGN(sizeof(struct ifinfomsg)))) -#define IFLA_PAYLOAD(n) NLMSG_PAYLOAD(n,sizeof(struct ifinfomsg)) -#endif - -enum { - IFLA_INET_UNSPEC, - IFLA_INET_CONF, - __IFLA_INET_MAX, -}; - -#define IFLA_INET_MAX (__IFLA_INET_MAX - 1) - -/* ifi_flags. - - IFF_* flags. - - The only change is: - IFF_LOOPBACK, IFF_BROADCAST and IFF_POINTOPOINT are - more not changeable by user. They describe link media - characteristics and set by device driver. - - Comments: - - Combination IFF_BROADCAST|IFF_POINTOPOINT is invalid - - If neither of these three flags are set; - the interface is NBMA. - - - IFF_MULTICAST does not mean anything special: - multicasts can be used on all not-NBMA links. - IFF_MULTICAST means that this media uses special encapsulation - for multicast frames. Apparently, all IFF_POINTOPOINT and - IFF_BROADCAST devices are able to use multicasts too. - */ - -/* IFLA_LINK. - For usual devices it is equal ifi_index. - If it is a "virtual interface" (f.e. tunnel), ifi_link - can point to real physical interface (f.e. for bandwidth calculations), - or maybe 0, what means, that real media is unknown (usual - for IPIP tunnels, when route to endpoint is allowed to change) - */ - -/* Subtype attributes for IFLA_PROTINFO */ -enum { - IFLA_INET6_UNSPEC, - IFLA_INET6_FLAGS, /* link flags */ - IFLA_INET6_CONF, /* sysctl parameters */ - IFLA_INET6_STATS, /* statistics */ - IFLA_INET6_MCAST, /* MC things. What of them? */ - IFLA_INET6_CACHEINFO, /* time values and max reasm size */ - IFLA_INET6_ICMP6STATS, /* statistics (icmpv6) */ - IFLA_INET6_TOKEN, /* device token */ - IFLA_INET6_ADDR_GEN_MODE, /* implicit address generator mode */ - IFLA_INET6_RA_MTU, /* mtu carried in the RA message */ - __IFLA_INET6_MAX -}; - -#define IFLA_INET6_MAX (__IFLA_INET6_MAX - 1) - -enum in6_addr_gen_mode { - IN6_ADDR_GEN_MODE_EUI64, - IN6_ADDR_GEN_MODE_NONE, - IN6_ADDR_GEN_MODE_STABLE_PRIVACY, - IN6_ADDR_GEN_MODE_RANDOM, -}; - -/* Bridge section */ - -enum { - IFLA_BR_UNSPEC, - IFLA_BR_FORWARD_DELAY, - IFLA_BR_HELLO_TIME, - IFLA_BR_MAX_AGE, - IFLA_BR_AGEING_TIME, - IFLA_BR_STP_STATE, - IFLA_BR_PRIORITY, - IFLA_BR_VLAN_FILTERING, - IFLA_BR_VLAN_PROTOCOL, - IFLA_BR_GROUP_FWD_MASK, - IFLA_BR_ROOT_ID, - IFLA_BR_BRIDGE_ID, - IFLA_BR_ROOT_PORT, - IFLA_BR_ROOT_PATH_COST, - IFLA_BR_TOPOLOGY_CHANGE, - IFLA_BR_TOPOLOGY_CHANGE_DETECTED, - IFLA_BR_HELLO_TIMER, - IFLA_BR_TCN_TIMER, - IFLA_BR_TOPOLOGY_CHANGE_TIMER, - IFLA_BR_GC_TIMER, - IFLA_BR_GROUP_ADDR, - IFLA_BR_FDB_FLUSH, - IFLA_BR_MCAST_ROUTER, - IFLA_BR_MCAST_SNOOPING, - IFLA_BR_MCAST_QUERY_USE_IFADDR, - IFLA_BR_MCAST_QUERIER, - IFLA_BR_MCAST_HASH_ELASTICITY, - IFLA_BR_MCAST_HASH_MAX, - IFLA_BR_MCAST_LAST_MEMBER_CNT, - IFLA_BR_MCAST_STARTUP_QUERY_CNT, - IFLA_BR_MCAST_LAST_MEMBER_INTVL, - IFLA_BR_MCAST_MEMBERSHIP_INTVL, - IFLA_BR_MCAST_QUERIER_INTVL, - IFLA_BR_MCAST_QUERY_INTVL, - IFLA_BR_MCAST_QUERY_RESPONSE_INTVL, - IFLA_BR_MCAST_STARTUP_QUERY_INTVL, - IFLA_BR_NF_CALL_IPTABLES, - IFLA_BR_NF_CALL_IP6TABLES, - IFLA_BR_NF_CALL_ARPTABLES, - IFLA_BR_VLAN_DEFAULT_PVID, - IFLA_BR_PAD, - IFLA_BR_VLAN_STATS_ENABLED, - IFLA_BR_MCAST_STATS_ENABLED, - IFLA_BR_MCAST_IGMP_VERSION, - IFLA_BR_MCAST_MLD_VERSION, - IFLA_BR_VLAN_STATS_PER_PORT, - IFLA_BR_MULTI_BOOLOPT, - IFLA_BR_MCAST_QUERIER_STATE, - __IFLA_BR_MAX, -}; - -#define IFLA_BR_MAX (__IFLA_BR_MAX - 1) - -struct ifla_bridge_id { - __u8 prio[2]; - __u8 addr[6]; /* ETH_ALEN */ -}; - -enum { - BRIDGE_MODE_UNSPEC, - BRIDGE_MODE_HAIRPIN, -}; - -enum { - IFLA_BRPORT_UNSPEC, - IFLA_BRPORT_STATE, /* Spanning tree state */ - IFLA_BRPORT_PRIORITY, /* " priority */ - IFLA_BRPORT_COST, /* " cost */ - IFLA_BRPORT_MODE, /* mode (hairpin) */ - IFLA_BRPORT_GUARD, /* bpdu guard */ - IFLA_BRPORT_PROTECT, /* root port protection */ - IFLA_BRPORT_FAST_LEAVE, /* multicast fast leave */ - IFLA_BRPORT_LEARNING, /* mac learning */ - IFLA_BRPORT_UNICAST_FLOOD, /* flood unicast traffic */ - IFLA_BRPORT_PROXYARP, /* proxy ARP */ - IFLA_BRPORT_LEARNING_SYNC, /* mac learning sync from device */ - IFLA_BRPORT_PROXYARP_WIFI, /* proxy ARP for Wi-Fi */ - IFLA_BRPORT_ROOT_ID, /* designated root */ - IFLA_BRPORT_BRIDGE_ID, /* designated bridge */ - IFLA_BRPORT_DESIGNATED_PORT, - IFLA_BRPORT_DESIGNATED_COST, - IFLA_BRPORT_ID, - IFLA_BRPORT_NO, - IFLA_BRPORT_TOPOLOGY_CHANGE_ACK, - IFLA_BRPORT_CONFIG_PENDING, - IFLA_BRPORT_MESSAGE_AGE_TIMER, - IFLA_BRPORT_FORWARD_DELAY_TIMER, - IFLA_BRPORT_HOLD_TIMER, - IFLA_BRPORT_FLUSH, - IFLA_BRPORT_MULTICAST_ROUTER, - IFLA_BRPORT_PAD, - IFLA_BRPORT_MCAST_FLOOD, - IFLA_BRPORT_MCAST_TO_UCAST, - IFLA_BRPORT_VLAN_TUNNEL, - IFLA_BRPORT_BCAST_FLOOD, - IFLA_BRPORT_GROUP_FWD_MASK, - IFLA_BRPORT_NEIGH_SUPPRESS, - IFLA_BRPORT_ISOLATED, - IFLA_BRPORT_BACKUP_PORT, - IFLA_BRPORT_MRP_RING_OPEN, - IFLA_BRPORT_MRP_IN_OPEN, - IFLA_BRPORT_MCAST_EHT_HOSTS_LIMIT, - IFLA_BRPORT_MCAST_EHT_HOSTS_CNT, - __IFLA_BRPORT_MAX -}; -#define IFLA_BRPORT_MAX (__IFLA_BRPORT_MAX - 1) - -struct ifla_cacheinfo { - __u32 max_reasm_len; - __u32 tstamp; /* ipv6InterfaceTable updated timestamp */ - __u32 reachable_time; - __u32 retrans_time; -}; - -enum { - IFLA_INFO_UNSPEC, - IFLA_INFO_KIND, - IFLA_INFO_DATA, - IFLA_INFO_XSTATS, - IFLA_INFO_SLAVE_KIND, - IFLA_INFO_SLAVE_DATA, - __IFLA_INFO_MAX, -}; - -#define IFLA_INFO_MAX (__IFLA_INFO_MAX - 1) - -/* VLAN section */ - -enum { - IFLA_VLAN_UNSPEC, - IFLA_VLAN_ID, - IFLA_VLAN_FLAGS, - IFLA_VLAN_EGRESS_QOS, - IFLA_VLAN_INGRESS_QOS, - IFLA_VLAN_PROTOCOL, - __IFLA_VLAN_MAX, -}; - -#define IFLA_VLAN_MAX (__IFLA_VLAN_MAX - 1) - -struct ifla_vlan_flags { - __u32 flags; - __u32 mask; -}; - -enum { - IFLA_VLAN_QOS_UNSPEC, - IFLA_VLAN_QOS_MAPPING, - __IFLA_VLAN_QOS_MAX -}; - -#define IFLA_VLAN_QOS_MAX (__IFLA_VLAN_QOS_MAX - 1) - -struct ifla_vlan_qos_mapping { - __u32 from; - __u32 to; -}; - -/* MACVLAN section */ -enum { - IFLA_MACVLAN_UNSPEC, - IFLA_MACVLAN_MODE, - IFLA_MACVLAN_FLAGS, - IFLA_MACVLAN_MACADDR_MODE, - IFLA_MACVLAN_MACADDR, - IFLA_MACVLAN_MACADDR_DATA, - IFLA_MACVLAN_MACADDR_COUNT, - IFLA_MACVLAN_BC_QUEUE_LEN, - IFLA_MACVLAN_BC_QUEUE_LEN_USED, - __IFLA_MACVLAN_MAX, -}; - -#define IFLA_MACVLAN_MAX (__IFLA_MACVLAN_MAX - 1) - -enum macvlan_mode { - MACVLAN_MODE_PRIVATE = 1, /* don't talk to other macvlans */ - MACVLAN_MODE_VEPA = 2, /* talk to other ports through ext bridge */ - MACVLAN_MODE_BRIDGE = 4, /* talk to bridge ports directly */ - MACVLAN_MODE_PASSTHRU = 8,/* take over the underlying device */ - MACVLAN_MODE_SOURCE = 16,/* use source MAC address list to assign */ -}; - -enum macvlan_macaddr_mode { - MACVLAN_MACADDR_ADD, - MACVLAN_MACADDR_DEL, - MACVLAN_MACADDR_FLUSH, - MACVLAN_MACADDR_SET, -}; - -#define MACVLAN_FLAG_NOPROMISC 1 -#define MACVLAN_FLAG_NODST 2 /* skip dst macvlan if matching src macvlan */ - -/* VRF section */ -enum { - IFLA_VRF_UNSPEC, - IFLA_VRF_TABLE, - __IFLA_VRF_MAX -}; - -#define IFLA_VRF_MAX (__IFLA_VRF_MAX - 1) - -enum { - IFLA_VRF_PORT_UNSPEC, - IFLA_VRF_PORT_TABLE, - __IFLA_VRF_PORT_MAX -}; - -#define IFLA_VRF_PORT_MAX (__IFLA_VRF_PORT_MAX - 1) - -/* MACSEC section */ -enum { - IFLA_MACSEC_UNSPEC, - IFLA_MACSEC_SCI, - IFLA_MACSEC_PORT, - IFLA_MACSEC_ICV_LEN, - IFLA_MACSEC_CIPHER_SUITE, - IFLA_MACSEC_WINDOW, - IFLA_MACSEC_ENCODING_SA, - IFLA_MACSEC_ENCRYPT, - IFLA_MACSEC_PROTECT, - IFLA_MACSEC_INC_SCI, - IFLA_MACSEC_ES, - IFLA_MACSEC_SCB, - IFLA_MACSEC_REPLAY_PROTECT, - IFLA_MACSEC_VALIDATION, - IFLA_MACSEC_PAD, - IFLA_MACSEC_OFFLOAD, - __IFLA_MACSEC_MAX, -}; - -#define IFLA_MACSEC_MAX (__IFLA_MACSEC_MAX - 1) - -/* XFRM section */ -enum { - IFLA_XFRM_UNSPEC, - IFLA_XFRM_LINK, - IFLA_XFRM_IF_ID, - __IFLA_XFRM_MAX -}; - -#define IFLA_XFRM_MAX (__IFLA_XFRM_MAX - 1) - -enum macsec_validation_type { - MACSEC_VALIDATE_DISABLED = 0, - MACSEC_VALIDATE_CHECK = 1, - MACSEC_VALIDATE_STRICT = 2, - __MACSEC_VALIDATE_END, - MACSEC_VALIDATE_MAX = __MACSEC_VALIDATE_END - 1, -}; - -enum macsec_offload { - MACSEC_OFFLOAD_OFF = 0, - MACSEC_OFFLOAD_PHY = 1, - MACSEC_OFFLOAD_MAC = 2, - __MACSEC_OFFLOAD_END, - MACSEC_OFFLOAD_MAX = __MACSEC_OFFLOAD_END - 1, -}; - -/* IPVLAN section */ -enum { - IFLA_IPVLAN_UNSPEC, - IFLA_IPVLAN_MODE, - IFLA_IPVLAN_FLAGS, - __IFLA_IPVLAN_MAX -}; - -#define IFLA_IPVLAN_MAX (__IFLA_IPVLAN_MAX - 1) - -enum ipvlan_mode { - IPVLAN_MODE_L2 = 0, - IPVLAN_MODE_L3, - IPVLAN_MODE_L3S, - IPVLAN_MODE_MAX -}; - -#define IPVLAN_F_PRIVATE 0x01 -#define IPVLAN_F_VEPA 0x02 - -/* VXLAN section */ -enum { - IFLA_VXLAN_UNSPEC, - IFLA_VXLAN_ID, - IFLA_VXLAN_GROUP, /* group or remote address */ - IFLA_VXLAN_LINK, - IFLA_VXLAN_LOCAL, - IFLA_VXLAN_TTL, - IFLA_VXLAN_TOS, - IFLA_VXLAN_LEARNING, - IFLA_VXLAN_AGEING, - IFLA_VXLAN_LIMIT, - IFLA_VXLAN_PORT_RANGE, /* source port */ - IFLA_VXLAN_PROXY, - IFLA_VXLAN_RSC, - IFLA_VXLAN_L2MISS, - IFLA_VXLAN_L3MISS, - IFLA_VXLAN_PORT, /* destination port */ - IFLA_VXLAN_GROUP6, - IFLA_VXLAN_LOCAL6, - IFLA_VXLAN_UDP_CSUM, - IFLA_VXLAN_UDP_ZERO_CSUM6_TX, - IFLA_VXLAN_UDP_ZERO_CSUM6_RX, - IFLA_VXLAN_REMCSUM_TX, - IFLA_VXLAN_REMCSUM_RX, - IFLA_VXLAN_GBP, - IFLA_VXLAN_REMCSUM_NOPARTIAL, - IFLA_VXLAN_COLLECT_METADATA, - IFLA_VXLAN_LABEL, - IFLA_VXLAN_GPE, - IFLA_VXLAN_TTL_INHERIT, - IFLA_VXLAN_DF, - __IFLA_VXLAN_MAX -}; -#define IFLA_VXLAN_MAX (__IFLA_VXLAN_MAX - 1) - -struct ifla_vxlan_port_range { - __be16 low; - __be16 high; -}; - -enum ifla_vxlan_df { - VXLAN_DF_UNSET = 0, - VXLAN_DF_SET, - VXLAN_DF_INHERIT, - __VXLAN_DF_END, - VXLAN_DF_MAX = __VXLAN_DF_END - 1, -}; - -/* GENEVE section */ -enum { - IFLA_GENEVE_UNSPEC, - IFLA_GENEVE_ID, - IFLA_GENEVE_REMOTE, - IFLA_GENEVE_TTL, - IFLA_GENEVE_TOS, - IFLA_GENEVE_PORT, /* destination port */ - IFLA_GENEVE_COLLECT_METADATA, - IFLA_GENEVE_REMOTE6, - IFLA_GENEVE_UDP_CSUM, - IFLA_GENEVE_UDP_ZERO_CSUM6_TX, - IFLA_GENEVE_UDP_ZERO_CSUM6_RX, - IFLA_GENEVE_LABEL, - IFLA_GENEVE_TTL_INHERIT, - IFLA_GENEVE_DF, - __IFLA_GENEVE_MAX -}; -#define IFLA_GENEVE_MAX (__IFLA_GENEVE_MAX - 1) - -enum ifla_geneve_df { - GENEVE_DF_UNSET = 0, - GENEVE_DF_SET, - GENEVE_DF_INHERIT, - __GENEVE_DF_END, - GENEVE_DF_MAX = __GENEVE_DF_END - 1, -}; - -/* Bareudp section */ -enum { - IFLA_BAREUDP_UNSPEC, - IFLA_BAREUDP_PORT, - IFLA_BAREUDP_ETHERTYPE, - IFLA_BAREUDP_SRCPORT_MIN, - IFLA_BAREUDP_MULTIPROTO_MODE, - __IFLA_BAREUDP_MAX -}; - -#define IFLA_BAREUDP_MAX (__IFLA_BAREUDP_MAX - 1) - -/* PPP section */ -enum { - IFLA_PPP_UNSPEC, - IFLA_PPP_DEV_FD, - __IFLA_PPP_MAX -}; -#define IFLA_PPP_MAX (__IFLA_PPP_MAX - 1) - -/* GTP section */ - -enum ifla_gtp_role { - GTP_ROLE_GGSN = 0, - GTP_ROLE_SGSN, -}; - -enum { - IFLA_GTP_UNSPEC, - IFLA_GTP_FD0, - IFLA_GTP_FD1, - IFLA_GTP_PDP_HASHSIZE, - IFLA_GTP_ROLE, - __IFLA_GTP_MAX, -}; -#define IFLA_GTP_MAX (__IFLA_GTP_MAX - 1) - -/* Bonding section */ - -enum { - IFLA_BOND_UNSPEC, - IFLA_BOND_MODE, - IFLA_BOND_ACTIVE_SLAVE, - IFLA_BOND_MIIMON, - IFLA_BOND_UPDELAY, - IFLA_BOND_DOWNDELAY, - IFLA_BOND_USE_CARRIER, - IFLA_BOND_ARP_INTERVAL, - IFLA_BOND_ARP_IP_TARGET, - IFLA_BOND_ARP_VALIDATE, - IFLA_BOND_ARP_ALL_TARGETS, - IFLA_BOND_PRIMARY, - IFLA_BOND_PRIMARY_RESELECT, - IFLA_BOND_FAIL_OVER_MAC, - IFLA_BOND_XMIT_HASH_POLICY, - IFLA_BOND_RESEND_IGMP, - IFLA_BOND_NUM_PEER_NOTIF, - IFLA_BOND_ALL_SLAVES_ACTIVE, - IFLA_BOND_MIN_LINKS, - IFLA_BOND_LP_INTERVAL, - IFLA_BOND_PACKETS_PER_SLAVE, - IFLA_BOND_AD_LACP_RATE, - IFLA_BOND_AD_SELECT, - IFLA_BOND_AD_INFO, - IFLA_BOND_AD_ACTOR_SYS_PRIO, - IFLA_BOND_AD_USER_PORT_KEY, - IFLA_BOND_AD_ACTOR_SYSTEM, - IFLA_BOND_TLB_DYNAMIC_LB, - IFLA_BOND_PEER_NOTIF_DELAY, - IFLA_BOND_AD_LACP_ACTIVE, - IFLA_BOND_MISSED_MAX, - IFLA_BOND_NS_IP6_TARGET, - __IFLA_BOND_MAX, -}; - -#define IFLA_BOND_MAX (__IFLA_BOND_MAX - 1) - -enum { - IFLA_BOND_AD_INFO_UNSPEC, - IFLA_BOND_AD_INFO_AGGREGATOR, - IFLA_BOND_AD_INFO_NUM_PORTS, - IFLA_BOND_AD_INFO_ACTOR_KEY, - IFLA_BOND_AD_INFO_PARTNER_KEY, - IFLA_BOND_AD_INFO_PARTNER_MAC, - __IFLA_BOND_AD_INFO_MAX, -}; - -#define IFLA_BOND_AD_INFO_MAX (__IFLA_BOND_AD_INFO_MAX - 1) - -enum { - IFLA_BOND_SLAVE_UNSPEC, - IFLA_BOND_SLAVE_STATE, - IFLA_BOND_SLAVE_MII_STATUS, - IFLA_BOND_SLAVE_LINK_FAILURE_COUNT, - IFLA_BOND_SLAVE_PERM_HWADDR, - IFLA_BOND_SLAVE_QUEUE_ID, - IFLA_BOND_SLAVE_AD_AGGREGATOR_ID, - IFLA_BOND_SLAVE_AD_ACTOR_OPER_PORT_STATE, - IFLA_BOND_SLAVE_AD_PARTNER_OPER_PORT_STATE, - __IFLA_BOND_SLAVE_MAX, -}; - -#define IFLA_BOND_SLAVE_MAX (__IFLA_BOND_SLAVE_MAX - 1) - -/* SR-IOV virtual function management section */ - -enum { - IFLA_VF_INFO_UNSPEC, - IFLA_VF_INFO, - __IFLA_VF_INFO_MAX, -}; - -#define IFLA_VF_INFO_MAX (__IFLA_VF_INFO_MAX - 1) - -enum { - IFLA_VF_UNSPEC, - IFLA_VF_MAC, /* Hardware queue specific attributes */ - IFLA_VF_VLAN, /* VLAN ID and QoS */ - IFLA_VF_TX_RATE, /* Max TX Bandwidth Allocation */ - IFLA_VF_SPOOFCHK, /* Spoof Checking on/off switch */ - IFLA_VF_LINK_STATE, /* link state enable/disable/auto switch */ - IFLA_VF_RATE, /* Min and Max TX Bandwidth Allocation */ - IFLA_VF_RSS_QUERY_EN, /* RSS Redirection Table and Hash Key query - * on/off switch - */ - IFLA_VF_STATS, /* network device statistics */ - IFLA_VF_TRUST, /* Trust VF */ - IFLA_VF_IB_NODE_GUID, /* VF Infiniband node GUID */ - IFLA_VF_IB_PORT_GUID, /* VF Infiniband port GUID */ - IFLA_VF_VLAN_LIST, /* nested list of vlans, option for QinQ */ - IFLA_VF_BROADCAST, /* VF broadcast */ - __IFLA_VF_MAX, -}; - -#define IFLA_VF_MAX (__IFLA_VF_MAX - 1) - -struct ifla_vf_mac { - __u32 vf; - __u8 mac[32]; /* MAX_ADDR_LEN */ -}; - -struct ifla_vf_broadcast { - __u8 broadcast[32]; -}; - -struct ifla_vf_vlan { - __u32 vf; - __u32 vlan; /* 0 - 4095, 0 disables VLAN filter */ - __u32 qos; -}; - -enum { - IFLA_VF_VLAN_INFO_UNSPEC, - IFLA_VF_VLAN_INFO, /* VLAN ID, QoS and VLAN protocol */ - __IFLA_VF_VLAN_INFO_MAX, -}; - -#define IFLA_VF_VLAN_INFO_MAX (__IFLA_VF_VLAN_INFO_MAX - 1) -#define MAX_VLAN_LIST_LEN 1 - -struct ifla_vf_vlan_info { - __u32 vf; - __u32 vlan; /* 0 - 4095, 0 disables VLAN filter */ - __u32 qos; - __be16 vlan_proto; /* VLAN protocol either 802.1Q or 802.1ad */ -}; - -struct ifla_vf_tx_rate { - __u32 vf; - __u32 rate; /* Max TX bandwidth in Mbps, 0 disables throttling */ -}; - -struct ifla_vf_rate { - __u32 vf; - __u32 min_tx_rate; /* Min Bandwidth in Mbps */ - __u32 max_tx_rate; /* Max Bandwidth in Mbps */ -}; - -struct ifla_vf_spoofchk { - __u32 vf; - __u32 setting; -}; - -struct ifla_vf_guid { - __u32 vf; - __u64 guid; -}; - -enum { - IFLA_VF_LINK_STATE_AUTO, /* link state of the uplink */ - IFLA_VF_LINK_STATE_ENABLE, /* link always up */ - IFLA_VF_LINK_STATE_DISABLE, /* link always down */ - __IFLA_VF_LINK_STATE_MAX, -}; - -struct ifla_vf_link_state { - __u32 vf; - __u32 link_state; -}; - -struct ifla_vf_rss_query_en { - __u32 vf; - __u32 setting; -}; - -enum { - IFLA_VF_STATS_RX_PACKETS, - IFLA_VF_STATS_TX_PACKETS, - IFLA_VF_STATS_RX_BYTES, - IFLA_VF_STATS_TX_BYTES, - IFLA_VF_STATS_BROADCAST, - IFLA_VF_STATS_MULTICAST, - IFLA_VF_STATS_PAD, - IFLA_VF_STATS_RX_DROPPED, - IFLA_VF_STATS_TX_DROPPED, - __IFLA_VF_STATS_MAX, -}; - -#define IFLA_VF_STATS_MAX (__IFLA_VF_STATS_MAX - 1) - -struct ifla_vf_trust { - __u32 vf; - __u32 setting; -}; - -/* VF ports management section - * - * Nested layout of set/get msg is: - * - * [IFLA_NUM_VF] - * [IFLA_VF_PORTS] - * [IFLA_VF_PORT] - * [IFLA_PORT_*], ... - * [IFLA_VF_PORT] - * [IFLA_PORT_*], ... - * ... - * [IFLA_PORT_SELF] - * [IFLA_PORT_*], ... - */ - -enum { - IFLA_VF_PORT_UNSPEC, - IFLA_VF_PORT, /* nest */ - __IFLA_VF_PORT_MAX, -}; - -#define IFLA_VF_PORT_MAX (__IFLA_VF_PORT_MAX - 1) - -enum { - IFLA_PORT_UNSPEC, - IFLA_PORT_VF, /* __u32 */ - IFLA_PORT_PROFILE, /* string */ - IFLA_PORT_VSI_TYPE, /* 802.1Qbg (pre-)standard VDP */ - IFLA_PORT_INSTANCE_UUID, /* binary UUID */ - IFLA_PORT_HOST_UUID, /* binary UUID */ - IFLA_PORT_REQUEST, /* __u8 */ - IFLA_PORT_RESPONSE, /* __u16, output only */ - __IFLA_PORT_MAX, -}; - -#define IFLA_PORT_MAX (__IFLA_PORT_MAX - 1) - -#define PORT_PROFILE_MAX 40 -#define PORT_UUID_MAX 16 -#define PORT_SELF_VF -1 - -enum { - PORT_REQUEST_PREASSOCIATE = 0, - PORT_REQUEST_PREASSOCIATE_RR, - PORT_REQUEST_ASSOCIATE, - PORT_REQUEST_DISASSOCIATE, -}; - -enum { - PORT_VDP_RESPONSE_SUCCESS = 0, - PORT_VDP_RESPONSE_INVALID_FORMAT, - PORT_VDP_RESPONSE_INSUFFICIENT_RESOURCES, - PORT_VDP_RESPONSE_UNUSED_VTID, - PORT_VDP_RESPONSE_VTID_VIOLATION, - PORT_VDP_RESPONSE_VTID_VERSION_VIOALTION, - PORT_VDP_RESPONSE_OUT_OF_SYNC, - /* 0x08-0xFF reserved for future VDP use */ - PORT_PROFILE_RESPONSE_SUCCESS = 0x100, - PORT_PROFILE_RESPONSE_INPROGRESS, - PORT_PROFILE_RESPONSE_INVALID, - PORT_PROFILE_RESPONSE_BADSTATE, - PORT_PROFILE_RESPONSE_INSUFFICIENT_RESOURCES, - PORT_PROFILE_RESPONSE_ERROR, -}; - -struct ifla_port_vsi { - __u8 vsi_mgr_id; - __u8 vsi_type_id[3]; - __u8 vsi_type_version; - __u8 pad[3]; -}; - - -/* IPoIB section */ - -enum { - IFLA_IPOIB_UNSPEC, - IFLA_IPOIB_PKEY, - IFLA_IPOIB_MODE, - IFLA_IPOIB_UMCAST, - __IFLA_IPOIB_MAX -}; - -enum { - IPOIB_MODE_DATAGRAM = 0, /* using unreliable datagram QPs */ - IPOIB_MODE_CONNECTED = 1, /* using connected QPs */ -}; - -#define IFLA_IPOIB_MAX (__IFLA_IPOIB_MAX - 1) - - -/* HSR/PRP section, both uses same interface */ - -/* Different redundancy protocols for hsr device */ -enum { - HSR_PROTOCOL_HSR, - HSR_PROTOCOL_PRP, - HSR_PROTOCOL_MAX, -}; - -enum { - IFLA_HSR_UNSPEC, - IFLA_HSR_SLAVE1, - IFLA_HSR_SLAVE2, - IFLA_HSR_MULTICAST_SPEC, /* Last byte of supervision addr */ - IFLA_HSR_SUPERVISION_ADDR, /* Supervision frame multicast addr */ - IFLA_HSR_SEQ_NR, - IFLA_HSR_VERSION, /* HSR version */ - IFLA_HSR_PROTOCOL, /* Indicate different protocol than - * HSR. For example PRP. - */ - __IFLA_HSR_MAX, -}; - -#define IFLA_HSR_MAX (__IFLA_HSR_MAX - 1) - -/* STATS section */ - -struct if_stats_msg { - __u8 family; - __u8 pad1; - __u16 pad2; - __u32 ifindex; - __u32 filter_mask; -}; - -/* A stats attribute can be netdev specific or a global stat. - * For netdev stats, lets use the prefix IFLA_STATS_LINK_* - */ -enum { - IFLA_STATS_UNSPEC, /* also used as 64bit pad attribute */ - IFLA_STATS_LINK_64, - IFLA_STATS_LINK_XSTATS, - IFLA_STATS_LINK_XSTATS_SLAVE, - IFLA_STATS_LINK_OFFLOAD_XSTATS, - IFLA_STATS_AF_SPEC, - __IFLA_STATS_MAX, -}; - -#define IFLA_STATS_MAX (__IFLA_STATS_MAX - 1) - -#define IFLA_STATS_FILTER_BIT(ATTR) (1 << (ATTR - 1)) - -/* These are embedded into IFLA_STATS_LINK_XSTATS: - * [IFLA_STATS_LINK_XSTATS] - * -> [LINK_XSTATS_TYPE_xxx] - * -> [rtnl link type specific attributes] - */ -enum { - LINK_XSTATS_TYPE_UNSPEC, - LINK_XSTATS_TYPE_BRIDGE, - LINK_XSTATS_TYPE_BOND, - __LINK_XSTATS_TYPE_MAX -}; -#define LINK_XSTATS_TYPE_MAX (__LINK_XSTATS_TYPE_MAX - 1) - -/* These are stats embedded into IFLA_STATS_LINK_OFFLOAD_XSTATS */ -enum { - IFLA_OFFLOAD_XSTATS_UNSPEC, - IFLA_OFFLOAD_XSTATS_CPU_HIT, /* struct rtnl_link_stats64 */ - __IFLA_OFFLOAD_XSTATS_MAX -}; -#define IFLA_OFFLOAD_XSTATS_MAX (__IFLA_OFFLOAD_XSTATS_MAX - 1) - -/* XDP section */ - -#define XDP_FLAGS_UPDATE_IF_NOEXIST (1U << 0) -#define XDP_FLAGS_SKB_MODE (1U << 1) -#define XDP_FLAGS_DRV_MODE (1U << 2) -#define XDP_FLAGS_HW_MODE (1U << 3) -#define XDP_FLAGS_REPLACE (1U << 4) -#define XDP_FLAGS_MODES (XDP_FLAGS_SKB_MODE | \ - XDP_FLAGS_DRV_MODE | \ - XDP_FLAGS_HW_MODE) -#define XDP_FLAGS_MASK (XDP_FLAGS_UPDATE_IF_NOEXIST | \ - XDP_FLAGS_MODES | XDP_FLAGS_REPLACE) - -/* These are stored into IFLA_XDP_ATTACHED on dump. */ -enum { - XDP_ATTACHED_NONE = 0, - XDP_ATTACHED_DRV, - XDP_ATTACHED_SKB, - XDP_ATTACHED_HW, - XDP_ATTACHED_MULTI, -}; - -enum { - IFLA_XDP_UNSPEC, - IFLA_XDP_FD, - IFLA_XDP_ATTACHED, - IFLA_XDP_FLAGS, - IFLA_XDP_PROG_ID, - IFLA_XDP_DRV_PROG_ID, - IFLA_XDP_SKB_PROG_ID, - IFLA_XDP_HW_PROG_ID, - IFLA_XDP_EXPECTED_FD, - __IFLA_XDP_MAX, -}; - -#define IFLA_XDP_MAX (__IFLA_XDP_MAX - 1) - -enum { - IFLA_EVENT_NONE, - IFLA_EVENT_REBOOT, /* internal reset / reboot */ - IFLA_EVENT_FEATURES, /* change in offload features */ - IFLA_EVENT_BONDING_FAILOVER, /* change in active slave */ - IFLA_EVENT_NOTIFY_PEERS, /* re-sent grat. arp/ndisc */ - IFLA_EVENT_IGMP_RESEND, /* re-sent IGMP JOIN */ - IFLA_EVENT_BONDING_OPTIONS, /* change in bonding options */ -}; - -/* tun section */ - -enum { - IFLA_TUN_UNSPEC, - IFLA_TUN_OWNER, - IFLA_TUN_GROUP, - IFLA_TUN_TYPE, - IFLA_TUN_PI, - IFLA_TUN_VNET_HDR, - IFLA_TUN_PERSIST, - IFLA_TUN_MULTI_QUEUE, - IFLA_TUN_NUM_QUEUES, - IFLA_TUN_NUM_DISABLED_QUEUES, - __IFLA_TUN_MAX, -}; - -#define IFLA_TUN_MAX (__IFLA_TUN_MAX - 1) - -/* rmnet section */ - -#define RMNET_FLAGS_INGRESS_DEAGGREGATION (1U << 0) -#define RMNET_FLAGS_INGRESS_MAP_COMMANDS (1U << 1) -#define RMNET_FLAGS_INGRESS_MAP_CKSUMV4 (1U << 2) -#define RMNET_FLAGS_EGRESS_MAP_CKSUMV4 (1U << 3) -#define RMNET_FLAGS_INGRESS_MAP_CKSUMV5 (1U << 4) -#define RMNET_FLAGS_EGRESS_MAP_CKSUMV5 (1U << 5) - -enum { - IFLA_RMNET_UNSPEC, - IFLA_RMNET_MUX_ID, - IFLA_RMNET_FLAGS, - __IFLA_RMNET_MAX, -}; - -#define IFLA_RMNET_MAX (__IFLA_RMNET_MAX - 1) - -struct ifla_rmnet_flags { - __u32 flags; - __u32 mask; -}; - -/* MCTP section */ - -enum { - IFLA_MCTP_UNSPEC, - IFLA_MCTP_NET, - __IFLA_MCTP_MAX, -}; - -#define IFLA_MCTP_MAX (__IFLA_MCTP_MAX - 1) - -#endif /* _UAPI_LINUX_IF_LINK_H */ diff --git a/lcc/golcc/include/bpf/if_xdp.h b/lcc/golcc/include/bpf/if_xdp.h deleted file mode 100644 index a78a809..0000000 --- a/lcc/golcc/include/bpf/if_xdp.h +++ /dev/null @@ -1,111 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ -/* - * if_xdp: XDP socket user-space interface - * Copyright(c) 2018 Intel Corporation. - * - * Author(s): Björn Töpel - * Magnus Karlsson - */ - -#ifndef _LINUX_IF_XDP_H -#define _LINUX_IF_XDP_H - -#include - -/* Options for the sxdp_flags field */ -#define XDP_SHARED_UMEM (1 << 0) -#define XDP_COPY (1 << 1) /* Force copy-mode */ -#define XDP_ZEROCOPY (1 << 2) /* Force zero-copy mode */ -/* If this option is set, the driver might go sleep and in that case - * the XDP_RING_NEED_WAKEUP flag in the fill and/or Tx rings will be - * set. If it is set, the application need to explicitly wake up the - * driver with a poll() (Rx and Tx) or sendto() (Tx only). If you are - * running the driver and the application on the same core, you should - * use this option so that the kernel will yield to the user space - * application. - */ -#define XDP_USE_NEED_WAKEUP (1 << 3) - -/* Flags for xsk_umem_config flags */ -#define XDP_UMEM_UNALIGNED_CHUNK_FLAG (1 << 0) - -struct sockaddr_xdp { - __u16 sxdp_family; - __u16 sxdp_flags; - __u32 sxdp_ifindex; - __u32 sxdp_queue_id; - __u32 sxdp_shared_umem_fd; -}; - -/* XDP_RING flags */ -#define XDP_RING_NEED_WAKEUP (1 << 0) - -struct xdp_ring_offset { - __u64 producer; - __u64 consumer; - __u64 desc; - __u64 flags; -}; - -struct xdp_mmap_offsets { - struct xdp_ring_offset rx; - struct xdp_ring_offset tx; - struct xdp_ring_offset fr; /* Fill */ - struct xdp_ring_offset cr; /* Completion */ -}; - -/* XDP socket options */ -#define XDP_MMAP_OFFSETS 1 -#define XDP_RX_RING 2 -#define XDP_TX_RING 3 -#define XDP_UMEM_REG 4 -#define XDP_UMEM_FILL_RING 5 -#define XDP_UMEM_COMPLETION_RING 6 -#define XDP_STATISTICS 7 -#define XDP_OPTIONS 8 - -struct xdp_umem_reg { - __u64 addr; /* Start of packet data area */ - __u64 len; /* Length of packet data area */ - __u32 chunk_size; - __u32 headroom; - __u32 flags; -}; - -struct xdp_statistics { - __u64 rx_dropped; /* Dropped for other reasons */ - __u64 rx_invalid_descs; /* Dropped due to invalid descriptor */ - __u64 tx_invalid_descs; /* Dropped due to invalid descriptor */ - __u64 rx_ring_full; /* Dropped due to rx ring being full */ - __u64 rx_fill_ring_empty_descs; /* Failed to retrieve item from fill ring */ - __u64 tx_ring_empty_descs; /* Failed to retrieve item from tx ring */ -}; - -struct xdp_options { - __u32 flags; -}; - -/* Flags for the flags field of struct xdp_options */ -#define XDP_OPTIONS_ZEROCOPY (1 << 0) - -/* Pgoff for mmaping the rings */ -#define XDP_PGOFF_RX_RING 0 -#define XDP_PGOFF_TX_RING 0x80000000 -#define XDP_UMEM_PGOFF_FILL_RING 0x100000000ULL -#define XDP_UMEM_PGOFF_COMPLETION_RING 0x180000000ULL - -/* Masks for unaligned chunks mode */ -#define XSK_UNALIGNED_BUF_OFFSET_SHIFT 48 -#define XSK_UNALIGNED_BUF_ADDR_MASK \ - ((1ULL << XSK_UNALIGNED_BUF_OFFSET_SHIFT) - 1) - -/* Rx/Tx descriptor */ -struct xdp_desc { - __u64 addr; - __u32 len; - __u32 options; -}; - -/* UMEM descriptor is __u64 */ - -#endif /* _LINUX_IF_XDP_H */ diff --git a/lcc/golcc/include/bpf/libbpf.h b/lcc/golcc/include/bpf/libbpf.h deleted file mode 100644 index 9e9a3fd..0000000 --- a/lcc/golcc/include/bpf/libbpf.h +++ /dev/null @@ -1,1767 +0,0 @@ -/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */ - -/* - * Common eBPF ELF object loading operations. - * - * Copyright (C) 2013-2015 Alexei Starovoitov - * Copyright (C) 2015 Wang Nan - * Copyright (C) 2015 Huawei Inc. - */ -#ifndef __LIBBPF_LIBBPF_H -#define __LIBBPF_LIBBPF_H - -#include -#include -#include -#include -#include // for size_t -#include - -#include "libbpf_common.h" -#include "libbpf_legacy.h" - -#ifdef __cplusplus -extern "C" { -#endif - -LIBBPF_API __u32 libbpf_major_version(void); -LIBBPF_API __u32 libbpf_minor_version(void); -LIBBPF_API const char *libbpf_version_string(void); - -enum libbpf_errno { - __LIBBPF_ERRNO__START = 4000, - - /* Something wrong in libelf */ - LIBBPF_ERRNO__LIBELF = __LIBBPF_ERRNO__START, - LIBBPF_ERRNO__FORMAT, /* BPF object format invalid */ - LIBBPF_ERRNO__KVERSION, /* Incorrect or no 'version' section */ - LIBBPF_ERRNO__ENDIAN, /* Endian mismatch */ - LIBBPF_ERRNO__INTERNAL, /* Internal error in libbpf */ - LIBBPF_ERRNO__RELOC, /* Relocation failed */ - LIBBPF_ERRNO__LOAD, /* Load program failure for unknown reason */ - LIBBPF_ERRNO__VERIFY, /* Kernel verifier blocks program loading */ - LIBBPF_ERRNO__PROG2BIG, /* Program too big */ - LIBBPF_ERRNO__KVER, /* Incorrect kernel version */ - LIBBPF_ERRNO__PROGTYPE, /* Kernel doesn't support this program type */ - LIBBPF_ERRNO__WRNGPID, /* Wrong pid in netlink message */ - LIBBPF_ERRNO__INVSEQ, /* Invalid netlink sequence */ - LIBBPF_ERRNO__NLPARSE, /* netlink parsing error */ - __LIBBPF_ERRNO__END, -}; - -LIBBPF_API int libbpf_strerror(int err, char *buf, size_t size); - -enum libbpf_print_level { - LIBBPF_WARN, - LIBBPF_INFO, - LIBBPF_DEBUG, -}; - -typedef int (*libbpf_print_fn_t)(enum libbpf_print_level level, - const char *, va_list ap); - -LIBBPF_API libbpf_print_fn_t libbpf_set_print(libbpf_print_fn_t fn); - -/* Hide internal to user */ -struct bpf_object; - -struct bpf_object_open_attr { - const char *file; - enum bpf_prog_type prog_type; -}; - -struct bpf_object_open_opts { - /* size of this struct, for forward/backward compatiblity */ - size_t sz; - /* object name override, if provided: - * - for object open from file, this will override setting object - * name from file path's base name; - * - for object open from memory buffer, this will specify an object - * name and will override default "-" name; - */ - const char *object_name; - /* parse map definitions non-strictly, allowing extra attributes/data */ - bool relaxed_maps; - /* DEPRECATED: handle CO-RE relocations non-strictly, allowing failures. - * Value is ignored. Relocations always are processed non-strictly. - * Non-relocatable instructions are replaced with invalid ones to - * prevent accidental errors. - * */ - LIBBPF_DEPRECATED_SINCE(0, 6, "field has no effect") - bool relaxed_core_relocs; - /* maps that set the 'pinning' attribute in their definition will have - * their pin_path attribute set to a file in this directory, and be - * auto-pinned to that path on load; defaults to "/sys/fs/bpf". - */ - const char *pin_root_path; - - LIBBPF_DEPRECATED_SINCE(0, 7, "use bpf_program__set_attach_target() on each individual bpf_program") - __u32 attach_prog_fd; - /* Additional kernel config content that augments and overrides - * system Kconfig for CONFIG_xxx externs. - */ - const char *kconfig; - /* Path to the custom BTF to be used for BPF CO-RE relocations. - * This custom BTF completely replaces the use of vmlinux BTF - * for the purpose of CO-RE relocations. - * NOTE: any other BPF feature (e.g., fentry/fexit programs, - * struct_ops, etc) will need actual kernel BTF at /sys/kernel/btf/vmlinux. - */ - const char *btf_custom_path; - /* Pointer to a buffer for storing kernel logs for applicable BPF - * commands. Valid kernel_log_size has to be specified as well and are - * passed-through to bpf() syscall. Keep in mind that kernel might - * fail operation with -ENOSPC error if provided buffer is too small - * to contain entire log output. - * See the comment below for kernel_log_level for interaction between - * log_buf and log_level settings. - * - * If specified, this log buffer will be passed for: - * - each BPF progral load (BPF_PROG_LOAD) attempt, unless overriden - * with bpf_program__set_log() on per-program level, to get - * BPF verifier log output. - * - during BPF object's BTF load into kernel (BPF_BTF_LOAD) to get - * BTF sanity checking log. - * - * Each BPF command (BPF_BTF_LOAD or BPF_PROG_LOAD) will overwrite - * previous contents, so if you need more fine-grained control, set - * per-program buffer with bpf_program__set_log_buf() to preserve each - * individual program's verification log. Keep using kernel_log_buf - * for BTF verification log, if necessary. - */ - char *kernel_log_buf; - size_t kernel_log_size; - /* - * Log level can be set independently from log buffer. Log_level=0 - * means that libbpf will attempt loading BTF or program without any - * logging requested, but will retry with either its own or custom log - * buffer, if provided, and log_level=1 on any error. - * And vice versa, setting log_level>0 will request BTF or prog - * loading with verbose log from the first attempt (and as such also - * for successfully loaded BTF or program), and the actual log buffer - * could be either libbpf's own auto-allocated log buffer, if - * kernel_log_buffer is NULL, or user-provided custom kernel_log_buf. - * If user didn't provide custom log buffer, libbpf will emit captured - * logs through its print callback. - */ - __u32 kernel_log_level; - - size_t :0; -}; -#define bpf_object_open_opts__last_field kernel_log_level - -LIBBPF_API struct bpf_object *bpf_object__open(const char *path); - -/** - * @brief **bpf_object__open_file()** creates a bpf_object by opening - * the BPF ELF object file pointed to by the passed path and loading it - * into memory. - * @param path BPF object file path - * @param opts options for how to load the bpf object, this parameter is - * optional and can be set to NULL - * @return pointer to the new bpf_object; or NULL is returned on error, - * error code is stored in errno - */ -LIBBPF_API struct bpf_object * -bpf_object__open_file(const char *path, const struct bpf_object_open_opts *opts); - -/** - * @brief **bpf_object__open_mem()** creates a bpf_object by reading - * the BPF objects raw bytes from a memory buffer containing a valid - * BPF ELF object file. - * @param obj_buf pointer to the buffer containing ELF file bytes - * @param obj_buf_sz number of bytes in the buffer - * @param opts options for how to load the bpf object - * @return pointer to the new bpf_object; or NULL is returned on error, - * error code is stored in errno - */ -LIBBPF_API struct bpf_object * -bpf_object__open_mem(const void *obj_buf, size_t obj_buf_sz, - const struct bpf_object_open_opts *opts); - -/* deprecated bpf_object__open variants */ -LIBBPF_DEPRECATED_SINCE(0, 8, "use bpf_object__open_mem() instead") -LIBBPF_API struct bpf_object * -bpf_object__open_buffer(const void *obj_buf, size_t obj_buf_sz, - const char *name); -LIBBPF_DEPRECATED_SINCE(0, 7, "use bpf_object__open_file() instead") -LIBBPF_API struct bpf_object * -bpf_object__open_xattr(struct bpf_object_open_attr *attr); - -enum libbpf_pin_type { - LIBBPF_PIN_NONE, - /* PIN_BY_NAME: pin maps by name (in /sys/fs/bpf by default) */ - LIBBPF_PIN_BY_NAME, -}; - -/* pin_maps and unpin_maps can both be called with a NULL path, in which case - * they will use the pin_path attribute of each map (and ignore all maps that - * don't have a pin_path set). - */ -LIBBPF_API int bpf_object__pin_maps(struct bpf_object *obj, const char *path); -LIBBPF_API int bpf_object__unpin_maps(struct bpf_object *obj, - const char *path); -LIBBPF_API int bpf_object__pin_programs(struct bpf_object *obj, - const char *path); -LIBBPF_API int bpf_object__unpin_programs(struct bpf_object *obj, - const char *path); -LIBBPF_API int bpf_object__pin(struct bpf_object *object, const char *path); -LIBBPF_API void bpf_object__close(struct bpf_object *object); - -struct bpf_object_load_attr { - struct bpf_object *obj; - int log_level; - const char *target_btf_path; -}; - -/* Load/unload object into/from kernel */ -LIBBPF_API int bpf_object__load(struct bpf_object *obj); -LIBBPF_DEPRECATED_SINCE(0, 8, "use bpf_object__load() instead") -LIBBPF_API int bpf_object__load_xattr(struct bpf_object_load_attr *attr); -LIBBPF_DEPRECATED_SINCE(0, 6, "bpf_object__unload() is deprecated, use bpf_object__close() instead") -LIBBPF_API int bpf_object__unload(struct bpf_object *obj); - -LIBBPF_API const char *bpf_object__name(const struct bpf_object *obj); -LIBBPF_API unsigned int bpf_object__kversion(const struct bpf_object *obj); -LIBBPF_API int bpf_object__set_kversion(struct bpf_object *obj, __u32 kern_version); - -struct btf; -LIBBPF_API struct btf *bpf_object__btf(const struct bpf_object *obj); -LIBBPF_API int bpf_object__btf_fd(const struct bpf_object *obj); - -LIBBPF_DEPRECATED_SINCE(0, 7, "use bpf_object__find_program_by_name() instead") -LIBBPF_API struct bpf_program * -bpf_object__find_program_by_title(const struct bpf_object *obj, - const char *title); -LIBBPF_API struct bpf_program * -bpf_object__find_program_by_name(const struct bpf_object *obj, - const char *name); - -LIBBPF_API LIBBPF_DEPRECATED_SINCE(0, 7, "track bpf_objects in application code instead") -struct bpf_object *bpf_object__next(struct bpf_object *prev); -#define bpf_object__for_each_safe(pos, tmp) \ - for ((pos) = bpf_object__next(NULL), \ - (tmp) = bpf_object__next(pos); \ - (pos) != NULL; \ - (pos) = (tmp), (tmp) = bpf_object__next(tmp)) - -typedef void (*bpf_object_clear_priv_t)(struct bpf_object *, void *); -LIBBPF_DEPRECATED_SINCE(0, 7, "storage via set_priv/priv is deprecated") -LIBBPF_API int bpf_object__set_priv(struct bpf_object *obj, void *priv, - bpf_object_clear_priv_t clear_priv); -LIBBPF_DEPRECATED_SINCE(0, 7, "storage via set_priv/priv is deprecated") -LIBBPF_API void *bpf_object__priv(const struct bpf_object *prog); - -LIBBPF_API int -libbpf_prog_type_by_name(const char *name, enum bpf_prog_type *prog_type, - enum bpf_attach_type *expected_attach_type); -LIBBPF_API int libbpf_attach_type_by_name(const char *name, - enum bpf_attach_type *attach_type); -LIBBPF_API int libbpf_find_vmlinux_btf_id(const char *name, - enum bpf_attach_type attach_type); - -/* Accessors of bpf_program */ -struct bpf_program; -LIBBPF_API LIBBPF_DEPRECATED_SINCE(0, 7, "use bpf_object__next_program() instead") -struct bpf_program *bpf_program__next(struct bpf_program *prog, - const struct bpf_object *obj); -LIBBPF_API struct bpf_program * -bpf_object__next_program(const struct bpf_object *obj, struct bpf_program *prog); - -#define bpf_object__for_each_program(pos, obj) \ - for ((pos) = bpf_object__next_program((obj), NULL); \ - (pos) != NULL; \ - (pos) = bpf_object__next_program((obj), (pos))) - -LIBBPF_API LIBBPF_DEPRECATED_SINCE(0, 7, "use bpf_object__prev_program() instead") -struct bpf_program *bpf_program__prev(struct bpf_program *prog, - const struct bpf_object *obj); -LIBBPF_API struct bpf_program * -bpf_object__prev_program(const struct bpf_object *obj, struct bpf_program *prog); - -typedef void (*bpf_program_clear_priv_t)(struct bpf_program *, void *); - -LIBBPF_DEPRECATED_SINCE(0, 7, "storage via set_priv/priv is deprecated") -LIBBPF_API int bpf_program__set_priv(struct bpf_program *prog, void *priv, - bpf_program_clear_priv_t clear_priv); -LIBBPF_DEPRECATED_SINCE(0, 7, "storage via set_priv/priv is deprecated") -LIBBPF_API void *bpf_program__priv(const struct bpf_program *prog); -LIBBPF_API void bpf_program__set_ifindex(struct bpf_program *prog, - __u32 ifindex); - -LIBBPF_API const char *bpf_program__name(const struct bpf_program *prog); -LIBBPF_API const char *bpf_program__section_name(const struct bpf_program *prog); -LIBBPF_API LIBBPF_DEPRECATED("BPF program title is confusing term; please use bpf_program__section_name() instead") -const char *bpf_program__title(const struct bpf_program *prog, bool needs_copy); -LIBBPF_API bool bpf_program__autoload(const struct bpf_program *prog); -LIBBPF_API int bpf_program__set_autoload(struct bpf_program *prog, bool autoload); - -/* returns program size in bytes */ -LIBBPF_DEPRECATED_SINCE(0, 7, "use bpf_program__insn_cnt() instead") -LIBBPF_API size_t bpf_program__size(const struct bpf_program *prog); - -struct bpf_insn; - -/** - * @brief **bpf_program__insns()** gives read-only access to BPF program's - * underlying BPF instructions. - * @param prog BPF program for which to return instructions - * @return a pointer to an array of BPF instructions that belong to the - * specified BPF program - * - * Returned pointer is always valid and not NULL. Number of `struct bpf_insn` - * pointed to can be fetched using **bpf_program__insn_cnt()** API. - * - * Keep in mind, libbpf can modify and append/delete BPF program's - * instructions as it processes BPF object file and prepares everything for - * uploading into the kernel. So depending on the point in BPF object - * lifetime, **bpf_program__insns()** can return different sets of - * instructions. As an example, during BPF object load phase BPF program - * instructions will be CO-RE-relocated, BPF subprograms instructions will be - * appended, ldimm64 instructions will have FDs embedded, etc. So instructions - * returned before **bpf_object__load()** and after it might be quite - * different. - */ -LIBBPF_API const struct bpf_insn *bpf_program__insns(const struct bpf_program *prog); - -/** - * @brief **bpf_program__set_insns()** can set BPF program's underlying - * BPF instructions. - * - * WARNING: This is a very advanced libbpf API and users need to know - * what they are doing. This should be used from prog_prepare_load_fn - * callback only. - * - * @param prog BPF program for which to return instructions - * @param new_insns a pointer to an array of BPF instructions - * @param new_insn_cnt number of `struct bpf_insn`'s that form - * specified BPF program - * @return 0, on success; negative error code, otherwise - */ -LIBBPF_API int bpf_program__set_insns(struct bpf_program *prog, - struct bpf_insn *new_insns, size_t new_insn_cnt); - -/** - * @brief **bpf_program__insn_cnt()** returns number of `struct bpf_insn`'s - * that form specified BPF program. - * @param prog BPF program for which to return number of BPF instructions - * - * See **bpf_program__insns()** documentation for notes on how libbpf can - * change instructions and their count during different phases of - * **bpf_object** lifetime. - */ -LIBBPF_API size_t bpf_program__insn_cnt(const struct bpf_program *prog); - -LIBBPF_DEPRECATED_SINCE(0, 6, "use bpf_object__load() instead") -LIBBPF_API int bpf_program__load(struct bpf_program *prog, const char *license, __u32 kern_version); -LIBBPF_API int bpf_program__fd(const struct bpf_program *prog); -LIBBPF_DEPRECATED_SINCE(0, 7, "multi-instance bpf_program support is deprecated") -LIBBPF_API int bpf_program__pin_instance(struct bpf_program *prog, - const char *path, - int instance); -LIBBPF_DEPRECATED_SINCE(0, 7, "multi-instance bpf_program support is deprecated") -LIBBPF_API int bpf_program__unpin_instance(struct bpf_program *prog, - const char *path, - int instance); - -/** - * @brief **bpf_program__pin()** pins the BPF program to a file - * in the BPF FS specified by a path. This increments the programs - * reference count, allowing it to stay loaded after the process - * which loaded it has exited. - * - * @param prog BPF program to pin, must already be loaded - * @param path file path in a BPF file system - * @return 0, on success; negative error code, otherwise - */ -LIBBPF_API int bpf_program__pin(struct bpf_program *prog, const char *path); - -/** - * @brief **bpf_program__unpin()** unpins the BPF program from a file - * in the BPFFS specified by a path. This decrements the programs - * reference count. - * - * The file pinning the BPF program can also be unlinked by a different - * process in which case this function will return an error. - * - * @param prog BPF program to unpin - * @param path file path to the pin in a BPF file system - * @return 0, on success; negative error code, otherwise - */ -LIBBPF_API int bpf_program__unpin(struct bpf_program *prog, const char *path); -LIBBPF_API void bpf_program__unload(struct bpf_program *prog); - -struct bpf_link; - -LIBBPF_API struct bpf_link *bpf_link__open(const char *path); -LIBBPF_API int bpf_link__fd(const struct bpf_link *link); -LIBBPF_API const char *bpf_link__pin_path(const struct bpf_link *link); -/** - * @brief **bpf_link__pin()** pins the BPF link to a file - * in the BPF FS specified by a path. This increments the links - * reference count, allowing it to stay loaded after the process - * which loaded it has exited. - * - * @param link BPF link to pin, must already be loaded - * @param path file path in a BPF file system - * @return 0, on success; negative error code, otherwise - */ - -LIBBPF_API int bpf_link__pin(struct bpf_link *link, const char *path); - -/** - * @brief **bpf_link__unpin()** unpins the BPF link from a file - * in the BPFFS specified by a path. This decrements the links - * reference count. - * - * The file pinning the BPF link can also be unlinked by a different - * process in which case this function will return an error. - * - * @param prog BPF program to unpin - * @param path file path to the pin in a BPF file system - * @return 0, on success; negative error code, otherwise - */ -LIBBPF_API int bpf_link__unpin(struct bpf_link *link); -LIBBPF_API int bpf_link__update_program(struct bpf_link *link, - struct bpf_program *prog); -LIBBPF_API void bpf_link__disconnect(struct bpf_link *link); -LIBBPF_API int bpf_link__detach(struct bpf_link *link); -LIBBPF_API int bpf_link__destroy(struct bpf_link *link); - -/** - * @brief **bpf_program__attach()** is a generic function for attaching - * a BPF program based on auto-detection of program type, attach type, - * and extra paremeters, where applicable. - * - * @param prog BPF program to attach - * @return Reference to the newly created BPF link; or NULL is returned on error, - * error code is stored in errno - * - * This is supported for: - * - kprobe/kretprobe (depends on SEC() definition) - * - uprobe/uretprobe (depends on SEC() definition) - * - tracepoint - * - raw tracepoint - * - tracing programs (typed raw TP/fentry/fexit/fmod_ret) - */ -LIBBPF_API struct bpf_link * -bpf_program__attach(const struct bpf_program *prog); - -struct bpf_perf_event_opts { - /* size of this struct, for forward/backward compatiblity */ - size_t sz; - /* custom user-provided value fetchable through bpf_get_attach_cookie() */ - __u64 bpf_cookie; -}; -#define bpf_perf_event_opts__last_field bpf_cookie - -LIBBPF_API struct bpf_link * -bpf_program__attach_perf_event(const struct bpf_program *prog, int pfd); - -LIBBPF_API struct bpf_link * -bpf_program__attach_perf_event_opts(const struct bpf_program *prog, int pfd, - const struct bpf_perf_event_opts *opts); - -struct bpf_kprobe_opts { - /* size of this struct, for forward/backward compatiblity */ - size_t sz; - /* custom user-provided value fetchable through bpf_get_attach_cookie() */ - __u64 bpf_cookie; - /* function's offset to install kprobe to */ - size_t offset; - /* kprobe is return probe */ - bool retprobe; - size_t :0; -}; -#define bpf_kprobe_opts__last_field retprobe - -LIBBPF_API struct bpf_link * -bpf_program__attach_kprobe(const struct bpf_program *prog, bool retprobe, - const char *func_name); -LIBBPF_API struct bpf_link * -bpf_program__attach_kprobe_opts(const struct bpf_program *prog, - const char *func_name, - const struct bpf_kprobe_opts *opts); - -struct bpf_kprobe_multi_opts { - /* size of this struct, for forward/backward compatibility */ - size_t sz; - /* array of function symbols to attach */ - const char **syms; - /* array of function addresses to attach */ - const unsigned long *addrs; - /* array of user-provided values fetchable through bpf_get_attach_cookie */ - const __u64 *cookies; - /* number of elements in syms/addrs/cookies arrays */ - size_t cnt; - /* create return kprobes */ - bool retprobe; - size_t :0; -}; - -#define bpf_kprobe_multi_opts__last_field retprobe - -LIBBPF_API struct bpf_link * -bpf_program__attach_kprobe_multi_opts(const struct bpf_program *prog, - const char *pattern, - const struct bpf_kprobe_multi_opts *opts); - -struct bpf_uprobe_opts { - /* size of this struct, for forward/backward compatiblity */ - size_t sz; - /* offset of kernel reference counted USDT semaphore, added in - * a6ca88b241d5 ("trace_uprobe: support reference counter in fd-based uprobe") - */ - size_t ref_ctr_offset; - /* custom user-provided value fetchable through bpf_get_attach_cookie() */ - __u64 bpf_cookie; - /* uprobe is return probe, invoked at function return time */ - bool retprobe; - /* Function name to attach to. Could be an unqualified ("abc") or library-qualified - * "abc@LIBXYZ" name. To specify function entry, func_name should be set while - * func_offset argument to bpf_prog__attach_uprobe_opts() should be 0. To trace an - * offset within a function, specify func_name and use func_offset argument to specify - * offset within the function. Shared library functions must specify the shared library - * binary_path. - */ - const char *func_name; - size_t :0; -}; -#define bpf_uprobe_opts__last_field func_name - -/** - * @brief **bpf_program__attach_uprobe()** attaches a BPF program - * to the userspace function which is found by binary path and - * offset. You can optionally specify a particular proccess to attach - * to. You can also optionally attach the program to the function - * exit instead of entry. - * - * @param prog BPF program to attach - * @param retprobe Attach to function exit - * @param pid Process ID to attach the uprobe to, 0 for self (own process), - * -1 for all processes - * @param binary_path Path to binary that contains the function symbol - * @param func_offset Offset within the binary of the function symbol - * @return Reference to the newly created BPF link; or NULL is returned on error, - * error code is stored in errno - */ -LIBBPF_API struct bpf_link * -bpf_program__attach_uprobe(const struct bpf_program *prog, bool retprobe, - pid_t pid, const char *binary_path, - size_t func_offset); - -/** - * @brief **bpf_program__attach_uprobe_opts()** is just like - * bpf_program__attach_uprobe() except with a options struct - * for various configurations. - * - * @param prog BPF program to attach - * @param pid Process ID to attach the uprobe to, 0 for self (own process), - * -1 for all processes - * @param binary_path Path to binary that contains the function symbol - * @param func_offset Offset within the binary of the function symbol - * @param opts Options for altering program attachment - * @return Reference to the newly created BPF link; or NULL is returned on error, - * error code is stored in errno - */ -LIBBPF_API struct bpf_link * -bpf_program__attach_uprobe_opts(const struct bpf_program *prog, pid_t pid, - const char *binary_path, size_t func_offset, - const struct bpf_uprobe_opts *opts); - -struct bpf_usdt_opts { - /* size of this struct, for forward/backward compatibility */ - size_t sz; - /* custom user-provided value accessible through usdt_cookie() */ - __u64 usdt_cookie; - size_t :0; -}; -#define bpf_usdt_opts__last_field usdt_cookie - -/** - * @brief **bpf_program__attach_usdt()** is just like - * bpf_program__attach_uprobe_opts() except it covers USDT (User-space - * Statically Defined Tracepoint) attachment, instead of attaching to - * user-space function entry or exit. - * - * @param prog BPF program to attach - * @param pid Process ID to attach the uprobe to, 0 for self (own process), - * -1 for all processes - * @param binary_path Path to binary that contains provided USDT probe - * @param usdt_provider USDT provider name - * @param usdt_name USDT probe name - * @param opts Options for altering program attachment - * @return Reference to the newly created BPF link; or NULL is returned on error, - * error code is stored in errno - */ -LIBBPF_API struct bpf_link * -bpf_program__attach_usdt(const struct bpf_program *prog, - pid_t pid, const char *binary_path, - const char *usdt_provider, const char *usdt_name, - const struct bpf_usdt_opts *opts); - -struct bpf_tracepoint_opts { - /* size of this struct, for forward/backward compatiblity */ - size_t sz; - /* custom user-provided value fetchable through bpf_get_attach_cookie() */ - __u64 bpf_cookie; -}; -#define bpf_tracepoint_opts__last_field bpf_cookie - -LIBBPF_API struct bpf_link * -bpf_program__attach_tracepoint(const struct bpf_program *prog, - const char *tp_category, - const char *tp_name); -LIBBPF_API struct bpf_link * -bpf_program__attach_tracepoint_opts(const struct bpf_program *prog, - const char *tp_category, - const char *tp_name, - const struct bpf_tracepoint_opts *opts); - -LIBBPF_API struct bpf_link * -bpf_program__attach_raw_tracepoint(const struct bpf_program *prog, - const char *tp_name); - -struct bpf_trace_opts { - /* size of this struct, for forward/backward compatibility */ - size_t sz; - /* custom user-provided value fetchable through bpf_get_attach_cookie() */ - __u64 cookie; -}; -#define bpf_trace_opts__last_field cookie - -LIBBPF_API struct bpf_link * -bpf_program__attach_trace(const struct bpf_program *prog); -LIBBPF_API struct bpf_link * -bpf_program__attach_trace_opts(const struct bpf_program *prog, const struct bpf_trace_opts *opts); - -LIBBPF_API struct bpf_link * -bpf_program__attach_lsm(const struct bpf_program *prog); -LIBBPF_API struct bpf_link * -bpf_program__attach_cgroup(const struct bpf_program *prog, int cgroup_fd); -LIBBPF_API struct bpf_link * -bpf_program__attach_netns(const struct bpf_program *prog, int netns_fd); -LIBBPF_API struct bpf_link * -bpf_program__attach_xdp(const struct bpf_program *prog, int ifindex); -LIBBPF_API struct bpf_link * -bpf_program__attach_freplace(const struct bpf_program *prog, - int target_fd, const char *attach_func_name); - -struct bpf_map; - -LIBBPF_API struct bpf_link *bpf_map__attach_struct_ops(const struct bpf_map *map); - -struct bpf_iter_attach_opts { - size_t sz; /* size of this struct for forward/backward compatibility */ - union bpf_iter_link_info *link_info; - __u32 link_info_len; -}; -#define bpf_iter_attach_opts__last_field link_info_len - -LIBBPF_API struct bpf_link * -bpf_program__attach_iter(const struct bpf_program *prog, - const struct bpf_iter_attach_opts *opts); - -/* - * Libbpf allows callers to adjust BPF programs before being loaded - * into kernel. One program in an object file can be transformed into - * multiple variants to be attached to different hooks. - * - * bpf_program_prep_t, bpf_program__set_prep and bpf_program__nth_fd - * form an API for this purpose. - * - * - bpf_program_prep_t: - * Defines a 'preprocessor', which is a caller defined function - * passed to libbpf through bpf_program__set_prep(), and will be - * called before program is loaded. The processor should adjust - * the program one time for each instance according to the instance id - * passed to it. - * - * - bpf_program__set_prep: - * Attaches a preprocessor to a BPF program. The number of instances - * that should be created is also passed through this function. - * - * - bpf_program__nth_fd: - * After the program is loaded, get resulting FD of a given instance - * of the BPF program. - * - * If bpf_program__set_prep() is not used, the program would be loaded - * without adjustment during bpf_object__load(). The program has only - * one instance. In this case bpf_program__fd(prog) is equal to - * bpf_program__nth_fd(prog, 0). - */ -struct bpf_prog_prep_result { - /* - * If not NULL, load new instruction array. - * If set to NULL, don't load this instance. - */ - struct bpf_insn *new_insn_ptr; - int new_insn_cnt; - - /* If not NULL, result FD is written to it. */ - int *pfd; -}; - -/* - * Parameters of bpf_program_prep_t: - * - prog: The bpf_program being loaded. - * - n: Index of instance being generated. - * - insns: BPF instructions array. - * - insns_cnt:Number of instructions in insns. - * - res: Output parameter, result of transformation. - * - * Return value: - * - Zero: pre-processing success. - * - Non-zero: pre-processing error, stop loading. - */ -typedef int (*bpf_program_prep_t)(struct bpf_program *prog, int n, - struct bpf_insn *insns, int insns_cnt, - struct bpf_prog_prep_result *res); - -LIBBPF_DEPRECATED_SINCE(0, 7, "use bpf_program__insns() for getting bpf_program instructions") -LIBBPF_API int bpf_program__set_prep(struct bpf_program *prog, int nr_instance, - bpf_program_prep_t prep); - -LIBBPF_DEPRECATED_SINCE(0, 7, "multi-instance bpf_program support is deprecated") -LIBBPF_API int bpf_program__nth_fd(const struct bpf_program *prog, int n); - -/* - * Adjust type of BPF program. Default is kprobe. - */ -LIBBPF_DEPRECATED_SINCE(0, 8, "use bpf_program__set_type() instead") -LIBBPF_API int bpf_program__set_socket_filter(struct bpf_program *prog); -LIBBPF_DEPRECATED_SINCE(0, 8, "use bpf_program__set_type() instead") -LIBBPF_API int bpf_program__set_tracepoint(struct bpf_program *prog); -LIBBPF_DEPRECATED_SINCE(0, 8, "use bpf_program__set_type() instead") -LIBBPF_API int bpf_program__set_raw_tracepoint(struct bpf_program *prog); -LIBBPF_DEPRECATED_SINCE(0, 8, "use bpf_program__set_type() instead") -LIBBPF_API int bpf_program__set_kprobe(struct bpf_program *prog); -LIBBPF_DEPRECATED_SINCE(0, 8, "use bpf_program__set_type() instead") -LIBBPF_API int bpf_program__set_lsm(struct bpf_program *prog); -LIBBPF_DEPRECATED_SINCE(0, 8, "use bpf_program__set_type() instead") -LIBBPF_API int bpf_program__set_sched_cls(struct bpf_program *prog); -LIBBPF_DEPRECATED_SINCE(0, 8, "use bpf_program__set_type() instead") -LIBBPF_API int bpf_program__set_sched_act(struct bpf_program *prog); -LIBBPF_DEPRECATED_SINCE(0, 8, "use bpf_program__set_type() instead") -LIBBPF_API int bpf_program__set_xdp(struct bpf_program *prog); -LIBBPF_DEPRECATED_SINCE(0, 8, "use bpf_program__set_type() instead") -LIBBPF_API int bpf_program__set_perf_event(struct bpf_program *prog); -LIBBPF_DEPRECATED_SINCE(0, 8, "use bpf_program__set_type() instead") -LIBBPF_API int bpf_program__set_tracing(struct bpf_program *prog); -LIBBPF_DEPRECATED_SINCE(0, 8, "use bpf_program__set_type() instead") -LIBBPF_API int bpf_program__set_struct_ops(struct bpf_program *prog); -LIBBPF_DEPRECATED_SINCE(0, 8, "use bpf_program__set_type() instead") -LIBBPF_API int bpf_program__set_extension(struct bpf_program *prog); -LIBBPF_DEPRECATED_SINCE(0, 8, "use bpf_program__set_type() instead") -LIBBPF_API int bpf_program__set_sk_lookup(struct bpf_program *prog); - -LIBBPF_API enum bpf_prog_type bpf_program__type(const struct bpf_program *prog); - -/** - * @brief **bpf_program__set_type()** sets the program - * type of the passed BPF program. - * @param prog BPF program to set the program type for - * @param type program type to set the BPF map to have - * @return error code; or 0 if no error. An error occurs - * if the object is already loaded. - * - * This must be called before the BPF object is loaded, - * otherwise it has no effect and an error is returned. - */ -LIBBPF_API int bpf_program__set_type(struct bpf_program *prog, - enum bpf_prog_type type); - -LIBBPF_API enum bpf_attach_type -bpf_program__expected_attach_type(const struct bpf_program *prog); - -/** - * @brief **bpf_program__set_expected_attach_type()** sets the - * attach type of the passed BPF program. This is used for - * auto-detection of attachment when programs are loaded. - * @param prog BPF program to set the attach type for - * @param type attach type to set the BPF map to have - * @return error code; or 0 if no error. An error occurs - * if the object is already loaded. - * - * This must be called before the BPF object is loaded, - * otherwise it has no effect and an error is returned. - */ -LIBBPF_API int -bpf_program__set_expected_attach_type(struct bpf_program *prog, - enum bpf_attach_type type); - -LIBBPF_API __u32 bpf_program__flags(const struct bpf_program *prog); -LIBBPF_API int bpf_program__set_flags(struct bpf_program *prog, __u32 flags); - -/* Per-program log level and log buffer getters/setters. - * See bpf_object_open_opts comments regarding log_level and log_buf - * interactions. - */ -LIBBPF_API __u32 bpf_program__log_level(const struct bpf_program *prog); -LIBBPF_API int bpf_program__set_log_level(struct bpf_program *prog, __u32 log_level); -LIBBPF_API const char *bpf_program__log_buf(const struct bpf_program *prog, size_t *log_size); -LIBBPF_API int bpf_program__set_log_buf(struct bpf_program *prog, char *log_buf, size_t log_size); - -/** - * @brief **bpf_program__set_attach_target()** sets BTF-based attach target - * for supported BPF program types: - * - BTF-aware raw tracepoints (tp_btf); - * - fentry/fexit/fmod_ret; - * - lsm; - * - freplace. - * @param prog BPF program to set the attach type for - * @param type attach type to set the BPF map to have - * @return error code; or 0 if no error occurred. - */ -LIBBPF_API int -bpf_program__set_attach_target(struct bpf_program *prog, int attach_prog_fd, - const char *attach_func_name); - -LIBBPF_DEPRECATED_SINCE(0, 8, "use bpf_program__type() instead") -LIBBPF_API bool bpf_program__is_socket_filter(const struct bpf_program *prog); -LIBBPF_DEPRECATED_SINCE(0, 8, "use bpf_program__type() instead") -LIBBPF_API bool bpf_program__is_tracepoint(const struct bpf_program *prog); -LIBBPF_DEPRECATED_SINCE(0, 8, "use bpf_program__type() instead") -LIBBPF_API bool bpf_program__is_raw_tracepoint(const struct bpf_program *prog); -LIBBPF_DEPRECATED_SINCE(0, 8, "use bpf_program__type() instead") -LIBBPF_API bool bpf_program__is_kprobe(const struct bpf_program *prog); -LIBBPF_DEPRECATED_SINCE(0, 8, "use bpf_program__type() instead") -LIBBPF_API bool bpf_program__is_lsm(const struct bpf_program *prog); -LIBBPF_DEPRECATED_SINCE(0, 8, "use bpf_program__type() instead") -LIBBPF_API bool bpf_program__is_sched_cls(const struct bpf_program *prog); -LIBBPF_DEPRECATED_SINCE(0, 8, "use bpf_program__type() instead") -LIBBPF_API bool bpf_program__is_sched_act(const struct bpf_program *prog); -LIBBPF_DEPRECATED_SINCE(0, 8, "use bpf_program__type() instead") -LIBBPF_API bool bpf_program__is_xdp(const struct bpf_program *prog); -LIBBPF_DEPRECATED_SINCE(0, 8, "use bpf_program__type() instead") -LIBBPF_API bool bpf_program__is_perf_event(const struct bpf_program *prog); -LIBBPF_DEPRECATED_SINCE(0, 8, "use bpf_program__type() instead") -LIBBPF_API bool bpf_program__is_tracing(const struct bpf_program *prog); -LIBBPF_DEPRECATED_SINCE(0, 8, "use bpf_program__type() instead") -LIBBPF_API bool bpf_program__is_struct_ops(const struct bpf_program *prog); -LIBBPF_DEPRECATED_SINCE(0, 8, "use bpf_program__type() instead") -LIBBPF_API bool bpf_program__is_extension(const struct bpf_program *prog); -LIBBPF_DEPRECATED_SINCE(0, 8, "use bpf_program__type() instead") -LIBBPF_API bool bpf_program__is_sk_lookup(const struct bpf_program *prog); - -/* - * No need for __attribute__((packed)), all members of 'bpf_map_def' - * are all aligned. In addition, using __attribute__((packed)) - * would trigger a -Wpacked warning message, and lead to an error - * if -Werror is set. - */ -struct bpf_map_def { - unsigned int type; - unsigned int key_size; - unsigned int value_size; - unsigned int max_entries; - unsigned int map_flags; -}; - -/** - * @brief **bpf_object__find_map_by_name()** returns BPF map of - * the given name, if it exists within the passed BPF object - * @param obj BPF object - * @param name name of the BPF map - * @return BPF map instance, if such map exists within the BPF object; - * or NULL otherwise. - */ -LIBBPF_API struct bpf_map * -bpf_object__find_map_by_name(const struct bpf_object *obj, const char *name); - -LIBBPF_API int -bpf_object__find_map_fd_by_name(const struct bpf_object *obj, const char *name); - -/* - * Get bpf_map through the offset of corresponding struct bpf_map_def - * in the BPF object file. - */ -LIBBPF_API LIBBPF_DEPRECATED_SINCE(0, 8, "use bpf_object__find_map_by_name() instead") -struct bpf_map * -bpf_object__find_map_by_offset(struct bpf_object *obj, size_t offset); - -LIBBPF_API LIBBPF_DEPRECATED_SINCE(0, 7, "use bpf_object__next_map() instead") -struct bpf_map *bpf_map__next(const struct bpf_map *map, const struct bpf_object *obj); -LIBBPF_API struct bpf_map * -bpf_object__next_map(const struct bpf_object *obj, const struct bpf_map *map); - -#define bpf_object__for_each_map(pos, obj) \ - for ((pos) = bpf_object__next_map((obj), NULL); \ - (pos) != NULL; \ - (pos) = bpf_object__next_map((obj), (pos))) -#define bpf_map__for_each bpf_object__for_each_map - -LIBBPF_API LIBBPF_DEPRECATED_SINCE(0, 7, "use bpf_object__prev_map() instead") -struct bpf_map *bpf_map__prev(const struct bpf_map *map, const struct bpf_object *obj); -LIBBPF_API struct bpf_map * -bpf_object__prev_map(const struct bpf_object *obj, const struct bpf_map *map); - -/** - * @brief **bpf_map__set_autocreate()** sets whether libbpf has to auto-create - * BPF map during BPF object load phase. - * @param map the BPF map instance - * @param autocreate whether to create BPF map during BPF object load - * @return 0 on success; -EBUSY if BPF object was already loaded - * - * **bpf_map__set_autocreate()** allows to opt-out from libbpf auto-creating - * BPF map. By default, libbpf will attempt to create every single BPF map - * defined in BPF object file using BPF_MAP_CREATE command of bpf() syscall - * and fill in map FD in BPF instructions. - * - * This API allows to opt-out of this process for specific map instance. This - * can be useful if host kernel doesn't support such BPF map type or used - * combination of flags and user application wants to avoid creating such - * a map in the first place. User is still responsible to make sure that their - * BPF-side code that expects to use such missing BPF map is recognized by BPF - * verifier as dead code, otherwise BPF verifier will reject such BPF program. - */ -LIBBPF_API int bpf_map__set_autocreate(struct bpf_map *map, bool autocreate); -LIBBPF_API bool bpf_map__autocreate(const struct bpf_map *map); - -/** - * @brief **bpf_map__fd()** gets the file descriptor of the passed - * BPF map - * @param map the BPF map instance - * @return the file descriptor; or -EINVAL in case of an error - */ -LIBBPF_API int bpf_map__fd(const struct bpf_map *map); -LIBBPF_API int bpf_map__reuse_fd(struct bpf_map *map, int fd); -/* get map definition */ -LIBBPF_API LIBBPF_DEPRECATED_SINCE(0, 8, "use appropriate getters or setters instead") -const struct bpf_map_def *bpf_map__def(const struct bpf_map *map); -/* get map name */ -LIBBPF_API const char *bpf_map__name(const struct bpf_map *map); -/* get/set map type */ -LIBBPF_API enum bpf_map_type bpf_map__type(const struct bpf_map *map); -LIBBPF_API int bpf_map__set_type(struct bpf_map *map, enum bpf_map_type type); -/* get/set map size (max_entries) */ -LIBBPF_API __u32 bpf_map__max_entries(const struct bpf_map *map); -LIBBPF_API int bpf_map__set_max_entries(struct bpf_map *map, __u32 max_entries); -LIBBPF_DEPRECATED_SINCE(0, 8, "use bpf_map__set_max_entries() instead") -LIBBPF_API int bpf_map__resize(struct bpf_map *map, __u32 max_entries); -/* get/set map flags */ -LIBBPF_API __u32 bpf_map__map_flags(const struct bpf_map *map); -LIBBPF_API int bpf_map__set_map_flags(struct bpf_map *map, __u32 flags); -/* get/set map NUMA node */ -LIBBPF_API __u32 bpf_map__numa_node(const struct bpf_map *map); -LIBBPF_API int bpf_map__set_numa_node(struct bpf_map *map, __u32 numa_node); -/* get/set map key size */ -LIBBPF_API __u32 bpf_map__key_size(const struct bpf_map *map); -LIBBPF_API int bpf_map__set_key_size(struct bpf_map *map, __u32 size); -/* get/set map value size */ -LIBBPF_API __u32 bpf_map__value_size(const struct bpf_map *map); -LIBBPF_API int bpf_map__set_value_size(struct bpf_map *map, __u32 size); -/* get map key/value BTF type IDs */ -LIBBPF_API __u32 bpf_map__btf_key_type_id(const struct bpf_map *map); -LIBBPF_API __u32 bpf_map__btf_value_type_id(const struct bpf_map *map); -/* get/set map if_index */ -LIBBPF_API __u32 bpf_map__ifindex(const struct bpf_map *map); -LIBBPF_API int bpf_map__set_ifindex(struct bpf_map *map, __u32 ifindex); -/* get/set map map_extra flags */ -LIBBPF_API __u64 bpf_map__map_extra(const struct bpf_map *map); -LIBBPF_API int bpf_map__set_map_extra(struct bpf_map *map, __u64 map_extra); - -typedef void (*bpf_map_clear_priv_t)(struct bpf_map *, void *); -LIBBPF_DEPRECATED_SINCE(0, 7, "storage via set_priv/priv is deprecated") -LIBBPF_API int bpf_map__set_priv(struct bpf_map *map, void *priv, - bpf_map_clear_priv_t clear_priv); -LIBBPF_DEPRECATED_SINCE(0, 7, "storage via set_priv/priv is deprecated") -LIBBPF_API void *bpf_map__priv(const struct bpf_map *map); -LIBBPF_API int bpf_map__set_initial_value(struct bpf_map *map, - const void *data, size_t size); -LIBBPF_API const void *bpf_map__initial_value(struct bpf_map *map, size_t *psize); -LIBBPF_DEPRECATED_SINCE(0, 8, "use bpf_map__type() instead") -LIBBPF_API bool bpf_map__is_offload_neutral(const struct bpf_map *map); - -/** - * @brief **bpf_map__is_internal()** tells the caller whether or not the - * passed map is a special map created by libbpf automatically for things like - * global variables, __ksym externs, Kconfig values, etc - * @param map the bpf_map - * @return true, if the map is an internal map; false, otherwise - */ -LIBBPF_API bool bpf_map__is_internal(const struct bpf_map *map); -LIBBPF_API int bpf_map__set_pin_path(struct bpf_map *map, const char *path); -LIBBPF_API const char *bpf_map__pin_path(const struct bpf_map *map); -LIBBPF_API bool bpf_map__is_pinned(const struct bpf_map *map); -LIBBPF_API int bpf_map__pin(struct bpf_map *map, const char *path); -LIBBPF_API int bpf_map__unpin(struct bpf_map *map, const char *path); - -LIBBPF_API int bpf_map__set_inner_map_fd(struct bpf_map *map, int fd); -LIBBPF_API struct bpf_map *bpf_map__inner_map(struct bpf_map *map); - -/** - * @brief **bpf_map__lookup_elem()** allows to lookup BPF map value - * corresponding to provided key. - * @param map BPF map to lookup element in - * @param key pointer to memory containing bytes of the key used for lookup - * @param key_sz size in bytes of key data, needs to match BPF map definition's **key_size** - * @param value pointer to memory in which looked up value will be stored - * @param value_sz size in byte of value data memory; it has to match BPF map - * definition's **value_size**. For per-CPU BPF maps value size has to be - * a product of BPF map value size and number of possible CPUs in the system - * (could be fetched with **libbpf_num_possible_cpus()**). Note also that for - * per-CPU values value size has to be aligned up to closest 8 bytes for - * alignment reasons, so expected size is: `round_up(value_size, 8) - * * libbpf_num_possible_cpus()`. - * @flags extra flags passed to kernel for this operation - * @return 0, on success; negative error, otherwise - * - * **bpf_map__lookup_elem()** is high-level equivalent of - * **bpf_map_lookup_elem()** API with added check for key and value size. - */ -LIBBPF_API int bpf_map__lookup_elem(const struct bpf_map *map, - const void *key, size_t key_sz, - void *value, size_t value_sz, __u64 flags); - -/** - * @brief **bpf_map__update_elem()** allows to insert or update value in BPF - * map that corresponds to provided key. - * @param map BPF map to insert to or update element in - * @param key pointer to memory containing bytes of the key - * @param key_sz size in bytes of key data, needs to match BPF map definition's **key_size** - * @param value pointer to memory containing bytes of the value - * @param value_sz size in byte of value data memory; it has to match BPF map - * definition's **value_size**. For per-CPU BPF maps value size has to be - * a product of BPF map value size and number of possible CPUs in the system - * (could be fetched with **libbpf_num_possible_cpus()**). Note also that for - * per-CPU values value size has to be aligned up to closest 8 bytes for - * alignment reasons, so expected size is: `round_up(value_size, 8) - * * libbpf_num_possible_cpus()`. - * @flags extra flags passed to kernel for this operation - * @return 0, on success; negative error, otherwise - * - * **bpf_map__update_elem()** is high-level equivalent of - * **bpf_map_update_elem()** API with added check for key and value size. - */ -LIBBPF_API int bpf_map__update_elem(const struct bpf_map *map, - const void *key, size_t key_sz, - const void *value, size_t value_sz, __u64 flags); - -/** - * @brief **bpf_map__delete_elem()** allows to delete element in BPF map that - * corresponds to provided key. - * @param map BPF map to delete element from - * @param key pointer to memory containing bytes of the key - * @param key_sz size in bytes of key data, needs to match BPF map definition's **key_size** - * @flags extra flags passed to kernel for this operation - * @return 0, on success; negative error, otherwise - * - * **bpf_map__delete_elem()** is high-level equivalent of - * **bpf_map_delete_elem()** API with added check for key size. - */ -LIBBPF_API int bpf_map__delete_elem(const struct bpf_map *map, - const void *key, size_t key_sz, __u64 flags); - -/** - * @brief **bpf_map__lookup_and_delete_elem()** allows to lookup BPF map value - * corresponding to provided key and atomically delete it afterwards. - * @param map BPF map to lookup element in - * @param key pointer to memory containing bytes of the key used for lookup - * @param key_sz size in bytes of key data, needs to match BPF map definition's **key_size** - * @param value pointer to memory in which looked up value will be stored - * @param value_sz size in byte of value data memory; it has to match BPF map - * definition's **value_size**. For per-CPU BPF maps value size has to be - * a product of BPF map value size and number of possible CPUs in the system - * (could be fetched with **libbpf_num_possible_cpus()**). Note also that for - * per-CPU values value size has to be aligned up to closest 8 bytes for - * alignment reasons, so expected size is: `round_up(value_size, 8) - * * libbpf_num_possible_cpus()`. - * @flags extra flags passed to kernel for this operation - * @return 0, on success; negative error, otherwise - * - * **bpf_map__lookup_and_delete_elem()** is high-level equivalent of - * **bpf_map_lookup_and_delete_elem()** API with added check for key and value size. - */ -LIBBPF_API int bpf_map__lookup_and_delete_elem(const struct bpf_map *map, - const void *key, size_t key_sz, - void *value, size_t value_sz, __u64 flags); - -/** - * @brief **bpf_map__get_next_key()** allows to iterate BPF map keys by - * fetching next key that follows current key. - * @param map BPF map to fetch next key from - * @param cur_key pointer to memory containing bytes of current key or NULL to - * fetch the first key - * @param next_key pointer to memory to write next key into - * @param key_sz size in bytes of key data, needs to match BPF map definition's **key_size** - * @return 0, on success; -ENOENT if **cur_key** is the last key in BPF map; - * negative error, otherwise - * - * **bpf_map__get_next_key()** is high-level equivalent of - * **bpf_map_get_next_key()** API with added check for key size. - */ -LIBBPF_API int bpf_map__get_next_key(const struct bpf_map *map, - const void *cur_key, void *next_key, size_t key_sz); - -/** - * @brief **libbpf_get_error()** extracts the error code from the passed - * pointer - * @param ptr pointer returned from libbpf API function - * @return error code; or 0 if no error occured - * - * Many libbpf API functions which return pointers have logic to encode error - * codes as pointers, and do not return NULL. Meaning **libbpf_get_error()** - * should be used on the return value from these functions immediately after - * calling the API function, with no intervening calls that could clobber the - * `errno` variable. Consult the individual functions documentation to verify - * if this logic applies should be used. - * - * For these API functions, if `libbpf_set_strict_mode(LIBBPF_STRICT_CLEAN_PTRS)` - * is enabled, NULL is returned on error instead. - * - * If ptr is NULL, then errno should be already set by the failing - * API, because libbpf never returns NULL on success and it now always - * sets errno on error. - * - * Example usage: - * - * struct perf_buffer *pb; - * - * pb = perf_buffer__new(bpf_map__fd(obj->maps.events), PERF_BUFFER_PAGES, &opts); - * err = libbpf_get_error(pb); - * if (err) { - * pb = NULL; - * fprintf(stderr, "failed to open perf buffer: %d\n", err); - * goto cleanup; - * } - */ -LIBBPF_API long libbpf_get_error(const void *ptr); - -struct bpf_prog_load_attr { - const char *file; - enum bpf_prog_type prog_type; - enum bpf_attach_type expected_attach_type; - int ifindex; - int log_level; - int prog_flags; -}; - -LIBBPF_DEPRECATED_SINCE(0, 8, "use bpf_object__open() and bpf_object__load() instead") -LIBBPF_API int bpf_prog_load_xattr(const struct bpf_prog_load_attr *attr, - struct bpf_object **pobj, int *prog_fd); -LIBBPF_DEPRECATED_SINCE(0, 7, "use bpf_object__open() and bpf_object__load() instead") -LIBBPF_API int bpf_prog_load_deprecated(const char *file, enum bpf_prog_type type, - struct bpf_object **pobj, int *prog_fd); - -/* XDP related API */ -struct xdp_link_info { - __u32 prog_id; - __u32 drv_prog_id; - __u32 hw_prog_id; - __u32 skb_prog_id; - __u8 attach_mode; -}; - -struct bpf_xdp_set_link_opts { - size_t sz; - int old_fd; - size_t :0; -}; -#define bpf_xdp_set_link_opts__last_field old_fd - -LIBBPF_DEPRECATED_SINCE(0, 8, "use bpf_xdp_attach() instead") -LIBBPF_API int bpf_set_link_xdp_fd(int ifindex, int fd, __u32 flags); -LIBBPF_DEPRECATED_SINCE(0, 8, "use bpf_xdp_attach() instead") -LIBBPF_API int bpf_set_link_xdp_fd_opts(int ifindex, int fd, __u32 flags, - const struct bpf_xdp_set_link_opts *opts); -LIBBPF_DEPRECATED_SINCE(0, 8, "use bpf_xdp_query_id() instead") -LIBBPF_API int bpf_get_link_xdp_id(int ifindex, __u32 *prog_id, __u32 flags); -LIBBPF_DEPRECATED_SINCE(0, 8, "use bpf_xdp_query() instead") -LIBBPF_API int bpf_get_link_xdp_info(int ifindex, struct xdp_link_info *info, - size_t info_size, __u32 flags); - -struct bpf_xdp_attach_opts { - size_t sz; - int old_prog_fd; - size_t :0; -}; -#define bpf_xdp_attach_opts__last_field old_prog_fd - -struct bpf_xdp_query_opts { - size_t sz; - __u32 prog_id; /* output */ - __u32 drv_prog_id; /* output */ - __u32 hw_prog_id; /* output */ - __u32 skb_prog_id; /* output */ - __u8 attach_mode; /* output */ - size_t :0; -}; -#define bpf_xdp_query_opts__last_field attach_mode - -LIBBPF_API int bpf_xdp_attach(int ifindex, int prog_fd, __u32 flags, - const struct bpf_xdp_attach_opts *opts); -LIBBPF_API int bpf_xdp_detach(int ifindex, __u32 flags, - const struct bpf_xdp_attach_opts *opts); -LIBBPF_API int bpf_xdp_query(int ifindex, int flags, struct bpf_xdp_query_opts *opts); -LIBBPF_API int bpf_xdp_query_id(int ifindex, int flags, __u32 *prog_id); - -/* TC related API */ -enum bpf_tc_attach_point { - BPF_TC_INGRESS = 1 << 0, - BPF_TC_EGRESS = 1 << 1, - BPF_TC_CUSTOM = 1 << 2, -}; - -#define BPF_TC_PARENT(a, b) \ - ((((a) << 16) & 0xFFFF0000U) | ((b) & 0x0000FFFFU)) - -enum bpf_tc_flags { - BPF_TC_F_REPLACE = 1 << 0, -}; - -struct bpf_tc_hook { - size_t sz; - int ifindex; - enum bpf_tc_attach_point attach_point; - __u32 parent; - size_t :0; -}; -#define bpf_tc_hook__last_field parent - -struct bpf_tc_opts { - size_t sz; - int prog_fd; - __u32 flags; - __u32 prog_id; - __u32 handle; - __u32 priority; - size_t :0; -}; -#define bpf_tc_opts__last_field priority - -LIBBPF_API int bpf_tc_hook_create(struct bpf_tc_hook *hook); -LIBBPF_API int bpf_tc_hook_destroy(struct bpf_tc_hook *hook); -LIBBPF_API int bpf_tc_attach(const struct bpf_tc_hook *hook, - struct bpf_tc_opts *opts); -LIBBPF_API int bpf_tc_detach(const struct bpf_tc_hook *hook, - const struct bpf_tc_opts *opts); -LIBBPF_API int bpf_tc_query(const struct bpf_tc_hook *hook, - struct bpf_tc_opts *opts); - -/* Ring buffer APIs */ -struct ring_buffer; - -typedef int (*ring_buffer_sample_fn)(void *ctx, void *data, size_t size); - -struct ring_buffer_opts { - size_t sz; /* size of this struct, for forward/backward compatiblity */ -}; - -#define ring_buffer_opts__last_field sz - -LIBBPF_API struct ring_buffer * -ring_buffer__new(int map_fd, ring_buffer_sample_fn sample_cb, void *ctx, - const struct ring_buffer_opts *opts); -LIBBPF_API void ring_buffer__free(struct ring_buffer *rb); -LIBBPF_API int ring_buffer__add(struct ring_buffer *rb, int map_fd, - ring_buffer_sample_fn sample_cb, void *ctx); -LIBBPF_API int ring_buffer__poll(struct ring_buffer *rb, int timeout_ms); -LIBBPF_API int ring_buffer__consume(struct ring_buffer *rb); -LIBBPF_API int ring_buffer__epoll_fd(const struct ring_buffer *rb); - -/* Perf buffer APIs */ -struct perf_buffer; - -typedef void (*perf_buffer_sample_fn)(void *ctx, int cpu, - void *data, __u32 size); -typedef void (*perf_buffer_lost_fn)(void *ctx, int cpu, __u64 cnt); - -/* common use perf buffer options */ -struct perf_buffer_opts { - union { - size_t sz; - struct { /* DEPRECATED: will be removed in v1.0 */ - /* if specified, sample_cb is called for each sample */ - perf_buffer_sample_fn sample_cb; - /* if specified, lost_cb is called for each batch of lost samples */ - perf_buffer_lost_fn lost_cb; - /* ctx is provided to sample_cb and lost_cb */ - void *ctx; - }; - }; -}; -#define perf_buffer_opts__last_field sz - -/** - * @brief **perf_buffer__new()** creates BPF perfbuf manager for a specified - * BPF_PERF_EVENT_ARRAY map - * @param map_fd FD of BPF_PERF_EVENT_ARRAY BPF map that will be used by BPF - * code to send data over to user-space - * @param page_cnt number of memory pages allocated for each per-CPU buffer - * @param sample_cb function called on each received data record - * @param lost_cb function called when record loss has occurred - * @param ctx user-provided extra context passed into *sample_cb* and *lost_cb* - * @return a new instance of struct perf_buffer on success, NULL on error with - * *errno* containing an error code - */ -LIBBPF_API struct perf_buffer * -perf_buffer__new(int map_fd, size_t page_cnt, - perf_buffer_sample_fn sample_cb, perf_buffer_lost_fn lost_cb, void *ctx, - const struct perf_buffer_opts *opts); - -LIBBPF_API struct perf_buffer * -perf_buffer__new_v0_6_0(int map_fd, size_t page_cnt, - perf_buffer_sample_fn sample_cb, perf_buffer_lost_fn lost_cb, void *ctx, - const struct perf_buffer_opts *opts); - -LIBBPF_API LIBBPF_DEPRECATED_SINCE(0, 7, "use new variant of perf_buffer__new() instead") -struct perf_buffer *perf_buffer__new_deprecated(int map_fd, size_t page_cnt, - const struct perf_buffer_opts *opts); - -#define perf_buffer__new(...) ___libbpf_overload(___perf_buffer_new, __VA_ARGS__) -#define ___perf_buffer_new6(map_fd, page_cnt, sample_cb, lost_cb, ctx, opts) \ - perf_buffer__new(map_fd, page_cnt, sample_cb, lost_cb, ctx, opts) -#define ___perf_buffer_new3(map_fd, page_cnt, opts) \ - perf_buffer__new_deprecated(map_fd, page_cnt, opts) - -enum bpf_perf_event_ret { - LIBBPF_PERF_EVENT_DONE = 0, - LIBBPF_PERF_EVENT_ERROR = -1, - LIBBPF_PERF_EVENT_CONT = -2, -}; - -struct perf_event_header; - -typedef enum bpf_perf_event_ret -(*perf_buffer_event_fn)(void *ctx, int cpu, struct perf_event_header *event); - -/* raw perf buffer options, giving most power and control */ -struct perf_buffer_raw_opts { - union { - struct { - size_t sz; - long :0; - long :0; - }; - struct { /* DEPRECATED: will be removed in v1.0 */ - /* perf event attrs passed directly into perf_event_open() */ - struct perf_event_attr *attr; - /* raw event callback */ - perf_buffer_event_fn event_cb; - /* ctx is provided to event_cb */ - void *ctx; - }; - }; - /* if cpu_cnt == 0, open all on all possible CPUs (up to the number of - * max_entries of given PERF_EVENT_ARRAY map) - */ - int cpu_cnt; - /* if cpu_cnt > 0, cpus is an array of CPUs to open ring buffers on */ - int *cpus; - /* if cpu_cnt > 0, map_keys specify map keys to set per-CPU FDs for */ - int *map_keys; -}; -#define perf_buffer_raw_opts__last_field map_keys - -LIBBPF_API struct perf_buffer * -perf_buffer__new_raw(int map_fd, size_t page_cnt, struct perf_event_attr *attr, - perf_buffer_event_fn event_cb, void *ctx, - const struct perf_buffer_raw_opts *opts); - -LIBBPF_API struct perf_buffer * -perf_buffer__new_raw_v0_6_0(int map_fd, size_t page_cnt, struct perf_event_attr *attr, - perf_buffer_event_fn event_cb, void *ctx, - const struct perf_buffer_raw_opts *opts); - -LIBBPF_API LIBBPF_DEPRECATED_SINCE(0, 7, "use new variant of perf_buffer__new_raw() instead") -struct perf_buffer *perf_buffer__new_raw_deprecated(int map_fd, size_t page_cnt, - const struct perf_buffer_raw_opts *opts); - -#define perf_buffer__new_raw(...) ___libbpf_overload(___perf_buffer_new_raw, __VA_ARGS__) -#define ___perf_buffer_new_raw6(map_fd, page_cnt, attr, event_cb, ctx, opts) \ - perf_buffer__new_raw(map_fd, page_cnt, attr, event_cb, ctx, opts) -#define ___perf_buffer_new_raw3(map_fd, page_cnt, opts) \ - perf_buffer__new_raw_deprecated(map_fd, page_cnt, opts) - -LIBBPF_API void perf_buffer__free(struct perf_buffer *pb); -LIBBPF_API int perf_buffer__epoll_fd(const struct perf_buffer *pb); -LIBBPF_API int perf_buffer__poll(struct perf_buffer *pb, int timeout_ms); -LIBBPF_API int perf_buffer__consume(struct perf_buffer *pb); -LIBBPF_API int perf_buffer__consume_buffer(struct perf_buffer *pb, size_t buf_idx); -LIBBPF_API size_t perf_buffer__buffer_cnt(const struct perf_buffer *pb); -LIBBPF_API int perf_buffer__buffer_fd(const struct perf_buffer *pb, size_t buf_idx); - -typedef enum bpf_perf_event_ret - (*bpf_perf_event_print_t)(struct perf_event_header *hdr, - void *private_data); -LIBBPF_DEPRECATED_SINCE(0, 8, "use perf_buffer__poll() or perf_buffer__consume() instead") -LIBBPF_API enum bpf_perf_event_ret -bpf_perf_event_read_simple(void *mmap_mem, size_t mmap_size, size_t page_size, - void **copy_mem, size_t *copy_size, - bpf_perf_event_print_t fn, void *private_data); - -struct bpf_prog_linfo; -struct bpf_prog_info; - -LIBBPF_API void bpf_prog_linfo__free(struct bpf_prog_linfo *prog_linfo); -LIBBPF_API struct bpf_prog_linfo * -bpf_prog_linfo__new(const struct bpf_prog_info *info); -LIBBPF_API const struct bpf_line_info * -bpf_prog_linfo__lfind_addr_func(const struct bpf_prog_linfo *prog_linfo, - __u64 addr, __u32 func_idx, __u32 nr_skip); -LIBBPF_API const struct bpf_line_info * -bpf_prog_linfo__lfind(const struct bpf_prog_linfo *prog_linfo, - __u32 insn_off, __u32 nr_skip); - -/* - * Probe for supported system features - * - * Note that running many of these probes in a short amount of time can cause - * the kernel to reach the maximal size of lockable memory allowed for the - * user, causing subsequent probes to fail. In this case, the caller may want - * to adjust that limit with setrlimit(). - */ -LIBBPF_DEPRECATED_SINCE(0, 8, "use libbpf_probe_bpf_prog_type() instead") -LIBBPF_API bool bpf_probe_prog_type(enum bpf_prog_type prog_type, __u32 ifindex); -LIBBPF_DEPRECATED_SINCE(0, 8, "use libbpf_probe_bpf_map_type() instead") -LIBBPF_API bool bpf_probe_map_type(enum bpf_map_type map_type, __u32 ifindex); -LIBBPF_DEPRECATED_SINCE(0, 8, "use libbpf_probe_bpf_helper() instead") -LIBBPF_API bool bpf_probe_helper(enum bpf_func_id id, enum bpf_prog_type prog_type, __u32 ifindex); -LIBBPF_DEPRECATED_SINCE(0, 8, "implement your own or use bpftool for feature detection") -LIBBPF_API bool bpf_probe_large_insn_limit(__u32 ifindex); - -/** - * @brief **libbpf_probe_bpf_prog_type()** detects if host kernel supports - * BPF programs of a given type. - * @param prog_type BPF program type to detect kernel support for - * @param opts reserved for future extensibility, should be NULL - * @return 1, if given program type is supported; 0, if given program type is - * not supported; negative error code if feature detection failed or can't be - * performed - * - * Make sure the process has required set of CAP_* permissions (or runs as - * root) when performing feature checking. - */ -LIBBPF_API int libbpf_probe_bpf_prog_type(enum bpf_prog_type prog_type, const void *opts); -/** - * @brief **libbpf_probe_bpf_map_type()** detects if host kernel supports - * BPF maps of a given type. - * @param map_type BPF map type to detect kernel support for - * @param opts reserved for future extensibility, should be NULL - * @return 1, if given map type is supported; 0, if given map type is - * not supported; negative error code if feature detection failed or can't be - * performed - * - * Make sure the process has required set of CAP_* permissions (or runs as - * root) when performing feature checking. - */ -LIBBPF_API int libbpf_probe_bpf_map_type(enum bpf_map_type map_type, const void *opts); -/** - * @brief **libbpf_probe_bpf_helper()** detects if host kernel supports the - * use of a given BPF helper from specified BPF program type. - * @param prog_type BPF program type used to check the support of BPF helper - * @param helper_id BPF helper ID (enum bpf_func_id) to check support for - * @param opts reserved for future extensibility, should be NULL - * @return 1, if given combination of program type and helper is supported; 0, - * if the combination is not supported; negative error code if feature - * detection for provided input arguments failed or can't be performed - * - * Make sure the process has required set of CAP_* permissions (or runs as - * root) when performing feature checking. - */ -LIBBPF_API int libbpf_probe_bpf_helper(enum bpf_prog_type prog_type, - enum bpf_func_id helper_id, const void *opts); - -/* - * Get bpf_prog_info in continuous memory - * - * struct bpf_prog_info has multiple arrays. The user has option to choose - * arrays to fetch from kernel. The following APIs provide an uniform way to - * fetch these data. All arrays in bpf_prog_info are stored in a single - * continuous memory region. This makes it easy to store the info in a - * file. - * - * Before writing bpf_prog_info_linear to files, it is necessary to - * translate pointers in bpf_prog_info to offsets. Helper functions - * bpf_program__bpil_addr_to_offs() and bpf_program__bpil_offs_to_addr() - * are introduced to switch between pointers and offsets. - * - * Examples: - * # To fetch map_ids and prog_tags: - * __u64 arrays = (1UL << BPF_PROG_INFO_MAP_IDS) | - * (1UL << BPF_PROG_INFO_PROG_TAGS); - * struct bpf_prog_info_linear *info_linear = - * bpf_program__get_prog_info_linear(fd, arrays); - * - * # To save data in file - * bpf_program__bpil_addr_to_offs(info_linear); - * write(f, info_linear, sizeof(*info_linear) + info_linear->data_len); - * - * # To read data from file - * read(f, info_linear, ); - * bpf_program__bpil_offs_to_addr(info_linear); - */ -enum bpf_prog_info_array { - BPF_PROG_INFO_FIRST_ARRAY = 0, - BPF_PROG_INFO_JITED_INSNS = 0, - BPF_PROG_INFO_XLATED_INSNS, - BPF_PROG_INFO_MAP_IDS, - BPF_PROG_INFO_JITED_KSYMS, - BPF_PROG_INFO_JITED_FUNC_LENS, - BPF_PROG_INFO_FUNC_INFO, - BPF_PROG_INFO_LINE_INFO, - BPF_PROG_INFO_JITED_LINE_INFO, - BPF_PROG_INFO_PROG_TAGS, - BPF_PROG_INFO_LAST_ARRAY, -}; - -struct bpf_prog_info_linear { - /* size of struct bpf_prog_info, when the tool is compiled */ - __u32 info_len; - /* total bytes allocated for data, round up to 8 bytes */ - __u32 data_len; - /* which arrays are included in data */ - __u64 arrays; - struct bpf_prog_info info; - __u8 data[]; -}; - -LIBBPF_DEPRECATED_SINCE(0, 6, "use a custom linear prog_info wrapper") -LIBBPF_API struct bpf_prog_info_linear * -bpf_program__get_prog_info_linear(int fd, __u64 arrays); - -LIBBPF_DEPRECATED_SINCE(0, 6, "use a custom linear prog_info wrapper") -LIBBPF_API void -bpf_program__bpil_addr_to_offs(struct bpf_prog_info_linear *info_linear); - -LIBBPF_DEPRECATED_SINCE(0, 6, "use a custom linear prog_info wrapper") -LIBBPF_API void -bpf_program__bpil_offs_to_addr(struct bpf_prog_info_linear *info_linear); - -/** - * @brief **libbpf_num_possible_cpus()** is a helper function to get the - * number of possible CPUs that the host kernel supports and expects. - * @return number of possible CPUs; or error code on failure - * - * Example usage: - * - * int ncpus = libbpf_num_possible_cpus(); - * if (ncpus < 0) { - * // error handling - * } - * long values[ncpus]; - * bpf_map_lookup_elem(per_cpu_map_fd, key, values); - */ -LIBBPF_API int libbpf_num_possible_cpus(void); - -struct bpf_map_skeleton { - const char *name; - struct bpf_map **map; - void **mmaped; -}; - -struct bpf_prog_skeleton { - const char *name; - struct bpf_program **prog; - struct bpf_link **link; -}; - -struct bpf_object_skeleton { - size_t sz; /* size of this struct, for forward/backward compatibility */ - - const char *name; - const void *data; - size_t data_sz; - - struct bpf_object **obj; - - int map_cnt; - int map_skel_sz; /* sizeof(struct bpf_map_skeleton) */ - struct bpf_map_skeleton *maps; - - int prog_cnt; - int prog_skel_sz; /* sizeof(struct bpf_prog_skeleton) */ - struct bpf_prog_skeleton *progs; -}; - -LIBBPF_API int -bpf_object__open_skeleton(struct bpf_object_skeleton *s, - const struct bpf_object_open_opts *opts); -LIBBPF_API int bpf_object__load_skeleton(struct bpf_object_skeleton *s); -LIBBPF_API int bpf_object__attach_skeleton(struct bpf_object_skeleton *s); -LIBBPF_API void bpf_object__detach_skeleton(struct bpf_object_skeleton *s); -LIBBPF_API void bpf_object__destroy_skeleton(struct bpf_object_skeleton *s); - -struct bpf_var_skeleton { - const char *name; - struct bpf_map **map; - void **addr; -}; - -struct bpf_object_subskeleton { - size_t sz; /* size of this struct, for forward/backward compatibility */ - - const struct bpf_object *obj; - - int map_cnt; - int map_skel_sz; /* sizeof(struct bpf_map_skeleton) */ - struct bpf_map_skeleton *maps; - - int prog_cnt; - int prog_skel_sz; /* sizeof(struct bpf_prog_skeleton) */ - struct bpf_prog_skeleton *progs; - - int var_cnt; - int var_skel_sz; /* sizeof(struct bpf_var_skeleton) */ - struct bpf_var_skeleton *vars; -}; - -LIBBPF_API int -bpf_object__open_subskeleton(struct bpf_object_subskeleton *s); -LIBBPF_API void -bpf_object__destroy_subskeleton(struct bpf_object_subskeleton *s); - -struct gen_loader_opts { - size_t sz; /* size of this struct, for forward/backward compatiblity */ - const char *data; - const char *insns; - __u32 data_sz; - __u32 insns_sz; -}; - -#define gen_loader_opts__last_field insns_sz -LIBBPF_API int bpf_object__gen_loader(struct bpf_object *obj, - struct gen_loader_opts *opts); - -enum libbpf_tristate { - TRI_NO = 0, - TRI_YES = 1, - TRI_MODULE = 2, -}; - -struct bpf_linker_opts { - /* size of this struct, for forward/backward compatiblity */ - size_t sz; -}; -#define bpf_linker_opts__last_field sz - -struct bpf_linker_file_opts { - /* size of this struct, for forward/backward compatiblity */ - size_t sz; -}; -#define bpf_linker_file_opts__last_field sz - -struct bpf_linker; - -LIBBPF_API struct bpf_linker *bpf_linker__new(const char *filename, struct bpf_linker_opts *opts); -LIBBPF_API int bpf_linker__add_file(struct bpf_linker *linker, - const char *filename, - const struct bpf_linker_file_opts *opts); -LIBBPF_API int bpf_linker__finalize(struct bpf_linker *linker); -LIBBPF_API void bpf_linker__free(struct bpf_linker *linker); - -/* - * Custom handling of BPF program's SEC() definitions - */ - -struct bpf_prog_load_opts; /* defined in bpf.h */ - -/* Called during bpf_object__open() for each recognized BPF program. Callback - * can use various bpf_program__set_*() setters to adjust whatever properties - * are necessary. - */ -typedef int (*libbpf_prog_setup_fn_t)(struct bpf_program *prog, long cookie); - -/* Called right before libbpf performs bpf_prog_load() to load BPF program - * into the kernel. Callback can adjust opts as necessary. - */ -typedef int (*libbpf_prog_prepare_load_fn_t)(struct bpf_program *prog, - struct bpf_prog_load_opts *opts, long cookie); - -/* Called during skeleton attach or through bpf_program__attach(). If - * auto-attach is not supported, callback should return 0 and set link to - * NULL (it's not considered an error during skeleton attach, but it will be - * an error for bpf_program__attach() calls). On error, error should be - * returned directly and link set to NULL. On success, return 0 and set link - * to a valid struct bpf_link. - */ -typedef int (*libbpf_prog_attach_fn_t)(const struct bpf_program *prog, long cookie, - struct bpf_link **link); - -struct libbpf_prog_handler_opts { - /* size of this struct, for forward/backward compatiblity */ - size_t sz; - /* User-provided value that is passed to prog_setup_fn, - * prog_prepare_load_fn, and prog_attach_fn callbacks. Allows user to - * register one set of callbacks for multiple SEC() definitions and - * still be able to distinguish them, if necessary. For example, - * libbpf itself is using this to pass necessary flags (e.g., - * sleepable flag) to a common internal SEC() handler. - */ - long cookie; - /* BPF program initialization callback (see libbpf_prog_setup_fn_t). - * Callback is optional, pass NULL if it's not necessary. - */ - libbpf_prog_setup_fn_t prog_setup_fn; - /* BPF program loading callback (see libbpf_prog_prepare_load_fn_t). - * Callback is optional, pass NULL if it's not necessary. - */ - libbpf_prog_prepare_load_fn_t prog_prepare_load_fn; - /* BPF program attach callback (see libbpf_prog_attach_fn_t). - * Callback is optional, pass NULL if it's not necessary. - */ - libbpf_prog_attach_fn_t prog_attach_fn; -}; -#define libbpf_prog_handler_opts__last_field prog_attach_fn - -/** - * @brief **libbpf_register_prog_handler()** registers a custom BPF program - * SEC() handler. - * @param sec section prefix for which custom handler is registered - * @param prog_type BPF program type associated with specified section - * @param exp_attach_type Expected BPF attach type associated with specified section - * @param opts optional cookie, callbacks, and other extra options - * @return Non-negative handler ID is returned on success. This handler ID has - * to be passed to *libbpf_unregister_prog_handler()* to unregister such - * custom handler. Negative error code is returned on error. - * - * *sec* defines which SEC() definitions are handled by this custom handler - * registration. *sec* can have few different forms: - * - if *sec* is just a plain string (e.g., "abc"), it will match only - * SEC("abc"). If BPF program specifies SEC("abc/whatever") it will result - * in an error; - * - if *sec* is of the form "abc/", proper SEC() form is - * SEC("abc/something"), where acceptable "something" should be checked by - * *prog_init_fn* callback, if there are additional restrictions; - * - if *sec* is of the form "abc+", it will successfully match both - * SEC("abc") and SEC("abc/whatever") forms; - * - if *sec* is NULL, custom handler is registered for any BPF program that - * doesn't match any of the registered (custom or libbpf's own) SEC() - * handlers. There could be only one such generic custom handler registered - * at any given time. - * - * All custom handlers (except the one with *sec* == NULL) are processed - * before libbpf's own SEC() handlers. It is allowed to "override" libbpf's - * SEC() handlers by registering custom ones for the same section prefix - * (i.e., it's possible to have custom SEC("perf_event/LLC-load-misses") - * handler). - * - * Note, like much of global libbpf APIs (e.g., libbpf_set_print(), - * libbpf_set_strict_mode(), etc)) these APIs are not thread-safe. User needs - * to ensure synchronization if there is a risk of running this API from - * multiple threads simultaneously. - */ -LIBBPF_API int libbpf_register_prog_handler(const char *sec, - enum bpf_prog_type prog_type, - enum bpf_attach_type exp_attach_type, - const struct libbpf_prog_handler_opts *opts); -/** - * @brief *libbpf_unregister_prog_handler()* unregisters previously registered - * custom BPF program SEC() handler. - * @param handler_id handler ID returned by *libbpf_register_prog_handler()* - * after successful registration - * @return 0 on success, negative error code if handler isn't found - * - * Note, like much of global libbpf APIs (e.g., libbpf_set_print(), - * libbpf_set_strict_mode(), etc)) these APIs are not thread-safe. User needs - * to ensure synchronization if there is a risk of running this API from - * multiple threads simultaneously. - */ -LIBBPF_API int libbpf_unregister_prog_handler(int handler_id); - -#ifdef __cplusplus -} /* extern "C" */ -#endif - -#endif /* __LIBBPF_LIBBPF_H */ diff --git a/lcc/golcc/include/bpf/libbpf_common.h b/lcc/golcc/include/bpf/libbpf_common.h deleted file mode 100644 index 000e377..0000000 --- a/lcc/golcc/include/bpf/libbpf_common.h +++ /dev/null @@ -1,83 +0,0 @@ -/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */ - -/* - * Common user-facing libbpf helpers. - * - * Copyright (c) 2019 Facebook - */ - -#ifndef __LIBBPF_LIBBPF_COMMON_H -#define __LIBBPF_LIBBPF_COMMON_H - -#include -#include "libbpf_version.h" - -#ifndef LIBBPF_API -#define LIBBPF_API __attribute__((visibility("default"))) -#endif - -#define LIBBPF_DEPRECATED(msg) __attribute__((deprecated(msg))) - -/* Mark a symbol as deprecated when libbpf version is >= {major}.{minor} */ -#define LIBBPF_DEPRECATED_SINCE(major, minor, msg) \ - __LIBBPF_MARK_DEPRECATED_ ## major ## _ ## minor \ - (LIBBPF_DEPRECATED("libbpf v" # major "." # minor "+: " msg)) - -#define __LIBBPF_CURRENT_VERSION_GEQ(major, minor) \ - (LIBBPF_MAJOR_VERSION > (major) || \ - (LIBBPF_MAJOR_VERSION == (major) && LIBBPF_MINOR_VERSION >= (minor))) - -/* Add checks for other versions below when planning deprecation of API symbols - * with the LIBBPF_DEPRECATED_SINCE macro. - */ -#if __LIBBPF_CURRENT_VERSION_GEQ(0, 6) -#define __LIBBPF_MARK_DEPRECATED_0_6(X) X -#else -#define __LIBBPF_MARK_DEPRECATED_0_6(X) -#endif -#if __LIBBPF_CURRENT_VERSION_GEQ(0, 7) -#define __LIBBPF_MARK_DEPRECATED_0_7(X) X -#else -#define __LIBBPF_MARK_DEPRECATED_0_7(X) -#endif -#if __LIBBPF_CURRENT_VERSION_GEQ(0, 8) -#define __LIBBPF_MARK_DEPRECATED_0_8(X) X -#else -#define __LIBBPF_MARK_DEPRECATED_0_8(X) -#endif - -/* This set of internal macros allows to do "function overloading" based on - * number of arguments provided by used in backwards-compatible way during the - * transition to libbpf 1.0 - * It's ugly but necessary evil that will be cleaned up when we get to 1.0. - * See bpf_prog_load() overload for example. - */ -#define ___libbpf_cat(A, B) A ## B -#define ___libbpf_select(NAME, NUM) ___libbpf_cat(NAME, NUM) -#define ___libbpf_nth(_1, _2, _3, _4, _5, _6, N, ...) N -#define ___libbpf_cnt(...) ___libbpf_nth(__VA_ARGS__, 6, 5, 4, 3, 2, 1) -#define ___libbpf_overload(NAME, ...) ___libbpf_select(NAME, ___libbpf_cnt(__VA_ARGS__))(__VA_ARGS__) - -/* Helper macro to declare and initialize libbpf options struct - * - * This dance with uninitialized declaration, followed by memset to zero, - * followed by assignment using compound literal syntax is done to preserve - * ability to use a nice struct field initialization syntax and **hopefully** - * have all the padding bytes initialized to zero. It's not guaranteed though, - * when copying literal, that compiler won't copy garbage in literal's padding - * bytes, but that's the best way I've found and it seems to work in practice. - * - * Macro declares opts struct of given type and name, zero-initializes, - * including any extra padding, it with memset() and then assigns initial - * values provided by users in struct initializer-syntax as varargs. - */ -#define LIBBPF_OPTS(TYPE, NAME, ...) \ - struct TYPE NAME = ({ \ - memset(&NAME, 0, sizeof(struct TYPE)); \ - (struct TYPE) { \ - .sz = sizeof(struct TYPE), \ - __VA_ARGS__ \ - }; \ - }) - -#endif /* __LIBBPF_LIBBPF_COMMON_H */ diff --git a/lcc/golcc/include/bpf/libbpf_internal.h b/lcc/golcc/include/bpf/libbpf_internal.h deleted file mode 100644 index 4abdbe2..0000000 --- a/lcc/golcc/include/bpf/libbpf_internal.h +++ /dev/null @@ -1,583 +0,0 @@ -/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */ - -/* - * Internal libbpf helpers. - * - * Copyright (c) 2019 Facebook - */ - -#ifndef __LIBBPF_LIBBPF_INTERNAL_H -#define __LIBBPF_LIBBPF_INTERNAL_H - -#include -#include -#include -#include -#include -#include -#include "libbpf_legacy.h" -#include "relo_core.h" - -/* make sure libbpf doesn't use kernel-only integer typedefs */ -#pragma GCC poison u8 u16 u32 u64 s8 s16 s32 s64 - -/* prevent accidental re-addition of reallocarray() */ -#pragma GCC poison reallocarray - -#include "libbpf.h" -#include "btf.h" - -#ifndef EM_BPF -#define EM_BPF 247 -#endif - -#ifndef R_BPF_64_64 -#define R_BPF_64_64 1 -#endif -#ifndef R_BPF_64_ABS64 -#define R_BPF_64_ABS64 2 -#endif -#ifndef R_BPF_64_ABS32 -#define R_BPF_64_ABS32 3 -#endif -#ifndef R_BPF_64_32 -#define R_BPF_64_32 10 -#endif - -#ifndef SHT_LLVM_ADDRSIG -#define SHT_LLVM_ADDRSIG 0x6FFF4C03 -#endif - -/* if libelf is old and doesn't support mmap(), fall back to read() */ -#ifndef ELF_C_READ_MMAP -#define ELF_C_READ_MMAP ELF_C_READ -#endif - -/* Older libelf all end up in this expression, for both 32 and 64 bit */ -#ifndef ELF64_ST_VISIBILITY -#define ELF64_ST_VISIBILITY(o) ((o) & 0x03) -#endif - -#define BTF_INFO_ENC(kind, kind_flag, vlen) \ - ((!!(kind_flag) << 31) | ((kind) << 24) | ((vlen) & BTF_MAX_VLEN)) -#define BTF_TYPE_ENC(name, info, size_or_type) (name), (info), (size_or_type) -#define BTF_INT_ENC(encoding, bits_offset, nr_bits) \ - ((encoding) << 24 | (bits_offset) << 16 | (nr_bits)) -#define BTF_TYPE_INT_ENC(name, encoding, bits_offset, bits, sz) \ - BTF_TYPE_ENC(name, BTF_INFO_ENC(BTF_KIND_INT, 0, 0), sz), \ - BTF_INT_ENC(encoding, bits_offset, bits) -#define BTF_MEMBER_ENC(name, type, bits_offset) (name), (type), (bits_offset) -#define BTF_PARAM_ENC(name, type) (name), (type) -#define BTF_VAR_SECINFO_ENC(type, offset, size) (type), (offset), (size) -#define BTF_TYPE_FLOAT_ENC(name, sz) \ - BTF_TYPE_ENC(name, BTF_INFO_ENC(BTF_KIND_FLOAT, 0, 0), sz) -#define BTF_TYPE_DECL_TAG_ENC(value, type, component_idx) \ - BTF_TYPE_ENC(value, BTF_INFO_ENC(BTF_KIND_DECL_TAG, 0, 0), type), (component_idx) -#define BTF_TYPE_TYPE_TAG_ENC(value, type) \ - BTF_TYPE_ENC(value, BTF_INFO_ENC(BTF_KIND_TYPE_TAG, 0, 0), type) - -#ifndef likely -#define likely(x) __builtin_expect(!!(x), 1) -#endif -#ifndef unlikely -#define unlikely(x) __builtin_expect(!!(x), 0) -#endif -#ifndef min -# define min(x, y) ((x) < (y) ? (x) : (y)) -#endif -#ifndef max -# define max(x, y) ((x) < (y) ? (y) : (x)) -#endif -#ifndef offsetofend -# define offsetofend(TYPE, FIELD) \ - (offsetof(TYPE, FIELD) + sizeof(((TYPE *)0)->FIELD)) -#endif -#ifndef __alias -#define __alias(symbol) __attribute__((alias(#symbol))) -#endif - -/* Check whether a string `str` has prefix `pfx`, regardless if `pfx` is - * a string literal known at compilation time or char * pointer known only at - * runtime. - */ -#define str_has_pfx(str, pfx) \ - (strncmp(str, pfx, __builtin_constant_p(pfx) ? sizeof(pfx) - 1 : strlen(pfx)) == 0) - -/* suffix check */ -static inline bool str_has_sfx(const char *str, const char *sfx) -{ - size_t str_len = strlen(str); - size_t sfx_len = strlen(sfx); - - if (sfx_len <= str_len) - return strcmp(str + str_len - sfx_len, sfx); - return false; -} - -/* Symbol versioning is different between static and shared library. - * Properly versioned symbols are needed for shared library, but - * only the symbol of the new version is needed for static library. - * Starting with GNU C 10, use symver attribute instead of .symver assembler - * directive, which works better with GCC LTO builds. - */ -#if defined(SHARED) && defined(__GNUC__) && __GNUC__ >= 10 - -#define DEFAULT_VERSION(internal_name, api_name, version) \ - __attribute__((symver(#api_name "@@" #version))) -#define COMPAT_VERSION(internal_name, api_name, version) \ - __attribute__((symver(#api_name "@" #version))) - -#elif defined(SHARED) - -#define COMPAT_VERSION(internal_name, api_name, version) \ - asm(".symver " #internal_name "," #api_name "@" #version); -#define DEFAULT_VERSION(internal_name, api_name, version) \ - asm(".symver " #internal_name "," #api_name "@@" #version); - -#else /* !SHARED */ - -#define COMPAT_VERSION(internal_name, api_name, version) -#define DEFAULT_VERSION(internal_name, api_name, version) \ - extern typeof(internal_name) api_name \ - __attribute__((alias(#internal_name))); - -#endif - -extern void libbpf_print(enum libbpf_print_level level, - const char *format, ...) - __attribute__((format(printf, 2, 3))); - -#define __pr(level, fmt, ...) \ -do { \ - libbpf_print(level, "libbpf: " fmt, ##__VA_ARGS__); \ -} while (0) - -#define pr_warn(fmt, ...) __pr(LIBBPF_WARN, fmt, ##__VA_ARGS__) -#define pr_info(fmt, ...) __pr(LIBBPF_INFO, fmt, ##__VA_ARGS__) -#define pr_debug(fmt, ...) __pr(LIBBPF_DEBUG, fmt, ##__VA_ARGS__) - -#ifndef __has_builtin -#define __has_builtin(x) 0 -#endif - -struct bpf_link { - int (*detach)(struct bpf_link *link); - void (*dealloc)(struct bpf_link *link); - char *pin_path; /* NULL, if not pinned */ - int fd; /* hook FD, -1 if not applicable */ - bool disconnected; -}; - -/* - * Re-implement glibc's reallocarray() for libbpf internal-only use. - * reallocarray(), unfortunately, is not available in all versions of glibc, - * so requires extra feature detection and using reallocarray() stub from - * and COMPAT_NEED_REALLOCARRAY. All this complicates - * build of libbpf unnecessarily and is just a maintenance burden. Instead, - * it's trivial to implement libbpf-specific internal version and use it - * throughout libbpf. - */ -static inline void *libbpf_reallocarray(void *ptr, size_t nmemb, size_t size) -{ - size_t total; - -#if __has_builtin(__builtin_mul_overflow) - if (unlikely(__builtin_mul_overflow(nmemb, size, &total))) - return NULL; -#else - if (size == 0 || nmemb > ULONG_MAX / size) - return NULL; - total = nmemb * size; -#endif - return realloc(ptr, total); -} - -/* Copy up to sz - 1 bytes from zero-terminated src string and ensure that dst - * is zero-terminated string no matter what (unless sz == 0, in which case - * it's a no-op). It's conceptually close to FreeBSD's strlcpy(), but differs - * in what is returned. Given this is internal helper, it's trivial to extend - * this, when necessary. Use this instead of strncpy inside libbpf source code. - */ -static inline void libbpf_strlcpy(char *dst, const char *src, size_t sz) -{ - size_t i; - - if (sz == 0) - return; - - sz--; - for (i = 0; i < sz && src[i]; i++) - dst[i] = src[i]; - dst[i] = '\0'; -} - -__u32 get_kernel_version(void); - -struct btf; -struct btf_type; - -struct btf_type *btf_type_by_id(const struct btf *btf, __u32 type_id); -const char *btf_kind_str(const struct btf_type *t); -const struct btf_type *skip_mods_and_typedefs(const struct btf *btf, __u32 id, __u32 *res_id); - -static inline enum btf_func_linkage btf_func_linkage(const struct btf_type *t) -{ - return (enum btf_func_linkage)(int)btf_vlen(t); -} - -static inline __u32 btf_type_info(int kind, int vlen, int kflag) -{ - return (kflag << 31) | (kind << 24) | vlen; -} - -enum map_def_parts { - MAP_DEF_MAP_TYPE = 0x001, - MAP_DEF_KEY_TYPE = 0x002, - MAP_DEF_KEY_SIZE = 0x004, - MAP_DEF_VALUE_TYPE = 0x008, - MAP_DEF_VALUE_SIZE = 0x010, - MAP_DEF_MAX_ENTRIES = 0x020, - MAP_DEF_MAP_FLAGS = 0x040, - MAP_DEF_NUMA_NODE = 0x080, - MAP_DEF_PINNING = 0x100, - MAP_DEF_INNER_MAP = 0x200, - MAP_DEF_MAP_EXTRA = 0x400, - - MAP_DEF_ALL = 0x7ff, /* combination of all above */ -}; - -struct btf_map_def { - enum map_def_parts parts; - __u32 map_type; - __u32 key_type_id; - __u32 key_size; - __u32 value_type_id; - __u32 value_size; - __u32 max_entries; - __u32 map_flags; - __u32 numa_node; - __u32 pinning; - __u64 map_extra; -}; - -int parse_btf_map_def(const char *map_name, struct btf *btf, - const struct btf_type *def_t, bool strict, - struct btf_map_def *map_def, struct btf_map_def *inner_def); - -void *libbpf_add_mem(void **data, size_t *cap_cnt, size_t elem_sz, - size_t cur_cnt, size_t max_cnt, size_t add_cnt); -int libbpf_ensure_mem(void **data, size_t *cap_cnt, size_t elem_sz, size_t need_cnt); - -static inline bool libbpf_is_mem_zeroed(const char *p, ssize_t len) -{ - while (len > 0) { - if (*p) - return false; - p++; - len--; - } - return true; -} - -static inline bool libbpf_validate_opts(const char *opts, - size_t opts_sz, size_t user_sz, - const char *type_name) -{ - if (user_sz < sizeof(size_t)) { - pr_warn("%s size (%zu) is too small\n", type_name, user_sz); - return false; - } - if (!libbpf_is_mem_zeroed(opts + opts_sz, (ssize_t)user_sz - opts_sz)) { - pr_warn("%s has non-zero extra bytes\n", type_name); - return false; - } - return true; -} - -#define OPTS_VALID(opts, type) \ - (!(opts) || libbpf_validate_opts((const char *)opts, \ - offsetofend(struct type, \ - type##__last_field), \ - (opts)->sz, #type)) -#define OPTS_HAS(opts, field) \ - ((opts) && opts->sz >= offsetofend(typeof(*(opts)), field)) -#define OPTS_GET(opts, field, fallback_value) \ - (OPTS_HAS(opts, field) ? (opts)->field : fallback_value) -#define OPTS_SET(opts, field, value) \ - do { \ - if (OPTS_HAS(opts, field)) \ - (opts)->field = value; \ - } while (0) - -#define OPTS_ZEROED(opts, last_nonzero_field) \ -({ \ - ssize_t __off = offsetofend(typeof(*(opts)), last_nonzero_field); \ - !(opts) || libbpf_is_mem_zeroed((const void *)opts + __off, \ - (opts)->sz - __off); \ -}) - -enum kern_feature_id { - /* v4.14: kernel support for program & map names. */ - FEAT_PROG_NAME, - /* v5.2: kernel support for global data sections. */ - FEAT_GLOBAL_DATA, - /* BTF support */ - FEAT_BTF, - /* BTF_KIND_FUNC and BTF_KIND_FUNC_PROTO support */ - FEAT_BTF_FUNC, - /* BTF_KIND_VAR and BTF_KIND_DATASEC support */ - FEAT_BTF_DATASEC, - /* BTF_FUNC_GLOBAL is supported */ - FEAT_BTF_GLOBAL_FUNC, - /* BPF_F_MMAPABLE is supported for arrays */ - FEAT_ARRAY_MMAP, - /* kernel support for expected_attach_type in BPF_PROG_LOAD */ - FEAT_EXP_ATTACH_TYPE, - /* bpf_probe_read_{kernel,user}[_str] helpers */ - FEAT_PROBE_READ_KERN, - /* BPF_PROG_BIND_MAP is supported */ - FEAT_PROG_BIND_MAP, - /* Kernel support for module BTFs */ - FEAT_MODULE_BTF, - /* BTF_KIND_FLOAT support */ - FEAT_BTF_FLOAT, - /* BPF perf link support */ - FEAT_PERF_LINK, - /* BTF_KIND_DECL_TAG support */ - FEAT_BTF_DECL_TAG, - /* BTF_KIND_TYPE_TAG support */ - FEAT_BTF_TYPE_TAG, - /* memcg-based accounting for BPF maps and progs */ - FEAT_MEMCG_ACCOUNT, - /* BPF cookie (bpf_get_attach_cookie() BPF helper) support */ - FEAT_BPF_COOKIE, - __FEAT_CNT, -}; - -int probe_memcg_account(void); -bool kernel_supports(const struct bpf_object *obj, enum kern_feature_id feat_id); -int bump_rlimit_memlock(void); - -int parse_cpu_mask_str(const char *s, bool **mask, int *mask_sz); -int parse_cpu_mask_file(const char *fcpu, bool **mask, int *mask_sz); -int libbpf__load_raw_btf(const char *raw_types, size_t types_len, - const char *str_sec, size_t str_len); -int btf_load_into_kernel(struct btf *btf, char *log_buf, size_t log_sz, __u32 log_level); - -struct btf *btf_get_from_fd(int btf_fd, struct btf *base_btf); -void btf_get_kernel_prefix_kind(enum bpf_attach_type attach_type, - const char **prefix, int *kind); - -struct btf_ext_info { - /* - * info points to the individual info section (e.g. func_info and - * line_info) from the .BTF.ext. It does not include the __u32 rec_size. - */ - void *info; - __u32 rec_size; - __u32 len; - /* optional (maintained internally by libbpf) mapping between .BTF.ext - * section and corresponding ELF section. This is used to join - * information like CO-RE relocation records with corresponding BPF - * programs defined in ELF sections - */ - __u32 *sec_idxs; - int sec_cnt; -}; - -#define for_each_btf_ext_sec(seg, sec) \ - for (sec = (seg)->info; \ - (void *)sec < (seg)->info + (seg)->len; \ - sec = (void *)sec + sizeof(struct btf_ext_info_sec) + \ - (seg)->rec_size * sec->num_info) - -#define for_each_btf_ext_rec(seg, sec, i, rec) \ - for (i = 0, rec = (void *)&(sec)->data; \ - i < (sec)->num_info; \ - i++, rec = (void *)rec + (seg)->rec_size) - -/* - * The .BTF.ext ELF section layout defined as - * struct btf_ext_header - * func_info subsection - * - * The func_info subsection layout: - * record size for struct bpf_func_info in the func_info subsection - * struct btf_sec_func_info for section #1 - * a list of bpf_func_info records for section #1 - * where struct bpf_func_info mimics one in include/uapi/linux/bpf.h - * but may not be identical - * struct btf_sec_func_info for section #2 - * a list of bpf_func_info records for section #2 - * ...... - * - * Note that the bpf_func_info record size in .BTF.ext may not - * be the same as the one defined in include/uapi/linux/bpf.h. - * The loader should ensure that record_size meets minimum - * requirement and pass the record as is to the kernel. The - * kernel will handle the func_info properly based on its contents. - */ -struct btf_ext_header { - __u16 magic; - __u8 version; - __u8 flags; - __u32 hdr_len; - - /* All offsets are in bytes relative to the end of this header */ - __u32 func_info_off; - __u32 func_info_len; - __u32 line_info_off; - __u32 line_info_len; - - /* optional part of .BTF.ext header */ - __u32 core_relo_off; - __u32 core_relo_len; -}; - -struct btf_ext { - union { - struct btf_ext_header *hdr; - void *data; - }; - struct btf_ext_info func_info; - struct btf_ext_info line_info; - struct btf_ext_info core_relo_info; - __u32 data_size; -}; - -struct btf_ext_info_sec { - __u32 sec_name_off; - __u32 num_info; - /* Followed by num_info * record_size number of bytes */ - __u8 data[]; -}; - -/* The minimum bpf_func_info checked by the loader */ -struct bpf_func_info_min { - __u32 insn_off; - __u32 type_id; -}; - -/* The minimum bpf_line_info checked by the loader */ -struct bpf_line_info_min { - __u32 insn_off; - __u32 file_name_off; - __u32 line_off; - __u32 line_col; -}; - - -typedef int (*type_id_visit_fn)(__u32 *type_id, void *ctx); -typedef int (*str_off_visit_fn)(__u32 *str_off, void *ctx); -int btf_type_visit_type_ids(struct btf_type *t, type_id_visit_fn visit, void *ctx); -int btf_type_visit_str_offs(struct btf_type *t, str_off_visit_fn visit, void *ctx); -int btf_ext_visit_type_ids(struct btf_ext *btf_ext, type_id_visit_fn visit, void *ctx); -int btf_ext_visit_str_offs(struct btf_ext *btf_ext, str_off_visit_fn visit, void *ctx); -__s32 btf__find_by_name_kind_own(const struct btf *btf, const char *type_name, - __u32 kind); - -extern enum libbpf_strict_mode libbpf_mode; - -typedef int (*kallsyms_cb_t)(unsigned long long sym_addr, char sym_type, - const char *sym_name, void *ctx); - -int libbpf_kallsyms_parse(kallsyms_cb_t cb, void *arg); - -/* handle direct returned errors */ -static inline int libbpf_err(int ret) -{ - if (ret < 0) - errno = -ret; - return ret; -} - -/* handle errno-based (e.g., syscall or libc) errors according to libbpf's - * strict mode settings - */ -static inline int libbpf_err_errno(int ret) -{ - if (libbpf_mode & LIBBPF_STRICT_DIRECT_ERRS) - /* errno is already assumed to be set on error */ - return ret < 0 ? -errno : ret; - - /* legacy: on error return -1 directly and don't touch errno */ - return ret; -} - -/* handle error for pointer-returning APIs, err is assumed to be < 0 always */ -static inline void *libbpf_err_ptr(int err) -{ - /* set errno on error, this doesn't break anything */ - errno = -err; - - if (libbpf_mode & LIBBPF_STRICT_CLEAN_PTRS) - return NULL; - - /* legacy: encode err as ptr */ - return ERR_PTR(err); -} - -/* handle pointer-returning APIs' error handling */ -static inline void *libbpf_ptr(void *ret) -{ - /* set errno on error, this doesn't break anything */ - if (IS_ERR(ret)) - errno = -PTR_ERR(ret); - - if (libbpf_mode & LIBBPF_STRICT_CLEAN_PTRS) - return IS_ERR(ret) ? NULL : ret; - - /* legacy: pass-through original pointer */ - return ret; -} - -static inline bool str_is_empty(const char *s) -{ - return !s || !s[0]; -} - -static inline bool is_ldimm64_insn(struct bpf_insn *insn) -{ - return insn->code == (BPF_LD | BPF_IMM | BPF_DW); -} - -/* if fd is stdin, stdout, or stderr, dup to a fd greater than 2 - * Takes ownership of the fd passed in, and closes it if calling - * fcntl(fd, F_DUPFD_CLOEXEC, 3). - */ -static inline int ensure_good_fd(int fd) -{ - int old_fd = fd, saved_errno; - - if (fd < 0) - return fd; - if (fd < 3) { - fd = fcntl(fd, F_DUPFD_CLOEXEC, 3); - saved_errno = errno; - close(old_fd); - if (fd < 0) { - pr_warn("failed to dup FD %d to FD > 2: %d\n", old_fd, -saved_errno); - errno = saved_errno; - } - } - return fd; -} - -/* The following two functions are exposed to bpftool */ -int bpf_core_add_cands(struct bpf_core_cand *local_cand, - size_t local_essent_len, - const struct btf *targ_btf, - const char *targ_btf_name, - int targ_start_id, - struct bpf_core_cand_list *cands); -void bpf_core_free_cands(struct bpf_core_cand_list *cands); - -struct usdt_manager *usdt_manager_new(struct bpf_object *obj); -void usdt_manager_free(struct usdt_manager *man); -struct bpf_link * usdt_manager_attach_usdt(struct usdt_manager *man, - const struct bpf_program *prog, - pid_t pid, const char *path, - const char *usdt_provider, const char *usdt_name, - __u64 usdt_cookie); - -#endif /* __LIBBPF_LIBBPF_INTERNAL_H */ diff --git a/lcc/golcc/include/bpf/libbpf_legacy.h b/lcc/golcc/include/bpf/libbpf_legacy.h deleted file mode 100644 index d7bcbd0..0000000 --- a/lcc/golcc/include/bpf/libbpf_legacy.h +++ /dev/null @@ -1,114 +0,0 @@ -/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */ - -/* - * Libbpf legacy APIs (either discouraged or deprecated, as mentioned in [0]) - * - * [0] https://docs.google.com/document/d/1UyjTZuPFWiPFyKk1tV5an11_iaRuec6U-ZESZ54nNTY - * - * Copyright (C) 2021 Facebook - */ -#ifndef __LIBBPF_LEGACY_BPF_H -#define __LIBBPF_LEGACY_BPF_H - -#include -#include -#include -#include -#include "libbpf_common.h" - -#ifdef __cplusplus -extern "C" { -#endif - -enum libbpf_strict_mode { - /* Turn on all supported strict features of libbpf to simulate libbpf - * v1.0 behavior. - * This will be the default behavior in libbpf v1.0. - */ - LIBBPF_STRICT_ALL = 0xffffffff, - - /* - * Disable any libbpf 1.0 behaviors. This is the default before libbpf - * v1.0. It won't be supported anymore in v1.0, please update your - * code so that it handles LIBBPF_STRICT_ALL mode before libbpf v1.0. - */ - LIBBPF_STRICT_NONE = 0x00, - /* - * Return NULL pointers on error, not ERR_PTR(err). - * Additionally, libbpf also always sets errno to corresponding Exx - * (positive) error code. - */ - LIBBPF_STRICT_CLEAN_PTRS = 0x01, - /* - * Return actual error codes from low-level APIs directly, not just -1. - * Additionally, libbpf also always sets errno to corresponding Exx - * (positive) error code. - */ - LIBBPF_STRICT_DIRECT_ERRS = 0x02, - /* - * Enforce strict BPF program section (SEC()) names. - * E.g., while prefiously SEC("xdp_whatever") or SEC("perf_event_blah") were - * allowed, with LIBBPF_STRICT_SEC_PREFIX this will become - * unrecognized by libbpf and would have to be just SEC("xdp") and - * SEC("xdp") and SEC("perf_event"). - * - * Note, in this mode the program pin path will be based on the - * function name instead of section name. - * - * Additionally, routines in the .text section are always considered - * sub-programs. Legacy behavior allows for a single routine in .text - * to be a program. - */ - LIBBPF_STRICT_SEC_NAME = 0x04, - /* - * Disable the global 'bpf_objects_list'. Maintaining this list adds - * a race condition to bpf_object__open() and bpf_object__close(). - * Clients can maintain it on their own if it is valuable for them. - */ - LIBBPF_STRICT_NO_OBJECT_LIST = 0x08, - /* - * Automatically bump RLIMIT_MEMLOCK using setrlimit() before the - * first BPF program or map creation operation. This is done only if - * kernel is too old to support memcg-based memory accounting for BPF - * subsystem. By default, RLIMIT_MEMLOCK limit is set to RLIM_INFINITY, - * but it can be overriden with libbpf_set_memlock_rlim_max() API. - * Note that libbpf_set_memlock_rlim_max() needs to be called before - * the very first bpf_prog_load(), bpf_map_create() or bpf_object__load() - * operation. - */ - LIBBPF_STRICT_AUTO_RLIMIT_MEMLOCK = 0x10, - /* - * Error out on any SEC("maps") map definition, which are deprecated - * in favor of BTF-defined map definitions in SEC(".maps"). - */ - LIBBPF_STRICT_MAP_DEFINITIONS = 0x20, - - __LIBBPF_STRICT_LAST, -}; - -LIBBPF_API int libbpf_set_strict_mode(enum libbpf_strict_mode mode); - -#define DECLARE_LIBBPF_OPTS LIBBPF_OPTS - -/* "Discouraged" APIs which don't follow consistent libbpf naming patterns. - * They are normally a trivial aliases or wrappers for proper APIs and are - * left to minimize unnecessary disruption for users of libbpf. But they - * shouldn't be used going forward. - */ - -struct bpf_program; -struct bpf_map; -struct btf; -struct btf_ext; - -LIBBPF_API enum bpf_prog_type bpf_program__get_type(const struct bpf_program *prog); -LIBBPF_API enum bpf_attach_type bpf_program__get_expected_attach_type(const struct bpf_program *prog); -LIBBPF_API const char *bpf_map__get_pin_path(const struct bpf_map *map); -LIBBPF_API const void *btf__get_raw_data(const struct btf *btf, __u32 *size); -LIBBPF_API const void *btf_ext__get_raw_data(const struct btf_ext *btf_ext, __u32 *size); - -#ifdef __cplusplus -} /* extern "C" */ -#endif - -#endif /* __LIBBPF_LEGACY_BPF_H */ diff --git a/lcc/golcc/include/bpf/libbpf_version.h b/lcc/golcc/include/bpf/libbpf_version.h deleted file mode 100644 index 61f2039..0000000 --- a/lcc/golcc/include/bpf/libbpf_version.h +++ /dev/null @@ -1,9 +0,0 @@ -/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */ -/* Copyright (C) 2021 Facebook */ -#ifndef __LIBBPF_VERSION_H -#define __LIBBPF_VERSION_H - -#define LIBBPF_MAJOR_VERSION 0 -#define LIBBPF_MINOR_VERSION 8 - -#endif /* __LIBBPF_VERSION_H */ diff --git a/lcc/golcc/include/bpf/netlink.h b/lcc/golcc/include/bpf/netlink.h deleted file mode 100644 index 0a4d733..0000000 --- a/lcc/golcc/include/bpf/netlink.h +++ /dev/null @@ -1,252 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ -#ifndef _UAPI__LINUX_NETLINK_H -#define _UAPI__LINUX_NETLINK_H - -#include -#include /* for __kernel_sa_family_t */ -#include - -#define NETLINK_ROUTE 0 /* Routing/device hook */ -#define NETLINK_UNUSED 1 /* Unused number */ -#define NETLINK_USERSOCK 2 /* Reserved for user mode socket protocols */ -#define NETLINK_FIREWALL 3 /* Unused number, formerly ip_queue */ -#define NETLINK_SOCK_DIAG 4 /* socket monitoring */ -#define NETLINK_NFLOG 5 /* netfilter/iptables ULOG */ -#define NETLINK_XFRM 6 /* ipsec */ -#define NETLINK_SELINUX 7 /* SELinux event notifications */ -#define NETLINK_ISCSI 8 /* Open-iSCSI */ -#define NETLINK_AUDIT 9 /* auditing */ -#define NETLINK_FIB_LOOKUP 10 -#define NETLINK_CONNECTOR 11 -#define NETLINK_NETFILTER 12 /* netfilter subsystem */ -#define NETLINK_IP6_FW 13 -#define NETLINK_DNRTMSG 14 /* DECnet routing messages */ -#define NETLINK_KOBJECT_UEVENT 15 /* Kernel messages to userspace */ -#define NETLINK_GENERIC 16 -/* leave room for NETLINK_DM (DM Events) */ -#define NETLINK_SCSITRANSPORT 18 /* SCSI Transports */ -#define NETLINK_ECRYPTFS 19 -#define NETLINK_RDMA 20 -#define NETLINK_CRYPTO 21 /* Crypto layer */ -#define NETLINK_SMC 22 /* SMC monitoring */ - -#define NETLINK_INET_DIAG NETLINK_SOCK_DIAG - -#define MAX_LINKS 32 - -struct sockaddr_nl { - __kernel_sa_family_t nl_family; /* AF_NETLINK */ - unsigned short nl_pad; /* zero */ - __u32 nl_pid; /* port ID */ - __u32 nl_groups; /* multicast groups mask */ -}; - -struct nlmsghdr { - __u32 nlmsg_len; /* Length of message including header */ - __u16 nlmsg_type; /* Message content */ - __u16 nlmsg_flags; /* Additional flags */ - __u32 nlmsg_seq; /* Sequence number */ - __u32 nlmsg_pid; /* Sending process port ID */ -}; - -/* Flags values */ - -#define NLM_F_REQUEST 0x01 /* It is request message. */ -#define NLM_F_MULTI 0x02 /* Multipart message, terminated by NLMSG_DONE */ -#define NLM_F_ACK 0x04 /* Reply with ack, with zero or error code */ -#define NLM_F_ECHO 0x08 /* Echo this request */ -#define NLM_F_DUMP_INTR 0x10 /* Dump was inconsistent due to sequence change */ -#define NLM_F_DUMP_FILTERED 0x20 /* Dump was filtered as requested */ - -/* Modifiers to GET request */ -#define NLM_F_ROOT 0x100 /* specify tree root */ -#define NLM_F_MATCH 0x200 /* return all matching */ -#define NLM_F_ATOMIC 0x400 /* atomic GET */ -#define NLM_F_DUMP (NLM_F_ROOT|NLM_F_MATCH) - -/* Modifiers to NEW request */ -#define NLM_F_REPLACE 0x100 /* Override existing */ -#define NLM_F_EXCL 0x200 /* Do not touch, if it exists */ -#define NLM_F_CREATE 0x400 /* Create, if it does not exist */ -#define NLM_F_APPEND 0x800 /* Add to end of list */ - -/* Modifiers to DELETE request */ -#define NLM_F_NONREC 0x100 /* Do not delete recursively */ - -/* Flags for ACK message */ -#define NLM_F_CAPPED 0x100 /* request was capped */ -#define NLM_F_ACK_TLVS 0x200 /* extended ACK TVLs were included */ - -/* - 4.4BSD ADD NLM_F_CREATE|NLM_F_EXCL - 4.4BSD CHANGE NLM_F_REPLACE - - True CHANGE NLM_F_CREATE|NLM_F_REPLACE - Append NLM_F_CREATE - Check NLM_F_EXCL - */ - -#define NLMSG_ALIGNTO 4U -#define NLMSG_ALIGN(len) ( ((len)+NLMSG_ALIGNTO-1) & ~(NLMSG_ALIGNTO-1) ) -#define NLMSG_HDRLEN ((int) NLMSG_ALIGN(sizeof(struct nlmsghdr))) -#define NLMSG_LENGTH(len) ((len) + NLMSG_HDRLEN) -#define NLMSG_SPACE(len) NLMSG_ALIGN(NLMSG_LENGTH(len)) -#define NLMSG_DATA(nlh) ((void*)(((char*)nlh) + NLMSG_LENGTH(0))) -#define NLMSG_NEXT(nlh,len) ((len) -= NLMSG_ALIGN((nlh)->nlmsg_len), \ - (struct nlmsghdr*)(((char*)(nlh)) + NLMSG_ALIGN((nlh)->nlmsg_len))) -#define NLMSG_OK(nlh,len) ((len) >= (int)sizeof(struct nlmsghdr) && \ - (nlh)->nlmsg_len >= sizeof(struct nlmsghdr) && \ - (nlh)->nlmsg_len <= (len)) -#define NLMSG_PAYLOAD(nlh,len) ((nlh)->nlmsg_len - NLMSG_SPACE((len))) - -#define NLMSG_NOOP 0x1 /* Nothing. */ -#define NLMSG_ERROR 0x2 /* Error */ -#define NLMSG_DONE 0x3 /* End of a dump */ -#define NLMSG_OVERRUN 0x4 /* Data lost */ - -#define NLMSG_MIN_TYPE 0x10 /* < 0x10: reserved control messages */ - -struct nlmsgerr { - int error; - struct nlmsghdr msg; - /* - * followed by the message contents unless NETLINK_CAP_ACK was set - * or the ACK indicates success (error == 0) - * message length is aligned with NLMSG_ALIGN() - */ - /* - * followed by TLVs defined in enum nlmsgerr_attrs - * if NETLINK_EXT_ACK was set - */ -}; - -/** - * enum nlmsgerr_attrs - nlmsgerr attributes - * @NLMSGERR_ATTR_UNUSED: unused - * @NLMSGERR_ATTR_MSG: error message string (string) - * @NLMSGERR_ATTR_OFFS: offset of the invalid attribute in the original - * message, counting from the beginning of the header (u32) - * @NLMSGERR_ATTR_COOKIE: arbitrary subsystem specific cookie to - * be used - in the success case - to identify a created - * object or operation or similar (binary) - * @__NLMSGERR_ATTR_MAX: number of attributes - * @NLMSGERR_ATTR_MAX: highest attribute number - */ -enum nlmsgerr_attrs { - NLMSGERR_ATTR_UNUSED, - NLMSGERR_ATTR_MSG, - NLMSGERR_ATTR_OFFS, - NLMSGERR_ATTR_COOKIE, - - __NLMSGERR_ATTR_MAX, - NLMSGERR_ATTR_MAX = __NLMSGERR_ATTR_MAX - 1 -}; - -#define NETLINK_ADD_MEMBERSHIP 1 -#define NETLINK_DROP_MEMBERSHIP 2 -#define NETLINK_PKTINFO 3 -#define NETLINK_BROADCAST_ERROR 4 -#define NETLINK_NO_ENOBUFS 5 -#ifndef __KERNEL__ -#define NETLINK_RX_RING 6 -#define NETLINK_TX_RING 7 -#endif -#define NETLINK_LISTEN_ALL_NSID 8 -#define NETLINK_LIST_MEMBERSHIPS 9 -#define NETLINK_CAP_ACK 10 -#define NETLINK_EXT_ACK 11 -#define NETLINK_GET_STRICT_CHK 12 - -struct nl_pktinfo { - __u32 group; -}; - -struct nl_mmap_req { - unsigned int nm_block_size; - unsigned int nm_block_nr; - unsigned int nm_frame_size; - unsigned int nm_frame_nr; -}; - -struct nl_mmap_hdr { - unsigned int nm_status; - unsigned int nm_len; - __u32 nm_group; - /* credentials */ - __u32 nm_pid; - __u32 nm_uid; - __u32 nm_gid; -}; - -#ifndef __KERNEL__ -enum nl_mmap_status { - NL_MMAP_STATUS_UNUSED, - NL_MMAP_STATUS_RESERVED, - NL_MMAP_STATUS_VALID, - NL_MMAP_STATUS_COPY, - NL_MMAP_STATUS_SKIP, -}; - -#define NL_MMAP_MSG_ALIGNMENT NLMSG_ALIGNTO -#define NL_MMAP_MSG_ALIGN(sz) __ALIGN_KERNEL(sz, NL_MMAP_MSG_ALIGNMENT) -#define NL_MMAP_HDRLEN NL_MMAP_MSG_ALIGN(sizeof(struct nl_mmap_hdr)) -#endif - -#define NET_MAJOR 36 /* Major 36 is reserved for networking */ - -enum { - NETLINK_UNCONNECTED = 0, - NETLINK_CONNECTED, -}; - -/* - * <------- NLA_HDRLEN ------> <-- NLA_ALIGN(payload)--> - * +---------------------+- - -+- - - - - - - - - -+- - -+ - * | Header | Pad | Payload | Pad | - * | (struct nlattr) | ing | | ing | - * +---------------------+- - -+- - - - - - - - - -+- - -+ - * <-------------- nlattr->nla_len --------------> - */ - -struct nlattr { - __u16 nla_len; - __u16 nla_type; -}; - -/* - * nla_type (16 bits) - * +---+---+-------------------------------+ - * | N | O | Attribute Type | - * +---+---+-------------------------------+ - * N := Carries nested attributes - * O := Payload stored in network byte order - * - * Note: The N and O flag are mutually exclusive. - */ -#define NLA_F_NESTED (1 << 15) -#define NLA_F_NET_BYTEORDER (1 << 14) -#define NLA_TYPE_MASK ~(NLA_F_NESTED | NLA_F_NET_BYTEORDER) - -#define NLA_ALIGNTO 4 -#define NLA_ALIGN(len) (((len) + NLA_ALIGNTO - 1) & ~(NLA_ALIGNTO - 1)) -#define NLA_HDRLEN ((int) NLA_ALIGN(sizeof(struct nlattr))) - -/* Generic 32 bitflags attribute content sent to the kernel. - * - * The value is a bitmap that defines the values being set - * The selector is a bitmask that defines which value is legit - * - * Examples: - * value = 0x0, and selector = 0x1 - * implies we are selecting bit 1 and we want to set its value to 0. - * - * value = 0x2, and selector = 0x2 - * implies we are selecting bit 2 and we want to set its value to 1. - * - */ -struct nla_bitfield32 { - __u32 value; - __u32 selector; -}; - -#endif /* _UAPI__LINUX_NETLINK_H */ diff --git a/lcc/golcc/include/bpf/nlattr.h b/lcc/golcc/include/bpf/nlattr.h deleted file mode 100644 index 4d15ae2..0000000 --- a/lcc/golcc/include/bpf/nlattr.h +++ /dev/null @@ -1,164 +0,0 @@ -/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */ - -/* - * NETLINK Netlink attributes - * - * Copyright (c) 2003-2013 Thomas Graf - */ - -#ifndef __LIBBPF_NLATTR_H -#define __LIBBPF_NLATTR_H - -#include -#include -#include -#include -#include - -/* avoid multiple definition of netlink features */ -#define __LINUX_NETLINK_H - -/** - * Standard attribute types to specify validation policy - */ -enum { - LIBBPF_NLA_UNSPEC, /**< Unspecified type, binary data chunk */ - LIBBPF_NLA_U8, /**< 8 bit integer */ - LIBBPF_NLA_U16, /**< 16 bit integer */ - LIBBPF_NLA_U32, /**< 32 bit integer */ - LIBBPF_NLA_U64, /**< 64 bit integer */ - LIBBPF_NLA_STRING, /**< NUL terminated character string */ - LIBBPF_NLA_FLAG, /**< Flag */ - LIBBPF_NLA_MSECS, /**< Micro seconds (64bit) */ - LIBBPF_NLA_NESTED, /**< Nested attributes */ - __LIBBPF_NLA_TYPE_MAX, -}; - -#define LIBBPF_NLA_TYPE_MAX (__LIBBPF_NLA_TYPE_MAX - 1) - -/** - * @ingroup attr - * Attribute validation policy. - * - * See section @core_doc{core_attr_parse,Attribute Parsing} for more details. - */ -struct libbpf_nla_policy { - /** Type of attribute or LIBBPF_NLA_UNSPEC */ - uint16_t type; - - /** Minimal length of payload required */ - uint16_t minlen; - - /** Maximal length of payload allowed */ - uint16_t maxlen; -}; - -struct libbpf_nla_req { - struct nlmsghdr nh; - union { - struct ifinfomsg ifinfo; - struct tcmsg tc; - }; - char buf[128]; -}; - -/** - * @ingroup attr - * Iterate over a stream of attributes - * @arg pos loop counter, set to current attribute - * @arg head head of attribute stream - * @arg len length of attribute stream - * @arg rem initialized to len, holds bytes currently remaining in stream - */ -#define libbpf_nla_for_each_attr(pos, head, len, rem) \ - for (pos = head, rem = len; \ - nla_ok(pos, rem); \ - pos = nla_next(pos, &(rem))) - -/** - * libbpf_nla_data - head of payload - * @nla: netlink attribute - */ -static inline void *libbpf_nla_data(const struct nlattr *nla) -{ - return (void *)nla + NLA_HDRLEN; -} - -static inline uint8_t libbpf_nla_getattr_u8(const struct nlattr *nla) -{ - return *(uint8_t *)libbpf_nla_data(nla); -} - -static inline uint32_t libbpf_nla_getattr_u32(const struct nlattr *nla) -{ - return *(uint32_t *)libbpf_nla_data(nla); -} - -static inline const char *libbpf_nla_getattr_str(const struct nlattr *nla) -{ - return (const char *)libbpf_nla_data(nla); -} - -/** - * libbpf_nla_len - length of payload - * @nla: netlink attribute - */ -static inline int libbpf_nla_len(const struct nlattr *nla) -{ - return nla->nla_len - NLA_HDRLEN; -} - -int libbpf_nla_parse(struct nlattr *tb[], int maxtype, struct nlattr *head, - int len, struct libbpf_nla_policy *policy); -int libbpf_nla_parse_nested(struct nlattr *tb[], int maxtype, - struct nlattr *nla, - struct libbpf_nla_policy *policy); - -int libbpf_nla_dump_errormsg(struct nlmsghdr *nlh); - -static inline struct nlattr *nla_data(struct nlattr *nla) -{ - return (struct nlattr *)((void *)nla + NLA_HDRLEN); -} - -static inline struct nlattr *req_tail(struct libbpf_nla_req *req) -{ - return (struct nlattr *)((void *)req + NLMSG_ALIGN(req->nh.nlmsg_len)); -} - -static inline int nlattr_add(struct libbpf_nla_req *req, int type, - const void *data, int len) -{ - struct nlattr *nla; - - if (NLMSG_ALIGN(req->nh.nlmsg_len) + NLA_ALIGN(NLA_HDRLEN + len) > sizeof(*req)) - return -EMSGSIZE; - if (!!data != !!len) - return -EINVAL; - - nla = req_tail(req); - nla->nla_type = type; - nla->nla_len = NLA_HDRLEN + len; - if (data) - memcpy(nla_data(nla), data, len); - req->nh.nlmsg_len = NLMSG_ALIGN(req->nh.nlmsg_len) + NLA_ALIGN(nla->nla_len); - return 0; -} - -static inline struct nlattr *nlattr_begin_nested(struct libbpf_nla_req *req, int type) -{ - struct nlattr *tail; - - tail = req_tail(req); - if (nlattr_add(req, type | NLA_F_NESTED, NULL, 0)) - return NULL; - return tail; -} - -static inline void nlattr_end_nested(struct libbpf_nla_req *req, - struct nlattr *tail) -{ - tail->nla_len = (void *)req_tail(req) - (void *)tail; -} - -#endif /* __LIBBPF_NLATTR_H */ diff --git a/lcc/golcc/include/bpf/perf_event.h b/lcc/golcc/include/bpf/perf_event.h deleted file mode 100644 index d37629d..0000000 --- a/lcc/golcc/include/bpf/perf_event.h +++ /dev/null @@ -1,1395 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ -/* - * Performance events: - * - * Copyright (C) 2008-2009, Thomas Gleixner - * Copyright (C) 2008-2011, Red Hat, Inc., Ingo Molnar - * Copyright (C) 2008-2011, Red Hat, Inc., Peter Zijlstra - * - * Data type definitions, declarations, prototypes. - * - * Started by: Thomas Gleixner and Ingo Molnar - * - * For licencing details see kernel-base/COPYING - */ -#ifndef _UAPI_LINUX_PERF_EVENT_H -#define _UAPI_LINUX_PERF_EVENT_H - -#include -#include -#include - -/* - * User-space ABI bits: - */ - -/* - * attr.type - */ -enum perf_type_id { - PERF_TYPE_HARDWARE = 0, - PERF_TYPE_SOFTWARE = 1, - PERF_TYPE_TRACEPOINT = 2, - PERF_TYPE_HW_CACHE = 3, - PERF_TYPE_RAW = 4, - PERF_TYPE_BREAKPOINT = 5, - - PERF_TYPE_MAX, /* non-ABI */ -}; - -/* - * attr.config layout for type PERF_TYPE_HARDWARE and PERF_TYPE_HW_CACHE - * PERF_TYPE_HARDWARE: 0xEEEEEEEE000000AA - * AA: hardware event ID - * EEEEEEEE: PMU type ID - * PERF_TYPE_HW_CACHE: 0xEEEEEEEE00DDCCBB - * BB: hardware cache ID - * CC: hardware cache op ID - * DD: hardware cache op result ID - * EEEEEEEE: PMU type ID - * If the PMU type ID is 0, the PERF_TYPE_RAW will be applied. - */ -#define PERF_PMU_TYPE_SHIFT 32 -#define PERF_HW_EVENT_MASK 0xffffffff - -/* - * Generalized performance event event_id types, used by the - * attr.event_id parameter of the sys_perf_event_open() - * syscall: - */ -enum perf_hw_id { - /* - * Common hardware events, generalized by the kernel: - */ - PERF_COUNT_HW_CPU_CYCLES = 0, - PERF_COUNT_HW_INSTRUCTIONS = 1, - PERF_COUNT_HW_CACHE_REFERENCES = 2, - PERF_COUNT_HW_CACHE_MISSES = 3, - PERF_COUNT_HW_BRANCH_INSTRUCTIONS = 4, - PERF_COUNT_HW_BRANCH_MISSES = 5, - PERF_COUNT_HW_BUS_CYCLES = 6, - PERF_COUNT_HW_STALLED_CYCLES_FRONTEND = 7, - PERF_COUNT_HW_STALLED_CYCLES_BACKEND = 8, - PERF_COUNT_HW_REF_CPU_CYCLES = 9, - - PERF_COUNT_HW_MAX, /* non-ABI */ -}; - -/* - * Generalized hardware cache events: - * - * { L1-D, L1-I, LLC, ITLB, DTLB, BPU, NODE } x - * { read, write, prefetch } x - * { accesses, misses } - */ -enum perf_hw_cache_id { - PERF_COUNT_HW_CACHE_L1D = 0, - PERF_COUNT_HW_CACHE_L1I = 1, - PERF_COUNT_HW_CACHE_LL = 2, - PERF_COUNT_HW_CACHE_DTLB = 3, - PERF_COUNT_HW_CACHE_ITLB = 4, - PERF_COUNT_HW_CACHE_BPU = 5, - PERF_COUNT_HW_CACHE_NODE = 6, - - PERF_COUNT_HW_CACHE_MAX, /* non-ABI */ -}; - -enum perf_hw_cache_op_id { - PERF_COUNT_HW_CACHE_OP_READ = 0, - PERF_COUNT_HW_CACHE_OP_WRITE = 1, - PERF_COUNT_HW_CACHE_OP_PREFETCH = 2, - - PERF_COUNT_HW_CACHE_OP_MAX, /* non-ABI */ -}; - -enum perf_hw_cache_op_result_id { - PERF_COUNT_HW_CACHE_RESULT_ACCESS = 0, - PERF_COUNT_HW_CACHE_RESULT_MISS = 1, - - PERF_COUNT_HW_CACHE_RESULT_MAX, /* non-ABI */ -}; - -/* - * Special "software" events provided by the kernel, even if the hardware - * does not support performance events. These events measure various - * physical and sw events of the kernel (and allow the profiling of them as - * well): - */ -enum perf_sw_ids { - PERF_COUNT_SW_CPU_CLOCK = 0, - PERF_COUNT_SW_TASK_CLOCK = 1, - PERF_COUNT_SW_PAGE_FAULTS = 2, - PERF_COUNT_SW_CONTEXT_SWITCHES = 3, - PERF_COUNT_SW_CPU_MIGRATIONS = 4, - PERF_COUNT_SW_PAGE_FAULTS_MIN = 5, - PERF_COUNT_SW_PAGE_FAULTS_MAJ = 6, - PERF_COUNT_SW_ALIGNMENT_FAULTS = 7, - PERF_COUNT_SW_EMULATION_FAULTS = 8, - PERF_COUNT_SW_DUMMY = 9, - PERF_COUNT_SW_BPF_OUTPUT = 10, - PERF_COUNT_SW_CGROUP_SWITCHES = 11, - - PERF_COUNT_SW_MAX, /* non-ABI */ -}; - -/* - * Bits that can be set in attr.sample_type to request information - * in the overflow packets. - */ -enum perf_event_sample_format { - PERF_SAMPLE_IP = 1U << 0, - PERF_SAMPLE_TID = 1U << 1, - PERF_SAMPLE_TIME = 1U << 2, - PERF_SAMPLE_ADDR = 1U << 3, - PERF_SAMPLE_READ = 1U << 4, - PERF_SAMPLE_CALLCHAIN = 1U << 5, - PERF_SAMPLE_ID = 1U << 6, - PERF_SAMPLE_CPU = 1U << 7, - PERF_SAMPLE_PERIOD = 1U << 8, - PERF_SAMPLE_STREAM_ID = 1U << 9, - PERF_SAMPLE_RAW = 1U << 10, - PERF_SAMPLE_BRANCH_STACK = 1U << 11, - PERF_SAMPLE_REGS_USER = 1U << 12, - PERF_SAMPLE_STACK_USER = 1U << 13, - PERF_SAMPLE_WEIGHT = 1U << 14, - PERF_SAMPLE_DATA_SRC = 1U << 15, - PERF_SAMPLE_IDENTIFIER = 1U << 16, - PERF_SAMPLE_TRANSACTION = 1U << 17, - PERF_SAMPLE_REGS_INTR = 1U << 18, - PERF_SAMPLE_PHYS_ADDR = 1U << 19, - PERF_SAMPLE_AUX = 1U << 20, - PERF_SAMPLE_CGROUP = 1U << 21, - PERF_SAMPLE_DATA_PAGE_SIZE = 1U << 22, - PERF_SAMPLE_CODE_PAGE_SIZE = 1U << 23, - PERF_SAMPLE_WEIGHT_STRUCT = 1U << 24, - - PERF_SAMPLE_MAX = 1U << 25, /* non-ABI */ - - __PERF_SAMPLE_CALLCHAIN_EARLY = 1ULL << 63, /* non-ABI; internal use */ -}; - -#define PERF_SAMPLE_WEIGHT_TYPE (PERF_SAMPLE_WEIGHT | PERF_SAMPLE_WEIGHT_STRUCT) -/* - * values to program into branch_sample_type when PERF_SAMPLE_BRANCH is set - * - * If the user does not pass priv level information via branch_sample_type, - * the kernel uses the event's priv level. Branch and event priv levels do - * not have to match. Branch priv level is checked for permissions. - * - * The branch types can be combined, however BRANCH_ANY covers all types - * of branches and therefore it supersedes all the other types. - */ -enum perf_branch_sample_type_shift { - PERF_SAMPLE_BRANCH_USER_SHIFT = 0, /* user branches */ - PERF_SAMPLE_BRANCH_KERNEL_SHIFT = 1, /* kernel branches */ - PERF_SAMPLE_BRANCH_HV_SHIFT = 2, /* hypervisor branches */ - - PERF_SAMPLE_BRANCH_ANY_SHIFT = 3, /* any branch types */ - PERF_SAMPLE_BRANCH_ANY_CALL_SHIFT = 4, /* any call branch */ - PERF_SAMPLE_BRANCH_ANY_RETURN_SHIFT = 5, /* any return branch */ - PERF_SAMPLE_BRANCH_IND_CALL_SHIFT = 6, /* indirect calls */ - PERF_SAMPLE_BRANCH_ABORT_TX_SHIFT = 7, /* transaction aborts */ - PERF_SAMPLE_BRANCH_IN_TX_SHIFT = 8, /* in transaction */ - PERF_SAMPLE_BRANCH_NO_TX_SHIFT = 9, /* not in transaction */ - PERF_SAMPLE_BRANCH_COND_SHIFT = 10, /* conditional branches */ - - PERF_SAMPLE_BRANCH_CALL_STACK_SHIFT = 11, /* call/ret stack */ - PERF_SAMPLE_BRANCH_IND_JUMP_SHIFT = 12, /* indirect jumps */ - PERF_SAMPLE_BRANCH_CALL_SHIFT = 13, /* direct call */ - - PERF_SAMPLE_BRANCH_NO_FLAGS_SHIFT = 14, /* no flags */ - PERF_SAMPLE_BRANCH_NO_CYCLES_SHIFT = 15, /* no cycles */ - - PERF_SAMPLE_BRANCH_TYPE_SAVE_SHIFT = 16, /* save branch type */ - - PERF_SAMPLE_BRANCH_HW_INDEX_SHIFT = 17, /* save low level index of raw branch records */ - - PERF_SAMPLE_BRANCH_MAX_SHIFT /* non-ABI */ -}; - -enum perf_branch_sample_type { - PERF_SAMPLE_BRANCH_USER = 1U << PERF_SAMPLE_BRANCH_USER_SHIFT, - PERF_SAMPLE_BRANCH_KERNEL = 1U << PERF_SAMPLE_BRANCH_KERNEL_SHIFT, - PERF_SAMPLE_BRANCH_HV = 1U << PERF_SAMPLE_BRANCH_HV_SHIFT, - - PERF_SAMPLE_BRANCH_ANY = 1U << PERF_SAMPLE_BRANCH_ANY_SHIFT, - PERF_SAMPLE_BRANCH_ANY_CALL = 1U << PERF_SAMPLE_BRANCH_ANY_CALL_SHIFT, - PERF_SAMPLE_BRANCH_ANY_RETURN = 1U << PERF_SAMPLE_BRANCH_ANY_RETURN_SHIFT, - PERF_SAMPLE_BRANCH_IND_CALL = 1U << PERF_SAMPLE_BRANCH_IND_CALL_SHIFT, - PERF_SAMPLE_BRANCH_ABORT_TX = 1U << PERF_SAMPLE_BRANCH_ABORT_TX_SHIFT, - PERF_SAMPLE_BRANCH_IN_TX = 1U << PERF_SAMPLE_BRANCH_IN_TX_SHIFT, - PERF_SAMPLE_BRANCH_NO_TX = 1U << PERF_SAMPLE_BRANCH_NO_TX_SHIFT, - PERF_SAMPLE_BRANCH_COND = 1U << PERF_SAMPLE_BRANCH_COND_SHIFT, - - PERF_SAMPLE_BRANCH_CALL_STACK = 1U << PERF_SAMPLE_BRANCH_CALL_STACK_SHIFT, - PERF_SAMPLE_BRANCH_IND_JUMP = 1U << PERF_SAMPLE_BRANCH_IND_JUMP_SHIFT, - PERF_SAMPLE_BRANCH_CALL = 1U << PERF_SAMPLE_BRANCH_CALL_SHIFT, - - PERF_SAMPLE_BRANCH_NO_FLAGS = 1U << PERF_SAMPLE_BRANCH_NO_FLAGS_SHIFT, - PERF_SAMPLE_BRANCH_NO_CYCLES = 1U << PERF_SAMPLE_BRANCH_NO_CYCLES_SHIFT, - - PERF_SAMPLE_BRANCH_TYPE_SAVE = - 1U << PERF_SAMPLE_BRANCH_TYPE_SAVE_SHIFT, - - PERF_SAMPLE_BRANCH_HW_INDEX = 1U << PERF_SAMPLE_BRANCH_HW_INDEX_SHIFT, - - PERF_SAMPLE_BRANCH_MAX = 1U << PERF_SAMPLE_BRANCH_MAX_SHIFT, -}; - -/* - * Common flow change classification - */ -enum { - PERF_BR_UNKNOWN = 0, /* unknown */ - PERF_BR_COND = 1, /* conditional */ - PERF_BR_UNCOND = 2, /* unconditional */ - PERF_BR_IND = 3, /* indirect */ - PERF_BR_CALL = 4, /* function call */ - PERF_BR_IND_CALL = 5, /* indirect function call */ - PERF_BR_RET = 6, /* function return */ - PERF_BR_SYSCALL = 7, /* syscall */ - PERF_BR_SYSRET = 8, /* syscall return */ - PERF_BR_COND_CALL = 9, /* conditional function call */ - PERF_BR_COND_RET = 10, /* conditional function return */ - PERF_BR_ERET = 11, /* exception return */ - PERF_BR_IRQ = 12, /* irq */ - PERF_BR_MAX, -}; - -#define PERF_SAMPLE_BRANCH_PLM_ALL \ - (PERF_SAMPLE_BRANCH_USER|\ - PERF_SAMPLE_BRANCH_KERNEL|\ - PERF_SAMPLE_BRANCH_HV) - -/* - * Values to determine ABI of the registers dump. - */ -enum perf_sample_regs_abi { - PERF_SAMPLE_REGS_ABI_NONE = 0, - PERF_SAMPLE_REGS_ABI_32 = 1, - PERF_SAMPLE_REGS_ABI_64 = 2, -}; - -/* - * Values for the memory transaction event qualifier, mostly for - * abort events. Multiple bits can be set. - */ -enum { - PERF_TXN_ELISION = (1 << 0), /* From elision */ - PERF_TXN_TRANSACTION = (1 << 1), /* From transaction */ - PERF_TXN_SYNC = (1 << 2), /* Instruction is related */ - PERF_TXN_ASYNC = (1 << 3), /* Instruction not related */ - PERF_TXN_RETRY = (1 << 4), /* Retry possible */ - PERF_TXN_CONFLICT = (1 << 5), /* Conflict abort */ - PERF_TXN_CAPACITY_WRITE = (1 << 6), /* Capacity write abort */ - PERF_TXN_CAPACITY_READ = (1 << 7), /* Capacity read abort */ - - PERF_TXN_MAX = (1 << 8), /* non-ABI */ - - /* bits 32..63 are reserved for the abort code */ - - PERF_TXN_ABORT_MASK = (0xffffffffULL << 32), - PERF_TXN_ABORT_SHIFT = 32, -}; - -/* - * The format of the data returned by read() on a perf event fd, - * as specified by attr.read_format: - * - * struct read_format { - * { u64 value; - * { u64 time_enabled; } && PERF_FORMAT_TOTAL_TIME_ENABLED - * { u64 time_running; } && PERF_FORMAT_TOTAL_TIME_RUNNING - * { u64 id; } && PERF_FORMAT_ID - * } && !PERF_FORMAT_GROUP - * - * { u64 nr; - * { u64 time_enabled; } && PERF_FORMAT_TOTAL_TIME_ENABLED - * { u64 time_running; } && PERF_FORMAT_TOTAL_TIME_RUNNING - * { u64 value; - * { u64 id; } && PERF_FORMAT_ID - * } cntr[nr]; - * } && PERF_FORMAT_GROUP - * }; - */ -enum perf_event_read_format { - PERF_FORMAT_TOTAL_TIME_ENABLED = 1U << 0, - PERF_FORMAT_TOTAL_TIME_RUNNING = 1U << 1, - PERF_FORMAT_ID = 1U << 2, - PERF_FORMAT_GROUP = 1U << 3, - - PERF_FORMAT_MAX = 1U << 4, /* non-ABI */ -}; - -#define PERF_ATTR_SIZE_VER0 64 /* sizeof first published struct */ -#define PERF_ATTR_SIZE_VER1 72 /* add: config2 */ -#define PERF_ATTR_SIZE_VER2 80 /* add: branch_sample_type */ -#define PERF_ATTR_SIZE_VER3 96 /* add: sample_regs_user */ - /* add: sample_stack_user */ -#define PERF_ATTR_SIZE_VER4 104 /* add: sample_regs_intr */ -#define PERF_ATTR_SIZE_VER5 112 /* add: aux_watermark */ -#define PERF_ATTR_SIZE_VER6 120 /* add: aux_sample_size */ -#define PERF_ATTR_SIZE_VER7 128 /* add: sig_data */ - -/* - * Hardware event_id to monitor via a performance monitoring event: - * - * @sample_max_stack: Max number of frame pointers in a callchain, - * should be < /proc/sys/kernel/perf_event_max_stack - */ -struct perf_event_attr { - - /* - * Major type: hardware/software/tracepoint/etc. - */ - __u32 type; - - /* - * Size of the attr structure, for fwd/bwd compat. - */ - __u32 size; - - /* - * Type specific configuration information. - */ - __u64 config; - - union { - __u64 sample_period; - __u64 sample_freq; - }; - - __u64 sample_type; - __u64 read_format; - - __u64 disabled : 1, /* off by default */ - inherit : 1, /* children inherit it */ - pinned : 1, /* must always be on PMU */ - exclusive : 1, /* only group on PMU */ - exclude_user : 1, /* don't count user */ - exclude_kernel : 1, /* ditto kernel */ - exclude_hv : 1, /* ditto hypervisor */ - exclude_idle : 1, /* don't count when idle */ - mmap : 1, /* include mmap data */ - comm : 1, /* include comm data */ - freq : 1, /* use freq, not period */ - inherit_stat : 1, /* per task counts */ - enable_on_exec : 1, /* next exec enables */ - task : 1, /* trace fork/exit */ - watermark : 1, /* wakeup_watermark */ - /* - * precise_ip: - * - * 0 - SAMPLE_IP can have arbitrary skid - * 1 - SAMPLE_IP must have constant skid - * 2 - SAMPLE_IP requested to have 0 skid - * 3 - SAMPLE_IP must have 0 skid - * - * See also PERF_RECORD_MISC_EXACT_IP - */ - precise_ip : 2, /* skid constraint */ - mmap_data : 1, /* non-exec mmap data */ - sample_id_all : 1, /* sample_type all events */ - - exclude_host : 1, /* don't count in host */ - exclude_guest : 1, /* don't count in guest */ - - exclude_callchain_kernel : 1, /* exclude kernel callchains */ - exclude_callchain_user : 1, /* exclude user callchains */ - mmap2 : 1, /* include mmap with inode data */ - comm_exec : 1, /* flag comm events that are due to an exec */ - use_clockid : 1, /* use @clockid for time fields */ - context_switch : 1, /* context switch data */ - write_backward : 1, /* Write ring buffer from end to beginning */ - namespaces : 1, /* include namespaces data */ - ksymbol : 1, /* include ksymbol events */ - bpf_event : 1, /* include bpf events */ - aux_output : 1, /* generate AUX records instead of events */ - cgroup : 1, /* include cgroup events */ - text_poke : 1, /* include text poke events */ - build_id : 1, /* use build id in mmap2 events */ - inherit_thread : 1, /* children only inherit if cloned with CLONE_THREAD */ - remove_on_exec : 1, /* event is removed from task on exec */ - sigtrap : 1, /* send synchronous SIGTRAP on event */ - __reserved_1 : 26; - - union { - __u32 wakeup_events; /* wakeup every n events */ - __u32 wakeup_watermark; /* bytes before wakeup */ - }; - - __u32 bp_type; - union { - __u64 bp_addr; - __u64 kprobe_func; /* for perf_kprobe */ - __u64 uprobe_path; /* for perf_uprobe */ - __u64 config1; /* extension of config */ - }; - union { - __u64 bp_len; - __u64 kprobe_addr; /* when kprobe_func == NULL */ - __u64 probe_offset; /* for perf_[k,u]probe */ - __u64 config2; /* extension of config1 */ - }; - __u64 branch_sample_type; /* enum perf_branch_sample_type */ - - /* - * Defines set of user regs to dump on samples. - * See asm/perf_regs.h for details. - */ - __u64 sample_regs_user; - - /* - * Defines size of the user stack to dump on samples. - */ - __u32 sample_stack_user; - - __s32 clockid; - /* - * Defines set of regs to dump for each sample - * state captured on: - * - precise = 0: PMU interrupt - * - precise > 0: sampled instruction - * - * See asm/perf_regs.h for details. - */ - __u64 sample_regs_intr; - - /* - * Wakeup watermark for AUX area - */ - __u32 aux_watermark; - __u16 sample_max_stack; - __u16 __reserved_2; - __u32 aux_sample_size; - __u32 __reserved_3; - - /* - * User provided data if sigtrap=1, passed back to user via - * siginfo_t::si_perf_data, e.g. to permit user to identify the event. - * Note, siginfo_t::si_perf_data is long-sized, and sig_data will be - * truncated accordingly on 32 bit architectures. - */ - __u64 sig_data; -}; - -/* - * Structure used by below PERF_EVENT_IOC_QUERY_BPF command - * to query bpf programs attached to the same perf tracepoint - * as the given perf event. - */ -struct perf_event_query_bpf { - /* - * The below ids array length - */ - __u32 ids_len; - /* - * Set by the kernel to indicate the number of - * available programs - */ - __u32 prog_cnt; - /* - * User provided buffer to store program ids - */ - __u32 ids[0]; -}; - -/* - * Ioctls that can be done on a perf event fd: - */ -#define PERF_EVENT_IOC_ENABLE _IO ('$', 0) -#define PERF_EVENT_IOC_DISABLE _IO ('$', 1) -#define PERF_EVENT_IOC_REFRESH _IO ('$', 2) -#define PERF_EVENT_IOC_RESET _IO ('$', 3) -#define PERF_EVENT_IOC_PERIOD _IOW('$', 4, __u64) -#define PERF_EVENT_IOC_SET_OUTPUT _IO ('$', 5) -#define PERF_EVENT_IOC_SET_FILTER _IOW('$', 6, char *) -#define PERF_EVENT_IOC_ID _IOR('$', 7, __u64 *) -#define PERF_EVENT_IOC_SET_BPF _IOW('$', 8, __u32) -#define PERF_EVENT_IOC_PAUSE_OUTPUT _IOW('$', 9, __u32) -#define PERF_EVENT_IOC_QUERY_BPF _IOWR('$', 10, struct perf_event_query_bpf *) -#define PERF_EVENT_IOC_MODIFY_ATTRIBUTES _IOW('$', 11, struct perf_event_attr *) - -enum perf_event_ioc_flags { - PERF_IOC_FLAG_GROUP = 1U << 0, -}; - -/* - * Structure of the page that can be mapped via mmap - */ -struct perf_event_mmap_page { - __u32 version; /* version number of this structure */ - __u32 compat_version; /* lowest version this is compat with */ - - /* - * Bits needed to read the hw events in user-space. - * - * u32 seq, time_mult, time_shift, index, width; - * u64 count, enabled, running; - * u64 cyc, time_offset; - * s64 pmc = 0; - * - * do { - * seq = pc->lock; - * barrier() - * - * enabled = pc->time_enabled; - * running = pc->time_running; - * - * if (pc->cap_usr_time && enabled != running) { - * cyc = rdtsc(); - * time_offset = pc->time_offset; - * time_mult = pc->time_mult; - * time_shift = pc->time_shift; - * } - * - * index = pc->index; - * count = pc->offset; - * if (pc->cap_user_rdpmc && index) { - * width = pc->pmc_width; - * pmc = rdpmc(index - 1); - * } - * - * barrier(); - * } while (pc->lock != seq); - * - * NOTE: for obvious reason this only works on self-monitoring - * processes. - */ - __u32 lock; /* seqlock for synchronization */ - __u32 index; /* hardware event identifier */ - __s64 offset; /* add to hardware event value */ - __u64 time_enabled; /* time event active */ - __u64 time_running; /* time event on cpu */ - union { - __u64 capabilities; - struct { - __u64 cap_bit0 : 1, /* Always 0, deprecated, see commit 860f085b74e9 */ - cap_bit0_is_deprecated : 1, /* Always 1, signals that bit 0 is zero */ - - cap_user_rdpmc : 1, /* The RDPMC instruction can be used to read counts */ - cap_user_time : 1, /* The time_{shift,mult,offset} fields are used */ - cap_user_time_zero : 1, /* The time_zero field is used */ - cap_user_time_short : 1, /* the time_{cycle,mask} fields are used */ - cap_____res : 58; - }; - }; - - /* - * If cap_user_rdpmc this field provides the bit-width of the value - * read using the rdpmc() or equivalent instruction. This can be used - * to sign extend the result like: - * - * pmc <<= 64 - width; - * pmc >>= 64 - width; // signed shift right - * count += pmc; - */ - __u16 pmc_width; - - /* - * If cap_usr_time the below fields can be used to compute the time - * delta since time_enabled (in ns) using rdtsc or similar. - * - * u64 quot, rem; - * u64 delta; - * - * quot = (cyc >> time_shift); - * rem = cyc & (((u64)1 << time_shift) - 1); - * delta = time_offset + quot * time_mult + - * ((rem * time_mult) >> time_shift); - * - * Where time_offset,time_mult,time_shift and cyc are read in the - * seqcount loop described above. This delta can then be added to - * enabled and possible running (if index), improving the scaling: - * - * enabled += delta; - * if (index) - * running += delta; - * - * quot = count / running; - * rem = count % running; - * count = quot * enabled + (rem * enabled) / running; - */ - __u16 time_shift; - __u32 time_mult; - __u64 time_offset; - /* - * If cap_usr_time_zero, the hardware clock (e.g. TSC) can be calculated - * from sample timestamps. - * - * time = timestamp - time_zero; - * quot = time / time_mult; - * rem = time % time_mult; - * cyc = (quot << time_shift) + (rem << time_shift) / time_mult; - * - * And vice versa: - * - * quot = cyc >> time_shift; - * rem = cyc & (((u64)1 << time_shift) - 1); - * timestamp = time_zero + quot * time_mult + - * ((rem * time_mult) >> time_shift); - */ - __u64 time_zero; - - __u32 size; /* Header size up to __reserved[] fields. */ - __u32 __reserved_1; - - /* - * If cap_usr_time_short, the hardware clock is less than 64bit wide - * and we must compute the 'cyc' value, as used by cap_usr_time, as: - * - * cyc = time_cycles + ((cyc - time_cycles) & time_mask) - * - * NOTE: this form is explicitly chosen such that cap_usr_time_short - * is a correction on top of cap_usr_time, and code that doesn't - * know about cap_usr_time_short still works under the assumption - * the counter doesn't wrap. - */ - __u64 time_cycles; - __u64 time_mask; - - /* - * Hole for extension of the self monitor capabilities - */ - - __u8 __reserved[116*8]; /* align to 1k. */ - - /* - * Control data for the mmap() data buffer. - * - * User-space reading the @data_head value should issue an smp_rmb(), - * after reading this value. - * - * When the mapping is PROT_WRITE the @data_tail value should be - * written by userspace to reflect the last read data, after issueing - * an smp_mb() to separate the data read from the ->data_tail store. - * In this case the kernel will not over-write unread data. - * - * See perf_output_put_handle() for the data ordering. - * - * data_{offset,size} indicate the location and size of the perf record - * buffer within the mmapped area. - */ - __u64 data_head; /* head in the data section */ - __u64 data_tail; /* user-space written tail */ - __u64 data_offset; /* where the buffer starts */ - __u64 data_size; /* data buffer size */ - - /* - * AUX area is defined by aux_{offset,size} fields that should be set - * by the userspace, so that - * - * aux_offset >= data_offset + data_size - * - * prior to mmap()ing it. Size of the mmap()ed area should be aux_size. - * - * Ring buffer pointers aux_{head,tail} have the same semantics as - * data_{head,tail} and same ordering rules apply. - */ - __u64 aux_head; - __u64 aux_tail; - __u64 aux_offset; - __u64 aux_size; -}; - -/* - * The current state of perf_event_header::misc bits usage: - * ('|' used bit, '-' unused bit) - * - * 012 CDEF - * |||---------|||| - * - * Where: - * 0-2 CPUMODE_MASK - * - * C PROC_MAP_PARSE_TIMEOUT - * D MMAP_DATA / COMM_EXEC / FORK_EXEC / SWITCH_OUT - * E MMAP_BUILD_ID / EXACT_IP / SCHED_OUT_PREEMPT - * F (reserved) - */ - -#define PERF_RECORD_MISC_CPUMODE_MASK (7 << 0) -#define PERF_RECORD_MISC_CPUMODE_UNKNOWN (0 << 0) -#define PERF_RECORD_MISC_KERNEL (1 << 0) -#define PERF_RECORD_MISC_USER (2 << 0) -#define PERF_RECORD_MISC_HYPERVISOR (3 << 0) -#define PERF_RECORD_MISC_GUEST_KERNEL (4 << 0) -#define PERF_RECORD_MISC_GUEST_USER (5 << 0) - -/* - * Indicates that /proc/PID/maps parsing are truncated by time out. - */ -#define PERF_RECORD_MISC_PROC_MAP_PARSE_TIMEOUT (1 << 12) -/* - * Following PERF_RECORD_MISC_* are used on different - * events, so can reuse the same bit position: - * - * PERF_RECORD_MISC_MMAP_DATA - PERF_RECORD_MMAP* events - * PERF_RECORD_MISC_COMM_EXEC - PERF_RECORD_COMM event - * PERF_RECORD_MISC_FORK_EXEC - PERF_RECORD_FORK event (perf internal) - * PERF_RECORD_MISC_SWITCH_OUT - PERF_RECORD_SWITCH* events - */ -#define PERF_RECORD_MISC_MMAP_DATA (1 << 13) -#define PERF_RECORD_MISC_COMM_EXEC (1 << 13) -#define PERF_RECORD_MISC_FORK_EXEC (1 << 13) -#define PERF_RECORD_MISC_SWITCH_OUT (1 << 13) -/* - * These PERF_RECORD_MISC_* flags below are safely reused - * for the following events: - * - * PERF_RECORD_MISC_EXACT_IP - PERF_RECORD_SAMPLE of precise events - * PERF_RECORD_MISC_SWITCH_OUT_PREEMPT - PERF_RECORD_SWITCH* events - * PERF_RECORD_MISC_MMAP_BUILD_ID - PERF_RECORD_MMAP2 event - * - * - * PERF_RECORD_MISC_EXACT_IP: - * Indicates that the content of PERF_SAMPLE_IP points to - * the actual instruction that triggered the event. See also - * perf_event_attr::precise_ip. - * - * PERF_RECORD_MISC_SWITCH_OUT_PREEMPT: - * Indicates that thread was preempted in TASK_RUNNING state. - * - * PERF_RECORD_MISC_MMAP_BUILD_ID: - * Indicates that mmap2 event carries build id data. - */ -#define PERF_RECORD_MISC_EXACT_IP (1 << 14) -#define PERF_RECORD_MISC_SWITCH_OUT_PREEMPT (1 << 14) -#define PERF_RECORD_MISC_MMAP_BUILD_ID (1 << 14) -/* - * Reserve the last bit to indicate some extended misc field - */ -#define PERF_RECORD_MISC_EXT_RESERVED (1 << 15) - -struct perf_event_header { - __u32 type; - __u16 misc; - __u16 size; -}; - -struct perf_ns_link_info { - __u64 dev; - __u64 ino; -}; - -enum { - NET_NS_INDEX = 0, - UTS_NS_INDEX = 1, - IPC_NS_INDEX = 2, - PID_NS_INDEX = 3, - USER_NS_INDEX = 4, - MNT_NS_INDEX = 5, - CGROUP_NS_INDEX = 6, - - NR_NAMESPACES, /* number of available namespaces */ -}; - -enum perf_event_type { - - /* - * If perf_event_attr.sample_id_all is set then all event types will - * have the sample_type selected fields related to where/when - * (identity) an event took place (TID, TIME, ID, STREAM_ID, CPU, - * IDENTIFIER) described in PERF_RECORD_SAMPLE below, it will be stashed - * just after the perf_event_header and the fields already present for - * the existing fields, i.e. at the end of the payload. That way a newer - * perf.data file will be supported by older perf tools, with these new - * optional fields being ignored. - * - * struct sample_id { - * { u32 pid, tid; } && PERF_SAMPLE_TID - * { u64 time; } && PERF_SAMPLE_TIME - * { u64 id; } && PERF_SAMPLE_ID - * { u64 stream_id;} && PERF_SAMPLE_STREAM_ID - * { u32 cpu, res; } && PERF_SAMPLE_CPU - * { u64 id; } && PERF_SAMPLE_IDENTIFIER - * } && perf_event_attr::sample_id_all - * - * Note that PERF_SAMPLE_IDENTIFIER duplicates PERF_SAMPLE_ID. The - * advantage of PERF_SAMPLE_IDENTIFIER is that its position is fixed - * relative to header.size. - */ - - /* - * The MMAP events record the PROT_EXEC mappings so that we can - * correlate userspace IPs to code. They have the following structure: - * - * struct { - * struct perf_event_header header; - * - * u32 pid, tid; - * u64 addr; - * u64 len; - * u64 pgoff; - * char filename[]; - * struct sample_id sample_id; - * }; - */ - PERF_RECORD_MMAP = 1, - - /* - * struct { - * struct perf_event_header header; - * u64 id; - * u64 lost; - * struct sample_id sample_id; - * }; - */ - PERF_RECORD_LOST = 2, - - /* - * struct { - * struct perf_event_header header; - * - * u32 pid, tid; - * char comm[]; - * struct sample_id sample_id; - * }; - */ - PERF_RECORD_COMM = 3, - - /* - * struct { - * struct perf_event_header header; - * u32 pid, ppid; - * u32 tid, ptid; - * u64 time; - * struct sample_id sample_id; - * }; - */ - PERF_RECORD_EXIT = 4, - - /* - * struct { - * struct perf_event_header header; - * u64 time; - * u64 id; - * u64 stream_id; - * struct sample_id sample_id; - * }; - */ - PERF_RECORD_THROTTLE = 5, - PERF_RECORD_UNTHROTTLE = 6, - - /* - * struct { - * struct perf_event_header header; - * u32 pid, ppid; - * u32 tid, ptid; - * u64 time; - * struct sample_id sample_id; - * }; - */ - PERF_RECORD_FORK = 7, - - /* - * struct { - * struct perf_event_header header; - * u32 pid, tid; - * - * struct read_format values; - * struct sample_id sample_id; - * }; - */ - PERF_RECORD_READ = 8, - - /* - * struct { - * struct perf_event_header header; - * - * # - * # Note that PERF_SAMPLE_IDENTIFIER duplicates PERF_SAMPLE_ID. - * # The advantage of PERF_SAMPLE_IDENTIFIER is that its position - * # is fixed relative to header. - * # - * - * { u64 id; } && PERF_SAMPLE_IDENTIFIER - * { u64 ip; } && PERF_SAMPLE_IP - * { u32 pid, tid; } && PERF_SAMPLE_TID - * { u64 time; } && PERF_SAMPLE_TIME - * { u64 addr; } && PERF_SAMPLE_ADDR - * { u64 id; } && PERF_SAMPLE_ID - * { u64 stream_id;} && PERF_SAMPLE_STREAM_ID - * { u32 cpu, res; } && PERF_SAMPLE_CPU - * { u64 period; } && PERF_SAMPLE_PERIOD - * - * { struct read_format values; } && PERF_SAMPLE_READ - * - * { u64 nr, - * u64 ips[nr]; } && PERF_SAMPLE_CALLCHAIN - * - * # - * # The RAW record below is opaque data wrt the ABI - * # - * # That is, the ABI doesn't make any promises wrt to - * # the stability of its content, it may vary depending - * # on event, hardware, kernel version and phase of - * # the moon. - * # - * # In other words, PERF_SAMPLE_RAW contents are not an ABI. - * # - * - * { u32 size; - * char data[size];}&& PERF_SAMPLE_RAW - * - * { u64 nr; - * { u64 hw_idx; } && PERF_SAMPLE_BRANCH_HW_INDEX - * { u64 from, to, flags } lbr[nr]; - * } && PERF_SAMPLE_BRANCH_STACK - * - * { u64 abi; # enum perf_sample_regs_abi - * u64 regs[weight(mask)]; } && PERF_SAMPLE_REGS_USER - * - * { u64 size; - * char data[size]; - * u64 dyn_size; } && PERF_SAMPLE_STACK_USER - * - * { union perf_sample_weight - * { - * u64 full; && PERF_SAMPLE_WEIGHT - * #if defined(__LITTLE_ENDIAN_BITFIELD) - * struct { - * u32 var1_dw; - * u16 var2_w; - * u16 var3_w; - * } && PERF_SAMPLE_WEIGHT_STRUCT - * #elif defined(__BIG_ENDIAN_BITFIELD) - * struct { - * u16 var3_w; - * u16 var2_w; - * u32 var1_dw; - * } && PERF_SAMPLE_WEIGHT_STRUCT - * #endif - * } - * } - * { u64 data_src; } && PERF_SAMPLE_DATA_SRC - * { u64 transaction; } && PERF_SAMPLE_TRANSACTION - * { u64 abi; # enum perf_sample_regs_abi - * u64 regs[weight(mask)]; } && PERF_SAMPLE_REGS_INTR - * { u64 phys_addr;} && PERF_SAMPLE_PHYS_ADDR - * { u64 size; - * char data[size]; } && PERF_SAMPLE_AUX - * { u64 data_page_size;} && PERF_SAMPLE_DATA_PAGE_SIZE - * { u64 code_page_size;} && PERF_SAMPLE_CODE_PAGE_SIZE - * }; - */ - PERF_RECORD_SAMPLE = 9, - - /* - * The MMAP2 records are an augmented version of MMAP, they add - * maj, min, ino numbers to be used to uniquely identify each mapping - * - * struct { - * struct perf_event_header header; - * - * u32 pid, tid; - * u64 addr; - * u64 len; - * u64 pgoff; - * union { - * struct { - * u32 maj; - * u32 min; - * u64 ino; - * u64 ino_generation; - * }; - * struct { - * u8 build_id_size; - * u8 __reserved_1; - * u16 __reserved_2; - * u8 build_id[20]; - * }; - * }; - * u32 prot, flags; - * char filename[]; - * struct sample_id sample_id; - * }; - */ - PERF_RECORD_MMAP2 = 10, - - /* - * Records that new data landed in the AUX buffer part. - * - * struct { - * struct perf_event_header header; - * - * u64 aux_offset; - * u64 aux_size; - * u64 flags; - * struct sample_id sample_id; - * }; - */ - PERF_RECORD_AUX = 11, - - /* - * Indicates that instruction trace has started - * - * struct { - * struct perf_event_header header; - * u32 pid; - * u32 tid; - * struct sample_id sample_id; - * }; - */ - PERF_RECORD_ITRACE_START = 12, - - /* - * Records the dropped/lost sample number. - * - * struct { - * struct perf_event_header header; - * - * u64 lost; - * struct sample_id sample_id; - * }; - */ - PERF_RECORD_LOST_SAMPLES = 13, - - /* - * Records a context switch in or out (flagged by - * PERF_RECORD_MISC_SWITCH_OUT). See also - * PERF_RECORD_SWITCH_CPU_WIDE. - * - * struct { - * struct perf_event_header header; - * struct sample_id sample_id; - * }; - */ - PERF_RECORD_SWITCH = 14, - - /* - * CPU-wide version of PERF_RECORD_SWITCH with next_prev_pid and - * next_prev_tid that are the next (switching out) or previous - * (switching in) pid/tid. - * - * struct { - * struct perf_event_header header; - * u32 next_prev_pid; - * u32 next_prev_tid; - * struct sample_id sample_id; - * }; - */ - PERF_RECORD_SWITCH_CPU_WIDE = 15, - - /* - * struct { - * struct perf_event_header header; - * u32 pid; - * u32 tid; - * u64 nr_namespaces; - * { u64 dev, inode; } [nr_namespaces]; - * struct sample_id sample_id; - * }; - */ - PERF_RECORD_NAMESPACES = 16, - - /* - * Record ksymbol register/unregister events: - * - * struct { - * struct perf_event_header header; - * u64 addr; - * u32 len; - * u16 ksym_type; - * u16 flags; - * char name[]; - * struct sample_id sample_id; - * }; - */ - PERF_RECORD_KSYMBOL = 17, - - /* - * Record bpf events: - * enum perf_bpf_event_type { - * PERF_BPF_EVENT_UNKNOWN = 0, - * PERF_BPF_EVENT_PROG_LOAD = 1, - * PERF_BPF_EVENT_PROG_UNLOAD = 2, - * }; - * - * struct { - * struct perf_event_header header; - * u16 type; - * u16 flags; - * u32 id; - * u8 tag[BPF_TAG_SIZE]; - * struct sample_id sample_id; - * }; - */ - PERF_RECORD_BPF_EVENT = 18, - - /* - * struct { - * struct perf_event_header header; - * u64 id; - * char path[]; - * struct sample_id sample_id; - * }; - */ - PERF_RECORD_CGROUP = 19, - - /* - * Records changes to kernel text i.e. self-modified code. 'old_len' is - * the number of old bytes, 'new_len' is the number of new bytes. Either - * 'old_len' or 'new_len' may be zero to indicate, for example, the - * addition or removal of a trampoline. 'bytes' contains the old bytes - * followed immediately by the new bytes. - * - * struct { - * struct perf_event_header header; - * u64 addr; - * u16 old_len; - * u16 new_len; - * u8 bytes[]; - * struct sample_id sample_id; - * }; - */ - PERF_RECORD_TEXT_POKE = 20, - - /* - * Data written to the AUX area by hardware due to aux_output, may need - * to be matched to the event by an architecture-specific hardware ID. - * This records the hardware ID, but requires sample_id to provide the - * event ID. e.g. Intel PT uses this record to disambiguate PEBS-via-PT - * records from multiple events. - * - * struct { - * struct perf_event_header header; - * u64 hw_id; - * struct sample_id sample_id; - * }; - */ - PERF_RECORD_AUX_OUTPUT_HW_ID = 21, - - PERF_RECORD_MAX, /* non-ABI */ -}; - -enum perf_record_ksymbol_type { - PERF_RECORD_KSYMBOL_TYPE_UNKNOWN = 0, - PERF_RECORD_KSYMBOL_TYPE_BPF = 1, - /* - * Out of line code such as kprobe-replaced instructions or optimized - * kprobes or ftrace trampolines. - */ - PERF_RECORD_KSYMBOL_TYPE_OOL = 2, - PERF_RECORD_KSYMBOL_TYPE_MAX /* non-ABI */ -}; - -#define PERF_RECORD_KSYMBOL_FLAGS_UNREGISTER (1 << 0) - -enum perf_bpf_event_type { - PERF_BPF_EVENT_UNKNOWN = 0, - PERF_BPF_EVENT_PROG_LOAD = 1, - PERF_BPF_EVENT_PROG_UNLOAD = 2, - PERF_BPF_EVENT_MAX, /* non-ABI */ -}; - -#define PERF_MAX_STACK_DEPTH 127 -#define PERF_MAX_CONTEXTS_PER_STACK 8 - -enum perf_callchain_context { - PERF_CONTEXT_HV = (__u64)-32, - PERF_CONTEXT_KERNEL = (__u64)-128, - PERF_CONTEXT_USER = (__u64)-512, - - PERF_CONTEXT_GUEST = (__u64)-2048, - PERF_CONTEXT_GUEST_KERNEL = (__u64)-2176, - PERF_CONTEXT_GUEST_USER = (__u64)-2560, - - PERF_CONTEXT_MAX = (__u64)-4095, -}; - -/** - * PERF_RECORD_AUX::flags bits - */ -#define PERF_AUX_FLAG_TRUNCATED 0x01 /* record was truncated to fit */ -#define PERF_AUX_FLAG_OVERWRITE 0x02 /* snapshot from overwrite mode */ -#define PERF_AUX_FLAG_PARTIAL 0x04 /* record contains gaps */ -#define PERF_AUX_FLAG_COLLISION 0x08 /* sample collided with another */ -#define PERF_AUX_FLAG_PMU_FORMAT_TYPE_MASK 0xff00 /* PMU specific trace format type */ - -/* CoreSight PMU AUX buffer formats */ -#define PERF_AUX_FLAG_CORESIGHT_FORMAT_CORESIGHT 0x0000 /* Default for backward compatibility */ -#define PERF_AUX_FLAG_CORESIGHT_FORMAT_RAW 0x0100 /* Raw format of the source */ - -#define PERF_FLAG_FD_NO_GROUP (1UL << 0) -#define PERF_FLAG_FD_OUTPUT (1UL << 1) -#define PERF_FLAG_PID_CGROUP (1UL << 2) /* pid=cgroup id, per-cpu mode only */ -#define PERF_FLAG_FD_CLOEXEC (1UL << 3) /* O_CLOEXEC */ - -#if defined(__LITTLE_ENDIAN_BITFIELD) -union perf_mem_data_src { - __u64 val; - struct { - __u64 mem_op:5, /* type of opcode */ - mem_lvl:14, /* memory hierarchy level */ - mem_snoop:5, /* snoop mode */ - mem_lock:2, /* lock instr */ - mem_dtlb:7, /* tlb access */ - mem_lvl_num:4, /* memory hierarchy level number */ - mem_remote:1, /* remote */ - mem_snoopx:2, /* snoop mode, ext */ - mem_blk:3, /* access blocked */ - mem_hops:3, /* hop level */ - mem_rsvd:18; - }; -}; -#elif defined(__BIG_ENDIAN_BITFIELD) -union perf_mem_data_src { - __u64 val; - struct { - __u64 mem_rsvd:18, - mem_hops:3, /* hop level */ - mem_blk:3, /* access blocked */ - mem_snoopx:2, /* snoop mode, ext */ - mem_remote:1, /* remote */ - mem_lvl_num:4, /* memory hierarchy level number */ - mem_dtlb:7, /* tlb access */ - mem_lock:2, /* lock instr */ - mem_snoop:5, /* snoop mode */ - mem_lvl:14, /* memory hierarchy level */ - mem_op:5; /* type of opcode */ - }; -}; -#else -#error "Unknown endianness" -#endif - -/* type of opcode (load/store/prefetch,code) */ -#define PERF_MEM_OP_NA 0x01 /* not available */ -#define PERF_MEM_OP_LOAD 0x02 /* load instruction */ -#define PERF_MEM_OP_STORE 0x04 /* store instruction */ -#define PERF_MEM_OP_PFETCH 0x08 /* prefetch */ -#define PERF_MEM_OP_EXEC 0x10 /* code (execution) */ -#define PERF_MEM_OP_SHIFT 0 - -/* - * PERF_MEM_LVL_* namespace being depricated to some extent in the - * favour of newer composite PERF_MEM_{LVLNUM_,REMOTE_,SNOOPX_} fields. - * Supporting this namespace inorder to not break defined ABIs. - * - * memory hierarchy (memory level, hit or miss) - */ -#define PERF_MEM_LVL_NA 0x01 /* not available */ -#define PERF_MEM_LVL_HIT 0x02 /* hit level */ -#define PERF_MEM_LVL_MISS 0x04 /* miss level */ -#define PERF_MEM_LVL_L1 0x08 /* L1 */ -#define PERF_MEM_LVL_LFB 0x10 /* Line Fill Buffer */ -#define PERF_MEM_LVL_L2 0x20 /* L2 */ -#define PERF_MEM_LVL_L3 0x40 /* L3 */ -#define PERF_MEM_LVL_LOC_RAM 0x80 /* Local DRAM */ -#define PERF_MEM_LVL_REM_RAM1 0x100 /* Remote DRAM (1 hop) */ -#define PERF_MEM_LVL_REM_RAM2 0x200 /* Remote DRAM (2 hops) */ -#define PERF_MEM_LVL_REM_CCE1 0x400 /* Remote Cache (1 hop) */ -#define PERF_MEM_LVL_REM_CCE2 0x800 /* Remote Cache (2 hops) */ -#define PERF_MEM_LVL_IO 0x1000 /* I/O memory */ -#define PERF_MEM_LVL_UNC 0x2000 /* Uncached memory */ -#define PERF_MEM_LVL_SHIFT 5 - -#define PERF_MEM_REMOTE_REMOTE 0x01 /* Remote */ -#define PERF_MEM_REMOTE_SHIFT 37 - -#define PERF_MEM_LVLNUM_L1 0x01 /* L1 */ -#define PERF_MEM_LVLNUM_L2 0x02 /* L2 */ -#define PERF_MEM_LVLNUM_L3 0x03 /* L3 */ -#define PERF_MEM_LVLNUM_L4 0x04 /* L4 */ -/* 5-0xa available */ -#define PERF_MEM_LVLNUM_ANY_CACHE 0x0b /* Any cache */ -#define PERF_MEM_LVLNUM_LFB 0x0c /* LFB */ -#define PERF_MEM_LVLNUM_RAM 0x0d /* RAM */ -#define PERF_MEM_LVLNUM_PMEM 0x0e /* PMEM */ -#define PERF_MEM_LVLNUM_NA 0x0f /* N/A */ - -#define PERF_MEM_LVLNUM_SHIFT 33 - -/* snoop mode */ -#define PERF_MEM_SNOOP_NA 0x01 /* not available */ -#define PERF_MEM_SNOOP_NONE 0x02 /* no snoop */ -#define PERF_MEM_SNOOP_HIT 0x04 /* snoop hit */ -#define PERF_MEM_SNOOP_MISS 0x08 /* snoop miss */ -#define PERF_MEM_SNOOP_HITM 0x10 /* snoop hit modified */ -#define PERF_MEM_SNOOP_SHIFT 19 - -#define PERF_MEM_SNOOPX_FWD 0x01 /* forward */ -/* 1 free */ -#define PERF_MEM_SNOOPX_SHIFT 38 - -/* locked instruction */ -#define PERF_MEM_LOCK_NA 0x01 /* not available */ -#define PERF_MEM_LOCK_LOCKED 0x02 /* locked transaction */ -#define PERF_MEM_LOCK_SHIFT 24 - -/* TLB access */ -#define PERF_MEM_TLB_NA 0x01 /* not available */ -#define PERF_MEM_TLB_HIT 0x02 /* hit level */ -#define PERF_MEM_TLB_MISS 0x04 /* miss level */ -#define PERF_MEM_TLB_L1 0x08 /* L1 */ -#define PERF_MEM_TLB_L2 0x10 /* L2 */ -#define PERF_MEM_TLB_WK 0x20 /* Hardware Walker*/ -#define PERF_MEM_TLB_OS 0x40 /* OS fault handler */ -#define PERF_MEM_TLB_SHIFT 26 - -/* Access blocked */ -#define PERF_MEM_BLK_NA 0x01 /* not available */ -#define PERF_MEM_BLK_DATA 0x02 /* data could not be forwarded */ -#define PERF_MEM_BLK_ADDR 0x04 /* address conflict */ -#define PERF_MEM_BLK_SHIFT 40 - -/* hop level */ -#define PERF_MEM_HOPS_0 0x01 /* remote core, same node */ -#define PERF_MEM_HOPS_1 0x02 /* remote node, same socket */ -#define PERF_MEM_HOPS_2 0x03 /* remote socket, same board */ -#define PERF_MEM_HOPS_3 0x04 /* remote board */ -/* 5-7 available */ -#define PERF_MEM_HOPS_SHIFT 43 - -#define PERF_MEM_S(a, s) \ - (((__u64)PERF_MEM_##a##_##s) << PERF_MEM_##a##_SHIFT) - -/* - * single taken branch record layout: - * - * from: source instruction (may not always be a branch insn) - * to: branch target - * mispred: branch target was mispredicted - * predicted: branch target was predicted - * - * support for mispred, predicted is optional. In case it - * is not supported mispred = predicted = 0. - * - * in_tx: running in a hardware transaction - * abort: aborting a hardware transaction - * cycles: cycles from last branch (or 0 if not supported) - * type: branch type - */ -struct perf_branch_entry { - __u64 from; - __u64 to; - __u64 mispred:1, /* target mispredicted */ - predicted:1,/* target predicted */ - in_tx:1, /* in transaction */ - abort:1, /* transaction abort */ - cycles:16, /* cycle count to last branch */ - type:4, /* branch type */ - reserved:40; -}; - -union perf_sample_weight { - __u64 full; -#if defined(__LITTLE_ENDIAN_BITFIELD) - struct { - __u32 var1_dw; - __u16 var2_w; - __u16 var3_w; - }; -#elif defined(__BIG_ENDIAN_BITFIELD) - struct { - __u16 var3_w; - __u16 var2_w; - __u32 var1_dw; - }; -#else -#error "Unknown endianness" -#endif -}; - -#endif /* _UAPI_LINUX_PERF_EVENT_H */ diff --git a/lcc/golcc/include/bpf/pkt_cls.h b/lcc/golcc/include/bpf/pkt_cls.h deleted file mode 100644 index 1215377..0000000 --- a/lcc/golcc/include/bpf/pkt_cls.h +++ /dev/null @@ -1,612 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ -#ifndef __LINUX_PKT_CLS_H -#define __LINUX_PKT_CLS_H - -#include -#include - -#define TC_COOKIE_MAX_SIZE 16 - -/* Action attributes */ -enum { - TCA_ACT_UNSPEC, - TCA_ACT_KIND, - TCA_ACT_OPTIONS, - TCA_ACT_INDEX, - TCA_ACT_STATS, - TCA_ACT_PAD, - TCA_ACT_COOKIE, - __TCA_ACT_MAX -}; - -#define TCA_ACT_MAX __TCA_ACT_MAX -#define TCA_OLD_COMPAT (TCA_ACT_MAX+1) -#define TCA_ACT_MAX_PRIO 32 -#define TCA_ACT_BIND 1 -#define TCA_ACT_NOBIND 0 -#define TCA_ACT_UNBIND 1 -#define TCA_ACT_NOUNBIND 0 -#define TCA_ACT_REPLACE 1 -#define TCA_ACT_NOREPLACE 0 - -#define TC_ACT_UNSPEC (-1) -#define TC_ACT_OK 0 -#define TC_ACT_RECLASSIFY 1 -#define TC_ACT_SHOT 2 -#define TC_ACT_PIPE 3 -#define TC_ACT_STOLEN 4 -#define TC_ACT_QUEUED 5 -#define TC_ACT_REPEAT 6 -#define TC_ACT_REDIRECT 7 -#define TC_ACT_TRAP 8 /* For hw path, this means "trap to cpu" - * and don't further process the frame - * in hardware. For sw path, this is - * equivalent of TC_ACT_STOLEN - drop - * the skb and act like everything - * is alright. - */ -#define TC_ACT_VALUE_MAX TC_ACT_TRAP - -/* There is a special kind of actions called "extended actions", - * which need a value parameter. These have a local opcode located in - * the highest nibble, starting from 1. The rest of the bits - * are used to carry the value. These two parts together make - * a combined opcode. - */ -#define __TC_ACT_EXT_SHIFT 28 -#define __TC_ACT_EXT(local) ((local) << __TC_ACT_EXT_SHIFT) -#define TC_ACT_EXT_VAL_MASK ((1 << __TC_ACT_EXT_SHIFT) - 1) -#define TC_ACT_EXT_OPCODE(combined) ((combined) & (~TC_ACT_EXT_VAL_MASK)) -#define TC_ACT_EXT_CMP(combined, opcode) (TC_ACT_EXT_OPCODE(combined) == opcode) - -#define TC_ACT_JUMP __TC_ACT_EXT(1) -#define TC_ACT_GOTO_CHAIN __TC_ACT_EXT(2) -#define TC_ACT_EXT_OPCODE_MAX TC_ACT_GOTO_CHAIN - -/* Action type identifiers*/ -enum { - TCA_ID_UNSPEC=0, - TCA_ID_POLICE=1, - /* other actions go here */ - __TCA_ID_MAX=255 -}; - -#define TCA_ID_MAX __TCA_ID_MAX - -struct tc_police { - __u32 index; - int action; -#define TC_POLICE_UNSPEC TC_ACT_UNSPEC -#define TC_POLICE_OK TC_ACT_OK -#define TC_POLICE_RECLASSIFY TC_ACT_RECLASSIFY -#define TC_POLICE_SHOT TC_ACT_SHOT -#define TC_POLICE_PIPE TC_ACT_PIPE - - __u32 limit; - __u32 burst; - __u32 mtu; - struct tc_ratespec rate; - struct tc_ratespec peakrate; - int refcnt; - int bindcnt; - __u32 capab; -}; - -struct tcf_t { - __u64 install; - __u64 lastuse; - __u64 expires; - __u64 firstuse; -}; - -struct tc_cnt { - int refcnt; - int bindcnt; -}; - -#define tc_gen \ - __u32 index; \ - __u32 capab; \ - int action; \ - int refcnt; \ - int bindcnt - -enum { - TCA_POLICE_UNSPEC, - TCA_POLICE_TBF, - TCA_POLICE_RATE, - TCA_POLICE_PEAKRATE, - TCA_POLICE_AVRATE, - TCA_POLICE_RESULT, - TCA_POLICE_TM, - TCA_POLICE_PAD, - __TCA_POLICE_MAX -#define TCA_POLICE_RESULT TCA_POLICE_RESULT -}; - -#define TCA_POLICE_MAX (__TCA_POLICE_MAX - 1) - -/* tca flags definitions */ -#define TCA_CLS_FLAGS_SKIP_HW (1 << 0) /* don't offload filter to HW */ -#define TCA_CLS_FLAGS_SKIP_SW (1 << 1) /* don't use filter in SW */ -#define TCA_CLS_FLAGS_IN_HW (1 << 2) /* filter is offloaded to HW */ -#define TCA_CLS_FLAGS_NOT_IN_HW (1 << 3) /* filter isn't offloaded to HW */ -#define TCA_CLS_FLAGS_VERBOSE (1 << 4) /* verbose logging */ - -/* U32 filters */ - -#define TC_U32_HTID(h) ((h)&0xFFF00000) -#define TC_U32_USERHTID(h) (TC_U32_HTID(h)>>20) -#define TC_U32_HASH(h) (((h)>>12)&0xFF) -#define TC_U32_NODE(h) ((h)&0xFFF) -#define TC_U32_KEY(h) ((h)&0xFFFFF) -#define TC_U32_UNSPEC 0 -#define TC_U32_ROOT (0xFFF00000) - -enum { - TCA_U32_UNSPEC, - TCA_U32_CLASSID, - TCA_U32_HASH, - TCA_U32_LINK, - TCA_U32_DIVISOR, - TCA_U32_SEL, - TCA_U32_POLICE, - TCA_U32_ACT, - TCA_U32_INDEV, - TCA_U32_PCNT, - TCA_U32_MARK, - TCA_U32_FLAGS, - TCA_U32_PAD, - __TCA_U32_MAX -}; - -#define TCA_U32_MAX (__TCA_U32_MAX - 1) - -struct tc_u32_key { - __be32 mask; - __be32 val; - int off; - int offmask; -}; - -struct tc_u32_sel { - unsigned char flags; - unsigned char offshift; - unsigned char nkeys; - - __be16 offmask; - __u16 off; - short offoff; - - short hoff; - __be32 hmask; - struct tc_u32_key keys[0]; -}; - -struct tc_u32_mark { - __u32 val; - __u32 mask; - __u32 success; -}; - -struct tc_u32_pcnt { - __u64 rcnt; - __u64 rhit; - __u64 kcnts[0]; -}; - -/* Flags */ - -#define TC_U32_TERMINAL 1 -#define TC_U32_OFFSET 2 -#define TC_U32_VAROFFSET 4 -#define TC_U32_EAT 8 - -#define TC_U32_MAXDEPTH 8 - - -/* RSVP filter */ - -enum { - TCA_RSVP_UNSPEC, - TCA_RSVP_CLASSID, - TCA_RSVP_DST, - TCA_RSVP_SRC, - TCA_RSVP_PINFO, - TCA_RSVP_POLICE, - TCA_RSVP_ACT, - __TCA_RSVP_MAX -}; - -#define TCA_RSVP_MAX (__TCA_RSVP_MAX - 1 ) - -struct tc_rsvp_gpi { - __u32 key; - __u32 mask; - int offset; -}; - -struct tc_rsvp_pinfo { - struct tc_rsvp_gpi dpi; - struct tc_rsvp_gpi spi; - __u8 protocol; - __u8 tunnelid; - __u8 tunnelhdr; - __u8 pad; -}; - -/* ROUTE filter */ - -enum { - TCA_ROUTE4_UNSPEC, - TCA_ROUTE4_CLASSID, - TCA_ROUTE4_TO, - TCA_ROUTE4_FROM, - TCA_ROUTE4_IIF, - TCA_ROUTE4_POLICE, - TCA_ROUTE4_ACT, - __TCA_ROUTE4_MAX -}; - -#define TCA_ROUTE4_MAX (__TCA_ROUTE4_MAX - 1) - - -/* FW filter */ - -enum { - TCA_FW_UNSPEC, - TCA_FW_CLASSID, - TCA_FW_POLICE, - TCA_FW_INDEV, - TCA_FW_ACT, /* used by CONFIG_NET_CLS_ACT */ - TCA_FW_MASK, - __TCA_FW_MAX -}; - -#define TCA_FW_MAX (__TCA_FW_MAX - 1) - -/* TC index filter */ - -enum { - TCA_TCINDEX_UNSPEC, - TCA_TCINDEX_HASH, - TCA_TCINDEX_MASK, - TCA_TCINDEX_SHIFT, - TCA_TCINDEX_FALL_THROUGH, - TCA_TCINDEX_CLASSID, - TCA_TCINDEX_POLICE, - TCA_TCINDEX_ACT, - __TCA_TCINDEX_MAX -}; - -#define TCA_TCINDEX_MAX (__TCA_TCINDEX_MAX - 1) - -/* Flow filter */ - -enum { - FLOW_KEY_SRC, - FLOW_KEY_DST, - FLOW_KEY_PROTO, - FLOW_KEY_PROTO_SRC, - FLOW_KEY_PROTO_DST, - FLOW_KEY_IIF, - FLOW_KEY_PRIORITY, - FLOW_KEY_MARK, - FLOW_KEY_NFCT, - FLOW_KEY_NFCT_SRC, - FLOW_KEY_NFCT_DST, - FLOW_KEY_NFCT_PROTO_SRC, - FLOW_KEY_NFCT_PROTO_DST, - FLOW_KEY_RTCLASSID, - FLOW_KEY_SKUID, - FLOW_KEY_SKGID, - FLOW_KEY_VLAN_TAG, - FLOW_KEY_RXHASH, - __FLOW_KEY_MAX, -}; - -#define FLOW_KEY_MAX (__FLOW_KEY_MAX - 1) - -enum { - FLOW_MODE_MAP, - FLOW_MODE_HASH, -}; - -enum { - TCA_FLOW_UNSPEC, - TCA_FLOW_KEYS, - TCA_FLOW_MODE, - TCA_FLOW_BASECLASS, - TCA_FLOW_RSHIFT, - TCA_FLOW_ADDEND, - TCA_FLOW_MASK, - TCA_FLOW_XOR, - TCA_FLOW_DIVISOR, - TCA_FLOW_ACT, - TCA_FLOW_POLICE, - TCA_FLOW_EMATCHES, - TCA_FLOW_PERTURB, - __TCA_FLOW_MAX -}; - -#define TCA_FLOW_MAX (__TCA_FLOW_MAX - 1) - -/* Basic filter */ - -enum { - TCA_BASIC_UNSPEC, - TCA_BASIC_CLASSID, - TCA_BASIC_EMATCHES, - TCA_BASIC_ACT, - TCA_BASIC_POLICE, - __TCA_BASIC_MAX -}; - -#define TCA_BASIC_MAX (__TCA_BASIC_MAX - 1) - - -/* Cgroup classifier */ - -enum { - TCA_CGROUP_UNSPEC, - TCA_CGROUP_ACT, - TCA_CGROUP_POLICE, - TCA_CGROUP_EMATCHES, - __TCA_CGROUP_MAX, -}; - -#define TCA_CGROUP_MAX (__TCA_CGROUP_MAX - 1) - -/* BPF classifier */ - -#define TCA_BPF_FLAG_ACT_DIRECT (1 << 0) - -enum { - TCA_BPF_UNSPEC, - TCA_BPF_ACT, - TCA_BPF_POLICE, - TCA_BPF_CLASSID, - TCA_BPF_OPS_LEN, - TCA_BPF_OPS, - TCA_BPF_FD, - TCA_BPF_NAME, - TCA_BPF_FLAGS, - TCA_BPF_FLAGS_GEN, - TCA_BPF_TAG, - TCA_BPF_ID, - __TCA_BPF_MAX, -}; - -#define TCA_BPF_MAX (__TCA_BPF_MAX - 1) - -/* Flower classifier */ - -enum { - TCA_FLOWER_UNSPEC, - TCA_FLOWER_CLASSID, - TCA_FLOWER_INDEV, - TCA_FLOWER_ACT, - TCA_FLOWER_KEY_ETH_DST, /* ETH_ALEN */ - TCA_FLOWER_KEY_ETH_DST_MASK, /* ETH_ALEN */ - TCA_FLOWER_KEY_ETH_SRC, /* ETH_ALEN */ - TCA_FLOWER_KEY_ETH_SRC_MASK, /* ETH_ALEN */ - TCA_FLOWER_KEY_ETH_TYPE, /* be16 */ - TCA_FLOWER_KEY_IP_PROTO, /* u8 */ - TCA_FLOWER_KEY_IPV4_SRC, /* be32 */ - TCA_FLOWER_KEY_IPV4_SRC_MASK, /* be32 */ - TCA_FLOWER_KEY_IPV4_DST, /* be32 */ - TCA_FLOWER_KEY_IPV4_DST_MASK, /* be32 */ - TCA_FLOWER_KEY_IPV6_SRC, /* struct in6_addr */ - TCA_FLOWER_KEY_IPV6_SRC_MASK, /* struct in6_addr */ - TCA_FLOWER_KEY_IPV6_DST, /* struct in6_addr */ - TCA_FLOWER_KEY_IPV6_DST_MASK, /* struct in6_addr */ - TCA_FLOWER_KEY_TCP_SRC, /* be16 */ - TCA_FLOWER_KEY_TCP_DST, /* be16 */ - TCA_FLOWER_KEY_UDP_SRC, /* be16 */ - TCA_FLOWER_KEY_UDP_DST, /* be16 */ - - TCA_FLOWER_FLAGS, - TCA_FLOWER_KEY_VLAN_ID, /* be16 */ - TCA_FLOWER_KEY_VLAN_PRIO, /* u8 */ - TCA_FLOWER_KEY_VLAN_ETH_TYPE, /* be16 */ - - TCA_FLOWER_KEY_ENC_KEY_ID, /* be32 */ - TCA_FLOWER_KEY_ENC_IPV4_SRC, /* be32 */ - TCA_FLOWER_KEY_ENC_IPV4_SRC_MASK,/* be32 */ - TCA_FLOWER_KEY_ENC_IPV4_DST, /* be32 */ - TCA_FLOWER_KEY_ENC_IPV4_DST_MASK,/* be32 */ - TCA_FLOWER_KEY_ENC_IPV6_SRC, /* struct in6_addr */ - TCA_FLOWER_KEY_ENC_IPV6_SRC_MASK,/* struct in6_addr */ - TCA_FLOWER_KEY_ENC_IPV6_DST, /* struct in6_addr */ - TCA_FLOWER_KEY_ENC_IPV6_DST_MASK,/* struct in6_addr */ - - TCA_FLOWER_KEY_TCP_SRC_MASK, /* be16 */ - TCA_FLOWER_KEY_TCP_DST_MASK, /* be16 */ - TCA_FLOWER_KEY_UDP_SRC_MASK, /* be16 */ - TCA_FLOWER_KEY_UDP_DST_MASK, /* be16 */ - TCA_FLOWER_KEY_SCTP_SRC_MASK, /* be16 */ - TCA_FLOWER_KEY_SCTP_DST_MASK, /* be16 */ - - TCA_FLOWER_KEY_SCTP_SRC, /* be16 */ - TCA_FLOWER_KEY_SCTP_DST, /* be16 */ - - TCA_FLOWER_KEY_ENC_UDP_SRC_PORT, /* be16 */ - TCA_FLOWER_KEY_ENC_UDP_SRC_PORT_MASK, /* be16 */ - TCA_FLOWER_KEY_ENC_UDP_DST_PORT, /* be16 */ - TCA_FLOWER_KEY_ENC_UDP_DST_PORT_MASK, /* be16 */ - - TCA_FLOWER_KEY_FLAGS, /* be32 */ - TCA_FLOWER_KEY_FLAGS_MASK, /* be32 */ - - TCA_FLOWER_KEY_ICMPV4_CODE, /* u8 */ - TCA_FLOWER_KEY_ICMPV4_CODE_MASK,/* u8 */ - TCA_FLOWER_KEY_ICMPV4_TYPE, /* u8 */ - TCA_FLOWER_KEY_ICMPV4_TYPE_MASK,/* u8 */ - TCA_FLOWER_KEY_ICMPV6_CODE, /* u8 */ - TCA_FLOWER_KEY_ICMPV6_CODE_MASK,/* u8 */ - TCA_FLOWER_KEY_ICMPV6_TYPE, /* u8 */ - TCA_FLOWER_KEY_ICMPV6_TYPE_MASK,/* u8 */ - - TCA_FLOWER_KEY_ARP_SIP, /* be32 */ - TCA_FLOWER_KEY_ARP_SIP_MASK, /* be32 */ - TCA_FLOWER_KEY_ARP_TIP, /* be32 */ - TCA_FLOWER_KEY_ARP_TIP_MASK, /* be32 */ - TCA_FLOWER_KEY_ARP_OP, /* u8 */ - TCA_FLOWER_KEY_ARP_OP_MASK, /* u8 */ - TCA_FLOWER_KEY_ARP_SHA, /* ETH_ALEN */ - TCA_FLOWER_KEY_ARP_SHA_MASK, /* ETH_ALEN */ - TCA_FLOWER_KEY_ARP_THA, /* ETH_ALEN */ - TCA_FLOWER_KEY_ARP_THA_MASK, /* ETH_ALEN */ - - TCA_FLOWER_KEY_MPLS_TTL, /* u8 - 8 bits */ - TCA_FLOWER_KEY_MPLS_BOS, /* u8 - 1 bit */ - TCA_FLOWER_KEY_MPLS_TC, /* u8 - 3 bits */ - TCA_FLOWER_KEY_MPLS_LABEL, /* be32 - 20 bits */ - - TCA_FLOWER_KEY_TCP_FLAGS, /* be16 */ - TCA_FLOWER_KEY_TCP_FLAGS_MASK, /* be16 */ - - TCA_FLOWER_KEY_IP_TOS, /* u8 */ - TCA_FLOWER_KEY_IP_TOS_MASK, /* u8 */ - TCA_FLOWER_KEY_IP_TTL, /* u8 */ - TCA_FLOWER_KEY_IP_TTL_MASK, /* u8 */ - - TCA_FLOWER_KEY_CVLAN_ID, /* be16 */ - TCA_FLOWER_KEY_CVLAN_PRIO, /* u8 */ - TCA_FLOWER_KEY_CVLAN_ETH_TYPE, /* be16 */ - - TCA_FLOWER_KEY_ENC_IP_TOS, /* u8 */ - TCA_FLOWER_KEY_ENC_IP_TOS_MASK, /* u8 */ - TCA_FLOWER_KEY_ENC_IP_TTL, /* u8 */ - TCA_FLOWER_KEY_ENC_IP_TTL_MASK, /* u8 */ - - TCA_FLOWER_KEY_ENC_OPTS, - TCA_FLOWER_KEY_ENC_OPTS_MASK, - - TCA_FLOWER_IN_HW_COUNT, - - __TCA_FLOWER_MAX, -}; - -#define TCA_FLOWER_MAX (__TCA_FLOWER_MAX - 1) - -enum { - TCA_FLOWER_KEY_ENC_OPTS_UNSPEC, - TCA_FLOWER_KEY_ENC_OPTS_GENEVE, /* Nested - * TCA_FLOWER_KEY_ENC_OPT_GENEVE_ - * attributes - */ - __TCA_FLOWER_KEY_ENC_OPTS_MAX, -}; - -#define TCA_FLOWER_KEY_ENC_OPTS_MAX (__TCA_FLOWER_KEY_ENC_OPTS_MAX - 1) - -enum { - TCA_FLOWER_KEY_ENC_OPT_GENEVE_UNSPEC, - TCA_FLOWER_KEY_ENC_OPT_GENEVE_CLASS, /* u16 */ - TCA_FLOWER_KEY_ENC_OPT_GENEVE_TYPE, /* u8 */ - TCA_FLOWER_KEY_ENC_OPT_GENEVE_DATA, /* 4 to 128 bytes */ - - __TCA_FLOWER_KEY_ENC_OPT_GENEVE_MAX, -}; - -#define TCA_FLOWER_KEY_ENC_OPT_GENEVE_MAX \ - (__TCA_FLOWER_KEY_ENC_OPT_GENEVE_MAX - 1) - -enum { - TCA_FLOWER_KEY_FLAGS_IS_FRAGMENT = (1 << 0), - TCA_FLOWER_KEY_FLAGS_FRAG_IS_FIRST = (1 << 1), -}; - -/* Match-all classifier */ - -enum { - TCA_MATCHALL_UNSPEC, - TCA_MATCHALL_CLASSID, - TCA_MATCHALL_ACT, - TCA_MATCHALL_FLAGS, - __TCA_MATCHALL_MAX, -}; - -#define TCA_MATCHALL_MAX (__TCA_MATCHALL_MAX - 1) - -/* Extended Matches */ - -struct tcf_ematch_tree_hdr { - __u16 nmatches; - __u16 progid; -}; - -enum { - TCA_EMATCH_TREE_UNSPEC, - TCA_EMATCH_TREE_HDR, - TCA_EMATCH_TREE_LIST, - __TCA_EMATCH_TREE_MAX -}; -#define TCA_EMATCH_TREE_MAX (__TCA_EMATCH_TREE_MAX - 1) - -struct tcf_ematch_hdr { - __u16 matchid; - __u16 kind; - __u16 flags; - __u16 pad; /* currently unused */ -}; - -/* 0 1 - * 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 - * +-----------------------+-+-+---+ - * | Unused |S|I| R | - * +-----------------------+-+-+---+ - * - * R(2) ::= relation to next ematch - * where: 0 0 END (last ematch) - * 0 1 AND - * 1 0 OR - * 1 1 Unused (invalid) - * I(1) ::= invert result - * S(1) ::= simple payload - */ -#define TCF_EM_REL_END 0 -#define TCF_EM_REL_AND (1<<0) -#define TCF_EM_REL_OR (1<<1) -#define TCF_EM_INVERT (1<<2) -#define TCF_EM_SIMPLE (1<<3) - -#define TCF_EM_REL_MASK 3 -#define TCF_EM_REL_VALID(v) (((v) & TCF_EM_REL_MASK) != TCF_EM_REL_MASK) - -enum { - TCF_LAYER_LINK, - TCF_LAYER_NETWORK, - TCF_LAYER_TRANSPORT, - __TCF_LAYER_MAX -}; -#define TCF_LAYER_MAX (__TCF_LAYER_MAX - 1) - -/* Ematch type assignments - * 1..32767 Reserved for ematches inside kernel tree - * 32768..65535 Free to use, not reliable - */ -#define TCF_EM_CONTAINER 0 -#define TCF_EM_CMP 1 -#define TCF_EM_NBYTE 2 -#define TCF_EM_U32 3 -#define TCF_EM_META 4 -#define TCF_EM_TEXT 5 -#define TCF_EM_VLAN 6 -#define TCF_EM_CANID 7 -#define TCF_EM_IPSET 8 -#define TCF_EM_IPT 9 -#define TCF_EM_MAX 9 - -enum { - TCF_EM_PROG_TC -}; - -enum { - TCF_EM_OPND_EQ, - TCF_EM_OPND_GT, - TCF_EM_OPND_LT -}; - -#endif diff --git a/lcc/golcc/include/bpf/pkt_sched.h b/lcc/golcc/include/bpf/pkt_sched.h deleted file mode 100644 index 5c903ab..0000000 --- a/lcc/golcc/include/bpf/pkt_sched.h +++ /dev/null @@ -1,1164 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ -#ifndef __LINUX_PKT_SCHED_H -#define __LINUX_PKT_SCHED_H - -#include - -/* Logical priority bands not depending on specific packet scheduler. - Every scheduler will map them to real traffic classes, if it has - no more precise mechanism to classify packets. - - These numbers have no special meaning, though their coincidence - with obsolete IPv6 values is not occasional :-). New IPv6 drafts - preferred full anarchy inspired by diffserv group. - - Note: TC_PRIO_BESTEFFORT does not mean that it is the most unhappy - class, actually, as rule it will be handled with more care than - filler or even bulk. - */ - -#define TC_PRIO_BESTEFFORT 0 -#define TC_PRIO_FILLER 1 -#define TC_PRIO_BULK 2 -#define TC_PRIO_INTERACTIVE_BULK 4 -#define TC_PRIO_INTERACTIVE 6 -#define TC_PRIO_CONTROL 7 - -#define TC_PRIO_MAX 15 - -/* Generic queue statistics, available for all the elements. - Particular schedulers may have also their private records. - */ - -struct tc_stats { - __u64 bytes; /* Number of enqueued bytes */ - __u32 packets; /* Number of enqueued packets */ - __u32 drops; /* Packets dropped because of lack of resources */ - __u32 overlimits; /* Number of throttle events when this - * flow goes out of allocated bandwidth */ - __u32 bps; /* Current flow byte rate */ - __u32 pps; /* Current flow packet rate */ - __u32 qlen; - __u32 backlog; -}; - -struct tc_estimator { - signed char interval; - unsigned char ewma_log; -}; - -/* "Handles" - --------- - - All the traffic control objects have 32bit identifiers, or "handles". - - They can be considered as opaque numbers from user API viewpoint, - but actually they always consist of two fields: major and - minor numbers, which are interpreted by kernel specially, - that may be used by applications, though not recommended. - - F.e. qdisc handles always have minor number equal to zero, - classes (or flows) have major equal to parent qdisc major, and - minor uniquely identifying class inside qdisc. - - Macros to manipulate handles: - */ - -#define TC_H_MAJ_MASK (0xFFFF0000U) -#define TC_H_MIN_MASK (0x0000FFFFU) -#define TC_H_MAJ(h) ((h)&TC_H_MAJ_MASK) -#define TC_H_MIN(h) ((h)&TC_H_MIN_MASK) -#define TC_H_MAKE(maj,min) (((maj)&TC_H_MAJ_MASK)|((min)&TC_H_MIN_MASK)) - -#define TC_H_UNSPEC (0U) -#define TC_H_ROOT (0xFFFFFFFFU) -#define TC_H_INGRESS (0xFFFFFFF1U) -#define TC_H_CLSACT TC_H_INGRESS - -#define TC_H_MIN_PRIORITY 0xFFE0U -#define TC_H_MIN_INGRESS 0xFFF2U -#define TC_H_MIN_EGRESS 0xFFF3U - -/* Need to corrospond to iproute2 tc/tc_core.h "enum link_layer" */ -enum tc_link_layer { - TC_LINKLAYER_UNAWARE, /* Indicate unaware old iproute2 util */ - TC_LINKLAYER_ETHERNET, - TC_LINKLAYER_ATM, -}; -#define TC_LINKLAYER_MASK 0x0F /* limit use to lower 4 bits */ - -struct tc_ratespec { - unsigned char cell_log; - __u8 linklayer; /* lower 4 bits */ - unsigned short overhead; - short cell_align; - unsigned short mpu; - __u32 rate; -}; - -#define TC_RTAB_SIZE 1024 - -struct tc_sizespec { - unsigned char cell_log; - unsigned char size_log; - short cell_align; - int overhead; - unsigned int linklayer; - unsigned int mpu; - unsigned int mtu; - unsigned int tsize; -}; - -enum { - TCA_STAB_UNSPEC, - TCA_STAB_BASE, - TCA_STAB_DATA, - __TCA_STAB_MAX -}; - -#define TCA_STAB_MAX (__TCA_STAB_MAX - 1) - -/* FIFO section */ - -struct tc_fifo_qopt { - __u32 limit; /* Queue length: bytes for bfifo, packets for pfifo */ -}; - -/* SKBPRIO section */ - -/* - * Priorities go from zero to (SKBPRIO_MAX_PRIORITY - 1). - * SKBPRIO_MAX_PRIORITY should be at least 64 in order for skbprio to be able - * to map one to one the DS field of IPV4 and IPV6 headers. - * Memory allocation grows linearly with SKBPRIO_MAX_PRIORITY. - */ - -#define SKBPRIO_MAX_PRIORITY 64 - -struct tc_skbprio_qopt { - __u32 limit; /* Queue length in packets. */ -}; - -/* PRIO section */ - -#define TCQ_PRIO_BANDS 16 -#define TCQ_MIN_PRIO_BANDS 2 - -struct tc_prio_qopt { - int bands; /* Number of bands */ - __u8 priomap[TC_PRIO_MAX+1]; /* Map: logical priority -> PRIO band */ -}; - -/* MULTIQ section */ - -struct tc_multiq_qopt { - __u16 bands; /* Number of bands */ - __u16 max_bands; /* Maximum number of queues */ -}; - -/* PLUG section */ - -#define TCQ_PLUG_BUFFER 0 -#define TCQ_PLUG_RELEASE_ONE 1 -#define TCQ_PLUG_RELEASE_INDEFINITE 2 -#define TCQ_PLUG_LIMIT 3 - -struct tc_plug_qopt { - /* TCQ_PLUG_BUFFER: Inset a plug into the queue and - * buffer any incoming packets - * TCQ_PLUG_RELEASE_ONE: Dequeue packets from queue head - * to beginning of the next plug. - * TCQ_PLUG_RELEASE_INDEFINITE: Dequeue all packets from queue. - * Stop buffering packets until the next TCQ_PLUG_BUFFER - * command is received (just act as a pass-thru queue). - * TCQ_PLUG_LIMIT: Increase/decrease queue size - */ - int action; - __u32 limit; -}; - -/* TBF section */ - -struct tc_tbf_qopt { - struct tc_ratespec rate; - struct tc_ratespec peakrate; - __u32 limit; - __u32 buffer; - __u32 mtu; -}; - -enum { - TCA_TBF_UNSPEC, - TCA_TBF_PARMS, - TCA_TBF_RTAB, - TCA_TBF_PTAB, - TCA_TBF_RATE64, - TCA_TBF_PRATE64, - TCA_TBF_BURST, - TCA_TBF_PBURST, - TCA_TBF_PAD, - __TCA_TBF_MAX, -}; - -#define TCA_TBF_MAX (__TCA_TBF_MAX - 1) - - -/* TEQL section */ - -/* TEQL does not require any parameters */ - -/* SFQ section */ - -struct tc_sfq_qopt { - unsigned quantum; /* Bytes per round allocated to flow */ - int perturb_period; /* Period of hash perturbation */ - __u32 limit; /* Maximal packets in queue */ - unsigned divisor; /* Hash divisor */ - unsigned flows; /* Maximal number of flows */ -}; - -struct tc_sfqred_stats { - __u32 prob_drop; /* Early drops, below max threshold */ - __u32 forced_drop; /* Early drops, after max threshold */ - __u32 prob_mark; /* Marked packets, below max threshold */ - __u32 forced_mark; /* Marked packets, after max threshold */ - __u32 prob_mark_head; /* Marked packets, below max threshold */ - __u32 forced_mark_head;/* Marked packets, after max threshold */ -}; - -struct tc_sfq_qopt_v1 { - struct tc_sfq_qopt v0; - unsigned int depth; /* max number of packets per flow */ - unsigned int headdrop; -/* SFQRED parameters */ - __u32 limit; /* HARD maximal flow queue length (bytes) */ - __u32 qth_min; /* Min average length threshold (bytes) */ - __u32 qth_max; /* Max average length threshold (bytes) */ - unsigned char Wlog; /* log(W) */ - unsigned char Plog; /* log(P_max/(qth_max-qth_min)) */ - unsigned char Scell_log; /* cell size for idle damping */ - unsigned char flags; - __u32 max_P; /* probability, high resolution */ -/* SFQRED stats */ - struct tc_sfqred_stats stats; -}; - - -struct tc_sfq_xstats { - __s32 allot; -}; - -/* RED section */ - -enum { - TCA_RED_UNSPEC, - TCA_RED_PARMS, - TCA_RED_STAB, - TCA_RED_MAX_P, - __TCA_RED_MAX, -}; - -#define TCA_RED_MAX (__TCA_RED_MAX - 1) - -struct tc_red_qopt { - __u32 limit; /* HARD maximal queue length (bytes) */ - __u32 qth_min; /* Min average length threshold (bytes) */ - __u32 qth_max; /* Max average length threshold (bytes) */ - unsigned char Wlog; /* log(W) */ - unsigned char Plog; /* log(P_max/(qth_max-qth_min)) */ - unsigned char Scell_log; /* cell size for idle damping */ - unsigned char flags; -#define TC_RED_ECN 1 -#define TC_RED_HARDDROP 2 -#define TC_RED_ADAPTATIVE 4 -}; - -struct tc_red_xstats { - __u32 early; /* Early drops */ - __u32 pdrop; /* Drops due to queue limits */ - __u32 other; /* Drops due to drop() calls */ - __u32 marked; /* Marked packets */ -}; - -/* GRED section */ - -#define MAX_DPs 16 - -enum { - TCA_GRED_UNSPEC, - TCA_GRED_PARMS, - TCA_GRED_STAB, - TCA_GRED_DPS, - TCA_GRED_MAX_P, - TCA_GRED_LIMIT, - TCA_GRED_VQ_LIST, /* nested TCA_GRED_VQ_ENTRY */ - __TCA_GRED_MAX, -}; - -#define TCA_GRED_MAX (__TCA_GRED_MAX - 1) - -enum { - TCA_GRED_VQ_ENTRY_UNSPEC, - TCA_GRED_VQ_ENTRY, /* nested TCA_GRED_VQ_* */ - __TCA_GRED_VQ_ENTRY_MAX, -}; -#define TCA_GRED_VQ_ENTRY_MAX (__TCA_GRED_VQ_ENTRY_MAX - 1) - -enum { - TCA_GRED_VQ_UNSPEC, - TCA_GRED_VQ_PAD, - TCA_GRED_VQ_DP, /* u32 */ - TCA_GRED_VQ_STAT_BYTES, /* u64 */ - TCA_GRED_VQ_STAT_PACKETS, /* u32 */ - TCA_GRED_VQ_STAT_BACKLOG, /* u32 */ - TCA_GRED_VQ_STAT_PROB_DROP, /* u32 */ - TCA_GRED_VQ_STAT_PROB_MARK, /* u32 */ - TCA_GRED_VQ_STAT_FORCED_DROP, /* u32 */ - TCA_GRED_VQ_STAT_FORCED_MARK, /* u32 */ - TCA_GRED_VQ_STAT_PDROP, /* u32 */ - TCA_GRED_VQ_STAT_OTHER, /* u32 */ - TCA_GRED_VQ_FLAGS, /* u32 */ - __TCA_GRED_VQ_MAX -}; - -#define TCA_GRED_VQ_MAX (__TCA_GRED_VQ_MAX - 1) - -struct tc_gred_qopt { - __u32 limit; /* HARD maximal queue length (bytes) */ - __u32 qth_min; /* Min average length threshold (bytes) */ - __u32 qth_max; /* Max average length threshold (bytes) */ - __u32 DP; /* up to 2^32 DPs */ - __u32 backlog; - __u32 qave; - __u32 forced; - __u32 early; - __u32 other; - __u32 pdrop; - __u8 Wlog; /* log(W) */ - __u8 Plog; /* log(P_max/(qth_max-qth_min)) */ - __u8 Scell_log; /* cell size for idle damping */ - __u8 prio; /* prio of this VQ */ - __u32 packets; - __u32 bytesin; -}; - -/* gred setup */ -struct tc_gred_sopt { - __u32 DPs; - __u32 def_DP; - __u8 grio; - __u8 flags; - __u16 pad1; -}; - -/* CHOKe section */ - -enum { - TCA_CHOKE_UNSPEC, - TCA_CHOKE_PARMS, - TCA_CHOKE_STAB, - TCA_CHOKE_MAX_P, - __TCA_CHOKE_MAX, -}; - -#define TCA_CHOKE_MAX (__TCA_CHOKE_MAX - 1) - -struct tc_choke_qopt { - __u32 limit; /* Hard queue length (packets) */ - __u32 qth_min; /* Min average threshold (packets) */ - __u32 qth_max; /* Max average threshold (packets) */ - unsigned char Wlog; /* log(W) */ - unsigned char Plog; /* log(P_max/(qth_max-qth_min)) */ - unsigned char Scell_log; /* cell size for idle damping */ - unsigned char flags; /* see RED flags */ -}; - -struct tc_choke_xstats { - __u32 early; /* Early drops */ - __u32 pdrop; /* Drops due to queue limits */ - __u32 other; /* Drops due to drop() calls */ - __u32 marked; /* Marked packets */ - __u32 matched; /* Drops due to flow match */ -}; - -/* HTB section */ -#define TC_HTB_NUMPRIO 8 -#define TC_HTB_MAXDEPTH 8 -#define TC_HTB_PROTOVER 3 /* the same as HTB and TC's major */ - -struct tc_htb_opt { - struct tc_ratespec rate; - struct tc_ratespec ceil; - __u32 buffer; - __u32 cbuffer; - __u32 quantum; - __u32 level; /* out only */ - __u32 prio; -}; -struct tc_htb_glob { - __u32 version; /* to match HTB/TC */ - __u32 rate2quantum; /* bps->quantum divisor */ - __u32 defcls; /* default class number */ - __u32 debug; /* debug flags */ - - /* stats */ - __u32 direct_pkts; /* count of non shaped packets */ -}; -enum { - TCA_HTB_UNSPEC, - TCA_HTB_PARMS, - TCA_HTB_INIT, - TCA_HTB_CTAB, - TCA_HTB_RTAB, - TCA_HTB_DIRECT_QLEN, - TCA_HTB_RATE64, - TCA_HTB_CEIL64, - TCA_HTB_PAD, - TCA_HTB_OFFLOAD, - __TCA_HTB_MAX, -}; - -#define TCA_HTB_MAX (__TCA_HTB_MAX - 1) - -struct tc_htb_xstats { - __u32 lends; - __u32 borrows; - __u32 giants; /* unused since 'Make HTB scheduler work with TSO.' */ - __s32 tokens; - __s32 ctokens; -}; - -/* HFSC section */ - -struct tc_hfsc_qopt { - __u16 defcls; /* default class */ -}; - -struct tc_service_curve { - __u32 m1; /* slope of the first segment in bps */ - __u32 d; /* x-projection of the first segment in us */ - __u32 m2; /* slope of the second segment in bps */ -}; - -struct tc_hfsc_stats { - __u64 work; /* total work done */ - __u64 rtwork; /* work done by real-time criteria */ - __u32 period; /* current period */ - __u32 level; /* class level in hierarchy */ -}; - -enum { - TCA_HFSC_UNSPEC, - TCA_HFSC_RSC, - TCA_HFSC_FSC, - TCA_HFSC_USC, - __TCA_HFSC_MAX, -}; - -#define TCA_HFSC_MAX (__TCA_HFSC_MAX - 1) - - -/* CBQ section */ - -#define TC_CBQ_MAXPRIO 8 -#define TC_CBQ_MAXLEVEL 8 -#define TC_CBQ_DEF_EWMA 5 - -struct tc_cbq_lssopt { - unsigned char change; - unsigned char flags; -#define TCF_CBQ_LSS_BOUNDED 1 -#define TCF_CBQ_LSS_ISOLATED 2 - unsigned char ewma_log; - unsigned char level; -#define TCF_CBQ_LSS_FLAGS 1 -#define TCF_CBQ_LSS_EWMA 2 -#define TCF_CBQ_LSS_MAXIDLE 4 -#define TCF_CBQ_LSS_MINIDLE 8 -#define TCF_CBQ_LSS_OFFTIME 0x10 -#define TCF_CBQ_LSS_AVPKT 0x20 - __u32 maxidle; - __u32 minidle; - __u32 offtime; - __u32 avpkt; -}; - -struct tc_cbq_wrropt { - unsigned char flags; - unsigned char priority; - unsigned char cpriority; - unsigned char __reserved; - __u32 allot; - __u32 weight; -}; - -struct tc_cbq_ovl { - unsigned char strategy; -#define TC_CBQ_OVL_CLASSIC 0 -#define TC_CBQ_OVL_DELAY 1 -#define TC_CBQ_OVL_LOWPRIO 2 -#define TC_CBQ_OVL_DROP 3 -#define TC_CBQ_OVL_RCLASSIC 4 - unsigned char priority2; - __u16 pad; - __u32 penalty; -}; - -struct tc_cbq_police { - unsigned char police; - unsigned char __res1; - unsigned short __res2; -}; - -struct tc_cbq_fopt { - __u32 split; - __u32 defmap; - __u32 defchange; -}; - -struct tc_cbq_xstats { - __u32 borrows; - __u32 overactions; - __s32 avgidle; - __s32 undertime; -}; - -enum { - TCA_CBQ_UNSPEC, - TCA_CBQ_LSSOPT, - TCA_CBQ_WRROPT, - TCA_CBQ_FOPT, - TCA_CBQ_OVL_STRATEGY, - TCA_CBQ_RATE, - TCA_CBQ_RTAB, - TCA_CBQ_POLICE, - __TCA_CBQ_MAX, -}; - -#define TCA_CBQ_MAX (__TCA_CBQ_MAX - 1) - -/* dsmark section */ - -enum { - TCA_DSMARK_UNSPEC, - TCA_DSMARK_INDICES, - TCA_DSMARK_DEFAULT_INDEX, - TCA_DSMARK_SET_TC_INDEX, - TCA_DSMARK_MASK, - TCA_DSMARK_VALUE, - __TCA_DSMARK_MAX, -}; - -#define TCA_DSMARK_MAX (__TCA_DSMARK_MAX - 1) - -/* ATM section */ - -enum { - TCA_ATM_UNSPEC, - TCA_ATM_FD, /* file/socket descriptor */ - TCA_ATM_PTR, /* pointer to descriptor - later */ - TCA_ATM_HDR, /* LL header */ - TCA_ATM_EXCESS, /* excess traffic class (0 for CLP) */ - TCA_ATM_ADDR, /* PVC address (for output only) */ - TCA_ATM_STATE, /* VC state (ATM_VS_*; for output only) */ - __TCA_ATM_MAX, -}; - -#define TCA_ATM_MAX (__TCA_ATM_MAX - 1) - -/* Network emulator */ - -enum { - TCA_NETEM_UNSPEC, - TCA_NETEM_CORR, - TCA_NETEM_DELAY_DIST, - TCA_NETEM_REORDER, - TCA_NETEM_CORRUPT, - TCA_NETEM_LOSS, - TCA_NETEM_RATE, - TCA_NETEM_ECN, - TCA_NETEM_RATE64, - TCA_NETEM_PAD, - TCA_NETEM_LATENCY64, - TCA_NETEM_JITTER64, - TCA_NETEM_SLOT, - TCA_NETEM_SLOT_DIST, - __TCA_NETEM_MAX, -}; - -#define TCA_NETEM_MAX (__TCA_NETEM_MAX - 1) - -struct tc_netem_qopt { - __u32 latency; /* added delay (us) */ - __u32 limit; /* fifo limit (packets) */ - __u32 loss; /* random packet loss (0=none ~0=100%) */ - __u32 gap; /* re-ordering gap (0 for none) */ - __u32 duplicate; /* random packet dup (0=none ~0=100%) */ - __u32 jitter; /* random jitter in latency (us) */ -}; - -struct tc_netem_corr { - __u32 delay_corr; /* delay correlation */ - __u32 loss_corr; /* packet loss correlation */ - __u32 dup_corr; /* duplicate correlation */ -}; - -struct tc_netem_reorder { - __u32 probability; - __u32 correlation; -}; - -struct tc_netem_corrupt { - __u32 probability; - __u32 correlation; -}; - -struct tc_netem_rate { - __u32 rate; /* byte/s */ - __s32 packet_overhead; - __u32 cell_size; - __s32 cell_overhead; -}; - -struct tc_netem_slot { - __s64 min_delay; /* nsec */ - __s64 max_delay; - __s32 max_packets; - __s32 max_bytes; - __s64 dist_delay; /* nsec */ - __s64 dist_jitter; /* nsec */ -}; - -enum { - NETEM_LOSS_UNSPEC, - NETEM_LOSS_GI, /* General Intuitive - 4 state model */ - NETEM_LOSS_GE, /* Gilbert Elliot models */ - __NETEM_LOSS_MAX -}; -#define NETEM_LOSS_MAX (__NETEM_LOSS_MAX - 1) - -/* State transition probabilities for 4 state model */ -struct tc_netem_gimodel { - __u32 p13; - __u32 p31; - __u32 p32; - __u32 p14; - __u32 p23; -}; - -/* Gilbert-Elliot models */ -struct tc_netem_gemodel { - __u32 p; - __u32 r; - __u32 h; - __u32 k1; -}; - -#define NETEM_DIST_SCALE 8192 -#define NETEM_DIST_MAX 16384 - -/* DRR */ - -enum { - TCA_DRR_UNSPEC, - TCA_DRR_QUANTUM, - __TCA_DRR_MAX -}; - -#define TCA_DRR_MAX (__TCA_DRR_MAX - 1) - -struct tc_drr_stats { - __u32 deficit; -}; - -/* MQPRIO */ -#define TC_QOPT_BITMASK 15 -#define TC_QOPT_MAX_QUEUE 16 - -enum { - TC_MQPRIO_HW_OFFLOAD_NONE, /* no offload requested */ - TC_MQPRIO_HW_OFFLOAD_TCS, /* offload TCs, no queue counts */ - __TC_MQPRIO_HW_OFFLOAD_MAX -}; - -#define TC_MQPRIO_HW_OFFLOAD_MAX (__TC_MQPRIO_HW_OFFLOAD_MAX - 1) - -enum { - TC_MQPRIO_MODE_DCB, - TC_MQPRIO_MODE_CHANNEL, - __TC_MQPRIO_MODE_MAX -}; - -#define __TC_MQPRIO_MODE_MAX (__TC_MQPRIO_MODE_MAX - 1) - -enum { - TC_MQPRIO_SHAPER_DCB, - TC_MQPRIO_SHAPER_BW_RATE, /* Add new shapers below */ - __TC_MQPRIO_SHAPER_MAX -}; - -#define __TC_MQPRIO_SHAPER_MAX (__TC_MQPRIO_SHAPER_MAX - 1) - -struct tc_mqprio_qopt { - __u8 num_tc; - __u8 prio_tc_map[TC_QOPT_BITMASK + 1]; - __u8 hw; - __u16 count[TC_QOPT_MAX_QUEUE]; - __u16 offset[TC_QOPT_MAX_QUEUE]; -}; - -#define TC_MQPRIO_F_MODE 0x1 -#define TC_MQPRIO_F_SHAPER 0x2 -#define TC_MQPRIO_F_MIN_RATE 0x4 -#define TC_MQPRIO_F_MAX_RATE 0x8 - -enum { - TCA_MQPRIO_UNSPEC, - TCA_MQPRIO_MODE, - TCA_MQPRIO_SHAPER, - TCA_MQPRIO_MIN_RATE64, - TCA_MQPRIO_MAX_RATE64, - __TCA_MQPRIO_MAX, -}; - -#define TCA_MQPRIO_MAX (__TCA_MQPRIO_MAX - 1) - -/* SFB */ - -enum { - TCA_SFB_UNSPEC, - TCA_SFB_PARMS, - __TCA_SFB_MAX, -}; - -#define TCA_SFB_MAX (__TCA_SFB_MAX - 1) - -/* - * Note: increment, decrement are Q0.16 fixed-point values. - */ -struct tc_sfb_qopt { - __u32 rehash_interval; /* delay between hash move, in ms */ - __u32 warmup_time; /* double buffering warmup time in ms (warmup_time < rehash_interval) */ - __u32 max; /* max len of qlen_min */ - __u32 bin_size; /* maximum queue length per bin */ - __u32 increment; /* probability increment, (d1 in Blue) */ - __u32 decrement; /* probability decrement, (d2 in Blue) */ - __u32 limit; /* max SFB queue length */ - __u32 penalty_rate; /* inelastic flows are rate limited to 'rate' pps */ - __u32 penalty_burst; -}; - -struct tc_sfb_xstats { - __u32 earlydrop; - __u32 penaltydrop; - __u32 bucketdrop; - __u32 queuedrop; - __u32 childdrop; /* drops in child qdisc */ - __u32 marked; - __u32 maxqlen; - __u32 maxprob; - __u32 avgprob; -}; - -#define SFB_MAX_PROB 0xFFFF - -/* QFQ */ -enum { - TCA_QFQ_UNSPEC, - TCA_QFQ_WEIGHT, - TCA_QFQ_LMAX, - __TCA_QFQ_MAX -}; - -#define TCA_QFQ_MAX (__TCA_QFQ_MAX - 1) - -struct tc_qfq_stats { - __u32 weight; - __u32 lmax; -}; - -/* CODEL */ - -enum { - TCA_CODEL_UNSPEC, - TCA_CODEL_TARGET, - TCA_CODEL_LIMIT, - TCA_CODEL_INTERVAL, - TCA_CODEL_ECN, - TCA_CODEL_CE_THRESHOLD, - __TCA_CODEL_MAX -}; - -#define TCA_CODEL_MAX (__TCA_CODEL_MAX - 1) - -struct tc_codel_xstats { - __u32 maxpacket; /* largest packet we've seen so far */ - __u32 count; /* how many drops we've done since the last time we - * entered dropping state - */ - __u32 lastcount; /* count at entry to dropping state */ - __u32 ldelay; /* in-queue delay seen by most recently dequeued packet */ - __s32 drop_next; /* time to drop next packet */ - __u32 drop_overlimit; /* number of time max qdisc packet limit was hit */ - __u32 ecn_mark; /* number of packets we ECN marked instead of dropped */ - __u32 dropping; /* are we in dropping state ? */ - __u32 ce_mark; /* number of CE marked packets because of ce_threshold */ -}; - -/* FQ_CODEL */ - -enum { - TCA_FQ_CODEL_UNSPEC, - TCA_FQ_CODEL_TARGET, - TCA_FQ_CODEL_LIMIT, - TCA_FQ_CODEL_INTERVAL, - TCA_FQ_CODEL_ECN, - TCA_FQ_CODEL_FLOWS, - TCA_FQ_CODEL_QUANTUM, - TCA_FQ_CODEL_CE_THRESHOLD, - TCA_FQ_CODEL_DROP_BATCH_SIZE, - TCA_FQ_CODEL_MEMORY_LIMIT, - __TCA_FQ_CODEL_MAX -}; - -#define TCA_FQ_CODEL_MAX (__TCA_FQ_CODEL_MAX - 1) - -enum { - TCA_FQ_CODEL_XSTATS_QDISC, - TCA_FQ_CODEL_XSTATS_CLASS, -}; - -struct tc_fq_codel_qd_stats { - __u32 maxpacket; /* largest packet we've seen so far */ - __u32 drop_overlimit; /* number of time max qdisc - * packet limit was hit - */ - __u32 ecn_mark; /* number of packets we ECN marked - * instead of being dropped - */ - __u32 new_flow_count; /* number of time packets - * created a 'new flow' - */ - __u32 new_flows_len; /* count of flows in new list */ - __u32 old_flows_len; /* count of flows in old list */ - __u32 ce_mark; /* packets above ce_threshold */ - __u32 memory_usage; /* in bytes */ - __u32 drop_overmemory; -}; - -struct tc_fq_codel_cl_stats { - __s32 deficit; - __u32 ldelay; /* in-queue delay seen by most recently - * dequeued packet - */ - __u32 count; - __u32 lastcount; - __u32 dropping; - __s32 drop_next; -}; - -struct tc_fq_codel_xstats { - __u32 type; - union { - struct tc_fq_codel_qd_stats qdisc_stats; - struct tc_fq_codel_cl_stats class_stats; - }; -}; - -/* FQ */ - -enum { - TCA_FQ_UNSPEC, - - TCA_FQ_PLIMIT, /* limit of total number of packets in queue */ - - TCA_FQ_FLOW_PLIMIT, /* limit of packets per flow */ - - TCA_FQ_QUANTUM, /* RR quantum */ - - TCA_FQ_INITIAL_QUANTUM, /* RR quantum for new flow */ - - TCA_FQ_RATE_ENABLE, /* enable/disable rate limiting */ - - TCA_FQ_FLOW_DEFAULT_RATE,/* obsolete, do not use */ - - TCA_FQ_FLOW_MAX_RATE, /* per flow max rate */ - - TCA_FQ_BUCKETS_LOG, /* log2(number of buckets) */ - - TCA_FQ_FLOW_REFILL_DELAY, /* flow credit refill delay in usec */ - - TCA_FQ_ORPHAN_MASK, /* mask applied to orphaned skb hashes */ - - TCA_FQ_LOW_RATE_THRESHOLD, /* per packet delay under this rate */ - - TCA_FQ_CE_THRESHOLD, /* DCTCP-like CE-marking threshold */ - - __TCA_FQ_MAX -}; - -#define TCA_FQ_MAX (__TCA_FQ_MAX - 1) - -struct tc_fq_qd_stats { - __u64 gc_flows; - __u64 highprio_packets; - __u64 tcp_retrans; - __u64 throttled; - __u64 flows_plimit; - __u64 pkts_too_long; - __u64 allocation_errors; - __s64 time_next_delayed_flow; - __u32 flows; - __u32 inactive_flows; - __u32 throttled_flows; - __u32 unthrottle_latency_ns; - __u64 ce_mark; /* packets above ce_threshold */ -}; - -/* Heavy-Hitter Filter */ - -enum { - TCA_HHF_UNSPEC, - TCA_HHF_BACKLOG_LIMIT, - TCA_HHF_QUANTUM, - TCA_HHF_HH_FLOWS_LIMIT, - TCA_HHF_RESET_TIMEOUT, - TCA_HHF_ADMIT_BYTES, - TCA_HHF_EVICT_TIMEOUT, - TCA_HHF_NON_HH_WEIGHT, - __TCA_HHF_MAX -}; - -#define TCA_HHF_MAX (__TCA_HHF_MAX - 1) - -struct tc_hhf_xstats { - __u32 drop_overlimit; /* number of times max qdisc packet limit - * was hit - */ - __u32 hh_overlimit; /* number of times max heavy-hitters was hit */ - __u32 hh_tot_count; /* number of captured heavy-hitters so far */ - __u32 hh_cur_count; /* number of current heavy-hitters */ -}; - -/* PIE */ -enum { - TCA_PIE_UNSPEC, - TCA_PIE_TARGET, - TCA_PIE_LIMIT, - TCA_PIE_TUPDATE, - TCA_PIE_ALPHA, - TCA_PIE_BETA, - TCA_PIE_ECN, - TCA_PIE_BYTEMODE, - __TCA_PIE_MAX -}; -#define TCA_PIE_MAX (__TCA_PIE_MAX - 1) - -struct tc_pie_xstats { - __u32 prob; /* current probability */ - __u32 delay; /* current delay in ms */ - __u32 avg_dq_rate; /* current average dq_rate in bits/pie_time */ - __u32 packets_in; /* total number of packets enqueued */ - __u32 dropped; /* packets dropped due to pie_action */ - __u32 overlimit; /* dropped due to lack of space in queue */ - __u32 maxq; /* maximum queue size */ - __u32 ecn_mark; /* packets marked with ecn*/ -}; - -/* CBS */ -struct tc_cbs_qopt { - __u8 offload; - __u8 _pad[3]; - __s32 hicredit; - __s32 locredit; - __s32 idleslope; - __s32 sendslope; -}; - -enum { - TCA_CBS_UNSPEC, - TCA_CBS_PARMS, - __TCA_CBS_MAX, -}; - -#define TCA_CBS_MAX (__TCA_CBS_MAX - 1) - - -/* ETF */ -struct tc_etf_qopt { - __s32 delta; - __s32 clockid; - __u32 flags; -#define TC_ETF_DEADLINE_MODE_ON BIT(0) -#define TC_ETF_OFFLOAD_ON BIT(1) -}; - -enum { - TCA_ETF_UNSPEC, - TCA_ETF_PARMS, - __TCA_ETF_MAX, -}; - -#define TCA_ETF_MAX (__TCA_ETF_MAX - 1) - - -/* CAKE */ -enum { - TCA_CAKE_UNSPEC, - TCA_CAKE_PAD, - TCA_CAKE_BASE_RATE64, - TCA_CAKE_DIFFSERV_MODE, - TCA_CAKE_ATM, - TCA_CAKE_FLOW_MODE, - TCA_CAKE_OVERHEAD, - TCA_CAKE_RTT, - TCA_CAKE_TARGET, - TCA_CAKE_AUTORATE, - TCA_CAKE_MEMORY, - TCA_CAKE_NAT, - TCA_CAKE_RAW, - TCA_CAKE_WASH, - TCA_CAKE_MPU, - TCA_CAKE_INGRESS, - TCA_CAKE_ACK_FILTER, - TCA_CAKE_SPLIT_GSO, - __TCA_CAKE_MAX -}; -#define TCA_CAKE_MAX (__TCA_CAKE_MAX - 1) - -enum { - __TCA_CAKE_STATS_INVALID, - TCA_CAKE_STATS_PAD, - TCA_CAKE_STATS_CAPACITY_ESTIMATE64, - TCA_CAKE_STATS_MEMORY_LIMIT, - TCA_CAKE_STATS_MEMORY_USED, - TCA_CAKE_STATS_AVG_NETOFF, - TCA_CAKE_STATS_MIN_NETLEN, - TCA_CAKE_STATS_MAX_NETLEN, - TCA_CAKE_STATS_MIN_ADJLEN, - TCA_CAKE_STATS_MAX_ADJLEN, - TCA_CAKE_STATS_TIN_STATS, - TCA_CAKE_STATS_DEFICIT, - TCA_CAKE_STATS_COBALT_COUNT, - TCA_CAKE_STATS_DROPPING, - TCA_CAKE_STATS_DROP_NEXT_US, - TCA_CAKE_STATS_P_DROP, - TCA_CAKE_STATS_BLUE_TIMER_US, - __TCA_CAKE_STATS_MAX -}; -#define TCA_CAKE_STATS_MAX (__TCA_CAKE_STATS_MAX - 1) - -enum { - __TCA_CAKE_TIN_STATS_INVALID, - TCA_CAKE_TIN_STATS_PAD, - TCA_CAKE_TIN_STATS_SENT_PACKETS, - TCA_CAKE_TIN_STATS_SENT_BYTES64, - TCA_CAKE_TIN_STATS_DROPPED_PACKETS, - TCA_CAKE_TIN_STATS_DROPPED_BYTES64, - TCA_CAKE_TIN_STATS_ACKS_DROPPED_PACKETS, - TCA_CAKE_TIN_STATS_ACKS_DROPPED_BYTES64, - TCA_CAKE_TIN_STATS_ECN_MARKED_PACKETS, - TCA_CAKE_TIN_STATS_ECN_MARKED_BYTES64, - TCA_CAKE_TIN_STATS_BACKLOG_PACKETS, - TCA_CAKE_TIN_STATS_BACKLOG_BYTES, - TCA_CAKE_TIN_STATS_THRESHOLD_RATE64, - TCA_CAKE_TIN_STATS_TARGET_US, - TCA_CAKE_TIN_STATS_INTERVAL_US, - TCA_CAKE_TIN_STATS_WAY_INDIRECT_HITS, - TCA_CAKE_TIN_STATS_WAY_MISSES, - TCA_CAKE_TIN_STATS_WAY_COLLISIONS, - TCA_CAKE_TIN_STATS_PEAK_DELAY_US, - TCA_CAKE_TIN_STATS_AVG_DELAY_US, - TCA_CAKE_TIN_STATS_BASE_DELAY_US, - TCA_CAKE_TIN_STATS_SPARSE_FLOWS, - TCA_CAKE_TIN_STATS_BULK_FLOWS, - TCA_CAKE_TIN_STATS_UNRESPONSIVE_FLOWS, - TCA_CAKE_TIN_STATS_MAX_SKBLEN, - TCA_CAKE_TIN_STATS_FLOW_QUANTUM, - __TCA_CAKE_TIN_STATS_MAX -}; -#define TCA_CAKE_TIN_STATS_MAX (__TCA_CAKE_TIN_STATS_MAX - 1) -#define TC_CAKE_MAX_TINS (8) - -enum { - CAKE_FLOW_NONE = 0, - CAKE_FLOW_SRC_IP, - CAKE_FLOW_DST_IP, - CAKE_FLOW_HOSTS, /* = CAKE_FLOW_SRC_IP | CAKE_FLOW_DST_IP */ - CAKE_FLOW_FLOWS, - CAKE_FLOW_DUAL_SRC, /* = CAKE_FLOW_SRC_IP | CAKE_FLOW_FLOWS */ - CAKE_FLOW_DUAL_DST, /* = CAKE_FLOW_DST_IP | CAKE_FLOW_FLOWS */ - CAKE_FLOW_TRIPLE, /* = CAKE_FLOW_HOSTS | CAKE_FLOW_FLOWS */ - CAKE_FLOW_MAX, -}; - -enum { - CAKE_DIFFSERV_DIFFSERV3 = 0, - CAKE_DIFFSERV_DIFFSERV4, - CAKE_DIFFSERV_DIFFSERV8, - CAKE_DIFFSERV_BESTEFFORT, - CAKE_DIFFSERV_PRECEDENCE, - CAKE_DIFFSERV_MAX -}; - -enum { - CAKE_ACK_NONE = 0, - CAKE_ACK_FILTER, - CAKE_ACK_AGGRESSIVE, - CAKE_ACK_MAX -}; - -enum { - CAKE_ATM_NONE = 0, - CAKE_ATM_ATM, - CAKE_ATM_PTM, - CAKE_ATM_MAX -}; - - -/* TAPRIO */ -enum { - TC_TAPRIO_CMD_SET_GATES = 0x00, - TC_TAPRIO_CMD_SET_AND_HOLD = 0x01, - TC_TAPRIO_CMD_SET_AND_RELEASE = 0x02, -}; - -enum { - TCA_TAPRIO_SCHED_ENTRY_UNSPEC, - TCA_TAPRIO_SCHED_ENTRY_INDEX, /* u32 */ - TCA_TAPRIO_SCHED_ENTRY_CMD, /* u8 */ - TCA_TAPRIO_SCHED_ENTRY_GATE_MASK, /* u32 */ - TCA_TAPRIO_SCHED_ENTRY_INTERVAL, /* u32 */ - __TCA_TAPRIO_SCHED_ENTRY_MAX, -}; -#define TCA_TAPRIO_SCHED_ENTRY_MAX (__TCA_TAPRIO_SCHED_ENTRY_MAX - 1) - -/* The format for schedule entry list is: - * [TCA_TAPRIO_SCHED_ENTRY_LIST] - * [TCA_TAPRIO_SCHED_ENTRY] - * [TCA_TAPRIO_SCHED_ENTRY_CMD] - * [TCA_TAPRIO_SCHED_ENTRY_GATES] - * [TCA_TAPRIO_SCHED_ENTRY_INTERVAL] - */ -enum { - TCA_TAPRIO_SCHED_UNSPEC, - TCA_TAPRIO_SCHED_ENTRY, - __TCA_TAPRIO_SCHED_MAX, -}; - -#define TCA_TAPRIO_SCHED_MAX (__TCA_TAPRIO_SCHED_MAX - 1) - -enum { - TCA_TAPRIO_ATTR_UNSPEC, - TCA_TAPRIO_ATTR_PRIOMAP, /* struct tc_mqprio_qopt */ - TCA_TAPRIO_ATTR_SCHED_ENTRY_LIST, /* nested of entry */ - TCA_TAPRIO_ATTR_SCHED_BASE_TIME, /* s64 */ - TCA_TAPRIO_ATTR_SCHED_SINGLE_ENTRY, /* single entry */ - TCA_TAPRIO_ATTR_SCHED_CLOCKID, /* s32 */ - TCA_TAPRIO_PAD, - __TCA_TAPRIO_ATTR_MAX, -}; - -#define TCA_TAPRIO_ATTR_MAX (__TCA_TAPRIO_ATTR_MAX - 1) - -#endif diff --git a/lcc/golcc/include/bpf/relo_core.h b/lcc/golcc/include/bpf/relo_core.h deleted file mode 100644 index 073039d..0000000 --- a/lcc/golcc/include/bpf/relo_core.h +++ /dev/null @@ -1,93 +0,0 @@ -/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */ -/* Copyright (c) 2019 Facebook */ - -#ifndef __RELO_CORE_H -#define __RELO_CORE_H - -#include - -struct bpf_core_cand { - const struct btf *btf; - __u32 id; -}; - -/* dynamically sized list of type IDs and its associated struct btf */ -struct bpf_core_cand_list { - struct bpf_core_cand *cands; - int len; -}; - -#define BPF_CORE_SPEC_MAX_LEN 64 - -/* represents BPF CO-RE field or array element accessor */ -struct bpf_core_accessor { - __u32 type_id; /* struct/union type or array element type */ - __u32 idx; /* field index or array index */ - const char *name; /* field name or NULL for array accessor */ -}; - -struct bpf_core_spec { - const struct btf *btf; - /* high-level spec: named fields and array indices only */ - struct bpf_core_accessor spec[BPF_CORE_SPEC_MAX_LEN]; - /* original unresolved (no skip_mods_or_typedefs) root type ID */ - __u32 root_type_id; - /* CO-RE relocation kind */ - enum bpf_core_relo_kind relo_kind; - /* high-level spec length */ - int len; - /* raw, low-level spec: 1-to-1 with accessor spec string */ - int raw_spec[BPF_CORE_SPEC_MAX_LEN]; - /* raw spec length */ - int raw_len; - /* field bit offset represented by spec */ - __u32 bit_offset; -}; - -struct bpf_core_relo_res { - /* expected value in the instruction, unless validate == false */ - __u32 orig_val; - /* new value that needs to be patched up to */ - __u32 new_val; - /* relocation unsuccessful, poison instruction, but don't fail load */ - bool poison; - /* some relocations can't be validated against orig_val */ - bool validate; - /* for field byte offset relocations or the forms: - * *(T *)(rX + ) = rY - * rX = *(T *)(rY + ), - * we remember original and resolved field size to adjust direct - * memory loads of pointers and integers; this is necessary for 32-bit - * host kernel architectures, but also allows to automatically - * relocate fields that were resized from, e.g., u32 to u64, etc. - */ - bool fail_memsz_adjust; - __u32 orig_sz; - __u32 orig_type_id; - __u32 new_sz; - __u32 new_type_id; -}; - -int bpf_core_types_are_compat(const struct btf *local_btf, __u32 local_id, - const struct btf *targ_btf, __u32 targ_id); - -size_t bpf_core_essential_name_len(const char *name); - -int bpf_core_calc_relo_insn(const char *prog_name, - const struct bpf_core_relo *relo, int relo_idx, - const struct btf *local_btf, - struct bpf_core_cand_list *cands, - struct bpf_core_spec *specs_scratch, - struct bpf_core_relo_res *targ_res); - -int bpf_core_patch_insn(const char *prog_name, struct bpf_insn *insn, - int insn_idx, const struct bpf_core_relo *relo, - int relo_idx, const struct bpf_core_relo_res *res); - -int bpf_core_parse_spec(const char *prog_name, const struct btf *btf, - const struct bpf_core_relo *relo, - struct bpf_core_spec *spec); - -int bpf_core_format_spec(char *buf, size_t buf_sz, const struct bpf_core_spec *spec); - -#endif diff --git a/lcc/golcc/include/bpf/skel_internal.h b/lcc/golcc/include/bpf/skel_internal.h deleted file mode 100644 index bd6f450..0000000 --- a/lcc/golcc/include/bpf/skel_internal.h +++ /dev/null @@ -1,349 +0,0 @@ -/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */ -/* Copyright (c) 2021 Facebook */ -#ifndef __SKEL_INTERNAL_H -#define __SKEL_INTERNAL_H - -#ifdef __KERNEL__ -#include -#include -#include -#include -#include -#else -#include -#include -#include -#include -#include "bpf.h" -#endif - -#ifndef __NR_bpf -# if defined(__mips__) && defined(_ABIO32) -# define __NR_bpf 4355 -# elif defined(__mips__) && defined(_ABIN32) -# define __NR_bpf 6319 -# elif defined(__mips__) && defined(_ABI64) -# define __NR_bpf 5315 -# endif -#endif - -/* This file is a base header for auto-generated *.lskel.h files. - * Its contents will change and may become part of auto-generation in the future. - * - * The layout of bpf_[map|prog]_desc and bpf_loader_ctx is feature dependent - * and will change from one version of libbpf to another and features - * requested during loader program generation. - */ -struct bpf_map_desc { - /* output of the loader prog */ - int map_fd; - /* input for the loader prog */ - __u32 max_entries; - __aligned_u64 initial_value; -}; -struct bpf_prog_desc { - int prog_fd; -}; - -enum { - BPF_SKEL_KERNEL = (1ULL << 0), -}; - -struct bpf_loader_ctx { - __u32 sz; - __u32 flags; - __u32 log_level; - __u32 log_size; - __u64 log_buf; -}; - -struct bpf_load_and_run_opts { - struct bpf_loader_ctx *ctx; - const void *data; - const void *insns; - __u32 data_sz; - __u32 insns_sz; - const char *errstr; -}; - -long bpf_sys_bpf(__u32 cmd, void *attr, __u32 attr_size); - -static inline int skel_sys_bpf(enum bpf_cmd cmd, union bpf_attr *attr, - unsigned int size) -{ -#ifdef __KERNEL__ - return bpf_sys_bpf(cmd, attr, size); -#else - return syscall(__NR_bpf, cmd, attr, size); -#endif -} - -#ifdef __KERNEL__ -static inline int close(int fd) -{ - return close_fd(fd); -} - -static inline void *skel_alloc(size_t size) -{ - struct bpf_loader_ctx *ctx = kzalloc(size, GFP_KERNEL); - - if (!ctx) - return NULL; - ctx->flags |= BPF_SKEL_KERNEL; - return ctx; -} - -static inline void skel_free(const void *p) -{ - kfree(p); -} - -/* skel->bss/rodata maps are populated the following way: - * - * For kernel use: - * skel_prep_map_data() allocates kernel memory that kernel module can directly access. - * Generated lskel stores the pointer in skel->rodata and in skel->maps.rodata.initial_value. - * The loader program will perform probe_read_kernel() from maps.rodata.initial_value. - * skel_finalize_map_data() sets skel->rodata to point to actual value in a bpf map and - * does maps.rodata.initial_value = ~0ULL to signal skel_free_map_data() that kvfree - * is not nessary. - * - * For user space: - * skel_prep_map_data() mmaps anon memory into skel->rodata that can be accessed directly. - * Generated lskel stores the pointer in skel->rodata and in skel->maps.rodata.initial_value. - * The loader program will perform copy_from_user() from maps.rodata.initial_value. - * skel_finalize_map_data() remaps bpf array map value from the kernel memory into - * skel->rodata address. - * - * The "bpftool gen skeleton -L" command generates lskel.h that is suitable for - * both kernel and user space. The generated loader program does - * either bpf_probe_read_kernel() or bpf_copy_from_user() from initial_value - * depending on bpf_loader_ctx->flags. - */ -static inline void skel_free_map_data(void *p, __u64 addr, size_t sz) -{ - if (addr != ~0ULL) - kvfree(p); - /* When addr == ~0ULL the 'p' points to - * ((struct bpf_array *)map)->value. See skel_finalize_map_data. - */ -} - -static inline void *skel_prep_map_data(const void *val, size_t mmap_sz, size_t val_sz) -{ - void *addr; - - addr = kvmalloc(val_sz, GFP_KERNEL); - if (!addr) - return NULL; - memcpy(addr, val, val_sz); - return addr; -} - -static inline void *skel_finalize_map_data(__u64 *init_val, size_t mmap_sz, int flags, int fd) -{ - struct bpf_map *map; - void *addr = NULL; - - kvfree((void *) (long) *init_val); - *init_val = ~0ULL; - - /* At this point bpf_load_and_run() finished without error and - * 'fd' is a valid bpf map FD. All sanity checks below should succeed. - */ - map = bpf_map_get(fd); - if (IS_ERR(map)) - return NULL; - if (map->map_type != BPF_MAP_TYPE_ARRAY) - goto out; - addr = ((struct bpf_array *)map)->value; - /* the addr stays valid, since FD is not closed */ -out: - bpf_map_put(map); - return addr; -} - -#else - -static inline void *skel_alloc(size_t size) -{ - return calloc(1, size); -} - -static inline void skel_free(void *p) -{ - free(p); -} - -static inline void skel_free_map_data(void *p, __u64 addr, size_t sz) -{ - munmap(p, sz); -} - -static inline void *skel_prep_map_data(const void *val, size_t mmap_sz, size_t val_sz) -{ - void *addr; - - addr = mmap(NULL, mmap_sz, PROT_READ | PROT_WRITE, - MAP_SHARED | MAP_ANONYMOUS, -1, 0); - if (addr == (void *) -1) - return NULL; - memcpy(addr, val, val_sz); - return addr; -} - -static inline void *skel_finalize_map_data(__u64 *init_val, size_t mmap_sz, int flags, int fd) -{ - void *addr; - - addr = mmap((void *) (long) *init_val, mmap_sz, flags, MAP_SHARED | MAP_FIXED, fd, 0); - if (addr == (void *) -1) - return NULL; - return addr; -} -#endif - -static inline int skel_closenz(int fd) -{ - if (fd > 0) - return close(fd); - return -EINVAL; -} - -#ifndef offsetofend -#define offsetofend(TYPE, MEMBER) \ - (offsetof(TYPE, MEMBER) + sizeof((((TYPE *)0)->MEMBER))) -#endif - -static inline int skel_map_create(enum bpf_map_type map_type, - const char *map_name, - __u32 key_size, - __u32 value_size, - __u32 max_entries) -{ - const size_t attr_sz = offsetofend(union bpf_attr, map_extra); - union bpf_attr attr; - - memset(&attr, 0, attr_sz); - - attr.map_type = map_type; - strncpy(attr.map_name, map_name, sizeof(attr.map_name)); - attr.key_size = key_size; - attr.value_size = value_size; - attr.max_entries = max_entries; - - return skel_sys_bpf(BPF_MAP_CREATE, &attr, attr_sz); -} - -static inline int skel_map_update_elem(int fd, const void *key, - const void *value, __u64 flags) -{ - const size_t attr_sz = offsetofend(union bpf_attr, flags); - union bpf_attr attr; - - memset(&attr, 0, attr_sz); - attr.map_fd = fd; - attr.key = (long) key; - attr.value = (long) value; - attr.flags = flags; - - return skel_sys_bpf(BPF_MAP_UPDATE_ELEM, &attr, attr_sz); -} - -static inline int skel_raw_tracepoint_open(const char *name, int prog_fd) -{ - const size_t attr_sz = offsetofend(union bpf_attr, raw_tracepoint.prog_fd); - union bpf_attr attr; - - memset(&attr, 0, attr_sz); - attr.raw_tracepoint.name = (long) name; - attr.raw_tracepoint.prog_fd = prog_fd; - - return skel_sys_bpf(BPF_RAW_TRACEPOINT_OPEN, &attr, attr_sz); -} - -static inline int skel_link_create(int prog_fd, int target_fd, - enum bpf_attach_type attach_type) -{ - const size_t attr_sz = offsetofend(union bpf_attr, link_create.iter_info_len); - union bpf_attr attr; - - memset(&attr, 0, attr_sz); - attr.link_create.prog_fd = prog_fd; - attr.link_create.target_fd = target_fd; - attr.link_create.attach_type = attach_type; - - return skel_sys_bpf(BPF_LINK_CREATE, &attr, attr_sz); -} - -#ifdef __KERNEL__ -#define set_err -#else -#define set_err err = -errno -#endif - -static inline int bpf_load_and_run(struct bpf_load_and_run_opts *opts) -{ - int map_fd = -1, prog_fd = -1, key = 0, err; - union bpf_attr attr; - - err = map_fd = skel_map_create(BPF_MAP_TYPE_ARRAY, "__loader.map", 4, opts->data_sz, 1); - if (map_fd < 0) { - opts->errstr = "failed to create loader map"; - set_err; - goto out; - } - - err = skel_map_update_elem(map_fd, &key, opts->data, 0); - if (err < 0) { - opts->errstr = "failed to update loader map"; - set_err; - goto out; - } - - memset(&attr, 0, sizeof(attr)); - attr.prog_type = BPF_PROG_TYPE_SYSCALL; - attr.insns = (long) opts->insns; - attr.insn_cnt = opts->insns_sz / sizeof(struct bpf_insn); - attr.license = (long) "Dual BSD/GPL"; - memcpy(attr.prog_name, "__loader.prog", sizeof("__loader.prog")); - attr.fd_array = (long) &map_fd; - attr.log_level = opts->ctx->log_level; - attr.log_size = opts->ctx->log_size; - attr.log_buf = opts->ctx->log_buf; - attr.prog_flags = BPF_F_SLEEPABLE; - err = prog_fd = skel_sys_bpf(BPF_PROG_LOAD, &attr, sizeof(attr)); - if (prog_fd < 0) { - opts->errstr = "failed to load loader prog"; - set_err; - goto out; - } - - memset(&attr, 0, sizeof(attr)); - attr.test.prog_fd = prog_fd; - attr.test.ctx_in = (long) opts->ctx; - attr.test.ctx_size_in = opts->ctx->sz; - err = skel_sys_bpf(BPF_PROG_RUN, &attr, sizeof(attr)); - if (err < 0 || (int)attr.test.retval < 0) { - opts->errstr = "failed to execute loader prog"; - if (err < 0) { - set_err; - } else { - err = (int)attr.test.retval; -#ifndef __KERNEL__ - errno = -err; -#endif - } - goto out; - } - err = 0; -out: - if (map_fd >= 0) - close(map_fd); - if (prog_fd >= 0) - close(prog_fd); - return err; -} - -#endif diff --git a/lcc/golcc/include/bpf/str_error.h b/lcc/golcc/include/bpf/str_error.h deleted file mode 100644 index a139334..0000000 --- a/lcc/golcc/include/bpf/str_error.h +++ /dev/null @@ -1,6 +0,0 @@ -/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */ -#ifndef __LIBBPF_STR_ERROR_H -#define __LIBBPF_STR_ERROR_H - -char *libbpf_strerror_r(int err, char *dst, int len); -#endif /* __LIBBPF_STR_ERROR_H */ diff --git a/lcc/golcc/include/bpf/strset.h b/lcc/golcc/include/bpf/strset.h deleted file mode 100644 index b6ddf77..0000000 --- a/lcc/golcc/include/bpf/strset.h +++ /dev/null @@ -1,21 +0,0 @@ -/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */ - -/* Copyright (c) 2021 Facebook */ -#ifndef __LIBBPF_STRSET_H -#define __LIBBPF_STRSET_H - -#include -#include - -struct strset; - -struct strset *strset__new(size_t max_data_sz, const char *init_data, size_t init_data_sz); -void strset__free(struct strset *set); - -const char *strset__data(const struct strset *set); -size_t strset__data_size(const struct strset *set); - -int strset__find_str(struct strset *set, const char *s); -int strset__add_str(struct strset *set, const char *s); - -#endif /* __LIBBPF_STRSET_H */ diff --git a/lcc/golcc/include/bpf/usdt.bpf.h b/lcc/golcc/include/bpf/usdt.bpf.h deleted file mode 100644 index 4181fdd..0000000 --- a/lcc/golcc/include/bpf/usdt.bpf.h +++ /dev/null @@ -1,259 +0,0 @@ -/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */ -/* Copyright (c) 2022 Meta Platforms, Inc. and affiliates. */ -#ifndef __USDT_BPF_H__ -#define __USDT_BPF_H__ - -#include -#include -#include -#include - -/* Below types and maps are internal implementation details of libbpf's USDT - * support and are subjects to change. Also, bpf_usdt_xxx() API helpers should - * be considered an unstable API as well and might be adjusted based on user - * feedback from using libbpf's USDT support in production. - */ - -/* User can override BPF_USDT_MAX_SPEC_CNT to change default size of internal - * map that keeps track of USDT argument specifications. This might be - * necessary if there are a lot of USDT attachments. - */ -#ifndef BPF_USDT_MAX_SPEC_CNT -#define BPF_USDT_MAX_SPEC_CNT 256 -#endif -/* User can override BPF_USDT_MAX_IP_CNT to change default size of internal - * map that keeps track of IP (memory address) mapping to USDT argument - * specification. - * Note, if kernel supports BPF cookies, this map is not used and could be - * resized all the way to 1 to save a bit of memory. - */ -#ifndef BPF_USDT_MAX_IP_CNT -#define BPF_USDT_MAX_IP_CNT (4 * BPF_USDT_MAX_SPEC_CNT) -#endif -/* We use BPF CO-RE to detect support for BPF cookie from BPF side. This is - * the only dependency on CO-RE, so if it's undesirable, user can override - * BPF_USDT_HAS_BPF_COOKIE to specify whether to BPF cookie is supported or not. - */ -#ifndef BPF_USDT_HAS_BPF_COOKIE -#define BPF_USDT_HAS_BPF_COOKIE \ - bpf_core_enum_value_exists(enum bpf_func_id___usdt, BPF_FUNC_get_attach_cookie___usdt) -#endif - -enum __bpf_usdt_arg_type { - BPF_USDT_ARG_CONST, - BPF_USDT_ARG_REG, - BPF_USDT_ARG_REG_DEREF, -}; - -struct __bpf_usdt_arg_spec { - /* u64 scalar interpreted depending on arg_type, see below */ - __u64 val_off; - /* arg location case, see bpf_udst_arg() for details */ - enum __bpf_usdt_arg_type arg_type; - /* offset of referenced register within struct pt_regs */ - short reg_off; - /* whether arg should be interpreted as signed value */ - bool arg_signed; - /* number of bits that need to be cleared and, optionally, - * sign-extended to cast arguments that are 1, 2, or 4 bytes - * long into final 8-byte u64/s64 value returned to user - */ - char arg_bitshift; -}; - -/* should match USDT_MAX_ARG_CNT in usdt.c exactly */ -#define BPF_USDT_MAX_ARG_CNT 12 -struct __bpf_usdt_spec { - struct __bpf_usdt_arg_spec args[BPF_USDT_MAX_ARG_CNT]; - __u64 usdt_cookie; - short arg_cnt; -}; - -struct { - __uint(type, BPF_MAP_TYPE_ARRAY); - __uint(max_entries, BPF_USDT_MAX_SPEC_CNT); - __type(key, int); - __type(value, struct __bpf_usdt_spec); -} __bpf_usdt_specs SEC(".maps") __weak; - -struct { - __uint(type, BPF_MAP_TYPE_HASH); - __uint(max_entries, BPF_USDT_MAX_IP_CNT); - __type(key, long); - __type(value, __u32); -} __bpf_usdt_ip_to_spec_id SEC(".maps") __weak; - -/* don't rely on user's BPF code to have latest definition of bpf_func_id */ -enum bpf_func_id___usdt { - BPF_FUNC_get_attach_cookie___usdt = 0xBAD, /* value doesn't matter */ -}; - -static __always_inline -int __bpf_usdt_spec_id(struct pt_regs *ctx) -{ - if (!BPF_USDT_HAS_BPF_COOKIE) { - long ip = PT_REGS_IP(ctx); - int *spec_id_ptr; - - spec_id_ptr = bpf_map_lookup_elem(&__bpf_usdt_ip_to_spec_id, &ip); - return spec_id_ptr ? *spec_id_ptr : -ESRCH; - } - - return bpf_get_attach_cookie(ctx); -} - -/* Return number of USDT arguments defined for currently traced USDT. */ -__weak __hidden -int bpf_usdt_arg_cnt(struct pt_regs *ctx) -{ - struct __bpf_usdt_spec *spec; - int spec_id; - - spec_id = __bpf_usdt_spec_id(ctx); - if (spec_id < 0) - return -ESRCH; - - spec = bpf_map_lookup_elem(&__bpf_usdt_specs, &spec_id); - if (!spec) - return -ESRCH; - - return spec->arg_cnt; -} - -/* Fetch USDT argument #*arg_num* (zero-indexed) and put its value into *res. - * Returns 0 on success; negative error, otherwise. - * On error *res is guaranteed to be set to zero. - */ -__weak __hidden -int bpf_usdt_arg(struct pt_regs *ctx, __u64 arg_num, long *res) -{ - struct __bpf_usdt_spec *spec; - struct __bpf_usdt_arg_spec *arg_spec; - unsigned long val; - int err, spec_id; - - *res = 0; - - spec_id = __bpf_usdt_spec_id(ctx); - if (spec_id < 0) - return -ESRCH; - - spec = bpf_map_lookup_elem(&__bpf_usdt_specs, &spec_id); - if (!spec) - return -ESRCH; - - if (arg_num >= BPF_USDT_MAX_ARG_CNT || arg_num >= spec->arg_cnt) - return -ENOENT; - - arg_spec = &spec->args[arg_num]; - switch (arg_spec->arg_type) { - case BPF_USDT_ARG_CONST: - /* Arg is just a constant ("-4@$-9" in USDT arg spec). - * value is recorded in arg_spec->val_off directly. - */ - val = arg_spec->val_off; - break; - case BPF_USDT_ARG_REG: - /* Arg is in a register (e.g, "8@%rax" in USDT arg spec), - * so we read the contents of that register directly from - * struct pt_regs. To keep things simple user-space parts - * record offsetof(struct pt_regs, ) in arg_spec->reg_off. - */ - err = bpf_probe_read_kernel(&val, sizeof(val), (void *)ctx + arg_spec->reg_off); - if (err) - return err; - break; - case BPF_USDT_ARG_REG_DEREF: - /* Arg is in memory addressed by register, plus some offset - * (e.g., "-4@-1204(%rbp)" in USDT arg spec). Register is - * identified like with BPF_USDT_ARG_REG case, and the offset - * is in arg_spec->val_off. We first fetch register contents - * from pt_regs, then do another user-space probe read to - * fetch argument value itself. - */ - err = bpf_probe_read_kernel(&val, sizeof(val), (void *)ctx + arg_spec->reg_off); - if (err) - return err; - err = bpf_probe_read_user(&val, sizeof(val), (void *)val + arg_spec->val_off); - if (err) - return err; -#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ - val >>= arg_spec->arg_bitshift; -#endif - break; - default: - return -EINVAL; - } - - /* cast arg from 1, 2, or 4 bytes to final 8 byte size clearing - * necessary upper arg_bitshift bits, with sign extension if argument - * is signed - */ - val <<= arg_spec->arg_bitshift; - if (arg_spec->arg_signed) - val = ((long)val) >> arg_spec->arg_bitshift; - else - val = val >> arg_spec->arg_bitshift; - *res = val; - return 0; -} - -/* Retrieve user-specified cookie value provided during attach as - * bpf_usdt_opts.usdt_cookie. This serves the same purpose as BPF cookie - * returned by bpf_get_attach_cookie(). Libbpf's support for USDT is itself - * utilizing BPF cookies internally, so user can't use BPF cookie directly - * for USDT programs and has to use bpf_usdt_cookie() API instead. - */ -__weak __hidden -long bpf_usdt_cookie(struct pt_regs *ctx) -{ - struct __bpf_usdt_spec *spec; - int spec_id; - - spec_id = __bpf_usdt_spec_id(ctx); - if (spec_id < 0) - return 0; - - spec = bpf_map_lookup_elem(&__bpf_usdt_specs, &spec_id); - if (!spec) - return 0; - - return spec->usdt_cookie; -} - -/* we rely on ___bpf_apply() and ___bpf_narg() macros already defined in bpf_tracing.h */ -#define ___bpf_usdt_args0() ctx -#define ___bpf_usdt_args1(x) ___bpf_usdt_args0(), ({ long _x; bpf_usdt_arg(ctx, 0, &_x); (void *)_x; }) -#define ___bpf_usdt_args2(x, args...) ___bpf_usdt_args1(args), ({ long _x; bpf_usdt_arg(ctx, 1, &_x); (void *)_x; }) -#define ___bpf_usdt_args3(x, args...) ___bpf_usdt_args2(args), ({ long _x; bpf_usdt_arg(ctx, 2, &_x); (void *)_x; }) -#define ___bpf_usdt_args4(x, args...) ___bpf_usdt_args3(args), ({ long _x; bpf_usdt_arg(ctx, 3, &_x); (void *)_x; }) -#define ___bpf_usdt_args5(x, args...) ___bpf_usdt_args4(args), ({ long _x; bpf_usdt_arg(ctx, 4, &_x); (void *)_x; }) -#define ___bpf_usdt_args6(x, args...) ___bpf_usdt_args5(args), ({ long _x; bpf_usdt_arg(ctx, 5, &_x); (void *)_x; }) -#define ___bpf_usdt_args7(x, args...) ___bpf_usdt_args6(args), ({ long _x; bpf_usdt_arg(ctx, 6, &_x); (void *)_x; }) -#define ___bpf_usdt_args8(x, args...) ___bpf_usdt_args7(args), ({ long _x; bpf_usdt_arg(ctx, 7, &_x); (void *)_x; }) -#define ___bpf_usdt_args9(x, args...) ___bpf_usdt_args8(args), ({ long _x; bpf_usdt_arg(ctx, 8, &_x); (void *)_x; }) -#define ___bpf_usdt_args10(x, args...) ___bpf_usdt_args9(args), ({ long _x; bpf_usdt_arg(ctx, 9, &_x); (void *)_x; }) -#define ___bpf_usdt_args11(x, args...) ___bpf_usdt_args10(args), ({ long _x; bpf_usdt_arg(ctx, 10, &_x); (void *)_x; }) -#define ___bpf_usdt_args12(x, args...) ___bpf_usdt_args11(args), ({ long _x; bpf_usdt_arg(ctx, 11, &_x); (void *)_x; }) -#define ___bpf_usdt_args(args...) ___bpf_apply(___bpf_usdt_args, ___bpf_narg(args))(args) - -/* - * BPF_USDT serves the same purpose for USDT handlers as BPF_PROG for - * tp_btf/fentry/fexit BPF programs and BPF_KPROBE for kprobes. - * Original struct pt_regs * context is preserved as 'ctx' argument. - */ -#define BPF_USDT(name, args...) \ -name(struct pt_regs *ctx); \ -static __attribute__((always_inline)) typeof(name(0)) \ -____##name(struct pt_regs *ctx, ##args); \ -typeof(name(0)) name(struct pt_regs *ctx) \ -{ \ - _Pragma("GCC diagnostic push") \ - _Pragma("GCC diagnostic ignored \"-Wint-conversion\"") \ - return ____##name(___bpf_usdt_args(args)); \ - _Pragma("GCC diagnostic pop") \ -} \ -static __attribute__((always_inline)) typeof(name(0)) \ -____##name(struct pt_regs *ctx, ##args) - -#endif /* __USDT_BPF_H__ */ diff --git a/lcc/golcc/include/bpf/xsk.h b/lcc/golcc/include/bpf/xsk.h deleted file mode 100644 index 64e9c57..0000000 --- a/lcc/golcc/include/bpf/xsk.h +++ /dev/null @@ -1,336 +0,0 @@ -/* SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) */ - -/* - * AF_XDP user-space access library. - * - * Copyright (c) 2018 - 2019 Intel Corporation. - * Copyright (c) 2019 Facebook - * - * Author(s): Magnus Karlsson - */ - -#ifndef __LIBBPF_XSK_H -#define __LIBBPF_XSK_H - -#include -#include -#include -#include - -#include "libbpf.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* This whole API has been deprecated and moved to libxdp that can be found at - * https://github.com/xdp-project/xdp-tools. The APIs are exactly the same so - * it should just be linking with libxdp instead of libbpf for this set of - * functionality. If not, please submit a bug report on the aforementioned page. - */ - -/* Load-Acquire Store-Release barriers used by the XDP socket - * library. The following macros should *NOT* be considered part of - * the xsk.h API, and is subject to change anytime. - * - * LIBRARY INTERNAL - */ - -#define __XSK_READ_ONCE(x) (*(volatile typeof(x) *)&x) -#define __XSK_WRITE_ONCE(x, v) (*(volatile typeof(x) *)&x) = (v) - -#if defined(__i386__) || defined(__x86_64__) -# define libbpf_smp_store_release(p, v) \ - do { \ - asm volatile("" : : : "memory"); \ - __XSK_WRITE_ONCE(*p, v); \ - } while (0) -# define libbpf_smp_load_acquire(p) \ - ({ \ - typeof(*p) ___p1 = __XSK_READ_ONCE(*p); \ - asm volatile("" : : : "memory"); \ - ___p1; \ - }) -#elif defined(__aarch64__) -# define libbpf_smp_store_release(p, v) \ - asm volatile ("stlr %w1, %0" : "=Q" (*p) : "r" (v) : "memory") -# define libbpf_smp_load_acquire(p) \ - ({ \ - typeof(*p) ___p1; \ - asm volatile ("ldar %w0, %1" \ - : "=r" (___p1) : "Q" (*p) : "memory"); \ - ___p1; \ - }) -#elif defined(__riscv) -# define libbpf_smp_store_release(p, v) \ - do { \ - asm volatile ("fence rw,w" : : : "memory"); \ - __XSK_WRITE_ONCE(*p, v); \ - } while (0) -# define libbpf_smp_load_acquire(p) \ - ({ \ - typeof(*p) ___p1 = __XSK_READ_ONCE(*p); \ - asm volatile ("fence r,rw" : : : "memory"); \ - ___p1; \ - }) -#endif - -#ifndef libbpf_smp_store_release -#define libbpf_smp_store_release(p, v) \ - do { \ - __sync_synchronize(); \ - __XSK_WRITE_ONCE(*p, v); \ - } while (0) -#endif - -#ifndef libbpf_smp_load_acquire -#define libbpf_smp_load_acquire(p) \ - ({ \ - typeof(*p) ___p1 = __XSK_READ_ONCE(*p); \ - __sync_synchronize(); \ - ___p1; \ - }) -#endif - -/* LIBRARY INTERNAL -- END */ - -/* Do not access these members directly. Use the functions below. */ -#define DEFINE_XSK_RING(name) \ -struct name { \ - __u32 cached_prod; \ - __u32 cached_cons; \ - __u32 mask; \ - __u32 size; \ - __u32 *producer; \ - __u32 *consumer; \ - void *ring; \ - __u32 *flags; \ -} - -DEFINE_XSK_RING(xsk_ring_prod); -DEFINE_XSK_RING(xsk_ring_cons); - -/* For a detailed explanation on the memory barriers associated with the - * ring, please take a look at net/xdp/xsk_queue.h. - */ - -struct xsk_umem; -struct xsk_socket; - -static inline __u64 *xsk_ring_prod__fill_addr(struct xsk_ring_prod *fill, - __u32 idx) -{ - __u64 *addrs = (__u64 *)fill->ring; - - return &addrs[idx & fill->mask]; -} - -static inline const __u64 * -xsk_ring_cons__comp_addr(const struct xsk_ring_cons *comp, __u32 idx) -{ - const __u64 *addrs = (const __u64 *)comp->ring; - - return &addrs[idx & comp->mask]; -} - -static inline struct xdp_desc *xsk_ring_prod__tx_desc(struct xsk_ring_prod *tx, - __u32 idx) -{ - struct xdp_desc *descs = (struct xdp_desc *)tx->ring; - - return &descs[idx & tx->mask]; -} - -static inline const struct xdp_desc * -xsk_ring_cons__rx_desc(const struct xsk_ring_cons *rx, __u32 idx) -{ - const struct xdp_desc *descs = (const struct xdp_desc *)rx->ring; - - return &descs[idx & rx->mask]; -} - -static inline int xsk_ring_prod__needs_wakeup(const struct xsk_ring_prod *r) -{ - return *r->flags & XDP_RING_NEED_WAKEUP; -} - -static inline __u32 xsk_prod_nb_free(struct xsk_ring_prod *r, __u32 nb) -{ - __u32 free_entries = r->cached_cons - r->cached_prod; - - if (free_entries >= nb) - return free_entries; - - /* Refresh the local tail pointer. - * cached_cons is r->size bigger than the real consumer pointer so - * that this addition can be avoided in the more frequently - * executed code that computs free_entries in the beginning of - * this function. Without this optimization it whould have been - * free_entries = r->cached_prod - r->cached_cons + r->size. - */ - r->cached_cons = libbpf_smp_load_acquire(r->consumer); - r->cached_cons += r->size; - - return r->cached_cons - r->cached_prod; -} - -static inline __u32 xsk_cons_nb_avail(struct xsk_ring_cons *r, __u32 nb) -{ - __u32 entries = r->cached_prod - r->cached_cons; - - if (entries == 0) { - r->cached_prod = libbpf_smp_load_acquire(r->producer); - entries = r->cached_prod - r->cached_cons; - } - - return (entries > nb) ? nb : entries; -} - -static inline __u32 xsk_ring_prod__reserve(struct xsk_ring_prod *prod, __u32 nb, __u32 *idx) -{ - if (xsk_prod_nb_free(prod, nb) < nb) - return 0; - - *idx = prod->cached_prod; - prod->cached_prod += nb; - - return nb; -} - -static inline void xsk_ring_prod__submit(struct xsk_ring_prod *prod, __u32 nb) -{ - /* Make sure everything has been written to the ring before indicating - * this to the kernel by writing the producer pointer. - */ - libbpf_smp_store_release(prod->producer, *prod->producer + nb); -} - -static inline __u32 xsk_ring_cons__peek(struct xsk_ring_cons *cons, __u32 nb, __u32 *idx) -{ - __u32 entries = xsk_cons_nb_avail(cons, nb); - - if (entries > 0) { - *idx = cons->cached_cons; - cons->cached_cons += entries; - } - - return entries; -} - -static inline void xsk_ring_cons__cancel(struct xsk_ring_cons *cons, __u32 nb) -{ - cons->cached_cons -= nb; -} - -static inline void xsk_ring_cons__release(struct xsk_ring_cons *cons, __u32 nb) -{ - /* Make sure data has been read before indicating we are done - * with the entries by updating the consumer pointer. - */ - libbpf_smp_store_release(cons->consumer, *cons->consumer + nb); - -} - -static inline void *xsk_umem__get_data(void *umem_area, __u64 addr) -{ - return &((char *)umem_area)[addr]; -} - -static inline __u64 xsk_umem__extract_addr(__u64 addr) -{ - return addr & XSK_UNALIGNED_BUF_ADDR_MASK; -} - -static inline __u64 xsk_umem__extract_offset(__u64 addr) -{ - return addr >> XSK_UNALIGNED_BUF_OFFSET_SHIFT; -} - -static inline __u64 xsk_umem__add_offset_to_addr(__u64 addr) -{ - return xsk_umem__extract_addr(addr) + xsk_umem__extract_offset(addr); -} - -LIBBPF_API LIBBPF_DEPRECATED_SINCE(0, 7, "AF_XDP support deprecated and moved to libxdp") -int xsk_umem__fd(const struct xsk_umem *umem); -LIBBPF_API LIBBPF_DEPRECATED_SINCE(0, 7, "AF_XDP support deprecated and moved to libxdp") -int xsk_socket__fd(const struct xsk_socket *xsk); - -#define XSK_RING_CONS__DEFAULT_NUM_DESCS 2048 -#define XSK_RING_PROD__DEFAULT_NUM_DESCS 2048 -#define XSK_UMEM__DEFAULT_FRAME_SHIFT 12 /* 4096 bytes */ -#define XSK_UMEM__DEFAULT_FRAME_SIZE (1 << XSK_UMEM__DEFAULT_FRAME_SHIFT) -#define XSK_UMEM__DEFAULT_FRAME_HEADROOM 0 -#define XSK_UMEM__DEFAULT_FLAGS 0 - -struct xsk_umem_config { - __u32 fill_size; - __u32 comp_size; - __u32 frame_size; - __u32 frame_headroom; - __u32 flags; -}; - -LIBBPF_API LIBBPF_DEPRECATED_SINCE(0, 7, "AF_XDP support deprecated and moved to libxdp") -int xsk_setup_xdp_prog(int ifindex, int *xsks_map_fd); -LIBBPF_API LIBBPF_DEPRECATED_SINCE(0, 7, "AF_XDP support deprecated and moved to libxdp") -int xsk_socket__update_xskmap(struct xsk_socket *xsk, int xsks_map_fd); - -/* Flags for the libbpf_flags field. */ -#define XSK_LIBBPF_FLAGS__INHIBIT_PROG_LOAD (1 << 0) - -struct xsk_socket_config { - __u32 rx_size; - __u32 tx_size; - __u32 libbpf_flags; - __u32 xdp_flags; - __u16 bind_flags; -}; - -/* Set config to NULL to get the default configuration. */ -LIBBPF_API LIBBPF_DEPRECATED_SINCE(0, 7, "AF_XDP support deprecated and moved to libxdp") -int xsk_umem__create(struct xsk_umem **umem, - void *umem_area, __u64 size, - struct xsk_ring_prod *fill, - struct xsk_ring_cons *comp, - const struct xsk_umem_config *config); -LIBBPF_API LIBBPF_DEPRECATED_SINCE(0, 7, "AF_XDP support deprecated and moved to libxdp") -int xsk_umem__create_v0_0_2(struct xsk_umem **umem, - void *umem_area, __u64 size, - struct xsk_ring_prod *fill, - struct xsk_ring_cons *comp, - const struct xsk_umem_config *config); -LIBBPF_API LIBBPF_DEPRECATED_SINCE(0, 7, "AF_XDP support deprecated and moved to libxdp") -int xsk_umem__create_v0_0_4(struct xsk_umem **umem, - void *umem_area, __u64 size, - struct xsk_ring_prod *fill, - struct xsk_ring_cons *comp, - const struct xsk_umem_config *config); -LIBBPF_API LIBBPF_DEPRECATED_SINCE(0, 7, "AF_XDP support deprecated and moved to libxdp") -int xsk_socket__create(struct xsk_socket **xsk, - const char *ifname, __u32 queue_id, - struct xsk_umem *umem, - struct xsk_ring_cons *rx, - struct xsk_ring_prod *tx, - const struct xsk_socket_config *config); -LIBBPF_API LIBBPF_DEPRECATED_SINCE(0, 7, "AF_XDP support deprecated and moved to libxdp") -int xsk_socket__create_shared(struct xsk_socket **xsk_ptr, - const char *ifname, - __u32 queue_id, struct xsk_umem *umem, - struct xsk_ring_cons *rx, - struct xsk_ring_prod *tx, - struct xsk_ring_prod *fill, - struct xsk_ring_cons *comp, - const struct xsk_socket_config *config); - -/* Returns 0 for success and -EBUSY if the umem is still in use. */ -LIBBPF_API LIBBPF_DEPRECATED_SINCE(0, 7, "AF_XDP support deprecated and moved to libxdp") -int xsk_umem__delete(struct xsk_umem *umem); -LIBBPF_API LIBBPF_DEPRECATED_SINCE(0, 7, "AF_XDP support deprecated and moved to libxdp") -void xsk_socket__delete(struct xsk_socket *xsk); - -#ifdef __cplusplus -} /* extern "C" */ -#endif - -#endif /* __LIBBPF_XSK_H */ diff --git a/lcc/golcc/lib/libbpf.a b/lcc/golcc/lib/libbpf.a deleted file mode 100644 index c600f1494f28c9a267568d4f58722cc7c2e5e290..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2647240 zcmeFa3w%}8u|K}|IVX^iz=?toFi6y>u_7jlf)5~pfF~F<2?+&3Lx3RBkitygWmSX)|atzKJ=_^Mj*QQ`lcS!>pQCM40`{_f|0 z&*zi1XJ*aJnl)?Id!LiT&!}l$xn|~w6LP$tf>Ta8b=s+?OgnjcPEI~&xzn7Sf`X~1 zoXGU$BP`4QPs=)f@&7OWqKBVh{omhb=Y!$<3a$V9`#&H2Ukv7w+tFOOF9aF6X{{1Q6niTSvQ}Y`u z^zR2{R*viM$ZvO8gZVq^7q?sPzoS2#Z0WzI=EfDZ)oW|luDqbSX64GpwuV-#zHY^e zrq$IgwXKv<-?;Lk>gM{owbqKZwM`7wnGA~<*VZ&uuWYWZX{}{cflOUr)7skXCpI*$ z@-qflYS#K$s_Pn9Wr(!SVkM~01=aP9HLI%E?vCvIszICRSxqyq?YMYgV7;UX>X{~N8>)ROJw(yzAsVF~s%{VTq1BC~cD1s!x#p7U*5;a(wM~t64XtRMTIB^+;_B>F z67?MAbLw}XFw$DnauJ#8__Vg6W<`B%bxUiFyQx>yp&!68GVIi>0*bz+N1@t=mbPXd zp)4v(xvIIkbwg7v;)N&#RI}qH+pwyx zrlFy>MHfI^ep+*FOJn`IS}s9JQFl^ML+vHiwQHMN5lN)Zpw%r+^>x}z5LIqdO*0IJ zyM3sOnMWqHLL<6wb3<*t;_REM@~I)Ic(Pt#YE_J0H7bW<$xCTzZKfD#T)i4niYe$G zsk-B^n)J3m9(vN@wPS8HEM@Y_UgLYdTkYxs@K)jx9MnOflFNM6!fcVbz@NO zy2kpN*1CEZ|H{UO7FY3T(bncVw?W)-T5B$Fie25-u+ods%-GuKr`2Fqb!h8qT&|gk=?eQhb=wqao|Z@(}+sV&k?`2 zaa9{eQ4pBOEw!$$1#2<}C3IbM>ebYx9rseEgNZ6KG(?j__9|Lcy9#R_S!R)aOi_AO z=BnBzxB|Wwl#qZOw&^&DB_&wNRJQf@|v3 zN*WN!SgX+#N~^x=wg&R0MJ=zLEE-!bs%xSGTdHY&LykgUQm*5X3np1Ail|A{!bvv| z+6*J%rL}s9)oa7*nzq(P*NjObJSd0Jn`_%J8|XQhIoH;##{hutNzrk)4v>UurVa~^fN>XmSWDw}CEqWDPU zCHM=>d4QpGfbvJb}V$FyyhV??jN`$Lh zXIn$xd9u=UHMWr0qaK76IgaI!M5(BRvk0cOtB*o~6QtIm64W#pj9s-*wxVd|MDfDP z`o~jzW9cqkso5aX)6|*1A@jeOxyBIRZ6RPSZM+<3u6vWIWn1$gGpT?aiQuQ+?j2 zgG89sX!W?lP>nAPh4|{o{@V3k1*Q%z)|IUorSwV&)i*hgM+}LE1JhLul}hU)hu5oa zrRXXRzG@Olt&QD`T!kRB@<45quUf5ZB%F*@I=l?7<`Z`j)Iow&Dj}TOf>Q=$uCA-c zzRYU?dR0HUq_Vz6ZN-f}5DCzT@gi`n@C_y44I>kK%gQyi80_l(PK80?IgU^bt)|=# zp<1v|AcusUtyVy)uPhSt?$QFH{biH*`c=NRhLHgpF*emUudc3Lhj}7UMqgP{t2+PG zi!!K60Xhj_a>cqByUh@f_mM?n7&oy^;iC^#ptucz_JLnWe@qBYQQwTDyF{R-%yu8odDRS)-w=sa&7X+WX) z=A)@u|fy01df__C)T|FHn;tah}9}5MtX^^69V)IJV#Gw7wTGNcu^kK-#rZxns)UoEkjYdmL9o@8`1-x?{&lW8g z(WN7uH~Z(2mbMk4nXA<3UfowdH%q9bbg{4^)#Y4usGKQL1a%xyBl_w9PV`4U=uP?*MIu}*c+(wix#=JZ-QF__bp-=0|>NVI^xNjDPr0c}GKvS*} z%w;(8lqu4r^)>oz%uhf}VtH=PRvW;$itgyyMQd9wkae|qt=cT!)r2JDg0n z*{n-coss4XI&9KJM+c3jW|ghTh7@34Q(KQ%=6WmE0HK}+7CQLDsZ-rrx-ruO6g3KN zDfL}|kH}X7K3YAmad@y(_ZMOL)_M$E7-VrQjNz9MecT|Z%G0kkppWKPPj$)Yqg_Xd zoAE@CK7BC`R=7vy)VAUbog$Qc?qSwyTGrrP)oWIuM0IuVk=7*I0&qz1Eu`zL-Vph? z-eB$_%8@m9FN%*-)!s&ZE!s(KGwABZrPMI1Q}H!5Eo*r4rEP>|Fls!5tgNR=%b;Ak z!T2!SU@L2yaFl?XRzpG9)Hb^`Qv^7<+AX+e;2khl&3vh5c?evfheGCg2r~D2h&;Rm6;(tvlZzl-LKsNMOvXZl zgZS2hRnbW=Z~Pn#`E@PoFr0HuDU9*ZPlEy(!W3#<9ifJXOQ6PP=io#w9Q?U-R@1Cz zC03+`=pGLD3e9Sj$2rtjcu4Y=>VGpw@isQK;rbJ+?>0KgppIt>CR3?8`Yjl~-jEwY zx~D{yG!5^>@POpdRyQ`Ut-*;E&T$;#%9{F>ST(|68oex9yraa1nhQ`eHHL@4j`UFU zY{_eW>jeKR(B2oK16Tpxj8>oJBgk^)BpNWMG@d{dJcI-9OY8Tkr$VaWq*G2jCBGn_ z-l#@;%G9ZNo_f+$%FD@FKH`eGrSl@TZOO;BW?Bv=RLgqx^@u?V87j06wI*0apD$We zlH6BRmE2oYS(SWtVIuy+Pm)g*CHE#azn+zB&5gZE+= zD|OFzaZ?sB2>9J8Ovqmojq;iyDD>I$b<}n5D$UJ7?UU)PnaTrc+5>xc!v|DD)f{Mw zLaU@}b}CF5M|$((TfU53kTUmtH9lz*VCybQ?xmz)e?bo`;^a|lENEKaov-cRzuzd` zMBJsx--n3qd9XD3v~Fxw{r;<7(9@d^)p*44AbY933U*a3gcnDln0u+Y(QY^6u{v3q zJ0h{IGBj2_-Z*4g zO-E1L8Hq0LT#s;SW5{SdHi7s{1rLuL38#m)##yS%+PiztFlskMF2;cex2y4JFEwLP za$nWL(&Q7#XN!_g&P_h7yB`apdDB?!D~ZnM)JPETxSc3n>50uBq7Pn#=1FY3`02#9 zIr)js_uKO}U6v2R)b!RvdWR!V$1nH4y=WQL{~l?3b3y0+;^frawr1!_M{kQ2qrp>) z0cFIuej7#b2!(df2TV~hRX?Ze=NbArMnB2F94LjFkVQ|#?8|uQ(&8OAkqz6LvkQ7y ze^LBr8N)jsZykA6#xOQ*^9S*^*HGCQ^j1~-sku1kp2=f2r<_$X~fk=zGo41+Tg$yZ8}FVZ+aFQcnH zHSuVSqY4ho?wXgqdH)1Jd0q2z@JQ{Nmy1V6*StJDGP~xnTf64vw`K#+>NT8^|@s{+frM-#cpoREdygbzU3^)cFoBEGCJ9j zdo4_hZ<)=sOwh)GMk|H*mQ$HF1~eKvHpaK)Ga(CvNnqN}Ol7I0i~@CiLC=EDHxkWFxUUF(rd}|jfPkzCOyqMyt zGTw1HT1z?SnD~}op;{>TxUM<5@huMm>FnuRnAe($6Fh~foqG>d$2-n} zD7Y_xnLR|%_jk=%28rU_;`nvNxwB3y&7IY?aB;jd6UsJ!G(5g_ zI2E!BjET(~(RY)NwWW4E9`Ae`ny}oM-qli!m0Mw=t7UrE#@s@bHYWi>B6&~lP869) z-jRC)7hMK{u7$+#`Q){^H#6-_qP0|lKN|`XP>_xMg`^-43U1X3XxfW!DP;v^5WbV> zT?_L&(5Pyq+B$(&+UQEfxlI7bbM<&m$8!z3e=hnRdK@(s7LB}Qa*xs_$%l)QkH)Wh z5urmv^%)qdDO8J-A9%*U!{%$oW>EGrsj21P7sD?Aw7wZPXM09`pL^sY-47To|}n?4+=adzV#lZoMMtbq?|&PKBOs+ z06eql35jXQr@@3i@vYxO4GMPkeisjn7w+|rd*4@dpKIat4D)Uxd8nc}ggyXi>Yxt_ z+sIEfQ4ok#)3YBs>#c&Gf?Y7>$oSU6k5K;Oy=UNo^3h|dZk_M9R-w0&yG||5EnJtt z#=nr-KB0Q*#J5aO#o~y2>N99n>ZzI3Q*VGE;6i|;qqqDYq#dr*BSptcs6y|bn7RoJ zSfXRjOeA;nvY85ERT#ta zZu5Rx>14z^dPsneL^kiwj(5=6$mabM;~h6Mdm$~*vmld)XEvUdG;uG-s$f}3S0b~d zt1PFat0@(ki;=4v3H1fUV?@J2N{xsCmE94+YF+!ACTWpGJzV?! z1<8kL^`1yRGnbdcj_1hKcPj=8(8G5qNd#Yyq?15 z#^?TJ&n9Xa_6wBlc}C5{`j7-$u#)8C+F#N{t+YCU5A;g!rF$_Q$k{2KEaE(o)yaN& zv^gUUoDd?!Iv|V?P-mh=$qx@y7_A?8Sy`OSP%D&ylwfKA27aRP9+AfpHF1eC4+Vk zjsTT&=p5VG4h_UH?(q#nWNJzB?YRYymsg;W#|w7dcPJFT`t4VEG|WOr!er-+uf)F} zV_s4Dg5>=r$;T4O|4Jm^N$$HZi=-Mv%A9xf$v>X>XNK~ZB>$^mS5a9x>?(L1swWWZ zXkqn^_on}a#E*CgyF3XWEFlIlgrMeh5Q6hCKCoy1t9asBgb$=lJJ9;VX$Ne|A6~y2 z!!SnW_6fejL)U#z$T%E+!p`UGVfzv1{P5qoYF&A{w55BWPrk|*SFZB3zi{h=gDkXP zyki7LrP8i6EMjpg{TEasv8^bxWLwGGbTf2B(Wdp8bTgFNI;!`2WNxDSpf3?u@IDAC z(o6W(3r?X!s~AS})JsaS?4j8hOJ~exn0R;TN$lQK5FMB4(8ZwM=fw}s-@6KN-@_-z z8SB;o%h>aMiinWaEPKPXRM2iw5gon&-t$ChQZDo8SP!*vR|QMD(=gBBaT2da5Fdzd z9Hi-$DP}0lU@y|aS|+N-24G2%74*OR)=)aM8Sd!jVDQ78Z+`WTN2mq0g&FKzMU?6* z)Pap0I)3^YkB$)Qx%vas>Kb2k|LWX@B|^M|4nj)1A|;zYKyZ@6l5L5%6WeBIQg9x% z>C#LbEoMYo5ALNc3&lbI@%aJbla8~CaZ`!uC3Z=fG#$rgMrratB{nC9Rioe7zF|jeu+T#jTrKG!}K))Q%k26yWz# zzr%f-?mo1@$B=`+EPV)&z~L?inBll&&PXn>ba(>G>i53ctS8mM_!BfA6eT}ln-=hH zfCfjJ6}oQC?IEyhC+~o1BS33fSc%pCOKQr-ugpmYpUf6!(P*h=rUjjJ_1~IG1{Pr@ z3WM3&7_7zVP3tgZz*W4SnZ#^45TcFiG&rUK^^TkK!v6jH|Yt~s=G$?L)qGHqby#PG<`ey8ea zn^C>wSvep~PM(#(BbGcXmn(HvUg*G2wl75kY{Ju;izC2}IT(F8W?ZBDo@crLAzVJd zix^U6s_F)8BXH@IpwreZm4s|tbbDgkoHDweIDFG(Wgv_>3G-Vj@_78%k5Na>Z%@15 zcYua-)LkyU%Mss7FS3Ak7RHbS*%sgWcch@42@2*0qP(Ukvp^|Slo#*-mO~hLPXe4v zaD40YNP*=MhMYqIPbN6N^*N-#QVGM8XH#<`0oFJneE1RH`UZFirJjH$rnXQ`TF~P( zDtj-{H9E2Rqe=0tzax>&ADtfG`aU2Dt%Kza6wmHTwT2mAy5>+1LkLhg#a(k~FJ0I* z=L{G%2VhQoOBNan5dtKaB4+cxX#nx6#ssF*c>+QOH@W-hCO0*{C7bEE$=ydcxf$^- zqd`CcIiQ?CrQpUmO_A~losK+QChy}{KydL(!zM_Xe7U)u;to}tmOLw4n}WClVNUWa zTr>}-vMSM^78c?WOD>$=yAQ_z{hS}Fh{K3Teo*g?AT$fn_5aq#c>Oj;1s*4ODDaN} z^a_mL)9~>*hVl8Z!1(vBbd=NkmFMJs;x20Y-YpJ3j_`F3K8f(v1|R77Pp3`JQtbbo z@qeK9)5|pfo9!R{zuf-A{vWlU<^wa&JtNZsodMGBjV3*_?51~x%(5E;OH5B)|AhDT zKIn5l>6mknm{TeP1oz4ndQ~>ozbaGf%z>}V?mOVR>>E5wgs#iX`;T-!s@6pRz~Sh# zc+(O-z8R)tfgbPpD=*(|wR}&;X!%~&Q@X9B5L0hy^0D?KH*F}Smjmop4A3!a1gq46!_!2oDdao1A3yYm5fin|tO7bkZYr#&6-I19OWW1=-}E?uTS zhFp~OXH4^0@9b*-+@{NNsGw-;xZYclXU119?`!Vz_zgTAGAJ$`FW>QwVHGdp#?YG? z@vUSm3PP0NVEs-q1&chab=3NfE&<$w5zbTNS2g2+32hg@CJnM^JaSU-TsCA9;Z|_3 zbRL*nunSd9Rr;zsGeSOx=WDJ?Yp4B7(W~&E6*gnfQjT z%^w^S-`Yu?XIo-7t(bDqEAm+FS)w)%YOe*d-RR3V`Zl`tA;iYTw@!gJwY1FPmy>!U z;9>trc~Mt+d8WMQa8b$Cpz?C1yi&5i2U*Jg4A2pBd%j8QD%kuU#5363og$tA@xK6B z&GxeVCL{kOWk`IhK#kMYu0750A5l<;feH^YAR1mc_wJK%NkT{w5SEDJYZv2>ifT#Y<)?s5e&A|TNq z*f+g_7cJwLv?CoI-$MJ%;;zdw=N7z=H)rStDO`2o2CNk?{?_MW|BLs>i*YZ8Si!)9 zfs{t6duhw>9Y`NeJ{Z5M7i1nvuK}Qk(&TQ}VCp(g>bfWuTWDOA!j5tAE%YX8aaYS2 zvSk774vEl#_*;!9yXbD`1%W*`ZFejs%M14RE(0I-2OfIC8U{c$UE{@vj%~`x71(J#{YwvTtdl69F z|Ge`D*M+$_QIkmTe=>6iw0YkPE$9j7|C)#SF9%I_P&i=UVkKitwJ8h^u_ct*n2pYosMDix(5-ibo`PU zzpf`3?uS1(7w@3K;!NrWrMRfi#3)E$^0m_BUvZ7ghVVAHaMLGt>*w$u;L#n=C7*9C z<9DejU~{SSP>rceX6<=M&&Rr*@Lv07dPmcIeWYVo+e9CU+f6pzPjiv@wg-#t-R%fI z7w@1;);*nwJ}18Ue5{0zEj{OB_@V-Cs_6{7sLMjf9cMxAt>0i}zLC_fG@e-{nBFdnC~B zWhegC=aX3NUQdLa1YafxoN1DsG>IG^70^8=o5@PbBfFyy`@Y`*OOJh~L& zDj)h*8GU7rf7n@lpZd(QQvUXv^QAxMd)DS#dOni=mYexLHhmFMzN>GD^3%(XEVJn^ z#TqvHjw*iz(NMTl{!L*f!N2e9AjbLv`hS{oa4TGrzC2kD^H z!-ubv<}@@m9DiwTb7Kzw2vE+74X}wB)mNHN%UNB6pJ-VHEjjoh%$#|}IY%)9U}nyV zC~lQf%ewzB8Mp_oUT;}3W>2L-Irv?}o|7GASdCj&boUHOk4F+qrAu5ZN`#bH3jMlh zw1nv?M31Gahn>n;gqdS8^|0xd*@{J&g%!uHt^!4Y+X&R^73IrR$S~RvAmgW$Jv{Y( zf|a5u!JL`0mIhrdJ3RF-KvIXNmfy{{t~8zD3{FRK zI*QXcrr-yJlmeX;ZW^p>6(+Qj&%4s&I6FEJM(@C7>aC$hWM{s(i zyS`1)@8LXw=_>s+_5Byr)LoaaMK42_{oh*`wtSMiM!$?+hjHM4dyUxs98NuP$dp`8 zkK*)bPLJUJ zNWmC|L>b9a$gmVDCR-uHIcKs$QW?otNE#zk6*7X6=?Y0_EM; zkLULrtO==Uho;b*%!hJ)vYAc66B)L~=A>n%Oaq5fG@i9u+4R3V(k3uV>O@kgD>R8o zS=QL;X-A}d&xjqVlqnrYD=~!}!-$s7Q_?EuSS~6@AyXL1RmcgM)Iu*v9!{Z zCrnk&W&u@|GG+AG?P({aj82oPOjT5+mHAL>oAr*>n?~%7|{F)0j?HN)8nhrxY7ME@2)^@tn&% z+I34A$*{(bNjpE~OGcoY$y#7JBiivbZs`?DTIpTMNTxNmEUhkO8I~T3d?AxHauFk1 zRXroxkhP5H4tO!!s~fbL5#69I%$B26w=$BekTyp06ta#H-JqAU0^OjOF*04TZDh8> zZ2a(*m3BEJx^>$bNl?gMnQ|j4qr!AElNH?If;(OC78ksgVQXwg+80uugqDfq7wwBA z=V@Pjk&#qtxNRw)80TH16rR+RXcy zq|NMMBx52Og|45O_F~FoM))Nqtn7Q45v}7dZXK^G9oE=b+MbjbjP&bDn#gaZyl=>F z3pq9I-INJ<2SBNRPmvY!cSd5=?>O)2X}Xs`8Dp)3hw5)AO*kR zYPVi)1Vw*?eX8KUv4<4=KD$N1|6pIZS4Gi7?!l5st%^8xFTe)7J^B}H7ue=LH%6R0 zhy^M0Pv-P^PN#5s0;l<$7I1nZrzdebmD7_sJ%!V0oKENTR8CLh^mIj_oG#{c38&|Bx|GvpoSw(&`J7gBx}4J*PFHZclG9b3)^fU<(+fCV!)YC-7jk+L zr}dn!<+Op*MoybJy_nNxPFpx_<+P2{b(~(p>3U8#aC#}HmvOq0)5|$+=ky9rH*xv} zPOs#2Gp8M#c5=Ff)2*Cd#c7h$FLK(&>D8QW{TioV=X58h-{AC{oOW}11E=5O^hQo^;`G~`euvZVa{3>f-puLuIQ>4S zw{UtZr?+wX15SU)>Fu2Uh|?c)`V&s?;Pj`Q{*2R~b9yJIzu@#PPVeUQ9!`JB>AjrZ z$7v6z_jCFHrw?-akd;FNE^ie_OqzvT3MQ-6W;nuWl+zfeDVz>>rD+Tg<204i5uB!T zn!)KvPDgPX=QLBL>Nspf=S?sKqcWzk5nYY21QQ+((5@k)G`yYQRF}!=<9-3k;lxO1 z-mEWZyRur@rOM1<&cju4`5AdLu%{i>a;cSZ?D3?FOU^iswwlatwW3a1U7L;Tv%VuH1ya|s@!WakmA4Ly@!ZD@jEZD>Ydk&`2=gD z&mws8#Mv+;--?pS++=GqF8mPRiDDmK9}!Q^#C>RsyoqGgWF>nS zm8E@iH^EaC{T`Q}eo1ugr+W$3e!9=)ryinfKiyBT_R|9dFSepo(c!6dHqG_Q%6P5} zhH_Z^(G?aiko$C1{!F5}DlZZ|#)^)CkXG<=02E`lO-ez|$@rFi6uvg6 z$T!+#pv7B*PA`BSlzFp#wo(2) zUFL+GjBnT*LFRR3#trs^FiXMz!6qvB`}Q>Os2Ue$eARv$7}xlEca8s@jnsC1&3+b4 z+ODs2j@qGR>|`W+B3YATMXB`RsdOcv9r`mnK0&Mhxm*36ZuP%l1P*-;;w)H}@qm3V z1eNz5WQS|yAx5j|Fq|=t_-(_ zBgK5Wk};Bzgkl@TNU7>%yGQk#i`60n-#2NV! z!8tsdjQp73JO%%QU^U{5{DfdN8jsvZu(EHYWfP)I8fi09#`cYjFtS)7F}o4wEmz1e zyA8-1g`{#2H7O*65p_a0a+JLVs@JQWgY64}Y*NT*dp(dV6*9)Y4B9p;B+Kpsa+N|3 zw|9VTyF!lTro3JupJU_(g&fDo%?g>!$n6T5!hvz8LQY`YdK6M%??5>ZSx2D&Yvfnd zKsRzHRZ{ux8w6_jn^axh1~*dMWTI!z1Z{XK#ULM6li7S&O;l=1rhZGPqphQ50@xaua-s%^lN%Y&$PxCzm5##->~aU8g`xfohqf-6=)h9j-`blCX2MG|SP8Dh%jS|+$yIdN$ zqk?EpOga9)HQi{DOq1i&govd1Ma9+#Pi)<*%d~gCb%ey$h!pj1k;G1hj-8(N<8UNv zk5r-a_ckpm8V*jm2P%#~R9km^rT{4#IE6T;9Sv-H!0!v=Bs&DR=Xl+I>J_>$G0v_$ ze!IK;)4r~;)BZyPrwi*zaQkYQfgp>lLs}UfF)Rl4_DPn&~CiqMu+6s^Cz>j+?luC~5NLA>2F@MYND9R046!a!V! z`Ev%{d)Uv%XbD9h<*Db5X9f3qHkePd0)3RTUWm~KB)a2UNv2 z?zhEwzXLAGCtms#QDXlvHXV;_RngmZRNUS^n=^l8LU0b_KW1er?Pagw@;(!rjwT!G$a@tQB17nOvk@)P9k;h* zK(kBnYj>Y=;C%sBP%P32IiP_zhANW)0@eg{pOZegVCS$Mx3*s!!}jab$c_n4kTit(}k5c>n^mab_AqR}cpbRe1>Xy@IrLlCEPX@<=< z)9YNCUJqt#`^9rO`gRyV4Nx9cXxW{DRpJ5(D77OmIE9zq#IXs21;b_y<7z7aEH1@~-& znaEaq1Rd2^dR%a?svDyE{wY|d&~orfGl8lac6fuhvyUMDV(c1d7-|r|h}FOloO8C< zIiEI&r=tdg3gYv$z-JT0T>}f^b$ztpX7nR&!F9eCT<>kc4Slp=d#nr^hT4KRVb?x{ z7M%0hw%|vwVo)tO2~}2e&1W$TT`{m0ys(cJoO_~f!3%vYSnqAYwSBZ;bL?Pf7-|dF z77VEcXMVOVcn_=?R13bS1wNZT*fOvdJim_?9F9Sk`{4P$7F_Oa!J0l=aCPiACk?#? zk0IH?F9l|Nwk_BWD+bkqH)(;E&txfZ!N6K@iKhien0fFbw4j>mmzX9LT&DgrHMjNE zlewzVckL?Lio9!A!j<+pvVyGaql{mhGAey#RGPz+1C)VmwMspwk1|ezY0B<%d}W+7 z&@#@DGUoSD2322`G2d6l{DGE%g@1y)X`k*XLkojb9pQDvO&E8}!i#*CF~v2bxT zsD;Z6-Q{FyHj_&To+ZtR)u4>Q_Zu{Kxwq#87iVV_wArNjGj@M1{Q2l)1B*g(?By)oH)z)$(^^L@`g|4`LhmOVZ8 z2w4!==cj1~ljB>*hoALNikb5VjHc?7E}G<=!lwzl-Pg=n|Hsi1k;8M3hV7m6PLt64 zI7%>mRH%ItRcE#6UmR-tSVORX#bfs&MEh~|0Nofo#T*;6VG-~AOr^zrVdu5suCrq$ z6A80Ab=T|pCQ}|0!Z~jYBnS|8& zxx&rq`hRmaPS;fv{Y5ts4j{OR{@O>+FoX!622p&~^heK8OekWq+PT>Jn+raVSqtVNuVyHWfr)Lbs zQ<2oey{`JS+x=rug+VP;OSM4DXR=UzEIObwt6M#7cqZgP?vAdf`VW3XwZI#v!HMgh=v~nKX(z6qM29rz(<^dnbiKh7T9s%s`q(=^ zHlgKksL;957dkhwhAHmj&M``hW#1gV6M6>kzDVj3UjKP!m26S}J=J{zGfLRRuj_k; zr@q&uC{^~(T-jA5g2C0){ z1s9So`*QQKJ`a0B8rC>MHWYL|dyR>8pBfA65Tc^bNT8pH=na24D5zo~qMN>C(sEdEHr3 zb%#S$-H)dlSE&57D9O@CxhCD`nhfQdz1fY$gs+ZvEAWo4 znD#f1X^$AwK3pKC{VgIdgQ%k3ji}=>oW0Oa`aM<NMEM~KAVm7N09+-q+j+l;ZoCt@1Bi2J8B|_K?Tptz83wfZc#b#d_^^B zpr5`Gxg9Ep&@88TnmHZq2CK8n#jz8H>t3Iod7(_K5_Eh6=@-ja5PHJ1OhQpw$@vtv$ z9yVsF{73qZld~MV0&!xaF|a5?(ckx2bgNm6EXU!6x&?GN*g^+Y7JT35xLXE{tN6H; zYh=#bZ_|F(=j}gq#(X|3zMaht?f`!rS-%h?L|{GPEHz~D;aSNPkPq;|O6I>SAU}YW z%zP?GlsW1HC7W>nA30gOFY*l8HRy>;zj)4XaQ5-lnFk_=AQnFDQsyTSvzIahZMt&4 zv;Xq#vUK17rYA&U3xDjLXIJS?<1na&!VSJ@WAIbU zc28}Wo7yg3q-*Oi%%C5dv$y+(i0!5WDsOz*=Z$|;T_`Zgel2nciWq_?rVhjtUmv_D zuI$4TD?YD1;V>vqTld!o(b31^|T z4D%xo$_|6_M4R!1ih)afHDBLH&D$g6q4J+q^D72l^VOc3uQ9!0-4b1Mhe6eRwW+z9 zo>rUQAh|!Fy)0$1~12u?c4>91{+M^2}nNXBHdJ zs2Dld=ZU3#cw$9l28#G+d1B?@JyGKEgcBoQLq}mxI1I`YB|cA-7*D7eDe;XPXZbu+ z+J|Qa1< z5&tYt%p1HXj`MiJiIIEH)1Gh`lqZh!dBTrR_Ql8)pJz_!!!y$&m!ZfZc;>``#K`o) zd*&dIXXcv?z!HRu>JA4*z86&kui*3}H1tvU!I9$?YH+!-lYBYHQTS;74GI!bJAl!V zy8)XWz-U%yzRx;_?ThTt-)9}G{jBf%#wj=dL|$*yhS-J+V`cq!=wT7A~Vqd-d%%aGSziYLSGc~F8%XJjlGY5JVR?#_pC(TIk84UZ=dZA z&3(2vH213?X@Qgqz5TW~6x9#1PzfsE;!q@9g{G}zQJ({0Zzq1LZkFsGm{{)H~m+m#c314Qk>8GcnJ2qVr zexvog{V=o*=KVW;bASSer_zs6Dc{fV*xi;!_K@$_T_|?W@cDkG&$oVjmalDQ`P!z? zCf)Q=x6QNpM^*a9=a}*ozaKBg`53Fy`UZ>7^~pOpe-C<|agZwB!PQiGrmaq^}w9&M|`=Ja|qqBtCG8@x7Ih@8=ZbP~{OTlgbfgj`~2! zCeHgD4?e~FLFdwKfa_x~x37a;CvF7&#EU6ejYN&qTLcQrJ&khZGdVCBTx*Y54P`VL zn2F#-nh5?Wlfcqi6f@|97@H>n=N#tKP69uM6*Mlj1y@QVD^O2=%zCUh@oQWuk)e)WG@H!cQL; zR5{Og4`kJ1KW(2}hx!M;dmtAsCMWF24;I)hBrI>Cu=5NiMOf-f$HAXYSY`icz|uw; zExC-RH)7s>5jxNsu^m^n55p2BWye1*zc%Ku%tzdQEG%zdKFphQ2o$jJtNxr5BqtzK zA~_^u?4nAVIfv|GwKr>pEsBkBzL z;de;Lvfx-|J*rP!&FjbLUuTqMNuDWDxZ)!4U__yd9QV(}j5EbiU3krkr@eD_y;OgkO+OM# zA64CPX4RzdETdsy_;};4&yiC5P@8_nHnOA8nA+aRb;VlP^%Xu~_-a>$jk999-dl|8 zJ=ePc!;KN76T1=q*gK}J0*Tf*Lpi$X|D0IJw_m8ToS;ll_Yh+L@ z!1jBZK-J)VF@emTK?y$g&b9`r!Ta7C7=C5)UJ(yRrOWYfXn)v$$Z(J&NbuE9-;FSb zjI#F?DUj@3NC`gn&M62!Wx^|7dtdQ-{8bTG%>ARiVm@EV+r1=>q1^Bj+3i%&iywE8QPTtOo82|>V$5@a zO@_1okR3^1+ncMJAm7jSW;EG_&s)SN${h89lFgv?PuSi}4{UGlYeDtH_Ak>0zPp(o zIIa5i51Uchp}zl1vV-5O(0eD5R7}C2cAK&Udok)^%uG^{r-F6)jjJF31)|8tCjF~6 zs?2(KnVI?^#ol=ncFn5uH&EwqRh_?)$n<+;DyxOeiKwhrd1p^mtBnVSKn%CHLcvgD z_^H+*#V~ESqdR)&H`F4jQ1NL)`7l($v+46V)~xnu2RMgW>G#%#5X38G(twjw@JAo} z((9n|#1_gj#ZpOD7X6=3+A{L*1l!i7c1NaVvG_haq)P*l%rvIDmA9k za5ih8P1X|rt$?%X--Rk=XFJNyA!V$goHZ!f1j|xAlx)J0O*pb8B&$oCLzlKu+H@{y zYQ?Wu&Uu0I_^t6sE?)sesc$dE+@o=P3kETGH0QZtE%Y~D??tJ*ETtEVB8s4MUs1U< zf2mwW(76+A`qjuNeUk*2TqtD%FGdx7D4%Ku;cT^FRVK%k2AUw2Hd&E4=Pj+TZ6Nq5 z(uq4FD1JP;9V|;$wZOo~?*?T_OY=&AG=(q0kK9Kdr=C_(XGNYMz&f9Y6@u{5s|XAf zG`Y>ILa^aA-4j$M{`ac}o(G_F zHj|~h75VaVDQH-3%#brrG~hwEI2@~N10Q^k3%Djl0*nk|AL_?**WHk~fzk`ZUPn9$fWP-$H)Vx8&o0Zg0aRGM-NM`#Zngpsw#@ef7Q zYzHOQISz{d4MKKP;d7~~#66E~LkVXp+pe2Eo_vs)f?y>l2O6h@B}ZD;e3wa(KTA2w zvP#7^EPzZSrw8<$tt*K5Av4c$q0m;Ql~XRza$O0aWORj-i|wPUY1sRf-coazSmkK2 ztVM1S%u>3tY@}je?3jbW8i?-kn6})WQOrwqK1bv-Ey>7vj%LMr{uCXRCfKW|STqzh zj8X#~{$qlNfXJwE2$r?NL1+wWz$j?lpa=gC^wYMg1k5{G4YIa%u7C?PDQ4k}r(3Wp zhf%;)hEyfsg@$ylfSWz)1pBICtP=1WhIFogH+W$0tKF-p7+l7QlZK{kLCCeO#T zm!H#5+o}-oc}sz}8kyc5wF1DI1{Ls=7fqIBaVYRI?DNUZ@4ha&}OTcgHrd9P4 z0eOm`aE1BN&(mKZ2yZ`4oT&|>UvQ&O)JokRsI#9*Z^vjv_36C++^?4&$ zDWE98wE3HMLEPFZ0}(6Q&NbS~1r!C)wmVc?d7s)&Fxn~v6m3|~2t|b9o^;)1sKe>;q26Iwjl2Xu}1r)iEZX!~`60wQ{ z#pj%;N@>$i3}FI3Wk}}>__QXeP!jCV4x@no?O_ybm~qbe0;Xw_(kR$y!&v1wK|w)- zE5+c)jUCGb6osU|vRg1medU4Gmy3FlMgU)bg&>Zq!1^g@X@#izwXw8XKyfBnTG1`o zOAe!e;!MRTSgP?@wSZ!xVie3VxZ=QdUn~ZTH0fF#;>W;nxLF&1y{SOik2Lsqhvc_l z04(|X=<96#M8FDoguY6!tz`n9qDf?TRkvVIIgA1xSDn?E^ z1(e%$vaY;aFtOdX778eaD@MWQ7$+|jaIvd3%DV+?aTo=3*EcwSJfLIbZzfh2&DZ8% zXQ~kh-KPUm)yp)u)Xlc41(do)to*>>nyC%Wbqx0hOuH`ZF8y?`k;Op?E$+?}pR5nb zJ5U+eT8Qd1jb#<0@e+r0AVm=?(Jh+9NTP`x3=W)k_zox?5PisoA zkg+mim3EtG)VLFkAd?llf86Yya}S}5S-hEyhC#B|h!pILE!MZeX>{=q3; zKq(%}pM*Wi&%KWi=c3YHN51}e`BBz8eYIx4QZi(uNzXCfKoqP_C^AJMU!Ye4IWU4u6;&VrGTOU;qh3zAZ~5J<;iOrl7nB34niUyNvd8IUQkj6_@Q|~PAs6R&TZJyxDJyW+QK*Aru?ev%0k1Tq#R5L8N#Wrt zx*CmOrGTOU;reR3AZ~5Ja20J!jka*hhx(f|1X*X(t&H5R7 zTp&zR4|E3sMJ^=JL`qm9)~rCBi`_prc9-3y!H4uSW;I!p0)ju$xq}wm#4jLO*1zi~ zhARPYHKa-bf2v7z#wzekV_4V_cB7VfNI%)3ztKpx77g{XNJ=^IvVfutUiPaBal9xJ zsfcxUw_l8C{@x>UcezdPi%Cp#St)Y;m?SJ=#Y>);jS)ty{;ReKBmv(rq(uV$&5+6j z6o-clIzukb?~#vmu})cmL8pga8o}rH`iYvxW6o-cd-H?m(yX`bxtW#DX=;S}Zk2euk zCE#R3sub{KO`@O^_+Cv554t0CZn1uH%T;P*r<>?EUL>U)G^c=~49)3R71F|@NTedx z%x=FJ(fTsrv>{q4a{ZVjEMdhAb4sn-h zC)b%qFBh;$lVVou?N@XQCat0`s#-%Xszj%-Vx8c(Uo5-Vcrg$LewI)__?h}^bK#Zd zLYoUHEr+W~zoqkZ=r7Yxn6bV4uiETA`pLw;BxSV0U@M>~!(c0_q}zf^K+zsDB>Sz3 zSf>SyBAVZ(7F~;^>Ck0YYw#NVR0n8+NyiRp!_I-~@*5%HE)5cT=TdmM5?igG7|8`p zHL`6hPb4q1u8g0MT}n z(N-a#XtS-Q0=g{=zCtIugc}pNfNsIy`*K0SB_eo+arQC+-MWJB%e|y4ve$Sv4CWS|; z=$dK-D+Lq(R8B#S>w^b=#Mfc1t{DPWr>@mZ3F_vvSN^sdmk9s0=*y;dWC zbQ6^wPAZa8CcG@5D1(>%szMwuibM(~9Nz7hW1>^If<*GtA=)W&{TL-Iq2)`aSWd@D z+LZ6=Cmkng@HRtQB;bz>sZ2oedDwB1<{or$e!tzN6**;{=Vy6)qN0@I``q+F+zGhF zkj@qG7EMwyCfEZGqkz9Lq$&abU`Xc*_^wBtV8e~GsstQqNaqTesY%Kd!45TyRRT^k zq`=qSr1F;=(<%j&8epk_{E#8~w}4`gVie4=u3W{8lMd5`&DKx%jz&V`xsW`u zL5gt8IocKEF9Y+FsFt__Ni<5hfOH^5G!cj1@;pBQch{FxzD3V5F; z(KIjc%bG^96MU)cR-N0UpFGX`EfpqFi53)4F0Zqc(a!0!$QhV}6Ww&4-Inn}(0~DiR&zUMz z3i!ZeWshPMY?`S>rGQdF#VA;3D{;azIxG-r0{+g_Y>|LcX;NQq zTp*2vg_3}`naY+6_#ItY;?khhIBKmM*DZ+D4txUQw*vSB;{Tmi3ixC9jEflI)jI$Q!K zjUN{Z*riEP>*Dp@f`~trae|3UQHFp^jdv>qbi5llH$7Z?^>pLibEV>kYh&rlB2vvS znhKmN;5Q6gOSZr5#%ZlzH`;52 zQLEV*acq-=g#vLVfo9z z=0jA=cn^|jT&o=)vPJPLLLV(Ovxr#9L{TQ@G4a55RRrxaQ~ zoY`N%H#G@^U17H%(j@&1cA`>PLjp}aA+rs3MFKV$PX}xjDPalqpP#9}7!clmTK6^` zg0fgZncKT%^;W3Eor%(~L@5*f?iO{jqD1fuC?%-x;`obDRDT)a-`kNwL?eAE$ghuR zer;i29ui%TX+I3MRwCEGrNR|vf#gYT5KdB=H_hx{Cg3}URQ0X~_v$B>^0&52or_JF z1!m$Q7dQajDLP^#a`4q=e~3tzmL+EB9yMR@9gFo7dsG4I3~7mg*Ju(g1cUog(Y4eF zRthKzBGx6Az;0!gf$2e%Ei%f=1r!BnhgaJLacc`6N1Uy-T&SO+(dTCh*%$j+BG#z^ z%b(Uu(U`)b=x9TSxBj9U>v{b;jHdZ-Cuw3Jar2;l7B zCE!{^S}I_ZM^>=Q3}cmmUpJ(s{@y5+f6>&mQb4IObq;~0zEu0lZoy78`YQ#LnkYuW zY8^%a#cahWm}7BZKQ9(PYb-7oP^{$G6GV)p0?Lia#~Vw^1r#F{qhQM&Mghf0#VD9# za$vnDCSPVut`JbH#KKEJx4{+0UKZ;iAJd%NC#3xC%>Xej3k<< z663;7h{Y&rL@e(F6kovAqTR96w44<9>08cU%}aD!h&@qjLsPdPNhkgU+^$K?Cx}!c z&00@8{tY3os7X1(8nOr$PcC(WN237&hxY6Xv?M= z3#$ZNWJrqzyiAkA159)!j9{gJqJW}RV7IbhpRCYIKChplTLxhgm1uGSMJ}YtMM_vA z)+vFAdmFz1PM=g$mns1>45?DUgEcAKFQO~z2nr|)FpUc6))jP%==xCGhZ+kg3a}^; z(5)*tdWkOE*i|8*D4;d5z;0#1(My!=H-;@1P!wP&TrRL%+2Vlrd$f}0jj}2MUo@mj z0bkLiaPNz*-HxDuq5w`5(5)-zebMz>qpMs%QGhj)fNotu?~ATyjIIg+MFFBhK)0@- z^F`OwM%Q8iMFFBhK)0^GegBlvwM0NsKv5yETUqek!tGkgZAMv@fIl*%N&$baN#PAC zx^8v^1r!BnNCDltf(?3Oz8*8^Yi~@>@icv7fy1)UCxK~WV5G$bDx+NjjEeW%3Nr-hz!mL};9kgzV)3+3K zj`rP`_0zrImr-G%_JTW4{3S)W^A1!7Ud<5IQbCYJqf`Z?11X~4hZId>B+*2b7#H?C zlKzV0H?&2SW7N3z=xzD9evQ9rQ+5OAF)MXk%$bPFOal4e~> z=SP=?oF9owVGTJy>c`k?bhBdC2^cG44o~pMOZ`0kg@Eviqe2?@S?z?6j59)xiu_C= z8{8mEU|NyZ6stl{iYz@(k2dplm4HVZQl)?=XcFx~1+LUI8Y+S(CfPbSUq3_lpu!|7 zu?7`Ti zb&0mejkaos>fvq{T@6OCQb19_ZWhF?E$C*^R%f)83n&Vp?Spnf+}eU}zC>%;sGp&3 z7A8>%Hw!3oA#N5aVTo8L1>F2+{L?J@yr-XtW&y{V`YjglbWI9(v*=1Qf|UY_0(P?? zZf!v~AFQ>E)6Y=H2$QIUV+0hr5XXp=u!K3LNjqe#;}`*dVo2u-xLcFL9V5EFWdth) z6b0-ULEPGcjuCA;jkagsW&o zP;2Ybh#M+9h^U~1BtS?AAqymkUPCq_*-UOAYykn6x`JEX3b@s!NVO`p;9l#l)oR@r zw7Ar*xYT`l&za|Yp6BG;dnxVvetv)b9wjr+_c?Rs%$YN1&df9SUJAS1x+cJY(W53N>&=4yvu~waY4Z{$qED4 zWpbmrC3cx`J38PtO|rtkb(!2~Zi!ts5nKw9CRMW#2}@G5WTjjZHA^WWNv7s?d-*Qo zk4VX7NcJBAG*hxs2$@{X!t2?fV3}lvfm5^GXl{vW7H&@l+@?uZ7&tY{jpml9X5n^6 zz^z2G!hlAGWHqnEk?|&YY(<*1%Y;Z+QkO|q$|dPCDJ3N7kzolVV;rh23z||c*+l_V zDOqWF@-7oz%|XF3$qED4WpbmrC3cx`YY4baldLdsT_!i0TVj{Z2baZ2ld4&Wge9q2 zvQjRInx&MGBvbPiph1>Um zWYZ)o44j(fMsrJ4vvAuQa4V6lFrbkkSNeAr%M%+K-Z~=9Rb?p2({*k=Lwbyb`y<-$3ie z1ieP9;Ayy7ufe-%lD|xAc*3eSHwctsRWPcmfIdAD&xe-B#&We#_ zMJ_^w6`mv&hKx>1WOR~m)8St$xofhp`b{7xY0NT9svOHMEfUBj%m}iq2nr?gbCwZn z*^0%OWyM%3Uc+>A{u9x5WD-8f>XK(;f^IJsvFk!evdsZBOR{YNR4mz0bF-wm4~0~c z6{Dq>6t->uvrzwAb&DWeD0jmC@=%P)+`#jcOSV0LN+lZylzcuEUbBLNWs+?IL|$y& zQn}IG5?!uvn-*}JCRt%X+-^+DEz#);x3K}Y63GfT+P9OemMqb~3NN9iJ$cFMf{D&F zv0!Dgf{C7UTVLOj()uBdluP!J0IHDe-vRl(BzJoREw7Mle?ZB*Qz|_zsG&@I3%lUNHm4koqQ!;j+EjF z$@bhu^m~$I^8xuflDktvLdlNb%`fW{%H5rP0*;bBYFowXAGyV#`iU*0Qp-i7h)ZSiLPcP(^W~JD`_`Pc9NAwbIVGSSi!7hDkw=} z1qstf_WdU_u2Ldi?p9HHDudzeu2A7a2e zLb>S$&rRibK!r&ZB~<0v~L+OHS zD9Kq}pF)D4qgIwg@=B7kx-L#4iLLZNR5m!Mv{QIT; z5h-w8*V##0lgw0hq&31=%!4ZUe#v`D%p#cuNH2&jCToGX%+Y}psF3WO&{-_&Iv+Qe z1$4!?A^UI$N%rvos(2UK_XFre$$k+)#gZKlUqfps$;JYxShCdtR4&j$*QhK=tKM@o0_yHnbQ!{OlFe5LsLIMst??jzr%m}iql7vk6KzWZN zC5I;2X91CMU$%6u+=;gFHS@_n!zVn2G>IP-$(jOlm*Bw1bZEbPEy5xXns zz+%as5kN7?o*h8Nl9g_tg}O9%4|qBzT`CM2O;2Pr-MS4cc{lAyJn2BoEU9)Z zJMuyzmoOv9vP$BsEF<<+mJ?%^RWhF@yjG(twkx?1ZAT^{NmiFU3p-{9Bm8F}+{=Nz z6ifE~07@40TMZ=n@}K`%sQ+%+5n5hF5=USy@9$_;*t(Mvo09P6bTEdCEIg9-r4Y&D z$A$TFa|Jk%o+P^_7?4Yru9X|9A&EYPe@K!ruB0|uMmagx?TGNUBpISDm&7)0DYi{p zESbGZIaw6age+NE6w<34$u04kQOw3+7n2TY5T1iSyU1X7JObH}P{f<#g} z$&4WkMfjvPW{HyYi6u#<{~cZ{+u^hQf?g0`C9Jh%IVEe{q@QJw)uwDu5z#jZdr%@0 zma-8t6v>`~XQbVE$etfUQqZP{1SIl9v61ls6qD>~Ks2iFSZZ0weaLE>WX}p%O_!{& z;$8W~cbbX3N`%*>fLEzxmjuu($!hkAZ@jTWj^I2&WS2-hvdd3&{bF8Z|Fwcjjig-3 ziXwK2EL8;rmA381>bbZ_$Wb1MRC{RxYQImpe?m78N5iC{G=?QBtf(vQO6ZD_smnD5 zx+)d(5S=9nb}S>_?hpx14LHRlD;&MZ(xq$VCS)H&i69w@m3(fn$S;>{eE^*x+2&x~ zpX@U_!b_-W$6T_yVB#D4#Dde36-+czDL6I|wM4Q_0aPkkEkvS43NNXd)<%-m1(Te? zKuu*qjg^uW26U=nmgF_F#B&+XME$P$CsML}$@UNUmrC{^Ks=l# zNWv>&8&y=;Bao|7vYJp5X6hly>Vk=*PYT`^)L1E5VZftL@|s!V z=qm=3Sir1YvS$X+Ov#=HD0zPfuSG$@GRX=9+EJCP=9Sn*!fRf@Yno(*0ewJLvYJ<7 zuL-Z3fLDoRg#n#gldR^I*lWTo9`LG=tT15ZOI|Ze?8$Ate3RZOU{)^K>;Nj2Y!0C0 z$`@Y81_jF`s|zM-IGvh1917(w9s2?*UXM**5|Cx|h3mL&5~#)Wb(MBBfbPvR7pIk0@A{>~8@1 z?B#BDz&>GJyeffxnXtbqU>}pLFl6>+YvnFvpAaJ@vY#gGmj~>pOZICe{j{}mw_hOr zbjc1-TAa34?m{^dX0b#$N<@xd1#--itTc?9SrRn!zK~F|BBD26C+x-4-FbAQaVtWiFgkDPwZ%6B60~c zf-I{f%a?bc#Lt3}Unbda0MXAK6t9(=zEC#aA+{y?9tUA5{gPx`MFgu16qeAtmL#bf zERpVJt1_Y8PA6T4#=VF%iR5!&xH5W3tVzM3*@}k_wDn8Lg@Nf$ldLeKk4uSH5LQV( zK_!f&6t6gKv1BjZrJOjz|5i#Vw;hp$Bw6+HOvEPTiqsndl@v?%&H$P&**^tPv1CIn zB{<{%xjNf#52D(zt^`LXLr&(1q`OvIJa7(1S~3`%(#2 zG703FNKUpVf}b1crdYD80;v2VWPcq%#gctAfTm0K3K0Y8rPX{65~waGRBJLBta`Xb!}sipUT?4old(0z|I6ZKg7H-T?Ox;MIHKcq!S#Q>M#{vo9Q zD?c$STVC)Ttxw_{ncgFqn8mYA!o36~w!ZT)W3EOjGwBB0--dJ}Qd?f;CYc=88K;|y zei7)FAQi7~=~L0|XnmrGy`cwLBMim8t$*r+{-7dca&Z}2b+riFz`JBseD}5(x;-c z@};Wp3-Hg_%jayr1;N%=1-f>m_KPko{X?L80jd4|5lcS|UjUPX)PBW`rN0<-zeQ@l z`Nz`#1iDOoPn7*~Cre)ix^|@YTe2+u1E6~j>5E9^%gZeNaroZuDM(9@%J-UEdifT8 z`5OBzpqHxa4$cJV(XJ%xcCtDeuh+jIm6PYqU(ivEWP}Q(+_x_wx3TSKk8)Z<=3!I23;*u z`IRk8Z+|%b(fxf2`8DmYao^{cwxoYAzs!9m=*~wfzxZuSrJ}nQM2?TZ{|lsFrl{{7;5$lxNS3dWBajY3ItFPz(qg2gNT(x> zm@5Xn4rwFOE~F82Jqi2`q#q&u6zLa8zd{-@SNj1zupH?FNFPP|9MTt%n&Ocs4c#X~ z*WXh5_mhDyN7{LikDr6|Mx^&6wOl3~=p(a`J`1|Hk-m#`TZ;0t5BAHiM0y$0*O1!! zgnk~LcOqSwf<6`9j@Bn~d<6bqApJ5$eeVF@QTqOe_$|yuT7mQ`q_+J+KMK!BBRwVs zeJZ*gtxx1w5B_%`-I$`j>w)hm{oA1Laj4(Yy^+pBYTGaLU!vUCNWVpD=~L0|Xni6_ zBjkxAotHwsTHrfMe+}p#Li!TYeFxZ<`1eA;5p;JU-GtPZN=3J$^@$t0+cSklOaF1HK9AgGe7rL4W&yN&f}ty~F&Pdm;S=(xFJ>NUeOS%I^aD zOr(8Mlut#sqxFkiE5ZLrEy{t+hzu>>c^Sh8{$$3=M zfK>GNpxk{(A3|!1M^e$Hs_!ny@c`0ikUo#}eWYI_{Sj$ogss`X|Mb74&j+6(q$NmW zNE?y1Bek_I0=^vSok$-~L7$FexCbE}jdU?m%U|gC!t=e6{vri^D!Lu5Pvkfk{4Yj& zX^Q$z2fm~98$tgG(uyPf7SBa`7SeS{tv>nyKMd(mq$5($r=rVCK|g&De*biCS|pN| z_Fd+#^f!(2bSOWPHl(AyZAfFo>>>5l)k8W*kBW^NIjF6+W=>UnP-8=LN9T}HgO40M zY)C_Mbz?_OZN!n|X2|S@czbuGeL;7i`_roSra|?!&9!X})sex2h3Alts@4V)fhvnc zX1CT2u4eU+NR*E?G{z2Up=S*( zlqJ4Yfn@y>K1FR?TQgITKy}s4aTeJpCL%wtY9mo2k)4Rtzr5?y(^e0v&tEmQ^4JxT z^d4y=GS*Y#WkmaN@*@AakpGP3KS%MOLjE(|+bQlX&qzNot*G^0@0`w6-j}`BcxQJ` z_P*&=QP9vM-MeK`ba0O}@3|h)Rqk%NyBX}gyLeM{@R!6RErTAo)ca`hm}|V2<(26N z?lFXXVGMr z{=3H*5Z&1|n5s$3@SaXvMUOmhK{Sig0{)ZFe=143cNa$odyk|!fnQEr@3qFgK2(kO z+Ts^ToJ+lE{55akU|*a<@76`ptipjqy`2Vor4?TPih15n72f;`_jjK^5N4k9vj6y-^h_&h<*`h~?|vnnL3F!s0cRC(!K;-e=Jvm4oUl>!Ss%pv99n zw+~s^@1l++^l(f1WWuglvVKn$!FL zZ05RS$Ox#hRF6x&tr1_Z(U(}Qw=AtVwqWFhg36iEAuCp_T(M&H3h&hTu?1Aq9;8Vx zHkoo+@zuvtzI_elcN;^wrV1)R?8qdzdN0FSf>WJS;%Wv{-a6Zv#3asawokk^U{%Sv z?!*}x+<_Sx-j7`*Cud2Q++!|#?c%`!STU5uzF`S>;4A6Tx@ZCGw;)>J;OMl;W4{>hb&gqCkbP7^M@PrJV}}(+5A+t) zdAoczWKhA3$(7MPDrX*BIe&9>+~oRb;aw{$&#Z4R*syG6hCXn!Vfs>oPFSuf)_{_C_kk8`1d zI=bJQj^U@GzBy3S=UvpfjC<#$ale1oRk!xob=2}zY0Ib2y!2?-=VVIEIO8$?>-yMr zK3kbLkpDP=uBM!`ii|;=>zF&Clb@mNJDh)+|2V;qo8wF(%7r{9wiDJ_$3(_ld)))} zN51n3o9ranZi$TOI4YOH;$^HHvUbH1@4h8*?pH6moSNqhg>LHR(9I1?E4U6aspxvn zj9p2DFQ-K(M=L9jt*@+%Rua+g7f<$XN#E-AiMnx@u_hzRT1fLUH&K$#?MrXJJG$5C zS+_mrm9MAjHYKT!ZSuOM6>I6yYmsP0bm%c-$=uSs+ZIPxd2go^GI!>~Y=8fVe6~6| zbRa!l?OXy^-s|5twYS`L;pvk$P?=vZ{Y;$RKe~9d{3eavz$abNtPQuUxW(ILYq4wR z;OH1`BfH`B_J-(iZYYhWo0mr853iha5)~XDr*i*@MAzK1`PN%DZ@BY>Zm`D?Krl8=~k>PsPuN8?8P@tS;5|G#p=RIg)_aH<-cCB!dtj?MUV8esEYRW z-oeqy4W~|-J8Q{_G2~d+bmiibU7{ zJ3fw{pGD8Vr03q*i+QB^kN-xGPj|(?T~y(%?7_vq;kgaZ-wKL>Q^kMui+|z$l^);PW2^U!Dtt~_bo~=fvhb0D_;mO9c6$5- zKfY5vzQH{n{<(L z103T=5Z9->2;v+CyEs$HzT(oOcO5{h%l5{Zgf^ztCgvy~vt4ss8!} zO7(Yo(e=@Bouk?BsmcGNg_uw_xR|PE#nlt*3%WP`!Ua3l^hZ6{^gnac)$~uz{9xgu z()7o?_1@0h^tTss(=YAGO)n^nHl4vee1?-aSr4!ExQE|f935kO_<4_ec>QAT;pe@< z*UUP6Tv>eFDaUwUQ=Iv$UKQR~l%Cn^(V`jNmz2ApSKRxwa}1?phETaHs0-6*U^0)( z7qe&kfCgdo;ERdNHKV^g?gZ}*Dzv5-1#^|&o1GQjZ;9h8RQ|VAenn*mJL8`gaXA{D z%ip^-y60nqj`#jTg!lB?S~m8=d8=1NoC2H<9iD7RDHE)-@rT zo7~+47aj22ozAg+I%DaKrE?wWTuj|QMnZqQV5?ZpUr8BtaqkywJnt@GjW5rL#=V<6 zqkX*>d(oepsH2ueqpSLT>Hp^}>b?0q29jCSy*-xGlRqy?w5ZQ}a8I4Lh%M^#9)quT zj9yL2=yAvBk4YH)z6LCPqcA*IYQnyOY)>k43i@cpK+W_Wl};yQSHS3*AcRrk-wT_M$6tQ_sQo zkSo5>yN(E7rTFyv`Myi$xvZNR?ngvvd=gd)OvjtDnLUnFjSPhWps!3-iy%UGUqH>K$r zRIy9Fm5bI_M(<`hSM;pN^*Spq^@^zU0V`H-$Y+mo-J&s@qx~nYCW2>sLIAsjwKRli?D!qPde6p(ovL|}*P*3;v^?gUWciE!lo9~{u+S@h#h%}av ze1X^U!mAV_xdHqJQG4FpM>(0re=gxaX83P^sH>6hJ(x~I>#|wL(0ZNts5xhAr=D}x z_o`UwWzzUvFsAaPA(fThck|Fe?61VAD!7Ag>*;0~Z+6tl=qhuY4@K0<8x}_Uvc7t9 z>EF|om_~Ews!FeO`R$do@IKbtnHGQE)`b)ztUb1%az(VBD6Z?d+{s2|GQ6u7uHuy+ zhi#Yjq7|3-KDp0F(ki?=yQ1u(uX5m40-s1@_HQjF|8w?EQHl}0FXpkmzwUy%P-Y6w zIV@b^!om$bSEcvwyCOPn^ec@lby~(&_jd^Y9Yk9Pm6gkg$LfW=o$y^xXNwD2nD2V> zAX~98I_5%m$G+h7h3o;pqw&+e%Ih1gThSh`Z#vq0cHU&~R*GGpp>)Gek4~xdo~GQ! zo#KU5<};ee)4X#t;zK&teopt>7JNqc7iEy;o#1@j=6R`{ zh=OJSjwlM!d(l4P_~Hq%;*zNoV`Y`ad9lJ7WwFw{iK7aq=42N}S~}vf*;VoCIgwbb zt+AnL)W}#o!UZOj7v;ogcP`f2R@Ge7(iH0$F+39MXzpmQtr_kp6wA^nVVSyy*|El! zmbo3R4$GNXGPS%oR-RitGFFn8Gkr?w#7L~Jp|Q5PML*9k$}1Zc8=qg4>(D9L#j(Pv zQwykMc2RCDH?J_SEH5@byDVptd+yhrS6UV;DKCmNw$#UFchtq&8y42O#}i^Dxl@Y@ zD_yfy0d9Zk)SQCY)Z)?*o>rb$Qt6lDMmIE7IRRsHs@ms-aQocqSiB_`uWpUCw^Yw{ z4+`^3a$-}a=H?BLRK?>})pKIJ%^7KEhE92Rw5h5!R^3)x6|araPG`F-$IY8il9x9# zkM>ZT=f)apBC+u;EsgGBMQ*X|thTn%o@gjSyrHSKjka4G;*r+2mg?Htnn=8@s=A@M z-qC~|Qd$sWJ#+Przh8f(s-~u`ojSUtFn>y{i2mf4l}2Lib6VQsq`nCEKe4W9Y33%h zH@C-Vi_~#0%r7d4P0TBc73Ecw#qx6<=i26~*^RZa_IMSws;(wh)z((EAQZMe-WG4^ z@SEg}$(NqU+u|fcZS%Z_wwC6Qo)t?Q&$0Fe&DCT+4d_WR!@7>>07LlI)zk;;H#XWw9A0`DNMT3-h>_YMZ1NT&r^P%CgC*SXJmH>M*j< z#;W@ENCRzblfLU(BCYW@?){EYBdw})CgtVEvUAG9mbA~E9jl&G)m&fen*+A2Ng<8Z ztqZ8_Ep>GmWnq^oQ{v&r7UH)gue_96Q9^^33^%)^B)ifHJ3CH&+fr5I8iV`8cmu!A1?|=G##lQ!m*(2}v3XUE z9e!u$6>%rUO3SjzF6Yuag<7KOXl*6?Y>%+f=9k5Cv&*t0EL&|S*}khc&=qTlZg_Bz zLm&m!)ga%{T*Ct~6jSxloZ70I@WJfXwkD@jmM=mruZz{rqXtR+MN?Uek*3-vRu{RQ zrdAq;(q-kvBwt>P+?DSUgMl+4H#WXfMowsGvE~+fVH5b<>N&Nau8tc@|NP-k240vy zo-4`C8(%&#EZSasD$NDtkLrBC!nVgXijS*ntF0yX>v~h149VfEi``R24HN|V&D4=$3DDC+6mSS&t==77*pT)&olQdIv{g0H>_9AhFRTZ%Hb#FyW4zK}&M8niEfQQHA-XWs$i)$EJ?P zc!QJAje1yCGx;g1M@@`0hUz(5f!huHmmAvBO0({4zw4a`;>T*b8x<>_N>Pssl(=_V zW}o7sG-nO77qIoa5JaA}I@@gZM+ox@XB=?N&6}Q|lNV{NiqCNa)Q<+ayfgfoT8?X6 zv&yn*P?00^<0bbrn0I3B3)x!ey)Z=rPJ*CaY#QV%X$-W}lu=dh_hBdpG4;oI*te>S zDBf&ycE}M)gy&Uik(-iPL{~pcLZ;~t&7fL8+^DWm#d_ZsQ4#dxM{eX)gV>Gyp__&R-^sHc)ycZyF@V4?Y%GT+ zZaR)tH&(T`L%d)HEi5UIP0FV4#B(JOMLTX<)9z_dCclURV4Ae2mSj)#9jhB=tb(@M zI5`7)gWuX%Rb3lnso9THEnNThq~26>q@8A#@_Vs?9G_ z#bH`Ct>_9Tazh;jg0-EFEG!!?6!_Q(xn(JkB>8>(xY+iTrJ7u}MlJGG;> zO}X}Va<>%p@{o*#u?h!UJT9?Jb+wD1sVvPYD-6Y+%U;Vl^y-$Xwswk{R5-!r&I+T+ zgP76G@Apn#3C;bqKnuBWSmhS49JTQ1qt&N=DuJAf->6L;6v)@NwAAq66d^+sq^Zt1 zzx<*JQ#pv8kQ;FeZQoLBA}Us)qebNB)taw`qKCEy>RR#y9c^m0$L-){G$kF>?ZNCz zgw?)rv(9-|aUJiA9}GXyp7lArhV*0Ta22U7uzR<$S#fU%Hph$U+Soi7<@yVJxG9pV zv9^l(o=KhIVA&WH*o^{3Pld9P++pFf0H|7S#V(r65g&J_4rlYaZcQrxn zENUYi+TwFz#X?X>+B6p|3Gy<;}-m~`t4o%D$0nD#z@JB~z zZ~m0!_8M{u?QREc$|%`5u$@htcC;Hsw%5{D(;lI5=_X${WZAqza`6@9TWMC(9$4my z?#=T}&0!P)l@^STP0uUIrKs5TF~=O;qd#Z$Y!eim@{|&rOE=CPhO=2HO)w@X@^-sV zSc@X?rnxy*lugT8p6OjNf^Rb8&?<6sSUbet7DdT3#l5ehuw0 zT79`#5E~25sKez>buj(;!2vII+=`XAXI!(2N!I>aHOn|U^VLoYVv`}k)pqe zMLgpzLHBa&W!mRfh7BpD$t=6D&`sAgQ*%XXdD-cDN4mog39wD7v`cHAMvhI|YH2v~ z#t$aBlBwhKXhENy8!N~wQS*F*3mmYpK(rTjEFI>oZ6jBwcd4AbHkkMQJTJg_-i#q& zVPTy@%{0#{fSF;dGT07s3+ur7hmy>tX|a7lQ#(0#-WvD!LW03SPAqlLiZ^vWRPt+F%H(b=nDCZP>XYK*9L1 zQKTE1l+;Q(d^DFgOgpRR)H^|F+H=+r?(2q(eJ|olhM?4jHJB?*_0Y};dl-MG!W1c> z(&O`Fr9LB@tb~2fye4wM9i9Fzqw`G?W+n_zyBFkK25&o4@Zwh%%tme&9UdD-i#*!l zY>RQ=NNEt}xd6#U(6M&jS`Q{&-nRi$+_cOjL7&iiyWDpg0pxa7 z{2gwihVDDx?jagVHZN;h8us*mC`j0mez+wuurvPd&LW7#C2|U6DlaN6rnM9I6$VH5 znZN~KGE%AOVfD0A%xlqlM6@*XIx$>v8CkqL8J2L%W)s#n`@54as0~zn3N4CgPmXpq zSuWQe7om_Dxz2JO<=%i~1uJuY=MqpmBanH6h2T9`5-(iCGih7Z{FngnQR+i2755 z(<#UJuHiu|gFg1Xbf7-gRmhQbA@d~nCe13eee7Ntx=k}S3AS|S5u6=6h4Wh^*=G(o z2MTGfZKzi}cRazWZDHOyW0t&O)@|%CU2C^U)hUo2d$8Az9bsAZkfzO^X1U8`x(% z<;6%+Qgovjp0&>}?pBXYQHahU_0tlF%TEtqIn zRk;1b>@t2==-$f(x=p^9=iCAX1!R2WnPV|$lQ~8H8p8E{H@6GxbpD+- zKIYMeE{_A&%y#zoXk@c9@b~D1-tA2J>(fAB=W^WJOn>d(>@S;S)g*8Jvi%56S=vY* z;>CFskn)%)?@Z=7336c2Gref#Zf{yZIn! z5Y3Km9-{Ru`K6$vuyiB+(hKc?m|KrmC~Yk*YK~2&UcWo>0t3;tW920F$4AJzdvH!& z8b0D$xsN;R=yfX%N!lJ{iGpAv@X1Quqq?b^qiHf7XUyb|tHWJEW`ehd;fWE&hbGJL z%s?;%65dr~c}uIhyzD8l;_Q-Az1OQ|R~ilc{@iWo2Wq80pn+7=G9Q~>u_D^5pcp(i zFXDGSt;*>$YR!>}MdevJqmRyVpW(|IK6Kd8Lq`lfDr-PCS$);)Djy#-ENl4SVMiU7 zHHcmgH`k8EC-msHs;zp?So%!hpiv{U2GwT`nmRmd5HTKG-`sKZP~X|pE47@7bVMO% zYB>!tnN8g^#4lBXQy!t!L0P<@quohArR05&2zUO+1YiaHvb!o3@}W5RnkT)Pt2 zSy3Qv`2L-b9nj)xe0hFhF25jh5sh0jb668Ji?=xG@B&xs;(Lr^=fT`-qQa@;vkTqv zDOHH9J>1pfK}ps+&o_BzfV}O;ZKYi~w}K3+<9ZM{)AAtX=$tHXk#|S=&_ye+p6T!k z{1I>4hUK^-*lXZJoMiKc#zw`4I_rRwr&X3KS6DiQ#-;yK1fwPB7vKH*O3$mH!&+*F zCf7M(QL3qh##^=xmkQ~wIW(Is73x{ihO{#!^{V87Tk!EDJ zLvW&Y=v~xQ<9C>=ImW?6IBF))OG@5~!pm^y8}KH7LTNsqSCg}L3&YlP<+asxbc;Kw zR*rFSexQhMBN4H%3xR#(tc>?gS(saakq zk*7syP9p-Z6|g2?;Yd+_yh(3`Xhw9q1$-7Mh&4gvVk&3NQ*-ktRMIw7SvmHg5?v(Y+Vz9^LUaC+!N!yFcDr%b7Z5%G9D5ZU2XoQea0bkno;guZY|n zzS3x-)lBjju=_?1ZTjUE(eZ~4dX>}C*wNG+ajz>#zMw_q`jf0)y33tI8_-3u;xYUOv0LY--@V?Ma<*%{RNHg{H@LHU4-HAXttCLxE*aI)q}`xw$0~ zKUjA=6%BMqtj!6BS7>1|a#`9Z`~HFFd^$gzpGOk{{8tH`66Ma67&?e2`2DQgUUJ(R zp+ad$aily*A)=c<_wm zkzG_O7vgLzR4JV?3{GnWOCxRIZoDWazF~k|>rrh0xfql&XBv3T2!HF|=XE=G&Z8}lmNC=)BdW?` zc_N9qclR{el0G8ccQl;{G+R)>7QF9csoYUrK7$`~r%h}4kR%;v;{8vx1rm-`KHDB> zs@sMzB1wK2sL2mdBx+>OBwKmB9mppjFtl@~me7%0dhXQ0JY1FX*#P6>xUZcn!E2sC zpx_;w4#ly;W*x)zI6Le9-Z=C!MO3pND|cT%>bIn>uQ2%p!H_@s_-`>{Q_2g=@?Bp$ zZ{^DnYEHJxY8vRg1-Yf*oVrtr|49zo`;qT5iSWru^ar=Yh1Q&L<(xDw0_wI8A@7W- z(cR~OB3{OI>!r*0wLp3#6>X<&XU=Y!CtkUHWf()bfBc2WJi?B z?d!JZ?gVtlPw+k_92zBM#U=SuBaw+YImcuTpnZ?Sc5Ktb|N0&JdL(zHEi8$ob@oZy zXO~{lRrDQ0xrEABAg^YM@tJ)tNFSfM_xWC4X4ZK`Ar%;(8Rf4#tl{!>b?~3;%swm9r)RE9YuY)pPj+Uspm&u^=}{s5 zTg5bVttT0{&hxm=bG_WmtTTEL>lHmGXWpNd{`St91F|!-vZa>1-syP+O;FIJ-jPYf zVhjD_t50`+IRU@Y%xBWl&o%sVdZ*9G96&@t4Xmeu%!4lXRcW&_`;=uyBaG()Z{dft zGPBZ4GNas0rd^CT}xYG%x^XOkB zH*;M2DLZFI$M=pLM7NKku2OzRIzA(vL|@@e%`9G;xi{UDrk$+YKsT1@h({;k+|N;b zA=6QeyFMz;99QF)<31dK=P^7F`KOQDS!&4Z?Rb@e_BhRJuFs40636q7o#XQAHw? zx$O33nVPvJE&aL_qHzBdg4Z18JCRI0{bbUvFXJ3MJ2`k(5jcxtVM z96WblBTLV7dFW=%3Z9?!AD-Wc=l#3!FAv)ED4yH)avyKSvxm8CGM`dJK4l)c06pLf zdZ(Y@oJ^iLnMf8DA4=b$##aH`i_^~^-5^XKPsxPdZj6cU?*`2yJjR{RnnE<*405CF?GD zd@&}!H>9yWdhvruL}T&`Yl5*}$AIqtR*D6b7mOwaxs>XZE|L7`Z-A@ z%kDiXDL$chS%A~13xcxj-jM-R-S?>b4zAmbLvcmF51n+y$Hl&c{Sx>(O8IiJte++B zaIm!pKX2JZN$YsewO5c z1Hio`^y`q4?Us5Gj-(PVFS1J_NQf7~k2{&Cp6^i&%JjP@U<`PXekt%hQ{ecKA@kI8 zvu<~gV{zx-yTdMaPKGZ@LBBEuer^i10M>LK8`THZU){8+^sPPzmM=_?R_W( z{ojDw@%2yOLwVsxSFWE#`1c%HKg)o-^#ncJmHO57FHCw4=nnus4kmpv@FRh*11|Ja zf%o~DPbl=wz*~U}{YAjH0C#aQ6}>UX&fqTqkNn&xbTKGp-vNFy z@B_f-Ti~mJ9}0XovP;&({RSTbd>ioopw9)Kh2OIh`HO)s1McDjDl-ds@jgBS7oSu1 z)D-xcz}I1u;}F!#KeFoj3%HBb>DdjyhwkSSo&@^4fUg2B`r)5MWj@=0yZD^S@Vbog zaXg{W<>pgL-v=JaVifT;rC$mEEJh;{7fVyR6OCub2a0!bGT{dR9|}df*qHFqz#|9K z4P6q)P66J>;8no04BjF94SqK8aloZr>wrg~V8QPMe!syV2fhr3BlKH@{{Ub9)BPm! z74T<(i#_bt)7Q_s!+b&)`%(6nz=sa;aTmi;b|7&1UV9gh5q`AbJaN-?ho3|WfNudV za?S$2Zlq6`MSj6uv=2!i<96pKl6)eWcPZ^_R>pW6v)j8Jd1;St$Y7deFPCsogQ)on z2k`PiK1YZb8SVvA!ci|gbf*Gw(1W>z-+SPnV0GW~Eyo{ucUA;*ul$l7m6UG4ds+>-xR;jl!;b&YF=#Ch1^Fu7r7%(ocUg-GeP?dGXJCTc;JAAN;=d0LB@s%~j6m-=l)*h`F?%kB>vF->D>3@nNkjx*NuJyrN8uw6t5srJM zNmYe9?e;N3rgtsk&sA_M$l)Fcw@cxO+h6dSGeZ$iNZCX3}!%=<&zDZ=Wo5ro1pM0J;QVu;kc16PWGpN zB9H9RGp^-atoUgDrzxEI%XKzzPBedx-}vH{CG+XWH*}Q&XL_xNdWC1vGm-N=g&&~s zixsZrzgpp%&z-v=Kp7f zXAwVX*R#NFzr3dCwOzfdaIMcz6t3${gAvPk!Ez{)p>RE3b^~thLH2|h*ZlJpAI=K@ zB8BVmQl5hU3kp9(>1Q+wbG;g0nF7Bj1^#oahb^C)6!@hI*Y>a6;a<=}!Z0+jXv@*X_Df;abmcD15Mz=lvA;Ckof&W%u2vFkLLa?w3P>TRDd-dM)SC z*i@16b%f&@i5#bJHpv0NCj#esHJ?I-Yk5w<)}iHpvch5Vu7(ESmj7|sC$;T;5)%{S zL+GE_$?khNb_x2qN#S~29E|-P=A-+oUg6qKS`@C^yIA2_N}h9o+kUxJ(QAF)rf}Ww z4=7yM+XwqiR{p&duK5g5xaQNTaIJ?fg=;>m6t4MfQMl&wuEI5+uNAKOOoBtU?J82Z z=5w;bHJ@7*uI1UNaLwmYg=;?ju)k*I`MJV1pCc5m`E)8=%hRQB&1aRuHJ_IhuKB#7 zaLs3%!Zn|P*uS&w8m@57Cs*N`Pbv2GET2k+Yd&)ouKC=daNVwdDO``oFBPu&cwCq+ zmM4q;1^xlJ9gq7edOaQwQMi_Wu)=k{?|cxhquR*Mz^(nXDO~IA28HYKxIy7sp3Mr+Qu03r zT;wT+K+h|B-QG78uJ!z`!galcTp3-qzpAnr^>NK-UY3I$z2@_=!nGcL!HuVj`D;Fh zDO~e;Na32#(+byozE-&A^Naqj+5|Z(IJlw9wzos!n*SLJ*Zdb8c+`B86uWKWXo;fLr-5R`go_ zH44}A|5o9;-p>@S`{mF>xmA9<^sV#q!I1I!w`P`TwNw8H!IfZ&J`@+cgWg)mxRqxn8+WQG9g01-xjd zi}~yIcyy?P6Z~GY!nGdmQ@GaK!wT2*FDg8XsuI0@2;A!JOGU5c?~8*vEWftH{S~h3 z9R^(Vc7fl_$S8$td&^aPbiMfs*Ziv#AGT-VU#D>0FLA|3^IxEF&Hqmd*Z$;fg=_u) zQ{kG=mkQ4!IYs}`;l4tw{`&!EJ!?6aD!fwh*`#pYFCV19KU27tvt@)Y57(>PyF}rd z|APwGeEQ-%f#ow%;aYD+3fFv2Pv|79GPxd(P`KtZ zR^ggYC2+C-t9`bSlN7G)zh3dt@;546^FLSdVfz>Us}-*8{|d!N^M_b;(#Q8rw+`|V zDQodQC}44HwC#>TT|e78T>2AbHBlFIot;xO@Tj?0)Ht5 zz9j|zehPeB3jFI7xHB|*CiX1yM;Sl!3xH?%)w(!&H{?0l zMd5o;eht>KyBmBCI~=<9^b^O2=_i6ewljnFf-Hh?($V)5kWv&2_}tsae>e^_Tpjbj z>Hr_8F!)pKZ0L&lNxXm)l>kN)%VB|J~_rSjYLk6!$KR#{n4Fi1ORfAuN`1o^! z^Eq0+dcv-xUyjOI}yrwsM!_&hdWLVqRf?JW@V#I^ zavnzb{1)~8Wa#C6d{6X`(98LQ-UhGk>C3mf!8;Le{mkI492C&CpTU=+T?ZQc0rdM} z20t6^8e;I1`}_R)yf;D3PQTw?HCRuo+;41Vt6KK?6% zpAUI1F!*uk$4d)Gh&`j^3H!jJvi;5YR5 z>Ay4hG>p46)GvDb<=#GhFN1G@AK2C4vftOw;CDc8KR5Wpn5chg@Usu~>pj@u`=cL^ zFnAU8GtA(pV|*QD@bws{V+}qZ6I+hK$3f5e27e9xJJsM%LO(_L%u3DDck2EPD)X|usM9N_bLz~Jv^`S>FSm-p^Z8GJMB>N$f; zf4^+-zPtJS-!%9V*xNe>zXpEbLxUfMarddgXP~|OITXG`pD$$k_j2x0@YV2R9_&=` zJuu$+b1QraF6)Hd3@+yt_B8lTT#&AP489e9om+*fRc6g}4uNdgl4KlcoMj|5& zF7|Y^!DXN5c!NI+{&@yJ=pes_0)zACsrZ^^@axepGYq~K?_YkiRH~7<-M~*jm4dSjsgTDa(R%!5uFb~!ld>i%w z+7135j+M}VJa@G}t~USaTiAkPg3KNSAq4ugLKJAA<4e}f-<-{4na9DQN%CGguj zLr>B#vhQ)Y!H?|Y8&wAYF$WT+Tzwey!*s9q~hvp??qKuZO1$J_Pr#7`z7d|DM5rf_;8r z@TXwUY0$T{_W|IU2A_g;!9E6W#X3U1S4jBm4SPP)(2Jj$YH&GsQfKf?%(HC<{|NC_ zm%-mW+}GRL20!{RAHUS#zd^tM!QfB8uij_yHu#?x3@-Nh4};6+!L}LvZ@BM;amKei zF2rv4Fu2&~0S1@PAq+OS*zK_fpM7yJ3b;Lo97GBGZtU1BHu7`z$!A7JpGVZ0w{@b3=s?WfS- z(q9z@{|5SOHuy1EXDu?goSV7O;HOJmZE(@UpAG&3)+5gtd?)zl*A2c3arhSo-xcE} z4fCPs^F;Wiy$vq(hZ$VfV@DeNWcZ_OgTIFHIK$v#Z>Jbs#>ISti+(OP_`fh;Ty604 zv;6+uU~u8H+2Fkg`SgD?xbXj{#nIjf{Hy3w=yx@^)O(P@MGq2>2p@^}jx+Sar_kWL zLJ!pjAB=I)W$Jh#@9Axl=2KxBn2HyqrLk&I{ z<9C$7e~$TgjKSwZKjRJlUSGf7Nd`yw6DczIF(ZBYGK2r@03V-e@GXezPBwV$5TCxz z;QOH88x8)*;XZwv!S_agbsBs#^xtLhg@_Ym{*iv1iS@8iRj=`R+!855{_GgTbH2`sfaW7s5YpGPrz!;QanAw%l_#h2ABDGpusPNT@5$*X&85-4So*p z_2;r##P^|>TtmP25MK|I4ZbJ*OtHZ`p||M<9|J!#%iz7>P-Ywa3&fdo4E~qFzC6ta zUkLk*8+-`#v(VsexL;=QHJE45F!*Wkx91vMK9_!>!8f4Z%M9Kheszt(hr_O}Gx#Hz z2X8j`Ine*D2AA*K+i36wh`a7Kc&)F_$b$y|CH4&-HTZn^rKb(lTzGCn! z^!pZrKZW)Gy9U1-e&!>CKaP3rGlMt6Z+va=SK-fP{+IE-6?WAFenRkhoS{qN3&F33 zAM0c2Kf(Q82A_oaZeN362EX0k;78$pfWiL`Jq$MZotVEy8vFz3^B9A_0{U?VzYF7N zg2CU1KPfc$$SkLxNQuF#;7=+HelhfLlELf1r^etF@bjk_{Ai4$R)eoVd*>PaE!e?g zgXdygEH`)=_?%_%f$)dt8~jYnBNrRI402v!@FuLM)*1Zwu!r9od?MnO^#)&$arXy< z{|5Z;GI&48d9T55f}KBP@M5eVA2;}`@Ndr;T=wZ+F!&SD^J@l|?~8rg;Gbh$zi;q& z5TDC9lkvC-TBHh350l=EfMzZVSk?dNZX{^_1R{*u8D0{(`1j_k0YMXH26i}yNAK=hyDM;;J-WE*H4zg zyWqDEG5E(U09^wOF7wcEgUk2bj5hdN7%#^e{Hx(U|6GG-!Ea7B_$uh9*x-vWey1D! zV6=CZ!H*c>*E`$b4VYi%82m2ir`g~`un!zJ_%-OSg$8ee{L2hpGs2hW41?c?c;;M# zUkm+QXz(kb=gSN(_OZs`_xAGZz0TnBIf0uEJ{R-ytp=BKY#R;kVcxmN;M?Gro-+7( z@bhwBOzeLg;<1+v{loC9ZyJ0a#;MHP!sk`^jSmg|j{|)@d}{Cs7}sAJJP!Z%gTcok zUiHxbQg02~yOY7MgPgk={Bqdyo(A6!^U*#AUyXR<0E4f`_&U_!OGoP2w83}7xRCS0(%x~1a|#T-{EpWQgHOi%Rc-Jqp`TWRABZ?%nZffAxBSZB+0erU z2LA!{ml(Vr{dlFp@5cSr2G2oUbc4ai!me&Hcme#(?FNrwowdo}3*pb7HMpEVdEMZ0 z{^XwqKNR!qzYQ+uPts7o^rM`g+1223-sa~9m-8y}eRRS{&f5$#^p9XX78qRWoo;ZE zbGE^s#QLt;;PM`Dp~2-m(isMqc3o(2Ij6M7;BrpsW`oN)rHuv`Jv?Y|>BpxHF8%n5 z!KEMHHMr>WM}sei|J)Ptqx4H}&-Vid7+lVQ3^KT!13B8@a{eUG;BwAnn!)89%ZUb; z^BWBYm-9Rw2AA_Zrx{$%b)08#IhS&|#W60fH@KW{xy|5mF6ADB%ej=t3@+ze{%&wN z7xb3F; zp24NPB?cG$#0)NaXf(L=%L0Root$BC>930nE_%Dg;Bp>M_QOPPe@1-xh@l?=zxtfP ze}?${O@lvz_34KOZ^AyF^?GbDLChSe# zOG~}tU#1xP74Qr4y$C`-5BqiXhW-gApet_h)jk|K&EPl5`wN5b0{lvYKaO?TjRrq@ zgkQm(2HziX!h;5v&)xmi;45+en!#VfI{Kdm-vWJpY4A5e@1dVXZ|?%{WAKlG?`QB+ zaDTYLCqtj34gLz&b1Dpx*Bd{xRZ)bnG8Ue|?30v#7!4_l9>j z`1M$i?`80DGENPiiTgnYzXJOtBMkmK%m+ss{AsM?jyL!Lcn^|i@EWwMz~KGBXPUuh zqaSA&{9epQCmQ@%>_=4_{5Fj127@1ndRq+sGWxf};KQ)Lw#eWgL(lSgN9o7!U_WOX z`cJSAbDqK1!A|78lki!9e)+ATm*3X@18_D23<=6bBAX5UJ?O_r6g{RKNB@kW&%pfg zs-kDtCco$QnW2}s>j#D76^`Sd4u2r+lJl0kDxB$maMbjhbqeP#BAFNWQ#jM#3j6P` zaHdbgKG=BROvdtW97%uZnyl#ArAk~oQ{l|N2>!g<;C}$#XmI&{hYo{JgtEJUi#(4) zo+}K!{2tG>2A9u=-(>ilbtJbc5_!veX{(F=wUAS9HMaMgJBvOp>WM-yu!Il`hd@5;M^|m z-)$0CD4g~12HI6^a1Z;>jRrpi_^H4}{=-o3Z&KjbD?Tib{GR7VLq7(5o-}wi@HY)E zdix5v^dtW+BVXTVxx{_F0P9EScR#?#E&X1=rCqJ4cc7x@@g?7zbCjW%-+?SL^#8(m ztW-GbzZG(xq;Nfcml*!(7%!(QdN+PCpI)MH=Kl=%uQB+}8Gie3FnB5O^$OSgHvvzh z;;c`R=Rrfi1@b(raF$2Tg}!3&KcL=!7+gMYDd&&UQ14#Q!yf$!pv&U>0vG%51N%Qz z;VjRtJecSjsBmtt&>yLAre6&D;|%^6;5ooWo&v~OZ}1Y}af8QzpKI_=;MXXe{X;SR z&jDRv=;d=j^8JEBFZ1=ipcnhehdv)xeAqtacbi{OIJfH# zwChcSzYP3+gYU)y(DgBJska^V?tPH|T<}G}vw(APmS-8p`yfOA0O)fJ{xI-L#fSAa z4St};(97@fo}uWuy(1w1ISOY!@_DgK70&cqL4T#fnO^p9f2(k&&%yfccM50vx9A^V z8x_v<=YxK;!kK;w?Dk=WGyU;6hwy~LnO@?(cNEU_=YakLg){w(Bj^uZp8}Wu621Ls z@Vkcl^ce^Hsq~|Kzsg<;=XxJNz56KK`APKq!N8^7FTsDL!B+q;SA1Ch8(n!=*2i6oVzxuqwnUB0L*kW*bzwn{Lna>39`PSg_c@;SqDgD(ogbLBs z`w%}Bdsw%pf4`5yng8wJe~`g{#t-QlWbl)Lk23gr;Ku_Oc~(K56Ab+UyZiiW3?2i1 zio)4GBUmrX_p5QcxJo(iyG+qDE}s+8zh}Yto8W(;q3`V~i9~)4T;%T@Muq6QMd5G( z4&S73o*FN3Xe9C%g{KoX34C5vIP)0*`u7#C`Fy2t=JP4^`4e#I-=WaYZio5|ML&bl zuDuN|=Q0m4_!FQ%MBxkx|B=8&KO)ZlDNs1;-|OegC%?xbavlo&L_nr^hbl2@ZhHFZs4MyKSRzf27es* z#|D@4R6SuB!slDi@1tQBr;avY$r{i&jT)Y@(lD)uJArYe>UWwsc_bV&{r#5 z)6W4ea?0o8I}APr_AloqgnkL|OALJ<;J2B2#qVu2^!tJSNrU$X{-(iK0e?^N=k{jd z{qYY9=k~q~{mAd0h(3jWufvFlE@_wW-ygWp7lZ#Gg)@KIPab7(`Mj$9u8NEo`Mt?p zQ|~=!S4#?fzT)rf9P%tzILmVp=8H2GuIX1Poaz4s`m2D89^QpK_Z$3U;7=L+Tj1{) z{Aa_d61u)qc$Dso9ZJ)~;eJNyoeDpBIB?b*ccHvjJJQfUgZ?fw^m4vphQhhM2V)$~ zQaJOM{lj{NGySQcZ&WzbOI&ddaFPED$a9gRXZ_22lWP^u{O<$*^#=b2_?-qHkAB~z zaLxZw;8vbz485FtmhaoxnPg#k7J~o#ik|Vc!1eF!F#dPo@;f_H?=I-?0}z*4{4n5L zFUx;2{P{?QGyiYE|7eA4`tb^9`Z|Lln;Z<$D8;Q8?3QVISjog)_Z;kIH0)Gkr7Yrz%{JuNL4Ue=Ww> zd_~XpP|SbmI#c1y{~zGL%HUDFkGS06#{pjhTqtcJdAkXWD|7`Go zTj5N4E9gH|ILm(}=(m}A??SziK}1BC^yBZc+-*e8t%&@~5U&hW^vwTx@E@jdt^Z=+ z!sik@K{72$F&Z!1(1}>k=XZe}_kHD8Idd>el;8vbX4E-|5bDhGO z|G&Wh7K87B_t_f_J{kCC;8O2K=;7TI_$P{w>tD$8jlx-;X7K+};hMe|-oJ@{UI%?2 zgCBzTyL$o`IX{G)M;rVz;1dk~6Y!G^zBlYGuJ9Bn-$K`KfwQfg=_l96wdS|c%Sz-gI@{!Mc^Xm5wP3u z3_cvV{0^Pa9}hfhC{;$6;1$3}DO}rmxx(4bXMz4i;9@7+`Z%@``CSgdS0Wz>hKb$OC*ijt4IF z%D&hsDeyMM$Js69k##V)i{+^R|K%y@&rvwjKLYxT4c@1}FX!dJMb5eCFIg`N-Uj?} zL%$TboRby$%Yc8a=(U~8x=rY>0{t(C`*KM?Zi5~M8a#^|N7pFe!sll2nV{&|J|#|= zX6VOZ|FlifGwTu1&wPbzJD1OMOTDwfXN{uoOMHqm=?`5S6wdrF0{=f6{3+n~8+y*XU$^V|JQ{9!C#F_d3@4wHJ?!NDR>(r@J`>DDW z9_O9PxY9q5`4<^{b$;gWG@R`DGTTj^`=#Wob1w@F{#VQ&V8nYR$2&peXF>j99$!r} z_&Lmf*x)NYpVV;Dvjg*=(eNzbO3zm`ocIHo|4+u1eJ)~royI3Q{n$^k&ERJ;|0jd5 z^!!!BDc*;e--7p>nD%U=;l!_DemlmMo+`cFH9qNiovKF$-@|f-7<{GYXbq=$PcVO+ zhLe0{&-*l-_*ZayJC$*zXKR-8gvKX1doIEUuICN@B7u55?;3oiXN`taypuTIH5#t# zxmm-B{~q&q8+bmCi}q?b$x;5d);*+RDqWTG*3*u0%13IK)OD_gQ@pcT{>28a=DFPs zd@J*PjH`Gzas=ZHd_Uv&XmUuOJjU_*{z45W{s88eGp_Ve|KIV? z8lUXegXjA%8~i-(*H##OALyS!m$bG5&i4pThW42L3GL&oZv`U(W6S+Zs;&pt@FScpAX*{NQ5^ zr~Xmx^Y~iBNe&l7&wdTpi(2el9BMgxzteP$cD8ectW$bX*YKV$HtoUS(w{yyd}G58NM|3d>$*x8WNxtp|C zeKY)Do8hxIvA3Lyr={$q4&U3iZ;D1Aba204cB>z>G?;7}e#ve8Cv`eL&CmC0ESk3XSGVqTW|45TV`Yd97 zwj2Dz%s*h@#~E*VrHtQ;FDn0MaC?%|41R@ypUwOt##MgxVE@uEgI|#&eU z4JUhE%=Ve9;gnzMeY6KPocPn2|A>YY-_Py*QyNbE8sX$ zC`aC(#<*(Va=84Qui>Q6H>^)L18>Fi^D7Ko`7f?wT*dn%$9so?XLC86YseYH^2-c< zXXZa?@SkS>GY0<>=KoXUlRbUyr5%AiQ|IuXtl`9epZS>@PV&|H{AX%7@mulyFh|3Q zug>kiSi_0mhxvILPJC6~iW&C;qxR&29DLv!rtw94l_Bx*8cy;bX8HFS_?wL1Z{RV; z=Q6J1EzXhh|7PGL8Gl2QL;CDzeU@uD>7)K{TD2i3!g976{C?dL2-kLle}9gEJ>P45 zvRf%dj_ZiQ_p`s$x>`P0?dm?x-wqm1daCn+I%&9`FTEL8_PLGa_tW?yUrv_s4bgCt z|0Snuq=BEo^PlksejDQxHC&fJlW|j@QiH#a_4$K_lRi(g{686Z72_`$_+iFhVO+&K zmF=*(8GO4YM`RV3lX?v&eLC_y;d>3&`G+)|_%8Ds415#gsl7qMrS$we>)F}B-(dWA z2EKyvA_L#b_!teRadNSU4f`K8oa*lv%zuz^)nEA84v!o7B*vdJ|f88x6iH|2s6C?0J~&_O*tS{D*U-oF6ot_y>91e?Y^DujYv-G@ST<Ezg#`i#5I|4_uymX*kJO3sl|Sb*4X1Le zu00w~^Sgok;71Lo@~qz5O!G?u$=BzJSsJd(IZwk$&OIuB8Bf#;mA@KJ`Ma6Z6*TZ; zj29XBS==Ao$hfkDdT(}iGk8>!L*;D}>+?s0uimG9)xe+SbgeLOWw%cmr}R>~0<7m3 z&G3J0hJVQ5tN(wR5r9x!s(yXN7Oe3Dbka!L(6&iF$He$LehgzNW=d-0p(SF-%~o58mj_(tY`XW&~IKhC(a z+fgsYig!!<$Zxu(co*?J=xoLnU(LU|XgH-;jSsqMIN42&hkY7O{NmpDz|~vBiLd^j zPDsOvKbY(1bsA25)ehgJ;l%Ik#|N%kHJteBT%9{LocQzEF863S@zuKH3=Jp#H_V@- z;lx+v! zfnQyKhqx|aT&3%dt`hI1@pXOrX*kIr#d5AUGp_9ODeJRBu8+sA z)bKQjzF&&>6li!0U?~^N2g5a7ACHaKa9z$c4JSFOy`9UrYTwkkw2x>w*?9`5>j?v2 z$@p^yeql)J`I3f<_JQ;9Eyk67ls@kn{6)D>Udt)aJ{^J#5mc3^xw^Tu5X6Frx||S;HR_x#|->^*0Vj= zKV^pku16O$PWn)mY~+0DVes>KyjNuK)%b0ghEuv)UyBc1BQ%^utMS`-4JZB(=1un7u`9HG!3Ih8&oS_`8P8{&;wAg2b4{-@_{C?EmgrXvzN#;`YB;5LD(gQ+ z!%4o%uX{9{_*1UK2YqX}o?mk`ocQNoFX*094Hx>eo)2p{@wYPne>9x`XVpP8)B$pfT3RZjZe zDDSfj{O^o+U|h)=#^v^MgTI#fR~dK*b^sL^cyGq9Gw{0@AIP|hSG@;ur-r9X)y3yj z4Nn8Y(_ha#4X1vm7wiAHhLfDmLW;-pf`;pI-qdiCvq9xAF{`%<$t`9Yw^0%DR zwaLKWV0^oQZ)SWKd$01hiqm@q zCtM#$VNNYCnsGHfZ-WoZ87;=5J(N*wdNG`F6|Z_f zbd1KQd{pOOsd0+ZCwCYg;+m!LDc%s{Q3IdL_=85gLpdMcZU$d#;CC_q8w0($ zo|N8)PR9qX27|B8EzIHZkxJL|tfv}hDLI$s2r-^KgTIgYzteDvcVbJ)_iH%Wr`Jsq zFVJw}Z{>1Qtl`98!2H1)PJGqgj?!@AZ({yf##R2dVf#Fz@k!3;i|~Q#6@y=ShQ!xs ze3F08%@Y4a!%5D46cMh^HJtbpng6AR6Q8>U&t45D{!-@e({SP|`ybPA;-54eAGjJc zocPNAt&7EDF?=Qd4a~PRocPNA9W`e>cXJop-U_#u|L}|Li9j{0ip( zUgKv%{$7svj~Y(#Dmy=?;l%H83qEkYq~XL@cK%-tC;kJ>e@DZKuk2i<;ly9d{8|ks zzOwUr4JUqw5%|EhMZ<}&?EIC66Mr1@_h>lrm7RZPT-o^zwp&-8H>i4gdp88abp_*! zKZ^OoG(N@qCdWHM!*x51*Kp!DFn^+k>*<=V;l#i8R(#-^t>JpQ7HT;0pJ0AD<4XTo ztp9S2PjaH1-VY3Z4h6&&*Z3rVH_Ja};2(_?bWekZlYCX)THh$2t9EkkD0y#bIPq0^ z>!9HjZ~kb>@1)_xSLN*@4JZCj%)eB_iLc7rl^Ra`iresk>lzIwzAA6m8MrD}BMe-P z8)q}F?0-GmGph01L4E~Ait8~ACw;n&5wPbO1OEf#e>L!JjK6N+7v3)AEM;8jGn)0; zZ1A68{tg3=GyaVsXF3gbaQ$lV+m4lZOP(jGd@o?!GVnVY&o=PK7(a_~rT@bm@8ue< z&x`#UPV-rHU8~_FLYF9=cQ9~ex62q; z`FkGgc||k)!e;n482n)z?`Vym1=VilanS^W@8R~XT;r3SZPw=x8cuRlJ$=KF(~;$@ z)%YamWtQ`)fq%^SP6JQ51A%buHst5A{7jzbDLX5?i-GrL{xt?}Gk!heWdAJu9X*R; z^>}VJ_=~b7K2zgUx-MirT?3!Oc!h?O{MkJ3_>+c{oGRuo(s1G{J6AHU(p$y)tk(Ec zJ{NH%-m2jw-x`k(TwfV@cgFV`_+5$bKrFS&zzd_@Z z{U@bMIlDBRy3iSMko`cyoDvY2sHK_#@08XyA`BK8A5+|4lhk z|9cGn&h`?2MB`Jser7$NHSoY)lK+B+>-Jp5xYEC&z2twS@yVWkw&xcbPVqj%@^>5f zTa5o;;CmTAz_^OHJ=@{zVKRObzrw&TVt$cADR;cVpVVIBj>e~S zwY^*7Pa62mj6b8{B>!pp!1aoTlbn~C|4$7ksw)3WHJtc|n7>@ZiLct99gHjcJj(j- z(fE{KnVesTG@Ru3nSc*m4F-M(Mh7g!$iTxNiRp z_LnF-jAnhZ7+3Z$Vf*K5ILWVO`Ii`YJ>$yXLvo0J_I>!k)ys%?7RNiT8GNpRKf?US z4E#~XUu0a_|BKEt-q#KOy3-`SUgMLVeOS-04E$ln_h`6o{~tA+}_^ zmo$SvY2X(!|1|^e%J>S#ReoK`{o@*gUqZ&f^_9U_>xSQHIHmVz*8fKhClTuZ{2teE z;$JcaAGo~ie^UCW|Nonz;l!W8{8KcX@)Bwj33l+(nrZ}!G20ppVo|1xg!2f*5?cjCw*41{BsTb8^$j-@U&?Nge#A66>k@A zABH!BkJ03iKAGHZ+@s;7&&4c%iiYd_SsG6KO6Erm{L<-oi0eVdm7aIAp8quPDU2^O z@Dj#18u(L;$26Rpl421nwg-)pKUBQ0GXKJ6@M{eGA5@ue6^;^LiT4(3SkBFit9B#6 z^`8czIYnE$kf6JNDsf7Ni}f5-e+HJtdW zU0ST+#J_R|K5)G^N_>fRE8?qmsZPU*KcD#@X*ls!yY#7s6MqHsztC{vtM)2x;9sZU zA+BFWiLXSy+(UtIojqE9t9()CcywW0m52RQsB!rXzLI~fhLfI0SkGb&*V8pz!-+rf zev*!T3L37b>uwDv{@2WZfN?J{a#?0_x)wEqFE;Sgm|tt)>RjtBj4S)JzW|Zo`pV!> zY9;X_20yK%#8YmQ-z10hFPJIs(>0t_$!{z1Q#G9Uon}cqTf>R3%Heq$PW+?H@2ug( zSM}m@4JZEjbMS$yr-l>%%v=F``f51w8<=lvIPulG%s>q%e%lg!;2Ngk#6PEtfIVY0 zocQ%65+ASO#JA3s_!JE%zV`u%PuFnb-^cUBQVl15hf>L3sNuvvpY!p5G@STLnE!-^ z6JP!Ro#!>2_?ML71J}zMPJA_fcvHiP|2FfNXgKkIpbuQt8czJIsDM4IHJqrEc-*p4 z!-+qD`CB!d_~BEeoUb*U`16=wui?aho*v>lpy34VVtxx=2UF#|?|eb`q-i+GIXOk* z?KGU^#1}}sy@nHCjjt{=aMey;rr{(fvQWyoLc>YUr7a}hmvJv{3Hm$d`?VUMnmm7s zny%yuj{+X$gceaL8yw9=x3k|%M@jL^MG5$Nom7UMY zkn%@0gOAtbkp6zwXNrcCK5fdSoaq{_^XF+e@&Cg72MzqaN2Hub7*~3hvYu}mxXXB@ zfj`OkRs(;F@gFpt>PxYV)?GLbgA8+7=znA*lXW)-9K2^g>A0@wxaZ{g%48G?i zDgRFzPWpVs@?S9UmVc1^e;9Zd#@}FE#p`gsY;OkNt;r$%^H`t#8czBYvHYJkT<4$A zaN_S`e%c*UU)2sw`yY9q!MM`%L)P;m1OJ@yJ_g>yl5&P=xL!VIXgIaoHjjrNV_fO; z57y@y1K+^-Uk&`SM`gUPHY2~b8GNlKhwN6ucK%Gm$!>#L{w@Q5gz>n6*D$_c!*%&5 z7*}>yc4#?XrbE@!*IA#_G@SJLmF0KPaFVb1=V>_c=RPLob~W%H7|&;1>2o{h%U}ba z%=knDuVB1X!_yIEv5eNUNW&@L7cu{3##MUvb9&#@aMJ&jKT1LG8F&xIYYhA*#@8^e z(zTT1J!;_JF@D;eG9Fb9XS19Rj4L@unSZIle~0;38hka*>7(%}zj9j2_-@p2O7A|F zGgQNM{wNLC`C}PZdaD2HG2OtgCSkZrG&uwnvpy9XPV%!JCpPw3X}HdRM#FXf^NcHf z`f$8&82D4Ir2G{I?&Ef5mx2F<@#6;mD&wc$CFQAjcX58@8Mw;#0S0~=w_`&M{A)@a zuGx&Y#_ufrJ%2Kx9?wF9FH!s-GlSpv68YqB8cw2pZ0C0k`~k*SXgI|?w~LgsM#D+Y z$ISmk!->DJtK@&K;lw}V35kEH;lx+}KTGY8Xbp_`)0w}|;H&@7bxgyFpYtR>a5ZQ+ z$Ewq2a{8Jq;hYVj52T)_)SP=LZcZ{+6>PepJJW-f5A)yFaN;ZbS86!%FZ(k-aMfry@jIR` zV9zE4SNZY{<0@ayY9;xp6Xmzcmyfv|wq;!LD>%Q-H~1=FF4b_-a}Mj-UBgLFl`p+D zocL>)-&ezlukxix!-=2r3_ft(sNuw4+eW~iTQr>bS22IIh7(`q%iS7I{DsV)q~XL@ z`7%?(iC@M15)CK5vi~EDD|=S4J!=hqF3;=N8T?}Ae{1lS{eRSO(x>gS_`r2Y!$}`y zPtQH#u?SB5o0)%-h7(`e)6#I_zr_434JW>`=h+%g{GXVAo`w@&+4B+&Cw}im_`r3U zh7(`e)6clF=R&s6RD)m6BilSN7ko;lzK8`MWfn_{#p@X*luM zGXF;nC%$TD8Vp?JOWS)v!sW#ujsLIWe7Tfy)y_;iomdzL8T?6{FU1D`wF@NwW(_Aj z)BYmyyA3&?vz)mapY%U)vgA7kzk>Y|iwwRh4}a5eigz5x`s`jFG)GKGOqO5&HCJL@JBJf)WF|l+%e?XT;Bd-@V7Ak?*@L9@wW{8?7vDq z-#739jIU%|>3kF=pn9PGx&AQ;I}n{->u=9kUR0OLcC`>F8?jYO?}=o_={Md4>g?hxt8T`GVn=^Z#VFl7~jRX zigza4A#JkM*TgNxRer5weL843>9dCAchc~7z!kr#^)Ni+IRGrhNnZ7VyTYjEe)rne#3Is8Tj{%?=kS77(Z&@svdcHADpsh zCXeefHJt48BHQ6K4Q~fr@z2(9oqrzV%5K?IDREt9;ETC^>!-<~cKgRpg6##Q0qruFId!xT#Nx!7pKb9?@{pXBEqT!oXvUKWE_Q{$1+- z65}e~VVv(9n!!KUk z#`Uy;_vZ2H%LYD;3Jb2c4g91W0edzY_`HiG{-c5ac&Wr&Oq1WrK5AUu*1+FkJv$iq z7S{6u125%%=W+x8>uEB+;Ras9_IZqPRqt}R{d~*7XE46jz~?ajg@N0QA2IL<yBpd2?pLRPx2=_VH^9*PPAJ+_?|JTOyl^m{?!kxucQ4ljZ9*UQ%lt7*&0GEm92vl-) zzAC4L(cdEGJ<8t-&tbXW7`PgrtMRYmtNDe^;S{d=uTciB{CKY$xbiE0WZ=pVe9*v^ zzdeH@#HHd@>mXeXd|kTasq;1zU#%yq^Ia6K_L;9XfDAbZl9H$McLABc?Pb| zAt^L)b$-+Y16SvFJ!IgOXGr<48u)(3KQi!~4w7GQ;3bTAKS@4U`m1w^hZ*>yj*>UY zz|}d@4;i>R5By~VSN|Vpm4WX+i}f^c_5bF&bA?xWdU7Oxlz~?;{BJuf5uaJyrbe(|0iAfCls#!&wE#cul`TH-@yInOZ^`*aL)x2-)i8MjOTK_RPmNv zDEX5N+}~N^PaF6;#_J7yQ5VVY*-CyZ`FWSh`!WO1;dzr&9|+GCtkF z7j>6BPq!&ECWc4fhVSrX`8{6!nml&G=x*V$nBsT4eRO!Vr`v5)rg*wdzL#!@p5HCM z@oi7sQW#0$o7>0U7P({Oo%f8p7h=Tk(YM_;dF<3ik0;zarqTWA$)oSNV=Q8mA=I6a zE};o`-ZNG`hAudu>)weI$KC^7@3}WTwp;(}246BIJbKLCEOzYpk>e(ho;a3M{r~wZ z2NI~M=i-}?=jUIQze_;khw2{{dM18Q)8JPCe;?T)JCG8t_tdNr!o|kJ&73H%gmd%A zq4Cv2{#1PRz`Up7Az^0tbPg}IP@$y`$veE4gd5_h;;5df@NX%Azm+`o?FZge_)3m{ zrV(E0ufh-F@KpZw%YTKuQ~kesroyZH>+z#0`%nKx#!$hAA$wDkpu#Krj|Qf6!Oz4s zsi*u|F+Bl^A13z}piRY}-XNJvzLw!BK57EY_-Q%blqo{|ulV%%xILG5|H>`FgQmj! z-jN~tv;V5O@RUDI>0h}^=Ex|`ei`7J`d0vJD*lq&B$}rp=5Leh0&gn*oINsr6`t%z z<5V+#+D2f?1mt<0<1glZnlQRd?i)>Df;d|;Z|3ooz?$Ix16Wh~7qkAPH(m5iQ$iYxWO@)uuNQPOjRXFv%fy1--#Mha%ijjcC4-@?s zC}C#(&EfD*aDSzwsPwD*UHH+I{l>HX7IOI~`<;$I6<*o3sklk@l66v3H4dlY9fdK& zQ=K&1PC%Z8pULp|{G0kmdD>L?{c&lLA4!;YNvTQTw(z)a_g?4;#aR#%McW_2nPEZaF!Jx;sFQ>&9ld+s}I zJz7~kPVwC<-2SO{`Opm8`7vlMuC%MZI?3+xqwTG-oz-^LPTZ_^uTQtVs|ygZFHmkb z*yR}^yL{Fo*;XgN$GyyUs_fF088Tp%?fp>;IN&$}+P-6vtp_N|Aok#-xzjklDh}f8 zw-z62BEsmQu&?|&L^tb`tfamiU;2LD`m608`+b^e&o0=Z2oPLt9?vlL?4Gpkj359^QoRw93vrBh%8drL(-L#R` z;x*Rd{SCPv)6;PkOEU3Qos17AEl;hXRu~eH{_^0|l&YOAa3k|;iFlOcFQEdjg||z; zOV6*g7H^BOaCW!F_7g!Uvw1hb=+R@wj1 zgXs6RQ(foxES)#bP@t;cMT0HjcQRzS(vDR0=uH$+XLhvuph=ytXqi2Y( z8PN~I=a=7rvRL?OmMq7ac4=k0wZUoG*vRC`UwUlKGck=~}+F;q*lN zG9a44(&o14G_TWg%a3}Y= zRA;pY^oZRA%OvbKF1jJ|1(a^^~~Zz$}`5$|NfZgu-*`B2eh7lZJDp@AWR!GS>m=OCJ<((kfu_xkJs<=vli zTb3R@uz=*)Dfsxe( z(QiV|3ENGJw2Ey-Sljj6ZgH`1x8bgLcaJoVu1Ls7St3kS6n{oweYf zsZ_Tsxo*3W^g`!w{moz@*2i(`t5c9}KVduTW#6*i9h_==*W1n-yJ{Eu!8NvbUC5~k zRqZ}0)TPEP$Ow6BLTsQ7pbb@4@LKk28 z8)$5CPSQF{$ueZ3Ad=98abAEdZvTJ7J}uckHIzsck@eC(qPzrr>tG*QT(VGHigVl+ zz5>|i5JV^K(+hWQB!d!s`LEJG6Y%XuGMxf}p2g@8La6{{{#F5Ui!hK{qZhD@-zs2P zW&tCI`2SS_8%6zGrzXo+P?j%cznNr&->_eI*l!X#^L_Q7{L;`+R%u0NLbfvEGqFR+ zOfF>o>}es$V0Jn*X?d z(W@XT>Ccn!5Qd+9oQ{7f$p4@qzj7(cqNmW=Rp|U+J9VOGgFT{M5k)|@bwQ_6YwpA_ zFLvY@_01&+>T##1`evtE(Vk?%>FK`N=?G1~{TaT33@e(0--tFl;M>~INnI3qm2`+d zkm!F@_+e=ETz|R`H9cC0-|;nWL29o)kbHuq-7h8ogx_c|Q9J+c&d%`Nj|jdLk28I< zGp*=G{4Sp)deS{9@my*j+*vKMe6vomln1F{RJSlZ+~Q4jN05KTk#P) z3rSl-35zX5OCo>WfKu|lzf*$BdHZMJrV$J^v0p0Xo z1JbPr*5IcQP=z0X(t1o)hNW6%-6S{7n*R`S{g@nt#|E4aAueRSR!zeN+gCgJMiO6s zRZ3tf_?|Ac;m#GMC(@=4hXx4Hou~olCt?@+)=kT`y>+3|DsPwC$Y*G%GlPyl!?7_0 z&JH?uc7Ek>jA^Jn$Iqq)|HI>7qW=EY^A*4K@GrmdF!lh<`&-X%Yo}Ph`~YUvJEzd@3s|8!$c)~o;x(tc50l{F$U;tJM~(8)_T#qrWW|Zxqi%GQrx~Y(dnD&_N9pq zKIV@^R3Sv2*T?PH(@wc17lr7{`g0I1M7|Fd^1m1A#ok063n3MwY-bQB%y#k1c4}ii zg}yW%cjr!sHcUT>Qk*}%B45DA#}7}!+>kGos!1ZNd%V92fEk$odb6Hw4SojwoB{s z0!tuZ?z^c7uCxuebf`tH7TGXd^UqNEge3!m24jXZP;D;A64Me!)EosMeYVN{_b>I%Cju-kojDznjL&iwAqg%{vx< z)+(C?9q{wnxD}1zC#E<--!5yxZDOFC8FY)#UheF&4!IwM)x7&d&VC#D{SfW#atqQ? zRq%-VQs*doJnNx5ftT(=k4u}pYPAkgvuneG=&kIo}oec84z$-Aq2l88Y#8HRO?t zpG@__uB#Cau6e&ut+VE@LNMEj3qO*aG|G9q{X}8;?I)ph@3tPG^{JAXaBIOt`|6K< zFUF)%avr0a+ZRvCq1N+jF|v{1cf<9t%O&pZ8$l3D2uo=7{gUUUt(B|R}`sltzBPu$o_v0Xx6PAKSb8wL#V$ZJh>>?7lp2KGJMauZQ*T)z8Mm0}JxM&;Neh)$wPSEroHyeO2SE8f$w@b#$9; z71WEi2qPNRDJAt0$#S#vzdyV!z7Cq^9};mZ2~g^MrijSEdPYA`#9(w zm4UxZIF`$Yd7Tmdlo7?HaW9i(xf6+XK0o}qlNqlP;ab8aHyJ*0S+7IR2gtJYknD6q z@E15$vS=Vqtc}3Z>9W<19~ASGp?dGv#5)B5{U`WGkHL!iH{uct&0Mc|l9 z<_~<8pcMP|Py4w`Eq=kh^17YUKc`wuU8*ba%pL0YuJrvhwJR1ddi(ZIwM09`;c6!v z;dneki4c0%i6t|oILa4R1GM!VHC_%lKMPlXz}aLkgW>7AhJ@JeY|I~G@pNfFXT7u9 z&065BI}9&nC*K;s^;oUHtTys((Ag7D9arIOarTSnzMmQ`gM91z(JFgNwCS@w;0oQW zcl_*3OS8&uMs+A~z717<+oBMiK}u0h(Dl+p%vpocnC%YEvwIEhX_Y-l?W$YQ*)E@q z$LRecc|j+)BItCn;R3MA=97EohGKNm0pI2+rz(3$zaF5;2LoL;lV7i&+x2gSaO}Ya zXq64uLT#FI8WJnpANB{LQ=4`WYIoT}A%kxBHwxjSC_qacaHrz0H>TOnPjJ(c>wjk_ ztmXvZ9*f)uA8uOsJgn@bh0hx2TNfDx0FJ}I!4OHuA>}6?hQB7ZRrbeJxP>>MMSfys z>B>|*z%T?5{dly}dZ#je7Rqe^^WIYfaPbCc%3bD%QP`hMB~*>t;NVQ8Ka!0OKi-<} z1J0Hp<<$Jb@~fg$DmX_2zAe^cRb^GQZbcb&=wCBxC|b?}=U{9IzAJ2J-BMbjve%;# zIzr<)EZMEJeV^M7GHd>alvz+nj&qW3SEz4Ai&4f3UL<4mt@dI+f`G_?JP-0*QR--v;104!|8m&CjKxkF_2?N*Y>=$EG4{!=3ZDk-gkO zJ2C@qc)RGMTQYGSh<0hUH{knX?slOk^z~@g%dZrgz6@T#y%okD0sqER;*Ql7SrS`7 z5T$7reiXRl(hJ;)>9I<<76dv@hLD*R9VYLxkX-mR28g>MP!3*mB;qavLaBeayOfjx zNg1)J01F+oxclm_tQStPvUc=bS`YazZ02uRCi0>@)n8bi8>MYWSe-l@$vz81k$v?R zi~fvyu+r*`Lf_Ys9kEn|W!ZDSr3b6hQOYzUNT<;Y6v&;8de{9i2u=)Tt+F$r2~}AK zm6EC{s&4F7O8Wc6i#<(0MQ<4U5I+kr=qalp<>99nHI_z70aV#Sspqb8~}n?g6MK+&uksLF=YqGM0=v zfRU?cDN-LOOz~61k#@1x2#{zWirkPLa05`ZX7YhR7x<_Hm^G)q97+k~gq*4Zw>UMZ z7IeyskE12RO@Iz0EN!lLQH#y?~&PiIhhKpO$E^nR@rFS92BKs88W+F{8}L%hm>5qyx(#A6@+VuWH{3%q1%=HiqT)`%hBjnll>*~FiY=G z#Q>}Hgm+pG|H5fm`IRMiWO;Fm>3#SN^sVWM2`){YF=b9Cbx_1Jhs*w2>mx;+@vlW| zoY?<>fgC(R1D(V?GhDnZ2O^ZcF+0ZUWt@DG369bd*Nf=E<-Zxd?A&u;Rs(#2W-GimT6KUa3rN;_-YxW@j#HseY z2AZu*YaJ{9f%8wTUk=P~sPDNGWq`d1)l<(D@zD^7*2=JR$H^4=hH>Opn&vc?Kd}DT zm;YtxM)@@`e?xueAOA}UTKWd&AF6*Dqs0IB`rq~6hHj+48XpON;xM=W1iLPn+mq}@ zKm6)PUN(NwSmhEL;zT!~%-GI>5Jp2Ehg*rcX#-jfyF8rRHGcz*n+MTO1~F2$%4ow5 zif7j%r)w_!btE{Q1P4%fGvgPE`e;YDSldM;l_Yt>^uOEWfXv?}K-7t0a-`hIA3{Qu z06p-GYQ*(EqV+@`>06$44Y@clEQ7px7@s$I;MYOo2jwOwKNr9;m{|)WAnu;R5gKql zjSU4^wD&5}LWY)`RX2=%p3{5i+Z*xAE=^!1XrrRv%032@_Go z4uO#9fAT+|nOJNv8h24nP(mAx@11Fl?`e?#vvhuDTkj0bq9U15UyCsXN@F;m91+N; z3};|wBn$o^XD~IESTIMcPy+3cdwtX6v1EHJ)UWeU2IW`AH&!UesylR$Z_5-5^S7Bc zej`TTPt$&K_IFtacaPgQyH|16l+*BI7)9IZ;wghfn+yk0HA|$8euR;i3_?c1CQ|>Jel>X|Sn;D-f`xi0D+a4b8>`=2-Ofi%5 z4{v0L8__4Z;kBaUT1tBZ;mtnqQuq`Jv{OLjRrqJnrI+sdCGs3JjyUH{Ai_EkaGG?vh0=i6Vwp<(WVGcAk;FGA157R zHZZ1U8bl1O-aTBYTR8V4_1N6-Q$h9C$wm0fm_Z?@`L^c}D?w!a?hu zfSSgIub>Iew0wPXQ$j5FJ~2Y4pMlcv(LYy(GaxzgE|)7k*Xt^&j%X%Dx})3N`?A6( z=Wl>J@$dm(?X+vH*LJw~WyD|M@dJjp`>E!Tf1+yo>u3lw^EZebIDEjV#8hF{86**l zqSk9wiA?dhq4fAhj-2*}!`qBiz=rrdHBUEqQNEsK(CXVoG#w5Lv%Zz?}aX`;CrH&6Yd5{R{#T4fU4c1C>;V)n9* zl_Gx{730RG26m8np3Lw3N;rti=77#CK>_C@v{}D82W0go)oo`B>ib|U=|IIuF*Xnc zeFrADi4TNbM7#&4*hxLDcZz8oAMkC8>}ss@#zs0vRykY8RY*+&x2o}(slR$2-yzF2 zcJrVopH{5)(}{cGREyDmI#Xx3telNrS!{&~_d%c|>FT}oE16MMU3w2H;$4gC^aL&4l( zLFX6iHF)WRxy82IGf>|BY#9TMZC25mOZaXqVP}WRBP5(wZNzh|f2Pt?M0_#I*dbMZ zoFiDC40;=E@76-^PB*h^Z;E%XgUNA0Di*}QvfW#9F;6^?zK3~Jkh|H=YGpHcJEY1O z@j+$klj7S&sY>=&vEiuRhW`ueQe?sabt5Z0m_e&WfYR@JVpx)q13@ZL;qf#Y!pcH8 z7Ypp)(pZg#eke25^qZ(+WY}5!px#?BAXG>|i+6PpRWds;?^lXx+VyDA;r9$;R^Y`% z40q_4WMrkQFig@HsSBN7D#RnV^Wp9G7`VQ^6u0qB$@D>xf>CWkPF?u3rWIBRYewrJ zMvHP$6)Mk1?qbdH7ff=ew1RPD3mJfqwl^$|T9J&Os{MgP-+_H_y-`)L<}MfEXcL>v zBU>)8OqI*%jbcCz6_;vGZ}#DBJXwjfwa0AJp672v&!y!j#zHfo6Dkk4M}r1q zz%$U6XF_2zA@ik9`Q7EhVXNuw*-KpLjP>wOQE~*I{l#BUyN>lvIE6%U*+hx`1>!{) zja5#2-gns;hLD#()5*xi7Wm~fwl7SS`m5>IDqAc_C_yT#XhdFPE&LS9VaEq&tH{4v z_yfUqZG9IgcGUy{jw?NiHG?bh3r@&{ECfRjXf1pL!q8b3I6L8n$6jJFAjK*jV9+~i zu^>;TU*V?a+P-Qlx=cLpmnjCZSO5q(X>iSTbXwT+R#D=Djf!Li^$+CcM=11D+l9HJ z+h%MyEN2x?cDzp55xbKqxsoWho%6bq2oZGlir(x`6}FR_tIL%6(jVxb)F`;c>xX76VSt+06&3)rV{(MzU>`at_j@(4z{!}~U>kX`4r<}$rq z%7{UU!Ya$V5XR;84U|`LFQ!x6ApW_rf5UB$9&tk$ZF$>XHw>CW+y6^MUdnpoY!M~= z6Cnn5299^k@}}FQ_&G^kre``Sa!-T`kMuR_9<^{AKAC&e@}g@cvofuP3_$|D9Z=P z2$(=&zl&2V420J`Mh2)NxxE+>TS)k~sN~ac1(YfBJ>Yi7bf0$d*<;p;jeJ4~a<(SY zvH-pSiWU7EcLA_0jc3plrw33;8a+zd)2WHC(c42*8?j${@WAP_kd@d}0H*|MQvHE1 zgqu0~C*(Fw$n5edaP7{_35dzI*s{>@F6uj)9y#w4?MhAfp8U!pEJU>ol=SvQLV>Dp zvaw!_8RnsSutR<%AP0P$;nGwYK~aef!f z{5V{71nn2bu8}#E;0w0N%zT(QjWUzg1DejvkW(8T-AMiEeFDxs>6GfK-6_FVy8}+k zKwZC7NbuqTHfnsioW!X##zyVpw)i*lRTODG{W}_`U)C=gFbFT%pCKO>K%Z)r{T{z* zj}S7|T0quZl68s~8*rXqH)RGTI{$N-XtGD+L{kxLF43#Px6rN(?qe}PxteNI0K*|l zDD|QR82Y5s5JM}_#hM-L+IDBgzp3zHKl)Mxqug;%N zK+qYLAzr_7#$zBmUc4kncEM|(4ApmQXQ<)R?j!%yo)zV%oS z*SFzgeUiOAiPe`7g3=PwLRvJ1TeU0)-{k`v<{di$wX6kQa61oEVmL7uoQ2<1H1LJt z){&DU=?EzNu(WmRwNEKS0!|$kEy19D(xLLHokQhwazxXqx227m(Un$NIs#C0^G*2V zK*?3P9xM6*;&572eVvW*mcP~ZpmSHMa~IY&hZKv&&_vR|0gqmB*&l90`+3cD%e5{z z@lxG>sWhoA!7D=PPTf3uO}E5ayw0gA@8g~K74ABo)}ZcF2^rzd>>6D4Cbp2|uAr&1ZT{!i)!igimX zdMbjV@3YEibyM_zR#^kWQzn(z?;;cC;(-Ty?`$ksF37?SwW0smBx}GbEBb?oO&>^5 zJJWQlgucfrBac=ivsnx0Pza}`+t=?7EJmM`+PLJ?3mcTat>NEDUk28Q?Hu=pRJ?WR zY@wIoJe^7_z4P|qM@g&wt=2h#R4NfD@aZV<>BBKeO6;4efUivlWXXI_E8gp5v0afU zw(lj2ZTwB<(*(IroHY?&B-cmj6# z6xA@JiT($L3a`H<`(3mzZLH`fksDvu&srxNj2bJNLTyN+rkM)cZ!{Pi@VIf8`3wbU zzP)%0kN^K@FOvH#D>Uzd%y`W|LgfYhAhnZF1e#dR^=Jm*>WRNATanKat;qXYEAnUA zWZVfZ)yG5zl`V!8lyeM)tg^r3wHPx_tuB~SY2p(*gt!7-&FufT-^{RucSBa4=mL3u{>r6b89e6v{-u}z@u8I0(S+0J-uTN;JIXMrE@CK&@znpV>Qv_9Na z{r^w;Us6X6IMLni*ZSY(32&XMPx}*PMOKy2bODf=YK_RB+Jup*Po-P zj2~MMiTbkvTOyP7XVZuOhxO-_X6w&c8ylCeMEOaixv?K4QU0{&jp`41mbCpq+t;vs zwcbSa3-6Z<#*QYMLV1=?!Uu*VorNjkBGMYuU4BJ`4n)Jgw-#b(UxKZ0(RLC^DcfL0=@=W@ z9C#StrAOKa-lNotK6To3wO$}!=i{FJP{SoJ}J3Fm_ zuXgsuss-)WSX@Je2QBJNuw&rx7h;)2jt4}_+5asQC^QhMjI~F}ZcG@7*d#%`Kfzl+ zkmI(SB3o;`#gAiCNHc2O6PmF?ot-Q!LqK;@D~HvxqO=M(F_pJHbpqRhxdpbhm+xog%I`80%c=ou8 zWMrYbRihAv5R0`KGC-lTQ?&zXo=z*f38nEO951|yicRNZ7nZ-8TY{kZ+o-5?#xGH3 za_9$*47G)AVWDcP%z5~r!B?OnPQ2)h-U<)h2#pVl8{J#Y*Hirun#<$M_kEc+b~h(bT|2Y8J;WS#$LpY zOg>E05PJo;Lb+6E61x?UVkR1qm`&wFm_k?~6IPJzg0MnMVNocK*OKfpTN~$|*h~Ho z#39_1<7ofdPgo_6Vu$j7vE?+GKeXS~{_g@~mXHiD`)9n1BX*F|+q7_uZwRN^b*NCH z9#RAGNAzMyn_5iACJOk%mWJCQc{Gzx_JtMlb}#Dha0C?Ntk}!gp{dHhN-tUPKi?vp z)K{eUzYE+by>9>UPD>oWqvi>eV4N@!aMrlj;YH}F>46&p#Rbm#kb{kb^=;v8LyEGs z_p1ayPw=roI<<2n{*Et9K2Gmyv_BFP{YLjRUdNj8puys;mVxMLa^RA%vD2d*ufbF6 zxe(cK!2Y{k{$6egE_+I6Y9xb@VcC-zd?O5Jg?Z6zd6A%69vSp68KeoUet zqKJx31r$prHQV&2BP6PqF&P$)b-{*DVL(YQPk5vXfkHfq+5yhgnrYa>C%ZDc{81qj zPB_&(RwfUED?nwRgNa0J2yfsXiA_WPs`8Q$k6owrBe4jTh+yioLJ{(eBsP|Z zUA#ZIK((KuDHbI0Q6~;fbZITXQ@YcOHpxB%E1tW5Mein!p4j}7%x{!eyl8Sj7-u<| zkKSzi4sM-qg-pCIPCK){t$zzuTB-JL_Pm#_LU6I~9sLNM-4mnU%K8{Y1BD?Yi%K6#xHdMZ(J_l)^Af2p01`5X^6tl~Ow}yBS)h4nxDe6m+ zMd8}4IJ~7ur_7UsVYIDDIq`QA_DzO-F%dEY`6a{c2|uETi_H`@2eBshr^xo5cMf6N zWjoleZabeQTMVarZvCEr@aTHst0>|aq0|T8C&Y@<{GPlXh1mYZEA~ZBtZAp2RYvQ< z7}OU!dlLge9zdykF|G}tG5rb@zs~T4%kgBgzR9K1sTl1OLHCYpeh>8cV*AdradN*F zJgLrigftdP_7}A@p!>|{H|h_P>w&0ZJ?+vtw$_Hyc%KZ0A>pg2mQ)YnQtk4dG|lG( z!Lfi{Ch&E@&mngIx^@ndq#qSKa$R8}9bxMOhX07mv;FVwO*1`gvShN!w zs`Y(UPN|6nu9r)PvxX6J~2gknc!I#8UOIp&ux$M9%a z;*pKfUXC+N?$wKak9{`So2d4sh-35;^#i`mrxW?iySmWA$b1*`ygCm}`Qq;(2-P== z8F?b2@Y)$(JF~z$+b^OHxD)+>l!?W`F2Bah1)_OL#i<;8{)qFbtX6Pq&>15%B)A@f zhoLy{V-wnm)_4JK%AI%%GB=g>VyDw7JO6+V=$lT5hbyzR#%p`4aSlZQ!`@V1{nT^q z@|oCxeIn4X1)Dm)Kx%n0Po!1ojl<+nF0w-IV0hyz(?i}>6j8{xYVza22LZRKv*5^Y zcMISi7?F-fX%xn`@lFYQk#~)zRkn8{T;{GgK4WT!#_@}0WJx+%?Qt2el#h6AZ;gzj zX7bbdl`(3WC2@~7f0oACOx@S7wCRlO(;xO3iQrqY>2LD6alh){VGirHzEJj-lytWs z%T6i4?(u3mo`&{J1R6FW31a_cqlu> zaJFTrd}KP7qc4e7gCNRz`AkfCe-Nz5U-9-R9Zw{ULHr=zd(V~Dkeu+^f60v!i1NTL zG9T)o3AFA^YCJ$&LEVBug>J+y#MvXh+9`JntqzO$9Bg-_P1Mxw6qV0G?nFAqhsbh? zY{6FVkoQyM3YOqgeVs`0p(d2gxkmH zt&2qYp#wXjw6c%Xd$BYd`C<8Z+zDTas4{5D#A@sF7DSdF&$Q-0iRUG=GsV)bY^p-e z*|rrtg3Wz6J2B++OHYo}OZD2mPEsB|q z7AVl`ref$ z`*rTyjbqQT%HD2?^7*~>@OXG6$_Hc6Jg6eI&O=e7a->q__%T+9XRdWVosiq;AXa3R zU9|_Nvewdpao*ZkUnIM}+w&q5V?A)=VrZ#OmZT#NoOSXz^L6NFaFQz>V~B{WIO6nkF&Z6rw{h@@5=W9WRQUe;m1@-p(9%L*Y18xE(F!xC~K zD4z@+Gk~}6=`1UGDm!#W{YQ_9oW+5(o6x19s3%XOeFuS)r)7RiLnbWa>e0IO>s~P&W}XZ#Q_3SsZ3)~ zmRqj57JQz*u&T5fZP2kam1@g!Ch!5aR~7c44LxC)zt~2I^&2pjD5RT$n(rm zcWdiXAE%le`2kAw4Am9nA!6vbGJw+wFx1#re;FDXWY@yWksny}L?IC43wI)RTVu~& zF9a@fexR3cdKO}=+nMr)ELPxLOx|9M%8@#)gd}H3R&)krqIkqkP@Od@jn)ugEJ#IQ zm8?Ol#F5U8E75%r@PAQ>uxSk#omPqAphi4OQSOu<>x zWmI5Pzs~21te1O5gKozM3sZ(+kPF|@zWO6rj-rjY72q>8_AjE4<}~g^;h>=TICR3< zIva2*Zw1@SiVi|?i_L{2SZj=%Y=?JY*A|v`XbBr9!o?ndOO48{I#>5{h*0P1UWnfm zm-BhhR~>XxE3D|X63UF7gCBZ0>b}%@zO?M7&hxz(zvJ&F`*WNhFYAUO_$T;?<1f~z%nv@?9Yf>F5y3g!YhB-h=<-_UxD<`70t2o z+F|{o-zeH!yFhMWXla*Dr*YgI$Pc=HfBrVKH{qc?Zo%GP=QHp6$my{*c%Dq38V@D+ z1Zy24Mqru$X9!P!~D};$G8oScf8+W5TQ_{A9#2PW|UADzrh_v?XI{- z8Fcz$Uf6F`$O(+XV0jd!Jy07M?~PpotG!RRv3n`k5ljSu4?yuO=W*y^6coH-DR_ss z#oj_W36;*ygB>mv3eV0Ch#?lXspVcpuVPKe%`0$@C*}ueRXe-gA3&R$17{l!u6jM5 zM&(4E|Fj@^{u7RVI=l{tKhd^xoc|PWMLc=|=zyEG*e>t-HffIkaI#Tj?WD6flcz)# zr_sH$17o(tfw0tfp?yskr{?1vEDYt2q(#tSM6l1edpGPg^?M@22t?Ry{Nof1_3#{B zLMm$1HKlve=NRLb-XdCj={EWg>O^ZiA zC~`;R^sqp&Tv09>Q;*V&6}zh47*l@|KRp?qCZVM@slJi^sdrKp?Ni>pSD#+pJ4fUR zYNG3hSLp30W#{)G>|x`*B74kg43BAWNzN~kPApMEK#qg8pgsQ&d*1=&RdN0Q=392Z z+Z!E}6-BWCOA(~(7Zy-Jf!+PG;G!UPffd+Ac3FxPMX_tZURJS1O^m$+qav}F#2Q;- zi?M`g5;Z2qn*Zm{ojdQn?|TcY@%+#Eos)OYzISKlwz+fXPI>cvtN(| zrI_y=d~_8Zd7P+zbLQYJADxZwDjr;k&##TInt0}y6VI;3Z;&RQy{2s3fjcoKZzeaW zIJ06j{QIyok2F6H!q;8VDNb39?_c11C-`L1bgjt*On<7%2K?dd>fAG{3!~MsXmy7( zablrrG)8**JvH^)7u4$orw+tuGYr!_S%(D9J+;wq{|IeD`YnF0>g(VXNH$Z*!3S1o zG5WhJ5T94#!!)GpCkRJ4?E%>?tAf*hk6cV+fUVy8^Ql*of!DkPK4(6xBZvOP6+?r* zK%A%bE-!s|osC|q=NjmfdcvXK+8#daeasRWMU&t3E{0VX{0 zFbxIne0^6ZC<&>wQFtcpwM%f=^%g?DUMKJR5P_98kh?$yXV=pdap6n|FS}YTP7Wa5 z*9tcO8No-ULcr>>YZlmIvWjh(GoSe44ce3FUG)g$ zUKpf^^Fas^-ZPt|COb4 zm)0+80C{s`>EP0NYntntKrM70^gfLX7lL)^(z*sb4kYq!T0D<-%x6)7td`ft#4>S6&Co| zSPQg+zM;{OHhJvok+-;R?t;1%VlAy4WLh0q(GWST8>)u-HJ3K5TsE64N*bq8yY?PC zx8Z>1(xr`ab#s=ks&8Hln>6%onA=?6qODv%x1ph~si}0q$~tPYl^zE$nxcUgflS*# z^qOdl1UD#MHg{3|{Nbg&>HoA!Ipw?Lpel+rKwxoeuAnxST zUvp@Wb9>s^t3S&U*Y&q6*+=s~w)cWr)n8I1#og4efi>6pXE zPn<%XwscZu#W>u?m-g-3H@kOJHVO})GA_MHDlVOm zGcGKfyL>o&-M9=o@By=N;XnS(M#=2nO$Sh2n;RP;tYMLdzoDDo*w8!|{~dS5><0Y9 zTjDey?uno>uddYg6v*#aI=Q~7iIg2vb;Rt7DN`zIDryd&ebn^XRTUFcqq42u!k4)$ ztVdL#s%q22-leX<`UPQePUr)Ap&D>xi4~R&IoQhi&D_`?zc73RpLAGKw`Ml!F`ELF z5Qx1EJ{iu3M*(x6a(K(~*$e8pjL5C(Y4l!sh-xeA(j}(hle{#%G>KelWePpD2@MCP z&r_4>_To{)^&`PU$O;cbuqzSUQOFoZzDGFR^L#MfLcGVZs|f)aRmk(QZb0vxV)|bh3H4#@z3RB%1bfg z&;Yj({J|*5XHi{q>ERQ`rAimBXk2EbwS_0aiaL*HTy9uUx7wpC87f>3e3AZxcEbXo zd!@C7Z{+pqz2HD;`R`3fy1LTB^>XDL0t+0-(c32}oQ@1Tf9YI|Zhhv}H`6e8V45BJ zgRuXy#sw>v);0C-Jz&44{w>S!@3~j5?n?>B36{@WS-*6FU^)F)HmwNaEU8=3P`A_~ z!QK{6{|E5?^BNnQrPxTKR@pNi|5Nb*UR$-W?JTjKHPbQh07PRG<-^)n$4Z_FxkM7C zEMJ<}&^)V8@3lOIquAbr!E7m`O1n^CSx~oNt zq zE1|RWE#sWU$YJnY0wYYF!8jTBP+n$Y8WcW*hyDiHEzahAc;cp2(jN$JH9<8Tb zS&pK_1WqWOsNzIKCu%tnQzt^bIh@E)CnK?#6A4AyF6Tt9PVj;@D_=FDg!Xw*nPN2z zkCQl2qNX6Ri4z^v>ELz>C%ULhkT`=A`>3@*+ro(h)j3F9%87$?;%ZJDtP?kJ;t-v< zofG{O*?K!C`fJ^Ga$a!TKGuh zWhSTrbE$zz?YzwZD3_X2=iVZ@B~CsS;g}hij!=}(@JJ6_uHnqY4M2*%0u=U=#dJ_v zpDIiIoHSwZW*7VgfnF!ge$3;UnTbR2_N7RR%jp#vhD2t98eQ|r9p-}Lxo#-Ro#cX5 z1k#r$oYPcZ*&`s=7Rnn$pn-=FT*3Ln2;Ri-2!bCeA>zCw!7;^&!zppNVk^A_Sle#2 zllum$@+UVPr82F0eqTlT4ENKpHc!C-ax4Z1jke%W>S{W-up@Q(=st)PobF-?3cFF= zIJf&~3+|lG!xN zoG7vB92-r1M%)d2{ThVtO2ZL-kLr6&-{bn8q3@acp3wI!eb3hS9DUE#_dI>i*Y^T_ zFVy!UeJ|Gc5{6mzMA72ct?Kn!^{!YvIz`8iB-NcLDXOiWThvgHA(d?ORC2klBv<$Z zf>G7CT&gvPTdK7lsuMj_n+#P4U}{;3qAiVZPE(&+{} zJ27qTEA9uL#pMfNkk zTU<(mBTRzc+dIdC2Y0eynF|gkFqb;Y95BF3kwz=!#KoFHA5L7N6Nhl(QjJ!|iOY22FlR4Fc8V`oJ)jQzPsyx$C?515o%8>v zD|XPbI_i5TeebOAUG%-HzIW62?rhhRb$3Jm?tMx&J_g;j-AhiUG1sgy`eQ8YDC;5=G0Ed{+(w5nFVw#>#U>8K3E2H z9H8M`&9dV_jm4d#;~-taoulJmo#^58BK|u1b$q((M_~VBwIZ9Nuwz!YzBoz1>ST8# zJxwA}*Je-wk%zaFIcK*X% z;6m-$`Hh>2m+ldr-=^slw`b>fNI~}e&VMAhgGY-lJqP26`+h`ub%FPB4X3W<$94R; zo*zHu#|`|rksmkl<7fQ%IX`aZ$1nJC3qNix@G3CmXebb@y^~9mn1v|oy_vMjOi(A^ zpB!bi>RAQn(=}E5P_}{hC75fi_H%2k_9u_-&~@>G6^@#WA8DAruPO<@l=)PV_4+V; z^lf0z2a*lq+qv4A z3BuFLC*nKRjaKhpqV?iTS^le44 zMaTWv!Lv1S9TAfot|8+6F?KOABOP+8Mmmd-$gi%mNG>LZ4>*0S-|tY?74K%9Sbr+y zZWAjbRk+*41`rA@EQyUKJ1jPMI9yk|Xzb7$WE*%0sgvkBzj?J28%iuV#>9pZdY7*A z=Pq|*!%6K@rX4|W9|~2mkpz}O3Q2PZw%ELSB1M_G`<4dIA(XH7qNPL@X|J!$1g%su z6Vz#7RszoglTre^sG5wYk=Unc#e7Fi%a}$8`z&Z`cGUC?>c8A(>S&Ecwf;Ty(WIqn zXm(F5H}}DTA4eUQO?}4E{Y(wh3HB~ETqg{l5t@X3UX9GAwR0CRrCz6*E>_cXA10<0 z#Z+xBsleW)X65P;Si734%O$M~_rc2_M=i=Fcj4}$>UE-&(T>-NKAc#Rt8L1Or8;pK zCz^7}Ek<)If{2`VNnrBa{?yn&q}DELs$1kJ zr-bkU!@#O!62bM3ij)wmG91bfc)(C9!r>oB<&~rWI|Dh@v!s?%FcZbN%mnpP_=UdH z*v-1V&APn{RMzM1Vpq4fi>a5gZf|>Z`(v@I+q=c0+n+Qm){Wr-FIn9_EG7}6+h@h1 z+b^IGYjQhlvbX~z!jEn*CWv*qz1X$U?W_lEaVN`bu#mP2=MFdu#AVAIb$@XKAZNg_ zCjD4(Go=So*>lBf35He3^D`5)Qp`-y+7#PAfCo{bTCBwoNEiLHIl5G96@F+m7>X{| zic;R8x?r(38i9j#qb}A8Q+f!LKHhR00>wQkt-PBaN(7^@DNr`oQ5%a%*kP1KSM(pM zrVomSsTzRQ&T!7AjA@bexyX*RAZvtVA8vp(pc#UCpTRaku8(pZG4xZ8Hk7|LlouF_ zA>5i0=U%M{4+t(l)x1~^VV-63$4GJJn}Ehj z>fB4YnOEt?YQnu*m3hjGflY3}<%uekyCHp;O2J{KVY*CPn#V(&-U+BQ)+qB?;}YxX zZ+69cyHE`*z8w@C;0Cc-I5D`G;$XrVO-iamiwQrv_4Z>qT~Yj3o!&Wn+`N^D&SQ#~ zV2nZe%pp2jkF`>%e~fechwc$>y5hsjh`)QO%HlN`(vo`H9N9sWj)@&d2zxMT{Bmuw z=+>RH;lgCi^6jmzm>vdH)y2Dr+smdb`IG^Ia=(l|<(2EU-n$?{>sV2y^~x`Kz?HYR z$UC;U2Mm|I$&~pWLi)6`HyZp<;AytE&va}7dBU+$psR*?W+7Z4vJP9bBJV(8t?^;0 z!EWiHDBa4X6c{X31@a%@d^He8^SW3y)y}Olp+YxR=0k%Eo&#qh&(JQI$u9XF(noA2 z-3p!Y^iZ9&Kd9l|Fe+eH->H}&8VS4Tf-;PQ3=J$pEbeY%ab}`7eYi+-_^xOsJ0 zIN7nk&T^7D1{l@L0F)1j`cl0LCJ#css!5i+#a#I(wd!g?cdq=CMO1m#DEcXSZMU8WiH0GbD?zAR zc}GuisZ)!1QYWpxxri3uG_;&%-K0EYhe-5HG|ns92vNz-QWkEXON(wLtoGRF@}k!X zHE5rT)fi;Fm%5^;8Z}5>X!4V18bCW(YMV)=er|xudjO<8Jsyr08pp%`IS4B?db+DivrxYF73piv)x^^EhY4~i1E!!E%DvN4KbbCxyU33be zhL|eQwNgbtCoTOoFF(S%KlXvRs*bv;Xeh?PGeF5$km}%eE>w7wdLBGM7}QIJpzW!+~dWafENK*is3^2sGFBj4@g5g&^*sm2*>@UNl;Ppb96bxjP4>d|z-3gBR zvli<(Q?;b^h3aLazExEgpA@Q z_1K!dzl^QlXbRGTxqoZZ3kkTU!a4~e^TI^p)HuJ*e9n4IQa620U)u-@e&{UP7tg1I|qr5%aV(pc$ zdv+BMnqv*ILta6>s0A5T7iq!B0V02J;X76rFMOzW6x*+Eh4{Zh8J@vV&uR9|Z9-*T zXf(Oc%9>F4ftBTjCu&*c{JmAC5~Hc33eN$3)o4VCszY(Bk@^Wnodj8{E7w&;;#p9liMiSMF1p^KO$3L3<#osM}tV*6rTE6K4}Z zNWEp9r?*f(aJueI_)IJ?xp@wa1EjHR5MWe zdBH=rwA>qEx)~O#OW_BELGuTWGUeXc*dc;eR5h2}lD68KCk|0F|S0OC2R;(+m)_=Cp$UkiO)9ReB{IM44W25afm!y!;4{6?0h) zyay{dnbbTQW!8P9uySs?ZL)(k~zjBbBsqO!)3&MoXed-!)c_R4n-+K z(;KXj8qJg)TtG+k6s?I#%E4L+63FACqcq%?=WA?@Qk{rW)Fqly4-FR?-kr47qDLCM zP9D5YTCBm#0#;j=y3`%*yZ2Ure>;+OA+(G;yKYuF$e*rr+%0vr;3`jK0N7Tbr-_hPGAu zQw!B8wE&(SVV2AOAt z0KhqJ8dmcLJI1!I~}Yavowi(FDFP3jtnm z1%62WjRO!g+P4DV1XRxoJh)NO7_w0jx|?=T{%=XF-AxN_ke20tvL|T+^3&J)>?_^5 zZ75djw(0J+4TGi)6O2b&z8Wv#;xWi(&CYk%5DXjof8~*bDhh7Yqme}OFwMX7h=x4z zOO0eG-pJFQ7#UsH^CN!$m8CLj1wlM76N`; zDbu7Ln@D%=QFm#pL@9?n{VsMXF1w0-`W0OU16}3%G=tiwug)U`9bFk@pT5TW^tJ44 znF;!B0CPT{`xniCNh*?XWa?8Fdi&IAET8subuT{6mCqncIzzj;7dBE(WGOTqCn-om z3gfNUG$e6@S7H-Oq*p&$Vv{S8LBqM8IX`STBWd(s;^j6 zNlFiCa#XiGIngjgAHnKwr47*&05@$H(hIhDb`{s3<~TovCh04&`B-h6JYyY)>z#KP z*W1x*^w)Gp( zur{$~w~1O|OlVjR@M)8&l&dbwRkSTcJ>W7egqq|E-6Y0e&d>=(d+CIAhQ{KiJu{bv zFfVNOa?jC6^-SWtTna1PsOO1|IMQrl-t=~ccyIFX-jur-RLpymmSgl;s|(b%M1u&y zNycN?oSPZXm7rSU(zV4?wVs8o!ok{0$McCqwxso`QKUyxrkbb^6XJ}_ z#`1d}pd7w(%u`LyodVu79!J?V8*9>wO}=e2eS*k6u~iRJ(>By!S9w-yZ5`IY$PTTt zef6v|L%(W$yjtp+omS6m-6M&ZdS$LQI!Bp2%ZvM6MQ+7Qo|)-qIIyMzs|eEI<@+I?~=D5iNYRh&CG z30Vi3{N&ySm_k^oAtsd?Ex;rJrVB970LL^KfGEq4zl$DxVVSHi^?L4s^9Vn<3s!x;OtF}=qu$T0x(<2OopzcW^N9T0H&LhA#A<5W;IJ+XNJ|EVot=DAabCBbEZC4o~;YeTt2oVqgqyb7oxM}j2ZI*xlhsN8!zsHb6sCE>oH*QW<8 ztrS+$aiQ=kG~`8y%sovIw*K}Mqpy398<2GMb>0zv9zm3E^6LF4K`~*+g}gPj%f6rF z{|&tCD$&+f5Oi&Qhaw8ZNDcnePvtbfmus*fU6B6@`lLO(VfhO}%6E<#!k)c9v{{HVkZ7laa`Ov=Sz%pp}OAQoZosmtmimOg;}cZ<^FG zyFBO>w0!VhYIzXlu~BfMgRpya_6?BMYrs z)@oiJrCdV7h1qFq)qAM}a?d>yRy!8?Y^yqhQP~KfnzmTIm&z?jUSjf+=Nf>c|8+>E zZZTPv_fhIGlS;iHz?%jL4(<2km!mErCJ!GF9?YLl=m+dH+W9(6smWBI=KqbbWXsTY zIziZN2zv~qo=)TI`!-mIZ6kV*BOW5Ee3rl05m2Q)hj>2EpFpTV@2l{>h$F`8pZSeI z-Q6LcPNIM+_!n^v43JfULp+wmGdS+y5D)$2BK`P|FAkc?0Dh~I{}vW9!8j-gyNQFP zQk9eP?gI~h9F)S{HtD5A_G8CE-|ldn-bC)nmx#G2l6aQTaN6YC8Ppy;MTiI`5tKdNq$<1(Pps4jh2_}qXjh}ZT{s7*o)^r%Awu?q)H{Wz z5l1^j=t2M0$OH$`$O)pM1e? z$0?su!9An!D=+8ZDW4p{4Cfj=c5-H64;a90l_17hg-IWV@3c--iBEj%_Kg?D=)5XAwc}fe?qvv6 zM$uxltQ}{o=&)?~BGi(cnp-vD0buQE0a_E=x@BVq#K-V6Jv`G#Tw58Mgl~ct2uZQ6 zmu}2(Y_Pdha>2-V)LpaIb*MPLyHuW^YCvwh5>9&}@<9%F+-xvXKQVxvpwb?zwH=+? zrKkw&Bkp|NjUMi$hU6Ahq1L&Ehh|;b38_>sla=Zxz+nQ65nz%4M;jn`-tKQj_d@R< zdfv`jlN{y+Fd_%o=rrMQw=LTAOUL<(E}9ly3e+qWs0RdE0q+9I_7#)_NUx#@w zH6r)dutZe>EW`%xYHXF-*8nh8cYd*lr{w1F>|fU5NiNWdfjBUwWZ!T5D5ev*dph^~lK zeH&!`QbJZQWK1w8XC@Jv>j3jqt#5;X_u}W|=&u!^L~k;wxtakXa(Z5lydRUaXwK>R zIrQxmx(3h37bMmE9C;UK4f62QwyAM4pMIl_v-xZ|{pih!sA%4TZM= zlNCNXP2t)!g=eHGJj2?I6+R|S;bVS~!U=f=*GDU?PQt2?U%~a!`t>7=r~`A{uN)kt z_2T@4v`!2kto7-yjd!rt1@i#V_SHD_R;ZtbIJZ4;{~Y=T0ppixsSFRuq3<3sJTT`R z2pMn!)aH!gIX5H23(M~Vjx+}12I`d~?`BBLEV|)Rtq*|{du}h|f|Am|Cap2;`$;x^ zPeHDqMHs?c!=uIFKFKDSE^e<+_?s9=V-5jHpIHw4>f|5U;^O+Lx?27fpBqL*N0(AL zZ%#veE2`ymGHw74mwTC%FYKHI0v&eT5J4UMlJM;NCEFJvg0Ug}=f6(H@6&bdo>MX% zx_)T#ZEt$_QLRv<33c%OQW}w2U#dsW5kz^@1Dv*_s@}x+k(4rqqrS*q(>6)P^~Nv; z8?U}{UL^E;yylzrYozEMoz?WYhecCZ19Ke;fvcQj-v*x69^19)jPr92MtzfK`xsyH z{TWxKGwzskDlwkxW4!EpGq$cluUf7FM{*5*(X-rj5PENO9~aUT&l==+$R|_KERZLE z_*yBtc^^EaG7PDh6ze0cWFP@MC} zXH%>*FU6a)N85sx*=|5=F<~Y%K~>I7&?lcb;&s+Kf=FL~G*8t!?^qd(TD_J0ANmp9Xv7)si@zKrKpmL< z6!8wcMic~F;*UUWaN8%l2nN+J>yO7+!k4h(>@+^MGtzwWKoFxdQed(96OljO=5r8o z;FNs5uvt^k3=~CFO>XZGv!t~M?*zrzs&z5CDNjK@%<{LlOTq2?VU~Z6AZ@H;mU|tuw_tsf)nyj2 z_UxSNwR5fyan6xg#smx&&pw^_h8oQFok(IfA$@;?WtuKTwdgKY$;kdKxK(vPS#|k? zCRYl_W>n2bUR5pKChOAh9`(0tc& zZPtj{?Q)T(HscpuB;49hWSvR8f28>JT-FQV#%2yQT&VSJoFeP*0&!UU%7nc+pW;^w zzVpZ}fz1Se{6aOk<<7I_B}{j`>M>7R?!2^?J1?!}Tn-%1+%&c178}2|W)V-_rsrFs z+@@~Y7a(l!yFBYnRLl(!!Ir-^>(IIXWy_CltL3lHI)!-uNG*Rw)-&LyoA`%}Tz>*_ zSj#Ke)@}K9ZMQtCnVF!^Z*%+4uuXyHceW|IV^Y#Ox=z}EMq2yNNNazW1GV?D+}`+# z&deF?c_f@9Y5tUS1=<)nu#n;K(V@J)hzv9mYGOb;3> zXf*fp^&ZnZhFZrZ%<~PpYW-lL^p2rvy~CxT-Z0D^$A(*0z8GisL`G))n(DKMNzmA= zy&(F(a;7#%xbmze#QS@bXFzOPX^&%AXKPw&pv!G5H7}M{>YUa} zozr4imn{091$3D;m*qHwzWvqBCPy$9bTh!?i?C`&OYf&!I=D%`U)D9i2$@R!md^(^?}ltuu~T@1_ZIDcTY=EKJZ#K0$8lAG$dwb0?MLi-M>-)zS>nL|NQkdwIDs9*bQeT*;_%Eo>PHb#9wQt6G3CMOo z<8*gYrdlVas{Ms-xK!)X6Qrk1P3tLB(|XEO{jU^=ih9a4-BWb`m~L5f|8Ud6Ma!JT z=H>sT!?iijJSOoH@&1wKne!6eVVWO2&m06|(>B;s;fwZ4sySaK3M1Y3GXAxK+j0fg zyu_tC$c9 z(JIBoZaNqfyCu$9fp!TE2H1Jl7h)p*3C8yg2Hr2Mn1KzNn=547Fwdxp%iM02~TeL?RWkWt6l;CZDfU1tMI^dVLAve414 ztR4diAB%9frwk&isjoA=v+)A4Wb5da(y_kI^v}k>&h$?yzs{6bEOv@=KZv28^zTF6 zc@eUzW!|!@4beo+eR@}#=v`@|ckNO1;B?Uwbgg&#MBiy^J$sdi-kB!arQmR}GfkD9 zRuu{#4`27=FBU(| zr0;L**1Ew84Q`&^lo?qKE9&6q+h*z^y4{r72N-U641d>lTjr^RwdWAob}Pe+!&~oX znJ*IWA8Gi%BeNTf{eyjBAc&1G)EX0|zbZjRI1XKC4NsUhqPNnX0=M>sX|3&2SmtRP z5crjvcUOSB{&Jrn*R5#0V?oQ)1i2LKR?E}6zFSUiwZiTCO;!|leK#F+u9cbd*Lqzi z7#!AR-cK0+joX9PeF#E)#|{5EhZ~MPbF6Je^2~SXhD)_xgV`xN%-A%C8Jp%HV>54NBE4uh+;xy6 zENgZUHyv#LX_>!T_un^vc+{xOOrSD9Ro=sw;dSZHGA=6Oe}=@(^K;8jkNTdZKK$!RnAooI_gS(p6AjnRg+Wr+H7}5Q2IrJ_&`5~N z%$#^~nA^!4W9yJ(L??X$HiXmd8K-+Wea{8eGZ_zonjKb?GMFaSh7~&P@hS+&N#TYz zpFR(gfNLS&`{M%tFAcE8YYFH$=>bd-(f|5Nw}UOFAD2({6#E&`|LAgA(a$}Ecn(n59z3z;Rj;FS(*R?qxr&bB^i)$;MP_jJ1gUTaB6oiAvgOL1k_6~1+iXDy{97@E4XOFlpLX*ktJ~<(@tRTnyLj*}doC_}Jwx;<_7~zZc=1r@riV1up~5f5>EDUc z#og>BD}e{Q@8VpF=?V#v3n5Nl>eYD5>F6OFOqm7juw*{hrvJY|g_i}xcBqfR{i`-is-dC87MoSv|)gSB^nBc72|AVr2CF9F1^#7@YMUTKX8sP|oL% zfw(e!ANn92XIdFKbcz(tIdfhAw=z?_6owHF5us z%htsGyLfBkvNvMlY+CxnxJ+ue+)cA*tdC1vF4Lb0+z_V^$#NOPq|qF@sg3b_^^;3a zij$Ufar)%Ayo?M_Z;FqMF@E`34>3UZgaOs1@#oHjPhDZke6IrqDRPhZqhY>yYkl+f z_+DrI*U=lnPG9Q0_>xd=g3$ixeSQ3%P)aMR9Ioozy9_wt!rT;Pc8xW)8Mz`)Ki|Plu+F{9a~*&R^&{IMKdg_|tD8ee_m~C$567u%*=kvwZ4um@HTv8l$^d z9Cv`HXk^_(2J$BG&cjZ zg79R_zAM*L$){r*WU7dX<1;Z@s?o)+_8Tj229Jq&skq3E0K<)5Ju!Si@5f4rCaD7N~1@LXl`E3Vz? zEk?hZsQMGaoswVf#gIOsj#SfpSffI*j#4fk*YD^zuUCK?zNvrnn%E#6#JVO;OCMtt zj3+!^!F{ofW4e+L^KHhAZM_L!wD6UDVR(3Z*7e&RrvUb%uCdb79Z2SZoS(+2XAA~?$ADsEr^8}QFdtmuzL>o zS$82uF7<1c`aUfPA9xs~McwHmK!ntnYVCia`2L+*9A(>`ODcpp>@WjU>jSBD5Rlm} z^0B=nB5diuv-8lm$g<@wwJ3HOBbhF?D0XvNTITGdDPPscR^@tkIghv9hRZokQF4g> zhv!Qy{~^uG(Cyqbce|x-r_>vt%WMs}tjRdIrbvy)n~=DVB|5wv#dfP zyCt{9P6A@f6a-64)Nilf>Zm?MLxbM%Htbf}KXSItVi9Wqe%&hm^I7OIuwS~#b zq>sj&YsTX_96mk=3mz}$#AtOau-+5lPJFEGqU2#i=!Q$Ro_?u}gU4!8$~{yU9UG%E zx+>N@z<}JAd3HD1_I~Tp@yi`&F9@JwZL7pvj`Me)3EYLUi`4~Kov+~b-Z}+wh9)1? z^c|>_Z)cc7L4Ski^@#mIKi=f8^UMM$E?cMS52O~0L_!dEAjBW7EcytbUt!VxY#y}v zmW}774XqDeHW)1)1*n$anSA|~I9*FUiPF`yp@dcl9p1?9(ZTsAXN0WC5U1N40`v|x8= zYQr7Kl{j29Mdhnbl9owc&>dDre+s%ixr1?2#5DT4hKaZ24jjQMd@9`)g|4_%>+tJD zrHV9_Dx#titLSpzh&I-8nx4F2L{QVAliFN|Gb0OsD0g{KtL8O8jX#)f$-3i_u;KU)t z#Rx{dWb_K)?J4SYLgk3>-(Q`Li2j`tnkQ<~zJh zV3=^tbmXOoJB4}4=wW#sW|&@eBUY{0e|Sq@nk6 zoJo;}BA0K1AvJ-qcY-_jq*2}jY!>5>5&ceaLyb|$krK`xBiXcC!Nr~80iTatX>e5Q zvp*9bc_7V49H_*?}yV}tM1#$Q00is6`P^qrnY-)S0M6VHWwYUoGP z8v3#DhK>TAWj*0(Xoju*eGMJjgpWmz0HYtd2@_OrT(H$C;J&*id?sQy{Q|9MOTruS zCfjvM)&+FKrCNV|voz#QX$^UkZ8|da&#j@kf8K2QReXILGn2czEpjiSNiz3#&KcF& z0F*2-SZZ7(*+&raA2PXkh*zpnkz`Mk?>pom2$5&JhaAu^LcRW%5!zL@#%Z_N%DuI+ z)A)NMXMkH3)y!8bi_liBEW)Tr71hdDBPmR;ksT2!2;2a{6bN`D3bT6aw-O?3iRrr= zZ4;4o``Eo3dTGz`eWPu1{jPeWuf7oK z<=+2*ER@hE2b#J60omtNJq>@=8ks>@fs>CiKer`mebL&3dL1=pU`(;WU{mBm5^=yz zBh%*#zd(^8xA|n^M?>;yj=sy}>lbC7oiD$79PuYcD=cSZbs_SjwoY)R-znqyIC9x{$|8%*1S#CMgCY-tR#)3SBPE9A>@;iGq+SxRUVW?-(#Ll8)^EU@ z->~-4K8>|h9bu@wxRP*VBs%I^sX^#qyr}4?E5TcX9d*z%5jTSqM1|`}exUx;H@W^9 zw(nFAKy!F6l@&>jF?o8QpmGXQm9=zRK(_|mYy?^H6t{DeW-)>8>I-$VhoLK;B(eA} zlpK=`ivLReVDao3uPf@eirkFt^tzTtN7w(LXg+?F*76NSt0wx~{F|Df47;HW4Y(bo zjP$XtiWfFB!jF}^4ER{n+ZDoJJv0m(n!kEz{%UB^Cni}{oX^C`w;Z+pZVnd<9$8?AoX+ZY4h#;kW}YITNXy@NS0yZe|o@xqnE z4>%R=H8H#UG&pRo9UEwmYA~94inb9I4#DSjsuX>6Sf?=3S1bC^1YPu-B?jn-}L7*B-;jvB8N z?RwHsJDz(G$MaI_@`QFi-EgT^+Q_EvR;q&+ZRu6k;^@2U)^)U`$}*1Db>VI zF88P>2bMgokE(%q4lH?|z*3;|S#}|Z___wX3@g$w-W9!!W?!iFd_#{D^pawcelPY0 zg{Q^(7~NYGo$58#+Z22UF4q5H-~)QK3lJ~VH0U_TYn&J9PL~dqc&b*~S6+e_WiJvZ zHO(##GBqAwgc(43w=lpp*p?p z>fqWc`QUY7!|cajswzcBUQgG9C~y=lYd6*RRC6 zekIOpUvec0Q(FX?d&5@JWPYQJ6NG|GUH94jaLS8JcJeF%HX1-rBvV(Ll&vqFsiMZ( z=(IR{gO4qsUr*9Tb(yr*2KvVp(O#(VB7G=&gMNLhTQYVQHBprQHR7UWbC)}@vz|sv zE~4MZ#Lgx(-Kep%wGEk~fGQQGgF=fIJ29PNqyl2a^Oty5geany0IUBB{0z%vn9^_b zL?ud_J^ks}Ui=%5k~&1iKh%lnOO}>13~e_>F94z)VGcdRi+9t(iQ(>g`WS?JZ~$Ze z1-sQ5-Oxe4->?qjOiM*#rNn@jD z8IN`&iT|@+9#3%@eVviYp7NGG%4PJWGAeu2TlOHAHJGvoJ+dG2%HGa+^ph{*vE9q# zE-t&ll-=bmyOqlxHf6VZ%dY3Lw@lgf-m=TN>?>1txwq^htyr|vPS)ijZ`l?u8)(Y5 zaGCDiU3=)>H3dc5g}e4}V@21_y6kvc*4a~5yx4&|oMy|4J!N@17SQ0QJ3!Yw!sRX# z?K>J^bjMCp#%ZTz)1k;VmnH(NTG#yAaVB4YA~kLDRrIK-{23mVchl`5x;=wi@LyJ6 zpSM3KlUvMKn%pddYK_R4YyiX72niIYKHSNOsgDg%`6+`$ z>JF1aNy|v6AlGmMs8;&VT$3lG2&&i8qo#5`9+i!_1r^TCKOgwJvvoJa*)TJ#t-?}V zISYI$=i!E{h5kL1T-y~xs+CRyBtJ4mRrJ5Y^ey#;$x20MFlwqmfbIeuAiy943?`?JH9p^;gVxKPkn2H^U+gdUBnCuK^;=_5b9XJV?B19Py zH*{IA&*QXPVs+woxpocI-5?f_WD#gpu>1tAay`U(CWo}Nf(hvukJI8k%Yj*jzEtaY zaGp%3+^`$f;{C@^{VmE$5?%@vy6pF4aCiZV)y@wL7-*rN=*czPN_&Q+ zZ8Js5n+=fqr2%F=0wA(=X6iYUVLh?Hu(&;xfo(ZKs~ioy%87KV#x1ScYz(5`tdN81 zUsXab^rk}Jr4ck#O!H zoCgKRHakTQYIc4B-UJaX^k01C+Q$z07ykxIUSo=q_X+Tr0VclyAhOk&{HA^;s&2v4 zy{+1XWFqxX-04dFM}QpTuc^)g>}!C^{s2-VBzwF8D!ivlh?g3cbLlgXMFy;*gF&`# zawv!lrzaT?1Fy0cj4Bu4X7Tv&3jX8zcKV;)!Lg$z$Dzv0*uicosWflYa!P=nT459p zVK_GDC}8MUaJ%`xZ--Ou=%O8mr69oOLe2)v<$I<7;@KRjjIX0YU`5s^a9Ga$<)_o) zHCmjxVj}SlRZGrNSr4=^)7XzUi%c-FhQ!zW(dp}1YaRJk%XCYs{NMJ1<{31aMefmePO`?Bm z^K&3S&lDvuH$duo186TSARH;O$Ww?%<$8$sy)`Zr*4;C{B-O;dt!V|pmZUkp?M)53 z^8A_U5Z~{dF&=ug+xMyZvq3;6MnASv=<7z-#PlI0xz3l0wEpaQ)Z-Xalw4?l)N%u8 z8;v6zDYD3HqiY~G+(v^l_9D9PZ6oVG^U;#ckFM-0-EC4YQ8Z!1fJm&V!ube>?v)`V|nYIjmX9 z98S4+v6_bry3}XU!7qVC=Hu4%@_T}HK++Yu@OMz;5{QlB2g<2y0nlX!0Abh!Zk2bT zH1&`{3F2HrI3E(uKLqD+X6HDkqRH<;ImHg1>aO?vpy4Md{jDj*O3hMTf&9OCsg&o( zg0$Vx4cdcc+Alfaqk3Xh8`+q~Y$)Ti3hB%i?Uq@Jm{~i@UWfmu9U@rcI_2J_S(dSc zdOi9GR)<`$PNJTHRX*a?eHPO+d_H%7`FN%k7aeV7J8!n6i zgMTFIvE{FUG|lkP<0`qO%i}jFZuS>%_Y{*c&gNpTOqCcVN zl@OA@Bmb{DpWgG>s(+2_oL9K&b~<3Y2kj(S)XcZBJZ9ABI;W>wK*}G>1tD(abs)mr z+%8P2;nj?pUPEH?bi0_)j|Bg!F>B&mFVziK9oxFa`xyfIJ$D=tiFy@!w5@CjD!Z4- zZ}H?)iyRt~Px@AIewe;%xo8jOd8o#5F4CCLcMJ4&<3H(Xl_Mp7D$@uAmCa0@ z?4y6Q0_pS#5xE9g>3Oe%=O0W_@977C z(!VrC$!G^INER5NvO9pv-ngauo2;RP@*t53l1nCx^pKYti<;4unqYv+$pFHSa%?Yt zfb4Lk=dt4JiK#uF(*{#~SxeaJafv>DDf+h@=V{5V zc2nT~KY(wewB(5boNj>B1p;gn;AR2tF@SE`W56f%xXJOU*F?hvjd+f3-=wfkT45rd zr#yM!RN0AcJ?Yj5H+GEQ?VdXXv^-oa^>>_~*g8`5PQGM{l5Y#}kpWU)2oN8eZs&G2^#_WJL(}u1-`M(Vd;!tHRS97K=hGs6sBO{E3gwP=R{Gl+rV`KCU9U+;Jj*^ zozqKMxJ!M^qQuX)U~IX?=zgEeq(_O1QR!kl;PUH!i;EpQ%0;=^&F+zFne@nW!9ok} z)sGCNFAG>soj>q!DzG%2-`^lKiM_NZS&GCH5sQ}iyPN%Y8aVk%e6Af{C-&BNTa>fF ztz75#JhF=|)7S+T>~M!AEV;`iEV))uhtgNi?ewq|C4aJDhwEJ8q${b!)w!gbhv!c{ zaBmmh>r$7r!(}eVe<(WM);qr>Cz{_qzep8l7IwzUaz7_0Cy6X91NL_&!YyMa2b;3- zPEIs`c+Q9%%FieOCe9VngVKo-70u7dp<;z(R-VN@3~1RV8J}1}$sFN?6MsrgEFp@# zeISoswC9(AbYxfjjCC;c0MV$flu>9hAdoYP_J{3?wdA-+F7Zf?J5Gnr%GIi)Tjn^O z@*t43=^O*f#1di9r4PjRKz>(XC%C?Z)-9%M=puG6@v!b;5^<`_UZ#G~+;R3s!mx3i zo~T@c>QZX$r789?vW$Uxd1UGGeYH{jh)F zP{y#cHYq34W$PHIJ)8?MmB;~3aVC|IfG+EaSNK?pg7|I5trkLDQHvY?_w?Y`%sF0|px|(p4*RUP2 zDC8Q$>_k63+js&t$6XSi>a|>ZLokEn_P{2>G1&l$;2FnKvkfTG&4$myuuZ67mR1Iu zALsQQR%f<{DOq)nTj?IK?ObhSkk0dx`qY~5skwIQ1s)dY<#qjxD%?Ccu4C$#N21vSmyCWtzd&U!*Lp2t`oH{+y1oN!xxNB zK+=S3;=96Iahy7GOR=Q4=F+wFX}i*`60vFNXS$FTyNcS2;^k@$ppDm18)G)hjfHNC z0j{4zA-f@;RdSqlz6`Y8dN%_TD>p%1r2*s7MqgGAWjTe_GtzZnKEf1bo7WD5>AMhyuQ6vt|kSfsa;FpIgLf0!CA;yK-g;xUbEcCg2e! zi*=UNLKl&lxOXv0rIlDC;7@GUQ~|{Z#JkfVDW_V%cP!y_0i|xrsS!{rM%Ap| zCaHg0+G+u%6(LkWX+;PXP?``}0=o7wOvO5gx+X_lIO3FT+h+2lvXqxDkn&tE3>{{g^_H0%{d@NIjJ1ev{DshrOT)`yhRpdtTtJjU9sB@C~X6*FHM$I z1X*QEhBgiaINEw~2a(8TzQRZrwIXjC3;-+aw_pG-kRCsfySr>a5S*CW&>T zHp!60Np5Crne0%79?L-o3O#+ z`ZnM@$LswJOz6xLd<1MVSrKQYBk*b$O~5rKE5m6n%~<2~O1IxYQ(j|911%;f^DIhW zY#(BZj<6^JF1KSrOV_97i53=+e*Hn0>5C>+ZJt0BFlCO5Dd#u=Yi-sv0auvUZom?7 zwauC);4iaTD6j;4&}K~&@MFw%=>nF3e>YjIt)#xRh|>go+8luat$@F?Sv^`$DFLsyS+&82s0}tmD%cQ#EDXA=ePgo3Q;?M|?iy2xPi$oZ1FxX`)u7}!Egj?&^4lcSr8k3zE2zX6 zV6=Hg9h|guiy0E6LtJa6qwK~3FSAs&;xtnCkY$1}+F+@w1QbRQXM+>u6sX#A(@2-v z#+of)tI3Kw8xz|kakq>~rY@RbH-&pY>#ulW%S#<(6+f7WE zVO^zGjO;pCpoa>hq@}77P#BT1gPZ~?3A!7Ts)IgnrmwD9f>hIkQ~@)#nx1p7c_#2{ z-{nrPeLHNEoSkVUx!WX1I-pDAYQxY9Ln~6E&I!5OBq0J4_&Ii4BDo|?q|oe1WY~-| zXew)9(HL6^>70X9*1#@Rz`$>s5%kY?J}~to1ODC3N|%*oV){Wg+|LZoPy&lrp(?ag zRRRhlnz9Bt1zd2B;qVj7DNwO=6vTMb+HPe8=N!WZ5jEFFRLOK@1k||G(7kP*p%GP( zp0TP4${V9J_~ zl7$~N@DCmWOHo06!Ei%`3*Am;pl~J*Nx=& z&69>O3tP)ijTkV)Jfql)*tWwY-Z9Ux;qL{*_e)#Ds;>-~W5}@Caj^k!cC$V;V5YT0 zpx<9&9P4)Lb5&xGzSam;0uHlT)dE)7tN`zy8=m)A-huW!$<*UI^9-y0O{T4XW7~X| zwD}5aky+B_Gi_aGIcZmr(M(~q+%lROWHd94j}v4xT^LC}LdLk(@a!KRp^dW#a+_!N}?hW8q8zC3J-BR|=zxETied$fXLzk06y5KirLT>HT@Vk#Vw>RkgptKFCs41qaPQ zI|u6((C}-qf@OSMx;i1U(@~x`ntow5o+Z(LUfZL9P(?)toP9Rfi!4v9#U!jmFs9)_s=&NBohrLvEcaZZR?5t1o2M&UYJXn5O)7~vd~17QOG%4CJN z)>>0~nI)_i@Gg^u)@t4+3E>vfTEa>MqqTxmqNw5R{`f?w!dh#N!4?T2rWBM_2G!SE zlIhY1T1)hjeh?x;G!*-wL0pHBOsVm1TWbpr9@2G zQ3MnLIAbQDN7nm>;O~|&7^zLsoi57vpb|A8-mMWsQY328DY!kW;|yf#1I!aP6p%ii zMi*X;3RrEjxD!aK#YJQa&)pR5V^L}ZoMN-43n&bUea$vWx$FaT5Yb+EqRs*ePfTV6 z6o&0)A2BK(Y*h`cOZ%ImK^CP-z$%+HQzW}pndz~S2I~!Wv!#;0WHHB?q6sdFFrMXR zS#$$DZ+>m}n*6rjnI_;jHfySY@?mf4xZq$A_`ct zgn8^BRMnI9I_md?dg1DI_^-q^tz;8{Krj~?Pm*D1Ku(s7WJF1QZgL?+z|Hf$ z%_FG`O)d}x+IRbwL;N?w&Qw5ZUVMONc-o>b| zTBFtoSZED1T|luJ@v7M-sh_!s0{+To)d={2&6+Nt*n!zes;{+5jesL;)^q_!+pHP^ zy)_Lw=prM(#p*Hp^TlikWz9R=wG2b&8oP)EB2I;^w^W1jM0rt<^7h0FzYYT|EPNp_^PU`efTCjghLexA}UHiM;(;}u#8Fq*dYPD$t~VM5}Je} zQUin0wVyshq{nkEvJ$v8meJ-N&|K9Ka z@%xeW>~&Uo_S)r?dv1bZ0$ozs5lMvrkO+j?KqnAD)PhbRh>dY46(Gi)903i3I2d4r z$qEo9q*x#Wc^i+$20dF#03Tx&y@)&`iNOtcF-A8bg&~+ zPhC>bnQ0zFPtmPZb8rHI)MGZ2)MKbML#eZCCv~V5Vj~@sxAce}4R&72stPdxit!iih6F{@AH54z3)n+-Yf{(7X9rC8>t- zHd3aylS(_=KRBDUAAF0{9-Qso43GA9+ztlZP?m8W1e+mV!`P$3L4U?2k>7)!`Vxl-p049hM^o9e* zx{a=tvj%LFRu4sNTB!Mg^zmRak4-3^c_S1`XEKo&L_256IC)=TZfhp(f*9}^jQ(2n1Lv@`;2JK+AHjOIUF!0 z*7MYml>){&mY%|Y&oi$dmzq=q#wiBV^trFXz5yjGT&Q5akqT1|MI#jkyh4vM=QEvr zmAsYeN&YEllWUDmU2q5^k3oUpxbbXeL>Gnh4GMj!x+}E+{Jb9Rhx9@m02Bf-!;W%By zF)pbwE-7bue#~QNYM{sLGtJ;SOtf@L-_OaP?Gn) zH6n}u5MMa|lQ(Fo!&C82`f@o2h?{R|hWmazuaUZK?1C$9sl#=04qu2#9X_LYC`D)Y zw3M0GvXoz6non1SeUi{T!$&%(%SCn2reNICCFnC&9ia<5z^}Ec0uWUrE4yfP)jXIx zjslSi^{LWjtN^@3t11CeMRK%zKp9cPkiM9$0BomKm4K);#j*=cvFtJ&$bEfF_c^|s zVW!^U;^^}ZeWw)%#N43|4L8)fg^1gQ@a^n=`$}}vbimnxe&(!jD_?GxIsHU=k>}Z~ zEa}1q@O`a{0b-(1j~Z%Gwv-w*I5qMuQ6)?SUuhS_SK4FhEA3JJfQfZ7qngenq)nWS z_UB#Fm2$wBbl?QwTUu3)(qJ0VXHkGD)q29I7Tpw}Rv1;Pz!S9rGwO+2yMO^7c)iS& z47D(*y`m?3*bU?q3*BC<`CRUI{#&a`05Mdwv0zln_qDq@+Yf4uv6rlYpJA5t*<$$|V z?a(mH%E4@$W>yY}DMV}9oj{Z|Wc@>RO!T0Q-VQ}Ou@xtTn*P^;FcKNME>4Xx+C#L7 zb7KgT|C-J(ILEQ+bM41n;UnygL8k)lM@`|iQRj9_(S}cH$LUjBrM;g9oFn1YhrI%~ zTp0CcqoCWI44#3VSjyQBe4?J6&gj4-N1KFCU}(IY4WauaHR&yp5A;6Y47UYXkYq|W}gh(q+z9WA%r=saW7%nU8awIiLuk>V`n zbO1&cA_{mziW#sW5dn!YdT=8y3HQU)T#njTNAI5m20eHRvO~($?jH1ZABDUfu>ZZl@jude!hjflTGUt6B8gcb z&ayg_hrLKoo0FW=1Z>XLQzUH|n9%&_XS24$$n_KOT|KOqC7MycB=D=6fqsSTZoP{{ zo??iL;ee0CpX2~dI#Bo%hF=)f?>Uf(?R2=FtuJROKQ@q40PQ<;v{ILr^E4IFR%oxV z>*a9RI#QMRU6wS70Y6|>@cVLb{Ihn90;W2;ub;v3ZS7bBh|IJ+08?YRZ$cv0OFC95 zAOg@AKmb!?l{zyNvEJ0N5`YLG_dej%V2QNBcIsedfC!KoS}_(lHCUMwtbv0(po7H# zA7fSU7{T!t?HC12b#%uFj_b8!2_Q1l7y+ina>od0o7m2q4D@I5n6%MtjfUt?FDQ$BF{}UaR7O2&i5sMeAc@2>4A3k7yFD!_EVbIN(%PsfcJ@WefpVv@%3%y)gtV z=FX~!Xid{4hy%`QWr)_5#t`t@R)%PqqB>VVow@hN=)!~npVg`e%7^OE838a$cPreB zp-Jalv);uqP3*Wm4)lLw*bcQ3J#nsG&m( z!$5|B7z1U9mMM`lBIsF(?pYYnbhZ?oy-b(C6cg=Eqe2J9>X}jss!NT^CFPu0_dyCn zN*`2U0wfHB|7D&a^MEd1#GPNxtb}#Stke^Y0j4`P1A0g9E9WGI{#WS!JE<_izDjS> zmPZDwAmH+A*V&5JVZ7tgP763+t0I7PS``DVXO*0lu_RinwP6JCmR5#nHEP2c;M1)P z?ee*VqaeIc$0`Q|AGK!Cy4e^4f{!vp3zX=#0Wg)Fd#ZQYm4Mw+owO1Vd}PuRUAuM0 z5D;7Zm~{U0hr3JRI^)a3<1GMvMWuZ1xmD<0aMwzmm|3x z8F@29L!5PyU>nT7fc?BPn;fi(I^Q8freZb;%4FLFtQ`=&k;4S8Tjp zizY$M@NjlA@K~gIlmK3?dBgz`P^|^DOnB!si15>O_)@@M>+t1(sogBq-Mq^f0wS}T z^=KI$&Z{;baQ-@ul^H5XVwAR|=?@;BkcJQ2~g|GJHuAEhMLNI3O}BL$nMJXCL3f zLxh-eW3gw-H*AB^2{>^g%tve*6vnm*I4gq1sa%4<*|qKrMet3QG`j$Qr6*hj@Jy|W z0iMMwS)^DJtuk#G0UX!L5Upw2Fa~%@D?__}F5xH$pRQw-1A-4vB{nEGhJfIs4ABB5 znw)^C?A*&vmt6_i73icDfT`?CbnPmQAt3munTQrB(Ub*DW#?XYy6j59Zjeq|37E>R zRI?jv3<1GMvMWuZ1xj?;37E>xz3kk@QxJKBE(UvWcFewj)$=lk*`a5&b7n-Q4je5g zlWh~Qz(6#?VFE8ZLqpUI9?X&!7~qMTVFYjxt7Iu-NwkWzVGOXMl_6S5ZRqUP;4w$@ zhytFby~+WRSuF>&kerqSATldMv}#O5z&fpp0vfi?B^uZsso9nQ{z?am10t;?QIbT< zgm+FDwH$T;$I1+ys@*_X>Q?b_gp#_D{f}e)fu;Ox4+XnO$M2T}MtqvOfJh@Os1y*1I;e66 zUw0xU;_n|(Oi!$oz$*jH6HpA?-Np_M`Typyq^Sq^lvYIm|EN_lz-L*dHaxUmG=_kG zYh{R5i#BvNJeOJ&)V6A`I3W0BhGu%eV59anv_Ob9K|rukhG-dX&i+%w1Q0Xm3J?5e zXtK_Y7{dIHO@hMMHUaY%EOv63!0E7ckQ(VdENP?xkJbz$fPGn|h83+L#t`uAR)%N| z*M>2`QLPLW7xNSB-qGx$fM7`*Cm_=ggU7!F_>=pS_g5dEWq0Pdr! z%ebpI>dM9dSF=ivT`Y;#UB(db@m7X*S&-p+?HC0_CYou0NF$R*1CmCAlDZ29Nw3vO zO8}9HCLdsG(vpCrB|%Bubug2YEzwD1fJ<4WYH61UjtjJ76c7Q3EnsRax94Ly#>F~T z3~>5BNx*T6c8mfd0FeMpjpdREbBqcdD+XA(PZDq}(~eO<1RxTCsj*xVT{ywKh%_>3 zNfIq&B6fhONdu;Kq3ZiemUK=A{5`AG)JAKQHjDs1rByM&t*v~~>Zp4b0qnfbahSQfb)+_o0S;(oh}JZ1==2JN&n!^HX$Ap;B|VV`1VuHe(CVqfR{(;d zGDHh3DG4AbDnqmibi^p&`C3&07}2UIpy_Fay}6;MkL#f+0Yvxc5(5x@le|ijX!Xz; zjrX` z2?lKe1~1@omTePIh$Or3)Z-Pg2O_}hZnl0&dzAtrkX;)@ounshDIn(4KA(;tCE^n+ zgoJ+pQA}SHG;oW=Ji#gsd^&=INJ>WkOxkm1!|6)%CQBM!z|-|KiU6LaRWZP`StZwQ zEQwaRHjDs{Z)J$qG;J6ItZ!wA)*5Z-Of0t#QS@Q3_No8`MYUU^HO?3Uf}%1+3oL2> z1q4N9h?XJjY@;sW5)dxbJjwwxZIv4yLon8 zz)6E1^`KL|v`s%vHj<(PMl89J@?kItdJ+u^2k21lr<=A-!16*WbUJW(Ejv{epx`tm zX;AjnNM95J z1V70(8o)Lh#5S6A*_OL(qb^%#DuL}STw|J+fS^bhOMt0t>CEgW%yFf<0j1`4v37(@W+QLfuXuyCyfB6CQaz1=rK)hKnxju zeE<*@kUSE4^uUsQ0aFRPuk(A%>Ufs&cPrYR8qUWsW^!{t`bAtJsk1W%Z6X+zYjwVU zy5o~|tbR#g#HURJ5NU!ok^6bD-_wI0gBzx9z;)HbZ2ed5RSJke_6t&OROh-1Q4xX? zyI#&U-nYyl#03g?M+xIGU)RvxDQ%m8?_S=*?mKm+N|Y9JW*=U67%zLi+|P$z(k7*V z$kjQtRDOuJ6d&TbiJfvHDnbx9*UQ;E2lAZ4d<{GuU}_*<;MLYl9+;(ilEeUOStZwE z%vnBgT&NwRfCxZ)Bw%W+fX50PW3G->0*Cchlz_)+I(!8n zGRyEKnn%nS0wS|AM9c7SPR=fmQt%k4!&d^P@+j3jE-;3G$Sir3CeboHobBOVo+{^a zte{gCxc1aG{WOQ-6df>P(J9Mj5Om4{g^oIuyPMlK0oT3Dex>Hz{VZwn19sMHD*|}1 zR>c5&uu9f0mPG3)V+c5~l_6TC+R(XubE!o^?Evi+2LvDbsJsg>*hp^C0B+GBZqcO6 z&3Vw|aw`G112wmDK=2`M9f4E1l>~4r3F1}~z|C2#F1J!}%hB8_0Ktd2bpuZ2RvN&q zG>BVi05@j=Z{%r)44I*!&WR8F@6}VX1m?&~=Lx`m+$FV#*c&MFz0I+L^4T^4s|5Lx zEbww*Cg)h9dB*^kvPvxynPNyOz*3LfQ}M+G1<%kZTEJW7LjlqOvs&YEn) z$&f*w%;2_~j|H9Jz<;o|>8E+sr05W9Wr_|M@#&-oh>8WB^pNs9J-eOjee|ZE&gPyM zZJU4|dIW0CoWLAb~86NJ5(kW31cpRg7Q~)BgT0>|dIW0CoWLAb~86M6g z{}b~-%%BPV1KS+0i8-HTB1{XL28FS00%jLj4BO>CSaC>MVK=N&hmz+%KjWnn&p6}#ML2s zmIZhot7JuDNwg*!L%?ZT6$4z@$``FI+R&L@F10AAT^|FrI3O}hYSAQGNG>l}IMdxJ zJfcao9@0GGfS{%#+Jp2J7wlVIxKco&*+l`nv#L#KUXSb}JEDoY(r=%-xz;YHuSA`| z(^uMDP=j}M;`pZw_Zk)Amzu8Hf&Rmt0WbPv1MoscNo8{)l^tjqrviIEe<*(nmw+rs-3;oigAznj&FmU7QF4p-8k>xPhFLOnau+Ni#16 zM2+Y-W&4XJ{T}fJ0qtyZ#6a(}3Iq zxKgI{aa78b-kDDOVFGUyn>OHEoZIc0T=*+k(gqB8pq{A_z=K((Hej>{7(>8;tqjqs zGKPTDS{b5MZw&2}o?_V} zf|9k(dRRiv>ZD=7qqJAK8_2ncoyY+$F@XTT(y9u;@3krnc(hJe;ihw@3hLLB1Ia4|)aBk3 z9q@xDA>bQY6$AW$RU$NJR|s5xNC_vHWLr%(=91;pizzk8!kc#Vuaan(P+>rXq~EPK z92jHh`8|Z1vr6KYWAV^oG}Fa zzLgVf!8b(XQdVZtpPB`}n0xFSqOnX*j@cpLHr#*T5DnBRlm2uqFskAk z+8x=+6y9Y?r%J$(o-n1T$&FeS2E1LXN&zuZgC;1ps*c(%42Yqj4GlBlY-0sDN~9N z1|h)fVYY@z(2V?yZ7^_w&)a(PIGvyuUBKU9-j%0{_!Ub!Sp)XvK~!gEyVh{rs~w|& zo%HC(0lTEciYC$OVGIEeYh{QQs07`SutPf?D~#~njS7K|GAg@6|43hnfAgW>O0?ye z9d+yoAehi32Lsa;=RPIWS8+OsC5;8(9a>cm*vKkH3azvBa5$%Ygg-&YiUQuPRh57U zD8omSXqoWN+3Hx1af#;DKGa1!-mf!MJjZa5rs`a&uVRzc+A9pWMyujaFhszB+0mCx zrfaV-pa~Q~?+nQ?fbVI?2w-o`I}B*b;yj+5!2wVfx!L%K^ZQVgv4j2EgB#Sb#ZPd%6a%O`?Hr1YG5#UZ6+o2iBk!u%ti$2?DMoVUodwGU=~i*#86{ z^NdZFZPS5|bul)cZL{?kO7lER+7|#{V3pcHY{%Rqm1aImas+I5lsZJc2RxKjDi&JP zbkcIbnOYSCyhN+Y0Wa067~l=8QW?;COdC39Rdiss?m!eUOLrgw2+A^iG>O(t#t`t4 zl%7VDXgy^N0l#Qvh*n!oI0D!srDybtB)85rhJdJ{;)vEfV+e>cDnqnTN%|ZV5am;b z>83!nu3!lu#+{Z8AZjLKmFNnBB^d%@-09PPKu{zrKu{zrKn%LdfEM}?u!1oK7U>R@ z0^X)o@#h(CH!AeyOg*ge0NwswpHA^>ebfT^+EcdWZ{j6-#-FkpYJa_-|B zMkwl!uq5h$Z)sII;NMuKdV|&%#t`sZt%?DD*UHx(4DfhRJ4OND(W(kSWR^UlNwmH+ zhJZ*;CwRbA9&Q!E<8d9U1n>>5iUT6EI{l*cxiJJpavDv*R37fn5{4I;1Z=^(`lvX2SkklrJdk(g;2G^YMuQyP!hg=0zSbGTfF1RD zz?r_`gB8!oEQu#zlJ9wgdBSmwc8mi4RjVoin^~pi8(PQ^aG8bh>)BCmv%pX4_;Ey9 z!(62qu!-)RAcLYKR3asmJs03NC5096<(gF(&=4(0^xeklGlqtzbH9On=y_@tUeJ*u zfG=xR82LV7mGlHgVmcK79+=W;;2hSG86c?2Xm)K*Ve_-JTNrSGR>hYxyws?!WQcJK zcxVykwReGDgE7E*R;8Jxj$<^)(OpgB*m0817zSLbRnBS}%WH3vUV|~fm8=Tp={iP( z99^EXIP83#F${Q(RyjNya@6SE#gbM%;M?8QA-c{3?0Aq;De7n)%vv%8+}O$xt@n%} z;Mc7T(VE>|rv|){RVp=FztZ!(0`M$W1(z57y-oKw3V6QmZ#f`(NZS%1dPt8a0FTk# zssubSrCZS?TBrks1AIsOmII!wJ6{QiB2ZF5RDfauKB*nc0a1*AeHE2>R9B(|u%oU- z91wwIRozqUV;tiX9V-loiqPJHG9VVI)G(W$`JDN8nn47W!i*s=w=5CV0JC7fV#nRs zal{VmV#Z?(FE%Qq+h|lM`F5jvo8gy6^*zIb^u&!H%5Z>DnSv-Zn#(bjWp-#W{dL=( zNwiTekM#4huFvY3v{RcSV9<%vnIj-_oO8tH^CzCQ+w|-$u}zwo>g#4CvAR*>fH88t zO5k;@F5-UV3d8Ft?G*+@AbN9ar_DNK6X-~9C&;_A9}b;Ke@obo+WM%SptJU+MA?0u z^CU`xt%d4=C4z}bDtEz0Fv<6^kPv&XF27SXn6%e}7zZ?r%E4%su>!nItI7c%(yBOk zU!zAL4&H;(&-C5Q*D$C615=X<#KtnDGY?{$nmCUlE@pD`G)d=j5V>N;q>7A6so~vTUQ9`PePS#(7YWQ`J#yL-PvzDdu#* zYRu*9hF|FGhZtZ9tAfw6`F!+b?HC3eu2s(F|3z=rwQpI{%@kng^j^7{$}68GUBLkE z)~Yz*9#$#dXtfh6M!*Hxx)HYehhknCS{)#u?t=cUD3Lh91 zASeVp^;*N$w`nh@ytYYDd0}(A4&#&;R9|HidaV3E&S>ZIDW$JIwZs5_t5xNIH?m5N z0a_0lL%@ex8QKMQlSYwrm5voh_zgw{i0}dR&135t?G;|Y@N%OJ~-$8Qc*mfC2cBzUujhZ;J2(&6B@0qdQnvX9>gkT zh}Ixu2zW*-L$rn(L%V`5;V1~hOD1(sSEn%d({#7Ofc08c{xri+jSAiDqDhsbLj^|V zQg@!cPUe`%L08JImvc1>FOZZA%XSNTdg}W1Pa?*Bx_5CmRDWmJgWC<-Eqo`#hm8u* zbkC^(0$r`WoNd@OaW?$1?2R4NpF*e$$y;-{aM4g0?*o8b5;IbENOuQeyvpz zz<;w!EpXl9OA+$TV%U|XGE^zd&#fHhLzeXEJfM#0pH_8CXNU%6aL>Opk5Sov!;+{0 z-lSC#z?)g6*rK&w8^!=PX_d3=YWWb-P{#f6+R9#U>cBC;PqZom_$jLtPqe<*hB3hQ zdU`oLUtw#cA)fo;73POO5AlOM@&fz=tAdC6DRykuPmjWYpRh`VW>zQBXfbwXz9`g- z6AjWF!hjK0`JvFLFm`sR`JCk%lMV1D!>T5U#yVqXhnmD$E;HExR~l9|Ni=?E?Cel8 zIZHiDxnpi*{7QDb2=XzY;2rK6V6dNFJwtW3pj^WA~ZLgMB_4629FA&jndJgfJ?P10$7_8E1E>> zQez01n$$fLBWX1|2K`M2*r0De)=k6;?q=u^RkUMSQZ&ETRm2o-|hi;lU7v#u49!d7Frv%VGOX1 zo)Z;-?NcUCEQ!{6+R!O*3nnx6{tqxxah|J0tEyE+4u0+#x_!7X? zS``Nb85zDrQxlp;91xk6AzH^8LqJ2#Iaj(RDh(=8spj#lCR_@L%=DXAh610YS(E~T zg{13FK9@)$h)5!UNWvx}Gb92gNFv?9oTocg2AImW%z2(PgB|8+$1vbkT2%swj?gdm zz~Hvi^%(<*(g`^w(KuAwl>lN?1Af(qn=p=qFKSwGH<0rT%MGNNn?PgSKx6C*+kxb- z*Rb8B&i?l#(|wv{HofsbFLXo_Z45cx%h`Dl zu#^MS3AJMqjj62k=z?i(sLzqzlF-bwj&w{yGuJxO&6$#J%Ie^h)oD}8Bf%+^k6jx( zWza+1y-fT&mQ?kBG3=790+Py(?0UsqFQ@7VcnSyhtByt~D^c|xNoW$*k&a1dDy$%~Wd(y%s;UR2R6cfX?36)OpUK2)SW<}>GHfs^JF@E)bG_WEcT#aaWl47v zfd62XIzyrLl`#bD)LF$)hG=zTEky+E+sY8F{>BinsFfjFBaI>8)K-RQO*e*sSGF=l z>l$MScvmY!v>J^eU{fnYdo-%KOn2yVMF3G>x(Y@3XLR_89q3IC@QDr-21KCD&@AU( zqJYh3YPSR+sEJTbR&pU9Uu*0D*Rv`+R6~1R&m`I}YSSp-U$tqqZ;JK~V~Wu}Lw7Y% z#IVw+FoH{s$}Y$#j)~sW18L07EbUc_S$LFDxeQ8C|0j%q>7cGwM&P&133C9wzmgI2`>pJkPbh1Lhg5b)zx zhG>0n4DAU59uH`fDBvHpsvHoRC68zlt&fZ$ATldMv&>g|zSKt~q6MO`Kbinf&Nso_+)o z16<82HLcJ}8bf=wAlB8|Bnk*`HR5QQSk5KtI*#$Mjuiv^GpiIYw00Roz<;zdMC&VK zXm6~z2R_%_-k3V5tm#Q_me zhL0xEGU1)&{oVh&?AtTNKALJ6q|P=f(_4jx@S$RD;#A!=ak>^}?=d<`3~(c>g69Do zFVl`u!0S>Rqe--GFouA4v@%5N0b>XVD)jVjnq7xW*!&vp7C|Jq1$S;N(_@c2Z>6tCPmR2h_2`84O2g zl`|vWu-MD1egq$`-JH1ww-Rkqfxb*KDw}nCKGcn6(6?$}bC3?>oT3lqL&z9(xqUp_ z6zEiEI8REp@_XU$>-WQBfIUx8-03wq!2YaK3k0o7V+ij zD+o-t8!JFFrJPj`CZIv@b-CXiz}&glgtj^Et-HGIf;Ik^z!DK-r*9<0!7x(onJb#x1GH-~*vlZ*huG2mUvSJ}E*d&K~E zuqv46%>Jqbi&)a^09>h6alji`rDCD=tT6;^YGsI4i!rnd4<46mlPKUStttmZX2~O( zMC(t+5D=M_AzFrqv(B&P7}x4pVVi0rA3_e=Qvi{mb-K58EGHdep>A|C15Aw-OQL0B zITueb`HM~$1~gvIbY3<<_3t+@m$`Gx; z7(;tmfyYp75(PwZ+C%}7Srr z@Mv`&p$*f8e^!T&0*>KWblcXj6pghh38G1~9!)hx1KHJjL2FX6qTokGV-_owDO!IW zo??my`l3vKygMc6P7`yaI~qW6lCesXXdy$u?=O0pt8}x8^%J~ML%-|rLkWCkV9)J7 zx+KORn4#|64lZQMS83|8BCh&HENN=lxnR9odpRpUQly+NVoBGOQ+VKNSq5BYmb3LU zEalhbzh!(B^9lM2{XDk0Tl<~rJpb@G?SU+Vo}<_{bmq1Deh0fhq{E!#q_S-S!gS%q zcc@;3F~DSEy7dVPz9H(Q20ngB?h+TmpBbDYnmNY>C z=ddc6y6YGXa&&o?aM%lU#xUS?t#WwIELA)&Wl1~%|DaWsfPZ8a{e{}BQe^1abGhLy@2t+R|b;5n(@XpC>=Z4UxEw_Num3iz&8MF7EEGKnV9LWY1x z$Ow;u(Ubz*qr=Am5m1IN2?+08N&bdotkAK-fV;G+0$~kL=b6vdY;C;au9uVE^@_M& zTz*q{cwxrS@B?DLw3$Mv{{0a2ZH zp`}^ZXSS!`T$Y3incIaH*YF__$l|1QdO-d`MrDRWAxs+t{{R1=ysZoAoO|x&L#TPc zwFs(+-6r7F^9@IVX+RWsV*mn7w(_d_m?iD5fO!|Fv7z6E26!T?)LKC6bz^9cs~bLw z@cpz`B_IN-{S7S>-hB?utl!b>O8^Jx@M8cGQ0;GMnefhKmCc@Bg!Pi(kD7?k5-*7c zf@aH;KD`TtHj?D(W~Faoa^OjloHXh=I}tzB&5C9o)CfCIHE4tO@J)H+3LqcH@0x|JbXGs=*J zN6O49mq!#l3U&B$Kx9@68m&#n5D=M_AzFrqvxmAoO2A{V4qpL?%xdMM^@K45L}q1( zmf_(Hu+78YBESU0Awu)KBpS$$Edp%}iEoSs7{C~9F!GJf=qU6*JXcQE{fi*UXrr>d zKsra8g!?lzft6HmtiqWxf23!(bcL%+*gb$ix*N?meLb=uwG;lz;jc~fJYd!2@KKgpdEP*Cx1+n zh=AAMjml0Ku(x*PWH6%gkNG>&+W@t>c9-H;O|sl z$6FJrqpmiBk=ZTqfmlm_2_%jNcoEN%Oh ztiPS*R+i7Ev4`D*eEdU}pQo{JVLiSX7Rpu(a#-4YX0smOX?;-j_P;|OWS`G+f}d}%ko;5`)gmD#(q5Or?H&Da&{Vf#Q8NJzlvo#J{@`6>df*$ zmZ!0Nhx?5>*!_Xs*=!$T`yOfPRmyg=+o?#S*zS3j|6!Tk$@H+`JHMSZo&DT2{X@SVYp)_<-hh`K|0d?KmgOxh_p+dwK<8+p@SgzjB`aaKgFR^@;<>xGI zey_3qEtY>{`S&#T(>kaK(^<}9xtir)c%EP#+4*31JKGOod(2DQ9^ZAsm*;Nbb%L*o zZQ%BHmU~&Y@2nzqVR;-&J3ju->J9uSTkSuxYTNH+yB3x|u*6?n-CukB`BmG#=YdKy zfaMOB-?6mq?XQxr>#8iCW4Vnbz6Xx4nfJ@FBdK-?>!U2=EUVMlAK6X$9mCT83msbz zQpZ1Jd1`mnu3@>3C4N7@I%Q zuww~c>H2}cGhoNFf73qd0v@)#{hg-0J(LB$24&kf9-=fmS=!%ZvF&pXRhq+D-o0yd7c-j2zI=sq$ zg8k6%Non%I?i{v<-Rv~>L)osF26|#S~wf&2&ZTk;h6IkL; zZ{Y82*!GjzZaPc+*|2N4ZQI|)`ukYo+gdNDv45ZSpR&XsBg9`GwBzHCp^i989Vumr zKaOhKewHxH2A8L{Y@d; z9^V1N7k+MG|JzvF_BF>S&2=m{u*C1rwC$VtIDRQ*=vZZe-(zXp<9ExR%y#(wtoW_2 z_?50#@NwIJ!Y`GkiKYE}scrk{aY|FhvXUkKB*Ii~&t_@+H?V#q%iS#BPh*cSI(&A# ziu47`Z&=##q5mH~jxS-fJ;AnAZG45GHy=NmWkDMI2G(E4@MQrMZ{oeJo#PY1`x7 z>8JavBd@aD#nQHieh(l2m?ho@x9#z2?t25&k-aQKC)$?WW_=r$?OEbwW82GqRr6K0 z$GfSvJ>GJ>l+%JOrTEi7$5 zb-z-YO|DSXQ%~&(e;63+s2Xyoq_- zk%rIxKhge6w*Q*tcP!hai9dw(=ddhhnMh-gx?Rb~8(5+rc7J#C@pc2%k&Y}6U}@Vw z%KCq^98jn%3Rv3q+kT?`$O08%4$FBg7qGPB-^lu#Sl-R@O_t-C*R(YJeyaUD9QS>e zAF=#~rOmGw=RJz$aV$|c+a7g1gYC{^c|J?q9{MOBAH@>=w(Ym`@y}T9W%&)u|FHal zrS1P?eqxaFXv@;^XMLx^>PR=1hqJWpZM)uVcXS&2p{yUlvXtehH1?q(Dq|+g_AI-w z3|aqjSwEU(%^Av|j-_QD>h}}vYuWyGmUptehh@n6*Tni4Sia7(1M^wMGMR?oPqpvN zak{fSgyqp`;-fB?^YN=$f|u2u&@MjS=1g_OW7&bFZNG)}@3DNJR? zmc=aX_-CHW_AH08ypiS1^VIQ;EW<-pdo@ct-d*hX0Lz^$|HkrTmLZO3`{%O0jOA#S z6>03jYcC&fVfj@W`?k!xfaM^TL(=pI-*8wrOfh|xCBEKZ^S8g-fG;+TDOQ%_Szf`? z_TS6#zhik!k+NuF8DhUyk(D9>TUZ!pRY8ZupAy%?a3@{`(14JKFg1OqW>8j_dJ$G zERomF_ZA=jJIg&RGfQks)!xbacUbOb*`YMp9FTBVL`+u_ii4ogU zwI62vMwXjdzMjUuZB+TSV>yInn5CU%ChO<2T*R_Ijr|VRzsvFmmLjGiw`X}U%R^Zn z&eG0*B~b<+3#PceDOJmJhMqlExly#NzE! zyqfvc1vV4awqN{&9bVS7z3_f6;@U5F+V(>eO7kE~ygr7vyli{C!Uuc2poJI3Z2K=b zF6<_kDT{RR8~FHZEH{i&_Rp})y->9Wvb6KT?<}@&V2L>0%azAhEH9m)+BdR9+=(2& zVTwBbTb6ddi5%y#H1TZvnQT|havsZ7ELXGq9ZQ>^9WR~V9qe!0qmE5nmzP=YVrkn$ zzjCxXg1YUlQ0-w{m#Q@N@z|~_%Y#@R&eG0z8tczuc`nOgY3!ko@bNgyvNZP4PvGNK zET^QghkgzppT}}(8vC`Zzl-I)EbmKW5B)|yzM17SY3wl$Yk54D^E{n3QB|^*<#Lvn zv%Hq&dpu5`u{>$2@*BZ&3Cr79+T-&m=Q}w~JlnpB?K|zK{R?dW9ZQ?99UpbTy8fQ) z)@zKi957DFY1TT&K7w_gu8ye7g=y;XFpq$0&1J~EKKa=Y}oaOl}OIh0X(3kV^F)YWYv44y8@34HAWw-Gv@=Wdz z`eo;XT`#tOmHY8wn*N-{b|YAZSw>je@n2>Ac9zX7J8^u>Kk&5u2e94Q;KTiC$I`a9 z=lw&x?*3V&EC=(txA$$F=eF^2d)?(&`@%zM*28f;@B6VVwbsG^*L*%;KApzel~e8M zeEb%cc0FvbvpLQ#mOs|NE4aR>H}+xF*N#7&2quHPsuwuuRna0IR|Lf$e*)-gCYF5IT!bx zG;#XG*;6Kj^70TNf9|-MQ}X@LsamB7jjyiC^LI@N{O*olP(5+Z{Bbj>MID$tZqDS3 z{RVZ2SdX7sHD=26>WQSi82gTg7B0X1cmPg2;;0!XzuhW zWTPx5O{|_Vvs&S~)pMqgyLcis$Y{=#Nh%SAkrAh}5rMwbrk!#US+xoIotP|Ns-HMb zW>+aSo}>|xr^95&9ho+9(zpo=NJanDG2Ka}oH%q_Tq*OeNr=B?78Kq})UvV@{?9`BGbw)zls^hjju+1zJal+*@%>_kmwSKVoHB9m zqJ|tQ)tgJ#5`o`mBnZE;RFb*V$FKYNE+6mo@!dY&;p2NU65^YX*OhwkjNgNEWoJIi z@Tw`mqf3jj1f>68Kdopy?$dZ))7ZSkBa(j5XLZWWn#OZlw@Ih`lcw>w)-{1frg$Kug;M`PXJ|4R zHtJ|iI>X~y_a_}~6UsQbNenI$MS0>BIh9s+_wsTJSJJ=2Ug94aUO^90k|zdMiF4`( zmWh)Zi!)ClzwOi~B<%#6j-Qvq5s>Idf3g!=+C-xq(n;2{#TSW}+?^P`h@e0<9>uQR`-nIoK z3uuMr@ro@Fmu7km;@?XO#O`)-4Q6E16wLC0c(B6DeSl(Y>yz0>4wy&Bvc2MB@zK}< zaYL^>@$uM#$t#8}7k3`qM2EA*$88(MvCZq3Q}#{c*7r z1!CC}(<|&lKV&wEOQ>^~2kUZ*1N3^l1i5bsyi`HLk( z+|ouMR6MX)yd)JrtPp?6*j=1?-hpCoo3-M)acjlf zy)p-6h#O|D740*M`-*uDqEqgJgO7jGJLdL$(ZS0-ccf@vb$emBaA3W-I3W%#5LHDF zR2GIQ=9oe;u}BemA-2@Y16xB0 z@d%-QVjH0gs_59U3GqO6^V`X?!hz!GJW)y~piZ0S>={^AHn4EOj^V?v8Fl(7(J8TW zsJNg&9N%#1dNH-S-q((zUFF4jaLQQ|=japBPiN;)(hdD`*YBaloeBAuCp_s3-j1+=TZFF|Des ze%^{QQBWrq6rC)}S~d?XBx)b*_`u7VSa?djczFHL@Cq@!Xmgq9(sF_5OZHEQIW*^1 z&utlb>Kj`w^HyfH5l6`7J}V(EDiR0fQTu=fuiKz&hLiHb1T}lgo#DcQ0p6|g;z7ge zrGekEgqIM9tQCiPiNntLrD*3hjn2QV|RO9;>(b+w#Kx`oSN>))Zfg-Uy z!|OWYyunwA!wSm8vzfG<>2%aIL>8#)x8CSIVrG%(mJrjbS5RrMUm`b-HGXN|_e*P+ zd3&g!o(vn7c(Pj?GYY8DMB8tMcswI-l{hx@=!`eK!$q05TP&pik7v-2txGeH%@AF^ zP2MNoN8VPkF2ma--pcaoelKbgW6LTtkLoUFG!7J9^M=R8FY=bxuMi_?&CahD?eavI zYMQNiqM~}BI4UonW{8-b7$^>}s~=c+qIWd?9N^6rB?)nSwTLCeN!6ku%S#+|UiDyE z>9zA^e?Ic^*3=iTm_&*j=gWDtZAr^Pzs?tP8^T`i(fKj)Lq=mxa!SsmTXKrG7``uyH;tr~RQark#frdC&JT|pRY&)o+Uc8lEAl{fzG}-GtZ27M1 zyh6E^_M~}{DQ=!1E4#a=*LAAsx@okS=2e%Ar&=t_jOT30B zMOA?~wAnj|{NDCc-bN{3Uq~d|i2Ejc{>9(H1%5-0(H*_2#5J{a%|=V~e-<^qT$Xv_ zf#O4v`10~SUT?WYZxo#q;`606<><2I`h|__MUQ5&vW=H_op^0w(+crmo8~vZT>h$e zk+;puQ4Wc<;-yfdc!B#-H@=|FV^?`q z=HJuL4DnJ%<7l$j>0blgo>?^|Ule$`IpXP%x4So4ZC@hKfa^1>d|Z&fa#nw8-;>$k z9VrjLyhH|h&_De05*)rivq7Bf6-a~M`u-pJ2EWw??~}m`G{vOF^Nak;$1IuQ`9%ov zP!?x+c9G1m*+2ZOKD;rjLF9S`Z;OQm-tEi1%k~T`oLVeq6cy5zC4RZdKYKOEL2bzv z;~LHv9TH_j&K+4hqKvlGZh7LV+6475Z+Q%ouZ%|OzFN8Lw}-05W7$>Wr3HoclF zw~K|fzzl>N=HNupvc`84=5ts$fFyY&=l#nNVq(2^l0u4J9WUV-KC$Xl|Q}~pV94w zxFNIA>rK=)FOlQilvyPHkX0w1Mx5+DBPqxgOXZ^fmV$hf^KFjU+@(cyUQ0z12Na1} z1>%5&*fXbD+}yER?4DC3)^WcaWbad6l@=i*;?wj7}n?8{3RpopmI<<@vv#N)S4s~Uf&wAU+>PPuqEXt-$ z?)B3K`zGcZ|E7a0{Ejv#v zY$Vkk3mUGc)Wy+*Ikg`{}2MppZNY1>V<|LnJKYD@E|bJP1$v%}Zi>UnkZ&l^k^boruF zo~ZGr*`4cXiir%eGOsu1#e7UV&bS%ox z7xOliZyq7OndRjnX6HOQx2l-WpFWxbJ>Z|epHopc`BA^{yae58<(W-PNsEXX)n zET|Kmo5gcWnugJht=A&xzLr422*2_)3A4rfv*oqLx=uxMFyEOi)7;*vsQwaa?W&eb z;HnOd;vl*>XjxCH53A)4bUmq_q0>zBRPoQn6#8mGp}(YildDB)=+(33?!H%rzQzyz zl?*Ma6YHr|6z?eIm_Zio{A#PquDL&4i6gSXwpN}&N zPF{ch@HK^(4);kuI9HCzBkdc-p>k0@Fjub3E!6Dk72W1XX~^E<-Aap_qO6uR_<(A# zIg`b<&bRb|upI9qI+L)VH_+K!U@3v=W&+19b?OL5~I|GMl5|9ZwhxXC{_zEND! z$tyaM2eBdBJ4pO}5mn~)EaLnYUCrN~h3S#KsBr%2BdGRtN4H+ImviA?v;DbnS*J!p zSC`#o(tpjCyUBMQ8^s|_SBR%(%R1#P-@|pHLoJ=E3k|k=E>F%L) z%~=Ig)?X@qKf6l2*@^BaW;aV;@s%exlH2CWRrGfII*m6U&{Qw?u;*rbGHtSxr0}l4 zJjP2azr*+V+GbySOQ$AM|BWrg?oQ2t+{i zBl2`*v{WwJkLb2TV*lcvo{@asNw)8rDc9h8bSCN0Ag@j7b+}iT*vt*3hIycfr-}Ru=)N;?u9(CE5w8PyqD~~Q+Q)yI-9i8RH&ej>y z?U^pJ<6CE~&8Nmwo#px9=~?m=@Mvdw;Q3i{!M#k|%7crm#9swHl~~X)OkAGrwNy@; zfBN8IWqrx&=2>-QwVfFFC$O9R=9|M|R3g}(8C zMloymda-k+96WzaFFU}WY%}HI@pa;v0~&kKwdECl?W?k%5ZmcN)x%lMVx8>g`;yKY zqVs;X+(HT${%XYVGPzqmK2t7;O%&cQ)5e){u|Gh~gA;VCT#dcxb@6o#t%((FDa_~e z>}5q;3NupgM54hD^EUbUd&aeXm_5`yr0GHN+KeXo&|~=yQ>nkvo#j6l(zEL}b>g`i zS+K1XdS!m0*h1H3v?EYe(@yzYyUOZJmDTxrhV1?=T^hyHGd9V}_^a`He=dCLAG^Pc zSJnO0%eXA!CA#1hkGE+SH`P#CK9T)dMg93i_Gd(4&1uD|ERW8RWqFF?`dh^#Gh|sF zqbA+0KR_3EIW(DfZ&)+3?D~O|=r(w&IJa4xULejbm^AQ;*B>apVAWIflySucV!S-V z-#EQt)a*e6D8fx$Y5S#1*@K$IMRN3RobDw?&7L+>&e=5wCKijDD(_HHQ*i6`;sd%% zTuoQgAJB8gC*)Q3!3nRoSh&`kB*HCcNyA&uJ^R#h@ebMDN_Ovr@}`K}Yn!IaLnHk| zZ_%OK>Cjsg;*r`GZ_*mCP#n0HW;tCkwrdpg6PrZ4#7len7Ek|@`ruV~bFUDi8w8Pj zGgMvgJy0gTp&h7UCY_;I(FY7Q)yX;ZNkBq0*3uIKDu9?*=PmFqnppg%SGdY6^~&h+ z(t0t>Yo?NT^i1RgFOM{0G^N`~PvKXocsI27apC%P>yD-q#H;y^F&QZcPg9GE#g;}&nSH(Go(!QZbI$$j`y++z}cE;q0K zl0q+ER5yqRCeYIb*+GB0+r520SKhwUy~v>xN`V+HAM;;5MqYqlMf&yi)O@YdKhfVx?G^Rn!AV}#m*uCv zSk^axs(8FsK7c5qNnaobwrS{s^NQ$>J>i|S<>ld`j-ImoC$x56;lN3kivOXjy1I-alJpFP7RUG0uFoJ{ zb(N^^=rxP)>C&dYW5HB%{(jNDM7CF!6bGsynVNZIhUl=#8=RS+lN56rys@JFCb57X@-=(Ylzm;cH+O|N zx=4(n+mHS$`WE*0MkddZF?vYdCVG;X_rZ$3`BO5Fr4Z8^$W?USEf#DN@6W39x>FFk ztWlSy+2Y!%Rkw;64Q1X}=Ml$;4^Dh|>X0e4hlzI0Vm{rB6%9XOcyeN~=v^ho<%wQ( zBDu8TrNVo~akAfcT_pScMz?BlRfb1mI;e-!w8|7`QdMRKgJImF9- zUA$K1HGE0ujtz&%&tg_q$!+}eL+V5?dSsdip!-f_v%Nz{bU13+-YrOreBpx>xNPSUhduq}#*?QyRsp?nUC0DS1idA(Ipq zQNFX}%-!C-uJCWvx%z>{Q@{KjeNMSHU+kt2KYy1=Y2TyE__cIvzI{oPxRyQ+qECkD z^COx&_{3xxF@y z=#l)j6ceAue3L~VYlwB@>G|_*MDWeS31s%kDHb~>7KpnJ%@aE(7EGq@%TJVA#D6mB zVn8}vJwYzGujJ!Hx|g^#ixz&CxV%zcRQ3d5zc6XHl~A{D63@8c;7#0x_F(C;d5JE@-f{2}vG!O_$%);st z#RV0Wam5XB#~Bw?L|jHuT)>sV-O&-zaYYAFN8G>X-20sFlS67gzkh!9f^_%0o;vs3 zbJx0ERef6Ws<|Y6tw-`FNyi@;={Pp>cKO)Ijos-huksPImr`nXcHbRYv*4}dsj(9q zBJa}}cjtn!k@u*hzl#d{-Q+1t&x_1i6*-K&C40-F+&BG{PId6Jg}aeI1W#h|Mq4iB zXC$MKx{UUsjQ&I!y?`?Mv(D&yl+hQ?eCtFiotcT!+3swt7aPwx8@)ER!*LHb}PMc}X zkiL0;>dbRzMGiSP`M}8Y$y1X09oR(QX5Dz^Dz_f;7M16nXGz@0UNpmq268Z9s#>lmi5!|NMB_$1ML+A6O z3L-P7L^_>YwEFRWpC-Q@`=W0_(trcso%;Cs$+J%wH3 zZmnWE7xKM5&mG6%c-?(k+w)vnoR0LS4zd5N$dM~65muABQ<T5Xw6QxPhuTaq^4OtD-Wq2tysrYXURv~oPRN89bGa+7vMyrGplMUqcavo`3e}h_9hxTy{Wu9I>#Jr(`68QWRb`M{J#)z5XzuLFdcHy? zIxjYFMy$Reh&I(UHN+|h29#QLtfn?7$R9PTXmm8UxVUgaG+ID{<(Dm$*VmUX3aV-vY8s++rA$y!ThmxxMVB$Tj0B@fM@J`T6-V<5CXC7| zh~`cy%`GkrqN8eStBvRRg}f`PfZS<}HpD6d%DMB1ld5Wn#wdP44eyi)(Pcfg^-p<2Kq^XMXsT!o@=G{~2?Ld} zit1=%`7ADpXenEBnU2*|R+ZP(#2Olc%G#P(K(0B5=sK%9y4005m9fgEx@cW})jYSW zA*e53;F9EMjLR>~iB2jUSLkX8$1+NJn_pF5TVoy6}9u~%DE`( z>T4TosWw%Y&uR$9WR;8=pH&ns$t^|2$t#@1&_zC|YoubWjW!J#>}+shMCnpAs;^Y9 zqxG>0U!8H;8PSGVJr!nSeR*SS)*`Cr)z!5XiTXdkyt*mo55YBElz_AB@=906Mdx!B zj&dd_zhsEtxk@#9Qeie~l{AzuoYaD84?O+fz> zS@5lW)l^g%MQmdJ32ZiXF_4FYXUAAAK5~VEZe9nuP>kH z-f<00ce>d^T_Yfz3gv<>!sNVA zl_;mawZ3*9b?v^Naeh#cnyO=dSa8jfE44eIu9oU4^_6ZEU_u#@qDGHioLevAX=K07tE}WmHXP|JojS{3Wkc$^}{}l+^JD#QbiRk z7SAR@HzGx&m9_I|NK!u1ND^=R&O&|67cxTB5L7hPyMvqJN4as6Qs<$94xU>+%Ll>_ zfOG+DdHpOZjHaPderT#RDo+?SmRoB9bpo;zgWp z9kO|sCpWOVZi#A6{i0xAdBtq%Jta-_?=HXGQM>fKf%rU?+>@Ch_kKLg(b$_y zU1tfpSbsobBx#V5IWa%1r^<-N6ciRmB{qI;!bQs=^V2*xZi<$R*k!;sD>tw61=loF z#&@pWGpIiMD$sJm%JbiWqw@3Ob&lsbwKQpsQMbmufSXd%km-tyXHqoD_O;p#T+*`D z)Fg(vk*n6!4qa{Md2dkTC%FxY2}wz5R%w2A;OecLEm2APiJ@!K@#!mF8ZRxy$K7X_ zlR&kj3GeAmRr3R`%Puq2=;)$*%o=>S*o4g3vT}0VOvU$OGLPa&Q!}G7OiXsfn#->r z;r(!$T~Hj%Y>ZJ4!+v4;u z#wR&Ehcfe`{G2EaZan9wZX{k`sH#z+Oj%G{PvxxohM>Hnf~Vci=eU}E^<4+~T8n|# z<-iBYcb*QoYVRmd>)nCeX}SR$1D%h)@7;W7LbrWz*||A1WdoJP_r2~c08>}C zm*okGON_fs?x48-l4Z8W^Tc3AQ^njEdOK-SzRO34;bw8tbfP?y%*h=sBS=o}s7ZN2 zV){glf~qywUzf8)$Kmqn?a$AM4vA*C{eIwOcX(jnhTc#vY=LUJMXXjCjk5}jFSq0oSOLM7T;eN}z?ERp*2%VVtK-2g(+3j;~xRxHJsg7He zKw1S^H1R<*p@O8rKe{+pUrT4pT*U}stcWOve zr+~^UT2xvbxJh=xMe>F_Dw-1bGXjbg1=}~)mcz%m$+^YUrW$8QXU_9E_LaiVsv8%@ z`#WGPn0<_e!njRYS4cClA6H+cT(x99Xm^JR977x&nNvw#rcz|yq!7k#=Kbl ztXMRDW=liaEV?_5ji^RX6EZg=#wq~USOoRtEL!W4{=!FvkLB#R*=mdW&y@QZ-<&Bs zbXv&W(!l5dY8o^lqNN`H>IRkp?(aZX)QOtU3n6~oVN-7I9&K>rlyq>^dAJP7jGrok zYe0Nv@9vLtb8$MmsGw7rnpvD=ZIiDG+{4FRju)gG{rsX_)JfjpKvamTw>Ns^XYiJ4=txJ86`4H}>f%D9_~i9MgBRNW+a@2r5@Op7ZmG zf@|QEr-XOB`VtQSFYF{fWfd1^P38X1m1SJSjhwTI=?K=aD6n)sOn(Q`WRLsx)@F#@ z#7lUB?&8LdIY+z+SAbmAxXdv&xB})$F?T3#L6K)OK6*6e*4;#X%#SoQo=^tKgP7~B zeA}y`0L%zDK|c?m(=uLgpkC0eZ@GCWhb}wHvnSUiosYgLQazTG(;RZ8n>nq&Knm>(c zK!kasM5RJy;v6B*Tm{5=A1x7JSa)5WU-seEhZrqo)X_a)?53X*ySa&lPs5hDqj!B7f8aJju5r8LX2B<9g9g%gu6llIiqV8)ZqTFi zhSIF!JX)k?8@_?KvWT}3TD8E^UM&8O3W%lv>>I^~&yX7F%sR?%bk|SKeSXY-IY9#& z6`k+CT=&ag(a?xStCDnjSwrvW^Frs1>yq4>iYvPo{bps1Dl+wURE9k9=6)pp9gwTQ z+gc`IM!mmQV7_8~Nli zN+bJ1$j4++mN~#wyLi^gZz;d?=!D3{z^y>I>7)CWicb0K7dfXAjmdulz=J5&1^Ox> zJ$vY|ba#t<`oN3r1^nUXin`&Yw;+A;&SYBT- z`$W3szTc3+>HTJ<_nR;4C{|H*7%r>&T;3WHPj`zAw&l7C|1$% zJzEy7pvU_(*HyTM9nNz66p_xbP$(`GZW^PaOO2N%IKy@7fW{%$IIMwE;q=(4E8U_@d)ij zygbj7ZeQlyhtl&E{PfRveza~!%Rn?WOsw~C`I&e)&wWQn-2|#e2~WD+9xe`l^65_e zX;$LDHA{Ro;gaMYnhTXqRAPKOP2aEbA_FzU`22;w?Br7rH?@%Ehj_o}GjVcpKF!7D z{KlovqcCQZ&J^{(RKo6D&o}T~`Budz7eC0)aNLxdXQ9&i%@9;jGA4g?X><~GlC{-T zld1kW2ji!67&)j?6_>gd4IdV6AiOp-cYd_7iqEAnVRa41eIZUgP5k`aRWSC5hLCU=vHXpWg{qcf>=LbSLbe|&yvbbRi3TICq$oS{f?fw`$Kcl3!E;q02n zj>IXJuNz!}`AQ6Tg5rwL&9refL3Bbfo!(Jtc-Kn&7qf2eTwXDkmaW`S!zYAXKR9qy zs$92dHbGsMOys#kG>x@5(O6rCiO=L|ewkmGUrK>23H$^iUXSM2R?|pNU*gS+(Tb#7 zo%Q>8z#{*h6K>TgF{|g&I+mO}c2R9pc}@R{#$zjE^XZ{9++iO}l|!19o9#Ml+*8tU z$+HRmwvy(>jD5r^s8_64iwZt8^fhOe*l}}`M7wlf_0z(B=>-2ZD4mHUPVT6dMsw&4 zJMiNWUrxcD7pkIfd*zjLnrQ9No!rupD_?NYq|<%T&Qt98Jlog$G3C_#`{m|%vrNRp zuRXcGKR)4)FLSz6NUD(B5_obaoo&1XTpjaEa;{^s-7BAsI5GF1ExuxKt3IRYJ3~M3 zt*eqXO%C^7UnRS`g?E7|?fqTvg+l zazi#HQ(w#9clfh)?lwrkow4i7_}tk~u8Bx56CV=CXZh=sxJ&T$kL;+ErktsT{Dq7E z!jaQ$n9UPp`g+V=tU#Rse>3Z=m|H$`{R0IiaU}sdSU10*#!kllchbHFPA<%)a~(Nt zXmJ8hoo-@%gY(TtWJlc)?I+|drup$aO`cFd-v`mx9xa<_Azu(7Q|<=8{31P~`x2C< zDe-SI$Z0;0i?PHhkAU@y)egdQiaGs=aXBOmTXAe*BO_TmU|KDc(c(77uytY|f z9JE=O*5=Rq?UTHMp4^m1{7~#W2(QdC@SdJG_O zU2`k!DzJRKvX5)<{tA9gYD`U=o|@d7-fra2w0*&UvQpD7NXkm>x->E+H9hH$4yj#p zQq!_hlXFsB`a4-e+aUiEbmdpdD{uAu8Yyk#4AWcQcPRD^p!aNhY0_NxtI6#5Q0!~q zeY7zv0K=3194iA`;#6MO2sRw7j9!<4mC+Nof>EhymnV%%?Rr^cRBHOAZAYc{UfwPz zHRFQzS*b&p?vs;R)Yu_)XjW=QR%&k&kdO`-m71KD68Wet?IG!2d-&<^JCVi)el6ns zB)zyfijVa& z*m6&4cCk(>;dHnhZpXe1dhg3&jw^>!`nVDM3gN?L9Jfn3Zp+(J5H4s(J}hmYmzuet zLuy8LYVRx+uQ4e}?+_(fOFEnEc1300r)A!9xjdX*3bM1Cl)1OztdyjwMDtr3&P%D; zD>2u`&O=&5;`y7`flG5V<#GhE+p+&4ex*1gkK_yT=zNJ>+NMLx1V>YBGwF~|aQuXp zF-jain)8yAnwd1yha*P?Xje=C+|ss_si9GkQ4P#V zIW7J^FNMpl499Ukf|IFrxt#fSa0d2~n{MMav;vHtBNu14gVEFL;%o!hv0&UsybQ+m zA~+*8Z6d|*Dth|~_}u@yZIz~GMjoa(w$i$&wwz5nC{}wluB4S=JAQ1n(r2Xv?C%-K zkn3MgO-(B$e>nzMflGeViLJp0_q2Z3KB$nW8%U$>jmvp3XUK+V9X<{n^u77o~-;wRp z#_T+>{T=anS_#&p<@l4B43`e(*iaB`<3BVTY<&*JBS?#h(%6)VhETrPUMcK7$o9y; z*5@lc*=S)eH>Jpsd~fe|*xSwaa^v=kr{LvTLR^qf@vqJQNxFlHU7zmfJE994DGrn>dx2T;=g_*Fr;) z;~1R*`!BZ~8%()Irjd`msUgQZ{_K<-L$XqMe)%%&tzv%@{SY0B$q$Xsf?rSXxlUuQM)iZ{ zYBS;uK8M=`I-FdtZ`^OJ!?9QJu`TkMM6pNa#&BKYBPnyEe7tw!xSKiNq3t}fX@lYe&gM%b5mIoF%DV0WW^?=@E}qS?Sk-#m0r zIt!vOu;^T{=j`y zBlgYagA?US?G$|@&8X{57Dn-Ojb;?oi_#G^|D{9OhmHTkhxbE#;MnfLK1_q$+<3nO zX$Ngb@gHg*becqc5uZi+xpm+Fv7c=gV81?(C^IaRbd6xwwycMgf1J;|^YOgYtw%(f z+N5Ss#;IF~w>|I62H0@F(n76#Y0~7>va?gua>!eb>pR##nbV;2?!D^CcxpSYr`|+! z;O8l)FH=}w;Zt~?wDrz2xF98|k{X(!R0qg>4tI34?dCsJI+rEUIHA{IsGTltpH$(C zG@cRHpYb?z9*#c{@z~4PJgU=|nhG&CrO=ajjToIm{U#3-@p?}wj3N7p^~>*kpmSPVS`zV6kAD6eQkwCI#XGo+z3JK1Y^b>~KBz}Dq0Z6(I)gsrh; zYgDVYXb`Jub;lUz?{=h7#BD#(<`Zco&Li?to7*J)M7Ahd<8Xe;p>%lPgXs@#CH#k0 zA!pHAPHxH!*FG4vwsF?l2H*bC+P;V^zM7qp01H-oacNnJ9enPPr0mFAHT%mv9a1@x zf2Evx2Dqfed19UkF6SgO!HdA>;Fah2tlwz(h2R;SaoY0zi~Ael-(N7>&Geb=G(&%d z+8+t9SfSXx(5G`hdx{1@;Q z;IhV@LVk0)yTE0g`v~wlWI@)t2ZOH#ckA6`JCAr9swuMVhc`vgr(s^})~;#aT=1=! zl({u%;%9)DafeJBe)TWl{jR*grTlLP-v#d0k?FX{z>5xaX8aiE-%{=55uxSw59n7w z@78Kb@~+tF;`MF~mfn5_zM2Oy+T6M-z5WO;i*atvl6VIyZ|DD!tWJC%!t;E`-Jlf& zWBu+R1AN!f9{d%2wCIoVz^yOP+j8(=py%!!mfkJ~Pe+AX=XVDegKr1l27ZIsAMC+{ z;P-;B<_?)QHwU5D$H7;Oci4?x{vCZC6UgW+#J@%Yo(b>0MFOccE%!wNnYmkzLT`yF zT}+hr;wap`xb!+LcSHhom@P5c$AF~xa}2Y#$KAG`>@8oU(zJ<+FoApQR? z@U`G#pSx!Ee1Bp5DWQE5VNxJ-D31WPoo6NB0q&M7*_nGEVIG^oGSx{$7dw zDFYWfRp6@)UkJY4*tt~fAMWkD?-=Oqt;AdN=YHrn_VRiuujfMeYv5az?s&-TErebL*4X$s5!Z_n{u?DPiTn(Mjr z+e5&2fxGo5l4KKatzC?zaildqAw)klgwG7&3qyEw2)`tRUmL=23*l=+_~Rk`g%G|q zg#U{;mrEKt9yGt;Yw#j)8Sj#4ip=_;(3h9!JA!9|i@rN}GdO*8+hFh&;75Uv2j6J; zOz>UcG(5TOT<~Cm|15kJcpA7{`y$CY;;q$_$3pniA$HyYUt8qUo#tPHuSGx61GgSV zZ`*Z1`z`id`n_(#OFVaLQuOv1@D-RqxwRzXLy5QMe=hVJCwn_?y@=kP3cmeh&)wP& zy=?%mo9ek+uc5c+huFU~M86VTeqI#W@W1=$Zzh&|adD}vz8in98?X67L|jMQ>Jv}= zzWBw!EO&Qg;rh_{XL;~h!d~KeCURw~^Cx~8K3|k()rvte+eC;e<3yf!+^{;BEFYiCVKktDr zCYF1joYvhU(x0yBZ0tW^X#8kJ2OjTft50;|t2|L$a>F}2%U8qmYs(uC_~szFX^i*! zEb!&_?hz+@-xcTG8aTk);#=kXlil{Z*(2_E;-LUO*8}DDfL5OA#V$ydqiW%7aDL)9 zxU#@q#>zMMx%(m#d7?W~5;>F$*8M%>75)i5E$_UGf5NSBbY(a{&5Y9Ji?;oh&ho+4 z6+Guh7)KO$t*}dUI9-hF6T(I2a%V3cO^?gMBg*!=vCrSI*r4m@npapZH#d`1Ry&m%raOAyuDSza(AVJ>`yKm1X)`YoBnu4XMW=ArFaL4&u#I z-J%h%kETKP|}NdbvBI2S1mxK;6ICzlTd z;?2|Fyby24Y#<@#>+a)6`p3$|KgvB3t}jV+;O-+Oz_%;JwTVYNx!wN0g!o=}+eV8| zbVDvZJ2P=S->x4QaNFc-_v0Xb(@&iETiN3udC+oqm&J)|-|@#Jaa{NYxP(dd(1iFg z>NdkTlN*O!w&do;_+Eg-voR8T?6W%)w=~9Y9HhQDesed!_qUwOtqtx5UdB{I)FTd= z@GXV1hn~{JZ>gEOyH5DMJWf(9xtk<-2L*`>6^A-KAzv9q>>n=a^5I88Qv0yQKT3<> z&ci{yKXHSZ%O_Xw7F~#=ez=R@lIV_CJK{H6CU(TNeD{>E((I!-F8OD2%G z@jXYpwLxLqxOD*+{S@eXgy;tw{pa3%Ffv3x(daioKP^Omy3v<5PrGhnaa-fifcQ!h46bq_?8g9ErkCwgnt~u4>*9Frp?Cf$Pg~;0j$rW{}Q)p zO0W4@itBQ}G=#5Ge3Y{PiQ+n*Z99>OHufiz{)<2RDX#UML-;d_=O{b>R-Bg{#eUs^ z^no@`mzOk!Kcu*>|4I0&mGwG4hbgY(^Ivf3XI7x!|3m5Z_;Sd>WSBP5XF}f#oYU3% zVMgDZ1+?Xc=%*U}R`dfiLiA@F{cQMid5HcNr9aHO;{M(nqJLWHxoaN-|KAAFe`NH{ z(0?DI|J~@i<=0AHb^O?=4|2_EvFWNXhT7Loxl)3It zP6M}oR)z5FbTUAj)fc8ayceGm!e@l=OTlgV{#$WfuiEqo+-CJhE3V@(3Y_Dn%cUtq zf1cvHyuJ_Nzbih4()b1Q?SVa8_j82eTHmO+PWLRuwSJxATK}ZtTEAOyt^ZYVt$*$wEbg4^g~1Rrx^VP_+JsCpQpI?^V|@AhvGWFSx35T z?bY928N%;Vd?Xzz_2IvY>-Km6zEI=%#FYNe;2cjLkI<}wzJ?!7`*`b)69=}V?T-Yv z?R~o9eCklf2hvs>V&@{obv)bm@yGGunjfpU_Gcov^xJ!o?oCQRn`}wk9#A}A@k5bu zsc&7|dOwZ=XS2G#^;KNki7GoBXSx3B8l~6%uU1@_*ILErC_kT8T&J6IjQ6(#z36mD zg0ufR-BQJMx|NFSbk9*-r@LEmZ70&#`@`vKJKYr5c1jh`p<|@H8Wq>`=dFrsJAL{k z(#=wK<|AwQ!boZnG%i7T&+I|bskIC@+MZX#PB5>OeOjBIv_jF^2uM6buOr_WT z$+?PaJ2x6TQ{c}nO0Vrathl!Gp0TqBcD_)0ZRZ=swVizj_`x8U>yNYZ3J-Ct3X3IS*gwGq6&}%zc!xLQlQ>nQ2{|s>M zAJC+ofeVyg+qp4B-;Teupv{)=1jTi_Rf=o-7lrUzOw6qP3l!J((|Pg%f3*EU;5NS} zhUkkzctwbv6(RcL_++3Jf9?q3gLu-=iatMtU#GaP4_g%1arh{Nug-MI?p2O?m;l)N zIZJUJ|3%<7&P$bE`*Tf*zRjrC{pqZ@PM3aT#BJ8ksu2F6;yP}-71#Fru!uHmKR<*g z^W+kGZU0)ubsX*kw{hDL!k-GUla=^eUgffn;#xl(JcSNBjQ-E_ zhX<#Fi$6o*&r)TFyJYeI3Zvfz{p}(8H^3!boA%=HLh--igem&{L{xrq8s}p{^u`kc_dQj=L{dX0=LD~6O@f#KIGL}Bj#`(R8 z{!6+86e;0k4DH8Dx|A*FZcQ_22-$CO^@cZ=ej zMX~d?;-c=GxVFDraqa)eiQXR9t5o_g*BiW9;yK4h&nI^(uIE?ZgL9nu7`b2n zSEYZDxa5l-YVJ1HYCk82@Y6&1fs+z;w4WnG_(X8=Gt(a)Og20ne44WJFfsA}48?UE z?yz=hh0o-zyX7Q*{0&ZoShpQ^Zye^m%yskpZD zSH-oR52hyk)bsXV!6p9bUKX@D#lI1r0p7*%Oz=a&ISvogf5}&!;@Y2;#!foyJfJwY zueZV1E6)9=Jo4cwWnZ`JXBF4!mQM2qrG3eBj2pn&f4x4|?$nn0jcxtsEO6HA^PQ(c z_?GGZIF2X#-^_1l+YZilwEv$QeQ$P{w(mpqf1Kv`TmQS4x6bP-JQsh8VE+to>(3FD z3B4|tK8ka`GLWx<;MUG)#dSSAMcLtF(tUElEXCV`@yqEUd`Squ44iF`qW@Aqe^q+k zC(k=+6XOrQ@6`Q6FL2JL)*r3(kI+7`f1=`y#NQ?5^bROxkp z`$33)htjWC_J>sYblJX(59)cQ;yTVN6=(ev#B;sjTfsLfuI;=E&dF*1Nr=A7oR)qr zgrA3lb9w14t9v?;XNr{1p3Zq34+JCS20ZbaZb%CWIG-@F^j@EQF&O#r+XK>x_Oi{9kCe z#G%=6$=5Q&#m)-DMZePU)ut-7bm;7!v{D|(}pRI-;*3I*G3?B!+-SBeo&kg?@_^uGX z$MAjNkDr_+>i>p6dw-I-641tn@mujHErfRs;prhO5DWG zLZg@bHXAPbWrj25Y$(%l-u z-wEN{L-^+*d{+qHWB3^4S5CU5yu{CB%-4jkgg(u1$*;@@MK5;Jjb6B{Cy9R3bYG7A zoI~D(Uk*Oh@Uy@(4L=%ujN#qDi$eGm!@tM+l+0VjA4zw%(F?B&;R{1}a|mA+!dDnR z1?zDu4L=urbqHT$xcI-;aEbp0!$rT*@bU^@ewz&+Snl~&!&9T4zZ1f@hw#rs_%6fy z&G7d382%gTgFISV%2)hJZs(7)T&@qbylaR)J%slT;Ta)(Xb8_VT=F%>aLHFu2ygGR z>%Im$7Vr6m*FbpV(~80L{|L+v4`4`}@Lyo}Adlnxqn;id0xogGM;Ydw9$z`QT^SIF z{VIM#+X(*>xBt)19%LIH9O=PW!#n@U1L^+6{x`5Q#poBq&RoN%boHRl@agDhml%HH z!5%C#d^Xa(-0=Ab@U4b_5C88m{NEitc*5|*!Cx>u2lMLJ4VU@chlWo=IeumM!LakA z;meWV2p2eQ66cj&{OA1*KOYtC&xXH)dUcfH&!HX;GW=Vldy?T#@t1_O$#0E{KmCxe zsYbv0K(C)^_;uYpZ!rAJeLZhByx!yBQp0y2?sv%ZI>et#!0$5pgL-)VI>VQvem-sZ zDtvy`@ZG4N|1|s=#7)jC#h+7<-ye+r>ixYxNlE@y^m2Z>zu~iC=TO6I!TT7#9Q9;~ z;Z;7lAjj~x*a6zc8Gaqw>B)wFkmmIjhF_0zuQmKu_<5h<|3o|=GW;X7i>C~i=Tg69 z_++HJ!|*9MPygER?x_EAUL)~;7k1=%EW&4kr@>$0kE6aFWcXdkZ%@NNP4{u@Z@B!X zZKmNtve%C@eBI%mPd0oy%Dvq16!eqThF{Bz`m`-F{4enTe8X2GZhtYnGva)c;ahrn z`*$1u67sd)@Efo$^o8Lg;O7s9|Bm+C2J;gsmui&veun2^AnjuKdaM)nG<+ZUIneMo z(cVuq{NHHTV+@a=9hDe<3&yF_48I+I@^i&`lYEWgH?%bw{%I%A&oNx$&(9m@P3-JJ z+^#dc1pU+$0mDaOJpH@jF_hC5!v~?B@bkvCKix6Teq;C*i2u)q--tN3$M`1s zx(xB`WccqGUxpZdB}0%cwh8O*BD-Y zgtv2};iJ$G+-mq-)blllABy&SpW(xLdHW9=&d?PM7f=uhPLdqn>u`hiD`ekT0cWcW8Im#u~$ zhyLY#!zB)%8!mDF-f-#1+8`bA^BL6hj)w0+x&O)VEofi848IHQD8ujq^q(gf{usvV z(T2aC?(0dF;k)1uKYyM#@&DZ;{pWKG|112w)Npw|%XNmIjd{f#hR;F2^nl^=J7Rw~ z{GX^NTMREoKlY~K1?k@Zj||^W=7)yA0R2yfACLOq4((Xt^Af+It&`!!9tTGnej57K zL55$B{xj3??-950hS#8;pJMoHsBg0jKeU&3sL}BAF^-&L_>xMU@9N#tkRm@L5H2gQTi+>v~>&ssmegf+G zw}zLaT}Zz!{;xqj{LSe1L%ByV9})c}=*RXod;-d4f5Vp{{s$SJ-qXkN&xRj`_SM7i z>%BZU%J9D<&ixGUgz_3>_|fgWp<#v(hyEnP$HSjo!>>iTk2Cyr%+n?s{ypmd$%b!6 zJDP6z&8QC*hM$jdbB^KfWBfYP@cBshBEzr8dBN3&uRyrTHIej(a>8&N6&G>I45?18@Ao{^z29xZ3d3QI0nlF3;_{#qhtQ zf0OGy#r|CIr;I+QJ$pg-DHuKq_38t|MZe4N-YBo%43EzbFfQ?K&hN*l|6L6K3~?A} zcz?9(;|-sNa-V4UHt;!yFT(lS0>k?t4(Ayz*UemEcpB>YZH5m-KY6#|cSC=_;hhk- zhYf!Lb{;qUVbq7G4WEH=xQQx{_h$-5Pp7WcoX{he;a-X+RIME z|AF@Yli|;yU9?C4B=zJB*g4SfH&B1l4KKpD(BJTV5zmo^H>Xo&q%F_z!_Z#F8$Jp4 zOAIeZ+@=~X&y$TBz8~fpF~e8E{#?V)K>40-ct?!C3k@HE{{3>pcj5C5h97})xy$g+ zG5=X-_-MrcS;OB){d~#re_%Y_W;p-OC~xl?ek0P|Zuspe$IlEO+{WAa#_$5P>mLm7 zgZTeycnbQx2-=O*!^Kix4Sy8zKfv(C-kqSU;ak8DGkh`X|B;5jhVibS;U^s74IO9r zlZbP!;i>5N#u@%9(w%7dT+Cw^8Quf)f%6T&Th^HkzZv!LCc~={|A!5~3hn4=!@DA1 zuNeLf+UdK7|AzUbd`~Fl_yfxETcdvv`riz%M}6BD@en(?@c$sg8_|B{dE=rlhn;># zpMh~9$MDXmm!}$j6yi{2xU84XH+(+kbt?=nK!0+R;XCkoz2Sq9uT6%_I=1}2vgB9R zu|F_+S;zj;a9PLx(eNE8m$qmJV*gvz=K~Dy0eyGF1L%)2{B^`(sNuh%T*?gJjsC5{ z@II(l&4%xSKbIPg?lX|*s7t=Y{=G(jEc(O843}~91;b_BeADm;BEH|)VYt}&kKwQxlwAn~~$d?2Nl(bFXxq@g?|U!NjheGLBzJk#)$ zVsA&*r#YT34rr_uMxO!wV#DS7*p=X7rxJE6`4d6SCeYtM(hYC6l`JJ0C;1ahDus_i71Hs1{JE@q*PFH*|#qI{oCubWw@_V8BcN19O4gJi;$_~e0 zz893=Q;>R|j($Vd9VK7$VCQCKhwYyT{X@o|*NSK-ZLcXkr~4@Eykq!oaQU4DiQD_I z^M%rL{R~h)e^Q+7AB6TRzrP@McEZkn@K?Clm+zB>i~spb&r_vmIc?hJf=k@?L;o{h z>0LiC!RxOv`j-#z{5He8^Fg%9?=pz}fk%4&w9!lacPh?tko%#2HoQi@f5LoU%J&NJ z1HmN@|A7C0R(g(qSr6~eF^Y4#n_*|Lv9ld^MkqboSpho*inE`X*CMhzGH zXBnOW{q@HFaM-`i@YBHWF?O9-_rlJLA$Gnod_L@V!1 z25I{PTLk7R0t-|Q#{NfVBZ$LkDt>J&e=UWx$a{K}Dm;I7% zCeqzx^zyyY%Z4w;Jm*btYe%jl=KONHH$nfavcvuDLd2^J)-xnN$D=t&ev>g@lQ`ds`D7Qx+5Yb+_rndJlTJHn>#sPcyA&i&8p(4S=ZcJMrK ziBEv>t3+{*=Vyp#rLiO5BQ_iTQTx+Dv|VI)0r-{1PBl9~+YL(3@t5mzt>0LWQ99~kK{eK^J-Y~ou`tyGo`%_{6Q>AD7&9MJp#o2x>?EGQ)9pG)T{wL)n zb~-A~cK!+d!G;g(L_29a!ti^*`+-ZG#sA}!p8a17|Fab5bhpCJSi{@nyuH}ipN?{z zWB79La}Ag4imo?Y>cf48%k?gs4Bw9a>O*j;&m-XHH%2f0%zu@hFv|$18rib z9(MLmcR0@1fFA-bah87L1jA*0BU{IO`AUOn+#rO?NNx z`$i?*1>jQOWYKO}2*1YInSuU!mC@QZF?U%yN*@|oZ6(RPo57GZkac%z*W9LNOAMFmG^QIn)vyy&dKZ8A z*`zqfVG!0q?Wduh+@Uzze;#)3H+CL{otKRMSLoj`d?3~% zc7)jZ+2|)hpN#cp$yYOYM{p^xZSZHP;gb=!BEzNqRvO+0aad^hGpG+M43~1h-SBew z^DsCcKA8TWjQD(J__H{VNIHT}s8?qh{u=mF#kt?uhJRMcaKSTq<1^mVEEPT{ElZ0m-D8r#{PPw zE7zxp|KEZ~j%pbnSx4v!F7bH}=ix^feiQu3FkJk}46#2WgkPZSaDDhI>cgc*{}1?c zhv7eiKWX@Zu=BjK&-HmV+Sgl(bGq^C{|%S*xX%qQL;d_(akeiHa`**Y;xGP0db7y) z|E$kMKX#zv?9WrMf2iRq9}IO~#9Bpieb? zI?n430hhR)4m&-Rp5wm)3(ZC4xpFQ{)182wr4P98jF_$}bi8aqd#-2WZIe=~NTg`KuX`*du+?aO)HGGk{9 z?5t3Fwvz!ncN+aT=~!M%S9sqLKGE&(5#m{IxSSs@F+3UP56y~e`&WWXxrjeE7<~rTC;z56`!f;t*BO2x_>;!| zI^_3xrDuQ2VE-+}+5X>Q=R?E41OLL<-wFF2`qII)Nxp>l1m`%j{XRI~=x6kD9bjPy zpBZ9jp3%2Yr$lJG(D2{j=jF-{$3d?9{A&n*NOAVR0RBH=_*3Ao89os6{&x(Y1pX1Y z#7+GCLh0GhjVQ0S{pbU2qL=l}{lMe(8TvyNXa5%=-Cl;@4}Pq%Ux9wRAcW5h;TIUb z2zG8a{AzId-C@a>tnYsfJ?D$(=V!O4KeUzi_picV+t+`V-}x0T_YJ*Z^e@BC4#VX< z_Z!1=z4_o5!$0ihcN~0dOMk@9;fDXr8KiBb;i4aB_`XSAf2QH`z2Hj2#m;?(%lY_Y zhRgSi&l@i1>DvsK^UyC0-?+c`GnFeDZ4!U+rfsMa9^hX&Uo7d4a_^`(>&2g*inG27`V7Nw z1|J4){mfE&*AI{_-X2c@B0q8~u?uKip>YNwEK((sRCwz<)4$xnA)%qi=?OUp|;NDaU-IdywK>j=QlA zbE4rx_H%~^m4?s5_Y`%8H-MjM_?Q%LXQknCpThly%lgPp!==7O26=nZ?jAyZQ^ENo zH@PA&3;HWPm)Dhu!yv_V{U50~>tBXGTX9|gPf?upU2vW`+wk$=r-NHR7b!im?s9OE z;%xtP*pc6B<~V5mjmG{|XNB60;d8)WQuf&nr@`CXiZi3(kPOmb?vCY*ypo7A^A zpic#t{9fT@!NE$;>6U>HF#6lThZ+3}@La{&&mWQQM8)}SO1eMbRB-V}o_F&X!>?@T z_17so?58}(`EJEI-7K8PJ{V%>MWbH;{p%t6uZ;eB=zlc&+u`RQO3!`<5&lEhvmNJO zrCk0CJ6*vg4q_+6==ZC;`uwcl%sS82OZxs4tMnOpVJlRdV4;~E5qbHF9PeO+Y_g3Aog0l(AmD)7gZefIzOboxVE>QMj6 z?S=V&P(P0``~{SY{0_V5o&@Q%sOMZJC?lbn4;qrX&_QU;t(aZHxoeZA_e-1NzKh%@HhM$Le zGSqPSK0VLy+)mz)8HS&P{-nlmIqz6vxZIy`jp1^?+iiyT#k$jd;8Gtp&hh?iReCO8 zS!a1uac(biAJBHiS>GGy`Ttg&^?w{le`wpKIP2Fz|AXSJmv*=B34Byyec*Ta**k=1 z8XlSJkDp-pXRtHJaIxR4xEoq9zFYz>_2&k(_iL1%=cRR1eYzWzp7VP!&j0_exX$lp z#aTZW=jS^NpM>+(&lG1n($9PcF6Fxd{`{i!+(kBHyhs^AA86xzak`hlerLnq2JdG0 z349Q3M;d+}__5&P&u#E$oY5bG^PEz{<-G0`V`tMTKHXV{52^J0OvSkf<#!1$R-C)M zx4k^LS#d7MZSeChaE=ehZ6o6Lh~k`8IiK8U_)g^OImNY|R~2VF=kQM2-Zp#&=H=TB z{{j39!31zgHyIO3UnqCZY}#;N}E5#Ul!qOfzc;_P|`&ZkBgJ9V&= zWAtUvmnzP2I2ZP(8-54)EMxy_*soQ3_Gc~ZH;3q#h3KzRoc-B?bZ<0vK0-Zt)bMn~ z^Hsw$$rf)P7~TW^e`$Cwc+yCJoRrHZ@IM(o7WIFa;kEE*61bG(zL;O05~8m)`jen< zH2Ox^ztC`LroajoB_IP14U|C8Z)n2#o%L?YV6&*W+Tb9ZnlmouS1%J9|T1B{&!uv21q z8F;O+vk7(<8vYabIffsKdFRC;_HQ-%lc4{b;bLc<;WMCr)YxAD|92SvJ?j7O#?A$> z6Up>(l{kyOo8iB}PLAQp)BW)U;L`sWp`J`poXh=gq+10p>B{f6oNx4RL4R?G{_YU| zd-Vf1UEA7}Jap)WD|?a24d$~P17TyOOELI0%D*FpcH;vE0mkl(kBo#|+& zpBUZ~_P;g!6YzbqeLOjCJWp$8hiU7gcoKcS67~-Rmwc^;pT{cBetrx;2P@9~w&+h( zob|Ec^oO?5;8Kof$2>1Fd_Bh5Y03`UPsh5-k`R8L;+*aqNcU31yPx3Gy+U!eUj+NN zgNvUp!Jm7Kz8U%_6z6mo!~S!I%X!F4#(q1*;eEqpJ?d-2`$PY`;i6B=@%a<~uYmu@ z8J-0@qYR%2KEd$wz)v-N53ml=u?k_C5m%>y8!yj3}1zMcn!GJ!?lR>T_Jp} z;vE0q5&tKR{dKVaywY>IXB_Pv-KIF(k@J&(8ZPtT?TTwV-zd&@+G4))tKkjc?Q(tk zoL|-t!MK}h_`krrfJ^yGz7A7*_Gc~fb*$oSzjG%2p>3$)GcuXdZ@3%#Un6d(8U4yk zCl6*D{cq@h&NKS&p}#0Zf1BaKY2N;ehNpq=F!sA-dHr`re-iZjkM{c|&L>0P)$k?Y zJ;5c;SHaHFO3!iLjyMljoa4L-cCros41Bz?|1#`PQhK(Zj`hGfinIN0==U3qov&eM zh0&Klf1TkMf!`Hk=P9GV2l`hGmvL*Gu@i}sv$XwU_`q_{yX5&-DVJYh|4?v=zvu@T zeRuSOCxz%w4dL?*KMwxfWcVoXJHXjbE|(&d%acZ54E^&)FV}l*Q=H3j6#W0#*f|e& z{xJG;p-&#uGH!Q*cLHxiyOZeu`>^vTrFZ=U{6AW8_Gb(13^KeE`mYm>{mwJIAGu1; z_IJVlDT=fGF|ZR=T@N<{U!u6Sf32}2zw7sq(Vqo>HiYQ689oI0{mJlb@HY8A z9#T)z`})rv6=y$hLAu?+rM#M8XSmUS1bw#QGJcFVcDBOKB&B!t7XHK(XMcL5->flQ z`u&B*{=f>KuV$rZ`zv67h2m`gD%ig+#LfdoFa7>wA^L4b|26EtXY|tle`EMX=qHoL z`g}tp*tpojc zexjUG4Zjw=3%K?FFs0{ox5EEp6=(b7;KxwIYrsbt`!$HqSfywC0lr6w8T~ELpQH4g z?q6X4LdDrm2JBp=IO|`4{wBkl@cB->N*oHx=pfqeQ+l?)0`{L&obAi!7YzR%pZ|eZ zv43$H9You^O7G$f`(K9e?-b{BM;16U!SBZYLov_WV}A$w$oA9l{YaM(o~}6CpMlSP z3_l;AM;rb|)I`VJH5Alhado(W!K>`1;YFkJk+(eMk(ocUm#;je*MaX3E^!k(eM9t8U&PLnuru7)=?Qryq%B1B|b^BJl|z_-zv|gURZr6q$7TA zho3zaXMZLj-J=xedMooE`H|0&qoY@ z3gx@a@Rz{9GW<*M&L{`5AA|iv!Nt!y#GzjZAEG!*hr<7p48IyYM{$nxT0V%j$>8G8 zQuuS4(Qk*oMsY^}g8c=C_nqX-2WNtd{lCNhWroZ1=x#RrQ|RS6onlAy&lr8hDL&nQ z8ZO_5erNa|tP6ESy=MFS(f{5l-cC2glL$3qK7735tS^E-PjS}YgK_pW!+%A-<{N(0 z9G~tA#o7Ks*k7$U+g}L%dc|4475W#zxn2#X|KIXKv~5#*hfrU?FnYQE=Xb;9xxM?M z-AlPhf0qs}>583W4Zo6|rER#evl0E~sY;(gx*4cf<%)B@#D2BntiJ*J(-miZ^f3BE z+Zl?p{tf8QQJnREu$Z>xinBg_vcth&6leVd`*?n%;;gTR{vN|01%Cis;<*EH*skxaKId}5k&pB@n8U!`5FILLqA&+sQ8?`rrP&>vxV2HH`E;mZ&7hDI1Jzi%|g z@ZH_LeyZVrfj=?B_aNN{!{v7e&M~|<{8ZyT+;nban|oU)!R=({~_fo{&!TI^`~K+>Sp*W;5`-R zbme-#KHw6!%rQRQA%>3{?fFP$XCR@CDBnWG*`I^)eagv(?*cznacw82INLcN*H_E| z7e6n|^ZuM;_!{t)hL4=T=8ZFPHZ=LyAm{5l)@ZHlwL4Ei04vwjWY^CdW!7w0Pt z_2*~BIbZ!SPx!;w`5tz9Y(*coQ@>!BZKc!2oKGIlP29T`s~-FDEQ zW$dJbU!d%8ev6RbYZT}F{tfnTP+aTpHuk5&{@aFc0RPa~k>@k~M{!Q~Riyj9;+(GN zlQ3>bes{rshT;35J`4qy@?DGkj!~S`{TAttSDe!o{WN2L1ni%0cq+>AR>OOPKW4bJ z(|>|Xzww_xQ{uFJZn*R(KNvo>lh?OLza@60f9qtp{2t##!{0r^+nHgwq+4USJdbpV z;qp5=%MBMhD-9PrcNqR_Tkp?$!^O@shKrro3||%TcD5TXc6J&*jw={#dkmLxwk`U5 ziL=Zf(hTq1(c3xHa2fY|8!o@oG}v&NS7aG3^NR6?&pOr)~pN;j0o!}DBg~-?UO3(GJt{YpY z>wPdUlY09I>~sXTcKR6o*U%3#`iqh72};lDu130fio3W~I(LF1!)Jm|Gxi^c{WC)N z4TirA{UgTyjj;c;(SHX02S)!C^q(63G5A-;&VD&QU)?Z|ka+e4?*-2B=lE04XFHc2;N-!FinEb7nVhC%`x_<#^a^&-XPv z8$1XC~~Fhv?^r=$9CMKiI#_@G;=`gz!y-tuvIG6hfe4iCl zob})ALw{(iD|0XL>nPrXzDaS`%YCoSinD!L-@eW8gXhvt+SZi07iXXCNd0_BakeuY z`X|684qFh1cZ_~I^gE1xJM>>FJ=fB06Wt{^mQS6neVhgy5nJgnXxk){LT>mcf;pF|FYrlXHi15ePVc5=#ysn z{cY$aiT-DU9}X_{`ReXo*Wc)aOwWsyp5wn0@tLG}i~6iM>l>@RotWafe%2|@`kwQ= z{z}8o0hf87_%HSIHlu$9`g_174nd~3zfS47zBT{Z^Jf)jfBM#V{;IK)p6U5pO3!xI z!p^6Pvz-aB^PdnqDHYzH)aRAZ9|SJ`XJmR^H>Kxvw$7) z_NQffep(1W)9|yQKVPNG{-ho1?Od%m`*RA?U1j)L;I|q3x5NIMhHnP{K-uAR<+-mi zzn1*o0{j0BvD3AZ4yH}w{BEZE7^H)<9k$<$eDzhF^Yu3DA7}X3I&UY_*iXswyxj0q z@G518(_M>nFEIMi(BG=`>`yb&y(>ijM2P-rqnG>B-Z1=Jr2D?I!+vgupF0(2f9`-k z-zu*4KP#^Fe}K0k8%gy4LZq9Dd9?7xOxj7?k%rHOUhae8a^(K!p@UdW&v7*RvXeZo z0hjvoBK&Vqob9Bgc>P(5v;VQvJ-^oQHuavb1{eQlBHbs9z8Cb*8@=3jy2I$lK>wBD z)!@5~otuzuPt0@0pUvPS!6got!%lXHeoBaby3xM^`*ntI2fr+Y-(mQ_p-C)I8{{r;G z6lZ;PM{g%baaZ3OJufl*1@I~0Qodg!UrR#xQe|f#ncnp$Z~scgIo%;mp5JJAHTa#z zen-UrKBZ^-=@`G{dLQvKL&{6(Io-=)f2XlO5c)QlcT0J_1ATjNv41@DhZsHvyoa*G zeip&cK_Psku`?ca#vA@A;@_m~aQWVX@@+QyX6SEKdX7Vn`SgdjyA)?TvTppK;;df^ z{UeIAeoi|5q3s#PS-%JRm%t@%@_d0WLU@4l64Boc|MxfiI`E<3(jKRzvo|zvHTpW} zV@l6{&RgK*!5qbPzM2$g{hiP+Huleg{acit?Y!T`+rP)?%bDm5n*neGd?a#jy zXZm=D^`|ZJ_8(SU`!CO7>OeBqzYhHt=p{ab z;g3AW$Z~m(k#KnqNJpIa2=4!9F9**9mvUc%bPGcCF3{4ob@N1<@G-qz6tzy#o3OW zNAHXCW{KziXL~!Hz@=Q)BVT_~dRLBJz5Zy$*`Il^GbqH)1fyRM{Zymhf^^H3p3~iq zbmu9~>Anj)^9?_?nRe19>k5)DdCu3ZCSBoA8(uiV+u5S*vp;Evc>b>9?9akx&vzJp zBlu^=ego_ug7bLsb0v5Wa4s)SHxua&P@L0!3igMG*g4hkyJ5dl*q_DA&n75{(4y$N^}#rFR_LjnXu zCLm%Ign)yxi3uPQQOU>zdUS%(fJPBTS>#?>B1`~5U~m$pZAYWxzQqN_>&A6K7J&&{ zKtv-hfC$755+V{s2%?bpoI0nH;#}tU``>qY-hQ6UOn>^@-#WE)b#-;m#MJj;uG95# zISdy38sZ-my*7Q9a( z@eT$z`_*m+PXp-KP zmM7NNIZfdOmKj1H?oa#~L!Snya}n_u4Q{r#e;FM0<*a|#;HcO4YnB@v^>gkc|J4RZ z{kNwR|HR;^Z*o8J&kc_HYtJSAt-(=0i}i;Lj{1LhA^i!1qrT^S;-^occij$in71}K z`si`Rxdum{=U9I}b6vkLa5?uf^t~}DzW%zx;OO%g`wWTW^AEv4VE?-epWfh;#{RPn zj{fO3yufmw;P*3sgt?CYNA`aw4&NAuR|;OsK8ZXJq|13Fr`wXbPB)lAake$|y#bBl ze4TG_%vS~bTqJnn1LV_J_}|6;;{<<+`6R;!(=Fz7=NKH*y@37ikK^--(2r#O+d}^? zr~9Fy$8=+yZmGdB-7x!nBKSAVzZU+7*ngLyNBl}ld`tuBK>bo-6^`6D)4iLPE`5?mw{c|{;T!W*3I>(b|a8rMq!A<=* z<~p7SINbuleO#VV!N;?Hk>TGL;+chpuxt?g&i2H=5I*^Qyc{z080YnzucHR<3tZ1L zB=Ec-))(p@W_^;uQLo1XXBZsyJ6WH?T$jUKj>l){(PuZGUxGqEiuIEWJ^EkpAiTgb z)!=6Qa}199QLK*`+>HMrgQNZ})<4Ev$FF~f{bNIqK98IRFR+veeGE6kQf27T|0w(a zYH*b1bV4=!9-+Ze|5#LE*9n88Ue{MMo{!Y^)$SqEw=_8FPxBBz+u-Q`3hR3d-s54? zUt)0d(dVx#4URt7u>NZ1y4=3UonXl|^mrWU|F1pT;OO%X`%DmgEAzXAf0K*R9r7V~ zd**K%KA3K1TP1gG7Wz@FuZqK6(`i4Qud%H62)={!dx7AYtj`ksYUZPuV?Clp4JGHg zQ|QB&(1xg?$8tN&<@2b)(I>MN>7O?^>Whnszie>S59D#w+XhE{&qqlAp21N+j>knS z4UYPatgjG!%%kK}#ax%?y_XRG&Cp|gm2-VHok82R{$bXi$6UAn`Rsq8&@W|uK z{dIyLWqyP3*~LD#;Hmv7zJ!DD&P1M<3k}Uv6;pNqd5P1~b>ki!O(uh8~Zv@R_8)#o*}k3j2%~ zK8-PPSn>@$`YdLju))!11N+#5?`Qsy@bAw4F~J8i-)Q(?x)q#mrO=OOec~(-!J_Ns z^e1V(8FO7eTHhg#{yd?d$o~BVFJV3`4!=|Ig{+?`_;GHxj|x7T^@|06jQM8f`Z&Fp z$5)ktFZ57391=d^e#Fnbhu(F$_2zOr$KaTxZvR~jj`hBU_1z7QdOdE`_er$>@TVxf zp@trPb}`R2IQr=Je~ZCU?|zzm?qII#w~X^O+0bMADQQdkxdulcFZ;|F++rRT{=cyQ zYQfXEzuGB$?qr{eIQqkJ^v8t$V)j3MHswR-H-~wTIQ&Y%hqGSaSJ6JJIbZ(}`a0(K z3*M7`US_V_;ejR;-`heTzL@yuh91kmn9JuYgPZMbkHJyj;~Db#$>3&tJ7{p!zt8$V z437HpGsvgT;HV$)Eb$b+U!>dZTIS~(+-#p+4URthSf9>Zm-ALGhYUlH?K7X-XTad- z)BHJ#=Q_cAF~33h*RsDYcqZ55Lg8~Q`}`}8esvuEI-$>E|80VgVtzOdZ^8Geboq>B zeLKNF;e7QGygBQy6ejA!dhxDo!}l)+7X$l#{_Zsu;-7vrDE={_j9{#}3th7bCuaXhcZ;r|vs z@34PN@G@?1+XcUs>+68vsgO1<#{|z*6ux(RFMV*s8|Ev_K3xU>koh3NQ+XUXOzzXTg73-fAya|`Xhk|!v{;A-)eeMwaIo9uEuKU#$JpTM$=yjaU`2L~R>-#=^ z1-G#PVHwC=muG%1@!JeNwyWBgh>tTk_CLCRzRTdKU-UBRrx_geyHbhIGdSwMXZ<3< z=e|PvrGj7jD)Cb0I{pth{!NA++jFcl>30|$(|v<|eh~aq=KF;I4)#B%koy$z-3P(Dz?R>0K-IS*#x;cnSf^uyWz zJ;C#tFE@O!{8P`P_&<%qw+WvD_Sq}=GhF^B1b>Tp+agLw*GmoazJj~hKOng7A8r)9 zJL^Nt_3`!g8I)d;;A0brzb<&Y7R0v-{?j?c4+^fwGf8}(R;PP4`=<&%q7nIAE_k=L z#IF*3c{AerKCt%BZcO|=p-<%gXC?Fca!w}w9z&1q{G)}$4+=i;HR695yf2`YT%L6X zN1yqu_uNnWVVuZonRgWY)z?YqH8}d~@lp@wI{rGI*X=KO67yk(52o9A5&4gd!*3Tp zXR?pJAFk7F&pcxIsPiw^%VP$|bO&&{&&A;{iFCWO|2u+LGXGfcVa&f0{8r}Q3w|&2 z#(bY#=j##X=L-HZ^ZtS-wWjjS5PhqaxZ5y74c~J0L9)~|Ee9|tWbe9== zEazJm5np9+Y(J-UA->7rsNc)_&kT!2A7cFpgQLEf%dMGB`|0E80P9;C9QDnxLSZ@E;OO7wO@&?E4UT&Kyy(RS zNB!%pztrHUf2#@kSb`rvmw2wh(dP*J)Vy!y50{6uFF3m3OmDs<$(VB|H7Zo z9NP)@WAC31FR-K=dQ7*Xm%^^=3_XT^+G66j3+`t=NAORX-!J@sW&ei_Js!U?9`C(q za7_2ie^a`z3ZKL5vsUn?T<@C=AM~$b|D6U$|Do((A$(HV=cwRam^Xch;?nKSrP~{G zUCwSkuMHG@GM}eL2>u=(1h7mMd`?T^VZpbxBknM-kLN<-FAKf)dE4Mv4o`A9yk~H1 zCpw;$21or7)~_)*>Jys53oJhfe#2?R4;UPMhQCMrxZp1_KmB3auKTzB%+D2k!uzD_ zY;cUHJ&*UgG1ukuF_%wo!S(-n86tc>Je&NlGdRY-k<-0F`0Ql=S%P=&MLsVGej)2W z5_~fAU4lQ%++9q5I$zH)KU?q*nV&ECI_3kI>vkK(&H$D?!S(N?jTQWgWYXU&xYj=` zcpB?V1W)8~^;?4L-|t-~xV|nf7hL~-<}Sf2xF4uwuFI{wCB@(T5q^iaH27=v0j+xs zj_pdvbB@7LpU?V^21osPKCZhP9Q9wY{!+pFd`+?dA7mPU*|W^;OHM^{W!rr zOVAzWlMRkOx;&>D9DP1xeWBpJK0+6l%QiUr=$5`KF0d3dqym0HN3Os3Q%1 z8b}@Xzun;IQ-gy+SSA`A^}%HdyQUZ%^-p48u*^0%>K|IJu`dY>3w|4y|Jw#fpVL1k{d)#SpBMQ!+G23jSFnDU;N>gH=LdtMPp8Jj4;UPM z4zd2Y;03El-{^6A*X>aM-g`6Vx_-al`I**2pTOg{a}3@aEHjhI_dJ7RoP}o+?`3d| zbN*`LeGHEJ2UvfF!BM}M^%ip-=i3}-j-khR@;RPS21lQ5>@zlw&rG4eBnCUdQY7>f zbo(*%m~IKD`@F$1-J4?Y0?W$=H}!8C+|(~-uJd~rr@L10dCWH(KImW0@$57>`p=EQ z3oI1|H}zEpH}$_V*YVuP=^hvS9`46FJwfSc{SxNA1pkA1w&2aUe(w-Go%wx&k7NF> z;3dpA3BHi|H-fKZ{-fafxHxWb?5d6?P(Jl@g*v}G+2?{MPcDZ_=6wZk!R0yB;HLjA z2FD@qWvriJa8p0u;HbZY^)DM7^-DSa4-Ag_H(0-!x$ZY+wSkSWd?)zjXA!RyTwj+R z7W_wUpRT89KV5FFp|pM$bDggC?`&{vpRdM9e}TcVKheLt-rL})-^Ka?%yqh_ak_&H zJsuaXPWS@fUobfObSqWZl_z}KvClZcwf{qg55{>jm&4OSUz|<;i-lg7!wQ3AJhyT@ zF@vMOF8|F2NBut5mmAzHx19z@{p2<90!y{vwaot#JaaAST~E`y8{V*8E$4i75PUuJ zeu5umeiL)u9=`2FzGH>HqBHS(gkG21{RYQ;P2)HpG`LxAPZ}Kc@3Ovxxz5*KPIr-^ z$M%z)Oz|u=IQmqw&r0EQgnc#(uKgrz^f5Tb-(em3^f$O!Zi5Vt`WslEEBF%Tc?L%xeVsVk;ONt4J*9h>;6dio430i~ zTa&)n;OO%)>t7Un{07p$YH;+?*NLAn*X8yPF1Nh~$4h9Q&T-Wk9NYhV)~7s6>1dx1 znWqW9lDQ@L&&-DlUdMd8;7Qz03I$JN{+!@`=Bot1j`=r&Ph?&v_>;`fe~$92+u_hw zw4TmfmqQL8@0QT(c9?5$tjBd+UwH;M+u>+~qy9MSCotFP=5e|qL$Ag~sT60S!O^E* z8F5?q=>Nm|q~O|rnc;(RZs7Zdp9rq=`;FlGy!NBueVbA|e+aI9T+h>XUHJJLr4f1j}HVZrtF$SZ>D?-zU^I8S%DVuI`c7q&(4nN29+ z9fJ4a>#|D0wf`T2Yk&6(gdio8{2>McR(_h5E!zyl!yR>*L}~gQLFXC#3Hp z_)X0F8616dd%lvnF6T7lH@clD^vDcsMOt9Z8~IFE=>qx3m5RgJV1v$8(3l5gldyJcFY? z%=$+Rj;JM{m)|rv>KC#8LxUsg!TQYxM}1NPyuh-vM7`DLcL}$jADLq{VSVLueH}75 z*4M;O;RTkXCF-sI_ZhU_{Za!*{VS|*F8B`SX9(`yLi?vMcf%^?OF!4w%ix%=OwQL8 z21or4&eve(I$tr)mwvt;S250FPIp8c{TPFz{ukCy6x{O}Y=mW+;IA^DE4b@(($5$C zJm!xucY_S`^&lS?Zwvhd)-Q>p*U#7M{65V3?}UB<`yUnl@3X$q%M`Dh<9Uwt=P=j) z+gRU8=o45!z~ESq#axeB25$uXde)B=d?ND#!QWyY75p(i?p`rCraPX~ec#}XfS<)a zE0|-x@VL;wQ@z>X*dG4k{FV!!8us~F@Q=7ZZ}bZ642v$$Cfsh%5nT841DInxec^9Q zOWfP#8Z7jwor#YWdVQW6Z*Yu1y`1!S37_-X=WaufF*wFq!f_rJK1bOn;Z;gU*NgT)i@7fU zD3^a{p-*i@`)3HfE`PtlF`jQYo?(Jt`~~@p6#lc=f2^U${4U0TVVN%U16jX7@P*9Z z6ufBy`7AU1v0j`G#J?1LCy$eV6Z|o*$G?UD;vVGFVIjSv49nqF&hL2!$8?Xee=mch zei!Te7##Kb`}kKF9QEC{!V4^enCtpo&GAey^ym}flmB#~FJb-Dh93P3*#8BCoAJM4 zaMZuU`gaU&#=p$qs6WQ~Rm^q#Z*x397<%+6Nre|!4hVfscjBJc=v|lp;4f*tjlt1p z3SWZ-R!d#b6 zb1t8$La(pa<_fN_*B&r9#`86&TWoMlcV-hx_c_7!b=<$0>v;NeJR1!?`k($a`D`&b z`s?f29l~cM`}`{OI$y^G*ZFGlI;ErI8P7f)1;3K{0Oq=#=s2^4ekkj26Z$mH*FOax z#(c8y$zz{F!F4>Z2;PqM>je)p-xG%)5xj`?O%_r4V1BXu_0o#DF1H*$j`|pStjFn` zul@!{pJPqPX^_ED{|oD{72NX;>9039`sj9kyTN+{Pisy3I}MI{-5#b3uG>SA;JQ6O zBDikPFB%-v&F6IgZE(!j1de}+!7(1)p4Twf<@pAe=Qg3&@&72ej{l(W`G9?r-hjkl z(f-dc_cCt|+c3_DInE0Of1i18;qxl{3=v%Wj}v?b>*os|V_w2s$MX%RyD*M^c^v&} zp@z{=KWBY`&|9pJ z3Vq5Bit~v$`geqW0P9x>eT4nD34I~!zl)>)Esp+((9dW8W^YowZg|5XUNxuGad-P z|AgSPza@Q(x9DBxcM0=W2FG;uxaC~tI?nB!Zf~IvasPjX;FCCCR|%gA_PN#2V>@?o ze|wj~F<M}5yWq<_}nsDF+1B?d=*HqXbtX>ip4 z#`?v~b@|Nae62V1=%b(iDK|L!T>2fn!1A@hQLmr>sW3R|N3woDbDi#JPPfV1=+^N2 zPGQz3GuQezSl?6VUtxW^&@X2FV4>f^`m2ThL)PCU_)E;E3ZB9IVd3xDMfrJL==-q# zZNZbelYYJ6J(yP*yah;85=p<`;Mi}ZvHmD?JYKL~#x^5;!aMY?%QLwvt#@ILdaSQG z9DjF%qmMqnTx@XEH`xs@uv}_z)IY=hz%>R({aDryGdSvNli&rGTMdr-uUJ3E;HcO4 zMtY0j+u9wdRpUUa(6TF=H-^}&#lAA>NO&^VK9IRC&sZwyZ!`31fNtgT9A|L!pVE}{cNrY@U$K5BbM5cyMEa-V z@OK5*-;Y=&cvUL-=!%ocJWfZoBK;hLqt7Dti5T3}KgV3h zvy}bcH}sg_**ssjO6X&(uQ2qO?ru)EO6WJT{x?I9@f5d$7g&xP9DQ-dwn{r5KX82|a_(Ec|HuCEj42>uAkT@MJZuLqwLTwl+=BDlVueNS-hze;fJ zzgckYzfExMzgO^k_(T7RkF4|Ds^Vy?@7)Y;^7r_cv@ zp3@fm8unQrd@|W*xzNvUP5wU$em);}2L&(WaYEA%PA-R)ZD_rX;J>hcN9H_i_8o7JN1H5rQ}WiPD`a_;BX)1TSHJpTYZrg&uD|YjBLGn)R>osH?w~W=DK`biKOc)^kLTb7WyRC4;A`XS)V8L?N}cY`i-ogBlP`Qf1jbpa?9j$ zd&1zVeX>u9@EOEDYXrZV`A>q6X72jv^5xg#$_(O&dh8X7K=p93kao)pmzHe~!&p(ZP zVuI^_qg?n$*#8$pkNzLB|L;Pd#O0Q>l+wZ7&HSFhT%UK|=KNkJc$m-oBLuHFpM2*D z{$6L|3k4t7g!r4xb-gF^@wFum|HbgZ{Qk=M{Y&sJmE_-e8NF-&bJ#zXxjudatnV)L zomrnH^b=WsjnH>z{Xd2N5!Q!c%78XV*Ay`S`p4UX}Y zaXiZnj`}-UzuMraf04&sn+%TnS6Tm=!BJn41TU~`H#q8dvHoYl+g2;NYd>>cU)?yr zjaSh2=J1C8DQD8Uhq=~gwkCeQ(ChL^GdRW*ud0u6S;IH#>`jz0v&LjVy1=rvI{Y~(JeB2!uyi+IgX||Hy_3^0h z7q=C>GxzgX2!1D@8+3*4Xd5xf=mpVtV!mdoKz z!3()O?-%?&KE9q5Jj6b)2;P?af%gU9$n9Y*bKD)fyyV94f=emAY2KQ75_8Ni_QNII zPo@|g`{Bdf4|fv0M-BO2z}yY1XwirL2gl(fgwJj4Ge+>Qm`@RW$ZwSH9N}NX>8=p` zcjjviAIxtWk9)r~IOg|G_Ww@smze(`{LkQi#=VB(a>E;zgXV3SV>zS$HumW#_*K8d zMp!Nsd?oV?=Gs4>)14sr6y_nr2lG3M^IK?ejOTmyj|zU)A&dsb7s9`o{ojkjzY;u| z?=Kt_{@Lu`Xf36q%V*&qw0@f4zcOzlc$dSZKUeTN=I0AO=?LjB5_}8uz6Qr~%jEvY zXK*aHH)_e}D#5>Jo-269QPSrz*Y((#uZyP`9J|6|6u@$i!5hJP7uG*&aMb6q{&|C= z{z}$=WN_41!XGZB21os^tlw#H)br)A>t}jxQJ={djG865SalF4WybKR~Ax%{UHz5ZQ}xq{DQp9ckhfcevcKgRqu z!CzqhzTmGjj|sk*`4+*KG2bV6jCrH=ly9BiA348Gnd|c3!g~FEWzD}~-bv{9Fz+S! zKIQ`iuVFr1@RAgYFQ2)N^U6Po-!1qj%8OJ_{1h<(VjpLKNfzsFYwS@h<37*5_>Y(8H z%30Fd@l&TjQQ)r=PmYm*U)2q>3PeILjN7>cNu!D z$6m)N-Mxa}!Ms}de9t~71kX<;pR>#8U6)S@`*aq32lF1xb-g^uK3Q@2&4NF|`h3A- zohS~6xsIpx3F5^<|0V1HC3s0^(ytdjx3JG=LcfUh-xzwVmkJ&~?=?7<|C8)fEqs=; z&!2*8|CEgsmoB%OF0|fhE^u5QY2hdBH^=DOS#vi}u=zsEe=@WFJ`INj?Fj_KaQ>E0^%JmzDB|C8)LUGNz5 zM}^OF_IXzDiyBdW-w=ET^Y;XQm-!0jx*WE0y1N8F&iq6i-u4r!2VK89o=(iQzn%}g zT7XTx%T;-eNqiQ`ix?q z-f{Tl!sjdY2@0OaTz?;3r#plBvqE3PdR7sh`R$G=+e$C$4ZK8M-oXTfuNff+7a z=uP{7%0A5mZ=6K+)mreG%-adRn7RIbe0_d7-JXUX%US;p#$^V_{Qk*4KIYozKK8jr z@Dk?Zg-`ot6#rd z(&bRjJe|3&$A5D?{e*rS>xT=TpH9B{!e>AG+%5Q&=2V{d3Vw|F{RYSS&1pma3k;6+ zd+urE^St2yVE(efO`pZg>&t=T|J2Z<|A*}JMI8O!IQnX#|C;@e3BHtho6jkKI-UyV z?V0O-Da_^2D-O>PK0mXMCHQ>iqXb{X{BFU+Sa`53V6NLqwJv|br?#Mac}?)Yn7?Uo zv|h~lT551C{|={W?-g7=qvP;N!lyC&%ohA9PWN%amok4xaQ%PNHZj-b z@C%pQR>4CpslIj!{x|dA4US1BpGoQeL>rGy33iLZgA5l)!^t;!}?y# zb$!j{^66*j(I=DR8EkO$$w;Pnt`YoE=6Ql|Wj>O*PWMqx*B1O%=1&NIC-a4ZXER?V zczG6;*AC{o+zxX*yM_Ko)*ltT#3G+Fw$i)y@wK9IXfJpP^Dcr2^CioM~s|8=hyzy5QFGkk_{^lpqdOL&T^@xYdxxe6Jf~3FB z;OLXeKI09JK838GV{p{xvHod;qdtlCA2M$a49h>n<+DogrANVQ}=B&pw+Cjy~I2|Eu6XGH^%LC3{93`+F~8H`7-x*z z|15)JoV!{7gy2=oUlF{P`3k{Z*_a#newE-GxZPF@zJ%L}dpqr?`-c=R&$b4~IFs2w zoq2O$c$_vm6ZeGgOA0=K`5@ubj(x5+^wHP> zOIYvzmg+~xvxEIpm}9;$zr~$N*TvwNubbGXm+<+MeXbJv*{shI`cApze}~|Gm`CF9 z7lnTb`!5vw8`)=-;P-Ky-w7VOp5mz${%hIawUf5%dhgtx%D6JVSb_D?hd5yZE&owQC^B~puw@eE@8c&xvuxr8%RIG(5rf9pD_kUpD_DO6nqKu zX@dX4e3rpY{{@1_INj$Bj_G#pNcnx4xsJbt?B~bi!3!*N1%H6~(}KUle6it=>E>{{%M6a`e#hyq z5=f&aO z1s{7l#nUSe?$${9R8@_`&*L!i8%au!EeU^V0kGHe?#z> z@F0Wb?Ku1c!6%9R9W7BN~%_M;yLea1Ynl4{`WD z!DsRDSRIES5`20yil;UXKOuM?A771j(|)@BXx>clm)erl=q(Ciq6YD1;?54z~oqiSMTe1)rZnKGzAZ^*0FKp7kT* z@X>;|;Q7Nl;_%6WFW~de)Hr;m;LA9kIdOQA;ETB&>^Qtw@PD06<+C6Te@^h%xc!&J z;fn;1a{GTv@Ef^)-xFNxKN7qp$GIX7UnBT$obHA=e2d^8HlcF(A`agn_zhg|yW;Sl z1aHCpc4Zu1Blt&&6we=V_}_xh;{ZXr8Lp;Qtu#yXKsI*Uf@w@_N4DIlNvdc#PMd z5dCHauR?KKgeE#|W-}FLa~e`gfk&@cCT()O4qE2nk-& zgZO;G_3z$4C%AszvQlvU+}huQyDlVui?6G6Jo-7bu;BW+rUimm@X6#;!PEG>m~tAW zqy6=BO*w+o!^<#FCb)i1W~t!%If^76e`)^;KL6zj9^(_#BEiEKQ+)b&xwKEXAD555 zj)7I&mVXKHn*|Rue@pOD{Yf7aJfHbjf`^&w|1+=SS$rw^gt`CLykr3Ja>4U2C!Xw~ zcdbvpg4VkVp2Pey!ACLI{|7_+5^kL@r2p(gu|IfMh88wjNsS$ctCh^Qh2Z)=*WZGNhmub+pKo=##mv(Lk1^NhXRWVcK1S$W*O31V!IPPP zEcjv`z! zUQ>w?n(&WFWA$c;#no%{ zfBcpT4sQ74(|^5RCVx8P&U&Oi@L^pKaat6IR+;sLKIC0O1IDy8T2FyDOovaqE?mdu zeE37o!%IYJ$rb5pj#_i+2`lI+_s`?~`E*jhi%wsIbohXty*1!>z5ifgp!e5tV7G&x zu|1kg$#h!FYi!bn{A-#CA5K+%^Y5S>C2@gcd0`#t^mX}Rw{)ubkKO|tVA)4+^{+Z^ z{eBy4(Vy!@@L|tvTI<2r)q0!M;&tMw;xC>~@jrDf?Sb*)5J$#85t#G@W=o-;5 zr8XRA|4&DgvWxfRJx*S8xn{xsr;5MpCZzEDt?CtiHwoUcDaiPXfk{u?<+uB(MR4;+ zq!y`lfSxM-a!z0GkLkCBKbiiEz@#T2SEu=uelj+2W0BhTV4GwpPhUp+XL*gCPoaGq z*s0=oeM04@+bO=|saeLqiam8cVO1^Dc2WARFVKYEb*%b*6JY!-_n)6g?N1)pdO!WX zmG>w2hS%l1e*>XUdOywa_(Dd}Y6{O8@%|Q{uk;q3f4%+#d^lD4rEvKj<#9WfA6n`C zb-A7@ZS+oRNBJ+oLWcz}gZsmu+#iogQo;vgS=5v0JDk4WB=e8^p5;4 z_n+{O+i%Yw*K6`cskEf`>z8p!M!!og?wgvL-lt#herf4xX|M@i`}IYZ*0=A)8NGpw zYCbnBIJl9!!O`uy;*@PUt%?V)5JRSlBhz)RtG&w^lGtN#;@WYZj)jU^&fsJ#V@PtS z$=R{UM)z7+Pl5FmS{qmF3>lTa$sf(Bvz#G$Sw&mt+>n(Xt8P=je`u0FdTm`+M)~YC zzx{>3TWO@!{l%YtcWH3+rl9?~Rk|-R*iF4z?lLQ5dh*mQ!O^9lzo$HCms+LY!)Enn zxi?w^@{>CM@fM>z45TO-Wi@TEWcMvYcIt+aY4xx>>-QI242ZPax?#dhM>gvFE zDaf_FtAWw`-*;C40|^D*Vupf8Vg-xz7E?z=~pX zu8LH;E$7Agux8nZtw_vmMd?QwtZr+9QSX=4%^=SH!Hge69W7^8vSt6Oe2ZcQ`z(7q zrV6DUhTUE1I~zde$>~}4@!S=dJGF1*sM}|+o9n5*Sj7*;;LG?f)Kz6y2|P=3nnr%; zI4*L`UGRN)MvK&fo%Km&LOS&;DqSlwca$rX?Hd-b{~n%xAUAzybz9Xgz}T9%z6O#F zWZdi>HSK)Mt_&pjy?NH?{Jf$gq1~18Lk%X^mX}s`9Dywt(}Tp)>)^10w9-`KDy?yL(A!$2HqH)t&lzXm z<)4Gmf|R3H4e2Pn$;N1OZCwJRM9lWXxtdhQD{`KlKc_8v}y!IO&-BY z3X-!EfVAhmQZZ|tFc03l$fqmjsvDA?sEL!Sw1!-nZSzytk(+fx-vf|5o0=gc~B$^-Hyj zXJV>iY_GD4DW?A@)c>lAbC+Qasa&q=N{OXe_P(-2FRWlrFtb=g>PM5|y+tamtM78a zI$m40hIjQ0BfP6xf_IR)8o|34OX7d25u-mea0o|cgAf5d|&i1EN%D|qjU zalv~}Xn1x1O?*vZKPoRggz)&YqW5?c!77oHNCKV=>n*VC;#liLY`B?WJn+FV4-L`4 zEMu&L6f}hQ_Ni0{SQnIly*52ov~$K#D+(oVMTdD?SkaI-&EA8J(gKxgomimi1CBbN zi}iamadUltWACxot9Zfe0G%oFM&Mb(I9`@vQ>Xl&TtA%oxa|d#gw*i61*gNi8Z5!P znzV-ZR9!#V9$~#Jtha#op8sw8X^0PV3B{TD|4#eC5f#LP*DfB6kLyCk2kWYA;l1zw zQ0bX`od5q)o)G^3t@3Q>AF!RM_OAK|uCG(p_y5x9jr_y;KYeTNNvAY*&cJm3pY(S# z2B&XY-VFj?g~zvD#tqwEOQG%bJE?Ha+oRU(gQe9S)hA!%?`G8QlRMFHLSYB8y)Jpg z$lC2{fMJd&AoOK;qQkQXmdJ7}4+tJRt$_VKoFJAVQKx7NdR1&D&`R3l1qOu@lV{(C z^OPTcvlhmK0sHXqT>DFKO|qPeU>K%$4A|=|825UX_#4+q@cYy&~3BdIRnOg ziN5H)btg`o@YQbhcPj4^h9&f~T~>N9`HgTG4oH8Q6`j?{^7!}IWtpxrE3z{o*zLza z#`aK8=uFRbO+6>zJ{-(AIAvh4+d(T*?aqP$Vz~hrtlVL*S^6C`%*e61(@(eeTlQXy8>2OE9qs|$uJWVt^XeENtEetCjly(R z)F3E}AjbthmeVKvxSc;Lv9n?k32+x&$|6VUgR7`+Mq{NZi=YON6xe$)Z-tLb`6CVm z3)SabxXv1d87qo~npn>Cyt;DBSrLY9R@tCDl)(Ea^$y{-uly7}NuW{!(=cv@1@L@$ zBOIBPkC7w5r7TiRA6%i!R(F7pq_Q_SgZig$g|UBr)N1Msx-9bjQOoo0MmX)Ytg~v5 zz~>rLmJP~B1IrmS14H%0=sK0QAaQ0STV58XNP&TMxcV`yZMG)fxMcqQ}TQ(>K%XtJ|^5OA)gYSAg#(i+Pkh?ktCogRJluA)7 zU~ljgz5=^%fM5MX8=rcuPOZPbwdT$4iW@wIkHV`JS>Hd9aUe7mF5n7&3fhP0;Gtuu zcB?*es_ZpEXSS;;|F7Yv|I?cZ=^;TA|3MszSBNk4#}Q&g-)u^AUO9H84lXIH9`k=p8Xg`*bXh}vCtB_6qyrqi`{ zS2bQeH}rRy-@hm_FV(d(7gFLxJoE7=a|WeCZI_}9QlGE&zlbcW?zj%lc_ zRbQ{;JP8~RPSXKRLd|J*2Yul39QD(ZVG<#k`eM=z?wT>AE2R6PNO!O|V~97j#f--s zzeY~DE&G@{Wvj9ZrKHCqClW$U4^jFGE=z*wEc=^7ufco^)@DQgbM3!scdEj%Q{Wgb zwj3NEx#%EDG(`5^x4&Z&%1ev zS4I6PNov>Luq%jgV<2N^!ER@KVlZkYErm8%2Uj13_~TYV=hhVHF0#_MW~KjB-5Scx z8Jy&ctZ@h2rM`^)p){Z4F0D)mW^A9bH{0G7OqiS+%&44tHmI_Te#-Xvzi$v{+n*Jb z1N9Uxg=~T%XeWB1Q2dS?hYI#_%efT$BIt8cupdeadfts?NBgE=SCkyIsndd!Nx&}i z6h4L?1uz~%p@Ut9qxNf*z7;w_I2C2PkJ3mY2!l_zYB2#jc6BuIl7KV2tFOoGlt4yo zs^8}%m+nt+AM@GCU5u3ixauU6EGETaz>uU6=xT=cCV9xNQ>T(6wF8u>a zuX=MseZlEEKi7&*p8?&@a_k*po^ZSswJ0K(IJ*K)k@+x?gu@~i-rIz&Xkw04T9Ifa z3>t6QDP@`Jd{vgIE|fQfUj`3%!+5}Y3Xg(@^ss+BZrR%`dozt!(<{4G*VUzOg-Jpf z$U)~(j{RoCe5f-h#fnaa9(PvKa&_1>#AdH4*aFd|K)07kR> z6lX42guHllW6o-YnyFHET(vl-l|sii1_gSx<%l|T8--fiYfATbEZlnX4oR>>CY+z} zH1HSh7M|PQRRE2@DGn$S>&or*Y7P>HIW&lZP~nua2e+ozl@}eDLHSkZiTeDigzf#c z-`dG48@LtIQM~#S-Je*tIxg21|9^982M&+}l7_Wx@P$yB#`KST{upBiwhU*n2fh=K? zI=Qt*8c_#*;UEO9@cp8GJauw@(p87>S7loW6bq}91EZ5YmD6bzuE0WVFmFM-g7a34 z{nRf;qV_?ZF^keaWxkf5l)k#&gTn|eQSdUzc|C^tw0GlK0zSco0OWCPs4vaQR|YsZ z=*)h#c*Fn)_GeV;>M|Cl`uRM9uzqeFFw`2KyK+N4px&SY(~n>t>l1?dgNva`burX% zKB}+3?C4vnzGw#(B#c@sKY(r=;)Ei?-qscL_$#z)HeL#0cKhAhWYI6b}5f@l3{E|4FWE{PXl+jR)Y&|HEX5}8-ic!Da45+qrZuM>`ev(=$lu$ z;9W~Sg?QJMXU<3hqenobfMG~M3+U!s*jX;Tv-3YIo0BrB`jO)Q(Xln@T2zgLDx~Xy z|54wY^vPBI8ua#_bQ+Jqk%>iyw|VHY9rgn@Q>!H=1`g_+G|pOoKaz zq8Qw(nK8@$HGQkTUvbc0Tl=Mo+i&mF^Eglz7)|}H8SY0X6~~q zEpA*~=jq%n2^$y**#{en+eo7R_=WQY-!Op^!KN>6n9wYddB;Q*pDHa?cu-_1c(0+; zf6VLS9TU2h0PPl6l4rt8E1Vc^)13(2ETIV|BB^*cfNqumpvDXrGnOi7d%bTdo&)u5 zBPwc`$X4ZPL(!@aFtOZ}i>mfZC|b-Gl(cGT)M8Y*ru{eNiXO^9jY1oa&q!Te=rp7K z!kBVhn4*Y^RJ_sIwZJ>nJAb@!_mSvy#RM zCK`=@Rs%mCj~!Cup201gp^5g8zRut__BCntkp6Hp-5zq8Gq}AyBopqeceU*M7eUsY z!KwBTKMaxWAwjtRZV$)Zvy7ljMbkF0A1Lnt^0sbLQsPZkVbab5K`BSxx2AU#&q7_L(2 zI`8UKl<;w>HmeeG5~|n!JnQ)RZQNC_~%ZQ{jqFGwI>7@?jz z-s^C?Y6nA7BNfNtl;$aV9BRn#4DtFRN0UNR!*kPIgQG3h19TN!Y}w_0dz1BLC7j1$ zF1Ik|DSQYvfV5GlKfES}u7g+i()~~lp@CS5a3$c22I}b8`mzG|c9+*1RIh~gIL>an zVMvNwUDu%AvfEbU^9S?WR`0|5g4I1#Z$pwT`wLZ4>2)w(;4{8Tt@_dW{uZupPOaMw zQB~amFX-0LzvzoqJ;qvfIb;du%LDdTP&7Qv0{Jbhf%{G{$_m>19q4w}Bu3}q{B!LW zoi@_!bCq3MTBYaDO0DQsjqEbGcK$-mK7R|d&-<;>TLV%5nRVg*%?lD>0uP>-nCjk; z;L0jI;wi)%#A>{DFbigXjzF|(RJYz!_yhzLo{{466g>!^tkIc0gV9-V!Mn~EJ~7Gj zFg~0HpC)>u-_xhgo}$_CDKa~?v8U)59FZ`Krw)!EhB*9Ak1V*LFT%%;)b(=sQpns}5GhnEOts?;jj_k!q90D~>kFQ# znhBLwU%yUPDzrCG;R4tho7`k*aiN5p12Ump%GG!*QB5zpuCI4>(eIyo~vyI)Oy6*cZgy5ND#d>T?jO{7>{0 z{sqyY(&t$KTRv2~^Yu~fuAqHP#p$=J>dz@=Dc3`us|$k}RO0>(374NTe+8Iu{q+~z zQ-YFoRb>K|u4btW{9m?rgzb>%DN{^P+b90F? zQKz|D80*6Y$5${?Y8Z;!d(=tVf@=sY2RbS&m=&9;`cVr*gz=9)pThRg2%5BOigJ7R zq1OuF1`gcig6pM&l`a0JhP5HI9vqS5mn+Du$==;LeW~ea>496-CLxHSWC_2i+$+DMQfr z%-;grE{Bne%eM+|63xw52^(3)OI#|CaF#BwQczfQcz9MXg5yQq&peL961b7}Io3Yh9K%~4zwc0e zU??flzY$*Eo=NA3`bh&io}7F*kFLaPI+cKDNoLbX1w5Q}v}M8PVfY7lFrVRE4U>RX zp;&rMU1RENeWj<<$LkH}gAIdH;2E|%Q-gMuo)+LSh|*W#rT)qDTYi}Lu{Wp3;3^jG zQLFsUTc7!jf4cA5EW6Zam&5#W!x$hv2A3*#Cfawl*pN`PVGur%HK@^sK}qnr8GO!# zbIZCEH5lUlg630T4vp>{swnUTT=)RCQ#i-)pnO$Kb)fXr790dal@e}i!#(U)q0B7% zXJ{|J+Fc4~75x-~^Z8!5L|PsOA9A&!QIwusVK~Q%g8JhN`hGY#<^!qk`PKN_w^GeC z{s=cEJ%xBa;fWI!c#5tbb@akD_&3UtVpW%5kP(;~P+`DS1w1cCS7LBLw7TlVCsqbr ze-?xwVRYga09^=-7u7CKe=GWd7cak5ZuAU`I_gXD;8vMZ(ky2z=EZMU)NY4)T)GDb z#erA7A(&k=Q&8iM`YurIuG&l0RA>ZTE(#deCu+jA>N;#C)IT|cN2%(17PE|ng9o}b z;3JH-;9AQWnrE##_$w_IK6zS~2zM<{;O+7?Fh6hAerrWOaa-sk3H(K^ltF&?; zOr8!^A7NUy8xVMNZ=~xWICM^~LKSzJdN7$sS(q=F-GqVT;5^;0spnFmJmC~tR32SdEm zeO9+JYuPJKujQ35JH224#M%4Pav!rYzL^$)A)QrPHL!3K%sWS0JPPy8SE=M-m`LMC zp5lSRs_&#v%24$-Drb1e7j7SB;`Ng1Xl?qZo!H^RzG@d$4QdRf=0Nb!fg^V}4oh;i6_@^)3J+w1IN55p-4{7g=To7mTd8ef=oxMDqgzRjFT_8K5aWX4wltyR8z8K2uq+SJX+a!8b;xMzInx)U)Xm*%>z1xz1w;vuLGCM3^?RLLiR=+>g&N7ISo~nbJw{+D5N!1?$Duo0{ z0p=5pj;|p^6zDlDl~LTaJ^{7+I*cja{zew7@O}>jPv@gJ>G2p1+CieX`XR`-k9x{m zA(4~EL(pCW_BYgE)x`aA=u*1kqfnS-d^|Bpe@Mm;bm+pEf7%&vC^kM$W4lDy0t36Y zDsTE2QwKQywz@GCsrQ4*fm5Y=CKqjkFo~QJfRkd;PEXyFPtzzjTh!)k?YI>4mid1_2Lw=Y-1zRI~U zn1sU-_tEn?bim+2O0;%6oN*vO=wGGB-wnOnQkbEut6tGC9I792kbP4p!J3>Y$;S*h?uP22RXtK86zxYPks`NCHN=)-@0-@wWBo;*NMPIoV< z{)CQKd<@`J^93}Ih9^U3ZW;!a<78#Rt$u$nI=gEyT966@CAjxfe3jGwB4}fw4$f=~ zF0tu*5Ae_nWF4NEsXQ05YdN#ie35l-ta|@|v6=U5rb3(TuYVp3B>gD|a8`uo-q6#j zM<9&*tuWZM9Jq(8Zc4Uxron93+?2YC`r|j(X@v7NR^({2g7aXqBxwb-0Cg{`yK_|% z>LY7l#t8N)uTFs@*IrZKeXIZ>T~foWqaHWld`rCr+@!uPS*KZEy&d}jxElx!DcW;{ zRr+&6FuD*91eXsw#bg*ebcTD&BSyfBnqeC0WG4G=hVw8Sd0=0NN|&z=Zm7cpYI9op z;80c%Kv!=9-vU~PbCauj8LV3lPF=bFWBj^9wYG-#gy+lp{s$hTgw7|$imXn9UIW_s zJ>DcwVJr9ys095yg1Bx|cvCO;06KRKd6WKJrS#uZTD z@D-L$_3g<1XXF%-zSCDn7^*{~LX+2d?yb|$88xwmIWy=7URC5c`*O-Cwf zFDok8;5!maD)__)Cycb%<#^Rvure@uT3*1JlT&oWQhdESd^v=*Rrd*u1QSv3c+$96cKn82v|mBpxec!?X^*)p*5(mwSHuXu|=`&jG?i zA@J12Ub^!Ffx$y2p)F2U9%ii)vgUJ!=lL?en$z1F{d?_JC%dcP4O1L7miu=#V22?* z%r!QJmtkkM!5+*Fv+6PU=3IHf;cR<$PL@43&vKx-!$}3E9V>rU(;}XtK3sK>Q@G8a z=nX)x24A$o+;{am?Y%G}#47+_x9!+&f=+gtW$#ceMdjTG_k*ArWVyFz*-&FS+!155 z$h*mN|2`OEWu@0uHHD1p`80T5+3Su})LfS7DOv{G8`?l<4jk7(NHl#@!|@B9MY{Dx zWxy^Cz_mue{bykGwTV{7m!WA>FTi|S85`le0Nt2-<0)j{hOU{u3!iqeGJc!#0k++s z-QMdddJGcwnUUO!kw6Z0?(kUjtsYUM=M=NldD9O=NqAZaEPOB*=_&jZN>MfNzpxi8 z`W4z1Y;cFp@xfz3iN1tuTc}H*{RveUgTLyT0;7E`0;6FoT-GH(TTgaZoekUSkFUV! z*-%jhIo9ZMbzy|xPjpjrtvafL98PVIBE%*|J;*DZ1AqM-Cs#(54O>>jq2j8%70%Z< zjo%UCt~v`YeBgO8$aMXYZ{|3c{bUbYbt!D{*=1F|SrD(tTEljA^v3Bm56WKiC71xh zaXvg<)e>T>DurlIy54~&WPSE#^>rx?}%87hHpYlS} z{r1iE&ym{e{cvrVGUIk5nWie4$VS{@f;R_Ko8hPjy6r-5Ay6lR=N(uH!<*%(2fQs< zoe!%{qyk=H1*gcJ$WOFVtX3-F)o;J$eF~x9J1pQ7dY^*c1XF-hN&<8=q3-a7R_H=E zg*sVIPBLEpLMOhb?hC4l`LDofFzC$6^gAP<`=gS<@y|HR$xUs-0aQE zwvT3y-VDdRRr(jsZET0<&*0iFM?E2j5kU?Ly{Yg#ahZDLJntqLEvl+KRlhiTEe@>U zkrcSD!t24*>YjMqXBEQKN>k{)lp$PT!GYJ_Q*;39ZypYD=6de0fEB#+pysFG=`1xd zQ`8sokL8e$<$&F527JhNAHnkm6wE=|9iCXZvc`Dm59Z%M26u7b%;Qt{$(PP%9t)d5heWKpgMMsAN*0VxXbdB^95+s7qy#ZGIC2T*RtFHPq_nc?m%_yR46dyd1-fD9k(3^3Nkz!d${GQ zm&QG+>Q4h|kE#;bGOn01+D>OQ)AQs8&!aHmSDEQqP?p*MGnme?Kg&!y5o%TS0mK9M z1697;%6xkYn?R$1t_wRReA;j^G#U#t4(lpqom+LJ^SKKyT{yF7j+y16szNvH2cW7| z)mNRST7ubmmx8l;c=$jda*sD3GW!9xI_P0xj_l`v{hi<5T-~1A9bAmL1M@auG{KCC z`JVf5ZVbB#j5ph^4JOPO?~BYGpHT3%&zYVAllps9F+pRXX>6L4#%gS+ihy%XasY+` z&Q-uerACo!JcVCEeMR~=Dfo4Ol~_;(rwW)B-s&m*7^{(LRo4wX6`O|b7P{*%f^a+~ zTh8M88#YBSdIp5G3f;iv*!tj!JXP%W)>ZgZ5vl+%w99cV7%fy=mqIl_djTmxpPDWU zdIoLec?xJ8++wf;P7QMVg8M(&-6~)z1v+x(kQd))y7Gl2vtq$qi^h81aR8g9zq~Xw5S} zT^)8Im@j?G8ZbED6G>Gi(I%`5(Saiba*X8&4_77T1nq4quT-Gw@$A9lSA|jHWWp08 zDn*qoRRSXC+4dKek8Y&Q!xQ?P`8CiCbb3|q!3vy?;AycWchv-loaRGLeqJK-ixpn2 zP8jM5c~8-!P+&g$GiT@wn1zR-)_gx?){3aWaQuX8&VBQ-?%fnD)KFbV`uIBB>BmvNc)ZXaCG!7XBVR2v2XV^pO0Bs8{a{LTwB z!LAtV?U*oJ17+F2!IhKm20G)zqqw)h`3bI%vWjAGty6S4v_Ty1QhZRv?QJ;rRrI(5 zq1tV_)<^p=-Z4@?sj$vEc_zEQKU#@7fdK#xa#q9Hi+gvxG*qshLQK+EmW8KZ9!eQw z%0mFN-~uw+S&3a3MCo~G4}8F4ukKlYy%9Ou#8Wr~93n>(ppV86s!)@C14ia~qHn_< z0XT{hvT_2WbKpzmiC+V8S>4J5&XcOBqkY%-9DFpR-~;%LlC!fMD=~c&eqkrztS$km zZ)pp7t%N^U^{aTjk(~zT;3Rn`9?!x_>hfCOzVo9@?WeY32J9`+$qVkc*WknSRqs*% zk2QtWi#JKoVd#V@T(wpHzwaoP@JTXx9FV(Zu_eb0_untcJ zbZf8*uXy>Kq&BMAiOO>~Lz||1nzw-<@~7KV`1&awtBL{tU#z_gd|YL<|DBLP0|a)2 z0^uS=jhHH8s+?nDt7Pb;oqM_~n*l9?Z2=+g_qU$CXC`UN;rO9SW?!EDT-LLmwbrw45BB_$ zJ<4LLVt2!Y{}B7LO#lk%tHLa0GN0C<*Z(sunB3hra>L#CxI@CM3#JJyQ-f(8f=)0^ zU}%HE+)OD+2Cc!g*4*x+y#8N;s*xvvwj=MgL7=2Qw$eR-4;q7M+8G`LpW~;A&j)9| zL@pO^$$wF0ZuimNl2^D$2A9JNtv6KX^`Ak1FdL-y(;BYoI8vkfz&$3h$EK8UF5RX1HVR(j&E+d5-){Ds9 z*~fP_o{DJM;;klErh;GUEhbs7zmGnx;y($tg|C1gZp)SzK>%c~+z{Je#u9Wi`qNGT zKD9uh#ejIUw^UM;)qroz15fQ*yX=MGeKJ=F7LZCC6Tg)iJ*tMMb?`tRXw0d*YMI8cltLWH7DK^Y5gb zm<7YAW0XydWRbm3I?weE6D@J-NJds>wHC?xol&ril`pk|C?+V<(&&lX+w@lU=Kb_0 zYQ2qZR45UJ_!bE8<*d)v@Dbfx0Y_4t1@K!ug`X$f<@L{E7`C8ik(< z!K``k?j&{j)6hgp(`r_!K9!5avxpoz_-NaX?c*!RZ{|@XA;EE+;?1!=Lbb@?w$6-f z#h;lx41J}}&H5uT%<>xk|r0w6HnQr$fLYo+WLvepw&pbad z<*j~TXYHrzvWND)dOjPyzE@B5u3y`Ke+F;X^Q|UDw|dJ-hqn9D`z-v%szRkt@20as zfN(CQFZ9goU&KWs_gqaP`1mp1c$nj-grAo)H+3GlIobmy7C+fXKNG{#TcKL|wS+2( z#cPx?qtm~njYoE1K&Sul4r}h7V=3sy;BQO>)7uo=02dQQz2hCc8=N_T$5V4pDObQ2 zMtL~#h>(j_NTbBN#wi1E2BFvUz5W3nM>~dYusIcA(qJiijB7qFlCd2U`Y)1~UKRVh zq=Sz;Uz}(x#92WE)84IHt#{#zs!TcvCdrGS!hsuY+bfV&EVMRmN@OuH|+snbokkhb?Ia%V|>Tq<`u zm6EzZ@F4;6cHusYXpRBa`ABhlpteknsbGFX@fuVS7_BxCVz=8t z#D%8`egW{qdeua}$4qmJbCwauVD@by4F&SA(FU8F_OctZy)=3jKZ};;-AqoE*|DvN z{qfnJt#2DesmFe$Y@c^Zh_(-kn@oVNtkRxay~SH5lVH;MQ}3mOZ(|B4QJ+;*{MFoL zF7DU7^ZIBEwFai~3jVpWj)#^0hbmNYZ#4IZJTnjL*JcH0^-8@XV|gn0b{{{Jw}Sws z{U2y~RM3Xwfg>Q8)m27M-4;6m4k-Ulvi)} zn#X#pf9~;cUXS%p=1=Eok$Yt%bFhtG2Ce9G>qGGywm!r|e!?e&L@m9M-xS^jAkO}T z|9*#CB9fKltdwVkOO?{UsItpj&(A-wUz}KP3R(Md@>aIznR#p}RGC8PEqy1L;V@7wS9H4n)=q^j4MKj(u4QO4CN;`%SC$mtmc zdS+kJ&oo05XGK{#Ycdz|{eGEFW$4U!&O55)PXbZ%Zm!MF)0cRPS0@H)o1rtZ(q6b2+e<#N&^8Q4o@!x{4)T@hs zDRcodD$5R7AZ0Pf_tln|)5~AVD}$-vu#$PJ3NPT1?#lA8g0Iv5f7`H$7m$ogjLzdQ zy@ue@+R09GfGZ$N^4I|wFLQ7C^vLghpUhOe-w#Qwr2eXf2YM?|usZ)5#k-7hem9wz zG-l3g5)dUJ6Tt$e<#C1hJJFZLB}-Oa=Cm@~smZizipp(lr43UAjnjq_i*&HxoR}b1 z+J;>m=(KbjV>)A*WxVBQO|Y)#EXC>}8Ugv8T#hDAVNiCp z&t+czM|M?%#!qxD_zJ@-^%FVS>;DwJE5|#ao|?mh;8L;=us%rB5UoC@j~j1bf!=l_ z&}0tu?;}Z>m#@a&?RVA(r;tKreRZz8YCkA@eP{dANHEwP5jer`?pi55f5378U0keh zj4`BiitIrL(!*%s19VJ0o#0b0T~(|CDN(&svUwT`mZK&kzXb*OlLOT6S^$|~v^zK+55dEwii>#TQ3OeO3-z{^b#=OrgEbg}4<;8bE-&2F# zNV512Qfj1dAA^+x$KimI`6KI(ac9k;*Pr0i(b%0o9*HO^^T#U@i!~f^8+8SI$==wF zL>kwBNmT!G))MtM6>s1@`_%aT$D{Y(a_>9B%Z;EV8G1nYb*bF(QMpSf$7lqJa3)37 zUY9a_#TCAW1w{kuq#(#DO>Zk0yMGeT_52e&OoFiVq&9q;wG=JMIx2Mdm)BY84rjdn zcQVss8u(t+!2j?C5O0-6bE&A3-`y-Ya}~Pa+kQ&y@%d+>&wr}VyC;tB-}jk(`ZtmO zHH2RVoXpoa>sFDZqt@-WwGj5YZlxEcsfu-boVwdNk#$Q;jeciCSW9E&NsZ(tqvvjJ zr(w@>dTd9+O4KUz9_+Iouv^3D*cKRplOSjmWHs~%Z<4G&dY;b2Ak;sU`Jv`VU=yJI z&X(|Uih}fH_Nm*zA*7d)AVKg?Ef$k9ehv*LX2F$XJPF5 zbeN}OfNfLp_uX34Nl1Jte^YqcU(kA%@4e+qe*_|z z14>;*d<86OKx@JO3$N=?z1vu*XoENKq`Dtm*~n({$mlWF$wmeUe_qc^$yxZhl7Glv zixVdNiyQH}txIgo|Bw=-;_qzbc_Y6k@p}xvZTvRzJC$GjQ9C>MC0%BxIB5^R_?6*q zhf(xqDhLl&YqaB9Af7AyyZBsb{z}i$1KBlT@*kmy-T051Ezwyu`lyc_B_#dzOF`Xn zz5ZXKEP%xoYOP#oFbCvh8LFnxjQ!hP&N#mt?XLqai)&(;fi5J=5Ux*VBI00*W zV|>wj_WYR-5To}#_i?>_Y)CbCnGLG~*NV@$`Hr5eBSssFzm4#Kx(~g1xLspYYMZmS zq=Jd2zd}@ZSp*4T`4)S)&I!hRordxd&(wB$YTTyu^k>YGQpNj_(uVils~~govp(En5-jwby(b1u|uff?%{MTMsfR-jN6Az+`9~g z_s06ivVX~g&UQ?E2FFR%(^)q|DE#OWc{tp1m3+>gzB~z0oH(YQQZS(AaTs^>Ci=(c z&`c4|h*Da8Jb*=GRCJYgW6hTy_yFeIw5~e9CJ~%o8_ciu@AY?}MPBo)6v^78;!;0o zBG1w$;mnFHBh9uIj@A$MB3m?L`ZKrvJ})n)4{yb0M7#3`6C-zu0dx(Xw4ssT5imf~U2 z{(nY2tD!y-bn3S*cM-=Jc=-)f=46H&ZLWdFjJl|te(Q?AbK_0)U3GAkm+z$%xY&0k zH`fh?7jo;~OQ10S4SHQ~`=SNMM0=5#Cr@>So&0U+;-W5!4~woS66~I3KnS$N;Nou# zzp&jZcjcjd(hOkpq6mktkVV>mHFGX$bmmz=7MjfW2EF1*2e}1_l~B*3w3g`cEkE>8 zq=b%F4+VncdwVgh3v5wZ@7)iuJ$?e7ybgx0zvV)%Q@%e*kw#gs^;<@^wzi! zuHQi+*G&6`vlsp`(nZ;m3L9xLEb|9-9@@W5m{-WfK0nAizr>v{-C#|JxCE3or)8^gvdtTIU4X*HxpYZ9F3+G?@M=Izj zeH1w?4CnMn|KfTFxUO(eh#p^#Ju|0Q`d3cl9lz~CSvpUz_?>URVqOlKEjChzH(k}w zRKoOc*xu>eYM5snU8hm1Ytp8};Y{Z^=&9e!J+G=X3Ery1VahDh~8A**X zalwR$NQL?^UY6PSS2#MAEeCM{6f9;z+UBUmI;?c8@>=};@~SkCP`q2IpDsH9OB)QtV&RoUil*2_d8*_fGL6hG-}VypTW)Z#!}ynrI;gf{~d)JD;`y8Y2 zv@p8|Re)TP)@LulKsV(xy;pX?8#pz=4~+vv`EDHVMcTbHahEo*oXU`UbtHRAtco+x zFt?T~*ToZ)#v@uOF~2M|I*kc*HDo63y*2CZf_tN;9*&y={V)5Ti(|j*F}f1Y=MT#F zYuFevj$$ADq#{hpx@+CDKM|7k@Qw0gV!~G9AMNi9dW$XuoUH5?;a3E&D=XnOVDQTR za|A3Te*=~~%4;mJR#!A>9GZorrUVyu9kDmqisj}hO3&njNaRM z6j3ds_!E>fS`CHs?l2m22+JTcl*ap3&HD~}3jsVzt6~yaW0lyPewjwe;mc*4tXB@> z-6~kOSCqc?M+Ap|8>%;|KR{FcQEtRV<^KG0R9Q?nh^T3Wq7kC~85w(KoZ~W$sW&~g z)}8!N(VODkd+o@6>c|b6zo?qYTUF6-O}A9xlQ};1kq2>%ug33l>-)@3`lf^kSJUU)xx3MGwSn?>y-U$9XD z1*N=g&-J;qZS4PLDv?i4-#u2Fmp@9Kz(TLOW&BZ+6f>u0zM@IJaD_384Vl9(Tj79Z z$*YS$i}*=kCtnm^ii%|)!9!64iq9;NZXi1;6?{_z1l_VG%AAGs z6v}y8$73x1aeV3e)fgUXwe-;tzN94>?SJD~7-0)7O?5eOoYfMo<&s}x7xC`FLWA|1 zAB?J}RD*qYH)B>Z$M*;FeP3`l;EK}6gOl~>4wWS zup?=nm)O|fe4}0n3;+Fw7&7}R+yyjzBod5llHK%J`tNmi9kjTEGN4$($9xvpRRE%A zOm(9nT>*(NQ81JRwoD&fTZW?H2YFNOu{!$t_s4cr`8!JWmuJYTiKeLts7pocMY&v5 zWD`Z)dWbi%C}nnLJ~(P!ty8Gw-C71#Ny`7eEqvqwb1-z@!zUgUov|X&ZrQez zh>WSMV;$8M?<&Jrr>p(~itLm|+eX`G>Ch&1jiDdJArT~#cL=^)83KiI;ZrEB>MqPnbKPuwi!E!!L@)W*Uo z+VSM=jFvjDe-_`^*8Nmn1Q#}>?kG8sk=}V1*;F1%t$DsSPa>qyyXNCqFuQ}L)`Y)l z^7hG_)4OIjppwJasrWA2cixw-Y4uht+AlHX9`!QwZaF)qa%&nB?Q0f&B!&8CySJkD z-LiUm2QqnXe!S%iYI9F}9euCYba>ZqjKAsdmhY^7kuR^>*d+}_de9l6oWH-V5-Fup zXy+#n;Ya9vLP)C6V1v3B1CA2ctmPNKgE`w%yI9{iAjra<|2a9zv{iJ5E|5+v~9b9Xm zSy_VNt_$30BJGbZysKi^%cRAs%{}2wt;wv^99<38#on)^UHBGVlafrY{_9~)m>7)L ze?HGKYL8BNVRhj+CWGL0`p{d^y-2FPz{_|bIXPZ-9Y{iye)Z9`$w7h-< z>#p_}Gav4oQkD6u#$Sir6r&p|)oz}aGQdUym)&EwHNj$;JY>fR+||4c zu)B6sw~X#pd`C#9vwav+VJ>+JLV)TQp9L-u#bk)9-XdR&2oqltSjv7oxN^ROk~k(S zT*S*OzEaLOQ3H|ZPpopb6qk4zOjG64>JsgEY%Cq&MzhuUZ{;<&(OW8eXuJ)u-c4uL zKFMSSwaxOY)*6aEgADO`I8P4~{`6yHKvWjXOH%Seo8Dwokq%a9mT@z#Q)s221Kyn> zUC3;F9IXr+j!)vYoMJB{I^!*0)R5Z+%y%CL?R&Um0P_+kd4{*-b>Lv9cr#x;;qI4R zd2?DxJO2rHsB`!+s*<^iCUzB0g4&apK}432q;-sZXR`T%eKMD?zKur~kZ;{!z|fVn zzod`HUjKiJ`M48o7`>EU{={bgl!#so_BtK2>F4#~DM0FSK0$qNbOA6$T1xz0RilDL zHT=R)*b$)37x*XrRsxjQ|6TeE1g5iREaM*$%+7XpxEyhS}ALDYxpwD?dwM-VQEMa-Ksb7lQL@ zo2AskeT)RKBZdEu)@*5SEHwOo&;%nOxZyLuLZ+@DO>l0t9~KUA!^*!0S~0qfE54Tq zzAY$l-1=9r`=o=V18PyR!-MrvfZ+Y`slob9xi%sfl4N%rYD=}R$?kw_Wll~8r#2^R zPCWr(A`x6$Pt#5>Q0w~8J!f;_y8BEj#S3I7W@)s~^KmCm_)C@K0vI*$4UVDjXZ%PC zLe5q4qqj+`kaGtzHkpq{Yjtj}x0bn8MA=|Zz1RO|=m1=$jxVc1sZfmd!U9kx)6DdnyV+Z^&%WF8put9oxTJ+unyxW*Im0>BP795 z6GV$6tYsK;%I+>^zl9fk11CLoaH=rP$(|{A4COl;k>(WZ-)%n|JL-0M`5s!LsNP$>6lzT|uqONSXF8 zb_Oom1;cOObY*{xmENqPQ}Aaro3 zt;*42y)oTz2}b|&`i)l2=WZyinn%B_RihAUO!VPuAmG-`sQ__p;V}Xz!wt5U`)sVX z>Jl55{u_7Ig}0aM`G(aakg@uJ)9BTAo$9$#q-0$0lRb%uxq#fei+DaYJ7!>vcqIG< zFDGvfZ{o-JP^Fb|lxxdgD!-TyD-?7jN1 zK^tW@FkpABT(Z$Gk>ffVg~@ zt8h1eV)@4xcC99RBh&Kk8-KLQpXin|V3w^utlNWoPv=&~LHh|$PFF5XBvEG8E-vNJ1`(6BNZmhhI?Zxb~or2mF zX)pI-k?NPTMGnmV}_8$yi{Too5E67Rc7}%=Q|O zMBQ(o7F1xAHUW7Bzmfj-yIgw9vFiIs*4e{~$CvQOBH|iIw|r>dD<@`mC{iwdlzraZ zIGw7^Vs*1gW`7l(XYoH>ScW0O_`yb8Pgw=ZsT1qHcUSBIBwwX-s|Ba3?9YpLT^1#% z_g|5!yy((NChmERDx8M5xYEYpa#J{!Me(Qih$tlNZ{c_VQ2eIql@{U9)Z!7vFD^VF z{LCLUK}lSVqC9nOlU|qoaD0T^`^^Z)SM2zg+O>P~QT5K?2>)MOn$NNEENTzM!)^-n z>5B?~7x|_HrW3$#9~n7yrEdz9tBj?!IZC-@7ADMf!;_Qxst&Zt*$`xY;k3RVm-sb`{dKvPY;%FfKe zv5^-!d7qIjUH*?%BIVz*jGt1>f`dOnQA_n!Jss2Dn}7%CznlR$MHFg4IS2&@b2QQf zZ^kQxGkoC@H= z(I$T*H8~F^i?QXpa>={WfW_2Alqk*D|59!xgm5G}#qvkON8q;u5SG5T#R5}CLN6>s z23MDkbV!K?ocv{Tf;vE#nUHF~H?#Geb^K&smU+2);d-4^8QEu)P%I8t8Dbxr`9O?+ zobhbPpasboS@@YIYpv!xJvv#RkA&}eB>|98e4z%1I059zGP&~uwhq* zoKpR%J?hW2l!i2oAziN_W!Ed4>5ORQADO z*$|Hi!oSxlmZO@MC_f!^>K^lh@bYPfU(84L(h6QA7K@b>R>aXEA0azW8ycPx+8axW zEuXy!V<%UgU7>k3Mf(>_>~zH#hA?iq9mF7$Y}OVkJCU^beOH}0gTw4%U{I}~m-ypYJZ$(c5>Dk0IBI<=D#{k;i%7bfESs1 zDH78D&-}?>aXS^3`2qQ)Th~?6EBwqV?+N+AKkEFt?0zD$@ZWe6+^TqXvSl(J5Yn zt2*px9rTU{4Nd53+nm91#5Jv#{)I4|X&q4OhI1wl$#o#=zd58=_^U_s4JhPyE}9QF zN&63F=Hb^s2lGQ$&4eD>xU;t#^zG)}qeO|~?eUZ`C~#O>G3)CXo}}8y@m(D^|$FUwLM8%8&gCX zpwTZ4=uF;(^li{SL8NrhG6xa6epO1HkqW@RE)fAq>FMG1+OlTuz`?M1yIa>}@*a&s z#bH}VXxD9qBK)bW-zqNNIJ$nJ9QBLHc>QPcxA<>XfRsI^Zgw14dgDGyuF{`Q(#Yum zvB>9wo)GUdnvg}^Px|lk@-wKkd(PA0Za`g;Z;Pm5lkp8{h`|PeNFhR-H^vzSjhxYZ zE|XVA6clVdrq`6JZMMyUuIA~gMOX86g@FktH(j+AeggMr&GeKfJP~X6j522yxOt6c z-6oggr{cYD??MtDiJ_^#PI@jS#}SC2qhwl-gK|>C>ok7`*U`||>}FPAH0Ll-`)>4W z#{t%9ax!1H^9iE40pgE?nRYj3Zg!FDD2X07?uAUU&P-?cQrSSKe^PVyYw08@ezlKbR7VV3Lx7LUjBvU2VBM>X z_xNM;6i5Wc%;jJ?fO5!(ctD+#g5ub1&_`{Vi<&?K%hI|Jc5$>{~Vdeg1*= zrMG>n+OPQs+Q+!?mbG8|5411!%v&}7egA>>Ii&C{YyWNkK>OGs-?H}i`v=;`mim^p zKj9x}|ERaH{iFVY_K$uG+dujrX#beEu>E8Hf%cDm3)??-y!L~olFr_UpPBR~t!f_y z5f9%uUNKlIe)LB5>HVAMj~Ir>>X(*LL1{ndFPu+hW%>Jm>mU0yq@Mlwnaz+o*bi?- zSk3P=)|olc)WWIu8S@q%KZYS6obneUIT3awSU5&b{u2AHqWy||Cd3x#K#P~sq~|a$ zyP2$80U9o8Y9BN~?i1V6gVS3imA^aDx2UBm+nXLd>0o5?Qar2lwR4%*|7JOc2GQ3O3Y&NT5!3Eqk$k&9srUmD4N1Vm(_i)$ZE%`N-;z`%U zhPQRFvl@u_)({eCrX!WJYjmLTCN%DRWM3e+lXZM}T2u7fqF>w~Nyyq!wb6YZ>NE!3 z_t`M3vdPr2y;0da^(Xu%hB9~AIB*Pq$+yuYh@RV-XyJnLLv_Fe!|(zgP98GH)@Z#| z?9WHMYi2XiaSuMz<*1n4q5t2TlSdnSc=E%*8i&^#NdLqDPL{O zaA*?eC1=B^Tcyox_yo0RoKtL^Hk$0W?ugis|1g^i2NAMrP;&0F_jwAEQTo}`;1}>8i4sf)6CbeS7&tTTjG9g8FKX&^C5Nh-23>8_ zRimz+&=s?LMomFiExOvFD}?+rYIZODUOM+Y0j!U6{F61+<=ZOhn)GKPU~8;f!o&8I zLklO)L<$KE$mWETxC>CZIgCJ3mZ!IX3%@DplbkSTPn=D8Y24=s@v1qwHO| zk)tzHawErNj?ax8L7v=UNibEz`)KuxZj~O?=>hp#Mitoeo-Js!L->+ZR{q}#&k{Q$ zcpjHp+}oncvuEz?XxJxny0Tv5))5&9@GPuwezjgZy}`2={htP^c~G53Xw4P{wJOs` z?Qd#{izf?fi7}O?PTv`oA6@>y)F4Vpx1SpG*_*Jxjbz@{#kmh=joyv7O~LQ{^pMOy#lHe?sXr_CW2N|iG=4T8u=jq9f_E?@IeveVZ>~SVjFZOy{-ihiecSloqo02>@U;DKFr$mI24DBp z82or+d$U4(GAEdteIZ&E7R5ud0AtmiFjis*XE38>{P}5lbMxcq4XY+fv;F}`1L2C+6pY~mJoj22>Mgx_*gLws!Ji}n6Oo*1XDZS?KC^o! zA4GU!&}3#}(=TwVuu)zwIUzpC<5jQ!0`BEMW6m?OBY?26^9+{E|B>^IqlbyU)j#4r zuCLS>ET!&gT+(ygzoe$^3CL{=QCwsoVs8 z^t$AStGbT1np{ z|Ap9lft7d=!I+aG2L#1`V&sWkmXH+)04P7$e%ZseKt@GhYPDCuyJRoC6zL)ImmvN# zIG=41Yh`<;gM*_^%q*-3u)BGlCOnh0m_=vip9^lyT?<~7kl-^^d7|Cug-e{C3#&5hD$eBbmkQ`p{S;Y)Z*najs#Y^10BK2nu zGU7LZoDcKU{)9@;hcuoK7U$m;Tv&$-M8hcmht8@jwyLoX5RE2YIXThx49>2QbNS*c zl97y}k0p6RL=K!xDWc^WF17mGR||A6D$ABiAkRpo*}S{E{MC7mx3H+;1yBQ(>>F*sq#+CX>TMKpE=;1f>_cVP7&;9|goK zh0ccOM5OIb4{w}}8`)&s1WCg87lm((I%9DIAmK~7OJ${&Sw8i1>S;IFqP9_>oQXbMfUoyr$Fqh zXp*yn8=kQq>6k0VFTcS2B^1L%q`sUV_2uLRXL2TL80F*hP*O*1gIiEX z?i9UiFy#P)maQV)KIAP`GAiXJtgFhtOUG5@Ut|BKW0pJ0wmiIu32kGib;nrfaX zf=o}ilz}d~l(&0yDTjSsT1Tt{#4WYp#6B}UxTKMCiH%FXLmBuFog#2U&-iKLC%-+5 z@%u2njW%Zr(MbE>vNFR~MlU(CQT~eF((gmFWTdKN3cLL!y{@YH{P2*Ns3m<|di`?b zWLAOE?hkuQbVyY?xEPdynSF>GGmWj2&y4jq<+#+6oqPp-CGh+Yh0ayb<`2-?=>2>& z`Sw}Z!0R#l{Za3CU_wig^;xjxd7NhI?41+un zFvJ`Mn#Ig?@F52qI{1CSTOxZlY28p$p=vs}1T`z$N2|_)N#!!bg-VVdp}50hoA=3E zqxI}9uW#tzEHtb?+#JAiuXx#KLBqqV?BEOfRmLRx6QS~_fzL)Z=sJ_7GQS@HSF3J9 zuCj1_g8FQKT^Ca>(Bfvg**jaO$#YTikyvM)Edz~!o2^=4dj*=EbyEVTn}y+ZqJiOh zI%W@&K~rk*=gm84XjLD7V0KCWk7NXS+?7}5dzgdCPvPb7o+Lb7vWbuSdiSkngFUt* zpNVHL)EPD2ikVZ>fld7CMr-L@6506Q+Re4M;uY7N&5}Cf^`9-}(sqcE3di)-xMGF6 zPWp$7%mWHRXfCKBMcsx>H<2~_WVeEyTkPZf>9raf5l6cU-<4>scGhQ(kAW$w1l$$+ z!%5TK{!RJ}+)}5CL4=6mwXBd*mHlV7P()4&F}>8qY&BtUsuWoBYzAsd;_;B-y_>~tYS zu1|GwpAu(#-(E|gW!u`sIhnJ@y!85iNICaVeRHGuQo_GMd?5T+T21G!YGTQY)46g| zFj+Y-U*KW*IsS0Gc*Cj=UPPRxgUrus!4WV2-+D;o2D2BFrifwNOofU@+oRs?d_*6_ zfWrM$eeTKzBC;+%UUfm{M^_a9frS6@nXba$u~K5JbjS=EZlXeHS(6ZM`4im4CFo+m z6oR?m62(xamevBRcJ$g0R}i|EB5nvWUjA+LfWt_YsO^3+5kiz_hX*l`d%y>EOeDvKx0j9` zOUEE3D$*51OGZPxX z+|2-93%x_)u=b%2bGC6>DGhOg`>?&^dOUMNB4@{cR(S)DHII!r3G)PHm8Vhu7?t1; z=knTMA1Cw?D$S#h5tMEbfzALPZ4v3%YZYfC$*Zx8GynkTbpH?hmvhfOhN+j^-yl3Xb_a z-!O0XCSoGUs|rykx!+7SPS+V@;kpG}N~Jh&REt8-MUzeq&V4uWdgy#eGXE}hW_?{c z_xHx^(_H~olu7NMYk4_mxyZ99%jcosMj$s9>Sr^4(R_p~vMv~c_qK7AYsygS2Ah0| z9oL~{9X}@XtGp?DW5X8cZav2)8l>MT#PT0vt6n@T0d#6D`y{8rkZ3W{{_vG=ugJJr z4j!-1K468(9!N${um1>|(2_m))YAEOh92c*O#fTScLJ-^S|i1~y>~Hd!L+8-uCIXD z>q;SrjOdyh1+nOCom_9j5#EwB2-ivl>_<5=G{yDcG_dR;j(vhLwE=HqOf7aH&ZBv1 zES~E28yr~!E1GbG>byqWFI7&qK)`;goN&Qg@|6o`I(OLHHia z{+GAByVl=C?gVf75CjJ?trCT*-Vn~*4#m*9%3VDali;(q_;ioVb_ICazHp@yR0LXkwy+N_RHsRP0LoqQN!JKYCfP2M$MLiUf2AqRHg^SRA4lm7FT`k>SQQ}H08 z7YONZB7r<5m43lVQF1!8JpFGce6l|KNFq3iP_0y;Xv2VRghpm7EGdum~5+wXg zsD2u=w4W}z_h7I8>k~y4sOx~axz{-w;A-xpg-$wyPX9|0`EzSOAU%K!81D2xPq6Qd z2BpbJ1YfFSil*)p1Hrp)#*q;OQXuV7qafg2qnxzDnI_9BLBE_8N}WaKDjt*|Gi9>< zPhS6l6ik*K)RndLuS!^IM{0Q4hrJazl5%F$&dhI;Q|8rYnsR>znNC_jbp35?4!6ke zlN+jMt~0kJr?h1MS{m8Y^uJ!jp~+xw}d z{fwcegrruTyhmp=d)IhP6yaf1efeFBcg@!0M!ic9p4D2|`d#OFI)m9?&9|cOZK3=U z)!#+|J7EsEBG;VWOPaRlJFAhckmG?hcruy(%;^^mD>h`_4{rchA1_>wtZC2CMO`i5NOp^5 zie<1W4yET@BPw4h9z);QMsL3AxbW-5$1~4_Q8%!+N6u~3mbiVBH@J{Dq6lP7S+axT zgzRUruF^1voaHXB-CxAMg@Z1={1ClNOj)Asz1QDD4jpd9V7&ejGGRkVZ5x?XMs zd_Z&+)LJfx*@wdD|MeVXX`KnCvZ=!R&Sqr(pINcdqqagXkI+)+{cM8SRFRnQFSxMm z_2gvWkc~0JPeHW_K7npqCXkulHNTI>g{X@UYX`7~XQkE@YOS{F202Ht?%CkVW=aL*#8~|6m;~YkvwM( z&aW;-9e6G$w72wA2#%F`p}qbjPwiA4#^AL1$*Cx8ig%^L)>8VPMF`r=!+? zIaR$b&A>X)yta1wo4N?t;;aJ(_d(JjXHI8X{OFjTx zRhr~vUVeXwET5lJoqJ-(RJi3u21gPM*xX0L*EzAQ8_xdo$cVn>EFk={5`$kJS^WCz zuQN?c-^+bxyF~_i{U=DvHzkm8(;Zwm-|L@@@!MOmBOQEG=+AU62qvzDi5b7kJ-ZL5 z)Obs#Ob`{oGq|gHzD{NDDSYBQks7WH%^%mpd4;>qau4U}NXPj?xgOfm?g)zs?Qr83 zOr9I15g?h5IbWA)6OwItOjkb-gQjzu$tOM&ucN}5Gy_V61%&?GGoF`M1~TPvP6Xdv zMq~M{oaMdTD8w;bZP*o~lQIE^K**5~WI7u<#(p>n-05h;=aJ3s9ik2!{_9xacNQ zDY0{i6+IJ-?hHjVtR-obcK2u>THqD_q`TAL`Ekv4wqqQfp6 zfkW#eBxB0o!s94tH$7)b9piBd zcI(A8`Ub8sQxGKyUWzfZIBhFfZax;QbmEjDgHD|HH_Qd~R;+>lsS-{Rjf-XS4rNUI zf(DtCjs7U#Pr;zG){SDtrd(LfhHbDO3UJ0?eelV;%l2FR6zE7F<`Xkrv*ua+@rF~A zV8}1{zXNpM*G{2^gg=y+v?(!Zi$n4c@F?l86O)?q1Cf|ZaUvu2&pjeASOzOxsl0v< z6G(c_wJPR6oAxc7ck<3j_omnmta+-2LnCZ_3IA3V;YgwsAng*zf~R$ncP5Sieh!7D z%g^YxW`6yaba1*9IA=f;I8Cdod3KZ@+usJtFeiq`ST7EZXT395Us^Y=&x=BHhV$QjtE8T`D7GgRfj)o;7uRiD{?qGJSHjLnERE3y z2j|d0!%a`q-o)z}jpLwKH}`R=Gdg;WlS2CE7iuELIf|QJGShnM_^5d8JfTT%GH_LB z-+hB=Tyi_8F{rJ}74}hLtfh}ZK25s2m5X#Rjl%$nN0{AB@$UQHMrqs&z5ZpqZl5_X zTY$%&zF#s(9g}F^oPCr<&+>#h!w88mcJq7I$o!_t@l(O4&-0daQ-yzFo%>`)-LMWK zu7bHi_>Iwp$D$dCc6^GC7S)I}3?`|jylXy>jbiU){UKqo$og-%7#A@sP%@X%(shQy zSTt=$G{p#dw%)K2mMHP=CF;}1=R@(#=)|&H3#z7c_TQ%|*Bx9kZ}QgSVdT453mx7d zfZ;LZ^-onLxhq?b%Kj-GWSi3MJ1%{ULx0G9xF$X61?ccs{u@wU(Y#+LS=fS$dlQrX z%F;;(XX3w$LU%5*VcX1v|8gRzZJzll*6~bbXmtSQU5f$OVNY&-Q<6DoT8sg8y&o;NZneK=kUPc`&co_9X#|l1ULoF+^4)XH57>kDOtsu#x=ITg1 zhi%L9?~FLN^5?ui8htD`!EJYOBkk;ds`AWM|2vu}f0-U9+aarL6&rjqH`YFyiw!q>RzWCeQABLblQrQCG|`&gdzoJS9>P8?eC!W`f(Q?EuBUR8W$Jv{ zlmB~}GbvM+ZDVD@9_s27DQ0BSr)v?JWMw45l1e(6xfseguQR{d=;T=uoxDH$C=hK* zPdU9VyQM@itp zT?UCg_IjBoDChJYVGFsp-A2S)eqTZkOncc(oy*s)V$ILtezB!hy346^d&J1~r)5@SUId6NXC)+(vRq|Ryy z9}3xh$LXjjS+4Ud)S1Zj)`OFoqHqtLm&+OpC}G;CmxU6;XOvxa;lb=CS2dt#ti-Hy zOB?9psMA%%x)~|{N_v*ZZS#qWyl}zkddrpD?-uS)MPNtAF$TlR$od-)x&-CDN=i3T zDiM5ZnMOEdeKX9lzF6-g9ktXzpJYo0zy<`#IXjeXrD|0hf1*_j4?*%46ON#&tjL9Z zKWHCG#RrLQg;hA^BSt4RikfEqRZZbAR}o*33O=`?EivT=z4r!1bxHPxicAeF`ONRd zXOJf=?W@rSr?>|7MI=8sHQgTgd;9M(wmYLkX-*@u8GeU%RG=+o@ea*qS$d=hv^J6* z=TojUk#6{?X+klT01}*+H_JW8Tpu@4O^?0fm&9;M~h#7AfJ;_&| zDm`S)a+~0fRcFafIlU$Lcx{A=A8(j8m~4U$%x(T|V%Ki}(WH0lkTf3CPq0botajn# z#s9!0Cpn=FHDGPh|9qXW_IoU3vjo4Ix)4n}*)Tb;eL`dLXkcy74?6HNUWcw=cUSu# zQFT#1hHISN(ujmi3(i^@LwQ4C1n*$E?T31@6qW$@Mt3-u@-eLMvOtB$J7 zq>_a)e;&!--1-tyl$T}f%Qw7EWFnjfla#N4Wu#roN>0sTkPov#zM^@4y81zLiIA^Z zZukB!C@r^}4RaqjXLVNEY%kG3sd@(mQo(@&l=aK_=N=39)kjpy2@+N;Dp8hX9-)LP(H5=4iimZP%daAfL3lfb z-kcM`rF6?#G|b^Nd_S8r%%fogv!m3ZnwzK(KP-`kGp!G2HQ4lxU*v-nfyp*ixQK`f zM3Wn?evDDfnQ;RC9BmD(h1(lbHAj-Hd_PnZjb6W~uM`S1$##bAG1dM( z`^xK|Zfn&n!gsnJq|mG?-@hxjZQ(D=`S-{4KXcS7go?4F^70>IISIxRwJKn|9n9h^ z#afvhFlov`$qX|%L6Zae^18yvLYqk2vwHo#)N8n~ z&)eKTP7IZrydB|=#uGh>PkT%MmHkQT3l}xd+d);9Y{mJFGu>wG_@eeN{`4OF?OGZb zTq1^UAWh}R^?PT0&V4iljF@G~(fd>>rgb~Rz&X5|;_whpihC6%d+KAsdzo1(~ zRrHDdCtDqe$`y~%Nw)AfQZuGFN*B|o%0(Oj&R|BU@9>O`-0Bag!ss0pqb%VC8A*$O z(jK)XHljt;Lt1Z~q^-Sh;zN6Q)MO4{RY!$ma4tJlm_@ynn6-GDXckR~?Z?&{=${Bw zsfqu3aE~Uu{8`k5ckwprV=cHgr7A=UQ)MV&a+J>4og---))*Zm zodgwrh))Qm{e}^Jw%esr)GfB=z;KW%ep9|)zow+ncT`1XL&Ew8cs*x(co)A&A{tng z=O4~ukL42Y+B)vSg(7@&c57No76Brc8#0#%(@?CxudBL1Y_6B;}IggO@Y7^eAowePA7wua|Q>mI7 z+PU-x;luPw{HG4UyaZsvS%A!6W3Vm(&1%EHOP)#k7oJF=H;^5|Wz;Hg)r}TO%3SoD zTlXwb-Vd;wX%0Ksmf52_Bol`=eW21L-^9;H0u|`ukWHVZ~3X! zxhHq@z1)CO9d?WHPLwX&6x)8X$3g(G^k~$vrRM{Gay6{^tJ-lo#1fo3=d&u_0N>8wGx@l-*$T7}3|D)!3WyQ<;R1m6 zIRmp}Q;u3eF`!mq_p7QPUc%je*bPC^)K3UN=yp=?;z*~wewGx#`qhQedN zp=%#i^a1W-3ntoYg;zxhynIe1QShLJF%fCwCNFv!o47Y^E~L&9p~gr(*lD2^dso3rS#wz*kqs2u(}hq-VW)2JLt3RyXLgVy-EU$&F*D z=KkmeCKXF%W-#>3DV+4H!``0k@;4T~`s+#vAHFAqQ(ouqi7Rql=Uhz&*x}%;ATvAx zb;9B3x8?CGEb>Mb363ZYHr7{2>}%kiSy&{C!JW72VUt~R(Gp*@#utXxD$@}^N$G+k zZv9scfee*mUW6Ibe^S^~xb9v?xp@7Jl(oF57(#bw915?8W>3ZA>ltdTQ)Pu2S`Q_p zJG!8Uqb7Q#o&c9^;2vKavh?d&)vUq+Z~o&FmX+aU@rQq(#nA_UyWp*a5YsS^3Jnu=H3I&%*z zj+YI;3>=A%JWClI74pqQ_4eJ~5exV*kM&iNVz43a-&slGr$ zeDxkJ!NOfLEtc~BuEC4g`waea9&aJzxc6ovl@+}Fz1Fj!CHLAsnSbB)`>4Yjp6l}U z<@wUL_E2ti>wD*y=Lk7~ezvH0nyw~(_e6MeKUA>}UPtwK`4_oinV&#c-sbe0bv$vw z03S<6fpuXg09t0>SWmtFlXxID7xkE|$gxlsK7q*P=vnYfIU>ZBfF7~BLy3{S{I_W+ z735}9CN+5HOnz21S=)FxrmCYJa#Z2;RB($5!AnxwiLLq5zNwm9RG##sdO`out6fP; zpPPtOZ(qj3cV2-EcZ+q!{RmIyNi>!UPCa>u11g<%yZE4X`54V%P-8G?)tGq7+_Ogr zWxD+hil+Pvc4@D8V__#*I2 z1T!Zl{D~ZUqdtb%c$wzPc;jgGkSzgFJV02p=w0rq>ddhzmzmf0EeBI=D!1}RI$7oQ zS8=y?2pV{HnLi6D57ED42c zx=L#5|Dx(lXP+!ZHOJD>`BD8cWkhJ4C?9tj zcG&AASTP9DbPhVAjph4(m*EqMU^9)lmW@4kC7i&AS~x7b`tV6x?R|{E@)KYMwo|u> z;O59YILapc{F1>JYf}(GB#o(PeVgm=cuq*bIeU#lN4VNwaJ&}9N~s<=jSl$KrD4o- zC@Z9pCd=o>_$idc>wiGH5LBJ@`w7M1T1bLhEri%+WP1mikP{TO3RZ@2 zI4>V9sN0xvy-)d25Z+ZmKEm}pOb@Tsp3mxGzcqb=Q|dYUfZNA+MF*!PKAAYnP!h5O z{5gS1Yo*gKxC#O8dFO}o4YfK*$s5(X#pKH3j|I5X*#(qF_#=7|56sA)TW6CuCsFc& zW2Sp#ucE^iTky%#IgdmtJ`Alc9)+;r)>k^WzPh{pr>elSkcM<{w+OiPiH(mzTZ?VY zQ~RcCt`|W?Bc?19!Ks)N53zFa(G}hPD@ob#)Eqvc)-Vlr`45*6q)U-m;nxh5%hX8t zKCYeIV(E`U6^**ZfD7z6Ore72K+Z zMEK)f8RS0m4*1VP4zz3T_D}5c+xOr-9pLF-3Qu4w2YsFdAyT=!4aS*7WMAv{hvlC9 zbb8G*Fq*p^qk$!N2Op?tDEn=#Ig}GaFqgb)Sh&$;wYoa0M;uf)pkUWbKcj*q0N=5D`$f6Wu3sh`)Btv&WGtV1KJBsM^K$qO=}1&N!xebpD%B z=L!9yC6e>v{4`3=JC7zb*%4ItP^5?*S~^HxW+8z(Jy<_HFF$l;+ z8Rn`K$O%3UIH}xK%G(}j^ehSGDR`;yi+01tb(tf)fv@XLgzuI@Uo8nbZAcon`Px1T zR-FxA|G)B0a3!WZ$3#^sbFOt1c*X_x!?S!eL*%4=|T68@J{8bgNwKsPH zp%IsqdQ1l#++9AJ@O(<8g6@Xk%tl)em0RTyyU)lyg6Ez3Q^>p%<&|QhZP!rdwo22WwjOyYgzH%V1L(sy}7Ri-ig2(QZH5#!Il zN2Q^GmUkZ~?1A%mpkzeP6ps0U<}N{sqk+qKXeUOR_n+&0*n=WDz})pcsTFafF!`&YgL~vJNrQ-GICGNc zebpotLgJaJx4LNL*Djjki6uO zfxcqCDgLwYc^tL0RWnA9Hl+FU@{4Ey=}q%fA-$;{)7)105m_b0+sEYda8GZ5K3jQF z4#Qk~zSnj$SC{9PP0{6ar9?k%yH;3^oGrQjGVyvQ;cYrDVZni%lT!ye?5oKclI&jB zT-#9r38nF>fKbA}I3^sP|0q>ikCNs=kQ#LA)Kz_eAnEVewGD=hY;HwtFnIOsG5*xD z|7#U6x5ydGF*nE@4KiPD{-SB=^gm2=g$9e2uRi=j+}F~qiEF0ZQ7&Hpsk{zlq_KV) zzyhmdO)!QF%u3ma{#Qum5y}{6x`eD@IIRklH+;u9q8cn5PS8q_$n0nAi**T#a zwSAh%y*|UszZ!RcY#ZwJ9rQYUgc5U?P2L**2Ws&Wew69UYa(?zDrBV=w^K~Es1+@? zCK2Jxf)c&y#`K#S{PHu<93oD4E_!d@SC8buNe5((2w$dXseYq3&!`roH#;n!QsV+# zcfN=)_%En@PpK=uyNth(vm?BvO||;qWlr>{=L-K9oUYtTF!hi`@Rq_S{<%b|G-vD- zI=tn7ORQwD$p23&@99Y4m=Bv-i|8fX4ZVTGGΞO-cVga7NKr(b>&1W1*fkkU}Gp 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

  • v`&0M0i|gb0oPxj~%rY_OiM6zjk& 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 -#define SKB_OFFSET_HEAD OFFSET_OF(struct sk_buff, head) -#define SKB_OFFSET_NETWORK_HEADER OFFSET_OF(struct sk_buff, network_header) - -#define ntohs(x) (u16)__builtin_bswap16((u16)x) -#define ntohl(x) (u32)__builtin_bswap32((u16)x) - -#define fib_bpf_printk(fmt, ...) \ -({ \ - char ____fmt[] = fmt; \ - bpf_trace_printk(____fmt, sizeof(____fmt), \ - ##__VA_ARGS__); \ -}) \ -*/ - -__attribute__((always_inline)) static inline struct trace_info * get_trace_info(void *map, int key) { - struct trace_info *ret; - - ret = bpf_map_lookup_elem(map, &key); - if (!ret) { - return NULL; - } - return ret; -} - -__attribute__((always_inline)) static void set_trace_info(void *map, int key, struct probe_args *probe) { - - struct trace_info info = {0}; - info.ts = bpf_ktime_get_ns(); - info.cpu1 = bpf_get_smp_processor_id(); - - bpf_map_update_elem(map, &key, &info, 0); -} - -SEC("tracepoint/tcp/tcp_probe") -int tcp_probe_hook(struct probe_args *args) -{ - u64 ts = bpf_ktime_get_ns(); - int key = 0; - struct trace_args *trace_port = bpf_map_lookup_elem(&trace_args_map, &key); - - if (!trace_port) - return 0; - - if (args->dport == trace_port->port) - set_trace_info(&trace_map, 0, args); - - return 0; -} - -SEC("tracepoint/tcp/tcp_rcv_space_adjust") -int tcp_space_adjust_hook(struct space_rx_args *args) -{ - struct trace_info *info; - struct trace_info old_info = {0}; - int key = 0; - struct trace_args *trace_port = bpf_map_lookup_elem(&trace_args_map, &key); - - if (!trace_port) - return 0; - - if (args->dport == trace_port->port) { - info = get_trace_info(&trace_map, 0); - if (info != NULL) { - // in case the value update - old_info = *info; - u64 ts = bpf_ktime_get_ns(); - if (ts > old_info.ts) { - old_info.ts = (ts - old_info.ts) / 1000; - } else { - old_info.ts = 0; - } - if (old_info.ts > trace_port->delay) { - old_info.dport = args->dport; - old_info.sport = args->sport; - old_info.pid = bpf_get_current_pid_tgid() >> 32; - old_info.cpu2 = bpf_get_smp_processor_id(); - bpf_perf_event_output(args, &perf_map, BPF_F_CURRENT_CPU, &old_info, - sizeof(struct trace_info)); - } - } - bpf_map_delete_elem(&trace_map, &key); - } - - return 0; -} - -char LICENSE[] SEC("license") = "GPL"; diff --git a/lcc/golcc/rexample/user_slow/go.mod b/lcc/golcc/rexample/user_slow/go.mod deleted file mode 100644 index 29e1a2b..0000000 --- a/lcc/golcc/rexample/user_slow/go.mod +++ /dev/null @@ -1,10 +0,0 @@ -module user_slow - -go 1.18 - -require ( - github.com/aquasecurity/libbpfgo v0.3.0-libbpf-0.8.0 - github.com/spf13/pflag v1.0.5 -) - -require golang.org/x/sys v0.0.0-20210514084401-e8d321eab015 // indirect diff --git a/lcc/golcc/rexample/user_slow/go.sum b/lcc/golcc/rexample/user_slow/go.sum deleted file mode 100644 index 1007177..0000000 --- a/lcc/golcc/rexample/user_slow/go.sum +++ /dev/null @@ -1,10 +0,0 @@ -github.com/aquasecurity/libbpfgo v0.3.0-libbpf-0.8.0 h1:NQEf484vQOshZwZOLTE7kzo62TvYrM906gUjlVg4D2k= -github.com/aquasecurity/libbpfgo v0.3.0-libbpf-0.8.0/go.mod h1:qu0TVGRvtNMFkuKLscJkY1FwmageNBLqeImAFslqPPc= -github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= -github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= -github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= -github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= -golang.org/x/sys v0.0.0-20210514084401-e8d321eab015 h1:hZR0X1kPW+nwyJ9xRxqZk1vx5RUObAPBdKVvXPDUH/E= -golang.org/x/sys v0.0.0-20210514084401-e8d321eab015/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo= diff --git a/lcc/golcc/rexample/user_slow/user_slow.go b/lcc/golcc/rexample/user_slow/user_slow.go deleted file mode 100644 index 9d444fe..0000000 --- a/lcc/golcc/rexample/user_slow/user_slow.go +++ /dev/null @@ -1,153 +0,0 @@ -package main - -import "C" - -import ( - "context" - "encoding/binary" - "fmt" - "os" - "os/signal" - "syscall" - "time" - "unsafe" - - bpf "github.com/aquasecurity/libbpfgo" - flag "github.com/spf13/pflag" -) - -var ( - h bool - args TraceArgs -) - -func init() { - flag.BoolVar(&h, "h", false, "for help") - flag.IntVar(&args.port, "dport", 22, "set trace dport") - flag.IntVar(&args.delay, "delay", 100, "set trace packet time delay(us)") -} - -type TraceArgs struct { - port int - delay int -} - -// More info can be added -type Trace struct { - ts uint64 - pid uint32 - cpu1 uint32 - cpu2 uint32 - sport uint16 - dport uint16 -} - -func showTrace(data []byte) { - var trace Trace - /* - panic here, no idea.... - err := binary.Read(bytes.NewReader(data), binary.LittleEndian, &trace) - if err != nil { - fmt.Fprintln(os.Stderr, err) - } - */ - trace.ts = binary.LittleEndian.Uint64(data[0:8]) - trace.pid = binary.LittleEndian.Uint32(data[8:12]) - trace.cpu1 = binary.LittleEndian.Uint32(data[12:16]) - trace.cpu2 = binary.LittleEndian.Uint32(data[16:20]) - trace.sport = binary.LittleEndian.Uint16(data[20:22]) - trace.dport = binary.LittleEndian.Uint16(data[22:24]) - ts := time.Now().Format("15:04:05") - fmt.Printf("%8s ", ts) - fmt.Printf("%-6d %-5d %-5d %-5d %-5d %-6d\n", trace.pid, trace.cpu1, trace.cpu2, - trace.sport, trace.dport, trace.ts) -} - -func initArgsMap(bpfModule *bpf.Module) error { - var key int - - argsMap, err := bpfModule.GetMap("trace_args_map") - if err != nil { - return err - } - err = argsMap.UpdateValueFlags(unsafe.Pointer(&key), unsafe.Pointer(&args), 0) - if err != nil { - return err - } - - return nil -} - -func attachProgs(bpfModule *bpf.Module) error { - progIter := bpfModule.Iterator() - for { - prog := progIter.NextProgram() - if prog == nil { - break - } - if _, err := prog.AttachGeneric(); err != nil { - return err - } - } - return nil -} - -func pollData(bpfModule *bpf.Module) { - dataChan := make(chan []byte) - lostChan := make(chan uint64) - - pb, err := bpfModule.InitPerfBuf("perf_map", dataChan, lostChan, 1) - if err != nil { - fmt.Fprintln(os.Stderr, err) - } - pb.Start() - ctx, stop := signal.NotifyContext(context.Background(), os.Interrupt, syscall.SIGTERM) - defer func() { - pb.Stop() - pb.Close() - stop() - }() - fmt.Printf("%-8s %-6s %-6s %-5s %-5s %-5s %-5s\n", - "TIME", "PID", "CPU1", "CPU2", "SPORT", "DPORT", "DELAY(us)") -loop: - for { - select { - case data := <-dataChan: - showTrace(data) - case e := <-lostChan: - fmt.Printf("Events lost:%d\n", e) - case <-ctx.Done(): - break loop - } - } -} - -func main() { - - flag.Parse() - bpfModule, err := bpf.NewModuleFromFileArgs(bpf.NewModuleArgs{ - BPFObjPath: "user_slow.bpf.o", - }) - if err != nil { - fmt.Fprintln(os.Stderr, err) - os.Exit(-1) - } - defer bpfModule.Close() - - if err := bpfModule.BPFLoadObject(); err != nil { - fmt.Fprintln(os.Stderr, err) - os.Exit(-1) - } - - if err := initArgsMap(bpfModule); err != nil { - fmt.Fprintln(os.Stderr, err) - os.Exit(-1) - } - - if err := attachProgs(bpfModule); err != nil { - fmt.Fprintln(os.Stderr, err) - os.Exit(-1) - } - - pollData(bpfModule) -} diff --git a/lcc/pylcc/guide/attach.py b/lcc/pylcc/guide/attach.py deleted file mode 100644 index a927b2b..0000000 --- a/lcc/pylcc/guide/attach.py +++ /dev/null @@ -1,42 +0,0 @@ -# -*- coding: utf-8 -*- -""" -------------------------------------------------- - File Name: attach.py - Description : - Author : liaozhaoyan - date: 2022/6/15 -------------------------------------------------- - Change Activity: - 2022/6/15: -------------------------------------------------- -""" -__author__ = 'liaozhaoyan' - -from pylcc.lbcBase import ClbcBase - -bpfPog = r""" -#include "lbc.h" - -SEC("kprobe/*") -int j_wake_up_new_task2(struct pt_regs *ctx) -{ - struct task_struct* parent = (struct task_struct *)PT_REGS_PARM1(ctx); - - bpf_printk("hello attach, parent: %d\n", _(parent->tgid)); - return 0; -} - -char _license[] SEC("license") = "GPL"; -""" - - -class Cattach(ClbcBase): - def __init__(self): - super(Cattach, self).__init__("attach", bpf_str=bpfPog, attach=0) - self.attachKprobe("j_wake_up_new_task2", "wake_up_new_task") - self.waitInterrupt() - - -if __name__ == "__main__": - attach = Cattach() - pass diff --git a/lcc/pylcc/guide/callStack.py b/lcc/pylcc/guide/callStack.py deleted file mode 100644 index c7efd38..0000000 --- a/lcc/pylcc/guide/callStack.py +++ /dev/null @@ -1,77 +0,0 @@ -# -*- coding: utf-8 -*- -# cython:language_level=2 -""" -------------------------------------------------- - File Name: eventOut - Description : - Author : liaozhaoyan - date: 2021/11/3 -------------------------------------------------- - Change Activity: - 2021/11/3: -------------------------------------------------- -""" -__author__ = 'liaozhaoyan' - -import os - -from pylcc.lbcBase import ClbcBase, CeventThread -from surftrace.surfElf import CelfKsym -from pylcc.lbcStack import getKStacks - -bpfPog = r""" -#include "lbc.h" -#define TASK_COMM_LEN 16 -struct data_t { - u32 c_pid; - u32 p_pid; - char c_comm[TASK_COMM_LEN]; - char p_comm[TASK_COMM_LEN]; - u32 stack_id; -}; - -LBC_PERF_OUTPUT(e_out, struct data_t, 128); -LBC_STACK(call_stack,32); -SEC("kprobe/wake_up_new_task") -int j_wake_up_new_task(struct pt_regs *ctx) -{ - struct task_struct* parent = (struct task_struct *)PT_REGS_PARM1(ctx); - struct data_t data = {}; - - data.c_pid = bpf_get_current_pid_tgid() >> 32; - bpf_get_current_comm(&data.c_comm, TASK_COMM_LEN); - data.p_pid = BPF_CORE_READ(parent, pid); - bpf_core_read(&data.p_comm[0], TASK_COMM_LEN, &parent->comm[0]); - data.stack_id = bpf_get_stackid(ctx, &call_stack, KERN_STACKID_FLAGS); - - bpf_perf_event_output(ctx, &e_out, BPF_F_CURRENT_CPU, &data, sizeof(data)); - return 0; -} - -char _license[] SEC("license") = "GPL"; -""" - - -class CcallStack(ClbcBase): - def __init__(self): - super(CcallStack, self).__init__("callStack", bpf_str=bpfPog) - self._ksym = CelfKsym() - - def _cb(self, cpu, e): - print("cpu: %d current pid:%d, comm:%s. wake_up_new_task pid: %d, comm: %s" % ( - cpu, e.c_pid, e.c_comm, e.p_pid, e.p_comm - )) - - stacks = getKStacks(self.maps['call_stack'], e.stack_id, self._ksym) - print("call trace:") - for s in stacks: - print(s) - - def loop(self): - CeventThread(self, 'e_out', self._cb) - self.waitInterrupt() - - -if __name__ == "__main__": - e = CcallStack() - e.loop() diff --git a/lcc/pylcc/guide/codeSeparate.py b/lcc/pylcc/guide/codeSeparate.py deleted file mode 100644 index 1f2748f..0000000 --- a/lcc/pylcc/guide/codeSeparate.py +++ /dev/null @@ -1,35 +0,0 @@ -# -*- coding: utf-8 -*- -# cython:language_level=2 -""" -------------------------------------------------- - File Name: eventOut - Description : - Author : liaozhaoyan - date: 2021/11/3 -------------------------------------------------- - Change Activity: - 2021/11/3: -------------------------------------------------- -""" -__author__ = 'liaozhaoyan' - -from pylcc.lbcBase import ClbcBase, CeventThread - - -class codeSeparate(ClbcBase): - def __init__(self): - super(codeSeparate, self).__init__("independ") - - def _cb(self, cpu, e): - print("cpu: %d current pid:%d, comm:%s. wake_up_new_task pid: %d, comm: %s" % ( - cpu, e.c_pid, e.c_comm, e.p_pid, e.p_comm - )) - - def loop(self): - CeventThread(self, 'e_out', self._cb) - self.waitInterrupt() - - -if __name__ == "__main__": - e = codeSeparate() - e.loop() diff --git a/lcc/pylcc/guide/dynamicVar.py b/lcc/pylcc/guide/dynamicVar.py deleted file mode 100644 index 26e25fd..0000000 --- a/lcc/pylcc/guide/dynamicVar.py +++ /dev/null @@ -1,70 +0,0 @@ -# -*- coding: utf-8 -*- -# cython:language_level=2 -""" -------------------------------------------------- - File Name: eventOut - Description : - Author : liaozhaoyan - date: 2021/11/3 -------------------------------------------------- - Change Activity: - 2021/11/3: -------------------------------------------------- -""" -__author__ = 'liaozhaoyan' - -import sys -from pylcc.lbcBase import ClbcBase, CeventThread - -bpfPog = r""" -#include "lbc.h" -#define TASK_COMM_LEN 16 -struct data_t { - u32 c_pid; - u32 p_pid; - char c_comm[TASK_COMM_LEN]; - char p_comm[TASK_COMM_LEN]; -}; - -LBC_PERF_OUTPUT(e_out, struct data_t, 128); -SEC("kprobe/wake_up_new_task") -int j_wake_up_new_task(struct pt_regs *ctx) -{ - struct task_struct* parent = (struct task_struct *)PT_REGS_PARM1(ctx); - struct data_t data = {}; - u32 pid = BPF_CORE_READ(parent, pid); - if (pid != FILTER_PID) { - return 0; - } - - data.c_pid = bpf_get_current_pid_tgid() >> 32; - bpf_get_current_comm(&data.c_comm, TASK_COMM_LEN); - data.p_pid = pid; - bpf_core_read(&data.p_comm[0], TASK_COMM_LEN, &parent->comm[0]); - - bpf_perf_event_output(ctx, &e_out, BPF_F_CURRENT_CPU, &data, sizeof(data)); - return 0; -} - -char _license[] SEC("license") = "GPL"; -""" - - -class CdynamicVar(ClbcBase): - def __init__(self): - super(CdynamicVar, self).__init__("dynamicVar", bpf_str=bpfPog) - - def _cb(self, cpu, e): - print("cpu: %d current pid:%d, comm:%s. wake_up_new_task pid: %d, comm: %s" % ( - cpu, e.c_pid, e.c_comm, e.p_pid, e.p_comm - )) - - def loop(self): - CeventThread(self, 'e_out', self._cb) - self.waitInterrupt() - - -if __name__ == "__main__": - bpfPog = bpfPog.replace("FILTER_PID", sys.argv[1]) - e = CdynamicVar() - e.loop() diff --git a/lcc/pylcc/guide/eventOut.py b/lcc/pylcc/guide/eventOut.py deleted file mode 100644 index 79f7fa7..0000000 --- a/lcc/pylcc/guide/eventOut.py +++ /dev/null @@ -1,64 +0,0 @@ -# -*- coding: utf-8 -*- -# cython:language_level=2 -""" -------------------------------------------------- - File Name: eventOut - Description : - Author : liaozhaoyan - dat 2021/11/3 -------------------------------------------------- - Change Activity: - 2021/11/3: -------------------------------------------------- -""" -__author__ = 'liaozhaoyan' - -from pylcc.lbcBase import ClbcBase, CeventThread - -bpfPog = r""" -#include "lbc.h" -#define TASK_COMM_LEN 16 -struct data_t { - u32 c_pid; - u32 p_pid; - char c_comm[TASK_COMM_LEN]; - char p_comm[TASK_COMM_LEN]; -}; - -LBC_PERF_OUTPUT(e_out, struct data_t, 128); -SEC("kprobe/wake_up_new_task") -int j_wake_up_new_task(struct pt_regs *ctx) -{ - struct task_struct* parent = (struct task_struct *)PT_REGS_PARM1(ctx); - struct data_t data = {}; - - data.c_pid = bpf_get_current_pid_tgid() >> 32; - bpf_get_current_comm(&data.c_comm, TASK_COMM_LEN); - data.p_pid = BPF_CORE_READ(parent, pid); - bpf_core_read(&data.p_comm[0], TASK_COMM_LEN, &parent->comm[0]); - - bpf_perf_event_output(ctx, &e_out, BPF_F_CURRENT_CPU, &data, sizeof(data)); - return 0; -} - -char _license[] SEC("license") = "GPL"; -""" - - -class CeventOut(ClbcBase): - def __init__(self): - super(CeventOut, self).__init__("eventOut", bpf_str=bpfPog) - - def _cb(self, cpu, e): - print("cpu: %d current pid:%d, comm:%s. wake_up_new_task pid: %d, comm: %s" % ( - cpu, e.c_pid, e.c_comm, e.p_pid, e.p_comm - )) - - def loop(self): - CeventThread(self, 'e_out', self._cb) - self.waitInterrupt() - - -if __name__ == "__main__": - e = CeventOut() - e.loop() diff --git a/lcc/pylcc/guide/hashMap.py b/lcc/pylcc/guide/hashMap.py deleted file mode 100644 index 4cd6d36..0000000 --- a/lcc/pylcc/guide/hashMap.py +++ /dev/null @@ -1,80 +0,0 @@ -# -*- coding: utf-8 -*- -# cython:language_level=2 -""" -------------------------------------------------- - File Name: eventOut - Description : - Author : liaozhaoyan - date: 2021/11/3 -------------------------------------------------- - Change Activity: - 2021/11/3: -------------------------------------------------- -""" -__author__ = 'liaozhaoyan' - -from signal import pause -from pylcc.lbcBase import ClbcBase, CeventThread - -bpfPog = r""" -#include "lbc.h" -#define TASK_COMM_LEN 16 -struct data_t { - u32 c_pid; - u32 p_pid; - char c_comm[TASK_COMM_LEN]; - char p_comm[TASK_COMM_LEN]; -}; - -LBC_PERF_OUTPUT(e_out, struct data_t, 128); -LBC_HASH(pid_cnt, u32, u32, 1024); -SEC("kprobe/wake_up_new_task") -int j_wake_up_new_task(struct pt_regs *ctx) -{ - struct task_struct* parent = (struct task_struct *)PT_REGS_PARM1(ctx); - u32 pid = BPF_CORE_READ(parent, pid); - u32 *pcnt, cnt; - - pcnt = bpf_map_lookup_elem(&pid_cnt, &pid); - cnt = pcnt ? *pcnt + 1 : 1; - bpf_map_update_elem(&pid_cnt, &pid, &cnt, BPF_ANY); - - struct data_t data = {}; - data.c_pid = bpf_get_current_pid_tgid() >> 32; - bpf_get_current_comm(&data.c_comm, TASK_COMM_LEN); - data.p_pid = BPF_CORE_READ(parent, pid); - bpf_core_read(&data.p_comm[0], TASK_COMM_LEN, &parent->comm[0]); - - bpf_perf_event_output(ctx, &e_out, BPF_F_CURRENT_CPU, &data, sizeof(data)); - return 0; -} - -char _license[] SEC("license") = "GPL"; -""" - - -class ChashMap(ClbcBase): - def __init__(self): - super(ChashMap, self).__init__("hashMap", bpf_str=bpfPog) - - def _cb(self, cpu, e): - print("cpu: %d current pid:%d, comm:%s. wake_up_new_task pid: %d, comm: %s" % ( - cpu, e.c_pid, e.c_comm, e.p_pid, e.p_comm - )) - d = self.maps['pid_cnt'].get() - print(d) - if len(d) > 10: - self.maps['pid_cnt'].clear() - - def _exit(self): - dMap = self.maps['pid_cnt'] - print(dMap.get()) - - def loop(self): - CeventThread(self, 'e_out', self._cb) - self.waitInterrupt(self._exit) - - -if __name__ == "__main__": - e = ChashMap() - e.loop() diff --git a/lcc/pylcc/guide/hello.py b/lcc/pylcc/guide/hello.py deleted file mode 100644 index 149e2ab..0000000 --- a/lcc/pylcc/guide/hello.py +++ /dev/null @@ -1,43 +0,0 @@ -# -*- coding: utf-8 -*- -# cython:language_level=2 -""" -------------------------------------------------- - File Name: hello.py - Description : - Author : liaozhaoyan - date: 2021/11/3 -------------------------------------------------- - Change Activity: - 2021/11/3: -------------------------------------------------- -""" -__author__ = 'liaozhaoyan' - -import time -from pylcc.lbcBase import ClbcBase - -bpfPog = r""" -#include "lbc.h" - -SEC("kprobe/wake_up_new_task") -int j_wake_up_new_task(struct pt_regs *ctx) -{ - struct task_struct* parent = (struct task_struct *)PT_REGS_PARM1(ctx); - - bpf_printk("hello lcc, parent: %d\n", _(parent->tgid)); - return 0; -} - -char _license[] SEC("license") = "GPL"; -""" - - -class Chello(ClbcBase): - def __init__(self): - super(Chello, self).__init__("hello", bpf_str=bpfPog) - self.waitInterrupt() - - -if __name__ == "__main__": - hello = Chello() - pass diff --git a/lcc/pylcc/guide/independ.bpf.c b/lcc/pylcc/guide/independ.bpf.c deleted file mode 100644 index f36630e..0000000 --- a/lcc/pylcc/guide/independ.bpf.c +++ /dev/null @@ -1,26 +0,0 @@ -#include "lbc.h" -#define TASK_COMM_LEN 16 -struct data_t { - u32 c_pid; - u32 p_pid; - char c_comm[TASK_COMM_LEN]; - char p_comm[TASK_COMM_LEN]; -}; - -LBC_PERF_OUTPUT(e_out, struct data_t, 128); -SEC("kprobe/wake_up_new_task") -int j_wake_up_new_task(struct pt_regs *ctx) -{ - struct task_struct* parent = (struct task_struct *)PT_REGS_PARM1(ctx); - struct data_t data = {}; - - data.c_pid = bpf_get_current_pid_tgid() >> 32; - bpf_get_current_comm(&data.c_comm, TASK_COMM_LEN); - data.p_pid = BPF_CORE_READ(parent, pid); - bpf_core_read(&data.p_comm[0], TASK_COMM_LEN, &parent->comm[0]); - - bpf_perf_event_output(ctx, &e_out, BPF_F_CURRENT_CPU, &data, sizeof(data)); - return 0; -} - -char _license[] SEC("license") = "GPL"; diff --git a/lcc/pylcc/guide/javaProbe.py b/lcc/pylcc/guide/javaProbe.py deleted file mode 100644 index 547c275..0000000 --- a/lcc/pylcc/guide/javaProbe.py +++ /dev/null @@ -1,44 +0,0 @@ -# -*- coding: utf-8 -*- -""" -------------------------------------------------- - File Name: javaProbe - Description : - Author : liaozhaoyan - date: 2022/10/18 -------------------------------------------------- - Change Activity: - 2022/10/18: -------------------------------------------------- -""" -__author__ = 'liaozhaoyan' - -import sys -from pylcc.lbcBase import ClbcBase - -bpfPog = r""" -#include "lbc.h" - -SEC("perf_event") -int bpf_prog(struct bpf_perf_event_data *ctx) -{ - bpf_printk("java function probe. arg1 :%d\n", ctx->regs.si); - return 0; -} - -char _license[] SEC("license") = "GPL"; -""" - - -class CjavaProbe(ClbcBase): - def __init__(self, pid, sym): - super(CjavaProbe, self).__init__("perfBp", bpf_str=bpfPog) - self.attachJavaSym("bpf_prog", pid, sym) - - def loop(self): - self.waitInterrupt() - - -if __name__ == "__main__": - j = CjavaProbe(int(sys.argv[1]), sys.argv[2]) - j.loop() - pass diff --git a/lcc/pylcc/guide/mulitEvent.py b/lcc/pylcc/guide/mulitEvent.py deleted file mode 100644 index 59ccca9..0000000 --- a/lcc/pylcc/guide/mulitEvent.py +++ /dev/null @@ -1,87 +0,0 @@ -# -*- coding: utf-8 -*- -""" -------------------------------------------------- - File Name: mulitEvent - Description : - Author : liaozhaoyan - date: 2022/8/31 -------------------------------------------------- - Change Activity: - 2022/8/31: -------------------------------------------------- -""" -__author__ = 'liaozhaoyan' - -from pylcc.lbcBase import ClbcBase, CeventThread - -bpfPog = r""" -#include "lbc.h" -#define TASK_COMM_LEN 16 -struct data_t { - u32 c_pid; - u32 p_pid; - char c_comm[TASK_COMM_LEN]; - char p_comm[TASK_COMM_LEN]; -}; - -LBC_PERF_OUTPUT(e1_out, struct data_t, 128); -LBC_PERF_OUTPUT(e2_out, struct data_t, 128); - -SEC("kprobe/wake_up_new_task") -int j_wake_up_new_task(struct pt_regs *ctx) -{ - struct task_struct* parent = (struct task_struct *)PT_REGS_PARM1(ctx); - struct data_t data = {}; - - data.c_pid = bpf_get_current_pid_tgid() >> 32; - bpf_get_current_comm(&data.c_comm, TASK_COMM_LEN); - data.p_pid = BPF_CORE_READ(parent, pid); - bpf_core_read(&data.p_comm[0], TASK_COMM_LEN, &parent->comm[0]); - - bpf_perf_event_output(ctx, &e1_out, BPF_F_CURRENT_CPU, &data, sizeof(data)); - return 0; -} - -SEC("kprobe/wake_up_process") -int j_wake_up_process(struct pt_regs *ctx) -{ - struct task_struct* parent = (struct task_struct *)PT_REGS_PARM1(ctx); - struct data_t data = {}; - - data.c_pid = bpf_get_current_pid_tgid() >> 32; - bpf_get_current_comm(&data.c_comm, TASK_COMM_LEN); - data.p_pid = BPF_CORE_READ(parent, pid); - bpf_core_read(&data.p_comm[0], TASK_COMM_LEN, &parent->comm[0]); - - bpf_perf_event_output(ctx, &e2_out, BPF_F_CURRENT_CPU, &data, sizeof(data)); - return 0; -} - -char _license[] SEC("license") = "GPL"; -""" - - -class CmulitEvent(ClbcBase): - def __init__(self): - super(CmulitEvent, self).__init__("eventOut", bpf_str=bpfPog) - - def _cb_e1(self, cpu, e): - print("e1: cpu: %d current pid:%d, comm:%s. wake_up_new_task pid: %d, comm: %s" % ( - cpu, e.c_pid, e.c_comm, e.p_pid, e.p_comm - )) - - def _cb_e2(self, cpu, e): - print("e1: cpu: %d current pid:%d, comm:%s. wake_up_process pid: %d, comm: %s" % ( - cpu, e.c_pid, e.c_comm, e.p_pid, e.p_comm - )) - - def loop(self): - CeventThread(self, "e1_out", self._cb_e1) - CeventThread(self, "e2_out", self._cb_e2) - self.waitInterrupt() - - -if __name__ == "__main__": - m = CmulitEvent() - m.loop() - pass diff --git a/lcc/pylcc/guide/netCollect.py b/lcc/pylcc/guide/netCollect.py deleted file mode 100644 index d270c94..0000000 --- a/lcc/pylcc/guide/netCollect.py +++ /dev/null @@ -1,172 +0,0 @@ -# -*- coding: utf-8 -*- -# cython:language_level=3 -""" -------------------------------------------------- - File Name: netCollect.py - Description : - Author : liaozhaoyan - date: 2021/8/5 -------------------------------------------------- - Change Activity: - 2021/8/5: -------------------------------------------------- -""" -__author__ = 'liaozhaoyan' - -import os -import sys - -import time -import ctypes as ct -import socket -import struct -from threading import Thread -if sys.version_info.major >= 3: - from queue import Queue, Full -else: - from Queue import Queue, Full - -from pylcc.lbcBase import ClbcBase -from common.cmds import CconProc - -typeList = ["rto_retrans", "zero_probe", "noport_reset", "bad_sync", "net_proc", "syn_send", "syn_ack"] -resetList = ['noport', 'bad_ack', "bad_syn", "tw_rst", "tcp_stat", "tcp_oom", "keep_alive", "bad_close", "disconnect", "tcp_abort"] - - -class CPushThread(Thread): - def __init__(self, q, qName, sender): - super(CPushThread, self).__init__() - self.setDaemon(True) - self._q = q - self._name = qName - self._send = sender - - def run(self): - count = 0 - i = 0 - while True: - logs = "" - while not self._q.empty(): - log = self._q.get() - logs += log.replace('"', '\\"') + "; " - count += 1 - if len(logs): - self._send.put(self._name, ',level=warn log="%s"' % (logs[:-2])) - i += 1 - if i >= 60: - self._send.put(self._name + '_c', ' count=%d' % (count)) - i = 0 - count = 0 - time.sleep(1) - - -class CnetCollect(ClbcBase): - def __init__(self, soPath, sender): - super(CnetCollect, self).__init__(soPath, workPath=os.path.split(os.path.realpath(__file__))[0]) - self._send = sender - self.__retransQ = Queue() - self.__retransQ.maxsize = 5 - self.__resetQ = Queue() - self.__resetQ.maxsize = 5 - self.__synRetransQ = Queue() - self.__synRetransQ.maxsize = 5 - self._cp = CconProc() - - retransThread = CPushThread(self.__retransQ, 'net_retrans', sender) - resetThread = CPushThread(self.__resetQ, 'net_reset', sender) - synRetransThread = CPushThread(self.__synRetransQ, 'syn_retrans', sender) - - retransThread.start() - resetThread.start() - synRetransThread.start() - - def transPort(self, v): - return struct.unpack('H', struct.pack('>H', v))[0] - - def transIp(self, v): - return socket.inet_ntoa(struct.pack('>I', socket.htonl(v))) - - def sendLog(self, q, log): - try: - q.put(log, block=False) - except Full: - pass - - def dispatchReset(self, e, log): - q = self.__resetQ - if e.type == 2: #noport - log += "noport" - self.sendLog(q, log) - return - try: - stacks = self.maps['callStack'].getStacks(e.stack_id, 2) - except TypeError: - # print("bad type.") - return - - if e.type == 3: - if stacks[1] == 'tcp_v4_rcv': - if e.sk_state == 12: #TCP_NEW_SYN_RECV - stat = "bad_ack" - else: - stat = "tw_rst" - elif stacks[1] == 'tcp_check_req': - stat = "bad_syn" - elif stacks[1] == 'tcp_v4_do_rcv': - stat = "tcp_stat" - else: - stat = 'unkown3%s' % stacks[1] - elif e.type == 4: - if stacks[1] == 'tcp_out_of_resources': - stat = 'tcp_oom' - elif stacks[1] == 'tcp_keepalive_timer': - stat = 'keep_alive' - elif stacks[1] == 'inet_release' or stacks[1] == 'tcp_close': - stat = 'bad_close' - elif stacks[1] == 'tcp_disconnect': - stat = 'tcp_abort' - elif stacks[1] == 'tcp_abort': - stat = 'tcp_abort' - else: - stat = 'unkown4%s' % stacks[1] - else: - stat = 'bad%d' % e.type - log += stat - self.sendLog(q, log) - - def _packLog(self, e): - log = "rcv_nxt:%d, rcv_wup:%d, snd_nxt:%d, snd_una:%d, copied_seq:%d, snd_wnd:%d, rcv_wnd:%d, lost_out:%d, packets_out:%d, retrans_out:%d, sacked_out:%d, reordering:%d, " % ( e.rcv_nxt, e.rcv_wup, e.snd_nxt, e.snd_una, e.copied_seq, e.snd_wnd, e.rcv_wnd, e.lost_out, e.packets_out, e.retrans_out, e.sacked_out, e.reordering) - log += typeList[e.type] - return log - - def _callback(self, cpu, data, size): - stream = ct.string_at(data, size) - e = self.maps['net_map'].event(stream) - con = self._cp.getDockerName(e.con) - log = 'con:%s, task:%d|%s, tcp:%s:%d->%s:%d, state:%d, ' % (con, e.pid, e.comm, self.transIp(e.ip_src), self.transPort(e.sport), self.transIp(e.ip_dst), self.transPort(e.dport), e.sk_state) - - if e.type < 2: - log += self._packLog(e) - self.sendLog(self.__retransQ, log) - elif e.type >= 5: - log += self._packLog(e) - self.sendLog(self.__synRetransQ, log) - else: - self.dispatchReset(e, log) - - def loop(self): - self.maps['net_map'].open_perf_buffer(self._callback) - self.maps['net_map'].perf_buffer_poll() - - -def netCLoop(sender, version): - if "3.10" in version: - r = CnetCollect('netcollect.3.10', sender) - else: - r = CnetCollect('netcollect.4.plus', sender) - r.loop() - - -if __name__ == "__main__": - n = CnetCollect('netcollect.4.plus') - n.loop() diff --git a/lcc/pylcc/guide/netcollect.3.10.bpf.c b/lcc/pylcc/guide/netcollect.3.10.bpf.c deleted file mode 100644 index 286f77c..0000000 --- a/lcc/pylcc/guide/netcollect.3.10.bpf.c +++ /dev/null @@ -1,248 +0,0 @@ -// -// Created by 廖肇燕 on 2021/7/15. -// -#include "lbc.h" - -#ifndef NULL -#define NULL ((void*)0) -#endif - -#define CON_NAME_LEN 80 -#define TASK_COMM_LEN 16 - -struct liphdr { - __u8 ver_hdl; - __u8 tos; - __be16 tot_len; - __be16 id; - __be16 frag_off; - __u8 ttl; - __u8 protocol; - __sum16 check; - __be32 saddr; - __be32 daddr; -}; - -struct data_t { - char con[CON_NAME_LEN]; - char comm[TASK_COMM_LEN]; - u32 pid; - u32 type; - u32 ip_src; - u32 ip_dst; - u16 sport; - u16 dport; - u16 sk_state; - u16 stack_id; - - u32 rcv_nxt; - u32 rcv_wup; - u32 snd_nxt; - u32 snd_una; - u32 copied_seq; - u32 snd_wnd; - u32 rcv_wnd; - - u32 lost_out; - u32 packets_out; - u32 retrans_out; - u32 sacked_out; - u32 reordering; -} ; - -LBC_PERF_OUTPUT(net_map, struct data_t, 1024); -LBC_STACK(callStack,128); -LBC_PERCPU_HASH(sock_task, u64, u64, 256*1024); - -static inline int get_tcp_info(struct data_t* pdata, struct tcp_sock *ts) -{ - pdata->rcv_nxt = BPF_CORE_READ(ts, rcv_nxt); - pdata->rcv_wup = BPF_CORE_READ(ts, rcv_wup); - pdata->snd_nxt = BPF_CORE_READ(ts, snd_nxt); - pdata->snd_una = BPF_CORE_READ(ts, snd_una); - pdata->copied_seq = BPF_CORE_READ(ts, copied_seq); - pdata->snd_wnd = BPF_CORE_READ(ts, snd_wnd); - pdata->rcv_wnd = BPF_CORE_READ(ts, rcv_wnd); - - pdata->lost_out = BPF_CORE_READ(ts, lost_out); - pdata->packets_out = BPF_CORE_READ(ts, packets_out); - pdata->retrans_out = BPF_CORE_READ(ts, retrans_out); - pdata->sacked_out = BPF_CORE_READ(ts, sacked_out); - pdata->reordering = BPF_CORE_READ(ts, reordering); - return 0; -} - -static inline int get_skb_info(struct data_t* pdata, struct sk_buff *skb, u32 type) -{ - u16 offset; - u8 ihl; - void* head; - struct liphdr *piph; - struct tcphdr *ptcph; - - pdata->type = type; - pdata->sk_state = 0; - - head = (void*)BPF_CORE_READ(skb, head); - offset = BPF_CORE_READ(skb, network_header); - piph = (struct liphdr *)(head + offset); - ihl = _(piph->ver_hdl) & 0x0f; - ptcph = (struct tcphdr *)((void *)piph + ihl * 4); - - pdata->ip_dst = _(piph->daddr); - pdata->dport = BPF_CORE_READ(ptcph, dest); - pdata->ip_src = _(piph->daddr); - pdata->sport = BPF_CORE_READ(ptcph, source); - return 0; -} - -static inline void store_con(char* con, struct task_struct *p) -{ - struct cgroup_name *cname; - cname = BPF_CORE_READ(p, cgroups, subsys[0], cgroup, name); - if (cname != NULL) { - bpf_core_read(con, CON_NAME_LEN, &cname->name[0]); - } else { - con[0] = '\0'; - } -} - -static inline void get_task(struct data_t* pdata, struct sock *sk) -{ - u64 k = (u64)sk; - if (k == 0) { - goto clear_task; - } - u64 *pv = bpf_map_lookup_elem(&sock_task, &k); - if (pv && *pv) { - struct task_struct *p = (struct task_struct *)*pv; - struct cgroup_name *cname; - pdata->pid = BPF_CORE_READ(p, tgid); - bpf_probe_read(&pdata->comm[0], TASK_COMM_LEN, &p->comm[0]); - store_con(&pdata->con[0], p); -// bpf_printk("con: %s, comm:%s, pid:%d\n", pdata->con, pdata->comm, pdata->pid); - return; - } -clear_task: - pdata->pid = 0; - pdata->comm[0] = '\0'; - pdata->con[0] = '\0'; -} - -static inline int get_info(struct data_t* pdata, struct sock *sk, u32 type) -{ - struct inet_sock *inet = (struct inet_sock *)sk; - - pdata->type = type; - pdata->ip_dst = BPF_CORE_READ(sk, __sk_common.skc_daddr); - pdata->dport = BPF_CORE_READ(sk, __sk_common.skc_dport); - pdata->ip_src = BPF_CORE_READ(sk, __sk_common.skc_rcv_saddr); - pdata->sport = BPF_CORE_READ(inet, inet_sport); - pdata->sk_state = BPF_CORE_READ(sk, __sk_common.skc_state); - return 0; -} - -SEC("kretprobe/sk_alloc") -int BPF_KRETPROBE(r_sk_alloc, struct sock *sk) -{ - struct task_struct *p = (struct task_struct *)bpf_get_current_task(); - u64 k, v = 0; - k = (u64)sk; - v = (u64)p; - bpf_map_update_elem(&sock_task, &k, &v, BPF_ANY); - return 0; -} - -SEC("kprobe/sk_free") -int j_sock_release(struct pt_regs *ctx) -{ - struct sock *sk = (struct sock *)PT_REGS_PARM1(ctx); - if (BPF_CORE_READ(sk, sk_wmem_alloc.counter)) { - return 0; - } - u64 k = (u64)sk; - bpf_map_delete_elem(&sock_task, &k); - return 0; -} - -SEC("kprobe/tcp_enter_loss") -int j_tcp_enter_loss(struct pt_regs *ctx) -{ - struct sock *sk; - struct data_t data = {}; - u32 stat; - - sk = (struct sock *)PT_REGS_PARM1(ctx); - stat = BPF_CORE_READ(sk, __sk_common.skc_state); - if (stat == 0 || stat == 2) { - return 0; - } - get_task(&data, sk); - get_info(&data, sk, 0); - data.stack_id = 0; - get_tcp_info(&data, (struct tcp_sock *)sk); - - bpf_perf_event_output(ctx, &net_map, BPF_F_CURRENT_CPU, &data, sizeof(data)); - return 0; -} - -SEC("kprobe/tcp_send_probe0") -int j_tcp_send_probe0(struct pt_regs *ctx) -{ - struct sock *sk; - struct data_t data = {}; - u32 stat; - - sk = (struct sock *)PT_REGS_PARM1(ctx); - stat = BPF_CORE_READ(sk, __sk_common.skc_state); - if (stat == 0) { - return 0; - } - - get_info(&data, sk, 1); - data.stack_id = 0; - get_task(&data, sk); - get_tcp_info(&data, (struct tcp_sock *)sk); - - bpf_perf_event_output(ctx, &net_map, BPF_F_CURRENT_CPU, &data, sizeof(data)); - return 0; -} - -SEC("kprobe/tcp_v4_send_reset") -int j_tcp_v4_send_reset(struct pt_regs *ctx) -{ - struct sock *sk; - struct data_t data = {}; - - sk = (struct sock *)PT_REGS_PARM1(ctx); - if (sk == NULL) { - struct sk_buff *skb = (struct sk_buff *)PT_REGS_PARM2(ctx); - get_skb_info(&data, skb, 2); - get_task(&data, NULL); - data.stack_id = 0; - } - else { - get_info(&data, sk, 3); - get_task(&data, sk); - data.stack_id = bpf_get_stackid(ctx, &callStack, KERN_STACKID_FLAGS); - } - bpf_perf_event_output(ctx, &net_map, BPF_F_CURRENT_CPU, &data, sizeof(data)); - return 0; -} - -SEC("kprobe/tcp_send_active_reset") -int j_tcp_send_active_reset(struct pt_regs *ctx) -{ - struct sock *sk; - struct data_t data = {}; - - sk = (struct sock *)PT_REGS_PARM1(ctx); - get_info(&data, sk, 4); - data.stack_id = bpf_get_stackid(ctx, &callStack, KERN_STACKID_FLAGS); - - get_task(&data, sk); - bpf_perf_event_output(ctx, &net_map, BPF_F_CURRENT_CPU, &data, sizeof(data)); - return 0; -} - -char _license[] SEC("license") = "GPL"; diff --git a/lcc/pylcc/guide/netcollect.4.plus.bpf.c b/lcc/pylcc/guide/netcollect.4.plus.bpf.c deleted file mode 100644 index 5294e7a..0000000 --- a/lcc/pylcc/guide/netcollect.4.plus.bpf.c +++ /dev/null @@ -1,291 +0,0 @@ -// -// Created by 廖肇燕 on 2021/7/15. -// -#include "lbc.h" - -#ifndef NULL -#define NULL ((void*)0) -#endif - -#define CON_NAME_LEN 80 -#define TASK_COMM_LEN 16 - -struct liphdr { - __u8 ver_hdl; - __u8 tos; - __be16 tot_len; - __be16 id; - __be16 frag_off; - __u8 ttl; - __u8 protocol; - __sum16 check; - __be32 saddr; - __be32 daddr; -}; - -struct data_t { - char con[CON_NAME_LEN]; - char comm[TASK_COMM_LEN]; - u32 pid; - u32 type; - u32 ip_src; - u32 ip_dst; - u16 sport; - u16 dport; - u16 sk_state; - u16 stack_id; - - u32 rcv_nxt; - u32 rcv_wup; - u32 snd_nxt; - u32 snd_una; - u32 copied_seq; - u32 snd_wnd; - u32 rcv_wnd; - - u32 lost_out; - u32 packets_out; - u32 retrans_out; - u32 sacked_out; - u32 reordering; -} ; - -LBC_PERF_OUTPUT(net_map, struct data_t, 1024); -LBC_STACK(callStack,128); -LBC_PERCPU_HASH(sock_task, u64, u64, 256*1024); - -static inline int get_tcp_info(struct data_t* pdata, struct tcp_sock *ts) -{ - pdata->rcv_nxt = BPF_CORE_READ(ts, rcv_nxt); - pdata->rcv_wup = BPF_CORE_READ(ts, rcv_wup); - pdata->snd_nxt = BPF_CORE_READ(ts, snd_nxt); - pdata->snd_una = BPF_CORE_READ(ts, snd_una); - pdata->copied_seq = BPF_CORE_READ(ts, copied_seq); - pdata->snd_wnd = BPF_CORE_READ(ts, snd_wnd); - pdata->rcv_wnd = BPF_CORE_READ(ts, rcv_wnd); - - pdata->lost_out = BPF_CORE_READ(ts, lost_out); - pdata->packets_out = BPF_CORE_READ(ts, packets_out); - pdata->retrans_out = BPF_CORE_READ(ts, retrans_out); - pdata->sacked_out = BPF_CORE_READ(ts, sacked_out); - pdata->reordering = BPF_CORE_READ(ts, reordering); - return 0; -} - -static inline int get_skb_info(struct data_t* pdata, struct sk_buff *skb, u32 type) -{ - u16 offset; - u8 ihl; - void* head; - struct liphdr *piph; - struct tcphdr *ptcph; - - pdata->type = type; - pdata->sk_state = 0; - - head = (void*)BPF_CORE_READ(skb, head); - offset = BPF_CORE_READ(skb, network_header); - piph = (struct liphdr *)(head + offset); - ihl = _(piph->ver_hdl) & 0x0f; - ptcph = (struct tcphdr *)((void *)piph + ihl * 4); - - pdata->ip_dst = _(piph->daddr); - pdata->dport = BPF_CORE_READ(ptcph, dest); - pdata->ip_src = _(piph->daddr); - pdata->sport = BPF_CORE_READ(ptcph, source); - return 0; -} - -static void store_con(char* con, struct task_struct *p) -{ - struct kernfs_node *knode, *pknode; - knode = BPF_CORE_READ(p, cgroups, subsys[0], cgroup, kn); - pknode = BPF_CORE_READ(knode, parent); - if (pknode != NULL) { - char *name; - bpf_core_read(&name, sizeof(void *), &knode->name); - bpf_core_read(con, CON_NAME_LEN, name); -// bpf_printk("get con %s.\n", con); - } else { -// bpf_printk("not task.\n"); - con[0] = '\0'; - } -} - -static inline void get_task(struct data_t* pdata, struct sock *sk) -{ - u64 k = (u64)sk; - if (k == 0) { - goto clear_task; - } - u64 *pv = bpf_map_lookup_elem(&sock_task, &k); - - if (pv && *pv) { - struct task_struct *p = (struct task_struct *)*pv; - struct cgroup_name *cname; - pdata->pid = BPF_CORE_READ(p, tgid); - bpf_probe_read(&pdata->comm[0], TASK_COMM_LEN, &p->comm[0]); - store_con(&pdata->con[0], p); -// bpf_printk("con: %s, comm:%s, pid:%d\n", pdata->con, pdata->comm, pdata->pid); - return; - } -clear_task: - pdata->pid = 0; - pdata->comm[0] = '\0'; - pdata->con[0] = '\0'; -} - -static inline int get_info(struct data_t* pdata, struct sock *sk, u32 type) -{ - struct inet_sock *inet = (struct inet_sock *)sk; - - pdata->type = type; - pdata->ip_dst = BPF_CORE_READ(sk, __sk_common.skc_daddr); - pdata->dport = BPF_CORE_READ(sk, __sk_common.skc_dport); - pdata->ip_src = BPF_CORE_READ(sk, __sk_common.skc_rcv_saddr); - pdata->sport = BPF_CORE_READ(inet, inet_sport); - pdata->sk_state = BPF_CORE_READ(sk, __sk_common.skc_state); - return 0; -} - -SEC("kretprobe/sk_alloc") -int BPF_KRETPROBE(r_sk_alloc, struct sock *sk) -{ - struct task_struct *p = (struct task_struct *)bpf_get_current_task(); - u64 k, v = 0; - k = (u64)sk; - v = (u64)p; - bpf_map_update_elem(&sock_task, &k, &v, BPF_ANY); - return 0; -} - -SEC("kprobe/sk_free") -int j_sock_release(struct pt_regs *ctx) -{ - struct sock *sk = (struct sock *)PT_REGS_PARM1(ctx); - if (BPF_CORE_READ(sk, sk_wmem_alloc.refs.counter)) { - return 0; - } - u64 k = (u64)sk; - bpf_map_delete_elem(&sock_task, &k); - return 0; -} - -SEC("kprobe/tcp_enter_loss") -int j_tcp_enter_loss(struct pt_regs *ctx) -{ - struct sock *sk; - struct data_t data = {}; - u32 stat; - - sk = (struct sock *)PT_REGS_PARM1(ctx); - stat = BPF_CORE_READ(sk, __sk_common.skc_state); - if (stat == 0 || stat == 2) { - return 0; - } - get_task(&data, sk); - get_info(&data, sk, 0); - data.stack_id = 0; - get_tcp_info(&data, (struct tcp_sock *)sk); - - bpf_perf_event_output(ctx, &net_map, BPF_F_CURRENT_CPU, &data, sizeof(data)); - return 0; -} - -SEC("kprobe/tcp_send_probe0") -int j_tcp_send_probe0(struct pt_regs *ctx) -{ - struct sock *sk; - struct data_t data = {}; - u32 stat; - - sk = (struct sock *)PT_REGS_PARM1(ctx); - stat = BPF_CORE_READ(sk, __sk_common.skc_state); - if (stat == 0) { - return 0; - } - - get_info(&data, sk, 1); - data.stack_id = 0; - get_task(&data, sk); - get_tcp_info(&data, (struct tcp_sock *)sk); - - bpf_perf_event_output(ctx, &net_map, BPF_F_CURRENT_CPU, &data, sizeof(data)); - return 0; -} - -SEC("kprobe/tcp_v4_send_reset") -int j_tcp_v4_send_reset(struct pt_regs *ctx) -{ - struct sock *sk; - struct data_t data = {}; - - sk = (struct sock *)PT_REGS_PARM1(ctx); - if (sk == NULL) { - struct sk_buff *skb = (struct sk_buff *)PT_REGS_PARM2(ctx); - get_skb_info(&data, skb, 2); - get_task(&data, NULL); - data.stack_id = 0; - } - else { - get_info(&data, sk, 3); - get_task(&data, sk); - data.stack_id = bpf_get_stackid(ctx, &callStack, KERN_STACKID_FLAGS); - } - bpf_perf_event_output(ctx, &net_map, BPF_F_CURRENT_CPU, &data, sizeof(data)); - return 0; -} - -SEC("kprobe/tcp_send_active_reset") -int j_tcp_send_active_reset(struct pt_regs *ctx) -{ - struct sock *sk; - struct data_t data = {}; - - sk = (struct sock *)PT_REGS_PARM1(ctx); - get_info(&data, sk, 4); - data.stack_id = bpf_get_stackid(ctx, &callStack, KERN_STACKID_FLAGS); - - get_task(&data, sk); - bpf_perf_event_output(ctx, &net_map, BPF_F_CURRENT_CPU, &data, sizeof(data)); - return 0; -} - -#define TCPHDR_SYN 0x02 -#define SKB_CB(__skb) BPF_CORE_READ(__skb, cb[0]) -SEC("raw_tracepoint/tcp_retransmit_skb") -int e_tcp_retransmit_skb_hook(struct bpf_raw_tracepoint_args *ctx){ - struct sock *sk; - struct sk_buff *skb; - char cb; - struct tcp_skb_cb *skb_cb; - u8 flag; - struct data_t data = {}; - - skb = (struct sk_buff *)ctx->args[1]; - cb = SKB_CB(skb); - skb_cb = (struct tcp_skb_cb *)&cb; - flag = BPF_CORE_READ(skb_cb, tcp_flags); - if (flag & TCPHDR_SYN) - { - sk = (struct sock *)ctx->args[0]; - get_info(&data, sk, 5); - get_task(&data, sk); - bpf_perf_event_output(ctx, &net_map, BPF_F_CURRENT_CPU, &data, sizeof(data)); - } - return 0; -} - -SEC("raw_tracepoint/tcp_retransmit_synack") -int e_tcp_retransmit_synack(struct bpf_raw_tracepoint_args *ctx) -{ - struct sock *sk; - struct data_t data = {}; - - sk = (struct sock *)ctx->args[0]; - get_info(&data, sk, 6); - get_task(&data, sk); - bpf_perf_event_output(ctx, &net_map, BPF_F_CURRENT_CPU, &data, sizeof(data)); -} - -char _license[] SEC("license") = "GPL"; diff --git a/lcc/pylcc/guide/perfBreakpoint.py b/lcc/pylcc/guide/perfBreakpoint.py deleted file mode 100644 index dc62a17..0000000 --- a/lcc/pylcc/guide/perfBreakpoint.py +++ /dev/null @@ -1,93 +0,0 @@ -# -*- coding: utf-8 -*- -""" -------------------------------------------------- - File Name: perfBreakpoint - Description : - Author : liaozhaoyan - date: 2022/10/8 -------------------------------------------------- - Change Activity: - 2022/10/8: -------------------------------------------------- -""" -__author__ = 'liaozhaoyan' - -import sys -import time -from pylcc.lbcBase import ClbcBase -from pylcc.perfEvent import * - -bpfPog = r""" -#include "lbc.h" - -SEC("perf_event") -int bpf_prog(struct bpf_perf_event_data *ctx) -{ - bpf_printk("break point\n"); - return 0; -} - -char _license[] SEC("license") = "GPL"; -""" - - -class CperfBreakPoint(ClbcBase): - def __init__(self, pid, addr): - super(CperfBreakPoint, self).__init__("perfBp", bpf_str=bpfPog) - self._pid = pid - self._addr = addr - - def loop2(self): - print(self._pid, self._addr) - pfConfig = { - "type": PerfType.BREAKPOINT, - "size": PERF_ATTR_SIZE_VER5, - "sample_period": 1, - "precise_ip": 2, - "wakeup_events": 1, - "bp_type": PerfBreakPointType.X, - "bp_addr": self._addr, - "bp_len": 8, - } - self.attachPerfEvent("bpf_prog", pfConfig, pid=self._pid, flags=PerfFlag.FD_CLOEXEC) - self.waitInterrupt() - - def loop3(self): - print(self._pid, self._addr) - pfConfig = { - "type": PerfType.BREAKPOINT, - "size": PERF_ATTR_SIZE_VER5, - "sample_period": 1, - "precise_ip": 2, - "wakeup_events": 1, - "bp_type": PerfBreakPointType.X, - "bp_addr": self._addr, - "bp_len": 8, - } - self.attachPerfEvent("bpf_prog", pfConfig, pid=self._pid, flags=PerfFlag.FD_CLOEXEC) - self.waitInterrupt() - - def loop1(self): - print(self._pid, self._addr) - pfConfig = { - "type": PerfType.BREAKPOINT, - "size": PERF_ATTR_SIZE_VER5, - "disabled": 1, - "inherit": 1, - "exclude_guest": 1, - "bp_type": PerfBreakPointType.X, - "bp_addr": self._addr, - "bp_len": 1, - } - self.attachPerfEvent("bpf_prog", pfConfig, pid=self._pid, flags=PerfFlag.FD_CLOEXEC) - while True: - time.sleep(1) - - -if __name__ == "__main__": - pid = int(sys.argv[1]) - addr = int(sys.argv[2], 16) - perf = CperfBreakPoint(pid, addr) - perf.loop2() - pass - diff --git a/lcc/pylcc/guide/runlatency.py b/lcc/pylcc/guide/runlatency.py deleted file mode 100644 index fb973f4..0000000 --- a/lcc/pylcc/guide/runlatency.py +++ /dev/null @@ -1,105 +0,0 @@ - -# -*- coding: utf-8 -*- -# cython:language_level=2 -""" -------------------------------------------------- - File Name: runlatency - Description : - Author : liaozhaoyan - date: 2021/11/28 -------------------------------------------------- - Change Activity: - 2021/11/28: -------------------------------------------------- -""" -__author__ = 'liaozhaoyan' - -import sys -from pylcc.lbcBase import ClbcBase, CexecCmd - -bpfProg = r""" -#include "lbc.h" -struct data_t { - int cpu; - int type; // 0: irq, 1:sirq - u32 stack_id; - u64 delayed; -}; - -LBC_PERF_OUTPUT(e_out, struct data_t, 128); -LBC_STACK(call_stack, 256); - -// check_timer_delay(bool hirq, int cpu , u64 delta, u64 stamp) -SEC("kprobe/check_timer_delay") -int j_check_timer_delay(struct pt_regs *ctx) -{ - struct data_t data = {}; - - data.cpu = PT_REGS_PARM2(ctx); - data.type = PT_REGS_PARM1(ctx); - data.delayed = PT_REGS_PARM3(ctx); - data.stack_id = bpf_get_stackid(ctx, &call_stack, KERN_STACKID_FLAGS); - - bpf_perf_event_output(ctx, &e_out, BPF_F_CURRENT_CPU, &data, sizeof(data)); - return 0; -} -char _license[] SEC("license") = "GPL"; -""" - - -class Crunlatency(ClbcBase): - def __init__(self, lat=10): - self._exec = CexecCmd - self.setupKo(lat >> 1) - super(Crunlatency, self).__init__("runlatency", server="172.24.90.148", bpf_str=bpfProg) - - def checkKoInstall(self, ko): - installed = False - mods = self._exec.cmd("lsmod") - for mod in mods.split('\n'): - if mod.startswith(ko): - installed = True - break - if not installed: - self._exec.cmd("insmod %s.ko" % ko) - - def setupKo(self, lat): - self.checkKoInstall("runlat") - enable = self._exec.cmd("cat /proc/runlatency/enable") - if enable[0] == '1': - self._exec.system("echo 0 > /proc/runlatency/enable") - print("setup ko") - self._exec.system("echo %d > /proc/runlatency/period" % int(lat)) - self._exec.system("echo 1 > /proc/runlatency/enable") - - def releaseKo(self): - self._exec.system("echo 0 > /proc/runlatency/enable") - - def _cb(self, cpu, data, size): - e = self.getMap('e_out', data, size) - print(e.type) - if e.type == 1: - print("cpu%d catch %dns hard irq delay." % (e.cpu, e.delayed)) - else: - print("cpu%d catch %dns soft irq delay." % (e.cpu, e.delayed)) - stacks = self.maps['call_stack'].getStacks(e.stack_id) - for s in stacks: - print(s) - - def loop(self): - self.maps['e_out'].open_perf_buffer(self._cb) - try: - self.maps['e_out'].perf_buffer_poll() - except KeyboardInterrupt: - print("key interrupt.") - self.releaseKo() - exit() - - -if __name__ == "__main__": - lat = 10 - if len(sys.argv) >= 2: - lat = int(sys.argv[1]) - run = Crunlatency(lat) - run.loop() - diff --git a/lcc/pylcc/guide/testPerf.py b/lcc/pylcc/guide/testPerf.py deleted file mode 100644 index 21d0654..0000000 --- a/lcc/pylcc/guide/testPerf.py +++ /dev/null @@ -1,51 +0,0 @@ -# -*- coding: utf-8 -*- -""" -------------------------------------------------- - File Name: perfEvent - Description : - Author : liaozhaoyan - date: 2022/8/29 -------------------------------------------------- - Change Activity: - 2022/8/29: -------------------------------------------------- -""" -__author__ = 'liaozhaoyan' - -from pylcc.lbcBase import ClbcBase -from pylcc.perfEvent import * - -bpfPog = r""" -#include "lbc.h" - -SEC("perf_event") -int bpf_prog(struct bpf_perf_event_data *ctx) -{ - bpf_printk("hello perf\n"); - return 0; -} - -char _license[] SEC("license") = "GPL"; -""" - - -class CtestPerf(ClbcBase): - def __init__(self): - super(CtestPerf, self).__init__("tPerf", bpf_str=bpfPog) - - def loop(self): - pfConfig = { - "sample_freq": 50, - "freq": 1, - "type": PerfType.SOFTWARE, - "config": PerfSwIds.PAGE_FAULTS, - } - self.attachPerfEvent("bpf_prog", pfConfig) - self.waitInterrupt() - - -if __name__ == "__main__": - perf = CtestPerf() - perf.loop() - pass - diff --git a/lcc/pylcc/guide/testUprobe.py b/lcc/pylcc/guide/testUprobe.py deleted file mode 100644 index c0ee271..0000000 --- a/lcc/pylcc/guide/testUprobe.py +++ /dev/null @@ -1,42 +0,0 @@ -# -*- coding: utf-8 -*- -""" -------------------------------------------------- - File Name: testUprobe - Description : - Author : liaozhaoyan - date: 2022/10/16 -------------------------------------------------- - Change Activity: - 2022/10/16: -------------------------------------------------- -""" -__author__ = 'liaozhaoyan' - -from pylcc.lbcBase import ClbcBase - -bpfPog = r""" -#include "lbc.h" - -SEC("uprobe/*") -int call_symbol(struct pt_regs *ctx) -{ - bpf_printk("catch uprobe.\n"); - return 0; -} - -char _license[] SEC("license") = "GPL"; -""" - - -class CtestUprobe(ClbcBase): - def __init__(self): - super(CtestUprobe, self).__init__("tUprobe", bpf_str=bpfPog, attach=0) - - self.attachUprobe("call_symbol", -1, "/usr/bin/bash", 0x8a870) - self.waitInterrupt() - - -if __name__ == "__main__": - CtestUprobe() - pass - diff --git a/lcc/pylcc/guide/traceUprobe.py b/lcc/pylcc/guide/traceUprobe.py deleted file mode 100644 index 3d6093a..0000000 --- a/lcc/pylcc/guide/traceUprobe.py +++ /dev/null @@ -1,70 +0,0 @@ -# -*- coding: utf-8 -*- -""" -------------------------------------------------- - File Name: traceUprobe - Description : - Author : liaozhaoyan - date: 2022/10/18 -------------------------------------------------- - Change Activity: - 2022/10/18: -------------------------------------------------- -""" -__author__ = 'liaozhaoyan' - -import time -import os -from pylcc.lbcBase import ClbcBase, CeventThread -from pylcc.lbcStack import ClbcUstack - -bpfPog = r""" -#include "lbc.h" - -struct data_t { - u32 c_pid; - u32 stack_id; -}; - -LBC_PERF_OUTPUT(e_out, struct data_t, 32); -LBC_STACK(call_stack,32); - -SEC("uprobe/*") -int call_symbol(struct pt_regs *ctx) -{ - struct data_t data = {}; - - data.c_pid = bpf_get_current_pid_tgid() >> 32; - data.stack_id = bpf_get_stackid(ctx, &call_stack, USER_STACKID_FLAGS); - - bpf_perf_event_output(ctx, &e_out, BPF_F_CURRENT_CPU, &data, sizeof(data)); - return 0; -} - -char _license[] SEC("license") = "GPL"; -""" - - -class CtraceUprobe(ClbcBase): - def __init__(self): - super(CtraceUprobe, self).__init__("traceUprobe", bpf_str=bpfPog, attach=0) - print(os.getpid()) - # self.attachUprobes("call_symbol", -1, "/usr/bin/bash", 567408) - self.traceUprobes("call_symbol", -1, "./user:readline") - - def _cb(self, cpu, e): - print("pool event cpu %d, pid:%d, stackid:%d" % (cpu, e.c_pid, e.stack_id)) - stacks = self.maps['call_stack'].getArr(e.stack_id) - print(stacks) - uStack = ClbcUstack(e.c_pid, stacks) - print(uStack.dumpStacks()) - - def loop(self): - CeventThread(self, 'e_out', self._cb) - self.waitInterrupt() - - -if __name__ == "__main__": - u = CtraceUprobe() - u.loop() - pass - diff --git a/lcc/pylcc/guide/user_break_point.c b/lcc/pylcc/guide/user_break_point.c deleted file mode 100644 index dc87ab0..0000000 --- a/lcc/pylcc/guide/user_break_point.c +++ /dev/null @@ -1,34 +0,0 @@ -#include -#include -#include - -struct user_struct{ - int user_a; - int user_b; -}; - -void test_struct(struct user_struct *p_user) { - p_user->user_b = p_user->user_a + 3; - p_user->user_a ++; -} - -void test(int loop) { - int i; - for (i = 0; i < loop * 100; i ++); - printf("end.\n"); -} - -int main() -{ - int i; - struct user_struct t_s = {0, 0}; - - printf("%d %p\n", getpid(), test); - for (i = 1; i < 1000; i ++) { - test(i); - test_struct(&t_s); - printf("use: %d\n", t_s.user_a); - sleep(1); - } - return 0; -} diff --git a/lcc/pylcc/inject/sysHigh/20221020_145304.svg b/lcc/pylcc/inject/sysHigh/20221020_145304.svg deleted file mode 100644 index d214736..0000000 --- a/lcc/pylcc/inject/sysHigh/20221020_145304.svg +++ /dev/null @@ -1,515 +0,0 @@ - - - - - - - - - - - - - sysHigh for cpu 0 - - Reset Zoom - Search - - - - total - total (catch 552 samples, 100.000000% from root, 100.000000% from parent) - - total - - - x86_64_start_kernel - x86_64_start_kernel (catch 138 samples, 25.000000% from root, 25.000000% from parent) - - x86_64_start_kernel - - - x86_64_start_reservations - x86_64_start_reservations (catch 138 samples, 25.000000% from root, 100.000000% from parent) - - x86_64_start_reservations - - - start_kernel - start_kernel (catch 138 samples, 25.000000% from root, 100.000000% from parent) - - start_kernel - - - rest_init - rest_init (catch 138 samples, 25.000000% from root, 100.000000% from parent) - - rest_init - - - cpu_startup_entry - cpu_startup_entry (catch 138 samples, 25.000000% from root, 100.000000% from parent) - - cpu_startup_entry - - - default_idle_call - default_idle_call (catch 138 samples, 25.000000% from root, 100.000000% from parent) - - default_idle_call - - - arch_cpu_idle - arch_cpu_idle (catch 138 samples, 25.000000% from root, 100.000000% from parent) - - arch_cpu_idle - - - default_idle - default_idle (catch 138 samples, 25.000000% from root, 100.000000% from parent) - - default_idle - - - reschedule_interrupt - reschedule_interrupt (catch 1 samples, 0.181159% from root, 0.724638% from parent) - - - - - smp_reschedule_interrupt - smp_reschedule_interrupt (catch 1 samples, 0.181159% from root, 100.000000% from parent) - - - - - irq_exit - irq_exit (catch 1 samples, 0.181159% from root, 100.000000% from parent) - - - - - startup_64 - startup_64 (catch 1 samples, 0.181159% from root, 100.000000% from parent) - - - - - native_safe_halt - native_safe_halt (catch 137 samples, 24.818841% from root, 99.275362% from parent) - - native_safe_halt - - - entry_SYSCALL_64_after_swapgs - entry_SYSCALL_64_after_swapgs (catch 414 samples, 75.000000% from root, 75.000000% from parent) - - entry_SYSCALL_64_after_swapgs - - - do_syscall_64 - do_syscall_64 (catch 414 samples, 75.000000% from root, 100.000000% from parent) - - do_syscall_64 - - - sys_write - sys_write (catch 414 samples, 75.000000% from root, 100.000000% from parent) - - sys_write - - - vfs_write - vfs_write (catch 414 samples, 75.000000% from root, 100.000000% from parent) - - vfs_write - - - __vfs_write - __vfs_write (catch 414 samples, 75.000000% from root, 100.000000% from parent) - - __vfs_write - - - proc_reg_write - proc_reg_write (catch 414 samples, 75.000000% from root, 100.000000% from parent) - - proc_reg_write - - - sys_high_write [sys_high] - sys_high_write [sys_high] (catch 414 samples, 75.000000% from root, 100.000000% from parent) - - sys_high_write [sys_high] - - - apic_timer_interrupt - apic_timer_interrupt (catch 8 samples, 1.449275% from root, 1.932367% from parent) - - - - - smp_apic_timer_interrupt - smp_apic_timer_interrupt (catch 8 samples, 1.449275% from root, 100.000000% from parent) - - - - - irq_exit - irq_exit (catch 8 samples, 1.449275% from root, 100.000000% from parent) - - - - - __do_softirq - __do_softirq (catch 7 samples, 1.268116% from root, 87.500000% from parent) - - - - - _raw_spin_lock_irq - _raw_spin_lock_irq (catch 1 samples, 0.181159% from root, 14.285714% from parent) - - - - - run_timer_softirq - run_timer_softirq (catch 1 samples, 0.181159% from root, 12.500000% from parent) - - - - - sys_high_store [sys_high] - sys_high_store [sys_high] (catch 406 samples, 73.550725% from root, 98.067633% from parent) - - sys_high_store [sys_high] - - - \ No newline at end of file diff --git a/lcc/pylcc/inject/sysHigh/Makefile b/lcc/pylcc/inject/sysHigh/Makefile deleted file mode 100644 index d26e63e..0000000 --- a/lcc/pylcc/inject/sysHigh/Makefile +++ /dev/null @@ -1,21 +0,0 @@ -obj-m += sys_high.o - -ifneq ($(KERNELVER),) - KERNELDIR := /usr/src/kernels/$(KERNELVER) -endif - -ifeq ($(KERNELDIR),) - KERNELDIR := /lib/modules/$(shell uname -r)/build -endif -PWD := $(shell pwd) -all: - $(MAKE) -C $(KERNELDIR) M=$(PWD) modules - -clean: - rm -rf *.ko *.mod* *.o modules.* Module.symvers - -install: - insmod sys_high.ko - -remove: - rmmod sys_high \ No newline at end of file diff --git a/lcc/pylcc/inject/sysHigh/fly.py b/lcc/pylcc/inject/sysHigh/fly.py deleted file mode 100644 index ccc046f..0000000 --- a/lcc/pylcc/inject/sysHigh/fly.py +++ /dev/null @@ -1,60 +0,0 @@ -# -*- coding: utf-8 -*- -""" -------------------------------------------------- - File Name: fly - Description : - Author : liaozhaoyan - date: 2022/10/27 -------------------------------------------------- - Change Activity: - 2022/10/27: -------------------------------------------------- -""" -__author__ = 'liaozhaoyan' - -import os -import time -import random -from multiprocessing import Process - - -PROC_FILE = "/proc/coolbpf/sys_fly" - - -class CworkThread(Process): - def __init__(self): - super(CworkThread, self).__init__() - self.start() - - def run(self): - while True: - fd = os.open(PROC_FILE, os.O_RDWR) - p, v = os.read(fd, 64).decode().split(':') - v = int(v) + 1 - os.write(fd, "%d".encode() % v) - os.close(fd) - - time.sleep(1) - - -class CnoiseThread(Process): - def __init__(self): - super(CnoiseThread, self).__init__() - self.start() - - def run(self): - while True: - time.sleep(random.randint(15, 30)) - fd = os.open(PROC_FILE, os.O_RDWR) - p, v = os.read(fd, 64).decode().split(':') - v = int(v) + 10 - os.write(fd, "%d".encode() % v) - os.close(fd) - - -if __name__ == "__main__": - w = CworkThread() - n = CnoiseThread() - w.join() - n.join() - pass diff --git a/lcc/pylcc/inject/sysHigh/inject.py b/lcc/pylcc/inject/sysHigh/inject.py deleted file mode 100644 index 8026cfa..0000000 --- a/lcc/pylcc/inject/sysHigh/inject.py +++ /dev/null @@ -1,56 +0,0 @@ -# -*- coding: utf-8 -*- -""" -------------------------------------------------- - File Name: inject.py - Description : - Author : liaozhaoyan - date: 2022/10/20 -------------------------------------------------- - Change Activity: - 2022/10/20: -------------------------------------------------- -""" -__author__ = 'liaozhaoyan' - -import time -import argparse - - -class Cinject(object): - def __init__(self, interval, loop, total): - super(Cinject, self).__init__() - self._interval = interval - self._loop = loop - self._total = total - - def _inject(self): - with open("/proc/coolbpf/sys_high", "w") as f: - f.write("%d" % self._loop) - - def work(self): - start = time.time() - for i in range(self._total): - self._inject() - time.sleep(self._interval) - end = time.time() - print("test use %f seconds." % (end - start)) - - -if __name__ == "__main__": - examples = """examples: python inject -i 0.5 -l 1000000 -t 100""" - - parser = argparse.ArgumentParser( - description="inject sys high.", - formatter_class=argparse.RawDescriptionHelpFormatter, - epilog=examples - ) - parser.add_argument('-i', '--interval', type=float, dest='interval', default=0.1, - help='set injecting interval time, uint second.') - parser.add_argument('-l', '--loop', type=int, dest='loop', default=10000, - help='set kernel loops.') - parser.add_argument('-t', '--total', type=int, dest='total', default=100, - help='set total inject times.') - args = parser.parse_args() - inj = Cinject(args.interval, args.loop, args.total) - inj.work() - pass diff --git a/lcc/pylcc/inject/sysHigh/mem.json b/lcc/pylcc/inject/sysHigh/mem.json deleted file mode 100644 index c48d2a6..0000000 --- a/lcc/pylcc/inject/sysHigh/mem.json +++ /dev/null @@ -1 +0,0 @@ -[{"name": "11030", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 0, "tid": "python:15237", "ph": "B"}, {"name": "11030", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 1001302}, {"name": "11031", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 1001302, "tid": "python:15237", "ph": "B"}, {"name": "11031", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 2002607}, {"name": "11032", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 2002607, "tid": "python:15237", "ph": "B"}, {"name": "11032", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 3003935}, {"name": "11033", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 3003935, "tid": "python:15237", "ph": "B"}, {"name": "11033", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 4005213}, {"name": "11034", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 4005213, "tid": "python:15237", "ph": "B"}, {"name": "11034", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 5006511}, {"name": "11035", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 5006511, "tid": "python:15237", "ph": "B"}, {"name": "11035", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 6007797}, {"name": "11036", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 6007797, "tid": "python:15237", "ph": "B"}, {"name": "11036", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 7009042}, {"name": "11037", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 7009042, "tid": "python:15237", "ph": "B"}, {"name": "11037", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 8010328}, {"name": "11038", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 8010328, "tid": "python:15237", "ph": "B"}, {"name": "11038", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 9002505}, {"name": "11048", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 9002505, "tid": "python:15238", "ph": "B"}, {"name": "11048", "tid": "python:15238", "ph": "E", "pid": "mem", "ts": 9011529}, {"name": "11049", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 9011529, "tid": "python:15237", "ph": "B"}, {"name": "11049", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 10012828}, {"name": "11050", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 10012828, "tid": "python:15237", "ph": "B"}, {"name": "11050", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 11014120}, {"name": "11051", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 11014120, "tid": "python:15237", "ph": "B"}, {"name": "11051", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 12015429}, {"name": "11052", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 12015429, "tid": "python:15237", "ph": "B"}, {"name": "11052", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 13016726}, {"name": "11053", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 13016726, "tid": "python:15237", "ph": "B"}, {"name": "11053", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 14018019}, {"name": "11054", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 14018019, "tid": "python:15237", "ph": "B"}, {"name": "11054", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 15019308}, {"name": "11055", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 15019308, "tid": "python:15237", "ph": "B"}, {"name": "11055", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 16020634}, {"name": "11056", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 16020634, "tid": "python:15237", "ph": "B"}, {"name": "11056", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 17022030}, {"name": "11057", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 17022030, "tid": "python:15237", "ph": "B"}, {"name": "11057", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 18023363}, {"name": "11058", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 18023363, "tid": "python:15237", "ph": "B"}, {"name": "11058", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 19024786}, {"name": "11059", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 19024786, "tid": "python:15237", "ph": "B"}, {"name": "11059", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 20026219}, {"name": "11060", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 20026219, "tid": "python:15237", "ph": "B"}, {"name": "11060", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 21027583}, {"name": "11061", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 21027583, "tid": "python:15237", "ph": "B"}, {"name": "11061", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 22028935}, {"name": "11062", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 22028935, "tid": "python:15237", "ph": "B"}, {"name": "11062", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 23030257}, {"name": "11063", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 23030257, "tid": "python:15237", "ph": "B"}, {"name": "11063", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 24004091}, {"name": "11073", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 24004091, "tid": "python:15238", "ph": "B"}, {"name": "11073", "tid": "python:15238", "ph": "E", "pid": "mem", "ts": 24031475}, {"name": "11074", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 24031475, "tid": "python:15237", "ph": "B"}, {"name": "11074", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 25032758}, {"name": "11075", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 25032758, "tid": "python:15237", "ph": "B"}, {"name": "11075", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 26034088}, {"name": "11076", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 26034088, "tid": "python:15237", "ph": "B"}, {"name": "11076", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 27035415}, {"name": "11077", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 27035415, "tid": "python:15237", "ph": "B"}, {"name": "11077", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 28036704}, {"name": "11078", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 28036704, "tid": "python:15237", "ph": "B"}, {"name": "11078", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 29038018}, {"name": "11079", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 29038018, "tid": "python:15237", "ph": "B"}, {"name": "11079", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 30039320}, {"name": "11080", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 30039320, "tid": "python:15237", "ph": "B"}, {"name": "11080", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 31040694}, {"name": "11081", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 31040694, "tid": "python:15237", "ph": "B"}, {"name": "11081", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 32042000}, {"name": "11082", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 32042000, "tid": "python:15237", "ph": "B"}, {"name": "11082", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 33043317}, {"name": "11083", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 33043317, "tid": "python:15237", "ph": "B"}, {"name": "11083", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 34044610}, {"name": "11084", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 34044610, "tid": "python:15237", "ph": "B"}, {"name": "11084", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 35045968}, {"name": "11085", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 35045968, "tid": "python:15237", "ph": "B"}, {"name": "11085", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 36046978}, {"name": "11086", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 36046978, "tid": "python:15237", "ph": "B"}, {"name": "11086", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 37048272}, {"name": "11087", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 37048272, "tid": "python:15237", "ph": "B"}, {"name": "11087", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 38049577}, {"name": "11088", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 38049577, "tid": "python:15237", "ph": "B"}, {"name": "11088", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 39050891}, {"name": "11089", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 39050891, "tid": "python:15237", "ph": "B"}, {"name": "11089", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 40052181}, {"name": "11090", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 40052181, "tid": "python:15237", "ph": "B"}, {"name": "11090", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 41053476}, {"name": "11091", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 41053476, "tid": "python:15237", "ph": "B"}, {"name": "11091", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 42054767}, {"name": "11092", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 42054767, "tid": "python:15237", "ph": "B"}, {"name": "11092", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 43056104}, {"name": "11093", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 43056104, "tid": "python:15237", "ph": "B"}, {"name": "11093", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 44057011}, {"name": "11094", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 44057011, "tid": "python:15237", "ph": "B"}, {"name": "11094", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 45025406}, {"name": "11104", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 45025406, "tid": "python:15238", "ph": "B"}, {"name": "11104", "tid": "python:15238", "ph": "E", "pid": "mem", "ts": 45058261}, {"name": "11105", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 45058261, "tid": "python:15237", "ph": "B"}, {"name": "11105", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 46059564}, {"name": "11106", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 46059564, "tid": "python:15237", "ph": "B"}, {"name": "11106", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 47060887}, {"name": "11107", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 47060887, "tid": "python:15237", "ph": "B"}, {"name": "11107", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 48061895}, {"name": "11108", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 48061895, "tid": "python:15237", "ph": "B"}, {"name": "11108", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 49063204}, {"name": "11109", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 49063204, "tid": "python:15237", "ph": "B"}, {"name": "11109", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 50063778}, {"name": "11110", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 50063778, "tid": "python:15237", "ph": "B"}, {"name": "11110", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 51065158}, {"name": "11111", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 51065158, "tid": "python:15237", "ph": "B"}, {"name": "11111", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 52066498}, {"name": "11112", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 52066498, "tid": "python:15237", "ph": "B"}, {"name": "11112", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 53067788}, {"name": "11113", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 53067788, "tid": "python:15237", "ph": "B"}, {"name": "11113", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 54069098}, {"name": "11114", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 54069098, "tid": "python:15237", "ph": "B"}, {"name": "11114", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 55070408}, {"name": "11115", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 55070408, "tid": "python:15237", "ph": "B"}, {"name": "11115", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 56071719}, {"name": "11116", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 56071719, "tid": "python:15237", "ph": "B"}, {"name": "11116", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 57073028}, {"name": "11117", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 57073028, "tid": "python:15237", "ph": "B"}, {"name": "11117", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 58074009}, {"name": "11118", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 58074009, "tid": "python:15237", "ph": "B"}, {"name": "11118", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 59074970}, {"name": "11119", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 59074970, "tid": "python:15237", "ph": "B"}, {"name": "11119", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 60075715}, {"name": "11120", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 60075715, "tid": "python:15237", "ph": "B"}, {"name": "11120", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 61077019}, {"name": "11121", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 61077019, "tid": "python:15237", "ph": "B"}, {"name": "11121", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 62078316}, {"name": "11122", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 62078316, "tid": "python:15237", "ph": "B"}, {"name": "11122", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 63079676}, {"name": "11123", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 63079676, "tid": "python:15237", "ph": "B"}, {"name": "11123", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 64080996}, {"name": "11124", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 64080996, "tid": "python:15237", "ph": "B"}, {"name": "11124", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 65082290}, {"name": "11125", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 65082290, "tid": "python:15237", "ph": "B"}, {"name": "11125", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 66046727}, {"name": "11135", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 66046727, "tid": "python:15238", "ph": "B"}, {"name": "11135", "tid": "python:15238", "ph": "E", "pid": "mem", "ts": 66083521}, {"name": "11136", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 66083521, "tid": "python:15237", "ph": "B"}, {"name": "11136", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 67084847}, {"name": "11137", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 67084847, "tid": "python:15237", "ph": "B"}, {"name": "11137", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 68086149}, {"name": "11138", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 68086149, "tid": "python:15237", "ph": "B"}, {"name": "11138", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 69087482}, {"name": "11139", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 69087482, "tid": "python:15237", "ph": "B"}, {"name": "11139", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 70088794}, {"name": "11140", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 70088794, "tid": "python:15237", "ph": "B"}, {"name": "11140", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 71090108}, {"name": "11141", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 71090108, "tid": "python:15237", "ph": "B"}, {"name": "11141", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 72091409}, {"name": "11142", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 72091409, "tid": "python:15237", "ph": "B"}, {"name": "11142", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 73092720}, {"name": "11143", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 73092720, "tid": "python:15237", "ph": "B"}, {"name": "11143", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 74094024}, {"name": "11144", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 74094024, "tid": "python:15237", "ph": "B"}, {"name": "11144", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 75095325}, {"name": "11145", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 75095325, "tid": "python:15237", "ph": "B"}, {"name": "11145", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 76096708}, {"name": "11146", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 76096708, "tid": "python:15237", "ph": "B"}, {"name": "11146", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 77098036}, {"name": "11147", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 77098036, "tid": "python:15237", "ph": "B"}, {"name": "11147", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 78099359}, {"name": "11148", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 78099359, "tid": "python:15237", "ph": "B"}, {"name": "11148", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 79100750}, {"name": "11149", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 79100750, "tid": "python:15237", "ph": "B"}, {"name": "11149", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 80102121}, {"name": "11150", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 80102121, "tid": "python:15237", "ph": "B"}, {"name": "11150", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 81103442}, {"name": "11151", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 81103442, "tid": "python:15237", "ph": "B"}, {"name": "11151", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 82104757}, {"name": "11152", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 82104757, "tid": "python:15237", "ph": "B"}, {"name": "11152", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 83106123}, {"name": "11153", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 83106123, "tid": "python:15237", "ph": "B"}, {"name": "11153", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 84107458}, {"name": "11154", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 84107458, "tid": "python:15237", "ph": "B"}, {"name": "11154", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 85108769}, {"name": "11155", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 85108769, "tid": "python:15237", "ph": "B"}, {"name": "11155", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 86110099}, {"name": "11156", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 86110099, "tid": "python:15237", "ph": "B"}, {"name": "11156", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 87111407}, {"name": "11157", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 87111407, "tid": "python:15237", "ph": "B"}, {"name": "11157", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 88112742}, {"name": "11158", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 88112742, "tid": "python:15237", "ph": "B"}, {"name": "11158", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 89114077}, {"name": "11159", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 89114077, "tid": "python:15237", "ph": "B"}, {"name": "11159", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 90115498}, {"name": "11160", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 90115498, "tid": "python:15237", "ph": "B"}, {"name": "11160", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 91116927}, {"name": "11161", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 91116927, "tid": "python:15237", "ph": "B"}, {"name": "11161", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 92118286}, {"name": "11162", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 92118286, "tid": "python:15237", "ph": "B"}, {"name": "11162", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 93074099}, {"name": "11172", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 93074099, "tid": "python:15238", "ph": "B"}, {"name": "11172", "tid": "python:15238", "ph": "E", "pid": "mem", "ts": 93119626}, {"name": "11173", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 93119626, "tid": "python:15237", "ph": "B"}, {"name": "11173", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 94120996}, {"name": "11174", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 94120996, "tid": "python:15237", "ph": "B"}, {"name": "11174", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 95122317}, {"name": "11175", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 95122317, "tid": "python:15237", "ph": "B"}, {"name": "11175", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 96123628}, {"name": "11176", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 96123628, "tid": "python:15237", "ph": "B"}, {"name": "11176", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 97124959}, {"name": "11177", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 97124959, "tid": "python:15237", "ph": "B"}, {"name": "11177", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 98126249}, {"name": "11178", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 98126249, "tid": "python:15237", "ph": "B"}, {"name": "11178", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 99127568}, {"name": "11179", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 99127568, "tid": "python:15237", "ph": "B"}, {"name": "11179", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 100128924}, {"name": "11180", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 100128924, "tid": "python:15237", "ph": "B"}, {"name": "11180", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 101130240}, {"name": "11181", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 101130240, "tid": "python:15237", "ph": "B"}, {"name": "11181", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 102131555}, {"name": "11182", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 102131555, "tid": "python:15237", "ph": "B"}, {"name": "11182", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 103132882}, {"name": "11183", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 103132882, "tid": "python:15237", "ph": "B"}, {"name": "11183", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 104134187}, {"name": "11184", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 104134187, "tid": "python:15237", "ph": "B"}, {"name": "11184", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 105135519}, {"name": "11185", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 105135519, "tid": "python:15237", "ph": "B"}, {"name": "11185", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 106136851}, {"name": "11186", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 106136851, "tid": "python:15237", "ph": "B"}, {"name": "11186", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 107138159}, {"name": "11187", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 107138159, "tid": "python:15237", "ph": "B"}, {"name": "11187", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 108139467}, {"name": "11188", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 108139467, "tid": "python:15237", "ph": "B"}, {"name": "11188", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 109140752}, {"name": "11189", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 109140752, "tid": "python:15237", "ph": "B"}, {"name": "11189", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 110142064}, {"name": "11190", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 110142064, "tid": "python:15237", "ph": "B"}, {"name": "11190", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 111143373}, {"name": "11191", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 111143373, "tid": "python:15237", "ph": "B"}, {"name": "11191", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 112144687}, {"name": "11192", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 112144687, "tid": "python:15237", "ph": "B"}, {"name": "11192", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 113146003}, {"name": "11193", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 113146003, "tid": "python:15237", "ph": "B"}, {"name": "11193", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 114147306}, {"name": "11194", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 114147306, "tid": "python:15237", "ph": "B"}, {"name": "11194", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 115148628}, {"name": "11195", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 115148628, "tid": "python:15237", "ph": "B"}, {"name": "11195", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 116149956}, {"name": "11196", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 116149956, "tid": "python:15237", "ph": "B"}, {"name": "11196", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 117095063}, {"name": "11206", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 117095063, "tid": "python:15238", "ph": "B"}, {"name": "11206", "tid": "python:15238", "ph": "E", "pid": "mem", "ts": 117151184}, {"name": "11207", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 117151184, "tid": "python:15237", "ph": "B"}, {"name": "11207", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 118152490}, {"name": "11208", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 118152490, "tid": "python:15237", "ph": "B"}, {"name": "11208", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 119153800}, {"name": "11209", "args": {"stacks": "_kstrtoull\nkstrtoull_from_user\nsys_fly_write [sys_high]"}, "pid": "mem", "ts": 119153800, "tid": "python:15237", "ph": "B"}, {"name": "11209", "tid": "python:15237", "ph": "E", "pid": "mem", "ts": 119153801}] \ No newline at end of file diff --git a/lcc/pylcc/inject/sysHigh/proc_def.h b/lcc/pylcc/inject/sysHigh/proc_def.h deleted file mode 100644 index ca12bfd..0000000 --- a/lcc/pylcc/inject/sysHigh/proc_def.h +++ /dev/null @@ -1,34 +0,0 @@ -#ifndef PROC_DEF_H -#define PROC_DEF_H -#include -#include - -#define DEFINE_PROC_ATTRIBUTE(name, __write) \ - static int name##_open(struct inode *inode, struct file *file) \ - { \ - return single_open(file, name##_show, PDE_DATA(inode)); \ - } \ - \ - static const struct file_operations name##_fops = { \ - .owner = THIS_MODULE, \ - .open = name##_open, \ - .read = seq_read, \ - .write = __write, \ - .llseek = seq_lseek, \ - .release = single_release, \ - } - -#define DEFINE_PROC_ATTRIBUTE_RW(name) \ - static ssize_t name##_write(struct file *file, \ - const char __user *buf, \ - size_t count, loff_t *ppos) \ - { \ - return name##_store(PDE_DATA(file_inode(file)), buf, \ - count); \ - } \ - DEFINE_PROC_ATTRIBUTE(name, name##_write) - -#define DEFINE_PROC_ATTRIBUTE_RO(name) \ - DEFINE_PROC_ATTRIBUTE(name, NULL) - -#endif \ No newline at end of file diff --git a/lcc/pylcc/inject/sysHigh/sys_high.c b/lcc/pylcc/inject/sysHigh/sys_high.c deleted file mode 100644 index b8290cf..0000000 --- a/lcc/pylcc/inject/sysHigh/sys_high.c +++ /dev/null @@ -1,88 +0,0 @@ -#include -#include -#include -#include "proc_def.h" - -#define PROC_PATH "coolbpf" - -static int sys_high_show(struct seq_file *m, void *ptr) -{ - seq_printf(m, "%llu\n", 0ULL); - return 0; -} - -static ssize_t __attribute__((optimize("O0"))) sys_high_store(void *priv, const char __user *buf, size_t count) -{ - u64 val; - u64 i, j; - - if (kstrtou64_from_user(buf, count, 0, &val)) - return -EINVAL; - - for (i = 0; i < val; i ++) - for (j = 0; j < val; j ++); - return count; -} -DEFINE_PROC_ATTRIBUTE_RW(sys_high); - -static u64* sys_fly_var = NULL; -static int sys_fly_show(struct seq_file *m, void *ptr) -{ - seq_printf(m, "0x%llx: %llu\n", (u64)sys_fly_var, *sys_fly_var); - return 0; -} - -static ssize_t sys_fly_store(void *priv, const char __user *buf, size_t count) -{ - if (kstrtou64_from_user(buf, count, 0, sys_fly_var)) - return -EINVAL; - - return count; -} -DEFINE_PROC_ATTRIBUTE_RW(sys_fly); - -static int __init sys_high_init(void) -{ - int ret; - struct proc_dir_entry *root_dir = NULL; - - root_dir = proc_mkdir(PROC_PATH, NULL); - if (!root_dir) { - ret = -ENOMEM; - } - - if (!proc_create("sys_high", S_IRUSR | S_IWUSR, root_dir, - &sys_high_fops)){ - ret = -ENOMEM; - goto remove_proc; - } - - sys_fly_var = (u64*)kmalloc(sizeof(u64), GFP_KERNEL); - *sys_fly_var = 0ULL; - if (sys_fly_var == NULL) { - ret = -ENOMEM; - goto remove_proc; - } - if (!proc_create("sys_fly", S_IRUSR | S_IWUSR, root_dir, - &sys_fly_fops)){ - ret = -ENOMEM; - goto free_var; - } - return 0; - -free_var: - kfree(sys_fly_var); -remove_proc: - remove_proc_subtree(PROC_PATH, NULL); - return -ret; -} - -static void __exit sys_high_exit(void) -{ - kfree(sys_fly_var); - remove_proc_subtree(PROC_PATH, NULL); -} - -module_init(sys_high_init); -module_exit(sys_high_exit); -MODULE_LICENSE("GPL"); diff --git a/lcc/pylcc/lib/__init__.py b/lcc/pylcc/lib/__init__.py deleted file mode 100644 index 0322d06..0000000 --- a/lcc/pylcc/lib/__init__.py +++ /dev/null @@ -1,18 +0,0 @@ -# -*- coding: utf-8 -*- -""" -------------------------------------------------- - File Name: __init__.py - Description : - Author : liaozhaoyan - date: 2021/7/15 -------------------------------------------------- - Change Activity: - 2021/7/15: -------------------------------------------------- -""" -__author__ = 'liaozhaoyan' -from .lbcMaps import * -from .lbcBase import * - -if __name__ == "__main__": - pass diff --git a/lcc/pylcc/lib/clcc.py b/lcc/pylcc/lib/clcc.py deleted file mode 100644 index 83a3139..0000000 --- a/lcc/pylcc/lib/clcc.py +++ /dev/null @@ -1,53 +0,0 @@ -# -*- coding: utf-8 -*- -""" -------------------------------------------------- - File Name: clcc - Description : - Author : liaozhaoyan - date: 2022/6/12 -------------------------------------------------- - Change Activity: - 2022/6/12: -------------------------------------------------- -""" -__author__ = 'liaozhaoyan' - -from .lbcBase import ClbcLoad -import argparse - -examples = """examples:""" - - -def main(): - parser = argparse.ArgumentParser( - description="compile libbpf app from remote server.", - formatter_class=argparse.RawDescriptionHelpFormatter, - epilog=examples - ) - - parser.add_argument('-f', '--file', type=str, dest='file', default="", help='set file to compile.') - parser.add_argument('-e', '--env', type=str, dest='env', default="", help='set compile env.') - parser.add_argument('-a', '--arch', type=str, dest='arch', default="", help='set architecture.') - parser.add_argument('-v', '--version', type=str, dest='ver', default="", help='set kernel version.') - parser.add_argument('-i', '--include', type=str, dest='inc', default=None, help='set include path.') - parser.add_argument('-o', '--obj', dest='obj', default=False, action="store_true", help='compile object file only.') - parser.set_defaults(obj=False) - - args = parser.parse_args() - if args.file == "": - parser.print_help() - raise ValueError("need to set **.bpf.c file to compile.") - if "/" in args.file: - raise ValueError("The file name cannot contain a directory(/).") - if args.obj: - opt = "obj" - else: - opt = "so" - ClbcLoad(args.file, arch=args.arch, - ver=args.ver, incPath=args.inc, - env=args.env, opt=opt, btf=False) - - -if __name__ == "__main__": - main() - pass \ No newline at end of file diff --git a/lcc/pylcc/lib/lbcBase.py b/lcc/pylcc/lib/lbcBase.py deleted file mode 100644 index 60220cb..0000000 --- a/lcc/pylcc/lib/lbcBase.py +++ /dev/null @@ -1,513 +0,0 @@ -# -*- coding: utf-8 -*- -# cython:language_level=3 -""" -------------------------------------------------- - File Name: lbcBase - Description : - Author : liaozhaoyan - date: 2021/7/20 -------------------------------------------------- - Change Activity: - 2021/7/20: -------------------------------------------------- -""" -__author__ = 'liaozhaoyan' - -import sys -import os -import json -import hashlib -import signal -import cffi -from threading import Thread -from multiprocessing import cpu_count -from pylcc.lbcMaps import mapsDict -from surftrace.execCmd import CexecCmd -from surftrace.surfException import InvalidArgsException, RootRequiredException, FileNotExistException, DbException -from surftrace.lbcClient import ClbcClient, segDecode -from surftrace.surfCommon import taskList -from surftrace.uprobeParser import CuprobeParser -from pylcc.lbcInclude import ClbcInclude -from pylcc.perfEvent import * - -LBC_COMPILE_PORT = 7655 - - -def getCwd(pathStr): - return os.path.split(os.path.realpath(pathStr))[0] - - -class ClbcLoad(object): - def __init__(self, bpf, bpf_str="", - server="pylcc.openanolis.cn", - arch="", ver="", env="", - workPath=None, incPath=None, - logLevel=-1, btf=True, - opt="so", - ): - if "LBC_SERVER" in os.environ: - server = os.environ["LBC_SERVER"] - if "LBC_LOGLEVEL" in os.environ: - logLevel = int(os.environ["LBC_LOGLEVEL"]) - if workPath: - self._wPath = workPath - else: - self._wPath = os.getcwd() - self._incPath = incPath - - super(ClbcLoad, self).__init__() - - self._ffi = cffi.FFI() - self._so = None - self._need_deinit = False - self._server = server - self._c = CexecCmd() - if btf: - self._checkRoot() - self._env = env - self._logLevel = logLevel - - if ver == "": - ver = self._c.cmd('uname -r') - if arch == "": - arch = self._c.cmd('uname -m') - - if btf: - self._checkBtf(ver, arch) - if bpf.endswith(".bpf.c"): - bpf = bpf[:-6] - if opt == "so": - self._getSo(bpf, bpf_str, ver, arch) - elif opt == "obj": - self._compileObj(bpf, bpf_str, ver, arch) - elif opt == "combine": - pass - - def __del__(self): - if self._so: - self._closeSo() - - def _deinitSo(self): - self._checkSo() - self._so.lbc_bpf_exit() - self._need_deinit = False - - def _closeSo(self): - if self._need_deinit: - self._deinitSo() - self._ffi.dlclose(self._so) - - def _checkBtf(self, ver, arch): - if os.path.exists('/sys/kernel/btf/vmlinux'): - return - name = "/boot/vmlinux-%s" % ver - if not os.path.exists(name): - cli = ClbcClient(server=self._server, ver=ver, arch=arch) - dRecv = cli.getBtf() - if dRecv['btf'] is None: - print("get btf failed, log is:\n%s" % dRecv['log']) - raise InvalidArgsException("get btf failed.") - print("get btf from remote success.") - with open(name, 'wb') as f: - f.write(segDecode(dRecv['btf'])) - - def _setupSoName(self, bpf): - return self._wPath + '/' + bpf + ".so" - - def _setUpCode(self, bpf, s): - if s == "": - bpf_c = self._wPath + '/' + bpf + ".bpf.c" - if os.path.exists(bpf_c): - with open(bpf_c, "r") as f: - s = f.read() - - def _getSo(self, bpf, s, ver, arch): - bpf_so = self._setupSoName(bpf) - - if s == "": - bpf_c = self._wPath + '/' + bpf + ".bpf.c" - if os.path.exists(bpf_c): - with open(bpf_c, "r") as f: - s = f.read() - need = self._checkStrCompile(s, bpf_so, ver, arch) - if need: - self._compileSo(s, bpf_so, ver, arch) - - def _checkCCompile(self, bpf_c, bpf_so, ver, arch): - cFlag = os.path.exists(bpf_c) - oFlag = os.path.exists(bpf_so) - if not (cFlag or oFlag): # is not exist - raise FileNotExistException("bpf.c or so is not in this dictionary.") - elif not oFlag and cFlag: # only bpf.c - return True - elif oFlag and not cFlag: # only so, should check version - if self._checkVer(bpf_so, ver, arch): - raise FileNotExistException("bad bpf.so and not bpf.c") - return False - else: # both bpf.c and bo, check hash and version - with open(bpf_c, "r") as f: - s = f.read() - s += self._env - if sys.version_info.major >= 3: - cHash = hashlib.sha256(s.encode()).hexdigest() - else: - cHash = hashlib.sha256(s).hexdigest() - if self._checkHash(bpf_so, cHash): - return True - return self._checkVer(bpf_so, ver, arch) - - def _checkStrCompile(self, s, bpf_so, ver, arch): - oFlag = os.path.exists(bpf_so) - if not oFlag: # only string - return True - elif s == "": # only so, no string. - return False - else: # both bpf.c and bo, check hash and version - s = self._combineSource(s) - s += self._env - if sys.version_info.major >= 3: - cHash = hashlib.sha256(s.encode()).hexdigest() - else: - cHash = hashlib.sha256(s).hexdigest() - if self._checkHash(bpf_so, cHash): - return True - return self._checkVer(bpf_so, ver, arch) - - def _parseVer(self, ver): - major, minor, _ = ver.split(".", 2) - return major - - def _checkVer(self, bpf_so, ver, arch): - """if should compile return ture, else return false""" - try: - self._so = self._ffi.dlopen(bpf_so) - except (OSError, FileNotFoundError): - return True - soVer = self._loadDesc()['kern_version'] - self._closeSo() - - soMajor = self._parseVer(soVer) - hMajor = self._parseVer(ver) - return (int(soMajor) > 3) ^ (int(hMajor) > 3) - - def _checkHash(self, bpf_so, cHash): - """if should compile return ture, else return false""" - try: - self._so = self._ffi.dlopen(bpf_so) - except (OSError, FileNotFoundError): - return True - self._ffi.cdef(self._cdef(), override=True) - soHash = self._loadDesc()['hash'] - self._closeSo() - return not cHash == soHash - - def _checkRoot(self): - cmd = 'whoami' - line = self._c.cmd(cmd).strip() - if line != "root": - raise RootRequiredException('this app need run as root') - - def _combineSource(self, s): - inc = ClbcInclude(self._wPath, self._incPath) - return inc.parse(s) - - def _compileSo(self, s, bpf_so, ver, arch): - cli = ClbcClient(server=self._server, ver=ver, arch=arch, port=LBC_COMPILE_PORT) - dRecv = cli.getC(s, self._env) - if dRecv is None: - raise Exception("receive error") - if dRecv['so'] is None: - print("compile failed, log is:\n%s" % dRecv['clog']) - raise InvalidArgsException("compile failed.") - print("remote server compile success.") - with open(bpf_so, 'wb') as f: - f.write(segDecode(dRecv['so'])) - - def _compileObj(self, bpf, bpf_str, ver, arch): - if bpf_str == "": - cName = bpf + ".bpf.c" - if not os.path.exists(cName): - raise InvalidArgsException("file %s is not exist." % cName) - with open(cName, 'r') as f: - bpf_str = f.read() - - objName = bpf + ".bpf.o" - cli = ClbcClient(server=self._server, ver=ver, arch=arch, port=LBC_COMPILE_PORT) - s = self._combineSource(bpf_str) - dRecv = cli.getObj(s, self._env) - if dRecv is None: - raise Exception("receive error") - if dRecv['obj'] is None: - print("compile failed, log is:\n%s" % dRecv['clog']) - raise InvalidArgsException("compile failed.") - print("remote server compile success.") - with open(objName, 'wb') as f: - f.write(segDecode(dRecv['obj'])) - - def _loadSo(self, bpf_so): - self._so = self._ffi.dlopen(bpf_so) - self._ffi.cdef(self._cdef(), override=True) - - @staticmethod - def _cdef(): - return """ - int lbc_bpf_init(int log_level, int attach); - void lbc_bpf_exit(void); - int lbc_bpf_get_maps_id(char* event); - int lbc_set_event_cb(int id, - void (*cb)(void *ctx, int cpu, void *data, unsigned int size), - void (*lost)(void *ctx, int cpu, unsigned long long cnt)); - int lbc_event_loop(int id, int timeout); - int lbc_map_lookup_elem(int id, const void *key, void *value); - int lbc_map_lookup_elem_flags(int id, void *key, void *value, unsigned long int); - int lbc_map_lookup_and_delete_elem(int id, void *key, void *value); - int lbc_map_delete_elem(int id, void *key); - int lbc_map_update_elem(int id, void *key, void *value); - int lbc_map_get_next_key(int id, void *key, void *next_key); - int lbc_attach_perf_event(char* func, int pfd); - int lbc_attach_kprobe(char* func, char* sym); - int lbc_attach_kretprobe(char* func, char* sym); - int lbc_attach_uprobe(char* func, int pid, char *binary_path, unsigned long func_offset); - int lbc_attach_uretprobe(char* func, int pid, char *binary_path, unsigned long func_offset); - int lbc_attach_tracepoint(char* func, char *tp_category, char *tp_name); - int lbc_attach_raw_tracepoint(char* func, char *tp_name); - int lbc_attach_cgroup(char* func, int cgroup_fd); - int lbc_attach_netns(char* func, int netns); - int lbc_attach_xdp(char* func, int ifindex); - char* lbc_get_map_types(void); - """ - - def _checkSo(self): - if not self._so: - raise InvalidArgsException("so not setup.") - - def _loadDesc(self): - self._checkSo() - desc = self.c2str(self._so.lbc_get_map_types()) - return json.loads(desc) - - def _initSo(self, attach=1): - self._checkSo() - r = self._so.lbc_bpf_init(self._logLevel, attach) - if r != 0: - raise InvalidArgsException("so init failed") - self._need_deinit = True - - def c2str(self, data): - return self._ffi.string(data) - - @staticmethod - def c2list(data): - arr = [] - for i in range(len(data)): - arr.append(data[i]) - return arr - - -class ClbcBase(ClbcLoad): - def __init__(self, bpf, bpf_str="", - server="pylcc.openanolis.cn", - arch="", ver="", env="", - attach=1, workPath=None - ): - super(ClbcBase, self).__init__(bpf, bpf_str, server, arch, ver, - env, workPath=workPath) - bpf_so = self._setupSoName(bpf) - - self._loadSo(bpf_so) - self._initSo(attach) - - self.maps = {} - self._loadMaps() - - self._cbInterrupt = None - - def so(self): - return self._so - - def _loadMaps(self): - d = self._loadDesc() - self._ffi.cdef("\n".join([d['ffi'], self._cdef()]), override=True) - tDict = mapsDict - dMaps = d['maps'] - for k in dMaps.keys(): - t = dMaps[k]['type'] - if t in tDict: - self.maps[k] = tDict[t](self._so, k, dMaps[k], self._ffi) - else: - raise InvalidArgsException("bad type: %s, key: %s" % (t, k)) - - def getMap(self, name, data, size): - try: - return self.maps[name].event(data) - except IndexError: - return None - - # https://man7.org/linux/man-pages/man2/perf_event_open.2.html - def attachPerfEvent(self, function, attrD, pid=0, cpu=-1, group_fd=-1, flags=0): - for k, v in attrD.items(): # json int type not support 64 bit - if type(v) is not str: - try: - attrD[k] = "%d" % v - except TypeError: - print("key %s type is %s, not support, skip." % (k, type(v))) - del attrD[k] - attrs = json.dumps(attrD) - res = self._so.lbc_attach_perf_event(function.encode(), attrs.encode(), pid, cpu, group_fd, flags) - if res != 0: - raise InvalidArgsException("attach %s to perf event failed." % function) - return res - - def attachAllCpuPerf(self, function, attrD, pid=-1, group_fd=-1, flags=0): - nr_cpu = cpu_count() - for i in range(nr_cpu): - self.attachPerfEvent(function, attrD, pid=pid, cpu=i, group_fd=group_fd, flags=flags) - - def attachPerfEvents(self, function, attrD, pid, group_fd=-1, flags=0): - p = taskList(pid) - for pthread in p.threads(): - self.attachPerfEvent(function, attrD, pid=pthread.id, cpu=-1, group_fd=group_fd, flags=flags) - - def attachJavaSym(self, function, pid, symbol): - pFile = "/tmp/perf-%d.map" % pid - if not os.path.exists(pFile): - raise InvalidArgsException("can not find java maps for pid %d." % pid) - - syms = [] - with open(pFile, 'r') as f: - for line in f.readlines(): - start, size, sym = line.split(' ', 2) - d = {"start": int(start, 16), - "size": int(size, 16), - 'sym': sym.strip(), - } - syms.append(d) - - res = None - for symd in syms: - if symd['sym'] == symbol: - res = symd - break - if res is None: - raise InvalidArgsException("symbol %s is not in map." % symbol) - addr = res["start"] + 0x20 - - pfConfig = { - "type": PerfType.BREAKPOINT, - "size": PERF_ATTR_SIZE_VER5, - "sample_period": 1, - "precise_ip": 2, - "wakeup_events": 1, - "bp_type": PerfBreakPointType.X, - "bp_addr": addr, - "bp_len": 8, - } - self.attachPerfEvents(function, pfConfig, pid) - - def attachKprobe(self, function, symbol): - res = self._so.lbc_attach_kprobe(function, symbol) - if res != 0: - raise InvalidArgsException("attach %s to kprobe %s failed." % (function, symbol)) - - def attachKretprobe(self, function, symbol): - res = self._so.lbc_attach_kretprobe(function, symbol) - if res != 0: - raise InvalidArgsException("attach %s to kretprobe %s failed." % (function, symbol)) - - def attachUprobe(self, function, pid, binaryPath, offset=0): - res = self._so.lbc_attach_uprobe(function, pid, binaryPath, offset) - if res != 0: - raise InvalidArgsException("attach %s to uprobe %s failed." % (function, binaryPath)) - - def attachUprobes(self, function, pid, binaryPath, offset=0): - if pid > 0: - p = taskList(pid) - for pthread in p.threads(): - self.attachUprobe(function, pthread.id, binaryPath, offset) - else: - self.attachUprobe(function, pid, binaryPath, offset) - - def attachUretprobe(self, function, pid, binaryPath, offset=0): - res = self._so.lbc_attach_uretprobe(function, pid, binaryPath, offset) - if res != 0: - raise InvalidArgsException("attach %s to uretprobe %s failed." % (function, binaryPath)) - - def attachUretprobes(self, function, pid, binaryPath, offset=0): - if pid > 0: - p = taskList(pid) - for pthread in p.threads(): - self.attachUretprobe(function, pthread.id, binaryPath, offset) - else: - self.attachUretprobe(function, pid, binaryPath, offset) - - def traceUprobes(self, function, pid, fxpr): - binaryPath, func = fxpr.split(":", 1) - parser = CuprobeParser(binaryPath) - fullPath = parser.fullObj() - offset = int(parser.funAddr(func), 16) - print(fullPath, offset) - self.attachUprobes(function, pid, fullPath, offset) - - def traceUretprobes(self, function, pid, fxpr): - binaryPath, func = fxpr.split(":", 1) - parser = CuprobeParser(binaryPath) - fullPath = parser.fullObj() - offset = parser.funAddr(func) - self.attachUretprobes(function, pid, fullPath, offset) - - def attachTracepoint(self, function, category, name): - res = self._so.lbc_attach_tracepoint(function, category, name) - if res != 0: - raise InvalidArgsException("attach %s to trace point %s failed." % (function, name)) - - def attachRawTracepoint(self, function, name): - res = self._so.lbc_attach_raw_tracepoint(function, name) - if res != 0: - raise InvalidArgsException("attach %s to raw trace point %s failed." % (function, name)) - - def attachCgroup(self, function, fd): - res = self._so.lbc_attach_cgroup(function, fd) - if res != 0: - raise InvalidArgsException("attach %s to cgroup %d failed." % (function, fd)) - - def attachNetns(self, function, fd): - res = self._so.lbc_attach_netns(function, fd) - if res != 0: - raise InvalidArgsException("attach %s to netns %d failed." % (function, fd)) - - def attachXdp(self, function, ifindex): - res = self._so.lbc_attach_xdp(function, ifindex) - if res != 0: - raise InvalidArgsException("attach %s to xdp %d failed." % (function, ifindex)) - - def _signalInterrupt(self, signum, frame): - self._cbInterrupt() - - def waitInterrupt(self, cb=None): - if cb: - self._cbInterrupt = cb - signal.signal(signal.SIGINT, self._signalInterrupt) - signal.pause() - - -class CeventThread(Thread): - def __init__(self, lbc, event, cb, lost=None): - super(CeventThread, self).__init__() - self.setDaemon(True) - self._lbc = lbc - self._event = event - self._cb = cb - self.lost = lost - self.start() - - def cb(self, cpu, data, size): - e = self._lbc.getMap(self._event, data, size) - self._cb(cpu, e) - - def run(self): - self._lbc.maps[self._event].open_perf_buffer(self.cb, lost=self.lost) - self._lbc.maps[self._event].perf_buffer_poll() - - -if __name__ == "__main__": - pass diff --git a/lcc/pylcc/lib/lbcInclude.py b/lcc/pylcc/lib/lbcInclude.py deleted file mode 100644 index 82875de..0000000 --- a/lcc/pylcc/lib/lbcInclude.py +++ /dev/null @@ -1,85 +0,0 @@ -# -*- coding: utf-8 -*- -""" -------------------------------------------------- - File Name: lbcInc - Description : - Author : liaozhaoyan - date: 2022/6/10 -------------------------------------------------- - Change Activity: - 2022/6/10: -------------------------------------------------- -""" -__author__ = 'liaozhaoyan' - -import os -import re - -INCLUDE_MAX = 64 - - -class ClbcInclude(object): - def __init__(self, workPath=None, incPath=None): - super(ClbcInclude, self).__init__() - self._reInclude = re.compile(r'^#include *[\<\"].*[\>\"]') - self._reBrackets = re.compile(r'(?<=[\<\"]).+?(?=[\>\"])') - self._loop = 0 - - if workPath is None: - workPath = os.getcwd() - self._incs = [workPath] - - if "LBC_INCLUDE" in os.environ: - incPath = os.environ["LBC_INCLUDE"] + ";" + incPath - if incPath is not None: - paths = incPath.split(';') - for path in paths: - if os.path.exists(path) and os.path.isdir(path): - self._incs.append(os.path.abspath(path)) - else: - print("warning: path %s is not exist, skip.", path) - - def _loadFile(self, fileName): - workDir = os.getcwd() - strInc = None - for path in self._incs: - os.chdir(path) - if os.path.exists(fileName): - with open(fileName, 'r') as fInc: - strInc = fInc.read() - os.chdir(workDir) - - self._loop += 1 - if self._loop > INCLUDE_MAX: - raise ValueError("include %s may nested include.", fileName) - if strInc is None: - raise ValueError("include %s is not exist.", fileName) - return self._parse(strInc) - - def _parse(self, s): - res = [] - lines = s.split('\n') - for line in lines: - r = self._reInclude.search(line) - if r: - fileName = self._reBrackets.search(line).group().strip() - if fileName == "lbc.h": - res.append(line) - else: - res += self._loadFile(fileName) - else: - res.append(line) - return res - - def parse(self, bpfStr): - res = [] - res += self._parse(bpfStr) - return "\n".join(res) - - -if __name__ == "__main__": - inc = ClbcInclude(incPath="/Users/liaozhaoyan/work/sh/c") - with open("test.bpf.c", 'r') as f: - s = f.read() - inc.parse(s) - pass diff --git a/lcc/pylcc/lib/lbcMaps.py b/lcc/pylcc/lib/lbcMaps.py deleted file mode 100644 index e7446a8..0000000 --- a/lcc/pylcc/lib/lbcMaps.py +++ /dev/null @@ -1,458 +0,0 @@ -# -*- coding: utf-8 -*- -# cython:language_level=3 -""" -------------------------------------------------- - File Name: lbcMaps - Description : - Author : liaozhaoyan - date: 2021/7/20 -------------------------------------------------- - Change Activity: - 2021/7/20: -------------------------------------------------- -""" -__author__ = 'liaozhaoyan' - -import sys -try: - from collections.abc import MutableMapping -except ImportError: - from collections import MutableMapping -from surftrace import InvalidArgsException -from surftrace.surfCommon import CsurfList - - -class CffiValue(object): - """ - This is the object container provided for types like structs. - If the numeric type in the data stream is not within python's numeric range, - such as struct union etc, then need a container to load all values. - """ - def __init__(self): - super(CffiValue, self).__init__() - - def __repr__(self): - """ - object native method, show ffi value information. - Returns: - ffi value information - Raises: - None - """ - res = {} - for mem in dir(self): - if mem.startswith("__") and mem.endswith("__"): - # strip object native member - continue - res[mem] = getattr(self, mem) - return str(res) - - -class CffiTrans(object): - """ - This is the conversion class of the FFI interface, - you only need to instantiate the class and call the value member function, - then you will get the native python value from c stream. - """ - if sys.version_info.major == 2: - # long is a data type that can be displayed directly for python2 - _directList = (int, str, float, long) - else: - _directList = (int, str, float) - _cNativeType = ("char", "short", "int", "long", "float", "double", "enum") - - def __init__(self, ffi): - """ - object native method, show ffi value information. - Parameters: - param1 - cffi object to analytical data - Returns: - CffiTrans - """ - super(CffiTrans, self).__init__() - self._ffi = ffi - - def value(self, e): - """ - transform ffi cast stream to python value. - Parameters: - param1 - ffi cast stream - Returns: - python value, may int/string/CffiValue - """ - mems = dir(e) - if len(mems) > 0: # check cast stream contains child nodes - v = self._values(e, mems) - else: - v = self._value(e) - return v - - def _value(self, e): - """ - transform ffi cast stream to python value, single mode. - Parameters: - param1 - ffi cast stream - Returns: - python value, just a single value. - Raise: - ValueError not support type. - """ - sType = self._ffi.getctype(self._ffi.typeof(e)) - cEnd = sType[-1] - if cEnd == "*": # for point and native value - if sType.endswith("* *"): # point - v = self._point(sType[:-2]) - else: - v = self._ffi.unpack(e, 1)[0] - elif cEnd == "]": - v = self._array(e, sType) - else: - raise ValueError("not support type: %s" % sType) - return v - - def _values(self, e, mems): - """ - transform ffi cast stream to python value, multi mode. - Parameters: - param1 - ffi cast stream - param2 - ffi cast stream members - Returns: - CffiValue object. - Raise: - ValueError not support type. - """ - v = CffiValue() - for mem in mems: - vMem = getattr(e, mem) - if type(getattr(e, mem)) in CffiTrans._directList: # direct type - setattr(v, mem, vMem) - else: - tMem = self._ffi.getctype(self._ffi.typeof(vMem)) - cEnd = tMem[-1] # tMem may like struct child *[2], so check by reverse order - if cEnd == ']': # array type at first - setattr(v, mem, self._array(vMem, tMem)) - elif "*" in tMem: # then point type - setattr(v, mem, self._point(tMem)) - elif dir(vMem) > 0: # for struct etc,recursive call value - setattr(v, mem, self.value(vMem)) - else: - raise ValueError("not support type: %s" % tMem, vMem) - return v - - def _array(self, e, tMem): - """ - transform ffi array to python value, parse array size at first. - Parameters: - param1 - ffi cast stream - param2 - ffi member from stream - Returns: - python list - """ - tType, sArr = tMem.split("[", 1) - return self._unpackArry(tType, e, sArr) - - def _unpackArry(self, tType, e, sArr): - """ - unpack ffi array to python value, parse array size at first. - Parameters: - param1 - ffi member type from stream - param2 - ffi cast stream - param3 - size of Array, string type. - Returns: - python list - Raise: - ValueError not support type. - """ - res = None - sNum, remain = sArr.split(']', 1) - num = int(sNum) - if num > 0: # may zero array - res = [] - t = tType.split(" ")[-1] - if len(remain): # multi array, recursive call - for i in range(num): - res.append(self._unpackArry(tType, e[i], remain[1:])) - elif t in CffiTrans._cNativeType: - if tType == "char": # for string - res = self._ffi.string(e) - else: - for i in range(num): # for normal value - res.append(e[i]) - elif "*" in tType: # point - for i in range(num): - res.append(self._point(tType)) - elif dir(e) > 0: # struct? array type - for i in range(num): - res.append(self.value(e[i])) - else: - raise ValueError("not support type: %s" % tType, e) - return res - - @staticmethod - def _point(sType): - """ - show point information. - Parameters: - param1 - ffi cast stream - param2 - ffi member from stream - Returns: - python string to show point info. - """ - res = "point:%s" % sType - return res - - -class CtypeTable(object): - def __init__(self, fType, ffi): - super(CtypeTable, self).__init__() - self._type = fType - self.ffiType = self._setupFfi(self._type) - self.ffiSize = ffi.sizeof(self._type) - self._obj = CffiTrans(ffi) - - self._localData = [] - - @staticmethod - def _setupFfi(s): - if s.endswith("]"): - return s - else: - return s + " *" - - def add(self, data): - self._localData.append(self.load(data)) - - def clear(self): - self._localData = [] - - def output(self): - return self._localData - - def load(self, data): - return self._obj.value(data) - - -class CeventBase(object): - def __init__(self, so, name, ffi): - self._so = so - self._id = self._so.lbc_bpf_get_maps_id(name.encode('utf-8')) - if self._id < 0: - raise InvalidArgsException("map %s, not such event" % name) - self.name = name - super(CeventBase, self).__init__() - self._ffi = ffi - - @staticmethod - def _setupFfi(s): - if s.endswith("]"): - return s - else: - return s + " *" - - -class CtableBase(CeventBase): - def __init__(self, so, name, dTypes, ffi): - super(CtableBase, self).__init__(so, name, ffi) - self._kd = dTypes['fktype'] - self._vd = dTypes['fvtype'] - self.keys = CtypeTable(self._kd, ffi) - self.values = CtypeTable(self._vd, ffi) - - def _getSize(self, fType): - return self._ffi.sizeof(fType) - - def get(self): - self.keys.clear() - self.values.clear() - - v = self._ffi.new(self.values.ffiType) - k1 = self._ffi.new(self.keys.ffiType) - k2 = self._ffi.new(self.keys.ffiType) - while self._so.lbc_map_get_next_key(self._id, k1, k2) == 0: - self.keys.add(k2) - self._so.lbc_map_lookup_elem(self._id, k2, v) - self.values.add(v) - self._ffi.memmove(k1, k2, self.keys.ffiSize) - return dict(zip(self.keys.output(), self.values.output())) - - def getThenClear(self): - self.keys.clear() - self.values.clear() - - v = self._ffi.new(self.values.ffiType) - k1 = self._ffi.new(self.keys.ffiType) - k2 = self._ffi.new(self.keys.ffiType) - while self._so.lbc_map_get_next_key(self._id, k1, k2) == 0: - self.keys.add(k2) - r = self._so.lbc_map_lookup_and_delete_elem(self._id, k2, v) - if r < 0: - raise InvalidArgsException( - "lbc_map_lookup_and_delete_elem return %d, os may not support this opertation." % r) - self.values.add(v) - self._ffi.memmove(k1, k2, self.keys.ffiSize) - r = dict(zip(self.keys.output(), self.values.output())) - return r - - def getKeys(self): - self.keys.clear() - self.values.clear() - - k1 = self._ffi.new(self.keys.ffiType) - k2 = self._ffi.new(self.keys.ffiType) - while self._so.lbc_map_get_next_key(self._id, k1, k2) == 0: - self.keys.add(k2) - self._ffi.memmove(k1, k2, self.keys.ffiSize) - return self.keys.output() - - def getKeyValue(self, k): - res = None - key = self._ffi.new(self.keys.ffiType, k) - value = self._ffi.new(self.values.ffiType) - if self._so.lbc_map_lookup_elem(self._id, key, value) == 0: - res = self.values.load(value) - return res - - def clear(self): - k1 = self._ffi.new(self.keys.ffiType) - k2 = self._ffi.new(self.keys.ffiType) - while self._so.lbc_map_get_next_key(self._id, k1, k2) == 0: - self._so.lbc_map_delete_elem(self._id, k2) - self._ffi.memmove(k1, k2, self.keys.ffiSize) - - -class CmapsHash(CtableBase): - def __init__(self, so, name, dTypes, ffi): - super(CmapsHash, self).__init__(so, name, dTypes, ffi) - - -class CmapsArray(CtableBase): - def __init__(self, so, name, dTypes, ffi): - super(CmapsArray, self).__init__(so, name, dTypes, ffi) - - def get(self, size=10): - a = [] - for i in range(size): - a.append(self.getKeyValue(i)) - return a - - -class CmapsHist2(CmapsArray): - def __init__(self, so, name, dTypes, ffi): - super(CmapsHist2, self).__init__(so, name, dTypes, ffi) - - def get(self, size=64): - return super(CmapsHist2, self).get(size) - - def showHist(self, head="dummy", array=None): - if array is None: - array = self.get() - aList = CsurfList(1) - print(head) - aList.hist2Show(array) - - -class CmapsHist10(CmapsArray): - def __init__(self, so, name, dTypes, ffi): - super(CmapsHist10, self).__init__(so, name, dTypes, ffi) - - def get(self, size=20): - return super(CmapsHist10, self).get(size) - - def showHist(self, head="dummy", array=None): - if array is None: - array = self.get() - aList = CsurfList(1) - print(head) - aList.hist10Show(array) - - -class CmapsLruHash(CtableBase): - def __init__(self, so, name, dTypes, ffi): - super(CmapsLruHash, self).__init__(so, name, dTypes, ffi) - - -class CmapsPerHash(CtableBase): - def __init__(self, so, name, dTypes, ffi): - super(CmapsPerHash, self).__init__(so, name, dTypes, ffi) - - -class CmapsPerArray(CtableBase): - def __init__(self, so, name, dTypes, ffi): - super(CmapsPerArray, self).__init__(so, name, dTypes, ffi) - - -class CmapsLruPerHash(CtableBase): - def __init__(self, so, name, dTypes, ffi): - super(CmapsLruPerHash, self).__init__(so, name, dTypes, ffi) - - -class CmapsStack(CtableBase): - def __init__(self, so, name, dTypes, ffi): - super(CmapsStack, self).__init__(so, name, dTypes, ffi) - - def getArr(self, stack_id): - return self.getKeyValue(stack_id) - - -class CmapsEvent(CeventBase): - def __init__(self, so, name, dTypes, ffi): - super(CmapsEvent, self).__init__(so, name, ffi) - self._d = dTypes["fvtype"] - self.ffiType = self._setupFfi(self._d) - self.cb = None - self.lostcb = None - self._obj = CffiTrans(ffi) - - def open_perf_buffer(self, cb, lost=None): - self.cb = cb - self.lostcb = lost - - def perf_buffer_poll(self, timeout=-1, obj=None): - if obj is None: - obj = self - if not hasattr(obj, "cb"): - raise ValueError("object %s has no attr callback." % obj) - - if not hasattr(obj, "lostcb"): - obj.lostcb = None - - @self._ffi.callback("void(void *ctx, int cpu, void *data, unsigned int size)") - def _callback(context, cpu, data, size): - if obj.cb: - obj.cb(cpu, data, size) - - @self._ffi.callback("void(void *ctx, int cpu, unsigned long long cnt)") - def _lostcb(context, cpu, count): - if obj.lostcb: - obj.lostcb(cpu, count) - else: - print("cpu%d lost %d events" % (cpu, count)) - - self._so.lbc_set_event_cb(self._id, _callback, _lostcb) - self._so.lbc_event_loop(self._id, timeout) - - def event(self, data): - e = self._ffi.cast(self.ffiType, data) - return self._obj.value(e) - - -mapsDict = {'event': CmapsEvent, - 'hash': CmapsHash, - 'array': CmapsArray, - 'hist2': CmapsHist2, - 'hist10': CmapsHist10, - 'lruHash': CmapsLruHash, - 'perHash': CmapsPerHash, - 'perArray': CmapsPerArray, - 'lruPerHash': CmapsLruPerHash, - 'stack': CmapsStack, } - - -def paserMaps(so, name, dTypes): - t = dTypes['type'] - if t in mapsDict: - return mapsDict['t'](so, name, dTypes) - - -if __name__ == "__main__": - pass diff --git a/lcc/pylcc/lib/lbcStack.py b/lcc/pylcc/lib/lbcStack.py deleted file mode 100644 index a24210f..0000000 --- a/lcc/pylcc/lib/lbcStack.py +++ /dev/null @@ -1,88 +0,0 @@ -# -*- coding: utf-8 -*- -""" -------------------------------------------------- - File Name: lbcUstack - Description : - Author : liaozhaoyan - date: 2022/10/23 -------------------------------------------------- - Change Activity: - 2022/10/23: -------------------------------------------------- -""" -__author__ = 'liaozhaoyan' - -import re -from surftrace.surfElf import CelfSym - - -class ClbcUstack(object): - def __init__(self, pid, addrs): - super(ClbcUstack, self).__init__() - self._pid = pid - self._addrs = addrs - self._mmap = self._loadMmaps() - self._elfs = {} - - def _loadMmaps(self): - pathName = "/proc/%d/maps" % self._pid - - with open(pathName, 'r') as f: - lines = f.readlines() - - maps = [] - for line in lines: - line = re.sub(r" +", " ", line.strip()) - cells = line.split(' ') - if 'x' in cells[1]: - start, end = cells[0].split('-') - d = {"start": int(start, 16), "end": int(end, 16)} - if len(cells) == 5: - d["path"] = None - else: - d["path"] = cells[5] - maps.append(d) - return maps - - def _queryElf(self, addr): - for mmap in self._mmap: - if mmap['start'] <= addr < mmap['end']: - return mmap["path"], mmap['start'] - - raise OSError("addr 0x%x is an illegal value" % addr) - - def dumpStacks(self): - lines = [] - for addr in self._addrs: - if addr == 0: - break - try: - fPath, start = self._queryElf(addr) - except OSError: - break - addr -= start - if fPath not in self._elfs: - self._elfs[fPath] = CelfSym(fPath) - - sym, offset = self._elfs[fPath].addr2sym(addr) - lines.append("%s + 0x%x" % (sym, offset)) - return lines - - -def getKStacks(maps, stack_id, elfSym, sLen=-1): - arr = [] - stks = maps.getArr(stack_id) - if stks is not None: - if sLen == -1: - sLen = len(stks) - for i in range(sLen): - if stks[i] != 0: - name, _ = elfSym.ksymSearch(stks[i]) - arr.append(name) - else: - break - return arr - - -if __name__ == "__main__": - pass diff --git a/lcc/pylcc/lib/perfEvent.py b/lcc/pylcc/lib/perfEvent.py deleted file mode 100644 index dff3357..0000000 --- a/lcc/pylcc/lib/perfEvent.py +++ /dev/null @@ -1,228 +0,0 @@ -# -*- coding: utf-8 -*- -""" -------------------------------------------------- - File Name: perfEvent - Description : - Author : liaozhaoyan - date: 2022/8/21 -------------------------------------------------- - Change Activity: - 2022/8/21: -------------------------------------------------- -""" -__author__ = 'liaozhaoyan' - - -class PerfType: - # From perf_type_id in uapi/linux/perf_event.h - HARDWARE = 0 - SOFTWARE = 1 - TRACEPOINT = 2 - HW_CACHE = 3 - RAW = 4 - BREAKPOINT = 5 - MAX = BREAKPOINT - - -class PerfHWConfig: - # From perf_hw_id in uapi/linux/perf_event.h - CPU_CYCLES = 0 - INSTRUCTIONS = 1 - CACHE_REFERENCES = 2 - CACHE_MISSES = 3 - BRANCH_INSTRUCTIONS = 4 - BRANCH_MISSES = 5 - BUS_CYCLES = 6 - STALLED_CYCLES_FRONTEND = 7 - STALLED_CYCLES_BACKEND = 8 - REF_CPU_CYCLES = 9 - MAX = REF_CPU_CYCLES - - -class PerfHWCacheId: - # From hw_cache_id in uapi/linux/perf_event.h - L1D = 0 - L1I = 1 - LL = 2 - DTLB = 3 - ITLB = 4 - BPU = 5 - NODE = 6 - MAX = NODE - - -class PerfHWCacheOpId: - # From hw_cache_op_id in uapi/linux/perf_event.h - READ = 0 - WRITE = 1 - PREFETCH = 2 - MAX = PREFETCH - - -class PerfHWCacheOpResultId: - # From hw_cache_op_result_id in uapi/linux/perf_event.h - ACCESS = 0 - MISS = 1 - MAX = MISS - - -class PerfSwIds: - # From perf_sw_id in uapi/linux/perf_event.h - CPU_CLOCK = 0 - TASK_CLOCK = 1 - PAGE_FAULTS = 2 - CONTEXT_SWITCHES = 3 - CPU_MIGRATIONS = 4 - PAGE_FAULTS_MIN = 5 - PAGE_FAULTS_MAJ = 6 - ALIGNMENT_FAULTS = 7 - EMULATION_FAULTS = 8 - DUMMY = 9 - BPF_OUTPUT = 10 - CGROUP_SWITCHES = 11 - MAX = CGROUP_SWITCHES - - -class PerfEventSampleFormat: - # From perf_event_sample_format in uapi/linux/perf_event.h - IP = 1 << 0 - TID = 1 << 1 - TIME = 1 << 2 - ADDR = 1 << 3 - READ = 1 << 5 - CALLCHAIN = 1 << 5 - ID = 1 << 6 - CPU = 1 << 7 - PERIOD = 1 << 8 - STREAM_ID = 1 << 9 - RAW = 1 << 10 - BRANCH_STACK = 1 << 11 - REGS_USER = 1 << 12 - STACK_USER = 1 << 13 - WEIGHT = 1 << 14 - DATA_SRC = 1 << 15 - IDENTIFIER = 1 << 16 - TRANSACTION = 1 << 17 - REGS_INTR = 1 << 18 - PHYS_ADDR = 1 << 19 - AUX = 1 << 20 - CGROUP = 1 << 21 - DATA_PAGE_SIZE = 1 << 22 - CODE_PAGE_SIZE = 1 << 23 - WEIGHT_STRUCT = 1 << 25 - MAX = WEIGHT_STRUCT << 1 - - -PERF_SAMPLE_WEIGHT_TYPE = (PerfEventSampleFormat.WEIGHT | PerfEventSampleFormat.WEIGHT_STRUCT) - - -class PerfBranchSampleType: - # from perf_branch_sample_type - USER = 1 << 0 # /* user branches */ - KERNEL = 1 << 1 # /* kernel branches */ - HV = 1 << 2 # /* hypervisor branches */ - ANY = 1 << 3 # /* any branch types */ - ANY_CALL = 1 << 4 # /* any call branch */ - ANY_RETURN = 1 << 5 # /* any return branch */ - IND_CALL = 1 << 6 # /* indirect calls */ - ABORT_TX = 1 << 7 # /* transaction aborts */ - IN_TX = 1 << 8 # /* in transaction */ - NO_TX = 1 << 9 # /* not in transaction */ - COND = 1 << 10 # /* conditional branches */ - CALL_STACK = 1 << 11 # /* call/ret stack */ - IND_JUMP = 1 << 12 # /* indirect jumps */ - CALL = 1 << 13 # /* direct call */ - NO_FLAGS = 1 << 14 # /* no flags */ - NO_CYCLES = 1 << 15 # /* no cycles */ - TYPE_SAVE = 1 << 16 # /* save branch type */ - HW_INDEX = 1 << 17 # /* save low level index of raw branch records */ - MAX = HW_INDEX << 1 - - -class PerfBranch: - # Common flow change classification - UNKNOWN = 0 # /* unknown */ - COND = 1 # /* conditional */ - UNCOND = 2 # /* unconditional */ - IND = 3 # /* indirect */ - CALL = 4 # /* function call */ - IND_CALL = 5 # /* indirect function call */ - RET = 6 # /* function return */ - SYSCALL = 7 # /* syscall */ - SYSRET = 8 # /* syscall return */ - COND_CALL = 9 # /* conditional function call */ - COND_RET = 10 # /* conditional function return */ - MAX = COND_RET - - -PERF_SAMPLE_BRANCH_PLM_ALL = PerfBranchSampleType.USER | PerfBranchSampleType.KERNEL | PerfBranchSampleType.HV - -# /* -# * The format of the data returned by read() on a perf event fd, -# * as specified by attr.read_format: -# * -# * struct read_format { -# * { u64 value; -# * { u64 time_enabled; } && PERF_FORMAT_TOTAL_TIME_ENABLED -# * { u64 time_running; } && PERF_FORMAT_TOTAL_TIME_RUNNING -# * { u64 id; } && PERF_FORMAT_ID -# * } && !PERF_FORMAT_GROUP -# * -# * { u64 nr; -# * { u64 time_enabled; } && PERF_FORMAT_TOTAL_TIME_ENABLED -# * { u64 time_running; } && PERF_FORMAT_TOTAL_TIME_RUNNING -# * { u64 value; -# * { u64 id; } && PERF_FORMAT_ID -# * } cntr[nr]; -# * } && PERF_FORMAT_GROUP -# * }; -# */ - - -class PerfEventReadFormat: - TOTAL_TIME_ENABLED = 1 << 0 - TOTAL_TIME_RUNNING = 1 << 1 - ID = 1 << 2 - GROUP = 1 << 3 - MAX = GROUP - - -class PerfBreakPointLen: - LEN_1 = 1 - LEN_2 = 2 - LEN_3 = 3 - LEN_4 = 4 - LEN_5 = 5 - LEN_6 = 6 - LEN_7 = 7 - LEN_8 = 8 - - -class PerfBreakPointType: - EMPTY = 0 - R = 1 - W = 2 - RW = 3 - X = 4 - - -class PerfFlag: - FD_NO_GROUP = (1 << 0) - FD_OUTPUT = (1 << 1) - PID_CGROUP = (1 << 2) - FD_CLOEXEC = (1 << 3) - - -PERF_ATTR_SIZE_VER0 = 64 # /* sizeof first published struct */ -PERF_ATTR_SIZE_VER1 = 72 # /* add: config2 */ -PERF_ATTR_SIZE_VER2 = 84 # /* add: branch_sample_type */ -PERF_ATTR_SIZE_VER3 = 96 # /* add: sample_regs_user */ -# /* add: sample_stack_user */ -PERF_ATTR_SIZE_VER4 = 102 # /* add: sample_regs_intr */ -PERF_ATTR_SIZE_VER5 = 114 # /* add: aux_watermark */ -PERF_ATTR_SIZE_VER6 = 120 # /* add: aux_sample_size */ -PERF_ATTR_SIZE_VER7 = 128 # /* add: sig_data */ - - -if __name__ == "__main__": - pass diff --git a/lcc/pylcc/pytool/bindsnoop.py b/lcc/pylcc/pytool/bindsnoop.py deleted file mode 100644 index 3e28194..0000000 --- a/lcc/pylcc/pytool/bindsnoop.py +++ /dev/null @@ -1,285 +0,0 @@ -# -*- coding: utf-8 -*- -""" -------------------------------------------------- - File Name: bindsnoop - Description : - Author : liaozhaoyan - date: 2022/8/7 -------------------------------------------------- - Change Activity: - 2022/8/7: -------------------------------------------------- -""" -__author__ = 'liaozhaoyan' - -import argparse -from pylcc.lbcBase import ClbcBase - -# arguments -examples = """examples: - ./bindsnoop # trace all TCP bind()s - ./bindsnoop -t # include timestamps - ./bindsnoop -w # wider columns (fit IPv6) - ./bindsnoop -p 181 # only trace PID 181 - ./bindsnoop -P 80 # only trace port 80 - ./bindsnoop -P 80,81 # only trace port 80 and 81 - ./bindsnoop -U # include UID - ./bindsnoop -u 1000 # only trace UID 1000 - ./bindsnoop -E # report bind errors - ./bindsnoop --count # count bind per src ip - ./bindsnoop --cgroupmap mappath # only trace cgroups in this BPF map - ./bindsnoop --mntnsmap mappath # only trace mount namespaces in the map -it is reporting socket options set before the bins call -impacting system call behavior: - SOL_IP IP_FREEBIND F.... - SOL_IP IP_TRANSPARENT .T... - SOL_IP IP_BIND_ADDRESS_NO_PORT ..N.. - SOL_SOCKET SO_REUSEADDR ...R. - SOL_SOCKET SO_REUSEPORT ....r - SO_BINDTODEVICE interface is reported as "IF" index -""" - -struct_init = { - 'ipv4': { - 'count': r""" - u64 k; - u32 saddr; - - saddr = BPF_CORE_READ(psock, __sk_common.skc_rcv_saddr); // skp->__sk_common.skc_rcv_saddr; - k = ((u64)sport << 32) | saddr; - incr_hist(&ipv4_count, k);""", - 'trace': r""" - struct ipv4_bind_data_t data4 = {.pid = pid, .ip = ipver}; - data4.uid = bpf_get_current_uid_gid(); - data4.ts_us = bpf_ktime_get_ns() / 1000; - data4.saddr = BPF_CORE_READ(pinetsock, inet_saddr); - data4.return_code = ret; - data4.sport = sport; - data4.bound_dev_if = BPF_CORE_READ(psock, __sk_common.skc_bound_dev_if); // psock->__sk_common.skc_bound_dev_if; - data4.socket_options = opts.data; - data4.protocol = BPF_CORE_READ_BITFIELD_PROBED(psock, sk_protocol);; - bpf_get_current_comm(&data4.task, sizeof(data4.task)); - bpf_perf_event_output(ctx, &ipv4_bind_events, BPF_F_CURRENT_CPU, &data4, sizeof(data4)); - """ - }, -} - -bpfProg = r""" -#include "lbc.h" - -#define TASK_COMM_LEN 16 - -LBC_HASH(currsock, u32, void *, 1024); - -// bind options for event reporting -union bind_options { - u8 data; - struct { - u8 freebind:1; - u8 transparent:1; - u8 bind_address_no_port:1; - u8 reuseaddress:1; - u8 reuseport:1; - } fields; -}; - -struct ipv4_bind_data_t { - u64 ts_us; - u32 pid; - u32 uid; - u64 ip; - u32 saddr; - u32 bound_dev_if; - int return_code; - u16 sport; - u8 socket_options; - u8 protocol; - char task[TASK_COMM_LEN]; -}; -LBC_PERF_OUTPUT(ipv4_bind_events, struct ipv4_bind_data_t, 128); - -// separate flow keys per address family -struct ipv4_flow_key_t { - u32 saddr; - u16 sport; -}; -LBC_HASH(ipv4_count, u64, u32, 1 * 1024); - -SEC("kprobe/inet_bind") -int j_inet_bind(struct pt_regs *ctx) { - u64 pid_tgid = bpf_get_current_pid_tgid(); - u32 pid = pid_tgid >> 32; - u32 tid = pid_tgid; - FILTER_PID - u32 uid = bpf_get_current_uid_gid(); - FILTER_UID - // stash the sock ptr for lookup on return - struct socket *psocket = (struct socket *)PT_REGS_PARM1(ctx); - bpf_map_update_elem(&currsock, &tid, &psocket, BPF_ANY); - - return 0; -} - -static inline int bindsnoop_return(struct pt_regs *ctx, int ipver) -{ - int ret = PT_REGS_RC(ctx); - int rv = 0; - u64 pid_tgid = bpf_get_current_pid_tgid(); - u32 pid = pid_tgid >> 32; - u32 tid = pid_tgid; - - struct socket **ppsocket; - ppsocket = (struct socket **)bpf_map_lookup_elem(&currsock, &tid); - if (ppsocket == 0) { - goto end_return; - } - int ignore_errors = 1; - FILTER_ERRORS - if (ret != 0 && ignore_errors) { - // failed to bind - goto end_delete; - } - // pull in details - struct socket *psocket = *ppsocket; - if (psocket == NULL) { - goto end_delete; - } - struct sock *psock = BPF_CORE_READ(psocket, sk); - if (psock == NULL) { - goto end_delete; - } - struct inet_sock *pinetsock = (struct inet_sock *)psock; - - u16 sport = 0; - sport = BPF_CORE_READ(pinetsock, inet_sport); - sport = ntohs(sport); - FILTER_PORT - - // fetching freebind, transparent, and bind_address_no_port bitfields - // via the next struct member, rcv_tos - - union bind_options opts = {0}; - u8 freebind, transparent, bind_address_no_port, reuseaddress, reuseport, flag = 0; - opts.fields.freebind = BPF_CORE_READ_BITFIELD_PROBED(pinetsock, freebind); - opts.fields.transparent = BPF_CORE_READ_BITFIELD_PROBED(pinetsock, transparent); - opts.fields.bind_address_no_port = BPF_CORE_READ_BITFIELD_PROBED(pinetsock, bind_address_no_port); - opts.fields.reuseaddress = BPF_CORE_READ_BITFIELD_PROBED(pinetsock, sk.__sk_common.skc_reuse) & 0x01; - opts.fields.reuseport = BPF_CORE_READ_BITFIELD_PROBED(pinetsock, sk.__sk_common.skc_reuseport); - - if (ipver == 4) { - IPV4_CODE - } else /* 6 */ { - ; - } -end_delete: - bpf_map_delete_elem(&currsock, &tid); -end_return: - return rv; -} - -SEC("kretprobe/inet_bind") -int r_inet_bind(struct pt_regs *ctx) { - return bindsnoop_return(ctx, 4); -} - -char _license[] SEC("license") = "GPL"; -""" - - -class Cbindsnoop(ClbcBase): - def __init__(self, proj): - super(Cbindsnoop, self).__init__("bindsnoopc", bpf_str=proj) - - def _cb(self, cpu, data, size): - e = self.getMap('ipv4_bind_events', data, size) - print(e.socket_options, e.pid, e.ip, e.sport) - - def loop(self): - self.maps['ipv4_bind_events'].open_perf_buffer(self._cb) - try: - self.maps['ipv4_bind_events'].perf_buffer_poll() - except KeyboardInterrupt: - print("key interrupt.") - exit() - - def _showMaps(self): - maps = self.maps['ipv4_count'].get() - print(maps) - - def loopCount(self): - self.waitInterrupt(self._showMaps) - pass - - -def setupProg(args, prog): - repDict = { - "IPV4_CODE": struct_init['ipv4']['trace'], - "FILTER_PID": "", - "FILTER_PORT": "", - "FILTER_UID": "", - "FILTER_ERRORS": "", - } - - if args.count: - repDict['IPV4_CODE'] = struct_init['ipv4']['count'] - if args.pid: - repDict['FILTER_PID'] = 'if (pid != %s) { return 0; }' % args.pid - if args.port: - sports = [int(sport) for sport in args.port.split(',')] - sports_if = ' && '.join(['sport != %d' % sport for sport in sports]) - repDict['FILTER_PORT'] = 'if (%s) { bpf_map_delete_elem(&currsock, &tid); return 0; }' % sports_if - if args.uid: - repDict['FILTER_UID'] = 'if (uid != %s) { return 0; }' % args.uid - if args.errors: - repDict['FILTER_ERRORS'] = 'ignore_errors = 0;' - - for k, v in repDict.items(): - prog = prog.replace(k, v) - return prog - - -def setupArgs(): - parser = argparse.ArgumentParser( - description="Trace TCP binds", - formatter_class=argparse.RawDescriptionHelpFormatter, - epilog=examples) - parser.add_argument("-t", "--timestamp", action="store_true", - help="include timestamp on output") - parser.add_argument("-w", "--wide", action="store_true", - help="wide column output (fits IPv6 addresses)") - parser.add_argument("-p", "--pid", - help="trace this PID only") - parser.add_argument("-P", "--port", - help="comma-separated list of ports to trace.") - parser.add_argument("-E", "--errors", action="store_true", - help="include errors in the output.") - parser.add_argument("-U", "--print-uid", action="store_true", - help="include UID on output") - parser.add_argument("-u", "--uid", - help="trace this UID only") - parser.add_argument("--count", action="store_true", - help="count binds per src ip and port") - parser.add_argument("--cgroupmap", - help="trace cgroups in this BPF map only") - parser.add_argument("--mntnsmap", - help="trace mount namespaces in this BPF map only") - parser.add_argument("--ebpf", action="store_true", - help=argparse.SUPPRESS) - parser.add_argument("--debug-source", action="store_true", - help=argparse.SUPPRESS) - return parser.parse_args() - - -if __name__ == "__main__": - args = setupArgs() - prog = setupProg(args, bpfProg) - if args.ebpf: - print(prog) - app = Cbindsnoop(prog) - if args.count: - app.loopCount() - else: - app.loop() - - - diff --git a/lcc/pylcc/pytool/bindsnoop_example.txt b/lcc/pylcc/pytool/bindsnoop_example.txt deleted file mode 100644 index e69de29..0000000 diff --git a/lcc/pylcc/pytool/cpudist.py b/lcc/pylcc/pytool/cpudist.py deleted file mode 100644 index 1bdcd12..0000000 --- a/lcc/pylcc/pytool/cpudist.py +++ /dev/null @@ -1,74 +0,0 @@ -# -*- coding: utf-8 -*- -""" -------------------------------------------------- - File Name: cpudist.py - Description : - Author : liaozhaoyan - date: 2022/5/12 -------------------------------------------------- - Change Activity: - 2022/5/12: -------------------------------------------------- -""" -__author__ = 'liaozhaoyan' - -import time -from pylcc.lbcBase import ClbcBase - -DIST_ARRAYS = 8 - -bpfProg = r""" -#include "lbc.h" - - -LBC_HIST2(hist2); -LBC_HIST10(hist10); -LBC_HASH(start, u32, u64, 256 * 1024); //record ns - -struct sched_switch_args { - u16 type; - u8 flag; - u8 preeempt; - u32 c_pid; - char prev_comm[16]; - u32 prev_pid; - u32 prev_prio; - u64 prev_state; - char next_comm[16]; - u32 next_pid; - u32 next_prio; -}; -SEC("tracepoint/sched/sched_switch") -int sched_switch_hook(struct sched_switch_args *args){ - u64 ts = bpf_ktime_get_ns(); - u64 *pv; - u32 prev = args->prev_pid; - u32 next = args->next_pid; - - bpf_map_update_elem(&start, &next, &ts, BPF_ANY); - pv = bpf_map_lookup_elem(&start, &prev); - if (pv && ts > *pv) { - hist10_push(&hist10, ts - *pv); - hist2_push(&hist2, ts - *pv); - } -} - -char _license[] SEC("license") = "GPL"; -""" - - -class Ccpudist(ClbcBase): - def __init__(self): - super(Ccpudist, self).__init__("cpudist", bpf_str=bpfProg) - - def proc(self): - self.maps['hist2'].showHist("hist2:") - print - self.maps['hist10'].showHist("hist10:") - - -if __name__ == "__main__": - dist = Ccpudist() - while True: - time.sleep(5) - dist.proc() diff --git a/lcc/pylcc/pytool/cpudist_example.txt b/lcc/pylcc/pytool/cpudist_example.txt deleted file mode 100644 index 801f1d1..0000000 --- a/lcc/pylcc/pytool/cpudist_example.txt +++ /dev/null @@ -1,49 +0,0 @@ - 311 lines (263 sloc) 16.3 KB - -Demonstrations of cpudist. - -This program summarizes task on-CPU time as a histogram, showing how long tasks -spent on the CPU before being descheduled. This provides valuable information -that can indicate oversubscription (too many tasks for too few processors), -overhead due to excessive context switching (e.g. a common shared lock for -multiple threads), uneven workload distribution, too-granular tasks, and more. - -By default CPU idle time are excluded by simply excluding PID 0. - -Alternatively, the same options are available for summarizing task off-CPU -time, which helps understand how often threads are being descheduled and how -long they spend waiting for I/O, locks, timers, and other causes of suspension. - -#python cpudist.py - -hist2: -[32,64) 2 | | -[64,128) 0 | | -[128,256) 3 | | -[256,512) 3 | | -[512,1K) 18 | | -[1K,2K) 103 | | -[2K,4K) 1K |@@@@@@@@@@@@@ | -[4K,8K) 696 |@@@@@@ | -[8K,16K) 856 |@@@@@@@@ | -[16K,32K) 209 |@ | -[32K,64K) 974 |@@@@@@@@@ | -[64K,128K) 70 | | -[128K,256K) 108 |@ | -[256K,512K) 144 |@ | -[512K,1M) 136 |@ | -[1M,2M) 113 |@ | -[2M,4M) 423 |@@@ | -[4M,8M) 4 | | -[8M,16M) 93 | | -[16M,32M) 7 | | -[32M,64M) 2 | | - -hist10: -[100,1K) 5 | | -[1K,10K) 1K |@@@@@@@@@@@@ | -[10K,100K) 2K |@@@@@@@@@@@@@@@@@@@@@@@@@@@ | -[100K,1M) 333 |@@@ | -[1M,10M) 506 |@@@@ | -[10M,100M) 380 |@@@ | -[100M,1G) 1 | \ No newline at end of file diff --git a/lcc/pylcc/pytool/filelife.py b/lcc/pylcc/pytool/filelife.py deleted file mode 100644 index 318c06e..0000000 --- a/lcc/pylcc/pytool/filelife.py +++ /dev/null @@ -1,142 +0,0 @@ -# -*- coding: utf-8 -*- -# cython:language_level=3 -""" -------------------------------------------------- - File Name: filelife - Description : - Author : liaozhaoyan - date: 2021/11/6 -------------------------------------------------- - Change Activity: - 2021/11/6: -------------------------------------------------- -""" -__author__ = 'liaozhaoyan' - -import argparse -from time import strftime -from pylcc.lbcBase import ClbcBase, CeventThread - -bpfProg = r""" -#include "lbc.h" -#define TASK_COMM_LEN 16 -#define DNAME_INLINE_LEN 32 - -struct data_t { - u32 pid; - u64 delta; - char comm[TASK_COMM_LEN]; - char fname[DNAME_INLINE_LEN]; -}; - -LBC_HASH(birth, struct dentry *, u64, 1024); -LBC_PERF_OUTPUT(events, struct data_t, 128); - -// trace file creation time -SEC("kprobe/vfs_create") -int j_vfs_create(struct pt_regs *ctx) -{ - u32 pid = bpf_get_current_pid_tgid() >> 32; - struct dentry *dentry = (struct dentry *)PT_REGS_PARM2(ctx); - - FILTER - - u64 ts = bpf_ktime_get_ns(); - bpf_map_update_elem(&birth, &dentry, &ts, BPF_ANY); - return 0; -}; - -SEC("kprobe/security_inode_create") -int j_security_inode_create(struct pt_regs *ctx) -{ - u32 pid = bpf_get_current_pid_tgid() >> 32; - struct dentry *dentry = (struct dentry *)PT_REGS_PARM2(ctx); - - FILTER - - u64 ts = bpf_ktime_get_ns(); - bpf_map_update_elem(&birth, &dentry, &ts, BPF_ANY); - return 0; -}; - -// trace file deletion and output details -SEC("kprobe/vfs_unlink") -int j_vfs_unlink(struct pt_regs *ctx) -{ - struct data_t data = {}; - u32 pid = bpf_get_current_pid_tgid() >> 32; - struct dentry *dentry = (struct dentry *)PT_REGS_PARM2(ctx); - - FILTER - - u64 *tsp, delta; - tsp = bpf_map_lookup_elem(&birth, &dentry); - if (tsp == 0) { - return 0; // missed create - } - - delta = (bpf_ktime_get_ns() - *tsp) / 1000000; - - struct qstr d_name; - d_name = BPF_CORE_READ(dentry, d_name); - if (d_name.len == 0) - return 0; - - if (bpf_get_current_comm(&data.comm, sizeof(data.comm)) == 0) { - data.pid = pid; - data.delta = delta; - bpf_probe_read_kernel(&data.fname, sizeof(data.fname), d_name.name); - } - - bpf_perf_event_output(ctx, &events, BPF_F_CURRENT_CPU, &data, sizeof(data)); - - return 0; -} -char _license[] SEC("license") = "GPL"; -""" - - -class CfileLife(ClbcBase): - def __init__(self): - super(CfileLife, self).__init__("filelife", bpf_str=bpfProg) - print("%-8s %-6s %-16s %-7s %s" % ("TIME", "PID", "COMM", "AGE(s)", "FILE")) - - def _cb(self, cpu, e): - print("%-8s %-6d %-16s %-7.2f %s" % (strftime("%H:%M:%S"), e.pid, - e.comm, float(e.delta) / 1000, - e.fname)) - - def loop(self): - CeventThread(self, 'events', self._cb) - self.waitInterrupt() - - -if __name__ == "__main__": - # arguments - examples = """examples: - ./filelife # trace all stat() syscalls - ./filelife -p 181 # only trace PID 181 - """ - parser = argparse.ArgumentParser( - description="Trace stat() syscalls", - formatter_class=argparse.RawDescriptionHelpFormatter, - epilog=examples) - parser.add_argument("-p", "--pid", - help="trace this PID only") - parser.add_argument("--ebpf", action="store_true", - help=argparse.SUPPRESS) - args = parser.parse_args() - debug = 0 - - if args.pid: - bpfProg = bpfProg.replace('FILTER', - 'if (pid != %s) { return 0; }' % args.pid) - else: - bpfProg = bpfProg.replace('FILTER', '') - if debug or args.ebpf: - print(bpfProg) - if args.ebpf: - exit() - - f = CfileLife() - f.loop() diff --git a/lcc/pylcc/pytool/fileslower.py b/lcc/pylcc/pytool/fileslower.py deleted file mode 100644 index b22c391..0000000 --- a/lcc/pylcc/pytool/fileslower.py +++ /dev/null @@ -1,216 +0,0 @@ -# -*- coding: utf-8 -*- -# cython:language_level=2 -""" -------------------------------------------------- - File Name: fileslower - Description : - Author : liaozhaoyan - date: 2021/11/6 -------------------------------------------------- - Change Activity: - 2021/11/6: -------------------------------------------------- -""" -__author__ = 'liaozhaoyan' - -import argparse -import time -from pylcc.lbcBase import ClbcBase, CeventThread - -bpfProg = r""" -#include "lbc.h" -#define S_IFMT 00170000 -#define S_IFREG 0100000 -#define S_ISREG(m) (((m) & S_IFMT) == S_IFREG) - -#define TASK_COMM_LEN 16 -#define DNAME_INLINE_LEN 32 - -enum trace_mode { - MODE_READ, - MODE_WRITE -}; - -struct val_t { - u32 sz; - u64 ts; - u32 name_len; - // de->d_name.name may point to de->d_iname so limit len accordingly - char name[DNAME_INLINE_LEN]; - char comm[TASK_COMM_LEN]; -}; - -struct data_t { - int mode; - u32 pid; - u32 sz; - u64 delta_us; - u32 name_len; - char name[DNAME_INLINE_LEN]; - char comm[TASK_COMM_LEN]; -}; - -LBC_HASH(entryinfo, u32, struct val_t, 1024); -LBC_PERF_OUTPUT(events, struct data_t, 128); - -// store timestamp and size on entry -static int trace_rw_entry(struct pt_regs *ctx, struct file *file, size_t count) -{ - u32 tgid = bpf_get_current_pid_tgid() >> 32; - if (TGID_FILTER) - return 0; - - u32 pid = bpf_get_current_pid_tgid(); - - // skip I/O lacking a filename - struct dentry *de = BPF_CORE_READ(file, f_path.dentry); //file->f_path.dentry; - int mode = BPF_CORE_READ(file, f_inode, i_mode); //file->f_inode->i_mode; - if (BPF_CORE_READ(de, d_name.len) == 0 || TYPE_FILTER) //(de->d_name.len == 0 || TYPE_FILTER) - return 0; - - // store size and timestamp by pid - struct val_t val = {}; - val.sz = count; - val.ts = bpf_ktime_get_ns(); - - struct qstr d_name = BPF_CORE_READ(de, d_name); //de->d_name; - val.name_len = d_name.len; - bpf_probe_read_kernel(&val.name, sizeof(val.name), d_name.name); - bpf_get_current_comm(&val.comm, sizeof(val.comm)); - bpf_map_update_elem(&entryinfo, &pid, &val, BPF_ANY); //entryinfo.update(&pid, &val); - - return 0; -} - -SEC("kprobe/__vfs_read") -int j__vfs_read(struct pt_regs *ctx) -{ - // skip non-sync I/O; see kernel code for __vfs_read() - struct file *file = (struct file *)PT_REGS_PARM1(ctx); - size_t count = PT_REGS_PARM3(ctx); - if (!BPF_CORE_READ(file, f_op, read_iter))// (!(file->f_op->read_iter)) - return 0; - return trace_rw_entry(ctx, file, count); -} - -SEC("kprobe/__vfs_write") -int j__vfs_write(struct pt_regs *ctx) -{ - // skip non-sync I/O; see kernel code for __vfs_write() - struct file *file = (struct file *)PT_REGS_PARM1(ctx); - size_t count = PT_REGS_PARM3(ctx); - if (!BPF_CORE_READ(file, f_op, read_iter))// (!(file->f_op->read_iter)) - return 0; - return trace_rw_entry(ctx, file, count); -} - -// output -static int trace_rw_return(struct pt_regs *ctx, int type) -{ - struct val_t *valp; - u32 pid = bpf_get_current_pid_tgid(); - - valp = bpf_map_lookup_elem(&entryinfo, &pid); // entryinfo.lookup(&pid); - if (valp == 0) { - // missed tracing issue or filtered - return 0; - } - u64 delta_us = (bpf_ktime_get_ns() - valp->ts) / 1000; - bpf_map_delete_elem(&entryinfo, &pid); // entryinfo.delete(&pid); - if (delta_us < MIN_US) - return 0; - - struct data_t data = {}; - data.mode = type; - data.pid = pid; - data.sz = valp->sz; - data.delta_us = delta_us; - data.name_len = valp->name_len; - bpf_probe_read_kernel(&data.name, sizeof(data.name), valp->name); - bpf_probe_read_kernel(&data.comm, sizeof(data.comm), valp->comm); - bpf_perf_event_output(ctx, &events, BPF_F_CURRENT_CPU, &data, sizeof(data)); // events.perf_submit(ctx, &data, sizeof(data)); - - return 0; -} - -SEC("kretprobe/__vfs_read") -int r__vfs_read(struct pt_regs *ctx) -{ - return trace_rw_return(ctx, MODE_READ); -} - -SEC("kretprobe/__vfs_write") -int r__vfs_write(struct pt_regs *ctx) -{ - return trace_rw_return(ctx, MODE_WRITE); -} -char _license[] SEC("license") = "GPL"; -""" - -mode_s = { - 0: 'R', - 1: 'W', -} -start_ts = time.time() - - -class CfileSlower(ClbcBase): - def __init__(self): - super(CfileSlower, self).__init__("fileslower", bpf_str=bpfProg) - print("Tracing sync read/writes slower than %d ms" % min_ms) - print("%-8s %-14s %-6s %1s %-7s %7s %s" % ("TIME(s)", "COMM", "TID", "D", - "BYTES", "LAT(ms)", "FILENAME")) - - def _cb(self, cpu, e): - ms = float(e.delta_us) / 1000 - name = e.name - print("%-8.3f %-14.14s %-6s %1s %-7s %7.2f %s" % ( - time.time() - start_ts, e.comm, - e.pid, mode_s[e.mode], e.sz, ms, name)) - - def loop(self): - CeventThread(self, 'events', self._cb) - self.waitInterrupt() - - -if __name__ == "__main__": - # arguments - examples = """examples: - ./fileslower # trace sync file I/O slower than 10 ms (default) - ./fileslower 1 # trace sync file I/O slower than 1 ms - ./fileslower -p 185 # trace PID 185 only - """ - parser = argparse.ArgumentParser( - description="Trace slow synchronous file reads and writes", - formatter_class=argparse.RawDescriptionHelpFormatter, - epilog=examples) - parser.add_argument("-p", "--pid", type=int, metavar="PID", dest="tgid", - help="trace this PID only") - parser.add_argument("-a", "--all-files", action="store_true", - help="include non-regular file types (sockets, FIFOs, etc)") - parser.add_argument("min_ms", nargs="?", default='10', - help="minimum I/O duration to trace, in ms (default 10)") - parser.add_argument("--ebpf", action="store_true", - help=argparse.SUPPRESS) - args = parser.parse_args() - min_ms = int(args.min_ms) - tgid = args.tgid - debug = 1 - - bpfProg = bpfProg.replace('MIN_US', str(min_ms * 1000)) - if args.tgid: - bpfProg = bpfProg.replace('TGID_FILTER', 'tgid != %d' % tgid) - else: - bpfProg = bpfProg.replace('TGID_FILTER', '0') - if args.all_files: - bpfProg = bpfProg.replace('TYPE_FILTER', '0') - else: - bpfProg = bpfProg.replace('TYPE_FILTER', '!S_ISREG(mode)') - - if debug or args.ebpf: - if args.ebpf: - exit() - - f = CfileSlower() - f.loop() - pass diff --git a/lcc/pylcc/pytool/oomkill.py b/lcc/pylcc/pytool/oomkill.py deleted file mode 100644 index 7ed6fd2..0000000 --- a/lcc/pylcc/pytool/oomkill.py +++ /dev/null @@ -1,62 +0,0 @@ -from pylcc.lbcBase import ClbcBase -from time import strftime - -loadavg = "/proc/loadavg" -bpfPog = r""" -#include "lbc.h" -#define TASK_COMM_LEN 16 -struct data_t { - u32 c_pid; - u32 p_pid; - u64 pages; - char c_comm[TASK_COMM_LEN]; - char p_comm[TASK_COMM_LEN]; -}; - -LBC_PERF_OUTPUT(e_out, struct data_t, 128); -SEC("kprobe/oom_kill_process") -int j_oom_kill_process(struct pt_regs *ctx) -{ - struct oom_control* oc = (struct oom_control *)PT_REGS_PARM1(ctx); - struct task_struct* parent; - bpf_core_read(&parent, sizeof(parent), &oc->chosen); - struct data_t data = {}; - - data.c_pid = bpf_get_current_pid_tgid() >> 32; - bpf_get_current_comm(&data.c_comm, TASK_COMM_LEN); - data.p_pid = BPF_CORE_READ(parent, pid); - bpf_core_read(&data.pages, sizeof(data.pages), &oc->totalpages); - bpf_core_read(&data.p_comm[0], TASK_COMM_LEN, &parent->comm[0]); - - bpf_perf_event_output(ctx, &e_out, BPF_F_CURRENT_CPU, &data, sizeof(data)); - return 0; -} - -char _license[] SEC("license") = "GPL"; -""" - - -class CeventOut(ClbcBase): - def __init__(self): - super(CeventOut, self).__init__("eventOut", bpf_str=bpfPog) - - def _cb(self, cpu, data, size): - e = self.getMap('e_out', data, size) - with open(loadavg) as stats: - avgline = stats.read().rstrip() - print(("%s Triggered by PID %d (\"%s\"), OOM kill of PID %d (\"%s\")" - ", %d pages, loadavg: %s") % ( - strftime("%H:%M:%S"), e.c_pid, e.c_comm, e.p_pid, e.p_comm, e.pages, avgline)) - - def loop(self): - self.maps['e_out'].open_perf_buffer(self._cb) - try: - self.maps['e_out'].perf_buffer_poll() - except KeyboardInterrupt: - print("key interrupt.") - exit() - - -if __name__ == "__main__": - e = CeventOut() - e.loop() diff --git a/lcc/pylcc/pytool/opensnoop.py b/lcc/pylcc/pytool/opensnoop.py deleted file mode 100644 index 483c73a..0000000 --- a/lcc/pylcc/pytool/opensnoop.py +++ /dev/null @@ -1,176 +0,0 @@ -# -*- coding: utf-8 -*- -# cython:language_level=3 -""" -------------------------------------------------- - File Name: filelife - Description : - Author : xiugu.yh - date: 2022/07/15 -------------------------------------------------- - Change Activity: - 2022/07/15: -------------------------------------------------- -""" -__author__ = 'xiugu.yh' - -import ctypes as ct -import argparse -from pylcc.lbcBase import ClbcBase - -bpfPog = r""" -#include "lbc.h" - -#define TASK_COMM_LEN 16 -#define FILE_NAME_LEN 32 - -struct data_t { - u32 ret; - u64 start_ts; - u64 end_ts; - u32 c_pid; - u32 uid; - char c_comm[TASK_COMM_LEN]; - char filename[FILE_NAME_LEN]; -}; - -struct my_str { - char filename[32]; -}; - -LBC_HASH(entryinfo, u32, struct data_t, 1024); - -LBC_PERF_OUTPUT(e_out, struct data_t, 128); -SEC("kprobe/do_sys_openat2") -int entry_do_sys_openat2(struct pt_regs *ctx) -{ - struct my_str dname = {}; - struct data_t data = {}; - const char *filename = (char *)PT_REGS_PARM2(ctx); - - data.c_pid = bpf_get_current_pid_tgid() >> 32; - data.uid = bpf_get_current_uid_gid(); - data.start_ts = bpf_ktime_get_ns(); - bpf_get_current_comm(&data.c_comm, TASK_COMM_LEN); - bpf_probe_read_user_str(&data.filename, sizeof(data.filename), (void *)filename); - - bpf_map_update_elem(&entryinfo, &data.c_pid, &data, BPF_ANY); - - return 0; -} - -SEC("kretprobe/do_sys_openat2") -int ret_do_sys_openat2(struct pt_regs *ctx) -{ - struct data_t data = {}; - data.ret = ctx->ax; - - data.c_pid = bpf_get_current_pid_tgid() >> 32; - - struct data_t *data_ret = bpf_map_lookup_elem(&entryinfo, &data.c_pid); - if (data_ret == 0) { - return 0; - } - - PID_FILTER - - data.end_ts = bpf_ktime_get_ns(); - data.start_ts = data_ret->start_ts; - data.uid = data_ret->uid; - UID_FILTER - DELTA_TIME_FILTER - data.c_pid = data_ret->c_pid; - bpf_probe_read_kernel(&data.filename, sizeof(data_ret->filename), (void *)data_ret->filename); - // bpf_probe_read_kernel(&data.start_ts, sizeof(data_ret->start_ts), data_ret->start_ts); - // bpf_probe_read_kernel(&data.c_pid, sizeof(data_ret->c_pid), data_ret->c_pid); - - - bpf_get_current_comm(&data.c_comm, TASK_COMM_LEN); - - bpf_perf_event_output(ctx, &e_out, BPF_F_CURRENT_CPU, &data, sizeof(data)); - - return 0; -} - -char _license[] SEC("license") = "GPL"; -""" - -class OpenSnoop(ClbcBase): - def __init__(self, args): - super(OpenSnoop, self).__init__("OpenSnoop", bpf_str=bpfPog) - self.args = args - print("%-4s %-8s %-16s %-32s %16s %8s" % - ("UID", "PID", "COMM", "FILENAME", "DELTATIME(us)", "FD")) - - def _cb(self, cpu, data, size): - e = self.getMap('e_out', data, size) - if self.args.comm: - if self.args.comm in e.c_comm: - print("%-4s %-8d %-16s %-32s %16s %8s" % - (e.uid, e.c_pid, e.c_comm, e.filename, (int(e.end_ts) - int(e.start_ts))/1000, e.ret)) - else: - print("%-4s %-8d %-16s %-32s %16s %8s" % - (e.uid, e.c_pid, e.c_comm, e.filename, (int(e.end_ts) - int(e.start_ts))/1000, e.ret)) - - - def loop(self): - self.maps['e_out'].open_perf_buffer(self._cb) - try: - self.maps['e_out'].perf_buffer_poll() - except KeyboardInterrupt: - print("key interrupt.") - exit() - -if __name__ == "__main__": - - examples = """examples: - ./opensnoop # trace all open() syscalls - ./opensnoop -p 1469 # only trace PID 1469 - ./opensnoop -c cat # only trace process name contain cat - ./opensnoop -d 10 # only print the delta time more than this threshold value - ./opensnoop -u 1000 # only trace uid 1000 - """ - parser = argparse.ArgumentParser( - description="Trace open() syscalls", - formatter_class=argparse.RawDescriptionHelpFormatter, - epilog=examples) - parser.add_argument("-p", "--pid", help="trace this PID only") - parser.add_argument("-c", "--comm", help="only print process names containing this name") - parser.add_argument("-d", "--delay", type=int, help="only print delta time more than this threshold value") - parser.add_argument("-u", "--uid", type=int, help="trace this UID only") - - args = parser.parse_args() - - - DELTA_TIME_FILTER = '' - PID_FILTER = '' - UID_FILTER = '' - - if args.pid: - PID_FILTER = ''' - if(data.c_pid != %s) - { - return 0; - } - ''' % args.pid - - if args.delay: - DELTA_TIME_FILTER = ''' - if((data.end_ts - data.start_ts) / 1000 < %d) - { - return 0; - } - ''' % args.delay - - if args.uid: - UID_FILTER = ''' - if(data.uid != %d) - { - return 0; - } - ''' % args.uid - bpfPog = bpfPog.replace('PID_FILTER', PID_FILTER) - bpfPog = bpfPog.replace('DELTA_TIME_FILTER', DELTA_TIME_FILTER) - bpfPog = bpfPog.replace('UID_FILTER', UID_FILTER) - - e = OpenSnoop(args = args) - e.loop() diff --git a/lcc/pylcc/pytool/opensnoop_example.txt b/lcc/pylcc/pytool/opensnoop_example.txt deleted file mode 100644 index b84ccab..0000000 --- a/lcc/pylcc/pytool/opensnoop_example.txt +++ /dev/null @@ -1,174 +0,0 @@ -Demonstrations of opensnoop, the Linux eBPF/pylcc version. - -opensnoop traces the open() syscall system-wide, and prints various details. -Example output: - -# python opensnoop.py -remote server compile success. -UID PID COMM FILENAME DELTATIME(us) FD -0 31978 node /proc/6512/cmdline 26.877 19 -0 6517 sh /etc/ld.so.cache 10.687 3 -0 6517 sh /lib64/libtinfo.so.5 7.134 3 -0 6517 sh /lib64/libdl.so.2 6.406 3 -0 6517 sh /lib64/libc.so.6 6.275 3 -0 6517 sh /dev/tty 11.296 4294967290 -0 6517 sh /usr/lib/locale/locale-archive 7.869 3 -0 6517 sh /proc/meminfo 10.7 3 -0 6517 sh /usr/lib64/gconv/gconv-modules. 5.856 3 -0 6517 which /etc/ld.so.cache 6.176 3 -0 6517 which /lib64/libc.so.6 5.361 3 -0 6518 sh /etc/ld.so.cache 5.761 3 -0 6518 sh /lib64/libtinfo.so.5 6.022 3 -0 6518 sh /lib64/libdl.so.2 5.479 3 -0 6518 sh /lib64/libc.so.6 4.445 3 -0 6518 sh /dev/tty 7.442 4294967290 -0 6518 sh /usr/lib/locale/locale-archive 5.557 3 -0 6518 sh /proc/meminfo 8.989 3 -0 6518 sh /etc/nsswitch.conf 4.566 3 -0 6518 sh /etc/ld.so.cache 5.088 3 -0 6518 sh /lib64/libnss_files.so.2 7.865 3 -0 6518 sh /etc/passwd 6.55 3 -0 6518 ps /etc/ld.so.cache 6.653 3 -0 6518 ps /lib64/libprocps.so.4 8.826 3 -0 6518 ps /lib64/libsystemd.so.0 8.933 3 -0 6518 ps /lib64/libdl.so.2 15.249 3 -0 6518 ps /lib64/libc.so.6 6.328 3 -0 6518 ps /lib64/libcap.so.2 8.722 3 -0 6518 ps /lib64/libm.so.6 7.387 3 -0 6518 ps /lib64/librt.so.1 7.754 3 -0 6518 ps /lib64/libselinux.so.1 7.046 3 -0 6518 ps /lib64/liblzma.so.5 7.281 3 -0 6518 ps /lib64/liblz4.so.1 8.185 3 -^Ckey interrupt. - -While tracing, the ps process read various libraries and config files (looks like it -was starting up: a new process). - -opensnoop can be useful for discovering configuration and log files, if used -during application startup. - - -The -p option can be used to filter on a PID, which is filtered in-kernel. - - -# python opensnoop.py -p 1885 -remote server compile success. -UID PID COMM FILENAME DELTATIME(us) FD -0 1885 ilogtail /proc/self/stat 17.934 25 -0 1885 ilogtail /proc/1885/cmdline 13.091 25 -0 1885 ilogtail /proc/self/stat 28.615 25 -0 1885 ilogtail /usr/local/ilogtail/ 11.717 25 -0 1885 ilogtail /proc/self/stat 26.358 25 -0 1885 ilogtail /proc/self/stat 30.631 25 -0 1885 ilogtail /proc/self/stat 29.798 25 -0 1885 ilogtail /proc/self/stat 20.342 25 -0 1885 ilogtail /proc/self/stat 31.611 25 -0 1885 ilogtail /proc/self/stat 32.444 25 -0 1885 ilogtail /proc/self/stat 31.639 25 -0 1885 ilogtail /proc/self/stat 29.541 25 -^Ckey interrupt. - -this shows the ilogtail process which pid is 1885, opended various /proc/ files, -and we can see the DELTATIME. - - -The -U option include UID on output: - -# ./opensnoop -U -UID PID COMM FD ERR PATH -0 27063 vminfo 5 0 /var/run/utmp -103 628 dbus-daemon -1 2 /usr/local/share/dbus-1/system-services -103 628 dbus-daemon 18 0 /usr/share/dbus-1/system-services -103 628 dbus-daemon -1 2 /lib/dbus-1/system-services - - -The -u option filtering UID: - -# python opensnoop.py -u 997 -remote server compile success. -UID PID COMM FILENAME DELTATIME(us) FD -997 1289 zerotier-one /proc/net/dev_mcast 23.114 14 -997 1289 zerotier-one /proc/net/dev_mcast 28.241 14 -997 1289 zerotier-one /proc/net/dev_mcast 38.545 14 -997 1289 zerotier-one /proc/1289/net/dev 30.41 14 -997 1289 zerotier-one /proc/1289/net/if_inet6 10.026 14 -997 1289 zerotier-one /proc/net/dev_mcast 35.183 14 -997 1289 zerotier-one /proc/net/dev_mcast 32.937 14 -997 1289 zerotier-one /proc/net/dev_mcast 28.233 14 -^Ckey interrupt. - -This shows all files opened by UID 997 user. - - -A maximum tracing duration can be set with the -d option. For example, to trace -for 40 us: - -python opensnoop.py -d 40 -remote server compile success. -UID PID COMM FILENAME DELTATIME(us) FD -0 1084 tailscaled /proc/net/tcp 47.871 18 -0 1084 tailscaled /proc/net/tcp 58.761 18 -0 1885 ilogtail /usr/local/ilogtail/inotify_wat 63.351 25 -0 1084 tailscaled /proc/net/tcp 41.782 18 -0 1084 tailscaled /proc/net/tcp 40.907 18 -0 1469 /usr/local/clou /proc/diskstats 45.05 10 -0 1084 tailscaled /proc/net/tcp 45.571 18 -^Ckey interrupt. - - -The -c option can be used to filter on process comm using partial matches: - -# python opensnoop.py -c cat -remote server compile success. -UID PID COMM FILENAME DELTATIME(us) FD -0 7702 cat /etc/ld.so.cache 4.806 3 -0 7702 cat /lib64/libc.so.6 4.55 3 -0 7702 cat /usr/lib/locale/locale-archive 7.789 3 -0 7702 cat /proc/5451/stat 8.669 3 -0 7703 cat /etc/ld.so.cache 4.948 3 -0 7703 cat /lib64/libc.so.6 4.197 3 -0 7703 cat /usr/lib/locale/locale-archive 7.027 3 -0 7703 cat /proc/7692/stat 8.086 3 -0 7704 cat /etc/ld.so.cache 5.099 3 -0 7704 cat /lib64/libc.so.6 5.73 3 -0 7704 cat /usr/lib/locale/locale-archive 5.592 3 -0 7704 cat /proc/7696/stat 9.235 3 -0 7707 cat /etc/ld.so.cache 5.893 3 -0 7707 cat /lib64/libc.so.6 5.149 3 -0 7707 cat /usr/lib/locale/locale-archive 6.836 3 -0 7707 cat /proc/5451/stat 10.949 3 -0 7709 cat /etc/ld.so.cache 6.91 3 -0 7709 cat /lib64/libc.so.6 5.928 3 -0 7709 cat /usr/lib/locale/locale-archive 9.114 3 -0 7709 cat /proc/7692/stat 8.968 3 -0 7711 cat /etc/ld.so.cache 5.201 3 -0 7711 cat /lib64/libc.so.6 6.24 3 -0 7711 cat /usr/lib/locale/locale-archive 6.012 3 -0 7711 cat /proc/7696/stat 10.755 3 -^Ckey interrupt. - - - - - -USAGE message: - -# python opensnoop.py --help -usage: opensnoop.py [-h] [-p PID] [-c COMM] [-d DELAY] [-u UID] - -Trace open() syscalls - -optional arguments: - -h, --help show this help message and exit - -p PID, --pid PID trace this PID only - -c COMM, --comm COMM only print process names containing this name - -d DELAY, --delay DELAY - only print delta time more than this threshold value - -u UID, --uid UID trace this UID only - -examples: - ./opensnoop # trace all open() syscalls - ./opensnoop -p 1469 # only trace PID 1469 - ./opensnoop -c cat # only trace process name contain cat - ./opensnoop -d 10 # only print the delta time more than this threshold value - ./opensnoop -u 1000 # only trace uid 1000 \ No newline at end of file diff --git a/lcc/pylcc/pytool/perfMemFly.py b/lcc/pylcc/pytool/perfMemFly.py deleted file mode 100644 index a6d1f74..0000000 --- a/lcc/pylcc/pytool/perfMemFly.py +++ /dev/null @@ -1,139 +0,0 @@ -# -*- coding: utf-8 -*- -""" -------------------------------------------------- - File Name: perfMemFly - Description : - Author : liaozhaoyan - date: 2022/10/27 -------------------------------------------------- - Change Activity: - 2022/10/27: -------------------------------------------------- -""" -__author__ = 'liaozhaoyan' - -import os -import json -from pylcc.lbcBase import ClbcBase, CeventThread -from surftrace.surfElf import CelfKsym -from pylcc.lbcStack import getKStacks -from pylcc.perfEvent import * - -PROC_FILE = "/proc/coolbpf/sys_fly" - - -bpfPog = r""" -#include "lbc.h" -struct data_t { - int pid; - int stack_id; - u64 ts; - u64 addr; - u64 value; - char comm[16]; -}; - -LBC_PERF_OUTPUT(e_out, struct data_t, 128); -LBC_STACK(call_stack, 4096); - -SEC("perf_event") -int bpf_prog(struct bpf_perf_event_data *ctx) -{ - struct data_t data = {}; - u64* addr = (u64*)(ctx->addr); - - data.stack_id = bpf_get_stackid(ctx, &call_stack, KERN_STACKID_FLAGS); - data.pid = bpf_get_current_pid_tgid() >> 32; - bpf_get_current_comm(&data.comm, 16); - - data.ts = bpf_ktime_get_ns(); - data.addr = ctx->addr; - data.value = _(*addr); - - bpf_perf_event_output(ctx, &e_out, BPF_F_CURRENT_CPU, &data, sizeof(data)); - return 0; -} - -char _license[] SEC("license") = "GPL"; -""" - - -class CperfMemFly(ClbcBase): - def __init__(self): - super(CperfMemFly, self).__init__("pMmeFly", bpf_str=bpfPog) - addr = self._getAddr() - self._setupPerf(addr) - self._ksym = CelfKsym() - - self._lastTs = 0 - self._beg = 0 - self._lastD = {} - self._arr = [] - - @staticmethod - def _getAddr(): - fd = os.open(PROC_FILE, os.O_RDWR) - p, v = os.read(fd, 64).decode().split(':') - os.close(fd) - return int(p, 16) - - def _setupPerf(self, addr): - pfConfig = { - "type": PerfType.BREAKPOINT, - "size": PERF_ATTR_SIZE_VER5, - "sample_period": 1, - "precise_ip": 2, - "wakeup_events": 1, - "bp_type": PerfBreakPointType.W, - "bp_addr": addr, - "bp_len": 8, - } - self.attachAllCpuPerf("bpf_prog", pfConfig, flags=PerfFlag.FD_CLOEXEC) - - def _cb(self, cpu, e): - print("cpu %d, pid: %d, comm:%s" % (cpu, e.pid, e.comm)) - print("set addr 0x%x to %d in %d ns" % (e.addr, e.value, e.ts)) - stacks = getKStacks(self.maps['call_stack'], e.stack_id, self._ksym) - print("call stack:") - print("\t" + "\n\t".join(stacks)) - self._saveTrace(e) - - def _saveTrace(self, e): - now = int(e.ts / 1000) - if self._lastTs: - self._lastD["ph"] = "E" - self._lastD["ts"] = now - self._beg - self._arr.append(self._lastD) - else: - self._beg = now - - d = {"name": str(e.value), - "pid": "mem", - "tid": "%s:%d" % (e.comm, e.pid), - "ph": "B", - "ts": now - self._beg, - "args": {"stacks": "\n".join(getKStacks(self.maps['call_stack'], e.stack_id, self._ksym))} - } - self._arr.append(d) - - self._lastTs = now - self._lastD = d.copy() - del self._lastD["args"] - - def _cbExit(self): - self._lastD["ph"] = "E" - self._lastD["ts"] += 1 - self._arr.append(self._lastD) - - with open("mem.json", "w") as f: - json.dump(self._arr, f) - - def loop(self): - CeventThread(self, 'e_out', self._cb) - self.waitInterrupt(self._cbExit) - - -if __name__ == "__main__": - fly = CperfMemFly() - fly.loop() - pass diff --git a/lcc/pylcc/pytool/perfSys.py b/lcc/pylcc/pytool/perfSys.py deleted file mode 100644 index 427727d..0000000 --- a/lcc/pylcc/pytool/perfSys.py +++ /dev/null @@ -1,184 +0,0 @@ -# -*- coding: utf-8 -*- -""" -------------------------------------------------- - File Name: perfSys - Description : - Author : liaozhaoyan - date: 2022/10/19 -------------------------------------------------- - Change Activity: - 2022/10/19: -------------------------------------------------- -""" -__author__ = 'liaozhaoyan' - -import time -import argparse -import psutil -from datetime import datetime -from multiprocessing import cpu_count -from treelib import Tree -from surftrace.surfElf import CelfKsym -from pylcc.lbcBase import ClbcBase -from pylcc.perfEvent import * -from pylcc.lbcStack import getKStacks -from quickSvg import Flame - -bpfPog = r""" -#include "lbc.h" - -#define STACK_COUNT 4096 -LBC_HASH(calls, u32, u64, STACK_COUNT); -LBC_STACK(call_stack, STACK_COUNT); - -static inline void add_hash(struct bpf_map_def* maps, u32 k, u64 v) { - u64 *pv = bpf_map_lookup_elem(maps, &k); - if (pv) { - __sync_fetch_and_add(pv, v); - } - else { - bpf_map_update_elem(maps, &k, &v, BPF_NOEXIST); - } -} - -#define incr_hash(maps, k) add_hash(maps, k, 1) - -SEC("perf_event") -int trace_stack(struct bpf_perf_event_data *ctx) { - int id = bpf_get_stackid(ctx, &call_stack, KERN_STACKID_FLAGS); - if (id > 0) { - incr_hash(&calls, id); - } - return 0; -} - -char _license[] SEC("license") = "GPL"; -""" - - -def getValue(data): - return data['count'] - - -def getNote(tree, node): - root = tree.get_node(tree.root) - perRoot = node.data['count'] * 100.0 / root.data['count'] - - parent = tree.parent(node.identifier) - if parent is None: - perParent = 100.0 - else: - perParent = node.data['count'] * 100.0 / parent.data['count'] - return "catch %d samples, %f%% from root, %f%% from parent" % (node.data['count'], perRoot, perParent) - - -class CperfSys(ClbcBase): - def __init__(self, freq=200, wait=2, cpus=None): - super(CperfSys, self).__init__("sysHigh", bpf_str=bpfPog) - self._freq = freq - self._wait = wait - self._cpus = cpus - self._ksym = CelfKsym() - - def loop(self): - pfConfig = { - "sample_freq": self._freq, - "freq": 1, - "type": PerfType.SOFTWARE, - "config": PerfSwIds.CPU_CLOCK, - } - if self._cpus is None: - self.attachAllCpuPerf("trace_stack", pfConfig) - else: - for index, isOn in enumerate(self._cpus): - if isOn: - self.attachPerfEvent("trace_stack", pfConfig, pid=-1, cpu=index) - time.sleep(self._wait) - res = self.maps['calls'].get() - self.setupTree(res) - - def _filterChild(self, tree, nid, tag): - for child in tree.children(nid): - if child.tag == tag: - return child - return None - - def _setupTitle(self): - onCpu = [] - for index, isOn in enumerate(self._cpus): - if isOn: - onCpu.append(str(index)) - return "sysHigh for cpu " + ":".join(onCpu) - - def setupTree(self, res): - tree = Tree() - root = tree.create_node(tag="total", parent=tree.root, data={"func": "total", "count": 0}) - for k, v in res.items(): - last = root - syms = getKStacks(self.maps['call_stack'], k, self._ksym) - for sym in syms[::-1]: - sym = sym.encode() - node = self._filterChild(tree, last.identifier, sym) - if node is None: - node = tree.create_node(tag=sym, parent=last, data={"func": sym, "count": v}) - else: - node.data["count"] += v - last = node - root.data['count'] += v - flame = Flame("%s.svg" % datetime.now().strftime("%Y%m%d_%H%M%S")) - flame.render(tree, getValue, getNote, self._setupTitle()) - - -class CperfLoop(object): - def __init__(self, args): - super(CperfLoop, self).__init__() - self._args = args - self._cpus = cpu_count() - - def _check(self, last, now): - perSys = [] - for i in range(self._cpus): - perSys.append(now[i].system - last[i].system) - - isRun = False - cpus = [] - for v in perSys: - per = v / self._args.interval * 100.0 - if per >= self._args.gate: - cpus.append(1) - isRun = True - else: - cpus.append(0) - print(perSys, isRun) - if isRun: - bpf = CperfSys(freq=self._args.freq, wait=self._args.sample, cpus=cpus) - bpf.loop() - - def loop(self): - while True: - last = psutil.cpu_times(percpu=True) - time.sleep(self._args.interval) - now = psutil.cpu_times(percpu=True) - self._check(last, now) - - -if __name__ == "__main__": - examples = """examples: python perfSys -g 10 -i 3 -s 3 -f 200""" - - parser = argparse.ArgumentParser( - description="collect sys high flame svg.", - formatter_class=argparse.RawDescriptionHelpFormatter, - epilog=examples - ) - parser.add_argument('-i', '--interval', type=float, dest='interval', default=3, - help='system usage sampling interval time, uint second.') - parser.add_argument('-g', '--gate', type=float, dest='gate', default=10, - help='system usage limit trigger svg.') - parser.add_argument('-s', '--sample', type=float, dest='sample', default=3, - help='perf sample time.') - parser.add_argument('-f', '--freq', type=int, dest='freq', default=200, - help='perf sample frequency.') - args = parser.parse_args() - loop = CperfLoop(args) - loop.loop() - pass diff --git a/lcc/pylcc/pytool/runlatency.py b/lcc/pylcc/pytool/runlatency.py deleted file mode 100644 index 6e6a186..0000000 --- a/lcc/pylcc/pytool/runlatency.py +++ /dev/null @@ -1,97 +0,0 @@ - -# -*- coding: utf-8 -*- -# cython:language_level=2 -""" -------------------------------------------------- - File Name: runlatency - Description : - Author : liaozhaoyan - date: 2021/11/28 -------------------------------------------------- - Change Activity: - 2021/11/28: -------------------------------------------------- -""" -__author__ = 'liaozhaoyan' - -import sys -from pylcc.lbcBase import ClbcBase, CexecCmd - -bpfProg = r""" -struct data_t { - int cpu; - int type; // 0: irq, 1:sirq - u32 stack_id; - u64 delayed; -}; - -LBC_PERF_OUTPUT(e_out, struct data_t, 128); -LBC_STACK(call_stack, 256); - -// check_timer_delay(bool hirq, int cpu , u64 delta, u64 stamp) -SEC("kprobe/check_timer_delay") -int j_check_timer_delay(struct pt_regs *ctx) -{ - struct data_t data = {}; - - data.cpu = PT_REGS_PARM2(ctx); - data.type = PT_REGS_PARM1(ctx); - data.delayed = PT_REGS_PARM3(ctx); - data.stack_id = bpf_get_stackid(ctx, &call_stack, KERN_STACKID_FLAGS); - - bpf_perf_event_output(ctx, &e_out, BPF_F_CURRENT_CPU, &data, sizeof(data)); - return 0; -} -""" - - -class Crunlatency(ClbcBase): - def __init__(self, lat=10): - self._exec = CexecCmd - self.setupKo(lat >> 1) - super(Crunlatency, self).__init__("runlatency", bpf_str=bpfProg) - - def checkKoInstall(self, ko): - installed = False - mods = self._exec.cmd("lsmod") - for mod in mods.split('\n'): - if mod.startswith(ko): - installed = True - break - if not installed: - self._exec.cmd("insmod %s.ko" % ko) - - def setupKo(self, lat): - self.checkKoInstall("runlat") - enable = self._exec.cmd("cat /proc/runlatency/enable") - if enable[0] == '1': - self._exec.cmd("echo 0 > /proc/runlatency/enable") - self._exec.cmd("echo %d > /proc/runlatency/enable" % int(lat)) - self._exec.cmd("echo 1 > /proc/runlatency/enable") - - def _cb(self, cpu, data, size): - e = self.getMap('e_out', data, size) - if e.type == 0: - print("cpu%d catch %dns hard irq delay.") - else: - print("cpu%d catch %dns soft irq delay.") - stacks = self.maps['call_stack'].getStacks(e.stack_id) - print("call trace:") - for s in stacks: - print(s) - - def loop(self): - self.maps['e_out'].open_perf_buffer(self._cb) - try: - self.maps['e_out'].perf_buffer_poll() - except KeyboardInterrupt: - print("key interrupt.") - exit() - - -if __name__ == "__main__": - lat = 10 - if len(sys.argv) >= 2: - lat = int(sys.argv[1]) - - diff --git a/lcc/pylcc/pytool/swapin.py b/lcc/pylcc/pytool/swapin.py deleted file mode 100644 index 078b323..0000000 --- a/lcc/pylcc/pytool/swapin.py +++ /dev/null @@ -1,58 +0,0 @@ -import ctypes as ct -from pylcc.lbcBase import ClbcBase -from time import sleep, strftime - -interval = 1 -bpfPog = r""" -#include "lbc.h" -#define TASK_COMM_LEN 16 -struct key_t { - u64 count; - char comm[TASK_COMM_LEN]; -}; - -LBC_HASH(counts,u32, struct key_t, 1024); -SEC("kprobe/swap_readpage") -int j_swap_readpage(struct pt_regs *ctx) -{ - u64 *val, cnt; - u32 tgid = bpf_get_current_pid_tgid() >> 32; - struct key_t key; - bpf_get_current_comm(&key.comm, sizeof(key.comm)); - val = bpf_map_lookup_elem(&counts, &tgid); - cnt = val ? *val + 1 : 1; - key.count = cnt; - bpf_map_update_elem(&counts, &tgid, &key, BPF_ANY); - return 0; -} - -char _license[] SEC("license") = "GPL"; -""" - - -class ChashMap(ClbcBase): - def __init__(self): - super(ChashMap, self).__init__("hashMap", bpf_str=bpfPog) - - def loop(self): - print("Counting swap ins. Ctrl-C to end.") - while 1: - try: - sleep(interval) - except KeyboardInterrupt: - print("Detaching...") - exit() - print(strftime("%H:%M:%S")) - print("%-16s %-7s %s" % ("COMM", "PID", "COUNT")) - dMap = self.maps['counts'] - dict = dMap.get() - for k, v in sorted(dict.items(), - key=lambda counts: counts[1]['count']): - print("%-16s %-7d %d" % (v['comm'], k, v['count'])) - dMap.clear() - print() - - -if __name__ == "__main__": - e = ChashMap() - e.loop() diff --git a/lcc/pylcc/pytool/syncsnoop.py b/lcc/pylcc/pytool/syncsnoop.py deleted file mode 100644 index f74fcfd..0000000 --- a/lcc/pylcc/pytool/syncsnoop.py +++ /dev/null @@ -1,40 +0,0 @@ -from __future__ import print_function -from pylcc.lbcBase import ClbcBase -import sys - -bpfPog = """ - #include "lbc.h" - struct data_t { - u64 ts; - }; - LBC_PERF_OUTPUT(e_out, struct data_t, 128); - SEC("tracepoint/syscalls/sys_enter_open") - int trace_enter_open(struct syscalls_enter_open_args *ctx) - { - struct data_t data = {}; - data.ts = bpf_ktime_get_ns() / 1000; - bpf_perf_event_output(ctx, &e_out, BPF_F_CURRENT_CPU, &data, sizeof(data)); - }; - char _license[] SEC("license") = "GPL"; -""" -class CeventOut(ClbcBase): - def __init__(self): - super(CeventOut, self).__init__("eventOut", bpf_str=bpfPog) - - def _cb(self, cpu, data, size): - event = self.getMap('e_out', data, size) - print("%-18.9f sync()" % (float(event.ts) / 1000000)) - sys.stdout.flush() - - def loop(self): - self.maps['e_out'].open_perf_buffer(self._cb) - try: - self.maps['e_out'].perf_buffer_poll() - except KeyboardInterrupt: - print("key interrupt.") - exit() - - -if __name__ == "__main__": - e = CeventOut() - e.loop() diff --git a/lcc/pylcc/pytool/tcprtt.py b/lcc/pylcc/pytool/tcprtt.py deleted file mode 100644 index 5c014b6..0000000 --- a/lcc/pylcc/pytool/tcprtt.py +++ /dev/null @@ -1,174 +0,0 @@ -# -*- coding: utf-8 -*- -# cython:language_level=3 -""" -------------------------------------------------- - File Name: tcprtt - Description : - Author : xiugu.yh - date: 2022/07/26 -------------------------------------------------- - Change Activity: - 2022/07/26: -------------------------------------------------- -""" -__author__ = 'xiugu.yh' - -import ctypes as ct -import argparse -import time -from pylcc.lbcBase import ClbcBase -from socket import inet_ntop, inet_aton, ntohs, AF_INET, AF_INET6 -from struct import pack, unpack - -bpfPog = r""" -#include "lbc.h" - -#define TASK_COMM_LEN 16 -#define FILE_NAME_LEN 32 -#define BUFFER_LEN 200 - -typedef struct sock_key { - u32 saddr; - u32 daddr; - u64 slot; - u16 sport; - u16 dport; - u16 family; -} sock_key_t; - -typedef struct sock_latenty { - u64 latency; - u64 count; -} sock_latency_t; - -LBC_HIST2(hist2); -LBC_HASH(start, u32, u64, 256 * 1024); //record ns -SEC("kprobe/tcp_rcv_established") -int entry_tcp_rcv_established(struct pt_regs *ctx) -{ - struct sock *sk = (struct sock *)PT_REGS_PARM1(ctx); - struct inet_sock *inet = (struct inet_sock *)sk; - struct tcp_sock *ts = (struct tcp_sock *)sk; - u32 srtt = 0; - - /* filters */ - u16 sport = 0; - u16 dport = 0; - u32 saddr = 0; - u32 daddr = 0; - u16 family = 0; - - bpf_probe_read_kernel(&srtt, sizeof(srtt), (void *)&ts->srtt_us); - bpf_probe_read_kernel(&sport, sizeof(sport), (void *)&sk->__sk_common.skc_num); - bpf_probe_read_kernel(&dport, sizeof(dport), (void *)&sk->__sk_common.skc_dport); - bpf_probe_read_kernel(&saddr, sizeof(saddr), (void *)&sk->__sk_common.skc_rcv_saddr); - bpf_probe_read_kernel(&daddr, sizeof(daddr), (void *)&sk->__sk_common.skc_daddr); - bpf_probe_read_kernel(&family, sizeof(family), (void *)&sk->__sk_common.skc_family); - - LPORTFILTER - RPORTFILTER - LADDRFILTER - RADDRFILTER - - // to ms - srtt = srtt >> 3; // us - srtt /= 1000; // ms - - hist2_push(&hist2, srtt); - return 0; -} - -char _license[] SEC("license") = "GPL"; -""" - -class TcpRtt(ClbcBase): - def __init__(self, args): - super(TcpRtt, self).__init__("TcpRtt", bpf_str=bpfPog) - - def proc(self): - try: - print("----------------------------\n") - print("sport: %s dport: %s saddr: %s daddr: %s" - %(args.lport, args.rport, args.laddr, args.raddr)) - print("ms\tcount\tdistribution") - self.maps['hist2'].showHist("hist2:") - print("----------------------------\n") - except ValueError: - print("The input list is empty or all zero.") - -if __name__ == "__main__": - - examples = """examples: - ./tcprtt # summarize TCP RTT - ./tcprtt -i 1 -d 10 # print 1 second summaries, 10 times - ./tcprtt -p # filter for local port - ./tcprtt -P # filter for remote port - ./tcprtt -a # filter for local address - ./tcprtt -A # filter for remote address - ./tcprtt -b # show sockets histogram by local address - ./tcprtt -B # show sockets histogram by remote address - ./tcprtt -e # show extension summary(average) - """ - parser = argparse.ArgumentParser( - description="Summarize TCP RTT as a histogram", - formatter_class=argparse.RawDescriptionHelpFormatter, - epilog=examples) - parser.add_argument("-i", "--interval", type=int, default=3, help="summary interval, seconds") - parser.add_argument("-d", "--duration", type=int, default=99999, help="total duration of trace, seconds") - parser.add_argument("-p", "--lport", type=int, help="filter for local port") - parser.add_argument("-P", "--rport", type=int, help="filter for remote port") - parser.add_argument("-a", "--laddr", help="filter for local address") - parser.add_argument("-A", "--raddr", help="filter for remote address") - # parser.add_argument("-b", "--byladdr", action="store_true", help="show sockets histogram by local address") - # parser.add_argument("-B", "--byraddr", action="store_true", help="show sockets histogram by remote address") - - - args = parser.parse_args() - - LPORTFILTER = '' - RPORTFILTER = '' - LADDRFILTER = '' - RADDRFILTER = '' - - - if args.lport: - LPORTFILTER = ''' - if (sport != %d) - { - return 0; - } - ''' % args.lport - - if args.rport: - RPORTFILTER = ''' - if (dport != %d) - { - return 0; - } - ''' % ntohs(args.rport) - - if args.laddr: - LADDRFILTER = ''' - if (saddr != %d) - { - return 0; - } - ''' % unpack("=I", inet_aton(args.laddr))[0] - if args.raddr: - RADDRFILTER = ''' - if (daddr != %d) - { - return 0; - } - ''' % unpack("=I", inet_aton(args.raddr))[0] - - bpfPog = bpfPog.replace('LPORTFILTER', LPORTFILTER) - bpfPog = bpfPog.replace('RPORTFILTER', RPORTFILTER) - bpfPog = bpfPog.replace('LADDRFILTER', LADDRFILTER) - bpfPog = bpfPog.replace('RADDRFILTER', RADDRFILTER) - - - e = TcpRtt(args) - for i in range(args.duration): - time.sleep(args.interval) - e.proc() diff --git a/lcc/pylcc/pytool/tcprtt_example.txt b/lcc/pylcc/pytool/tcprtt_example.txt deleted file mode 100644 index d6eb802..0000000 --- a/lcc/pylcc/pytool/tcprtt_example.txt +++ /dev/null @@ -1,60 +0,0 @@ -Demonstrations of tcprtt, the Linux eBPF/pylcc version. - - -This program traces TCP RTT(round-trip time) to analyze the quality of -network, then help us to distinguish the network latency trouble is from -user process or physical network. - - -Use filter for address and(or) port. Ex, only collect local address 192.168.122.200 -and remote address 192.168.122.100 and remote port 80. -# ./tcprtt -i 1 -d 10 -a 192.168.122.200 -A 192.168.122.100 -P 80 - -Tracing at server side. Show all clients histogram summary. -For example: -# python tcprtt.py -d 10 -i 3 ----------------------------- - -sport: None dport: None saddr: None daddr: None -ms count distribution -hist2: -[0,1) 44 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ | -[1,2) 18 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ | -[2,4) 6 |@@@@@@@@@ | -[4,8) 2 |@@@ | -[8,16) 0 | | -[16,32) 18 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ | ----------------------------- - - -USAGE Messages: -# python tcprtt.py -h -usage: tcprtt.py [-h] [-i INTERVAL] [-d DURATION] [-p LPORT] [-P RPORT] [-a LADDR] [-A RADDR] - -Summarize TCP RTT as a histogram - -optional arguments: - -h, --help show this help message and exit - -i INTERVAL, --interval INTERVAL - summary interval, seconds - -d DURATION, --duration DURATION - total duration of trace, seconds - -p LPORT, --lport LPORT - filter for local port - -P RPORT, --rport RPORT - filter for remote port - -a LADDR, --laddr LADDR - filter for local address - -A RADDR, --raddr RADDR - filter for remote address - -examples: - ./tcprtt # summarize TCP RTT - ./tcprtt -i 1 -d 10 # print 1 second summaries, 10 times - ./tcprtt -p # filter for local port - ./tcprtt -P # filter for remote port - ./tcprtt -a # filter for local address - ./tcprtt -A # filter for remote address - ./tcprtt -b # show sockets histogram by local address - ./tcprtt -B # show sockets histogram by remote address - ./tcprtt -e # show extension summary(average) \ No newline at end of file diff --git a/lcc/pylcc/test/ffiObj/testFFIObj.py b/lcc/pylcc/test/ffiObj/testFFIObj.py deleted file mode 100644 index 3677baf..0000000 --- a/lcc/pylcc/test/ffiObj/testFFIObj.py +++ /dev/null @@ -1,181 +0,0 @@ -# -*- coding: utf-8 -*- -""" -------------------------------------------------- - File Name: testFFIObj - Description : - Author : liaozhaoyan - date: 2022/10/13 -------------------------------------------------- - Change Activity: - 2022/10/13: -------------------------------------------------- -""" -__author__ = 'liaozhaoyan' - -import cffi -from pylcc.lbcMaps import CffiTrans - -ffi = cffi.FFI() -ffi.cdef(""" - typedef long unsigned int u64; - struct struct_child{ - int a; - int b; - }; - struct struct_user{ - struct struct_child childs[2]; - struct struct_child child; - struct struct_child* pchild; - int a; - struct { - int aa; - int bb; - }b; - int c[4]; - void* p; - void* pa[4]; - - char s[16]; - char ss[4][16]; - - union { - unsigned int a; - unsigned short b; - }u; - - unsigned char u8; - signed char v8; - short v16; - long long v64; - double d; - float f; - }; - union union_user{ - unsigned long a; - unsigned int b; - unsigned short c; - unsigned char d; - unsigned char e[4]; - }; - """) - -obj = CffiTrans(ffi) - -print("base type..") -int_v = ffi.new("int *", 0x55aa55aa) -assert (obj.value(int_v) == 0x55aa55aa) - -char_v = ffi.new("char *", 'c') -assert (obj.value(char_v) == 'c') -uchar_v = ffi.new("unsigned char *", 0xaa) -assert (obj.value(uchar_v) == 0xaa) - -short_v = ffi.new("short *", 0x55aa) -assert (obj.value(short_v) == 0x55aa) -ushot_v = ffi.new("unsigned short *", 0xaa55) -assert (obj.value(ushot_v) == 0xaa55) - -sint_v = ffi.new("signed int *", 0x55aa55aa) -assert (obj.value(sint_v) == 0x55aa55aa) -uint_v = ffi.new("unsigned int *", 0xaa55aa55) -assert (obj.value(uint_v) == 0xaa55aa55) - -u64_v = ffi.new("u64 *", 0x123456789a) -assert (obj.value(u64_v) == 0x123456789a) -int_v = ffi.new("int *", -12345678) -assert (obj.value(int_v) == -12345678) - -long_v = ffi.new("long *", 0x55aa55aa55aa55aa) -assert (obj.value(long_v) == 0x55aa55aa55aa55aa) -ulong_v = ffi.new("unsigned long *", 0xaa55aa55aa55aa55) -assert (obj.value(ulong_v) == 0xaa55aa55aa55aa55) - -float_v = ffi.new("float *", 3.1415926) -assert (obj.value(float_v) - 3.1415926 < 1e-6) -double_v = ffi.new("double *", -3.1415926) -assert (obj.value(double_v) + 3.1415926 < 1e-6) -print("pass") - -print("point type..") # Users should not access C pointers in python -point = ffi.new("void **") -ffi_p = obj.value(point) -assert (ffi_p.startswith("point:")) - -point = ffi.new("char **") -ffi_p = obj.value(point) -assert (ffi_p.startswith("point:")) -print("pass") - -print("array type..") -arr = ffi.new("int [4]", [1, 2, 3, 4]) -ffiArr = obj.value(arr) -assert (ffiArr[0] == 1) -assert (ffiArr[1] == 2) -assert (ffiArr[2] == 3) -assert (ffiArr[3] == 4) - -arr = ffi.new("int [2][2]", [[1, 2], [3, 4]]) -ffiArr = obj.value(arr) -assert (ffiArr[0][0] == 1) -assert (ffiArr[0][1] == 2) -assert (ffiArr[1][0] == 3) -assert (ffiArr[1][1] == 4) - -s = ffi.new("char [16]", "hello.") -ffs_s = obj.value(s) -assert (ffs_s == "hello.") -print("pass") - -print("struct type..") -_struct = ffi.new("struct struct_user *") -_struct.childs[0].a = 1 # struct array -_struct.childs[0].b = 2 -_struct.childs[1].a = 3 -_struct.childs[1].b = 4 -_struct.child.a = 5 -_struct.child.b = 6 -_struct.a = 1 -_struct.b.aa = 2 # anon struct -_struct.b.bb = 3 -_struct.c = [1, 2, 3, 4] # array -_struct.u.a = 0x1234567 -_struct.d = 3.1415926 -_struct.f = 3.1415926 -ffi_struct = obj.value(_struct) -assert (ffi_struct.childs[0].a == 1) -assert (ffi_struct.childs[0].b == 2) -assert (ffi_struct.childs[1].a == 3) -assert (ffi_struct.childs[1].b == 4) -assert (ffi_struct.child.a == 5) -assert (ffi_struct.child.b == 6) -assert (ffi_struct.pchild == "point:struct struct_child *") -assert (ffi_struct.a == 1) -assert (ffi_struct.b.aa == 2) -assert (ffi_struct.b.bb == 3) -assert (ffi_struct.c[0] == 1) -assert (ffi_struct.c[1] == 2) -assert (ffi_struct.c[2] == 3) -assert (ffi_struct.c[3] == 4) -assert (ffi_struct.p.startswith("point:")) -assert (ffi_struct.pa[0].startswith("point:")) -assert (ffi_struct.pa[1].startswith("point:")) -assert (ffi_struct.u.a == 0x1234567) -assert (ffi_struct.u.b == 0x4567) -assert (ffi_struct.d - 3.1415926 < 1e-6) -assert (ffi_struct.f - 3.1415926 < 1e-6) -print("pass") - -print("union type..") -_union = ffi.new("union union_user *") -_union.a = 0x123456789abcdef -ffi_union = obj.value(_union) -assert (ffi_union.a == 0x123456789abcdef) -assert (ffi_union.b == 0x89abcdef) -assert (ffi_union.c == 0xcdef) -assert (ffi_union.d == 0xef) -assert (ffi_union.e[0] == 0xef) -assert (ffi_union.e[1] == 0xcd) -print("pass") - -if __name__ == "__main__": - pass diff --git a/lcc/pylcc/test/readStream/bccStream.py b/lcc/pylcc/test/readStream/bccStream.py deleted file mode 100644 index 260b747..0000000 --- a/lcc/pylcc/test/readStream/bccStream.py +++ /dev/null @@ -1,65 +0,0 @@ -# -*- coding: utf-8 -*- -""" -------------------------------------------------- - File Name: bccStream - Description : - Author : liaozhaoyan - date: 2022/12/13 -------------------------------------------------- - Change Activity: - 2022/12/13: -------------------------------------------------- -""" -__author__ = 'liaozhaoyan' - -import time -import datetime - -from bcc import BPF - -bpfPorg = """ -#include -#include - -#define TASK_COMM_LEN 16 -struct data_t { - long c_pid; - u32 p_pid; - char c_comm[TASK_COMM_LEN]; - char p_comm[TASK_COMM_LEN]; -}; - -BPF_HASH(pid_cnt, int, struct data_t, 4); - -int j_wake_up_new_task(struct pt_regs *ctx, struct task_struct* parent) -{ - int i = 1; - - struct data_t data = {}; - data.c_pid = bpf_get_current_pid_tgid() >> 32; - bpf_get_current_comm(&data.c_comm, TASK_COMM_LEN); - data.p_pid = parent->pid; - bpf_probe_read_kernel(&data.p_comm[0], TASK_COMM_LEN, &parent->comm[0]); - - pid_cnt.update(&i, &data); - return 0; -} -""" - -b = BPF(text=bpfPorg) -b.attach_kprobe(event="wake_up_new_task", fn_name="j_wake_up_new_task") - -d = {} -while len(d) == 0: - time.sleep(1) - d = b.get_table("pid_cnt") - -print("begin.") -t1 = datetime.datetime.now() -for i in range(1000000): - d = b.get_table("pid_cnt") # if use b["pid_cnt"], bcc will read data from cache, not c stream. -t2 = datetime.datetime.now() -print(t2 - t1) - -if __name__ == "__main__": - pass diff --git a/lcc/pylcc/test/readStream/lccStream.py b/lcc/pylcc/test/readStream/lccStream.py deleted file mode 100644 index 980a34f..0000000 --- a/lcc/pylcc/test/readStream/lccStream.py +++ /dev/null @@ -1,72 +0,0 @@ -# -*- coding: utf-8 -*- -""" -------------------------------------------------- - File Name: lccStream - Description : - Author : liaozhaoyan - date: 2022/12/13 -------------------------------------------------- - Change Activity: - 2022/12/13: -------------------------------------------------- -""" -__author__ = 'liaozhaoyan' - -import datetime -import time - -from pylcc.lbcBase import ClbcBase - -bpfPog = r""" -#include "lbc.h" -#define TASK_COMM_LEN 16 -struct data_t { - u32 c_pid; - u32 p_pid; - char c_comm[TASK_COMM_LEN]; - char p_comm[TASK_COMM_LEN]; -}; - -LBC_HASH(pid_cnt, int, struct data_t, 4); -SEC("kprobe/wake_up_new_task") -int j_wake_up_new_task(struct pt_regs *ctx) -{ - struct task_struct* parent = (struct task_struct *)PT_REGS_PARM1(ctx); - int i = 1; - - struct data_t data = {}; - data.c_pid = bpf_get_current_pid_tgid() >> 32; - bpf_get_current_comm(&data.c_comm, TASK_COMM_LEN); - data.p_pid = BPF_CORE_READ(parent, pid); - bpf_core_read(&data.p_comm[0], TASK_COMM_LEN, &parent->comm[0]); - - bpf_map_update_elem(&pid_cnt, &i, &data, BPF_ANY); - return 0; -} - -char _license[] SEC("license") = "GPL"; -""" - - -class ClccStream(ClbcBase): - def __init__(self): - super(ClccStream, self).__init__("lccstream", bpf_str=bpfPog) - - def loop(self): - d = {} - while len(d) == 0: - d = self.maps['pid_cnt'].get() - time.sleep(1) - - print("begin.") - t1 = datetime.datetime.now() - for i in range(1000000): - self.maps['pid_cnt'].get() - t2 = datetime.datetime.now() - print(t2 - t1) - - -if __name__ == "__main__": - lcc = ClccStream() - lcc.loop() - pass diff --git a/lcc/rlcc/CMakeLists.txt b/lcc/rlcc/CMakeLists.txt deleted file mode 100644 index 52d1586..0000000 --- a/lcc/rlcc/CMakeLists.txt +++ /dev/null @@ -1,3 +0,0 @@ - - -add_subdirectory(rexample) \ No newline at end of file diff --git a/lcc/rlcc/README.md b/lcc/rlcc/README.md deleted file mode 100644 index 1d2b315..0000000 --- a/lcc/rlcc/README.md +++ /dev/null @@ -1,20 +0,0 @@ - -### 编译 example 流程 - -1. `SKEL_RS=1 cargo build --release` 生成 rust skel 文件 -2. `SKEL_RS=0 cargo build --release` 无需在生成 rust skel 文件 - -默认 SKEL_RS 为 1 - -### 编译 rexample 流程 - -rexample 使用了远程编译功能,具体编译流程如下 - - -1. 运行命令 `mkdir build & cd build` 创建编译目录 - -2. 运行命令 `cmake ..` 生成 Makefile 文件 - -3. 运行命令 `make rexample` - -4. 运行 example 程序: `../lcc/rlcc/rexample/target/release/rexample` \ No newline at end of file diff --git a/lcc/rlcc/example/Cargo.lock b/lcc/rlcc/example/Cargo.lock deleted file mode 100644 index d83d659..0000000 --- a/lcc/rlcc/example/Cargo.lock +++ /dev/null @@ -1,1123 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -version = 3 - -[[package]] -name = "aho-corasick" -version = "0.7.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f" -dependencies = [ - "memchr", -] - -[[package]] -name = "ansi_term" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2" -dependencies = [ - "winapi", -] - -[[package]] -name = "anyhow" -version = "1.0.57" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08f9b8508dccb7687a1d6c4ce66b2b0ecef467c94667de27d8d7fe1f8d2a9cdc" - -[[package]] -name = "atty" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" -dependencies = [ - "hermit-abi", - "libc", - "winapi", -] - -[[package]] -name = "autocfg" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" - -[[package]] -name = "bindgen" -version = "0.59.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bd2a9a458e8f4304c52c43ebb0cfbd520289f8379a52e329a38afda99bf8eb8" -dependencies = [ - "bitflags", - "cexpr", - "clang-sys", - "clap", - "env_logger", - "lazy_static", - "lazycell", - "log", - "peeking_take_while", - "proc-macro2", - "quote", - "regex", - "rustc-hash", - "shlex", - "which", -] - -[[package]] -name = "bitflags" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" - -[[package]] -name = "byteorder" -version = "1.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" - -[[package]] -name = "camino" -version = "1.0.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "869119e97797867fd90f5e22af7d0bd274bd4635ebb9eb68c04f3f513ae6c412" -dependencies = [ - "serde", -] - -[[package]] -name = "cargo-platform" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cbdb825da8a5df079a43676dbe042702f1707b1109f713a01420fbb4cc71fa27" -dependencies = [ - "serde", -] - -[[package]] -name = "cargo_metadata" -version = "0.14.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4acbb09d9ee8e23699b9634375c72795d095bf268439da88562cf9b501f181fa" -dependencies = [ - "camino", - "cargo-platform", - "semver", - "serde", - "serde_json", -] - -[[package]] -name = "cc" -version = "1.0.73" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11" - -[[package]] -name = "cexpr" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766" -dependencies = [ - "nom 7.1.1", -] - -[[package]] -name = "cfg-if" -version = "0.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822" - -[[package]] -name = "cfg-if" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" - -[[package]] -name = "chrono" -version = "0.4.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "670ad68c9088c2a963aaa298cb369688cf3f9465ce5e2d4ca10e6e0098a1ce73" -dependencies = [ - "libc", - "num-integer", - "num-traits", - "time", - "winapi", -] - -[[package]] -name = "clang-sys" -version = "1.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a050e2153c5be08febd6734e29298e844fdb0fa21aeddd63b4eb7baa106c69b" -dependencies = [ - "glob", - "libc", - "libloading", -] - -[[package]] -name = "clap" -version = "2.34.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c" -dependencies = [ - "ansi_term", - "atty", - "bitflags", - "strsim", - "textwrap", - "unicode-width", - "vec_map", -] - -[[package]] -name = "clearscreen" -version = "1.0.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c969a6b6dadff9f3349b1f783f553e2411104763ca4789e1c6ca6a41f46a57b0" -dependencies = [ - "nix 0.24.1", - "terminfo", - "thiserror", - "which", - "winapi", -] - -[[package]] -name = "crossbeam-channel" -version = "0.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5aaa7bd5fb665c6864b5f963dd9097905c54125909c7aa94c9e18507cdbe6c53" -dependencies = [ - "cfg-if 1.0.0", - "crossbeam-utils", -] - -[[package]] -name = "crossbeam-utils" -version = "0.8.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bf124c720b7686e3c2663cf54062ab0f68a88af2fb6a030e87e30bf721fcb38" -dependencies = [ - "cfg-if 1.0.0", - "lazy_static", -] - -[[package]] -name = "dirs" -version = "2.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13aea89a5c93364a98e9b37b2fa237effbb694d5cfe01c5b70941f7eb087d5e3" -dependencies = [ - "cfg-if 0.1.10", - "dirs-sys", -] - -[[package]] -name = "dirs-sys" -version = "0.3.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b1d1d91c932ef41c0f2663aa8b0ca0342d444d842c06914aa0a7e352d0bada6" -dependencies = [ - "libc", - "redox_users", - "winapi", -] - -[[package]] -name = "either" -version = "1.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457" - -[[package]] -name = "env_logger" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b2cf0344971ee6c64c31be0d530793fba457d322dfec2810c453d0ef228f9c3" -dependencies = [ - "atty", - "humantime", - "log", - "regex", - "termcolor", -] - -[[package]] -name = "example" -version = "0.1.0" -dependencies = [ - "anyhow", - "bindgen", - "byteorder", - "chrono", - "clearscreen", - "crossbeam-channel", - "env_logger", - "libbpf-cargo", - "libbpf-rs", - "libbpf-sys", - "libc", - "log", - "nix 0.22.3", - "once_cell", - "regex", - "structopt", - "strum", - "strum_macros 0.24.0", -] - -[[package]] -name = "fastrand" -version = "1.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3fcf0cee53519c866c09b5de1f6c56ff9d647101f81c1964fa632e148896cdf" -dependencies = [ - "instant", -] - -[[package]] -name = "fnv" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" - -[[package]] -name = "getrandom" -version = "0.1.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" -dependencies = [ - "cfg-if 1.0.0", - "libc", - "wasi 0.9.0+wasi-snapshot-preview1", -] - -[[package]] -name = "getrandom" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9be70c98951c83b8d2f8f60d7065fa6d5146873094452a1008da8c2f1e4205ad" -dependencies = [ - "cfg-if 1.0.0", - "libc", - "wasi 0.10.0+wasi-snapshot-preview1", -] - -[[package]] -name = "glob" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574" - -[[package]] -name = "heck" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c" -dependencies = [ - "unicode-segmentation", -] - -[[package]] -name = "heck" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9" - -[[package]] -name = "hermit-abi" -version = "0.1.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" -dependencies = [ - "libc", -] - -[[package]] -name = "humantime" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" - -[[package]] -name = "instant" -version = "0.1.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" -dependencies = [ - "cfg-if 1.0.0", -] - -[[package]] -name = "itoa" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "112c678d4050afce233f4f2852bb2eb519230b3cf12f33585275537d7e41578d" - -[[package]] -name = "lazy_static" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" - -[[package]] -name = "lazycell" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" - -[[package]] -name = "libbpf-cargo" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16e737d865b08b4603a67909dd171bfb530ab6d3a758694dba6cb10904a4aaf7" -dependencies = [ - "anyhow", - "cargo_metadata", - "libbpf-sys", - "memmap2", - "num_enum", - "regex", - "scroll", - "scroll_derive", - "semver", - "serde", - "serde_json", - "structopt", - "tempfile", - "thiserror", -] - -[[package]] -name = "libbpf-rs" -version = "0.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7eadf9bb239f90435a9f998d9a28211efc54c3453b290eed6cd7c17a8570618" -dependencies = [ - "bitflags", - "lazy_static", - "libbpf-sys", - "nix 0.23.1", - "num_enum", - "strum_macros 0.23.1", - "thiserror", - "vsprintf", -] - -[[package]] -name = "libbpf-sys" -version = "0.6.2+v0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c2c15bbeae2b87e3a63feea85a579272ed082f0f4d8f0e7968cc9a17e1b4d69" -dependencies = [ - "cc", - "pkg-config", -] - -[[package]] -name = "libc" -version = "0.2.126" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "349d5a591cd28b49e1d1037471617a32ddcda5731b99419008085f72d5a53836" - -[[package]] -name = "libloading" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "efbc0f03f9a775e9f6aed295c6a1ba2253c5757a9e03d55c6caa46a681abcddd" -dependencies = [ - "cfg-if 1.0.0", - "winapi", -] - -[[package]] -name = "log" -version = "0.4.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" -dependencies = [ - "cfg-if 1.0.0", -] - -[[package]] -name = "memchr" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" - -[[package]] -name = "memmap2" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "057a3db23999c867821a7a59feb06a578fcb03685e983dff90daf9e7d24ac08f" -dependencies = [ - "libc", -] - -[[package]] -name = "memoffset" -version = "0.6.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce" -dependencies = [ - "autocfg", -] - -[[package]] -name = "minimal-lexical" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" - -[[package]] -name = "nix" -version = "0.22.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4916f159ed8e5de0082076562152a76b7a1f64a01fd9d1e0fea002c37624faf" -dependencies = [ - "bitflags", - "cc", - "cfg-if 1.0.0", - "libc", - "memoffset", -] - -[[package]] -name = "nix" -version = "0.23.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f866317acbd3a240710c63f065ffb1e4fd466259045ccb504130b7f668f35c6" -dependencies = [ - "bitflags", - "cc", - "cfg-if 1.0.0", - "libc", - "memoffset", -] - -[[package]] -name = "nix" -version = "0.24.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f17df307904acd05aa8e32e97bb20f2a0df1728bbc2d771ae8f9a90463441e9" -dependencies = [ - "bitflags", - "cfg-if 1.0.0", - "libc", -] - -[[package]] -name = "nom" -version = "5.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffb4262d26ed83a1c0a33a38fe2bb15797329c85770da05e6b828ddb782627af" -dependencies = [ - "memchr", - "version_check", -] - -[[package]] -name = "nom" -version = "7.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8903e5a29a317527874d0402f867152a3d21c908bb0b933e416c65e301d4c36" -dependencies = [ - "memchr", - "minimal-lexical", -] - -[[package]] -name = "num-integer" -version = "0.1.45" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9" -dependencies = [ - "autocfg", - "num-traits", -] - -[[package]] -name = "num-traits" -version = "0.2.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" -dependencies = [ - "autocfg", -] - -[[package]] -name = "num_enum" -version = "0.5.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf5395665662ef45796a4ff5486c5d41d29e0c09640af4c5f17fd94ee2c119c9" -dependencies = [ - "num_enum_derive", -] - -[[package]] -name = "num_enum_derive" -version = "0.5.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b0498641e53dd6ac1a4f22547548caa6864cc4933784319cd1775271c5a46ce" -dependencies = [ - "proc-macro-crate", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "once_cell" -version = "1.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7709cef83f0c1f58f666e746a08b21e0085f7440fa6a29cc194d68aac97a4225" - -[[package]] -name = "peeking_take_while" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099" - -[[package]] -name = "phf" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3dfb61232e34fcb633f43d12c58f83c1df82962dcdfa565a4e866ffc17dafe12" -dependencies = [ - "phf_shared", -] - -[[package]] -name = "phf_codegen" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cbffee61585b0411840d3ece935cce9cb6321f01c45477d30066498cd5e1a815" -dependencies = [ - "phf_generator", - "phf_shared", -] - -[[package]] -name = "phf_generator" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17367f0cc86f2d25802b2c26ee58a7b23faeccf78a396094c13dced0d0182526" -dependencies = [ - "phf_shared", - "rand", -] - -[[package]] -name = "phf_shared" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c00cf8b9eafe68dde5e9eaa2cef8ee84a9336a47d566ec55ca16589633b65af7" -dependencies = [ - "siphasher", -] - -[[package]] -name = "pkg-config" -version = "0.3.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1df8c4ec4b0627e53bdf214615ad287367e482558cf84b109250b37464dc03ae" - -[[package]] -name = "ppv-lite86" -version = "0.2.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb9f9e6e233e5c4a35559a617bf40a4ec447db2e84c20b55a6f83167b7e57872" - -[[package]] -name = "proc-macro-crate" -version = "1.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e17d47ce914bf4de440332250b0edd23ce48c005f59fab39d3335866b114f11a" -dependencies = [ - "thiserror", - "toml", -] - -[[package]] -name = "proc-macro-error" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" -dependencies = [ - "proc-macro-error-attr", - "proc-macro2", - "quote", - "syn", - "version_check", -] - -[[package]] -name = "proc-macro-error-attr" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" -dependencies = [ - "proc-macro2", - "quote", - "version_check", -] - -[[package]] -name = "proc-macro2" -version = "1.0.39" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c54b25569025b7fc9651de43004ae593a75ad88543b17178aa5e1b9c4f15f56f" -dependencies = [ - "unicode-ident", -] - -[[package]] -name = "quote" -version = "1.0.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1feb54ed693b93a84e14094943b84b7c4eae204c512b7ccb95ab0c66d278ad1" -dependencies = [ - "proc-macro2", -] - -[[package]] -name = "rand" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" -dependencies = [ - "getrandom 0.1.16", - "libc", - "rand_chacha", - "rand_core", - "rand_hc", - "rand_pcg", -] - -[[package]] -name = "rand_chacha" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402" -dependencies = [ - "ppv-lite86", - "rand_core", -] - -[[package]] -name = "rand_core" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" -dependencies = [ - "getrandom 0.1.16", -] - -[[package]] -name = "rand_hc" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" -dependencies = [ - "rand_core", -] - -[[package]] -name = "rand_pcg" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16abd0c1b639e9eb4d7c50c0b8100b0d0f849be2349829c740fe8e6eb4816429" -dependencies = [ - "rand_core", -] - -[[package]] -name = "redox_syscall" -version = "0.2.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62f25bc4c7e55e0b0b7a1d43fb893f4fa1361d0abe38b9ce4f323c2adfe6ef42" -dependencies = [ - "bitflags", -] - -[[package]] -name = "redox_users" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b" -dependencies = [ - "getrandom 0.2.6", - "redox_syscall", - "thiserror", -] - -[[package]] -name = "regex" -version = "1.5.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d83f127d94bdbcda4c8cc2e50f6f84f4b611f69c902699ca385a39c3a75f9ff1" -dependencies = [ - "aho-corasick", - "memchr", - "regex-syntax", -] - -[[package]] -name = "regex-syntax" -version = "0.6.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49b3de9ec5dc0a3417da371aab17d729997c15010e7fd24ff707773a33bddb64" - -[[package]] -name = "remove_dir_all" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7" -dependencies = [ - "winapi", -] - -[[package]] -name = "rustc-hash" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" - -[[package]] -name = "rustversion" -version = "1.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2cc38e8fa666e2de3c4aba7edeb5ffc5246c1c2ed0e3d17e560aeeba736b23f" - -[[package]] -name = "ryu" -version = "1.0.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3f6f92acf49d1b98f7a81226834412ada05458b7364277387724a237f062695" - -[[package]] -name = "scroll" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04c565b551bafbef4157586fa379538366e4385d42082f255bfd96e4fe8519da" - -[[package]] -name = "scroll_derive" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bdbda6ac5cd1321e724fa9cee216f3a61885889b896f073b8f82322789c5250e" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "semver" -version = "1.0.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8cb243bdfdb5936c8dc3c45762a19d12ab4550cdc753bc247637d4ec35a040fd" -dependencies = [ - "serde", -] - -[[package]] -name = "serde" -version = "1.0.137" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61ea8d54c77f8315140a05f4c7237403bf38b72704d031543aa1d16abbf517d1" -dependencies = [ - "serde_derive", -] - -[[package]] -name = "serde_derive" -version = "1.0.137" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f26faba0c3959972377d3b2d306ee9f71faee9714294e41bb777f83f88578be" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "serde_json" -version = "1.0.81" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b7ce2b32a1aed03c558dc61a5cd328f15aff2dbc17daad8fb8af04d2100e15c" -dependencies = [ - "itoa", - "ryu", - "serde", -] - -[[package]] -name = "shlex" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43b2853a4d09f215c24cc5489c992ce46052d359b5109343cbafbf26bc62f8a3" - -[[package]] -name = "siphasher" -version = "0.3.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7bd3e3206899af3f8b12af284fafc038cc1dc2b41d1b89dd17297221c5d225de" - -[[package]] -name = "strsim" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a" - -[[package]] -name = "structopt" -version = "0.3.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c6b5c64445ba8094a6ab0c3cd2ad323e07171012d9c98b0b15651daf1787a10" -dependencies = [ - "clap", - "lazy_static", - "structopt-derive", -] - -[[package]] -name = "structopt-derive" -version = "0.4.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcb5ae327f9cc13b68763b5749770cb9e048a99bd9dfdfa58d0cf05d5f64afe0" -dependencies = [ - "heck 0.3.3", - "proc-macro-error", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "strum" -version = "0.24.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e96acfc1b70604b8b2f1ffa4c57e59176c7dbb05d556c71ecd2f5498a1dee7f8" - -[[package]] -name = "strum_macros" -version = "0.23.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5bb0dc7ee9c15cea6199cde9a127fa16a4c5819af85395457ad72d68edc85a38" -dependencies = [ - "heck 0.3.3", - "proc-macro2", - "quote", - "rustversion", - "syn", -] - -[[package]] -name = "strum_macros" -version = "0.24.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6878079b17446e4d3eba6192bb0a2950d5b14f0ed8424b852310e5a94345d0ef" -dependencies = [ - "heck 0.4.0", - "proc-macro2", - "quote", - "rustversion", - "syn", -] - -[[package]] -name = "syn" -version = "1.0.95" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbaf6116ab8924f39d52792136fb74fd60a80194cf1b1c6ffa6453eef1c3f942" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - -[[package]] -name = "tempfile" -version = "3.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cdb1ef4eaeeaddc8fbd371e5017057064af0911902ef36b39801f67cc6d79e4" -dependencies = [ - "cfg-if 1.0.0", - "fastrand", - "libc", - "redox_syscall", - "remove_dir_all", - "winapi", -] - -[[package]] -name = "termcolor" -version = "1.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755" -dependencies = [ - "winapi-util", -] - -[[package]] -name = "terminfo" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76971977e6121664ec1b960d1313aacfa75642adc93b9d4d53b247bd4cb1747e" -dependencies = [ - "dirs", - "fnv", - "nom 5.1.2", - "phf", - "phf_codegen", -] - -[[package]] -name = "textwrap" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060" -dependencies = [ - "unicode-width", -] - -[[package]] -name = "thiserror" -version = "1.0.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd829fe32373d27f76265620b5309d0340cb8550f523c1dda251d6298069069a" -dependencies = [ - "thiserror-impl", -] - -[[package]] -name = "thiserror-impl" -version = "1.0.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0396bc89e626244658bef819e22d0cc459e795a5ebe878e6ec336d1674a8d79a" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "time" -version = "0.1.44" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6db9e6914ab8b1ae1c260a4ae7a49b6c5611b40328a735b21862567685e73255" -dependencies = [ - "libc", - "wasi 0.10.0+wasi-snapshot-preview1", - "winapi", -] - -[[package]] -name = "toml" -version = "0.5.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d82e1a7758622a465f8cee077614c73484dac5b836c02ff6a40d5d1010324d7" -dependencies = [ - "serde", -] - -[[package]] -name = "unicode-ident" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d22af068fba1eb5edcb4aea19d382b2a3deb4c8f9d475c589b6ada9e0fd493ee" - -[[package]] -name = "unicode-segmentation" -version = "1.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e8820f5d777f6224dc4be3632222971ac30164d4a258d595640799554ebfd99" - -[[package]] -name = "unicode-width" -version = "0.1.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ed742d4ea2bd1176e236172c8429aaf54486e7ac098db29ffe6529e0ce50973" - -[[package]] -name = "vec_map" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191" - -[[package]] -name = "version_check" -version = "0.9.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" - -[[package]] -name = "vsprintf" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aec2f81b75ca063294776b4f7e8da71d1d5ae81c2b1b149c8d89969230265d63" -dependencies = [ - "cc", - "libc", -] - -[[package]] -name = "wasi" -version = "0.9.0+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" - -[[package]] -name = "wasi" -version = "0.10.0+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f" - -[[package]] -name = "which" -version = "4.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c4fb54e6113b6a8772ee41c3404fb0301ac79604489467e0a9ce1f3e97c24ae" -dependencies = [ - "either", - "lazy_static", - "libc", -] - -[[package]] -name = "winapi" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" -dependencies = [ - "winapi-i686-pc-windows-gnu", - "winapi-x86_64-pc-windows-gnu", -] - -[[package]] -name = "winapi-i686-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" - -[[package]] -name = "winapi-util" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" -dependencies = [ - "winapi", -] - -[[package]] -name = "winapi-x86_64-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" diff --git a/lcc/rlcc/example/Cargo.toml b/lcc/rlcc/example/Cargo.toml deleted file mode 100644 index 8772502..0000000 --- a/lcc/rlcc/example/Cargo.toml +++ /dev/null @@ -1,29 +0,0 @@ -[package] -name = "example" -version = "0.1.0" -edition = "2021" - -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html - -[dependencies] -libbpf-rs = "0.17" -libbpf-sys = { version = "0.6.1-2" } -log = "0.4.14" -libc = "0.2.125" -anyhow = "1.0.57" -structopt = "0.3.26" -once_cell = "1.8.0" -crossbeam-channel = "0.5" -nix = "0.22" -env_logger = "0.9.0" -regex = "1.5" -clearscreen = "1.0.9" -strum = "0.24" -strum_macros = "0.24" -chrono = "0.4.19" -byteorder = "1.4.3" - - -[build-dependencies] -libbpf-cargo = "0.11.0" -bindgen = "0.59.2" \ No newline at end of file diff --git a/lcc/rlcc/example/build.rs b/lcc/rlcc/example/build.rs deleted file mode 100644 index c6d6cad..0000000 --- a/lcc/rlcc/example/build.rs +++ /dev/null @@ -1,48 +0,0 @@ -use std::env; -use std::fs::create_dir_all; -use std::path::Path; - -use libbpf_cargo::SkeletonBuilder; - -const EXAMPLE_SRC: &str = "./src/bpf/example.bpf.c"; -const HDR: &str = "./src/bpf/example.h"; - -fn main() { - // run by default - let build_enabled = env::var("SKEL_RS").map(|v| v == "1").unwrap_or(true); - - if !build_enabled { - return; - } - - // It's unfortunate we cannot use `OUT_DIR` to store the generated skeleton. - // Reasons are because the generated skeleton contains compiler attributes - // that cannot be `include!()`ed via macro. And we cannot use the `#[path = "..."]` - // trick either because you cannot yet `concat!(env!("OUT_DIR"), "/skel.rs")` inside - // the path attribute either (see https://github.com/rust-lang/rust/pull/83366). - // - // However, there is hope! When the above feature stabilizes we can clean this - // all up. - println!("cargo:rerun-if-changed={}", EXAMPLE_SRC); - println!("cargo:rerun-if-changed={}", HDR); - - create_dir_all("./src/bpf/.output").unwrap(); - let example_skel = Path::new("./src/bpf/.output/example.skel.rs"); - SkeletonBuilder::new(EXAMPLE_SRC).generate(&example_skel).unwrap(); - - let bindings = bindgen::Builder::default() - // The input header we would like to generate - // bindings for. - .header(HDR) - // Tell cargo to invalidate the built crate whenever any of the - // included header files changed. - .parse_callbacks(Box::new(bindgen::CargoCallbacks)) - // Finish the builder and generate the bindings. - .generate() - // Unwrap the Result and panic on failure. - .expect("Unable to generate bindings"); - let bind = Path::new("./src/bpf/.output/bindings.rs"); - bindings - .write_to_file(bind) - .expect("Couldn't write bindings!"); -} diff --git a/lcc/rlcc/example/src/bpf/.output/bindings.rs b/lcc/rlcc/example/src/bpf/.output/bindings.rs deleted file mode 100644 index 31cfb73..0000000 --- a/lcc/rlcc/example/src/bpf/.output/bindings.rs +++ /dev/null @@ -1,90 +0,0 @@ -/* automatically generated by rust-bindgen 0.59.2 */ - -pub const TASK_COMM_LEN: u32 = 16; -pub type __u8 = ::std::os::raw::c_uchar; -pub type __u16 = ::std::os::raw::c_ushort; -pub type __u32 = ::std::os::raw::c_uint; -pub type __u64 = ::std::os::raw::c_ulonglong; -#[repr(C)] -#[derive(Debug, Copy, Clone)] -pub struct example { - pub pid: ::std::os::raw::c_int, - pub comm: [::std::os::raw::c_uchar; 16usize], - pub sport: __u16, - pub dport: __u16, - pub saddr: __u32, - pub daddr: __u32, -} -#[test] -fn bindgen_test_layout_example() { - assert_eq!( - ::std::mem::size_of::(), - 32usize, - concat!("Size of: ", stringify!(example)) - ); - assert_eq!( - ::std::mem::align_of::(), - 4usize, - concat!("Alignment of ", stringify!(example)) - ); - assert_eq!( - unsafe { &(*(::std::ptr::null::())).pid as *const _ as usize }, - 0usize, - concat!( - "Offset of field: ", - stringify!(example), - "::", - stringify!(pid) - ) - ); - assert_eq!( - unsafe { &(*(::std::ptr::null::())).comm as *const _ as usize }, - 4usize, - concat!( - "Offset of field: ", - stringify!(example), - "::", - stringify!(comm) - ) - ); - assert_eq!( - unsafe { &(*(::std::ptr::null::())).sport as *const _ as usize }, - 20usize, - concat!( - "Offset of field: ", - stringify!(example), - "::", - stringify!(sport) - ) - ); - assert_eq!( - unsafe { &(*(::std::ptr::null::())).dport as *const _ as usize }, - 22usize, - concat!( - "Offset of field: ", - stringify!(example), - "::", - stringify!(dport) - ) - ); - assert_eq!( - unsafe { &(*(::std::ptr::null::())).saddr as *const _ as usize }, - 24usize, - concat!( - "Offset of field: ", - stringify!(example), - "::", - stringify!(saddr) - ) - ); - assert_eq!( - unsafe { &(*(::std::ptr::null::())).daddr as *const _ as usize }, - 28usize, - concat!( - "Offset of field: ", - stringify!(example), - "::", - stringify!(daddr) - ) - ); -} diff --git a/lcc/rlcc/example/src/bpf/.output/example.skel.rs b/lcc/rlcc/example/src/bpf/.output/example.skel.rs deleted file mode 100644 index b6f9d38..0000000 --- a/lcc/rlcc/example/src/bpf/.output/example.skel.rs +++ /dev/null @@ -1,39873 +0,0 @@ -// SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause) -// -// THIS FILE IS AUTOGENERATED BY CARGO-LIBBPF-GEN! - -#![allow(dead_code)] -#![allow(non_snake_case)] -#![allow(non_camel_case_types)] -#![allow(clippy::transmute_ptr_to_ref)] -#![allow(clippy::upper_case_acronyms)] - -use libbpf_rs::libbpf_sys; - -fn build_skel_config() -> libbpf_rs::Result> { - let mut builder = libbpf_rs::skeleton::ObjectSkeletonConfigBuilder::new(DATA); - builder - .name("example_bpf") - .map("events", false) - .prog("tcp_connect"); - - builder.build() -} - -#[derive(Default)] -pub struct ExampleSkelBuilder { - pub obj_builder: libbpf_rs::ObjectBuilder, -} - -impl<'a> ExampleSkelBuilder { - pub fn open(mut self) -> libbpf_rs::Result> { - let mut skel_config = build_skel_config()?; - let open_opts = self.obj_builder.opts(std::ptr::null()); - - let ret = unsafe { libbpf_sys::bpf_object__open_skeleton(skel_config.get(), &open_opts) }; - if ret != 0 { - return Err(libbpf_rs::Error::System(-ret)); - } - - let obj = unsafe { libbpf_rs::OpenObject::from_ptr(skel_config.object_ptr())? }; - - Ok(OpenExampleSkel { obj, skel_config }) - } -} - -pub struct OpenExampleMaps<'a> { - inner: &'a libbpf_rs::OpenObject, -} - -impl<'a> OpenExampleMaps<'a> { - pub fn events(&self) -> &libbpf_rs::OpenMap { - self.inner.map("events").unwrap() - } -} - -pub struct OpenExampleMapsMut<'a> { - inner: &'a mut libbpf_rs::OpenObject, -} - -impl<'a> OpenExampleMapsMut<'a> { - pub fn events(&mut self) -> &mut libbpf_rs::OpenMap { - self.inner.map_mut("events").unwrap() - } -} - -pub struct OpenExampleProgs<'a> { - inner: &'a libbpf_rs::OpenObject, -} - -impl<'a> OpenExampleProgs<'a> { - pub fn tcp_connect(&self) -> &libbpf_rs::OpenProgram { - self.inner.prog("tcp_connect").unwrap() - } -} - -pub struct OpenExampleProgsMut<'a> { - inner: &'a mut libbpf_rs::OpenObject, -} - -impl<'a> OpenExampleProgsMut<'a> { - pub fn tcp_connect(&mut self) -> &mut libbpf_rs::OpenProgram { - self.inner.prog_mut("tcp_connect").unwrap() - } -} - -pub struct OpenExampleSkel<'a> { - pub obj: libbpf_rs::OpenObject, - skel_config: libbpf_rs::skeleton::ObjectSkeletonConfig<'a>, -} - -impl<'a> OpenExampleSkel<'a> { - pub fn load(mut self) -> libbpf_rs::Result> { - let ret = unsafe { libbpf_sys::bpf_object__load_skeleton(self.skel_config.get()) }; - if ret != 0 { - return Err(libbpf_rs::Error::System(-ret)); - } - - let obj = unsafe { libbpf_rs::Object::from_ptr(self.obj.take_ptr())? }; - - Ok(ExampleSkel { - obj, - skel_config: self.skel_config, - links: ExampleLinks::default(), - }) - } - - pub fn progs(&self) -> OpenExampleProgs { - OpenExampleProgs { inner: &self.obj } - } - - pub fn progs_mut(&mut self) -> OpenExampleProgsMut { - OpenExampleProgsMut { - inner: &mut self.obj, - } - } - - pub fn maps(&self) -> OpenExampleMaps { - OpenExampleMaps { inner: &self.obj } - } - - pub fn maps_mut(&mut self) -> OpenExampleMapsMut { - OpenExampleMapsMut { - inner: &mut self.obj, - } - } -} - -pub struct ExampleMaps<'a> { - inner: &'a libbpf_rs::Object, -} - -impl<'a> ExampleMaps<'a> { - pub fn events(&self) -> &libbpf_rs::Map { - self.inner.map("events").unwrap() - } -} - -pub struct ExampleMapsMut<'a> { - inner: &'a mut libbpf_rs::Object, -} - -impl<'a> ExampleMapsMut<'a> { - pub fn events(&mut self) -> &mut libbpf_rs::Map { - self.inner.map_mut("events").unwrap() - } -} - -pub struct ExampleProgs<'a> { - inner: &'a libbpf_rs::Object, -} - -impl<'a> ExampleProgs<'a> { - pub fn tcp_connect(&self) -> &libbpf_rs::Program { - self.inner.prog("tcp_connect").unwrap() - } -} - -pub struct ExampleProgsMut<'a> { - inner: &'a mut libbpf_rs::Object, -} - -impl<'a> ExampleProgsMut<'a> { - pub fn tcp_connect(&mut self) -> &mut libbpf_rs::Program { - self.inner.prog_mut("tcp_connect").unwrap() - } -} - -#[derive(Default)] -pub struct ExampleLinks { - pub tcp_connect: Option, -} - -pub struct ExampleSkel<'a> { - pub obj: libbpf_rs::Object, - skel_config: libbpf_rs::skeleton::ObjectSkeletonConfig<'a>, - pub links: ExampleLinks, -} - -unsafe impl<'a> Send for ExampleSkel<'a> {} - -impl<'a> ExampleSkel<'a> { - pub fn progs(&self) -> ExampleProgs { - ExampleProgs { inner: &self.obj } - } - - pub fn progs_mut(&mut self) -> ExampleProgsMut { - ExampleProgsMut { - inner: &mut self.obj, - } - } - - pub fn maps(&self) -> ExampleMaps { - ExampleMaps { inner: &self.obj } - } - - pub fn maps_mut(&mut self) -> ExampleMapsMut { - ExampleMapsMut { - inner: &mut self.obj, - } - } - - pub fn attach(&mut self) -> libbpf_rs::Result<()> { - let ret = unsafe { libbpf_sys::bpf_object__attach_skeleton(self.skel_config.get()) }; - if ret != 0 { - return Err(libbpf_rs::Error::System(-ret)); - } - - self.links = ExampleLinks { - tcp_connect: (|| { - let ptr = self.skel_config.prog_link_ptr(0)?; - if ptr.is_null() { - Ok(None) - } else { - Ok(Some(unsafe { libbpf_rs::Link::from_ptr(ptr) })) - } - })()?, - }; - - Ok(()) - } -} - -const DATA: &[u8] = &[ - 127, 69, 76, 70, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 247, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 200, 29, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 64, - 0, 23, 0, 1, 0, 191, 22, 0, 0, 0, 0, 0, 0, 121, 103, 112, 0, 0, 0, 0, 0, 133, 0, 0, 0, 14, 0, - 0, 0, 119, 0, 0, 0, 32, 0, 0, 0, 99, 10, 224, 255, 0, 0, 0, 0, 191, 161, 0, 0, 0, 0, 0, 0, 7, - 1, 0, 0, 228, 255, 255, 255, 183, 2, 0, 0, 16, 0, 0, 0, 133, 0, 0, 0, 16, 0, 0, 0, 183, 1, 0, - 0, 0, 0, 0, 0, 191, 115, 0, 0, 0, 0, 0, 0, 15, 19, 0, 0, 0, 0, 0, 0, 191, 161, 0, 0, 0, 0, 0, - 0, 7, 1, 0, 0, 252, 255, 255, 255, 183, 2, 0, 0, 4, 0, 0, 0, 133, 0, 0, 0, 113, 0, 0, 0, 183, - 1, 0, 0, 12, 0, 0, 0, 191, 115, 0, 0, 0, 0, 0, 0, 15, 19, 0, 0, 0, 0, 0, 0, 191, 161, 0, 0, 0, - 0, 0, 0, 7, 1, 0, 0, 246, 255, 255, 255, 183, 2, 0, 0, 2, 0, 0, 0, 133, 0, 0, 0, 113, 0, 0, 0, - 183, 1, 0, 0, 4, 0, 0, 0, 191, 115, 0, 0, 0, 0, 0, 0, 15, 19, 0, 0, 0, 0, 0, 0, 191, 161, 0, 0, - 0, 0, 0, 0, 7, 1, 0, 0, 248, 255, 255, 255, 183, 2, 0, 0, 4, 0, 0, 0, 133, 0, 0, 0, 113, 0, 0, - 0, 183, 1, 0, 0, 32, 3, 0, 0, 15, 23, 0, 0, 0, 0, 0, 0, 191, 161, 0, 0, 0, 0, 0, 0, 7, 1, 0, 0, - 244, 255, 255, 255, 183, 2, 0, 0, 2, 0, 0, 0, 191, 115, 0, 0, 0, 0, 0, 0, 133, 0, 0, 0, 113, 0, - 0, 0, 191, 164, 0, 0, 0, 0, 0, 0, 7, 4, 0, 0, 224, 255, 255, 255, 191, 97, 0, 0, 0, 0, 0, 0, - 24, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 3, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, - 0, 0, 0, 0, 183, 5, 0, 0, 32, 0, 0, 0, 133, 0, 0, 0, 25, 0, 0, 0, 183, 0, 0, 0, 0, 0, 0, 0, - 149, 0, 0, 0, 0, 0, 0, 0, 71, 80, 76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, 108, 97, 110, 103, 32, 118, 101, 114, 115, 105, 111, 110, 32, - 49, 48, 46, 48, 46, 49, 32, 40, 82, 101, 100, 32, 72, 97, 116, 32, 49, 48, 46, 48, 46, 49, 45, - 49, 46, 109, 111, 100, 117, 108, 101, 95, 101, 108, 56, 46, 51, 46, 48, 43, 52, 54, 55, 43, 99, - 98, 50, 57, 56, 100, 53, 98, 41, 0, 115, 114, 99, 47, 98, 112, 102, 47, 101, 120, 97, 109, 112, - 108, 101, 46, 98, 112, 102, 46, 99, 0, 47, 119, 111, 114, 107, 47, 110, 101, 119, 108, 99, 99, - 47, 108, 99, 99, 47, 114, 108, 99, 99, 47, 101, 120, 97, 109, 112, 108, 101, 0, 76, 73, 67, 69, - 78, 83, 69, 0, 99, 104, 97, 114, 0, 95, 95, 65, 82, 82, 65, 89, 95, 83, 73, 90, 69, 95, 84, 89, - 80, 69, 95, 95, 0, 101, 118, 101, 110, 116, 115, 0, 116, 121, 112, 101, 0, 105, 110, 116, 0, - 107, 101, 121, 95, 115, 105, 122, 101, 0, 118, 97, 108, 117, 101, 95, 115, 105, 122, 101, 0, - 98, 112, 102, 95, 103, 101, 116, 95, 99, 117, 114, 114, 101, 110, 116, 95, 112, 105, 100, 95, - 116, 103, 105, 100, 0, 108, 111, 110, 103, 32, 108, 111, 110, 103, 32, 117, 110, 115, 105, 103, - 110, 101, 100, 32, 105, 110, 116, 0, 95, 95, 117, 54, 52, 0, 98, 112, 102, 95, 103, 101, 116, - 95, 99, 117, 114, 114, 101, 110, 116, 95, 99, 111, 109, 109, 0, 108, 111, 110, 103, 32, 105, - 110, 116, 0, 117, 110, 115, 105, 103, 110, 101, 100, 32, 105, 110, 116, 0, 95, 95, 117, 51, 50, - 0, 98, 112, 102, 95, 112, 114, 111, 98, 101, 95, 114, 101, 97, 100, 95, 107, 101, 114, 110, - 101, 108, 0, 98, 112, 102, 95, 112, 101, 114, 102, 95, 101, 118, 101, 110, 116, 95, 111, 117, - 116, 112, 117, 116, 0, 102, 115, 95, 118, 97, 108, 117, 101, 95, 105, 115, 95, 117, 110, 100, - 101, 102, 105, 110, 101, 100, 0, 102, 115, 95, 118, 97, 108, 117, 101, 95, 105, 115, 95, 102, - 108, 97, 103, 0, 102, 115, 95, 118, 97, 108, 117, 101, 95, 105, 115, 95, 115, 116, 114, 105, - 110, 103, 0, 102, 115, 95, 118, 97, 108, 117, 101, 95, 105, 115, 95, 98, 108, 111, 98, 0, 102, - 115, 95, 118, 97, 108, 117, 101, 95, 105, 115, 95, 102, 105, 108, 101, 110, 97, 109, 101, 0, - 102, 115, 95, 118, 97, 108, 117, 101, 95, 105, 115, 95, 102, 105, 108, 101, 0, 102, 115, 95, - 118, 97, 108, 117, 101, 95, 116, 121, 112, 101, 0, 77, 79, 68, 85, 76, 69, 95, 83, 84, 65, 84, - 69, 95, 76, 73, 86, 69, 0, 77, 79, 68, 85, 76, 69, 95, 83, 84, 65, 84, 69, 95, 67, 79, 77, 73, - 78, 71, 0, 77, 79, 68, 85, 76, 69, 95, 83, 84, 65, 84, 69, 95, 71, 79, 73, 78, 71, 0, 77, 79, - 68, 85, 76, 69, 95, 83, 84, 65, 84, 69, 95, 85, 78, 70, 79, 82, 77, 69, 68, 0, 109, 111, 100, - 117, 108, 101, 95, 115, 116, 97, 116, 101, 0, 87, 65, 84, 67, 72, 95, 84, 89, 80, 69, 95, 77, - 69, 84, 65, 0, 87, 65, 84, 67, 72, 95, 84, 89, 80, 69, 95, 75, 69, 89, 95, 78, 79, 84, 73, 70, - 89, 0, 87, 65, 84, 67, 72, 95, 84, 89, 80, 69, 95, 95, 78, 82, 0, 119, 97, 116, 99, 104, 95, - 110, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 95, 116, 121, 112, 101, 0, 107, 101, - 114, 110, 101, 108, 95, 112, 107, 101, 121, 95, 101, 110, 99, 114, 121, 112, 116, 0, 107, 101, - 114, 110, 101, 108, 95, 112, 107, 101, 121, 95, 100, 101, 99, 114, 121, 112, 116, 0, 107, 101, - 114, 110, 101, 108, 95, 112, 107, 101, 121, 95, 115, 105, 103, 110, 0, 107, 101, 114, 110, 101, - 108, 95, 112, 107, 101, 121, 95, 118, 101, 114, 105, 102, 121, 0, 107, 101, 114, 110, 101, 108, - 95, 112, 107, 101, 121, 95, 111, 112, 101, 114, 97, 116, 105, 111, 110, 0, 70, 65, 85, 76, 84, - 95, 70, 76, 65, 71, 95, 87, 82, 73, 84, 69, 0, 70, 65, 85, 76, 84, 95, 70, 76, 65, 71, 95, 77, - 75, 87, 82, 73, 84, 69, 0, 70, 65, 85, 76, 84, 95, 70, 76, 65, 71, 95, 65, 76, 76, 79, 87, 95, - 82, 69, 84, 82, 89, 0, 70, 65, 85, 76, 84, 95, 70, 76, 65, 71, 95, 82, 69, 84, 82, 89, 95, 78, - 79, 87, 65, 73, 84, 0, 70, 65, 85, 76, 84, 95, 70, 76, 65, 71, 95, 75, 73, 76, 76, 65, 66, 76, - 69, 0, 70, 65, 85, 76, 84, 95, 70, 76, 65, 71, 95, 84, 82, 73, 69, 68, 0, 70, 65, 85, 76, 84, - 95, 70, 76, 65, 71, 95, 85, 83, 69, 82, 0, 70, 65, 85, 76, 84, 95, 70, 76, 65, 71, 95, 82, 69, - 77, 79, 84, 69, 0, 70, 65, 85, 76, 84, 95, 70, 76, 65, 71, 95, 73, 78, 83, 84, 82, 85, 67, 84, - 73, 79, 78, 0, 70, 65, 85, 76, 84, 95, 70, 76, 65, 71, 95, 73, 78, 84, 69, 82, 82, 85, 80, 84, - 73, 66, 76, 69, 0, 102, 97, 117, 108, 116, 95, 102, 108, 97, 103, 0, 80, 69, 95, 83, 73, 90, - 69, 95, 80, 84, 69, 0, 80, 69, 95, 83, 73, 90, 69, 95, 80, 77, 68, 0, 80, 69, 95, 83, 73, 90, - 69, 95, 80, 85, 68, 0, 112, 97, 103, 101, 95, 101, 110, 116, 114, 121, 95, 115, 105, 122, 101, - 0, 73, 79, 77, 77, 85, 95, 67, 65, 80, 95, 67, 65, 67, 72, 69, 95, 67, 79, 72, 69, 82, 69, 78, - 67, 89, 0, 73, 79, 77, 77, 85, 95, 67, 65, 80, 95, 73, 78, 84, 82, 95, 82, 69, 77, 65, 80, 0, - 73, 79, 77, 77, 85, 95, 67, 65, 80, 95, 78, 79, 69, 88, 69, 67, 0, 105, 111, 109, 109, 117, 95, - 99, 97, 112, 0, 73, 79, 77, 77, 85, 95, 68, 77, 65, 95, 73, 79, 86, 65, 95, 67, 79, 79, 75, 73, - 69, 0, 73, 79, 77, 77, 85, 95, 68, 77, 65, 95, 77, 83, 73, 95, 67, 79, 79, 75, 73, 69, 0, 105, - 111, 109, 109, 117, 95, 100, 109, 97, 95, 99, 111, 111, 107, 105, 101, 95, 116, 121, 112, 101, - 0, 73, 79, 77, 77, 85, 95, 82, 69, 83, 86, 95, 68, 73, 82, 69, 67, 84, 0, 73, 79, 77, 77, 85, - 95, 82, 69, 83, 86, 95, 68, 73, 82, 69, 67, 84, 95, 82, 69, 76, 65, 88, 65, 66, 76, 69, 0, 73, - 79, 77, 77, 85, 95, 82, 69, 83, 86, 95, 82, 69, 83, 69, 82, 86, 69, 68, 0, 73, 79, 77, 77, 85, - 95, 82, 69, 83, 86, 95, 77, 83, 73, 0, 73, 79, 77, 77, 85, 95, 82, 69, 83, 86, 95, 83, 87, 95, - 77, 83, 73, 0, 105, 111, 109, 109, 117, 95, 114, 101, 115, 118, 95, 116, 121, 112, 101, 0, 73, - 79, 77, 77, 85, 95, 68, 69, 86, 95, 70, 69, 65, 84, 95, 65, 85, 88, 0, 73, 79, 77, 77, 85, 95, - 68, 69, 86, 95, 70, 69, 65, 84, 95, 83, 86, 65, 0, 73, 79, 77, 77, 85, 95, 68, 69, 86, 95, 70, - 69, 65, 84, 95, 73, 79, 80, 70, 0, 105, 111, 109, 109, 117, 95, 100, 101, 118, 95, 102, 101, - 97, 116, 117, 114, 101, 115, 0, 75, 79, 66, 74, 95, 78, 83, 95, 84, 89, 80, 69, 95, 78, 79, 78, - 69, 0, 75, 79, 66, 74, 95, 78, 83, 95, 84, 89, 80, 69, 95, 78, 69, 84, 0, 75, 79, 66, 74, 95, - 78, 83, 95, 84, 89, 80, 69, 83, 0, 107, 111, 98, 106, 95, 110, 115, 95, 116, 121, 112, 101, 0, - 80, 82, 79, 66, 69, 95, 68, 69, 70, 65, 85, 76, 84, 95, 83, 84, 82, 65, 84, 69, 71, 89, 0, 80, - 82, 79, 66, 69, 95, 80, 82, 69, 70, 69, 82, 95, 65, 83, 89, 78, 67, 72, 82, 79, 78, 79, 85, 83, - 0, 80, 82, 79, 66, 69, 95, 70, 79, 82, 67, 69, 95, 83, 89, 78, 67, 72, 82, 79, 78, 79, 85, 83, - 0, 112, 114, 111, 98, 101, 95, 116, 121, 112, 101, 0, 68, 76, 95, 68, 69, 86, 95, 78, 79, 95, - 68, 82, 73, 86, 69, 82, 0, 68, 76, 95, 68, 69, 86, 95, 80, 82, 79, 66, 73, 78, 71, 0, 68, 76, - 95, 68, 69, 86, 95, 68, 82, 73, 86, 69, 82, 95, 66, 79, 85, 78, 68, 0, 68, 76, 95, 68, 69, 86, - 95, 85, 78, 66, 73, 78, 68, 73, 78, 71, 0, 100, 108, 95, 100, 101, 118, 95, 115, 116, 97, 116, - 101, 0, 72, 82, 84, 73, 77, 69, 82, 95, 78, 79, 82, 69, 83, 84, 65, 82, 84, 0, 72, 82, 84, 73, - 77, 69, 82, 95, 82, 69, 83, 84, 65, 82, 84, 0, 104, 114, 116, 105, 109, 101, 114, 95, 114, 101, - 115, 116, 97, 114, 116, 0, 82, 80, 77, 95, 82, 69, 81, 95, 78, 79, 78, 69, 0, 82, 80, 77, 95, - 82, 69, 81, 95, 73, 68, 76, 69, 0, 82, 80, 77, 95, 82, 69, 81, 95, 83, 85, 83, 80, 69, 78, 68, - 0, 82, 80, 77, 95, 82, 69, 81, 95, 65, 85, 84, 79, 83, 85, 83, 80, 69, 78, 68, 0, 82, 80, 77, - 95, 82, 69, 81, 95, 82, 69, 83, 85, 77, 69, 0, 114, 112, 109, 95, 114, 101, 113, 117, 101, 115, - 116, 0, 82, 80, 77, 95, 65, 67, 84, 73, 86, 69, 0, 82, 80, 77, 95, 82, 69, 83, 85, 77, 73, 78, - 71, 0, 82, 80, 77, 95, 83, 85, 83, 80, 69, 78, 68, 69, 68, 0, 82, 80, 77, 95, 83, 85, 83, 80, - 69, 78, 68, 73, 78, 71, 0, 114, 112, 109, 95, 115, 116, 97, 116, 117, 115, 0, 80, 77, 95, 81, - 79, 83, 95, 85, 78, 73, 84, 73, 65, 76, 73, 90, 69, 68, 0, 80, 77, 95, 81, 79, 83, 95, 77, 65, - 88, 0, 80, 77, 95, 81, 79, 83, 95, 77, 73, 78, 0, 112, 109, 95, 113, 111, 115, 95, 116, 121, - 112, 101, 0, 68, 69, 86, 95, 80, 77, 95, 81, 79, 83, 95, 82, 69, 83, 85, 77, 69, 95, 76, 65, - 84, 69, 78, 67, 89, 0, 68, 69, 86, 95, 80, 77, 95, 81, 79, 83, 95, 76, 65, 84, 69, 78, 67, 89, - 95, 84, 79, 76, 69, 82, 65, 78, 67, 69, 0, 68, 69, 86, 95, 80, 77, 95, 81, 79, 83, 95, 77, 73, - 78, 95, 70, 82, 69, 81, 85, 69, 78, 67, 89, 0, 68, 69, 86, 95, 80, 77, 95, 81, 79, 83, 95, 77, - 65, 88, 95, 70, 82, 69, 81, 85, 69, 78, 67, 89, 0, 68, 69, 86, 95, 80, 77, 95, 81, 79, 83, 95, - 70, 76, 65, 71, 83, 0, 100, 101, 118, 95, 112, 109, 95, 113, 111, 115, 95, 114, 101, 113, 95, - 116, 121, 112, 101, 0, 70, 82, 69, 81, 95, 81, 79, 83, 95, 77, 73, 78, 0, 70, 82, 69, 81, 95, - 81, 79, 83, 95, 77, 65, 88, 0, 102, 114, 101, 113, 95, 113, 111, 115, 95, 114, 101, 113, 95, - 116, 121, 112, 101, 0, 68, 79, 77, 65, 73, 78, 95, 66, 85, 83, 95, 65, 78, 89, 0, 68, 79, 77, - 65, 73, 78, 95, 66, 85, 83, 95, 87, 73, 82, 69, 68, 0, 68, 79, 77, 65, 73, 78, 95, 66, 85, 83, - 95, 71, 69, 78, 69, 82, 73, 67, 95, 77, 83, 73, 0, 68, 79, 77, 65, 73, 78, 95, 66, 85, 83, 95, - 80, 67, 73, 95, 77, 83, 73, 0, 68, 79, 77, 65, 73, 78, 95, 66, 85, 83, 95, 80, 76, 65, 84, 70, - 79, 82, 77, 95, 77, 83, 73, 0, 68, 79, 77, 65, 73, 78, 95, 66, 85, 83, 95, 78, 69, 88, 85, 83, - 0, 68, 79, 77, 65, 73, 78, 95, 66, 85, 83, 95, 73, 80, 73, 0, 68, 79, 77, 65, 73, 78, 95, 66, - 85, 83, 95, 70, 83, 76, 95, 77, 67, 95, 77, 83, 73, 0, 68, 79, 77, 65, 73, 78, 95, 66, 85, 83, - 95, 84, 73, 95, 83, 67, 73, 95, 73, 78, 84, 65, 95, 77, 83, 73, 0, 68, 79, 77, 65, 73, 78, 95, - 66, 85, 83, 95, 87, 65, 75, 69, 85, 80, 0, 68, 79, 77, 65, 73, 78, 95, 66, 85, 83, 95, 86, 77, - 68, 95, 77, 83, 73, 0, 105, 114, 113, 95, 100, 111, 109, 97, 105, 110, 95, 98, 117, 115, 95, - 116, 111, 107, 101, 110, 0, 88, 56, 54, 95, 73, 82, 81, 95, 65, 76, 76, 79, 67, 95, 84, 89, 80, - 69, 95, 73, 79, 65, 80, 73, 67, 0, 88, 56, 54, 95, 73, 82, 81, 95, 65, 76, 76, 79, 67, 95, 84, - 89, 80, 69, 95, 72, 80, 69, 84, 0, 88, 56, 54, 95, 73, 82, 81, 95, 65, 76, 76, 79, 67, 95, 84, - 89, 80, 69, 95, 80, 67, 73, 95, 77, 83, 73, 0, 88, 56, 54, 95, 73, 82, 81, 95, 65, 76, 76, 79, - 67, 95, 84, 89, 80, 69, 95, 80, 67, 73, 95, 77, 83, 73, 88, 0, 88, 56, 54, 95, 73, 82, 81, 95, - 65, 76, 76, 79, 67, 95, 84, 89, 80, 69, 95, 68, 77, 65, 82, 0, 88, 56, 54, 95, 73, 82, 81, 95, - 65, 76, 76, 79, 67, 95, 84, 89, 80, 69, 95, 65, 77, 68, 86, 73, 0, 88, 56, 54, 95, 73, 82, 81, - 95, 65, 76, 76, 79, 67, 95, 84, 89, 80, 69, 95, 85, 86, 0, 105, 114, 113, 95, 97, 108, 108, - 111, 99, 95, 116, 121, 112, 101, 0, 73, 82, 81, 67, 72, 73, 80, 95, 83, 84, 65, 84, 69, 95, 80, - 69, 78, 68, 73, 78, 71, 0, 73, 82, 81, 67, 72, 73, 80, 95, 83, 84, 65, 84, 69, 95, 65, 67, 84, - 73, 86, 69, 0, 73, 82, 81, 67, 72, 73, 80, 95, 83, 84, 65, 84, 69, 95, 77, 65, 83, 75, 69, 68, - 0, 73, 82, 81, 67, 72, 73, 80, 95, 83, 84, 65, 84, 69, 95, 76, 73, 78, 69, 95, 76, 69, 86, 69, - 76, 0, 105, 114, 113, 99, 104, 105, 112, 95, 105, 114, 113, 95, 115, 116, 97, 116, 101, 0, 73, - 82, 81, 95, 71, 67, 95, 73, 78, 73, 84, 95, 77, 65, 83, 75, 95, 67, 65, 67, 72, 69, 0, 73, 82, - 81, 95, 71, 67, 95, 73, 78, 73, 84, 95, 78, 69, 83, 84, 69, 68, 95, 76, 79, 67, 75, 0, 73, 82, - 81, 95, 71, 67, 95, 77, 65, 83, 75, 95, 67, 65, 67, 72, 69, 95, 80, 69, 82, 95, 84, 89, 80, 69, - 0, 73, 82, 81, 95, 71, 67, 95, 78, 79, 95, 77, 65, 83, 75, 0, 73, 82, 81, 95, 71, 67, 95, 66, - 69, 95, 73, 79, 0, 105, 114, 113, 95, 103, 99, 95, 102, 108, 97, 103, 115, 0, 73, 82, 81, 95, - 78, 79, 78, 69, 0, 73, 82, 81, 95, 72, 65, 78, 68, 76, 69, 68, 0, 73, 82, 81, 95, 87, 65, 75, - 69, 95, 84, 72, 82, 69, 65, 68, 0, 105, 114, 113, 114, 101, 116, 117, 114, 110, 0, 68, 77, 65, - 95, 66, 73, 68, 73, 82, 69, 67, 84, 73, 79, 78, 65, 76, 0, 68, 77, 65, 95, 84, 79, 95, 68, 69, - 86, 73, 67, 69, 0, 68, 77, 65, 95, 70, 82, 79, 77, 95, 68, 69, 86, 73, 67, 69, 0, 68, 77, 65, - 95, 78, 79, 78, 69, 0, 100, 109, 97, 95, 100, 97, 116, 97, 95, 100, 105, 114, 101, 99, 116, - 105, 111, 110, 0, 68, 69, 86, 73, 67, 69, 95, 82, 69, 77, 79, 86, 65, 66, 76, 69, 95, 78, 79, - 84, 95, 83, 85, 80, 80, 79, 82, 84, 69, 68, 0, 68, 69, 86, 73, 67, 69, 95, 82, 69, 77, 79, 86, - 65, 66, 76, 69, 95, 85, 78, 75, 78, 79, 87, 78, 0, 68, 69, 86, 73, 67, 69, 95, 70, 73, 88, 69, - 68, 0, 68, 69, 86, 73, 67, 69, 95, 82, 69, 77, 79, 86, 65, 66, 76, 69, 0, 100, 101, 118, 105, - 99, 101, 95, 114, 101, 109, 111, 118, 97, 98, 108, 101, 0, 66, 80, 70, 95, 80, 82, 79, 71, 95, - 84, 89, 80, 69, 95, 85, 78, 83, 80, 69, 67, 0, 66, 80, 70, 95, 80, 82, 79, 71, 95, 84, 89, 80, - 69, 95, 83, 79, 67, 75, 69, 84, 95, 70, 73, 76, 84, 69, 82, 0, 66, 80, 70, 95, 80, 82, 79, 71, - 95, 84, 89, 80, 69, 95, 75, 80, 82, 79, 66, 69, 0, 66, 80, 70, 95, 80, 82, 79, 71, 95, 84, 89, - 80, 69, 95, 83, 67, 72, 69, 68, 95, 67, 76, 83, 0, 66, 80, 70, 95, 80, 82, 79, 71, 95, 84, 89, - 80, 69, 95, 83, 67, 72, 69, 68, 95, 65, 67, 84, 0, 66, 80, 70, 95, 80, 82, 79, 71, 95, 84, 89, - 80, 69, 95, 84, 82, 65, 67, 69, 80, 79, 73, 78, 84, 0, 66, 80, 70, 95, 80, 82, 79, 71, 95, 84, - 89, 80, 69, 95, 88, 68, 80, 0, 66, 80, 70, 95, 80, 82, 79, 71, 95, 84, 89, 80, 69, 95, 80, 69, - 82, 70, 95, 69, 86, 69, 78, 84, 0, 66, 80, 70, 95, 80, 82, 79, 71, 95, 84, 89, 80, 69, 95, 67, - 71, 82, 79, 85, 80, 95, 83, 75, 66, 0, 66, 80, 70, 95, 80, 82, 79, 71, 95, 84, 89, 80, 69, 95, - 67, 71, 82, 79, 85, 80, 95, 83, 79, 67, 75, 0, 66, 80, 70, 95, 80, 82, 79, 71, 95, 84, 89, 80, - 69, 95, 76, 87, 84, 95, 73, 78, 0, 66, 80, 70, 95, 80, 82, 79, 71, 95, 84, 89, 80, 69, 95, 76, - 87, 84, 95, 79, 85, 84, 0, 66, 80, 70, 95, 80, 82, 79, 71, 95, 84, 89, 80, 69, 95, 76, 87, 84, - 95, 88, 77, 73, 84, 0, 66, 80, 70, 95, 80, 82, 79, 71, 95, 84, 89, 80, 69, 95, 83, 79, 67, 75, - 95, 79, 80, 83, 0, 66, 80, 70, 95, 80, 82, 79, 71, 95, 84, 89, 80, 69, 95, 83, 75, 95, 83, 75, - 66, 0, 66, 80, 70, 95, 80, 82, 79, 71, 95, 84, 89, 80, 69, 95, 67, 71, 82, 79, 85, 80, 95, 68, - 69, 86, 73, 67, 69, 0, 66, 80, 70, 95, 80, 82, 79, 71, 95, 84, 89, 80, 69, 95, 83, 75, 95, 77, - 83, 71, 0, 66, 80, 70, 95, 80, 82, 79, 71, 95, 84, 89, 80, 69, 95, 82, 65, 87, 95, 84, 82, 65, - 67, 69, 80, 79, 73, 78, 84, 0, 66, 80, 70, 95, 80, 82, 79, 71, 95, 84, 89, 80, 69, 95, 67, 71, - 82, 79, 85, 80, 95, 83, 79, 67, 75, 95, 65, 68, 68, 82, 0, 66, 80, 70, 95, 80, 82, 79, 71, 95, - 84, 89, 80, 69, 95, 76, 87, 84, 95, 83, 69, 71, 54, 76, 79, 67, 65, 76, 0, 66, 80, 70, 95, 80, - 82, 79, 71, 95, 84, 89, 80, 69, 95, 76, 73, 82, 67, 95, 77, 79, 68, 69, 50, 0, 66, 80, 70, 95, - 80, 82, 79, 71, 95, 84, 89, 80, 69, 95, 83, 75, 95, 82, 69, 85, 83, 69, 80, 79, 82, 84, 0, 66, - 80, 70, 95, 80, 82, 79, 71, 95, 84, 89, 80, 69, 95, 70, 76, 79, 87, 95, 68, 73, 83, 83, 69, 67, - 84, 79, 82, 0, 66, 80, 70, 95, 80, 82, 79, 71, 95, 84, 89, 80, 69, 95, 67, 71, 82, 79, 85, 80, - 95, 83, 89, 83, 67, 84, 76, 0, 66, 80, 70, 95, 80, 82, 79, 71, 95, 84, 89, 80, 69, 95, 82, 65, - 87, 95, 84, 82, 65, 67, 69, 80, 79, 73, 78, 84, 95, 87, 82, 73, 84, 65, 66, 76, 69, 0, 66, 80, - 70, 95, 80, 82, 79, 71, 95, 84, 89, 80, 69, 95, 67, 71, 82, 79, 85, 80, 95, 83, 79, 67, 75, 79, - 80, 84, 0, 66, 80, 70, 95, 80, 82, 79, 71, 95, 84, 89, 80, 69, 95, 84, 82, 65, 67, 73, 78, 71, - 0, 66, 80, 70, 95, 80, 82, 79, 71, 95, 84, 89, 80, 69, 95, 83, 84, 82, 85, 67, 84, 95, 79, 80, - 83, 0, 66, 80, 70, 95, 80, 82, 79, 71, 95, 84, 89, 80, 69, 95, 69, 88, 84, 0, 66, 80, 70, 95, - 80, 82, 79, 71, 95, 84, 89, 80, 69, 95, 76, 83, 77, 0, 66, 80, 70, 95, 80, 82, 79, 71, 95, 84, - 89, 80, 69, 95, 83, 75, 95, 76, 79, 79, 75, 85, 80, 0, 66, 80, 70, 95, 80, 82, 79, 71, 95, 84, - 89, 80, 69, 95, 83, 89, 83, 67, 65, 76, 76, 0, 98, 112, 102, 95, 112, 114, 111, 103, 95, 116, - 121, 112, 101, 0, 66, 80, 70, 95, 67, 71, 82, 79, 85, 80, 95, 73, 78, 69, 84, 95, 73, 78, 71, - 82, 69, 83, 83, 0, 66, 80, 70, 95, 67, 71, 82, 79, 85, 80, 95, 73, 78, 69, 84, 95, 69, 71, 82, - 69, 83, 83, 0, 66, 80, 70, 95, 67, 71, 82, 79, 85, 80, 95, 73, 78, 69, 84, 95, 83, 79, 67, 75, - 95, 67, 82, 69, 65, 84, 69, 0, 66, 80, 70, 95, 67, 71, 82, 79, 85, 80, 95, 83, 79, 67, 75, 95, - 79, 80, 83, 0, 66, 80, 70, 95, 83, 75, 95, 83, 75, 66, 95, 83, 84, 82, 69, 65, 77, 95, 80, 65, - 82, 83, 69, 82, 0, 66, 80, 70, 95, 83, 75, 95, 83, 75, 66, 95, 83, 84, 82, 69, 65, 77, 95, 86, - 69, 82, 68, 73, 67, 84, 0, 66, 80, 70, 95, 67, 71, 82, 79, 85, 80, 95, 68, 69, 86, 73, 67, 69, - 0, 66, 80, 70, 95, 83, 75, 95, 77, 83, 71, 95, 86, 69, 82, 68, 73, 67, 84, 0, 66, 80, 70, 95, - 67, 71, 82, 79, 85, 80, 95, 73, 78, 69, 84, 52, 95, 66, 73, 78, 68, 0, 66, 80, 70, 95, 67, 71, - 82, 79, 85, 80, 95, 73, 78, 69, 84, 54, 95, 66, 73, 78, 68, 0, 66, 80, 70, 95, 67, 71, 82, 79, - 85, 80, 95, 73, 78, 69, 84, 52, 95, 67, 79, 78, 78, 69, 67, 84, 0, 66, 80, 70, 95, 67, 71, 82, - 79, 85, 80, 95, 73, 78, 69, 84, 54, 95, 67, 79, 78, 78, 69, 67, 84, 0, 66, 80, 70, 95, 67, 71, - 82, 79, 85, 80, 95, 73, 78, 69, 84, 52, 95, 80, 79, 83, 84, 95, 66, 73, 78, 68, 0, 66, 80, 70, - 95, 67, 71, 82, 79, 85, 80, 95, 73, 78, 69, 84, 54, 95, 80, 79, 83, 84, 95, 66, 73, 78, 68, 0, - 66, 80, 70, 95, 67, 71, 82, 79, 85, 80, 95, 85, 68, 80, 52, 95, 83, 69, 78, 68, 77, 83, 71, 0, - 66, 80, 70, 95, 67, 71, 82, 79, 85, 80, 95, 85, 68, 80, 54, 95, 83, 69, 78, 68, 77, 83, 71, 0, - 66, 80, 70, 95, 76, 73, 82, 67, 95, 77, 79, 68, 69, 50, 0, 66, 80, 70, 95, 70, 76, 79, 87, 95, - 68, 73, 83, 83, 69, 67, 84, 79, 82, 0, 66, 80, 70, 95, 67, 71, 82, 79, 85, 80, 95, 83, 89, 83, - 67, 84, 76, 0, 66, 80, 70, 95, 67, 71, 82, 79, 85, 80, 95, 85, 68, 80, 52, 95, 82, 69, 67, 86, - 77, 83, 71, 0, 66, 80, 70, 95, 67, 71, 82, 79, 85, 80, 95, 85, 68, 80, 54, 95, 82, 69, 67, 86, - 77, 83, 71, 0, 66, 80, 70, 95, 67, 71, 82, 79, 85, 80, 95, 71, 69, 84, 83, 79, 67, 75, 79, 80, - 84, 0, 66, 80, 70, 95, 67, 71, 82, 79, 85, 80, 95, 83, 69, 84, 83, 79, 67, 75, 79, 80, 84, 0, - 66, 80, 70, 95, 84, 82, 65, 67, 69, 95, 82, 65, 87, 95, 84, 80, 0, 66, 80, 70, 95, 84, 82, 65, - 67, 69, 95, 70, 69, 78, 84, 82, 89, 0, 66, 80, 70, 95, 84, 82, 65, 67, 69, 95, 70, 69, 88, 73, - 84, 0, 66, 80, 70, 95, 77, 79, 68, 73, 70, 89, 95, 82, 69, 84, 85, 82, 78, 0, 66, 80, 70, 95, - 76, 83, 77, 95, 77, 65, 67, 0, 66, 80, 70, 95, 84, 82, 65, 67, 69, 95, 73, 84, 69, 82, 0, 66, - 80, 70, 95, 67, 71, 82, 79, 85, 80, 95, 73, 78, 69, 84, 52, 95, 71, 69, 84, 80, 69, 69, 82, 78, - 65, 77, 69, 0, 66, 80, 70, 95, 67, 71, 82, 79, 85, 80, 95, 73, 78, 69, 84, 54, 95, 71, 69, 84, - 80, 69, 69, 82, 78, 65, 77, 69, 0, 66, 80, 70, 95, 67, 71, 82, 79, 85, 80, 95, 73, 78, 69, 84, - 52, 95, 71, 69, 84, 83, 79, 67, 75, 78, 65, 77, 69, 0, 66, 80, 70, 95, 67, 71, 82, 79, 85, 80, - 95, 73, 78, 69, 84, 54, 95, 71, 69, 84, 83, 79, 67, 75, 78, 65, 77, 69, 0, 66, 80, 70, 95, 88, - 68, 80, 95, 68, 69, 86, 77, 65, 80, 0, 66, 80, 70, 95, 67, 71, 82, 79, 85, 80, 95, 73, 78, 69, - 84, 95, 83, 79, 67, 75, 95, 82, 69, 76, 69, 65, 83, 69, 0, 66, 80, 70, 95, 88, 68, 80, 95, 67, - 80, 85, 77, 65, 80, 0, 66, 80, 70, 95, 83, 75, 95, 76, 79, 79, 75, 85, 80, 0, 66, 80, 70, 95, - 88, 68, 80, 0, 66, 80, 70, 95, 83, 75, 95, 83, 75, 66, 95, 86, 69, 82, 68, 73, 67, 84, 0, 66, - 80, 70, 95, 83, 75, 95, 82, 69, 85, 83, 69, 80, 79, 82, 84, 95, 83, 69, 76, 69, 67, 84, 0, 66, - 80, 70, 95, 83, 75, 95, 82, 69, 85, 83, 69, 80, 79, 82, 84, 95, 83, 69, 76, 69, 67, 84, 95, 79, - 82, 95, 77, 73, 71, 82, 65, 84, 69, 0, 66, 80, 70, 95, 80, 69, 82, 70, 95, 69, 86, 69, 78, 84, - 0, 95, 95, 77, 65, 88, 95, 66, 80, 70, 95, 65, 84, 84, 65, 67, 72, 95, 84, 89, 80, 69, 0, 98, - 112, 102, 95, 97, 116, 116, 97, 99, 104, 95, 116, 121, 112, 101, 0, 78, 79, 84, 95, 73, 78, 73, - 84, 0, 83, 67, 65, 76, 65, 82, 95, 86, 65, 76, 85, 69, 0, 80, 84, 82, 95, 84, 79, 95, 67, 84, - 88, 0, 67, 79, 78, 83, 84, 95, 80, 84, 82, 95, 84, 79, 95, 77, 65, 80, 0, 80, 84, 82, 95, 84, - 79, 95, 77, 65, 80, 95, 86, 65, 76, 85, 69, 0, 80, 84, 82, 95, 84, 79, 95, 77, 65, 80, 95, 86, - 65, 76, 85, 69, 95, 79, 82, 95, 78, 85, 76, 76, 0, 80, 84, 82, 95, 84, 79, 95, 83, 84, 65, 67, - 75, 0, 80, 84, 82, 95, 84, 79, 95, 80, 65, 67, 75, 69, 84, 95, 77, 69, 84, 65, 0, 80, 84, 82, - 95, 84, 79, 95, 80, 65, 67, 75, 69, 84, 0, 80, 84, 82, 95, 84, 79, 95, 80, 65, 67, 75, 69, 84, - 95, 69, 78, 68, 0, 80, 84, 82, 95, 84, 79, 95, 70, 76, 79, 87, 95, 75, 69, 89, 83, 0, 80, 84, - 82, 95, 84, 79, 95, 83, 79, 67, 75, 69, 84, 0, 80, 84, 82, 95, 84, 79, 95, 83, 79, 67, 75, 69, - 84, 95, 79, 82, 95, 78, 85, 76, 76, 0, 80, 84, 82, 95, 84, 79, 95, 83, 79, 67, 75, 95, 67, 79, - 77, 77, 79, 78, 0, 80, 84, 82, 95, 84, 79, 95, 83, 79, 67, 75, 95, 67, 79, 77, 77, 79, 78, 95, - 79, 82, 95, 78, 85, 76, 76, 0, 80, 84, 82, 95, 84, 79, 95, 84, 67, 80, 95, 83, 79, 67, 75, 0, - 80, 84, 82, 95, 84, 79, 95, 84, 67, 80, 95, 83, 79, 67, 75, 95, 79, 82, 95, 78, 85, 76, 76, 0, - 80, 84, 82, 95, 84, 79, 95, 84, 80, 95, 66, 85, 70, 70, 69, 82, 0, 80, 84, 82, 95, 84, 79, 95, - 88, 68, 80, 95, 83, 79, 67, 75, 0, 80, 84, 82, 95, 84, 79, 95, 66, 84, 70, 95, 73, 68, 0, 80, - 84, 82, 95, 84, 79, 95, 66, 84, 70, 95, 73, 68, 95, 79, 82, 95, 78, 85, 76, 76, 0, 80, 84, 82, - 95, 84, 79, 95, 77, 69, 77, 0, 80, 84, 82, 95, 84, 79, 95, 77, 69, 77, 95, 79, 82, 95, 78, 85, - 76, 76, 0, 80, 84, 82, 95, 84, 79, 95, 82, 68, 79, 78, 76, 89, 95, 66, 85, 70, 0, 80, 84, 82, - 95, 84, 79, 95, 82, 68, 79, 78, 76, 89, 95, 66, 85, 70, 95, 79, 82, 95, 78, 85, 76, 76, 0, 80, - 84, 82, 95, 84, 79, 95, 82, 68, 87, 82, 95, 66, 85, 70, 0, 80, 84, 82, 95, 84, 79, 95, 82, 68, - 87, 82, 95, 66, 85, 70, 95, 79, 82, 95, 78, 85, 76, 76, 0, 80, 84, 82, 95, 84, 79, 95, 80, 69, - 82, 67, 80, 85, 95, 66, 84, 70, 95, 73, 68, 0, 80, 84, 82, 95, 84, 79, 95, 70, 85, 78, 67, 0, - 80, 84, 82, 95, 84, 79, 95, 77, 65, 80, 95, 75, 69, 89, 0, 95, 95, 66, 80, 70, 95, 82, 69, 71, - 95, 84, 89, 80, 69, 95, 77, 65, 88, 0, 98, 112, 102, 95, 114, 101, 103, 95, 116, 121, 112, 101, - 0, 82, 69, 84, 95, 73, 78, 84, 69, 71, 69, 82, 0, 82, 69, 84, 95, 86, 79, 73, 68, 0, 82, 69, - 84, 95, 80, 84, 82, 95, 84, 79, 95, 77, 65, 80, 95, 86, 65, 76, 85, 69, 0, 82, 69, 84, 95, 80, - 84, 82, 95, 84, 79, 95, 77, 65, 80, 95, 86, 65, 76, 85, 69, 95, 79, 82, 95, 78, 85, 76, 76, 0, - 82, 69, 84, 95, 80, 84, 82, 95, 84, 79, 95, 83, 79, 67, 75, 69, 84, 95, 79, 82, 95, 78, 85, 76, - 76, 0, 82, 69, 84, 95, 80, 84, 82, 95, 84, 79, 95, 84, 67, 80, 95, 83, 79, 67, 75, 95, 79, 82, - 95, 78, 85, 76, 76, 0, 82, 69, 84, 95, 80, 84, 82, 95, 84, 79, 95, 83, 79, 67, 75, 95, 67, 79, - 77, 77, 79, 78, 95, 79, 82, 95, 78, 85, 76, 76, 0, 82, 69, 84, 95, 80, 84, 82, 95, 84, 79, 95, - 65, 76, 76, 79, 67, 95, 77, 69, 77, 95, 79, 82, 95, 78, 85, 76, 76, 0, 82, 69, 84, 95, 80, 84, - 82, 95, 84, 79, 95, 66, 84, 70, 95, 73, 68, 95, 79, 82, 95, 78, 85, 76, 76, 0, 82, 69, 84, 95, - 80, 84, 82, 95, 84, 79, 95, 77, 69, 77, 95, 79, 82, 95, 66, 84, 70, 95, 73, 68, 95, 79, 82, 95, - 78, 85, 76, 76, 0, 82, 69, 84, 95, 80, 84, 82, 95, 84, 79, 95, 77, 69, 77, 95, 79, 82, 95, 66, - 84, 70, 95, 73, 68, 0, 82, 69, 84, 95, 80, 84, 82, 95, 84, 79, 95, 66, 84, 70, 95, 73, 68, 0, - 98, 112, 102, 95, 114, 101, 116, 117, 114, 110, 95, 116, 121, 112, 101, 0, 65, 82, 71, 95, 68, - 79, 78, 84, 67, 65, 82, 69, 0, 65, 82, 71, 95, 67, 79, 78, 83, 84, 95, 77, 65, 80, 95, 80, 84, - 82, 0, 65, 82, 71, 95, 80, 84, 82, 95, 84, 79, 95, 77, 65, 80, 95, 75, 69, 89, 0, 65, 82, 71, - 95, 80, 84, 82, 95, 84, 79, 95, 77, 65, 80, 95, 86, 65, 76, 85, 69, 0, 65, 82, 71, 95, 80, 84, - 82, 95, 84, 79, 95, 85, 78, 73, 78, 73, 84, 95, 77, 65, 80, 95, 86, 65, 76, 85, 69, 0, 65, 82, - 71, 95, 80, 84, 82, 95, 84, 79, 95, 77, 65, 80, 95, 86, 65, 76, 85, 69, 95, 79, 82, 95, 78, 85, - 76, 76, 0, 65, 82, 71, 95, 80, 84, 82, 95, 84, 79, 95, 77, 69, 77, 0, 65, 82, 71, 95, 80, 84, - 82, 95, 84, 79, 95, 77, 69, 77, 95, 79, 82, 95, 78, 85, 76, 76, 0, 65, 82, 71, 95, 80, 84, 82, - 95, 84, 79, 95, 85, 78, 73, 78, 73, 84, 95, 77, 69, 77, 0, 65, 82, 71, 95, 67, 79, 78, 83, 84, - 95, 83, 73, 90, 69, 0, 65, 82, 71, 95, 67, 79, 78, 83, 84, 95, 83, 73, 90, 69, 95, 79, 82, 95, - 90, 69, 82, 79, 0, 65, 82, 71, 95, 80, 84, 82, 95, 84, 79, 95, 67, 84, 88, 0, 65, 82, 71, 95, - 80, 84, 82, 95, 84, 79, 95, 67, 84, 88, 95, 79, 82, 95, 78, 85, 76, 76, 0, 65, 82, 71, 95, 65, - 78, 89, 84, 72, 73, 78, 71, 0, 65, 82, 71, 95, 80, 84, 82, 95, 84, 79, 95, 83, 80, 73, 78, 95, - 76, 79, 67, 75, 0, 65, 82, 71, 95, 80, 84, 82, 95, 84, 79, 95, 83, 79, 67, 75, 95, 67, 79, 77, - 77, 79, 78, 0, 65, 82, 71, 95, 80, 84, 82, 95, 84, 79, 95, 73, 78, 84, 0, 65, 82, 71, 95, 80, - 84, 82, 95, 84, 79, 95, 76, 79, 78, 71, 0, 65, 82, 71, 95, 80, 84, 82, 95, 84, 79, 95, 83, 79, - 67, 75, 69, 84, 0, 65, 82, 71, 95, 80, 84, 82, 95, 84, 79, 95, 83, 79, 67, 75, 69, 84, 95, 79, - 82, 95, 78, 85, 76, 76, 0, 65, 82, 71, 95, 80, 84, 82, 95, 84, 79, 95, 66, 84, 70, 95, 73, 68, - 0, 65, 82, 71, 95, 80, 84, 82, 95, 84, 79, 95, 65, 76, 76, 79, 67, 95, 77, 69, 77, 0, 65, 82, - 71, 95, 80, 84, 82, 95, 84, 79, 95, 65, 76, 76, 79, 67, 95, 77, 69, 77, 95, 79, 82, 95, 78, 85, - 76, 76, 0, 65, 82, 71, 95, 67, 79, 78, 83, 84, 95, 65, 76, 76, 79, 67, 95, 83, 73, 90, 69, 95, - 79, 82, 95, 90, 69, 82, 79, 0, 65, 82, 71, 95, 80, 84, 82, 95, 84, 79, 95, 66, 84, 70, 95, 73, - 68, 95, 83, 79, 67, 75, 95, 67, 79, 77, 77, 79, 78, 0, 65, 82, 71, 95, 80, 84, 82, 95, 84, 79, - 95, 80, 69, 82, 67, 80, 85, 95, 66, 84, 70, 95, 73, 68, 0, 65, 82, 71, 95, 80, 84, 82, 95, 84, - 79, 95, 70, 85, 78, 67, 0, 65, 82, 71, 95, 80, 84, 82, 95, 84, 79, 95, 83, 84, 65, 67, 75, 95, - 79, 82, 95, 78, 85, 76, 76, 0, 65, 82, 71, 95, 80, 84, 82, 95, 84, 79, 95, 67, 79, 78, 83, 84, - 95, 83, 84, 82, 0, 65, 82, 71, 95, 80, 84, 82, 95, 84, 79, 95, 84, 73, 77, 69, 82, 0, 95, 95, - 66, 80, 70, 95, 65, 82, 71, 95, 84, 89, 80, 69, 95, 77, 65, 88, 0, 98, 112, 102, 95, 97, 114, - 103, 95, 116, 121, 112, 101, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 117, 110, 115, 112, 101, - 99, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 109, 97, 112, 95, 108, 111, 111, 107, 117, 112, 95, - 101, 108, 101, 109, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 109, 97, 112, 95, 117, 112, 100, 97, - 116, 101, 95, 101, 108, 101, 109, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 109, 97, 112, 95, 100, - 101, 108, 101, 116, 101, 95, 101, 108, 101, 109, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 112, - 114, 111, 98, 101, 95, 114, 101, 97, 100, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 107, 116, 105, - 109, 101, 95, 103, 101, 116, 95, 110, 115, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 116, 114, 97, - 99, 101, 95, 112, 114, 105, 110, 116, 107, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 103, 101, - 116, 95, 112, 114, 97, 110, 100, 111, 109, 95, 117, 51, 50, 0, 66, 80, 70, 95, 70, 85, 78, 67, - 95, 103, 101, 116, 95, 115, 109, 112, 95, 112, 114, 111, 99, 101, 115, 115, 111, 114, 95, 105, - 100, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 115, 107, 98, 95, 115, 116, 111, 114, 101, 95, 98, - 121, 116, 101, 115, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 108, 51, 95, 99, 115, 117, 109, 95, - 114, 101, 112, 108, 97, 99, 101, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 108, 52, 95, 99, 115, - 117, 109, 95, 114, 101, 112, 108, 97, 99, 101, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 116, 97, - 105, 108, 95, 99, 97, 108, 108, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 99, 108, 111, 110, 101, - 95, 114, 101, 100, 105, 114, 101, 99, 116, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 103, 101, - 116, 95, 99, 117, 114, 114, 101, 110, 116, 95, 112, 105, 100, 95, 116, 103, 105, 100, 0, 66, - 80, 70, 95, 70, 85, 78, 67, 95, 103, 101, 116, 95, 99, 117, 114, 114, 101, 110, 116, 95, 117, - 105, 100, 95, 103, 105, 100, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 103, 101, 116, 95, 99, 117, - 114, 114, 101, 110, 116, 95, 99, 111, 109, 109, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 103, - 101, 116, 95, 99, 103, 114, 111, 117, 112, 95, 99, 108, 97, 115, 115, 105, 100, 0, 66, 80, 70, - 95, 70, 85, 78, 67, 95, 115, 107, 98, 95, 118, 108, 97, 110, 95, 112, 117, 115, 104, 0, 66, 80, - 70, 95, 70, 85, 78, 67, 95, 115, 107, 98, 95, 118, 108, 97, 110, 95, 112, 111, 112, 0, 66, 80, - 70, 95, 70, 85, 78, 67, 95, 115, 107, 98, 95, 103, 101, 116, 95, 116, 117, 110, 110, 101, 108, - 95, 107, 101, 121, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 115, 107, 98, 95, 115, 101, 116, 95, - 116, 117, 110, 110, 101, 108, 95, 107, 101, 121, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 112, - 101, 114, 102, 95, 101, 118, 101, 110, 116, 95, 114, 101, 97, 100, 0, 66, 80, 70, 95, 70, 85, - 78, 67, 95, 114, 101, 100, 105, 114, 101, 99, 116, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 103, - 101, 116, 95, 114, 111, 117, 116, 101, 95, 114, 101, 97, 108, 109, 0, 66, 80, 70, 95, 70, 85, - 78, 67, 95, 112, 101, 114, 102, 95, 101, 118, 101, 110, 116, 95, 111, 117, 116, 112, 117, 116, - 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 115, 107, 98, 95, 108, 111, 97, 100, 95, 98, 121, 116, - 101, 115, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 103, 101, 116, 95, 115, 116, 97, 99, 107, 105, - 100, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 99, 115, 117, 109, 95, 100, 105, 102, 102, 0, 66, - 80, 70, 95, 70, 85, 78, 67, 95, 115, 107, 98, 95, 103, 101, 116, 95, 116, 117, 110, 110, 101, - 108, 95, 111, 112, 116, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 115, 107, 98, 95, 115, 101, 116, - 95, 116, 117, 110, 110, 101, 108, 95, 111, 112, 116, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, - 115, 107, 98, 95, 99, 104, 97, 110, 103, 101, 95, 112, 114, 111, 116, 111, 0, 66, 80, 70, 95, - 70, 85, 78, 67, 95, 115, 107, 98, 95, 99, 104, 97, 110, 103, 101, 95, 116, 121, 112, 101, 0, - 66, 80, 70, 95, 70, 85, 78, 67, 95, 115, 107, 98, 95, 117, 110, 100, 101, 114, 95, 99, 103, - 114, 111, 117, 112, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 103, 101, 116, 95, 104, 97, 115, - 104, 95, 114, 101, 99, 97, 108, 99, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 103, 101, 116, 95, - 99, 117, 114, 114, 101, 110, 116, 95, 116, 97, 115, 107, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, - 112, 114, 111, 98, 101, 95, 119, 114, 105, 116, 101, 95, 117, 115, 101, 114, 0, 66, 80, 70, 95, - 70, 85, 78, 67, 95, 99, 117, 114, 114, 101, 110, 116, 95, 116, 97, 115, 107, 95, 117, 110, 100, - 101, 114, 95, 99, 103, 114, 111, 117, 112, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 115, 107, 98, - 95, 99, 104, 97, 110, 103, 101, 95, 116, 97, 105, 108, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, - 115, 107, 98, 95, 112, 117, 108, 108, 95, 100, 97, 116, 97, 0, 66, 80, 70, 95, 70, 85, 78, 67, - 95, 99, 115, 117, 109, 95, 117, 112, 100, 97, 116, 101, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, - 115, 101, 116, 95, 104, 97, 115, 104, 95, 105, 110, 118, 97, 108, 105, 100, 0, 66, 80, 70, 95, - 70, 85, 78, 67, 95, 103, 101, 116, 95, 110, 117, 109, 97, 95, 110, 111, 100, 101, 95, 105, 100, - 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 115, 107, 98, 95, 99, 104, 97, 110, 103, 101, 95, 104, - 101, 97, 100, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 120, 100, 112, 95, 97, 100, 106, 117, 115, - 116, 95, 104, 101, 97, 100, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 112, 114, 111, 98, 101, 95, - 114, 101, 97, 100, 95, 115, 116, 114, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 103, 101, 116, 95, - 115, 111, 99, 107, 101, 116, 95, 99, 111, 111, 107, 105, 101, 0, 66, 80, 70, 95, 70, 85, 78, - 67, 95, 103, 101, 116, 95, 115, 111, 99, 107, 101, 116, 95, 117, 105, 100, 0, 66, 80, 70, 95, - 70, 85, 78, 67, 95, 115, 101, 116, 95, 104, 97, 115, 104, 0, 66, 80, 70, 95, 70, 85, 78, 67, - 95, 115, 101, 116, 115, 111, 99, 107, 111, 112, 116, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, - 115, 107, 98, 95, 97, 100, 106, 117, 115, 116, 95, 114, 111, 111, 109, 0, 66, 80, 70, 95, 70, - 85, 78, 67, 95, 114, 101, 100, 105, 114, 101, 99, 116, 95, 109, 97, 112, 0, 66, 80, 70, 95, 70, - 85, 78, 67, 95, 115, 107, 95, 114, 101, 100, 105, 114, 101, 99, 116, 95, 109, 97, 112, 0, 66, - 80, 70, 95, 70, 85, 78, 67, 95, 115, 111, 99, 107, 95, 109, 97, 112, 95, 117, 112, 100, 97, - 116, 101, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 120, 100, 112, 95, 97, 100, 106, 117, 115, - 116, 95, 109, 101, 116, 97, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 112, 101, 114, 102, 95, 101, - 118, 101, 110, 116, 95, 114, 101, 97, 100, 95, 118, 97, 108, 117, 101, 0, 66, 80, 70, 95, 70, - 85, 78, 67, 95, 112, 101, 114, 102, 95, 112, 114, 111, 103, 95, 114, 101, 97, 100, 95, 118, 97, - 108, 117, 101, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 103, 101, 116, 115, 111, 99, 107, 111, - 112, 116, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 111, 118, 101, 114, 114, 105, 100, 101, 95, - 114, 101, 116, 117, 114, 110, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 115, 111, 99, 107, 95, - 111, 112, 115, 95, 99, 98, 95, 102, 108, 97, 103, 115, 95, 115, 101, 116, 0, 66, 80, 70, 95, - 70, 85, 78, 67, 95, 109, 115, 103, 95, 114, 101, 100, 105, 114, 101, 99, 116, 95, 109, 97, 112, - 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 109, 115, 103, 95, 97, 112, 112, 108, 121, 95, 98, 121, - 116, 101, 115, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 109, 115, 103, 95, 99, 111, 114, 107, 95, - 98, 121, 116, 101, 115, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 109, 115, 103, 95, 112, 117, - 108, 108, 95, 100, 97, 116, 97, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 98, 105, 110, 100, 0, - 66, 80, 70, 95, 70, 85, 78, 67, 95, 120, 100, 112, 95, 97, 100, 106, 117, 115, 116, 95, 116, - 97, 105, 108, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 115, 107, 98, 95, 103, 101, 116, 95, 120, - 102, 114, 109, 95, 115, 116, 97, 116, 101, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 103, 101, - 116, 95, 115, 116, 97, 99, 107, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 115, 107, 98, 95, 108, - 111, 97, 100, 95, 98, 121, 116, 101, 115, 95, 114, 101, 108, 97, 116, 105, 118, 101, 0, 66, 80, - 70, 95, 70, 85, 78, 67, 95, 102, 105, 98, 95, 108, 111, 111, 107, 117, 112, 0, 66, 80, 70, 95, - 70, 85, 78, 67, 95, 115, 111, 99, 107, 95, 104, 97, 115, 104, 95, 117, 112, 100, 97, 116, 101, - 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 109, 115, 103, 95, 114, 101, 100, 105, 114, 101, 99, - 116, 95, 104, 97, 115, 104, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 115, 107, 95, 114, 101, 100, - 105, 114, 101, 99, 116, 95, 104, 97, 115, 104, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 108, 119, - 116, 95, 112, 117, 115, 104, 95, 101, 110, 99, 97, 112, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, - 108, 119, 116, 95, 115, 101, 103, 54, 95, 115, 116, 111, 114, 101, 95, 98, 121, 116, 101, 115, - 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 108, 119, 116, 95, 115, 101, 103, 54, 95, 97, 100, 106, - 117, 115, 116, 95, 115, 114, 104, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 108, 119, 116, 95, - 115, 101, 103, 54, 95, 97, 99, 116, 105, 111, 110, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 114, - 99, 95, 114, 101, 112, 101, 97, 116, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 114, 99, 95, 107, - 101, 121, 100, 111, 119, 110, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 115, 107, 98, 95, 99, 103, - 114, 111, 117, 112, 95, 105, 100, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 103, 101, 116, 95, 99, - 117, 114, 114, 101, 110, 116, 95, 99, 103, 114, 111, 117, 112, 95, 105, 100, 0, 66, 80, 70, 95, - 70, 85, 78, 67, 95, 103, 101, 116, 95, 108, 111, 99, 97, 108, 95, 115, 116, 111, 114, 97, 103, - 101, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 115, 107, 95, 115, 101, 108, 101, 99, 116, 95, 114, - 101, 117, 115, 101, 112, 111, 114, 116, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 115, 107, 98, - 95, 97, 110, 99, 101, 115, 116, 111, 114, 95, 99, 103, 114, 111, 117, 112, 95, 105, 100, 0, 66, - 80, 70, 95, 70, 85, 78, 67, 95, 115, 107, 95, 108, 111, 111, 107, 117, 112, 95, 116, 99, 112, - 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 115, 107, 95, 108, 111, 111, 107, 117, 112, 95, 117, - 100, 112, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 115, 107, 95, 114, 101, 108, 101, 97, 115, - 101, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 109, 97, 112, 95, 112, 117, 115, 104, 95, 101, 108, - 101, 109, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 109, 97, 112, 95, 112, 111, 112, 95, 101, 108, - 101, 109, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 109, 97, 112, 95, 112, 101, 101, 107, 95, 101, - 108, 101, 109, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 109, 115, 103, 95, 112, 117, 115, 104, - 95, 100, 97, 116, 97, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 109, 115, 103, 95, 112, 111, 112, - 95, 100, 97, 116, 97, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 114, 99, 95, 112, 111, 105, 110, - 116, 101, 114, 95, 114, 101, 108, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 115, 112, 105, 110, - 95, 108, 111, 99, 107, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 115, 112, 105, 110, 95, 117, 110, - 108, 111, 99, 107, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 115, 107, 95, 102, 117, 108, 108, - 115, 111, 99, 107, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 116, 99, 112, 95, 115, 111, 99, 107, - 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 115, 107, 98, 95, 101, 99, 110, 95, 115, 101, 116, 95, - 99, 101, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 103, 101, 116, 95, 108, 105, 115, 116, 101, - 110, 101, 114, 95, 115, 111, 99, 107, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 115, 107, 99, 95, - 108, 111, 111, 107, 117, 112, 95, 116, 99, 112, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 116, 99, - 112, 95, 99, 104, 101, 99, 107, 95, 115, 121, 110, 99, 111, 111, 107, 105, 101, 0, 66, 80, 70, - 95, 70, 85, 78, 67, 95, 115, 121, 115, 99, 116, 108, 95, 103, 101, 116, 95, 110, 97, 109, 101, - 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 115, 121, 115, 99, 116, 108, 95, 103, 101, 116, 95, 99, - 117, 114, 114, 101, 110, 116, 95, 118, 97, 108, 117, 101, 0, 66, 80, 70, 95, 70, 85, 78, 67, - 95, 115, 121, 115, 99, 116, 108, 95, 103, 101, 116, 95, 110, 101, 119, 95, 118, 97, 108, 117, - 101, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 115, 121, 115, 99, 116, 108, 95, 115, 101, 116, 95, - 110, 101, 119, 95, 118, 97, 108, 117, 101, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 115, 116, - 114, 116, 111, 108, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 115, 116, 114, 116, 111, 117, 108, - 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 115, 107, 95, 115, 116, 111, 114, 97, 103, 101, 95, 103, - 101, 116, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 115, 107, 95, 115, 116, 111, 114, 97, 103, - 101, 95, 100, 101, 108, 101, 116, 101, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 115, 101, 110, - 100, 95, 115, 105, 103, 110, 97, 108, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 116, 99, 112, 95, - 103, 101, 110, 95, 115, 121, 110, 99, 111, 111, 107, 105, 101, 0, 66, 80, 70, 95, 70, 85, 78, - 67, 95, 115, 107, 98, 95, 111, 117, 116, 112, 117, 116, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, - 112, 114, 111, 98, 101, 95, 114, 101, 97, 100, 95, 117, 115, 101, 114, 0, 66, 80, 70, 95, 70, - 85, 78, 67, 95, 112, 114, 111, 98, 101, 95, 114, 101, 97, 100, 95, 107, 101, 114, 110, 101, - 108, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 112, 114, 111, 98, 101, 95, 114, 101, 97, 100, 95, - 117, 115, 101, 114, 95, 115, 116, 114, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 112, 114, 111, - 98, 101, 95, 114, 101, 97, 100, 95, 107, 101, 114, 110, 101, 108, 95, 115, 116, 114, 0, 66, 80, - 70, 95, 70, 85, 78, 67, 95, 116, 99, 112, 95, 115, 101, 110, 100, 95, 97, 99, 107, 0, 66, 80, - 70, 95, 70, 85, 78, 67, 95, 115, 101, 110, 100, 95, 115, 105, 103, 110, 97, 108, 95, 116, 104, - 114, 101, 97, 100, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 106, 105, 102, 102, 105, 101, 115, - 54, 52, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 114, 101, 97, 100, 95, 98, 114, 97, 110, 99, - 104, 95, 114, 101, 99, 111, 114, 100, 115, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 103, 101, - 116, 95, 110, 115, 95, 99, 117, 114, 114, 101, 110, 116, 95, 112, 105, 100, 95, 116, 103, 105, - 100, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 120, 100, 112, 95, 111, 117, 116, 112, 117, 116, 0, - 66, 80, 70, 95, 70, 85, 78, 67, 95, 103, 101, 116, 95, 110, 101, 116, 110, 115, 95, 99, 111, - 111, 107, 105, 101, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 103, 101, 116, 95, 99, 117, 114, - 114, 101, 110, 116, 95, 97, 110, 99, 101, 115, 116, 111, 114, 95, 99, 103, 114, 111, 117, 112, - 95, 105, 100, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 115, 107, 95, 97, 115, 115, 105, 103, 110, - 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 107, 116, 105, 109, 101, 95, 103, 101, 116, 95, 98, 111, - 111, 116, 95, 110, 115, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 115, 101, 113, 95, 112, 114, - 105, 110, 116, 102, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 115, 101, 113, 95, 119, 114, 105, - 116, 101, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 115, 107, 95, 99, 103, 114, 111, 117, 112, 95, - 105, 100, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 115, 107, 95, 97, 110, 99, 101, 115, 116, 111, - 114, 95, 99, 103, 114, 111, 117, 112, 95, 105, 100, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 114, - 105, 110, 103, 98, 117, 102, 95, 111, 117, 116, 112, 117, 116, 0, 66, 80, 70, 95, 70, 85, 78, - 67, 95, 114, 105, 110, 103, 98, 117, 102, 95, 114, 101, 115, 101, 114, 118, 101, 0, 66, 80, 70, - 95, 70, 85, 78, 67, 95, 114, 105, 110, 103, 98, 117, 102, 95, 115, 117, 98, 109, 105, 116, 0, - 66, 80, 70, 95, 70, 85, 78, 67, 95, 114, 105, 110, 103, 98, 117, 102, 95, 100, 105, 115, 99, - 97, 114, 100, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 114, 105, 110, 103, 98, 117, 102, 95, 113, - 117, 101, 114, 121, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 99, 115, 117, 109, 95, 108, 101, - 118, 101, 108, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 115, 107, 99, 95, 116, 111, 95, 116, 99, - 112, 54, 95, 115, 111, 99, 107, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 115, 107, 99, 95, 116, - 111, 95, 116, 99, 112, 95, 115, 111, 99, 107, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 115, 107, - 99, 95, 116, 111, 95, 116, 99, 112, 95, 116, 105, 109, 101, 119, 97, 105, 116, 95, 115, 111, - 99, 107, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 115, 107, 99, 95, 116, 111, 95, 116, 99, 112, - 95, 114, 101, 113, 117, 101, 115, 116, 95, 115, 111, 99, 107, 0, 66, 80, 70, 95, 70, 85, 78, - 67, 95, 115, 107, 99, 95, 116, 111, 95, 117, 100, 112, 54, 95, 115, 111, 99, 107, 0, 66, 80, - 70, 95, 70, 85, 78, 67, 95, 103, 101, 116, 95, 116, 97, 115, 107, 95, 115, 116, 97, 99, 107, 0, - 66, 80, 70, 95, 70, 85, 78, 67, 95, 108, 111, 97, 100, 95, 104, 100, 114, 95, 111, 112, 116, 0, - 66, 80, 70, 95, 70, 85, 78, 67, 95, 115, 116, 111, 114, 101, 95, 104, 100, 114, 95, 111, 112, - 116, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 114, 101, 115, 101, 114, 118, 101, 95, 104, 100, - 114, 95, 111, 112, 116, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 105, 110, 111, 100, 101, 95, - 115, 116, 111, 114, 97, 103, 101, 95, 103, 101, 116, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, - 105, 110, 111, 100, 101, 95, 115, 116, 111, 114, 97, 103, 101, 95, 100, 101, 108, 101, 116, - 101, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 100, 95, 112, 97, 116, 104, 0, 66, 80, 70, 95, 70, - 85, 78, 67, 95, 99, 111, 112, 121, 95, 102, 114, 111, 109, 95, 117, 115, 101, 114, 0, 66, 80, - 70, 95, 70, 85, 78, 67, 95, 115, 110, 112, 114, 105, 110, 116, 102, 95, 98, 116, 102, 0, 66, - 80, 70, 95, 70, 85, 78, 67, 95, 115, 101, 113, 95, 112, 114, 105, 110, 116, 102, 95, 98, 116, - 102, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 115, 107, 98, 95, 99, 103, 114, 111, 117, 112, 95, - 99, 108, 97, 115, 115, 105, 100, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 114, 101, 100, 105, - 114, 101, 99, 116, 95, 110, 101, 105, 103, 104, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 112, - 101, 114, 95, 99, 112, 117, 95, 112, 116, 114, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 116, 104, - 105, 115, 95, 99, 112, 117, 95, 112, 116, 114, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 114, 101, - 100, 105, 114, 101, 99, 116, 95, 112, 101, 101, 114, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, - 116, 97, 115, 107, 95, 115, 116, 111, 114, 97, 103, 101, 95, 103, 101, 116, 0, 66, 80, 70, 95, - 70, 85, 78, 67, 95, 116, 97, 115, 107, 95, 115, 116, 111, 114, 97, 103, 101, 95, 100, 101, 108, - 101, 116, 101, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 103, 101, 116, 95, 99, 117, 114, 114, - 101, 110, 116, 95, 116, 97, 115, 107, 95, 98, 116, 102, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, - 98, 112, 114, 109, 95, 111, 112, 116, 115, 95, 115, 101, 116, 0, 66, 80, 70, 95, 70, 85, 78, - 67, 95, 107, 116, 105, 109, 101, 95, 103, 101, 116, 95, 99, 111, 97, 114, 115, 101, 95, 110, - 115, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 105, 109, 97, 95, 105, 110, 111, 100, 101, 95, 104, - 97, 115, 104, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 115, 111, 99, 107, 95, 102, 114, 111, 109, - 95, 102, 105, 108, 101, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 99, 104, 101, 99, 107, 95, 109, - 116, 117, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 102, 111, 114, 95, 101, 97, 99, 104, 95, 109, - 97, 112, 95, 101, 108, 101, 109, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 115, 110, 112, 114, - 105, 110, 116, 102, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 115, 121, 115, 95, 98, 112, 102, 0, - 66, 80, 70, 95, 70, 85, 78, 67, 95, 98, 116, 102, 95, 102, 105, 110, 100, 95, 98, 121, 95, 110, - 97, 109, 101, 95, 107, 105, 110, 100, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 115, 121, 115, 95, - 99, 108, 111, 115, 101, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 116, 105, 109, 101, 114, 95, - 105, 110, 105, 116, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 116, 105, 109, 101, 114, 95, 115, - 101, 116, 95, 99, 97, 108, 108, 98, 97, 99, 107, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 116, - 105, 109, 101, 114, 95, 115, 116, 97, 114, 116, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 116, - 105, 109, 101, 114, 95, 99, 97, 110, 99, 101, 108, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 103, - 101, 116, 95, 102, 117, 110, 99, 95, 105, 112, 0, 66, 80, 70, 95, 70, 85, 78, 67, 95, 103, 101, - 116, 95, 97, 116, 116, 97, 99, 104, 95, 99, 111, 111, 107, 105, 101, 0, 66, 80, 70, 95, 70, 85, - 78, 67, 95, 116, 97, 115, 107, 95, 112, 116, 95, 114, 101, 103, 115, 0, 95, 95, 66, 80, 70, 95, - 70, 85, 78, 67, 95, 77, 65, 88, 95, 73, 68, 0, 98, 112, 102, 95, 102, 117, 110, 99, 95, 105, - 100, 0, 66, 80, 70, 95, 82, 69, 65, 68, 0, 66, 80, 70, 95, 87, 82, 73, 84, 69, 0, 98, 112, 102, - 95, 97, 99, 99, 101, 115, 115, 95, 116, 121, 112, 101, 0, 82, 69, 71, 95, 76, 73, 86, 69, 95, - 78, 79, 78, 69, 0, 82, 69, 71, 95, 76, 73, 86, 69, 95, 82, 69, 65, 68, 51, 50, 0, 82, 69, 71, - 95, 76, 73, 86, 69, 95, 82, 69, 65, 68, 54, 52, 0, 82, 69, 71, 95, 76, 73, 86, 69, 95, 82, 69, - 65, 68, 0, 82, 69, 71, 95, 76, 73, 86, 69, 95, 87, 82, 73, 84, 84, 69, 78, 0, 82, 69, 71, 95, - 76, 73, 86, 69, 95, 68, 79, 78, 69, 0, 98, 112, 102, 95, 114, 101, 103, 95, 108, 105, 118, 101, - 110, 101, 115, 115, 0, 66, 80, 70, 95, 77, 65, 80, 95, 84, 89, 80, 69, 95, 85, 78, 83, 80, 69, - 67, 0, 66, 80, 70, 95, 77, 65, 80, 95, 84, 89, 80, 69, 95, 72, 65, 83, 72, 0, 66, 80, 70, 95, - 77, 65, 80, 95, 84, 89, 80, 69, 95, 65, 82, 82, 65, 89, 0, 66, 80, 70, 95, 77, 65, 80, 95, 84, - 89, 80, 69, 95, 80, 82, 79, 71, 95, 65, 82, 82, 65, 89, 0, 66, 80, 70, 95, 77, 65, 80, 95, 84, - 89, 80, 69, 95, 80, 69, 82, 70, 95, 69, 86, 69, 78, 84, 95, 65, 82, 82, 65, 89, 0, 66, 80, 70, - 95, 77, 65, 80, 95, 84, 89, 80, 69, 95, 80, 69, 82, 67, 80, 85, 95, 72, 65, 83, 72, 0, 66, 80, - 70, 95, 77, 65, 80, 95, 84, 89, 80, 69, 95, 80, 69, 82, 67, 80, 85, 95, 65, 82, 82, 65, 89, 0, - 66, 80, 70, 95, 77, 65, 80, 95, 84, 89, 80, 69, 95, 83, 84, 65, 67, 75, 95, 84, 82, 65, 67, 69, - 0, 66, 80, 70, 95, 77, 65, 80, 95, 84, 89, 80, 69, 95, 67, 71, 82, 79, 85, 80, 95, 65, 82, 82, - 65, 89, 0, 66, 80, 70, 95, 77, 65, 80, 95, 84, 89, 80, 69, 95, 76, 82, 85, 95, 72, 65, 83, 72, - 0, 66, 80, 70, 95, 77, 65, 80, 95, 84, 89, 80, 69, 95, 76, 82, 85, 95, 80, 69, 82, 67, 80, 85, - 95, 72, 65, 83, 72, 0, 66, 80, 70, 95, 77, 65, 80, 95, 84, 89, 80, 69, 95, 76, 80, 77, 95, 84, - 82, 73, 69, 0, 66, 80, 70, 95, 77, 65, 80, 95, 84, 89, 80, 69, 95, 65, 82, 82, 65, 89, 95, 79, - 70, 95, 77, 65, 80, 83, 0, 66, 80, 70, 95, 77, 65, 80, 95, 84, 89, 80, 69, 95, 72, 65, 83, 72, - 95, 79, 70, 95, 77, 65, 80, 83, 0, 66, 80, 70, 95, 77, 65, 80, 95, 84, 89, 80, 69, 95, 68, 69, - 86, 77, 65, 80, 0, 66, 80, 70, 95, 77, 65, 80, 95, 84, 89, 80, 69, 95, 83, 79, 67, 75, 77, 65, - 80, 0, 66, 80, 70, 95, 77, 65, 80, 95, 84, 89, 80, 69, 95, 67, 80, 85, 77, 65, 80, 0, 66, 80, - 70, 95, 77, 65, 80, 95, 84, 89, 80, 69, 95, 88, 83, 75, 77, 65, 80, 0, 66, 80, 70, 95, 77, 65, - 80, 95, 84, 89, 80, 69, 95, 83, 79, 67, 75, 72, 65, 83, 72, 0, 66, 80, 70, 95, 77, 65, 80, 95, - 84, 89, 80, 69, 95, 67, 71, 82, 79, 85, 80, 95, 83, 84, 79, 82, 65, 71, 69, 0, 66, 80, 70, 95, - 77, 65, 80, 95, 84, 89, 80, 69, 95, 82, 69, 85, 83, 69, 80, 79, 82, 84, 95, 83, 79, 67, 75, 65, - 82, 82, 65, 89, 0, 66, 80, 70, 95, 77, 65, 80, 95, 84, 89, 80, 69, 95, 80, 69, 82, 67, 80, 85, - 95, 67, 71, 82, 79, 85, 80, 95, 83, 84, 79, 82, 65, 71, 69, 0, 66, 80, 70, 95, 77, 65, 80, 95, - 84, 89, 80, 69, 95, 81, 85, 69, 85, 69, 0, 66, 80, 70, 95, 77, 65, 80, 95, 84, 89, 80, 69, 95, - 83, 84, 65, 67, 75, 0, 66, 80, 70, 95, 77, 65, 80, 95, 84, 89, 80, 69, 95, 83, 75, 95, 83, 84, - 79, 82, 65, 71, 69, 0, 66, 80, 70, 95, 77, 65, 80, 95, 84, 89, 80, 69, 95, 68, 69, 86, 77, 65, - 80, 95, 72, 65, 83, 72, 0, 66, 80, 70, 95, 77, 65, 80, 95, 84, 89, 80, 69, 95, 83, 84, 82, 85, - 67, 84, 95, 79, 80, 83, 0, 66, 80, 70, 95, 77, 65, 80, 95, 84, 89, 80, 69, 95, 82, 73, 78, 71, - 66, 85, 70, 0, 66, 80, 70, 95, 77, 65, 80, 95, 84, 89, 80, 69, 95, 73, 78, 79, 68, 69, 95, 83, - 84, 79, 82, 65, 71, 69, 0, 66, 80, 70, 95, 77, 65, 80, 95, 84, 89, 80, 69, 95, 84, 65, 83, 75, - 95, 83, 84, 79, 82, 65, 71, 69, 0, 98, 112, 102, 95, 109, 97, 112, 95, 116, 121, 112, 101, 0, - 75, 77, 69, 77, 95, 78, 79, 78, 69, 0, 75, 77, 69, 77, 95, 65, 76, 76, 79, 67, 65, 84, 69, 68, - 0, 75, 77, 69, 77, 95, 79, 78, 76, 73, 78, 69, 0, 109, 101, 109, 99, 103, 95, 107, 109, 101, - 109, 95, 115, 116, 97, 116, 101, 0, 90, 79, 78, 69, 95, 68, 77, 65, 0, 90, 79, 78, 69, 95, 68, - 77, 65, 51, 50, 0, 90, 79, 78, 69, 95, 78, 79, 82, 77, 65, 76, 0, 90, 79, 78, 69, 95, 77, 79, - 86, 65, 66, 76, 69, 0, 90, 79, 78, 69, 95, 68, 69, 86, 73, 67, 69, 0, 95, 95, 77, 65, 88, 95, - 78, 82, 95, 90, 79, 78, 69, 83, 0, 122, 111, 110, 101, 95, 116, 121, 112, 101, 0, 95, 95, 78, - 69, 84, 68, 69, 86, 95, 84, 88, 95, 77, 73, 78, 0, 78, 69, 84, 68, 69, 86, 95, 84, 88, 95, 79, - 75, 0, 78, 69, 84, 68, 69, 86, 95, 84, 88, 95, 66, 85, 83, 89, 0, 110, 101, 116, 100, 101, 118, - 95, 116, 120, 0, 67, 65, 95, 69, 86, 69, 78, 84, 95, 84, 88, 95, 83, 84, 65, 82, 84, 0, 67, 65, - 95, 69, 86, 69, 78, 84, 95, 67, 87, 78, 68, 95, 82, 69, 83, 84, 65, 82, 84, 0, 67, 65, 95, 69, - 86, 69, 78, 84, 95, 67, 79, 77, 80, 76, 69, 84, 69, 95, 67, 87, 82, 0, 67, 65, 95, 69, 86, 69, - 78, 84, 95, 76, 79, 83, 83, 0, 67, 65, 95, 69, 86, 69, 78, 84, 95, 69, 67, 78, 95, 78, 79, 95, - 67, 69, 0, 67, 65, 95, 69, 86, 69, 78, 84, 95, 69, 67, 78, 95, 73, 83, 95, 67, 69, 0, 116, 99, - 112, 95, 99, 97, 95, 101, 118, 101, 110, 116, 0, 88, 70, 82, 77, 95, 82, 69, 80, 76, 65, 89, - 95, 77, 79, 68, 69, 95, 76, 69, 71, 65, 67, 89, 0, 88, 70, 82, 77, 95, 82, 69, 80, 76, 65, 89, - 95, 77, 79, 68, 69, 95, 66, 77, 80, 0, 88, 70, 82, 77, 95, 82, 69, 80, 76, 65, 89, 95, 77, 79, - 68, 69, 95, 69, 83, 78, 0, 120, 102, 114, 109, 95, 114, 101, 112, 108, 97, 121, 95, 109, 111, - 100, 101, 0, 78, 70, 95, 76, 79, 71, 95, 84, 89, 80, 69, 95, 76, 79, 71, 0, 78, 70, 95, 76, 79, - 71, 95, 84, 89, 80, 69, 95, 85, 76, 79, 71, 0, 78, 70, 95, 76, 79, 71, 95, 84, 89, 80, 69, 95, - 77, 65, 88, 0, 110, 102, 95, 108, 111, 103, 95, 116, 121, 112, 101, 0, 83, 67, 84, 80, 95, 67, - 79, 78, 78, 84, 82, 65, 67, 75, 95, 78, 79, 78, 69, 0, 83, 67, 84, 80, 95, 67, 79, 78, 78, 84, - 82, 65, 67, 75, 95, 67, 76, 79, 83, 69, 68, 0, 83, 67, 84, 80, 95, 67, 79, 78, 78, 84, 82, 65, - 67, 75, 95, 67, 79, 79, 75, 73, 69, 95, 87, 65, 73, 84, 0, 83, 67, 84, 80, 95, 67, 79, 78, 78, - 84, 82, 65, 67, 75, 95, 67, 79, 79, 75, 73, 69, 95, 69, 67, 72, 79, 69, 68, 0, 83, 67, 84, 80, - 95, 67, 79, 78, 78, 84, 82, 65, 67, 75, 95, 69, 83, 84, 65, 66, 76, 73, 83, 72, 69, 68, 0, 83, - 67, 84, 80, 95, 67, 79, 78, 78, 84, 82, 65, 67, 75, 95, 83, 72, 85, 84, 68, 79, 87, 78, 95, 83, - 69, 78, 84, 0, 83, 67, 84, 80, 95, 67, 79, 78, 78, 84, 82, 65, 67, 75, 95, 83, 72, 85, 84, 68, - 79, 87, 78, 95, 82, 69, 67, 68, 0, 83, 67, 84, 80, 95, 67, 79, 78, 78, 84, 82, 65, 67, 75, 95, - 83, 72, 85, 84, 68, 79, 87, 78, 95, 65, 67, 75, 95, 83, 69, 78, 84, 0, 83, 67, 84, 80, 95, 67, - 79, 78, 78, 84, 82, 65, 67, 75, 95, 72, 69, 65, 82, 84, 66, 69, 65, 84, 95, 83, 69, 78, 84, 0, - 83, 67, 84, 80, 95, 67, 79, 78, 78, 84, 82, 65, 67, 75, 95, 72, 69, 65, 82, 84, 66, 69, 65, 84, - 95, 65, 67, 75, 69, 68, 0, 83, 67, 84, 80, 95, 67, 79, 78, 78, 84, 82, 65, 67, 75, 95, 77, 65, - 88, 0, 115, 99, 116, 112, 95, 99, 111, 110, 110, 116, 114, 97, 99, 107, 0, 73, 80, 95, 67, 84, - 95, 68, 73, 82, 95, 79, 82, 73, 71, 73, 78, 65, 76, 0, 73, 80, 95, 67, 84, 95, 68, 73, 82, 95, - 82, 69, 80, 76, 89, 0, 73, 80, 95, 67, 84, 95, 68, 73, 82, 95, 77, 65, 88, 0, 105, 112, 95, 99, - 111, 110, 110, 116, 114, 97, 99, 107, 95, 100, 105, 114, 0, 84, 67, 95, 83, 69, 84, 85, 80, 95, - 81, 68, 73, 83, 67, 95, 77, 81, 80, 82, 73, 79, 0, 84, 67, 95, 83, 69, 84, 85, 80, 95, 67, 76, - 83, 85, 51, 50, 0, 84, 67, 95, 83, 69, 84, 85, 80, 95, 67, 76, 83, 70, 76, 79, 87, 69, 82, 0, - 84, 67, 95, 83, 69, 84, 85, 80, 95, 67, 76, 83, 77, 65, 84, 67, 72, 65, 76, 76, 0, 84, 67, 95, - 83, 69, 84, 85, 80, 95, 67, 76, 83, 66, 80, 70, 0, 84, 67, 95, 83, 69, 84, 85, 80, 95, 66, 76, - 79, 67, 75, 0, 84, 67, 95, 83, 69, 84, 85, 80, 95, 81, 68, 73, 83, 67, 95, 67, 66, 83, 0, 84, - 67, 95, 83, 69, 84, 85, 80, 95, 81, 68, 73, 83, 67, 95, 82, 69, 68, 0, 84, 67, 95, 83, 69, 84, - 85, 80, 95, 81, 68, 73, 83, 67, 95, 80, 82, 73, 79, 0, 84, 67, 95, 83, 69, 84, 85, 80, 95, 81, - 68, 73, 83, 67, 95, 77, 81, 0, 84, 67, 95, 83, 69, 84, 85, 80, 95, 81, 68, 73, 83, 67, 95, 69, - 84, 70, 0, 84, 67, 95, 83, 69, 84, 85, 80, 95, 82, 79, 79, 84, 95, 81, 68, 73, 83, 67, 0, 84, - 67, 95, 83, 69, 84, 85, 80, 95, 81, 68, 73, 83, 67, 95, 71, 82, 69, 68, 0, 84, 67, 95, 83, 69, - 84, 85, 80, 95, 81, 68, 73, 83, 67, 95, 84, 65, 80, 82, 73, 79, 0, 84, 67, 95, 83, 69, 84, 85, - 80, 95, 70, 84, 0, 84, 67, 95, 83, 69, 84, 85, 80, 95, 81, 68, 73, 83, 67, 95, 69, 84, 83, 0, - 84, 67, 95, 83, 69, 84, 85, 80, 95, 81, 68, 73, 83, 67, 95, 84, 66, 70, 0, 84, 67, 95, 83, 69, - 84, 85, 80, 95, 81, 68, 73, 83, 67, 95, 70, 73, 70, 79, 0, 84, 67, 95, 83, 69, 84, 85, 80, 95, - 81, 68, 73, 83, 67, 95, 72, 84, 66, 0, 116, 99, 95, 115, 101, 116, 117, 112, 95, 116, 121, 112, - 101, 0, 88, 68, 80, 95, 83, 69, 84, 85, 80, 95, 80, 82, 79, 71, 0, 88, 68, 80, 95, 83, 69, 84, - 85, 80, 95, 80, 82, 79, 71, 95, 72, 87, 0, 66, 80, 70, 95, 79, 70, 70, 76, 79, 65, 68, 95, 77, - 65, 80, 95, 65, 76, 76, 79, 67, 0, 66, 80, 70, 95, 79, 70, 70, 76, 79, 65, 68, 95, 77, 65, 80, - 95, 70, 82, 69, 69, 0, 88, 68, 80, 95, 83, 69, 84, 85, 80, 95, 88, 83, 75, 95, 80, 79, 79, 76, - 0, 98, 112, 102, 95, 110, 101, 116, 100, 101, 118, 95, 99, 111, 109, 109, 97, 110, 100, 0, 68, - 69, 86, 76, 73, 78, 75, 95, 68, 80, 73, 80, 69, 95, 70, 73, 69, 76, 68, 95, 77, 65, 80, 80, 73, - 78, 71, 95, 84, 89, 80, 69, 95, 78, 79, 78, 69, 0, 68, 69, 86, 76, 73, 78, 75, 95, 68, 80, 73, - 80, 69, 95, 70, 73, 69, 76, 68, 95, 77, 65, 80, 80, 73, 78, 71, 95, 84, 89, 80, 69, 95, 73, 70, - 73, 78, 68, 69, 88, 0, 100, 101, 118, 108, 105, 110, 107, 95, 100, 112, 105, 112, 101, 95, 102, - 105, 101, 108, 100, 95, 109, 97, 112, 112, 105, 110, 103, 95, 116, 121, 112, 101, 0, 68, 69, - 86, 76, 73, 78, 75, 95, 82, 69, 76, 79, 65, 68, 95, 65, 67, 84, 73, 79, 78, 95, 85, 78, 83, 80, - 69, 67, 0, 68, 69, 86, 76, 73, 78, 75, 95, 82, 69, 76, 79, 65, 68, 95, 65, 67, 84, 73, 79, 78, - 95, 68, 82, 73, 86, 69, 82, 95, 82, 69, 73, 78, 73, 84, 0, 68, 69, 86, 76, 73, 78, 75, 95, 82, - 69, 76, 79, 65, 68, 95, 65, 67, 84, 73, 79, 78, 95, 70, 87, 95, 65, 67, 84, 73, 86, 65, 84, 69, - 0, 95, 95, 68, 69, 86, 76, 73, 78, 75, 95, 82, 69, 76, 79, 65, 68, 95, 65, 67, 84, 73, 79, 78, - 95, 77, 65, 88, 0, 68, 69, 86, 76, 73, 78, 75, 95, 82, 69, 76, 79, 65, 68, 95, 65, 67, 84, 73, - 79, 78, 95, 77, 65, 88, 0, 100, 101, 118, 108, 105, 110, 107, 95, 114, 101, 108, 111, 97, 100, - 95, 97, 99, 116, 105, 111, 110, 0, 68, 69, 86, 76, 73, 78, 75, 95, 82, 69, 76, 79, 65, 68, 95, - 76, 73, 77, 73, 84, 95, 85, 78, 83, 80, 69, 67, 0, 68, 69, 86, 76, 73, 78, 75, 95, 82, 69, 76, - 79, 65, 68, 95, 76, 73, 77, 73, 84, 95, 78, 79, 95, 82, 69, 83, 69, 84, 0, 95, 95, 68, 69, 86, - 76, 73, 78, 75, 95, 82, 69, 76, 79, 65, 68, 95, 76, 73, 77, 73, 84, 95, 77, 65, 88, 0, 68, 69, - 86, 76, 73, 78, 75, 95, 82, 69, 76, 79, 65, 68, 95, 76, 73, 77, 73, 84, 95, 77, 65, 88, 0, 100, - 101, 118, 108, 105, 110, 107, 95, 114, 101, 108, 111, 97, 100, 95, 108, 105, 109, 105, 116, 0, - 68, 69, 86, 76, 73, 78, 75, 95, 80, 79, 82, 84, 95, 84, 89, 80, 69, 95, 78, 79, 84, 83, 69, 84, - 0, 68, 69, 86, 76, 73, 78, 75, 95, 80, 79, 82, 84, 95, 84, 89, 80, 69, 95, 65, 85, 84, 79, 0, - 68, 69, 86, 76, 73, 78, 75, 95, 80, 79, 82, 84, 95, 84, 89, 80, 69, 95, 69, 84, 72, 0, 68, 69, - 86, 76, 73, 78, 75, 95, 80, 79, 82, 84, 95, 84, 89, 80, 69, 95, 73, 66, 0, 100, 101, 118, 108, - 105, 110, 107, 95, 112, 111, 114, 116, 95, 116, 121, 112, 101, 0, 68, 69, 86, 76, 73, 78, 75, - 95, 83, 66, 95, 80, 79, 79, 76, 95, 84, 89, 80, 69, 95, 73, 78, 71, 82, 69, 83, 83, 0, 68, 69, - 86, 76, 73, 78, 75, 95, 83, 66, 95, 80, 79, 79, 76, 95, 84, 89, 80, 69, 95, 69, 71, 82, 69, 83, - 83, 0, 100, 101, 118, 108, 105, 110, 107, 95, 115, 98, 95, 112, 111, 111, 108, 95, 116, 121, - 112, 101, 0, 68, 69, 86, 76, 73, 78, 75, 95, 83, 66, 95, 84, 72, 82, 69, 83, 72, 79, 76, 68, - 95, 84, 89, 80, 69, 95, 83, 84, 65, 84, 73, 67, 0, 68, 69, 86, 76, 73, 78, 75, 95, 83, 66, 95, - 84, 72, 82, 69, 83, 72, 79, 76, 68, 95, 84, 89, 80, 69, 95, 68, 89, 78, 65, 77, 73, 67, 0, 100, - 101, 118, 108, 105, 110, 107, 95, 115, 98, 95, 116, 104, 114, 101, 115, 104, 111, 108, 100, 95, - 116, 121, 112, 101, 0, 68, 69, 86, 76, 73, 78, 75, 95, 69, 83, 87, 73, 84, 67, 72, 95, 69, 78, - 67, 65, 80, 95, 77, 79, 68, 69, 95, 78, 79, 78, 69, 0, 68, 69, 86, 76, 73, 78, 75, 95, 69, 83, - 87, 73, 84, 67, 72, 95, 69, 78, 67, 65, 80, 95, 77, 79, 68, 69, 95, 66, 65, 83, 73, 67, 0, 100, - 101, 118, 108, 105, 110, 107, 95, 101, 115, 119, 105, 116, 99, 104, 95, 101, 110, 99, 97, 112, - 95, 109, 111, 100, 101, 0, 68, 69, 86, 76, 73, 78, 75, 95, 84, 82, 65, 80, 95, 84, 89, 80, 69, - 95, 68, 82, 79, 80, 0, 68, 69, 86, 76, 73, 78, 75, 95, 84, 82, 65, 80, 95, 84, 89, 80, 69, 95, - 69, 88, 67, 69, 80, 84, 73, 79, 78, 0, 68, 69, 86, 76, 73, 78, 75, 95, 84, 82, 65, 80, 95, 84, - 89, 80, 69, 95, 67, 79, 78, 84, 82, 79, 76, 0, 100, 101, 118, 108, 105, 110, 107, 95, 116, 114, - 97, 112, 95, 116, 121, 112, 101, 0, 68, 69, 86, 76, 73, 78, 75, 95, 84, 82, 65, 80, 95, 65, 67, - 84, 73, 79, 78, 95, 68, 82, 79, 80, 0, 68, 69, 86, 76, 73, 78, 75, 95, 84, 82, 65, 80, 95, 65, - 67, 84, 73, 79, 78, 95, 84, 82, 65, 80, 0, 68, 69, 86, 76, 73, 78, 75, 95, 84, 82, 65, 80, 95, - 65, 67, 84, 73, 79, 78, 95, 77, 73, 82, 82, 79, 82, 0, 100, 101, 118, 108, 105, 110, 107, 95, - 116, 114, 97, 112, 95, 97, 99, 116, 105, 111, 110, 0, 68, 69, 86, 76, 73, 78, 75, 95, 80, 79, - 82, 84, 95, 70, 76, 65, 86, 79, 85, 82, 95, 80, 72, 89, 83, 73, 67, 65, 76, 0, 68, 69, 86, 76, - 73, 78, 75, 95, 80, 79, 82, 84, 95, 70, 76, 65, 86, 79, 85, 82, 95, 67, 80, 85, 0, 68, 69, 86, - 76, 73, 78, 75, 95, 80, 79, 82, 84, 95, 70, 76, 65, 86, 79, 85, 82, 95, 68, 83, 65, 0, 68, 69, - 86, 76, 73, 78, 75, 95, 80, 79, 82, 84, 95, 70, 76, 65, 86, 79, 85, 82, 95, 80, 67, 73, 95, 80, - 70, 0, 68, 69, 86, 76, 73, 78, 75, 95, 80, 79, 82, 84, 95, 70, 76, 65, 86, 79, 85, 82, 95, 80, - 67, 73, 95, 86, 70, 0, 68, 69, 86, 76, 73, 78, 75, 95, 80, 79, 82, 84, 95, 70, 76, 65, 86, 79, - 85, 82, 95, 86, 73, 82, 84, 85, 65, 76, 0, 68, 69, 86, 76, 73, 78, 75, 95, 80, 79, 82, 84, 95, - 70, 76, 65, 86, 79, 85, 82, 95, 85, 78, 85, 83, 69, 68, 0, 68, 69, 86, 76, 73, 78, 75, 95, 80, - 79, 82, 84, 95, 70, 76, 65, 86, 79, 85, 82, 95, 80, 67, 73, 95, 83, 70, 0, 100, 101, 118, 108, - 105, 110, 107, 95, 112, 111, 114, 116, 95, 102, 108, 97, 118, 111, 117, 114, 0, 68, 69, 86, 76, - 73, 78, 75, 95, 80, 79, 82, 84, 95, 70, 78, 95, 83, 84, 65, 84, 69, 95, 73, 78, 65, 67, 84, 73, - 86, 69, 0, 68, 69, 86, 76, 73, 78, 75, 95, 80, 79, 82, 84, 95, 70, 78, 95, 83, 84, 65, 84, 69, - 95, 65, 67, 84, 73, 86, 69, 0, 100, 101, 118, 108, 105, 110, 107, 95, 112, 111, 114, 116, 95, - 102, 110, 95, 115, 116, 97, 116, 101, 0, 68, 69, 86, 76, 73, 78, 75, 95, 80, 79, 82, 84, 95, - 70, 78, 95, 79, 80, 83, 84, 65, 84, 69, 95, 68, 69, 84, 65, 67, 72, 69, 68, 0, 68, 69, 86, 76, - 73, 78, 75, 95, 80, 79, 82, 84, 95, 70, 78, 95, 79, 80, 83, 84, 65, 84, 69, 95, 65, 84, 84, 65, - 67, 72, 69, 68, 0, 100, 101, 118, 108, 105, 110, 107, 95, 112, 111, 114, 116, 95, 102, 110, 95, - 111, 112, 115, 116, 97, 116, 101, 0, 68, 69, 86, 76, 73, 78, 75, 95, 82, 65, 84, 69, 95, 84, - 89, 80, 69, 95, 76, 69, 65, 70, 0, 68, 69, 86, 76, 73, 78, 75, 95, 82, 65, 84, 69, 95, 84, 89, - 80, 69, 95, 78, 79, 68, 69, 0, 100, 101, 118, 108, 105, 110, 107, 95, 114, 97, 116, 101, 95, - 116, 121, 112, 101, 0, 68, 69, 86, 95, 80, 65, 84, 72, 95, 69, 84, 72, 69, 82, 78, 69, 84, 0, - 68, 69, 86, 95, 80, 65, 84, 72, 95, 86, 76, 65, 78, 0, 68, 69, 86, 95, 80, 65, 84, 72, 95, 66, - 82, 73, 68, 71, 69, 0, 68, 69, 86, 95, 80, 65, 84, 72, 95, 80, 80, 80, 79, 69, 0, 68, 69, 86, - 95, 80, 65, 84, 72, 95, 68, 83, 65, 0, 110, 101, 116, 95, 100, 101, 118, 105, 99, 101, 95, 112, - 97, 116, 104, 95, 116, 121, 112, 101, 0, 100, 101, 118, 0, 110, 97, 109, 101, 0, 110, 97, 109, - 101, 95, 110, 111, 100, 101, 0, 104, 108, 105, 115, 116, 0, 110, 101, 120, 116, 0, 112, 112, - 114, 101, 118, 0, 104, 108, 105, 115, 116, 95, 110, 111, 100, 101, 0, 108, 105, 115, 116, 0, - 112, 114, 101, 118, 0, 108, 105, 115, 116, 95, 104, 101, 97, 100, 0, 110, 101, 116, 100, 101, - 118, 95, 110, 97, 109, 101, 95, 110, 111, 100, 101, 0, 105, 102, 97, 108, 105, 97, 115, 0, 114, - 99, 117, 104, 101, 97, 100, 0, 102, 117, 110, 99, 0, 99, 97, 108, 108, 98, 97, 99, 107, 95, - 104, 101, 97, 100, 0, 100, 101, 118, 95, 105, 102, 97, 108, 105, 97, 115, 0, 109, 101, 109, 95, - 101, 110, 100, 0, 108, 111, 110, 103, 32, 117, 110, 115, 105, 103, 110, 101, 100, 32, 105, 110, - 116, 0, 109, 101, 109, 95, 115, 116, 97, 114, 116, 0, 98, 97, 115, 101, 95, 97, 100, 100, 114, - 0, 115, 116, 97, 116, 101, 0, 100, 101, 118, 95, 108, 105, 115, 116, 0, 110, 97, 112, 105, 95, - 108, 105, 115, 116, 0, 117, 110, 114, 101, 103, 95, 108, 105, 115, 116, 0, 99, 108, 111, 115, - 101, 95, 108, 105, 115, 116, 0, 112, 116, 121, 112, 101, 95, 97, 108, 108, 0, 112, 116, 121, - 112, 101, 95, 115, 112, 101, 99, 105, 102, 105, 99, 0, 97, 100, 106, 95, 108, 105, 115, 116, 0, - 117, 112, 112, 101, 114, 0, 108, 111, 119, 101, 114, 0, 102, 108, 97, 103, 115, 0, 112, 114, - 105, 118, 95, 102, 108, 97, 103, 115, 0, 110, 101, 116, 100, 101, 118, 95, 111, 112, 115, 0, - 110, 100, 111, 95, 105, 110, 105, 116, 0, 110, 100, 111, 95, 117, 110, 105, 110, 105, 116, 0, - 110, 100, 111, 95, 111, 112, 101, 110, 0, 110, 100, 111, 95, 115, 116, 111, 112, 0, 110, 100, - 111, 95, 115, 116, 97, 114, 116, 95, 120, 109, 105, 116, 0, 110, 101, 116, 100, 101, 118, 95, - 116, 120, 95, 116, 0, 100, 101, 118, 95, 115, 99, 114, 97, 116, 99, 104, 0, 114, 98, 110, 111, - 100, 101, 0, 95, 95, 114, 98, 95, 112, 97, 114, 101, 110, 116, 95, 99, 111, 108, 111, 114, 0, - 114, 98, 95, 114, 105, 103, 104, 116, 0, 114, 98, 95, 108, 101, 102, 116, 0, 114, 98, 95, 110, - 111, 100, 101, 0, 115, 107, 0, 95, 95, 115, 107, 95, 99, 111, 109, 109, 111, 110, 0, 115, 107, - 99, 95, 97, 100, 100, 114, 112, 97, 105, 114, 0, 95, 95, 97, 100, 100, 114, 112, 97, 105, 114, - 0, 115, 107, 99, 95, 100, 97, 100, 100, 114, 0, 95, 95, 98, 101, 51, 50, 0, 115, 107, 99, 95, - 114, 99, 118, 95, 115, 97, 100, 100, 114, 0, 115, 107, 99, 95, 104, 97, 115, 104, 0, 115, 107, - 99, 95, 117, 49, 54, 104, 97, 115, 104, 101, 115, 0, 117, 110, 115, 105, 103, 110, 101, 100, - 32, 115, 104, 111, 114, 116, 0, 95, 95, 117, 49, 54, 0, 115, 107, 99, 95, 112, 111, 114, 116, - 112, 97, 105, 114, 0, 95, 95, 112, 111, 114, 116, 112, 97, 105, 114, 0, 115, 107, 99, 95, 100, - 112, 111, 114, 116, 0, 95, 95, 98, 101, 49, 54, 0, 115, 107, 99, 95, 110, 117, 109, 0, 115, - 107, 99, 95, 102, 97, 109, 105, 108, 121, 0, 115, 107, 99, 95, 115, 116, 97, 116, 101, 0, 117, - 110, 115, 105, 103, 110, 101, 100, 32, 99, 104, 97, 114, 0, 115, 107, 99, 95, 114, 101, 117, - 115, 101, 0, 115, 107, 99, 95, 114, 101, 117, 115, 101, 112, 111, 114, 116, 0, 115, 107, 99, - 95, 105, 112, 118, 54, 111, 110, 108, 121, 0, 115, 107, 99, 95, 110, 101, 116, 95, 114, 101, - 102, 99, 110, 116, 0, 115, 107, 99, 95, 98, 111, 117, 110, 100, 95, 100, 101, 118, 95, 105, - 102, 0, 115, 107, 99, 95, 98, 105, 110, 100, 95, 110, 111, 100, 101, 0, 115, 107, 99, 95, 112, - 111, 114, 116, 97, 100, 100, 114, 95, 110, 111, 100, 101, 0, 115, 107, 99, 95, 112, 114, 111, - 116, 0, 99, 108, 111, 115, 101, 0, 112, 114, 101, 95, 99, 111, 110, 110, 101, 99, 116, 0, 115, - 97, 95, 102, 97, 109, 105, 108, 121, 0, 95, 95, 107, 101, 114, 110, 101, 108, 95, 115, 97, 95, - 102, 97, 109, 105, 108, 121, 95, 116, 0, 115, 97, 95, 102, 97, 109, 105, 108, 121, 95, 116, 0, - 115, 97, 95, 100, 97, 116, 97, 0, 115, 111, 99, 107, 97, 100, 100, 114, 0, 99, 111, 110, 110, - 101, 99, 116, 0, 100, 105, 115, 99, 111, 110, 110, 101, 99, 116, 0, 97, 99, 99, 101, 112, 116, - 0, 95, 66, 111, 111, 108, 0, 98, 111, 111, 108, 0, 105, 111, 99, 116, 108, 0, 105, 110, 105, - 116, 0, 100, 101, 115, 116, 114, 111, 121, 0, 115, 104, 117, 116, 100, 111, 119, 110, 0, 115, - 101, 116, 115, 111, 99, 107, 111, 112, 116, 0, 107, 101, 114, 110, 101, 108, 0, 117, 115, 101, - 114, 0, 105, 115, 95, 107, 101, 114, 110, 101, 108, 0, 115, 111, 99, 107, 112, 116, 114, 95, - 116, 0, 103, 101, 116, 115, 111, 99, 107, 111, 112, 116, 0, 107, 101, 101, 112, 97, 108, 105, - 118, 101, 0, 99, 111, 109, 112, 97, 116, 95, 105, 111, 99, 116, 108, 0, 115, 101, 110, 100, - 109, 115, 103, 0, 109, 115, 103, 95, 110, 97, 109, 101, 0, 109, 115, 103, 95, 110, 97, 109, - 101, 108, 101, 110, 0, 109, 115, 103, 95, 105, 116, 101, 114, 0, 105, 116, 101, 114, 95, 116, - 121, 112, 101, 0, 95, 95, 117, 56, 0, 117, 56, 0, 100, 97, 116, 97, 95, 115, 111, 117, 114, 99, - 101, 0, 105, 111, 118, 95, 111, 102, 102, 115, 101, 116, 0, 95, 95, 107, 101, 114, 110, 101, - 108, 95, 117, 108, 111, 110, 103, 95, 116, 0, 95, 95, 107, 101, 114, 110, 101, 108, 95, 115, - 105, 122, 101, 95, 116, 0, 115, 105, 122, 101, 95, 116, 0, 99, 111, 117, 110, 116, 0, 105, 111, - 118, 0, 105, 111, 118, 95, 98, 97, 115, 101, 0, 105, 111, 118, 95, 108, 101, 110, 0, 105, 111, - 118, 101, 99, 0, 107, 118, 101, 99, 0, 98, 118, 101, 99, 0, 98, 118, 95, 112, 97, 103, 101, 0, - 108, 114, 117, 0, 109, 97, 112, 112, 105, 110, 103, 0, 104, 111, 115, 116, 0, 105, 95, 109, - 111, 100, 101, 0, 117, 109, 111, 100, 101, 95, 116, 0, 105, 95, 111, 112, 102, 108, 97, 103, - 115, 0, 105, 95, 117, 105, 100, 0, 118, 97, 108, 0, 95, 95, 107, 101, 114, 110, 101, 108, 95, - 117, 105, 100, 51, 50, 95, 116, 0, 117, 105, 100, 95, 116, 0, 107, 117, 105, 100, 95, 116, 0, - 105, 95, 103, 105, 100, 0, 95, 95, 107, 101, 114, 110, 101, 108, 95, 103, 105, 100, 51, 50, 95, - 116, 0, 103, 105, 100, 95, 116, 0, 107, 103, 105, 100, 95, 116, 0, 105, 95, 102, 108, 97, 103, - 115, 0, 105, 95, 97, 99, 108, 0, 97, 95, 114, 101, 102, 99, 111, 117, 110, 116, 0, 114, 101, - 102, 115, 0, 99, 111, 117, 110, 116, 101, 114, 0, 97, 116, 111, 109, 105, 99, 95, 116, 0, 114, - 101, 102, 99, 111, 117, 110, 116, 95, 115, 116, 114, 117, 99, 116, 0, 114, 101, 102, 99, 111, - 117, 110, 116, 95, 116, 0, 97, 95, 114, 99, 117, 0, 97, 95, 99, 111, 117, 110, 116, 0, 97, 95, - 101, 110, 116, 114, 105, 101, 115, 0, 101, 95, 116, 97, 103, 0, 115, 104, 111, 114, 116, 0, - 101, 95, 112, 101, 114, 109, 0, 101, 95, 117, 105, 100, 0, 101, 95, 103, 105, 100, 0, 112, 111, - 115, 105, 120, 95, 97, 99, 108, 95, 101, 110, 116, 114, 121, 0, 112, 111, 115, 105, 120, 95, - 97, 99, 108, 0, 105, 95, 100, 101, 102, 97, 117, 108, 116, 95, 97, 99, 108, 0, 105, 95, 111, - 112, 0, 108, 111, 111, 107, 117, 112, 0, 100, 95, 102, 108, 97, 103, 115, 0, 100, 95, 115, 101, - 113, 0, 115, 101, 113, 99, 111, 117, 110, 116, 0, 115, 101, 113, 117, 101, 110, 99, 101, 0, - 115, 101, 113, 99, 111, 117, 110, 116, 95, 116, 0, 115, 101, 113, 99, 111, 117, 110, 116, 95, - 115, 112, 105, 110, 108, 111, 99, 107, 0, 115, 101, 113, 99, 111, 117, 110, 116, 95, 115, 112, - 105, 110, 108, 111, 99, 107, 95, 116, 0, 100, 95, 104, 97, 115, 104, 0, 104, 108, 105, 115, - 116, 95, 98, 108, 95, 110, 111, 100, 101, 0, 100, 95, 112, 97, 114, 101, 110, 116, 0, 100, 95, - 110, 97, 109, 101, 0, 104, 97, 115, 104, 0, 117, 51, 50, 0, 108, 101, 110, 0, 104, 97, 115, - 104, 95, 108, 101, 110, 0, 117, 54, 52, 0, 113, 115, 116, 114, 0, 100, 95, 105, 110, 111, 100, - 101, 0, 100, 95, 105, 110, 97, 109, 101, 0, 100, 95, 108, 111, 99, 107, 114, 101, 102, 0, 108, - 111, 99, 107, 95, 99, 111, 117, 110, 116, 0, 108, 111, 99, 107, 0, 114, 108, 111, 99, 107, 0, - 114, 97, 119, 95, 108, 111, 99, 107, 0, 108, 111, 99, 107, 101, 100, 0, 112, 101, 110, 100, - 105, 110, 103, 0, 108, 111, 99, 107, 101, 100, 95, 112, 101, 110, 100, 105, 110, 103, 0, 117, - 49, 54, 0, 116, 97, 105, 108, 0, 113, 115, 112, 105, 110, 108, 111, 99, 107, 0, 97, 114, 99, - 104, 95, 115, 112, 105, 110, 108, 111, 99, 107, 95, 116, 0, 114, 97, 119, 95, 115, 112, 105, - 110, 108, 111, 99, 107, 0, 115, 112, 105, 110, 108, 111, 99, 107, 0, 115, 112, 105, 110, 108, - 111, 99, 107, 95, 116, 0, 108, 111, 99, 107, 114, 101, 102, 0, 100, 95, 111, 112, 0, 100, 95, - 114, 101, 118, 97, 108, 105, 100, 97, 116, 101, 0, 100, 95, 119, 101, 97, 107, 95, 114, 101, - 118, 97, 108, 105, 100, 97, 116, 101, 0, 100, 95, 99, 111, 109, 112, 97, 114, 101, 0, 100, 95, - 100, 101, 108, 101, 116, 101, 0, 100, 95, 105, 110, 105, 116, 0, 100, 95, 114, 101, 108, 101, - 97, 115, 101, 0, 100, 95, 112, 114, 117, 110, 101, 0, 100, 95, 105, 112, 117, 116, 0, 100, 95, - 100, 110, 97, 109, 101, 0, 100, 95, 97, 117, 116, 111, 109, 111, 117, 110, 116, 0, 109, 110, - 116, 95, 114, 111, 111, 116, 0, 109, 110, 116, 95, 115, 98, 0, 115, 95, 108, 105, 115, 116, 0, - 115, 95, 100, 101, 118, 0, 95, 95, 107, 101, 114, 110, 101, 108, 95, 100, 101, 118, 95, 116, 0, - 100, 101, 118, 95, 116, 0, 115, 95, 98, 108, 111, 99, 107, 115, 105, 122, 101, 95, 98, 105, - 116, 115, 0, 115, 95, 98, 108, 111, 99, 107, 115, 105, 122, 101, 0, 115, 95, 109, 97, 120, 98, - 121, 116, 101, 115, 0, 108, 111, 110, 103, 32, 108, 111, 110, 103, 32, 105, 110, 116, 0, 95, - 95, 107, 101, 114, 110, 101, 108, 95, 108, 111, 102, 102, 95, 116, 0, 108, 111, 102, 102, 95, - 116, 0, 115, 95, 116, 121, 112, 101, 0, 102, 115, 95, 102, 108, 97, 103, 115, 0, 105, 110, 105, - 116, 95, 102, 115, 95, 99, 111, 110, 116, 101, 120, 116, 0, 111, 112, 115, 0, 102, 114, 101, - 101, 0, 100, 117, 112, 0, 112, 97, 114, 115, 101, 95, 112, 97, 114, 97, 109, 0, 107, 101, 121, - 0, 115, 116, 114, 105, 110, 103, 0, 98, 108, 111, 98, 0, 117, 112, 116, 114, 0, 114, 101, 102, - 99, 110, 116, 0, 97, 110, 97, 109, 101, 0, 110, 97, 109, 101, 95, 108, 101, 110, 0, 104, 105, - 100, 100, 101, 110, 0, 105, 110, 111, 0, 109, 111, 100, 101, 0, 117, 105, 100, 0, 103, 105, - 100, 0, 114, 100, 101, 118, 0, 111, 115, 105, 100, 0, 102, 99, 97, 112, 0, 112, 101, 114, 109, - 105, 116, 116, 101, 100, 0, 99, 97, 112, 0, 107, 101, 114, 110, 101, 108, 95, 99, 97, 112, 95, - 115, 116, 114, 117, 99, 116, 0, 107, 101, 114, 110, 101, 108, 95, 99, 97, 112, 95, 116, 0, 105, - 110, 104, 101, 114, 105, 116, 97, 98, 108, 101, 0, 102, 69, 0, 101, 102, 102, 101, 99, 116, - 105, 118, 101, 0, 97, 109, 98, 105, 101, 110, 116, 0, 114, 111, 111, 116, 105, 100, 0, 97, 117, - 100, 105, 116, 95, 99, 97, 112, 95, 100, 97, 116, 97, 0, 102, 99, 97, 112, 95, 118, 101, 114, - 0, 115, 104, 111, 117, 108, 100, 95, 102, 114, 101, 101, 0, 97, 117, 100, 105, 116, 95, 110, - 97, 109, 101, 115, 0, 105, 110, 97, 109, 101, 0, 102, 105, 108, 101, 110, 97, 109, 101, 0, 102, - 105, 108, 101, 0, 102, 95, 117, 0, 102, 117, 95, 108, 108, 105, 115, 116, 0, 108, 108, 105, - 115, 116, 95, 110, 111, 100, 101, 0, 102, 117, 95, 114, 99, 117, 104, 101, 97, 100, 0, 102, 95, - 112, 97, 116, 104, 0, 109, 110, 116, 0, 100, 101, 110, 116, 114, 121, 0, 112, 97, 116, 104, 0, - 102, 95, 105, 110, 111, 100, 101, 0, 102, 95, 111, 112, 0, 111, 119, 110, 101, 114, 0, 98, 117, - 105, 108, 100, 95, 105, 100, 0, 109, 107, 111, 98, 106, 0, 107, 111, 98, 106, 0, 101, 110, 116, - 114, 121, 0, 112, 97, 114, 101, 110, 116, 0, 107, 115, 101, 116, 0, 108, 105, 115, 116, 95, - 108, 111, 99, 107, 0, 117, 101, 118, 101, 110, 116, 95, 111, 112, 115, 0, 102, 105, 108, 116, - 101, 114, 0, 117, 101, 118, 101, 110, 116, 0, 97, 114, 103, 118, 0, 101, 110, 118, 112, 0, 101, - 110, 118, 112, 95, 105, 100, 120, 0, 98, 117, 102, 0, 98, 117, 102, 108, 101, 110, 0, 107, 111, - 98, 106, 95, 117, 101, 118, 101, 110, 116, 95, 101, 110, 118, 0, 107, 115, 101, 116, 95, 117, - 101, 118, 101, 110, 116, 95, 111, 112, 115, 0, 107, 116, 121, 112, 101, 0, 114, 101, 108, 101, - 97, 115, 101, 0, 115, 121, 115, 102, 115, 95, 111, 112, 115, 0, 115, 104, 111, 119, 0, 95, 95, - 107, 101, 114, 110, 101, 108, 95, 108, 111, 110, 103, 95, 116, 0, 95, 95, 107, 101, 114, 110, - 101, 108, 95, 115, 115, 105, 122, 101, 95, 116, 0, 115, 115, 105, 122, 101, 95, 116, 0, 97, - 116, 116, 114, 105, 98, 117, 116, 101, 0, 115, 116, 111, 114, 101, 0, 100, 101, 102, 97, 117, - 108, 116, 95, 97, 116, 116, 114, 115, 0, 100, 101, 102, 97, 117, 108, 116, 95, 103, 114, 111, - 117, 112, 115, 0, 105, 115, 95, 118, 105, 115, 105, 98, 108, 101, 0, 105, 115, 95, 98, 105, - 110, 95, 118, 105, 115, 105, 98, 108, 101, 0, 97, 116, 116, 114, 0, 115, 105, 122, 101, 0, 112, - 114, 105, 118, 97, 116, 101, 0, 102, 95, 109, 97, 112, 112, 105, 110, 103, 0, 114, 101, 97, - 100, 0, 119, 114, 105, 116, 101, 0, 109, 109, 97, 112, 0, 118, 109, 95, 115, 116, 97, 114, 116, - 0, 118, 109, 95, 101, 110, 100, 0, 118, 109, 95, 110, 101, 120, 116, 0, 118, 109, 95, 112, 114, - 101, 118, 0, 118, 109, 95, 114, 98, 0, 114, 98, 95, 115, 117, 98, 116, 114, 101, 101, 95, 103, - 97, 112, 0, 118, 109, 95, 109, 109, 0, 109, 109, 95, 114, 98, 0, 114, 98, 95, 114, 111, 111, - 116, 0, 118, 109, 97, 99, 97, 99, 104, 101, 95, 115, 101, 113, 110, 117, 109, 0, 103, 101, 116, - 95, 117, 110, 109, 97, 112, 112, 101, 100, 95, 97, 114, 101, 97, 0, 109, 109, 97, 112, 95, 98, - 97, 115, 101, 0, 109, 109, 97, 112, 95, 108, 101, 103, 97, 99, 121, 95, 98, 97, 115, 101, 0, - 109, 109, 97, 112, 95, 99, 111, 109, 112, 97, 116, 95, 98, 97, 115, 101, 0, 109, 109, 97, 112, - 95, 99, 111, 109, 112, 97, 116, 95, 108, 101, 103, 97, 99, 121, 95, 98, 97, 115, 101, 0, 116, - 97, 115, 107, 95, 115, 105, 122, 101, 0, 104, 105, 103, 104, 101, 115, 116, 95, 118, 109, 95, - 101, 110, 100, 0, 112, 103, 100, 0, 112, 103, 100, 118, 97, 108, 95, 116, 0, 112, 103, 100, 95, - 116, 0, 109, 101, 109, 98, 97, 114, 114, 105, 101, 114, 95, 115, 116, 97, 116, 101, 0, 109, - 109, 95, 117, 115, 101, 114, 115, 0, 109, 109, 95, 99, 111, 117, 110, 116, 0, 112, 103, 116, - 97, 98, 108, 101, 115, 95, 98, 121, 116, 101, 115, 0, 95, 95, 115, 54, 52, 0, 115, 54, 52, 0, - 97, 116, 111, 109, 105, 99, 54, 52, 95, 116, 0, 97, 116, 111, 109, 105, 99, 95, 108, 111, 110, - 103, 95, 116, 0, 109, 97, 112, 95, 99, 111, 117, 110, 116, 0, 112, 97, 103, 101, 95, 116, 97, - 98, 108, 101, 95, 108, 111, 99, 107, 0, 109, 109, 97, 112, 95, 108, 111, 99, 107, 0, 111, 115, - 113, 0, 111, 112, 116, 105, 109, 105, 115, 116, 105, 99, 95, 115, 112, 105, 110, 95, 113, 117, - 101, 117, 101, 0, 119, 97, 105, 116, 95, 108, 111, 99, 107, 0, 114, 97, 119, 95, 115, 112, 105, - 110, 108, 111, 99, 107, 95, 116, 0, 119, 97, 105, 116, 95, 108, 105, 115, 116, 0, 114, 119, 95, - 115, 101, 109, 97, 112, 104, 111, 114, 101, 0, 109, 109, 108, 105, 115, 116, 0, 104, 105, 119, - 97, 116, 101, 114, 95, 114, 115, 115, 0, 104, 105, 119, 97, 116, 101, 114, 95, 118, 109, 0, - 116, 111, 116, 97, 108, 95, 118, 109, 0, 108, 111, 99, 107, 101, 100, 95, 118, 109, 0, 112, - 105, 110, 110, 101, 100, 95, 118, 109, 0, 100, 97, 116, 97, 95, 118, 109, 0, 101, 120, 101, 99, - 95, 118, 109, 0, 115, 116, 97, 99, 107, 95, 118, 109, 0, 100, 101, 102, 95, 102, 108, 97, 103, - 115, 0, 119, 114, 105, 116, 101, 95, 112, 114, 111, 116, 101, 99, 116, 95, 115, 101, 113, 0, - 97, 114, 103, 95, 108, 111, 99, 107, 0, 115, 116, 97, 114, 116, 95, 99, 111, 100, 101, 0, 101, - 110, 100, 95, 99, 111, 100, 101, 0, 115, 116, 97, 114, 116, 95, 100, 97, 116, 97, 0, 101, 110, - 100, 95, 100, 97, 116, 97, 0, 115, 116, 97, 114, 116, 95, 98, 114, 107, 0, 98, 114, 107, 0, - 115, 116, 97, 114, 116, 95, 115, 116, 97, 99, 107, 0, 97, 114, 103, 95, 115, 116, 97, 114, 116, - 0, 97, 114, 103, 95, 101, 110, 100, 0, 101, 110, 118, 95, 115, 116, 97, 114, 116, 0, 101, 110, - 118, 95, 101, 110, 100, 0, 115, 97, 118, 101, 100, 95, 97, 117, 120, 118, 0, 114, 115, 115, 95, - 115, 116, 97, 116, 0, 109, 109, 95, 114, 115, 115, 95, 115, 116, 97, 116, 0, 98, 105, 110, 102, - 109, 116, 0, 108, 104, 0, 109, 111, 100, 117, 108, 101, 0, 108, 111, 97, 100, 95, 98, 105, 110, - 97, 114, 121, 0, 118, 109, 97, 0, 118, 109, 97, 95, 112, 97, 103, 101, 115, 0, 109, 109, 0, - 112, 0, 97, 114, 103, 109, 105, 110, 0, 104, 97, 118, 101, 95, 101, 120, 101, 99, 102, 100, 0, - 101, 120, 101, 99, 102, 100, 95, 99, 114, 101, 100, 115, 0, 115, 101, 99, 117, 114, 101, 101, - 120, 101, 99, 0, 112, 111, 105, 110, 116, 95, 111, 102, 95, 110, 111, 95, 114, 101, 116, 117, - 114, 110, 0, 101, 120, 101, 99, 117, 116, 97, 98, 108, 101, 0, 105, 110, 116, 101, 114, 112, - 114, 101, 116, 101, 114, 0, 99, 114, 101, 100, 0, 117, 115, 97, 103, 101, 0, 115, 117, 105, - 100, 0, 115, 103, 105, 100, 0, 101, 117, 105, 100, 0, 101, 103, 105, 100, 0, 102, 115, 117, - 105, 100, 0, 102, 115, 103, 105, 100, 0, 115, 101, 99, 117, 114, 101, 98, 105, 116, 115, 0, 99, - 97, 112, 95, 105, 110, 104, 101, 114, 105, 116, 97, 98, 108, 101, 0, 99, 97, 112, 95, 112, 101, - 114, 109, 105, 116, 116, 101, 100, 0, 99, 97, 112, 95, 101, 102, 102, 101, 99, 116, 105, 118, - 101, 0, 99, 97, 112, 95, 98, 115, 101, 116, 0, 99, 97, 112, 95, 97, 109, 98, 105, 101, 110, - 116, 0, 106, 105, 116, 95, 107, 101, 121, 114, 105, 110, 103, 0, 115, 101, 115, 115, 105, 111, - 110, 95, 107, 101, 121, 114, 105, 110, 103, 0, 115, 101, 114, 105, 97, 108, 0, 95, 95, 115, 51, - 50, 0, 115, 51, 50, 0, 105, 110, 116, 51, 50, 95, 116, 0, 107, 101, 121, 95, 115, 101, 114, - 105, 97, 108, 95, 116, 0, 103, 114, 97, 118, 101, 121, 97, 114, 100, 95, 108, 105, 110, 107, 0, - 115, 101, 114, 105, 97, 108, 95, 110, 111, 100, 101, 0, 119, 97, 116, 99, 104, 101, 114, 115, - 0, 114, 99, 117, 0, 102, 105, 114, 115, 116, 0, 104, 108, 105, 115, 116, 95, 104, 101, 97, 100, - 0, 114, 101, 108, 101, 97, 115, 101, 95, 119, 97, 116, 99, 104, 0, 105, 110, 102, 111, 95, 105, - 100, 0, 113, 117, 101, 117, 101, 0, 116, 121, 112, 101, 95, 102, 105, 108, 116, 101, 114, 0, - 110, 114, 95, 102, 105, 108, 116, 101, 114, 115, 0, 102, 105, 108, 116, 101, 114, 115, 0, 115, - 117, 98, 116, 121, 112, 101, 95, 102, 105, 108, 116, 101, 114, 0, 105, 110, 102, 111, 95, 102, - 105, 108, 116, 101, 114, 0, 105, 110, 102, 111, 95, 109, 97, 115, 107, 0, 119, 97, 116, 99, - 104, 95, 116, 121, 112, 101, 95, 102, 105, 108, 116, 101, 114, 0, 119, 97, 116, 99, 104, 95, - 102, 105, 108, 116, 101, 114, 0, 112, 105, 112, 101, 0, 109, 117, 116, 101, 120, 0, 114, 100, - 95, 119, 97, 105, 116, 0, 104, 101, 97, 100, 0, 119, 97, 105, 116, 95, 113, 117, 101, 117, 101, - 95, 104, 101, 97, 100, 0, 119, 97, 105, 116, 95, 113, 117, 101, 117, 101, 95, 104, 101, 97, - 100, 95, 116, 0, 119, 114, 95, 119, 97, 105, 116, 0, 109, 97, 120, 95, 117, 115, 97, 103, 101, - 0, 114, 105, 110, 103, 95, 115, 105, 122, 101, 0, 110, 111, 116, 101, 95, 108, 111, 115, 115, - 0, 110, 114, 95, 97, 99, 99, 111, 117, 110, 116, 101, 100, 0, 114, 101, 97, 100, 101, 114, 115, - 0, 119, 114, 105, 116, 101, 114, 115, 0, 102, 105, 108, 101, 115, 0, 114, 95, 99, 111, 117, - 110, 116, 101, 114, 0, 119, 95, 99, 111, 117, 110, 116, 101, 114, 0, 112, 111, 108, 108, 95, - 117, 115, 97, 103, 101, 0, 116, 109, 112, 95, 112, 97, 103, 101, 0, 102, 97, 115, 121, 110, 99, - 95, 114, 101, 97, 100, 101, 114, 115, 0, 102, 97, 95, 108, 111, 99, 107, 0, 99, 110, 116, 115, - 0, 119, 108, 111, 99, 107, 101, 100, 0, 95, 95, 108, 115, 116, 97, 116, 101, 0, 113, 114, 119, - 108, 111, 99, 107, 0, 97, 114, 99, 104, 95, 114, 119, 108, 111, 99, 107, 95, 116, 0, 114, 119, - 108, 111, 99, 107, 95, 116, 0, 109, 97, 103, 105, 99, 0, 102, 97, 95, 102, 100, 0, 102, 97, 95, - 110, 101, 120, 116, 0, 102, 97, 95, 102, 105, 108, 101, 0, 102, 97, 95, 114, 99, 117, 0, 102, - 97, 115, 121, 110, 99, 95, 115, 116, 114, 117, 99, 116, 0, 102, 97, 115, 121, 110, 99, 95, 119, - 114, 105, 116, 101, 114, 115, 0, 98, 117, 102, 115, 0, 112, 97, 103, 101, 0, 111, 102, 102, - 115, 101, 116, 0, 99, 111, 110, 102, 105, 114, 109, 0, 116, 114, 121, 95, 115, 116, 101, 97, - 108, 0, 103, 101, 116, 0, 112, 105, 112, 101, 95, 98, 117, 102, 95, 111, 112, 101, 114, 97, - 116, 105, 111, 110, 115, 0, 112, 105, 112, 101, 95, 98, 117, 102, 102, 101, 114, 0, 95, 95, 99, - 111, 117, 110, 116, 0, 101, 112, 111, 108, 108, 95, 119, 97, 116, 99, 104, 101, 115, 0, 99, - 111, 117, 110, 116, 101, 114, 115, 0, 112, 101, 114, 99, 112, 117, 95, 99, 111, 117, 110, 116, - 101, 114, 0, 117, 110, 105, 120, 95, 105, 110, 102, 108, 105, 103, 104, 116, 0, 112, 105, 112, - 101, 95, 98, 117, 102, 115, 0, 117, 105, 100, 104, 97, 115, 104, 95, 110, 111, 100, 101, 0, - 110, 114, 95, 119, 97, 116, 99, 104, 101, 115, 0, 114, 97, 116, 101, 108, 105, 109, 105, 116, - 0, 105, 110, 116, 101, 114, 118, 97, 108, 0, 98, 117, 114, 115, 116, 0, 112, 114, 105, 110, - 116, 101, 100, 0, 109, 105, 115, 115, 101, 100, 0, 98, 101, 103, 105, 110, 0, 114, 97, 116, - 101, 108, 105, 109, 105, 116, 95, 115, 116, 97, 116, 101, 0, 117, 115, 101, 114, 95, 115, 116, - 114, 117, 99, 116, 0, 119, 97, 116, 99, 104, 95, 113, 117, 101, 117, 101, 0, 112, 105, 112, - 101, 95, 105, 110, 111, 100, 101, 95, 105, 110, 102, 111, 0, 119, 97, 116, 99, 104, 101, 115, - 0, 110, 111, 116, 101, 115, 0, 110, 111, 116, 101, 115, 95, 98, 105, 116, 109, 97, 112, 0, 114, - 101, 102, 99, 111, 117, 110, 116, 0, 107, 114, 101, 102, 0, 110, 114, 95, 110, 111, 116, 101, - 115, 0, 110, 114, 95, 112, 97, 103, 101, 115, 0, 100, 101, 102, 117, 110, 99, 116, 0, 113, 117, - 101, 117, 101, 95, 110, 111, 100, 101, 0, 119, 97, 116, 99, 104, 95, 108, 105, 115, 116, 0, - 108, 105, 115, 116, 95, 110, 111, 100, 101, 0, 105, 100, 0, 119, 97, 116, 99, 104, 0, 115, 101, - 109, 0, 110, 111, 100, 101, 0, 99, 111, 110, 115, 95, 108, 111, 99, 107, 0, 110, 107, 101, 121, - 115, 0, 110, 105, 107, 101, 121, 115, 0, 113, 110, 107, 101, 121, 115, 0, 113, 110, 98, 121, - 116, 101, 115, 0, 107, 101, 121, 95, 117, 115, 101, 114, 0, 115, 101, 99, 117, 114, 105, 116, - 121, 0, 101, 120, 112, 105, 114, 121, 0, 116, 105, 109, 101, 54, 52, 95, 116, 0, 114, 101, 118, - 111, 107, 101, 100, 95, 97, 116, 0, 108, 97, 115, 116, 95, 117, 115, 101, 100, 95, 97, 116, 0, - 112, 101, 114, 109, 0, 117, 105, 110, 116, 51, 50, 95, 116, 0, 107, 101, 121, 95, 112, 101, - 114, 109, 95, 116, 0, 113, 117, 111, 116, 97, 108, 101, 110, 0, 100, 97, 116, 97, 108, 101, - 110, 0, 105, 110, 100, 101, 120, 95, 107, 101, 121, 0, 100, 101, 115, 99, 95, 108, 101, 110, 0, - 100, 101, 115, 99, 0, 120, 0, 100, 101, 102, 95, 100, 97, 116, 97, 108, 101, 110, 0, 118, 101, - 116, 95, 100, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 0, 112, 114, 101, 112, 97, 114, - 115, 101, 0, 111, 114, 105, 103, 95, 100, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 0, - 100, 101, 115, 99, 114, 105, 112, 116, 105, 111, 110, 0, 112, 97, 121, 108, 111, 97, 100, 0, - 114, 99, 117, 95, 100, 97, 116, 97, 48, 0, 100, 97, 116, 97, 0, 107, 101, 121, 95, 112, 97, - 121, 108, 111, 97, 100, 0, 107, 101, 121, 95, 112, 114, 101, 112, 97, 114, 115, 101, 100, 95, - 112, 97, 121, 108, 111, 97, 100, 0, 102, 114, 101, 101, 95, 112, 114, 101, 112, 97, 114, 115, - 101, 0, 105, 110, 115, 116, 97, 110, 116, 105, 97, 116, 101, 0, 117, 112, 100, 97, 116, 101, 0, - 109, 97, 116, 99, 104, 95, 112, 114, 101, 112, 97, 114, 115, 101, 0, 99, 109, 112, 0, 114, 97, - 119, 95, 100, 97, 116, 97, 0, 112, 114, 101, 112, 97, 114, 115, 101, 100, 0, 108, 111, 111, - 107, 117, 112, 95, 116, 121, 112, 101, 0, 107, 101, 121, 95, 109, 97, 116, 99, 104, 95, 100, - 97, 116, 97, 0, 109, 97, 116, 99, 104, 95, 102, 114, 101, 101, 0, 114, 101, 118, 111, 107, 101, - 0, 100, 101, 115, 99, 114, 105, 98, 101, 0, 102, 114, 111, 109, 0, 112, 97, 100, 95, 117, 110, - 116, 105, 108, 0, 105, 110, 100, 101, 120, 0, 114, 101, 97, 100, 95, 112, 111, 115, 0, 111, - 112, 0, 115, 116, 97, 114, 116, 0, 115, 116, 111, 112, 0, 115, 101, 113, 95, 111, 112, 101, - 114, 97, 116, 105, 111, 110, 115, 0, 112, 111, 108, 108, 95, 101, 118, 101, 110, 116, 0, 115, - 101, 113, 95, 102, 105, 108, 101, 0, 114, 101, 113, 117, 101, 115, 116, 95, 107, 101, 121, 0, - 114, 101, 113, 117, 101, 115, 116, 95, 107, 101, 121, 95, 97, 99, 116, 111, 114, 95, 116, 0, - 108, 111, 111, 107, 117, 112, 95, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 0, 99, - 104, 101, 99, 107, 0, 107, 101, 121, 95, 114, 101, 115, 116, 114, 105, 99, 116, 95, 108, 105, - 110, 107, 95, 102, 117, 110, 99, 95, 116, 0, 107, 101, 121, 116, 121, 112, 101, 0, 107, 101, - 121, 95, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 0, 97, 115, 121, 109, 95, 113, - 117, 101, 114, 121, 0, 101, 110, 99, 111, 100, 105, 110, 103, 0, 104, 97, 115, 104, 95, 97, - 108, 103, 111, 0, 105, 110, 102, 111, 0, 105, 110, 95, 108, 101, 110, 0, 111, 117, 116, 95, - 108, 101, 110, 0, 105, 110, 50, 95, 108, 101, 110, 0, 107, 101, 114, 110, 101, 108, 95, 112, - 107, 101, 121, 95, 112, 97, 114, 97, 109, 115, 0, 115, 117, 112, 112, 111, 114, 116, 101, 100, - 95, 111, 112, 115, 0, 109, 97, 120, 95, 100, 97, 116, 97, 95, 115, 105, 122, 101, 0, 109, 97, - 120, 95, 115, 105, 103, 95, 115, 105, 122, 101, 0, 109, 97, 120, 95, 101, 110, 99, 95, 115, - 105, 122, 101, 0, 109, 97, 120, 95, 100, 101, 99, 95, 115, 105, 122, 101, 0, 107, 101, 114, - 110, 101, 108, 95, 112, 107, 101, 121, 95, 113, 117, 101, 114, 121, 0, 97, 115, 121, 109, 95, - 101, 100, 115, 95, 111, 112, 0, 97, 115, 121, 109, 95, 118, 101, 114, 105, 102, 121, 95, 115, - 105, 103, 110, 97, 116, 117, 114, 101, 0, 108, 105, 110, 107, 0, 108, 111, 99, 107, 95, 99, - 108, 97, 115, 115, 0, 108, 111, 99, 107, 95, 99, 108, 97, 115, 115, 95, 107, 101, 121, 0, 107, - 101, 121, 95, 116, 121, 112, 101, 0, 100, 111, 109, 97, 105, 110, 95, 116, 97, 103, 0, 114, - 101, 109, 111, 118, 101, 100, 0, 107, 101, 121, 95, 116, 97, 103, 0, 107, 101, 121, 114, 105, - 110, 103, 95, 105, 110, 100, 101, 120, 95, 107, 101, 121, 0, 108, 101, 110, 95, 100, 101, 115, - 99, 0, 110, 97, 109, 101, 95, 108, 105, 110, 107, 0, 107, 101, 121, 115, 0, 114, 111, 111, 116, - 0, 97, 115, 115, 111, 99, 95, 97, 114, 114, 97, 121, 95, 112, 116, 114, 0, 110, 114, 95, 108, - 101, 97, 118, 101, 115, 95, 111, 110, 95, 116, 114, 101, 101, 0, 97, 115, 115, 111, 99, 95, 97, - 114, 114, 97, 121, 0, 114, 101, 115, 116, 114, 105, 99, 116, 95, 108, 105, 110, 107, 0, 112, - 114, 111, 99, 101, 115, 115, 95, 107, 101, 121, 114, 105, 110, 103, 0, 116, 104, 114, 101, 97, - 100, 95, 107, 101, 121, 114, 105, 110, 103, 0, 114, 101, 113, 117, 101, 115, 116, 95, 107, 101, - 121, 95, 97, 117, 116, 104, 0, 117, 115, 101, 114, 95, 110, 115, 0, 117, 105, 100, 95, 109, 97, - 112, 0, 110, 114, 95, 101, 120, 116, 101, 110, 116, 115, 0, 101, 120, 116, 101, 110, 116, 0, - 108, 111, 119, 101, 114, 95, 102, 105, 114, 115, 116, 0, 117, 105, 100, 95, 103, 105, 100, 95, - 101, 120, 116, 101, 110, 116, 0, 102, 111, 114, 119, 97, 114, 100, 0, 114, 101, 118, 101, 114, - 115, 101, 0, 117, 105, 100, 95, 103, 105, 100, 95, 109, 97, 112, 0, 103, 105, 100, 95, 109, 97, - 112, 0, 112, 114, 111, 106, 105, 100, 95, 109, 97, 112, 0, 108, 101, 118, 101, 108, 0, 103, - 114, 111, 117, 112, 0, 110, 115, 0, 115, 116, 97, 115, 104, 101, 100, 0, 114, 101, 97, 108, 95, - 110, 115, 95, 110, 97, 109, 101, 0, 116, 104, 114, 101, 97, 100, 95, 105, 110, 102, 111, 0, - 115, 121, 115, 99, 97, 108, 108, 95, 119, 111, 114, 107, 0, 115, 116, 97, 116, 117, 115, 0, 95, - 95, 115, 116, 97, 116, 101, 0, 115, 116, 97, 99, 107, 0, 112, 116, 114, 97, 99, 101, 0, 111, - 110, 95, 99, 112, 117, 0, 119, 97, 107, 101, 95, 101, 110, 116, 114, 121, 0, 108, 108, 105, - 115, 116, 0, 117, 95, 102, 108, 97, 103, 115, 0, 97, 95, 102, 108, 97, 103, 115, 0, 115, 114, - 99, 0, 100, 115, 116, 0, 95, 95, 99, 97, 108, 108, 95, 115, 105, 110, 103, 108, 101, 95, 110, - 111, 100, 101, 0, 99, 112, 117, 0, 119, 97, 107, 101, 101, 95, 102, 108, 105, 112, 115, 0, 119, - 97, 107, 101, 101, 95, 102, 108, 105, 112, 95, 100, 101, 99, 97, 121, 95, 116, 115, 0, 108, 97, - 115, 116, 95, 119, 97, 107, 101, 101, 0, 114, 101, 99, 101, 110, 116, 95, 117, 115, 101, 100, - 95, 99, 112, 117, 0, 119, 97, 107, 101, 95, 99, 112, 117, 0, 111, 110, 95, 114, 113, 0, 112, - 114, 105, 111, 0, 115, 116, 97, 116, 105, 99, 95, 112, 114, 105, 111, 0, 110, 111, 114, 109, - 97, 108, 95, 112, 114, 105, 111, 0, 114, 116, 95, 112, 114, 105, 111, 114, 105, 116, 121, 0, - 115, 99, 104, 101, 100, 95, 99, 108, 97, 115, 115, 0, 117, 99, 108, 97, 109, 112, 95, 101, 110, - 97, 98, 108, 101, 100, 0, 101, 110, 113, 117, 101, 117, 101, 95, 116, 97, 115, 107, 0, 95, 95, - 108, 111, 99, 107, 0, 110, 114, 95, 114, 117, 110, 110, 105, 110, 103, 0, 110, 114, 95, 110, - 117, 109, 97, 95, 114, 117, 110, 110, 105, 110, 103, 0, 110, 114, 95, 112, 114, 101, 102, 101, - 114, 114, 101, 100, 95, 114, 117, 110, 110, 105, 110, 103, 0, 110, 117, 109, 97, 95, 109, 105, - 103, 114, 97, 116, 101, 95, 111, 110, 0, 108, 97, 115, 116, 95, 98, 108, 111, 99, 107, 101, - 100, 95, 108, 111, 97, 100, 95, 117, 112, 100, 97, 116, 101, 95, 116, 105, 99, 107, 0, 104, 97, - 115, 95, 98, 108, 111, 99, 107, 101, 100, 95, 108, 111, 97, 100, 0, 110, 111, 104, 122, 95, 99, - 115, 100, 0, 115, 109, 112, 95, 99, 97, 108, 108, 95, 102, 117, 110, 99, 95, 116, 0, 95, 95, - 99, 97, 108, 108, 95, 115, 105, 110, 103, 108, 101, 95, 100, 97, 116, 97, 0, 99, 97, 108, 108, - 95, 115, 105, 110, 103, 108, 101, 95, 100, 97, 116, 97, 95, 116, 0, 110, 111, 104, 122, 95, - 116, 105, 99, 107, 95, 115, 116, 111, 112, 112, 101, 100, 0, 110, 111, 104, 122, 95, 102, 108, - 97, 103, 115, 0, 116, 116, 119, 117, 95, 112, 101, 110, 100, 105, 110, 103, 0, 110, 114, 95, - 115, 119, 105, 116, 99, 104, 101, 115, 0, 117, 99, 108, 97, 109, 112, 0, 118, 97, 108, 117, - 101, 0, 98, 117, 99, 107, 101, 116, 0, 116, 97, 115, 107, 115, 0, 117, 99, 108, 97, 109, 112, - 95, 98, 117, 99, 107, 101, 116, 0, 117, 99, 108, 97, 109, 112, 95, 114, 113, 0, 117, 99, 108, - 97, 109, 112, 95, 102, 108, 97, 103, 115, 0, 99, 102, 115, 0, 108, 111, 97, 100, 0, 119, 101, - 105, 103, 104, 116, 0, 105, 110, 118, 95, 119, 101, 105, 103, 104, 116, 0, 108, 111, 97, 100, - 95, 119, 101, 105, 103, 104, 116, 0, 104, 95, 110, 114, 95, 114, 117, 110, 110, 105, 110, 103, - 0, 105, 100, 108, 101, 95, 104, 95, 110, 114, 95, 114, 117, 110, 110, 105, 110, 103, 0, 101, - 120, 101, 99, 95, 99, 108, 111, 99, 107, 0, 109, 105, 110, 95, 118, 114, 117, 110, 116, 105, - 109, 101, 0, 102, 111, 114, 99, 101, 105, 100, 108, 101, 95, 115, 101, 113, 0, 109, 105, 110, - 95, 118, 114, 117, 110, 116, 105, 109, 101, 95, 102, 105, 0, 116, 97, 115, 107, 115, 95, 116, - 105, 109, 101, 108, 105, 110, 101, 0, 114, 98, 95, 108, 101, 102, 116, 109, 111, 115, 116, 0, - 114, 98, 95, 114, 111, 111, 116, 95, 99, 97, 99, 104, 101, 100, 0, 99, 117, 114, 114, 0, 114, - 117, 110, 95, 110, 111, 100, 101, 0, 103, 114, 111, 117, 112, 95, 110, 111, 100, 101, 0, 101, - 120, 101, 99, 95, 115, 116, 97, 114, 116, 0, 115, 117, 109, 95, 101, 120, 101, 99, 95, 114, - 117, 110, 116, 105, 109, 101, 0, 118, 114, 117, 110, 116, 105, 109, 101, 0, 112, 114, 101, 118, - 95, 115, 117, 109, 95, 101, 120, 101, 99, 95, 114, 117, 110, 116, 105, 109, 101, 0, 110, 114, - 95, 109, 105, 103, 114, 97, 116, 105, 111, 110, 115, 0, 115, 116, 97, 116, 105, 115, 116, 105, - 99, 115, 0, 119, 97, 105, 116, 95, 115, 116, 97, 114, 116, 0, 119, 97, 105, 116, 95, 109, 97, - 120, 0, 119, 97, 105, 116, 95, 99, 111, 117, 110, 116, 0, 119, 97, 105, 116, 95, 115, 117, 109, - 0, 105, 111, 119, 97, 105, 116, 95, 99, 111, 117, 110, 116, 0, 105, 111, 119, 97, 105, 116, 95, - 115, 117, 109, 0, 115, 108, 101, 101, 112, 95, 115, 116, 97, 114, 116, 0, 115, 108, 101, 101, - 112, 95, 109, 97, 120, 0, 115, 117, 109, 95, 115, 108, 101, 101, 112, 95, 114, 117, 110, 116, - 105, 109, 101, 0, 98, 108, 111, 99, 107, 95, 115, 116, 97, 114, 116, 0, 98, 108, 111, 99, 107, - 95, 109, 97, 120, 0, 101, 120, 101, 99, 95, 109, 97, 120, 0, 115, 108, 105, 99, 101, 95, 109, - 97, 120, 0, 110, 114, 95, 109, 105, 103, 114, 97, 116, 105, 111, 110, 115, 95, 99, 111, 108, - 100, 0, 110, 114, 95, 102, 97, 105, 108, 101, 100, 95, 109, 105, 103, 114, 97, 116, 105, 111, - 110, 115, 95, 97, 102, 102, 105, 110, 101, 0, 110, 114, 95, 102, 97, 105, 108, 101, 100, 95, - 109, 105, 103, 114, 97, 116, 105, 111, 110, 115, 95, 114, 117, 110, 110, 105, 110, 103, 0, 110, - 114, 95, 102, 97, 105, 108, 101, 100, 95, 109, 105, 103, 114, 97, 116, 105, 111, 110, 115, 95, - 104, 111, 116, 0, 110, 114, 95, 102, 111, 114, 99, 101, 100, 95, 109, 105, 103, 114, 97, 116, - 105, 111, 110, 115, 0, 110, 114, 95, 119, 97, 107, 101, 117, 112, 115, 0, 110, 114, 95, 119, - 97, 107, 101, 117, 112, 115, 95, 115, 121, 110, 99, 0, 110, 114, 95, 119, 97, 107, 101, 117, - 112, 115, 95, 109, 105, 103, 114, 97, 116, 101, 0, 110, 114, 95, 119, 97, 107, 101, 117, 112, - 115, 95, 108, 111, 99, 97, 108, 0, 110, 114, 95, 119, 97, 107, 101, 117, 112, 115, 95, 114, - 101, 109, 111, 116, 101, 0, 110, 114, 95, 119, 97, 107, 101, 117, 112, 115, 95, 97, 102, 102, - 105, 110, 101, 0, 110, 114, 95, 119, 97, 107, 101, 117, 112, 115, 95, 97, 102, 102, 105, 110, - 101, 95, 97, 116, 116, 101, 109, 112, 116, 115, 0, 110, 114, 95, 119, 97, 107, 101, 117, 112, - 115, 95, 112, 97, 115, 115, 105, 118, 101, 0, 110, 114, 95, 119, 97, 107, 101, 117, 112, 115, - 95, 105, 100, 108, 101, 0, 115, 99, 104, 101, 100, 95, 115, 116, 97, 116, 105, 115, 116, 105, - 99, 115, 0, 100, 101, 112, 116, 104, 0, 99, 102, 115, 95, 114, 113, 0, 109, 121, 95, 113, 0, - 114, 117, 110, 110, 97, 98, 108, 101, 95, 119, 101, 105, 103, 104, 116, 0, 97, 118, 103, 0, - 108, 97, 115, 116, 95, 117, 112, 100, 97, 116, 101, 95, 116, 105, 109, 101, 0, 108, 111, 97, - 100, 95, 115, 117, 109, 0, 114, 117, 110, 110, 97, 98, 108, 101, 95, 115, 117, 109, 0, 117, - 116, 105, 108, 95, 115, 117, 109, 0, 112, 101, 114, 105, 111, 100, 95, 99, 111, 110, 116, 114, - 105, 98, 0, 108, 111, 97, 100, 95, 97, 118, 103, 0, 114, 117, 110, 110, 97, 98, 108, 101, 95, - 97, 118, 103, 0, 117, 116, 105, 108, 95, 97, 118, 103, 0, 117, 116, 105, 108, 95, 101, 115, - 116, 0, 101, 110, 113, 117, 101, 117, 101, 100, 0, 101, 119, 109, 97, 0, 115, 99, 104, 101, - 100, 95, 97, 118, 103, 0, 115, 99, 104, 101, 100, 95, 101, 110, 116, 105, 116, 121, 0, 108, 97, - 115, 116, 0, 115, 107, 105, 112, 0, 110, 114, 95, 115, 112, 114, 101, 97, 100, 95, 111, 118, - 101, 114, 0, 110, 114, 0, 116, 103, 95, 108, 111, 97, 100, 95, 97, 118, 103, 95, 99, 111, 110, - 116, 114, 105, 98, 0, 112, 114, 111, 112, 97, 103, 97, 116, 101, 0, 112, 114, 111, 112, 95, - 114, 117, 110, 110, 97, 98, 108, 101, 95, 115, 117, 109, 0, 104, 95, 108, 111, 97, 100, 0, 108, - 97, 115, 116, 95, 104, 95, 108, 111, 97, 100, 95, 117, 112, 100, 97, 116, 101, 0, 104, 95, 108, - 111, 97, 100, 95, 110, 101, 120, 116, 0, 114, 113, 0, 111, 110, 95, 108, 105, 115, 116, 0, 108, - 101, 97, 102, 95, 99, 102, 115, 95, 114, 113, 95, 108, 105, 115, 116, 0, 116, 103, 0, 99, 115, - 115, 0, 99, 103, 114, 111, 117, 112, 0, 115, 101, 108, 102, 0, 109, 97, 120, 95, 100, 101, 112, - 116, 104, 0, 110, 114, 95, 100, 101, 115, 99, 101, 110, 100, 97, 110, 116, 115, 0, 110, 114, - 95, 100, 121, 105, 110, 103, 95, 100, 101, 115, 99, 101, 110, 100, 97, 110, 116, 115, 0, 109, - 97, 120, 95, 100, 101, 115, 99, 101, 110, 100, 97, 110, 116, 115, 0, 110, 114, 95, 112, 111, - 112, 117, 108, 97, 116, 101, 100, 95, 99, 115, 101, 116, 115, 0, 110, 114, 95, 112, 111, 112, - 117, 108, 97, 116, 101, 100, 95, 100, 111, 109, 97, 105, 110, 95, 99, 104, 105, 108, 100, 114, - 101, 110, 0, 110, 114, 95, 112, 111, 112, 117, 108, 97, 116, 101, 100, 95, 116, 104, 114, 101, - 97, 100, 101, 100, 95, 99, 104, 105, 108, 100, 114, 101, 110, 0, 110, 114, 95, 116, 104, 114, - 101, 97, 100, 101, 100, 95, 99, 104, 105, 108, 100, 114, 101, 110, 0, 107, 110, 0, 97, 99, 116, - 105, 118, 101, 0, 114, 98, 0, 100, 105, 114, 0, 115, 117, 98, 100, 105, 114, 115, 0, 99, 104, - 105, 108, 100, 114, 101, 110, 0, 105, 110, 111, 95, 105, 100, 114, 0, 105, 100, 114, 95, 114, - 116, 0, 120, 97, 95, 108, 111, 99, 107, 0, 120, 97, 95, 102, 108, 97, 103, 115, 0, 103, 102, - 112, 95, 116, 0, 120, 97, 95, 104, 101, 97, 100, 0, 120, 97, 114, 114, 97, 121, 0, 105, 100, - 114, 95, 98, 97, 115, 101, 0, 105, 100, 114, 95, 110, 101, 120, 116, 0, 105, 100, 114, 0, 108, - 97, 115, 116, 95, 105, 100, 95, 108, 111, 119, 98, 105, 116, 115, 0, 105, 100, 95, 104, 105, - 103, 104, 98, 105, 116, 115, 0, 115, 121, 115, 99, 97, 108, 108, 95, 111, 112, 115, 0, 115, - 104, 111, 119, 95, 111, 112, 116, 105, 111, 110, 115, 0, 109, 107, 100, 105, 114, 0, 114, 109, - 100, 105, 114, 0, 114, 101, 110, 97, 109, 101, 0, 115, 104, 111, 119, 95, 112, 97, 116, 104, 0, - 107, 101, 114, 110, 102, 115, 95, 115, 121, 115, 99, 97, 108, 108, 95, 111, 112, 115, 0, 115, - 117, 112, 101, 114, 115, 0, 100, 101, 97, 99, 116, 105, 118, 97, 116, 101, 95, 119, 97, 105, - 116, 113, 0, 107, 101, 114, 110, 102, 115, 95, 114, 111, 111, 116, 0, 114, 101, 118, 0, 107, - 101, 114, 110, 102, 115, 95, 101, 108, 101, 109, 95, 100, 105, 114, 0, 115, 121, 109, 108, 105, - 110, 107, 0, 116, 97, 114, 103, 101, 116, 95, 107, 110, 0, 107, 101, 114, 110, 102, 115, 95, - 101, 108, 101, 109, 95, 115, 121, 109, 108, 105, 110, 107, 0, 111, 112, 101, 110, 0, 112, 114, - 105, 118, 0, 112, 114, 101, 97, 108, 108, 111, 99, 95, 109, 117, 116, 101, 120, 0, 101, 118, - 101, 110, 116, 0, 112, 114, 101, 97, 108, 108, 111, 99, 95, 98, 117, 102, 0, 97, 116, 111, 109, - 105, 99, 95, 119, 114, 105, 116, 101, 95, 108, 101, 110, 0, 109, 109, 97, 112, 112, 101, 100, - 0, 114, 101, 108, 101, 97, 115, 101, 100, 0, 118, 109, 95, 111, 112, 115, 0, 109, 97, 121, 95, - 115, 112, 108, 105, 116, 0, 109, 114, 101, 109, 97, 112, 0, 109, 112, 114, 111, 116, 101, 99, - 116, 0, 102, 97, 117, 108, 116, 0, 118, 109, 95, 102, 97, 117, 108, 116, 95, 116, 0, 103, 102, - 112, 95, 109, 97, 115, 107, 0, 112, 103, 111, 102, 102, 0, 97, 100, 100, 114, 101, 115, 115, 0, - 112, 109, 100, 0, 112, 109, 100, 118, 97, 108, 95, 116, 0, 112, 109, 100, 95, 116, 0, 112, 117, - 100, 0, 112, 117, 100, 118, 97, 108, 95, 116, 0, 112, 117, 100, 95, 116, 0, 111, 114, 105, 103, - 95, 112, 116, 101, 0, 112, 116, 101, 0, 112, 116, 101, 118, 97, 108, 95, 116, 0, 112, 116, 101, - 95, 116, 0, 111, 114, 105, 103, 95, 112, 109, 100, 0, 99, 111, 119, 95, 112, 97, 103, 101, 0, - 112, 116, 108, 0, 112, 114, 101, 97, 108, 108, 111, 99, 95, 112, 116, 101, 0, 112, 103, 116, - 97, 98, 108, 101, 95, 116, 0, 118, 109, 95, 102, 97, 117, 108, 116, 0, 104, 117, 103, 101, 95, - 102, 97, 117, 108, 116, 0, 109, 97, 112, 95, 112, 97, 103, 101, 115, 0, 112, 97, 103, 101, 115, - 105, 122, 101, 0, 112, 97, 103, 101, 95, 109, 107, 119, 114, 105, 116, 101, 0, 112, 102, 110, - 95, 109, 107, 119, 114, 105, 116, 101, 0, 97, 99, 99, 101, 115, 115, 0, 115, 101, 116, 95, 112, - 111, 108, 105, 99, 121, 0, 110, 111, 100, 101, 115, 0, 98, 105, 116, 115, 0, 110, 111, 100, - 101, 109, 97, 115, 107, 95, 116, 0, 119, 0, 99, 112, 117, 115, 101, 116, 95, 109, 101, 109, - 115, 95, 97, 108, 108, 111, 119, 101, 100, 0, 117, 115, 101, 114, 95, 110, 111, 100, 101, 109, - 97, 115, 107, 0, 109, 101, 109, 112, 111, 108, 105, 99, 121, 0, 103, 101, 116, 95, 112, 111, - 108, 105, 99, 121, 0, 102, 105, 110, 100, 95, 115, 112, 101, 99, 105, 97, 108, 95, 112, 97, - 103, 101, 0, 118, 109, 95, 111, 112, 101, 114, 97, 116, 105, 111, 110, 115, 95, 115, 116, 114, - 117, 99, 116, 0, 107, 101, 114, 110, 102, 115, 95, 111, 112, 101, 110, 95, 102, 105, 108, 101, - 0, 115, 101, 113, 95, 115, 104, 111, 119, 0, 115, 101, 113, 95, 115, 116, 97, 114, 116, 0, 115, - 101, 113, 95, 110, 101, 120, 116, 0, 115, 101, 113, 95, 115, 116, 111, 112, 0, 112, 114, 101, - 97, 108, 108, 111, 99, 0, 112, 111, 108, 108, 0, 95, 95, 112, 111, 108, 108, 95, 116, 0, 95, - 113, 112, 114, 111, 99, 0, 112, 111, 108, 108, 95, 113, 117, 101, 117, 101, 95, 112, 114, 111, - 99, 0, 95, 107, 101, 121, 0, 112, 111, 108, 108, 95, 116, 97, 98, 108, 101, 95, 115, 116, 114, - 117, 99, 116, 0, 107, 101, 114, 110, 102, 115, 95, 111, 112, 115, 0, 107, 101, 114, 110, 102, - 115, 95, 111, 112, 101, 110, 95, 110, 111, 100, 101, 0, 110, 111, 116, 105, 102, 121, 95, 110, - 101, 120, 116, 0, 107, 101, 114, 110, 102, 115, 95, 101, 108, 101, 109, 95, 97, 116, 116, 114, - 0, 105, 97, 116, 116, 114, 0, 105, 97, 95, 117, 105, 100, 0, 105, 97, 95, 103, 105, 100, 0, - 105, 97, 95, 97, 116, 105, 109, 101, 0, 116, 118, 95, 115, 101, 99, 0, 116, 118, 95, 110, 115, - 101, 99, 0, 116, 105, 109, 101, 115, 112, 101, 99, 54, 52, 0, 105, 97, 95, 109, 116, 105, 109, - 101, 0, 105, 97, 95, 99, 116, 105, 109, 101, 0, 120, 97, 116, 116, 114, 115, 0, 115, 105, 109, - 112, 108, 101, 95, 120, 97, 116, 116, 114, 115, 0, 110, 114, 95, 117, 115, 101, 114, 95, 120, - 97, 116, 116, 114, 115, 0, 117, 115, 101, 114, 95, 120, 97, 116, 116, 114, 95, 115, 105, 122, - 101, 0, 107, 101, 114, 110, 102, 115, 95, 105, 97, 116, 116, 114, 115, 0, 107, 101, 114, 110, - 102, 115, 95, 110, 111, 100, 101, 0, 112, 114, 111, 99, 115, 95, 102, 105, 108, 101, 0, 110, - 111, 116, 105, 102, 105, 101, 100, 95, 97, 116, 0, 110, 111, 116, 105, 102, 121, 95, 116, 105, - 109, 101, 114, 0, 101, 120, 112, 105, 114, 101, 115, 0, 102, 117, 110, 99, 116, 105, 111, 110, - 0, 116, 105, 109, 101, 114, 95, 108, 105, 115, 116, 0, 99, 103, 114, 111, 117, 112, 95, 102, - 105, 108, 101, 0, 101, 118, 101, 110, 116, 115, 95, 102, 105, 108, 101, 0, 115, 117, 98, 116, - 114, 101, 101, 95, 99, 111, 110, 116, 114, 111, 108, 0, 115, 117, 98, 116, 114, 101, 101, 95, - 115, 115, 95, 109, 97, 115, 107, 0, 111, 108, 100, 95, 115, 117, 98, 116, 114, 101, 101, 95, - 99, 111, 110, 116, 114, 111, 108, 0, 111, 108, 100, 95, 115, 117, 98, 116, 114, 101, 101, 95, - 115, 115, 95, 109, 97, 115, 107, 0, 115, 117, 98, 115, 121, 115, 0, 107, 102, 95, 114, 111, - 111, 116, 0, 115, 117, 98, 115, 121, 115, 95, 109, 97, 115, 107, 0, 104, 105, 101, 114, 97, - 114, 99, 104, 121, 95, 105, 100, 0, 99, 103, 114, 112, 0, 99, 103, 114, 112, 95, 97, 110, 99, - 101, 115, 116, 111, 114, 95, 105, 100, 95, 115, 116, 111, 114, 97, 103, 101, 0, 110, 114, 95, - 99, 103, 114, 112, 115, 0, 114, 111, 111, 116, 95, 108, 105, 115, 116, 0, 114, 101, 108, 101, - 97, 115, 101, 95, 97, 103, 101, 110, 116, 95, 112, 97, 116, 104, 0, 99, 103, 114, 111, 117, - 112, 95, 114, 111, 111, 116, 0, 99, 115, 101, 116, 95, 108, 105, 110, 107, 115, 0, 101, 95, 99, - 115, 101, 116, 115, 0, 100, 111, 109, 95, 99, 103, 114, 112, 0, 111, 108, 100, 95, 100, 111, - 109, 95, 99, 103, 114, 112, 0, 114, 115, 116, 97, 116, 95, 99, 112, 117, 0, 98, 115, 121, 110, - 99, 0, 117, 54, 52, 95, 115, 116, 97, 116, 115, 95, 115, 121, 110, 99, 0, 98, 115, 116, 97, - 116, 0, 99, 112, 117, 116, 105, 109, 101, 0, 115, 116, 105, 109, 101, 0, 117, 116, 105, 109, - 101, 0, 116, 97, 115, 107, 95, 99, 112, 117, 116, 105, 109, 101, 0, 99, 103, 114, 111, 117, - 112, 95, 98, 97, 115, 101, 95, 115, 116, 97, 116, 0, 108, 97, 115, 116, 95, 98, 115, 116, 97, - 116, 0, 117, 112, 100, 97, 116, 101, 100, 95, 99, 104, 105, 108, 100, 114, 101, 110, 0, 117, - 112, 100, 97, 116, 101, 100, 95, 110, 101, 120, 116, 0, 99, 103, 114, 111, 117, 112, 95, 114, - 115, 116, 97, 116, 95, 99, 112, 117, 0, 114, 115, 116, 97, 116, 95, 99, 115, 115, 95, 108, 105, - 115, 116, 0, 112, 114, 101, 118, 95, 99, 112, 117, 116, 105, 109, 101, 0, 112, 105, 100, 108, - 105, 115, 116, 115, 0, 112, 105, 100, 108, 105, 115, 116, 95, 109, 117, 116, 101, 120, 0, 111, - 102, 102, 108, 105, 110, 101, 95, 119, 97, 105, 116, 113, 0, 114, 101, 108, 101, 97, 115, 101, - 95, 97, 103, 101, 110, 116, 95, 119, 111, 114, 107, 0, 119, 111, 114, 107, 95, 102, 117, 110, - 99, 95, 116, 0, 119, 111, 114, 107, 95, 115, 116, 114, 117, 99, 116, 0, 112, 115, 105, 0, 97, - 118, 103, 115, 95, 108, 111, 99, 107, 0, 112, 99, 112, 117, 0, 115, 101, 113, 0, 115, 116, 97, - 116, 101, 95, 109, 97, 115, 107, 0, 116, 105, 109, 101, 115, 0, 115, 116, 97, 116, 101, 95, - 115, 116, 97, 114, 116, 0, 116, 105, 109, 101, 115, 95, 112, 114, 101, 118, 0, 112, 115, 105, - 95, 103, 114, 111, 117, 112, 95, 99, 112, 117, 0, 97, 118, 103, 95, 116, 111, 116, 97, 108, 0, - 97, 118, 103, 95, 108, 97, 115, 116, 95, 117, 112, 100, 97, 116, 101, 0, 97, 118, 103, 95, 110, - 101, 120, 116, 95, 117, 112, 100, 97, 116, 101, 0, 97, 118, 103, 115, 95, 119, 111, 114, 107, - 0, 119, 111, 114, 107, 0, 116, 105, 109, 101, 114, 0, 119, 113, 0, 112, 119, 113, 115, 0, 119, - 111, 114, 107, 95, 99, 111, 108, 111, 114, 0, 102, 108, 117, 115, 104, 95, 99, 111, 108, 111, - 114, 0, 110, 114, 95, 112, 119, 113, 115, 95, 116, 111, 95, 102, 108, 117, 115, 104, 0, 102, - 105, 114, 115, 116, 95, 102, 108, 117, 115, 104, 101, 114, 0, 100, 111, 110, 101, 0, 119, 97, - 105, 116, 0, 116, 97, 115, 107, 95, 108, 105, 115, 116, 0, 115, 119, 97, 105, 116, 95, 113, - 117, 101, 117, 101, 95, 104, 101, 97, 100, 0, 99, 111, 109, 112, 108, 101, 116, 105, 111, 110, - 0, 119, 113, 95, 102, 108, 117, 115, 104, 101, 114, 0, 102, 108, 117, 115, 104, 101, 114, 95, - 113, 117, 101, 117, 101, 0, 102, 108, 117, 115, 104, 101, 114, 95, 111, 118, 101, 114, 102, - 108, 111, 119, 0, 109, 97, 121, 100, 97, 121, 115, 0, 114, 101, 115, 99, 117, 101, 114, 0, 104, - 101, 110, 116, 114, 121, 0, 99, 117, 114, 114, 101, 110, 116, 95, 119, 111, 114, 107, 0, 99, - 117, 114, 114, 101, 110, 116, 95, 102, 117, 110, 99, 0, 99, 117, 114, 114, 101, 110, 116, 95, - 112, 119, 113, 0, 112, 111, 111, 108, 0, 119, 97, 116, 99, 104, 100, 111, 103, 95, 116, 115, 0, - 119, 111, 114, 107, 108, 105, 115, 116, 0, 110, 114, 95, 119, 111, 114, 107, 101, 114, 115, 0, - 110, 114, 95, 105, 100, 108, 101, 0, 105, 100, 108, 101, 95, 108, 105, 115, 116, 0, 105, 100, - 108, 101, 95, 116, 105, 109, 101, 114, 0, 109, 97, 121, 100, 97, 121, 95, 116, 105, 109, 101, - 114, 0, 98, 117, 115, 121, 95, 104, 97, 115, 104, 0, 109, 97, 110, 97, 103, 101, 114, 0, 119, - 111, 114, 107, 101, 114, 115, 0, 100, 101, 116, 97, 99, 104, 95, 99, 111, 109, 112, 108, 101, - 116, 105, 111, 110, 0, 119, 111, 114, 107, 101, 114, 95, 105, 100, 97, 0, 120, 97, 0, 105, 100, - 97, 0, 97, 116, 116, 114, 115, 0, 110, 105, 99, 101, 0, 99, 112, 117, 109, 97, 115, 107, 0, 99, - 112, 117, 109, 97, 115, 107, 95, 118, 97, 114, 95, 116, 0, 110, 111, 95, 110, 117, 109, 97, 0, - 119, 111, 114, 107, 113, 117, 101, 117, 101, 95, 97, 116, 116, 114, 115, 0, 104, 97, 115, 104, - 95, 110, 111, 100, 101, 0, 119, 111, 114, 107, 101, 114, 95, 112, 111, 111, 108, 0, 110, 114, - 95, 105, 110, 95, 102, 108, 105, 103, 104, 116, 0, 110, 114, 95, 97, 99, 116, 105, 118, 101, 0, - 109, 97, 120, 95, 97, 99, 116, 105, 118, 101, 0, 105, 110, 97, 99, 116, 105, 118, 101, 95, 119, - 111, 114, 107, 115, 0, 112, 119, 113, 115, 95, 110, 111, 100, 101, 0, 109, 97, 121, 100, 97, - 121, 95, 110, 111, 100, 101, 0, 117, 110, 98, 111, 117, 110, 100, 95, 114, 101, 108, 101, 97, - 115, 101, 95, 119, 111, 114, 107, 0, 112, 111, 111, 108, 95, 119, 111, 114, 107, 113, 117, 101, - 117, 101, 0, 99, 117, 114, 114, 101, 110, 116, 95, 99, 111, 108, 111, 114, 0, 115, 99, 104, - 101, 100, 117, 108, 101, 100, 0, 116, 97, 115, 107, 0, 108, 97, 115, 116, 95, 97, 99, 116, 105, - 118, 101, 0, 115, 108, 101, 101, 112, 105, 110, 103, 0, 114, 101, 115, 99, 117, 101, 95, 119, - 113, 0, 108, 97, 115, 116, 95, 102, 117, 110, 99, 0, 119, 111, 114, 107, 101, 114, 0, 110, 114, - 95, 100, 114, 97, 105, 110, 101, 114, 115, 0, 115, 97, 118, 101, 100, 95, 109, 97, 120, 95, 97, - 99, 116, 105, 118, 101, 0, 117, 110, 98, 111, 117, 110, 100, 95, 97, 116, 116, 114, 115, 0, - 100, 102, 108, 95, 112, 119, 113, 0, 119, 113, 95, 100, 101, 118, 0, 107, 108, 105, 115, 116, - 95, 99, 104, 105, 108, 100, 114, 101, 110, 0, 107, 95, 108, 111, 99, 107, 0, 107, 95, 108, 105, - 115, 116, 0, 110, 95, 107, 108, 105, 115, 116, 0, 110, 95, 110, 111, 100, 101, 0, 110, 95, 114, - 101, 102, 0, 107, 108, 105, 115, 116, 95, 110, 111, 100, 101, 0, 112, 117, 116, 0, 107, 108, - 105, 115, 116, 0, 107, 110, 111, 100, 101, 95, 112, 97, 114, 101, 110, 116, 0, 107, 110, 111, - 100, 101, 95, 100, 114, 105, 118, 101, 114, 0, 107, 110, 111, 100, 101, 95, 98, 117, 115, 0, - 107, 110, 111, 100, 101, 95, 99, 108, 97, 115, 115, 0, 100, 101, 102, 101, 114, 114, 101, 100, - 95, 112, 114, 111, 98, 101, 0, 97, 115, 121, 110, 99, 95, 100, 114, 105, 118, 101, 114, 0, 98, - 117, 115, 0, 100, 101, 118, 95, 110, 97, 109, 101, 0, 100, 101, 118, 95, 114, 111, 111, 116, 0, - 98, 117, 115, 95, 103, 114, 111, 117, 112, 115, 0, 100, 101, 118, 95, 103, 114, 111, 117, 112, - 115, 0, 100, 114, 118, 95, 103, 114, 111, 117, 112, 115, 0, 109, 97, 116, 99, 104, 0, 112, 114, - 111, 98, 101, 0, 115, 121, 110, 99, 95, 115, 116, 97, 116, 101, 0, 114, 101, 109, 111, 118, - 101, 0, 111, 110, 108, 105, 110, 101, 0, 111, 102, 102, 108, 105, 110, 101, 0, 115, 117, 115, - 112, 101, 110, 100, 0, 112, 109, 95, 109, 101, 115, 115, 97, 103, 101, 0, 112, 109, 95, 109, - 101, 115, 115, 97, 103, 101, 95, 116, 0, 114, 101, 115, 117, 109, 101, 0, 110, 117, 109, 95, - 118, 102, 0, 100, 109, 97, 95, 99, 111, 110, 102, 105, 103, 117, 114, 101, 0, 112, 109, 0, 112, - 114, 101, 112, 97, 114, 101, 0, 99, 111, 109, 112, 108, 101, 116, 101, 0, 102, 114, 101, 101, - 122, 101, 0, 116, 104, 97, 119, 0, 112, 111, 119, 101, 114, 111, 102, 102, 0, 114, 101, 115, - 116, 111, 114, 101, 0, 115, 117, 115, 112, 101, 110, 100, 95, 108, 97, 116, 101, 0, 114, 101, - 115, 117, 109, 101, 95, 101, 97, 114, 108, 121, 0, 102, 114, 101, 101, 122, 101, 95, 108, 97, - 116, 101, 0, 116, 104, 97, 119, 95, 101, 97, 114, 108, 121, 0, 112, 111, 119, 101, 114, 111, - 102, 102, 95, 108, 97, 116, 101, 0, 114, 101, 115, 116, 111, 114, 101, 95, 101, 97, 114, 108, - 121, 0, 115, 117, 115, 112, 101, 110, 100, 95, 110, 111, 105, 114, 113, 0, 114, 101, 115, 117, - 109, 101, 95, 110, 111, 105, 114, 113, 0, 102, 114, 101, 101, 122, 101, 95, 110, 111, 105, 114, - 113, 0, 116, 104, 97, 119, 95, 110, 111, 105, 114, 113, 0, 112, 111, 119, 101, 114, 111, 102, - 102, 95, 110, 111, 105, 114, 113, 0, 114, 101, 115, 116, 111, 114, 101, 95, 110, 111, 105, 114, - 113, 0, 114, 117, 110, 116, 105, 109, 101, 95, 115, 117, 115, 112, 101, 110, 100, 0, 114, 117, - 110, 116, 105, 109, 101, 95, 114, 101, 115, 117, 109, 101, 0, 114, 117, 110, 116, 105, 109, - 101, 95, 105, 100, 108, 101, 0, 100, 101, 118, 95, 112, 109, 95, 111, 112, 115, 0, 105, 111, - 109, 109, 117, 95, 111, 112, 115, 0, 99, 97, 112, 97, 98, 108, 101, 0, 100, 111, 109, 97, 105, - 110, 95, 97, 108, 108, 111, 99, 0, 112, 103, 115, 105, 122, 101, 95, 98, 105, 116, 109, 97, - 112, 0, 104, 97, 110, 100, 108, 101, 114, 0, 105, 111, 109, 109, 117, 95, 102, 97, 117, 108, - 116, 95, 104, 97, 110, 100, 108, 101, 114, 95, 116, 0, 104, 97, 110, 100, 108, 101, 114, 95, - 116, 111, 107, 101, 110, 0, 103, 101, 111, 109, 101, 116, 114, 121, 0, 97, 112, 101, 114, 116, - 117, 114, 101, 95, 115, 116, 97, 114, 116, 0, 100, 109, 97, 95, 97, 100, 100, 114, 95, 116, 0, - 97, 112, 101, 114, 116, 117, 114, 101, 95, 101, 110, 100, 0, 102, 111, 114, 99, 101, 95, 97, - 112, 101, 114, 116, 117, 114, 101, 0, 105, 111, 109, 109, 117, 95, 100, 111, 109, 97, 105, 110, - 95, 103, 101, 111, 109, 101, 116, 114, 121, 0, 105, 111, 118, 97, 95, 99, 111, 111, 107, 105, - 101, 0, 105, 111, 118, 97, 100, 0, 105, 111, 118, 97, 95, 114, 98, 116, 114, 101, 101, 95, 108, - 111, 99, 107, 0, 114, 98, 114, 111, 111, 116, 0, 99, 97, 99, 104, 101, 100, 95, 110, 111, 100, - 101, 0, 99, 97, 99, 104, 101, 100, 51, 50, 95, 110, 111, 100, 101, 0, 103, 114, 97, 110, 117, - 108, 101, 0, 115, 116, 97, 114, 116, 95, 112, 102, 110, 0, 100, 109, 97, 95, 51, 50, 98, 105, - 116, 95, 112, 102, 110, 0, 109, 97, 120, 51, 50, 95, 97, 108, 108, 111, 99, 95, 115, 105, 122, - 101, 0, 102, 113, 0, 101, 110, 116, 114, 105, 101, 115, 0, 105, 111, 118, 97, 95, 112, 102, - 110, 0, 112, 97, 103, 101, 115, 0, 105, 111, 118, 97, 95, 102, 113, 95, 101, 110, 116, 114, - 121, 0, 105, 111, 118, 97, 95, 102, 113, 0, 102, 113, 95, 102, 108, 117, 115, 104, 95, 115, - 116, 97, 114, 116, 95, 99, 110, 116, 0, 102, 113, 95, 102, 108, 117, 115, 104, 95, 102, 105, - 110, 105, 115, 104, 95, 99, 110, 116, 0, 97, 110, 99, 104, 111, 114, 0, 112, 102, 110, 95, 104, - 105, 0, 112, 102, 110, 95, 108, 111, 0, 105, 111, 118, 97, 0, 114, 99, 97, 99, 104, 101, 115, - 0, 100, 101, 112, 111, 116, 95, 115, 105, 122, 101, 0, 100, 101, 112, 111, 116, 0, 112, 102, - 110, 115, 0, 105, 111, 118, 97, 95, 109, 97, 103, 97, 122, 105, 110, 101, 0, 99, 112, 117, 95, - 114, 99, 97, 99, 104, 101, 115, 0, 108, 111, 97, 100, 101, 100, 0, 105, 111, 118, 97, 95, 99, - 112, 117, 95, 114, 99, 97, 99, 104, 101, 0, 105, 111, 118, 97, 95, 114, 99, 97, 99, 104, 101, - 0, 102, 108, 117, 115, 104, 95, 99, 98, 0, 105, 111, 118, 97, 95, 102, 108, 117, 115, 104, 95, - 99, 98, 0, 101, 110, 116, 114, 121, 95, 100, 116, 111, 114, 0, 105, 111, 118, 97, 95, 101, 110, - 116, 114, 121, 95, 100, 116, 111, 114, 0, 102, 113, 95, 116, 105, 109, 101, 114, 0, 102, 113, - 95, 116, 105, 109, 101, 114, 95, 111, 110, 0, 99, 112, 117, 104, 112, 95, 100, 101, 97, 100, 0, - 105, 111, 118, 97, 95, 100, 111, 109, 97, 105, 110, 0, 109, 115, 105, 95, 105, 111, 118, 97, 0, - 109, 115, 105, 95, 112, 97, 103, 101, 95, 108, 105, 115, 116, 0, 102, 113, 95, 100, 111, 109, - 97, 105, 110, 0, 105, 111, 109, 109, 117, 95, 100, 109, 97, 95, 99, 111, 111, 107, 105, 101, 0, - 105, 111, 109, 109, 117, 95, 100, 111, 109, 97, 105, 110, 0, 100, 111, 109, 97, 105, 110, 95, - 102, 114, 101, 101, 0, 97, 116, 116, 97, 99, 104, 95, 100, 101, 118, 0, 100, 101, 116, 97, 99, - 104, 95, 100, 101, 118, 0, 109, 97, 112, 0, 112, 104, 121, 115, 95, 97, 100, 100, 114, 95, 116, - 0, 117, 110, 109, 97, 112, 0, 101, 110, 100, 0, 112, 103, 115, 105, 122, 101, 0, 102, 114, 101, - 101, 108, 105, 115, 116, 0, 113, 117, 101, 117, 101, 100, 0, 105, 111, 109, 109, 117, 95, 105, - 111, 116, 108, 98, 95, 103, 97, 116, 104, 101, 114, 0, 117, 110, 109, 97, 112, 95, 112, 97, - 103, 101, 115, 0, 102, 108, 117, 115, 104, 95, 105, 111, 116, 108, 98, 95, 97, 108, 108, 0, - 105, 111, 116, 108, 98, 95, 115, 121, 110, 99, 95, 109, 97, 112, 0, 105, 111, 116, 108, 98, 95, - 115, 121, 110, 99, 0, 105, 111, 118, 97, 95, 116, 111, 95, 112, 104, 121, 115, 0, 112, 114, - 111, 98, 101, 95, 100, 101, 118, 105, 99, 101, 0, 102, 119, 110, 111, 100, 101, 0, 115, 101, - 99, 111, 110, 100, 97, 114, 121, 0, 100, 101, 118, 105, 99, 101, 95, 105, 115, 95, 97, 118, 97, - 105, 108, 97, 98, 108, 101, 0, 100, 101, 118, 105, 99, 101, 95, 103, 101, 116, 95, 109, 97, - 116, 99, 104, 95, 100, 97, 116, 97, 0, 112, 114, 111, 112, 101, 114, 116, 121, 95, 112, 114, - 101, 115, 101, 110, 116, 0, 112, 114, 111, 112, 101, 114, 116, 121, 95, 114, 101, 97, 100, 95, - 105, 110, 116, 95, 97, 114, 114, 97, 121, 0, 112, 114, 111, 112, 101, 114, 116, 121, 95, 114, - 101, 97, 100, 95, 115, 116, 114, 105, 110, 103, 95, 97, 114, 114, 97, 121, 0, 103, 101, 116, - 95, 110, 97, 109, 101, 0, 103, 101, 116, 95, 110, 97, 109, 101, 95, 112, 114, 101, 102, 105, - 120, 0, 103, 101, 116, 95, 112, 97, 114, 101, 110, 116, 0, 103, 101, 116, 95, 110, 101, 120, - 116, 95, 99, 104, 105, 108, 100, 95, 110, 111, 100, 101, 0, 103, 101, 116, 95, 110, 97, 109, - 101, 100, 95, 99, 104, 105, 108, 100, 95, 110, 111, 100, 101, 0, 103, 101, 116, 95, 114, 101, - 102, 101, 114, 101, 110, 99, 101, 95, 97, 114, 103, 115, 0, 110, 97, 114, 103, 115, 0, 97, 114, - 103, 115, 0, 102, 119, 110, 111, 100, 101, 95, 114, 101, 102, 101, 114, 101, 110, 99, 101, 95, - 97, 114, 103, 115, 0, 103, 114, 97, 112, 104, 95, 103, 101, 116, 95, 110, 101, 120, 116, 95, - 101, 110, 100, 112, 111, 105, 110, 116, 0, 103, 114, 97, 112, 104, 95, 103, 101, 116, 95, 114, - 101, 109, 111, 116, 101, 95, 101, 110, 100, 112, 111, 105, 110, 116, 0, 103, 114, 97, 112, 104, - 95, 103, 101, 116, 95, 112, 111, 114, 116, 95, 112, 97, 114, 101, 110, 116, 0, 103, 114, 97, - 112, 104, 95, 112, 97, 114, 115, 101, 95, 101, 110, 100, 112, 111, 105, 110, 116, 0, 112, 111, - 114, 116, 0, 108, 111, 99, 97, 108, 95, 102, 119, 110, 111, 100, 101, 0, 102, 119, 110, 111, - 100, 101, 95, 101, 110, 100, 112, 111, 105, 110, 116, 0, 97, 100, 100, 95, 108, 105, 110, 107, - 115, 0, 102, 119, 110, 111, 100, 101, 95, 111, 112, 101, 114, 97, 116, 105, 111, 110, 115, 0, - 115, 117, 112, 112, 108, 105, 101, 114, 115, 0, 99, 111, 110, 115, 117, 109, 101, 114, 115, 0, - 102, 119, 110, 111, 100, 101, 95, 104, 97, 110, 100, 108, 101, 0, 105, 111, 109, 109, 117, 95, - 100, 101, 118, 105, 99, 101, 0, 114, 101, 108, 101, 97, 115, 101, 95, 100, 101, 118, 105, 99, - 101, 0, 112, 114, 111, 98, 101, 95, 102, 105, 110, 97, 108, 105, 122, 101, 0, 100, 101, 118, - 105, 99, 101, 95, 103, 114, 111, 117, 112, 0, 100, 101, 118, 105, 99, 101, 115, 95, 107, 111, - 98, 106, 0, 100, 101, 118, 105, 99, 101, 115, 0, 110, 111, 116, 105, 102, 105, 101, 114, 0, - 114, 119, 115, 101, 109, 0, 110, 111, 116, 105, 102, 105, 101, 114, 95, 99, 97, 108, 108, 0, - 110, 111, 116, 105, 102, 105, 101, 114, 95, 102, 110, 95, 116, 0, 112, 114, 105, 111, 114, 105, - 116, 121, 0, 110, 111, 116, 105, 102, 105, 101, 114, 95, 98, 108, 111, 99, 107, 0, 98, 108, - 111, 99, 107, 105, 110, 103, 95, 110, 111, 116, 105, 102, 105, 101, 114, 95, 104, 101, 97, 100, - 0, 105, 111, 109, 109, 117, 95, 100, 97, 116, 97, 0, 105, 111, 109, 109, 117, 95, 100, 97, 116, - 97, 95, 114, 101, 108, 101, 97, 115, 101, 0, 100, 101, 102, 97, 117, 108, 116, 95, 100, 111, - 109, 97, 105, 110, 0, 100, 111, 109, 97, 105, 110, 0, 105, 111, 109, 109, 117, 95, 103, 114, - 111, 117, 112, 0, 101, 110, 97, 98, 108, 101, 95, 110, 101, 115, 116, 105, 110, 103, 0, 115, - 101, 116, 95, 112, 103, 116, 97, 98, 108, 101, 95, 113, 117, 105, 114, 107, 115, 0, 103, 101, - 116, 95, 114, 101, 115, 118, 95, 114, 101, 103, 105, 111, 110, 115, 0, 112, 117, 116, 95, 114, - 101, 115, 118, 95, 114, 101, 103, 105, 111, 110, 115, 0, 97, 112, 112, 108, 121, 95, 114, 101, - 115, 118, 95, 114, 101, 103, 105, 111, 110, 0, 108, 101, 110, 103, 116, 104, 0, 112, 114, 111, - 116, 0, 105, 111, 109, 109, 117, 95, 114, 101, 115, 118, 95, 114, 101, 103, 105, 111, 110, 0, - 111, 102, 95, 120, 108, 97, 116, 101, 0, 110, 112, 0, 112, 104, 97, 110, 100, 108, 101, 0, 102, - 117, 108, 108, 95, 110, 97, 109, 101, 0, 112, 114, 111, 112, 101, 114, 116, 105, 101, 115, 0, - 112, 114, 111, 112, 101, 114, 116, 121, 0, 100, 101, 97, 100, 112, 114, 111, 112, 115, 0, 99, - 104, 105, 108, 100, 0, 115, 105, 98, 108, 105, 110, 103, 0, 95, 102, 108, 97, 103, 115, 0, 100, - 101, 118, 105, 99, 101, 95, 110, 111, 100, 101, 0, 97, 114, 103, 115, 95, 99, 111, 117, 110, - 116, 0, 111, 102, 95, 112, 104, 97, 110, 100, 108, 101, 95, 97, 114, 103, 115, 0, 105, 115, 95, - 97, 116, 116, 97, 99, 104, 95, 100, 101, 102, 101, 114, 114, 101, 100, 0, 100, 101, 118, 95, - 104, 97, 115, 95, 102, 101, 97, 116, 0, 100, 101, 118, 95, 102, 101, 97, 116, 95, 101, 110, 97, - 98, 108, 101, 100, 0, 100, 101, 118, 95, 101, 110, 97, 98, 108, 101, 95, 102, 101, 97, 116, 0, - 100, 101, 118, 95, 100, 105, 115, 97, 98, 108, 101, 95, 102, 101, 97, 116, 0, 97, 117, 120, 95, - 97, 116, 116, 97, 99, 104, 95, 100, 101, 118, 0, 97, 117, 120, 95, 100, 101, 116, 97, 99, 104, - 95, 100, 101, 118, 0, 97, 117, 120, 95, 103, 101, 116, 95, 112, 97, 115, 105, 100, 0, 115, 118, - 97, 95, 98, 105, 110, 100, 0, 105, 111, 109, 109, 117, 95, 115, 118, 97, 0, 115, 118, 97, 95, - 117, 110, 98, 105, 110, 100, 0, 115, 118, 97, 95, 103, 101, 116, 95, 112, 97, 115, 105, 100, 0, - 112, 97, 103, 101, 95, 114, 101, 115, 112, 111, 110, 115, 101, 0, 112, 97, 100, 100, 105, 110, - 103, 0, 114, 101, 97, 115, 111, 110, 0, 112, 97, 115, 105, 100, 0, 97, 100, 100, 114, 0, 102, - 101, 116, 99, 104, 95, 97, 100, 100, 114, 0, 105, 111, 109, 109, 117, 95, 102, 97, 117, 108, - 116, 95, 117, 110, 114, 101, 99, 111, 118, 101, 114, 97, 98, 108, 101, 0, 112, 114, 109, 0, - 103, 114, 112, 105, 100, 0, 112, 114, 105, 118, 97, 116, 101, 95, 100, 97, 116, 97, 0, 105, - 111, 109, 109, 117, 95, 102, 97, 117, 108, 116, 95, 112, 97, 103, 101, 95, 114, 101, 113, 117, - 101, 115, 116, 0, 112, 97, 100, 100, 105, 110, 103, 50, 0, 105, 111, 109, 109, 117, 95, 102, - 97, 117, 108, 116, 0, 105, 111, 109, 109, 117, 95, 102, 97, 117, 108, 116, 95, 101, 118, 101, - 110, 116, 0, 97, 114, 103, 115, 122, 0, 118, 101, 114, 115, 105, 111, 110, 0, 99, 111, 100, - 101, 0, 105, 111, 109, 109, 117, 95, 112, 97, 103, 101, 95, 114, 101, 115, 112, 111, 110, 115, - 101, 0, 99, 97, 99, 104, 101, 95, 105, 110, 118, 97, 108, 105, 100, 97, 116, 101, 0, 99, 97, - 99, 104, 101, 0, 103, 114, 97, 110, 117, 108, 97, 114, 105, 116, 121, 0, 103, 114, 97, 110, - 117, 0, 112, 97, 115, 105, 100, 95, 105, 110, 102, 111, 0, 97, 114, 99, 104, 105, 100, 0, 105, - 111, 109, 109, 117, 95, 105, 110, 118, 95, 112, 97, 115, 105, 100, 95, 105, 110, 102, 111, 0, - 97, 100, 100, 114, 95, 105, 110, 102, 111, 0, 103, 114, 97, 110, 117, 108, 101, 95, 115, 105, - 122, 101, 0, 110, 98, 95, 103, 114, 97, 110, 117, 108, 101, 115, 0, 105, 111, 109, 109, 117, - 95, 105, 110, 118, 95, 97, 100, 100, 114, 95, 105, 110, 102, 111, 0, 105, 111, 109, 109, 117, - 95, 99, 97, 99, 104, 101, 95, 105, 110, 118, 97, 108, 105, 100, 97, 116, 101, 95, 105, 110, - 102, 111, 0, 115, 118, 97, 95, 98, 105, 110, 100, 95, 103, 112, 97, 115, 105, 100, 0, 102, 111, - 114, 109, 97, 116, 0, 97, 100, 100, 114, 95, 119, 105, 100, 116, 104, 0, 103, 112, 103, 100, 0, - 104, 112, 97, 115, 105, 100, 0, 103, 112, 97, 115, 105, 100, 0, 118, 101, 110, 100, 111, 114, - 0, 118, 116, 100, 0, 112, 97, 116, 0, 101, 109, 116, 0, 105, 111, 109, 109, 117, 95, 103, 112, - 97, 115, 105, 100, 95, 98, 105, 110, 100, 95, 100, 97, 116, 97, 95, 118, 116, 100, 0, 105, 111, - 109, 109, 117, 95, 103, 112, 97, 115, 105, 100, 95, 98, 105, 110, 100, 95, 100, 97, 116, 97, 0, - 115, 118, 97, 95, 117, 110, 98, 105, 110, 100, 95, 103, 112, 97, 115, 105, 100, 0, 100, 101, - 102, 95, 100, 111, 109, 97, 105, 110, 95, 116, 121, 112, 101, 0, 100, 101, 118, 105, 99, 101, - 115, 95, 107, 115, 101, 116, 0, 105, 110, 116, 101, 114, 102, 97, 99, 101, 115, 0, 100, 114, - 105, 118, 101, 114, 115, 95, 107, 115, 101, 116, 0, 107, 108, 105, 115, 116, 95, 100, 101, 118, - 105, 99, 101, 115, 0, 107, 108, 105, 115, 116, 95, 100, 114, 105, 118, 101, 114, 115, 0, 98, - 117, 115, 95, 110, 111, 116, 105, 102, 105, 101, 114, 0, 100, 114, 105, 118, 101, 114, 115, 95, - 97, 117, 116, 111, 112, 114, 111, 98, 101, 0, 103, 108, 117, 101, 95, 100, 105, 114, 115, 0, - 99, 108, 97, 115, 115, 0, 99, 108, 97, 115, 115, 95, 103, 114, 111, 117, 112, 115, 0, 100, 101, - 118, 95, 107, 111, 98, 106, 0, 100, 101, 118, 95, 117, 101, 118, 101, 110, 116, 0, 100, 101, - 118, 110, 111, 100, 101, 0, 99, 108, 97, 115, 115, 95, 114, 101, 108, 101, 97, 115, 101, 0, - 100, 101, 118, 95, 114, 101, 108, 101, 97, 115, 101, 0, 115, 104, 117, 116, 100, 111, 119, 110, - 95, 112, 114, 101, 0, 110, 115, 95, 116, 121, 112, 101, 0, 99, 117, 114, 114, 101, 110, 116, - 95, 109, 97, 121, 95, 109, 111, 117, 110, 116, 0, 103, 114, 97, 98, 95, 99, 117, 114, 114, 101, - 110, 116, 95, 110, 115, 0, 110, 101, 116, 108, 105, 110, 107, 95, 110, 115, 0, 105, 110, 105, - 116, 105, 97, 108, 95, 110, 115, 0, 100, 114, 111, 112, 95, 110, 115, 0, 107, 111, 98, 106, 95, - 110, 115, 95, 116, 121, 112, 101, 95, 111, 112, 101, 114, 97, 116, 105, 111, 110, 115, 0, 110, - 97, 109, 101, 115, 112, 97, 99, 101, 0, 103, 101, 116, 95, 111, 119, 110, 101, 114, 115, 104, - 105, 112, 0, 115, 117, 98, 115, 121, 115, 95, 112, 114, 105, 118, 97, 116, 101, 0, 108, 111, - 99, 107, 95, 107, 101, 121, 0, 110, 101, 101, 100, 95, 112, 97, 114, 101, 110, 116, 95, 108, - 111, 99, 107, 0, 98, 117, 115, 95, 116, 121, 112, 101, 0, 109, 111, 100, 95, 110, 97, 109, 101, - 0, 115, 117, 112, 112, 114, 101, 115, 115, 95, 98, 105, 110, 100, 95, 97, 116, 116, 114, 115, - 0, 111, 102, 95, 109, 97, 116, 99, 104, 95, 116, 97, 98, 108, 101, 0, 99, 111, 109, 112, 97, - 116, 105, 98, 108, 101, 0, 111, 102, 95, 100, 101, 118, 105, 99, 101, 95, 105, 100, 0, 97, 99, - 112, 105, 95, 109, 97, 116, 99, 104, 95, 116, 97, 98, 108, 101, 0, 100, 114, 105, 118, 101, - 114, 95, 100, 97, 116, 97, 0, 107, 101, 114, 110, 101, 108, 95, 117, 108, 111, 110, 103, 95, - 116, 0, 99, 108, 115, 0, 99, 108, 115, 95, 109, 115, 107, 0, 97, 99, 112, 105, 95, 100, 101, - 118, 105, 99, 101, 95, 105, 100, 0, 103, 114, 111, 117, 112, 115, 0, 99, 111, 114, 101, 100, - 117, 109, 112, 0, 100, 114, 105, 118, 101, 114, 0, 100, 114, 105, 118, 101, 114, 95, 112, 114, - 105, 118, 97, 116, 101, 0, 100, 101, 118, 105, 99, 101, 95, 100, 114, 105, 118, 101, 114, 0, - 100, 101, 102, 101, 114, 114, 101, 100, 95, 112, 114, 111, 98, 101, 95, 114, 101, 97, 115, 111, - 110, 0, 100, 101, 118, 105, 99, 101, 0, 100, 101, 97, 100, 0, 100, 101, 118, 105, 99, 101, 95, - 112, 114, 105, 118, 97, 116, 101, 0, 105, 110, 105, 116, 95, 110, 97, 109, 101, 0, 100, 101, - 118, 105, 99, 101, 95, 116, 121, 112, 101, 0, 112, 108, 97, 116, 102, 111, 114, 109, 95, 100, - 97, 116, 97, 0, 108, 105, 110, 107, 115, 0, 100, 101, 102, 101, 114, 95, 115, 121, 110, 99, 0, - 100, 101, 118, 95, 108, 105, 110, 107, 115, 95, 105, 110, 102, 111, 0, 112, 111, 119, 101, 114, - 0, 112, 111, 119, 101, 114, 95, 115, 116, 97, 116, 101, 0, 99, 97, 110, 95, 119, 97, 107, 101, - 117, 112, 0, 97, 115, 121, 110, 99, 95, 115, 117, 115, 112, 101, 110, 100, 0, 105, 110, 95, - 100, 112, 109, 95, 108, 105, 115, 116, 0, 105, 115, 95, 112, 114, 101, 112, 97, 114, 101, 100, - 0, 105, 115, 95, 115, 117, 115, 112, 101, 110, 100, 101, 100, 0, 105, 115, 95, 110, 111, 105, - 114, 113, 95, 115, 117, 115, 112, 101, 110, 100, 101, 100, 0, 105, 115, 95, 108, 97, 116, 101, - 95, 115, 117, 115, 112, 101, 110, 100, 101, 100, 0, 110, 111, 95, 112, 109, 0, 101, 97, 114, - 108, 121, 95, 105, 110, 105, 116, 0, 100, 105, 114, 101, 99, 116, 95, 99, 111, 109, 112, 108, - 101, 116, 101, 0, 100, 114, 105, 118, 101, 114, 95, 102, 108, 97, 103, 115, 0, 119, 97, 107, - 101, 117, 112, 0, 119, 97, 107, 101, 105, 114, 113, 0, 105, 114, 113, 0, 119, 97, 107, 101, 95, - 105, 114, 113, 0, 116, 105, 109, 101, 114, 95, 101, 120, 112, 105, 114, 101, 115, 0, 116, 111, - 116, 97, 108, 95, 116, 105, 109, 101, 0, 107, 116, 105, 109, 101, 95, 116, 0, 109, 97, 120, 95, - 116, 105, 109, 101, 0, 108, 97, 115, 116, 95, 116, 105, 109, 101, 0, 115, 116, 97, 114, 116, - 95, 112, 114, 101, 118, 101, 110, 116, 95, 116, 105, 109, 101, 0, 112, 114, 101, 118, 101, 110, - 116, 95, 115, 108, 101, 101, 112, 95, 116, 105, 109, 101, 0, 101, 118, 101, 110, 116, 95, 99, - 111, 117, 110, 116, 0, 97, 99, 116, 105, 118, 101, 95, 99, 111, 117, 110, 116, 0, 114, 101, - 108, 97, 120, 95, 99, 111, 117, 110, 116, 0, 101, 120, 112, 105, 114, 101, 95, 99, 111, 117, - 110, 116, 0, 119, 97, 107, 101, 117, 112, 95, 99, 111, 117, 110, 116, 0, 97, 117, 116, 111, - 115, 108, 101, 101, 112, 95, 101, 110, 97, 98, 108, 101, 100, 0, 119, 97, 107, 101, 117, 112, - 95, 115, 111, 117, 114, 99, 101, 0, 119, 97, 107, 101, 117, 112, 95, 112, 97, 116, 104, 0, 115, - 121, 115, 99, 111, 114, 101, 0, 110, 111, 95, 112, 109, 95, 99, 97, 108, 108, 98, 97, 99, 107, - 115, 0, 109, 117, 115, 116, 95, 114, 101, 115, 117, 109, 101, 0, 109, 97, 121, 95, 115, 107, - 105, 112, 95, 114, 101, 115, 117, 109, 101, 0, 115, 117, 115, 112, 101, 110, 100, 95, 116, 105, - 109, 101, 114, 0, 116, 105, 109, 101, 114, 113, 117, 101, 117, 101, 95, 110, 111, 100, 101, 0, - 95, 115, 111, 102, 116, 101, 120, 112, 105, 114, 101, 115, 0, 98, 97, 115, 101, 0, 99, 112, - 117, 95, 98, 97, 115, 101, 0, 97, 99, 116, 105, 118, 101, 95, 98, 97, 115, 101, 115, 0, 99, - 108, 111, 99, 107, 95, 119, 97, 115, 95, 115, 101, 116, 95, 115, 101, 113, 0, 104, 114, 101, - 115, 95, 97, 99, 116, 105, 118, 101, 0, 105, 110, 95, 104, 114, 116, 105, 114, 113, 0, 104, 97, - 110, 103, 95, 100, 101, 116, 101, 99, 116, 101, 100, 0, 115, 111, 102, 116, 105, 114, 113, 95, - 97, 99, 116, 105, 118, 97, 116, 101, 100, 0, 110, 114, 95, 101, 118, 101, 110, 116, 115, 0, - 110, 114, 95, 114, 101, 116, 114, 105, 101, 115, 0, 110, 114, 95, 104, 97, 110, 103, 115, 0, - 109, 97, 120, 95, 104, 97, 110, 103, 95, 116, 105, 109, 101, 0, 101, 120, 112, 105, 114, 101, - 115, 95, 110, 101, 120, 116, 0, 110, 101, 120, 116, 95, 116, 105, 109, 101, 114, 0, 115, 111, - 102, 116, 105, 114, 113, 95, 101, 120, 112, 105, 114, 101, 115, 95, 110, 101, 120, 116, 0, 115, - 111, 102, 116, 105, 114, 113, 95, 110, 101, 120, 116, 95, 116, 105, 109, 101, 114, 0, 99, 108, - 111, 99, 107, 95, 98, 97, 115, 101, 0, 104, 114, 116, 105, 109, 101, 114, 95, 99, 112, 117, 95, - 98, 97, 115, 101, 0, 99, 108, 111, 99, 107, 105, 100, 0, 95, 95, 107, 101, 114, 110, 101, 108, - 95, 99, 108, 111, 99, 107, 105, 100, 95, 116, 0, 99, 108, 111, 99, 107, 105, 100, 95, 116, 0, - 115, 101, 113, 99, 111, 117, 110, 116, 95, 114, 97, 119, 95, 115, 112, 105, 110, 108, 111, 99, - 107, 0, 115, 101, 113, 99, 111, 117, 110, 116, 95, 114, 97, 119, 95, 115, 112, 105, 110, 108, - 111, 99, 107, 95, 116, 0, 114, 117, 110, 110, 105, 110, 103, 0, 116, 105, 109, 101, 114, 113, - 117, 101, 117, 101, 95, 104, 101, 97, 100, 0, 103, 101, 116, 95, 116, 105, 109, 101, 0, 104, - 114, 116, 105, 109, 101, 114, 95, 99, 108, 111, 99, 107, 95, 98, 97, 115, 101, 0, 105, 115, 95, - 114, 101, 108, 0, 105, 115, 95, 115, 111, 102, 116, 0, 105, 115, 95, 104, 97, 114, 100, 0, 104, - 114, 116, 105, 109, 101, 114, 0, 119, 97, 105, 116, 95, 113, 117, 101, 117, 101, 0, 117, 115, - 97, 103, 101, 95, 99, 111, 117, 110, 116, 0, 99, 104, 105, 108, 100, 95, 99, 111, 117, 110, - 116, 0, 100, 105, 115, 97, 98, 108, 101, 95, 100, 101, 112, 116, 104, 0, 105, 100, 108, 101, - 95, 110, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 0, 114, 101, 113, 117, 101, 115, - 116, 95, 112, 101, 110, 100, 105, 110, 103, 0, 100, 101, 102, 101, 114, 114, 101, 100, 95, 114, - 101, 115, 117, 109, 101, 0, 110, 101, 101, 100, 115, 95, 102, 111, 114, 99, 101, 95, 114, 101, - 115, 117, 109, 101, 0, 114, 117, 110, 116, 105, 109, 101, 95, 97, 117, 116, 111, 0, 105, 103, - 110, 111, 114, 101, 95, 99, 104, 105, 108, 100, 114, 101, 110, 0, 110, 111, 95, 99, 97, 108, - 108, 98, 97, 99, 107, 115, 0, 105, 114, 113, 95, 115, 97, 102, 101, 0, 117, 115, 101, 95, 97, - 117, 116, 111, 115, 117, 115, 112, 101, 110, 100, 0, 116, 105, 109, 101, 114, 95, 97, 117, 116, - 111, 115, 117, 115, 112, 101, 110, 100, 115, 0, 109, 101, 109, 97, 108, 108, 111, 99, 95, 110, - 111, 105, 111, 0, 108, 105, 110, 107, 115, 95, 99, 111, 117, 110, 116, 0, 114, 101, 113, 117, - 101, 115, 116, 0, 114, 117, 110, 116, 105, 109, 101, 95, 115, 116, 97, 116, 117, 115, 0, 114, - 117, 110, 116, 105, 109, 101, 95, 101, 114, 114, 111, 114, 0, 97, 117, 116, 111, 115, 117, 115, - 112, 101, 110, 100, 95, 100, 101, 108, 97, 121, 0, 108, 97, 115, 116, 95, 98, 117, 115, 121, 0, - 97, 99, 116, 105, 118, 101, 95, 116, 105, 109, 101, 0, 115, 117, 115, 112, 101, 110, 100, 101, - 100, 95, 116, 105, 109, 101, 0, 97, 99, 99, 111, 117, 110, 116, 105, 110, 103, 95, 116, 105, - 109, 101, 115, 116, 97, 109, 112, 0, 115, 117, 98, 115, 121, 115, 95, 100, 97, 116, 97, 0, 99, - 108, 111, 99, 107, 95, 111, 112, 95, 109, 105, 103, 104, 116, 95, 115, 108, 101, 101, 112, 0, - 99, 108, 111, 99, 107, 95, 109, 117, 116, 101, 120, 0, 99, 108, 111, 99, 107, 95, 108, 105, - 115, 116, 0, 100, 111, 109, 97, 105, 110, 95, 100, 97, 116, 97, 0, 112, 109, 95, 100, 111, 109, - 97, 105, 110, 95, 100, 97, 116, 97, 0, 112, 109, 95, 115, 117, 98, 115, 121, 115, 95, 100, 97, - 116, 97, 0, 115, 101, 116, 95, 108, 97, 116, 101, 110, 99, 121, 95, 116, 111, 108, 101, 114, - 97, 110, 99, 101, 0, 113, 111, 115, 0, 114, 101, 115, 117, 109, 101, 95, 108, 97, 116, 101, - 110, 99, 121, 0, 110, 111, 100, 101, 95, 108, 105, 115, 116, 0, 112, 108, 105, 115, 116, 95, - 104, 101, 97, 100, 0, 116, 97, 114, 103, 101, 116, 95, 118, 97, 108, 117, 101, 0, 100, 101, - 102, 97, 117, 108, 116, 95, 118, 97, 108, 117, 101, 0, 110, 111, 95, 99, 111, 110, 115, 116, - 114, 97, 105, 110, 116, 95, 118, 97, 108, 117, 101, 0, 110, 111, 116, 105, 102, 105, 101, 114, - 115, 0, 112, 109, 95, 113, 111, 115, 95, 99, 111, 110, 115, 116, 114, 97, 105, 110, 116, 115, - 0, 108, 97, 116, 101, 110, 99, 121, 95, 116, 111, 108, 101, 114, 97, 110, 99, 101, 0, 102, 114, - 101, 113, 0, 109, 105, 110, 95, 102, 114, 101, 113, 0, 109, 105, 110, 95, 102, 114, 101, 113, - 95, 110, 111, 116, 105, 102, 105, 101, 114, 115, 0, 109, 97, 120, 95, 102, 114, 101, 113, 0, - 109, 97, 120, 95, 102, 114, 101, 113, 95, 110, 111, 116, 105, 102, 105, 101, 114, 115, 0, 102, - 114, 101, 113, 95, 99, 111, 110, 115, 116, 114, 97, 105, 110, 116, 115, 0, 101, 102, 102, 101, - 99, 116, 105, 118, 101, 95, 102, 108, 97, 103, 115, 0, 112, 109, 95, 113, 111, 115, 95, 102, - 108, 97, 103, 115, 0, 114, 101, 115, 117, 109, 101, 95, 108, 97, 116, 101, 110, 99, 121, 95, - 114, 101, 113, 0, 112, 110, 111, 100, 101, 0, 112, 114, 105, 111, 95, 108, 105, 115, 116, 0, - 112, 108, 105, 115, 116, 95, 110, 111, 100, 101, 0, 102, 108, 114, 0, 112, 109, 95, 113, 111, - 115, 95, 102, 108, 97, 103, 115, 95, 114, 101, 113, 117, 101, 115, 116, 0, 102, 114, 101, 113, - 95, 113, 111, 115, 95, 114, 101, 113, 117, 101, 115, 116, 0, 100, 101, 118, 95, 112, 109, 95, - 113, 111, 115, 95, 114, 101, 113, 117, 101, 115, 116, 0, 108, 97, 116, 101, 110, 99, 121, 95, - 116, 111, 108, 101, 114, 97, 110, 99, 101, 95, 114, 101, 113, 0, 102, 108, 97, 103, 115, 95, - 114, 101, 113, 0, 100, 101, 118, 95, 112, 109, 95, 113, 111, 115, 0, 100, 101, 118, 95, 112, - 109, 95, 105, 110, 102, 111, 0, 112, 109, 95, 100, 111, 109, 97, 105, 110, 0, 100, 101, 116, - 97, 99, 104, 0, 97, 99, 116, 105, 118, 97, 116, 101, 0, 115, 121, 110, 99, 0, 100, 105, 115, - 109, 105, 115, 115, 0, 100, 101, 118, 95, 112, 109, 95, 100, 111, 109, 97, 105, 110, 0, 101, - 109, 95, 112, 100, 0, 116, 97, 98, 108, 101, 0, 102, 114, 101, 113, 117, 101, 110, 99, 121, 0, - 99, 111, 115, 116, 0, 101, 109, 95, 112, 101, 114, 102, 95, 115, 116, 97, 116, 101, 0, 110, - 114, 95, 112, 101, 114, 102, 95, 115, 116, 97, 116, 101, 115, 0, 109, 105, 108, 108, 105, 119, - 97, 116, 116, 115, 0, 99, 112, 117, 115, 0, 101, 109, 95, 112, 101, 114, 102, 95, 100, 111, - 109, 97, 105, 110, 0, 109, 115, 105, 95, 100, 111, 109, 97, 105, 110, 0, 115, 101, 108, 101, - 99, 116, 0, 112, 97, 114, 97, 109, 95, 99, 111, 117, 110, 116, 0, 112, 97, 114, 97, 109, 0, - 105, 114, 113, 95, 102, 119, 115, 112, 101, 99, 0, 105, 114, 113, 95, 104, 119, 95, 110, 117, - 109, 98, 101, 114, 95, 116, 0, 120, 108, 97, 116, 101, 0, 97, 108, 108, 111, 99, 0, 109, 97, - 115, 107, 0, 104, 119, 105, 114, 113, 0, 99, 111, 109, 109, 111, 110, 0, 115, 116, 97, 116, - 101, 95, 117, 115, 101, 95, 97, 99, 99, 101, 115, 115, 111, 114, 115, 0, 104, 97, 110, 100, - 108, 101, 114, 95, 100, 97, 116, 97, 0, 109, 115, 105, 95, 100, 101, 115, 99, 0, 110, 118, 101, - 99, 95, 117, 115, 101, 100, 0, 109, 115, 103, 0, 97, 100, 100, 114, 101, 115, 115, 95, 108, - 111, 0, 97, 114, 99, 104, 95, 97, 100, 100, 114, 95, 108, 111, 0, 114, 101, 115, 101, 114, 118, - 101, 100, 95, 48, 0, 100, 101, 115, 116, 95, 109, 111, 100, 101, 95, 108, 111, 103, 105, 99, - 97, 108, 0, 114, 101, 100, 105, 114, 101, 99, 116, 95, 104, 105, 110, 116, 0, 114, 101, 115, - 101, 114, 118, 101, 100, 95, 49, 0, 118, 105, 114, 116, 95, 100, 101, 115, 116, 105, 100, 95, - 56, 95, 49, 52, 0, 100, 101, 115, 116, 105, 100, 95, 48, 95, 55, 0, 98, 97, 115, 101, 95, 97, - 100, 100, 114, 101, 115, 115, 0, 100, 109, 97, 114, 95, 114, 101, 115, 101, 114, 118, 101, 100, - 95, 48, 0, 100, 109, 97, 114, 95, 105, 110, 100, 101, 120, 95, 49, 53, 0, 100, 109, 97, 114, - 95, 115, 117, 98, 104, 97, 110, 100, 108, 101, 95, 118, 97, 108, 105, 100, 0, 100, 109, 97, - 114, 95, 102, 111, 114, 109, 97, 116, 0, 100, 109, 97, 114, 95, 105, 110, 100, 101, 120, 95, - 48, 95, 49, 52, 0, 100, 109, 97, 114, 95, 98, 97, 115, 101, 95, 97, 100, 100, 114, 101, 115, - 115, 0, 120, 56, 54, 95, 109, 115, 105, 95, 97, 100, 100, 114, 95, 108, 111, 0, 97, 114, 99, - 104, 95, 109, 115, 105, 95, 109, 115, 103, 95, 97, 100, 100, 114, 95, 108, 111, 95, 116, 0, 97, - 100, 100, 114, 101, 115, 115, 95, 104, 105, 0, 97, 114, 99, 104, 95, 97, 100, 100, 114, 95, - 104, 105, 0, 114, 101, 115, 101, 114, 118, 101, 100, 0, 100, 101, 115, 116, 105, 100, 95, 56, - 95, 51, 49, 0, 120, 56, 54, 95, 109, 115, 105, 95, 97, 100, 100, 114, 95, 104, 105, 0, 97, 114, - 99, 104, 95, 109, 115, 105, 95, 109, 115, 103, 95, 97, 100, 100, 114, 95, 104, 105, 95, 116, 0, - 97, 114, 99, 104, 95, 100, 97, 116, 97, 0, 118, 101, 99, 116, 111, 114, 0, 100, 101, 108, 105, - 118, 101, 114, 121, 95, 109, 111, 100, 101, 0, 97, 99, 116, 105, 118, 101, 95, 108, 111, 119, - 0, 105, 115, 95, 108, 101, 118, 101, 108, 0, 100, 109, 97, 114, 95, 115, 117, 98, 104, 97, 110, - 100, 108, 101, 0, 120, 56, 54, 95, 109, 115, 105, 95, 100, 97, 116, 97, 0, 97, 114, 99, 104, - 95, 109, 115, 105, 95, 109, 115, 103, 95, 100, 97, 116, 97, 95, 116, 0, 109, 115, 105, 95, 109, - 115, 103, 0, 97, 102, 102, 105, 110, 105, 116, 121, 0, 105, 115, 95, 109, 97, 110, 97, 103, - 101, 100, 0, 105, 114, 113, 95, 97, 102, 102, 105, 110, 105, 116, 121, 95, 100, 101, 115, 99, - 0, 105, 111, 109, 109, 117, 95, 99, 111, 111, 107, 105, 101, 0, 119, 114, 105, 116, 101, 95, - 109, 115, 105, 95, 109, 115, 103, 0, 119, 114, 105, 116, 101, 95, 109, 115, 105, 95, 109, 115, - 103, 95, 100, 97, 116, 97, 0, 109, 115, 105, 95, 109, 97, 115, 107, 0, 109, 115, 105, 120, 95, - 99, 116, 114, 108, 0, 109, 115, 105, 95, 97, 116, 116, 114, 105, 98, 0, 105, 115, 95, 109, 115, - 105, 120, 0, 109, 117, 108, 116, 105, 112, 108, 101, 0, 109, 117, 108, 116, 105, 95, 99, 97, - 112, 0, 99, 97, 110, 95, 109, 97, 115, 107, 0, 105, 115, 95, 54, 52, 0, 105, 115, 95, 118, 105, - 114, 116, 117, 97, 108, 0, 101, 110, 116, 114, 121, 95, 110, 114, 0, 100, 101, 102, 97, 117, - 108, 116, 95, 105, 114, 113, 0, 109, 97, 115, 107, 95, 112, 111, 115, 0, 109, 97, 115, 107, 95, - 98, 97, 115, 101, 0, 112, 108, 97, 116, 102, 111, 114, 109, 0, 109, 115, 105, 95, 112, 114, - 105, 118, 95, 100, 97, 116, 97, 0, 104, 111, 115, 116, 95, 100, 97, 116, 97, 0, 109, 115, 105, - 95, 105, 114, 113, 95, 103, 114, 111, 117, 112, 115, 0, 97, 114, 103, 0, 100, 101, 118, 105, - 100, 0, 105, 111, 97, 112, 105, 99, 0, 112, 105, 110, 0, 118, 97, 108, 105, 100, 0, 105, 111, - 97, 112, 105, 99, 95, 97, 108, 108, 111, 99, 95, 105, 110, 102, 111, 0, 117, 118, 0, 108, 105, - 109, 105, 116, 0, 98, 108, 97, 100, 101, 0, 117, 118, 95, 97, 108, 108, 111, 99, 95, 105, 110, - 102, 111, 0, 105, 114, 113, 95, 97, 108, 108, 111, 99, 95, 105, 110, 102, 111, 0, 109, 115, - 105, 95, 97, 108, 108, 111, 99, 95, 105, 110, 102, 111, 95, 116, 0, 119, 114, 105, 116, 101, - 95, 109, 115, 103, 0, 105, 114, 113, 95, 119, 114, 105, 116, 101, 95, 109, 115, 105, 95, 109, - 115, 103, 95, 116, 0, 112, 108, 97, 116, 102, 111, 114, 109, 95, 109, 115, 105, 95, 112, 114, - 105, 118, 95, 100, 97, 116, 97, 0, 109, 115, 105, 95, 105, 110, 100, 101, 120, 0, 112, 108, 97, - 116, 102, 111, 114, 109, 95, 109, 115, 105, 95, 100, 101, 115, 99, 0, 102, 115, 108, 95, 109, - 99, 0, 102, 115, 108, 95, 109, 99, 95, 109, 115, 105, 95, 100, 101, 115, 99, 0, 105, 110, 116, - 97, 0, 100, 101, 118, 95, 105, 110, 100, 101, 120, 0, 116, 105, 95, 115, 99, 105, 95, 105, 110, - 116, 97, 95, 109, 115, 105, 95, 100, 101, 115, 99, 0, 101, 102, 102, 101, 99, 116, 105, 118, - 101, 95, 97, 102, 102, 105, 110, 105, 116, 121, 0, 105, 114, 113, 95, 99, 111, 109, 109, 111, - 110, 95, 100, 97, 116, 97, 0, 99, 104, 105, 112, 0, 112, 97, 114, 101, 110, 116, 95, 100, 101, - 118, 105, 99, 101, 0, 105, 114, 113, 95, 115, 116, 97, 114, 116, 117, 112, 0, 105, 114, 113, - 95, 115, 104, 117, 116, 100, 111, 119, 110, 0, 105, 114, 113, 95, 101, 110, 97, 98, 108, 101, - 0, 105, 114, 113, 95, 100, 105, 115, 97, 98, 108, 101, 0, 105, 114, 113, 95, 97, 99, 107, 0, - 105, 114, 113, 95, 109, 97, 115, 107, 0, 105, 114, 113, 95, 109, 97, 115, 107, 95, 97, 99, 107, - 0, 105, 114, 113, 95, 117, 110, 109, 97, 115, 107, 0, 105, 114, 113, 95, 101, 111, 105, 0, 105, - 114, 113, 95, 115, 101, 116, 95, 97, 102, 102, 105, 110, 105, 116, 121, 0, 105, 114, 113, 95, - 114, 101, 116, 114, 105, 103, 103, 101, 114, 0, 105, 114, 113, 95, 115, 101, 116, 95, 116, 121, - 112, 101, 0, 105, 114, 113, 95, 115, 101, 116, 95, 119, 97, 107, 101, 0, 105, 114, 113, 95, 98, - 117, 115, 95, 108, 111, 99, 107, 0, 105, 114, 113, 95, 98, 117, 115, 95, 115, 121, 110, 99, 95, - 117, 110, 108, 111, 99, 107, 0, 105, 114, 113, 95, 99, 112, 117, 95, 111, 110, 108, 105, 110, - 101, 0, 105, 114, 113, 95, 99, 112, 117, 95, 111, 102, 102, 108, 105, 110, 101, 0, 105, 114, - 113, 95, 115, 117, 115, 112, 101, 110, 100, 0, 105, 114, 113, 95, 114, 101, 115, 117, 109, 101, - 0, 105, 114, 113, 95, 112, 109, 95, 115, 104, 117, 116, 100, 111, 119, 110, 0, 105, 114, 113, - 95, 99, 97, 108, 99, 95, 109, 97, 115, 107, 0, 105, 114, 113, 95, 112, 114, 105, 110, 116, 95, - 99, 104, 105, 112, 0, 105, 114, 113, 95, 114, 101, 113, 117, 101, 115, 116, 95, 114, 101, 115, - 111, 117, 114, 99, 101, 115, 0, 105, 114, 113, 95, 114, 101, 108, 101, 97, 115, 101, 95, 114, - 101, 115, 111, 117, 114, 99, 101, 115, 0, 105, 114, 113, 95, 99, 111, 109, 112, 111, 115, 101, - 95, 109, 115, 105, 95, 109, 115, 103, 0, 105, 114, 113, 95, 119, 114, 105, 116, 101, 95, 109, - 115, 105, 95, 109, 115, 103, 0, 105, 114, 113, 95, 103, 101, 116, 95, 105, 114, 113, 99, 104, - 105, 112, 95, 115, 116, 97, 116, 101, 0, 105, 114, 113, 95, 115, 101, 116, 95, 105, 114, 113, - 99, 104, 105, 112, 95, 115, 116, 97, 116, 101, 0, 105, 114, 113, 95, 115, 101, 116, 95, 118, - 99, 112, 117, 95, 97, 102, 102, 105, 110, 105, 116, 121, 0, 105, 112, 105, 95, 115, 101, 110, - 100, 95, 115, 105, 110, 103, 108, 101, 0, 105, 112, 105, 95, 115, 101, 110, 100, 95, 109, 97, - 115, 107, 0, 105, 114, 113, 95, 110, 109, 105, 95, 115, 101, 116, 117, 112, 0, 105, 114, 113, - 95, 110, 109, 105, 95, 116, 101, 97, 114, 100, 111, 119, 110, 0, 105, 114, 113, 95, 99, 104, - 105, 112, 0, 112, 97, 114, 101, 110, 116, 95, 100, 97, 116, 97, 0, 99, 104, 105, 112, 95, 100, - 97, 116, 97, 0, 105, 114, 113, 95, 100, 97, 116, 97, 0, 100, 101, 97, 99, 116, 105, 118, 97, - 116, 101, 0, 116, 114, 97, 110, 115, 108, 97, 116, 101, 0, 105, 114, 113, 95, 100, 111, 109, - 97, 105, 110, 95, 111, 112, 115, 0, 109, 97, 112, 99, 111, 117, 110, 116, 0, 98, 117, 115, 95, - 116, 111, 107, 101, 110, 0, 103, 99, 0, 105, 114, 113, 115, 95, 112, 101, 114, 95, 99, 104, - 105, 112, 0, 110, 117, 109, 95, 99, 104, 105, 112, 115, 0, 105, 114, 113, 95, 102, 108, 97, - 103, 115, 95, 116, 111, 95, 99, 108, 101, 97, 114, 0, 105, 114, 113, 95, 102, 108, 97, 103, - 115, 95, 116, 111, 95, 115, 101, 116, 0, 103, 99, 95, 102, 108, 97, 103, 115, 0, 114, 101, 103, - 95, 98, 97, 115, 101, 0, 114, 101, 103, 95, 114, 101, 97, 100, 108, 0, 114, 101, 103, 95, 119, - 114, 105, 116, 101, 108, 0, 105, 114, 113, 95, 98, 97, 115, 101, 0, 105, 114, 113, 95, 99, 110, - 116, 0, 109, 97, 115, 107, 95, 99, 97, 99, 104, 101, 0, 116, 121, 112, 101, 95, 99, 97, 99, - 104, 101, 0, 112, 111, 108, 97, 114, 105, 116, 121, 95, 99, 97, 99, 104, 101, 0, 119, 97, 107, - 101, 95, 101, 110, 97, 98, 108, 101, 100, 0, 119, 97, 107, 101, 95, 97, 99, 116, 105, 118, 101, - 0, 110, 117, 109, 95, 99, 116, 0, 105, 110, 115, 116, 97, 108, 108, 101, 100, 0, 117, 110, 117, - 115, 101, 100, 0, 99, 104, 105, 112, 95, 116, 121, 112, 101, 115, 0, 114, 101, 103, 115, 0, - 101, 110, 97, 98, 108, 101, 0, 100, 105, 115, 97, 98, 108, 101, 0, 97, 99, 107, 0, 101, 111, - 105, 0, 112, 111, 108, 97, 114, 105, 116, 121, 0, 105, 114, 113, 95, 99, 104, 105, 112, 95, - 114, 101, 103, 115, 0, 107, 115, 116, 97, 116, 95, 105, 114, 113, 115, 0, 104, 97, 110, 100, - 108, 101, 95, 105, 114, 113, 0, 97, 99, 116, 105, 111, 110, 0, 105, 114, 113, 114, 101, 116, - 117, 114, 110, 95, 116, 0, 105, 114, 113, 95, 104, 97, 110, 100, 108, 101, 114, 95, 116, 0, - 100, 101, 118, 95, 105, 100, 0, 112, 101, 114, 99, 112, 117, 95, 100, 101, 118, 95, 105, 100, - 0, 116, 104, 114, 101, 97, 100, 95, 102, 110, 0, 116, 104, 114, 101, 97, 100, 0, 116, 104, 114, - 101, 97, 100, 95, 102, 108, 97, 103, 115, 0, 116, 104, 114, 101, 97, 100, 95, 109, 97, 115, - 107, 0, 105, 110, 95, 117, 115, 101, 0, 112, 100, 101, 95, 111, 112, 101, 110, 101, 114, 115, - 0, 112, 100, 101, 95, 117, 110, 108, 111, 97, 100, 95, 108, 111, 99, 107, 0, 112, 100, 101, 95, - 117, 110, 108, 111, 97, 100, 95, 99, 111, 109, 112, 108, 101, 116, 105, 111, 110, 0, 112, 114, - 111, 99, 95, 105, 111, 112, 115, 0, 112, 114, 111, 99, 95, 111, 112, 115, 0, 112, 114, 111, 99, - 95, 102, 108, 97, 103, 115, 0, 112, 114, 111, 99, 95, 111, 112, 101, 110, 0, 112, 114, 111, 99, - 95, 114, 101, 97, 100, 0, 112, 114, 111, 99, 95, 114, 101, 97, 100, 95, 105, 116, 101, 114, 0, - 107, 105, 95, 102, 105, 108, 112, 0, 107, 105, 95, 112, 111, 115, 0, 107, 105, 95, 99, 111, - 109, 112, 108, 101, 116, 101, 0, 107, 105, 95, 102, 108, 97, 103, 115, 0, 107, 105, 95, 104, - 105, 110, 116, 0, 107, 105, 95, 105, 111, 112, 114, 105, 111, 0, 107, 105, 95, 99, 111, 111, - 107, 105, 101, 0, 107, 105, 95, 119, 97, 105, 116, 113, 0, 98, 105, 116, 95, 110, 114, 0, 119, - 97, 105, 116, 95, 113, 117, 101, 117, 101, 95, 102, 117, 110, 99, 95, 116, 0, 119, 97, 105, - 116, 95, 113, 117, 101, 117, 101, 95, 101, 110, 116, 114, 121, 0, 119, 97, 105, 116, 95, 113, - 117, 101, 117, 101, 95, 101, 110, 116, 114, 121, 95, 116, 0, 119, 97, 105, 116, 95, 112, 97, - 103, 101, 95, 113, 117, 101, 117, 101, 0, 107, 105, 111, 99, 98, 0, 112, 114, 111, 99, 95, 119, - 114, 105, 116, 101, 0, 112, 114, 111, 99, 95, 108, 115, 101, 101, 107, 0, 112, 114, 111, 99, - 95, 114, 101, 108, 101, 97, 115, 101, 0, 112, 114, 111, 99, 95, 112, 111, 108, 108, 0, 112, - 114, 111, 99, 95, 105, 111, 99, 116, 108, 0, 112, 114, 111, 99, 95, 99, 111, 109, 112, 97, 116, - 95, 105, 111, 99, 116, 108, 0, 112, 114, 111, 99, 95, 109, 109, 97, 112, 0, 112, 114, 111, 99, - 95, 103, 101, 116, 95, 117, 110, 109, 97, 112, 112, 101, 100, 95, 97, 114, 101, 97, 0, 112, - 114, 111, 99, 95, 100, 105, 114, 95, 111, 112, 115, 0, 112, 114, 111, 99, 95, 100, 111, 112, - 115, 0, 115, 101, 113, 95, 111, 112, 115, 0, 115, 105, 110, 103, 108, 101, 95, 115, 104, 111, - 119, 0, 112, 114, 111, 99, 95, 119, 114, 105, 116, 101, 95, 116, 0, 115, 116, 97, 116, 101, 95, - 115, 105, 122, 101, 0, 108, 111, 119, 95, 105, 110, 111, 0, 110, 108, 105, 110, 107, 0, 110, - 108, 105, 110, 107, 95, 116, 0, 115, 117, 98, 100, 105, 114, 0, 115, 117, 98, 100, 105, 114, - 95, 110, 111, 100, 101, 0, 110, 97, 109, 101, 108, 101, 110, 0, 105, 110, 108, 105, 110, 101, - 95, 110, 97, 109, 101, 0, 112, 114, 111, 99, 95, 100, 105, 114, 95, 101, 110, 116, 114, 121, 0, - 105, 114, 113, 97, 99, 116, 105, 111, 110, 0, 115, 116, 97, 116, 117, 115, 95, 117, 115, 101, - 95, 97, 99, 99, 101, 115, 115, 111, 114, 115, 0, 99, 111, 114, 101, 95, 105, 110, 116, 101, - 114, 110, 97, 108, 95, 115, 116, 97, 116, 101, 95, 95, 100, 111, 95, 110, 111, 116, 95, 109, - 101, 115, 115, 95, 119, 105, 116, 104, 95, 105, 116, 0, 119, 97, 107, 101, 95, 100, 101, 112, - 116, 104, 0, 116, 111, 116, 95, 99, 111, 117, 110, 116, 0, 105, 114, 113, 95, 99, 111, 117, - 110, 116, 0, 108, 97, 115, 116, 95, 117, 110, 104, 97, 110, 100, 108, 101, 100, 0, 105, 114, - 113, 115, 95, 117, 110, 104, 97, 110, 100, 108, 101, 100, 0, 116, 104, 114, 101, 97, 100, 115, - 95, 104, 97, 110, 100, 108, 101, 100, 0, 116, 104, 114, 101, 97, 100, 115, 95, 104, 97, 110, - 100, 108, 101, 100, 95, 108, 97, 115, 116, 0, 112, 101, 114, 99, 112, 117, 95, 101, 110, 97, - 98, 108, 101, 100, 0, 112, 101, 114, 99, 112, 117, 95, 97, 102, 102, 105, 110, 105, 116, 121, - 0, 97, 102, 102, 105, 110, 105, 116, 121, 95, 104, 105, 110, 116, 0, 97, 102, 102, 105, 110, - 105, 116, 121, 95, 110, 111, 116, 105, 102, 121, 0, 110, 111, 116, 105, 102, 121, 0, 99, 112, - 117, 109, 97, 115, 107, 95, 116, 0, 105, 114, 113, 95, 97, 102, 102, 105, 110, 105, 116, 121, - 95, 110, 111, 116, 105, 102, 121, 0, 112, 101, 110, 100, 105, 110, 103, 95, 109, 97, 115, 107, - 0, 116, 104, 114, 101, 97, 100, 115, 95, 111, 110, 101, 115, 104, 111, 116, 0, 116, 104, 114, - 101, 97, 100, 115, 95, 97, 99, 116, 105, 118, 101, 0, 119, 97, 105, 116, 95, 102, 111, 114, 95, - 116, 104, 114, 101, 97, 100, 115, 0, 110, 114, 95, 97, 99, 116, 105, 111, 110, 115, 0, 110, - 111, 95, 115, 117, 115, 112, 101, 110, 100, 95, 100, 101, 112, 116, 104, 0, 99, 111, 110, 100, - 95, 115, 117, 115, 112, 101, 110, 100, 95, 100, 101, 112, 116, 104, 0, 102, 111, 114, 99, 101, - 95, 114, 101, 115, 117, 109, 101, 95, 100, 101, 112, 116, 104, 0, 114, 101, 113, 117, 101, 115, - 116, 95, 109, 117, 116, 101, 120, 0, 112, 97, 114, 101, 110, 116, 95, 105, 114, 113, 0, 105, - 114, 113, 95, 100, 101, 115, 99, 0, 105, 114, 113, 95, 102, 108, 111, 119, 95, 104, 97, 110, - 100, 108, 101, 114, 95, 116, 0, 109, 97, 115, 107, 95, 99, 97, 99, 104, 101, 95, 112, 114, 105, - 118, 0, 105, 114, 113, 95, 99, 104, 105, 112, 95, 116, 121, 112, 101, 0, 105, 114, 113, 95, 99, - 104, 105, 112, 95, 103, 101, 110, 101, 114, 105, 99, 0, 105, 114, 113, 95, 100, 111, 109, 97, - 105, 110, 95, 99, 104, 105, 112, 95, 103, 101, 110, 101, 114, 105, 99, 0, 104, 119, 105, 114, - 113, 95, 109, 97, 120, 0, 114, 101, 118, 109, 97, 112, 95, 115, 105, 122, 101, 0, 114, 101, - 118, 109, 97, 112, 95, 116, 114, 101, 101, 0, 114, 101, 118, 109, 97, 112, 95, 109, 117, 116, - 101, 120, 0, 114, 101, 118, 109, 97, 112, 0, 105, 114, 113, 95, 100, 111, 109, 97, 105, 110, 0, - 112, 105, 110, 115, 0, 115, 116, 97, 116, 101, 115, 0, 115, 101, 116, 116, 105, 110, 103, 115, - 0, 112, 105, 110, 99, 116, 114, 108, 95, 115, 116, 97, 116, 101, 0, 100, 116, 95, 109, 97, 112, - 115, 0, 117, 115, 101, 114, 115, 0, 112, 105, 110, 99, 116, 114, 108, 0, 100, 101, 102, 97, - 117, 108, 116, 95, 115, 116, 97, 116, 101, 0, 105, 110, 105, 116, 95, 115, 116, 97, 116, 101, - 0, 115, 108, 101, 101, 112, 95, 115, 116, 97, 116, 101, 0, 105, 100, 108, 101, 95, 115, 116, - 97, 116, 101, 0, 100, 101, 118, 95, 112, 105, 110, 95, 105, 110, 102, 111, 0, 109, 115, 105, - 95, 108, 111, 99, 107, 0, 109, 115, 105, 95, 108, 105, 115, 116, 0, 100, 109, 97, 95, 111, 112, - 115, 0, 97, 108, 108, 111, 99, 95, 112, 97, 103, 101, 115, 0, 102, 114, 101, 101, 95, 112, 97, - 103, 101, 115, 0, 97, 108, 108, 111, 99, 95, 110, 111, 110, 99, 111, 110, 116, 105, 103, 117, - 111, 117, 115, 0, 115, 103, 108, 0, 112, 97, 103, 101, 95, 108, 105, 110, 107, 0, 100, 109, 97, - 95, 97, 100, 100, 114, 101, 115, 115, 0, 100, 109, 97, 95, 108, 101, 110, 103, 116, 104, 0, - 115, 99, 97, 116, 116, 101, 114, 108, 105, 115, 116, 0, 110, 101, 110, 116, 115, 0, 111, 114, - 105, 103, 95, 110, 101, 110, 116, 115, 0, 115, 103, 95, 116, 97, 98, 108, 101, 0, 102, 114, - 101, 101, 95, 110, 111, 110, 99, 111, 110, 116, 105, 103, 117, 111, 117, 115, 0, 103, 101, 116, - 95, 115, 103, 116, 97, 98, 108, 101, 0, 109, 97, 112, 95, 112, 97, 103, 101, 0, 117, 110, 109, - 97, 112, 95, 112, 97, 103, 101, 0, 109, 97, 112, 95, 115, 103, 0, 117, 110, 109, 97, 112, 95, - 115, 103, 0, 109, 97, 112, 95, 114, 101, 115, 111, 117, 114, 99, 101, 0, 117, 110, 109, 97, - 112, 95, 114, 101, 115, 111, 117, 114, 99, 101, 0, 115, 121, 110, 99, 95, 115, 105, 110, 103, - 108, 101, 95, 102, 111, 114, 95, 99, 112, 117, 0, 115, 121, 110, 99, 95, 115, 105, 110, 103, - 108, 101, 95, 102, 111, 114, 95, 100, 101, 118, 105, 99, 101, 0, 115, 121, 110, 99, 95, 115, - 103, 95, 102, 111, 114, 95, 99, 112, 117, 0, 115, 121, 110, 99, 95, 115, 103, 95, 102, 111, - 114, 95, 100, 101, 118, 105, 99, 101, 0, 99, 97, 99, 104, 101, 95, 115, 121, 110, 99, 0, 100, - 109, 97, 95, 115, 117, 112, 112, 111, 114, 116, 101, 100, 0, 103, 101, 116, 95, 114, 101, 113, - 117, 105, 114, 101, 100, 95, 109, 97, 115, 107, 0, 109, 97, 120, 95, 109, 97, 112, 112, 105, - 110, 103, 95, 115, 105, 122, 101, 0, 103, 101, 116, 95, 109, 101, 114, 103, 101, 95, 98, 111, - 117, 110, 100, 97, 114, 121, 0, 100, 109, 97, 95, 109, 97, 112, 95, 111, 112, 115, 0, 100, 109, - 97, 95, 109, 97, 115, 107, 0, 99, 111, 104, 101, 114, 101, 110, 116, 95, 100, 109, 97, 95, 109, - 97, 115, 107, 0, 98, 117, 115, 95, 100, 109, 97, 95, 108, 105, 109, 105, 116, 0, 100, 109, 97, - 95, 114, 97, 110, 103, 101, 95, 109, 97, 112, 0, 99, 112, 117, 95, 115, 116, 97, 114, 116, 0, - 100, 109, 97, 95, 115, 116, 97, 114, 116, 0, 98, 117, 115, 95, 100, 109, 97, 95, 114, 101, 103, - 105, 111, 110, 0, 100, 109, 97, 95, 112, 97, 114, 109, 115, 0, 109, 97, 120, 95, 115, 101, 103, - 109, 101, 110, 116, 95, 115, 105, 122, 101, 0, 109, 105, 110, 95, 97, 108, 105, 103, 110, 95, - 109, 97, 115, 107, 0, 115, 101, 103, 109, 101, 110, 116, 95, 98, 111, 117, 110, 100, 97, 114, - 121, 95, 109, 97, 115, 107, 0, 100, 101, 118, 105, 99, 101, 95, 100, 109, 97, 95, 112, 97, 114, - 97, 109, 101, 116, 101, 114, 115, 0, 100, 109, 97, 95, 112, 111, 111, 108, 115, 0, 99, 109, 97, - 95, 97, 114, 101, 97, 0, 98, 97, 115, 101, 95, 112, 102, 110, 0, 98, 105, 116, 109, 97, 112, 0, - 111, 114, 100, 101, 114, 95, 112, 101, 114, 95, 98, 105, 116, 0, 109, 101, 109, 95, 104, 101, - 97, 100, 0, 109, 101, 109, 95, 104, 101, 97, 100, 95, 108, 111, 99, 107, 0, 100, 102, 115, 95, - 98, 105, 116, 109, 97, 112, 0, 97, 114, 114, 97, 121, 0, 110, 95, 101, 108, 101, 109, 101, 110, - 116, 115, 0, 100, 101, 98, 117, 103, 102, 115, 95, 117, 51, 50, 95, 97, 114, 114, 97, 121, 0, - 110, 114, 95, 112, 97, 103, 101, 115, 95, 115, 117, 99, 99, 101, 101, 100, 101, 100, 0, 110, - 114, 95, 112, 97, 103, 101, 115, 95, 102, 97, 105, 108, 101, 100, 0, 99, 109, 97, 95, 107, 111, - 98, 106, 0, 99, 109, 97, 0, 99, 109, 97, 95, 107, 111, 98, 106, 101, 99, 116, 0, 100, 109, 97, - 95, 105, 111, 95, 116, 108, 98, 95, 109, 101, 109, 0, 110, 115, 108, 97, 98, 115, 0, 117, 115, - 101, 100, 0, 100, 101, 98, 117, 103, 102, 115, 0, 108, 97, 116, 101, 95, 97, 108, 108, 111, 99, - 0, 102, 111, 114, 99, 101, 95, 98, 111, 117, 110, 99, 101, 0, 102, 111, 114, 95, 97, 108, 108, - 111, 99, 0, 115, 108, 111, 116, 115, 0, 111, 114, 105, 103, 95, 97, 100, 100, 114, 0, 97, 108, - 108, 111, 99, 95, 115, 105, 122, 101, 0, 105, 111, 95, 116, 108, 98, 95, 115, 108, 111, 116, 0, - 105, 111, 95, 116, 108, 98, 95, 109, 101, 109, 0, 97, 114, 99, 104, 100, 97, 116, 97, 0, 100, - 101, 118, 95, 97, 114, 99, 104, 100, 97, 116, 97, 0, 111, 102, 95, 110, 111, 100, 101, 0, 110, - 117, 109, 97, 95, 110, 111, 100, 101, 0, 100, 101, 118, 116, 0, 100, 101, 118, 114, 101, 115, - 95, 108, 111, 99, 107, 0, 100, 101, 118, 114, 101, 115, 95, 104, 101, 97, 100, 0, 105, 111, - 109, 109, 117, 0, 102, 97, 117, 108, 116, 95, 112, 97, 114, 97, 109, 0, 105, 111, 109, 109, - 117, 95, 100, 101, 118, 95, 102, 97, 117, 108, 116, 95, 104, 97, 110, 100, 108, 101, 114, 95, - 116, 0, 102, 97, 117, 108, 116, 115, 0, 105, 111, 109, 109, 117, 95, 102, 97, 117, 108, 116, - 95, 112, 97, 114, 97, 109, 0, 105, 111, 112, 102, 95, 112, 97, 114, 97, 109, 0, 105, 111, 112, - 102, 95, 113, 117, 101, 117, 101, 95, 95, 95, 50, 0, 113, 117, 101, 117, 101, 95, 108, 105, - 115, 116, 0, 112, 97, 114, 116, 105, 97, 108, 0, 105, 111, 112, 102, 95, 100, 101, 118, 105, - 99, 101, 95, 112, 97, 114, 97, 109, 0, 102, 119, 115, 112, 101, 99, 0, 105, 111, 109, 109, 117, - 95, 102, 119, 110, 111, 100, 101, 0, 110, 117, 109, 95, 105, 100, 115, 0, 105, 100, 115, 0, - 105, 111, 109, 109, 117, 95, 102, 119, 115, 112, 101, 99, 0, 105, 111, 109, 109, 117, 95, 100, - 101, 118, 0, 100, 101, 118, 95, 105, 111, 109, 109, 117, 0, 114, 101, 109, 111, 118, 97, 98, - 108, 101, 0, 111, 102, 102, 108, 105, 110, 101, 95, 100, 105, 115, 97, 98, 108, 101, 100, 0, - 111, 102, 95, 110, 111, 100, 101, 95, 114, 101, 117, 115, 101, 100, 0, 115, 116, 97, 116, 101, - 95, 115, 121, 110, 99, 101, 100, 0, 99, 97, 110, 95, 109, 97, 116, 99, 104, 0, 119, 113, 95, - 100, 101, 118, 105, 99, 101, 0, 99, 112, 117, 95, 112, 119, 113, 115, 0, 110, 117, 109, 97, 95, - 112, 119, 113, 95, 116, 98, 108, 0, 119, 111, 114, 107, 113, 117, 101, 117, 101, 95, 115, 116, - 114, 117, 99, 116, 0, 100, 101, 108, 97, 121, 101, 100, 95, 119, 111, 114, 107, 0, 116, 111, - 116, 97, 108, 0, 112, 111, 108, 108, 95, 116, 97, 115, 107, 0, 112, 111, 108, 108, 95, 116, - 105, 109, 101, 114, 0, 112, 111, 108, 108, 95, 119, 97, 105, 116, 0, 112, 111, 108, 108, 95, - 119, 97, 107, 101, 117, 112, 0, 116, 114, 105, 103, 103, 101, 114, 95, 108, 111, 99, 107, 0, - 116, 114, 105, 103, 103, 101, 114, 115, 0, 110, 114, 95, 116, 114, 105, 103, 103, 101, 114, - 115, 0, 112, 111, 108, 108, 95, 115, 116, 97, 116, 101, 115, 0, 112, 111, 108, 108, 95, 109, - 105, 110, 95, 112, 101, 114, 105, 111, 100, 0, 112, 111, 108, 108, 105, 110, 103, 95, 116, 111, - 116, 97, 108, 0, 112, 111, 108, 108, 105, 110, 103, 95, 110, 101, 120, 116, 95, 117, 112, 100, - 97, 116, 101, 0, 112, 111, 108, 108, 105, 110, 103, 95, 117, 110, 116, 105, 108, 0, 112, 115, - 105, 95, 103, 114, 111, 117, 112, 0, 98, 112, 102, 0, 105, 116, 101, 109, 115, 0, 112, 114, - 111, 103, 0, 106, 105, 116, 101, 100, 0, 106, 105, 116, 95, 114, 101, 113, 117, 101, 115, 116, - 101, 100, 0, 103, 112, 108, 95, 99, 111, 109, 112, 97, 116, 105, 98, 108, 101, 0, 99, 98, 95, - 97, 99, 99, 101, 115, 115, 0, 100, 115, 116, 95, 110, 101, 101, 100, 101, 100, 0, 98, 108, 105, - 110, 100, 101, 100, 0, 105, 115, 95, 102, 117, 110, 99, 0, 107, 112, 114, 111, 98, 101, 95, - 111, 118, 101, 114, 114, 105, 100, 101, 0, 104, 97, 115, 95, 99, 97, 108, 108, 99, 104, 97, - 105, 110, 95, 98, 117, 102, 0, 101, 110, 102, 111, 114, 99, 101, 95, 101, 120, 112, 101, 99, - 116, 101, 100, 95, 97, 116, 116, 97, 99, 104, 95, 116, 121, 112, 101, 0, 99, 97, 108, 108, 95, - 103, 101, 116, 95, 115, 116, 97, 99, 107, 0, 99, 97, 108, 108, 95, 103, 101, 116, 95, 102, 117, - 110, 99, 95, 105, 112, 0, 101, 120, 112, 101, 99, 116, 101, 100, 95, 97, 116, 116, 97, 99, 104, - 95, 116, 121, 112, 101, 0, 106, 105, 116, 101, 100, 95, 108, 101, 110, 0, 116, 97, 103, 0, 115, - 116, 97, 116, 115, 0, 99, 110, 116, 0, 110, 115, 101, 99, 115, 0, 109, 105, 115, 115, 101, 115, - 0, 115, 121, 110, 99, 112, 0, 98, 112, 102, 95, 112, 114, 111, 103, 95, 115, 116, 97, 116, 115, - 0, 98, 112, 102, 95, 102, 117, 110, 99, 0, 100, 115, 116, 95, 114, 101, 103, 0, 115, 114, 99, - 95, 114, 101, 103, 0, 111, 102, 102, 0, 95, 95, 115, 49, 54, 0, 105, 109, 109, 0, 98, 112, 102, - 95, 105, 110, 115, 110, 0, 97, 117, 120, 0, 117, 115, 101, 100, 95, 109, 97, 112, 95, 99, 110, - 116, 0, 117, 115, 101, 100, 95, 98, 116, 102, 95, 99, 110, 116, 0, 109, 97, 120, 95, 99, 116, - 120, 95, 111, 102, 102, 115, 101, 116, 0, 109, 97, 120, 95, 112, 107, 116, 95, 111, 102, 102, - 115, 101, 116, 0, 109, 97, 120, 95, 116, 112, 95, 97, 99, 99, 101, 115, 115, 0, 115, 116, 97, - 99, 107, 95, 100, 101, 112, 116, 104, 0, 102, 117, 110, 99, 95, 99, 110, 116, 0, 102, 117, 110, - 99, 95, 105, 100, 120, 0, 97, 116, 116, 97, 99, 104, 95, 98, 116, 102, 95, 105, 100, 0, 99, - 116, 120, 95, 97, 114, 103, 95, 105, 110, 102, 111, 95, 115, 105, 122, 101, 0, 109, 97, 120, - 95, 114, 100, 111, 110, 108, 121, 95, 97, 99, 99, 101, 115, 115, 0, 109, 97, 120, 95, 114, 100, - 119, 114, 95, 97, 99, 99, 101, 115, 115, 0, 97, 116, 116, 97, 99, 104, 95, 98, 116, 102, 0, - 116, 121, 112, 101, 115, 0, 110, 97, 109, 101, 95, 111, 102, 102, 0, 98, 116, 102, 95, 116, - 121, 112, 101, 0, 114, 101, 115, 111, 108, 118, 101, 100, 95, 105, 100, 115, 0, 114, 101, 115, - 111, 108, 118, 101, 100, 95, 115, 105, 122, 101, 115, 0, 115, 116, 114, 105, 110, 103, 115, 0, - 110, 111, 104, 100, 114, 95, 100, 97, 116, 97, 0, 104, 100, 114, 0, 104, 100, 114, 95, 108, - 101, 110, 0, 116, 121, 112, 101, 95, 111, 102, 102, 0, 116, 121, 112, 101, 95, 108, 101, 110, - 0, 115, 116, 114, 95, 111, 102, 102, 0, 115, 116, 114, 95, 108, 101, 110, 0, 98, 116, 102, 95, - 104, 101, 97, 100, 101, 114, 0, 110, 114, 95, 116, 121, 112, 101, 115, 0, 116, 121, 112, 101, - 115, 95, 115, 105, 122, 101, 0, 100, 97, 116, 97, 95, 115, 105, 122, 101, 0, 98, 97, 115, 101, - 95, 98, 116, 102, 0, 115, 116, 97, 114, 116, 95, 105, 100, 0, 115, 116, 97, 114, 116, 95, 115, - 116, 114, 95, 111, 102, 102, 0, 107, 101, 114, 110, 101, 108, 95, 98, 116, 102, 0, 98, 116, - 102, 0, 99, 116, 120, 95, 97, 114, 103, 95, 105, 110, 102, 111, 0, 114, 101, 103, 95, 116, 121, - 112, 101, 0, 98, 116, 102, 95, 105, 100, 0, 98, 112, 102, 95, 99, 116, 120, 95, 97, 114, 103, - 95, 97, 117, 120, 0, 100, 115, 116, 95, 109, 117, 116, 101, 120, 0, 100, 115, 116, 95, 112, - 114, 111, 103, 0, 100, 115, 116, 95, 116, 114, 97, 109, 112, 111, 108, 105, 110, 101, 0, 109, - 111, 100, 101, 108, 0, 114, 101, 116, 95, 115, 105, 122, 101, 0, 110, 114, 95, 97, 114, 103, - 115, 0, 97, 114, 103, 95, 115, 105, 122, 101, 0, 98, 116, 102, 95, 102, 117, 110, 99, 95, 109, - 111, 100, 101, 108, 0, 102, 116, 114, 97, 99, 101, 95, 109, 97, 110, 97, 103, 101, 100, 0, 101, - 120, 116, 101, 110, 115, 105, 111, 110, 95, 112, 114, 111, 103, 0, 112, 114, 111, 103, 115, 95, - 104, 108, 105, 115, 116, 0, 112, 114, 111, 103, 115, 95, 99, 110, 116, 0, 99, 117, 114, 95, - 105, 109, 97, 103, 101, 0, 105, 109, 97, 103, 101, 0, 107, 115, 121, 109, 0, 108, 110, 111, - 100, 101, 0, 116, 110, 111, 100, 101, 0, 108, 97, 116, 99, 104, 95, 116, 114, 101, 101, 95, - 110, 111, 100, 101, 0, 98, 112, 102, 95, 107, 115, 121, 109, 0, 112, 99, 114, 101, 102, 0, 112, - 101, 114, 99, 112, 117, 95, 99, 111, 117, 110, 116, 95, 112, 116, 114, 0, 112, 101, 114, 99, - 112, 117, 95, 114, 101, 102, 95, 102, 117, 110, 99, 95, 116, 0, 99, 111, 110, 102, 105, 114, - 109, 95, 115, 119, 105, 116, 99, 104, 0, 102, 111, 114, 99, 101, 95, 97, 116, 111, 109, 105, - 99, 0, 97, 108, 108, 111, 119, 95, 114, 101, 105, 110, 105, 116, 0, 114, 101, 102, 0, 112, 101, - 114, 99, 112, 117, 95, 114, 101, 102, 95, 100, 97, 116, 97, 0, 112, 101, 114, 99, 112, 117, 95, - 114, 101, 102, 0, 105, 112, 95, 97, 102, 116, 101, 114, 95, 99, 97, 108, 108, 0, 105, 112, 95, - 101, 112, 105, 108, 111, 103, 117, 101, 0, 98, 112, 102, 95, 116, 114, 97, 109, 112, 95, 105, - 109, 97, 103, 101, 0, 115, 101, 108, 101, 99, 116, 111, 114, 0, 109, 111, 100, 0, 98, 112, 102, - 95, 116, 114, 97, 109, 112, 111, 108, 105, 110, 101, 0, 115, 97, 118, 101, 100, 95, 100, 115, - 116, 95, 112, 114, 111, 103, 95, 116, 121, 112, 101, 0, 115, 97, 118, 101, 100, 95, 100, 115, - 116, 95, 97, 116, 116, 97, 99, 104, 95, 116, 121, 112, 101, 0, 118, 101, 114, 105, 102, 105, - 101, 114, 95, 122, 101, 120, 116, 0, 111, 102, 102, 108, 111, 97, 100, 95, 114, 101, 113, 117, - 101, 115, 116, 101, 100, 0, 97, 116, 116, 97, 99, 104, 95, 98, 116, 102, 95, 116, 114, 97, 99, - 101, 0, 102, 117, 110, 99, 95, 112, 114, 111, 116, 111, 95, 117, 110, 114, 101, 108, 105, 97, - 98, 108, 101, 0, 115, 108, 101, 101, 112, 97, 98, 108, 101, 0, 116, 97, 105, 108, 95, 99, 97, - 108, 108, 95, 114, 101, 97, 99, 104, 97, 98, 108, 101, 0, 116, 114, 97, 109, 112, 95, 104, 108, - 105, 115, 116, 0, 97, 116, 116, 97, 99, 104, 95, 102, 117, 110, 99, 95, 112, 114, 111, 116, - 111, 0, 97, 116, 116, 97, 99, 104, 95, 102, 117, 110, 99, 95, 110, 97, 109, 101, 0, 106, 105, - 116, 95, 100, 97, 116, 97, 0, 112, 111, 107, 101, 95, 116, 97, 98, 0, 116, 97, 105, 108, 99, - 97, 108, 108, 95, 116, 97, 114, 103, 101, 116, 0, 116, 97, 105, 108, 99, 97, 108, 108, 95, 98, - 121, 112, 97, 115, 115, 0, 98, 121, 112, 97, 115, 115, 95, 97, 100, 100, 114, 0, 116, 97, 105, - 108, 95, 99, 97, 108, 108, 0, 109, 97, 112, 95, 97, 108, 108, 111, 99, 95, 99, 104, 101, 99, - 107, 0, 109, 97, 112, 95, 116, 121, 112, 101, 0, 109, 97, 120, 95, 101, 110, 116, 114, 105, - 101, 115, 0, 109, 97, 112, 95, 102, 108, 97, 103, 115, 0, 105, 110, 110, 101, 114, 95, 109, 97, - 112, 95, 102, 100, 0, 109, 97, 112, 95, 110, 97, 109, 101, 0, 109, 97, 112, 95, 105, 102, 105, - 110, 100, 101, 120, 0, 98, 116, 102, 95, 102, 100, 0, 98, 116, 102, 95, 107, 101, 121, 95, 116, - 121, 112, 101, 95, 105, 100, 0, 98, 116, 102, 95, 118, 97, 108, 117, 101, 95, 116, 121, 112, - 101, 95, 105, 100, 0, 98, 116, 102, 95, 118, 109, 108, 105, 110, 117, 120, 95, 118, 97, 108, - 117, 101, 95, 116, 121, 112, 101, 95, 105, 100, 0, 109, 97, 112, 95, 102, 100, 0, 110, 101, - 120, 116, 95, 107, 101, 121, 0, 98, 97, 116, 99, 104, 0, 105, 110, 95, 98, 97, 116, 99, 104, 0, - 111, 117, 116, 95, 98, 97, 116, 99, 104, 0, 118, 97, 108, 117, 101, 115, 0, 101, 108, 101, 109, - 95, 102, 108, 97, 103, 115, 0, 112, 114, 111, 103, 95, 116, 121, 112, 101, 0, 105, 110, 115, - 110, 95, 99, 110, 116, 0, 105, 110, 115, 110, 115, 0, 108, 105, 99, 101, 110, 115, 101, 0, 108, - 111, 103, 95, 108, 101, 118, 101, 108, 0, 108, 111, 103, 95, 115, 105, 122, 101, 0, 108, 111, - 103, 95, 98, 117, 102, 0, 107, 101, 114, 110, 95, 118, 101, 114, 115, 105, 111, 110, 0, 112, - 114, 111, 103, 95, 102, 108, 97, 103, 115, 0, 112, 114, 111, 103, 95, 110, 97, 109, 101, 0, - 112, 114, 111, 103, 95, 105, 102, 105, 110, 100, 101, 120, 0, 112, 114, 111, 103, 95, 98, 116, - 102, 95, 102, 100, 0, 102, 117, 110, 99, 95, 105, 110, 102, 111, 95, 114, 101, 99, 95, 115, - 105, 122, 101, 0, 102, 117, 110, 99, 95, 105, 110, 102, 111, 0, 102, 117, 110, 99, 95, 105, - 110, 102, 111, 95, 99, 110, 116, 0, 108, 105, 110, 101, 95, 105, 110, 102, 111, 95, 114, 101, - 99, 95, 115, 105, 122, 101, 0, 108, 105, 110, 101, 95, 105, 110, 102, 111, 0, 108, 105, 110, - 101, 95, 105, 110, 102, 111, 95, 99, 110, 116, 0, 97, 116, 116, 97, 99, 104, 95, 112, 114, 111, - 103, 95, 102, 100, 0, 97, 116, 116, 97, 99, 104, 95, 98, 116, 102, 95, 111, 98, 106, 95, 102, - 100, 0, 102, 100, 95, 97, 114, 114, 97, 121, 0, 112, 97, 116, 104, 110, 97, 109, 101, 0, 98, - 112, 102, 95, 102, 100, 0, 102, 105, 108, 101, 95, 102, 108, 97, 103, 115, 0, 116, 97, 114, - 103, 101, 116, 95, 102, 100, 0, 97, 116, 116, 97, 99, 104, 95, 98, 112, 102, 95, 102, 100, 0, - 97, 116, 116, 97, 99, 104, 95, 116, 121, 112, 101, 0, 97, 116, 116, 97, 99, 104, 95, 102, 108, - 97, 103, 115, 0, 114, 101, 112, 108, 97, 99, 101, 95, 98, 112, 102, 95, 102, 100, 0, 116, 101, - 115, 116, 0, 112, 114, 111, 103, 95, 102, 100, 0, 114, 101, 116, 118, 97, 108, 0, 100, 97, 116, - 97, 95, 115, 105, 122, 101, 95, 105, 110, 0, 100, 97, 116, 97, 95, 115, 105, 122, 101, 95, 111, - 117, 116, 0, 100, 97, 116, 97, 95, 105, 110, 0, 100, 97, 116, 97, 95, 111, 117, 116, 0, 114, - 101, 112, 101, 97, 116, 0, 100, 117, 114, 97, 116, 105, 111, 110, 0, 99, 116, 120, 95, 115, - 105, 122, 101, 95, 105, 110, 0, 99, 116, 120, 95, 115, 105, 122, 101, 95, 111, 117, 116, 0, 99, - 116, 120, 95, 105, 110, 0, 99, 116, 120, 95, 111, 117, 116, 0, 112, 114, 111, 103, 95, 105, - 100, 0, 109, 97, 112, 95, 105, 100, 0, 108, 105, 110, 107, 95, 105, 100, 0, 110, 101, 120, 116, - 95, 105, 100, 0, 111, 112, 101, 110, 95, 102, 108, 97, 103, 115, 0, 105, 110, 102, 111, 95, - 108, 101, 110, 0, 113, 117, 101, 114, 121, 0, 113, 117, 101, 114, 121, 95, 102, 108, 97, 103, - 115, 0, 112, 114, 111, 103, 95, 105, 100, 115, 0, 112, 114, 111, 103, 95, 99, 110, 116, 0, 114, - 97, 119, 95, 116, 114, 97, 99, 101, 112, 111, 105, 110, 116, 0, 98, 116, 102, 95, 108, 111, - 103, 95, 98, 117, 102, 0, 98, 116, 102, 95, 115, 105, 122, 101, 0, 98, 116, 102, 95, 108, 111, - 103, 95, 115, 105, 122, 101, 0, 98, 116, 102, 95, 108, 111, 103, 95, 108, 101, 118, 101, 108, - 0, 116, 97, 115, 107, 95, 102, 100, 95, 113, 117, 101, 114, 121, 0, 112, 105, 100, 0, 102, 100, - 0, 98, 117, 102, 95, 108, 101, 110, 0, 102, 100, 95, 116, 121, 112, 101, 0, 112, 114, 111, 98, - 101, 95, 111, 102, 102, 115, 101, 116, 0, 112, 114, 111, 98, 101, 95, 97, 100, 100, 114, 0, - 108, 105, 110, 107, 95, 99, 114, 101, 97, 116, 101, 0, 116, 97, 114, 103, 101, 116, 95, 105, - 102, 105, 110, 100, 101, 120, 0, 116, 97, 114, 103, 101, 116, 95, 98, 116, 102, 95, 105, 100, - 0, 105, 116, 101, 114, 95, 105, 110, 102, 111, 0, 105, 116, 101, 114, 95, 105, 110, 102, 111, - 95, 108, 101, 110, 0, 112, 101, 114, 102, 95, 101, 118, 101, 110, 116, 0, 98, 112, 102, 95, 99, - 111, 111, 107, 105, 101, 0, 108, 105, 110, 107, 95, 117, 112, 100, 97, 116, 101, 0, 108, 105, - 110, 107, 95, 102, 100, 0, 110, 101, 119, 95, 112, 114, 111, 103, 95, 102, 100, 0, 111, 108, - 100, 95, 112, 114, 111, 103, 95, 102, 100, 0, 108, 105, 110, 107, 95, 100, 101, 116, 97, 99, - 104, 0, 101, 110, 97, 98, 108, 101, 95, 115, 116, 97, 116, 115, 0, 105, 116, 101, 114, 95, 99, - 114, 101, 97, 116, 101, 0, 112, 114, 111, 103, 95, 98, 105, 110, 100, 95, 109, 97, 112, 0, 98, - 112, 102, 95, 97, 116, 116, 114, 0, 109, 97, 112, 95, 97, 108, 108, 111, 99, 0, 109, 97, 112, - 95, 114, 101, 108, 101, 97, 115, 101, 0, 109, 97, 112, 95, 102, 114, 101, 101, 0, 109, 97, 112, - 95, 103, 101, 116, 95, 110, 101, 120, 116, 95, 107, 101, 121, 0, 109, 97, 112, 95, 114, 101, - 108, 101, 97, 115, 101, 95, 117, 114, 101, 102, 0, 109, 97, 112, 95, 108, 111, 111, 107, 117, - 112, 95, 101, 108, 101, 109, 95, 115, 121, 115, 95, 111, 110, 108, 121, 0, 109, 97, 112, 95, - 108, 111, 111, 107, 117, 112, 95, 98, 97, 116, 99, 104, 0, 109, 97, 112, 95, 108, 111, 111, - 107, 117, 112, 95, 97, 110, 100, 95, 100, 101, 108, 101, 116, 101, 95, 101, 108, 101, 109, 0, - 109, 97, 112, 95, 108, 111, 111, 107, 117, 112, 95, 97, 110, 100, 95, 100, 101, 108, 101, 116, - 101, 95, 98, 97, 116, 99, 104, 0, 109, 97, 112, 95, 117, 112, 100, 97, 116, 101, 95, 98, 97, - 116, 99, 104, 0, 109, 97, 112, 95, 100, 101, 108, 101, 116, 101, 95, 98, 97, 116, 99, 104, 0, - 109, 97, 112, 95, 108, 111, 111, 107, 117, 112, 95, 101, 108, 101, 109, 0, 109, 97, 112, 95, - 117, 112, 100, 97, 116, 101, 95, 101, 108, 101, 109, 0, 109, 97, 112, 95, 100, 101, 108, 101, - 116, 101, 95, 101, 108, 101, 109, 0, 109, 97, 112, 95, 112, 117, 115, 104, 95, 101, 108, 101, - 109, 0, 109, 97, 112, 95, 112, 111, 112, 95, 101, 108, 101, 109, 0, 109, 97, 112, 95, 112, 101, - 101, 107, 95, 101, 108, 101, 109, 0, 109, 97, 112, 95, 102, 100, 95, 103, 101, 116, 95, 112, - 116, 114, 0, 109, 97, 112, 95, 102, 100, 95, 112, 117, 116, 95, 112, 116, 114, 0, 109, 97, 112, - 95, 103, 101, 110, 95, 108, 111, 111, 107, 117, 112, 0, 109, 97, 112, 95, 102, 100, 95, 115, - 121, 115, 95, 108, 111, 111, 107, 117, 112, 95, 101, 108, 101, 109, 0, 109, 97, 112, 95, 115, - 101, 113, 95, 115, 104, 111, 119, 95, 101, 108, 101, 109, 0, 109, 97, 112, 95, 99, 104, 101, - 99, 107, 95, 98, 116, 102, 0, 109, 97, 112, 95, 112, 111, 107, 101, 95, 116, 114, 97, 99, 107, - 0, 109, 97, 112, 95, 112, 111, 107, 101, 95, 117, 110, 116, 114, 97, 99, 107, 0, 109, 97, 112, - 95, 112, 111, 107, 101, 95, 114, 117, 110, 0, 109, 97, 112, 95, 100, 105, 114, 101, 99, 116, - 95, 118, 97, 108, 117, 101, 95, 97, 100, 100, 114, 0, 109, 97, 112, 95, 100, 105, 114, 101, 99, - 116, 95, 118, 97, 108, 117, 101, 95, 109, 101, 116, 97, 0, 109, 97, 112, 95, 109, 109, 97, 112, - 0, 109, 97, 112, 95, 112, 111, 108, 108, 0, 109, 97, 112, 95, 108, 111, 99, 97, 108, 95, 115, - 116, 111, 114, 97, 103, 101, 95, 99, 104, 97, 114, 103, 101, 0, 98, 117, 99, 107, 101, 116, - 115, 0, 98, 112, 102, 95, 108, 111, 99, 97, 108, 95, 115, 116, 111, 114, 97, 103, 101, 95, 109, - 97, 112, 95, 98, 117, 99, 107, 101, 116, 0, 98, 117, 99, 107, 101, 116, 95, 108, 111, 103, 0, - 101, 108, 101, 109, 95, 115, 105, 122, 101, 0, 99, 97, 99, 104, 101, 95, 105, 100, 120, 0, 98, - 112, 102, 95, 108, 111, 99, 97, 108, 95, 115, 116, 111, 114, 97, 103, 101, 95, 109, 97, 112, 0, - 109, 97, 112, 95, 108, 111, 99, 97, 108, 95, 115, 116, 111, 114, 97, 103, 101, 95, 117, 110, - 99, 104, 97, 114, 103, 101, 0, 109, 97, 112, 95, 111, 119, 110, 101, 114, 95, 115, 116, 111, - 114, 97, 103, 101, 95, 112, 116, 114, 0, 115, 109, 97, 112, 0, 98, 112, 102, 95, 108, 111, 99, - 97, 108, 95, 115, 116, 111, 114, 97, 103, 101, 95, 100, 97, 116, 97, 0, 98, 112, 102, 95, 108, - 111, 99, 97, 108, 95, 115, 116, 111, 114, 97, 103, 101, 0, 109, 97, 112, 95, 114, 101, 100, - 105, 114, 101, 99, 116, 0, 109, 97, 112, 95, 109, 101, 116, 97, 95, 101, 113, 117, 97, 108, 0, - 109, 97, 112, 95, 115, 101, 116, 95, 102, 111, 114, 95, 101, 97, 99, 104, 95, 99, 97, 108, 108, - 98, 97, 99, 107, 95, 97, 114, 103, 115, 0, 105, 110, 115, 110, 95, 105, 100, 120, 0, 112, 114, - 101, 118, 95, 105, 110, 115, 110, 95, 105, 100, 120, 0, 103, 101, 116, 95, 102, 117, 110, 99, - 95, 112, 114, 111, 116, 111, 0, 103, 112, 108, 95, 111, 110, 108, 121, 0, 112, 107, 116, 95, - 97, 99, 99, 101, 115, 115, 0, 114, 101, 116, 95, 116, 121, 112, 101, 0, 97, 114, 103, 49, 95, - 116, 121, 112, 101, 0, 97, 114, 103, 50, 95, 116, 121, 112, 101, 0, 97, 114, 103, 51, 95, 116, - 121, 112, 101, 0, 97, 114, 103, 52, 95, 116, 121, 112, 101, 0, 97, 114, 103, 53, 95, 116, 121, - 112, 101, 0, 97, 114, 103, 95, 116, 121, 112, 101, 0, 97, 114, 103, 49, 95, 98, 116, 102, 95, - 105, 100, 0, 97, 114, 103, 50, 95, 98, 116, 102, 95, 105, 100, 0, 97, 114, 103, 51, 95, 98, - 116, 102, 95, 105, 100, 0, 97, 114, 103, 52, 95, 98, 116, 102, 95, 105, 100, 0, 97, 114, 103, - 53, 95, 98, 116, 102, 95, 105, 100, 0, 97, 114, 103, 95, 98, 116, 102, 95, 105, 100, 0, 114, - 101, 116, 95, 98, 116, 102, 95, 105, 100, 0, 97, 108, 108, 111, 119, 101, 100, 0, 98, 112, 102, - 95, 102, 117, 110, 99, 95, 112, 114, 111, 116, 111, 0, 105, 115, 95, 118, 97, 108, 105, 100, - 95, 97, 99, 99, 101, 115, 115, 0, 99, 116, 120, 95, 102, 105, 101, 108, 100, 95, 115, 105, 122, - 101, 0, 108, 111, 103, 0, 107, 98, 117, 102, 0, 117, 98, 117, 102, 0, 108, 101, 110, 95, 117, - 115, 101, 100, 0, 108, 101, 110, 95, 116, 111, 116, 97, 108, 0, 98, 112, 102, 95, 118, 101, - 114, 105, 102, 105, 101, 114, 95, 108, 111, 103, 0, 98, 112, 102, 95, 105, 110, 115, 110, 95, - 97, 99, 99, 101, 115, 115, 95, 97, 117, 120, 0, 103, 101, 110, 95, 112, 114, 111, 108, 111, - 103, 117, 101, 0, 103, 101, 110, 95, 108, 100, 95, 97, 98, 115, 0, 99, 111, 110, 118, 101, 114, - 116, 95, 99, 116, 120, 95, 97, 99, 99, 101, 115, 115, 0, 98, 116, 102, 95, 115, 116, 114, 117, - 99, 116, 95, 97, 99, 99, 101, 115, 115, 0, 99, 104, 101, 99, 107, 95, 107, 102, 117, 110, 99, - 95, 99, 97, 108, 108, 0, 98, 112, 102, 95, 118, 101, 114, 105, 102, 105, 101, 114, 95, 111, - 112, 115, 0, 115, 116, 0, 102, 114, 97, 109, 101, 0, 114, 97, 110, 103, 101, 0, 109, 97, 112, - 95, 112, 116, 114, 0, 109, 97, 112, 95, 117, 105, 100, 0, 109, 101, 109, 95, 115, 105, 122, - 101, 0, 114, 97, 119, 0, 114, 97, 119, 49, 0, 114, 97, 119, 50, 0, 115, 117, 98, 112, 114, 111, - 103, 110, 111, 0, 114, 101, 102, 95, 111, 98, 106, 95, 105, 100, 0, 118, 97, 114, 95, 111, 102, - 102, 0, 116, 110, 117, 109, 0, 115, 109, 105, 110, 95, 118, 97, 108, 117, 101, 0, 115, 109, 97, - 120, 95, 118, 97, 108, 117, 101, 0, 117, 109, 105, 110, 95, 118, 97, 108, 117, 101, 0, 117, - 109, 97, 120, 95, 118, 97, 108, 117, 101, 0, 115, 51, 50, 95, 109, 105, 110, 95, 118, 97, 108, - 117, 101, 0, 115, 51, 50, 95, 109, 97, 120, 95, 118, 97, 108, 117, 101, 0, 117, 51, 50, 95, - 109, 105, 110, 95, 118, 97, 108, 117, 101, 0, 117, 51, 50, 95, 109, 97, 120, 95, 118, 97, 108, - 117, 101, 0, 102, 114, 97, 109, 101, 110, 111, 0, 115, 117, 98, 114, 101, 103, 95, 100, 101, - 102, 0, 108, 105, 118, 101, 0, 112, 114, 101, 99, 105, 115, 101, 0, 98, 112, 102, 95, 114, 101, - 103, 95, 115, 116, 97, 116, 101, 0, 99, 97, 108, 108, 115, 105, 116, 101, 0, 97, 115, 121, 110, - 99, 95, 101, 110, 116, 114, 121, 95, 99, 110, 116, 0, 105, 110, 95, 99, 97, 108, 108, 98, 97, - 99, 107, 95, 102, 110, 0, 105, 110, 95, 97, 115, 121, 110, 99, 95, 99, 97, 108, 108, 98, 97, - 99, 107, 95, 102, 110, 0, 97, 99, 113, 117, 105, 114, 101, 100, 95, 114, 101, 102, 115, 0, 98, - 112, 102, 95, 114, 101, 102, 101, 114, 101, 110, 99, 101, 95, 115, 116, 97, 116, 101, 0, 97, - 108, 108, 111, 99, 97, 116, 101, 100, 95, 115, 116, 97, 99, 107, 0, 115, 112, 105, 108, 108, - 101, 100, 95, 112, 116, 114, 0, 115, 108, 111, 116, 95, 116, 121, 112, 101, 0, 98, 112, 102, - 95, 115, 116, 97, 99, 107, 95, 115, 116, 97, 116, 101, 0, 98, 112, 102, 95, 102, 117, 110, 99, - 95, 115, 116, 97, 116, 101, 0, 98, 114, 97, 110, 99, 104, 101, 115, 0, 99, 117, 114, 102, 114, - 97, 109, 101, 0, 97, 99, 116, 105, 118, 101, 95, 115, 112, 105, 110, 95, 108, 111, 99, 107, 0, - 115, 112, 101, 99, 117, 108, 97, 116, 105, 118, 101, 0, 102, 105, 114, 115, 116, 95, 105, 110, - 115, 110, 95, 105, 100, 120, 0, 108, 97, 115, 116, 95, 105, 110, 115, 110, 95, 105, 100, 120, - 0, 106, 109, 112, 95, 104, 105, 115, 116, 111, 114, 121, 0, 112, 114, 101, 118, 95, 105, 100, - 120, 0, 105, 100, 120, 0, 98, 112, 102, 95, 105, 100, 120, 95, 112, 97, 105, 114, 0, 106, 109, - 112, 95, 104, 105, 115, 116, 111, 114, 121, 95, 99, 110, 116, 0, 98, 112, 102, 95, 118, 101, - 114, 105, 102, 105, 101, 114, 95, 115, 116, 97, 116, 101, 0, 108, 111, 103, 95, 112, 111, 115, - 0, 98, 112, 102, 95, 118, 101, 114, 105, 102, 105, 101, 114, 95, 115, 116, 97, 99, 107, 95, - 101, 108, 101, 109, 0, 115, 116, 97, 99, 107, 95, 115, 105, 122, 101, 0, 115, 116, 114, 105, - 99, 116, 95, 97, 108, 105, 103, 110, 109, 101, 110, 116, 0, 116, 101, 115, 116, 95, 115, 116, - 97, 116, 101, 95, 102, 114, 101, 113, 0, 99, 117, 114, 95, 115, 116, 97, 116, 101, 0, 101, 120, - 112, 108, 111, 114, 101, 100, 95, 115, 116, 97, 116, 101, 115, 0, 109, 105, 115, 115, 95, 99, - 110, 116, 0, 104, 105, 116, 95, 99, 110, 116, 0, 98, 112, 102, 95, 118, 101, 114, 105, 102, - 105, 101, 114, 95, 115, 116, 97, 116, 101, 95, 108, 105, 115, 116, 0, 102, 114, 101, 101, 95, - 108, 105, 115, 116, 0, 117, 115, 101, 100, 95, 109, 97, 112, 115, 0, 117, 115, 101, 100, 95, - 98, 116, 102, 115, 0, 98, 116, 102, 95, 109, 111, 100, 95, 112, 97, 105, 114, 0, 105, 100, 95, - 103, 101, 110, 0, 101, 120, 112, 108, 111, 114, 101, 95, 97, 108, 117, 95, 108, 105, 109, 105, - 116, 115, 0, 97, 108, 108, 111, 119, 95, 112, 116, 114, 95, 108, 101, 97, 107, 115, 0, 97, 108, - 108, 111, 119, 95, 117, 110, 105, 110, 105, 116, 95, 115, 116, 97, 99, 107, 0, 97, 108, 108, - 111, 119, 95, 112, 116, 114, 95, 116, 111, 95, 109, 97, 112, 95, 97, 99, 99, 101, 115, 115, 0, - 98, 112, 102, 95, 99, 97, 112, 97, 98, 108, 101, 0, 98, 121, 112, 97, 115, 115, 95, 115, 112, - 101, 99, 95, 118, 49, 0, 98, 121, 112, 97, 115, 115, 95, 115, 112, 101, 99, 95, 118, 52, 0, - 115, 101, 101, 110, 95, 100, 105, 114, 101, 99, 116, 95, 119, 114, 105, 116, 101, 0, 105, 110, - 115, 110, 95, 97, 117, 120, 95, 100, 97, 116, 97, 0, 112, 116, 114, 95, 116, 121, 112, 101, 0, - 109, 97, 112, 95, 112, 116, 114, 95, 115, 116, 97, 116, 101, 0, 99, 97, 108, 108, 95, 105, 109, - 109, 0, 97, 108, 117, 95, 108, 105, 109, 105, 116, 0, 109, 97, 112, 95, 105, 110, 100, 101, - 120, 0, 109, 97, 112, 95, 111, 102, 102, 0, 98, 116, 102, 95, 118, 97, 114, 0, 109, 97, 112, - 95, 107, 101, 121, 95, 115, 116, 97, 116, 101, 0, 115, 101, 101, 110, 0, 115, 97, 110, 105, - 116, 105, 122, 101, 95, 115, 116, 97, 99, 107, 95, 115, 112, 105, 108, 108, 0, 122, 101, 120, - 116, 95, 100, 115, 116, 0, 97, 108, 117, 95, 115, 116, 97, 116, 101, 0, 111, 114, 105, 103, 95, - 105, 100, 120, 0, 112, 114, 117, 110, 101, 95, 112, 111, 105, 110, 116, 0, 98, 112, 102, 95, - 105, 110, 115, 110, 95, 97, 117, 120, 95, 100, 97, 116, 97, 0, 112, 114, 101, 118, 95, 108, - 105, 110, 102, 111, 0, 105, 110, 115, 110, 95, 111, 102, 102, 0, 102, 105, 108, 101, 95, 110, - 97, 109, 101, 95, 111, 102, 102, 0, 108, 105, 110, 101, 95, 111, 102, 102, 0, 108, 105, 110, - 101, 95, 99, 111, 108, 0, 98, 112, 102, 95, 108, 105, 110, 101, 95, 105, 110, 102, 111, 0, 115, - 117, 98, 112, 114, 111, 103, 95, 105, 110, 102, 111, 0, 108, 105, 110, 102, 111, 95, 105, 100, - 120, 0, 104, 97, 115, 95, 116, 97, 105, 108, 95, 99, 97, 108, 108, 0, 104, 97, 115, 95, 108, - 100, 95, 97, 98, 115, 0, 105, 115, 95, 97, 115, 121, 110, 99, 95, 99, 98, 0, 98, 112, 102, 95, - 115, 117, 98, 112, 114, 111, 103, 95, 105, 110, 102, 111, 0, 105, 100, 109, 97, 112, 95, 115, - 99, 114, 97, 116, 99, 104, 0, 111, 108, 100, 0, 99, 117, 114, 0, 98, 112, 102, 95, 105, 100, - 95, 112, 97, 105, 114, 0, 99, 102, 103, 0, 105, 110, 115, 110, 95, 115, 116, 97, 116, 101, 0, - 105, 110, 115, 110, 95, 115, 116, 97, 99, 107, 0, 99, 117, 114, 95, 115, 116, 97, 99, 107, 0, - 112, 97, 115, 115, 95, 99, 110, 116, 0, 115, 117, 98, 112, 114, 111, 103, 95, 99, 110, 116, 0, - 112, 114, 101, 118, 95, 105, 110, 115, 110, 95, 112, 114, 111, 99, 101, 115, 115, 101, 100, 0, - 105, 110, 115, 110, 95, 112, 114, 111, 99, 101, 115, 115, 101, 100, 0, 112, 114, 101, 118, 95, - 106, 109, 112, 115, 95, 112, 114, 111, 99, 101, 115, 115, 101, 100, 0, 106, 109, 112, 115, 95, - 112, 114, 111, 99, 101, 115, 115, 101, 100, 0, 118, 101, 114, 105, 102, 105, 99, 97, 116, 105, - 111, 110, 95, 116, 105, 109, 101, 0, 109, 97, 120, 95, 115, 116, 97, 116, 101, 115, 95, 112, - 101, 114, 95, 105, 110, 115, 110, 0, 116, 111, 116, 97, 108, 95, 115, 116, 97, 116, 101, 115, - 0, 112, 101, 97, 107, 95, 115, 116, 97, 116, 101, 115, 0, 108, 111, 110, 103, 101, 115, 116, - 95, 109, 97, 114, 107, 95, 114, 101, 97, 100, 95, 119, 97, 108, 107, 0, 98, 112, 102, 112, 116, - 114, 95, 116, 0, 98, 112, 102, 95, 118, 101, 114, 105, 102, 105, 101, 114, 95, 101, 110, 118, - 0, 109, 97, 112, 95, 102, 111, 114, 95, 101, 97, 99, 104, 95, 99, 97, 108, 108, 98, 97, 99, - 107, 0, 109, 97, 112, 95, 98, 116, 102, 95, 110, 97, 109, 101, 0, 109, 97, 112, 95, 98, 116, - 102, 95, 105, 100, 0, 105, 116, 101, 114, 95, 115, 101, 113, 95, 105, 110, 102, 111, 0, 105, - 110, 105, 116, 95, 115, 101, 113, 95, 112, 114, 105, 118, 97, 116, 101, 0, 98, 112, 102, 95, - 105, 116, 101, 114, 95, 97, 117, 120, 95, 105, 110, 102, 111, 0, 98, 112, 102, 95, 105, 116, - 101, 114, 95, 105, 110, 105, 116, 95, 115, 101, 113, 95, 112, 114, 105, 118, 95, 116, 0, 102, - 105, 110, 105, 95, 115, 101, 113, 95, 112, 114, 105, 118, 97, 116, 101, 0, 98, 112, 102, 95, - 105, 116, 101, 114, 95, 102, 105, 110, 105, 95, 115, 101, 113, 95, 112, 114, 105, 118, 95, 116, - 0, 115, 101, 113, 95, 112, 114, 105, 118, 95, 115, 105, 122, 101, 0, 98, 112, 102, 95, 105, - 116, 101, 114, 95, 115, 101, 113, 95, 105, 110, 102, 111, 0, 98, 112, 102, 95, 109, 97, 112, - 95, 111, 112, 115, 0, 105, 110, 110, 101, 114, 95, 109, 97, 112, 95, 109, 101, 116, 97, 0, 115, - 112, 105, 110, 95, 108, 111, 99, 107, 95, 111, 102, 102, 0, 116, 105, 109, 101, 114, 95, 111, - 102, 102, 0, 109, 101, 109, 99, 103, 0, 109, 101, 109, 95, 99, 103, 114, 111, 117, 112, 95, - 105, 100, 0, 109, 101, 109, 111, 114, 121, 0, 109, 105, 110, 0, 108, 111, 119, 0, 104, 105, - 103, 104, 0, 109, 97, 120, 0, 101, 109, 105, 110, 0, 109, 105, 110, 95, 117, 115, 97, 103, 101, - 0, 99, 104, 105, 108, 100, 114, 101, 110, 95, 109, 105, 110, 95, 117, 115, 97, 103, 101, 0, - 101, 108, 111, 119, 0, 108, 111, 119, 95, 117, 115, 97, 103, 101, 0, 99, 104, 105, 108, 100, - 114, 101, 110, 95, 108, 111, 119, 95, 117, 115, 97, 103, 101, 0, 119, 97, 116, 101, 114, 109, - 97, 114, 107, 0, 102, 97, 105, 108, 99, 110, 116, 0, 112, 97, 103, 101, 95, 99, 111, 117, 110, - 116, 101, 114, 0, 115, 119, 97, 112, 0, 109, 101, 109, 115, 119, 0, 107, 109, 101, 109, 0, 116, - 99, 112, 109, 101, 109, 0, 104, 105, 103, 104, 95, 119, 111, 114, 107, 0, 115, 111, 102, 116, - 95, 108, 105, 109, 105, 116, 0, 118, 109, 112, 114, 101, 115, 115, 117, 114, 101, 0, 115, 99, - 97, 110, 110, 101, 100, 0, 114, 101, 99, 108, 97, 105, 109, 101, 100, 0, 116, 114, 101, 101, - 95, 115, 99, 97, 110, 110, 101, 100, 0, 116, 114, 101, 101, 95, 114, 101, 99, 108, 97, 105, - 109, 101, 100, 0, 115, 114, 95, 108, 111, 99, 107, 0, 101, 118, 101, 110, 116, 115, 95, 108, - 111, 99, 107, 0, 111, 111, 109, 95, 103, 114, 111, 117, 112, 0, 111, 111, 109, 95, 108, 111, - 99, 107, 0, 117, 110, 100, 101, 114, 95, 111, 111, 109, 0, 115, 119, 97, 112, 112, 105, 110, - 101, 115, 115, 0, 111, 111, 109, 95, 107, 105, 108, 108, 95, 100, 105, 115, 97, 98, 108, 101, - 0, 101, 118, 101, 110, 116, 115, 95, 108, 111, 99, 97, 108, 95, 102, 105, 108, 101, 0, 115, - 119, 97, 112, 95, 101, 118, 101, 110, 116, 115, 95, 102, 105, 108, 101, 0, 116, 104, 114, 101, - 115, 104, 111, 108, 100, 115, 95, 108, 111, 99, 107, 0, 116, 104, 114, 101, 115, 104, 111, 108, - 100, 115, 0, 112, 114, 105, 109, 97, 114, 121, 0, 99, 117, 114, 114, 101, 110, 116, 95, 116, - 104, 114, 101, 115, 104, 111, 108, 100, 0, 101, 118, 101, 110, 116, 102, 100, 0, 101, 118, 101, - 110, 116, 102, 100, 95, 99, 116, 120, 0, 116, 104, 114, 101, 115, 104, 111, 108, 100, 0, 109, - 101, 109, 95, 99, 103, 114, 111, 117, 112, 95, 116, 104, 114, 101, 115, 104, 111, 108, 100, 0, - 109, 101, 109, 95, 99, 103, 114, 111, 117, 112, 95, 116, 104, 114, 101, 115, 104, 111, 108, - 100, 95, 97, 114, 121, 0, 115, 112, 97, 114, 101, 0, 109, 101, 109, 95, 99, 103, 114, 111, 117, - 112, 95, 116, 104, 114, 101, 115, 104, 111, 108, 100, 115, 0, 109, 101, 109, 115, 119, 95, 116, - 104, 114, 101, 115, 104, 111, 108, 100, 115, 0, 111, 111, 109, 95, 110, 111, 116, 105, 102, - 121, 0, 109, 111, 118, 101, 95, 99, 104, 97, 114, 103, 101, 95, 97, 116, 95, 105, 109, 109, - 105, 103, 114, 97, 116, 101, 0, 109, 111, 118, 101, 95, 108, 111, 99, 107, 0, 109, 111, 118, - 101, 95, 108, 111, 99, 107, 95, 102, 108, 97, 103, 115, 0, 95, 112, 97, 100, 49, 95, 0, 109, - 101, 109, 99, 103, 95, 112, 97, 100, 100, 105, 110, 103, 0, 118, 109, 115, 116, 97, 116, 115, - 0, 115, 116, 97, 116, 101, 95, 112, 101, 110, 100, 105, 110, 103, 0, 101, 118, 101, 110, 116, - 115, 95, 112, 101, 110, 100, 105, 110, 103, 0, 109, 101, 109, 99, 103, 95, 118, 109, 115, 116, - 97, 116, 115, 0, 109, 101, 109, 111, 114, 121, 95, 101, 118, 101, 110, 116, 115, 0, 109, 101, - 109, 111, 114, 121, 95, 101, 118, 101, 110, 116, 115, 95, 108, 111, 99, 97, 108, 0, 115, 111, - 99, 107, 101, 116, 95, 112, 114, 101, 115, 115, 117, 114, 101, 0, 116, 99, 112, 109, 101, 109, - 95, 97, 99, 116, 105, 118, 101, 0, 116, 99, 112, 109, 101, 109, 95, 112, 114, 101, 115, 115, - 117, 114, 101, 0, 107, 109, 101, 109, 99, 103, 95, 105, 100, 0, 107, 109, 101, 109, 95, 115, - 116, 97, 116, 101, 0, 111, 98, 106, 99, 103, 0, 110, 114, 95, 99, 104, 97, 114, 103, 101, 100, - 95, 98, 121, 116, 101, 115, 0, 111, 98, 106, 95, 99, 103, 114, 111, 117, 112, 0, 111, 98, 106, - 99, 103, 95, 108, 105, 115, 116, 0, 95, 112, 97, 100, 50, 95, 0, 109, 111, 118, 105, 110, 103, - 95, 97, 99, 99, 111, 117, 110, 116, 0, 109, 111, 118, 101, 95, 108, 111, 99, 107, 95, 116, 97, - 115, 107, 0, 118, 109, 115, 116, 97, 116, 115, 95, 112, 101, 114, 99, 112, 117, 0, 115, 116, - 97, 116, 101, 95, 112, 114, 101, 118, 0, 101, 118, 101, 110, 116, 115, 95, 112, 114, 101, 118, - 0, 110, 114, 95, 112, 97, 103, 101, 95, 101, 118, 101, 110, 116, 115, 0, 116, 97, 114, 103, - 101, 116, 115, 0, 109, 101, 109, 99, 103, 95, 118, 109, 115, 116, 97, 116, 115, 95, 112, 101, - 114, 99, 112, 117, 0, 99, 103, 119, 98, 95, 108, 105, 115, 116, 0, 99, 103, 119, 98, 95, 100, - 111, 109, 97, 105, 110, 0, 99, 111, 109, 112, 108, 101, 116, 105, 111, 110, 115, 0, 112, 101, - 114, 105, 111, 100, 0, 102, 112, 114, 111, 112, 95, 103, 108, 111, 98, 97, 108, 0, 112, 101, - 114, 105, 111, 100, 95, 116, 105, 109, 101, 114, 0, 112, 101, 114, 105, 111, 100, 95, 116, 105, - 109, 101, 0, 100, 105, 114, 116, 121, 95, 108, 105, 109, 105, 116, 95, 116, 115, 116, 97, 109, - 112, 0, 100, 105, 114, 116, 121, 95, 108, 105, 109, 105, 116, 0, 119, 98, 95, 100, 111, 109, - 97, 105, 110, 0, 99, 103, 119, 98, 95, 102, 114, 110, 0, 98, 100, 105, 95, 105, 100, 0, 109, - 101, 109, 99, 103, 95, 105, 100, 0, 97, 116, 0, 119, 97, 105, 116, 113, 0, 119, 98, 95, 99, - 111, 109, 112, 108, 101, 116, 105, 111, 110, 0, 109, 101, 109, 99, 103, 95, 99, 103, 119, 98, - 95, 102, 114, 110, 0, 101, 118, 101, 110, 116, 95, 108, 105, 115, 116, 0, 101, 118, 101, 110, - 116, 95, 108, 105, 115, 116, 95, 108, 111, 99, 107, 0, 100, 101, 102, 101, 114, 114, 101, 100, - 95, 115, 112, 108, 105, 116, 95, 113, 117, 101, 117, 101, 0, 115, 112, 108, 105, 116, 95, 113, - 117, 101, 117, 101, 95, 108, 111, 99, 107, 0, 115, 112, 108, 105, 116, 95, 113, 117, 101, 117, - 101, 0, 115, 112, 108, 105, 116, 95, 113, 117, 101, 117, 101, 95, 108, 101, 110, 0, 100, 101, - 102, 101, 114, 114, 101, 100, 95, 115, 112, 108, 105, 116, 0, 110, 111, 100, 101, 105, 110, - 102, 111, 0, 108, 114, 117, 118, 101, 99, 0, 108, 105, 115, 116, 115, 0, 108, 114, 117, 95, - 108, 111, 99, 107, 0, 97, 110, 111, 110, 95, 99, 111, 115, 116, 0, 102, 105, 108, 101, 95, 99, - 111, 115, 116, 0, 110, 111, 110, 114, 101, 115, 105, 100, 101, 110, 116, 95, 97, 103, 101, 0, - 114, 101, 102, 97, 117, 108, 116, 115, 0, 112, 103, 100, 97, 116, 0, 110, 111, 100, 101, 95, - 122, 111, 110, 101, 115, 0, 95, 119, 97, 116, 101, 114, 109, 97, 114, 107, 0, 119, 97, 116, - 101, 114, 109, 97, 114, 107, 95, 98, 111, 111, 115, 116, 0, 110, 114, 95, 114, 101, 115, 101, - 114, 118, 101, 100, 95, 104, 105, 103, 104, 97, 116, 111, 109, 105, 99, 0, 108, 111, 119, 109, - 101, 109, 95, 114, 101, 115, 101, 114, 118, 101, 0, 122, 111, 110, 101, 95, 112, 103, 100, 97, - 116, 0, 112, 101, 114, 95, 99, 112, 117, 95, 112, 97, 103, 101, 115, 101, 116, 0, 102, 114, - 101, 101, 95, 102, 97, 99, 116, 111, 114, 0, 101, 120, 112, 105, 114, 101, 0, 112, 101, 114, - 95, 99, 112, 117, 95, 112, 97, 103, 101, 115, 0, 112, 101, 114, 95, 99, 112, 117, 95, 122, 111, - 110, 101, 115, 116, 97, 116, 115, 0, 118, 109, 95, 115, 116, 97, 116, 95, 100, 105, 102, 102, - 0, 115, 105, 103, 110, 101, 100, 32, 99, 104, 97, 114, 0, 95, 95, 115, 56, 0, 115, 56, 0, 115, - 116, 97, 116, 95, 116, 104, 114, 101, 115, 104, 111, 108, 100, 0, 118, 109, 95, 110, 117, 109, - 97, 95, 101, 118, 101, 110, 116, 0, 112, 101, 114, 95, 99, 112, 117, 95, 122, 111, 110, 101, - 115, 116, 97, 116, 0, 112, 97, 103, 101, 115, 101, 116, 95, 104, 105, 103, 104, 0, 112, 97, - 103, 101, 115, 101, 116, 95, 98, 97, 116, 99, 104, 0, 122, 111, 110, 101, 95, 115, 116, 97, - 114, 116, 95, 112, 102, 110, 0, 109, 97, 110, 97, 103, 101, 100, 95, 112, 97, 103, 101, 115, 0, - 115, 112, 97, 110, 110, 101, 100, 95, 112, 97, 103, 101, 115, 0, 112, 114, 101, 115, 101, 110, - 116, 95, 112, 97, 103, 101, 115, 0, 112, 114, 101, 115, 101, 110, 116, 95, 101, 97, 114, 108, - 121, 95, 112, 97, 103, 101, 115, 0, 99, 109, 97, 95, 112, 97, 103, 101, 115, 0, 110, 114, 95, - 105, 115, 111, 108, 97, 116, 101, 95, 112, 97, 103, 101, 98, 108, 111, 99, 107, 0, 115, 112, - 97, 110, 95, 115, 101, 113, 108, 111, 99, 107, 0, 115, 101, 113, 108, 111, 99, 107, 95, 116, 0, - 105, 110, 105, 116, 105, 97, 108, 105, 122, 101, 100, 0, 122, 111, 110, 101, 95, 112, 97, 100, - 100, 105, 110, 103, 0, 102, 114, 101, 101, 95, 97, 114, 101, 97, 0, 110, 114, 95, 102, 114, - 101, 101, 0, 112, 101, 114, 99, 112, 117, 95, 100, 114, 105, 102, 116, 95, 109, 97, 114, 107, - 0, 99, 111, 109, 112, 97, 99, 116, 95, 99, 97, 99, 104, 101, 100, 95, 102, 114, 101, 101, 95, - 112, 102, 110, 0, 99, 111, 109, 112, 97, 99, 116, 95, 99, 97, 99, 104, 101, 100, 95, 109, 105, - 103, 114, 97, 116, 101, 95, 112, 102, 110, 0, 99, 111, 109, 112, 97, 99, 116, 95, 105, 110, - 105, 116, 95, 109, 105, 103, 114, 97, 116, 101, 95, 112, 102, 110, 0, 99, 111, 109, 112, 97, - 99, 116, 95, 105, 110, 105, 116, 95, 102, 114, 101, 101, 95, 112, 102, 110, 0, 99, 111, 109, - 112, 97, 99, 116, 95, 99, 111, 110, 115, 105, 100, 101, 114, 101, 100, 0, 99, 111, 109, 112, - 97, 99, 116, 95, 100, 101, 102, 101, 114, 95, 115, 104, 105, 102, 116, 0, 99, 111, 109, 112, - 97, 99, 116, 95, 111, 114, 100, 101, 114, 95, 102, 97, 105, 108, 101, 100, 0, 99, 111, 109, - 112, 97, 99, 116, 95, 98, 108, 111, 99, 107, 115, 107, 105, 112, 95, 102, 108, 117, 115, 104, - 0, 99, 111, 110, 116, 105, 103, 117, 111, 117, 115, 0, 95, 112, 97, 100, 51, 95, 0, 118, 109, - 95, 115, 116, 97, 116, 0, 122, 111, 110, 101, 0, 110, 111, 100, 101, 95, 122, 111, 110, 101, - 108, 105, 115, 116, 115, 0, 95, 122, 111, 110, 101, 114, 101, 102, 115, 0, 122, 111, 110, 101, - 95, 105, 100, 120, 0, 122, 111, 110, 101, 114, 101, 102, 0, 122, 111, 110, 101, 108, 105, 115, - 116, 0, 110, 114, 95, 122, 111, 110, 101, 115, 0, 110, 111, 100, 101, 95, 115, 105, 122, 101, - 95, 108, 111, 99, 107, 0, 110, 111, 100, 101, 95, 115, 116, 97, 114, 116, 95, 112, 102, 110, 0, - 110, 111, 100, 101, 95, 112, 114, 101, 115, 101, 110, 116, 95, 112, 97, 103, 101, 115, 0, 110, - 111, 100, 101, 95, 115, 112, 97, 110, 110, 101, 100, 95, 112, 97, 103, 101, 115, 0, 110, 111, - 100, 101, 95, 105, 100, 0, 107, 115, 119, 97, 112, 100, 95, 119, 97, 105, 116, 0, 112, 102, - 109, 101, 109, 97, 108, 108, 111, 99, 95, 119, 97, 105, 116, 0, 107, 115, 119, 97, 112, 100, 0, - 107, 115, 119, 97, 112, 100, 95, 111, 114, 100, 101, 114, 0, 107, 115, 119, 97, 112, 100, 95, - 104, 105, 103, 104, 101, 115, 116, 95, 122, 111, 110, 101, 105, 100, 120, 0, 107, 115, 119, 97, - 112, 100, 95, 102, 97, 105, 108, 117, 114, 101, 115, 0, 107, 99, 111, 109, 112, 97, 99, 116, - 100, 95, 109, 97, 120, 95, 111, 114, 100, 101, 114, 0, 107, 99, 111, 109, 112, 97, 99, 116, - 100, 95, 104, 105, 103, 104, 101, 115, 116, 95, 122, 111, 110, 101, 105, 100, 120, 0, 107, 99, - 111, 109, 112, 97, 99, 116, 100, 95, 119, 97, 105, 116, 0, 107, 99, 111, 109, 112, 97, 99, 116, - 100, 0, 112, 114, 111, 97, 99, 116, 105, 118, 101, 95, 99, 111, 109, 112, 97, 99, 116, 95, 116, - 114, 105, 103, 103, 101, 114, 0, 116, 111, 116, 97, 108, 114, 101, 115, 101, 114, 118, 101, 95, - 112, 97, 103, 101, 115, 0, 109, 105, 110, 95, 117, 110, 109, 97, 112, 112, 101, 100, 95, 112, - 97, 103, 101, 115, 0, 109, 105, 110, 95, 115, 108, 97, 98, 95, 112, 97, 103, 101, 115, 0, 95, - 95, 108, 114, 117, 118, 101, 99, 0, 112, 101, 114, 95, 99, 112, 117, 95, 110, 111, 100, 101, - 115, 116, 97, 116, 115, 0, 118, 109, 95, 110, 111, 100, 101, 95, 115, 116, 97, 116, 95, 100, - 105, 102, 102, 0, 112, 101, 114, 95, 99, 112, 117, 95, 110, 111, 100, 101, 115, 116, 97, 116, - 0, 112, 103, 108, 105, 115, 116, 95, 100, 97, 116, 97, 0, 108, 114, 117, 118, 101, 99, 95, 115, - 116, 97, 116, 115, 95, 112, 101, 114, 99, 112, 117, 0, 108, 114, 117, 118, 101, 99, 95, 115, - 116, 97, 116, 115, 0, 108, 114, 117, 95, 122, 111, 110, 101, 95, 115, 105, 122, 101, 0, 105, - 116, 101, 114, 0, 112, 111, 115, 105, 116, 105, 111, 110, 0, 103, 101, 110, 101, 114, 97, 116, - 105, 111, 110, 0, 109, 101, 109, 95, 99, 103, 114, 111, 117, 112, 95, 114, 101, 99, 108, 97, - 105, 109, 95, 105, 116, 101, 114, 0, 115, 104, 114, 105, 110, 107, 101, 114, 95, 105, 110, 102, - 111, 0, 110, 114, 95, 100, 101, 102, 101, 114, 114, 101, 100, 0, 116, 114, 101, 101, 95, 110, - 111, 100, 101, 0, 117, 115, 97, 103, 101, 95, 105, 110, 95, 101, 120, 99, 101, 115, 115, 0, - 111, 110, 95, 116, 114, 101, 101, 0, 109, 101, 109, 95, 99, 103, 114, 111, 117, 112, 95, 112, - 101, 114, 95, 110, 111, 100, 101, 0, 109, 101, 109, 95, 99, 103, 114, 111, 117, 112, 0, 102, - 114, 111, 122, 101, 110, 0, 117, 115, 101, 114, 99, 110, 116, 0, 102, 114, 101, 101, 122, 101, - 95, 109, 117, 116, 101, 120, 0, 119, 114, 105, 116, 101, 99, 110, 116, 0, 98, 112, 102, 95, - 109, 97, 112, 0, 116, 97, 105, 108, 99, 97, 108, 108, 95, 116, 97, 114, 103, 101, 116, 95, 115, - 116, 97, 98, 108, 101, 0, 97, 100, 106, 95, 111, 102, 102, 0, 98, 112, 102, 95, 106, 105, 116, - 95, 112, 111, 107, 101, 95, 100, 101, 115, 99, 114, 105, 112, 116, 111, 114, 0, 107, 102, 117, - 110, 99, 95, 116, 97, 98, 0, 100, 101, 115, 99, 115, 0, 102, 117, 110, 99, 95, 109, 111, 100, - 101, 108, 0, 102, 117, 110, 99, 95, 105, 100, 0, 98, 112, 102, 95, 107, 102, 117, 110, 99, 95, - 100, 101, 115, 99, 0, 110, 114, 95, 100, 101, 115, 99, 115, 0, 98, 112, 102, 95, 107, 102, 117, - 110, 99, 95, 100, 101, 115, 99, 95, 116, 97, 98, 0, 115, 105, 122, 101, 95, 112, 111, 107, 101, - 95, 116, 97, 98, 0, 116, 101, 115, 116, 95, 114, 117, 110, 0, 98, 112, 102, 95, 112, 114, 111, - 103, 95, 111, 112, 115, 0, 117, 115, 101, 100, 95, 109, 97, 112, 115, 95, 109, 117, 116, 101, - 120, 0, 108, 111, 97, 100, 95, 116, 105, 109, 101, 0, 99, 103, 114, 111, 117, 112, 95, 115, - 116, 111, 114, 97, 103, 101, 0, 111, 102, 102, 108, 111, 97, 100, 0, 110, 101, 116, 100, 101, - 118, 0, 111, 102, 102, 100, 101, 118, 0, 105, 110, 115, 110, 95, 104, 111, 111, 107, 0, 102, - 105, 110, 97, 108, 105, 122, 101, 0, 114, 101, 112, 108, 97, 99, 101, 95, 105, 110, 115, 110, - 0, 114, 101, 109, 111, 118, 101, 95, 105, 110, 115, 110, 115, 0, 98, 112, 102, 95, 112, 114, - 111, 103, 95, 111, 102, 102, 108, 111, 97, 100, 95, 111, 112, 115, 0, 110, 101, 116, 100, 101, - 118, 115, 0, 98, 112, 102, 95, 111, 102, 102, 108, 111, 97, 100, 95, 100, 101, 118, 0, 100, - 101, 118, 95, 112, 114, 105, 118, 0, 111, 102, 102, 108, 111, 97, 100, 115, 0, 100, 101, 118, - 95, 115, 116, 97, 116, 101, 0, 111, 112, 116, 95, 102, 97, 105, 108, 101, 100, 0, 106, 105, - 116, 101, 100, 95, 105, 109, 97, 103, 101, 0, 98, 112, 102, 95, 112, 114, 111, 103, 95, 111, - 102, 102, 108, 111, 97, 100, 0, 116, 121, 112, 101, 95, 105, 100, 0, 98, 112, 102, 95, 102, - 117, 110, 99, 95, 105, 110, 102, 111, 0, 102, 117, 110, 99, 95, 105, 110, 102, 111, 95, 97, - 117, 120, 0, 108, 105, 110, 107, 97, 103, 101, 0, 117, 110, 114, 101, 108, 105, 97, 98, 108, - 101, 0, 98, 112, 102, 95, 102, 117, 110, 99, 95, 105, 110, 102, 111, 95, 97, 117, 120, 0, 108, - 105, 110, 102, 111, 0, 106, 105, 116, 101, 100, 95, 108, 105, 110, 102, 111, 0, 110, 114, 95, - 108, 105, 110, 102, 111, 0, 110, 117, 109, 95, 101, 120, 101, 110, 116, 114, 105, 101, 115, 0, - 101, 120, 116, 97, 98, 108, 101, 0, 105, 110, 115, 110, 0, 102, 105, 120, 117, 112, 0, 101, - 120, 99, 101, 112, 116, 105, 111, 110, 95, 116, 97, 98, 108, 101, 95, 101, 110, 116, 114, 121, - 0, 98, 112, 102, 95, 112, 114, 111, 103, 95, 97, 117, 120, 0, 111, 114, 105, 103, 95, 112, 114, - 111, 103, 0, 106, 116, 0, 106, 102, 0, 107, 0, 115, 111, 99, 107, 95, 102, 105, 108, 116, 101, - 114, 0, 115, 111, 99, 107, 95, 102, 112, 114, 111, 103, 95, 107, 101, 114, 110, 0, 105, 110, - 115, 110, 115, 105, 0, 98, 112, 102, 95, 112, 114, 111, 103, 0, 98, 112, 102, 95, 115, 116, - 111, 114, 97, 103, 101, 95, 98, 117, 102, 102, 101, 114, 0, 112, 101, 114, 99, 112, 117, 95, - 98, 117, 102, 0, 98, 112, 102, 95, 99, 103, 114, 111, 117, 112, 95, 115, 116, 111, 114, 97, - 103, 101, 95, 109, 97, 112, 0, 99, 103, 114, 111, 117, 112, 95, 105, 110, 111, 100, 101, 95, - 105, 100, 0, 98, 112, 102, 95, 99, 103, 114, 111, 117, 112, 95, 115, 116, 111, 114, 97, 103, - 101, 95, 107, 101, 121, 0, 108, 105, 115, 116, 95, 109, 97, 112, 0, 108, 105, 115, 116, 95, 99, - 103, 0, 98, 112, 102, 95, 99, 103, 114, 111, 117, 112, 95, 115, 116, 111, 114, 97, 103, 101, 0, - 98, 112, 102, 95, 112, 114, 111, 103, 95, 97, 114, 114, 97, 121, 95, 105, 116, 101, 109, 0, 98, - 112, 102, 95, 112, 114, 111, 103, 95, 97, 114, 114, 97, 121, 0, 112, 114, 111, 103, 115, 0, - 115, 116, 111, 114, 97, 103, 101, 115, 0, 105, 110, 97, 99, 116, 105, 118, 101, 0, 114, 101, - 108, 101, 97, 115, 101, 95, 119, 111, 114, 107, 0, 99, 103, 114, 111, 117, 112, 95, 98, 112, - 102, 0, 99, 111, 110, 103, 101, 115, 116, 105, 111, 110, 95, 99, 111, 117, 110, 116, 0, 102, - 114, 101, 101, 122, 101, 114, 0, 101, 95, 102, 114, 101, 101, 122, 101, 0, 110, 114, 95, 102, - 114, 111, 122, 101, 110, 95, 100, 101, 115, 99, 101, 110, 100, 97, 110, 116, 115, 0, 110, 114, - 95, 102, 114, 111, 122, 101, 110, 95, 116, 97, 115, 107, 115, 0, 99, 103, 114, 111, 117, 112, - 95, 102, 114, 101, 101, 122, 101, 114, 95, 115, 116, 97, 116, 101, 0, 97, 110, 99, 101, 115, - 116, 111, 114, 95, 105, 100, 115, 0, 115, 115, 0, 99, 115, 115, 95, 97, 108, 108, 111, 99, 0, - 99, 115, 115, 95, 111, 110, 108, 105, 110, 101, 0, 99, 115, 115, 95, 111, 102, 102, 108, 105, - 110, 101, 0, 99, 115, 115, 95, 114, 101, 108, 101, 97, 115, 101, 100, 0, 99, 115, 115, 95, 102, - 114, 101, 101, 0, 99, 115, 115, 95, 114, 101, 115, 101, 116, 0, 99, 115, 115, 95, 114, 115, - 116, 97, 116, 95, 102, 108, 117, 115, 104, 0, 99, 115, 115, 95, 101, 120, 116, 114, 97, 95, - 115, 116, 97, 116, 95, 115, 104, 111, 119, 0, 99, 97, 110, 95, 97, 116, 116, 97, 99, 104, 0, - 115, 114, 99, 95, 99, 115, 101, 116, 115, 0, 100, 115, 116, 95, 99, 115, 101, 116, 115, 0, 110, - 114, 95, 116, 97, 115, 107, 115, 0, 115, 115, 105, 100, 0, 99, 115, 101, 116, 115, 0, 99, 117, - 114, 95, 99, 115, 101, 116, 0, 100, 111, 109, 95, 99, 115, 101, 116, 0, 100, 102, 108, 95, 99, - 103, 114, 112, 0, 109, 103, 95, 116, 97, 115, 107, 115, 0, 100, 121, 105, 110, 103, 95, 116, - 97, 115, 107, 115, 0, 116, 97, 115, 107, 95, 105, 116, 101, 114, 115, 0, 101, 95, 99, 115, 101, - 116, 95, 110, 111, 100, 101, 0, 116, 104, 114, 101, 97, 100, 101, 100, 95, 99, 115, 101, 116, - 115, 0, 116, 104, 114, 101, 97, 100, 101, 100, 95, 99, 115, 101, 116, 115, 95, 110, 111, 100, - 101, 0, 99, 103, 114, 112, 95, 108, 105, 110, 107, 115, 0, 109, 103, 95, 112, 114, 101, 108, - 111, 97, 100, 95, 110, 111, 100, 101, 0, 109, 103, 95, 110, 111, 100, 101, 0, 109, 103, 95, - 115, 114, 99, 95, 99, 103, 114, 112, 0, 109, 103, 95, 100, 115, 116, 95, 99, 103, 114, 112, 0, - 109, 103, 95, 100, 115, 116, 95, 99, 115, 101, 116, 0, 99, 115, 115, 95, 115, 101, 116, 0, 99, - 117, 114, 95, 116, 97, 115, 107, 0, 99, 103, 114, 111, 117, 112, 95, 116, 97, 115, 107, 115, - 101, 116, 0, 99, 97, 110, 99, 101, 108, 95, 97, 116, 116, 97, 99, 104, 0, 97, 116, 116, 97, 99, - 104, 0, 112, 111, 115, 116, 95, 97, 116, 116, 97, 99, 104, 0, 99, 97, 110, 95, 102, 111, 114, - 107, 0, 99, 97, 110, 99, 101, 108, 95, 102, 111, 114, 107, 0, 102, 111, 114, 107, 0, 101, 120, - 105, 116, 0, 98, 105, 110, 100, 0, 105, 109, 112, 108, 105, 99, 105, 116, 95, 111, 110, 95, - 100, 102, 108, 0, 116, 104, 114, 101, 97, 100, 101, 100, 0, 108, 101, 103, 97, 99, 121, 95, - 110, 97, 109, 101, 0, 99, 115, 115, 95, 105, 100, 114, 0, 99, 102, 116, 115, 0, 100, 102, 108, - 95, 99, 102, 116, 121, 112, 101, 115, 0, 109, 97, 120, 95, 119, 114, 105, 116, 101, 95, 108, - 101, 110, 0, 102, 105, 108, 101, 95, 111, 102, 102, 115, 101, 116, 0, 107, 102, 95, 111, 112, - 115, 0, 114, 101, 97, 100, 95, 117, 54, 52, 0, 114, 101, 97, 100, 95, 115, 54, 52, 0, 119, 114, - 105, 116, 101, 95, 117, 54, 52, 0, 119, 114, 105, 116, 101, 95, 115, 54, 52, 0, 99, 102, 116, - 121, 112, 101, 0, 108, 101, 103, 97, 99, 121, 95, 99, 102, 116, 121, 112, 101, 115, 0, 100, - 101, 112, 101, 110, 100, 115, 95, 111, 110, 0, 99, 103, 114, 111, 117, 112, 95, 115, 117, 98, - 115, 121, 115, 0, 114, 115, 116, 97, 116, 95, 99, 115, 115, 95, 110, 111, 100, 101, 0, 115, - 101, 114, 105, 97, 108, 95, 110, 114, 0, 111, 110, 108, 105, 110, 101, 95, 99, 110, 116, 0, - 100, 101, 115, 116, 114, 111, 121, 95, 119, 111, 114, 107, 0, 100, 101, 115, 116, 114, 111, - 121, 95, 114, 119, 111, 114, 107, 0, 114, 99, 117, 95, 119, 111, 114, 107, 0, 99, 103, 114, - 111, 117, 112, 95, 115, 117, 98, 115, 121, 115, 95, 115, 116, 97, 116, 101, 0, 115, 101, 0, - 115, 104, 97, 114, 101, 115, 0, 105, 100, 108, 101, 0, 115, 105, 98, 108, 105, 110, 103, 115, - 0, 97, 117, 116, 111, 103, 114, 111, 117, 112, 0, 99, 102, 115, 95, 98, 97, 110, 100, 119, 105, - 100, 116, 104, 0, 113, 117, 111, 116, 97, 0, 114, 117, 110, 116, 105, 109, 101, 0, 104, 105, - 101, 114, 97, 114, 99, 104, 105, 99, 97, 108, 95, 113, 117, 111, 116, 97, 0, 112, 101, 114, - 105, 111, 100, 95, 97, 99, 116, 105, 118, 101, 0, 115, 108, 97, 99, 107, 95, 115, 116, 97, 114, - 116, 101, 100, 0, 115, 108, 97, 99, 107, 95, 116, 105, 109, 101, 114, 0, 116, 104, 114, 111, - 116, 116, 108, 101, 100, 95, 99, 102, 115, 95, 114, 113, 0, 110, 114, 95, 112, 101, 114, 105, - 111, 100, 115, 0, 110, 114, 95, 116, 104, 114, 111, 116, 116, 108, 101, 100, 0, 116, 104, 114, - 111, 116, 116, 108, 101, 100, 95, 116, 105, 109, 101, 0, 117, 99, 108, 97, 109, 112, 95, 112, - 99, 116, 0, 117, 99, 108, 97, 109, 112, 95, 114, 101, 113, 0, 98, 117, 99, 107, 101, 116, 95, - 105, 100, 0, 117, 115, 101, 114, 95, 100, 101, 102, 105, 110, 101, 100, 0, 117, 99, 108, 97, - 109, 112, 95, 115, 101, 0, 116, 97, 115, 107, 95, 103, 114, 111, 117, 112, 0, 114, 117, 110, - 116, 105, 109, 101, 95, 101, 110, 97, 98, 108, 101, 100, 0, 114, 117, 110, 116, 105, 109, 101, - 95, 114, 101, 109, 97, 105, 110, 105, 110, 103, 0, 116, 104, 114, 111, 116, 116, 108, 101, 100, - 95, 99, 108, 111, 99, 107, 0, 116, 104, 114, 111, 116, 116, 108, 101, 100, 95, 99, 108, 111, - 99, 107, 95, 116, 97, 115, 107, 0, 116, 104, 114, 111, 116, 116, 108, 101, 100, 95, 99, 108, - 111, 99, 107, 95, 116, 97, 115, 107, 95, 116, 105, 109, 101, 0, 116, 104, 114, 111, 116, 116, - 108, 101, 100, 0, 116, 104, 114, 111, 116, 116, 108, 101, 95, 99, 111, 117, 110, 116, 0, 116, - 104, 114, 111, 116, 116, 108, 101, 100, 95, 108, 105, 115, 116, 0, 114, 116, 0, 114, 116, 95, - 112, 114, 105, 111, 95, 97, 114, 114, 97, 121, 0, 114, 116, 95, 110, 114, 95, 114, 117, 110, - 110, 105, 110, 103, 0, 114, 114, 95, 110, 114, 95, 114, 117, 110, 110, 105, 110, 103, 0, 104, - 105, 103, 104, 101, 115, 116, 95, 112, 114, 105, 111, 0, 114, 116, 95, 110, 114, 95, 109, 105, - 103, 114, 97, 116, 111, 114, 121, 0, 114, 116, 95, 110, 114, 95, 116, 111, 116, 97, 108, 0, - 111, 118, 101, 114, 108, 111, 97, 100, 101, 100, 0, 112, 117, 115, 104, 97, 98, 108, 101, 95, - 116, 97, 115, 107, 115, 0, 114, 116, 95, 113, 117, 101, 117, 101, 100, 0, 114, 116, 95, 116, - 104, 114, 111, 116, 116, 108, 101, 100, 0, 114, 116, 95, 116, 105, 109, 101, 0, 114, 116, 95, - 114, 117, 110, 116, 105, 109, 101, 0, 114, 116, 95, 114, 117, 110, 116, 105, 109, 101, 95, 108, - 111, 99, 107, 0, 114, 116, 95, 114, 113, 0, 100, 108, 0, 100, 108, 95, 110, 114, 95, 114, 117, - 110, 110, 105, 110, 103, 0, 101, 97, 114, 108, 105, 101, 115, 116, 95, 100, 108, 0, 100, 108, - 95, 110, 114, 95, 109, 105, 103, 114, 97, 116, 111, 114, 121, 0, 112, 117, 115, 104, 97, 98, - 108, 101, 95, 100, 108, 95, 116, 97, 115, 107, 115, 95, 114, 111, 111, 116, 0, 114, 117, 110, - 110, 105, 110, 103, 95, 98, 119, 0, 116, 104, 105, 115, 95, 98, 119, 0, 101, 120, 116, 114, 97, - 95, 98, 119, 0, 98, 119, 95, 114, 97, 116, 105, 111, 0, 100, 108, 95, 114, 113, 0, 116, 109, - 112, 95, 97, 108, 111, 110, 101, 95, 98, 114, 97, 110, 99, 104, 0, 110, 114, 95, 117, 110, 105, - 110, 116, 101, 114, 114, 117, 112, 116, 105, 98, 108, 101, 0, 110, 101, 120, 116, 95, 98, 97, - 108, 97, 110, 99, 101, 0, 112, 114, 101, 118, 95, 109, 109, 0, 99, 108, 111, 99, 107, 95, 117, - 112, 100, 97, 116, 101, 95, 102, 108, 97, 103, 115, 0, 99, 108, 111, 99, 107, 0, 99, 108, 111, - 99, 107, 95, 116, 97, 115, 107, 0, 99, 108, 111, 99, 107, 95, 112, 101, 108, 116, 0, 108, 111, - 115, 116, 95, 105, 100, 108, 101, 95, 116, 105, 109, 101, 0, 110, 114, 95, 105, 111, 119, 97, - 105, 116, 0, 108, 97, 115, 116, 95, 115, 101, 101, 110, 95, 110, 101, 101, 100, 95, 114, 101, - 115, 99, 104, 101, 100, 95, 110, 115, 0, 116, 105, 99, 107, 115, 95, 119, 105, 116, 104, 111, - 117, 116, 95, 114, 101, 115, 99, 104, 101, 100, 0, 114, 100, 0, 114, 116, 111, 95, 99, 111, - 117, 110, 116, 0, 115, 112, 97, 110, 0, 111, 118, 101, 114, 108, 111, 97, 100, 0, 111, 118, - 101, 114, 117, 116, 105, 108, 105, 122, 101, 100, 0, 100, 108, 111, 95, 109, 97, 115, 107, 0, - 100, 108, 111, 95, 99, 111, 117, 110, 116, 0, 100, 108, 95, 98, 119, 0, 98, 119, 0, 116, 111, - 116, 97, 108, 95, 98, 119, 0, 99, 112, 117, 100, 108, 0, 102, 114, 101, 101, 95, 99, 112, 117, - 115, 0, 101, 108, 101, 109, 101, 110, 116, 115, 0, 99, 112, 117, 100, 108, 95, 105, 116, 101, - 109, 0, 118, 105, 115, 105, 116, 95, 103, 101, 110, 0, 114, 116, 111, 95, 112, 117, 115, 104, - 95, 119, 111, 114, 107, 0, 105, 114, 113, 95, 119, 111, 114, 107, 0, 114, 116, 111, 95, 108, - 111, 99, 107, 0, 114, 116, 111, 95, 108, 111, 111, 112, 0, 114, 116, 111, 95, 99, 112, 117, 0, - 114, 116, 111, 95, 108, 111, 111, 112, 95, 110, 101, 120, 116, 0, 114, 116, 111, 95, 108, 111, - 111, 112, 95, 115, 116, 97, 114, 116, 0, 114, 116, 111, 95, 109, 97, 115, 107, 0, 99, 112, 117, - 112, 114, 105, 0, 112, 114, 105, 95, 116, 111, 95, 99, 112, 117, 0, 99, 112, 117, 112, 114, - 105, 95, 118, 101, 99, 0, 99, 112, 117, 95, 116, 111, 95, 112, 114, 105, 0, 109, 97, 120, 95, - 99, 112, 117, 95, 99, 97, 112, 97, 99, 105, 116, 121, 0, 112, 100, 0, 112, 101, 114, 102, 95, - 100, 111, 109, 97, 105, 110, 0, 114, 111, 111, 116, 95, 100, 111, 109, 97, 105, 110, 0, 115, - 100, 0, 103, 114, 111, 117, 112, 95, 119, 101, 105, 103, 104, 116, 0, 115, 103, 99, 0, 99, 97, - 112, 97, 99, 105, 116, 121, 0, 109, 105, 110, 95, 99, 97, 112, 97, 99, 105, 116, 121, 0, 109, - 97, 120, 95, 99, 97, 112, 97, 99, 105, 116, 121, 0, 110, 101, 120, 116, 95, 117, 112, 100, 97, - 116, 101, 0, 105, 109, 98, 97, 108, 97, 110, 99, 101, 0, 115, 99, 104, 101, 100, 95, 103, 114, - 111, 117, 112, 95, 99, 97, 112, 97, 99, 105, 116, 121, 0, 97, 115, 121, 109, 95, 112, 114, 101, - 102, 101, 114, 95, 99, 112, 117, 0, 115, 99, 104, 101, 100, 95, 103, 114, 111, 117, 112, 0, - 109, 105, 110, 95, 105, 110, 116, 101, 114, 118, 97, 108, 0, 109, 97, 120, 95, 105, 110, 116, - 101, 114, 118, 97, 108, 0, 98, 117, 115, 121, 95, 102, 97, 99, 116, 111, 114, 0, 105, 109, 98, - 97, 108, 97, 110, 99, 101, 95, 112, 99, 116, 0, 99, 97, 99, 104, 101, 95, 110, 105, 99, 101, - 95, 116, 114, 105, 101, 115, 0, 110, 111, 104, 122, 95, 105, 100, 108, 101, 0, 108, 97, 115, - 116, 95, 98, 97, 108, 97, 110, 99, 101, 0, 98, 97, 108, 97, 110, 99, 101, 95, 105, 110, 116, - 101, 114, 118, 97, 108, 0, 110, 114, 95, 98, 97, 108, 97, 110, 99, 101, 95, 102, 97, 105, 108, - 101, 100, 0, 109, 97, 120, 95, 110, 101, 119, 105, 100, 108, 101, 95, 108, 98, 95, 99, 111, - 115, 116, 0, 110, 101, 120, 116, 95, 100, 101, 99, 97, 121, 95, 109, 97, 120, 95, 108, 98, 95, - 99, 111, 115, 116, 0, 97, 118, 103, 95, 115, 99, 97, 110, 95, 99, 111, 115, 116, 0, 108, 98, - 95, 99, 111, 117, 110, 116, 0, 108, 98, 95, 102, 97, 105, 108, 101, 100, 0, 108, 98, 95, 98, - 97, 108, 97, 110, 99, 101, 100, 0, 108, 98, 95, 105, 109, 98, 97, 108, 97, 110, 99, 101, 0, - 108, 98, 95, 103, 97, 105, 110, 101, 100, 0, 108, 98, 95, 104, 111, 116, 95, 103, 97, 105, 110, - 101, 100, 0, 108, 98, 95, 110, 111, 98, 117, 115, 121, 103, 0, 108, 98, 95, 110, 111, 98, 117, - 115, 121, 113, 0, 97, 108, 98, 95, 99, 111, 117, 110, 116, 0, 97, 108, 98, 95, 102, 97, 105, - 108, 101, 100, 0, 97, 108, 98, 95, 112, 117, 115, 104, 101, 100, 0, 115, 98, 101, 95, 99, 111, - 117, 110, 116, 0, 115, 98, 101, 95, 98, 97, 108, 97, 110, 99, 101, 100, 0, 115, 98, 101, 95, - 112, 117, 115, 104, 101, 100, 0, 115, 98, 102, 95, 99, 111, 117, 110, 116, 0, 115, 98, 102, 95, - 98, 97, 108, 97, 110, 99, 101, 100, 0, 115, 98, 102, 95, 112, 117, 115, 104, 101, 100, 0, 116, - 116, 119, 117, 95, 119, 97, 107, 101, 95, 114, 101, 109, 111, 116, 101, 0, 116, 116, 119, 117, - 95, 109, 111, 118, 101, 95, 97, 102, 102, 105, 110, 101, 0, 116, 116, 119, 117, 95, 109, 111, - 118, 101, 95, 98, 97, 108, 97, 110, 99, 101, 0, 115, 104, 97, 114, 101, 100, 0, 110, 114, 95, - 98, 117, 115, 121, 95, 99, 112, 117, 115, 0, 104, 97, 115, 95, 105, 100, 108, 101, 95, 99, 111, - 114, 101, 115, 0, 115, 99, 104, 101, 100, 95, 100, 111, 109, 97, 105, 110, 95, 115, 104, 97, - 114, 101, 100, 0, 115, 112, 97, 110, 95, 119, 101, 105, 103, 104, 116, 0, 115, 99, 104, 101, - 100, 95, 100, 111, 109, 97, 105, 110, 0, 99, 112, 117, 95, 99, 97, 112, 97, 99, 105, 116, 121, - 0, 99, 112, 117, 95, 99, 97, 112, 97, 99, 105, 116, 121, 95, 111, 114, 105, 103, 0, 98, 97, - 108, 97, 110, 99, 101, 95, 99, 97, 108, 108, 98, 97, 99, 107, 0, 110, 111, 104, 122, 95, 105, - 100, 108, 101, 95, 98, 97, 108, 97, 110, 99, 101, 0, 105, 100, 108, 101, 95, 98, 97, 108, 97, - 110, 99, 101, 0, 109, 105, 115, 102, 105, 116, 95, 116, 97, 115, 107, 95, 108, 111, 97, 100, 0, - 97, 99, 116, 105, 118, 101, 95, 98, 97, 108, 97, 110, 99, 101, 0, 112, 117, 115, 104, 95, 99, - 112, 117, 0, 97, 99, 116, 105, 118, 101, 95, 98, 97, 108, 97, 110, 99, 101, 95, 119, 111, 114, - 107, 0, 102, 110, 0, 99, 112, 117, 95, 115, 116, 111, 112, 95, 102, 110, 95, 116, 0, 99, 97, - 108, 108, 101, 114, 0, 110, 114, 95, 116, 111, 100, 111, 0, 114, 101, 116, 0, 99, 112, 117, 95, - 115, 116, 111, 112, 95, 100, 111, 110, 101, 0, 99, 112, 117, 95, 115, 116, 111, 112, 95, 119, - 111, 114, 107, 0, 99, 102, 115, 95, 116, 97, 115, 107, 115, 0, 97, 118, 103, 95, 114, 116, 0, - 97, 118, 103, 95, 100, 108, 0, 97, 118, 103, 95, 105, 114, 113, 0, 105, 100, 108, 101, 95, 115, - 116, 97, 109, 112, 0, 97, 118, 103, 95, 105, 100, 108, 101, 0, 119, 97, 107, 101, 95, 115, 116, - 97, 109, 112, 0, 119, 97, 107, 101, 95, 97, 118, 103, 95, 105, 100, 108, 101, 0, 109, 97, 120, - 95, 105, 100, 108, 101, 95, 98, 97, 108, 97, 110, 99, 101, 95, 99, 111, 115, 116, 0, 104, 111, - 116, 112, 108, 117, 103, 95, 119, 97, 105, 116, 0, 114, 99, 117, 119, 97, 105, 116, 0, 112, - 114, 101, 118, 95, 105, 114, 113, 95, 116, 105, 109, 101, 0, 112, 114, 101, 118, 95, 115, 116, - 101, 97, 108, 95, 116, 105, 109, 101, 0, 112, 114, 101, 118, 95, 115, 116, 101, 97, 108, 95, - 116, 105, 109, 101, 95, 114, 113, 0, 99, 97, 108, 99, 95, 108, 111, 97, 100, 95, 117, 112, 100, - 97, 116, 101, 0, 99, 97, 108, 99, 95, 108, 111, 97, 100, 95, 97, 99, 116, 105, 118, 101, 0, - 104, 114, 116, 105, 99, 107, 95, 99, 115, 100, 0, 104, 114, 116, 105, 99, 107, 95, 116, 105, - 109, 101, 114, 0, 104, 114, 116, 105, 99, 107, 95, 116, 105, 109, 101, 0, 114, 113, 95, 115, - 99, 104, 101, 100, 95, 105, 110, 102, 111, 0, 112, 99, 111, 117, 110, 116, 0, 114, 117, 110, - 95, 100, 101, 108, 97, 121, 0, 108, 97, 115, 116, 95, 97, 114, 114, 105, 118, 97, 108, 0, 108, - 97, 115, 116, 95, 113, 117, 101, 117, 101, 100, 0, 115, 99, 104, 101, 100, 95, 105, 110, 102, - 111, 0, 114, 113, 95, 99, 112, 117, 95, 116, 105, 109, 101, 0, 121, 108, 100, 95, 99, 111, 117, - 110, 116, 0, 115, 99, 104, 101, 100, 95, 99, 111, 117, 110, 116, 0, 115, 99, 104, 101, 100, 95, - 103, 111, 105, 100, 108, 101, 0, 116, 116, 119, 117, 95, 99, 111, 117, 110, 116, 0, 116, 116, - 119, 117, 95, 108, 111, 99, 97, 108, 0, 101, 120, 105, 116, 95, 108, 97, 116, 101, 110, 99, - 121, 95, 110, 115, 0, 116, 97, 114, 103, 101, 116, 95, 114, 101, 115, 105, 100, 101, 110, 99, - 121, 95, 110, 115, 0, 101, 120, 105, 116, 95, 108, 97, 116, 101, 110, 99, 121, 0, 112, 111, - 119, 101, 114, 95, 117, 115, 97, 103, 101, 0, 116, 97, 114, 103, 101, 116, 95, 114, 101, 115, - 105, 100, 101, 110, 99, 121, 0, 101, 110, 116, 101, 114, 0, 114, 101, 103, 105, 115, 116, 101, - 114, 101, 100, 0, 101, 110, 97, 98, 108, 101, 100, 0, 112, 111, 108, 108, 95, 116, 105, 109, - 101, 95, 108, 105, 109, 105, 116, 0, 110, 101, 120, 116, 95, 104, 114, 116, 105, 109, 101, 114, - 0, 108, 97, 115, 116, 95, 115, 116, 97, 116, 101, 95, 105, 100, 120, 0, 108, 97, 115, 116, 95, - 114, 101, 115, 105, 100, 101, 110, 99, 121, 95, 110, 115, 0, 112, 111, 108, 108, 95, 108, 105, - 109, 105, 116, 95, 110, 115, 0, 102, 111, 114, 99, 101, 100, 95, 105, 100, 108, 101, 95, 108, - 97, 116, 101, 110, 99, 121, 95, 108, 105, 109, 105, 116, 95, 110, 115, 0, 115, 116, 97, 116, - 101, 115, 95, 117, 115, 97, 103, 101, 0, 116, 105, 109, 101, 95, 110, 115, 0, 97, 98, 111, 118, - 101, 0, 98, 101, 108, 111, 119, 0, 114, 101, 106, 101, 99, 116, 101, 100, 0, 115, 50, 105, 100, - 108, 101, 95, 117, 115, 97, 103, 101, 0, 115, 50, 105, 100, 108, 101, 95, 116, 105, 109, 101, - 0, 99, 112, 117, 105, 100, 108, 101, 95, 115, 116, 97, 116, 101, 95, 117, 115, 97, 103, 101, 0, - 107, 111, 98, 106, 115, 0, 115, 116, 97, 116, 101, 95, 117, 115, 97, 103, 101, 0, 107, 111, 98, - 106, 95, 117, 110, 114, 101, 103, 105, 115, 116, 101, 114, 0, 99, 112, 117, 105, 100, 108, 101, - 95, 115, 116, 97, 116, 101, 95, 107, 111, 98, 106, 0, 107, 111, 98, 106, 95, 100, 114, 105, - 118, 101, 114, 0, 99, 112, 117, 105, 100, 108, 101, 95, 100, 114, 105, 118, 101, 114, 95, 107, - 111, 98, 106, 0, 107, 111, 98, 106, 95, 100, 101, 118, 0, 99, 112, 117, 105, 100, 108, 101, 95, - 100, 101, 118, 105, 99, 101, 95, 107, 111, 98, 106, 0, 100, 101, 118, 105, 99, 101, 95, 108, - 105, 115, 116, 0, 99, 112, 117, 105, 100, 108, 101, 95, 100, 101, 118, 105, 99, 101, 0, 98, 99, - 116, 105, 109, 101, 114, 0, 115, 116, 97, 116, 101, 95, 99, 111, 117, 110, 116, 0, 115, 97, - 102, 101, 95, 115, 116, 97, 116, 101, 95, 105, 110, 100, 101, 120, 0, 103, 111, 118, 101, 114, - 110, 111, 114, 0, 99, 112, 117, 105, 100, 108, 101, 95, 100, 114, 105, 118, 101, 114, 0, 101, - 110, 116, 101, 114, 95, 100, 101, 97, 100, 0, 101, 110, 116, 101, 114, 95, 115, 50, 105, 100, - 108, 101, 0, 99, 112, 117, 105, 100, 108, 101, 95, 115, 116, 97, 116, 101, 0, 110, 114, 95, - 112, 105, 110, 110, 101, 100, 0, 112, 117, 115, 104, 95, 98, 117, 115, 121, 0, 112, 117, 115, - 104, 95, 119, 111, 114, 107, 0, 99, 111, 114, 101, 0, 99, 111, 114, 101, 95, 112, 105, 99, 107, - 0, 99, 111, 114, 101, 95, 101, 110, 97, 98, 108, 101, 100, 0, 99, 111, 114, 101, 95, 115, 99, - 104, 101, 100, 95, 115, 101, 113, 0, 99, 111, 114, 101, 95, 116, 114, 101, 101, 0, 99, 111, - 114, 101, 95, 116, 97, 115, 107, 95, 115, 101, 113, 0, 99, 111, 114, 101, 95, 112, 105, 99, - 107, 95, 115, 101, 113, 0, 99, 111, 114, 101, 95, 99, 111, 111, 107, 105, 101, 0, 99, 111, 114, - 101, 95, 102, 111, 114, 99, 101, 105, 100, 108, 101, 0, 99, 111, 114, 101, 95, 102, 111, 114, - 99, 101, 105, 100, 108, 101, 95, 115, 101, 113, 0, 100, 101, 113, 117, 101, 117, 101, 95, 116, - 97, 115, 107, 0, 121, 105, 101, 108, 100, 95, 116, 97, 115, 107, 0, 121, 105, 101, 108, 100, - 95, 116, 111, 95, 116, 97, 115, 107, 0, 99, 104, 101, 99, 107, 95, 112, 114, 101, 101, 109, - 112, 116, 95, 99, 117, 114, 114, 0, 112, 105, 99, 107, 95, 110, 101, 120, 116, 95, 116, 97, - 115, 107, 0, 112, 117, 116, 95, 112, 114, 101, 118, 95, 116, 97, 115, 107, 0, 115, 101, 116, - 95, 110, 101, 120, 116, 95, 116, 97, 115, 107, 0, 98, 97, 108, 97, 110, 99, 101, 0, 99, 111, - 111, 107, 105, 101, 0, 112, 105, 110, 95, 99, 111, 111, 107, 105, 101, 0, 114, 113, 95, 102, - 108, 97, 103, 115, 0, 115, 101, 108, 101, 99, 116, 95, 116, 97, 115, 107, 95, 114, 113, 0, 112, - 105, 99, 107, 95, 116, 97, 115, 107, 0, 109, 105, 103, 114, 97, 116, 101, 95, 116, 97, 115, - 107, 95, 114, 113, 0, 116, 97, 115, 107, 95, 119, 111, 107, 101, 110, 0, 115, 101, 116, 95, 99, - 112, 117, 115, 95, 97, 108, 108, 111, 119, 101, 100, 0, 114, 113, 95, 111, 110, 108, 105, 110, - 101, 0, 114, 113, 95, 111, 102, 102, 108, 105, 110, 101, 0, 102, 105, 110, 100, 95, 108, 111, - 99, 107, 95, 114, 113, 0, 116, 97, 115, 107, 95, 116, 105, 99, 107, 0, 116, 97, 115, 107, 95, - 102, 111, 114, 107, 0, 116, 97, 115, 107, 95, 100, 101, 97, 100, 0, 115, 119, 105, 116, 99, - 104, 101, 100, 95, 102, 114, 111, 109, 0, 115, 119, 105, 116, 99, 104, 101, 100, 95, 116, 111, - 0, 112, 114, 105, 111, 95, 99, 104, 97, 110, 103, 101, 100, 0, 103, 101, 116, 95, 114, 114, 95, - 105, 110, 116, 101, 114, 118, 97, 108, 0, 117, 112, 100, 97, 116, 101, 95, 99, 117, 114, 114, - 0, 116, 97, 115, 107, 95, 99, 104, 97, 110, 103, 101, 95, 103, 114, 111, 117, 112, 0, 114, 117, - 110, 95, 108, 105, 115, 116, 0, 116, 105, 109, 101, 111, 117, 116, 0, 119, 97, 116, 99, 104, - 100, 111, 103, 95, 115, 116, 97, 109, 112, 0, 116, 105, 109, 101, 95, 115, 108, 105, 99, 101, - 0, 98, 97, 99, 107, 0, 115, 99, 104, 101, 100, 95, 114, 116, 95, 101, 110, 116, 105, 116, 121, - 0, 100, 108, 95, 114, 117, 110, 116, 105, 109, 101, 0, 100, 108, 95, 100, 101, 97, 100, 108, - 105, 110, 101, 0, 100, 108, 95, 112, 101, 114, 105, 111, 100, 0, 100, 108, 95, 100, 101, 110, - 115, 105, 116, 121, 0, 100, 101, 97, 100, 108, 105, 110, 101, 0, 100, 108, 95, 116, 104, 114, - 111, 116, 116, 108, 101, 100, 0, 100, 108, 95, 121, 105, 101, 108, 100, 101, 100, 0, 100, 108, - 95, 110, 111, 110, 95, 99, 111, 110, 116, 101, 110, 100, 105, 110, 103, 0, 100, 108, 95, 111, - 118, 101, 114, 114, 117, 110, 0, 100, 108, 95, 116, 105, 109, 101, 114, 0, 105, 110, 97, 99, - 116, 105, 118, 101, 95, 116, 105, 109, 101, 114, 0, 112, 105, 95, 115, 101, 0, 115, 99, 104, - 101, 100, 95, 100, 108, 95, 101, 110, 116, 105, 116, 121, 0, 99, 111, 114, 101, 95, 110, 111, - 100, 101, 0, 99, 111, 114, 101, 95, 111, 99, 99, 117, 112, 97, 116, 105, 111, 110, 0, 115, 99, - 104, 101, 100, 95, 116, 97, 115, 107, 95, 103, 114, 111, 117, 112, 0, 112, 114, 101, 101, 109, - 112, 116, 95, 110, 111, 116, 105, 102, 105, 101, 114, 115, 0, 98, 116, 114, 97, 99, 101, 95, - 115, 101, 113, 0, 112, 111, 108, 105, 99, 121, 0, 110, 114, 95, 99, 112, 117, 115, 95, 97, 108, - 108, 111, 119, 101, 100, 0, 99, 112, 117, 115, 95, 112, 116, 114, 0, 117, 115, 101, 114, 95, - 99, 112, 117, 115, 95, 112, 116, 114, 0, 99, 112, 117, 115, 95, 109, 97, 115, 107, 0, 109, 105, - 103, 114, 97, 116, 105, 111, 110, 95, 112, 101, 110, 100, 105, 110, 103, 0, 109, 105, 103, 114, - 97, 116, 105, 111, 110, 95, 100, 105, 115, 97, 98, 108, 101, 100, 0, 109, 105, 103, 114, 97, - 116, 105, 111, 110, 95, 102, 108, 97, 103, 115, 0, 114, 99, 117, 95, 114, 101, 97, 100, 95, - 108, 111, 99, 107, 95, 110, 101, 115, 116, 105, 110, 103, 0, 114, 99, 117, 95, 114, 101, 97, - 100, 95, 117, 110, 108, 111, 99, 107, 95, 115, 112, 101, 99, 105, 97, 108, 0, 98, 0, 98, 108, - 111, 99, 107, 101, 100, 0, 110, 101, 101, 100, 95, 113, 115, 0, 101, 120, 112, 95, 104, 105, - 110, 116, 0, 110, 101, 101, 100, 95, 109, 98, 0, 115, 0, 114, 99, 117, 95, 115, 112, 101, 99, - 105, 97, 108, 0, 114, 99, 117, 95, 110, 111, 100, 101, 95, 101, 110, 116, 114, 121, 0, 114, 99, - 117, 95, 98, 108, 111, 99, 107, 101, 100, 95, 110, 111, 100, 101, 0, 103, 112, 95, 115, 101, - 113, 0, 103, 112, 95, 115, 101, 113, 95, 110, 101, 101, 100, 101, 100, 0, 99, 111, 109, 112, - 108, 101, 116, 101, 100, 113, 115, 0, 113, 115, 109, 97, 115, 107, 0, 114, 99, 117, 95, 103, - 112, 95, 105, 110, 105, 116, 95, 109, 97, 115, 107, 0, 113, 115, 109, 97, 115, 107, 105, 110, - 105, 116, 0, 113, 115, 109, 97, 115, 107, 105, 110, 105, 116, 110, 101, 120, 116, 0, 111, 102, - 108, 95, 115, 101, 113, 0, 101, 120, 112, 109, 97, 115, 107, 0, 101, 120, 112, 109, 97, 115, - 107, 105, 110, 105, 116, 0, 101, 120, 112, 109, 97, 115, 107, 105, 110, 105, 116, 110, 101, - 120, 116, 0, 99, 98, 111, 118, 108, 100, 109, 97, 115, 107, 0, 102, 102, 109, 97, 115, 107, 0, - 103, 114, 112, 109, 97, 115, 107, 0, 103, 114, 112, 108, 111, 0, 103, 114, 112, 104, 105, 0, - 103, 114, 112, 110, 117, 109, 0, 119, 97, 105, 116, 95, 98, 108, 107, 100, 95, 116, 97, 115, - 107, 115, 0, 98, 108, 107, 100, 95, 116, 97, 115, 107, 115, 0, 103, 112, 95, 116, 97, 115, 107, - 115, 0, 101, 120, 112, 95, 116, 97, 115, 107, 115, 0, 98, 111, 111, 115, 116, 95, 116, 97, 115, - 107, 115, 0, 98, 111, 111, 115, 116, 95, 109, 116, 120, 0, 114, 116, 109, 117, 116, 101, 120, - 0, 119, 97, 105, 116, 101, 114, 115, 0, 114, 116, 95, 109, 117, 116, 101, 120, 95, 98, 97, 115, - 101, 0, 114, 116, 95, 109, 117, 116, 101, 120, 0, 98, 111, 111, 115, 116, 95, 116, 105, 109, - 101, 0, 98, 111, 111, 115, 116, 95, 107, 116, 104, 114, 101, 97, 100, 95, 116, 97, 115, 107, 0, - 98, 111, 111, 115, 116, 95, 107, 116, 104, 114, 101, 97, 100, 95, 115, 116, 97, 116, 117, 115, - 0, 110, 95, 98, 111, 111, 115, 116, 115, 0, 102, 113, 115, 108, 111, 99, 107, 0, 101, 120, 112, - 95, 108, 111, 99, 107, 0, 101, 120, 112, 95, 115, 101, 113, 95, 114, 113, 0, 101, 120, 112, 95, - 119, 113, 0, 114, 101, 119, 0, 114, 101, 119, 95, 115, 0, 114, 101, 119, 95, 119, 111, 114, - 107, 0, 114, 99, 117, 95, 101, 120, 112, 95, 119, 111, 114, 107, 0, 101, 120, 112, 95, 110, - 101, 101, 100, 95, 102, 108, 117, 115, 104, 0, 114, 99, 117, 95, 110, 111, 100, 101, 0, 114, - 99, 117, 95, 116, 97, 115, 107, 115, 95, 110, 118, 99, 115, 119, 0, 114, 99, 117, 95, 116, 97, - 115, 107, 115, 95, 104, 111, 108, 100, 111, 117, 116, 0, 114, 99, 117, 95, 116, 97, 115, 107, - 115, 95, 105, 100, 120, 0, 114, 99, 117, 95, 116, 97, 115, 107, 115, 95, 105, 100, 108, 101, - 95, 99, 112, 117, 0, 114, 99, 117, 95, 116, 97, 115, 107, 115, 95, 104, 111, 108, 100, 111, - 117, 116, 95, 108, 105, 115, 116, 0, 116, 114, 99, 95, 114, 101, 97, 100, 101, 114, 95, 110, - 101, 115, 116, 105, 110, 103, 0, 116, 114, 99, 95, 105, 112, 105, 95, 116, 111, 95, 99, 112, - 117, 0, 116, 114, 99, 95, 114, 101, 97, 100, 101, 114, 95, 115, 112, 101, 99, 105, 97, 108, 0, - 116, 114, 99, 95, 114, 101, 97, 100, 101, 114, 95, 99, 104, 101, 99, 107, 101, 100, 0, 116, - 114, 99, 95, 104, 111, 108, 100, 111, 117, 116, 95, 108, 105, 115, 116, 0, 112, 117, 115, 104, - 97, 98, 108, 101, 95, 100, 108, 95, 116, 97, 115, 107, 115, 0, 97, 99, 116, 105, 118, 101, 95, - 109, 109, 0, 118, 109, 97, 99, 97, 99, 104, 101, 0, 115, 101, 113, 110, 117, 109, 0, 118, 109, - 97, 115, 0, 116, 97, 115, 107, 95, 114, 115, 115, 95, 115, 116, 97, 116, 0, 101, 120, 105, 116, - 95, 115, 116, 97, 116, 101, 0, 101, 120, 105, 116, 95, 99, 111, 100, 101, 0, 101, 120, 105, - 116, 95, 115, 105, 103, 110, 97, 108, 0, 112, 100, 101, 97, 116, 104, 95, 115, 105, 103, 110, - 97, 108, 0, 106, 111, 98, 99, 116, 108, 0, 112, 101, 114, 115, 111, 110, 97, 108, 105, 116, - 121, 0, 115, 99, 104, 101, 100, 95, 114, 101, 115, 101, 116, 95, 111, 110, 95, 102, 111, 114, - 107, 0, 115, 99, 104, 101, 100, 95, 99, 111, 110, 116, 114, 105, 98, 117, 116, 101, 115, 95, - 116, 111, 95, 108, 111, 97, 100, 0, 115, 99, 104, 101, 100, 95, 109, 105, 103, 114, 97, 116, - 101, 100, 0, 115, 99, 104, 101, 100, 95, 112, 115, 105, 95, 119, 97, 107, 101, 95, 114, 101, - 113, 117, 101, 117, 101, 0, 115, 99, 104, 101, 100, 95, 114, 101, 109, 111, 116, 101, 95, 119, - 97, 107, 101, 117, 112, 0, 105, 110, 95, 101, 120, 101, 99, 118, 101, 0, 105, 110, 95, 105, - 111, 119, 97, 105, 116, 0, 114, 101, 115, 116, 111, 114, 101, 95, 115, 105, 103, 109, 97, 115, - 107, 0, 105, 110, 95, 117, 115, 101, 114, 95, 102, 97, 117, 108, 116, 0, 110, 111, 95, 99, 103, - 114, 111, 117, 112, 95, 109, 105, 103, 114, 97, 116, 105, 111, 110, 0, 117, 115, 101, 95, 109, - 101, 109, 100, 101, 108, 97, 121, 0, 105, 110, 95, 109, 101, 109, 115, 116, 97, 108, 108, 0, - 105, 110, 95, 101, 118, 101, 110, 116, 102, 100, 95, 115, 105, 103, 110, 97, 108, 0, 97, 116, - 111, 109, 105, 99, 95, 102, 108, 97, 103, 115, 0, 114, 101, 115, 116, 97, 114, 116, 95, 98, - 108, 111, 99, 107, 0, 102, 117, 116, 101, 120, 0, 117, 97, 100, 100, 114, 0, 98, 105, 116, 115, - 101, 116, 0, 116, 105, 109, 101, 0, 117, 97, 100, 100, 114, 50, 0, 110, 97, 110, 111, 115, 108, - 101, 101, 112, 0, 84, 84, 95, 78, 79, 78, 69, 0, 84, 84, 95, 78, 65, 84, 73, 86, 69, 0, 84, 84, - 95, 67, 79, 77, 80, 65, 84, 0, 116, 105, 109, 101, 115, 112, 101, 99, 95, 116, 121, 112, 101, - 0, 114, 109, 116, 112, 0, 95, 95, 107, 101, 114, 110, 101, 108, 95, 116, 105, 109, 101, 54, 52, - 95, 116, 0, 95, 95, 107, 101, 114, 110, 101, 108, 95, 116, 105, 109, 101, 115, 112, 101, 99, 0, - 99, 111, 109, 112, 97, 116, 95, 114, 109, 116, 112, 0, 111, 108, 100, 95, 116, 105, 109, 101, - 51, 50, 95, 116, 0, 111, 108, 100, 95, 116, 105, 109, 101, 115, 112, 101, 99, 51, 50, 0, 117, - 102, 100, 115, 0, 114, 101, 118, 101, 110, 116, 115, 0, 112, 111, 108, 108, 102, 100, 0, 110, - 102, 100, 115, 0, 104, 97, 115, 95, 116, 105, 109, 101, 111, 117, 116, 0, 95, 95, 107, 101, - 114, 110, 101, 108, 95, 112, 105, 100, 95, 116, 0, 112, 105, 100, 95, 116, 0, 116, 103, 105, - 100, 0, 115, 116, 97, 99, 107, 95, 99, 97, 110, 97, 114, 121, 0, 114, 101, 97, 108, 95, 112, - 97, 114, 101, 110, 116, 0, 103, 114, 111, 117, 112, 95, 108, 101, 97, 100, 101, 114, 0, 112, - 116, 114, 97, 99, 101, 100, 0, 112, 116, 114, 97, 99, 101, 95, 101, 110, 116, 114, 121, 0, 116, - 104, 114, 101, 97, 100, 95, 112, 105, 100, 0, 105, 110, 111, 100, 101, 115, 0, 119, 97, 105, - 116, 95, 112, 105, 100, 102, 100, 0, 110, 117, 109, 98, 101, 114, 115, 0, 112, 105, 100, 95, - 97, 108, 108, 111, 99, 97, 116, 101, 100, 0, 99, 104, 105, 108, 100, 95, 114, 101, 97, 112, - 101, 114, 0, 112, 105, 100, 95, 99, 97, 99, 104, 101, 112, 0, 99, 112, 117, 95, 115, 108, 97, - 98, 0, 116, 105, 100, 0, 108, 111, 99, 97, 108, 95, 108, 111, 99, 107, 95, 116, 0, 107, 109, - 101, 109, 95, 99, 97, 99, 104, 101, 95, 99, 112, 117, 0, 115, 108, 97, 98, 95, 102, 108, 97, - 103, 115, 95, 116, 0, 109, 105, 110, 95, 112, 97, 114, 116, 105, 97, 108, 0, 111, 98, 106, 101, - 99, 116, 95, 115, 105, 122, 101, 0, 114, 101, 99, 105, 112, 114, 111, 99, 97, 108, 95, 115, - 105, 122, 101, 0, 109, 0, 115, 104, 49, 0, 115, 104, 50, 0, 114, 101, 99, 105, 112, 114, 111, - 99, 97, 108, 95, 118, 97, 108, 117, 101, 0, 99, 112, 117, 95, 112, 97, 114, 116, 105, 97, 108, - 0, 111, 111, 0, 107, 109, 101, 109, 95, 99, 97, 99, 104, 101, 95, 111, 114, 100, 101, 114, 95, - 111, 98, 106, 101, 99, 116, 115, 0, 97, 108, 108, 111, 99, 102, 108, 97, 103, 115, 0, 99, 116, - 111, 114, 0, 105, 110, 117, 115, 101, 0, 97, 108, 105, 103, 110, 0, 114, 101, 100, 95, 108, - 101, 102, 116, 95, 112, 97, 100, 0, 114, 97, 110, 100, 111, 109, 0, 114, 101, 109, 111, 116, - 101, 95, 110, 111, 100, 101, 95, 100, 101, 102, 114, 97, 103, 95, 114, 97, 116, 105, 111, 0, - 114, 97, 110, 100, 111, 109, 95, 115, 101, 113, 0, 117, 115, 101, 114, 111, 102, 102, 115, 101, - 116, 0, 117, 115, 101, 114, 115, 105, 122, 101, 0, 110, 114, 95, 112, 97, 114, 116, 105, 97, - 108, 0, 110, 114, 95, 115, 108, 97, 98, 115, 0, 116, 111, 116, 97, 108, 95, 111, 98, 106, 101, - 99, 116, 115, 0, 102, 117, 108, 108, 0, 107, 109, 101, 109, 95, 99, 97, 99, 104, 101, 95, 110, - 111, 100, 101, 0, 107, 109, 101, 109, 95, 99, 97, 99, 104, 101, 0, 98, 97, 99, 99, 116, 0, 109, - 95, 108, 105, 115, 116, 0, 107, 105, 108, 108, 0, 102, 115, 95, 112, 105, 110, 0, 117, 99, 111, - 117, 110, 116, 115, 0, 117, 99, 111, 117, 110, 116, 0, 114, 101, 98, 111, 111, 116, 0, 112, - 105, 100, 95, 110, 97, 109, 101, 115, 112, 97, 99, 101, 0, 117, 112, 105, 100, 0, 112, 105, - 100, 95, 108, 105, 110, 107, 115, 0, 116, 104, 114, 101, 97, 100, 95, 103, 114, 111, 117, 112, - 0, 116, 104, 114, 101, 97, 100, 95, 110, 111, 100, 101, 0, 118, 102, 111, 114, 107, 95, 100, - 111, 110, 101, 0, 115, 101, 116, 95, 99, 104, 105, 108, 100, 95, 116, 105, 100, 0, 99, 108, - 101, 97, 114, 95, 99, 104, 105, 108, 100, 95, 116, 105, 100, 0, 112, 102, 95, 105, 111, 95, - 119, 111, 114, 107, 101, 114, 0, 103, 116, 105, 109, 101, 0, 110, 118, 99, 115, 119, 0, 110, - 105, 118, 99, 115, 119, 0, 115, 116, 97, 114, 116, 95, 116, 105, 109, 101, 0, 115, 116, 97, - 114, 116, 95, 98, 111, 111, 116, 116, 105, 109, 101, 0, 109, 105, 110, 95, 102, 108, 116, 0, - 109, 97, 106, 95, 102, 108, 116, 0, 112, 111, 115, 105, 120, 95, 99, 112, 117, 116, 105, 109, - 101, 114, 115, 0, 98, 97, 115, 101, 115, 0, 110, 101, 120, 116, 101, 118, 116, 0, 116, 113, - 104, 101, 97, 100, 0, 112, 111, 115, 105, 120, 95, 99, 112, 117, 116, 105, 109, 101, 114, 95, - 98, 97, 115, 101, 0, 116, 105, 109, 101, 114, 115, 95, 97, 99, 116, 105, 118, 101, 0, 101, 120, - 112, 105, 114, 121, 95, 97, 99, 116, 105, 118, 101, 0, 112, 111, 115, 105, 120, 95, 99, 112, - 117, 116, 105, 109, 101, 114, 115, 95, 119, 111, 114, 107, 0, 112, 116, 114, 97, 99, 101, 114, - 95, 99, 114, 101, 100, 0, 114, 101, 97, 108, 95, 99, 114, 101, 100, 0, 99, 97, 99, 104, 101, - 100, 95, 114, 101, 113, 117, 101, 115, 116, 101, 100, 95, 107, 101, 121, 0, 99, 111, 109, 109, - 0, 110, 97, 109, 101, 105, 100, 97, 116, 97, 0, 105, 110, 111, 100, 101, 0, 109, 95, 115, 101, - 113, 0, 114, 95, 115, 101, 113, 0, 108, 97, 115, 116, 95, 116, 121, 112, 101, 0, 116, 111, 116, - 97, 108, 95, 108, 105, 110, 107, 95, 99, 111, 117, 110, 116, 0, 100, 101, 108, 97, 121, 101, - 100, 95, 99, 97, 108, 108, 0, 115, 97, 118, 101, 100, 0, 105, 110, 116, 101, 114, 110, 97, 108, - 0, 114, 111, 111, 116, 95, 115, 101, 113, 0, 100, 102, 100, 0, 100, 105, 114, 95, 117, 105, - 100, 0, 100, 105, 114, 95, 109, 111, 100, 101, 0, 115, 121, 115, 118, 115, 101, 109, 0, 117, - 110, 100, 111, 95, 108, 105, 115, 116, 0, 108, 105, 115, 116, 95, 112, 114, 111, 99, 0, 115, - 101, 109, 95, 117, 110, 100, 111, 95, 108, 105, 115, 116, 0, 115, 121, 115, 118, 95, 115, 101, - 109, 0, 115, 121, 115, 118, 115, 104, 109, 0, 115, 104, 109, 95, 99, 108, 105, 115, 116, 0, - 115, 121, 115, 118, 95, 115, 104, 109, 0, 108, 97, 115, 116, 95, 115, 119, 105, 116, 99, 104, - 95, 99, 111, 117, 110, 116, 0, 108, 97, 115, 116, 95, 115, 119, 105, 116, 99, 104, 95, 116, - 105, 109, 101, 0, 102, 115, 0, 117, 109, 97, 115, 107, 0, 105, 110, 95, 101, 120, 101, 99, 0, - 112, 119, 100, 0, 102, 115, 95, 115, 116, 114, 117, 99, 116, 0, 114, 101, 115, 105, 122, 101, - 95, 105, 110, 95, 112, 114, 111, 103, 114, 101, 115, 115, 0, 114, 101, 115, 105, 122, 101, 95, - 119, 97, 105, 116, 0, 102, 100, 116, 0, 109, 97, 120, 95, 102, 100, 115, 0, 99, 108, 111, 115, - 101, 95, 111, 110, 95, 101, 120, 101, 99, 0, 111, 112, 101, 110, 95, 102, 100, 115, 0, 102, - 117, 108, 108, 95, 102, 100, 115, 95, 98, 105, 116, 115, 0, 102, 100, 116, 97, 98, 108, 101, 0, - 102, 100, 116, 97, 98, 0, 102, 105, 108, 101, 95, 108, 111, 99, 107, 0, 110, 101, 120, 116, 95, - 102, 100, 0, 99, 108, 111, 115, 101, 95, 111, 110, 95, 101, 120, 101, 99, 95, 105, 110, 105, - 116, 0, 111, 112, 101, 110, 95, 102, 100, 115, 95, 105, 110, 105, 116, 0, 102, 117, 108, 108, - 95, 102, 100, 115, 95, 98, 105, 116, 115, 95, 105, 110, 105, 116, 0, 102, 105, 108, 101, 115, - 95, 115, 116, 114, 117, 99, 116, 0, 105, 111, 95, 117, 114, 105, 110, 103, 0, 99, 97, 99, 104, - 101, 100, 95, 114, 101, 102, 115, 0, 114, 105, 110, 103, 115, 0, 115, 113, 0, 99, 113, 0, 115, - 113, 95, 114, 105, 110, 103, 95, 109, 97, 115, 107, 0, 99, 113, 95, 114, 105, 110, 103, 95, - 109, 97, 115, 107, 0, 115, 113, 95, 114, 105, 110, 103, 95, 101, 110, 116, 114, 105, 101, 115, - 0, 99, 113, 95, 114, 105, 110, 103, 95, 101, 110, 116, 114, 105, 101, 115, 0, 115, 113, 95, - 100, 114, 111, 112, 112, 101, 100, 0, 115, 113, 95, 102, 108, 97, 103, 115, 0, 99, 113, 95, - 102, 108, 97, 103, 115, 0, 99, 113, 95, 111, 118, 101, 114, 102, 108, 111, 119, 0, 99, 113, - 101, 115, 0, 117, 115, 101, 114, 95, 100, 97, 116, 97, 0, 114, 101, 115, 0, 105, 111, 95, 117, - 114, 105, 110, 103, 95, 99, 113, 101, 0, 105, 111, 95, 114, 105, 110, 103, 115, 0, 99, 111, - 109, 112, 97, 116, 0, 100, 114, 97, 105, 110, 95, 110, 101, 120, 116, 0, 101, 118, 101, 110, - 116, 102, 100, 95, 97, 115, 121, 110, 99, 0, 114, 101, 115, 116, 114, 105, 99, 116, 101, 100, - 0, 111, 102, 102, 95, 116, 105, 109, 101, 111, 117, 116, 95, 117, 115, 101, 100, 0, 100, 114, - 97, 105, 110, 95, 97, 99, 116, 105, 118, 101, 0, 117, 114, 105, 110, 103, 95, 108, 111, 99, - 107, 0, 115, 113, 95, 97, 114, 114, 97, 121, 0, 115, 113, 95, 115, 113, 101, 115, 0, 111, 112, - 99, 111, 100, 101, 0, 105, 111, 112, 114, 105, 111, 0, 97, 100, 100, 114, 50, 0, 115, 112, 108, - 105, 99, 101, 95, 111, 102, 102, 95, 105, 110, 0, 114, 119, 95, 102, 108, 97, 103, 115, 0, 95, - 95, 107, 101, 114, 110, 101, 108, 95, 114, 119, 102, 95, 116, 0, 102, 115, 121, 110, 99, 95, - 102, 108, 97, 103, 115, 0, 112, 111, 108, 108, 95, 101, 118, 101, 110, 116, 115, 0, 112, 111, - 108, 108, 51, 50, 95, 101, 118, 101, 110, 116, 115, 0, 115, 121, 110, 99, 95, 114, 97, 110, - 103, 101, 95, 102, 108, 97, 103, 115, 0, 109, 115, 103, 95, 102, 108, 97, 103, 115, 0, 116, - 105, 109, 101, 111, 117, 116, 95, 102, 108, 97, 103, 115, 0, 97, 99, 99, 101, 112, 116, 95, - 102, 108, 97, 103, 115, 0, 99, 97, 110, 99, 101, 108, 95, 102, 108, 97, 103, 115, 0, 115, 116, - 97, 116, 120, 95, 102, 108, 97, 103, 115, 0, 102, 97, 100, 118, 105, 115, 101, 95, 97, 100, - 118, 105, 99, 101, 0, 115, 112, 108, 105, 99, 101, 95, 102, 108, 97, 103, 115, 0, 114, 101, - 110, 97, 109, 101, 95, 102, 108, 97, 103, 115, 0, 117, 110, 108, 105, 110, 107, 95, 102, 108, - 97, 103, 115, 0, 104, 97, 114, 100, 108, 105, 110, 107, 95, 102, 108, 97, 103, 115, 0, 98, 117, - 102, 95, 105, 110, 100, 101, 120, 0, 98, 117, 102, 95, 103, 114, 111, 117, 112, 0, 115, 112, - 108, 105, 99, 101, 95, 102, 100, 95, 105, 110, 0, 102, 105, 108, 101, 95, 105, 110, 100, 101, - 120, 0, 95, 95, 112, 97, 100, 50, 0, 105, 111, 95, 117, 114, 105, 110, 103, 95, 115, 113, 101, - 0, 99, 97, 99, 104, 101, 100, 95, 115, 113, 95, 104, 101, 97, 100, 0, 115, 113, 95, 101, 110, - 116, 114, 105, 101, 115, 0, 100, 101, 102, 101, 114, 95, 108, 105, 115, 116, 0, 114, 115, 114, - 99, 95, 110, 111, 100, 101, 0, 114, 115, 114, 99, 95, 108, 105, 115, 116, 0, 114, 115, 114, 99, - 95, 100, 97, 116, 97, 0, 99, 116, 120, 0, 116, 97, 103, 115, 0, 100, 111, 95, 112, 117, 116, 0, - 114, 115, 114, 99, 0, 117, 98, 117, 102, 95, 101, 110, 100, 0, 110, 114, 95, 98, 118, 101, 99, - 115, 0, 97, 99, 99, 116, 95, 112, 97, 103, 101, 115, 0, 105, 111, 95, 109, 97, 112, 112, 101, - 100, 95, 117, 98, 117, 102, 0, 105, 111, 95, 114, 115, 114, 99, 95, 112, 117, 116, 0, 114, 115, - 114, 99, 95, 112, 117, 116, 95, 102, 110, 0, 113, 117, 105, 101, 115, 99, 101, 0, 105, 111, 95, - 114, 115, 114, 99, 95, 100, 97, 116, 97, 0, 105, 111, 95, 114, 115, 114, 99, 95, 110, 111, 100, - 101, 0, 102, 105, 108, 101, 95, 116, 97, 98, 108, 101, 0, 102, 105, 108, 101, 95, 112, 116, - 114, 0, 105, 111, 95, 102, 105, 120, 101, 100, 95, 102, 105, 108, 101, 0, 105, 111, 95, 102, - 105, 108, 101, 95, 116, 97, 98, 108, 101, 0, 110, 114, 95, 117, 115, 101, 114, 95, 102, 105, - 108, 101, 115, 0, 110, 114, 95, 117, 115, 101, 114, 95, 98, 117, 102, 115, 0, 117, 115, 101, - 114, 95, 98, 117, 102, 115, 0, 115, 117, 98, 109, 105, 116, 95, 115, 116, 97, 116, 101, 0, 112, - 108, 117, 103, 0, 109, 113, 95, 108, 105, 115, 116, 0, 99, 98, 95, 108, 105, 115, 116, 0, 114, - 113, 95, 99, 111, 117, 110, 116, 0, 109, 117, 108, 116, 105, 112, 108, 101, 95, 113, 117, 101, - 117, 101, 115, 0, 110, 111, 119, 97, 105, 116, 0, 98, 108, 107, 95, 112, 108, 117, 103, 0, 114, - 119, 0, 105, 111, 95, 114, 119, 0, 99, 97, 110, 99, 101, 108, 101, 100, 0, 105, 111, 95, 112, - 111, 108, 108, 95, 105, 111, 99, 98, 0, 112, 111, 108, 108, 95, 117, 112, 100, 97, 116, 101, 0, - 111, 108, 100, 95, 117, 115, 101, 114, 95, 100, 97, 116, 97, 0, 110, 101, 119, 95, 117, 115, - 101, 114, 95, 100, 97, 116, 97, 0, 117, 112, 100, 97, 116, 101, 95, 101, 118, 101, 110, 116, - 115, 0, 117, 112, 100, 97, 116, 101, 95, 117, 115, 101, 114, 95, 100, 97, 116, 97, 0, 105, 111, - 95, 112, 111, 108, 108, 95, 117, 112, 100, 97, 116, 101, 0, 97, 100, 100, 114, 95, 108, 101, - 110, 0, 102, 105, 108, 101, 95, 115, 108, 111, 116, 0, 110, 111, 102, 105, 108, 101, 0, 105, - 111, 95, 97, 99, 99, 101, 112, 116, 0, 105, 111, 95, 115, 121, 110, 99, 0, 99, 97, 110, 99, - 101, 108, 0, 105, 111, 95, 99, 97, 110, 99, 101, 108, 0, 116, 97, 114, 103, 101, 116, 95, 115, - 101, 113, 0, 105, 111, 95, 116, 105, 109, 101, 111, 117, 116, 0, 116, 105, 109, 101, 111, 117, - 116, 95, 114, 101, 109, 0, 116, 115, 0, 108, 116, 105, 109, 101, 111, 117, 116, 0, 105, 111, - 95, 116, 105, 109, 101, 111, 117, 116, 95, 114, 101, 109, 0, 105, 111, 95, 99, 111, 110, 110, - 101, 99, 116, 0, 115, 114, 95, 109, 115, 103, 0, 117, 109, 115, 103, 95, 99, 111, 109, 112, 97, - 116, 0, 99, 111, 109, 112, 97, 116, 95, 117, 112, 116, 114, 95, 116, 0, 99, 111, 109, 112, 97, - 116, 95, 105, 110, 116, 95, 116, 0, 109, 115, 103, 95, 105, 111, 118, 0, 109, 115, 103, 95, - 105, 111, 118, 108, 101, 110, 0, 99, 111, 109, 112, 97, 116, 95, 115, 105, 122, 101, 95, 116, - 0, 109, 115, 103, 95, 99, 111, 110, 116, 114, 111, 108, 0, 109, 115, 103, 95, 99, 111, 110, - 116, 114, 111, 108, 108, 101, 110, 0, 99, 111, 109, 112, 97, 116, 95, 117, 105, 110, 116, 95, - 116, 0, 99, 111, 109, 112, 97, 116, 95, 109, 115, 103, 104, 100, 114, 0, 117, 109, 115, 103, 0, - 117, 115, 101, 114, 95, 109, 115, 103, 104, 100, 114, 0, 98, 103, 105, 100, 0, 98, 105, 100, 0, - 105, 111, 95, 98, 117, 102, 102, 101, 114, 0, 105, 111, 95, 115, 114, 95, 109, 115, 103, 0, - 104, 111, 119, 0, 114, 101, 115, 111, 108, 118, 101, 0, 111, 112, 101, 110, 95, 104, 111, 119, - 0, 105, 111, 95, 111, 112, 101, 110, 0, 105, 111, 95, 99, 108, 111, 115, 101, 0, 114, 115, 114, - 99, 95, 117, 112, 100, 97, 116, 101, 0, 105, 111, 95, 114, 115, 114, 99, 95, 117, 112, 100, 97, - 116, 101, 0, 102, 97, 100, 118, 105, 115, 101, 0, 97, 100, 118, 105, 99, 101, 0, 105, 111, 95, - 102, 97, 100, 118, 105, 115, 101, 0, 109, 97, 100, 118, 105, 115, 101, 0, 105, 111, 95, 109, - 97, 100, 118, 105, 115, 101, 0, 101, 112, 111, 108, 108, 0, 101, 112, 102, 100, 0, 101, 112, - 111, 108, 108, 95, 101, 118, 101, 110, 116, 0, 105, 111, 95, 101, 112, 111, 108, 108, 0, 115, - 112, 108, 105, 99, 101, 0, 102, 105, 108, 101, 95, 111, 117, 116, 0, 102, 105, 108, 101, 95, - 105, 110, 0, 111, 102, 102, 95, 111, 117, 116, 0, 111, 102, 102, 95, 105, 110, 0, 105, 111, 95, - 115, 112, 108, 105, 99, 101, 0, 112, 98, 117, 102, 0, 110, 98, 117, 102, 115, 0, 105, 111, 95, - 112, 114, 111, 118, 105, 100, 101, 95, 98, 117, 102, 0, 115, 116, 97, 116, 120, 0, 98, 117, - 102, 102, 101, 114, 0, 115, 116, 120, 95, 109, 97, 115, 107, 0, 115, 116, 120, 95, 98, 108, - 107, 115, 105, 122, 101, 0, 115, 116, 120, 95, 97, 116, 116, 114, 105, 98, 117, 116, 101, 115, - 0, 115, 116, 120, 95, 110, 108, 105, 110, 107, 0, 115, 116, 120, 95, 117, 105, 100, 0, 115, - 116, 120, 95, 103, 105, 100, 0, 115, 116, 120, 95, 109, 111, 100, 101, 0, 95, 95, 115, 112, 97, - 114, 101, 48, 0, 115, 116, 120, 95, 105, 110, 111, 0, 115, 116, 120, 95, 115, 105, 122, 101, 0, - 115, 116, 120, 95, 98, 108, 111, 99, 107, 115, 0, 115, 116, 120, 95, 97, 116, 116, 114, 105, - 98, 117, 116, 101, 115, 95, 109, 97, 115, 107, 0, 115, 116, 120, 95, 97, 116, 105, 109, 101, 0, - 95, 95, 114, 101, 115, 101, 114, 118, 101, 100, 0, 115, 116, 97, 116, 120, 95, 116, 105, 109, - 101, 115, 116, 97, 109, 112, 0, 115, 116, 120, 95, 98, 116, 105, 109, 101, 0, 115, 116, 120, - 95, 99, 116, 105, 109, 101, 0, 115, 116, 120, 95, 109, 116, 105, 109, 101, 0, 115, 116, 120, - 95, 114, 100, 101, 118, 95, 109, 97, 106, 111, 114, 0, 115, 116, 120, 95, 114, 100, 101, 118, - 95, 109, 105, 110, 111, 114, 0, 115, 116, 120, 95, 100, 101, 118, 95, 109, 97, 106, 111, 114, - 0, 115, 116, 120, 95, 100, 101, 118, 95, 109, 105, 110, 111, 114, 0, 115, 116, 120, 95, 109, - 110, 116, 95, 105, 100, 0, 95, 95, 115, 112, 97, 114, 101, 50, 0, 95, 95, 115, 112, 97, 114, - 101, 51, 0, 105, 111, 95, 115, 116, 97, 116, 120, 0, 105, 111, 95, 115, 104, 117, 116, 100, - 111, 119, 110, 0, 111, 108, 100, 95, 100, 102, 100, 0, 110, 101, 119, 95, 100, 102, 100, 0, - 111, 108, 100, 112, 97, 116, 104, 0, 110, 101, 119, 112, 97, 116, 104, 0, 105, 111, 95, 114, - 101, 110, 97, 109, 101, 0, 117, 110, 108, 105, 110, 107, 0, 105, 111, 95, 117, 110, 108, 105, - 110, 107, 0, 105, 111, 95, 109, 107, 100, 105, 114, 0, 105, 111, 95, 115, 121, 109, 108, 105, - 110, 107, 0, 104, 97, 114, 100, 108, 105, 110, 107, 0, 105, 111, 95, 104, 97, 114, 100, 108, - 105, 110, 107, 0, 99, 111, 109, 112, 108, 0, 99, 102, 108, 97, 103, 115, 0, 105, 111, 95, 99, - 111, 109, 112, 108, 101, 116, 105, 111, 110, 0, 97, 115, 121, 110, 99, 95, 100, 97, 116, 97, 0, - 105, 111, 112, 111, 108, 108, 95, 99, 111, 109, 112, 108, 101, 116, 101, 100, 0, 114, 101, 115, - 117, 108, 116, 0, 102, 105, 120, 101, 100, 95, 114, 115, 114, 99, 95, 114, 101, 102, 115, 0, - 105, 110, 102, 108, 105, 103, 104, 116, 95, 101, 110, 116, 114, 121, 0, 105, 111, 95, 116, 97, - 115, 107, 95, 119, 111, 114, 107, 0, 105, 111, 95, 119, 113, 95, 119, 111, 114, 107, 95, 110, - 111, 100, 101, 0, 102, 97, 108, 108, 98, 97, 99, 107, 95, 110, 111, 100, 101, 0, 105, 111, 95, - 114, 101, 113, 95, 116, 119, 95, 102, 117, 110, 99, 95, 116, 0, 97, 112, 111, 108, 108, 0, 100, - 111, 117, 98, 108, 101, 95, 112, 111, 108, 108, 0, 97, 115, 121, 110, 99, 95, 112, 111, 108, - 108, 0, 105, 111, 95, 119, 113, 95, 119, 111, 114, 107, 0, 99, 114, 101, 100, 115, 0, 105, 109, - 117, 0, 105, 111, 95, 107, 105, 111, 99, 98, 0, 105, 111, 95, 115, 117, 98, 109, 105, 116, 95, - 108, 105, 110, 107, 0, 114, 101, 113, 115, 0, 102, 114, 101, 101, 95, 114, 101, 113, 115, 0, - 112, 108, 117, 103, 95, 115, 116, 97, 114, 116, 101, 100, 0, 99, 111, 109, 112, 108, 95, 114, - 101, 113, 115, 0, 99, 111, 109, 112, 108, 95, 110, 114, 0, 105, 111, 115, 95, 108, 101, 102, - 116, 0, 105, 111, 95, 115, 117, 98, 109, 105, 116, 95, 115, 116, 97, 116, 101, 0, 116, 105, - 109, 101, 111, 117, 116, 95, 108, 105, 115, 116, 0, 108, 116, 105, 109, 101, 111, 117, 116, 95, - 108, 105, 115, 116, 0, 99, 113, 95, 111, 118, 101, 114, 102, 108, 111, 119, 95, 108, 105, 115, - 116, 0, 105, 111, 95, 98, 117, 102, 102, 101, 114, 115, 0, 112, 101, 114, 115, 111, 110, 97, - 108, 105, 116, 105, 101, 115, 0, 112, 101, 114, 115, 95, 110, 101, 120, 116, 0, 115, 113, 95, - 116, 104, 114, 101, 97, 100, 95, 105, 100, 108, 101, 0, 108, 111, 99, 107, 101, 100, 95, 102, - 114, 101, 101, 95, 108, 105, 115, 116, 0, 108, 111, 99, 107, 101, 100, 95, 102, 114, 101, 101, - 95, 110, 114, 0, 115, 113, 95, 99, 114, 101, 100, 115, 0, 115, 113, 95, 100, 97, 116, 97, 0, - 112, 97, 114, 107, 95, 112, 101, 110, 100, 105, 110, 103, 0, 99, 116, 120, 95, 108, 105, 115, - 116, 0, 115, 113, 95, 99, 112, 117, 0, 116, 97, 115, 107, 95, 112, 105, 100, 0, 116, 97, 115, - 107, 95, 116, 103, 105, 100, 0, 101, 120, 105, 116, 101, 100, 0, 105, 111, 95, 115, 113, 95, - 100, 97, 116, 97, 0, 115, 113, 111, 95, 115, 113, 95, 119, 97, 105, 116, 0, 115, 113, 100, 95, - 108, 105, 115, 116, 0, 99, 104, 101, 99, 107, 95, 99, 113, 95, 111, 118, 101, 114, 102, 108, - 111, 119, 0, 99, 97, 99, 104, 101, 100, 95, 99, 113, 95, 116, 97, 105, 108, 0, 99, 113, 95, - 101, 110, 116, 114, 105, 101, 115, 0, 99, 113, 95, 101, 118, 95, 102, 100, 0, 99, 113, 95, 119, - 97, 105, 116, 0, 99, 113, 95, 101, 120, 116, 114, 97, 0, 99, 113, 95, 116, 105, 109, 101, 111, - 117, 116, 115, 0, 99, 113, 95, 108, 97, 115, 116, 95, 116, 109, 95, 102, 108, 117, 115, 104, 0, - 99, 111, 109, 112, 108, 101, 116, 105, 111, 110, 95, 108, 111, 99, 107, 0, 116, 105, 109, 101, - 111, 117, 116, 95, 108, 111, 99, 107, 0, 105, 111, 112, 111, 108, 108, 95, 108, 105, 115, 116, - 0, 99, 97, 110, 99, 101, 108, 95, 104, 97, 115, 104, 0, 99, 97, 110, 99, 101, 108, 95, 104, 97, - 115, 104, 95, 98, 105, 116, 115, 0, 112, 111, 108, 108, 95, 109, 117, 108, 116, 105, 95, 113, - 117, 101, 117, 101, 0, 114, 101, 115, 116, 114, 105, 99, 116, 105, 111, 110, 115, 0, 114, 101, - 103, 105, 115, 116, 101, 114, 95, 111, 112, 0, 115, 113, 101, 95, 111, 112, 0, 115, 113, 101, - 95, 102, 108, 97, 103, 115, 95, 97, 108, 108, 111, 119, 101, 100, 0, 115, 113, 101, 95, 102, - 108, 97, 103, 115, 95, 114, 101, 113, 117, 105, 114, 101, 100, 0, 105, 111, 95, 114, 101, 115, - 116, 114, 105, 99, 116, 105, 111, 110, 0, 114, 115, 114, 99, 95, 98, 97, 99, 107, 117, 112, 95, - 110, 111, 100, 101, 0, 100, 117, 109, 109, 121, 95, 117, 98, 117, 102, 0, 102, 105, 108, 101, - 95, 100, 97, 116, 97, 0, 98, 117, 102, 95, 100, 97, 116, 97, 0, 114, 115, 114, 99, 95, 112, - 117, 116, 95, 119, 111, 114, 107, 0, 114, 115, 114, 99, 95, 112, 117, 116, 95, 108, 108, 105, - 115, 116, 0, 108, 108, 105, 115, 116, 95, 104, 101, 97, 100, 0, 114, 115, 114, 99, 95, 114, - 101, 102, 95, 108, 105, 115, 116, 0, 114, 115, 114, 99, 95, 114, 101, 102, 95, 108, 111, 99, - 107, 0, 114, 105, 110, 103, 95, 115, 111, 99, 107, 0, 83, 83, 95, 70, 82, 69, 69, 0, 83, 83, - 95, 85, 78, 67, 79, 78, 78, 69, 67, 84, 69, 68, 0, 83, 83, 95, 67, 79, 78, 78, 69, 67, 84, 73, - 78, 71, 0, 83, 83, 95, 67, 79, 78, 78, 69, 67, 84, 69, 68, 0, 83, 83, 95, 68, 73, 83, 67, 79, - 78, 78, 69, 67, 84, 73, 78, 71, 0, 115, 111, 99, 107, 101, 116, 95, 115, 116, 97, 116, 101, 0, - 102, 97, 109, 105, 108, 121, 0, 115, 111, 99, 107, 101, 116, 112, 97, 105, 114, 0, 103, 101, - 116, 110, 97, 109, 101, 0, 103, 101, 116, 116, 115, 116, 97, 109, 112, 0, 108, 105, 115, 116, - 101, 110, 0, 115, 104, 111, 119, 95, 102, 100, 105, 110, 102, 111, 0, 114, 101, 99, 118, 109, - 115, 103, 0, 115, 101, 110, 100, 112, 97, 103, 101, 0, 115, 112, 108, 105, 99, 101, 95, 114, - 101, 97, 100, 0, 115, 101, 116, 95, 112, 101, 101, 107, 95, 111, 102, 102, 0, 112, 101, 101, - 107, 95, 108, 101, 110, 0, 114, 101, 97, 100, 95, 115, 111, 99, 107, 0, 119, 114, 105, 116, - 116, 101, 110, 0, 101, 114, 114, 111, 114, 0, 114, 101, 97, 100, 95, 100, 101, 115, 99, 114, - 105, 112, 116, 111, 114, 95, 116, 0, 115, 107, 95, 114, 101, 97, 100, 95, 97, 99, 116, 111, - 114, 95, 116, 0, 115, 101, 110, 100, 112, 97, 103, 101, 95, 108, 111, 99, 107, 101, 100, 0, - 115, 101, 110, 100, 109, 115, 103, 95, 108, 111, 99, 107, 101, 100, 0, 115, 101, 116, 95, 114, - 99, 118, 108, 111, 119, 97, 116, 0, 112, 114, 111, 116, 111, 95, 111, 112, 115, 0, 102, 97, - 115, 121, 110, 99, 95, 108, 105, 115, 116, 0, 115, 111, 99, 107, 101, 116, 95, 119, 113, 0, - 115, 111, 99, 107, 101, 116, 0, 104, 97, 115, 104, 95, 109, 97, 112, 0, 105, 111, 95, 119, 113, - 95, 104, 97, 115, 104, 0, 109, 109, 95, 97, 99, 99, 111, 117, 110, 116, 0, 102, 97, 108, 108, - 98, 97, 99, 107, 95, 108, 108, 105, 115, 116, 0, 102, 97, 108, 108, 98, 97, 99, 107, 95, 119, - 111, 114, 107, 0, 101, 120, 105, 116, 95, 119, 111, 114, 107, 0, 116, 99, 116, 120, 95, 108, - 105, 115, 116, 0, 114, 101, 102, 95, 99, 111, 109, 112, 0, 105, 111, 119, 113, 95, 108, 105, - 109, 105, 116, 115, 0, 105, 111, 119, 113, 95, 108, 105, 109, 105, 116, 115, 95, 115, 101, 116, - 0, 105, 111, 95, 114, 105, 110, 103, 95, 99, 116, 120, 0, 105, 111, 95, 119, 113, 0, 105, 110, - 102, 108, 105, 103, 104, 116, 0, 105, 110, 102, 108, 105, 103, 104, 116, 95, 116, 114, 97, 99, - 107, 101, 100, 0, 105, 110, 95, 105, 100, 108, 101, 0, 116, 97, 115, 107, 95, 108, 111, 99, - 107, 0, 105, 111, 95, 119, 113, 95, 119, 111, 114, 107, 95, 108, 105, 115, 116, 0, 116, 97, - 115, 107, 95, 119, 111, 114, 107, 0, 116, 97, 115, 107, 95, 114, 117, 110, 110, 105, 110, 103, - 0, 105, 111, 95, 117, 114, 105, 110, 103, 95, 116, 97, 115, 107, 0, 110, 115, 112, 114, 111, - 120, 121, 0, 117, 116, 115, 95, 110, 115, 0, 115, 121, 115, 110, 97, 109, 101, 0, 110, 111, - 100, 101, 110, 97, 109, 101, 0, 109, 97, 99, 104, 105, 110, 101, 0, 100, 111, 109, 97, 105, - 110, 110, 97, 109, 101, 0, 110, 101, 119, 95, 117, 116, 115, 110, 97, 109, 101, 0, 117, 116, - 115, 95, 110, 97, 109, 101, 115, 112, 97, 99, 101, 0, 105, 112, 99, 95, 110, 115, 0, 105, 112, - 99, 115, 95, 105, 100, 114, 0, 109, 97, 120, 95, 105, 100, 120, 0, 108, 97, 115, 116, 95, 105, - 100, 120, 0, 107, 101, 121, 95, 104, 116, 0, 116, 98, 108, 0, 110, 101, 115, 116, 0, 104, 97, - 115, 104, 95, 114, 110, 100, 0, 119, 97, 108, 107, 101, 114, 115, 0, 102, 117, 116, 117, 114, - 101, 95, 116, 98, 108, 0, 100, 101, 112, 95, 109, 97, 112, 0, 108, 111, 99, 107, 100, 101, 112, - 95, 109, 97, 112, 0, 114, 104, 97, 115, 104, 95, 108, 111, 99, 107, 95, 104, 101, 97, 100, 0, - 98, 117, 99, 107, 101, 116, 95, 116, 97, 98, 108, 101, 0, 107, 101, 121, 95, 108, 101, 110, 0, - 109, 97, 120, 95, 101, 108, 101, 109, 115, 0, 110, 101, 108, 101, 109, 95, 104, 105, 110, 116, - 0, 107, 101, 121, 95, 111, 102, 102, 115, 101, 116, 0, 104, 101, 97, 100, 95, 111, 102, 102, - 115, 101, 116, 0, 109, 97, 120, 95, 115, 105, 122, 101, 0, 109, 105, 110, 95, 115, 105, 122, - 101, 0, 97, 117, 116, 111, 109, 97, 116, 105, 99, 95, 115, 104, 114, 105, 110, 107, 105, 110, - 103, 0, 104, 97, 115, 104, 102, 110, 0, 114, 104, 116, 95, 104, 97, 115, 104, 102, 110, 95, - 116, 0, 111, 98, 106, 95, 104, 97, 115, 104, 102, 110, 0, 114, 104, 116, 95, 111, 98, 106, 95, - 104, 97, 115, 104, 102, 110, 95, 116, 0, 111, 98, 106, 95, 99, 109, 112, 102, 110, 0, 104, 116, - 0, 114, 104, 97, 115, 104, 116, 97, 98, 108, 101, 95, 99, 111, 109, 112, 97, 114, 101, 95, 97, - 114, 103, 0, 114, 104, 116, 95, 111, 98, 106, 95, 99, 109, 112, 102, 110, 95, 116, 0, 114, 104, - 97, 115, 104, 116, 97, 98, 108, 101, 95, 112, 97, 114, 97, 109, 115, 0, 114, 104, 108, 105, - 115, 116, 0, 114, 117, 110, 95, 119, 111, 114, 107, 0, 110, 101, 108, 101, 109, 115, 0, 114, - 104, 97, 115, 104, 116, 97, 98, 108, 101, 0, 105, 112, 99, 95, 105, 100, 115, 0, 115, 101, 109, - 95, 99, 116, 108, 115, 0, 117, 115, 101, 100, 95, 115, 101, 109, 115, 0, 109, 115, 103, 95, 99, - 116, 108, 109, 97, 120, 0, 109, 115, 103, 95, 99, 116, 108, 109, 110, 98, 0, 109, 115, 103, 95, - 99, 116, 108, 109, 110, 105, 0, 109, 115, 103, 95, 98, 121, 116, 101, 115, 0, 109, 115, 103, - 95, 104, 100, 114, 115, 0, 115, 104, 109, 95, 99, 116, 108, 109, 97, 120, 0, 115, 104, 109, 95, - 99, 116, 108, 97, 108, 108, 0, 115, 104, 109, 95, 116, 111, 116, 0, 115, 104, 109, 95, 99, 116, - 108, 109, 110, 105, 0, 115, 104, 109, 95, 114, 109, 105, 100, 95, 102, 111, 114, 99, 101, 100, - 0, 105, 112, 99, 110, 115, 95, 110, 98, 0, 109, 113, 95, 109, 110, 116, 0, 109, 113, 95, 113, - 117, 101, 117, 101, 115, 95, 99, 111, 117, 110, 116, 0, 109, 113, 95, 113, 117, 101, 117, 101, - 115, 95, 109, 97, 120, 0, 109, 113, 95, 109, 115, 103, 95, 109, 97, 120, 0, 109, 113, 95, 109, - 115, 103, 115, 105, 122, 101, 95, 109, 97, 120, 0, 109, 113, 95, 109, 115, 103, 95, 100, 101, - 102, 97, 117, 108, 116, 0, 109, 113, 95, 109, 115, 103, 115, 105, 122, 101, 95, 100, 101, 102, - 97, 117, 108, 116, 0, 109, 110, 116, 95, 108, 108, 105, 115, 116, 0, 105, 112, 99, 95, 110, 97, - 109, 101, 115, 112, 97, 99, 101, 0, 109, 110, 116, 95, 110, 115, 0, 109, 110, 116, 95, 104, 97, - 115, 104, 0, 109, 110, 116, 95, 112, 97, 114, 101, 110, 116, 0, 109, 110, 116, 95, 109, 111, - 117, 110, 116, 112, 111, 105, 110, 116, 0, 109, 110, 116, 95, 114, 99, 117, 0, 109, 110, 116, - 95, 112, 99, 112, 0, 109, 110, 116, 95, 99, 111, 117, 110, 116, 0, 109, 110, 116, 95, 119, 114, - 105, 116, 101, 114, 115, 0, 109, 110, 116, 95, 109, 111, 117, 110, 116, 115, 0, 109, 110, 116, - 95, 99, 104, 105, 108, 100, 0, 109, 110, 116, 95, 105, 110, 115, 116, 97, 110, 99, 101, 0, 109, - 110, 116, 95, 100, 101, 118, 110, 97, 109, 101, 0, 109, 110, 116, 95, 108, 105, 115, 116, 0, - 109, 110, 116, 95, 101, 120, 112, 105, 114, 101, 0, 109, 110, 116, 95, 115, 104, 97, 114, 101, - 0, 109, 110, 116, 95, 115, 108, 97, 118, 101, 95, 108, 105, 115, 116, 0, 109, 110, 116, 95, - 115, 108, 97, 118, 101, 0, 109, 110, 116, 95, 109, 97, 115, 116, 101, 114, 0, 109, 110, 116, - 95, 109, 112, 0, 109, 95, 104, 97, 115, 104, 0, 109, 95, 100, 101, 110, 116, 114, 121, 0, 109, - 95, 99, 111, 117, 110, 116, 0, 109, 111, 117, 110, 116, 112, 111, 105, 110, 116, 0, 109, 110, - 116, 95, 109, 112, 95, 108, 105, 115, 116, 0, 109, 110, 116, 95, 117, 109, 111, 117, 110, 116, - 0, 109, 110, 116, 95, 117, 109, 111, 117, 110, 116, 105, 110, 103, 0, 109, 110, 116, 95, 102, - 115, 110, 111, 116, 105, 102, 121, 95, 109, 97, 114, 107, 115, 0, 102, 115, 105, 100, 0, 95, - 95, 107, 101, 114, 110, 101, 108, 95, 102, 115, 105, 100, 95, 116, 0, 111, 98, 106, 0, 102, - 115, 110, 111, 116, 105, 102, 121, 95, 99, 111, 110, 110, 112, 95, 116, 0, 100, 101, 115, 116, - 114, 111, 121, 95, 110, 101, 120, 116, 0, 102, 115, 110, 111, 116, 105, 102, 121, 95, 109, 97, - 114, 107, 95, 99, 111, 110, 110, 101, 99, 116, 111, 114, 0, 109, 110, 116, 95, 102, 115, 110, - 111, 116, 105, 102, 121, 95, 109, 97, 115, 107, 0, 109, 110, 116, 95, 105, 100, 0, 109, 110, - 116, 95, 103, 114, 111, 117, 112, 95, 105, 100, 0, 109, 110, 116, 95, 101, 120, 112, 105, 114, - 121, 95, 109, 97, 114, 107, 0, 109, 110, 116, 95, 112, 105, 110, 115, 0, 109, 110, 116, 95, - 115, 116, 117, 99, 107, 95, 99, 104, 105, 108, 100, 114, 101, 110, 0, 109, 111, 117, 110, 116, - 0, 110, 115, 95, 108, 111, 99, 107, 0, 109, 111, 117, 110, 116, 115, 0, 112, 101, 110, 100, - 105, 110, 103, 95, 109, 111, 117, 110, 116, 115, 0, 109, 110, 116, 95, 110, 97, 109, 101, 115, - 112, 97, 99, 101, 0, 112, 105, 100, 95, 110, 115, 95, 102, 111, 114, 95, 99, 104, 105, 108, - 100, 114, 101, 110, 0, 110, 101, 116, 95, 110, 115, 0, 112, 97, 115, 115, 105, 118, 101, 0, - 114, 117, 108, 101, 115, 95, 109, 111, 100, 95, 108, 111, 99, 107, 0, 100, 101, 118, 95, 117, - 110, 114, 101, 103, 95, 99, 111, 117, 110, 116, 0, 100, 101, 118, 95, 98, 97, 115, 101, 95, - 115, 101, 113, 0, 105, 102, 105, 110, 100, 101, 120, 0, 110, 115, 105, 100, 95, 108, 111, 99, - 107, 0, 102, 110, 104, 101, 95, 103, 101, 110, 105, 100, 0, 101, 120, 105, 116, 95, 108, 105, - 115, 116, 0, 99, 108, 101, 97, 110, 117, 112, 95, 108, 105, 115, 116, 0, 107, 101, 121, 95, - 100, 111, 109, 97, 105, 110, 0, 110, 101, 116, 110, 115, 95, 105, 100, 115, 0, 100, 101, 118, - 95, 98, 97, 115, 101, 95, 104, 101, 97, 100, 0, 112, 114, 111, 99, 95, 110, 101, 116, 0, 112, - 114, 111, 99, 95, 110, 101, 116, 95, 115, 116, 97, 116, 0, 115, 121, 115, 99, 116, 108, 115, 0, - 105, 115, 95, 115, 101, 101, 110, 0, 104, 101, 97, 100, 101, 114, 0, 99, 116, 108, 95, 116, 97, - 98, 108, 101, 0, 112, 114, 111, 99, 110, 97, 109, 101, 0, 109, 97, 120, 108, 101, 110, 0, 112, - 114, 111, 99, 95, 104, 97, 110, 100, 108, 101, 114, 0, 99, 116, 108, 95, 116, 97, 98, 108, 101, - 95, 112, 111, 108, 108, 0, 101, 120, 116, 114, 97, 49, 0, 101, 120, 116, 114, 97, 50, 0, 110, - 114, 101, 103, 0, 117, 110, 114, 101, 103, 105, 115, 116, 101, 114, 105, 110, 103, 0, 99, 116, - 108, 95, 116, 97, 98, 108, 101, 95, 97, 114, 103, 0, 100, 101, 102, 97, 117, 108, 116, 95, 115, - 101, 116, 0, 115, 101, 116, 95, 111, 119, 110, 101, 114, 115, 104, 105, 112, 0, 112, 101, 114, - 109, 105, 115, 115, 105, 111, 110, 115, 0, 99, 116, 108, 95, 116, 97, 98, 108, 101, 95, 114, - 111, 111, 116, 0, 115, 101, 116, 0, 99, 116, 108, 95, 110, 111, 100, 101, 0, 99, 116, 108, 95, - 116, 97, 98, 108, 101, 95, 104, 101, 97, 100, 101, 114, 0, 99, 116, 108, 95, 100, 105, 114, 0, - 99, 116, 108, 95, 116, 97, 98, 108, 101, 95, 115, 101, 116, 0, 114, 116, 110, 108, 0, 103, 101, - 110, 108, 95, 115, 111, 99, 107, 0, 117, 101, 118, 101, 110, 116, 95, 115, 111, 99, 107, 0, - 100, 101, 118, 95, 110, 97, 109, 101, 95, 104, 101, 97, 100, 0, 100, 101, 118, 95, 105, 110, - 100, 101, 120, 95, 104, 101, 97, 100, 0, 110, 101, 116, 100, 101, 118, 95, 99, 104, 97, 105, - 110, 0, 114, 97, 119, 95, 110, 111, 116, 105, 102, 105, 101, 114, 95, 104, 101, 97, 100, 0, - 104, 97, 115, 104, 95, 109, 105, 120, 0, 108, 111, 111, 112, 98, 97, 99, 107, 95, 100, 101, - 118, 0, 114, 117, 108, 101, 115, 95, 111, 112, 115, 0, 115, 121, 115, 99, 116, 108, 95, 104, - 100, 114, 0, 115, 121, 115, 99, 116, 108, 95, 115, 111, 109, 97, 120, 99, 111, 110, 110, 0, - 115, 111, 99, 107, 95, 105, 110, 117, 115, 101, 0, 112, 114, 111, 116, 95, 105, 110, 117, 115, - 101, 0, 110, 101, 116, 110, 115, 95, 99, 111, 114, 101, 0, 109, 105, 98, 0, 105, 112, 95, 115, - 116, 97, 116, 105, 115, 116, 105, 99, 115, 0, 109, 105, 98, 115, 0, 105, 112, 115, 116, 97, - 116, 115, 95, 109, 105, 98, 0, 105, 112, 118, 54, 95, 115, 116, 97, 116, 105, 115, 116, 105, - 99, 115, 0, 116, 99, 112, 95, 115, 116, 97, 116, 105, 115, 116, 105, 99, 115, 0, 116, 99, 112, - 95, 109, 105, 98, 0, 110, 101, 116, 95, 115, 116, 97, 116, 105, 115, 116, 105, 99, 115, 0, 108, - 105, 110, 117, 120, 95, 109, 105, 98, 0, 117, 100, 112, 95, 115, 116, 97, 116, 105, 115, 116, - 105, 99, 115, 0, 117, 100, 112, 95, 109, 105, 98, 0, 117, 100, 112, 95, 115, 116, 97, 116, 115, - 95, 105, 110, 54, 0, 120, 102, 114, 109, 95, 115, 116, 97, 116, 105, 115, 116, 105, 99, 115, 0, - 108, 105, 110, 117, 120, 95, 120, 102, 114, 109, 95, 109, 105, 98, 0, 116, 108, 115, 95, 115, - 116, 97, 116, 105, 115, 116, 105, 99, 115, 0, 108, 105, 110, 117, 120, 95, 116, 108, 115, 95, - 109, 105, 98, 0, 109, 112, 116, 99, 112, 95, 115, 116, 97, 116, 105, 115, 116, 105, 99, 115, 0, - 109, 112, 116, 99, 112, 95, 109, 105, 98, 0, 117, 100, 112, 108, 105, 116, 101, 95, 115, 116, - 97, 116, 105, 115, 116, 105, 99, 115, 0, 117, 100, 112, 108, 105, 116, 101, 95, 115, 116, 97, - 116, 115, 95, 105, 110, 54, 0, 105, 99, 109, 112, 95, 115, 116, 97, 116, 105, 115, 116, 105, - 99, 115, 0, 105, 99, 109, 112, 95, 109, 105, 98, 0, 105, 99, 109, 112, 109, 115, 103, 95, 115, - 116, 97, 116, 105, 115, 116, 105, 99, 115, 0, 105, 99, 109, 112, 109, 115, 103, 95, 109, 105, - 98, 0, 105, 99, 109, 112, 118, 54, 95, 115, 116, 97, 116, 105, 115, 116, 105, 99, 115, 0, 105, - 99, 109, 112, 118, 54, 95, 109, 105, 98, 0, 105, 99, 109, 112, 118, 54, 109, 115, 103, 95, 115, - 116, 97, 116, 105, 115, 116, 105, 99, 115, 0, 105, 99, 109, 112, 118, 54, 109, 115, 103, 95, - 109, 105, 98, 0, 112, 114, 111, 99, 95, 110, 101, 116, 95, 100, 101, 118, 115, 110, 109, 112, - 54, 0, 110, 101, 116, 110, 115, 95, 109, 105, 98, 0, 112, 97, 99, 107, 101, 116, 0, 115, 107, - 108, 105, 115, 116, 95, 108, 111, 99, 107, 0, 115, 107, 108, 105, 115, 116, 0, 110, 101, 116, - 110, 115, 95, 112, 97, 99, 107, 101, 116, 0, 117, 110, 120, 0, 115, 121, 115, 99, 116, 108, 95, - 109, 97, 120, 95, 100, 103, 114, 97, 109, 95, 113, 108, 101, 110, 0, 99, 116, 108, 0, 110, 101, - 116, 110, 115, 95, 117, 110, 105, 120, 0, 110, 101, 120, 116, 104, 111, 112, 0, 100, 101, 118, - 104, 97, 115, 104, 0, 108, 97, 115, 116, 95, 105, 100, 95, 97, 108, 108, 111, 99, 97, 116, 101, - 100, 0, 110, 111, 116, 105, 102, 105, 101, 114, 95, 99, 104, 97, 105, 110, 0, 110, 101, 116, - 110, 115, 95, 110, 101, 120, 116, 104, 111, 112, 0, 105, 112, 118, 52, 0, 116, 99, 112, 95, - 100, 101, 97, 116, 104, 95, 114, 111, 119, 0, 116, 119, 95, 99, 111, 117, 110, 116, 0, 116, - 119, 95, 112, 97, 100, 0, 104, 97, 115, 104, 105, 110, 102, 111, 0, 101, 104, 97, 115, 104, 0, - 99, 104, 97, 105, 110, 0, 104, 108, 105, 115, 116, 95, 110, 117, 108, 108, 115, 95, 110, 111, - 100, 101, 0, 104, 108, 105, 115, 116, 95, 110, 117, 108, 108, 115, 95, 104, 101, 97, 100, 0, - 105, 110, 101, 116, 95, 101, 104, 97, 115, 104, 95, 98, 117, 99, 107, 101, 116, 0, 101, 104, - 97, 115, 104, 95, 108, 111, 99, 107, 115, 0, 101, 104, 97, 115, 104, 95, 109, 97, 115, 107, 0, - 101, 104, 97, 115, 104, 95, 108, 111, 99, 107, 115, 95, 109, 97, 115, 107, 0, 98, 105, 110, - 100, 95, 98, 117, 99, 107, 101, 116, 95, 99, 97, 99, 104, 101, 112, 0, 98, 104, 97, 115, 104, - 0, 105, 110, 101, 116, 95, 98, 105, 110, 100, 95, 104, 97, 115, 104, 98, 117, 99, 107, 101, - 116, 0, 98, 104, 97, 115, 104, 95, 115, 105, 122, 101, 0, 108, 104, 97, 115, 104, 50, 95, 109, - 97, 115, 107, 0, 108, 104, 97, 115, 104, 50, 0, 110, 117, 108, 108, 115, 95, 104, 101, 97, 100, - 0, 105, 110, 101, 116, 95, 108, 105, 115, 116, 101, 110, 95, 104, 97, 115, 104, 98, 117, 99, - 107, 101, 116, 0, 108, 105, 115, 116, 101, 110, 105, 110, 103, 95, 104, 97, 115, 104, 0, 105, - 110, 101, 116, 95, 104, 97, 115, 104, 105, 110, 102, 111, 0, 115, 121, 115, 99, 116, 108, 95, - 109, 97, 120, 95, 116, 119, 95, 98, 117, 99, 107, 101, 116, 115, 0, 105, 110, 101, 116, 95, - 116, 105, 109, 101, 119, 97, 105, 116, 95, 100, 101, 97, 116, 104, 95, 114, 111, 119, 0, 102, - 111, 114, 119, 95, 104, 100, 114, 0, 102, 114, 97, 103, 115, 95, 104, 100, 114, 0, 105, 112, - 118, 52, 95, 104, 100, 114, 0, 114, 111, 117, 116, 101, 95, 104, 100, 114, 0, 120, 102, 114, - 109, 52, 95, 104, 100, 114, 0, 100, 101, 118, 99, 111, 110, 102, 95, 97, 108, 108, 0, 115, 121, - 115, 99, 116, 108, 0, 105, 112, 118, 52, 95, 100, 101, 118, 99, 111, 110, 102, 0, 100, 101, - 118, 99, 111, 110, 102, 95, 100, 102, 108, 116, 0, 114, 97, 95, 99, 104, 97, 105, 110, 0, 100, - 101, 115, 116, 114, 117, 99, 116, 111, 114, 0, 115, 97, 118, 101, 100, 95, 115, 107, 0, 105, - 112, 95, 114, 97, 95, 99, 104, 97, 105, 110, 0, 114, 97, 95, 109, 117, 116, 101, 120, 0, 114, - 117, 108, 101, 95, 115, 105, 122, 101, 0, 97, 100, 100, 114, 95, 115, 105, 122, 101, 0, 117, - 110, 114, 101, 115, 111, 108, 118, 101, 100, 95, 114, 117, 108, 101, 115, 0, 110, 114, 95, 103, - 111, 116, 111, 95, 114, 117, 108, 101, 115, 0, 102, 105, 98, 95, 114, 117, 108, 101, 115, 95, - 115, 101, 113, 0, 105, 105, 102, 105, 110, 100, 101, 120, 0, 111, 105, 102, 105, 110, 100, 101, - 120, 0, 109, 97, 114, 107, 0, 109, 97, 114, 107, 95, 109, 97, 115, 107, 0, 108, 51, 109, 100, - 101, 118, 0, 112, 114, 111, 116, 111, 0, 105, 112, 95, 112, 114, 111, 116, 111, 0, 116, 97, - 114, 103, 101, 116, 0, 116, 117, 110, 95, 105, 100, 0, 95, 95, 98, 101, 54, 52, 0, 99, 116, 97, - 114, 103, 101, 116, 0, 102, 114, 95, 110, 101, 116, 0, 112, 114, 101, 102, 0, 115, 117, 112, - 112, 114, 101, 115, 115, 95, 105, 102, 103, 114, 111, 117, 112, 0, 115, 117, 112, 112, 114, - 101, 115, 115, 95, 112, 114, 101, 102, 105, 120, 108, 101, 110, 0, 105, 105, 102, 110, 97, 109, - 101, 0, 111, 105, 102, 110, 97, 109, 101, 0, 117, 105, 100, 95, 114, 97, 110, 103, 101, 0, 102, - 105, 98, 95, 107, 117, 105, 100, 95, 114, 97, 110, 103, 101, 0, 115, 112, 111, 114, 116, 95, - 114, 97, 110, 103, 101, 0, 102, 105, 98, 95, 114, 117, 108, 101, 95, 112, 111, 114, 116, 95, - 114, 97, 110, 103, 101, 0, 100, 112, 111, 114, 116, 95, 114, 97, 110, 103, 101, 0, 102, 105, - 98, 95, 114, 117, 108, 101, 0, 117, 0, 95, 95, 102, 108, 95, 99, 111, 109, 109, 111, 110, 0, - 102, 108, 111, 119, 105, 99, 95, 111, 105, 102, 0, 102, 108, 111, 119, 105, 99, 95, 105, 105, - 102, 0, 102, 108, 111, 119, 105, 99, 95, 109, 97, 114, 107, 0, 102, 108, 111, 119, 105, 99, 95, - 116, 111, 115, 0, 102, 108, 111, 119, 105, 99, 95, 115, 99, 111, 112, 101, 0, 102, 108, 111, - 119, 105, 99, 95, 112, 114, 111, 116, 111, 0, 102, 108, 111, 119, 105, 99, 95, 102, 108, 97, - 103, 115, 0, 102, 108, 111, 119, 105, 99, 95, 115, 101, 99, 105, 100, 0, 102, 108, 111, 119, - 105, 99, 95, 117, 105, 100, 0, 102, 108, 111, 119, 105, 99, 95, 116, 117, 110, 95, 107, 101, - 121, 0, 102, 108, 111, 119, 105, 95, 116, 117, 110, 110, 101, 108, 0, 102, 108, 111, 119, 105, - 99, 95, 109, 117, 108, 116, 105, 112, 97, 116, 104, 95, 104, 97, 115, 104, 0, 102, 108, 111, - 119, 105, 95, 99, 111, 109, 109, 111, 110, 0, 105, 112, 52, 0, 115, 97, 100, 100, 114, 0, 100, - 97, 100, 100, 114, 0, 117, 108, 105, 0, 112, 111, 114, 116, 115, 0, 100, 112, 111, 114, 116, 0, - 115, 112, 111, 114, 116, 0, 105, 99, 109, 112, 116, 0, 100, 110, 112, 111, 114, 116, 115, 0, - 95, 95, 108, 101, 49, 54, 0, 103, 114, 101, 95, 107, 101, 121, 0, 109, 104, 116, 0, 102, 108, - 111, 119, 105, 95, 117, 108, 105, 0, 102, 108, 111, 119, 105, 52, 0, 105, 112, 54, 0, 105, 110, - 54, 95, 117, 0, 117, 54, 95, 97, 100, 100, 114, 56, 0, 117, 54, 95, 97, 100, 100, 114, 49, 54, - 0, 117, 54, 95, 97, 100, 100, 114, 51, 50, 0, 105, 110, 54, 95, 97, 100, 100, 114, 0, 102, 108, - 111, 119, 108, 97, 98, 101, 108, 0, 109, 112, 95, 104, 97, 115, 104, 0, 102, 108, 111, 119, - 105, 54, 0, 100, 110, 0, 102, 108, 111, 119, 105, 100, 110, 0, 102, 108, 111, 119, 105, 0, 108, - 111, 111, 107, 117, 112, 95, 112, 116, 114, 0, 108, 111, 111, 107, 117, 112, 95, 100, 97, 116, - 97, 0, 114, 117, 108, 101, 0, 102, 105, 98, 95, 108, 111, 111, 107, 117, 112, 95, 97, 114, 103, - 0, 115, 117, 112, 112, 114, 101, 115, 115, 0, 99, 111, 110, 102, 105, 103, 117, 114, 101, 0, - 100, 115, 116, 95, 108, 101, 110, 0, 115, 114, 99, 95, 108, 101, 110, 0, 116, 111, 115, 0, 114, - 101, 115, 49, 0, 114, 101, 115, 50, 0, 102, 105, 98, 95, 114, 117, 108, 101, 95, 104, 100, 114, - 0, 110, 108, 97, 95, 108, 101, 110, 0, 110, 108, 97, 95, 116, 121, 112, 101, 0, 110, 108, 97, - 116, 116, 114, 0, 95, 109, 115, 103, 0, 98, 97, 100, 95, 97, 116, 116, 114, 0, 118, 97, 108, - 105, 100, 97, 116, 105, 111, 110, 95, 116, 121, 112, 101, 0, 98, 105, 116, 102, 105, 101, 108, - 100, 51, 50, 95, 118, 97, 108, 105, 100, 0, 114, 101, 106, 101, 99, 116, 95, 109, 101, 115, - 115, 97, 103, 101, 0, 110, 101, 115, 116, 101, 100, 95, 112, 111, 108, 105, 99, 121, 0, 110, - 101, 116, 108, 105, 110, 107, 95, 114, 97, 110, 103, 101, 95, 118, 97, 108, 105, 100, 97, 116, - 105, 111, 110, 0, 114, 97, 110, 103, 101, 95, 115, 105, 103, 110, 101, 100, 0, 110, 101, 116, - 108, 105, 110, 107, 95, 114, 97, 110, 103, 101, 95, 118, 97, 108, 105, 100, 97, 116, 105, 111, - 110, 95, 115, 105, 103, 110, 101, 100, 0, 115, 49, 54, 0, 118, 97, 108, 105, 100, 97, 116, 101, - 0, 115, 116, 114, 105, 99, 116, 95, 115, 116, 97, 114, 116, 95, 116, 121, 112, 101, 0, 110, - 108, 97, 95, 112, 111, 108, 105, 99, 121, 0, 99, 111, 111, 107, 105, 101, 95, 108, 101, 110, 0, - 110, 101, 116, 108, 105, 110, 107, 95, 101, 120, 116, 95, 97, 99, 107, 0, 100, 101, 108, 101, - 116, 101, 0, 99, 111, 109, 112, 97, 114, 101, 0, 102, 105, 108, 108, 0, 110, 108, 109, 115, - 103, 95, 112, 97, 121, 108, 111, 97, 100, 0, 102, 108, 117, 115, 104, 95, 99, 97, 99, 104, 101, - 0, 110, 108, 103, 114, 111, 117, 112, 0, 114, 117, 108, 101, 115, 95, 108, 105, 115, 116, 0, - 102, 114, 111, 95, 110, 101, 116, 0, 102, 105, 98, 95, 114, 117, 108, 101, 115, 95, 111, 112, - 115, 0, 102, 105, 98, 95, 109, 97, 105, 110, 0, 116, 98, 95, 104, 108, 105, 115, 116, 0, 116, - 98, 95, 105, 100, 0, 116, 98, 95, 110, 117, 109, 95, 100, 101, 102, 97, 117, 108, 116, 0, 116, - 98, 95, 100, 97, 116, 97, 0, 95, 95, 100, 97, 116, 97, 0, 102, 105, 98, 95, 116, 97, 98, 108, - 101, 0, 102, 105, 98, 95, 100, 101, 102, 97, 117, 108, 116, 0, 102, 105, 98, 95, 114, 117, 108, - 101, 115, 95, 114, 101, 113, 117, 105, 114, 101, 95, 102, 108, 100, 105, 115, 115, 101, 99, - 116, 0, 102, 105, 98, 95, 104, 97, 115, 95, 99, 117, 115, 116, 111, 109, 95, 114, 117, 108, - 101, 115, 0, 102, 105, 98, 95, 104, 97, 115, 95, 99, 117, 115, 116, 111, 109, 95, 108, 111, 99, - 97, 108, 95, 114, 111, 117, 116, 101, 115, 0, 102, 105, 98, 95, 111, 102, 102, 108, 111, 97, - 100, 95, 100, 105, 115, 97, 98, 108, 101, 100, 0, 102, 105, 98, 95, 110, 117, 109, 95, 116, 99, - 108, 97, 115, 115, 105, 100, 95, 117, 115, 101, 114, 115, 0, 102, 105, 98, 95, 116, 97, 98, - 108, 101, 95, 104, 97, 115, 104, 0, 102, 105, 98, 110, 108, 0, 105, 99, 109, 112, 95, 115, 107, - 0, 109, 99, 95, 97, 117, 116, 111, 106, 111, 105, 110, 95, 115, 107, 0, 112, 101, 101, 114, - 115, 0, 105, 110, 101, 116, 95, 112, 101, 101, 114, 95, 98, 97, 115, 101, 0, 116, 99, 112, 95, - 115, 107, 0, 102, 113, 100, 105, 114, 0, 104, 105, 103, 104, 95, 116, 104, 114, 101, 115, 104, - 0, 108, 111, 119, 95, 116, 104, 114, 101, 115, 104, 0, 109, 97, 120, 95, 100, 105, 115, 116, 0, - 102, 0, 113, 115, 105, 122, 101, 0, 99, 111, 110, 115, 116, 114, 117, 99, 116, 111, 114, 0, - 114, 104, 97, 115, 104, 95, 104, 101, 97, 100, 0, 118, 52, 0, 118, 105, 102, 0, 112, 114, 111, - 116, 111, 99, 111, 108, 0, 102, 114, 97, 103, 95, 118, 52, 95, 99, 111, 109, 112, 97, 114, 101, - 95, 107, 101, 121, 0, 118, 54, 0, 105, 105, 102, 0, 102, 114, 97, 103, 95, 118, 54, 95, 99, - 111, 109, 112, 97, 114, 101, 95, 107, 101, 121, 0, 114, 98, 95, 102, 114, 97, 103, 109, 101, - 110, 116, 115, 0, 102, 114, 97, 103, 109, 101, 110, 116, 115, 95, 116, 97, 105, 108, 0, 108, - 97, 115, 116, 95, 114, 117, 110, 95, 104, 101, 97, 100, 0, 115, 116, 97, 109, 112, 0, 109, 101, - 97, 116, 0, 105, 110, 101, 116, 95, 102, 114, 97, 103, 95, 113, 117, 101, 117, 101, 0, 102, - 114, 97, 103, 95, 101, 120, 112, 105, 114, 101, 0, 102, 114, 97, 103, 115, 95, 99, 97, 99, 104, - 101, 112, 0, 102, 114, 97, 103, 115, 95, 99, 97, 99, 104, 101, 95, 110, 97, 109, 101, 0, 114, - 104, 97, 115, 104, 95, 112, 97, 114, 97, 109, 115, 0, 105, 110, 101, 116, 95, 102, 114, 97, - 103, 115, 0, 110, 101, 116, 0, 109, 101, 109, 0, 115, 121, 115, 99, 116, 108, 95, 105, 99, 109, - 112, 95, 101, 99, 104, 111, 95, 105, 103, 110, 111, 114, 101, 95, 97, 108, 108, 0, 115, 121, - 115, 99, 116, 108, 95, 105, 99, 109, 112, 95, 101, 99, 104, 111, 95, 101, 110, 97, 98, 108, - 101, 95, 112, 114, 111, 98, 101, 0, 115, 121, 115, 99, 116, 108, 95, 105, 99, 109, 112, 95, - 101, 99, 104, 111, 95, 105, 103, 110, 111, 114, 101, 95, 98, 114, 111, 97, 100, 99, 97, 115, - 116, 115, 0, 115, 121, 115, 99, 116, 108, 95, 105, 99, 109, 112, 95, 105, 103, 110, 111, 114, - 101, 95, 98, 111, 103, 117, 115, 95, 101, 114, 114, 111, 114, 95, 114, 101, 115, 112, 111, 110, - 115, 101, 115, 0, 115, 121, 115, 99, 116, 108, 95, 105, 99, 109, 112, 95, 101, 114, 114, 111, - 114, 115, 95, 117, 115, 101, 95, 105, 110, 98, 111, 117, 110, 100, 95, 105, 102, 97, 100, 100, - 114, 0, 115, 121, 115, 99, 116, 108, 95, 105, 99, 109, 112, 95, 114, 97, 116, 101, 108, 105, - 109, 105, 116, 0, 115, 121, 115, 99, 116, 108, 95, 105, 99, 109, 112, 95, 114, 97, 116, 101, - 109, 97, 115, 107, 0, 105, 112, 95, 108, 111, 99, 97, 108, 95, 112, 111, 114, 116, 115, 0, 119, - 97, 114, 110, 101, 100, 0, 108, 111, 99, 97, 108, 95, 112, 111, 114, 116, 115, 0, 115, 121, - 115, 99, 116, 108, 95, 116, 99, 112, 95, 101, 99, 110, 0, 115, 121, 115, 99, 116, 108, 95, 116, - 99, 112, 95, 101, 99, 110, 95, 102, 97, 108, 108, 98, 97, 99, 107, 0, 115, 121, 115, 99, 116, - 108, 95, 105, 112, 95, 100, 101, 102, 97, 117, 108, 116, 95, 116, 116, 108, 0, 115, 121, 115, - 99, 116, 108, 95, 105, 112, 95, 110, 111, 95, 112, 109, 116, 117, 95, 100, 105, 115, 99, 0, - 115, 121, 115, 99, 116, 108, 95, 105, 112, 95, 102, 119, 100, 95, 117, 115, 101, 95, 112, 109, - 116, 117, 0, 115, 121, 115, 99, 116, 108, 95, 105, 112, 95, 102, 119, 100, 95, 117, 112, 100, - 97, 116, 101, 95, 112, 114, 105, 111, 114, 105, 116, 121, 0, 115, 121, 115, 99, 116, 108, 95, - 105, 112, 95, 110, 111, 110, 108, 111, 99, 97, 108, 95, 98, 105, 110, 100, 0, 115, 121, 115, - 99, 116, 108, 95, 105, 112, 95, 97, 117, 116, 111, 98, 105, 110, 100, 95, 114, 101, 117, 115, - 101, 0, 115, 121, 115, 99, 116, 108, 95, 105, 112, 95, 100, 121, 110, 97, 100, 100, 114, 0, - 115, 121, 115, 99, 116, 108, 95, 105, 112, 95, 101, 97, 114, 108, 121, 95, 100, 101, 109, 117, - 120, 0, 115, 121, 115, 99, 116, 108, 95, 114, 97, 119, 95, 108, 51, 109, 100, 101, 118, 95, 97, - 99, 99, 101, 112, 116, 0, 115, 121, 115, 99, 116, 108, 95, 116, 99, 112, 95, 101, 97, 114, 108, - 121, 95, 100, 101, 109, 117, 120, 0, 115, 121, 115, 99, 116, 108, 95, 117, 100, 112, 95, 101, - 97, 114, 108, 121, 95, 100, 101, 109, 117, 120, 0, 115, 121, 115, 99, 116, 108, 95, 110, 101, - 120, 116, 104, 111, 112, 95, 99, 111, 109, 112, 97, 116, 95, 109, 111, 100, 101, 0, 115, 121, - 115, 99, 116, 108, 95, 102, 119, 109, 97, 114, 107, 95, 114, 101, 102, 108, 101, 99, 116, 0, - 115, 121, 115, 99, 116, 108, 95, 116, 99, 112, 95, 102, 119, 109, 97, 114, 107, 95, 97, 99, 99, - 101, 112, 116, 0, 115, 121, 115, 99, 116, 108, 95, 116, 99, 112, 95, 108, 51, 109, 100, 101, - 118, 95, 97, 99, 99, 101, 112, 116, 0, 115, 121, 115, 99, 116, 108, 95, 116, 99, 112, 95, 109, - 116, 117, 95, 112, 114, 111, 98, 105, 110, 103, 0, 115, 121, 115, 99, 116, 108, 95, 116, 99, - 112, 95, 109, 116, 117, 95, 112, 114, 111, 98, 101, 95, 102, 108, 111, 111, 114, 0, 115, 121, - 115, 99, 116, 108, 95, 116, 99, 112, 95, 98, 97, 115, 101, 95, 109, 115, 115, 0, 115, 121, 115, - 99, 116, 108, 95, 116, 99, 112, 95, 109, 105, 110, 95, 115, 110, 100, 95, 109, 115, 115, 0, - 115, 121, 115, 99, 116, 108, 95, 116, 99, 112, 95, 112, 114, 111, 98, 101, 95, 116, 104, 114, - 101, 115, 104, 111, 108, 100, 0, 115, 121, 115, 99, 116, 108, 95, 116, 99, 112, 95, 112, 114, - 111, 98, 101, 95, 105, 110, 116, 101, 114, 118, 97, 108, 0, 115, 121, 115, 99, 116, 108, 95, - 116, 99, 112, 95, 107, 101, 101, 112, 97, 108, 105, 118, 101, 95, 116, 105, 109, 101, 0, 115, - 121, 115, 99, 116, 108, 95, 116, 99, 112, 95, 107, 101, 101, 112, 97, 108, 105, 118, 101, 95, - 105, 110, 116, 118, 108, 0, 115, 121, 115, 99, 116, 108, 95, 116, 99, 112, 95, 107, 101, 101, - 112, 97, 108, 105, 118, 101, 95, 112, 114, 111, 98, 101, 115, 0, 115, 121, 115, 99, 116, 108, - 95, 116, 99, 112, 95, 115, 121, 110, 95, 114, 101, 116, 114, 105, 101, 115, 0, 115, 121, 115, - 99, 116, 108, 95, 116, 99, 112, 95, 115, 121, 110, 97, 99, 107, 95, 114, 101, 116, 114, 105, - 101, 115, 0, 115, 121, 115, 99, 116, 108, 95, 116, 99, 112, 95, 115, 121, 110, 99, 111, 111, - 107, 105, 101, 115, 0, 115, 121, 115, 99, 116, 108, 95, 116, 99, 112, 95, 109, 105, 103, 114, - 97, 116, 101, 95, 114, 101, 113, 0, 115, 121, 115, 99, 116, 108, 95, 116, 99, 112, 95, 114, - 101, 111, 114, 100, 101, 114, 105, 110, 103, 0, 115, 121, 115, 99, 116, 108, 95, 116, 99, 112, - 95, 114, 101, 116, 114, 105, 101, 115, 49, 0, 115, 121, 115, 99, 116, 108, 95, 116, 99, 112, - 95, 114, 101, 116, 114, 105, 101, 115, 50, 0, 115, 121, 115, 99, 116, 108, 95, 116, 99, 112, - 95, 111, 114, 112, 104, 97, 110, 95, 114, 101, 116, 114, 105, 101, 115, 0, 115, 121, 115, 99, - 116, 108, 95, 116, 99, 112, 95, 116, 119, 95, 114, 101, 117, 115, 101, 0, 115, 121, 115, 99, - 116, 108, 95, 116, 99, 112, 95, 102, 105, 110, 95, 116, 105, 109, 101, 111, 117, 116, 0, 115, - 121, 115, 99, 116, 108, 95, 116, 99, 112, 95, 110, 111, 116, 115, 101, 110, 116, 95, 108, 111, - 119, 97, 116, 0, 115, 121, 115, 99, 116, 108, 95, 116, 99, 112, 95, 115, 97, 99, 107, 0, 115, - 121, 115, 99, 116, 108, 95, 116, 99, 112, 95, 119, 105, 110, 100, 111, 119, 95, 115, 99, 97, - 108, 105, 110, 103, 0, 115, 121, 115, 99, 116, 108, 95, 116, 99, 112, 95, 116, 105, 109, 101, - 115, 116, 97, 109, 112, 115, 0, 115, 121, 115, 99, 116, 108, 95, 116, 99, 112, 95, 101, 97, - 114, 108, 121, 95, 114, 101, 116, 114, 97, 110, 115, 0, 115, 121, 115, 99, 116, 108, 95, 116, - 99, 112, 95, 114, 101, 99, 111, 118, 101, 114, 121, 0, 115, 121, 115, 99, 116, 108, 95, 116, - 99, 112, 95, 116, 104, 105, 110, 95, 108, 105, 110, 101, 97, 114, 95, 116, 105, 109, 101, 111, - 117, 116, 115, 0, 115, 121, 115, 99, 116, 108, 95, 116, 99, 112, 95, 115, 108, 111, 119, 95, - 115, 116, 97, 114, 116, 95, 97, 102, 116, 101, 114, 95, 105, 100, 108, 101, 0, 115, 121, 115, - 99, 116, 108, 95, 116, 99, 112, 95, 114, 101, 116, 114, 97, 110, 115, 95, 99, 111, 108, 108, - 97, 112, 115, 101, 0, 115, 121, 115, 99, 116, 108, 95, 116, 99, 112, 95, 115, 116, 100, 117, - 114, 103, 0, 115, 121, 115, 99, 116, 108, 95, 116, 99, 112, 95, 114, 102, 99, 49, 51, 51, 55, - 0, 115, 121, 115, 99, 116, 108, 95, 116, 99, 112, 95, 97, 98, 111, 114, 116, 95, 111, 110, 95, - 111, 118, 101, 114, 102, 108, 111, 119, 0, 115, 121, 115, 99, 116, 108, 95, 116, 99, 112, 95, - 102, 97, 99, 107, 0, 115, 121, 115, 99, 116, 108, 95, 116, 99, 112, 95, 109, 97, 120, 95, 114, - 101, 111, 114, 100, 101, 114, 105, 110, 103, 0, 115, 121, 115, 99, 116, 108, 95, 116, 99, 112, - 95, 97, 100, 118, 95, 119, 105, 110, 95, 115, 99, 97, 108, 101, 0, 115, 121, 115, 99, 116, 108, - 95, 116, 99, 112, 95, 100, 115, 97, 99, 107, 0, 115, 121, 115, 99, 116, 108, 95, 116, 99, 112, - 95, 97, 112, 112, 95, 119, 105, 110, 0, 115, 121, 115, 99, 116, 108, 95, 116, 99, 112, 95, 102, - 114, 116, 111, 0, 115, 121, 115, 99, 116, 108, 95, 116, 99, 112, 95, 110, 111, 109, 101, 116, - 114, 105, 99, 115, 95, 115, 97, 118, 101, 0, 115, 121, 115, 99, 116, 108, 95, 116, 99, 112, 95, - 110, 111, 95, 115, 115, 116, 104, 114, 101, 115, 104, 95, 109, 101, 116, 114, 105, 99, 115, 95, - 115, 97, 118, 101, 0, 115, 121, 115, 99, 116, 108, 95, 116, 99, 112, 95, 109, 111, 100, 101, - 114, 97, 116, 101, 95, 114, 99, 118, 98, 117, 102, 0, 115, 121, 115, 99, 116, 108, 95, 116, 99, - 112, 95, 116, 115, 111, 95, 119, 105, 110, 95, 100, 105, 118, 105, 115, 111, 114, 0, 115, 121, - 115, 99, 116, 108, 95, 116, 99, 112, 95, 119, 111, 114, 107, 97, 114, 111, 117, 110, 100, 95, - 115, 105, 103, 110, 101, 100, 95, 119, 105, 110, 100, 111, 119, 115, 0, 115, 121, 115, 99, 116, - 108, 95, 116, 99, 112, 95, 108, 105, 109, 105, 116, 95, 111, 117, 116, 112, 117, 116, 95, 98, - 121, 116, 101, 115, 0, 115, 121, 115, 99, 116, 108, 95, 116, 99, 112, 95, 99, 104, 97, 108, - 108, 101, 110, 103, 101, 95, 97, 99, 107, 95, 108, 105, 109, 105, 116, 0, 115, 121, 115, 99, - 116, 108, 95, 116, 99, 112, 95, 109, 105, 110, 95, 114, 116, 116, 95, 119, 108, 101, 110, 0, - 115, 121, 115, 99, 116, 108, 95, 116, 99, 112, 95, 109, 105, 110, 95, 116, 115, 111, 95, 115, - 101, 103, 115, 0, 115, 121, 115, 99, 116, 108, 95, 116, 99, 112, 95, 97, 117, 116, 111, 99, - 111, 114, 107, 105, 110, 103, 0, 115, 121, 115, 99, 116, 108, 95, 116, 99, 112, 95, 114, 101, - 102, 108, 101, 99, 116, 95, 116, 111, 115, 0, 115, 121, 115, 99, 116, 108, 95, 116, 99, 112, - 95, 99, 111, 109, 112, 95, 115, 97, 99, 107, 95, 110, 114, 0, 115, 121, 115, 99, 116, 108, 95, - 116, 99, 112, 95, 105, 110, 118, 97, 108, 105, 100, 95, 114, 97, 116, 101, 108, 105, 109, 105, - 116, 0, 115, 121, 115, 99, 116, 108, 95, 116, 99, 112, 95, 112, 97, 99, 105, 110, 103, 95, 115, - 115, 95, 114, 97, 116, 105, 111, 0, 115, 121, 115, 99, 116, 108, 95, 116, 99, 112, 95, 112, 97, - 99, 105, 110, 103, 95, 99, 97, 95, 114, 97, 116, 105, 111, 0, 115, 121, 115, 99, 116, 108, 95, - 116, 99, 112, 95, 119, 109, 101, 109, 0, 115, 121, 115, 99, 116, 108, 95, 116, 99, 112, 95, - 114, 109, 101, 109, 0, 115, 121, 115, 99, 116, 108, 95, 116, 99, 112, 95, 99, 111, 109, 112, - 95, 115, 97, 99, 107, 95, 100, 101, 108, 97, 121, 95, 110, 115, 0, 115, 121, 115, 99, 116, 108, - 95, 116, 99, 112, 95, 99, 111, 109, 112, 95, 115, 97, 99, 107, 95, 115, 108, 97, 99, 107, 95, - 110, 115, 0, 115, 121, 115, 99, 116, 108, 95, 109, 97, 120, 95, 115, 121, 110, 95, 98, 97, 99, - 107, 108, 111, 103, 0, 115, 121, 115, 99, 116, 108, 95, 116, 99, 112, 95, 102, 97, 115, 116, - 111, 112, 101, 110, 0, 116, 99, 112, 95, 99, 111, 110, 103, 101, 115, 116, 105, 111, 110, 95, - 99, 111, 110, 116, 114, 111, 108, 0, 115, 115, 116, 104, 114, 101, 115, 104, 0, 99, 111, 110, - 103, 95, 97, 118, 111, 105, 100, 0, 115, 101, 116, 95, 115, 116, 97, 116, 101, 0, 99, 119, 110, - 100, 95, 101, 118, 101, 110, 116, 0, 105, 110, 95, 97, 99, 107, 95, 101, 118, 101, 110, 116, 0, - 112, 107, 116, 115, 95, 97, 99, 107, 101, 100, 0, 114, 116, 116, 95, 117, 115, 0, 105, 110, 95, - 102, 108, 105, 103, 104, 116, 0, 97, 99, 107, 95, 115, 97, 109, 112, 108, 101, 0, 109, 105, - 110, 95, 116, 115, 111, 95, 115, 101, 103, 115, 0, 99, 111, 110, 103, 95, 99, 111, 110, 116, - 114, 111, 108, 0, 112, 114, 105, 111, 114, 95, 109, 115, 116, 97, 109, 112, 0, 112, 114, 105, - 111, 114, 95, 100, 101, 108, 105, 118, 101, 114, 101, 100, 0, 100, 101, 108, 105, 118, 101, - 114, 101, 100, 0, 105, 110, 116, 101, 114, 118, 97, 108, 95, 117, 115, 0, 115, 110, 100, 95, - 105, 110, 116, 101, 114, 118, 97, 108, 95, 117, 115, 0, 114, 99, 118, 95, 105, 110, 116, 101, - 114, 118, 97, 108, 95, 117, 115, 0, 108, 111, 115, 115, 101, 115, 0, 97, 99, 107, 101, 100, 95, - 115, 97, 99, 107, 101, 100, 0, 112, 114, 105, 111, 114, 95, 105, 110, 95, 102, 108, 105, 103, - 104, 116, 0, 105, 115, 95, 97, 112, 112, 95, 108, 105, 109, 105, 116, 101, 100, 0, 105, 115, - 95, 114, 101, 116, 114, 97, 110, 115, 0, 105, 115, 95, 97, 99, 107, 95, 100, 101, 108, 97, 121, - 101, 100, 0, 114, 97, 116, 101, 95, 115, 97, 109, 112, 108, 101, 0, 117, 110, 100, 111, 95, 99, - 119, 110, 100, 0, 115, 110, 100, 98, 117, 102, 95, 101, 120, 112, 97, 110, 100, 0, 103, 101, - 116, 95, 105, 110, 102, 111, 0, 118, 101, 103, 97, 115, 0, 116, 99, 112, 118, 95, 101, 110, 97, - 98, 108, 101, 100, 0, 116, 99, 112, 118, 95, 114, 116, 116, 99, 110, 116, 0, 116, 99, 112, 118, - 95, 114, 116, 116, 0, 116, 99, 112, 118, 95, 109, 105, 110, 114, 116, 116, 0, 116, 99, 112, - 118, 101, 103, 97, 115, 95, 105, 110, 102, 111, 0, 100, 99, 116, 99, 112, 0, 100, 99, 116, 99, - 112, 95, 101, 110, 97, 98, 108, 101, 100, 0, 100, 99, 116, 99, 112, 95, 99, 101, 95, 115, 116, - 97, 116, 101, 0, 100, 99, 116, 99, 112, 95, 97, 108, 112, 104, 97, 0, 100, 99, 116, 99, 112, - 95, 97, 98, 95, 101, 99, 110, 0, 100, 99, 116, 99, 112, 95, 97, 98, 95, 116, 111, 116, 0, 116, - 99, 112, 95, 100, 99, 116, 99, 112, 95, 105, 110, 102, 111, 0, 98, 98, 114, 0, 98, 98, 114, 95, - 98, 119, 95, 108, 111, 0, 98, 98, 114, 95, 98, 119, 95, 104, 105, 0, 98, 98, 114, 95, 109, 105, - 110, 95, 114, 116, 116, 0, 98, 98, 114, 95, 112, 97, 99, 105, 110, 103, 95, 103, 97, 105, 110, - 0, 98, 98, 114, 95, 99, 119, 110, 100, 95, 103, 97, 105, 110, 0, 116, 99, 112, 95, 98, 98, 114, - 95, 105, 110, 102, 111, 0, 116, 99, 112, 95, 99, 99, 95, 105, 110, 102, 111, 0, 116, 99, 112, - 95, 99, 111, 110, 103, 101, 115, 116, 105, 111, 110, 95, 111, 112, 115, 0, 116, 99, 112, 95, - 102, 97, 115, 116, 111, 112, 101, 110, 95, 99, 116, 120, 0, 115, 105, 112, 104, 97, 115, 104, - 95, 107, 101, 121, 95, 116, 0, 110, 117, 109, 0, 116, 99, 112, 95, 102, 97, 115, 116, 111, 112, - 101, 110, 95, 99, 111, 110, 116, 101, 120, 116, 0, 115, 121, 115, 99, 116, 108, 95, 116, 99, - 112, 95, 102, 97, 115, 116, 111, 112, 101, 110, 95, 98, 108, 97, 99, 107, 104, 111, 108, 101, - 95, 116, 105, 109, 101, 111, 117, 116, 0, 116, 102, 111, 95, 97, 99, 116, 105, 118, 101, 95, - 100, 105, 115, 97, 98, 108, 101, 95, 116, 105, 109, 101, 115, 0, 116, 102, 111, 95, 97, 99, - 116, 105, 118, 101, 95, 100, 105, 115, 97, 98, 108, 101, 95, 115, 116, 97, 109, 112, 0, 115, - 121, 115, 99, 116, 108, 95, 117, 100, 112, 95, 119, 109, 101, 109, 95, 109, 105, 110, 0, 115, - 121, 115, 99, 116, 108, 95, 117, 100, 112, 95, 114, 109, 101, 109, 95, 109, 105, 110, 0, 115, - 121, 115, 99, 116, 108, 95, 102, 105, 98, 95, 110, 111, 116, 105, 102, 121, 95, 111, 110, 95, - 102, 108, 97, 103, 95, 99, 104, 97, 110, 103, 101, 0, 115, 121, 115, 99, 116, 108, 95, 117, - 100, 112, 95, 108, 51, 109, 100, 101, 118, 95, 97, 99, 99, 101, 112, 116, 0, 115, 121, 115, 99, - 116, 108, 95, 105, 103, 109, 112, 95, 108, 108, 109, 95, 114, 101, 112, 111, 114, 116, 115, 0, - 115, 121, 115, 99, 116, 108, 95, 105, 103, 109, 112, 95, 109, 97, 120, 95, 109, 101, 109, 98, - 101, 114, 115, 104, 105, 112, 115, 0, 115, 121, 115, 99, 116, 108, 95, 105, 103, 109, 112, 95, - 109, 97, 120, 95, 109, 115, 102, 0, 115, 121, 115, 99, 116, 108, 95, 105, 103, 109, 112, 95, - 113, 114, 118, 0, 112, 105, 110, 103, 95, 103, 114, 111, 117, 112, 95, 114, 97, 110, 103, 101, - 0, 100, 101, 118, 95, 97, 100, 100, 114, 95, 103, 101, 110, 105, 100, 0, 115, 121, 115, 99, - 116, 108, 95, 108, 111, 99, 97, 108, 95, 114, 101, 115, 101, 114, 118, 101, 100, 95, 112, 111, - 114, 116, 115, 0, 115, 121, 115, 99, 116, 108, 95, 105, 112, 95, 112, 114, 111, 116, 95, 115, - 111, 99, 107, 0, 109, 114, 95, 116, 97, 98, 108, 101, 115, 0, 109, 114, 95, 114, 117, 108, 101, - 115, 95, 111, 112, 115, 0, 115, 121, 115, 99, 116, 108, 95, 102, 105, 98, 95, 109, 117, 108, - 116, 105, 112, 97, 116, 104, 95, 104, 97, 115, 104, 95, 102, 105, 101, 108, 100, 115, 0, 115, - 121, 115, 99, 116, 108, 95, 102, 105, 98, 95, 109, 117, 108, 116, 105, 112, 97, 116, 104, 95, - 117, 115, 101, 95, 110, 101, 105, 103, 104, 0, 115, 121, 115, 99, 116, 108, 95, 102, 105, 98, - 95, 109, 117, 108, 116, 105, 112, 97, 116, 104, 95, 104, 97, 115, 104, 95, 112, 111, 108, 105, - 99, 121, 0, 110, 111, 116, 105, 102, 105, 101, 114, 95, 111, 112, 115, 0, 102, 105, 98, 95, - 115, 101, 113, 95, 114, 101, 97, 100, 0, 102, 105, 98, 95, 100, 117, 109, 112, 0, 102, 105, 98, - 95, 110, 111, 116, 105, 102, 105, 101, 114, 95, 111, 112, 115, 0, 102, 105, 98, 95, 115, 101, - 113, 0, 105, 112, 109, 114, 95, 110, 111, 116, 105, 102, 105, 101, 114, 95, 111, 112, 115, 0, - 105, 112, 109, 114, 95, 115, 101, 113, 0, 114, 116, 95, 103, 101, 110, 105, 100, 0, 105, 112, - 95, 105, 100, 95, 107, 101, 121, 0, 110, 101, 116, 110, 115, 95, 105, 112, 118, 52, 0, 105, - 112, 118, 54, 0, 105, 112, 54, 95, 100, 115, 116, 95, 111, 112, 115, 0, 103, 99, 95, 116, 104, - 114, 101, 115, 104, 0, 95, 109, 101, 116, 114, 105, 99, 115, 0, 120, 102, 114, 109, 0, 120, - 115, 95, 110, 101, 116, 0, 112, 111, 115, 115, 105, 98, 108, 101, 95, 110, 101, 116, 95, 116, - 0, 103, 99, 108, 105, 115, 116, 0, 98, 121, 100, 115, 116, 0, 98, 121, 115, 114, 99, 0, 98, - 121, 115, 112, 105, 0, 98, 121, 115, 101, 113, 0, 97, 52, 0, 97, 54, 0, 105, 110, 54, 0, 120, - 102, 114, 109, 95, 97, 100, 100, 114, 101, 115, 115, 95, 116, 0, 115, 112, 105, 0, 120, 102, - 114, 109, 95, 105, 100, 0, 115, 101, 108, 0, 100, 112, 111, 114, 116, 95, 109, 97, 115, 107, 0, - 115, 112, 111, 114, 116, 95, 109, 97, 115, 107, 0, 112, 114, 101, 102, 105, 120, 108, 101, 110, - 95, 100, 0, 112, 114, 101, 102, 105, 120, 108, 101, 110, 95, 115, 0, 120, 102, 114, 109, 95, - 115, 101, 108, 101, 99, 116, 111, 114, 0, 118, 0, 120, 102, 114, 109, 95, 109, 97, 114, 107, 0, - 105, 102, 95, 105, 100, 0, 116, 102, 99, 112, 97, 100, 0, 103, 101, 110, 105, 100, 0, 107, 109, - 0, 97, 108, 108, 0, 100, 121, 105, 110, 103, 0, 115, 112, 108, 101, 110, 0, 100, 112, 108, 101, - 110, 0, 120, 102, 114, 109, 95, 97, 100, 100, 114, 101, 115, 115, 95, 102, 105, 108, 116, 101, - 114, 0, 120, 102, 114, 109, 95, 115, 116, 97, 116, 101, 95, 119, 97, 108, 107, 0, 112, 114, - 111, 112, 115, 0, 114, 101, 113, 105, 100, 0, 114, 101, 112, 108, 97, 121, 95, 119, 105, 110, - 100, 111, 119, 0, 97, 97, 108, 103, 111, 0, 101, 97, 108, 103, 111, 0, 99, 97, 108, 103, 111, - 0, 104, 101, 97, 100, 101, 114, 95, 108, 101, 110, 0, 116, 114, 97, 105, 108, 101, 114, 95, - 108, 101, 110, 0, 101, 120, 116, 114, 97, 95, 102, 108, 97, 103, 115, 0, 115, 109, 97, 114, - 107, 0, 108, 102, 116, 0, 115, 111, 102, 116, 95, 98, 121, 116, 101, 95, 108, 105, 109, 105, - 116, 0, 104, 97, 114, 100, 95, 98, 121, 116, 101, 95, 108, 105, 109, 105, 116, 0, 115, 111, - 102, 116, 95, 112, 97, 99, 107, 101, 116, 95, 108, 105, 109, 105, 116, 0, 104, 97, 114, 100, - 95, 112, 97, 99, 107, 101, 116, 95, 108, 105, 109, 105, 116, 0, 115, 111, 102, 116, 95, 97, - 100, 100, 95, 101, 120, 112, 105, 114, 101, 115, 95, 115, 101, 99, 111, 110, 100, 115, 0, 104, - 97, 114, 100, 95, 97, 100, 100, 95, 101, 120, 112, 105, 114, 101, 115, 95, 115, 101, 99, 111, - 110, 100, 115, 0, 115, 111, 102, 116, 95, 117, 115, 101, 95, 101, 120, 112, 105, 114, 101, 115, - 95, 115, 101, 99, 111, 110, 100, 115, 0, 104, 97, 114, 100, 95, 117, 115, 101, 95, 101, 120, - 112, 105, 114, 101, 115, 95, 115, 101, 99, 111, 110, 100, 115, 0, 120, 102, 114, 109, 95, 108, - 105, 102, 101, 116, 105, 109, 101, 95, 99, 102, 103, 0, 97, 97, 108, 103, 0, 97, 108, 103, 95, - 110, 97, 109, 101, 0, 97, 108, 103, 95, 107, 101, 121, 95, 108, 101, 110, 0, 97, 108, 103, 95, - 116, 114, 117, 110, 99, 95, 108, 101, 110, 0, 97, 108, 103, 95, 107, 101, 121, 0, 120, 102, - 114, 109, 95, 97, 108, 103, 111, 95, 97, 117, 116, 104, 0, 101, 97, 108, 103, 0, 120, 102, 114, - 109, 95, 97, 108, 103, 111, 0, 99, 97, 108, 103, 0, 97, 101, 97, 100, 0, 97, 108, 103, 95, 105, - 99, 118, 95, 108, 101, 110, 0, 120, 102, 114, 109, 95, 97, 108, 103, 111, 95, 97, 101, 97, 100, - 0, 103, 101, 110, 105, 118, 0, 101, 110, 99, 97, 112, 0, 101, 110, 99, 97, 112, 95, 116, 121, - 112, 101, 0, 101, 110, 99, 97, 112, 95, 115, 112, 111, 114, 116, 0, 101, 110, 99, 97, 112, 95, - 100, 112, 111, 114, 116, 0, 101, 110, 99, 97, 112, 95, 111, 97, 0, 120, 102, 114, 109, 95, 101, - 110, 99, 97, 112, 95, 116, 109, 112, 108, 0, 101, 110, 99, 97, 112, 95, 115, 107, 0, 99, 111, - 97, 100, 100, 114, 0, 116, 117, 110, 110, 101, 108, 0, 116, 117, 110, 110, 101, 108, 95, 117, - 115, 101, 114, 115, 0, 114, 101, 112, 108, 97, 121, 0, 111, 115, 101, 113, 0, 120, 102, 114, - 109, 95, 114, 101, 112, 108, 97, 121, 95, 115, 116, 97, 116, 101, 0, 114, 101, 112, 108, 97, - 121, 95, 101, 115, 110, 0, 98, 109, 112, 95, 108, 101, 110, 0, 111, 115, 101, 113, 95, 104, - 105, 0, 115, 101, 113, 95, 104, 105, 0, 98, 109, 112, 0, 120, 102, 114, 109, 95, 114, 101, 112, - 108, 97, 121, 95, 115, 116, 97, 116, 101, 95, 101, 115, 110, 0, 112, 114, 101, 112, 108, 97, - 121, 0, 112, 114, 101, 112, 108, 97, 121, 95, 101, 115, 110, 0, 114, 101, 112, 108, 95, 109, - 111, 100, 101, 0, 120, 102, 108, 97, 103, 115, 0, 114, 101, 112, 108, 97, 121, 95, 109, 97, - 120, 97, 103, 101, 0, 114, 101, 112, 108, 97, 121, 95, 109, 97, 120, 100, 105, 102, 102, 0, - 114, 116, 105, 109, 101, 114, 0, 105, 110, 116, 101, 103, 114, 105, 116, 121, 95, 102, 97, 105, - 108, 101, 100, 0, 120, 102, 114, 109, 95, 115, 116, 97, 116, 115, 0, 99, 117, 114, 108, 102, - 116, 0, 98, 121, 116, 101, 115, 0, 112, 97, 99, 107, 101, 116, 115, 0, 97, 100, 100, 95, 116, - 105, 109, 101, 0, 117, 115, 101, 95, 116, 105, 109, 101, 0, 120, 102, 114, 109, 95, 108, 105, - 102, 101, 116, 105, 109, 101, 95, 99, 117, 114, 0, 109, 116, 105, 109, 101, 114, 0, 120, 115, - 111, 0, 114, 101, 97, 108, 95, 100, 101, 118, 0, 111, 102, 102, 108, 111, 97, 100, 95, 104, 97, - 110, 100, 108, 101, 0, 110, 117, 109, 95, 101, 120, 116, 104, 100, 114, 115, 0, 120, 102, 114, - 109, 95, 115, 116, 97, 116, 101, 95, 111, 102, 102, 108, 111, 97, 100, 0, 115, 97, 118, 101, - 100, 95, 116, 109, 111, 0, 108, 97, 115, 116, 117, 115, 101, 100, 0, 120, 102, 114, 97, 103, 0, - 112, 97, 103, 101, 95, 102, 114, 97, 103, 0, 105, 110, 112, 117, 116, 0, 111, 117, 116, 112, - 117, 116, 0, 114, 101, 106, 101, 99, 116, 0, 120, 102, 114, 109, 95, 116, 121, 112, 101, 0, - 105, 110, 110, 101, 114, 95, 109, 111, 100, 101, 0, 120, 102, 114, 109, 95, 109, 111, 100, 101, - 0, 105, 110, 110, 101, 114, 95, 109, 111, 100, 101, 95, 105, 97, 102, 0, 111, 117, 116, 101, - 114, 95, 109, 111, 100, 101, 0, 116, 121, 112, 101, 95, 111, 102, 102, 108, 111, 97, 100, 0, - 105, 110, 112, 117, 116, 95, 116, 97, 105, 108, 0, 120, 109, 105, 116, 0, 110, 101, 116, 100, - 101, 118, 95, 102, 101, 97, 116, 117, 114, 101, 115, 95, 116, 0, 120, 102, 114, 109, 95, 116, - 121, 112, 101, 95, 111, 102, 102, 108, 111, 97, 100, 0, 99, 116, 120, 95, 100, 111, 105, 0, 99, - 116, 120, 95, 97, 108, 103, 0, 99, 116, 120, 95, 108, 101, 110, 0, 99, 116, 120, 95, 115, 105, - 100, 0, 99, 116, 120, 95, 115, 116, 114, 0, 120, 102, 114, 109, 95, 115, 101, 99, 95, 99, 116, - 120, 0, 120, 102, 114, 109, 95, 115, 116, 97, 116, 101, 0, 111, 98, 115, 111, 108, 101, 116, - 101, 0, 95, 95, 114, 101, 102, 99, 110, 116, 0, 95, 95, 117, 115, 101, 0, 108, 97, 115, 116, - 117, 115, 101, 0, 108, 119, 116, 115, 116, 97, 116, 101, 0, 104, 101, 97, 100, 114, 111, 111, - 109, 0, 111, 114, 105, 103, 95, 111, 117, 116, 112, 117, 116, 0, 111, 114, 105, 103, 95, 105, - 110, 112, 117, 116, 0, 108, 119, 116, 117, 110, 110, 101, 108, 95, 115, 116, 97, 116, 101, 0, - 95, 95, 112, 97, 100, 0, 116, 99, 108, 97, 115, 115, 105, 100, 0, 100, 115, 116, 95, 101, 110, - 116, 114, 121, 0, 100, 101, 102, 97, 117, 108, 116, 95, 97, 100, 118, 109, 115, 115, 0, 109, - 116, 117, 0, 99, 111, 119, 95, 109, 101, 116, 114, 105, 99, 115, 0, 105, 102, 100, 111, 119, - 110, 0, 110, 101, 103, 97, 116, 105, 118, 101, 95, 97, 100, 118, 105, 99, 101, 0, 108, 105, - 110, 107, 95, 102, 97, 105, 108, 117, 114, 101, 0, 117, 112, 100, 97, 116, 101, 95, 112, 109, - 116, 117, 0, 114, 101, 100, 105, 114, 101, 99, 116, 0, 108, 111, 99, 97, 108, 95, 111, 117, - 116, 0, 110, 101, 105, 103, 104, 95, 108, 111, 111, 107, 117, 112, 0, 101, 110, 116, 114, 121, - 95, 115, 105, 122, 101, 0, 107, 101, 121, 95, 101, 113, 0, 112, 99, 111, 110, 115, 116, 114, - 117, 99, 116, 111, 114, 0, 112, 110, 101, 105, 103, 104, 95, 101, 110, 116, 114, 121, 0, 112, - 100, 101, 115, 116, 114, 117, 99, 116, 111, 114, 0, 112, 114, 111, 120, 121, 95, 114, 101, 100, - 111, 0, 105, 115, 95, 109, 117, 108, 116, 105, 99, 97, 115, 116, 0, 97, 108, 108, 111, 119, 95, - 97, 100, 100, 0, 112, 97, 114, 109, 115, 0, 110, 101, 105, 103, 104, 95, 115, 101, 116, 117, - 112, 0, 115, 121, 115, 99, 116, 108, 95, 116, 97, 98, 108, 101, 0, 114, 101, 97, 99, 104, 97, - 98, 108, 101, 95, 116, 105, 109, 101, 0, 100, 97, 116, 97, 95, 115, 116, 97, 116, 101, 0, 110, - 101, 105, 103, 104, 95, 112, 97, 114, 109, 115, 0, 112, 97, 114, 109, 115, 95, 108, 105, 115, - 116, 0, 103, 99, 95, 105, 110, 116, 101, 114, 118, 97, 108, 0, 103, 99, 95, 116, 104, 114, 101, - 115, 104, 49, 0, 103, 99, 95, 116, 104, 114, 101, 115, 104, 50, 0, 103, 99, 95, 116, 104, 114, - 101, 115, 104, 51, 0, 108, 97, 115, 116, 95, 102, 108, 117, 115, 104, 0, 103, 99, 95, 119, 111, - 114, 107, 0, 112, 114, 111, 120, 121, 95, 116, 105, 109, 101, 114, 0, 112, 114, 111, 120, 121, - 95, 113, 117, 101, 117, 101, 0, 113, 108, 101, 110, 0, 115, 107, 95, 98, 117, 102, 102, 95, - 104, 101, 97, 100, 0, 103, 99, 95, 101, 110, 116, 114, 105, 101, 115, 0, 103, 99, 95, 108, 105, - 115, 116, 0, 108, 97, 115, 116, 95, 114, 97, 110, 100, 0, 97, 108, 108, 111, 99, 115, 0, 100, - 101, 115, 116, 114, 111, 121, 115, 0, 104, 97, 115, 104, 95, 103, 114, 111, 119, 115, 0, 114, - 101, 115, 95, 102, 97, 105, 108, 101, 100, 0, 108, 111, 111, 107, 117, 112, 115, 0, 104, 105, - 116, 115, 0, 114, 99, 118, 95, 112, 114, 111, 98, 101, 115, 95, 109, 99, 97, 115, 116, 0, 114, - 99, 118, 95, 112, 114, 111, 98, 101, 115, 95, 117, 99, 97, 115, 116, 0, 112, 101, 114, 105, - 111, 100, 105, 99, 95, 103, 99, 95, 114, 117, 110, 115, 0, 102, 111, 114, 99, 101, 100, 95, - 103, 99, 95, 114, 117, 110, 115, 0, 117, 110, 114, 101, 115, 95, 100, 105, 115, 99, 97, 114, - 100, 115, 0, 116, 97, 98, 108, 101, 95, 102, 117, 108, 108, 115, 0, 110, 101, 105, 103, 104, - 95, 115, 116, 97, 116, 105, 115, 116, 105, 99, 115, 0, 110, 104, 116, 0, 104, 97, 115, 104, 95, - 98, 117, 99, 107, 101, 116, 115, 0, 104, 97, 115, 104, 95, 115, 104, 105, 102, 116, 0, 110, - 101, 105, 103, 104, 95, 104, 97, 115, 104, 95, 116, 97, 98, 108, 101, 0, 112, 104, 97, 115, - 104, 95, 98, 117, 99, 107, 101, 116, 115, 0, 110, 101, 105, 103, 104, 95, 116, 97, 98, 108, - 101, 0, 99, 111, 110, 102, 105, 114, 109, 101, 100, 0, 117, 112, 100, 97, 116, 101, 100, 0, 97, - 114, 112, 95, 113, 117, 101, 117, 101, 95, 108, 101, 110, 95, 98, 121, 116, 101, 115, 0, 97, - 114, 112, 95, 113, 117, 101, 117, 101, 0, 112, 114, 111, 98, 101, 115, 0, 110, 117, 100, 95, - 115, 116, 97, 116, 101, 0, 104, 97, 95, 108, 111, 99, 107, 0, 104, 97, 0, 104, 104, 0, 104, - 104, 95, 108, 101, 110, 0, 104, 104, 95, 108, 111, 99, 107, 0, 104, 104, 95, 100, 97, 116, 97, - 0, 104, 104, 95, 99, 97, 99, 104, 101, 0, 115, 111, 108, 105, 99, 105, 116, 0, 101, 114, 114, - 111, 114, 95, 114, 101, 112, 111, 114, 116, 0, 99, 111, 110, 110, 101, 99, 116, 101, 100, 95, - 111, 117, 116, 112, 117, 116, 0, 110, 101, 105, 103, 104, 95, 111, 112, 115, 0, 112, 114, 105, - 109, 97, 114, 121, 95, 107, 101, 121, 0, 110, 101, 105, 103, 104, 98, 111, 117, 114, 0, 99, - 111, 110, 102, 105, 114, 109, 95, 110, 101, 105, 103, 104, 0, 107, 109, 101, 109, 95, 99, 97, - 99, 104, 101, 112, 0, 112, 99, 112, 117, 99, 95, 101, 110, 116, 114, 105, 101, 115, 0, 100, - 115, 116, 95, 111, 112, 115, 0, 105, 99, 109, 112, 95, 104, 100, 114, 0, 120, 102, 114, 109, - 54, 95, 104, 100, 114, 0, 102, 108, 117, 115, 104, 95, 100, 101, 108, 97, 121, 0, 105, 112, 54, - 95, 114, 116, 95, 109, 97, 120, 95, 115, 105, 122, 101, 0, 105, 112, 54, 95, 114, 116, 95, 103, - 99, 95, 109, 105, 110, 95, 105, 110, 116, 101, 114, 118, 97, 108, 0, 105, 112, 54, 95, 114, - 116, 95, 103, 99, 95, 116, 105, 109, 101, 111, 117, 116, 0, 105, 112, 54, 95, 114, 116, 95, - 103, 99, 95, 105, 110, 116, 101, 114, 118, 97, 108, 0, 105, 112, 54, 95, 114, 116, 95, 103, 99, - 95, 101, 108, 97, 115, 116, 105, 99, 105, 116, 121, 0, 105, 112, 54, 95, 114, 116, 95, 109, - 116, 117, 95, 101, 120, 112, 105, 114, 101, 115, 0, 105, 112, 54, 95, 114, 116, 95, 109, 105, - 110, 95, 97, 100, 118, 109, 115, 115, 0, 109, 117, 108, 116, 105, 112, 97, 116, 104, 95, 104, - 97, 115, 104, 95, 102, 105, 101, 108, 100, 115, 0, 109, 117, 108, 116, 105, 112, 97, 116, 104, - 95, 104, 97, 115, 104, 95, 112, 111, 108, 105, 99, 121, 0, 98, 105, 110, 100, 118, 54, 111, - 110, 108, 121, 0, 102, 108, 111, 119, 108, 97, 98, 101, 108, 95, 99, 111, 110, 115, 105, 115, - 116, 101, 110, 99, 121, 0, 97, 117, 116, 111, 95, 102, 108, 111, 119, 108, 97, 98, 101, 108, - 115, 0, 105, 99, 109, 112, 118, 54, 95, 116, 105, 109, 101, 0, 105, 99, 109, 112, 118, 54, 95, - 101, 99, 104, 111, 95, 105, 103, 110, 111, 114, 101, 95, 97, 108, 108, 0, 105, 99, 109, 112, - 118, 54, 95, 101, 99, 104, 111, 95, 105, 103, 110, 111, 114, 101, 95, 109, 117, 108, 116, 105, - 99, 97, 115, 116, 0, 105, 99, 109, 112, 118, 54, 95, 101, 99, 104, 111, 95, 105, 103, 110, 111, - 114, 101, 95, 97, 110, 121, 99, 97, 115, 116, 0, 105, 99, 109, 112, 118, 54, 95, 114, 97, 116, - 101, 109, 97, 115, 107, 0, 105, 99, 109, 112, 118, 54, 95, 114, 97, 116, 101, 109, 97, 115, - 107, 95, 112, 116, 114, 0, 97, 110, 121, 99, 97, 115, 116, 95, 115, 114, 99, 95, 101, 99, 104, - 111, 95, 114, 101, 112, 108, 121, 0, 105, 112, 95, 110, 111, 110, 108, 111, 99, 97, 108, 95, - 98, 105, 110, 100, 0, 102, 119, 109, 97, 114, 107, 95, 114, 101, 102, 108, 101, 99, 116, 0, - 102, 108, 111, 119, 108, 97, 98, 101, 108, 95, 115, 116, 97, 116, 101, 95, 114, 97, 110, 103, - 101, 115, 0, 105, 100, 103, 101, 110, 95, 114, 101, 116, 114, 105, 101, 115, 0, 105, 100, 103, - 101, 110, 95, 100, 101, 108, 97, 121, 0, 102, 108, 111, 119, 108, 97, 98, 101, 108, 95, 114, - 101, 102, 108, 101, 99, 116, 0, 109, 97, 120, 95, 100, 115, 116, 95, 111, 112, 116, 115, 95, - 99, 110, 116, 0, 109, 97, 120, 95, 104, 98, 104, 95, 111, 112, 116, 115, 95, 99, 110, 116, 0, - 109, 97, 120, 95, 100, 115, 116, 95, 111, 112, 116, 115, 95, 108, 101, 110, 0, 109, 97, 120, - 95, 104, 98, 104, 95, 111, 112, 116, 115, 95, 108, 101, 110, 0, 115, 101, 103, 54, 95, 102, - 108, 111, 119, 108, 97, 98, 101, 108, 0, 105, 111, 97, 109, 54, 95, 105, 100, 0, 105, 111, 97, - 109, 54, 95, 105, 100, 95, 119, 105, 100, 101, 0, 115, 107, 105, 112, 95, 110, 111, 116, 105, - 102, 121, 95, 111, 110, 95, 100, 101, 118, 95, 100, 111, 119, 110, 0, 102, 105, 98, 95, 110, - 111, 116, 105, 102, 121, 95, 111, 110, 95, 102, 108, 97, 103, 95, 99, 104, 97, 110, 103, 101, - 0, 110, 101, 116, 110, 115, 95, 115, 121, 115, 99, 116, 108, 95, 105, 112, 118, 54, 0, 102, - 111, 114, 119, 97, 114, 100, 105, 110, 103, 0, 104, 111, 112, 95, 108, 105, 109, 105, 116, 0, - 109, 116, 117, 54, 0, 97, 99, 99, 101, 112, 116, 95, 114, 97, 0, 97, 99, 99, 101, 112, 116, 95, - 114, 101, 100, 105, 114, 101, 99, 116, 115, 0, 97, 117, 116, 111, 99, 111, 110, 102, 0, 100, - 97, 100, 95, 116, 114, 97, 110, 115, 109, 105, 116, 115, 0, 114, 116, 114, 95, 115, 111, 108, - 105, 99, 105, 116, 115, 0, 114, 116, 114, 95, 115, 111, 108, 105, 99, 105, 116, 95, 105, 110, - 116, 101, 114, 118, 97, 108, 0, 114, 116, 114, 95, 115, 111, 108, 105, 99, 105, 116, 95, 109, - 97, 120, 95, 105, 110, 116, 101, 114, 118, 97, 108, 0, 114, 116, 114, 95, 115, 111, 108, 105, - 99, 105, 116, 95, 100, 101, 108, 97, 121, 0, 102, 111, 114, 99, 101, 95, 109, 108, 100, 95, - 118, 101, 114, 115, 105, 111, 110, 0, 109, 108, 100, 118, 49, 95, 117, 110, 115, 111, 108, 105, - 99, 105, 116, 101, 100, 95, 114, 101, 112, 111, 114, 116, 95, 105, 110, 116, 101, 114, 118, 97, - 108, 0, 109, 108, 100, 118, 50, 95, 117, 110, 115, 111, 108, 105, 99, 105, 116, 101, 100, 95, - 114, 101, 112, 111, 114, 116, 95, 105, 110, 116, 101, 114, 118, 97, 108, 0, 117, 115, 101, 95, - 116, 101, 109, 112, 97, 100, 100, 114, 0, 116, 101, 109, 112, 95, 118, 97, 108, 105, 100, 95, - 108, 102, 116, 0, 116, 101, 109, 112, 95, 112, 114, 101, 102, 101, 114, 101, 100, 95, 108, 102, - 116, 0, 114, 101, 103, 101, 110, 95, 109, 97, 120, 95, 114, 101, 116, 114, 121, 0, 109, 97, - 120, 95, 100, 101, 115, 121, 110, 99, 95, 102, 97, 99, 116, 111, 114, 0, 109, 97, 120, 95, 97, - 100, 100, 114, 101, 115, 115, 101, 115, 0, 97, 99, 99, 101, 112, 116, 95, 114, 97, 95, 100, - 101, 102, 114, 116, 114, 0, 114, 97, 95, 100, 101, 102, 114, 116, 114, 95, 109, 101, 116, 114, - 105, 99, 0, 97, 99, 99, 101, 112, 116, 95, 114, 97, 95, 109, 105, 110, 95, 104, 111, 112, 95, - 108, 105, 109, 105, 116, 0, 97, 99, 99, 101, 112, 116, 95, 114, 97, 95, 112, 105, 110, 102, - 111, 0, 105, 103, 110, 111, 114, 101, 95, 114, 111, 117, 116, 101, 115, 95, 119, 105, 116, 104, - 95, 108, 105, 110, 107, 100, 111, 119, 110, 0, 97, 99, 99, 101, 112, 116, 95, 114, 97, 95, 114, - 116, 114, 95, 112, 114, 101, 102, 0, 114, 116, 114, 95, 112, 114, 111, 98, 101, 95, 105, 110, - 116, 101, 114, 118, 97, 108, 0, 97, 99, 99, 101, 112, 116, 95, 114, 97, 95, 114, 116, 95, 105, - 110, 102, 111, 95, 109, 105, 110, 95, 112, 108, 101, 110, 0, 97, 99, 99, 101, 112, 116, 95, - 114, 97, 95, 114, 116, 95, 105, 110, 102, 111, 95, 109, 97, 120, 95, 112, 108, 101, 110, 0, - 112, 114, 111, 120, 121, 95, 110, 100, 112, 0, 97, 99, 99, 101, 112, 116, 95, 115, 111, 117, - 114, 99, 101, 95, 114, 111, 117, 116, 101, 0, 97, 99, 99, 101, 112, 116, 95, 114, 97, 95, 102, - 114, 111, 109, 95, 108, 111, 99, 97, 108, 0, 111, 112, 116, 105, 109, 105, 115, 116, 105, 99, - 95, 100, 97, 100, 0, 117, 115, 101, 95, 111, 112, 116, 105, 109, 105, 115, 116, 105, 99, 0, - 109, 99, 95, 102, 111, 114, 119, 97, 114, 100, 105, 110, 103, 0, 100, 105, 115, 97, 98, 108, - 101, 95, 105, 112, 118, 54, 0, 100, 114, 111, 112, 95, 117, 110, 105, 99, 97, 115, 116, 95, - 105, 110, 95, 108, 50, 95, 109, 117, 108, 116, 105, 99, 97, 115, 116, 0, 97, 99, 99, 101, 112, - 116, 95, 100, 97, 100, 0, 102, 111, 114, 99, 101, 95, 116, 108, 108, 97, 111, 0, 110, 100, 105, - 115, 99, 95, 110, 111, 116, 105, 102, 121, 0, 115, 117, 112, 112, 114, 101, 115, 115, 95, 102, - 114, 97, 103, 95, 110, 100, 105, 115, 99, 0, 97, 99, 99, 101, 112, 116, 95, 114, 97, 95, 109, - 116, 117, 0, 100, 114, 111, 112, 95, 117, 110, 115, 111, 108, 105, 99, 105, 116, 101, 100, 95, - 110, 97, 0, 115, 116, 97, 98, 108, 101, 95, 115, 101, 99, 114, 101, 116, 0, 115, 101, 99, 114, - 101, 116, 0, 105, 112, 118, 54, 95, 115, 116, 97, 98, 108, 101, 95, 115, 101, 99, 114, 101, - 116, 0, 117, 115, 101, 95, 111, 105, 102, 95, 97, 100, 100, 114, 115, 95, 111, 110, 108, 121, - 0, 107, 101, 101, 112, 95, 97, 100, 100, 114, 95, 111, 110, 95, 100, 111, 119, 110, 0, 115, - 101, 103, 54, 95, 101, 110, 97, 98, 108, 101, 100, 0, 115, 101, 103, 54, 95, 114, 101, 113, - 117, 105, 114, 101, 95, 104, 109, 97, 99, 0, 101, 110, 104, 97, 110, 99, 101, 100, 95, 100, 97, - 100, 0, 97, 100, 100, 114, 95, 103, 101, 110, 95, 109, 111, 100, 101, 0, 100, 105, 115, 97, 98, - 108, 101, 95, 112, 111, 108, 105, 99, 121, 0, 110, 100, 105, 115, 99, 95, 116, 99, 108, 97, - 115, 115, 0, 114, 112, 108, 95, 115, 101, 103, 95, 101, 110, 97, 98, 108, 101, 100, 0, 105, - 111, 97, 109, 54, 95, 101, 110, 97, 98, 108, 101, 100, 0, 115, 121, 115, 99, 116, 108, 95, 104, - 101, 97, 100, 101, 114, 0, 105, 112, 118, 54, 95, 100, 101, 118, 99, 111, 110, 102, 0, 102, - 105, 98, 54, 95, 110, 117, 108, 108, 95, 101, 110, 116, 114, 121, 0, 102, 105, 98, 54, 95, 116, - 97, 98, 108, 101, 0, 116, 98, 54, 95, 104, 108, 105, 115, 116, 0, 116, 98, 54, 95, 105, 100, 0, - 116, 98, 54, 95, 108, 111, 99, 107, 0, 116, 98, 54, 95, 114, 111, 111, 116, 0, 108, 101, 102, - 116, 0, 114, 105, 103, 104, 116, 0, 115, 117, 98, 116, 114, 101, 101, 0, 108, 101, 97, 102, 0, - 102, 110, 95, 98, 105, 116, 0, 102, 110, 95, 102, 108, 97, 103, 115, 0, 102, 110, 95, 115, 101, - 114, 110, 117, 109, 0, 114, 114, 95, 112, 116, 114, 0, 102, 105, 98, 54, 95, 110, 111, 100, - 101, 0, 116, 98, 54, 95, 112, 101, 101, 114, 115, 0, 102, 105, 98, 54, 95, 110, 101, 120, 116, - 0, 102, 105, 98, 54, 95, 115, 105, 98, 108, 105, 110, 103, 115, 0, 110, 104, 95, 108, 105, 115, - 116, 0, 102, 105, 98, 54, 95, 110, 115, 105, 98, 108, 105, 110, 103, 115, 0, 102, 105, 98, 54, - 95, 114, 101, 102, 0, 102, 105, 98, 54, 95, 109, 101, 116, 114, 105, 99, 115, 0, 109, 101, 116, - 114, 105, 99, 115, 0, 100, 115, 116, 95, 109, 101, 116, 114, 105, 99, 115, 0, 102, 105, 98, 54, - 95, 100, 115, 116, 0, 112, 108, 101, 110, 0, 114, 116, 54, 107, 101, 121, 0, 102, 105, 98, 54, - 95, 102, 108, 97, 103, 115, 0, 102, 105, 98, 54, 95, 115, 114, 99, 0, 102, 105, 98, 54, 95, - 112, 114, 101, 102, 115, 114, 99, 0, 102, 105, 98, 54, 95, 109, 101, 116, 114, 105, 99, 0, 102, - 105, 98, 54, 95, 112, 114, 111, 116, 111, 99, 111, 108, 0, 102, 105, 98, 54, 95, 116, 121, 112, - 101, 0, 115, 104, 111, 117, 108, 100, 95, 102, 108, 117, 115, 104, 0, 100, 115, 116, 95, 110, - 111, 99, 111, 117, 110, 116, 0, 100, 115, 116, 95, 110, 111, 112, 111, 108, 105, 99, 121, 0, - 102, 105, 98, 54, 95, 100, 101, 115, 116, 114, 111, 121, 105, 110, 103, 0, 116, 114, 97, 112, - 0, 111, 102, 102, 108, 111, 97, 100, 95, 102, 97, 105, 108, 101, 100, 0, 110, 104, 0, 102, 105, - 95, 108, 105, 115, 116, 0, 102, 54, 105, 95, 108, 105, 115, 116, 0, 102, 100, 98, 95, 108, 105, - 115, 116, 0, 103, 114, 112, 95, 108, 105, 115, 116, 0, 110, 104, 95, 102, 108, 97, 103, 115, 0, - 105, 115, 95, 103, 114, 111, 117, 112, 0, 110, 104, 95, 105, 110, 102, 111, 0, 100, 101, 118, - 95, 104, 97, 115, 104, 0, 110, 104, 95, 112, 97, 114, 101, 110, 116, 0, 114, 101, 106, 101, 99, - 116, 95, 110, 104, 0, 102, 100, 98, 95, 110, 104, 0, 102, 105, 98, 95, 110, 104, 99, 0, 110, - 104, 99, 95, 100, 101, 118, 0, 110, 104, 99, 95, 111, 105, 102, 0, 110, 104, 99, 95, 115, 99, - 111, 112, 101, 0, 110, 104, 99, 95, 102, 97, 109, 105, 108, 121, 0, 110, 104, 99, 95, 103, 119, - 95, 102, 97, 109, 105, 108, 121, 0, 110, 104, 99, 95, 102, 108, 97, 103, 115, 0, 110, 104, 99, - 95, 108, 119, 116, 115, 116, 97, 116, 101, 0, 110, 104, 99, 95, 103, 119, 0, 110, 104, 99, 95, - 119, 101, 105, 103, 104, 116, 0, 110, 104, 99, 95, 117, 112, 112, 101, 114, 95, 98, 111, 117, - 110, 100, 0, 110, 104, 99, 95, 112, 99, 112, 117, 95, 114, 116, 104, 95, 111, 117, 116, 112, - 117, 116, 0, 114, 116, 95, 102, 108, 97, 103, 115, 0, 114, 116, 95, 116, 121, 112, 101, 0, 114, - 116, 95, 105, 115, 95, 105, 110, 112, 117, 116, 0, 114, 116, 95, 117, 115, 101, 115, 95, 103, - 97, 116, 101, 119, 97, 121, 0, 114, 116, 95, 105, 105, 102, 0, 114, 116, 95, 103, 119, 95, 102, - 97, 109, 105, 108, 121, 0, 114, 116, 95, 103, 119, 52, 0, 114, 116, 95, 103, 119, 54, 0, 114, - 116, 95, 109, 116, 117, 95, 108, 111, 99, 107, 101, 100, 0, 114, 116, 95, 112, 109, 116, 117, - 0, 114, 116, 95, 117, 110, 99, 97, 99, 104, 101, 100, 0, 114, 116, 95, 117, 110, 99, 97, 99, - 104, 101, 100, 95, 108, 105, 115, 116, 0, 117, 110, 99, 97, 99, 104, 101, 100, 95, 108, 105, - 115, 116, 0, 114, 116, 97, 98, 108, 101, 0, 110, 104, 99, 95, 114, 116, 104, 95, 105, 110, 112, - 117, 116, 0, 110, 104, 99, 95, 101, 120, 99, 101, 112, 116, 105, 111, 110, 115, 0, 102, 110, - 104, 101, 95, 110, 101, 120, 116, 0, 102, 110, 104, 101, 95, 100, 97, 100, 100, 114, 0, 102, - 110, 104, 101, 95, 112, 109, 116, 117, 0, 102, 110, 104, 101, 95, 109, 116, 117, 95, 108, 111, - 99, 107, 101, 100, 0, 102, 110, 104, 101, 95, 103, 119, 0, 102, 110, 104, 101, 95, 101, 120, - 112, 105, 114, 101, 115, 0, 102, 110, 104, 101, 95, 114, 116, 104, 95, 105, 110, 112, 117, 116, - 0, 102, 110, 104, 101, 95, 114, 116, 104, 95, 111, 117, 116, 112, 117, 116, 0, 102, 110, 104, - 101, 95, 115, 116, 97, 109, 112, 0, 102, 105, 98, 95, 110, 104, 95, 101, 120, 99, 101, 112, - 116, 105, 111, 110, 0, 102, 110, 104, 101, 95, 104, 97, 115, 104, 95, 98, 117, 99, 107, 101, - 116, 0, 102, 105, 98, 95, 110, 104, 95, 99, 111, 109, 109, 111, 110, 0, 102, 105, 98, 95, 110, - 104, 0, 110, 104, 95, 99, 111, 109, 109, 111, 110, 0, 110, 104, 95, 104, 97, 115, 104, 0, 102, - 105, 98, 95, 104, 97, 115, 104, 0, 102, 105, 98, 95, 108, 104, 97, 115, 104, 0, 102, 105, 98, - 95, 110, 101, 116, 0, 102, 105, 98, 95, 116, 114, 101, 101, 114, 101, 102, 0, 102, 105, 98, 95, - 99, 108, 110, 116, 114, 101, 102, 0, 102, 105, 98, 95, 102, 108, 97, 103, 115, 0, 102, 105, 98, - 95, 100, 101, 97, 100, 0, 102, 105, 98, 95, 112, 114, 111, 116, 111, 99, 111, 108, 0, 102, 105, - 98, 95, 115, 99, 111, 112, 101, 0, 102, 105, 98, 95, 116, 121, 112, 101, 0, 102, 105, 98, 95, - 112, 114, 101, 102, 115, 114, 99, 0, 102, 105, 98, 95, 116, 98, 95, 105, 100, 0, 102, 105, 98, - 95, 112, 114, 105, 111, 114, 105, 116, 121, 0, 102, 105, 98, 95, 109, 101, 116, 114, 105, 99, - 115, 0, 102, 105, 98, 95, 110, 104, 115, 0, 102, 105, 98, 95, 110, 104, 95, 105, 115, 95, 118, - 54, 0, 110, 104, 95, 117, 112, 100, 97, 116, 101, 100, 0, 102, 105, 98, 95, 105, 110, 102, 111, - 0, 110, 104, 95, 116, 99, 108, 97, 115, 115, 105, 100, 0, 110, 104, 95, 115, 97, 100, 100, 114, - 0, 110, 104, 95, 115, 97, 100, 100, 114, 95, 103, 101, 110, 105, 100, 0, 102, 105, 98, 54, 95, - 110, 104, 0, 108, 97, 115, 116, 95, 112, 114, 111, 98, 101, 0, 114, 116, 54, 105, 95, 112, 99, - 112, 117, 0, 115, 101, 114, 110, 117, 109, 0, 114, 116, 54, 105, 95, 100, 115, 116, 0, 114, - 116, 54, 105, 95, 115, 114, 99, 0, 114, 116, 54, 105, 95, 103, 97, 116, 101, 119, 97, 121, 0, - 114, 116, 54, 105, 95, 105, 100, 101, 118, 0, 97, 100, 100, 114, 95, 108, 105, 115, 116, 0, - 109, 99, 95, 108, 105, 115, 116, 0, 109, 99, 97, 95, 97, 100, 100, 114, 0, 105, 100, 101, 118, - 0, 109, 99, 97, 95, 115, 111, 117, 114, 99, 101, 115, 0, 115, 102, 95, 110, 101, 120, 116, 0, - 115, 102, 95, 97, 100, 100, 114, 0, 115, 102, 95, 99, 111, 117, 110, 116, 0, 115, 102, 95, 103, - 115, 114, 101, 115, 112, 0, 115, 102, 95, 111, 108, 100, 105, 110, 0, 115, 102, 95, 99, 114, - 99, 111, 117, 110, 116, 0, 105, 112, 54, 95, 115, 102, 95, 108, 105, 115, 116, 0, 109, 99, 97, - 95, 116, 111, 109, 98, 0, 109, 99, 97, 95, 115, 102, 109, 111, 100, 101, 0, 109, 99, 97, 95, - 99, 114, 99, 111, 117, 110, 116, 0, 109, 99, 97, 95, 115, 102, 99, 111, 117, 110, 116, 0, 109, - 99, 97, 95, 119, 111, 114, 107, 0, 109, 99, 97, 95, 102, 108, 97, 103, 115, 0, 109, 99, 97, 95, - 117, 115, 101, 114, 115, 0, 109, 99, 97, 95, 114, 101, 102, 99, 110, 116, 0, 109, 99, 97, 95, - 99, 115, 116, 97, 109, 112, 0, 109, 99, 97, 95, 116, 115, 116, 97, 109, 112, 0, 105, 102, 109, - 99, 97, 100, 100, 114, 54, 0, 109, 99, 95, 116, 111, 109, 98, 0, 109, 99, 95, 113, 114, 118, 0, - 109, 99, 95, 103, 113, 95, 114, 117, 110, 110, 105, 110, 103, 0, 109, 99, 95, 105, 102, 99, 95, - 99, 111, 117, 110, 116, 0, 109, 99, 95, 100, 97, 100, 95, 99, 111, 117, 110, 116, 0, 109, 99, - 95, 118, 49, 95, 115, 101, 101, 110, 0, 109, 99, 95, 113, 105, 0, 109, 99, 95, 113, 114, 105, - 0, 109, 99, 95, 109, 97, 120, 100, 101, 108, 97, 121, 0, 109, 99, 95, 103, 113, 95, 119, 111, - 114, 107, 0, 109, 99, 95, 105, 102, 99, 95, 119, 111, 114, 107, 0, 109, 99, 95, 100, 97, 100, - 95, 119, 111, 114, 107, 0, 109, 99, 95, 113, 117, 101, 114, 121, 95, 119, 111, 114, 107, 0, - 109, 99, 95, 114, 101, 112, 111, 114, 116, 95, 119, 111, 114, 107, 0, 109, 99, 95, 113, 117, - 101, 114, 121, 95, 113, 117, 101, 117, 101, 0, 109, 99, 95, 114, 101, 112, 111, 114, 116, 95, - 113, 117, 101, 117, 101, 0, 109, 99, 95, 113, 117, 101, 114, 121, 95, 108, 111, 99, 107, 0, - 109, 99, 95, 114, 101, 112, 111, 114, 116, 95, 108, 111, 99, 107, 0, 109, 99, 95, 108, 111, 99, - 107, 0, 97, 99, 95, 108, 105, 115, 116, 0, 97, 99, 97, 95, 97, 100, 100, 114, 0, 97, 99, 97, - 95, 114, 116, 0, 97, 99, 97, 95, 110, 101, 120, 116, 0, 97, 99, 97, 95, 97, 100, 100, 114, 95, - 108, 115, 116, 0, 97, 99, 97, 95, 117, 115, 101, 114, 115, 0, 97, 99, 97, 95, 114, 101, 102, - 99, 110, 116, 0, 97, 99, 97, 95, 99, 115, 116, 97, 109, 112, 0, 97, 99, 97, 95, 116, 115, 116, - 97, 109, 112, 0, 105, 102, 97, 99, 97, 100, 100, 114, 54, 0, 105, 102, 95, 102, 108, 97, 103, - 115, 0, 100, 101, 115, 121, 110, 99, 95, 102, 97, 99, 116, 111, 114, 0, 116, 101, 109, 112, 97, - 100, 100, 114, 95, 108, 105, 115, 116, 0, 116, 111, 107, 101, 110, 0, 110, 100, 95, 112, 97, - 114, 109, 115, 0, 99, 110, 102, 0, 105, 99, 109, 112, 118, 54, 100, 101, 118, 0, 105, 99, 109, - 112, 118, 54, 95, 109, 105, 98, 95, 100, 101, 118, 105, 99, 101, 0, 105, 99, 109, 112, 118, 54, - 109, 115, 103, 100, 101, 118, 0, 105, 99, 109, 112, 118, 54, 109, 115, 103, 95, 109, 105, 98, - 95, 100, 101, 118, 105, 99, 101, 0, 105, 112, 118, 54, 95, 100, 101, 118, 115, 116, 97, 116, 0, - 114, 115, 95, 116, 105, 109, 101, 114, 0, 114, 115, 95, 105, 110, 116, 101, 114, 118, 97, 108, - 0, 114, 115, 95, 112, 114, 111, 98, 101, 115, 0, 116, 115, 116, 97, 109, 112, 0, 114, 97, 95, - 109, 116, 117, 0, 105, 110, 101, 116, 54, 95, 100, 101, 118, 0, 114, 116, 54, 105, 95, 102, - 108, 97, 103, 115, 0, 114, 116, 54, 105, 95, 117, 110, 99, 97, 99, 104, 101, 100, 0, 114, 116, - 54, 105, 95, 117, 110, 99, 97, 99, 104, 101, 100, 95, 108, 105, 115, 116, 0, 114, 116, 54, 105, - 95, 110, 102, 104, 101, 97, 100, 101, 114, 95, 108, 101, 110, 0, 114, 116, 54, 95, 105, 110, - 102, 111, 0, 114, 116, 54, 105, 95, 101, 120, 99, 101, 112, 116, 105, 111, 110, 95, 98, 117, - 99, 107, 101, 116, 0, 114, 116, 54, 95, 101, 120, 99, 101, 112, 116, 105, 111, 110, 95, 98, - 117, 99, 107, 101, 116, 0, 110, 104, 95, 103, 114, 112, 0, 110, 117, 109, 95, 110, 104, 0, 105, - 115, 95, 109, 117, 108, 116, 105, 112, 97, 116, 104, 0, 104, 97, 115, 104, 95, 116, 104, 114, - 101, 115, 104, 111, 108, 100, 0, 114, 101, 115, 105, 108, 105, 101, 110, 116, 0, 104, 97, 115, - 95, 118, 52, 0, 114, 101, 115, 95, 116, 97, 98, 108, 101, 0, 110, 104, 103, 95, 105, 100, 0, - 117, 112, 107, 101, 101, 112, 95, 100, 119, 0, 117, 119, 95, 110, 104, 95, 101, 110, 116, 114, - 105, 101, 115, 0, 117, 110, 98, 97, 108, 97, 110, 99, 101, 100, 95, 115, 105, 110, 99, 101, 0, - 117, 110, 98, 97, 108, 97, 110, 99, 101, 100, 95, 116, 105, 109, 101, 114, 0, 110, 117, 109, - 95, 110, 104, 95, 98, 117, 99, 107, 101, 116, 115, 0, 110, 104, 95, 98, 117, 99, 107, 101, 116, - 115, 0, 110, 104, 95, 101, 110, 116, 114, 121, 0, 104, 116, 104, 114, 0, 117, 112, 112, 101, - 114, 95, 98, 111, 117, 110, 100, 0, 117, 119, 95, 110, 104, 95, 101, 110, 116, 114, 121, 0, 99, - 111, 117, 110, 116, 95, 98, 117, 99, 107, 101, 116, 115, 0, 119, 97, 110, 116, 115, 95, 98, - 117, 99, 107, 101, 116, 115, 0, 110, 104, 95, 103, 114, 112, 95, 101, 110, 116, 114, 121, 0, - 117, 115, 101, 100, 95, 116, 105, 109, 101, 0, 109, 105, 103, 114, 97, 116, 101, 100, 95, 116, - 105, 109, 101, 0, 111, 99, 99, 117, 112, 105, 101, 100, 0, 110, 104, 95, 114, 101, 115, 95, 98, - 117, 99, 107, 101, 116, 0, 110, 104, 95, 114, 101, 115, 95, 116, 97, 98, 108, 101, 0, 110, 104, - 95, 101, 110, 116, 114, 105, 101, 115, 0, 110, 104, 95, 103, 114, 111, 117, 112, 0, 102, 105, - 98, 54, 95, 105, 110, 102, 111, 0, 105, 112, 54, 95, 110, 117, 108, 108, 95, 101, 110, 116, - 114, 121, 0, 114, 116, 54, 95, 115, 116, 97, 116, 115, 0, 102, 105, 98, 95, 110, 111, 100, 101, - 115, 0, 102, 105, 98, 95, 114, 111, 117, 116, 101, 95, 110, 111, 100, 101, 115, 0, 102, 105, - 98, 95, 114, 116, 95, 101, 110, 116, 114, 105, 101, 115, 0, 102, 105, 98, 95, 114, 116, 95, 99, - 97, 99, 104, 101, 0, 102, 105, 98, 95, 100, 105, 115, 99, 97, 114, 100, 101, 100, 95, 114, 111, - 117, 116, 101, 115, 0, 102, 105, 98, 95, 114, 116, 95, 97, 108, 108, 111, 99, 0, 102, 105, 98, - 95, 114, 116, 95, 117, 110, 99, 97, 99, 104, 101, 0, 114, 116, 54, 95, 115, 116, 97, 116, 105, - 115, 116, 105, 99, 115, 0, 105, 112, 54, 95, 102, 105, 98, 95, 116, 105, 109, 101, 114, 0, 102, - 105, 98, 54, 95, 109, 97, 105, 110, 95, 116, 98, 108, 0, 102, 105, 98, 54, 95, 119, 97, 108, - 107, 101, 114, 115, 0, 102, 105, 98, 54, 95, 119, 97, 108, 107, 101, 114, 95, 108, 111, 99, - 107, 0, 102, 105, 98, 54, 95, 103, 99, 95, 108, 111, 99, 107, 0, 105, 112, 54, 95, 114, 116, - 95, 103, 99, 95, 101, 120, 112, 105, 114, 101, 0, 105, 112, 54, 95, 114, 116, 95, 108, 97, 115, - 116, 95, 103, 99, 0, 102, 105, 98, 54, 95, 114, 117, 108, 101, 115, 95, 114, 101, 113, 117, - 105, 114, 101, 95, 102, 108, 100, 105, 115, 115, 101, 99, 116, 0, 102, 105, 98, 54, 95, 104, - 97, 115, 95, 99, 117, 115, 116, 111, 109, 95, 114, 117, 108, 101, 115, 0, 102, 105, 98, 54, 95, - 114, 111, 117, 116, 101, 115, 95, 114, 101, 113, 117, 105, 114, 101, 95, 115, 114, 99, 0, 105, - 112, 54, 95, 112, 114, 111, 104, 105, 98, 105, 116, 95, 101, 110, 116, 114, 121, 0, 105, 112, - 54, 95, 98, 108, 107, 95, 104, 111, 108, 101, 95, 101, 110, 116, 114, 121, 0, 102, 105, 98, 54, - 95, 108, 111, 99, 97, 108, 95, 116, 98, 108, 0, 102, 105, 98, 54, 95, 114, 117, 108, 101, 115, - 95, 111, 112, 115, 0, 110, 100, 105, 115, 99, 95, 115, 107, 0, 105, 103, 109, 112, 95, 115, - 107, 0, 109, 114, 54, 95, 116, 97, 98, 108, 101, 115, 0, 109, 114, 54, 95, 114, 117, 108, 101, - 115, 95, 111, 112, 115, 0, 102, 105, 98, 54, 95, 115, 101, 114, 110, 117, 109, 0, 115, 101, - 103, 54, 95, 100, 97, 116, 97, 0, 116, 117, 110, 95, 115, 114, 99, 0, 104, 109, 97, 99, 95, - 105, 110, 102, 111, 115, 0, 115, 101, 103, 54, 95, 112, 101, 114, 110, 101, 116, 95, 100, 97, - 116, 97, 0, 105, 112, 54, 109, 114, 95, 110, 111, 116, 105, 102, 105, 101, 114, 95, 111, 112, - 115, 0, 105, 112, 54, 97, 100, 100, 114, 108, 98, 108, 95, 116, 97, 98, 108, 101, 0, 105, 111, - 97, 109, 54, 95, 100, 97, 116, 97, 0, 110, 97, 109, 101, 115, 112, 97, 99, 101, 115, 0, 115, - 99, 104, 101, 109, 97, 115, 0, 105, 111, 97, 109, 54, 95, 112, 101, 114, 110, 101, 116, 95, - 100, 97, 116, 97, 0, 110, 101, 116, 110, 115, 95, 105, 112, 118, 54, 0, 105, 101, 101, 101, 56, - 48, 50, 49, 53, 52, 95, 108, 111, 119, 112, 97, 110, 0, 110, 101, 116, 110, 115, 95, 115, 121, - 115, 99, 116, 108, 95, 108, 111, 119, 112, 97, 110, 0, 110, 101, 116, 110, 115, 95, 105, 101, - 101, 101, 56, 48, 50, 49, 53, 52, 95, 108, 111, 119, 112, 97, 110, 0, 115, 99, 116, 112, 0, - 115, 99, 116, 112, 95, 115, 116, 97, 116, 105, 115, 116, 105, 99, 115, 0, 115, 99, 116, 112, - 95, 109, 105, 98, 0, 112, 114, 111, 99, 95, 110, 101, 116, 95, 115, 99, 116, 112, 0, 99, 116, - 108, 95, 115, 111, 99, 107, 0, 117, 100, 112, 52, 95, 115, 111, 99, 107, 0, 117, 100, 112, 54, - 95, 115, 111, 99, 107, 0, 117, 100, 112, 95, 112, 111, 114, 116, 0, 101, 110, 99, 97, 112, 95, - 112, 111, 114, 116, 0, 108, 111, 99, 97, 108, 95, 97, 100, 100, 114, 95, 108, 105, 115, 116, 0, - 97, 100, 100, 114, 95, 119, 97, 105, 116, 113, 0, 97, 100, 100, 114, 95, 119, 113, 95, 116, - 105, 109, 101, 114, 0, 97, 117, 116, 111, 95, 97, 115, 99, 111, 110, 102, 95, 115, 112, 108, - 105, 115, 116, 0, 97, 100, 100, 114, 95, 119, 113, 95, 108, 111, 99, 107, 0, 108, 111, 99, 97, - 108, 95, 97, 100, 100, 114, 95, 108, 111, 99, 107, 0, 114, 116, 111, 95, 105, 110, 105, 116, - 105, 97, 108, 0, 114, 116, 111, 95, 109, 105, 110, 0, 114, 116, 111, 95, 109, 97, 120, 0, 114, - 116, 111, 95, 97, 108, 112, 104, 97, 0, 114, 116, 111, 95, 98, 101, 116, 97, 0, 109, 97, 120, - 95, 98, 117, 114, 115, 116, 0, 99, 111, 111, 107, 105, 101, 95, 112, 114, 101, 115, 101, 114, - 118, 101, 95, 101, 110, 97, 98, 108, 101, 0, 115, 99, 116, 112, 95, 104, 109, 97, 99, 95, 97, - 108, 103, 0, 118, 97, 108, 105, 100, 95, 99, 111, 111, 107, 105, 101, 95, 108, 105, 102, 101, - 0, 115, 97, 99, 107, 95, 116, 105, 109, 101, 111, 117, 116, 0, 104, 98, 95, 105, 110, 116, 101, - 114, 118, 97, 108, 0, 112, 114, 111, 98, 101, 95, 105, 110, 116, 101, 114, 118, 97, 108, 0, - 109, 97, 120, 95, 114, 101, 116, 114, 97, 110, 115, 95, 97, 115, 115, 111, 99, 105, 97, 116, - 105, 111, 110, 0, 109, 97, 120, 95, 114, 101, 116, 114, 97, 110, 115, 95, 112, 97, 116, 104, 0, - 109, 97, 120, 95, 114, 101, 116, 114, 97, 110, 115, 95, 105, 110, 105, 116, 0, 112, 102, 95, - 114, 101, 116, 114, 97, 110, 115, 0, 112, 115, 95, 114, 101, 116, 114, 97, 110, 115, 0, 112, - 102, 95, 101, 110, 97, 98, 108, 101, 0, 112, 102, 95, 101, 120, 112, 111, 115, 101, 0, 115, - 110, 100, 98, 117, 102, 95, 112, 111, 108, 105, 99, 121, 0, 114, 99, 118, 98, 117, 102, 95, - 112, 111, 108, 105, 99, 121, 0, 100, 101, 102, 97, 117, 108, 116, 95, 97, 117, 116, 111, 95, - 97, 115, 99, 111, 110, 102, 0, 97, 100, 100, 105, 112, 95, 101, 110, 97, 98, 108, 101, 0, 97, - 100, 100, 105, 112, 95, 110, 111, 97, 117, 116, 104, 0, 112, 114, 115, 99, 116, 112, 95, 101, - 110, 97, 98, 108, 101, 0, 114, 101, 99, 111, 110, 102, 95, 101, 110, 97, 98, 108, 101, 0, 97, - 117, 116, 104, 95, 101, 110, 97, 98, 108, 101, 0, 105, 110, 116, 108, 95, 101, 110, 97, 98, - 108, 101, 0, 101, 99, 110, 95, 101, 110, 97, 98, 108, 101, 0, 115, 99, 111, 112, 101, 95, 112, - 111, 108, 105, 99, 121, 0, 114, 119, 110, 100, 95, 117, 112, 100, 95, 115, 104, 105, 102, 116, - 0, 109, 97, 120, 95, 97, 117, 116, 111, 99, 108, 111, 115, 101, 0, 110, 101, 116, 110, 115, 95, - 115, 99, 116, 112, 0, 110, 102, 0, 112, 114, 111, 99, 95, 110, 101, 116, 102, 105, 108, 116, - 101, 114, 0, 110, 102, 95, 108, 111, 103, 103, 101, 114, 115, 0, 108, 111, 103, 102, 110, 0, - 117, 95, 105, 110, 116, 56, 95, 116, 0, 117, 108, 111, 103, 0, 99, 111, 112, 121, 95, 108, 101, - 110, 0, 117, 95, 105, 110, 116, 51, 50, 95, 116, 0, 117, 95, 105, 110, 116, 49, 54, 95, 116, 0, - 113, 116, 104, 114, 101, 115, 104, 111, 108, 100, 0, 108, 111, 103, 102, 108, 97, 103, 115, 0, - 110, 102, 95, 108, 111, 103, 105, 110, 102, 111, 0, 110, 102, 95, 108, 111, 103, 102, 110, 0, - 109, 101, 0, 110, 102, 95, 108, 111, 103, 103, 101, 114, 0, 110, 102, 95, 108, 111, 103, 95, - 100, 105, 114, 95, 104, 101, 97, 100, 101, 114, 0, 104, 111, 111, 107, 115, 95, 105, 112, 118, - 52, 0, 110, 117, 109, 95, 104, 111, 111, 107, 95, 101, 110, 116, 114, 105, 101, 115, 0, 104, - 111, 111, 107, 115, 0, 104, 111, 111, 107, 0, 112, 102, 0, 105, 110, 0, 111, 117, 116, 0, 111, - 107, 102, 110, 0, 110, 102, 95, 104, 111, 111, 107, 95, 115, 116, 97, 116, 101, 0, 110, 102, - 95, 104, 111, 111, 107, 102, 110, 0, 110, 102, 95, 104, 111, 111, 107, 95, 101, 110, 116, 114, - 121, 0, 110, 102, 95, 104, 111, 111, 107, 95, 101, 110, 116, 114, 105, 101, 115, 0, 104, 111, - 111, 107, 115, 95, 105, 112, 118, 54, 0, 104, 111, 111, 107, 115, 95, 97, 114, 112, 0, 104, - 111, 111, 107, 115, 95, 98, 114, 105, 100, 103, 101, 0, 100, 101, 102, 114, 97, 103, 95, 105, - 112, 118, 52, 95, 117, 115, 101, 114, 115, 0, 100, 101, 102, 114, 97, 103, 95, 105, 112, 118, - 54, 95, 117, 115, 101, 114, 115, 0, 110, 101, 116, 110, 115, 95, 110, 102, 0, 99, 116, 0, 101, - 99, 97, 99, 104, 101, 95, 100, 119, 111, 114, 107, 95, 112, 101, 110, 100, 105, 110, 103, 0, - 115, 121, 115, 99, 116, 108, 95, 108, 111, 103, 95, 105, 110, 118, 97, 108, 105, 100, 0, 115, - 121, 115, 99, 116, 108, 95, 101, 118, 101, 110, 116, 115, 0, 115, 121, 115, 99, 116, 108, 95, - 97, 99, 99, 116, 0, 115, 121, 115, 99, 116, 108, 95, 97, 117, 116, 111, 95, 97, 115, 115, 105, - 103, 110, 95, 104, 101, 108, 112, 101, 114, 0, 115, 121, 115, 99, 116, 108, 95, 116, 115, 116, - 97, 109, 112, 0, 115, 121, 115, 99, 116, 108, 95, 99, 104, 101, 99, 107, 115, 117, 109, 0, 112, - 99, 112, 117, 95, 108, 105, 115, 116, 115, 0, 117, 110, 99, 111, 110, 102, 105, 114, 109, 101, - 100, 0, 99, 116, 95, 112, 99, 112, 117, 0, 115, 116, 97, 116, 0, 102, 111, 117, 110, 100, 0, - 105, 110, 118, 97, 108, 105, 100, 0, 105, 110, 115, 101, 114, 116, 0, 105, 110, 115, 101, 114, - 116, 95, 102, 97, 105, 108, 101, 100, 0, 99, 108, 97, 115, 104, 95, 114, 101, 115, 111, 108, - 118, 101, 0, 100, 114, 111, 112, 0, 101, 97, 114, 108, 121, 95, 100, 114, 111, 112, 0, 101, - 120, 112, 101, 99, 116, 95, 110, 101, 119, 0, 101, 120, 112, 101, 99, 116, 95, 99, 114, 101, - 97, 116, 101, 0, 101, 120, 112, 101, 99, 116, 95, 100, 101, 108, 101, 116, 101, 0, 115, 101, - 97, 114, 99, 104, 95, 114, 101, 115, 116, 97, 114, 116, 0, 99, 104, 97, 105, 110, 116, 111, - 111, 108, 111, 110, 103, 0, 105, 112, 95, 99, 111, 110, 110, 116, 114, 97, 99, 107, 95, 115, - 116, 97, 116, 0, 110, 102, 95, 99, 111, 110, 110, 116, 114, 97, 99, 107, 95, 101, 118, 101, - 110, 116, 95, 99, 98, 0, 99, 116, 95, 101, 118, 101, 110, 116, 0, 99, 116, 95, 103, 101, 110, - 101, 114, 97, 108, 0, 117, 115, 101, 0, 110, 102, 95, 99, 111, 110, 110, 116, 114, 97, 99, 107, - 0, 110, 102, 95, 99, 111, 110, 110, 116, 114, 97, 99, 107, 95, 122, 111, 110, 101, 0, 116, 117, - 112, 108, 101, 104, 97, 115, 104, 0, 104, 110, 110, 111, 100, 101, 0, 116, 117, 112, 108, 101, - 0, 117, 51, 0, 105, 112, 0, 115, 95, 97, 100, 100, 114, 0, 105, 110, 95, 97, 100, 100, 114, 0, - 110, 102, 95, 105, 110, 101, 116, 95, 97, 100, 100, 114, 0, 116, 99, 112, 0, 117, 100, 112, 0, - 105, 99, 109, 112, 0, 100, 99, 99, 112, 0, 103, 114, 101, 0, 110, 102, 95, 99, 111, 110, 110, - 116, 114, 97, 99, 107, 95, 109, 97, 110, 95, 112, 114, 111, 116, 111, 0, 108, 51, 110, 117, - 109, 0, 110, 102, 95, 99, 111, 110, 110, 116, 114, 97, 99, 107, 95, 109, 97, 110, 0, 112, 114, - 111, 116, 111, 110, 117, 109, 0, 110, 102, 95, 99, 111, 110, 110, 116, 114, 97, 99, 107, 95, - 116, 117, 112, 108, 101, 0, 110, 102, 95, 99, 111, 110, 110, 116, 114, 97, 99, 107, 95, 116, - 117, 112, 108, 101, 95, 104, 97, 115, 104, 0, 99, 116, 95, 110, 101, 116, 0, 110, 97, 116, 95, - 98, 121, 115, 111, 117, 114, 99, 101, 0, 95, 95, 110, 102, 99, 116, 95, 105, 110, 105, 116, 95, - 111, 102, 102, 115, 101, 116, 0, 109, 97, 115, 116, 101, 114, 0, 115, 101, 99, 109, 97, 114, - 107, 0, 101, 120, 116, 0, 110, 102, 95, 99, 116, 95, 101, 120, 116, 0, 114, 111, 108, 101, 0, - 108, 97, 115, 116, 95, 112, 107, 116, 0, 108, 97, 115, 116, 95, 100, 105, 114, 0, 104, 97, 110, - 100, 115, 104, 97, 107, 101, 95, 115, 101, 113, 0, 117, 95, 105, 110, 116, 54, 52, 95, 116, 0, - 110, 102, 95, 99, 116, 95, 100, 99, 99, 112, 0, 118, 116, 97, 103, 0, 105, 112, 95, 99, 116, - 95, 115, 99, 116, 112, 0, 116, 100, 95, 101, 110, 100, 0, 116, 100, 95, 109, 97, 120, 101, 110, - 100, 0, 116, 100, 95, 109, 97, 120, 119, 105, 110, 0, 116, 100, 95, 109, 97, 120, 97, 99, 107, - 0, 116, 100, 95, 115, 99, 97, 108, 101, 0, 105, 112, 95, 99, 116, 95, 116, 99, 112, 95, 115, - 116, 97, 116, 101, 0, 114, 101, 116, 114, 97, 110, 115, 0, 108, 97, 115, 116, 95, 105, 110, - 100, 101, 120, 0, 108, 97, 115, 116, 95, 115, 101, 113, 0, 108, 97, 115, 116, 95, 97, 99, 107, - 0, 108, 97, 115, 116, 95, 101, 110, 100, 0, 108, 97, 115, 116, 95, 119, 105, 110, 0, 108, 97, - 115, 116, 95, 119, 115, 99, 97, 108, 101, 0, 108, 97, 115, 116, 95, 102, 108, 97, 103, 115, 0, - 105, 112, 95, 99, 116, 95, 116, 99, 112, 0, 115, 116, 114, 101, 97, 109, 95, 116, 115, 0, 110, - 102, 95, 99, 116, 95, 117, 100, 112, 0, 115, 116, 114, 101, 97, 109, 95, 116, 105, 109, 101, - 111, 117, 116, 0, 110, 102, 95, 99, 116, 95, 103, 114, 101, 0, 116, 109, 112, 108, 95, 112, 97, - 100, 116, 111, 0, 110, 102, 95, 99, 111, 110, 110, 116, 114, 97, 99, 107, 95, 112, 114, 111, - 116, 111, 0, 110, 102, 95, 99, 111, 110, 110, 0, 112, 111, 114, 116, 105, 100, 0, 114, 101, - 112, 111, 114, 116, 0, 110, 102, 95, 99, 116, 95, 101, 118, 101, 110, 116, 0, 101, 120, 112, - 95, 101, 118, 101, 110, 116, 0, 101, 120, 112, 0, 104, 110, 111, 100, 101, 0, 110, 102, 95, 99, - 111, 110, 110, 116, 114, 97, 99, 107, 95, 116, 117, 112, 108, 101, 95, 109, 97, 115, 107, 0, - 101, 120, 112, 101, 99, 116, 102, 110, 0, 104, 101, 108, 112, 101, 114, 0, 110, 102, 95, 99, - 111, 110, 110, 116, 114, 97, 99, 107, 95, 104, 101, 108, 112, 101, 114, 0, 115, 97, 118, 101, - 100, 95, 97, 100, 100, 114, 0, 115, 97, 118, 101, 100, 95, 112, 114, 111, 116, 111, 0, 110, - 102, 95, 99, 111, 110, 110, 116, 114, 97, 99, 107, 95, 101, 120, 112, 101, 99, 116, 0, 110, - 102, 95, 101, 120, 112, 95, 101, 118, 101, 110, 116, 0, 110, 102, 95, 99, 116, 95, 101, 118, - 101, 110, 116, 95, 110, 111, 116, 105, 102, 105, 101, 114, 0, 110, 102, 95, 99, 116, 95, 112, - 114, 111, 116, 111, 0, 103, 101, 110, 101, 114, 105, 99, 0, 110, 102, 95, 103, 101, 110, 101, - 114, 105, 99, 95, 110, 101, 116, 0, 116, 105, 109, 101, 111, 117, 116, 115, 0, 116, 99, 112, - 95, 108, 111, 111, 115, 101, 0, 116, 99, 112, 95, 98, 101, 95, 108, 105, 98, 101, 114, 97, 108, - 0, 116, 99, 112, 95, 109, 97, 120, 95, 114, 101, 116, 114, 97, 110, 115, 0, 116, 99, 112, 95, - 105, 103, 110, 111, 114, 101, 95, 105, 110, 118, 97, 108, 105, 100, 95, 114, 115, 116, 0, 111, - 102, 102, 108, 111, 97, 100, 95, 116, 105, 109, 101, 111, 117, 116, 0, 110, 102, 95, 116, 99, - 112, 95, 110, 101, 116, 0, 110, 102, 95, 117, 100, 112, 95, 110, 101, 116, 0, 110, 102, 95, - 105, 99, 109, 112, 95, 110, 101, 116, 0, 105, 99, 109, 112, 118, 54, 0, 100, 99, 99, 112, 95, - 108, 111, 111, 115, 101, 0, 100, 99, 99, 112, 95, 116, 105, 109, 101, 111, 117, 116, 0, 110, - 102, 95, 100, 99, 99, 112, 95, 110, 101, 116, 0, 110, 102, 95, 115, 99, 116, 112, 95, 110, 101, - 116, 0, 107, 101, 121, 109, 97, 112, 95, 108, 105, 115, 116, 0, 110, 102, 95, 103, 114, 101, - 95, 110, 101, 116, 0, 110, 102, 95, 105, 112, 95, 110, 101, 116, 0, 108, 97, 98, 101, 108, 115, - 95, 117, 115, 101, 100, 0, 110, 101, 116, 110, 115, 95, 99, 116, 0, 110, 102, 116, 0, 103, 101, - 110, 99, 117, 114, 115, 111, 114, 0, 110, 101, 116, 110, 115, 95, 110, 102, 116, 97, 98, 108, - 101, 115, 0, 119, 101, 120, 116, 95, 110, 108, 101, 118, 101, 110, 116, 115, 0, 103, 101, 110, - 0, 112, 116, 114, 0, 110, 101, 116, 95, 103, 101, 110, 101, 114, 105, 99, 0, 114, 117, 110, 95, - 97, 114, 114, 97, 121, 0, 110, 101, 116, 110, 115, 95, 98, 112, 102, 0, 115, 116, 97, 116, 101, - 95, 97, 108, 108, 0, 115, 116, 97, 116, 101, 95, 98, 121, 100, 115, 116, 0, 115, 116, 97, 116, - 101, 95, 98, 121, 115, 114, 99, 0, 115, 116, 97, 116, 101, 95, 98, 121, 115, 112, 105, 0, 115, - 116, 97, 116, 101, 95, 98, 121, 115, 101, 113, 0, 115, 116, 97, 116, 101, 95, 104, 109, 97, - 115, 107, 0, 115, 116, 97, 116, 101, 95, 110, 117, 109, 0, 115, 116, 97, 116, 101, 95, 104, 97, - 115, 104, 95, 119, 111, 114, 107, 0, 112, 111, 108, 105, 99, 121, 95, 97, 108, 108, 0, 112, - 111, 108, 105, 99, 121, 95, 98, 121, 105, 100, 120, 0, 112, 111, 108, 105, 99, 121, 95, 105, - 100, 120, 95, 104, 109, 97, 115, 107, 0, 112, 111, 108, 105, 99, 121, 95, 105, 110, 101, 120, - 97, 99, 116, 0, 112, 111, 108, 105, 99, 121, 95, 98, 121, 100, 115, 116, 0, 104, 109, 97, 115, - 107, 0, 100, 98, 105, 116, 115, 52, 0, 115, 98, 105, 116, 115, 52, 0, 100, 98, 105, 116, 115, - 54, 0, 115, 98, 105, 116, 115, 54, 0, 120, 102, 114, 109, 95, 112, 111, 108, 105, 99, 121, 95, - 104, 97, 115, 104, 0, 112, 111, 108, 105, 99, 121, 95, 99, 111, 117, 110, 116, 0, 112, 111, - 108, 105, 99, 121, 95, 104, 97, 115, 104, 95, 119, 111, 114, 107, 0, 112, 111, 108, 105, 99, - 121, 95, 104, 116, 104, 114, 101, 115, 104, 0, 108, 98, 105, 116, 115, 52, 0, 114, 98, 105, - 116, 115, 52, 0, 108, 98, 105, 116, 115, 54, 0, 114, 98, 105, 116, 115, 54, 0, 120, 102, 114, - 109, 95, 112, 111, 108, 105, 99, 121, 95, 104, 116, 104, 114, 101, 115, 104, 0, 105, 110, 101, - 120, 97, 99, 116, 95, 98, 105, 110, 115, 0, 110, 108, 115, 107, 0, 110, 108, 115, 107, 95, 115, - 116, 97, 115, 104, 0, 115, 121, 115, 99, 116, 108, 95, 97, 101, 118, 101, 110, 116, 95, 101, - 116, 105, 109, 101, 0, 115, 121, 115, 99, 116, 108, 95, 97, 101, 118, 101, 110, 116, 95, 114, - 115, 101, 113, 116, 104, 0, 115, 121, 115, 99, 116, 108, 95, 108, 97, 114, 118, 97, 108, 95, - 100, 114, 111, 112, 0, 115, 121, 115, 99, 116, 108, 95, 97, 99, 113, 95, 101, 120, 112, 105, - 114, 101, 115, 0, 112, 111, 108, 105, 99, 121, 95, 100, 101, 102, 97, 117, 108, 116, 0, 120, - 102, 114, 109, 52, 95, 100, 115, 116, 95, 111, 112, 115, 0, 120, 102, 114, 109, 54, 95, 100, - 115, 116, 95, 111, 112, 115, 0, 120, 102, 114, 109, 95, 115, 116, 97, 116, 101, 95, 108, 111, - 99, 107, 0, 120, 102, 114, 109, 95, 115, 116, 97, 116, 101, 95, 104, 97, 115, 104, 95, 103, - 101, 110, 101, 114, 97, 116, 105, 111, 110, 0, 120, 102, 114, 109, 95, 112, 111, 108, 105, 99, - 121, 95, 104, 97, 115, 104, 95, 103, 101, 110, 101, 114, 97, 116, 105, 111, 110, 0, 120, 102, - 114, 109, 95, 112, 111, 108, 105, 99, 121, 95, 108, 111, 99, 107, 0, 120, 102, 114, 109, 95, - 99, 102, 103, 95, 109, 117, 116, 101, 120, 0, 110, 101, 116, 110, 115, 95, 120, 102, 114, 109, - 0, 110, 101, 116, 95, 99, 111, 111, 107, 105, 101, 0, 105, 112, 118, 115, 0, 110, 101, 116, - 110, 115, 95, 105, 112, 118, 115, 0, 109, 112, 108, 115, 0, 105, 112, 95, 116, 116, 108, 95, - 112, 114, 111, 112, 97, 103, 97, 116, 101, 0, 100, 101, 102, 97, 117, 108, 116, 95, 116, 116, - 108, 0, 112, 108, 97, 116, 102, 111, 114, 109, 95, 108, 97, 98, 101, 108, 115, 0, 112, 108, 97, - 116, 102, 111, 114, 109, 95, 108, 97, 98, 101, 108, 0, 109, 112, 108, 115, 95, 114, 111, 117, - 116, 101, 0, 110, 101, 116, 110, 115, 95, 109, 112, 108, 115, 0, 99, 97, 110, 0, 112, 114, 111, - 99, 95, 100, 105, 114, 0, 112, 100, 101, 95, 115, 116, 97, 116, 115, 0, 112, 100, 101, 95, 114, - 101, 115, 101, 116, 95, 115, 116, 97, 116, 115, 0, 112, 100, 101, 95, 114, 99, 118, 108, 105, - 115, 116, 95, 97, 108, 108, 0, 112, 100, 101, 95, 114, 99, 118, 108, 105, 115, 116, 95, 102, - 105, 108, 0, 112, 100, 101, 95, 114, 99, 118, 108, 105, 115, 116, 95, 105, 110, 118, 0, 112, - 100, 101, 95, 114, 99, 118, 108, 105, 115, 116, 95, 115, 102, 102, 0, 112, 100, 101, 95, 114, - 99, 118, 108, 105, 115, 116, 95, 101, 102, 102, 0, 112, 100, 101, 95, 114, 99, 118, 108, 105, - 115, 116, 95, 101, 114, 114, 0, 98, 99, 109, 112, 114, 111, 99, 95, 100, 105, 114, 0, 114, 120, - 95, 97, 108, 108, 100, 101, 118, 95, 108, 105, 115, 116, 0, 99, 97, 110, 95, 100, 101, 118, 95, - 114, 99, 118, 95, 108, 105, 115, 116, 115, 0, 114, 99, 118, 108, 105, 115, 116, 115, 95, 108, - 111, 99, 107, 0, 115, 116, 97, 116, 116, 105, 109, 101, 114, 0, 112, 107, 103, 95, 115, 116, - 97, 116, 115, 0, 99, 97, 110, 95, 112, 107, 103, 95, 115, 116, 97, 116, 115, 0, 114, 99, 118, - 95, 108, 105, 115, 116, 115, 95, 115, 116, 97, 116, 115, 0, 99, 97, 110, 95, 114, 99, 118, 95, - 108, 105, 115, 116, 115, 95, 115, 116, 97, 116, 115, 0, 99, 103, 119, 95, 108, 105, 115, 116, - 0, 110, 101, 116, 110, 115, 95, 99, 97, 110, 0, 120, 100, 112, 0, 110, 101, 116, 110, 115, 95, - 120, 100, 112, 0, 109, 99, 116, 112, 0, 114, 111, 117, 116, 101, 115, 0, 98, 105, 110, 100, 95, - 108, 111, 99, 107, 0, 98, 105, 110, 100, 115, 0, 107, 101, 121, 115, 95, 108, 111, 99, 107, 0, - 100, 101, 102, 97, 117, 108, 116, 95, 110, 101, 116, 0, 110, 101, 105, 103, 104, 95, 108, 111, - 99, 107, 0, 110, 101, 105, 103, 104, 98, 111, 117, 114, 115, 0, 110, 101, 116, 110, 115, 95, - 109, 99, 116, 112, 0, 99, 114, 121, 112, 116, 111, 95, 110, 108, 115, 107, 0, 100, 105, 97, - 103, 95, 110, 108, 115, 107, 0, 115, 109, 99, 0, 115, 109, 99, 95, 115, 116, 97, 116, 115, 0, - 109, 117, 116, 101, 120, 95, 102, 98, 97, 99, 107, 95, 114, 115, 110, 0, 102, 98, 97, 99, 107, - 95, 114, 115, 110, 0, 115, 109, 99, 95, 115, 116, 97, 116, 115, 95, 114, 115, 110, 0, 110, 101, - 116, 110, 115, 95, 115, 109, 99, 0, 111, 102, 102, 115, 101, 116, 115, 0, 109, 111, 110, 111, - 116, 111, 110, 105, 99, 0, 98, 111, 111, 116, 116, 105, 109, 101, 0, 116, 105, 109, 101, 110, - 115, 95, 111, 102, 102, 115, 101, 116, 115, 0, 118, 118, 97, 114, 95, 112, 97, 103, 101, 0, - 102, 114, 111, 122, 101, 110, 95, 111, 102, 102, 115, 101, 116, 115, 0, 116, 105, 109, 101, 95, - 110, 97, 109, 101, 115, 112, 97, 99, 101, 0, 116, 105, 109, 101, 95, 110, 115, 95, 102, 111, - 114, 95, 99, 104, 105, 108, 100, 114, 101, 110, 0, 99, 103, 114, 111, 117, 112, 95, 110, 115, - 0, 114, 111, 111, 116, 95, 99, 115, 101, 116, 0, 99, 103, 114, 111, 117, 112, 95, 110, 97, 109, - 101, 115, 112, 97, 99, 101, 0, 115, 105, 103, 110, 97, 108, 0, 115, 105, 103, 99, 110, 116, 0, - 110, 114, 95, 116, 104, 114, 101, 97, 100, 115, 0, 116, 104, 114, 101, 97, 100, 95, 104, 101, - 97, 100, 0, 119, 97, 105, 116, 95, 99, 104, 108, 100, 101, 120, 105, 116, 0, 99, 117, 114, 114, - 95, 116, 97, 114, 103, 101, 116, 0, 115, 104, 97, 114, 101, 100, 95, 112, 101, 110, 100, 105, - 110, 103, 0, 115, 105, 103, 0, 115, 105, 103, 115, 101, 116, 95, 116, 0, 115, 105, 103, 112, - 101, 110, 100, 105, 110, 103, 0, 109, 117, 108, 116, 105, 112, 114, 111, 99, 101, 115, 115, 0, - 103, 114, 111, 117, 112, 95, 101, 120, 105, 116, 95, 99, 111, 100, 101, 0, 110, 111, 116, 105, - 102, 121, 95, 99, 111, 117, 110, 116, 0, 103, 114, 111, 117, 112, 95, 101, 120, 105, 116, 95, - 116, 97, 115, 107, 0, 103, 114, 111, 117, 112, 95, 115, 116, 111, 112, 95, 99, 111, 117, 110, - 116, 0, 105, 115, 95, 99, 104, 105, 108, 100, 95, 115, 117, 98, 114, 101, 97, 112, 101, 114, 0, - 104, 97, 115, 95, 99, 104, 105, 108, 100, 95, 115, 117, 98, 114, 101, 97, 112, 101, 114, 0, - 112, 111, 115, 105, 120, 95, 116, 105, 109, 101, 114, 95, 105, 100, 0, 112, 111, 115, 105, 120, - 95, 116, 105, 109, 101, 114, 115, 0, 114, 101, 97, 108, 95, 116, 105, 109, 101, 114, 0, 105, - 116, 95, 114, 101, 97, 108, 95, 105, 110, 99, 114, 0, 105, 116, 0, 105, 110, 99, 114, 0, 99, - 112, 117, 95, 105, 116, 105, 109, 101, 114, 0, 99, 112, 117, 116, 105, 109, 101, 114, 0, 99, - 112, 117, 116, 105, 109, 101, 95, 97, 116, 111, 109, 105, 99, 0, 116, 97, 115, 107, 95, 99, - 112, 117, 116, 105, 109, 101, 95, 97, 116, 111, 109, 105, 99, 0, 116, 104, 114, 101, 97, 100, - 95, 103, 114, 111, 117, 112, 95, 99, 112, 117, 116, 105, 109, 101, 114, 0, 112, 105, 100, 115, - 0, 116, 116, 121, 95, 111, 108, 100, 95, 112, 103, 114, 112, 0, 108, 101, 97, 100, 101, 114, 0, - 116, 116, 121, 0, 99, 100, 101, 118, 115, 0, 99, 100, 101, 118, 0, 100, 114, 105, 118, 101, - 114, 95, 110, 97, 109, 101, 0, 110, 97, 109, 101, 95, 98, 97, 115, 101, 0, 109, 97, 106, 111, - 114, 0, 109, 105, 110, 111, 114, 95, 115, 116, 97, 114, 116, 0, 115, 117, 98, 116, 121, 112, - 101, 0, 105, 110, 105, 116, 95, 116, 101, 114, 109, 105, 111, 115, 0, 99, 95, 105, 102, 108, - 97, 103, 0, 116, 99, 102, 108, 97, 103, 95, 116, 0, 99, 95, 111, 102, 108, 97, 103, 0, 99, 95, - 99, 102, 108, 97, 103, 0, 99, 95, 108, 102, 108, 97, 103, 0, 99, 95, 108, 105, 110, 101, 0, 99, - 99, 95, 116, 0, 99, 95, 99, 99, 0, 99, 95, 105, 115, 112, 101, 101, 100, 0, 115, 112, 101, 101, - 100, 95, 116, 0, 99, 95, 111, 115, 112, 101, 101, 100, 0, 107, 116, 101, 114, 109, 105, 111, - 115, 0, 112, 114, 111, 99, 95, 101, 110, 116, 114, 121, 0, 111, 116, 104, 101, 114, 0, 116, - 116, 121, 115, 0, 99, 111, 109, 109, 105, 116, 0, 116, 116, 121, 95, 98, 117, 102, 102, 101, - 114, 0, 115, 101, 110, 116, 105, 110, 101, 108, 0, 109, 101, 109, 95, 117, 115, 101, 100, 0, - 109, 101, 109, 95, 108, 105, 109, 105, 116, 0, 116, 116, 121, 95, 98, 117, 102, 104, 101, 97, - 100, 0, 105, 116, 116, 121, 0, 99, 97, 114, 114, 105, 101, 114, 95, 114, 97, 105, 115, 101, - 100, 0, 100, 116, 114, 95, 114, 116, 115, 0, 100, 101, 115, 116, 114, 117, 99, 116, 0, 116, - 116, 121, 95, 112, 111, 114, 116, 95, 111, 112, 101, 114, 97, 116, 105, 111, 110, 115, 0, 99, - 108, 105, 101, 110, 116, 95, 111, 112, 115, 0, 114, 101, 99, 101, 105, 118, 101, 95, 98, 117, - 102, 0, 119, 114, 105, 116, 101, 95, 119, 97, 107, 101, 117, 112, 0, 116, 116, 121, 95, 112, - 111, 114, 116, 95, 99, 108, 105, 101, 110, 116, 95, 111, 112, 101, 114, 97, 116, 105, 111, 110, - 115, 0, 98, 108, 111, 99, 107, 101, 100, 95, 111, 112, 101, 110, 0, 111, 112, 101, 110, 95, - 119, 97, 105, 116, 0, 100, 101, 108, 116, 97, 95, 109, 115, 114, 95, 119, 97, 105, 116, 0, 105, - 102, 108, 97, 103, 115, 0, 99, 111, 110, 115, 111, 108, 101, 0, 98, 117, 102, 95, 109, 117, - 116, 101, 120, 0, 120, 109, 105, 116, 95, 98, 117, 102, 0, 99, 108, 111, 115, 101, 95, 100, - 101, 108, 97, 121, 0, 99, 108, 111, 115, 105, 110, 103, 95, 119, 97, 105, 116, 0, 100, 114, 97, - 105, 110, 95, 100, 101, 108, 97, 121, 0, 99, 108, 105, 101, 110, 116, 95, 100, 97, 116, 97, 0, - 116, 116, 121, 95, 112, 111, 114, 116, 0, 116, 101, 114, 109, 105, 111, 115, 0, 100, 114, 105, - 118, 101, 114, 95, 115, 116, 97, 116, 101, 0, 105, 110, 115, 116, 97, 108, 108, 0, 99, 108, - 101, 97, 110, 117, 112, 0, 112, 117, 116, 95, 99, 104, 97, 114, 0, 102, 108, 117, 115, 104, 95, - 99, 104, 97, 114, 115, 0, 119, 114, 105, 116, 101, 95, 114, 111, 111, 109, 0, 99, 104, 97, 114, - 115, 95, 105, 110, 95, 98, 117, 102, 102, 101, 114, 0, 115, 101, 116, 95, 116, 101, 114, 109, - 105, 111, 115, 0, 116, 104, 114, 111, 116, 116, 108, 101, 0, 117, 110, 116, 104, 114, 111, 116, - 116, 108, 101, 0, 104, 97, 110, 103, 117, 112, 0, 98, 114, 101, 97, 107, 95, 99, 116, 108, 0, - 102, 108, 117, 115, 104, 95, 98, 117, 102, 102, 101, 114, 0, 115, 101, 116, 95, 108, 100, 105, - 115, 99, 0, 119, 97, 105, 116, 95, 117, 110, 116, 105, 108, 95, 115, 101, 110, 116, 0, 115, - 101, 110, 100, 95, 120, 99, 104, 97, 114, 0, 116, 105, 111, 99, 109, 103, 101, 116, 0, 116, - 105, 111, 99, 109, 115, 101, 116, 0, 114, 101, 115, 105, 122, 101, 0, 119, 115, 95, 114, 111, - 119, 0, 119, 115, 95, 99, 111, 108, 0, 119, 115, 95, 120, 112, 105, 120, 101, 108, 0, 119, 115, - 95, 121, 112, 105, 120, 101, 108, 0, 119, 105, 110, 115, 105, 122, 101, 0, 103, 101, 116, 95, - 105, 99, 111, 117, 110, 116, 0, 99, 116, 115, 0, 100, 115, 114, 0, 114, 110, 103, 0, 100, 99, - 100, 0, 114, 120, 0, 116, 120, 0, 111, 118, 101, 114, 114, 117, 110, 0, 112, 97, 114, 105, 116, - 121, 0, 98, 117, 102, 95, 111, 118, 101, 114, 114, 117, 110, 0, 115, 101, 114, 105, 97, 108, - 95, 105, 99, 111, 117, 110, 116, 101, 114, 95, 115, 116, 114, 117, 99, 116, 0, 103, 101, 116, - 95, 115, 101, 114, 105, 97, 108, 0, 108, 105, 110, 101, 0, 120, 109, 105, 116, 95, 102, 105, - 102, 111, 95, 115, 105, 122, 101, 0, 99, 117, 115, 116, 111, 109, 95, 100, 105, 118, 105, 115, - 111, 114, 0, 98, 97, 117, 100, 95, 98, 97, 115, 101, 0, 105, 111, 95, 116, 121, 112, 101, 0, - 114, 101, 115, 101, 114, 118, 101, 100, 95, 99, 104, 97, 114, 0, 104, 117, 98, 54, 0, 99, 108, - 111, 115, 105, 110, 103, 95, 119, 97, 105, 116, 50, 0, 105, 111, 109, 101, 109, 95, 98, 97, - 115, 101, 0, 105, 111, 109, 101, 109, 95, 114, 101, 103, 95, 115, 104, 105, 102, 116, 0, 112, - 111, 114, 116, 95, 104, 105, 103, 104, 0, 105, 111, 109, 97, 112, 95, 98, 97, 115, 101, 0, 115, - 101, 114, 105, 97, 108, 95, 115, 116, 114, 117, 99, 116, 0, 115, 101, 116, 95, 115, 101, 114, - 105, 97, 108, 0, 112, 114, 111, 99, 95, 115, 104, 111, 119, 0, 116, 116, 121, 95, 111, 112, - 101, 114, 97, 116, 105, 111, 110, 115, 0, 116, 116, 121, 95, 100, 114, 105, 118, 101, 114, 115, - 0, 116, 116, 121, 95, 100, 114, 105, 118, 101, 114, 0, 108, 100, 105, 115, 99, 95, 115, 101, - 109, 0, 119, 97, 105, 116, 95, 114, 101, 97, 100, 101, 114, 115, 0, 114, 101, 97, 100, 95, 119, - 97, 105, 116, 0, 119, 114, 105, 116, 101, 95, 119, 97, 105, 116, 0, 108, 100, 95, 115, 101, - 109, 97, 112, 104, 111, 114, 101, 0, 108, 100, 105, 115, 99, 0, 100, 99, 100, 95, 99, 104, 97, - 110, 103, 101, 0, 114, 101, 99, 101, 105, 118, 101, 95, 98, 117, 102, 50, 0, 116, 116, 121, 95, - 108, 100, 105, 115, 99, 95, 111, 112, 115, 0, 116, 116, 121, 95, 108, 100, 105, 115, 99, 0, 97, - 116, 111, 109, 105, 99, 95, 119, 114, 105, 116, 101, 95, 108, 111, 99, 107, 0, 108, 101, 103, - 97, 99, 121, 95, 109, 117, 116, 101, 120, 0, 116, 104, 114, 111, 116, 116, 108, 101, 95, 109, - 117, 116, 101, 120, 0, 116, 101, 114, 109, 105, 111, 115, 95, 114, 119, 115, 101, 109, 0, 119, - 105, 110, 115, 105, 122, 101, 95, 109, 117, 116, 101, 120, 0, 116, 101, 114, 109, 105, 111, - 115, 95, 108, 111, 99, 107, 101, 100, 0, 102, 108, 111, 119, 0, 115, 116, 111, 112, 112, 101, - 100, 0, 116, 99, 111, 95, 115, 116, 111, 112, 112, 101, 100, 0, 99, 116, 114, 108, 0, 112, 103, - 114, 112, 0, 115, 101, 115, 115, 105, 111, 110, 0, 112, 107, 116, 115, 116, 97, 116, 117, 115, - 0, 104, 119, 95, 115, 116, 111, 112, 112, 101, 100, 0, 114, 101, 99, 101, 105, 118, 101, 95, - 114, 111, 111, 109, 0, 102, 108, 111, 119, 95, 99, 104, 97, 110, 103, 101, 0, 102, 97, 115, - 121, 110, 99, 0, 104, 97, 110, 103, 117, 112, 95, 119, 111, 114, 107, 0, 100, 105, 115, 99, 95, - 100, 97, 116, 97, 0, 102, 105, 108, 101, 115, 95, 108, 111, 99, 107, 0, 116, 116, 121, 95, 102, - 105, 108, 101, 115, 0, 99, 108, 111, 115, 105, 110, 103, 0, 119, 114, 105, 116, 101, 95, 98, - 117, 102, 0, 119, 114, 105, 116, 101, 95, 99, 110, 116, 0, 83, 65, 75, 95, 119, 111, 114, 107, - 0, 116, 116, 121, 95, 115, 116, 114, 117, 99, 116, 0, 115, 116, 97, 116, 115, 95, 108, 111, 99, - 107, 0, 99, 117, 116, 105, 109, 101, 0, 99, 115, 116, 105, 109, 101, 0, 99, 103, 116, 105, 109, - 101, 0, 99, 110, 118, 99, 115, 119, 0, 99, 110, 105, 118, 99, 115, 119, 0, 99, 109, 105, 110, - 95, 102, 108, 116, 0, 99, 109, 97, 106, 95, 102, 108, 116, 0, 105, 110, 98, 108, 111, 99, 107, - 0, 111, 117, 98, 108, 111, 99, 107, 0, 99, 105, 110, 98, 108, 111, 99, 107, 0, 99, 111, 117, - 98, 108, 111, 99, 107, 0, 109, 97, 120, 114, 115, 115, 0, 99, 109, 97, 120, 114, 115, 115, 0, - 105, 111, 97, 99, 0, 114, 99, 104, 97, 114, 0, 119, 99, 104, 97, 114, 0, 115, 121, 115, 99, - 114, 0, 115, 121, 115, 99, 119, 0, 114, 101, 97, 100, 95, 98, 121, 116, 101, 115, 0, 119, 114, - 105, 116, 101, 95, 98, 121, 116, 101, 115, 0, 99, 97, 110, 99, 101, 108, 108, 101, 100, 95, - 119, 114, 105, 116, 101, 95, 98, 121, 116, 101, 115, 0, 116, 97, 115, 107, 95, 105, 111, 95, - 97, 99, 99, 111, 117, 110, 116, 105, 110, 103, 0, 115, 117, 109, 95, 115, 99, 104, 101, 100, - 95, 114, 117, 110, 116, 105, 109, 101, 0, 114, 108, 105, 109, 0, 114, 108, 105, 109, 95, 99, - 117, 114, 0, 114, 108, 105, 109, 95, 109, 97, 120, 0, 114, 108, 105, 109, 105, 116, 0, 112, 97, - 99, 99, 116, 0, 97, 99, 95, 102, 108, 97, 103, 0, 97, 99, 95, 101, 120, 105, 116, 99, 111, 100, - 101, 0, 97, 99, 95, 109, 101, 109, 0, 97, 99, 95, 117, 116, 105, 109, 101, 0, 97, 99, 95, 115, - 116, 105, 109, 101, 0, 97, 99, 95, 109, 105, 110, 102, 108, 116, 0, 97, 99, 95, 109, 97, 106, - 102, 108, 116, 0, 112, 97, 99, 99, 116, 95, 115, 116, 114, 117, 99, 116, 0, 97, 99, 95, 110, - 105, 99, 101, 0, 99, 112, 117, 95, 99, 111, 117, 110, 116, 0, 99, 112, 117, 95, 100, 101, 108, - 97, 121, 95, 116, 111, 116, 97, 108, 0, 98, 108, 107, 105, 111, 95, 99, 111, 117, 110, 116, 0, - 98, 108, 107, 105, 111, 95, 100, 101, 108, 97, 121, 95, 116, 111, 116, 97, 108, 0, 115, 119, - 97, 112, 105, 110, 95, 99, 111, 117, 110, 116, 0, 115, 119, 97, 112, 105, 110, 95, 100, 101, - 108, 97, 121, 95, 116, 111, 116, 97, 108, 0, 99, 112, 117, 95, 114, 117, 110, 95, 114, 101, 97, - 108, 95, 116, 111, 116, 97, 108, 0, 99, 112, 117, 95, 114, 117, 110, 95, 118, 105, 114, 116, - 117, 97, 108, 95, 116, 111, 116, 97, 108, 0, 97, 99, 95, 99, 111, 109, 109, 0, 97, 99, 95, 115, - 99, 104, 101, 100, 0, 97, 99, 95, 112, 97, 100, 0, 97, 99, 95, 117, 105, 100, 0, 97, 99, 95, - 103, 105, 100, 0, 97, 99, 95, 112, 105, 100, 0, 97, 99, 95, 112, 112, 105, 100, 0, 97, 99, 95, - 98, 116, 105, 109, 101, 0, 97, 99, 95, 101, 116, 105, 109, 101, 0, 99, 111, 114, 101, 109, 101, - 109, 0, 118, 105, 114, 116, 109, 101, 109, 0, 114, 101, 97, 100, 95, 99, 104, 97, 114, 0, 119, - 114, 105, 116, 101, 95, 99, 104, 97, 114, 0, 114, 101, 97, 100, 95, 115, 121, 115, 99, 97, 108, - 108, 115, 0, 119, 114, 105, 116, 101, 95, 115, 121, 115, 99, 97, 108, 108, 115, 0, 97, 99, 95, - 117, 116, 105, 109, 101, 115, 99, 97, 108, 101, 100, 0, 97, 99, 95, 115, 116, 105, 109, 101, - 115, 99, 97, 108, 101, 100, 0, 99, 112, 117, 95, 115, 99, 97, 108, 101, 100, 95, 114, 117, 110, - 95, 114, 101, 97, 108, 95, 116, 111, 116, 97, 108, 0, 102, 114, 101, 101, 112, 97, 103, 101, - 115, 95, 99, 111, 117, 110, 116, 0, 102, 114, 101, 101, 112, 97, 103, 101, 115, 95, 100, 101, - 108, 97, 121, 95, 116, 111, 116, 97, 108, 0, 116, 104, 114, 97, 115, 104, 105, 110, 103, 95, - 99, 111, 117, 110, 116, 0, 116, 104, 114, 97, 115, 104, 105, 110, 103, 95, 100, 101, 108, 97, - 121, 95, 116, 111, 116, 97, 108, 0, 97, 99, 95, 98, 116, 105, 109, 101, 54, 52, 0, 116, 97, - 115, 107, 115, 116, 97, 116, 115, 0, 97, 117, 100, 105, 116, 95, 116, 116, 121, 0, 116, 116, - 121, 95, 97, 117, 100, 105, 116, 95, 98, 117, 102, 0, 105, 99, 97, 110, 111, 110, 0, 111, 111, - 109, 95, 102, 108, 97, 103, 95, 111, 114, 105, 103, 105, 110, 0, 111, 111, 109, 95, 115, 99, - 111, 114, 101, 95, 97, 100, 106, 0, 111, 111, 109, 95, 115, 99, 111, 114, 101, 95, 97, 100, - 106, 95, 109, 105, 110, 0, 111, 111, 109, 95, 109, 109, 0, 99, 114, 101, 100, 95, 103, 117, 97, - 114, 100, 95, 109, 117, 116, 101, 120, 0, 101, 120, 101, 99, 95, 117, 112, 100, 97, 116, 101, - 95, 108, 111, 99, 107, 0, 115, 105, 103, 110, 97, 108, 95, 115, 116, 114, 117, 99, 116, 0, 115, - 105, 103, 104, 97, 110, 100, 0, 115, 105, 103, 108, 111, 99, 107, 0, 115, 105, 103, 110, 97, - 108, 102, 100, 95, 119, 113, 104, 0, 115, 97, 0, 115, 97, 95, 104, 97, 110, 100, 108, 101, 114, - 0, 95, 95, 115, 105, 103, 110, 97, 108, 102, 110, 95, 116, 0, 95, 95, 115, 105, 103, 104, 97, - 110, 100, 108, 101, 114, 95, 116, 0, 115, 97, 95, 102, 108, 97, 103, 115, 0, 115, 97, 95, 114, - 101, 115, 116, 111, 114, 101, 114, 0, 95, 95, 114, 101, 115, 116, 111, 114, 101, 102, 110, 95, - 116, 0, 95, 95, 115, 105, 103, 114, 101, 115, 116, 111, 114, 101, 95, 116, 0, 115, 97, 95, 109, - 97, 115, 107, 0, 115, 105, 103, 97, 99, 116, 105, 111, 110, 0, 107, 95, 115, 105, 103, 97, 99, - 116, 105, 111, 110, 0, 115, 105, 103, 104, 97, 110, 100, 95, 115, 116, 114, 117, 99, 116, 0, - 114, 101, 97, 108, 95, 98, 108, 111, 99, 107, 101, 100, 0, 115, 97, 118, 101, 100, 95, 115, - 105, 103, 109, 97, 115, 107, 0, 115, 97, 115, 95, 115, 115, 95, 115, 112, 0, 115, 97, 115, 95, - 115, 115, 95, 115, 105, 122, 101, 0, 115, 97, 115, 95, 115, 115, 95, 102, 108, 97, 103, 115, 0, - 116, 97, 115, 107, 95, 119, 111, 114, 107, 115, 0, 97, 117, 100, 105, 116, 95, 99, 111, 110, - 116, 101, 120, 116, 0, 100, 117, 109, 109, 121, 0, 105, 110, 95, 115, 121, 115, 99, 97, 108, - 108, 0, 65, 85, 68, 73, 84, 95, 83, 84, 65, 84, 69, 95, 68, 73, 83, 65, 66, 76, 69, 68, 0, 65, - 85, 68, 73, 84, 95, 83, 84, 65, 84, 69, 95, 66, 85, 73, 76, 68, 0, 65, 85, 68, 73, 84, 95, 83, - 84, 65, 84, 69, 95, 82, 69, 67, 79, 82, 68, 0, 97, 117, 100, 105, 116, 95, 115, 116, 97, 116, - 101, 0, 99, 117, 114, 114, 101, 110, 116, 95, 115, 116, 97, 116, 101, 0, 99, 116, 105, 109, - 101, 0, 114, 101, 116, 117, 114, 110, 95, 99, 111, 100, 101, 0, 114, 101, 116, 117, 114, 110, - 95, 118, 97, 108, 105, 100, 0, 112, 114, 101, 97, 108, 108, 111, 99, 97, 116, 101, 100, 95, - 110, 97, 109, 101, 115, 0, 110, 97, 109, 101, 95, 99, 111, 117, 110, 116, 0, 110, 97, 109, 101, - 115, 95, 108, 105, 115, 116, 0, 102, 105, 108, 116, 101, 114, 107, 101, 121, 0, 97, 117, 100, - 105, 116, 95, 97, 117, 120, 95, 100, 97, 116, 97, 0, 97, 117, 120, 95, 112, 105, 100, 115, 0, - 115, 115, 95, 102, 97, 109, 105, 108, 121, 0, 95, 95, 97, 108, 105, 103, 110, 0, 95, 95, 107, - 101, 114, 110, 101, 108, 95, 115, 111, 99, 107, 97, 100, 100, 114, 95, 115, 116, 111, 114, 97, - 103, 101, 0, 115, 111, 99, 107, 97, 100, 100, 114, 95, 108, 101, 110, 0, 112, 112, 105, 100, 0, - 97, 114, 99, 104, 0, 116, 97, 114, 103, 101, 116, 95, 112, 105, 100, 0, 116, 97, 114, 103, 101, - 116, 95, 97, 117, 105, 100, 0, 116, 97, 114, 103, 101, 116, 95, 117, 105, 100, 0, 116, 97, 114, - 103, 101, 116, 95, 115, 101, 115, 115, 105, 111, 110, 105, 100, 0, 116, 97, 114, 103, 101, 116, - 95, 115, 105, 100, 0, 116, 97, 114, 103, 101, 116, 95, 99, 111, 109, 109, 0, 116, 114, 101, - 101, 115, 0, 99, 0, 97, 117, 100, 105, 116, 95, 99, 104, 117, 110, 107, 0, 97, 117, 100, 105, - 116, 95, 116, 114, 101, 101, 95, 114, 101, 102, 115, 0, 102, 105, 114, 115, 116, 95, 116, 114, - 101, 101, 115, 0, 107, 105, 108, 108, 101, 100, 95, 116, 114, 101, 101, 115, 0, 116, 114, 101, - 101, 95, 99, 111, 117, 110, 116, 0, 115, 111, 99, 107, 101, 116, 99, 97, 108, 108, 0, 105, 112, - 99, 0, 104, 97, 115, 95, 112, 101, 114, 109, 0, 112, 101, 114, 109, 95, 117, 105, 100, 0, 112, - 101, 114, 109, 95, 103, 105, 100, 0, 112, 101, 114, 109, 95, 109, 111, 100, 101, 0, 113, 98, - 121, 116, 101, 115, 0, 109, 113, 95, 103, 101, 116, 115, 101, 116, 97, 116, 116, 114, 0, 109, - 113, 100, 101, 115, 0, 95, 95, 107, 101, 114, 110, 101, 108, 95, 109, 113, 100, 95, 116, 0, - 109, 113, 100, 95, 116, 0, 109, 113, 115, 116, 97, 116, 0, 109, 113, 95, 102, 108, 97, 103, - 115, 0, 109, 113, 95, 109, 97, 120, 109, 115, 103, 0, 109, 113, 95, 109, 115, 103, 115, 105, - 122, 101, 0, 109, 113, 95, 99, 117, 114, 109, 115, 103, 115, 0, 109, 113, 95, 97, 116, 116, - 114, 0, 109, 113, 95, 110, 111, 116, 105, 102, 121, 0, 115, 105, 103, 101, 118, 95, 115, 105, - 103, 110, 111, 0, 109, 113, 95, 115, 101, 110, 100, 114, 101, 99, 118, 0, 109, 115, 103, 95, - 108, 101, 110, 0, 109, 115, 103, 95, 112, 114, 105, 111, 0, 97, 98, 115, 95, 116, 105, 109, - 101, 111, 117, 116, 0, 109, 113, 95, 111, 112, 101, 110, 0, 111, 102, 108, 97, 103, 0, 99, 97, - 112, 115, 101, 116, 0, 101, 120, 101, 99, 118, 101, 0, 97, 114, 103, 99, 0, 102, 100, 115, 0, - 112, 114, 111, 99, 116, 105, 116, 108, 101, 0, 97, 117, 100, 105, 116, 95, 112, 114, 111, 99, - 116, 105, 116, 108, 101, 0, 108, 111, 103, 105, 110, 117, 105, 100, 0, 115, 101, 115, 115, 105, - 111, 110, 105, 100, 0, 115, 101, 99, 99, 111, 109, 112, 0, 102, 105, 108, 116, 101, 114, 95, - 99, 111, 117, 110, 116, 0, 97, 108, 108, 111, 119, 95, 110, 97, 116, 105, 118, 101, 0, 97, 108, - 108, 111, 119, 95, 99, 111, 109, 112, 97, 116, 0, 97, 99, 116, 105, 111, 110, 95, 99, 97, 99, - 104, 101, 0, 110, 111, 116, 105, 102, 0, 115, 101, 109, 97, 112, 104, 111, 114, 101, 0, 110, - 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 115, 0, 110, 111, 116, 105, 102, 105, 99, - 97, 116, 105, 111, 110, 0, 110, 111, 116, 105, 102, 121, 95, 108, 111, 99, 107, 0, 119, 113, - 104, 0, 115, 101, 99, 99, 111, 109, 112, 95, 102, 105, 108, 116, 101, 114, 0, 115, 121, 115, - 99, 97, 108, 108, 95, 100, 105, 115, 112, 97, 116, 99, 104, 0, 111, 110, 95, 100, 105, 115, - 112, 97, 116, 99, 104, 0, 115, 121, 115, 99, 97, 108, 108, 95, 117, 115, 101, 114, 95, 100, - 105, 115, 112, 97, 116, 99, 104, 0, 112, 97, 114, 101, 110, 116, 95, 101, 120, 101, 99, 95, - 105, 100, 0, 115, 101, 108, 102, 95, 101, 120, 101, 99, 95, 105, 100, 0, 97, 108, 108, 111, 99, - 95, 108, 111, 99, 107, 0, 112, 105, 95, 108, 111, 99, 107, 0, 119, 97, 107, 101, 95, 113, 0, - 119, 97, 107, 101, 95, 113, 95, 110, 111, 100, 101, 0, 112, 105, 95, 119, 97, 105, 116, 101, - 114, 115, 0, 112, 105, 95, 116, 111, 112, 95, 116, 97, 115, 107, 0, 112, 105, 95, 98, 108, 111, - 99, 107, 101, 100, 95, 111, 110, 0, 116, 114, 101, 101, 95, 101, 110, 116, 114, 121, 0, 112, - 105, 95, 116, 114, 101, 101, 95, 101, 110, 116, 114, 121, 0, 119, 97, 107, 101, 95, 115, 116, - 97, 116, 101, 0, 119, 119, 95, 99, 116, 120, 0, 97, 99, 113, 117, 105, 114, 101, 100, 0, 119, - 111, 117, 110, 100, 101, 100, 0, 105, 115, 95, 119, 97, 105, 116, 95, 100, 105, 101, 0, 119, - 119, 95, 97, 99, 113, 117, 105, 114, 101, 95, 99, 116, 120, 0, 114, 116, 95, 109, 117, 116, - 101, 120, 95, 119, 97, 105, 116, 101, 114, 0, 106, 111, 117, 114, 110, 97, 108, 95, 105, 110, - 102, 111, 0, 98, 105, 111, 95, 108, 105, 115, 116, 0, 98, 105, 95, 110, 101, 120, 116, 0, 98, - 105, 95, 98, 100, 101, 118, 0, 98, 100, 95, 115, 116, 97, 114, 116, 95, 115, 101, 99, 116, 0, - 115, 101, 99, 116, 111, 114, 95, 116, 0, 98, 100, 95, 115, 116, 97, 116, 115, 0, 115, 101, 99, - 116, 111, 114, 115, 0, 105, 111, 115, 0, 109, 101, 114, 103, 101, 115, 0, 105, 111, 95, 116, - 105, 99, 107, 115, 0, 97, 0, 108, 111, 99, 97, 108, 95, 116, 0, 100, 105, 115, 107, 95, 115, - 116, 97, 116, 115, 0, 98, 100, 95, 115, 116, 97, 109, 112, 0, 98, 100, 95, 114, 101, 97, 100, - 95, 111, 110, 108, 121, 0, 98, 100, 95, 100, 101, 118, 0, 98, 100, 95, 111, 112, 101, 110, 101, - 114, 115, 0, 98, 100, 95, 105, 110, 111, 100, 101, 0, 98, 100, 95, 115, 117, 112, 101, 114, 0, - 98, 100, 95, 99, 108, 97, 105, 109, 105, 110, 103, 0, 98, 100, 95, 100, 101, 118, 105, 99, 101, - 0, 98, 100, 95, 104, 111, 108, 100, 101, 114, 0, 98, 100, 95, 104, 111, 108, 100, 101, 114, - 115, 0, 98, 100, 95, 119, 114, 105, 116, 101, 95, 104, 111, 108, 100, 101, 114, 0, 98, 100, 95, - 104, 111, 108, 100, 101, 114, 95, 100, 105, 114, 0, 98, 100, 95, 112, 97, 114, 116, 110, 111, - 0, 98, 100, 95, 115, 105, 122, 101, 95, 108, 111, 99, 107, 0, 98, 100, 95, 100, 105, 115, 107, - 0, 102, 105, 114, 115, 116, 95, 109, 105, 110, 111, 114, 0, 109, 105, 110, 111, 114, 115, 0, - 100, 105, 115, 107, 95, 110, 97, 109, 101, 0, 101, 118, 101, 110, 116, 95, 102, 108, 97, 103, - 115, 0, 112, 97, 114, 116, 95, 116, 98, 108, 0, 112, 97, 114, 116, 48, 0, 102, 111, 112, 115, - 0, 115, 117, 98, 109, 105, 116, 95, 98, 105, 111, 0, 98, 108, 107, 95, 113, 99, 95, 116, 0, - 102, 109, 111, 100, 101, 95, 116, 0, 114, 119, 95, 112, 97, 103, 101, 0, 99, 104, 101, 99, 107, - 95, 101, 118, 101, 110, 116, 115, 0, 117, 110, 108, 111, 99, 107, 95, 110, 97, 116, 105, 118, - 101, 95, 99, 97, 112, 97, 99, 105, 116, 121, 0, 103, 101, 116, 103, 101, 111, 0, 104, 101, 97, - 100, 115, 0, 99, 121, 108, 105, 110, 100, 101, 114, 115, 0, 104, 100, 95, 103, 101, 111, 109, - 101, 116, 114, 121, 0, 115, 101, 116, 95, 114, 101, 97, 100, 95, 111, 110, 108, 121, 0, 115, - 119, 97, 112, 95, 115, 108, 111, 116, 95, 102, 114, 101, 101, 95, 110, 111, 116, 105, 102, 121, - 0, 114, 101, 112, 111, 114, 116, 95, 122, 111, 110, 101, 115, 0, 119, 112, 0, 99, 111, 110, - 100, 0, 110, 111, 110, 95, 115, 101, 113, 0, 114, 101, 115, 101, 116, 0, 114, 101, 115, 118, 0, - 98, 108, 107, 95, 122, 111, 110, 101, 0, 114, 101, 112, 111, 114, 116, 95, 122, 111, 110, 101, - 115, 95, 99, 98, 0, 112, 114, 95, 111, 112, 115, 0, 112, 114, 95, 114, 101, 103, 105, 115, 116, - 101, 114, 0, 112, 114, 95, 114, 101, 115, 101, 114, 118, 101, 0, 80, 82, 95, 87, 82, 73, 84, - 69, 95, 69, 88, 67, 76, 85, 83, 73, 86, 69, 0, 80, 82, 95, 69, 88, 67, 76, 85, 83, 73, 86, 69, - 95, 65, 67, 67, 69, 83, 83, 0, 80, 82, 95, 87, 82, 73, 84, 69, 95, 69, 88, 67, 76, 85, 83, 73, - 86, 69, 95, 82, 69, 71, 95, 79, 78, 76, 89, 0, 80, 82, 95, 69, 88, 67, 76, 85, 83, 73, 86, 69, - 95, 65, 67, 67, 69, 83, 83, 95, 82, 69, 71, 95, 79, 78, 76, 89, 0, 80, 82, 95, 87, 82, 73, 84, - 69, 95, 69, 88, 67, 76, 85, 83, 73, 86, 69, 95, 65, 76, 76, 95, 82, 69, 71, 83, 0, 80, 82, 95, - 69, 88, 67, 76, 85, 83, 73, 86, 69, 95, 65, 67, 67, 69, 83, 83, 95, 65, 76, 76, 95, 82, 69, 71, - 83, 0, 112, 114, 95, 116, 121, 112, 101, 0, 112, 114, 95, 114, 101, 108, 101, 97, 115, 101, 0, - 112, 114, 95, 112, 114, 101, 101, 109, 112, 116, 0, 112, 114, 95, 99, 108, 101, 97, 114, 0, 97, - 108, 116, 101, 114, 110, 97, 116, 105, 118, 101, 95, 103, 112, 116, 95, 115, 101, 99, 116, 111, - 114, 0, 98, 108, 111, 99, 107, 95, 100, 101, 118, 105, 99, 101, 95, 111, 112, 101, 114, 97, - 116, 105, 111, 110, 115, 0, 108, 97, 115, 116, 95, 109, 101, 114, 103, 101, 0, 113, 0, 109, - 113, 95, 99, 116, 120, 0, 114, 113, 95, 108, 105, 115, 116, 115, 0, 105, 110, 100, 101, 120, - 95, 104, 119, 0, 104, 99, 116, 120, 115, 0, 100, 105, 115, 112, 97, 116, 99, 104, 0, 110, 101, - 120, 116, 95, 99, 112, 117, 0, 110, 101, 120, 116, 95, 99, 112, 117, 95, 98, 97, 116, 99, 104, - 0, 115, 99, 104, 101, 100, 95, 100, 97, 116, 97, 0, 102, 108, 117, 115, 104, 95, 112, 101, 110, - 100, 105, 110, 103, 95, 105, 100, 120, 0, 102, 108, 117, 115, 104, 95, 114, 117, 110, 110, 105, - 110, 103, 95, 105, 100, 120, 0, 114, 113, 95, 115, 116, 97, 116, 117, 115, 0, 98, 108, 107, 95, - 115, 116, 97, 116, 117, 115, 95, 116, 0, 102, 108, 117, 115, 104, 95, 112, 101, 110, 100, 105, - 110, 103, 95, 115, 105, 110, 99, 101, 0, 102, 108, 117, 115, 104, 95, 113, 117, 101, 117, 101, - 0, 102, 108, 117, 115, 104, 95, 100, 97, 116, 97, 95, 105, 110, 95, 102, 108, 105, 103, 104, - 116, 0, 102, 108, 117, 115, 104, 95, 114, 113, 0, 109, 113, 95, 102, 108, 117, 115, 104, 95, - 108, 111, 99, 107, 0, 98, 108, 107, 95, 102, 108, 117, 115, 104, 95, 113, 117, 101, 117, 101, - 0, 99, 116, 120, 95, 109, 97, 112, 0, 115, 104, 105, 102, 116, 0, 109, 97, 112, 95, 110, 114, - 0, 114, 111, 117, 110, 100, 95, 114, 111, 98, 105, 110, 0, 119, 111, 114, 100, 0, 99, 108, 101, - 97, 114, 101, 100, 0, 115, 98, 105, 116, 109, 97, 112, 95, 119, 111, 114, 100, 0, 97, 108, 108, - 111, 99, 95, 104, 105, 110, 116, 0, 115, 98, 105, 116, 109, 97, 112, 0, 100, 105, 115, 112, 97, - 116, 99, 104, 95, 102, 114, 111, 109, 0, 100, 105, 115, 112, 97, 116, 99, 104, 95, 98, 117, - 115, 121, 0, 110, 114, 95, 99, 116, 120, 0, 99, 116, 120, 115, 0, 100, 105, 115, 112, 97, 116, - 99, 104, 95, 119, 97, 105, 116, 95, 108, 111, 99, 107, 0, 100, 105, 115, 112, 97, 116, 99, 104, - 95, 119, 97, 105, 116, 0, 119, 97, 105, 116, 95, 105, 110, 100, 101, 120, 0, 110, 114, 95, 116, - 97, 103, 115, 0, 110, 114, 95, 114, 101, 115, 101, 114, 118, 101, 100, 95, 116, 97, 103, 115, - 0, 97, 99, 116, 105, 118, 101, 95, 113, 117, 101, 117, 101, 115, 0, 98, 105, 116, 109, 97, 112, - 95, 116, 97, 103, 115, 0, 115, 98, 0, 119, 97, 107, 101, 95, 98, 97, 116, 99, 104, 0, 119, 97, - 107, 101, 95, 105, 110, 100, 101, 120, 0, 119, 115, 0, 119, 97, 105, 116, 95, 99, 110, 116, 0, - 115, 98, 113, 95, 119, 97, 105, 116, 95, 115, 116, 97, 116, 101, 0, 119, 115, 95, 97, 99, 116, - 105, 118, 101, 0, 109, 105, 110, 95, 115, 104, 97, 108, 108, 111, 119, 95, 100, 101, 112, 116, - 104, 0, 115, 98, 105, 116, 109, 97, 112, 95, 113, 117, 101, 117, 101, 0, 98, 114, 101, 115, - 101, 114, 118, 101, 100, 95, 116, 97, 103, 115, 0, 95, 95, 98, 105, 116, 109, 97, 112, 95, 116, - 97, 103, 115, 0, 95, 95, 98, 114, 101, 115, 101, 114, 118, 101, 100, 95, 116, 97, 103, 115, 0, - 114, 113, 115, 0, 115, 116, 97, 116, 105, 99, 95, 114, 113, 115, 0, 112, 97, 103, 101, 95, 108, - 105, 115, 116, 0, 98, 108, 107, 95, 109, 113, 95, 116, 97, 103, 115, 0, 115, 99, 104, 101, 100, - 95, 116, 97, 103, 115, 0, 114, 117, 110, 0, 100, 105, 115, 112, 97, 116, 99, 104, 101, 100, 0, - 113, 117, 101, 117, 101, 95, 110, 117, 109, 0, 99, 112, 117, 104, 112, 95, 111, 110, 108, 105, - 110, 101, 0, 112, 111, 108, 108, 95, 99, 111, 110, 115, 105, 100, 101, 114, 101, 100, 0, 112, - 111, 108, 108, 95, 105, 110, 118, 111, 107, 101, 100, 0, 112, 111, 108, 108, 95, 115, 117, 99, - 99, 101, 115, 115, 0, 100, 101, 98, 117, 103, 102, 115, 95, 100, 105, 114, 0, 115, 99, 104, - 101, 100, 95, 100, 101, 98, 117, 103, 102, 115, 95, 100, 105, 114, 0, 104, 99, 116, 120, 95, - 108, 105, 115, 116, 0, 115, 114, 99, 117, 0, 115, 114, 99, 117, 95, 104, 97, 118, 101, 95, 99, - 98, 115, 0, 115, 114, 99, 117, 95, 100, 97, 116, 97, 95, 104, 97, 118, 101, 95, 99, 98, 115, 0, - 115, 114, 99, 117, 95, 103, 112, 95, 115, 101, 113, 95, 110, 101, 101, 100, 101, 100, 95, 101, - 120, 112, 0, 115, 114, 99, 117, 95, 112, 97, 114, 101, 110, 116, 0, 115, 114, 99, 117, 95, 110, - 111, 100, 101, 0, 115, 114, 99, 117, 95, 99, 98, 95, 109, 117, 116, 101, 120, 0, 115, 114, 99, - 117, 95, 103, 112, 95, 109, 117, 116, 101, 120, 0, 115, 114, 99, 117, 95, 105, 100, 120, 0, - 115, 114, 99, 117, 95, 103, 112, 95, 115, 101, 113, 0, 115, 114, 99, 117, 95, 103, 112, 95, - 115, 101, 113, 95, 110, 101, 101, 100, 101, 100, 0, 115, 114, 99, 117, 95, 108, 97, 115, 116, - 95, 103, 112, 95, 101, 110, 100, 0, 115, 100, 97, 0, 115, 114, 99, 117, 95, 108, 111, 99, 107, - 95, 99, 111, 117, 110, 116, 0, 115, 114, 99, 117, 95, 117, 110, 108, 111, 99, 107, 95, 99, 111, - 117, 110, 116, 0, 115, 114, 99, 117, 95, 99, 98, 108, 105, 115, 116, 0, 116, 97, 105, 108, 115, - 0, 115, 101, 103, 108, 101, 110, 0, 114, 99, 117, 95, 115, 101, 103, 99, 98, 108, 105, 115, - 116, 0, 115, 114, 99, 117, 95, 99, 98, 108, 105, 115, 116, 95, 105, 110, 118, 111, 107, 105, - 110, 103, 0, 100, 101, 108, 97, 121, 95, 119, 111, 114, 107, 0, 115, 114, 99, 117, 95, 98, 97, - 114, 114, 105, 101, 114, 95, 104, 101, 97, 100, 0, 109, 121, 110, 111, 100, 101, 0, 115, 115, - 112, 0, 115, 114, 99, 117, 95, 100, 97, 116, 97, 0, 115, 114, 99, 117, 95, 98, 97, 114, 114, - 105, 101, 114, 95, 115, 101, 113, 0, 115, 114, 99, 117, 95, 98, 97, 114, 114, 105, 101, 114, - 95, 109, 117, 116, 101, 120, 0, 115, 114, 99, 117, 95, 98, 97, 114, 114, 105, 101, 114, 95, 99, - 111, 109, 112, 108, 101, 116, 105, 111, 110, 0, 115, 114, 99, 117, 95, 98, 97, 114, 114, 105, - 101, 114, 95, 99, 112, 117, 95, 99, 110, 116, 0, 115, 114, 99, 117, 95, 115, 116, 114, 117, 99, - 116, 0, 98, 108, 107, 95, 109, 113, 95, 104, 119, 95, 99, 116, 120, 0, 114, 113, 95, 100, 105, - 115, 112, 97, 116, 99, 104, 101, 100, 0, 114, 113, 95, 109, 101, 114, 103, 101, 100, 0, 114, - 113, 95, 99, 111, 109, 112, 108, 101, 116, 101, 100, 0, 113, 117, 101, 117, 101, 95, 99, 116, - 120, 0, 98, 108, 107, 95, 109, 113, 95, 99, 116, 120, 115, 0, 98, 108, 107, 95, 109, 113, 95, - 99, 116, 120, 0, 109, 113, 95, 104, 99, 116, 120, 0, 99, 109, 100, 95, 102, 108, 97, 103, 115, - 0, 114, 101, 113, 95, 102, 108, 97, 103, 115, 95, 116, 0, 105, 110, 116, 101, 114, 110, 97, - 108, 95, 116, 97, 103, 0, 95, 95, 100, 97, 116, 97, 95, 108, 101, 110, 0, 95, 95, 115, 101, 99, - 116, 111, 114, 0, 98, 105, 111, 0, 98, 105, 111, 116, 97, 105, 108, 0, 113, 117, 101, 117, 101, - 108, 105, 115, 116, 0, 105, 112, 105, 95, 108, 105, 115, 116, 0, 115, 112, 101, 99, 105, 97, - 108, 95, 118, 101, 99, 0, 99, 111, 109, 112, 108, 101, 116, 105, 111, 110, 95, 100, 97, 116, - 97, 0, 101, 114, 114, 111, 114, 95, 99, 111, 117, 110, 116, 0, 101, 108, 118, 0, 105, 99, 113, - 0, 105, 111, 99, 0, 97, 99, 116, 105, 118, 101, 95, 114, 101, 102, 0, 105, 99, 113, 95, 116, - 114, 101, 101, 0, 105, 99, 113, 95, 104, 105, 110, 116, 0, 105, 99, 113, 95, 108, 105, 115, - 116, 0, 105, 111, 95, 99, 111, 110, 116, 101, 120, 116, 0, 113, 95, 110, 111, 100, 101, 0, 95, - 95, 114, 99, 117, 95, 105, 99, 113, 95, 99, 97, 99, 104, 101, 0, 105, 111, 99, 95, 110, 111, - 100, 101, 0, 95, 95, 114, 99, 117, 95, 104, 101, 97, 100, 0, 105, 111, 95, 99, 113, 0, 102, - 108, 117, 115, 104, 0, 115, 97, 118, 101, 100, 95, 101, 110, 100, 95, 105, 111, 0, 114, 113, - 95, 101, 110, 100, 95, 105, 111, 95, 102, 110, 0, 114, 113, 95, 100, 105, 115, 107, 0, 112, 97, - 114, 116, 0, 97, 108, 108, 111, 99, 95, 116, 105, 109, 101, 95, 110, 115, 0, 115, 116, 97, 114, - 116, 95, 116, 105, 109, 101, 95, 110, 115, 0, 105, 111, 95, 115, 116, 97, 114, 116, 95, 116, - 105, 109, 101, 95, 110, 115, 0, 119, 98, 116, 95, 102, 108, 97, 103, 115, 0, 115, 116, 97, 116, - 115, 95, 115, 101, 99, 116, 111, 114, 115, 0, 110, 114, 95, 112, 104, 121, 115, 95, 115, 101, - 103, 109, 101, 110, 116, 115, 0, 110, 114, 95, 105, 110, 116, 101, 103, 114, 105, 116, 121, 95, - 115, 101, 103, 109, 101, 110, 116, 115, 0, 99, 114, 121, 112, 116, 95, 99, 116, 120, 0, 98, 99, - 95, 107, 101, 121, 0, 99, 114, 121, 112, 116, 111, 95, 99, 102, 103, 0, 99, 114, 121, 112, 116, - 111, 95, 109, 111, 100, 101, 0, 66, 76, 75, 95, 69, 78, 67, 82, 89, 80, 84, 73, 79, 78, 95, 77, - 79, 68, 69, 95, 73, 78, 86, 65, 76, 73, 68, 0, 66, 76, 75, 95, 69, 78, 67, 82, 89, 80, 84, 73, - 79, 78, 95, 77, 79, 68, 69, 95, 65, 69, 83, 95, 50, 53, 54, 95, 88, 84, 83, 0, 66, 76, 75, 95, - 69, 78, 67, 82, 89, 80, 84, 73, 79, 78, 95, 77, 79, 68, 69, 95, 65, 69, 83, 95, 49, 50, 56, 95, - 67, 66, 67, 95, 69, 83, 83, 73, 86, 0, 66, 76, 75, 95, 69, 78, 67, 82, 89, 80, 84, 73, 79, 78, - 95, 77, 79, 68, 69, 95, 65, 68, 73, 65, 78, 84, 85, 77, 0, 66, 76, 75, 95, 69, 78, 67, 82, 89, - 80, 84, 73, 79, 78, 95, 77, 79, 68, 69, 95, 77, 65, 88, 0, 98, 108, 107, 95, 99, 114, 121, 112, - 116, 111, 95, 109, 111, 100, 101, 95, 110, 117, 109, 0, 100, 97, 116, 97, 95, 117, 110, 105, - 116, 95, 115, 105, 122, 101, 0, 100, 117, 110, 95, 98, 121, 116, 101, 115, 0, 98, 108, 107, 95, - 99, 114, 121, 112, 116, 111, 95, 99, 111, 110, 102, 105, 103, 0, 100, 97, 116, 97, 95, 117, - 110, 105, 116, 95, 115, 105, 122, 101, 95, 98, 105, 116, 115, 0, 98, 108, 107, 95, 99, 114, - 121, 112, 116, 111, 95, 107, 101, 121, 0, 98, 99, 95, 100, 117, 110, 0, 98, 105, 111, 95, 99, - 114, 121, 112, 116, 95, 99, 116, 120, 0, 99, 114, 121, 112, 116, 95, 107, 101, 121, 115, 108, - 111, 116, 0, 115, 108, 111, 116, 95, 114, 101, 102, 115, 0, 105, 100, 108, 101, 95, 115, 108, - 111, 116, 95, 110, 111, 100, 101, 0, 107, 115, 109, 0, 107, 115, 109, 95, 108, 108, 95, 111, - 112, 115, 0, 107, 101, 121, 115, 108, 111, 116, 95, 112, 114, 111, 103, 114, 97, 109, 0, 107, - 101, 121, 115, 108, 111, 116, 95, 101, 118, 105, 99, 116, 0, 98, 108, 107, 95, 107, 115, 109, - 95, 108, 108, 95, 111, 112, 115, 0, 109, 97, 120, 95, 100, 117, 110, 95, 98, 121, 116, 101, - 115, 95, 115, 117, 112, 112, 111, 114, 116, 101, 100, 0, 99, 114, 121, 112, 116, 111, 95, 109, - 111, 100, 101, 115, 95, 115, 117, 112, 112, 111, 114, 116, 101, 100, 0, 110, 117, 109, 95, 115, - 108, 111, 116, 115, 0, 105, 100, 108, 101, 95, 115, 108, 111, 116, 115, 95, 119, 97, 105, 116, - 95, 113, 117, 101, 117, 101, 0, 105, 100, 108, 101, 95, 115, 108, 111, 116, 115, 0, 105, 100, - 108, 101, 95, 115, 108, 111, 116, 115, 95, 108, 111, 99, 107, 0, 115, 108, 111, 116, 95, 104, - 97, 115, 104, 116, 97, 98, 108, 101, 0, 108, 111, 103, 95, 115, 108, 111, 116, 95, 104, 116, - 95, 115, 105, 122, 101, 0, 98, 108, 107, 95, 107, 101, 121, 115, 108, 111, 116, 95, 109, 97, - 110, 97, 103, 101, 114, 0, 98, 108, 107, 95, 107, 115, 109, 95, 107, 101, 121, 115, 108, 111, - 116, 0, 119, 114, 105, 116, 101, 95, 104, 105, 110, 116, 0, 77, 81, 95, 82, 81, 95, 73, 68, 76, - 69, 0, 77, 81, 95, 82, 81, 95, 73, 78, 95, 70, 76, 73, 71, 72, 84, 0, 77, 81, 95, 82, 81, 95, - 67, 79, 77, 80, 76, 69, 84, 69, 0, 109, 113, 95, 114, 113, 95, 115, 116, 97, 116, 101, 0, 99, - 115, 100, 0, 102, 105, 102, 111, 95, 116, 105, 109, 101, 0, 101, 110, 100, 95, 105, 111, 0, - 101, 110, 100, 95, 105, 111, 95, 100, 97, 116, 97, 0, 101, 108, 101, 118, 97, 116, 111, 114, 0, - 105, 99, 113, 95, 99, 97, 99, 104, 101, 0, 105, 110, 105, 116, 95, 115, 99, 104, 101, 100, 0, - 101, 120, 105, 116, 95, 115, 99, 104, 101, 100, 0, 105, 110, 105, 116, 95, 104, 99, 116, 120, - 0, 101, 120, 105, 116, 95, 104, 99, 116, 120, 0, 100, 101, 112, 116, 104, 95, 117, 112, 100, - 97, 116, 101, 100, 0, 97, 108, 108, 111, 119, 95, 109, 101, 114, 103, 101, 0, 98, 105, 111, 95, - 109, 101, 114, 103, 101, 0, 114, 101, 113, 117, 101, 115, 116, 95, 109, 101, 114, 103, 101, 0, - 114, 101, 113, 117, 101, 115, 116, 95, 109, 101, 114, 103, 101, 100, 0, 69, 76, 69, 86, 65, 84, - 79, 82, 95, 78, 79, 95, 77, 69, 82, 71, 69, 0, 69, 76, 69, 86, 65, 84, 79, 82, 95, 70, 82, 79, - 78, 84, 95, 77, 69, 82, 71, 69, 0, 69, 76, 69, 86, 65, 84, 79, 82, 95, 66, 65, 67, 75, 95, 77, - 69, 82, 71, 69, 0, 69, 76, 69, 86, 65, 84, 79, 82, 95, 68, 73, 83, 67, 65, 82, 68, 95, 77, 69, - 82, 71, 69, 0, 101, 108, 118, 95, 109, 101, 114, 103, 101, 0, 114, 101, 113, 117, 101, 115, - 116, 115, 95, 109, 101, 114, 103, 101, 100, 0, 108, 105, 109, 105, 116, 95, 100, 101, 112, 116, - 104, 0, 98, 108, 107, 95, 109, 113, 95, 114, 101, 113, 95, 102, 108, 97, 103, 115, 95, 116, 0, - 115, 104, 97, 108, 108, 111, 119, 95, 100, 101, 112, 116, 104, 0, 104, 99, 116, 120, 0, 98, - 108, 107, 95, 109, 113, 95, 97, 108, 108, 111, 99, 95, 100, 97, 116, 97, 0, 112, 114, 101, 112, - 97, 114, 101, 95, 114, 101, 113, 117, 101, 115, 116, 0, 102, 105, 110, 105, 115, 104, 95, 114, - 101, 113, 117, 101, 115, 116, 0, 105, 110, 115, 101, 114, 116, 95, 114, 101, 113, 117, 101, - 115, 116, 115, 0, 100, 105, 115, 112, 97, 116, 99, 104, 95, 114, 101, 113, 117, 101, 115, 116, - 0, 104, 97, 115, 95, 119, 111, 114, 107, 0, 99, 111, 109, 112, 108, 101, 116, 101, 100, 95, - 114, 101, 113, 117, 101, 115, 116, 0, 114, 101, 113, 117, 101, 117, 101, 95, 114, 101, 113, - 117, 101, 115, 116, 0, 102, 111, 114, 109, 101, 114, 95, 114, 101, 113, 117, 101, 115, 116, 0, - 110, 101, 120, 116, 95, 114, 101, 113, 117, 101, 115, 116, 0, 105, 110, 105, 116, 95, 105, 99, - 113, 0, 101, 120, 105, 116, 95, 105, 99, 113, 0, 101, 108, 101, 118, 97, 116, 111, 114, 95, - 109, 113, 95, 111, 112, 115, 0, 105, 99, 113, 95, 115, 105, 122, 101, 0, 105, 99, 113, 95, 97, - 108, 105, 103, 110, 0, 101, 108, 101, 118, 97, 116, 111, 114, 95, 97, 116, 116, 114, 115, 0, - 101, 108, 118, 95, 102, 115, 95, 101, 110, 116, 114, 121, 0, 101, 108, 101, 118, 97, 116, 111, - 114, 95, 110, 97, 109, 101, 0, 101, 108, 101, 118, 97, 116, 111, 114, 95, 97, 108, 105, 97, - 115, 0, 101, 108, 101, 118, 97, 116, 111, 114, 95, 102, 101, 97, 116, 117, 114, 101, 115, 0, - 101, 108, 101, 118, 97, 116, 111, 114, 95, 111, 119, 110, 101, 114, 0, 113, 117, 101, 117, 101, - 95, 100, 101, 98, 117, 103, 102, 115, 95, 97, 116, 116, 114, 115, 0, 98, 108, 107, 95, 109, - 113, 95, 100, 101, 98, 117, 103, 102, 115, 95, 97, 116, 116, 114, 0, 104, 99, 116, 120, 95, - 100, 101, 98, 117, 103, 102, 115, 95, 97, 116, 116, 114, 115, 0, 105, 99, 113, 95, 99, 97, 99, - 104, 101, 95, 110, 97, 109, 101, 0, 101, 108, 101, 118, 97, 116, 111, 114, 95, 116, 121, 112, - 101, 0, 101, 108, 101, 118, 97, 116, 111, 114, 95, 100, 97, 116, 97, 0, 115, 121, 115, 102, - 115, 95, 108, 111, 99, 107, 0, 101, 108, 101, 118, 97, 116, 111, 114, 95, 113, 117, 101, 117, - 101, 0, 113, 95, 117, 115, 97, 103, 101, 95, 99, 111, 117, 110, 116, 101, 114, 0, 99, 97, 108, - 108, 98, 97, 99, 107, 115, 0, 101, 110, 97, 98, 108, 101, 95, 97, 99, 99, 111, 117, 110, 116, - 105, 110, 103, 0, 98, 108, 107, 95, 113, 117, 101, 117, 101, 95, 115, 116, 97, 116, 115, 0, - 114, 113, 95, 113, 111, 115, 0, 116, 114, 97, 99, 107, 0, 109, 101, 114, 103, 101, 0, 105, 115, - 115, 117, 101, 0, 114, 101, 113, 117, 101, 117, 101, 0, 100, 111, 110, 101, 95, 98, 105, 111, - 0, 113, 117, 101, 117, 101, 95, 100, 101, 112, 116, 104, 95, 99, 104, 97, 110, 103, 101, 100, - 0, 100, 101, 98, 117, 103, 102, 115, 95, 97, 116, 116, 114, 115, 0, 114, 113, 95, 113, 111, - 115, 95, 111, 112, 115, 0, 82, 81, 95, 81, 79, 83, 95, 87, 66, 84, 0, 82, 81, 95, 81, 79, 83, - 95, 76, 65, 84, 69, 78, 67, 89, 0, 82, 81, 95, 81, 79, 83, 95, 67, 79, 83, 84, 0, 82, 81, 95, - 81, 79, 83, 95, 73, 79, 80, 82, 73, 79, 0, 114, 113, 95, 113, 111, 115, 95, 105, 100, 0, 109, - 113, 95, 111, 112, 115, 0, 113, 117, 101, 117, 101, 95, 114, 113, 0, 98, 108, 107, 95, 109, - 113, 95, 113, 117, 101, 117, 101, 95, 100, 97, 116, 97, 0, 99, 111, 109, 109, 105, 116, 95, - 114, 113, 115, 0, 103, 101, 116, 95, 98, 117, 100, 103, 101, 116, 0, 112, 117, 116, 95, 98, - 117, 100, 103, 101, 116, 0, 115, 101, 116, 95, 114, 113, 95, 98, 117, 100, 103, 101, 116, 95, - 116, 111, 107, 101, 110, 0, 103, 101, 116, 95, 114, 113, 95, 98, 117, 100, 103, 101, 116, 95, - 116, 111, 107, 101, 110, 0, 66, 76, 75, 95, 69, 72, 95, 68, 79, 78, 69, 0, 66, 76, 75, 95, 69, - 72, 95, 82, 69, 83, 69, 84, 95, 84, 73, 77, 69, 82, 0, 98, 108, 107, 95, 101, 104, 95, 116, - 105, 109, 101, 114, 95, 114, 101, 116, 117, 114, 110, 0, 105, 110, 105, 116, 95, 114, 101, 113, - 117, 101, 115, 116, 0, 109, 113, 95, 109, 97, 112, 0, 110, 114, 95, 113, 117, 101, 117, 101, - 115, 0, 113, 117, 101, 117, 101, 95, 111, 102, 102, 115, 101, 116, 0, 98, 108, 107, 95, 109, - 113, 95, 113, 117, 101, 117, 101, 95, 109, 97, 112, 0, 110, 114, 95, 109, 97, 112, 115, 0, 110, - 114, 95, 104, 119, 95, 113, 117, 101, 117, 101, 115, 0, 113, 117, 101, 117, 101, 95, 100, 101, - 112, 116, 104, 0, 114, 101, 115, 101, 114, 118, 101, 100, 95, 116, 97, 103, 115, 0, 99, 109, - 100, 95, 115, 105, 122, 101, 0, 97, 99, 116, 105, 118, 101, 95, 113, 117, 101, 117, 101, 115, - 95, 115, 104, 97, 114, 101, 100, 95, 115, 98, 105, 116, 109, 97, 112, 0, 116, 97, 103, 95, 108, - 105, 115, 116, 95, 108, 111, 99, 107, 0, 116, 97, 103, 95, 108, 105, 115, 116, 0, 98, 108, 107, - 95, 109, 113, 95, 116, 97, 103, 95, 115, 101, 116, 0, 101, 120, 105, 116, 95, 114, 101, 113, - 117, 101, 115, 116, 0, 105, 110, 105, 116, 105, 97, 108, 105, 122, 101, 95, 114, 113, 95, 102, - 110, 0, 99, 108, 101, 97, 110, 117, 112, 95, 114, 113, 0, 98, 117, 115, 121, 0, 109, 97, 112, - 95, 113, 117, 101, 117, 101, 115, 0, 115, 104, 111, 119, 95, 114, 113, 0, 98, 108, 107, 95, - 109, 113, 95, 111, 112, 115, 0, 113, 117, 101, 117, 101, 95, 104, 119, 95, 99, 116, 120, 0, - 113, 117, 101, 117, 101, 100, 97, 116, 97, 0, 113, 117, 101, 117, 101, 95, 102, 108, 97, 103, - 115, 0, 112, 109, 95, 111, 110, 108, 121, 0, 113, 117, 101, 117, 101, 95, 108, 111, 99, 107, 0, - 100, 105, 115, 107, 0, 109, 113, 95, 107, 111, 98, 106, 0, 105, 110, 116, 101, 103, 114, 105, - 116, 121, 0, 112, 114, 111, 102, 105, 108, 101, 0, 103, 101, 110, 101, 114, 97, 116, 101, 95, - 102, 110, 0, 112, 114, 111, 116, 95, 98, 117, 102, 0, 100, 97, 116, 97, 95, 98, 117, 102, 0, - 115, 101, 101, 100, 0, 98, 108, 107, 95, 105, 110, 116, 101, 103, 114, 105, 116, 121, 95, 105, - 116, 101, 114, 0, 105, 110, 116, 101, 103, 114, 105, 116, 121, 95, 112, 114, 111, 99, 101, 115, - 115, 105, 110, 103, 95, 102, 110, 0, 118, 101, 114, 105, 102, 121, 95, 102, 110, 0, 112, 114, - 101, 112, 97, 114, 101, 95, 102, 110, 0, 105, 110, 116, 101, 103, 114, 105, 116, 121, 95, 112, - 114, 101, 112, 97, 114, 101, 95, 102, 110, 0, 99, 111, 109, 112, 108, 101, 116, 101, 95, 102, - 110, 0, 105, 110, 116, 101, 103, 114, 105, 116, 121, 95, 99, 111, 109, 112, 108, 101, 116, 101, - 95, 102, 110, 0, 98, 108, 107, 95, 105, 110, 116, 101, 103, 114, 105, 116, 121, 95, 112, 114, - 111, 102, 105, 108, 101, 0, 116, 117, 112, 108, 101, 95, 115, 105, 122, 101, 0, 105, 110, 116, - 101, 114, 118, 97, 108, 95, 101, 120, 112, 0, 116, 97, 103, 95, 115, 105, 122, 101, 0, 98, 108, - 107, 95, 105, 110, 116, 101, 103, 114, 105, 116, 121, 0, 110, 114, 95, 114, 101, 113, 117, 101, - 115, 116, 115, 0, 100, 109, 97, 95, 112, 97, 100, 95, 109, 97, 115, 107, 0, 100, 109, 97, 95, - 97, 108, 105, 103, 110, 109, 101, 110, 116, 0, 114, 113, 95, 116, 105, 109, 101, 111, 117, 116, - 0, 112, 111, 108, 108, 95, 110, 115, 101, 99, 0, 112, 111, 108, 108, 95, 99, 98, 0, 99, 112, - 117, 95, 115, 116, 97, 116, 0, 109, 101, 97, 110, 0, 110, 114, 95, 115, 97, 109, 112, 108, 101, - 115, 0, 98, 108, 107, 95, 114, 113, 95, 115, 116, 97, 116, 0, 98, 117, 99, 107, 101, 116, 95, - 102, 110, 0, 116, 105, 109, 101, 114, 95, 102, 110, 0, 98, 108, 107, 95, 115, 116, 97, 116, 95, - 99, 97, 108, 108, 98, 97, 99, 107, 0, 112, 111, 108, 108, 95, 115, 116, 97, 116, 0, 116, 105, - 109, 101, 111, 117, 116, 95, 119, 111, 114, 107, 0, 110, 114, 95, 97, 99, 116, 105, 118, 101, - 95, 114, 101, 113, 117, 101, 115, 116, 115, 95, 115, 104, 97, 114, 101, 100, 95, 115, 98, 105, - 116, 109, 97, 112, 0, 115, 99, 104, 101, 100, 95, 98, 105, 116, 109, 97, 112, 95, 116, 97, 103, - 115, 0, 115, 99, 104, 101, 100, 95, 98, 114, 101, 115, 101, 114, 118, 101, 100, 95, 116, 97, - 103, 115, 0, 98, 108, 107, 99, 103, 95, 112, 111, 108, 115, 0, 114, 111, 111, 116, 95, 98, 108, - 107, 103, 0, 98, 108, 107, 99, 103, 95, 110, 111, 100, 101, 0, 98, 108, 107, 99, 103, 0, 111, - 110, 108, 105, 110, 101, 95, 112, 105, 110, 0, 98, 108, 107, 103, 95, 116, 114, 101, 101, 0, - 98, 108, 107, 103, 95, 104, 105, 110, 116, 0, 98, 108, 107, 103, 95, 108, 105, 115, 116, 0, 99, - 112, 100, 0, 112, 108, 105, 100, 0, 98, 108, 107, 99, 103, 95, 112, 111, 108, 105, 99, 121, 95, - 100, 97, 116, 97, 0, 97, 108, 108, 95, 98, 108, 107, 99, 103, 115, 95, 110, 111, 100, 101, 0, - 102, 99, 95, 97, 112, 112, 95, 105, 100, 0, 105, 111, 115, 116, 97, 116, 95, 99, 112, 117, 0, - 98, 108, 107, 103, 95, 105, 111, 115, 116, 97, 116, 0, 98, 108, 107, 103, 95, 105, 111, 115, - 116, 97, 116, 95, 115, 101, 116, 0, 105, 111, 115, 116, 97, 116, 0, 98, 108, 107, 103, 0, 98, - 108, 107, 103, 95, 112, 111, 108, 105, 99, 121, 95, 100, 97, 116, 97, 0, 97, 115, 121, 110, 99, - 95, 98, 105, 111, 95, 108, 111, 99, 107, 0, 97, 115, 121, 110, 99, 95, 98, 105, 111, 115, 0, - 97, 115, 121, 110, 99, 95, 98, 105, 111, 95, 119, 111, 114, 107, 0, 117, 115, 101, 95, 100, - 101, 108, 97, 121, 0, 100, 101, 108, 97, 121, 95, 110, 115, 101, 99, 0, 100, 101, 108, 97, 121, - 95, 115, 116, 97, 114, 116, 0, 108, 97, 115, 116, 95, 100, 101, 108, 97, 121, 0, 108, 97, 115, - 116, 95, 117, 115, 101, 0, 98, 108, 107, 99, 103, 95, 103, 113, 0, 108, 105, 109, 105, 116, - 115, 0, 98, 111, 117, 110, 99, 101, 0, 66, 76, 75, 95, 66, 79, 85, 78, 67, 69, 95, 78, 79, 78, - 69, 0, 66, 76, 75, 95, 66, 79, 85, 78, 67, 69, 95, 72, 73, 71, 72, 0, 98, 108, 107, 95, 98, - 111, 117, 110, 99, 101, 0, 115, 101, 103, 95, 98, 111, 117, 110, 100, 97, 114, 121, 95, 109, - 97, 115, 107, 0, 118, 105, 114, 116, 95, 98, 111, 117, 110, 100, 97, 114, 121, 95, 109, 97, - 115, 107, 0, 109, 97, 120, 95, 104, 119, 95, 115, 101, 99, 116, 111, 114, 115, 0, 109, 97, 120, - 95, 100, 101, 118, 95, 115, 101, 99, 116, 111, 114, 115, 0, 99, 104, 117, 110, 107, 95, 115, - 101, 99, 116, 111, 114, 115, 0, 109, 97, 120, 95, 115, 101, 99, 116, 111, 114, 115, 0, 112, - 104, 121, 115, 105, 99, 97, 108, 95, 98, 108, 111, 99, 107, 95, 115, 105, 122, 101, 0, 108, - 111, 103, 105, 99, 97, 108, 95, 98, 108, 111, 99, 107, 95, 115, 105, 122, 101, 0, 97, 108, 105, - 103, 110, 109, 101, 110, 116, 95, 111, 102, 102, 115, 101, 116, 0, 105, 111, 95, 109, 105, 110, - 0, 105, 111, 95, 111, 112, 116, 0, 109, 97, 120, 95, 100, 105, 115, 99, 97, 114, 100, 95, 115, - 101, 99, 116, 111, 114, 115, 0, 109, 97, 120, 95, 104, 119, 95, 100, 105, 115, 99, 97, 114, - 100, 95, 115, 101, 99, 116, 111, 114, 115, 0, 109, 97, 120, 95, 119, 114, 105, 116, 101, 95, - 115, 97, 109, 101, 95, 115, 101, 99, 116, 111, 114, 115, 0, 109, 97, 120, 95, 119, 114, 105, - 116, 101, 95, 122, 101, 114, 111, 101, 115, 95, 115, 101, 99, 116, 111, 114, 115, 0, 109, 97, - 120, 95, 122, 111, 110, 101, 95, 97, 112, 112, 101, 110, 100, 95, 115, 101, 99, 116, 111, 114, - 115, 0, 100, 105, 115, 99, 97, 114, 100, 95, 103, 114, 97, 110, 117, 108, 97, 114, 105, 116, - 121, 0, 100, 105, 115, 99, 97, 114, 100, 95, 97, 108, 105, 103, 110, 109, 101, 110, 116, 0, - 122, 111, 110, 101, 95, 119, 114, 105, 116, 101, 95, 103, 114, 97, 110, 117, 108, 97, 114, 105, - 116, 121, 0, 109, 97, 120, 95, 115, 101, 103, 109, 101, 110, 116, 115, 0, 109, 97, 120, 95, - 105, 110, 116, 101, 103, 114, 105, 116, 121, 95, 115, 101, 103, 109, 101, 110, 116, 115, 0, - 109, 97, 120, 95, 100, 105, 115, 99, 97, 114, 100, 95, 115, 101, 103, 109, 101, 110, 116, 115, - 0, 109, 105, 115, 97, 108, 105, 103, 110, 101, 100, 0, 100, 105, 115, 99, 97, 114, 100, 95, - 109, 105, 115, 97, 108, 105, 103, 110, 101, 100, 0, 114, 97, 105, 100, 95, 112, 97, 114, 116, - 105, 97, 108, 95, 115, 116, 114, 105, 112, 101, 115, 95, 101, 120, 112, 101, 110, 115, 105, - 118, 101, 0, 122, 111, 110, 101, 100, 0, 66, 76, 75, 95, 90, 79, 78, 69, 68, 95, 78, 79, 78, - 69, 0, 66, 76, 75, 95, 90, 79, 78, 69, 68, 95, 72, 65, 0, 66, 76, 75, 95, 90, 79, 78, 69, 68, - 95, 72, 77, 0, 98, 108, 107, 95, 122, 111, 110, 101, 100, 95, 109, 111, 100, 101, 108, 0, 113, - 117, 101, 117, 101, 95, 108, 105, 109, 105, 116, 115, 0, 114, 101, 113, 117, 105, 114, 101, - 100, 95, 101, 108, 101, 118, 97, 116, 111, 114, 95, 102, 101, 97, 116, 117, 114, 101, 115, 0, - 99, 111, 110, 118, 95, 122, 111, 110, 101, 115, 95, 98, 105, 116, 109, 97, 112, 0, 115, 101, - 113, 95, 122, 111, 110, 101, 115, 95, 119, 108, 111, 99, 107, 0, 109, 97, 120, 95, 111, 112, - 101, 110, 95, 122, 111, 110, 101, 115, 0, 109, 97, 120, 95, 97, 99, 116, 105, 118, 101, 95, - 122, 111, 110, 101, 115, 0, 100, 101, 98, 117, 103, 102, 115, 95, 109, 117, 116, 101, 120, 0, - 98, 108, 107, 95, 116, 114, 97, 99, 101, 0, 116, 114, 97, 99, 101, 95, 115, 116, 97, 116, 101, - 0, 114, 99, 104, 97, 110, 0, 115, 117, 98, 98, 117, 102, 95, 115, 105, 122, 101, 0, 110, 95, - 115, 117, 98, 98, 117, 102, 115, 0, 99, 98, 0, 115, 117, 98, 98, 117, 102, 95, 115, 116, 97, - 114, 116, 0, 115, 117, 98, 98, 117, 102, 115, 95, 112, 114, 111, 100, 117, 99, 101, 100, 0, - 115, 117, 98, 98, 117, 102, 115, 95, 99, 111, 110, 115, 117, 109, 101, 100, 0, 99, 104, 97, - 110, 0, 119, 97, 107, 101, 117, 112, 95, 119, 111, 114, 107, 0, 112, 97, 103, 101, 95, 97, 114, - 114, 97, 121, 0, 112, 97, 103, 101, 95, 99, 111, 117, 110, 116, 0, 102, 105, 110, 97, 108, 105, - 122, 101, 100, 0, 112, 114, 101, 118, 95, 112, 97, 100, 100, 105, 110, 103, 0, 98, 121, 116, - 101, 115, 95, 99, 111, 110, 115, 117, 109, 101, 100, 0, 101, 97, 114, 108, 121, 95, 98, 121, - 116, 101, 115, 0, 114, 99, 104, 97, 110, 95, 98, 117, 102, 0, 99, 114, 101, 97, 116, 101, 95, - 98, 117, 102, 95, 102, 105, 108, 101, 0, 114, 101, 109, 111, 118, 101, 95, 98, 117, 102, 95, - 102, 105, 108, 101, 0, 114, 99, 104, 97, 110, 95, 99, 97, 108, 108, 98, 97, 99, 107, 115, 0, - 108, 97, 115, 116, 95, 116, 111, 111, 98, 105, 103, 0, 105, 115, 95, 103, 108, 111, 98, 97, - 108, 0, 104, 97, 115, 95, 98, 97, 115, 101, 95, 102, 105, 108, 101, 110, 97, 109, 101, 0, 98, - 97, 115, 101, 95, 102, 105, 108, 101, 110, 97, 109, 101, 0, 109, 115, 103, 95, 100, 97, 116, - 97, 0, 97, 99, 116, 95, 109, 97, 115, 107, 0, 115, 116, 97, 114, 116, 95, 108, 98, 97, 0, 101, - 110, 100, 95, 108, 98, 97, 0, 114, 117, 110, 110, 105, 110, 103, 95, 108, 105, 115, 116, 0, - 100, 114, 111, 112, 112, 101, 100, 0, 114, 101, 113, 117, 101, 117, 101, 95, 108, 105, 115, - 116, 0, 114, 101, 113, 117, 101, 117, 101, 95, 108, 111, 99, 107, 0, 114, 101, 113, 117, 101, - 117, 101, 95, 119, 111, 114, 107, 0, 115, 121, 115, 102, 115, 95, 100, 105, 114, 95, 108, 111, - 99, 107, 0, 117, 110, 117, 115, 101, 100, 95, 104, 99, 116, 120, 95, 108, 105, 115, 116, 0, - 117, 110, 117, 115, 101, 100, 95, 104, 99, 116, 120, 95, 108, 111, 99, 107, 0, 109, 113, 95, - 102, 114, 101, 101, 122, 101, 95, 100, 101, 112, 116, 104, 0, 116, 100, 0, 115, 101, 114, 118, - 105, 99, 101, 95, 113, 117, 101, 117, 101, 0, 112, 97, 114, 101, 110, 116, 95, 115, 113, 0, - 110, 114, 95, 113, 117, 101, 117, 101, 100, 0, 112, 101, 110, 100, 105, 110, 103, 95, 116, 114, - 101, 101, 0, 110, 114, 95, 112, 101, 110, 100, 105, 110, 103, 0, 102, 105, 114, 115, 116, 95, - 112, 101, 110, 100, 105, 110, 103, 95, 100, 105, 115, 112, 116, 105, 109, 101, 0, 112, 101, - 110, 100, 105, 110, 103, 95, 116, 105, 109, 101, 114, 0, 116, 104, 114, 111, 116, 108, 95, 115, - 101, 114, 118, 105, 99, 101, 95, 113, 117, 101, 117, 101, 0, 116, 104, 114, 111, 116, 108, 95, - 115, 108, 105, 99, 101, 0, 100, 105, 115, 112, 97, 116, 99, 104, 95, 119, 111, 114, 107, 0, - 108, 105, 109, 105, 116, 95, 105, 110, 100, 101, 120, 0, 108, 105, 109, 105, 116, 95, 118, 97, - 108, 105, 100, 0, 108, 111, 119, 95, 117, 112, 103, 114, 97, 100, 101, 95, 116, 105, 109, 101, - 0, 108, 111, 119, 95, 100, 111, 119, 110, 103, 114, 97, 100, 101, 95, 116, 105, 109, 101, 0, - 115, 99, 97, 108, 101, 0, 116, 109, 112, 95, 98, 117, 99, 107, 101, 116, 115, 0, 116, 111, 116, - 97, 108, 95, 108, 97, 116, 101, 110, 99, 121, 0, 115, 97, 109, 112, 108, 101, 115, 0, 108, 97, - 116, 101, 110, 99, 121, 95, 98, 117, 99, 107, 101, 116, 0, 97, 118, 103, 95, 98, 117, 99, 107, - 101, 116, 115, 0, 108, 97, 116, 101, 110, 99, 121, 0, 97, 118, 103, 95, 108, 97, 116, 101, 110, - 99, 121, 95, 98, 117, 99, 107, 101, 116, 0, 108, 97, 116, 101, 110, 99, 121, 95, 98, 117, 99, - 107, 101, 116, 115, 0, 108, 97, 115, 116, 95, 99, 97, 108, 99, 117, 108, 97, 116, 101, 95, 116, - 105, 109, 101, 0, 102, 105, 108, 116, 101, 114, 101, 100, 95, 108, 97, 116, 101, 110, 99, 121, - 0, 116, 114, 97, 99, 107, 95, 98, 105, 111, 95, 108, 97, 116, 101, 110, 99, 121, 0, 116, 104, - 114, 111, 116, 108, 95, 100, 97, 116, 97, 0, 109, 113, 95, 102, 114, 101, 101, 122, 101, 95, - 119, 113, 0, 109, 113, 95, 102, 114, 101, 101, 122, 101, 95, 108, 111, 99, 107, 0, 116, 97, - 103, 95, 115, 101, 116, 0, 116, 97, 103, 95, 115, 101, 116, 95, 108, 105, 115, 116, 0, 98, 105, - 111, 95, 115, 112, 108, 105, 116, 0, 98, 105, 111, 95, 115, 108, 97, 98, 0, 102, 114, 111, 110, - 116, 95, 112, 97, 100, 0, 98, 105, 111, 95, 97, 108, 108, 111, 99, 95, 99, 97, 99, 104, 101, 0, - 98, 105, 111, 95, 112, 111, 111, 108, 0, 109, 105, 110, 95, 110, 114, 0, 99, 117, 114, 114, 95, - 110, 114, 0, 112, 111, 111, 108, 95, 100, 97, 116, 97, 0, 109, 101, 109, 112, 111, 111, 108, - 95, 97, 108, 108, 111, 99, 95, 116, 0, 109, 101, 109, 112, 111, 111, 108, 95, 102, 114, 101, - 101, 95, 116, 0, 109, 101, 109, 112, 111, 111, 108, 95, 115, 0, 109, 101, 109, 112, 111, 111, - 108, 95, 116, 0, 98, 118, 101, 99, 95, 112, 111, 111, 108, 0, 98, 105, 111, 95, 105, 110, 116, - 101, 103, 114, 105, 116, 121, 95, 112, 111, 111, 108, 0, 98, 118, 101, 99, 95, 105, 110, 116, - 101, 103, 114, 105, 116, 121, 95, 112, 111, 111, 108, 0, 98, 97, 99, 107, 95, 112, 97, 100, 0, - 114, 101, 115, 99, 117, 101, 95, 108, 111, 99, 107, 0, 114, 101, 115, 99, 117, 101, 95, 108, - 105, 115, 116, 0, 114, 101, 115, 99, 117, 101, 95, 119, 111, 114, 107, 0, 114, 101, 115, 99, - 117, 101, 95, 119, 111, 114, 107, 113, 117, 101, 117, 101, 0, 98, 105, 111, 95, 115, 101, 116, - 0, 114, 113, 111, 115, 95, 100, 101, 98, 117, 103, 102, 115, 95, 100, 105, 114, 0, 109, 113, - 95, 115, 121, 115, 102, 115, 95, 105, 110, 105, 116, 95, 100, 111, 110, 101, 0, 119, 114, 105, - 116, 101, 95, 104, 105, 110, 116, 115, 0, 114, 101, 113, 117, 101, 115, 116, 95, 113, 117, 101, - 117, 101, 0, 111, 112, 101, 110, 95, 109, 117, 116, 101, 120, 0, 111, 112, 101, 110, 95, 112, - 97, 114, 116, 105, 116, 105, 111, 110, 115, 0, 98, 100, 105, 0, 98, 100, 105, 95, 108, 105, - 115, 116, 0, 114, 97, 95, 112, 97, 103, 101, 115, 0, 105, 111, 95, 112, 97, 103, 101, 115, 0, - 99, 97, 112, 97, 98, 105, 108, 105, 116, 105, 101, 115, 0, 109, 105, 110, 95, 114, 97, 116, - 105, 111, 0, 109, 97, 120, 95, 114, 97, 116, 105, 111, 0, 109, 97, 120, 95, 112, 114, 111, 112, - 95, 102, 114, 97, 99, 0, 116, 111, 116, 95, 119, 114, 105, 116, 101, 95, 98, 97, 110, 100, 119, - 105, 100, 116, 104, 0, 119, 98, 0, 108, 97, 115, 116, 95, 111, 108, 100, 95, 102, 108, 117, - 115, 104, 0, 98, 95, 100, 105, 114, 116, 121, 0, 98, 95, 105, 111, 0, 98, 95, 109, 111, 114, - 101, 95, 105, 111, 0, 98, 95, 100, 105, 114, 116, 121, 95, 116, 105, 109, 101, 0, 119, 114, - 105, 116, 101, 98, 97, 99, 107, 95, 105, 110, 111, 100, 101, 115, 0, 99, 111, 110, 103, 101, - 115, 116, 101, 100, 0, 98, 119, 95, 116, 105, 109, 101, 95, 115, 116, 97, 109, 112, 0, 100, - 105, 114, 116, 105, 101, 100, 95, 115, 116, 97, 109, 112, 0, 119, 114, 105, 116, 116, 101, 110, - 95, 115, 116, 97, 109, 112, 0, 119, 114, 105, 116, 101, 95, 98, 97, 110, 100, 119, 105, 100, - 116, 104, 0, 97, 118, 103, 95, 119, 114, 105, 116, 101, 95, 98, 97, 110, 100, 119, 105, 100, - 116, 104, 0, 100, 105, 114, 116, 121, 95, 114, 97, 116, 101, 108, 105, 109, 105, 116, 0, 98, - 97, 108, 97, 110, 99, 101, 100, 95, 100, 105, 114, 116, 121, 95, 114, 97, 116, 101, 108, 105, - 109, 105, 116, 0, 102, 112, 114, 111, 112, 95, 108, 111, 99, 97, 108, 95, 112, 101, 114, 99, - 112, 117, 0, 100, 105, 114, 116, 121, 95, 101, 120, 99, 101, 101, 100, 101, 100, 0, 115, 116, - 97, 114, 116, 95, 97, 108, 108, 95, 114, 101, 97, 115, 111, 110, 0, 87, 66, 95, 82, 69, 65, 83, - 79, 78, 95, 66, 65, 67, 75, 71, 82, 79, 85, 78, 68, 0, 87, 66, 95, 82, 69, 65, 83, 79, 78, 95, - 86, 77, 83, 67, 65, 78, 0, 87, 66, 95, 82, 69, 65, 83, 79, 78, 95, 83, 89, 78, 67, 0, 87, 66, - 95, 82, 69, 65, 83, 79, 78, 95, 80, 69, 82, 73, 79, 68, 73, 67, 0, 87, 66, 95, 82, 69, 65, 83, - 79, 78, 95, 76, 65, 80, 84, 79, 80, 95, 84, 73, 77, 69, 82, 0, 87, 66, 95, 82, 69, 65, 83, 79, - 78, 95, 70, 83, 95, 70, 82, 69, 69, 95, 83, 80, 65, 67, 69, 0, 87, 66, 95, 82, 69, 65, 83, 79, - 78, 95, 70, 79, 82, 75, 69, 82, 95, 84, 72, 82, 69, 65, 68, 0, 87, 66, 95, 82, 69, 65, 83, 79, - 78, 95, 70, 79, 82, 69, 73, 71, 78, 95, 70, 76, 85, 83, 72, 0, 87, 66, 95, 82, 69, 65, 83, 79, - 78, 95, 77, 65, 88, 0, 119, 98, 95, 114, 101, 97, 115, 111, 110, 0, 119, 111, 114, 107, 95, - 108, 111, 99, 107, 0, 119, 111, 114, 107, 95, 108, 105, 115, 116, 0, 100, 119, 111, 114, 107, - 0, 98, 119, 95, 100, 119, 111, 114, 107, 0, 100, 105, 114, 116, 121, 95, 115, 108, 101, 101, - 112, 0, 98, 100, 105, 95, 110, 111, 100, 101, 0, 109, 101, 109, 99, 103, 95, 99, 111, 109, 112, - 108, 101, 116, 105, 111, 110, 115, 0, 109, 101, 109, 99, 103, 95, 99, 115, 115, 0, 98, 108, - 107, 99, 103, 95, 99, 115, 115, 0, 109, 101, 109, 99, 103, 95, 110, 111, 100, 101, 0, 98, 95, - 97, 116, 116, 97, 99, 104, 101, 100, 0, 111, 102, 102, 108, 105, 110, 101, 95, 110, 111, 100, - 101, 0, 98, 100, 105, 95, 119, 114, 105, 116, 101, 98, 97, 99, 107, 0, 119, 98, 95, 108, 105, - 115, 116, 0, 99, 103, 119, 98, 95, 116, 114, 101, 101, 0, 99, 103, 119, 98, 95, 114, 101, 108, - 101, 97, 115, 101, 95, 109, 117, 116, 101, 120, 0, 119, 98, 95, 115, 119, 105, 116, 99, 104, - 95, 114, 119, 115, 101, 109, 0, 119, 98, 95, 119, 97, 105, 116, 113, 0, 108, 97, 112, 116, 111, - 112, 95, 109, 111, 100, 101, 95, 119, 98, 95, 116, 105, 109, 101, 114, 0, 100, 101, 98, 117, - 103, 95, 100, 105, 114, 0, 98, 97, 99, 107, 105, 110, 103, 95, 100, 101, 118, 95, 105, 110, - 102, 111, 0, 115, 108, 97, 118, 101, 95, 100, 105, 114, 0, 115, 108, 97, 118, 101, 95, 98, 100, - 101, 118, 115, 0, 99, 121, 99, 108, 101, 115, 95, 116, 0, 108, 97, 115, 116, 95, 100, 101, 108, - 116, 97, 0, 108, 97, 115, 116, 95, 100, 101, 108, 116, 97, 50, 0, 116, 105, 109, 101, 114, 95, - 114, 97, 110, 100, 95, 115, 116, 97, 116, 101, 0, 115, 121, 110, 99, 95, 105, 111, 0, 101, 118, - 0, 98, 108, 111, 99, 107, 95, 109, 117, 116, 101, 120, 0, 98, 108, 111, 99, 107, 0, 99, 108, - 101, 97, 114, 105, 110, 103, 0, 112, 111, 108, 108, 95, 109, 115, 101, 99, 115, 0, 100, 105, - 115, 107, 95, 101, 118, 101, 110, 116, 115, 0, 105, 110, 116, 101, 103, 114, 105, 116, 121, 95, - 107, 111, 98, 106, 0, 99, 100, 105, 0, 100, 114, 105, 118, 101, 95, 115, 116, 97, 116, 117, - 115, 0, 116, 114, 97, 121, 95, 109, 111, 118, 101, 0, 108, 111, 99, 107, 95, 100, 111, 111, - 114, 0, 115, 101, 108, 101, 99, 116, 95, 115, 112, 101, 101, 100, 0, 115, 101, 108, 101, 99, - 116, 95, 100, 105, 115, 99, 0, 103, 101, 116, 95, 108, 97, 115, 116, 95, 115, 101, 115, 115, - 105, 111, 110, 0, 109, 115, 102, 0, 109, 105, 110, 117, 116, 101, 0, 115, 101, 99, 111, 110, - 100, 0, 99, 100, 114, 111, 109, 95, 109, 115, 102, 48, 0, 108, 98, 97, 0, 99, 100, 114, 111, - 109, 95, 97, 100, 100, 114, 0, 120, 97, 95, 102, 108, 97, 103, 0, 97, 100, 100, 114, 95, 102, - 111, 114, 109, 97, 116, 0, 99, 100, 114, 111, 109, 95, 109, 117, 108, 116, 105, 115, 101, 115, - 115, 105, 111, 110, 0, 103, 101, 116, 95, 109, 99, 110, 0, 109, 101, 100, 105, 117, 109, 95, - 99, 97, 116, 97, 108, 111, 103, 95, 110, 117, 109, 98, 101, 114, 0, 99, 100, 114, 111, 109, 95, - 109, 99, 110, 0, 97, 117, 100, 105, 111, 95, 105, 111, 99, 116, 108, 0, 103, 101, 110, 101, - 114, 105, 99, 95, 112, 97, 99, 107, 101, 116, 0, 99, 109, 100, 0, 115, 115, 104, 100, 114, 0, - 114, 101, 115, 112, 111, 110, 115, 101, 95, 99, 111, 100, 101, 0, 115, 101, 110, 115, 101, 95, - 107, 101, 121, 0, 97, 115, 99, 0, 97, 115, 99, 113, 0, 98, 121, 116, 101, 52, 0, 98, 121, 116, - 101, 53, 0, 98, 121, 116, 101, 54, 0, 97, 100, 100, 105, 116, 105, 111, 110, 97, 108, 95, 108, - 101, 110, 103, 116, 104, 0, 115, 99, 115, 105, 95, 115, 101, 110, 115, 101, 95, 104, 100, 114, - 0, 100, 97, 116, 97, 95, 100, 105, 114, 101, 99, 116, 105, 111, 110, 0, 113, 117, 105, 101, - 116, 0, 112, 97, 99, 107, 101, 116, 95, 99, 111, 109, 109, 97, 110, 100, 0, 114, 101, 97, 100, - 95, 99, 100, 100, 97, 95, 98, 112, 99, 0, 99, 97, 112, 97, 98, 105, 108, 105, 116, 121, 0, 99, - 100, 114, 111, 109, 95, 100, 101, 118, 105, 99, 101, 95, 111, 112, 115, 0, 104, 97, 110, 100, - 108, 101, 0, 115, 112, 101, 101, 100, 0, 111, 112, 116, 105, 111, 110, 115, 0, 109, 99, 95, - 102, 108, 97, 103, 115, 0, 118, 102, 115, 95, 101, 118, 101, 110, 116, 115, 0, 105, 111, 99, - 116, 108, 95, 101, 118, 101, 110, 116, 115, 0, 117, 115, 101, 95, 99, 111, 117, 110, 116, 0, - 115, 97, 110, 121, 111, 95, 115, 108, 111, 116, 0, 107, 101, 101, 112, 108, 111, 99, 107, 101, - 100, 0, 99, 100, 100, 97, 95, 109, 101, 116, 104, 111, 100, 0, 108, 97, 115, 116, 95, 115, 101, - 110, 115, 101, 0, 109, 101, 100, 105, 97, 95, 119, 114, 105, 116, 116, 101, 110, 0, 109, 109, - 99, 51, 95, 112, 114, 111, 102, 105, 108, 101, 0, 102, 111, 114, 95, 100, 97, 116, 97, 0, 109, - 114, 119, 95, 109, 111, 100, 101, 95, 112, 97, 103, 101, 0, 99, 100, 114, 111, 109, 95, 100, - 101, 118, 105, 99, 101, 95, 105, 110, 102, 111, 0, 98, 98, 0, 117, 110, 97, 99, 107, 101, 100, - 95, 101, 120, 105, 115, 116, 0, 99, 104, 97, 110, 103, 101, 100, 0, 115, 101, 99, 116, 111, - 114, 0, 98, 97, 100, 98, 108, 111, 99, 107, 115, 0, 100, 105, 115, 107, 115, 101, 113, 0, 103, - 101, 110, 100, 105, 115, 107, 0, 98, 100, 95, 102, 115, 102, 114, 101, 101, 122, 101, 95, 99, - 111, 117, 110, 116, 0, 98, 100, 95, 102, 115, 102, 114, 101, 101, 122, 101, 95, 109, 117, 116, - 101, 120, 0, 98, 100, 95, 102, 115, 102, 114, 101, 101, 122, 101, 95, 115, 98, 0, 98, 100, 95, - 109, 101, 116, 97, 95, 105, 110, 102, 111, 0, 117, 117, 105, 100, 0, 118, 111, 108, 110, 97, - 109, 101, 0, 112, 97, 114, 116, 105, 116, 105, 111, 110, 95, 109, 101, 116, 97, 95, 105, 110, - 102, 111, 0, 98, 108, 111, 99, 107, 95, 100, 101, 118, 105, 99, 101, 0, 98, 105, 95, 111, 112, - 102, 0, 98, 105, 95, 102, 108, 97, 103, 115, 0, 98, 105, 95, 105, 111, 112, 114, 105, 111, 0, - 98, 105, 95, 119, 114, 105, 116, 101, 95, 104, 105, 110, 116, 0, 98, 105, 95, 115, 116, 97, - 116, 117, 115, 0, 95, 95, 98, 105, 95, 114, 101, 109, 97, 105, 110, 105, 110, 103, 0, 98, 105, - 95, 105, 116, 101, 114, 0, 98, 105, 95, 115, 101, 99, 116, 111, 114, 0, 98, 105, 95, 115, 105, - 122, 101, 0, 98, 105, 95, 105, 100, 120, 0, 98, 105, 95, 98, 118, 101, 99, 95, 100, 111, 110, - 101, 0, 98, 118, 101, 99, 95, 105, 116, 101, 114, 0, 98, 105, 95, 101, 110, 100, 95, 105, 111, - 0, 98, 105, 111, 95, 101, 110, 100, 95, 105, 111, 95, 116, 0, 98, 105, 95, 112, 114, 105, 118, - 97, 116, 101, 0, 98, 105, 95, 98, 108, 107, 103, 0, 98, 105, 95, 105, 115, 115, 117, 101, 0, - 98, 105, 111, 95, 105, 115, 115, 117, 101, 0, 98, 105, 95, 105, 111, 99, 111, 115, 116, 95, 99, - 111, 115, 116, 0, 98, 105, 95, 99, 114, 121, 112, 116, 95, 99, 111, 110, 116, 101, 120, 116, 0, - 98, 105, 95, 105, 110, 116, 101, 103, 114, 105, 116, 121, 0, 98, 105, 112, 95, 98, 105, 111, 0, - 98, 105, 112, 95, 105, 116, 101, 114, 0, 98, 105, 112, 95, 118, 99, 110, 116, 0, 98, 105, 112, - 95, 109, 97, 120, 95, 118, 99, 110, 116, 0, 98, 105, 112, 95, 102, 108, 97, 103, 115, 0, 98, - 105, 111, 95, 105, 116, 101, 114, 0, 98, 105, 112, 95, 119, 111, 114, 107, 0, 98, 105, 112, 95, - 118, 101, 99, 0, 98, 105, 112, 95, 105, 110, 108, 105, 110, 101, 95, 118, 101, 99, 115, 0, 98, - 105, 111, 95, 105, 110, 116, 101, 103, 114, 105, 116, 121, 95, 112, 97, 121, 108, 111, 97, 100, - 0, 98, 105, 95, 118, 99, 110, 116, 0, 98, 105, 95, 109, 97, 120, 95, 118, 101, 99, 115, 0, 95, - 95, 98, 105, 95, 99, 110, 116, 0, 98, 105, 95, 105, 111, 95, 118, 101, 99, 0, 98, 105, 95, 112, - 111, 111, 108, 0, 98, 105, 95, 105, 110, 108, 105, 110, 101, 95, 118, 101, 99, 115, 0, 114, - 101, 99, 108, 97, 105, 109, 95, 115, 116, 97, 116, 101, 0, 114, 101, 99, 108, 97, 105, 109, - 101, 100, 95, 115, 108, 97, 98, 0, 99, 97, 112, 116, 117, 114, 101, 95, 99, 111, 110, 116, 114, - 111, 108, 0, 99, 99, 0, 102, 114, 101, 101, 112, 97, 103, 101, 115, 0, 109, 105, 103, 114, 97, - 116, 101, 112, 97, 103, 101, 115, 0, 110, 114, 95, 102, 114, 101, 101, 112, 97, 103, 101, 115, - 0, 110, 114, 95, 109, 105, 103, 114, 97, 116, 101, 112, 97, 103, 101, 115, 0, 102, 114, 101, - 101, 95, 112, 102, 110, 0, 109, 105, 103, 114, 97, 116, 101, 95, 112, 102, 110, 0, 102, 97, - 115, 116, 95, 115, 116, 97, 114, 116, 95, 112, 102, 110, 0, 116, 111, 116, 97, 108, 95, 109, - 105, 103, 114, 97, 116, 101, 95, 115, 99, 97, 110, 110, 101, 100, 0, 116, 111, 116, 97, 108, - 95, 102, 114, 101, 101, 95, 115, 99, 97, 110, 110, 101, 100, 0, 102, 97, 115, 116, 95, 115, - 101, 97, 114, 99, 104, 95, 102, 97, 105, 108, 0, 115, 101, 97, 114, 99, 104, 95, 111, 114, 100, - 101, 114, 0, 111, 114, 100, 101, 114, 0, 109, 105, 103, 114, 97, 116, 101, 116, 121, 112, 101, - 0, 97, 108, 108, 111, 99, 95, 102, 108, 97, 103, 115, 0, 104, 105, 103, 104, 101, 115, 116, 95, - 122, 111, 110, 101, 105, 100, 120, 0, 77, 73, 71, 82, 65, 84, 69, 95, 65, 83, 89, 78, 67, 0, - 77, 73, 71, 82, 65, 84, 69, 95, 83, 89, 78, 67, 95, 76, 73, 71, 72, 84, 0, 77, 73, 71, 82, 65, - 84, 69, 95, 83, 89, 78, 67, 0, 77, 73, 71, 82, 65, 84, 69, 95, 83, 89, 78, 67, 95, 78, 79, 95, - 67, 79, 80, 89, 0, 109, 105, 103, 114, 97, 116, 101, 95, 109, 111, 100, 101, 0, 105, 103, 110, - 111, 114, 101, 95, 115, 107, 105, 112, 95, 104, 105, 110, 116, 0, 110, 111, 95, 115, 101, 116, - 95, 115, 107, 105, 112, 95, 104, 105, 110, 116, 0, 105, 103, 110, 111, 114, 101, 95, 98, 108, - 111, 99, 107, 95, 115, 117, 105, 116, 97, 98, 108, 101, 0, 100, 105, 114, 101, 99, 116, 95, 99, - 111, 109, 112, 97, 99, 116, 105, 111, 110, 0, 112, 114, 111, 97, 99, 116, 105, 118, 101, 95, - 99, 111, 109, 112, 97, 99, 116, 105, 111, 110, 0, 119, 104, 111, 108, 101, 95, 122, 111, 110, - 101, 0, 99, 111, 110, 116, 101, 110, 100, 101, 100, 0, 114, 101, 115, 99, 97, 110, 0, 97, 108, - 108, 111, 99, 95, 99, 111, 110, 116, 105, 103, 0, 99, 111, 109, 112, 97, 99, 116, 95, 99, 111, - 110, 116, 114, 111, 108, 0, 112, 116, 114, 97, 99, 101, 95, 109, 101, 115, 115, 97, 103, 101, - 0, 108, 97, 115, 116, 95, 115, 105, 103, 105, 110, 102, 111, 0, 115, 105, 95, 115, 105, 103, - 110, 111, 0, 115, 105, 95, 101, 114, 114, 110, 111, 0, 115, 105, 95, 99, 111, 100, 101, 0, 95, - 115, 105, 102, 105, 101, 108, 100, 115, 0, 95, 107, 105, 108, 108, 0, 95, 112, 105, 100, 0, 95, - 117, 105, 100, 0, 95, 116, 105, 109, 101, 114, 0, 95, 116, 105, 100, 0, 95, 95, 107, 101, 114, - 110, 101, 108, 95, 116, 105, 109, 101, 114, 95, 116, 0, 95, 111, 118, 101, 114, 114, 117, 110, - 0, 95, 115, 105, 103, 118, 97, 108, 0, 115, 105, 118, 97, 108, 95, 105, 110, 116, 0, 115, 105, - 118, 97, 108, 95, 112, 116, 114, 0, 115, 105, 103, 118, 97, 108, 0, 115, 105, 103, 118, 97, - 108, 95, 116, 0, 95, 115, 121, 115, 95, 112, 114, 105, 118, 97, 116, 101, 0, 95, 114, 116, 0, - 95, 115, 105, 103, 99, 104, 108, 100, 0, 95, 115, 116, 97, 116, 117, 115, 0, 95, 117, 116, 105, - 109, 101, 0, 95, 95, 107, 101, 114, 110, 101, 108, 95, 99, 108, 111, 99, 107, 95, 116, 0, 95, - 115, 116, 105, 109, 101, 0, 95, 115, 105, 103, 102, 97, 117, 108, 116, 0, 95, 97, 100, 100, - 114, 0, 95, 116, 114, 97, 112, 110, 111, 0, 95, 97, 100, 100, 114, 95, 108, 115, 98, 0, 95, 97, - 100, 100, 114, 95, 98, 110, 100, 0, 95, 100, 117, 109, 109, 121, 95, 98, 110, 100, 0, 95, 108, - 111, 119, 101, 114, 0, 95, 117, 112, 112, 101, 114, 0, 95, 97, 100, 100, 114, 95, 112, 107, - 101, 121, 0, 95, 100, 117, 109, 109, 121, 95, 112, 107, 101, 121, 0, 95, 112, 107, 101, 121, 0, - 95, 112, 101, 114, 102, 0, 95, 100, 97, 116, 97, 0, 95, 116, 121, 112, 101, 0, 95, 115, 105, - 103, 112, 111, 108, 108, 0, 95, 98, 97, 110, 100, 0, 95, 102, 100, 0, 95, 115, 105, 103, 115, - 121, 115, 0, 95, 99, 97, 108, 108, 95, 97, 100, 100, 114, 0, 95, 115, 121, 115, 99, 97, 108, - 108, 0, 95, 97, 114, 99, 104, 0, 95, 95, 115, 105, 102, 105, 101, 108, 100, 115, 0, 107, 101, - 114, 110, 101, 108, 95, 115, 105, 103, 105, 110, 102, 111, 0, 107, 101, 114, 110, 101, 108, 95, - 115, 105, 103, 105, 110, 102, 111, 95, 116, 0, 112, 115, 105, 95, 102, 108, 97, 103, 115, 0, - 97, 99, 99, 116, 95, 114, 115, 115, 95, 109, 101, 109, 49, 0, 97, 99, 99, 116, 95, 118, 109, - 95, 109, 101, 109, 49, 0, 97, 99, 99, 116, 95, 116, 105, 109, 101, 120, 112, 100, 0, 109, 101, - 109, 115, 95, 97, 108, 108, 111, 119, 101, 100, 0, 109, 101, 109, 115, 95, 97, 108, 108, 111, - 119, 101, 100, 95, 115, 101, 113, 0, 99, 112, 117, 115, 101, 116, 95, 109, 101, 109, 95, 115, - 112, 114, 101, 97, 100, 95, 114, 111, 116, 111, 114, 0, 99, 112, 117, 115, 101, 116, 95, 115, - 108, 97, 98, 95, 115, 112, 114, 101, 97, 100, 95, 114, 111, 116, 111, 114, 0, 99, 103, 114, - 111, 117, 112, 115, 0, 99, 103, 95, 108, 105, 115, 116, 0, 99, 108, 111, 115, 105, 100, 0, 114, - 109, 105, 100, 0, 114, 111, 98, 117, 115, 116, 95, 108, 105, 115, 116, 0, 102, 117, 116, 101, - 120, 95, 111, 102, 102, 115, 101, 116, 0, 108, 105, 115, 116, 95, 111, 112, 95, 112, 101, 110, - 100, 105, 110, 103, 0, 114, 111, 98, 117, 115, 116, 95, 108, 105, 115, 116, 95, 104, 101, 97, - 100, 0, 99, 111, 109, 112, 97, 116, 95, 114, 111, 98, 117, 115, 116, 95, 108, 105, 115, 116, 0, - 99, 111, 109, 112, 97, 116, 95, 108, 111, 110, 103, 95, 116, 0, 99, 111, 109, 112, 97, 116, 95, - 114, 111, 98, 117, 115, 116, 95, 108, 105, 115, 116, 95, 104, 101, 97, 100, 0, 112, 105, 95, - 115, 116, 97, 116, 101, 95, 108, 105, 115, 116, 0, 112, 105, 95, 115, 116, 97, 116, 101, 95, - 99, 97, 99, 104, 101, 0, 112, 105, 95, 109, 117, 116, 101, 120, 0, 105, 95, 115, 101, 113, 0, - 95, 95, 116, 109, 112, 0, 98, 111, 116, 104, 0, 102, 117, 116, 101, 120, 95, 107, 101, 121, 0, - 102, 117, 116, 101, 120, 95, 112, 105, 95, 115, 116, 97, 116, 101, 0, 102, 117, 116, 101, 120, - 95, 101, 120, 105, 116, 95, 109, 117, 116, 101, 120, 0, 102, 117, 116, 101, 120, 95, 115, 116, - 97, 116, 101, 0, 112, 101, 114, 102, 95, 101, 118, 101, 110, 116, 95, 99, 116, 120, 112, 0, - 112, 109, 117, 0, 97, 116, 116, 114, 95, 103, 114, 111, 117, 112, 115, 0, 97, 116, 116, 114, - 95, 117, 112, 100, 97, 116, 101, 0, 112, 109, 117, 95, 100, 105, 115, 97, 98, 108, 101, 95, 99, - 111, 117, 110, 116, 0, 112, 109, 117, 95, 99, 112, 117, 95, 99, 111, 110, 116, 101, 120, 116, - 0, 116, 97, 115, 107, 95, 99, 116, 120, 0, 97, 99, 116, 105, 118, 101, 95, 111, 110, 99, 112, - 117, 0, 101, 120, 99, 108, 117, 115, 105, 118, 101, 0, 104, 114, 116, 105, 109, 101, 114, 95, - 108, 111, 99, 107, 0, 104, 114, 116, 105, 109, 101, 114, 95, 105, 110, 116, 101, 114, 118, 97, - 108, 0, 104, 114, 116, 105, 109, 101, 114, 95, 97, 99, 116, 105, 118, 101, 0, 116, 105, 109, - 101, 115, 116, 97, 109, 112, 0, 112, 101, 114, 102, 95, 99, 103, 114, 111, 117, 112, 95, 105, - 110, 102, 111, 0, 112, 101, 114, 102, 95, 99, 103, 114, 111, 117, 112, 0, 99, 103, 114, 112, - 95, 99, 112, 117, 99, 116, 120, 95, 101, 110, 116, 114, 121, 0, 115, 99, 104, 101, 100, 95, 99, - 98, 95, 101, 110, 116, 114, 121, 0, 115, 99, 104, 101, 100, 95, 99, 98, 95, 117, 115, 97, 103, - 101, 0, 104, 101, 97, 112, 95, 115, 105, 122, 101, 0, 104, 101, 97, 112, 0, 101, 118, 101, 110, - 116, 95, 101, 110, 116, 114, 121, 0, 115, 105, 98, 108, 105, 110, 103, 95, 108, 105, 115, 116, - 0, 97, 99, 116, 105, 118, 101, 95, 108, 105, 115, 116, 0, 103, 114, 111, 117, 112, 95, 105, - 110, 100, 101, 120, 0, 109, 105, 103, 114, 97, 116, 101, 95, 101, 110, 116, 114, 121, 0, 104, - 108, 105, 115, 116, 95, 101, 110, 116, 114, 121, 0, 97, 99, 116, 105, 118, 101, 95, 101, 110, - 116, 114, 121, 0, 110, 114, 95, 115, 105, 98, 108, 105, 110, 103, 115, 0, 101, 118, 101, 110, - 116, 95, 99, 97, 112, 115, 0, 103, 114, 111, 117, 112, 95, 99, 97, 112, 115, 0, 112, 109, 117, - 95, 112, 114, 105, 118, 97, 116, 101, 0, 80, 69, 82, 70, 95, 69, 86, 69, 78, 84, 95, 83, 84, - 65, 84, 69, 95, 68, 69, 65, 68, 0, 80, 69, 82, 70, 95, 69, 86, 69, 78, 84, 95, 83, 84, 65, 84, - 69, 95, 69, 88, 73, 84, 0, 80, 69, 82, 70, 95, 69, 86, 69, 78, 84, 95, 83, 84, 65, 84, 69, 95, - 69, 82, 82, 79, 82, 0, 80, 69, 82, 70, 95, 69, 86, 69, 78, 84, 95, 83, 84, 65, 84, 69, 95, 79, - 70, 70, 0, 80, 69, 82, 70, 95, 69, 86, 69, 78, 84, 95, 83, 84, 65, 84, 69, 95, 73, 78, 65, 67, - 84, 73, 86, 69, 0, 80, 69, 82, 70, 95, 69, 86, 69, 78, 84, 95, 83, 84, 65, 84, 69, 95, 65, 67, - 84, 73, 86, 69, 0, 112, 101, 114, 102, 95, 101, 118, 101, 110, 116, 95, 115, 116, 97, 116, 101, - 0, 97, 116, 116, 97, 99, 104, 95, 115, 116, 97, 116, 101, 0, 108, 111, 99, 97, 108, 54, 52, 95, - 116, 0, 116, 111, 116, 97, 108, 95, 116, 105, 109, 101, 95, 101, 110, 97, 98, 108, 101, 100, 0, - 116, 111, 116, 97, 108, 95, 116, 105, 109, 101, 95, 114, 117, 110, 110, 105, 110, 103, 0, 115, - 104, 97, 100, 111, 119, 95, 99, 116, 120, 95, 116, 105, 109, 101, 0, 99, 111, 110, 102, 105, - 103, 0, 115, 97, 109, 112, 108, 101, 95, 112, 101, 114, 105, 111, 100, 0, 115, 97, 109, 112, - 108, 101, 95, 102, 114, 101, 113, 0, 115, 97, 109, 112, 108, 101, 95, 116, 121, 112, 101, 0, - 114, 101, 97, 100, 95, 102, 111, 114, 109, 97, 116, 0, 100, 105, 115, 97, 98, 108, 101, 100, 0, - 105, 110, 104, 101, 114, 105, 116, 0, 112, 105, 110, 110, 101, 100, 0, 101, 120, 99, 108, 117, - 100, 101, 95, 117, 115, 101, 114, 0, 101, 120, 99, 108, 117, 100, 101, 95, 107, 101, 114, 110, - 101, 108, 0, 101, 120, 99, 108, 117, 100, 101, 95, 104, 118, 0, 101, 120, 99, 108, 117, 100, - 101, 95, 105, 100, 108, 101, 0, 105, 110, 104, 101, 114, 105, 116, 95, 115, 116, 97, 116, 0, - 101, 110, 97, 98, 108, 101, 95, 111, 110, 95, 101, 120, 101, 99, 0, 112, 114, 101, 99, 105, - 115, 101, 95, 105, 112, 0, 109, 109, 97, 112, 95, 100, 97, 116, 97, 0, 115, 97, 109, 112, 108, - 101, 95, 105, 100, 95, 97, 108, 108, 0, 101, 120, 99, 108, 117, 100, 101, 95, 104, 111, 115, - 116, 0, 101, 120, 99, 108, 117, 100, 101, 95, 103, 117, 101, 115, 116, 0, 101, 120, 99, 108, - 117, 100, 101, 95, 99, 97, 108, 108, 99, 104, 97, 105, 110, 95, 107, 101, 114, 110, 101, 108, - 0, 101, 120, 99, 108, 117, 100, 101, 95, 99, 97, 108, 108, 99, 104, 97, 105, 110, 95, 117, 115, - 101, 114, 0, 109, 109, 97, 112, 50, 0, 99, 111, 109, 109, 95, 101, 120, 101, 99, 0, 117, 115, - 101, 95, 99, 108, 111, 99, 107, 105, 100, 0, 99, 111, 110, 116, 101, 120, 116, 95, 115, 119, - 105, 116, 99, 104, 0, 119, 114, 105, 116, 101, 95, 98, 97, 99, 107, 119, 97, 114, 100, 0, 107, - 115, 121, 109, 98, 111, 108, 0, 98, 112, 102, 95, 101, 118, 101, 110, 116, 0, 97, 117, 120, 95, - 111, 117, 116, 112, 117, 116, 0, 116, 101, 120, 116, 95, 112, 111, 107, 101, 0, 105, 110, 104, - 101, 114, 105, 116, 95, 116, 104, 114, 101, 97, 100, 0, 114, 101, 109, 111, 118, 101, 95, 111, - 110, 95, 101, 120, 101, 99, 0, 115, 105, 103, 116, 114, 97, 112, 0, 95, 95, 114, 101, 115, 101, - 114, 118, 101, 100, 95, 49, 0, 119, 97, 107, 101, 117, 112, 95, 101, 118, 101, 110, 116, 115, - 0, 119, 97, 107, 101, 117, 112, 95, 119, 97, 116, 101, 114, 109, 97, 114, 107, 0, 98, 112, 95, - 116, 121, 112, 101, 0, 98, 112, 95, 97, 100, 100, 114, 0, 107, 112, 114, 111, 98, 101, 95, 102, - 117, 110, 99, 0, 117, 112, 114, 111, 98, 101, 95, 112, 97, 116, 104, 0, 99, 111, 110, 102, 105, - 103, 49, 0, 98, 112, 95, 108, 101, 110, 0, 107, 112, 114, 111, 98, 101, 95, 97, 100, 100, 114, - 0, 99, 111, 110, 102, 105, 103, 50, 0, 98, 114, 97, 110, 99, 104, 95, 115, 97, 109, 112, 108, - 101, 95, 116, 121, 112, 101, 0, 115, 97, 109, 112, 108, 101, 95, 114, 101, 103, 115, 95, 117, - 115, 101, 114, 0, 115, 97, 109, 112, 108, 101, 95, 115, 116, 97, 99, 107, 95, 117, 115, 101, - 114, 0, 115, 97, 109, 112, 108, 101, 95, 114, 101, 103, 115, 95, 105, 110, 116, 114, 0, 97, - 117, 120, 95, 119, 97, 116, 101, 114, 109, 97, 114, 107, 0, 115, 97, 109, 112, 108, 101, 95, - 109, 97, 120, 95, 115, 116, 97, 99, 107, 0, 95, 95, 114, 101, 115, 101, 114, 118, 101, 100, 95, - 50, 0, 97, 117, 120, 95, 115, 97, 109, 112, 108, 101, 95, 115, 105, 122, 101, 0, 95, 95, 114, - 101, 115, 101, 114, 118, 101, 100, 95, 51, 0, 115, 105, 103, 95, 100, 97, 116, 97, 0, 112, 101, - 114, 102, 95, 101, 118, 101, 110, 116, 95, 97, 116, 116, 114, 0, 104, 101, 97, 100, 101, 114, - 95, 115, 105, 122, 101, 0, 105, 100, 95, 104, 101, 97, 100, 101, 114, 95, 115, 105, 122, 101, - 0, 114, 101, 97, 100, 95, 115, 105, 122, 101, 0, 104, 119, 0, 108, 97, 115, 116, 95, 116, 97, - 103, 0, 99, 111, 110, 102, 105, 103, 95, 98, 97, 115, 101, 0, 101, 118, 101, 110, 116, 95, 98, - 97, 115, 101, 0, 101, 118, 101, 110, 116, 95, 98, 97, 115, 101, 95, 114, 100, 112, 109, 99, 0, - 108, 97, 115, 116, 95, 99, 112, 117, 0, 101, 120, 116, 114, 97, 95, 114, 101, 103, 0, 114, 101, - 103, 0, 104, 119, 95, 112, 101, 114, 102, 95, 101, 118, 101, 110, 116, 95, 101, 120, 116, 114, - 97, 0, 98, 114, 97, 110, 99, 104, 95, 114, 101, 103, 0, 116, 112, 95, 108, 105, 115, 116, 0, - 112, 119, 114, 95, 97, 99, 99, 0, 112, 116, 115, 99, 0, 97, 114, 99, 104, 95, 104, 119, 95, 98, - 114, 101, 97, 107, 112, 111, 105, 110, 116, 0, 98, 112, 95, 108, 105, 115, 116, 0, 105, 111, - 109, 109, 117, 95, 98, 97, 110, 107, 0, 105, 111, 109, 109, 117, 95, 99, 110, 116, 114, 0, 99, - 111, 110, 102, 0, 99, 111, 110, 102, 49, 0, 97, 100, 100, 114, 95, 102, 105, 108, 116, 101, - 114, 115, 0, 97, 100, 100, 114, 95, 102, 105, 108, 116, 101, 114, 115, 95, 103, 101, 110, 0, - 112, 114, 101, 118, 95, 99, 111, 117, 110, 116, 0, 108, 97, 115, 116, 95, 112, 101, 114, 105, - 111, 100, 0, 112, 101, 114, 105, 111, 100, 95, 108, 101, 102, 116, 0, 115, 97, 118, 101, 100, - 95, 109, 101, 116, 114, 105, 99, 0, 115, 97, 118, 101, 100, 95, 115, 108, 111, 116, 115, 0, - 105, 110, 116, 101, 114, 114, 117, 112, 116, 115, 95, 115, 101, 113, 0, 105, 110, 116, 101, - 114, 114, 117, 112, 116, 115, 0, 102, 114, 101, 113, 95, 116, 105, 109, 101, 95, 115, 116, 97, - 109, 112, 0, 102, 114, 101, 113, 95, 99, 111, 117, 110, 116, 95, 115, 116, 97, 109, 112, 0, - 104, 119, 95, 112, 101, 114, 102, 95, 101, 118, 101, 110, 116, 0, 99, 104, 105, 108, 100, 95, - 116, 111, 116, 97, 108, 95, 116, 105, 109, 101, 95, 101, 110, 97, 98, 108, 101, 100, 0, 99, - 104, 105, 108, 100, 95, 116, 111, 116, 97, 108, 95, 116, 105, 109, 101, 95, 114, 117, 110, 110, - 105, 110, 103, 0, 99, 104, 105, 108, 100, 95, 109, 117, 116, 101, 120, 0, 99, 104, 105, 108, - 100, 95, 108, 105, 115, 116, 0, 111, 110, 99, 112, 117, 0, 111, 119, 110, 101, 114, 95, 101, - 110, 116, 114, 121, 0, 109, 109, 97, 112, 95, 109, 117, 116, 101, 120, 0, 109, 109, 97, 112, - 95, 99, 111, 117, 110, 116, 0, 111, 118, 101, 114, 119, 114, 105, 116, 101, 0, 112, 97, 117, - 115, 101, 100, 0, 108, 111, 115, 116, 0, 101, 118, 101, 110, 116, 95, 108, 111, 99, 107, 0, - 109, 109, 97, 112, 95, 108, 111, 99, 107, 101, 100, 0, 109, 109, 97, 112, 95, 117, 115, 101, - 114, 0, 97, 117, 120, 95, 104, 101, 97, 100, 0, 97, 117, 120, 95, 110, 101, 115, 116, 0, 97, - 117, 120, 95, 119, 97, 107, 101, 117, 112, 0, 97, 117, 120, 95, 112, 103, 111, 102, 102, 0, 97, - 117, 120, 95, 110, 114, 95, 112, 97, 103, 101, 115, 0, 97, 117, 120, 95, 111, 118, 101, 114, - 119, 114, 105, 116, 101, 0, 97, 117, 120, 95, 109, 109, 97, 112, 95, 99, 111, 117, 110, 116, 0, - 97, 117, 120, 95, 109, 109, 97, 112, 95, 108, 111, 99, 107, 101, 100, 0, 102, 114, 101, 101, - 95, 97, 117, 120, 0, 97, 117, 120, 95, 114, 101, 102, 99, 111, 117, 110, 116, 0, 97, 117, 120, - 95, 105, 110, 95, 115, 97, 109, 112, 108, 105, 110, 103, 0, 97, 117, 120, 95, 112, 97, 103, - 101, 115, 0, 97, 117, 120, 95, 112, 114, 105, 118, 0, 117, 115, 101, 114, 95, 112, 97, 103, - 101, 0, 99, 111, 109, 112, 97, 116, 95, 118, 101, 114, 115, 105, 111, 110, 0, 116, 105, 109, - 101, 95, 101, 110, 97, 98, 108, 101, 100, 0, 116, 105, 109, 101, 95, 114, 117, 110, 110, 105, - 110, 103, 0, 99, 97, 112, 95, 98, 105, 116, 48, 0, 99, 97, 112, 95, 98, 105, 116, 48, 95, 105, - 115, 95, 100, 101, 112, 114, 101, 99, 97, 116, 101, 100, 0, 99, 97, 112, 95, 117, 115, 101, - 114, 95, 114, 100, 112, 109, 99, 0, 99, 97, 112, 95, 117, 115, 101, 114, 95, 116, 105, 109, - 101, 0, 99, 97, 112, 95, 117, 115, 101, 114, 95, 116, 105, 109, 101, 95, 122, 101, 114, 111, 0, - 99, 97, 112, 95, 117, 115, 101, 114, 95, 116, 105, 109, 101, 95, 115, 104, 111, 114, 116, 0, - 99, 97, 112, 95, 95, 95, 95, 95, 114, 101, 115, 0, 112, 109, 99, 95, 119, 105, 100, 116, 104, - 0, 116, 105, 109, 101, 95, 115, 104, 105, 102, 116, 0, 116, 105, 109, 101, 95, 109, 117, 108, - 116, 0, 116, 105, 109, 101, 95, 111, 102, 102, 115, 101, 116, 0, 116, 105, 109, 101, 95, 122, - 101, 114, 111, 0, 116, 105, 109, 101, 95, 99, 121, 99, 108, 101, 115, 0, 116, 105, 109, 101, - 95, 109, 97, 115, 107, 0, 100, 97, 116, 97, 95, 104, 101, 97, 100, 0, 100, 97, 116, 97, 95, - 116, 97, 105, 108, 0, 100, 97, 116, 97, 95, 111, 102, 102, 115, 101, 116, 0, 97, 117, 120, 95, - 116, 97, 105, 108, 0, 97, 117, 120, 95, 111, 102, 102, 115, 101, 116, 0, 97, 117, 120, 95, 115, - 105, 122, 101, 0, 112, 101, 114, 102, 95, 101, 118, 101, 110, 116, 95, 109, 109, 97, 112, 95, - 112, 97, 103, 101, 0, 100, 97, 116, 97, 95, 112, 97, 103, 101, 115, 0, 112, 101, 114, 102, 95, - 98, 117, 102, 102, 101, 114, 0, 114, 98, 95, 101, 110, 116, 114, 121, 0, 114, 99, 117, 95, 98, - 97, 116, 99, 104, 101, 115, 0, 114, 99, 117, 95, 112, 101, 110, 100, 105, 110, 103, 0, 112, - 101, 110, 100, 105, 110, 103, 95, 119, 97, 107, 101, 117, 112, 0, 112, 101, 110, 100, 105, 110, - 103, 95, 107, 105, 108, 108, 0, 112, 101, 110, 100, 105, 110, 103, 95, 100, 105, 115, 97, 98, - 108, 101, 0, 112, 101, 110, 100, 105, 110, 103, 95, 97, 100, 100, 114, 0, 101, 118, 101, 110, - 116, 95, 108, 105, 109, 105, 116, 0, 110, 114, 95, 102, 105, 108, 101, 95, 102, 105, 108, 116, - 101, 114, 115, 0, 112, 101, 114, 102, 95, 97, 100, 100, 114, 95, 102, 105, 108, 116, 101, 114, - 115, 95, 104, 101, 97, 100, 0, 97, 100, 100, 114, 95, 102, 105, 108, 116, 101, 114, 95, 114, - 97, 110, 103, 101, 115, 0, 112, 101, 114, 102, 95, 97, 100, 100, 114, 95, 102, 105, 108, 116, - 101, 114, 95, 114, 97, 110, 103, 101, 0, 97, 117, 120, 95, 101, 118, 101, 110, 116, 0, 111, - 118, 101, 114, 102, 108, 111, 119, 95, 104, 97, 110, 100, 108, 101, 114, 0, 102, 114, 97, 103, - 0, 112, 97, 100, 0, 99, 111, 112, 121, 0, 112, 101, 114, 102, 95, 99, 111, 112, 121, 95, 102, - 0, 112, 101, 114, 102, 95, 114, 97, 119, 95, 102, 114, 97, 103, 0, 112, 101, 114, 102, 95, 114, - 97, 119, 95, 114, 101, 99, 111, 114, 100, 0, 98, 114, 95, 115, 116, 97, 99, 107, 0, 104, 119, - 95, 105, 100, 120, 0, 116, 111, 0, 109, 105, 115, 112, 114, 101, 100, 0, 112, 114, 101, 100, - 105, 99, 116, 101, 100, 0, 105, 110, 95, 116, 120, 0, 97, 98, 111, 114, 116, 0, 99, 121, 99, - 108, 101, 115, 0, 112, 101, 114, 102, 95, 98, 114, 97, 110, 99, 104, 95, 101, 110, 116, 114, - 121, 0, 112, 101, 114, 102, 95, 98, 114, 97, 110, 99, 104, 95, 115, 116, 97, 99, 107, 0, 118, - 97, 114, 49, 95, 100, 119, 0, 118, 97, 114, 50, 95, 119, 0, 118, 97, 114, 51, 95, 119, 0, 112, - 101, 114, 102, 95, 115, 97, 109, 112, 108, 101, 95, 119, 101, 105, 103, 104, 116, 0, 116, 120, - 110, 0, 100, 97, 116, 97, 95, 115, 114, 99, 0, 109, 101, 109, 95, 111, 112, 0, 109, 101, 109, - 95, 108, 118, 108, 0, 109, 101, 109, 95, 115, 110, 111, 111, 112, 0, 109, 101, 109, 95, 108, - 111, 99, 107, 0, 109, 101, 109, 95, 100, 116, 108, 98, 0, 109, 101, 109, 95, 108, 118, 108, 95, - 110, 117, 109, 0, 109, 101, 109, 95, 114, 101, 109, 111, 116, 101, 0, 109, 101, 109, 95, 115, - 110, 111, 111, 112, 120, 0, 109, 101, 109, 95, 98, 108, 107, 0, 109, 101, 109, 95, 114, 115, - 118, 100, 0, 112, 101, 114, 102, 95, 109, 101, 109, 95, 100, 97, 116, 97, 95, 115, 114, 99, 0, - 116, 105, 100, 95, 101, 110, 116, 114, 121, 0, 115, 116, 114, 101, 97, 109, 95, 105, 100, 0, - 99, 112, 117, 95, 101, 110, 116, 114, 121, 0, 99, 97, 108, 108, 99, 104, 97, 105, 110, 0, 112, - 101, 114, 102, 95, 99, 97, 108, 108, 99, 104, 97, 105, 110, 95, 101, 110, 116, 114, 121, 0, - 114, 101, 103, 115, 95, 117, 115, 101, 114, 0, 97, 98, 105, 0, 114, 49, 53, 0, 114, 49, 52, 0, - 114, 49, 51, 0, 114, 49, 50, 0, 98, 112, 0, 98, 120, 0, 114, 49, 49, 0, 114, 49, 48, 0, 114, - 57, 0, 114, 56, 0, 97, 120, 0, 99, 120, 0, 100, 120, 0, 115, 105, 0, 100, 105, 0, 111, 114, - 105, 103, 95, 97, 120, 0, 99, 115, 0, 115, 112, 0, 112, 116, 95, 114, 101, 103, 115, 0, 112, - 101, 114, 102, 95, 114, 101, 103, 115, 0, 114, 101, 103, 115, 95, 105, 110, 116, 114, 0, 115, - 116, 97, 99, 107, 95, 117, 115, 101, 114, 95, 115, 105, 122, 101, 0, 112, 104, 121, 115, 95, - 97, 100, 100, 114, 0, 100, 97, 116, 97, 95, 112, 97, 103, 101, 95, 115, 105, 122, 101, 0, 99, - 111, 100, 101, 95, 112, 97, 103, 101, 95, 115, 105, 122, 101, 0, 112, 101, 114, 102, 95, 115, - 97, 109, 112, 108, 101, 95, 100, 97, 116, 97, 0, 112, 101, 114, 102, 95, 111, 118, 101, 114, - 102, 108, 111, 119, 95, 104, 97, 110, 100, 108, 101, 114, 95, 116, 0, 111, 118, 101, 114, 102, - 108, 111, 119, 95, 104, 97, 110, 100, 108, 101, 114, 95, 99, 111, 110, 116, 101, 120, 116, 0, - 111, 114, 105, 103, 95, 111, 118, 101, 114, 102, 108, 111, 119, 95, 104, 97, 110, 100, 108, - 101, 114, 0, 116, 112, 95, 101, 118, 101, 110, 116, 0, 115, 121, 115, 116, 101, 109, 0, 112, - 101, 114, 102, 95, 112, 114, 111, 98, 101, 0, 84, 82, 65, 67, 69, 95, 82, 69, 71, 95, 82, 69, - 71, 73, 83, 84, 69, 82, 0, 84, 82, 65, 67, 69, 95, 82, 69, 71, 95, 85, 78, 82, 69, 71, 73, 83, - 84, 69, 82, 0, 84, 82, 65, 67, 69, 95, 82, 69, 71, 95, 80, 69, 82, 70, 95, 82, 69, 71, 73, 83, - 84, 69, 82, 0, 84, 82, 65, 67, 69, 95, 82, 69, 71, 95, 80, 69, 82, 70, 95, 85, 78, 82, 69, 71, - 73, 83, 84, 69, 82, 0, 84, 82, 65, 67, 69, 95, 82, 69, 71, 95, 80, 69, 82, 70, 95, 79, 80, 69, - 78, 0, 84, 82, 65, 67, 69, 95, 82, 69, 71, 95, 80, 69, 82, 70, 95, 67, 76, 79, 83, 69, 0, 84, - 82, 65, 67, 69, 95, 82, 69, 71, 95, 80, 69, 82, 70, 95, 65, 68, 68, 0, 84, 82, 65, 67, 69, 95, - 82, 69, 71, 95, 80, 69, 82, 70, 95, 68, 69, 76, 0, 116, 114, 97, 99, 101, 95, 114, 101, 103, 0, - 102, 105, 101, 108, 100, 115, 95, 97, 114, 114, 97, 121, 0, 105, 115, 95, 115, 105, 103, 110, - 101, 100, 0, 102, 105, 108, 116, 101, 114, 95, 116, 121, 112, 101, 0, 100, 101, 102, 105, 110, - 101, 95, 102, 105, 101, 108, 100, 115, 0, 116, 114, 97, 99, 101, 95, 101, 118, 101, 110, 116, - 95, 102, 105, 101, 108, 100, 115, 0, 103, 101, 116, 95, 102, 105, 101, 108, 100, 115, 0, 102, - 105, 101, 108, 100, 115, 0, 114, 97, 119, 95, 105, 110, 105, 116, 0, 116, 114, 97, 99, 101, 95, - 101, 118, 101, 110, 116, 95, 99, 108, 97, 115, 115, 0, 116, 112, 0, 106, 117, 109, 112, 95, - 101, 110, 116, 114, 121, 0, 115, 116, 97, 116, 105, 99, 95, 107, 101, 121, 95, 109, 111, 100, - 0, 115, 116, 97, 116, 105, 99, 95, 107, 101, 121, 0, 115, 116, 97, 116, 105, 99, 95, 99, 97, - 108, 108, 95, 107, 101, 121, 0, 109, 111, 100, 115, 0, 115, 105, 116, 101, 115, 0, 115, 116, - 97, 116, 105, 99, 95, 99, 97, 108, 108, 95, 115, 105, 116, 101, 0, 115, 116, 97, 116, 105, 99, - 95, 99, 97, 108, 108, 95, 109, 111, 100, 0, 115, 116, 97, 116, 105, 99, 95, 99, 97, 108, 108, - 95, 116, 114, 97, 109, 112, 0, 105, 116, 101, 114, 97, 116, 111, 114, 0, 114, 101, 103, 102, - 117, 110, 99, 0, 117, 110, 114, 101, 103, 102, 117, 110, 99, 0, 102, 117, 110, 99, 115, 0, 116, - 114, 97, 99, 101, 112, 111, 105, 110, 116, 95, 102, 117, 110, 99, 0, 116, 114, 97, 99, 101, - 112, 111, 105, 110, 116, 0, 116, 114, 97, 99, 101, 0, 84, 82, 65, 67, 69, 95, 84, 89, 80, 69, - 95, 80, 65, 82, 84, 73, 65, 76, 95, 76, 73, 78, 69, 0, 84, 82, 65, 67, 69, 95, 84, 89, 80, 69, - 95, 72, 65, 78, 68, 76, 69, 68, 0, 84, 82, 65, 67, 69, 95, 84, 89, 80, 69, 95, 85, 78, 72, 65, - 78, 68, 76, 69, 68, 0, 84, 82, 65, 67, 69, 95, 84, 89, 80, 69, 95, 78, 79, 95, 67, 79, 78, 83, - 85, 77, 69, 0, 112, 114, 105, 110, 116, 95, 108, 105, 110, 101, 95, 116, 0, 116, 114, 0, 97, - 114, 114, 97, 121, 95, 98, 117, 102, 102, 101, 114, 0, 116, 114, 97, 99, 101, 95, 98, 117, 102, - 102, 101, 114, 0, 98, 117, 102, 102, 101, 114, 95, 112, 97, 103, 101, 0, 115, 97, 118, 101, - 100, 95, 108, 97, 116, 101, 110, 99, 121, 0, 99, 114, 105, 116, 105, 99, 97, 108, 95, 115, 116, - 97, 114, 116, 0, 99, 114, 105, 116, 105, 99, 97, 108, 95, 101, 110, 100, 0, 99, 114, 105, 116, - 105, 99, 97, 108, 95, 115, 101, 113, 117, 101, 110, 99, 101, 0, 115, 107, 105, 112, 112, 101, - 100, 95, 101, 110, 116, 114, 105, 101, 115, 0, 112, 114, 101, 101, 109, 112, 116, 95, 116, 105, - 109, 101, 115, 116, 97, 109, 112, 0, 102, 116, 114, 97, 99, 101, 95, 105, 103, 110, 111, 114, - 101, 95, 112, 105, 100, 0, 105, 103, 110, 111, 114, 101, 95, 112, 105, 100, 0, 116, 114, 97, - 99, 101, 95, 97, 114, 114, 97, 121, 95, 99, 112, 117, 0, 116, 105, 109, 101, 95, 115, 116, 97, - 114, 116, 0, 109, 97, 120, 95, 98, 117, 102, 102, 101, 114, 0, 97, 108, 108, 111, 99, 97, 116, - 101, 100, 95, 115, 110, 97, 112, 115, 104, 111, 116, 0, 109, 97, 120, 95, 108, 97, 116, 101, - 110, 99, 121, 0, 100, 95, 109, 97, 120, 95, 108, 97, 116, 101, 110, 99, 121, 0, 102, 115, 110, - 111, 116, 105, 102, 121, 95, 119, 111, 114, 107, 0, 102, 115, 110, 111, 116, 105, 102, 121, 95, - 105, 114, 113, 119, 111, 114, 107, 0, 102, 105, 108, 116, 101, 114, 101, 100, 95, 112, 105, - 100, 115, 0, 112, 105, 100, 95, 109, 97, 120, 0, 116, 114, 97, 99, 101, 95, 112, 105, 100, 95, - 108, 105, 115, 116, 0, 102, 105, 108, 116, 101, 114, 101, 100, 95, 110, 111, 95, 112, 105, 100, - 115, 0, 109, 97, 120, 95, 108, 111, 99, 107, 0, 98, 117, 102, 102, 101, 114, 95, 100, 105, 115, - 97, 98, 108, 101, 100, 0, 115, 121, 115, 95, 114, 101, 102, 99, 111, 117, 110, 116, 95, 101, - 110, 116, 101, 114, 0, 115, 121, 115, 95, 114, 101, 102, 99, 111, 117, 110, 116, 95, 101, 120, - 105, 116, 0, 101, 110, 116, 101, 114, 95, 115, 121, 115, 99, 97, 108, 108, 95, 102, 105, 108, - 101, 115, 0, 101, 118, 101, 110, 116, 95, 99, 97, 108, 108, 0, 119, 104, 101, 110, 95, 116, - 111, 95, 98, 114, 97, 110, 99, 104, 0, 112, 114, 101, 100, 0, 102, 105, 108, 116, 101, 114, 95, - 112, 114, 101, 100, 95, 102, 110, 95, 116, 0, 114, 101, 103, 101, 120, 0, 112, 97, 116, 116, - 101, 114, 110, 0, 102, 105, 101, 108, 100, 95, 108, 101, 110, 0, 114, 101, 103, 101, 120, 95, - 109, 97, 116, 99, 104, 95, 102, 117, 110, 99, 0, 102, 105, 101, 108, 100, 0, 102, 116, 114, 97, - 99, 101, 95, 101, 118, 101, 110, 116, 95, 102, 105, 101, 108, 100, 0, 110, 111, 116, 0, 102, - 105, 108, 116, 101, 114, 95, 112, 114, 101, 100, 0, 112, 114, 111, 103, 95, 101, 110, 116, 114, - 121, 0, 102, 105, 108, 116, 101, 114, 95, 115, 116, 114, 105, 110, 103, 0, 101, 118, 101, 110, - 116, 95, 102, 105, 108, 116, 101, 114, 0, 115, 117, 98, 115, 121, 115, 116, 101, 109, 0, 114, - 101, 102, 95, 99, 111, 117, 110, 116, 0, 101, 118, 101, 110, 116, 95, 115, 117, 98, 115, 121, - 115, 116, 101, 109, 0, 116, 114, 97, 99, 101, 95, 115, 117, 98, 115, 121, 115, 116, 101, 109, - 95, 100, 105, 114, 0, 115, 109, 95, 114, 101, 102, 0, 116, 109, 95, 114, 101, 102, 0, 116, 114, - 97, 99, 101, 95, 101, 118, 101, 110, 116, 95, 102, 105, 108, 101, 0, 101, 120, 105, 116, 95, - 115, 121, 115, 99, 97, 108, 108, 95, 102, 105, 108, 101, 115, 0, 115, 116, 111, 112, 95, 99, - 111, 117, 110, 116, 0, 99, 108, 111, 99, 107, 95, 105, 100, 0, 110, 114, 95, 116, 111, 112, - 116, 115, 0, 99, 108, 101, 97, 114, 95, 116, 114, 97, 99, 101, 0, 98, 117, 102, 102, 101, 114, - 95, 112, 101, 114, 99, 101, 110, 116, 0, 110, 95, 101, 114, 114, 95, 108, 111, 103, 95, 101, - 110, 116, 114, 105, 101, 115, 0, 99, 117, 114, 114, 101, 110, 116, 95, 116, 114, 97, 99, 101, - 0, 117, 112, 100, 97, 116, 101, 95, 116, 104, 114, 101, 115, 104, 0, 112, 105, 112, 101, 95, - 111, 112, 101, 110, 0, 112, 105, 112, 101, 95, 99, 108, 111, 115, 101, 0, 112, 114, 105, 110, - 116, 95, 104, 101, 97, 100, 101, 114, 0, 112, 114, 105, 110, 116, 95, 108, 105, 110, 101, 0, - 115, 101, 116, 95, 102, 108, 97, 103, 0, 102, 108, 97, 103, 95, 99, 104, 97, 110, 103, 101, - 100, 0, 111, 112, 116, 115, 0, 98, 105, 116, 0, 116, 114, 97, 99, 101, 114, 95, 111, 112, 116, - 0, 116, 114, 97, 99, 101, 114, 95, 102, 108, 97, 103, 115, 0, 112, 114, 105, 110, 116, 95, 109, - 97, 120, 0, 97, 108, 108, 111, 119, 95, 105, 110, 115, 116, 97, 110, 99, 101, 115, 0, 117, 115, - 101, 95, 109, 97, 120, 95, 116, 114, 0, 110, 111, 98, 111, 111, 116, 0, 116, 114, 97, 99, 101, - 114, 0, 116, 114, 97, 99, 101, 95, 102, 108, 97, 103, 115, 0, 116, 114, 97, 99, 101, 95, 102, - 108, 97, 103, 115, 95, 105, 110, 100, 101, 120, 0, 115, 116, 97, 114, 116, 95, 108, 111, 99, - 107, 0, 101, 114, 114, 95, 108, 111, 103, 0, 112, 101, 114, 99, 112, 117, 95, 100, 105, 114, 0, - 101, 118, 101, 110, 116, 95, 100, 105, 114, 0, 116, 111, 112, 116, 115, 0, 111, 112, 116, 0, - 116, 114, 97, 99, 101, 95, 111, 112, 116, 105, 111, 110, 95, 100, 101, 110, 116, 114, 121, 0, - 116, 114, 97, 99, 101, 95, 111, 112, 116, 105, 111, 110, 115, 0, 115, 121, 115, 116, 101, 109, - 115, 0, 116, 114, 97, 99, 101, 95, 109, 97, 114, 107, 101, 114, 95, 102, 105, 108, 101, 0, 116, - 114, 97, 99, 105, 110, 103, 95, 99, 112, 117, 109, 97, 115, 107, 0, 116, 114, 97, 99, 101, 95, - 114, 101, 102, 0, 102, 116, 114, 97, 99, 101, 95, 114, 101, 103, 115, 0, 102, 116, 114, 97, 99, - 101, 95, 102, 117, 110, 99, 95, 116, 0, 115, 97, 118, 101, 100, 95, 102, 117, 110, 99, 0, 108, - 111, 99, 97, 108, 95, 104, 97, 115, 104, 0, 110, 111, 116, 114, 97, 99, 101, 95, 104, 97, 115, - 104, 0, 115, 105, 122, 101, 95, 98, 105, 116, 115, 0, 102, 116, 114, 97, 99, 101, 95, 104, 97, - 115, 104, 0, 102, 105, 108, 116, 101, 114, 95, 104, 97, 115, 104, 0, 114, 101, 103, 101, 120, - 95, 108, 111, 99, 107, 0, 102, 116, 114, 97, 99, 101, 95, 111, 112, 115, 95, 104, 97, 115, 104, - 0, 102, 117, 110, 99, 95, 104, 97, 115, 104, 0, 111, 108, 100, 95, 104, 97, 115, 104, 0, 116, - 114, 97, 109, 112, 111, 108, 105, 110, 101, 0, 116, 114, 97, 109, 112, 111, 108, 105, 110, 101, - 95, 115, 105, 122, 101, 0, 102, 116, 114, 97, 99, 101, 95, 111, 112, 115, 0, 102, 117, 110, 99, - 116, 105, 111, 110, 95, 112, 105, 100, 115, 0, 102, 117, 110, 99, 116, 105, 111, 110, 95, 110, - 111, 95, 112, 105, 100, 115, 0, 102, 117, 110, 99, 95, 112, 114, 111, 98, 101, 115, 0, 109, - 111, 100, 95, 116, 114, 97, 99, 101, 0, 109, 111, 100, 95, 110, 111, 116, 114, 97, 99, 101, 0, - 102, 117, 110, 99, 116, 105, 111, 110, 95, 101, 110, 97, 98, 108, 101, 100, 0, 110, 111, 95, - 102, 105, 108, 116, 101, 114, 95, 98, 117, 102, 102, 101, 114, 105, 110, 103, 95, 114, 101, - 102, 0, 104, 105, 115, 116, 95, 118, 97, 114, 115, 0, 99, 111, 110, 100, 95, 115, 110, 97, 112, - 115, 104, 111, 116, 0, 99, 111, 110, 100, 95, 100, 97, 116, 97, 0, 99, 111, 110, 100, 95, 117, - 112, 100, 97, 116, 101, 95, 102, 110, 95, 116, 0, 108, 97, 115, 116, 95, 102, 117, 110, 99, 95, - 114, 101, 112, 101, 97, 116, 115, 0, 112, 97, 114, 101, 110, 116, 95, 105, 112, 0, 116, 115, - 95, 108, 97, 115, 116, 95, 99, 97, 108, 108, 0, 116, 114, 97, 99, 101, 95, 102, 117, 110, 99, - 95, 114, 101, 112, 101, 97, 116, 115, 0, 116, 114, 97, 99, 101, 95, 97, 114, 114, 97, 121, 0, - 99, 112, 117, 95, 102, 105, 108, 101, 0, 98, 117, 102, 102, 101, 114, 95, 105, 116, 101, 114, - 0, 99, 112, 117, 95, 98, 117, 102, 102, 101, 114, 0, 114, 101, 99, 111, 114, 100, 95, 100, 105, - 115, 97, 98, 108, 101, 100, 0, 114, 101, 115, 105, 122, 101, 95, 100, 105, 115, 97, 98, 108, - 101, 100, 0, 114, 101, 97, 100, 101, 114, 95, 108, 111, 99, 107, 95, 107, 101, 121, 0, 98, 117, - 102, 102, 101, 114, 115, 0, 102, 117, 108, 108, 95, 119, 97, 105, 116, 101, 114, 115, 0, 119, - 97, 105, 116, 101, 114, 115, 95, 112, 101, 110, 100, 105, 110, 103, 0, 102, 117, 108, 108, 95, - 119, 97, 105, 116, 101, 114, 115, 95, 112, 101, 110, 100, 105, 110, 103, 0, 119, 97, 107, 101, - 117, 112, 95, 102, 117, 108, 108, 0, 114, 98, 95, 105, 114, 113, 95, 119, 111, 114, 107, 0, - 116, 105, 109, 101, 95, 115, 116, 97, 109, 112, 95, 97, 98, 115, 0, 116, 114, 97, 99, 101, 95, - 98, 117, 102, 102, 101, 114, 95, 95, 95, 50, 0, 114, 101, 97, 100, 101, 114, 95, 108, 111, 99, - 107, 0, 102, 114, 101, 101, 95, 112, 97, 103, 101, 0, 116, 105, 109, 101, 95, 115, 116, 97, - 109, 112, 0, 98, 117, 102, 102, 101, 114, 95, 100, 97, 116, 97, 95, 112, 97, 103, 101, 0, 99, - 117, 114, 114, 101, 110, 116, 95, 99, 111, 110, 116, 101, 120, 116, 0, 104, 101, 97, 100, 95, - 112, 97, 103, 101, 0, 114, 101, 97, 108, 95, 101, 110, 100, 0, 116, 97, 105, 108, 95, 112, 97, - 103, 101, 0, 99, 111, 109, 109, 105, 116, 95, 112, 97, 103, 101, 0, 114, 101, 97, 100, 101, - 114, 95, 112, 97, 103, 101, 0, 108, 111, 115, 116, 95, 101, 118, 101, 110, 116, 115, 0, 108, - 97, 115, 116, 95, 111, 118, 101, 114, 114, 117, 110, 0, 101, 110, 116, 114, 105, 101, 115, 95, - 98, 121, 116, 101, 115, 0, 99, 111, 109, 109, 105, 116, 95, 111, 118, 101, 114, 114, 117, 110, - 0, 100, 114, 111, 112, 112, 101, 100, 95, 101, 118, 101, 110, 116, 115, 0, 99, 111, 109, 109, - 105, 116, 116, 105, 110, 103, 0, 99, 111, 109, 109, 105, 116, 115, 0, 112, 97, 103, 101, 115, - 95, 116, 111, 117, 99, 104, 101, 100, 0, 112, 97, 103, 101, 115, 95, 114, 101, 97, 100, 0, 108, - 97, 115, 116, 95, 112, 97, 103, 101, 115, 95, 116, 111, 117, 99, 104, 0, 115, 104, 111, 114, - 116, 101, 115, 116, 95, 102, 117, 108, 108, 0, 119, 114, 105, 116, 101, 95, 115, 116, 97, 109, - 112, 0, 114, 98, 95, 116, 105, 109, 101, 95, 115, 116, 114, 117, 99, 116, 0, 114, 98, 95, 116, - 105, 109, 101, 95, 116, 0, 98, 101, 102, 111, 114, 101, 95, 115, 116, 97, 109, 112, 0, 101, - 118, 101, 110, 116, 95, 115, 116, 97, 109, 112, 0, 114, 101, 97, 100, 95, 115, 116, 97, 109, - 112, 0, 110, 114, 95, 112, 97, 103, 101, 115, 95, 116, 111, 95, 117, 112, 100, 97, 116, 101, 0, - 110, 101, 119, 95, 112, 97, 103, 101, 115, 0, 117, 112, 100, 97, 116, 101, 95, 112, 97, 103, - 101, 115, 95, 119, 111, 114, 107, 0, 117, 112, 100, 97, 116, 101, 95, 100, 111, 110, 101, 0, - 114, 105, 110, 103, 95, 98, 117, 102, 102, 101, 114, 95, 112, 101, 114, 95, 99, 112, 117, 0, - 110, 101, 120, 116, 95, 101, 118, 101, 110, 116, 0, 99, 97, 99, 104, 101, 95, 114, 101, 97, - 100, 101, 114, 95, 112, 97, 103, 101, 0, 99, 97, 99, 104, 101, 95, 114, 101, 97, 100, 0, 112, - 97, 103, 101, 95, 115, 116, 97, 109, 112, 0, 116, 105, 109, 101, 95, 100, 101, 108, 116, 97, 0, - 114, 105, 110, 103, 95, 98, 117, 102, 102, 101, 114, 95, 101, 118, 101, 110, 116, 0, 109, 105, - 115, 115, 101, 100, 95, 101, 118, 101, 110, 116, 115, 0, 114, 105, 110, 103, 95, 98, 117, 102, - 102, 101, 114, 95, 105, 116, 101, 114, 0, 105, 116, 101, 114, 95, 102, 108, 97, 103, 115, 0, - 116, 101, 109, 112, 0, 116, 101, 109, 112, 95, 115, 105, 122, 101, 0, 102, 109, 116, 0, 102, - 109, 116, 95, 115, 105, 122, 101, 0, 116, 109, 112, 95, 115, 101, 113, 0, 114, 101, 97, 100, - 112, 111, 115, 0, 115, 101, 113, 95, 98, 117, 102, 0, 116, 114, 97, 99, 101, 95, 115, 101, 113, - 0, 115, 116, 97, 114, 116, 101, 100, 0, 115, 110, 97, 112, 115, 104, 111, 116, 0, 101, 110, - 116, 0, 112, 114, 101, 101, 109, 112, 116, 95, 99, 111, 117, 110, 116, 0, 116, 114, 97, 99, - 101, 95, 101, 110, 116, 114, 121, 0, 108, 101, 102, 116, 111, 118, 101, 114, 0, 101, 110, 116, - 95, 115, 105, 122, 101, 0, 112, 111, 115, 0, 116, 114, 97, 99, 101, 95, 105, 116, 101, 114, 97, - 116, 111, 114, 0, 116, 114, 97, 99, 101, 95, 112, 114, 105, 110, 116, 95, 102, 117, 110, 99, 0, - 104, 101, 120, 0, 98, 105, 110, 97, 114, 121, 0, 116, 114, 97, 99, 101, 95, 101, 118, 101, 110, - 116, 95, 102, 117, 110, 99, 116, 105, 111, 110, 115, 0, 116, 114, 97, 99, 101, 95, 101, 118, - 101, 110, 116, 0, 112, 114, 105, 110, 116, 95, 102, 109, 116, 0, 112, 101, 114, 102, 95, 114, - 101, 102, 99, 111, 117, 110, 116, 0, 112, 101, 114, 102, 95, 101, 118, 101, 110, 116, 115, 0, - 112, 114, 111, 103, 95, 97, 114, 114, 97, 121, 0, 112, 101, 114, 102, 95, 112, 101, 114, 109, - 0, 116, 114, 97, 99, 101, 95, 101, 118, 101, 110, 116, 95, 99, 97, 108, 108, 0, 115, 98, 95, - 108, 105, 115, 116, 0, 104, 101, 97, 112, 95, 100, 101, 102, 97, 117, 108, 116, 0, 112, 101, - 114, 102, 95, 99, 112, 117, 95, 99, 111, 110, 116, 101, 120, 116, 0, 101, 120, 99, 108, 117, - 115, 105, 118, 101, 95, 99, 110, 116, 0, 116, 97, 115, 107, 95, 99, 116, 120, 95, 110, 114, 0, - 104, 114, 116, 105, 109, 101, 114, 95, 105, 110, 116, 101, 114, 118, 97, 108, 95, 109, 115, 0, - 110, 114, 95, 97, 100, 100, 114, 95, 102, 105, 108, 116, 101, 114, 115, 0, 112, 109, 117, 95, - 101, 110, 97, 98, 108, 101, 0, 112, 109, 117, 95, 100, 105, 115, 97, 98, 108, 101, 0, 101, 118, - 101, 110, 116, 95, 105, 110, 105, 116, 0, 101, 118, 101, 110, 116, 95, 109, 97, 112, 112, 101, - 100, 0, 101, 118, 101, 110, 116, 95, 117, 110, 109, 97, 112, 112, 101, 100, 0, 97, 100, 100, 0, - 100, 101, 108, 0, 115, 116, 97, 114, 116, 95, 116, 120, 110, 0, 99, 111, 109, 109, 105, 116, - 95, 116, 120, 110, 0, 99, 97, 110, 99, 101, 108, 95, 116, 120, 110, 0, 101, 118, 101, 110, 116, - 95, 105, 100, 120, 0, 115, 99, 104, 101, 100, 95, 116, 97, 115, 107, 0, 116, 97, 115, 107, 95, - 99, 116, 120, 95, 99, 97, 99, 104, 101, 0, 115, 119, 97, 112, 95, 116, 97, 115, 107, 95, 99, - 116, 120, 0, 115, 101, 116, 117, 112, 95, 97, 117, 120, 0, 115, 110, 97, 112, 115, 104, 111, - 116, 95, 97, 117, 120, 0, 97, 117, 120, 95, 102, 108, 97, 103, 115, 0, 112, 101, 114, 102, 95, - 111, 117, 116, 112, 117, 116, 95, 104, 97, 110, 100, 108, 101, 0, 97, 100, 100, 114, 95, 102, - 105, 108, 116, 101, 114, 115, 95, 118, 97, 108, 105, 100, 97, 116, 101, 0, 97, 100, 100, 114, - 95, 102, 105, 108, 116, 101, 114, 115, 95, 115, 121, 110, 99, 0, 97, 117, 120, 95, 111, 117, - 116, 112, 117, 116, 95, 109, 97, 116, 99, 104, 0, 102, 105, 108, 116, 101, 114, 95, 109, 97, - 116, 99, 104, 0, 99, 104, 101, 99, 107, 95, 112, 101, 114, 105, 111, 100, 0, 97, 99, 116, 105, - 118, 101, 95, 99, 116, 120, 95, 108, 105, 115, 116, 0, 112, 105, 110, 110, 101, 100, 95, 103, - 114, 111, 117, 112, 115, 0, 116, 114, 101, 101, 0, 112, 101, 114, 102, 95, 101, 118, 101, 110, - 116, 95, 103, 114, 111, 117, 112, 115, 0, 102, 108, 101, 120, 105, 98, 108, 101, 95, 103, 114, - 111, 117, 112, 115, 0, 112, 105, 110, 110, 101, 100, 95, 97, 99, 116, 105, 118, 101, 0, 102, - 108, 101, 120, 105, 98, 108, 101, 95, 97, 99, 116, 105, 118, 101, 0, 105, 115, 95, 97, 99, 116, - 105, 118, 101, 0, 110, 114, 95, 115, 116, 97, 116, 0, 110, 114, 95, 102, 114, 101, 113, 0, 114, - 111, 116, 97, 116, 101, 95, 100, 105, 115, 97, 98, 108, 101, 0, 114, 111, 116, 97, 116, 101, - 95, 110, 101, 99, 101, 115, 115, 97, 114, 121, 0, 112, 97, 114, 101, 110, 116, 95, 99, 116, - 120, 0, 112, 97, 114, 101, 110, 116, 95, 103, 101, 110, 0, 112, 105, 110, 95, 99, 111, 117, - 110, 116, 0, 110, 114, 95, 99, 103, 114, 111, 117, 112, 115, 0, 116, 97, 115, 107, 95, 99, 116, - 120, 95, 100, 97, 116, 97, 0, 112, 101, 114, 102, 95, 101, 118, 101, 110, 116, 95, 99, 111, - 110, 116, 101, 120, 116, 0, 112, 101, 114, 102, 95, 101, 118, 101, 110, 116, 95, 109, 117, 116, - 101, 120, 0, 112, 101, 114, 102, 95, 101, 118, 101, 110, 116, 95, 108, 105, 115, 116, 0, 105, - 108, 95, 112, 114, 101, 118, 0, 112, 114, 101, 102, 95, 110, 111, 100, 101, 95, 102, 111, 114, - 107, 0, 110, 117, 109, 97, 95, 115, 99, 97, 110, 95, 115, 101, 113, 0, 110, 117, 109, 97, 95, - 115, 99, 97, 110, 95, 112, 101, 114, 105, 111, 100, 0, 110, 117, 109, 97, 95, 115, 99, 97, 110, - 95, 112, 101, 114, 105, 111, 100, 95, 109, 97, 120, 0, 110, 117, 109, 97, 95, 112, 114, 101, - 102, 101, 114, 114, 101, 100, 95, 110, 105, 100, 0, 110, 117, 109, 97, 95, 109, 105, 103, 114, - 97, 116, 101, 95, 114, 101, 116, 114, 121, 0, 110, 111, 100, 101, 95, 115, 116, 97, 109, 112, - 0, 108, 97, 115, 116, 95, 116, 97, 115, 107, 95, 110, 117, 109, 97, 95, 112, 108, 97, 99, 101, - 109, 101, 110, 116, 0, 108, 97, 115, 116, 95, 115, 117, 109, 95, 101, 120, 101, 99, 95, 114, - 117, 110, 116, 105, 109, 101, 0, 110, 117, 109, 97, 95, 119, 111, 114, 107, 0, 110, 117, 109, - 97, 95, 103, 114, 111, 117, 112, 0, 97, 99, 116, 105, 118, 101, 95, 110, 111, 100, 101, 115, 0, - 116, 111, 116, 97, 108, 95, 102, 97, 117, 108, 116, 115, 0, 109, 97, 120, 95, 102, 97, 117, - 108, 116, 115, 95, 99, 112, 117, 0, 102, 97, 117, 108, 116, 115, 95, 99, 112, 117, 0, 110, 117, - 109, 97, 95, 102, 97, 117, 108, 116, 115, 0, 116, 111, 116, 97, 108, 95, 110, 117, 109, 97, 95, - 102, 97, 117, 108, 116, 115, 0, 110, 117, 109, 97, 95, 102, 97, 117, 108, 116, 115, 95, 108, - 111, 99, 97, 108, 105, 116, 121, 0, 110, 117, 109, 97, 95, 112, 97, 103, 101, 115, 95, 109, - 105, 103, 114, 97, 116, 101, 100, 0, 114, 115, 101, 113, 0, 99, 112, 117, 95, 105, 100, 95, - 115, 116, 97, 114, 116, 0, 99, 112, 117, 95, 105, 100, 0, 114, 115, 101, 113, 95, 99, 115, 0, - 112, 116, 114, 54, 52, 0, 114, 115, 101, 113, 95, 115, 105, 103, 0, 114, 115, 101, 113, 95, - 101, 118, 101, 110, 116, 95, 109, 97, 115, 107, 0, 116, 108, 98, 95, 117, 98, 99, 0, 97, 114, - 99, 104, 95, 116, 108, 98, 102, 108, 117, 115, 104, 95, 117, 110, 109, 97, 112, 95, 98, 97, - 116, 99, 104, 0, 102, 108, 117, 115, 104, 95, 114, 101, 113, 117, 105, 114, 101, 100, 0, 119, - 114, 105, 116, 97, 98, 108, 101, 0, 116, 108, 98, 102, 108, 117, 115, 104, 95, 117, 110, 109, - 97, 112, 95, 98, 97, 116, 99, 104, 0, 114, 99, 117, 95, 117, 115, 101, 114, 115, 0, 115, 112, - 108, 105, 99, 101, 95, 112, 105, 112, 101, 0, 116, 97, 115, 107, 95, 102, 114, 97, 103, 0, 100, - 101, 108, 97, 121, 115, 0, 98, 108, 107, 105, 111, 95, 115, 116, 97, 114, 116, 0, 98, 108, 107, - 105, 111, 95, 100, 101, 108, 97, 121, 0, 115, 119, 97, 112, 105, 110, 95, 100, 101, 108, 97, - 121, 0, 102, 114, 101, 101, 112, 97, 103, 101, 115, 95, 115, 116, 97, 114, 116, 0, 102, 114, - 101, 101, 112, 97, 103, 101, 115, 95, 100, 101, 108, 97, 121, 0, 116, 104, 114, 97, 115, 104, - 105, 110, 103, 95, 115, 116, 97, 114, 116, 0, 116, 104, 114, 97, 115, 104, 105, 110, 103, 95, - 100, 101, 108, 97, 121, 0, 116, 97, 115, 107, 95, 100, 101, 108, 97, 121, 95, 105, 110, 102, - 111, 0, 110, 114, 95, 100, 105, 114, 116, 105, 101, 100, 0, 110, 114, 95, 100, 105, 114, 116, - 105, 101, 100, 95, 112, 97, 117, 115, 101, 0, 100, 105, 114, 116, 121, 95, 112, 97, 117, 115, - 101, 100, 95, 119, 104, 101, 110, 0, 108, 97, 116, 101, 110, 99, 121, 95, 114, 101, 99, 111, - 114, 100, 95, 99, 111, 117, 110, 116, 0, 108, 97, 116, 101, 110, 99, 121, 95, 114, 101, 99, - 111, 114, 100, 0, 98, 97, 99, 107, 116, 114, 97, 99, 101, 0, 116, 105, 109, 101, 114, 95, 115, - 108, 97, 99, 107, 95, 110, 115, 0, 100, 101, 102, 97, 117, 108, 116, 95, 116, 105, 109, 101, - 114, 95, 115, 108, 97, 99, 107, 95, 110, 115, 0, 99, 117, 114, 114, 95, 114, 101, 116, 95, 115, - 116, 97, 99, 107, 0, 99, 117, 114, 114, 95, 114, 101, 116, 95, 100, 101, 112, 116, 104, 0, 114, - 101, 116, 95, 115, 116, 97, 99, 107, 0, 99, 97, 108, 108, 116, 105, 109, 101, 0, 115, 117, 98, - 116, 105, 109, 101, 0, 114, 101, 116, 112, 0, 102, 116, 114, 97, 99, 101, 95, 114, 101, 116, - 95, 115, 116, 97, 99, 107, 0, 102, 116, 114, 97, 99, 101, 95, 116, 105, 109, 101, 115, 116, 97, - 109, 112, 0, 116, 114, 97, 99, 101, 95, 111, 118, 101, 114, 114, 117, 110, 0, 116, 114, 97, 99, - 105, 110, 103, 95, 103, 114, 97, 112, 104, 95, 112, 97, 117, 115, 101, 0, 116, 114, 97, 99, - 101, 95, 114, 101, 99, 117, 114, 115, 105, 111, 110, 0, 109, 101, 109, 99, 103, 95, 105, 110, - 95, 111, 111, 109, 0, 109, 101, 109, 99, 103, 95, 111, 111, 109, 95, 103, 102, 112, 95, 109, - 97, 115, 107, 0, 109, 101, 109, 99, 103, 95, 111, 111, 109, 95, 111, 114, 100, 101, 114, 0, - 109, 101, 109, 99, 103, 95, 110, 114, 95, 112, 97, 103, 101, 115, 95, 111, 118, 101, 114, 95, - 104, 105, 103, 104, 0, 97, 99, 116, 105, 118, 101, 95, 109, 101, 109, 99, 103, 0, 116, 104, - 114, 111, 116, 116, 108, 101, 95, 113, 117, 101, 117, 101, 0, 117, 116, 97, 115, 107, 0, 85, - 84, 65, 83, 75, 95, 82, 85, 78, 78, 73, 78, 71, 0, 85, 84, 65, 83, 75, 95, 83, 83, 84, 69, 80, - 0, 85, 84, 65, 83, 75, 95, 83, 83, 84, 69, 80, 95, 65, 67, 75, 0, 85, 84, 65, 83, 75, 95, 83, - 83, 84, 69, 80, 95, 84, 82, 65, 80, 80, 69, 68, 0, 117, 112, 114, 111, 98, 101, 95, 116, 97, - 115, 107, 95, 115, 116, 97, 116, 101, 0, 97, 117, 116, 97, 115, 107, 0, 115, 97, 118, 101, 100, - 95, 115, 99, 114, 97, 116, 99, 104, 95, 114, 101, 103, 105, 115, 116, 101, 114, 0, 115, 97, - 118, 101, 100, 95, 116, 114, 97, 112, 95, 110, 114, 0, 115, 97, 118, 101, 100, 95, 116, 102, 0, - 97, 114, 99, 104, 95, 117, 112, 114, 111, 98, 101, 95, 116, 97, 115, 107, 0, 118, 97, 100, 100, - 114, 0, 100, 117, 112, 95, 120, 111, 108, 95, 119, 111, 114, 107, 0, 100, 117, 112, 95, 120, - 111, 108, 95, 97, 100, 100, 114, 0, 97, 99, 116, 105, 118, 101, 95, 117, 112, 114, 111, 98, - 101, 0, 114, 101, 103, 105, 115, 116, 101, 114, 95, 114, 119, 115, 101, 109, 0, 99, 111, 110, - 115, 117, 109, 101, 114, 95, 114, 119, 115, 101, 109, 0, 112, 101, 110, 100, 105, 110, 103, 95, - 108, 105, 115, 116, 0, 114, 101, 116, 95, 104, 97, 110, 100, 108, 101, 114, 0, 85, 80, 82, 79, - 66, 69, 95, 70, 73, 76, 84, 69, 82, 95, 82, 69, 71, 73, 83, 84, 69, 82, 0, 85, 80, 82, 79, 66, - 69, 95, 70, 73, 76, 84, 69, 82, 95, 85, 78, 82, 69, 71, 73, 83, 84, 69, 82, 0, 85, 80, 82, 79, - 66, 69, 95, 70, 73, 76, 84, 69, 82, 95, 77, 77, 65, 80, 0, 117, 112, 114, 111, 98, 101, 95, - 102, 105, 108, 116, 101, 114, 95, 99, 116, 120, 0, 117, 112, 114, 111, 98, 101, 95, 99, 111, - 110, 115, 117, 109, 101, 114, 0, 114, 101, 102, 95, 99, 116, 114, 95, 111, 102, 102, 115, 101, - 116, 0, 105, 120, 111, 108, 0, 101, 109, 117, 108, 97, 116, 101, 0, 112, 114, 101, 95, 120, - 111, 108, 0, 112, 111, 115, 116, 95, 120, 111, 108, 0, 117, 112, 114, 111, 98, 101, 95, 120, - 111, 108, 95, 111, 112, 115, 0, 98, 114, 97, 110, 99, 104, 0, 111, 102, 102, 115, 0, 105, 108, - 101, 110, 0, 111, 112, 99, 49, 0, 100, 101, 102, 112, 97, 114, 97, 109, 0, 102, 105, 120, 117, - 112, 115, 0, 112, 117, 115, 104, 0, 114, 101, 103, 95, 111, 102, 102, 115, 101, 116, 0, 97, - 114, 99, 104, 95, 117, 112, 114, 111, 98, 101, 0, 117, 112, 114, 111, 98, 101, 0, 120, 111, - 108, 95, 118, 97, 100, 100, 114, 0, 114, 101, 116, 117, 114, 110, 95, 105, 110, 115, 116, 97, - 110, 99, 101, 115, 0, 111, 114, 105, 103, 95, 114, 101, 116, 95, 118, 97, 100, 100, 114, 0, 99, - 104, 97, 105, 110, 101, 100, 0, 114, 101, 116, 117, 114, 110, 95, 105, 110, 115, 116, 97, 110, - 99, 101, 0, 117, 112, 114, 111, 98, 101, 95, 116, 97, 115, 107, 0, 115, 101, 113, 117, 101, - 110, 116, 105, 97, 108, 95, 105, 111, 0, 115, 101, 113, 117, 101, 110, 116, 105, 97, 108, 95, - 105, 111, 95, 97, 118, 103, 0, 107, 109, 97, 112, 95, 99, 116, 114, 108, 0, 112, 97, 103, 101, - 102, 97, 117, 108, 116, 95, 100, 105, 115, 97, 98, 108, 101, 100, 0, 111, 111, 109, 95, 114, - 101, 97, 112, 101, 114, 95, 108, 105, 115, 116, 0, 115, 116, 97, 99, 107, 95, 118, 109, 95, 97, - 114, 101, 97, 0, 118, 109, 95, 115, 116, 114, 117, 99, 116, 0, 115, 116, 97, 99, 107, 95, 114, - 101, 102, 99, 111, 117, 110, 116, 0, 98, 112, 102, 95, 115, 116, 111, 114, 97, 103, 101, 0, 98, - 112, 102, 95, 99, 116, 120, 0, 98, 112, 102, 95, 114, 117, 110, 95, 99, 116, 120, 0, 109, 99, - 101, 95, 118, 97, 100, 100, 114, 0, 109, 99, 101, 95, 107, 102, 108, 97, 103, 115, 0, 109, 99, - 101, 95, 97, 100, 100, 114, 0, 109, 99, 101, 95, 114, 105, 112, 118, 0, 109, 99, 101, 95, 119, - 104, 111, 108, 101, 95, 112, 97, 103, 101, 0, 95, 95, 109, 99, 101, 95, 114, 101, 115, 101, - 114, 118, 101, 100, 0, 109, 99, 101, 95, 107, 105, 108, 108, 95, 109, 101, 0, 109, 99, 101, 95, - 99, 111, 117, 110, 116, 0, 107, 114, 101, 116, 112, 114, 111, 98, 101, 95, 105, 110, 115, 116, - 97, 110, 99, 101, 115, 0, 108, 49, 100, 95, 102, 108, 117, 115, 104, 95, 107, 105, 108, 108, 0, - 116, 108, 115, 95, 97, 114, 114, 97, 121, 0, 108, 105, 109, 105, 116, 48, 0, 98, 97, 115, 101, - 48, 0, 98, 97, 115, 101, 49, 0, 100, 112, 108, 0, 108, 105, 109, 105, 116, 49, 0, 97, 118, 108, - 0, 108, 0, 100, 0, 103, 0, 98, 97, 115, 101, 50, 0, 100, 101, 115, 99, 95, 115, 116, 114, 117, - 99, 116, 0, 101, 115, 0, 100, 115, 0, 102, 115, 105, 110, 100, 101, 120, 0, 103, 115, 105, 110, - 100, 101, 120, 0, 102, 115, 98, 97, 115, 101, 0, 103, 115, 98, 97, 115, 101, 0, 112, 116, 114, - 97, 99, 101, 95, 98, 112, 115, 0, 118, 105, 114, 116, 117, 97, 108, 95, 100, 114, 54, 0, 112, - 116, 114, 97, 99, 101, 95, 100, 114, 55, 0, 99, 114, 50, 0, 116, 114, 97, 112, 95, 110, 114, 0, - 101, 114, 114, 111, 114, 95, 99, 111, 100, 101, 0, 105, 111, 95, 98, 105, 116, 109, 97, 112, 0, - 105, 111, 112, 108, 95, 101, 109, 117, 108, 0, 105, 111, 112, 108, 95, 119, 97, 114, 110, 0, - 115, 105, 103, 95, 111, 110, 95, 117, 97, 99, 99, 101, 115, 115, 95, 101, 114, 114, 0, 112, - 107, 114, 117, 0, 102, 112, 117, 0, 97, 118, 120, 53, 49, 50, 95, 116, 105, 109, 101, 115, 116, - 97, 109, 112, 0, 102, 115, 97, 118, 101, 0, 99, 119, 100, 0, 115, 119, 100, 0, 116, 119, 100, - 0, 102, 105, 112, 0, 102, 99, 115, 0, 102, 111, 111, 0, 102, 111, 115, 0, 115, 116, 95, 115, - 112, 97, 99, 101, 0, 102, 114, 101, 103, 115, 95, 115, 116, 97, 116, 101, 0, 102, 120, 115, 97, - 118, 101, 0, 102, 111, 112, 0, 114, 105, 112, 0, 114, 100, 112, 0, 109, 120, 99, 115, 114, 0, - 109, 120, 99, 115, 114, 95, 109, 97, 115, 107, 0, 120, 109, 109, 95, 115, 112, 97, 99, 101, 0, - 112, 97, 100, 100, 105, 110, 103, 49, 0, 115, 119, 95, 114, 101, 115, 101, 114, 118, 101, 100, - 0, 102, 120, 114, 101, 103, 115, 95, 115, 116, 97, 116, 101, 0, 115, 111, 102, 116, 0, 102, - 116, 111, 112, 0, 108, 111, 111, 107, 97, 104, 101, 97, 100, 0, 110, 111, 95, 117, 112, 100, - 97, 116, 101, 0, 114, 109, 0, 97, 108, 105, 109, 105, 116, 0, 95, 95, 95, 111, 114, 105, 103, - 95, 101, 105, 112, 0, 109, 97, 116, 104, 95, 101, 109, 117, 95, 105, 110, 102, 111, 0, 101, - 110, 116, 114, 121, 95, 101, 105, 112, 0, 115, 119, 114, 101, 103, 115, 95, 115, 116, 97, 116, - 101, 0, 120, 115, 97, 118, 101, 0, 105, 51, 56, 55, 0, 120, 102, 101, 97, 116, 117, 114, 101, - 115, 0, 120, 99, 111, 109, 112, 95, 98, 118, 0, 120, 115, 116, 97, 116, 101, 95, 104, 101, 97, - 100, 101, 114, 0, 101, 120, 116, 101, 110, 100, 101, 100, 95, 115, 116, 97, 116, 101, 95, 97, - 114, 101, 97, 0, 120, 114, 101, 103, 115, 95, 115, 116, 97, 116, 101, 0, 95, 95, 112, 97, 100, - 100, 105, 110, 103, 0, 102, 112, 114, 101, 103, 115, 95, 115, 116, 97, 116, 101, 0, 116, 104, - 114, 101, 97, 100, 95, 115, 116, 114, 117, 99, 116, 0, 116, 97, 115, 107, 95, 115, 116, 114, - 117, 99, 116, 0, 110, 115, 115, 101, 116, 0, 112, 114, 111, 99, 95, 110, 115, 95, 111, 112, - 101, 114, 97, 116, 105, 111, 110, 115, 0, 105, 110, 117, 109, 0, 110, 115, 95, 99, 111, 109, - 109, 111, 110, 0, 112, 97, 114, 101, 110, 116, 95, 99, 111, 117, 108, 100, 95, 115, 101, 116, - 102, 99, 97, 112, 0, 107, 101, 121, 114, 105, 110, 103, 95, 110, 97, 109, 101, 95, 108, 105, - 115, 116, 0, 117, 115, 101, 114, 95, 107, 101, 121, 114, 105, 110, 103, 95, 114, 101, 103, 105, - 115, 116, 101, 114, 0, 107, 101, 121, 114, 105, 110, 103, 95, 115, 101, 109, 0, 112, 101, 114, - 115, 105, 115, 116, 101, 110, 116, 95, 107, 101, 121, 114, 105, 110, 103, 95, 114, 101, 103, - 105, 115, 116, 101, 114, 0, 117, 99, 111, 117, 110, 116, 95, 109, 97, 120, 0, 117, 115, 101, - 114, 95, 110, 97, 109, 101, 115, 112, 97, 99, 101, 0, 103, 114, 111, 117, 112, 95, 105, 110, - 102, 111, 0, 110, 103, 114, 111, 117, 112, 115, 0, 110, 111, 110, 95, 114, 99, 117, 0, 117, - 110, 115, 97, 102, 101, 0, 112, 101, 114, 95, 99, 108, 101, 97, 114, 0, 101, 110, 118, 99, 0, - 105, 110, 116, 101, 114, 112, 0, 102, 100, 112, 97, 116, 104, 0, 105, 110, 116, 101, 114, 112, - 95, 102, 108, 97, 103, 115, 0, 101, 120, 101, 99, 102, 100, 0, 108, 111, 97, 100, 101, 114, 0, - 101, 120, 101, 99, 0, 114, 108, 105, 109, 95, 115, 116, 97, 99, 107, 0, 108, 105, 110, 117, - 120, 95, 98, 105, 110, 112, 114, 109, 0, 108, 111, 97, 100, 95, 115, 104, 108, 105, 98, 0, 99, - 111, 114, 101, 95, 100, 117, 109, 112, 0, 115, 105, 103, 105, 110, 102, 111, 0, 109, 109, 95, - 102, 108, 97, 103, 115, 0, 116, 111, 95, 115, 107, 105, 112, 0, 99, 111, 114, 101, 100, 117, - 109, 112, 95, 112, 97, 114, 97, 109, 115, 0, 109, 105, 110, 95, 99, 111, 114, 101, 100, 117, - 109, 112, 0, 108, 105, 110, 117, 120, 95, 98, 105, 110, 102, 109, 116, 0, 99, 111, 110, 116, - 101, 120, 116, 0, 99, 116, 120, 95, 105, 100, 0, 116, 108, 98, 95, 103, 101, 110, 0, 108, 100, - 116, 95, 117, 115, 114, 95, 115, 101, 109, 0, 108, 100, 116, 0, 110, 114, 95, 101, 110, 116, - 114, 105, 101, 115, 0, 115, 108, 111, 116, 0, 108, 100, 116, 95, 115, 116, 114, 117, 99, 116, - 0, 118, 100, 115, 111, 0, 118, 100, 115, 111, 95, 105, 109, 97, 103, 101, 0, 97, 108, 116, 0, - 97, 108, 116, 95, 108, 101, 110, 0, 101, 120, 116, 97, 98, 108, 101, 95, 98, 97, 115, 101, 0, - 101, 120, 116, 97, 98, 108, 101, 95, 108, 101, 110, 0, 115, 121, 109, 95, 118, 118, 97, 114, - 95, 115, 116, 97, 114, 116, 0, 115, 121, 109, 95, 118, 118, 97, 114, 95, 112, 97, 103, 101, 0, - 115, 121, 109, 95, 112, 118, 99, 108, 111, 99, 107, 95, 112, 97, 103, 101, 0, 115, 121, 109, - 95, 104, 118, 99, 108, 111, 99, 107, 95, 112, 97, 103, 101, 0, 115, 121, 109, 95, 116, 105, - 109, 101, 110, 115, 95, 112, 97, 103, 101, 0, 115, 121, 109, 95, 86, 68, 83, 79, 51, 50, 95, - 78, 79, 84, 69, 95, 77, 65, 83, 75, 0, 115, 121, 109, 95, 95, 95, 107, 101, 114, 110, 101, 108, - 95, 115, 105, 103, 114, 101, 116, 117, 114, 110, 0, 115, 121, 109, 95, 95, 95, 107, 101, 114, - 110, 101, 108, 95, 114, 116, 95, 115, 105, 103, 114, 101, 116, 117, 114, 110, 0, 115, 121, 109, - 95, 95, 95, 107, 101, 114, 110, 101, 108, 95, 118, 115, 121, 115, 99, 97, 108, 108, 0, 115, - 121, 109, 95, 105, 110, 116, 56, 48, 95, 108, 97, 110, 100, 105, 110, 103, 95, 112, 97, 100, 0, - 115, 121, 109, 95, 118, 100, 115, 111, 51, 50, 95, 115, 105, 103, 114, 101, 116, 117, 114, 110, - 95, 108, 97, 110, 100, 105, 110, 103, 95, 112, 97, 100, 0, 115, 121, 109, 95, 118, 100, 115, - 111, 51, 50, 95, 114, 116, 95, 115, 105, 103, 114, 101, 116, 117, 114, 110, 95, 108, 97, 110, - 100, 105, 110, 103, 95, 112, 97, 100, 0, 112, 101, 114, 102, 95, 114, 100, 112, 109, 99, 95, - 97, 108, 108, 111, 119, 101, 100, 0, 112, 107, 101, 121, 95, 97, 108, 108, 111, 99, 97, 116, - 105, 111, 110, 95, 109, 97, 112, 0, 101, 120, 101, 99, 117, 116, 101, 95, 111, 110, 108, 121, - 95, 112, 107, 101, 121, 0, 109, 109, 95, 99, 111, 110, 116, 101, 120, 116, 95, 116, 0, 99, 111, - 114, 101, 95, 115, 116, 97, 116, 101, 0, 100, 117, 109, 112, 101, 114, 0, 99, 111, 114, 101, - 95, 116, 104, 114, 101, 97, 100, 0, 115, 116, 97, 114, 116, 117, 112, 0, 105, 111, 99, 116, - 120, 95, 108, 111, 99, 107, 0, 105, 111, 99, 116, 120, 95, 116, 97, 98, 108, 101, 0, 117, 115, - 101, 114, 95, 105, 100, 0, 114, 101, 113, 115, 95, 97, 118, 97, 105, 108, 97, 98, 108, 101, 0, - 107, 105, 111, 99, 116, 120, 95, 99, 112, 117, 0, 114, 101, 113, 95, 98, 97, 116, 99, 104, 0, - 109, 97, 120, 95, 114, 101, 113, 115, 0, 109, 109, 97, 112, 95, 115, 105, 122, 101, 0, 114, - 105, 110, 103, 95, 112, 97, 103, 101, 115, 0, 102, 114, 101, 101, 95, 114, 119, 111, 114, 107, - 0, 114, 113, 95, 119, 97, 105, 116, 0, 99, 111, 109, 112, 0, 99, 116, 120, 95, 114, 113, 95, - 119, 97, 105, 116, 0, 99, 116, 120, 95, 108, 111, 99, 107, 0, 97, 99, 116, 105, 118, 101, 95, - 114, 101, 113, 115, 0, 114, 105, 110, 103, 95, 108, 111, 99, 107, 0, 99, 111, 109, 112, 108, - 101, 116, 101, 100, 95, 101, 118, 101, 110, 116, 115, 0, 105, 110, 116, 101, 114, 110, 97, 108, - 95, 112, 97, 103, 101, 115, 0, 97, 105, 111, 95, 114, 105, 110, 103, 95, 102, 105, 108, 101, 0, - 107, 105, 111, 99, 116, 120, 0, 107, 105, 111, 99, 116, 120, 95, 116, 97, 98, 108, 101, 0, 101, - 120, 101, 95, 102, 105, 108, 101, 0, 110, 111, 116, 105, 102, 105, 101, 114, 95, 115, 117, 98, - 115, 99, 114, 105, 112, 116, 105, 111, 110, 115, 0, 104, 97, 115, 95, 105, 116, 114, 101, 101, - 0, 105, 110, 118, 97, 108, 105, 100, 97, 116, 101, 95, 115, 101, 113, 0, 97, 99, 116, 105, 118, - 101, 95, 105, 110, 118, 97, 108, 105, 100, 97, 116, 101, 95, 114, 97, 110, 103, 101, 115, 0, - 105, 116, 114, 101, 101, 0, 100, 101, 102, 101, 114, 114, 101, 100, 95, 108, 105, 115, 116, 0, - 109, 109, 117, 95, 110, 111, 116, 105, 102, 105, 101, 114, 95, 115, 117, 98, 115, 99, 114, 105, - 112, 116, 105, 111, 110, 115, 0, 110, 117, 109, 97, 95, 110, 101, 120, 116, 95, 115, 99, 97, - 110, 0, 110, 117, 109, 97, 95, 115, 99, 97, 110, 95, 111, 102, 102, 115, 101, 116, 0, 116, 108, - 98, 95, 102, 108, 117, 115, 104, 95, 112, 101, 110, 100, 105, 110, 103, 0, 116, 108, 98, 95, - 102, 108, 117, 115, 104, 95, 98, 97, 116, 99, 104, 101, 100, 0, 117, 112, 114, 111, 98, 101, - 115, 95, 115, 116, 97, 116, 101, 0, 120, 111, 108, 95, 97, 114, 101, 97, 0, 115, 108, 111, 116, - 95, 99, 111, 117, 110, 116, 0, 120, 111, 108, 95, 109, 97, 112, 112, 105, 110, 103, 0, 118, - 109, 95, 115, 112, 101, 99, 105, 97, 108, 95, 109, 97, 112, 112, 105, 110, 103, 0, 104, 117, - 103, 101, 116, 108, 98, 95, 117, 115, 97, 103, 101, 0, 97, 115, 121, 110, 99, 95, 112, 117, - 116, 95, 119, 111, 114, 107, 0, 99, 112, 117, 95, 98, 105, 116, 109, 97, 112, 0, 109, 109, 95, - 115, 116, 114, 117, 99, 116, 0, 118, 109, 95, 112, 97, 103, 101, 95, 112, 114, 111, 116, 0, - 112, 103, 112, 114, 111, 116, 0, 112, 103, 112, 114, 111, 116, 118, 97, 108, 95, 116, 0, 112, - 103, 112, 114, 111, 116, 95, 116, 0, 118, 109, 95, 102, 108, 97, 103, 115, 0, 114, 98, 95, 115, - 117, 98, 116, 114, 101, 101, 95, 108, 97, 115, 116, 0, 97, 110, 111, 110, 95, 118, 109, 97, 95, - 99, 104, 97, 105, 110, 0, 97, 110, 111, 110, 95, 118, 109, 97, 0, 100, 101, 103, 114, 101, 101, - 0, 118, 109, 95, 112, 103, 111, 102, 102, 0, 118, 109, 95, 102, 105, 108, 101, 0, 118, 109, 95, - 112, 114, 105, 118, 97, 116, 101, 95, 100, 97, 116, 97, 0, 115, 119, 97, 112, 95, 114, 101, 97, - 100, 97, 104, 101, 97, 100, 95, 105, 110, 102, 111, 0, 118, 109, 95, 112, 111, 108, 105, 99, - 121, 0, 118, 109, 95, 117, 115, 101, 114, 102, 97, 117, 108, 116, 102, 100, 95, 99, 116, 120, - 0, 102, 97, 117, 108, 116, 95, 112, 101, 110, 100, 105, 110, 103, 95, 119, 113, 104, 0, 102, - 97, 117, 108, 116, 95, 119, 113, 104, 0, 102, 100, 95, 119, 113, 104, 0, 101, 118, 101, 110, - 116, 95, 119, 113, 104, 0, 114, 101, 102, 105, 108, 101, 95, 115, 101, 113, 0, 102, 101, 97, - 116, 117, 114, 101, 115, 0, 109, 109, 97, 112, 95, 99, 104, 97, 110, 103, 105, 110, 103, 0, - 117, 115, 101, 114, 102, 97, 117, 108, 116, 102, 100, 95, 99, 116, 120, 0, 118, 109, 95, 97, - 114, 101, 97, 95, 115, 116, 114, 117, 99, 116, 0, 98, 105, 110, 95, 97, 116, 116, 114, 105, 98, - 117, 116, 101, 0, 98, 105, 110, 95, 97, 116, 116, 114, 115, 0, 97, 116, 116, 114, 105, 98, 117, - 116, 101, 95, 103, 114, 111, 117, 112, 0, 99, 104, 105, 108, 100, 95, 110, 115, 95, 116, 121, - 112, 101, 0, 107, 111, 98, 106, 95, 116, 121, 112, 101, 0, 115, 116, 97, 116, 101, 95, 105, - 110, 105, 116, 105, 97, 108, 105, 122, 101, 100, 0, 115, 116, 97, 116, 101, 95, 105, 110, 95, - 115, 121, 115, 102, 115, 0, 115, 116, 97, 116, 101, 95, 97, 100, 100, 95, 117, 101, 118, 101, - 110, 116, 95, 115, 101, 110, 116, 0, 115, 116, 97, 116, 101, 95, 114, 101, 109, 111, 118, 101, - 95, 117, 101, 118, 101, 110, 116, 95, 115, 101, 110, 116, 0, 117, 101, 118, 101, 110, 116, 95, - 115, 117, 112, 112, 114, 101, 115, 115, 0, 107, 111, 98, 106, 101, 99, 116, 0, 100, 114, 105, - 118, 101, 114, 115, 95, 100, 105, 114, 0, 109, 112, 0, 103, 114, 112, 0, 109, 97, 116, 116, - 114, 0, 115, 101, 116, 117, 112, 0, 109, 111, 100, 117, 108, 101, 95, 97, 116, 116, 114, 105, - 98, 117, 116, 101, 0, 107, 101, 114, 110, 101, 108, 95, 112, 97, 114, 97, 109, 95, 111, 112, - 115, 0, 115, 116, 114, 0, 107, 112, 97, 114, 97, 109, 95, 115, 116, 114, 105, 110, 103, 0, 97, - 114, 114, 0, 101, 108, 101, 109, 115, 105, 122, 101, 0, 101, 108, 101, 109, 0, 107, 112, 97, - 114, 97, 109, 95, 97, 114, 114, 97, 121, 0, 107, 101, 114, 110, 101, 108, 95, 112, 97, 114, 97, - 109, 0, 112, 97, 114, 97, 109, 95, 97, 116, 116, 114, 105, 98, 117, 116, 101, 0, 109, 111, 100, - 117, 108, 101, 95, 112, 97, 114, 97, 109, 95, 97, 116, 116, 114, 115, 0, 107, 111, 98, 106, 95, - 99, 111, 109, 112, 108, 101, 116, 105, 111, 110, 0, 109, 111, 100, 117, 108, 101, 95, 107, 111, - 98, 106, 101, 99, 116, 0, 109, 111, 100, 105, 110, 102, 111, 95, 97, 116, 116, 114, 115, 0, - 115, 114, 99, 118, 101, 114, 115, 105, 111, 110, 0, 104, 111, 108, 100, 101, 114, 115, 95, 100, - 105, 114, 0, 115, 121, 109, 115, 0, 118, 97, 108, 117, 101, 95, 111, 102, 102, 115, 101, 116, - 0, 110, 97, 109, 101, 95, 111, 102, 102, 115, 101, 116, 0, 110, 97, 109, 101, 115, 112, 97, 99, - 101, 95, 111, 102, 102, 115, 101, 116, 0, 107, 101, 114, 110, 101, 108, 95, 115, 121, 109, 98, - 111, 108, 0, 99, 114, 99, 115, 0, 110, 117, 109, 95, 115, 121, 109, 115, 0, 112, 97, 114, 97, - 109, 95, 108, 111, 99, 107, 0, 107, 112, 0, 110, 117, 109, 95, 107, 112, 0, 110, 117, 109, 95, - 103, 112, 108, 95, 115, 121, 109, 115, 0, 103, 112, 108, 95, 115, 121, 109, 115, 0, 103, 112, - 108, 95, 99, 114, 99, 115, 0, 117, 115, 105, 110, 103, 95, 103, 112, 108, 111, 110, 108, 121, - 95, 115, 121, 109, 98, 111, 108, 115, 0, 115, 105, 103, 95, 111, 107, 0, 97, 115, 121, 110, 99, - 95, 112, 114, 111, 98, 101, 95, 114, 101, 113, 117, 101, 115, 116, 101, 100, 0, 99, 111, 114, - 101, 95, 108, 97, 121, 111, 117, 116, 0, 116, 101, 120, 116, 95, 115, 105, 122, 101, 0, 114, - 111, 95, 115, 105, 122, 101, 0, 114, 111, 95, 97, 102, 116, 101, 114, 95, 105, 110, 105, 116, - 95, 115, 105, 122, 101, 0, 109, 116, 110, 0, 109, 111, 100, 95, 116, 114, 101, 101, 95, 110, - 111, 100, 101, 0, 109, 111, 100, 117, 108, 101, 95, 108, 97, 121, 111, 117, 116, 0, 105, 110, - 105, 116, 95, 108, 97, 121, 111, 117, 116, 0, 110, 117, 109, 95, 111, 114, 99, 115, 0, 111, - 114, 99, 95, 117, 110, 119, 105, 110, 100, 95, 105, 112, 0, 111, 114, 99, 95, 117, 110, 119, - 105, 110, 100, 0, 115, 112, 95, 111, 102, 102, 115, 101, 116, 0, 98, 112, 95, 111, 102, 102, - 115, 101, 116, 0, 115, 112, 95, 114, 101, 103, 0, 98, 112, 95, 114, 101, 103, 0, 111, 114, 99, - 95, 101, 110, 116, 114, 121, 0, 109, 111, 100, 95, 97, 114, 99, 104, 95, 115, 112, 101, 99, - 105, 102, 105, 99, 0, 116, 97, 105, 110, 116, 115, 0, 110, 117, 109, 95, 98, 117, 103, 115, 0, - 98, 117, 103, 95, 108, 105, 115, 116, 0, 98, 117, 103, 95, 116, 97, 98, 108, 101, 0, 98, 117, - 103, 95, 97, 100, 100, 114, 95, 100, 105, 115, 112, 0, 102, 105, 108, 101, 95, 100, 105, 115, - 112, 0, 98, 117, 103, 95, 101, 110, 116, 114, 121, 0, 107, 97, 108, 108, 115, 121, 109, 115, 0, - 115, 121, 109, 116, 97, 98, 0, 115, 116, 95, 110, 97, 109, 101, 0, 69, 108, 102, 54, 52, 95, - 87, 111, 114, 100, 0, 115, 116, 95, 105, 110, 102, 111, 0, 115, 116, 95, 111, 116, 104, 101, - 114, 0, 115, 116, 95, 115, 104, 110, 100, 120, 0, 69, 108, 102, 54, 52, 95, 72, 97, 108, 102, - 0, 115, 116, 95, 118, 97, 108, 117, 101, 0, 69, 108, 102, 54, 52, 95, 65, 100, 100, 114, 0, - 115, 116, 95, 115, 105, 122, 101, 0, 69, 108, 102, 54, 52, 95, 88, 119, 111, 114, 100, 0, 101, - 108, 102, 54, 52, 95, 115, 121, 109, 0, 69, 108, 102, 54, 52, 95, 83, 121, 109, 0, 110, 117, - 109, 95, 115, 121, 109, 116, 97, 98, 0, 115, 116, 114, 116, 97, 98, 0, 116, 121, 112, 101, 116, - 97, 98, 0, 109, 111, 100, 95, 107, 97, 108, 108, 115, 121, 109, 115, 0, 99, 111, 114, 101, 95, - 107, 97, 108, 108, 115, 121, 109, 115, 0, 115, 101, 99, 116, 95, 97, 116, 116, 114, 115, 0, - 110, 115, 101, 99, 116, 105, 111, 110, 115, 0, 98, 97, 116, 116, 114, 0, 109, 111, 100, 117, - 108, 101, 95, 115, 101, 99, 116, 95, 97, 116, 116, 114, 0, 109, 111, 100, 117, 108, 101, 95, - 115, 101, 99, 116, 95, 97, 116, 116, 114, 115, 0, 110, 111, 116, 101, 115, 95, 97, 116, 116, - 114, 115, 0, 109, 111, 100, 117, 108, 101, 95, 110, 111, 116, 101, 115, 95, 97, 116, 116, 114, - 115, 0, 112, 101, 114, 99, 112, 117, 0, 112, 101, 114, 99, 112, 117, 95, 115, 105, 122, 101, 0, - 110, 111, 105, 110, 115, 116, 114, 95, 116, 101, 120, 116, 95, 115, 116, 97, 114, 116, 0, 110, - 111, 105, 110, 115, 116, 114, 95, 116, 101, 120, 116, 95, 115, 105, 122, 101, 0, 110, 117, 109, - 95, 116, 114, 97, 99, 101, 112, 111, 105, 110, 116, 115, 0, 116, 114, 97, 99, 101, 112, 111, - 105, 110, 116, 115, 95, 112, 116, 114, 115, 0, 116, 114, 97, 99, 101, 112, 111, 105, 110, 116, - 95, 112, 116, 114, 95, 116, 0, 110, 117, 109, 95, 115, 114, 99, 117, 95, 115, 116, 114, 117, - 99, 116, 115, 0, 115, 114, 99, 117, 95, 115, 116, 114, 117, 99, 116, 95, 112, 116, 114, 115, 0, - 110, 117, 109, 95, 98, 112, 102, 95, 114, 97, 119, 95, 101, 118, 101, 110, 116, 115, 0, 98, - 112, 102, 95, 114, 97, 119, 95, 101, 118, 101, 110, 116, 115, 0, 110, 117, 109, 95, 97, 114, - 103, 115, 0, 119, 114, 105, 116, 97, 98, 108, 101, 95, 115, 105, 122, 101, 0, 98, 112, 102, 95, - 114, 97, 119, 95, 101, 118, 101, 110, 116, 95, 109, 97, 112, 0, 98, 116, 102, 95, 100, 97, 116, - 97, 95, 115, 105, 122, 101, 0, 98, 116, 102, 95, 100, 97, 116, 97, 0, 106, 117, 109, 112, 95, - 101, 110, 116, 114, 105, 101, 115, 0, 110, 117, 109, 95, 106, 117, 109, 112, 95, 101, 110, 116, - 114, 105, 101, 115, 0, 110, 117, 109, 95, 116, 114, 97, 99, 101, 95, 98, 112, 114, 105, 110, - 116, 107, 95, 102, 109, 116, 0, 116, 114, 97, 99, 101, 95, 98, 112, 114, 105, 110, 116, 107, - 95, 102, 109, 116, 95, 115, 116, 97, 114, 116, 0, 116, 114, 97, 99, 101, 95, 101, 118, 101, - 110, 116, 115, 0, 110, 117, 109, 95, 116, 114, 97, 99, 101, 95, 101, 118, 101, 110, 116, 115, - 0, 116, 114, 97, 99, 101, 95, 101, 118, 97, 108, 115, 0, 101, 118, 97, 108, 95, 115, 116, 114, - 105, 110, 103, 0, 101, 118, 97, 108, 95, 118, 97, 108, 117, 101, 0, 116, 114, 97, 99, 101, 95, - 101, 118, 97, 108, 95, 109, 97, 112, 0, 110, 117, 109, 95, 116, 114, 97, 99, 101, 95, 101, 118, - 97, 108, 115, 0, 110, 117, 109, 95, 102, 116, 114, 97, 99, 101, 95, 99, 97, 108, 108, 115, 105, - 116, 101, 115, 0, 102, 116, 114, 97, 99, 101, 95, 99, 97, 108, 108, 115, 105, 116, 101, 115, 0, - 107, 112, 114, 111, 98, 101, 115, 95, 116, 101, 120, 116, 95, 115, 116, 97, 114, 116, 0, 107, - 112, 114, 111, 98, 101, 115, 95, 116, 101, 120, 116, 95, 115, 105, 122, 101, 0, 107, 112, 114, - 111, 98, 101, 95, 98, 108, 97, 99, 107, 108, 105, 115, 116, 0, 110, 117, 109, 95, 107, 112, - 114, 111, 98, 101, 95, 98, 108, 97, 99, 107, 108, 105, 115, 116, 0, 110, 117, 109, 95, 115, - 116, 97, 116, 105, 99, 95, 99, 97, 108, 108, 95, 115, 105, 116, 101, 115, 0, 115, 116, 97, 116, - 105, 99, 95, 99, 97, 108, 108, 95, 115, 105, 116, 101, 115, 0, 112, 114, 105, 110, 116, 107, - 95, 105, 110, 100, 101, 120, 95, 115, 105, 122, 101, 0, 112, 114, 105, 110, 116, 107, 95, 105, - 110, 100, 101, 120, 95, 115, 116, 97, 114, 116, 0, 115, 117, 98, 115, 121, 115, 95, 102, 109, - 116, 95, 112, 114, 101, 102, 105, 120, 0, 112, 105, 95, 101, 110, 116, 114, 121, 0, 115, 111, - 117, 114, 99, 101, 95, 108, 105, 115, 116, 0, 116, 97, 114, 103, 101, 116, 95, 108, 105, 115, - 116, 0, 101, 105, 95, 102, 117, 110, 99, 115, 0, 101, 116, 121, 112, 101, 0, 101, 114, 114, - 111, 114, 95, 105, 110, 106, 101, 99, 116, 105, 111, 110, 95, 101, 110, 116, 114, 121, 0, 110, - 117, 109, 95, 101, 105, 95, 102, 117, 110, 99, 115, 0, 108, 108, 115, 101, 101, 107, 0, 114, - 101, 97, 100, 95, 105, 116, 101, 114, 0, 119, 114, 105, 116, 101, 95, 105, 116, 101, 114, 0, - 105, 111, 112, 111, 108, 108, 0, 105, 116, 101, 114, 97, 116, 101, 0, 97, 99, 116, 111, 114, 0, - 102, 105, 108, 108, 100, 105, 114, 95, 116, 0, 100, 105, 114, 95, 99, 111, 110, 116, 101, 120, - 116, 0, 105, 116, 101, 114, 97, 116, 101, 95, 115, 104, 97, 114, 101, 100, 0, 117, 110, 108, - 111, 99, 107, 101, 100, 95, 105, 111, 99, 116, 108, 0, 109, 109, 97, 112, 95, 115, 117, 112, - 112, 111, 114, 116, 101, 100, 95, 102, 108, 97, 103, 115, 0, 102, 108, 95, 111, 119, 110, 101, - 114, 95, 116, 0, 102, 115, 121, 110, 99, 0, 102, 108, 95, 98, 108, 111, 99, 107, 101, 114, 0, - 102, 108, 95, 108, 105, 115, 116, 0, 102, 108, 95, 108, 105, 110, 107, 0, 102, 108, 95, 98, - 108, 111, 99, 107, 101, 100, 95, 114, 101, 113, 117, 101, 115, 116, 115, 0, 102, 108, 95, 98, - 108, 111, 99, 107, 101, 100, 95, 109, 101, 109, 98, 101, 114, 0, 102, 108, 95, 111, 119, 110, - 101, 114, 0, 102, 108, 95, 102, 108, 97, 103, 115, 0, 102, 108, 95, 116, 121, 112, 101, 0, 102, - 108, 95, 112, 105, 100, 0, 102, 108, 95, 108, 105, 110, 107, 95, 99, 112, 117, 0, 102, 108, 95, - 119, 97, 105, 116, 0, 102, 108, 95, 102, 105, 108, 101, 0, 102, 108, 95, 115, 116, 97, 114, - 116, 0, 102, 108, 95, 101, 110, 100, 0, 102, 108, 95, 102, 97, 115, 121, 110, 99, 0, 102, 108, - 95, 98, 114, 101, 97, 107, 95, 116, 105, 109, 101, 0, 102, 108, 95, 100, 111, 119, 110, 103, - 114, 97, 100, 101, 95, 116, 105, 109, 101, 0, 102, 108, 95, 111, 112, 115, 0, 102, 108, 95, 99, - 111, 112, 121, 95, 108, 111, 99, 107, 0, 102, 108, 95, 114, 101, 108, 101, 97, 115, 101, 95, - 112, 114, 105, 118, 97, 116, 101, 0, 102, 105, 108, 101, 95, 108, 111, 99, 107, 95, 111, 112, - 101, 114, 97, 116, 105, 111, 110, 115, 0, 102, 108, 95, 108, 109, 111, 112, 115, 0, 108, 109, - 95, 103, 101, 116, 95, 111, 119, 110, 101, 114, 0, 108, 109, 95, 112, 117, 116, 95, 111, 119, - 110, 101, 114, 0, 108, 109, 95, 110, 111, 116, 105, 102, 121, 0, 108, 109, 95, 103, 114, 97, - 110, 116, 0, 108, 109, 95, 98, 114, 101, 97, 107, 0, 108, 109, 95, 99, 104, 97, 110, 103, 101, - 0, 108, 109, 95, 115, 101, 116, 117, 112, 0, 108, 109, 95, 98, 114, 101, 97, 107, 101, 114, 95, - 111, 119, 110, 115, 95, 108, 101, 97, 115, 101, 0, 108, 111, 99, 107, 95, 109, 97, 110, 97, - 103, 101, 114, 95, 111, 112, 101, 114, 97, 116, 105, 111, 110, 115, 0, 102, 108, 95, 117, 0, - 110, 102, 115, 95, 102, 108, 0, 110, 108, 109, 95, 108, 111, 99, 107, 111, 119, 110, 101, 114, - 0, 110, 102, 115, 95, 108, 111, 99, 107, 95, 105, 110, 102, 111, 0, 110, 102, 115, 52, 95, 102, - 108, 0, 108, 115, 95, 108, 111, 99, 107, 115, 0, 108, 115, 95, 115, 116, 97, 116, 101, 0, 111, - 112, 101, 110, 95, 115, 116, 97, 116, 101, 115, 0, 105, 110, 111, 100, 101, 95, 115, 116, 97, - 116, 101, 115, 0, 108, 111, 99, 107, 95, 115, 116, 97, 116, 101, 115, 0, 115, 111, 95, 115, - 101, 114, 118, 101, 114, 0, 110, 102, 115, 95, 99, 108, 105, 101, 110, 116, 0, 99, 108, 95, 99, - 111, 117, 110, 116, 0, 99, 108, 95, 109, 100, 115, 95, 99, 111, 117, 110, 116, 0, 99, 108, 95, - 99, 111, 110, 115, 95, 115, 116, 97, 116, 101, 0, 99, 108, 95, 114, 101, 115, 95, 115, 116, 97, - 116, 101, 0, 99, 108, 95, 102, 108, 97, 103, 115, 0, 99, 108, 95, 97, 100, 100, 114, 0, 99, - 108, 95, 97, 100, 100, 114, 108, 101, 110, 0, 99, 108, 95, 104, 111, 115, 116, 110, 97, 109, - 101, 0, 99, 108, 95, 97, 99, 99, 101, 112, 116, 111, 114, 0, 99, 108, 95, 115, 104, 97, 114, - 101, 95, 108, 105, 110, 107, 0, 99, 108, 95, 115, 117, 112, 101, 114, 98, 108, 111, 99, 107, - 115, 0, 99, 108, 95, 114, 112, 99, 99, 108, 105, 101, 110, 116, 0, 99, 108, 95, 99, 108, 105, - 100, 0, 99, 108, 95, 99, 108, 105, 101, 110, 116, 115, 0, 99, 108, 95, 116, 97, 115, 107, 115, - 0, 99, 108, 95, 108, 111, 99, 107, 0, 99, 108, 95, 120, 112, 114, 116, 0, 115, 101, 116, 95, - 98, 117, 102, 102, 101, 114, 95, 115, 105, 122, 101, 0, 114, 101, 115, 101, 114, 118, 101, 95, - 120, 112, 114, 116, 0, 116, 107, 95, 99, 111, 117, 110, 116, 0, 116, 107, 95, 115, 116, 97, - 116, 117, 115, 0, 116, 107, 95, 116, 97, 115, 107, 0, 116, 107, 95, 99, 97, 108, 108, 98, 97, - 99, 107, 0, 116, 107, 95, 97, 99, 116, 105, 111, 110, 0, 116, 107, 95, 116, 105, 109, 101, 111, - 117, 116, 0, 116, 107, 95, 114, 117, 110, 115, 116, 97, 116, 101, 0, 116, 107, 95, 119, 97, - 105, 116, 113, 117, 101, 117, 101, 0, 109, 97, 120, 112, 114, 105, 111, 114, 105, 116, 121, 0, - 114, 112, 99, 95, 116, 105, 109, 101, 114, 0, 114, 112, 99, 95, 119, 97, 105, 116, 95, 113, - 117, 101, 117, 101, 0, 116, 107, 95, 119, 111, 114, 107, 0, 116, 107, 95, 119, 97, 105, 116, 0, - 114, 112, 99, 95, 119, 97, 105, 116, 0, 116, 107, 95, 114, 112, 99, 95, 115, 116, 97, 116, 117, - 115, 0, 116, 107, 95, 109, 115, 103, 0, 114, 112, 99, 95, 112, 114, 111, 99, 0, 112, 95, 112, - 114, 111, 99, 0, 112, 95, 101, 110, 99, 111, 100, 101, 0, 114, 113, 95, 120, 112, 114, 116, 0, - 114, 113, 95, 115, 110, 100, 95, 98, 117, 102, 0, 112, 97, 103, 101, 95, 98, 97, 115, 101, 0, - 112, 97, 103, 101, 95, 108, 101, 110, 0, 120, 100, 114, 95, 98, 117, 102, 0, 114, 113, 95, 114, - 99, 118, 95, 98, 117, 102, 0, 114, 113, 95, 116, 97, 115, 107, 0, 114, 113, 95, 99, 114, 101, - 100, 0, 99, 114, 95, 104, 97, 115, 104, 0, 99, 114, 95, 108, 114, 117, 0, 99, 114, 95, 114, 99, - 117, 0, 99, 114, 95, 97, 117, 116, 104, 0, 97, 117, 95, 99, 115, 108, 97, 99, 107, 0, 97, 117, - 95, 114, 115, 108, 97, 99, 107, 0, 97, 117, 95, 118, 101, 114, 102, 115, 105, 122, 101, 0, 97, - 117, 95, 114, 97, 108, 105, 103, 110, 0, 97, 117, 95, 102, 108, 97, 103, 115, 0, 97, 117, 95, - 111, 112, 115, 0, 97, 117, 95, 102, 108, 97, 118, 111, 114, 0, 114, 112, 99, 95, 97, 117, 116, - 104, 102, 108, 97, 118, 111, 114, 95, 116, 0, 97, 117, 95, 110, 97, 109, 101, 0, 99, 114, 101, - 97, 116, 101, 0, 112, 115, 101, 117, 100, 111, 102, 108, 97, 118, 111, 114, 0, 116, 97, 114, - 103, 101, 116, 95, 110, 97, 109, 101, 0, 114, 112, 99, 95, 97, 117, 116, 104, 95, 99, 114, 101, - 97, 116, 101, 95, 97, 114, 103, 115, 0, 104, 97, 115, 104, 95, 99, 114, 101, 100, 0, 112, 114, - 105, 110, 99, 105, 112, 97, 108, 0, 97, 117, 116, 104, 95, 99, 114, 101, 100, 0, 108, 111, 111, - 107, 117, 112, 95, 99, 114, 101, 100, 0, 99, 114, 99, 114, 101, 97, 116, 101, 0, 105, 110, 102, - 111, 50, 102, 108, 97, 118, 111, 114, 0, 111, 105, 100, 0, 114, 112, 99, 115, 101, 99, 95, 103, - 115, 115, 95, 111, 105, 100, 0, 113, 111, 112, 0, 115, 101, 114, 118, 105, 99, 101, 0, 114, - 112, 99, 115, 101, 99, 95, 103, 115, 115, 95, 105, 110, 102, 111, 0, 102, 108, 97, 118, 111, - 114, 50, 105, 110, 102, 111, 0, 107, 101, 121, 95, 116, 105, 109, 101, 111, 117, 116, 0, 114, - 112, 99, 95, 97, 117, 116, 104, 111, 112, 115, 0, 97, 117, 95, 99, 111, 117, 110, 116, 0, 97, - 117, 95, 99, 114, 101, 100, 99, 97, 99, 104, 101, 0, 114, 112, 99, 95, 99, 114, 101, 100, 95, - 99, 97, 99, 104, 101, 0, 114, 112, 99, 95, 97, 117, 116, 104, 0, 99, 114, 95, 111, 112, 115, 0, - 99, 114, 95, 110, 97, 109, 101, 0, 99, 114, 95, 105, 110, 105, 116, 0, 99, 114, 100, 101, 115, - 116, 114, 111, 121, 0, 99, 114, 109, 97, 116, 99, 104, 0, 99, 114, 109, 97, 114, 115, 104, 97, - 108, 0, 115, 99, 114, 97, 116, 99, 104, 0, 112, 97, 103, 101, 95, 112, 116, 114, 0, 110, 119, - 111, 114, 100, 115, 0, 114, 113, 115, 116, 0, 120, 100, 114, 95, 115, 116, 114, 101, 97, 109, - 0, 99, 114, 114, 101, 102, 114, 101, 115, 104, 0, 99, 114, 118, 97, 108, 105, 100, 97, 116, - 101, 0, 99, 114, 119, 114, 97, 112, 95, 114, 101, 113, 0, 99, 114, 117, 110, 119, 114, 97, 112, - 95, 114, 101, 115, 112, 0, 99, 114, 107, 101, 121, 95, 116, 105, 109, 101, 111, 117, 116, 0, - 99, 114, 115, 116, 114, 105, 110, 103, 105, 102, 121, 95, 97, 99, 99, 101, 112, 116, 111, 114, - 0, 99, 114, 110, 101, 101, 100, 95, 114, 101, 101, 110, 99, 111, 100, 101, 0, 114, 112, 99, 95, - 99, 114, 101, 100, 111, 112, 115, 0, 99, 114, 95, 101, 120, 112, 105, 114, 101, 0, 99, 114, 95, - 102, 108, 97, 103, 115, 0, 99, 114, 95, 99, 111, 117, 110, 116, 0, 99, 114, 95, 99, 114, 101, - 100, 0, 114, 112, 99, 95, 99, 114, 101, 100, 0, 114, 113, 95, 120, 105, 100, 0, 114, 113, 95, - 99, 111, 110, 103, 0, 114, 113, 95, 115, 101, 113, 110, 111, 0, 114, 113, 95, 101, 110, 99, 95, - 112, 97, 103, 101, 115, 95, 110, 117, 109, 0, 114, 113, 95, 101, 110, 99, 95, 112, 97, 103, - 101, 115, 0, 114, 113, 95, 114, 101, 108, 101, 97, 115, 101, 95, 115, 110, 100, 95, 98, 117, - 102, 0, 114, 113, 95, 108, 105, 115, 116, 0, 114, 113, 95, 114, 101, 99, 118, 0, 114, 113, 95, - 120, 109, 105, 116, 0, 114, 113, 95, 120, 109, 105, 116, 50, 0, 114, 113, 95, 98, 117, 102, - 102, 101, 114, 0, 114, 113, 95, 99, 97, 108, 108, 115, 105, 122, 101, 0, 114, 113, 95, 114, 98, - 117, 102, 102, 101, 114, 0, 114, 113, 95, 114, 99, 118, 115, 105, 122, 101, 0, 114, 113, 95, - 120, 109, 105, 116, 95, 98, 121, 116, 101, 115, 95, 115, 101, 110, 116, 0, 114, 113, 95, 114, - 101, 112, 108, 121, 95, 98, 121, 116, 101, 115, 95, 114, 101, 99, 118, 100, 0, 114, 113, 95, - 112, 114, 105, 118, 97, 116, 101, 95, 98, 117, 102, 0, 114, 113, 95, 109, 97, 106, 111, 114, - 116, 105, 109, 101, 111, 0, 114, 113, 95, 109, 105, 110, 111, 114, 116, 105, 109, 101, 111, 0, - 114, 113, 95, 114, 116, 116, 0, 114, 113, 95, 114, 101, 116, 114, 105, 101, 115, 0, 114, 113, - 95, 99, 111, 110, 110, 101, 99, 116, 95, 99, 111, 111, 107, 105, 101, 0, 114, 113, 95, 112, - 105, 110, 0, 114, 113, 95, 98, 121, 116, 101, 115, 95, 115, 101, 110, 116, 0, 114, 113, 95, - 120, 116, 105, 109, 101, 0, 114, 113, 95, 110, 116, 114, 97, 110, 115, 0, 114, 113, 95, 98, 99, - 95, 108, 105, 115, 116, 0, 114, 113, 95, 98, 99, 95, 112, 97, 95, 115, 116, 97, 116, 101, 0, - 114, 113, 95, 98, 99, 95, 112, 97, 95, 108, 105, 115, 116, 0, 114, 112, 99, 95, 114, 113, 115, - 116, 0, 107, 120, 100, 114, 101, 112, 114, 111, 99, 95, 116, 0, 112, 95, 100, 101, 99, 111, - 100, 101, 0, 107, 120, 100, 114, 100, 112, 114, 111, 99, 95, 116, 0, 112, 95, 97, 114, 103, - 108, 101, 110, 0, 112, 95, 114, 101, 112, 108, 101, 110, 0, 112, 95, 116, 105, 109, 101, 114, - 0, 112, 95, 115, 116, 97, 116, 105, 100, 120, 0, 112, 95, 110, 97, 109, 101, 0, 114, 112, 99, - 95, 112, 114, 111, 99, 105, 110, 102, 111, 0, 114, 112, 99, 95, 97, 114, 103, 112, 0, 114, 112, - 99, 95, 114, 101, 115, 112, 0, 114, 112, 99, 95, 109, 101, 115, 115, 97, 103, 101, 0, 116, 107, - 95, 99, 97, 108, 108, 100, 97, 116, 97, 0, 116, 107, 95, 111, 112, 115, 0, 114, 112, 99, 95, - 99, 97, 108, 108, 95, 112, 114, 101, 112, 97, 114, 101, 0, 114, 112, 99, 95, 99, 97, 108, 108, - 95, 100, 111, 110, 101, 0, 114, 112, 99, 95, 99, 111, 117, 110, 116, 95, 115, 116, 97, 116, - 115, 0, 114, 112, 99, 95, 114, 101, 108, 101, 97, 115, 101, 0, 114, 112, 99, 95, 99, 97, 108, - 108, 95, 111, 112, 115, 0, 116, 107, 95, 99, 108, 105, 101, 110, 116, 0, 116, 107, 95, 120, - 112, 114, 116, 0, 116, 107, 95, 111, 112, 95, 99, 114, 101, 100, 0, 116, 107, 95, 114, 113, - 115, 116, 112, 0, 116, 107, 95, 119, 111, 114, 107, 113, 117, 101, 117, 101, 0, 116, 107, 95, - 115, 116, 97, 114, 116, 0, 116, 107, 95, 111, 119, 110, 101, 114, 0, 116, 107, 95, 102, 108, - 97, 103, 115, 0, 116, 107, 95, 116, 105, 109, 101, 111, 117, 116, 115, 0, 116, 107, 95, 112, - 105, 100, 0, 116, 107, 95, 112, 114, 105, 111, 114, 105, 116, 121, 0, 116, 107, 95, 103, 97, - 114, 98, 95, 114, 101, 116, 114, 121, 0, 116, 107, 95, 99, 114, 101, 100, 95, 114, 101, 116, - 114, 121, 0, 116, 107, 95, 114, 101, 98, 105, 110, 100, 95, 114, 101, 116, 114, 121, 0, 114, - 112, 99, 95, 116, 97, 115, 107, 0, 114, 101, 108, 101, 97, 115, 101, 95, 120, 112, 114, 116, 0, - 97, 108, 108, 111, 99, 95, 115, 108, 111, 116, 0, 102, 114, 101, 101, 95, 115, 108, 111, 116, - 0, 114, 112, 99, 98, 105, 110, 100, 0, 115, 101, 116, 95, 112, 111, 114, 116, 0, 98, 117, 102, - 95, 97, 108, 108, 111, 99, 0, 98, 117, 102, 95, 102, 114, 101, 101, 0, 115, 101, 110, 100, 95, - 114, 101, 113, 117, 101, 115, 116, 0, 119, 97, 105, 116, 95, 102, 111, 114, 95, 114, 101, 112, - 108, 121, 95, 114, 101, 113, 117, 101, 115, 116, 0, 114, 101, 108, 101, 97, 115, 101, 95, 114, - 101, 113, 117, 101, 115, 116, 0, 115, 101, 116, 95, 99, 111, 110, 110, 101, 99, 116, 95, 116, - 105, 109, 101, 111, 117, 116, 0, 112, 114, 105, 110, 116, 95, 115, 116, 97, 116, 115, 0, 101, - 110, 97, 98, 108, 101, 95, 115, 119, 97, 112, 0, 100, 105, 115, 97, 98, 108, 101, 95, 115, 119, - 97, 112, 0, 105, 110, 106, 101, 99, 116, 95, 100, 105, 115, 99, 111, 110, 110, 101, 99, 116, 0, - 98, 99, 95, 115, 101, 116, 117, 112, 0, 98, 99, 95, 109, 97, 120, 112, 97, 121, 108, 111, 97, - 100, 0, 98, 99, 95, 110, 117, 109, 95, 115, 108, 111, 116, 115, 0, 98, 99, 95, 102, 114, 101, - 101, 95, 114, 113, 115, 116, 0, 98, 99, 95, 100, 101, 115, 116, 114, 111, 121, 0, 114, 112, 99, - 95, 120, 112, 114, 116, 95, 111, 112, 115, 0, 116, 111, 95, 105, 110, 105, 116, 118, 97, 108, - 0, 116, 111, 95, 109, 97, 120, 118, 97, 108, 0, 116, 111, 95, 105, 110, 99, 114, 101, 109, 101, - 110, 116, 0, 116, 111, 95, 114, 101, 116, 114, 105, 101, 115, 0, 116, 111, 95, 101, 120, 112, - 111, 110, 101, 110, 116, 105, 97, 108, 0, 114, 112, 99, 95, 116, 105, 109, 101, 111, 117, 116, - 0, 97, 100, 100, 114, 108, 101, 110, 0, 99, 111, 110, 103, 0, 99, 119, 110, 100, 0, 109, 97, - 120, 95, 112, 97, 121, 108, 111, 97, 100, 0, 98, 105, 110, 100, 105, 110, 103, 0, 115, 101, - 110, 100, 105, 110, 103, 0, 98, 97, 99, 107, 108, 111, 103, 0, 109, 105, 110, 95, 114, 101, - 113, 115, 0, 110, 117, 109, 95, 114, 101, 113, 115, 0, 114, 101, 115, 118, 112, 111, 114, 116, - 0, 114, 101, 117, 115, 101, 112, 111, 114, 116, 0, 115, 119, 97, 112, 112, 101, 114, 0, 98, - 105, 110, 100, 95, 105, 110, 100, 101, 120, 0, 120, 112, 114, 116, 95, 115, 119, 105, 116, 99, - 104, 0, 98, 105, 110, 100, 95, 116, 105, 109, 101, 111, 117, 116, 0, 114, 101, 101, 115, 116, - 97, 98, 108, 105, 115, 104, 95, 116, 105, 109, 101, 111, 117, 116, 0, 99, 111, 110, 110, 101, - 99, 116, 95, 99, 111, 111, 107, 105, 101, 0, 116, 97, 115, 107, 95, 99, 108, 101, 97, 110, 117, - 112, 0, 108, 97, 115, 116, 95, 117, 115, 101, 100, 0, 105, 100, 108, 101, 95, 116, 105, 109, - 101, 111, 117, 116, 0, 99, 111, 110, 110, 101, 99, 116, 95, 116, 105, 109, 101, 111, 117, 116, - 0, 109, 97, 120, 95, 114, 101, 99, 111, 110, 110, 101, 99, 116, 95, 116, 105, 109, 101, 111, - 117, 116, 0, 113, 117, 101, 117, 101, 108, 101, 110, 0, 116, 114, 97, 110, 115, 112, 111, 114, - 116, 95, 108, 111, 99, 107, 0, 114, 101, 115, 101, 114, 118, 101, 95, 108, 111, 99, 107, 0, - 120, 105, 100, 0, 115, 110, 100, 95, 116, 97, 115, 107, 0, 120, 109, 105, 116, 95, 113, 117, - 101, 117, 101, 0, 120, 109, 105, 116, 95, 113, 117, 101, 117, 101, 108, 101, 110, 0, 98, 99, - 95, 120, 112, 114, 116, 0, 115, 118, 99, 95, 120, 112, 114, 116, 0, 98, 99, 95, 115, 101, 114, - 118, 0, 115, 118, 95, 112, 114, 111, 103, 114, 97, 109, 0, 112, 103, 95, 110, 101, 120, 116, 0, - 112, 103, 95, 112, 114, 111, 103, 0, 112, 103, 95, 108, 111, 118, 101, 114, 115, 0, 112, 103, - 95, 104, 105, 118, 101, 114, 115, 0, 112, 103, 95, 110, 118, 101, 114, 115, 0, 112, 103, 95, - 118, 101, 114, 115, 0, 118, 115, 95, 118, 101, 114, 115, 0, 118, 115, 95, 110, 112, 114, 111, - 99, 0, 118, 115, 95, 112, 114, 111, 99, 0, 112, 99, 95, 102, 117, 110, 99, 0, 114, 113, 95, 97, - 108, 108, 0, 114, 113, 95, 114, 99, 117, 95, 104, 101, 97, 100, 0, 114, 113, 95, 97, 100, 100, - 114, 0, 114, 113, 95, 97, 100, 100, 114, 108, 101, 110, 0, 114, 113, 95, 100, 97, 100, 100, - 114, 0, 114, 113, 95, 100, 97, 100, 100, 114, 108, 101, 110, 0, 114, 113, 95, 115, 101, 114, - 118, 101, 114, 0, 114, 113, 95, 112, 111, 111, 108, 0, 115, 112, 95, 105, 100, 0, 115, 112, 95, - 108, 111, 99, 107, 0, 115, 112, 95, 115, 111, 99, 107, 101, 116, 115, 0, 115, 112, 95, 110, - 114, 116, 104, 114, 101, 97, 100, 115, 0, 115, 112, 95, 97, 108, 108, 95, 116, 104, 114, 101, - 97, 100, 115, 0, 115, 112, 95, 115, 116, 97, 116, 115, 0, 115, 111, 99, 107, 101, 116, 115, 95, - 113, 117, 101, 117, 101, 100, 0, 116, 104, 114, 101, 97, 100, 115, 95, 119, 111, 107, 101, 110, - 0, 116, 104, 114, 101, 97, 100, 115, 95, 116, 105, 109, 101, 100, 111, 117, 116, 0, 115, 118, - 99, 95, 112, 111, 111, 108, 95, 115, 116, 97, 116, 115, 0, 115, 112, 95, 102, 108, 97, 103, - 115, 0, 115, 118, 99, 95, 112, 111, 111, 108, 0, 114, 113, 95, 112, 114, 111, 99, 105, 110, - 102, 111, 0, 114, 113, 95, 97, 117, 116, 104, 111, 112, 0, 102, 108, 97, 118, 111, 117, 114, 0, - 100, 111, 109, 97, 105, 110, 95, 114, 101, 108, 101, 97, 115, 101, 0, 97, 117, 116, 104, 95, - 100, 111, 109, 97, 105, 110, 0, 115, 101, 116, 95, 99, 108, 105, 101, 110, 116, 0, 97, 117, - 116, 104, 95, 111, 112, 115, 0, 99, 114, 95, 117, 105, 100, 0, 99, 114, 95, 103, 105, 100, 0, - 99, 114, 95, 103, 114, 111, 117, 112, 95, 105, 110, 102, 111, 0, 99, 114, 95, 102, 108, 97, - 118, 111, 114, 0, 99, 114, 95, 114, 97, 119, 95, 112, 114, 105, 110, 99, 105, 112, 97, 108, 0, - 99, 114, 95, 112, 114, 105, 110, 99, 105, 112, 97, 108, 0, 99, 114, 95, 116, 97, 114, 103, 95, - 112, 114, 105, 110, 99, 0, 99, 114, 95, 103, 115, 115, 95, 109, 101, 99, 104, 0, 103, 109, 95, - 108, 105, 115, 116, 0, 103, 109, 95, 111, 119, 110, 101, 114, 0, 103, 109, 95, 111, 105, 100, - 0, 103, 109, 95, 110, 97, 109, 101, 0, 103, 109, 95, 111, 112, 115, 0, 103, 115, 115, 95, 105, - 109, 112, 111, 114, 116, 95, 115, 101, 99, 95, 99, 111, 110, 116, 101, 120, 116, 0, 109, 101, - 99, 104, 95, 116, 121, 112, 101, 0, 105, 110, 116, 101, 114, 110, 97, 108, 95, 99, 116, 120, - 95, 105, 100, 0, 115, 108, 97, 99, 107, 0, 103, 115, 115, 95, 99, 116, 120, 0, 103, 115, 115, - 95, 103, 101, 116, 95, 109, 105, 99, 0, 120, 100, 114, 95, 110, 101, 116, 111, 98, 106, 0, 103, - 115, 115, 95, 118, 101, 114, 105, 102, 121, 95, 109, 105, 99, 0, 103, 115, 115, 95, 119, 114, - 97, 112, 0, 103, 115, 115, 95, 117, 110, 119, 114, 97, 112, 0, 103, 115, 115, 95, 100, 101, - 108, 101, 116, 101, 95, 115, 101, 99, 95, 99, 111, 110, 116, 101, 120, 116, 0, 103, 115, 115, - 95, 97, 112, 105, 95, 111, 112, 115, 0, 103, 109, 95, 112, 102, 95, 110, 117, 109, 0, 103, 109, - 95, 112, 102, 115, 0, 97, 117, 116, 104, 95, 100, 111, 109, 97, 105, 110, 95, 110, 97, 109, - 101, 0, 100, 97, 116, 97, 116, 111, 117, 99, 104, 0, 112, 102, 95, 100, 101, 115, 99, 0, 103, - 109, 95, 117, 112, 99, 97, 108, 108, 95, 101, 110, 99, 116, 121, 112, 101, 115, 0, 103, 115, - 115, 95, 97, 112, 105, 95, 109, 101, 99, 104, 0, 115, 118, 99, 95, 99, 114, 101, 100, 0, 114, - 113, 95, 120, 112, 114, 116, 95, 99, 116, 120, 116, 0, 114, 113, 95, 100, 101, 102, 101, 114, - 114, 101, 100, 0, 120, 112, 114, 116, 0, 100, 97, 100, 100, 114, 108, 101, 110, 0, 114, 101, - 99, 101, 110, 116, 0, 105, 116, 101, 109, 0, 99, 97, 99, 104, 101, 95, 108, 105, 115, 116, 0, - 101, 120, 112, 105, 114, 121, 95, 116, 105, 109, 101, 0, 108, 97, 115, 116, 95, 114, 101, 102, - 114, 101, 115, 104, 0, 99, 97, 99, 104, 101, 95, 104, 101, 97, 100, 0, 114, 101, 118, 105, 115, - 105, 116, 0, 99, 97, 99, 104, 101, 95, 100, 101, 102, 101, 114, 114, 101, 100, 95, 114, 101, - 113, 0, 120, 112, 114, 116, 95, 104, 108, 101, 110, 0, 97, 114, 103, 115, 108, 101, 110, 0, - 115, 118, 99, 95, 100, 101, 102, 101, 114, 114, 101, 100, 95, 114, 101, 113, 0, 114, 113, 95, - 120, 112, 114, 116, 95, 104, 108, 101, 110, 0, 114, 113, 95, 97, 114, 103, 0, 114, 113, 95, 97, - 114, 103, 95, 115, 116, 114, 101, 97, 109, 0, 114, 113, 95, 114, 101, 115, 95, 115, 116, 114, - 101, 97, 109, 0, 114, 113, 95, 115, 99, 114, 97, 116, 99, 104, 95, 112, 97, 103, 101, 0, 114, - 113, 95, 114, 101, 115, 0, 114, 113, 95, 112, 97, 103, 101, 115, 0, 114, 113, 95, 114, 101, - 115, 112, 97, 103, 101, 115, 0, 114, 113, 95, 110, 101, 120, 116, 95, 112, 97, 103, 101, 0, - 114, 113, 95, 112, 97, 103, 101, 95, 101, 110, 100, 0, 114, 113, 95, 112, 118, 101, 99, 0, 112, - 101, 114, 99, 112, 117, 95, 112, 118, 101, 99, 95, 100, 114, 97, 105, 110, 101, 100, 0, 112, - 97, 103, 101, 118, 101, 99, 0, 114, 113, 95, 118, 101, 99, 0, 114, 113, 95, 98, 118, 101, 99, - 0, 114, 113, 95, 112, 114, 111, 103, 0, 114, 113, 95, 118, 101, 114, 115, 0, 114, 113, 95, 112, - 114, 111, 99, 0, 114, 113, 95, 112, 114, 111, 116, 0, 114, 113, 95, 99, 97, 99, 104, 101, 116, - 121, 112, 101, 0, 114, 113, 95, 113, 116, 105, 109, 101, 0, 114, 113, 95, 97, 114, 103, 112, 0, - 114, 113, 95, 114, 101, 115, 112, 0, 114, 113, 95, 97, 117, 116, 104, 95, 100, 97, 116, 97, 0, - 114, 113, 95, 97, 117, 116, 104, 95, 115, 116, 97, 116, 0, 114, 113, 95, 97, 117, 116, 104, 95, - 115, 108, 97, 99, 107, 0, 114, 113, 95, 114, 101, 115, 101, 114, 118, 101, 100, 0, 114, 113, - 95, 115, 116, 105, 109, 101, 0, 114, 113, 95, 99, 104, 97, 110, 100, 108, 101, 0, 100, 101, - 102, 101, 114, 0, 116, 104, 114, 101, 97, 100, 95, 119, 97, 105, 116, 0, 99, 97, 99, 104, 101, - 95, 114, 101, 113, 0, 114, 113, 95, 99, 108, 105, 101, 110, 116, 0, 114, 113, 95, 103, 115, - 115, 99, 108, 105, 101, 110, 116, 0, 114, 113, 95, 99, 97, 99, 104, 101, 114, 101, 112, 0, 115, - 118, 99, 95, 99, 97, 99, 104, 101, 114, 101, 112, 0, 114, 113, 95, 108, 111, 99, 107, 0, 114, - 113, 95, 98, 99, 95, 110, 101, 116, 0, 114, 113, 95, 108, 101, 97, 115, 101, 95, 98, 114, 101, - 97, 107, 101, 114, 0, 115, 118, 99, 95, 114, 113, 115, 116, 0, 112, 99, 95, 100, 101, 99, 111, - 100, 101, 0, 112, 99, 95, 101, 110, 99, 111, 100, 101, 0, 112, 99, 95, 114, 101, 108, 101, 97, - 115, 101, 0, 112, 99, 95, 97, 114, 103, 115, 105, 122, 101, 0, 112, 99, 95, 114, 101, 115, 115, - 105, 122, 101, 0, 112, 99, 95, 99, 97, 99, 104, 101, 116, 121, 112, 101, 0, 112, 99, 95, 120, - 100, 114, 114, 101, 115, 115, 105, 122, 101, 0, 112, 99, 95, 110, 97, 109, 101, 0, 115, 118, - 99, 95, 112, 114, 111, 99, 101, 100, 117, 114, 101, 0, 118, 115, 95, 99, 111, 117, 110, 116, 0, - 118, 115, 95, 120, 100, 114, 115, 105, 122, 101, 0, 118, 115, 95, 104, 105, 100, 100, 101, 110, - 0, 118, 115, 95, 114, 112, 99, 98, 95, 111, 112, 116, 110, 108, 0, 118, 115, 95, 110, 101, 101, - 100, 95, 99, 111, 110, 103, 95, 99, 116, 114, 108, 0, 118, 115, 95, 100, 105, 115, 112, 97, - 116, 99, 104, 0, 115, 118, 99, 95, 118, 101, 114, 115, 105, 111, 110, 0, 112, 103, 95, 110, 97, - 109, 101, 0, 112, 103, 95, 99, 108, 97, 115, 115, 0, 112, 103, 95, 115, 116, 97, 116, 115, 0, - 112, 114, 111, 103, 114, 97, 109, 0, 110, 101, 116, 99, 110, 116, 0, 110, 101, 116, 117, 100, - 112, 99, 110, 116, 0, 110, 101, 116, 116, 99, 112, 99, 110, 116, 0, 110, 101, 116, 116, 99, - 112, 99, 111, 110, 110, 0, 114, 112, 99, 99, 110, 116, 0, 114, 112, 99, 98, 97, 100, 102, 109, - 116, 0, 114, 112, 99, 98, 97, 100, 97, 117, 116, 104, 0, 114, 112, 99, 98, 97, 100, 99, 108, - 110, 116, 0, 115, 118, 99, 95, 115, 116, 97, 116, 0, 112, 103, 95, 97, 117, 116, 104, 101, 110, - 116, 105, 99, 97, 116, 101, 0, 112, 103, 95, 105, 110, 105, 116, 95, 114, 101, 113, 117, 101, - 115, 116, 0, 109, 105, 115, 109, 97, 116, 99, 104, 0, 108, 111, 118, 101, 114, 115, 0, 104, - 105, 118, 101, 114, 115, 0, 115, 118, 99, 95, 112, 114, 111, 99, 101, 115, 115, 95, 105, 110, - 102, 111, 0, 112, 103, 95, 114, 112, 99, 98, 105, 110, 100, 95, 115, 101, 116, 0, 115, 118, 99, - 95, 112, 114, 111, 103, 114, 97, 109, 0, 115, 118, 95, 115, 116, 97, 116, 115, 0, 115, 118, 95, - 108, 111, 99, 107, 0, 115, 118, 95, 110, 114, 116, 104, 114, 101, 97, 100, 115, 0, 115, 118, - 95, 109, 97, 120, 99, 111, 110, 110, 0, 115, 118, 95, 109, 97, 120, 95, 112, 97, 121, 108, 111, - 97, 100, 0, 115, 118, 95, 109, 97, 120, 95, 109, 101, 115, 103, 0, 115, 118, 95, 120, 100, 114, - 115, 105, 122, 101, 0, 115, 118, 95, 112, 101, 114, 109, 115, 111, 99, 107, 115, 0, 115, 118, - 95, 116, 101, 109, 112, 115, 111, 99, 107, 115, 0, 115, 118, 95, 116, 109, 112, 99, 110, 116, - 0, 115, 118, 95, 116, 101, 109, 112, 116, 105, 109, 101, 114, 0, 115, 118, 95, 110, 97, 109, - 101, 0, 115, 118, 95, 110, 114, 112, 111, 111, 108, 115, 0, 115, 118, 95, 112, 111, 111, 108, - 115, 0, 115, 118, 95, 111, 112, 115, 0, 115, 118, 111, 95, 115, 104, 117, 116, 100, 111, 119, - 110, 0, 115, 118, 111, 95, 102, 117, 110, 99, 116, 105, 111, 110, 0, 115, 118, 111, 95, 101, - 110, 113, 117, 101, 117, 101, 95, 120, 112, 114, 116, 0, 115, 118, 111, 95, 115, 101, 116, 117, - 112, 0, 115, 118, 111, 95, 109, 111, 100, 117, 108, 101, 0, 115, 118, 99, 95, 115, 101, 114, - 118, 95, 111, 112, 115, 0, 115, 118, 95, 99, 98, 95, 108, 105, 115, 116, 0, 115, 118, 95, 99, - 98, 95, 108, 111, 99, 107, 0, 115, 118, 95, 99, 98, 95, 119, 97, 105, 116, 113, 0, 115, 118, - 95, 98, 99, 95, 101, 110, 97, 98, 108, 101, 100, 0, 115, 118, 99, 95, 115, 101, 114, 118, 0, - 98, 99, 95, 97, 108, 108, 111, 99, 95, 109, 97, 120, 0, 98, 99, 95, 97, 108, 108, 111, 99, 95, - 99, 111, 117, 110, 116, 0, 98, 99, 95, 115, 108, 111, 116, 95, 99, 111, 117, 110, 116, 0, 98, - 99, 95, 112, 97, 95, 108, 111, 99, 107, 0, 98, 99, 95, 112, 97, 95, 108, 105, 115, 116, 0, 114, - 101, 99, 118, 95, 113, 117, 101, 117, 101, 0, 98, 105, 110, 100, 95, 99, 111, 117, 110, 116, 0, - 99, 111, 110, 110, 101, 99, 116, 95, 99, 111, 117, 110, 116, 0, 99, 111, 110, 110, 101, 99, - 116, 95, 115, 116, 97, 114, 116, 0, 99, 111, 110, 110, 101, 99, 116, 95, 116, 105, 109, 101, 0, - 115, 101, 110, 100, 115, 0, 114, 101, 99, 118, 115, 0, 98, 97, 100, 95, 120, 105, 100, 115, 0, - 109, 97, 120, 95, 115, 108, 111, 116, 115, 0, 114, 101, 113, 95, 117, 0, 98, 107, 108, 111, - 103, 95, 117, 0, 115, 101, 110, 100, 105, 110, 103, 95, 117, 0, 112, 101, 110, 100, 105, 110, - 103, 95, 117, 0, 120, 112, 114, 116, 95, 110, 101, 116, 0, 115, 101, 114, 118, 101, 114, 110, - 97, 109, 101, 0, 97, 100, 100, 114, 101, 115, 115, 95, 115, 116, 114, 105, 110, 103, 115, 0, - 120, 112, 114, 116, 95, 99, 108, 97, 115, 115, 0, 105, 100, 101, 110, 116, 0, 115, 114, 99, 97, - 100, 100, 114, 0, 100, 115, 116, 97, 100, 100, 114, 0, 98, 99, 95, 120, 112, 115, 0, 120, 112, - 115, 95, 108, 111, 99, 107, 0, 120, 112, 115, 95, 107, 114, 101, 102, 0, 120, 112, 115, 95, - 105, 100, 0, 120, 112, 115, 95, 110, 120, 112, 114, 116, 115, 0, 120, 112, 115, 95, 110, 97, - 99, 116, 105, 118, 101, 0, 120, 112, 115, 95, 110, 117, 110, 105, 113, 117, 101, 95, 100, 101, - 115, 116, 97, 100, 100, 114, 95, 120, 112, 114, 116, 115, 0, 120, 112, 115, 95, 113, 117, 101, - 117, 101, 108, 101, 110, 0, 120, 112, 115, 95, 120, 112, 114, 116, 95, 108, 105, 115, 116, 0, - 120, 112, 115, 95, 110, 101, 116, 0, 120, 112, 115, 95, 105, 116, 101, 114, 95, 111, 112, 115, - 0, 120, 112, 105, 95, 114, 101, 119, 105, 110, 100, 0, 120, 112, 105, 95, 120, 112, 115, 119, - 105, 116, 99, 104, 0, 120, 112, 105, 95, 99, 117, 114, 115, 111, 114, 0, 120, 112, 105, 95, - 111, 112, 115, 0, 114, 112, 99, 95, 120, 112, 114, 116, 95, 105, 116, 101, 114, 0, 120, 112, - 105, 95, 120, 112, 114, 116, 0, 120, 112, 105, 95, 110, 101, 120, 116, 0, 114, 112, 99, 95, - 120, 112, 114, 116, 95, 105, 116, 101, 114, 95, 111, 112, 115, 0, 120, 112, 115, 95, 115, 121, - 115, 102, 115, 0, 114, 112, 99, 95, 115, 121, 115, 102, 115, 95, 120, 112, 114, 116, 95, 115, - 119, 105, 116, 99, 104, 0, 120, 112, 115, 95, 114, 99, 117, 0, 114, 112, 99, 95, 120, 112, 114, - 116, 95, 115, 119, 105, 116, 99, 104, 0, 120, 112, 114, 116, 95, 99, 114, 101, 97, 116, 101, 0, - 110, 101, 116, 105, 100, 0, 120, 112, 114, 116, 95, 115, 121, 115, 102, 115, 0, 114, 112, 99, - 95, 115, 121, 115, 102, 115, 95, 120, 112, 114, 116, 0, 109, 97, 105, 110, 0, 114, 112, 99, 95, - 120, 112, 114, 116, 0, 99, 108, 95, 112, 114, 111, 99, 105, 110, 102, 111, 0, 99, 108, 95, 112, - 114, 111, 103, 0, 99, 108, 95, 118, 101, 114, 115, 0, 99, 108, 95, 109, 97, 120, 112, 114, 111, - 99, 0, 99, 108, 95, 97, 117, 116, 104, 0, 99, 108, 95, 115, 116, 97, 116, 115, 0, 110, 117, - 109, 98, 101, 114, 0, 110, 114, 118, 101, 114, 115, 0, 110, 114, 112, 114, 111, 99, 115, 0, - 112, 114, 111, 99, 115, 0, 99, 111, 117, 110, 116, 115, 0, 114, 112, 99, 95, 118, 101, 114, - 115, 105, 111, 110, 0, 112, 105, 112, 101, 95, 100, 105, 114, 95, 110, 97, 109, 101, 0, 114, - 112, 99, 95, 112, 114, 111, 103, 114, 97, 109, 0, 110, 101, 116, 114, 101, 99, 111, 110, 110, - 0, 114, 112, 99, 114, 101, 116, 114, 97, 110, 115, 0, 114, 112, 99, 97, 117, 116, 104, 114, - 101, 102, 114, 101, 115, 104, 0, 114, 112, 99, 103, 97, 114, 98, 97, 103, 101, 0, 114, 112, 99, - 95, 115, 116, 97, 116, 0, 99, 108, 95, 109, 101, 116, 114, 105, 99, 115, 0, 114, 112, 99, 95, - 105, 111, 115, 116, 97, 116, 115, 0, 99, 108, 95, 115, 111, 102, 116, 114, 116, 114, 121, 0, - 99, 108, 95, 115, 111, 102, 116, 101, 114, 114, 0, 99, 108, 95, 100, 105, 115, 99, 114, 116, - 114, 121, 0, 99, 108, 95, 110, 111, 114, 101, 116, 114, 97, 110, 115, 116, 105, 109, 101, 111, - 0, 99, 108, 95, 97, 117, 116, 111, 98, 105, 110, 100, 0, 99, 108, 95, 99, 104, 97, 116, 116, - 121, 0, 99, 108, 95, 114, 116, 116, 0, 116, 105, 109, 101, 111, 0, 115, 114, 116, 116, 0, 115, - 100, 114, 116, 116, 0, 110, 116, 105, 109, 101, 111, 117, 116, 115, 0, 114, 112, 99, 95, 114, - 116, 116, 0, 99, 108, 95, 116, 105, 109, 101, 111, 117, 116, 0, 99, 108, 95, 115, 119, 97, 112, - 112, 101, 114, 0, 99, 108, 95, 110, 111, 100, 101, 108, 101, 110, 0, 99, 108, 95, 110, 111, - 100, 101, 110, 97, 109, 101, 0, 99, 108, 95, 112, 105, 112, 101, 100, 105, 114, 95, 111, 98, - 106, 101, 99, 116, 115, 0, 112, 100, 104, 95, 101, 110, 116, 114, 105, 101, 115, 0, 112, 100, - 104, 95, 100, 101, 110, 116, 114, 121, 0, 114, 112, 99, 95, 112, 105, 112, 101, 95, 100, 105, - 114, 95, 104, 101, 97, 100, 0, 99, 108, 95, 112, 97, 114, 101, 110, 116, 0, 99, 108, 95, 114, - 116, 116, 95, 100, 101, 102, 97, 117, 108, 116, 0, 99, 108, 95, 116, 105, 109, 101, 111, 117, - 116, 95, 100, 101, 102, 97, 117, 108, 116, 0, 99, 108, 95, 112, 114, 111, 103, 114, 97, 109, 0, - 99, 108, 95, 112, 114, 105, 110, 99, 105, 112, 97, 108, 0, 99, 108, 95, 100, 101, 98, 117, 103, - 102, 115, 0, 99, 108, 95, 115, 121, 115, 102, 115, 0, 114, 112, 99, 95, 115, 121, 115, 102, - 115, 95, 99, 108, 105, 101, 110, 116, 0, 99, 108, 95, 120, 112, 105, 0, 99, 108, 95, 119, 111, - 114, 107, 0, 99, 108, 95, 99, 114, 101, 100, 0, 99, 108, 95, 109, 97, 120, 95, 99, 111, 110, - 110, 101, 99, 116, 0, 114, 112, 99, 95, 99, 108, 110, 116, 0, 114, 112, 99, 95, 111, 112, 115, - 0, 100, 101, 110, 116, 114, 121, 95, 111, 112, 115, 0, 100, 105, 114, 95, 105, 110, 111, 100, - 101, 95, 111, 112, 115, 0, 102, 105, 108, 101, 95, 105, 110, 111, 100, 101, 95, 111, 112, 115, - 0, 102, 105, 108, 101, 95, 111, 112, 115, 0, 110, 108, 109, 99, 108, 110, 116, 95, 111, 112, - 115, 0, 110, 108, 109, 99, 108, 110, 116, 95, 111, 112, 101, 114, 97, 116, 105, 111, 110, 115, - 0, 103, 101, 116, 114, 111, 111, 116, 0, 110, 102, 115, 95, 102, 104, 0, 102, 97, 116, 116, - 114, 0, 100, 117, 0, 110, 102, 115, 50, 0, 98, 108, 111, 99, 107, 115, 105, 122, 101, 0, 98, - 108, 111, 99, 107, 115, 0, 110, 102, 115, 51, 0, 117, 105, 110, 116, 54, 52, 95, 116, 0, 109, - 105, 110, 111, 114, 0, 110, 102, 115, 95, 102, 115, 105, 100, 0, 102, 105, 108, 101, 105, 100, - 0, 109, 111, 117, 110, 116, 101, 100, 95, 111, 110, 95, 102, 105, 108, 101, 105, 100, 0, 97, - 116, 105, 109, 101, 0, 109, 116, 105, 109, 101, 0, 99, 104, 97, 110, 103, 101, 95, 97, 116, - 116, 114, 0, 112, 114, 101, 95, 99, 104, 97, 110, 103, 101, 95, 97, 116, 116, 114, 0, 112, 114, - 101, 95, 115, 105, 122, 101, 0, 112, 114, 101, 95, 109, 116, 105, 109, 101, 0, 112, 114, 101, - 95, 99, 116, 105, 109, 101, 0, 103, 101, 110, 99, 111, 117, 110, 116, 0, 111, 119, 110, 101, - 114, 95, 110, 97, 109, 101, 0, 110, 102, 115, 52, 95, 115, 116, 114, 105, 110, 103, 0, 103, - 114, 111, 117, 112, 95, 110, 97, 109, 101, 0, 109, 100, 115, 116, 104, 114, 101, 115, 104, 111, - 108, 100, 0, 98, 109, 0, 108, 95, 116, 121, 112, 101, 0, 114, 100, 95, 115, 122, 0, 119, 114, - 95, 115, 122, 0, 114, 100, 95, 105, 111, 95, 115, 122, 0, 119, 114, 95, 105, 111, 95, 115, 122, - 0, 110, 102, 115, 52, 95, 116, 104, 114, 101, 115, 104, 111, 108, 100, 0, 108, 97, 98, 101, - 108, 0, 108, 102, 115, 0, 112, 105, 0, 110, 102, 115, 52, 95, 108, 97, 98, 101, 108, 0, 110, - 102, 115, 95, 102, 97, 116, 116, 114, 0, 114, 116, 109, 97, 120, 0, 114, 116, 112, 114, 101, - 102, 0, 114, 116, 109, 117, 108, 116, 0, 119, 116, 109, 97, 120, 0, 119, 116, 112, 114, 101, - 102, 0, 119, 116, 109, 117, 108, 116, 0, 100, 116, 112, 114, 101, 102, 0, 109, 97, 120, 102, - 105, 108, 101, 115, 105, 122, 101, 0, 108, 101, 97, 115, 101, 95, 116, 105, 109, 101, 0, 110, - 108, 97, 121, 111, 117, 116, 116, 121, 112, 101, 115, 0, 108, 97, 121, 111, 117, 116, 116, 121, - 112, 101, 0, 98, 108, 107, 115, 105, 122, 101, 0, 99, 108, 111, 110, 101, 95, 98, 108, 107, - 115, 105, 122, 101, 0, 99, 104, 97, 110, 103, 101, 95, 97, 116, 116, 114, 95, 116, 121, 112, - 101, 0, 78, 70, 83, 52, 95, 67, 72, 65, 78, 71, 69, 95, 84, 89, 80, 69, 95, 73, 83, 95, 77, 79, - 78, 79, 84, 79, 78, 73, 67, 95, 73, 78, 67, 82, 0, 78, 70, 83, 52, 95, 67, 72, 65, 78, 71, 69, - 95, 84, 89, 80, 69, 95, 73, 83, 95, 86, 69, 82, 83, 73, 79, 78, 95, 67, 79, 85, 78, 84, 69, 82, - 0, 78, 70, 83, 52, 95, 67, 72, 65, 78, 71, 69, 95, 84, 89, 80, 69, 95, 73, 83, 95, 86, 69, 82, - 83, 73, 79, 78, 95, 67, 79, 85, 78, 84, 69, 82, 95, 78, 79, 80, 78, 70, 83, 0, 78, 70, 83, 52, - 95, 67, 72, 65, 78, 71, 69, 95, 84, 89, 80, 69, 95, 73, 83, 95, 84, 73, 77, 69, 95, 77, 69, 84, - 65, 68, 65, 84, 65, 0, 78, 70, 83, 52, 95, 67, 72, 65, 78, 71, 69, 95, 84, 89, 80, 69, 95, 73, - 83, 95, 85, 78, 68, 69, 70, 73, 78, 69, 68, 0, 110, 102, 115, 52, 95, 99, 104, 97, 110, 103, - 101, 95, 97, 116, 116, 114, 95, 116, 121, 112, 101, 0, 120, 97, 116, 116, 114, 95, 115, 117, - 112, 112, 111, 114, 116, 0, 110, 102, 115, 95, 102, 115, 105, 110, 102, 111, 0, 115, 117, 98, - 109, 111, 117, 110, 116, 0, 116, 114, 121, 95, 103, 101, 116, 95, 116, 114, 101, 101, 0, 103, - 101, 116, 97, 116, 116, 114, 0, 115, 101, 116, 97, 116, 116, 114, 0, 105, 97, 95, 118, 97, 108, - 105, 100, 0, 105, 97, 95, 109, 111, 100, 101, 0, 105, 97, 95, 115, 105, 122, 101, 0, 105, 97, - 95, 102, 105, 108, 101, 0, 108, 111, 111, 107, 117, 112, 112, 0, 110, 102, 115, 95, 97, 99, 99, - 101, 115, 115, 95, 101, 110, 116, 114, 121, 0, 114, 101, 97, 100, 108, 105, 110, 107, 0, 117, - 110, 108, 105, 110, 107, 95, 115, 101, 116, 117, 112, 0, 117, 110, 108, 105, 110, 107, 95, 114, - 112, 99, 95, 112, 114, 101, 112, 97, 114, 101, 0, 115, 101, 113, 95, 97, 114, 103, 115, 0, 115, - 97, 95, 115, 108, 111, 116, 0, 110, 102, 115, 52, 95, 115, 108, 111, 116, 0, 115, 97, 95, 99, - 97, 99, 104, 101, 95, 116, 104, 105, 115, 0, 115, 97, 95, 112, 114, 105, 118, 105, 108, 101, - 103, 101, 100, 0, 110, 102, 115, 52, 95, 115, 101, 113, 117, 101, 110, 99, 101, 95, 97, 114, - 103, 115, 0, 102, 104, 0, 110, 102, 115, 95, 114, 101, 109, 111, 118, 101, 97, 114, 103, 115, - 0, 115, 101, 113, 95, 114, 101, 115, 0, 115, 114, 95, 115, 108, 111, 116, 0, 115, 114, 95, 116, - 105, 109, 101, 115, 116, 97, 109, 112, 0, 115, 114, 95, 115, 116, 97, 116, 117, 115, 0, 115, - 114, 95, 115, 116, 97, 116, 117, 115, 95, 102, 108, 97, 103, 115, 0, 115, 114, 95, 104, 105, - 103, 104, 101, 115, 116, 95, 115, 108, 111, 116, 105, 100, 0, 115, 114, 95, 116, 97, 114, 103, - 101, 116, 95, 104, 105, 103, 104, 101, 115, 116, 95, 115, 108, 111, 116, 105, 100, 0, 110, 102, - 115, 52, 95, 115, 101, 113, 117, 101, 110, 99, 101, 95, 114, 101, 115, 0, 115, 101, 114, 118, - 101, 114, 0, 100, 105, 114, 95, 97, 116, 116, 114, 0, 99, 105, 110, 102, 111, 0, 97, 116, 111, - 109, 105, 99, 0, 98, 101, 102, 111, 114, 101, 0, 97, 102, 116, 101, 114, 0, 110, 102, 115, 52, - 95, 99, 104, 97, 110, 103, 101, 95, 105, 110, 102, 111, 0, 110, 102, 115, 95, 114, 101, 109, - 111, 118, 101, 114, 101, 115, 0, 110, 102, 115, 95, 117, 110, 108, 105, 110, 107, 100, 97, 116, - 97, 0, 117, 110, 108, 105, 110, 107, 95, 100, 111, 110, 101, 0, 114, 101, 110, 97, 109, 101, - 95, 115, 101, 116, 117, 112, 0, 114, 101, 110, 97, 109, 101, 95, 114, 112, 99, 95, 112, 114, - 101, 112, 97, 114, 101, 0, 111, 108, 100, 95, 100, 105, 114, 0, 110, 101, 119, 95, 100, 105, - 114, 0, 111, 108, 100, 95, 110, 97, 109, 101, 0, 110, 101, 119, 95, 110, 97, 109, 101, 0, 110, - 102, 115, 95, 114, 101, 110, 97, 109, 101, 97, 114, 103, 115, 0, 111, 108, 100, 95, 99, 105, - 110, 102, 111, 0, 111, 108, 100, 95, 102, 97, 116, 116, 114, 0, 110, 101, 119, 95, 99, 105, - 110, 102, 111, 0, 110, 101, 119, 95, 102, 97, 116, 116, 114, 0, 110, 102, 115, 95, 114, 101, - 110, 97, 109, 101, 114, 101, 115, 0, 111, 108, 100, 95, 100, 101, 110, 116, 114, 121, 0, 110, - 101, 119, 95, 100, 101, 110, 116, 114, 121, 0, 99, 97, 110, 99, 101, 108, 108, 101, 100, 0, - 110, 102, 115, 95, 114, 101, 110, 97, 109, 101, 100, 97, 116, 97, 0, 114, 101, 110, 97, 109, - 101, 95, 100, 111, 110, 101, 0, 114, 101, 97, 100, 100, 105, 114, 0, 118, 101, 114, 102, 0, - 112, 108, 117, 115, 0, 110, 102, 115, 95, 114, 101, 97, 100, 100, 105, 114, 95, 97, 114, 103, - 0, 110, 102, 115, 95, 114, 101, 97, 100, 100, 105, 114, 95, 114, 101, 115, 0, 109, 107, 110, - 111, 100, 0, 115, 116, 97, 116, 102, 115, 0, 116, 98, 121, 116, 101, 115, 0, 102, 98, 121, 116, - 101, 115, 0, 97, 98, 121, 116, 101, 115, 0, 116, 102, 105, 108, 101, 115, 0, 102, 102, 105, - 108, 101, 115, 0, 97, 102, 105, 108, 101, 115, 0, 110, 102, 115, 95, 102, 115, 115, 116, 97, - 116, 0, 102, 115, 105, 110, 102, 111, 0, 112, 97, 116, 104, 99, 111, 110, 102, 0, 109, 97, 120, - 95, 108, 105, 110, 107, 0, 109, 97, 120, 95, 110, 97, 109, 101, 108, 101, 110, 0, 110, 102, - 115, 95, 112, 97, 116, 104, 99, 111, 110, 102, 0, 115, 101, 116, 95, 99, 97, 112, 97, 98, 105, - 108, 105, 116, 105, 101, 115, 0, 100, 101, 99, 111, 100, 101, 95, 100, 105, 114, 101, 110, 116, - 0, 112, 114, 101, 118, 95, 99, 111, 111, 107, 105, 101, 0, 101, 111, 102, 0, 100, 95, 116, 121, - 112, 101, 0, 110, 102, 115, 95, 101, 110, 116, 114, 121, 0, 112, 103, 105, 111, 95, 114, 112, - 99, 95, 112, 114, 101, 112, 97, 114, 101, 0, 114, 101, 113, 0, 110, 102, 115, 95, 112, 97, 103, - 101, 0, 118, 101, 114, 105, 102, 105, 101, 114, 0, 110, 102, 115, 95, 119, 114, 105, 116, 101, - 95, 118, 101, 114, 105, 102, 105, 101, 114, 0, 99, 111, 109, 109, 105, 116, 116, 101, 100, 0, - 78, 70, 83, 95, 85, 78, 83, 84, 65, 66, 76, 69, 0, 78, 70, 83, 95, 68, 65, 84, 65, 95, 83, 89, - 78, 67, 0, 78, 70, 83, 95, 70, 73, 76, 69, 95, 83, 89, 78, 67, 0, 78, 70, 83, 95, 73, 78, 86, - 65, 76, 73, 68, 95, 83, 84, 65, 66, 76, 69, 95, 72, 79, 87, 0, 110, 102, 115, 51, 95, 115, 116, - 97, 98, 108, 101, 95, 104, 111, 119, 0, 110, 102, 115, 95, 119, 114, 105, 116, 101, 118, 101, - 114, 102, 0, 114, 119, 95, 109, 111, 100, 101, 0, 108, 115, 101, 103, 0, 112, 110, 102, 115, - 95, 108, 97, 121, 111, 117, 116, 95, 115, 101, 103, 109, 101, 110, 116, 0, 105, 111, 95, 115, - 116, 97, 114, 116, 0, 109, 100, 115, 95, 111, 112, 115, 0, 99, 111, 109, 112, 108, 101, 116, - 105, 111, 110, 95, 111, 112, 115, 0, 101, 114, 114, 111, 114, 95, 99, 108, 101, 97, 110, 117, - 112, 0, 105, 110, 105, 116, 95, 104, 100, 114, 0, 114, 101, 115, 99, 104, 101, 100, 117, 108, - 101, 95, 105, 111, 0, 110, 102, 115, 95, 112, 103, 105, 111, 95, 99, 111, 109, 112, 108, 101, - 116, 105, 111, 110, 95, 111, 112, 115, 0, 114, 119, 95, 111, 112, 115, 0, 110, 102, 115, 95, - 114, 119, 95, 111, 112, 115, 0, 110, 102, 115, 95, 105, 111, 95, 99, 111, 109, 112, 108, 101, - 116, 105, 111, 110, 0, 100, 114, 101, 113, 0, 110, 102, 115, 95, 100, 105, 114, 101, 99, 116, - 95, 114, 101, 113, 0, 112, 110, 102, 115, 95, 101, 114, 114, 111, 114, 0, 103, 111, 111, 100, - 95, 98, 121, 116, 101, 115, 0, 108, 111, 99, 107, 95, 99, 111, 110, 116, 101, 120, 116, 0, 111, - 112, 101, 110, 95, 99, 111, 110, 116, 101, 120, 116, 0, 108, 111, 99, 107, 111, 119, 110, 101, - 114, 0, 105, 111, 95, 99, 111, 117, 110, 116, 0, 110, 102, 115, 95, 108, 111, 99, 107, 95, 99, - 111, 110, 116, 101, 120, 116, 0, 102, 108, 111, 99, 107, 95, 111, 119, 110, 101, 114, 0, 108, - 108, 95, 99, 114, 101, 100, 0, 110, 102, 115, 95, 111, 112, 101, 110, 95, 99, 111, 110, 116, - 101, 120, 116, 0, 115, 116, 97, 116, 101, 105, 100, 0, 115, 101, 113, 105, 100, 0, 78, 70, 83, - 52, 95, 73, 78, 86, 65, 76, 73, 68, 95, 83, 84, 65, 84, 69, 73, 68, 95, 84, 89, 80, 69, 0, 78, - 70, 83, 52, 95, 83, 80, 69, 67, 73, 65, 76, 95, 83, 84, 65, 84, 69, 73, 68, 95, 84, 89, 80, 69, - 0, 78, 70, 83, 52, 95, 79, 80, 69, 78, 95, 83, 84, 65, 84, 69, 73, 68, 95, 84, 89, 80, 69, 0, - 78, 70, 83, 52, 95, 76, 79, 67, 75, 95, 83, 84, 65, 84, 69, 73, 68, 95, 84, 89, 80, 69, 0, 78, - 70, 83, 52, 95, 68, 69, 76, 69, 71, 65, 84, 73, 79, 78, 95, 83, 84, 65, 84, 69, 73, 68, 95, 84, - 89, 80, 69, 0, 78, 70, 83, 52, 95, 76, 65, 89, 79, 85, 84, 95, 83, 84, 65, 84, 69, 73, 68, 95, - 84, 89, 80, 69, 0, 78, 70, 83, 52, 95, 80, 78, 70, 83, 95, 68, 83, 95, 83, 84, 65, 84, 69, 73, - 68, 95, 84, 89, 80, 69, 0, 78, 70, 83, 52, 95, 82, 69, 86, 79, 75, 69, 68, 95, 83, 84, 65, 84, - 69, 73, 68, 95, 84, 89, 80, 69, 0, 110, 102, 115, 52, 95, 115, 116, 97, 116, 101, 105, 100, 95, - 115, 116, 114, 117, 99, 116, 0, 110, 102, 115, 52, 95, 115, 116, 97, 116, 101, 105, 100, 0, - 112, 103, 98, 97, 115, 101, 0, 114, 101, 112, 108, 101, 110, 0, 98, 105, 116, 109, 97, 115, - 107, 0, 98, 105, 116, 109, 97, 115, 107, 95, 115, 116, 111, 114, 101, 0, 115, 116, 97, 98, 108, - 101, 0, 110, 102, 115, 95, 112, 103, 105, 111, 95, 97, 114, 103, 115, 0, 111, 112, 95, 115, - 116, 97, 116, 117, 115, 0, 110, 102, 115, 95, 112, 103, 105, 111, 95, 114, 101, 115, 0, 112, - 103, 105, 111, 95, 100, 111, 110, 101, 95, 99, 98, 0, 109, 100, 115, 95, 111, 102, 102, 115, - 101, 116, 0, 110, 112, 97, 103, 101, 115, 0, 110, 102, 115, 95, 112, 97, 103, 101, 95, 97, 114, - 114, 97, 121, 0, 100, 115, 95, 99, 108, 112, 0, 100, 115, 95, 99, 111, 109, 109, 105, 116, 95, - 105, 100, 120, 0, 112, 103, 105, 111, 95, 109, 105, 114, 114, 111, 114, 95, 105, 100, 120, 0, - 110, 102, 115, 95, 112, 103, 105, 111, 95, 104, 101, 97, 100, 101, 114, 0, 114, 101, 97, 100, - 95, 115, 101, 116, 117, 112, 0, 114, 101, 97, 100, 95, 100, 111, 110, 101, 0, 119, 114, 105, - 116, 101, 95, 115, 101, 116, 117, 112, 0, 119, 114, 105, 116, 101, 95, 100, 111, 110, 101, 0, - 99, 111, 109, 109, 105, 116, 95, 115, 101, 116, 117, 112, 0, 110, 102, 115, 95, 99, 111, 109, - 109, 105, 116, 97, 114, 103, 115, 0, 110, 102, 115, 95, 99, 111, 109, 109, 105, 116, 114, 101, - 115, 0, 100, 115, 95, 99, 111, 109, 109, 105, 116, 95, 105, 110, 100, 101, 120, 0, 108, 119, - 98, 0, 114, 101, 115, 99, 104, 101, 100, 95, 119, 114, 105, 116, 101, 0, 109, 100, 115, 0, 114, - 112, 99, 115, 95, 111, 117, 116, 0, 110, 99, 111, 109, 109, 105, 116, 0, 110, 102, 115, 95, - 109, 100, 115, 95, 99, 111, 109, 109, 105, 116, 95, 105, 110, 102, 111, 0, 110, 119, 114, 105, - 116, 116, 101, 110, 0, 110, 99, 111, 109, 109, 105, 116, 116, 105, 110, 103, 0, 112, 110, 102, - 115, 95, 99, 111, 109, 109, 105, 116, 95, 111, 112, 115, 0, 112, 110, 102, 115, 95, 100, 115, - 95, 99, 111, 109, 109, 105, 116, 95, 105, 110, 102, 111, 0, 110, 102, 115, 95, 99, 111, 109, - 109, 105, 116, 95, 105, 110, 102, 111, 0, 110, 102, 115, 95, 99, 111, 109, 109, 105, 116, 95, - 99, 111, 109, 112, 108, 101, 116, 105, 111, 110, 95, 111, 112, 115, 0, 99, 111, 109, 109, 105, - 116, 95, 100, 111, 110, 101, 95, 99, 98, 0, 110, 102, 115, 95, 99, 111, 109, 109, 105, 116, 95, - 100, 97, 116, 97, 0, 99, 111, 109, 109, 105, 116, 95, 114, 112, 99, 95, 112, 114, 101, 112, 97, - 114, 101, 0, 99, 111, 109, 109, 105, 116, 95, 100, 111, 110, 101, 0, 108, 111, 99, 107, 95, 99, - 104, 101, 99, 107, 95, 98, 111, 117, 110, 100, 115, 0, 99, 108, 101, 97, 114, 95, 97, 99, 108, - 95, 99, 97, 99, 104, 101, 0, 99, 108, 111, 115, 101, 95, 99, 111, 110, 116, 101, 120, 116, 0, - 104, 97, 118, 101, 95, 100, 101, 108, 101, 103, 97, 116, 105, 111, 110, 0, 97, 108, 108, 111, - 99, 95, 99, 108, 105, 101, 110, 116, 0, 110, 102, 115, 95, 99, 108, 105, 101, 110, 116, 95, - 105, 110, 105, 116, 100, 97, 116, 97, 0, 105, 110, 105, 116, 95, 99, 108, 105, 101, 110, 116, - 0, 102, 114, 101, 101, 95, 99, 108, 105, 101, 110, 116, 0, 99, 114, 101, 97, 116, 101, 95, 115, - 101, 114, 118, 101, 114, 0, 99, 108, 111, 110, 101, 95, 115, 101, 114, 118, 101, 114, 0, 110, - 102, 115, 95, 114, 112, 99, 95, 111, 112, 115, 0, 99, 108, 95, 112, 114, 111, 116, 111, 0, 99, - 108, 95, 110, 102, 115, 95, 109, 111, 100, 0, 110, 102, 115, 95, 115, 117, 98, 118, 101, 114, - 115, 105, 111, 110, 0, 99, 108, 95, 109, 105, 110, 111, 114, 118, 101, 114, 115, 105, 111, 110, - 0, 99, 108, 95, 110, 99, 111, 110, 110, 101, 99, 116, 0, 99, 108, 95, 100, 115, 95, 99, 108, - 105, 101, 110, 116, 115, 0, 99, 108, 95, 99, 108, 105, 101, 110, 116, 105, 100, 0, 99, 108, 95, - 99, 111, 110, 102, 105, 114, 109, 0, 110, 102, 115, 52, 95, 118, 101, 114, 105, 102, 105, 101, - 114, 0, 99, 108, 95, 115, 116, 97, 116, 101, 0, 99, 108, 95, 108, 101, 97, 115, 101, 95, 116, - 105, 109, 101, 0, 99, 108, 95, 108, 97, 115, 116, 95, 114, 101, 110, 101, 119, 97, 108, 0, 99, - 108, 95, 114, 101, 110, 101, 119, 100, 0, 99, 108, 95, 114, 112, 99, 119, 97, 105, 116, 113, 0, - 99, 108, 95, 105, 100, 109, 97, 112, 0, 105, 100, 109, 97, 112, 0, 99, 108, 95, 111, 119, 110, - 101, 114, 95, 105, 100, 0, 99, 108, 95, 99, 98, 95, 105, 100, 101, 110, 116, 0, 99, 108, 95, - 109, 118, 111, 112, 115, 0, 109, 105, 110, 111, 114, 95, 118, 101, 114, 115, 105, 111, 110, 0, - 105, 110, 105, 116, 95, 99, 97, 112, 115, 0, 115, 104, 117, 116, 100, 111, 119, 110, 95, 99, - 108, 105, 101, 110, 116, 0, 109, 97, 116, 99, 104, 95, 115, 116, 97, 116, 101, 105, 100, 0, - 102, 105, 110, 100, 95, 114, 111, 111, 116, 95, 115, 101, 99, 0, 102, 114, 101, 101, 95, 108, - 111, 99, 107, 95, 115, 116, 97, 116, 101, 0, 116, 101, 115, 116, 95, 97, 110, 100, 95, 102, - 114, 101, 101, 95, 101, 120, 112, 105, 114, 101, 100, 0, 97, 108, 108, 111, 99, 95, 115, 101, - 113, 105, 100, 0, 99, 114, 101, 97, 116, 101, 95, 116, 105, 109, 101, 0, 111, 119, 110, 101, - 114, 95, 105, 100, 0, 110, 102, 115, 95, 115, 101, 113, 105, 100, 95, 99, 111, 117, 110, 116, - 101, 114, 0, 110, 102, 115, 95, 115, 101, 113, 105, 100, 0, 115, 101, 115, 115, 105, 111, 110, - 95, 116, 114, 117, 110, 107, 0, 99, 97, 108, 108, 95, 115, 121, 110, 99, 95, 111, 112, 115, 0, - 114, 101, 98, 111, 111, 116, 95, 114, 101, 99, 111, 118, 101, 114, 121, 95, 111, 112, 115, 0, - 111, 119, 110, 101, 114, 95, 102, 108, 97, 103, 95, 98, 105, 116, 0, 115, 116, 97, 116, 101, - 95, 102, 108, 97, 103, 95, 98, 105, 116, 0, 114, 101, 99, 111, 118, 101, 114, 95, 111, 112, - 101, 110, 0, 114, 101, 99, 111, 118, 101, 114, 95, 108, 111, 99, 107, 0, 101, 115, 116, 97, 98, - 108, 105, 115, 104, 95, 99, 108, 105, 100, 0, 114, 101, 99, 108, 97, 105, 109, 95, 99, 111, - 109, 112, 108, 101, 116, 101, 0, 100, 101, 116, 101, 99, 116, 95, 116, 114, 117, 110, 107, 105, - 110, 103, 0, 110, 102, 115, 52, 95, 115, 116, 97, 116, 101, 95, 114, 101, 99, 111, 118, 101, - 114, 121, 95, 111, 112, 115, 0, 110, 111, 103, 114, 97, 99, 101, 95, 114, 101, 99, 111, 118, - 101, 114, 121, 95, 111, 112, 115, 0, 115, 116, 97, 116, 101, 95, 114, 101, 110, 101, 119, 97, - 108, 95, 111, 112, 115, 0, 115, 99, 104, 101, 100, 95, 115, 116, 97, 116, 101, 95, 114, 101, - 110, 101, 119, 97, 108, 0, 103, 101, 116, 95, 115, 116, 97, 116, 101, 95, 114, 101, 110, 101, - 119, 97, 108, 95, 99, 114, 101, 100, 0, 114, 101, 110, 101, 119, 95, 108, 101, 97, 115, 101, 0, - 110, 102, 115, 52, 95, 115, 116, 97, 116, 101, 95, 109, 97, 105, 110, 116, 101, 110, 97, 110, - 99, 101, 95, 111, 112, 115, 0, 109, 105, 103, 95, 114, 101, 99, 111, 118, 101, 114, 121, 95, - 111, 112, 115, 0, 103, 101, 116, 95, 108, 111, 99, 97, 116, 105, 111, 110, 115, 0, 102, 115, - 95, 112, 97, 116, 104, 0, 110, 99, 111, 109, 112, 111, 110, 101, 110, 116, 115, 0, 99, 111, - 109, 112, 111, 110, 101, 110, 116, 115, 0, 110, 102, 115, 52, 95, 112, 97, 116, 104, 110, 97, - 109, 101, 0, 110, 108, 111, 99, 97, 116, 105, 111, 110, 115, 0, 108, 111, 99, 97, 116, 105, - 111, 110, 115, 0, 110, 115, 101, 114, 118, 101, 114, 115, 0, 115, 101, 114, 118, 101, 114, 115, - 0, 114, 111, 111, 116, 112, 97, 116, 104, 0, 110, 102, 115, 52, 95, 102, 115, 95, 108, 111, 99, - 97, 116, 105, 111, 110, 0, 110, 102, 115, 52, 95, 102, 115, 95, 108, 111, 99, 97, 116, 105, - 111, 110, 115, 0, 102, 115, 105, 100, 95, 112, 114, 101, 115, 101, 110, 116, 0, 110, 102, 115, - 52, 95, 109, 105, 103, 95, 114, 101, 99, 111, 118, 101, 114, 121, 95, 111, 112, 115, 0, 110, - 102, 115, 52, 95, 109, 105, 110, 111, 114, 95, 118, 101, 114, 115, 105, 111, 110, 95, 111, 112, - 115, 0, 99, 108, 95, 109, 105, 103, 95, 103, 101, 110, 0, 99, 108, 95, 115, 108, 111, 116, 95, - 116, 98, 108, 0, 110, 102, 115, 52, 95, 115, 108, 111, 116, 95, 116, 97, 98, 108, 101, 0, 99, - 108, 95, 115, 101, 113, 105, 100, 0, 99, 108, 95, 101, 120, 99, 104, 97, 110, 103, 101, 95, - 102, 108, 97, 103, 115, 0, 99, 108, 95, 115, 101, 115, 115, 105, 111, 110, 0, 110, 102, 115, - 52, 95, 115, 101, 115, 115, 105, 111, 110, 0, 99, 108, 95, 112, 114, 101, 115, 101, 114, 118, - 101, 95, 99, 108, 105, 100, 0, 99, 108, 95, 115, 101, 114, 118, 101, 114, 111, 119, 110, 101, - 114, 0, 109, 105, 110, 111, 114, 95, 105, 100, 0, 109, 97, 106, 111, 114, 95, 105, 100, 95, - 115, 122, 0, 109, 97, 106, 111, 114, 95, 105, 100, 0, 110, 102, 115, 52, 49, 95, 115, 101, 114, - 118, 101, 114, 95, 111, 119, 110, 101, 114, 0, 99, 108, 95, 115, 101, 114, 118, 101, 114, 115, - 99, 111, 112, 101, 0, 115, 101, 114, 118, 101, 114, 95, 115, 99, 111, 112, 101, 95, 115, 122, - 0, 115, 101, 114, 118, 101, 114, 95, 115, 99, 111, 112, 101, 0, 110, 102, 115, 52, 49, 95, 115, - 101, 114, 118, 101, 114, 95, 115, 99, 111, 112, 101, 0, 99, 108, 95, 105, 109, 112, 108, 105, - 100, 0, 100, 97, 116, 101, 0, 115, 101, 99, 111, 110, 100, 115, 0, 110, 115, 101, 99, 111, 110, - 100, 115, 0, 110, 102, 115, 116, 105, 109, 101, 52, 0, 110, 102, 115, 52, 49, 95, 105, 109, - 112, 108, 95, 105, 100, 0, 99, 108, 95, 115, 112, 52, 95, 102, 108, 97, 103, 115, 0, 99, 108, - 95, 108, 111, 99, 107, 95, 119, 97, 105, 116, 113, 0, 99, 108, 95, 105, 112, 97, 100, 100, 114, - 0, 102, 115, 99, 97, 99, 104, 101, 0, 102, 115, 99, 97, 99, 104, 101, 95, 99, 111, 111, 107, - 105, 101, 0, 99, 108, 95, 110, 101, 116, 0, 112, 101, 110, 100, 105, 110, 103, 95, 99, 98, 95, - 115, 116, 97, 116, 101, 105, 100, 115, 0, 99, 108, 105, 101, 110, 116, 95, 108, 105, 110, 107, - 0, 109, 97, 115, 116, 101, 114, 95, 108, 105, 110, 107, 0, 99, 108, 105, 101, 110, 116, 0, 99, - 108, 105, 101, 110, 116, 95, 97, 99, 108, 0, 110, 108, 109, 95, 104, 111, 115, 116, 0, 105, - 111, 95, 115, 116, 97, 116, 115, 0, 110, 102, 115, 95, 105, 111, 115, 116, 97, 116, 115, 0, - 119, 114, 105, 116, 101, 98, 97, 99, 107, 0, 102, 97, 116, 116, 114, 95, 118, 97, 108, 105, - 100, 0, 99, 97, 112, 115, 0, 114, 115, 105, 122, 101, 0, 114, 112, 97, 103, 101, 115, 0, 119, - 115, 105, 122, 101, 0, 119, 112, 97, 103, 101, 115, 0, 100, 116, 115, 105, 122, 101, 0, 98, - 115, 105, 122, 101, 0, 103, 120, 97, 115, 105, 122, 101, 0, 115, 120, 97, 115, 105, 122, 101, - 0, 108, 120, 97, 115, 105, 122, 101, 0, 97, 99, 114, 101, 103, 109, 105, 110, 0, 97, 99, 114, - 101, 103, 109, 97, 120, 0, 97, 99, 100, 105, 114, 109, 105, 110, 0, 97, 99, 100, 105, 114, 109, - 97, 120, 0, 109, 111, 117, 110, 116, 95, 116, 105, 109, 101, 0, 115, 117, 112, 101, 114, 0, 97, - 117, 116, 104, 95, 105, 110, 102, 111, 0, 102, 108, 97, 118, 111, 114, 95, 108, 101, 110, 0, - 102, 108, 97, 118, 111, 114, 115, 0, 110, 102, 115, 95, 97, 117, 116, 104, 95, 105, 110, 102, - 111, 0, 102, 115, 99, 97, 99, 104, 101, 95, 107, 101, 121, 0, 110, 102, 115, 95, 102, 115, 99, - 97, 99, 104, 101, 95, 107, 101, 121, 0, 112, 110, 102, 115, 95, 98, 108, 107, 115, 105, 122, - 101, 0, 97, 116, 116, 114, 95, 98, 105, 116, 109, 97, 115, 107, 0, 97, 116, 116, 114, 95, 98, - 105, 116, 109, 97, 115, 107, 95, 110, 108, 0, 101, 120, 99, 108, 99, 114, 101, 97, 116, 95, 98, - 105, 116, 109, 97, 115, 107, 0, 99, 97, 99, 104, 101, 95, 99, 111, 110, 115, 105, 115, 116, - 101, 110, 99, 121, 95, 98, 105, 116, 109, 97, 115, 107, 0, 97, 99, 108, 95, 98, 105, 116, 109, - 97, 115, 107, 0, 102, 104, 95, 101, 120, 112, 105, 114, 101, 95, 116, 121, 112, 101, 0, 112, - 110, 102, 115, 95, 99, 117, 114, 114, 95, 108, 100, 0, 112, 110, 102, 115, 95, 108, 97, 121, - 111, 117, 116, 100, 114, 105, 118, 101, 114, 95, 116, 121, 112, 101, 0, 114, 111, 99, 95, 114, - 112, 99, 119, 97, 105, 116, 113, 0, 112, 110, 102, 115, 95, 108, 100, 95, 100, 97, 116, 97, 0, - 115, 116, 97, 116, 101, 95, 111, 119, 110, 101, 114, 115, 0, 111, 112, 101, 110, 111, 119, 110, - 101, 114, 95, 105, 100, 0, 108, 111, 99, 107, 111, 119, 110, 101, 114, 95, 105, 100, 0, 115, - 116, 97, 116, 101, 95, 111, 119, 110, 101, 114, 115, 95, 108, 114, 117, 0, 108, 97, 121, 111, - 117, 116, 115, 0, 100, 101, 108, 101, 103, 97, 116, 105, 111, 110, 115, 0, 115, 115, 95, 99, - 111, 112, 105, 101, 115, 0, 109, 105, 103, 95, 103, 101, 110, 0, 109, 105, 103, 95, 115, 116, - 97, 116, 117, 115, 0, 109, 111, 117, 110, 116, 100, 95, 97, 100, 100, 114, 101, 115, 115, 0, - 109, 111, 117, 110, 116, 100, 95, 97, 100, 100, 114, 108, 101, 110, 0, 109, 111, 117, 110, 116, - 100, 95, 118, 101, 114, 115, 105, 111, 110, 0, 109, 111, 117, 110, 116, 100, 95, 112, 111, 114, - 116, 0, 109, 111, 117, 110, 116, 100, 95, 112, 114, 111, 116, 111, 99, 111, 108, 0, 117, 111, - 99, 95, 114, 112, 99, 119, 97, 105, 116, 113, 0, 114, 101, 97, 100, 95, 104, 100, 114, 115, - 105, 122, 101, 0, 104, 97, 115, 95, 115, 101, 99, 95, 109, 110, 116, 95, 111, 112, 116, 115, 0, - 110, 102, 115, 95, 115, 101, 114, 118, 101, 114, 0, 115, 111, 95, 108, 114, 117, 0, 115, 111, - 95, 101, 120, 112, 105, 114, 101, 115, 0, 115, 111, 95, 115, 101, 114, 118, 101, 114, 95, 110, - 111, 100, 101, 0, 115, 111, 95, 99, 114, 101, 100, 0, 115, 111, 95, 108, 111, 99, 107, 0, 115, - 111, 95, 99, 111, 117, 110, 116, 0, 115, 111, 95, 102, 108, 97, 103, 115, 0, 115, 111, 95, 115, - 116, 97, 116, 101, 115, 0, 115, 111, 95, 115, 101, 113, 105, 100, 0, 115, 111, 95, 114, 101, - 99, 108, 97, 105, 109, 95, 115, 101, 113, 99, 111, 117, 110, 116, 0, 115, 111, 95, 100, 101, - 108, 101, 103, 114, 101, 116, 117, 114, 110, 95, 109, 117, 116, 101, 120, 0, 110, 102, 115, 52, - 95, 115, 116, 97, 116, 101, 95, 111, 119, 110, 101, 114, 0, 115, 116, 97, 116, 101, 95, 108, - 111, 99, 107, 0, 115, 101, 113, 108, 111, 99, 107, 0, 111, 112, 101, 110, 95, 115, 116, 97, - 116, 101, 105, 100, 0, 110, 95, 114, 100, 111, 110, 108, 121, 0, 110, 95, 119, 114, 111, 110, - 108, 121, 0, 110, 95, 114, 100, 119, 114, 0, 110, 102, 115, 52, 95, 115, 116, 97, 116, 101, 0, - 108, 115, 95, 102, 108, 97, 103, 115, 0, 108, 115, 95, 115, 101, 113, 105, 100, 0, 108, 115, - 95, 115, 116, 97, 116, 101, 105, 100, 0, 108, 115, 95, 99, 111, 117, 110, 116, 0, 108, 115, 95, - 111, 119, 110, 101, 114, 0, 110, 102, 115, 52, 95, 108, 111, 99, 107, 95, 115, 116, 97, 116, - 101, 0, 110, 102, 115, 52, 95, 108, 111, 99, 107, 95, 105, 110, 102, 111, 0, 97, 102, 115, 0, - 100, 101, 98, 117, 103, 95, 105, 100, 0, 99, 104, 101, 99, 107, 95, 102, 108, 97, 103, 115, 0, - 102, 108, 111, 99, 107, 0, 115, 112, 108, 105, 99, 101, 95, 119, 114, 105, 116, 101, 0, 115, - 101, 116, 108, 101, 97, 115, 101, 0, 102, 97, 108, 108, 111, 99, 97, 116, 101, 0, 99, 111, 112, - 121, 95, 102, 105, 108, 101, 95, 114, 97, 110, 103, 101, 0, 114, 101, 109, 97, 112, 95, 102, - 105, 108, 101, 95, 114, 97, 110, 103, 101, 0, 102, 105, 108, 101, 95, 111, 112, 101, 114, 97, - 116, 105, 111, 110, 115, 0, 102, 95, 108, 111, 99, 107, 0, 102, 95, 119, 114, 105, 116, 101, - 95, 104, 105, 110, 116, 0, 87, 82, 73, 84, 69, 95, 76, 73, 70, 69, 95, 78, 79, 84, 95, 83, 69, - 84, 0, 87, 82, 73, 84, 69, 95, 76, 73, 70, 69, 95, 78, 79, 78, 69, 0, 87, 82, 73, 84, 69, 95, - 76, 73, 70, 69, 95, 83, 72, 79, 82, 84, 0, 87, 82, 73, 84, 69, 95, 76, 73, 70, 69, 95, 77, 69, - 68, 73, 85, 77, 0, 87, 82, 73, 84, 69, 95, 76, 73, 70, 69, 95, 76, 79, 78, 71, 0, 87, 82, 73, - 84, 69, 95, 76, 73, 70, 69, 95, 69, 88, 84, 82, 69, 77, 69, 0, 114, 119, 95, 104, 105, 110, - 116, 0, 102, 95, 99, 111, 117, 110, 116, 0, 102, 95, 102, 108, 97, 103, 115, 0, 102, 95, 109, - 111, 100, 101, 0, 102, 95, 112, 111, 115, 95, 108, 111, 99, 107, 0, 102, 95, 112, 111, 115, 0, - 102, 95, 111, 119, 110, 101, 114, 0, 112, 105, 100, 95, 116, 121, 112, 101, 0, 80, 73, 68, 84, - 89, 80, 69, 95, 80, 73, 68, 0, 80, 73, 68, 84, 89, 80, 69, 95, 84, 71, 73, 68, 0, 80, 73, 68, - 84, 89, 80, 69, 95, 80, 71, 73, 68, 0, 80, 73, 68, 84, 89, 80, 69, 95, 83, 73, 68, 0, 80, 73, - 68, 84, 89, 80, 69, 95, 77, 65, 88, 0, 115, 105, 103, 110, 117, 109, 0, 102, 111, 119, 110, 95, - 115, 116, 114, 117, 99, 116, 0, 102, 95, 99, 114, 101, 100, 0, 102, 95, 114, 97, 0, 97, 115, - 121, 110, 99, 95, 115, 105, 122, 101, 0, 109, 109, 97, 112, 95, 109, 105, 115, 115, 0, 112, - 114, 101, 118, 95, 112, 111, 115, 0, 102, 105, 108, 101, 95, 114, 97, 95, 115, 116, 97, 116, - 101, 0, 102, 95, 118, 101, 114, 115, 105, 111, 110, 0, 102, 95, 115, 101, 99, 117, 114, 105, - 116, 121, 0, 102, 95, 101, 112, 0, 102, 95, 119, 98, 95, 101, 114, 114, 0, 101, 114, 114, 115, - 101, 113, 95, 116, 0, 102, 95, 115, 98, 95, 101, 114, 114, 0, 100, 105, 114, 102, 100, 0, 102, - 115, 95, 112, 97, 114, 97, 109, 101, 116, 101, 114, 0, 112, 97, 114, 115, 101, 95, 109, 111, - 110, 111, 108, 105, 116, 104, 105, 99, 0, 103, 101, 116, 95, 116, 114, 101, 101, 0, 114, 101, - 99, 111, 110, 102, 105, 103, 117, 114, 101, 0, 102, 115, 95, 99, 111, 110, 116, 101, 120, 116, - 95, 111, 112, 101, 114, 97, 116, 105, 111, 110, 115, 0, 117, 97, 112, 105, 95, 109, 117, 116, - 101, 120, 0, 102, 115, 95, 116, 121, 112, 101, 0, 102, 115, 95, 112, 114, 105, 118, 97, 116, - 101, 0, 115, 103, 101, 116, 95, 107, 101, 121, 0, 112, 114, 101, 102, 105, 120, 0, 110, 101, - 101, 100, 95, 102, 114, 101, 101, 0, 102, 99, 95, 108, 111, 103, 0, 112, 95, 108, 111, 103, 0, - 115, 111, 117, 114, 99, 101, 0, 115, 95, 102, 115, 95, 105, 110, 102, 111, 0, 115, 98, 95, 102, - 108, 97, 103, 115, 0, 115, 98, 95, 102, 108, 97, 103, 115, 95, 109, 97, 115, 107, 0, 115, 95, - 105, 102, 108, 97, 103, 115, 0, 108, 115, 109, 95, 102, 108, 97, 103, 115, 0, 112, 117, 114, - 112, 111, 115, 101, 0, 70, 83, 95, 67, 79, 78, 84, 69, 88, 84, 95, 70, 79, 82, 95, 77, 79, 85, - 78, 84, 0, 70, 83, 95, 67, 79, 78, 84, 69, 88, 84, 95, 70, 79, 82, 95, 83, 85, 66, 77, 79, 85, - 78, 84, 0, 70, 83, 95, 67, 79, 78, 84, 69, 88, 84, 95, 70, 79, 82, 95, 82, 69, 67, 79, 78, 70, - 73, 71, 85, 82, 69, 0, 102, 115, 95, 99, 111, 110, 116, 101, 120, 116, 95, 112, 117, 114, 112, - 111, 115, 101, 0, 112, 104, 97, 115, 101, 0, 70, 83, 95, 67, 79, 78, 84, 69, 88, 84, 95, 67, - 82, 69, 65, 84, 69, 95, 80, 65, 82, 65, 77, 83, 0, 70, 83, 95, 67, 79, 78, 84, 69, 88, 84, 95, - 67, 82, 69, 65, 84, 73, 78, 71, 0, 70, 83, 95, 67, 79, 78, 84, 69, 88, 84, 95, 65, 87, 65, 73, - 84, 73, 78, 71, 95, 77, 79, 85, 78, 84, 0, 70, 83, 95, 67, 79, 78, 84, 69, 88, 84, 95, 65, 87, - 65, 73, 84, 73, 78, 71, 95, 82, 69, 67, 79, 78, 70, 0, 70, 83, 95, 67, 79, 78, 84, 69, 88, 84, - 95, 82, 69, 67, 79, 78, 70, 95, 80, 65, 82, 65, 77, 83, 0, 70, 83, 95, 67, 79, 78, 84, 69, 88, - 84, 95, 82, 69, 67, 79, 78, 70, 73, 71, 85, 82, 73, 78, 71, 0, 70, 83, 95, 67, 79, 78, 84, 69, - 88, 84, 95, 70, 65, 73, 76, 69, 68, 0, 102, 115, 95, 99, 111, 110, 116, 101, 120, 116, 95, 112, - 104, 97, 115, 101, 0, 103, 108, 111, 98, 97, 108, 0, 111, 108, 100, 97, 112, 105, 0, 102, 115, - 95, 99, 111, 110, 116, 101, 120, 116, 0, 112, 97, 114, 97, 109, 101, 116, 101, 114, 115, 0, - 110, 101, 103, 97, 116, 101, 100, 0, 98, 111, 111, 108, 101, 97, 110, 0, 105, 110, 116, 95, 51, - 50, 0, 117, 105, 110, 116, 95, 51, 50, 0, 117, 105, 110, 116, 95, 54, 52, 0, 102, 115, 95, 112, - 97, 114, 115, 101, 95, 114, 101, 115, 117, 108, 116, 0, 102, 115, 95, 112, 97, 114, 97, 109, - 95, 116, 121, 112, 101, 0, 102, 115, 95, 112, 97, 114, 97, 109, 101, 116, 101, 114, 95, 115, - 112, 101, 99, 0, 107, 105, 108, 108, 95, 115, 98, 0, 102, 115, 95, 115, 117, 112, 101, 114, - 115, 0, 115, 95, 108, 111, 99, 107, 95, 107, 101, 121, 0, 115, 95, 117, 109, 111, 117, 110, - 116, 95, 107, 101, 121, 0, 115, 95, 118, 102, 115, 95, 114, 101, 110, 97, 109, 101, 95, 107, - 101, 121, 0, 115, 95, 119, 114, 105, 116, 101, 114, 115, 95, 107, 101, 121, 0, 105, 95, 108, - 111, 99, 107, 95, 107, 101, 121, 0, 105, 95, 109, 117, 116, 101, 120, 95, 107, 101, 121, 0, - 105, 110, 118, 97, 108, 105, 100, 97, 116, 101, 95, 108, 111, 99, 107, 95, 107, 101, 121, 0, - 105, 95, 109, 117, 116, 101, 120, 95, 100, 105, 114, 95, 107, 101, 121, 0, 102, 105, 108, 101, - 95, 115, 121, 115, 116, 101, 109, 95, 116, 121, 112, 101, 0, 115, 95, 111, 112, 0, 97, 108, - 108, 111, 99, 95, 105, 110, 111, 100, 101, 0, 100, 101, 115, 116, 114, 111, 121, 95, 105, 110, - 111, 100, 101, 0, 102, 114, 101, 101, 95, 105, 110, 111, 100, 101, 0, 100, 105, 114, 116, 121, - 95, 105, 110, 111, 100, 101, 0, 119, 114, 105, 116, 101, 95, 105, 110, 111, 100, 101, 0, 110, - 114, 95, 116, 111, 95, 119, 114, 105, 116, 101, 0, 112, 97, 103, 101, 115, 95, 115, 107, 105, - 112, 112, 101, 100, 0, 114, 97, 110, 103, 101, 95, 115, 116, 97, 114, 116, 0, 114, 97, 110, - 103, 101, 95, 101, 110, 100, 0, 115, 121, 110, 99, 95, 109, 111, 100, 101, 0, 87, 66, 95, 83, - 89, 78, 67, 95, 78, 79, 78, 69, 0, 87, 66, 95, 83, 89, 78, 67, 95, 65, 76, 76, 0, 119, 114, - 105, 116, 101, 98, 97, 99, 107, 95, 115, 121, 110, 99, 95, 109, 111, 100, 101, 115, 0, 102, - 111, 114, 95, 107, 117, 112, 100, 97, 116, 101, 0, 102, 111, 114, 95, 98, 97, 99, 107, 103, - 114, 111, 117, 110, 100, 0, 116, 97, 103, 103, 101, 100, 95, 119, 114, 105, 116, 101, 112, 97, - 103, 101, 115, 0, 102, 111, 114, 95, 114, 101, 99, 108, 97, 105, 109, 0, 114, 97, 110, 103, - 101, 95, 99, 121, 99, 108, 105, 99, 0, 102, 111, 114, 95, 115, 121, 110, 99, 0, 110, 111, 95, - 99, 103, 114, 111, 117, 112, 95, 111, 119, 110, 101, 114, 0, 112, 117, 110, 116, 95, 116, 111, - 95, 99, 103, 114, 111, 117, 112, 0, 119, 98, 95, 105, 100, 0, 119, 98, 95, 108, 99, 97, 110, - 100, 95, 105, 100, 0, 119, 98, 95, 116, 99, 97, 110, 100, 95, 105, 100, 0, 119, 98, 95, 98, - 121, 116, 101, 115, 0, 119, 98, 95, 108, 99, 97, 110, 100, 95, 98, 121, 116, 101, 115, 0, 119, - 98, 95, 116, 99, 97, 110, 100, 95, 98, 121, 116, 101, 115, 0, 119, 114, 105, 116, 101, 98, 97, - 99, 107, 95, 99, 111, 110, 116, 114, 111, 108, 0, 100, 114, 111, 112, 95, 105, 110, 111, 100, - 101, 0, 101, 118, 105, 99, 116, 95, 105, 110, 111, 100, 101, 0, 112, 117, 116, 95, 115, 117, - 112, 101, 114, 0, 115, 121, 110, 99, 95, 102, 115, 0, 102, 114, 101, 101, 122, 101, 95, 115, - 117, 112, 101, 114, 0, 102, 114, 101, 101, 122, 101, 95, 102, 115, 0, 116, 104, 97, 119, 95, - 115, 117, 112, 101, 114, 0, 117, 110, 102, 114, 101, 101, 122, 101, 95, 102, 115, 0, 102, 95, - 116, 121, 112, 101, 0, 102, 95, 98, 115, 105, 122, 101, 0, 102, 95, 98, 108, 111, 99, 107, 115, - 0, 102, 95, 98, 102, 114, 101, 101, 0, 102, 95, 98, 97, 118, 97, 105, 108, 0, 102, 95, 102, - 105, 108, 101, 115, 0, 102, 95, 102, 102, 114, 101, 101, 0, 102, 95, 102, 115, 105, 100, 0, - 102, 95, 110, 97, 109, 101, 108, 101, 110, 0, 102, 95, 102, 114, 115, 105, 122, 101, 0, 102, - 95, 115, 112, 97, 114, 101, 0, 107, 115, 116, 97, 116, 102, 115, 0, 114, 101, 109, 111, 117, - 110, 116, 95, 102, 115, 0, 117, 109, 111, 117, 110, 116, 95, 98, 101, 103, 105, 110, 0, 115, - 104, 111, 119, 95, 100, 101, 118, 110, 97, 109, 101, 0, 115, 104, 111, 119, 95, 115, 116, 97, - 116, 115, 0, 113, 117, 111, 116, 97, 95, 114, 101, 97, 100, 0, 113, 117, 111, 116, 97, 95, 119, - 114, 105, 116, 101, 0, 103, 101, 116, 95, 100, 113, 117, 111, 116, 115, 0, 100, 113, 95, 104, - 97, 115, 104, 0, 100, 113, 95, 105, 110, 117, 115, 101, 0, 100, 113, 95, 102, 114, 101, 101, 0, - 100, 113, 95, 100, 105, 114, 116, 121, 0, 100, 113, 95, 108, 111, 99, 107, 0, 100, 113, 95, - 100, 113, 98, 95, 108, 111, 99, 107, 0, 100, 113, 95, 99, 111, 117, 110, 116, 0, 100, 113, 95, - 115, 98, 0, 100, 113, 95, 105, 100, 0, 112, 114, 111, 106, 105, 100, 0, 112, 114, 111, 106, - 105, 100, 95, 116, 0, 107, 112, 114, 111, 106, 105, 100, 95, 116, 0, 85, 83, 82, 81, 85, 79, - 84, 65, 0, 71, 82, 80, 81, 85, 79, 84, 65, 0, 80, 82, 74, 81, 85, 79, 84, 65, 0, 113, 117, 111, - 116, 97, 95, 116, 121, 112, 101, 0, 107, 113, 105, 100, 0, 100, 113, 95, 111, 102, 102, 0, 100, - 113, 95, 102, 108, 97, 103, 115, 0, 100, 113, 95, 100, 113, 98, 0, 100, 113, 98, 95, 98, 104, - 97, 114, 100, 108, 105, 109, 105, 116, 0, 113, 115, 105, 122, 101, 95, 116, 0, 100, 113, 98, - 95, 98, 115, 111, 102, 116, 108, 105, 109, 105, 116, 0, 100, 113, 98, 95, 99, 117, 114, 115, - 112, 97, 99, 101, 0, 100, 113, 98, 95, 114, 115, 118, 115, 112, 97, 99, 101, 0, 100, 113, 98, - 95, 105, 104, 97, 114, 100, 108, 105, 109, 105, 116, 0, 100, 113, 98, 95, 105, 115, 111, 102, - 116, 108, 105, 109, 105, 116, 0, 100, 113, 98, 95, 99, 117, 114, 105, 110, 111, 100, 101, 115, - 0, 100, 113, 98, 95, 98, 116, 105, 109, 101, 0, 100, 113, 98, 95, 105, 116, 105, 109, 101, 0, - 109, 101, 109, 95, 100, 113, 98, 108, 107, 0, 100, 113, 117, 111, 116, 0, 110, 114, 95, 99, 97, - 99, 104, 101, 100, 95, 111, 98, 106, 101, 99, 116, 115, 0, 110, 105, 100, 0, 110, 114, 95, 116, - 111, 95, 115, 99, 97, 110, 0, 110, 114, 95, 115, 99, 97, 110, 110, 101, 100, 0, 115, 104, 114, - 105, 110, 107, 95, 99, 111, 110, 116, 114, 111, 108, 0, 102, 114, 101, 101, 95, 99, 97, 99, - 104, 101, 100, 95, 111, 98, 106, 101, 99, 116, 115, 0, 115, 117, 112, 101, 114, 95, 111, 112, - 101, 114, 97, 116, 105, 111, 110, 115, 0, 100, 113, 95, 111, 112, 0, 119, 114, 105, 116, 101, - 95, 100, 113, 117, 111, 116, 0, 97, 108, 108, 111, 99, 95, 100, 113, 117, 111, 116, 0, 100, - 101, 115, 116, 114, 111, 121, 95, 100, 113, 117, 111, 116, 0, 97, 99, 113, 117, 105, 114, 101, - 95, 100, 113, 117, 111, 116, 0, 114, 101, 108, 101, 97, 115, 101, 95, 100, 113, 117, 111, 116, - 0, 109, 97, 114, 107, 95, 100, 105, 114, 116, 121, 0, 119, 114, 105, 116, 101, 95, 105, 110, - 102, 111, 0, 103, 101, 116, 95, 114, 101, 115, 101, 114, 118, 101, 100, 95, 115, 112, 97, 99, - 101, 0, 103, 101, 116, 95, 112, 114, 111, 106, 105, 100, 0, 103, 101, 116, 95, 105, 110, 111, - 100, 101, 95, 117, 115, 97, 103, 101, 0, 103, 101, 116, 95, 110, 101, 120, 116, 95, 105, 100, - 0, 100, 113, 117, 111, 116, 95, 111, 112, 101, 114, 97, 116, 105, 111, 110, 115, 0, 115, 95, - 113, 99, 111, 112, 0, 113, 117, 111, 116, 97, 95, 111, 110, 0, 113, 117, 111, 116, 97, 95, 111, - 102, 102, 0, 113, 117, 111, 116, 97, 95, 101, 110, 97, 98, 108, 101, 0, 113, 117, 111, 116, 97, - 95, 100, 105, 115, 97, 98, 108, 101, 0, 113, 117, 111, 116, 97, 95, 115, 121, 110, 99, 0, 115, - 101, 116, 95, 105, 110, 102, 111, 0, 105, 95, 102, 105, 101, 108, 100, 109, 97, 115, 107, 0, - 105, 95, 115, 112, 99, 95, 116, 105, 109, 101, 108, 105, 109, 105, 116, 0, 105, 95, 105, 110, - 111, 95, 116, 105, 109, 101, 108, 105, 109, 105, 116, 0, 105, 95, 114, 116, 95, 115, 112, 99, - 95, 116, 105, 109, 101, 108, 105, 109, 105, 116, 0, 105, 95, 115, 112, 99, 95, 119, 97, 114, - 110, 108, 105, 109, 105, 116, 0, 105, 95, 105, 110, 111, 95, 119, 97, 114, 110, 108, 105, 109, - 105, 116, 0, 105, 95, 114, 116, 95, 115, 112, 99, 95, 119, 97, 114, 110, 108, 105, 109, 105, - 116, 0, 113, 99, 95, 105, 110, 102, 111, 0, 103, 101, 116, 95, 100, 113, 98, 108, 107, 0, 100, - 95, 102, 105, 101, 108, 100, 109, 97, 115, 107, 0, 100, 95, 115, 112, 99, 95, 104, 97, 114, - 100, 108, 105, 109, 105, 116, 0, 100, 95, 115, 112, 99, 95, 115, 111, 102, 116, 108, 105, 109, - 105, 116, 0, 100, 95, 105, 110, 111, 95, 104, 97, 114, 100, 108, 105, 109, 105, 116, 0, 100, - 95, 105, 110, 111, 95, 115, 111, 102, 116, 108, 105, 109, 105, 116, 0, 100, 95, 115, 112, 97, - 99, 101, 0, 100, 95, 105, 110, 111, 95, 99, 111, 117, 110, 116, 0, 100, 95, 105, 110, 111, 95, - 116, 105, 109, 101, 114, 0, 100, 95, 115, 112, 99, 95, 116, 105, 109, 101, 114, 0, 100, 95, - 105, 110, 111, 95, 119, 97, 114, 110, 115, 0, 100, 95, 115, 112, 99, 95, 119, 97, 114, 110, - 115, 0, 100, 95, 114, 116, 95, 115, 112, 99, 95, 104, 97, 114, 100, 108, 105, 109, 105, 116, 0, - 100, 95, 114, 116, 95, 115, 112, 99, 95, 115, 111, 102, 116, 108, 105, 109, 105, 116, 0, 100, - 95, 114, 116, 95, 115, 112, 97, 99, 101, 0, 100, 95, 114, 116, 95, 115, 112, 99, 95, 116, 105, - 109, 101, 114, 0, 100, 95, 114, 116, 95, 115, 112, 99, 95, 119, 97, 114, 110, 115, 0, 113, 99, - 95, 100, 113, 98, 108, 107, 0, 103, 101, 116, 95, 110, 101, 120, 116, 100, 113, 98, 108, 107, - 0, 115, 101, 116, 95, 100, 113, 98, 108, 107, 0, 103, 101, 116, 95, 115, 116, 97, 116, 101, 0, - 115, 95, 105, 110, 99, 111, 114, 101, 100, 113, 115, 0, 115, 95, 115, 116, 97, 116, 101, 0, - 115, 112, 99, 95, 116, 105, 109, 101, 108, 105, 109, 105, 116, 0, 105, 110, 111, 95, 116, 105, - 109, 101, 108, 105, 109, 105, 116, 0, 114, 116, 95, 115, 112, 99, 95, 116, 105, 109, 101, 108, - 105, 109, 105, 116, 0, 115, 112, 99, 95, 119, 97, 114, 110, 108, 105, 109, 105, 116, 0, 105, - 110, 111, 95, 119, 97, 114, 110, 108, 105, 109, 105, 116, 0, 114, 116, 95, 115, 112, 99, 95, - 119, 97, 114, 110, 108, 105, 109, 105, 116, 0, 98, 108, 107, 99, 110, 116, 95, 116, 0, 110, - 101, 120, 116, 101, 110, 116, 115, 0, 113, 99, 95, 116, 121, 112, 101, 95, 115, 116, 97, 116, - 101, 0, 113, 99, 95, 115, 116, 97, 116, 101, 0, 114, 109, 95, 120, 113, 117, 111, 116, 97, 0, - 113, 117, 111, 116, 97, 99, 116, 108, 95, 111, 112, 115, 0, 115, 95, 101, 120, 112, 111, 114, - 116, 95, 111, 112, 0, 101, 110, 99, 111, 100, 101, 95, 102, 104, 0, 102, 104, 95, 116, 111, 95, - 100, 101, 110, 116, 114, 121, 0, 105, 51, 50, 0, 112, 97, 114, 101, 110, 116, 95, 105, 110, - 111, 0, 117, 100, 102, 0, 112, 97, 114, 116, 114, 101, 102, 0, 112, 97, 114, 101, 110, 116, 95, - 112, 97, 114, 116, 114, 101, 102, 0, 112, 97, 114, 101, 110, 116, 95, 98, 108, 111, 99, 107, 0, - 112, 97, 114, 101, 110, 116, 95, 103, 101, 110, 101, 114, 97, 116, 105, 111, 110, 0, 102, 105, - 100, 0, 102, 104, 95, 116, 111, 95, 112, 97, 114, 101, 110, 116, 0, 99, 111, 109, 109, 105, - 116, 95, 109, 101, 116, 97, 100, 97, 116, 97, 0, 103, 101, 116, 95, 117, 117, 105, 100, 0, 109, - 97, 112, 95, 98, 108, 111, 99, 107, 115, 0, 105, 111, 109, 97, 112, 0, 99, 111, 109, 109, 105, - 116, 95, 98, 108, 111, 99, 107, 115, 0, 102, 101, 116, 99, 104, 95, 105, 118, 101, 114, 115, - 105, 111, 110, 0, 101, 120, 112, 111, 114, 116, 95, 111, 112, 101, 114, 97, 116, 105, 111, 110, - 115, 0, 115, 95, 102, 108, 97, 103, 115, 0, 115, 95, 109, 97, 103, 105, 99, 0, 115, 95, 114, - 111, 111, 116, 0, 115, 95, 117, 109, 111, 117, 110, 116, 0, 115, 95, 99, 111, 117, 110, 116, 0, - 115, 95, 97, 99, 116, 105, 118, 101, 0, 115, 95, 115, 101, 99, 117, 114, 105, 116, 121, 0, 115, - 95, 120, 97, 116, 116, 114, 0, 120, 97, 116, 116, 114, 95, 104, 97, 110, 100, 108, 101, 114, 0, - 115, 95, 99, 111, 112, 0, 107, 101, 121, 95, 112, 114, 101, 102, 105, 120, 0, 103, 101, 116, - 95, 99, 111, 110, 116, 101, 120, 116, 0, 115, 101, 116, 95, 99, 111, 110, 116, 101, 120, 116, - 0, 103, 101, 116, 95, 100, 117, 109, 109, 121, 95, 112, 111, 108, 105, 99, 121, 0, 118, 49, 0, - 99, 111, 110, 116, 101, 110, 116, 115, 95, 101, 110, 99, 114, 121, 112, 116, 105, 111, 110, 95, - 109, 111, 100, 101, 0, 102, 105, 108, 101, 110, 97, 109, 101, 115, 95, 101, 110, 99, 114, 121, - 112, 116, 105, 111, 110, 95, 109, 111, 100, 101, 0, 109, 97, 115, 116, 101, 114, 95, 107, 101, - 121, 95, 100, 101, 115, 99, 114, 105, 112, 116, 111, 114, 0, 102, 115, 99, 114, 121, 112, 116, - 95, 112, 111, 108, 105, 99, 121, 95, 118, 49, 0, 118, 50, 0, 109, 97, 115, 116, 101, 114, 95, - 107, 101, 121, 95, 105, 100, 101, 110, 116, 105, 102, 105, 101, 114, 0, 102, 115, 99, 114, 121, - 112, 116, 95, 112, 111, 108, 105, 99, 121, 95, 118, 50, 0, 102, 115, 99, 114, 121, 112, 116, - 95, 112, 111, 108, 105, 99, 121, 0, 101, 109, 112, 116, 121, 95, 100, 105, 114, 0, 104, 97, - 115, 95, 115, 116, 97, 98, 108, 101, 95, 105, 110, 111, 100, 101, 115, 0, 103, 101, 116, 95, - 105, 110, 111, 95, 97, 110, 100, 95, 108, 98, 108, 107, 95, 98, 105, 116, 115, 0, 103, 101, - 116, 95, 110, 117, 109, 95, 100, 101, 118, 105, 99, 101, 115, 0, 103, 101, 116, 95, 100, 101, - 118, 105, 99, 101, 115, 0, 102, 115, 99, 114, 121, 112, 116, 95, 111, 112, 101, 114, 97, 116, - 105, 111, 110, 115, 0, 115, 95, 109, 97, 115, 116, 101, 114, 95, 107, 101, 121, 115, 0, 115, - 95, 118, 111, 112, 0, 98, 101, 103, 105, 110, 95, 101, 110, 97, 98, 108, 101, 95, 118, 101, - 114, 105, 116, 121, 0, 101, 110, 100, 95, 101, 110, 97, 98, 108, 101, 95, 118, 101, 114, 105, - 116, 121, 0, 103, 101, 116, 95, 118, 101, 114, 105, 116, 121, 95, 100, 101, 115, 99, 114, 105, - 112, 116, 111, 114, 0, 114, 101, 97, 100, 95, 109, 101, 114, 107, 108, 101, 95, 116, 114, 101, - 101, 95, 112, 97, 103, 101, 0, 119, 114, 105, 116, 101, 95, 109, 101, 114, 107, 108, 101, 95, - 116, 114, 101, 101, 95, 98, 108, 111, 99, 107, 0, 102, 115, 118, 101, 114, 105, 116, 121, 95, - 111, 112, 101, 114, 97, 116, 105, 111, 110, 115, 0, 115, 95, 101, 110, 99, 111, 100, 105, 110, - 103, 0, 99, 104, 97, 114, 115, 101, 116, 0, 117, 110, 105, 99, 111, 100, 101, 95, 109, 97, 112, - 0, 115, 95, 101, 110, 99, 111, 100, 105, 110, 103, 95, 102, 108, 97, 103, 115, 0, 115, 95, 114, - 111, 111, 116, 115, 0, 104, 108, 105, 115, 116, 95, 98, 108, 95, 104, 101, 97, 100, 0, 115, 95, - 109, 111, 117, 110, 116, 115, 0, 115, 95, 98, 100, 101, 118, 0, 115, 95, 98, 100, 105, 0, 115, - 95, 109, 116, 100, 0, 109, 116, 100, 95, 105, 110, 102, 111, 0, 115, 95, 105, 110, 115, 116, - 97, 110, 99, 101, 115, 0, 115, 95, 113, 117, 111, 116, 97, 95, 116, 121, 112, 101, 115, 0, 115, - 95, 100, 113, 117, 111, 116, 0, 100, 113, 105, 111, 95, 115, 101, 109, 0, 100, 113, 105, 95, - 102, 111, 114, 109, 97, 116, 0, 113, 102, 95, 102, 109, 116, 95, 105, 100, 0, 113, 102, 95, - 111, 112, 115, 0, 99, 104, 101, 99, 107, 95, 113, 117, 111, 116, 97, 95, 102, 105, 108, 101, 0, - 114, 101, 97, 100, 95, 102, 105, 108, 101, 95, 105, 110, 102, 111, 0, 119, 114, 105, 116, 101, - 95, 102, 105, 108, 101, 95, 105, 110, 102, 111, 0, 102, 114, 101, 101, 95, 102, 105, 108, 101, - 95, 105, 110, 102, 111, 0, 114, 101, 97, 100, 95, 100, 113, 98, 108, 107, 0, 99, 111, 109, 109, - 105, 116, 95, 100, 113, 98, 108, 107, 0, 114, 101, 108, 101, 97, 115, 101, 95, 100, 113, 98, - 108, 107, 0, 113, 117, 111, 116, 97, 95, 102, 111, 114, 109, 97, 116, 95, 111, 112, 115, 0, - 113, 102, 95, 111, 119, 110, 101, 114, 0, 113, 102, 95, 110, 101, 120, 116, 0, 113, 117, 111, - 116, 97, 95, 102, 111, 114, 109, 97, 116, 95, 116, 121, 112, 101, 0, 100, 113, 105, 95, 102, - 109, 116, 95, 105, 100, 0, 100, 113, 105, 95, 100, 105, 114, 116, 121, 95, 108, 105, 115, 116, - 0, 100, 113, 105, 95, 102, 108, 97, 103, 115, 0, 100, 113, 105, 95, 98, 103, 114, 97, 99, 101, - 0, 100, 113, 105, 95, 105, 103, 114, 97, 99, 101, 0, 100, 113, 105, 95, 109, 97, 120, 95, 115, - 112, 99, 95, 108, 105, 109, 105, 116, 0, 100, 113, 105, 95, 109, 97, 120, 95, 105, 110, 111, - 95, 108, 105, 109, 105, 116, 0, 100, 113, 105, 95, 112, 114, 105, 118, 0, 109, 101, 109, 95, - 100, 113, 105, 110, 102, 111, 0, 113, 117, 111, 116, 97, 95, 105, 110, 102, 111, 0, 115, 95, - 119, 114, 105, 116, 101, 114, 115, 0, 119, 97, 105, 116, 95, 117, 110, 102, 114, 111, 122, 101, - 110, 0, 114, 119, 95, 115, 101, 109, 0, 114, 115, 115, 0, 103, 112, 95, 115, 116, 97, 116, 101, - 0, 103, 112, 95, 99, 111, 117, 110, 116, 0, 103, 112, 95, 119, 97, 105, 116, 0, 99, 98, 95, - 104, 101, 97, 100, 0, 114, 99, 117, 95, 115, 121, 110, 99, 0, 114, 101, 97, 100, 95, 99, 111, - 117, 110, 116, 0, 119, 114, 105, 116, 101, 114, 0, 112, 101, 114, 99, 112, 117, 95, 114, 119, - 95, 115, 101, 109, 97, 112, 104, 111, 114, 101, 0, 115, 98, 95, 119, 114, 105, 116, 101, 114, - 115, 0, 115, 95, 116, 105, 109, 101, 95, 103, 114, 97, 110, 0, 115, 95, 116, 105, 109, 101, 95, - 109, 105, 110, 0, 115, 95, 116, 105, 109, 101, 95, 109, 97, 120, 0, 115, 95, 102, 115, 110, - 111, 116, 105, 102, 121, 95, 109, 97, 115, 107, 0, 115, 95, 102, 115, 110, 111, 116, 105, 102, - 121, 95, 109, 97, 114, 107, 115, 0, 115, 95, 105, 100, 0, 115, 95, 117, 117, 105, 100, 0, 117, - 117, 105, 100, 95, 116, 0, 115, 95, 109, 97, 120, 95, 108, 105, 110, 107, 115, 0, 115, 95, 109, - 111, 100, 101, 0, 115, 95, 118, 102, 115, 95, 114, 101, 110, 97, 109, 101, 95, 109, 117, 116, - 101, 120, 0, 115, 95, 115, 117, 98, 116, 121, 112, 101, 0, 115, 95, 100, 95, 111, 112, 0, 99, - 108, 101, 97, 110, 99, 97, 99, 104, 101, 95, 112, 111, 111, 108, 105, 100, 0, 115, 95, 115, - 104, 114, 105, 110, 107, 0, 99, 111, 117, 110, 116, 95, 111, 98, 106, 101, 99, 116, 115, 0, - 115, 99, 97, 110, 95, 111, 98, 106, 101, 99, 116, 115, 0, 115, 101, 101, 107, 115, 0, 115, 104, - 114, 105, 110, 107, 101, 114, 0, 115, 95, 114, 101, 109, 111, 118, 101, 95, 99, 111, 117, 110, - 116, 0, 115, 95, 102, 115, 110, 111, 116, 105, 102, 121, 95, 99, 111, 110, 110, 101, 99, 116, - 111, 114, 115, 0, 115, 95, 114, 101, 97, 100, 111, 110, 108, 121, 95, 114, 101, 109, 111, 117, - 110, 116, 0, 115, 95, 119, 98, 95, 101, 114, 114, 0, 115, 95, 100, 105, 111, 95, 100, 111, 110, - 101, 95, 119, 113, 0, 115, 95, 112, 105, 110, 115, 0, 115, 95, 117, 115, 101, 114, 95, 110, - 115, 0, 115, 95, 100, 101, 110, 116, 114, 121, 95, 108, 114, 117, 0, 110, 114, 95, 105, 116, - 101, 109, 115, 0, 108, 105, 115, 116, 95, 108, 114, 117, 95, 111, 110, 101, 0, 109, 101, 109, - 99, 103, 95, 108, 114, 117, 115, 0, 108, 105, 115, 116, 95, 108, 114, 117, 95, 109, 101, 109, - 99, 103, 0, 108, 105, 115, 116, 95, 108, 114, 117, 95, 110, 111, 100, 101, 0, 115, 104, 114, - 105, 110, 107, 101, 114, 95, 105, 100, 0, 109, 101, 109, 99, 103, 95, 97, 119, 97, 114, 101, 0, - 108, 105, 115, 116, 95, 108, 114, 117, 0, 115, 95, 105, 110, 111, 100, 101, 95, 108, 114, 117, - 0, 115, 95, 115, 121, 110, 99, 95, 108, 111, 99, 107, 0, 115, 95, 115, 116, 97, 99, 107, 95, - 100, 101, 112, 116, 104, 0, 115, 95, 105, 110, 111, 100, 101, 95, 108, 105, 115, 116, 95, 108, - 111, 99, 107, 0, 115, 95, 105, 110, 111, 100, 101, 115, 0, 115, 95, 105, 110, 111, 100, 101, - 95, 119, 98, 108, 105, 115, 116, 95, 108, 111, 99, 107, 0, 115, 95, 105, 110, 111, 100, 101, - 115, 95, 119, 98, 0, 115, 117, 112, 101, 114, 95, 98, 108, 111, 99, 107, 0, 109, 110, 116, 95, - 102, 108, 97, 103, 115, 0, 109, 110, 116, 95, 117, 115, 101, 114, 110, 115, 0, 118, 102, 115, - 109, 111, 117, 110, 116, 0, 100, 95, 109, 97, 110, 97, 103, 101, 0, 100, 95, 114, 101, 97, 108, - 0, 100, 101, 110, 116, 114, 121, 95, 111, 112, 101, 114, 97, 116, 105, 111, 110, 115, 0, 100, - 95, 115, 98, 0, 100, 95, 116, 105, 109, 101, 0, 100, 95, 102, 115, 100, 97, 116, 97, 0, 100, - 95, 108, 114, 117, 0, 100, 95, 119, 97, 105, 116, 0, 100, 95, 99, 104, 105, 108, 100, 0, 100, - 95, 115, 117, 98, 100, 105, 114, 115, 0, 100, 95, 117, 0, 100, 95, 97, 108, 105, 97, 115, 0, - 100, 95, 105, 110, 95, 108, 111, 111, 107, 117, 112, 95, 104, 97, 115, 104, 0, 100, 95, 114, - 99, 117, 0, 103, 101, 116, 95, 108, 105, 110, 107, 0, 112, 101, 114, 109, 105, 115, 115, 105, - 111, 110, 0, 103, 101, 116, 95, 97, 99, 108, 0, 114, 101, 115, 117, 108, 116, 95, 109, 97, 115, - 107, 0, 97, 116, 116, 114, 105, 98, 117, 116, 101, 115, 0, 97, 116, 116, 114, 105, 98, 117, - 116, 101, 115, 95, 109, 97, 115, 107, 0, 98, 116, 105, 109, 101, 0, 107, 115, 116, 97, 116, 0, - 108, 105, 115, 116, 120, 97, 116, 116, 114, 0, 102, 105, 101, 109, 97, 112, 0, 102, 105, 95, - 102, 108, 97, 103, 115, 0, 102, 105, 95, 101, 120, 116, 101, 110, 116, 115, 95, 109, 97, 112, - 112, 101, 100, 0, 102, 105, 95, 101, 120, 116, 101, 110, 116, 115, 95, 109, 97, 120, 0, 102, - 105, 95, 101, 120, 116, 101, 110, 116, 115, 95, 115, 116, 97, 114, 116, 0, 102, 101, 95, 108, - 111, 103, 105, 99, 97, 108, 0, 102, 101, 95, 112, 104, 121, 115, 105, 99, 97, 108, 0, 102, 101, - 95, 108, 101, 110, 103, 116, 104, 0, 102, 101, 95, 114, 101, 115, 101, 114, 118, 101, 100, 54, - 52, 0, 102, 101, 95, 102, 108, 97, 103, 115, 0, 102, 101, 95, 114, 101, 115, 101, 114, 118, - 101, 100, 0, 102, 105, 101, 109, 97, 112, 95, 101, 120, 116, 101, 110, 116, 0, 102, 105, 101, - 109, 97, 112, 95, 101, 120, 116, 101, 110, 116, 95, 105, 110, 102, 111, 0, 117, 112, 100, 97, - 116, 101, 95, 116, 105, 109, 101, 0, 97, 116, 111, 109, 105, 99, 95, 111, 112, 101, 110, 0, - 116, 109, 112, 102, 105, 108, 101, 0, 115, 101, 116, 95, 97, 99, 108, 0, 102, 105, 108, 101, - 97, 116, 116, 114, 95, 115, 101, 116, 0, 102, 115, 120, 95, 120, 102, 108, 97, 103, 115, 0, - 102, 115, 120, 95, 101, 120, 116, 115, 105, 122, 101, 0, 102, 115, 120, 95, 110, 101, 120, 116, - 101, 110, 116, 115, 0, 102, 115, 120, 95, 112, 114, 111, 106, 105, 100, 0, 102, 115, 120, 95, - 99, 111, 119, 101, 120, 116, 115, 105, 122, 101, 0, 102, 108, 97, 103, 115, 95, 118, 97, 108, - 105, 100, 0, 102, 115, 120, 95, 118, 97, 108, 105, 100, 0, 102, 105, 108, 101, 97, 116, 116, - 114, 0, 102, 105, 108, 101, 97, 116, 116, 114, 95, 103, 101, 116, 0, 105, 110, 111, 100, 101, - 95, 111, 112, 101, 114, 97, 116, 105, 111, 110, 115, 0, 105, 95, 115, 98, 0, 105, 95, 109, 97, - 112, 112, 105, 110, 103, 0, 105, 95, 115, 101, 99, 117, 114, 105, 116, 121, 0, 105, 95, 105, - 110, 111, 0, 105, 95, 110, 108, 105, 110, 107, 0, 95, 95, 105, 95, 110, 108, 105, 110, 107, 0, - 105, 95, 114, 100, 101, 118, 0, 105, 95, 115, 105, 122, 101, 0, 105, 95, 97, 116, 105, 109, - 101, 0, 105, 95, 109, 116, 105, 109, 101, 0, 105, 95, 99, 116, 105, 109, 101, 0, 105, 95, 108, - 111, 99, 107, 0, 105, 95, 98, 121, 116, 101, 115, 0, 105, 95, 98, 108, 107, 98, 105, 116, 115, - 0, 105, 95, 119, 114, 105, 116, 101, 95, 104, 105, 110, 116, 0, 105, 95, 98, 108, 111, 99, 107, - 115, 0, 105, 95, 115, 116, 97, 116, 101, 0, 105, 95, 114, 119, 115, 101, 109, 0, 100, 105, 114, - 116, 105, 101, 100, 95, 119, 104, 101, 110, 0, 100, 105, 114, 116, 105, 101, 100, 95, 116, 105, - 109, 101, 95, 119, 104, 101, 110, 0, 105, 95, 104, 97, 115, 104, 0, 105, 95, 105, 111, 95, 108, - 105, 115, 116, 0, 105, 95, 119, 98, 0, 105, 95, 119, 98, 95, 102, 114, 110, 95, 119, 105, 110, - 110, 101, 114, 0, 105, 95, 119, 98, 95, 102, 114, 110, 95, 97, 118, 103, 95, 116, 105, 109, - 101, 0, 105, 95, 119, 98, 95, 102, 114, 110, 95, 104, 105, 115, 116, 111, 114, 121, 0, 105, 95, - 108, 114, 117, 0, 105, 95, 115, 98, 95, 108, 105, 115, 116, 0, 105, 95, 119, 98, 95, 108, 105, - 115, 116, 0, 105, 95, 100, 101, 110, 116, 114, 121, 0, 105, 95, 114, 99, 117, 0, 105, 95, 118, - 101, 114, 115, 105, 111, 110, 0, 105, 95, 115, 101, 113, 117, 101, 110, 99, 101, 0, 105, 95, - 99, 111, 117, 110, 116, 0, 105, 95, 100, 105, 111, 95, 99, 111, 117, 110, 116, 0, 105, 95, 119, - 114, 105, 116, 101, 99, 111, 117, 110, 116, 0, 105, 95, 114, 101, 97, 100, 99, 111, 117, 110, - 116, 0, 105, 95, 102, 111, 112, 0, 105, 95, 102, 108, 99, 116, 120, 0, 102, 108, 99, 95, 108, - 111, 99, 107, 0, 102, 108, 99, 95, 102, 108, 111, 99, 107, 0, 102, 108, 99, 95, 112, 111, 115, - 105, 120, 0, 102, 108, 99, 95, 108, 101, 97, 115, 101, 0, 102, 105, 108, 101, 95, 108, 111, 99, - 107, 95, 99, 111, 110, 116, 101, 120, 116, 0, 105, 95, 100, 97, 116, 97, 0, 105, 95, 100, 101, - 118, 105, 99, 101, 115, 0, 105, 95, 112, 105, 112, 101, 0, 105, 95, 99, 100, 101, 118, 0, 105, - 95, 108, 105, 110, 107, 0, 105, 95, 100, 105, 114, 95, 115, 101, 113, 0, 105, 95, 103, 101, - 110, 101, 114, 97, 116, 105, 111, 110, 0, 105, 95, 102, 115, 110, 111, 116, 105, 102, 121, 95, - 109, 97, 115, 107, 0, 105, 95, 102, 115, 110, 111, 116, 105, 102, 121, 95, 109, 97, 114, 107, - 115, 0, 105, 95, 99, 114, 121, 112, 116, 95, 105, 110, 102, 111, 0, 99, 105, 95, 101, 110, 99, - 95, 107, 101, 121, 0, 116, 102, 109, 0, 114, 101, 113, 115, 105, 122, 101, 0, 99, 114, 116, 95, - 102, 108, 97, 103, 115, 0, 95, 95, 99, 114, 116, 95, 97, 108, 103, 0, 99, 114, 97, 95, 108, - 105, 115, 116, 0, 99, 114, 97, 95, 117, 115, 101, 114, 115, 0, 99, 114, 97, 95, 102, 108, 97, - 103, 115, 0, 99, 114, 97, 95, 98, 108, 111, 99, 107, 115, 105, 122, 101, 0, 99, 114, 97, 95, - 99, 116, 120, 115, 105, 122, 101, 0, 99, 114, 97, 95, 97, 108, 105, 103, 110, 109, 97, 115, - 107, 0, 99, 114, 97, 95, 112, 114, 105, 111, 114, 105, 116, 121, 0, 99, 114, 97, 95, 114, 101, - 102, 99, 110, 116, 0, 99, 114, 97, 95, 110, 97, 109, 101, 0, 99, 114, 97, 95, 100, 114, 105, - 118, 101, 114, 95, 110, 97, 109, 101, 0, 99, 114, 97, 95, 116, 121, 112, 101, 0, 99, 116, 120, - 115, 105, 122, 101, 0, 101, 120, 116, 115, 105, 122, 101, 0, 105, 110, 105, 116, 95, 116, 102, - 109, 0, 97, 108, 103, 0, 116, 109, 112, 108, 0, 105, 110, 115, 116, 97, 110, 99, 101, 115, 0, - 114, 116, 97, 95, 108, 101, 110, 0, 114, 116, 97, 95, 116, 121, 112, 101, 0, 114, 116, 97, 116, - 116, 114, 0, 99, 114, 121, 112, 116, 111, 95, 116, 101, 109, 112, 108, 97, 116, 101, 0, 115, - 112, 97, 119, 110, 115, 0, 105, 110, 115, 116, 0, 102, 114, 111, 110, 116, 101, 110, 100, 0, - 99, 114, 121, 112, 116, 111, 95, 115, 112, 97, 119, 110, 0, 95, 95, 99, 116, 120, 0, 99, 114, - 121, 112, 116, 111, 95, 105, 110, 115, 116, 97, 110, 99, 101, 0, 109, 97, 115, 107, 99, 108, - 101, 97, 114, 0, 109, 97, 115, 107, 115, 101, 116, 0, 116, 102, 109, 115, 105, 122, 101, 0, 99, - 114, 121, 112, 116, 111, 95, 116, 121, 112, 101, 0, 99, 114, 97, 95, 117, 0, 99, 105, 112, 104, - 101, 114, 0, 99, 105, 97, 95, 109, 105, 110, 95, 107, 101, 121, 115, 105, 122, 101, 0, 99, 105, - 97, 95, 109, 97, 120, 95, 107, 101, 121, 115, 105, 122, 101, 0, 99, 105, 97, 95, 115, 101, 116, - 107, 101, 121, 0, 99, 105, 97, 95, 101, 110, 99, 114, 121, 112, 116, 0, 99, 105, 97, 95, 100, - 101, 99, 114, 121, 112, 116, 0, 99, 105, 112, 104, 101, 114, 95, 97, 108, 103, 0, 99, 111, 109, - 112, 114, 101, 115, 115, 0, 99, 111, 97, 95, 99, 111, 109, 112, 114, 101, 115, 115, 0, 99, 111, - 97, 95, 100, 101, 99, 111, 109, 112, 114, 101, 115, 115, 0, 99, 111, 109, 112, 114, 101, 115, - 115, 95, 97, 108, 103, 0, 99, 114, 97, 95, 105, 110, 105, 116, 0, 99, 114, 97, 95, 101, 120, - 105, 116, 0, 99, 114, 97, 95, 100, 101, 115, 116, 114, 111, 121, 0, 99, 114, 97, 95, 109, 111, - 100, 117, 108, 101, 0, 101, 110, 99, 114, 121, 112, 116, 95, 99, 110, 116, 0, 101, 110, 99, - 114, 121, 112, 116, 95, 116, 108, 101, 110, 0, 100, 101, 99, 114, 121, 112, 116, 95, 99, 110, - 116, 0, 100, 101, 99, 114, 121, 112, 116, 95, 116, 108, 101, 110, 0, 101, 114, 114, 95, 99, - 110, 116, 0, 99, 114, 121, 112, 116, 111, 95, 105, 115, 116, 97, 116, 95, 97, 101, 97, 100, 0, - 97, 107, 99, 105, 112, 104, 101, 114, 0, 118, 101, 114, 105, 102, 121, 95, 99, 110, 116, 0, - 115, 105, 103, 110, 95, 99, 110, 116, 0, 99, 114, 121, 112, 116, 111, 95, 105, 115, 116, 97, - 116, 95, 97, 107, 99, 105, 112, 104, 101, 114, 0, 99, 114, 121, 112, 116, 111, 95, 105, 115, - 116, 97, 116, 95, 99, 105, 112, 104, 101, 114, 0, 99, 111, 109, 112, 114, 101, 115, 115, 95, - 99, 110, 116, 0, 99, 111, 109, 112, 114, 101, 115, 115, 95, 116, 108, 101, 110, 0, 100, 101, - 99, 111, 109, 112, 114, 101, 115, 115, 95, 99, 110, 116, 0, 100, 101, 99, 111, 109, 112, 114, - 101, 115, 115, 95, 116, 108, 101, 110, 0, 99, 114, 121, 112, 116, 111, 95, 105, 115, 116, 97, - 116, 95, 99, 111, 109, 112, 114, 101, 115, 115, 0, 104, 97, 115, 104, 95, 99, 110, 116, 0, 104, - 97, 115, 104, 95, 116, 108, 101, 110, 0, 99, 114, 121, 112, 116, 111, 95, 105, 115, 116, 97, - 116, 95, 104, 97, 115, 104, 0, 103, 101, 110, 101, 114, 97, 116, 101, 95, 99, 110, 116, 0, 103, - 101, 110, 101, 114, 97, 116, 101, 95, 116, 108, 101, 110, 0, 115, 101, 101, 100, 95, 99, 110, - 116, 0, 99, 114, 121, 112, 116, 111, 95, 105, 115, 116, 97, 116, 95, 114, 110, 103, 0, 107, - 112, 112, 0, 115, 101, 116, 115, 101, 99, 114, 101, 116, 95, 99, 110, 116, 0, 103, 101, 110, - 101, 114, 97, 116, 101, 95, 112, 117, 98, 108, 105, 99, 95, 107, 101, 121, 95, 99, 110, 116, 0, - 99, 111, 109, 112, 117, 116, 101, 95, 115, 104, 97, 114, 101, 100, 95, 115, 101, 99, 114, 101, - 116, 95, 99, 110, 116, 0, 99, 114, 121, 112, 116, 111, 95, 105, 115, 116, 97, 116, 95, 107, - 112, 112, 0, 99, 114, 121, 112, 116, 111, 95, 97, 108, 103, 0, 95, 95, 99, 114, 116, 95, 99, - 116, 120, 0, 99, 114, 121, 112, 116, 111, 95, 116, 102, 109, 0, 99, 114, 121, 112, 116, 111, - 95, 115, 107, 99, 105, 112, 104, 101, 114, 0, 98, 108, 107, 95, 107, 101, 121, 0, 110, 117, - 109, 95, 100, 101, 118, 115, 0, 100, 101, 118, 115, 0, 102, 115, 99, 114, 121, 112, 116, 95, - 98, 108, 107, 95, 99, 114, 121, 112, 116, 111, 95, 107, 101, 121, 0, 102, 115, 99, 114, 121, - 112, 116, 95, 112, 114, 101, 112, 97, 114, 101, 100, 95, 107, 101, 121, 0, 99, 105, 95, 111, - 119, 110, 115, 95, 107, 101, 121, 0, 99, 105, 95, 105, 110, 108, 105, 110, 101, 99, 114, 121, - 112, 116, 0, 99, 105, 95, 109, 111, 100, 101, 0, 102, 114, 105, 101, 110, 100, 108, 121, 95, - 110, 97, 109, 101, 0, 99, 105, 112, 104, 101, 114, 95, 115, 116, 114, 0, 107, 101, 121, 115, - 105, 122, 101, 0, 115, 101, 99, 117, 114, 105, 116, 121, 95, 115, 116, 114, 101, 110, 103, 116, - 104, 0, 105, 118, 115, 105, 122, 101, 0, 108, 111, 103, 103, 101, 100, 95, 105, 109, 112, 108, - 95, 110, 97, 109, 101, 0, 98, 108, 107, 95, 99, 114, 121, 112, 116, 111, 95, 109, 111, 100, - 101, 0, 102, 115, 99, 114, 121, 112, 116, 95, 109, 111, 100, 101, 0, 99, 105, 95, 105, 110, - 111, 100, 101, 0, 99, 105, 95, 109, 97, 115, 116, 101, 114, 95, 107, 101, 121, 0, 99, 105, 95, - 109, 97, 115, 116, 101, 114, 95, 107, 101, 121, 95, 108, 105, 110, 107, 0, 99, 105, 95, 100, - 105, 114, 101, 99, 116, 95, 107, 101, 121, 0, 100, 107, 95, 110, 111, 100, 101, 0, 100, 107, - 95, 114, 101, 102, 99, 111, 117, 110, 116, 0, 100, 107, 95, 109, 111, 100, 101, 0, 100, 107, - 95, 107, 101, 121, 0, 100, 107, 95, 100, 101, 115, 99, 114, 105, 112, 116, 111, 114, 0, 100, - 107, 95, 114, 97, 119, 0, 102, 115, 99, 114, 121, 112, 116, 95, 100, 105, 114, 101, 99, 116, - 95, 107, 101, 121, 0, 99, 105, 95, 100, 105, 114, 104, 97, 115, 104, 95, 107, 101, 121, 0, 99, - 105, 95, 100, 105, 114, 104, 97, 115, 104, 95, 107, 101, 121, 95, 105, 110, 105, 116, 105, 97, - 108, 105, 122, 101, 100, 0, 99, 105, 95, 112, 111, 108, 105, 99, 121, 0, 99, 105, 95, 110, 111, - 110, 99, 101, 0, 99, 105, 95, 104, 97, 115, 104, 101, 100, 95, 105, 110, 111, 0, 102, 115, 99, - 114, 121, 112, 116, 95, 105, 110, 102, 111, 0, 105, 95, 118, 101, 114, 105, 116, 121, 95, 105, - 110, 102, 111, 0, 116, 114, 101, 101, 95, 112, 97, 114, 97, 109, 115, 0, 104, 97, 115, 104, 95, - 97, 108, 103, 0, 99, 114, 121, 112, 116, 111, 95, 99, 111, 109, 112, 108, 101, 116, 105, 111, - 110, 95, 116, 0, 99, 114, 121, 112, 116, 111, 95, 97, 115, 121, 110, 99, 95, 114, 101, 113, - 117, 101, 115, 116, 0, 110, 98, 121, 116, 101, 115, 0, 97, 104, 97, 115, 104, 95, 114, 101, - 113, 117, 101, 115, 116, 0, 102, 105, 110, 97, 108, 0, 102, 105, 110, 117, 112, 0, 100, 105, - 103, 101, 115, 116, 0, 101, 120, 112, 111, 114, 116, 0, 105, 109, 112, 111, 114, 116, 0, 115, - 101, 116, 107, 101, 121, 0, 99, 114, 121, 112, 116, 111, 95, 97, 104, 97, 115, 104, 0, 100, - 105, 103, 101, 115, 116, 95, 115, 105, 122, 101, 0, 98, 108, 111, 99, 107, 95, 115, 105, 122, - 101, 0, 114, 101, 113, 95, 112, 111, 111, 108, 0, 102, 115, 118, 101, 114, 105, 116, 121, 95, - 104, 97, 115, 104, 95, 97, 108, 103, 0, 104, 97, 115, 104, 115, 116, 97, 116, 101, 0, 104, 97, - 115, 104, 101, 115, 95, 112, 101, 114, 95, 98, 108, 111, 99, 107, 0, 108, 111, 103, 95, 98, - 108, 111, 99, 107, 115, 105, 122, 101, 0, 108, 111, 103, 95, 97, 114, 105, 116, 121, 0, 110, - 117, 109, 95, 108, 101, 118, 101, 108, 115, 0, 116, 114, 101, 101, 95, 115, 105, 122, 101, 0, - 108, 101, 118, 101, 108, 48, 95, 98, 108, 111, 99, 107, 115, 0, 108, 101, 118, 101, 108, 95, - 115, 116, 97, 114, 116, 0, 109, 101, 114, 107, 108, 101, 95, 116, 114, 101, 101, 95, 112, 97, - 114, 97, 109, 115, 0, 114, 111, 111, 116, 95, 104, 97, 115, 104, 0, 102, 105, 108, 101, 95, - 100, 105, 103, 101, 115, 116, 0, 102, 115, 118, 101, 114, 105, 116, 121, 95, 105, 110, 102, - 111, 0, 105, 95, 112, 114, 105, 118, 97, 116, 101, 0, 105, 95, 112, 97, 103, 101, 115, 0, 105, - 110, 118, 97, 108, 105, 100, 97, 116, 101, 95, 108, 111, 99, 107, 0, 105, 95, 109, 109, 97, - 112, 95, 119, 114, 105, 116, 97, 98, 108, 101, 0, 110, 114, 95, 116, 104, 112, 115, 0, 105, 95, - 109, 109, 97, 112, 0, 105, 95, 109, 109, 97, 112, 95, 114, 119, 115, 101, 109, 0, 110, 114, - 112, 97, 103, 101, 115, 0, 119, 114, 105, 116, 101, 98, 97, 99, 107, 95, 105, 110, 100, 101, - 120, 0, 97, 95, 111, 112, 115, 0, 119, 114, 105, 116, 101, 112, 97, 103, 101, 0, 114, 101, 97, - 100, 112, 97, 103, 101, 0, 119, 114, 105, 116, 101, 112, 97, 103, 101, 115, 0, 115, 101, 116, - 95, 112, 97, 103, 101, 95, 100, 105, 114, 116, 121, 0, 114, 101, 97, 100, 112, 97, 103, 101, - 115, 0, 114, 101, 97, 100, 97, 104, 101, 97, 100, 0, 114, 97, 0, 95, 105, 110, 100, 101, 120, - 0, 95, 110, 114, 95, 112, 97, 103, 101, 115, 0, 95, 98, 97, 116, 99, 104, 95, 99, 111, 117, - 110, 116, 0, 114, 101, 97, 100, 97, 104, 101, 97, 100, 95, 99, 111, 110, 116, 114, 111, 108, 0, - 119, 114, 105, 116, 101, 95, 98, 101, 103, 105, 110, 0, 119, 114, 105, 116, 101, 95, 101, 110, - 100, 0, 98, 109, 97, 112, 0, 105, 110, 118, 97, 108, 105, 100, 97, 116, 101, 112, 97, 103, 101, - 0, 114, 101, 108, 101, 97, 115, 101, 112, 97, 103, 101, 0, 102, 114, 101, 101, 112, 97, 103, - 101, 0, 100, 105, 114, 101, 99, 116, 95, 73, 79, 0, 109, 105, 103, 114, 97, 116, 101, 112, 97, - 103, 101, 0, 105, 115, 111, 108, 97, 116, 101, 95, 112, 97, 103, 101, 0, 105, 115, 111, 108, - 97, 116, 101, 95, 109, 111, 100, 101, 95, 116, 0, 112, 117, 116, 98, 97, 99, 107, 95, 112, 97, - 103, 101, 0, 108, 97, 117, 110, 100, 101, 114, 95, 112, 97, 103, 101, 0, 105, 115, 95, 112, 97, - 114, 116, 105, 97, 108, 108, 121, 95, 117, 112, 116, 111, 100, 97, 116, 101, 0, 105, 115, 95, - 100, 105, 114, 116, 121, 95, 119, 114, 105, 116, 101, 98, 97, 99, 107, 0, 101, 114, 114, 111, - 114, 95, 114, 101, 109, 111, 118, 101, 95, 112, 97, 103, 101, 0, 115, 119, 97, 112, 95, 97, 99, - 116, 105, 118, 97, 116, 101, 0, 115, 119, 97, 112, 95, 109, 97, 112, 0, 99, 108, 117, 115, 116, - 101, 114, 95, 105, 110, 102, 111, 0, 115, 119, 97, 112, 95, 99, 108, 117, 115, 116, 101, 114, - 95, 105, 110, 102, 111, 0, 102, 114, 101, 101, 95, 99, 108, 117, 115, 116, 101, 114, 115, 0, - 115, 119, 97, 112, 95, 99, 108, 117, 115, 116, 101, 114, 95, 108, 105, 115, 116, 0, 108, 111, - 119, 101, 115, 116, 95, 98, 105, 116, 0, 104, 105, 103, 104, 101, 115, 116, 95, 98, 105, 116, - 0, 105, 110, 117, 115, 101, 95, 112, 97, 103, 101, 115, 0, 99, 108, 117, 115, 116, 101, 114, - 95, 110, 101, 120, 116, 0, 99, 108, 117, 115, 116, 101, 114, 95, 110, 114, 0, 99, 108, 117, - 115, 116, 101, 114, 95, 110, 101, 120, 116, 95, 99, 112, 117, 0, 112, 101, 114, 99, 112, 117, - 95, 99, 108, 117, 115, 116, 101, 114, 0, 115, 119, 97, 112, 95, 101, 120, 116, 101, 110, 116, - 95, 114, 111, 111, 116, 0, 98, 100, 101, 118, 0, 115, 119, 97, 112, 95, 102, 105, 108, 101, 0, - 111, 108, 100, 95, 98, 108, 111, 99, 107, 95, 115, 105, 122, 101, 0, 102, 114, 111, 110, 116, - 115, 119, 97, 112, 95, 109, 97, 112, 0, 102, 114, 111, 110, 116, 115, 119, 97, 112, 95, 112, - 97, 103, 101, 115, 0, 99, 111, 110, 116, 95, 108, 111, 99, 107, 0, 100, 105, 115, 99, 97, 114, - 100, 95, 119, 111, 114, 107, 0, 100, 105, 115, 99, 97, 114, 100, 95, 99, 108, 117, 115, 116, - 101, 114, 115, 0, 97, 118, 97, 105, 108, 95, 108, 105, 115, 116, 115, 0, 115, 119, 97, 112, 95, - 105, 110, 102, 111, 95, 115, 116, 114, 117, 99, 116, 0, 115, 119, 97, 112, 95, 100, 101, 97, - 99, 116, 105, 118, 97, 116, 101, 0, 97, 100, 100, 114, 101, 115, 115, 95, 115, 112, 97, 99, - 101, 95, 111, 112, 101, 114, 97, 116, 105, 111, 110, 115, 0, 119, 98, 95, 101, 114, 114, 0, - 112, 114, 105, 118, 97, 116, 101, 95, 108, 111, 99, 107, 0, 112, 114, 105, 118, 97, 116, 101, - 95, 108, 105, 115, 116, 0, 97, 100, 100, 114, 101, 115, 115, 95, 115, 112, 97, 99, 101, 0, 112, - 112, 95, 109, 97, 103, 105, 99, 0, 112, 112, 0, 112, 111, 111, 108, 95, 115, 105, 122, 101, 0, - 100, 109, 97, 95, 100, 105, 114, 0, 109, 97, 120, 95, 108, 101, 110, 0, 112, 97, 103, 101, 95, - 112, 111, 111, 108, 95, 112, 97, 114, 97, 109, 115, 0, 114, 101, 108, 101, 97, 115, 101, 95, - 100, 119, 0, 100, 101, 102, 101, 114, 95, 115, 116, 97, 114, 116, 0, 100, 101, 102, 101, 114, - 95, 119, 97, 114, 110, 0, 112, 97, 103, 101, 115, 95, 115, 116, 97, 116, 101, 95, 104, 111, - 108, 100, 95, 99, 110, 116, 0, 102, 114, 97, 103, 95, 111, 102, 102, 115, 101, 116, 0, 102, - 114, 97, 103, 95, 112, 97, 103, 101, 0, 102, 114, 97, 103, 95, 117, 115, 101, 114, 115, 0, 112, - 112, 95, 97, 108, 108, 111, 99, 95, 99, 97, 99, 104, 101, 0, 114, 105, 110, 103, 0, 112, 114, - 111, 100, 117, 99, 101, 114, 0, 112, 114, 111, 100, 117, 99, 101, 114, 95, 108, 111, 99, 107, - 0, 99, 111, 110, 115, 117, 109, 101, 114, 95, 104, 101, 97, 100, 0, 99, 111, 110, 115, 117, - 109, 101, 114, 95, 116, 97, 105, 108, 0, 99, 111, 110, 115, 117, 109, 101, 114, 95, 108, 111, - 99, 107, 0, 112, 116, 114, 95, 114, 105, 110, 103, 0, 112, 97, 103, 101, 115, 95, 115, 116, 97, - 116, 101, 95, 114, 101, 108, 101, 97, 115, 101, 95, 99, 110, 116, 0, 117, 115, 101, 114, 95, - 99, 110, 116, 0, 100, 101, 115, 116, 114, 111, 121, 95, 99, 110, 116, 0, 112, 97, 103, 101, 95, - 112, 111, 111, 108, 0, 95, 112, 112, 95, 109, 97, 112, 112, 105, 110, 103, 95, 112, 97, 100, 0, - 100, 109, 97, 95, 97, 100, 100, 114, 0, 100, 109, 97, 95, 97, 100, 100, 114, 95, 117, 112, 112, - 101, 114, 0, 112, 112, 95, 102, 114, 97, 103, 95, 99, 111, 117, 110, 116, 0, 115, 108, 97, 98, - 95, 108, 105, 115, 116, 0, 112, 111, 98, 106, 101, 99, 116, 115, 0, 115, 108, 97, 98, 95, 99, - 97, 99, 104, 101, 0, 115, 95, 109, 101, 109, 0, 111, 98, 106, 101, 99, 116, 115, 0, 99, 111, - 109, 112, 111, 117, 110, 100, 95, 104, 101, 97, 100, 0, 99, 111, 109, 112, 111, 117, 110, 100, - 95, 100, 116, 111, 114, 0, 99, 111, 109, 112, 111, 117, 110, 100, 95, 111, 114, 100, 101, 114, - 0, 99, 111, 109, 112, 111, 117, 110, 100, 95, 109, 97, 112, 99, 111, 117, 110, 116, 0, 99, 111, - 109, 112, 111, 117, 110, 100, 95, 110, 114, 0, 95, 99, 111, 109, 112, 111, 117, 110, 100, 95, - 112, 97, 100, 95, 49, 0, 104, 112, 97, 103, 101, 95, 112, 105, 110, 110, 101, 100, 95, 114, - 101, 102, 99, 111, 117, 110, 116, 0, 95, 112, 116, 95, 112, 97, 100, 95, 49, 0, 112, 109, 100, - 95, 104, 117, 103, 101, 95, 112, 116, 101, 0, 95, 112, 116, 95, 112, 97, 100, 95, 50, 0, 112, - 116, 95, 109, 109, 0, 112, 116, 95, 102, 114, 97, 103, 95, 114, 101, 102, 99, 111, 117, 110, - 116, 0, 112, 103, 109, 97, 112, 0, 97, 108, 116, 109, 97, 112, 0, 101, 110, 100, 95, 112, 102, - 110, 0, 114, 101, 115, 101, 114, 118, 101, 0, 118, 109, 101, 109, 95, 97, 108, 116, 109, 97, - 112, 0, 105, 110, 116, 101, 114, 110, 97, 108, 95, 114, 101, 102, 0, 77, 69, 77, 79, 82, 89, - 95, 68, 69, 86, 73, 67, 69, 95, 80, 82, 73, 86, 65, 84, 69, 0, 77, 69, 77, 79, 82, 89, 95, 68, - 69, 86, 73, 67, 69, 95, 70, 83, 95, 68, 65, 88, 0, 77, 69, 77, 79, 82, 89, 95, 68, 69, 86, 73, - 67, 69, 95, 71, 69, 78, 69, 82, 73, 67, 0, 77, 69, 77, 79, 82, 89, 95, 68, 69, 86, 73, 67, 69, - 95, 80, 67, 73, 95, 80, 50, 80, 68, 77, 65, 0, 109, 101, 109, 111, 114, 121, 95, 116, 121, 112, - 101, 0, 112, 97, 103, 101, 95, 102, 114, 101, 101, 0, 109, 105, 103, 114, 97, 116, 101, 95, - 116, 111, 95, 114, 97, 109, 0, 100, 101, 118, 95, 112, 97, 103, 101, 109, 97, 112, 95, 111, - 112, 115, 0, 110, 114, 95, 114, 97, 110, 103, 101, 0, 114, 97, 110, 103, 101, 115, 0, 100, 101, - 118, 95, 112, 97, 103, 101, 109, 97, 112, 0, 122, 111, 110, 101, 95, 100, 101, 118, 105, 99, - 101, 95, 100, 97, 116, 97, 0, 95, 109, 97, 112, 99, 111, 117, 110, 116, 0, 112, 97, 103, 101, - 95, 116, 121, 112, 101, 0, 117, 110, 105, 116, 115, 0, 95, 114, 101, 102, 99, 111, 117, 110, - 116, 0, 109, 101, 109, 99, 103, 95, 100, 97, 116, 97, 0, 98, 118, 95, 108, 101, 110, 0, 98, - 118, 95, 111, 102, 102, 115, 101, 116, 0, 98, 105, 111, 95, 118, 101, 99, 0, 110, 114, 95, 115, - 101, 103, 115, 0, 115, 116, 97, 114, 116, 95, 104, 101, 97, 100, 0, 120, 97, 114, 114, 97, 121, - 95, 115, 116, 97, 114, 116, 0, 105, 111, 118, 95, 105, 116, 101, 114, 0, 109, 115, 103, 95, 99, - 111, 110, 116, 114, 111, 108, 95, 117, 115, 101, 114, 0, 109, 115, 103, 95, 99, 111, 110, 116, - 114, 111, 108, 95, 105, 115, 95, 117, 115, 101, 114, 0, 109, 115, 103, 95, 105, 111, 99, 98, 0, - 109, 115, 103, 104, 100, 114, 0, 98, 105, 110, 100, 95, 97, 100, 100, 0, 98, 97, 99, 107, 108, - 111, 103, 95, 114, 99, 118, 0, 98, 112, 102, 95, 98, 121, 112, 97, 115, 115, 95, 103, 101, 116, - 115, 111, 99, 107, 111, 112, 116, 0, 114, 101, 108, 101, 97, 115, 101, 95, 99, 98, 0, 117, 110, - 104, 97, 115, 104, 0, 114, 101, 104, 97, 115, 104, 0, 103, 101, 116, 95, 112, 111, 114, 116, 0, - 112, 115, 111, 99, 107, 95, 117, 112, 100, 97, 116, 101, 95, 115, 107, 95, 112, 114, 111, 116, - 0, 115, 107, 95, 114, 101, 100, 105, 114, 0, 97, 112, 112, 108, 121, 95, 98, 121, 116, 101, - 115, 0, 99, 111, 114, 107, 95, 98, 121, 116, 101, 115, 0, 101, 118, 97, 108, 0, 99, 111, 114, - 107, 0, 115, 103, 0, 99, 111, 112, 121, 98, 114, 101, 97, 107, 0, 115, 107, 95, 109, 115, 103, - 95, 115, 103, 0, 100, 97, 116, 97, 95, 101, 110, 100, 0, 115, 107, 98, 0, 115, 107, 95, 109, - 115, 103, 0, 109, 115, 103, 95, 112, 97, 114, 115, 101, 114, 0, 115, 116, 114, 101, 97, 109, - 95, 112, 97, 114, 115, 101, 114, 0, 115, 116, 114, 101, 97, 109, 95, 118, 101, 114, 100, 105, - 99, 116, 0, 115, 107, 98, 95, 118, 101, 114, 100, 105, 99, 116, 0, 115, 107, 95, 112, 115, 111, - 99, 107, 95, 112, 114, 111, 103, 115, 0, 115, 116, 114, 112, 0, 97, 98, 111, 114, 116, 101, - 100, 0, 105, 110, 116, 101, 114, 114, 117, 112, 116, 101, 100, 0, 117, 110, 114, 101, 99, 111, - 118, 95, 105, 110, 116, 114, 0, 115, 107, 98, 95, 110, 101, 120, 116, 112, 0, 115, 107, 98, 95, - 104, 101, 97, 100, 0, 110, 101, 101, 100, 95, 98, 121, 116, 101, 115, 0, 109, 115, 103, 95, - 116, 105, 109, 101, 114, 95, 119, 111, 114, 107, 0, 109, 115, 103, 115, 0, 109, 101, 109, 95, - 102, 97, 105, 108, 0, 110, 101, 101, 100, 95, 109, 111, 114, 101, 95, 104, 100, 114, 0, 109, - 115, 103, 95, 116, 111, 111, 95, 98, 105, 103, 0, 109, 115, 103, 95, 116, 105, 109, 101, 111, - 117, 116, 115, 0, 98, 97, 100, 95, 104, 100, 114, 95, 108, 101, 110, 0, 115, 116, 114, 112, 95, - 115, 116, 97, 116, 115, 0, 112, 97, 114, 115, 101, 95, 109, 115, 103, 0, 114, 99, 118, 95, 109, - 115, 103, 0, 114, 101, 97, 100, 95, 115, 111, 99, 107, 95, 100, 111, 110, 101, 0, 97, 98, 111, - 114, 116, 95, 112, 97, 114, 115, 101, 114, 0, 117, 110, 108, 111, 99, 107, 0, 115, 116, 114, - 112, 95, 99, 97, 108, 108, 98, 97, 99, 107, 115, 0, 115, 116, 114, 112, 97, 114, 115, 101, 114, - 0, 105, 110, 103, 114, 101, 115, 115, 95, 115, 107, 98, 0, 105, 110, 103, 114, 101, 115, 115, - 95, 109, 115, 103, 0, 105, 110, 103, 114, 101, 115, 115, 95, 108, 111, 99, 107, 0, 108, 105, - 110, 107, 95, 108, 111, 99, 107, 0, 115, 97, 118, 101, 100, 95, 117, 110, 104, 97, 115, 104, 0, - 115, 97, 118, 101, 100, 95, 99, 108, 111, 115, 101, 0, 115, 97, 118, 101, 100, 95, 119, 114, - 105, 116, 101, 95, 115, 112, 97, 99, 101, 0, 115, 97, 118, 101, 100, 95, 100, 97, 116, 97, 95, - 114, 101, 97, 100, 121, 0, 115, 107, 95, 112, 114, 111, 116, 111, 0, 119, 111, 114, 107, 95, - 109, 117, 116, 101, 120, 0, 119, 111, 114, 107, 95, 115, 116, 97, 116, 101, 0, 115, 107, 95, - 112, 115, 111, 99, 107, 95, 119, 111, 114, 107, 95, 115, 116, 97, 116, 101, 0, 114, 119, 111, - 114, 107, 0, 115, 107, 95, 112, 115, 111, 99, 107, 0, 105, 110, 117, 115, 101, 95, 105, 100, - 120, 0, 115, 116, 114, 101, 97, 109, 95, 109, 101, 109, 111, 114, 121, 95, 102, 114, 101, 101, - 0, 115, 111, 99, 107, 95, 105, 115, 95, 114, 101, 97, 100, 97, 98, 108, 101, 0, 101, 110, 116, - 101, 114, 95, 109, 101, 109, 111, 114, 121, 95, 112, 114, 101, 115, 115, 117, 114, 101, 0, 108, - 101, 97, 118, 101, 95, 109, 101, 109, 111, 114, 121, 95, 112, 114, 101, 115, 115, 117, 114, - 101, 0, 109, 101, 109, 111, 114, 121, 95, 97, 108, 108, 111, 99, 97, 116, 101, 100, 0, 115, - 111, 99, 107, 101, 116, 115, 95, 97, 108, 108, 111, 99, 97, 116, 101, 100, 0, 109, 101, 109, - 111, 114, 121, 95, 112, 114, 101, 115, 115, 117, 114, 101, 0, 115, 121, 115, 99, 116, 108, 95, - 109, 101, 109, 0, 115, 121, 115, 99, 116, 108, 95, 119, 109, 101, 109, 0, 115, 121, 115, 99, - 116, 108, 95, 114, 109, 101, 109, 0, 115, 121, 115, 99, 116, 108, 95, 119, 109, 101, 109, 95, - 111, 102, 102, 115, 101, 116, 0, 115, 121, 115, 99, 116, 108, 95, 114, 109, 101, 109, 95, 111, - 102, 102, 115, 101, 116, 0, 109, 97, 120, 95, 104, 101, 97, 100, 101, 114, 0, 110, 111, 95, 97, - 117, 116, 111, 98, 105, 110, 100, 0, 115, 108, 97, 98, 0, 111, 98, 106, 95, 115, 105, 122, 101, - 0, 115, 108, 97, 98, 95, 102, 108, 97, 103, 115, 0, 111, 114, 112, 104, 97, 110, 95, 99, 111, - 117, 110, 116, 0, 114, 115, 107, 95, 112, 114, 111, 116, 0, 115, 108, 97, 98, 95, 110, 97, 109, - 101, 0, 114, 116, 120, 95, 115, 121, 110, 95, 97, 99, 107, 0, 95, 95, 114, 101, 113, 95, 99, - 111, 109, 109, 111, 110, 0, 100, 108, 95, 110, 101, 120, 116, 0, 109, 115, 115, 0, 110, 117, - 109, 95, 114, 101, 116, 114, 97, 110, 115, 0, 115, 121, 110, 99, 111, 111, 107, 105, 101, 0, - 110, 117, 109, 95, 116, 105, 109, 101, 111, 117, 116, 0, 116, 115, 95, 114, 101, 99, 101, 110, - 116, 0, 114, 115, 107, 95, 116, 105, 109, 101, 114, 0, 114, 115, 107, 95, 111, 112, 115, 0, - 115, 97, 118, 101, 100, 95, 115, 121, 110, 0, 109, 97, 99, 95, 104, 100, 114, 108, 101, 110, 0, - 110, 101, 116, 119, 111, 114, 107, 95, 104, 100, 114, 108, 101, 110, 0, 116, 99, 112, 95, 104, - 100, 114, 108, 101, 110, 0, 115, 101, 99, 105, 100, 0, 112, 101, 101, 114, 95, 115, 101, 99, - 105, 100, 0, 114, 101, 113, 117, 101, 115, 116, 95, 115, 111, 99, 107, 0, 115, 101, 110, 100, - 95, 97, 99, 107, 0, 115, 101, 110, 100, 95, 114, 101, 115, 101, 116, 0, 115, 121, 110, 95, 97, - 99, 107, 95, 116, 105, 109, 101, 111, 117, 116, 0, 114, 101, 113, 117, 101, 115, 116, 95, 115, - 111, 99, 107, 95, 111, 112, 115, 0, 116, 119, 115, 107, 95, 112, 114, 111, 116, 0, 116, 119, - 115, 107, 95, 115, 108, 97, 98, 0, 116, 119, 115, 107, 95, 115, 108, 97, 98, 95, 110, 97, 109, - 101, 0, 116, 119, 115, 107, 95, 111, 98, 106, 95, 115, 105, 122, 101, 0, 116, 119, 115, 107, - 95, 117, 110, 105, 113, 117, 101, 0, 116, 119, 115, 107, 95, 100, 101, 115, 116, 114, 117, 99, - 116, 111, 114, 0, 116, 105, 109, 101, 119, 97, 105, 116, 95, 115, 111, 99, 107, 95, 111, 112, - 115, 0, 104, 0, 117, 100, 112, 95, 116, 97, 98, 108, 101, 0, 117, 100, 112, 95, 104, 115, 108, - 111, 116, 0, 104, 97, 115, 104, 50, 0, 114, 97, 119, 95, 104, 97, 115, 104, 0, 114, 97, 119, - 95, 104, 97, 115, 104, 105, 110, 102, 111, 0, 115, 109, 99, 95, 104, 97, 115, 104, 0, 115, 109, - 99, 95, 104, 97, 115, 104, 105, 110, 102, 111, 0, 100, 105, 97, 103, 95, 100, 101, 115, 116, - 114, 111, 121, 0, 115, 107, 99, 95, 110, 101, 116, 0, 115, 107, 99, 95, 118, 54, 95, 100, 97, - 100, 100, 114, 0, 115, 107, 99, 95, 118, 54, 95, 114, 99, 118, 95, 115, 97, 100, 100, 114, 0, - 115, 107, 99, 95, 99, 111, 111, 107, 105, 101, 0, 115, 107, 99, 95, 102, 108, 97, 103, 115, 0, - 115, 107, 99, 95, 108, 105, 115, 116, 101, 110, 101, 114, 0, 115, 107, 99, 95, 116, 119, 95, - 100, 114, 0, 115, 107, 99, 95, 100, 111, 110, 116, 99, 111, 112, 121, 95, 98, 101, 103, 105, - 110, 0, 115, 107, 99, 95, 110, 111, 100, 101, 0, 115, 107, 99, 95, 110, 117, 108, 108, 115, 95, - 110, 111, 100, 101, 0, 115, 107, 99, 95, 116, 120, 95, 113, 117, 101, 117, 101, 95, 109, 97, - 112, 112, 105, 110, 103, 0, 115, 107, 99, 95, 114, 120, 95, 113, 117, 101, 117, 101, 95, 109, - 97, 112, 112, 105, 110, 103, 0, 115, 107, 99, 95, 105, 110, 99, 111, 109, 105, 110, 103, 95, - 99, 112, 117, 0, 115, 107, 99, 95, 114, 99, 118, 95, 119, 110, 100, 0, 115, 107, 99, 95, 116, - 119, 95, 114, 99, 118, 95, 110, 120, 116, 0, 115, 107, 99, 95, 114, 101, 102, 99, 110, 116, 0, - 115, 107, 99, 95, 100, 111, 110, 116, 99, 111, 112, 121, 95, 101, 110, 100, 0, 115, 107, 99, - 95, 114, 120, 104, 97, 115, 104, 0, 115, 107, 99, 95, 119, 105, 110, 100, 111, 119, 95, 99, - 108, 97, 109, 112, 0, 115, 107, 99, 95, 116, 119, 95, 115, 110, 100, 95, 110, 120, 116, 0, 115, - 111, 99, 107, 95, 99, 111, 109, 109, 111, 110, 0, 115, 107, 95, 108, 111, 99, 107, 0, 115, 108, - 111, 99, 107, 0, 111, 119, 110, 101, 100, 0, 115, 111, 99, 107, 101, 116, 95, 108, 111, 99, - 107, 95, 116, 0, 115, 107, 95, 100, 114, 111, 112, 115, 0, 115, 107, 95, 114, 99, 118, 108, - 111, 119, 97, 116, 0, 115, 107, 95, 101, 114, 114, 111, 114, 95, 113, 117, 101, 117, 101, 0, - 115, 107, 95, 114, 120, 95, 115, 107, 98, 95, 99, 97, 99, 104, 101, 0, 115, 107, 95, 114, 101, - 99, 101, 105, 118, 101, 95, 113, 117, 101, 117, 101, 0, 115, 107, 95, 98, 97, 99, 107, 108, - 111, 103, 0, 114, 109, 101, 109, 95, 97, 108, 108, 111, 99, 0, 115, 107, 95, 102, 111, 114, - 119, 97, 114, 100, 95, 97, 108, 108, 111, 99, 0, 115, 107, 95, 108, 108, 95, 117, 115, 101, 99, - 0, 115, 107, 95, 110, 97, 112, 105, 95, 105, 100, 0, 115, 107, 95, 114, 99, 118, 98, 117, 102, - 0, 115, 107, 95, 102, 105, 108, 116, 101, 114, 0, 115, 107, 95, 119, 113, 0, 115, 107, 95, 119, - 113, 95, 114, 97, 119, 0, 115, 107, 95, 112, 111, 108, 105, 99, 121, 0, 120, 112, 95, 110, 101, - 116, 0, 98, 121, 105, 100, 120, 0, 119, 97, 108, 107, 0, 120, 102, 114, 109, 95, 112, 111, 108, - 105, 99, 121, 95, 119, 97, 108, 107, 95, 101, 110, 116, 114, 121, 0, 112, 111, 108, 113, 0, - 104, 111, 108, 100, 95, 113, 117, 101, 117, 101, 0, 104, 111, 108, 100, 95, 116, 105, 109, 101, - 114, 0, 120, 102, 114, 109, 95, 112, 111, 108, 105, 99, 121, 95, 113, 117, 101, 117, 101, 0, - 98, 121, 100, 115, 116, 95, 114, 101, 105, 110, 115, 101, 114, 116, 0, 120, 102, 114, 109, 95, - 110, 114, 0, 120, 102, 114, 109, 95, 118, 101, 99, 0, 101, 110, 99, 97, 112, 95, 102, 97, 109, - 105, 108, 121, 0, 115, 104, 97, 114, 101, 0, 111, 112, 116, 105, 111, 110, 97, 108, 0, 97, 108, - 108, 97, 108, 103, 115, 0, 97, 97, 108, 103, 111, 115, 0, 101, 97, 108, 103, 111, 115, 0, 99, - 97, 108, 103, 111, 115, 0, 120, 102, 114, 109, 95, 116, 109, 112, 108, 0, 98, 121, 100, 115, - 116, 95, 105, 110, 101, 120, 97, 99, 116, 95, 108, 105, 115, 116, 0, 120, 102, 114, 109, 95, - 112, 111, 108, 105, 99, 121, 0, 115, 107, 95, 114, 120, 95, 100, 115, 116, 0, 115, 107, 95, - 100, 115, 116, 95, 99, 97, 99, 104, 101, 0, 115, 107, 95, 111, 109, 101, 109, 95, 97, 108, 108, - 111, 99, 0, 115, 107, 95, 115, 110, 100, 98, 117, 102, 0, 115, 107, 95, 119, 109, 101, 109, 95, - 113, 117, 101, 117, 101, 100, 0, 115, 107, 95, 119, 109, 101, 109, 95, 97, 108, 108, 111, 99, - 0, 115, 107, 95, 116, 115, 113, 95, 102, 108, 97, 103, 115, 0, 115, 107, 95, 115, 101, 110, - 100, 95, 104, 101, 97, 100, 0, 116, 99, 112, 95, 114, 116, 120, 95, 113, 117, 101, 117, 101, 0, - 115, 107, 95, 116, 120, 95, 115, 107, 98, 95, 99, 97, 99, 104, 101, 0, 115, 107, 95, 119, 114, - 105, 116, 101, 95, 113, 117, 101, 117, 101, 0, 115, 107, 95, 112, 101, 101, 107, 95, 111, 102, - 102, 0, 115, 107, 95, 119, 114, 105, 116, 101, 95, 112, 101, 110, 100, 105, 110, 103, 0, 115, - 107, 95, 100, 115, 116, 95, 112, 101, 110, 100, 105, 110, 103, 95, 99, 111, 110, 102, 105, 114, - 109, 0, 115, 107, 95, 112, 97, 99, 105, 110, 103, 95, 115, 116, 97, 116, 117, 115, 0, 115, 107, - 95, 115, 110, 100, 116, 105, 109, 101, 111, 0, 115, 107, 95, 116, 105, 109, 101, 114, 0, 115, - 107, 95, 112, 114, 105, 111, 114, 105, 116, 121, 0, 115, 107, 95, 109, 97, 114, 107, 0, 115, - 107, 95, 112, 97, 99, 105, 110, 103, 95, 114, 97, 116, 101, 0, 115, 107, 95, 109, 97, 120, 95, - 112, 97, 99, 105, 110, 103, 95, 114, 97, 116, 101, 0, 115, 107, 95, 102, 114, 97, 103, 0, 115, - 107, 95, 114, 111, 117, 116, 101, 95, 99, 97, 112, 115, 0, 115, 107, 95, 114, 111, 117, 116, - 101, 95, 110, 111, 99, 97, 112, 115, 0, 115, 107, 95, 114, 111, 117, 116, 101, 95, 102, 111, - 114, 99, 101, 100, 95, 99, 97, 112, 115, 0, 115, 107, 95, 103, 115, 111, 95, 116, 121, 112, - 101, 0, 115, 107, 95, 103, 115, 111, 95, 109, 97, 120, 95, 115, 105, 122, 101, 0, 115, 107, 95, - 97, 108, 108, 111, 99, 97, 116, 105, 111, 110, 0, 115, 107, 95, 116, 120, 104, 97, 115, 104, 0, - 115, 107, 95, 112, 97, 100, 100, 105, 110, 103, 0, 115, 107, 95, 107, 101, 114, 110, 95, 115, - 111, 99, 107, 0, 115, 107, 95, 110, 111, 95, 99, 104, 101, 99, 107, 95, 116, 120, 0, 115, 107, - 95, 110, 111, 95, 99, 104, 101, 99, 107, 95, 114, 120, 0, 115, 107, 95, 117, 115, 101, 114, - 108, 111, 99, 107, 115, 0, 115, 107, 95, 112, 97, 99, 105, 110, 103, 95, 115, 104, 105, 102, - 116, 0, 115, 107, 95, 116, 121, 112, 101, 0, 115, 107, 95, 112, 114, 111, 116, 111, 99, 111, - 108, 0, 115, 107, 95, 103, 115, 111, 95, 109, 97, 120, 95, 115, 101, 103, 115, 0, 115, 107, 95, - 108, 105, 110, 103, 101, 114, 116, 105, 109, 101, 0, 115, 107, 95, 112, 114, 111, 116, 95, 99, - 114, 101, 97, 116, 111, 114, 0, 115, 107, 95, 99, 97, 108, 108, 98, 97, 99, 107, 95, 108, 111, - 99, 107, 0, 115, 107, 95, 101, 114, 114, 0, 115, 107, 95, 101, 114, 114, 95, 115, 111, 102, - 116, 0, 115, 107, 95, 97, 99, 107, 95, 98, 97, 99, 107, 108, 111, 103, 0, 115, 107, 95, 109, - 97, 120, 95, 97, 99, 107, 95, 98, 97, 99, 107, 108, 111, 103, 0, 115, 107, 95, 117, 105, 100, - 0, 115, 107, 95, 112, 114, 101, 102, 101, 114, 95, 98, 117, 115, 121, 95, 112, 111, 108, 108, - 0, 115, 107, 95, 98, 117, 115, 121, 95, 112, 111, 108, 108, 95, 98, 117, 100, 103, 101, 116, 0, - 115, 107, 95, 112, 101, 101, 114, 95, 108, 111, 99, 107, 0, 115, 107, 95, 112, 101, 101, 114, - 95, 112, 105, 100, 0, 115, 107, 95, 112, 101, 101, 114, 95, 99, 114, 101, 100, 0, 115, 107, 95, - 114, 99, 118, 116, 105, 109, 101, 111, 0, 115, 107, 95, 115, 116, 97, 109, 112, 0, 115, 107, - 95, 116, 115, 102, 108, 97, 103, 115, 0, 115, 107, 95, 98, 105, 110, 100, 95, 112, 104, 99, 0, - 115, 107, 95, 115, 104, 117, 116, 100, 111, 119, 110, 0, 115, 107, 95, 116, 115, 107, 101, 121, - 0, 115, 107, 95, 122, 99, 107, 101, 121, 0, 115, 107, 95, 99, 108, 111, 99, 107, 105, 100, 0, - 115, 107, 95, 116, 120, 116, 105, 109, 101, 95, 100, 101, 97, 100, 108, 105, 110, 101, 95, 109, - 111, 100, 101, 0, 115, 107, 95, 116, 120, 116, 105, 109, 101, 95, 114, 101, 112, 111, 114, 116, - 95, 101, 114, 114, 111, 114, 115, 0, 115, 107, 95, 116, 120, 116, 105, 109, 101, 95, 117, 110, - 117, 115, 101, 100, 0, 115, 107, 95, 115, 111, 99, 107, 101, 116, 0, 115, 107, 95, 117, 115, - 101, 114, 95, 100, 97, 116, 97, 0, 115, 107, 95, 115, 101, 99, 117, 114, 105, 116, 121, 0, 115, - 107, 95, 99, 103, 114, 112, 95, 100, 97, 116, 97, 0, 99, 108, 97, 115, 115, 105, 100, 0, 112, - 114, 105, 111, 105, 100, 120, 0, 115, 111, 99, 107, 95, 99, 103, 114, 111, 117, 112, 95, 100, - 97, 116, 97, 0, 115, 107, 95, 109, 101, 109, 99, 103, 0, 115, 107, 95, 115, 116, 97, 116, 101, - 95, 99, 104, 97, 110, 103, 101, 0, 115, 107, 95, 100, 97, 116, 97, 95, 114, 101, 97, 100, 121, - 0, 115, 107, 95, 119, 114, 105, 116, 101, 95, 115, 112, 97, 99, 101, 0, 115, 107, 95, 101, 114, - 114, 111, 114, 95, 114, 101, 112, 111, 114, 116, 0, 115, 107, 95, 98, 97, 99, 107, 108, 111, - 103, 95, 114, 99, 118, 0, 115, 107, 95, 118, 97, 108, 105, 100, 97, 116, 101, 95, 120, 109, - 105, 116, 95, 115, 107, 98, 0, 115, 107, 95, 100, 101, 115, 116, 114, 117, 99, 116, 0, 115, - 107, 95, 114, 101, 117, 115, 101, 112, 111, 114, 116, 95, 99, 98, 0, 109, 97, 120, 95, 115, - 111, 99, 107, 115, 0, 110, 117, 109, 95, 115, 111, 99, 107, 115, 0, 110, 117, 109, 95, 99, 108, - 111, 115, 101, 100, 95, 115, 111, 99, 107, 115, 0, 115, 121, 110, 113, 95, 111, 118, 101, 114, - 102, 108, 111, 119, 95, 116, 115, 0, 114, 101, 117, 115, 101, 112, 111, 114, 116, 95, 105, 100, - 0, 98, 105, 110, 100, 95, 105, 110, 97, 110, 121, 0, 104, 97, 115, 95, 99, 111, 110, 110, 115, - 0, 115, 111, 99, 107, 115, 0, 115, 111, 99, 107, 95, 114, 101, 117, 115, 101, 112, 111, 114, - 116, 0, 115, 107, 95, 98, 112, 102, 95, 115, 116, 111, 114, 97, 103, 101, 0, 115, 107, 95, 114, - 99, 117, 0, 115, 111, 99, 107, 0, 105, 112, 95, 100, 101, 102, 114, 97, 103, 95, 111, 102, 102, - 115, 101, 116, 0, 115, 107, 98, 95, 109, 115, 116, 97, 109, 112, 95, 110, 115, 0, 95, 115, 107, - 98, 95, 114, 101, 102, 100, 115, 116, 0, 116, 99, 112, 95, 116, 115, 111, 114, 116, 101, 100, - 95, 97, 110, 99, 104, 111, 114, 0, 95, 115, 107, 95, 114, 101, 100, 105, 114, 0, 95, 110, 102, - 99, 116, 0, 100, 97, 116, 97, 95, 108, 101, 110, 0, 109, 97, 99, 95, 108, 101, 110, 0, 113, - 117, 101, 117, 101, 95, 109, 97, 112, 112, 105, 110, 103, 0, 95, 95, 99, 108, 111, 110, 101, - 100, 95, 111, 102, 102, 115, 101, 116, 0, 99, 108, 111, 110, 101, 100, 0, 110, 111, 104, 100, - 114, 0, 102, 99, 108, 111, 110, 101, 0, 112, 101, 101, 107, 101, 100, 0, 104, 101, 97, 100, 95, - 102, 114, 97, 103, 0, 112, 102, 109, 101, 109, 97, 108, 108, 111, 99, 0, 112, 112, 95, 114, - 101, 99, 121, 99, 108, 101, 0, 97, 99, 116, 105, 118, 101, 95, 101, 120, 116, 101, 110, 115, - 105, 111, 110, 115, 0, 104, 101, 97, 100, 101, 114, 115, 95, 115, 116, 97, 114, 116, 0, 95, 95, - 112, 107, 116, 95, 116, 121, 112, 101, 95, 111, 102, 102, 115, 101, 116, 0, 112, 107, 116, 95, - 116, 121, 112, 101, 0, 105, 103, 110, 111, 114, 101, 95, 100, 102, 0, 110, 102, 95, 116, 114, - 97, 99, 101, 0, 105, 112, 95, 115, 117, 109, 109, 101, 100, 0, 111, 111, 111, 95, 111, 107, 97, - 121, 0, 108, 52, 95, 104, 97, 115, 104, 0, 115, 119, 95, 104, 97, 115, 104, 0, 119, 105, 102, - 105, 95, 97, 99, 107, 101, 100, 95, 118, 97, 108, 105, 100, 0, 119, 105, 102, 105, 95, 97, 99, - 107, 101, 100, 0, 110, 111, 95, 102, 99, 115, 0, 101, 110, 99, 97, 112, 115, 117, 108, 97, 116, - 105, 111, 110, 0, 101, 110, 99, 97, 112, 95, 104, 100, 114, 95, 99, 115, 117, 109, 0, 99, 115, - 117, 109, 95, 118, 97, 108, 105, 100, 0, 95, 95, 112, 107, 116, 95, 118, 108, 97, 110, 95, 112, - 114, 101, 115, 101, 110, 116, 95, 111, 102, 102, 115, 101, 116, 0, 118, 108, 97, 110, 95, 112, - 114, 101, 115, 101, 110, 116, 0, 99, 115, 117, 109, 95, 99, 111, 109, 112, 108, 101, 116, 101, - 95, 115, 119, 0, 99, 115, 117, 109, 95, 108, 101, 118, 101, 108, 0, 99, 115, 117, 109, 95, 110, - 111, 116, 95, 105, 110, 101, 116, 0, 100, 115, 116, 95, 112, 101, 110, 100, 105, 110, 103, 95, - 99, 111, 110, 102, 105, 114, 109, 0, 110, 100, 105, 115, 99, 95, 110, 111, 100, 101, 116, 121, - 112, 101, 0, 105, 112, 118, 115, 95, 112, 114, 111, 112, 101, 114, 116, 121, 0, 105, 110, 110, - 101, 114, 95, 112, 114, 111, 116, 111, 99, 111, 108, 95, 116, 121, 112, 101, 0, 114, 101, 109, - 99, 115, 117, 109, 95, 111, 102, 102, 108, 111, 97, 100, 0, 111, 102, 102, 108, 111, 97, 100, - 95, 102, 119, 100, 95, 109, 97, 114, 107, 0, 111, 102, 102, 108, 111, 97, 100, 95, 108, 51, 95, - 102, 119, 100, 95, 109, 97, 114, 107, 0, 116, 99, 95, 115, 107, 105, 112, 95, 99, 108, 97, 115, - 115, 105, 102, 121, 0, 116, 99, 95, 97, 116, 95, 105, 110, 103, 114, 101, 115, 115, 0, 114, - 101, 100, 105, 114, 101, 99, 116, 101, 100, 0, 102, 114, 111, 109, 95, 105, 110, 103, 114, 101, - 115, 115, 0, 100, 101, 99, 114, 121, 112, 116, 101, 100, 0, 115, 108, 111, 119, 95, 103, 114, - 111, 0, 116, 99, 95, 105, 110, 100, 101, 120, 0, 99, 115, 117, 109, 0, 95, 95, 119, 115, 117, - 109, 0, 99, 115, 117, 109, 95, 115, 116, 97, 114, 116, 0, 99, 115, 117, 109, 95, 111, 102, 102, - 115, 101, 116, 0, 115, 107, 98, 95, 105, 105, 102, 0, 118, 108, 97, 110, 95, 112, 114, 111, - 116, 111, 0, 118, 108, 97, 110, 95, 116, 99, 105, 0, 110, 97, 112, 105, 95, 105, 100, 0, 115, - 101, 110, 100, 101, 114, 95, 99, 112, 117, 0, 114, 101, 115, 101, 114, 118, 101, 100, 95, 116, - 97, 105, 108, 114, 111, 111, 109, 0, 105, 110, 110, 101, 114, 95, 112, 114, 111, 116, 111, 99, - 111, 108, 0, 105, 110, 110, 101, 114, 95, 105, 112, 112, 114, 111, 116, 111, 0, 105, 110, 110, - 101, 114, 95, 116, 114, 97, 110, 115, 112, 111, 114, 116, 95, 104, 101, 97, 100, 101, 114, 0, - 105, 110, 110, 101, 114, 95, 110, 101, 116, 119, 111, 114, 107, 95, 104, 101, 97, 100, 101, - 114, 0, 105, 110, 110, 101, 114, 95, 109, 97, 99, 95, 104, 101, 97, 100, 101, 114, 0, 116, 114, - 97, 110, 115, 112, 111, 114, 116, 95, 104, 101, 97, 100, 101, 114, 0, 110, 101, 116, 119, 111, - 114, 107, 95, 104, 101, 97, 100, 101, 114, 0, 109, 97, 99, 95, 104, 101, 97, 100, 101, 114, 0, - 104, 101, 97, 100, 101, 114, 115, 95, 101, 110, 100, 0, 115, 107, 95, 98, 117, 102, 102, 95, - 100, 97, 116, 97, 95, 116, 0, 116, 114, 117, 101, 115, 105, 122, 101, 0, 101, 120, 116, 101, - 110, 115, 105, 111, 110, 115, 0, 99, 104, 117, 110, 107, 115, 0, 115, 107, 98, 95, 101, 120, - 116, 0, 115, 107, 95, 98, 117, 102, 102, 0, 110, 100, 111, 95, 102, 101, 97, 116, 117, 114, - 101, 115, 95, 99, 104, 101, 99, 107, 0, 110, 100, 111, 95, 115, 101, 108, 101, 99, 116, 95, - 113, 117, 101, 117, 101, 0, 110, 100, 111, 95, 99, 104, 97, 110, 103, 101, 95, 114, 120, 95, - 102, 108, 97, 103, 115, 0, 110, 100, 111, 95, 115, 101, 116, 95, 114, 120, 95, 109, 111, 100, - 101, 0, 110, 100, 111, 95, 115, 101, 116, 95, 109, 97, 99, 95, 97, 100, 100, 114, 101, 115, - 115, 0, 110, 100, 111, 95, 118, 97, 108, 105, 100, 97, 116, 101, 95, 97, 100, 100, 114, 0, 110, - 100, 111, 95, 100, 111, 95, 105, 111, 99, 116, 108, 0, 105, 102, 114, 95, 105, 102, 114, 110, - 0, 105, 102, 114, 110, 95, 110, 97, 109, 101, 0, 105, 102, 114, 95, 105, 102, 114, 117, 0, 105, - 102, 114, 117, 95, 97, 100, 100, 114, 0, 105, 102, 114, 117, 95, 100, 115, 116, 97, 100, 100, - 114, 0, 105, 102, 114, 117, 95, 98, 114, 111, 97, 100, 97, 100, 100, 114, 0, 105, 102, 114, - 117, 95, 110, 101, 116, 109, 97, 115, 107, 0, 105, 102, 114, 117, 95, 104, 119, 97, 100, 100, - 114, 0, 105, 102, 114, 117, 95, 102, 108, 97, 103, 115, 0, 105, 102, 114, 117, 95, 105, 118, - 97, 108, 117, 101, 0, 105, 102, 114, 117, 95, 109, 116, 117, 0, 105, 102, 114, 117, 95, 109, - 97, 112, 0, 100, 109, 97, 0, 105, 102, 109, 97, 112, 0, 105, 102, 114, 117, 95, 115, 108, 97, - 118, 101, 0, 105, 102, 114, 117, 95, 110, 101, 119, 110, 97, 109, 101, 0, 105, 102, 114, 117, - 95, 100, 97, 116, 97, 0, 105, 102, 114, 117, 95, 115, 101, 116, 116, 105, 110, 103, 115, 0, - 105, 102, 115, 95, 105, 102, 115, 117, 0, 114, 97, 119, 95, 104, 100, 108, 99, 0, 114, 97, 119, - 95, 104, 100, 108, 99, 95, 112, 114, 111, 116, 111, 0, 99, 105, 115, 99, 111, 0, 99, 105, 115, - 99, 111, 95, 112, 114, 111, 116, 111, 0, 102, 114, 0, 116, 51, 57, 49, 0, 116, 51, 57, 50, 0, - 110, 51, 57, 49, 0, 110, 51, 57, 50, 0, 110, 51, 57, 51, 0, 108, 109, 105, 0, 100, 99, 101, 0, - 102, 114, 95, 112, 114, 111, 116, 111, 0, 102, 114, 95, 112, 118, 99, 0, 100, 108, 99, 105, 0, - 102, 114, 95, 112, 114, 111, 116, 111, 95, 112, 118, 99, 0, 102, 114, 95, 112, 118, 99, 95, - 105, 110, 102, 111, 0, 102, 114, 95, 112, 114, 111, 116, 111, 95, 112, 118, 99, 95, 105, 110, - 102, 111, 0, 120, 50, 53, 0, 109, 111, 100, 117, 108, 111, 0, 119, 105, 110, 100, 111, 119, 0, - 116, 49, 0, 116, 50, 0, 110, 50, 0, 120, 50, 53, 95, 104, 100, 108, 99, 95, 112, 114, 111, 116, - 111, 0, 99, 108, 111, 99, 107, 95, 114, 97, 116, 101, 0, 99, 108, 111, 99, 107, 95, 116, 121, - 112, 101, 0, 108, 111, 111, 112, 98, 97, 99, 107, 0, 115, 121, 110, 99, 95, 115, 101, 114, 105, - 97, 108, 95, 115, 101, 116, 116, 105, 110, 103, 115, 0, 116, 101, 49, 0, 115, 108, 111, 116, - 95, 109, 97, 112, 0, 116, 101, 49, 95, 115, 101, 116, 116, 105, 110, 103, 115, 0, 105, 102, 95, - 115, 101, 116, 116, 105, 110, 103, 115, 0, 105, 102, 114, 101, 113, 0, 110, 100, 111, 95, 101, - 116, 104, 95, 105, 111, 99, 116, 108, 0, 110, 100, 111, 95, 115, 105, 111, 99, 98, 111, 110, - 100, 0, 110, 100, 111, 95, 115, 105, 111, 99, 119, 97, 110, 100, 101, 118, 0, 110, 100, 111, - 95, 115, 105, 111, 99, 100, 101, 118, 112, 114, 105, 118, 97, 116, 101, 0, 110, 100, 111, 95, - 115, 101, 116, 95, 99, 111, 110, 102, 105, 103, 0, 110, 100, 111, 95, 99, 104, 97, 110, 103, - 101, 95, 109, 116, 117, 0, 110, 100, 111, 95, 110, 101, 105, 103, 104, 95, 115, 101, 116, 117, - 112, 0, 110, 100, 111, 95, 116, 120, 95, 116, 105, 109, 101, 111, 117, 116, 0, 110, 100, 111, - 95, 103, 101, 116, 95, 115, 116, 97, 116, 115, 54, 52, 0, 114, 120, 95, 112, 97, 99, 107, 101, - 116, 115, 0, 116, 120, 95, 112, 97, 99, 107, 101, 116, 115, 0, 114, 120, 95, 98, 121, 116, 101, - 115, 0, 116, 120, 95, 98, 121, 116, 101, 115, 0, 114, 120, 95, 101, 114, 114, 111, 114, 115, 0, - 116, 120, 95, 101, 114, 114, 111, 114, 115, 0, 114, 120, 95, 100, 114, 111, 112, 112, 101, 100, - 0, 116, 120, 95, 100, 114, 111, 112, 112, 101, 100, 0, 109, 117, 108, 116, 105, 99, 97, 115, - 116, 0, 99, 111, 108, 108, 105, 115, 105, 111, 110, 115, 0, 114, 120, 95, 108, 101, 110, 103, - 116, 104, 95, 101, 114, 114, 111, 114, 115, 0, 114, 120, 95, 111, 118, 101, 114, 95, 101, 114, - 114, 111, 114, 115, 0, 114, 120, 95, 99, 114, 99, 95, 101, 114, 114, 111, 114, 115, 0, 114, - 120, 95, 102, 114, 97, 109, 101, 95, 101, 114, 114, 111, 114, 115, 0, 114, 120, 95, 102, 105, - 102, 111, 95, 101, 114, 114, 111, 114, 115, 0, 114, 120, 95, 109, 105, 115, 115, 101, 100, 95, - 101, 114, 114, 111, 114, 115, 0, 116, 120, 95, 97, 98, 111, 114, 116, 101, 100, 95, 101, 114, - 114, 111, 114, 115, 0, 116, 120, 95, 99, 97, 114, 114, 105, 101, 114, 95, 101, 114, 114, 111, - 114, 115, 0, 116, 120, 95, 102, 105, 102, 111, 95, 101, 114, 114, 111, 114, 115, 0, 116, 120, - 95, 104, 101, 97, 114, 116, 98, 101, 97, 116, 95, 101, 114, 114, 111, 114, 115, 0, 116, 120, - 95, 119, 105, 110, 100, 111, 119, 95, 101, 114, 114, 111, 114, 115, 0, 114, 120, 95, 99, 111, - 109, 112, 114, 101, 115, 115, 101, 100, 0, 116, 120, 95, 99, 111, 109, 112, 114, 101, 115, 115, - 101, 100, 0, 114, 120, 95, 110, 111, 104, 97, 110, 100, 108, 101, 114, 0, 114, 116, 110, 108, - 95, 108, 105, 110, 107, 95, 115, 116, 97, 116, 115, 54, 52, 0, 110, 100, 111, 95, 104, 97, 115, - 95, 111, 102, 102, 108, 111, 97, 100, 95, 115, 116, 97, 116, 115, 0, 110, 100, 111, 95, 103, - 101, 116, 95, 111, 102, 102, 108, 111, 97, 100, 95, 115, 116, 97, 116, 115, 0, 110, 100, 111, - 95, 103, 101, 116, 95, 115, 116, 97, 116, 115, 0, 110, 101, 116, 95, 100, 101, 118, 105, 99, - 101, 95, 115, 116, 97, 116, 115, 0, 110, 100, 111, 95, 118, 108, 97, 110, 95, 114, 120, 95, 97, - 100, 100, 95, 118, 105, 100, 0, 110, 100, 111, 95, 118, 108, 97, 110, 95, 114, 120, 95, 107, - 105, 108, 108, 95, 118, 105, 100, 0, 110, 100, 111, 95, 112, 111, 108, 108, 95, 99, 111, 110, - 116, 114, 111, 108, 108, 101, 114, 0, 110, 100, 111, 95, 110, 101, 116, 112, 111, 108, 108, 95, - 115, 101, 116, 117, 112, 0, 100, 101, 118, 95, 108, 111, 99, 107, 0, 116, 120, 113, 0, 116, - 120, 95, 119, 111, 114, 107, 0, 110, 101, 116, 112, 111, 108, 108, 0, 108, 111, 99, 97, 108, - 95, 105, 112, 0, 105, 110, 101, 116, 95, 97, 100, 100, 114, 0, 114, 101, 109, 111, 116, 101, - 95, 105, 112, 0, 108, 111, 99, 97, 108, 95, 112, 111, 114, 116, 0, 114, 101, 109, 111, 116, - 101, 95, 112, 111, 114, 116, 0, 114, 101, 109, 111, 116, 101, 95, 109, 97, 99, 0, 110, 101, - 116, 112, 111, 108, 108, 95, 105, 110, 102, 111, 0, 110, 100, 111, 95, 110, 101, 116, 112, 111, - 108, 108, 95, 99, 108, 101, 97, 110, 117, 112, 0, 110, 100, 111, 95, 115, 101, 116, 95, 118, - 102, 95, 109, 97, 99, 0, 110, 100, 111, 95, 115, 101, 116, 95, 118, 102, 95, 118, 108, 97, 110, - 0, 110, 100, 111, 95, 115, 101, 116, 95, 118, 102, 95, 114, 97, 116, 101, 0, 110, 100, 111, 95, - 115, 101, 116, 95, 118, 102, 95, 115, 112, 111, 111, 102, 99, 104, 107, 0, 110, 100, 111, 95, - 115, 101, 116, 95, 118, 102, 95, 116, 114, 117, 115, 116, 0, 110, 100, 111, 95, 103, 101, 116, - 95, 118, 102, 95, 99, 111, 110, 102, 105, 103, 0, 118, 102, 0, 109, 97, 99, 0, 118, 108, 97, - 110, 0, 115, 112, 111, 111, 102, 99, 104, 107, 0, 108, 105, 110, 107, 115, 116, 97, 116, 101, - 0, 109, 105, 110, 95, 116, 120, 95, 114, 97, 116, 101, 0, 109, 97, 120, 95, 116, 120, 95, 114, - 97, 116, 101, 0, 114, 115, 115, 95, 113, 117, 101, 114, 121, 95, 101, 110, 0, 116, 114, 117, - 115, 116, 101, 100, 0, 105, 102, 108, 97, 95, 118, 102, 95, 105, 110, 102, 111, 0, 110, 100, - 111, 95, 115, 101, 116, 95, 118, 102, 95, 108, 105, 110, 107, 95, 115, 116, 97, 116, 101, 0, - 110, 100, 111, 95, 103, 101, 116, 95, 118, 102, 95, 115, 116, 97, 116, 115, 0, 98, 114, 111, - 97, 100, 99, 97, 115, 116, 0, 105, 102, 108, 97, 95, 118, 102, 95, 115, 116, 97, 116, 115, 0, - 110, 100, 111, 95, 115, 101, 116, 95, 118, 102, 95, 112, 111, 114, 116, 0, 110, 100, 111, 95, - 103, 101, 116, 95, 118, 102, 95, 112, 111, 114, 116, 0, 110, 100, 111, 95, 103, 101, 116, 95, - 118, 102, 95, 103, 117, 105, 100, 0, 103, 117, 105, 100, 0, 105, 102, 108, 97, 95, 118, 102, - 95, 103, 117, 105, 100, 0, 110, 100, 111, 95, 115, 101, 116, 95, 118, 102, 95, 103, 117, 105, - 100, 0, 110, 100, 111, 95, 115, 101, 116, 95, 118, 102, 95, 114, 115, 115, 95, 113, 117, 101, - 114, 121, 95, 101, 110, 0, 110, 100, 111, 95, 115, 101, 116, 117, 112, 95, 116, 99, 0, 110, - 100, 111, 95, 102, 99, 111, 101, 95, 101, 110, 97, 98, 108, 101, 0, 110, 100, 111, 95, 102, 99, - 111, 101, 95, 100, 105, 115, 97, 98, 108, 101, 0, 110, 100, 111, 95, 102, 99, 111, 101, 95, - 100, 100, 112, 95, 115, 101, 116, 117, 112, 0, 110, 100, 111, 95, 102, 99, 111, 101, 95, 100, - 100, 112, 95, 100, 111, 110, 101, 0, 110, 100, 111, 95, 102, 99, 111, 101, 95, 100, 100, 112, - 95, 116, 97, 114, 103, 101, 116, 0, 110, 100, 111, 95, 102, 99, 111, 101, 95, 103, 101, 116, - 95, 104, 98, 97, 105, 110, 102, 111, 0, 109, 97, 110, 117, 102, 97, 99, 116, 117, 114, 101, - 114, 0, 115, 101, 114, 105, 97, 108, 95, 110, 117, 109, 98, 101, 114, 0, 104, 97, 114, 100, - 119, 97, 114, 101, 95, 118, 101, 114, 115, 105, 111, 110, 0, 100, 114, 105, 118, 101, 114, 95, - 118, 101, 114, 115, 105, 111, 110, 0, 111, 112, 116, 105, 111, 110, 114, 111, 109, 95, 118, - 101, 114, 115, 105, 111, 110, 0, 102, 105, 114, 109, 119, 97, 114, 101, 95, 118, 101, 114, 115, - 105, 111, 110, 0, 109, 111, 100, 101, 108, 95, 100, 101, 115, 99, 114, 105, 112, 116, 105, 111, - 110, 0, 110, 101, 116, 100, 101, 118, 95, 102, 99, 111, 101, 95, 104, 98, 97, 105, 110, 102, - 111, 0, 110, 100, 111, 95, 102, 99, 111, 101, 95, 103, 101, 116, 95, 119, 119, 110, 0, 110, - 100, 111, 95, 114, 120, 95, 102, 108, 111, 119, 95, 115, 116, 101, 101, 114, 0, 110, 100, 111, - 95, 97, 100, 100, 95, 115, 108, 97, 118, 101, 0, 110, 100, 111, 95, 100, 101, 108, 95, 115, - 108, 97, 118, 101, 0, 110, 100, 111, 95, 103, 101, 116, 95, 120, 109, 105, 116, 95, 115, 108, - 97, 118, 101, 0, 110, 100, 111, 95, 115, 107, 95, 103, 101, 116, 95, 108, 111, 119, 101, 114, - 95, 100, 101, 118, 0, 110, 100, 111, 95, 102, 105, 120, 95, 102, 101, 97, 116, 117, 114, 101, - 115, 0, 110, 100, 111, 95, 115, 101, 116, 95, 102, 101, 97, 116, 117, 114, 101, 115, 0, 110, - 100, 111, 95, 110, 101, 105, 103, 104, 95, 99, 111, 110, 115, 116, 114, 117, 99, 116, 0, 110, - 100, 111, 95, 110, 101, 105, 103, 104, 95, 100, 101, 115, 116, 114, 111, 121, 0, 110, 100, 111, - 95, 102, 100, 98, 95, 97, 100, 100, 0, 110, 100, 109, 95, 102, 97, 109, 105, 108, 121, 0, 110, - 100, 109, 95, 112, 97, 100, 49, 0, 110, 100, 109, 95, 112, 97, 100, 50, 0, 110, 100, 109, 95, - 105, 102, 105, 110, 100, 101, 120, 0, 110, 100, 109, 95, 115, 116, 97, 116, 101, 0, 110, 100, - 109, 95, 102, 108, 97, 103, 115, 0, 110, 100, 109, 95, 116, 121, 112, 101, 0, 110, 100, 109, - 115, 103, 0, 110, 100, 111, 95, 102, 100, 98, 95, 100, 101, 108, 0, 110, 100, 111, 95, 102, - 100, 98, 95, 100, 117, 109, 112, 0, 110, 108, 104, 0, 110, 108, 109, 115, 103, 95, 108, 101, - 110, 0, 110, 108, 109, 115, 103, 95, 116, 121, 112, 101, 0, 110, 108, 109, 115, 103, 95, 102, - 108, 97, 103, 115, 0, 110, 108, 109, 115, 103, 95, 115, 101, 113, 0, 110, 108, 109, 115, 103, - 95, 112, 105, 100, 0, 110, 108, 109, 115, 103, 104, 100, 114, 0, 100, 117, 109, 112, 0, 101, - 120, 116, 97, 99, 107, 0, 97, 110, 115, 119, 101, 114, 95, 102, 108, 97, 103, 115, 0, 109, 105, - 110, 95, 100, 117, 109, 112, 95, 97, 108, 108, 111, 99, 0, 112, 114, 101, 118, 95, 115, 101, - 113, 0, 115, 116, 114, 105, 99, 116, 95, 99, 104, 101, 99, 107, 0, 110, 101, 116, 108, 105, - 110, 107, 95, 99, 97, 108, 108, 98, 97, 99, 107, 0, 110, 100, 111, 95, 102, 100, 98, 95, 103, - 101, 116, 0, 110, 100, 111, 95, 98, 114, 105, 100, 103, 101, 95, 115, 101, 116, 108, 105, 110, - 107, 0, 110, 100, 111, 95, 98, 114, 105, 100, 103, 101, 95, 103, 101, 116, 108, 105, 110, 107, - 0, 110, 100, 111, 95, 98, 114, 105, 100, 103, 101, 95, 100, 101, 108, 108, 105, 110, 107, 0, - 110, 100, 111, 95, 99, 104, 97, 110, 103, 101, 95, 99, 97, 114, 114, 105, 101, 114, 0, 110, - 100, 111, 95, 103, 101, 116, 95, 112, 104, 121, 115, 95, 112, 111, 114, 116, 95, 105, 100, 0, - 105, 100, 95, 108, 101, 110, 0, 110, 101, 116, 100, 101, 118, 95, 112, 104, 121, 115, 95, 105, - 116, 101, 109, 95, 105, 100, 0, 110, 100, 111, 95, 103, 101, 116, 95, 112, 111, 114, 116, 95, - 112, 97, 114, 101, 110, 116, 95, 105, 100, 0, 110, 100, 111, 95, 103, 101, 116, 95, 112, 104, - 121, 115, 95, 112, 111, 114, 116, 95, 110, 97, 109, 101, 0, 110, 100, 111, 95, 100, 102, 119, - 100, 95, 97, 100, 100, 95, 115, 116, 97, 116, 105, 111, 110, 0, 110, 100, 111, 95, 100, 102, - 119, 100, 95, 100, 101, 108, 95, 115, 116, 97, 116, 105, 111, 110, 0, 110, 100, 111, 95, 115, - 101, 116, 95, 116, 120, 95, 109, 97, 120, 114, 97, 116, 101, 0, 110, 100, 111, 95, 103, 101, - 116, 95, 105, 102, 108, 105, 110, 107, 0, 110, 100, 111, 95, 99, 104, 97, 110, 103, 101, 95, - 112, 114, 111, 116, 111, 95, 100, 111, 119, 110, 0, 110, 100, 111, 95, 102, 105, 108, 108, 95, - 109, 101, 116, 97, 100, 97, 116, 97, 95, 100, 115, 116, 0, 110, 100, 111, 95, 115, 101, 116, - 95, 114, 120, 95, 104, 101, 97, 100, 114, 111, 111, 109, 0, 110, 100, 111, 95, 98, 112, 102, 0, - 99, 111, 109, 109, 97, 110, 100, 0, 111, 102, 102, 109, 97, 112, 0, 100, 101, 118, 95, 111, - 112, 115, 0, 98, 112, 102, 95, 109, 97, 112, 95, 100, 101, 118, 95, 111, 112, 115, 0, 98, 112, - 102, 95, 111, 102, 102, 108, 111, 97, 100, 101, 100, 95, 109, 97, 112, 0, 120, 115, 107, 0, - 120, 115, 107, 95, 116, 120, 95, 108, 105, 115, 116, 0, 120, 115, 107, 95, 116, 120, 95, 108, - 105, 115, 116, 95, 108, 111, 99, 107, 0, 117, 109, 101, 109, 0, 97, 100, 100, 114, 115, 0, 99, - 104, 117, 110, 107, 95, 115, 105, 122, 101, 0, 110, 112, 103, 115, 0, 122, 99, 0, 112, 103, - 115, 0, 120, 115, 107, 95, 100, 109, 97, 95, 108, 105, 115, 116, 0, 120, 100, 112, 95, 117, - 109, 101, 109, 0, 104, 101, 97, 100, 115, 95, 99, 110, 116, 0, 113, 117, 101, 117, 101, 95, - 105, 100, 0, 114, 105, 110, 103, 95, 109, 97, 115, 107, 0, 110, 101, 110, 116, 114, 105, 101, - 115, 0, 99, 97, 99, 104, 101, 100, 95, 112, 114, 111, 100, 0, 99, 97, 99, 104, 101, 100, 95, - 99, 111, 110, 115, 0, 112, 97, 100, 49, 0, 99, 111, 110, 115, 117, 109, 101, 114, 0, 112, 97, - 100, 50, 0, 112, 97, 100, 51, 0, 120, 100, 112, 95, 114, 105, 110, 103, 0, 105, 110, 118, 97, - 108, 105, 100, 95, 100, 101, 115, 99, 115, 0, 113, 117, 101, 117, 101, 95, 101, 109, 112, 116, - 121, 95, 100, 101, 115, 99, 115, 0, 120, 115, 107, 95, 113, 117, 101, 117, 101, 0, 100, 109, - 97, 95, 112, 97, 103, 101, 115, 0, 100, 97, 116, 97, 95, 109, 101, 116, 97, 0, 100, 97, 116, - 97, 95, 104, 97, 114, 100, 95, 115, 116, 97, 114, 116, 0, 114, 120, 113, 0, 113, 117, 101, 117, - 101, 95, 105, 110, 100, 101, 120, 0, 114, 101, 103, 95, 115, 116, 97, 116, 101, 0, 120, 100, - 112, 95, 109, 101, 109, 95, 105, 110, 102, 111, 0, 120, 100, 112, 95, 114, 120, 113, 95, 105, - 110, 102, 111, 0, 120, 100, 112, 95, 116, 120, 113, 95, 105, 110, 102, 111, 0, 102, 114, 97, - 109, 101, 95, 115, 122, 0, 120, 100, 112, 95, 98, 117, 102, 102, 0, 102, 114, 97, 109, 101, 95, - 100, 109, 97, 0, 117, 110, 97, 108, 105, 103, 110, 101, 100, 0, 102, 114, 101, 101, 95, 108, - 105, 115, 116, 95, 110, 111, 100, 101, 0, 120, 100, 112, 95, 98, 117, 102, 102, 95, 120, 115, - 107, 0, 99, 104, 117, 110, 107, 95, 109, 97, 115, 107, 0, 97, 100, 100, 114, 115, 95, 99, 110, - 116, 0, 102, 114, 101, 101, 95, 108, 105, 115, 116, 95, 99, 110, 116, 0, 100, 109, 97, 95, 112, - 97, 103, 101, 115, 95, 99, 110, 116, 0, 102, 114, 101, 101, 95, 104, 101, 97, 100, 115, 95, 99, - 110, 116, 0, 102, 114, 97, 109, 101, 95, 108, 101, 110, 0, 99, 97, 99, 104, 101, 100, 95, 110, - 101, 101, 100, 95, 119, 97, 107, 101, 117, 112, 0, 117, 115, 101, 115, 95, 110, 101, 101, 100, - 95, 119, 97, 107, 101, 117, 112, 0, 100, 109, 97, 95, 110, 101, 101, 100, 95, 115, 121, 110, - 99, 0, 99, 113, 95, 108, 111, 99, 107, 0, 102, 114, 101, 101, 95, 104, 101, 97, 100, 115, 0, - 120, 115, 107, 95, 98, 117, 102, 102, 95, 112, 111, 111, 108, 0, 110, 101, 116, 100, 101, 118, - 95, 98, 112, 102, 0, 110, 100, 111, 95, 120, 100, 112, 95, 120, 109, 105, 116, 0, 109, 101, - 116, 97, 115, 105, 122, 101, 0, 100, 101, 118, 95, 114, 120, 0, 120, 100, 112, 95, 102, 114, - 97, 109, 101, 0, 110, 100, 111, 95, 120, 100, 112, 95, 103, 101, 116, 95, 120, 109, 105, 116, - 95, 115, 108, 97, 118, 101, 0, 110, 100, 111, 95, 120, 115, 107, 95, 119, 97, 107, 101, 117, - 112, 0, 110, 100, 111, 95, 103, 101, 116, 95, 100, 101, 118, 108, 105, 110, 107, 95, 112, 111, - 114, 116, 0, 112, 97, 114, 97, 109, 95, 108, 105, 115, 116, 0, 114, 101, 103, 105, 111, 110, - 95, 108, 105, 115, 116, 0, 100, 101, 118, 108, 105, 110, 107, 0, 112, 111, 114, 116, 95, 108, - 105, 115, 116, 0, 114, 97, 116, 101, 95, 108, 105, 115, 116, 0, 100, 112, 105, 112, 101, 95, - 116, 97, 98, 108, 101, 95, 108, 105, 115, 116, 0, 114, 101, 115, 111, 117, 114, 99, 101, 95, - 108, 105, 115, 116, 0, 114, 101, 112, 111, 114, 116, 101, 114, 95, 108, 105, 115, 116, 0, 114, - 101, 112, 111, 114, 116, 101, 114, 115, 95, 108, 111, 99, 107, 0, 100, 112, 105, 112, 101, 95, - 104, 101, 97, 100, 101, 114, 115, 0, 104, 101, 97, 100, 101, 114, 115, 0, 98, 105, 116, 119, - 105, 100, 116, 104, 0, 109, 97, 112, 112, 105, 110, 103, 95, 116, 121, 112, 101, 0, 100, 101, - 118, 108, 105, 110, 107, 95, 100, 112, 105, 112, 101, 95, 102, 105, 101, 108, 100, 0, 102, 105, - 101, 108, 100, 115, 95, 99, 111, 117, 110, 116, 0, 100, 101, 118, 108, 105, 110, 107, 95, 100, - 112, 105, 112, 101, 95, 104, 101, 97, 100, 101, 114, 0, 104, 101, 97, 100, 101, 114, 115, 95, - 99, 111, 117, 110, 116, 0, 100, 101, 118, 108, 105, 110, 107, 95, 100, 112, 105, 112, 101, 95, - 104, 101, 97, 100, 101, 114, 115, 0, 116, 114, 97, 112, 95, 108, 105, 115, 116, 0, 116, 114, - 97, 112, 95, 103, 114, 111, 117, 112, 95, 108, 105, 115, 116, 0, 116, 114, 97, 112, 95, 112, - 111, 108, 105, 99, 101, 114, 95, 108, 105, 115, 116, 0, 115, 117, 112, 112, 111, 114, 116, 101, - 100, 95, 102, 108, 97, 115, 104, 95, 117, 112, 100, 97, 116, 101, 95, 112, 97, 114, 97, 109, - 115, 0, 114, 101, 108, 111, 97, 100, 95, 97, 99, 116, 105, 111, 110, 115, 0, 114, 101, 108, - 111, 97, 100, 95, 108, 105, 109, 105, 116, 115, 0, 114, 101, 108, 111, 97, 100, 95, 100, 111, - 119, 110, 0, 114, 101, 108, 111, 97, 100, 95, 117, 112, 0, 112, 111, 114, 116, 95, 116, 121, - 112, 101, 95, 115, 101, 116, 0, 112, 111, 114, 116, 95, 115, 112, 108, 105, 116, 0, 112, 111, - 114, 116, 95, 117, 110, 115, 112, 108, 105, 116, 0, 115, 98, 95, 112, 111, 111, 108, 95, 103, - 101, 116, 0, 112, 111, 111, 108, 95, 116, 121, 112, 101, 0, 116, 104, 114, 101, 115, 104, 111, - 108, 100, 95, 116, 121, 112, 101, 0, 99, 101, 108, 108, 95, 115, 105, 122, 101, 0, 100, 101, - 118, 108, 105, 110, 107, 95, 115, 98, 95, 112, 111, 111, 108, 95, 105, 110, 102, 111, 0, 115, - 98, 95, 112, 111, 111, 108, 95, 115, 101, 116, 0, 115, 98, 95, 112, 111, 114, 116, 95, 112, - 111, 111, 108, 95, 103, 101, 116, 0, 115, 98, 95, 112, 111, 114, 116, 95, 112, 111, 111, 108, - 95, 115, 101, 116, 0, 115, 98, 95, 116, 99, 95, 112, 111, 111, 108, 95, 98, 105, 110, 100, 95, - 103, 101, 116, 0, 115, 98, 95, 116, 99, 95, 112, 111, 111, 108, 95, 98, 105, 110, 100, 95, 115, - 101, 116, 0, 115, 98, 95, 111, 99, 99, 95, 115, 110, 97, 112, 115, 104, 111, 116, 0, 115, 98, - 95, 111, 99, 99, 95, 109, 97, 120, 95, 99, 108, 101, 97, 114, 0, 115, 98, 95, 111, 99, 99, 95, - 112, 111, 114, 116, 95, 112, 111, 111, 108, 95, 103, 101, 116, 0, 115, 98, 95, 111, 99, 99, 95, - 116, 99, 95, 112, 111, 114, 116, 95, 98, 105, 110, 100, 95, 103, 101, 116, 0, 101, 115, 119, - 105, 116, 99, 104, 95, 109, 111, 100, 101, 95, 103, 101, 116, 0, 101, 115, 119, 105, 116, 99, - 104, 95, 109, 111, 100, 101, 95, 115, 101, 116, 0, 101, 115, 119, 105, 116, 99, 104, 95, 105, - 110, 108, 105, 110, 101, 95, 109, 111, 100, 101, 95, 103, 101, 116, 0, 101, 115, 119, 105, 116, - 99, 104, 95, 105, 110, 108, 105, 110, 101, 95, 109, 111, 100, 101, 95, 115, 101, 116, 0, 101, - 115, 119, 105, 116, 99, 104, 95, 101, 110, 99, 97, 112, 95, 109, 111, 100, 101, 95, 103, 101, - 116, 0, 101, 115, 119, 105, 116, 99, 104, 95, 101, 110, 99, 97, 112, 95, 109, 111, 100, 101, - 95, 115, 101, 116, 0, 105, 110, 102, 111, 95, 103, 101, 116, 0, 100, 101, 118, 108, 105, 110, - 107, 95, 105, 110, 102, 111, 95, 114, 101, 113, 0, 102, 108, 97, 115, 104, 95, 117, 112, 100, - 97, 116, 101, 0, 102, 119, 0, 102, 105, 114, 109, 119, 97, 114, 101, 0, 99, 111, 109, 112, 111, - 110, 101, 110, 116, 0, 111, 118, 101, 114, 119, 114, 105, 116, 101, 95, 109, 97, 115, 107, 0, - 100, 101, 118, 108, 105, 110, 107, 95, 102, 108, 97, 115, 104, 95, 117, 112, 100, 97, 116, 101, - 95, 112, 97, 114, 97, 109, 115, 0, 116, 114, 97, 112, 95, 105, 110, 105, 116, 0, 105, 110, 105, - 116, 95, 97, 99, 116, 105, 111, 110, 0, 105, 110, 105, 116, 95, 103, 114, 111, 117, 112, 95, - 105, 100, 0, 109, 101, 116, 97, 100, 97, 116, 97, 95, 99, 97, 112, 0, 100, 101, 118, 108, 105, - 110, 107, 95, 116, 114, 97, 112, 0, 116, 114, 97, 112, 95, 102, 105, 110, 105, 0, 116, 114, 97, - 112, 95, 97, 99, 116, 105, 111, 110, 95, 115, 101, 116, 0, 116, 114, 97, 112, 95, 103, 114, - 111, 117, 112, 95, 105, 110, 105, 116, 0, 105, 110, 105, 116, 95, 112, 111, 108, 105, 99, 101, - 114, 95, 105, 100, 0, 100, 101, 118, 108, 105, 110, 107, 95, 116, 114, 97, 112, 95, 103, 114, - 111, 117, 112, 0, 116, 114, 97, 112, 95, 103, 114, 111, 117, 112, 95, 115, 101, 116, 0, 105, - 110, 105, 116, 95, 114, 97, 116, 101, 0, 105, 110, 105, 116, 95, 98, 117, 114, 115, 116, 0, - 109, 97, 120, 95, 114, 97, 116, 101, 0, 109, 105, 110, 95, 114, 97, 116, 101, 0, 109, 105, 110, - 95, 98, 117, 114, 115, 116, 0, 100, 101, 118, 108, 105, 110, 107, 95, 116, 114, 97, 112, 95, - 112, 111, 108, 105, 99, 101, 114, 0, 116, 114, 97, 112, 95, 103, 114, 111, 117, 112, 95, 97, - 99, 116, 105, 111, 110, 95, 115, 101, 116, 0, 116, 114, 97, 112, 95, 100, 114, 111, 112, 95, - 99, 111, 117, 110, 116, 101, 114, 95, 103, 101, 116, 0, 116, 114, 97, 112, 95, 112, 111, 108, - 105, 99, 101, 114, 95, 105, 110, 105, 116, 0, 116, 114, 97, 112, 95, 112, 111, 108, 105, 99, - 101, 114, 95, 102, 105, 110, 105, 0, 116, 114, 97, 112, 95, 112, 111, 108, 105, 99, 101, 114, - 95, 115, 101, 116, 0, 116, 114, 97, 112, 95, 112, 111, 108, 105, 99, 101, 114, 95, 99, 111, - 117, 110, 116, 101, 114, 95, 103, 101, 116, 0, 112, 111, 114, 116, 95, 102, 117, 110, 99, 116, - 105, 111, 110, 95, 104, 119, 95, 97, 100, 100, 114, 95, 103, 101, 116, 0, 112, 111, 114, 116, - 95, 102, 117, 110, 99, 116, 105, 111, 110, 95, 104, 119, 95, 97, 100, 100, 114, 95, 115, 101, - 116, 0, 112, 111, 114, 116, 95, 110, 101, 119, 0, 112, 111, 114, 116, 95, 105, 110, 100, 101, - 120, 0, 99, 111, 110, 116, 114, 111, 108, 108, 101, 114, 0, 115, 102, 110, 117, 109, 0, 112, - 102, 110, 117, 109, 0, 112, 111, 114, 116, 95, 105, 110, 100, 101, 120, 95, 118, 97, 108, 105, - 100, 0, 99, 111, 110, 116, 114, 111, 108, 108, 101, 114, 95, 118, 97, 108, 105, 100, 0, 115, - 102, 110, 117, 109, 95, 118, 97, 108, 105, 100, 0, 100, 101, 118, 108, 105, 110, 107, 95, 112, - 111, 114, 116, 95, 110, 101, 119, 95, 97, 116, 116, 114, 115, 0, 112, 111, 114, 116, 95, 100, - 101, 108, 0, 112, 111, 114, 116, 95, 102, 110, 95, 115, 116, 97, 116, 101, 95, 103, 101, 116, - 0, 112, 111, 114, 116, 95, 102, 110, 95, 115, 116, 97, 116, 101, 95, 115, 101, 116, 0, 114, 97, - 116, 101, 95, 108, 101, 97, 102, 95, 116, 120, 95, 115, 104, 97, 114, 101, 95, 115, 101, 116, - 0, 116, 120, 95, 115, 104, 97, 114, 101, 0, 116, 120, 95, 109, 97, 120, 0, 100, 101, 118, 108, - 105, 110, 107, 95, 112, 111, 114, 116, 0, 100, 101, 118, 108, 105, 110, 107, 95, 114, 97, 116, - 101, 0, 114, 97, 116, 101, 95, 108, 101, 97, 102, 95, 116, 120, 95, 109, 97, 120, 95, 115, 101, - 116, 0, 114, 97, 116, 101, 95, 110, 111, 100, 101, 95, 116, 120, 95, 115, 104, 97, 114, 101, - 95, 115, 101, 116, 0, 114, 97, 116, 101, 95, 110, 111, 100, 101, 95, 116, 120, 95, 109, 97, - 120, 95, 115, 101, 116, 0, 114, 97, 116, 101, 95, 110, 111, 100, 101, 95, 110, 101, 119, 0, - 114, 97, 116, 101, 95, 110, 111, 100, 101, 95, 100, 101, 108, 0, 114, 97, 116, 101, 95, 108, - 101, 97, 102, 95, 112, 97, 114, 101, 110, 116, 95, 115, 101, 116, 0, 114, 97, 116, 101, 95, - 110, 111, 100, 101, 95, 112, 97, 114, 101, 110, 116, 95, 115, 101, 116, 0, 100, 101, 118, 108, - 105, 110, 107, 95, 111, 112, 115, 0, 115, 110, 97, 112, 115, 104, 111, 116, 95, 105, 100, 115, - 0, 114, 101, 108, 111, 97, 100, 95, 115, 116, 97, 116, 115, 0, 114, 101, 109, 111, 116, 101, - 95, 114, 101, 108, 111, 97, 100, 95, 115, 116, 97, 116, 115, 0, 100, 101, 118, 108, 105, 110, - 107, 95, 100, 101, 118, 95, 115, 116, 97, 116, 115, 0, 95, 110, 101, 116, 0, 114, 101, 108, - 111, 97, 100, 95, 102, 97, 105, 108, 101, 100, 0, 114, 101, 108, 111, 97, 100, 95, 101, 110, - 97, 98, 108, 101, 100, 0, 116, 121, 112, 101, 95, 108, 111, 99, 107, 0, 100, 101, 115, 105, - 114, 101, 100, 95, 116, 121, 112, 101, 0, 116, 121, 112, 101, 95, 100, 101, 118, 0, 115, 112, - 108, 105, 116, 0, 115, 112, 108, 105, 116, 116, 97, 98, 108, 101, 0, 108, 97, 110, 101, 115, 0, - 115, 119, 105, 116, 99, 104, 95, 105, 100, 0, 112, 104, 121, 115, 0, 112, 111, 114, 116, 95, - 110, 117, 109, 98, 101, 114, 0, 115, 112, 108, 105, 116, 95, 115, 117, 98, 112, 111, 114, 116, - 95, 110, 117, 109, 98, 101, 114, 0, 100, 101, 118, 108, 105, 110, 107, 95, 112, 111, 114, 116, - 95, 112, 104, 121, 115, 95, 97, 116, 116, 114, 115, 0, 112, 99, 105, 95, 112, 102, 0, 101, 120, - 116, 101, 114, 110, 97, 108, 0, 100, 101, 118, 108, 105, 110, 107, 95, 112, 111, 114, 116, 95, - 112, 99, 105, 95, 112, 102, 95, 97, 116, 116, 114, 115, 0, 112, 99, 105, 95, 118, 102, 0, 100, - 101, 118, 108, 105, 110, 107, 95, 112, 111, 114, 116, 95, 112, 99, 105, 95, 118, 102, 95, 97, - 116, 116, 114, 115, 0, 112, 99, 105, 95, 115, 102, 0, 115, 102, 0, 100, 101, 118, 108, 105, - 110, 107, 95, 112, 111, 114, 116, 95, 112, 99, 105, 95, 115, 102, 95, 97, 116, 116, 114, 115, - 0, 100, 101, 118, 108, 105, 110, 107, 95, 112, 111, 114, 116, 95, 97, 116, 116, 114, 115, 0, - 97, 116, 116, 114, 115, 95, 115, 101, 116, 0, 115, 119, 105, 116, 99, 104, 95, 112, 111, 114, - 116, 0, 116, 121, 112, 101, 95, 119, 97, 114, 110, 95, 100, 119, 0, 110, 100, 111, 95, 116, - 117, 110, 110, 101, 108, 95, 99, 116, 108, 0, 111, 95, 102, 108, 97, 103, 115, 0, 105, 95, 107, - 101, 121, 0, 111, 95, 107, 101, 121, 0, 105, 112, 104, 0, 105, 104, 108, 0, 116, 111, 116, 95, - 108, 101, 110, 0, 102, 114, 97, 103, 95, 111, 102, 102, 0, 116, 116, 108, 0, 95, 95, 115, 117, - 109, 49, 54, 0, 105, 112, 104, 100, 114, 0, 105, 112, 95, 116, 117, 110, 110, 101, 108, 95, - 112, 97, 114, 109, 0, 110, 100, 111, 95, 103, 101, 116, 95, 112, 101, 101, 114, 95, 100, 101, - 118, 0, 110, 100, 111, 95, 102, 105, 108, 108, 95, 102, 111, 114, 119, 97, 114, 100, 95, 112, - 97, 116, 104, 0, 110, 117, 109, 95, 118, 108, 97, 110, 115, 0, 110, 101, 116, 95, 100, 101, - 118, 105, 99, 101, 95, 112, 97, 116, 104, 95, 99, 116, 120, 0, 110, 101, 116, 95, 100, 101, - 118, 105, 99, 101, 95, 111, 112, 115, 0, 103, 102, 108, 97, 103, 115, 0, 104, 97, 114, 100, 95, - 104, 101, 97, 100, 101, 114, 95, 108, 101, 110, 0, 110, 101, 101, 100, 101, 100, 95, 104, 101, - 97, 100, 114, 111, 111, 109, 0, 110, 101, 101, 100, 101, 100, 95, 116, 97, 105, 108, 114, 111, - 111, 109, 0, 104, 119, 95, 102, 101, 97, 116, 117, 114, 101, 115, 0, 119, 97, 110, 116, 101, - 100, 95, 102, 101, 97, 116, 117, 114, 101, 115, 0, 118, 108, 97, 110, 95, 102, 101, 97, 116, - 117, 114, 101, 115, 0, 104, 119, 95, 101, 110, 99, 95, 102, 101, 97, 116, 117, 114, 101, 115, - 0, 109, 112, 108, 115, 95, 102, 101, 97, 116, 117, 114, 101, 115, 0, 103, 115, 111, 95, 112, - 97, 114, 116, 105, 97, 108, 95, 102, 101, 97, 116, 117, 114, 101, 115, 0, 109, 105, 110, 95, - 109, 116, 117, 0, 109, 97, 120, 95, 109, 116, 117, 0, 109, 105, 110, 95, 104, 101, 97, 100, - 101, 114, 95, 108, 101, 110, 0, 110, 97, 109, 101, 95, 97, 115, 115, 105, 103, 110, 95, 116, - 121, 112, 101, 0, 99, 97, 114, 114, 105, 101, 114, 95, 117, 112, 95, 99, 111, 117, 110, 116, 0, - 99, 97, 114, 114, 105, 101, 114, 95, 100, 111, 119, 110, 95, 99, 111, 117, 110, 116, 0, 119, - 105, 114, 101, 108, 101, 115, 115, 95, 104, 97, 110, 100, 108, 101, 114, 115, 0, 115, 116, 97, - 110, 100, 97, 114, 100, 0, 105, 119, 95, 114, 101, 113, 117, 101, 115, 116, 95, 105, 110, 102, - 111, 0, 101, 115, 115, 105, 100, 0, 112, 111, 105, 110, 116, 101, 114, 0, 105, 119, 95, 112, - 111, 105, 110, 116, 0, 110, 119, 105, 100, 0, 102, 105, 120, 101, 100, 0, 105, 119, 95, 112, - 97, 114, 97, 109, 0, 101, 0, 105, 0, 105, 119, 95, 102, 114, 101, 113, 0, 115, 101, 110, 115, - 0, 98, 105, 116, 114, 97, 116, 101, 0, 116, 120, 112, 111, 119, 101, 114, 0, 114, 116, 115, 0, - 114, 101, 116, 114, 121, 0, 113, 117, 97, 108, 0, 110, 111, 105, 115, 101, 0, 105, 119, 95, - 113, 117, 97, 108, 105, 116, 121, 0, 97, 112, 95, 97, 100, 100, 114, 0, 105, 119, 114, 101, - 113, 95, 100, 97, 116, 97, 0, 105, 119, 95, 104, 97, 110, 100, 108, 101, 114, 0, 110, 117, 109, - 95, 115, 116, 97, 110, 100, 97, 114, 100, 0, 110, 117, 109, 95, 112, 114, 105, 118, 97, 116, - 101, 0, 110, 117, 109, 95, 112, 114, 105, 118, 97, 116, 101, 95, 97, 114, 103, 115, 0, 112, - 114, 105, 118, 97, 116, 101, 95, 97, 114, 103, 115, 0, 115, 101, 116, 95, 97, 114, 103, 115, 0, - 103, 101, 116, 95, 97, 114, 103, 115, 0, 105, 119, 95, 112, 114, 105, 118, 95, 97, 114, 103, - 115, 0, 103, 101, 116, 95, 119, 105, 114, 101, 108, 101, 115, 115, 95, 115, 116, 97, 116, 115, - 0, 100, 105, 115, 99, 97, 114, 100, 0, 102, 114, 97, 103, 109, 101, 110, 116, 0, 114, 101, 116, - 114, 105, 101, 115, 0, 109, 105, 115, 99, 0, 105, 119, 95, 100, 105, 115, 99, 97, 114, 100, - 101, 100, 0, 109, 105, 115, 115, 0, 98, 101, 97, 99, 111, 110, 0, 105, 119, 95, 109, 105, 115, - 115, 101, 100, 0, 105, 119, 95, 115, 116, 97, 116, 105, 115, 116, 105, 99, 115, 0, 105, 119, - 95, 104, 97, 110, 100, 108, 101, 114, 95, 100, 101, 102, 0, 119, 105, 114, 101, 108, 101, 115, - 115, 95, 100, 97, 116, 97, 0, 115, 112, 121, 95, 100, 97, 116, 97, 0, 115, 112, 121, 95, 110, - 117, 109, 98, 101, 114, 0, 115, 112, 121, 95, 97, 100, 100, 114, 101, 115, 115, 0, 117, 95, 99, - 104, 97, 114, 0, 115, 112, 121, 95, 115, 116, 97, 116, 0, 115, 112, 121, 95, 116, 104, 114, 95, - 108, 111, 119, 0, 115, 112, 121, 95, 116, 104, 114, 95, 104, 105, 103, 104, 0, 115, 112, 121, - 95, 116, 104, 114, 95, 117, 110, 100, 101, 114, 0, 105, 119, 95, 115, 112, 121, 95, 100, 97, - 116, 97, 0, 108, 105, 98, 105, 112, 119, 0, 108, 105, 98, 105, 112, 119, 95, 100, 101, 118, - 105, 99, 101, 0, 105, 119, 95, 112, 117, 98, 108, 105, 99, 95, 100, 97, 116, 97, 0, 101, 116, - 104, 116, 111, 111, 108, 95, 111, 112, 115, 0, 99, 97, 112, 95, 108, 105, 110, 107, 95, 108, - 97, 110, 101, 115, 95, 115, 117, 112, 112, 111, 114, 116, 101, 100, 0, 115, 117, 112, 112, 111, - 114, 116, 101, 100, 95, 99, 111, 97, 108, 101, 115, 99, 101, 95, 112, 97, 114, 97, 109, 115, 0, - 103, 101, 116, 95, 100, 114, 118, 105, 110, 102, 111, 0, 102, 119, 95, 118, 101, 114, 115, 105, - 111, 110, 0, 98, 117, 115, 95, 105, 110, 102, 111, 0, 101, 114, 111, 109, 95, 118, 101, 114, - 115, 105, 111, 110, 0, 114, 101, 115, 101, 114, 118, 101, 100, 50, 0, 110, 95, 112, 114, 105, - 118, 95, 102, 108, 97, 103, 115, 0, 110, 95, 115, 116, 97, 116, 115, 0, 116, 101, 115, 116, - 105, 110, 102, 111, 95, 108, 101, 110, 0, 101, 101, 100, 117, 109, 112, 95, 108, 101, 110, 0, - 114, 101, 103, 100, 117, 109, 112, 95, 108, 101, 110, 0, 101, 116, 104, 116, 111, 111, 108, 95, - 100, 114, 118, 105, 110, 102, 111, 0, 103, 101, 116, 95, 114, 101, 103, 115, 95, 108, 101, 110, - 0, 103, 101, 116, 95, 114, 101, 103, 115, 0, 101, 116, 104, 116, 111, 111, 108, 95, 114, 101, - 103, 115, 0, 103, 101, 116, 95, 119, 111, 108, 0, 115, 117, 112, 112, 111, 114, 116, 101, 100, - 0, 119, 111, 108, 111, 112, 116, 115, 0, 115, 111, 112, 97, 115, 115, 0, 101, 116, 104, 116, - 111, 111, 108, 95, 119, 111, 108, 105, 110, 102, 111, 0, 115, 101, 116, 95, 119, 111, 108, 0, - 103, 101, 116, 95, 109, 115, 103, 108, 101, 118, 101, 108, 0, 115, 101, 116, 95, 109, 115, 103, - 108, 101, 118, 101, 108, 0, 110, 119, 97, 121, 95, 114, 101, 115, 101, 116, 0, 103, 101, 116, - 95, 108, 105, 110, 107, 95, 101, 120, 116, 95, 115, 116, 97, 116, 101, 0, 108, 105, 110, 107, - 95, 101, 120, 116, 95, 115, 116, 97, 116, 101, 0, 69, 84, 72, 84, 79, 79, 76, 95, 76, 73, 78, - 75, 95, 69, 88, 84, 95, 83, 84, 65, 84, 69, 95, 65, 85, 84, 79, 78, 69, 71, 0, 69, 84, 72, 84, - 79, 79, 76, 95, 76, 73, 78, 75, 95, 69, 88, 84, 95, 83, 84, 65, 84, 69, 95, 76, 73, 78, 75, 95, - 84, 82, 65, 73, 78, 73, 78, 71, 95, 70, 65, 73, 76, 85, 82, 69, 0, 69, 84, 72, 84, 79, 79, 76, - 95, 76, 73, 78, 75, 95, 69, 88, 84, 95, 83, 84, 65, 84, 69, 95, 76, 73, 78, 75, 95, 76, 79, 71, - 73, 67, 65, 76, 95, 77, 73, 83, 77, 65, 84, 67, 72, 0, 69, 84, 72, 84, 79, 79, 76, 95, 76, 73, - 78, 75, 95, 69, 88, 84, 95, 83, 84, 65, 84, 69, 95, 66, 65, 68, 95, 83, 73, 71, 78, 65, 76, 95, - 73, 78, 84, 69, 71, 82, 73, 84, 89, 0, 69, 84, 72, 84, 79, 79, 76, 95, 76, 73, 78, 75, 95, 69, - 88, 84, 95, 83, 84, 65, 84, 69, 95, 78, 79, 95, 67, 65, 66, 76, 69, 0, 69, 84, 72, 84, 79, 79, - 76, 95, 76, 73, 78, 75, 95, 69, 88, 84, 95, 83, 84, 65, 84, 69, 95, 67, 65, 66, 76, 69, 95, 73, - 83, 83, 85, 69, 0, 69, 84, 72, 84, 79, 79, 76, 95, 76, 73, 78, 75, 95, 69, 88, 84, 95, 83, 84, - 65, 84, 69, 95, 69, 69, 80, 82, 79, 77, 95, 73, 83, 83, 85, 69, 0, 69, 84, 72, 84, 79, 79, 76, - 95, 76, 73, 78, 75, 95, 69, 88, 84, 95, 83, 84, 65, 84, 69, 95, 67, 65, 76, 73, 66, 82, 65, 84, - 73, 79, 78, 95, 70, 65, 73, 76, 85, 82, 69, 0, 69, 84, 72, 84, 79, 79, 76, 95, 76, 73, 78, 75, - 95, 69, 88, 84, 95, 83, 84, 65, 84, 69, 95, 80, 79, 87, 69, 82, 95, 66, 85, 68, 71, 69, 84, 95, - 69, 88, 67, 69, 69, 68, 69, 68, 0, 69, 84, 72, 84, 79, 79, 76, 95, 76, 73, 78, 75, 95, 69, 88, - 84, 95, 83, 84, 65, 84, 69, 95, 79, 86, 69, 82, 72, 69, 65, 84, 0, 101, 116, 104, 116, 111, - 111, 108, 95, 108, 105, 110, 107, 95, 101, 120, 116, 95, 115, 116, 97, 116, 101, 0, 97, 117, - 116, 111, 110, 101, 103, 0, 69, 84, 72, 84, 79, 79, 76, 95, 76, 73, 78, 75, 95, 69, 88, 84, 95, - 83, 85, 66, 83, 84, 65, 84, 69, 95, 65, 78, 95, 78, 79, 95, 80, 65, 82, 84, 78, 69, 82, 95, 68, - 69, 84, 69, 67, 84, 69, 68, 0, 69, 84, 72, 84, 79, 79, 76, 95, 76, 73, 78, 75, 95, 69, 88, 84, - 95, 83, 85, 66, 83, 84, 65, 84, 69, 95, 65, 78, 95, 65, 67, 75, 95, 78, 79, 84, 95, 82, 69, 67, - 69, 73, 86, 69, 68, 0, 69, 84, 72, 84, 79, 79, 76, 95, 76, 73, 78, 75, 95, 69, 88, 84, 95, 83, - 85, 66, 83, 84, 65, 84, 69, 95, 65, 78, 95, 78, 69, 88, 84, 95, 80, 65, 71, 69, 95, 69, 88, 67, - 72, 65, 78, 71, 69, 95, 70, 65, 73, 76, 69, 68, 0, 69, 84, 72, 84, 79, 79, 76, 95, 76, 73, 78, - 75, 95, 69, 88, 84, 95, 83, 85, 66, 83, 84, 65, 84, 69, 95, 65, 78, 95, 78, 79, 95, 80, 65, 82, - 84, 78, 69, 82, 95, 68, 69, 84, 69, 67, 84, 69, 68, 95, 70, 79, 82, 67, 69, 95, 77, 79, 68, 69, - 0, 69, 84, 72, 84, 79, 79, 76, 95, 76, 73, 78, 75, 95, 69, 88, 84, 95, 83, 85, 66, 83, 84, 65, - 84, 69, 95, 65, 78, 95, 70, 69, 67, 95, 77, 73, 83, 77, 65, 84, 67, 72, 95, 68, 85, 82, 73, 78, - 71, 95, 79, 86, 69, 82, 82, 73, 68, 69, 0, 69, 84, 72, 84, 79, 79, 76, 95, 76, 73, 78, 75, 95, - 69, 88, 84, 95, 83, 85, 66, 83, 84, 65, 84, 69, 95, 65, 78, 95, 78, 79, 95, 72, 67, 68, 0, 101, - 116, 104, 116, 111, 111, 108, 95, 108, 105, 110, 107, 95, 101, 120, 116, 95, 115, 117, 98, 115, - 116, 97, 116, 101, 95, 97, 117, 116, 111, 110, 101, 103, 0, 108, 105, 110, 107, 95, 116, 114, - 97, 105, 110, 105, 110, 103, 0, 69, 84, 72, 84, 79, 79, 76, 95, 76, 73, 78, 75, 95, 69, 88, 84, - 95, 83, 85, 66, 83, 84, 65, 84, 69, 95, 76, 84, 95, 75, 82, 95, 70, 82, 65, 77, 69, 95, 76, 79, - 67, 75, 95, 78, 79, 84, 95, 65, 67, 81, 85, 73, 82, 69, 68, 0, 69, 84, 72, 84, 79, 79, 76, 95, - 76, 73, 78, 75, 95, 69, 88, 84, 95, 83, 85, 66, 83, 84, 65, 84, 69, 95, 76, 84, 95, 75, 82, 95, - 76, 73, 78, 75, 95, 73, 78, 72, 73, 66, 73, 84, 95, 84, 73, 77, 69, 79, 85, 84, 0, 69, 84, 72, - 84, 79, 79, 76, 95, 76, 73, 78, 75, 95, 69, 88, 84, 95, 83, 85, 66, 83, 84, 65, 84, 69, 95, 76, - 84, 95, 75, 82, 95, 76, 73, 78, 75, 95, 80, 65, 82, 84, 78, 69, 82, 95, 68, 73, 68, 95, 78, 79, - 84, 95, 83, 69, 84, 95, 82, 69, 67, 69, 73, 86, 69, 82, 95, 82, 69, 65, 68, 89, 0, 69, 84, 72, - 84, 79, 79, 76, 95, 76, 73, 78, 75, 95, 69, 88, 84, 95, 83, 85, 66, 83, 84, 65, 84, 69, 95, 76, - 84, 95, 82, 69, 77, 79, 84, 69, 95, 70, 65, 85, 76, 84, 0, 101, 116, 104, 116, 111, 111, 108, - 95, 108, 105, 110, 107, 95, 101, 120, 116, 95, 115, 117, 98, 115, 116, 97, 116, 101, 95, 108, - 105, 110, 107, 95, 116, 114, 97, 105, 110, 105, 110, 103, 0, 108, 105, 110, 107, 95, 108, 111, - 103, 105, 99, 97, 108, 95, 109, 105, 115, 109, 97, 116, 99, 104, 0, 69, 84, 72, 84, 79, 79, 76, - 95, 76, 73, 78, 75, 95, 69, 88, 84, 95, 83, 85, 66, 83, 84, 65, 84, 69, 95, 76, 76, 77, 95, 80, - 67, 83, 95, 68, 73, 68, 95, 78, 79, 84, 95, 65, 67, 81, 85, 73, 82, 69, 95, 66, 76, 79, 67, 75, - 95, 76, 79, 67, 75, 0, 69, 84, 72, 84, 79, 79, 76, 95, 76, 73, 78, 75, 95, 69, 88, 84, 95, 83, - 85, 66, 83, 84, 65, 84, 69, 95, 76, 76, 77, 95, 80, 67, 83, 95, 68, 73, 68, 95, 78, 79, 84, 95, - 65, 67, 81, 85, 73, 82, 69, 95, 65, 77, 95, 76, 79, 67, 75, 0, 69, 84, 72, 84, 79, 79, 76, 95, - 76, 73, 78, 75, 95, 69, 88, 84, 95, 83, 85, 66, 83, 84, 65, 84, 69, 95, 76, 76, 77, 95, 80, 67, - 83, 95, 68, 73, 68, 95, 78, 79, 84, 95, 71, 69, 84, 95, 65, 76, 73, 71, 78, 95, 83, 84, 65, 84, - 85, 83, 0, 69, 84, 72, 84, 79, 79, 76, 95, 76, 73, 78, 75, 95, 69, 88, 84, 95, 83, 85, 66, 83, - 84, 65, 84, 69, 95, 76, 76, 77, 95, 70, 67, 95, 70, 69, 67, 95, 73, 83, 95, 78, 79, 84, 95, 76, - 79, 67, 75, 69, 68, 0, 69, 84, 72, 84, 79, 79, 76, 95, 76, 73, 78, 75, 95, 69, 88, 84, 95, 83, - 85, 66, 83, 84, 65, 84, 69, 95, 76, 76, 77, 95, 82, 83, 95, 70, 69, 67, 95, 73, 83, 95, 78, 79, - 84, 95, 76, 79, 67, 75, 69, 68, 0, 101, 116, 104, 116, 111, 111, 108, 95, 108, 105, 110, 107, - 95, 101, 120, 116, 95, 115, 117, 98, 115, 116, 97, 116, 101, 95, 108, 105, 110, 107, 95, 108, - 111, 103, 105, 99, 97, 108, 95, 109, 105, 115, 109, 97, 116, 99, 104, 0, 98, 97, 100, 95, 115, - 105, 103, 110, 97, 108, 95, 105, 110, 116, 101, 103, 114, 105, 116, 121, 0, 69, 84, 72, 84, 79, - 79, 76, 95, 76, 73, 78, 75, 95, 69, 88, 84, 95, 83, 85, 66, 83, 84, 65, 84, 69, 95, 66, 83, 73, - 95, 76, 65, 82, 71, 69, 95, 78, 85, 77, 66, 69, 82, 95, 79, 70, 95, 80, 72, 89, 83, 73, 67, 65, - 76, 95, 69, 82, 82, 79, 82, 83, 0, 69, 84, 72, 84, 79, 79, 76, 95, 76, 73, 78, 75, 95, 69, 88, - 84, 95, 83, 85, 66, 83, 84, 65, 84, 69, 95, 66, 83, 73, 95, 85, 78, 83, 85, 80, 80, 79, 82, 84, - 69, 68, 95, 82, 65, 84, 69, 0, 69, 84, 72, 84, 79, 79, 76, 95, 76, 73, 78, 75, 95, 69, 88, 84, - 95, 83, 85, 66, 83, 84, 65, 84, 69, 95, 66, 83, 73, 95, 83, 69, 82, 68, 69, 83, 95, 82, 69, 70, - 69, 82, 69, 78, 67, 69, 95, 67, 76, 79, 67, 75, 95, 76, 79, 83, 84, 0, 69, 84, 72, 84, 79, 79, - 76, 95, 76, 73, 78, 75, 95, 69, 88, 84, 95, 83, 85, 66, 83, 84, 65, 84, 69, 95, 66, 83, 73, 95, - 83, 69, 82, 68, 69, 83, 95, 65, 76, 79, 83, 0, 101, 116, 104, 116, 111, 111, 108, 95, 108, 105, - 110, 107, 95, 101, 120, 116, 95, 115, 117, 98, 115, 116, 97, 116, 101, 95, 98, 97, 100, 95, - 115, 105, 103, 110, 97, 108, 95, 105, 110, 116, 101, 103, 114, 105, 116, 121, 0, 99, 97, 98, - 108, 101, 95, 105, 115, 115, 117, 101, 0, 69, 84, 72, 84, 79, 79, 76, 95, 76, 73, 78, 75, 95, - 69, 88, 84, 95, 83, 85, 66, 83, 84, 65, 84, 69, 95, 67, 73, 95, 85, 78, 83, 85, 80, 80, 79, 82, - 84, 69, 68, 95, 67, 65, 66, 76, 69, 0, 69, 84, 72, 84, 79, 79, 76, 95, 76, 73, 78, 75, 95, 69, - 88, 84, 95, 83, 85, 66, 83, 84, 65, 84, 69, 95, 67, 73, 95, 67, 65, 66, 76, 69, 95, 84, 69, 83, - 84, 95, 70, 65, 73, 76, 85, 82, 69, 0, 101, 116, 104, 116, 111, 111, 108, 95, 108, 105, 110, - 107, 95, 101, 120, 116, 95, 115, 117, 98, 115, 116, 97, 116, 101, 95, 99, 97, 98, 108, 101, 95, - 105, 115, 115, 117, 101, 0, 95, 95, 108, 105, 110, 107, 95, 101, 120, 116, 95, 115, 117, 98, - 115, 116, 97, 116, 101, 0, 101, 116, 104, 116, 111, 111, 108, 95, 108, 105, 110, 107, 95, 101, - 120, 116, 95, 115, 116, 97, 116, 101, 95, 105, 110, 102, 111, 0, 103, 101, 116, 95, 101, 101, - 112, 114, 111, 109, 95, 108, 101, 110, 0, 103, 101, 116, 95, 101, 101, 112, 114, 111, 109, 0, - 101, 116, 104, 116, 111, 111, 108, 95, 101, 101, 112, 114, 111, 109, 0, 115, 101, 116, 95, 101, - 101, 112, 114, 111, 109, 0, 103, 101, 116, 95, 99, 111, 97, 108, 101, 115, 99, 101, 0, 114, - 120, 95, 99, 111, 97, 108, 101, 115, 99, 101, 95, 117, 115, 101, 99, 115, 0, 114, 120, 95, 109, - 97, 120, 95, 99, 111, 97, 108, 101, 115, 99, 101, 100, 95, 102, 114, 97, 109, 101, 115, 0, 114, - 120, 95, 99, 111, 97, 108, 101, 115, 99, 101, 95, 117, 115, 101, 99, 115, 95, 105, 114, 113, 0, - 114, 120, 95, 109, 97, 120, 95, 99, 111, 97, 108, 101, 115, 99, 101, 100, 95, 102, 114, 97, - 109, 101, 115, 95, 105, 114, 113, 0, 116, 120, 95, 99, 111, 97, 108, 101, 115, 99, 101, 95, - 117, 115, 101, 99, 115, 0, 116, 120, 95, 109, 97, 120, 95, 99, 111, 97, 108, 101, 115, 99, 101, - 100, 95, 102, 114, 97, 109, 101, 115, 0, 116, 120, 95, 99, 111, 97, 108, 101, 115, 99, 101, 95, - 117, 115, 101, 99, 115, 95, 105, 114, 113, 0, 116, 120, 95, 109, 97, 120, 95, 99, 111, 97, 108, - 101, 115, 99, 101, 100, 95, 102, 114, 97, 109, 101, 115, 95, 105, 114, 113, 0, 115, 116, 97, - 116, 115, 95, 98, 108, 111, 99, 107, 95, 99, 111, 97, 108, 101, 115, 99, 101, 95, 117, 115, - 101, 99, 115, 0, 117, 115, 101, 95, 97, 100, 97, 112, 116, 105, 118, 101, 95, 114, 120, 95, 99, - 111, 97, 108, 101, 115, 99, 101, 0, 117, 115, 101, 95, 97, 100, 97, 112, 116, 105, 118, 101, - 95, 116, 120, 95, 99, 111, 97, 108, 101, 115, 99, 101, 0, 112, 107, 116, 95, 114, 97, 116, 101, - 95, 108, 111, 119, 0, 114, 120, 95, 99, 111, 97, 108, 101, 115, 99, 101, 95, 117, 115, 101, 99, - 115, 95, 108, 111, 119, 0, 114, 120, 95, 109, 97, 120, 95, 99, 111, 97, 108, 101, 115, 99, 101, - 100, 95, 102, 114, 97, 109, 101, 115, 95, 108, 111, 119, 0, 116, 120, 95, 99, 111, 97, 108, - 101, 115, 99, 101, 95, 117, 115, 101, 99, 115, 95, 108, 111, 119, 0, 116, 120, 95, 109, 97, - 120, 95, 99, 111, 97, 108, 101, 115, 99, 101, 100, 95, 102, 114, 97, 109, 101, 115, 95, 108, - 111, 119, 0, 112, 107, 116, 95, 114, 97, 116, 101, 95, 104, 105, 103, 104, 0, 114, 120, 95, 99, - 111, 97, 108, 101, 115, 99, 101, 95, 117, 115, 101, 99, 115, 95, 104, 105, 103, 104, 0, 114, - 120, 95, 109, 97, 120, 95, 99, 111, 97, 108, 101, 115, 99, 101, 100, 95, 102, 114, 97, 109, - 101, 115, 95, 104, 105, 103, 104, 0, 116, 120, 95, 99, 111, 97, 108, 101, 115, 99, 101, 95, - 117, 115, 101, 99, 115, 95, 104, 105, 103, 104, 0, 116, 120, 95, 109, 97, 120, 95, 99, 111, 97, - 108, 101, 115, 99, 101, 100, 95, 102, 114, 97, 109, 101, 115, 95, 104, 105, 103, 104, 0, 114, - 97, 116, 101, 95, 115, 97, 109, 112, 108, 101, 95, 105, 110, 116, 101, 114, 118, 97, 108, 0, - 101, 116, 104, 116, 111, 111, 108, 95, 99, 111, 97, 108, 101, 115, 99, 101, 0, 117, 115, 101, - 95, 99, 113, 101, 95, 109, 111, 100, 101, 95, 116, 120, 0, 117, 115, 101, 95, 99, 113, 101, 95, - 109, 111, 100, 101, 95, 114, 120, 0, 107, 101, 114, 110, 101, 108, 95, 101, 116, 104, 116, 111, - 111, 108, 95, 99, 111, 97, 108, 101, 115, 99, 101, 0, 115, 101, 116, 95, 99, 111, 97, 108, 101, - 115, 99, 101, 0, 103, 101, 116, 95, 114, 105, 110, 103, 112, 97, 114, 97, 109, 0, 114, 120, 95, - 109, 97, 120, 95, 112, 101, 110, 100, 105, 110, 103, 0, 114, 120, 95, 109, 105, 110, 105, 95, - 109, 97, 120, 95, 112, 101, 110, 100, 105, 110, 103, 0, 114, 120, 95, 106, 117, 109, 98, 111, - 95, 109, 97, 120, 95, 112, 101, 110, 100, 105, 110, 103, 0, 116, 120, 95, 109, 97, 120, 95, - 112, 101, 110, 100, 105, 110, 103, 0, 114, 120, 95, 112, 101, 110, 100, 105, 110, 103, 0, 114, - 120, 95, 109, 105, 110, 105, 95, 112, 101, 110, 100, 105, 110, 103, 0, 114, 120, 95, 106, 117, - 109, 98, 111, 95, 112, 101, 110, 100, 105, 110, 103, 0, 116, 120, 95, 112, 101, 110, 100, 105, - 110, 103, 0, 101, 116, 104, 116, 111, 111, 108, 95, 114, 105, 110, 103, 112, 97, 114, 97, 109, - 0, 115, 101, 116, 95, 114, 105, 110, 103, 112, 97, 114, 97, 109, 0, 103, 101, 116, 95, 112, 97, - 117, 115, 101, 95, 115, 116, 97, 116, 115, 0, 116, 120, 95, 112, 97, 117, 115, 101, 95, 102, - 114, 97, 109, 101, 115, 0, 114, 120, 95, 112, 97, 117, 115, 101, 95, 102, 114, 97, 109, 101, - 115, 0, 101, 116, 104, 116, 111, 111, 108, 95, 112, 97, 117, 115, 101, 95, 115, 116, 97, 116, - 115, 0, 103, 101, 116, 95, 112, 97, 117, 115, 101, 112, 97, 114, 97, 109, 0, 114, 120, 95, 112, - 97, 117, 115, 101, 0, 116, 120, 95, 112, 97, 117, 115, 101, 0, 101, 116, 104, 116, 111, 111, - 108, 95, 112, 97, 117, 115, 101, 112, 97, 114, 97, 109, 0, 115, 101, 116, 95, 112, 97, 117, - 115, 101, 112, 97, 114, 97, 109, 0, 115, 101, 108, 102, 95, 116, 101, 115, 116, 0, 101, 116, - 104, 116, 111, 111, 108, 95, 116, 101, 115, 116, 0, 103, 101, 116, 95, 115, 116, 114, 105, 110, - 103, 115, 0, 115, 101, 116, 95, 112, 104, 121, 115, 95, 105, 100, 0, 69, 84, 72, 84, 79, 79, - 76, 95, 73, 68, 95, 73, 78, 65, 67, 84, 73, 86, 69, 0, 69, 84, 72, 84, 79, 79, 76, 95, 73, 68, - 95, 65, 67, 84, 73, 86, 69, 0, 69, 84, 72, 84, 79, 79, 76, 95, 73, 68, 95, 79, 78, 0, 69, 84, - 72, 84, 79, 79, 76, 95, 73, 68, 95, 79, 70, 70, 0, 101, 116, 104, 116, 111, 111, 108, 95, 112, - 104, 121, 115, 95, 105, 100, 95, 115, 116, 97, 116, 101, 0, 103, 101, 116, 95, 101, 116, 104, - 116, 111, 111, 108, 95, 115, 116, 97, 116, 115, 0, 101, 116, 104, 116, 111, 111, 108, 95, 115, - 116, 97, 116, 115, 0, 103, 101, 116, 95, 112, 114, 105, 118, 95, 102, 108, 97, 103, 115, 0, - 115, 101, 116, 95, 112, 114, 105, 118, 95, 102, 108, 97, 103, 115, 0, 103, 101, 116, 95, 115, - 115, 101, 116, 95, 99, 111, 117, 110, 116, 0, 103, 101, 116, 95, 114, 120, 110, 102, 99, 0, - 102, 108, 111, 119, 95, 116, 121, 112, 101, 0, 104, 95, 117, 0, 116, 99, 112, 95, 105, 112, 52, - 95, 115, 112, 101, 99, 0, 105, 112, 52, 115, 114, 99, 0, 105, 112, 52, 100, 115, 116, 0, 112, - 115, 114, 99, 0, 112, 100, 115, 116, 0, 101, 116, 104, 116, 111, 111, 108, 95, 116, 99, 112, - 105, 112, 52, 95, 115, 112, 101, 99, 0, 117, 100, 112, 95, 105, 112, 52, 95, 115, 112, 101, 99, - 0, 115, 99, 116, 112, 95, 105, 112, 52, 95, 115, 112, 101, 99, 0, 97, 104, 95, 105, 112, 52, - 95, 115, 112, 101, 99, 0, 101, 116, 104, 116, 111, 111, 108, 95, 97, 104, 95, 101, 115, 112, - 105, 112, 52, 95, 115, 112, 101, 99, 0, 101, 115, 112, 95, 105, 112, 52, 95, 115, 112, 101, 99, - 0, 117, 115, 114, 95, 105, 112, 52, 95, 115, 112, 101, 99, 0, 108, 52, 95, 52, 95, 98, 121, - 116, 101, 115, 0, 105, 112, 95, 118, 101, 114, 0, 101, 116, 104, 116, 111, 111, 108, 95, 117, - 115, 114, 105, 112, 52, 95, 115, 112, 101, 99, 0, 116, 99, 112, 95, 105, 112, 54, 95, 115, 112, - 101, 99, 0, 105, 112, 54, 115, 114, 99, 0, 105, 112, 54, 100, 115, 116, 0, 116, 99, 108, 97, - 115, 115, 0, 101, 116, 104, 116, 111, 111, 108, 95, 116, 99, 112, 105, 112, 54, 95, 115, 112, - 101, 99, 0, 117, 100, 112, 95, 105, 112, 54, 95, 115, 112, 101, 99, 0, 115, 99, 116, 112, 95, - 105, 112, 54, 95, 115, 112, 101, 99, 0, 97, 104, 95, 105, 112, 54, 95, 115, 112, 101, 99, 0, - 101, 116, 104, 116, 111, 111, 108, 95, 97, 104, 95, 101, 115, 112, 105, 112, 54, 95, 115, 112, - 101, 99, 0, 101, 115, 112, 95, 105, 112, 54, 95, 115, 112, 101, 99, 0, 117, 115, 114, 95, 105, - 112, 54, 95, 115, 112, 101, 99, 0, 108, 52, 95, 112, 114, 111, 116, 111, 0, 101, 116, 104, 116, - 111, 111, 108, 95, 117, 115, 114, 105, 112, 54, 95, 115, 112, 101, 99, 0, 101, 116, 104, 101, - 114, 95, 115, 112, 101, 99, 0, 104, 95, 100, 101, 115, 116, 0, 104, 95, 115, 111, 117, 114, 99, - 101, 0, 104, 95, 112, 114, 111, 116, 111, 0, 101, 116, 104, 104, 100, 114, 0, 104, 100, 97, - 116, 97, 0, 101, 116, 104, 116, 111, 111, 108, 95, 102, 108, 111, 119, 95, 117, 110, 105, 111, - 110, 0, 104, 95, 101, 120, 116, 0, 118, 108, 97, 110, 95, 101, 116, 121, 112, 101, 0, 101, 116, - 104, 116, 111, 111, 108, 95, 102, 108, 111, 119, 95, 101, 120, 116, 0, 109, 95, 117, 0, 109, - 95, 101, 120, 116, 0, 114, 105, 110, 103, 95, 99, 111, 111, 107, 105, 101, 0, 108, 111, 99, 97, - 116, 105, 111, 110, 0, 101, 116, 104, 116, 111, 111, 108, 95, 114, 120, 95, 102, 108, 111, 119, - 95, 115, 112, 101, 99, 0, 114, 117, 108, 101, 95, 99, 110, 116, 0, 114, 115, 115, 95, 99, 111, - 110, 116, 101, 120, 116, 0, 114, 117, 108, 101, 95, 108, 111, 99, 115, 0, 101, 116, 104, 116, - 111, 111, 108, 95, 114, 120, 110, 102, 99, 0, 115, 101, 116, 95, 114, 120, 110, 102, 99, 0, - 102, 108, 97, 115, 104, 95, 100, 101, 118, 105, 99, 101, 0, 114, 101, 103, 105, 111, 110, 0, - 101, 116, 104, 116, 111, 111, 108, 95, 102, 108, 97, 115, 104, 0, 103, 101, 116, 95, 114, 120, - 102, 104, 95, 107, 101, 121, 95, 115, 105, 122, 101, 0, 103, 101, 116, 95, 114, 120, 102, 104, - 95, 105, 110, 100, 105, 114, 95, 115, 105, 122, 101, 0, 103, 101, 116, 95, 114, 120, 102, 104, - 0, 115, 101, 116, 95, 114, 120, 102, 104, 0, 103, 101, 116, 95, 114, 120, 102, 104, 95, 99, - 111, 110, 116, 101, 120, 116, 0, 115, 101, 116, 95, 114, 120, 102, 104, 95, 99, 111, 110, 116, - 101, 120, 116, 0, 103, 101, 116, 95, 99, 104, 97, 110, 110, 101, 108, 115, 0, 109, 97, 120, 95, - 114, 120, 0, 109, 97, 120, 95, 116, 120, 0, 109, 97, 120, 95, 111, 116, 104, 101, 114, 0, 109, - 97, 120, 95, 99, 111, 109, 98, 105, 110, 101, 100, 0, 114, 120, 95, 99, 111, 117, 110, 116, 0, - 116, 120, 95, 99, 111, 117, 110, 116, 0, 111, 116, 104, 101, 114, 95, 99, 111, 117, 110, 116, - 0, 99, 111, 109, 98, 105, 110, 101, 100, 95, 99, 111, 117, 110, 116, 0, 101, 116, 104, 116, - 111, 111, 108, 95, 99, 104, 97, 110, 110, 101, 108, 115, 0, 115, 101, 116, 95, 99, 104, 97, - 110, 110, 101, 108, 115, 0, 103, 101, 116, 95, 100, 117, 109, 112, 95, 102, 108, 97, 103, 0, - 102, 108, 97, 103, 0, 101, 116, 104, 116, 111, 111, 108, 95, 100, 117, 109, 112, 0, 103, 101, - 116, 95, 100, 117, 109, 112, 95, 100, 97, 116, 97, 0, 115, 101, 116, 95, 100, 117, 109, 112, 0, - 103, 101, 116, 95, 116, 115, 95, 105, 110, 102, 111, 0, 115, 111, 95, 116, 105, 109, 101, 115, - 116, 97, 109, 112, 105, 110, 103, 0, 112, 104, 99, 95, 105, 110, 100, 101, 120, 0, 116, 120, - 95, 116, 121, 112, 101, 115, 0, 116, 120, 95, 114, 101, 115, 101, 114, 118, 101, 100, 0, 114, - 120, 95, 102, 105, 108, 116, 101, 114, 115, 0, 114, 120, 95, 114, 101, 115, 101, 114, 118, 101, - 100, 0, 101, 116, 104, 116, 111, 111, 108, 95, 116, 115, 95, 105, 110, 102, 111, 0, 103, 101, - 116, 95, 109, 111, 100, 117, 108, 101, 95, 105, 110, 102, 111, 0, 101, 101, 112, 114, 111, 109, - 95, 108, 101, 110, 0, 101, 116, 104, 116, 111, 111, 108, 95, 109, 111, 100, 105, 110, 102, 111, - 0, 103, 101, 116, 95, 109, 111, 100, 117, 108, 101, 95, 101, 101, 112, 114, 111, 109, 0, 103, - 101, 116, 95, 101, 101, 101, 0, 97, 100, 118, 101, 114, 116, 105, 115, 101, 100, 0, 108, 112, - 95, 97, 100, 118, 101, 114, 116, 105, 115, 101, 100, 0, 101, 101, 101, 95, 97, 99, 116, 105, - 118, 101, 0, 101, 101, 101, 95, 101, 110, 97, 98, 108, 101, 100, 0, 116, 120, 95, 108, 112, - 105, 95, 101, 110, 97, 98, 108, 101, 100, 0, 116, 120, 95, 108, 112, 105, 95, 116, 105, 109, - 101, 114, 0, 101, 116, 104, 116, 111, 111, 108, 95, 101, 101, 101, 0, 115, 101, 116, 95, 101, - 101, 101, 0, 103, 101, 116, 95, 116, 117, 110, 97, 98, 108, 101, 0, 101, 116, 104, 116, 111, - 111, 108, 95, 116, 117, 110, 97, 98, 108, 101, 0, 115, 101, 116, 95, 116, 117, 110, 97, 98, - 108, 101, 0, 103, 101, 116, 95, 112, 101, 114, 95, 113, 117, 101, 117, 101, 95, 99, 111, 97, - 108, 101, 115, 99, 101, 0, 115, 101, 116, 95, 112, 101, 114, 95, 113, 117, 101, 117, 101, 95, - 99, 111, 97, 108, 101, 115, 99, 101, 0, 103, 101, 116, 95, 108, 105, 110, 107, 95, 107, 115, - 101, 116, 116, 105, 110, 103, 115, 0, 100, 117, 112, 108, 101, 120, 0, 112, 104, 121, 95, 97, - 100, 100, 114, 101, 115, 115, 0, 109, 100, 105, 111, 95, 115, 117, 112, 112, 111, 114, 116, 0, - 101, 116, 104, 95, 116, 112, 95, 109, 100, 105, 120, 0, 101, 116, 104, 95, 116, 112, 95, 109, - 100, 105, 120, 95, 99, 116, 114, 108, 0, 108, 105, 110, 107, 95, 109, 111, 100, 101, 95, 109, - 97, 115, 107, 115, 95, 110, 119, 111, 114, 100, 115, 0, 116, 114, 97, 110, 115, 99, 101, 105, - 118, 101, 114, 0, 109, 97, 115, 116, 101, 114, 95, 115, 108, 97, 118, 101, 95, 99, 102, 103, 0, - 109, 97, 115, 116, 101, 114, 95, 115, 108, 97, 118, 101, 95, 115, 116, 97, 116, 101, 0, 114, - 101, 115, 101, 114, 118, 101, 100, 49, 0, 108, 105, 110, 107, 95, 109, 111, 100, 101, 95, 109, - 97, 115, 107, 115, 0, 101, 116, 104, 116, 111, 111, 108, 95, 108, 105, 110, 107, 95, 115, 101, - 116, 116, 105, 110, 103, 115, 0, 108, 105, 110, 107, 95, 109, 111, 100, 101, 115, 0, 97, 100, - 118, 101, 114, 116, 105, 115, 105, 110, 103, 0, 108, 112, 95, 97, 100, 118, 101, 114, 116, 105, - 115, 105, 110, 103, 0, 101, 116, 104, 116, 111, 111, 108, 95, 108, 105, 110, 107, 95, 107, 115, - 101, 116, 116, 105, 110, 103, 115, 0, 115, 101, 116, 95, 108, 105, 110, 107, 95, 107, 115, 101, - 116, 116, 105, 110, 103, 115, 0, 103, 101, 116, 95, 102, 101, 99, 95, 115, 116, 97, 116, 115, - 0, 99, 111, 114, 114, 101, 99, 116, 101, 100, 95, 98, 108, 111, 99, 107, 115, 0, 101, 116, 104, - 116, 111, 111, 108, 95, 102, 101, 99, 95, 115, 116, 97, 116, 0, 117, 110, 99, 111, 114, 114, - 101, 99, 116, 97, 98, 108, 101, 95, 98, 108, 111, 99, 107, 115, 0, 99, 111, 114, 114, 101, 99, - 116, 101, 100, 95, 98, 105, 116, 115, 0, 101, 116, 104, 116, 111, 111, 108, 95, 102, 101, 99, - 95, 115, 116, 97, 116, 115, 0, 103, 101, 116, 95, 102, 101, 99, 112, 97, 114, 97, 109, 0, 97, - 99, 116, 105, 118, 101, 95, 102, 101, 99, 0, 102, 101, 99, 0, 101, 116, 104, 116, 111, 111, - 108, 95, 102, 101, 99, 112, 97, 114, 97, 109, 0, 115, 101, 116, 95, 102, 101, 99, 112, 97, 114, - 97, 109, 0, 103, 101, 116, 95, 101, 116, 104, 116, 111, 111, 108, 95, 112, 104, 121, 95, 115, - 116, 97, 116, 115, 0, 103, 101, 116, 95, 112, 104, 121, 95, 116, 117, 110, 97, 98, 108, 101, 0, - 115, 101, 116, 95, 112, 104, 121, 95, 116, 117, 110, 97, 98, 108, 101, 0, 103, 101, 116, 95, - 109, 111, 100, 117, 108, 101, 95, 101, 101, 112, 114, 111, 109, 95, 98, 121, 95, 112, 97, 103, - 101, 0, 98, 97, 110, 107, 0, 105, 50, 99, 95, 97, 100, 100, 114, 101, 115, 115, 0, 101, 116, - 104, 116, 111, 111, 108, 95, 109, 111, 100, 117, 108, 101, 95, 101, 101, 112, 114, 111, 109, 0, - 103, 101, 116, 95, 101, 116, 104, 95, 112, 104, 121, 95, 115, 116, 97, 116, 115, 0, 83, 121, - 109, 98, 111, 108, 69, 114, 114, 111, 114, 68, 117, 114, 105, 110, 103, 67, 97, 114, 114, 105, - 101, 114, 0, 101, 116, 104, 116, 111, 111, 108, 95, 101, 116, 104, 95, 112, 104, 121, 95, 115, - 116, 97, 116, 115, 0, 103, 101, 116, 95, 101, 116, 104, 95, 109, 97, 99, 95, 115, 116, 97, 116, - 115, 0, 70, 114, 97, 109, 101, 115, 84, 114, 97, 110, 115, 109, 105, 116, 116, 101, 100, 79, - 75, 0, 83, 105, 110, 103, 108, 101, 67, 111, 108, 108, 105, 115, 105, 111, 110, 70, 114, 97, - 109, 101, 115, 0, 77, 117, 108, 116, 105, 112, 108, 101, 67, 111, 108, 108, 105, 115, 105, 111, - 110, 70, 114, 97, 109, 101, 115, 0, 70, 114, 97, 109, 101, 115, 82, 101, 99, 101, 105, 118, - 101, 100, 79, 75, 0, 70, 114, 97, 109, 101, 67, 104, 101, 99, 107, 83, 101, 113, 117, 101, 110, - 99, 101, 69, 114, 114, 111, 114, 115, 0, 65, 108, 105, 103, 110, 109, 101, 110, 116, 69, 114, - 114, 111, 114, 115, 0, 79, 99, 116, 101, 116, 115, 84, 114, 97, 110, 115, 109, 105, 116, 116, - 101, 100, 79, 75, 0, 70, 114, 97, 109, 101, 115, 87, 105, 116, 104, 68, 101, 102, 101, 114, - 114, 101, 100, 88, 109, 105, 115, 115, 105, 111, 110, 115, 0, 76, 97, 116, 101, 67, 111, 108, - 108, 105, 115, 105, 111, 110, 115, 0, 70, 114, 97, 109, 101, 115, 65, 98, 111, 114, 116, 101, - 100, 68, 117, 101, 84, 111, 88, 83, 67, 111, 108, 108, 115, 0, 70, 114, 97, 109, 101, 115, 76, - 111, 115, 116, 68, 117, 101, 84, 111, 73, 110, 116, 77, 65, 67, 88, 109, 105, 116, 69, 114, - 114, 111, 114, 0, 67, 97, 114, 114, 105, 101, 114, 83, 101, 110, 115, 101, 69, 114, 114, 111, - 114, 115, 0, 79, 99, 116, 101, 116, 115, 82, 101, 99, 101, 105, 118, 101, 100, 79, 75, 0, 70, - 114, 97, 109, 101, 115, 76, 111, 115, 116, 68, 117, 101, 84, 111, 73, 110, 116, 77, 65, 67, 82, - 99, 118, 69, 114, 114, 111, 114, 0, 77, 117, 108, 116, 105, 99, 97, 115, 116, 70, 114, 97, 109, - 101, 115, 88, 109, 105, 116, 116, 101, 100, 79, 75, 0, 66, 114, 111, 97, 100, 99, 97, 115, 116, - 70, 114, 97, 109, 101, 115, 88, 109, 105, 116, 116, 101, 100, 79, 75, 0, 70, 114, 97, 109, 101, - 115, 87, 105, 116, 104, 69, 120, 99, 101, 115, 115, 105, 118, 101, 68, 101, 102, 101, 114, 114, - 97, 108, 0, 77, 117, 108, 116, 105, 99, 97, 115, 116, 70, 114, 97, 109, 101, 115, 82, 101, 99, - 101, 105, 118, 101, 100, 79, 75, 0, 66, 114, 111, 97, 100, 99, 97, 115, 116, 70, 114, 97, 109, - 101, 115, 82, 101, 99, 101, 105, 118, 101, 100, 79, 75, 0, 73, 110, 82, 97, 110, 103, 101, 76, - 101, 110, 103, 116, 104, 69, 114, 114, 111, 114, 115, 0, 79, 117, 116, 79, 102, 82, 97, 110, - 103, 101, 76, 101, 110, 103, 116, 104, 70, 105, 101, 108, 100, 0, 70, 114, 97, 109, 101, 84, - 111, 111, 76, 111, 110, 103, 69, 114, 114, 111, 114, 115, 0, 101, 116, 104, 116, 111, 111, 108, - 95, 101, 116, 104, 95, 109, 97, 99, 95, 115, 116, 97, 116, 115, 0, 103, 101, 116, 95, 101, 116, - 104, 95, 99, 116, 114, 108, 95, 115, 116, 97, 116, 115, 0, 77, 65, 67, 67, 111, 110, 116, 114, - 111, 108, 70, 114, 97, 109, 101, 115, 84, 114, 97, 110, 115, 109, 105, 116, 116, 101, 100, 0, - 77, 65, 67, 67, 111, 110, 116, 114, 111, 108, 70, 114, 97, 109, 101, 115, 82, 101, 99, 101, - 105, 118, 101, 100, 0, 85, 110, 115, 117, 112, 112, 111, 114, 116, 101, 100, 79, 112, 99, 111, - 100, 101, 115, 82, 101, 99, 101, 105, 118, 101, 100, 0, 101, 116, 104, 116, 111, 111, 108, 95, - 101, 116, 104, 95, 99, 116, 114, 108, 95, 115, 116, 97, 116, 115, 0, 103, 101, 116, 95, 114, - 109, 111, 110, 95, 115, 116, 97, 116, 115, 0, 117, 110, 100, 101, 114, 115, 105, 122, 101, 95, - 112, 107, 116, 115, 0, 111, 118, 101, 114, 115, 105, 122, 101, 95, 112, 107, 116, 115, 0, 102, - 114, 97, 103, 109, 101, 110, 116, 115, 0, 106, 97, 98, 98, 101, 114, 115, 0, 104, 105, 115, - 116, 0, 104, 105, 115, 116, 95, 116, 120, 0, 101, 116, 104, 116, 111, 111, 108, 95, 114, 109, - 111, 110, 95, 115, 116, 97, 116, 115, 0, 101, 116, 104, 116, 111, 111, 108, 95, 114, 109, 111, - 110, 95, 104, 105, 115, 116, 95, 114, 97, 110, 103, 101, 0, 108, 51, 109, 100, 101, 118, 95, - 111, 112, 115, 0, 108, 51, 109, 100, 101, 118, 95, 102, 105, 98, 95, 116, 97, 98, 108, 101, 0, - 108, 51, 109, 100, 101, 118, 95, 108, 51, 95, 114, 99, 118, 0, 108, 51, 109, 100, 101, 118, 95, - 108, 51, 95, 111, 117, 116, 0, 108, 51, 109, 100, 101, 118, 95, 108, 105, 110, 107, 95, 115, - 99, 111, 112, 101, 95, 108, 111, 111, 107, 117, 112, 0, 110, 100, 105, 115, 99, 95, 111, 112, - 115, 0, 105, 115, 95, 117, 115, 101, 114, 111, 112, 116, 0, 112, 97, 114, 115, 101, 95, 111, - 112, 116, 105, 111, 110, 115, 0, 110, 100, 95, 111, 112, 116, 95, 116, 121, 112, 101, 0, 110, - 100, 95, 111, 112, 116, 95, 108, 101, 110, 0, 110, 100, 95, 111, 112, 116, 95, 104, 100, 114, - 0, 110, 100, 95, 111, 112, 116, 95, 97, 114, 114, 97, 121, 0, 110, 100, 95, 111, 112, 116, 115, - 95, 114, 105, 0, 110, 100, 95, 111, 112, 116, 115, 95, 114, 105, 95, 101, 110, 100, 0, 110, - 100, 95, 117, 115, 101, 114, 111, 112, 116, 115, 0, 110, 100, 95, 117, 115, 101, 114, 111, 112, - 116, 115, 95, 101, 110, 100, 0, 110, 100, 95, 56, 48, 50, 49, 53, 52, 95, 111, 112, 116, 95, - 97, 114, 114, 97, 121, 0, 110, 100, 105, 115, 99, 95, 111, 112, 116, 105, 111, 110, 115, 0, - 111, 112, 116, 95, 97, 100, 100, 114, 95, 115, 112, 97, 99, 101, 0, 102, 105, 108, 108, 95, 97, - 100, 100, 114, 95, 111, 112, 116, 105, 111, 110, 0, 112, 114, 101, 102, 105, 120, 95, 114, 99, - 118, 95, 97, 100, 100, 95, 97, 100, 100, 114, 0, 112, 114, 101, 102, 105, 120, 95, 108, 101, - 110, 0, 111, 110, 108, 105, 110, 107, 0, 112, 114, 101, 102, 101, 114, 101, 100, 0, 112, 114, - 101, 102, 105, 120, 95, 105, 110, 102, 111, 0, 120, 102, 114, 109, 100, 101, 118, 95, 111, 112, - 115, 0, 120, 100, 111, 95, 100, 101, 118, 95, 115, 116, 97, 116, 101, 95, 97, 100, 100, 0, 120, - 100, 111, 95, 100, 101, 118, 95, 115, 116, 97, 116, 101, 95, 100, 101, 108, 101, 116, 101, 0, - 120, 100, 111, 95, 100, 101, 118, 95, 115, 116, 97, 116, 101, 95, 102, 114, 101, 101, 0, 120, - 100, 111, 95, 100, 101, 118, 95, 111, 102, 102, 108, 111, 97, 100, 95, 111, 107, 0, 120, 100, - 111, 95, 100, 101, 118, 95, 115, 116, 97, 116, 101, 95, 97, 100, 118, 97, 110, 99, 101, 95, - 101, 115, 110, 0, 116, 108, 115, 100, 101, 118, 95, 111, 112, 115, 0, 116, 108, 115, 95, 100, - 101, 118, 95, 97, 100, 100, 0, 84, 76, 83, 95, 79, 70, 70, 76, 79, 65, 68, 95, 67, 84, 88, 95, - 68, 73, 82, 95, 82, 88, 0, 84, 76, 83, 95, 79, 70, 70, 76, 79, 65, 68, 95, 67, 84, 88, 95, 68, - 73, 82, 95, 84, 88, 0, 116, 108, 115, 95, 111, 102, 102, 108, 111, 97, 100, 95, 99, 116, 120, - 95, 100, 105, 114, 0, 99, 105, 112, 104, 101, 114, 95, 116, 121, 112, 101, 0, 116, 108, 115, - 95, 99, 114, 121, 112, 116, 111, 95, 105, 110, 102, 111, 0, 116, 108, 115, 95, 100, 101, 118, - 95, 100, 101, 108, 0, 112, 114, 111, 116, 95, 105, 110, 102, 111, 0, 112, 114, 101, 112, 101, - 110, 100, 95, 115, 105, 122, 101, 0, 111, 118, 101, 114, 104, 101, 97, 100, 95, 115, 105, 122, - 101, 0, 105, 118, 95, 115, 105, 122, 101, 0, 115, 97, 108, 116, 95, 115, 105, 122, 101, 0, 114, - 101, 99, 95, 115, 101, 113, 95, 115, 105, 122, 101, 0, 97, 97, 100, 95, 115, 105, 122, 101, 0, - 116, 97, 105, 108, 95, 115, 105, 122, 101, 0, 116, 108, 115, 95, 112, 114, 111, 116, 95, 105, - 110, 102, 111, 0, 116, 120, 95, 99, 111, 110, 102, 0, 114, 120, 95, 99, 111, 110, 102, 0, 112, - 117, 115, 104, 95, 112, 101, 110, 100, 105, 110, 103, 95, 114, 101, 99, 111, 114, 100, 0, 112, - 114, 105, 118, 95, 99, 116, 120, 95, 116, 120, 0, 112, 114, 105, 118, 95, 99, 116, 120, 95, - 114, 120, 0, 105, 118, 0, 114, 101, 99, 95, 115, 101, 113, 0, 99, 105, 112, 104, 101, 114, 95, - 99, 111, 110, 116, 101, 120, 116, 0, 112, 97, 114, 116, 105, 97, 108, 108, 121, 95, 115, 101, - 110, 116, 95, 114, 101, 99, 111, 114, 100, 0, 112, 97, 114, 116, 105, 97, 108, 108, 121, 95, - 115, 101, 110, 116, 95, 111, 102, 102, 115, 101, 116, 0, 105, 110, 95, 116, 99, 112, 95, 115, - 101, 110, 100, 112, 97, 103, 101, 115, 0, 112, 101, 110, 100, 105, 110, 103, 95, 111, 112, 101, - 110, 95, 114, 101, 99, 111, 114, 100, 95, 102, 114, 97, 103, 115, 0, 116, 120, 95, 108, 111, - 99, 107, 0, 99, 114, 121, 112, 116, 111, 95, 115, 101, 110, 100, 0, 97, 101, 115, 95, 103, 99, - 109, 95, 49, 50, 56, 0, 115, 97, 108, 116, 0, 116, 108, 115, 49, 50, 95, 99, 114, 121, 112, - 116, 111, 95, 105, 110, 102, 111, 95, 97, 101, 115, 95, 103, 99, 109, 95, 49, 50, 56, 0, 97, - 101, 115, 95, 103, 99, 109, 95, 50, 53, 54, 0, 116, 108, 115, 49, 50, 95, 99, 114, 121, 112, - 116, 111, 95, 105, 110, 102, 111, 95, 97, 101, 115, 95, 103, 99, 109, 95, 50, 53, 54, 0, 99, - 104, 97, 99, 104, 97, 50, 48, 95, 112, 111, 108, 121, 49, 51, 48, 53, 0, 116, 108, 115, 49, 50, - 95, 99, 114, 121, 112, 116, 111, 95, 105, 110, 102, 111, 95, 99, 104, 97, 99, 104, 97, 50, 48, - 95, 112, 111, 108, 121, 49, 51, 48, 53, 0, 116, 108, 115, 95, 99, 114, 121, 112, 116, 111, 95, - 99, 111, 110, 116, 101, 120, 116, 0, 99, 114, 121, 112, 116, 111, 95, 114, 101, 99, 118, 0, - 116, 108, 115, 95, 99, 111, 110, 116, 101, 120, 116, 0, 116, 108, 115, 95, 100, 101, 118, 95, - 114, 101, 115, 121, 110, 99, 0, 104, 101, 97, 100, 101, 114, 95, 111, 112, 115, 0, 112, 97, - 114, 115, 101, 0, 99, 97, 99, 104, 101, 95, 117, 112, 100, 97, 116, 101, 0, 112, 97, 114, 115, - 101, 95, 112, 114, 111, 116, 111, 99, 111, 108, 0, 111, 112, 101, 114, 115, 116, 97, 116, 101, - 0, 108, 105, 110, 107, 95, 109, 111, 100, 101, 0, 105, 102, 95, 112, 111, 114, 116, 0, 112, - 101, 114, 109, 95, 97, 100, 100, 114, 0, 97, 100, 100, 114, 95, 97, 115, 115, 105, 103, 110, - 95, 116, 121, 112, 101, 0, 117, 112, 112, 101, 114, 95, 108, 101, 118, 101, 108, 0, 108, 111, - 119, 101, 114, 95, 108, 101, 118, 101, 108, 0, 110, 101, 105, 103, 104, 95, 112, 114, 105, 118, - 95, 108, 101, 110, 0, 100, 101, 118, 95, 112, 111, 114, 116, 0, 112, 97, 100, 100, 101, 100, 0, - 97, 100, 100, 114, 95, 108, 105, 115, 116, 95, 108, 111, 99, 107, 0, 117, 99, 0, 110, 101, 116, - 100, 101, 118, 95, 104, 119, 95, 97, 100, 100, 114, 95, 108, 105, 115, 116, 0, 109, 99, 0, 100, - 101, 118, 95, 97, 100, 100, 114, 115, 0, 113, 117, 101, 117, 101, 115, 95, 107, 115, 101, 116, - 0, 112, 114, 111, 109, 105, 115, 99, 117, 105, 116, 121, 0, 97, 108, 108, 109, 117, 108, 116, - 105, 0, 117, 99, 95, 112, 114, 111, 109, 105, 115, 99, 0, 118, 108, 97, 110, 95, 105, 110, 102, - 111, 0, 110, 114, 95, 118, 108, 97, 110, 95, 100, 101, 118, 115, 0, 118, 108, 97, 110, 95, 100, - 101, 118, 105, 99, 101, 115, 95, 97, 114, 114, 97, 121, 115, 0, 118, 108, 97, 110, 95, 103, - 114, 111, 117, 112, 0, 118, 105, 100, 95, 108, 105, 115, 116, 0, 110, 114, 95, 118, 105, 100, - 115, 0, 100, 115, 97, 95, 112, 116, 114, 0, 115, 108, 97, 118, 101, 0, 116, 97, 103, 95, 111, - 112, 115, 0, 114, 99, 118, 0, 102, 108, 111, 119, 95, 100, 105, 115, 115, 101, 99, 116, 0, 68, - 83, 65, 95, 84, 65, 71, 95, 80, 82, 79, 84, 79, 95, 78, 79, 78, 69, 0, 68, 83, 65, 95, 84, 65, - 71, 95, 80, 82, 79, 84, 79, 95, 66, 82, 67, 77, 0, 68, 83, 65, 95, 84, 65, 71, 95, 80, 82, 79, - 84, 79, 95, 66, 82, 67, 77, 95, 76, 69, 71, 65, 67, 89, 0, 68, 83, 65, 95, 84, 65, 71, 95, 80, - 82, 79, 84, 79, 95, 66, 82, 67, 77, 95, 80, 82, 69, 80, 69, 78, 68, 0, 68, 83, 65, 95, 84, 65, - 71, 95, 80, 82, 79, 84, 79, 95, 68, 83, 65, 0, 68, 83, 65, 95, 84, 65, 71, 95, 80, 82, 79, 84, - 79, 95, 69, 68, 83, 65, 0, 68, 83, 65, 95, 84, 65, 71, 95, 80, 82, 79, 84, 79, 95, 71, 83, 87, - 73, 80, 0, 68, 83, 65, 95, 84, 65, 71, 95, 80, 82, 79, 84, 79, 95, 75, 83, 90, 57, 52, 55, 55, - 0, 68, 83, 65, 95, 84, 65, 71, 95, 80, 82, 79, 84, 79, 95, 75, 83, 90, 57, 56, 57, 51, 0, 68, - 83, 65, 95, 84, 65, 71, 95, 80, 82, 79, 84, 79, 95, 76, 65, 78, 57, 51, 48, 51, 0, 68, 83, 65, - 95, 84, 65, 71, 95, 80, 82, 79, 84, 79, 95, 77, 84, 75, 0, 68, 83, 65, 95, 84, 65, 71, 95, 80, - 82, 79, 84, 79, 95, 81, 67, 65, 0, 68, 83, 65, 95, 84, 65, 71, 95, 80, 82, 79, 84, 79, 95, 84, - 82, 65, 73, 76, 69, 82, 0, 68, 83, 65, 95, 84, 65, 71, 95, 80, 82, 79, 84, 79, 95, 56, 48, 50, - 49, 81, 0, 68, 83, 65, 95, 84, 65, 71, 95, 80, 82, 79, 84, 79, 95, 83, 74, 65, 49, 49, 48, 53, - 0, 68, 83, 65, 95, 84, 65, 71, 95, 80, 82, 79, 84, 79, 95, 75, 83, 90, 56, 55, 57, 53, 0, 68, - 83, 65, 95, 84, 65, 71, 95, 80, 82, 79, 84, 79, 95, 79, 67, 69, 76, 79, 84, 0, 68, 83, 65, 95, - 84, 65, 71, 95, 80, 82, 79, 84, 79, 95, 65, 82, 57, 51, 51, 49, 0, 68, 83, 65, 95, 84, 65, 71, - 95, 80, 82, 79, 84, 79, 95, 82, 84, 76, 52, 95, 65, 0, 68, 83, 65, 95, 84, 65, 71, 95, 80, 82, - 79, 84, 79, 95, 72, 69, 76, 76, 67, 82, 69, 69, 75, 0, 68, 83, 65, 95, 84, 65, 71, 95, 80, 82, - 79, 84, 79, 95, 88, 82, 83, 55, 48, 48, 88, 0, 68, 83, 65, 95, 84, 65, 71, 95, 80, 82, 79, 84, - 79, 95, 79, 67, 69, 76, 79, 84, 95, 56, 48, 50, 49, 81, 0, 68, 83, 65, 95, 84, 65, 71, 95, 80, - 82, 79, 84, 79, 95, 83, 69, 86, 73, 76, 76, 69, 0, 68, 83, 65, 95, 84, 65, 71, 95, 80, 82, 79, - 84, 79, 95, 83, 74, 65, 49, 49, 49, 48, 0, 100, 115, 97, 95, 116, 97, 103, 95, 112, 114, 111, - 116, 111, 99, 111, 108, 0, 112, 114, 111, 109, 105, 115, 99, 95, 111, 110, 95, 109, 97, 115, - 116, 101, 114, 0, 100, 115, 97, 95, 100, 101, 118, 105, 99, 101, 95, 111, 112, 115, 0, 100, - 101, 102, 97, 117, 108, 116, 95, 112, 114, 111, 116, 111, 0, 111, 102, 95, 110, 101, 116, 100, - 101, 118, 0, 110, 114, 95, 99, 104, 105, 112, 115, 0, 104, 111, 115, 116, 95, 100, 101, 118, 0, - 115, 119, 95, 97, 100, 100, 114, 0, 112, 111, 114, 116, 95, 110, 97, 109, 101, 115, 0, 112, - 111, 114, 116, 95, 100, 110, 0, 100, 115, 97, 95, 99, 104, 105, 112, 95, 100, 97, 116, 97, 0, - 100, 115, 97, 95, 112, 108, 97, 116, 102, 111, 114, 109, 95, 100, 97, 116, 97, 0, 108, 97, 103, - 115, 0, 108, 97, 103, 115, 95, 108, 101, 110, 0, 108, 97, 115, 116, 95, 115, 119, 105, 116, 99, - 104, 0, 100, 115, 97, 95, 115, 119, 105, 116, 99, 104, 95, 116, 114, 101, 101, 0, 68, 83, 65, - 95, 80, 79, 82, 84, 95, 84, 89, 80, 69, 95, 85, 78, 85, 83, 69, 68, 0, 68, 83, 65, 95, 80, 79, - 82, 84, 95, 84, 89, 80, 69, 95, 67, 80, 85, 0, 68, 83, 65, 95, 80, 79, 82, 84, 95, 84, 89, 80, - 69, 95, 68, 83, 65, 0, 68, 83, 65, 95, 80, 79, 82, 84, 95, 84, 89, 80, 69, 95, 85, 83, 69, 82, - 0, 110, 98, 0, 99, 100, 0, 103, 101, 116, 95, 116, 97, 103, 95, 112, 114, 111, 116, 111, 99, - 111, 108, 0, 99, 104, 97, 110, 103, 101, 95, 116, 97, 103, 95, 112, 114, 111, 116, 111, 99, - 111, 108, 0, 116, 101, 97, 114, 100, 111, 119, 110, 0, 112, 111, 114, 116, 95, 115, 101, 116, - 117, 112, 0, 112, 111, 114, 116, 95, 116, 101, 97, 114, 100, 111, 119, 110, 0, 103, 101, 116, - 95, 112, 104, 121, 95, 102, 108, 97, 103, 115, 0, 112, 104, 121, 95, 114, 101, 97, 100, 0, 112, - 104, 121, 95, 119, 114, 105, 116, 101, 0, 97, 100, 106, 117, 115, 116, 95, 108, 105, 110, 107, - 0, 109, 100, 105, 111, 0, 116, 114, 97, 110, 115, 102, 101, 114, 115, 0, 117, 54, 52, 95, 115, - 116, 97, 116, 115, 95, 116, 0, 101, 114, 114, 111, 114, 115, 0, 119, 114, 105, 116, 101, 115, - 0, 114, 101, 97, 100, 115, 0, 109, 100, 105, 111, 95, 98, 117, 115, 95, 115, 116, 97, 116, 115, - 0, 109, 100, 105, 111, 95, 108, 111, 99, 107, 0, 77, 68, 73, 79, 66, 85, 83, 95, 65, 76, 76, - 79, 67, 65, 84, 69, 68, 0, 77, 68, 73, 79, 66, 85, 83, 95, 82, 69, 71, 73, 83, 84, 69, 82, 69, - 68, 0, 77, 68, 73, 79, 66, 85, 83, 95, 85, 78, 82, 69, 71, 73, 83, 84, 69, 82, 69, 68, 0, 77, - 68, 73, 79, 66, 85, 83, 95, 82, 69, 76, 69, 65, 83, 69, 68, 0, 109, 100, 105, 111, 95, 109, 97, - 112, 0, 112, 104, 121, 95, 109, 97, 115, 107, 0, 112, 104, 121, 95, 105, 103, 110, 111, 114, - 101, 95, 116, 97, 95, 109, 97, 115, 107, 0, 114, 101, 115, 101, 116, 95, 100, 101, 108, 97, - 121, 95, 117, 115, 0, 114, 101, 115, 101, 116, 95, 112, 111, 115, 116, 95, 100, 101, 108, 97, - 121, 95, 117, 115, 0, 114, 101, 115, 101, 116, 95, 103, 112, 105, 111, 100, 0, 103, 112, 105, - 111, 95, 100, 101, 115, 99, 0, 112, 114, 111, 98, 101, 95, 99, 97, 112, 97, 98, 105, 108, 105, - 116, 105, 101, 115, 0, 77, 68, 73, 79, 66, 85, 83, 95, 78, 79, 95, 67, 65, 80, 0, 77, 68, 73, - 79, 66, 85, 83, 95, 67, 50, 50, 0, 77, 68, 73, 79, 66, 85, 83, 95, 67, 52, 53, 0, 77, 68, 73, - 79, 66, 85, 83, 95, 67, 50, 50, 95, 67, 52, 53, 0, 115, 104, 97, 114, 101, 100, 95, 108, 111, - 99, 107, 0, 112, 114, 105, 118, 95, 115, 105, 122, 101, 0, 112, 104, 121, 95, 112, 97, 99, 107, - 97, 103, 101, 95, 115, 104, 97, 114, 101, 100, 0, 109, 105, 105, 95, 98, 117, 115, 0, 109, 111, - 100, 97, 108, 105, 97, 115, 0, 98, 117, 115, 95, 109, 97, 116, 99, 104, 0, 100, 101, 118, 105, - 99, 101, 95, 102, 114, 101, 101, 0, 100, 101, 118, 105, 99, 101, 95, 114, 101, 109, 111, 118, - 101, 0, 114, 101, 115, 101, 116, 95, 103, 112, 105, 111, 0, 114, 101, 115, 101, 116, 95, 99, - 116, 114, 108, 0, 114, 101, 115, 101, 116, 95, 99, 111, 110, 116, 114, 111, 108, 0, 114, 101, - 115, 101, 116, 95, 97, 115, 115, 101, 114, 116, 95, 100, 101, 108, 97, 121, 0, 114, 101, 115, - 101, 116, 95, 100, 101, 97, 115, 115, 101, 114, 116, 95, 100, 101, 108, 97, 121, 0, 109, 100, - 105, 111, 95, 100, 101, 118, 105, 99, 101, 0, 100, 114, 118, 0, 109, 100, 105, 111, 100, 114, - 118, 0, 109, 100, 105, 111, 95, 100, 114, 105, 118, 101, 114, 95, 99, 111, 109, 109, 111, 110, - 0, 112, 104, 121, 95, 105, 100, 0, 112, 104, 121, 95, 105, 100, 95, 109, 97, 115, 107, 0, 115, - 111, 102, 116, 95, 114, 101, 115, 101, 116, 0, 99, 111, 110, 102, 105, 103, 95, 105, 110, 105, - 116, 0, 103, 101, 116, 95, 102, 101, 97, 116, 117, 114, 101, 115, 0, 99, 111, 110, 102, 105, - 103, 95, 97, 110, 101, 103, 0, 97, 110, 101, 103, 95, 100, 111, 110, 101, 0, 114, 101, 97, 100, - 95, 115, 116, 97, 116, 117, 115, 0, 99, 111, 110, 102, 105, 103, 95, 105, 110, 116, 114, 0, - 104, 97, 110, 100, 108, 101, 95, 105, 110, 116, 101, 114, 114, 117, 112, 116, 0, 109, 97, 116, - 99, 104, 95, 112, 104, 121, 95, 100, 101, 118, 105, 99, 101, 0, 108, 105, 110, 107, 95, 99, - 104, 97, 110, 103, 101, 95, 110, 111, 116, 105, 102, 121, 0, 114, 101, 97, 100, 95, 109, 109, - 100, 0, 119, 114, 105, 116, 101, 95, 109, 109, 100, 0, 114, 101, 97, 100, 95, 112, 97, 103, - 101, 0, 119, 114, 105, 116, 101, 95, 112, 97, 103, 101, 0, 109, 111, 100, 117, 108, 101, 95, - 105, 110, 102, 111, 0, 109, 111, 100, 117, 108, 101, 95, 101, 101, 112, 114, 111, 109, 0, 99, - 97, 98, 108, 101, 95, 116, 101, 115, 116, 95, 115, 116, 97, 114, 116, 0, 99, 97, 98, 108, 101, - 95, 116, 101, 115, 116, 95, 116, 100, 114, 95, 115, 116, 97, 114, 116, 0, 115, 116, 101, 112, - 0, 112, 97, 105, 114, 0, 112, 104, 121, 95, 116, 100, 114, 95, 99, 111, 110, 102, 105, 103, 0, - 99, 97, 98, 108, 101, 95, 116, 101, 115, 116, 95, 103, 101, 116, 95, 115, 116, 97, 116, 117, - 115, 0, 103, 101, 116, 95, 115, 116, 97, 116, 115, 0, 115, 101, 116, 95, 108, 111, 111, 112, - 98, 97, 99, 107, 0, 103, 101, 116, 95, 115, 113, 105, 0, 103, 101, 116, 95, 115, 113, 105, 95, - 109, 97, 120, 0, 112, 104, 121, 95, 100, 114, 105, 118, 101, 114, 0, 99, 52, 53, 95, 105, 100, - 115, 0, 100, 101, 118, 105, 99, 101, 115, 95, 105, 110, 95, 112, 97, 99, 107, 97, 103, 101, 0, - 109, 109, 100, 115, 95, 112, 114, 101, 115, 101, 110, 116, 0, 100, 101, 118, 105, 99, 101, 95, - 105, 100, 115, 0, 112, 104, 121, 95, 99, 52, 53, 95, 100, 101, 118, 105, 99, 101, 95, 105, 100, - 115, 0, 105, 115, 95, 99, 52, 53, 0, 105, 115, 95, 105, 110, 116, 101, 114, 110, 97, 108, 0, - 105, 115, 95, 112, 115, 101, 117, 100, 111, 95, 102, 105, 120, 101, 100, 95, 108, 105, 110, - 107, 0, 105, 115, 95, 103, 105, 103, 97, 98, 105, 116, 95, 99, 97, 112, 97, 98, 108, 101, 0, - 104, 97, 115, 95, 102, 105, 120, 117, 112, 115, 0, 115, 117, 115, 112, 101, 110, 100, 101, 100, - 0, 115, 117, 115, 112, 101, 110, 100, 101, 100, 95, 98, 121, 95, 109, 100, 105, 111, 95, 98, - 117, 115, 0, 115, 121, 115, 102, 115, 95, 108, 105, 110, 107, 115, 0, 108, 111, 111, 112, 98, - 97, 99, 107, 95, 101, 110, 97, 98, 108, 101, 100, 0, 100, 111, 119, 110, 115, 104, 105, 102, - 116, 101, 100, 95, 114, 97, 116, 101, 0, 105, 115, 95, 111, 110, 95, 115, 102, 112, 95, 109, - 111, 100, 117, 108, 101, 0, 109, 97, 99, 95, 109, 97, 110, 97, 103, 101, 100, 95, 112, 109, 0, - 97, 117, 116, 111, 110, 101, 103, 95, 99, 111, 109, 112, 108, 101, 116, 101, 0, 80, 72, 89, 95, - 68, 79, 87, 78, 0, 80, 72, 89, 95, 82, 69, 65, 68, 89, 0, 80, 72, 89, 95, 72, 65, 76, 84, 69, - 68, 0, 80, 72, 89, 95, 85, 80, 0, 80, 72, 89, 95, 82, 85, 78, 78, 73, 78, 71, 0, 80, 72, 89, - 95, 78, 79, 76, 73, 78, 75, 0, 80, 72, 89, 95, 67, 65, 66, 76, 69, 84, 69, 83, 84, 0, 112, 104, - 121, 95, 115, 116, 97, 116, 101, 0, 100, 101, 118, 95, 102, 108, 97, 103, 115, 0, 105, 110, - 116, 101, 114, 102, 97, 99, 101, 0, 80, 72, 89, 95, 73, 78, 84, 69, 82, 70, 65, 67, 69, 95, 77, - 79, 68, 69, 95, 78, 65, 0, 80, 72, 89, 95, 73, 78, 84, 69, 82, 70, 65, 67, 69, 95, 77, 79, 68, - 69, 95, 73, 78, 84, 69, 82, 78, 65, 76, 0, 80, 72, 89, 95, 73, 78, 84, 69, 82, 70, 65, 67, 69, - 95, 77, 79, 68, 69, 95, 77, 73, 73, 0, 80, 72, 89, 95, 73, 78, 84, 69, 82, 70, 65, 67, 69, 95, - 77, 79, 68, 69, 95, 71, 77, 73, 73, 0, 80, 72, 89, 95, 73, 78, 84, 69, 82, 70, 65, 67, 69, 95, - 77, 79, 68, 69, 95, 83, 71, 77, 73, 73, 0, 80, 72, 89, 95, 73, 78, 84, 69, 82, 70, 65, 67, 69, - 95, 77, 79, 68, 69, 95, 84, 66, 73, 0, 80, 72, 89, 95, 73, 78, 84, 69, 82, 70, 65, 67, 69, 95, - 77, 79, 68, 69, 95, 82, 69, 86, 77, 73, 73, 0, 80, 72, 89, 95, 73, 78, 84, 69, 82, 70, 65, 67, - 69, 95, 77, 79, 68, 69, 95, 82, 77, 73, 73, 0, 80, 72, 89, 95, 73, 78, 84, 69, 82, 70, 65, 67, - 69, 95, 77, 79, 68, 69, 95, 82, 69, 86, 82, 77, 73, 73, 0, 80, 72, 89, 95, 73, 78, 84, 69, 82, - 70, 65, 67, 69, 95, 77, 79, 68, 69, 95, 82, 71, 77, 73, 73, 0, 80, 72, 89, 95, 73, 78, 84, 69, - 82, 70, 65, 67, 69, 95, 77, 79, 68, 69, 95, 82, 71, 77, 73, 73, 95, 73, 68, 0, 80, 72, 89, 95, - 73, 78, 84, 69, 82, 70, 65, 67, 69, 95, 77, 79, 68, 69, 95, 82, 71, 77, 73, 73, 95, 82, 88, 73, - 68, 0, 80, 72, 89, 95, 73, 78, 84, 69, 82, 70, 65, 67, 69, 95, 77, 79, 68, 69, 95, 82, 71, 77, - 73, 73, 95, 84, 88, 73, 68, 0, 80, 72, 89, 95, 73, 78, 84, 69, 82, 70, 65, 67, 69, 95, 77, 79, - 68, 69, 95, 82, 84, 66, 73, 0, 80, 72, 89, 95, 73, 78, 84, 69, 82, 70, 65, 67, 69, 95, 77, 79, - 68, 69, 95, 83, 77, 73, 73, 0, 80, 72, 89, 95, 73, 78, 84, 69, 82, 70, 65, 67, 69, 95, 77, 79, - 68, 69, 95, 88, 71, 77, 73, 73, 0, 80, 72, 89, 95, 73, 78, 84, 69, 82, 70, 65, 67, 69, 95, 77, - 79, 68, 69, 95, 88, 76, 71, 77, 73, 73, 0, 80, 72, 89, 95, 73, 78, 84, 69, 82, 70, 65, 67, 69, - 95, 77, 79, 68, 69, 95, 77, 79, 67, 65, 0, 80, 72, 89, 95, 73, 78, 84, 69, 82, 70, 65, 67, 69, - 95, 77, 79, 68, 69, 95, 81, 83, 71, 77, 73, 73, 0, 80, 72, 89, 95, 73, 78, 84, 69, 82, 70, 65, - 67, 69, 95, 77, 79, 68, 69, 95, 84, 82, 71, 77, 73, 73, 0, 80, 72, 89, 95, 73, 78, 84, 69, 82, - 70, 65, 67, 69, 95, 77, 79, 68, 69, 95, 49, 48, 48, 66, 65, 83, 69, 88, 0, 80, 72, 89, 95, 73, - 78, 84, 69, 82, 70, 65, 67, 69, 95, 77, 79, 68, 69, 95, 49, 48, 48, 48, 66, 65, 83, 69, 88, 0, - 80, 72, 89, 95, 73, 78, 84, 69, 82, 70, 65, 67, 69, 95, 77, 79, 68, 69, 95, 50, 53, 48, 48, 66, - 65, 83, 69, 88, 0, 80, 72, 89, 95, 73, 78, 84, 69, 82, 70, 65, 67, 69, 95, 77, 79, 68, 69, 95, - 53, 71, 66, 65, 83, 69, 82, 0, 80, 72, 89, 95, 73, 78, 84, 69, 82, 70, 65, 67, 69, 95, 77, 79, - 68, 69, 95, 82, 88, 65, 85, 73, 0, 80, 72, 89, 95, 73, 78, 84, 69, 82, 70, 65, 67, 69, 95, 77, - 79, 68, 69, 95, 88, 65, 85, 73, 0, 80, 72, 89, 95, 73, 78, 84, 69, 82, 70, 65, 67, 69, 95, 77, - 79, 68, 69, 95, 49, 48, 71, 66, 65, 83, 69, 82, 0, 80, 72, 89, 95, 73, 78, 84, 69, 82, 70, 65, - 67, 69, 95, 77, 79, 68, 69, 95, 50, 53, 71, 66, 65, 83, 69, 82, 0, 80, 72, 89, 95, 73, 78, 84, - 69, 82, 70, 65, 67, 69, 95, 77, 79, 68, 69, 95, 85, 83, 88, 71, 77, 73, 73, 0, 80, 72, 89, 95, - 73, 78, 84, 69, 82, 70, 65, 67, 69, 95, 77, 79, 68, 69, 95, 49, 48, 71, 75, 82, 0, 80, 72, 89, - 95, 73, 78, 84, 69, 82, 70, 65, 67, 69, 95, 77, 79, 68, 69, 95, 77, 65, 88, 0, 112, 104, 121, - 95, 105, 110, 116, 101, 114, 102, 97, 99, 101, 95, 116, 0, 112, 97, 117, 115, 101, 0, 97, 115, - 121, 109, 95, 112, 97, 117, 115, 101, 0, 109, 97, 115, 116, 101, 114, 95, 115, 108, 97, 118, - 101, 95, 103, 101, 116, 0, 109, 97, 115, 116, 101, 114, 95, 115, 108, 97, 118, 101, 95, 115, - 101, 116, 0, 97, 100, 118, 95, 111, 108, 100, 0, 101, 101, 101, 95, 98, 114, 111, 107, 101, - 110, 95, 109, 111, 100, 101, 115, 0, 112, 104, 121, 95, 108, 101, 100, 95, 116, 114, 105, 103, - 103, 101, 114, 115, 0, 112, 104, 121, 95, 108, 101, 100, 95, 116, 114, 105, 103, 103, 101, 114, - 0, 112, 104, 121, 95, 110, 117, 109, 95, 108, 101, 100, 95, 116, 114, 105, 103, 103, 101, 114, - 115, 0, 108, 97, 115, 116, 95, 116, 114, 105, 103, 103, 101, 114, 101, 100, 0, 108, 101, 100, - 95, 108, 105, 110, 107, 95, 116, 114, 105, 103, 103, 101, 114, 0, 101, 104, 100, 114, 0, 115, - 116, 97, 116, 101, 95, 113, 117, 101, 117, 101, 0, 115, 102, 112, 95, 98, 117, 115, 95, 97, - 116, 116, 97, 99, 104, 101, 100, 0, 115, 102, 112, 95, 98, 117, 115, 0, 115, 111, 99, 107, 101, - 116, 95, 111, 112, 115, 0, 115, 102, 112, 0, 109, 111, 100, 117, 108, 101, 95, 101, 101, 112, - 114, 111, 109, 95, 98, 121, 95, 112, 97, 103, 101, 0, 115, 102, 112, 95, 115, 111, 99, 107, - 101, 116, 95, 111, 112, 115, 0, 115, 102, 112, 95, 100, 101, 118, 0, 115, 102, 112, 95, 113, - 117, 105, 114, 107, 0, 109, 111, 100, 101, 115, 0, 112, 104, 121, 115, 95, 105, 100, 0, 112, - 104, 121, 115, 95, 101, 120, 116, 95, 105, 100, 0, 99, 111, 110, 110, 101, 99, 116, 111, 114, - 0, 105, 102, 95, 49, 120, 95, 99, 111, 112, 112, 101, 114, 95, 112, 97, 115, 115, 105, 118, - 101, 0, 105, 102, 95, 49, 120, 95, 99, 111, 112, 112, 101, 114, 95, 97, 99, 116, 105, 118, 101, - 0, 105, 102, 95, 49, 120, 95, 108, 120, 0, 105, 102, 95, 49, 120, 95, 115, 120, 0, 101, 49, 48, - 103, 95, 98, 97, 115, 101, 95, 115, 114, 0, 101, 49, 48, 103, 95, 98, 97, 115, 101, 95, 108, - 114, 0, 101, 49, 48, 103, 95, 98, 97, 115, 101, 95, 108, 114, 109, 0, 101, 49, 48, 103, 95, 98, - 97, 115, 101, 95, 101, 114, 0, 115, 111, 110, 101, 116, 95, 111, 99, 51, 95, 115, 104, 111, - 114, 116, 95, 114, 101, 97, 99, 104, 0, 115, 111, 110, 101, 116, 95, 111, 99, 51, 95, 115, 109, - 102, 95, 105, 110, 116, 101, 114, 109, 101, 100, 105, 97, 116, 101, 95, 114, 101, 97, 99, 104, - 0, 115, 111, 110, 101, 116, 95, 111, 99, 51, 95, 115, 109, 102, 95, 108, 111, 110, 103, 95, - 114, 101, 97, 99, 104, 0, 117, 110, 97, 108, 108, 111, 99, 97, 116, 101, 100, 95, 53, 95, 51, - 0, 115, 111, 110, 101, 116, 95, 111, 99, 49, 50, 95, 115, 104, 111, 114, 116, 95, 114, 101, 97, - 99, 104, 0, 115, 111, 110, 101, 116, 95, 111, 99, 49, 50, 95, 115, 109, 102, 95, 105, 110, 116, - 101, 114, 109, 101, 100, 105, 97, 116, 101, 95, 114, 101, 97, 99, 104, 0, 115, 111, 110, 101, - 116, 95, 111, 99, 49, 50, 95, 115, 109, 102, 95, 108, 111, 110, 103, 95, 114, 101, 97, 99, 104, - 0, 117, 110, 97, 108, 108, 111, 99, 97, 116, 101, 100, 95, 53, 95, 55, 0, 115, 111, 110, 101, - 116, 95, 111, 99, 52, 56, 95, 115, 104, 111, 114, 116, 95, 114, 101, 97, 99, 104, 0, 115, 111, - 110, 101, 116, 95, 111, 99, 52, 56, 95, 105, 110, 116, 101, 114, 109, 101, 100, 105, 97, 116, - 101, 95, 114, 101, 97, 99, 104, 0, 115, 111, 110, 101, 116, 95, 111, 99, 52, 56, 95, 108, 111, - 110, 103, 95, 114, 101, 97, 99, 104, 0, 115, 111, 110, 101, 116, 95, 114, 101, 97, 99, 104, 95, - 98, 105, 116, 50, 0, 115, 111, 110, 101, 116, 95, 114, 101, 97, 99, 104, 95, 98, 105, 116, 49, - 0, 115, 111, 110, 101, 116, 95, 111, 99, 49, 57, 50, 95, 115, 104, 111, 114, 116, 95, 114, 101, - 97, 99, 104, 0, 101, 115, 99, 111, 110, 95, 115, 109, 102, 95, 49, 51, 49, 48, 95, 108, 97, - 115, 101, 114, 0, 101, 115, 99, 111, 110, 95, 109, 109, 102, 95, 49, 51, 49, 48, 95, 108, 101, - 100, 0, 101, 49, 48, 48, 48, 95, 98, 97, 115, 101, 95, 115, 120, 0, 101, 49, 48, 48, 48, 95, - 98, 97, 115, 101, 95, 108, 120, 0, 101, 49, 48, 48, 48, 95, 98, 97, 115, 101, 95, 99, 120, 0, - 101, 49, 48, 48, 48, 95, 98, 97, 115, 101, 95, 116, 0, 101, 49, 48, 48, 95, 98, 97, 115, 101, - 95, 108, 120, 0, 101, 49, 48, 48, 95, 98, 97, 115, 101, 95, 102, 120, 0, 101, 95, 98, 97, 115, - 101, 95, 98, 120, 49, 48, 0, 101, 95, 98, 97, 115, 101, 95, 112, 120, 0, 102, 99, 95, 116, 101, - 99, 104, 95, 101, 108, 101, 99, 116, 114, 105, 99, 97, 108, 95, 105, 110, 116, 101, 114, 95, - 101, 110, 99, 108, 111, 115, 117, 114, 101, 0, 102, 99, 95, 116, 101, 99, 104, 95, 108, 99, 0, - 102, 99, 95, 116, 101, 99, 104, 95, 115, 97, 0, 102, 99, 95, 108, 108, 95, 109, 0, 102, 99, 95, - 108, 108, 95, 108, 0, 102, 99, 95, 108, 108, 95, 105, 0, 102, 99, 95, 108, 108, 95, 115, 0, - 102, 99, 95, 108, 108, 95, 118, 0, 117, 110, 97, 108, 108, 111, 99, 97, 116, 101, 100, 95, 56, - 95, 48, 0, 117, 110, 97, 108, 108, 111, 99, 97, 116, 101, 100, 95, 56, 95, 49, 0, 115, 102, - 112, 95, 99, 116, 95, 112, 97, 115, 115, 105, 118, 101, 0, 115, 102, 112, 95, 99, 116, 95, 97, - 99, 116, 105, 118, 101, 0, 102, 99, 95, 116, 101, 99, 104, 95, 108, 108, 0, 102, 99, 95, 116, - 101, 99, 104, 95, 115, 108, 0, 102, 99, 95, 116, 101, 99, 104, 95, 115, 110, 0, 102, 99, 95, - 116, 101, 99, 104, 95, 101, 108, 101, 99, 116, 114, 105, 99, 97, 108, 95, 105, 110, 116, 114, - 97, 95, 101, 110, 99, 108, 111, 115, 117, 114, 101, 0, 102, 99, 95, 109, 101, 100, 105, 97, 95, - 115, 109, 0, 117, 110, 97, 108, 108, 111, 99, 97, 116, 101, 100, 95, 57, 95, 49, 0, 102, 99, - 95, 109, 101, 100, 105, 97, 95, 109, 53, 0, 102, 99, 95, 109, 101, 100, 105, 97, 95, 109, 54, - 0, 102, 99, 95, 109, 101, 100, 105, 97, 95, 116, 118, 0, 102, 99, 95, 109, 101, 100, 105, 97, - 95, 109, 105, 0, 102, 99, 95, 109, 101, 100, 105, 97, 95, 116, 112, 0, 102, 99, 95, 109, 101, - 100, 105, 97, 95, 116, 119, 0, 102, 99, 95, 115, 112, 101, 101, 100, 95, 49, 48, 48, 0, 117, - 110, 97, 108, 108, 111, 99, 97, 116, 101, 100, 95, 49, 48, 95, 49, 0, 102, 99, 95, 115, 112, - 101, 101, 100, 95, 50, 48, 48, 0, 102, 99, 95, 115, 112, 101, 101, 100, 95, 51, 50, 48, 48, 0, - 102, 99, 95, 115, 112, 101, 101, 100, 95, 52, 48, 48, 0, 102, 99, 95, 115, 112, 101, 101, 100, - 95, 49, 54, 48, 48, 0, 102, 99, 95, 115, 112, 101, 101, 100, 95, 56, 48, 48, 0, 102, 99, 95, - 115, 112, 101, 101, 100, 95, 49, 50, 48, 48, 0, 98, 114, 95, 110, 111, 109, 105, 110, 97, 108, - 0, 114, 97, 116, 101, 95, 105, 100, 0, 108, 105, 110, 107, 95, 108, 101, 110, 0, 118, 101, 110, - 100, 111, 114, 95, 110, 97, 109, 101, 0, 101, 120, 116, 101, 110, 100, 101, 100, 95, 99, 99, 0, - 118, 101, 110, 100, 111, 114, 95, 111, 117, 105, 0, 118, 101, 110, 100, 111, 114, 95, 112, 110, - 0, 118, 101, 110, 100, 111, 114, 95, 114, 101, 118, 0, 111, 112, 116, 105, 99, 97, 108, 95, - 119, 97, 118, 101, 108, 101, 110, 103, 116, 104, 0, 99, 97, 98, 108, 101, 95, 99, 111, 109, - 112, 108, 105, 97, 110, 99, 101, 0, 115, 102, 102, 56, 52, 51, 49, 95, 97, 112, 112, 95, 101, - 0, 102, 99, 95, 112, 105, 95, 52, 95, 97, 112, 112, 95, 104, 0, 114, 101, 115, 101, 114, 118, - 101, 100, 54, 48, 95, 50, 0, 114, 101, 115, 101, 114, 118, 101, 100, 54, 49, 0, 115, 102, 102, - 56, 52, 51, 49, 95, 108, 105, 109, 0, 102, 99, 95, 112, 105, 95, 52, 95, 108, 105, 109, 0, 114, - 101, 115, 101, 114, 118, 101, 100, 54, 48, 95, 52, 0, 114, 101, 115, 101, 114, 118, 101, 100, - 54, 50, 0, 99, 99, 95, 98, 97, 115, 101, 0, 115, 102, 112, 95, 101, 101, 112, 114, 111, 109, - 95, 98, 97, 115, 101, 0, 98, 114, 95, 109, 97, 120, 0, 98, 114, 95, 109, 105, 110, 0, 118, 101, - 110, 100, 111, 114, 95, 115, 110, 0, 100, 97, 116, 101, 99, 111, 100, 101, 0, 100, 105, 97, - 103, 109, 111, 110, 0, 101, 110, 104, 111, 112, 116, 115, 0, 115, 102, 102, 56, 52, 55, 50, 95, - 99, 111, 109, 112, 108, 105, 97, 110, 99, 101, 0, 99, 99, 95, 101, 120, 116, 0, 115, 102, 112, - 95, 101, 101, 112, 114, 111, 109, 95, 101, 120, 116, 0, 115, 102, 112, 95, 101, 101, 112, 114, - 111, 109, 95, 105, 100, 0, 117, 112, 115, 116, 114, 101, 97, 109, 95, 111, 112, 115, 0, 109, - 111, 100, 117, 108, 101, 95, 105, 110, 115, 101, 114, 116, 0, 109, 111, 100, 117, 108, 101, 95, - 114, 101, 109, 111, 118, 101, 0, 109, 111, 100, 117, 108, 101, 95, 115, 116, 97, 114, 116, 0, - 109, 111, 100, 117, 108, 101, 95, 115, 116, 111, 112, 0, 108, 105, 110, 107, 95, 100, 111, 119, - 110, 0, 108, 105, 110, 107, 95, 117, 112, 0, 99, 111, 110, 110, 101, 99, 116, 95, 112, 104, - 121, 0, 100, 105, 115, 99, 111, 110, 110, 101, 99, 116, 95, 112, 104, 121, 0, 115, 102, 112, - 95, 117, 112, 115, 116, 114, 101, 97, 109, 95, 111, 112, 115, 0, 117, 112, 115, 116, 114, 101, - 97, 109, 0, 112, 104, 121, 100, 101, 118, 0, 112, 104, 121, 108, 105, 110, 107, 0, 97, 116, - 116, 97, 99, 104, 101, 100, 95, 100, 101, 118, 0, 109, 105, 105, 95, 116, 115, 0, 114, 120, - 116, 115, 116, 97, 109, 112, 0, 116, 120, 116, 115, 116, 97, 109, 112, 0, 104, 119, 116, 115, - 116, 97, 109, 112, 0, 108, 105, 110, 107, 95, 115, 116, 97, 116, 101, 0, 116, 115, 95, 105, - 110, 102, 111, 0, 109, 105, 105, 95, 116, 105, 109, 101, 115, 116, 97, 109, 112, 101, 114, 0, - 109, 100, 105, 120, 0, 109, 100, 105, 120, 95, 99, 116, 114, 108, 0, 112, 104, 121, 95, 108, - 105, 110, 107, 95, 99, 104, 97, 110, 103, 101, 0, 109, 97, 99, 115, 101, 99, 95, 111, 112, 115, - 0, 112, 104, 121, 95, 100, 101, 118, 105, 99, 101, 0, 102, 105, 120, 101, 100, 95, 108, 105, - 110, 107, 95, 117, 112, 100, 97, 116, 101, 0, 102, 105, 120, 101, 100, 95, 112, 104, 121, 95, - 115, 116, 97, 116, 117, 115, 0, 112, 104, 121, 108, 105, 110, 107, 95, 118, 97, 108, 105, 100, - 97, 116, 101, 0, 97, 110, 95, 101, 110, 97, 98, 108, 101, 100, 0, 97, 110, 95, 99, 111, 109, - 112, 108, 101, 116, 101, 0, 112, 104, 121, 108, 105, 110, 107, 95, 108, 105, 110, 107, 95, 115, - 116, 97, 116, 101, 0, 112, 104, 121, 108, 105, 110, 107, 95, 109, 97, 99, 95, 108, 105, 110, - 107, 95, 115, 116, 97, 116, 101, 0, 112, 104, 121, 108, 105, 110, 107, 95, 109, 97, 99, 95, 99, - 111, 110, 102, 105, 103, 0, 112, 104, 121, 108, 105, 110, 107, 95, 109, 97, 99, 95, 97, 110, - 95, 114, 101, 115, 116, 97, 114, 116, 0, 112, 104, 121, 108, 105, 110, 107, 95, 109, 97, 99, - 95, 108, 105, 110, 107, 95, 100, 111, 119, 110, 0, 112, 104, 121, 108, 105, 110, 107, 95, 109, - 97, 99, 95, 108, 105, 110, 107, 95, 117, 112, 0, 112, 104, 121, 108, 105, 110, 107, 95, 102, - 105, 120, 101, 100, 95, 115, 116, 97, 116, 101, 0, 117, 105, 110, 116, 56, 95, 116, 0, 103, - 101, 116, 95, 115, 116, 97, 116, 115, 54, 52, 0, 112, 111, 114, 116, 95, 101, 110, 97, 98, 108, - 101, 0, 112, 111, 114, 116, 95, 100, 105, 115, 97, 98, 108, 101, 0, 115, 101, 116, 95, 109, 97, - 99, 95, 101, 101, 101, 0, 103, 101, 116, 95, 109, 97, 99, 95, 101, 101, 101, 0, 112, 111, 114, - 116, 95, 112, 114, 101, 99, 104, 97, 110, 103, 101, 117, 112, 112, 101, 114, 0, 110, 101, 116, - 100, 101, 118, 95, 110, 111, 116, 105, 102, 105, 101, 114, 95, 105, 110, 102, 111, 0, 117, 112, - 112, 101, 114, 95, 100, 101, 118, 0, 108, 105, 110, 107, 105, 110, 103, 0, 117, 112, 112, 101, - 114, 95, 105, 110, 102, 111, 0, 110, 101, 116, 100, 101, 118, 95, 110, 111, 116, 105, 102, 105, - 101, 114, 95, 99, 104, 97, 110, 103, 101, 117, 112, 112, 101, 114, 95, 105, 110, 102, 111, 0, - 115, 101, 116, 95, 97, 103, 101, 105, 110, 103, 95, 116, 105, 109, 101, 0, 112, 111, 114, 116, - 95, 98, 114, 105, 100, 103, 101, 95, 106, 111, 105, 110, 0, 112, 111, 114, 116, 95, 98, 114, - 105, 100, 103, 101, 95, 108, 101, 97, 118, 101, 0, 112, 111, 114, 116, 95, 98, 114, 105, 100, - 103, 101, 95, 116, 120, 95, 102, 119, 100, 95, 111, 102, 102, 108, 111, 97, 100, 0, 112, 111, - 114, 116, 95, 98, 114, 105, 100, 103, 101, 95, 116, 120, 95, 102, 119, 100, 95, 117, 110, 111, - 102, 102, 108, 111, 97, 100, 0, 112, 111, 114, 116, 95, 115, 116, 112, 95, 115, 116, 97, 116, - 101, 95, 115, 101, 116, 0, 112, 111, 114, 116, 95, 102, 97, 115, 116, 95, 97, 103, 101, 0, 112, - 111, 114, 116, 95, 112, 114, 101, 95, 98, 114, 105, 100, 103, 101, 95, 102, 108, 97, 103, 115, - 0, 115, 119, 105, 116, 99, 104, 100, 101, 118, 95, 98, 114, 112, 111, 114, 116, 95, 102, 108, - 97, 103, 115, 0, 112, 111, 114, 116, 95, 98, 114, 105, 100, 103, 101, 95, 102, 108, 97, 103, - 115, 0, 112, 111, 114, 116, 95, 118, 108, 97, 110, 95, 102, 105, 108, 116, 101, 114, 105, 110, - 103, 0, 112, 111, 114, 116, 95, 118, 108, 97, 110, 95, 97, 100, 100, 0, 111, 114, 105, 103, 95, - 100, 101, 118, 0, 83, 87, 73, 84, 67, 72, 68, 69, 86, 95, 79, 66, 74, 95, 73, 68, 95, 85, 78, - 68, 69, 70, 73, 78, 69, 68, 0, 83, 87, 73, 84, 67, 72, 68, 69, 86, 95, 79, 66, 74, 95, 73, 68, - 95, 80, 79, 82, 84, 95, 86, 76, 65, 78, 0, 83, 87, 73, 84, 67, 72, 68, 69, 86, 95, 79, 66, 74, - 95, 73, 68, 95, 80, 79, 82, 84, 95, 77, 68, 66, 0, 83, 87, 73, 84, 67, 72, 68, 69, 86, 95, 79, - 66, 74, 95, 73, 68, 95, 72, 79, 83, 84, 95, 77, 68, 66, 0, 83, 87, 73, 84, 67, 72, 68, 69, 86, - 95, 79, 66, 74, 95, 73, 68, 95, 77, 82, 80, 0, 83, 87, 73, 84, 67, 72, 68, 69, 86, 95, 79, 66, - 74, 95, 73, 68, 95, 82, 73, 78, 71, 95, 84, 69, 83, 84, 95, 77, 82, 80, 0, 83, 87, 73, 84, 67, - 72, 68, 69, 86, 95, 79, 66, 74, 95, 73, 68, 95, 82, 73, 78, 71, 95, 82, 79, 76, 69, 95, 77, 82, - 80, 0, 83, 87, 73, 84, 67, 72, 68, 69, 86, 95, 79, 66, 74, 95, 73, 68, 95, 82, 73, 78, 71, 95, - 83, 84, 65, 84, 69, 95, 77, 82, 80, 0, 83, 87, 73, 84, 67, 72, 68, 69, 86, 95, 79, 66, 74, 95, - 73, 68, 95, 73, 78, 95, 84, 69, 83, 84, 95, 77, 82, 80, 0, 83, 87, 73, 84, 67, 72, 68, 69, 86, - 95, 79, 66, 74, 95, 73, 68, 95, 73, 78, 95, 82, 79, 76, 69, 95, 77, 82, 80, 0, 83, 87, 73, 84, - 67, 72, 68, 69, 86, 95, 79, 66, 74, 95, 73, 68, 95, 73, 78, 95, 83, 84, 65, 84, 69, 95, 77, 82, - 80, 0, 115, 119, 105, 116, 99, 104, 100, 101, 118, 95, 111, 98, 106, 95, 105, 100, 0, 99, 111, - 109, 112, 108, 101, 116, 101, 95, 112, 114, 105, 118, 0, 115, 119, 105, 116, 99, 104, 100, 101, - 118, 95, 111, 98, 106, 0, 118, 105, 100, 0, 115, 119, 105, 116, 99, 104, 100, 101, 118, 95, - 111, 98, 106, 95, 112, 111, 114, 116, 95, 118, 108, 97, 110, 0, 112, 111, 114, 116, 95, 118, - 108, 97, 110, 95, 100, 101, 108, 0, 112, 111, 114, 116, 95, 102, 100, 98, 95, 97, 100, 100, 0, - 112, 111, 114, 116, 95, 102, 100, 98, 95, 100, 101, 108, 0, 112, 111, 114, 116, 95, 102, 100, - 98, 95, 100, 117, 109, 112, 0, 100, 115, 97, 95, 102, 100, 98, 95, 100, 117, 109, 112, 95, 99, - 98, 95, 116, 0, 112, 111, 114, 116, 95, 109, 100, 98, 95, 97, 100, 100, 0, 115, 119, 105, 116, - 99, 104, 100, 101, 118, 95, 111, 98, 106, 95, 112, 111, 114, 116, 95, 109, 100, 98, 0, 112, - 111, 114, 116, 95, 109, 100, 98, 95, 100, 101, 108, 0, 99, 108, 115, 95, 102, 108, 111, 119, - 101, 114, 95, 97, 100, 100, 0, 99, 104, 97, 105, 110, 95, 105, 110, 100, 101, 120, 0, 102, 108, - 111, 119, 95, 99, 108, 115, 95, 99, 111, 109, 109, 111, 110, 95, 111, 102, 102, 108, 111, 97, - 100, 0, 70, 76, 79, 87, 95, 67, 76, 83, 95, 82, 69, 80, 76, 65, 67, 69, 0, 70, 76, 79, 87, 95, - 67, 76, 83, 95, 68, 69, 83, 84, 82, 79, 89, 0, 70, 76, 79, 87, 95, 67, 76, 83, 95, 83, 84, 65, - 84, 83, 0, 70, 76, 79, 87, 95, 67, 76, 83, 95, 84, 77, 80, 76, 84, 95, 67, 82, 69, 65, 84, 69, - 0, 70, 76, 79, 87, 95, 67, 76, 83, 95, 84, 77, 80, 76, 84, 95, 68, 69, 83, 84, 82, 79, 89, 0, - 102, 108, 111, 119, 95, 99, 108, 115, 95, 99, 111, 109, 109, 97, 110, 100, 0, 100, 105, 115, - 115, 101, 99, 116, 111, 114, 0, 117, 115, 101, 100, 95, 107, 101, 121, 115, 0, 102, 108, 111, - 119, 95, 100, 105, 115, 115, 101, 99, 116, 111, 114, 0, 102, 108, 111, 119, 95, 109, 97, 116, - 99, 104, 0, 110, 117, 109, 95, 101, 110, 116, 114, 105, 101, 115, 0, 70, 76, 79, 87, 95, 65, - 67, 84, 73, 79, 78, 95, 65, 67, 67, 69, 80, 84, 0, 70, 76, 79, 87, 95, 65, 67, 84, 73, 79, 78, - 95, 68, 82, 79, 80, 0, 70, 76, 79, 87, 95, 65, 67, 84, 73, 79, 78, 95, 84, 82, 65, 80, 0, 70, - 76, 79, 87, 95, 65, 67, 84, 73, 79, 78, 95, 71, 79, 84, 79, 0, 70, 76, 79, 87, 95, 65, 67, 84, - 73, 79, 78, 95, 82, 69, 68, 73, 82, 69, 67, 84, 0, 70, 76, 79, 87, 95, 65, 67, 84, 73, 79, 78, - 95, 77, 73, 82, 82, 69, 68, 0, 70, 76, 79, 87, 95, 65, 67, 84, 73, 79, 78, 95, 82, 69, 68, 73, - 82, 69, 67, 84, 95, 73, 78, 71, 82, 69, 83, 83, 0, 70, 76, 79, 87, 95, 65, 67, 84, 73, 79, 78, - 95, 77, 73, 82, 82, 69, 68, 95, 73, 78, 71, 82, 69, 83, 83, 0, 70, 76, 79, 87, 95, 65, 67, 84, - 73, 79, 78, 95, 86, 76, 65, 78, 95, 80, 85, 83, 72, 0, 70, 76, 79, 87, 95, 65, 67, 84, 73, 79, - 78, 95, 86, 76, 65, 78, 95, 80, 79, 80, 0, 70, 76, 79, 87, 95, 65, 67, 84, 73, 79, 78, 95, 86, - 76, 65, 78, 95, 77, 65, 78, 71, 76, 69, 0, 70, 76, 79, 87, 95, 65, 67, 84, 73, 79, 78, 95, 84, - 85, 78, 78, 69, 76, 95, 69, 78, 67, 65, 80, 0, 70, 76, 79, 87, 95, 65, 67, 84, 73, 79, 78, 95, - 84, 85, 78, 78, 69, 76, 95, 68, 69, 67, 65, 80, 0, 70, 76, 79, 87, 95, 65, 67, 84, 73, 79, 78, - 95, 77, 65, 78, 71, 76, 69, 0, 70, 76, 79, 87, 95, 65, 67, 84, 73, 79, 78, 95, 65, 68, 68, 0, - 70, 76, 79, 87, 95, 65, 67, 84, 73, 79, 78, 95, 67, 83, 85, 77, 0, 70, 76, 79, 87, 95, 65, 67, - 84, 73, 79, 78, 95, 77, 65, 82, 75, 0, 70, 76, 79, 87, 95, 65, 67, 84, 73, 79, 78, 95, 80, 84, - 89, 80, 69, 0, 70, 76, 79, 87, 95, 65, 67, 84, 73, 79, 78, 95, 80, 82, 73, 79, 82, 73, 84, 89, - 0, 70, 76, 79, 87, 95, 65, 67, 84, 73, 79, 78, 95, 87, 65, 75, 69, 0, 70, 76, 79, 87, 95, 65, - 67, 84, 73, 79, 78, 95, 81, 85, 69, 85, 69, 0, 70, 76, 79, 87, 95, 65, 67, 84, 73, 79, 78, 95, - 83, 65, 77, 80, 76, 69, 0, 70, 76, 79, 87, 95, 65, 67, 84, 73, 79, 78, 95, 80, 79, 76, 73, 67, - 69, 0, 70, 76, 79, 87, 95, 65, 67, 84, 73, 79, 78, 95, 67, 84, 0, 70, 76, 79, 87, 95, 65, 67, - 84, 73, 79, 78, 95, 67, 84, 95, 77, 69, 84, 65, 68, 65, 84, 65, 0, 70, 76, 79, 87, 95, 65, 67, - 84, 73, 79, 78, 95, 77, 80, 76, 83, 95, 80, 85, 83, 72, 0, 70, 76, 79, 87, 95, 65, 67, 84, 73, - 79, 78, 95, 77, 80, 76, 83, 95, 80, 79, 80, 0, 70, 76, 79, 87, 95, 65, 67, 84, 73, 79, 78, 95, - 77, 80, 76, 83, 95, 77, 65, 78, 71, 76, 69, 0, 70, 76, 79, 87, 95, 65, 67, 84, 73, 79, 78, 95, - 71, 65, 84, 69, 0, 70, 76, 79, 87, 95, 65, 67, 84, 73, 79, 78, 95, 80, 80, 80, 79, 69, 95, 80, - 85, 83, 72, 0, 78, 85, 77, 95, 70, 76, 79, 87, 95, 65, 67, 84, 73, 79, 78, 83, 0, 102, 108, - 111, 119, 95, 97, 99, 116, 105, 111, 110, 95, 105, 100, 0, 104, 119, 95, 115, 116, 97, 116, - 115, 0, 70, 76, 79, 87, 95, 65, 67, 84, 73, 79, 78, 95, 72, 87, 95, 83, 84, 65, 84, 83, 95, 73, - 77, 77, 69, 68, 73, 65, 84, 69, 0, 70, 76, 79, 87, 95, 65, 67, 84, 73, 79, 78, 95, 72, 87, 95, - 83, 84, 65, 84, 83, 95, 68, 69, 76, 65, 89, 69, 68, 0, 70, 76, 79, 87, 95, 65, 67, 84, 73, 79, - 78, 95, 72, 87, 95, 83, 84, 65, 84, 83, 95, 65, 78, 89, 0, 70, 76, 79, 87, 95, 65, 67, 84, 73, - 79, 78, 95, 72, 87, 95, 83, 84, 65, 84, 83, 95, 68, 73, 83, 65, 66, 76, 69, 68, 0, 70, 76, 79, - 87, 95, 65, 67, 84, 73, 79, 78, 95, 72, 87, 95, 83, 84, 65, 84, 83, 95, 68, 79, 78, 84, 95, 67, - 65, 82, 69, 0, 102, 108, 111, 119, 95, 97, 99, 116, 105, 111, 110, 95, 104, 119, 95, 115, 116, - 97, 116, 115, 0, 97, 99, 116, 105, 111, 110, 95, 100, 101, 115, 116, 114, 0, 100, 101, 115, - 116, 114, 117, 99, 116, 111, 114, 95, 112, 114, 105, 118, 0, 109, 97, 110, 103, 108, 101, 0, - 104, 116, 121, 112, 101, 0, 70, 76, 79, 87, 95, 65, 67, 84, 95, 77, 65, 78, 71, 76, 69, 95, 85, - 78, 83, 80, 69, 67, 0, 70, 76, 79, 87, 95, 65, 67, 84, 95, 77, 65, 78, 71, 76, 69, 95, 72, 68, - 82, 95, 84, 89, 80, 69, 95, 69, 84, 72, 0, 70, 76, 79, 87, 95, 65, 67, 84, 95, 77, 65, 78, 71, - 76, 69, 95, 72, 68, 82, 95, 84, 89, 80, 69, 95, 73, 80, 52, 0, 70, 76, 79, 87, 95, 65, 67, 84, - 95, 77, 65, 78, 71, 76, 69, 95, 72, 68, 82, 95, 84, 89, 80, 69, 95, 73, 80, 54, 0, 70, 76, 79, - 87, 95, 65, 67, 84, 95, 77, 65, 78, 71, 76, 69, 95, 72, 68, 82, 95, 84, 89, 80, 69, 95, 84, 67, - 80, 0, 70, 76, 79, 87, 95, 65, 67, 84, 95, 77, 65, 78, 71, 76, 69, 95, 72, 68, 82, 95, 84, 89, - 80, 69, 95, 85, 68, 80, 0, 102, 108, 111, 119, 95, 97, 99, 116, 105, 111, 110, 95, 109, 97, - 110, 103, 108, 101, 95, 98, 97, 115, 101, 0, 116, 117, 110, 95, 102, 108, 97, 103, 115, 0, 116, - 112, 95, 115, 114, 99, 0, 116, 112, 95, 100, 115, 116, 0, 105, 112, 95, 116, 117, 110, 110, - 101, 108, 95, 107, 101, 121, 0, 100, 115, 116, 95, 99, 97, 99, 104, 101, 0, 114, 101, 102, 114, - 101, 115, 104, 95, 116, 115, 0, 105, 110, 95, 115, 97, 100, 100, 114, 0, 105, 110, 54, 95, 115, - 97, 100, 100, 114, 0, 100, 115, 116, 95, 99, 97, 99, 104, 101, 95, 112, 99, 112, 117, 0, 114, - 101, 115, 101, 116, 95, 116, 115, 0, 111, 112, 116, 105, 111, 110, 115, 95, 108, 101, 110, 0, - 105, 112, 95, 116, 117, 110, 110, 101, 108, 95, 105, 110, 102, 111, 0, 99, 115, 117, 109, 95, - 102, 108, 97, 103, 115, 0, 112, 116, 121, 112, 101, 0, 115, 97, 109, 112, 108, 101, 0, 112, - 115, 97, 109, 112, 108, 101, 95, 103, 114, 111, 117, 112, 0, 103, 114, 111, 117, 112, 95, 110, - 117, 109, 0, 114, 97, 116, 101, 0, 116, 114, 117, 110, 99, 95, 115, 105, 122, 101, 0, 116, 114, - 117, 110, 99, 97, 116, 101, 0, 112, 111, 108, 105, 99, 101, 0, 114, 97, 116, 101, 95, 98, 121, - 116, 101, 115, 95, 112, 115, 0, 98, 117, 114, 115, 116, 95, 112, 107, 116, 0, 114, 97, 116, - 101, 95, 112, 107, 116, 95, 112, 115, 0, 102, 108, 111, 119, 95, 116, 97, 98, 108, 101, 0, 110, - 102, 95, 102, 108, 111, 119, 116, 97, 98, 108, 101, 0, 99, 116, 95, 109, 101, 116, 97, 100, 97, - 116, 97, 0, 108, 97, 98, 101, 108, 115, 0, 111, 114, 105, 103, 95, 100, 105, 114, 0, 109, 112, - 108, 115, 95, 112, 117, 115, 104, 0, 116, 99, 0, 98, 111, 115, 0, 109, 112, 108, 115, 95, 112, - 111, 112, 0, 109, 112, 108, 115, 95, 109, 97, 110, 103, 108, 101, 0, 103, 97, 116, 101, 0, 98, - 97, 115, 101, 116, 105, 109, 101, 0, 99, 121, 99, 108, 101, 116, 105, 109, 101, 0, 99, 121, 99, - 108, 101, 116, 105, 109, 101, 101, 120, 116, 0, 103, 97, 116, 101, 95, 115, 116, 97, 116, 101, - 0, 105, 112, 118, 0, 109, 97, 120, 111, 99, 116, 101, 116, 115, 0, 97, 99, 116, 105, 111, 110, - 95, 103, 97, 116, 101, 95, 101, 110, 116, 114, 121, 0, 112, 112, 112, 111, 101, 0, 115, 105, - 100, 0, 102, 108, 111, 119, 95, 97, 99, 116, 105, 111, 110, 95, 99, 111, 111, 107, 105, 101, 0, - 102, 108, 111, 119, 95, 97, 99, 116, 105, 111, 110, 95, 101, 110, 116, 114, 121, 0, 102, 108, - 111, 119, 95, 97, 99, 116, 105, 111, 110, 0, 102, 108, 111, 119, 95, 114, 117, 108, 101, 0, - 112, 107, 116, 115, 0, 100, 114, 111, 112, 115, 0, 117, 115, 101, 100, 95, 104, 119, 95, 115, - 116, 97, 116, 115, 0, 117, 115, 101, 100, 95, 104, 119, 95, 115, 116, 97, 116, 115, 95, 118, - 97, 108, 105, 100, 0, 102, 108, 111, 119, 95, 115, 116, 97, 116, 115, 0, 102, 108, 111, 119, - 95, 99, 108, 115, 95, 111, 102, 102, 108, 111, 97, 100, 0, 99, 108, 115, 95, 102, 108, 111, - 119, 101, 114, 95, 100, 101, 108, 0, 99, 108, 115, 95, 102, 108, 111, 119, 101, 114, 95, 115, - 116, 97, 116, 115, 0, 112, 111, 114, 116, 95, 109, 105, 114, 114, 111, 114, 95, 97, 100, 100, - 0, 116, 111, 95, 108, 111, 99, 97, 108, 95, 112, 111, 114, 116, 0, 105, 110, 103, 114, 101, - 115, 115, 0, 100, 115, 97, 95, 109, 97, 108, 108, 95, 109, 105, 114, 114, 111, 114, 95, 116, - 99, 95, 101, 110, 116, 114, 121, 0, 112, 111, 114, 116, 95, 109, 105, 114, 114, 111, 114, 95, - 100, 101, 108, 0, 112, 111, 114, 116, 95, 112, 111, 108, 105, 99, 101, 114, 95, 97, 100, 100, - 0, 114, 97, 116, 101, 95, 98, 121, 116, 101, 115, 95, 112, 101, 114, 95, 115, 101, 99, 0, 100, - 115, 97, 95, 109, 97, 108, 108, 95, 112, 111, 108, 105, 99, 101, 114, 95, 116, 99, 95, 101, - 110, 116, 114, 121, 0, 112, 111, 114, 116, 95, 112, 111, 108, 105, 99, 101, 114, 95, 100, 101, - 108, 0, 112, 111, 114, 116, 95, 115, 101, 116, 117, 112, 95, 116, 99, 0, 99, 114, 111, 115, - 115, 99, 104, 105, 112, 95, 98, 114, 105, 100, 103, 101, 95, 106, 111, 105, 110, 0, 99, 114, - 111, 115, 115, 99, 104, 105, 112, 95, 98, 114, 105, 100, 103, 101, 95, 108, 101, 97, 118, 101, - 0, 99, 114, 111, 115, 115, 99, 104, 105, 112, 95, 108, 97, 103, 95, 99, 104, 97, 110, 103, 101, - 0, 99, 114, 111, 115, 115, 99, 104, 105, 112, 95, 108, 97, 103, 95, 106, 111, 105, 110, 0, 116, - 120, 95, 116, 121, 112, 101, 0, 78, 69, 84, 68, 69, 86, 95, 76, 65, 71, 95, 84, 88, 95, 84, 89, - 80, 69, 95, 85, 78, 75, 78, 79, 87, 78, 0, 78, 69, 84, 68, 69, 86, 95, 76, 65, 71, 95, 84, 88, - 95, 84, 89, 80, 69, 95, 82, 65, 78, 68, 79, 77, 0, 78, 69, 84, 68, 69, 86, 95, 76, 65, 71, 95, - 84, 88, 95, 84, 89, 80, 69, 95, 66, 82, 79, 65, 68, 67, 65, 83, 84, 0, 78, 69, 84, 68, 69, 86, - 95, 76, 65, 71, 95, 84, 88, 95, 84, 89, 80, 69, 95, 82, 79, 85, 78, 68, 82, 79, 66, 73, 78, 0, - 78, 69, 84, 68, 69, 86, 95, 76, 65, 71, 95, 84, 88, 95, 84, 89, 80, 69, 95, 65, 67, 84, 73, 86, - 69, 66, 65, 67, 75, 85, 80, 0, 78, 69, 84, 68, 69, 86, 95, 76, 65, 71, 95, 84, 88, 95, 84, 89, - 80, 69, 95, 72, 65, 83, 72, 0, 110, 101, 116, 100, 101, 118, 95, 108, 97, 103, 95, 116, 120, - 95, 116, 121, 112, 101, 0, 104, 97, 115, 104, 95, 116, 121, 112, 101, 0, 78, 69, 84, 68, 69, - 86, 95, 76, 65, 71, 95, 72, 65, 83, 72, 95, 78, 79, 78, 69, 0, 78, 69, 84, 68, 69, 86, 95, 76, - 65, 71, 95, 72, 65, 83, 72, 95, 76, 50, 0, 78, 69, 84, 68, 69, 86, 95, 76, 65, 71, 95, 72, 65, - 83, 72, 95, 76, 51, 52, 0, 78, 69, 84, 68, 69, 86, 95, 76, 65, 71, 95, 72, 65, 83, 72, 95, 76, - 50, 51, 0, 78, 69, 84, 68, 69, 86, 95, 76, 65, 71, 95, 72, 65, 83, 72, 95, 69, 50, 51, 0, 78, - 69, 84, 68, 69, 86, 95, 76, 65, 71, 95, 72, 65, 83, 72, 95, 69, 51, 52, 0, 78, 69, 84, 68, 69, - 86, 95, 76, 65, 71, 95, 72, 65, 83, 72, 95, 86, 76, 65, 78, 95, 83, 82, 67, 77, 65, 67, 0, 78, - 69, 84, 68, 69, 86, 95, 76, 65, 71, 95, 72, 65, 83, 72, 95, 85, 78, 75, 78, 79, 87, 78, 0, 110, - 101, 116, 100, 101, 118, 95, 108, 97, 103, 95, 104, 97, 115, 104, 0, 110, 101, 116, 100, 101, - 118, 95, 108, 97, 103, 95, 117, 112, 112, 101, 114, 95, 105, 110, 102, 111, 0, 99, 114, 111, - 115, 115, 99, 104, 105, 112, 95, 108, 97, 103, 95, 108, 101, 97, 118, 101, 0, 112, 111, 114, - 116, 95, 104, 119, 116, 115, 116, 97, 109, 112, 95, 103, 101, 116, 0, 112, 111, 114, 116, 95, - 104, 119, 116, 115, 116, 97, 109, 112, 95, 115, 101, 116, 0, 112, 111, 114, 116, 95, 116, 120, - 116, 115, 116, 97, 109, 112, 0, 112, 111, 114, 116, 95, 114, 120, 116, 115, 116, 97, 109, 112, - 0, 100, 101, 118, 108, 105, 110, 107, 95, 112, 97, 114, 97, 109, 95, 103, 101, 116, 0, 118, - 117, 56, 0, 118, 117, 49, 54, 0, 118, 117, 51, 50, 0, 118, 115, 116, 114, 0, 118, 98, 111, 111, - 108, 0, 100, 101, 118, 108, 105, 110, 107, 95, 112, 97, 114, 97, 109, 95, 118, 97, 108, 117, - 101, 0, 99, 109, 111, 100, 101, 0, 68, 69, 86, 76, 73, 78, 75, 95, 80, 65, 82, 65, 77, 95, 67, - 77, 79, 68, 69, 95, 82, 85, 78, 84, 73, 77, 69, 0, 68, 69, 86, 76, 73, 78, 75, 95, 80, 65, 82, - 65, 77, 95, 67, 77, 79, 68, 69, 95, 68, 82, 73, 86, 69, 82, 73, 78, 73, 84, 0, 68, 69, 86, 76, - 73, 78, 75, 95, 80, 65, 82, 65, 77, 95, 67, 77, 79, 68, 69, 95, 80, 69, 82, 77, 65, 78, 69, 78, - 84, 0, 95, 95, 68, 69, 86, 76, 73, 78, 75, 95, 80, 65, 82, 65, 77, 95, 67, 77, 79, 68, 69, 95, - 77, 65, 88, 0, 68, 69, 86, 76, 73, 78, 75, 95, 80, 65, 82, 65, 77, 95, 67, 77, 79, 68, 69, 95, - 77, 65, 88, 0, 100, 101, 118, 108, 105, 110, 107, 95, 112, 97, 114, 97, 109, 95, 99, 109, 111, - 100, 101, 0, 100, 101, 118, 108, 105, 110, 107, 95, 112, 97, 114, 97, 109, 95, 103, 115, 101, - 116, 95, 99, 116, 120, 0, 100, 101, 118, 108, 105, 110, 107, 95, 112, 97, 114, 97, 109, 95, - 115, 101, 116, 0, 100, 101, 118, 108, 105, 110, 107, 95, 105, 110, 102, 111, 95, 103, 101, 116, - 0, 100, 101, 118, 108, 105, 110, 107, 95, 115, 98, 95, 112, 111, 111, 108, 95, 103, 101, 116, - 0, 100, 101, 118, 108, 105, 110, 107, 95, 115, 98, 95, 112, 111, 111, 108, 95, 115, 101, 116, - 0, 100, 101, 118, 108, 105, 110, 107, 95, 115, 98, 95, 112, 111, 114, 116, 95, 112, 111, 111, - 108, 95, 103, 101, 116, 0, 100, 101, 118, 108, 105, 110, 107, 95, 115, 98, 95, 112, 111, 114, - 116, 95, 112, 111, 111, 108, 95, 115, 101, 116, 0, 100, 101, 118, 108, 105, 110, 107, 95, 115, - 98, 95, 116, 99, 95, 112, 111, 111, 108, 95, 98, 105, 110, 100, 95, 103, 101, 116, 0, 100, 101, - 118, 108, 105, 110, 107, 95, 115, 98, 95, 116, 99, 95, 112, 111, 111, 108, 95, 98, 105, 110, - 100, 95, 115, 101, 116, 0, 100, 101, 118, 108, 105, 110, 107, 95, 115, 98, 95, 111, 99, 99, 95, - 115, 110, 97, 112, 115, 104, 111, 116, 0, 100, 101, 118, 108, 105, 110, 107, 95, 115, 98, 95, - 111, 99, 99, 95, 109, 97, 120, 95, 99, 108, 101, 97, 114, 0, 100, 101, 118, 108, 105, 110, 107, - 95, 115, 98, 95, 111, 99, 99, 95, 112, 111, 114, 116, 95, 112, 111, 111, 108, 95, 103, 101, - 116, 0, 100, 101, 118, 108, 105, 110, 107, 95, 115, 98, 95, 111, 99, 99, 95, 116, 99, 95, 112, - 111, 114, 116, 95, 98, 105, 110, 100, 95, 103, 101, 116, 0, 112, 111, 114, 116, 95, 99, 104, - 97, 110, 103, 101, 95, 109, 116, 117, 0, 112, 111, 114, 116, 95, 109, 97, 120, 95, 109, 116, - 117, 0, 112, 111, 114, 116, 95, 108, 97, 103, 95, 99, 104, 97, 110, 103, 101, 0, 112, 111, 114, - 116, 95, 108, 97, 103, 95, 106, 111, 105, 110, 0, 112, 111, 114, 116, 95, 108, 97, 103, 95, - 108, 101, 97, 118, 101, 0, 112, 111, 114, 116, 95, 104, 115, 114, 95, 106, 111, 105, 110, 0, - 112, 111, 114, 116, 95, 104, 115, 114, 95, 108, 101, 97, 118, 101, 0, 112, 111, 114, 116, 95, - 109, 114, 112, 95, 97, 100, 100, 0, 112, 95, 112, 111, 114, 116, 0, 115, 95, 112, 111, 114, - 116, 0, 114, 105, 110, 103, 95, 105, 100, 0, 115, 119, 105, 116, 99, 104, 100, 101, 118, 95, - 111, 98, 106, 95, 109, 114, 112, 0, 112, 111, 114, 116, 95, 109, 114, 112, 95, 100, 101, 108, - 0, 112, 111, 114, 116, 95, 109, 114, 112, 95, 97, 100, 100, 95, 114, 105, 110, 103, 95, 114, - 111, 108, 101, 0, 114, 105, 110, 103, 95, 114, 111, 108, 101, 0, 115, 119, 95, 98, 97, 99, 107, - 117, 112, 0, 115, 119, 105, 116, 99, 104, 100, 101, 118, 95, 111, 98, 106, 95, 114, 105, 110, - 103, 95, 114, 111, 108, 101, 95, 109, 114, 112, 0, 112, 111, 114, 116, 95, 109, 114, 112, 95, - 100, 101, 108, 95, 114, 105, 110, 103, 95, 114, 111, 108, 101, 0, 116, 97, 103, 95, 56, 48, 50, - 49, 113, 95, 118, 108, 97, 110, 95, 97, 100, 100, 0, 116, 97, 103, 95, 56, 48, 50, 49, 113, 95, - 118, 108, 97, 110, 95, 100, 101, 108, 0, 100, 115, 97, 95, 115, 119, 105, 116, 99, 104, 95, - 111, 112, 115, 0, 112, 104, 121, 115, 95, 109, 105, 105, 95, 109, 97, 115, 107, 0, 115, 108, - 97, 118, 101, 95, 109, 105, 105, 95, 98, 117, 115, 0, 97, 103, 101, 105, 110, 103, 95, 116, - 105, 109, 101, 95, 109, 105, 110, 0, 97, 103, 101, 105, 110, 103, 95, 116, 105, 109, 101, 95, - 109, 97, 120, 0, 116, 97, 103, 95, 56, 48, 50, 49, 113, 95, 99, 116, 120, 0, 100, 115, 97, 95, - 56, 48, 50, 49, 113, 95, 99, 111, 110, 116, 101, 120, 116, 0, 110, 117, 109, 95, 116, 120, 95, - 113, 117, 101, 117, 101, 115, 0, 118, 108, 97, 110, 95, 102, 105, 108, 116, 101, 114, 105, 110, - 103, 95, 105, 115, 95, 103, 108, 111, 98, 97, 108, 0, 110, 101, 101, 100, 115, 95, 115, 116, - 97, 110, 100, 97, 108, 111, 110, 101, 95, 118, 108, 97, 110, 95, 102, 105, 108, 116, 101, 114, - 105, 110, 103, 0, 99, 111, 110, 102, 105, 103, 117, 114, 101, 95, 118, 108, 97, 110, 95, 119, - 104, 105, 108, 101, 95, 110, 111, 116, 95, 102, 105, 108, 116, 101, 114, 105, 110, 103, 0, 117, - 110, 116, 97, 103, 95, 98, 114, 105, 100, 103, 101, 95, 112, 118, 105, 100, 0, 97, 115, 115, - 105, 115, 116, 101, 100, 95, 108, 101, 97, 114, 110, 105, 110, 103, 95, 111, 110, 95, 99, 112, - 117, 95, 112, 111, 114, 116, 0, 118, 108, 97, 110, 95, 102, 105, 108, 116, 101, 114, 105, 110, - 103, 0, 112, 99, 115, 95, 112, 111, 108, 108, 0, 109, 116, 117, 95, 101, 110, 102, 111, 114, - 99, 101, 109, 101, 110, 116, 95, 105, 110, 103, 114, 101, 115, 115, 0, 110, 117, 109, 95, 108, - 97, 103, 95, 105, 100, 115, 0, 110, 117, 109, 95, 102, 119, 100, 95, 111, 102, 102, 108, 111, - 97, 100, 105, 110, 103, 95, 98, 114, 105, 100, 103, 101, 115, 0, 110, 117, 109, 95, 112, 111, - 114, 116, 115, 0, 100, 115, 97, 95, 115, 119, 105, 116, 99, 104, 0, 99, 112, 117, 95, 100, 112, - 0, 97, 103, 101, 105, 110, 103, 95, 116, 105, 109, 101, 0, 108, 101, 97, 114, 110, 105, 110, - 103, 0, 115, 116, 112, 95, 115, 116, 97, 116, 101, 0, 98, 114, 105, 100, 103, 101, 95, 100, - 101, 118, 0, 98, 114, 105, 100, 103, 101, 95, 110, 117, 109, 0, 100, 101, 118, 108, 105, 110, - 107, 95, 112, 111, 114, 116, 95, 115, 101, 116, 117, 112, 0, 112, 108, 0, 112, 108, 95, 99, - 111, 110, 102, 105, 103, 0, 80, 72, 89, 76, 73, 78, 75, 95, 78, 69, 84, 68, 69, 86, 0, 80, 72, - 89, 76, 73, 78, 75, 95, 68, 69, 86, 0, 112, 104, 121, 108, 105, 110, 107, 95, 111, 112, 95, - 116, 121, 112, 101, 0, 112, 111, 108, 108, 95, 102, 105, 120, 101, 100, 95, 115, 116, 97, 116, - 101, 0, 111, 118, 114, 95, 97, 110, 95, 105, 110, 98, 97, 110, 100, 0, 103, 101, 116, 95, 102, - 105, 120, 101, 100, 95, 115, 116, 97, 116, 101, 0, 112, 104, 121, 108, 105, 110, 107, 95, 99, - 111, 110, 102, 105, 103, 0, 108, 97, 103, 95, 100, 101, 118, 0, 108, 97, 103, 95, 116, 120, 95, - 101, 110, 97, 98, 108, 101, 100, 0, 104, 115, 114, 95, 100, 101, 118, 0, 111, 114, 105, 103, - 95, 101, 116, 104, 116, 111, 111, 108, 95, 111, 112, 115, 0, 100, 115, 97, 95, 110, 101, 116, - 100, 101, 118, 105, 99, 101, 95, 111, 112, 115, 0, 102, 100, 98, 115, 0, 109, 100, 98, 115, 0, - 100, 115, 97, 95, 112, 111, 114, 116, 0, 116, 105, 112, 99, 95, 112, 116, 114, 0, 116, 105, - 112, 99, 95, 98, 101, 97, 114, 101, 114, 0, 97, 116, 97, 108, 107, 95, 112, 116, 114, 0, 105, - 112, 95, 112, 116, 114, 0, 105, 102, 97, 95, 108, 105, 115, 116, 0, 105, 102, 97, 95, 110, 101, - 120, 116, 0, 105, 102, 97, 95, 100, 101, 118, 0, 105, 102, 97, 95, 108, 111, 99, 97, 108, 0, - 105, 102, 97, 95, 97, 100, 100, 114, 101, 115, 115, 0, 105, 102, 97, 95, 109, 97, 115, 107, 0, - 105, 102, 97, 95, 114, 116, 95, 112, 114, 105, 111, 114, 105, 116, 121, 0, 105, 102, 97, 95, - 98, 114, 111, 97, 100, 99, 97, 115, 116, 0, 105, 102, 97, 95, 115, 99, 111, 112, 101, 0, 105, - 102, 97, 95, 112, 114, 101, 102, 105, 120, 108, 101, 110, 0, 105, 102, 97, 95, 102, 108, 97, - 103, 115, 0, 105, 102, 97, 95, 108, 97, 98, 101, 108, 0, 105, 102, 97, 95, 118, 97, 108, 105, - 100, 95, 108, 102, 116, 0, 105, 102, 97, 95, 112, 114, 101, 102, 101, 114, 114, 101, 100, 95, - 108, 102, 116, 0, 105, 102, 97, 95, 99, 115, 116, 97, 109, 112, 0, 105, 102, 97, 95, 116, 115, - 116, 97, 109, 112, 0, 105, 110, 95, 105, 102, 97, 100, 100, 114, 0, 109, 117, 108, 116, 105, - 97, 100, 100, 114, 0, 115, 102, 109, 111, 100, 101, 0, 115, 111, 117, 114, 99, 101, 115, 0, - 115, 102, 95, 105, 110, 97, 100, 100, 114, 0, 105, 112, 95, 115, 102, 95, 108, 105, 115, 116, - 0, 116, 111, 109, 98, 0, 115, 102, 99, 111, 117, 110, 116, 0, 110, 101, 120, 116, 95, 114, 99, - 117, 0, 110, 101, 120, 116, 95, 104, 97, 115, 104, 0, 116, 109, 95, 114, 117, 110, 110, 105, - 110, 103, 0, 114, 101, 112, 111, 114, 116, 101, 114, 0, 117, 110, 115, 111, 108, 105, 99, 105, - 116, 95, 99, 111, 117, 110, 116, 0, 103, 115, 113, 117, 101, 114, 121, 0, 99, 114, 99, 111, - 117, 110, 116, 0, 105, 112, 95, 109, 99, 95, 108, 105, 115, 116, 0, 109, 99, 95, 104, 97, 115, - 104, 0, 109, 99, 95, 99, 111, 117, 110, 116, 0, 109, 99, 95, 116, 111, 109, 98, 95, 108, 111, - 99, 107, 0, 109, 114, 95, 118, 49, 95, 115, 101, 101, 110, 0, 109, 114, 95, 118, 50, 95, 115, - 101, 101, 110, 0, 109, 114, 95, 109, 97, 120, 100, 101, 108, 97, 121, 0, 109, 114, 95, 113, - 105, 0, 109, 114, 95, 113, 114, 105, 0, 109, 114, 95, 113, 114, 118, 0, 109, 114, 95, 103, 113, - 95, 114, 117, 110, 110, 105, 110, 103, 0, 109, 114, 95, 105, 102, 99, 95, 99, 111, 117, 110, - 116, 0, 109, 114, 95, 103, 113, 95, 116, 105, 109, 101, 114, 0, 109, 114, 95, 105, 102, 99, 95, - 116, 105, 109, 101, 114, 0, 97, 114, 112, 95, 112, 97, 114, 109, 115, 0, 105, 110, 95, 100, - 101, 118, 105, 99, 101, 0, 105, 112, 54, 95, 112, 116, 114, 0, 97, 120, 50, 53, 95, 112, 116, - 114, 0, 105, 101, 101, 101, 56, 48, 50, 49, 49, 95, 112, 116, 114, 0, 119, 105, 112, 104, 121, - 0, 109, 116, 120, 0, 97, 100, 100, 114, 95, 109, 97, 115, 107, 0, 97, 100, 100, 114, 101, 115, - 115, 101, 115, 0, 109, 97, 99, 95, 97, 100, 100, 114, 101, 115, 115, 0, 109, 103, 109, 116, 95, - 115, 116, 121, 112, 101, 115, 0, 105, 101, 101, 101, 56, 48, 50, 49, 49, 95, 116, 120, 114, - 120, 95, 115, 116, 121, 112, 101, 115, 0, 105, 102, 97, 99, 101, 95, 99, 111, 109, 98, 105, - 110, 97, 116, 105, 111, 110, 115, 0, 105, 101, 101, 101, 56, 48, 50, 49, 49, 95, 105, 102, 97, - 99, 101, 95, 108, 105, 109, 105, 116, 0, 110, 117, 109, 95, 100, 105, 102, 102, 101, 114, 101, - 110, 116, 95, 99, 104, 97, 110, 110, 101, 108, 115, 0, 109, 97, 120, 95, 105, 110, 116, 101, - 114, 102, 97, 99, 101, 115, 0, 110, 95, 108, 105, 109, 105, 116, 115, 0, 98, 101, 97, 99, 111, - 110, 95, 105, 110, 116, 95, 105, 110, 102, 114, 97, 95, 109, 97, 116, 99, 104, 0, 114, 97, 100, - 97, 114, 95, 100, 101, 116, 101, 99, 116, 95, 119, 105, 100, 116, 104, 115, 0, 114, 97, 100, - 97, 114, 95, 100, 101, 116, 101, 99, 116, 95, 114, 101, 103, 105, 111, 110, 115, 0, 98, 101, - 97, 99, 111, 110, 95, 105, 110, 116, 95, 109, 105, 110, 95, 103, 99, 100, 0, 105, 101, 101, - 101, 56, 48, 50, 49, 49, 95, 105, 102, 97, 99, 101, 95, 99, 111, 109, 98, 105, 110, 97, 116, - 105, 111, 110, 0, 110, 95, 105, 102, 97, 99, 101, 95, 99, 111, 109, 98, 105, 110, 97, 116, 105, - 111, 110, 115, 0, 115, 111, 102, 116, 119, 97, 114, 101, 95, 105, 102, 116, 121, 112, 101, 115, - 0, 110, 95, 97, 100, 100, 114, 101, 115, 115, 101, 115, 0, 105, 110, 116, 101, 114, 102, 97, - 99, 101, 95, 109, 111, 100, 101, 115, 0, 109, 97, 120, 95, 97, 99, 108, 95, 109, 97, 99, 95, - 97, 100, 100, 114, 115, 0, 114, 101, 103, 117, 108, 97, 116, 111, 114, 121, 95, 102, 108, 97, - 103, 115, 0, 101, 120, 116, 95, 102, 101, 97, 116, 117, 114, 101, 115, 0, 97, 112, 95, 115, - 109, 101, 95, 99, 97, 112, 97, 0, 115, 105, 103, 110, 97, 108, 95, 116, 121, 112, 101, 0, 67, - 70, 71, 56, 48, 50, 49, 49, 95, 83, 73, 71, 78, 65, 76, 95, 84, 89, 80, 69, 95, 78, 79, 78, 69, - 0, 67, 70, 71, 56, 48, 50, 49, 49, 95, 83, 73, 71, 78, 65, 76, 95, 84, 89, 80, 69, 95, 77, 66, - 77, 0, 67, 70, 71, 56, 48, 50, 49, 49, 95, 83, 73, 71, 78, 65, 76, 95, 84, 89, 80, 69, 95, 85, - 78, 83, 80, 69, 67, 0, 99, 102, 103, 56, 48, 50, 49, 49, 95, 115, 105, 103, 110, 97, 108, 95, - 116, 121, 112, 101, 0, 98, 115, 115, 95, 112, 114, 105, 118, 95, 115, 105, 122, 101, 0, 109, - 97, 120, 95, 115, 99, 97, 110, 95, 115, 115, 105, 100, 115, 0, 109, 97, 120, 95, 115, 99, 104, - 101, 100, 95, 115, 99, 97, 110, 95, 114, 101, 113, 115, 0, 109, 97, 120, 95, 115, 99, 104, 101, - 100, 95, 115, 99, 97, 110, 95, 115, 115, 105, 100, 115, 0, 109, 97, 120, 95, 109, 97, 116, 99, - 104, 95, 115, 101, 116, 115, 0, 109, 97, 120, 95, 115, 99, 97, 110, 95, 105, 101, 95, 108, 101, - 110, 0, 109, 97, 120, 95, 115, 99, 104, 101, 100, 95, 115, 99, 97, 110, 95, 105, 101, 95, 108, - 101, 110, 0, 109, 97, 120, 95, 115, 99, 104, 101, 100, 95, 115, 99, 97, 110, 95, 112, 108, 97, - 110, 115, 0, 109, 97, 120, 95, 115, 99, 104, 101, 100, 95, 115, 99, 97, 110, 95, 112, 108, 97, - 110, 95, 105, 110, 116, 101, 114, 118, 97, 108, 0, 109, 97, 120, 95, 115, 99, 104, 101, 100, - 95, 115, 99, 97, 110, 95, 112, 108, 97, 110, 95, 105, 116, 101, 114, 97, 116, 105, 111, 110, - 115, 0, 110, 95, 99, 105, 112, 104, 101, 114, 95, 115, 117, 105, 116, 101, 115, 0, 99, 105, - 112, 104, 101, 114, 95, 115, 117, 105, 116, 101, 115, 0, 110, 95, 97, 107, 109, 95, 115, 117, - 105, 116, 101, 115, 0, 97, 107, 109, 95, 115, 117, 105, 116, 101, 115, 0, 105, 102, 116, 121, - 112, 101, 95, 97, 107, 109, 95, 115, 117, 105, 116, 101, 115, 0, 105, 102, 116, 121, 112, 101, - 115, 95, 109, 97, 115, 107, 0, 119, 105, 112, 104, 121, 95, 105, 102, 116, 121, 112, 101, 95, - 97, 107, 109, 95, 115, 117, 105, 116, 101, 115, 0, 110, 117, 109, 95, 105, 102, 116, 121, 112, - 101, 95, 97, 107, 109, 95, 115, 117, 105, 116, 101, 115, 0, 114, 101, 116, 114, 121, 95, 115, - 104, 111, 114, 116, 0, 114, 101, 116, 114, 121, 95, 108, 111, 110, 103, 0, 102, 114, 97, 103, - 95, 116, 104, 114, 101, 115, 104, 111, 108, 100, 0, 114, 116, 115, 95, 116, 104, 114, 101, 115, - 104, 111, 108, 100, 0, 99, 111, 118, 101, 114, 97, 103, 101, 95, 99, 108, 97, 115, 115, 0, 104, - 119, 95, 118, 101, 114, 115, 105, 111, 110, 0, 119, 111, 119, 108, 97, 110, 0, 110, 95, 112, - 97, 116, 116, 101, 114, 110, 115, 0, 112, 97, 116, 116, 101, 114, 110, 95, 109, 97, 120, 95, - 108, 101, 110, 0, 112, 97, 116, 116, 101, 114, 110, 95, 109, 105, 110, 95, 108, 101, 110, 0, - 109, 97, 120, 95, 110, 100, 95, 109, 97, 116, 99, 104, 95, 115, 101, 116, 115, 0, 116, 111, - 107, 0, 109, 105, 110, 95, 108, 101, 110, 0, 98, 117, 102, 115, 105, 122, 101, 0, 110, 108, 56, - 48, 50, 49, 49, 95, 119, 111, 119, 108, 97, 110, 95, 116, 99, 112, 95, 100, 97, 116, 97, 95, - 116, 111, 107, 101, 110, 95, 102, 101, 97, 116, 117, 114, 101, 0, 100, 97, 116, 97, 95, 112, - 97, 121, 108, 111, 97, 100, 95, 109, 97, 120, 0, 100, 97, 116, 97, 95, 105, 110, 116, 101, 114, - 118, 97, 108, 95, 109, 97, 120, 0, 119, 97, 107, 101, 95, 112, 97, 121, 108, 111, 97, 100, 95, - 109, 97, 120, 0, 119, 105, 112, 104, 121, 95, 119, 111, 119, 108, 97, 110, 95, 116, 99, 112, - 95, 115, 117, 112, 112, 111, 114, 116, 0, 119, 105, 112, 104, 121, 95, 119, 111, 119, 108, 97, - 110, 95, 115, 117, 112, 112, 111, 114, 116, 0, 119, 111, 119, 108, 97, 110, 95, 99, 111, 110, - 102, 105, 103, 0, 97, 110, 121, 0, 109, 97, 103, 105, 99, 95, 112, 107, 116, 0, 103, 116, 107, - 95, 114, 101, 107, 101, 121, 95, 102, 97, 105, 108, 117, 114, 101, 0, 101, 97, 112, 95, 105, - 100, 101, 110, 116, 105, 116, 121, 95, 114, 101, 113, 0, 102, 111, 117, 114, 95, 119, 97, 121, - 95, 104, 97, 110, 100, 115, 104, 97, 107, 101, 0, 114, 102, 107, 105, 108, 108, 95, 114, 101, - 108, 101, 97, 115, 101, 0, 112, 97, 116, 116, 101, 114, 110, 115, 0, 112, 97, 116, 116, 101, - 114, 110, 95, 108, 101, 110, 0, 112, 107, 116, 95, 111, 102, 102, 115, 101, 116, 0, 99, 102, - 103, 56, 48, 50, 49, 49, 95, 112, 107, 116, 95, 112, 97, 116, 116, 101, 114, 110, 0, 115, 114, - 99, 95, 112, 111, 114, 116, 0, 100, 115, 116, 95, 112, 111, 114, 116, 0, 100, 115, 116, 95, - 109, 97, 99, 0, 112, 97, 121, 108, 111, 97, 100, 95, 108, 101, 110, 0, 112, 97, 121, 108, 111, - 97, 100, 95, 115, 101, 113, 0, 110, 108, 56, 48, 50, 49, 49, 95, 119, 111, 119, 108, 97, 110, - 95, 116, 99, 112, 95, 100, 97, 116, 97, 95, 115, 101, 113, 0, 100, 97, 116, 97, 95, 105, 110, - 116, 101, 114, 118, 97, 108, 0, 119, 97, 107, 101, 95, 108, 101, 110, 0, 119, 97, 107, 101, 95, - 100, 97, 116, 97, 0, 119, 97, 107, 101, 95, 109, 97, 115, 107, 0, 116, 111, 107, 101, 110, 115, - 95, 115, 105, 122, 101, 0, 112, 97, 121, 108, 111, 97, 100, 95, 116, 111, 107, 0, 116, 111, - 107, 101, 110, 95, 115, 116, 114, 101, 97, 109, 0, 110, 108, 56, 48, 50, 49, 49, 95, 119, 111, - 119, 108, 97, 110, 95, 116, 99, 112, 95, 100, 97, 116, 97, 95, 116, 111, 107, 101, 110, 0, 99, - 102, 103, 56, 48, 50, 49, 49, 95, 119, 111, 119, 108, 97, 110, 95, 116, 99, 112, 0, 110, 100, - 95, 99, 111, 110, 102, 105, 103, 0, 115, 115, 105, 100, 115, 0, 115, 115, 105, 100, 95, 108, - 101, 110, 0, 99, 102, 103, 56, 48, 50, 49, 49, 95, 115, 115, 105, 100, 0, 110, 95, 115, 115, - 105, 100, 115, 0, 110, 95, 99, 104, 97, 110, 110, 101, 108, 115, 0, 115, 99, 97, 110, 95, 119, - 105, 100, 116, 104, 0, 78, 76, 56, 48, 50, 49, 49, 95, 66, 83, 83, 95, 67, 72, 65, 78, 95, 87, - 73, 68, 84, 72, 95, 50, 48, 0, 78, 76, 56, 48, 50, 49, 49, 95, 66, 83, 83, 95, 67, 72, 65, 78, - 95, 87, 73, 68, 84, 72, 95, 49, 48, 0, 78, 76, 56, 48, 50, 49, 49, 95, 66, 83, 83, 95, 67, 72, - 65, 78, 95, 87, 73, 68, 84, 72, 95, 53, 0, 78, 76, 56, 48, 50, 49, 49, 95, 66, 83, 83, 95, 67, - 72, 65, 78, 95, 87, 73, 68, 84, 72, 95, 49, 0, 78, 76, 56, 48, 50, 49, 49, 95, 66, 83, 83, 95, - 67, 72, 65, 78, 95, 87, 73, 68, 84, 72, 95, 50, 0, 110, 108, 56, 48, 50, 49, 49, 95, 98, 115, - 115, 95, 115, 99, 97, 110, 95, 119, 105, 100, 116, 104, 0, 105, 101, 0, 105, 101, 95, 108, 101, - 110, 0, 109, 97, 116, 99, 104, 95, 115, 101, 116, 115, 0, 98, 115, 115, 105, 100, 0, 114, 115, - 115, 105, 95, 116, 104, 111, 108, 100, 0, 112, 101, 114, 95, 98, 97, 110, 100, 95, 114, 115, - 115, 105, 95, 116, 104, 111, 108, 100, 0, 99, 102, 103, 56, 48, 50, 49, 49, 95, 109, 97, 116, - 99, 104, 95, 115, 101, 116, 0, 110, 95, 109, 97, 116, 99, 104, 95, 115, 101, 116, 115, 0, 109, - 105, 110, 95, 114, 115, 115, 105, 95, 116, 104, 111, 108, 100, 0, 100, 101, 108, 97, 121, 0, - 115, 99, 97, 110, 95, 112, 108, 97, 110, 115, 0, 105, 116, 101, 114, 97, 116, 105, 111, 110, - 115, 0, 99, 102, 103, 56, 48, 50, 49, 49, 95, 115, 99, 104, 101, 100, 95, 115, 99, 97, 110, 95, - 112, 108, 97, 110, 0, 110, 95, 115, 99, 97, 110, 95, 112, 108, 97, 110, 115, 0, 109, 97, 99, - 95, 97, 100, 100, 114, 0, 109, 97, 99, 95, 97, 100, 100, 114, 95, 109, 97, 115, 107, 0, 114, - 101, 108, 97, 116, 105, 118, 101, 95, 114, 115, 115, 105, 95, 115, 101, 116, 0, 114, 101, 108, - 97, 116, 105, 118, 101, 95, 114, 115, 115, 105, 0, 114, 115, 115, 105, 95, 97, 100, 106, 117, - 115, 116, 0, 98, 97, 110, 100, 0, 78, 76, 56, 48, 50, 49, 49, 95, 66, 65, 78, 68, 95, 50, 71, - 72, 90, 0, 78, 76, 56, 48, 50, 49, 49, 95, 66, 65, 78, 68, 95, 53, 71, 72, 90, 0, 78, 76, 56, - 48, 50, 49, 49, 95, 66, 65, 78, 68, 95, 54, 48, 71, 72, 90, 0, 78, 76, 56, 48, 50, 49, 49, 95, - 66, 65, 78, 68, 95, 54, 71, 72, 90, 0, 78, 76, 56, 48, 50, 49, 49, 95, 66, 65, 78, 68, 95, 83, - 49, 71, 72, 90, 0, 78, 85, 77, 95, 78, 76, 56, 48, 50, 49, 49, 95, 66, 65, 78, 68, 83, 0, 110, - 108, 56, 48, 50, 49, 49, 95, 98, 97, 110, 100, 0, 100, 101, 108, 116, 97, 0, 99, 102, 103, 56, - 48, 50, 49, 49, 95, 98, 115, 115, 95, 115, 101, 108, 101, 99, 116, 95, 97, 100, 106, 117, 115, - 116, 0, 115, 99, 97, 110, 95, 115, 116, 97, 114, 116, 0, 114, 101, 112, 111, 114, 116, 95, 114, - 101, 115, 117, 108, 116, 115, 0, 111, 119, 110, 101, 114, 95, 110, 108, 112, 111, 114, 116, - 105, 100, 0, 110, 108, 95, 111, 119, 110, 101, 114, 95, 100, 101, 97, 100, 0, 99, 104, 97, 110, - 110, 101, 108, 115, 0, 99, 101, 110, 116, 101, 114, 95, 102, 114, 101, 113, 0, 102, 114, 101, - 113, 95, 111, 102, 102, 115, 101, 116, 0, 104, 119, 95, 118, 97, 108, 117, 101, 0, 109, 97, - 120, 95, 97, 110, 116, 101, 110, 110, 97, 95, 103, 97, 105, 110, 0, 109, 97, 120, 95, 112, 111, - 119, 101, 114, 0, 109, 97, 120, 95, 114, 101, 103, 95, 112, 111, 119, 101, 114, 0, 98, 101, 97, - 99, 111, 110, 95, 102, 111, 117, 110, 100, 0, 111, 114, 105, 103, 95, 102, 108, 97, 103, 115, - 0, 111, 114, 105, 103, 95, 109, 97, 103, 0, 111, 114, 105, 103, 95, 109, 112, 119, 114, 0, 100, - 102, 115, 95, 115, 116, 97, 116, 101, 0, 78, 76, 56, 48, 50, 49, 49, 95, 68, 70, 83, 95, 85, - 83, 65, 66, 76, 69, 0, 78, 76, 56, 48, 50, 49, 49, 95, 68, 70, 83, 95, 85, 78, 65, 86, 65, 73, - 76, 65, 66, 76, 69, 0, 78, 76, 56, 48, 50, 49, 49, 95, 68, 70, 83, 95, 65, 86, 65, 73, 76, 65, - 66, 76, 69, 0, 110, 108, 56, 48, 50, 49, 49, 95, 100, 102, 115, 95, 115, 116, 97, 116, 101, 0, - 100, 102, 115, 95, 115, 116, 97, 116, 101, 95, 101, 110, 116, 101, 114, 101, 100, 0, 100, 102, - 115, 95, 99, 97, 99, 95, 109, 115, 0, 105, 101, 101, 101, 56, 48, 50, 49, 49, 95, 99, 104, 97, - 110, 110, 101, 108, 0, 99, 102, 103, 56, 48, 50, 49, 49, 95, 115, 99, 104, 101, 100, 95, 115, - 99, 97, 110, 95, 114, 101, 113, 117, 101, 115, 116, 0, 99, 102, 103, 56, 48, 50, 49, 49, 95, - 119, 111, 119, 108, 97, 110, 0, 109, 97, 120, 95, 114, 101, 109, 97, 105, 110, 95, 111, 110, - 95, 99, 104, 97, 110, 110, 101, 108, 95, 100, 117, 114, 97, 116, 105, 111, 110, 0, 109, 97, - 120, 95, 110, 117, 109, 95, 112, 109, 107, 105, 100, 115, 0, 97, 118, 97, 105, 108, 97, 98, - 108, 101, 95, 97, 110, 116, 101, 110, 110, 97, 115, 95, 116, 120, 0, 97, 118, 97, 105, 108, 97, - 98, 108, 101, 95, 97, 110, 116, 101, 110, 110, 97, 115, 95, 114, 120, 0, 112, 114, 111, 98, - 101, 95, 114, 101, 115, 112, 95, 111, 102, 102, 108, 111, 97, 100, 0, 101, 120, 116, 101, 110, - 100, 101, 100, 95, 99, 97, 112, 97, 98, 105, 108, 105, 116, 105, 101, 115, 0, 101, 120, 116, - 101, 110, 100, 101, 100, 95, 99, 97, 112, 97, 98, 105, 108, 105, 116, 105, 101, 115, 95, 109, - 97, 115, 107, 0, 101, 120, 116, 101, 110, 100, 101, 100, 95, 99, 97, 112, 97, 98, 105, 108, - 105, 116, 105, 101, 115, 95, 108, 101, 110, 0, 105, 102, 116, 121, 112, 101, 95, 101, 120, 116, - 95, 99, 97, 112, 97, 98, 0, 105, 102, 116, 121, 112, 101, 0, 78, 76, 56, 48, 50, 49, 49, 95, - 73, 70, 84, 89, 80, 69, 95, 85, 78, 83, 80, 69, 67, 73, 70, 73, 69, 68, 0, 78, 76, 56, 48, 50, - 49, 49, 95, 73, 70, 84, 89, 80, 69, 95, 65, 68, 72, 79, 67, 0, 78, 76, 56, 48, 50, 49, 49, 95, - 73, 70, 84, 89, 80, 69, 95, 83, 84, 65, 84, 73, 79, 78, 0, 78, 76, 56, 48, 50, 49, 49, 95, 73, - 70, 84, 89, 80, 69, 95, 65, 80, 0, 78, 76, 56, 48, 50, 49, 49, 95, 73, 70, 84, 89, 80, 69, 95, - 65, 80, 95, 86, 76, 65, 78, 0, 78, 76, 56, 48, 50, 49, 49, 95, 73, 70, 84, 89, 80, 69, 95, 87, - 68, 83, 0, 78, 76, 56, 48, 50, 49, 49, 95, 73, 70, 84, 89, 80, 69, 95, 77, 79, 78, 73, 84, 79, - 82, 0, 78, 76, 56, 48, 50, 49, 49, 95, 73, 70, 84, 89, 80, 69, 95, 77, 69, 83, 72, 95, 80, 79, - 73, 78, 84, 0, 78, 76, 56, 48, 50, 49, 49, 95, 73, 70, 84, 89, 80, 69, 95, 80, 50, 80, 95, 67, - 76, 73, 69, 78, 84, 0, 78, 76, 56, 48, 50, 49, 49, 95, 73, 70, 84, 89, 80, 69, 95, 80, 50, 80, - 95, 71, 79, 0, 78, 76, 56, 48, 50, 49, 49, 95, 73, 70, 84, 89, 80, 69, 95, 80, 50, 80, 95, 68, - 69, 86, 73, 67, 69, 0, 78, 76, 56, 48, 50, 49, 49, 95, 73, 70, 84, 89, 80, 69, 95, 79, 67, 66, - 0, 78, 76, 56, 48, 50, 49, 49, 95, 73, 70, 84, 89, 80, 69, 95, 78, 65, 78, 0, 78, 85, 77, 95, - 78, 76, 56, 48, 50, 49, 49, 95, 73, 70, 84, 89, 80, 69, 83, 0, 78, 76, 56, 48, 50, 49, 49, 95, - 73, 70, 84, 89, 80, 69, 95, 77, 65, 88, 0, 110, 108, 56, 48, 50, 49, 49, 95, 105, 102, 116, - 121, 112, 101, 0, 119, 105, 112, 104, 121, 95, 105, 102, 116, 121, 112, 101, 95, 101, 120, 116, - 95, 99, 97, 112, 97, 98, 0, 110, 117, 109, 95, 105, 102, 116, 121, 112, 101, 95, 101, 120, 116, - 95, 99, 97, 112, 97, 98, 0, 112, 114, 105, 118, 105, 100, 0, 98, 97, 110, 100, 115, 0, 98, 105, - 116, 114, 97, 116, 101, 115, 0, 104, 119, 95, 118, 97, 108, 117, 101, 95, 115, 104, 111, 114, - 116, 0, 105, 101, 101, 101, 56, 48, 50, 49, 49, 95, 114, 97, 116, 101, 0, 110, 95, 98, 105, - 116, 114, 97, 116, 101, 115, 0, 104, 116, 95, 99, 97, 112, 0, 104, 116, 95, 115, 117, 112, 112, - 111, 114, 116, 101, 100, 0, 97, 109, 112, 100, 117, 95, 102, 97, 99, 116, 111, 114, 0, 97, 109, - 112, 100, 117, 95, 100, 101, 110, 115, 105, 116, 121, 0, 109, 99, 115, 0, 114, 120, 95, 109, - 97, 115, 107, 0, 114, 120, 95, 104, 105, 103, 104, 101, 115, 116, 0, 116, 120, 95, 112, 97, - 114, 97, 109, 115, 0, 105, 101, 101, 101, 56, 48, 50, 49, 49, 95, 109, 99, 115, 95, 105, 110, - 102, 111, 0, 105, 101, 101, 101, 56, 48, 50, 49, 49, 95, 115, 116, 97, 95, 104, 116, 95, 99, - 97, 112, 0, 118, 104, 116, 95, 99, 97, 112, 0, 118, 104, 116, 95, 115, 117, 112, 112, 111, 114, - 116, 101, 100, 0, 118, 104, 116, 95, 109, 99, 115, 0, 114, 120, 95, 109, 99, 115, 95, 109, 97, - 112, 0, 116, 120, 95, 109, 99, 115, 95, 109, 97, 112, 0, 116, 120, 95, 104, 105, 103, 104, 101, - 115, 116, 0, 105, 101, 101, 101, 56, 48, 50, 49, 49, 95, 118, 104, 116, 95, 109, 99, 115, 95, - 105, 110, 102, 111, 0, 105, 101, 101, 101, 56, 48, 50, 49, 49, 95, 115, 116, 97, 95, 118, 104, - 116, 95, 99, 97, 112, 0, 115, 49, 103, 95, 99, 97, 112, 0, 115, 49, 103, 0, 110, 115, 115, 95, - 109, 99, 115, 0, 105, 101, 101, 101, 56, 48, 50, 49, 49, 95, 115, 116, 97, 95, 115, 49, 103, - 95, 99, 97, 112, 0, 101, 100, 109, 103, 95, 99, 97, 112, 0, 98, 119, 95, 99, 111, 110, 102, - 105, 103, 0, 73, 69, 69, 69, 56, 48, 50, 49, 49, 95, 69, 68, 77, 71, 95, 66, 87, 95, 67, 79, - 78, 70, 73, 71, 95, 52, 0, 73, 69, 69, 69, 56, 48, 50, 49, 49, 95, 69, 68, 77, 71, 95, 66, 87, - 95, 67, 79, 78, 70, 73, 71, 95, 53, 0, 73, 69, 69, 69, 56, 48, 50, 49, 49, 95, 69, 68, 77, 71, - 95, 66, 87, 95, 67, 79, 78, 70, 73, 71, 95, 54, 0, 73, 69, 69, 69, 56, 48, 50, 49, 49, 95, 69, - 68, 77, 71, 95, 66, 87, 95, 67, 79, 78, 70, 73, 71, 95, 55, 0, 73, 69, 69, 69, 56, 48, 50, 49, - 49, 95, 69, 68, 77, 71, 95, 66, 87, 95, 67, 79, 78, 70, 73, 71, 95, 56, 0, 73, 69, 69, 69, 56, - 48, 50, 49, 49, 95, 69, 68, 77, 71, 95, 66, 87, 95, 67, 79, 78, 70, 73, 71, 95, 57, 0, 73, 69, - 69, 69, 56, 48, 50, 49, 49, 95, 69, 68, 77, 71, 95, 66, 87, 95, 67, 79, 78, 70, 73, 71, 95, 49, - 48, 0, 73, 69, 69, 69, 56, 48, 50, 49, 49, 95, 69, 68, 77, 71, 95, 66, 87, 95, 67, 79, 78, 70, - 73, 71, 95, 49, 49, 0, 73, 69, 69, 69, 56, 48, 50, 49, 49, 95, 69, 68, 77, 71, 95, 66, 87, 95, - 67, 79, 78, 70, 73, 71, 95, 49, 50, 0, 73, 69, 69, 69, 56, 48, 50, 49, 49, 95, 69, 68, 77, 71, - 95, 66, 87, 95, 67, 79, 78, 70, 73, 71, 95, 49, 51, 0, 73, 69, 69, 69, 56, 48, 50, 49, 49, 95, - 69, 68, 77, 71, 95, 66, 87, 95, 67, 79, 78, 70, 73, 71, 95, 49, 52, 0, 73, 69, 69, 69, 56, 48, - 50, 49, 49, 95, 69, 68, 77, 71, 95, 66, 87, 95, 67, 79, 78, 70, 73, 71, 95, 49, 53, 0, 105, - 101, 101, 101, 56, 48, 50, 49, 49, 95, 101, 100, 109, 103, 95, 98, 119, 95, 99, 111, 110, 102, - 105, 103, 0, 105, 101, 101, 101, 56, 48, 50, 49, 49, 95, 101, 100, 109, 103, 0, 110, 95, 105, - 102, 116, 121, 112, 101, 95, 100, 97, 116, 97, 0, 105, 102, 116, 121, 112, 101, 95, 100, 97, - 116, 97, 0, 116, 121, 112, 101, 115, 95, 109, 97, 115, 107, 0, 104, 101, 95, 99, 97, 112, 0, - 104, 97, 115, 95, 104, 101, 0, 104, 101, 95, 99, 97, 112, 95, 101, 108, 101, 109, 0, 109, 97, - 99, 95, 99, 97, 112, 95, 105, 110, 102, 111, 0, 112, 104, 121, 95, 99, 97, 112, 95, 105, 110, - 102, 111, 0, 105, 101, 101, 101, 56, 48, 50, 49, 49, 95, 104, 101, 95, 99, 97, 112, 95, 101, - 108, 101, 109, 0, 104, 101, 95, 109, 99, 115, 95, 110, 115, 115, 95, 115, 117, 112, 112, 0, - 114, 120, 95, 109, 99, 115, 95, 56, 48, 0, 116, 120, 95, 109, 99, 115, 95, 56, 48, 0, 114, 120, - 95, 109, 99, 115, 95, 49, 54, 48, 0, 116, 120, 95, 109, 99, 115, 95, 49, 54, 48, 0, 114, 120, - 95, 109, 99, 115, 95, 56, 48, 112, 56, 48, 0, 116, 120, 95, 109, 99, 115, 95, 56, 48, 112, 56, - 48, 0, 105, 101, 101, 101, 56, 48, 50, 49, 49, 95, 104, 101, 95, 109, 99, 115, 95, 110, 115, - 115, 95, 115, 117, 112, 112, 0, 112, 112, 101, 95, 116, 104, 114, 101, 115, 0, 105, 101, 101, - 101, 56, 48, 50, 49, 49, 95, 115, 116, 97, 95, 104, 101, 95, 99, 97, 112, 0, 104, 101, 95, 54, - 103, 104, 122, 95, 99, 97, 112, 97, 0, 99, 97, 112, 97, 0, 105, 101, 101, 101, 56, 48, 50, 49, - 49, 95, 104, 101, 95, 54, 103, 104, 122, 95, 99, 97, 112, 97, 0, 118, 101, 110, 100, 111, 114, - 95, 101, 108, 101, 109, 115, 0, 105, 101, 101, 101, 56, 48, 50, 49, 49, 95, 115, 98, 97, 110, - 100, 95, 105, 102, 116, 121, 112, 101, 95, 100, 97, 116, 97, 0, 105, 101, 101, 101, 56, 48, 50, - 49, 49, 95, 115, 117, 112, 112, 111, 114, 116, 101, 100, 95, 98, 97, 110, 100, 0, 114, 101, - 103, 95, 110, 111, 116, 105, 102, 105, 101, 114, 0, 119, 105, 112, 104, 121, 95, 105, 100, 120, - 0, 105, 110, 105, 116, 105, 97, 116, 111, 114, 0, 78, 76, 56, 48, 50, 49, 49, 95, 82, 69, 71, - 68, 79, 77, 95, 83, 69, 84, 95, 66, 89, 95, 67, 79, 82, 69, 0, 78, 76, 56, 48, 50, 49, 49, 95, - 82, 69, 71, 68, 79, 77, 95, 83, 69, 84, 95, 66, 89, 95, 85, 83, 69, 82, 0, 78, 76, 56, 48, 50, - 49, 49, 95, 82, 69, 71, 68, 79, 77, 95, 83, 69, 84, 95, 66, 89, 95, 68, 82, 73, 86, 69, 82, 0, - 78, 76, 56, 48, 50, 49, 49, 95, 82, 69, 71, 68, 79, 77, 95, 83, 69, 84, 95, 66, 89, 95, 67, 79, - 85, 78, 84, 82, 89, 95, 73, 69, 0, 110, 108, 56, 48, 50, 49, 49, 95, 114, 101, 103, 95, 105, - 110, 105, 116, 105, 97, 116, 111, 114, 0, 117, 115, 101, 114, 95, 114, 101, 103, 95, 104, 105, - 110, 116, 95, 116, 121, 112, 101, 0, 78, 76, 56, 48, 50, 49, 49, 95, 85, 83, 69, 82, 95, 82, - 69, 71, 95, 72, 73, 78, 84, 95, 85, 83, 69, 82, 0, 78, 76, 56, 48, 50, 49, 49, 95, 85, 83, 69, - 82, 95, 82, 69, 71, 95, 72, 73, 78, 84, 95, 67, 69, 76, 76, 95, 66, 65, 83, 69, 0, 78, 76, 56, - 48, 50, 49, 49, 95, 85, 83, 69, 82, 95, 82, 69, 71, 95, 72, 73, 78, 84, 95, 73, 78, 68, 79, 79, - 82, 0, 110, 108, 56, 48, 50, 49, 49, 95, 117, 115, 101, 114, 95, 114, 101, 103, 95, 104, 105, - 110, 116, 95, 116, 121, 112, 101, 0, 97, 108, 112, 104, 97, 50, 0, 100, 102, 115, 95, 114, 101, - 103, 105, 111, 110, 0, 78, 76, 56, 48, 50, 49, 49, 95, 68, 70, 83, 95, 85, 78, 83, 69, 84, 0, - 78, 76, 56, 48, 50, 49, 49, 95, 68, 70, 83, 95, 70, 67, 67, 0, 78, 76, 56, 48, 50, 49, 49, 95, - 68, 70, 83, 95, 69, 84, 83, 73, 0, 78, 76, 56, 48, 50, 49, 49, 95, 68, 70, 83, 95, 74, 80, 0, - 110, 108, 56, 48, 50, 49, 49, 95, 100, 102, 115, 95, 114, 101, 103, 105, 111, 110, 115, 0, 105, - 110, 116, 101, 114, 115, 101, 99, 116, 0, 112, 114, 111, 99, 101, 115, 115, 101, 100, 0, 99, - 111, 117, 110, 116, 114, 121, 95, 105, 101, 95, 101, 110, 118, 0, 69, 78, 86, 73, 82, 79, 78, - 95, 65, 78, 89, 0, 69, 78, 86, 73, 82, 79, 78, 95, 73, 78, 68, 79, 79, 82, 0, 69, 78, 86, 73, - 82, 79, 78, 95, 79, 85, 84, 68, 79, 79, 82, 0, 101, 110, 118, 105, 114, 111, 110, 109, 101, - 110, 116, 95, 99, 97, 112, 0, 114, 101, 103, 117, 108, 97, 116, 111, 114, 121, 95, 114, 101, - 113, 117, 101, 115, 116, 0, 114, 101, 103, 100, 0, 110, 95, 114, 101, 103, 95, 114, 117, 108, - 101, 115, 0, 114, 101, 103, 95, 114, 117, 108, 101, 115, 0, 102, 114, 101, 113, 95, 114, 97, - 110, 103, 101, 0, 115, 116, 97, 114, 116, 95, 102, 114, 101, 113, 95, 107, 104, 122, 0, 101, - 110, 100, 95, 102, 114, 101, 113, 95, 107, 104, 122, 0, 109, 97, 120, 95, 98, 97, 110, 100, - 119, 105, 100, 116, 104, 95, 107, 104, 122, 0, 105, 101, 101, 101, 56, 48, 50, 49, 49, 95, 102, - 114, 101, 113, 95, 114, 97, 110, 103, 101, 0, 112, 111, 119, 101, 114, 95, 114, 117, 108, 101, - 0, 109, 97, 120, 95, 101, 105, 114, 112, 0, 105, 101, 101, 101, 56, 48, 50, 49, 49, 95, 112, - 111, 119, 101, 114, 95, 114, 117, 108, 101, 0, 119, 109, 109, 95, 114, 117, 108, 101, 0, 99, - 119, 95, 109, 105, 110, 0, 99, 119, 95, 109, 97, 120, 0, 99, 111, 116, 0, 97, 105, 102, 115, - 110, 0, 105, 101, 101, 101, 56, 48, 50, 49, 49, 95, 119, 109, 109, 95, 97, 99, 0, 97, 112, 0, - 105, 101, 101, 101, 56, 48, 50, 49, 49, 95, 119, 109, 109, 95, 114, 117, 108, 101, 0, 104, 97, - 115, 95, 119, 109, 109, 0, 105, 101, 101, 101, 56, 48, 50, 49, 49, 95, 114, 101, 103, 95, 114, - 117, 108, 101, 0, 105, 101, 101, 101, 56, 48, 50, 49, 49, 95, 114, 101, 103, 100, 111, 109, 97, - 105, 110, 0, 100, 101, 98, 117, 103, 102, 115, 100, 105, 114, 0, 104, 116, 95, 99, 97, 112, 97, - 95, 109, 111, 100, 95, 109, 97, 115, 107, 0, 99, 97, 112, 95, 105, 110, 102, 111, 0, 97, 109, - 112, 100, 117, 95, 112, 97, 114, 97, 109, 115, 95, 105, 110, 102, 111, 0, 101, 120, 116, 101, - 110, 100, 101, 100, 95, 104, 116, 95, 99, 97, 112, 95, 105, 110, 102, 111, 0, 116, 120, 95, 66, - 70, 95, 99, 97, 112, 95, 105, 110, 102, 111, 0, 95, 95, 108, 101, 51, 50, 0, 97, 110, 116, 101, - 110, 110, 97, 95, 115, 101, 108, 101, 99, 116, 105, 111, 110, 95, 105, 110, 102, 111, 0, 105, - 101, 101, 101, 56, 48, 50, 49, 49, 95, 104, 116, 95, 99, 97, 112, 0, 118, 104, 116, 95, 99, 97, - 112, 97, 95, 109, 111, 100, 95, 109, 97, 115, 107, 0, 118, 104, 116, 95, 99, 97, 112, 95, 105, - 110, 102, 111, 0, 115, 117, 112, 112, 95, 109, 99, 115, 0, 105, 101, 101, 101, 56, 48, 50, 49, - 49, 95, 118, 104, 116, 95, 99, 97, 112, 0, 119, 100, 101, 118, 95, 108, 105, 115, 116, 0, 119, - 101, 120, 116, 0, 99, 111, 97, 108, 101, 115, 99, 101, 0, 110, 95, 114, 117, 108, 101, 115, 0, - 109, 97, 120, 95, 100, 101, 108, 97, 121, 0, 119, 105, 112, 104, 121, 95, 99, 111, 97, 108, - 101, 115, 99, 101, 95, 115, 117, 112, 112, 111, 114, 116, 0, 118, 101, 110, 100, 111, 114, 95, - 99, 111, 109, 109, 97, 110, 100, 115, 0, 118, 101, 110, 100, 111, 114, 95, 105, 100, 0, 115, - 117, 98, 99, 109, 100, 0, 110, 108, 56, 48, 50, 49, 49, 95, 118, 101, 110, 100, 111, 114, 95, - 99, 109, 100, 95, 105, 110, 102, 111, 0, 100, 111, 105, 116, 0, 100, 117, 109, 112, 105, 116, - 0, 109, 97, 120, 97, 116, 116, 114, 0, 119, 105, 112, 104, 121, 95, 118, 101, 110, 100, 111, - 114, 95, 99, 111, 109, 109, 97, 110, 100, 0, 118, 101, 110, 100, 111, 114, 95, 101, 118, 101, - 110, 116, 115, 0, 110, 95, 118, 101, 110, 100, 111, 114, 95, 99, 111, 109, 109, 97, 110, 100, - 115, 0, 110, 95, 118, 101, 110, 100, 111, 114, 95, 101, 118, 101, 110, 116, 115, 0, 109, 97, - 120, 95, 97, 112, 95, 97, 115, 115, 111, 99, 95, 115, 116, 97, 0, 109, 97, 120, 95, 110, 117, - 109, 95, 99, 115, 97, 95, 99, 111, 117, 110, 116, 101, 114, 115, 0, 98, 115, 115, 95, 115, 101, - 108, 101, 99, 116, 95, 115, 117, 112, 112, 111, 114, 116, 0, 110, 97, 110, 95, 115, 117, 112, - 112, 111, 114, 116, 101, 100, 95, 98, 97, 110, 100, 115, 0, 116, 120, 113, 95, 108, 105, 109, - 105, 116, 0, 116, 120, 113, 95, 109, 101, 109, 111, 114, 121, 95, 108, 105, 109, 105, 116, 0, - 116, 120, 113, 95, 113, 117, 97, 110, 116, 117, 109, 0, 116, 120, 95, 113, 117, 101, 117, 101, - 95, 108, 101, 110, 0, 115, 117, 112, 112, 111, 114, 116, 95, 109, 98, 115, 115, 105, 100, 0, - 115, 117, 112, 112, 111, 114, 116, 95, 111, 110, 108, 121, 95, 104, 101, 95, 109, 98, 115, 115, - 105, 100, 0, 112, 109, 115, 114, 95, 99, 97, 112, 97, 0, 109, 97, 120, 95, 112, 101, 101, 114, - 115, 0, 114, 101, 112, 111, 114, 116, 95, 97, 112, 95, 116, 115, 102, 0, 114, 97, 110, 100, - 111, 109, 105, 122, 101, 95, 109, 97, 99, 95, 97, 100, 100, 114, 0, 102, 116, 109, 0, 112, 114, - 101, 97, 109, 98, 108, 101, 115, 0, 98, 97, 110, 100, 119, 105, 100, 116, 104, 115, 0, 109, 97, - 120, 95, 98, 117, 114, 115, 116, 115, 95, 101, 120, 112, 111, 110, 101, 110, 116, 0, 109, 97, - 120, 95, 102, 116, 109, 115, 95, 112, 101, 114, 95, 98, 117, 114, 115, 116, 0, 97, 115, 97, - 112, 0, 110, 111, 110, 95, 97, 115, 97, 112, 0, 114, 101, 113, 117, 101, 115, 116, 95, 108, 99, - 105, 0, 114, 101, 113, 117, 101, 115, 116, 95, 99, 105, 118, 105, 99, 108, 111, 99, 0, 116, - 114, 105, 103, 103, 101, 114, 95, 98, 97, 115, 101, 100, 0, 110, 111, 110, 95, 116, 114, 105, - 103, 103, 101, 114, 95, 98, 97, 115, 101, 100, 0, 99, 102, 103, 56, 48, 50, 49, 49, 95, 112, - 109, 115, 114, 95, 99, 97, 112, 97, 98, 105, 108, 105, 116, 105, 101, 115, 0, 116, 105, 100, - 95, 99, 111, 110, 102, 105, 103, 95, 115, 117, 112, 112, 111, 114, 116, 0, 112, 101, 101, 114, - 0, 109, 97, 120, 95, 114, 101, 116, 114, 121, 0, 109, 97, 120, 95, 100, 97, 116, 97, 95, 114, - 101, 116, 114, 121, 95, 99, 111, 117, 110, 116, 0, 115, 97, 114, 95, 99, 97, 112, 97, 0, 78, - 76, 56, 48, 50, 49, 49, 95, 83, 65, 82, 95, 84, 89, 80, 69, 95, 80, 79, 87, 69, 82, 0, 78, 85, - 77, 95, 78, 76, 56, 48, 50, 49, 49, 95, 83, 65, 82, 95, 84, 89, 80, 69, 0, 110, 108, 56, 48, - 50, 49, 49, 95, 115, 97, 114, 95, 116, 121, 112, 101, 0, 110, 117, 109, 95, 102, 114, 101, 113, - 95, 114, 97, 110, 103, 101, 115, 0, 102, 114, 101, 113, 95, 114, 97, 110, 103, 101, 115, 0, - 115, 116, 97, 114, 116, 95, 102, 114, 101, 113, 0, 101, 110, 100, 95, 102, 114, 101, 113, 0, - 99, 102, 103, 56, 48, 50, 49, 49, 95, 115, 97, 114, 95, 102, 114, 101, 113, 95, 114, 97, 110, - 103, 101, 115, 0, 99, 102, 103, 56, 48, 50, 49, 49, 95, 115, 97, 114, 95, 99, 97, 112, 97, 0, - 114, 102, 107, 105, 108, 108, 0, 105, 100, 101, 110, 116, 105, 102, 105, 101, 114, 0, 109, 103, - 109, 116, 95, 114, 101, 103, 105, 115, 116, 114, 97, 116, 105, 111, 110, 115, 0, 109, 103, 109, - 116, 95, 114, 101, 103, 105, 115, 116, 114, 97, 116, 105, 111, 110, 115, 95, 110, 101, 101, - 100, 95, 117, 112, 100, 97, 116, 101, 0, 117, 115, 101, 95, 52, 97, 100, 100, 114, 0, 105, 115, - 95, 114, 117, 110, 110, 105, 110, 103, 0, 114, 101, 103, 105, 115, 116, 101, 114, 105, 110, - 103, 0, 109, 101, 115, 104, 95, 105, 100, 95, 108, 101, 110, 0, 109, 101, 115, 104, 95, 105, - 100, 95, 117, 112, 95, 108, 101, 110, 0, 99, 111, 110, 110, 0, 99, 102, 103, 56, 48, 50, 49, - 49, 95, 99, 111, 110, 110, 0, 99, 111, 110, 110, 101, 99, 116, 95, 107, 101, 121, 115, 0, 99, - 102, 103, 56, 48, 50, 49, 49, 95, 99, 97, 99, 104, 101, 100, 95, 107, 101, 121, 115, 0, 99, - 111, 110, 110, 95, 98, 115, 115, 95, 116, 121, 112, 101, 0, 73, 69, 69, 69, 56, 48, 50, 49, 49, - 95, 66, 83, 83, 95, 84, 89, 80, 69, 95, 69, 83, 83, 0, 73, 69, 69, 69, 56, 48, 50, 49, 49, 95, - 66, 83, 83, 95, 84, 89, 80, 69, 95, 80, 66, 83, 83, 0, 73, 69, 69, 69, 56, 48, 50, 49, 49, 95, - 66, 83, 83, 95, 84, 89, 80, 69, 95, 73, 66, 83, 83, 0, 73, 69, 69, 69, 56, 48, 50, 49, 49, 95, - 66, 83, 83, 95, 84, 89, 80, 69, 95, 77, 66, 83, 83, 0, 73, 69, 69, 69, 56, 48, 50, 49, 49, 95, - 66, 83, 83, 95, 84, 89, 80, 69, 95, 65, 78, 89, 0, 105, 101, 101, 101, 56, 48, 50, 49, 49, 95, - 98, 115, 115, 95, 116, 121, 112, 101, 0, 99, 111, 110, 110, 95, 111, 119, 110, 101, 114, 95, - 110, 108, 112, 111, 114, 116, 105, 100, 0, 100, 105, 115, 99, 111, 110, 110, 101, 99, 116, 95, - 119, 107, 0, 100, 105, 115, 99, 111, 110, 110, 101, 99, 116, 95, 98, 115, 115, 105, 100, 0, 99, - 117, 114, 114, 101, 110, 116, 95, 98, 115, 115, 0, 99, 102, 103, 56, 48, 50, 49, 49, 95, 105, - 110, 116, 101, 114, 110, 97, 108, 95, 98, 115, 115, 0, 112, 114, 101, 115, 101, 116, 95, 99, - 104, 97, 110, 100, 101, 102, 0, 119, 105, 100, 116, 104, 0, 78, 76, 56, 48, 50, 49, 49, 95, 67, - 72, 65, 78, 95, 87, 73, 68, 84, 72, 95, 50, 48, 95, 78, 79, 72, 84, 0, 78, 76, 56, 48, 50, 49, - 49, 95, 67, 72, 65, 78, 95, 87, 73, 68, 84, 72, 95, 50, 48, 0, 78, 76, 56, 48, 50, 49, 49, 95, - 67, 72, 65, 78, 95, 87, 73, 68, 84, 72, 95, 52, 48, 0, 78, 76, 56, 48, 50, 49, 49, 95, 67, 72, - 65, 78, 95, 87, 73, 68, 84, 72, 95, 56, 48, 0, 78, 76, 56, 48, 50, 49, 49, 95, 67, 72, 65, 78, - 95, 87, 73, 68, 84, 72, 95, 56, 48, 80, 56, 48, 0, 78, 76, 56, 48, 50, 49, 49, 95, 67, 72, 65, - 78, 95, 87, 73, 68, 84, 72, 95, 49, 54, 48, 0, 78, 76, 56, 48, 50, 49, 49, 95, 67, 72, 65, 78, - 95, 87, 73, 68, 84, 72, 95, 53, 0, 78, 76, 56, 48, 50, 49, 49, 95, 67, 72, 65, 78, 95, 87, 73, - 68, 84, 72, 95, 49, 48, 0, 78, 76, 56, 48, 50, 49, 49, 95, 67, 72, 65, 78, 95, 87, 73, 68, 84, - 72, 95, 49, 0, 78, 76, 56, 48, 50, 49, 49, 95, 67, 72, 65, 78, 95, 87, 73, 68, 84, 72, 95, 50, - 0, 78, 76, 56, 48, 50, 49, 49, 95, 67, 72, 65, 78, 95, 87, 73, 68, 84, 72, 95, 52, 0, 78, 76, - 56, 48, 50, 49, 49, 95, 67, 72, 65, 78, 95, 87, 73, 68, 84, 72, 95, 56, 0, 78, 76, 56, 48, 50, - 49, 49, 95, 67, 72, 65, 78, 95, 87, 73, 68, 84, 72, 95, 49, 54, 0, 110, 108, 56, 48, 50, 49, - 49, 95, 99, 104, 97, 110, 95, 119, 105, 100, 116, 104, 0, 99, 101, 110, 116, 101, 114, 95, 102, - 114, 101, 113, 49, 0, 99, 101, 110, 116, 101, 114, 95, 102, 114, 101, 113, 50, 0, 101, 100, - 109, 103, 0, 102, 114, 101, 113, 49, 95, 111, 102, 102, 115, 101, 116, 0, 99, 102, 103, 56, 48, - 50, 49, 49, 95, 99, 104, 97, 110, 95, 100, 101, 102, 0, 99, 104, 97, 110, 100, 101, 102, 0, - 105, 98, 115, 115, 95, 102, 105, 120, 101, 100, 0, 105, 98, 115, 115, 95, 100, 102, 115, 95, - 112, 111, 115, 115, 105, 98, 108, 101, 0, 112, 115, 0, 112, 115, 95, 116, 105, 109, 101, 111, - 117, 116, 0, 98, 101, 97, 99, 111, 110, 95, 105, 110, 116, 101, 114, 118, 97, 108, 0, 97, 112, - 95, 117, 110, 101, 120, 112, 101, 99, 116, 101, 100, 95, 110, 108, 112, 111, 114, 116, 105, - 100, 0, 99, 97, 99, 95, 115, 116, 97, 114, 116, 101, 100, 0, 99, 97, 99, 95, 115, 116, 97, 114, - 116, 95, 116, 105, 109, 101, 0, 99, 97, 99, 95, 116, 105, 109, 101, 95, 109, 115, 0, 105, 98, - 115, 115, 0, 98, 97, 115, 105, 99, 95, 114, 97, 116, 101, 115, 0, 99, 104, 97, 110, 110, 101, - 108, 95, 102, 105, 120, 101, 100, 0, 112, 114, 105, 118, 97, 99, 121, 0, 99, 111, 110, 116, - 114, 111, 108, 95, 112, 111, 114, 116, 0, 99, 111, 110, 116, 114, 111, 108, 95, 112, 111, 114, - 116, 95, 111, 118, 101, 114, 95, 110, 108, 56, 48, 50, 49, 49, 0, 117, 115, 101, 114, 115, 112, - 97, 99, 101, 95, 104, 97, 110, 100, 108, 101, 115, 95, 100, 102, 115, 0, 109, 99, 97, 115, 116, - 95, 114, 97, 116, 101, 0, 104, 116, 95, 99, 97, 112, 97, 0, 104, 116, 95, 99, 97, 112, 97, 95, - 109, 97, 115, 107, 0, 119, 101, 112, 95, 107, 101, 121, 115, 0, 115, 101, 113, 95, 108, 101, - 110, 0, 118, 108, 97, 110, 95, 105, 100, 0, 78, 76, 56, 48, 50, 49, 49, 95, 75, 69, 89, 95, 82, - 88, 95, 84, 88, 0, 78, 76, 56, 48, 50, 49, 49, 95, 75, 69, 89, 95, 78, 79, 95, 84, 88, 0, 78, - 76, 56, 48, 50, 49, 49, 95, 75, 69, 89, 95, 83, 69, 84, 95, 84, 88, 0, 110, 108, 56, 48, 50, - 49, 49, 95, 107, 101, 121, 95, 109, 111, 100, 101, 0, 107, 101, 121, 95, 112, 97, 114, 97, 109, - 115, 0, 119, 101, 112, 95, 116, 120, 95, 107, 101, 121, 0, 99, 102, 103, 56, 48, 50, 49, 49, - 95, 105, 98, 115, 115, 95, 112, 97, 114, 97, 109, 115, 0, 99, 104, 97, 110, 110, 101, 108, 0, - 99, 104, 97, 110, 110, 101, 108, 95, 104, 105, 110, 116, 0, 98, 115, 115, 105, 100, 95, 104, - 105, 110, 116, 0, 97, 117, 116, 104, 95, 116, 121, 112, 101, 0, 78, 76, 56, 48, 50, 49, 49, 95, - 65, 85, 84, 72, 84, 89, 80, 69, 95, 79, 80, 69, 78, 95, 83, 89, 83, 84, 69, 77, 0, 78, 76, 56, - 48, 50, 49, 49, 95, 65, 85, 84, 72, 84, 89, 80, 69, 95, 83, 72, 65, 82, 69, 68, 95, 75, 69, 89, - 0, 78, 76, 56, 48, 50, 49, 49, 95, 65, 85, 84, 72, 84, 89, 80, 69, 95, 70, 84, 0, 78, 76, 56, - 48, 50, 49, 49, 95, 65, 85, 84, 72, 84, 89, 80, 69, 95, 78, 69, 84, 87, 79, 82, 75, 95, 69, 65, - 80, 0, 78, 76, 56, 48, 50, 49, 49, 95, 65, 85, 84, 72, 84, 89, 80, 69, 95, 83, 65, 69, 0, 78, - 76, 56, 48, 50, 49, 49, 95, 65, 85, 84, 72, 84, 89, 80, 69, 95, 70, 73, 76, 83, 95, 83, 75, 0, - 78, 76, 56, 48, 50, 49, 49, 95, 65, 85, 84, 72, 84, 89, 80, 69, 95, 70, 73, 76, 83, 95, 83, 75, - 95, 80, 70, 83, 0, 78, 76, 56, 48, 50, 49, 49, 95, 65, 85, 84, 72, 84, 89, 80, 69, 95, 70, 73, - 76, 83, 95, 80, 75, 0, 95, 95, 78, 76, 56, 48, 50, 49, 49, 95, 65, 85, 84, 72, 84, 89, 80, 69, - 95, 78, 85, 77, 0, 78, 76, 56, 48, 50, 49, 49, 95, 65, 85, 84, 72, 84, 89, 80, 69, 95, 77, 65, - 88, 0, 78, 76, 56, 48, 50, 49, 49, 95, 65, 85, 84, 72, 84, 89, 80, 69, 95, 65, 85, 84, 79, 77, - 65, 84, 73, 67, 0, 110, 108, 56, 48, 50, 49, 49, 95, 97, 117, 116, 104, 95, 116, 121, 112, 101, - 0, 109, 102, 112, 0, 78, 76, 56, 48, 50, 49, 49, 95, 77, 70, 80, 95, 78, 79, 0, 78, 76, 56, 48, - 50, 49, 49, 95, 77, 70, 80, 95, 82, 69, 81, 85, 73, 82, 69, 68, 0, 78, 76, 56, 48, 50, 49, 49, - 95, 77, 70, 80, 95, 79, 80, 84, 73, 79, 78, 65, 76, 0, 110, 108, 56, 48, 50, 49, 49, 95, 109, - 102, 112, 0, 99, 114, 121, 112, 116, 111, 0, 119, 112, 97, 95, 118, 101, 114, 115, 105, 111, - 110, 115, 0, 99, 105, 112, 104, 101, 114, 95, 103, 114, 111, 117, 112, 0, 110, 95, 99, 105, - 112, 104, 101, 114, 115, 95, 112, 97, 105, 114, 119, 105, 115, 101, 0, 99, 105, 112, 104, 101, - 114, 115, 95, 112, 97, 105, 114, 119, 105, 115, 101, 0, 99, 111, 110, 116, 114, 111, 108, 95, - 112, 111, 114, 116, 95, 101, 116, 104, 101, 114, 116, 121, 112, 101, 0, 99, 111, 110, 116, 114, - 111, 108, 95, 112, 111, 114, 116, 95, 110, 111, 95, 101, 110, 99, 114, 121, 112, 116, 0, 99, - 111, 110, 116, 114, 111, 108, 95, 112, 111, 114, 116, 95, 110, 111, 95, 112, 114, 101, 97, 117, - 116, 104, 0, 112, 115, 107, 0, 115, 97, 101, 95, 112, 119, 100, 0, 115, 97, 101, 95, 112, 119, - 100, 95, 108, 101, 110, 0, 115, 97, 101, 95, 112, 119, 101, 0, 78, 76, 56, 48, 50, 49, 49, 95, - 83, 65, 69, 95, 80, 87, 69, 95, 85, 78, 83, 80, 69, 67, 73, 70, 73, 69, 68, 0, 78, 76, 56, 48, - 50, 49, 49, 95, 83, 65, 69, 95, 80, 87, 69, 95, 72, 85, 78, 84, 95, 65, 78, 68, 95, 80, 69, 67, - 75, 0, 78, 76, 56, 48, 50, 49, 49, 95, 83, 65, 69, 95, 80, 87, 69, 95, 72, 65, 83, 72, 95, 84, - 79, 95, 69, 76, 69, 77, 69, 78, 84, 0, 78, 76, 56, 48, 50, 49, 49, 95, 83, 65, 69, 95, 80, 87, - 69, 95, 66, 79, 84, 72, 0, 110, 108, 56, 48, 50, 49, 49, 95, 115, 97, 101, 95, 112, 119, 101, - 95, 109, 101, 99, 104, 97, 110, 105, 115, 109, 0, 99, 102, 103, 56, 48, 50, 49, 49, 95, 99, - 114, 121, 112, 116, 111, 95, 115, 101, 116, 116, 105, 110, 103, 115, 0, 107, 101, 121, 95, 105, - 100, 120, 0, 98, 103, 95, 115, 99, 97, 110, 95, 112, 101, 114, 105, 111, 100, 0, 118, 104, 116, - 95, 99, 97, 112, 97, 0, 118, 104, 116, 95, 99, 97, 112, 97, 95, 109, 97, 115, 107, 0, 112, 98, - 115, 115, 0, 98, 115, 115, 95, 115, 101, 108, 101, 99, 116, 0, 98, 101, 104, 97, 118, 105, 111, - 117, 114, 0, 95, 95, 78, 76, 56, 48, 50, 49, 49, 95, 66, 83, 83, 95, 83, 69, 76, 69, 67, 84, - 95, 65, 84, 84, 82, 95, 73, 78, 86, 65, 76, 73, 68, 0, 78, 76, 56, 48, 50, 49, 49, 95, 66, 83, - 83, 95, 83, 69, 76, 69, 67, 84, 95, 65, 84, 84, 82, 95, 82, 83, 83, 73, 0, 78, 76, 56, 48, 50, - 49, 49, 95, 66, 83, 83, 95, 83, 69, 76, 69, 67, 84, 95, 65, 84, 84, 82, 95, 66, 65, 78, 68, 95, - 80, 82, 69, 70, 0, 78, 76, 56, 48, 50, 49, 49, 95, 66, 83, 83, 95, 83, 69, 76, 69, 67, 84, 95, - 65, 84, 84, 82, 95, 82, 83, 83, 73, 95, 65, 68, 74, 85, 83, 84, 0, 95, 95, 78, 76, 56, 48, 50, - 49, 49, 95, 66, 83, 83, 95, 83, 69, 76, 69, 67, 84, 95, 65, 84, 84, 82, 95, 65, 70, 84, 69, 82, - 95, 76, 65, 83, 84, 0, 78, 76, 56, 48, 50, 49, 49, 95, 66, 83, 83, 95, 83, 69, 76, 69, 67, 84, - 95, 65, 84, 84, 82, 95, 77, 65, 88, 0, 110, 108, 56, 48, 50, 49, 49, 95, 98, 115, 115, 95, 115, - 101, 108, 101, 99, 116, 95, 97, 116, 116, 114, 0, 98, 97, 110, 100, 95, 112, 114, 101, 102, 0, - 97, 100, 106, 117, 115, 116, 0, 99, 102, 103, 56, 48, 50, 49, 49, 95, 98, 115, 115, 95, 115, - 101, 108, 101, 99, 116, 105, 111, 110, 0, 112, 114, 101, 118, 95, 98, 115, 115, 105, 100, 0, - 102, 105, 108, 115, 95, 101, 114, 112, 95, 117, 115, 101, 114, 110, 97, 109, 101, 0, 102, 105, - 108, 115, 95, 101, 114, 112, 95, 117, 115, 101, 114, 110, 97, 109, 101, 95, 108, 101, 110, 0, - 102, 105, 108, 115, 95, 101, 114, 112, 95, 114, 101, 97, 108, 109, 0, 102, 105, 108, 115, 95, - 101, 114, 112, 95, 114, 101, 97, 108, 109, 95, 108, 101, 110, 0, 102, 105, 108, 115, 95, 101, - 114, 112, 95, 110, 101, 120, 116, 95, 115, 101, 113, 95, 110, 117, 109, 0, 102, 105, 108, 115, - 95, 101, 114, 112, 95, 114, 114, 107, 0, 102, 105, 108, 115, 95, 101, 114, 112, 95, 114, 114, - 107, 95, 108, 101, 110, 0, 119, 97, 110, 116, 95, 49, 120, 0, 99, 102, 103, 56, 48, 50, 49, 49, - 95, 99, 111, 110, 110, 101, 99, 116, 95, 112, 97, 114, 97, 109, 115, 0, 100, 101, 102, 97, 117, - 108, 116, 95, 107, 101, 121, 0, 100, 101, 102, 97, 117, 108, 116, 95, 109, 103, 109, 116, 95, - 107, 101, 121, 0, 112, 114, 101, 118, 95, 98, 115, 115, 105, 100, 95, 118, 97, 108, 105, 100, - 0, 99, 113, 109, 95, 99, 111, 110, 102, 105, 103, 0, 99, 102, 103, 56, 48, 50, 49, 49, 95, 99, - 113, 109, 95, 99, 111, 110, 102, 105, 103, 0, 112, 109, 115, 114, 95, 108, 105, 115, 116, 0, - 112, 109, 115, 114, 95, 108, 111, 99, 107, 0, 112, 109, 115, 114, 95, 102, 114, 101, 101, 95, - 119, 107, 0, 117, 110, 112, 114, 111, 116, 95, 98, 101, 97, 99, 111, 110, 95, 114, 101, 112, - 111, 114, 116, 101, 100, 0, 119, 105, 114, 101, 108, 101, 115, 115, 95, 100, 101, 118, 0, 105, - 101, 101, 101, 56, 48, 50, 49, 53, 52, 95, 112, 116, 114, 0, 119, 112, 97, 110, 95, 112, 104, - 121, 0, 99, 117, 114, 114, 101, 110, 116, 95, 99, 104, 97, 110, 110, 101, 108, 0, 99, 117, 114, - 114, 101, 110, 116, 95, 112, 97, 103, 101, 0, 99, 99, 97, 95, 109, 111, 100, 101, 115, 0, 99, - 99, 97, 95, 111, 112, 116, 115, 0, 105, 102, 116, 121, 112, 101, 115, 0, 108, 98, 116, 0, 78, - 76, 56, 48, 50, 49, 53, 52, 95, 83, 85, 80, 80, 79, 82, 84, 69, 68, 95, 66, 79, 79, 76, 95, 70, - 65, 76, 83, 69, 0, 78, 76, 56, 48, 50, 49, 53, 52, 95, 83, 85, 80, 80, 79, 82, 84, 69, 68, 95, - 66, 79, 79, 76, 95, 84, 82, 85, 69, 0, 95, 95, 78, 76, 56, 48, 50, 49, 53, 52, 95, 83, 85, 80, - 80, 79, 82, 84, 69, 68, 95, 66, 79, 79, 76, 95, 73, 78, 86, 65, 76, 68, 0, 78, 76, 56, 48, 50, - 49, 53, 52, 95, 83, 85, 80, 80, 79, 82, 84, 69, 68, 95, 66, 79, 79, 76, 95, 66, 79, 84, 72, 0, - 95, 95, 78, 76, 56, 48, 50, 49, 53, 52, 95, 83, 85, 80, 80, 79, 82, 84, 69, 68, 95, 66, 79, 79, - 76, 95, 65, 70, 84, 69, 82, 95, 76, 65, 83, 84, 0, 78, 76, 56, 48, 50, 49, 53, 52, 95, 83, 85, - 80, 80, 79, 82, 84, 69, 68, 95, 66, 79, 79, 76, 95, 77, 65, 88, 0, 110, 108, 56, 48, 50, 49, - 53, 52, 95, 115, 117, 112, 112, 111, 114, 116, 101, 100, 95, 98, 111, 111, 108, 95, 115, 116, - 97, 116, 101, 115, 0, 109, 105, 110, 95, 109, 105, 110, 98, 101, 0, 109, 97, 120, 95, 109, 105, - 110, 98, 101, 0, 109, 105, 110, 95, 109, 97, 120, 98, 101, 0, 109, 97, 120, 95, 109, 97, 120, - 98, 101, 0, 109, 105, 110, 95, 99, 115, 109, 97, 95, 98, 97, 99, 107, 111, 102, 102, 115, 0, - 109, 97, 120, 95, 99, 115, 109, 97, 95, 98, 97, 99, 107, 111, 102, 102, 115, 0, 109, 105, 110, - 95, 102, 114, 97, 109, 101, 95, 114, 101, 116, 114, 105, 101, 115, 0, 109, 97, 120, 95, 102, - 114, 97, 109, 101, 95, 114, 101, 116, 114, 105, 101, 115, 0, 116, 120, 95, 112, 111, 119, 101, - 114, 115, 95, 115, 105, 122, 101, 0, 99, 99, 97, 95, 101, 100, 95, 108, 101, 118, 101, 108, - 115, 95, 115, 105, 122, 101, 0, 116, 120, 95, 112, 111, 119, 101, 114, 115, 0, 99, 99, 97, 95, - 101, 100, 95, 108, 101, 118, 101, 108, 115, 0, 119, 112, 97, 110, 95, 112, 104, 121, 95, 115, - 117, 112, 112, 111, 114, 116, 101, 100, 0, 116, 114, 97, 110, 115, 109, 105, 116, 95, 112, 111, - 119, 101, 114, 0, 99, 99, 97, 0, 95, 95, 78, 76, 56, 48, 50, 49, 53, 52, 95, 67, 67, 65, 95, - 73, 78, 86, 65, 76, 73, 68, 0, 78, 76, 56, 48, 50, 49, 53, 52, 95, 67, 67, 65, 95, 69, 78, 69, - 82, 71, 89, 0, 78, 76, 56, 48, 50, 49, 53, 52, 95, 67, 67, 65, 95, 67, 65, 82, 82, 73, 69, 82, - 0, 78, 76, 56, 48, 50, 49, 53, 52, 95, 67, 67, 65, 95, 69, 78, 69, 82, 71, 89, 95, 67, 65, 82, - 82, 73, 69, 82, 0, 78, 76, 56, 48, 50, 49, 53, 52, 95, 67, 67, 65, 95, 65, 76, 79, 72, 65, 0, - 78, 76, 56, 48, 50, 49, 53, 52, 95, 67, 67, 65, 95, 85, 87, 66, 95, 83, 72, 82, 0, 78, 76, 56, - 48, 50, 49, 53, 52, 95, 67, 67, 65, 95, 85, 87, 66, 95, 77, 85, 76, 84, 73, 80, 76, 69, 88, 69, - 68, 0, 95, 95, 78, 76, 56, 48, 50, 49, 53, 52, 95, 67, 67, 65, 95, 65, 84, 84, 82, 95, 65, 70, - 84, 69, 82, 95, 76, 65, 83, 84, 0, 78, 76, 56, 48, 50, 49, 53, 52, 95, 67, 67, 65, 95, 65, 84, - 84, 82, 95, 77, 65, 88, 0, 110, 108, 56, 48, 50, 49, 53, 52, 95, 99, 99, 97, 95, 109, 111, 100, - 101, 115, 0, 78, 76, 56, 48, 50, 49, 53, 52, 95, 67, 67, 65, 95, 79, 80, 84, 95, 69, 78, 69, - 82, 71, 89, 95, 67, 65, 82, 82, 73, 69, 82, 95, 65, 78, 68, 0, 78, 76, 56, 48, 50, 49, 53, 52, - 95, 67, 67, 65, 95, 79, 80, 84, 95, 69, 78, 69, 82, 71, 89, 95, 67, 65, 82, 82, 73, 69, 82, 95, - 79, 82, 0, 95, 95, 78, 76, 56, 48, 50, 49, 53, 52, 95, 67, 67, 65, 95, 79, 80, 84, 95, 65, 84, - 84, 82, 95, 65, 70, 84, 69, 82, 95, 76, 65, 83, 84, 0, 78, 76, 56, 48, 50, 49, 53, 52, 95, 67, - 67, 65, 95, 79, 80, 84, 95, 65, 84, 84, 82, 95, 77, 65, 88, 0, 110, 108, 56, 48, 50, 49, 53, - 52, 95, 99, 99, 97, 95, 111, 112, 116, 115, 0, 119, 112, 97, 110, 95, 112, 104, 121, 95, 99, - 99, 97, 0, 112, 101, 114, 109, 95, 101, 120, 116, 101, 110, 100, 101, 100, 95, 97, 100, 100, - 114, 0, 95, 95, 108, 101, 54, 52, 0, 99, 99, 97, 95, 101, 100, 95, 108, 101, 118, 101, 108, 0, - 115, 121, 109, 98, 111, 108, 95, 100, 117, 114, 97, 116, 105, 111, 110, 0, 108, 105, 102, 115, - 95, 112, 101, 114, 105, 111, 100, 0, 115, 105, 102, 115, 95, 112, 101, 114, 105, 111, 100, 0, - 112, 97, 110, 95, 105, 100, 0, 115, 104, 111, 114, 116, 95, 97, 100, 100, 114, 0, 101, 120, - 116, 101, 110, 100, 101, 100, 95, 97, 100, 100, 114, 0, 105, 101, 101, 101, 56, 48, 50, 49, 53, - 52, 95, 97, 100, 100, 114, 0, 119, 112, 97, 110, 95, 100, 101, 118, 95, 104, 101, 97, 100, 101, - 114, 95, 111, 112, 115, 0, 108, 111, 119, 112, 97, 110, 95, 100, 101, 118, 0, 98, 115, 110, 0, - 100, 115, 110, 0, 109, 105, 110, 95, 98, 101, 0, 109, 97, 120, 95, 98, 101, 0, 99, 115, 109, - 97, 95, 114, 101, 116, 114, 105, 101, 115, 0, 102, 114, 97, 109, 101, 95, 114, 101, 116, 114, - 105, 101, 115, 0, 112, 114, 111, 109, 105, 115, 99, 117, 111, 117, 115, 95, 109, 111, 100, 101, - 0, 97, 99, 107, 114, 101, 113, 0, 119, 112, 97, 110, 95, 100, 101, 118, 0, 109, 112, 108, 115, - 95, 112, 116, 114, 0, 109, 112, 108, 115, 95, 100, 101, 118, 0, 109, 99, 116, 112, 95, 112, - 116, 114, 0, 109, 99, 116, 112, 95, 100, 101, 118, 0, 100, 101, 118, 95, 97, 100, 100, 114, 0, - 95, 114, 120, 0, 120, 100, 112, 95, 114, 120, 113, 0, 114, 112, 115, 95, 109, 97, 112, 0, 114, - 112, 115, 95, 102, 108, 111, 119, 95, 116, 97, 98, 108, 101, 0, 102, 108, 111, 119, 115, 0, - 108, 97, 115, 116, 95, 113, 116, 97, 105, 108, 0, 114, 112, 115, 95, 100, 101, 118, 95, 102, - 108, 111, 119, 0, 114, 112, 115, 95, 100, 101, 118, 95, 102, 108, 111, 119, 95, 116, 97, 98, - 108, 101, 0, 110, 101, 116, 100, 101, 118, 95, 114, 120, 95, 113, 117, 101, 117, 101, 0, 110, - 117, 109, 95, 114, 120, 95, 113, 117, 101, 117, 101, 115, 0, 114, 101, 97, 108, 95, 110, 117, - 109, 95, 114, 120, 95, 113, 117, 101, 117, 101, 115, 0, 120, 100, 112, 95, 112, 114, 111, 103, - 0, 103, 114, 111, 95, 102, 108, 117, 115, 104, 95, 116, 105, 109, 101, 111, 117, 116, 0, 110, - 97, 112, 105, 95, 100, 101, 102, 101, 114, 95, 104, 97, 114, 100, 95, 105, 114, 113, 115, 0, - 114, 120, 95, 104, 97, 110, 100, 108, 101, 114, 0, 82, 88, 95, 72, 65, 78, 68, 76, 69, 82, 95, - 67, 79, 78, 83, 85, 77, 69, 68, 0, 82, 88, 95, 72, 65, 78, 68, 76, 69, 82, 95, 65, 78, 79, 84, - 72, 69, 82, 0, 82, 88, 95, 72, 65, 78, 68, 76, 69, 82, 95, 69, 88, 65, 67, 84, 0, 82, 88, 95, - 72, 65, 78, 68, 76, 69, 82, 95, 80, 65, 83, 83, 0, 114, 120, 95, 104, 97, 110, 100, 108, 101, - 114, 95, 114, 101, 115, 117, 108, 116, 0, 114, 120, 95, 104, 97, 110, 100, 108, 101, 114, 95, - 114, 101, 115, 117, 108, 116, 95, 116, 0, 114, 120, 95, 104, 97, 110, 100, 108, 101, 114, 95, - 102, 117, 110, 99, 95, 116, 0, 114, 120, 95, 104, 97, 110, 100, 108, 101, 114, 95, 100, 97, - 116, 97, 0, 109, 105, 110, 105, 113, 95, 105, 110, 103, 114, 101, 115, 115, 0, 102, 105, 108, - 116, 101, 114, 95, 108, 105, 115, 116, 0, 99, 108, 97, 115, 115, 105, 102, 121, 0, 103, 111, - 116, 111, 95, 116, 112, 0, 113, 115, 116, 97, 116, 115, 0, 114, 101, 113, 117, 101, 117, 101, - 115, 0, 111, 118, 101, 114, 108, 105, 109, 105, 116, 115, 0, 103, 110, 101, 116, 95, 115, 116, - 97, 116, 115, 95, 113, 117, 101, 117, 101, 0, 116, 99, 102, 95, 114, 101, 115, 117, 108, 116, - 0, 107, 105, 110, 100, 0, 99, 104, 97, 110, 103, 101, 0, 100, 101, 108, 101, 116, 101, 95, 101, - 109, 112, 116, 121, 0, 110, 111, 110, 101, 109, 112, 116, 121, 0, 116, 99, 102, 95, 119, 97, - 108, 107, 101, 114, 0, 114, 101, 111, 102, 102, 108, 111, 97, 100, 0, 102, 108, 111, 119, 95, - 115, 101, 116, 117, 112, 95, 99, 98, 95, 116, 0, 104, 119, 95, 97, 100, 100, 0, 104, 119, 95, - 100, 101, 108, 0, 98, 105, 110, 100, 95, 99, 108, 97, 115, 115, 0, 116, 109, 112, 108, 116, 95, - 99, 114, 101, 97, 116, 101, 0, 102, 105, 108, 116, 101, 114, 95, 99, 104, 97, 105, 110, 95, - 108, 111, 99, 107, 0, 102, 105, 108, 116, 101, 114, 95, 99, 104, 97, 105, 110, 0, 99, 104, 97, - 105, 110, 95, 108, 105, 115, 116, 0, 101, 110, 113, 117, 101, 117, 101, 0, 100, 101, 113, 117, - 101, 117, 101, 0, 99, 108, 95, 111, 112, 115, 0, 115, 101, 108, 101, 99, 116, 95, 113, 117, - 101, 117, 101, 0, 113, 100, 105, 115, 99, 0, 113, 100, 105, 115, 99, 95, 115, 108, 101, 101, - 112, 105, 110, 103, 0, 116, 120, 95, 109, 97, 120, 114, 97, 116, 101, 0, 116, 114, 97, 110, - 115, 95, 116, 105, 109, 101, 111, 117, 116, 0, 115, 98, 95, 100, 101, 118, 0, 95, 120, 109, - 105, 116, 95, 108, 111, 99, 107, 0, 120, 109, 105, 116, 95, 108, 111, 99, 107, 95, 111, 119, - 110, 101, 114, 0, 116, 114, 97, 110, 115, 95, 115, 116, 97, 114, 116, 0, 100, 113, 108, 0, 110, - 117, 109, 95, 113, 117, 101, 117, 101, 100, 0, 97, 100, 106, 95, 108, 105, 109, 105, 116, 0, - 108, 97, 115, 116, 95, 111, 98, 106, 95, 99, 110, 116, 0, 110, 117, 109, 95, 99, 111, 109, 112, - 108, 101, 116, 101, 100, 0, 112, 114, 101, 118, 95, 111, 118, 108, 105, 109, 105, 116, 0, 112, - 114, 101, 118, 95, 110, 117, 109, 95, 113, 117, 101, 117, 101, 100, 0, 112, 114, 101, 118, 95, - 108, 97, 115, 116, 95, 111, 98, 106, 95, 99, 110, 116, 0, 108, 111, 119, 101, 115, 116, 95, - 115, 108, 97, 99, 107, 0, 115, 108, 97, 99, 107, 95, 115, 116, 97, 114, 116, 95, 116, 105, 109, - 101, 0, 109, 97, 120, 95, 108, 105, 109, 105, 116, 0, 109, 105, 110, 95, 108, 105, 109, 105, - 116, 0, 115, 108, 97, 99, 107, 95, 104, 111, 108, 100, 95, 116, 105, 109, 101, 0, 110, 101, - 116, 100, 101, 118, 95, 113, 117, 101, 117, 101, 0, 116, 99, 109, 95, 102, 97, 109, 105, 108, - 121, 0, 116, 99, 109, 95, 95, 112, 97, 100, 49, 0, 116, 99, 109, 95, 95, 112, 97, 100, 50, 0, - 116, 99, 109, 95, 105, 102, 105, 110, 100, 101, 120, 0, 116, 99, 109, 95, 104, 97, 110, 100, - 108, 101, 0, 116, 99, 109, 95, 112, 97, 114, 101, 110, 116, 0, 116, 99, 109, 95, 105, 110, 102, - 111, 0, 116, 99, 109, 115, 103, 0, 103, 114, 97, 102, 116, 0, 113, 108, 101, 110, 95, 110, 111, - 116, 105, 102, 121, 0, 102, 105, 110, 100, 0, 113, 100, 105, 115, 99, 95, 119, 97, 108, 107, - 101, 114, 0, 116, 99, 102, 95, 98, 108, 111, 99, 107, 0, 98, 105, 110, 100, 95, 116, 99, 102, - 0, 117, 110, 98, 105, 110, 100, 95, 116, 99, 102, 0, 100, 117, 109, 112, 95, 115, 116, 97, 116, - 115, 0, 99, 111, 109, 112, 97, 116, 95, 116, 99, 95, 115, 116, 97, 116, 115, 0, 99, 111, 109, - 112, 97, 116, 95, 120, 115, 116, 97, 116, 115, 0, 112, 97, 100, 97, 116, 116, 114, 0, 120, 115, - 116, 97, 116, 115, 0, 120, 115, 116, 97, 116, 115, 95, 108, 101, 110, 0, 116, 99, 95, 115, 116, - 97, 116, 115, 0, 98, 112, 115, 0, 112, 112, 115, 0, 103, 110, 101, 116, 95, 100, 117, 109, 112, - 0, 81, 100, 105, 115, 99, 95, 99, 108, 97, 115, 115, 95, 111, 112, 115, 0, 115, 116, 97, 116, - 105, 99, 95, 102, 108, 97, 103, 115, 0, 112, 101, 101, 107, 0, 99, 104, 97, 110, 103, 101, 95, - 116, 120, 95, 113, 117, 101, 117, 101, 95, 108, 101, 110, 0, 99, 104, 97, 110, 103, 101, 95, - 114, 101, 97, 108, 95, 110, 117, 109, 95, 116, 120, 0, 105, 110, 103, 114, 101, 115, 115, 95, - 98, 108, 111, 99, 107, 95, 115, 101, 116, 0, 101, 103, 114, 101, 115, 115, 95, 98, 108, 111, - 99, 107, 95, 115, 101, 116, 0, 105, 110, 103, 114, 101, 115, 115, 95, 98, 108, 111, 99, 107, - 95, 103, 101, 116, 0, 101, 103, 114, 101, 115, 115, 95, 98, 108, 111, 99, 107, 95, 103, 101, - 116, 0, 81, 100, 105, 115, 99, 95, 111, 112, 115, 0, 115, 116, 97, 98, 0, 115, 122, 111, 112, - 116, 115, 0, 99, 101, 108, 108, 95, 108, 111, 103, 0, 115, 105, 122, 101, 95, 108, 111, 103, 0, - 99, 101, 108, 108, 95, 97, 108, 105, 103, 110, 0, 111, 118, 101, 114, 104, 101, 97, 100, 0, - 108, 105, 110, 107, 108, 97, 121, 101, 114, 0, 109, 112, 117, 0, 116, 115, 105, 122, 101, 0, - 116, 99, 95, 115, 105, 122, 101, 115, 112, 101, 99, 0, 113, 100, 105, 115, 99, 95, 115, 105, - 122, 101, 95, 116, 97, 98, 108, 101, 0, 100, 101, 118, 95, 113, 117, 101, 117, 101, 0, 114, 97, - 116, 101, 95, 101, 115, 116, 0, 110, 101, 116, 95, 114, 97, 116, 101, 95, 101, 115, 116, 105, - 109, 97, 116, 111, 114, 0, 99, 112, 117, 95, 98, 115, 116, 97, 116, 115, 0, 98, 115, 116, 97, - 116, 115, 0, 103, 110, 101, 116, 95, 115, 116, 97, 116, 115, 95, 98, 97, 115, 105, 99, 95, 112, - 97, 99, 107, 101, 100, 0, 103, 110, 101, 116, 95, 115, 116, 97, 116, 115, 95, 98, 97, 115, 105, - 99, 95, 99, 112, 117, 0, 99, 112, 117, 95, 113, 115, 116, 97, 116, 115, 0, 103, 115, 111, 95, - 115, 107, 98, 0, 113, 100, 105, 115, 99, 95, 115, 107, 98, 95, 104, 101, 97, 100, 0, 110, 101, - 120, 116, 95, 115, 99, 104, 101, 100, 0, 115, 107, 98, 95, 98, 97, 100, 95, 116, 120, 113, 0, - 98, 117, 115, 121, 108, 111, 99, 107, 0, 112, 114, 105, 118, 100, 97, 116, 97, 0, 81, 100, 105, - 115, 99, 0, 99, 98, 95, 108, 111, 99, 107, 0, 102, 108, 111, 119, 95, 98, 108, 111, 99, 107, 0, - 111, 119, 110, 101, 114, 95, 108, 105, 115, 116, 0, 107, 101, 101, 112, 95, 100, 115, 116, 0, - 111, 102, 102, 108, 111, 97, 100, 99, 110, 116, 0, 110, 111, 111, 102, 102, 108, 111, 97, 100, - 100, 101, 118, 99, 110, 116, 0, 108, 111, 99, 107, 101, 100, 100, 101, 118, 99, 110, 116, 0, - 99, 104, 97, 105, 110, 48, 0, 102, 105, 108, 116, 101, 114, 95, 99, 104, 97, 105, 110, 95, 108, - 105, 115, 116, 0, 112, 114, 111, 116, 111, 95, 100, 101, 115, 116, 114, 111, 121, 95, 104, 116, - 0, 112, 114, 111, 116, 111, 95, 100, 101, 115, 116, 114, 111, 121, 95, 108, 111, 99, 107, 0, - 97, 99, 116, 105, 111, 110, 95, 114, 101, 102, 99, 110, 116, 0, 101, 120, 112, 108, 105, 99, - 105, 116, 108, 121, 95, 99, 114, 101, 97, 116, 101, 100, 0, 102, 108, 117, 115, 104, 105, 110, - 103, 0, 116, 109, 112, 108, 116, 95, 111, 112, 115, 0, 116, 109, 112, 108, 116, 95, 112, 114, - 105, 118, 0, 116, 99, 102, 95, 99, 104, 97, 105, 110, 0, 116, 109, 112, 108, 116, 95, 100, 101, - 115, 116, 114, 111, 121, 0, 116, 101, 114, 115, 101, 95, 100, 117, 109, 112, 0, 116, 109, 112, - 108, 116, 95, 100, 117, 109, 112, 0, 116, 99, 102, 95, 112, 114, 111, 116, 111, 95, 111, 112, - 115, 0, 100, 101, 108, 101, 116, 105, 110, 103, 0, 100, 101, 115, 116, 114, 111, 121, 95, 104, - 116, 95, 110, 111, 100, 101, 0, 116, 99, 102, 95, 112, 114, 111, 116, 111, 0, 109, 105, 110, - 105, 95, 81, 100, 105, 115, 99, 0, 105, 110, 103, 114, 101, 115, 115, 95, 113, 117, 101, 117, - 101, 0, 110, 102, 95, 104, 111, 111, 107, 115, 95, 105, 110, 103, 114, 101, 115, 115, 0, 114, - 120, 95, 99, 112, 117, 95, 114, 109, 97, 112, 0, 110, 101, 97, 114, 0, 100, 105, 115, 116, 0, - 99, 112, 117, 95, 114, 109, 97, 112, 0, 105, 110, 100, 101, 120, 95, 104, 108, 105, 115, 116, - 0, 95, 116, 120, 0, 114, 101, 97, 108, 95, 110, 117, 109, 95, 116, 120, 95, 113, 117, 101, 117, - 101, 115, 0, 116, 120, 95, 103, 108, 111, 98, 97, 108, 95, 108, 111, 99, 107, 0, 120, 100, 112, - 95, 98, 117, 108, 107, 113, 0, 102, 108, 117, 115, 104, 95, 110, 111, 100, 101, 0, 120, 100, - 112, 95, 100, 101, 118, 95, 98, 117, 108, 107, 95, 113, 117, 101, 117, 101, 0, 120, 112, 115, - 95, 109, 97, 112, 115, 0, 110, 114, 95, 105, 100, 115, 0, 110, 117, 109, 95, 116, 99, 0, 97, - 116, 116, 114, 95, 109, 97, 112, 0, 97, 108, 108, 111, 99, 95, 108, 101, 110, 0, 113, 117, 101, - 117, 101, 115, 0, 120, 112, 115, 95, 109, 97, 112, 0, 120, 112, 115, 95, 100, 101, 118, 95, - 109, 97, 112, 115, 0, 109, 105, 110, 105, 113, 95, 101, 103, 114, 101, 115, 115, 0, 113, 100, - 105, 115, 99, 95, 104, 97, 115, 104, 0, 119, 97, 116, 99, 104, 100, 111, 103, 95, 116, 105, - 109, 101, 114, 0, 119, 97, 116, 99, 104, 100, 111, 103, 95, 116, 105, 109, 101, 111, 0, 112, - 114, 111, 116, 111, 95, 100, 111, 119, 110, 95, 114, 101, 97, 115, 111, 110, 0, 116, 111, 100, - 111, 95, 108, 105, 115, 116, 0, 112, 99, 112, 117, 95, 114, 101, 102, 99, 110, 116, 0, 108, - 105, 110, 107, 95, 119, 97, 116, 99, 104, 95, 108, 105, 115, 116, 0, 78, 69, 84, 82, 69, 71, - 95, 85, 78, 73, 78, 73, 84, 73, 65, 76, 73, 90, 69, 68, 0, 78, 69, 84, 82, 69, 71, 95, 82, 69, - 71, 73, 83, 84, 69, 82, 69, 68, 0, 78, 69, 84, 82, 69, 71, 95, 85, 78, 82, 69, 71, 73, 83, 84, - 69, 82, 73, 78, 71, 0, 78, 69, 84, 82, 69, 71, 95, 85, 78, 82, 69, 71, 73, 83, 84, 69, 82, 69, - 68, 0, 78, 69, 84, 82, 69, 71, 95, 82, 69, 76, 69, 65, 83, 69, 68, 0, 78, 69, 84, 82, 69, 71, - 95, 68, 85, 77, 77, 89, 0, 100, 105, 115, 109, 97, 110, 116, 108, 101, 0, 114, 116, 110, 108, - 95, 108, 105, 110, 107, 95, 115, 116, 97, 116, 101, 0, 82, 84, 78, 76, 95, 76, 73, 78, 75, 95, - 73, 78, 73, 84, 73, 65, 76, 73, 90, 69, 68, 0, 82, 84, 78, 76, 95, 76, 73, 78, 75, 95, 73, 78, - 73, 84, 73, 65, 76, 73, 90, 73, 78, 71, 0, 110, 101, 101, 100, 115, 95, 102, 114, 101, 101, 95, - 110, 101, 116, 100, 101, 118, 0, 112, 114, 105, 118, 95, 100, 101, 115, 116, 114, 117, 99, 116, - 111, 114, 0, 110, 112, 105, 110, 102, 111, 0, 110, 100, 95, 110, 101, 116, 0, 109, 108, 95, - 112, 114, 105, 118, 0, 109, 108, 95, 112, 114, 105, 118, 95, 116, 121, 112, 101, 0, 77, 76, 95, - 80, 82, 73, 86, 95, 78, 79, 78, 69, 0, 77, 76, 95, 80, 82, 73, 86, 95, 67, 65, 78, 0, 110, 101, - 116, 100, 101, 118, 95, 109, 108, 95, 112, 114, 105, 118, 95, 116, 121, 112, 101, 0, 108, 115, - 116, 97, 116, 115, 0, 112, 99, 112, 117, 95, 108, 115, 116, 97, 116, 115, 0, 116, 115, 116, 97, - 116, 115, 0, 112, 99, 112, 117, 95, 115, 119, 95, 110, 101, 116, 115, 116, 97, 116, 115, 0, - 100, 115, 116, 97, 116, 115, 0, 112, 99, 112, 117, 95, 100, 115, 116, 97, 116, 115, 0, 103, 97, - 114, 112, 95, 112, 111, 114, 116, 0, 109, 114, 112, 95, 112, 111, 114, 116, 0, 115, 121, 115, - 102, 115, 95, 103, 114, 111, 117, 112, 115, 0, 115, 121, 115, 102, 115, 95, 114, 120, 95, 113, - 117, 101, 117, 101, 95, 103, 114, 111, 117, 112, 0, 114, 116, 110, 108, 95, 108, 105, 110, 107, - 95, 111, 112, 115, 0, 110, 101, 116, 110, 115, 95, 114, 101, 102, 117, 110, 100, 0, 109, 97, - 120, 116, 121, 112, 101, 0, 110, 101, 119, 108, 105, 110, 107, 0, 99, 104, 97, 110, 103, 101, - 108, 105, 110, 107, 0, 100, 101, 108, 108, 105, 110, 107, 0, 103, 101, 116, 95, 115, 105, 122, - 101, 0, 102, 105, 108, 108, 95, 105, 110, 102, 111, 0, 103, 101, 116, 95, 120, 115, 116, 97, - 116, 115, 95, 115, 105, 122, 101, 0, 102, 105, 108, 108, 95, 120, 115, 116, 97, 116, 115, 0, - 103, 101, 116, 95, 110, 117, 109, 95, 116, 120, 95, 113, 117, 101, 117, 101, 115, 0, 103, 101, - 116, 95, 110, 117, 109, 95, 114, 120, 95, 113, 117, 101, 117, 101, 115, 0, 115, 108, 97, 118, - 101, 95, 109, 97, 120, 116, 121, 112, 101, 0, 115, 108, 97, 118, 101, 95, 112, 111, 108, 105, - 99, 121, 0, 115, 108, 97, 118, 101, 95, 99, 104, 97, 110, 103, 101, 108, 105, 110, 107, 0, 103, - 101, 116, 95, 115, 108, 97, 118, 101, 95, 115, 105, 122, 101, 0, 102, 105, 108, 108, 95, 115, - 108, 97, 118, 101, 95, 105, 110, 102, 111, 0, 103, 101, 116, 95, 108, 105, 110, 107, 95, 110, - 101, 116, 0, 103, 101, 116, 95, 108, 105, 110, 107, 120, 115, 116, 97, 116, 115, 95, 115, 105, - 122, 101, 0, 102, 105, 108, 108, 95, 108, 105, 110, 107, 120, 115, 116, 97, 116, 115, 0, 103, - 115, 111, 95, 109, 97, 120, 95, 115, 105, 122, 101, 0, 103, 115, 111, 95, 109, 97, 120, 95, - 115, 101, 103, 115, 0, 100, 99, 98, 110, 108, 95, 111, 112, 115, 0, 105, 101, 101, 101, 95, - 103, 101, 116, 101, 116, 115, 0, 119, 105, 108, 108, 105, 110, 103, 0, 101, 116, 115, 95, 99, - 97, 112, 0, 99, 98, 115, 0, 116, 99, 95, 116, 120, 95, 98, 119, 0, 116, 99, 95, 114, 120, 95, - 98, 119, 0, 116, 99, 95, 116, 115, 97, 0, 112, 114, 105, 111, 95, 116, 99, 0, 116, 99, 95, 114, - 101, 99, 111, 95, 98, 119, 0, 116, 99, 95, 114, 101, 99, 111, 95, 116, 115, 97, 0, 114, 101, - 99, 111, 95, 112, 114, 105, 111, 95, 116, 99, 0, 105, 101, 101, 101, 95, 101, 116, 115, 0, 105, - 101, 101, 101, 95, 115, 101, 116, 101, 116, 115, 0, 105, 101, 101, 101, 95, 103, 101, 116, 109, - 97, 120, 114, 97, 116, 101, 0, 116, 99, 95, 109, 97, 120, 114, 97, 116, 101, 0, 105, 101, 101, - 101, 95, 109, 97, 120, 114, 97, 116, 101, 0, 105, 101, 101, 101, 95, 115, 101, 116, 109, 97, - 120, 114, 97, 116, 101, 0, 105, 101, 101, 101, 95, 103, 101, 116, 113, 99, 110, 0, 114, 112, - 103, 95, 101, 110, 97, 98, 108, 101, 0, 114, 112, 112, 112, 95, 109, 97, 120, 95, 114, 112, - 115, 0, 114, 112, 103, 95, 116, 105, 109, 101, 95, 114, 101, 115, 101, 116, 0, 114, 112, 103, - 95, 98, 121, 116, 101, 95, 114, 101, 115, 101, 116, 0, 114, 112, 103, 95, 116, 104, 114, 101, - 115, 104, 111, 108, 100, 0, 114, 112, 103, 95, 109, 97, 120, 95, 114, 97, 116, 101, 0, 114, - 112, 103, 95, 97, 105, 95, 114, 97, 116, 101, 0, 114, 112, 103, 95, 104, 97, 105, 95, 114, 97, - 116, 101, 0, 114, 112, 103, 95, 103, 100, 0, 114, 112, 103, 95, 109, 105, 110, 95, 100, 101, - 99, 95, 102, 97, 99, 0, 114, 112, 103, 95, 109, 105, 110, 95, 114, 97, 116, 101, 0, 99, 110, - 100, 100, 95, 115, 116, 97, 116, 101, 95, 109, 97, 99, 104, 105, 110, 101, 0, 105, 101, 101, - 101, 95, 113, 99, 110, 0, 105, 101, 101, 101, 95, 115, 101, 116, 113, 99, 110, 0, 105, 101, - 101, 101, 95, 103, 101, 116, 113, 99, 110, 115, 116, 97, 116, 115, 0, 114, 112, 112, 112, 95, - 114, 112, 95, 99, 101, 110, 116, 105, 115, 101, 99, 111, 110, 100, 115, 0, 114, 112, 112, 112, - 95, 99, 114, 101, 97, 116, 101, 100, 95, 114, 112, 115, 0, 105, 101, 101, 101, 95, 113, 99, - 110, 95, 115, 116, 97, 116, 115, 0, 105, 101, 101, 101, 95, 103, 101, 116, 112, 102, 99, 0, - 112, 102, 99, 95, 99, 97, 112, 0, 112, 102, 99, 95, 101, 110, 0, 109, 98, 99, 0, 114, 101, 113, - 117, 101, 115, 116, 115, 0, 105, 110, 100, 105, 99, 97, 116, 105, 111, 110, 115, 0, 105, 101, - 101, 101, 95, 112, 102, 99, 0, 105, 101, 101, 101, 95, 115, 101, 116, 112, 102, 99, 0, 105, - 101, 101, 101, 95, 103, 101, 116, 97, 112, 112, 0, 100, 99, 98, 95, 97, 112, 112, 0, 105, 101, - 101, 101, 95, 115, 101, 116, 97, 112, 112, 0, 105, 101, 101, 101, 95, 100, 101, 108, 97, 112, - 112, 0, 105, 101, 101, 101, 95, 112, 101, 101, 114, 95, 103, 101, 116, 101, 116, 115, 0, 105, - 101, 101, 101, 95, 112, 101, 101, 114, 95, 103, 101, 116, 112, 102, 99, 0, 103, 101, 116, 115, - 116, 97, 116, 101, 0, 115, 101, 116, 115, 116, 97, 116, 101, 0, 103, 101, 116, 112, 101, 114, - 109, 104, 119, 97, 100, 100, 114, 0, 115, 101, 116, 112, 103, 116, 99, 99, 102, 103, 116, 120, - 0, 115, 101, 116, 112, 103, 98, 119, 103, 99, 102, 103, 116, 120, 0, 115, 101, 116, 112, 103, - 116, 99, 99, 102, 103, 114, 120, 0, 115, 101, 116, 112, 103, 98, 119, 103, 99, 102, 103, 114, - 120, 0, 103, 101, 116, 112, 103, 116, 99, 99, 102, 103, 116, 120, 0, 103, 101, 116, 112, 103, - 98, 119, 103, 99, 102, 103, 116, 120, 0, 103, 101, 116, 112, 103, 116, 99, 99, 102, 103, 114, - 120, 0, 103, 101, 116, 112, 103, 98, 119, 103, 99, 102, 103, 114, 120, 0, 115, 101, 116, 112, - 102, 99, 99, 102, 103, 0, 103, 101, 116, 112, 102, 99, 99, 102, 103, 0, 115, 101, 116, 97, 108, - 108, 0, 103, 101, 116, 99, 97, 112, 0, 103, 101, 116, 110, 117, 109, 116, 99, 115, 0, 115, 101, - 116, 110, 117, 109, 116, 99, 115, 0, 103, 101, 116, 112, 102, 99, 115, 116, 97, 116, 101, 0, - 115, 101, 116, 112, 102, 99, 115, 116, 97, 116, 101, 0, 103, 101, 116, 98, 99, 110, 99, 102, - 103, 0, 115, 101, 116, 98, 99, 110, 99, 102, 103, 0, 103, 101, 116, 98, 99, 110, 114, 112, 0, - 115, 101, 116, 98, 99, 110, 114, 112, 0, 115, 101, 116, 97, 112, 112, 0, 103, 101, 116, 97, - 112, 112, 0, 103, 101, 116, 102, 101, 97, 116, 99, 102, 103, 0, 115, 101, 116, 102, 101, 97, - 116, 99, 102, 103, 0, 103, 101, 116, 100, 99, 98, 120, 0, 115, 101, 116, 100, 99, 98, 120, 0, - 112, 101, 101, 114, 95, 103, 101, 116, 97, 112, 112, 105, 110, 102, 111, 0, 100, 99, 98, 95, - 112, 101, 101, 114, 95, 97, 112, 112, 95, 105, 110, 102, 111, 0, 112, 101, 101, 114, 95, 103, - 101, 116, 97, 112, 112, 116, 97, 98, 108, 101, 0, 99, 101, 101, 95, 112, 101, 101, 114, 95, - 103, 101, 116, 112, 103, 0, 112, 103, 95, 101, 110, 0, 116, 99, 115, 95, 115, 117, 112, 112, - 111, 114, 116, 101, 100, 0, 112, 103, 95, 98, 119, 0, 112, 114, 105, 111, 95, 112, 103, 0, 99, - 101, 101, 95, 112, 103, 0, 99, 101, 101, 95, 112, 101, 101, 114, 95, 103, 101, 116, 112, 102, - 99, 0, 99, 101, 101, 95, 112, 102, 99, 0, 100, 99, 98, 110, 108, 95, 103, 101, 116, 98, 117, - 102, 102, 101, 114, 0, 112, 114, 105, 111, 50, 98, 117, 102, 102, 101, 114, 0, 98, 117, 102, - 102, 101, 114, 95, 115, 105, 122, 101, 0, 116, 111, 116, 97, 108, 95, 115, 105, 122, 101, 0, - 100, 99, 98, 110, 108, 95, 98, 117, 102, 102, 101, 114, 0, 100, 99, 98, 110, 108, 95, 115, 101, - 116, 98, 117, 102, 102, 101, 114, 0, 100, 99, 98, 110, 108, 95, 114, 116, 110, 108, 95, 111, - 112, 115, 0, 116, 99, 95, 116, 111, 95, 116, 120, 113, 0, 110, 101, 116, 100, 101, 118, 95, - 116, 99, 95, 116, 120, 113, 0, 112, 114, 105, 111, 95, 116, 99, 95, 109, 97, 112, 0, 102, 99, - 111, 101, 95, 100, 100, 112, 95, 120, 105, 100, 0, 112, 114, 105, 111, 109, 97, 112, 0, 112, - 114, 105, 111, 109, 97, 112, 95, 108, 101, 110, 0, 110, 101, 116, 112, 114, 105, 111, 95, 109, - 97, 112, 0, 113, 100, 105, 115, 99, 95, 116, 120, 95, 98, 117, 115, 121, 108, 111, 99, 107, 0, - 113, 100, 105, 115, 99, 95, 114, 117, 110, 110, 105, 110, 103, 95, 107, 101, 121, 0, 112, 114, - 111, 116, 111, 95, 100, 111, 119, 110, 0, 119, 111, 108, 95, 101, 110, 97, 98, 108, 101, 100, - 0, 110, 101, 116, 95, 110, 111, 116, 105, 102, 105, 101, 114, 95, 108, 105, 115, 116, 0, 117, - 100, 112, 95, 116, 117, 110, 110, 101, 108, 95, 110, 105, 99, 95, 105, 110, 102, 111, 0, 104, - 119, 95, 112, 114, 105, 118, 0, 117, 100, 112, 95, 116, 117, 110, 110, 101, 108, 95, 105, 110, - 102, 111, 0, 117, 110, 115, 101, 116, 95, 112, 111, 114, 116, 0, 115, 121, 110, 99, 95, 116, - 97, 98, 108, 101, 0, 117, 100, 112, 95, 116, 117, 110, 110, 101, 108, 95, 110, 105, 99, 0, 117, - 100, 112, 95, 116, 117, 110, 110, 101, 108, 95, 110, 105, 99, 95, 115, 104, 97, 114, 101, 100, - 0, 116, 97, 98, 108, 101, 115, 0, 110, 95, 101, 110, 116, 114, 105, 101, 115, 0, 116, 117, 110, - 110, 101, 108, 95, 116, 121, 112, 101, 115, 0, 117, 100, 112, 95, 116, 117, 110, 110, 101, 108, - 95, 110, 105, 99, 95, 116, 97, 98, 108, 101, 95, 105, 110, 102, 111, 0, 120, 100, 112, 95, 115, - 116, 97, 116, 101, 0, 66, 80, 70, 95, 76, 73, 78, 75, 95, 84, 89, 80, 69, 95, 85, 78, 83, 80, - 69, 67, 0, 66, 80, 70, 95, 76, 73, 78, 75, 95, 84, 89, 80, 69, 95, 82, 65, 87, 95, 84, 82, 65, - 67, 69, 80, 79, 73, 78, 84, 0, 66, 80, 70, 95, 76, 73, 78, 75, 95, 84, 89, 80, 69, 95, 84, 82, - 65, 67, 73, 78, 71, 0, 66, 80, 70, 95, 76, 73, 78, 75, 95, 84, 89, 80, 69, 95, 67, 71, 82, 79, - 85, 80, 0, 66, 80, 70, 95, 76, 73, 78, 75, 95, 84, 89, 80, 69, 95, 73, 84, 69, 82, 0, 66, 80, - 70, 95, 76, 73, 78, 75, 95, 84, 89, 80, 69, 95, 78, 69, 84, 78, 83, 0, 66, 80, 70, 95, 76, 73, - 78, 75, 95, 84, 89, 80, 69, 95, 88, 68, 80, 0, 66, 80, 70, 95, 76, 73, 78, 75, 95, 84, 89, 80, - 69, 95, 80, 69, 82, 70, 95, 69, 86, 69, 78, 84, 0, 77, 65, 88, 95, 66, 80, 70, 95, 76, 73, 78, - 75, 95, 84, 89, 80, 69, 0, 98, 112, 102, 95, 108, 105, 110, 107, 95, 116, 121, 112, 101, 0, - 100, 101, 97, 108, 108, 111, 99, 0, 117, 112, 100, 97, 116, 101, 95, 112, 114, 111, 103, 0, - 102, 105, 108, 108, 95, 108, 105, 110, 107, 95, 105, 110, 102, 111, 0, 116, 112, 95, 110, 97, - 109, 101, 0, 116, 112, 95, 110, 97, 109, 101, 95, 108, 101, 110, 0, 116, 114, 97, 99, 105, 110, - 103, 0, 116, 97, 114, 103, 101, 116, 95, 111, 98, 106, 95, 105, 100, 0, 99, 103, 114, 111, 117, - 112, 95, 105, 100, 0, 116, 97, 114, 103, 101, 116, 95, 110, 97, 109, 101, 95, 108, 101, 110, 0, - 110, 101, 116, 110, 115, 0, 110, 101, 116, 110, 115, 95, 105, 110, 111, 0, 98, 112, 102, 95, - 108, 105, 110, 107, 95, 105, 110, 102, 111, 0, 98, 112, 102, 95, 108, 105, 110, 107, 95, 111, - 112, 115, 0, 98, 112, 102, 95, 108, 105, 110, 107, 0, 98, 112, 102, 95, 120, 100, 112, 95, 108, - 105, 110, 107, 0, 98, 112, 102, 95, 120, 100, 112, 95, 101, 110, 116, 105, 116, 121, 0, 110, - 101, 116, 95, 100, 101, 118, 105, 99, 101, 0, 98, 114, 105, 100, 103, 101, 0, 118, 108, 97, - 110, 95, 109, 111, 100, 101, 0, 68, 69, 86, 95, 80, 65, 84, 72, 95, 66, 82, 95, 86, 76, 65, 78, - 95, 75, 69, 69, 80, 0, 68, 69, 86, 95, 80, 65, 84, 72, 95, 66, 82, 95, 86, 76, 65, 78, 95, 84, - 65, 71, 0, 68, 69, 86, 95, 80, 65, 84, 72, 95, 66, 82, 95, 86, 76, 65, 78, 95, 85, 78, 84, 65, - 71, 0, 68, 69, 86, 95, 80, 65, 84, 72, 95, 66, 82, 95, 86, 76, 65, 78, 95, 85, 78, 84, 65, 71, - 95, 72, 87, 0, 100, 115, 97, 0, 110, 101, 116, 95, 100, 101, 118, 105, 99, 101, 95, 112, 97, - 116, 104, 0, 66, 80, 70, 95, 70, 95, 73, 78, 68, 69, 88, 95, 77, 65, 83, 75, 0, 66, 80, 70, 95, - 70, 95, 67, 85, 82, 82, 69, 78, 84, 95, 67, 80, 85, 0, 66, 80, 70, 95, 70, 95, 67, 84, 88, 76, - 69, 78, 95, 77, 65, 83, 75, 0, 112, 105, 110, 101, 116, 54, 0, 115, 116, 105, 99, 107, 121, 95, - 112, 107, 116, 105, 110, 102, 111, 0, 105, 112, 105, 54, 95, 97, 100, 100, 114, 0, 105, 112, - 105, 54, 95, 105, 102, 105, 110, 100, 101, 120, 0, 105, 110, 54, 95, 112, 107, 116, 105, 110, - 102, 111, 0, 100, 97, 100, 100, 114, 95, 99, 97, 99, 104, 101, 0, 115, 97, 100, 100, 114, 95, - 99, 97, 99, 104, 101, 0, 102, 108, 111, 119, 95, 108, 97, 98, 101, 108, 0, 102, 114, 97, 103, - 95, 115, 105, 122, 101, 0, 95, 95, 117, 110, 117, 115, 101, 100, 95, 49, 0, 109, 99, 95, 108, - 111, 111, 112, 0, 95, 95, 117, 110, 117, 115, 101, 100, 95, 50, 0, 109, 99, 97, 115, 116, 95, - 104, 111, 112, 115, 0, 117, 99, 97, 115, 116, 95, 111, 105, 102, 0, 109, 99, 97, 115, 116, 95, - 111, 105, 102, 0, 114, 120, 111, 112, 116, 0, 115, 114, 99, 114, 116, 0, 111, 115, 114, 99, - 114, 116, 0, 114, 120, 105, 110, 102, 111, 0, 114, 120, 111, 105, 110, 102, 111, 0, 114, 120, - 104, 108, 105, 109, 0, 114, 120, 111, 104, 108, 105, 109, 0, 104, 111, 112, 111, 112, 116, 115, - 0, 111, 104, 111, 112, 111, 112, 116, 115, 0, 100, 115, 116, 111, 112, 116, 115, 0, 111, 100, - 115, 116, 111, 112, 116, 115, 0, 114, 120, 102, 108, 111, 119, 0, 114, 120, 116, 99, 108, 97, - 115, 115, 0, 114, 120, 112, 109, 116, 117, 0, 114, 120, 111, 114, 105, 103, 100, 115, 116, 97, - 100, 100, 114, 0, 114, 101, 99, 118, 102, 114, 97, 103, 115, 105, 122, 101, 0, 114, 101, 99, - 118, 101, 114, 114, 0, 115, 110, 100, 102, 108, 111, 119, 0, 114, 101, 112, 102, 108, 111, 119, - 0, 112, 109, 116, 117, 100, 105, 115, 99, 0, 115, 114, 99, 112, 114, 101, 102, 115, 0, 100, - 111, 110, 116, 102, 114, 97, 103, 0, 97, 117, 116, 111, 102, 108, 111, 119, 108, 97, 98, 101, - 108, 0, 97, 117, 116, 111, 102, 108, 111, 119, 108, 97, 98, 101, 108, 95, 115, 101, 116, 0, - 109, 99, 95, 97, 108, 108, 0, 114, 101, 99, 118, 101, 114, 114, 95, 114, 102, 99, 52, 56, 56, - 52, 0, 114, 116, 97, 108, 101, 114, 116, 95, 105, 115, 111, 108, 97, 116, 101, 0, 109, 105, - 110, 95, 104, 111, 112, 99, 111, 117, 110, 116, 0, 114, 99, 118, 95, 102, 108, 111, 119, 105, - 110, 102, 111, 0, 100, 115, 116, 95, 99, 111, 111, 107, 105, 101, 0, 114, 120, 95, 100, 115, - 116, 95, 99, 111, 111, 107, 105, 101, 0, 105, 112, 118, 54, 95, 109, 99, 95, 108, 105, 115, - 116, 0, 115, 102, 108, 105, 115, 116, 0, 115, 108, 95, 109, 97, 120, 0, 115, 108, 95, 99, 111, - 117, 110, 116, 0, 115, 108, 95, 97, 100, 100, 114, 0, 105, 112, 54, 95, 115, 102, 95, 115, 111, - 99, 107, 108, 105, 115, 116, 0, 105, 112, 118, 54, 95, 109, 99, 95, 115, 111, 99, 107, 108, - 105, 115, 116, 0, 105, 112, 118, 54, 95, 97, 99, 95, 108, 105, 115, 116, 0, 97, 99, 108, 95, - 97, 100, 100, 114, 0, 97, 99, 108, 95, 105, 102, 105, 110, 100, 101, 120, 0, 97, 99, 108, 95, - 110, 101, 120, 116, 0, 105, 112, 118, 54, 95, 97, 99, 95, 115, 111, 99, 107, 108, 105, 115, - 116, 0, 105, 112, 118, 54, 95, 102, 108, 95, 108, 105, 115, 116, 0, 102, 108, 0, 111, 112, 116, - 95, 102, 108, 101, 110, 0, 111, 112, 116, 95, 110, 102, 108, 101, 110, 0, 104, 111, 112, 111, - 112, 116, 0, 110, 101, 120, 116, 104, 100, 114, 0, 104, 100, 114, 108, 101, 110, 0, 105, 112, - 118, 54, 95, 111, 112, 116, 95, 104, 100, 114, 0, 100, 115, 116, 48, 111, 112, 116, 0, 115, - 101, 103, 109, 101, 110, 116, 115, 95, 108, 101, 102, 116, 0, 105, 112, 118, 54, 95, 114, 116, - 95, 104, 100, 114, 0, 100, 115, 116, 49, 111, 112, 116, 0, 105, 112, 118, 54, 95, 116, 120, - 111, 112, 116, 105, 111, 110, 115, 0, 108, 105, 110, 103, 101, 114, 0, 102, 108, 95, 110, 101, - 116, 0, 105, 112, 54, 95, 102, 108, 111, 119, 108, 97, 98, 101, 108, 0, 105, 112, 118, 54, 95, - 102, 108, 95, 115, 111, 99, 107, 108, 105, 115, 116, 0, 112, 107, 116, 111, 112, 116, 105, 111, - 110, 115, 0, 105, 110, 101, 116, 54, 95, 99, 111, 114, 107, 0, 105, 112, 118, 54, 95, 112, 105, - 110, 102, 111, 0, 105, 110, 101, 116, 95, 115, 97, 100, 100, 114, 0, 117, 99, 95, 116, 116, - 108, 0, 99, 109, 115, 103, 95, 102, 108, 97, 103, 115, 0, 105, 110, 101, 116, 95, 115, 112, - 111, 114, 116, 0, 105, 110, 101, 116, 95, 105, 100, 0, 105, 110, 101, 116, 95, 111, 112, 116, - 0, 102, 97, 100, 100, 114, 0, 111, 112, 116, 108, 101, 110, 0, 115, 114, 114, 0, 114, 114, 0, - 105, 115, 95, 115, 116, 114, 105, 99, 116, 114, 111, 117, 116, 101, 0, 115, 114, 114, 95, 105, - 115, 95, 104, 105, 116, 0, 105, 115, 95, 99, 104, 97, 110, 103, 101, 100, 0, 114, 114, 95, 110, - 101, 101, 100, 97, 100, 100, 114, 0, 116, 115, 95, 110, 101, 101, 100, 116, 105, 109, 101, 0, - 116, 115, 95, 110, 101, 101, 100, 97, 100, 100, 114, 0, 114, 111, 117, 116, 101, 114, 95, 97, - 108, 101, 114, 116, 0, 99, 105, 112, 115, 111, 0, 105, 112, 95, 111, 112, 116, 105, 111, 110, - 115, 0, 105, 112, 95, 111, 112, 116, 105, 111, 110, 115, 95, 114, 99, 117, 0, 114, 120, 95, - 100, 115, 116, 95, 105, 102, 105, 110, 100, 101, 120, 0, 109, 105, 110, 95, 116, 116, 108, 0, - 109, 99, 95, 116, 116, 108, 0, 105, 115, 95, 105, 99, 115, 107, 0, 102, 114, 101, 101, 98, 105, - 110, 100, 0, 104, 100, 114, 105, 110, 99, 108, 0, 116, 114, 97, 110, 115, 112, 97, 114, 101, - 110, 116, 0, 110, 111, 100, 101, 102, 114, 97, 103, 0, 98, 105, 110, 100, 95, 97, 100, 100, - 114, 101, 115, 115, 95, 110, 111, 95, 112, 111, 114, 116, 0, 100, 101, 102, 101, 114, 95, 99, - 111, 110, 110, 101, 99, 116, 0, 114, 99, 118, 95, 116, 111, 115, 0, 99, 111, 110, 118, 101, - 114, 116, 95, 99, 115, 117, 109, 0, 117, 99, 95, 105, 110, 100, 101, 120, 0, 109, 99, 95, 105, - 110, 100, 101, 120, 0, 109, 99, 95, 97, 100, 100, 114, 0, 109, 117, 108, 116, 105, 0, 105, 109, - 114, 95, 109, 117, 108, 116, 105, 97, 100, 100, 114, 0, 105, 109, 114, 95, 97, 100, 100, 114, - 101, 115, 115, 0, 105, 109, 114, 95, 105, 102, 105, 110, 100, 101, 120, 0, 105, 112, 95, 109, - 114, 101, 113, 110, 0, 105, 112, 95, 115, 102, 95, 115, 111, 99, 107, 108, 105, 115, 116, 0, - 105, 112, 95, 109, 99, 95, 115, 111, 99, 107, 108, 105, 115, 116, 0, 102, 114, 97, 103, 115, - 105, 122, 101, 0, 116, 120, 95, 102, 108, 97, 103, 115, 0, 103, 115, 111, 95, 115, 105, 122, - 101, 0, 116, 114, 97, 110, 115, 109, 105, 116, 95, 116, 105, 109, 101, 0, 105, 110, 101, 116, - 95, 99, 111, 114, 107, 0, 105, 110, 101, 116, 95, 99, 111, 114, 107, 95, 102, 117, 108, 108, 0, - 105, 110, 101, 116, 95, 115, 111, 99, 107, 0, 95, 95, 95, 95, 116, 99, 112, 95, 99, 111, 110, - 110, 101, 99, 116, 0, 101, 120, 97, 109, 112, 108, 101, 0, 105, 110, 101, 116, 0, 116, 99, 112, - 95, 99, 111, 110, 110, 101, 99, 116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 1, 0, - 81, 8, 0, 0, 0, 0, 0, 0, 0, 128, 1, 0, 0, 0, 0, 0, 0, 1, 0, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 87, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 87, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 17, 1, 37, 14, 19, 5, 3, 14, 16, 23, 27, 14, 17, - 1, 18, 6, 0, 0, 2, 52, 0, 3, 14, 73, 19, 63, 25, 58, 11, 59, 11, 2, 24, 0, 0, 3, 1, 1, 73, 19, - 0, 0, 4, 33, 0, 73, 19, 55, 11, 0, 0, 5, 36, 0, 3, 14, 62, 11, 11, 11, 0, 0, 6, 36, 0, 3, 14, - 11, 11, 62, 11, 0, 0, 7, 19, 1, 11, 11, 58, 11, 59, 11, 0, 0, 8, 13, 0, 3, 14, 73, 19, 58, 11, - 59, 11, 56, 11, 0, 0, 9, 15, 0, 73, 19, 0, 0, 10, 52, 0, 3, 14, 73, 19, 58, 11, 59, 5, 0, 0, - 11, 21, 0, 73, 19, 39, 25, 0, 0, 12, 22, 0, 73, 19, 3, 14, 58, 11, 59, 11, 0, 0, 13, 21, 1, 73, - 19, 39, 25, 0, 0, 14, 5, 0, 73, 19, 0, 0, 15, 15, 0, 0, 0, 16, 38, 0, 0, 0, 17, 4, 1, 73, 19, - 3, 14, 11, 11, 58, 11, 59, 5, 0, 0, 18, 40, 0, 3, 14, 28, 15, 0, 0, 19, 4, 1, 73, 19, 3, 14, - 11, 11, 58, 11, 59, 6, 0, 0, 20, 19, 1, 3, 14, 11, 11, 58, 11, 59, 5, 0, 0, 21, 13, 0, 3, 14, - 73, 19, 58, 11, 59, 5, 56, 11, 0, 0, 22, 13, 0, 73, 19, 58, 11, 59, 5, 56, 11, 0, 0, 23, 23, 1, - 11, 11, 58, 11, 59, 5, 0, 0, 24, 19, 1, 11, 11, 58, 11, 59, 5, 0, 0, 25, 4, 1, 73, 19, 11, 11, - 58, 11, 59, 5, 0, 0, 26, 38, 0, 73, 19, 0, 0, 27, 19, 1, 3, 14, 11, 5, 58, 11, 59, 5, 0, 0, 28, - 13, 0, 3, 14, 73, 19, 58, 11, 59, 5, 56, 5, 0, 0, 29, 13, 0, 3, 14, 73, 19, 58, 11, 59, 5, 11, - 11, 13, 11, 12, 11, 56, 5, 0, 0, 30, 13, 0, 73, 19, 58, 11, 59, 5, 56, 5, 0, 0, 31, 19, 1, 3, - 14, 11, 11, 58, 11, 59, 11, 0, 0, 32, 21, 1, 39, 25, 0, 0, 33, 22, 0, 73, 19, 3, 14, 58, 11, - 59, 5, 0, 0, 34, 13, 0, 3, 14, 73, 19, 58, 11, 59, 5, 11, 11, 13, 11, 12, 11, 56, 11, 0, 0, 35, - 53, 0, 73, 19, 0, 0, 36, 13, 0, 73, 19, 58, 11, 59, 11, 56, 11, 0, 0, 37, 23, 1, 11, 11, 58, - 11, 59, 11, 0, 0, 38, 19, 1, 3, 14, 11, 5, 58, 11, 59, 11, 0, 0, 39, 33, 0, 73, 19, 55, 5, 0, - 0, 40, 21, 1, 73, 19, 0, 0, 41, 24, 0, 0, 0, 42, 19, 1, 11, 5, 58, 11, 59, 5, 0, 0, 43, 23, 1, - 3, 14, 11, 11, 58, 11, 59, 5, 0, 0, 44, 19, 0, 3, 14, 11, 11, 58, 11, 59, 11, 0, 0, 45, 19, 0, - 3, 14, 60, 25, 0, 0, 46, 19, 0, 3, 14, 11, 11, 58, 11, 59, 5, 0, 0, 47, 19, 1, 3, 14, 11, 11, - 58, 11, 59, 6, 0, 0, 48, 13, 0, 3, 14, 73, 19, 58, 11, 59, 6, 56, 11, 0, 0, 49, 13, 0, 3, 14, - 73, 19, 58, 11, 59, 6, 11, 11, 13, 11, 12, 11, 56, 11, 0, 0, 50, 19, 1, 3, 14, 11, 5, 58, 11, - 59, 6, 0, 0, 51, 13, 0, 73, 19, 58, 11, 59, 6, 56, 11, 0, 0, 52, 23, 1, 11, 5, 58, 11, 59, 6, - 0, 0, 53, 13, 0, 3, 14, 73, 19, 58, 11, 59, 6, 56, 5, 0, 0, 54, 22, 0, 73, 19, 3, 14, 58, 11, - 59, 6, 0, 0, 55, 13, 0, 3, 14, 73, 19, 58, 11, 59, 6, 11, 11, 13, 11, 12, 11, 56, 5, 0, 0, 56, - 21, 1, 0, 0, 57, 19, 0, 11, 11, 58, 11, 59, 5, 0, 0, 58, 23, 1, 3, 14, 11, 11, 58, 11, 59, 6, - 0, 0, 59, 23, 1, 11, 11, 58, 11, 59, 6, 0, 0, 60, 19, 1, 11, 11, 58, 11, 59, 6, 0, 0, 61, 19, - 0, 11, 11, 58, 11, 59, 6, 0, 0, 62, 23, 1, 3, 14, 11, 5, 58, 11, 59, 5, 0, 0, 63, 19, 1, 3, 14, - 11, 6, 58, 11, 59, 5, 0, 0, 64, 4, 1, 73, 19, 11, 11, 58, 11, 59, 6, 0, 0, 65, 19, 1, 11, 5, - 58, 11, 59, 6, 0, 0, 66, 46, 1, 3, 14, 58, 11, 59, 11, 39, 25, 73, 19, 32, 11, 0, 0, 67, 5, 0, - 3, 14, 58, 11, 59, 11, 73, 19, 0, 0, 68, 52, 0, 3, 14, 58, 11, 59, 11, 73, 19, 0, 0, 69, 46, 1, - 17, 1, 18, 6, 64, 24, 151, 66, 25, 3, 14, 58, 11, 59, 11, 39, 25, 73, 19, 63, 25, 0, 0, 70, 5, - 0, 2, 23, 3, 14, 58, 11, 59, 11, 73, 19, 0, 0, 71, 29, 1, 49, 19, 85, 23, 88, 11, 89, 11, 87, - 11, 0, 0, 72, 5, 0, 2, 24, 49, 19, 0, 0, 73, 5, 0, 2, 23, 49, 19, 0, 0, 74, 52, 0, 2, 24, 49, - 19, 0, 0, 75, 52, 0, 2, 23, 49, 19, 0, 0, 0, 61, 36, 4, 0, 4, 0, 0, 0, 0, 0, 8, 1, 0, 0, 0, 0, - 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 1, 0, 0, 2, 0, 0, 0, 0, - 63, 0, 0, 0, 1, 33, 9, 3, 0, 0, 0, 0, 0, 0, 0, 0, 3, 75, 0, 0, 0, 4, 82, 0, 0, 0, 4, 0, 5, 0, - 0, 0, 0, 6, 1, 6, 0, 0, 0, 0, 8, 7, 2, 0, 0, 0, 0, 110, 0, 0, 0, 1, 14, 9, 3, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 24, 1, 9, 8, 0, 0, 0, 0, 151, 0, 0, 0, 1, 11, 0, 8, 0, 0, 0, 0, 151, 0, 0, 0, 1, 12, - 8, 8, 0, 0, 0, 0, 151, 0, 0, 0, 1, 13, 16, 0, 9, 156, 0, 0, 0, 3, 168, 0, 0, 0, 4, 82, 0, 0, 0, - 4, 0, 5, 0, 0, 0, 0, 5, 4, 10, 0, 0, 0, 0, 187, 0, 0, 0, 3, 106, 1, 9, 192, 0, 0, 0, 11, 197, - 0, 0, 0, 12, 208, 0, 0, 0, 0, 0, 0, 0, 2, 20, 5, 0, 0, 0, 0, 7, 8, 10, 0, 0, 0, 0, 227, 0, 0, - 0, 3, 131, 1, 9, 232, 0, 0, 0, 13, 248, 0, 0, 0, 14, 255, 0, 0, 0, 14, 0, 1, 0, 0, 0, 5, 0, 0, - 0, 0, 5, 8, 15, 12, 11, 1, 0, 0, 0, 0, 0, 0, 2, 16, 5, 0, 0, 0, 0, 7, 4, 10, 0, 0, 0, 0, 30, 1, - 0, 0, 3, 192, 10, 9, 35, 1, 0, 0, 13, 248, 0, 0, 0, 14, 255, 0, 0, 0, 14, 0, 1, 0, 0, 14, 56, - 1, 0, 0, 0, 9, 61, 1, 0, 0, 16, 10, 0, 0, 0, 0, 74, 1, 0, 0, 3, 174, 2, 9, 79, 1, 0, 0, 13, - 248, 0, 0, 0, 14, 255, 0, 0, 0, 14, 255, 0, 0, 0, 14, 197, 0, 0, 0, 14, 255, 0, 0, 0, 14, 197, - 0, 0, 0, 0, 17, 11, 1, 0, 0, 0, 0, 0, 0, 4, 2, 54, 34, 18, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 1, - 18, 0, 0, 0, 0, 2, 18, 0, 0, 0, 0, 3, 18, 0, 0, 0, 0, 4, 18, 0, 0, 0, 0, 5, 0, 17, 11, 1, 0, 0, - 0, 0, 0, 0, 4, 2, 224, 20, 18, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 1, 18, 0, 0, 0, 0, 2, 18, 0, 0, - 0, 0, 3, 0, 17, 11, 1, 0, 0, 0, 0, 0, 0, 4, 2, 96, 174, 18, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 1, - 18, 0, 0, 0, 0, 2, 0, 17, 11, 1, 0, 0, 0, 0, 0, 0, 4, 2, 18, 139, 18, 0, 0, 0, 0, 0, 18, 0, 0, - 0, 0, 1, 18, 0, 0, 0, 0, 2, 18, 0, 0, 0, 0, 3, 0, 17, 11, 1, 0, 0, 0, 0, 0, 0, 4, 2, 234, 8, - 18, 0, 0, 0, 0, 1, 18, 0, 0, 0, 0, 2, 18, 0, 0, 0, 0, 4, 18, 0, 0, 0, 0, 8, 18, 0, 0, 0, 0, 16, - 18, 0, 0, 0, 0, 32, 18, 0, 0, 0, 0, 64, 18, 0, 0, 0, 0, 128, 1, 18, 0, 0, 0, 0, 128, 2, 18, 0, - 0, 0, 0, 128, 4, 0, 17, 11, 1, 0, 0, 0, 0, 0, 0, 4, 2, 196, 8, 18, 0, 0, 0, 0, 0, 18, 0, 0, 0, - 0, 1, 18, 0, 0, 0, 0, 2, 0, 17, 11, 1, 0, 0, 0, 0, 0, 0, 4, 2, 78, 27, 18, 0, 0, 0, 0, 0, 18, - 0, 0, 0, 0, 1, 18, 0, 0, 0, 0, 2, 0, 19, 11, 1, 0, 0, 0, 0, 0, 0, 4, 2, 18, 76, 1, 0, 18, 0, 0, - 0, 0, 0, 18, 0, 0, 0, 0, 1, 0, 17, 11, 1, 0, 0, 0, 0, 0, 0, 4, 2, 204, 90, 18, 0, 0, 0, 0, 0, - 18, 0, 0, 0, 0, 1, 18, 0, 0, 0, 0, 2, 18, 0, 0, 0, 0, 3, 18, 0, 0, 0, 0, 4, 0, 17, 11, 1, 0, 0, - 0, 0, 0, 0, 4, 2, 86, 27, 18, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 1, 18, 0, 0, 0, 0, 2, 0, 17, 11, - 1, 0, 0, 0, 0, 0, 0, 4, 2, 71, 20, 18, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 1, 18, 0, 0, 0, 0, 2, 0, - 17, 11, 1, 0, 0, 0, 0, 0, 0, 4, 2, 44, 27, 18, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 1, 18, 0, 0, 0, - 0, 2, 0, 17, 11, 1, 0, 0, 0, 0, 0, 0, 4, 2, 83, 25, 18, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 1, 18, - 0, 0, 0, 0, 2, 18, 0, 0, 0, 0, 3, 0, 17, 11, 1, 0, 0, 0, 0, 0, 0, 4, 2, 207, 1, 18, 0, 0, 0, 0, - 0, 18, 0, 0, 0, 0, 1, 0, 17, 11, 1, 0, 0, 0, 0, 0, 0, 4, 2, 103, 25, 18, 0, 0, 0, 0, 0, 18, 0, - 0, 0, 0, 1, 18, 0, 0, 0, 0, 2, 18, 0, 0, 0, 0, 3, 18, 0, 0, 0, 0, 4, 0, 17, 11, 1, 0, 0, 0, 0, - 0, 0, 4, 2, 105, 23, 18, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 1, 18, 0, 0, 0, 0, 2, 18, 0, 0, 0, 0, - 3, 0, 17, 11, 1, 0, 0, 0, 0, 0, 0, 4, 2, 110, 81, 18, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 1, 18, 0, - 0, 0, 0, 2, 0, 17, 11, 1, 0, 0, 0, 0, 0, 0, 4, 2, 235, 81, 18, 0, 0, 0, 0, 1, 18, 0, 0, 0, 0, - 2, 18, 0, 0, 0, 0, 3, 18, 0, 0, 0, 0, 4, 18, 0, 0, 0, 0, 5, 0, 17, 11, 1, 0, 0, 0, 0, 0, 0, 4, - 2, 224, 81, 18, 0, 0, 0, 0, 1, 18, 0, 0, 0, 0, 2, 0, 17, 11, 1, 0, 0, 0, 0, 0, 0, 4, 2, 105, - 19, 18, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 1, 18, 0, 0, 0, 0, 2, 18, 0, 0, 0, 0, 3, 18, 0, 0, 0, 0, - 4, 18, 0, 0, 0, 0, 5, 18, 0, 0, 0, 0, 6, 18, 0, 0, 0, 0, 7, 18, 0, 0, 0, 0, 8, 18, 0, 0, 0, 0, - 9, 18, 0, 0, 0, 0, 10, 0, 17, 11, 1, 0, 0, 0, 0, 0, 0, 4, 2, 95, 85, 18, 0, 0, 0, 0, 1, 18, 0, - 0, 0, 0, 2, 18, 0, 0, 0, 0, 3, 18, 0, 0, 0, 0, 4, 18, 0, 0, 0, 0, 5, 18, 0, 0, 0, 0, 6, 18, 0, - 0, 0, 0, 7, 0, 17, 11, 1, 0, 0, 0, 0, 0, 0, 4, 2, 40, 57, 18, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 1, - 18, 0, 0, 0, 0, 2, 18, 0, 0, 0, 0, 3, 0, 17, 11, 1, 0, 0, 0, 0, 0, 0, 4, 2, 77, 58, 18, 0, 0, - 0, 0, 1, 18, 0, 0, 0, 0, 2, 18, 0, 0, 0, 0, 4, 18, 0, 0, 0, 0, 8, 18, 0, 0, 0, 0, 16, 0, 17, - 11, 1, 0, 0, 0, 0, 0, 0, 4, 2, 223, 56, 18, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 1, 18, 0, 0, 0, 0, - 2, 0, 17, 11, 1, 0, 0, 0, 0, 0, 0, 4, 2, 205, 27, 18, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 1, 18, 0, - 0, 0, 0, 2, 18, 0, 0, 0, 0, 3, 0, 17, 11, 1, 0, 0, 0, 0, 0, 0, 4, 2, 176, 25, 18, 0, 0, 0, 0, - 0, 18, 0, 0, 0, 0, 1, 18, 0, 0, 0, 0, 2, 18, 0, 0, 0, 0, 3, 0, 17, 11, 1, 0, 0, 0, 0, 0, 0, 4, - 2, 209, 40, 18, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 1, 18, 0, 0, 0, 0, 2, 18, 0, 0, 0, 0, 3, 18, 0, - 0, 0, 0, 4, 18, 0, 0, 0, 0, 5, 18, 0, 0, 0, 0, 6, 18, 0, 0, 0, 0, 7, 18, 0, 0, 0, 0, 8, 18, 0, - 0, 0, 0, 9, 18, 0, 0, 0, 0, 10, 18, 0, 0, 0, 0, 11, 18, 0, 0, 0, 0, 12, 18, 0, 0, 0, 0, 13, 18, - 0, 0, 0, 0, 14, 18, 0, 0, 0, 0, 15, 18, 0, 0, 0, 0, 16, 18, 0, 0, 0, 0, 17, 18, 0, 0, 0, 0, 18, - 18, 0, 0, 0, 0, 19, 18, 0, 0, 0, 0, 20, 18, 0, 0, 0, 0, 21, 18, 0, 0, 0, 0, 22, 18, 0, 0, 0, 0, - 23, 18, 0, 0, 0, 0, 24, 18, 0, 0, 0, 0, 25, 18, 0, 0, 0, 0, 26, 18, 0, 0, 0, 0, 27, 18, 0, 0, - 0, 0, 28, 18, 0, 0, 0, 0, 29, 18, 0, 0, 0, 0, 30, 18, 0, 0, 0, 0, 31, 0, 17, 11, 1, 0, 0, 0, 0, - 0, 0, 4, 2, 244, 40, 18, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 1, 18, 0, 0, 0, 0, 2, 18, 0, 0, 0, 0, - 3, 18, 0, 0, 0, 0, 4, 18, 0, 0, 0, 0, 5, 18, 0, 0, 0, 0, 6, 18, 0, 0, 0, 0, 7, 18, 0, 0, 0, 0, - 8, 18, 0, 0, 0, 0, 9, 18, 0, 0, 0, 0, 10, 18, 0, 0, 0, 0, 11, 18, 0, 0, 0, 0, 12, 18, 0, 0, 0, - 0, 13, 18, 0, 0, 0, 0, 14, 18, 0, 0, 0, 0, 15, 18, 0, 0, 0, 0, 16, 18, 0, 0, 0, 0, 17, 18, 0, - 0, 0, 0, 18, 18, 0, 0, 0, 0, 19, 18, 0, 0, 0, 0, 20, 18, 0, 0, 0, 0, 21, 18, 0, 0, 0, 0, 22, - 18, 0, 0, 0, 0, 23, 18, 0, 0, 0, 0, 24, 18, 0, 0, 0, 0, 25, 18, 0, 0, 0, 0, 26, 18, 0, 0, 0, 0, - 27, 18, 0, 0, 0, 0, 28, 18, 0, 0, 0, 0, 29, 18, 0, 0, 0, 0, 30, 18, 0, 0, 0, 0, 31, 18, 0, 0, - 0, 0, 32, 18, 0, 0, 0, 0, 33, 18, 0, 0, 0, 0, 34, 18, 0, 0, 0, 0, 35, 18, 0, 0, 0, 0, 36, 18, - 0, 0, 0, 0, 37, 18, 0, 0, 0, 0, 38, 18, 0, 0, 0, 0, 39, 18, 0, 0, 0, 0, 40, 18, 0, 0, 0, 0, 41, - 18, 0, 0, 0, 0, 42, 0, 17, 11, 1, 0, 0, 0, 0, 0, 0, 4, 2, 83, 44, 18, 0, 0, 0, 0, 0, 18, 0, 0, - 0, 0, 1, 18, 0, 0, 0, 0, 2, 18, 0, 0, 0, 0, 3, 18, 0, 0, 0, 0, 4, 18, 0, 0, 0, 0, 5, 18, 0, 0, - 0, 0, 6, 18, 0, 0, 0, 0, 7, 18, 0, 0, 0, 0, 8, 18, 0, 0, 0, 0, 9, 18, 0, 0, 0, 0, 10, 18, 0, 0, - 0, 0, 11, 18, 0, 0, 0, 0, 12, 18, 0, 0, 0, 0, 13, 18, 0, 0, 0, 0, 14, 18, 0, 0, 0, 0, 15, 18, - 0, 0, 0, 0, 16, 18, 0, 0, 0, 0, 17, 18, 0, 0, 0, 0, 18, 18, 0, 0, 0, 0, 19, 18, 0, 0, 0, 0, 20, - 18, 0, 0, 0, 0, 21, 18, 0, 0, 0, 0, 22, 18, 0, 0, 0, 0, 23, 18, 0, 0, 0, 0, 24, 18, 0, 0, 0, 0, - 25, 18, 0, 0, 0, 0, 26, 18, 0, 0, 0, 0, 27, 18, 0, 0, 0, 0, 28, 18, 0, 0, 0, 0, 29, 18, 0, 0, - 0, 0, 30, 0, 17, 11, 1, 0, 0, 0, 0, 0, 0, 4, 2, 49, 153, 18, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 1, - 18, 0, 0, 0, 0, 2, 18, 0, 0, 0, 0, 3, 18, 0, 0, 0, 0, 4, 18, 0, 0, 0, 0, 5, 18, 0, 0, 0, 0, 6, - 18, 0, 0, 0, 0, 7, 18, 0, 0, 0, 0, 8, 18, 0, 0, 0, 0, 9, 18, 0, 0, 0, 0, 10, 18, 0, 0, 0, 0, - 11, 0, 17, 11, 1, 0, 0, 0, 0, 0, 0, 4, 2, 15, 153, 18, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 1, 18, 0, - 0, 0, 0, 2, 18, 0, 0, 0, 0, 3, 18, 0, 0, 0, 0, 4, 18, 0, 0, 0, 0, 5, 18, 0, 0, 0, 0, 6, 18, 0, - 0, 0, 0, 7, 18, 0, 0, 0, 0, 8, 18, 0, 0, 0, 0, 9, 18, 0, 0, 0, 0, 10, 18, 0, 0, 0, 0, 11, 18, - 0, 0, 0, 0, 12, 18, 0, 0, 0, 0, 13, 18, 0, 0, 0, 0, 14, 18, 0, 0, 0, 0, 15, 18, 0, 0, 0, 0, 16, - 18, 0, 0, 0, 0, 17, 18, 0, 0, 0, 0, 18, 18, 0, 0, 0, 0, 19, 18, 0, 0, 0, 0, 20, 18, 0, 0, 0, 0, - 21, 18, 0, 0, 0, 0, 22, 18, 0, 0, 0, 0, 23, 18, 0, 0, 0, 0, 24, 18, 0, 0, 0, 0, 25, 18, 0, 0, - 0, 0, 26, 18, 0, 0, 0, 0, 27, 18, 0, 0, 0, 0, 28, 18, 0, 0, 0, 0, 29, 18, 0, 0, 0, 0, 30, 0, - 17, 11, 1, 0, 0, 0, 0, 0, 0, 4, 2, 23, 152, 18, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 1, 18, 0, 0, 0, - 0, 2, 18, 0, 0, 0, 0, 3, 18, 0, 0, 0, 0, 4, 18, 0, 0, 0, 0, 5, 18, 0, 0, 0, 0, 6, 18, 0, 0, 0, - 0, 7, 18, 0, 0, 0, 0, 8, 18, 0, 0, 0, 0, 9, 18, 0, 0, 0, 0, 10, 18, 0, 0, 0, 0, 11, 18, 0, 0, - 0, 0, 12, 18, 0, 0, 0, 0, 13, 18, 0, 0, 0, 0, 14, 18, 0, 0, 0, 0, 15, 18, 0, 0, 0, 0, 16, 18, - 0, 0, 0, 0, 17, 18, 0, 0, 0, 0, 18, 18, 0, 0, 0, 0, 19, 18, 0, 0, 0, 0, 20, 18, 0, 0, 0, 0, 21, - 18, 0, 0, 0, 0, 22, 18, 0, 0, 0, 0, 23, 18, 0, 0, 0, 0, 24, 18, 0, 0, 0, 0, 25, 18, 0, 0, 0, 0, - 26, 18, 0, 0, 0, 0, 27, 18, 0, 0, 0, 0, 28, 18, 0, 0, 0, 0, 29, 18, 0, 0, 0, 0, 30, 18, 0, 0, - 0, 0, 31, 18, 0, 0, 0, 0, 32, 18, 0, 0, 0, 0, 33, 18, 0, 0, 0, 0, 34, 18, 0, 0, 0, 0, 35, 18, - 0, 0, 0, 0, 36, 18, 0, 0, 0, 0, 37, 18, 0, 0, 0, 0, 38, 18, 0, 0, 0, 0, 39, 18, 0, 0, 0, 0, 40, - 18, 0, 0, 0, 0, 41, 18, 0, 0, 0, 0, 42, 18, 0, 0, 0, 0, 43, 18, 0, 0, 0, 0, 44, 18, 0, 0, 0, 0, - 45, 18, 0, 0, 0, 0, 46, 18, 0, 0, 0, 0, 47, 18, 0, 0, 0, 0, 48, 18, 0, 0, 0, 0, 49, 18, 0, 0, - 0, 0, 50, 18, 0, 0, 0, 0, 51, 18, 0, 0, 0, 0, 52, 18, 0, 0, 0, 0, 53, 18, 0, 0, 0, 0, 54, 18, - 0, 0, 0, 0, 55, 18, 0, 0, 0, 0, 56, 18, 0, 0, 0, 0, 57, 18, 0, 0, 0, 0, 58, 18, 0, 0, 0, 0, 59, - 18, 0, 0, 0, 0, 60, 18, 0, 0, 0, 0, 61, 18, 0, 0, 0, 0, 62, 18, 0, 0, 0, 0, 63, 18, 0, 0, 0, 0, - 64, 18, 0, 0, 0, 0, 65, 18, 0, 0, 0, 0, 66, 18, 0, 0, 0, 0, 67, 18, 0, 0, 0, 0, 68, 18, 0, 0, - 0, 0, 69, 18, 0, 0, 0, 0, 70, 18, 0, 0, 0, 0, 71, 18, 0, 0, 0, 0, 72, 18, 0, 0, 0, 0, 73, 18, - 0, 0, 0, 0, 74, 18, 0, 0, 0, 0, 75, 18, 0, 0, 0, 0, 76, 18, 0, 0, 0, 0, 77, 18, 0, 0, 0, 0, 78, - 18, 0, 0, 0, 0, 79, 18, 0, 0, 0, 0, 80, 18, 0, 0, 0, 0, 81, 18, 0, 0, 0, 0, 82, 18, 0, 0, 0, 0, - 83, 18, 0, 0, 0, 0, 84, 18, 0, 0, 0, 0, 85, 18, 0, 0, 0, 0, 86, 18, 0, 0, 0, 0, 87, 18, 0, 0, - 0, 0, 88, 18, 0, 0, 0, 0, 89, 18, 0, 0, 0, 0, 90, 18, 0, 0, 0, 0, 91, 18, 0, 0, 0, 0, 92, 18, - 0, 0, 0, 0, 93, 18, 0, 0, 0, 0, 94, 18, 0, 0, 0, 0, 95, 18, 0, 0, 0, 0, 96, 18, 0, 0, 0, 0, 97, - 18, 0, 0, 0, 0, 98, 18, 0, 0, 0, 0, 99, 18, 0, 0, 0, 0, 100, 18, 0, 0, 0, 0, 101, 18, 0, 0, 0, - 0, 102, 18, 0, 0, 0, 0, 103, 18, 0, 0, 0, 0, 104, 18, 0, 0, 0, 0, 105, 18, 0, 0, 0, 0, 106, 18, - 0, 0, 0, 0, 107, 18, 0, 0, 0, 0, 108, 18, 0, 0, 0, 0, 109, 18, 0, 0, 0, 0, 110, 18, 0, 0, 0, 0, - 111, 18, 0, 0, 0, 0, 112, 18, 0, 0, 0, 0, 113, 18, 0, 0, 0, 0, 114, 18, 0, 0, 0, 0, 115, 18, 0, - 0, 0, 0, 116, 18, 0, 0, 0, 0, 117, 18, 0, 0, 0, 0, 118, 18, 0, 0, 0, 0, 119, 18, 0, 0, 0, 0, - 120, 18, 0, 0, 0, 0, 121, 18, 0, 0, 0, 0, 122, 18, 0, 0, 0, 0, 123, 18, 0, 0, 0, 0, 124, 18, 0, - 0, 0, 0, 125, 18, 0, 0, 0, 0, 126, 18, 0, 0, 0, 0, 127, 18, 0, 0, 0, 0, 128, 1, 18, 0, 0, 0, 0, - 129, 1, 18, 0, 0, 0, 0, 130, 1, 18, 0, 0, 0, 0, 131, 1, 18, 0, 0, 0, 0, 132, 1, 18, 0, 0, 0, 0, - 133, 1, 18, 0, 0, 0, 0, 134, 1, 18, 0, 0, 0, 0, 135, 1, 18, 0, 0, 0, 0, 136, 1, 18, 0, 0, 0, 0, - 137, 1, 18, 0, 0, 0, 0, 138, 1, 18, 0, 0, 0, 0, 139, 1, 18, 0, 0, 0, 0, 140, 1, 18, 0, 0, 0, 0, - 141, 1, 18, 0, 0, 0, 0, 142, 1, 18, 0, 0, 0, 0, 143, 1, 18, 0, 0, 0, 0, 144, 1, 18, 0, 0, 0, 0, - 145, 1, 18, 0, 0, 0, 0, 146, 1, 18, 0, 0, 0, 0, 147, 1, 18, 0, 0, 0, 0, 148, 1, 18, 0, 0, 0, 0, - 149, 1, 18, 0, 0, 0, 0, 150, 1, 18, 0, 0, 0, 0, 151, 1, 18, 0, 0, 0, 0, 152, 1, 18, 0, 0, 0, 0, - 153, 1, 18, 0, 0, 0, 0, 154, 1, 18, 0, 0, 0, 0, 155, 1, 18, 0, 0, 0, 0, 156, 1, 18, 0, 0, 0, 0, - 157, 1, 18, 0, 0, 0, 0, 158, 1, 18, 0, 0, 0, 0, 159, 1, 18, 0, 0, 0, 0, 160, 1, 18, 0, 0, 0, 0, - 161, 1, 18, 0, 0, 0, 0, 162, 1, 18, 0, 0, 0, 0, 163, 1, 18, 0, 0, 0, 0, 164, 1, 18, 0, 0, 0, 0, - 165, 1, 18, 0, 0, 0, 0, 166, 1, 18, 0, 0, 0, 0, 167, 1, 18, 0, 0, 0, 0, 168, 1, 18, 0, 0, 0, 0, - 169, 1, 18, 0, 0, 0, 0, 170, 1, 18, 0, 0, 0, 0, 171, 1, 18, 0, 0, 0, 0, 172, 1, 18, 0, 0, 0, 0, - 173, 1, 18, 0, 0, 0, 0, 174, 1, 18, 0, 0, 0, 0, 175, 1, 18, 0, 0, 0, 0, 176, 1, 0, 17, 11, 1, - 0, 0, 0, 0, 0, 0, 4, 2, 93, 153, 18, 0, 0, 0, 0, 1, 18, 0, 0, 0, 0, 2, 0, 17, 11, 1, 0, 0, 0, - 0, 0, 0, 4, 2, 255, 156, 18, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 1, 18, 0, 0, 0, 0, 2, 18, 0, 0, 0, - 0, 3, 18, 0, 0, 0, 0, 4, 18, 0, 0, 0, 0, 8, 0, 17, 11, 1, 0, 0, 0, 0, 0, 0, 4, 2, 176, 40, 18, - 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 1, 18, 0, 0, 0, 0, 2, 18, 0, 0, 0, 0, 3, 18, 0, 0, 0, 0, 4, 18, - 0, 0, 0, 0, 5, 18, 0, 0, 0, 0, 6, 18, 0, 0, 0, 0, 7, 18, 0, 0, 0, 0, 8, 18, 0, 0, 0, 0, 9, 18, - 0, 0, 0, 0, 10, 18, 0, 0, 0, 0, 11, 18, 0, 0, 0, 0, 12, 18, 0, 0, 0, 0, 13, 18, 0, 0, 0, 0, 14, - 18, 0, 0, 0, 0, 15, 18, 0, 0, 0, 0, 16, 18, 0, 0, 0, 0, 17, 18, 0, 0, 0, 0, 18, 18, 0, 0, 0, 0, - 19, 18, 0, 0, 0, 0, 20, 18, 0, 0, 0, 0, 21, 18, 0, 0, 0, 0, 22, 18, 0, 0, 0, 0, 23, 18, 0, 0, - 0, 0, 24, 18, 0, 0, 0, 0, 25, 18, 0, 0, 0, 0, 26, 18, 0, 0, 0, 0, 27, 18, 0, 0, 0, 0, 28, 18, - 0, 0, 0, 0, 29, 0, 17, 11, 1, 0, 0, 0, 0, 0, 0, 4, 2, 249, 21, 18, 0, 0, 0, 0, 0, 18, 0, 0, 0, - 0, 1, 18, 0, 0, 0, 0, 2, 0, 17, 11, 1, 0, 0, 0, 0, 0, 0, 4, 2, 28, 19, 18, 0, 0, 0, 0, 0, 18, - 0, 0, 0, 0, 1, 18, 0, 0, 0, 0, 2, 18, 0, 0, 0, 0, 3, 18, 0, 0, 0, 0, 4, 18, 0, 0, 0, 0, 5, 0, - 17, 11, 1, 0, 0, 0, 0, 0, 0, 4, 2, 239, 48, 18, 0, 0, 0, 0, 128, 128, 128, 128, 8, 18, 0, 0, 0, - 0, 0, 18, 0, 0, 0, 0, 16, 0, 17, 11, 1, 0, 0, 0, 0, 0, 0, 4, 2, 74, 46, 18, 0, 0, 0, 0, 0, 18, - 0, 0, 0, 0, 1, 18, 0, 0, 0, 0, 2, 18, 0, 0, 0, 0, 3, 18, 0, 0, 0, 0, 4, 18, 0, 0, 0, 0, 5, 0, - 17, 11, 1, 0, 0, 0, 0, 0, 0, 4, 2, 75, 232, 18, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 1, 18, 0, 0, 0, - 0, 2, 0, 17, 11, 1, 0, 0, 0, 0, 0, 0, 4, 2, 1, 47, 18, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 1, 18, 0, - 0, 0, 0, 2, 0, 17, 11, 1, 0, 0, 0, 0, 0, 0, 4, 2, 155, 56, 18, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, - 1, 18, 0, 0, 0, 0, 2, 18, 0, 0, 0, 0, 3, 18, 0, 0, 0, 0, 4, 18, 0, 0, 0, 0, 5, 18, 0, 0, 0, 0, - 6, 18, 0, 0, 0, 0, 7, 18, 0, 0, 0, 0, 8, 18, 0, 0, 0, 0, 9, 18, 0, 0, 0, 0, 10, 0, 17, 11, 1, - 0, 0, 0, 0, 0, 0, 4, 2, 149, 56, 18, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 1, 18, 0, 0, 0, 0, 2, 0, - 17, 11, 1, 0, 0, 0, 0, 0, 0, 4, 2, 195, 49, 18, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 1, 18, 0, 0, 0, - 0, 2, 18, 0, 0, 0, 0, 3, 18, 0, 0, 0, 0, 4, 18, 0, 0, 0, 0, 5, 18, 0, 0, 0, 0, 6, 18, 0, 0, 0, - 0, 7, 18, 0, 0, 0, 0, 8, 18, 0, 0, 0, 0, 9, 18, 0, 0, 0, 0, 10, 18, 0, 0, 0, 0, 11, 18, 0, 0, - 0, 0, 12, 18, 0, 0, 0, 0, 13, 18, 0, 0, 0, 0, 14, 18, 0, 0, 0, 0, 15, 18, 0, 0, 0, 0, 16, 18, - 0, 0, 0, 0, 17, 18, 0, 0, 0, 0, 18, 0, 17, 11, 1, 0, 0, 0, 0, 0, 0, 4, 2, 217, 49, 18, 0, 0, 0, - 0, 0, 18, 0, 0, 0, 0, 1, 18, 0, 0, 0, 0, 2, 18, 0, 0, 0, 0, 3, 18, 0, 0, 0, 0, 4, 0, 19, 11, 1, - 0, 0, 0, 0, 0, 0, 4, 2, 247, 168, 1, 0, 18, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 1, 0, 19, 11, 1, 0, - 0, 0, 0, 0, 0, 4, 2, 232, 168, 1, 0, 18, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 1, 18, 0, 0, 0, 0, 2, - 18, 0, 0, 0, 0, 3, 18, 0, 0, 0, 0, 2, 0, 19, 11, 1, 0, 0, 0, 0, 0, 0, 4, 2, 240, 168, 1, 0, 18, - 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 1, 18, 0, 0, 0, 0, 2, 18, 0, 0, 0, 0, 1, 0, 19, 11, 1, 0, 0, 0, - 0, 0, 0, 4, 2, 247, 166, 1, 0, 18, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 1, 18, 0, 0, 0, 0, 2, 18, 0, - 0, 0, 0, 3, 0, 19, 11, 1, 0, 0, 0, 0, 0, 0, 4, 2, 192, 168, 1, 0, 18, 0, 0, 0, 0, 0, 18, 0, 0, - 0, 0, 1, 0, 19, 11, 1, 0, 0, 0, 0, 0, 0, 4, 2, 197, 168, 1, 0, 18, 0, 0, 0, 0, 0, 18, 0, 0, 0, - 0, 1, 0, 19, 11, 1, 0, 0, 0, 0, 0, 0, 4, 2, 202, 168, 1, 0, 18, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, - 1, 0, 19, 11, 1, 0, 0, 0, 0, 0, 0, 4, 2, 226, 168, 1, 0, 18, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 1, - 18, 0, 0, 0, 0, 2, 0, 19, 11, 1, 0, 0, 0, 0, 0, 0, 4, 2, 220, 168, 1, 0, 18, 0, 0, 0, 0, 0, 18, - 0, 0, 0, 0, 1, 18, 0, 0, 0, 0, 2, 0, 19, 11, 1, 0, 0, 0, 0, 0, 0, 4, 2, 254, 166, 1, 0, 18, 0, - 0, 0, 0, 0, 18, 0, 0, 0, 0, 1, 18, 0, 0, 0, 0, 2, 18, 0, 0, 0, 0, 3, 18, 0, 0, 0, 0, 4, 18, 0, - 0, 0, 0, 5, 18, 0, 0, 0, 0, 6, 18, 0, 0, 0, 0, 7, 0, 19, 11, 1, 0, 0, 0, 0, 0, 0, 4, 2, 252, - 168, 1, 0, 18, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 1, 0, 19, 11, 1, 0, 0, 0, 0, 0, 0, 4, 2, 1, 169, - 1, 0, 18, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 1, 0, 19, 11, 1, 0, 0, 0, 0, 0, 0, 4, 2, 207, 168, 1, - 0, 18, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 1, 0, 17, 11, 1, 0, 0, 0, 0, 0, 0, 4, 2, 151, 49, 18, 0, - 0, 0, 0, 0, 18, 0, 0, 0, 0, 1, 18, 0, 0, 0, 0, 2, 18, 0, 0, 0, 0, 3, 18, 0, 0, 0, 0, 4, 0, 20, - 0, 0, 0, 0, 32, 2, 159, 49, 21, 0, 0, 0, 0, 128, 18, 0, 0, 2, 160, 49, 0, 21, 0, 0, 0, 0, 162, - 19, 0, 0, 2, 161, 49, 8, 22, 216, 18, 0, 0, 2, 162, 49, 16, 23, 12, 2, 162, 49, 21, 0, 0, 0, 0, - 234, 18, 0, 0, 2, 167, 49, 0, 24, 10, 2, 163, 49, 21, 0, 0, 0, 0, 177, 69, 0, 0, 2, 164, 49, 0, - 21, 0, 0, 0, 0, 244, 48, 0, 0, 2, 165, 49, 2, 21, 0, 0, 0, 0, 21, 60, 3, 0, 2, 166, 49, 4, 0, - 21, 0, 0, 0, 0, 36, 19, 0, 0, 2, 177, 49, 0, 24, 8, 2, 168, 49, 21, 0, 0, 0, 0, 54, 19, 0, 0, - 2, 174, 49, 0, 25, 11, 1, 0, 0, 4, 2, 169, 49, 18, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 1, 18, 0, 0, - 0, 0, 2, 18, 0, 0, 0, 0, 3, 0, 21, 0, 0, 0, 0, 177, 69, 0, 0, 2, 175, 49, 4, 21, 0, 0, 0, 0, - 244, 48, 0, 0, 2, 176, 49, 6, 0, 21, 0, 0, 0, 0, 128, 19, 0, 0, 2, 181, 49, 0, 24, 8, 2, 178, - 49, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 179, 49, 0, 21, 0, 0, 0, 0, 177, 69, 0, 0, 2, 180, 49, 4, - 0, 0, 0, 9, 167, 19, 0, 0, 26, 172, 19, 0, 0, 27, 0, 0, 0, 0, 128, 9, 2, 162, 43, 21, 0, 0, 0, - 0, 105, 28, 0, 0, 2, 163, 43, 0, 21, 0, 0, 0, 0, 117, 28, 0, 0, 2, 164, 43, 16, 21, 0, 0, 0, 0, - 24, 29, 0, 0, 2, 165, 43, 24, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 166, 43, 32, 21, 0, 0, 0, 0, - 127, 29, 0, 0, 2, 167, 43, 40, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 168, 43, 48, 21, 0, 0, 0, 0, - 127, 29, 0, 0, 2, 169, 43, 56, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 170, 43, 64, 21, 0, 0, 0, 0, - 227, 28, 0, 0, 2, 171, 43, 80, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 172, 43, 96, 21, 0, 0, 0, 0, - 227, 28, 0, 0, 2, 173, 43, 112, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 174, 43, 128, 21, 0, 0, 0, 0, - 227, 28, 0, 0, 2, 175, 43, 144, 21, 0, 0, 0, 0, 108, 20, 0, 0, 2, 179, 43, 160, 24, 32, 2, 176, - 43, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 177, 43, 0, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 178, 43, - 16, 0, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 180, 43, 192, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 181, 43, - 196, 21, 0, 0, 0, 0, 134, 29, 0, 0, 2, 182, 43, 200, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 183, 43, - 208, 21, 0, 0, 0, 0, 225, 48, 0, 0, 2, 184, 43, 212, 21, 0, 0, 0, 0, 225, 48, 0, 0, 2, 185, 43, - 214, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 186, 43, 216, 21, 0, 0, 0, 0, 225, 48, 0, 0, 2, 187, 43, - 220, 21, 0, 0, 0, 0, 225, 48, 0, 0, 2, 188, 43, 222, 21, 0, 0, 0, 0, 70, 177, 1, 0, 2, 189, 43, - 224, 21, 0, 0, 0, 0, 70, 177, 1, 0, 2, 190, 43, 232, 21, 0, 0, 0, 0, 70, 177, 1, 0, 2, 191, 43, - 240, 21, 0, 0, 0, 0, 70, 177, 1, 0, 2, 192, 43, 248, 28, 0, 0, 0, 0, 70, 177, 1, 0, 2, 193, 43, - 0, 1, 28, 0, 0, 0, 0, 70, 177, 1, 0, 2, 194, 43, 8, 1, 28, 0, 0, 0, 0, 70, 177, 1, 0, 2, 195, - 43, 16, 1, 28, 0, 0, 0, 0, 11, 1, 0, 0, 2, 196, 43, 24, 1, 28, 0, 0, 0, 0, 11, 1, 0, 0, 2, 197, - 43, 28, 1, 28, 0, 0, 0, 0, 225, 48, 0, 0, 2, 198, 43, 32, 1, 28, 0, 0, 0, 0, 5, 49, 0, 0, 2, - 199, 43, 34, 1, 28, 0, 0, 0, 0, 5, 49, 0, 0, 2, 200, 43, 35, 1, 28, 0, 0, 0, 0, 168, 0, 0, 0, - 2, 201, 43, 36, 1, 28, 0, 0, 0, 0, 87, 57, 3, 0, 2, 202, 43, 40, 1, 28, 0, 0, 0, 0, 71, 97, 0, - 0, 2, 203, 43, 224, 1, 28, 0, 0, 0, 0, 71, 97, 0, 0, 2, 204, 43, 232, 1, 28, 0, 0, 0, 0, 71, - 97, 0, 0, 2, 205, 43, 240, 1, 28, 0, 0, 0, 0, 176, 64, 0, 0, 2, 206, 43, 248, 1, 28, 0, 0, 0, - 0, 176, 64, 0, 0, 2, 207, 43, 252, 1, 28, 0, 0, 0, 0, 107, 94, 3, 0, 2, 208, 43, 0, 2, 28, 0, - 0, 0, 0, 143, 98, 3, 0, 2, 209, 43, 8, 2, 28, 0, 0, 0, 0, 101, 99, 3, 0, 2, 210, 43, 16, 2, 28, - 0, 0, 0, 0, 21, 124, 3, 0, 2, 211, 43, 24, 2, 28, 0, 0, 0, 0, 192, 124, 3, 0, 2, 212, 43, 32, - 2, 28, 0, 0, 0, 0, 58, 127, 3, 0, 2, 213, 43, 40, 2, 28, 0, 0, 0, 0, 164, 127, 3, 0, 2, 214, - 43, 48, 2, 28, 0, 0, 0, 0, 89, 132, 3, 0, 2, 215, 43, 56, 2, 28, 0, 0, 0, 0, 5, 49, 0, 0, 2, - 216, 43, 64, 2, 28, 0, 0, 0, 0, 5, 49, 0, 0, 2, 217, 43, 65, 2, 28, 0, 0, 0, 0, 5, 49, 0, 0, 2, - 218, 43, 66, 2, 28, 0, 0, 0, 0, 5, 49, 0, 0, 2, 219, 43, 67, 2, 28, 0, 0, 0, 0, 157, 68, 0, 0, - 2, 220, 43, 68, 2, 28, 0, 0, 0, 0, 5, 49, 0, 0, 2, 221, 43, 100, 2, 28, 0, 0, 0, 0, 5, 49, 0, - 0, 2, 222, 43, 101, 2, 28, 0, 0, 0, 0, 5, 49, 0, 0, 2, 223, 43, 102, 2, 28, 0, 0, 0, 0, 5, 49, - 0, 0, 2, 224, 43, 103, 2, 28, 0, 0, 0, 0, 225, 48, 0, 0, 2, 225, 43, 104, 2, 28, 0, 0, 0, 0, - 225, 48, 0, 0, 2, 226, 43, 106, 2, 28, 0, 0, 0, 0, 225, 48, 0, 0, 2, 227, 43, 108, 2, 28, 0, 0, - 0, 0, 225, 48, 0, 0, 2, 228, 43, 110, 2, 28, 0, 0, 0, 0, 248, 68, 0, 0, 2, 229, 43, 112, 2, 28, - 0, 0, 0, 0, 168, 0, 0, 0, 2, 230, 43, 116, 2, 28, 0, 0, 0, 0, 83, 133, 3, 0, 2, 231, 43, 120, - 2, 28, 0, 0, 0, 0, 83, 133, 3, 0, 2, 232, 43, 152, 2, 28, 0, 0, 0, 0, 83, 133, 3, 0, 2, 233, - 43, 184, 2, 28, 0, 0, 0, 0, 128, 88, 0, 0, 2, 234, 43, 216, 2, 28, 0, 0, 0, 0, 11, 1, 0, 0, 2, - 235, 43, 224, 2, 28, 0, 0, 0, 0, 11, 1, 0, 0, 2, 236, 43, 228, 2, 28, 0, 0, 0, 0, 219, 52, 0, - 0, 2, 237, 43, 232, 2, 28, 0, 0, 0, 0, 132, 133, 3, 0, 2, 238, 43, 240, 2, 28, 0, 0, 0, 0, 42, - 134, 3, 0, 2, 239, 43, 248, 2, 28, 0, 0, 0, 0, 239, 196, 3, 0, 2, 240, 43, 0, 3, 28, 0, 0, 0, - 0, 255, 0, 0, 0, 2, 241, 43, 8, 3, 28, 0, 0, 0, 0, 249, 196, 3, 0, 2, 242, 43, 16, 3, 28, 0, 0, - 0, 0, 178, 200, 1, 0, 2, 243, 43, 24, 3, 28, 0, 0, 0, 0, 255, 0, 0, 0, 2, 244, 43, 32, 3, 28, - 0, 0, 0, 0, 38, 201, 3, 0, 2, 245, 43, 40, 3, 28, 0, 0, 0, 0, 72, 238, 3, 0, 2, 246, 43, 48, 3, - 28, 0, 0, 0, 0, 252, 242, 3, 0, 2, 247, 43, 56, 3, 28, 0, 0, 0, 0, 6, 243, 3, 0, 2, 248, 43, - 64, 3, 28, 0, 0, 0, 0, 148, 245, 1, 0, 2, 249, 43, 72, 3, 28, 0, 0, 0, 0, 16, 243, 3, 0, 2, - 250, 43, 80, 3, 28, 0, 0, 0, 0, 11, 1, 0, 0, 2, 251, 43, 88, 3, 28, 0, 0, 0, 0, 11, 1, 0, 0, 2, - 252, 43, 92, 3, 28, 0, 0, 0, 0, 16, 247, 0, 0, 2, 253, 43, 96, 3, 28, 0, 0, 0, 0, 127, 29, 0, - 0, 2, 254, 43, 104, 3, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 255, 43, 112, 3, 28, 0, 0, 0, 0, 34, - 244, 3, 0, 2, 0, 44, 120, 3, 28, 0, 0, 0, 0, 255, 0, 0, 0, 2, 1, 44, 128, 3, 28, 0, 0, 0, 0, - 112, 244, 3, 0, 2, 2, 44, 136, 3, 28, 0, 0, 0, 0, 240, 254, 3, 0, 2, 3, 44, 144, 3, 28, 0, 0, - 0, 0, 88, 213, 1, 0, 2, 4, 44, 152, 3, 28, 0, 0, 0, 0, 157, 68, 0, 0, 2, 5, 44, 160, 3, 28, 0, - 0, 0, 0, 181, 5, 4, 0, 2, 6, 44, 192, 3, 28, 0, 0, 0, 0, 184, 28, 0, 0, 2, 7, 44, 200, 3, 28, - 0, 0, 0, 0, 240, 254, 3, 0, 2, 13, 44, 0, 4, 28, 0, 0, 0, 0, 11, 1, 0, 0, 2, 14, 44, 8, 4, 28, - 0, 0, 0, 0, 11, 1, 0, 0, 2, 15, 44, 12, 4, 28, 0, 0, 0, 0, 61, 251, 3, 0, 2, 16, 44, 16, 4, 28, - 0, 0, 0, 0, 11, 1, 0, 0, 2, 17, 44, 24, 4, 28, 0, 0, 0, 0, 248, 68, 0, 0, 2, 18, 44, 28, 4, 28, - 0, 0, 0, 0, 67, 6, 4, 0, 2, 19, 44, 32, 4, 28, 0, 0, 0, 0, 172, 6, 4, 0, 2, 20, 44, 40, 4, 28, - 0, 0, 0, 0, 112, 244, 3, 0, 2, 21, 44, 56, 4, 28, 0, 0, 0, 0, 74, 7, 4, 0, 2, 22, 44, 64, 4, - 28, 0, 0, 0, 0, 173, 161, 0, 0, 2, 23, 44, 192, 4, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 24, 44, - 232, 4, 28, 0, 0, 0, 0, 125, 68, 0, 0, 2, 25, 44, 236, 4, 28, 0, 0, 0, 0, 227, 28, 0, 0, 2, 26, - 44, 240, 4, 28, 0, 0, 0, 0, 214, 52, 0, 0, 2, 27, 44, 0, 5, 28, 0, 0, 0, 0, 227, 28, 0, 0, 2, - 28, 44, 8, 5, 29, 0, 0, 0, 0, 8, 26, 0, 0, 2, 36, 44, 4, 8, 24, 24, 5, 25, 11, 1, 0, 0, 4, 2, - 29, 44, 18, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 1, 18, 0, 0, 0, 0, 2, 18, 0, 0, 0, 0, 3, 18, 0, 0, - 0, 0, 4, 18, 0, 0, 0, 0, 5, 0, 28, 0, 0, 0, 0, 219, 52, 0, 0, 2, 37, 44, 25, 5, 29, 0, 0, 0, 0, - 85, 26, 0, 0, 2, 41, 44, 4, 16, 0, 24, 5, 25, 11, 1, 0, 0, 4, 2, 38, 44, 18, 0, 0, 0, 0, 0, 18, - 0, 0, 0, 0, 1, 0, 28, 0, 0, 0, 0, 219, 52, 0, 0, 2, 42, 44, 28, 5, 28, 0, 0, 0, 0, 49, 34, 0, - 0, 2, 43, 44, 32, 5, 28, 0, 0, 0, 0, 187, 58, 3, 0, 2, 44, 44, 40, 5, 28, 0, 0, 0, 0, 193, 170, - 1, 0, 2, 45, 44, 48, 5, 28, 0, 0, 0, 0, 255, 0, 0, 0, 2, 46, 44, 56, 5, 28, 0, 0, 0, 0, 86, 7, - 4, 0, 2, 47, 44, 64, 5, 30, 201, 26, 0, 0, 2, 48, 44, 72, 5, 23, 8, 2, 48, 44, 21, 0, 0, 0, 0, - 112, 7, 4, 0, 2, 49, 44, 0, 21, 0, 0, 0, 0, 166, 7, 4, 0, 2, 50, 44, 0, 21, 0, 0, 0, 0, 246, 7, - 4, 0, 2, 51, 44, 0, 0, 28, 0, 0, 0, 0, 0, 8, 4, 0, 2, 53, 44, 80, 5, 28, 0, 0, 0, 0, 10, 8, 4, - 0, 2, 54, 44, 88, 5, 28, 0, 0, 0, 0, 57, 171, 0, 0, 2, 55, 44, 96, 5, 28, 0, 0, 0, 0, 20, 8, 4, - 0, 2, 56, 44, 80, 8, 28, 0, 0, 0, 0, 251, 90, 0, 0, 2, 57, 44, 112, 8, 28, 0, 0, 0, 0, 32, 8, - 4, 0, 2, 58, 44, 120, 8, 28, 0, 0, 0, 0, 11, 1, 0, 0, 2, 59, 44, 128, 8, 28, 0, 0, 0, 0, 177, - 69, 0, 0, 2, 60, 44, 132, 8, 28, 0, 0, 0, 0, 224, 10, 4, 0, 2, 61, 44, 136, 8, 28, 0, 0, 0, 0, - 154, 153, 1, 0, 2, 62, 44, 144, 8, 28, 0, 0, 0, 0, 237, 18, 4, 0, 2, 63, 44, 146, 8, 28, 0, 0, - 0, 0, 64, 137, 2, 0, 2, 64, 44, 210, 8, 28, 0, 0, 0, 0, 11, 1, 0, 0, 2, 65, 44, 228, 8, 28, 0, - 0, 0, 0, 29, 19, 4, 0, 2, 66, 44, 232, 8, 28, 0, 0, 0, 0, 82, 148, 3, 0, 2, 67, 44, 240, 8, 28, - 0, 0, 0, 0, 234, 161, 3, 0, 2, 68, 44, 248, 8, 28, 0, 0, 0, 0, 152, 127, 2, 0, 2, 69, 44, 0, 9, - 28, 0, 0, 0, 0, 152, 127, 2, 0, 2, 70, 44, 8, 9, 28, 0, 0, 0, 0, 219, 52, 0, 0, 2, 71, 44, 16, - 9, 29, 0, 0, 0, 0, 11, 1, 0, 0, 2, 72, 44, 4, 1, 23, 16, 9, 29, 0, 0, 0, 0, 11, 1, 0, 0, 2, 73, - 44, 4, 1, 22, 16, 9, 28, 0, 0, 0, 0, 227, 28, 0, 0, 2, 74, 44, 24, 9, 28, 0, 0, 0, 0, 247, 172, - 3, 0, 2, 75, 44, 40, 9, 28, 0, 0, 0, 0, 83, 19, 4, 0, 2, 76, 44, 48, 9, 28, 0, 0, 0, 0, 101, - 20, 4, 0, 2, 77, 44, 56, 9, 28, 0, 0, 0, 0, 159, 20, 4, 0, 2, 78, 44, 64, 9, 0, 3, 75, 0, 0, 0, - 4, 82, 0, 0, 0, 16, 0, 9, 122, 28, 0, 0, 20, 0, 0, 0, 0, 48, 2, 0, 50, 21, 0, 0, 0, 0, 184, 28, - 0, 0, 2, 1, 50, 0, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 2, 50, 16, 21, 0, 0, 0, 0, 9, 29, 0, 0, 2, - 3, 50, 32, 21, 0, 0, 0, 0, 14, 29, 0, 0, 2, 4, 50, 40, 0, 31, 0, 0, 0, 0, 16, 2, 122, 8, 0, 0, - 0, 0, 217, 28, 0, 0, 2, 123, 0, 8, 0, 0, 0, 0, 222, 28, 0, 0, 2, 124, 8, 0, 9, 184, 28, 0, 0, - 9, 217, 28, 0, 0, 31, 0, 0, 0, 0, 16, 2, 111, 8, 0, 0, 0, 0, 4, 29, 0, 0, 2, 112, 0, 8, 0, 0, - 0, 0, 4, 29, 0, 0, 2, 113, 8, 0, 9, 227, 28, 0, 0, 9, 172, 19, 0, 0, 9, 19, 29, 0, 0, 26, 75, - 0, 0, 0, 9, 29, 29, 0, 0, 20, 0, 0, 0, 0, 16, 2, 251, 49, 21, 0, 0, 0, 0, 65, 29, 0, 0, 2, 252, - 49, 0, 21, 0, 0, 0, 0, 115, 29, 0, 0, 2, 253, 49, 16, 0, 31, 0, 0, 0, 0, 16, 2, 127, 8, 0, 0, - 0, 0, 98, 29, 0, 0, 2, 128, 0, 8, 0, 0, 0, 0, 103, 29, 0, 0, 2, 129, 8, 0, 9, 65, 29, 0, 0, 9, - 108, 29, 0, 0, 32, 14, 98, 29, 0, 0, 0, 3, 75, 0, 0, 0, 4, 82, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 7, - 8, 9, 139, 29, 0, 0, 26, 144, 29, 0, 0, 27, 0, 0, 0, 0, 168, 2, 2, 11, 50, 21, 0, 0, 0, 0, 33, - 34, 0, 0, 2, 12, 50, 0, 21, 0, 0, 0, 0, 49, 34, 0, 0, 2, 13, 50, 8, 21, 0, 0, 0, 0, 33, 34, 0, - 0, 2, 14, 50, 16, 21, 0, 0, 0, 0, 33, 34, 0, 0, 2, 15, 50, 24, 21, 0, 0, 0, 0, 61, 34, 0, 0, 2, - 16, 50, 32, 21, 0, 0, 0, 0, 192, 50, 3, 0, 2, 17, 50, 40, 21, 0, 0, 0, 0, 218, 50, 3, 0, 2, 18, - 50, 48, 21, 0, 0, 0, 0, 244, 50, 3, 0, 2, 19, 50, 56, 21, 0, 0, 0, 0, 49, 34, 0, 0, 2, 20, 50, - 64, 21, 0, 0, 0, 0, 5, 51, 3, 0, 2, 21, 50, 72, 21, 0, 0, 0, 0, 33, 34, 0, 0, 2, 22, 50, 80, - 21, 0, 0, 0, 0, 26, 51, 3, 0, 2, 23, 50, 88, 21, 0, 0, 0, 0, 26, 51, 3, 0, 2, 24, 50, 96, 21, - 0, 0, 0, 0, 26, 51, 3, 0, 2, 25, 50, 104, 21, 0, 0, 0, 0, 45, 55, 3, 0, 2, 26, 50, 112, 21, 0, - 0, 0, 0, 71, 55, 3, 0, 2, 27, 50, 120, 21, 0, 0, 0, 0, 102, 55, 3, 0, 2, 28, 50, 128, 21, 0, 0, - 0, 0, 128, 55, 3, 0, 2, 29, 50, 136, 21, 0, 0, 0, 0, 149, 55, 3, 0, 2, 30, 50, 144, 21, 0, 0, - 0, 0, 170, 55, 3, 0, 2, 31, 50, 152, 21, 0, 0, 0, 0, 187, 55, 3, 0, 2, 32, 50, 160, 21, 0, 0, - 0, 0, 19, 57, 3, 0, 2, 33, 50, 168, 21, 0, 0, 0, 0, 40, 57, 3, 0, 2, 34, 50, 176, 21, 0, 0, 0, - 0, 66, 57, 3, 0, 2, 35, 50, 184, 21, 0, 0, 0, 0, 140, 58, 3, 0, 2, 36, 50, 192, 21, 0, 0, 0, 0, - 140, 58, 3, 0, 2, 37, 50, 200, 21, 0, 0, 0, 0, 49, 34, 0, 0, 2, 38, 50, 208, 21, 0, 0, 0, 0, - 166, 58, 3, 0, 2, 39, 50, 216, 21, 0, 0, 0, 0, 49, 34, 0, 0, 2, 40, 50, 224, 21, 0, 0, 0, 0, - 33, 60, 3, 0, 2, 41, 50, 232, 21, 0, 0, 0, 0, 59, 60, 3, 0, 2, 42, 50, 240, 21, 0, 0, 0, 0, 95, - 60, 3, 0, 2, 43, 50, 248, 28, 0, 0, 0, 0, 126, 60, 3, 0, 2, 44, 50, 0, 1, 28, 0, 0, 0, 0, 126, - 60, 3, 0, 2, 45, 50, 8, 1, 28, 0, 0, 0, 0, 152, 60, 3, 0, 2, 46, 50, 16, 1, 28, 0, 0, 0, 0, 92, - 61, 3, 0, 2, 47, 50, 24, 1, 28, 0, 0, 0, 0, 118, 61, 3, 0, 2, 48, 50, 32, 1, 28, 0, 0, 0, 0, 7, - 62, 3, 0, 2, 49, 50, 40, 1, 28, 0, 0, 0, 0, 33, 62, 3, 0, 2, 50, 50, 48, 1, 28, 0, 0, 0, 0, 59, - 62, 3, 0, 2, 51, 50, 56, 1, 28, 0, 0, 0, 0, 131, 62, 3, 0, 2, 52, 50, 64, 1, 28, 0, 0, 0, 0, - 126, 60, 3, 0, 2, 53, 50, 72, 1, 28, 0, 0, 0, 0, 162, 62, 3, 0, 2, 54, 50, 80, 1, 28, 0, 0, 0, - 0, 33, 34, 0, 0, 2, 55, 50, 88, 1, 28, 0, 0, 0, 0, 33, 34, 0, 0, 2, 56, 50, 96, 1, 28, 0, 0, 0, - 0, 188, 62, 3, 0, 2, 57, 50, 104, 1, 28, 0, 0, 0, 0, 219, 62, 3, 0, 2, 58, 50, 112, 1, 28, 0, - 0, 0, 0, 188, 62, 3, 0, 2, 59, 50, 120, 1, 28, 0, 0, 0, 0, 240, 62, 3, 0, 2, 60, 50, 128, 1, - 28, 0, 0, 0, 0, 129, 63, 3, 0, 2, 61, 50, 136, 1, 28, 0, 0, 0, 0, 155, 63, 3, 0, 2, 62, 50, - 144, 1, 28, 0, 0, 0, 0, 186, 63, 3, 0, 2, 63, 50, 152, 1, 28, 0, 0, 0, 0, 212, 63, 3, 0, 2, 64, - 50, 160, 1, 28, 0, 0, 0, 0, 233, 63, 3, 0, 2, 65, 50, 168, 1, 28, 0, 0, 0, 0, 3, 64, 3, 0, 2, - 66, 50, 176, 1, 28, 0, 0, 0, 0, 24, 64, 3, 0, 2, 67, 50, 184, 1, 28, 0, 0, 0, 0, 45, 64, 3, 0, - 2, 68, 50, 192, 1, 28, 0, 0, 0, 0, 66, 64, 3, 0, 2, 69, 50, 200, 1, 28, 0, 0, 0, 0, 87, 64, 3, - 0, 2, 70, 50, 208, 1, 28, 0, 0, 0, 0, 104, 64, 3, 0, 2, 71, 50, 216, 1, 28, 0, 0, 0, 0, 0, 65, - 3, 0, 2, 72, 50, 224, 1, 28, 0, 0, 0, 0, 36, 65, 3, 0, 2, 73, 50, 232, 1, 28, 0, 0, 0, 0, 175, - 66, 3, 0, 2, 74, 50, 240, 1, 28, 0, 0, 0, 0, 226, 66, 3, 0, 2, 75, 50, 248, 1, 28, 0, 0, 0, 0, - 6, 67, 3, 0, 2, 76, 50, 0, 2, 28, 0, 0, 0, 0, 47, 67, 3, 0, 2, 77, 50, 8, 2, 28, 0, 0, 0, 0, - 73, 67, 3, 0, 2, 78, 50, 16, 2, 28, 0, 0, 0, 0, 94, 67, 3, 0, 2, 79, 50, 24, 2, 28, 0, 0, 0, 0, - 94, 67, 3, 0, 2, 80, 50, 32, 2, 28, 0, 0, 0, 0, 156, 67, 3, 0, 2, 81, 50, 40, 2, 28, 0, 0, 0, - 0, 182, 67, 3, 0, 2, 82, 50, 48, 2, 28, 0, 0, 0, 0, 203, 67, 3, 0, 2, 83, 50, 56, 2, 28, 0, 0, - 0, 0, 220, 67, 3, 0, 2, 84, 50, 64, 2, 28, 0, 0, 0, 0, 246, 67, 3, 0, 2, 85, 50, 72, 2, 28, 0, - 0, 0, 0, 73, 67, 3, 0, 2, 86, 50, 80, 2, 28, 0, 0, 0, 0, 6, 68, 3, 0, 2, 87, 50, 88, 2, 28, 0, - 0, 0, 0, 244, 50, 3, 0, 2, 88, 50, 96, 2, 28, 0, 0, 0, 0, 27, 68, 3, 0, 2, 89, 50, 104, 2, 28, - 0, 0, 0, 0, 207, 74, 3, 0, 2, 90, 50, 112, 2, 28, 0, 0, 0, 0, 99, 75, 3, 0, 2, 91, 50, 120, 2, - 28, 0, 0, 0, 0, 125, 75, 3, 0, 2, 92, 50, 128, 2, 28, 0, 0, 0, 0, 151, 75, 3, 0, 2, 93, 50, - 136, 2, 28, 0, 0, 0, 0, 147, 92, 3, 0, 2, 94, 50, 144, 2, 28, 0, 0, 0, 0, 210, 93, 3, 0, 2, 95, - 50, 152, 2, 28, 0, 0, 0, 0, 226, 93, 3, 0, 2, 96, 50, 160, 2, 0, 9, 38, 34, 0, 0, 13, 168, 0, - 0, 0, 14, 9, 29, 0, 0, 0, 9, 54, 34, 0, 0, 32, 14, 9, 29, 0, 0, 0, 9, 66, 34, 0, 0, 13, 82, 34, - 0, 0, 14, 94, 34, 0, 0, 14, 9, 29, 0, 0, 0, 33, 8, 15, 0, 0, 0, 0, 0, 0, 2, 245, 48, 9, 99, 34, - 0, 0, 20, 0, 0, 0, 0, 224, 2, 208, 44, 22, 117, 34, 0, 0, 2, 209, 44, 0, 23, 24, 2, 209, 44, - 22, 131, 34, 0, 0, 2, 210, 44, 0, 24, 24, 2, 210, 44, 21, 0, 0, 0, 0, 94, 34, 0, 0, 2, 211, 44, - 0, 21, 0, 0, 0, 0, 94, 34, 0, 0, 2, 212, 44, 8, 22, 171, 34, 0, 0, 2, 213, 44, 16, 23, 8, 2, - 213, 44, 21, 0, 0, 0, 0, 9, 29, 0, 0, 2, 214, 44, 0, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 215, 44, - 0, 0, 0, 21, 0, 0, 0, 0, 86, 40, 0, 0, 2, 218, 44, 0, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 219, - 44, 0, 0, 22, 240, 34, 0, 0, 2, 221, 44, 24, 23, 8, 2, 221, 44, 21, 0, 0, 0, 0, 140, 40, 0, 0, - 2, 222, 44, 0, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 223, 44, 0, 0, 22, 25, 35, 0, 0, 2, 225, 44, - 32, 23, 8, 2, 225, 44, 21, 0, 0, 0, 0, 32, 207, 0, 0, 2, 226, 44, 0, 21, 0, 0, 0, 0, 136, 68, - 0, 0, 2, 227, 44, 0, 0, 21, 0, 0, 0, 0, 100, 241, 2, 0, 2, 229, 44, 40, 22, 79, 35, 0, 0, 2, - 230, 44, 88, 23, 16, 2, 230, 44, 22, 93, 35, 0, 0, 2, 231, 44, 0, 24, 16, 2, 231, 44, 21, 0, 0, - 0, 0, 127, 29, 0, 0, 2, 232, 44, 0, 21, 0, 0, 0, 0, 176, 178, 1, 0, 2, 233, 44, 8, 0, 21, 0, 0, - 0, 0, 227, 28, 0, 0, 2, 235, 44, 0, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 236, 44, 0, 0, 21, 0, 0, - 0, 0, 127, 29, 0, 0, 2, 238, 44, 104, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 239, 44, 112, 21, 0, 0, - 0, 0, 11, 1, 0, 0, 2, 240, 44, 116, 21, 0, 0, 0, 0, 214, 48, 0, 0, 2, 241, 44, 120, 21, 0, 0, - 0, 0, 214, 48, 0, 0, 2, 242, 44, 122, 21, 0, 0, 0, 0, 214, 48, 0, 0, 2, 243, 44, 124, 21, 0, 0, - 0, 0, 67, 178, 1, 0, 2, 244, 44, 126, 34, 0, 0, 0, 0, 129, 55, 0, 0, 2, 245, 44, 1, 1, 7, 126, - 34, 0, 0, 0, 0, 129, 55, 0, 0, 2, 246, 44, 1, 1, 6, 126, 34, 0, 0, 0, 0, 129, 55, 0, 0, 2, 247, - 44, 1, 2, 4, 126, 34, 0, 0, 0, 0, 129, 55, 0, 0, 2, 248, 44, 1, 1, 3, 126, 34, 0, 0, 0, 0, 129, - 55, 0, 0, 2, 249, 44, 1, 1, 2, 126, 34, 0, 0, 0, 0, 129, 55, 0, 0, 2, 250, 44, 1, 1, 1, 126, - 34, 0, 0, 0, 0, 129, 55, 0, 0, 2, 251, 44, 1, 1, 0, 126, 21, 0, 0, 0, 0, 129, 55, 0, 0, 2, 252, - 44, 127, 21, 0, 0, 0, 0, 205, 174, 1, 0, 2, 253, 44, 128, 21, 0, 0, 0, 0, 67, 178, 1, 0, 2, - 254, 44, 128, 34, 0, 0, 0, 0, 129, 55, 0, 0, 2, 255, 44, 1, 3, 5, 128, 34, 0, 0, 0, 0, 129, 55, - 0, 0, 2, 0, 45, 1, 1, 4, 128, 34, 0, 0, 0, 0, 129, 55, 0, 0, 2, 1, 45, 1, 1, 3, 128, 34, 0, 0, - 0, 0, 129, 55, 0, 0, 2, 2, 45, 1, 2, 1, 128, 34, 0, 0, 0, 0, 129, 55, 0, 0, 2, 3, 45, 1, 1, 0, - 128, 34, 0, 0, 0, 0, 129, 55, 0, 0, 2, 4, 45, 1, 1, 7, 129, 34, 0, 0, 0, 0, 129, 55, 0, 0, 2, - 5, 45, 1, 1, 6, 129, 34, 0, 0, 0, 0, 129, 55, 0, 0, 2, 6, 45, 1, 1, 5, 129, 34, 0, 0, 0, 0, - 129, 55, 0, 0, 2, 7, 45, 1, 1, 4, 129, 34, 0, 0, 0, 0, 129, 55, 0, 0, 2, 8, 45, 1, 1, 3, 129, - 34, 0, 0, 0, 0, 129, 55, 0, 0, 2, 9, 45, 1, 1, 2, 129, 34, 0, 0, 0, 0, 129, 55, 0, 0, 2, 10, - 45, 1, 1, 1, 129, 34, 0, 0, 0, 0, 129, 55, 0, 0, 2, 11, 45, 1, 1, 0, 129, 21, 0, 0, 0, 0, 67, - 178, 1, 0, 2, 12, 45, 130, 34, 0, 0, 0, 0, 129, 55, 0, 0, 2, 13, 45, 1, 1, 7, 130, 34, 0, 0, 0, - 0, 129, 55, 0, 0, 2, 14, 45, 1, 1, 6, 130, 34, 0, 0, 0, 0, 129, 55, 0, 0, 2, 15, 45, 1, 2, 4, - 130, 34, 0, 0, 0, 0, 129, 55, 0, 0, 2, 16, 45, 1, 1, 3, 130, 34, 0, 0, 0, 0, 129, 55, 0, 0, 2, - 17, 45, 1, 1, 2, 130, 34, 0, 0, 0, 0, 129, 55, 0, 0, 2, 18, 45, 1, 2, 0, 130, 34, 0, 0, 0, 0, - 129, 55, 0, 0, 2, 19, 45, 1, 1, 7, 131, 34, 0, 0, 0, 0, 129, 55, 0, 0, 2, 20, 45, 1, 1, 6, 131, - 34, 0, 0, 0, 0, 129, 55, 0, 0, 2, 21, 45, 1, 1, 5, 131, 34, 0, 0, 0, 0, 129, 55, 0, 0, 2, 22, - 45, 1, 1, 4, 131, 34, 0, 0, 0, 0, 129, 55, 0, 0, 2, 23, 45, 1, 1, 3, 131, 34, 0, 0, 0, 0, 129, - 55, 0, 0, 2, 24, 45, 1, 1, 2, 131, 34, 0, 0, 0, 0, 129, 55, 0, 0, 2, 25, 45, 1, 1, 1, 131, 34, - 0, 0, 0, 0, 129, 55, 0, 0, 2, 26, 45, 1, 1, 0, 131, 34, 0, 0, 0, 0, 129, 55, 0, 0, 2, 27, 45, - 1, 1, 7, 132, 34, 0, 0, 0, 0, 129, 55, 0, 0, 2, 28, 45, 1, 1, 6, 132, 34, 0, 0, 0, 0, 129, 55, - 0, 0, 2, 29, 45, 1, 1, 5, 132, 21, 0, 0, 0, 0, 214, 48, 0, 0, 2, 30, 45, 134, 22, 141, 38, 0, - 0, 2, 31, 45, 136, 23, 4, 2, 31, 45, 21, 0, 0, 0, 0, 89, 50, 3, 0, 2, 32, 45, 0, 22, 168, 38, - 0, 0, 2, 33, 45, 0, 24, 4, 2, 33, 45, 21, 0, 0, 0, 0, 214, 48, 0, 0, 2, 34, 45, 0, 21, 0, 0, 0, - 0, 214, 48, 0, 0, 2, 35, 45, 2, 0, 0, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 38, 45, 140, 21, 0, 0, 0, - 0, 168, 0, 0, 0, 2, 39, 45, 144, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 40, 45, 148, 21, 0, 0, 0, 0, - 244, 48, 0, 0, 2, 41, 45, 152, 21, 0, 0, 0, 0, 214, 48, 0, 0, 2, 42, 45, 154, 22, 19, 39, 0, 0, - 2, 43, 45, 156, 23, 4, 2, 43, 45, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 44, 45, 0, 21, 0, 0, 0, 0, - 11, 1, 0, 0, 2, 45, 45, 0, 0, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 47, 45, 160, 22, 73, 39, 0, 0, 2, - 48, 45, 164, 23, 4, 2, 48, 45, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 49, 45, 0, 21, 0, 0, 0, 0, 0, 1, - 0, 0, 2, 50, 45, 0, 0, 22, 114, 39, 0, 0, 2, 52, 45, 168, 23, 2, 2, 52, 45, 21, 0, 0, 0, 0, - 244, 48, 0, 0, 2, 53, 45, 0, 21, 0, 0, 0, 0, 129, 55, 0, 0, 2, 54, 45, 0, 0, 21, 0, 0, 0, 0, - 214, 48, 0, 0, 2, 56, 45, 170, 21, 0, 0, 0, 0, 214, 48, 0, 0, 2, 57, 45, 172, 21, 0, 0, 0, 0, - 214, 48, 0, 0, 2, 58, 45, 174, 21, 0, 0, 0, 0, 244, 48, 0, 0, 2, 59, 45, 176, 21, 0, 0, 0, 0, - 214, 48, 0, 0, 2, 60, 45, 178, 21, 0, 0, 0, 0, 214, 48, 0, 0, 2, 61, 45, 180, 21, 0, 0, 0, 0, - 214, 48, 0, 0, 2, 62, 45, 182, 21, 0, 0, 0, 0, 205, 174, 1, 0, 2, 63, 45, 184, 21, 0, 0, 0, 0, - 101, 50, 3, 0, 2, 64, 45, 184, 21, 0, 0, 0, 0, 101, 50, 3, 0, 2, 65, 45, 188, 21, 0, 0, 0, 0, - 148, 245, 1, 0, 2, 66, 45, 192, 21, 0, 0, 0, 0, 148, 245, 1, 0, 2, 67, 45, 200, 21, 0, 0, 0, 0, - 11, 1, 0, 0, 2, 68, 45, 208, 21, 0, 0, 0, 0, 141, 64, 0, 0, 2, 69, 45, 212, 21, 0, 0, 0, 0, - 113, 50, 3, 0, 2, 70, 45, 216, 0, 20, 0, 0, 0, 0, 24, 2, 113, 1, 21, 0, 0, 0, 0, 127, 29, 0, 0, - 2, 114, 1, 0, 21, 0, 0, 0, 0, 135, 40, 0, 0, 2, 115, 1, 8, 21, 0, 0, 0, 0, 135, 40, 0, 0, 2, - 116, 1, 16, 0, 9, 86, 40, 0, 0, 9, 145, 40, 0, 0, 27, 0, 0, 0, 0, 16, 3, 2, 137, 35, 21, 0, 0, - 0, 0, 24, 46, 0, 0, 2, 138, 35, 0, 21, 0, 0, 0, 0, 118, 46, 3, 0, 2, 139, 35, 136, 21, 0, 0, 0, - 0, 176, 64, 0, 0, 2, 140, 35, 168, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 141, 35, 172, 21, 0, 0, 0, - 0, 195, 183, 1, 0, 2, 142, 35, 176, 21, 0, 0, 0, 0, 94, 34, 0, 0, 2, 143, 35, 200, 21, 0, 0, 0, - 0, 195, 183, 1, 0, 2, 144, 35, 208, 21, 0, 0, 0, 0, 3, 41, 0, 0, 2, 150, 35, 232, 24, 24, 2, - 145, 35, 21, 0, 0, 0, 0, 176, 64, 0, 0, 2, 146, 35, 0, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 147, - 35, 4, 21, 0, 0, 0, 0, 94, 34, 0, 0, 2, 148, 35, 8, 21, 0, 0, 0, 0, 94, 34, 0, 0, 2, 149, 35, - 16, 0, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 151, 35, 0, 1, 28, 0, 0, 0, 0, 11, 1, 0, 0, 2, 152, 35, - 4, 1, 28, 0, 0, 0, 0, 11, 1, 0, 0, 2, 153, 35, 8, 1, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 154, 35, - 12, 1, 28, 0, 0, 0, 0, 175, 46, 3, 0, 2, 155, 35, 16, 1, 30, 141, 41, 0, 0, 2, 156, 35, 24, 1, - 23, 8, 2, 156, 35, 21, 0, 0, 0, 0, 229, 46, 3, 0, 2, 157, 35, 0, 21, 0, 0, 0, 0, 229, 46, 3, 0, - 2, 158, 35, 0, 0, 28, 0, 0, 0, 0, 234, 46, 3, 0, 2, 160, 35, 32, 1, 28, 0, 0, 0, 0, 65, 166, 1, - 0, 2, 161, 35, 48, 1, 28, 0, 0, 0, 0, 65, 166, 1, 0, 2, 162, 35, 56, 1, 28, 0, 0, 0, 0, 176, - 64, 0, 0, 2, 163, 35, 64, 1, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 164, 35, 68, 1, 28, 0, 0, 0, 0, - 168, 0, 0, 0, 2, 165, 35, 72, 1, 28, 0, 0, 0, 0, 141, 64, 0, 0, 2, 166, 35, 76, 1, 28, 0, 0, 0, - 0, 127, 29, 0, 0, 2, 167, 35, 80, 1, 30, 39, 42, 0, 0, 2, 168, 35, 88, 1, 23, 8, 2, 168, 35, - 21, 0, 0, 0, 0, 94, 34, 0, 0, 2, 169, 35, 0, 21, 0, 0, 0, 0, 220, 96, 0, 0, 2, 170, 35, 0, 0, - 28, 0, 0, 0, 0, 94, 34, 0, 0, 2, 172, 35, 96, 1, 28, 0, 0, 0, 0, 195, 183, 1, 0, 2, 173, 35, - 104, 1, 28, 0, 0, 0, 0, 112, 103, 0, 0, 2, 174, 35, 128, 1, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, - 175, 35, 132, 1, 28, 0, 0, 0, 0, 0, 1, 0, 0, 2, 176, 35, 136, 1, 28, 0, 0, 0, 0, 125, 68, 0, 0, - 2, 177, 35, 140, 1, 28, 0, 0, 0, 0, 248, 0, 0, 0, 2, 178, 35, 144, 1, 28, 0, 0, 0, 0, 173, 161, - 0, 0, 2, 179, 35, 152, 1, 28, 0, 0, 0, 0, 0, 1, 0, 0, 2, 180, 35, 192, 1, 28, 0, 0, 0, 0, 0, 1, - 0, 0, 2, 181, 35, 196, 1, 28, 0, 0, 0, 0, 127, 29, 0, 0, 2, 182, 35, 200, 1, 28, 0, 0, 0, 0, - 127, 29, 0, 0, 2, 183, 35, 208, 1, 28, 0, 0, 0, 0, 147, 175, 1, 0, 2, 184, 35, 216, 1, 28, 0, - 0, 0, 0, 70, 177, 1, 0, 2, 185, 35, 232, 1, 28, 0, 0, 0, 0, 70, 177, 1, 0, 2, 186, 35, 240, 1, - 28, 0, 0, 0, 0, 70, 177, 1, 0, 2, 187, 35, 248, 1, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 188, 35, 0, - 2, 28, 0, 0, 0, 0, 11, 1, 0, 0, 2, 189, 35, 4, 2, 28, 0, 0, 0, 0, 8, 153, 0, 0, 2, 190, 35, 8, - 2, 28, 0, 0, 0, 0, 0, 1, 0, 0, 2, 191, 35, 12, 2, 29, 0, 0, 0, 0, 118, 55, 0, 0, 2, 192, 35, 1, - 1, 7, 16, 2, 29, 0, 0, 0, 0, 118, 55, 0, 0, 2, 193, 35, 1, 1, 6, 16, 2, 29, 0, 0, 0, 0, 118, - 55, 0, 0, 2, 194, 35, 1, 1, 5, 16, 2, 29, 0, 0, 0, 0, 118, 55, 0, 0, 2, 195, 35, 1, 1, 4, 16, - 2, 29, 0, 0, 0, 0, 118, 55, 0, 0, 2, 196, 35, 1, 4, 0, 16, 2, 28, 0, 0, 0, 0, 118, 55, 0, 0, 2, - 197, 35, 17, 2, 28, 0, 0, 0, 0, 177, 69, 0, 0, 2, 198, 35, 18, 2, 28, 0, 0, 0, 0, 177, 69, 0, - 0, 2, 199, 35, 20, 2, 28, 0, 0, 0, 0, 177, 69, 0, 0, 2, 200, 35, 22, 2, 28, 0, 0, 0, 0, 127, - 29, 0, 0, 2, 201, 35, 24, 2, 28, 0, 0, 0, 0, 12, 49, 0, 0, 2, 202, 35, 32, 2, 28, 0, 0, 0, 0, - 188, 107, 0, 0, 2, 203, 35, 40, 2, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 204, 35, 48, 2, 28, 0, 0, - 0, 0, 168, 0, 0, 0, 2, 205, 35, 52, 2, 28, 0, 0, 0, 0, 125, 68, 0, 0, 2, 206, 35, 56, 2, 28, 0, - 0, 0, 0, 125, 68, 0, 0, 2, 207, 35, 60, 2, 28, 0, 0, 0, 0, 224, 63, 0, 0, 2, 208, 35, 64, 2, - 28, 0, 0, 0, 0, 118, 55, 0, 0, 2, 209, 35, 68, 2, 28, 0, 0, 0, 0, 177, 69, 0, 0, 2, 210, 35, - 70, 2, 28, 0, 0, 0, 0, 248, 68, 0, 0, 2, 211, 35, 72, 2, 28, 0, 0, 0, 0, 67, 77, 1, 0, 2, 212, - 35, 80, 2, 28, 0, 0, 0, 0, 103, 110, 0, 0, 2, 213, 35, 88, 2, 28, 0, 0, 0, 0, 248, 0, 0, 0, 2, - 214, 35, 96, 2, 28, 0, 0, 0, 0, 32, 207, 0, 0, 2, 215, 35, 104, 2, 28, 0, 0, 0, 0, 177, 69, 0, - 0, 2, 216, 35, 112, 2, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 217, 35, 116, 2, 28, 0, 0, 0, 0, 118, - 55, 0, 0, 2, 218, 35, 120, 2, 28, 0, 0, 0, 0, 125, 68, 0, 0, 2, 219, 35, 124, 2, 28, 0, 0, 0, - 0, 176, 64, 0, 0, 2, 220, 35, 128, 2, 28, 0, 0, 0, 0, 118, 55, 0, 0, 2, 221, 35, 132, 2, 29, 0, - 0, 0, 0, 118, 55, 0, 0, 2, 222, 35, 1, 1, 7, 133, 2, 29, 0, 0, 0, 0, 118, 55, 0, 0, 2, 223, 35, - 1, 1, 6, 133, 2, 29, 0, 0, 0, 0, 118, 55, 0, 0, 2, 224, 35, 1, 6, 0, 133, 2, 28, 0, 0, 0, 0, - 73, 111, 1, 0, 2, 225, 35, 136, 2, 28, 0, 0, 0, 0, 255, 0, 0, 0, 2, 226, 35, 144, 2, 28, 0, 0, - 0, 0, 255, 0, 0, 0, 2, 227, 35, 152, 2, 28, 0, 0, 0, 0, 107, 49, 3, 0, 2, 228, 35, 160, 2, 28, - 0, 0, 0, 0, 161, 30, 1, 0, 2, 229, 35, 176, 2, 28, 0, 0, 0, 0, 23, 53, 0, 0, 2, 230, 35, 184, - 2, 28, 0, 0, 0, 0, 23, 53, 0, 0, 2, 231, 35, 192, 2, 28, 0, 0, 0, 0, 23, 53, 0, 0, 2, 232, 35, - 200, 2, 28, 0, 0, 0, 0, 23, 53, 0, 0, 2, 233, 35, 208, 2, 28, 0, 0, 0, 0, 249, 37, 3, 0, 2, - 234, 35, 216, 2, 28, 0, 0, 0, 0, 156, 49, 3, 0, 2, 235, 35, 224, 2, 28, 0, 0, 0, 0, 23, 53, 0, - 0, 2, 236, 35, 232, 2, 28, 0, 0, 0, 0, 182, 49, 3, 0, 2, 237, 35, 240, 2, 28, 0, 0, 0, 0, 94, - 16, 1, 0, 2, 238, 35, 248, 2, 28, 0, 0, 0, 0, 65, 29, 0, 0, 2, 239, 35, 0, 3, 0, 20, 0, 0, 0, - 0, 136, 2, 39, 35, 22, 42, 46, 0, 0, 2, 40, 35, 0, 23, 8, 2, 40, 35, 21, 0, 0, 0, 0, 178, 48, - 0, 0, 2, 41, 35, 0, 22, 69, 46, 0, 0, 2, 42, 35, 0, 24, 8, 2, 42, 35, 21, 0, 0, 0, 0, 190, 48, - 0, 0, 2, 43, 35, 0, 21, 0, 0, 0, 0, 190, 48, 0, 0, 2, 44, 35, 4, 0, 0, 22, 111, 46, 0, 0, 2, - 47, 35, 8, 23, 4, 2, 47, 35, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 48, 35, 0, 21, 0, 0, 0, 0, 202, - 48, 0, 0, 2, 49, 35, 0, 0, 22, 152, 46, 0, 0, 2, 51, 35, 12, 23, 4, 2, 51, 35, 21, 0, 0, 0, 0, - 232, 48, 0, 0, 2, 52, 35, 0, 22, 179, 46, 0, 0, 2, 53, 35, 0, 24, 4, 2, 53, 35, 21, 0, 0, 0, 0, - 244, 48, 0, 0, 2, 54, 35, 0, 21, 0, 0, 0, 0, 214, 48, 0, 0, 2, 55, 35, 2, 0, 0, 21, 0, 0, 0, 0, - 225, 48, 0, 0, 2, 58, 35, 16, 21, 0, 0, 0, 0, 0, 49, 0, 0, 2, 59, 35, 18, 34, 0, 0, 0, 0, 5, - 49, 0, 0, 2, 60, 35, 1, 4, 4, 19, 34, 0, 0, 0, 0, 5, 49, 0, 0, 2, 61, 35, 1, 1, 3, 19, 34, 0, - 0, 0, 0, 5, 49, 0, 0, 2, 62, 35, 1, 1, 2, 19, 34, 0, 0, 0, 0, 5, 49, 0, 0, 2, 63, 35, 1, 1, 1, - 19, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 64, 35, 20, 22, 68, 47, 0, 0, 2, 65, 35, 24, 23, 16, 2, - 65, 35, 21, 0, 0, 0, 0, 184, 28, 0, 0, 2, 66, 35, 0, 21, 0, 0, 0, 0, 184, 28, 0, 0, 2, 67, 35, - 0, 0, 21, 0, 0, 0, 0, 12, 49, 0, 0, 2, 69, 35, 40, 21, 0, 0, 0, 0, 193, 170, 1, 0, 2, 70, 35, - 48, 21, 0, 0, 0, 0, 11, 150, 1, 0, 2, 71, 35, 56, 21, 0, 0, 0, 0, 11, 150, 1, 0, 2, 72, 35, 72, - 21, 0, 0, 0, 0, 83, 97, 0, 0, 2, 73, 35, 88, 22, 174, 47, 0, 0, 2, 74, 35, 96, 23, 8, 2, 74, - 35, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 75, 35, 0, 21, 0, 0, 0, 0, 140, 40, 0, 0, 2, 76, 35, 0, - 21, 0, 0, 0, 0, 101, 46, 3, 0, 2, 77, 35, 0, 0, 21, 0, 0, 0, 0, 106, 46, 3, 0, 2, 79, 35, 104, - 22, 241, 47, 0, 0, 2, 80, 35, 104, 23, 16, 2, 80, 35, 21, 0, 0, 0, 0, 184, 28, 0, 0, 2, 81, 35, - 0, 21, 0, 0, 0, 0, 88, 143, 1, 0, 2, 82, 35, 0, 0, 21, 0, 0, 0, 0, 225, 48, 0, 0, 2, 84, 35, - 120, 21, 0, 0, 0, 0, 225, 48, 0, 0, 2, 85, 35, 122, 22, 52, 48, 0, 0, 2, 86, 35, 124, 23, 4, 2, - 86, 35, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 87, 35, 0, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 88, 35, - 0, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 89, 35, 0, 0, 21, 0, 0, 0, 0, 141, 64, 0, 0, 2, 91, 35, - 128, 21, 0, 0, 0, 0, 106, 46, 3, 0, 2, 92, 35, 132, 22, 132, 48, 0, 0, 2, 93, 35, 132, 23, 4, - 2, 93, 35, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 94, 35, 0, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 95, - 35, 0, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 96, 35, 0, 0, 0, 33, 197, 0, 0, 0, 0, 0, 0, 0, 2, 14, - 35, 33, 0, 1, 0, 0, 0, 0, 0, 0, 2, 164, 34, 3, 214, 48, 0, 0, 4, 82, 0, 0, 0, 2, 0, 12, 225, - 48, 0, 0, 0, 0, 0, 0, 2, 12, 5, 0, 0, 0, 0, 7, 2, 33, 0, 1, 0, 0, 0, 0, 0, 0, 2, 16, 35, 33, - 214, 48, 0, 0, 0, 0, 0, 0, 2, 162, 34, 35, 5, 49, 0, 0, 5, 0, 0, 0, 0, 8, 1, 9, 17, 49, 0, 0, - 27, 0, 0, 0, 0, 176, 1, 2, 102, 53, 21, 0, 0, 0, 0, 42, 52, 0, 0, 2, 103, 53, 0, 21, 0, 0, 0, - 0, 59, 52, 0, 0, 2, 104, 53, 8, 21, 0, 0, 0, 0, 59, 52, 0, 0, 2, 105, 53, 16, 21, 0, 0, 0, 0, - 162, 52, 0, 0, 2, 106, 53, 24, 21, 0, 0, 0, 0, 183, 52, 0, 0, 2, 107, 53, 32, 21, 0, 0, 0, 0, - 237, 52, 0, 0, 2, 108, 53, 40, 21, 0, 0, 0, 0, 7, 53, 0, 0, 2, 109, 53, 48, 21, 0, 0, 0, 0, 23, - 53, 0, 0, 2, 110, 53, 56, 21, 0, 0, 0, 0, 35, 53, 0, 0, 2, 111, 53, 64, 21, 0, 0, 0, 0, 52, 53, - 0, 0, 2, 112, 53, 72, 21, 0, 0, 0, 0, 163, 53, 0, 0, 2, 113, 53, 80, 21, 0, 0, 0, 0, 35, 53, 0, - 0, 2, 114, 53, 88, 21, 0, 0, 0, 0, 204, 53, 0, 0, 2, 115, 53, 96, 21, 0, 0, 0, 0, 230, 53, 0, - 0, 2, 116, 53, 104, 21, 0, 0, 0, 0, 208, 37, 3, 0, 2, 117, 53, 112, 21, 0, 0, 0, 0, 240, 115, - 1, 0, 2, 118, 53, 120, 21, 0, 0, 0, 0, 59, 52, 0, 0, 2, 119, 53, 128, 21, 0, 0, 0, 0, 59, 52, - 0, 0, 2, 120, 53, 136, 21, 0, 0, 0, 0, 249, 37, 3, 0, 2, 121, 53, 144, 21, 0, 0, 0, 0, 14, 38, - 3, 0, 2, 122, 53, 152, 21, 0, 0, 0, 0, 23, 53, 0, 0, 2, 123, 53, 160, 21, 0, 0, 0, 0, 7, 53, 0, - 0, 2, 124, 53, 168, 21, 0, 0, 0, 0, 23, 53, 0, 0, 2, 125, 53, 176, 21, 0, 0, 0, 0, 23, 53, 0, - 0, 2, 126, 53, 184, 21, 0, 0, 0, 0, 35, 38, 3, 0, 2, 127, 53, 192, 21, 0, 0, 0, 0, 56, 38, 3, - 0, 2, 128, 53, 200, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 129, 53, 208, 21, 0, 0, 0, 0, 21, 43, 3, 0, - 2, 130, 53, 216, 21, 0, 0, 0, 0, 52, 43, 3, 0, 2, 131, 53, 224, 21, 0, 0, 0, 0, 23, 53, 0, 0, - 2, 132, 53, 232, 21, 0, 0, 0, 0, 23, 53, 0, 0, 2, 133, 53, 240, 21, 0, 0, 0, 0, 102, 45, 1, 0, - 2, 134, 53, 248, 28, 0, 0, 0, 0, 68, 43, 3, 0, 2, 135, 53, 0, 1, 28, 0, 0, 0, 0, 75, 110, 0, 0, - 2, 136, 53, 8, 1, 28, 0, 0, 0, 0, 73, 43, 3, 0, 2, 137, 53, 16, 1, 28, 0, 0, 0, 0, 214, 52, 0, - 0, 2, 138, 53, 24, 1, 28, 0, 0, 0, 0, 214, 52, 0, 0, 2, 139, 53, 32, 1, 28, 0, 0, 0, 0, 125, - 68, 0, 0, 2, 140, 53, 40, 1, 28, 0, 0, 0, 0, 125, 68, 0, 0, 2, 141, 53, 44, 1, 28, 0, 0, 0, 0, - 168, 0, 0, 0, 2, 142, 53, 48, 1, 28, 0, 0, 0, 0, 219, 52, 0, 0, 2, 143, 53, 52, 1, 28, 0, 0, 0, - 0, 161, 78, 1, 0, 2, 144, 53, 56, 1, 28, 0, 0, 0, 0, 11, 1, 0, 0, 2, 145, 53, 64, 1, 28, 0, 0, - 0, 0, 100, 80, 1, 0, 2, 146, 53, 68, 1, 28, 0, 0, 0, 0, 11, 1, 0, 0, 2, 147, 53, 72, 1, 28, 0, - 0, 0, 0, 11, 1, 0, 0, 2, 148, 53, 76, 1, 28, 0, 0, 0, 0, 186, 215, 0, 0, 2, 149, 53, 80, 1, 28, - 0, 0, 0, 0, 78, 43, 3, 0, 2, 150, 53, 88, 1, 28, 0, 0, 0, 0, 59, 45, 3, 0, 2, 151, 53, 96, 1, - 28, 0, 0, 0, 0, 183, 51, 0, 0, 2, 157, 53, 104, 1, 23, 8, 2, 152, 53, 21, 0, 0, 0, 0, 142, 142, - 1, 0, 2, 153, 53, 0, 21, 0, 0, 0, 0, 165, 45, 3, 0, 2, 154, 53, 0, 21, 0, 0, 0, 0, 30, 46, 3, - 0, 2, 155, 53, 0, 21, 0, 0, 0, 0, 91, 46, 3, 0, 2, 156, 53, 0, 0, 28, 0, 0, 0, 0, 111, 83, 0, - 0, 2, 158, 53, 112, 1, 28, 0, 0, 0, 0, 28, 201, 0, 0, 2, 159, 53, 120, 1, 28, 0, 0, 0, 0, 227, - 28, 0, 0, 2, 160, 53, 152, 1, 28, 0, 0, 0, 0, 162, 52, 0, 0, 2, 161, 53, 168, 1, 0, 9, 47, 52, - 0, 0, 32, 14, 140, 40, 0, 0, 14, 248, 0, 0, 0, 0, 9, 64, 52, 0, 0, 13, 168, 0, 0, 0, 14, 140, - 40, 0, 0, 14, 85, 52, 0, 0, 14, 168, 0, 0, 0, 0, 9, 90, 52, 0, 0, 20, 0, 0, 0, 0, 16, 2, 72, - 36, 21, 0, 0, 0, 0, 126, 52, 0, 0, 2, 73, 36, 0, 21, 0, 0, 0, 0, 150, 52, 0, 0, 2, 74, 36, 2, - 0, 33, 138, 52, 0, 0, 0, 0, 0, 0, 2, 70, 36, 33, 225, 48, 0, 0, 0, 0, 0, 0, 2, 68, 36, 3, 75, - 0, 0, 0, 4, 82, 0, 0, 0, 14, 0, 9, 167, 52, 0, 0, 13, 168, 0, 0, 0, 14, 140, 40, 0, 0, 14, 168, - 0, 0, 0, 0, 9, 188, 52, 0, 0, 13, 140, 40, 0, 0, 14, 140, 40, 0, 0, 14, 168, 0, 0, 0, 14, 214, - 52, 0, 0, 14, 219, 52, 0, 0, 0, 9, 168, 0, 0, 0, 12, 230, 52, 0, 0, 0, 0, 0, 0, 2, 77, 5, 0, 0, - 0, 0, 2, 1, 9, 242, 52, 0, 0, 13, 168, 0, 0, 0, 14, 140, 40, 0, 0, 14, 168, 0, 0, 0, 14, 127, - 29, 0, 0, 0, 9, 12, 53, 0, 0, 13, 168, 0, 0, 0, 14, 140, 40, 0, 0, 0, 9, 28, 53, 0, 0, 32, 14, - 140, 40, 0, 0, 0, 9, 40, 53, 0, 0, 32, 14, 140, 40, 0, 0, 14, 168, 0, 0, 0, 0, 9, 57, 53, 0, 0, - 13, 168, 0, 0, 0, 14, 140, 40, 0, 0, 14, 168, 0, 0, 0, 14, 168, 0, 0, 0, 14, 88, 53, 0, 0, 14, - 11, 1, 0, 0, 0, 33, 100, 53, 0, 0, 0, 0, 0, 0, 2, 230, 41, 24, 16, 2, 224, 41, 22, 114, 53, 0, - 0, 2, 225, 41, 0, 23, 8, 2, 225, 41, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 226, 41, 0, 21, 0, 0, 0, - 0, 255, 0, 0, 0, 2, 227, 41, 0, 0, 34, 0, 0, 0, 0, 219, 52, 0, 0, 2, 229, 41, 1, 1, 7, 8, 0, 9, - 168, 53, 0, 0, 13, 168, 0, 0, 0, 14, 140, 40, 0, 0, 14, 168, 0, 0, 0, 14, 168, 0, 0, 0, 14, - 199, 53, 0, 0, 14, 214, 52, 0, 0, 0, 9, 75, 0, 0, 0, 9, 209, 53, 0, 0, 13, 168, 0, 0, 0, 14, - 140, 40, 0, 0, 14, 11, 1, 0, 0, 14, 127, 29, 0, 0, 0, 9, 235, 53, 0, 0, 13, 168, 0, 0, 0, 14, - 140, 40, 0, 0, 14, 0, 54, 0, 0, 14, 140, 55, 0, 0, 0, 9, 5, 54, 0, 0, 20, 0, 0, 0, 0, 96, 2, - 77, 36, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 78, 36, 0, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 79, 36, 8, - 21, 0, 0, 0, 0, 150, 54, 0, 0, 2, 80, 36, 16, 22, 62, 54, 0, 0, 2, 81, 36, 56, 23, 8, 2, 81, - 36, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 82, 36, 0, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 83, 36, 0, 0, - 34, 0, 0, 0, 0, 219, 52, 0, 0, 2, 85, 36, 1, 1, 7, 64, 21, 0, 0, 0, 0, 151, 55, 0, 0, 2, 86, - 36, 72, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 87, 36, 80, 21, 0, 0, 0, 0, 21, 234, 0, 0, 2, 88, 36, - 88, 0, 20, 0, 0, 0, 0, 40, 2, 7, 25, 21, 0, 0, 0, 0, 118, 55, 0, 0, 2, 8, 25, 0, 21, 0, 0, 0, - 0, 219, 52, 0, 0, 2, 9, 25, 1, 21, 0, 0, 0, 0, 140, 55, 0, 0, 2, 10, 25, 8, 21, 0, 0, 0, 0, - 140, 55, 0, 0, 2, 11, 25, 16, 22, 220, 54, 0, 0, 2, 12, 25, 24, 23, 8, 2, 12, 25, 21, 0, 0, 0, - 0, 173, 55, 0, 0, 2, 13, 25, 0, 21, 0, 0, 0, 0, 219, 55, 0, 0, 2, 14, 25, 0, 21, 0, 0, 0, 0, 9, - 56, 0, 0, 2, 15, 25, 0, 21, 0, 0, 0, 0, 203, 37, 3, 0, 2, 16, 25, 0, 21, 0, 0, 0, 0, 209, 105, - 0, 0, 2, 17, 25, 0, 0, 22, 44, 55, 0, 0, 2, 19, 25, 32, 23, 8, 2, 19, 25, 21, 0, 0, 0, 0, 127, - 29, 0, 0, 2, 20, 25, 0, 22, 71, 55, 0, 0, 2, 21, 25, 0, 24, 8, 2, 21, 25, 21, 0, 0, 0, 0, 11, - 1, 0, 0, 2, 22, 25, 0, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 23, 25, 4, 0, 21, 0, 0, 0, 0, 29, 75, 0, - 0, 2, 25, 25, 0, 0, 0, 12, 129, 55, 0, 0, 0, 0, 0, 0, 2, 22, 12, 5, 49, 0, 0, 0, 0, 0, 0, 2, 8, - 12, 151, 55, 0, 0, 0, 0, 0, 0, 2, 85, 12, 162, 55, 0, 0, 0, 0, 0, 0, 2, 51, 12, 127, 29, 0, 0, - 0, 0, 0, 0, 2, 43, 9, 178, 55, 0, 0, 26, 183, 55, 0, 0, 20, 0, 0, 0, 0, 16, 2, 114, 29, 21, 0, - 0, 0, 0, 255, 0, 0, 0, 2, 115, 29, 0, 21, 0, 0, 0, 0, 151, 55, 0, 0, 2, 116, 29, 8, 0, 9, 224, - 55, 0, 0, 26, 229, 55, 0, 0, 20, 0, 0, 0, 0, 16, 2, 119, 29, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, - 120, 29, 0, 21, 0, 0, 0, 0, 140, 55, 0, 0, 2, 121, 29, 8, 0, 9, 14, 56, 0, 0, 26, 19, 56, 0, 0, - 20, 0, 0, 0, 0, 16, 2, 111, 26, 21, 0, 0, 0, 0, 68, 56, 0, 0, 2, 112, 26, 0, 21, 0, 0, 0, 0, - 11, 1, 0, 0, 2, 113, 26, 8, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 114, 26, 12, 0, 9, 73, 56, 0, 0, - 20, 0, 0, 0, 0, 64, 2, 51, 6, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 52, 6, 0, 22, 104, 56, 0, 0, 2, - 53, 6, 8, 23, 40, 2, 53, 6, 22, 118, 56, 0, 0, 2, 54, 6, 0, 24, 40, 2, 54, 6, 21, 0, 0, 0, 0, - 227, 28, 0, 0, 2, 55, 6, 0, 21, 0, 0, 0, 0, 134, 59, 0, 0, 2, 56, 6, 16, 21, 0, 0, 0, 0, 127, - 29, 0, 0, 2, 57, 6, 24, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 58, 6, 32, 0, 22, 185, 56, 0, 0, 2, - 60, 6, 0, 24, 40, 2, 60, 6, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 61, 6, 0, 21, 0, 0, 0, 0, 56, 34, - 3, 0, 2, 62, 6, 8, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 63, 6, 16, 21, 0, 0, 0, 0, 127, 29, 0, 0, - 2, 64, 6, 24, 22, 251, 56, 0, 0, 2, 65, 6, 32, 23, 8, 2, 65, 6, 21, 0, 0, 0, 0, 127, 29, 0, 0, - 2, 66, 6, 0, 21, 0, 0, 0, 0, 71, 97, 0, 0, 2, 67, 6, 0, 0, 0, 22, 37, 57, 0, 0, 2, 70, 6, 0, - 24, 40, 2, 70, 6, 22, 51, 57, 0, 0, 2, 71, 6, 0, 23, 16, 2, 71, 6, 21, 0, 0, 0, 0, 227, 28, 0, - 0, 2, 72, 6, 0, 22, 78, 57, 0, 0, 2, 73, 6, 0, 24, 16, 2, 73, 6, 21, 0, 0, 0, 0, 68, 56, 0, 0, - 2, 74, 6, 0, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 75, 6, 8, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 76, 6, - 12, 0, 0, 21, 0, 0, 0, 0, 161, 78, 1, 0, 2, 79, 6, 16, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 80, 6, - 24, 22, 159, 57, 0, 0, 2, 81, 6, 32, 23, 8, 2, 81, 6, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 82, 6, - 0, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 83, 6, 0, 22, 199, 57, 0, 0, 2, 84, 6, 0, 24, 4, 2, 84, 6, - 34, 0, 0, 0, 0, 11, 1, 0, 0, 2, 85, 6, 4, 16, 16, 0, 34, 0, 0, 0, 0, 11, 1, 0, 0, 2, 86, 6, 4, - 15, 1, 0, 34, 0, 0, 0, 0, 11, 1, 0, 0, 2, 87, 6, 4, 1, 0, 0, 0, 0, 0, 22, 8, 58, 0, 0, 2, 91, - 6, 0, 24, 24, 2, 91, 6, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 92, 6, 0, 21, 0, 0, 0, 0, 5, 49, 0, - 0, 2, 93, 6, 8, 21, 0, 0, 0, 0, 5, 49, 0, 0, 2, 94, 6, 9, 21, 0, 0, 0, 0, 176, 64, 0, 0, 2, 95, - 6, 12, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 96, 6, 16, 0, 22, 88, 58, 0, 0, 2, 98, 6, 0, 24, 32, 2, - 98, 6, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 99, 6, 0, 21, 0, 0, 0, 0, 176, 64, 0, 0, 2, 100, 6, 8, - 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 101, 6, 16, 0, 22, 142, 58, 0, 0, 2, 103, 6, 0, 24, 40, 2, - 103, 6, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 104, 6, 0, 21, 0, 0, 0, 0, 113, 158, 0, 0, 2, 105, 6, - 8, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 106, 6, 16, 22, 195, 58, 0, 0, 2, 107, 6, 24, 23, 8, 2, - 107, 6, 21, 0, 0, 0, 0, 104, 93, 0, 0, 2, 108, 6, 0, 21, 0, 0, 0, 0, 176, 64, 0, 0, 2, 109, 6, - 0, 0, 21, 0, 0, 0, 0, 248, 68, 0, 0, 2, 111, 6, 32, 0, 22, 250, 58, 0, 0, 2, 113, 6, 0, 24, 16, - 2, 113, 6, 21, 0, 0, 0, 0, 23, 36, 3, 0, 2, 114, 6, 0, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 115, 6, - 8, 0, 21, 0, 0, 0, 0, 65, 29, 0, 0, 2, 117, 6, 0, 0, 22, 49, 59, 0, 0, 2, 119, 6, 48, 23, 4, 2, - 119, 6, 21, 0, 0, 0, 0, 176, 64, 0, 0, 2, 120, 6, 0, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 121, 6, 0, - 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 122, 6, 0, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 123, 6, 0, 0, 21, - 0, 0, 0, 0, 176, 64, 0, 0, 2, 125, 6, 52, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 126, 6, 56, 0, 9, - 139, 59, 0, 0, 20, 0, 0, 0, 0, 200, 2, 65, 8, 21, 0, 0, 0, 0, 101, 60, 0, 0, 2, 66, 8, 0, 21, - 0, 0, 0, 0, 215, 152, 0, 0, 2, 67, 8, 8, 21, 0, 0, 0, 0, 133, 97, 0, 0, 2, 68, 8, 24, 21, 0, 0, - 0, 0, 8, 153, 0, 0, 2, 69, 8, 64, 21, 0, 0, 0, 0, 176, 64, 0, 0, 2, 70, 8, 68, 21, 0, 0, 0, 0, - 176, 64, 0, 0, 2, 71, 8, 72, 21, 0, 0, 0, 0, 63, 144, 0, 0, 2, 72, 8, 80, 21, 0, 0, 0, 0, 133, - 97, 0, 0, 2, 73, 8, 96, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 74, 8, 136, 21, 0, 0, 0, 0, 127, 29, - 0, 0, 2, 75, 8, 144, 21, 0, 0, 0, 0, 183, 28, 3, 0, 2, 76, 8, 152, 21, 0, 0, 0, 0, 127, 29, 0, - 0, 2, 77, 8, 160, 21, 0, 0, 0, 0, 19, 244, 2, 0, 2, 78, 8, 168, 21, 0, 0, 0, 0, 248, 68, 0, 0, - 2, 79, 8, 172, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 80, 8, 176, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, - 81, 8, 192, 0, 9, 106, 60, 0, 0, 27, 0, 0, 0, 0, 128, 2, 2, 216, 11, 21, 0, 0, 0, 0, 213, 63, - 0, 0, 2, 217, 11, 0, 21, 0, 0, 0, 0, 225, 48, 0, 0, 2, 218, 11, 2, 21, 0, 0, 0, 0, 224, 63, 0, - 0, 2, 219, 11, 4, 21, 0, 0, 0, 0, 21, 64, 0, 0, 2, 220, 11, 8, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, - 221, 11, 12, 21, 0, 0, 0, 0, 74, 64, 0, 0, 2, 222, 11, 16, 21, 0, 0, 0, 0, 74, 64, 0, 0, 2, - 223, 11, 24, 21, 0, 0, 0, 0, 44, 65, 0, 0, 2, 224, 11, 32, 21, 0, 0, 0, 0, 133, 71, 0, 0, 2, - 225, 11, 40, 21, 0, 0, 0, 0, 134, 59, 0, 0, 2, 226, 11, 48, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, - 227, 11, 56, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 228, 11, 64, 22, 25, 61, 0, 0, 2, 229, 11, 72, - 23, 4, 2, 229, 11, 21, 0, 0, 0, 0, 153, 42, 2, 0, 2, 230, 11, 0, 21, 0, 0, 0, 0, 11, 1, 0, 0, - 2, 231, 11, 0, 0, 21, 0, 0, 0, 0, 7, 75, 0, 0, 2, 233, 11, 76, 21, 0, 0, 0, 0, 29, 75, 0, 0, 2, - 234, 11, 80, 21, 0, 0, 0, 0, 52, 161, 0, 0, 2, 235, 11, 88, 21, 0, 0, 0, 0, 52, 161, 0, 0, 2, - 236, 11, 104, 21, 0, 0, 0, 0, 52, 161, 0, 0, 2, 237, 11, 120, 21, 0, 0, 0, 0, 248, 68, 0, 0, 2, - 238, 11, 136, 21, 0, 0, 0, 0, 225, 48, 0, 0, 2, 239, 11, 140, 21, 0, 0, 0, 0, 118, 55, 0, 0, 2, - 240, 11, 142, 21, 0, 0, 0, 0, 118, 55, 0, 0, 2, 241, 11, 143, 21, 0, 0, 0, 0, 91, 1, 3, 0, 2, - 242, 11, 144, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 243, 11, 152, 21, 0, 0, 0, 0, 133, 97, 0, 0, 2, - 244, 11, 160, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 245, 11, 200, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, - 246, 11, 208, 21, 0, 0, 0, 0, 184, 28, 0, 0, 2, 247, 11, 216, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, - 248, 11, 232, 21, 0, 0, 0, 0, 21, 249, 2, 0, 2, 249, 11, 248, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, - 250, 11, 0, 1, 28, 0, 0, 0, 0, 177, 69, 0, 0, 2, 251, 11, 4, 1, 28, 0, 0, 0, 0, 177, 69, 0, 0, - 2, 252, 11, 6, 1, 28, 0, 0, 0, 0, 227, 28, 0, 0, 2, 253, 11, 8, 1, 28, 0, 0, 0, 0, 227, 28, 0, - 0, 2, 254, 11, 24, 1, 28, 0, 0, 0, 0, 227, 28, 0, 0, 2, 255, 11, 40, 1, 30, 116, 62, 0, 0, 2, - 0, 12, 56, 1, 23, 16, 2, 0, 12, 21, 0, 0, 0, 0, 190, 103, 0, 0, 2, 1, 12, 0, 21, 0, 0, 0, 0, - 65, 29, 0, 0, 2, 2, 12, 0, 0, 28, 0, 0, 0, 0, 83, 97, 0, 0, 2, 4, 12, 72, 1, 28, 0, 0, 0, 0, - 83, 97, 0, 0, 2, 5, 12, 80, 1, 28, 0, 0, 0, 0, 176, 64, 0, 0, 2, 6, 12, 88, 1, 28, 0, 0, 0, 0, - 176, 64, 0, 0, 2, 7, 12, 92, 1, 28, 0, 0, 0, 0, 176, 64, 0, 0, 2, 8, 12, 96, 1, 28, 0, 0, 0, 0, - 176, 64, 0, 0, 2, 9, 12, 100, 1, 30, 242, 62, 0, 0, 2, 10, 12, 104, 1, 23, 8, 2, 10, 12, 21, 0, - 0, 0, 0, 197, 81, 0, 0, 2, 11, 12, 0, 21, 0, 0, 0, 0, 39, 235, 2, 0, 2, 12, 12, 0, 0, 28, 0, 0, - 0, 0, 62, 16, 3, 0, 2, 14, 12, 112, 1, 28, 0, 0, 0, 0, 139, 59, 0, 0, 2, 15, 12, 120, 1, 28, 0, - 0, 0, 0, 227, 28, 0, 0, 2, 16, 12, 64, 2, 30, 70, 63, 0, 0, 2, 17, 12, 80, 2, 23, 8, 2, 17, 12, - 21, 0, 0, 0, 0, 209, 105, 0, 0, 2, 18, 12, 0, 21, 0, 0, 0, 0, 118, 241, 1, 0, 2, 19, 12, 0, 21, - 0, 0, 0, 0, 199, 53, 0, 0, 2, 20, 12, 0, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 21, 12, 0, 0, 28, 0, - 0, 0, 0, 0, 1, 0, 0, 2, 23, 12, 88, 2, 28, 0, 0, 0, 0, 0, 1, 0, 0, 2, 24, 12, 92, 2, 28, 0, 0, - 0, 0, 190, 124, 1, 0, 2, 25, 12, 96, 2, 28, 0, 0, 0, 0, 129, 16, 3, 0, 2, 26, 12, 104, 2, 28, - 0, 0, 0, 0, 219, 25, 3, 0, 2, 27, 12, 112, 2, 28, 0, 0, 0, 0, 255, 0, 0, 0, 2, 28, 12, 120, 2, - 0, 12, 225, 48, 0, 0, 0, 0, 0, 0, 2, 71, 33, 236, 63, 0, 0, 0, 0, 0, 0, 2, 90, 2, 24, 4, 2, 88, - 2, 21, 0, 0, 0, 0, 255, 63, 0, 0, 2, 89, 2, 0, 0, 12, 10, 64, 0, 0, 0, 0, 0, 0, 2, 79, 12, 11, - 1, 0, 0, 0, 0, 0, 0, 2, 47, 33, 33, 64, 0, 0, 0, 0, 0, 0, 2, 183, 9, 24, 4, 2, 181, 9, 21, 0, - 0, 0, 0, 52, 64, 0, 0, 2, 182, 9, 0, 0, 12, 63, 64, 0, 0, 0, 0, 0, 0, 2, 81, 12, 11, 1, 0, 0, - 0, 0, 0, 0, 2, 49, 9, 79, 64, 0, 0, 20, 0, 0, 0, 0, 32, 2, 43, 37, 21, 0, 0, 0, 0, 141, 64, 0, - 0, 2, 44, 37, 0, 21, 0, 0, 0, 0, 65, 29, 0, 0, 2, 45, 37, 8, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, - 46, 37, 24, 21, 0, 0, 0, 0, 204, 64, 0, 0, 2, 47, 37, 28, 0, 33, 153, 64, 0, 0, 0, 0, 0, 0, 2, - 92, 1, 20, 0, 0, 0, 0, 4, 2, 88, 1, 21, 0, 0, 0, 0, 176, 64, 0, 0, 2, 89, 1, 0, 0, 12, 187, 64, - 0, 0, 0, 0, 0, 0, 2, 105, 7, 4, 2, 103, 8, 0, 0, 0, 0, 168, 0, 0, 0, 2, 104, 0, 0, 3, 216, 64, - 0, 0, 4, 82, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 8, 2, 34, 37, 21, 0, 0, 0, 0, 37, 65, 0, 0, 2, 35, - 37, 0, 21, 0, 0, 0, 0, 225, 48, 0, 0, 2, 36, 37, 2, 22, 4, 65, 0, 0, 2, 37, 37, 4, 23, 4, 2, - 37, 37, 21, 0, 0, 0, 0, 224, 63, 0, 0, 2, 38, 37, 0, 21, 0, 0, 0, 0, 21, 64, 0, 0, 2, 39, 37, - 0, 0, 0, 5, 0, 0, 0, 0, 5, 2, 9, 49, 65, 0, 0, 26, 54, 65, 0, 0, 20, 0, 0, 0, 0, 192, 2, 64, - 14, 21, 0, 0, 0, 0, 107, 66, 0, 0, 2, 65, 14, 0, 21, 0, 0, 0, 0, 222, 11, 3, 0, 2, 66, 14, 8, - 21, 0, 0, 0, 0, 253, 11, 3, 0, 2, 67, 14, 16, 21, 0, 0, 0, 0, 23, 12, 3, 0, 2, 68, 14, 24, 21, - 0, 0, 0, 0, 49, 12, 3, 0, 2, 69, 14, 32, 21, 0, 0, 0, 0, 75, 12, 3, 0, 2, 70, 14, 40, 21, 0, 0, - 0, 0, 111, 12, 3, 0, 2, 71, 14, 48, 21, 0, 0, 0, 0, 88, 219, 2, 0, 2, 72, 14, 56, 21, 0, 0, 0, - 0, 137, 12, 3, 0, 2, 73, 14, 64, 21, 0, 0, 0, 0, 168, 12, 3, 0, 2, 74, 14, 72, 21, 0, 0, 0, 0, - 88, 219, 2, 0, 2, 75, 14, 80, 21, 0, 0, 0, 0, 199, 12, 3, 0, 2, 76, 14, 88, 21, 0, 0, 0, 0, - 235, 12, 3, 0, 2, 77, 14, 96, 21, 0, 0, 0, 0, 20, 13, 3, 0, 2, 78, 14, 104, 21, 0, 0, 0, 0, 46, - 13, 3, 0, 2, 79, 14, 112, 21, 0, 0, 0, 0, 75, 14, 3, 0, 2, 80, 14, 120, 21, 0, 0, 0, 0, 101, - 14, 3, 0, 2, 81, 14, 128, 21, 0, 0, 0, 0, 48, 15, 3, 0, 2, 82, 14, 136, 21, 0, 0, 0, 0, 79, 15, - 3, 0, 2, 83, 14, 144, 21, 0, 0, 0, 0, 168, 12, 3, 0, 2, 84, 14, 152, 21, 0, 0, 0, 0, 115, 15, - 3, 0, 2, 85, 14, 160, 21, 0, 0, 0, 0, 146, 15, 3, 0, 2, 86, 14, 168, 21, 0, 0, 0, 0, 41, 16, 3, - 0, 2, 87, 14, 176, 0, 9, 112, 66, 0, 0, 13, 133, 66, 0, 0, 14, 101, 60, 0, 0, 14, 133, 66, 0, - 0, 14, 11, 1, 0, 0, 0, 9, 138, 66, 0, 0, 20, 0, 0, 0, 0, 192, 2, 174, 11, 21, 0, 0, 0, 0, 11, - 1, 0, 0, 2, 175, 11, 0, 21, 0, 0, 0, 0, 173, 67, 0, 0, 2, 176, 11, 4, 21, 0, 0, 0, 0, 243, 67, - 0, 0, 2, 177, 11, 8, 21, 0, 0, 0, 0, 133, 66, 0, 0, 2, 178, 11, 24, 21, 0, 0, 0, 0, 33, 68, 0, - 0, 2, 179, 11, 32, 21, 0, 0, 0, 0, 101, 60, 0, 0, 2, 180, 11, 48, 21, 0, 0, 0, 0, 157, 68, 0, - 0, 2, 181, 11, 56, 21, 0, 0, 0, 0, 169, 68, 0, 0, 2, 182, 11, 88, 21, 0, 0, 0, 0, 188, 69, 0, - 0, 2, 183, 11, 96, 21, 0, 0, 0, 0, 133, 71, 0, 0, 2, 184, 11, 104, 21, 0, 0, 0, 0, 127, 29, 0, - 0, 2, 185, 11, 112, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 186, 11, 120, 22, 56, 67, 0, 0, 2, 187, - 11, 128, 23, 16, 2, 187, 11, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 188, 11, 0, 21, 0, 0, 0, 0, 96, - 160, 0, 0, 2, 189, 11, 0, 0, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 191, 11, 144, 21, 0, 0, 0, 0, - 227, 28, 0, 0, 2, 192, 11, 160, 21, 0, 0, 0, 0, 127, 67, 0, 0, 2, 197, 11, 176, 23, 16, 2, 193, - 11, 21, 0, 0, 0, 0, 184, 28, 0, 0, 2, 194, 11, 0, 21, 0, 0, 0, 0, 243, 67, 0, 0, 2, 195, 11, 0, - 21, 0, 0, 0, 0, 65, 29, 0, 0, 2, 196, 11, 0, 0, 0, 33, 185, 67, 0, 0, 0, 0, 0, 0, 2, 135, 2, - 20, 0, 0, 0, 0, 4, 2, 131, 2, 21, 0, 0, 0, 0, 208, 67, 0, 0, 2, 132, 2, 0, 0, 33, 220, 67, 0, - 0, 0, 0, 0, 0, 2, 129, 2, 20, 0, 0, 0, 0, 4, 2, 125, 2, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 126, 2, - 0, 0, 20, 0, 0, 0, 0, 16, 2, 146, 11, 21, 0, 0, 0, 0, 23, 68, 0, 0, 2, 147, 11, 0, 21, 0, 0, 0, - 0, 28, 68, 0, 0, 2, 148, 11, 8, 0, 9, 243, 67, 0, 0, 9, 23, 68, 0, 0, 20, 0, 0, 0, 0, 16, 2, - 161, 11, 22, 51, 68, 0, 0, 2, 162, 11, 0, 23, 8, 2, 162, 11, 22, 65, 68, 0, 0, 2, 163, 11, 0, - 24, 8, 2, 163, 11, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 164, 11, 0, 21, 0, 0, 0, 0, 125, 68, 0, 0, - 2, 165, 11, 4, 0, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 167, 11, 0, 0, 21, 0, 0, 0, 0, 147, 68, 0, - 0, 2, 169, 11, 8, 0, 12, 0, 1, 0, 0, 0, 0, 0, 0, 2, 30, 12, 197, 0, 0, 0, 0, 0, 0, 0, 2, 34, 9, - 152, 68, 0, 0, 26, 5, 49, 0, 0, 3, 5, 49, 0, 0, 4, 82, 0, 0, 0, 32, 0, 20, 0, 0, 0, 0, 8, 2, - 151, 11, 22, 187, 68, 0, 0, 2, 152, 11, 0, 23, 8, 2, 152, 11, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, - 153, 11, 0, 22, 214, 68, 0, 0, 2, 154, 11, 0, 24, 8, 2, 154, 11, 21, 0, 0, 0, 0, 248, 68, 0, 0, - 2, 155, 11, 0, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 156, 11, 4, 0, 0, 0, 12, 3, 69, 0, 0, 0, 0, 0, - 0, 2, 205, 31, 0, 0, 0, 0, 4, 2, 199, 36, 19, 69, 0, 0, 2, 200, 0, 37, 4, 2, 200, 8, 0, 0, 0, - 0, 37, 69, 0, 0, 2, 201, 0, 0, 0, 31, 0, 0, 0, 0, 4, 2, 193, 8, 0, 0, 0, 0, 58, 69, 0, 0, 2, - 194, 0, 0, 12, 69, 69, 0, 0, 0, 0, 0, 0, 2, 178, 31, 0, 0, 0, 0, 4, 2, 164, 36, 85, 69, 0, 0, - 2, 165, 0, 37, 4, 2, 165, 8, 0, 0, 0, 0, 176, 64, 0, 0, 2, 166, 0, 36, 109, 69, 0, 0, 2, 167, - 0, 7, 2, 2, 167, 8, 0, 0, 0, 0, 118, 55, 0, 0, 2, 168, 0, 8, 0, 0, 0, 0, 118, 55, 0, 0, 2, 169, - 1, 0, 36, 146, 69, 0, 0, 2, 171, 0, 7, 4, 2, 171, 8, 0, 0, 0, 0, 177, 69, 0, 0, 2, 172, 0, 8, - 0, 0, 0, 0, 177, 69, 0, 0, 2, 173, 2, 0, 0, 0, 12, 214, 48, 0, 0, 0, 0, 0, 0, 2, 26, 9, 193, - 69, 0, 0, 26, 198, 69, 0, 0, 20, 0, 0, 0, 0, 128, 2, 31, 12, 21, 0, 0, 0, 0, 121, 70, 0, 0, 2, - 32, 12, 0, 21, 0, 0, 0, 0, 121, 70, 0, 0, 2, 33, 12, 8, 21, 0, 0, 0, 0, 142, 70, 0, 0, 2, 34, - 12, 16, 21, 0, 0, 0, 0, 178, 70, 0, 0, 2, 35, 12, 24, 21, 0, 0, 0, 0, 219, 70, 0, 0, 2, 36, 12, - 32, 21, 0, 0, 0, 0, 235, 70, 0, 0, 2, 37, 12, 40, 21, 0, 0, 0, 0, 251, 70, 0, 0, 2, 38, 12, 48, - 21, 0, 0, 0, 0, 251, 70, 0, 0, 2, 39, 12, 56, 21, 0, 0, 0, 0, 7, 71, 0, 0, 2, 40, 12, 64, 21, - 0, 0, 0, 0, 24, 71, 0, 0, 2, 41, 12, 72, 21, 0, 0, 0, 0, 50, 71, 0, 0, 2, 42, 12, 80, 21, 0, 0, - 0, 0, 170, 11, 3, 0, 2, 43, 12, 88, 21, 0, 0, 0, 0, 191, 11, 3, 0, 2, 44, 12, 96, 0, 9, 126, - 70, 0, 0, 13, 168, 0, 0, 0, 14, 133, 66, 0, 0, 14, 11, 1, 0, 0, 0, 9, 147, 70, 0, 0, 13, 168, - 0, 0, 0, 14, 163, 70, 0, 0, 14, 173, 70, 0, 0, 0, 9, 168, 70, 0, 0, 26, 138, 66, 0, 0, 9, 33, - 68, 0, 0, 9, 183, 70, 0, 0, 13, 168, 0, 0, 0, 14, 163, 70, 0, 0, 14, 11, 1, 0, 0, 14, 14, 29, - 0, 0, 14, 209, 70, 0, 0, 0, 9, 214, 70, 0, 0, 26, 33, 68, 0, 0, 9, 224, 70, 0, 0, 13, 168, 0, - 0, 0, 14, 163, 70, 0, 0, 0, 9, 240, 70, 0, 0, 13, 168, 0, 0, 0, 14, 133, 66, 0, 0, 0, 9, 0, 71, - 0, 0, 32, 14, 133, 66, 0, 0, 0, 9, 12, 71, 0, 0, 32, 14, 133, 66, 0, 0, 14, 101, 60, 0, 0, 0, - 9, 29, 71, 0, 0, 13, 199, 53, 0, 0, 14, 133, 66, 0, 0, 14, 199, 53, 0, 0, 14, 168, 0, 0, 0, 0, - 9, 55, 71, 0, 0, 13, 66, 71, 0, 0, 14, 165, 11, 3, 0, 0, 9, 71, 71, 0, 0, 20, 0, 0, 0, 0, 32, - 2, 207, 12, 21, 0, 0, 0, 0, 133, 66, 0, 0, 2, 208, 12, 0, 21, 0, 0, 0, 0, 133, 71, 0, 0, 2, - 209, 12, 8, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 210, 12, 16, 21, 0, 0, 0, 0, 3, 118, 0, 0, 2, 211, - 12, 24, 0, 9, 138, 71, 0, 0, 27, 0, 0, 0, 0, 128, 5, 2, 136, 12, 21, 0, 0, 0, 0, 227, 28, 0, 0, - 2, 137, 12, 0, 21, 0, 0, 0, 0, 7, 75, 0, 0, 2, 138, 12, 16, 21, 0, 0, 0, 0, 5, 49, 0, 0, 2, - 139, 12, 20, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 140, 12, 24, 21, 0, 0, 0, 0, 29, 75, 0, 0, 2, - 141, 12, 32, 21, 0, 0, 0, 0, 58, 75, 0, 0, 2, 142, 12, 40, 21, 0, 0, 0, 0, 52, 246, 2, 0, 2, - 143, 12, 48, 21, 0, 0, 0, 0, 206, 252, 2, 0, 2, 144, 12, 56, 21, 0, 0, 0, 0, 0, 254, 2, 0, 2, - 145, 12, 64, 21, 0, 0, 0, 0, 102, 1, 3, 0, 2, 146, 12, 72, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, - 147, 12, 80, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 148, 12, 88, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, - 149, 12, 96, 21, 0, 0, 0, 0, 133, 66, 0, 0, 2, 150, 12, 104, 21, 0, 0, 0, 0, 133, 97, 0, 0, 2, - 151, 12, 112, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 152, 12, 152, 21, 0, 0, 0, 0, 176, 64, 0, 0, 2, - 153, 12, 156, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 154, 12, 160, 21, 0, 0, 0, 0, 197, 3, 3, 0, 2, - 155, 12, 168, 21, 0, 0, 0, 0, 152, 4, 3, 0, 2, 156, 12, 176, 21, 0, 0, 0, 0, 121, 101, 0, 0, 2, - 157, 12, 184, 21, 0, 0, 0, 0, 174, 6, 3, 0, 2, 158, 12, 192, 21, 0, 0, 0, 0, 91, 7, 3, 0, 2, - 159, 12, 200, 21, 0, 0, 0, 0, 214, 48, 0, 0, 2, 160, 12, 208, 21, 0, 0, 0, 0, 132, 7, 3, 0, 2, - 161, 12, 216, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 162, 12, 224, 21, 0, 0, 0, 0, 33, 12, 2, 0, 2, - 163, 12, 240, 21, 0, 0, 0, 0, 36, 61, 2, 0, 2, 164, 12, 248, 28, 0, 0, 0, 0, 155, 7, 3, 0, 2, - 165, 12, 0, 1, 28, 0, 0, 0, 0, 184, 28, 0, 0, 2, 166, 12, 8, 1, 28, 0, 0, 0, 0, 11, 1, 0, 0, 2, - 167, 12, 24, 1, 28, 0, 0, 0, 0, 165, 7, 3, 0, 2, 168, 12, 32, 1, 28, 0, 0, 0, 0, 84, 9, 3, 0, - 2, 169, 12, 88, 2, 28, 0, 0, 0, 0, 255, 0, 0, 0, 2, 170, 12, 152, 3, 28, 0, 0, 0, 0, 125, 68, - 0, 0, 2, 171, 12, 160, 3, 28, 0, 0, 0, 0, 245, 110, 0, 0, 2, 172, 12, 168, 3, 28, 0, 0, 0, 0, - 245, 110, 0, 0, 2, 173, 12, 176, 3, 28, 0, 0, 0, 0, 0, 1, 0, 0, 2, 174, 12, 184, 3, 28, 0, 0, - 0, 0, 190, 124, 1, 0, 2, 175, 12, 192, 3, 28, 0, 0, 0, 0, 28, 201, 0, 0, 2, 176, 12, 200, 3, - 28, 0, 0, 0, 0, 27, 10, 3, 0, 2, 177, 12, 232, 3, 28, 0, 0, 0, 0, 11, 1, 0, 0, 2, 178, 12, 248, - 3, 28, 0, 0, 0, 0, 117, 16, 2, 0, 2, 179, 12, 252, 3, 28, 0, 0, 0, 0, 241, 106, 0, 0, 2, 180, - 12, 0, 4, 28, 0, 0, 0, 0, 14, 29, 0, 0, 2, 181, 12, 32, 4, 28, 0, 0, 0, 0, 188, 69, 0, 0, 2, - 182, 12, 40, 4, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 183, 12, 48, 4, 28, 0, 0, 0, 0, 58, 10, 3, 0, - 2, 184, 12, 56, 4, 28, 0, 0, 0, 0, 71, 97, 0, 0, 2, 185, 12, 120, 4, 28, 0, 0, 0, 0, 71, 97, 0, - 0, 2, 186, 12, 128, 4, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 187, 12, 136, 4, 28, 0, 0, 0, 0, 19, - 244, 2, 0, 2, 188, 12, 140, 4, 28, 0, 0, 0, 0, 209, 165, 0, 0, 2, 189, 12, 144, 4, 28, 0, 0, 0, - 0, 190, 103, 0, 0, 2, 190, 12, 152, 4, 28, 0, 0, 0, 0, 3, 118, 0, 0, 2, 191, 12, 160, 4, 28, 0, - 0, 0, 0, 198, 10, 3, 0, 2, 192, 12, 168, 4, 28, 0, 0, 0, 0, 198, 10, 3, 0, 2, 193, 12, 200, 4, - 28, 0, 0, 0, 0, 65, 29, 0, 0, 2, 194, 12, 232, 4, 28, 0, 0, 0, 0, 156, 163, 0, 0, 2, 195, 12, - 248, 4, 28, 0, 0, 0, 0, 241, 106, 0, 0, 2, 196, 12, 24, 5, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, - 197, 12, 56, 5, 28, 0, 0, 0, 0, 248, 68, 0, 0, 2, 199, 12, 64, 5, 28, 0, 0, 0, 0, 227, 28, 0, - 0, 2, 200, 12, 72, 5, 28, 0, 0, 0, 0, 248, 68, 0, 0, 2, 201, 12, 88, 5, 28, 0, 0, 0, 0, 227, - 28, 0, 0, 2, 202, 12, 96, 5, 0, 12, 18, 75, 0, 0, 0, 0, 0, 0, 2, 69, 12, 125, 68, 0, 0, 0, 0, - 0, 0, 2, 67, 12, 40, 75, 0, 0, 0, 0, 0, 0, 2, 83, 12, 51, 75, 0, 0, 0, 0, 0, 0, 2, 55, 5, 0, 0, - 0, 0, 5, 8, 9, 63, 75, 0, 0, 31, 0, 0, 0, 0, 72, 2, 144, 8, 0, 0, 0, 0, 14, 29, 0, 0, 2, 145, - 0, 8, 0, 0, 0, 0, 168, 0, 0, 0, 2, 146, 8, 8, 0, 0, 0, 0, 20, 76, 0, 0, 2, 147, 16, 8, 0, 0, 0, - 0, 25, 245, 2, 0, 2, 148, 24, 8, 0, 0, 0, 0, 253, 245, 2, 0, 2, 149, 32, 8, 0, 0, 0, 0, 28, - 246, 2, 0, 2, 150, 40, 8, 0, 0, 0, 0, 111, 83, 0, 0, 2, 151, 48, 8, 0, 0, 0, 0, 58, 75, 0, 0, - 2, 152, 56, 8, 0, 0, 0, 0, 190, 103, 0, 0, 2, 153, 64, 8, 0, 0, 0, 0, 151, 117, 0, 0, 2, 154, - 72, 8, 0, 0, 0, 0, 151, 117, 0, 0, 2, 155, 72, 8, 0, 0, 0, 0, 151, 117, 0, 0, 2, 156, 72, 8, 0, - 0, 0, 0, 40, 246, 2, 0, 2, 157, 72, 8, 0, 0, 0, 0, 151, 117, 0, 0, 2, 158, 72, 8, 0, 0, 0, 0, - 151, 117, 0, 0, 2, 159, 72, 8, 0, 0, 0, 0, 151, 117, 0, 0, 2, 160, 72, 8, 0, 0, 0, 0, 151, 117, - 0, 0, 2, 161, 72, 0, 9, 25, 76, 0, 0, 13, 168, 0, 0, 0, 14, 36, 76, 0, 0, 0, 9, 41, 76, 0, 0, - 20, 0, 0, 0, 0, 160, 2, 61, 26, 21, 0, 0, 0, 0, 96, 77, 0, 0, 2, 62, 26, 0, 21, 0, 0, 0, 0, - 241, 106, 0, 0, 2, 63, 26, 8, 21, 0, 0, 0, 0, 58, 75, 0, 0, 2, 64, 26, 40, 21, 0, 0, 0, 0, 255, - 0, 0, 0, 2, 65, 26, 48, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 66, 26, 56, 21, 0, 0, 0, 0, 133, 66, - 0, 0, 2, 67, 26, 64, 21, 0, 0, 0, 0, 3, 118, 0, 0, 2, 68, 26, 72, 21, 0, 0, 0, 0, 115, 125, 1, - 0, 2, 69, 26, 80, 21, 0, 0, 0, 0, 103, 110, 0, 0, 2, 70, 26, 88, 21, 0, 0, 0, 0, 52, 244, 2, 0, - 2, 71, 26, 96, 21, 0, 0, 0, 0, 14, 29, 0, 0, 2, 72, 26, 112, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, - 73, 26, 120, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 74, 26, 128, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 75, - 26, 136, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 76, 26, 140, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 77, 26, - 144, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 78, 26, 148, 34, 0, 0, 0, 0, 193, 244, 2, 0, 2, 79, 26, 4, - 8, 24, 152, 34, 0, 0, 0, 0, 225, 244, 2, 0, 2, 80, 26, 4, 8, 16, 152, 34, 0, 0, 0, 0, 219, 52, - 0, 0, 2, 81, 26, 1, 1, 7, 154, 34, 0, 0, 0, 0, 219, 52, 0, 0, 2, 82, 26, 1, 1, 6, 154, 34, 0, - 0, 0, 0, 219, 52, 0, 0, 2, 83, 26, 1, 1, 5, 154, 0, 9, 101, 77, 0, 0, 26, 106, 77, 0, 0, 20, 0, - 0, 0, 0, 48, 2, 85, 34, 21, 0, 0, 0, 0, 194, 77, 0, 0, 2, 86, 34, 0, 21, 0, 0, 0, 0, 206, 77, - 0, 0, 2, 87, 34, 8, 21, 0, 0, 0, 0, 227, 77, 0, 0, 2, 88, 34, 16, 21, 0, 0, 0, 0, 31, 244, 2, - 0, 2, 89, 34, 24, 21, 0, 0, 0, 0, 20, 76, 0, 0, 2, 90, 34, 32, 21, 0, 0, 0, 0, 20, 76, 0, 0, 2, - 91, 34, 40, 0, 9, 199, 77, 0, 0, 32, 14, 36, 76, 0, 0, 0, 9, 211, 77, 0, 0, 13, 168, 0, 0, 0, - 14, 36, 76, 0, 0, 14, 36, 76, 0, 0, 0, 9, 232, 77, 0, 0, 13, 168, 0, 0, 0, 14, 36, 76, 0, 0, - 14, 248, 77, 0, 0, 0, 9, 253, 77, 0, 0, 20, 0, 0, 0, 0, 40, 2, 63, 34, 21, 0, 0, 0, 0, 14, 29, - 0, 0, 2, 64, 34, 0, 34, 0, 0, 0, 0, 110, 1, 0, 0, 2, 65, 34, 4, 8, 24, 8, 22, 44, 78, 0, 0, 2, - 66, 34, 16, 23, 8, 2, 66, 34, 21, 0, 0, 0, 0, 199, 53, 0, 0, 2, 67, 34, 0, 21, 0, 0, 0, 0, 255, - 0, 0, 0, 2, 68, 34, 0, 21, 0, 0, 0, 0, 129, 78, 0, 0, 2, 69, 34, 0, 21, 0, 0, 0, 0, 69, 80, 0, - 0, 2, 70, 34, 0, 0, 21, 0, 0, 0, 0, 140, 55, 0, 0, 2, 72, 34, 24, 21, 0, 0, 0, 0, 168, 0, 0, 0, - 2, 73, 34, 32, 0, 9, 134, 78, 0, 0, 20, 0, 0, 0, 0, 32, 2, 88, 26, 21, 0, 0, 0, 0, 14, 29, 0, - 0, 2, 89, 26, 0, 21, 0, 0, 0, 0, 14, 29, 0, 0, 2, 90, 26, 8, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, - 91, 26, 16, 21, 0, 0, 0, 0, 209, 78, 0, 0, 2, 92, 26, 24, 21, 0, 0, 0, 0, 57, 80, 0, 0, 2, 93, - 26, 32, 0, 9, 214, 78, 0, 0, 20, 0, 0, 0, 0, 112, 2, 119, 139, 21, 0, 0, 0, 0, 227, 28, 0, 0, - 2, 120, 139, 0, 21, 0, 0, 0, 0, 129, 78, 0, 0, 2, 121, 139, 16, 21, 0, 0, 0, 0, 168, 0, 0, 0, - 2, 122, 139, 24, 21, 0, 0, 0, 0, 219, 52, 0, 0, 2, 123, 139, 28, 21, 0, 0, 0, 0, 127, 29, 0, 0, - 2, 124, 139, 32, 21, 0, 0, 0, 0, 7, 75, 0, 0, 2, 125, 139, 40, 21, 0, 0, 0, 0, 213, 63, 0, 0, - 2, 126, 139, 44, 21, 0, 0, 0, 0, 224, 63, 0, 0, 2, 127, 139, 48, 21, 0, 0, 0, 0, 21, 64, 0, 0, - 2, 128, 139, 52, 21, 0, 0, 0, 0, 7, 75, 0, 0, 2, 129, 139, 56, 21, 0, 0, 0, 0, 125, 68, 0, 0, - 2, 130, 139, 60, 21, 0, 0, 0, 0, 163, 79, 0, 0, 2, 131, 139, 64, 21, 0, 0, 0, 0, 11, 1, 0, 0, - 2, 132, 139, 100, 21, 0, 0, 0, 0, 5, 49, 0, 0, 2, 133, 139, 104, 21, 0, 0, 0, 0, 219, 52, 0, 0, - 2, 134, 139, 105, 0, 20, 0, 0, 0, 0, 36, 2, 108, 139, 21, 0, 0, 0, 0, 10, 80, 0, 0, 2, 109, - 139, 0, 21, 0, 0, 0, 0, 10, 80, 0, 0, 2, 110, 139, 8, 22, 207, 79, 0, 0, 2, 111, 139, 16, 23, - 8, 2, 111, 139, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 112, 139, 0, 21, 0, 0, 0, 0, 10, 80, 0, 0, 2, - 113, 139, 0, 0, 21, 0, 0, 0, 0, 10, 80, 0, 0, 2, 115, 139, 24, 21, 0, 0, 0, 0, 224, 63, 0, 0, - 2, 116, 139, 32, 0, 33, 22, 80, 0, 0, 0, 0, 0, 0, 2, 230, 10, 20, 0, 0, 0, 0, 8, 2, 226, 10, - 21, 0, 0, 0, 0, 45, 80, 0, 0, 2, 227, 10, 0, 0, 3, 0, 1, 0, 0, 4, 82, 0, 0, 0, 2, 0, 3, 19, 29, - 0, 0, 4, 82, 0, 0, 0, 0, 0, 9, 74, 80, 0, 0, 20, 0, 0, 0, 0, 232, 2, 167, 8, 21, 0, 0, 0, 0, - 96, 80, 0, 0, 2, 171, 8, 0, 23, 16, 2, 168, 8, 21, 0, 0, 0, 0, 133, 81, 0, 0, 2, 169, 8, 0, 21, - 0, 0, 0, 0, 65, 29, 0, 0, 2, 170, 8, 0, 0, 21, 0, 0, 0, 0, 161, 81, 0, 0, 2, 172, 8, 16, 21, 0, - 0, 0, 0, 101, 60, 0, 0, 2, 173, 8, 32, 21, 0, 0, 0, 0, 197, 81, 0, 0, 2, 174, 8, 40, 21, 0, 0, - 0, 0, 248, 68, 0, 0, 2, 175, 8, 48, 21, 0, 0, 0, 0, 5, 243, 2, 0, 2, 176, 8, 52, 21, 0, 0, 0, - 0, 71, 97, 0, 0, 2, 177, 8, 56, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 178, 8, 64, 21, 0, 0, 0, 0, - 117, 16, 2, 0, 2, 179, 8, 68, 21, 0, 0, 0, 0, 241, 106, 0, 0, 2, 180, 8, 72, 21, 0, 0, 0, 0, - 29, 75, 0, 0, 2, 181, 8, 104, 21, 0, 0, 0, 0, 55, 243, 2, 0, 2, 182, 8, 112, 21, 0, 0, 0, 0, - 103, 110, 0, 0, 2, 183, 8, 144, 21, 0, 0, 0, 0, 187, 243, 2, 0, 2, 184, 8, 152, 21, 0, 0, 0, 0, - 136, 68, 0, 0, 2, 185, 8, 184, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 186, 8, 192, 21, 0, 0, 0, 0, - 255, 0, 0, 0, 2, 187, 8, 200, 21, 0, 0, 0, 0, 226, 110, 1, 0, 2, 188, 8, 208, 21, 0, 0, 0, 0, - 134, 59, 0, 0, 2, 189, 8, 216, 21, 0, 0, 0, 0, 19, 244, 2, 0, 2, 190, 8, 224, 21, 0, 0, 0, 0, - 19, 244, 2, 0, 2, 191, 8, 228, 0, 20, 0, 0, 0, 0, 8, 2, 94, 1, 21, 0, 0, 0, 0, 156, 81, 0, 0, - 2, 95, 1, 0, 0, 9, 133, 81, 0, 0, 20, 0, 0, 0, 0, 16, 2, 127, 8, 21, 0, 0, 0, 0, 66, 71, 0, 0, - 2, 128, 8, 0, 21, 0, 0, 0, 0, 133, 66, 0, 0, 2, 129, 8, 8, 0, 9, 202, 81, 0, 0, 26, 207, 81, 0, - 0, 38, 0, 0, 0, 0, 0, 1, 2, 245, 8, 0, 0, 0, 0, 111, 83, 0, 0, 2, 246, 0, 8, 0, 0, 0, 0, 146, - 235, 0, 0, 2, 247, 8, 8, 0, 0, 0, 0, 225, 233, 0, 0, 2, 248, 16, 8, 0, 0, 0, 0, 115, 235, 0, 0, - 2, 249, 24, 8, 0, 0, 0, 0, 0, 234, 0, 0, 2, 250, 32, 8, 0, 0, 0, 0, 0, 234, 0, 0, 2, 251, 40, - 8, 0, 0, 0, 0, 172, 160, 2, 0, 2, 252, 48, 8, 0, 0, 0, 0, 193, 160, 2, 0, 2, 253, 56, 8, 0, 0, - 0, 0, 193, 160, 2, 0, 2, 254, 64, 8, 0, 0, 0, 0, 172, 235, 0, 0, 2, 255, 72, 21, 0, 0, 0, 0, - 193, 235, 0, 0, 2, 0, 1, 80, 21, 0, 0, 0, 0, 193, 235, 0, 0, 2, 1, 1, 88, 21, 0, 0, 0, 0, 219, - 235, 0, 0, 2, 2, 1, 96, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 3, 1, 104, 21, 0, 0, 0, 0, 204, 233, - 0, 0, 2, 4, 1, 112, 21, 0, 0, 0, 0, 52, 161, 2, 0, 2, 5, 1, 120, 21, 0, 0, 0, 0, 204, 233, 0, - 0, 2, 6, 1, 128, 21, 0, 0, 0, 0, 84, 161, 2, 0, 2, 7, 1, 136, 21, 0, 0, 0, 0, 115, 161, 2, 0, - 2, 8, 1, 144, 21, 0, 0, 0, 0, 141, 161, 2, 0, 2, 9, 1, 152, 21, 0, 0, 0, 0, 222, 241, 2, 0, 2, - 10, 1, 160, 21, 0, 0, 0, 0, 243, 96, 0, 0, 2, 11, 1, 168, 21, 0, 0, 0, 0, 7, 242, 2, 0, 2, 12, - 1, 176, 21, 0, 0, 0, 0, 141, 161, 2, 0, 2, 13, 1, 184, 21, 0, 0, 0, 0, 23, 242, 2, 0, 2, 14, 1, - 192, 21, 0, 0, 0, 0, 59, 242, 2, 0, 2, 15, 1, 200, 21, 0, 0, 0, 0, 95, 242, 2, 0, 2, 16, 1, - 208, 21, 0, 0, 0, 0, 131, 242, 2, 0, 2, 17, 1, 216, 21, 0, 0, 0, 0, 162, 242, 2, 0, 2, 18, 1, - 224, 21, 0, 0, 0, 0, 179, 242, 2, 0, 2, 19, 1, 232, 21, 0, 0, 0, 0, 220, 242, 2, 0, 2, 20, 1, - 240, 21, 0, 0, 0, 0, 84, 161, 2, 0, 2, 21, 1, 248, 0, 9, 116, 83, 0, 0, 27, 0, 0, 0, 0, 192, 3, - 2, 28, 21, 21, 0, 0, 0, 0, 160, 1, 0, 0, 2, 29, 21, 0, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 30, - 21, 8, 21, 0, 0, 0, 0, 99, 87, 0, 0, 2, 31, 21, 24, 21, 0, 0, 0, 0, 111, 87, 0, 0, 2, 32, 21, - 80, 21, 0, 0, 0, 0, 123, 87, 0, 0, 2, 33, 21, 104, 21, 0, 0, 0, 0, 126, 154, 2, 0, 2, 34, 21, - 200, 21, 0, 0, 0, 0, 14, 29, 0, 0, 2, 35, 21, 208, 21, 0, 0, 0, 0, 14, 29, 0, 0, 2, 36, 21, - 216, 21, 0, 0, 0, 0, 123, 88, 0, 0, 2, 37, 21, 224, 21, 0, 0, 0, 0, 97, 156, 2, 0, 2, 38, 21, - 232, 21, 0, 0, 0, 0, 156, 156, 2, 0, 2, 39, 21, 240, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 40, 21, - 248, 28, 0, 0, 0, 0, 241, 106, 0, 0, 2, 41, 21, 0, 1, 28, 0, 0, 0, 0, 166, 156, 2, 0, 2, 42, - 21, 32, 1, 28, 0, 0, 0, 0, 11, 1, 0, 0, 2, 43, 21, 40, 1, 28, 0, 0, 0, 0, 11, 1, 0, 0, 2, 44, - 21, 44, 1, 28, 0, 0, 0, 0, 97, 156, 2, 0, 2, 45, 21, 48, 1, 28, 0, 0, 0, 0, 156, 156, 2, 0, 2, - 46, 21, 56, 1, 28, 0, 0, 0, 0, 219, 52, 0, 0, 2, 47, 21, 64, 1, 28, 0, 0, 0, 0, 219, 52, 0, 0, - 2, 48, 21, 65, 1, 28, 0, 0, 0, 0, 219, 52, 0, 0, 2, 49, 21, 66, 1, 28, 0, 0, 0, 0, 11, 1, 0, 0, - 2, 50, 21, 68, 1, 28, 0, 0, 0, 0, 36, 48, 1, 0, 2, 51, 21, 72, 1, 28, 0, 0, 0, 0, 196, 109, 2, - 0, 2, 52, 21, 80, 1, 28, 0, 0, 0, 0, 171, 156, 2, 0, 2, 58, 21, 128, 1, 28, 0, 0, 0, 0, 171, - 156, 2, 0, 2, 59, 21, 208, 1, 28, 0, 0, 0, 0, 39, 157, 2, 0, 2, 60, 21, 32, 2, 28, 0, 0, 0, 0, - 127, 29, 0, 0, 2, 61, 21, 56, 2, 28, 0, 0, 0, 0, 11, 1, 0, 0, 2, 62, 21, 64, 2, 28, 0, 0, 0, 0, - 227, 28, 0, 0, 2, 63, 21, 72, 2, 28, 0, 0, 0, 0, 193, 157, 2, 0, 2, 64, 21, 88, 2, 28, 0, 0, 0, - 0, 4, 158, 2, 0, 2, 65, 21, 96, 2, 28, 0, 0, 0, 0, 9, 158, 2, 0, 2, 66, 21, 104, 2, 28, 0, 0, - 0, 0, 224, 158, 2, 0, 2, 67, 21, 136, 2, 28, 0, 0, 0, 0, 70, 159, 2, 0, 2, 68, 21, 144, 2, 28, - 0, 0, 0, 0, 199, 53, 0, 0, 2, 69, 21, 152, 2, 28, 0, 0, 0, 0, 255, 0, 0, 0, 2, 70, 21, 160, 2, - 28, 0, 0, 0, 0, 11, 1, 0, 0, 2, 71, 21, 168, 2, 28, 0, 0, 0, 0, 255, 0, 0, 0, 2, 72, 21, 176, - 2, 28, 0, 0, 0, 0, 11, 1, 0, 0, 2, 73, 21, 184, 2, 28, 0, 0, 0, 0, 11, 1, 0, 0, 2, 74, 21, 188, - 2, 28, 0, 0, 0, 0, 136, 159, 2, 0, 2, 75, 21, 192, 2, 28, 0, 0, 0, 0, 11, 1, 0, 0, 2, 76, 21, - 200, 2, 28, 0, 0, 0, 0, 153, 159, 2, 0, 2, 77, 21, 208, 2, 28, 0, 0, 0, 0, 11, 1, 0, 0, 2, 78, - 21, 216, 2, 28, 0, 0, 0, 0, 158, 159, 2, 0, 2, 79, 21, 224, 2, 28, 0, 0, 0, 0, 11, 1, 0, 0, 2, - 80, 21, 232, 2, 28, 0, 0, 0, 0, 255, 0, 0, 0, 2, 81, 21, 240, 2, 28, 0, 0, 0, 0, 167, 108, 2, - 0, 2, 82, 21, 248, 2, 28, 0, 0, 0, 0, 11, 1, 0, 0, 2, 83, 21, 0, 3, 28, 0, 0, 0, 0, 11, 1, 0, - 0, 2, 84, 21, 4, 3, 28, 0, 0, 0, 0, 112, 189, 0, 0, 2, 85, 21, 8, 3, 28, 0, 0, 0, 0, 225, 159, - 2, 0, 2, 86, 21, 16, 3, 28, 0, 0, 0, 0, 11, 1, 0, 0, 2, 87, 21, 24, 3, 28, 0, 0, 0, 0, 230, - 159, 2, 0, 2, 88, 21, 32, 3, 28, 0, 0, 0, 0, 11, 1, 0, 0, 2, 89, 21, 40, 3, 28, 0, 0, 0, 0, 11, - 1, 0, 0, 2, 90, 21, 44, 3, 28, 0, 0, 0, 0, 75, 110, 0, 0, 2, 91, 21, 48, 3, 28, 0, 0, 0, 0, - 255, 0, 0, 0, 2, 92, 21, 56, 3, 28, 0, 0, 0, 0, 11, 1, 0, 0, 2, 93, 21, 64, 3, 28, 0, 0, 0, 0, - 75, 110, 0, 0, 2, 94, 21, 72, 3, 28, 0, 0, 0, 0, 11, 1, 0, 0, 2, 95, 21, 80, 3, 28, 0, 0, 0, 0, - 168, 0, 0, 0, 2, 96, 21, 84, 3, 28, 0, 0, 0, 0, 155, 109, 2, 0, 2, 97, 21, 88, 3, 28, 0, 0, 0, - 0, 11, 1, 0, 0, 2, 98, 21, 96, 3, 28, 0, 0, 0, 0, 33, 160, 2, 0, 2, 99, 21, 104, 3, 28, 0, 0, - 0, 0, 227, 28, 0, 0, 2, 100, 21, 112, 3, 28, 0, 0, 0, 0, 227, 28, 0, 0, 2, 101, 21, 128, 3, 28, - 0, 0, 0, 0, 8, 54, 1, 0, 2, 102, 21, 144, 3, 28, 0, 0, 0, 0, 176, 64, 0, 0, 2, 103, 21, 152, 3, - 28, 0, 0, 0, 0, 131, 160, 2, 0, 2, 104, 21, 160, 3, 28, 0, 0, 0, 0, 11, 1, 0, 0, 2, 105, 21, - 168, 3, 0, 3, 75, 0, 0, 0, 4, 82, 0, 0, 0, 56, 0, 3, 5, 49, 0, 0, 4, 82, 0, 0, 0, 20, 0, 20, 0, - 0, 0, 0, 96, 2, 233, 20, 21, 0, 0, 0, 0, 198, 87, 0, 0, 2, 234, 20, 0, 21, 0, 0, 0, 0, 111, 83, - 0, 0, 2, 235, 20, 64, 21, 0, 0, 0, 0, 123, 88, 0, 0, 2, 236, 20, 72, 21, 0, 0, 0, 0, 166, 153, - 2, 0, 2, 237, 20, 80, 21, 0, 0, 0, 0, 106, 170, 0, 0, 2, 238, 20, 88, 0, 20, 0, 0, 0, 0, 64, 2, - 113, 20, 21, 0, 0, 0, 0, 14, 29, 0, 0, 2, 114, 20, 0, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 115, - 20, 8, 21, 0, 0, 0, 0, 123, 88, 0, 0, 2, 116, 20, 24, 21, 0, 0, 0, 0, 128, 88, 0, 0, 2, 117, - 20, 32, 21, 0, 0, 0, 0, 202, 89, 0, 0, 2, 118, 20, 40, 21, 0, 0, 0, 0, 16, 151, 0, 0, 2, 119, - 20, 48, 21, 0, 0, 0, 0, 80, 110, 0, 0, 2, 120, 20, 56, 34, 0, 0, 0, 0, 11, 1, 0, 0, 2, 121, 20, - 4, 1, 31, 60, 34, 0, 0, 0, 0, 11, 1, 0, 0, 2, 122, 20, 4, 1, 30, 60, 34, 0, 0, 0, 0, 11, 1, 0, - 0, 2, 123, 20, 4, 1, 29, 60, 34, 0, 0, 0, 0, 11, 1, 0, 0, 2, 124, 20, 4, 1, 28, 60, 34, 0, 0, - 0, 0, 11, 1, 0, 0, 2, 125, 20, 4, 1, 27, 60, 0, 9, 198, 87, 0, 0, 9, 133, 88, 0, 0, 20, 0, 0, - 0, 0, 96, 2, 153, 20, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 154, 20, 0, 21, 0, 0, 0, 0, 248, 68, 0, - 0, 2, 155, 20, 16, 21, 0, 0, 0, 0, 198, 87, 0, 0, 2, 156, 20, 24, 21, 0, 0, 0, 0, 195, 88, 0, - 0, 2, 157, 20, 88, 0, 9, 200, 88, 0, 0, 26, 205, 88, 0, 0, 20, 0, 0, 0, 0, 24, 2, 178, 20, 21, - 0, 0, 0, 0, 254, 88, 0, 0, 2, 179, 20, 0, 21, 0, 0, 0, 0, 24, 89, 0, 0, 2, 180, 20, 8, 21, 0, - 0, 0, 0, 50, 89, 0, 0, 2, 181, 20, 16, 0, 26, 3, 89, 0, 0, 9, 8, 89, 0, 0, 13, 168, 0, 0, 0, - 14, 128, 88, 0, 0, 14, 123, 88, 0, 0, 0, 26, 29, 89, 0, 0, 9, 34, 89, 0, 0, 13, 14, 29, 0, 0, - 14, 128, 88, 0, 0, 14, 123, 88, 0, 0, 0, 26, 55, 89, 0, 0, 9, 60, 89, 0, 0, 13, 168, 0, 0, 0, - 14, 128, 88, 0, 0, 14, 123, 88, 0, 0, 14, 81, 89, 0, 0, 0, 9, 86, 89, 0, 0, 27, 0, 0, 0, 0, 32, - 10, 2, 170, 20, 21, 0, 0, 0, 0, 165, 89, 0, 0, 2, 171, 20, 0, 21, 0, 0, 0, 0, 177, 89, 0, 0, 2, - 172, 20, 24, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 173, 20, 24, 2, 28, 0, 0, 0, 0, 189, 89, 0, 0, 2, - 174, 20, 28, 2, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 175, 20, 28, 10, 0, 3, 199, 53, 0, 0, 4, 82, - 0, 0, 0, 3, 0, 3, 199, 53, 0, 0, 4, 82, 0, 0, 0, 64, 0, 3, 75, 0, 0, 0, 39, 82, 0, 0, 0, 0, 8, - 0, 9, 207, 89, 0, 0, 20, 0, 0, 0, 0, 56, 2, 160, 20, 21, 0, 0, 0, 0, 52, 90, 0, 0, 2, 161, 20, - 0, 21, 0, 0, 0, 0, 64, 90, 0, 0, 2, 162, 20, 8, 21, 0, 0, 0, 0, 241, 90, 0, 0, 2, 163, 20, 16, - 21, 0, 0, 0, 0, 246, 90, 0, 0, 2, 164, 20, 24, 21, 0, 0, 0, 0, 112, 153, 2, 0, 2, 165, 20, 32, - 21, 0, 0, 0, 0, 128, 153, 2, 0, 2, 166, 20, 40, 21, 0, 0, 0, 0, 144, 153, 2, 0, 2, 167, 20, 48, - 0, 9, 57, 90, 0, 0, 32, 14, 123, 88, 0, 0, 0, 9, 69, 90, 0, 0, 26, 74, 90, 0, 0, 20, 0, 0, 0, - 0, 16, 2, 138, 20, 21, 0, 0, 0, 0, 110, 90, 0, 0, 2, 139, 20, 0, 21, 0, 0, 0, 0, 210, 90, 0, 0, - 2, 140, 20, 8, 0, 9, 115, 90, 0, 0, 13, 136, 90, 0, 0, 14, 123, 88, 0, 0, 14, 169, 90, 0, 0, - 14, 199, 53, 0, 0, 0, 12, 147, 90, 0, 0, 0, 0, 0, 0, 2, 87, 12, 158, 90, 0, 0, 0, 0, 0, 0, 2, - 53, 12, 248, 0, 0, 0, 0, 0, 0, 0, 2, 41, 9, 174, 90, 0, 0, 20, 0, 0, 0, 0, 16, 2, 88, 20, 21, - 0, 0, 0, 0, 14, 29, 0, 0, 2, 89, 20, 0, 21, 0, 0, 0, 0, 213, 63, 0, 0, 2, 90, 20, 8, 0, 9, 215, - 90, 0, 0, 13, 136, 90, 0, 0, 14, 123, 88, 0, 0, 14, 169, 90, 0, 0, 14, 14, 29, 0, 0, 14, 140, - 55, 0, 0, 0, 9, 169, 90, 0, 0, 9, 251, 90, 0, 0, 9, 0, 91, 0, 0, 26, 5, 91, 0, 0, 20, 0, 0, 0, - 0, 40, 2, 97, 20, 21, 0, 0, 0, 0, 14, 29, 0, 0, 2, 98, 20, 0, 21, 0, 0, 0, 0, 80, 91, 0, 0, 2, - 99, 20, 8, 21, 0, 0, 0, 0, 106, 91, 0, 0, 2, 100, 20, 16, 21, 0, 0, 0, 0, 241, 90, 0, 0, 2, - 101, 20, 24, 21, 0, 0, 0, 0, 107, 153, 2, 0, 2, 102, 20, 32, 0, 9, 85, 91, 0, 0, 13, 213, 63, - 0, 0, 14, 123, 88, 0, 0, 14, 169, 90, 0, 0, 14, 168, 0, 0, 0, 0, 9, 111, 91, 0, 0, 13, 213, 63, - 0, 0, 14, 123, 88, 0, 0, 14, 132, 91, 0, 0, 14, 168, 0, 0, 0, 0, 9, 137, 91, 0, 0, 20, 0, 0, 0, - 0, 64, 2, 128, 20, 21, 0, 0, 0, 0, 174, 90, 0, 0, 2, 129, 20, 0, 21, 0, 0, 0, 0, 140, 55, 0, 0, - 2, 130, 20, 16, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 131, 20, 24, 21, 0, 0, 0, 0, 238, 91, 0, 0, 2, - 132, 20, 32, 21, 0, 0, 0, 0, 250, 91, 0, 0, 2, 133, 20, 40, 21, 0, 0, 0, 0, 250, 91, 0, 0, 2, - 134, 20, 48, 21, 0, 0, 0, 0, 35, 92, 0, 0, 2, 135, 20, 56, 0, 9, 243, 91, 0, 0, 40, 134, 59, 0, - 0, 41, 0, 9, 255, 91, 0, 0, 13, 136, 90, 0, 0, 14, 69, 80, 0, 0, 14, 123, 88, 0, 0, 14, 132, - 91, 0, 0, 14, 199, 53, 0, 0, 14, 29, 75, 0, 0, 14, 140, 55, 0, 0, 0, 9, 40, 92, 0, 0, 13, 168, - 0, 0, 0, 14, 69, 80, 0, 0, 14, 123, 88, 0, 0, 14, 132, 91, 0, 0, 14, 66, 92, 0, 0, 0, 9, 71, - 92, 0, 0, 20, 0, 0, 0, 0, 200, 2, 116, 7, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 117, 7, 0, 21, 0, - 0, 0, 0, 127, 29, 0, 0, 2, 118, 7, 8, 21, 0, 0, 0, 0, 66, 92, 0, 0, 2, 119, 7, 16, 21, 0, 0, 0, - 0, 66, 92, 0, 0, 2, 120, 7, 24, 21, 0, 0, 0, 0, 86, 40, 0, 0, 2, 121, 7, 32, 21, 0, 0, 0, 0, - 127, 29, 0, 0, 2, 122, 7, 56, 21, 0, 0, 0, 0, 104, 93, 0, 0, 2, 123, 7, 64, 21, 0, 0, 0, 0, 42, - 152, 2, 0, 2, 124, 7, 72, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 125, 7, 80, 21, 0, 0, 0, 0, 210, - 92, 0, 0, 2, 129, 7, 88, 24, 32, 2, 126, 7, 21, 0, 0, 0, 0, 86, 40, 0, 0, 2, 127, 7, 0, 21, 0, - 0, 0, 0, 127, 29, 0, 0, 2, 128, 7, 24, 0, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 130, 7, 120, 21, 0, - 0, 0, 0, 89, 152, 2, 0, 2, 131, 7, 136, 21, 0, 0, 0, 0, 169, 155, 0, 0, 2, 132, 7, 144, 21, 0, - 0, 0, 0, 127, 29, 0, 0, 2, 133, 7, 152, 21, 0, 0, 0, 0, 69, 80, 0, 0, 2, 134, 7, 160, 21, 0, 0, - 0, 0, 255, 0, 0, 0, 2, 135, 7, 168, 21, 0, 0, 0, 0, 71, 97, 0, 0, 2, 136, 7, 176, 21, 0, 0, 0, - 0, 5, 159, 0, 0, 2, 137, 7, 184, 21, 0, 0, 0, 0, 182, 152, 2, 0, 2, 138, 7, 192, 0, 9, 109, 93, - 0, 0, 27, 0, 0, 0, 0, 24, 4, 2, 38, 7, 22, 128, 93, 0, 0, 2, 39, 7, 0, 42, 24, 4, 2, 39, 7, 21, - 0, 0, 0, 0, 66, 92, 0, 0, 2, 40, 7, 0, 21, 0, 0, 0, 0, 220, 96, 0, 0, 2, 41, 7, 8, 21, 0, 0, 0, - 0, 136, 68, 0, 0, 2, 42, 7, 16, 21, 0, 0, 0, 0, 243, 96, 0, 0, 2, 43, 7, 24, 21, 0, 0, 0, 0, - 127, 29, 0, 0, 2, 44, 7, 32, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 45, 7, 40, 21, 0, 0, 0, 0, 127, - 29, 0, 0, 2, 46, 7, 48, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 47, 7, 56, 21, 0, 0, 0, 0, 127, 29, - 0, 0, 2, 48, 7, 64, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 49, 7, 72, 21, 0, 0, 0, 0, 23, 97, 0, 0, - 2, 50, 7, 80, 21, 0, 0, 0, 0, 176, 64, 0, 0, 2, 51, 7, 88, 21, 0, 0, 0, 0, 176, 64, 0, 0, 2, - 52, 7, 92, 21, 0, 0, 0, 0, 176, 64, 0, 0, 2, 53, 7, 96, 21, 0, 0, 0, 0, 71, 97, 0, 0, 2, 54, 7, - 104, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 55, 7, 112, 21, 0, 0, 0, 0, 248, 68, 0, 0, 2, 56, 7, 116, - 21, 0, 0, 0, 0, 133, 97, 0, 0, 2, 57, 7, 120, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 58, 7, 160, 21, - 0, 0, 0, 0, 127, 29, 0, 0, 2, 59, 7, 176, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 60, 7, 184, 21, 0, - 0, 0, 0, 127, 29, 0, 0, 2, 61, 7, 192, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 62, 7, 200, 21, 0, 0, - 0, 0, 83, 97, 0, 0, 2, 63, 7, 208, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 64, 7, 216, 21, 0, 0, 0, - 0, 127, 29, 0, 0, 2, 65, 7, 224, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 66, 7, 232, 21, 0, 0, 0, 0, - 127, 29, 0, 0, 2, 67, 7, 240, 21, 0, 0, 0, 0, 208, 67, 0, 0, 2, 68, 7, 248, 21, 0, 0, 0, 0, - 248, 68, 0, 0, 2, 69, 7, 252, 28, 0, 0, 0, 0, 127, 29, 0, 0, 2, 70, 7, 0, 1, 28, 0, 0, 0, 0, - 127, 29, 0, 0, 2, 71, 7, 8, 1, 28, 0, 0, 0, 0, 127, 29, 0, 0, 2, 72, 7, 16, 1, 28, 0, 0, 0, 0, - 127, 29, 0, 0, 2, 73, 7, 24, 1, 28, 0, 0, 0, 0, 127, 29, 0, 0, 2, 74, 7, 32, 1, 28, 0, 0, 0, 0, - 127, 29, 0, 0, 2, 75, 7, 40, 1, 28, 0, 0, 0, 0, 127, 29, 0, 0, 2, 76, 7, 48, 1, 28, 0, 0, 0, 0, - 127, 29, 0, 0, 2, 77, 7, 56, 1, 28, 0, 0, 0, 0, 127, 29, 0, 0, 2, 78, 7, 64, 1, 28, 0, 0, 0, 0, - 127, 29, 0, 0, 2, 79, 7, 72, 1, 28, 0, 0, 0, 0, 127, 29, 0, 0, 2, 80, 7, 80, 1, 28, 0, 0, 0, 0, - 242, 97, 0, 0, 2, 81, 7, 88, 1, 28, 0, 0, 0, 0, 254, 97, 0, 0, 2, 82, 7, 216, 2, 28, 0, 0, 0, - 0, 33, 98, 0, 0, 2, 83, 7, 248, 2, 28, 0, 0, 0, 0, 76, 146, 2, 0, 2, 84, 7, 0, 3, 28, 0, 0, 0, - 0, 127, 29, 0, 0, 2, 85, 7, 128, 3, 28, 0, 0, 0, 0, 51, 148, 2, 0, 2, 86, 7, 136, 3, 28, 0, 0, - 0, 0, 248, 68, 0, 0, 2, 87, 7, 144, 3, 28, 0, 0, 0, 0, 146, 148, 2, 0, 2, 88, 7, 152, 3, 28, 0, - 0, 0, 0, 130, 120, 0, 0, 2, 89, 7, 160, 3, 28, 0, 0, 0, 0, 3, 118, 0, 0, 2, 90, 7, 168, 3, 28, - 0, 0, 0, 0, 69, 80, 0, 0, 2, 91, 7, 176, 3, 28, 0, 0, 0, 0, 188, 150, 2, 0, 2, 92, 7, 184, 3, - 28, 0, 0, 0, 0, 127, 29, 0, 0, 2, 93, 7, 192, 3, 28, 0, 0, 0, 0, 127, 29, 0, 0, 2, 94, 7, 200, - 3, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 95, 7, 208, 3, 28, 0, 0, 0, 0, 176, 64, 0, 0, 2, 96, 7, - 212, 3, 28, 0, 0, 0, 0, 219, 52, 0, 0, 2, 97, 7, 216, 3, 28, 0, 0, 0, 0, 51, 151, 2, 0, 2, 98, - 7, 224, 3, 28, 0, 0, 0, 0, 71, 97, 0, 0, 2, 99, 7, 232, 3, 28, 0, 0, 0, 0, 156, 163, 0, 0, 2, - 100, 7, 240, 3, 28, 0, 0, 0, 0, 125, 68, 0, 0, 2, 101, 7, 16, 4, 0, 28, 0, 0, 0, 0, 102, 213, - 0, 0, 2, 103, 7, 24, 4, 0, 20, 0, 0, 0, 0, 8, 2, 40, 2, 21, 0, 0, 0, 0, 135, 40, 0, 0, 2, 41, - 2, 0, 0, 9, 248, 96, 0, 0, 13, 127, 29, 0, 0, 14, 69, 80, 0, 0, 14, 127, 29, 0, 0, 14, 127, 29, - 0, 0, 14, 127, 29, 0, 0, 14, 127, 29, 0, 0, 0, 9, 28, 97, 0, 0, 33, 40, 97, 0, 0, 0, 0, 0, 0, - 2, 27, 6, 24, 8, 2, 25, 6, 21, 0, 0, 0, 0, 59, 97, 0, 0, 2, 26, 6, 0, 0, 33, 127, 29, 0, 0, 0, - 0, 0, 0, 2, 11, 6, 33, 83, 97, 0, 0, 0, 0, 0, 0, 2, 137, 2, 12, 94, 97, 0, 0, 0, 0, 0, 0, 2, - 109, 7, 8, 2, 107, 8, 0, 0, 0, 0, 111, 97, 0, 0, 2, 108, 0, 0, 12, 122, 97, 0, 0, 0, 0, 0, 0, - 2, 32, 12, 51, 75, 0, 0, 0, 0, 0, 0, 2, 18, 20, 0, 0, 0, 0, 40, 2, 238, 6, 21, 0, 0, 0, 0, 71, - 97, 0, 0, 2, 239, 6, 0, 21, 0, 0, 0, 0, 71, 97, 0, 0, 2, 240, 6, 8, 21, 0, 0, 0, 0, 208, 97, 0, - 0, 2, 241, 6, 16, 21, 0, 0, 0, 0, 231, 97, 0, 0, 2, 242, 6, 20, 21, 0, 0, 0, 0, 227, 28, 0, 0, - 2, 243, 6, 24, 0, 20, 0, 0, 0, 0, 4, 2, 139, 2, 21, 0, 0, 0, 0, 176, 64, 0, 0, 2, 140, 2, 0, 0, - 12, 37, 69, 0, 0, 0, 0, 0, 0, 2, 197, 3, 127, 29, 0, 0, 4, 82, 0, 0, 0, 48, 0, 20, 0, 0, 0, 0, - 32, 2, 246, 6, 21, 0, 0, 0, 0, 21, 98, 0, 0, 2, 247, 6, 0, 0, 3, 71, 97, 0, 0, 4, 82, 0, 0, 0, - 4, 0, 9, 38, 98, 0, 0, 20, 0, 0, 0, 0, 56, 2, 175, 18, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 176, - 18, 0, 21, 0, 0, 0, 0, 111, 83, 0, 0, 2, 177, 18, 16, 21, 0, 0, 0, 0, 126, 98, 0, 0, 2, 178, - 18, 24, 21, 0, 0, 0, 0, 171, 145, 2, 0, 2, 179, 18, 32, 21, 0, 0, 0, 0, 187, 145, 2, 0, 2, 180, - 18, 40, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 181, 18, 48, 0, 9, 131, 98, 0, 0, 13, 168, 0, 0, 0, - 14, 142, 98, 0, 0, 0, 9, 147, 98, 0, 0, 27, 0, 0, 0, 0, 160, 1, 2, 148, 26, 21, 0, 0, 0, 0, 66, - 92, 0, 0, 2, 149, 26, 0, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 150, 26, 8, 21, 0, 0, 0, 0, 104, 93, - 0, 0, 2, 151, 26, 16, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 152, 26, 24, 21, 0, 0, 0, 0, 127, 29, - 0, 0, 2, 153, 26, 32, 34, 0, 0, 0, 0, 11, 1, 0, 0, 2, 154, 26, 4, 1, 31, 40, 34, 0, 0, 0, 0, - 11, 1, 0, 0, 2, 155, 26, 4, 1, 30, 40, 34, 0, 0, 0, 0, 11, 1, 0, 0, 2, 156, 26, 4, 1, 29, 40, - 34, 0, 0, 0, 0, 11, 1, 0, 0, 2, 157, 26, 4, 1, 28, 40, 21, 0, 0, 0, 0, 69, 80, 0, 0, 2, 158, - 26, 48, 21, 0, 0, 0, 0, 69, 80, 0, 0, 2, 159, 26, 56, 21, 0, 0, 0, 0, 69, 80, 0, 0, 2, 160, 26, - 64, 21, 0, 0, 0, 0, 252, 99, 0, 0, 2, 161, 26, 72, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 162, 26, - 80, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 163, 26, 84, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 164, 26, 88, - 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 165, 26, 92, 21, 0, 0, 0, 0, 14, 29, 0, 0, 2, 166, 26, 96, 21, - 0, 0, 0, 0, 14, 29, 0, 0, 2, 167, 26, 104, 21, 0, 0, 0, 0, 14, 29, 0, 0, 2, 168, 26, 112, 21, - 0, 0, 0, 0, 11, 1, 0, 0, 2, 169, 26, 120, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 170, 26, 124, 21, 0, - 0, 0, 0, 127, 29, 0, 0, 2, 171, 26, 128, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 172, 26, 136, 21, 0, - 0, 0, 0, 182, 253, 1, 0, 2, 173, 26, 144, 21, 0, 0, 0, 0, 55, 118, 2, 0, 2, 174, 26, 160, 0, 9, - 1, 100, 0, 0, 20, 0, 0, 0, 0, 176, 2, 238, 10, 21, 0, 0, 0, 0, 176, 64, 0, 0, 2, 239, 10, 0, - 21, 0, 0, 0, 0, 224, 63, 0, 0, 2, 240, 10, 4, 21, 0, 0, 0, 0, 21, 64, 0, 0, 2, 241, 10, 8, 21, - 0, 0, 0, 0, 224, 63, 0, 0, 2, 242, 10, 12, 21, 0, 0, 0, 0, 21, 64, 0, 0, 2, 243, 10, 16, 21, 0, - 0, 0, 0, 224, 63, 0, 0, 2, 244, 10, 20, 21, 0, 0, 0, 0, 21, 64, 0, 0, 2, 245, 10, 24, 21, 0, 0, - 0, 0, 224, 63, 0, 0, 2, 246, 10, 28, 21, 0, 0, 0, 0, 21, 64, 0, 0, 2, 247, 10, 32, 21, 0, 0, 0, - 0, 11, 1, 0, 0, 2, 248, 10, 36, 21, 0, 0, 0, 0, 10, 80, 0, 0, 2, 249, 10, 40, 21, 0, 0, 0, 0, - 10, 80, 0, 0, 2, 250, 10, 48, 21, 0, 0, 0, 0, 10, 80, 0, 0, 2, 251, 10, 56, 21, 0, 0, 0, 0, 10, - 80, 0, 0, 2, 252, 10, 64, 21, 0, 0, 0, 0, 10, 80, 0, 0, 2, 253, 10, 72, 21, 0, 0, 0, 0, 5, 49, - 0, 0, 2, 254, 10, 80, 21, 0, 0, 0, 0, 121, 101, 0, 0, 2, 255, 10, 88, 21, 0, 0, 0, 0, 121, 101, - 0, 0, 2, 0, 11, 96, 21, 0, 0, 0, 0, 121, 101, 0, 0, 2, 1, 11, 104, 21, 0, 0, 0, 0, 121, 101, 0, - 0, 2, 2, 11, 112, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 3, 11, 120, 21, 0, 0, 0, 0, 34, 109, 0, 0, - 2, 4, 11, 128, 21, 0, 0, 0, 0, 3, 118, 0, 0, 2, 5, 11, 136, 21, 0, 0, 0, 0, 125, 81, 1, 0, 2, - 6, 11, 144, 21, 0, 0, 0, 0, 105, 145, 2, 0, 2, 7, 11, 152, 22, 88, 101, 0, 0, 2, 8, 11, 160, - 23, 16, 2, 8, 11, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 9, 11, 0, 21, 0, 0, 0, 0, 65, 29, 0, 0, 2, - 10, 11, 0, 0, 0, 9, 126, 101, 0, 0, 20, 0, 0, 0, 0, 224, 2, 54, 11, 21, 0, 0, 0, 0, 141, 64, 0, - 0, 2, 55, 11, 0, 21, 0, 0, 0, 0, 78, 103, 0, 0, 2, 56, 11, 4, 22, 170, 101, 0, 0, 2, 57, 11, 8, - 23, 24, 2, 57, 11, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 58, 11, 0, 21, 0, 0, 0, 0, 86, 40, 0, 0, - 2, 59, 11, 0, 0, 21, 0, 0, 0, 0, 123, 103, 0, 0, 2, 61, 11, 32, 21, 0, 0, 0, 0, 133, 97, 0, 0, - 2, 62, 11, 40, 21, 0, 0, 0, 0, 113, 110, 0, 0, 2, 63, 11, 80, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, - 64, 11, 88, 22, 7, 102, 0, 0, 2, 65, 11, 96, 23, 8, 2, 65, 11, 21, 0, 0, 0, 0, 245, 110, 0, 0, - 2, 66, 11, 0, 21, 0, 0, 0, 0, 245, 110, 0, 0, 2, 67, 11, 0, 0, 21, 0, 0, 0, 0, 245, 110, 0, 0, - 2, 69, 11, 104, 21, 0, 0, 0, 0, 224, 63, 0, 0, 2, 70, 11, 112, 21, 0, 0, 0, 0, 21, 64, 0, 0, 2, - 71, 11, 116, 21, 0, 0, 0, 0, 1, 111, 0, 0, 2, 72, 11, 120, 21, 0, 0, 0, 0, 225, 48, 0, 0, 2, - 73, 11, 124, 21, 0, 0, 0, 0, 225, 48, 0, 0, 2, 74, 11, 126, 21, 0, 0, 0, 0, 37, 65, 0, 0, 2, - 75, 11, 128, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 76, 11, 136, 22, 152, 102, 0, 0, 2, 77, 11, 144, - 23, 40, 2, 77, 11, 21, 0, 0, 0, 0, 24, 111, 0, 0, 2, 78, 11, 0, 22, 179, 102, 0, 0, 2, 79, 11, - 0, 24, 40, 2, 79, 11, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 80, 11, 0, 21, 0, 0, 0, 0, 127, 29, 0, - 0, 2, 81, 11, 8, 21, 0, 0, 0, 0, 167, 111, 0, 0, 2, 82, 11, 16, 21, 0, 0, 0, 0, 159, 117, 0, 0, - 2, 83, 11, 24, 21, 0, 0, 0, 0, 199, 53, 0, 0, 2, 84, 11, 32, 0, 0, 22, 4, 103, 0, 0, 2, 87, 11, - 184, 23, 32, 2, 87, 11, 21, 0, 0, 0, 0, 81, 113, 0, 0, 2, 88, 11, 0, 22, 31, 103, 0, 0, 2, 89, - 11, 0, 24, 32, 2, 89, 11, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 90, 11, 0, 21, 0, 0, 0, 0, 213, - 117, 0, 0, 2, 91, 11, 16, 0, 0, 21, 0, 0, 0, 0, 233, 115, 0, 0, 2, 94, 11, 216, 0, 33, 90, 103, - 0, 0, 0, 0, 0, 0, 2, 14, 11, 12, 101, 103, 0, 0, 0, 0, 0, 0, 2, 89, 12, 112, 103, 0, 0, 0, 0, - 0, 0, 2, 28, 12, 168, 0, 0, 0, 0, 0, 0, 0, 2, 14, 9, 128, 103, 0, 0, 20, 0, 0, 0, 0, 40, 2, 89, - 174, 21, 0, 0, 0, 0, 65, 29, 0, 0, 2, 90, 174, 0, 21, 0, 0, 0, 0, 190, 103, 0, 0, 2, 91, 174, - 16, 21, 0, 0, 0, 0, 211, 103, 0, 0, 2, 92, 174, 24, 21, 0, 0, 0, 0, 248, 68, 0, 0, 2, 93, 174, - 32, 0, 31, 0, 0, 0, 0, 8, 2, 118, 8, 0, 0, 0, 0, 217, 28, 0, 0, 2, 119, 0, 0, 9, 216, 103, 0, - 0, 32, 14, 223, 103, 0, 0, 0, 9, 228, 103, 0, 0, 20, 0, 0, 0, 0, 96, 2, 161, 174, 22, 246, 103, - 0, 0, 2, 162, 174, 0, 23, 16, 2, 162, 174, 21, 0, 0, 0, 0, 65, 29, 0, 0, 2, 163, 174, 0, 21, 0, - 0, 0, 0, 125, 68, 0, 0, 2, 164, 174, 0, 0, 21, 0, 0, 0, 0, 127, 104, 0, 0, 2, 166, 174, 16, 21, - 0, 0, 0, 0, 184, 28, 0, 0, 2, 167, 174, 24, 21, 0, 0, 0, 0, 123, 103, 0, 0, 2, 168, 174, 40, - 21, 0, 0, 0, 0, 184, 28, 0, 0, 2, 169, 174, 48, 21, 0, 0, 0, 0, 103, 110, 0, 0, 2, 170, 174, - 64, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 171, 174, 72, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 172, 174, - 80, 21, 0, 0, 0, 0, 80, 110, 0, 0, 2, 173, 174, 88, 0, 9, 132, 104, 0, 0, 20, 0, 0, 0, 0, 80, - 2, 147, 174, 21, 0, 0, 0, 0, 65, 29, 0, 0, 2, 148, 174, 0, 21, 0, 0, 0, 0, 29, 105, 0, 0, 2, - 149, 174, 16, 21, 0, 0, 0, 0, 209, 105, 0, 0, 2, 150, 174, 24, 21, 0, 0, 0, 0, 190, 103, 0, 0, - 2, 151, 174, 32, 21, 0, 0, 0, 0, 70, 110, 0, 0, 2, 152, 174, 40, 21, 0, 0, 0, 0, 75, 110, 0, 0, - 2, 153, 174, 48, 21, 0, 0, 0, 0, 80, 110, 0, 0, 2, 154, 174, 56, 21, 0, 0, 0, 0, 248, 68, 0, 0, - 2, 155, 174, 60, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 156, 174, 64, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, - 157, 174, 68, 21, 0, 0, 0, 0, 219, 52, 0, 0, 2, 158, 174, 72, 0, 9, 34, 105, 0, 0, 20, 0, 0, 0, - 0, 24, 2, 138, 174, 22, 52, 105, 0, 0, 2, 139, 174, 0, 23, 16, 2, 139, 174, 21, 0, 0, 0, 0, 65, - 29, 0, 0, 2, 140, 174, 0, 21, 0, 0, 0, 0, 111, 105, 0, 0, 2, 141, 174, 0, 0, 21, 0, 0, 0, 0, - 125, 68, 0, 0, 2, 143, 174, 16, 21, 0, 0, 0, 0, 123, 105, 0, 0, 2, 144, 174, 20, 0, 3, 127, 29, - 0, 0, 4, 82, 0, 0, 0, 2, 0, 3, 135, 105, 0, 0, 4, 82, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 16, 2, - 131, 174, 21, 0, 0, 0, 0, 198, 1, 0, 0, 2, 132, 174, 0, 21, 0, 0, 0, 0, 197, 105, 0, 0, 2, 133, - 174, 4, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 134, 174, 8, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 135, 174, - 12, 0, 3, 0, 1, 0, 0, 4, 82, 0, 0, 0, 1, 0, 9, 214, 105, 0, 0, 20, 0, 0, 0, 0, 176, 2, 44, 36, - 21, 0, 0, 0, 0, 241, 106, 0, 0, 2, 45, 36, 0, 21, 0, 0, 0, 0, 47, 107, 0, 0, 2, 46, 36, 32, 21, - 0, 0, 0, 0, 47, 107, 0, 0, 2, 47, 36, 56, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 48, 36, 80, 21, 0, 0, - 0, 0, 11, 1, 0, 0, 2, 49, 36, 84, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 50, 36, 88, 21, 0, 0, 0, 0, - 11, 1, 0, 0, 2, 51, 36, 92, 21, 0, 0, 0, 0, 219, 52, 0, 0, 2, 52, 36, 96, 21, 0, 0, 0, 0, 11, - 1, 0, 0, 2, 53, 36, 100, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 54, 36, 104, 21, 0, 0, 0, 0, 11, 1, 0, - 0, 2, 55, 36, 108, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 56, 36, 112, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, - 57, 36, 116, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 58, 36, 120, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 59, - 36, 124, 21, 0, 0, 0, 0, 68, 56, 0, 0, 2, 60, 36, 128, 21, 0, 0, 0, 0, 95, 107, 0, 0, 2, 61, - 36, 136, 21, 0, 0, 0, 0, 95, 107, 0, 0, 2, 62, 36, 144, 21, 0, 0, 0, 0, 66, 108, 0, 0, 2, 63, - 36, 152, 21, 0, 0, 0, 0, 34, 109, 0, 0, 2, 64, 36, 160, 21, 0, 0, 0, 0, 127, 104, 0, 0, 2, 65, - 36, 168, 0, 20, 0, 0, 0, 0, 32, 2, 143, 2, 21, 0, 0, 0, 0, 71, 97, 0, 0, 2, 144, 2, 0, 21, 0, - 0, 0, 0, 231, 97, 0, 0, 2, 145, 2, 8, 21, 0, 0, 0, 0, 208, 97, 0, 0, 2, 146, 2, 12, 21, 0, 0, - 0, 0, 227, 28, 0, 0, 2, 147, 2, 16, 0, 33, 59, 107, 0, 0, 0, 0, 0, 0, 2, 203, 7, 20, 0, 0, 0, - 0, 24, 2, 198, 7, 21, 0, 0, 0, 0, 248, 68, 0, 0, 2, 199, 7, 0, 21, 0, 0, 0, 0, 227, 28, 0, 0, - 2, 200, 7, 8, 0, 9, 100, 107, 0, 0, 20, 0, 0, 0, 0, 48, 2, 163, 14, 21, 0, 0, 0, 0, 188, 107, - 0, 0, 2, 164, 14, 0, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 165, 14, 8, 21, 0, 0, 0, 0, 168, 0, 0, 0, - 2, 166, 14, 12, 21, 0, 0, 0, 0, 95, 107, 0, 0, 2, 167, 14, 16, 21, 0, 0, 0, 0, 69, 80, 0, 0, 2, - 168, 14, 24, 21, 0, 0, 0, 0, 65, 29, 0, 0, 2, 169, 14, 32, 0, 12, 199, 107, 0, 0, 0, 0, 0, 0, - 2, 209, 7, 8, 2, 207, 8, 0, 0, 0, 0, 216, 107, 0, 0, 2, 208, 0, 0, 12, 227, 107, 0, 0, 0, 0, 0, - 0, 2, 191, 31, 0, 0, 0, 0, 8, 2, 180, 36, 243, 107, 0, 0, 2, 181, 0, 37, 4, 2, 181, 8, 0, 0, 0, - 0, 176, 64, 0, 0, 2, 182, 0, 36, 11, 108, 0, 0, 2, 183, 0, 7, 4, 2, 183, 8, 0, 0, 0, 0, 118, - 55, 0, 0, 2, 184, 0, 8, 0, 0, 0, 0, 54, 108, 0, 0, 2, 185, 1, 0, 0, 8, 0, 0, 0, 0, 58, 69, 0, - 0, 2, 188, 4, 0, 3, 118, 55, 0, 0, 4, 82, 0, 0, 0, 3, 0, 9, 71, 108, 0, 0, 20, 0, 0, 0, 0, 40, - 2, 112, 47, 21, 0, 0, 0, 0, 68, 56, 0, 0, 2, 113, 47, 0, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 114, - 47, 8, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 115, 47, 12, 21, 0, 0, 0, 0, 159, 108, 0, 0, 2, 116, 47, - 16, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 117, 47, 24, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 118, 47, 32, - 0, 9, 164, 108, 0, 0, 26, 169, 108, 0, 0, 20, 0, 0, 0, 0, 32, 2, 121, 47, 21, 0, 0, 0, 0, 231, - 108, 0, 0, 2, 122, 47, 0, 21, 0, 0, 0, 0, 252, 108, 0, 0, 2, 123, 47, 8, 21, 0, 0, 0, 0, 13, - 109, 0, 0, 2, 124, 47, 16, 21, 0, 0, 0, 0, 13, 109, 0, 0, 2, 125, 47, 24, 0, 9, 236, 108, 0, 0, - 13, 168, 0, 0, 0, 14, 209, 105, 0, 0, 14, 66, 108, 0, 0, 0, 9, 1, 109, 0, 0, 32, 14, 209, 105, - 0, 0, 14, 66, 108, 0, 0, 0, 9, 18, 109, 0, 0, 13, 219, 52, 0, 0, 14, 209, 105, 0, 0, 14, 66, - 108, 0, 0, 0, 9, 39, 109, 0, 0, 20, 0, 0, 0, 0, 144, 2, 60, 13, 21, 0, 0, 0, 0, 141, 64, 0, 0, - 2, 61, 13, 0, 21, 0, 0, 0, 0, 166, 109, 0, 0, 2, 62, 13, 8, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, - 63, 13, 48, 21, 0, 0, 0, 0, 71, 97, 0, 0, 2, 64, 13, 56, 21, 0, 0, 0, 0, 184, 28, 0, 0, 2, 65, - 13, 64, 21, 0, 0, 0, 0, 224, 63, 0, 0, 2, 66, 13, 80, 21, 0, 0, 0, 0, 71, 97, 0, 0, 2, 67, 13, - 88, 21, 0, 0, 0, 0, 176, 64, 0, 0, 2, 68, 13, 96, 21, 0, 0, 0, 0, 233, 109, 0, 0, 2, 69, 13, - 104, 0, 20, 0, 0, 0, 0, 40, 2, 53, 13, 21, 0, 0, 0, 0, 231, 97, 0, 0, 2, 54, 13, 0, 21, 0, 0, - 0, 0, 111, 97, 0, 0, 2, 55, 13, 8, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 56, 13, 16, 21, 0, 0, 0, - 0, 228, 109, 0, 0, 2, 57, 13, 32, 0, 9, 101, 103, 0, 0, 31, 0, 0, 0, 0, 40, 2, 211, 8, 0, 0, 0, - 0, 231, 97, 0, 0, 2, 212, 0, 8, 0, 0, 0, 0, 168, 0, 0, 0, 2, 213, 4, 8, 0, 0, 0, 0, 168, 0, 0, - 0, 2, 214, 8, 8, 0, 0, 0, 0, 168, 0, 0, 0, 2, 215, 12, 8, 0, 0, 0, 0, 168, 0, 0, 0, 2, 216, 16, - 8, 0, 0, 0, 0, 127, 29, 0, 0, 2, 217, 24, 8, 0, 0, 0, 0, 127, 29, 0, 0, 2, 218, 32, 0, 9, 68, - 56, 0, 0, 9, 127, 29, 0, 0, 20, 0, 0, 0, 0, 4, 2, 105, 20, 21, 0, 0, 0, 0, 141, 64, 0, 0, 2, - 106, 20, 0, 0, 9, 108, 110, 0, 0, 26, 1, 100, 0, 0, 9, 118, 110, 0, 0, 20, 0, 0, 0, 0, 88, 2, - 217, 215, 21, 0, 0, 0, 0, 86, 40, 0, 0, 2, 218, 215, 0, 21, 0, 0, 0, 0, 241, 106, 0, 0, 2, 219, - 215, 24, 21, 0, 0, 0, 0, 248, 68, 0, 0, 2, 220, 215, 56, 21, 0, 0, 0, 0, 141, 64, 0, 0, 2, 221, - 215, 60, 21, 0, 0, 0, 0, 176, 64, 0, 0, 2, 222, 215, 64, 21, 0, 0, 0, 0, 176, 64, 0, 0, 2, 223, - 215, 68, 21, 0, 0, 0, 0, 224, 63, 0, 0, 2, 224, 215, 72, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 225, - 215, 76, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 226, 215, 80, 0, 33, 122, 97, 0, 0, 0, 0, 0, 0, 2, - 24, 1, 33, 13, 111, 0, 0, 0, 0, 0, 0, 2, 16, 11, 12, 125, 68, 0, 0, 0, 0, 0, 0, 2, 91, 20, 0, - 0, 0, 0, 40, 2, 22, 11, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 23, 11, 0, 22, 55, 111, 0, 0, 2, 24, - 11, 8, 23, 8, 2, 24, 11, 22, 69, 111, 0, 0, 2, 25, 11, 0, 24, 8, 2, 25, 11, 21, 0, 0, 0, 0, - 177, 69, 0, 0, 2, 26, 11, 0, 21, 0, 0, 0, 0, 155, 111, 0, 0, 2, 27, 11, 2, 0, 21, 0, 0, 0, 0, - 127, 29, 0, 0, 2, 29, 11, 0, 0, 21, 0, 0, 0, 0, 167, 111, 0, 0, 2, 31, 11, 16, 21, 0, 0, 0, 0, - 159, 117, 0, 0, 2, 32, 11, 24, 21, 0, 0, 0, 0, 14, 29, 0, 0, 2, 33, 11, 32, 0, 3, 75, 0, 0, 0, - 4, 82, 0, 0, 0, 6, 0, 9, 172, 111, 0, 0, 20, 0, 0, 0, 0, 168, 2, 21, 13, 21, 0, 0, 0, 0, 14, - 29, 0, 0, 2, 22, 13, 0, 21, 0, 0, 0, 0, 140, 55, 0, 0, 2, 23, 13, 8, 21, 0, 0, 0, 0, 11, 1, 0, - 0, 2, 24, 13, 16, 21, 0, 0, 0, 0, 199, 112, 0, 0, 2, 25, 13, 24, 21, 0, 0, 0, 0, 215, 112, 0, - 0, 2, 26, 13, 32, 21, 0, 0, 0, 0, 129, 113, 0, 0, 2, 27, 13, 40, 21, 0, 0, 0, 0, 141, 113, 0, - 0, 2, 28, 13, 48, 21, 0, 0, 0, 0, 141, 113, 0, 0, 2, 29, 13, 56, 21, 0, 0, 0, 0, 162, 113, 0, - 0, 2, 30, 13, 64, 21, 0, 0, 0, 0, 30, 114, 0, 0, 2, 31, 13, 72, 21, 0, 0, 0, 0, 42, 114, 0, 0, - 2, 32, 13, 80, 21, 0, 0, 0, 0, 42, 114, 0, 0, 2, 33, 13, 88, 21, 0, 0, 0, 0, 54, 114, 0, 0, 2, - 34, 13, 96, 21, 0, 0, 0, 0, 158, 115, 0, 0, 2, 35, 13, 104, 21, 0, 0, 0, 0, 184, 115, 0, 0, 2, - 36, 13, 112, 21, 0, 0, 0, 0, 217, 115, 0, 0, 2, 37, 13, 120, 21, 0, 0, 0, 0, 94, 116, 0, 0, 2, - 38, 13, 128, 21, 0, 0, 0, 0, 94, 117, 0, 0, 2, 39, 13, 136, 21, 0, 0, 0, 0, 125, 117, 0, 0, 2, - 40, 13, 144, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 41, 13, 152, 21, 0, 0, 0, 0, 151, 117, 0, 0, 2, - 42, 13, 168, 0, 9, 204, 112, 0, 0, 13, 168, 0, 0, 0, 14, 14, 29, 0, 0, 0, 9, 220, 112, 0, 0, - 13, 168, 0, 0, 0, 14, 231, 112, 0, 0, 0, 9, 236, 112, 0, 0, 20, 0, 0, 0, 0, 80, 2, 38, 139, 21, - 0, 0, 0, 0, 14, 29, 0, 0, 2, 39, 139, 0, 21, 0, 0, 0, 0, 199, 53, 0, 0, 2, 40, 139, 8, 21, 0, - 0, 0, 0, 81, 113, 0, 0, 2, 41, 139, 16, 21, 0, 0, 0, 0, 56, 1, 0, 0, 2, 42, 139, 48, 21, 0, 0, - 0, 0, 140, 55, 0, 0, 2, 43, 139, 56, 21, 0, 0, 0, 0, 140, 55, 0, 0, 2, 44, 139, 64, 21, 0, 0, - 0, 0, 245, 110, 0, 0, 2, 45, 139, 72, 0, 43, 0, 0, 0, 0, 32, 2, 36, 11, 21, 0, 0, 0, 0, 255, 0, - 0, 0, 2, 37, 11, 0, 21, 0, 0, 0, 0, 117, 113, 0, 0, 2, 38, 11, 0, 0, 3, 255, 0, 0, 0, 4, 82, 0, - 0, 0, 4, 0, 9, 134, 113, 0, 0, 32, 14, 231, 112, 0, 0, 0, 9, 146, 113, 0, 0, 13, 168, 0, 0, 0, - 14, 121, 101, 0, 0, 14, 231, 112, 0, 0, 0, 9, 167, 113, 0, 0, 13, 168, 0, 0, 0, 14, 178, 113, - 0, 0, 0, 9, 183, 113, 0, 0, 20, 0, 0, 0, 0, 32, 2, 48, 139, 21, 0, 0, 0, 0, 245, 113, 0, 0, 2, - 49, 139, 0, 21, 0, 0, 0, 0, 56, 1, 0, 0, 2, 50, 139, 8, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 51, - 139, 16, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 52, 139, 24, 0, 9, 250, 113, 0, 0, 13, 219, 52, 0, 0, - 14, 10, 114, 0, 0, 14, 20, 114, 0, 0, 0, 9, 15, 114, 0, 0, 26, 126, 101, 0, 0, 9, 25, 114, 0, - 0, 26, 183, 113, 0, 0, 9, 35, 114, 0, 0, 32, 14, 178, 113, 0, 0, 0, 9, 47, 114, 0, 0, 32, 14, - 121, 101, 0, 0, 0, 9, 59, 114, 0, 0, 32, 14, 10, 114, 0, 0, 14, 71, 114, 0, 0, 0, 9, 76, 114, - 0, 0, 20, 0, 0, 0, 0, 120, 2, 33, 20, 21, 0, 0, 0, 0, 199, 53, 0, 0, 2, 34, 20, 0, 21, 0, 0, 0, - 0, 140, 55, 0, 0, 2, 35, 20, 8, 21, 0, 0, 0, 0, 140, 55, 0, 0, 2, 36, 20, 16, 21, 0, 0, 0, 0, - 140, 55, 0, 0, 2, 37, 20, 24, 21, 0, 0, 0, 0, 140, 55, 0, 0, 2, 38, 20, 32, 21, 0, 0, 0, 0, 29, - 75, 0, 0, 2, 39, 20, 40, 21, 0, 0, 0, 0, 29, 75, 0, 0, 2, 40, 20, 48, 21, 0, 0, 0, 0, 241, 106, - 0, 0, 2, 41, 20, 56, 21, 0, 0, 0, 0, 242, 114, 0, 0, 2, 42, 20, 88, 21, 0, 0, 0, 0, 168, 0, 0, - 0, 2, 43, 20, 96, 21, 0, 0, 0, 0, 148, 115, 0, 0, 2, 44, 20, 104, 21, 0, 0, 0, 0, 255, 0, 0, 0, - 2, 45, 20, 112, 0, 9, 247, 114, 0, 0, 26, 252, 114, 0, 0, 20, 0, 0, 0, 0, 32, 2, 127, 16, 21, - 0, 0, 0, 0, 58, 115, 0, 0, 2, 128, 16, 0, 21, 0, 0, 0, 0, 84, 115, 0, 0, 2, 129, 16, 8, 21, 0, - 0, 0, 0, 101, 115, 0, 0, 2, 130, 16, 16, 21, 0, 0, 0, 0, 127, 115, 0, 0, 2, 131, 16, 24, 0, 9, - 63, 115, 0, 0, 13, 255, 0, 0, 0, 14, 71, 114, 0, 0, 14, 79, 115, 0, 0, 0, 9, 29, 75, 0, 0, 9, - 89, 115, 0, 0, 32, 14, 71, 114, 0, 0, 14, 255, 0, 0, 0, 0, 9, 106, 115, 0, 0, 13, 255, 0, 0, 0, - 14, 71, 114, 0, 0, 14, 255, 0, 0, 0, 14, 79, 115, 0, 0, 0, 9, 132, 115, 0, 0, 13, 168, 0, 0, 0, - 14, 71, 114, 0, 0, 14, 255, 0, 0, 0, 0, 9, 153, 115, 0, 0, 26, 74, 80, 0, 0, 9, 163, 115, 0, 0, - 13, 248, 0, 0, 0, 14, 10, 114, 0, 0, 14, 199, 53, 0, 0, 14, 140, 55, 0, 0, 0, 33, 196, 115, 0, - 0, 0, 0, 0, 0, 2, 11, 13, 9, 201, 115, 0, 0, 13, 168, 0, 0, 0, 14, 121, 101, 0, 0, 14, 255, 0, - 0, 0, 0, 9, 222, 115, 0, 0, 13, 233, 115, 0, 0, 14, 14, 29, 0, 0, 0, 9, 238, 115, 0, 0, 20, 0, - 0, 0, 0, 24, 2, 47, 13, 21, 0, 0, 0, 0, 31, 116, 0, 0, 2, 48, 13, 0, 21, 0, 0, 0, 0, 121, 101, - 0, 0, 2, 49, 13, 8, 21, 0, 0, 0, 0, 167, 111, 0, 0, 2, 50, 13, 16, 0, 33, 43, 116, 0, 0, 0, 0, - 0, 0, 2, 45, 13, 9, 48, 116, 0, 0, 13, 168, 0, 0, 0, 14, 121, 101, 0, 0, 14, 74, 116, 0, 0, 14, - 84, 116, 0, 0, 14, 121, 101, 0, 0, 0, 9, 79, 116, 0, 0, 26, 172, 111, 0, 0, 9, 89, 116, 0, 0, - 26, 81, 113, 0, 0, 9, 99, 116, 0, 0, 13, 168, 0, 0, 0, 14, 115, 116, 0, 0, 14, 1, 117, 0, 0, 0, - 9, 120, 116, 0, 0, 26, 125, 116, 0, 0, 20, 0, 0, 0, 0, 48, 2, 25, 139, 21, 0, 0, 0, 0, 121, - 101, 0, 0, 2, 26, 139, 0, 21, 0, 0, 0, 0, 14, 29, 0, 0, 2, 27, 139, 8, 21, 0, 0, 0, 0, 14, 29, - 0, 0, 2, 28, 139, 16, 21, 0, 0, 0, 0, 199, 53, 0, 0, 2, 29, 139, 24, 21, 0, 0, 0, 0, 0, 1, 0, - 0, 2, 30, 139, 32, 22, 208, 116, 0, 0, 2, 31, 139, 36, 23, 4, 2, 31, 139, 21, 0, 0, 0, 0, 0, 1, - 0, 0, 2, 32, 139, 0, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 33, 139, 0, 0, 34, 0, 0, 0, 0, 230, 1, 0, - 0, 2, 35, 139, 4, 8, 24, 40, 0, 9, 6, 117, 0, 0, 20, 0, 0, 0, 0, 16, 2, 9, 139, 21, 0, 0, 0, 0, - 0, 1, 0, 0, 2, 10, 139, 0, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 11, 139, 4, 21, 0, 0, 0, 0, 214, 48, - 0, 0, 2, 12, 139, 8, 21, 0, 0, 0, 0, 214, 48, 0, 0, 2, 13, 139, 10, 21, 0, 0, 0, 0, 214, 48, 0, - 0, 2, 14, 139, 12, 21, 0, 0, 0, 0, 214, 48, 0, 0, 2, 15, 139, 14, 0, 9, 99, 117, 0, 0, 13, 168, - 0, 0, 0, 14, 120, 117, 0, 0, 14, 56, 1, 0, 0, 14, 255, 0, 0, 0, 0, 9, 125, 116, 0, 0, 9, 130, - 117, 0, 0, 13, 168, 0, 0, 0, 14, 120, 117, 0, 0, 14, 56, 1, 0, 0, 14, 56, 1, 0, 0, 0, 44, 0, 0, - 0, 0, 0, 2, 132, 9, 164, 117, 0, 0, 20, 0, 0, 0, 0, 24, 2, 5, 13, 21, 0, 0, 0, 0, 65, 29, 0, 0, - 2, 6, 13, 0, 21, 0, 0, 0, 0, 141, 64, 0, 0, 2, 7, 13, 16, 21, 0, 0, 0, 0, 219, 52, 0, 0, 2, 8, - 13, 20, 0, 20, 0, 0, 0, 0, 16, 2, 43, 11, 21, 0, 0, 0, 0, 249, 117, 0, 0, 2, 44, 11, 0, 21, 0, - 0, 0, 0, 127, 29, 0, 0, 2, 45, 11, 8, 0, 9, 254, 117, 0, 0, 45, 0, 0, 0, 0, 9, 8, 118, 0, 0, - 27, 0, 0, 0, 0, 112, 2, 2, 247, 17, 21, 0, 0, 0, 0, 21, 119, 0, 0, 2, 248, 17, 0, 21, 0, 0, 0, - 0, 21, 119, 0, 0, 2, 249, 17, 72, 21, 0, 0, 0, 0, 21, 119, 0, 0, 2, 250, 17, 144, 21, 0, 0, 0, - 0, 3, 118, 0, 0, 2, 251, 17, 216, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 252, 17, 224, 21, 0, 0, 0, - 0, 224, 63, 0, 0, 2, 253, 17, 228, 21, 0, 0, 0, 0, 21, 64, 0, 0, 2, 254, 17, 232, 21, 0, 0, 0, - 0, 179, 119, 0, 0, 2, 255, 17, 240, 28, 0, 0, 0, 0, 127, 29, 0, 0, 2, 0, 18, 8, 1, 28, 0, 0, 0, - 0, 219, 52, 0, 0, 2, 1, 18, 16, 1, 28, 0, 0, 0, 0, 227, 28, 0, 0, 2, 2, 18, 24, 1, 28, 0, 0, 0, - 0, 121, 101, 0, 0, 2, 3, 18, 40, 1, 28, 0, 0, 0, 0, 133, 97, 0, 0, 2, 4, 18, 48, 1, 28, 0, 0, - 0, 0, 121, 101, 0, 0, 2, 5, 18, 88, 1, 28, 0, 0, 0, 0, 156, 163, 0, 0, 2, 6, 18, 96, 1, 28, 0, - 0, 0, 0, 86, 128, 1, 0, 2, 7, 18, 128, 1, 28, 0, 0, 0, 0, 194, 130, 1, 0, 2, 8, 18, 224, 1, 28, - 0, 0, 0, 0, 125, 81, 1, 0, 2, 9, 18, 232, 1, 28, 0, 0, 0, 0, 93, 145, 2, 0, 2, 10, 18, 240, 1, - 0, 20, 0, 0, 0, 0, 72, 2, 188, 17, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 189, 17, 0, 22, 52, 119, - 0, 0, 2, 190, 17, 8, 23, 64, 2, 190, 17, 21, 0, 0, 0, 0, 113, 119, 0, 0, 2, 191, 17, 0, 22, 79, - 119, 0, 0, 2, 192, 17, 0, 24, 16, 2, 192, 17, 21, 0, 0, 0, 0, 174, 119, 0, 0, 2, 193, 17, 0, - 21, 0, 0, 0, 0, 174, 119, 0, 0, 2, 194, 17, 8, 0, 0, 0, 3, 125, 119, 0, 0, 4, 82, 0, 0, 0, 5, - 0, 20, 0, 0, 0, 0, 12, 2, 182, 17, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 183, 17, 0, 21, 0, 0, 0, - 0, 125, 68, 0, 0, 2, 184, 17, 4, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 185, 17, 8, 0, 9, 125, 119, - 0, 0, 20, 0, 0, 0, 0, 24, 2, 201, 17, 21, 0, 0, 0, 0, 71, 97, 0, 0, 2, 202, 17, 0, 21, 0, 0, 0, - 0, 241, 119, 0, 0, 2, 203, 17, 8, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 204, 17, 16, 21, 0, 0, 0, 0, - 141, 64, 0, 0, 2, 205, 17, 20, 0, 9, 246, 119, 0, 0, 26, 251, 119, 0, 0, 20, 0, 0, 0, 0, 64, 2, - 53, 29, 21, 0, 0, 0, 0, 14, 29, 0, 0, 2, 54, 29, 0, 21, 0, 0, 0, 0, 14, 29, 0, 0, 2, 55, 29, 8, - 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 56, 29, 16, 21, 0, 0, 0, 0, 109, 120, 0, 0, 2, 57, 29, 24, 21, - 0, 0, 0, 0, 217, 144, 2, 0, 2, 58, 29, 32, 21, 0, 0, 0, 0, 229, 144, 2, 0, 2, 59, 29, 40, 21, - 0, 0, 0, 0, 61, 145, 2, 0, 2, 60, 29, 48, 21, 0, 0, 0, 0, 77, 145, 2, 0, 2, 61, 29, 56, 0, 9, - 114, 120, 0, 0, 13, 125, 120, 0, 0, 14, 130, 120, 0, 0, 0, 9, 179, 119, 0, 0, 9, 135, 120, 0, - 0, 27, 0, 0, 0, 0, 128, 44, 2, 146, 3, 21, 0, 0, 0, 0, 106, 134, 0, 0, 2, 147, 3, 0, 21, 0, 0, - 0, 0, 11, 1, 0, 0, 2, 148, 3, 24, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 149, 3, 32, 21, 0, 0, 0, 0, - 141, 64, 0, 0, 2, 150, 3, 40, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 151, 3, 44, 21, 0, 0, 0, 0, 11, - 1, 0, 0, 2, 152, 3, 48, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 153, 3, 52, 21, 0, 0, 0, 0, 155, 134, - 0, 0, 2, 154, 3, 56, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 155, 3, 72, 21, 0, 0, 0, 0, 11, 1, 0, 0, - 2, 156, 3, 76, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 157, 3, 80, 21, 0, 0, 0, 0, 130, 120, 0, 0, 2, - 158, 3, 88, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 159, 3, 96, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 160, - 3, 100, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 161, 3, 104, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 162, 3, - 108, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 163, 3, 112, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 164, 3, - 116, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 165, 3, 120, 21, 0, 0, 0, 0, 245, 134, 0, 0, 2, 166, 3, - 128, 21, 0, 0, 0, 0, 104, 144, 0, 0, 2, 174, 3, 192, 28, 0, 0, 0, 0, 160, 70, 1, 0, 2, 175, 3, - 128, 2, 28, 0, 0, 0, 0, 10, 71, 1, 0, 2, 176, 3, 176, 2, 28, 0, 0, 0, 0, 86, 40, 0, 0, 2, 177, - 3, 144, 3, 28, 0, 0, 0, 0, 127, 29, 0, 0, 2, 178, 3, 168, 3, 28, 0, 0, 0, 0, 11, 1, 0, 0, 2, - 179, 3, 176, 3, 28, 0, 0, 0, 0, 90, 147, 0, 0, 2, 180, 3, 184, 3, 28, 0, 0, 0, 0, 28, 57, 1, 0, - 2, 181, 3, 192, 3, 28, 0, 0, 0, 0, 28, 57, 1, 0, 2, 182, 3, 200, 3, 28, 0, 0, 0, 0, 190, 103, - 0, 0, 2, 183, 3, 208, 3, 28, 0, 0, 0, 0, 11, 1, 0, 0, 2, 184, 3, 216, 3, 28, 0, 0, 0, 0, 11, 1, - 0, 0, 2, 185, 3, 220, 3, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 186, 3, 224, 3, 28, 0, 0, 0, 0, 136, - 236, 0, 0, 2, 187, 3, 232, 3, 28, 0, 0, 0, 0, 245, 71, 1, 0, 2, 188, 3, 240, 3, 28, 0, 0, 0, 0, - 146, 236, 0, 0, 2, 189, 3, 248, 3, 28, 0, 0, 0, 0, 255, 0, 0, 0, 2, 190, 3, 32, 4, 28, 0, 0, 0, - 0, 225, 48, 0, 0, 2, 191, 3, 40, 4, 28, 0, 0, 0, 0, 225, 48, 0, 0, 2, 192, 3, 42, 4, 28, 0, 0, - 0, 0, 168, 0, 0, 0, 2, 193, 3, 44, 4, 28, 0, 0, 0, 0, 250, 71, 1, 0, 2, 194, 3, 48, 4, 28, 0, - 0, 0, 0, 227, 28, 0, 0, 2, 195, 3, 56, 4, 28, 0, 0, 0, 0, 88, 72, 1, 0, 2, 196, 3, 72, 4, 28, - 0, 0, 0, 0, 127, 29, 0, 0, 2, 197, 3, 80, 4, 28, 0, 0, 0, 0, 118, 55, 0, 0, 2, 198, 3, 88, 4, - 28, 0, 0, 0, 0, 118, 55, 0, 0, 2, 199, 3, 89, 4, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 200, 3, 92, - 4, 28, 0, 0, 0, 0, 227, 28, 0, 0, 2, 201, 3, 96, 4, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 202, 3, - 112, 4, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 203, 3, 116, 4, 28, 0, 0, 0, 0, 250, 71, 1, 0, 2, 204, - 3, 120, 4, 28, 0, 0, 0, 0, 219, 52, 0, 0, 2, 205, 3, 124, 4, 28, 0, 0, 0, 0, 227, 28, 0, 0, 2, - 206, 3, 128, 4, 28, 0, 0, 0, 0, 232, 65, 1, 0, 2, 207, 3, 144, 4, 28, 0, 0, 0, 0, 227, 28, 0, - 0, 2, 208, 3, 176, 4, 28, 0, 0, 0, 0, 244, 211, 0, 0, 2, 209, 3, 192, 4, 28, 0, 0, 0, 0, 86, - 40, 0, 0, 2, 210, 3, 232, 4, 28, 0, 0, 0, 0, 104, 93, 0, 0, 2, 211, 3, 0, 5, 28, 0, 0, 0, 0, - 104, 93, 0, 0, 2, 212, 3, 8, 5, 28, 0, 0, 0, 0, 186, 74, 1, 0, 2, 213, 3, 16, 5, 28, 0, 0, 0, - 0, 234, 74, 1, 0, 2, 214, 3, 56, 5, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 215, 3, 76, 5, 28, 0, 0, - 0, 0, 168, 0, 0, 0, 2, 216, 3, 80, 5, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 217, 3, 84, 5, 28, 0, 0, - 0, 0, 168, 0, 0, 0, 2, 218, 3, 88, 5, 28, 0, 0, 0, 0, 127, 29, 0, 0, 2, 219, 3, 96, 5, 28, 0, - 0, 0, 0, 11, 1, 0, 0, 2, 220, 3, 104, 5, 29, 0, 0, 0, 0, 11, 1, 0, 0, 2, 221, 3, 4, 1, 31, 108, - 5, 29, 0, 0, 0, 0, 11, 1, 0, 0, 2, 222, 3, 4, 1, 30, 108, 5, 29, 0, 0, 0, 0, 11, 1, 0, 0, 2, - 223, 3, 4, 1, 29, 108, 5, 29, 0, 0, 0, 0, 11, 1, 0, 0, 2, 224, 3, 4, 1, 28, 108, 5, 29, 0, 0, - 0, 0, 11, 1, 0, 0, 2, 226, 3, 4, 1, 31, 112, 5, 29, 0, 0, 0, 0, 11, 1, 0, 0, 2, 227, 3, 4, 1, - 30, 112, 5, 29, 0, 0, 0, 0, 11, 1, 0, 0, 2, 228, 3, 4, 1, 29, 112, 5, 29, 0, 0, 0, 0, 11, 1, 0, - 0, 2, 229, 3, 4, 1, 28, 112, 5, 29, 0, 0, 0, 0, 11, 1, 0, 0, 2, 230, 3, 4, 1, 27, 112, 5, 29, - 0, 0, 0, 0, 11, 1, 0, 0, 2, 231, 3, 4, 1, 26, 112, 5, 29, 0, 0, 0, 0, 11, 1, 0, 0, 2, 232, 3, - 4, 1, 25, 112, 5, 29, 0, 0, 0, 0, 11, 1, 0, 0, 2, 233, 3, 4, 1, 24, 112, 5, 29, 0, 0, 0, 0, 11, - 1, 0, 0, 2, 234, 3, 4, 1, 23, 112, 5, 29, 0, 0, 0, 0, 11, 1, 0, 0, 2, 235, 3, 4, 1, 22, 112, 5, - 28, 0, 0, 0, 0, 127, 29, 0, 0, 2, 236, 3, 120, 5, 28, 0, 0, 0, 0, 14, 75, 1, 0, 2, 237, 3, 128, - 5, 28, 0, 0, 0, 0, 45, 77, 1, 0, 2, 238, 3, 184, 5, 28, 0, 0, 0, 0, 45, 77, 1, 0, 2, 239, 3, - 188, 5, 28, 0, 0, 0, 0, 127, 29, 0, 0, 2, 240, 3, 192, 5, 28, 0, 0, 0, 0, 130, 120, 0, 0, 2, - 241, 3, 200, 5, 28, 0, 0, 0, 0, 130, 120, 0, 0, 2, 242, 3, 208, 5, 28, 0, 0, 0, 0, 227, 28, 0, - 0, 2, 243, 3, 216, 5, 28, 0, 0, 0, 0, 227, 28, 0, 0, 2, 244, 3, 232, 5, 28, 0, 0, 0, 0, 130, - 120, 0, 0, 2, 245, 3, 248, 5, 28, 0, 0, 0, 0, 227, 28, 0, 0, 2, 246, 3, 0, 6, 28, 0, 0, 0, 0, - 227, 28, 0, 0, 2, 247, 3, 16, 6, 28, 0, 0, 0, 0, 67, 77, 1, 0, 2, 248, 3, 32, 6, 28, 0, 0, 0, - 0, 217, 81, 1, 0, 2, 249, 3, 40, 6, 28, 0, 0, 0, 0, 227, 28, 0, 0, 2, 250, 3, 104, 6, 28, 0, 0, - 0, 0, 227, 28, 0, 0, 2, 251, 3, 120, 6, 28, 0, 0, 0, 0, 106, 170, 0, 0, 2, 252, 3, 136, 6, 28, - 0, 0, 0, 0, 214, 52, 0, 0, 2, 253, 3, 144, 6, 28, 0, 0, 0, 0, 214, 52, 0, 0, 2, 254, 3, 152, 6, - 28, 0, 0, 0, 0, 255, 0, 0, 0, 2, 255, 3, 160, 6, 28, 0, 0, 0, 0, 136, 68, 0, 0, 2, 0, 4, 168, - 6, 28, 0, 0, 0, 0, 136, 68, 0, 0, 2, 1, 4, 176, 6, 28, 0, 0, 0, 0, 136, 68, 0, 0, 2, 2, 4, 184, - 6, 28, 0, 0, 0, 0, 107, 163, 0, 0, 2, 3, 4, 192, 6, 28, 0, 0, 0, 0, 127, 29, 0, 0, 2, 4, 4, - 216, 6, 28, 0, 0, 0, 0, 127, 29, 0, 0, 2, 5, 4, 224, 6, 28, 0, 0, 0, 0, 136, 68, 0, 0, 2, 6, 4, - 232, 6, 28, 0, 0, 0, 0, 136, 68, 0, 0, 2, 7, 4, 240, 6, 28, 0, 0, 0, 0, 127, 29, 0, 0, 2, 8, 4, - 248, 6, 28, 0, 0, 0, 0, 127, 29, 0, 0, 2, 9, 4, 0, 7, 28, 0, 0, 0, 0, 229, 81, 1, 0, 2, 10, 4, - 8, 7, 28, 0, 0, 0, 0, 70, 82, 1, 0, 2, 11, 4, 88, 7, 28, 0, 0, 0, 0, 103, 110, 0, 0, 2, 12, 4, - 112, 7, 28, 0, 0, 0, 0, 103, 110, 0, 0, 2, 13, 4, 120, 7, 28, 0, 0, 0, 0, 103, 110, 0, 0, 2, - 14, 4, 128, 7, 28, 0, 0, 0, 0, 121, 101, 0, 0, 2, 15, 4, 136, 7, 28, 0, 0, 0, 0, 105, 28, 0, 0, - 2, 16, 4, 144, 7, 28, 0, 0, 0, 0, 106, 82, 1, 0, 2, 17, 4, 160, 7, 28, 0, 0, 0, 0, 240, 83, 1, - 0, 2, 18, 4, 168, 7, 28, 0, 0, 0, 0, 61, 84, 1, 0, 2, 19, 4, 176, 7, 28, 0, 0, 0, 0, 127, 29, - 0, 0, 2, 20, 4, 192, 7, 28, 0, 0, 0, 0, 127, 29, 0, 0, 2, 21, 4, 200, 7, 28, 0, 0, 0, 0, 84, - 84, 1, 0, 2, 22, 4, 208, 7, 28, 0, 0, 0, 0, 190, 84, 1, 0, 2, 23, 4, 216, 7, 28, 0, 0, 0, 0, - 203, 85, 1, 0, 2, 24, 4, 224, 7, 28, 0, 0, 0, 0, 194, 116, 1, 0, 2, 25, 4, 232, 7, 28, 0, 0, 0, - 0, 115, 233, 1, 0, 2, 26, 4, 240, 7, 28, 0, 0, 0, 0, 28, 1, 2, 0, 2, 27, 4, 248, 7, 28, 0, 0, - 0, 0, 252, 236, 1, 0, 2, 28, 4, 0, 8, 28, 0, 0, 0, 0, 252, 236, 1, 0, 2, 29, 4, 8, 8, 28, 0, 0, - 0, 0, 252, 236, 1, 0, 2, 30, 4, 16, 8, 28, 0, 0, 0, 0, 216, 236, 1, 0, 2, 31, 4, 24, 8, 28, 0, - 0, 0, 0, 127, 29, 0, 0, 2, 32, 4, 48, 8, 28, 0, 0, 0, 0, 140, 55, 0, 0, 2, 33, 4, 56, 8, 28, 0, - 0, 0, 0, 11, 1, 0, 0, 2, 34, 4, 64, 8, 28, 0, 0, 0, 0, 98, 29, 0, 0, 2, 35, 4, 72, 8, 28, 0, 0, - 0, 0, 2, 2, 2, 0, 2, 36, 4, 80, 8, 28, 0, 0, 0, 0, 224, 63, 0, 0, 2, 37, 4, 88, 8, 28, 0, 0, 0, - 0, 11, 1, 0, 0, 2, 38, 4, 92, 8, 28, 0, 0, 0, 0, 74, 8, 2, 0, 2, 39, 4, 96, 8, 28, 0, 0, 0, 0, - 150, 9, 2, 0, 2, 40, 4, 112, 8, 28, 0, 0, 0, 0, 136, 68, 0, 0, 2, 41, 4, 144, 8, 28, 0, 0, 0, - 0, 136, 68, 0, 0, 2, 42, 4, 152, 8, 28, 0, 0, 0, 0, 248, 68, 0, 0, 2, 43, 4, 160, 8, 28, 0, 0, - 0, 0, 231, 97, 0, 0, 2, 44, 4, 164, 8, 28, 0, 0, 0, 0, 212, 9, 2, 0, 2, 45, 4, 168, 8, 28, 0, - 0, 0, 0, 63, 144, 0, 0, 2, 46, 4, 176, 8, 28, 0, 0, 0, 0, 130, 120, 0, 0, 2, 47, 4, 192, 8, 28, - 0, 0, 0, 0, 240, 9, 2, 0, 2, 48, 4, 200, 8, 28, 0, 0, 0, 0, 255, 0, 0, 0, 2, 49, 4, 208, 8, 28, - 0, 0, 0, 0, 188, 10, 2, 0, 2, 50, 4, 216, 8, 28, 0, 0, 0, 0, 200, 72, 2, 0, 2, 51, 4, 224, 8, - 28, 0, 0, 0, 0, 205, 72, 2, 0, 2, 52, 4, 232, 8, 28, 0, 0, 0, 0, 36, 61, 2, 0, 2, 53, 4, 240, - 8, 28, 0, 0, 0, 0, 3, 35, 2, 0, 2, 54, 4, 248, 8, 28, 0, 0, 0, 0, 233, 72, 2, 0, 2, 55, 4, 0, - 9, 28, 0, 0, 0, 0, 127, 29, 0, 0, 2, 56, 4, 8, 9, 28, 0, 0, 0, 0, 171, 74, 2, 0, 2, 57, 4, 16, - 9, 28, 0, 0, 0, 0, 69, 253, 1, 0, 2, 58, 4, 24, 9, 28, 0, 0, 0, 0, 11, 1, 0, 0, 2, 59, 4, 80, - 9, 28, 0, 0, 0, 0, 136, 68, 0, 0, 2, 60, 4, 88, 9, 28, 0, 0, 0, 0, 136, 68, 0, 0, 2, 61, 4, 96, - 9, 28, 0, 0, 0, 0, 136, 68, 0, 0, 2, 62, 4, 104, 9, 28, 0, 0, 0, 0, 117, 159, 0, 0, 2, 63, 4, - 112, 9, 28, 0, 0, 0, 0, 173, 67, 0, 0, 2, 64, 4, 120, 9, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 65, - 4, 124, 9, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 66, 4, 128, 9, 28, 0, 0, 0, 0, 208, 52, 1, 0, 2, - 67, 4, 136, 9, 28, 0, 0, 0, 0, 227, 28, 0, 0, 2, 68, 4, 144, 9, 28, 0, 0, 0, 0, 125, 68, 0, 0, - 2, 69, 4, 160, 9, 28, 0, 0, 0, 0, 125, 68, 0, 0, 2, 70, 4, 164, 9, 28, 0, 0, 0, 0, 171, 77, 2, - 0, 2, 71, 4, 168, 9, 28, 0, 0, 0, 0, 253, 77, 2, 0, 2, 72, 4, 176, 9, 28, 0, 0, 0, 0, 227, 28, - 0, 0, 2, 73, 4, 184, 9, 28, 0, 0, 0, 0, 86, 78, 2, 0, 2, 74, 4, 200, 9, 28, 0, 0, 0, 0, 241, - 106, 0, 0, 2, 75, 4, 208, 9, 28, 0, 0, 0, 0, 11, 1, 0, 0, 2, 76, 4, 240, 9, 28, 0, 0, 0, 0, - 122, 79, 2, 0, 2, 77, 4, 248, 9, 28, 0, 0, 0, 0, 241, 106, 0, 0, 2, 78, 4, 8, 10, 28, 0, 0, 0, - 0, 227, 28, 0, 0, 2, 79, 4, 40, 10, 28, 0, 0, 0, 0, 5, 159, 0, 0, 2, 80, 4, 56, 10, 28, 0, 0, - 0, 0, 37, 65, 0, 0, 2, 81, 4, 64, 10, 28, 0, 0, 0, 0, 37, 65, 0, 0, 2, 82, 4, 66, 10, 28, 0, 0, - 0, 0, 168, 0, 0, 0, 2, 83, 4, 68, 10, 28, 0, 0, 0, 0, 11, 1, 0, 0, 2, 84, 4, 72, 10, 28, 0, 0, - 0, 0, 11, 1, 0, 0, 2, 85, 4, 76, 10, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 86, 4, 80, 10, 28, 0, 0, - 0, 0, 127, 29, 0, 0, 2, 87, 4, 88, 10, 28, 0, 0, 0, 0, 136, 68, 0, 0, 2, 88, 4, 96, 10, 28, 0, - 0, 0, 0, 136, 68, 0, 0, 2, 89, 4, 104, 10, 28, 0, 0, 0, 0, 136, 68, 0, 0, 2, 90, 4, 112, 10, - 28, 0, 0, 0, 0, 65, 29, 0, 0, 2, 91, 4, 120, 10, 28, 0, 0, 0, 0, 113, 131, 2, 0, 2, 92, 4, 136, - 10, 28, 0, 0, 0, 0, 75, 110, 0, 0, 2, 93, 4, 144, 10, 28, 0, 0, 0, 0, 127, 29, 0, 0, 2, 94, 4, - 152, 10, 28, 0, 0, 0, 0, 131, 42, 1, 0, 2, 95, 4, 160, 10, 28, 0, 0, 0, 0, 127, 29, 0, 0, 2, - 96, 4, 184, 10, 28, 0, 0, 0, 0, 2, 132, 2, 0, 2, 97, 4, 192, 10, 28, 0, 0, 0, 0, 125, 68, 0, 0, - 2, 98, 4, 200, 10, 28, 0, 0, 0, 0, 127, 29, 0, 0, 2, 99, 4, 208, 10, 28, 0, 0, 0, 0, 101, 132, - 2, 0, 2, 100, 4, 216, 10, 30, 188, 131, 0, 0, 2, 101, 4, 8, 11, 23, 16, 2, 101, 4, 21, 0, 0, 0, - 0, 141, 64, 0, 0, 2, 102, 4, 0, 21, 0, 0, 0, 0, 65, 29, 0, 0, 2, 103, 4, 0, 0, 28, 0, 0, 0, 0, - 209, 105, 0, 0, 2, 105, 4, 24, 11, 28, 0, 0, 0, 0, 147, 175, 1, 0, 2, 106, 4, 32, 11, 28, 0, 0, - 0, 0, 173, 132, 2, 0, 2, 107, 4, 48, 11, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 108, 4, 56, 11, 28, - 0, 0, 0, 0, 168, 0, 0, 0, 2, 109, 4, 60, 11, 28, 0, 0, 0, 0, 127, 29, 0, 0, 2, 110, 4, 64, 11, - 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 111, 4, 72, 11, 28, 0, 0, 0, 0, 101, 133, 2, 0, 2, 112, 4, 80, - 11, 28, 0, 0, 0, 0, 136, 68, 0, 0, 2, 113, 4, 80, 26, 28, 0, 0, 0, 0, 136, 68, 0, 0, 2, 114, 4, - 88, 26, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 115, 4, 96, 26, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 116, - 4, 100, 26, 28, 0, 0, 0, 0, 187, 133, 2, 0, 2, 117, 4, 104, 26, 28, 0, 0, 0, 0, 208, 0, 0, 0, - 2, 118, 4, 112, 26, 28, 0, 0, 0, 0, 176, 64, 0, 0, 2, 119, 4, 120, 26, 28, 0, 0, 0, 0, 176, 64, - 0, 0, 2, 120, 4, 124, 26, 28, 0, 0, 0, 0, 127, 29, 0, 0, 2, 121, 4, 128, 26, 28, 0, 0, 0, 0, - 127, 29, 0, 0, 2, 122, 4, 136, 26, 28, 0, 0, 0, 0, 161, 30, 1, 0, 2, 123, 4, 144, 26, 28, 0, 0, - 0, 0, 8, 153, 0, 0, 2, 124, 4, 152, 26, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 125, 4, 156, 26, 28, - 0, 0, 0, 0, 11, 1, 0, 0, 2, 126, 4, 160, 26, 28, 0, 0, 0, 0, 161, 30, 1, 0, 2, 127, 4, 168, 26, - 28, 0, 0, 0, 0, 168, 19, 2, 0, 2, 128, 4, 176, 26, 28, 0, 0, 0, 0, 11, 134, 2, 0, 2, 129, 4, - 184, 26, 28, 0, 0, 0, 0, 11, 1, 0, 0, 2, 130, 4, 192, 26, 28, 0, 0, 0, 0, 11, 1, 0, 0, 2, 131, - 4, 196, 26, 28, 0, 0, 0, 0, 49, 138, 2, 0, 2, 132, 4, 200, 26, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, - 133, 4, 200, 26, 28, 0, 0, 0, 0, 130, 120, 0, 0, 2, 134, 4, 208, 26, 28, 0, 0, 0, 0, 58, 138, - 2, 0, 2, 135, 4, 216, 26, 28, 0, 0, 0, 0, 141, 64, 0, 0, 2, 136, 4, 224, 26, 28, 0, 0, 0, 0, - 255, 0, 0, 0, 2, 137, 4, 232, 26, 28, 0, 0, 0, 0, 94, 16, 1, 0, 2, 138, 4, 240, 26, 28, 0, 0, - 0, 0, 177, 138, 2, 0, 2, 139, 4, 248, 26, 28, 0, 0, 0, 0, 255, 0, 0, 0, 2, 140, 4, 0, 27, 28, - 0, 0, 0, 0, 197, 0, 0, 0, 2, 141, 4, 8, 27, 28, 0, 0, 0, 0, 136, 68, 0, 0, 2, 142, 4, 16, 27, - 29, 0, 0, 0, 0, 197, 0, 0, 0, 2, 143, 4, 8, 1, 63, 24, 27, 29, 0, 0, 0, 0, 197, 0, 0, 0, 2, - 144, 4, 8, 1, 62, 24, 27, 29, 0, 0, 0, 0, 197, 0, 0, 0, 2, 145, 4, 8, 62, 0, 24, 27, 28, 0, 0, - 0, 0, 65, 29, 0, 0, 2, 146, 4, 32, 27, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 147, 4, 48, 27, 28, 0, - 0, 0, 0, 50, 111, 1, 0, 2, 148, 4, 56, 27, 28, 0, 0, 0, 0, 65, 29, 0, 0, 2, 149, 4, 64, 27, 28, - 0, 0, 0, 0, 191, 138, 2, 0, 2, 156, 4, 128, 27, 0, 20, 0, 0, 0, 0, 24, 2, 82, 1, 21, 0, 0, 0, - 0, 127, 29, 0, 0, 2, 83, 1, 0, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 84, 1, 8, 21, 0, 0, 0, 0, 125, - 68, 0, 0, 2, 85, 1, 16, 0, 20, 0, 0, 0, 0, 16, 2, 98, 1, 21, 0, 0, 0, 0, 133, 81, 0, 0, 2, 99, - 1, 0, 22, 186, 134, 0, 0, 2, 100, 1, 8, 23, 4, 2, 100, 1, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 101, - 1, 0, 21, 0, 0, 0, 0, 176, 64, 0, 0, 2, 102, 1, 0, 0, 21, 0, 0, 0, 0, 177, 69, 0, 0, 2, 104, 1, - 12, 21, 0, 0, 0, 0, 177, 69, 0, 0, 2, 105, 1, 14, 0, 9, 250, 134, 0, 0, 26, 255, 134, 0, 0, 20, - 0, 0, 0, 0, 216, 2, 196, 10, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 197, 10, 0, 21, 0, 0, 0, 0, 104, - 136, 0, 0, 2, 198, 10, 8, 21, 0, 0, 0, 0, 104, 136, 0, 0, 2, 199, 10, 16, 21, 0, 0, 0, 0, 132, - 69, 1, 0, 2, 200, 10, 24, 21, 0, 0, 0, 0, 144, 69, 1, 0, 2, 201, 10, 32, 21, 0, 0, 0, 0, 104, - 136, 0, 0, 2, 202, 10, 40, 21, 0, 0, 0, 0, 165, 69, 1, 0, 2, 203, 10, 48, 21, 0, 0, 0, 0, 181, - 69, 1, 0, 2, 204, 10, 56, 21, 0, 0, 0, 0, 198, 69, 1, 0, 2, 205, 10, 64, 21, 0, 0, 0, 0, 220, - 69, 1, 0, 2, 206, 10, 72, 21, 0, 0, 0, 0, 53, 70, 1, 0, 2, 207, 10, 80, 21, 0, 0, 0, 0, 165, - 69, 1, 0, 2, 208, 10, 88, 21, 0, 0, 0, 0, 79, 70, 1, 0, 2, 209, 10, 96, 21, 0, 0, 0, 0, 181, - 69, 1, 0, 2, 210, 10, 104, 21, 0, 0, 0, 0, 96, 70, 1, 0, 2, 211, 10, 112, 21, 0, 0, 0, 0, 132, - 69, 1, 0, 2, 212, 10, 120, 21, 0, 0, 0, 0, 132, 69, 1, 0, 2, 213, 10, 128, 21, 0, 0, 0, 0, 118, - 70, 1, 0, 2, 214, 10, 136, 21, 0, 0, 0, 0, 104, 136, 0, 0, 2, 215, 10, 144, 21, 0, 0, 0, 0, 54, - 54, 1, 0, 2, 216, 10, 152, 21, 0, 0, 0, 0, 54, 54, 1, 0, 2, 217, 10, 160, 21, 0, 0, 0, 0, 181, - 69, 1, 0, 2, 218, 10, 168, 21, 0, 0, 0, 0, 181, 69, 1, 0, 2, 219, 10, 176, 21, 0, 0, 0, 0, 104, - 136, 0, 0, 2, 220, 10, 184, 21, 0, 0, 0, 0, 139, 70, 1, 0, 2, 221, 10, 192, 21, 0, 0, 0, 0, - 132, 69, 1, 0, 2, 222, 10, 200, 21, 0, 0, 0, 0, 79, 70, 1, 0, 2, 223, 10, 208, 0, 9, 109, 136, - 0, 0, 32, 14, 126, 136, 0, 0, 14, 130, 120, 0, 0, 14, 168, 0, 0, 0, 0, 9, 131, 136, 0, 0, 27, - 0, 0, 0, 0, 64, 13, 2, 245, 117, 21, 0, 0, 0, 0, 231, 97, 0, 0, 2, 246, 117, 0, 21, 0, 0, 0, 0, - 11, 1, 0, 0, 2, 247, 117, 4, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 248, 117, 8, 21, 0, 0, 0, 0, 11, - 1, 0, 0, 2, 249, 117, 12, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 250, 117, 16, 21, 0, 0, 0, 0, 127, - 29, 0, 0, 2, 251, 117, 24, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 252, 117, 32, 21, 0, 0, 0, 0, 52, - 141, 0, 0, 2, 1, 118, 64, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 2, 118, 96, 21, 0, 0, 0, 0, 176, 64, - 0, 0, 2, 3, 118, 100, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 4, 118, 104, 21, 0, 0, 0, 0, 136, 68, 0, - 0, 2, 5, 118, 112, 21, 0, 0, 0, 0, 137, 141, 0, 0, 2, 7, 118, 128, 21, 0, 0, 0, 0, 11, 1, 0, 0, - 2, 8, 118, 224, 28, 0, 0, 0, 0, 239, 141, 0, 0, 2, 13, 118, 0, 1, 28, 0, 0, 0, 0, 114, 57, 1, - 0, 2, 14, 118, 192, 2, 28, 0, 0, 0, 0, 131, 58, 1, 0, 2, 15, 118, 96, 9, 28, 0, 0, 0, 0, 227, - 28, 0, 0, 2, 16, 118, 192, 9, 28, 0, 0, 0, 0, 4, 29, 0, 0, 2, 17, 118, 208, 9, 28, 0, 0, 0, 0, - 11, 1, 0, 0, 2, 18, 118, 216, 9, 28, 0, 0, 0, 0, 130, 120, 0, 0, 2, 19, 118, 224, 9, 28, 0, 0, - 0, 0, 130, 120, 0, 0, 2, 20, 118, 232, 9, 28, 0, 0, 0, 0, 130, 120, 0, 0, 2, 21, 118, 240, 9, - 28, 0, 0, 0, 0, 127, 29, 0, 0, 2, 22, 118, 248, 9, 28, 0, 0, 0, 0, 104, 93, 0, 0, 2, 23, 118, - 0, 10, 28, 0, 0, 0, 0, 11, 1, 0, 0, 2, 24, 118, 8, 10, 28, 0, 0, 0, 0, 136, 68, 0, 0, 2, 25, - 118, 16, 10, 28, 0, 0, 0, 0, 136, 68, 0, 0, 2, 31, 118, 64, 10, 28, 0, 0, 0, 0, 136, 68, 0, 0, - 2, 32, 118, 72, 10, 28, 0, 0, 0, 0, 127, 29, 0, 0, 2, 33, 118, 80, 10, 28, 0, 0, 0, 0, 176, 64, - 0, 0, 2, 34, 118, 88, 10, 28, 0, 0, 0, 0, 136, 68, 0, 0, 2, 35, 118, 96, 10, 28, 0, 0, 0, 0, - 168, 0, 0, 0, 2, 36, 118, 104, 10, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 37, 118, 108, 10, 28, 0, 0, - 0, 0, 47, 59, 1, 0, 2, 38, 118, 112, 10, 28, 0, 0, 0, 0, 204, 61, 1, 0, 2, 39, 118, 120, 10, - 28, 0, 0, 0, 0, 127, 29, 0, 0, 2, 40, 118, 128, 10, 28, 0, 0, 0, 0, 127, 29, 0, 0, 2, 41, 118, - 136, 10, 28, 0, 0, 0, 0, 98, 29, 0, 0, 2, 42, 118, 144, 10, 28, 0, 0, 0, 0, 5, 49, 0, 0, 2, 43, - 118, 152, 10, 28, 0, 0, 0, 0, 5, 49, 0, 0, 2, 44, 118, 153, 10, 28, 0, 0, 0, 0, 127, 29, 0, 0, - 2, 45, 118, 160, 10, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 46, 118, 168, 10, 28, 0, 0, 0, 0, 168, 0, - 0, 0, 2, 47, 118, 172, 10, 28, 0, 0, 0, 0, 52, 65, 1, 0, 2, 48, 118, 176, 10, 28, 0, 0, 0, 0, - 168, 0, 0, 0, 2, 49, 118, 224, 10, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 50, 118, 228, 10, 28, 0, 0, - 0, 0, 227, 28, 0, 0, 2, 51, 118, 232, 10, 28, 0, 0, 0, 0, 183, 146, 0, 0, 2, 53, 118, 0, 11, - 28, 0, 0, 0, 0, 183, 146, 0, 0, 2, 54, 118, 64, 11, 28, 0, 0, 0, 0, 183, 146, 0, 0, 2, 55, 118, - 128, 11, 28, 0, 0, 0, 0, 136, 68, 0, 0, 2, 56, 118, 192, 11, 28, 0, 0, 0, 0, 136, 68, 0, 0, 2, - 57, 118, 200, 11, 28, 0, 0, 0, 0, 127, 29, 0, 0, 2, 58, 118, 208, 11, 28, 0, 0, 0, 0, 136, 68, - 0, 0, 2, 59, 118, 216, 11, 28, 0, 0, 0, 0, 136, 68, 0, 0, 2, 60, 118, 224, 11, 28, 0, 0, 0, 0, - 209, 65, 1, 0, 2, 61, 118, 232, 11, 28, 0, 0, 0, 0, 136, 68, 0, 0, 2, 62, 118, 240, 11, 28, 0, - 0, 0, 0, 136, 68, 0, 0, 2, 63, 118, 248, 11, 28, 0, 0, 0, 0, 136, 68, 0, 0, 2, 64, 118, 0, 12, - 28, 0, 0, 0, 0, 127, 29, 0, 0, 2, 65, 118, 8, 12, 28, 0, 0, 0, 0, 248, 0, 0, 0, 2, 66, 118, 16, - 12, 28, 0, 0, 0, 0, 52, 141, 0, 0, 2, 68, 118, 32, 12, 28, 0, 0, 0, 0, 44, 207, 0, 0, 2, 69, - 118, 64, 12, 28, 0, 0, 0, 0, 32, 207, 0, 0, 2, 70, 118, 128, 12, 28, 0, 0, 0, 0, 232, 65, 1, 0, - 2, 71, 118, 136, 12, 28, 0, 0, 0, 0, 208, 0, 0, 0, 2, 72, 118, 168, 12, 28, 0, 0, 0, 0, 11, 1, - 0, 0, 2, 73, 118, 176, 12, 28, 0, 0, 0, 0, 11, 1, 0, 0, 2, 74, 118, 180, 12, 28, 0, 0, 0, 0, - 11, 1, 0, 0, 2, 75, 118, 184, 12, 28, 0, 0, 0, 0, 11, 1, 0, 0, 2, 76, 118, 188, 12, 28, 0, 0, - 0, 0, 11, 1, 0, 0, 2, 77, 118, 192, 12, 28, 0, 0, 0, 0, 38, 66, 1, 0, 2, 78, 118, 200, 12, 28, - 0, 0, 0, 0, 11, 1, 0, 0, 2, 79, 118, 208, 12, 28, 0, 0, 0, 0, 11, 1, 0, 0, 2, 80, 118, 212, 12, - 28, 0, 0, 0, 0, 52, 65, 1, 0, 2, 81, 118, 216, 12, 28, 0, 0, 0, 0, 126, 136, 0, 0, 2, 82, 118, - 8, 13, 28, 0, 0, 0, 0, 130, 120, 0, 0, 2, 83, 118, 16, 13, 28, 0, 0, 0, 0, 11, 1, 0, 0, 2, 84, - 118, 24, 13, 28, 0, 0, 0, 0, 11, 1, 0, 0, 2, 85, 118, 28, 13, 28, 0, 0, 0, 0, 220, 96, 0, 0, 2, - 86, 118, 32, 13, 28, 0, 0, 0, 0, 11, 1, 0, 0, 2, 87, 118, 40, 13, 28, 0, 0, 0, 0, 11, 1, 0, 0, - 2, 88, 118, 44, 13, 28, 0, 0, 0, 0, 127, 29, 0, 0, 2, 89, 118, 48, 13, 28, 0, 0, 0, 0, 5, 49, - 0, 0, 2, 90, 118, 56, 13, 28, 0, 0, 0, 0, 11, 1, 0, 0, 2, 91, 118, 60, 13, 0, 33, 64, 141, 0, - 0, 0, 0, 0, 0, 2, 41, 103, 20, 0, 0, 0, 0, 32, 2, 21, 18, 21, 0, 0, 0, 0, 155, 134, 0, 0, 2, - 22, 18, 0, 21, 0, 0, 0, 0, 113, 141, 0, 0, 2, 23, 18, 16, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 24, - 18, 24, 0, 33, 125, 141, 0, 0, 0, 0, 0, 0, 2, 19, 18, 9, 130, 141, 0, 0, 32, 14, 255, 0, 0, 0, - 0, 3, 149, 141, 0, 0, 4, 82, 0, 0, 0, 2, 0, 20, 0, 0, 0, 0, 48, 2, 188, 117, 21, 0, 0, 0, 0, - 11, 1, 0, 0, 2, 189, 117, 0, 21, 0, 0, 0, 0, 185, 141, 0, 0, 2, 190, 117, 8, 0, 3, 197, 141, 0, - 0, 4, 82, 0, 0, 0, 5, 0, 20, 0, 0, 0, 0, 8, 2, 183, 117, 34, 0, 0, 0, 0, 127, 29, 0, 0, 2, 184, - 117, 8, 11, 53, 0, 34, 0, 0, 0, 0, 127, 29, 0, 0, 2, 185, 117, 8, 53, 0, 0, 0, 27, 0, 0, 0, 0, - 192, 1, 2, 248, 115, 21, 0, 0, 0, 0, 27, 144, 0, 0, 2, 249, 115, 0, 21, 0, 0, 0, 0, 11, 1, 0, - 0, 2, 250, 115, 16, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 251, 115, 20, 21, 0, 0, 0, 0, 11, 1, 0, 0, - 2, 252, 115, 24, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 253, 115, 32, 21, 0, 0, 0, 0, 136, 68, 0, 0, - 2, 254, 115, 40, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 255, 115, 48, 21, 0, 0, 0, 0, 136, 68, 0, 0, - 2, 0, 116, 56, 21, 0, 0, 0, 0, 63, 144, 0, 0, 2, 1, 116, 64, 21, 0, 0, 0, 0, 99, 144, 0, 0, 2, - 2, 116, 80, 21, 0, 0, 0, 0, 99, 144, 0, 0, 2, 3, 116, 88, 21, 0, 0, 0, 0, 99, 144, 0, 0, 2, 4, - 116, 96, 21, 0, 0, 0, 0, 99, 144, 0, 0, 2, 5, 116, 104, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 6, 116, - 112, 21, 0, 0, 0, 0, 183, 146, 0, 0, 2, 9, 116, 128, 21, 0, 0, 0, 0, 201, 142, 0, 0, 2, 20, - 116, 192, 24, 64, 2, 10, 116, 21, 0, 0, 0, 0, 231, 97, 0, 0, 2, 11, 116, 0, 21, 0, 0, 0, 0, - 168, 0, 0, 0, 2, 12, 116, 4, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 13, 116, 8, 21, 0, 0, 0, 0, 127, - 29, 0, 0, 2, 14, 116, 16, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 15, 116, 24, 0, 28, 0, 0, 0, 0, - 127, 29, 0, 0, 2, 21, 116, 0, 1, 28, 0, 0, 0, 0, 248, 0, 0, 0, 2, 22, 116, 8, 1, 28, 0, 0, 0, - 0, 248, 0, 0, 0, 2, 23, 116, 16, 1, 28, 0, 0, 0, 0, 127, 29, 0, 0, 2, 24, 116, 24, 1, 28, 0, 0, - 0, 0, 136, 68, 0, 0, 2, 25, 116, 32, 1, 28, 0, 0, 0, 0, 99, 144, 0, 0, 2, 26, 116, 40, 1, 28, - 0, 0, 0, 0, 126, 136, 0, 0, 2, 27, 116, 48, 1, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 28, 116, 56, 1, - 28, 0, 0, 0, 0, 227, 28, 0, 0, 2, 29, 116, 64, 1, 28, 0, 0, 0, 0, 90, 147, 0, 0, 2, 30, 116, - 80, 1, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 31, 116, 88, 1, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 32, - 116, 92, 1, 28, 0, 0, 0, 0, 111, 97, 0, 0, 2, 33, 116, 96, 1, 28, 0, 0, 0, 0, 136, 68, 0, 0, 2, - 34, 116, 104, 1, 28, 0, 0, 0, 0, 136, 68, 0, 0, 2, 35, 116, 112, 1, 28, 0, 0, 0, 0, 136, 68, 0, - 0, 2, 36, 116, 120, 1, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 37, 116, 128, 1, 28, 0, 0, 0, 0, 168, - 0, 0, 0, 2, 38, 116, 132, 1, 28, 0, 0, 0, 0, 227, 28, 0, 0, 2, 39, 116, 136, 1, 0, 20, 0, 0, 0, - 0, 16, 2, 108, 1, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 109, 1, 0, 21, 0, 0, 0, 0, 125, 68, 0, 0, - 2, 110, 1, 8, 0, 20, 0, 0, 0, 0, 16, 2, 44, 2, 21, 0, 0, 0, 0, 220, 96, 0, 0, 2, 45, 2, 0, 21, - 0, 0, 0, 0, 135, 40, 0, 0, 2, 46, 2, 8, 0, 9, 104, 144, 0, 0, 27, 0, 0, 0, 0, 192, 1, 2, 168, - 1, 21, 0, 0, 0, 0, 27, 144, 0, 0, 2, 169, 1, 0, 21, 0, 0, 0, 0, 86, 40, 0, 0, 2, 170, 1, 16, - 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 171, 1, 40, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 172, 1, 56, 21, - 0, 0, 0, 0, 136, 68, 0, 0, 2, 173, 1, 64, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 174, 1, 72, 21, 0, - 0, 0, 0, 136, 68, 0, 0, 2, 175, 1, 80, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 176, 1, 88, 21, 0, 0, - 0, 0, 136, 68, 0, 0, 2, 177, 1, 96, 21, 0, 0, 0, 0, 73, 145, 0, 0, 2, 178, 1, 104, 28, 0, 0, 0, - 0, 168, 0, 0, 0, 2, 179, 1, 64, 1, 28, 0, 0, 0, 0, 99, 144, 0, 0, 2, 180, 1, 72, 1, 28, 0, 0, - 0, 0, 178, 146, 0, 0, 2, 181, 1, 80, 1, 28, 0, 0, 0, 0, 178, 146, 0, 0, 2, 182, 1, 88, 1, 28, - 0, 0, 0, 0, 127, 29, 0, 0, 2, 183, 1, 96, 1, 28, 0, 0, 0, 0, 183, 146, 0, 0, 2, 187, 1, 128, 1, - 0, 20, 0, 0, 0, 0, 216, 2, 119, 1, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 120, 1, 0, 21, 0, 0, 0, 0, - 136, 68, 0, 0, 2, 121, 1, 8, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 122, 1, 16, 21, 0, 0, 0, 0, 136, - 68, 0, 0, 2, 123, 1, 24, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 124, 1, 32, 21, 0, 0, 0, 0, 136, 68, - 0, 0, 2, 125, 1, 40, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 126, 1, 48, 21, 0, 0, 0, 0, 136, 68, 0, - 0, 2, 127, 1, 56, 21, 0, 0, 0, 0, 111, 97, 0, 0, 2, 128, 1, 64, 21, 0, 0, 0, 0, 136, 68, 0, 0, - 2, 129, 1, 72, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 130, 1, 80, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, - 131, 1, 88, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 132, 1, 96, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, - 133, 1, 104, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 134, 1, 112, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, - 135, 1, 120, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 136, 1, 128, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, - 137, 1, 136, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 138, 1, 144, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, - 139, 1, 152, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 140, 1, 160, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, - 141, 1, 168, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 142, 1, 176, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, - 143, 1, 184, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 144, 1, 192, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, - 145, 1, 200, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 146, 1, 208, 0, 9, 239, 141, 0, 0, 20, 0, 0, 0, - 0, 64, 2, 154, 1, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 155, 1, 0, 21, 0, 0, 0, 0, 136, 68, 0, 0, - 2, 156, 1, 8, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 157, 1, 16, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, - 158, 1, 24, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 159, 1, 28, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, - 160, 1, 32, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 161, 1, 40, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, - 162, 1, 48, 21, 0, 0, 0, 0, 54, 147, 0, 0, 2, 163, 1, 56, 0, 20, 0, 0, 0, 0, 8, 2, 149, 1, 21, - 0, 0, 0, 0, 11, 1, 0, 0, 2, 150, 1, 0, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 151, 1, 4, 0, 9, 95, - 147, 0, 0, 27, 0, 0, 0, 0, 128, 2, 2, 65, 116, 21, 0, 0, 0, 0, 69, 148, 0, 0, 2, 66, 116, 0, - 21, 0, 0, 0, 0, 233, 55, 1, 0, 2, 67, 116, 200, 21, 0, 0, 0, 0, 238, 55, 1, 0, 2, 68, 116, 208, - 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 69, 116, 216, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 70, 116, 224, - 28, 0, 0, 0, 0, 71, 97, 0, 0, 2, 75, 116, 0, 1, 28, 0, 0, 0, 0, 65, 29, 0, 0, 2, 76, 116, 8, 1, - 28, 0, 0, 0, 0, 227, 28, 0, 0, 2, 77, 116, 24, 1, 28, 0, 0, 0, 0, 90, 147, 0, 0, 2, 78, 116, - 40, 1, 28, 0, 0, 0, 0, 227, 28, 0, 0, 2, 79, 116, 48, 1, 28, 0, 0, 0, 0, 227, 28, 0, 0, 2, 80, - 116, 64, 1, 28, 0, 0, 0, 0, 243, 55, 1, 0, 2, 81, 116, 80, 1, 28, 0, 0, 0, 0, 67, 56, 1, 0, 2, - 82, 116, 88, 1, 28, 0, 0, 0, 0, 16, 57, 1, 0, 2, 83, 116, 48, 2, 28, 0, 0, 0, 0, 28, 57, 1, 0, - 2, 84, 116, 56, 2, 28, 0, 0, 0, 0, 28, 57, 1, 0, 2, 85, 116, 64, 2, 0, 20, 0, 0, 0, 0, 200, 2, - 176, 21, 21, 0, 0, 0, 0, 248, 148, 0, 0, 2, 177, 21, 0, 21, 0, 0, 0, 0, 102, 50, 1, 0, 2, 178, - 21, 8, 21, 0, 0, 0, 0, 153, 0, 1, 0, 2, 179, 21, 16, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 180, 21, - 32, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 181, 21, 48, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 182, 21, - 64, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 183, 21, 80, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 184, 21, 84, - 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 185, 21, 88, 21, 0, 0, 0, 0, 176, 64, 0, 0, 2, 186, 21, 96, - 21, 0, 0, 0, 0, 156, 163, 0, 0, 2, 187, 21, 104, 21, 0, 0, 0, 0, 184, 55, 1, 0, 2, 188, 21, - 136, 21, 0, 0, 0, 0, 8, 162, 0, 0, 2, 189, 21, 192, 0, 9, 253, 148, 0, 0, 27, 0, 0, 0, 0, 56, - 9, 2, 118, 24, 21, 0, 0, 0, 0, 69, 148, 0, 0, 2, 119, 24, 0, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, - 120, 24, 200, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 121, 24, 208, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, - 122, 24, 212, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 123, 24, 216, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, - 124, 24, 220, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 125, 24, 224, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, - 126, 24, 228, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 127, 24, 232, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, - 128, 24, 236, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 129, 24, 240, 21, 0, 0, 0, 0, 16, 151, 0, 0, 2, - 130, 24, 248, 28, 0, 0, 0, 0, 124, 161, 0, 0, 2, 131, 24, 0, 1, 28, 0, 0, 0, 0, 124, 161, 0, 0, - 2, 132, 24, 56, 1, 28, 0, 0, 0, 0, 177, 69, 0, 0, 2, 133, 24, 112, 1, 28, 0, 0, 0, 0, 177, 69, - 0, 0, 2, 134, 24, 114, 1, 28, 0, 0, 0, 0, 177, 69, 0, 0, 2, 135, 24, 116, 1, 28, 0, 0, 0, 0, - 177, 69, 0, 0, 2, 136, 24, 118, 1, 28, 0, 0, 0, 0, 252, 161, 0, 0, 2, 137, 24, 120, 1, 28, 0, - 0, 0, 0, 13, 162, 0, 0, 2, 138, 24, 232, 1, 28, 0, 0, 0, 0, 227, 28, 0, 0, 2, 139, 24, 240, 1, - 28, 0, 0, 0, 0, 190, 162, 0, 0, 2, 140, 24, 0, 2, 28, 0, 0, 0, 0, 248, 148, 0, 0, 2, 141, 24, - 224, 2, 28, 0, 0, 0, 0, 248, 148, 0, 0, 2, 142, 24, 232, 2, 28, 0, 0, 0, 0, 202, 162, 0, 0, 2, - 143, 24, 240, 2, 28, 0, 0, 0, 0, 227, 28, 0, 0, 2, 144, 24, 248, 2, 28, 0, 0, 0, 0, 35, 163, 0, - 0, 2, 145, 24, 8, 3, 28, 0, 0, 0, 0, 35, 163, 0, 0, 2, 146, 24, 32, 3, 28, 0, 0, 0, 0, 107, - 163, 0, 0, 2, 147, 24, 56, 3, 28, 0, 0, 0, 0, 227, 28, 0, 0, 2, 148, 24, 80, 3, 28, 0, 0, 0, 0, - 241, 106, 0, 0, 2, 149, 24, 96, 3, 28, 0, 0, 0, 0, 47, 107, 0, 0, 2, 150, 24, 128, 3, 28, 0, 0, - 0, 0, 156, 163, 0, 0, 2, 151, 24, 152, 3, 28, 0, 0, 0, 0, 234, 163, 0, 0, 2, 152, 24, 184, 3, - 28, 0, 0, 0, 0, 36, 246, 0, 0, 2, 153, 24, 80, 6, 28, 0, 0, 0, 0, 176, 64, 0, 0, 2, 154, 24, - 32, 9, 28, 0, 0, 0, 0, 28, 50, 1, 0, 2, 155, 24, 36, 9, 28, 0, 0, 0, 0, 90, 50, 1, 0, 2, 156, - 24, 56, 9, 0, 9, 21, 151, 0, 0, 20, 0, 0, 0, 0, 128, 2, 244, 19, 21, 0, 0, 0, 0, 176, 64, 0, 0, - 2, 245, 19, 0, 21, 0, 0, 0, 0, 176, 64, 0, 0, 2, 246, 19, 4, 21, 0, 0, 0, 0, 16, 151, 0, 0, 2, - 247, 19, 8, 21, 0, 0, 0, 0, 14, 29, 0, 0, 2, 248, 19, 16, 21, 0, 0, 0, 0, 86, 40, 0, 0, 2, 249, - 19, 24, 21, 0, 0, 0, 0, 56, 1, 0, 0, 2, 250, 19, 48, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 251, 19, - 56, 22, 130, 151, 0, 0, 2, 252, 19, 64, 23, 32, 2, 252, 19, 21, 0, 0, 0, 0, 241, 151, 0, 0, 2, - 253, 19, 0, 21, 0, 0, 0, 0, 214, 153, 0, 0, 2, 254, 19, 0, 21, 0, 0, 0, 0, 237, 153, 0, 0, 2, - 255, 19, 0, 0, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 1, 20, 96, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 2, - 20, 104, 21, 0, 0, 0, 0, 225, 48, 0, 0, 2, 3, 20, 112, 21, 0, 0, 0, 0, 213, 63, 0, 0, 2, 4, 20, - 114, 21, 0, 0, 0, 0, 189, 160, 0, 0, 2, 5, 20, 120, 0, 20, 0, 0, 0, 0, 32, 2, 205, 19, 21, 0, - 0, 0, 0, 127, 29, 0, 0, 2, 206, 19, 0, 21, 0, 0, 0, 0, 220, 96, 0, 0, 2, 207, 19, 8, 21, 0, 0, - 0, 0, 47, 152, 0, 0, 2, 208, 19, 16, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 209, 19, 24, 0, 9, 52, - 152, 0, 0, 20, 0, 0, 0, 0, 96, 2, 216, 19, 21, 0, 0, 0, 0, 16, 151, 0, 0, 2, 217, 19, 0, 21, 0, - 0, 0, 0, 11, 1, 0, 0, 2, 218, 19, 8, 21, 0, 0, 0, 0, 166, 152, 0, 0, 2, 219, 19, 16, 21, 0, 0, - 0, 0, 125, 68, 0, 0, 2, 220, 19, 40, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 221, 19, 44, 21, 0, 0, - 0, 0, 19, 153, 0, 0, 2, 222, 19, 48, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 223, 19, 56, 21, 0, 0, - 0, 0, 47, 107, 0, 0, 2, 224, 19, 72, 0, 20, 0, 0, 0, 0, 24, 2, 197, 19, 21, 0, 0, 0, 0, 215, - 152, 0, 0, 2, 198, 19, 0, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 199, 19, 16, 21, 0, 0, 0, 0, 11, 1, - 0, 0, 2, 200, 19, 20, 0, 20, 0, 0, 0, 0, 16, 2, 55, 8, 21, 0, 0, 0, 0, 248, 68, 0, 0, 2, 56, 8, - 0, 21, 0, 0, 0, 0, 8, 153, 0, 0, 2, 57, 8, 4, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 58, 8, 8, 0, 12, - 11, 1, 0, 0, 0, 0, 0, 0, 2, 97, 9, 24, 153, 0, 0, 20, 0, 0, 0, 0, 40, 2, 25, 20, 21, 0, 0, 0, - 0, 99, 153, 0, 0, 2, 26, 20, 0, 21, 0, 0, 0, 0, 120, 153, 0, 0, 2, 27, 20, 8, 21, 0, 0, 0, 0, - 146, 153, 0, 0, 2, 28, 20, 16, 21, 0, 0, 0, 0, 162, 153, 0, 0, 2, 29, 20, 24, 21, 0, 0, 0, 0, - 188, 153, 0, 0, 2, 30, 20, 32, 0, 9, 104, 153, 0, 0, 13, 168, 0, 0, 0, 14, 71, 114, 0, 0, 14, - 47, 152, 0, 0, 0, 9, 125, 153, 0, 0, 13, 168, 0, 0, 0, 14, 16, 151, 0, 0, 14, 14, 29, 0, 0, 14, - 213, 63, 0, 0, 0, 9, 151, 153, 0, 0, 13, 168, 0, 0, 0, 14, 16, 151, 0, 0, 0, 9, 167, 153, 0, 0, - 13, 168, 0, 0, 0, 14, 16, 151, 0, 0, 14, 16, 151, 0, 0, 14, 14, 29, 0, 0, 0, 9, 193, 153, 0, 0, - 13, 168, 0, 0, 0, 14, 71, 114, 0, 0, 14, 16, 151, 0, 0, 14, 47, 152, 0, 0, 0, 20, 0, 0, 0, 0, - 8, 2, 227, 19, 21, 0, 0, 0, 0, 16, 151, 0, 0, 2, 228, 19, 0, 0, 20, 0, 0, 0, 0, 32, 2, 235, 19, - 21, 0, 0, 0, 0, 43, 154, 0, 0, 2, 236, 19, 0, 21, 0, 0, 0, 0, 122, 160, 0, 0, 2, 237, 19, 8, - 21, 0, 0, 0, 0, 29, 75, 0, 0, 2, 238, 19, 16, 21, 0, 0, 0, 0, 16, 151, 0, 0, 2, 239, 19, 24, 0, - 9, 48, 154, 0, 0, 26, 53, 154, 0, 0, 20, 0, 0, 0, 0, 96, 2, 10, 20, 21, 0, 0, 0, 0, 219, 154, - 0, 0, 2, 11, 20, 0, 21, 0, 0, 0, 0, 202, 159, 0, 0, 2, 12, 20, 8, 21, 0, 0, 0, 0, 127, 115, 0, - 0, 2, 13, 20, 16, 21, 0, 0, 0, 0, 58, 115, 0, 0, 2, 14, 20, 24, 21, 0, 0, 0, 0, 101, 115, 0, 0, - 2, 15, 20, 32, 21, 0, 0, 0, 0, 84, 115, 0, 0, 2, 16, 20, 40, 21, 0, 0, 0, 0, 214, 159, 0, 0, 2, - 17, 20, 48, 21, 0, 0, 0, 0, 140, 55, 0, 0, 2, 18, 20, 56, 21, 0, 0, 0, 0, 219, 52, 0, 0, 2, 19, - 20, 64, 21, 0, 0, 0, 0, 214, 159, 0, 0, 2, 20, 20, 72, 21, 0, 0, 0, 0, 245, 159, 0, 0, 2, 21, - 20, 80, 21, 0, 0, 0, 0, 101, 160, 0, 0, 2, 22, 20, 88, 0, 9, 224, 154, 0, 0, 13, 168, 0, 0, 0, - 14, 235, 154, 0, 0, 0, 9, 240, 154, 0, 0, 20, 0, 0, 0, 0, 152, 2, 48, 20, 21, 0, 0, 0, 0, 16, - 151, 0, 0, 2, 49, 20, 0, 21, 0, 0, 0, 0, 69, 80, 0, 0, 2, 50, 20, 8, 21, 0, 0, 0, 0, 71, 114, - 0, 0, 2, 51, 20, 16, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 52, 20, 24, 21, 0, 0, 0, 0, 241, 106, 0, - 0, 2, 53, 20, 32, 21, 0, 0, 0, 0, 241, 106, 0, 0, 2, 54, 20, 64, 21, 0, 0, 0, 0, 168, 0, 0, 0, - 2, 55, 20, 96, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 56, 20, 104, 21, 0, 0, 0, 0, 199, 53, 0, 0, 2, - 57, 20, 120, 21, 0, 0, 0, 0, 140, 55, 0, 0, 2, 58, 20, 128, 34, 0, 0, 0, 0, 219, 52, 0, 0, 2, - 59, 20, 1, 1, 7, 136, 34, 0, 0, 0, 0, 219, 52, 0, 0, 2, 60, 20, 1, 1, 6, 136, 21, 0, 0, 0, 0, - 169, 155, 0, 0, 2, 61, 20, 144, 0, 9, 174, 155, 0, 0, 26, 179, 155, 0, 0, 20, 0, 0, 0, 0, 128, - 2, 204, 8, 21, 0, 0, 0, 0, 141, 156, 0, 0, 2, 205, 8, 0, 21, 0, 0, 0, 0, 141, 156, 0, 0, 2, - 206, 8, 8, 21, 0, 0, 0, 0, 153, 156, 0, 0, 2, 207, 8, 16, 21, 0, 0, 0, 0, 174, 156, 0, 0, 2, - 208, 8, 24, 21, 0, 0, 0, 0, 190, 156, 0, 0, 2, 209, 8, 32, 21, 0, 0, 0, 0, 221, 156, 0, 0, 2, - 210, 8, 40, 21, 0, 0, 0, 0, 125, 158, 0, 0, 2, 211, 8, 48, 21, 0, 0, 0, 0, 146, 158, 0, 0, 2, - 212, 8, 56, 21, 0, 0, 0, 0, 172, 158, 0, 0, 2, 213, 8, 64, 21, 0, 0, 0, 0, 221, 156, 0, 0, 2, - 214, 8, 72, 21, 0, 0, 0, 0, 221, 156, 0, 0, 2, 215, 8, 80, 21, 0, 0, 0, 0, 188, 158, 0, 0, 2, - 216, 8, 88, 21, 0, 0, 0, 0, 224, 158, 0, 0, 2, 217, 8, 96, 21, 0, 0, 0, 0, 240, 158, 0, 0, 2, - 218, 8, 104, 21, 0, 0, 0, 0, 160, 159, 0, 0, 2, 219, 8, 112, 21, 0, 0, 0, 0, 181, 159, 0, 0, 2, - 220, 8, 120, 0, 9, 146, 156, 0, 0, 32, 14, 66, 92, 0, 0, 0, 9, 158, 156, 0, 0, 13, 168, 0, 0, - 0, 14, 66, 92, 0, 0, 14, 127, 29, 0, 0, 0, 9, 179, 156, 0, 0, 13, 168, 0, 0, 0, 14, 66, 92, 0, - 0, 0, 9, 195, 156, 0, 0, 13, 168, 0, 0, 0, 14, 66, 92, 0, 0, 14, 127, 29, 0, 0, 14, 127, 29, 0, - 0, 14, 127, 29, 0, 0, 0, 9, 226, 156, 0, 0, 13, 237, 156, 0, 0, 14, 249, 156, 0, 0, 0, 33, 11, - 1, 0, 0, 0, 0, 0, 0, 2, 194, 8, 9, 254, 156, 0, 0, 20, 0, 0, 0, 0, 104, 2, 247, 8, 22, 16, 157, - 0, 0, 2, 248, 8, 0, 24, 32, 2, 248, 8, 21, 0, 0, 0, 0, 66, 92, 0, 0, 2, 249, 8, 0, 21, 0, 0, 0, - 0, 8, 153, 0, 0, 2, 250, 8, 8, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 251, 8, 16, 21, 0, 0, 0, 0, - 127, 29, 0, 0, 2, 252, 8, 24, 0, 21, 0, 0, 0, 0, 12, 2, 0, 0, 2, 254, 8, 32, 21, 0, 0, 0, 0, - 220, 157, 0, 0, 2, 255, 8, 40, 21, 0, 0, 0, 0, 12, 158, 0, 0, 2, 0, 9, 48, 22, 122, 157, 0, 0, - 2, 1, 9, 56, 23, 8, 2, 1, 9, 21, 0, 0, 0, 0, 60, 158, 0, 0, 2, 2, 9, 0, 21, 0, 0, 0, 0, 225, - 157, 0, 0, 2, 3, 9, 0, 0, 21, 0, 0, 0, 0, 68, 56, 0, 0, 2, 5, 9, 64, 21, 0, 0, 0, 0, 68, 56, 0, - 0, 2, 6, 9, 72, 21, 0, 0, 0, 0, 103, 158, 0, 0, 2, 7, 9, 80, 21, 0, 0, 0, 0, 108, 158, 0, 0, 2, - 8, 9, 88, 21, 0, 0, 0, 0, 113, 158, 0, 0, 2, 9, 9, 96, 0, 9, 225, 157, 0, 0, 33, 237, 157, 0, - 0, 0, 0, 0, 0, 2, 39, 6, 24, 8, 2, 37, 6, 21, 0, 0, 0, 0, 0, 158, 0, 0, 2, 38, 6, 0, 0, 33, - 127, 29, 0, 0, 0, 0, 0, 0, 2, 5, 6, 9, 17, 158, 0, 0, 33, 29, 158, 0, 0, 0, 0, 0, 0, 2, 35, 6, - 24, 8, 2, 33, 6, 21, 0, 0, 0, 0, 48, 158, 0, 0, 2, 34, 6, 0, 0, 33, 127, 29, 0, 0, 0, 0, 0, 0, - 2, 7, 6, 33, 72, 158, 0, 0, 0, 0, 0, 0, 2, 17, 6, 24, 8, 2, 15, 6, 21, 0, 0, 0, 0, 91, 158, 0, - 0, 2, 16, 6, 0, 0, 33, 127, 29, 0, 0, 0, 0, 0, 0, 2, 3, 6, 9, 60, 158, 0, 0, 9, 248, 68, 0, 0, - 33, 68, 56, 0, 0, 0, 0, 0, 0, 2, 41, 6, 9, 130, 158, 0, 0, 13, 237, 156, 0, 0, 14, 249, 156, 0, - 0, 14, 89, 2, 0, 0, 0, 9, 151, 158, 0, 0, 13, 237, 156, 0, 0, 14, 249, 156, 0, 0, 14, 127, 29, - 0, 0, 14, 127, 29, 0, 0, 0, 9, 177, 158, 0, 0, 13, 127, 29, 0, 0, 14, 66, 92, 0, 0, 0, 9, 193, - 158, 0, 0, 13, 168, 0, 0, 0, 14, 66, 92, 0, 0, 14, 127, 29, 0, 0, 14, 255, 0, 0, 0, 14, 168, 0, - 0, 0, 14, 168, 0, 0, 0, 0, 9, 229, 158, 0, 0, 13, 14, 29, 0, 0, 14, 66, 92, 0, 0, 0, 9, 245, - 158, 0, 0, 13, 168, 0, 0, 0, 14, 66, 92, 0, 0, 14, 5, 159, 0, 0, 0, 9, 10, 159, 0, 0, 20, 0, 0, - 0, 0, 24, 2, 160, 18, 21, 0, 0, 0, 0, 176, 64, 0, 0, 2, 161, 18, 0, 21, 0, 0, 0, 0, 225, 48, 0, - 0, 2, 162, 18, 4, 21, 0, 0, 0, 0, 225, 48, 0, 0, 2, 163, 18, 6, 21, 0, 0, 0, 0, 117, 159, 0, 0, - 2, 164, 18, 8, 21, 0, 0, 0, 0, 84, 159, 0, 0, 2, 168, 18, 16, 23, 8, 2, 165, 18, 21, 0, 0, 0, - 0, 117, 159, 0, 0, 2, 166, 18, 0, 21, 0, 0, 0, 0, 117, 159, 0, 0, 2, 167, 18, 0, 0, 0, 33, 129, - 159, 0, 0, 0, 0, 0, 0, 2, 123, 2, 24, 8, 2, 121, 2, 21, 0, 0, 0, 0, 148, 159, 0, 0, 2, 122, 2, - 0, 0, 3, 127, 29, 0, 0, 4, 82, 0, 0, 0, 1, 0, 9, 165, 159, 0, 0, 13, 5, 159, 0, 0, 14, 66, 92, - 0, 0, 14, 127, 29, 0, 0, 0, 9, 186, 159, 0, 0, 13, 68, 56, 0, 0, 14, 66, 92, 0, 0, 14, 127, 29, - 0, 0, 0, 9, 207, 159, 0, 0, 32, 14, 235, 154, 0, 0, 0, 9, 219, 159, 0, 0, 13, 136, 90, 0, 0, - 14, 235, 154, 0, 0, 14, 199, 53, 0, 0, 14, 140, 55, 0, 0, 14, 29, 75, 0, 0, 0, 9, 250, 159, 0, - 0, 13, 10, 160, 0, 0, 14, 235, 154, 0, 0, 14, 21, 160, 0, 0, 0, 12, 11, 1, 0, 0, 0, 0, 0, 0, 2, - 65, 9, 26, 160, 0, 0, 20, 0, 0, 0, 0, 16, 2, 66, 20, 21, 0, 0, 0, 0, 62, 160, 0, 0, 2, 67, 20, - 0, 21, 0, 0, 0, 0, 10, 160, 0, 0, 2, 68, 20, 8, 0, 33, 74, 160, 0, 0, 0, 0, 0, 0, 2, 64, 20, 9, - 79, 160, 0, 0, 32, 14, 69, 80, 0, 0, 14, 96, 160, 0, 0, 14, 21, 160, 0, 0, 0, 9, 47, 107, 0, 0, - 9, 106, 160, 0, 0, 13, 168, 0, 0, 0, 14, 235, 154, 0, 0, 14, 66, 92, 0, 0, 0, 9, 127, 160, 0, - 0, 20, 0, 0, 0, 0, 48, 2, 59, 211, 21, 0, 0, 0, 0, 176, 64, 0, 0, 2, 60, 211, 0, 21, 0, 0, 0, - 0, 176, 64, 0, 0, 2, 61, 211, 4, 21, 0, 0, 0, 0, 47, 107, 0, 0, 2, 62, 211, 8, 21, 0, 0, 0, 0, - 227, 28, 0, 0, 2, 63, 211, 32, 0, 9, 194, 160, 0, 0, 20, 0, 0, 0, 0, 88, 2, 29, 211, 21, 0, 0, - 0, 0, 224, 63, 0, 0, 2, 30, 211, 0, 21, 0, 0, 0, 0, 21, 64, 0, 0, 2, 31, 211, 4, 21, 0, 0, 0, - 0, 52, 161, 0, 0, 2, 32, 211, 8, 21, 0, 0, 0, 0, 52, 161, 0, 0, 2, 33, 211, 24, 21, 0, 0, 0, 0, - 52, 161, 0, 0, 2, 34, 211, 40, 21, 0, 0, 0, 0, 88, 161, 0, 0, 2, 35, 211, 56, 21, 0, 0, 0, 0, - 176, 64, 0, 0, 2, 36, 211, 80, 21, 0, 0, 0, 0, 176, 64, 0, 0, 2, 37, 211, 84, 0, 20, 0, 0, 0, - 0, 16, 2, 31, 1, 21, 0, 0, 0, 0, 245, 110, 0, 0, 2, 32, 1, 0, 21, 0, 0, 0, 0, 248, 0, 0, 0, 2, - 33, 1, 8, 0, 20, 0, 0, 0, 0, 24, 2, 134, 177, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 135, 177, 0, - 21, 0, 0, 0, 0, 248, 68, 0, 0, 2, 136, 177, 16, 0, 20, 0, 0, 0, 0, 56, 2, 225, 21, 21, 0, 0, 0, - 0, 16, 151, 0, 0, 2, 226, 21, 0, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 227, 21, 8, 21, 0, 0, 0, 0, - 173, 161, 0, 0, 2, 228, 21, 16, 0, 20, 0, 0, 0, 0, 40, 2, 55, 18, 21, 0, 0, 0, 0, 184, 28, 0, - 0, 2, 56, 18, 0, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 57, 18, 16, 21, 0, 0, 0, 0, 235, 161, 0, 0, - 2, 58, 18, 24, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 59, 18, 32, 0, 9, 240, 161, 0, 0, 32, 14, 247, - 161, 0, 0, 0, 9, 173, 161, 0, 0, 3, 8, 162, 0, 0, 4, 82, 0, 0, 0, 14, 0, 9, 69, 148, 0, 0, 9, - 18, 162, 0, 0, 27, 0, 0, 0, 0, 176, 25, 2, 234, 29, 21, 0, 0, 0, 0, 47, 152, 0, 0, 2, 235, 29, - 0, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 236, 29, 8, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 237, 29, 12, - 21, 0, 0, 0, 0, 253, 148, 0, 0, 2, 238, 29, 16, 28, 0, 0, 0, 0, 136, 68, 0, 0, 2, 239, 29, 72, - 9, 28, 0, 0, 0, 0, 176, 64, 0, 0, 2, 240, 29, 80, 9, 28, 0, 0, 0, 0, 227, 28, 0, 0, 2, 241, 29, - 88, 9, 28, 0, 0, 0, 0, 11, 1, 0, 0, 2, 242, 29, 104, 9, 28, 0, 0, 0, 0, 165, 162, 0, 0, 2, 243, - 29, 108, 9, 28, 0, 0, 0, 0, 178, 162, 0, 0, 2, 244, 29, 108, 25, 0, 3, 75, 0, 0, 0, 39, 82, 0, - 0, 0, 0, 16, 0, 3, 75, 0, 0, 0, 4, 82, 0, 0, 0, 64, 0, 3, 227, 28, 0, 0, 4, 82, 0, 0, 0, 14, 0, - 9, 207, 162, 0, 0, 20, 0, 0, 0, 0, 64, 2, 226, 29, 21, 0, 0, 0, 0, 26, 163, 0, 0, 2, 227, 29, - 0, 21, 0, 0, 0, 0, 35, 163, 0, 0, 2, 228, 29, 0, 21, 0, 0, 0, 0, 35, 163, 0, 0, 2, 229, 29, 24, - 21, 0, 0, 0, 0, 248, 148, 0, 0, 2, 230, 29, 48, 21, 0, 0, 0, 0, 248, 148, 0, 0, 2, 231, 29, 56, - 0, 46, 0, 0, 0, 0, 0, 2, 129, 29, 20, 0, 0, 0, 0, 24, 2, 68, 24, 21, 0, 0, 0, 0, 58, 163, 0, 0, - 2, 69, 24, 0, 0, 20, 0, 0, 0, 0, 24, 2, 118, 22, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 119, 22, 0, - 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 120, 22, 8, 21, 0, 0, 0, 0, 208, 0, 0, 0, 2, 121, 22, 16, 0, - 20, 0, 0, 0, 0, 24, 2, 34, 2, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 35, 2, 0, 21, 0, 0, 0, 0, 136, - 68, 0, 0, 2, 36, 2, 8, 21, 0, 0, 0, 0, 231, 97, 0, 0, 2, 37, 2, 16, 0, 20, 0, 0, 0, 0, 32, 2, - 22, 7, 21, 0, 0, 0, 0, 71, 97, 0, 0, 2, 23, 7, 0, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 24, 7, 8, - 21, 0, 0, 0, 0, 205, 163, 0, 0, 2, 25, 7, 24, 0, 33, 217, 163, 0, 0, 0, 0, 0, 0, 2, 20, 7, 9, - 222, 163, 0, 0, 32, 14, 229, 163, 0, 0, 0, 9, 156, 163, 0, 0, 27, 0, 0, 0, 0, 152, 2, 2, 74, - 24, 21, 0, 0, 0, 0, 241, 106, 0, 0, 2, 75, 24, 0, 21, 0, 0, 0, 0, 6, 165, 0, 0, 2, 76, 24, 32, - 21, 0, 0, 0, 0, 135, 165, 0, 0, 2, 77, 24, 40, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 78, 24, 88, - 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 79, 24, 96, 21, 0, 0, 0, 0, 147, 165, 0, 0, 2, 80, 24, 104, - 21, 0, 0, 0, 0, 0, 246, 0, 0, 2, 81, 24, 192, 28, 0, 0, 0, 0, 12, 246, 0, 0, 2, 82, 24, 32, 1, - 28, 0, 0, 0, 0, 130, 120, 0, 0, 2, 83, 24, 176, 1, 28, 0, 0, 0, 0, 173, 161, 0, 0, 2, 84, 24, - 184, 1, 28, 0, 0, 0, 0, 47, 107, 0, 0, 2, 85, 24, 224, 1, 28, 0, 0, 0, 0, 176, 64, 0, 0, 2, 86, - 24, 248, 1, 28, 0, 0, 0, 0, 241, 106, 0, 0, 2, 87, 24, 0, 2, 28, 0, 0, 0, 0, 227, 28, 0, 0, 2, - 88, 24, 32, 2, 28, 0, 0, 0, 0, 24, 246, 0, 0, 2, 89, 24, 48, 2, 28, 0, 0, 0, 0, 125, 68, 0, 0, - 2, 90, 24, 72, 2, 28, 0, 0, 0, 0, 136, 68, 0, 0, 2, 91, 24, 80, 2, 28, 0, 0, 0, 0, 135, 165, 0, - 0, 2, 92, 24, 88, 2, 28, 0, 0, 0, 0, 136, 68, 0, 0, 2, 93, 24, 136, 2, 28, 0, 0, 0, 0, 136, 68, - 0, 0, 2, 94, 24, 144, 2, 0, 9, 11, 165, 0, 0, 20, 0, 0, 0, 0, 128, 2, 179, 29, 21, 0, 0, 0, 0, - 208, 67, 0, 0, 2, 180, 29, 0, 21, 0, 0, 0, 0, 99, 165, 0, 0, 2, 181, 29, 4, 21, 0, 0, 0, 0, - 125, 68, 0, 0, 2, 182, 29, 20, 21, 0, 0, 0, 0, 111, 165, 0, 0, 2, 183, 29, 24, 21, 0, 0, 0, 0, - 136, 68, 0, 0, 2, 184, 29, 56, 21, 0, 0, 0, 0, 123, 165, 0, 0, 2, 185, 29, 64, 0, 3, 11, 1, 0, - 0, 4, 82, 0, 0, 0, 4, 0, 3, 125, 68, 0, 0, 4, 82, 0, 0, 0, 7, 0, 3, 125, 68, 0, 0, 4, 82, 0, 0, - 0, 14, 0, 3, 136, 68, 0, 0, 4, 82, 0, 0, 0, 6, 0, 20, 0, 0, 0, 0, 88, 2, 62, 18, 21, 0, 0, 0, - 0, 156, 163, 0, 0, 2, 63, 18, 0, 21, 0, 0, 0, 0, 173, 161, 0, 0, 2, 64, 18, 32, 21, 0, 0, 0, 0, - 209, 165, 0, 0, 2, 65, 18, 72, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 66, 18, 80, 0, 9, 214, 165, 0, - 0, 27, 0, 0, 0, 0, 64, 1, 2, 204, 113, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 205, 113, 0, 21, 0, 0, - 0, 0, 227, 28, 0, 0, 2, 206, 113, 16, 21, 0, 0, 0, 0, 241, 106, 0, 0, 2, 207, 113, 32, 21, 0, - 0, 0, 0, 168, 0, 0, 0, 2, 208, 113, 64, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 209, 113, 68, 21, 0, - 0, 0, 0, 176, 64, 0, 0, 2, 210, 113, 72, 21, 0, 0, 0, 0, 245, 166, 0, 0, 2, 211, 113, 80, 21, - 0, 0, 0, 0, 227, 28, 0, 0, 2, 212, 113, 88, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 213, 113, 104, - 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 214, 113, 120, 21, 0, 0, 0, 0, 115, 167, 0, 0, 2, 215, 113, - 136, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 216, 113, 144, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 217, 113, - 148, 21, 0, 0, 0, 0, 134, 170, 0, 0, 2, 218, 113, 152, 21, 0, 0, 0, 0, 110, 168, 0, 0, 2, 219, - 113, 160, 21, 0, 0, 0, 0, 15, 171, 0, 0, 2, 220, 113, 168, 21, 0, 0, 0, 0, 3, 171, 0, 0, 2, - 221, 113, 176, 21, 0, 0, 0, 0, 65, 29, 0, 0, 2, 222, 113, 200, 28, 0, 0, 0, 0, 11, 1, 0, 0, 2, - 228, 113, 0, 1, 28, 0, 0, 0, 0, 110, 168, 0, 0, 2, 229, 113, 8, 1, 28, 0, 0, 0, 0, 244, 245, 0, - 0, 2, 230, 113, 16, 1, 0, 9, 250, 166, 0, 0, 20, 0, 0, 0, 0, 56, 2, 127, 114, 21, 0, 0, 0, 0, - 227, 28, 0, 0, 2, 128, 114, 0, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 129, 114, 16, 21, 0, 0, 0, 0, - 43, 167, 0, 0, 2, 130, 114, 24, 0, 20, 0, 0, 0, 0, 32, 2, 240, 7, 21, 0, 0, 0, 0, 11, 1, 0, 0, - 2, 241, 7, 0, 21, 0, 0, 0, 0, 79, 167, 0, 0, 2, 242, 7, 8, 0, 20, 0, 0, 0, 0, 24, 2, 235, 7, - 21, 0, 0, 0, 0, 231, 97, 0, 0, 2, 236, 7, 0, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 237, 7, 8, 0, 9, - 120, 167, 0, 0, 20, 0, 0, 0, 0, 160, 2, 25, 114, 22, 138, 167, 0, 0, 2, 26, 114, 0, 23, 16, 2, - 26, 114, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 27, 114, 0, 21, 0, 0, 0, 0, 184, 28, 0, 0, 2, 28, - 114, 0, 0, 21, 0, 0, 0, 0, 229, 163, 0, 0, 2, 30, 114, 16, 21, 0, 0, 0, 0, 205, 163, 0, 0, 2, - 31, 114, 24, 21, 0, 0, 0, 0, 110, 168, 0, 0, 2, 32, 114, 32, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, - 33, 114, 40, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 34, 114, 48, 21, 0, 0, 0, 0, 130, 120, 0, 0, 2, - 35, 114, 64, 21, 0, 0, 0, 0, 39, 169, 0, 0, 2, 36, 114, 72, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, - 37, 114, 80, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 38, 114, 96, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 39, - 114, 104, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 40, 114, 108, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 41, - 114, 112, 21, 0, 0, 0, 0, 3, 171, 0, 0, 2, 42, 114, 116, 21, 0, 0, 0, 0, 209, 165, 0, 0, 2, 43, - 114, 144, 21, 0, 0, 0, 0, 205, 163, 0, 0, 2, 44, 114, 152, 0, 9, 115, 168, 0, 0, 27, 0, 0, 0, - 0, 0, 1, 2, 47, 114, 21, 0, 0, 0, 0, 39, 169, 0, 0, 2, 48, 114, 0, 21, 0, 0, 0, 0, 209, 165, 0, - 0, 2, 49, 114, 8, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 50, 114, 16, 21, 0, 0, 0, 0, 168, 0, 0, 0, - 2, 51, 114, 20, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 52, 114, 24, 21, 0, 0, 0, 0, 247, 170, 0, 0, - 2, 53, 114, 28, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 54, 114, 92, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, - 55, 114, 96, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 56, 114, 104, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, - 57, 114, 120, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 58, 114, 136, 21, 0, 0, 0, 0, 156, 163, 0, 0, - 2, 59, 114, 152, 21, 0, 0, 0, 0, 65, 29, 0, 0, 2, 60, 114, 184, 0, 9, 44, 169, 0, 0, 27, 0, 0, - 0, 0, 64, 3, 2, 70, 114, 21, 0, 0, 0, 0, 231, 97, 0, 0, 2, 71, 114, 0, 21, 0, 0, 0, 0, 168, 0, - 0, 0, 2, 72, 114, 4, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 73, 114, 8, 21, 0, 0, 0, 0, 168, 0, 0, 0, - 2, 74, 114, 12, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 75, 114, 16, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, - 76, 114, 24, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 77, 114, 32, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, - 78, 114, 48, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 79, 114, 52, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, - 80, 114, 56, 21, 0, 0, 0, 0, 173, 161, 0, 0, 2, 81, 114, 72, 21, 0, 0, 0, 0, 173, 161, 0, 0, 2, - 82, 114, 112, 21, 0, 0, 0, 0, 94, 170, 0, 0, 2, 83, 114, 152, 28, 0, 0, 0, 0, 115, 167, 0, 0, - 2, 84, 114, 152, 2, 28, 0, 0, 0, 0, 227, 28, 0, 0, 2, 85, 114, 160, 2, 28, 0, 0, 0, 0, 106, - 170, 0, 0, 2, 86, 114, 176, 2, 28, 0, 0, 0, 0, 111, 170, 0, 0, 2, 87, 114, 184, 2, 28, 0, 0, 0, - 0, 134, 170, 0, 0, 2, 88, 114, 200, 2, 28, 0, 0, 0, 0, 184, 28, 0, 0, 2, 89, 114, 208, 2, 28, - 0, 0, 0, 0, 168, 0, 0, 0, 2, 90, 114, 224, 2, 28, 0, 0, 0, 0, 176, 64, 0, 0, 2, 95, 114, 0, 3, - 28, 0, 0, 0, 0, 65, 29, 0, 0, 2, 96, 114, 8, 3, 0, 3, 190, 103, 0, 0, 4, 82, 0, 0, 0, 64, 0, 9, - 43, 167, 0, 0, 20, 0, 0, 0, 0, 16, 2, 15, 114, 21, 0, 0, 0, 0, 215, 152, 0, 0, 2, 16, 114, 0, - 0, 9, 139, 170, 0, 0, 20, 0, 0, 0, 0, 56, 2, 239, 113, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 240, - 113, 0, 21, 0, 0, 0, 0, 188, 170, 0, 0, 2, 241, 113, 8, 21, 0, 0, 0, 0, 219, 52, 0, 0, 2, 242, - 113, 48, 0, 33, 200, 170, 0, 0, 0, 0, 0, 0, 2, 98, 16, 3, 212, 170, 0, 0, 4, 82, 0, 0, 0, 1, 0, - 20, 0, 0, 0, 0, 40, 2, 251, 1, 21, 0, 0, 0, 0, 235, 170, 0, 0, 2, 252, 1, 0, 0, 3, 127, 29, 0, - 0, 4, 82, 0, 0, 0, 5, 0, 3, 168, 0, 0, 0, 4, 82, 0, 0, 0, 16, 0, 3, 75, 0, 0, 0, 4, 82, 0, 0, - 0, 24, 0, 9, 20, 171, 0, 0, 27, 0, 0, 0, 0, 248, 2, 2, 133, 114, 21, 0, 0, 0, 0, 209, 165, 0, - 0, 2, 134, 114, 0, 21, 0, 0, 0, 0, 57, 171, 0, 0, 2, 135, 114, 8, 0, 27, 0, 0, 0, 0, 240, 2, 2, - 215, 25, 21, 0, 0, 0, 0, 198, 87, 0, 0, 2, 216, 25, 0, 21, 0, 0, 0, 0, 203, 173, 0, 0, 2, 217, - 25, 64, 21, 0, 0, 0, 0, 208, 173, 0, 0, 2, 218, 25, 72, 21, 0, 0, 0, 0, 14, 29, 0, 0, 2, 219, - 25, 80, 21, 0, 0, 0, 0, 245, 201, 0, 0, 2, 220, 25, 88, 21, 0, 0, 0, 0, 0, 176, 0, 0, 2, 221, - 25, 96, 21, 0, 0, 0, 0, 250, 174, 0, 0, 2, 222, 25, 104, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 223, - 25, 112, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 224, 25, 120, 21, 0, 0, 0, 0, 241, 106, 0, 0, 2, 225, - 25, 128, 21, 0, 0, 0, 0, 118, 202, 0, 0, 2, 226, 25, 160, 21, 0, 0, 0, 0, 180, 202, 0, 0, 2, - 227, 25, 216, 28, 0, 0, 0, 0, 127, 212, 0, 0, 2, 228, 25, 8, 2, 28, 0, 0, 0, 0, 237, 212, 0, 0, - 2, 229, 25, 16, 2, 28, 0, 0, 0, 0, 114, 213, 0, 0, 2, 230, 25, 24, 2, 28, 0, 0, 0, 0, 192, 236, - 0, 0, 2, 231, 25, 32, 2, 28, 0, 0, 0, 0, 231, 97, 0, 0, 2, 232, 25, 40, 2, 28, 0, 0, 0, 0, 227, - 28, 0, 0, 2, 233, 25, 48, 2, 28, 0, 0, 0, 0, 197, 237, 0, 0, 2, 234, 25, 64, 2, 28, 0, 0, 0, 0, - 239, 241, 0, 0, 2, 235, 25, 72, 2, 28, 0, 0, 0, 0, 136, 68, 0, 0, 2, 236, 25, 80, 2, 28, 0, 0, - 0, 0, 136, 68, 0, 0, 2, 237, 25, 88, 2, 28, 0, 0, 0, 0, 244, 241, 0, 0, 2, 238, 25, 96, 2, 28, - 0, 0, 0, 0, 60, 242, 0, 0, 2, 239, 25, 104, 2, 28, 0, 0, 0, 0, 227, 28, 0, 0, 2, 240, 25, 112, - 2, 28, 0, 0, 0, 0, 114, 242, 0, 0, 2, 241, 25, 128, 2, 28, 0, 0, 0, 0, 106, 243, 0, 0, 2, 242, - 25, 136, 2, 28, 0, 0, 0, 0, 62, 244, 0, 0, 2, 243, 25, 144, 2, 28, 0, 0, 0, 0, 193, 192, 0, 0, - 2, 244, 25, 144, 2, 28, 0, 0, 0, 0, 104, 187, 0, 0, 2, 245, 25, 152, 2, 28, 0, 0, 0, 0, 168, 0, - 0, 0, 2, 246, 25, 160, 2, 28, 0, 0, 0, 0, 7, 75, 0, 0, 2, 247, 25, 164, 2, 28, 0, 0, 0, 0, 125, - 68, 0, 0, 2, 248, 25, 168, 2, 28, 0, 0, 0, 0, 248, 68, 0, 0, 2, 249, 25, 172, 2, 28, 0, 0, 0, - 0, 227, 28, 0, 0, 2, 250, 25, 176, 2, 28, 0, 0, 0, 0, 22, 199, 0, 0, 2, 251, 25, 192, 2, 28, 0, - 0, 0, 0, 246, 90, 0, 0, 2, 252, 25, 200, 2, 28, 0, 0, 0, 0, 116, 177, 0, 0, 2, 253, 25, 208, 2, - 28, 0, 0, 0, 0, 149, 190, 0, 0, 2, 254, 25, 216, 2, 28, 0, 0, 0, 0, 71, 244, 0, 0, 2, 255, 25, - 224, 2, 28, 0, 0, 0, 0, 89, 5, 0, 0, 2, 0, 26, 232, 2, 29, 0, 0, 0, 0, 219, 52, 0, 0, 2, 1, 26, - 1, 1, 7, 236, 2, 29, 0, 0, 0, 0, 219, 52, 0, 0, 2, 2, 26, 1, 1, 6, 236, 2, 29, 0, 0, 0, 0, 219, - 52, 0, 0, 2, 3, 26, 1, 1, 5, 236, 2, 29, 0, 0, 0, 0, 219, 52, 0, 0, 2, 4, 26, 1, 1, 4, 236, 2, - 29, 0, 0, 0, 0, 219, 52, 0, 0, 2, 5, 26, 1, 1, 3, 236, 2, 0, 9, 57, 171, 0, 0, 9, 213, 173, 0, - 0, 47, 0, 0, 0, 0, 216, 2, 186, 93, 1, 0, 48, 0, 0, 0, 0, 122, 174, 0, 0, 2, 187, 93, 1, 0, 0, - 48, 0, 0, 0, 0, 201, 174, 0, 0, 2, 188, 93, 1, 0, 40, 48, 0, 0, 0, 0, 201, 174, 0, 0, 2, 189, - 93, 1, 0, 72, 48, 0, 0, 0, 0, 201, 174, 0, 0, 2, 190, 93, 1, 0, 104, 48, 0, 0, 0, 0, 201, 174, - 0, 0, 2, 191, 93, 1, 0, 136, 48, 0, 0, 0, 0, 227, 28, 0, 0, 2, 192, 93, 1, 0, 168, 48, 0, 0, 0, - 0, 250, 174, 0, 0, 2, 193, 93, 1, 0, 184, 48, 0, 0, 0, 0, 199, 53, 0, 0, 2, 194, 93, 1, 0, 192, - 48, 0, 0, 0, 0, 203, 173, 0, 0, 2, 195, 93, 1, 0, 200, 49, 0, 0, 0, 0, 118, 55, 0, 0, 2, 196, - 93, 1, 0, 1, 1, 7, 208, 0, 20, 0, 0, 0, 0, 40, 2, 188, 246, 21, 0, 0, 0, 0, 248, 68, 0, 0, 2, - 189, 246, 0, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 190, 246, 8, 21, 0, 0, 0, 0, 184, 174, 0, 0, 2, - 191, 246, 24, 21, 0, 0, 0, 0, 184, 174, 0, 0, 2, 192, 246, 32, 0, 9, 189, 174, 0, 0, 32, 14, - 196, 174, 0, 0, 0, 9, 201, 174, 0, 0, 20, 0, 0, 0, 0, 32, 2, 195, 246, 21, 0, 0, 0, 0, 255, 0, - 0, 0, 2, 196, 246, 0, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 197, 246, 8, 21, 0, 0, 0, 0, 80, 110, - 0, 0, 2, 198, 246, 24, 0, 9, 255, 174, 0, 0, 20, 0, 0, 0, 0, 144, 2, 56, 27, 21, 0, 0, 0, 0, - 14, 29, 0, 0, 2, 57, 27, 0, 21, 0, 0, 0, 0, 0, 176, 0, 0, 2, 58, 27, 8, 21, 0, 0, 0, 0, 111, - 83, 0, 0, 2, 59, 27, 16, 21, 0, 0, 0, 0, 14, 29, 0, 0, 2, 60, 27, 24, 21, 0, 0, 0, 0, 219, 52, - 0, 0, 2, 61, 27, 32, 21, 0, 0, 0, 0, 33, 3, 0, 0, 2, 62, 27, 36, 21, 0, 0, 0, 0, 212, 200, 0, - 0, 2, 63, 27, 40, 21, 0, 0, 0, 0, 52, 201, 0, 0, 2, 64, 27, 48, 21, 0, 0, 0, 0, 100, 177, 0, 0, - 2, 65, 27, 56, 21, 0, 0, 0, 0, 116, 177, 0, 0, 2, 66, 27, 64, 21, 0, 0, 0, 0, 100, 177, 0, 0, - 2, 67, 27, 72, 21, 0, 0, 0, 0, 116, 177, 0, 0, 2, 68, 27, 80, 21, 0, 0, 0, 0, 128, 177, 0, 0, - 2, 69, 27, 88, 21, 0, 0, 0, 0, 100, 177, 0, 0, 2, 70, 27, 96, 21, 0, 0, 0, 0, 246, 90, 0, 0, 2, - 71, 27, 104, 21, 0, 0, 0, 0, 246, 90, 0, 0, 2, 72, 27, 112, 21, 0, 0, 0, 0, 184, 177, 0, 0, 2, - 73, 27, 120, 21, 0, 0, 0, 0, 116, 177, 0, 0, 2, 74, 27, 128, 21, 0, 0, 0, 0, 148, 201, 0, 0, 2, - 75, 27, 136, 0, 9, 5, 176, 0, 0, 20, 0, 0, 0, 0, 176, 2, 18, 27, 21, 0, 0, 0, 0, 14, 29, 0, 0, - 2, 19, 27, 0, 21, 0, 0, 0, 0, 14, 29, 0, 0, 2, 20, 27, 8, 21, 0, 0, 0, 0, 203, 173, 0, 0, 2, - 21, 27, 16, 21, 0, 0, 0, 0, 246, 90, 0, 0, 2, 22, 27, 24, 21, 0, 0, 0, 0, 246, 90, 0, 0, 2, 23, - 27, 32, 21, 0, 0, 0, 0, 246, 90, 0, 0, 2, 24, 27, 40, 21, 0, 0, 0, 0, 58, 177, 0, 0, 2, 25, 27, - 48, 21, 0, 0, 0, 0, 79, 177, 0, 0, 2, 26, 27, 56, 21, 0, 0, 0, 0, 100, 177, 0, 0, 2, 27, 27, - 64, 21, 0, 0, 0, 0, 116, 177, 0, 0, 2, 28, 27, 72, 21, 0, 0, 0, 0, 116, 177, 0, 0, 2, 29, 27, - 80, 21, 0, 0, 0, 0, 116, 177, 0, 0, 2, 30, 27, 88, 21, 0, 0, 0, 0, 100, 177, 0, 0, 2, 31, 27, - 96, 21, 0, 0, 0, 0, 100, 177, 0, 0, 2, 32, 27, 104, 21, 0, 0, 0, 0, 128, 177, 0, 0, 2, 33, 27, - 112, 21, 0, 0, 0, 0, 100, 177, 0, 0, 2, 34, 27, 120, 21, 0, 0, 0, 0, 100, 177, 0, 0, 2, 35, 27, - 128, 21, 0, 0, 0, 0, 100, 177, 0, 0, 2, 36, 27, 136, 21, 0, 0, 0, 0, 184, 177, 0, 0, 2, 37, 27, - 144, 21, 0, 0, 0, 0, 247, 178, 0, 0, 2, 38, 27, 152, 21, 0, 0, 0, 0, 73, 198, 0, 0, 2, 39, 27, - 160, 21, 0, 0, 0, 0, 151, 117, 0, 0, 2, 40, 27, 168, 21, 0, 0, 0, 0, 219, 52, 0, 0, 2, 41, 27, - 168, 0, 9, 63, 177, 0, 0, 13, 168, 0, 0, 0, 14, 203, 173, 0, 0, 14, 250, 174, 0, 0, 0, 9, 84, - 177, 0, 0, 13, 168, 0, 0, 0, 14, 203, 173, 0, 0, 14, 81, 89, 0, 0, 0, 9, 105, 177, 0, 0, 13, - 168, 0, 0, 0, 14, 203, 173, 0, 0, 0, 9, 121, 177, 0, 0, 32, 14, 203, 173, 0, 0, 0, 9, 133, 177, - 0, 0, 13, 168, 0, 0, 0, 14, 203, 173, 0, 0, 14, 149, 177, 0, 0, 0, 33, 161, 177, 0, 0, 0, 0, 0, - 0, 2, 101, 25, 20, 0, 0, 0, 0, 4, 2, 97, 25, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 98, 25, 0, 0, 9, - 189, 177, 0, 0, 26, 194, 177, 0, 0, 20, 0, 0, 0, 0, 184, 2, 201, 26, 21, 0, 0, 0, 0, 100, 177, - 0, 0, 2, 202, 26, 0, 21, 0, 0, 0, 0, 116, 177, 0, 0, 2, 203, 26, 8, 21, 0, 0, 0, 0, 100, 177, - 0, 0, 2, 204, 26, 16, 21, 0, 0, 0, 0, 100, 177, 0, 0, 2, 205, 26, 24, 21, 0, 0, 0, 0, 100, 177, - 0, 0, 2, 206, 26, 32, 21, 0, 0, 0, 0, 100, 177, 0, 0, 2, 207, 26, 40, 21, 0, 0, 0, 0, 100, 177, - 0, 0, 2, 208, 26, 48, 21, 0, 0, 0, 0, 100, 177, 0, 0, 2, 209, 26, 56, 21, 0, 0, 0, 0, 100, 177, - 0, 0, 2, 210, 26, 64, 21, 0, 0, 0, 0, 100, 177, 0, 0, 2, 211, 26, 72, 21, 0, 0, 0, 0, 100, 177, - 0, 0, 2, 212, 26, 80, 21, 0, 0, 0, 0, 100, 177, 0, 0, 2, 213, 26, 88, 21, 0, 0, 0, 0, 100, 177, - 0, 0, 2, 214, 26, 96, 21, 0, 0, 0, 0, 100, 177, 0, 0, 2, 215, 26, 104, 21, 0, 0, 0, 0, 100, - 177, 0, 0, 2, 216, 26, 112, 21, 0, 0, 0, 0, 100, 177, 0, 0, 2, 217, 26, 120, 21, 0, 0, 0, 0, - 100, 177, 0, 0, 2, 218, 26, 128, 21, 0, 0, 0, 0, 100, 177, 0, 0, 2, 219, 26, 136, 21, 0, 0, 0, - 0, 100, 177, 0, 0, 2, 220, 26, 144, 21, 0, 0, 0, 0, 100, 177, 0, 0, 2, 221, 26, 152, 21, 0, 0, - 0, 0, 100, 177, 0, 0, 2, 222, 26, 160, 21, 0, 0, 0, 0, 100, 177, 0, 0, 2, 223, 26, 168, 21, 0, - 0, 0, 0, 100, 177, 0, 0, 2, 224, 26, 176, 0, 9, 252, 178, 0, 0, 26, 1, 179, 0, 0, 27, 0, 0, 0, - 0, 72, 1, 2, 112, 27, 21, 0, 0, 0, 0, 42, 181, 0, 0, 2, 113, 27, 0, 21, 0, 0, 0, 0, 58, 181, 0, - 0, 2, 114, 27, 8, 21, 0, 0, 0, 0, 168, 185, 0, 0, 2, 115, 27, 16, 21, 0, 0, 0, 0, 180, 185, 0, - 0, 2, 116, 27, 24, 21, 0, 0, 0, 0, 201, 185, 0, 0, 2, 117, 27, 32, 21, 0, 0, 0, 0, 218, 185, 0, - 0, 2, 118, 27, 40, 21, 0, 0, 0, 0, 14, 186, 0, 0, 2, 119, 27, 48, 21, 0, 0, 0, 0, 70, 186, 0, - 0, 2, 120, 27, 56, 21, 0, 0, 0, 0, 181, 186, 0, 0, 2, 121, 27, 64, 21, 0, 0, 0, 0, 168, 185, 0, - 0, 2, 122, 27, 72, 21, 0, 0, 0, 0, 217, 186, 0, 0, 2, 123, 27, 80, 21, 0, 0, 0, 0, 239, 186, 0, - 0, 2, 124, 27, 88, 21, 0, 0, 0, 0, 0, 187, 0, 0, 2, 125, 27, 96, 21, 0, 0, 0, 0, 21, 187, 0, 0, - 2, 126, 27, 104, 21, 0, 0, 0, 0, 116, 177, 0, 0, 2, 127, 27, 112, 21, 0, 0, 0, 0, 116, 177, 0, - 0, 2, 128, 27, 120, 21, 0, 0, 0, 0, 133, 190, 0, 0, 2, 129, 27, 128, 21, 0, 0, 0, 0, 218, 191, - 0, 0, 2, 130, 27, 136, 21, 0, 0, 0, 0, 234, 191, 0, 0, 2, 131, 27, 144, 21, 0, 0, 0, 0, 255, - 191, 0, 0, 2, 132, 27, 152, 21, 0, 0, 0, 0, 255, 191, 0, 0, 2, 133, 27, 160, 21, 0, 0, 0, 0, - 16, 192, 0, 0, 2, 134, 27, 168, 21, 0, 0, 0, 0, 118, 192, 0, 0, 2, 135, 27, 176, 21, 0, 0, 0, - 0, 186, 193, 0, 0, 2, 136, 27, 184, 21, 0, 0, 0, 0, 207, 193, 0, 0, 2, 137, 27, 192, 21, 0, 0, - 0, 0, 207, 193, 0, 0, 2, 138, 27, 200, 21, 0, 0, 0, 0, 228, 193, 0, 0, 2, 139, 27, 208, 21, 0, - 0, 0, 0, 228, 193, 0, 0, 2, 140, 27, 216, 21, 0, 0, 0, 0, 180, 185, 0, 0, 2, 141, 27, 224, 21, - 0, 0, 0, 0, 201, 185, 0, 0, 2, 142, 27, 232, 21, 0, 0, 0, 0, 180, 185, 0, 0, 2, 143, 27, 240, - 21, 0, 0, 0, 0, 249, 193, 0, 0, 2, 144, 27, 248, 28, 0, 0, 0, 0, 47, 194, 0, 0, 2, 145, 27, 0, - 1, 28, 0, 0, 0, 0, 59, 194, 0, 0, 2, 146, 27, 8, 1, 28, 0, 0, 0, 0, 75, 194, 0, 0, 2, 147, 27, - 16, 1, 28, 0, 0, 0, 0, 13, 196, 0, 0, 2, 148, 27, 24, 1, 28, 0, 0, 0, 0, 57, 197, 0, 0, 2, 149, - 27, 32, 1, 28, 0, 0, 0, 0, 52, 198, 0, 0, 2, 150, 27, 40, 1, 28, 0, 0, 0, 0, 100, 177, 0, 0, 2, - 151, 27, 48, 1, 28, 0, 0, 0, 0, 127, 29, 0, 0, 2, 152, 27, 56, 1, 28, 0, 0, 0, 0, 111, 83, 0, - 0, 2, 153, 27, 64, 1, 0, 9, 47, 181, 0, 0, 13, 219, 52, 0, 0, 14, 121, 2, 0, 0, 0, 9, 63, 181, - 0, 0, 13, 74, 181, 0, 0, 14, 11, 1, 0, 0, 0, 9, 79, 181, 0, 0, 20, 0, 0, 0, 0, 72, 2, 192, 90, - 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 193, 90, 0, 21, 0, 0, 0, 0, 247, 178, 0, 0, 2, 194, 90, 8, 21, - 0, 0, 0, 0, 127, 29, 0, 0, 2, 195, 90, 16, 21, 0, 0, 0, 0, 180, 181, 0, 0, 2, 196, 90, 24, 21, - 0, 0, 0, 0, 255, 0, 0, 0, 2, 197, 90, 32, 21, 0, 0, 0, 0, 228, 181, 0, 0, 2, 198, 90, 40, 21, - 0, 0, 0, 0, 33, 182, 0, 0, 2, 199, 90, 64, 0, 33, 192, 181, 0, 0, 0, 0, 0, 0, 2, 182, 90, 9, - 197, 181, 0, 0, 13, 168, 0, 0, 0, 14, 74, 181, 0, 0, 14, 203, 173, 0, 0, 14, 127, 29, 0, 0, 14, - 168, 0, 0, 0, 14, 255, 0, 0, 0, 0, 20, 0, 0, 0, 0, 24, 2, 184, 90, 21, 0, 0, 0, 0, 21, 182, 0, - 0, 2, 185, 90, 0, 21, 0, 0, 0, 0, 21, 182, 0, 0, 2, 186, 90, 8, 21, 0, 0, 0, 0, 219, 52, 0, 0, - 2, 187, 90, 16, 0, 33, 136, 68, 0, 0, 0, 0, 0, 0, 2, 84, 27, 9, 38, 182, 0, 0, 50, 0, 0, 0, 0, - 128, 7, 2, 23, 76, 1, 0, 48, 0, 0, 0, 0, 153, 2, 0, 0, 2, 24, 76, 1, 0, 0, 51, 76, 182, 0, 0, - 2, 25, 76, 1, 0, 8, 52, 96, 7, 2, 25, 76, 1, 0, 48, 0, 0, 0, 0, 148, 182, 0, 0, 2, 26, 76, 1, - 0, 0, 48, 0, 0, 0, 0, 21, 182, 0, 0, 2, 27, 76, 1, 0, 0, 0, 53, 0, 0, 0, 0, 227, 28, 0, 0, 2, - 29, 76, 1, 0, 104, 7, 53, 0, 0, 0, 0, 74, 181, 0, 0, 2, 30, 76, 1, 0, 120, 7, 0, 50, 0, 0, 0, - 0, 96, 7, 2, 223, 73, 1, 0, 48, 0, 0, 0, 0, 248, 68, 0, 0, 2, 224, 73, 1, 0, 0, 48, 0, 0, 0, 0, - 220, 96, 0, 0, 2, 225, 73, 1, 0, 8, 48, 0, 0, 0, 0, 135, 40, 0, 0, 2, 226, 73, 1, 0, 16, 48, 0, - 0, 0, 0, 135, 40, 0, 0, 2, 227, 73, 1, 0, 24, 48, 0, 0, 0, 0, 127, 29, 0, 0, 2, 228, 73, 1, 0, - 32, 48, 0, 0, 0, 0, 127, 29, 0, 0, 2, 229, 73, 1, 0, 40, 48, 0, 0, 0, 0, 127, 29, 0, 0, 2, 230, - 73, 1, 0, 48, 48, 0, 0, 0, 0, 127, 29, 0, 0, 2, 231, 73, 1, 0, 56, 48, 0, 0, 0, 0, 180, 183, 0, - 0, 2, 232, 73, 1, 0, 64, 48, 0, 0, 0, 0, 83, 97, 0, 0, 2, 233, 73, 1, 0, 72, 48, 0, 0, 0, 0, - 83, 97, 0, 0, 2, 234, 73, 1, 0, 80, 48, 0, 0, 0, 0, 90, 184, 0, 0, 2, 235, 73, 1, 0, 88, 48, 0, - 0, 0, 0, 147, 184, 0, 0, 2, 236, 73, 1, 0, 128, 53, 0, 0, 0, 0, 111, 185, 0, 0, 2, 237, 73, 1, - 0, 16, 7, 53, 0, 0, 0, 0, 142, 185, 0, 0, 2, 238, 73, 1, 0, 24, 7, 53, 0, 0, 0, 0, 173, 161, 0, - 0, 2, 239, 73, 1, 0, 32, 7, 53, 0, 0, 0, 0, 176, 64, 0, 0, 2, 240, 73, 1, 0, 72, 7, 53, 0, 0, - 0, 0, 184, 28, 0, 0, 2, 241, 73, 1, 0, 80, 7, 0, 9, 185, 183, 0, 0, 50, 0, 0, 0, 0, 16, 32, 2, - 251, 73, 1, 0, 48, 0, 0, 0, 0, 5, 184, 0, 0, 2, 252, 73, 1, 0, 0, 53, 0, 0, 0, 0, 11, 1, 0, 0, - 2, 253, 73, 1, 0, 0, 32, 53, 0, 0, 0, 0, 11, 1, 0, 0, 2, 254, 73, 1, 0, 4, 32, 53, 0, 0, 0, 0, - 248, 68, 0, 0, 2, 255, 73, 1, 0, 8, 32, 0, 3, 18, 184, 0, 0, 39, 82, 0, 0, 0, 0, 1, 0, 47, 0, - 0, 0, 0, 32, 2, 244, 73, 1, 0, 48, 0, 0, 0, 0, 127, 29, 0, 0, 2, 245, 73, 1, 0, 0, 48, 0, 0, 0, - 0, 127, 29, 0, 0, 2, 246, 73, 1, 0, 8, 48, 0, 0, 0, 0, 127, 29, 0, 0, 2, 247, 73, 1, 0, 16, 48, - 0, 0, 0, 0, 136, 68, 0, 0, 2, 248, 73, 1, 0, 24, 0, 47, 0, 0, 0, 0, 40, 2, 198, 73, 1, 0, 48, - 0, 0, 0, 0, 86, 40, 0, 0, 2, 199, 73, 1, 0, 0, 48, 0, 0, 0, 0, 127, 29, 0, 0, 2, 200, 73, 1, 0, - 24, 48, 0, 0, 0, 0, 127, 29, 0, 0, 2, 201, 73, 1, 0, 32, 0, 3, 159, 184, 0, 0, 4, 82, 0, 0, 0, - 6, 0, 50, 0, 0, 0, 0, 24, 1, 2, 208, 73, 1, 0, 48, 0, 0, 0, 0, 248, 68, 0, 0, 2, 209, 73, 1, 0, - 0, 48, 0, 0, 0, 0, 127, 29, 0, 0, 2, 210, 73, 1, 0, 8, 48, 0, 0, 0, 0, 233, 184, 0, 0, 2, 211, - 73, 1, 0, 16, 53, 0, 0, 0, 0, 49, 185, 0, 0, 2, 212, 73, 1, 0, 16, 1, 0, 3, 245, 184, 0, 0, 4, - 82, 0, 0, 0, 32, 0, 9, 250, 184, 0, 0, 50, 0, 0, 0, 0, 8, 4, 2, 56, 76, 1, 0, 48, 0, 0, 0, 0, - 127, 29, 0, 0, 2, 57, 76, 1, 0, 0, 48, 0, 0, 0, 0, 37, 185, 0, 0, 2, 58, 76, 1, 0, 8, 0, 3, - 127, 29, 0, 0, 4, 82, 0, 0, 0, 128, 0, 9, 54, 185, 0, 0, 47, 0, 0, 0, 0, 24, 2, 61, 76, 1, 0, - 48, 0, 0, 0, 0, 248, 68, 0, 0, 2, 62, 76, 1, 0, 0, 48, 0, 0, 0, 0, 245, 184, 0, 0, 2, 63, 76, - 1, 0, 8, 48, 0, 0, 0, 0, 245, 184, 0, 0, 2, 64, 76, 1, 0, 16, 0, 54, 125, 185, 0, 0, 0, 0, 0, - 0, 2, 217, 73, 1, 0, 9, 130, 185, 0, 0, 32, 14, 137, 185, 0, 0, 0, 9, 148, 182, 0, 0, 54, 156, - 185, 0, 0, 0, 0, 0, 0, 2, 219, 73, 1, 0, 9, 161, 185, 0, 0, 32, 14, 127, 29, 0, 0, 0, 9, 173, - 185, 0, 0, 32, 14, 74, 181, 0, 0, 0, 9, 185, 185, 0, 0, 13, 168, 0, 0, 0, 14, 74, 181, 0, 0, - 14, 203, 173, 0, 0, 0, 9, 206, 185, 0, 0, 32, 14, 74, 181, 0, 0, 14, 203, 173, 0, 0, 0, 9, 223, - 185, 0, 0, 13, 168, 0, 0, 0, 14, 74, 181, 0, 0, 14, 127, 29, 0, 0, 14, 3, 186, 0, 0, 14, 140, - 55, 0, 0, 14, 168, 0, 0, 0, 14, 8, 153, 0, 0, 0, 12, 136, 68, 0, 0, 0, 0, 0, 0, 2, 101, 9, 19, - 186, 0, 0, 13, 168, 0, 0, 0, 14, 74, 181, 0, 0, 14, 127, 29, 0, 0, 14, 3, 186, 0, 0, 14, 140, - 55, 0, 0, 14, 140, 55, 0, 0, 14, 168, 0, 0, 0, 14, 8, 153, 0, 0, 14, 65, 186, 0, 0, 0, 9, 140, - 55, 0, 0, 9, 75, 186, 0, 0, 13, 140, 55, 0, 0, 14, 74, 181, 0, 0, 14, 127, 29, 0, 0, 14, 140, - 55, 0, 0, 14, 101, 186, 0, 0, 0, 9, 106, 186, 0, 0, 20, 0, 0, 0, 0, 40, 2, 220, 90, 21, 0, 0, - 0, 0, 127, 29, 0, 0, 2, 221, 90, 0, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 222, 90, 8, 21, 0, 0, 0, - 0, 140, 55, 0, 0, 2, 223, 90, 16, 21, 0, 0, 0, 0, 68, 56, 0, 0, 2, 224, 90, 24, 21, 0, 0, 0, 0, - 219, 52, 0, 0, 2, 225, 90, 32, 0, 9, 186, 186, 0, 0, 13, 140, 55, 0, 0, 14, 74, 181, 0, 0, 14, - 127, 29, 0, 0, 14, 140, 55, 0, 0, 14, 140, 55, 0, 0, 14, 101, 186, 0, 0, 0, 9, 222, 186, 0, 0, - 32, 14, 74, 181, 0, 0, 14, 127, 29, 0, 0, 14, 140, 55, 0, 0, 0, 9, 244, 186, 0, 0, 32, 14, 74, - 181, 0, 0, 14, 101, 186, 0, 0, 0, 9, 5, 187, 0, 0, 13, 3, 186, 0, 0, 14, 74, 181, 0, 0, 14, 21, - 182, 0, 0, 0, 9, 26, 187, 0, 0, 13, 37, 187, 0, 0, 14, 203, 173, 0, 0, 0, 9, 42, 187, 0, 0, 20, - 0, 0, 0, 0, 40, 2, 228, 90, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 229, 90, 0, 21, 0, 0, 0, 0, 247, - 178, 0, 0, 2, 230, 90, 16, 21, 0, 0, 0, 0, 104, 187, 0, 0, 2, 231, 90, 24, 21, 0, 0, 0, 0, 203, - 173, 0, 0, 2, 232, 90, 32, 0, 9, 109, 187, 0, 0, 20, 0, 0, 0, 0, 64, 2, 253, 27, 21, 0, 0, 0, - 0, 104, 187, 0, 0, 2, 254, 27, 0, 21, 0, 0, 0, 0, 197, 187, 0, 0, 2, 255, 27, 8, 21, 0, 0, 0, - 0, 203, 173, 0, 0, 2, 0, 28, 16, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 1, 28, 24, 21, 0, 0, 0, 0, - 227, 28, 0, 0, 2, 2, 28, 40, 21, 0, 0, 0, 0, 118, 55, 0, 0, 2, 3, 28, 56, 0, 9, 202, 187, 0, 0, - 26, 207, 187, 0, 0, 20, 0, 0, 0, 0, 144, 2, 73, 31, 21, 0, 0, 0, 0, 195, 188, 0, 0, 2, 74, 31, - 0, 21, 0, 0, 0, 0, 211, 188, 0, 0, 2, 75, 31, 8, 21, 0, 0, 0, 0, 223, 188, 0, 0, 2, 76, 31, 16, - 21, 0, 0, 0, 0, 249, 188, 0, 0, 2, 77, 31, 24, 21, 0, 0, 0, 0, 24, 189, 0, 0, 2, 78, 31, 32, - 21, 0, 0, 0, 0, 45, 189, 0, 0, 2, 79, 31, 40, 21, 0, 0, 0, 0, 81, 189, 0, 0, 2, 80, 31, 48, 21, - 0, 0, 0, 0, 117, 189, 0, 0, 2, 81, 31, 56, 21, 0, 0, 0, 0, 117, 189, 0, 0, 2, 82, 31, 64, 21, - 0, 0, 0, 0, 133, 189, 0, 0, 2, 83, 31, 72, 21, 0, 0, 0, 0, 149, 189, 0, 0, 2, 84, 31, 80, 21, - 0, 0, 0, 0, 170, 189, 0, 0, 2, 85, 31, 88, 21, 0, 0, 0, 0, 191, 189, 0, 0, 2, 86, 31, 96, 21, - 0, 0, 0, 0, 149, 189, 0, 0, 2, 87, 31, 104, 21, 0, 0, 0, 0, 133, 189, 0, 0, 2, 88, 31, 112, 21, - 0, 0, 0, 0, 195, 188, 0, 0, 2, 89, 31, 120, 21, 0, 0, 0, 0, 42, 190, 0, 0, 2, 90, 31, 128, 21, - 0, 0, 0, 0, 117, 190, 0, 0, 2, 91, 31, 136, 0, 9, 200, 188, 0, 0, 13, 104, 187, 0, 0, 14, 104, - 187, 0, 0, 0, 9, 216, 188, 0, 0, 32, 14, 104, 187, 0, 0, 0, 9, 228, 188, 0, 0, 13, 219, 52, 0, - 0, 14, 239, 188, 0, 0, 0, 9, 244, 188, 0, 0, 26, 109, 187, 0, 0, 9, 254, 188, 0, 0, 13, 56, 1, - 0, 0, 14, 239, 188, 0, 0, 14, 14, 189, 0, 0, 0, 9, 19, 189, 0, 0, 26, 57, 171, 0, 0, 9, 29, - 189, 0, 0, 13, 219, 52, 0, 0, 14, 239, 188, 0, 0, 14, 14, 29, 0, 0, 0, 9, 50, 189, 0, 0, 13, - 168, 0, 0, 0, 14, 239, 188, 0, 0, 14, 14, 29, 0, 0, 14, 11, 1, 0, 0, 14, 255, 0, 0, 0, 14, 140, - 55, 0, 0, 0, 9, 86, 189, 0, 0, 13, 168, 0, 0, 0, 14, 239, 188, 0, 0, 14, 14, 29, 0, 0, 14, 112, - 189, 0, 0, 14, 140, 55, 0, 0, 0, 9, 14, 29, 0, 0, 9, 122, 189, 0, 0, 13, 14, 29, 0, 0, 14, 239, - 188, 0, 0, 0, 9, 138, 189, 0, 0, 13, 104, 187, 0, 0, 14, 239, 188, 0, 0, 0, 9, 154, 189, 0, 0, - 13, 104, 187, 0, 0, 14, 239, 188, 0, 0, 14, 104, 187, 0, 0, 0, 9, 175, 189, 0, 0, 13, 104, 187, - 0, 0, 14, 239, 188, 0, 0, 14, 14, 29, 0, 0, 0, 9, 196, 189, 0, 0, 13, 168, 0, 0, 0, 14, 239, - 188, 0, 0, 14, 14, 29, 0, 0, 14, 14, 29, 0, 0, 14, 11, 1, 0, 0, 14, 11, 1, 0, 0, 14, 232, 189, - 0, 0, 0, 9, 237, 189, 0, 0, 20, 0, 0, 0, 0, 80, 2, 100, 31, 21, 0, 0, 0, 0, 104, 187, 0, 0, 2, - 101, 31, 0, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 102, 31, 8, 21, 0, 0, 0, 0, 30, 190, 0, 0, 2, 103, - 31, 16, 0, 3, 136, 68, 0, 0, 4, 82, 0, 0, 0, 8, 0, 9, 47, 190, 0, 0, 13, 168, 0, 0, 0, 14, 239, - 188, 0, 0, 14, 63, 190, 0, 0, 0, 9, 68, 190, 0, 0, 20, 0, 0, 0, 0, 16, 2, 94, 31, 21, 0, 0, 0, - 0, 11, 1, 0, 0, 2, 95, 31, 0, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 96, 31, 4, 21, 0, 0, 0, 0, 239, - 188, 0, 0, 2, 97, 31, 8, 0, 9, 122, 190, 0, 0, 13, 168, 0, 0, 0, 14, 104, 187, 0, 0, 0, 9, 138, - 190, 0, 0, 13, 149, 190, 0, 0, 14, 203, 173, 0, 0, 0, 9, 154, 190, 0, 0, 47, 0, 0, 0, 0, 232, - 2, 96, 75, 1, 0, 48, 0, 0, 0, 0, 198, 87, 0, 0, 2, 97, 75, 1, 0, 0, 48, 0, 0, 0, 0, 123, 88, 0, - 0, 2, 98, 75, 1, 0, 64, 48, 0, 0, 0, 0, 227, 28, 0, 0, 2, 99, 75, 1, 0, 72, 48, 0, 0, 0, 0, - 241, 106, 0, 0, 2, 100, 75, 1, 0, 88, 48, 0, 0, 0, 0, 90, 191, 0, 0, 2, 101, 75, 1, 0, 120, 48, - 0, 0, 0, 0, 255, 0, 0, 0, 2, 102, 75, 1, 0, 168, 48, 0, 0, 0, 0, 125, 141, 0, 0, 2, 103, 75, 1, - 0, 176, 48, 0, 0, 0, 0, 199, 53, 0, 0, 2, 104, 75, 1, 0, 184, 48, 0, 0, 0, 0, 168, 0, 0, 0, 2, - 105, 75, 1, 0, 192, 48, 0, 0, 0, 0, 74, 181, 0, 0, 2, 106, 75, 1, 0, 200, 48, 0, 0, 0, 0, 74, - 181, 0, 0, 2, 107, 75, 1, 0, 208, 48, 0, 0, 0, 0, 227, 28, 0, 0, 2, 108, 75, 1, 0, 216, 0, 20, - 0, 0, 0, 0, 48, 2, 182, 34, 21, 0, 0, 0, 0, 133, 97, 0, 0, 2, 183, 34, 0, 21, 0, 0, 0, 0, 126, - 191, 0, 0, 2, 184, 34, 40, 0, 9, 131, 191, 0, 0, 20, 0, 0, 0, 0, 24, 2, 176, 34, 21, 0, 0, 0, - 0, 180, 191, 0, 0, 2, 177, 34, 0, 21, 0, 0, 0, 0, 126, 191, 0, 0, 2, 178, 34, 8, 21, 0, 0, 0, - 0, 168, 0, 0, 0, 2, 179, 34, 16, 0, 33, 192, 191, 0, 0, 0, 0, 0, 0, 2, 174, 34, 9, 197, 191, 0, - 0, 13, 168, 0, 0, 0, 14, 126, 191, 0, 0, 14, 127, 29, 0, 0, 14, 255, 0, 0, 0, 0, 9, 223, 191, - 0, 0, 13, 168, 0, 0, 0, 14, 74, 181, 0, 0, 0, 9, 239, 191, 0, 0, 13, 168, 0, 0, 0, 14, 74, 181, - 0, 0, 14, 127, 29, 0, 0, 0, 9, 4, 192, 0, 0, 32, 14, 203, 173, 0, 0, 14, 4, 29, 0, 0, 0, 9, 21, - 192, 0, 0, 32, 14, 203, 173, 0, 0, 14, 74, 181, 0, 0, 14, 38, 192, 0, 0, 0, 9, 43, 192, 0, 0, - 20, 0, 0, 0, 0, 40, 2, 212, 90, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 213, 90, 0, 21, 0, 0, 0, 0, - 3, 186, 0, 0, 2, 214, 90, 16, 21, 0, 0, 0, 0, 140, 55, 0, 0, 2, 215, 90, 24, 21, 0, 0, 0, 0, - 168, 0, 0, 0, 2, 216, 90, 32, 21, 0, 0, 0, 0, 181, 2, 0, 0, 2, 217, 90, 36, 0, 9, 123, 192, 0, - 0, 13, 168, 0, 0, 0, 14, 203, 173, 0, 0, 14, 139, 192, 0, 0, 0, 9, 144, 192, 0, 0, 20, 0, 0, 0, - 0, 80, 2, 91, 90, 21, 0, 0, 0, 0, 193, 192, 0, 0, 2, 92, 90, 0, 21, 0, 0, 0, 0, 168, 0, 0, 0, - 2, 93, 90, 8, 21, 0, 0, 0, 0, 174, 193, 0, 0, 2, 94, 90, 12, 0, 9, 198, 192, 0, 0, 20, 0, 0, 0, - 0, 144, 2, 8, 28, 21, 0, 0, 0, 0, 14, 29, 0, 0, 2, 9, 28, 0, 21, 0, 0, 0, 0, 95, 193, 0, 0, 2, - 10, 28, 8, 21, 0, 0, 0, 0, 14, 29, 0, 0, 2, 11, 28, 16, 21, 0, 0, 0, 0, 109, 187, 0, 0, 2, 12, - 28, 24, 21, 0, 0, 0, 0, 107, 193, 0, 0, 2, 13, 28, 88, 21, 0, 0, 0, 0, 107, 193, 0, 0, 2, 14, - 28, 96, 21, 0, 0, 0, 0, 193, 192, 0, 0, 2, 15, 28, 104, 21, 0, 0, 0, 0, 193, 192, 0, 0, 2, 16, - 28, 112, 21, 0, 0, 0, 0, 193, 192, 0, 0, 2, 17, 28, 120, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 18, - 28, 128, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 19, 28, 136, 0, 33, 125, 68, 0, 0, 0, 0, 0, 0, 2, - 249, 27, 9, 112, 193, 0, 0, 20, 0, 0, 0, 0, 32, 2, 106, 31, 21, 0, 0, 0, 0, 199, 53, 0, 0, 2, - 107, 31, 0, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 108, 31, 8, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 109, - 31, 16, 21, 0, 0, 0, 0, 107, 193, 0, 0, 2, 110, 31, 24, 0, 3, 13, 111, 0, 0, 4, 82, 0, 0, 0, - 16, 0, 9, 191, 193, 0, 0, 13, 219, 52, 0, 0, 14, 74, 181, 0, 0, 14, 203, 173, 0, 0, 0, 9, 212, - 193, 0, 0, 13, 219, 52, 0, 0, 14, 203, 173, 0, 0, 14, 225, 2, 0, 0, 0, 9, 233, 193, 0, 0, 13, - 168, 0, 0, 0, 14, 203, 173, 0, 0, 14, 225, 2, 0, 0, 0, 9, 254, 193, 0, 0, 13, 19, 194, 0, 0, - 14, 203, 173, 0, 0, 14, 104, 93, 0, 0, 14, 255, 0, 0, 0, 0, 9, 24, 194, 0, 0, 20, 0, 0, 0, 0, - 8, 2, 235, 90, 21, 0, 0, 0, 0, 203, 173, 0, 0, 2, 236, 90, 0, 0, 9, 52, 194, 0, 0, 32, 14, 19, - 194, 0, 0, 0, 9, 64, 194, 0, 0, 13, 125, 68, 0, 0, 14, 19, 194, 0, 0, 0, 9, 80, 194, 0, 0, 13, - 168, 0, 0, 0, 14, 203, 173, 0, 0, 14, 101, 194, 0, 0, 14, 176, 195, 0, 0, 0, 9, 106, 194, 0, 0, - 20, 0, 0, 0, 0, 80, 2, 239, 90, 21, 0, 0, 0, 0, 142, 194, 0, 0, 2, 240, 90, 0, 21, 0, 0, 0, 0, - 227, 28, 0, 0, 2, 241, 90, 64, 0, 20, 0, 0, 0, 0, 64, 2, 115, 90, 21, 0, 0, 0, 0, 0, 1, 0, 0, - 2, 116, 90, 0, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 117, 90, 4, 22, 186, 194, 0, 0, 2, 118, 90, 8, - 23, 56, 2, 118, 90, 21, 0, 0, 0, 0, 232, 194, 0, 0, 2, 119, 90, 0, 21, 0, 0, 0, 0, 64, 195, 0, - 0, 2, 120, 90, 0, 21, 0, 0, 0, 0, 164, 195, 0, 0, 2, 121, 90, 0, 0, 0, 20, 0, 0, 0, 0, 32, 2, - 97, 90, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 98, 90, 0, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 99, 90, 4, 21, - 0, 0, 0, 0, 0, 1, 0, 0, 2, 100, 90, 8, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 101, 90, 12, 21, 0, 0, 0, - 0, 197, 0, 0, 0, 2, 102, 90, 16, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 103, 90, 24, 0, 20, 0, 0, 0, - 0, 40, 2, 106, 90, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 107, 90, 0, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, - 108, 90, 4, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 109, 90, 8, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 110, 90, - 12, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 111, 90, 16, 21, 0, 0, 0, 0, 152, 195, 0, 0, 2, 112, 90, - 24, 0, 3, 197, 0, 0, 0, 4, 82, 0, 0, 0, 2, 0, 3, 129, 55, 0, 0, 4, 82, 0, 0, 0, 56, 0, 9, 181, - 195, 0, 0, 20, 0, 0, 0, 0, 24, 2, 125, 90, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 126, 90, 0, 21, 0, 0, - 0, 0, 0, 1, 0, 0, 2, 127, 90, 4, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 128, 90, 8, 21, 0, 0, 0, 0, 0, - 1, 0, 0, 2, 129, 90, 12, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 130, 90, 16, 21, 0, 0, 0, 0, 0, 1, 0, - 0, 2, 131, 90, 20, 0, 9, 18, 196, 0, 0, 13, 168, 0, 0, 0, 14, 74, 181, 0, 0, 14, 203, 173, 0, - 0, 14, 39, 196, 0, 0, 0, 9, 44, 196, 0, 0, 20, 0, 0, 0, 0, 56, 2, 149, 90, 21, 0, 0, 0, 0, 0, - 1, 0, 0, 2, 150, 90, 0, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 151, 90, 4, 21, 0, 0, 0, 0, 129, 55, 0, - 0, 2, 152, 90, 8, 21, 0, 0, 0, 0, 129, 55, 0, 0, 2, 153, 90, 9, 21, 0, 0, 0, 0, 164, 196, 0, 0, - 2, 154, 90, 10, 21, 0, 0, 0, 0, 131, 196, 0, 0, 2, 158, 90, 16, 23, 40, 2, 155, 90, 21, 0, 0, - 0, 0, 176, 196, 0, 0, 2, 156, 90, 0, 21, 0, 0, 0, 0, 225, 196, 0, 0, 2, 157, 90, 0, 0, 0, 3, - 129, 55, 0, 0, 4, 82, 0, 0, 0, 6, 0, 20, 0, 0, 0, 0, 16, 2, 143, 90, 21, 0, 0, 0, 0, 0, 1, 0, - 0, 2, 144, 90, 0, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 145, 90, 4, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, - 146, 90, 8, 0, 20, 0, 0, 0, 0, 40, 2, 134, 90, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 135, 90, 0, 21, - 0, 0, 0, 0, 0, 1, 0, 0, 2, 136, 90, 4, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 137, 90, 8, 21, 0, 0, - 0, 0, 197, 0, 0, 0, 2, 138, 90, 16, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 139, 90, 24, 21, 0, 0, 0, - 0, 197, 0, 0, 0, 2, 140, 90, 32, 0, 9, 62, 197, 0, 0, 13, 168, 0, 0, 0, 14, 74, 181, 0, 0, 14, - 203, 173, 0, 0, 14, 83, 197, 0, 0, 0, 9, 88, 197, 0, 0, 20, 0, 0, 0, 0, 72, 2, 167, 90, 21, 0, - 0, 0, 0, 0, 1, 0, 0, 2, 168, 90, 0, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 169, 90, 4, 21, 0, 0, 0, 0, - 0, 1, 0, 0, 2, 170, 90, 8, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 171, 90, 12, 21, 0, 0, 0, 0, 197, 0, - 0, 0, 2, 172, 90, 16, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 173, 90, 24, 21, 0, 0, 0, 0, 197, 0, 0, - 0, 2, 174, 90, 32, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 175, 90, 40, 21, 0, 0, 0, 0, 247, 197, 0, - 0, 2, 176, 90, 48, 21, 0, 0, 0, 0, 227, 197, 0, 0, 2, 179, 90, 56, 23, 16, 2, 177, 90, 21, 0, - 0, 0, 0, 3, 198, 0, 0, 2, 178, 90, 0, 0, 0, 3, 129, 55, 0, 0, 4, 82, 0, 0, 0, 8, 0, 20, 0, 0, - 0, 0, 16, 2, 161, 90, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 162, 90, 0, 21, 0, 0, 0, 0, 0, 1, 0, 0, - 2, 163, 90, 8, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 164, 90, 12, 0, 9, 57, 198, 0, 0, 13, 168, 0, 0, - 0, 14, 203, 173, 0, 0, 14, 125, 68, 0, 0, 0, 9, 78, 198, 0, 0, 50, 0, 0, 0, 0, 152, 1, 2, 163, - 93, 1, 0, 48, 0, 0, 0, 0, 133, 88, 0, 0, 2, 164, 93, 1, 0, 0, 48, 0, 0, 0, 0, 128, 88, 0, 0, 2, - 165, 93, 1, 0, 96, 48, 0, 0, 0, 0, 227, 28, 0, 0, 2, 166, 93, 1, 0, 104, 48, 0, 0, 0, 0, 241, - 106, 0, 0, 2, 167, 93, 1, 0, 120, 48, 0, 0, 0, 0, 128, 88, 0, 0, 2, 168, 93, 1, 0, 152, 48, 0, - 0, 0, 0, 122, 174, 0, 0, 2, 169, 93, 1, 0, 160, 48, 0, 0, 0, 0, 122, 174, 0, 0, 2, 170, 93, 1, - 0, 200, 48, 0, 0, 0, 0, 90, 191, 0, 0, 2, 171, 93, 1, 0, 240, 55, 0, 0, 0, 0, 11, 1, 0, 0, 2, - 172, 93, 1, 0, 4, 1, 31, 32, 1, 53, 0, 0, 0, 0, 0, 176, 0, 0, 2, 173, 93, 1, 0, 40, 1, 53, 0, - 0, 0, 0, 133, 88, 0, 0, 2, 174, 93, 1, 0, 48, 1, 53, 0, 0, 0, 0, 22, 199, 0, 0, 2, 175, 93, 1, - 0, 144, 1, 0, 9, 27, 199, 0, 0, 20, 0, 0, 0, 0, 120, 2, 165, 27, 21, 0, 0, 0, 0, 14, 29, 0, 0, - 2, 166, 27, 0, 21, 0, 0, 0, 0, 111, 83, 0, 0, 2, 167, 27, 8, 21, 0, 0, 0, 0, 246, 90, 0, 0, 2, - 168, 27, 16, 21, 0, 0, 0, 0, 246, 90, 0, 0, 2, 169, 27, 24, 21, 0, 0, 0, 0, 123, 88, 0, 0, 2, - 170, 27, 32, 21, 0, 0, 0, 0, 79, 177, 0, 0, 2, 171, 27, 40, 21, 0, 0, 0, 0, 232, 199, 0, 0, 2, - 172, 27, 48, 21, 0, 0, 0, 0, 2, 200, 0, 0, 2, 173, 27, 56, 21, 0, 0, 0, 0, 116, 177, 0, 0, 2, - 174, 27, 64, 21, 0, 0, 0, 0, 100, 177, 0, 0, 2, 175, 27, 72, 21, 0, 0, 0, 0, 14, 200, 0, 0, 2, - 176, 27, 80, 21, 0, 0, 0, 0, 164, 200, 0, 0, 2, 177, 27, 88, 21, 0, 0, 0, 0, 180, 200, 0, 0, 2, - 178, 27, 96, 21, 0, 0, 0, 0, 184, 177, 0, 0, 2, 179, 27, 104, 21, 0, 0, 0, 0, 73, 198, 0, 0, 2, - 180, 27, 112, 0, 9, 237, 199, 0, 0, 13, 199, 53, 0, 0, 14, 203, 173, 0, 0, 14, 253, 199, 0, 0, - 0, 9, 213, 63, 0, 0, 9, 7, 200, 0, 0, 32, 14, 22, 199, 0, 0, 0, 9, 19, 200, 0, 0, 26, 24, 200, - 0, 0, 20, 0, 0, 0, 0, 48, 2, 79, 20, 21, 0, 0, 0, 0, 1, 3, 0, 0, 2, 80, 20, 0, 21, 0, 0, 0, 0, - 112, 200, 0, 0, 2, 81, 20, 8, 21, 0, 0, 0, 0, 124, 200, 0, 0, 2, 82, 20, 16, 21, 0, 0, 0, 0, - 136, 200, 0, 0, 2, 83, 20, 24, 21, 0, 0, 0, 0, 152, 200, 0, 0, 2, 84, 20, 32, 21, 0, 0, 0, 0, - 125, 141, 0, 0, 2, 85, 20, 40, 0, 9, 117, 200, 0, 0, 40, 219, 52, 0, 0, 41, 0, 9, 129, 200, 0, - 0, 40, 255, 0, 0, 0, 41, 0, 9, 141, 200, 0, 0, 13, 56, 1, 0, 0, 14, 140, 40, 0, 0, 0, 9, 157, - 200, 0, 0, 40, 56, 1, 0, 0, 41, 0, 9, 169, 200, 0, 0, 13, 56, 1, 0, 0, 14, 203, 173, 0, 0, 0, - 9, 185, 200, 0, 0, 32, 14, 203, 173, 0, 0, 14, 202, 200, 0, 0, 14, 207, 200, 0, 0, 0, 9, 224, - 63, 0, 0, 9, 21, 64, 0, 0, 9, 217, 200, 0, 0, 26, 222, 200, 0, 0, 20, 0, 0, 0, 0, 200, 2, 183, - 27, 21, 0, 0, 0, 0, 28, 201, 0, 0, 2, 184, 27, 0, 21, 0, 0, 0, 0, 28, 201, 0, 0, 2, 185, 27, - 32, 21, 0, 0, 0, 0, 40, 201, 0, 0, 2, 186, 27, 64, 21, 0, 0, 0, 0, 56, 1, 0, 0, 2, 187, 27, - 192, 0, 3, 75, 0, 0, 0, 4, 82, 0, 0, 0, 32, 0, 3, 75, 0, 0, 0, 4, 82, 0, 0, 0, 128, 0, 9, 57, - 201, 0, 0, 26, 62, 201, 0, 0, 20, 0, 0, 0, 0, 32, 2, 192, 27, 21, 0, 0, 0, 0, 124, 201, 0, 0, - 2, 193, 27, 0, 21, 0, 0, 0, 0, 136, 201, 0, 0, 2, 194, 27, 16, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, - 195, 27, 24, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 196, 27, 28, 0, 3, 129, 55, 0, 0, 4, 82, 0, 0, 0, - 9, 0, 33, 127, 29, 0, 0, 0, 0, 0, 0, 2, 190, 27, 9, 153, 201, 0, 0, 47, 0, 0, 0, 0, 152, 2, - 178, 93, 1, 0, 48, 0, 0, 0, 0, 198, 87, 0, 0, 2, 179, 93, 1, 0, 0, 48, 0, 0, 0, 0, 122, 174, 0, - 0, 2, 180, 93, 1, 0, 64, 48, 0, 0, 0, 0, 201, 174, 0, 0, 2, 181, 93, 1, 0, 104, 48, 0, 0, 0, 0, - 240, 201, 0, 0, 2, 182, 93, 1, 0, 136, 48, 0, 0, 0, 0, 250, 174, 0, 0, 2, 183, 93, 1, 0, 144, - 0, 9, 123, 87, 0, 0, 9, 250, 201, 0, 0, 26, 255, 201, 0, 0, 20, 0, 0, 0, 0, 48, 2, 156, 27, 21, - 0, 0, 0, 0, 14, 29, 0, 0, 2, 157, 27, 0, 21, 0, 0, 0, 0, 246, 90, 0, 0, 2, 158, 27, 8, 21, 0, - 0, 0, 0, 79, 177, 0, 0, 2, 159, 27, 16, 21, 0, 0, 0, 0, 87, 202, 0, 0, 2, 160, 27, 24, 21, 0, - 0, 0, 0, 116, 177, 0, 0, 2, 161, 27, 32, 21, 0, 0, 0, 0, 184, 177, 0, 0, 2, 162, 27, 40, 0, 9, - 92, 202, 0, 0, 13, 199, 53, 0, 0, 14, 203, 173, 0, 0, 14, 253, 199, 0, 0, 14, 202, 200, 0, 0, - 14, 207, 200, 0, 0, 0, 20, 0, 0, 0, 0, 56, 2, 90, 25, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 91, 25, - 0, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 92, 25, 16, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 93, 25, 32, - 21, 0, 0, 0, 0, 65, 3, 0, 0, 2, 94, 25, 48, 0, 27, 0, 0, 0, 0, 48, 1, 2, 119, 25, 21, 0, 0, 0, - 0, 149, 177, 0, 0, 2, 120, 25, 0, 34, 0, 0, 0, 0, 11, 1, 0, 0, 2, 121, 25, 4, 1, 31, 4, 34, 0, - 0, 0, 0, 11, 1, 0, 0, 2, 122, 25, 4, 1, 30, 4, 34, 0, 0, 0, 0, 219, 52, 0, 0, 2, 123, 25, 1, 1, - 5, 4, 34, 0, 0, 0, 0, 219, 52, 0, 0, 2, 124, 25, 1, 1, 4, 4, 34, 0, 0, 0, 0, 219, 52, 0, 0, 2, - 125, 25, 1, 1, 3, 4, 34, 0, 0, 0, 0, 219, 52, 0, 0, 2, 126, 25, 1, 1, 2, 4, 34, 0, 0, 0, 0, - 219, 52, 0, 0, 2, 127, 25, 1, 1, 1, 4, 34, 0, 0, 0, 0, 219, 52, 0, 0, 2, 128, 25, 1, 1, 0, 4, - 34, 0, 0, 0, 0, 219, 52, 0, 0, 2, 129, 25, 1, 1, 7, 5, 34, 0, 0, 0, 0, 219, 52, 0, 0, 2, 130, - 25, 1, 1, 6, 5, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 131, 25, 8, 21, 0, 0, 0, 0, 248, 68, 0, 0, 2, - 132, 25, 12, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 133, 25, 16, 21, 0, 0, 0, 0, 43, 167, 0, 0, 2, - 134, 25, 32, 21, 0, 0, 0, 0, 186, 205, 0, 0, 2, 135, 25, 64, 34, 0, 0, 0, 0, 219, 52, 0, 0, 2, - 136, 25, 1, 1, 7, 72, 34, 0, 0, 0, 0, 219, 52, 0, 0, 2, 137, 25, 1, 1, 6, 72, 34, 0, 0, 0, 0, - 219, 52, 0, 0, 2, 138, 25, 1, 1, 5, 72, 34, 0, 0, 0, 0, 11, 1, 0, 0, 2, 139, 25, 4, 1, 28, 72, - 34, 0, 0, 0, 0, 11, 1, 0, 0, 2, 140, 25, 4, 1, 27, 72, 21, 0, 0, 0, 0, 44, 207, 0, 0, 2, 141, - 25, 80, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 142, 25, 144, 21, 0, 0, 0, 0, 156, 163, 0, 0, 2, 143, - 25, 152, 21, 0, 0, 0, 0, 47, 107, 0, 0, 2, 144, 25, 184, 21, 0, 0, 0, 0, 211, 206, 0, 0, 2, - 145, 25, 208, 21, 0, 0, 0, 0, 176, 64, 0, 0, 2, 146, 25, 216, 21, 0, 0, 0, 0, 176, 64, 0, 0, 2, - 147, 25, 220, 34, 0, 0, 0, 0, 11, 1, 0, 0, 2, 148, 25, 4, 3, 29, 224, 34, 0, 0, 0, 0, 11, 1, 0, - 0, 2, 149, 25, 4, 1, 28, 224, 34, 0, 0, 0, 0, 11, 1, 0, 0, 2, 150, 25, 4, 1, 27, 224, 34, 0, 0, - 0, 0, 11, 1, 0, 0, 2, 151, 25, 4, 1, 26, 224, 34, 0, 0, 0, 0, 11, 1, 0, 0, 2, 152, 25, 4, 1, - 25, 224, 34, 0, 0, 0, 0, 11, 1, 0, 0, 2, 153, 25, 4, 1, 24, 224, 34, 0, 0, 0, 0, 219, 52, 0, 0, - 2, 154, 25, 1, 1, 7, 225, 34, 0, 0, 0, 0, 11, 1, 0, 0, 2, 155, 25, 4, 1, 22, 224, 34, 0, 0, 0, - 0, 11, 1, 0, 0, 2, 156, 25, 4, 1, 21, 224, 34, 0, 0, 0, 0, 11, 1, 0, 0, 2, 157, 25, 4, 1, 20, - 224, 34, 0, 0, 0, 0, 11, 1, 0, 0, 2, 158, 25, 4, 1, 19, 224, 34, 0, 0, 0, 0, 11, 1, 0, 0, 2, - 159, 25, 4, 1, 18, 224, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 160, 25, 228, 21, 0, 0, 0, 0, 129, 3, - 0, 0, 2, 161, 25, 232, 21, 0, 0, 0, 0, 173, 3, 0, 0, 2, 162, 25, 236, 21, 0, 0, 0, 0, 168, 0, - 0, 0, 2, 163, 25, 240, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 164, 25, 244, 21, 0, 0, 0, 0, 136, 68, - 0, 0, 2, 165, 25, 248, 28, 0, 0, 0, 0, 136, 68, 0, 0, 2, 166, 25, 0, 1, 28, 0, 0, 0, 0, 136, - 68, 0, 0, 2, 167, 25, 8, 1, 28, 0, 0, 0, 0, 136, 68, 0, 0, 2, 168, 25, 16, 1, 28, 0, 0, 0, 0, - 175, 209, 0, 0, 2, 169, 25, 24, 1, 28, 0, 0, 0, 0, 59, 210, 0, 0, 2, 170, 25, 32, 1, 28, 0, 0, - 0, 0, 76, 210, 0, 0, 2, 171, 25, 40, 1, 0, 9, 191, 205, 0, 0, 20, 0, 0, 0, 0, 192, 2, 238, 26, - 21, 0, 0, 0, 0, 14, 29, 0, 0, 2, 239, 26, 0, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 240, 26, 8, 21, - 0, 0, 0, 0, 227, 28, 0, 0, 2, 241, 26, 16, 21, 0, 0, 0, 0, 248, 68, 0, 0, 2, 242, 26, 32, 21, - 0, 0, 0, 0, 211, 206, 0, 0, 2, 243, 26, 40, 21, 0, 0, 0, 0, 173, 161, 0, 0, 2, 244, 26, 48, 21, - 0, 0, 0, 0, 127, 29, 0, 0, 2, 245, 26, 88, 21, 0, 0, 0, 0, 32, 207, 0, 0, 2, 246, 26, 96, 21, - 0, 0, 0, 0, 32, 207, 0, 0, 2, 247, 26, 104, 21, 0, 0, 0, 0, 32, 207, 0, 0, 2, 248, 26, 112, 21, - 0, 0, 0, 0, 32, 207, 0, 0, 2, 249, 26, 120, 21, 0, 0, 0, 0, 32, 207, 0, 0, 2, 250, 26, 128, 21, - 0, 0, 0, 0, 127, 29, 0, 0, 2, 251, 26, 136, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 252, 26, 144, 21, - 0, 0, 0, 0, 127, 29, 0, 0, 2, 253, 26, 152, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 254, 26, 160, 21, - 0, 0, 0, 0, 127, 29, 0, 0, 2, 255, 26, 168, 21, 0, 0, 0, 0, 203, 173, 0, 0, 2, 0, 27, 176, 34, - 0, 0, 0, 0, 219, 52, 0, 0, 2, 1, 27, 1, 1, 7, 184, 34, 0, 0, 0, 0, 219, 52, 0, 0, 2, 2, 27, 1, - 1, 6, 184, 0, 9, 216, 206, 0, 0, 47, 0, 0, 0, 0, 24, 2, 149, 93, 1, 0, 48, 0, 0, 0, 0, 203, - 173, 0, 0, 2, 150, 93, 1, 0, 0, 48, 0, 0, 0, 0, 11, 1, 0, 0, 2, 151, 93, 1, 0, 8, 48, 0, 0, 0, - 0, 168, 0, 0, 0, 2, 152, 93, 1, 0, 12, 48, 0, 0, 0, 0, 14, 29, 0, 0, 2, 153, 93, 1, 0, 16, 0, - 33, 111, 97, 0, 0, 0, 0, 0, 0, 2, 200, 1, 20, 0, 0, 0, 0, 64, 2, 214, 1, 21, 0, 0, 0, 0, 158, - 207, 0, 0, 2, 215, 1, 0, 21, 0, 0, 0, 0, 32, 207, 0, 0, 2, 216, 1, 32, 21, 0, 0, 0, 0, 194, - 207, 0, 0, 2, 217, 1, 40, 21, 0, 0, 0, 0, 215, 207, 0, 0, 2, 218, 1, 48, 21, 0, 0, 0, 0, 118, - 55, 0, 0, 2, 219, 1, 56, 21, 0, 0, 0, 0, 118, 55, 0, 0, 2, 220, 1, 57, 21, 0, 0, 0, 0, 118, 55, - 0, 0, 2, 221, 1, 58, 21, 0, 0, 0, 0, 118, 55, 0, 0, 2, 222, 1, 59, 0, 20, 0, 0, 0, 0, 32, 2, - 202, 1, 21, 0, 0, 0, 0, 86, 40, 0, 0, 2, 203, 1, 0, 21, 0, 0, 0, 0, 32, 207, 0, 0, 2, 204, 1, - 24, 0, 9, 199, 207, 0, 0, 13, 103, 3, 0, 0, 14, 210, 207, 0, 0, 0, 9, 44, 207, 0, 0, 9, 220, - 207, 0, 0, 20, 0, 0, 0, 0, 64, 2, 187, 9, 21, 0, 0, 0, 0, 78, 208, 0, 0, 2, 188, 9, 0, 21, 0, - 0, 0, 0, 11, 1, 0, 0, 2, 189, 9, 8, 21, 0, 0, 0, 0, 83, 209, 0, 0, 2, 190, 9, 12, 21, 0, 0, 0, - 0, 105, 209, 0, 0, 2, 191, 9, 16, 21, 0, 0, 0, 0, 210, 207, 0, 0, 2, 192, 9, 24, 21, 0, 0, 0, - 0, 140, 209, 0, 0, 2, 193, 9, 32, 21, 0, 0, 0, 0, 163, 209, 0, 0, 2, 194, 9, 48, 21, 0, 0, 0, - 0, 32, 207, 0, 0, 2, 195, 9, 56, 0, 9, 83, 208, 0, 0, 27, 0, 0, 0, 0, 64, 2, 2, 198, 9, 21, 0, - 0, 0, 0, 231, 97, 0, 0, 2, 199, 9, 0, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 200, 9, 4, 21, 0, 0, 0, - 0, 11, 1, 0, 0, 2, 201, 9, 8, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 202, 9, 12, 34, 0, 0, 0, 0, 11, - 1, 0, 0, 2, 203, 9, 4, 1, 31, 16, 34, 0, 0, 0, 0, 11, 1, 0, 0, 2, 204, 9, 4, 1, 30, 16, 34, 0, - 0, 0, 0, 11, 1, 0, 0, 2, 205, 9, 4, 1, 29, 16, 34, 0, 0, 0, 0, 11, 1, 0, 0, 2, 206, 9, 4, 1, - 28, 16, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 207, 9, 20, 21, 0, 0, 0, 0, 225, 48, 0, 0, 2, 208, 9, - 24, 21, 0, 0, 0, 0, 225, 48, 0, 0, 2, 209, 9, 26, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 210, 9, 28, - 21, 0, 0, 0, 0, 32, 207, 0, 0, 2, 211, 9, 32, 21, 0, 0, 0, 0, 210, 207, 0, 0, 2, 212, 9, 40, - 21, 0, 0, 0, 0, 32, 207, 0, 0, 2, 213, 9, 48, 21, 0, 0, 0, 0, 210, 207, 0, 0, 2, 214, 9, 56, - 21, 0, 0, 0, 0, 71, 209, 0, 0, 2, 215, 9, 64, 0, 3, 220, 207, 0, 0, 4, 82, 0, 0, 0, 8, 0, 12, - 94, 209, 0, 0, 0, 0, 0, 0, 2, 75, 12, 168, 0, 0, 0, 0, 0, 0, 0, 2, 63, 33, 117, 209, 0, 0, 0, - 0, 0, 0, 2, 209, 7, 20, 0, 0, 0, 0, 4, 2, 205, 7, 21, 0, 0, 0, 0, 208, 67, 0, 0, 2, 206, 7, 0, - 0, 20, 0, 0, 0, 0, 16, 2, 49, 2, 21, 0, 0, 0, 0, 63, 144, 0, 0, 2, 50, 2, 0, 0, 9, 168, 209, 0, - 0, 40, 32, 207, 0, 0, 41, 0, 9, 180, 209, 0, 0, 20, 0, 0, 0, 0, 72, 2, 229, 26, 21, 0, 0, 0, 0, - 248, 68, 0, 0, 2, 230, 26, 0, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 231, 26, 4, 21, 0, 0, 0, 0, 11, - 1, 0, 0, 2, 232, 26, 8, 21, 0, 0, 0, 0, 241, 106, 0, 0, 2, 233, 26, 16, 21, 0, 0, 0, 0, 227, - 28, 0, 0, 2, 234, 26, 48, 21, 0, 0, 0, 0, 12, 210, 0, 0, 2, 235, 26, 64, 0, 9, 17, 210, 0, 0, - 47, 0, 0, 0, 0, 24, 2, 15, 39, 1, 0, 48, 0, 0, 0, 0, 227, 28, 0, 0, 2, 16, 39, 1, 0, 0, 48, 0, - 0, 0, 0, 203, 173, 0, 0, 2, 17, 39, 1, 0, 16, 0, 9, 64, 210, 0, 0, 32, 14, 203, 173, 0, 0, 14, - 101, 103, 0, 0, 0, 9, 81, 210, 0, 0, 27, 0, 0, 0, 0, 48, 1, 2, 139, 81, 21, 0, 0, 0, 0, 187, - 210, 0, 0, 2, 140, 81, 0, 21, 0, 0, 0, 0, 187, 210, 0, 0, 2, 141, 81, 40, 21, 0, 0, 0, 0, 47, - 211, 0, 0, 2, 142, 81, 80, 28, 0, 0, 0, 0, 109, 211, 0, 0, 2, 143, 81, 0, 1, 28, 0, 0, 0, 0, - 145, 211, 0, 0, 2, 144, 81, 24, 1, 28, 0, 0, 0, 0, 145, 211, 0, 0, 2, 145, 81, 32, 1, 28, 0, 0, - 0, 0, 145, 211, 0, 0, 2, 146, 81, 40, 1, 0, 20, 0, 0, 0, 0, 40, 2, 116, 81, 21, 0, 0, 0, 0, 19, - 211, 0, 0, 2, 117, 81, 0, 21, 0, 0, 0, 0, 101, 103, 0, 0, 2, 118, 81, 16, 21, 0, 0, 0, 0, 101, - 103, 0, 0, 2, 119, 81, 20, 21, 0, 0, 0, 0, 101, 103, 0, 0, 2, 120, 81, 24, 21, 0, 0, 0, 0, 211, - 3, 0, 0, 2, 121, 81, 28, 21, 0, 0, 0, 0, 42, 211, 0, 0, 2, 122, 81, 32, 0, 20, 0, 0, 0, 0, 16, - 2, 106, 81, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 107, 81, 0, 0, 9, 90, 191, 0, 0, 20, 0, 0, 0, 0, - 176, 2, 125, 81, 21, 0, 0, 0, 0, 187, 210, 0, 0, 2, 126, 81, 0, 21, 0, 0, 0, 0, 90, 191, 0, 0, - 2, 127, 81, 40, 21, 0, 0, 0, 0, 187, 210, 0, 0, 2, 128, 81, 88, 21, 0, 0, 0, 0, 90, 191, 0, 0, - 2, 129, 81, 128, 0, 20, 0, 0, 0, 0, 24, 2, 132, 81, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 133, 81, - 0, 21, 0, 0, 0, 0, 101, 103, 0, 0, 2, 134, 81, 16, 0, 9, 150, 211, 0, 0, 20, 0, 0, 0, 0, 72, 2, - 243, 81, 21, 0, 0, 0, 0, 243, 3, 0, 0, 2, 244, 81, 0, 21, 0, 0, 0, 0, 185, 211, 0, 0, 2, 249, - 81, 8, 23, 56, 2, 245, 81, 21, 0, 0, 0, 0, 244, 211, 0, 0, 2, 246, 81, 0, 21, 0, 0, 0, 0, 37, - 212, 0, 0, 2, 247, 81, 0, 21, 0, 0, 0, 0, 73, 212, 0, 0, 2, 248, 81, 0, 0, 21, 0, 0, 0, 0, 203, - 173, 0, 0, 2, 250, 81, 64, 0, 20, 0, 0, 0, 0, 40, 2, 18, 2, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, - 19, 2, 0, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 20, 2, 8, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 21, 2, - 24, 0, 20, 0, 0, 0, 0, 24, 2, 219, 81, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 220, 81, 0, 21, 0, 0, - 0, 0, 101, 103, 0, 0, 2, 221, 81, 16, 0, 20, 0, 0, 0, 0, 56, 2, 229, 81, 21, 0, 0, 0, 0, 31, 4, - 0, 0, 2, 230, 81, 0, 21, 0, 0, 0, 0, 244, 211, 0, 0, 2, 231, 81, 8, 21, 0, 0, 0, 0, 122, 212, - 0, 0, 2, 232, 81, 48, 0, 9, 47, 211, 0, 0, 9, 132, 212, 0, 0, 20, 0, 0, 0, 0, 224, 2, 5, 27, - 21, 0, 0, 0, 0, 194, 177, 0, 0, 2, 6, 27, 0, 21, 0, 0, 0, 0, 100, 177, 0, 0, 2, 7, 27, 184, 21, - 0, 0, 0, 0, 220, 212, 0, 0, 2, 8, 27, 192, 21, 0, 0, 0, 0, 100, 177, 0, 0, 2, 9, 27, 200, 21, - 0, 0, 0, 0, 116, 177, 0, 0, 2, 10, 27, 208, 21, 0, 0, 0, 0, 116, 177, 0, 0, 2, 11, 27, 216, 0, - 9, 225, 212, 0, 0, 32, 14, 203, 173, 0, 0, 14, 219, 52, 0, 0, 0, 9, 242, 212, 0, 0, 20, 0, 0, - 0, 0, 16, 2, 194, 26, 21, 0, 0, 0, 0, 48, 213, 0, 0, 2, 195, 26, 0, 21, 0, 0, 0, 0, 168, 0, 0, - 0, 2, 196, 26, 8, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 197, 26, 12, 21, 0, 0, 0, 0, 102, 213, 0, 0, - 2, 198, 26, 16, 0, 9, 53, 213, 0, 0, 20, 0, 0, 0, 0, 24, 2, 188, 26, 21, 0, 0, 0, 0, 127, 29, - 0, 0, 2, 189, 26, 0, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 190, 26, 8, 21, 0, 0, 0, 0, 127, 29, 0, - 0, 2, 191, 26, 16, 0, 3, 127, 29, 0, 0, 4, 82, 0, 0, 0, 0, 0, 9, 119, 213, 0, 0, 20, 0, 0, 0, - 0, 144, 2, 127, 19, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 128, 19, 0, 21, 0, 0, 0, 0, 14, 29, 0, 0, - 2, 129, 19, 16, 21, 0, 0, 0, 0, 68, 214, 0, 0, 2, 130, 19, 24, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, - 131, 19, 32, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 132, 19, 40, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 133, - 19, 44, 21, 0, 0, 0, 0, 104, 187, 0, 0, 2, 134, 19, 48, 21, 0, 0, 0, 0, 57, 4, 0, 0, 2, 135, - 19, 56, 21, 0, 0, 0, 0, 52, 226, 0, 0, 2, 136, 19, 64, 21, 0, 0, 0, 0, 114, 213, 0, 0, 2, 137, - 19, 72, 21, 0, 0, 0, 0, 106, 215, 0, 0, 2, 138, 19, 80, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 139, - 19, 88, 21, 0, 0, 0, 0, 215, 152, 0, 0, 2, 140, 19, 96, 21, 0, 0, 0, 0, 241, 106, 0, 0, 2, 141, - 19, 112, 21, 0, 0, 0, 0, 180, 236, 0, 0, 2, 142, 19, 144, 0, 9, 73, 214, 0, 0, 26, 78, 214, 0, - 0, 20, 0, 0, 0, 0, 80, 2, 119, 31, 21, 0, 0, 0, 0, 218, 214, 0, 0, 2, 120, 31, 0, 21, 0, 0, 0, - 0, 244, 214, 0, 0, 2, 121, 31, 8, 21, 0, 0, 0, 0, 80, 215, 0, 0, 2, 122, 31, 16, 21, 0, 0, 0, - 0, 118, 215, 0, 0, 2, 123, 31, 24, 21, 0, 0, 0, 0, 135, 215, 0, 0, 2, 124, 31, 32, 21, 0, 0, 0, - 0, 191, 215, 0, 0, 2, 125, 31, 40, 21, 0, 0, 0, 0, 222, 215, 0, 0, 2, 126, 31, 48, 21, 0, 0, 0, - 0, 244, 215, 0, 0, 2, 127, 31, 56, 21, 0, 0, 0, 0, 4, 226, 0, 0, 2, 128, 31, 64, 21, 0, 0, 0, - 0, 21, 226, 0, 0, 2, 129, 31, 72, 0, 9, 223, 214, 0, 0, 13, 168, 0, 0, 0, 14, 114, 213, 0, 0, - 14, 193, 192, 0, 0, 14, 57, 4, 0, 0, 0, 9, 249, 214, 0, 0, 13, 168, 0, 0, 0, 14, 114, 213, 0, - 0, 14, 14, 215, 0, 0, 14, 57, 4, 0, 0, 0, 9, 19, 215, 0, 0, 20, 0, 0, 0, 0, 80, 2, 113, 31, 21, - 0, 0, 0, 0, 104, 187, 0, 0, 2, 114, 31, 0, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 115, 31, 8, 21, 0, - 0, 0, 0, 68, 215, 0, 0, 2, 116, 31, 12, 0, 3, 125, 68, 0, 0, 4, 82, 0, 0, 0, 16, 0, 9, 85, 215, - 0, 0, 13, 168, 0, 0, 0, 14, 114, 213, 0, 0, 14, 11, 1, 0, 0, 14, 106, 215, 0, 0, 0, 33, 127, - 29, 0, 0, 0, 0, 0, 0, 2, 241, 15, 9, 123, 215, 0, 0, 32, 14, 114, 213, 0, 0, 14, 11, 1, 0, 0, - 0, 9, 140, 215, 0, 0, 13, 168, 0, 0, 0, 14, 114, 213, 0, 0, 14, 193, 192, 0, 0, 14, 176, 215, - 0, 0, 14, 11, 1, 0, 0, 14, 75, 110, 0, 0, 14, 186, 215, 0, 0, 0, 9, 181, 215, 0, 0, 26, 125, - 68, 0, 0, 9, 11, 1, 0, 0, 9, 196, 215, 0, 0, 13, 168, 0, 0, 0, 14, 114, 213, 0, 0, 14, 11, 1, - 0, 0, 14, 11, 1, 0, 0, 14, 255, 0, 0, 0, 0, 9, 227, 215, 0, 0, 32, 14, 114, 213, 0, 0, 14, 11, - 1, 0, 0, 14, 11, 1, 0, 0, 0, 9, 249, 215, 0, 0, 13, 168, 0, 0, 0, 14, 114, 213, 0, 0, 14, 14, - 216, 0, 0, 14, 219, 52, 0, 0, 0, 9, 19, 216, 0, 0, 20, 0, 0, 0, 0, 56, 2, 92, 57, 21, 0, 0, 0, - 0, 125, 68, 0, 0, 2, 93, 57, 0, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 94, 57, 4, 21, 0, 0, 0, 0, 127, - 29, 0, 0, 2, 95, 57, 8, 21, 0, 0, 0, 0, 133, 216, 0, 0, 2, 96, 57, 16, 21, 0, 0, 0, 0, 47, 223, - 0, 0, 2, 97, 57, 24, 21, 0, 0, 0, 0, 114, 213, 0, 0, 2, 98, 57, 32, 21, 0, 0, 0, 0, 14, 216, 0, - 0, 2, 99, 57, 40, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 100, 57, 48, 0, 9, 138, 216, 0, 0, 20, 0, 0, - 0, 0, 104, 2, 81, 57, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 82, 57, 0, 21, 0, 0, 0, 0, 11, 1, 0, 0, - 2, 83, 57, 4, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 84, 57, 8, 21, 0, 0, 0, 0, 226, 216, 0, 0, 2, - 85, 57, 16, 21, 0, 0, 0, 0, 188, 170, 0, 0, 2, 86, 57, 24, 21, 0, 0, 0, 0, 188, 170, 0, 0, 2, - 87, 57, 64, 0, 9, 231, 216, 0, 0, 20, 0, 0, 0, 0, 104, 2, 215, 57, 21, 0, 0, 0, 0, 227, 28, 0, - 0, 2, 216, 57, 0, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 217, 57, 16, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, - 218, 57, 20, 21, 0, 0, 0, 0, 203, 173, 0, 0, 2, 219, 57, 24, 21, 0, 0, 0, 0, 138, 218, 0, 0, 2, - 220, 57, 32, 21, 0, 0, 0, 0, 219, 220, 0, 0, 2, 221, 57, 48, 21, 0, 0, 0, 0, 56, 1, 0, 0, 2, - 222, 57, 56, 21, 0, 0, 0, 0, 7, 221, 0, 0, 2, 223, 57, 64, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, - 224, 57, 72, 22, 110, 217, 0, 0, 2, 225, 57, 80, 23, 24, 2, 225, 57, 22, 124, 217, 0, 0, 2, - 226, 57, 0, 24, 24, 2, 226, 57, 22, 138, 217, 0, 0, 2, 227, 57, 0, 23, 4, 2, 227, 57, 21, 0, 0, - 0, 0, 125, 68, 0, 0, 2, 228, 57, 0, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 229, 57, 0, 0, 21, 0, 0, - 0, 0, 183, 217, 0, 0, 2, 240, 57, 4, 24, 8, 2, 231, 57, 34, 0, 0, 0, 0, 118, 55, 0, 0, 2, 232, - 57, 1, 1, 7, 0, 34, 0, 0, 0, 0, 118, 55, 0, 0, 2, 233, 57, 1, 3, 4, 0, 34, 0, 0, 0, 0, 118, 55, - 0, 0, 2, 234, 57, 1, 3, 1, 0, 34, 0, 0, 0, 0, 118, 55, 0, 0, 2, 235, 57, 1, 1, 0, 0, 34, 0, 0, - 0, 0, 118, 55, 0, 0, 2, 236, 57, 1, 1, 7, 1, 34, 0, 0, 0, 0, 118, 55, 0, 0, 2, 237, 57, 1, 1, - 6, 1, 21, 0, 0, 0, 0, 177, 69, 0, 0, 2, 238, 57, 2, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 239, 57, 4, - 0, 22, 64, 218, 0, 0, 2, 241, 57, 16, 23, 8, 2, 241, 57, 21, 0, 0, 0, 0, 118, 55, 0, 0, 2, 242, - 57, 0, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 243, 57, 0, 0, 0, 21, 0, 0, 0, 0, 24, 221, 0, 0, 2, - 246, 57, 0, 21, 0, 0, 0, 0, 1, 223, 0, 0, 2, 247, 57, 0, 21, 0, 0, 0, 0, 24, 223, 0, 0, 2, 248, - 57, 0, 0, 0, 20, 0, 0, 0, 0, 16, 2, 185, 57, 22, 156, 218, 0, 0, 2, 186, 57, 0, 23, 4, 2, 186, - 57, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 187, 57, 0, 21, 0, 0, 0, 0, 15, 219, 0, 0, 2, 188, 57, 0, - 0, 22, 197, 218, 0, 0, 2, 190, 57, 4, 23, 4, 2, 190, 57, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 191, - 57, 0, 21, 0, 0, 0, 0, 34, 220, 0, 0, 2, 192, 57, 0, 0, 22, 238, 218, 0, 0, 2, 194, 57, 8, 23, - 8, 2, 194, 57, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 195, 57, 0, 21, 0, 0, 0, 0, 88, 220, 0, 0, 2, - 196, 57, 0, 0, 0, 33, 27, 219, 0, 0, 0, 0, 0, 0, 2, 164, 57, 20, 0, 0, 0, 0, 4, 2, 142, 57, 22, - 45, 219, 0, 0, 2, 143, 57, 0, 23, 4, 2, 143, 57, 22, 59, 219, 0, 0, 2, 144, 57, 0, 24, 4, 2, - 144, 57, 34, 0, 0, 0, 0, 125, 68, 0, 0, 2, 145, 57, 4, 2, 30, 0, 34, 0, 0, 0, 0, 125, 68, 0, 0, - 2, 146, 57, 4, 1, 29, 0, 34, 0, 0, 0, 0, 125, 68, 0, 0, 2, 147, 57, 4, 1, 28, 0, 34, 0, 0, 0, - 0, 125, 68, 0, 0, 2, 148, 57, 4, 1, 27, 0, 34, 0, 0, 0, 0, 125, 68, 0, 0, 2, 149, 57, 4, 7, 20, - 0, 34, 0, 0, 0, 0, 125, 68, 0, 0, 2, 150, 57, 4, 8, 12, 0, 34, 0, 0, 0, 0, 125, 68, 0, 0, 2, - 151, 57, 4, 12, 0, 0, 0, 22, 186, 219, 0, 0, 2, 153, 57, 0, 24, 4, 2, 153, 57, 34, 0, 0, 0, 0, - 125, 68, 0, 0, 2, 154, 57, 4, 2, 30, 0, 34, 0, 0, 0, 0, 125, 68, 0, 0, 2, 155, 57, 4, 1, 29, 0, - 34, 0, 0, 0, 0, 125, 68, 0, 0, 2, 156, 57, 4, 1, 28, 0, 34, 0, 0, 0, 0, 125, 68, 0, 0, 2, 157, - 57, 4, 1, 27, 0, 34, 0, 0, 0, 0, 125, 68, 0, 0, 2, 158, 57, 4, 15, 12, 0, 34, 0, 0, 0, 0, 125, - 68, 0, 0, 2, 159, 57, 4, 12, 0, 0, 0, 0, 0, 33, 46, 220, 0, 0, 0, 0, 0, 0, 2, 171, 57, 20, 0, - 0, 0, 0, 4, 2, 166, 57, 34, 0, 0, 0, 0, 125, 68, 0, 0, 2, 167, 57, 4, 8, 24, 0, 34, 0, 0, 0, 0, - 125, 68, 0, 0, 2, 168, 57, 4, 24, 0, 0, 0, 33, 100, 220, 0, 0, 0, 0, 0, 0, 2, 183, 57, 20, 0, - 0, 0, 0, 6, 2, 173, 57, 34, 0, 0, 0, 0, 125, 68, 0, 0, 2, 174, 57, 4, 8, 24, 0, 34, 0, 0, 0, 0, - 125, 68, 0, 0, 2, 175, 57, 4, 3, 21, 0, 34, 0, 0, 0, 0, 125, 68, 0, 0, 2, 176, 57, 4, 1, 20, 0, - 34, 0, 0, 0, 0, 125, 68, 0, 0, 2, 177, 57, 4, 2, 18, 0, 34, 0, 0, 0, 0, 125, 68, 0, 0, 2, 178, - 57, 4, 1, 17, 0, 34, 0, 0, 0, 0, 125, 68, 0, 0, 2, 179, 57, 4, 1, 16, 0, 21, 0, 0, 0, 0, 125, - 68, 0, 0, 2, 180, 57, 2, 0, 9, 224, 220, 0, 0, 20, 0, 0, 0, 0, 48, 2, 35, 57, 21, 0, 0, 0, 0, - 212, 170, 0, 0, 2, 36, 57, 0, 34, 0, 0, 0, 0, 11, 1, 0, 0, 2, 37, 57, 4, 1, 31, 40, 0, 9, 12, - 221, 0, 0, 32, 14, 226, 216, 0, 0, 14, 255, 0, 0, 0, 0, 20, 0, 0, 0, 0, 16, 2, 202, 57, 21, 0, - 0, 0, 0, 60, 221, 0, 0, 2, 203, 57, 0, 21, 0, 0, 0, 0, 177, 69, 0, 0, 2, 204, 57, 8, 0, 9, 65, - 221, 0, 0, 47, 0, 0, 0, 0, 112, 2, 133, 98, 1, 0, 48, 0, 0, 0, 0, 203, 173, 0, 0, 2, 134, 98, - 1, 0, 0, 48, 0, 0, 0, 0, 255, 0, 0, 0, 2, 135, 98, 1, 0, 8, 48, 0, 0, 0, 0, 246, 90, 0, 0, 2, - 136, 98, 1, 0, 16, 48, 0, 0, 0, 0, 167, 221, 0, 0, 2, 137, 98, 1, 0, 24, 48, 0, 0, 0, 0, 221, - 222, 0, 0, 2, 138, 98, 1, 0, 96, 48, 0, 0, 0, 0, 168, 0, 0, 0, 2, 139, 98, 1, 0, 104, 0, 33, - 179, 221, 0, 0, 0, 0, 0, 0, 2, 145, 85, 20, 0, 0, 0, 0, 72, 2, 120, 85, 21, 0, 0, 0, 0, 137, 4, - 0, 0, 2, 121, 85, 0, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 122, 85, 4, 21, 0, 0, 0, 0, 125, 68, 0, - 0, 2, 123, 85, 8, 21, 0, 0, 0, 0, 106, 215, 0, 0, 2, 124, 85, 16, 21, 0, 0, 0, 0, 65, 222, 0, - 0, 2, 125, 85, 24, 21, 0, 0, 0, 0, 226, 216, 0, 0, 2, 126, 85, 32, 21, 0, 0, 0, 0, 255, 0, 0, - 0, 2, 127, 85, 40, 22, 32, 222, 0, 0, 2, 128, 85, 48, 23, 24, 2, 128, 85, 21, 0, 0, 0, 0, 75, - 222, 0, 0, 2, 129, 85, 0, 21, 0, 0, 0, 0, 159, 222, 0, 0, 2, 130, 85, 0, 0, 0, 9, 70, 222, 0, - 0, 26, 212, 170, 0, 0, 20, 0, 0, 0, 0, 12, 2, 105, 85, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 106, - 85, 0, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 107, 85, 4, 34, 0, 0, 0, 0, 125, 68, 0, 0, 2, 108, 85, - 4, 1, 31, 8, 34, 0, 0, 0, 0, 125, 68, 0, 0, 2, 109, 85, 4, 1, 30, 8, 34, 0, 0, 0, 0, 125, 68, - 0, 0, 2, 110, 85, 4, 1, 29, 8, 0, 20, 0, 0, 0, 0, 24, 2, 113, 85, 21, 0, 0, 0, 0, 168, 0, 0, 0, - 2, 114, 85, 0, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 115, 85, 4, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, - 116, 85, 8, 21, 0, 0, 0, 0, 199, 53, 0, 0, 2, 117, 85, 16, 0, 54, 235, 222, 0, 0, 0, 0, 0, 0, - 2, 131, 98, 1, 0, 9, 240, 222, 0, 0, 32, 14, 226, 216, 0, 0, 14, 252, 222, 0, 0, 0, 9, 138, - 218, 0, 0, 20, 0, 0, 0, 0, 2, 2, 207, 57, 21, 0, 0, 0, 0, 177, 69, 0, 0, 2, 208, 57, 0, 0, 20, - 0, 0, 0, 0, 2, 2, 211, 57, 21, 0, 0, 0, 0, 177, 69, 0, 0, 2, 212, 57, 0, 0, 9, 52, 223, 0, 0, - 27, 0, 0, 0, 0, 32, 1, 2, 252, 57, 21, 0, 0, 0, 0, 203, 173, 0, 0, 2, 253, 57, 0, 21, 0, 0, 0, - 0, 14, 29, 0, 0, 2, 254, 57, 8, 21, 0, 0, 0, 0, 23, 225, 0, 0, 2, 255, 57, 16, 21, 0, 0, 0, 0, - 39, 225, 0, 0, 2, 0, 58, 24, 21, 0, 0, 0, 0, 39, 225, 0, 0, 2, 1, 58, 32, 21, 0, 0, 0, 0, 39, - 225, 0, 0, 2, 2, 58, 40, 21, 0, 0, 0, 0, 39, 225, 0, 0, 2, 3, 58, 48, 21, 0, 0, 0, 0, 39, 225, - 0, 0, 2, 4, 58, 56, 21, 0, 0, 0, 0, 39, 225, 0, 0, 2, 5, 58, 64, 21, 0, 0, 0, 0, 39, 225, 0, 0, - 2, 6, 58, 72, 21, 0, 0, 0, 0, 39, 225, 0, 0, 2, 7, 58, 80, 21, 0, 0, 0, 0, 51, 225, 0, 0, 2, 8, - 58, 88, 21, 0, 0, 0, 0, 77, 225, 0, 0, 2, 9, 58, 96, 21, 0, 0, 0, 0, 93, 225, 0, 0, 2, 10, 58, - 104, 21, 0, 0, 0, 0, 93, 225, 0, 0, 2, 11, 58, 112, 21, 0, 0, 0, 0, 39, 225, 0, 0, 2, 12, 58, - 120, 21, 0, 0, 0, 0, 39, 225, 0, 0, 2, 13, 58, 128, 21, 0, 0, 0, 0, 39, 225, 0, 0, 2, 14, 58, - 136, 21, 0, 0, 0, 0, 39, 225, 0, 0, 2, 15, 58, 144, 21, 0, 0, 0, 0, 39, 225, 0, 0, 2, 16, 58, - 152, 21, 0, 0, 0, 0, 39, 225, 0, 0, 2, 17, 58, 160, 21, 0, 0, 0, 0, 39, 225, 0, 0, 2, 18, 58, - 168, 21, 0, 0, 0, 0, 39, 225, 0, 0, 2, 19, 58, 176, 21, 0, 0, 0, 0, 114, 225, 0, 0, 2, 20, 58, - 184, 21, 0, 0, 0, 0, 77, 225, 0, 0, 2, 21, 58, 192, 21, 0, 0, 0, 0, 39, 225, 0, 0, 2, 22, 58, - 200, 21, 0, 0, 0, 0, 131, 225, 0, 0, 2, 23, 58, 208, 21, 0, 0, 0, 0, 131, 225, 0, 0, 2, 24, 58, - 216, 21, 0, 0, 0, 0, 148, 225, 0, 0, 2, 25, 58, 224, 21, 0, 0, 0, 0, 179, 225, 0, 0, 2, 26, 58, - 232, 21, 0, 0, 0, 0, 205, 225, 0, 0, 2, 27, 58, 240, 21, 0, 0, 0, 0, 226, 225, 0, 0, 2, 28, 58, - 248, 28, 0, 0, 0, 0, 243, 225, 0, 0, 2, 29, 58, 0, 1, 28, 0, 0, 0, 0, 77, 225, 0, 0, 2, 30, 58, - 8, 1, 28, 0, 0, 0, 0, 39, 225, 0, 0, 2, 31, 58, 16, 1, 28, 0, 0, 0, 0, 127, 29, 0, 0, 2, 32, - 58, 24, 1, 0, 9, 28, 225, 0, 0, 13, 11, 1, 0, 0, 14, 14, 216, 0, 0, 0, 9, 44, 225, 0, 0, 32, - 14, 14, 216, 0, 0, 0, 9, 56, 225, 0, 0, 13, 168, 0, 0, 0, 14, 14, 216, 0, 0, 14, 65, 222, 0, 0, - 14, 219, 52, 0, 0, 0, 9, 82, 225, 0, 0, 13, 168, 0, 0, 0, 14, 14, 216, 0, 0, 0, 9, 98, 225, 0, - 0, 13, 168, 0, 0, 0, 14, 14, 216, 0, 0, 14, 11, 1, 0, 0, 0, 9, 119, 225, 0, 0, 32, 14, 14, 216, - 0, 0, 14, 71, 114, 0, 0, 0, 9, 136, 225, 0, 0, 32, 14, 14, 216, 0, 0, 14, 252, 222, 0, 0, 0, 9, - 153, 225, 0, 0, 13, 168, 0, 0, 0, 14, 14, 216, 0, 0, 14, 193, 4, 0, 0, 14, 174, 225, 0, 0, 0, - 9, 219, 52, 0, 0, 9, 184, 225, 0, 0, 13, 168, 0, 0, 0, 14, 14, 216, 0, 0, 14, 193, 4, 0, 0, 14, - 219, 52, 0, 0, 0, 9, 210, 225, 0, 0, 13, 168, 0, 0, 0, 14, 14, 216, 0, 0, 14, 255, 0, 0, 0, 0, - 9, 231, 225, 0, 0, 32, 14, 14, 216, 0, 0, 14, 11, 1, 0, 0, 0, 9, 248, 225, 0, 0, 32, 14, 14, - 216, 0, 0, 14, 65, 222, 0, 0, 0, 9, 9, 226, 0, 0, 32, 14, 114, 213, 0, 0, 14, 14, 216, 0, 0, 0, - 9, 26, 226, 0, 0, 13, 168, 0, 0, 0, 14, 114, 213, 0, 0, 14, 14, 215, 0, 0, 14, 75, 110, 0, 0, - 14, 186, 215, 0, 0, 0, 9, 57, 226, 0, 0, 20, 0, 0, 0, 0, 24, 2, 85, 58, 21, 0, 0, 0, 0, 11, 1, - 0, 0, 2, 86, 58, 0, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 87, 58, 4, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, - 88, 58, 8, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 89, 58, 12, 21, 0, 0, 0, 0, 231, 4, 0, 0, 2, 90, 58, - 16, 21, 0, 0, 0, 0, 145, 226, 0, 0, 2, 91, 58, 24, 0, 3, 157, 226, 0, 0, 4, 82, 0, 0, 0, 0, 0, - 9, 162, 226, 0, 0, 20, 0, 0, 0, 0, 128, 2, 54, 58, 21, 0, 0, 0, 0, 231, 97, 0, 0, 2, 55, 58, 0, - 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 56, 58, 8, 21, 0, 0, 0, 0, 176, 227, 0, 0, 2, 57, 58, 16, 21, - 0, 0, 0, 0, 192, 227, 0, 0, 2, 58, 58, 24, 21, 0, 0, 0, 0, 209, 227, 0, 0, 2, 59, 58, 32, 21, - 0, 0, 0, 0, 209, 227, 0, 0, 2, 60, 58, 40, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 61, 58, 48, 21, 0, - 0, 0, 0, 11, 1, 0, 0, 2, 62, 58, 52, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 63, 58, 56, 21, 0, 0, 0, - 0, 125, 68, 0, 0, 2, 64, 58, 60, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 65, 58, 64, 21, 0, 0, 0, 0, - 125, 68, 0, 0, 2, 66, 58, 68, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 67, 58, 72, 21, 0, 0, 0, 0, 11, - 1, 0, 0, 2, 68, 58, 76, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 69, 58, 80, 21, 0, 0, 0, 0, 127, 29, - 0, 0, 2, 70, 58, 88, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 71, 58, 96, 21, 0, 0, 0, 0, 114, 213, 0, - 0, 2, 72, 58, 104, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 73, 58, 112, 21, 0, 0, 0, 0, 221, 227, 0, - 0, 2, 74, 58, 128, 0, 9, 181, 227, 0, 0, 13, 125, 68, 0, 0, 14, 255, 0, 0, 0, 0, 9, 197, 227, - 0, 0, 32, 14, 125, 68, 0, 0, 14, 255, 0, 0, 0, 0, 9, 214, 227, 0, 0, 32, 14, 157, 226, 0, 0, 0, - 3, 233, 227, 0, 0, 4, 82, 0, 0, 0, 0, 0, 27, 0, 0, 0, 0, 112, 1, 2, 45, 58, 21, 0, 0, 0, 0, 52, - 223, 0, 0, 2, 46, 58, 0, 28, 0, 0, 0, 0, 71, 228, 0, 0, 2, 47, 58, 32, 1, 28, 0, 0, 0, 0, 172, - 228, 0, 0, 2, 48, 58, 88, 1, 28, 0, 0, 0, 0, 125, 68, 0, 0, 2, 49, 58, 96, 1, 28, 0, 0, 0, 0, - 125, 68, 0, 0, 2, 50, 58, 100, 1, 28, 0, 0, 0, 0, 175, 236, 0, 0, 2, 51, 58, 104, 1, 0, 20, 0, - 0, 0, 0, 56, 2, 35, 58, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 36, 58, 0, 21, 0, 0, 0, 0, 127, 29, - 0, 0, 2, 37, 58, 8, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 38, 58, 16, 21, 0, 0, 0, 0, 127, 29, 0, - 0, 2, 39, 58, 24, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 40, 58, 32, 21, 0, 0, 0, 0, 127, 29, 0, 0, - 2, 41, 58, 40, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 42, 58, 48, 0, 33, 184, 228, 0, 0, 0, 0, 0, 0, - 2, 77, 57, 9, 189, 228, 0, 0, 32, 14, 196, 228, 0, 0, 0, 9, 201, 228, 0, 0, 27, 0, 0, 0, 0, 0, - 2, 2, 103, 57, 21, 0, 0, 0, 0, 138, 216, 0, 0, 2, 104, 57, 0, 21, 0, 0, 0, 0, 19, 216, 0, 0, 2, - 105, 57, 104, 21, 0, 0, 0, 0, 186, 215, 0, 0, 2, 106, 57, 160, 21, 0, 0, 0, 0, 172, 228, 0, 0, - 2, 107, 57, 168, 21, 0, 0, 0, 0, 171, 230, 0, 0, 2, 108, 57, 176, 21, 0, 0, 0, 0, 11, 1, 0, 0, - 2, 109, 57, 184, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 110, 57, 188, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, - 111, 57, 192, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 112, 57, 196, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, - 113, 57, 200, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 114, 57, 204, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, - 115, 57, 208, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 116, 57, 216, 21, 0, 0, 0, 0, 176, 64, 0, 0, 2, - 117, 57, 220, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 118, 57, 224, 21, 0, 0, 0, 0, 231, 97, 0, 0, 2, - 119, 57, 228, 21, 0, 0, 0, 0, 34, 236, 0, 0, 2, 120, 57, 232, 21, 0, 0, 0, 0, 65, 222, 0, 0, 2, - 121, 57, 240, 21, 0, 0, 0, 0, 65, 222, 0, 0, 2, 122, 57, 248, 28, 0, 0, 0, 0, 39, 236, 0, 0, 2, - 123, 57, 0, 1, 28, 0, 0, 0, 0, 188, 170, 0, 0, 2, 124, 57, 8, 1, 28, 0, 0, 0, 0, 127, 29, 0, 0, - 2, 125, 57, 48, 1, 28, 0, 0, 0, 0, 176, 64, 0, 0, 2, 126, 57, 56, 1, 28, 0, 0, 0, 0, 47, 107, - 0, 0, 2, 127, 57, 64, 1, 28, 0, 0, 0, 0, 11, 1, 0, 0, 2, 128, 57, 88, 1, 28, 0, 0, 0, 0, 11, 1, - 0, 0, 2, 129, 57, 92, 1, 28, 0, 0, 0, 0, 11, 1, 0, 0, 2, 130, 57, 96, 1, 28, 0, 0, 0, 0, 11, 1, - 0, 0, 2, 131, 57, 100, 1, 28, 0, 0, 0, 0, 144, 231, 0, 0, 2, 132, 57, 104, 1, 28, 0, 0, 0, 0, - 65, 29, 0, 0, 2, 133, 57, 112, 1, 28, 0, 0, 0, 0, 198, 87, 0, 0, 2, 134, 57, 128, 1, 28, 0, 0, - 0, 0, 241, 106, 0, 0, 2, 135, 57, 192, 1, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 136, 57, 224, 1, 28, - 0, 0, 0, 0, 111, 83, 0, 0, 2, 137, 57, 232, 1, 28, 0, 0, 0, 0, 14, 29, 0, 0, 2, 138, 57, 240, - 1, 0, 9, 176, 230, 0, 0, 20, 0, 0, 0, 0, 128, 2, 7, 57, 21, 0, 0, 0, 0, 99, 231, 0, 0, 2, 8, - 57, 0, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 9, 57, 8, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 10, 57, 16, - 21, 0, 0, 0, 0, 171, 230, 0, 0, 2, 11, 57, 24, 21, 0, 0, 0, 0, 99, 231, 0, 0, 2, 12, 57, 32, - 21, 0, 0, 0, 0, 130, 120, 0, 0, 2, 13, 57, 40, 21, 0, 0, 0, 0, 171, 230, 0, 0, 2, 14, 57, 48, - 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 15, 57, 56, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 16, 57, 60, 21, 0, - 0, 0, 0, 127, 29, 0, 0, 2, 17, 57, 64, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 18, 57, 72, 21, 0, 0, - 0, 0, 14, 29, 0, 0, 2, 19, 57, 80, 21, 0, 0, 0, 0, 144, 231, 0, 0, 2, 20, 57, 88, 0, 33, 111, - 231, 0, 0, 0, 0, 0, 0, 2, 5, 57, 9, 116, 231, 0, 0, 13, 132, 231, 0, 0, 14, 168, 0, 0, 0, 14, - 255, 0, 0, 0, 0, 33, 19, 5, 0, 0, 0, 0, 0, 0, 2, 229, 56, 9, 149, 231, 0, 0, 20, 0, 0, 0, 0, - 176, 2, 83, 191, 21, 0, 0, 0, 0, 176, 64, 0, 0, 2, 84, 191, 0, 21, 0, 0, 0, 0, 141, 64, 0, 0, - 2, 85, 191, 4, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 86, 191, 8, 21, 0, 0, 0, 0, 248, 68, 0, 0, 2, - 87, 191, 24, 21, 0, 0, 0, 0, 106, 170, 0, 0, 2, 88, 191, 32, 21, 0, 0, 0, 0, 44, 65, 0, 0, 2, - 89, 191, 40, 22, 245, 231, 0, 0, 2, 90, 191, 48, 23, 8, 2, 90, 191, 21, 0, 0, 0, 0, 28, 233, 0, - 0, 2, 91, 191, 0, 21, 0, 0, 0, 0, 197, 81, 0, 0, 2, 92, 191, 0, 0, 21, 0, 0, 0, 0, 188, 69, 0, - 0, 2, 94, 191, 56, 22, 43, 232, 0, 0, 2, 95, 191, 64, 23, 8, 2, 95, 191, 21, 0, 0, 0, 0, 242, - 114, 0, 0, 2, 96, 191, 0, 21, 0, 0, 0, 0, 127, 115, 0, 0, 2, 97, 191, 0, 0, 21, 0, 0, 0, 0, - 240, 235, 0, 0, 2, 99, 191, 72, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 100, 191, 80, 21, 0, 0, 0, 0, - 11, 1, 0, 0, 2, 101, 191, 88, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 102, 191, 92, 21, 0, 0, 0, 0, 22, - 236, 0, 0, 2, 103, 191, 96, 21, 0, 0, 0, 0, 224, 63, 0, 0, 2, 104, 191, 100, 21, 0, 0, 0, 0, - 21, 64, 0, 0, 2, 105, 191, 104, 21, 0, 0, 0, 0, 29, 75, 0, 0, 2, 106, 191, 112, 21, 0, 0, 0, 0, - 144, 231, 0, 0, 2, 107, 191, 120, 21, 0, 0, 0, 0, 220, 96, 0, 0, 2, 108, 191, 128, 21, 0, 0, 0, - 0, 86, 40, 0, 0, 2, 109, 191, 136, 21, 0, 0, 0, 0, 199, 53, 0, 0, 2, 110, 191, 160, 21, 0, 0, - 0, 0, 213, 63, 0, 0, 2, 111, 191, 168, 21, 0, 0, 0, 0, 118, 55, 0, 0, 2, 112, 191, 170, 21, 0, - 0, 0, 0, 118, 55, 0, 0, 2, 113, 191, 171, 21, 0, 0, 0, 0, 115, 29, 0, 0, 2, 114, 191, 172, 0, - 9, 33, 233, 0, 0, 26, 38, 233, 0, 0, 20, 0, 0, 0, 0, 96, 2, 236, 96, 21, 0, 0, 0, 0, 11, 1, 0, - 0, 2, 237, 96, 0, 21, 0, 0, 0, 0, 204, 233, 0, 0, 2, 238, 96, 8, 21, 0, 0, 0, 0, 225, 233, 0, - 0, 2, 239, 96, 16, 21, 0, 0, 0, 0, 0, 234, 0, 0, 2, 240, 96, 24, 21, 0, 0, 0, 0, 115, 235, 0, - 0, 2, 241, 96, 32, 21, 0, 0, 0, 0, 146, 235, 0, 0, 2, 242, 96, 40, 21, 0, 0, 0, 0, 204, 233, 0, - 0, 2, 243, 96, 48, 21, 0, 0, 0, 0, 172, 235, 0, 0, 2, 244, 96, 56, 21, 0, 0, 0, 0, 193, 235, 0, - 0, 2, 245, 96, 64, 21, 0, 0, 0, 0, 193, 235, 0, 0, 2, 246, 96, 72, 21, 0, 0, 0, 0, 219, 235, 0, - 0, 2, 247, 96, 80, 21, 0, 0, 0, 0, 243, 96, 0, 0, 2, 248, 96, 88, 0, 9, 209, 233, 0, 0, 13, - 168, 0, 0, 0, 14, 101, 60, 0, 0, 14, 69, 80, 0, 0, 0, 9, 230, 233, 0, 0, 13, 136, 90, 0, 0, 14, - 69, 80, 0, 0, 14, 199, 53, 0, 0, 14, 140, 55, 0, 0, 14, 79, 115, 0, 0, 0, 9, 5, 234, 0, 0, 13, - 136, 90, 0, 0, 14, 21, 234, 0, 0, 14, 110, 235, 0, 0, 0, 9, 26, 234, 0, 0, 20, 0, 0, 0, 0, 48, - 2, 99, 13, 21, 0, 0, 0, 0, 69, 80, 0, 0, 2, 100, 13, 0, 21, 0, 0, 0, 0, 29, 75, 0, 0, 2, 101, - 13, 8, 21, 0, 0, 0, 0, 168, 234, 0, 0, 2, 102, 13, 16, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 103, - 13, 24, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 104, 13, 32, 21, 0, 0, 0, 0, 177, 69, 0, 0, 2, 105, - 13, 36, 21, 0, 0, 0, 0, 177, 69, 0, 0, 2, 106, 13, 38, 22, 135, 234, 0, 0, 2, 107, 13, 40, 23, - 8, 2, 107, 13, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 108, 13, 0, 21, 0, 0, 0, 0, 190, 234, 0, 0, 2, - 109, 13, 0, 0, 0, 9, 173, 234, 0, 0, 32, 14, 21, 234, 0, 0, 14, 248, 0, 0, 0, 14, 248, 0, 0, 0, - 0, 9, 195, 234, 0, 0, 20, 0, 0, 0, 0, 56, 2, 213, 24, 21, 0, 0, 0, 0, 68, 56, 0, 0, 2, 214, 24, - 0, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 215, 24, 8, 21, 0, 0, 0, 0, 244, 234, 0, 0, 2, 216, 24, 16, - 0, 33, 0, 235, 0, 0, 0, 0, 0, 0, 2, 53, 18, 20, 0, 0, 0, 0, 40, 2, 46, 18, 21, 0, 0, 0, 0, 11, - 1, 0, 0, 2, 47, 18, 0, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 48, 18, 8, 21, 0, 0, 0, 0, 62, 235, 0, - 0, 2, 49, 18, 16, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 50, 18, 24, 0, 33, 74, 235, 0, 0, 0, 0, 0, - 0, 2, 44, 18, 9, 79, 235, 0, 0, 13, 168, 0, 0, 0, 14, 105, 235, 0, 0, 14, 11, 1, 0, 0, 14, 168, - 0, 0, 0, 14, 255, 0, 0, 0, 0, 9, 0, 235, 0, 0, 9, 150, 54, 0, 0, 9, 120, 235, 0, 0, 13, 136, - 90, 0, 0, 14, 69, 80, 0, 0, 14, 14, 29, 0, 0, 14, 140, 55, 0, 0, 14, 79, 115, 0, 0, 0, 9, 151, - 235, 0, 0, 13, 29, 75, 0, 0, 14, 69, 80, 0, 0, 14, 29, 75, 0, 0, 14, 168, 0, 0, 0, 0, 9, 177, - 235, 0, 0, 13, 10, 160, 0, 0, 14, 69, 80, 0, 0, 14, 21, 160, 0, 0, 0, 9, 198, 235, 0, 0, 13, - 248, 0, 0, 0, 14, 69, 80, 0, 0, 14, 11, 1, 0, 0, 14, 127, 29, 0, 0, 0, 9, 224, 235, 0, 0, 13, - 168, 0, 0, 0, 14, 69, 80, 0, 0, 14, 66, 92, 0, 0, 0, 33, 252, 235, 0, 0, 0, 0, 0, 0, 2, 81, - 191, 9, 1, 236, 0, 0, 13, 168, 0, 0, 0, 14, 69, 80, 0, 0, 14, 199, 53, 0, 0, 14, 140, 55, 0, 0, - 0, 33, 125, 68, 0, 0, 0, 0, 0, 0, 2, 79, 191, 9, 212, 170, 0, 0, 9, 44, 236, 0, 0, 20, 0, 0, 0, - 0, 56, 2, 27, 57, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 28, 57, 0, 21, 0, 0, 0, 0, 80, 110, 0, 0, 2, - 29, 57, 4, 21, 0, 0, 0, 0, 156, 163, 0, 0, 2, 30, 57, 8, 21, 0, 0, 0, 0, 119, 236, 0, 0, 2, 31, - 57, 40, 21, 0, 0, 0, 0, 158, 236, 0, 0, 2, 32, 57, 48, 0, 9, 124, 236, 0, 0, 32, 14, 39, 236, - 0, 0, 14, 136, 236, 0, 0, 0, 9, 141, 236, 0, 0, 26, 146, 236, 0, 0, 33, 212, 170, 0, 0, 0, 0, - 0, 0, 2, 255, 1, 9, 163, 236, 0, 0, 32, 14, 170, 236, 0, 0, 0, 9, 80, 110, 0, 0, 9, 125, 68, 0, - 0, 3, 14, 216, 0, 0, 4, 82, 0, 0, 0, 0, 0, 9, 197, 236, 0, 0, 47, 0, 0, 0, 0, 40, 2, 108, 14, - 1, 0, 48, 0, 0, 0, 0, 28, 237, 0, 0, 2, 109, 14, 1, 0, 0, 48, 0, 0, 0, 0, 135, 237, 0, 0, 2, - 110, 14, 1, 0, 8, 48, 0, 0, 0, 0, 135, 237, 0, 0, 2, 111, 14, 1, 0, 16, 48, 0, 0, 0, 0, 135, - 237, 0, 0, 2, 112, 14, 1, 0, 24, 48, 0, 0, 0, 0, 135, 237, 0, 0, 2, 113, 14, 1, 0, 32, 0, 9, - 33, 237, 0, 0, 47, 0, 0, 0, 0, 72, 2, 116, 14, 1, 0, 48, 0, 0, 0, 0, 227, 28, 0, 0, 2, 117, 14, - 1, 0, 0, 48, 0, 0, 0, 0, 203, 173, 0, 0, 2, 118, 14, 1, 0, 16, 48, 0, 0, 0, 0, 227, 28, 0, 0, - 2, 119, 14, 1, 0, 24, 48, 0, 0, 0, 0, 135, 237, 0, 0, 2, 120, 14, 1, 0, 40, 48, 0, 0, 0, 0, - 227, 28, 0, 0, 2, 121, 14, 1, 0, 48, 48, 0, 0, 0, 0, 80, 110, 0, 0, 2, 122, 14, 1, 0, 64, 0, 9, - 140, 237, 0, 0, 47, 0, 0, 0, 0, 40, 2, 125, 14, 1, 0, 48, 0, 0, 0, 0, 227, 28, 0, 0, 2, 126, - 14, 1, 0, 0, 48, 0, 0, 0, 0, 14, 29, 0, 0, 2, 127, 14, 1, 0, 16, 48, 0, 0, 0, 0, 227, 28, 0, 0, - 2, 128, 14, 1, 0, 24, 0, 9, 202, 237, 0, 0, 26, 207, 237, 0, 0, 20, 0, 0, 0, 0, 184, 2, 216, - 27, 21, 0, 0, 0, 0, 4, 239, 0, 0, 2, 217, 27, 0, 21, 0, 0, 0, 0, 45, 239, 0, 0, 2, 218, 27, 8, - 21, 0, 0, 0, 0, 77, 239, 0, 0, 2, 219, 27, 16, 21, 0, 0, 0, 0, 113, 239, 0, 0, 2, 220, 27, 24, - 21, 0, 0, 0, 0, 145, 239, 0, 0, 2, 221, 27, 32, 21, 0, 0, 0, 0, 59, 240, 0, 0, 2, 222, 27, 40, - 21, 0, 0, 0, 0, 86, 240, 0, 0, 2, 223, 27, 48, 21, 0, 0, 0, 0, 127, 240, 0, 0, 2, 224, 27, 56, - 21, 0, 0, 0, 0, 168, 240, 0, 0, 2, 225, 27, 64, 21, 0, 0, 0, 0, 209, 240, 0, 0, 2, 226, 27, 72, - 21, 0, 0, 0, 0, 241, 240, 0, 0, 2, 227, 27, 80, 21, 0, 0, 0, 0, 21, 241, 0, 0, 2, 228, 27, 88, - 21, 0, 0, 0, 0, 53, 241, 0, 0, 2, 229, 27, 96, 21, 0, 0, 0, 0, 209, 240, 0, 0, 2, 230, 27, 104, - 21, 0, 0, 0, 0, 89, 241, 0, 0, 2, 231, 27, 112, 21, 0, 0, 0, 0, 89, 241, 0, 0, 2, 232, 27, 120, - 21, 0, 0, 0, 0, 116, 241, 0, 0, 2, 233, 27, 128, 21, 0, 0, 0, 0, 116, 241, 0, 0, 2, 234, 27, - 136, 21, 0, 0, 0, 0, 143, 241, 0, 0, 2, 235, 27, 144, 21, 0, 0, 0, 0, 170, 241, 0, 0, 2, 236, - 27, 152, 21, 0, 0, 0, 0, 191, 241, 0, 0, 2, 237, 27, 160, 21, 0, 0, 0, 0, 207, 241, 0, 0, 2, - 238, 27, 168, 21, 0, 0, 0, 0, 223, 241, 0, 0, 2, 239, 27, 176, 0, 9, 9, 239, 0, 0, 13, 255, 0, - 0, 0, 14, 203, 173, 0, 0, 14, 140, 55, 0, 0, 14, 40, 239, 0, 0, 14, 8, 153, 0, 0, 14, 127, 29, - 0, 0, 0, 9, 21, 182, 0, 0, 9, 50, 239, 0, 0, 32, 14, 203, 173, 0, 0, 14, 140, 55, 0, 0, 14, - 255, 0, 0, 0, 14, 21, 182, 0, 0, 14, 127, 29, 0, 0, 0, 9, 82, 239, 0, 0, 13, 68, 56, 0, 0, 14, - 203, 173, 0, 0, 14, 140, 55, 0, 0, 14, 40, 239, 0, 0, 14, 51, 5, 0, 0, 14, 8, 153, 0, 0, 0, 9, - 118, 239, 0, 0, 32, 14, 203, 173, 0, 0, 14, 140, 55, 0, 0, 14, 68, 56, 0, 0, 14, 21, 182, 0, 0, - 14, 51, 5, 0, 0, 0, 9, 150, 239, 0, 0, 13, 181, 239, 0, 0, 14, 203, 173, 0, 0, 14, 140, 55, 0, - 0, 14, 51, 5, 0, 0, 14, 8, 153, 0, 0, 14, 127, 29, 0, 0, 0, 9, 186, 239, 0, 0, 20, 0, 0, 0, 0, - 16, 2, 5, 84, 21, 0, 0, 0, 0, 235, 239, 0, 0, 2, 6, 84, 0, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 7, - 84, 8, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 8, 84, 12, 0, 9, 240, 239, 0, 0, 20, 0, 0, 0, 0, 32, 2, - 73, 45, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 74, 45, 0, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 75, 45, 8, - 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 76, 45, 12, 21, 0, 0, 0, 0, 21, 182, 0, 0, 2, 77, 45, 16, 21, - 0, 0, 0, 0, 11, 1, 0, 0, 2, 78, 45, 24, 0, 9, 64, 240, 0, 0, 32, 14, 203, 173, 0, 0, 14, 140, - 55, 0, 0, 14, 181, 239, 0, 0, 14, 51, 5, 0, 0, 0, 9, 91, 240, 0, 0, 13, 168, 0, 0, 0, 14, 203, - 173, 0, 0, 14, 66, 92, 0, 0, 14, 255, 0, 0, 0, 14, 21, 182, 0, 0, 14, 140, 55, 0, 0, 14, 127, - 29, 0, 0, 0, 9, 132, 240, 0, 0, 13, 168, 0, 0, 0, 14, 203, 173, 0, 0, 14, 181, 239, 0, 0, 14, - 255, 0, 0, 0, 14, 21, 182, 0, 0, 14, 140, 55, 0, 0, 14, 127, 29, 0, 0, 0, 9, 173, 240, 0, 0, - 13, 21, 182, 0, 0, 14, 203, 173, 0, 0, 14, 68, 56, 0, 0, 14, 127, 29, 0, 0, 14, 140, 55, 0, 0, - 14, 51, 5, 0, 0, 14, 127, 29, 0, 0, 0, 9, 214, 240, 0, 0, 32, 14, 203, 173, 0, 0, 14, 21, 182, - 0, 0, 14, 140, 55, 0, 0, 14, 51, 5, 0, 0, 14, 127, 29, 0, 0, 0, 9, 246, 240, 0, 0, 13, 168, 0, - 0, 0, 14, 203, 173, 0, 0, 14, 235, 239, 0, 0, 14, 168, 0, 0, 0, 14, 51, 5, 0, 0, 14, 127, 29, - 0, 0, 0, 9, 26, 241, 0, 0, 32, 14, 203, 173, 0, 0, 14, 235, 239, 0, 0, 14, 168, 0, 0, 0, 14, - 51, 5, 0, 0, 14, 127, 29, 0, 0, 0, 9, 58, 241, 0, 0, 13, 21, 182, 0, 0, 14, 203, 173, 0, 0, 14, - 3, 186, 0, 0, 14, 140, 55, 0, 0, 14, 51, 5, 0, 0, 14, 127, 29, 0, 0, 0, 9, 94, 241, 0, 0, 32, - 14, 203, 173, 0, 0, 14, 21, 182, 0, 0, 14, 140, 55, 0, 0, 14, 51, 5, 0, 0, 0, 9, 121, 241, 0, - 0, 32, 14, 203, 173, 0, 0, 14, 235, 239, 0, 0, 14, 168, 0, 0, 0, 14, 51, 5, 0, 0, 0, 9, 148, - 241, 0, 0, 32, 14, 203, 173, 0, 0, 14, 255, 0, 0, 0, 14, 140, 55, 0, 0, 14, 51, 5, 0, 0, 0, 9, - 175, 241, 0, 0, 13, 168, 0, 0, 0, 14, 203, 173, 0, 0, 14, 136, 68, 0, 0, 0, 9, 196, 241, 0, 0, - 13, 136, 68, 0, 0, 14, 203, 173, 0, 0, 0, 9, 212, 241, 0, 0, 13, 140, 55, 0, 0, 14, 203, 173, - 0, 0, 0, 9, 228, 241, 0, 0, 13, 127, 29, 0, 0, 14, 203, 173, 0, 0, 0, 9, 136, 68, 0, 0, 9, 249, - 241, 0, 0, 26, 254, 241, 0, 0, 20, 0, 0, 0, 0, 32, 2, 242, 27, 21, 0, 0, 0, 0, 3, 186, 0, 0, 2, - 243, 27, 0, 21, 0, 0, 0, 0, 21, 182, 0, 0, 2, 244, 27, 8, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, - 245, 27, 16, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 246, 27, 24, 0, 9, 65, 242, 0, 0, 20, 0, 0, 0, - 0, 16, 2, 199, 27, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 200, 27, 0, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, - 201, 27, 4, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 202, 27, 8, 0, 9, 119, 242, 0, 0, 20, 0, 0, 0, 0, - 152, 2, 223, 126, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 224, 126, 0, 21, 0, 0, 0, 0, 127, 29, 0, 0, - 2, 225, 126, 8, 21, 0, 0, 0, 0, 75, 110, 0, 0, 2, 226, 126, 16, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, - 227, 126, 24, 21, 0, 0, 0, 0, 248, 68, 0, 0, 2, 228, 126, 28, 21, 0, 0, 0, 0, 190, 103, 0, 0, - 2, 229, 126, 32, 21, 0, 0, 0, 0, 248, 68, 0, 0, 2, 230, 126, 40, 21, 0, 0, 0, 0, 29, 243, 0, 0, - 2, 231, 126, 48, 21, 0, 0, 0, 0, 178, 162, 0, 0, 2, 232, 126, 64, 21, 0, 0, 0, 0, 83, 97, 0, 0, - 2, 233, 126, 128, 21, 0, 0, 0, 0, 83, 97, 0, 0, 2, 234, 126, 136, 21, 0, 0, 0, 0, 65, 243, 0, - 0, 2, 235, 126, 144, 0, 20, 0, 0, 0, 0, 16, 2, 216, 126, 21, 0, 0, 0, 0, 175, 236, 0, 0, 2, - 217, 126, 0, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 218, 126, 8, 0, 9, 70, 243, 0, 0, 20, 0, 0, 0, - 0, 72, 2, 244, 185, 21, 0, 0, 0, 0, 198, 87, 0, 0, 2, 245, 185, 0, 21, 0, 0, 0, 0, 114, 242, 0, - 0, 2, 246, 185, 64, 0, 9, 111, 243, 0, 0, 20, 0, 0, 0, 0, 64, 2, 247, 83, 21, 0, 0, 0, 0, 3, - 186, 0, 0, 2, 248, 83, 0, 21, 0, 0, 0, 0, 3, 186, 0, 0, 2, 249, 83, 8, 21, 0, 0, 0, 0, 127, 29, - 0, 0, 2, 250, 83, 16, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 251, 83, 24, 21, 0, 0, 0, 0, 11, 1, 0, - 0, 2, 252, 83, 32, 21, 0, 0, 0, 0, 248, 68, 0, 0, 2, 253, 83, 36, 21, 0, 0, 0, 0, 133, 66, 0, - 0, 2, 254, 83, 40, 21, 0, 0, 0, 0, 219, 52, 0, 0, 2, 255, 83, 48, 21, 0, 0, 0, 0, 219, 52, 0, - 0, 2, 0, 84, 49, 21, 0, 0, 0, 0, 219, 52, 0, 0, 2, 1, 84, 50, 21, 0, 0, 0, 0, 8, 244, 0, 0, 2, - 2, 84, 56, 0, 9, 13, 244, 0, 0, 20, 0, 0, 0, 0, 24, 2, 17, 84, 21, 0, 0, 0, 0, 3, 186, 0, 0, 2, - 18, 84, 0, 21, 0, 0, 0, 0, 140, 55, 0, 0, 2, 19, 84, 8, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 20, 84, - 16, 0, 46, 0, 0, 0, 0, 0, 2, 174, 25, 9, 76, 244, 0, 0, 20, 0, 0, 0, 0, 72, 2, 82, 90, 21, 0, - 0, 0, 0, 241, 106, 0, 0, 2, 83, 90, 0, 21, 0, 0, 0, 0, 164, 244, 0, 0, 2, 84, 90, 32, 21, 0, 0, - 0, 0, 13, 245, 0, 0, 2, 85, 90, 40, 21, 0, 0, 0, 0, 152, 245, 0, 0, 2, 86, 90, 48, 21, 0, 0, 0, - 0, 37, 187, 0, 0, 2, 87, 90, 56, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 88, 90, 64, 0, 9, 169, 244, - 0, 0, 20, 0, 0, 0, 0, 64, 2, 244, 90, 21, 0, 0, 0, 0, 231, 244, 0, 0, 2, 245, 90, 0, 21, 0, 0, - 0, 0, 255, 0, 0, 0, 2, 246, 90, 8, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 247, 90, 16, 21, 0, 0, 0, - 0, 241, 106, 0, 0, 2, 248, 90, 32, 0, 33, 243, 244, 0, 0, 0, 0, 0, 0, 2, 202, 90, 9, 248, 244, - 0, 0, 13, 168, 0, 0, 0, 14, 8, 245, 0, 0, 14, 255, 0, 0, 0, 0, 9, 142, 194, 0, 0, 9, 18, 245, - 0, 0, 47, 0, 0, 0, 0, 48, 2, 81, 76, 1, 0, 48, 0, 0, 0, 0, 203, 173, 0, 0, 2, 82, 76, 1, 0, 0, - 48, 0, 0, 0, 0, 90, 245, 0, 0, 2, 83, 76, 1, 0, 8, 48, 0, 0, 0, 0, 227, 28, 0, 0, 2, 84, 76, 1, - 0, 16, 48, 0, 0, 0, 0, 227, 28, 0, 0, 2, 85, 76, 1, 0, 32, 0, 9, 95, 245, 0, 0, 47, 0, 0, 0, 0, - 56, 2, 88, 76, 1, 0, 48, 0, 0, 0, 0, 209, 165, 0, 0, 2, 89, 76, 1, 0, 0, 48, 0, 0, 0, 0, 227, - 28, 0, 0, 2, 90, 76, 1, 0, 8, 48, 0, 0, 0, 0, 241, 106, 0, 0, 2, 91, 76, 1, 0, 24, 0, 9, 157, - 245, 0, 0, 20, 0, 0, 0, 0, 24, 2, 251, 90, 21, 0, 0, 0, 0, 247, 178, 0, 0, 2, 252, 90, 0, 21, - 0, 0, 0, 0, 104, 187, 0, 0, 2, 253, 90, 8, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 254, 90, 16, 21, - 0, 0, 0, 0, 11, 1, 0, 0, 2, 255, 90, 20, 21, 0, 0, 0, 0, 232, 245, 0, 0, 2, 0, 91, 24, 0, 3, - 125, 68, 0, 0, 4, 82, 0, 0, 0, 0, 0, 3, 110, 168, 0, 0, 4, 82, 0, 0, 0, 0, 0, 3, 136, 68, 0, 0, - 4, 82, 0, 0, 0, 12, 0, 3, 127, 29, 0, 0, 4, 82, 0, 0, 0, 18, 0, 3, 125, 68, 0, 0, 4, 82, 0, 0, - 0, 6, 0, 27, 0, 0, 0, 0, 208, 2, 2, 97, 24, 21, 0, 0, 0, 0, 143, 246, 0, 0, 2, 98, 24, 0, 21, - 0, 0, 0, 0, 4, 50, 1, 0, 2, 99, 24, 184, 28, 0, 0, 0, 0, 16, 50, 1, 0, 2, 100, 24, 40, 2, 28, - 0, 0, 0, 0, 227, 28, 0, 0, 2, 101, 24, 136, 2, 28, 0, 0, 0, 0, 155, 246, 0, 0, 2, 102, 24, 152, - 2, 28, 0, 0, 0, 0, 153, 0, 1, 0, 2, 103, 24, 160, 2, 28, 0, 0, 0, 0, 156, 163, 0, 0, 2, 104, - 24, 176, 2, 0, 3, 155, 246, 0, 0, 4, 82, 0, 0, 0, 23, 0, 9, 160, 246, 0, 0, 20, 0, 0, 0, 0, 16, - 2, 169, 29, 21, 0, 0, 0, 0, 65, 29, 0, 0, 2, 170, 29, 0, 21, 0, 0, 0, 0, 196, 246, 0, 0, 2, - 171, 29, 16, 0, 3, 208, 246, 0, 0, 4, 82, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 24, 2, 161, 29, 21, 0, - 0, 0, 0, 16, 247, 0, 0, 2, 162, 29, 0, 22, 239, 246, 0, 0, 2, 163, 29, 8, 23, 16, 2, 163, 29, - 21, 0, 0, 0, 0, 222, 48, 1, 0, 2, 164, 29, 0, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 165, 29, 0, 0, - 0, 9, 21, 247, 0, 0, 20, 0, 0, 0, 0, 72, 2, 228, 42, 21, 0, 0, 0, 0, 177, 69, 0, 0, 2, 229, 42, - 0, 34, 0, 0, 0, 0, 177, 69, 0, 0, 2, 230, 42, 2, 1, 15, 2, 34, 0, 0, 0, 0, 177, 69, 0, 0, 2, - 231, 42, 2, 1, 14, 2, 34, 0, 0, 0, 0, 177, 69, 0, 0, 2, 232, 42, 2, 1, 13, 2, 34, 0, 0, 0, 0, - 177, 69, 0, 0, 2, 233, 42, 2, 1, 12, 2, 34, 0, 0, 0, 0, 177, 69, 0, 0, 2, 234, 42, 2, 1, 11, 2, - 34, 0, 0, 0, 0, 177, 69, 0, 0, 2, 235, 42, 2, 1, 10, 2, 34, 0, 0, 0, 0, 177, 69, 0, 0, 2, 236, - 42, 2, 1, 9, 2, 34, 0, 0, 0, 0, 177, 69, 0, 0, 2, 237, 42, 2, 1, 8, 2, 34, 0, 0, 0, 0, 177, 69, - 0, 0, 2, 238, 42, 2, 1, 7, 2, 34, 0, 0, 0, 0, 177, 69, 0, 0, 2, 239, 42, 2, 1, 6, 2, 34, 0, 0, - 0, 0, 177, 69, 0, 0, 2, 240, 42, 2, 1, 5, 2, 34, 0, 0, 0, 0, 177, 69, 0, 0, 2, 241, 42, 2, 1, - 4, 2, 21, 0, 0, 0, 0, 127, 5, 0, 0, 2, 242, 42, 4, 21, 0, 0, 0, 0, 77, 6, 0, 0, 2, 243, 42, 8, - 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 244, 42, 12, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 245, 42, 16, - 21, 0, 0, 0, 0, 136, 248, 0, 0, 2, 246, 42, 20, 21, 0, 0, 0, 0, 148, 248, 0, 0, 2, 247, 42, 32, - 21, 0, 0, 0, 0, 214, 52, 0, 0, 2, 248, 42, 40, 21, 0, 0, 0, 0, 215, 248, 0, 0, 2, 249, 42, 48, - 21, 0, 0, 0, 0, 82, 249, 0, 0, 2, 250, 42, 56, 21, 0, 0, 0, 0, 90, 48, 1, 0, 2, 251, 42, 64, - 21, 0, 0, 0, 0, 198, 48, 1, 0, 2, 252, 42, 72, 21, 0, 0, 0, 0, 210, 48, 1, 0, 2, 253, 42, 72, - 0, 3, 118, 55, 0, 0, 4, 82, 0, 0, 0, 8, 0, 9, 153, 248, 0, 0, 20, 0, 0, 0, 0, 32, 2, 154, 52, - 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 155, 52, 0, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 156, 52, 8, 21, - 0, 0, 0, 0, 136, 68, 0, 0, 2, 157, 52, 16, 21, 0, 0, 0, 0, 26, 163, 0, 0, 2, 158, 52, 24, 0, 9, - 220, 248, 0, 0, 13, 11, 1, 0, 0, 14, 56, 1, 0, 0, 14, 236, 248, 0, 0, 0, 9, 241, 248, 0, 0, 26, - 246, 248, 0, 0, 20, 0, 0, 0, 0, 8, 2, 168, 40, 21, 0, 0, 0, 0, 129, 55, 0, 0, 2, 169, 40, 0, - 34, 0, 0, 0, 0, 129, 55, 0, 0, 2, 170, 40, 1, 4, 4, 1, 34, 0, 0, 0, 0, 129, 55, 0, 0, 2, 171, - 40, 1, 4, 0, 1, 21, 0, 0, 0, 0, 71, 249, 0, 0, 2, 172, 40, 2, 21, 0, 0, 0, 0, 112, 103, 0, 0, - 2, 173, 40, 4, 0, 12, 37, 65, 0, 0, 0, 0, 0, 0, 2, 10, 9, 87, 249, 0, 0, 27, 0, 0, 0, 0, 144, - 2, 2, 153, 42, 21, 0, 0, 0, 0, 83, 97, 0, 0, 2, 154, 42, 0, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, - 155, 42, 8, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 156, 42, 12, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, - 157, 42, 16, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 158, 42, 20, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, - 159, 42, 24, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 160, 42, 28, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, - 161, 42, 32, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 162, 42, 36, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, - 163, 42, 40, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 164, 42, 44, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, - 165, 42, 48, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 166, 42, 52, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, - 167, 42, 56, 21, 0, 0, 0, 0, 134, 252, 0, 0, 2, 168, 42, 64, 21, 0, 0, 0, 0, 72, 254, 0, 0, 2, - 169, 42, 72, 21, 0, 0, 0, 0, 241, 106, 0, 0, 2, 170, 42, 80, 21, 0, 0, 0, 0, 16, 247, 0, 0, 2, - 171, 42, 112, 21, 0, 0, 0, 0, 131, 254, 0, 0, 2, 172, 42, 120, 21, 0, 0, 0, 0, 127, 5, 0, 0, 2, - 173, 42, 128, 21, 0, 0, 0, 0, 77, 6, 0, 0, 2, 174, 42, 132, 21, 0, 0, 0, 0, 219, 52, 0, 0, 2, - 175, 42, 136, 21, 0, 0, 0, 0, 219, 52, 0, 0, 2, 176, 42, 137, 21, 0, 0, 0, 0, 219, 52, 0, 0, 2, - 177, 42, 138, 21, 0, 0, 0, 0, 219, 52, 0, 0, 2, 178, 42, 139, 21, 0, 0, 0, 0, 219, 52, 0, 0, 2, - 179, 42, 140, 21, 0, 0, 0, 0, 219, 52, 0, 0, 2, 180, 42, 141, 21, 0, 0, 0, 0, 184, 28, 0, 0, 2, - 181, 42, 144, 21, 0, 0, 0, 0, 74, 1, 1, 0, 2, 182, 42, 160, 21, 0, 0, 0, 0, 14, 29, 0, 0, 2, - 183, 42, 168, 21, 0, 0, 0, 0, 84, 1, 1, 0, 2, 184, 42, 176, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, - 185, 42, 184, 21, 0, 0, 0, 0, 89, 1, 1, 0, 2, 186, 42, 192, 21, 0, 0, 0, 0, 107, 45, 1, 0, 2, - 187, 42, 200, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 188, 42, 208, 21, 0, 0, 0, 0, 30, 0, 1, 0, 2, - 189, 42, 216, 28, 0, 0, 0, 0, 212, 45, 1, 0, 2, 190, 42, 176, 1, 28, 0, 0, 0, 0, 15, 46, 1, 0, - 2, 191, 42, 184, 1, 28, 0, 0, 0, 0, 241, 106, 0, 0, 2, 192, 42, 192, 1, 28, 0, 0, 0, 0, 20, 46, - 1, 0, 2, 193, 42, 224, 1, 28, 0, 0, 0, 0, 16, 247, 0, 0, 2, 194, 42, 232, 1, 28, 0, 0, 0, 0, - 34, 109, 0, 0, 2, 195, 42, 240, 1, 28, 0, 0, 0, 0, 136, 68, 0, 0, 2, 196, 42, 248, 1, 28, 0, 0, - 0, 0, 25, 46, 1, 0, 2, 197, 42, 0, 2, 28, 0, 0, 0, 0, 105, 28, 0, 0, 2, 198, 42, 16, 2, 28, 0, - 0, 0, 0, 255, 0, 0, 0, 2, 199, 42, 32, 2, 28, 0, 0, 0, 0, 37, 46, 1, 0, 2, 200, 42, 40, 2, 28, - 0, 0, 0, 0, 134, 252, 0, 0, 2, 201, 42, 48, 2, 28, 0, 0, 0, 0, 200, 47, 1, 0, 2, 202, 42, 56, - 2, 28, 0, 0, 0, 0, 241, 47, 1, 0, 2, 203, 42, 64, 2, 28, 0, 0, 0, 0, 26, 48, 1, 0, 2, 204, 42, - 72, 2, 28, 0, 0, 0, 0, 31, 48, 1, 0, 2, 205, 42, 80, 2, 28, 0, 0, 0, 0, 125, 68, 0, 0, 2, 206, - 42, 88, 2, 28, 0, 0, 0, 0, 125, 68, 0, 0, 2, 207, 42, 92, 2, 28, 0, 0, 0, 0, 125, 68, 0, 0, 2, - 208, 42, 96, 2, 28, 0, 0, 0, 0, 125, 68, 0, 0, 2, 209, 42, 100, 2, 28, 0, 0, 0, 0, 36, 48, 1, - 0, 2, 210, 42, 104, 2, 30, 101, 252, 0, 0, 2, 211, 42, 112, 2, 23, 32, 2, 211, 42, 21, 0, 0, 0, - 0, 156, 163, 0, 0, 2, 212, 42, 0, 21, 0, 0, 0, 0, 65, 29, 0, 0, 2, 213, 42, 0, 0, 0, 9, 139, - 252, 0, 0, 20, 0, 0, 0, 0, 192, 2, 98, 42, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 99, 42, 0, 21, 0, - 0, 0, 0, 127, 253, 0, 0, 2, 100, 42, 8, 21, 0, 0, 0, 0, 175, 236, 0, 0, 2, 101, 42, 16, 21, 0, - 0, 0, 0, 175, 236, 0, 0, 2, 102, 42, 24, 21, 0, 0, 0, 0, 14, 29, 0, 0, 2, 103, 42, 32, 21, 0, - 0, 0, 0, 255, 0, 0, 0, 2, 104, 42, 40, 21, 0, 0, 0, 0, 214, 253, 0, 0, 2, 105, 42, 48, 21, 0, - 0, 0, 0, 125, 68, 0, 0, 2, 106, 42, 72, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 107, 42, 76, 21, 0, - 0, 0, 0, 125, 68, 0, 0, 2, 108, 42, 80, 21, 0, 0, 0, 0, 141, 64, 0, 0, 2, 109, 42, 84, 21, 0, - 0, 0, 0, 125, 68, 0, 0, 2, 110, 42, 88, 21, 0, 0, 0, 0, 65, 29, 0, 0, 2, 111, 42, 96, 21, 0, 0, - 0, 0, 134, 252, 0, 0, 2, 112, 42, 112, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 113, 42, 120, 21, 0, - 0, 0, 0, 125, 68, 0, 0, 2, 114, 42, 124, 21, 0, 0, 0, 0, 99, 87, 0, 0, 2, 115, 42, 128, 21, 0, - 0, 0, 0, 219, 52, 0, 0, 2, 116, 42, 184, 0, 9, 132, 253, 0, 0, 9, 137, 253, 0, 0, 20, 0, 0, 0, - 0, 12, 2, 119, 42, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 120, 42, 0, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, - 121, 42, 4, 22, 181, 253, 0, 0, 2, 122, 42, 8, 23, 4, 2, 122, 42, 21, 0, 0, 0, 0, 0, 1, 0, 0, - 2, 123, 42, 0, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 124, 42, 0, 0, 0, 20, 0, 0, 0, 0, 24, 2, 87, 42, - 21, 0, 0, 0, 0, 214, 48, 0, 0, 2, 88, 42, 0, 21, 0, 0, 0, 0, 129, 55, 0, 0, 2, 89, 42, 2, 21, - 0, 0, 0, 0, 129, 55, 0, 0, 2, 90, 42, 3, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 91, 42, 4, 21, 0, 0, 0, - 0, 0, 1, 0, 0, 2, 92, 42, 8, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 93, 42, 12, 21, 0, 0, 0, 0, 0, 1, - 0, 0, 2, 94, 42, 16, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 95, 42, 20, 0, 9, 77, 254, 0, 0, 26, 82, - 254, 0, 0, 20, 0, 0, 0, 0, 12, 2, 193, 44, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 194, 44, 0, 21, 0, - 0, 0, 0, 93, 7, 0, 0, 2, 195, 44, 4, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 196, 44, 8, 0, 9, 136, - 254, 0, 0, 20, 0, 0, 0, 0, 168, 2, 153, 44, 21, 0, 0, 0, 0, 184, 28, 0, 0, 2, 154, 44, 0, 21, - 0, 0, 0, 0, 241, 106, 0, 0, 2, 155, 44, 16, 21, 0, 0, 0, 0, 141, 64, 0, 0, 2, 156, 44, 48, 21, - 0, 0, 0, 0, 136, 68, 0, 0, 2, 157, 44, 56, 21, 0, 0, 0, 0, 210, 254, 0, 0, 2, 162, 44, 64, 24, - 32, 2, 158, 44, 21, 0, 0, 0, 0, 78, 255, 0, 0, 2, 159, 44, 0, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, - 160, 44, 16, 21, 0, 0, 0, 0, 219, 52, 0, 0, 2, 161, 44, 24, 0, 21, 0, 0, 0, 0, 16, 247, 0, 0, - 2, 163, 44, 96, 21, 0, 0, 0, 0, 139, 255, 0, 0, 2, 164, 44, 104, 21, 0, 0, 0, 0, 151, 255, 0, - 0, 2, 165, 44, 128, 21, 0, 0, 0, 0, 163, 255, 0, 0, 2, 166, 44, 144, 21, 0, 0, 0, 0, 136, 68, - 0, 0, 2, 167, 44, 152, 21, 0, 0, 0, 0, 111, 83, 0, 0, 2, 168, 44, 160, 0, 20, 0, 0, 0, 0, 14, - 2, 135, 44, 21, 0, 0, 0, 0, 118, 55, 0, 0, 2, 136, 44, 0, 21, 0, 0, 0, 0, 118, 55, 0, 0, 2, - 137, 44, 1, 21, 0, 0, 0, 0, 127, 255, 0, 0, 2, 138, 44, 2, 0, 3, 118, 55, 0, 0, 4, 82, 0, 0, 0, - 12, 0, 3, 190, 103, 0, 0, 4, 82, 0, 0, 0, 3, 0, 3, 168, 0, 0, 0, 4, 82, 0, 0, 0, 3, 0, 9, 168, - 255, 0, 0, 27, 0, 0, 0, 0, 32, 1, 2, 141, 44, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 142, 44, 0, 21, - 0, 0, 0, 0, 30, 0, 1, 0, 2, 143, 44, 8, 21, 0, 0, 0, 0, 153, 0, 1, 0, 2, 144, 44, 224, 21, 0, - 0, 0, 0, 255, 0, 0, 0, 2, 145, 44, 240, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 146, 44, 248, 30, 253, - 255, 0, 0, 2, 147, 44, 0, 1, 23, 32, 2, 147, 44, 21, 0, 0, 0, 0, 65, 29, 0, 0, 2, 148, 44, 0, - 21, 0, 0, 0, 0, 156, 163, 0, 0, 2, 149, 44, 0, 0, 0, 20, 0, 0, 0, 0, 216, 2, 128, 42, 21, 0, 0, - 0, 0, 127, 29, 0, 0, 2, 129, 42, 0, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 130, 42, 8, 21, 0, 0, 0, - 0, 40, 201, 0, 0, 2, 131, 42, 16, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 132, 42, 144, 21, 0, 0, 0, - 0, 118, 0, 1, 0, 2, 133, 42, 160, 21, 0, 0, 0, 0, 219, 52, 0, 0, 2, 134, 42, 208, 0, 20, 0, 0, - 0, 0, 48, 2, 241, 20, 21, 0, 0, 0, 0, 141, 0, 1, 0, 2, 242, 20, 0, 0, 3, 86, 40, 0, 0, 4, 82, - 0, 0, 0, 2, 0, 20, 0, 0, 0, 0, 16, 2, 95, 8, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 96, 8, 0, 21, 0, - 0, 0, 0, 189, 0, 1, 0, 2, 97, 8, 8, 0, 9, 194, 0, 1, 0, 20, 0, 0, 0, 0, 56, 2, 122, 9, 21, 0, - 0, 0, 0, 71, 97, 0, 0, 2, 123, 9, 0, 21, 0, 0, 0, 0, 45, 1, 1, 0, 2, 124, 9, 8, 21, 0, 0, 0, 0, - 45, 1, 1, 0, 2, 125, 9, 16, 34, 0, 0, 0, 0, 219, 52, 0, 0, 2, 126, 9, 1, 1, 7, 24, 34, 0, 0, 0, - 0, 219, 52, 0, 0, 2, 127, 9, 1, 1, 6, 24, 21, 0, 0, 0, 0, 65, 29, 0, 0, 2, 128, 9, 32, 21, 0, - 0, 0, 0, 69, 1, 1, 0, 2, 129, 9, 48, 0, 9, 50, 1, 1, 0, 33, 62, 1, 1, 0, 0, 0, 0, 0, 2, 120, 9, - 32, 14, 69, 1, 1, 0, 0, 9, 153, 0, 1, 0, 9, 79, 1, 1, 0, 26, 137, 253, 0, 0, 9, 16, 247, 0, 0, - 9, 94, 1, 1, 0, 20, 0, 0, 0, 0, 56, 2, 176, 44, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 177, 44, 0, - 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 178, 44, 8, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 179, 44, 16, 21, - 0, 0, 0, 0, 255, 0, 0, 0, 2, 180, 44, 24, 22, 164, 1, 1, 0, 2, 181, 44, 32, 23, 16, 2, 181, 44, - 21, 0, 0, 0, 0, 182, 1, 1, 0, 2, 185, 44, 0, 24, 16, 2, 182, 44, 21, 0, 0, 0, 0, 12, 2, 1, 0, - 2, 183, 44, 0, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 184, 44, 8, 0, 0, 21, 0, 0, 0, 0, 219, 52, 0, - 0, 2, 187, 44, 48, 21, 0, 0, 0, 0, 118, 55, 0, 0, 2, 188, 44, 49, 21, 0, 0, 0, 0, 177, 69, 0, - 0, 2, 189, 44, 50, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 190, 44, 52, 0, 9, 17, 2, 1, 0, 27, 0, 0, - 0, 0, 0, 1, 2, 51, 42, 21, 0, 0, 0, 0, 97, 3, 1, 0, 2, 52, 42, 0, 21, 0, 0, 0, 0, 12, 2, 1, 0, - 2, 53, 42, 8, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 54, 42, 16, 21, 0, 0, 0, 0, 244, 13, 0, 0, 2, - 55, 42, 24, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 56, 42, 28, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 57, - 42, 32, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 58, 42, 36, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 59, 42, - 40, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 60, 42, 44, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 61, 42, 48, - 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 62, 42, 52, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 63, 42, 56, 21, - 0, 0, 0, 0, 125, 68, 0, 0, 2, 64, 42, 60, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 65, 42, 64, 21, 0, - 0, 0, 0, 134, 252, 0, 0, 2, 66, 42, 72, 21, 0, 0, 0, 0, 161, 30, 1, 0, 2, 67, 42, 80, 21, 0, 0, - 0, 0, 105, 28, 0, 0, 2, 68, 42, 88, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 69, 42, 104, 21, 0, 0, 0, - 0, 219, 52, 0, 0, 2, 70, 42, 108, 21, 0, 0, 0, 0, 219, 52, 0, 0, 2, 71, 42, 109, 21, 0, 0, 0, - 0, 83, 97, 0, 0, 2, 75, 42, 128, 21, 0, 0, 0, 0, 83, 97, 0, 0, 2, 76, 42, 136, 21, 0, 0, 0, 0, - 156, 163, 0, 0, 2, 77, 42, 144, 21, 0, 0, 0, 0, 241, 106, 0, 0, 2, 78, 42, 176, 21, 0, 0, 0, 0, - 136, 68, 0, 0, 2, 79, 42, 208, 0, 9, 102, 3, 1, 0, 26, 107, 3, 1, 0, 27, 0, 0, 0, 0, 72, 1, 2, - 7, 42, 21, 0, 0, 0, 0, 148, 5, 1, 0, 2, 8, 42, 0, 21, 0, 0, 0, 0, 172, 13, 1, 0, 2, 9, 42, 8, - 21, 0, 0, 0, 0, 188, 13, 1, 0, 2, 10, 42, 16, 21, 0, 0, 0, 0, 205, 13, 1, 0, 2, 11, 42, 24, 21, - 0, 0, 0, 0, 217, 13, 1, 0, 2, 12, 42, 32, 21, 0, 0, 0, 0, 205, 13, 1, 0, 2, 13, 42, 40, 21, 0, - 0, 0, 0, 243, 13, 1, 0, 2, 14, 42, 48, 21, 0, 0, 0, 0, 8, 14, 1, 0, 2, 15, 42, 56, 21, 0, 0, 0, - 0, 44, 14, 1, 0, 2, 16, 42, 64, 21, 0, 0, 0, 0, 8, 14, 1, 0, 2, 17, 42, 72, 21, 0, 0, 0, 0, 8, - 14, 1, 0, 2, 18, 42, 80, 21, 0, 0, 0, 0, 8, 14, 1, 0, 2, 19, 42, 88, 21, 0, 0, 0, 0, 243, 13, - 1, 0, 2, 20, 42, 96, 21, 0, 0, 0, 0, 44, 14, 1, 0, 2, 21, 42, 104, 21, 0, 0, 0, 0, 75, 14, 1, - 0, 2, 22, 42, 112, 21, 0, 0, 0, 0, 96, 14, 1, 0, 2, 23, 42, 120, 21, 0, 0, 0, 0, 75, 14, 1, 0, - 2, 24, 42, 128, 21, 0, 0, 0, 0, 75, 14, 1, 0, 2, 25, 42, 136, 21, 0, 0, 0, 0, 122, 14, 1, 0, 2, - 26, 42, 144, 21, 0, 0, 0, 0, 125, 141, 0, 0, 2, 27, 42, 152, 21, 0, 0, 0, 0, 148, 14, 1, 0, 2, - 28, 42, 160, 21, 0, 0, 0, 0, 176, 227, 0, 0, 2, 29, 42, 168, 21, 0, 0, 0, 0, 174, 14, 1, 0, 2, - 30, 42, 176, 21, 0, 0, 0, 0, 196, 14, 1, 0, 2, 31, 42, 184, 21, 0, 0, 0, 0, 247, 14, 1, 0, 2, - 32, 42, 192, 21, 0, 0, 0, 0, 12, 15, 1, 0, 2, 33, 42, 200, 21, 0, 0, 0, 0, 29, 15, 1, 0, 2, 34, - 42, 208, 21, 0, 0, 0, 0, 56, 15, 1, 0, 2, 35, 42, 216, 21, 0, 0, 0, 0, 82, 15, 1, 0, 2, 36, 42, - 224, 21, 0, 0, 0, 0, 108, 15, 1, 0, 2, 37, 42, 232, 21, 0, 0, 0, 0, 129, 15, 1, 0, 2, 38, 42, - 240, 21, 0, 0, 0, 0, 155, 15, 1, 0, 2, 39, 42, 248, 28, 0, 0, 0, 0, 51, 16, 1, 0, 2, 40, 42, 0, - 1, 28, 0, 0, 0, 0, 73, 16, 1, 0, 2, 41, 42, 8, 1, 28, 0, 0, 0, 0, 239, 16, 1, 0, 2, 42, 42, 16, - 1, 28, 0, 0, 0, 0, 9, 17, 1, 0, 2, 43, 42, 24, 1, 28, 0, 0, 0, 0, 30, 17, 1, 0, 2, 44, 42, 32, - 1, 28, 0, 0, 0, 0, 44, 14, 1, 0, 2, 45, 42, 40, 1, 28, 0, 0, 0, 0, 11, 30, 1, 0, 2, 46, 42, 48, - 1, 28, 0, 0, 0, 0, 214, 52, 0, 0, 2, 47, 42, 56, 1, 28, 0, 0, 0, 0, 16, 30, 1, 0, 2, 48, 42, - 64, 1, 0, 9, 153, 5, 1, 0, 13, 168, 0, 0, 0, 14, 164, 5, 1, 0, 0, 9, 169, 5, 1, 0, 43, 0, 0, 0, - 0, 128, 2, 34, 41, 22, 187, 5, 1, 0, 2, 35, 41, 0, 24, 64, 2, 35, 41, 21, 0, 0, 0, 0, 0, 1, 0, - 0, 2, 36, 41, 0, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 37, 41, 4, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 38, - 41, 8, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 39, 41, 12, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 40, 41, 16, - 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 41, 41, 20, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 42, 41, 24, 21, 0, 0, - 0, 0, 105, 28, 0, 0, 2, 43, 41, 28, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 44, 41, 44, 21, 0, 0, 0, 0, - 0, 1, 0, 0, 2, 45, 41, 48, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 46, 41, 52, 21, 0, 0, 0, 0, 0, 1, 0, - 0, 2, 47, 41, 56, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 48, 41, 60, 0, 22, 115, 6, 1, 0, 2, 50, 41, 0, - 24, 32, 2, 50, 41, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 51, 41, 0, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, - 52, 41, 8, 22, 155, 6, 1, 0, 2, 53, 41, 16, 23, 8, 2, 53, 41, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, - 54, 41, 0, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 55, 41, 0, 0, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 57, - 41, 24, 0, 21, 0, 0, 0, 0, 214, 6, 1, 0, 2, 68, 41, 0, 24, 56, 2, 59, 41, 21, 0, 0, 0, 0, 197, - 0, 0, 0, 2, 60, 41, 0, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 61, 41, 8, 21, 0, 0, 0, 0, 197, 0, 0, - 0, 2, 62, 41, 16, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 63, 41, 24, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, - 64, 41, 32, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 65, 41, 36, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 66, 41, - 40, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 67, 41, 48, 0, 22, 77, 7, 1, 0, 2, 69, 41, 0, 24, 128, 2, - 69, 41, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 70, 41, 0, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 71, 41, 4, 21, - 0, 0, 0, 0, 197, 0, 0, 0, 2, 72, 41, 8, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 73, 41, 16, 21, 0, 0, - 0, 0, 0, 1, 0, 0, 2, 74, 41, 24, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 75, 41, 28, 21, 0, 0, 0, 0, - 197, 0, 0, 0, 2, 76, 41, 32, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 77, 41, 40, 21, 0, 0, 0, 0, 0, 1, - 0, 0, 2, 78, 41, 44, 21, 0, 0, 0, 0, 105, 28, 0, 0, 2, 79, 41, 48, 21, 0, 0, 0, 0, 0, 1, 0, 0, - 2, 80, 41, 64, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 81, 41, 68, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 82, - 41, 72, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 83, 41, 76, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 84, 41, 80, - 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 85, 41, 88, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 86, 41, 92, 21, 0, 0, - 0, 0, 197, 0, 0, 0, 2, 87, 41, 96, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 88, 41, 104, 21, 0, 0, 0, 0, - 0, 1, 0, 0, 2, 89, 41, 108, 22, 95, 8, 1, 0, 2, 90, 41, 112, 23, 4, 2, 90, 41, 21, 0, 0, 0, 0, - 0, 1, 0, 0, 2, 91, 41, 0, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 92, 41, 0, 0, 21, 0, 0, 0, 0, 197, 0, - 0, 0, 2, 94, 41, 120, 0, 22, 150, 8, 1, 0, 2, 96, 41, 0, 24, 16, 2, 96, 41, 21, 0, 0, 0, 0, - 197, 0, 0, 0, 2, 97, 41, 0, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 98, 41, 8, 21, 0, 0, 0, 0, 0, 1, 0, - 0, 2, 99, 41, 12, 0, 22, 204, 8, 1, 0, 2, 101, 41, 0, 24, 20, 2, 101, 41, 21, 0, 0, 0, 0, 0, 1, - 0, 0, 2, 102, 41, 0, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 103, 41, 4, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, - 104, 41, 8, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 105, 41, 12, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 106, 41, - 16, 0, 21, 0, 0, 0, 0, 32, 9, 1, 0, 2, 123, 41, 0, 24, 72, 2, 108, 41, 21, 0, 0, 0, 0, 0, 1, 0, - 0, 2, 109, 41, 0, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 110, 41, 4, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, - 111, 41, 8, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 112, 41, 12, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 113, - 41, 16, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 114, 41, 24, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 115, 41, - 32, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 116, 41, 36, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 117, 41, 40, 21, - 0, 0, 0, 0, 0, 1, 0, 0, 2, 118, 41, 44, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 119, 41, 48, 21, 0, 0, - 0, 0, 197, 0, 0, 0, 2, 120, 41, 56, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 121, 41, 64, 21, 0, 0, 0, 0, - 0, 1, 0, 0, 2, 122, 41, 68, 0, 22, 229, 9, 1, 0, 2, 124, 41, 0, 24, 12, 2, 124, 41, 22, 243, 9, - 1, 0, 2, 125, 41, 0, 23, 4, 2, 125, 41, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 126, 41, 0, 21, 0, 0, 0, - 0, 0, 1, 0, 0, 2, 127, 41, 0, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 128, 41, 0, 21, 0, 0, 0, 0, 0, 1, - 0, 0, 2, 129, 41, 0, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 130, 41, 0, 0, 21, 0, 0, 0, 0, 0, 1, 0, 0, - 2, 132, 41, 4, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 133, 41, 8, 0, 21, 0, 0, 0, 0, 98, 10, 1, 0, 2, - 139, 41, 0, 24, 16, 2, 135, 41, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 136, 41, 0, 21, 0, 0, 0, 0, 0, - 1, 0, 0, 2, 137, 41, 4, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 138, 41, 8, 0, 21, 0, 0, 0, 0, 156, - 10, 1, 0, 2, 147, 41, 0, 24, 32, 2, 140, 41, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 141, 41, 0, 21, 0, - 0, 0, 0, 0, 1, 0, 0, 2, 142, 41, 4, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 143, 41, 8, 21, 0, 0, 0, 0, - 0, 1, 0, 0, 2, 144, 41, 12, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 145, 41, 16, 21, 0, 0, 0, 0, 0, 1, - 0, 0, 2, 146, 41, 24, 0, 21, 0, 0, 0, 0, 253, 10, 1, 0, 2, 151, 41, 0, 24, 16, 2, 148, 41, 21, - 0, 0, 0, 0, 197, 0, 0, 0, 2, 149, 41, 0, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 150, 41, 8, 0, 22, 38, - 11, 1, 0, 2, 152, 41, 0, 24, 32, 2, 152, 41, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 153, 41, 0, 21, - 0, 0, 0, 0, 197, 0, 0, 0, 2, 154, 41, 8, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 155, 41, 16, 21, 0, 0, - 0, 0, 0, 1, 0, 0, 2, 156, 41, 20, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 157, 41, 24, 0, 21, 0, 0, 0, - 0, 122, 11, 1, 0, 2, 169, 41, 0, 24, 48, 2, 159, 41, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 160, 41, 0, - 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 161, 41, 4, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 162, 41, 8, 21, 0, 0, - 0, 0, 0, 1, 0, 0, 2, 163, 41, 12, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 164, 41, 16, 21, 0, 0, 0, 0, - 0, 1, 0, 0, 2, 165, 41, 24, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 166, 41, 28, 21, 0, 0, 0, 0, 197, 0, - 0, 0, 2, 167, 41, 32, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 168, 41, 40, 0, 21, 0, 0, 0, 0, 2, 12, - 1, 0, 2, 188, 41, 0, 24, 32, 2, 170, 41, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 171, 41, 0, 22, 29, 12, - 1, 0, 2, 172, 41, 4, 23, 4, 2, 172, 41, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 173, 41, 0, 21, 0, 0, 0, - 0, 0, 1, 0, 0, 2, 174, 41, 0, 0, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 176, 41, 8, 21, 0, 0, 0, 0, 0, - 1, 0, 0, 2, 177, 41, 12, 22, 96, 12, 1, 0, 2, 178, 41, 16, 23, 16, 2, 178, 41, 21, 0, 0, 0, 0, - 0, 1, 0, 0, 2, 179, 41, 0, 22, 123, 12, 1, 0, 2, 180, 41, 0, 24, 16, 2, 180, 41, 21, 0, 0, 0, - 0, 197, 0, 0, 0, 2, 181, 41, 0, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 182, 41, 8, 0, 21, 0, 0, 0, 0, - 168, 12, 1, 0, 2, 186, 41, 0, 24, 8, 2, 184, 41, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 185, 41, 0, - 0, 0, 0, 21, 0, 0, 0, 0, 202, 12, 1, 0, 2, 194, 41, 0, 24, 16, 2, 189, 41, 21, 0, 0, 0, 0, 0, - 1, 0, 0, 2, 190, 41, 0, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 191, 41, 4, 21, 0, 0, 0, 0, 0, 1, 0, 0, - 2, 192, 41, 8, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 193, 41, 12, 0, 21, 0, 0, 0, 0, 17, 13, 1, 0, 2, - 197, 41, 0, 24, 4, 2, 195, 41, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 196, 41, 0, 0, 21, 0, 0, 0, 0, - 49, 13, 1, 0, 2, 200, 41, 0, 24, 4, 2, 198, 41, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 199, 41, 0, 0, - 21, 0, 0, 0, 0, 81, 13, 1, 0, 2, 204, 41, 0, 24, 8, 2, 201, 41, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, - 202, 41, 0, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 203, 41, 4, 0, 21, 0, 0, 0, 0, 126, 13, 1, 0, 2, - 209, 41, 0, 24, 12, 2, 205, 41, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 206, 41, 0, 21, 0, 0, 0, 0, 0, - 1, 0, 0, 2, 207, 41, 4, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 208, 41, 8, 0, 0, 9, 177, 13, 1, 0, 13, - 12, 2, 1, 0, 14, 164, 5, 1, 0, 0, 9, 193, 13, 1, 0, 32, 14, 12, 2, 1, 0, 14, 69, 80, 0, 0, 0, - 9, 210, 13, 1, 0, 32, 14, 12, 2, 1, 0, 0, 9, 222, 13, 1, 0, 13, 168, 0, 0, 0, 14, 12, 2, 1, 0, - 14, 255, 0, 0, 0, 14, 255, 0, 0, 0, 0, 9, 248, 13, 1, 0, 13, 255, 0, 0, 0, 14, 12, 2, 1, 0, 14, - 255, 0, 0, 0, 0, 9, 13, 14, 1, 0, 13, 168, 0, 0, 0, 14, 12, 2, 1, 0, 14, 34, 14, 1, 0, 14, 164, - 5, 1, 0, 0, 9, 39, 14, 1, 0, 26, 169, 5, 1, 0, 9, 49, 14, 1, 0, 13, 168, 0, 0, 0, 14, 12, 2, 1, - 0, 14, 255, 0, 0, 0, 14, 255, 0, 0, 0, 14, 136, 68, 0, 0, 0, 9, 80, 14, 1, 0, 13, 168, 0, 0, 0, - 14, 12, 2, 1, 0, 14, 255, 0, 0, 0, 0, 9, 101, 14, 1, 0, 13, 168, 0, 0, 0, 14, 12, 2, 1, 0, 14, - 255, 0, 0, 0, 14, 136, 68, 0, 0, 0, 9, 127, 14, 1, 0, 13, 255, 0, 0, 0, 14, 12, 2, 1, 0, 14, - 69, 80, 0, 0, 14, 168, 0, 0, 0, 0, 9, 153, 14, 1, 0, 13, 168, 0, 0, 0, 14, 12, 2, 1, 0, 14, - 169, 14, 1, 0, 0, 9, 246, 248, 0, 0, 9, 179, 14, 1, 0, 32, 14, 12, 2, 1, 0, 14, 255, 0, 0, 0, - 14, 71, 114, 0, 0, 0, 9, 201, 14, 1, 0, 13, 168, 0, 0, 0, 14, 227, 14, 1, 0, 14, 237, 14, 1, 0, - 14, 74, 1, 1, 0, 14, 74, 1, 1, 0, 0, 9, 232, 14, 1, 0, 26, 17, 2, 1, 0, 9, 242, 14, 1, 0, 26, - 139, 252, 0, 0, 9, 252, 14, 1, 0, 13, 168, 0, 0, 0, 14, 12, 2, 1, 0, 14, 82, 249, 0, 0, 0, 9, - 17, 15, 1, 0, 32, 14, 12, 2, 1, 0, 14, 82, 249, 0, 0, 0, 9, 34, 15, 1, 0, 32, 14, 12, 2, 1, 0, - 14, 125, 68, 0, 0, 14, 16, 247, 0, 0, 14, 16, 247, 0, 0, 0, 9, 61, 15, 1, 0, 13, 168, 0, 0, 0, - 14, 227, 14, 1, 0, 14, 239, 241, 0, 0, 14, 125, 68, 0, 0, 0, 9, 87, 15, 1, 0, 13, 168, 0, 0, 0, - 14, 227, 14, 1, 0, 14, 136, 68, 0, 0, 14, 175, 236, 0, 0, 0, 9, 113, 15, 1, 0, 13, 168, 0, 0, - 0, 14, 12, 2, 1, 0, 14, 66, 92, 0, 0, 0, 9, 134, 15, 1, 0, 13, 10, 160, 0, 0, 14, 12, 2, 1, 0, - 14, 69, 80, 0, 0, 14, 21, 160, 0, 0, 0, 9, 160, 15, 1, 0, 13, 168, 0, 0, 0, 14, 181, 15, 1, 0, - 14, 255, 0, 0, 0, 14, 125, 68, 0, 0, 0, 9, 186, 15, 1, 0, 27, 0, 0, 0, 0, 64, 1, 2, 1, 153, 21, - 0, 0, 0, 0, 17, 2, 1, 0, 2, 2, 153, 0, 28, 0, 0, 0, 0, 10, 16, 1, 0, 2, 3, 153, 0, 1, 28, 0, 0, - 0, 0, 125, 68, 0, 0, 2, 4, 153, 8, 1, 28, 0, 0, 0, 0, 177, 69, 0, 0, 2, 5, 153, 12, 1, 28, 0, - 0, 0, 0, 177, 69, 0, 0, 2, 6, 153, 14, 1, 0, 9, 15, 16, 1, 0, 20, 0, 0, 0, 0, 16, 2, 163, 153, - 21, 0, 0, 0, 0, 190, 103, 0, 0, 2, 164, 153, 0, 21, 0, 0, 0, 0, 231, 97, 0, 0, 2, 165, 153, 8, - 0, 9, 56, 16, 1, 0, 32, 14, 181, 15, 1, 0, 14, 255, 0, 0, 0, 14, 125, 68, 0, 0, 0, 9, 78, 16, - 1, 0, 13, 89, 16, 1, 0, 14, 255, 0, 0, 0, 0, 9, 94, 16, 1, 0, 9, 99, 16, 1, 0, 20, 0, 0, 0, 0, - 168, 2, 247, 152, 21, 0, 0, 0, 0, 174, 16, 1, 0, 2, 248, 152, 0, 21, 0, 0, 0, 0, 190, 103, 0, - 0, 2, 249, 152, 128, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 250, 152, 136, 21, 0, 0, 0, 0, 65, 29, 0, - 0, 2, 251, 152, 144, 21, 0, 0, 0, 0, 231, 97, 0, 0, 2, 252, 152, 160, 0, 3, 186, 16, 1, 0, 4, - 82, 0, 0, 0, 16, 0, 9, 191, 16, 1, 0, 20, 0, 0, 0, 0, 8, 2, 168, 153, 21, 0, 0, 0, 0, 181, 15, - 1, 0, 2, 169, 153, 0, 21, 0, 0, 0, 0, 227, 16, 1, 0, 2, 170, 153, 8, 0, 3, 118, 55, 0, 0, 4, - 82, 0, 0, 0, 0, 0, 9, 244, 16, 1, 0, 13, 168, 0, 0, 0, 14, 12, 2, 1, 0, 14, 125, 68, 0, 0, 14, - 136, 68, 0, 0, 0, 9, 14, 17, 1, 0, 13, 219, 52, 0, 0, 14, 227, 14, 1, 0, 14, 227, 14, 1, 0, 0, - 9, 35, 17, 1, 0, 13, 168, 0, 0, 0, 14, 56, 17, 1, 0, 14, 66, 24, 1, 0, 14, 66, 24, 1, 0, 0, 9, - 61, 17, 1, 0, 27, 0, 0, 0, 0, 64, 29, 2, 201, 156, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 202, 156, - 0, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 203, 156, 4, 21, 0, 0, 0, 0, 16, 247, 0, 0, 2, 204, 156, - 8, 21, 0, 0, 0, 0, 181, 19, 1, 0, 2, 205, 156, 16, 21, 0, 0, 0, 0, 77, 23, 1, 0, 2, 206, 156, - 24, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 207, 156, 32, 21, 0, 0, 0, 0, 219, 52, 0, 0, 2, 208, 156, - 36, 21, 0, 0, 0, 0, 219, 52, 0, 0, 2, 209, 156, 37, 21, 0, 0, 0, 0, 27, 27, 1, 0, 2, 210, 156, - 40, 21, 0, 0, 0, 0, 73, 27, 1, 0, 2, 211, 156, 48, 21, 0, 0, 0, 0, 78, 27, 1, 0, 2, 212, 156, - 56, 21, 0, 0, 0, 0, 145, 27, 1, 0, 2, 213, 156, 64, 28, 0, 0, 0, 0, 157, 27, 1, 0, 2, 214, 156, - 64, 2, 28, 0, 0, 0, 0, 125, 68, 0, 0, 2, 215, 156, 64, 6, 28, 0, 0, 0, 0, 125, 68, 0, 0, 2, - 216, 156, 68, 6, 28, 0, 0, 0, 0, 125, 68, 0, 0, 2, 217, 156, 72, 6, 28, 0, 0, 0, 0, 219, 52, 0, - 0, 2, 218, 156, 76, 6, 28, 0, 0, 0, 0, 219, 52, 0, 0, 2, 219, 156, 77, 6, 28, 0, 0, 0, 0, 219, - 52, 0, 0, 2, 220, 156, 78, 6, 28, 0, 0, 0, 0, 219, 52, 0, 0, 2, 221, 156, 79, 6, 28, 0, 0, 0, - 0, 219, 52, 0, 0, 2, 222, 156, 80, 6, 28, 0, 0, 0, 0, 219, 52, 0, 0, 2, 223, 156, 81, 6, 28, 0, - 0, 0, 0, 219, 52, 0, 0, 2, 224, 156, 82, 6, 28, 0, 0, 0, 0, 219, 52, 0, 0, 2, 225, 156, 83, 6, - 28, 0, 0, 0, 0, 205, 27, 1, 0, 2, 226, 156, 88, 6, 28, 0, 0, 0, 0, 21, 29, 1, 0, 2, 227, 156, - 96, 6, 28, 0, 0, 0, 0, 96, 22, 1, 0, 2, 228, 156, 104, 6, 28, 0, 0, 0, 0, 93, 29, 1, 0, 2, 229, - 156, 128, 10, 28, 0, 0, 0, 0, 207, 29, 1, 0, 2, 230, 156, 144, 26, 28, 0, 0, 0, 0, 223, 18, 1, - 0, 2, 235, 156, 232, 28, 24, 24, 2, 231, 156, 21, 0, 0, 0, 0, 214, 52, 0, 0, 2, 232, 156, 0, - 21, 0, 0, 0, 0, 214, 52, 0, 0, 2, 233, 156, 8, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 234, 156, 16, - 0, 28, 0, 0, 0, 0, 125, 68, 0, 0, 2, 236, 156, 0, 29, 28, 0, 0, 0, 0, 125, 68, 0, 0, 2, 237, - 156, 4, 29, 28, 0, 0, 0, 0, 125, 68, 0, 0, 2, 238, 156, 8, 29, 28, 0, 0, 0, 0, 125, 68, 0, 0, - 2, 239, 156, 12, 29, 28, 0, 0, 0, 0, 125, 68, 0, 0, 2, 240, 156, 16, 29, 28, 0, 0, 0, 0, 125, - 68, 0, 0, 2, 241, 156, 20, 29, 28, 0, 0, 0, 0, 136, 68, 0, 0, 2, 242, 156, 24, 29, 28, 0, 0, 0, - 0, 125, 68, 0, 0, 2, 243, 156, 32, 29, 28, 0, 0, 0, 0, 125, 68, 0, 0, 2, 244, 156, 36, 29, 28, - 0, 0, 0, 0, 125, 68, 0, 0, 2, 245, 156, 40, 29, 28, 0, 0, 0, 0, 125, 68, 0, 0, 2, 246, 156, 44, - 29, 28, 0, 0, 0, 0, 255, 29, 1, 0, 2, 247, 156, 48, 29, 0, 9, 186, 19, 1, 0, 26, 191, 19, 1, 0, - 20, 0, 0, 0, 0, 56, 2, 112, 153, 21, 0, 0, 0, 0, 36, 20, 1, 0, 2, 113, 153, 0, 21, 0, 0, 0, 0, - 201, 21, 1, 0, 2, 114, 153, 8, 21, 0, 0, 0, 0, 188, 22, 1, 0, 2, 115, 153, 16, 21, 0, 0, 0, 0, - 214, 22, 1, 0, 2, 116, 153, 24, 21, 0, 0, 0, 0, 235, 22, 1, 0, 2, 117, 153, 32, 21, 0, 0, 0, 0, - 15, 23, 1, 0, 2, 118, 153, 40, 21, 0, 0, 0, 0, 61, 23, 1, 0, 2, 119, 153, 48, 0, 9, 41, 20, 1, - 0, 13, 57, 20, 1, 0, 14, 67, 9, 0, 0, 14, 191, 21, 1, 0, 0, 9, 62, 20, 1, 0, 26, 67, 20, 1, 0, - 20, 0, 0, 0, 0, 96, 2, 64, 153, 21, 0, 0, 0, 0, 115, 21, 1, 0, 2, 65, 153, 0, 21, 0, 0, 0, 0, - 219, 52, 0, 0, 2, 66, 153, 8, 21, 0, 0, 0, 0, 219, 52, 0, 0, 2, 67, 153, 9, 21, 0, 0, 0, 0, 37, - 8, 0, 0, 2, 68, 153, 12, 22, 137, 20, 1, 0, 2, 69, 153, 16, 23, 20, 2, 69, 153, 22, 151, 20, 1, - 0, 2, 70, 153, 0, 24, 20, 2, 70, 153, 21, 0, 0, 0, 0, 123, 8, 0, 0, 2, 71, 153, 0, 21, 0, 0, 0, - 0, 123, 8, 0, 0, 2, 72, 153, 4, 21, 0, 0, 0, 0, 123, 8, 0, 0, 2, 73, 153, 8, 21, 0, 0, 0, 0, - 123, 8, 0, 0, 2, 74, 153, 12, 21, 0, 0, 0, 0, 123, 8, 0, 0, 2, 75, 153, 16, 0, 21, 0, 0, 0, 0, - 151, 21, 1, 0, 2, 77, 153, 0, 0, 22, 245, 20, 1, 0, 2, 79, 153, 40, 23, 40, 2, 79, 153, 22, 3, - 21, 1, 0, 2, 80, 153, 0, 24, 40, 2, 80, 153, 21, 0, 0, 0, 0, 175, 236, 0, 0, 2, 81, 153, 0, 21, - 0, 0, 0, 0, 175, 236, 0, 0, 2, 82, 153, 8, 21, 0, 0, 0, 0, 175, 236, 0, 0, 2, 83, 153, 16, 21, - 0, 0, 0, 0, 175, 236, 0, 0, 2, 84, 153, 24, 21, 0, 0, 0, 0, 175, 236, 0, 0, 2, 85, 153, 32, 0, - 21, 0, 0, 0, 0, 163, 21, 1, 0, 2, 87, 153, 0, 0, 21, 0, 0, 0, 0, 214, 52, 0, 0, 2, 89, 153, 80, - 21, 0, 0, 0, 0, 175, 21, 1, 0, 2, 90, 153, 88, 0, 9, 120, 21, 1, 0, 13, 136, 68, 0, 0, 14, 136, - 68, 0, 0, 14, 136, 68, 0, 0, 14, 136, 68, 0, 0, 14, 136, 68, 0, 0, 14, 136, 68, 0, 0, 0, 3, - 123, 8, 0, 0, 4, 82, 0, 0, 0, 5, 0, 3, 175, 236, 0, 0, 4, 82, 0, 0, 0, 5, 0, 9, 180, 21, 1, 0, - 13, 219, 52, 0, 0, 14, 191, 21, 1, 0, 0, 9, 196, 21, 1, 0, 26, 21, 247, 0, 0, 9, 206, 21, 1, 0, - 13, 219, 52, 0, 0, 14, 168, 0, 0, 0, 14, 168, 0, 0, 0, 14, 168, 13, 0, 0, 14, 191, 21, 1, 0, - 14, 237, 21, 1, 0, 0, 9, 242, 21, 1, 0, 20, 0, 0, 0, 0, 32, 2, 100, 153, 21, 0, 0, 0, 0, 93, 7, - 0, 0, 2, 101, 153, 0, 22, 17, 22, 1, 0, 2, 102, 153, 8, 23, 16, 2, 102, 153, 21, 0, 0, 0, 0, - 168, 0, 0, 0, 2, 103, 153, 0, 22, 44, 22, 1, 0, 2, 104, 153, 0, 24, 16, 2, 104, 153, 21, 0, 0, - 0, 0, 134, 252, 0, 0, 2, 105, 153, 0, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 106, 153, 8, 0, 0, 21, - 0, 0, 0, 0, 91, 22, 1, 0, 2, 109, 153, 24, 0, 9, 96, 22, 1, 0, 27, 0, 0, 0, 0, 24, 4, 2, 170, - 156, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 171, 156, 0, 21, 0, 0, 0, 0, 175, 22, 1, 0, 2, 172, 156, - 4, 28, 0, 0, 0, 0, 199, 53, 0, 0, 2, 173, 156, 8, 4, 28, 0, 0, 0, 0, 125, 68, 0, 0, 2, 174, - 156, 16, 4, 28, 0, 0, 0, 0, 125, 68, 0, 0, 2, 175, 156, 20, 4, 0, 3, 75, 0, 0, 0, 39, 82, 0, 0, - 0, 0, 4, 0, 9, 193, 22, 1, 0, 13, 168, 0, 0, 0, 14, 169, 14, 1, 0, 14, 219, 52, 0, 0, 14, 191, - 21, 1, 0, 0, 9, 219, 22, 1, 0, 13, 168, 0, 0, 0, 14, 236, 248, 0, 0, 14, 169, 14, 1, 0, 0, 9, - 240, 22, 1, 0, 13, 125, 68, 0, 0, 14, 168, 13, 0, 0, 14, 236, 248, 0, 0, 14, 169, 14, 1, 0, 14, - 16, 247, 0, 0, 14, 175, 236, 0, 0, 0, 9, 20, 23, 1, 0, 13, 168, 0, 0, 0, 14, 91, 22, 1, 0, 14, - 237, 14, 1, 0, 14, 74, 1, 1, 0, 14, 168, 0, 0, 0, 14, 168, 0, 0, 0, 14, 168, 13, 0, 0, 14, 175, - 236, 0, 0, 0, 9, 66, 23, 1, 0, 13, 219, 52, 0, 0, 14, 125, 68, 0, 0, 0, 9, 82, 23, 1, 0, 20, 0, - 0, 0, 0, 144, 2, 242, 157, 21, 0, 0, 0, 0, 157, 23, 1, 0, 2, 243, 157, 0, 21, 0, 0, 0, 0, 168, - 0, 0, 0, 2, 244, 157, 120, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 245, 157, 124, 21, 0, 0, 0, 0, 77, - 23, 1, 0, 2, 246, 157, 128, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 247, 157, 136, 0, 20, 0, 0, 0, 0, - 120, 2, 93, 157, 21, 0, 0, 0, 0, 54, 24, 1, 0, 2, 94, 157, 0, 21, 0, 0, 0, 0, 27, 27, 1, 0, 2, - 95, 157, 64, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 96, 157, 72, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, - 97, 157, 76, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 98, 157, 80, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, - 99, 157, 84, 21, 0, 0, 0, 0, 219, 52, 0, 0, 2, 100, 157, 88, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, - 101, 157, 92, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 102, 157, 96, 21, 0, 0, 0, 0, 32, 27, 1, 0, 2, - 103, 157, 104, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 104, 157, 112, 0, 3, 66, 24, 1, 0, 4, 82, 0, - 0, 0, 8, 0, 9, 71, 24, 1, 0, 27, 0, 0, 0, 0, 88, 5, 2, 50, 157, 21, 0, 0, 0, 0, 235, 24, 1, 0, - 2, 51, 157, 0, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 52, 157, 40, 5, 28, 0, 0, 0, 0, 125, 68, 0, 0, - 2, 53, 157, 44, 5, 28, 0, 0, 0, 0, 125, 68, 0, 0, 2, 54, 157, 48, 5, 28, 0, 0, 0, 0, 125, 68, - 0, 0, 2, 55, 157, 52, 5, 28, 0, 0, 0, 0, 219, 52, 0, 0, 2, 56, 157, 56, 5, 28, 0, 0, 0, 0, 219, - 52, 0, 0, 2, 57, 157, 57, 5, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 58, 157, 60, 5, 28, 0, 0, 0, 0, - 201, 26, 1, 0, 2, 59, 157, 64, 5, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 60, 157, 72, 5, 28, 0, 0, 0, - 0, 242, 26, 1, 0, 2, 61, 157, 80, 5, 0, 3, 247, 24, 1, 0, 4, 82, 0, 0, 0, 11, 0, 20, 0, 0, 0, - 0, 120, 2, 8, 157, 21, 0, 0, 0, 0, 93, 7, 0, 0, 2, 9, 157, 0, 21, 0, 0, 0, 0, 101, 103, 0, 0, - 2, 10, 157, 4, 22, 35, 25, 1, 0, 2, 11, 157, 8, 23, 16, 2, 11, 157, 21, 0, 0, 0, 0, 168, 0, 0, - 0, 2, 12, 157, 0, 22, 62, 25, 1, 0, 2, 13, 157, 0, 24, 16, 2, 13, 157, 21, 0, 0, 0, 0, 12, 2, - 1, 0, 2, 14, 157, 0, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 15, 157, 8, 0, 22, 103, 25, 1, 0, 2, 17, - 157, 0, 24, 16, 2, 17, 157, 21, 0, 0, 0, 0, 134, 252, 0, 0, 2, 18, 157, 0, 21, 0, 0, 0, 0, 125, - 68, 0, 0, 2, 19, 157, 8, 0, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 21, 157, 0, 21, 0, 0, 0, 0, 161, - 25, 1, 0, 2, 25, 157, 0, 24, 16, 2, 22, 157, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 23, 157, 0, 21, - 0, 0, 0, 0, 127, 29, 0, 0, 2, 24, 157, 8, 0, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 26, 157, 0, 0, - 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 28, 157, 24, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 29, 157, 28, - 21, 0, 0, 0, 0, 160, 26, 1, 0, 2, 30, 157, 32, 21, 0, 0, 0, 0, 111, 97, 0, 0, 2, 31, 157, 48, - 21, 0, 0, 0, 0, 111, 97, 0, 0, 2, 32, 157, 56, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 33, 157, 64, - 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 34, 157, 72, 21, 0, 0, 0, 0, 101, 103, 0, 0, 2, 35, 157, 80, - 21, 0, 0, 0, 0, 101, 103, 0, 0, 2, 36, 157, 84, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 37, 157, 88, - 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 38, 157, 92, 21, 0, 0, 0, 0, 196, 26, 1, 0, 2, 39, 157, 96, - 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 40, 157, 104, 21, 0, 0, 0, 0, 101, 103, 0, 0, 2, 41, 157, - 108, 21, 0, 0, 0, 0, 194, 13, 0, 0, 2, 42, 157, 112, 21, 0, 0, 0, 0, 219, 52, 0, 0, 2, 43, 157, - 116, 0, 20, 0, 0, 0, 0, 16, 2, 250, 156, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 251, 156, 0, 21, 0, - 0, 0, 0, 136, 68, 0, 0, 2, 252, 156, 8, 0, 9, 247, 24, 1, 0, 9, 206, 26, 1, 0, 20, 0, 0, 0, 0, - 8, 2, 83, 157, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 84, 157, 0, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, - 85, 157, 4, 0, 9, 247, 26, 1, 0, 20, 0, 0, 0, 0, 128, 2, 78, 157, 21, 0, 0, 0, 0, 247, 24, 1, - 0, 2, 79, 157, 0, 21, 0, 0, 0, 0, 136, 248, 0, 0, 2, 80, 157, 120, 0, 9, 157, 23, 1, 0, 9, 37, - 27, 1, 0, 20, 0, 0, 0, 0, 8, 2, 88, 157, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 89, 157, 0, 21, 0, - 0, 0, 0, 125, 68, 0, 0, 2, 90, 157, 4, 0, 9, 78, 27, 1, 0, 9, 83, 27, 1, 0, 20, 0, 0, 0, 0, - 136, 2, 107, 157, 21, 0, 0, 0, 0, 157, 23, 1, 0, 2, 108, 157, 0, 21, 0, 0, 0, 0, 78, 27, 1, 0, - 2, 109, 157, 120, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 110, 157, 128, 21, 0, 0, 0, 0, 168, 0, 0, 0, - 2, 111, 157, 132, 0, 3, 12, 2, 1, 0, 4, 82, 0, 0, 0, 64, 0, 3, 169, 27, 1, 0, 4, 82, 0, 0, 0, - 64, 0, 20, 0, 0, 0, 0, 16, 2, 199, 44, 21, 0, 0, 0, 0, 134, 252, 0, 0, 2, 200, 44, 0, 21, 0, 0, - 0, 0, 111, 83, 0, 0, 2, 201, 44, 8, 0, 9, 210, 27, 1, 0, 20, 0, 0, 0, 0, 56, 2, 114, 157, 22, - 228, 27, 1, 0, 2, 115, 157, 0, 23, 24, 2, 115, 157, 21, 0, 0, 0, 0, 93, 7, 0, 0, 2, 116, 157, - 0, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 117, 157, 0, 21, 0, 0, 0, 0, 101, 103, 0, 0, 2, 118, 157, - 0, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 119, 157, 0, 22, 38, 28, 1, 0, 2, 120, 157, 0, 24, 8, 2, - 120, 157, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 121, 157, 0, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 122, - 157, 4, 0, 21, 0, 0, 0, 0, 83, 28, 1, 0, 2, 133, 157, 0, 24, 24, 2, 124, 157, 21, 0, 0, 0, 0, - 93, 7, 0, 0, 2, 125, 157, 0, 22, 110, 28, 1, 0, 2, 126, 157, 8, 23, 16, 2, 126, 157, 22, 124, - 28, 1, 0, 2, 127, 157, 0, 24, 16, 2, 127, 157, 21, 0, 0, 0, 0, 134, 252, 0, 0, 2, 128, 157, 0, - 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 129, 157, 8, 0, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 131, 157, - 0, 0, 0, 0, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 135, 157, 24, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, - 136, 157, 32, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 137, 157, 36, 21, 0, 0, 0, 0, 219, 52, 0, 0, 2, - 138, 157, 40, 21, 0, 0, 0, 0, 219, 52, 0, 0, 2, 139, 157, 41, 21, 0, 0, 0, 0, 118, 55, 0, 0, 2, - 140, 157, 42, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 141, 157, 44, 21, 0, 0, 0, 0, 219, 52, 0, 0, 2, - 142, 157, 48, 0, 9, 26, 29, 1, 0, 26, 31, 29, 1, 0, 20, 0, 0, 0, 0, 16, 2, 217, 41, 21, 0, 0, - 0, 0, 0, 1, 0, 0, 2, 218, 41, 0, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 219, 41, 4, 21, 0, 0, 0, 0, 0, - 1, 0, 0, 2, 220, 41, 8, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 221, 41, 12, 0, 3, 106, 29, 1, 0, 39, - 82, 0, 0, 0, 1, 1, 0, 20, 0, 0, 0, 0, 16, 2, 178, 156, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 179, - 156, 0, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 180, 156, 4, 21, 0, 0, 0, 0, 177, 69, 0, 0, 2, 181, - 156, 8, 21, 0, 0, 0, 0, 219, 52, 0, 0, 2, 182, 156, 10, 21, 0, 0, 0, 0, 219, 52, 0, 0, 2, 183, - 156, 11, 21, 0, 0, 0, 0, 219, 52, 0, 0, 2, 184, 156, 12, 21, 0, 0, 0, 0, 219, 52, 0, 0, 2, 185, - 156, 13, 0, 3, 219, 29, 1, 0, 4, 82, 0, 0, 0, 75, 0, 20, 0, 0, 0, 0, 8, 2, 188, 156, 21, 0, 0, - 0, 0, 125, 68, 0, 0, 2, 189, 156, 0, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 190, 156, 4, 0, 33, 88, - 53, 0, 0, 0, 0, 0, 0, 2, 168, 156, 26, 14, 29, 0, 0, 9, 21, 30, 1, 0, 26, 26, 30, 1, 0, 20, 0, - 0, 0, 0, 32, 2, 244, 41, 21, 0, 0, 0, 0, 242, 114, 0, 0, 2, 245, 41, 0, 21, 0, 0, 0, 0, 88, 30, - 1, 0, 2, 246, 41, 8, 21, 0, 0, 0, 0, 149, 30, 1, 0, 2, 247, 41, 16, 21, 0, 0, 0, 0, 125, 68, 0, - 0, 2, 248, 41, 24, 0, 33, 100, 30, 1, 0, 0, 0, 0, 0, 2, 234, 41, 9, 105, 30, 1, 0, 13, 168, 0, - 0, 0, 14, 255, 0, 0, 0, 14, 121, 30, 1, 0, 0, 9, 126, 30, 1, 0, 20, 0, 0, 0, 0, 8, 2, 238, 41, - 21, 0, 0, 0, 0, 12, 2, 1, 0, 2, 239, 41, 0, 0, 33, 125, 141, 0, 0, 0, 0, 0, 0, 2, 242, 41, 9, - 166, 30, 1, 0, 27, 0, 0, 0, 0, 192, 15, 2, 32, 22, 21, 0, 0, 0, 0, 69, 148, 0, 0, 2, 33, 22, 0, - 21, 0, 0, 0, 0, 78, 33, 1, 0, 2, 34, 22, 200, 21, 0, 0, 0, 0, 114, 33, 1, 0, 2, 35, 22, 208, - 30, 225, 30, 1, 0, 2, 36, 22, 64, 1, 23, 112, 2, 36, 22, 21, 0, 0, 0, 0, 114, 33, 1, 0, 2, 37, - 22, 0, 21, 0, 0, 0, 0, 114, 33, 1, 0, 2, 38, 22, 0, 0, 28, 0, 0, 0, 0, 114, 33, 1, 0, 2, 40, - 22, 176, 1, 28, 0, 0, 0, 0, 114, 33, 1, 0, 2, 41, 22, 32, 2, 28, 0, 0, 0, 0, 156, 163, 0, 0, 2, - 42, 22, 144, 2, 28, 0, 0, 0, 0, 127, 29, 0, 0, 2, 43, 22, 176, 2, 28, 0, 0, 0, 0, 55, 34, 1, 0, - 2, 44, 22, 184, 2, 28, 0, 0, 0, 0, 219, 52, 0, 0, 2, 45, 22, 48, 3, 28, 0, 0, 0, 0, 219, 52, 0, - 0, 2, 46, 22, 49, 3, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 47, 22, 52, 3, 28, 0, 0, 0, 0, 168, 0, 0, - 0, 2, 48, 22, 56, 3, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 49, 22, 60, 3, 28, 0, 0, 0, 0, 124, 161, - 0, 0, 2, 50, 22, 64, 3, 28, 0, 0, 0, 0, 124, 161, 0, 0, 2, 51, 22, 120, 3, 28, 0, 0, 0, 0, 124, - 161, 0, 0, 2, 52, 22, 176, 3, 28, 0, 0, 0, 0, 241, 106, 0, 0, 2, 53, 22, 232, 3, 28, 0, 0, 0, - 0, 169, 34, 1, 0, 2, 54, 22, 8, 4, 28, 0, 0, 0, 0, 169, 34, 1, 0, 2, 55, 22, 24, 4, 28, 0, 0, - 0, 0, 227, 28, 0, 0, 2, 56, 22, 40, 4, 28, 0, 0, 0, 0, 127, 29, 0, 0, 2, 57, 22, 56, 4, 28, 0, - 0, 0, 0, 248, 68, 0, 0, 2, 58, 22, 64, 4, 28, 0, 0, 0, 0, 127, 29, 0, 0, 2, 59, 22, 72, 4, 28, - 0, 0, 0, 0, 61, 35, 1, 0, 2, 66, 22, 128, 4, 28, 0, 0, 0, 0, 84, 35, 1, 0, 2, 67, 22, 128, 4, - 28, 0, 0, 0, 0, 174, 35, 1, 0, 2, 68, 22, 128, 13, 28, 0, 0, 0, 0, 174, 35, 1, 0, 2, 69, 22, - 192, 13, 28, 0, 0, 0, 0, 127, 29, 0, 0, 2, 70, 22, 0, 14, 28, 0, 0, 0, 0, 219, 52, 0, 0, 2, 71, - 22, 8, 14, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 72, 22, 12, 14, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, - 73, 22, 16, 14, 28, 0, 0, 0, 0, 182, 14, 0, 0, 2, 74, 22, 20, 14, 28, 0, 0, 0, 0, 186, 35, 1, - 0, 2, 75, 22, 24, 14, 28, 0, 0, 0, 0, 227, 28, 0, 0, 2, 76, 22, 32, 14, 28, 0, 0, 0, 0, 61, 35, - 1, 0, 2, 79, 22, 64, 14, 28, 0, 0, 0, 0, 176, 64, 0, 0, 2, 80, 22, 64, 14, 28, 0, 0, 0, 0, 130, - 120, 0, 0, 2, 81, 22, 72, 14, 28, 0, 0, 0, 0, 25, 36, 1, 0, 2, 82, 22, 80, 14, 28, 0, 0, 0, 0, - 227, 28, 0, 0, 2, 83, 22, 88, 14, 28, 0, 0, 0, 0, 124, 36, 1, 0, 2, 84, 22, 104, 14, 28, 0, 0, - 0, 0, 5, 37, 1, 0, 2, 85, 22, 224, 14, 28, 0, 0, 0, 0, 227, 28, 0, 0, 2, 86, 22, 128, 15, 28, - 0, 0, 0, 0, 248, 68, 0, 0, 2, 87, 22, 144, 15, 28, 0, 0, 0, 0, 115, 37, 1, 0, 2, 88, 22, 152, - 15, 28, 0, 0, 0, 0, 164, 37, 1, 0, 2, 89, 22, 184, 15, 0, 20, 0, 0, 0, 0, 8, 2, 192, 21, 21, 0, - 0, 0, 0, 168, 0, 0, 0, 2, 193, 21, 0, 21, 0, 0, 0, 0, 141, 64, 0, 0, 2, 194, 21, 4, 0, 20, 0, - 0, 0, 0, 112, 2, 197, 21, 21, 0, 0, 0, 0, 71, 97, 0, 0, 2, 198, 21, 0, 21, 0, 0, 0, 0, 127, 29, - 0, 0, 2, 199, 21, 8, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 200, 21, 16, 21, 0, 0, 0, 0, 127, 29, 0, - 0, 2, 201, 21, 24, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 202, 21, 32, 21, 0, 0, 0, 0, 127, 29, 0, - 0, 2, 203, 21, 40, 21, 0, 0, 0, 0, 71, 97, 0, 0, 2, 204, 21, 48, 21, 0, 0, 0, 0, 71, 97, 0, 0, - 2, 205, 21, 56, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 206, 21, 64, 21, 0, 0, 0, 0, 71, 97, 0, 0, 2, - 207, 21, 72, 21, 0, 0, 0, 0, 71, 97, 0, 0, 2, 208, 21, 80, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, - 209, 21, 88, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 210, 21, 96, 21, 0, 0, 0, 0, 50, 34, 1, 0, 2, - 211, 21, 104, 0, 9, 114, 33, 1, 0, 20, 0, 0, 0, 0, 120, 2, 214, 21, 21, 0, 0, 0, 0, 127, 29, 0, - 0, 2, 215, 21, 0, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 216, 21, 8, 21, 0, 0, 0, 0, 127, 29, 0, 0, - 2, 217, 21, 16, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 218, 21, 24, 21, 0, 0, 0, 0, 248, 68, 0, 0, - 2, 219, 21, 32, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 220, 21, 40, 21, 0, 0, 0, 0, 241, 106, 0, 0, - 2, 221, 21, 56, 21, 0, 0, 0, 0, 156, 163, 0, 0, 2, 222, 21, 88, 0, 20, 0, 0, 0, 0, 16, 2, 233, - 21, 21, 0, 0, 0, 0, 205, 34, 1, 0, 2, 234, 21, 0, 21, 0, 0, 0, 0, 205, 34, 1, 0, 2, 235, 21, 8, - 0, 9, 210, 34, 1, 0, 20, 0, 0, 0, 0, 8, 2, 33, 34, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 34, 34, 0, - 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 35, 34, 4, 21, 0, 0, 0, 0, 3, 35, 1, 0, 2, 36, 34, 8, 0, 3, 15, - 35, 1, 0, 4, 82, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 16, 2, 28, 34, 21, 0, 0, 0, 0, 51, 35, 1, 0, 2, - 29, 34, 0, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 30, 34, 8, 0, 9, 56, 35, 1, 0, 45, 0, 0, 0, 0, 20, - 0, 0, 0, 0, 0, 2, 238, 21, 21, 0, 0, 0, 0, 115, 29, 0, 0, 2, 239, 21, 0, 0, 27, 0, 0, 0, 0, 0, - 9, 2, 242, 21, 21, 0, 0, 0, 0, 150, 35, 1, 0, 2, 243, 21, 0, 28, 0, 0, 0, 0, 162, 35, 1, 0, 2, - 244, 21, 80, 1, 28, 0, 0, 0, 0, 150, 35, 1, 0, 2, 245, 21, 128, 4, 28, 0, 0, 0, 0, 162, 35, 1, - 0, 2, 246, 21, 208, 5, 0, 3, 248, 0, 0, 0, 4, 82, 0, 0, 0, 42, 0, 3, 127, 29, 0, 0, 4, 82, 0, - 0, 0, 102, 0, 3, 71, 97, 0, 0, 4, 82, 0, 0, 0, 8, 0, 9, 191, 35, 1, 0, 20, 0, 0, 0, 0, 48, 2, - 39, 34, 21, 0, 0, 0, 0, 153, 0, 1, 0, 2, 40, 34, 0, 21, 0, 0, 0, 0, 161, 30, 1, 0, 2, 41, 34, - 16, 21, 0, 0, 0, 0, 176, 64, 0, 0, 2, 42, 34, 24, 22, 248, 35, 1, 0, 2, 43, 34, 32, 23, 16, 2, - 43, 34, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 44, 34, 0, 21, 0, 0, 0, 0, 65, 29, 0, 0, 2, 45, 34, - 0, 0, 0, 9, 30, 36, 1, 0, 27, 0, 0, 0, 0, 24, 9, 2, 239, 33, 21, 0, 0, 0, 0, 150, 35, 1, 0, 2, - 240, 33, 0, 28, 0, 0, 0, 0, 162, 35, 1, 0, 2, 241, 33, 80, 1, 28, 0, 0, 0, 0, 150, 35, 1, 0, 2, - 242, 33, 128, 4, 28, 0, 0, 0, 0, 162, 35, 1, 0, 2, 243, 33, 208, 5, 28, 0, 0, 0, 0, 127, 29, 0, - 0, 2, 244, 33, 0, 9, 28, 0, 0, 0, 0, 111, 105, 0, 0, 2, 245, 33, 8, 9, 0, 20, 0, 0, 0, 0, 120, - 2, 5, 22, 21, 0, 0, 0, 0, 248, 68, 0, 0, 2, 6, 22, 0, 21, 0, 0, 0, 0, 212, 36, 1, 0, 2, 7, 22, - 8, 21, 0, 0, 0, 0, 173, 161, 0, 0, 2, 8, 22, 56, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 9, 22, 96, - 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 10, 22, 104, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 11, 22, 112, - 0, 20, 0, 0, 0, 0, 48, 2, 255, 21, 21, 0, 0, 0, 0, 166, 109, 0, 0, 2, 0, 22, 0, 21, 0, 0, 0, 0, - 11, 1, 0, 0, 2, 1, 22, 40, 21, 0, 0, 0, 0, 208, 67, 0, 0, 2, 2, 22, 44, 0, 3, 17, 37, 1, 0, 4, - 82, 0, 0, 0, 4, 0, 20, 0, 0, 0, 0, 40, 2, 19, 22, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 20, 22, 0, - 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 21, 22, 8, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 22, 22, 16, 21, - 0, 0, 0, 0, 79, 37, 1, 0, 2, 23, 22, 24, 0, 20, 0, 0, 0, 0, 16, 2, 14, 22, 21, 0, 0, 0, 0, 176, - 64, 0, 0, 2, 15, 22, 0, 21, 0, 0, 0, 0, 96, 160, 0, 0, 2, 16, 22, 8, 0, 20, 0, 0, 0, 0, 32, 2, - 37, 19, 21, 0, 0, 0, 0, 248, 68, 0, 0, 2, 38, 19, 0, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 39, 19, - 8, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 40, 19, 24, 0, 3, 176, 37, 1, 0, 4, 82, 0, 0, 0, 0, 0, 9, - 181, 37, 1, 0, 27, 0, 0, 0, 0, 24, 4, 2, 13, 34, 21, 0, 0, 0, 0, 73, 38, 1, 0, 2, 14, 34, 0, - 21, 0, 0, 0, 0, 163, 44, 1, 0, 2, 15, 34, 144, 21, 0, 0, 0, 0, 218, 44, 1, 0, 2, 16, 34, 152, - 28, 0, 0, 0, 0, 0, 45, 1, 0, 2, 17, 34, 8, 3, 28, 0, 0, 0, 0, 12, 45, 1, 0, 2, 18, 34, 208, 3, - 28, 0, 0, 0, 0, 48, 45, 1, 0, 2, 19, 34, 224, 3, 28, 0, 0, 0, 0, 86, 40, 0, 0, 2, 20, 34, 232, - 3, 28, 0, 0, 0, 0, 127, 29, 0, 0, 2, 21, 34, 0, 4, 28, 0, 0, 0, 0, 219, 52, 0, 0, 2, 22, 34, 8, - 4, 28, 0, 0, 0, 0, 161, 30, 1, 0, 2, 23, 34, 16, 4, 0, 20, 0, 0, 0, 0, 144, 2, 195, 18, 21, 0, - 0, 0, 0, 187, 38, 1, 0, 2, 196, 18, 0, 21, 0, 0, 0, 0, 248, 68, 0, 0, 2, 197, 18, 80, 21, 0, 0, - 0, 0, 127, 29, 0, 0, 2, 198, 18, 88, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 199, 18, 96, 21, 0, 0, - 0, 0, 71, 97, 0, 0, 2, 200, 18, 104, 21, 0, 0, 0, 0, 111, 105, 0, 0, 2, 201, 18, 112, 21, 0, 0, - 0, 0, 127, 29, 0, 0, 2, 202, 18, 128, 21, 0, 0, 0, 0, 199, 38, 1, 0, 2, 203, 18, 136, 0, 3, - 227, 28, 0, 0, 4, 82, 0, 0, 0, 5, 0, 9, 204, 38, 1, 0, 27, 0, 0, 0, 0, 192, 56, 2, 45, 19, 21, - 0, 0, 0, 0, 108, 40, 1, 0, 2, 46, 19, 0, 28, 0, 0, 0, 0, 9, 44, 1, 0, 2, 47, 19, 192, 33, 28, - 0, 0, 0, 0, 168, 0, 0, 0, 2, 48, 19, 224, 53, 28, 0, 0, 0, 0, 248, 68, 0, 0, 2, 49, 19, 228, - 53, 28, 0, 0, 0, 0, 127, 29, 0, 0, 2, 50, 19, 232, 53, 28, 0, 0, 0, 0, 127, 29, 0, 0, 2, 51, - 19, 240, 53, 28, 0, 0, 0, 0, 127, 29, 0, 0, 2, 52, 19, 248, 53, 28, 0, 0, 0, 0, 168, 0, 0, 0, - 2, 53, 19, 0, 54, 28, 0, 0, 0, 0, 47, 107, 0, 0, 2, 54, 19, 8, 54, 28, 0, 0, 0, 0, 47, 107, 0, - 0, 2, 55, 19, 32, 54, 28, 0, 0, 0, 0, 130, 120, 0, 0, 2, 56, 19, 56, 54, 28, 0, 0, 0, 0, 168, - 0, 0, 0, 2, 57, 19, 64, 54, 28, 0, 0, 0, 0, 214, 14, 0, 0, 2, 58, 19, 68, 54, 28, 0, 0, 0, 0, - 168, 0, 0, 0, 2, 59, 19, 72, 54, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 60, 19, 76, 54, 28, 0, 0, 0, - 0, 214, 14, 0, 0, 2, 61, 19, 80, 54, 28, 0, 0, 0, 0, 47, 107, 0, 0, 2, 62, 19, 88, 54, 28, 0, - 0, 0, 0, 130, 120, 0, 0, 2, 63, 19, 112, 54, 28, 0, 0, 0, 0, 219, 52, 0, 0, 2, 64, 19, 120, 54, - 28, 0, 0, 0, 0, 127, 29, 0, 0, 2, 65, 19, 128, 54, 28, 0, 0, 0, 0, 127, 29, 0, 0, 2, 66, 19, - 136, 54, 28, 0, 0, 0, 0, 127, 29, 0, 0, 2, 67, 19, 144, 54, 28, 0, 0, 0, 0, 158, 43, 1, 0, 2, - 73, 19, 192, 54, 28, 0, 0, 0, 0, 115, 37, 1, 0, 2, 74, 19, 192, 54, 28, 0, 0, 0, 0, 73, 38, 1, - 0, 2, 75, 19, 224, 54, 28, 0, 0, 0, 0, 127, 29, 0, 0, 2, 76, 19, 112, 55, 28, 0, 0, 0, 0, 158, - 43, 1, 0, 2, 78, 19, 128, 55, 28, 0, 0, 0, 0, 98, 44, 1, 0, 2, 79, 19, 128, 55, 28, 0, 0, 0, 0, - 151, 44, 1, 0, 2, 80, 19, 136, 55, 0, 3, 120, 40, 1, 0, 4, 82, 0, 0, 0, 5, 0, 27, 0, 0, 0, 0, - 192, 6, 2, 210, 18, 21, 0, 0, 0, 0, 131, 42, 1, 0, 2, 211, 18, 0, 21, 0, 0, 0, 0, 127, 29, 0, - 0, 2, 212, 18, 24, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 213, 18, 32, 21, 0, 0, 0, 0, 143, 42, 1, - 0, 2, 214, 18, 40, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 215, 18, 80, 21, 0, 0, 0, 0, 199, 38, 1, 0, - 2, 216, 18, 88, 21, 0, 0, 0, 0, 155, 42, 1, 0, 2, 217, 18, 96, 21, 0, 0, 0, 0, 5, 43, 1, 0, 2, - 218, 18, 104, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 219, 18, 112, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, - 220, 18, 116, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 221, 18, 120, 21, 0, 0, 0, 0, 71, 97, 0, 0, 2, - 222, 18, 128, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 223, 18, 136, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, - 224, 18, 144, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 225, 18, 152, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, - 226, 18, 160, 21, 0, 0, 0, 0, 14, 29, 0, 0, 2, 227, 18, 168, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, - 228, 18, 176, 21, 0, 0, 0, 0, 114, 43, 1, 0, 2, 229, 18, 184, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, - 230, 18, 192, 28, 0, 0, 0, 0, 158, 43, 1, 0, 2, 239, 18, 0, 1, 28, 0, 0, 0, 0, 181, 43, 1, 0, - 2, 240, 18, 0, 1, 28, 0, 0, 0, 0, 127, 29, 0, 0, 2, 241, 18, 120, 5, 28, 0, 0, 0, 0, 248, 68, - 0, 0, 2, 242, 18, 128, 5, 28, 0, 0, 0, 0, 158, 43, 1, 0, 2, 251, 18, 192, 5, 28, 0, 0, 0, 0, - 127, 29, 0, 0, 2, 252, 18, 192, 5, 28, 0, 0, 0, 0, 127, 29, 0, 0, 2, 253, 18, 200, 5, 28, 0, 0, - 0, 0, 111, 105, 0, 0, 2, 254, 18, 208, 5, 28, 0, 0, 0, 0, 127, 29, 0, 0, 2, 255, 18, 224, 5, - 28, 0, 0, 0, 0, 127, 29, 0, 0, 2, 0, 19, 232, 5, 28, 0, 0, 0, 0, 11, 1, 0, 0, 2, 1, 19, 240, 5, - 28, 0, 0, 0, 0, 11, 1, 0, 0, 2, 2, 19, 244, 5, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 3, 19, 248, 5, - 28, 0, 0, 0, 0, 219, 52, 0, 0, 2, 4, 19, 252, 5, 28, 0, 0, 0, 0, 219, 52, 0, 0, 2, 5, 19, 253, - 5, 28, 0, 0, 0, 0, 158, 43, 1, 0, 2, 7, 19, 0, 6, 28, 0, 0, 0, 0, 241, 43, 1, 0, 2, 8, 19, 0, - 6, 28, 0, 0, 0, 0, 253, 43, 1, 0, 2, 9, 19, 88, 6, 0, 3, 127, 29, 0, 0, 4, 82, 0, 0, 0, 3, 0, - 3, 248, 0, 0, 0, 4, 82, 0, 0, 0, 5, 0, 9, 160, 42, 1, 0, 27, 0, 0, 0, 0, 0, 1, 2, 83, 19, 21, - 0, 0, 0, 0, 168, 0, 0, 0, 2, 84, 19, 0, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 85, 19, 4, 21, 0, 0, - 0, 0, 168, 0, 0, 0, 2, 86, 19, 8, 21, 0, 0, 0, 0, 37, 65, 0, 0, 2, 87, 19, 12, 21, 0, 0, 0, 0, - 37, 65, 0, 0, 2, 88, 19, 14, 21, 0, 0, 0, 0, 249, 42, 1, 0, 2, 89, 19, 16, 0, 3, 227, 28, 0, 0, - 4, 82, 0, 0, 0, 15, 0, 9, 10, 43, 1, 0, 20, 0, 0, 0, 0, 64, 2, 92, 19, 21, 0, 0, 0, 0, 59, 43, - 1, 0, 2, 93, 19, 0, 21, 0, 0, 0, 0, 71, 43, 1, 0, 2, 94, 19, 11, 21, 0, 0, 0, 0, 102, 43, 1, 0, - 2, 95, 19, 16, 0, 3, 71, 43, 1, 0, 4, 82, 0, 0, 0, 11, 0, 33, 83, 43, 1, 0, 0, 0, 0, 0, 2, 237, - 15, 33, 95, 43, 1, 0, 0, 0, 0, 0, 2, 235, 15, 5, 0, 0, 0, 0, 6, 1, 3, 127, 29, 0, 0, 4, 82, 0, - 0, 0, 6, 0, 33, 126, 43, 1, 0, 0, 0, 0, 0, 2, 214, 7, 24, 8, 2, 211, 7, 21, 0, 0, 0, 0, 173, - 67, 0, 0, 2, 212, 7, 0, 21, 0, 0, 0, 0, 248, 68, 0, 0, 2, 213, 7, 4, 0, 20, 0, 0, 0, 0, 0, 2, - 189, 18, 21, 0, 0, 0, 0, 115, 29, 0, 0, 2, 190, 18, 0, 0, 3, 193, 43, 1, 0, 4, 82, 0, 0, 0, 11, - 0, 20, 0, 0, 0, 0, 104, 2, 184, 18, 21, 0, 0, 0, 0, 229, 43, 1, 0, 2, 185, 18, 0, 21, 0, 0, 0, - 0, 127, 29, 0, 0, 2, 186, 18, 96, 0, 3, 227, 28, 0, 0, 4, 82, 0, 0, 0, 6, 0, 3, 71, 97, 0, 0, - 4, 82, 0, 0, 0, 11, 0, 3, 71, 97, 0, 0, 4, 82, 0, 0, 0, 6, 0, 3, 21, 44, 1, 0, 4, 82, 0, 0, 0, - 2, 0, 27, 0, 0, 0, 0, 16, 10, 2, 24, 19, 21, 0, 0, 0, 0, 45, 44, 1, 0, 2, 25, 19, 0, 0, 3, 57, - 44, 1, 0, 4, 82, 0, 0, 0, 161, 0, 20, 0, 0, 0, 0, 16, 2, 19, 19, 21, 0, 0, 0, 0, 93, 44, 1, 0, - 2, 20, 19, 0, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 21, 19, 8, 0, 9, 120, 40, 1, 0, 9, 103, 44, 1, - 0, 20, 0, 0, 0, 0, 40, 2, 98, 19, 21, 0, 0, 0, 0, 71, 43, 1, 0, 2, 99, 19, 0, 21, 0, 0, 0, 0, - 139, 44, 1, 0, 2, 100, 19, 1, 0, 3, 71, 43, 1, 0, 4, 82, 0, 0, 0, 39, 0, 3, 71, 97, 0, 0, 4, - 82, 0, 0, 0, 39, 0, 9, 168, 44, 1, 0, 27, 0, 0, 0, 0, 112, 2, 2, 3, 34, 21, 0, 0, 0, 0, 206, - 44, 1, 0, 2, 4, 34, 0, 28, 0, 0, 0, 0, 206, 44, 1, 0, 2, 5, 34, 56, 1, 0, 3, 248, 0, 0, 0, 4, - 82, 0, 0, 0, 39, 0, 27, 0, 0, 0, 0, 112, 2, 2, 8, 34, 21, 0, 0, 0, 0, 206, 44, 1, 0, 2, 9, 34, - 0, 28, 0, 0, 0, 0, 206, 44, 1, 0, 2, 10, 34, 56, 1, 0, 3, 127, 29, 0, 0, 4, 82, 0, 0, 0, 25, 0, - 20, 0, 0, 0, 0, 16, 2, 248, 33, 21, 0, 0, 0, 0, 161, 30, 1, 0, 2, 249, 33, 0, 21, 0, 0, 0, 0, - 11, 1, 0, 0, 2, 250, 33, 8, 0, 9, 53, 45, 1, 0, 20, 0, 0, 0, 0, 32, 2, 253, 33, 21, 0, 0, 0, 0, - 65, 29, 0, 0, 2, 254, 33, 0, 21, 0, 0, 0, 0, 102, 45, 1, 0, 2, 255, 33, 16, 21, 0, 0, 0, 0, 75, - 110, 0, 0, 2, 0, 34, 24, 0, 9, 71, 97, 0, 0, 9, 112, 45, 1, 0, 27, 0, 0, 0, 0, 4, 24, 2, 213, - 157, 21, 0, 0, 0, 0, 150, 45, 1, 0, 2, 214, 157, 0, 28, 0, 0, 0, 0, 125, 68, 0, 0, 2, 215, 157, - 0, 24, 0, 3, 163, 45, 1, 0, 39, 82, 0, 0, 0, 0, 1, 0, 20, 0, 0, 0, 0, 24, 2, 207, 157, 21, 0, - 0, 0, 0, 78, 255, 0, 0, 2, 208, 157, 0, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 209, 157, 16, 21, 0, - 0, 0, 0, 101, 103, 0, 0, 2, 210, 157, 20, 0, 9, 217, 45, 1, 0, 26, 222, 45, 1, 0, 20, 0, 0, 0, - 0, 8, 2, 117, 44, 21, 0, 0, 0, 0, 245, 45, 1, 0, 2, 118, 44, 0, 0, 9, 250, 45, 1, 0, 13, 168, - 0, 0, 0, 14, 16, 247, 0, 0, 14, 34, 14, 1, 0, 14, 164, 5, 1, 0, 0, 9, 12, 2, 1, 0, 9, 169, 27, - 1, 0, 3, 12, 2, 1, 0, 4, 82, 0, 0, 0, 2, 0, 9, 42, 46, 1, 0, 20, 0, 0, 0, 0, 72, 2, 123, 44, - 21, 0, 0, 0, 0, 16, 247, 0, 0, 2, 124, 44, 0, 21, 0, 0, 0, 0, 9, 29, 0, 0, 2, 125, 44, 8, 21, - 0, 0, 0, 0, 169, 46, 1, 0, 2, 126, 44, 16, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 127, 44, 24, 21, 0, - 0, 0, 0, 227, 28, 0, 0, 2, 128, 44, 32, 21, 0, 0, 0, 0, 219, 52, 0, 0, 2, 129, 44, 48, 21, 0, - 0, 0, 0, 219, 52, 0, 0, 2, 130, 44, 49, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 131, 44, 56, 21, 0, 0, - 0, 0, 125, 68, 0, 0, 2, 132, 44, 64, 0, 9, 174, 46, 1, 0, 20, 0, 0, 0, 0, 32, 2, 159, 170, 21, - 0, 0, 0, 0, 223, 46, 1, 0, 2, 160, 170, 0, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 161, 170, 8, 21, - 0, 0, 0, 0, 255, 0, 0, 0, 2, 162, 170, 24, 0, 9, 228, 46, 1, 0, 26, 233, 46, 1, 0, 20, 0, 0, 0, - 0, 56, 2, 149, 170, 21, 0, 0, 0, 0, 78, 47, 1, 0, 2, 150, 170, 0, 21, 0, 0, 0, 0, 104, 47, 1, - 0, 2, 151, 170, 8, 21, 0, 0, 0, 0, 120, 47, 1, 0, 2, 152, 170, 16, 21, 0, 0, 0, 0, 146, 47, 1, - 0, 2, 153, 170, 24, 21, 0, 0, 0, 0, 172, 47, 1, 0, 2, 154, 170, 32, 21, 0, 0, 0, 0, 172, 47, 1, - 0, 2, 155, 170, 40, 21, 0, 0, 0, 0, 188, 47, 1, 0, 2, 156, 170, 48, 0, 9, 83, 47, 1, 0, 13, - 168, 0, 0, 0, 14, 56, 17, 1, 0, 14, 168, 0, 0, 0, 14, 168, 0, 0, 0, 0, 9, 109, 47, 1, 0, 13, - 168, 0, 0, 0, 14, 56, 17, 1, 0, 0, 9, 125, 47, 1, 0, 13, 168, 0, 0, 0, 14, 56, 17, 1, 0, 14, - 125, 68, 0, 0, 14, 169, 14, 1, 0, 0, 9, 151, 47, 1, 0, 13, 168, 0, 0, 0, 14, 56, 17, 1, 0, 14, - 125, 68, 0, 0, 14, 125, 68, 0, 0, 0, 9, 177, 47, 1, 0, 13, 168, 0, 0, 0, 14, 16, 247, 0, 0, 0, - 9, 193, 47, 1, 0, 32, 14, 16, 247, 0, 0, 0, 9, 205, 47, 1, 0, 20, 0, 0, 0, 0, 8, 2, 212, 41, - 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 213, 41, 0, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 214, 41, 4, 0, 9, - 246, 47, 1, 0, 20, 0, 0, 0, 0, 4, 2, 171, 44, 21, 0, 0, 0, 0, 177, 69, 0, 0, 2, 172, 44, 0, 21, - 0, 0, 0, 0, 219, 52, 0, 0, 2, 173, 44, 2, 0, 9, 31, 29, 1, 0, 9, 255, 0, 0, 0, 9, 41, 48, 1, 0, - 20, 0, 0, 0, 0, 12, 2, 125, 21, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 126, 21, 0, 21, 0, 0, 0, 0, - 168, 0, 0, 0, 2, 127, 21, 4, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 128, 21, 8, 0, 9, 95, 48, 1, 0, - 20, 0, 0, 0, 0, 16, 2, 149, 52, 21, 0, 0, 0, 0, 177, 69, 0, 0, 2, 150, 52, 0, 21, 0, 0, 0, 0, - 131, 48, 1, 0, 2, 151, 52, 8, 0, 9, 136, 48, 1, 0, 20, 0, 0, 0, 0, 8, 2, 217, 42, 21, 0, 0, 0, - 0, 214, 48, 0, 0, 2, 218, 42, 0, 21, 0, 0, 0, 0, 129, 55, 0, 0, 2, 219, 42, 2, 21, 0, 0, 0, 0, - 129, 55, 0, 0, 2, 220, 42, 3, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 221, 42, 4, 0, 3, 136, 48, 1, 0, - 4, 82, 0, 0, 0, 0, 0, 3, 246, 248, 0, 0, 4, 82, 0, 0, 0, 0, 0, 3, 234, 48, 1, 0, 4, 82, 0, 0, - 0, 2, 0, 9, 239, 48, 1, 0, 20, 0, 0, 0, 0, 104, 2, 148, 29, 22, 1, 49, 1, 0, 2, 149, 29, 0, 23, - 8, 2, 149, 29, 21, 0, 0, 0, 0, 112, 49, 1, 0, 2, 150, 29, 0, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, - 151, 29, 0, 0, 21, 0, 0, 0, 0, 153, 49, 1, 0, 2, 153, 29, 8, 21, 0, 0, 0, 0, 224, 49, 1, 0, 2, - 154, 29, 16, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 155, 29, 32, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, - 156, 29, 48, 21, 0, 0, 0, 0, 86, 40, 0, 0, 2, 157, 29, 64, 21, 0, 0, 0, 0, 65, 29, 0, 0, 2, - 158, 29, 88, 0, 9, 117, 49, 1, 0, 20, 0, 0, 0, 0, 16, 2, 174, 29, 21, 0, 0, 0, 0, 65, 29, 0, 0, - 2, 175, 29, 0, 21, 0, 0, 0, 0, 115, 29, 0, 0, 2, 176, 29, 16, 0, 9, 158, 49, 1, 0, 27, 0, 0, 0, - 0, 64, 1, 2, 67, 160, 21, 0, 0, 0, 0, 17, 2, 1, 0, 2, 68, 160, 0, 28, 0, 0, 0, 0, 248, 68, 0, - 0, 2, 69, 160, 0, 1, 28, 0, 0, 0, 0, 220, 96, 0, 0, 2, 70, 160, 8, 1, 28, 0, 0, 0, 0, 227, 28, - 0, 0, 2, 71, 160, 16, 1, 0, 20, 0, 0, 0, 0, 16, 2, 131, 29, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, - 132, 29, 0, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 133, 29, 8, 0, 3, 227, 28, 0, 0, 4, 82, 0, 0, 0, 23, - 0, 3, 125, 68, 0, 0, 4, 82, 0, 0, 0, 23, 0, 20, 0, 0, 0, 0, 16, 2, 107, 24, 21, 0, 0, 0, 0, - 219, 52, 0, 0, 2, 108, 24, 0, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 109, 24, 4, 21, 0, 0, 0, 0, 168, - 0, 0, 0, 2, 110, 24, 8, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 111, 24, 12, 0, 3, 136, 68, 0, 0, 4, - 82, 0, 0, 0, 0, 0, 9, 107, 50, 1, 0, 20, 0, 0, 0, 0, 240, 2, 193, 29, 21, 0, 0, 0, 0, 4, 52, 1, - 0, 2, 194, 29, 0, 21, 0, 0, 0, 0, 20, 52, 1, 0, 2, 195, 29, 8, 21, 0, 0, 0, 0, 36, 52, 1, 0, 2, - 196, 29, 16, 21, 0, 0, 0, 0, 36, 52, 1, 0, 2, 197, 29, 24, 21, 0, 0, 0, 0, 36, 52, 1, 0, 2, - 198, 29, 32, 21, 0, 0, 0, 0, 36, 52, 1, 0, 2, 199, 29, 40, 21, 0, 0, 0, 0, 48, 52, 1, 0, 2, - 200, 29, 48, 21, 0, 0, 0, 0, 65, 52, 1, 0, 2, 201, 29, 56, 21, 0, 0, 0, 0, 86, 52, 1, 0, 2, - 202, 29, 64, 21, 0, 0, 0, 0, 252, 53, 1, 0, 2, 203, 29, 72, 21, 0, 0, 0, 0, 252, 53, 1, 0, 2, - 204, 29, 80, 21, 0, 0, 0, 0, 8, 54, 1, 0, 2, 205, 29, 88, 21, 0, 0, 0, 0, 16, 54, 1, 0, 2, 206, - 29, 96, 21, 0, 0, 0, 0, 37, 54, 1, 0, 2, 207, 29, 104, 21, 0, 0, 0, 0, 54, 54, 1, 0, 2, 208, - 29, 112, 21, 0, 0, 0, 0, 54, 54, 1, 0, 2, 209, 29, 120, 21, 0, 0, 0, 0, 54, 54, 1, 0, 2, 210, - 29, 128, 21, 0, 0, 0, 0, 36, 52, 1, 0, 2, 211, 29, 136, 34, 0, 0, 0, 0, 219, 52, 0, 0, 2, 212, - 29, 1, 1, 7, 144, 34, 0, 0, 0, 0, 219, 52, 0, 0, 2, 213, 29, 1, 1, 6, 144, 34, 0, 0, 0, 0, 219, - 52, 0, 0, 2, 214, 29, 1, 1, 5, 144, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 215, 29, 148, 21, 0, 0, 0, - 0, 14, 29, 0, 0, 2, 216, 29, 152, 21, 0, 0, 0, 0, 14, 29, 0, 0, 2, 217, 29, 160, 21, 0, 0, 0, - 0, 13, 162, 0, 0, 2, 218, 29, 168, 21, 0, 0, 0, 0, 166, 152, 0, 0, 2, 219, 29, 176, 21, 0, 0, - 0, 0, 227, 28, 0, 0, 2, 220, 29, 200, 21, 0, 0, 0, 0, 66, 54, 1, 0, 2, 221, 29, 216, 21, 0, 0, - 0, 0, 66, 54, 1, 0, 2, 222, 29, 224, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 223, 29, 232, 0, 9, 9, 52, - 1, 0, 13, 8, 162, 0, 0, 14, 8, 162, 0, 0, 0, 9, 25, 52, 1, 0, 13, 168, 0, 0, 0, 14, 8, 162, 0, - 0, 0, 9, 41, 52, 1, 0, 32, 14, 8, 162, 0, 0, 0, 9, 53, 52, 1, 0, 32, 14, 8, 162, 0, 0, 14, 168, - 0, 0, 0, 0, 9, 70, 52, 1, 0, 13, 168, 0, 0, 0, 14, 71, 114, 0, 0, 14, 8, 162, 0, 0, 0, 9, 91, - 52, 1, 0, 13, 168, 0, 0, 0, 14, 102, 52, 1, 0, 0, 9, 107, 52, 1, 0, 20, 0, 0, 0, 0, 64, 2, 198, - 137, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 199, 137, 0, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 200, 137, - 16, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 201, 137, 32, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 202, 137, - 36, 21, 0, 0, 0, 0, 4, 29, 0, 0, 2, 203, 137, 40, 21, 0, 0, 0, 0, 208, 52, 1, 0, 2, 204, 137, - 48, 21, 0, 0, 0, 0, 130, 120, 0, 0, 2, 205, 137, 56, 0, 9, 213, 52, 1, 0, 27, 0, 0, 0, 0, 64, - 2, 2, 254, 22, 21, 0, 0, 0, 0, 252, 161, 0, 0, 2, 255, 22, 0, 21, 0, 0, 0, 0, 141, 64, 0, 0, 2, - 0, 23, 112, 21, 0, 0, 0, 0, 208, 52, 1, 0, 2, 1, 23, 120, 21, 0, 0, 0, 0, 248, 148, 0, 0, 2, 2, - 23, 128, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 3, 23, 136, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 4, 23, - 144, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 5, 23, 160, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 6, 23, - 176, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 7, 23, 192, 21, 0, 0, 0, 0, 190, 162, 0, 0, 2, 8, 23, - 208, 28, 0, 0, 0, 0, 227, 28, 0, 0, 2, 9, 23, 176, 1, 28, 0, 0, 0, 0, 227, 28, 0, 0, 2, 10, 23, - 192, 1, 28, 0, 0, 0, 0, 184, 28, 0, 0, 2, 11, 23, 208, 1, 28, 0, 0, 0, 0, 227, 28, 0, 0, 2, 12, - 23, 224, 1, 28, 0, 0, 0, 0, 227, 28, 0, 0, 2, 13, 23, 240, 1, 28, 0, 0, 0, 0, 227, 28, 0, 0, 2, - 14, 23, 0, 2, 28, 0, 0, 0, 0, 248, 148, 0, 0, 2, 15, 23, 16, 2, 28, 0, 0, 0, 0, 248, 148, 0, 0, - 2, 16, 23, 24, 2, 28, 0, 0, 0, 0, 208, 52, 1, 0, 2, 17, 23, 32, 2, 28, 0, 0, 0, 0, 219, 52, 0, - 0, 2, 18, 23, 40, 2, 28, 0, 0, 0, 0, 65, 29, 0, 0, 2, 19, 23, 48, 2, 0, 9, 1, 54, 1, 0, 32, 14, - 102, 52, 1, 0, 0, 9, 13, 54, 1, 0, 56, 41, 0, 9, 21, 54, 1, 0, 13, 168, 0, 0, 0, 14, 130, 120, - 0, 0, 14, 208, 52, 1, 0, 0, 9, 42, 54, 1, 0, 32, 14, 130, 120, 0, 0, 14, 208, 52, 1, 0, 0, 9, - 59, 54, 1, 0, 32, 14, 130, 120, 0, 0, 0, 9, 71, 54, 1, 0, 20, 0, 0, 0, 0, 216, 2, 247, 29, 21, - 0, 0, 0, 0, 178, 162, 0, 0, 2, 248, 29, 0, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 249, 29, 64, 21, - 0, 0, 0, 0, 140, 55, 0, 0, 2, 250, 29, 72, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 251, 29, 80, 21, 0, - 0, 0, 0, 11, 1, 0, 0, 2, 252, 29, 84, 21, 0, 0, 0, 0, 102, 50, 1, 0, 2, 253, 29, 88, 21, 0, 0, - 0, 0, 227, 28, 0, 0, 2, 254, 29, 96, 21, 0, 0, 0, 0, 85, 55, 1, 0, 2, 255, 29, 112, 21, 0, 0, - 0, 0, 219, 154, 0, 0, 2, 0, 30, 120, 21, 0, 0, 0, 0, 202, 159, 0, 0, 2, 1, 30, 128, 21, 0, 0, - 0, 0, 90, 55, 1, 0, 2, 2, 30, 136, 21, 0, 0, 0, 0, 111, 55, 1, 0, 2, 3, 30, 144, 21, 0, 0, 0, - 0, 127, 115, 0, 0, 2, 4, 30, 152, 21, 0, 0, 0, 0, 58, 115, 0, 0, 2, 5, 30, 160, 21, 0, 0, 0, 0, - 101, 115, 0, 0, 2, 6, 30, 168, 21, 0, 0, 0, 0, 84, 115, 0, 0, 2, 7, 30, 176, 21, 0, 0, 0, 0, - 132, 55, 1, 0, 2, 8, 30, 184, 21, 0, 0, 0, 0, 158, 55, 1, 0, 2, 9, 30, 192, 21, 0, 0, 0, 0, - 214, 159, 0, 0, 2, 10, 30, 200, 21, 0, 0, 0, 0, 245, 159, 0, 0, 2, 11, 30, 208, 0, 9, 53, 154, - 0, 0, 9, 95, 55, 1, 0, 13, 136, 68, 0, 0, 14, 8, 162, 0, 0, 14, 66, 54, 1, 0, 0, 9, 116, 55, 1, - 0, 13, 111, 97, 0, 0, 14, 8, 162, 0, 0, 14, 66, 54, 1, 0, 0, 9, 137, 55, 1, 0, 13, 168, 0, 0, - 0, 14, 8, 162, 0, 0, 14, 66, 54, 1, 0, 14, 136, 68, 0, 0, 0, 9, 163, 55, 1, 0, 13, 168, 0, 0, - 0, 14, 8, 162, 0, 0, 14, 66, 54, 1, 0, 14, 111, 97, 0, 0, 0, 20, 0, 0, 0, 0, 56, 2, 69, 18, 21, - 0, 0, 0, 0, 156, 163, 0, 0, 2, 70, 18, 0, 21, 0, 0, 0, 0, 65, 29, 0, 0, 2, 71, 18, 32, 21, 0, - 0, 0, 0, 209, 165, 0, 0, 2, 72, 18, 48, 0, 9, 99, 144, 0, 0, 9, 178, 146, 0, 0, 9, 248, 55, 1, - 0, 20, 0, 0, 0, 0, 72, 2, 119, 116, 21, 0, 0, 0, 0, 80, 110, 0, 0, 2, 120, 116, 0, 21, 0, 0, 0, - 0, 90, 147, 0, 0, 2, 121, 116, 8, 21, 0, 0, 0, 0, 133, 97, 0, 0, 2, 122, 116, 16, 21, 0, 0, 0, - 0, 127, 29, 0, 0, 2, 123, 116, 56, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 124, 116, 64, 0, 20, 0, 0, - 0, 0, 216, 2, 47, 116, 21, 0, 0, 0, 0, 231, 97, 0, 0, 2, 48, 116, 0, 21, 0, 0, 0, 0, 32, 207, - 0, 0, 2, 49, 116, 8, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 50, 116, 16, 21, 0, 0, 0, 0, 136, 68, 0, - 0, 2, 51, 116, 24, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 52, 116, 32, 21, 0, 0, 0, 0, 111, 97, 0, - 0, 2, 53, 116, 40, 21, 0, 0, 0, 0, 118, 55, 0, 0, 2, 54, 116, 48, 21, 0, 0, 0, 0, 118, 55, 0, - 0, 2, 55, 116, 49, 21, 0, 0, 0, 0, 118, 55, 0, 0, 2, 56, 116, 50, 21, 0, 0, 0, 0, 44, 207, 0, - 0, 2, 57, 116, 56, 21, 0, 0, 0, 0, 44, 207, 0, 0, 2, 58, 116, 120, 21, 0, 0, 0, 0, 227, 28, 0, - 0, 2, 59, 116, 184, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 60, 116, 200, 21, 0, 0, 0, 0, 168, 0, 0, - 0, 2, 61, 116, 204, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 62, 116, 208, 0, 3, 11, 1, 0, 0, 4, 82, - 0, 0, 0, 2, 0, 3, 40, 57, 1, 0, 4, 82, 0, 0, 0, 2, 0, 20, 0, 0, 0, 0, 4, 2, 244, 1, 34, 0, 0, - 0, 0, 11, 1, 0, 0, 2, 245, 1, 4, 11, 21, 0, 34, 0, 0, 0, 0, 11, 1, 0, 0, 2, 246, 1, 4, 3, 18, - 0, 34, 0, 0, 0, 0, 11, 1, 0, 0, 2, 247, 1, 4, 1, 17, 0, 34, 0, 0, 0, 0, 11, 1, 0, 0, 2, 248, 1, - 4, 1, 16, 0, 0, 27, 0, 0, 0, 0, 160, 6, 2, 198, 117, 21, 0, 0, 0, 0, 82, 58, 1, 0, 2, 199, 117, - 0, 28, 0, 0, 0, 0, 11, 1, 0, 0, 2, 200, 117, 80, 6, 28, 0, 0, 0, 0, 11, 1, 0, 0, 2, 201, 117, - 84, 6, 28, 0, 0, 0, 0, 179, 57, 1, 0, 2, 205, 117, 88, 6, 24, 8, 2, 202, 117, 21, 0, 0, 0, 0, - 168, 0, 0, 0, 2, 203, 117, 0, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 204, 117, 4, 0, 28, 0, 0, 0, 0, - 11, 1, 0, 0, 2, 206, 117, 96, 6, 28, 0, 0, 0, 0, 11, 1, 0, 0, 2, 207, 117, 100, 6, 28, 0, 0, 0, - 0, 168, 0, 0, 0, 2, 208, 117, 104, 6, 28, 0, 0, 0, 0, 19, 211, 0, 0, 2, 209, 117, 112, 6, 28, - 0, 0, 0, 0, 168, 0, 0, 0, 2, 210, 117, 128, 6, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 211, 117, 132, - 6, 28, 0, 0, 0, 0, 136, 68, 0, 0, 2, 212, 117, 136, 6, 28, 0, 0, 0, 0, 136, 68, 0, 0, 2, 213, - 117, 144, 6, 28, 0, 0, 0, 0, 231, 97, 0, 0, 2, 214, 117, 152, 6, 0, 27, 0, 0, 0, 0, 80, 6, 2, - 193, 117, 21, 0, 0, 0, 0, 111, 105, 0, 0, 2, 194, 117, 0, 21, 0, 0, 0, 0, 119, 58, 1, 0, 2, - 195, 117, 16, 0, 3, 227, 28, 0, 0, 4, 82, 0, 0, 0, 100, 0, 20, 0, 0, 0, 0, 96, 2, 217, 117, 21, - 0, 0, 0, 0, 63, 144, 0, 0, 2, 218, 117, 0, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 219, 117, 16, 21, 0, - 0, 0, 0, 179, 58, 1, 0, 2, 223, 117, 24, 24, 16, 2, 220, 117, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, - 221, 117, 0, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 222, 117, 8, 0, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, - 224, 117, 40, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 225, 117, 44, 21, 0, 0, 0, 0, 63, 144, 0, 0, 2, - 226, 117, 48, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 227, 117, 64, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, - 228, 117, 72, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 229, 117, 80, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, - 230, 117, 88, 0, 9, 52, 59, 1, 0, 27, 0, 0, 0, 0, 88, 20, 2, 223, 115, 21, 0, 0, 0, 0, 176, 64, - 0, 0, 2, 224, 115, 0, 21, 0, 0, 0, 0, 176, 64, 0, 0, 2, 225, 115, 4, 21, 0, 0, 0, 0, 65, 29, 0, - 0, 2, 226, 115, 8, 21, 0, 0, 0, 0, 188, 170, 0, 0, 2, 227, 115, 24, 21, 0, 0, 0, 0, 188, 170, - 0, 0, 2, 228, 115, 64, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 229, 115, 104, 21, 0, 0, 0, 0, 168, 0, - 0, 0, 2, 230, 115, 108, 21, 0, 0, 0, 0, 188, 170, 0, 0, 2, 231, 115, 112, 21, 0, 0, 0, 0, 176, - 64, 0, 0, 2, 232, 115, 152, 21, 0, 0, 0, 0, 102, 60, 1, 0, 2, 233, 115, 160, 21, 0, 0, 0, 0, - 151, 60, 1, 0, 2, 234, 115, 184, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 235, 115, 240, 21, 0, 0, 0, - 0, 11, 61, 1, 0, 2, 236, 115, 248, 28, 0, 0, 0, 0, 231, 97, 0, 0, 2, 237, 115, 16, 1, 28, 0, 0, - 0, 0, 168, 0, 0, 0, 2, 238, 115, 20, 1, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 239, 115, 24, 1, 28, - 0, 0, 0, 0, 176, 64, 0, 0, 2, 240, 115, 28, 1, 28, 0, 0, 0, 0, 176, 64, 0, 0, 2, 241, 115, 32, - 1, 28, 0, 0, 0, 0, 188, 170, 0, 0, 2, 242, 115, 40, 1, 28, 0, 0, 0, 0, 64, 61, 1, 0, 2, 243, - 115, 80, 1, 28, 0, 0, 0, 0, 127, 29, 0, 0, 2, 244, 115, 72, 20, 28, 0, 0, 0, 0, 150, 61, 1, 0, - 2, 245, 115, 80, 20, 0, 20, 0, 0, 0, 0, 24, 2, 196, 115, 21, 0, 0, 0, 0, 231, 97, 0, 0, 2, 197, - 115, 0, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 198, 115, 8, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 199, - 115, 16, 0, 20, 0, 0, 0, 0, 56, 2, 204, 115, 21, 0, 0, 0, 0, 231, 97, 0, 0, 2, 205, 115, 0, 21, - 0, 0, 0, 0, 168, 0, 0, 0, 2, 206, 115, 4, 21, 0, 0, 0, 0, 188, 170, 0, 0, 2, 207, 115, 8, 21, - 0, 0, 0, 0, 213, 60, 1, 0, 2, 208, 115, 48, 0, 9, 218, 60, 1, 0, 20, 0, 0, 0, 0, 16, 2, 193, - 118, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 194, 118, 0, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 195, 118, - 8, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 196, 118, 12, 0, 20, 0, 0, 0, 0, 24, 2, 50, 17, 21, 0, 0, - 0, 0, 155, 134, 0, 0, 2, 51, 17, 0, 21, 0, 0, 0, 0, 47, 61, 1, 0, 2, 52, 17, 16, 0, 9, 52, 61, - 1, 0, 32, 14, 59, 61, 1, 0, 0, 9, 11, 61, 1, 0, 27, 0, 0, 0, 0, 248, 18, 2, 216, 115, 21, 0, 0, - 0, 0, 102, 61, 1, 0, 2, 217, 115, 0, 28, 0, 0, 0, 0, 214, 52, 0, 0, 2, 218, 115, 240, 18, 0, 3, - 114, 61, 1, 0, 4, 82, 0, 0, 0, 101, 0, 20, 0, 0, 0, 0, 48, 2, 211, 115, 21, 0, 0, 0, 0, 176, - 64, 0, 0, 2, 212, 115, 0, 21, 0, 0, 0, 0, 188, 170, 0, 0, 2, 213, 115, 8, 0, 9, 155, 61, 1, 0, - 20, 0, 0, 0, 0, 32, 2, 215, 118, 21, 0, 0, 0, 0, 237, 212, 0, 0, 2, 216, 118, 0, 21, 0, 0, 0, - 0, 150, 61, 1, 0, 2, 217, 118, 8, 21, 0, 0, 0, 0, 65, 29, 0, 0, 2, 218, 118, 16, 0, 9, 209, 61, - 1, 0, 27, 0, 0, 0, 0, 32, 1, 2, 87, 103, 21, 0, 0, 0, 0, 204, 61, 1, 0, 2, 88, 103, 0, 21, 0, - 0, 0, 0, 204, 61, 1, 0, 2, 89, 103, 8, 21, 0, 0, 0, 0, 30, 64, 1, 0, 2, 90, 103, 16, 21, 0, 0, - 0, 0, 127, 29, 0, 0, 2, 91, 103, 24, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 92, 103, 32, 21, 0, 0, - 0, 0, 11, 1, 0, 0, 2, 93, 103, 40, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 94, 103, 44, 21, 0, 0, 0, 0, - 11, 1, 0, 0, 2, 95, 103, 48, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 96, 103, 52, 21, 0, 0, 0, 0, 168, - 0, 0, 0, 2, 97, 103, 56, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 98, 103, 60, 21, 0, 0, 0, 0, 127, 29, - 0, 0, 2, 99, 103, 64, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 100, 103, 72, 21, 0, 0, 0, 0, 11, 1, 0, - 0, 2, 101, 103, 76, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 102, 103, 80, 21, 0, 0, 0, 0, 127, 29, 0, - 0, 2, 103, 103, 88, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 104, 103, 96, 21, 0, 0, 0, 0, 242, 64, 1, - 0, 2, 105, 103, 104, 21, 0, 0, 0, 0, 242, 64, 1, 0, 2, 106, 103, 116, 21, 0, 0, 0, 0, 242, 64, - 1, 0, 2, 107, 103, 128, 21, 0, 0, 0, 0, 242, 64, 1, 0, 2, 108, 103, 140, 21, 0, 0, 0, 0, 242, - 64, 1, 0, 2, 109, 103, 152, 21, 0, 0, 0, 0, 242, 64, 1, 0, 2, 110, 103, 164, 21, 0, 0, 0, 0, - 242, 64, 1, 0, 2, 111, 103, 176, 21, 0, 0, 0, 0, 242, 64, 1, 0, 2, 112, 103, 188, 21, 0, 0, 0, - 0, 11, 1, 0, 0, 2, 113, 103, 200, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 114, 103, 204, 21, 0, 0, 0, - 0, 11, 1, 0, 0, 2, 115, 103, 208, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 116, 103, 212, 21, 0, 0, 0, - 0, 11, 1, 0, 0, 2, 117, 103, 216, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 118, 103, 220, 21, 0, 0, 0, - 0, 11, 1, 0, 0, 2, 119, 103, 224, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 120, 103, 228, 21, 0, 0, 0, - 0, 11, 1, 0, 0, 2, 121, 103, 232, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 122, 103, 236, 21, 0, 0, 0, - 0, 11, 1, 0, 0, 2, 123, 103, 240, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 124, 103, 244, 21, 0, 0, 0, - 0, 199, 53, 0, 0, 2, 125, 103, 248, 30, 211, 63, 1, 0, 2, 126, 103, 0, 1, 23, 16, 2, 126, 103, - 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 127, 103, 0, 21, 0, 0, 0, 0, 65, 29, 0, 0, 2, 128, 103, 0, 0, - 28, 0, 0, 0, 0, 254, 64, 1, 0, 2, 130, 103, 16, 1, 28, 0, 0, 0, 0, 11, 1, 0, 0, 2, 131, 103, - 24, 1, 28, 0, 0, 0, 0, 102, 213, 0, 0, 2, 132, 103, 32, 1, 0, 9, 35, 64, 1, 0, 20, 0, 0, 0, 0, - 32, 2, 99, 116, 21, 0, 0, 0, 0, 30, 64, 1, 0, 2, 100, 116, 0, 21, 0, 0, 0, 0, 176, 64, 0, 0, 2, - 101, 116, 8, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 102, 116, 12, 21, 0, 0, 0, 0, 123, 64, 1, 0, 2, - 103, 116, 16, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 104, 116, 24, 21, 0, 0, 0, 0, 102, 213, 0, 0, 2, - 105, 116, 32, 0, 9, 128, 64, 1, 0, 20, 0, 0, 0, 0, 48, 2, 108, 116, 21, 0, 0, 0, 0, 176, 64, 0, - 0, 2, 109, 116, 0, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 110, 116, 8, 21, 0, 0, 0, 0, 127, 29, 0, - 0, 2, 111, 116, 16, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 112, 116, 24, 21, 0, 0, 0, 0, 127, 29, 0, - 0, 2, 113, 116, 32, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 114, 116, 40, 21, 0, 0, 0, 0, 168, 0, 0, - 0, 2, 115, 116, 44, 21, 0, 0, 0, 0, 102, 213, 0, 0, 2, 116, 116, 48, 0, 3, 11, 1, 0, 0, 4, 82, - 0, 0, 0, 3, 0, 9, 3, 65, 1, 0, 20, 0, 0, 0, 0, 12, 2, 79, 103, 21, 0, 0, 0, 0, 176, 64, 0, 0, - 2, 80, 103, 0, 21, 0, 0, 0, 0, 176, 64, 0, 0, 2, 81, 103, 4, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, - 82, 103, 8, 0, 20, 0, 0, 0, 0, 48, 2, 235, 117, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 236, 117, 0, - 21, 0, 0, 0, 0, 127, 65, 1, 0, 2, 237, 117, 16, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 238, 117, 24, - 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 239, 117, 32, 21, 0, 0, 0, 0, 155, 65, 1, 0, 2, 240, 117, 40, - 0, 33, 139, 65, 1, 0, 0, 0, 0, 0, 2, 208, 96, 9, 144, 65, 1, 0, 13, 168, 0, 0, 0, 14, 255, 0, - 0, 0, 0, 9, 160, 65, 1, 0, 20, 0, 0, 0, 0, 40, 2, 65, 139, 21, 0, 0, 0, 0, 176, 64, 0, 0, 2, - 66, 139, 0, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 67, 139, 4, 21, 0, 0, 0, 0, 43, 167, 0, 0, 2, 68, - 139, 8, 0, 20, 0, 0, 0, 0, 8, 2, 85, 12, 21, 0, 0, 0, 0, 130, 120, 0, 0, 2, 86, 12, 0, 0, 20, - 0, 0, 0, 0, 32, 2, 11, 2, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 12, 2, 0, 21, 0, 0, 0, 0, 208, 0, - 0, 0, 2, 13, 2, 8, 21, 0, 0, 0, 0, 208, 0, 0, 0, 2, 14, 2, 16, 21, 0, 0, 0, 0, 208, 0, 0, 0, 2, - 15, 2, 24, 0, 9, 43, 66, 1, 0, 20, 0, 0, 0, 0, 104, 2, 145, 118, 21, 0, 0, 0, 0, 105, 28, 0, 0, - 2, 146, 118, 0, 21, 0, 0, 0, 0, 28, 201, 0, 0, 2, 147, 118, 16, 21, 0, 0, 0, 0, 111, 97, 0, 0, - 2, 148, 118, 48, 21, 0, 0, 0, 0, 111, 97, 0, 0, 2, 149, 118, 56, 21, 0, 0, 0, 0, 11, 1, 0, 0, - 2, 150, 118, 64, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 151, 118, 68, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, - 152, 118, 72, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 153, 118, 76, 21, 0, 0, 0, 0, 196, 66, 1, 0, 2, - 154, 118, 80, 21, 0, 0, 0, 0, 111, 69, 1, 0, 2, 155, 118, 88, 21, 0, 0, 0, 0, 196, 66, 1, 0, 2, - 156, 118, 96, 0, 9, 201, 66, 1, 0, 13, 168, 0, 0, 0, 14, 222, 66, 1, 0, 14, 228, 68, 1, 0, 14, - 168, 0, 0, 0, 0, 9, 227, 66, 1, 0, 27, 0, 0, 0, 0, 32, 3, 2, 165, 118, 34, 0, 0, 0, 0, 11, 1, - 0, 0, 2, 166, 118, 4, 1, 31, 0, 34, 0, 0, 0, 0, 11, 1, 0, 0, 2, 167, 118, 4, 1, 30, 0, 34, 0, - 0, 0, 0, 11, 1, 0, 0, 2, 168, 118, 4, 1, 29, 0, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 169, 118, 4, - 21, 0, 0, 0, 0, 32, 207, 0, 0, 2, 170, 118, 8, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 171, 118, 16, - 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 172, 118, 24, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 173, 118, 32, - 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 174, 118, 40, 21, 0, 0, 0, 0, 177, 67, 1, 0, 2, 175, 118, 48, - 28, 0, 0, 0, 0, 47, 68, 1, 0, 2, 176, 118, 176, 2, 28, 0, 0, 0, 0, 156, 68, 1, 0, 2, 177, 118, - 0, 3, 28, 0, 0, 0, 0, 166, 68, 1, 0, 2, 178, 118, 8, 3, 28, 0, 0, 0, 0, 227, 28, 0, 0, 2, 179, - 118, 16, 3, 0, 3, 189, 67, 1, 0, 4, 82, 0, 0, 0, 10, 0, 20, 0, 0, 0, 0, 64, 2, 130, 118, 21, 0, - 0, 0, 0, 208, 0, 0, 0, 2, 131, 118, 0, 21, 0, 0, 0, 0, 208, 0, 0, 0, 2, 132, 118, 8, 21, 0, 0, - 0, 0, 136, 68, 0, 0, 2, 133, 118, 16, 21, 0, 0, 0, 0, 208, 0, 0, 0, 2, 134, 118, 24, 21, 0, 0, - 0, 0, 208, 0, 0, 0, 2, 135, 118, 32, 21, 0, 0, 0, 0, 208, 0, 0, 0, 2, 136, 118, 40, 21, 0, 0, - 0, 0, 208, 0, 0, 0, 2, 137, 118, 48, 21, 0, 0, 0, 0, 208, 0, 0, 0, 2, 138, 118, 56, 0, 3, 59, - 68, 1, 0, 4, 82, 0, 0, 0, 10, 0, 9, 64, 68, 1, 0, 47, 0, 0, 0, 0, 120, 2, 58, 152, 1, 0, 48, 0, - 0, 0, 0, 38, 66, 1, 0, 2, 59, 152, 1, 0, 0, 48, 0, 0, 0, 0, 151, 68, 1, 0, 2, 60, 152, 1, 0, 8, - 48, 0, 0, 0, 0, 43, 167, 0, 0, 2, 61, 152, 1, 0, 16, 48, 0, 0, 0, 0, 198, 87, 0, 0, 2, 62, 152, - 1, 0, 48, 48, 0, 0, 0, 0, 222, 66, 1, 0, 2, 63, 152, 1, 0, 112, 0, 9, 189, 67, 1, 0, 9, 161, - 68, 1, 0, 45, 0, 0, 0, 0, 9, 171, 68, 1, 0, 47, 0, 0, 0, 0, 104, 2, 66, 152, 1, 0, 48, 0, 0, 0, - 0, 222, 66, 1, 0, 2, 67, 152, 1, 0, 0, 48, 0, 0, 0, 0, 43, 167, 0, 0, 2, 68, 152, 1, 0, 8, 48, - 0, 0, 0, 0, 198, 87, 0, 0, 2, 69, 152, 1, 0, 40, 0, 9, 233, 68, 1, 0, 27, 0, 0, 0, 0, 64, 4, 2, - 182, 118, 21, 0, 0, 0, 0, 14, 29, 0, 0, 2, 183, 118, 0, 21, 0, 0, 0, 0, 111, 83, 0, 0, 2, 184, - 118, 8, 34, 0, 0, 0, 0, 11, 1, 0, 0, 2, 185, 118, 4, 1, 31, 16, 21, 0, 0, 0, 0, 99, 69, 1, 0, - 2, 186, 118, 24, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 187, 118, 40, 4, 28, 0, 0, 0, 0, 168, 0, 0, - 0, 2, 188, 118, 44, 4, 28, 0, 0, 0, 0, 34, 236, 0, 0, 2, 189, 118, 48, 4, 28, 0, 0, 0, 0, 14, - 29, 0, 0, 2, 190, 118, 56, 4, 0, 3, 43, 66, 1, 0, 4, 82, 0, 0, 0, 10, 0, 9, 116, 69, 1, 0, 13, - 168, 0, 0, 0, 14, 222, 66, 1, 0, 14, 168, 0, 0, 0, 0, 9, 137, 69, 1, 0, 32, 14, 126, 136, 0, 0, - 0, 9, 149, 69, 1, 0, 13, 219, 52, 0, 0, 14, 126, 136, 0, 0, 14, 130, 120, 0, 0, 0, 9, 170, 69, - 1, 0, 13, 130, 120, 0, 0, 14, 126, 136, 0, 0, 0, 9, 186, 69, 1, 0, 32, 14, 126, 136, 0, 0, 14, - 130, 120, 0, 0, 0, 9, 203, 69, 1, 0, 32, 14, 126, 136, 0, 0, 14, 130, 120, 0, 0, 14, 219, 52, - 0, 0, 0, 9, 225, 69, 1, 0, 13, 168, 0, 0, 0, 14, 126, 136, 0, 0, 14, 130, 120, 0, 0, 14, 246, - 69, 1, 0, 0, 9, 251, 69, 1, 0, 20, 0, 0, 0, 0, 16, 2, 221, 118, 21, 0, 0, 0, 0, 127, 29, 0, 0, - 2, 222, 118, 0, 21, 0, 0, 0, 0, 44, 70, 1, 0, 2, 223, 118, 8, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, - 224, 118, 8, 0, 46, 0, 0, 0, 0, 0, 2, 168, 115, 9, 58, 70, 1, 0, 13, 168, 0, 0, 0, 14, 130, - 120, 0, 0, 14, 168, 0, 0, 0, 14, 168, 0, 0, 0, 0, 9, 84, 70, 1, 0, 32, 14, 130, 120, 0, 0, 14, - 168, 0, 0, 0, 0, 9, 101, 70, 1, 0, 32, 14, 130, 120, 0, 0, 14, 65, 222, 0, 0, 14, 125, 68, 0, - 0, 0, 9, 123, 70, 1, 0, 13, 126, 136, 0, 0, 14, 130, 120, 0, 0, 14, 126, 136, 0, 0, 0, 9, 144, - 70, 1, 0, 13, 11, 1, 0, 0, 14, 126, 136, 0, 0, 14, 130, 120, 0, 0, 0, 20, 0, 0, 0, 0, 48, 2, - 190, 1, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 191, 1, 0, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 192, 1, - 16, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 193, 1, 24, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 194, 1, 32, - 21, 0, 0, 0, 0, 225, 48, 0, 0, 2, 195, 1, 36, 21, 0, 0, 0, 0, 225, 48, 0, 0, 2, 196, 1, 38, 21, - 0, 0, 0, 0, 5, 71, 1, 0, 2, 197, 1, 40, 0, 9, 160, 70, 1, 0, 20, 0, 0, 0, 0, 224, 2, 225, 1, - 21, 0, 0, 0, 0, 86, 40, 0, 0, 2, 226, 1, 0, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 227, 1, 24, 21, - 0, 0, 0, 0, 136, 68, 0, 0, 2, 228, 1, 32, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 229, 1, 40, 21, 0, - 0, 0, 0, 136, 68, 0, 0, 2, 230, 1, 48, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 231, 1, 56, 21, 0, 0, - 0, 0, 111, 97, 0, 0, 2, 232, 1, 64, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 233, 1, 72, 21, 0, 0, 0, - 0, 11, 1, 0, 0, 2, 234, 1, 80, 34, 0, 0, 0, 0, 11, 1, 0, 0, 2, 235, 1, 4, 1, 31, 84, 34, 0, 0, - 0, 0, 11, 1, 0, 0, 2, 236, 1, 4, 1, 30, 84, 34, 0, 0, 0, 0, 11, 1, 0, 0, 2, 237, 1, 4, 1, 29, - 84, 34, 0, 0, 0, 0, 11, 1, 0, 0, 2, 238, 1, 4, 1, 28, 84, 21, 0, 0, 0, 0, 44, 207, 0, 0, 2, - 239, 1, 88, 21, 0, 0, 0, 0, 44, 207, 0, 0, 2, 240, 1, 152, 21, 0, 0, 0, 0, 240, 71, 1, 0, 2, - 241, 1, 216, 0, 9, 10, 71, 1, 0, 9, 146, 236, 0, 0, 43, 0, 0, 0, 0, 4, 2, 1, 2, 21, 0, 0, 0, 0, - 16, 72, 1, 0, 2, 7, 2, 0, 24, 4, 2, 2, 2, 21, 0, 0, 0, 0, 118, 55, 0, 0, 2, 3, 2, 0, 21, 0, 0, - 0, 0, 118, 55, 0, 0, 2, 4, 2, 1, 21, 0, 0, 0, 0, 118, 55, 0, 0, 2, 5, 2, 2, 21, 0, 0, 0, 0, - 118, 55, 0, 0, 2, 6, 2, 3, 0, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 8, 2, 0, 0, 9, 93, 72, 1, 0, - 27, 0, 0, 0, 0, 0, 2, 2, 1, 126, 21, 0, 0, 0, 0, 231, 97, 0, 0, 2, 2, 126, 0, 21, 0, 0, 0, 0, - 127, 29, 0, 0, 2, 3, 126, 8, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 4, 126, 16, 21, 0, 0, 0, 0, 127, - 29, 0, 0, 2, 5, 126, 24, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 6, 126, 32, 21, 0, 0, 0, 0, 127, 29, - 0, 0, 2, 7, 126, 40, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 8, 126, 48, 21, 0, 0, 0, 0, 127, 29, 0, - 0, 2, 9, 126, 56, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 10, 126, 64, 21, 0, 0, 0, 0, 127, 29, 0, 0, - 2, 11, 126, 72, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 12, 126, 80, 21, 0, 0, 0, 0, 127, 29, 0, 0, - 2, 13, 126, 88, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 14, 126, 96, 21, 0, 0, 0, 0, 127, 29, 0, 0, - 2, 15, 126, 104, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 16, 126, 112, 21, 0, 0, 0, 0, 168, 0, 0, 0, - 2, 17, 126, 120, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 18, 126, 124, 21, 0, 0, 0, 0, 118, 55, 0, 0, - 2, 19, 126, 128, 21, 0, 0, 0, 0, 118, 55, 0, 0, 2, 20, 126, 129, 21, 0, 0, 0, 0, 219, 52, 0, 0, - 2, 21, 126, 130, 21, 0, 0, 0, 0, 88, 72, 1, 0, 2, 22, 126, 136, 21, 0, 0, 0, 0, 227, 28, 0, 0, - 2, 23, 126, 144, 21, 0, 0, 0, 0, 4, 29, 0, 0, 2, 24, 126, 160, 21, 0, 0, 0, 0, 4, 29, 0, 0, 2, - 25, 126, 168, 21, 0, 0, 0, 0, 4, 29, 0, 0, 2, 26, 126, 176, 21, 0, 0, 0, 0, 66, 74, 1, 0, 2, - 27, 126, 184, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 28, 126, 216, 21, 0, 0, 0, 0, 130, 120, 0, 0, - 2, 29, 126, 224, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 30, 126, 232, 21, 0, 0, 0, 0, 127, 29, 0, 0, - 2, 31, 126, 240, 28, 0, 0, 0, 0, 231, 97, 0, 0, 2, 33, 126, 0, 1, 28, 0, 0, 0, 0, 248, 68, 0, - 0, 2, 42, 126, 64, 1, 28, 0, 0, 0, 0, 127, 29, 0, 0, 2, 43, 126, 72, 1, 28, 0, 0, 0, 0, 138, - 74, 1, 0, 2, 44, 126, 80, 1, 28, 0, 0, 0, 0, 150, 74, 1, 0, 2, 45, 126, 176, 1, 28, 0, 0, 0, 0, - 219, 52, 0, 0, 2, 46, 126, 216, 1, 0, 20, 0, 0, 0, 0, 32, 2, 254, 120, 21, 0, 0, 0, 0, 89, 74, - 1, 0, 2, 255, 120, 0, 0, 20, 0, 0, 0, 0, 32, 2, 248, 120, 21, 0, 0, 0, 0, 231, 97, 0, 0, 2, - 249, 120, 0, 21, 0, 0, 0, 0, 63, 144, 0, 0, 2, 250, 120, 8, 21, 0, 0, 0, 0, 130, 120, 0, 0, 2, - 251, 120, 24, 0, 3, 47, 107, 0, 0, 4, 82, 0, 0, 0, 4, 0, 20, 0, 0, 0, 0, 40, 2, 252, 125, 21, - 0, 0, 0, 0, 127, 29, 0, 0, 2, 253, 125, 0, 21, 0, 0, 0, 0, 156, 163, 0, 0, 2, 254, 125, 8, 0, - 20, 0, 0, 0, 0, 40, 2, 24, 2, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 25, 2, 0, 21, 0, 0, 0, 0, 222, - 74, 1, 0, 2, 26, 2, 8, 0, 3, 66, 92, 0, 0, 4, 82, 0, 0, 0, 4, 0, 20, 0, 0, 0, 0, 20, 2, 29, 2, - 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 30, 2, 0, 21, 0, 0, 0, 0, 156, 0, 0, 0, 2, 31, 2, 4, 0, 20, 0, - 0, 0, 0, 56, 2, 51, 1, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 52, 1, 0, 21, 0, 0, 0, 0, 89, 76, 1, - 0, 2, 53, 1, 8, 22, 58, 75, 1, 0, 2, 54, 1, 16, 23, 40, 2, 54, 1, 21, 0, 0, 0, 0, 76, 75, 1, 0, - 2, 62, 1, 0, 24, 40, 2, 55, 1, 21, 0, 0, 0, 0, 175, 236, 0, 0, 2, 56, 1, 0, 21, 0, 0, 0, 0, - 125, 68, 0, 0, 2, 57, 1, 8, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 58, 1, 12, 21, 0, 0, 0, 0, 125, - 68, 0, 0, 2, 59, 1, 16, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 60, 1, 24, 21, 0, 0, 0, 0, 175, 236, - 0, 0, 2, 61, 1, 32, 0, 21, 0, 0, 0, 0, 173, 75, 1, 0, 2, 71, 1, 0, 24, 24, 2, 63, 1, 21, 0, 0, - 0, 0, 83, 209, 0, 0, 2, 64, 1, 0, 21, 0, 0, 0, 0, 110, 76, 1, 0, 2, 65, 1, 4, 22, 213, 75, 1, - 0, 2, 66, 1, 8, 23, 8, 2, 66, 1, 21, 0, 0, 0, 0, 142, 76, 1, 0, 2, 67, 1, 0, 21, 0, 0, 0, 0, - 194, 76, 1, 0, 2, 68, 1, 0, 0, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 70, 1, 16, 0, 21, 0, 0, 0, 0, - 16, 76, 1, 0, 2, 78, 1, 0, 24, 32, 2, 72, 1, 21, 0, 0, 0, 0, 247, 76, 1, 0, 2, 73, 1, 0, 21, 0, - 0, 0, 0, 168, 0, 0, 0, 2, 74, 1, 8, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 75, 1, 12, 21, 0, 0, 0, 0, - 127, 29, 0, 0, 2, 76, 1, 16, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 77, 1, 24, 0, 0, 0, 9, 94, 76, - 1, 0, 13, 248, 0, 0, 0, 14, 105, 76, 1, 0, 0, 9, 14, 75, 1, 0, 17, 11, 1, 0, 0, 0, 0, 0, 0, 4, - 2, 36, 1, 18, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 1, 18, 0, 0, 0, 0, 2, 0, 9, 147, 76, 1, 0, 20, 0, - 0, 0, 0, 16, 2, 26, 1, 21, 0, 0, 0, 0, 183, 76, 1, 0, 2, 27, 1, 0, 21, 0, 0, 0, 0, 51, 75, 0, - 0, 2, 28, 1, 8, 0, 12, 51, 75, 0, 0, 0, 0, 0, 0, 2, 57, 9, 199, 76, 1, 0, 20, 0, 0, 0, 0, 8, 2, - 44, 1, 21, 0, 0, 0, 0, 235, 76, 1, 0, 2, 45, 1, 0, 21, 0, 0, 0, 0, 101, 103, 0, 0, 2, 46, 1, 4, - 0, 33, 101, 103, 0, 0, 0, 0, 0, 0, 2, 42, 1, 9, 252, 76, 1, 0, 20, 0, 0, 0, 0, 8, 2, 13, 18, - 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 14, 18, 0, 21, 0, 0, 0, 0, 37, 65, 0, 0, 2, 15, 18, 4, 21, 0, - 0, 0, 0, 37, 65, 0, 0, 2, 16, 18, 6, 0, 12, 56, 77, 1, 0, 0, 0, 0, 0, 2, 73, 12, 168, 0, 0, 0, - 0, 0, 0, 0, 2, 45, 9, 72, 77, 1, 0, 20, 0, 0, 0, 0, 112, 2, 170, 9, 21, 0, 0, 0, 0, 141, 64, 0, - 0, 2, 171, 9, 0, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 172, 9, 4, 21, 0, 0, 0, 0, 248, 68, 0, 0, 2, - 173, 9, 8, 21, 0, 0, 0, 0, 186, 77, 1, 0, 2, 174, 9, 16, 21, 0, 0, 0, 0, 190, 103, 0, 0, 2, - 175, 9, 48, 21, 0, 0, 0, 0, 47, 107, 0, 0, 2, 176, 9, 56, 21, 0, 0, 0, 0, 65, 29, 0, 0, 2, 177, - 9, 80, 21, 0, 0, 0, 0, 198, 77, 1, 0, 2, 178, 9, 96, 0, 3, 190, 103, 0, 0, 4, 82, 0, 0, 0, 4, - 0, 3, 210, 77, 1, 0, 4, 82, 0, 0, 0, 1, 0, 20, 0, 0, 0, 0, 16, 2, 165, 9, 21, 0, 0, 0, 0, 168, - 0, 0, 0, 2, 166, 9, 0, 21, 0, 0, 0, 0, 246, 77, 1, 0, 2, 167, 9, 8, 0, 9, 251, 77, 1, 0, 20, 0, - 0, 0, 0, 136, 2, 95, 22, 21, 0, 0, 0, 0, 166, 152, 0, 0, 2, 96, 22, 0, 21, 0, 0, 0, 0, 65, 29, - 0, 0, 2, 97, 22, 24, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 98, 22, 40, 21, 0, 0, 0, 0, 130, 120, 0, - 0, 2, 99, 22, 48, 21, 0, 0, 0, 0, 161, 78, 1, 0, 2, 100, 22, 56, 21, 0, 0, 0, 0, 11, 1, 0, 0, - 2, 101, 22, 64, 21, 0, 0, 0, 0, 246, 77, 1, 0, 2, 102, 22, 72, 21, 0, 0, 0, 0, 33, 81, 1, 0, 2, - 103, 22, 80, 21, 0, 0, 0, 0, 3, 118, 0, 0, 2, 104, 22, 88, 21, 0, 0, 0, 0, 125, 81, 1, 0, 2, - 105, 22, 96, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 106, 22, 104, 21, 0, 0, 0, 0, 179, 119, 0, 0, 2, - 107, 22, 112, 0, 9, 166, 78, 1, 0, 27, 0, 0, 0, 0, 216, 1, 2, 41, 175, 21, 0, 0, 0, 0, 3, 80, - 1, 0, 2, 42, 175, 0, 21, 0, 0, 0, 0, 100, 80, 1, 0, 2, 43, 175, 8, 21, 0, 0, 0, 0, 127, 29, 0, - 0, 2, 44, 175, 16, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 45, 175, 24, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, - 46, 175, 28, 21, 0, 0, 0, 0, 112, 80, 1, 0, 2, 47, 175, 32, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 48, - 175, 40, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 49, 175, 44, 21, 0, 0, 0, 0, 161, 80, 1, 0, 2, 50, - 175, 48, 21, 0, 0, 0, 0, 161, 80, 1, 0, 2, 51, 175, 52, 21, 0, 0, 0, 0, 161, 80, 1, 0, 2, 52, - 175, 56, 21, 0, 0, 0, 0, 8, 153, 0, 0, 2, 53, 175, 60, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 54, - 175, 64, 21, 0, 0, 0, 0, 125, 141, 0, 0, 2, 55, 175, 72, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 56, - 175, 80, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 57, 175, 84, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 58, 175, - 88, 21, 0, 0, 0, 0, 14, 29, 0, 0, 2, 59, 175, 96, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 60, 175, - 104, 21, 0, 0, 0, 0, 198, 87, 0, 0, 2, 61, 175, 120, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 62, 175, - 184, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 63, 175, 192, 21, 0, 0, 0, 0, 186, 215, 0, 0, 2, 64, 175, - 200, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 65, 175, 208, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 66, 175, - 212, 21, 0, 0, 0, 0, 184, 80, 1, 0, 2, 67, 175, 216, 0, 9, 8, 80, 1, 0, 20, 0, 0, 0, 0, 32, 2, - 70, 175, 21, 0, 0, 0, 0, 31, 48, 1, 0, 2, 71, 175, 0, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 72, - 175, 8, 21, 0, 0, 0, 0, 68, 56, 0, 0, 2, 73, 175, 16, 21, 0, 0, 0, 0, 68, 56, 0, 0, 2, 74, 175, - 24, 21, 0, 0, 0, 0, 83, 80, 1, 0, 2, 75, 175, 32, 0, 33, 95, 80, 1, 0, 0, 0, 0, 0, 2, 212, 114, - 57, 0, 2, 212, 114, 33, 11, 1, 0, 0, 0, 0, 0, 0, 2, 170, 34, 20, 0, 0, 0, 0, 8, 2, 27, 175, 21, - 0, 0, 0, 0, 125, 68, 0, 0, 2, 28, 175, 0, 21, 0, 0, 0, 0, 118, 55, 0, 0, 2, 29, 175, 4, 21, 0, - 0, 0, 0, 118, 55, 0, 0, 2, 30, 175, 5, 0, 20, 0, 0, 0, 0, 4, 2, 33, 175, 21, 0, 0, 0, 0, 11, 1, - 0, 0, 2, 34, 175, 0, 0, 3, 196, 80, 1, 0, 4, 82, 0, 0, 0, 32, 0, 9, 201, 80, 1, 0, 20, 0, 0, 0, - 0, 64, 2, 78, 175, 21, 0, 0, 0, 0, 248, 68, 0, 0, 2, 79, 175, 0, 21, 0, 0, 0, 0, 127, 29, 0, 0, - 2, 80, 175, 8, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 81, 175, 16, 21, 0, 0, 0, 0, 71, 97, 0, 0, 2, - 82, 175, 32, 21, 0, 0, 0, 0, 71, 97, 0, 0, 2, 83, 175, 40, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, - 84, 175, 48, 0, 9, 38, 81, 1, 0, 20, 0, 0, 0, 0, 72, 2, 220, 136, 21, 0, 0, 0, 0, 47, 107, 0, - 0, 2, 221, 136, 0, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 222, 136, 24, 21, 0, 0, 0, 0, 184, 28, 0, - 0, 2, 223, 136, 32, 21, 0, 0, 0, 0, 184, 28, 0, 0, 2, 224, 136, 48, 21, 0, 0, 0, 0, 113, 81, 1, - 0, 2, 225, 136, 64, 0, 9, 118, 81, 1, 0, 32, 14, 33, 81, 1, 0, 0, 9, 130, 81, 1, 0, 20, 0, 0, - 0, 0, 160, 2, 110, 22, 21, 0, 0, 0, 0, 184, 28, 0, 0, 2, 111, 22, 0, 21, 0, 0, 0, 0, 3, 118, 0, - 0, 2, 112, 22, 16, 21, 0, 0, 0, 0, 224, 63, 0, 0, 2, 113, 22, 24, 21, 0, 0, 0, 0, 176, 64, 0, - 0, 2, 114, 22, 28, 21, 0, 0, 0, 0, 205, 81, 1, 0, 2, 115, 22, 32, 0, 3, 71, 97, 0, 0, 4, 82, 0, - 0, 0, 16, 0, 3, 184, 28, 0, 0, 4, 82, 0, 0, 0, 4, 0, 20, 0, 0, 0, 0, 80, 2, 58, 2, 21, 0, 0, 0, - 0, 22, 82, 1, 0, 2, 59, 2, 0, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 60, 2, 72, 21, 0, 0, 0, 0, 11, 1, - 0, 0, 2, 61, 2, 76, 0, 3, 34, 82, 1, 0, 4, 82, 0, 0, 0, 3, 0, 20, 0, 0, 0, 0, 24, 2, 53, 2, 21, - 0, 0, 0, 0, 136, 68, 0, 0, 2, 54, 2, 0, 21, 0, 0, 0, 0, 140, 209, 0, 0, 2, 55, 2, 8, 0, 20, 0, - 0, 0, 0, 24, 2, 64, 2, 21, 0, 0, 0, 0, 65, 29, 0, 0, 2, 65, 2, 0, 21, 0, 0, 0, 0, 11, 1, 0, 0, - 2, 66, 2, 16, 0, 9, 111, 82, 1, 0, 20, 0, 0, 0, 0, 224, 2, 90, 187, 21, 0, 0, 0, 0, 161, 81, 0, - 0, 2, 91, 187, 0, 21, 0, 0, 0, 0, 33, 68, 0, 0, 2, 92, 187, 16, 21, 0, 0, 0, 0, 161, 81, 0, 0, - 2, 93, 187, 32, 21, 0, 0, 0, 0, 101, 60, 0, 0, 2, 94, 187, 48, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, - 95, 187, 56, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 96, 187, 60, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 97, - 187, 64, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 98, 187, 68, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 99, 187, - 72, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 100, 187, 76, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 101, 187, - 80, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 102, 187, 84, 21, 0, 0, 0, 0, 125, 83, 1, 0, 2, 103, 187, - 88, 21, 0, 0, 0, 0, 228, 83, 1, 0, 2, 104, 187, 96, 21, 0, 0, 0, 0, 129, 78, 0, 0, 2, 105, 187, - 192, 21, 0, 0, 0, 0, 106, 82, 1, 0, 2, 106, 187, 200, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 107, 187, - 208, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 108, 187, 212, 21, 0, 0, 0, 0, 224, 63, 0, 0, 2, 109, - 187, 216, 21, 0, 0, 0, 0, 213, 63, 0, 0, 2, 110, 187, 220, 0, 9, 130, 83, 1, 0, 20, 0, 0, 0, 0, - 48, 2, 83, 187, 21, 0, 0, 0, 0, 161, 81, 0, 0, 2, 84, 187, 0, 21, 0, 0, 0, 0, 192, 83, 1, 0, 2, - 85, 187, 16, 21, 0, 0, 0, 0, 14, 29, 0, 0, 2, 86, 187, 32, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 87, - 187, 40, 0, 20, 0, 0, 0, 0, 16, 2, 78, 13, 21, 0, 0, 0, 0, 125, 141, 0, 0, 2, 79, 13, 0, 21, 0, - 0, 0, 0, 255, 0, 0, 0, 2, 80, 13, 8, 0, 3, 130, 83, 1, 0, 4, 82, 0, 0, 0, 2, 0, 20, 0, 0, 0, 0, - 8, 2, 71, 2, 21, 0, 0, 0, 0, 7, 84, 1, 0, 2, 72, 2, 0, 0, 9, 12, 84, 1, 0, 20, 0, 0, 0, 0, 24, - 2, 243, 214, 21, 0, 0, 0, 0, 141, 64, 0, 0, 2, 244, 214, 0, 21, 0, 0, 0, 0, 248, 68, 0, 0, 2, - 245, 214, 4, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 246, 214, 8, 0, 20, 0, 0, 0, 0, 16, 2, 75, 2, - 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 76, 2, 0, 0, 9, 89, 84, 1, 0, 20, 0, 0, 0, 0, 56, 2, 30, 36, - 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 31, 36, 0, 21, 0, 0, 0, 0, 248, 68, 0, 0, 2, 32, 36, 4, 21, 0, - 0, 0, 0, 173, 67, 0, 0, 2, 33, 36, 8, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 34, 36, 12, 21, 0, 0, 0, - 0, 168, 0, 0, 0, 2, 35, 36, 16, 21, 0, 0, 0, 0, 161, 81, 0, 0, 2, 36, 36, 24, 21, 0, 0, 0, 0, - 161, 81, 0, 0, 2, 37, 36, 40, 0, 9, 195, 84, 1, 0, 27, 0, 0, 0, 0, 192, 2, 2, 244, 110, 21, 0, - 0, 0, 0, 176, 64, 0, 0, 2, 245, 110, 0, 21, 0, 0, 0, 0, 219, 52, 0, 0, 2, 246, 110, 4, 21, 0, - 0, 0, 0, 47, 107, 0, 0, 2, 247, 110, 8, 21, 0, 0, 0, 0, 93, 85, 1, 0, 2, 248, 110, 32, 21, 0, - 0, 0, 0, 98, 85, 1, 0, 2, 249, 110, 40, 21, 0, 0, 0, 0, 248, 68, 0, 0, 2, 254, 110, 128, 21, 0, - 0, 0, 0, 11, 1, 0, 0, 2, 255, 110, 132, 21, 0, 0, 0, 0, 148, 159, 0, 0, 2, 0, 111, 136, 21, 0, - 0, 0, 0, 148, 159, 0, 0, 2, 1, 111, 144, 21, 0, 0, 0, 0, 148, 159, 0, 0, 2, 2, 111, 152, 21, 0, - 0, 0, 0, 191, 85, 1, 0, 2, 3, 111, 160, 0, 9, 98, 85, 1, 0, 20, 0, 0, 0, 0, 56, 2, 235, 110, - 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 236, 110, 0, 21, 0, 0, 0, 0, 186, 85, 1, 0, 2, 237, 110, 8, 21, - 0, 0, 0, 0, 75, 110, 0, 0, 2, 238, 110, 16, 21, 0, 0, 0, 0, 75, 110, 0, 0, 2, 239, 110, 24, 21, - 0, 0, 0, 0, 75, 110, 0, 0, 2, 240, 110, 32, 21, 0, 0, 0, 0, 65, 29, 0, 0, 2, 241, 110, 40, 0, - 9, 69, 80, 0, 0, 3, 69, 80, 0, 0, 4, 82, 0, 0, 0, 64, 0, 9, 208, 85, 1, 0, 20, 0, 0, 0, 0, 160, - 2, 204, 193, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 205, 193, 0, 21, 0, 0, 0, 0, 215, 152, 0, 0, 2, - 206, 193, 8, 21, 0, 0, 0, 0, 59, 107, 0, 0, 2, 207, 193, 24, 21, 0, 0, 0, 0, 118, 86, 1, 0, 2, - 208, 193, 48, 21, 0, 0, 0, 0, 148, 116, 1, 0, 2, 209, 193, 56, 21, 0, 0, 0, 0, 166, 109, 0, 0, - 2, 210, 193, 64, 21, 0, 0, 0, 0, 176, 64, 0, 0, 2, 211, 193, 104, 21, 0, 0, 0, 0, 176, 64, 0, - 0, 2, 212, 193, 108, 21, 0, 0, 0, 0, 248, 68, 0, 0, 2, 213, 193, 112, 21, 0, 0, 0, 0, 158, 116, - 1, 0, 2, 214, 193, 120, 21, 0, 0, 0, 0, 65, 29, 0, 0, 2, 215, 193, 136, 21, 0, 0, 0, 0, 219, - 52, 0, 0, 2, 216, 193, 152, 0, 9, 123, 86, 1, 0, 26, 128, 86, 1, 0, 27, 0, 0, 0, 0, 128, 6, 2, - 76, 196, 22, 147, 86, 1, 0, 2, 77, 196, 0, 24, 64, 2, 77, 196, 21, 0, 0, 0, 0, 153, 0, 1, 0, 2, - 78, 196, 0, 21, 0, 0, 0, 0, 140, 90, 1, 0, 2, 79, 196, 16, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 80, - 196, 24, 34, 0, 0, 0, 0, 11, 1, 0, 0, 2, 81, 196, 4, 1, 31, 28, 34, 0, 0, 0, 0, 11, 1, 0, 0, 2, - 82, 196, 4, 1, 30, 28, 34, 0, 0, 0, 0, 11, 1, 0, 0, 2, 83, 196, 4, 1, 29, 28, 34, 0, 0, 0, 0, - 11, 1, 0, 0, 2, 84, 196, 4, 1, 28, 28, 34, 0, 0, 0, 0, 11, 1, 0, 0, 2, 85, 196, 4, 1, 27, 28, - 34, 0, 0, 0, 0, 11, 1, 0, 0, 2, 86, 196, 4, 1, 26, 28, 0, 22, 41, 87, 1, 0, 2, 93, 196, 64, 42, - 64, 3, 2, 93, 196, 21, 0, 0, 0, 0, 241, 106, 0, 0, 2, 94, 196, 0, 21, 0, 0, 0, 0, 175, 236, 0, - 0, 2, 95, 196, 32, 21, 0, 0, 0, 0, 149, 91, 1, 0, 2, 96, 196, 40, 21, 0, 0, 0, 0, 11, 1, 0, 0, - 2, 97, 196, 48, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 98, 196, 52, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, - 99, 196, 56, 21, 0, 0, 0, 0, 155, 93, 1, 0, 2, 100, 196, 72, 21, 0, 0, 0, 0, 68, 95, 1, 0, 2, - 101, 196, 80, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 102, 196, 88, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, - 103, 196, 92, 21, 0, 0, 0, 0, 119, 95, 1, 0, 2, 104, 196, 96, 21, 0, 0, 0, 0, 124, 95, 1, 0, 2, - 105, 196, 104, 28, 0, 0, 0, 0, 227, 28, 0, 0, 2, 106, 196, 200, 2, 28, 0, 0, 0, 0, 227, 28, 0, - 0, 2, 107, 196, 216, 2, 28, 0, 0, 0, 0, 227, 28, 0, 0, 2, 108, 196, 232, 2, 28, 0, 0, 0, 0, - 215, 152, 0, 0, 2, 109, 196, 248, 2, 28, 0, 0, 0, 0, 215, 152, 0, 0, 2, 110, 196, 8, 3, 28, 0, - 0, 0, 0, 125, 68, 0, 0, 2, 111, 196, 24, 3, 28, 0, 0, 0, 0, 11, 1, 0, 0, 2, 112, 196, 28, 3, 0, - 28, 0, 0, 0, 0, 227, 28, 0, 0, 2, 118, 196, 128, 3, 28, 0, 0, 0, 0, 11, 1, 0, 0, 2, 119, 196, - 144, 3, 28, 0, 0, 0, 0, 103, 110, 0, 0, 2, 120, 196, 152, 3, 28, 0, 0, 0, 0, 55, 110, 1, 0, 2, - 121, 196, 160, 3, 28, 0, 0, 0, 0, 59, 107, 0, 0, 2, 122, 196, 168, 3, 28, 0, 0, 0, 0, 227, 28, - 0, 0, 2, 123, 196, 192, 3, 28, 0, 0, 0, 0, 127, 29, 0, 0, 2, 124, 196, 208, 3, 30, 154, 88, 1, - 0, 2, 130, 196, 0, 4, 24, 128, 2, 130, 196, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 131, 196, 0, 21, 0, - 0, 0, 0, 11, 1, 0, 0, 2, 132, 196, 4, 21, 0, 0, 0, 0, 51, 35, 1, 0, 2, 133, 196, 8, 21, 0, 0, - 0, 0, 59, 107, 0, 0, 2, 134, 196, 16, 21, 0, 0, 0, 0, 59, 107, 0, 0, 2, 135, 196, 40, 21, 0, 0, - 0, 0, 11, 1, 0, 0, 2, 136, 196, 64, 21, 0, 0, 0, 0, 176, 64, 0, 0, 2, 137, 196, 68, 21, 0, 0, - 0, 0, 11, 1, 0, 0, 2, 138, 196, 72, 0, 30, 18, 89, 1, 0, 2, 147, 196, 128, 4, 24, 64, 2, 147, - 196, 21, 0, 0, 0, 0, 248, 68, 0, 0, 2, 148, 196, 0, 21, 0, 0, 0, 0, 248, 68, 0, 0, 2, 149, 196, - 4, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 150, 196, 8, 21, 0, 0, 0, 0, 226, 110, 1, 0, 2, 151, 196, - 24, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 152, 196, 32, 21, 0, 0, 0, 0, 219, 52, 0, 0, 2, 153, 196, - 36, 0, 28, 0, 0, 0, 0, 231, 110, 1, 0, 2, 159, 196, 192, 4, 30, 126, 89, 1, 0, 2, 160, 196, - 216, 4, 24, 152, 2, 160, 196, 21, 0, 0, 0, 0, 155, 93, 1, 0, 2, 161, 196, 0, 21, 0, 0, 0, 0, - 232, 94, 1, 0, 2, 162, 196, 8, 21, 0, 0, 0, 0, 248, 93, 1, 0, 2, 163, 196, 16, 21, 0, 0, 0, 0, - 248, 93, 1, 0, 2, 164, 196, 24, 21, 0, 0, 0, 0, 147, 165, 0, 0, 2, 165, 196, 32, 21, 0, 0, 0, - 0, 50, 111, 1, 0, 2, 166, 196, 120, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 167, 196, 128, 21, 0, 0, - 0, 0, 248, 68, 0, 0, 2, 168, 196, 144, 0, 30, 246, 89, 1, 0, 2, 170, 196, 112, 5, 24, 224, 2, - 170, 196, 21, 0, 0, 0, 0, 73, 111, 1, 0, 2, 171, 196, 0, 21, 0, 0, 0, 0, 82, 116, 1, 0, 2, 172, - 196, 8, 21, 0, 0, 0, 0, 34, 109, 0, 0, 2, 173, 196, 16, 21, 0, 0, 0, 0, 104, 93, 0, 0, 2, 174, - 196, 24, 21, 0, 0, 0, 0, 50, 111, 1, 0, 2, 175, 196, 32, 21, 0, 0, 0, 0, 147, 165, 0, 0, 2, - 176, 196, 40, 21, 0, 0, 0, 0, 156, 163, 0, 0, 2, 177, 196, 128, 21, 0, 0, 0, 0, 227, 28, 0, 0, - 2, 178, 196, 160, 21, 0, 0, 0, 0, 43, 167, 0, 0, 2, 179, 196, 176, 21, 0, 0, 0, 0, 136, 116, 1, - 0, 2, 180, 196, 208, 21, 0, 0, 0, 0, 219, 52, 0, 0, 2, 181, 196, 216, 0, 0, 9, 145, 90, 1, 0, - 27, 0, 0, 0, 0, 64, 1, 2, 226, 195, 21, 0, 0, 0, 0, 52, 91, 1, 0, 2, 227, 195, 0, 21, 0, 0, 0, - 0, 52, 91, 1, 0, 2, 228, 195, 128, 28, 0, 0, 0, 0, 125, 68, 0, 0, 2, 229, 195, 0, 1, 28, 0, 0, - 0, 0, 125, 68, 0, 0, 2, 230, 195, 4, 1, 28, 0, 0, 0, 0, 125, 68, 0, 0, 2, 231, 195, 8, 1, 28, - 0, 0, 0, 0, 125, 68, 0, 0, 2, 232, 195, 12, 1, 28, 0, 0, 0, 0, 125, 68, 0, 0, 2, 233, 195, 16, - 1, 28, 0, 0, 0, 0, 125, 68, 0, 0, 2, 234, 195, 20, 1, 28, 0, 0, 0, 0, 125, 68, 0, 0, 2, 235, - 195, 24, 1, 28, 0, 0, 0, 0, 125, 68, 0, 0, 2, 236, 195, 28, 1, 28, 0, 0, 0, 0, 88, 91, 1, 0, 2, - 241, 195, 64, 1, 0, 20, 0, 0, 0, 0, 128, 2, 205, 195, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 206, - 195, 0, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 215, 195, 64, 0, 3, 100, 91, 1, 0, 4, 82, 0, 0, 0, 0, - 0, 20, 0, 0, 0, 0, 16, 2, 43, 195, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 44, 195, 0, 21, 0, 0, 0, 0, - 112, 103, 0, 0, 2, 45, 195, 8, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 46, 195, 12, 0, 9, 154, 91, 1, 0, - 20, 0, 0, 0, 0, 64, 2, 201, 194, 21, 0, 0, 0, 0, 129, 55, 0, 0, 2, 202, 194, 0, 21, 0, 0, 0, 0, - 129, 55, 0, 0, 2, 203, 194, 1, 21, 0, 0, 0, 0, 214, 48, 0, 0, 2, 204, 194, 2, 21, 0, 0, 0, 0, - 112, 103, 0, 0, 2, 205, 194, 4, 22, 224, 91, 1, 0, 2, 206, 194, 8, 23, 8, 2, 206, 194, 21, 0, - 0, 0, 0, 197, 0, 0, 0, 2, 207, 194, 0, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 208, 194, 0, 0, 22, 9, - 92, 1, 0, 2, 210, 194, 16, 23, 8, 2, 210, 194, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 211, 194, 0, - 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 212, 194, 0, 0, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 214, 194, 24, - 22, 63, 92, 1, 0, 2, 215, 194, 28, 23, 4, 2, 215, 194, 21, 0, 0, 0, 0, 143, 93, 1, 0, 2, 216, - 194, 0, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 217, 194, 0, 21, 0, 0, 0, 0, 214, 48, 0, 0, 2, 218, 194, - 0, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 219, 194, 0, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 220, 194, 0, 21, - 0, 0, 0, 0, 0, 1, 0, 0, 2, 221, 194, 0, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 222, 194, 0, 21, 0, 0, - 0, 0, 0, 1, 0, 0, 2, 223, 194, 0, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 224, 194, 0, 21, 0, 0, 0, 0, - 0, 1, 0, 0, 2, 225, 194, 0, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 226, 194, 0, 21, 0, 0, 0, 0, 0, 1, - 0, 0, 2, 227, 194, 0, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 228, 194, 0, 21, 0, 0, 0, 0, 0, 1, 0, 0, - 2, 229, 194, 0, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 230, 194, 0, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 231, - 194, 0, 0, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 233, 194, 32, 22, 43, 93, 1, 0, 2, 234, 194, 40, - 23, 2, 2, 234, 194, 21, 0, 0, 0, 0, 214, 48, 0, 0, 2, 235, 194, 0, 21, 0, 0, 0, 0, 214, 48, 0, - 0, 2, 236, 194, 0, 0, 21, 0, 0, 0, 0, 214, 48, 0, 0, 2, 238, 194, 42, 22, 97, 93, 1, 0, 2, 239, - 194, 44, 23, 4, 2, 239, 194, 21, 0, 0, 0, 0, 112, 103, 0, 0, 2, 240, 194, 0, 21, 0, 0, 0, 0, 0, - 1, 0, 0, 2, 241, 194, 0, 0, 21, 0, 0, 0, 0, 152, 195, 0, 0, 2, 243, 194, 48, 0, 33, 168, 0, 0, - 0, 0, 0, 0, 0, 2, 178, 174, 9, 160, 93, 1, 0, 20, 0, 0, 0, 0, 72, 2, 26, 196, 21, 0, 0, 0, 0, - 153, 0, 1, 0, 2, 27, 196, 0, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 28, 196, 16, 21, 0, 0, 0, 0, - 227, 28, 0, 0, 2, 29, 196, 32, 21, 0, 0, 0, 0, 248, 93, 1, 0, 2, 30, 196, 48, 21, 0, 0, 0, 0, - 133, 81, 0, 0, 2, 31, 196, 56, 21, 0, 0, 0, 0, 219, 52, 0, 0, 2, 32, 196, 64, 0, 9, 253, 93, 1, - 0, 20, 0, 0, 0, 0, 80, 2, 37, 196, 21, 0, 0, 0, 0, 98, 94, 1, 0, 2, 38, 196, 0, 21, 0, 0, 0, 0, - 103, 94, 1, 0, 2, 39, 196, 8, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 40, 196, 16, 21, 0, 0, 0, 0, 108, - 94, 1, 0, 2, 41, 196, 24, 21, 0, 0, 0, 0, 176, 64, 0, 0, 2, 42, 196, 32, 21, 0, 0, 0, 0, 43, - 167, 0, 0, 2, 43, 196, 40, 21, 0, 0, 0, 0, 219, 52, 0, 0, 2, 44, 196, 72, 0, 9, 128, 86, 1, 0, - 9, 239, 241, 0, 0, 9, 113, 94, 1, 0, 33, 125, 94, 1, 0, 0, 0, 0, 0, 2, 35, 196, 32, 14, 98, 94, - 1, 0, 14, 137, 94, 1, 0, 0, 9, 142, 94, 1, 0, 20, 0, 0, 0, 0, 32, 2, 10, 196, 21, 0, 0, 0, 0, - 227, 28, 0, 0, 2, 11, 196, 0, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 12, 196, 16, 22, 186, 94, 1, 0, - 2, 13, 196, 24, 23, 8, 2, 13, 196, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 14, 196, 0, 21, 0, 0, 0, 0, - 69, 80, 0, 0, 2, 15, 196, 0, 21, 0, 0, 0, 0, 232, 94, 1, 0, 2, 16, 196, 0, 0, 0, 9, 237, 94, 1, - 0, 20, 0, 0, 0, 0, 32, 2, 249, 195, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 250, 195, 0, 21, 0, 0, 0, - 0, 136, 68, 0, 0, 2, 251, 195, 8, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 252, 195, 16, 21, 0, 0, 0, 0, - 127, 29, 0, 0, 2, 253, 195, 24, 21, 0, 0, 0, 0, 56, 95, 1, 0, 2, 254, 195, 32, 0, 3, 19, 56, 0, - 0, 4, 82, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 8, 2, 20, 196, 21, 0, 0, 0, 0, 91, 95, 1, 0, 2, 21, - 196, 0, 0, 9, 96, 95, 1, 0, 20, 0, 0, 0, 0, 8, 2, 6, 196, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 7, - 196, 0, 0, 9, 232, 94, 1, 0, 27, 0, 0, 0, 0, 96, 2, 2, 54, 196, 21, 0, 0, 0, 0, 2, 96, 1, 0, 2, - 55, 196, 0, 21, 0, 0, 0, 0, 77, 96, 1, 0, 2, 56, 196, 40, 21, 0, 0, 0, 0, 31, 110, 1, 0, 2, 57, - 196, 56, 28, 0, 0, 0, 0, 11, 1, 0, 0, 2, 58, 196, 56, 1, 28, 0, 0, 0, 0, 219, 52, 0, 0, 2, 59, - 196, 60, 1, 28, 0, 0, 0, 0, 43, 110, 1, 0, 2, 60, 196, 64, 1, 28, 0, 0, 0, 0, 11, 1, 0, 0, 2, - 61, 196, 64, 2, 28, 0, 0, 0, 0, 227, 28, 0, 0, 2, 62, 196, 72, 2, 28, 0, 0, 0, 0, 11, 1, 0, 0, - 2, 63, 196, 88, 2, 0, 20, 0, 0, 0, 0, 40, 2, 155, 22, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 156, - 22, 0, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 157, 22, 16, 21, 0, 0, 0, 0, 225, 48, 0, 0, 2, 158, - 22, 32, 21, 0, 0, 0, 0, 219, 52, 0, 0, 2, 159, 22, 34, 21, 0, 0, 0, 0, 219, 52, 0, 0, 2, 160, - 22, 35, 0, 20, 0, 0, 0, 0, 16, 2, 49, 196, 21, 0, 0, 0, 0, 113, 96, 1, 0, 2, 50, 196, 0, 21, 0, - 0, 0, 0, 113, 96, 1, 0, 2, 51, 196, 8, 0, 9, 118, 96, 1, 0, 20, 0, 0, 0, 0, 216, 2, 176, 197, - 22, 136, 96, 1, 0, 2, 177, 197, 0, 23, 64, 2, 177, 197, 21, 0, 0, 0, 0, 69, 80, 0, 0, 2, 178, - 197, 0, 21, 0, 0, 0, 0, 229, 98, 1, 0, 2, 179, 197, 0, 21, 0, 0, 0, 0, 22, 99, 1, 0, 2, 180, - 197, 0, 21, 0, 0, 0, 0, 115, 99, 1, 0, 2, 181, 197, 0, 21, 0, 0, 0, 0, 203, 99, 1, 0, 2, 182, - 197, 0, 21, 0, 0, 0, 0, 35, 100, 1, 0, 2, 183, 197, 0, 21, 0, 0, 0, 0, 110, 100, 1, 0, 2, 184, - 197, 0, 21, 0, 0, 0, 0, 146, 100, 1, 0, 2, 185, 197, 0, 21, 0, 0, 0, 0, 234, 100, 1, 0, 2, 186, - 197, 0, 21, 0, 0, 0, 0, 53, 101, 1, 0, 2, 187, 197, 0, 21, 0, 0, 0, 0, 102, 101, 1, 0, 2, 188, - 197, 0, 21, 0, 0, 0, 0, 51, 103, 1, 0, 2, 189, 197, 0, 21, 0, 0, 0, 0, 188, 103, 1, 0, 2, 190, - 197, 0, 21, 0, 0, 0, 0, 237, 103, 1, 0, 2, 191, 197, 0, 21, 0, 0, 0, 0, 43, 104, 1, 0, 2, 192, - 197, 0, 21, 0, 0, 0, 0, 105, 104, 1, 0, 2, 193, 197, 0, 21, 0, 0, 0, 0, 167, 104, 1, 0, 2, 194, - 197, 0, 21, 0, 0, 0, 0, 22, 105, 1, 0, 2, 195, 197, 0, 21, 0, 0, 0, 0, 110, 105, 1, 0, 2, 196, - 197, 0, 21, 0, 0, 0, 0, 198, 105, 1, 0, 2, 197, 197, 0, 21, 0, 0, 0, 0, 162, 107, 1, 0, 2, 198, - 197, 0, 21, 0, 0, 0, 0, 198, 107, 1, 0, 2, 199, 197, 0, 21, 0, 0, 0, 0, 30, 108, 1, 0, 2, 200, - 197, 0, 21, 0, 0, 0, 0, 92, 108, 1, 0, 2, 201, 197, 0, 21, 0, 0, 0, 0, 154, 108, 1, 0, 2, 202, - 197, 0, 21, 0, 0, 0, 0, 216, 108, 1, 0, 2, 203, 197, 0, 21, 0, 0, 0, 0, 48, 109, 1, 0, 2, 204, - 197, 0, 0, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 206, 197, 64, 21, 0, 0, 0, 0, 118, 55, 0, 0, 2, - 207, 197, 72, 21, 0, 0, 0, 0, 118, 55, 0, 0, 2, 208, 197, 73, 21, 0, 0, 0, 0, 177, 69, 0, 0, 2, - 209, 197, 74, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 210, 197, 76, 21, 0, 0, 0, 0, 98, 94, 1, 0, 2, - 211, 197, 80, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 212, 197, 88, 21, 0, 0, 0, 0, 176, 64, 0, 0, 2, - 213, 197, 92, 21, 0, 0, 0, 0, 130, 120, 0, 0, 2, 214, 197, 96, 21, 0, 0, 0, 0, 136, 68, 0, 0, - 2, 215, 197, 104, 21, 0, 0, 0, 0, 113, 96, 1, 0, 2, 216, 197, 112, 21, 0, 0, 0, 0, 69, 1, 1, 0, - 2, 217, 197, 120, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 218, 197, 128, 21, 0, 0, 0, 0, 84, 109, 1, - 0, 2, 219, 197, 144, 21, 0, 0, 0, 0, 184, 28, 0, 0, 2, 220, 197, 160, 21, 0, 0, 0, 0, 205, 109, - 1, 0, 2, 221, 197, 176, 21, 0, 0, 0, 0, 251, 109, 1, 0, 2, 222, 197, 184, 21, 0, 0, 0, 0, 103, - 110, 0, 0, 2, 223, 197, 200, 21, 0, 0, 0, 0, 232, 94, 1, 0, 2, 224, 197, 208, 0, 20, 0, 0, 0, - 0, 64, 2, 218, 196, 21, 0, 0, 0, 0, 26, 234, 0, 0, 2, 219, 196, 0, 21, 0, 0, 0, 0, 136, 68, 0, - 0, 2, 220, 196, 48, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 221, 196, 56, 0, 20, 0, 0, 0, 0, 64, 2, - 224, 196, 21, 0, 0, 0, 0, 69, 80, 0, 0, 2, 225, 196, 0, 21, 0, 0, 0, 0, 110, 99, 1, 0, 2, 226, - 196, 8, 21, 0, 0, 0, 0, 10, 160, 0, 0, 2, 227, 196, 16, 21, 0, 0, 0, 0, 219, 52, 0, 0, 2, 228, - 196, 20, 21, 0, 0, 0, 0, 219, 52, 0, 0, 2, 229, 196, 21, 21, 0, 0, 0, 0, 0, 235, 0, 0, 2, 230, - 196, 24, 0, 9, 59, 107, 0, 0, 20, 0, 0, 0, 0, 32, 2, 233, 196, 21, 0, 0, 0, 0, 69, 80, 0, 0, 2, - 234, 196, 0, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 235, 196, 8, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, - 236, 196, 16, 21, 0, 0, 0, 0, 10, 160, 0, 0, 2, 237, 196, 24, 21, 0, 0, 0, 0, 219, 52, 0, 0, 2, - 238, 196, 28, 21, 0, 0, 0, 0, 219, 52, 0, 0, 2, 239, 196, 29, 0, 20, 0, 0, 0, 0, 40, 2, 242, - 196, 21, 0, 0, 0, 0, 69, 80, 0, 0, 2, 243, 196, 0, 21, 0, 0, 0, 0, 85, 52, 0, 0, 2, 244, 196, - 8, 21, 0, 0, 0, 0, 214, 52, 0, 0, 2, 245, 196, 16, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 246, 196, - 24, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 247, 196, 28, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 248, 196, - 32, 0, 20, 0, 0, 0, 0, 32, 2, 251, 196, 21, 0, 0, 0, 0, 69, 80, 0, 0, 2, 252, 196, 0, 21, 0, 0, - 0, 0, 29, 75, 0, 0, 2, 253, 196, 8, 21, 0, 0, 0, 0, 29, 75, 0, 0, 2, 254, 196, 16, 21, 0, 0, 0, - 0, 168, 0, 0, 0, 2, 255, 196, 24, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 0, 197, 28, 0, 20, 0, 0, 0, - 0, 16, 2, 3, 197, 21, 0, 0, 0, 0, 69, 80, 0, 0, 2, 4, 197, 0, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, - 5, 197, 8, 0, 20, 0, 0, 0, 0, 48, 2, 8, 197, 21, 0, 0, 0, 0, 69, 80, 0, 0, 2, 9, 197, 0, 21, 0, - 0, 0, 0, 125, 68, 0, 0, 2, 10, 197, 8, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 11, 197, 12, 21, 0, 0, - 0, 0, 227, 28, 0, 0, 2, 12, 197, 16, 21, 0, 0, 0, 0, 113, 96, 1, 0, 2, 13, 197, 32, 21, 0, 0, - 0, 0, 113, 96, 1, 0, 2, 14, 197, 40, 0, 20, 0, 0, 0, 0, 40, 2, 17, 197, 21, 0, 0, 0, 0, 69, 80, - 0, 0, 2, 18, 197, 0, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 19, 197, 8, 21, 0, 0, 0, 0, 52, 161, 0, - 0, 2, 20, 197, 16, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 21, 197, 32, 21, 0, 0, 0, 0, 219, 52, 0, - 0, 2, 22, 197, 36, 0, 20, 0, 0, 0, 0, 24, 2, 25, 197, 21, 0, 0, 0, 0, 69, 80, 0, 0, 2, 26, 197, - 0, 21, 0, 0, 0, 0, 85, 52, 0, 0, 2, 27, 197, 8, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 28, 197, 16, - 0, 20, 0, 0, 0, 0, 40, 2, 31, 197, 21, 0, 0, 0, 0, 69, 80, 0, 0, 2, 32, 197, 0, 22, 133, 101, - 1, 0, 2, 33, 197, 8, 23, 8, 2, 33, 197, 21, 0, 0, 0, 0, 231, 101, 1, 0, 2, 34, 197, 0, 21, 0, - 0, 0, 0, 129, 102, 1, 0, 2, 35, 197, 0, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 36, 197, 0, 0, 21, 0, - 0, 0, 0, 168, 0, 0, 0, 2, 38, 197, 16, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 39, 197, 20, 21, 0, 0, - 0, 0, 140, 55, 0, 0, 2, 40, 197, 24, 21, 0, 0, 0, 0, 240, 102, 1, 0, 2, 41, 197, 32, 0, 9, 236, - 101, 1, 0, 20, 0, 0, 0, 0, 28, 2, 237, 193, 21, 0, 0, 0, 0, 81, 102, 1, 0, 2, 238, 193, 0, 21, - 0, 0, 0, 0, 93, 102, 1, 0, 2, 239, 193, 4, 21, 0, 0, 0, 0, 81, 102, 1, 0, 2, 240, 193, 8, 21, - 0, 0, 0, 0, 105, 102, 1, 0, 2, 241, 193, 12, 21, 0, 0, 0, 0, 81, 102, 1, 0, 2, 242, 193, 16, - 21, 0, 0, 0, 0, 105, 102, 1, 0, 2, 243, 193, 20, 21, 0, 0, 0, 0, 117, 102, 1, 0, 2, 244, 193, - 24, 0, 33, 125, 68, 0, 0, 0, 0, 0, 0, 2, 22, 23, 33, 101, 103, 0, 0, 0, 0, 0, 0, 2, 67, 87, 33, - 125, 68, 0, 0, 0, 0, 0, 0, 2, 236, 109, 33, 125, 68, 0, 0, 0, 0, 0, 0, 2, 9, 97, 9, 134, 102, - 1, 0, 20, 0, 0, 0, 0, 56, 2, 225, 193, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 226, 193, 0, 21, 0, 0, - 0, 0, 168, 0, 0, 0, 2, 227, 193, 8, 21, 0, 0, 0, 0, 235, 102, 1, 0, 2, 228, 193, 16, 21, 0, 0, - 0, 0, 151, 55, 0, 0, 2, 229, 193, 24, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 230, 193, 32, 21, 0, 0, - 0, 0, 151, 55, 0, 0, 2, 231, 193, 40, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 232, 193, 48, 0, 9, 183, - 55, 0, 0, 9, 245, 102, 1, 0, 20, 0, 0, 0, 0, 32, 2, 191, 196, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, - 192, 196, 0, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 193, 196, 16, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 194, - 196, 24, 21, 0, 0, 0, 0, 214, 48, 0, 0, 2, 195, 196, 28, 0, 20, 0, 0, 0, 0, 56, 2, 44, 197, 21, - 0, 0, 0, 0, 69, 80, 0, 0, 2, 45, 197, 0, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 46, 197, 8, 21, 0, 0, - 0, 0, 125, 68, 0, 0, 2, 47, 197, 12, 21, 0, 0, 0, 0, 129, 78, 0, 0, 2, 48, 197, 16, 21, 0, 0, - 0, 0, 139, 103, 1, 0, 2, 49, 197, 24, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 50, 197, 48, 0, 20, 0, - 0, 0, 0, 24, 2, 80, 186, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 81, 186, 0, 21, 0, 0, 0, 0, 197, 0, - 0, 0, 2, 82, 186, 8, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 83, 186, 16, 0, 20, 0, 0, 0, 0, 16, 2, - 53, 197, 21, 0, 0, 0, 0, 69, 80, 0, 0, 2, 54, 197, 0, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 55, 197, - 8, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 56, 197, 12, 0, 20, 0, 0, 0, 0, 24, 2, 59, 197, 21, 0, 0, - 0, 0, 69, 80, 0, 0, 2, 60, 197, 0, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 61, 197, 8, 21, 0, 0, 0, - 0, 125, 68, 0, 0, 2, 62, 197, 16, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 63, 197, 20, 0, 20, 0, 0, - 0, 0, 24, 2, 66, 197, 21, 0, 0, 0, 0, 69, 80, 0, 0, 2, 67, 197, 0, 21, 0, 0, 0, 0, 136, 68, 0, - 0, 2, 68, 197, 8, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 69, 197, 16, 21, 0, 0, 0, 0, 125, 68, 0, 0, - 2, 70, 197, 20, 0, 20, 0, 0, 0, 0, 24, 2, 73, 197, 21, 0, 0, 0, 0, 69, 80, 0, 0, 2, 74, 197, 0, - 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 75, 197, 8, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 76, 197, 16, - 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 77, 197, 20, 0, 20, 0, 0, 0, 0, 32, 2, 80, 197, 21, 0, 0, 0, - 0, 69, 80, 0, 0, 2, 81, 197, 0, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 82, 197, 8, 21, 0, 0, 0, 0, - 168, 0, 0, 0, 2, 83, 197, 12, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 84, 197, 16, 21, 0, 0, 0, 0, - 242, 104, 1, 0, 2, 85, 197, 20, 0, 20, 0, 0, 0, 0, 12, 2, 26, 192, 21, 0, 0, 0, 0, 10, 160, 0, - 0, 2, 27, 192, 0, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 28, 192, 4, 0, 20, 0, 0, 0, 0, 48, 2, 88, - 197, 21, 0, 0, 0, 0, 69, 80, 0, 0, 2, 89, 197, 0, 21, 0, 0, 0, 0, 69, 80, 0, 0, 2, 90, 197, 8, - 21, 0, 0, 0, 0, 29, 75, 0, 0, 2, 91, 197, 16, 21, 0, 0, 0, 0, 29, 75, 0, 0, 2, 92, 197, 24, 21, - 0, 0, 0, 0, 136, 68, 0, 0, 2, 93, 197, 32, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 94, 197, 40, 0, 20, - 0, 0, 0, 0, 32, 2, 97, 197, 21, 0, 0, 0, 0, 69, 80, 0, 0, 2, 98, 197, 0, 21, 0, 0, 0, 0, 197, - 0, 0, 0, 2, 99, 197, 8, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 100, 197, 16, 21, 0, 0, 0, 0, 0, 1, 0, - 0, 2, 101, 197, 20, 21, 0, 0, 0, 0, 214, 48, 0, 0, 2, 102, 197, 24, 21, 0, 0, 0, 0, 214, 48, 0, - 0, 2, 103, 197, 26, 0, 20, 0, 0, 0, 0, 40, 2, 106, 197, 21, 0, 0, 0, 0, 69, 80, 0, 0, 2, 107, - 197, 0, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 108, 197, 8, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 109, 197, - 12, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 110, 197, 16, 21, 0, 0, 0, 0, 14, 29, 0, 0, 2, 111, 197, - 24, 21, 0, 0, 0, 0, 30, 106, 1, 0, 2, 112, 197, 32, 0, 9, 35, 106, 1, 0, 27, 0, 0, 0, 0, 0, 1, - 2, 186, 186, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 187, 186, 0, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 188, - 186, 4, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 189, 186, 8, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 190, 186, - 16, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 191, 186, 20, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 192, 186, 24, - 21, 0, 0, 0, 0, 214, 48, 0, 0, 2, 193, 186, 28, 21, 0, 0, 0, 0, 89, 107, 1, 0, 2, 194, 186, 30, - 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 195, 186, 32, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 196, 186, 40, - 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 197, 186, 48, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 198, 186, 56, - 21, 0, 0, 0, 0, 101, 107, 1, 0, 2, 199, 186, 64, 21, 0, 0, 0, 0, 101, 107, 1, 0, 2, 200, 186, - 80, 21, 0, 0, 0, 0, 101, 107, 1, 0, 2, 201, 186, 96, 21, 0, 0, 0, 0, 101, 107, 1, 0, 2, 202, - 186, 112, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 203, 186, 128, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 204, - 186, 132, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 205, 186, 136, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 206, - 186, 140, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 207, 186, 144, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 208, - 186, 152, 21, 0, 0, 0, 0, 150, 107, 1, 0, 2, 209, 186, 160, 0, 3, 214, 48, 0, 0, 4, 82, 0, 0, - 0, 1, 0, 20, 0, 0, 0, 0, 16, 2, 180, 186, 21, 0, 0, 0, 0, 122, 97, 0, 0, 2, 181, 186, 0, 21, 0, - 0, 0, 0, 0, 1, 0, 0, 2, 182, 186, 8, 21, 0, 0, 0, 0, 112, 103, 0, 0, 2, 183, 186, 12, 0, 3, - 197, 0, 0, 0, 4, 82, 0, 0, 0, 12, 0, 20, 0, 0, 0, 0, 16, 2, 115, 197, 21, 0, 0, 0, 0, 69, 80, - 0, 0, 2, 116, 197, 0, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 117, 197, 8, 0, 20, 0, 0, 0, 0, 40, 2, - 120, 197, 21, 0, 0, 0, 0, 69, 80, 0, 0, 2, 121, 197, 0, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 122, - 197, 8, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 123, 197, 12, 21, 0, 0, 0, 0, 129, 78, 0, 0, 2, 124, - 197, 16, 21, 0, 0, 0, 0, 129, 78, 0, 0, 2, 125, 197, 24, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 126, - 197, 32, 0, 20, 0, 0, 0, 0, 24, 2, 129, 197, 21, 0, 0, 0, 0, 69, 80, 0, 0, 2, 130, 197, 0, 21, - 0, 0, 0, 0, 168, 0, 0, 0, 2, 131, 197, 8, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 132, 197, 12, 21, 0, - 0, 0, 0, 129, 78, 0, 0, 2, 133, 197, 16, 0, 20, 0, 0, 0, 0, 24, 2, 136, 197, 21, 0, 0, 0, 0, - 69, 80, 0, 0, 2, 137, 197, 0, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 138, 197, 8, 21, 0, 0, 0, 0, - 213, 63, 0, 0, 2, 139, 197, 12, 21, 0, 0, 0, 0, 129, 78, 0, 0, 2, 140, 197, 16, 0, 20, 0, 0, 0, - 0, 32, 2, 143, 197, 21, 0, 0, 0, 0, 69, 80, 0, 0, 2, 144, 197, 0, 21, 0, 0, 0, 0, 168, 0, 0, 0, - 2, 145, 197, 8, 21, 0, 0, 0, 0, 129, 78, 0, 0, 2, 146, 197, 16, 21, 0, 0, 0, 0, 129, 78, 0, 0, - 2, 147, 197, 24, 0, 20, 0, 0, 0, 0, 40, 2, 150, 197, 21, 0, 0, 0, 0, 69, 80, 0, 0, 2, 151, 197, - 0, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 152, 197, 8, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 153, 197, 12, - 21, 0, 0, 0, 0, 129, 78, 0, 0, 2, 154, 197, 16, 21, 0, 0, 0, 0, 129, 78, 0, 0, 2, 155, 197, 24, - 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 156, 197, 32, 0, 20, 0, 0, 0, 0, 16, 2, 159, 197, 21, 0, 0, 0, - 0, 69, 80, 0, 0, 2, 160, 197, 0, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 161, 197, 8, 0, 20, 0, 0, 0, - 0, 16, 2, 166, 197, 22, 102, 109, 1, 0, 2, 167, 197, 0, 23, 8, 2, 167, 197, 21, 0, 0, 0, 0, - 148, 109, 1, 0, 2, 168, 197, 0, 21, 0, 0, 0, 0, 133, 81, 0, 0, 2, 169, 197, 0, 0, 21, 0, 0, 0, - 0, 176, 109, 1, 0, 2, 171, 197, 8, 0, 20, 0, 0, 0, 0, 8, 2, 47, 194, 21, 0, 0, 0, 0, 171, 109, - 1, 0, 2, 48, 194, 0, 0, 9, 148, 109, 1, 0, 33, 188, 109, 1, 0, 0, 0, 0, 0, 2, 164, 197, 9, 193, - 109, 1, 0, 32, 14, 113, 96, 1, 0, 14, 174, 225, 0, 0, 0, 9, 210, 109, 1, 0, 20, 0, 0, 0, 0, 72, - 2, 51, 198, 21, 0, 0, 0, 0, 22, 99, 1, 0, 2, 52, 198, 0, 21, 0, 0, 0, 0, 246, 109, 1, 0, 2, 53, - 198, 64, 0, 9, 22, 99, 1, 0, 20, 0, 0, 0, 0, 16, 2, 51, 194, 21, 0, 0, 0, 0, 148, 109, 1, 0, 2, - 52, 194, 0, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 53, 194, 8, 0, 3, 255, 0, 0, 0, 4, 82, 0, 0, 0, 32, - 0, 3, 113, 96, 1, 0, 4, 82, 0, 0, 0, 32, 0, 9, 60, 110, 1, 0, 20, 0, 0, 0, 0, 144, 2, 203, 196, - 21, 0, 0, 0, 0, 141, 64, 0, 0, 2, 204, 196, 0, 21, 0, 0, 0, 0, 176, 64, 0, 0, 2, 205, 196, 4, - 21, 0, 0, 0, 0, 241, 106, 0, 0, 2, 206, 196, 8, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 207, 196, 40, - 21, 0, 0, 0, 0, 130, 120, 0, 0, 2, 208, 196, 56, 21, 0, 0, 0, 0, 59, 107, 0, 0, 2, 209, 196, - 64, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 210, 196, 88, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 211, 196, - 92, 21, 0, 0, 0, 0, 45, 77, 1, 0, 2, 212, 196, 96, 21, 0, 0, 0, 0, 45, 77, 1, 0, 2, 213, 196, - 100, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 214, 196, 104, 21, 0, 0, 0, 0, 43, 167, 0, 0, 2, 215, - 196, 112, 0, 9, 190, 103, 0, 0, 20, 0, 0, 0, 0, 24, 2, 66, 196, 21, 0, 0, 0, 0, 148, 159, 0, 0, - 2, 67, 196, 0, 21, 0, 0, 0, 0, 148, 159, 0, 0, 2, 68, 196, 8, 21, 0, 0, 0, 0, 118, 55, 0, 0, 2, - 69, 196, 16, 21, 0, 0, 0, 0, 118, 55, 0, 0, 2, 70, 196, 17, 21, 0, 0, 0, 0, 219, 52, 0, 0, 2, - 71, 196, 18, 0, 20, 0, 0, 0, 0, 8, 2, 175, 2, 21, 0, 0, 0, 0, 156, 81, 0, 0, 2, 176, 2, 0, 0, - 9, 78, 111, 1, 0, 20, 0, 0, 0, 0, 128, 2, 64, 47, 21, 0, 0, 0, 0, 179, 111, 1, 0, 2, 65, 47, 0, - 21, 0, 0, 0, 0, 37, 65, 0, 0, 2, 66, 47, 4, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 67, 47, 8, 21, 0, - 0, 0, 0, 69, 80, 0, 0, 2, 68, 47, 16, 21, 0, 0, 0, 0, 140, 40, 0, 0, 2, 69, 47, 24, 21, 0, 0, - 0, 0, 231, 111, 1, 0, 2, 70, 47, 32, 21, 0, 0, 0, 0, 20, 116, 1, 0, 2, 74, 47, 64, 0, 33, 191, - 111, 1, 0, 0, 0, 0, 0, 2, 52, 47, 25, 11, 1, 0, 0, 4, 2, 46, 47, 18, 0, 0, 0, 0, 0, 18, 0, 0, - 0, 0, 1, 18, 0, 0, 0, 0, 2, 18, 0, 0, 0, 0, 3, 18, 0, 0, 0, 0, 4, 0, 9, 236, 111, 1, 0, 26, - 241, 111, 1, 0, 20, 0, 0, 0, 0, 224, 2, 79, 47, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 80, 47, 0, 21, - 0, 0, 0, 0, 111, 83, 0, 0, 2, 81, 47, 8, 21, 0, 0, 0, 0, 103, 113, 1, 0, 2, 82, 47, 16, 21, 0, - 0, 0, 0, 119, 113, 1, 0, 2, 83, 47, 24, 21, 0, 0, 0, 0, 145, 113, 1, 0, 2, 84, 47, 32, 21, 0, - 0, 0, 0, 176, 113, 1, 0, 2, 85, 47, 40, 21, 0, 0, 0, 0, 197, 113, 1, 0, 2, 86, 47, 48, 21, 0, - 0, 0, 0, 119, 113, 1, 0, 2, 87, 47, 56, 21, 0, 0, 0, 0, 228, 113, 1, 0, 2, 88, 47, 64, 21, 0, - 0, 0, 0, 254, 113, 1, 0, 2, 89, 47, 72, 21, 0, 0, 0, 0, 254, 113, 1, 0, 2, 90, 47, 80, 21, 0, - 0, 0, 0, 24, 114, 1, 0, 2, 91, 47, 88, 21, 0, 0, 0, 0, 55, 114, 1, 0, 2, 92, 47, 96, 21, 0, 0, - 0, 0, 55, 114, 1, 0, 2, 93, 47, 104, 21, 0, 0, 0, 0, 76, 114, 1, 0, 2, 94, 47, 112, 21, 0, 0, - 0, 0, 112, 114, 1, 0, 2, 95, 47, 120, 21, 0, 0, 0, 0, 148, 114, 1, 0, 2, 96, 47, 128, 21, 0, 0, - 0, 0, 165, 114, 1, 0, 2, 97, 47, 136, 21, 0, 0, 0, 0, 191, 114, 1, 0, 2, 98, 47, 144, 21, 0, 0, - 0, 0, 222, 114, 1, 0, 2, 99, 47, 152, 21, 0, 0, 0, 0, 248, 114, 1, 0, 2, 100, 47, 160, 21, 0, - 0, 0, 0, 28, 115, 1, 0, 2, 101, 47, 168, 21, 0, 0, 0, 0, 162, 52, 0, 0, 2, 102, 47, 176, 21, 0, - 0, 0, 0, 103, 113, 1, 0, 2, 103, 47, 184, 21, 0, 0, 0, 0, 64, 115, 1, 0, 2, 104, 47, 192, 21, - 0, 0, 0, 0, 240, 115, 1, 0, 2, 105, 47, 200, 21, 0, 0, 0, 0, 230, 53, 0, 0, 2, 106, 47, 208, - 21, 0, 0, 0, 0, 162, 52, 0, 0, 2, 107, 47, 216, 0, 9, 108, 113, 1, 0, 13, 168, 0, 0, 0, 14, 73, - 111, 1, 0, 0, 9, 124, 113, 1, 0, 13, 168, 0, 0, 0, 14, 73, 111, 1, 0, 14, 85, 52, 0, 0, 14, - 168, 0, 0, 0, 0, 9, 150, 113, 1, 0, 13, 168, 0, 0, 0, 14, 73, 111, 1, 0, 14, 85, 52, 0, 0, 14, - 168, 0, 0, 0, 14, 168, 0, 0, 0, 0, 9, 181, 113, 1, 0, 13, 168, 0, 0, 0, 14, 73, 111, 1, 0, 14, - 73, 111, 1, 0, 0, 9, 202, 113, 1, 0, 13, 168, 0, 0, 0, 14, 73, 111, 1, 0, 14, 73, 111, 1, 0, - 14, 168, 0, 0, 0, 14, 219, 52, 0, 0, 0, 9, 233, 113, 1, 0, 13, 10, 160, 0, 0, 14, 69, 80, 0, 0, - 14, 73, 111, 1, 0, 14, 21, 160, 0, 0, 0, 9, 3, 114, 1, 0, 13, 168, 0, 0, 0, 14, 73, 111, 1, 0, - 14, 11, 1, 0, 0, 14, 127, 29, 0, 0, 0, 9, 29, 114, 1, 0, 13, 168, 0, 0, 0, 14, 73, 111, 1, 0, - 14, 255, 0, 0, 0, 14, 219, 52, 0, 0, 14, 219, 52, 0, 0, 0, 9, 60, 114, 1, 0, 13, 168, 0, 0, 0, - 14, 73, 111, 1, 0, 14, 168, 0, 0, 0, 0, 9, 81, 114, 1, 0, 13, 168, 0, 0, 0, 14, 73, 111, 1, 0, - 14, 168, 0, 0, 0, 14, 168, 0, 0, 0, 14, 88, 53, 0, 0, 14, 11, 1, 0, 0, 0, 9, 117, 114, 1, 0, - 13, 168, 0, 0, 0, 14, 73, 111, 1, 0, 14, 168, 0, 0, 0, 14, 168, 0, 0, 0, 14, 199, 53, 0, 0, 14, - 214, 52, 0, 0, 0, 9, 153, 114, 1, 0, 32, 14, 71, 114, 0, 0, 14, 73, 111, 1, 0, 0, 9, 170, 114, - 1, 0, 13, 168, 0, 0, 0, 14, 73, 111, 1, 0, 14, 0, 54, 0, 0, 14, 140, 55, 0, 0, 0, 9, 196, 114, - 1, 0, 13, 168, 0, 0, 0, 14, 73, 111, 1, 0, 14, 0, 54, 0, 0, 14, 140, 55, 0, 0, 14, 168, 0, 0, - 0, 0, 9, 227, 114, 1, 0, 13, 168, 0, 0, 0, 14, 69, 80, 0, 0, 14, 73, 111, 1, 0, 14, 66, 92, 0, - 0, 0, 9, 253, 114, 1, 0, 13, 136, 90, 0, 0, 14, 73, 111, 1, 0, 14, 68, 56, 0, 0, 14, 168, 0, 0, - 0, 14, 140, 55, 0, 0, 14, 168, 0, 0, 0, 0, 9, 33, 115, 1, 0, 13, 136, 90, 0, 0, 14, 73, 111, 1, - 0, 14, 79, 115, 0, 0, 14, 209, 105, 0, 0, 14, 140, 55, 0, 0, 14, 11, 1, 0, 0, 0, 9, 69, 115, 1, - 0, 13, 168, 0, 0, 0, 14, 140, 40, 0, 0, 14, 90, 115, 1, 0, 14, 197, 115, 1, 0, 0, 9, 95, 115, - 1, 0, 33, 107, 115, 1, 0, 0, 0, 0, 0, 2, 32, 37, 24, 32, 2, 24, 37, 21, 0, 0, 0, 0, 140, 55, 0, - 0, 2, 25, 37, 0, 21, 0, 0, 0, 0, 140, 55, 0, 0, 2, 26, 37, 8, 21, 0, 0, 0, 0, 151, 115, 1, 0, - 2, 30, 37, 16, 23, 8, 2, 27, 37, 21, 0, 0, 0, 0, 199, 53, 0, 0, 2, 28, 37, 0, 21, 0, 0, 0, 0, - 255, 0, 0, 0, 2, 29, 37, 0, 0, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 31, 37, 24, 0, 33, 209, 115, 1, - 0, 0, 0, 0, 0, 2, 77, 47, 9, 214, 115, 1, 0, 13, 168, 0, 0, 0, 14, 90, 115, 1, 0, 14, 94, 34, - 0, 0, 14, 11, 1, 0, 0, 14, 140, 55, 0, 0, 0, 9, 245, 115, 1, 0, 13, 168, 0, 0, 0, 14, 140, 40, - 0, 0, 14, 68, 56, 0, 0, 14, 168, 0, 0, 0, 14, 140, 55, 0, 0, 14, 168, 0, 0, 0, 0, 20, 0, 0, 0, - 0, 64, 2, 54, 47, 21, 0, 0, 0, 0, 47, 107, 0, 0, 2, 55, 47, 0, 21, 0, 0, 0, 0, 95, 107, 0, 0, - 2, 56, 47, 24, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 57, 47, 32, 21, 0, 0, 0, 0, 65, 29, 0, 0, 2, - 58, 47, 40, 0, 9, 87, 116, 1, 0, 20, 0, 0, 0, 0, 40, 2, 190, 195, 21, 0, 0, 0, 0, 141, 64, 0, - 0, 2, 191, 195, 0, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 192, 195, 8, 21, 0, 0, 0, 0, 59, 107, 0, - 0, 2, 193, 195, 16, 0, 3, 125, 68, 0, 0, 4, 82, 0, 0, 0, 2, 0, 9, 153, 116, 1, 0, 45, 0, 0, 0, - 0, 20, 0, 0, 0, 0, 16, 2, 197, 193, 21, 0, 0, 0, 0, 171, 109, 1, 0, 2, 198, 193, 0, 21, 0, 0, - 0, 0, 171, 109, 1, 0, 2, 199, 193, 8, 0, 9, 199, 116, 1, 0, 20, 0, 0, 0, 0, 72, 2, 136, 22, 21, - 0, 0, 0, 0, 176, 64, 0, 0, 2, 137, 22, 0, 21, 0, 0, 0, 0, 70, 117, 1, 0, 2, 138, 22, 8, 21, 0, - 0, 0, 0, 244, 117, 1, 0, 2, 139, 22, 16, 21, 0, 0, 0, 0, 5, 122, 1, 0, 2, 140, 22, 24, 21, 0, - 0, 0, 0, 246, 77, 1, 0, 2, 141, 22, 32, 21, 0, 0, 0, 0, 115, 125, 1, 0, 2, 142, 22, 40, 21, 0, - 0, 0, 0, 175, 232, 1, 0, 2, 143, 22, 48, 21, 0, 0, 0, 0, 175, 232, 1, 0, 2, 144, 22, 56, 21, 0, - 0, 0, 0, 48, 233, 1, 0, 2, 145, 22, 64, 0, 9, 75, 117, 1, 0, 27, 0, 0, 0, 0, 176, 1, 2, 32, 29, - 21, 0, 0, 0, 0, 141, 117, 1, 0, 2, 33, 29, 0, 28, 0, 0, 0, 0, 3, 118, 0, 0, 2, 34, 29, 136, 1, - 28, 0, 0, 0, 0, 125, 81, 1, 0, 2, 35, 29, 144, 1, 28, 0, 0, 0, 0, 179, 119, 0, 0, 2, 36, 29, - 152, 1, 0, 27, 0, 0, 0, 0, 134, 1, 2, 23, 29, 21, 0, 0, 0, 0, 232, 117, 1, 0, 2, 24, 29, 0, 21, - 0, 0, 0, 0, 232, 117, 1, 0, 2, 25, 29, 65, 21, 0, 0, 0, 0, 232, 117, 1, 0, 2, 26, 29, 130, 21, - 0, 0, 0, 0, 232, 117, 1, 0, 2, 27, 29, 195, 28, 0, 0, 0, 0, 232, 117, 1, 0, 2, 28, 29, 4, 1, - 28, 0, 0, 0, 0, 232, 117, 1, 0, 2, 29, 29, 69, 1, 0, 3, 75, 0, 0, 0, 4, 82, 0, 0, 0, 65, 0, 9, - 249, 117, 1, 0, 27, 0, 0, 0, 0, 80, 3, 2, 91, 115, 21, 0, 0, 0, 0, 97, 119, 1, 0, 2, 92, 115, - 0, 28, 0, 0, 0, 0, 156, 0, 0, 0, 2, 93, 115, 160, 2, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 94, 115, - 176, 2, 28, 0, 0, 0, 0, 11, 1, 0, 0, 2, 95, 115, 180, 2, 28, 0, 0, 0, 0, 11, 1, 0, 0, 2, 96, - 115, 184, 2, 28, 0, 0, 0, 0, 11, 1, 0, 0, 2, 97, 115, 188, 2, 28, 0, 0, 0, 0, 176, 64, 0, 0, 2, - 98, 115, 192, 2, 28, 0, 0, 0, 0, 176, 64, 0, 0, 2, 99, 115, 196, 2, 28, 0, 0, 0, 0, 140, 55, 0, - 0, 2, 100, 115, 200, 2, 28, 0, 0, 0, 0, 140, 55, 0, 0, 2, 101, 115, 208, 2, 28, 0, 0, 0, 0, - 127, 29, 0, 0, 2, 102, 115, 216, 2, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 103, 115, 224, 2, 28, 0, - 0, 0, 0, 168, 0, 0, 0, 2, 104, 115, 228, 2, 28, 0, 0, 0, 0, 131, 191, 0, 0, 2, 105, 115, 232, - 2, 28, 0, 0, 0, 0, 66, 71, 0, 0, 2, 106, 115, 0, 3, 28, 0, 0, 0, 0, 11, 1, 0, 0, 2, 107, 115, - 8, 3, 28, 0, 0, 0, 0, 11, 1, 0, 0, 2, 108, 115, 12, 3, 28, 0, 0, 0, 0, 11, 1, 0, 0, 2, 109, - 115, 16, 3, 28, 0, 0, 0, 0, 11, 1, 0, 0, 2, 110, 115, 20, 3, 28, 0, 0, 0, 0, 11, 1, 0, 0, 2, - 111, 115, 24, 3, 28, 0, 0, 0, 0, 11, 1, 0, 0, 2, 112, 115, 28, 3, 28, 0, 0, 0, 0, 3, 118, 0, 0, - 2, 113, 115, 32, 3, 28, 0, 0, 0, 0, 125, 81, 1, 0, 2, 114, 115, 40, 3, 28, 0, 0, 0, 0, 133, 81, - 0, 0, 2, 115, 115, 48, 3, 28, 0, 0, 0, 0, 179, 119, 0, 0, 2, 116, 115, 56, 3, 0, 3, 109, 119, - 1, 0, 4, 82, 0, 0, 0, 3, 0, 20, 0, 0, 0, 0, 224, 2, 80, 115, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, - 81, 115, 0, 21, 0, 0, 0, 0, 225, 48, 0, 0, 2, 82, 115, 4, 21, 0, 0, 0, 0, 133, 97, 0, 0, 2, 83, - 115, 8, 21, 0, 0, 0, 0, 166, 152, 0, 0, 2, 84, 115, 48, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 85, - 115, 72, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 86, 115, 76, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 87, - 115, 80, 21, 0, 0, 0, 0, 223, 119, 1, 0, 2, 88, 115, 88, 0, 20, 0, 0, 0, 0, 136, 2, 18, 36, 21, - 0, 0, 0, 0, 94, 120, 1, 0, 2, 19, 36, 0, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 20, 36, 8, 21, 0, 0, - 0, 0, 11, 1, 0, 0, 2, 21, 36, 12, 21, 0, 0, 0, 0, 248, 120, 1, 0, 2, 22, 36, 16, 21, 0, 0, 0, - 0, 219, 52, 0, 0, 2, 23, 36, 56, 21, 0, 0, 0, 0, 156, 163, 0, 0, 2, 24, 36, 64, 21, 0, 0, 0, 0, - 241, 106, 0, 0, 2, 25, 36, 96, 21, 0, 0, 0, 0, 248, 68, 0, 0, 2, 26, 36, 128, 21, 0, 0, 0, 0, - 176, 64, 0, 0, 2, 27, 36, 132, 0, 9, 99, 120, 1, 0, 20, 0, 0, 0, 0, 64, 2, 88, 155, 21, 0, 0, - 0, 0, 11, 1, 0, 0, 2, 89, 155, 0, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 90, 155, 4, 21, 0, 0, 0, 0, - 125, 68, 0, 0, 2, 91, 155, 8, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 92, 155, 16, 21, 0, 0, 0, 0, - 65, 29, 0, 0, 2, 93, 155, 32, 21, 0, 0, 0, 0, 94, 120, 1, 0, 2, 94, 155, 48, 21, 0, 0, 0, 0, - 213, 120, 1, 0, 2, 95, 155, 56, 21, 0, 0, 0, 0, 222, 120, 1, 0, 2, 97, 155, 64, 0, 46, 0, 0, 0, - 0, 0, 2, 3, 16, 3, 234, 120, 1, 0, 4, 82, 0, 0, 0, 0, 0, 9, 239, 120, 1, 0, 46, 0, 0, 0, 0, 0, - 2, 134, 155, 20, 0, 0, 0, 0, 40, 2, 3, 36, 21, 0, 0, 0, 0, 177, 69, 0, 0, 2, 4, 36, 0, 21, 0, - 0, 0, 0, 177, 69, 0, 0, 2, 5, 36, 2, 21, 0, 0, 0, 0, 177, 69, 0, 0, 2, 6, 36, 4, 21, 0, 0, 0, - 0, 177, 69, 0, 0, 2, 7, 36, 6, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 8, 36, 8, 21, 0, 0, 0, 0, 177, - 69, 0, 0, 2, 9, 36, 12, 21, 0, 0, 0, 0, 219, 52, 0, 0, 2, 10, 36, 14, 21, 0, 0, 0, 0, 132, 121, - 1, 0, 2, 11, 36, 16, 21, 0, 0, 0, 0, 170, 121, 1, 0, 2, 12, 36, 24, 21, 0, 0, 0, 0, 182, 121, - 1, 0, 2, 13, 36, 32, 0, 33, 144, 121, 1, 0, 0, 0, 0, 0, 2, 253, 35, 9, 149, 121, 1, 0, 13, 125, - 68, 0, 0, 14, 56, 1, 0, 0, 14, 125, 68, 0, 0, 14, 125, 68, 0, 0, 0, 33, 144, 121, 1, 0, 0, 0, - 0, 0, 2, 255, 35, 33, 194, 121, 1, 0, 0, 0, 0, 0, 2, 1, 36, 9, 199, 121, 1, 0, 13, 168, 0, 0, - 0, 14, 215, 121, 1, 0, 14, 56, 1, 0, 0, 0, 9, 220, 121, 1, 0, 20, 0, 0, 0, 0, 16, 2, 248, 35, - 21, 0, 0, 0, 0, 0, 122, 1, 0, 2, 249, 35, 0, 21, 0, 0, 0, 0, 56, 1, 0, 0, 2, 250, 35, 8, 0, 9, - 223, 119, 1, 0, 9, 10, 122, 1, 0, 20, 0, 0, 0, 0, 120, 2, 214, 186, 21, 0, 0, 0, 0, 179, 119, - 0, 0, 2, 215, 186, 0, 21, 0, 0, 0, 0, 163, 122, 1, 0, 2, 216, 186, 24, 21, 0, 0, 0, 0, 227, 28, - 0, 0, 2, 217, 186, 32, 21, 0, 0, 0, 0, 248, 68, 0, 0, 2, 218, 186, 48, 21, 0, 0, 0, 0, 3, 118, - 0, 0, 2, 219, 186, 56, 21, 0, 0, 0, 0, 125, 81, 1, 0, 2, 220, 186, 64, 21, 0, 0, 0, 0, 136, 68, - 0, 0, 2, 221, 186, 72, 21, 0, 0, 0, 0, 47, 107, 0, 0, 2, 222, 186, 80, 21, 0, 0, 0, 0, 136, 68, - 0, 0, 2, 223, 186, 104, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 224, 186, 112, 21, 0, 0, 0, 0, 11, 1, - 0, 0, 2, 225, 186, 116, 0, 9, 168, 122, 1, 0, 27, 0, 0, 0, 0, 64, 1, 2, 11, 187, 21, 0, 0, 0, - 0, 184, 28, 0, 0, 2, 12, 187, 0, 21, 0, 0, 0, 0, 163, 122, 1, 0, 2, 13, 187, 16, 21, 0, 0, 0, - 0, 133, 66, 0, 0, 2, 14, 187, 24, 21, 0, 0, 0, 0, 71, 71, 0, 0, 2, 15, 187, 32, 22, 239, 122, - 1, 0, 2, 16, 187, 64, 23, 16, 2, 16, 187, 21, 0, 0, 0, 0, 65, 29, 0, 0, 2, 17, 187, 0, 21, 0, - 0, 0, 0, 133, 81, 0, 0, 2, 18, 187, 0, 0, 21, 0, 0, 0, 0, 82, 124, 1, 0, 2, 20, 187, 80, 21, 0, - 0, 0, 0, 227, 28, 0, 0, 2, 21, 187, 88, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 22, 187, 104, 21, 0, - 0, 0, 0, 227, 28, 0, 0, 2, 23, 187, 120, 21, 0, 0, 0, 0, 14, 29, 0, 0, 2, 24, 187, 136, 21, 0, - 0, 0, 0, 227, 28, 0, 0, 2, 25, 187, 144, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 26, 187, 160, 21, 0, - 0, 0, 0, 227, 28, 0, 0, 2, 27, 187, 176, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 28, 187, 192, 21, 0, - 0, 0, 0, 227, 28, 0, 0, 2, 29, 187, 208, 21, 0, 0, 0, 0, 163, 122, 1, 0, 2, 30, 187, 224, 21, - 0, 0, 0, 0, 5, 122, 1, 0, 2, 31, 187, 232, 21, 0, 0, 0, 0, 123, 124, 1, 0, 2, 32, 187, 240, 22, - 193, 123, 1, 0, 2, 33, 187, 248, 23, 16, 2, 33, 187, 21, 0, 0, 0, 0, 184, 28, 0, 0, 2, 34, 187, - 0, 21, 0, 0, 0, 0, 184, 28, 0, 0, 2, 35, 187, 0, 0, 28, 0, 0, 0, 0, 227, 28, 0, 0, 2, 37, 187, - 8, 1, 28, 0, 0, 0, 0, 190, 124, 1, 0, 2, 38, 187, 24, 1, 28, 0, 0, 0, 0, 0, 1, 0, 0, 2, 39, - 187, 32, 1, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 40, 187, 36, 1, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, - 41, 187, 40, 1, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 42, 187, 44, 1, 28, 0, 0, 0, 0, 190, 103, 0, - 0, 2, 43, 187, 48, 1, 28, 0, 0, 0, 0, 190, 103, 0, 0, 2, 44, 187, 56, 1, 0, 9, 87, 124, 1, 0, - 20, 0, 0, 0, 0, 8, 2, 47, 187, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 48, 187, 0, 21, 0, 0, 0, 0, - 168, 0, 0, 0, 2, 49, 187, 4, 0, 9, 128, 124, 1, 0, 20, 0, 0, 0, 0, 40, 2, 52, 187, 21, 0, 0, 0, - 0, 184, 28, 0, 0, 2, 53, 187, 0, 21, 0, 0, 0, 0, 133, 66, 0, 0, 2, 54, 187, 16, 21, 0, 0, 0, 0, - 190, 103, 0, 0, 2, 55, 187, 24, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 56, 187, 32, 0, 9, 195, 124, - 1, 0, 20, 0, 0, 0, 0, 32, 2, 239, 140, 21, 0, 0, 0, 0, 248, 68, 0, 0, 2, 240, 140, 0, 21, 0, 0, - 0, 0, 225, 48, 0, 0, 2, 241, 140, 4, 21, 0, 0, 0, 0, 225, 48, 0, 0, 2, 242, 140, 6, 21, 0, 0, - 0, 0, 55, 125, 1, 0, 2, 243, 140, 8, 22, 9, 125, 1, 0, 2, 244, 140, 16, 23, 8, 2, 244, 140, 21, - 0, 0, 0, 0, 98, 125, 1, 0, 2, 245, 140, 0, 21, 0, 0, 0, 0, 190, 124, 1, 0, 2, 246, 140, 0, 0, - 21, 0, 0, 0, 0, 190, 103, 0, 0, 2, 248, 140, 24, 0, 33, 67, 125, 1, 0, 0, 0, 0, 0, 2, 211, 89, - 24, 8, 2, 209, 89, 21, 0, 0, 0, 0, 86, 125, 1, 0, 2, 210, 89, 0, 0, 3, 168, 0, 0, 0, 4, 82, 0, - 0, 0, 2, 0, 9, 103, 125, 1, 0, 33, 190, 124, 1, 0, 0, 0, 0, 0, 2, 237, 140, 9, 120, 125, 1, 0, - 27, 0, 0, 0, 0, 192, 16, 2, 103, 40, 21, 0, 0, 0, 0, 141, 64, 0, 0, 2, 104, 40, 0, 21, 0, 0, 0, - 0, 248, 68, 0, 0, 2, 105, 40, 4, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 106, 40, 8, 21, 0, 0, 0, 0, - 11, 1, 0, 0, 2, 107, 40, 12, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 108, 40, 16, 21, 0, 0, 0, 0, 248, - 68, 0, 0, 2, 109, 40, 20, 21, 0, 0, 0, 0, 176, 64, 0, 0, 2, 110, 40, 24, 21, 0, 0, 0, 0, 227, - 28, 0, 0, 2, 111, 40, 32, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 112, 40, 48, 21, 0, 0, 0, 0, 133, - 81, 0, 0, 2, 113, 40, 64, 21, 0, 0, 0, 0, 159, 117, 0, 0, 2, 114, 40, 72, 21, 0, 0, 0, 0, 3, - 118, 0, 0, 2, 115, 40, 80, 21, 0, 0, 0, 0, 125, 81, 1, 0, 2, 116, 40, 88, 21, 0, 0, 0, 0, 166, - 152, 0, 0, 2, 117, 40, 96, 21, 0, 0, 0, 0, 179, 119, 0, 0, 2, 118, 40, 120, 21, 0, 0, 0, 0, - 227, 28, 0, 0, 2, 119, 40, 144, 21, 0, 0, 0, 0, 144, 231, 0, 0, 2, 120, 40, 160, 21, 0, 0, 0, - 0, 144, 231, 0, 0, 2, 121, 40, 168, 21, 0, 0, 0, 0, 86, 128, 1, 0, 2, 122, 40, 176, 28, 0, 0, - 0, 0, 140, 40, 0, 0, 2, 123, 40, 16, 1, 28, 0, 0, 0, 0, 140, 40, 0, 0, 2, 124, 40, 24, 1, 28, - 0, 0, 0, 0, 10, 131, 1, 0, 2, 125, 40, 32, 1, 28, 0, 0, 0, 0, 226, 110, 1, 0, 2, 126, 40, 40, - 1, 28, 0, 0, 0, 0, 226, 110, 1, 0, 2, 127, 40, 48, 1, 28, 0, 0, 0, 0, 57, 131, 1, 0, 2, 128, - 40, 56, 1, 28, 0, 0, 0, 0, 125, 68, 0, 0, 2, 129, 40, 64, 1, 28, 0, 0, 0, 0, 9, 29, 0, 0, 2, - 130, 40, 72, 1, 28, 0, 0, 0, 0, 227, 28, 0, 0, 2, 131, 40, 80, 1, 28, 0, 0, 0, 0, 80, 131, 1, - 0, 2, 132, 40, 96, 1, 28, 0, 0, 0, 0, 187, 131, 1, 0, 2, 133, 40, 128, 1, 28, 0, 0, 0, 0, 77, - 134, 1, 0, 2, 134, 40, 0, 2, 28, 0, 0, 0, 0, 113, 134, 1, 0, 2, 135, 40, 40, 2, 28, 0, 0, 0, 0, - 149, 134, 1, 0, 2, 136, 40, 56, 2, 28, 0, 0, 0, 0, 224, 134, 1, 0, 2, 137, 40, 128, 2, 28, 0, - 0, 0, 0, 203, 162, 1, 0, 2, 138, 40, 64, 5, 28, 0, 0, 0, 0, 151, 208, 1, 0, 2, 139, 40, 0, 8, - 28, 0, 0, 0, 0, 210, 208, 1, 0, 2, 140, 40, 16, 8, 28, 0, 0, 0, 0, 69, 211, 1, 0, 2, 141, 40, - 56, 9, 28, 0, 0, 0, 0, 82, 214, 1, 0, 2, 142, 40, 72, 10, 28, 0, 0, 0, 0, 37, 227, 1, 0, 2, - 143, 40, 56, 11, 28, 0, 0, 0, 0, 195, 183, 1, 0, 2, 144, 40, 64, 11, 28, 0, 0, 0, 0, 60, 227, - 1, 0, 2, 145, 40, 88, 11, 28, 0, 0, 0, 0, 160, 227, 1, 0, 2, 146, 40, 96, 11, 28, 0, 0, 0, 0, - 245, 227, 1, 0, 2, 151, 40, 192, 11, 28, 0, 0, 0, 0, 136, 68, 0, 0, 2, 152, 40, 0, 15, 28, 0, - 0, 0, 0, 120, 230, 1, 0, 2, 153, 40, 8, 15, 28, 0, 0, 0, 0, 130, 230, 1, 0, 2, 154, 40, 16, 15, - 28, 0, 0, 0, 0, 220, 230, 1, 0, 2, 155, 40, 48, 15, 28, 0, 0, 0, 0, 212, 231, 1, 0, 2, 156, 40, - 208, 15, 28, 0, 0, 0, 0, 248, 231, 1, 0, 2, 157, 40, 248, 15, 28, 0, 0, 0, 0, 140, 40, 0, 0, 2, - 158, 40, 120, 16, 28, 0, 0, 0, 0, 140, 40, 0, 0, 2, 159, 40, 128, 16, 28, 0, 0, 0, 0, 106, 232, - 1, 0, 2, 160, 40, 136, 16, 0, 20, 0, 0, 0, 0, 96, 2, 242, 17, 21, 0, 0, 0, 0, 122, 128, 1, 0, - 2, 243, 17, 0, 21, 0, 0, 0, 0, 143, 128, 1, 0, 2, 244, 17, 8, 0, 9, 127, 128, 1, 0, 13, 168, 0, - 0, 0, 14, 138, 128, 1, 0, 0, 9, 86, 128, 1, 0, 20, 0, 0, 0, 0, 88, 2, 237, 17, 21, 0, 0, 0, 0, - 179, 128, 1, 0, 2, 238, 17, 0, 21, 0, 0, 0, 0, 220, 96, 0, 0, 2, 239, 17, 80, 0, 20, 0, 0, 0, - 0, 80, 2, 218, 17, 22, 197, 128, 1, 0, 2, 219, 17, 0, 23, 24, 2, 219, 17, 22, 211, 128, 1, 0, - 2, 220, 17, 0, 24, 24, 2, 220, 17, 21, 0, 0, 0, 0, 119, 129, 1, 0, 2, 221, 17, 0, 21, 0, 0, 0, - 0, 168, 0, 0, 0, 2, 222, 17, 8, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 223, 17, 12, 21, 0, 0, 0, 0, - 168, 0, 0, 0, 2, 224, 17, 16, 0, 21, 0, 0, 0, 0, 65, 29, 0, 0, 2, 226, 17, 0, 0, 21, 0, 0, 0, - 0, 106, 170, 0, 0, 2, 228, 17, 24, 21, 0, 0, 0, 0, 119, 129, 1, 0, 2, 229, 17, 32, 21, 0, 0, 0, - 0, 84, 130, 1, 0, 2, 230, 17, 40, 21, 0, 0, 0, 0, 138, 128, 1, 0, 2, 231, 17, 48, 21, 0, 0, 0, - 0, 220, 130, 1, 0, 2, 232, 17, 56, 21, 0, 0, 0, 0, 225, 130, 1, 0, 2, 233, 17, 64, 21, 0, 0, 0, - 0, 190, 103, 0, 0, 2, 234, 17, 72, 0, 9, 124, 129, 1, 0, 20, 0, 0, 0, 0, 64, 2, 149, 19, 21, 0, - 0, 0, 0, 14, 29, 0, 0, 2, 150, 19, 0, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 151, 19, 8, 21, 0, 0, 0, - 0, 168, 0, 0, 0, 2, 152, 19, 16, 21, 0, 0, 0, 0, 213, 63, 0, 0, 2, 153, 19, 20, 21, 0, 0, 0, 0, - 119, 129, 1, 0, 2, 154, 19, 24, 21, 0, 0, 0, 0, 251, 129, 1, 0, 2, 155, 19, 32, 21, 0, 0, 0, 0, - 43, 130, 1, 0, 2, 156, 19, 40, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 157, 19, 48, 21, 0, 0, 0, 0, - 255, 0, 0, 0, 2, 158, 19, 56, 0, 9, 0, 130, 1, 0, 33, 12, 130, 1, 0, 0, 0, 0, 0, 2, 145, 19, - 13, 168, 0, 0, 0, 14, 119, 129, 1, 0, 14, 168, 0, 0, 0, 14, 255, 0, 0, 0, 14, 65, 186, 0, 0, - 14, 79, 115, 0, 0, 0, 9, 48, 130, 1, 0, 20, 0, 0, 0, 0, 32, 2, 161, 19, 21, 0, 0, 0, 0, 176, - 64, 0, 0, 2, 162, 19, 0, 21, 0, 0, 0, 0, 47, 107, 0, 0, 2, 163, 19, 8, 0, 9, 89, 130, 1, 0, 20, - 0, 0, 0, 0, 120, 2, 171, 19, 21, 0, 0, 0, 0, 86, 128, 1, 0, 2, 172, 19, 0, 21, 0, 0, 0, 0, 151, - 130, 1, 0, 2, 173, 19, 96, 21, 0, 0, 0, 0, 167, 130, 1, 0, 2, 174, 19, 104, 21, 0, 0, 0, 0, - 199, 130, 1, 0, 2, 175, 19, 112, 0, 9, 156, 130, 1, 0, 13, 138, 128, 1, 0, 14, 84, 130, 1, 0, - 0, 9, 172, 130, 1, 0, 32, 14, 194, 130, 1, 0, 14, 119, 129, 1, 0, 14, 202, 200, 0, 0, 14, 207, - 200, 0, 0, 0, 9, 179, 128, 1, 0, 9, 204, 130, 1, 0, 13, 168, 0, 0, 0, 14, 194, 130, 1, 0, 14, - 119, 129, 1, 0, 0, 9, 143, 128, 1, 0, 9, 230, 130, 1, 0, 20, 0, 0, 0, 0, 32, 2, 166, 19, 21, 0, - 0, 0, 0, 86, 40, 0, 0, 2, 167, 19, 0, 21, 0, 0, 0, 0, 194, 130, 1, 0, 2, 168, 19, 24, 0, 9, 15, - 131, 1, 0, 47, 0, 0, 0, 0, 24, 2, 96, 13, 1, 0, 48, 0, 0, 0, 0, 227, 28, 0, 0, 2, 97, 13, 1, 0, - 0, 48, 0, 0, 0, 0, 140, 40, 0, 0, 2, 98, 13, 1, 0, 16, 0, 20, 0, 0, 0, 0, 8, 2, 187, 34, 21, 0, - 0, 0, 0, 126, 191, 0, 0, 2, 188, 34, 0, 0, 20, 0, 0, 0, 0, 32, 2, 211, 37, 21, 0, 0, 0, 0, 194, - 130, 1, 0, 2, 212, 37, 0, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 213, 37, 8, 21, 0, 0, 0, 0, 214, 52, - 0, 0, 2, 214, 37, 16, 21, 0, 0, 0, 0, 142, 131, 1, 0, 2, 215, 37, 24, 0, 9, 147, 131, 1, 0, 50, - 0, 0, 0, 0, 0, 1, 2, 232, 162, 1, 0, 48, 0, 0, 0, 0, 175, 131, 1, 0, 2, 233, 162, 1, 0, 0, 0, - 3, 168, 0, 0, 0, 4, 82, 0, 0, 0, 64, 0, 20, 0, 0, 0, 0, 128, 2, 240, 37, 21, 0, 0, 0, 0, 149, - 132, 1, 0, 2, 241, 37, 0, 21, 0, 0, 0, 0, 149, 132, 1, 0, 2, 242, 37, 8, 21, 0, 0, 0, 0, 204, - 132, 1, 0, 2, 243, 37, 16, 21, 0, 0, 0, 0, 244, 132, 1, 0, 2, 244, 37, 24, 21, 0, 0, 0, 0, 29, - 133, 1, 0, 2, 245, 37, 32, 21, 0, 0, 0, 0, 29, 133, 1, 0, 2, 246, 37, 40, 21, 0, 0, 0, 0, 69, - 133, 1, 0, 2, 247, 37, 48, 21, 0, 0, 0, 0, 109, 133, 1, 0, 2, 248, 37, 56, 21, 0, 0, 0, 0, 149, - 133, 1, 0, 2, 249, 37, 64, 21, 0, 0, 0, 0, 29, 133, 1, 0, 2, 250, 37, 72, 21, 0, 0, 0, 0, 29, - 133, 1, 0, 2, 251, 37, 80, 21, 0, 0, 0, 0, 194, 133, 1, 0, 2, 252, 37, 88, 21, 0, 0, 0, 0, 234, - 133, 1, 0, 2, 253, 37, 96, 21, 0, 0, 0, 0, 20, 134, 1, 0, 2, 254, 37, 104, 21, 0, 0, 0, 0, 48, - 134, 1, 0, 2, 255, 37, 112, 21, 0, 0, 0, 0, 144, 231, 0, 0, 2, 0, 38, 120, 0, 9, 154, 132, 1, - 0, 27, 0, 0, 0, 0, 40, 1, 2, 164, 45, 21, 0, 0, 0, 0, 192, 132, 1, 0, 2, 165, 45, 0, 28, 0, 0, - 0, 0, 26, 163, 0, 0, 2, 166, 45, 40, 1, 0, 3, 136, 68, 0, 0, 4, 82, 0, 0, 0, 37, 0, 9, 209, - 132, 1, 0, 20, 0, 0, 0, 0, 128, 2, 193, 45, 21, 0, 0, 0, 0, 232, 132, 1, 0, 2, 194, 45, 0, 0, - 3, 127, 29, 0, 0, 4, 82, 0, 0, 0, 16, 0, 9, 249, 132, 1, 0, 27, 0, 0, 0, 0, 240, 3, 2, 201, 45, - 21, 0, 0, 0, 0, 17, 133, 1, 0, 2, 202, 45, 0, 0, 3, 127, 29, 0, 0, 4, 82, 0, 0, 0, 126, 0, 9, - 34, 133, 1, 0, 20, 0, 0, 0, 0, 80, 2, 197, 45, 21, 0, 0, 0, 0, 57, 133, 1, 0, 2, 198, 45, 0, 0, - 3, 127, 29, 0, 0, 4, 82, 0, 0, 0, 10, 0, 9, 74, 133, 1, 0, 20, 0, 0, 0, 0, 232, 2, 205, 45, 21, - 0, 0, 0, 0, 97, 133, 1, 0, 2, 206, 45, 0, 0, 3, 127, 29, 0, 0, 4, 82, 0, 0, 0, 29, 0, 9, 114, - 133, 1, 0, 20, 0, 0, 0, 0, 88, 2, 209, 45, 21, 0, 0, 0, 0, 137, 133, 1, 0, 2, 210, 45, 0, 0, 3, - 127, 29, 0, 0, 4, 82, 0, 0, 0, 11, 0, 9, 154, 133, 1, 0, 50, 0, 0, 0, 0, 72, 1, 2, 204, 225, 1, - 0, 48, 0, 0, 0, 0, 182, 133, 1, 0, 2, 205, 225, 1, 0, 0, 0, 3, 127, 29, 0, 0, 4, 82, 0, 0, 0, - 41, 0, 9, 199, 133, 1, 0, 20, 0, 0, 0, 0, 224, 2, 169, 45, 21, 0, 0, 0, 0, 222, 133, 1, 0, 2, - 170, 45, 0, 0, 3, 127, 29, 0, 0, 4, 82, 0, 0, 0, 28, 0, 9, 239, 133, 1, 0, 27, 0, 0, 0, 0, 0, - 16, 2, 173, 45, 21, 0, 0, 0, 0, 7, 134, 1, 0, 2, 174, 45, 0, 0, 3, 71, 97, 0, 0, 39, 82, 0, 0, - 0, 0, 2, 0, 9, 25, 134, 1, 0, 20, 0, 0, 0, 0, 48, 2, 177, 45, 21, 0, 0, 0, 0, 102, 43, 1, 0, 2, - 178, 45, 0, 0, 9, 53, 134, 1, 0, 27, 0, 0, 0, 0, 0, 16, 2, 185, 45, 21, 0, 0, 0, 0, 7, 134, 1, - 0, 2, 186, 45, 0, 0, 20, 0, 0, 0, 0, 40, 2, 3, 38, 21, 0, 0, 0, 0, 241, 106, 0, 0, 2, 4, 38, 0, - 21, 0, 0, 0, 0, 190, 103, 0, 0, 2, 5, 38, 32, 0, 20, 0, 0, 0, 0, 16, 2, 8, 38, 21, 0, 0, 0, 0, - 168, 0, 0, 0, 2, 9, 38, 0, 21, 0, 0, 0, 0, 194, 130, 1, 0, 2, 10, 38, 8, 0, 20, 0, 0, 0, 0, 72, - 2, 13, 38, 21, 0, 0, 0, 0, 220, 96, 0, 0, 2, 14, 38, 0, 21, 0, 0, 0, 0, 226, 110, 1, 0, 2, 15, - 38, 8, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 16, 38, 16, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 17, 38, - 20, 21, 0, 0, 0, 0, 90, 191, 0, 0, 2, 18, 38, 24, 0, 27, 0, 0, 0, 0, 192, 2, 2, 63, 38, 21, 0, - 0, 0, 0, 68, 142, 1, 0, 2, 64, 38, 0, 21, 0, 0, 0, 0, 194, 130, 1, 0, 2, 65, 38, 80, 21, 0, 0, - 0, 0, 194, 130, 1, 0, 2, 66, 38, 88, 21, 0, 0, 0, 0, 194, 130, 1, 0, 2, 67, 38, 96, 21, 0, 0, - 0, 0, 194, 130, 1, 0, 2, 68, 38, 104, 21, 0, 0, 0, 0, 194, 130, 1, 0, 2, 69, 38, 112, 21, 0, 0, - 0, 0, 8, 144, 1, 0, 2, 70, 38, 120, 21, 0, 0, 0, 0, 8, 144, 1, 0, 2, 71, 38, 128, 21, 0, 0, 0, - 0, 82, 144, 1, 0, 2, 72, 38, 136, 21, 0, 0, 0, 0, 241, 106, 0, 0, 2, 73, 38, 144, 21, 0, 0, 0, - 0, 177, 144, 1, 0, 2, 74, 38, 176, 21, 0, 0, 0, 0, 38, 154, 1, 0, 2, 75, 38, 184, 21, 0, 0, 0, - 0, 38, 154, 1, 0, 2, 76, 38, 192, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 77, 38, 200, 21, 0, 0, 0, 0, - 219, 52, 0, 0, 2, 78, 38, 204, 21, 0, 0, 0, 0, 219, 52, 0, 0, 2, 79, 38, 205, 21, 0, 0, 0, 0, - 219, 52, 0, 0, 2, 80, 38, 206, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 81, 38, 208, 21, 0, 0, 0, 0, - 226, 110, 1, 0, 2, 82, 38, 216, 21, 0, 0, 0, 0, 140, 40, 0, 0, 2, 83, 38, 224, 21, 0, 0, 0, 0, - 131, 154, 1, 0, 2, 84, 38, 232, 21, 0, 0, 0, 0, 140, 40, 0, 0, 2, 85, 38, 240, 21, 0, 0, 0, 0, - 136, 154, 1, 0, 2, 86, 38, 248, 28, 0, 0, 0, 0, 131, 154, 1, 0, 2, 87, 38, 0, 1, 28, 0, 0, 0, - 0, 190, 154, 1, 0, 2, 88, 38, 8, 1, 28, 0, 0, 0, 0, 118, 55, 0, 0, 2, 89, 38, 16, 1, 28, 0, 0, - 0, 0, 118, 55, 0, 0, 2, 90, 38, 17, 1, 28, 0, 0, 0, 0, 118, 55, 0, 0, 2, 91, 38, 18, 1, 28, 0, - 0, 0, 0, 118, 55, 0, 0, 2, 92, 38, 19, 1, 28, 0, 0, 0, 0, 118, 55, 0, 0, 2, 93, 38, 20, 1, 28, - 0, 0, 0, 0, 168, 0, 0, 0, 2, 94, 38, 24, 1, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 95, 38, 28, 1, 28, - 0, 0, 0, 0, 178, 157, 1, 0, 2, 96, 38, 32, 1, 28, 0, 0, 0, 0, 118, 55, 0, 0, 2, 97, 38, 52, 1, - 28, 0, 0, 0, 0, 118, 55, 0, 0, 2, 98, 38, 53, 1, 28, 0, 0, 0, 0, 118, 55, 0, 0, 2, 99, 38, 54, - 1, 28, 0, 0, 0, 0, 118, 55, 0, 0, 2, 100, 38, 55, 1, 28, 0, 0, 0, 0, 118, 55, 0, 0, 2, 101, 38, - 56, 1, 28, 0, 0, 0, 0, 118, 55, 0, 0, 2, 102, 38, 57, 1, 28, 0, 0, 0, 0, 118, 55, 0, 0, 2, 103, - 38, 58, 1, 28, 0, 0, 0, 0, 118, 55, 0, 0, 2, 104, 38, 59, 1, 28, 0, 0, 0, 0, 118, 55, 0, 0, 2, - 105, 38, 60, 1, 28, 0, 0, 0, 0, 118, 55, 0, 0, 2, 106, 38, 61, 1, 28, 0, 0, 0, 0, 118, 55, 0, - 0, 2, 107, 38, 62, 1, 28, 0, 0, 0, 0, 118, 55, 0, 0, 2, 108, 38, 63, 1, 28, 0, 0, 0, 0, 118, - 55, 0, 0, 2, 109, 38, 64, 1, 28, 0, 0, 0, 0, 118, 55, 0, 0, 2, 110, 38, 65, 1, 28, 0, 0, 0, 0, - 118, 55, 0, 0, 2, 111, 38, 66, 1, 28, 0, 0, 0, 0, 118, 55, 0, 0, 2, 112, 38, 67, 1, 28, 0, 0, - 0, 0, 118, 55, 0, 0, 2, 113, 38, 68, 1, 28, 0, 0, 0, 0, 118, 55, 0, 0, 2, 114, 38, 69, 1, 28, - 0, 0, 0, 0, 168, 0, 0, 0, 2, 115, 38, 72, 1, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 116, 38, 76, 1, - 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 117, 38, 80, 1, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 118, 38, 84, - 1, 28, 0, 0, 0, 0, 125, 68, 0, 0, 2, 119, 38, 88, 1, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 120, 38, - 92, 1, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 121, 38, 96, 1, 28, 0, 0, 0, 0, 118, 55, 0, 0, 2, 122, - 38, 100, 1, 28, 0, 0, 0, 0, 118, 55, 0, 0, 2, 123, 38, 101, 1, 28, 0, 0, 0, 0, 118, 55, 0, 0, - 2, 124, 38, 102, 1, 28, 0, 0, 0, 0, 118, 55, 0, 0, 2, 125, 38, 103, 1, 28, 0, 0, 0, 0, 118, 55, - 0, 0, 2, 126, 38, 104, 1, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 127, 38, 108, 1, 28, 0, 0, 0, 0, - 118, 55, 0, 0, 2, 128, 38, 112, 1, 28, 0, 0, 0, 0, 118, 55, 0, 0, 2, 129, 38, 113, 1, 28, 0, 0, - 0, 0, 118, 55, 0, 0, 2, 130, 38, 114, 1, 28, 0, 0, 0, 0, 118, 55, 0, 0, 2, 131, 38, 115, 1, 28, - 0, 0, 0, 0, 168, 0, 0, 0, 2, 132, 38, 116, 1, 28, 0, 0, 0, 0, 11, 1, 0, 0, 2, 133, 38, 120, 1, - 28, 0, 0, 0, 0, 118, 55, 0, 0, 2, 134, 38, 124, 1, 28, 0, 0, 0, 0, 118, 55, 0, 0, 2, 135, 38, - 125, 1, 28, 0, 0, 0, 0, 118, 55, 0, 0, 2, 136, 38, 126, 1, 28, 0, 0, 0, 0, 118, 55, 0, 0, 2, - 137, 38, 127, 1, 28, 0, 0, 0, 0, 118, 55, 0, 0, 2, 138, 38, 128, 1, 28, 0, 0, 0, 0, 118, 55, 0, - 0, 2, 139, 38, 129, 1, 28, 0, 0, 0, 0, 118, 55, 0, 0, 2, 140, 38, 130, 1, 28, 0, 0, 0, 0, 118, - 55, 0, 0, 2, 141, 38, 131, 1, 28, 0, 0, 0, 0, 118, 55, 0, 0, 2, 142, 38, 132, 1, 28, 0, 0, 0, - 0, 118, 55, 0, 0, 2, 143, 38, 133, 1, 28, 0, 0, 0, 0, 118, 55, 0, 0, 2, 144, 38, 134, 1, 28, 0, - 0, 0, 0, 118, 55, 0, 0, 2, 145, 38, 135, 1, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 146, 38, 136, 1, - 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 147, 38, 140, 1, 28, 0, 0, 0, 0, 118, 55, 0, 0, 2, 148, 38, - 144, 1, 28, 0, 0, 0, 0, 118, 55, 0, 0, 2, 149, 38, 145, 1, 28, 0, 0, 0, 0, 118, 55, 0, 0, 2, - 150, 38, 146, 1, 28, 0, 0, 0, 0, 118, 55, 0, 0, 2, 151, 38, 147, 1, 28, 0, 0, 0, 0, 118, 55, 0, - 0, 2, 152, 38, 148, 1, 28, 0, 0, 0, 0, 118, 55, 0, 0, 2, 153, 38, 149, 1, 28, 0, 0, 0, 0, 118, - 55, 0, 0, 2, 154, 38, 150, 1, 28, 0, 0, 0, 0, 118, 55, 0, 0, 2, 155, 38, 151, 1, 28, 0, 0, 0, - 0, 168, 0, 0, 0, 2, 156, 38, 152, 1, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 157, 38, 156, 1, 28, 0, - 0, 0, 0, 168, 0, 0, 0, 2, 158, 38, 160, 1, 28, 0, 0, 0, 0, 118, 55, 0, 0, 2, 159, 38, 164, 1, - 28, 0, 0, 0, 0, 118, 55, 0, 0, 2, 160, 38, 165, 1, 28, 0, 0, 0, 0, 118, 55, 0, 0, 2, 161, 38, - 166, 1, 28, 0, 0, 0, 0, 118, 55, 0, 0, 2, 162, 38, 167, 1, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, - 163, 38, 168, 1, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 164, 38, 172, 1, 28, 0, 0, 0, 0, 168, 0, 0, - 0, 2, 165, 38, 176, 1, 28, 0, 0, 0, 0, 151, 255, 0, 0, 2, 166, 38, 180, 1, 28, 0, 0, 0, 0, 151, - 255, 0, 0, 2, 167, 38, 192, 1, 28, 0, 0, 0, 0, 127, 29, 0, 0, 2, 168, 38, 208, 1, 28, 0, 0, 0, - 0, 127, 29, 0, 0, 2, 169, 38, 216, 1, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 170, 38, 224, 1, 28, 0, - 0, 0, 0, 168, 0, 0, 0, 2, 171, 38, 228, 1, 28, 0, 0, 0, 0, 227, 157, 1, 0, 2, 172, 38, 232, 1, - 28, 0, 0, 0, 0, 167, 161, 1, 0, 2, 173, 38, 240, 1, 28, 0, 0, 0, 0, 11, 1, 0, 0, 2, 174, 38, - 248, 1, 28, 0, 0, 0, 0, 176, 64, 0, 0, 2, 175, 38, 252, 1, 28, 0, 0, 0, 0, 127, 29, 0, 0, 2, - 176, 38, 0, 2, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 177, 38, 8, 2, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, - 178, 38, 12, 2, 28, 0, 0, 0, 0, 118, 55, 0, 0, 2, 179, 38, 16, 2, 28, 0, 0, 0, 0, 118, 55, 0, - 0, 2, 180, 38, 17, 2, 28, 0, 0, 0, 0, 118, 55, 0, 0, 2, 181, 38, 18, 2, 28, 0, 0, 0, 0, 168, 0, - 0, 0, 2, 182, 38, 20, 2, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 183, 38, 24, 2, 28, 0, 0, 0, 0, 168, - 0, 0, 0, 2, 184, 38, 28, 2, 28, 0, 0, 0, 0, 20, 162, 1, 0, 2, 185, 38, 32, 2, 28, 0, 0, 0, 0, - 176, 64, 0, 0, 2, 186, 38, 48, 2, 28, 0, 0, 0, 0, 75, 110, 0, 0, 2, 187, 38, 56, 2, 28, 0, 0, - 0, 0, 168, 0, 0, 0, 2, 188, 38, 64, 2, 28, 0, 0, 0, 0, 227, 28, 0, 0, 2, 189, 38, 72, 2, 28, 0, - 0, 0, 0, 177, 144, 1, 0, 2, 190, 38, 88, 2, 28, 0, 0, 0, 0, 125, 68, 0, 0, 2, 191, 38, 96, 2, - 28, 0, 0, 0, 0, 118, 55, 0, 0, 2, 192, 38, 100, 2, 28, 0, 0, 0, 0, 118, 55, 0, 0, 2, 193, 38, - 101, 2, 28, 0, 0, 0, 0, 68, 162, 1, 0, 2, 194, 38, 104, 2, 28, 0, 0, 0, 0, 11, 1, 0, 0, 2, 195, - 38, 112, 2, 28, 0, 0, 0, 0, 68, 162, 1, 0, 2, 196, 38, 120, 2, 28, 0, 0, 0, 0, 11, 1, 0, 0, 2, - 197, 38, 128, 2, 28, 0, 0, 0, 0, 176, 64, 0, 0, 2, 198, 38, 132, 2, 28, 0, 0, 0, 0, 233, 161, - 1, 0, 2, 199, 38, 136, 2, 0, 20, 0, 0, 0, 0, 80, 2, 23, 38, 21, 0, 0, 0, 0, 176, 64, 0, 0, 2, - 24, 38, 0, 21, 0, 0, 0, 0, 130, 142, 1, 0, 2, 25, 38, 4, 21, 0, 0, 0, 0, 142, 142, 1, 0, 2, 26, - 38, 64, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 27, 38, 72, 0, 3, 75, 0, 0, 0, 4, 82, 0, 0, 0, 60, 0, - 9, 147, 142, 1, 0, 27, 0, 0, 0, 0, 64, 2, 2, 226, 167, 21, 0, 0, 0, 0, 32, 143, 1, 0, 2, 227, - 167, 0, 21, 0, 0, 0, 0, 108, 158, 0, 0, 2, 228, 167, 8, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 229, - 167, 16, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 230, 167, 20, 21, 0, 0, 0, 0, 161, 78, 1, 0, 2, 231, - 167, 24, 21, 0, 0, 0, 0, 129, 143, 1, 0, 2, 232, 167, 32, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 233, - 167, 40, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 234, 167, 44, 21, 0, 0, 0, 0, 170, 143, 1, 0, 2, 235, - 167, 48, 21, 0, 0, 0, 0, 252, 143, 1, 0, 2, 237, 167, 64, 0, 9, 37, 143, 1, 0, 20, 0, 0, 0, 0, - 8, 2, 182, 168, 21, 0, 0, 0, 0, 60, 143, 1, 0, 2, 183, 168, 0, 0, 20, 0, 0, 0, 0, 8, 2, 20, 47, - 21, 0, 0, 0, 0, 83, 143, 1, 0, 2, 21, 47, 0, 0, 9, 88, 143, 1, 0, 20, 0, 0, 0, 0, 16, 2, 30, - 35, 21, 0, 0, 0, 0, 83, 143, 1, 0, 2, 31, 35, 0, 21, 0, 0, 0, 0, 124, 143, 1, 0, 2, 32, 35, 8, - 0, 9, 83, 143, 1, 0, 9, 134, 143, 1, 0, 20, 0, 0, 0, 0, 16, 2, 186, 168, 21, 0, 0, 0, 0, 248, - 68, 0, 0, 2, 187, 168, 0, 21, 0, 0, 0, 0, 190, 103, 0, 0, 2, 188, 168, 8, 0, 9, 175, 143, 1, 0, - 20, 0, 0, 0, 0, 16, 2, 213, 167, 21, 0, 0, 0, 0, 248, 68, 0, 0, 2, 214, 167, 0, 21, 0, 0, 0, 0, - 11, 1, 0, 0, 2, 215, 167, 4, 22, 219, 143, 1, 0, 2, 216, 167, 8, 23, 8, 2, 216, 167, 21, 0, 0, - 0, 0, 190, 103, 0, 0, 2, 217, 167, 0, 21, 0, 0, 0, 0, 60, 143, 1, 0, 2, 218, 167, 0, 0, 0, 3, - 175, 143, 1, 0, 4, 82, 0, 0, 0, 32, 0, 9, 13, 144, 1, 0, 47, 0, 0, 0, 0, 144, 2, 163, 172, 1, - 0, 48, 0, 0, 0, 0, 255, 0, 0, 0, 2, 164, 172, 1, 0, 0, 48, 0, 0, 0, 0, 70, 144, 1, 0, 2, 165, - 172, 1, 0, 8, 48, 0, 0, 0, 0, 148, 159, 0, 0, 2, 166, 172, 1, 0, 136, 0, 3, 168, 0, 0, 0, 4, - 82, 0, 0, 0, 32, 0, 9, 87, 144, 1, 0, 20, 0, 0, 0, 0, 40, 2, 240, 167, 21, 0, 0, 0, 0, 82, 144, - 1, 0, 2, 241, 167, 0, 21, 0, 0, 0, 0, 140, 40, 0, 0, 2, 242, 167, 8, 22, 131, 144, 1, 0, 2, - 243, 167, 16, 23, 8, 2, 243, 167, 21, 0, 0, 0, 0, 23, 53, 0, 0, 2, 244, 167, 0, 21, 0, 0, 0, 0, - 140, 40, 0, 0, 2, 245, 167, 0, 0, 21, 0, 0, 0, 0, 65, 29, 0, 0, 2, 247, 167, 24, 0, 9, 182, - 144, 1, 0, 20, 0, 0, 0, 0, 184, 2, 49, 46, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 50, 46, 0, 21, 0, - 0, 0, 0, 227, 28, 0, 0, 2, 51, 46, 8, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 52, 46, 24, 21, 0, 0, 0, - 0, 168, 0, 0, 0, 2, 53, 46, 28, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 54, 46, 32, 21, 0, 0, 0, 0, - 168, 0, 0, 0, 2, 55, 46, 36, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 56, 46, 40, 21, 0, 0, 0, 0, 222, - 145, 1, 0, 2, 57, 46, 48, 21, 0, 0, 0, 0, 14, 151, 1, 0, 2, 58, 46, 56, 21, 0, 0, 0, 0, 35, - 151, 1, 0, 2, 59, 46, 64, 21, 0, 0, 0, 0, 61, 151, 1, 0, 2, 60, 46, 72, 21, 0, 0, 0, 0, 198, - 153, 1, 0, 2, 61, 46, 80, 21, 0, 0, 0, 0, 214, 153, 1, 0, 2, 62, 46, 88, 21, 0, 0, 0, 0, 240, - 153, 1, 0, 2, 63, 46, 96, 21, 0, 0, 0, 0, 10, 154, 1, 0, 2, 64, 46, 104, 21, 0, 0, 0, 0, 26, - 154, 1, 0, 2, 65, 46, 112, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 66, 46, 120, 21, 0, 0, 0, 0, 109, - 152, 1, 0, 2, 67, 46, 128, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 68, 46, 136, 21, 0, 0, 0, 0, 111, - 83, 0, 0, 2, 69, 46, 152, 21, 0, 0, 0, 0, 115, 125, 1, 0, 2, 70, 46, 160, 21, 0, 0, 0, 0, 65, - 29, 0, 0, 2, 71, 46, 168, 0, 9, 227, 145, 1, 0, 13, 168, 0, 0, 0, 14, 253, 145, 1, 0, 14, 165, - 147, 1, 0, 14, 168, 0, 0, 0, 14, 177, 150, 1, 0, 0, 9, 2, 146, 1, 0, 20, 0, 0, 0, 0, 152, 2, - 53, 53, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 54, 53, 0, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 55, 53, - 16, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 56, 53, 20, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 57, 53, 24, - 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 58, 53, 28, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 59, 53, 32, 21, - 0, 0, 0, 0, 125, 68, 0, 0, 2, 60, 53, 36, 21, 0, 0, 0, 0, 118, 55, 0, 0, 2, 61, 53, 40, 21, 0, - 0, 0, 0, 118, 55, 0, 0, 2, 62, 53, 41, 21, 0, 0, 0, 0, 118, 55, 0, 0, 2, 63, 53, 42, 21, 0, 0, - 0, 0, 118, 55, 0, 0, 2, 64, 53, 43, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 65, 53, 44, 21, 0, 0, 0, - 0, 81, 147, 1, 0, 2, 66, 53, 48, 21, 0, 0, 0, 0, 253, 145, 1, 0, 2, 67, 53, 56, 21, 0, 0, 0, 0, - 115, 125, 1, 0, 2, 68, 53, 64, 21, 0, 0, 0, 0, 141, 64, 0, 0, 2, 69, 53, 72, 21, 0, 0, 0, 0, - 125, 68, 0, 0, 2, 70, 53, 76, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 71, 53, 80, 21, 0, 0, 0, 0, 168, - 0, 0, 0, 2, 72, 53, 84, 21, 0, 0, 0, 0, 105, 28, 0, 0, 2, 73, 53, 88, 21, 0, 0, 0, 0, 105, 28, - 0, 0, 2, 74, 53, 104, 21, 0, 0, 0, 0, 93, 147, 1, 0, 2, 75, 53, 120, 21, 0, 0, 0, 0, 129, 147, - 1, 0, 2, 76, 53, 128, 21, 0, 0, 0, 0, 129, 147, 1, 0, 2, 77, 53, 132, 21, 0, 0, 0, 0, 65, 29, - 0, 0, 2, 78, 53, 136, 0, 33, 197, 0, 0, 0, 0, 0, 0, 0, 2, 166, 34, 20, 0, 0, 0, 0, 8, 2, 48, - 53, 21, 0, 0, 0, 0, 224, 63, 0, 0, 2, 49, 53, 0, 21, 0, 0, 0, 0, 224, 63, 0, 0, 2, 50, 53, 4, - 0, 20, 0, 0, 0, 0, 4, 2, 43, 53, 21, 0, 0, 0, 0, 214, 48, 0, 0, 2, 44, 53, 0, 21, 0, 0, 0, 0, - 214, 48, 0, 0, 2, 45, 53, 2, 0, 9, 170, 147, 1, 0, 20, 0, 0, 0, 0, 88, 2, 155, 45, 21, 0, 0, 0, - 0, 192, 147, 1, 0, 2, 161, 45, 0, 23, 88, 2, 156, 45, 21, 0, 0, 0, 0, 251, 147, 1, 0, 2, 157, - 45, 0, 21, 0, 0, 0, 0, 171, 148, 1, 0, 2, 158, 45, 0, 21, 0, 0, 0, 0, 179, 149, 1, 0, 2, 159, - 45, 0, 21, 0, 0, 0, 0, 115, 150, 1, 0, 2, 160, 45, 0, 0, 0, 20, 0, 0, 0, 0, 40, 2, 99, 45, 21, - 0, 0, 0, 0, 168, 0, 0, 0, 2, 100, 45, 0, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 101, 45, 4, 21, 0, 0, - 0, 0, 0, 1, 0, 0, 2, 102, 45, 8, 21, 0, 0, 0, 0, 129, 55, 0, 0, 2, 103, 45, 12, 21, 0, 0, 0, 0, - 129, 55, 0, 0, 2, 104, 45, 13, 21, 0, 0, 0, 0, 129, 55, 0, 0, 2, 105, 45, 14, 21, 0, 0, 0, 0, - 129, 55, 0, 0, 2, 106, 45, 15, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 107, 45, 16, 21, 0, 0, 0, 0, 224, - 63, 0, 0, 2, 108, 45, 20, 21, 0, 0, 0, 0, 148, 148, 1, 0, 2, 109, 45, 24, 21, 0, 0, 0, 0, 0, 1, - 0, 0, 2, 110, 45, 32, 0, 20, 0, 0, 0, 0, 8, 2, 95, 45, 21, 0, 0, 0, 0, 81, 147, 1, 0, 2, 96, - 45, 0, 0, 20, 0, 0, 0, 0, 56, 2, 132, 45, 21, 0, 0, 0, 0, 251, 147, 1, 0, 2, 133, 45, 0, 21, 0, - 0, 0, 0, 190, 48, 0, 0, 2, 134, 45, 40, 21, 0, 0, 0, 0, 190, 48, 0, 0, 2, 135, 45, 44, 21, 0, - 0, 0, 0, 233, 148, 1, 0, 2, 136, 45, 48, 0, 43, 0, 0, 0, 0, 4, 2, 113, 45, 21, 0, 0, 0, 0, 255, - 148, 1, 0, 2, 117, 45, 0, 24, 4, 2, 114, 45, 21, 0, 0, 0, 0, 244, 48, 0, 0, 2, 115, 45, 0, 21, - 0, 0, 0, 0, 244, 48, 0, 0, 2, 116, 45, 2, 0, 21, 0, 0, 0, 0, 44, 149, 1, 0, 2, 121, 45, 0, 24, - 2, 2, 118, 45, 21, 0, 0, 0, 0, 129, 55, 0, 0, 2, 119, 45, 0, 21, 0, 0, 0, 0, 129, 55, 0, 0, 2, - 120, 45, 1, 0, 21, 0, 0, 0, 0, 89, 149, 1, 0, 2, 125, 45, 0, 24, 4, 2, 122, 45, 21, 0, 0, 0, 0, - 167, 149, 1, 0, 2, 123, 45, 0, 21, 0, 0, 0, 0, 167, 149, 1, 0, 2, 124, 45, 2, 0, 21, 0, 0, 0, - 0, 190, 48, 0, 0, 2, 126, 45, 0, 21, 0, 0, 0, 0, 147, 149, 1, 0, 2, 129, 45, 0, 24, 1, 2, 127, - 45, 21, 0, 0, 0, 0, 129, 55, 0, 0, 2, 128, 45, 0, 0, 0, 33, 214, 48, 0, 0, 0, 0, 0, 0, 2, 160, - 34, 20, 0, 0, 0, 0, 88, 2, 139, 45, 21, 0, 0, 0, 0, 251, 147, 1, 0, 2, 140, 45, 0, 21, 0, 0, 0, - 0, 11, 150, 1, 0, 2, 141, 45, 40, 21, 0, 0, 0, 0, 11, 150, 1, 0, 2, 142, 45, 56, 21, 0, 0, 0, - 0, 190, 48, 0, 0, 2, 143, 45, 72, 21, 0, 0, 0, 0, 233, 148, 1, 0, 2, 144, 45, 76, 21, 0, 0, 0, - 0, 0, 1, 0, 0, 2, 145, 45, 80, 0, 20, 0, 0, 0, 0, 16, 2, 22, 35, 21, 0, 0, 0, 0, 33, 150, 1, 0, - 2, 27, 35, 0, 23, 16, 2, 23, 35, 21, 0, 0, 0, 0, 79, 150, 1, 0, 2, 24, 35, 0, 21, 0, 0, 0, 0, - 91, 150, 1, 0, 2, 25, 35, 0, 21, 0, 0, 0, 0, 103, 150, 1, 0, 2, 26, 35, 0, 0, 0, 3, 129, 55, 0, - 0, 4, 82, 0, 0, 0, 16, 0, 3, 244, 48, 0, 0, 4, 82, 0, 0, 0, 8, 0, 3, 190, 48, 0, 0, 4, 82, 0, - 0, 0, 4, 0, 20, 0, 0, 0, 0, 48, 2, 148, 45, 21, 0, 0, 0, 0, 251, 147, 1, 0, 2, 149, 45, 0, 21, - 0, 0, 0, 0, 167, 149, 1, 0, 2, 150, 45, 40, 21, 0, 0, 0, 0, 167, 149, 1, 0, 2, 151, 45, 42, 21, - 0, 0, 0, 0, 233, 148, 1, 0, 2, 152, 45, 44, 0, 9, 182, 150, 1, 0, 20, 0, 0, 0, 0, 40, 2, 81, - 53, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 82, 53, 0, 21, 0, 0, 0, 0, 56, 1, 0, 0, 2, 83, 53, 8, 21, - 0, 0, 0, 0, 255, 0, 0, 0, 2, 84, 53, 16, 21, 0, 0, 0, 0, 253, 145, 1, 0, 2, 85, 53, 24, 21, 0, - 0, 0, 0, 125, 68, 0, 0, 2, 86, 53, 32, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 87, 53, 36, 0, 9, 19, - 151, 1, 0, 13, 219, 52, 0, 0, 14, 253, 145, 1, 0, 14, 177, 150, 1, 0, 0, 9, 40, 151, 1, 0, 13, - 168, 0, 0, 0, 14, 253, 145, 1, 0, 14, 165, 147, 1, 0, 14, 168, 0, 0, 0, 0, 9, 66, 151, 1, 0, - 13, 168, 0, 0, 0, 14, 253, 145, 1, 0, 14, 94, 34, 0, 0, 14, 97, 151, 1, 0, 14, 229, 151, 1, 0, - 14, 19, 152, 1, 0, 0, 9, 102, 151, 1, 0, 20, 0, 0, 0, 0, 12, 2, 31, 53, 21, 0, 0, 0, 0, 129, - 55, 0, 0, 2, 32, 53, 0, 21, 0, 0, 0, 0, 129, 55, 0, 0, 2, 33, 53, 1, 21, 0, 0, 0, 0, 129, 55, - 0, 0, 2, 34, 53, 2, 21, 0, 0, 0, 0, 129, 55, 0, 0, 2, 35, 53, 3, 21, 0, 0, 0, 0, 129, 55, 0, 0, - 2, 36, 53, 4, 21, 0, 0, 0, 0, 129, 55, 0, 0, 2, 37, 53, 5, 21, 0, 0, 0, 0, 129, 55, 0, 0, 2, - 38, 53, 6, 21, 0, 0, 0, 0, 129, 55, 0, 0, 2, 39, 53, 7, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 40, 53, - 8, 0, 9, 234, 151, 1, 0, 9, 239, 151, 1, 0, 20, 0, 0, 0, 0, 4, 2, 93, 48, 21, 0, 0, 0, 0, 214, - 48, 0, 0, 2, 94, 48, 0, 21, 0, 0, 0, 0, 214, 48, 0, 0, 2, 95, 48, 2, 0, 9, 24, 152, 1, 0, 20, - 0, 0, 0, 0, 48, 2, 98, 48, 21, 0, 0, 0, 0, 14, 29, 0, 0, 2, 99, 48, 0, 21, 0, 0, 0, 0, 99, 152, - 1, 0, 2, 100, 48, 8, 21, 0, 0, 0, 0, 109, 152, 1, 0, 2, 101, 48, 16, 21, 0, 0, 0, 0, 186, 153, - 1, 0, 2, 102, 48, 24, 21, 0, 0, 0, 0, 118, 55, 0, 0, 2, 103, 48, 44, 0, 9, 104, 152, 1, 0, 26, - 239, 151, 1, 0, 9, 114, 152, 1, 0, 26, 119, 152, 1, 0, 20, 0, 0, 0, 0, 16, 2, 110, 48, 21, 0, - 0, 0, 0, 118, 55, 0, 0, 2, 111, 48, 0, 21, 0, 0, 0, 0, 118, 55, 0, 0, 2, 112, 48, 1, 21, 0, 0, - 0, 0, 177, 69, 0, 0, 2, 113, 48, 2, 22, 176, 152, 1, 0, 2, 114, 48, 8, 23, 8, 2, 114, 48, 21, - 0, 0, 0, 0, 181, 215, 0, 0, 2, 115, 48, 0, 21, 0, 0, 0, 0, 181, 215, 0, 0, 2, 116, 48, 0, 21, - 0, 0, 0, 0, 14, 29, 0, 0, 2, 117, 48, 0, 21, 0, 0, 0, 0, 109, 152, 1, 0, 2, 118, 48, 0, 21, 0, - 0, 0, 0, 72, 153, 1, 0, 2, 119, 48, 0, 21, 0, 0, 0, 0, 113, 153, 1, 0, 2, 120, 48, 0, 22, 12, - 153, 1, 0, 2, 121, 48, 0, 24, 4, 2, 121, 48, 21, 0, 0, 0, 0, 154, 153, 1, 0, 2, 122, 48, 0, 21, - 0, 0, 0, 0, 154, 153, 1, 0, 2, 123, 48, 2, 0, 21, 0, 0, 0, 0, 165, 153, 1, 0, 2, 125, 48, 0, - 21, 0, 0, 0, 0, 177, 69, 0, 0, 2, 126, 48, 0, 0, 0, 9, 77, 153, 1, 0, 20, 0, 0, 0, 0, 16, 2, - 226, 51, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 227, 51, 0, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 228, - 51, 8, 0, 9, 118, 153, 1, 0, 20, 0, 0, 0, 0, 16, 2, 231, 51, 21, 0, 0, 0, 0, 111, 97, 0, 0, 2, - 232, 51, 0, 21, 0, 0, 0, 0, 111, 97, 0, 0, 2, 233, 51, 8, 0, 12, 71, 249, 0, 0, 0, 0, 0, 0, 2, - 24, 9, 170, 153, 1, 0, 13, 168, 0, 0, 0, 14, 99, 152, 1, 0, 14, 19, 152, 1, 0, 0, 3, 118, 55, - 0, 0, 4, 82, 0, 0, 0, 20, 0, 9, 203, 153, 1, 0, 13, 168, 0, 0, 0, 14, 253, 145, 1, 0, 0, 9, - 219, 153, 1, 0, 13, 168, 0, 0, 0, 14, 253, 145, 1, 0, 14, 97, 151, 1, 0, 14, 229, 151, 1, 0, 0, - 9, 245, 153, 1, 0, 13, 168, 0, 0, 0, 14, 253, 145, 1, 0, 14, 94, 34, 0, 0, 14, 97, 151, 1, 0, - 0, 9, 15, 154, 1, 0, 13, 140, 55, 0, 0, 14, 253, 145, 1, 0, 0, 9, 31, 154, 1, 0, 32, 14, 177, - 144, 1, 0, 0, 9, 43, 154, 1, 0, 20, 0, 0, 0, 0, 48, 2, 250, 167, 21, 0, 0, 0, 0, 184, 28, 0, 0, - 2, 251, 167, 0, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 252, 167, 16, 21, 0, 0, 0, 0, 168, 0, 0, 0, - 2, 253, 167, 20, 21, 0, 0, 0, 0, 65, 29, 0, 0, 2, 254, 167, 24, 21, 0, 0, 0, 0, 75, 110, 0, 0, - 2, 255, 167, 40, 21, 0, 0, 0, 0, 102, 213, 0, 0, 2, 0, 168, 48, 0, 9, 140, 40, 0, 0, 9, 141, - 154, 1, 0, 20, 0, 0, 0, 0, 24, 2, 3, 168, 21, 0, 0, 0, 0, 220, 96, 0, 0, 2, 4, 168, 0, 21, 0, - 0, 0, 0, 114, 43, 1, 0, 2, 5, 168, 8, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 6, 168, 16, 0, 9, 195, - 154, 1, 0, 27, 0, 0, 0, 0, 64, 1, 2, 215, 45, 21, 0, 0, 0, 0, 248, 0, 0, 0, 2, 216, 45, 0, 21, - 0, 0, 0, 0, 248, 0, 0, 0, 2, 217, 45, 8, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 218, 45, 16, 21, 0, - 0, 0, 0, 168, 0, 0, 0, 2, 219, 45, 20, 21, 0, 0, 0, 0, 96, 155, 1, 0, 2, 220, 45, 24, 21, 0, 0, - 0, 0, 115, 125, 1, 0, 2, 221, 45, 32, 21, 0, 0, 0, 0, 219, 52, 0, 0, 2, 222, 45, 40, 21, 0, 0, - 0, 0, 223, 119, 1, 0, 2, 226, 45, 64, 28, 0, 0, 0, 0, 71, 97, 0, 0, 2, 234, 45, 0, 1, 28, 0, 0, - 0, 0, 156, 163, 0, 0, 2, 235, 45, 8, 1, 28, 0, 0, 0, 0, 133, 81, 0, 0, 2, 236, 45, 40, 1, 0, 9, - 101, 155, 1, 0, 20, 0, 0, 0, 0, 128, 2, 243, 45, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 244, 45, 0, - 21, 0, 0, 0, 0, 228, 155, 1, 0, 2, 245, 45, 8, 21, 0, 0, 0, 0, 166, 157, 1, 0, 2, 246, 45, 16, - 21, 0, 0, 0, 0, 235, 161, 0, 0, 2, 247, 45, 24, 21, 0, 0, 0, 0, 161, 78, 1, 0, 2, 248, 45, 32, - 21, 0, 0, 0, 0, 14, 29, 0, 0, 2, 249, 45, 40, 21, 0, 0, 0, 0, 248, 120, 1, 0, 2, 250, 45, 48, - 21, 0, 0, 0, 0, 141, 64, 0, 0, 2, 251, 45, 88, 21, 0, 0, 0, 0, 43, 167, 0, 0, 2, 252, 45, 96, - 0, 9, 233, 155, 1, 0, 32, 14, 245, 155, 1, 0, 14, 56, 1, 0, 0, 0, 9, 250, 155, 1, 0, 20, 0, 0, - 0, 0, 176, 2, 16, 46, 21, 0, 0, 0, 0, 231, 156, 1, 0, 2, 17, 46, 0, 21, 0, 0, 0, 0, 29, 156, 1, - 0, 2, 21, 46, 8, 23, 44, 2, 18, 46, 21, 0, 0, 0, 0, 3, 157, 1, 0, 2, 19, 46, 0, 21, 0, 0, 0, 0, - 91, 157, 1, 0, 2, 20, 46, 0, 0, 21, 0, 0, 0, 0, 173, 161, 0, 0, 2, 22, 46, 56, 21, 0, 0, 0, 0, - 248, 68, 0, 0, 2, 23, 46, 96, 21, 0, 0, 0, 0, 141, 64, 0, 0, 2, 24, 46, 100, 21, 0, 0, 0, 0, - 220, 96, 0, 0, 2, 25, 46, 104, 21, 0, 0, 0, 0, 94, 34, 0, 0, 2, 26, 46, 112, 21, 0, 0, 0, 0, - 94, 34, 0, 0, 2, 27, 46, 120, 21, 0, 0, 0, 0, 32, 207, 0, 0, 2, 28, 46, 128, 21, 0, 0, 0, 0, - 168, 0, 0, 0, 2, 29, 46, 136, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 30, 46, 140, 21, 0, 0, 0, 0, - 129, 55, 0, 0, 2, 31, 46, 144, 21, 0, 0, 0, 0, 177, 69, 0, 0, 2, 32, 46, 146, 21, 0, 0, 0, 0, - 190, 154, 1, 0, 2, 33, 46, 152, 21, 0, 0, 0, 0, 65, 29, 0, 0, 2, 34, 46, 160, 0, 20, 0, 0, 0, - 0, 8, 2, 242, 35, 21, 0, 0, 0, 0, 254, 156, 1, 0, 2, 243, 35, 0, 0, 9, 231, 156, 1, 0, 20, 0, - 0, 0, 0, 20, 2, 255, 45, 21, 0, 0, 0, 0, 190, 48, 0, 0, 2, 0, 46, 0, 21, 0, 0, 0, 0, 190, 48, - 0, 0, 2, 1, 46, 4, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 2, 46, 8, 21, 0, 0, 0, 0, 125, 68, 0, 0, - 2, 3, 46, 12, 21, 0, 0, 0, 0, 244, 48, 0, 0, 2, 4, 46, 16, 21, 0, 0, 0, 0, 177, 69, 0, 0, 2, 5, - 46, 18, 0, 20, 0, 0, 0, 0, 44, 2, 8, 46, 21, 0, 0, 0, 0, 11, 150, 1, 0, 2, 9, 46, 0, 21, 0, 0, - 0, 0, 11, 150, 1, 0, 2, 10, 46, 16, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 11, 46, 32, 21, 0, 0, 0, - 0, 190, 48, 0, 0, 2, 12, 46, 36, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 13, 46, 40, 0, 9, 171, 157, - 1, 0, 32, 14, 245, 155, 1, 0, 0, 20, 0, 0, 0, 0, 20, 2, 30, 38, 21, 0, 0, 0, 0, 114, 43, 1, 0, - 2, 31, 38, 0, 21, 0, 0, 0, 0, 86, 125, 1, 0, 2, 32, 38, 8, 21, 0, 0, 0, 0, 219, 52, 0, 0, 2, - 33, 38, 16, 0, 9, 232, 157, 1, 0, 26, 237, 157, 1, 0, 20, 0, 0, 0, 0, 192, 2, 89, 46, 21, 0, 0, - 0, 0, 225, 158, 1, 0, 2, 90, 46, 0, 21, 0, 0, 0, 0, 241, 158, 1, 0, 2, 91, 46, 8, 21, 0, 0, 0, - 0, 7, 159, 1, 0, 2, 92, 46, 16, 21, 0, 0, 0, 0, 24, 159, 1, 0, 2, 93, 46, 24, 21, 0, 0, 0, 0, - 41, 159, 1, 0, 2, 94, 46, 32, 21, 0, 0, 0, 0, 58, 159, 1, 0, 2, 95, 46, 40, 21, 0, 0, 0, 0, - 225, 158, 1, 0, 2, 96, 46, 48, 21, 0, 0, 0, 0, 134, 159, 1, 0, 2, 97, 46, 56, 21, 0, 0, 0, 0, - 225, 158, 1, 0, 2, 98, 46, 64, 21, 0, 0, 0, 0, 225, 158, 1, 0, 2, 99, 46, 72, 21, 0, 0, 0, 0, - 84, 160, 1, 0, 2, 100, 46, 80, 21, 0, 0, 0, 0, 105, 28, 0, 0, 2, 101, 46, 88, 21, 0, 0, 0, 0, - 111, 83, 0, 0, 2, 102, 46, 104, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 103, 46, 112, 21, 0, 0, 0, 0, - 125, 68, 0, 0, 2, 104, 46, 128, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 105, 46, 132, 21, 0, 0, 0, 0, - 23, 53, 0, 0, 2, 106, 46, 136, 21, 0, 0, 0, 0, 23, 53, 0, 0, 2, 107, 46, 144, 0, 9, 230, 158, - 1, 0, 13, 125, 68, 0, 0, 14, 140, 40, 0, 0, 0, 9, 246, 158, 1, 0, 32, 14, 140, 40, 0, 0, 14, - 125, 68, 0, 0, 14, 125, 68, 0, 0, 0, 9, 12, 159, 1, 0, 32, 14, 140, 40, 0, 0, 14, 118, 55, 0, - 0, 0, 9, 29, 159, 1, 0, 32, 14, 140, 40, 0, 0, 14, 44, 15, 0, 0, 0, 9, 46, 159, 1, 0, 32, 14, - 140, 40, 0, 0, 14, 125, 68, 0, 0, 0, 9, 63, 159, 1, 0, 32, 14, 140, 40, 0, 0, 14, 75, 159, 1, - 0, 0, 9, 80, 159, 1, 0, 26, 85, 159, 1, 0, 20, 0, 0, 0, 0, 12, 2, 191, 168, 21, 0, 0, 0, 0, - 125, 68, 0, 0, 2, 192, 168, 0, 21, 0, 0, 0, 0, 101, 103, 0, 0, 2, 193, 168, 4, 21, 0, 0, 0, 0, - 125, 68, 0, 0, 2, 194, 168, 8, 0, 9, 139, 159, 1, 0, 32, 14, 140, 40, 0, 0, 14, 151, 159, 1, 0, - 0, 9, 156, 159, 1, 0, 26, 161, 159, 1, 0, 20, 0, 0, 0, 0, 56, 2, 197, 168, 21, 0, 0, 0, 0, 136, - 68, 0, 0, 2, 198, 168, 0, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 199, 168, 8, 21, 0, 0, 0, 0, 101, - 103, 0, 0, 2, 200, 168, 12, 21, 0, 0, 0, 0, 248, 0, 0, 0, 2, 201, 168, 16, 21, 0, 0, 0, 0, 125, - 68, 0, 0, 2, 202, 168, 24, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 203, 168, 28, 21, 0, 0, 0, 0, 248, - 0, 0, 0, 2, 204, 168, 32, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 205, 168, 40, 21, 0, 0, 0, 0, 125, - 68, 0, 0, 2, 206, 168, 44, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 207, 168, 48, 21, 0, 0, 0, 0, 219, - 52, 0, 0, 2, 208, 168, 52, 21, 0, 0, 0, 0, 219, 52, 0, 0, 2, 209, 168, 53, 21, 0, 0, 0, 0, 219, - 52, 0, 0, 2, 210, 168, 54, 0, 9, 89, 160, 1, 0, 13, 140, 55, 0, 0, 14, 140, 40, 0, 0, 14, 125, - 68, 0, 0, 14, 214, 52, 0, 0, 14, 115, 160, 1, 0, 0, 9, 120, 160, 1, 0, 58, 0, 0, 0, 0, 20, 2, - 65, 200, 1, 0, 48, 0, 0, 0, 0, 177, 160, 1, 0, 2, 66, 200, 1, 0, 0, 48, 0, 0, 0, 0, 249, 160, - 1, 0, 2, 67, 200, 1, 0, 0, 48, 0, 0, 0, 0, 80, 161, 1, 0, 2, 68, 200, 1, 0, 0, 0, 47, 0, 0, 0, - 0, 16, 2, 42, 200, 1, 0, 48, 0, 0, 0, 0, 0, 1, 0, 0, 2, 43, 200, 1, 0, 0, 48, 0, 0, 0, 0, 0, 1, - 0, 0, 2, 44, 200, 1, 0, 4, 48, 0, 0, 0, 0, 0, 1, 0, 0, 2, 45, 200, 1, 0, 8, 48, 0, 0, 0, 0, 0, - 1, 0, 0, 2, 46, 200, 1, 0, 12, 0, 47, 0, 0, 0, 0, 16, 2, 49, 200, 1, 0, 48, 0, 0, 0, 0, 214, - 48, 0, 0, 2, 50, 200, 1, 0, 0, 48, 0, 0, 0, 0, 214, 48, 0, 0, 2, 51, 200, 1, 0, 2, 48, 0, 0, 0, - 0, 0, 1, 0, 0, 2, 52, 200, 1, 0, 4, 48, 0, 0, 0, 0, 0, 1, 0, 0, 2, 53, 200, 1, 0, 8, 48, 0, 0, - 0, 0, 0, 1, 0, 0, 2, 54, 200, 1, 0, 12, 0, 47, 0, 0, 0, 0, 20, 2, 57, 200, 1, 0, 48, 0, 0, 0, - 0, 0, 1, 0, 0, 2, 58, 200, 1, 0, 0, 48, 0, 0, 0, 0, 0, 1, 0, 0, 2, 59, 200, 1, 0, 4, 48, 0, 0, - 0, 0, 0, 1, 0, 0, 2, 60, 200, 1, 0, 8, 48, 0, 0, 0, 0, 0, 1, 0, 0, 2, 61, 200, 1, 0, 12, 48, 0, - 0, 0, 0, 0, 1, 0, 0, 2, 62, 200, 1, 0, 16, 0, 9, 172, 161, 1, 0, 20, 0, 0, 0, 0, 56, 2, 9, 168, - 21, 0, 0, 0, 0, 221, 161, 1, 0, 2, 10, 168, 0, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 11, 168, 32, - 21, 0, 0, 0, 0, 65, 29, 0, 0, 2, 12, 168, 40, 0, 3, 233, 161, 1, 0, 4, 82, 0, 0, 0, 2, 0, 33, - 245, 161, 1, 0, 0, 0, 0, 0, 2, 43, 38, 24, 16, 2, 41, 38, 21, 0, 0, 0, 0, 8, 162, 1, 0, 2, 42, - 38, 0, 0, 3, 136, 68, 0, 0, 4, 82, 0, 0, 0, 2, 0, 20, 0, 0, 0, 0, 16, 2, 36, 38, 21, 0, 0, 0, - 0, 114, 43, 1, 0, 2, 37, 38, 0, 21, 0, 0, 0, 0, 56, 162, 1, 0, 2, 38, 38, 8, 0, 3, 21, 64, 0, - 0, 4, 82, 0, 0, 0, 2, 0, 9, 73, 162, 1, 0, 20, 0, 0, 0, 0, 64, 2, 115, 46, 21, 0, 0, 0, 0, 168, - 0, 0, 0, 2, 116, 46, 0, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 117, 46, 8, 21, 0, 0, 0, 0, 161, 162, - 1, 0, 2, 118, 46, 24, 21, 0, 0, 0, 0, 177, 162, 1, 0, 2, 119, 46, 32, 21, 0, 0, 0, 0, 111, 83, - 0, 0, 2, 120, 46, 40, 21, 0, 0, 0, 0, 65, 29, 0, 0, 2, 121, 46, 48, 0, 9, 166, 162, 1, 0, 13, - 11, 1, 0, 0, 14, 115, 125, 1, 0, 0, 9, 182, 162, 1, 0, 13, 168, 0, 0, 0, 14, 115, 125, 1, 0, - 14, 126, 191, 0, 0, 14, 19, 152, 1, 0, 0, 27, 0, 0, 0, 0, 192, 2, 2, 34, 39, 21, 0, 0, 0, 0, - 35, 165, 1, 0, 2, 35, 39, 0, 21, 0, 0, 0, 0, 199, 185, 1, 0, 2, 36, 39, 192, 28, 0, 0, 0, 0, - 229, 187, 1, 0, 2, 37, 39, 120, 1, 28, 0, 0, 0, 0, 229, 187, 1, 0, 2, 38, 39, 128, 1, 28, 0, 0, - 0, 0, 136, 154, 1, 0, 2, 39, 39, 136, 1, 28, 0, 0, 0, 0, 190, 154, 1, 0, 2, 40, 39, 144, 1, 28, - 0, 0, 0, 0, 253, 190, 1, 0, 2, 41, 39, 152, 1, 28, 0, 0, 0, 0, 20, 200, 1, 0, 2, 42, 39, 160, - 1, 28, 0, 0, 0, 0, 171, 207, 1, 0, 2, 43, 39, 168, 1, 28, 0, 0, 0, 0, 173, 161, 0, 0, 2, 44, - 39, 176, 1, 28, 0, 0, 0, 0, 226, 110, 1, 0, 2, 45, 39, 216, 1, 28, 0, 0, 0, 0, 146, 192, 1, 0, - 2, 46, 39, 224, 1, 28, 0, 0, 0, 0, 227, 28, 0, 0, 2, 47, 39, 232, 1, 28, 0, 0, 0, 0, 188, 107, - 0, 0, 2, 48, 39, 248, 1, 28, 0, 0, 0, 0, 248, 68, 0, 0, 2, 49, 39, 0, 2, 28, 0, 0, 0, 0, 11, 1, - 0, 0, 2, 50, 39, 4, 2, 28, 0, 0, 0, 0, 127, 29, 0, 0, 2, 51, 39, 8, 2, 28, 0, 0, 0, 0, 11, 1, - 0, 0, 2, 52, 39, 16, 2, 28, 0, 0, 0, 0, 219, 52, 0, 0, 2, 53, 39, 20, 2, 28, 0, 0, 0, 0, 11, 1, - 0, 0, 2, 54, 39, 24, 2, 28, 0, 0, 0, 0, 20, 200, 1, 0, 2, 55, 39, 32, 2, 28, 0, 0, 0, 0, 20, - 200, 1, 0, 2, 56, 39, 40, 2, 28, 0, 0, 0, 0, 146, 192, 1, 0, 2, 57, 39, 48, 2, 28, 0, 0, 0, 0, - 177, 144, 1, 0, 2, 58, 39, 56, 2, 28, 0, 0, 0, 0, 131, 154, 1, 0, 2, 59, 39, 64, 2, 28, 0, 0, - 0, 0, 140, 40, 0, 0, 2, 60, 39, 72, 2, 28, 0, 0, 0, 0, 140, 40, 0, 0, 2, 61, 39, 80, 2, 28, 0, - 0, 0, 0, 140, 40, 0, 0, 2, 62, 39, 88, 2, 28, 0, 0, 0, 0, 140, 40, 0, 0, 2, 63, 39, 96, 2, 28, - 0, 0, 0, 0, 227, 28, 0, 0, 2, 64, 39, 104, 2, 28, 0, 0, 0, 0, 177, 144, 1, 0, 2, 65, 39, 120, - 2, 28, 0, 0, 0, 0, 176, 64, 0, 0, 2, 66, 39, 128, 2, 28, 0, 0, 0, 0, 176, 64, 0, 0, 2, 67, 39, - 132, 2, 28, 0, 0, 0, 0, 21, 208, 1, 0, 2, 68, 39, 136, 2, 28, 0, 0, 0, 0, 68, 162, 1, 0, 2, 69, - 39, 144, 2, 28, 0, 0, 0, 0, 68, 162, 1, 0, 2, 70, 39, 152, 2, 28, 0, 0, 0, 0, 11, 1, 0, 0, 2, - 71, 39, 160, 2, 28, 0, 0, 0, 0, 231, 164, 1, 0, 2, 76, 39, 168, 2, 24, 16, 2, 72, 39, 21, 0, 0, - 0, 0, 190, 103, 0, 0, 2, 73, 39, 0, 21, 0, 0, 0, 0, 248, 68, 0, 0, 2, 74, 39, 8, 21, 0, 0, 0, - 0, 125, 68, 0, 0, 2, 75, 39, 12, 0, 28, 0, 0, 0, 0, 88, 208, 1, 0, 2, 77, 39, 184, 2, 0, 20, 0, - 0, 0, 0, 192, 2, 209, 38, 21, 0, 0, 0, 0, 225, 48, 0, 0, 2, 210, 38, 0, 21, 0, 0, 0, 0, 11, 1, - 0, 0, 2, 211, 38, 4, 21, 0, 0, 0, 0, 23, 166, 1, 0, 2, 212, 38, 8, 21, 0, 0, 0, 0, 44, 166, 1, - 0, 2, 213, 38, 16, 21, 0, 0, 0, 0, 79, 178, 1, 0, 2, 214, 38, 24, 21, 0, 0, 0, 0, 79, 178, 1, - 0, 2, 215, 38, 32, 21, 0, 0, 0, 0, 105, 178, 1, 0, 2, 216, 38, 40, 21, 0, 0, 0, 0, 126, 178, 1, - 0, 2, 217, 38, 48, 21, 0, 0, 0, 0, 138, 178, 1, 0, 2, 218, 38, 56, 21, 0, 0, 0, 0, 160, 178, 1, - 0, 2, 219, 38, 64, 21, 0, 0, 0, 0, 176, 178, 1, 0, 2, 220, 38, 72, 21, 0, 0, 0, 0, 188, 178, 1, - 0, 2, 221, 38, 80, 21, 0, 0, 0, 0, 220, 178, 1, 0, 2, 222, 38, 88, 21, 0, 0, 0, 0, 178, 177, 1, - 0, 2, 223, 38, 96, 21, 0, 0, 0, 0, 242, 178, 1, 0, 2, 224, 38, 104, 21, 0, 0, 0, 0, 182, 185, - 1, 0, 2, 225, 38, 112, 21, 0, 0, 0, 0, 161, 78, 1, 0, 2, 226, 38, 120, 21, 0, 0, 0, 0, 166, - 109, 0, 0, 2, 227, 38, 128, 0, 9, 28, 166, 1, 0, 13, 168, 0, 0, 0, 14, 39, 166, 1, 0, 0, 9, 35, - 165, 1, 0, 9, 49, 166, 1, 0, 13, 65, 166, 1, 0, 14, 65, 166, 1, 0, 14, 0, 1, 0, 0, 0, 9, 70, - 166, 1, 0, 20, 0, 0, 0, 0, 112, 2, 128, 46, 21, 0, 0, 0, 0, 9, 29, 0, 0, 2, 129, 46, 0, 21, 0, - 0, 0, 0, 39, 166, 1, 0, 2, 130, 46, 8, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 131, 46, 16, 21, 0, 0, - 0, 0, 127, 29, 0, 0, 2, 132, 46, 24, 21, 0, 0, 0, 0, 71, 167, 1, 0, 2, 133, 46, 32, 21, 0, 0, - 0, 0, 162, 177, 1, 0, 2, 134, 46, 40, 21, 0, 0, 0, 0, 178, 177, 1, 0, 2, 135, 46, 48, 21, 0, 0, - 0, 0, 225, 48, 0, 0, 2, 136, 46, 56, 21, 0, 0, 0, 0, 37, 65, 0, 0, 2, 137, 46, 58, 21, 0, 0, 0, - 0, 225, 48, 0, 0, 2, 138, 46, 60, 21, 0, 0, 0, 0, 225, 48, 0, 0, 2, 139, 46, 62, 21, 0, 0, 0, - 0, 176, 64, 0, 0, 2, 140, 46, 64, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 141, 46, 68, 21, 0, 0, 0, 0, - 127, 29, 0, 0, 2, 142, 46, 72, 21, 0, 0, 0, 0, 204, 177, 1, 0, 2, 143, 46, 80, 21, 0, 0, 0, 0, - 65, 29, 0, 0, 2, 144, 46, 88, 21, 0, 0, 0, 0, 37, 65, 0, 0, 2, 145, 46, 104, 21, 0, 0, 0, 0, - 37, 65, 0, 0, 2, 146, 46, 106, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 147, 46, 108, 0, 9, 76, 167, 1, - 0, 27, 0, 0, 0, 0, 216, 2, 2, 99, 232, 21, 0, 0, 0, 0, 193, 170, 1, 0, 2, 100, 232, 0, 22, 108, - 167, 1, 0, 2, 101, 232, 8, 23, 16, 2, 101, 232, 21, 0, 0, 0, 0, 184, 28, 0, 0, 2, 102, 232, 0, - 21, 0, 0, 0, 0, 184, 28, 0, 0, 2, 103, 232, 0, 0, 21, 0, 0, 0, 0, 184, 28, 0, 0, 2, 105, 232, - 24, 21, 0, 0, 0, 0, 184, 28, 0, 0, 2, 106, 232, 40, 21, 0, 0, 0, 0, 184, 28, 0, 0, 2, 107, 232, - 56, 21, 0, 0, 0, 0, 141, 64, 0, 0, 2, 108, 232, 72, 21, 0, 0, 0, 0, 248, 68, 0, 0, 2, 109, 232, - 76, 21, 0, 0, 0, 0, 224, 170, 1, 0, 2, 110, 232, 80, 21, 0, 0, 0, 0, 74, 171, 1, 0, 2, 111, - 232, 104, 21, 0, 0, 0, 0, 240, 171, 1, 0, 2, 112, 232, 160, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, - 113, 232, 168, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 114, 232, 172, 21, 0, 0, 0, 0, 125, 68, 0, 0, - 2, 115, 232, 176, 21, 0, 0, 0, 0, 20, 172, 1, 0, 2, 116, 232, 184, 21, 0, 0, 0, 0, 53, 168, 1, - 0, 2, 131, 232, 216, 24, 48, 2, 117, 232, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 118, 232, 0, 21, 0, - 0, 0, 0, 118, 55, 0, 0, 2, 119, 232, 4, 21, 0, 0, 0, 0, 118, 55, 0, 0, 2, 120, 232, 5, 21, 0, - 0, 0, 0, 118, 55, 0, 0, 2, 121, 232, 6, 21, 0, 0, 0, 0, 118, 55, 0, 0, 2, 122, 232, 7, 21, 0, - 0, 0, 0, 118, 55, 0, 0, 2, 123, 232, 8, 21, 0, 0, 0, 0, 118, 55, 0, 0, 2, 124, 232, 9, 21, 0, - 0, 0, 0, 177, 69, 0, 0, 2, 125, 232, 10, 21, 0, 0, 0, 0, 17, 171, 1, 0, 2, 126, 232, 12, 21, 0, - 0, 0, 0, 168, 0, 0, 0, 2, 127, 232, 28, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 128, 232, 32, 21, 0, - 0, 0, 0, 125, 68, 0, 0, 2, 129, 232, 36, 21, 0, 0, 0, 0, 240, 171, 1, 0, 2, 130, 232, 40, 0, - 28, 0, 0, 0, 0, 188, 172, 1, 0, 2, 132, 232, 8, 1, 28, 0, 0, 0, 0, 46, 173, 1, 0, 2, 133, 232, - 72, 1, 28, 0, 0, 0, 0, 113, 173, 1, 0, 2, 134, 232, 80, 1, 28, 0, 0, 0, 0, 113, 173, 1, 0, 2, - 135, 232, 88, 1, 28, 0, 0, 0, 0, 167, 173, 1, 0, 2, 136, 232, 96, 1, 28, 0, 0, 0, 0, 14, 29, 0, - 0, 2, 137, 232, 104, 1, 28, 0, 0, 0, 0, 234, 173, 1, 0, 2, 138, 232, 112, 1, 28, 0, 0, 0, 0, - 140, 40, 0, 0, 2, 139, 232, 120, 1, 28, 0, 0, 0, 0, 45, 174, 1, 0, 2, 140, 232, 128, 1, 28, 0, - 0, 0, 0, 71, 167, 1, 0, 2, 141, 232, 136, 1, 28, 0, 0, 0, 0, 176, 64, 0, 0, 2, 142, 232, 144, - 1, 28, 0, 0, 0, 0, 50, 174, 1, 0, 2, 143, 232, 148, 1, 28, 0, 0, 0, 0, 99, 174, 1, 0, 2, 144, - 232, 160, 1, 28, 0, 0, 0, 0, 50, 174, 1, 0, 2, 145, 232, 168, 1, 28, 0, 0, 0, 0, 99, 174, 1, 0, - 2, 146, 232, 184, 1, 28, 0, 0, 0, 0, 94, 15, 0, 0, 2, 147, 232, 192, 1, 28, 0, 0, 0, 0, 125, - 68, 0, 0, 2, 148, 232, 196, 1, 28, 0, 0, 0, 0, 125, 68, 0, 0, 2, 149, 232, 200, 1, 28, 0, 0, 0, - 0, 125, 68, 0, 0, 2, 150, 232, 204, 1, 28, 0, 0, 0, 0, 173, 161, 0, 0, 2, 151, 232, 208, 1, 28, - 0, 0, 0, 0, 217, 174, 1, 0, 2, 152, 232, 248, 1, 28, 0, 0, 0, 0, 10, 175, 1, 0, 2, 153, 232, 8, - 2, 28, 0, 0, 0, 0, 44, 207, 0, 0, 2, 154, 232, 40, 2, 28, 0, 0, 0, 0, 72, 175, 1, 0, 2, 155, - 232, 104, 2, 28, 0, 0, 0, 0, 248, 0, 0, 0, 2, 156, 232, 136, 2, 28, 0, 0, 0, 0, 245, 110, 0, 0, - 2, 157, 232, 144, 2, 28, 0, 0, 0, 0, 147, 175, 1, 0, 2, 158, 232, 152, 2, 28, 0, 0, 0, 0, 196, - 175, 1, 0, 2, 159, 232, 168, 2, 28, 0, 0, 0, 0, 149, 176, 1, 0, 2, 160, 232, 176, 2, 28, 0, 0, - 0, 0, 149, 176, 1, 0, 2, 161, 232, 179, 2, 28, 0, 0, 0, 0, 149, 176, 1, 0, 2, 162, 232, 182, 2, - 28, 0, 0, 0, 0, 198, 176, 1, 0, 2, 163, 232, 192, 2, 28, 0, 0, 0, 0, 82, 177, 1, 0, 2, 164, - 232, 200, 2, 28, 0, 0, 0, 0, 255, 0, 0, 0, 2, 165, 232, 208, 2, 0, 33, 205, 170, 1, 0, 0, 0, 0, - 0, 2, 20, 35, 24, 8, 2, 18, 35, 21, 0, 0, 0, 0, 115, 125, 1, 0, 2, 19, 35, 0, 0, 20, 0, 0, 0, - 0, 24, 2, 178, 231, 21, 0, 0, 0, 0, 17, 171, 1, 0, 2, 179, 231, 0, 21, 0, 0, 0, 0, 190, 48, 0, - 0, 2, 180, 231, 16, 21, 0, 0, 0, 0, 129, 55, 0, 0, 2, 181, 231, 20, 0, 33, 29, 171, 1, 0, 0, 0, - 0, 0, 2, 176, 231, 23, 16, 2, 172, 231, 21, 0, 0, 0, 0, 190, 48, 0, 0, 2, 173, 231, 0, 21, 0, - 0, 0, 0, 103, 150, 1, 0, 2, 174, 231, 0, 21, 0, 0, 0, 0, 11, 150, 1, 0, 2, 175, 231, 0, 0, 20, - 0, 0, 0, 0, 56, 2, 184, 231, 21, 0, 0, 0, 0, 17, 171, 1, 0, 2, 185, 231, 0, 21, 0, 0, 0, 0, 17, - 171, 1, 0, 2, 186, 231, 16, 21, 0, 0, 0, 0, 244, 48, 0, 0, 2, 187, 231, 32, 21, 0, 0, 0, 0, - 244, 48, 0, 0, 2, 188, 231, 34, 21, 0, 0, 0, 0, 244, 48, 0, 0, 2, 189, 231, 36, 21, 0, 0, 0, 0, - 244, 48, 0, 0, 2, 190, 231, 38, 21, 0, 0, 0, 0, 214, 48, 0, 0, 2, 191, 231, 40, 21, 0, 0, 0, 0, - 129, 55, 0, 0, 2, 192, 231, 42, 21, 0, 0, 0, 0, 129, 55, 0, 0, 2, 193, 231, 43, 21, 0, 0, 0, 0, - 129, 55, 0, 0, 2, 194, 231, 44, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 195, 231, 48, 21, 0, 0, 0, 0, - 10, 64, 0, 0, 2, 196, 231, 52, 0, 20, 0, 0, 0, 0, 8, 2, 53, 232, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, - 54, 232, 0, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 55, 232, 4, 0, 20, 0, 0, 0, 0, 32, 2, 66, 232, 21, - 0, 0, 0, 0, 227, 28, 0, 0, 2, 67, 232, 0, 21, 0, 0, 0, 0, 118, 55, 0, 0, 2, 68, 232, 16, 21, 0, - 0, 0, 0, 118, 55, 0, 0, 2, 69, 232, 17, 21, 0, 0, 0, 0, 118, 55, 0, 0, 2, 70, 232, 18, 21, 0, - 0, 0, 0, 125, 68, 0, 0, 2, 71, 232, 20, 21, 0, 0, 0, 0, 108, 172, 1, 0, 2, 72, 232, 24, 0, 9, - 113, 172, 1, 0, 20, 0, 0, 0, 0, 36, 2, 58, 232, 21, 0, 0, 0, 0, 17, 171, 1, 0, 2, 59, 232, 0, - 21, 0, 0, 0, 0, 17, 171, 1, 0, 2, 60, 232, 16, 21, 0, 0, 0, 0, 214, 48, 0, 0, 2, 61, 232, 32, - 21, 0, 0, 0, 0, 129, 55, 0, 0, 2, 62, 232, 34, 21, 0, 0, 0, 0, 129, 55, 0, 0, 2, 63, 232, 35, - 0, 20, 0, 0, 0, 0, 64, 2, 199, 231, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 200, 231, 0, 21, 0, 0, 0, - 0, 197, 0, 0, 0, 2, 201, 231, 8, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 202, 231, 16, 21, 0, 0, 0, 0, - 197, 0, 0, 0, 2, 203, 231, 24, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 204, 231, 32, 21, 0, 0, 0, 0, - 197, 0, 0, 0, 2, 205, 231, 40, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 206, 231, 48, 21, 0, 0, 0, 0, - 197, 0, 0, 0, 2, 207, 231, 56, 0, 9, 51, 173, 1, 0, 20, 0, 0, 0, 0, 72, 2, 239, 231, 21, 0, 0, - 0, 0, 178, 162, 0, 0, 2, 240, 231, 0, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 241, 231, 64, 21, 0, 0, - 0, 0, 11, 1, 0, 0, 2, 242, 231, 68, 21, 0, 0, 0, 0, 115, 29, 0, 0, 2, 243, 231, 72, 0, 9, 118, - 173, 1, 0, 20, 0, 0, 0, 0, 68, 2, 233, 231, 21, 0, 0, 0, 0, 178, 162, 0, 0, 2, 234, 231, 0, 21, - 0, 0, 0, 0, 11, 1, 0, 0, 2, 235, 231, 64, 21, 0, 0, 0, 0, 115, 29, 0, 0, 2, 236, 231, 68, 0, 9, - 172, 173, 1, 0, 20, 0, 0, 0, 0, 72, 2, 246, 231, 21, 0, 0, 0, 0, 178, 162, 0, 0, 2, 247, 231, - 0, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 248, 231, 64, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 249, 231, 68, - 21, 0, 0, 0, 0, 115, 29, 0, 0, 2, 250, 231, 72, 0, 9, 239, 173, 1, 0, 20, 0, 0, 0, 0, 24, 2, - 10, 232, 21, 0, 0, 0, 0, 214, 48, 0, 0, 2, 11, 232, 0, 21, 0, 0, 0, 0, 244, 48, 0, 0, 2, 12, - 232, 2, 21, 0, 0, 0, 0, 244, 48, 0, 0, 2, 13, 232, 4, 21, 0, 0, 0, 0, 17, 171, 1, 0, 2, 14, - 232, 8, 0, 9, 17, 171, 1, 0, 20, 0, 0, 0, 0, 12, 2, 217, 231, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, - 218, 231, 0, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 219, 231, 4, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 220, - 231, 8, 0, 9, 104, 174, 1, 0, 20, 0, 0, 0, 0, 24, 2, 223, 231, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, - 224, 231, 0, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 225, 231, 4, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 226, - 231, 8, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 227, 231, 12, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 228, 231, - 16, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 229, 231, 20, 21, 0, 0, 0, 0, 205, 174, 1, 0, 2, 230, 231, - 24, 0, 3, 0, 1, 0, 0, 4, 82, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 12, 2, 253, 231, 21, 0, 0, 0, 0, 0, - 1, 0, 0, 2, 254, 231, 0, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 255, 231, 4, 21, 0, 0, 0, 0, 0, 1, 0, - 0, 2, 0, 232, 8, 0, 20, 0, 0, 0, 0, 32, 2, 210, 231, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 211, 231, - 0, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 212, 231, 8, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 213, 231, 16, - 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 214, 231, 24, 0, 20, 0, 0, 0, 0, 32, 2, 81, 232, 21, 0, 0, 0, - 0, 9, 29, 0, 0, 2, 82, 232, 0, 21, 0, 0, 0, 0, 9, 29, 0, 0, 2, 83, 232, 8, 21, 0, 0, 0, 0, 127, - 29, 0, 0, 2, 84, 232, 16, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 85, 232, 24, 21, 0, 0, 0, 0, 118, 55, - 0, 0, 2, 86, 232, 28, 0, 20, 0, 0, 0, 0, 16, 2, 160, 2, 21, 0, 0, 0, 0, 68, 56, 0, 0, 2, 161, - 2, 0, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 162, 2, 8, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 163, 2, 12, 0, - 9, 201, 175, 1, 0, 26, 206, 175, 1, 0, 20, 0, 0, 0, 0, 56, 2, 23, 233, 21, 0, 0, 0, 0, 111, 83, - 0, 0, 2, 24, 233, 0, 21, 0, 0, 0, 0, 118, 55, 0, 0, 2, 25, 233, 8, 21, 0, 0, 0, 0, 118, 55, 0, - 0, 2, 26, 233, 9, 21, 0, 0, 0, 0, 64, 176, 1, 0, 2, 27, 233, 16, 21, 0, 0, 0, 0, 80, 176, 1, 0, - 2, 28, 233, 24, 21, 0, 0, 0, 0, 92, 176, 1, 0, 2, 29, 233, 32, 21, 0, 0, 0, 0, 92, 176, 1, 0, - 2, 30, 233, 40, 21, 0, 0, 0, 0, 113, 176, 1, 0, 2, 31, 233, 48, 0, 9, 69, 176, 1, 0, 13, 168, - 0, 0, 0, 14, 71, 167, 1, 0, 0, 9, 85, 176, 1, 0, 32, 14, 71, 167, 1, 0, 0, 9, 97, 176, 1, 0, - 13, 168, 0, 0, 0, 14, 71, 167, 1, 0, 14, 94, 34, 0, 0, 0, 9, 118, 176, 1, 0, 13, 168, 0, 0, 0, - 14, 71, 167, 1, 0, 14, 94, 34, 0, 0, 14, 139, 176, 1, 0, 0, 9, 144, 176, 1, 0, 26, 170, 147, 1, - 0, 20, 0, 0, 0, 0, 3, 2, 89, 232, 21, 0, 0, 0, 0, 118, 55, 0, 0, 2, 90, 232, 0, 21, 0, 0, 0, 0, - 118, 55, 0, 0, 2, 91, 232, 1, 21, 0, 0, 0, 0, 118, 55, 0, 0, 2, 92, 232, 2, 0, 9, 203, 176, 1, - 0, 26, 208, 176, 1, 0, 20, 0, 0, 0, 0, 40, 2, 34, 233, 21, 0, 0, 0, 0, 111, 83, 0, 0, 2, 35, - 233, 0, 21, 0, 0, 0, 0, 118, 55, 0, 0, 2, 36, 233, 8, 21, 0, 0, 0, 0, 27, 177, 1, 0, 2, 37, - 233, 16, 21, 0, 0, 0, 0, 92, 176, 1, 0, 2, 38, 233, 24, 21, 0, 0, 0, 0, 44, 177, 1, 0, 2, 39, - 233, 32, 0, 9, 32, 177, 1, 0, 32, 14, 71, 167, 1, 0, 14, 94, 34, 0, 0, 0, 9, 49, 177, 1, 0, 13, - 168, 0, 0, 0, 14, 71, 167, 1, 0, 14, 94, 34, 0, 0, 14, 70, 177, 1, 0, 0, 33, 136, 68, 0, 0, 0, - 0, 0, 0, 2, 115, 35, 9, 87, 177, 1, 0, 20, 0, 0, 0, 0, 8, 2, 210, 171, 21, 0, 0, 0, 0, 129, 55, - 0, 0, 2, 211, 171, 0, 21, 0, 0, 0, 0, 129, 55, 0, 0, 2, 212, 171, 1, 21, 0, 0, 0, 0, 214, 48, - 0, 0, 2, 213, 171, 2, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 214, 171, 4, 21, 0, 0, 0, 0, 115, 29, 0, - 0, 2, 215, 171, 8, 0, 9, 167, 177, 1, 0, 13, 168, 0, 0, 0, 14, 94, 34, 0, 0, 0, 9, 183, 177, 1, - 0, 13, 168, 0, 0, 0, 14, 115, 125, 1, 0, 14, 140, 40, 0, 0, 14, 94, 34, 0, 0, 0, 9, 209, 177, - 1, 0, 20, 0, 0, 0, 0, 48, 2, 78, 168, 21, 0, 0, 0, 0, 214, 48, 0, 0, 2, 79, 168, 0, 21, 0, 0, - 0, 0, 214, 48, 0, 0, 2, 80, 168, 2, 21, 0, 0, 0, 0, 214, 48, 0, 0, 2, 81, 168, 4, 21, 0, 0, 0, - 0, 176, 64, 0, 0, 2, 82, 168, 8, 21, 0, 0, 0, 0, 178, 177, 1, 0, 2, 83, 168, 16, 21, 0, 0, 0, - 0, 162, 177, 1, 0, 2, 84, 168, 24, 21, 0, 0, 0, 0, 65, 29, 0, 0, 2, 85, 168, 32, 21, 0, 0, 0, - 0, 67, 178, 1, 0, 2, 86, 168, 48, 0, 3, 129, 55, 0, 0, 4, 82, 0, 0, 0, 0, 0, 9, 84, 178, 1, 0, - 13, 11, 1, 0, 0, 14, 95, 178, 1, 0, 0, 9, 100, 178, 1, 0, 26, 70, 166, 1, 0, 9, 110, 178, 1, 0, - 13, 175, 236, 0, 0, 14, 65, 166, 1, 0, 14, 127, 29, 0, 0, 0, 9, 131, 178, 1, 0, 32, 14, 65, - 166, 1, 0, 0, 9, 143, 178, 1, 0, 32, 14, 65, 166, 1, 0, 14, 9, 29, 0, 0, 14, 168, 0, 0, 0, 0, - 9, 165, 178, 1, 0, 13, 65, 166, 1, 0, 14, 65, 166, 1, 0, 0, 9, 181, 178, 1, 0, 32, 14, 94, 34, - 0, 0, 0, 9, 193, 178, 1, 0, 32, 14, 65, 166, 1, 0, 14, 140, 40, 0, 0, 14, 94, 34, 0, 0, 14, - 125, 68, 0, 0, 14, 219, 52, 0, 0, 0, 9, 225, 178, 1, 0, 32, 14, 65, 166, 1, 0, 14, 140, 40, 0, - 0, 14, 94, 34, 0, 0, 0, 9, 247, 178, 1, 0, 13, 12, 179, 1, 0, 14, 95, 178, 1, 0, 14, 94, 34, 0, - 0, 14, 56, 1, 0, 0, 0, 9, 17, 179, 1, 0, 27, 0, 0, 0, 0, 128, 1, 2, 162, 46, 21, 0, 0, 0, 0, - 12, 179, 1, 0, 2, 163, 46, 0, 21, 0, 0, 0, 0, 116, 180, 1, 0, 2, 164, 46, 8, 21, 0, 0, 0, 0, 5, - 185, 1, 0, 2, 165, 46, 16, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 166, 46, 24, 21, 0, 0, 0, 0, 127, - 29, 0, 0, 2, 167, 46, 32, 21, 0, 0, 0, 0, 188, 107, 0, 0, 2, 168, 46, 40, 21, 0, 0, 0, 0, 141, - 64, 0, 0, 2, 169, 46, 48, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 170, 46, 52, 21, 0, 0, 0, 0, 195, - 183, 1, 0, 2, 171, 46, 56, 21, 0, 0, 0, 0, 173, 161, 0, 0, 2, 172, 46, 80, 21, 0, 0, 0, 0, 127, - 29, 0, 0, 2, 173, 46, 120, 21, 0, 0, 0, 0, 176, 64, 0, 0, 2, 174, 46, 128, 21, 0, 0, 0, 0, 129, - 55, 0, 0, 2, 175, 46, 132, 21, 0, 0, 0, 0, 129, 55, 0, 0, 2, 176, 46, 133, 21, 0, 0, 0, 0, 129, - 55, 0, 0, 2, 177, 46, 134, 21, 0, 0, 0, 0, 129, 55, 0, 0, 2, 178, 46, 135, 21, 0, 0, 0, 0, 118, - 55, 0, 0, 2, 179, 46, 136, 21, 0, 0, 0, 0, 114, 43, 1, 0, 2, 180, 46, 140, 21, 0, 0, 0, 0, 157, - 68, 0, 0, 2, 182, 46, 152, 21, 0, 0, 0, 0, 10, 185, 1, 0, 2, 183, 46, 184, 28, 0, 0, 0, 0, 59, - 185, 1, 0, 2, 184, 46, 72, 1, 28, 0, 0, 0, 0, 80, 185, 1, 0, 2, 185, 46, 80, 1, 28, 0, 0, 0, 0, - 227, 28, 0, 0, 2, 186, 46, 88, 1, 28, 0, 0, 0, 0, 65, 29, 0, 0, 2, 187, 46, 104, 1, 28, 0, 0, - 0, 0, 9, 29, 0, 0, 2, 188, 46, 120, 1, 28, 0, 0, 0, 0, 227, 16, 1, 0, 2, 189, 46, 128, 1, 0, 9, - 121, 180, 1, 0, 27, 0, 0, 0, 0, 232, 1, 2, 198, 52, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 199, 52, - 0, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 200, 52, 4, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 201, 52, 8, 21, - 0, 0, 0, 0, 244, 48, 0, 0, 2, 202, 52, 12, 21, 0, 0, 0, 0, 37, 182, 1, 0, 2, 203, 52, 16, 21, - 0, 0, 0, 0, 68, 182, 1, 0, 2, 204, 52, 24, 21, 0, 0, 0, 0, 99, 182, 1, 0, 2, 205, 52, 32, 21, - 0, 0, 0, 0, 115, 182, 1, 0, 2, 206, 52, 40, 21, 0, 0, 0, 0, 224, 182, 1, 0, 2, 207, 52, 48, 21, - 0, 0, 0, 0, 176, 178, 1, 0, 2, 208, 52, 56, 21, 0, 0, 0, 0, 236, 182, 1, 0, 2, 209, 52, 64, 21, - 0, 0, 0, 0, 252, 182, 1, 0, 2, 210, 52, 72, 21, 0, 0, 0, 0, 199, 53, 0, 0, 2, 211, 52, 80, 21, - 0, 0, 0, 0, 17, 183, 1, 0, 2, 212, 52, 88, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 213, 52, 232, 21, - 0, 0, 0, 0, 168, 0, 0, 0, 2, 214, 52, 248, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 215, 52, 252, 28, - 0, 0, 0, 0, 168, 0, 0, 0, 2, 216, 52, 0, 1, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 217, 52, 4, 1, 28, - 0, 0, 0, 0, 127, 29, 0, 0, 2, 218, 52, 8, 1, 28, 0, 0, 0, 0, 147, 165, 0, 0, 2, 219, 52, 16, 1, - 28, 0, 0, 0, 0, 173, 161, 0, 0, 2, 220, 52, 104, 1, 28, 0, 0, 0, 0, 195, 183, 1, 0, 2, 221, 52, - 144, 1, 28, 0, 0, 0, 0, 176, 64, 0, 0, 2, 222, 52, 168, 1, 28, 0, 0, 0, 0, 176, 64, 0, 0, 2, - 223, 52, 172, 1, 28, 0, 0, 0, 0, 227, 28, 0, 0, 2, 224, 52, 176, 1, 28, 0, 0, 0, 0, 188, 107, - 0, 0, 2, 225, 52, 192, 1, 28, 0, 0, 0, 0, 127, 29, 0, 0, 2, 226, 52, 200, 1, 28, 0, 0, 0, 0, 1, - 184, 1, 0, 2, 227, 52, 208, 1, 28, 0, 0, 0, 0, 172, 184, 1, 0, 2, 228, 52, 216, 1, 28, 0, 0, 0, - 0, 0, 185, 1, 0, 2, 229, 52, 224, 1, 0, 9, 42, 182, 1, 0, 13, 0, 1, 0, 0, 14, 56, 1, 0, 0, 14, - 162, 19, 0, 0, 14, 63, 182, 1, 0, 0, 9, 0, 1, 0, 0, 9, 73, 182, 1, 0, 13, 219, 52, 0, 0, 14, - 89, 182, 1, 0, 14, 56, 1, 0, 0, 0, 9, 94, 182, 1, 0, 26, 17, 179, 1, 0, 9, 104, 182, 1, 0, 13, - 168, 0, 0, 0, 14, 12, 179, 1, 0, 0, 9, 120, 182, 1, 0, 13, 168, 0, 0, 0, 14, 131, 182, 1, 0, 0, - 9, 136, 182, 1, 0, 20, 0, 0, 0, 0, 32, 2, 255, 52, 21, 0, 0, 0, 0, 131, 182, 1, 0, 2, 0, 53, 0, - 21, 0, 0, 0, 0, 193, 170, 1, 0, 2, 1, 53, 8, 21, 0, 0, 0, 0, 9, 29, 0, 0, 2, 2, 53, 16, 21, 0, - 0, 0, 0, 118, 55, 0, 0, 2, 3, 53, 24, 21, 0, 0, 0, 0, 118, 55, 0, 0, 2, 4, 53, 25, 21, 0, 0, 0, - 0, 227, 16, 1, 0, 2, 5, 53, 26, 0, 9, 229, 182, 1, 0, 32, 14, 131, 182, 1, 0, 0, 9, 241, 182, - 1, 0, 13, 168, 0, 0, 0, 14, 56, 1, 0, 0, 0, 9, 1, 183, 1, 0, 13, 219, 52, 0, 0, 14, 162, 19, 0, - 0, 14, 19, 152, 1, 0, 0, 20, 0, 0, 0, 0, 144, 2, 99, 50, 21, 0, 0, 0, 0, 193, 170, 1, 0, 2, - 100, 50, 0, 21, 0, 0, 0, 0, 9, 29, 0, 0, 2, 101, 50, 8, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 102, - 50, 16, 21, 0, 0, 0, 0, 99, 182, 1, 0, 2, 103, 50, 32, 21, 0, 0, 0, 0, 116, 180, 1, 0, 2, 104, - 50, 40, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 105, 50, 48, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 106, 50, - 56, 21, 0, 0, 0, 0, 141, 64, 0, 0, 2, 107, 50, 60, 21, 0, 0, 0, 0, 65, 29, 0, 0, 2, 108, 50, - 64, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 109, 50, 80, 21, 0, 0, 0, 0, 183, 183, 1, 0, 2, 110, 50, - 84, 21, 0, 0, 0, 0, 148, 159, 0, 0, 2, 111, 50, 136, 0, 3, 168, 0, 0, 0, 4, 82, 0, 0, 0, 13, 0, - 20, 0, 0, 0, 0, 24, 2, 108, 35, 21, 0, 0, 0, 0, 94, 34, 0, 0, 2, 109, 35, 0, 21, 0, 0, 0, 0, - 94, 34, 0, 0, 2, 110, 35, 8, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 111, 35, 16, 21, 0, 0, 0, 0, 248, - 68, 0, 0, 2, 112, 35, 20, 0, 9, 6, 184, 1, 0, 20, 0, 0, 0, 0, 96, 2, 232, 52, 21, 0, 0, 0, 0, - 127, 29, 0, 0, 2, 233, 52, 0, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 234, 52, 8, 21, 0, 0, 0, 0, - 127, 29, 0, 0, 2, 235, 52, 16, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 236, 52, 24, 21, 0, 0, 0, 0, - 127, 29, 0, 0, 2, 237, 52, 32, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 238, 52, 40, 21, 0, 0, 0, 0, - 127, 29, 0, 0, 2, 239, 52, 48, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 240, 52, 56, 21, 0, 0, 0, 0, - 127, 29, 0, 0, 2, 241, 52, 64, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 242, 52, 72, 21, 0, 0, 0, 0, - 127, 29, 0, 0, 2, 243, 52, 80, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 244, 52, 88, 0, 9, 177, 184, - 1, 0, 20, 0, 0, 0, 0, 48, 2, 8, 53, 21, 0, 0, 0, 0, 239, 184, 1, 0, 2, 9, 53, 0, 21, 0, 0, 0, - 0, 11, 1, 0, 0, 2, 10, 53, 8, 21, 0, 0, 0, 0, 244, 184, 1, 0, 2, 11, 53, 12, 21, 0, 0, 0, 0, - 65, 29, 0, 0, 2, 12, 53, 32, 0, 9, 12, 179, 1, 0, 3, 0, 1, 0, 0, 4, 82, 0, 0, 0, 4, 0, 9, 131, - 182, 1, 0, 9, 17, 183, 1, 0, 20, 0, 0, 0, 0, 144, 2, 150, 46, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, - 151, 46, 0, 21, 0, 0, 0, 0, 114, 43, 1, 0, 2, 152, 46, 4, 21, 0, 0, 0, 0, 232, 132, 1, 0, 2, - 153, 46, 16, 0, 9, 64, 185, 1, 0, 13, 168, 0, 0, 0, 14, 12, 179, 1, 0, 14, 94, 34, 0, 0, 0, 9, - 85, 185, 1, 0, 26, 90, 185, 1, 0, 20, 0, 0, 0, 0, 40, 2, 247, 52, 21, 0, 0, 0, 0, 168, 0, 0, 0, - 2, 248, 52, 0, 21, 0, 0, 0, 0, 165, 185, 1, 0, 2, 249, 52, 8, 21, 0, 0, 0, 0, 165, 185, 1, 0, - 2, 250, 52, 16, 21, 0, 0, 0, 0, 59, 185, 1, 0, 2, 251, 52, 24, 21, 0, 0, 0, 0, 59, 185, 1, 0, - 2, 252, 52, 32, 0, 9, 170, 185, 1, 0, 32, 14, 12, 179, 1, 0, 14, 94, 34, 0, 0, 0, 9, 187, 185, - 1, 0, 32, 14, 95, 178, 1, 0, 14, 56, 1, 0, 0, 0, 20, 0, 0, 0, 0, 184, 2, 233, 38, 21, 0, 0, 0, - 0, 194, 130, 1, 0, 2, 234, 38, 0, 21, 0, 0, 0, 0, 194, 130, 1, 0, 2, 235, 38, 8, 21, 0, 0, 0, - 0, 194, 130, 1, 0, 2, 236, 38, 16, 21, 0, 0, 0, 0, 194, 130, 1, 0, 2, 237, 38, 24, 21, 0, 0, 0, - 0, 194, 130, 1, 0, 2, 238, 38, 32, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 239, 38, 40, 21, 0, 0, 0, - 0, 168, 0, 0, 0, 2, 240, 38, 44, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 241, 38, 48, 21, 0, 0, 0, 0, - 168, 0, 0, 0, 2, 242, 38, 52, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 243, 38, 56, 21, 0, 0, 0, 0, - 168, 0, 0, 0, 2, 244, 38, 60, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 245, 38, 64, 21, 0, 0, 0, 0, - 168, 0, 0, 0, 2, 246, 38, 68, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 247, 38, 72, 21, 0, 0, 0, 0, - 118, 55, 0, 0, 2, 248, 38, 76, 21, 0, 0, 0, 0, 118, 55, 0, 0, 2, 249, 38, 77, 21, 0, 0, 0, 0, - 118, 55, 0, 0, 2, 250, 38, 78, 21, 0, 0, 0, 0, 118, 55, 0, 0, 2, 251, 38, 79, 21, 0, 0, 0, 0, - 168, 0, 0, 0, 2, 252, 38, 80, 21, 0, 0, 0, 0, 118, 55, 0, 0, 2, 253, 38, 84, 21, 0, 0, 0, 0, - 118, 55, 0, 0, 2, 254, 38, 85, 21, 0, 0, 0, 0, 118, 55, 0, 0, 2, 255, 38, 86, 21, 0, 0, 0, 0, - 217, 187, 1, 0, 2, 0, 39, 88, 21, 0, 0, 0, 0, 75, 110, 0, 0, 2, 1, 39, 120, 21, 0, 0, 0, 0, - 118, 55, 0, 0, 2, 2, 39, 128, 21, 0, 0, 0, 0, 118, 55, 0, 0, 2, 3, 39, 129, 21, 0, 0, 0, 0, - 118, 55, 0, 0, 2, 4, 39, 130, 21, 0, 0, 0, 0, 118, 55, 0, 0, 2, 5, 39, 131, 21, 0, 0, 0, 0, - 168, 0, 0, 0, 2, 6, 39, 132, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 7, 39, 136, 21, 0, 0, 0, 0, 168, - 0, 0, 0, 2, 8, 39, 140, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 9, 39, 144, 21, 0, 0, 0, 0, 168, 0, 0, - 0, 2, 10, 39, 148, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 11, 39, 152, 21, 0, 0, 0, 0, 168, 0, 0, 0, - 2, 12, 39, 156, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 13, 39, 160, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, - 14, 39, 164, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 15, 39, 168, 21, 0, 0, 0, 0, 219, 52, 0, 0, 2, - 16, 39, 176, 21, 0, 0, 0, 0, 118, 55, 0, 0, 2, 17, 39, 177, 0, 3, 127, 29, 0, 0, 4, 82, 0, 0, - 0, 4, 0, 9, 234, 187, 1, 0, 20, 0, 0, 0, 0, 248, 2, 197, 46, 21, 0, 0, 0, 0, 112, 103, 0, 0, 2, - 198, 46, 0, 21, 0, 0, 0, 0, 112, 103, 0, 0, 2, 199, 46, 4, 21, 0, 0, 0, 0, 112, 103, 0, 0, 2, - 200, 46, 8, 21, 0, 0, 0, 0, 112, 103, 0, 0, 2, 201, 46, 12, 21, 0, 0, 0, 0, 112, 103, 0, 0, 2, - 202, 46, 16, 21, 0, 0, 0, 0, 112, 103, 0, 0, 2, 203, 46, 20, 21, 0, 0, 0, 0, 112, 103, 0, 0, 2, - 204, 46, 24, 21, 0, 0, 0, 0, 112, 103, 0, 0, 2, 205, 46, 28, 21, 0, 0, 0, 0, 112, 103, 0, 0, 2, - 206, 46, 32, 21, 0, 0, 0, 0, 112, 103, 0, 0, 2, 207, 46, 36, 21, 0, 0, 0, 0, 112, 103, 0, 0, 2, - 208, 46, 40, 21, 0, 0, 0, 0, 112, 103, 0, 0, 2, 209, 46, 44, 21, 0, 0, 0, 0, 112, 103, 0, 0, 2, - 210, 46, 48, 21, 0, 0, 0, 0, 112, 103, 0, 0, 2, 211, 46, 52, 21, 0, 0, 0, 0, 112, 103, 0, 0, 2, - 212, 46, 56, 21, 0, 0, 0, 0, 112, 103, 0, 0, 2, 213, 46, 60, 21, 0, 0, 0, 0, 112, 103, 0, 0, 2, - 214, 46, 64, 21, 0, 0, 0, 0, 112, 103, 0, 0, 2, 215, 46, 68, 21, 0, 0, 0, 0, 112, 103, 0, 0, 2, - 216, 46, 72, 21, 0, 0, 0, 0, 112, 103, 0, 0, 2, 217, 46, 76, 21, 0, 0, 0, 0, 112, 103, 0, 0, 2, - 218, 46, 80, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 219, 46, 84, 21, 0, 0, 0, 0, 112, 103, 0, 0, 2, - 220, 46, 88, 21, 0, 0, 0, 0, 112, 103, 0, 0, 2, 221, 46, 92, 21, 0, 0, 0, 0, 112, 103, 0, 0, 2, - 222, 46, 96, 21, 0, 0, 0, 0, 112, 103, 0, 0, 2, 223, 46, 100, 21, 0, 0, 0, 0, 112, 103, 0, 0, - 2, 224, 46, 104, 21, 0, 0, 0, 0, 112, 103, 0, 0, 2, 225, 46, 108, 21, 0, 0, 0, 0, 112, 103, 0, - 0, 2, 226, 46, 112, 21, 0, 0, 0, 0, 112, 103, 0, 0, 2, 227, 46, 116, 21, 0, 0, 0, 0, 112, 103, - 0, 0, 2, 228, 46, 120, 21, 0, 0, 0, 0, 112, 103, 0, 0, 2, 229, 46, 124, 21, 0, 0, 0, 0, 112, - 103, 0, 0, 2, 230, 46, 128, 21, 0, 0, 0, 0, 112, 103, 0, 0, 2, 231, 46, 132, 21, 0, 0, 0, 0, - 112, 103, 0, 0, 2, 232, 46, 136, 21, 0, 0, 0, 0, 112, 103, 0, 0, 2, 233, 46, 140, 21, 0, 0, 0, - 0, 112, 103, 0, 0, 2, 234, 46, 144, 21, 0, 0, 0, 0, 112, 103, 0, 0, 2, 235, 46, 148, 21, 0, 0, - 0, 0, 112, 103, 0, 0, 2, 236, 46, 152, 21, 0, 0, 0, 0, 112, 103, 0, 0, 2, 237, 46, 156, 21, 0, - 0, 0, 0, 112, 103, 0, 0, 2, 238, 46, 160, 21, 0, 0, 0, 0, 112, 103, 0, 0, 2, 239, 46, 164, 21, - 0, 0, 0, 0, 112, 103, 0, 0, 2, 240, 46, 168, 21, 0, 0, 0, 0, 217, 190, 1, 0, 2, 241, 46, 172, - 21, 0, 0, 0, 0, 112, 103, 0, 0, 2, 242, 46, 192, 21, 0, 0, 0, 0, 112, 103, 0, 0, 2, 243, 46, - 196, 21, 0, 0, 0, 0, 112, 103, 0, 0, 2, 244, 46, 200, 21, 0, 0, 0, 0, 112, 103, 0, 0, 2, 245, - 46, 204, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 246, 46, 208, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 247, 46, - 212, 21, 0, 0, 0, 0, 112, 103, 0, 0, 2, 248, 46, 216, 21, 0, 0, 0, 0, 112, 103, 0, 0, 2, 249, - 46, 220, 21, 0, 0, 0, 0, 112, 103, 0, 0, 2, 250, 46, 224, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 251, - 46, 228, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 252, 46, 232, 21, 0, 0, 0, 0, 129, 55, 0, 0, 2, 253, - 46, 236, 21, 0, 0, 0, 0, 194, 130, 1, 0, 2, 254, 46, 240, 0, 20, 0, 0, 0, 0, 20, 2, 192, 46, - 21, 0, 0, 0, 0, 219, 52, 0, 0, 2, 193, 46, 0, 21, 0, 0, 0, 0, 11, 150, 1, 0, 2, 194, 46, 4, 0, - 9, 2, 191, 1, 0, 20, 0, 0, 0, 0, 160, 2, 91, 231, 21, 0, 0, 0, 0, 146, 192, 1, 0, 2, 92, 231, - 0, 21, 0, 0, 0, 0, 253, 190, 1, 0, 2, 93, 231, 8, 21, 0, 0, 0, 0, 136, 193, 1, 0, 2, 94, 231, - 16, 22, 59, 191, 1, 0, 2, 95, 231, 24, 23, 16, 2, 95, 231, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, - 96, 231, 0, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 97, 231, 0, 0, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, - 99, 231, 40, 21, 0, 0, 0, 0, 141, 64, 0, 0, 2, 100, 231, 44, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, - 101, 231, 48, 21, 0, 0, 0, 0, 141, 193, 1, 0, 2, 102, 231, 56, 21, 0, 0, 0, 0, 194, 193, 1, 0, - 2, 103, 231, 64, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 104, 231, 84, 21, 0, 0, 0, 0, 194, 193, 1, - 0, 2, 105, 231, 88, 21, 0, 0, 0, 0, 194, 193, 1, 0, 2, 106, 231, 108, 21, 0, 0, 0, 0, 125, 68, - 0, 0, 2, 107, 231, 128, 21, 0, 0, 0, 0, 118, 55, 0, 0, 2, 108, 231, 132, 21, 0, 0, 0, 0, 118, - 55, 0, 0, 2, 109, 231, 133, 34, 0, 0, 0, 0, 118, 55, 0, 0, 2, 110, 231, 1, 1, 7, 134, 34, 0, 0, - 0, 0, 118, 55, 0, 0, 2, 111, 231, 1, 1, 6, 134, 34, 0, 0, 0, 0, 118, 55, 0, 0, 2, 112, 231, 1, - 1, 5, 134, 34, 0, 0, 0, 0, 118, 55, 0, 0, 2, 113, 231, 1, 1, 4, 134, 34, 0, 0, 0, 0, 118, 55, - 0, 0, 2, 114, 231, 1, 1, 3, 134, 34, 0, 0, 0, 0, 118, 55, 0, 0, 2, 115, 231, 1, 1, 2, 134, 34, - 0, 0, 0, 0, 118, 55, 0, 0, 2, 116, 231, 1, 1, 1, 134, 34, 0, 0, 0, 0, 118, 55, 0, 0, 2, 117, - 231, 1, 1, 0, 134, 21, 0, 0, 0, 0, 65, 29, 0, 0, 2, 118, 231, 136, 21, 0, 0, 0, 0, 230, 193, 1, - 0, 2, 119, 231, 152, 21, 0, 0, 0, 0, 159, 207, 1, 0, 2, 120, 231, 160, 0, 9, 151, 192, 1, 0, - 20, 0, 0, 0, 0, 128, 2, 162, 231, 21, 0, 0, 0, 0, 184, 28, 0, 0, 2, 163, 231, 0, 21, 0, 0, 0, - 0, 125, 68, 0, 0, 2, 164, 231, 16, 21, 0, 0, 0, 0, 248, 68, 0, 0, 2, 165, 231, 20, 21, 0, 0, 0, - 0, 252, 192, 1, 0, 2, 166, 231, 24, 21, 0, 0, 0, 0, 141, 154, 1, 0, 2, 167, 231, 96, 21, 0, 0, - 0, 0, 11, 1, 0, 0, 2, 168, 231, 120, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 169, 231, 124, 0, 20, 0, - 0, 0, 0, 72, 2, 149, 231, 21, 0, 0, 0, 0, 136, 193, 1, 0, 2, 150, 231, 0, 21, 0, 0, 0, 0, 136, - 193, 1, 0, 2, 151, 231, 8, 21, 0, 0, 0, 0, 136, 193, 1, 0, 2, 152, 231, 16, 21, 0, 0, 0, 0, - 136, 193, 1, 0, 2, 153, 231, 24, 21, 0, 0, 0, 0, 253, 190, 1, 0, 2, 154, 231, 32, 21, 0, 0, 0, - 0, 214, 48, 0, 0, 2, 155, 231, 40, 21, 0, 0, 0, 0, 214, 48, 0, 0, 2, 156, 231, 42, 21, 0, 0, 0, - 0, 168, 0, 0, 0, 2, 157, 231, 44, 21, 0, 0, 0, 0, 253, 190, 1, 0, 2, 158, 231, 48, 21, 0, 0, 0, - 0, 65, 29, 0, 0, 2, 159, 231, 56, 0, 9, 252, 192, 1, 0, 9, 146, 193, 1, 0, 20, 0, 0, 0, 0, 72, - 2, 168, 232, 21, 0, 0, 0, 0, 182, 193, 1, 0, 2, 169, 232, 0, 21, 0, 0, 0, 0, 141, 64, 0, 0, 2, - 170, 232, 68, 0, 3, 125, 68, 0, 0, 4, 82, 0, 0, 0, 17, 0, 20, 0, 0, 0, 0, 20, 2, 48, 231, 21, - 0, 0, 0, 0, 11, 150, 1, 0, 2, 49, 231, 0, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 50, 231, 16, 0, 9, - 235, 193, 1, 0, 47, 0, 0, 0, 0, 136, 2, 5, 170, 1, 0, 48, 0, 0, 0, 0, 86, 40, 0, 0, 2, 6, 170, - 1, 0, 0, 48, 0, 0, 0, 0, 227, 28, 0, 0, 2, 7, 170, 1, 0, 24, 48, 0, 0, 0, 0, 227, 28, 0, 0, 2, - 8, 170, 1, 0, 40, 48, 0, 0, 0, 0, 227, 28, 0, 0, 2, 9, 170, 1, 0, 56, 48, 0, 0, 0, 0, 227, 28, - 0, 0, 2, 10, 170, 1, 0, 72, 48, 0, 0, 0, 0, 115, 125, 1, 0, 2, 11, 170, 1, 0, 88, 48, 0, 0, 0, - 0, 125, 68, 0, 0, 2, 12, 170, 1, 0, 96, 48, 0, 0, 0, 0, 118, 55, 0, 0, 2, 13, 170, 1, 0, 100, - 48, 0, 0, 0, 0, 118, 55, 0, 0, 2, 14, 170, 1, 0, 101, 48, 0, 0, 0, 0, 219, 52, 0, 0, 2, 15, - 170, 1, 0, 102, 48, 0, 0, 0, 0, 141, 64, 0, 0, 2, 16, 170, 1, 0, 104, 48, 0, 0, 0, 0, 65, 29, - 0, 0, 2, 17, 170, 1, 0, 112, 51, 181, 194, 1, 0, 2, 18, 170, 1, 0, 128, 59, 8, 2, 18, 170, 1, - 0, 48, 0, 0, 0, 0, 220, 194, 1, 0, 2, 19, 170, 1, 0, 0, 48, 0, 0, 0, 0, 54, 205, 1, 0, 2, 20, - 170, 1, 0, 0, 0, 0, 9, 225, 194, 1, 0, 47, 0, 0, 0, 0, 144, 2, 46, 171, 1, 0, 48, 0, 0, 0, 0, - 184, 28, 0, 0, 2, 47, 171, 1, 0, 0, 48, 0, 0, 0, 0, 230, 193, 1, 0, 2, 48, 171, 1, 0, 16, 48, - 0, 0, 0, 0, 118, 55, 0, 0, 2, 49, 171, 1, 0, 24, 48, 0, 0, 0, 0, 219, 52, 0, 0, 2, 50, 171, 1, - 0, 25, 48, 0, 0, 0, 0, 219, 52, 0, 0, 2, 51, 171, 1, 0, 26, 51, 66, 195, 1, 0, 2, 52, 171, 1, - 0, 32, 59, 112, 2, 52, 171, 1, 0, 48, 0, 0, 0, 0, 120, 195, 1, 0, 2, 53, 171, 1, 0, 0, 48, 0, - 0, 0, 0, 19, 198, 1, 0, 2, 54, 171, 1, 0, 0, 48, 0, 0, 0, 0, 209, 199, 1, 0, 2, 55, 171, 1, 0, - 0, 0, 0, 20, 0, 0, 0, 0, 72, 2, 57, 231, 21, 0, 0, 0, 0, 9, 29, 0, 0, 2, 58, 231, 0, 21, 0, 0, - 0, 0, 168, 0, 0, 0, 2, 59, 231, 8, 21, 0, 0, 0, 0, 5, 49, 0, 0, 2, 60, 231, 12, 21, 0, 0, 0, 0, - 118, 55, 0, 0, 2, 61, 231, 13, 21, 0, 0, 0, 0, 118, 55, 0, 0, 2, 62, 231, 14, 21, 0, 0, 0, 0, - 5, 49, 0, 0, 2, 63, 231, 15, 21, 0, 0, 0, 0, 204, 177, 1, 0, 2, 64, 231, 16, 21, 0, 0, 0, 0, - 233, 195, 1, 0, 2, 68, 231, 24, 23, 16, 2, 65, 231, 21, 0, 0, 0, 0, 190, 48, 0, 0, 2, 66, 231, - 0, 21, 0, 0, 0, 0, 11, 150, 1, 0, 2, 67, 231, 0, 0, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 69, 231, - 40, 21, 0, 0, 0, 0, 176, 64, 0, 0, 2, 70, 231, 44, 21, 0, 0, 0, 0, 75, 196, 1, 0, 2, 71, 231, - 48, 21, 0, 0, 0, 0, 80, 196, 1, 0, 2, 72, 231, 56, 21, 0, 0, 0, 0, 89, 197, 1, 0, 2, 73, 231, - 64, 0, 9, 80, 196, 1, 0, 9, 85, 196, 1, 0, 20, 0, 0, 0, 0, 176, 2, 251, 232, 21, 0, 0, 0, 0, - 70, 166, 1, 0, 2, 252, 232, 0, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 253, 232, 112, 21, 0, 0, 0, 0, - 11, 1, 0, 0, 2, 254, 232, 116, 21, 0, 0, 0, 0, 214, 48, 0, 0, 2, 255, 232, 120, 21, 0, 0, 0, 0, - 129, 55, 0, 0, 2, 0, 233, 122, 21, 0, 0, 0, 0, 129, 55, 0, 0, 2, 1, 233, 123, 21, 0, 0, 0, 0, - 168, 0, 0, 0, 2, 2, 233, 124, 21, 0, 0, 0, 0, 118, 55, 0, 0, 2, 3, 233, 128, 22, 207, 196, 1, - 0, 2, 4, 233, 132, 23, 16, 2, 4, 233, 21, 0, 0, 0, 0, 190, 48, 0, 0, 2, 5, 233, 0, 21, 0, 0, 0, - 0, 11, 150, 1, 0, 2, 6, 233, 0, 0, 34, 0, 0, 0, 0, 125, 68, 0, 0, 2, 8, 233, 4, 1, 31, 148, 34, - 0, 0, 0, 0, 125, 68, 0, 0, 2, 9, 233, 4, 31, 0, 148, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 10, 233, - 152, 21, 0, 0, 0, 0, 42, 197, 1, 0, 2, 11, 233, 168, 0, 9, 47, 197, 1, 0, 47, 0, 0, 0, 0, 24, - 2, 77, 199, 1, 0, 48, 0, 0, 0, 0, 248, 68, 0, 0, 2, 78, 199, 1, 0, 0, 48, 0, 0, 0, 0, 227, 28, - 0, 0, 2, 79, 199, 1, 0, 8, 0, 9, 94, 197, 1, 0, 20, 0, 0, 0, 0, 8, 2, 14, 233, 21, 0, 0, 0, 0, - 117, 197, 1, 0, 2, 15, 233, 0, 0, 9, 122, 197, 1, 0, 20, 0, 0, 0, 0, 80, 2, 237, 232, 21, 0, 0, - 0, 0, 117, 197, 1, 0, 2, 238, 232, 0, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 239, 232, 8, 21, 0, 0, - 0, 0, 190, 48, 0, 0, 2, 240, 232, 12, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 241, 232, 16, 21, 0, 0, - 0, 0, 219, 52, 0, 0, 2, 242, 232, 20, 21, 0, 0, 0, 0, 190, 48, 0, 0, 2, 243, 232, 24, 21, 0, 0, - 0, 0, 127, 29, 0, 0, 2, 244, 232, 32, 21, 0, 0, 0, 0, 80, 196, 1, 0, 2, 245, 232, 40, 21, 0, 0, - 0, 0, 80, 196, 1, 0, 2, 246, 232, 48, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 247, 232, 56, 21, 0, 0, - 0, 0, 65, 29, 0, 0, 2, 248, 232, 64, 0, 47, 0, 0, 0, 0, 112, 2, 224, 169, 1, 0, 48, 0, 0, 0, 0, - 120, 195, 1, 0, 2, 225, 169, 1, 0, 0, 48, 0, 0, 0, 0, 184, 28, 0, 0, 2, 226, 169, 1, 0, 72, 48, - 0, 0, 0, 0, 121, 198, 1, 0, 2, 227, 169, 1, 0, 88, 48, 0, 0, 0, 0, 0, 1, 0, 0, 2, 228, 169, 1, - 0, 96, 48, 0, 0, 0, 0, 190, 48, 0, 0, 2, 229, 169, 1, 0, 100, 48, 0, 0, 0, 0, 168, 0, 0, 0, 2, - 230, 169, 1, 0, 104, 0, 9, 126, 198, 1, 0, 47, 0, 0, 0, 0, 128, 2, 233, 169, 1, 0, 48, 0, 0, 0, - 0, 184, 28, 0, 0, 2, 234, 169, 1, 0, 0, 48, 0, 0, 0, 0, 184, 28, 0, 0, 2, 235, 169, 1, 0, 16, - 48, 0, 0, 0, 0, 227, 28, 0, 0, 2, 236, 169, 1, 0, 32, 48, 0, 0, 0, 0, 115, 125, 1, 0, 2, 237, - 169, 1, 0, 48, 48, 0, 0, 0, 0, 141, 64, 0, 0, 2, 238, 169, 1, 0, 56, 48, 0, 0, 0, 0, 141, 64, - 0, 0, 2, 239, 169, 1, 0, 60, 48, 0, 0, 0, 0, 11, 1, 0, 0, 2, 240, 169, 1, 0, 64, 48, 0, 0, 0, - 0, 5, 49, 0, 0, 2, 241, 169, 1, 0, 68, 48, 0, 0, 0, 0, 5, 49, 0, 0, 2, 242, 169, 1, 0, 69, 48, - 0, 0, 0, 0, 5, 49, 0, 0, 2, 243, 169, 1, 0, 70, 48, 0, 0, 0, 0, 5, 49, 0, 0, 2, 244, 169, 1, 0, - 71, 48, 0, 0, 0, 0, 190, 48, 0, 0, 2, 245, 169, 1, 0, 72, 48, 0, 0, 0, 0, 125, 68, 0, 0, 2, - 246, 169, 1, 0, 76, 48, 0, 0, 0, 0, 125, 68, 0, 0, 2, 247, 169, 1, 0, 80, 48, 0, 0, 0, 0, 141, - 193, 1, 0, 2, 248, 169, 1, 0, 88, 48, 0, 0, 0, 0, 168, 0, 0, 0, 2, 249, 169, 1, 0, 96, 48, 0, - 0, 0, 0, 219, 52, 0, 0, 2, 250, 169, 1, 0, 100, 48, 0, 0, 0, 0, 219, 52, 0, 0, 2, 251, 169, 1, - 0, 101, 48, 0, 0, 0, 0, 230, 193, 1, 0, 2, 252, 169, 1, 0, 104, 48, 0, 0, 0, 0, 65, 29, 0, 0, - 2, 253, 169, 1, 0, 112, 48, 0, 0, 0, 0, 197, 199, 1, 0, 2, 254, 169, 1, 0, 128, 0, 3, 19, 198, - 1, 0, 4, 82, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 96, 2, 78, 231, 21, 0, 0, 0, 0, 120, 195, 1, 0, 2, - 79, 231, 0, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 80, 231, 72, 21, 0, 0, 0, 0, 15, 200, 1, 0, 2, - 81, 231, 80, 21, 0, 0, 0, 0, 13, 205, 1, 0, 2, 82, 231, 88, 0, 9, 20, 200, 1, 0, 9, 25, 200, 1, - 0, 20, 0, 0, 0, 0, 232, 2, 125, 231, 21, 0, 0, 0, 0, 70, 166, 1, 0, 2, 126, 231, 0, 21, 0, 0, - 0, 0, 253, 190, 1, 0, 2, 127, 231, 112, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 128, 231, 120, 21, 0, - 0, 0, 0, 194, 193, 1, 0, 2, 129, 231, 124, 21, 0, 0, 0, 0, 194, 193, 1, 0, 2, 130, 231, 144, - 21, 0, 0, 0, 0, 11, 150, 1, 0, 2, 131, 231, 164, 21, 0, 0, 0, 0, 178, 200, 1, 0, 2, 132, 231, - 184, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 133, 231, 192, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 134, - 231, 200, 21, 0, 0, 0, 0, 42, 197, 1, 0, 2, 135, 231, 216, 21, 0, 0, 0, 0, 225, 48, 0, 0, 2, - 136, 231, 224, 0, 9, 183, 200, 1, 0, 27, 0, 0, 0, 0, 16, 4, 2, 76, 51, 21, 0, 0, 0, 0, 9, 29, - 0, 0, 2, 77, 51, 0, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 78, 51, 8, 21, 0, 0, 0, 0, 214, 202, 1, - 0, 2, 79, 51, 24, 21, 0, 0, 0, 0, 214, 202, 1, 0, 2, 80, 51, 32, 21, 0, 0, 0, 0, 5, 49, 0, 0, - 2, 81, 51, 40, 21, 0, 0, 0, 0, 5, 49, 0, 0, 2, 82, 51, 41, 21, 0, 0, 0, 0, 5, 49, 0, 0, 2, 83, - 51, 42, 21, 0, 0, 0, 0, 5, 49, 0, 0, 2, 84, 51, 43, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 85, 51, - 48, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 86, 51, 56, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 87, 51, 64, - 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 88, 51, 72, 21, 0, 0, 0, 0, 147, 165, 0, 0, 2, 89, 51, 80, - 21, 0, 0, 0, 0, 147, 165, 0, 0, 2, 90, 51, 168, 28, 0, 0, 0, 0, 147, 165, 0, 0, 2, 91, 51, 0, - 1, 28, 0, 0, 0, 0, 147, 165, 0, 0, 2, 92, 51, 88, 1, 28, 0, 0, 0, 0, 147, 165, 0, 0, 2, 93, 51, - 176, 1, 28, 0, 0, 0, 0, 195, 183, 1, 0, 2, 94, 51, 8, 2, 28, 0, 0, 0, 0, 195, 183, 1, 0, 2, 95, - 51, 32, 2, 28, 0, 0, 0, 0, 248, 68, 0, 0, 2, 96, 51, 56, 2, 28, 0, 0, 0, 0, 248, 68, 0, 0, 2, - 97, 51, 60, 2, 28, 0, 0, 0, 0, 241, 106, 0, 0, 2, 98, 51, 64, 2, 28, 0, 0, 0, 0, 18, 204, 1, 0, - 2, 99, 51, 96, 2, 28, 0, 0, 0, 0, 188, 107, 0, 0, 2, 100, 51, 104, 2, 28, 0, 0, 0, 0, 141, 64, - 0, 0, 2, 101, 51, 112, 2, 28, 0, 0, 0, 0, 0, 1, 0, 0, 2, 102, 51, 116, 2, 28, 0, 0, 0, 0, 168, - 0, 0, 0, 2, 103, 51, 120, 2, 28, 0, 0, 0, 0, 125, 68, 0, 0, 2, 104, 51, 124, 2, 28, 0, 0, 0, 0, - 227, 28, 0, 0, 2, 105, 51, 128, 2, 28, 0, 0, 0, 0, 11, 150, 1, 0, 2, 106, 51, 144, 2, 28, 0, 0, - 0, 0, 5, 185, 1, 0, 2, 107, 51, 160, 2, 28, 0, 0, 0, 0, 234, 187, 1, 0, 2, 108, 51, 168, 2, 28, - 0, 0, 0, 0, 150, 204, 1, 0, 2, 109, 51, 160, 3, 28, 0, 0, 0, 0, 173, 161, 0, 0, 2, 110, 51, - 192, 3, 28, 0, 0, 0, 0, 112, 103, 0, 0, 2, 111, 51, 232, 3, 28, 0, 0, 0, 0, 129, 55, 0, 0, 2, - 112, 51, 236, 3, 28, 0, 0, 0, 0, 127, 29, 0, 0, 2, 113, 51, 240, 3, 28, 0, 0, 0, 0, 65, 29, 0, - 0, 2, 114, 51, 248, 3, 28, 0, 0, 0, 0, 11, 1, 0, 0, 2, 115, 51, 8, 4, 0, 9, 219, 202, 1, 0, 20, - 0, 0, 0, 0, 208, 2, 230, 53, 21, 0, 0, 0, 0, 11, 150, 1, 0, 2, 231, 53, 0, 21, 0, 0, 0, 0, 178, - 200, 1, 0, 2, 232, 53, 16, 21, 0, 0, 0, 0, 214, 202, 1, 0, 2, 233, 53, 24, 21, 0, 0, 0, 0, 168, - 203, 1, 0, 2, 234, 53, 32, 21, 0, 0, 0, 0, 168, 203, 1, 0, 2, 235, 53, 40, 21, 0, 0, 0, 0, 11, - 1, 0, 0, 2, 236, 53, 48, 21, 0, 0, 0, 0, 5, 49, 0, 0, 2, 237, 53, 52, 21, 0, 0, 0, 0, 111, 105, - 0, 0, 2, 238, 53, 56, 21, 0, 0, 0, 0, 147, 165, 0, 0, 2, 239, 53, 72, 21, 0, 0, 0, 0, 11, 1, 0, - 0, 2, 240, 53, 160, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 241, 53, 164, 21, 0, 0, 0, 0, 141, 64, 0, - 0, 2, 242, 53, 168, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 243, 53, 176, 21, 0, 0, 0, 0, 127, 29, 0, - 0, 2, 244, 53, 184, 21, 0, 0, 0, 0, 65, 29, 0, 0, 2, 245, 53, 192, 0, 9, 173, 203, 1, 0, 20, 0, - 0, 0, 0, 64, 2, 220, 53, 21, 0, 0, 0, 0, 168, 203, 1, 0, 2, 221, 53, 0, 21, 0, 0, 0, 0, 11, - 150, 1, 0, 2, 222, 53, 8, 21, 0, 0, 0, 0, 111, 105, 0, 0, 2, 223, 53, 24, 21, 0, 0, 0, 0, 5, - 49, 0, 0, 2, 224, 53, 40, 21, 0, 0, 0, 0, 5, 49, 0, 0, 2, 225, 53, 41, 21, 0, 0, 0, 0, 5, 49, - 0, 0, 2, 226, 53, 42, 21, 0, 0, 0, 0, 65, 29, 0, 0, 2, 227, 53, 48, 0, 9, 23, 204, 1, 0, 20, 0, - 0, 0, 0, 88, 2, 248, 53, 21, 0, 0, 0, 0, 11, 150, 1, 0, 2, 249, 53, 0, 21, 0, 0, 0, 0, 253, - 190, 1, 0, 2, 250, 53, 16, 21, 0, 0, 0, 0, 18, 204, 1, 0, 2, 251, 53, 24, 21, 0, 0, 0, 0, 184, - 28, 0, 0, 2, 252, 53, 32, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 253, 53, 48, 21, 0, 0, 0, 0, 141, - 64, 0, 0, 2, 254, 53, 52, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 255, 53, 56, 21, 0, 0, 0, 0, 127, - 29, 0, 0, 2, 0, 54, 64, 21, 0, 0, 0, 0, 65, 29, 0, 0, 2, 1, 54, 72, 0, 20, 0, 0, 0, 0, 32, 2, - 65, 51, 21, 0, 0, 0, 0, 144, 231, 0, 0, 2, 66, 51, 0, 21, 0, 0, 0, 0, 149, 132, 1, 0, 2, 67, - 51, 8, 21, 0, 0, 0, 0, 212, 204, 1, 0, 2, 68, 51, 16, 21, 0, 0, 0, 0, 240, 204, 1, 0, 2, 69, - 51, 24, 0, 9, 217, 204, 1, 0, 20, 0, 0, 0, 0, 48, 2, 181, 45, 21, 0, 0, 0, 0, 253, 43, 1, 0, 2, - 182, 45, 0, 0, 9, 245, 204, 1, 0, 27, 0, 0, 0, 0, 0, 16, 2, 189, 45, 21, 0, 0, 0, 0, 7, 134, 1, - 0, 2, 190, 45, 0, 0, 9, 18, 205, 1, 0, 20, 0, 0, 0, 0, 16, 2, 18, 233, 21, 0, 0, 0, 0, 190, - 103, 0, 0, 2, 19, 233, 0, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 20, 233, 8, 0, 9, 59, 205, 1, 0, 47, - 0, 0, 0, 0, 24, 2, 98, 171, 1, 0, 48, 0, 0, 0, 0, 54, 205, 1, 0, 2, 99, 171, 1, 0, 0, 48, 0, 0, - 0, 0, 177, 69, 0, 0, 2, 100, 171, 1, 0, 8, 48, 0, 0, 0, 0, 219, 52, 0, 0, 2, 101, 171, 1, 0, - 10, 48, 0, 0, 0, 0, 219, 52, 0, 0, 2, 102, 171, 1, 0, 11, 48, 0, 0, 0, 0, 219, 52, 0, 0, 2, - 103, 171, 1, 0, 12, 48, 0, 0, 0, 0, 219, 52, 0, 0, 2, 104, 171, 1, 0, 13, 48, 0, 0, 0, 0, 219, - 52, 0, 0, 2, 105, 171, 1, 0, 14, 48, 0, 0, 0, 0, 206, 205, 1, 0, 2, 106, 171, 1, 0, 16, 48, 0, - 0, 0, 0, 147, 207, 1, 0, 2, 107, 171, 1, 0, 24, 0, 9, 211, 205, 1, 0, 47, 0, 0, 0, 0, 144, 2, - 86, 171, 1, 0, 48, 0, 0, 0, 0, 115, 125, 1, 0, 2, 87, 171, 1, 0, 0, 48, 0, 0, 0, 0, 125, 68, 0, - 0, 2, 88, 171, 1, 0, 8, 48, 0, 0, 0, 0, 147, 165, 0, 0, 2, 89, 171, 1, 0, 16, 48, 0, 0, 0, 0, - 227, 28, 0, 0, 2, 90, 171, 1, 0, 104, 48, 0, 0, 0, 0, 127, 29, 0, 0, 2, 91, 171, 1, 0, 120, 48, - 0, 0, 0, 0, 125, 68, 0, 0, 2, 92, 171, 1, 0, 128, 48, 0, 0, 0, 0, 125, 68, 0, 0, 2, 93, 171, 1, - 0, 132, 48, 0, 0, 0, 0, 177, 69, 0, 0, 2, 94, 171, 1, 0, 136, 48, 0, 0, 0, 0, 102, 206, 1, 0, - 2, 95, 171, 1, 0, 144, 0, 3, 114, 206, 1, 0, 4, 82, 0, 0, 0, 0, 0, 47, 0, 0, 0, 0, 32, 2, 61, - 171, 1, 0, 48, 0, 0, 0, 0, 201, 206, 1, 0, 2, 62, 171, 1, 0, 0, 48, 0, 0, 0, 0, 71, 97, 0, 0, - 2, 63, 171, 1, 0, 8, 48, 0, 0, 0, 0, 127, 29, 0, 0, 2, 64, 171, 1, 0, 16, 48, 0, 0, 0, 0, 219, - 52, 0, 0, 2, 65, 171, 1, 0, 24, 48, 0, 0, 0, 0, 118, 55, 0, 0, 2, 66, 171, 1, 0, 25, 0, 9, 206, - 206, 1, 0, 47, 0, 0, 0, 0, 64, 2, 69, 171, 1, 0, 48, 0, 0, 0, 0, 230, 193, 1, 0, 2, 70, 171, 1, - 0, 0, 48, 0, 0, 0, 0, 118, 55, 0, 0, 2, 71, 171, 1, 0, 8, 51, 2, 207, 1, 0, 2, 72, 171, 1, 0, - 16, 59, 24, 2, 72, 171, 1, 0, 48, 0, 0, 0, 0, 24, 207, 1, 0, 2, 75, 171, 1, 0, 0, 60, 4, 2, 73, - 171, 1, 0, 48, 0, 0, 0, 0, 176, 64, 0, 0, 2, 74, 171, 1, 0, 0, 0, 48, 0, 0, 0, 0, 62, 207, 1, - 0, 2, 80, 171, 1, 0, 0, 60, 24, 2, 76, 171, 1, 0, 48, 0, 0, 0, 0, 227, 28, 0, 0, 2, 77, 171, 1, - 0, 0, 48, 0, 0, 0, 0, 177, 69, 0, 0, 2, 78, 171, 1, 0, 16, 48, 0, 0, 0, 0, 177, 69, 0, 0, 2, - 79, 171, 1, 0, 18, 0, 0, 48, 0, 0, 0, 0, 227, 28, 0, 0, 2, 82, 171, 1, 0, 40, 48, 0, 0, 0, 0, - 230, 193, 1, 0, 2, 83, 171, 1, 0, 56, 0, 3, 206, 206, 1, 0, 4, 82, 0, 0, 0, 0, 0, 3, 209, 199, - 1, 0, 4, 82, 0, 0, 0, 0, 0, 9, 176, 207, 1, 0, 20, 0, 0, 0, 0, 28, 2, 139, 231, 21, 0, 0, 0, 0, - 0, 1, 0, 0, 2, 140, 231, 0, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 141, 231, 4, 21, 0, 0, 0, 0, 0, 1, - 0, 0, 2, 142, 231, 8, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 143, 231, 12, 21, 0, 0, 0, 0, 0, 1, 0, 0, - 2, 144, 231, 16, 21, 0, 0, 0, 0, 176, 64, 0, 0, 2, 145, 231, 20, 21, 0, 0, 0, 0, 176, 64, 0, 0, - 2, 146, 231, 24, 0, 9, 26, 208, 1, 0, 47, 0, 0, 0, 0, 176, 2, 234, 175, 1, 0, 48, 0, 0, 0, 0, - 241, 106, 0, 0, 2, 235, 175, 1, 0, 0, 48, 0, 0, 0, 0, 83, 208, 1, 0, 2, 236, 175, 1, 0, 32, 48, - 0, 0, 0, 0, 223, 119, 1, 0, 2, 237, 175, 1, 0, 40, 0, 9, 11, 150, 1, 0, 9, 93, 208, 1, 0, 50, - 0, 0, 0, 0, 48, 1, 2, 131, 209, 1, 0, 48, 0, 0, 0, 0, 241, 106, 0, 0, 2, 132, 209, 1, 0, 0, 48, - 0, 0, 0, 0, 223, 119, 1, 0, 2, 133, 209, 1, 0, 32, 48, 0, 0, 0, 0, 223, 119, 1, 0, 2, 134, 209, - 1, 0, 168, 0, 20, 0, 0, 0, 0, 16, 2, 84, 39, 21, 0, 0, 0, 0, 187, 208, 1, 0, 2, 85, 39, 0, 21, - 0, 0, 0, 0, 190, 154, 1, 0, 2, 86, 39, 8, 0, 20, 0, 0, 0, 0, 8, 2, 80, 39, 21, 0, 0, 0, 0, 194, - 130, 1, 0, 2, 81, 39, 0, 0, 27, 0, 0, 0, 0, 40, 1, 2, 91, 39, 21, 0, 0, 0, 0, 59, 211, 1, 0, 2, - 92, 39, 0, 21, 0, 0, 0, 0, 144, 231, 0, 0, 2, 93, 39, 8, 21, 0, 0, 0, 0, 194, 130, 1, 0, 2, 94, - 39, 16, 21, 0, 0, 0, 0, 140, 40, 0, 0, 2, 95, 39, 24, 21, 0, 0, 0, 0, 140, 40, 0, 0, 2, 96, 39, - 32, 21, 0, 0, 0, 0, 140, 40, 0, 0, 2, 97, 39, 40, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 98, 39, 48, - 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 99, 39, 52, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 100, 39, 56, 21, - 0, 0, 0, 0, 227, 28, 0, 0, 2, 101, 39, 72, 21, 0, 0, 0, 0, 173, 161, 0, 0, 2, 102, 39, 88, 21, - 0, 0, 0, 0, 227, 28, 0, 0, 2, 103, 39, 128, 21, 0, 0, 0, 0, 248, 68, 0, 0, 2, 104, 39, 144, 21, - 0, 0, 0, 0, 248, 68, 0, 0, 2, 105, 39, 148, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 106, 39, 152, 21, - 0, 0, 0, 0, 11, 1, 0, 0, 2, 107, 39, 156, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 108, 39, 160, 21, 0, - 0, 0, 0, 168, 0, 0, 0, 2, 109, 39, 164, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 110, 39, 168, 21, 0, - 0, 0, 0, 168, 0, 0, 0, 2, 111, 39, 172, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 112, 39, 176, 21, 0, - 0, 0, 0, 199, 53, 0, 0, 2, 113, 39, 184, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 114, 39, 192, 21, 0, - 0, 0, 0, 11, 1, 0, 0, 2, 115, 39, 196, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 116, 39, 200, 21, 0, 0, - 0, 0, 11, 1, 0, 0, 2, 117, 39, 204, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 118, 39, 208, 21, 0, 0, 0, - 0, 168, 0, 0, 0, 2, 119, 39, 212, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 120, 39, 216, 21, 0, 0, 0, - 0, 168, 0, 0, 0, 2, 121, 39, 220, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 122, 39, 224, 21, 0, 0, 0, - 0, 168, 0, 0, 0, 2, 123, 39, 228, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 124, 39, 232, 21, 0, 0, 0, - 0, 168, 0, 0, 0, 2, 125, 39, 236, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 126, 39, 240, 21, 0, 0, 0, - 0, 168, 0, 0, 0, 2, 127, 39, 244, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 128, 39, 248, 21, 0, 0, 0, - 0, 168, 0, 0, 0, 2, 129, 39, 252, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 130, 39, 0, 1, 28, 0, 0, 0, - 0, 168, 0, 0, 0, 2, 131, 39, 4, 1, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 132, 39, 8, 1, 28, 0, 0, 0, - 0, 168, 0, 0, 0, 2, 133, 39, 12, 1, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 134, 39, 16, 1, 28, 0, 0, - 0, 0, 168, 0, 0, 0, 2, 135, 39, 20, 1, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 136, 39, 24, 1, 28, 0, - 0, 0, 0, 127, 29, 0, 0, 2, 137, 39, 32, 1, 0, 9, 64, 211, 1, 0, 45, 0, 0, 0, 0, 27, 0, 0, 0, 0, - 16, 1, 2, 144, 39, 21, 0, 0, 0, 0, 144, 231, 0, 0, 2, 145, 39, 0, 21, 0, 0, 0, 0, 199, 211, 1, - 0, 2, 146, 39, 8, 21, 0, 0, 0, 0, 194, 130, 1, 0, 2, 147, 39, 112, 21, 0, 0, 0, 0, 76, 213, 1, - 0, 2, 148, 39, 120, 21, 0, 0, 0, 0, 76, 213, 1, 0, 2, 149, 39, 160, 21, 0, 0, 0, 0, 70, 214, 1, - 0, 2, 150, 39, 200, 21, 0, 0, 0, 0, 76, 213, 1, 0, 2, 151, 39, 224, 28, 0, 0, 0, 0, 11, 1, 0, - 0, 2, 152, 39, 8, 1, 28, 0, 0, 0, 0, 11, 1, 0, 0, 2, 153, 39, 12, 1, 0, 3, 211, 211, 1, 0, 4, - 82, 0, 0, 0, 13, 0, 9, 216, 211, 1, 0, 26, 221, 211, 1, 0, 20, 0, 0, 0, 0, 32, 2, 13, 47, 21, - 0, 0, 0, 0, 199, 53, 0, 0, 2, 14, 47, 0, 21, 0, 0, 0, 0, 126, 15, 0, 0, 2, 15, 47, 8, 21, 0, 0, - 0, 0, 27, 212, 1, 0, 2, 16, 47, 16, 21, 0, 0, 0, 0, 111, 83, 0, 0, 2, 17, 47, 24, 0, 9, 32, - 212, 1, 0, 33, 44, 212, 1, 0, 0, 0, 0, 0, 2, 11, 47, 32, 14, 115, 125, 1, 0, 14, 86, 212, 1, 0, - 14, 11, 1, 0, 0, 14, 98, 212, 1, 0, 14, 162, 19, 0, 0, 14, 162, 19, 0, 0, 14, 108, 212, 1, 0, - 14, 14, 29, 0, 0, 0, 33, 118, 55, 0, 0, 0, 0, 0, 0, 2, 7, 47, 9, 103, 212, 1, 0, 26, 99, 34, 0, - 0, 9, 113, 212, 1, 0, 26, 118, 212, 1, 0, 47, 0, 0, 0, 0, 16, 2, 145, 198, 1, 0, 48, 0, 0, 0, - 0, 86, 212, 1, 0, 2, 146, 198, 1, 0, 0, 48, 0, 0, 0, 0, 159, 212, 1, 0, 2, 158, 198, 1, 0, 4, - 59, 12, 2, 147, 198, 1, 0, 48, 0, 0, 0, 0, 181, 212, 1, 0, 2, 153, 198, 1, 0, 0, 60, 12, 2, - 148, 198, 1, 0, 48, 0, 0, 0, 0, 48, 213, 1, 0, 2, 149, 198, 1, 0, 0, 48, 0, 0, 0, 0, 62, 213, - 1, 0, 2, 150, 198, 1, 0, 4, 48, 0, 0, 0, 0, 62, 213, 1, 0, 2, 151, 198, 1, 0, 6, 48, 0, 0, 0, - 0, 62, 213, 1, 0, 2, 152, 198, 1, 0, 8, 0, 48, 0, 0, 0, 0, 8, 213, 1, 0, 2, 157, 198, 1, 0, 0, - 60, 2, 2, 154, 198, 1, 0, 48, 0, 0, 0, 0, 86, 212, 1, 0, 2, 155, 198, 1, 0, 0, 48, 0, 0, 0, 0, - 86, 212, 1, 0, 2, 156, 198, 1, 0, 1, 0, 0, 0, 54, 125, 68, 0, 0, 0, 0, 0, 0, 2, 220, 165, 1, 0, - 54, 177, 69, 0, 0, 0, 0, 0, 0, 2, 218, 165, 1, 0, 3, 88, 213, 1, 0, 4, 82, 0, 0, 0, 5, 0, 9, - 93, 213, 1, 0, 20, 0, 0, 0, 0, 8, 2, 120, 222, 21, 0, 0, 0, 0, 177, 69, 0, 0, 2, 121, 222, 0, - 21, 0, 0, 0, 0, 129, 213, 1, 0, 2, 122, 222, 8, 0, 3, 141, 213, 1, 0, 4, 82, 0, 0, 0, 0, 0, 20, - 0, 0, 0, 0, 16, 2, 115, 222, 21, 0, 0, 0, 0, 177, 213, 1, 0, 2, 116, 222, 0, 21, 0, 0, 0, 0, - 255, 0, 0, 0, 2, 117, 222, 8, 0, 9, 182, 213, 1, 0, 33, 194, 213, 1, 0, 0, 0, 0, 0, 2, 113, - 222, 13, 11, 1, 0, 0, 14, 255, 0, 0, 0, 14, 94, 34, 0, 0, 14, 215, 213, 1, 0, 0, 9, 220, 213, - 1, 0, 26, 225, 213, 1, 0, 20, 0, 0, 0, 0, 48, 2, 125, 222, 21, 0, 0, 0, 0, 118, 55, 0, 0, 2, - 126, 222, 0, 21, 0, 0, 0, 0, 118, 55, 0, 0, 2, 127, 222, 1, 21, 0, 0, 0, 0, 9, 29, 0, 0, 2, - 128, 222, 8, 21, 0, 0, 0, 0, 9, 29, 0, 0, 2, 129, 222, 16, 21, 0, 0, 0, 0, 140, 40, 0, 0, 2, - 130, 222, 24, 21, 0, 0, 0, 0, 115, 125, 1, 0, 2, 131, 222, 32, 21, 0, 0, 0, 0, 178, 177, 1, 0, - 2, 132, 222, 40, 0, 3, 88, 213, 1, 0, 4, 82, 0, 0, 0, 3, 0, 20, 0, 0, 0, 0, 240, 2, 209, 39, - 21, 0, 0, 0, 0, 219, 52, 0, 0, 2, 210, 39, 0, 21, 0, 0, 0, 0, 118, 55, 0, 0, 2, 211, 39, 1, 21, - 0, 0, 0, 0, 118, 55, 0, 0, 2, 212, 39, 2, 21, 0, 0, 0, 0, 118, 55, 0, 0, 2, 213, 39, 3, 21, 0, - 0, 0, 0, 118, 55, 0, 0, 2, 214, 39, 4, 21, 0, 0, 0, 0, 118, 55, 0, 0, 2, 215, 39, 5, 21, 0, 0, - 0, 0, 118, 55, 0, 0, 2, 216, 39, 6, 21, 0, 0, 0, 0, 248, 214, 1, 0, 2, 217, 39, 8, 21, 0, 0, 0, - 0, 46, 215, 1, 0, 2, 218, 39, 16, 21, 0, 0, 0, 0, 230, 215, 1, 0, 2, 219, 39, 24, 21, 0, 0, 0, - 0, 146, 225, 1, 0, 2, 220, 39, 32, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 221, 39, 232, 0, 9, 253, - 214, 1, 0, 20, 0, 0, 0, 0, 24, 2, 40, 47, 21, 0, 0, 0, 0, 248, 68, 0, 0, 2, 41, 47, 0, 21, 0, - 0, 0, 0, 60, 143, 1, 0, 2, 42, 47, 8, 21, 0, 0, 0, 0, 60, 143, 1, 0, 2, 43, 47, 16, 0, 9, 51, - 215, 1, 0, 20, 0, 0, 0, 0, 52, 2, 24, 47, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 25, 47, 0, 21, 0, 0, - 0, 0, 11, 1, 0, 0, 2, 26, 47, 4, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 27, 47, 8, 21, 0, 0, 0, 0, 11, - 1, 0, 0, 2, 28, 47, 12, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 29, 47, 16, 21, 0, 0, 0, 0, 11, 1, 0, - 0, 2, 30, 47, 20, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 31, 47, 24, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, - 32, 47, 28, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 33, 47, 32, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 34, 47, - 36, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 35, 47, 40, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 36, 47, 44, 21, - 0, 0, 0, 0, 11, 1, 0, 0, 2, 37, 47, 48, 0, 9, 235, 215, 1, 0, 47, 0, 0, 0, 0, 16, 2, 219, 166, - 1, 0, 48, 0, 0, 0, 0, 21, 216, 1, 0, 2, 220, 166, 1, 0, 0, 48, 0, 0, 0, 0, 236, 223, 1, 0, 2, - 221, 166, 1, 0, 8, 0, 9, 26, 216, 1, 0, 13, 168, 0, 0, 0, 14, 11, 1, 0, 0, 14, 42, 216, 1, 0, - 0, 9, 47, 216, 1, 0, 26, 52, 216, 1, 0, 47, 0, 0, 0, 0, 16, 2, 119, 172, 1, 0, 48, 0, 0, 0, 0, - 109, 216, 1, 0, 2, 120, 172, 1, 0, 0, 48, 0, 0, 0, 0, 125, 68, 0, 0, 2, 121, 172, 1, 0, 8, 48, - 0, 0, 0, 0, 168, 0, 0, 0, 2, 122, 172, 1, 0, 12, 0, 9, 114, 216, 1, 0, 50, 0, 0, 0, 0, 0, 1, 2, - 55, 172, 1, 0, 48, 0, 0, 0, 0, 103, 217, 1, 0, 2, 56, 172, 1, 0, 0, 48, 0, 0, 0, 0, 248, 68, 0, - 0, 2, 57, 172, 1, 0, 4, 48, 0, 0, 0, 0, 125, 68, 0, 0, 2, 58, 172, 1, 0, 8, 48, 0, 0, 0, 0, - 130, 217, 1, 0, 2, 59, 172, 1, 0, 12, 48, 0, 0, 0, 0, 187, 217, 1, 0, 2, 60, 172, 1, 0, 16, 48, - 0, 0, 0, 0, 127, 29, 0, 0, 2, 61, 172, 1, 0, 128, 48, 0, 0, 0, 0, 177, 69, 0, 0, 2, 62, 172, 1, - 0, 136, 48, 0, 0, 0, 0, 193, 170, 1, 0, 2, 63, 172, 1, 0, 144, 48, 0, 0, 0, 0, 184, 28, 0, 0, - 2, 64, 172, 1, 0, 152, 48, 0, 0, 0, 0, 20, 217, 1, 0, 2, 65, 172, 1, 0, 168, 61, 0, 2, 65, 172, - 1, 0, 48, 0, 0, 0, 0, 109, 216, 1, 0, 2, 66, 172, 1, 0, 168, 48, 0, 0, 0, 0, 48, 213, 1, 0, 2, - 67, 172, 1, 0, 176, 48, 0, 0, 0, 0, 48, 213, 1, 0, 2, 68, 172, 1, 0, 180, 48, 0, 0, 0, 0, 15, - 221, 1, 0, 2, 69, 172, 1, 0, 184, 48, 0, 0, 0, 0, 89, 221, 1, 0, 2, 70, 172, 1, 0, 192, 0, 47, - 0, 0, 0, 0, 4, 2, 172, 164, 1, 0, 48, 0, 0, 0, 0, 176, 64, 0, 0, 2, 173, 164, 1, 0, 0, 0, 47, - 0, 0, 0, 0, 4, 2, 243, 171, 1, 0, 48, 0, 0, 0, 0, 177, 69, 0, 0, 2, 244, 171, 1, 0, 0, 48, 0, - 0, 0, 0, 118, 55, 0, 0, 2, 245, 171, 1, 0, 2, 48, 0, 0, 0, 0, 118, 55, 0, 0, 2, 246, 171, 1, 0, - 3, 0, 3, 199, 217, 1, 0, 4, 82, 0, 0, 0, 2, 0, 47, 0, 0, 0, 0, 56, 2, 30, 172, 1, 0, 48, 0, 0, - 0, 0, 88, 143, 1, 0, 2, 31, 172, 1, 0, 0, 48, 0, 0, 0, 0, 241, 217, 1, 0, 2, 32, 172, 1, 0, 16, - 0, 47, 0, 0, 0, 0, 40, 2, 255, 171, 1, 0, 48, 0, 0, 0, 0, 105, 219, 1, 0, 2, 0, 172, 1, 0, 0, - 48, 0, 0, 0, 0, 26, 218, 1, 0, 2, 27, 172, 1, 0, 20, 60, 20, 2, 1, 172, 1, 0, 48, 0, 0, 0, 0, - 162, 219, 1, 0, 2, 2, 172, 1, 0, 0, 48, 0, 0, 0, 0, 63, 218, 1, 0, 2, 24, 172, 1, 0, 16, 59, 2, - 2, 3, 172, 1, 0, 48, 0, 0, 0, 0, 244, 48, 0, 0, 2, 4, 172, 1, 0, 0, 48, 0, 0, 0, 0, 100, 218, - 1, 0, 2, 7, 172, 1, 0, 0, 60, 2, 2, 5, 172, 1, 0, 48, 0, 0, 0, 0, 244, 48, 0, 0, 2, 6, 172, 1, - 0, 0, 0, 48, 0, 0, 0, 0, 138, 218, 1, 0, 2, 10, 172, 1, 0, 0, 60, 2, 2, 8, 172, 1, 0, 48, 0, 0, - 0, 0, 244, 48, 0, 0, 2, 9, 172, 1, 0, 0, 0, 48, 0, 0, 0, 0, 176, 218, 1, 0, 2, 14, 172, 1, 0, - 0, 60, 2, 2, 11, 172, 1, 0, 48, 0, 0, 0, 0, 86, 212, 1, 0, 2, 12, 172, 1, 0, 0, 48, 0, 0, 0, 0, - 86, 212, 1, 0, 2, 13, 172, 1, 0, 1, 0, 48, 0, 0, 0, 0, 229, 218, 1, 0, 2, 17, 172, 1, 0, 0, 60, - 2, 2, 15, 172, 1, 0, 48, 0, 0, 0, 0, 244, 48, 0, 0, 2, 16, 172, 1, 0, 0, 0, 48, 0, 0, 0, 0, 11, - 219, 1, 0, 2, 20, 172, 1, 0, 0, 60, 2, 2, 18, 172, 1, 0, 48, 0, 0, 0, 0, 244, 48, 0, 0, 2, 19, - 172, 1, 0, 0, 0, 48, 0, 0, 0, 0, 49, 219, 1, 0, 2, 23, 172, 1, 0, 0, 60, 2, 2, 21, 172, 1, 0, - 48, 0, 0, 0, 0, 244, 48, 0, 0, 2, 22, 172, 1, 0, 0, 0, 0, 48, 0, 0, 0, 0, 86, 212, 1, 0, 2, 25, - 172, 1, 0, 18, 48, 0, 0, 0, 0, 86, 212, 1, 0, 2, 26, 172, 1, 0, 19, 0, 0, 47, 0, 0, 0, 0, 20, - 2, 249, 171, 1, 0, 48, 0, 0, 0, 0, 162, 219, 1, 0, 2, 250, 171, 1, 0, 0, 48, 0, 0, 0, 0, 16, - 220, 1, 0, 2, 251, 171, 1, 0, 16, 48, 0, 0, 0, 0, 62, 213, 1, 0, 2, 252, 171, 1, 0, 18, 0, 58, - 0, 0, 0, 0, 16, 2, 147, 166, 1, 0, 48, 0, 0, 0, 0, 244, 184, 1, 0, 2, 148, 166, 1, 0, 0, 48, 0, - 0, 0, 0, 190, 48, 0, 0, 2, 149, 166, 1, 0, 0, 48, 0, 0, 0, 0, 103, 150, 1, 0, 2, 150, 166, 1, - 0, 0, 48, 0, 0, 0, 0, 249, 219, 1, 0, 2, 151, 166, 1, 0, 0, 48, 0, 0, 0, 0, 11, 150, 1, 0, 2, - 152, 166, 1, 0, 0, 0, 20, 0, 0, 0, 0, 4, 2, 100, 222, 21, 0, 0, 0, 0, 190, 48, 0, 0, 2, 101, - 222, 0, 0, 58, 0, 0, 0, 0, 2, 2, 178, 166, 1, 0, 48, 0, 0, 0, 0, 244, 48, 0, 0, 2, 179, 166, 1, - 0, 0, 48, 0, 0, 0, 0, 57, 220, 1, 0, 2, 182, 166, 1, 0, 0, 60, 2, 2, 180, 166, 1, 0, 48, 0, 0, - 0, 0, 244, 48, 0, 0, 2, 181, 166, 1, 0, 0, 0, 48, 0, 0, 0, 0, 95, 220, 1, 0, 2, 185, 166, 1, 0, - 0, 60, 2, 2, 183, 166, 1, 0, 48, 0, 0, 0, 0, 244, 48, 0, 0, 2, 184, 166, 1, 0, 0, 0, 48, 0, 0, - 0, 0, 133, 220, 1, 0, 2, 188, 166, 1, 0, 0, 60, 2, 2, 186, 166, 1, 0, 48, 0, 0, 0, 0, 244, 48, - 0, 0, 2, 187, 166, 1, 0, 0, 0, 48, 0, 0, 0, 0, 171, 220, 1, 0, 2, 191, 166, 1, 0, 0, 60, 2, 2, - 189, 166, 1, 0, 48, 0, 0, 0, 0, 244, 48, 0, 0, 2, 190, 166, 1, 0, 0, 0, 48, 0, 0, 0, 0, 209, - 220, 1, 0, 2, 194, 166, 1, 0, 0, 60, 2, 2, 192, 166, 1, 0, 48, 0, 0, 0, 0, 244, 48, 0, 0, 2, - 193, 166, 1, 0, 0, 0, 48, 0, 0, 0, 0, 247, 220, 1, 0, 2, 197, 166, 1, 0, 0, 60, 2, 2, 195, 166, - 1, 0, 48, 0, 0, 0, 0, 244, 48, 0, 0, 2, 196, 166, 1, 0, 0, 0, 0, 9, 20, 221, 1, 0, 47, 0, 0, 0, - 0, 10, 2, 80, 172, 1, 0, 48, 0, 0, 0, 0, 77, 221, 1, 0, 2, 81, 172, 1, 0, 0, 48, 0, 0, 0, 0, - 118, 55, 0, 0, 2, 82, 172, 1, 0, 9, 48, 0, 0, 0, 0, 115, 29, 0, 0, 2, 83, 172, 1, 0, 10, 0, 3, - 118, 55, 0, 0, 4, 82, 0, 0, 0, 9, 0, 58, 0, 0, 0, 0, 64, 2, 44, 172, 1, 0, 48, 0, 0, 0, 0, 191, - 221, 1, 0, 2, 45, 172, 1, 0, 0, 48, 0, 0, 0, 0, 48, 222, 1, 0, 2, 46, 172, 1, 0, 0, 48, 0, 0, - 0, 0, 132, 222, 1, 0, 2, 47, 172, 1, 0, 0, 48, 0, 0, 0, 0, 167, 223, 1, 0, 2, 48, 172, 1, 0, 0, - 48, 0, 0, 0, 0, 194, 223, 1, 0, 2, 49, 172, 1, 0, 0, 48, 0, 0, 0, 0, 11, 1, 0, 0, 2, 50, 172, - 1, 0, 0, 0, 47, 0, 0, 0, 0, 16, 2, 200, 166, 1, 0, 48, 0, 0, 0, 0, 22, 222, 1, 0, 2, 201, 166, - 1, 0, 0, 48, 0, 0, 0, 0, 86, 212, 1, 0, 2, 202, 166, 1, 0, 2, 48, 0, 0, 0, 0, 86, 212, 1, 0, 2, - 203, 166, 1, 0, 3, 48, 0, 0, 0, 0, 86, 212, 1, 0, 2, 204, 166, 1, 0, 4, 48, 0, 0, 0, 0, 34, - 222, 1, 0, 2, 205, 166, 1, 0, 8, 0, 3, 86, 212, 1, 0, 4, 82, 0, 0, 0, 2, 0, 54, 136, 68, 0, 0, - 0, 0, 0, 0, 2, 222, 165, 1, 0, 47, 0, 0, 0, 0, 16, 2, 208, 166, 1, 0, 48, 0, 0, 0, 0, 158, 15, - 0, 0, 2, 209, 166, 1, 0, 0, 48, 0, 0, 0, 0, 120, 222, 1, 0, 2, 210, 166, 1, 0, 4, 48, 0, 0, 0, - 0, 118, 55, 0, 0, 2, 211, 166, 1, 0, 12, 48, 0, 0, 0, 0, 118, 55, 0, 0, 2, 212, 166, 1, 0, 13, - 0, 3, 190, 48, 0, 0, 4, 82, 0, 0, 0, 2, 0, 47, 0, 0, 0, 0, 60, 2, 164, 166, 1, 0, 48, 0, 0, 0, - 0, 53, 223, 1, 0, 2, 165, 166, 1, 0, 0, 48, 0, 0, 0, 0, 86, 212, 1, 0, 2, 166, 166, 1, 0, 40, - 48, 0, 0, 0, 0, 86, 212, 1, 0, 2, 167, 166, 1, 0, 41, 48, 0, 0, 0, 0, 86, 212, 1, 0, 2, 168, - 166, 1, 0, 42, 48, 0, 0, 0, 0, 86, 212, 1, 0, 2, 169, 166, 1, 0, 43, 48, 0, 0, 0, 0, 48, 213, - 1, 0, 2, 170, 166, 1, 0, 44, 48, 0, 0, 0, 0, 48, 213, 1, 0, 2, 171, 166, 1, 0, 48, 48, 0, 0, 0, - 0, 48, 213, 1, 0, 2, 172, 166, 1, 0, 52, 48, 0, 0, 0, 0, 62, 213, 1, 0, 2, 173, 166, 1, 0, 56, - 48, 0, 0, 0, 0, 86, 212, 1, 0, 2, 174, 166, 1, 0, 58, 48, 0, 0, 0, 0, 86, 212, 1, 0, 2, 175, - 166, 1, 0, 59, 0, 3, 65, 223, 1, 0, 4, 82, 0, 0, 0, 2, 0, 47, 0, 0, 0, 0, 20, 2, 155, 166, 1, - 0, 48, 0, 0, 0, 0, 48, 213, 1, 0, 2, 156, 166, 1, 0, 0, 48, 0, 0, 0, 0, 48, 213, 1, 0, 2, 157, - 166, 1, 0, 4, 48, 0, 0, 0, 0, 48, 213, 1, 0, 2, 158, 166, 1, 0, 8, 48, 0, 0, 0, 0, 48, 213, 1, - 0, 2, 159, 166, 1, 0, 12, 48, 0, 0, 0, 0, 86, 212, 1, 0, 2, 160, 166, 1, 0, 16, 48, 0, 0, 0, 0, - 86, 212, 1, 0, 2, 161, 166, 1, 0, 17, 0, 47, 0, 0, 0, 0, 8, 2, 35, 172, 1, 0, 48, 0, 0, 0, 0, - 127, 29, 0, 0, 2, 36, 172, 1, 0, 0, 0, 47, 0, 0, 0, 0, 8, 2, 39, 172, 1, 0, 48, 0, 0, 0, 0, 11, - 1, 0, 0, 2, 40, 172, 1, 0, 0, 48, 0, 0, 0, 0, 11, 1, 0, 0, 2, 41, 172, 1, 0, 4, 0, 9, 241, 223, - 1, 0, 13, 168, 0, 0, 0, 14, 11, 1, 0, 0, 14, 1, 224, 1, 0, 0, 9, 6, 224, 1, 0, 26, 11, 224, 1, - 0, 47, 0, 0, 0, 0, 16, 2, 125, 172, 1, 0, 48, 0, 0, 0, 0, 68, 224, 1, 0, 2, 126, 172, 1, 0, 0, - 48, 0, 0, 0, 0, 125, 68, 0, 0, 2, 127, 172, 1, 0, 8, 48, 0, 0, 0, 0, 168, 0, 0, 0, 2, 128, 172, - 1, 0, 12, 0, 9, 73, 224, 1, 0, 47, 0, 0, 0, 0, 216, 2, 88, 172, 1, 0, 48, 0, 0, 0, 0, 184, 28, - 0, 0, 2, 89, 172, 1, 0, 0, 48, 0, 0, 0, 0, 184, 28, 0, 0, 2, 90, 172, 1, 0, 16, 48, 0, 0, 0, 0, - 241, 217, 1, 0, 2, 91, 172, 1, 0, 32, 48, 0, 0, 0, 0, 54, 225, 1, 0, 2, 92, 172, 1, 0, 72, 48, - 0, 0, 0, 0, 119, 225, 1, 0, 2, 93, 172, 1, 0, 96, 48, 0, 0, 0, 0, 136, 225, 1, 0, 2, 94, 172, - 1, 0, 104, 48, 0, 0, 0, 0, 109, 216, 1, 0, 2, 95, 172, 1, 0, 112, 48, 0, 0, 0, 0, 173, 161, 0, - 0, 2, 96, 172, 1, 0, 120, 48, 0, 0, 0, 0, 141, 64, 0, 0, 2, 97, 172, 1, 0, 160, 48, 0, 0, 0, 0, - 11, 1, 0, 0, 2, 98, 172, 1, 0, 164, 48, 0, 0, 0, 0, 11, 1, 0, 0, 2, 99, 172, 1, 0, 168, 48, 0, - 0, 0, 0, 162, 219, 1, 0, 2, 100, 172, 1, 0, 172, 48, 0, 0, 0, 0, 16, 220, 1, 0, 2, 101, 172, 1, - 0, 188, 48, 0, 0, 0, 0, 238, 15, 0, 0, 2, 102, 172, 1, 0, 192, 48, 0, 0, 0, 0, 65, 29, 0, 0, 2, - 103, 172, 1, 0, 200, 0, 47, 0, 0, 0, 0, 20, 2, 73, 172, 1, 0, 48, 0, 0, 0, 0, 80, 225, 1, 0, 2, - 77, 172, 1, 0, 0, 60, 20, 2, 74, 172, 1, 0, 48, 0, 0, 0, 0, 162, 219, 1, 0, 2, 75, 172, 1, 0, - 0, 48, 0, 0, 0, 0, 16, 220, 1, 0, 2, 76, 172, 1, 0, 16, 0, 0, 9, 124, 225, 1, 0, 32, 14, 109, - 216, 1, 0, 14, 68, 224, 1, 0, 0, 9, 141, 225, 1, 0, 45, 0, 0, 0, 0, 20, 0, 0, 0, 0, 200, 2, - 192, 39, 21, 0, 0, 0, 0, 4, 226, 1, 0, 2, 193, 39, 0, 21, 0, 0, 0, 0, 27, 226, 1, 0, 2, 194, - 39, 4, 21, 0, 0, 0, 0, 127, 226, 1, 0, 2, 195, 39, 68, 21, 0, 0, 0, 0, 163, 226, 1, 0, 2, 196, - 39, 80, 21, 0, 0, 0, 0, 163, 226, 1, 0, 2, 197, 39, 84, 21, 0, 0, 0, 0, 186, 226, 1, 0, 2, 198, - 39, 88, 21, 0, 0, 0, 0, 234, 226, 1, 0, 2, 199, 39, 132, 21, 0, 0, 0, 0, 1, 227, 1, 0, 2, 200, - 39, 176, 0, 20, 0, 0, 0, 0, 4, 2, 156, 39, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 157, 39, 0, 0, 20, - 0, 0, 0, 0, 64, 2, 160, 39, 21, 0, 0, 0, 0, 115, 226, 1, 0, 2, 161, 39, 0, 21, 0, 0, 0, 0, 118, - 55, 0, 0, 2, 162, 39, 56, 21, 0, 0, 0, 0, 118, 55, 0, 0, 2, 163, 39, 57, 21, 0, 0, 0, 0, 118, - 55, 0, 0, 2, 164, 39, 58, 21, 0, 0, 0, 0, 118, 55, 0, 0, 2, 165, 39, 59, 21, 0, 0, 0, 0, 11, 1, - 0, 0, 2, 166, 39, 60, 0, 3, 11, 1, 0, 0, 4, 82, 0, 0, 0, 14, 0, 20, 0, 0, 0, 0, 12, 2, 169, 39, - 21, 0, 0, 0, 0, 16, 57, 1, 0, 2, 170, 39, 0, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 171, 39, 8, 0, 20, - 0, 0, 0, 0, 4, 2, 174, 39, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 175, 39, 0, 0, 20, 0, 0, 0, 0, 44, - 2, 178, 39, 21, 0, 0, 0, 0, 118, 55, 0, 0, 2, 179, 39, 0, 21, 0, 0, 0, 0, 222, 226, 1, 0, 2, - 180, 39, 4, 0, 3, 11, 1, 0, 0, 4, 82, 0, 0, 0, 10, 0, 20, 0, 0, 0, 0, 40, 2, 183, 39, 21, 0, 0, - 0, 0, 222, 226, 1, 0, 2, 184, 39, 0, 0, 20, 0, 0, 0, 0, 24, 2, 187, 39, 21, 0, 0, 0, 0, 227, - 28, 0, 0, 2, 188, 39, 0, 21, 0, 0, 0, 0, 16, 57, 1, 0, 2, 189, 39, 16, 0, 20, 0, 0, 0, 0, 1, 2, - 224, 39, 21, 0, 0, 0, 0, 118, 55, 0, 0, 2, 225, 39, 0, 0, 9, 65, 227, 1, 0, 20, 0, 0, 0, 0, 24, - 2, 49, 140, 22, 83, 227, 1, 0, 2, 50, 140, 0, 23, 24, 2, 50, 140, 21, 0, 0, 0, 0, 101, 227, 1, - 0, 2, 54, 140, 0, 24, 24, 2, 51, 140, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 52, 140, 0, 21, 0, 0, 0, - 0, 65, 29, 0, 0, 2, 53, 140, 8, 0, 21, 0, 0, 0, 0, 148, 227, 1, 0, 2, 55, 140, 0, 0, 0, 3, 255, - 0, 0, 0, 4, 82, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 64, 2, 228, 39, 21, 0, 0, 0, 0, 209, 227, 1, 0, - 2, 229, 39, 0, 21, 0, 0, 0, 0, 221, 227, 1, 0, 2, 230, 39, 16, 21, 0, 0, 0, 0, 233, 227, 1, 0, - 2, 231, 39, 32, 0, 3, 155, 246, 0, 0, 4, 82, 0, 0, 0, 2, 0, 3, 16, 247, 0, 0, 4, 82, 0, 0, 0, - 2, 0, 3, 227, 28, 0, 0, 4, 82, 0, 0, 0, 2, 0, 27, 0, 0, 0, 0, 64, 3, 2, 252, 39, 21, 0, 0, 0, - 0, 227, 28, 0, 0, 2, 253, 39, 0, 21, 0, 0, 0, 0, 226, 110, 1, 0, 2, 254, 39, 16, 21, 0, 0, 0, - 0, 226, 110, 1, 0, 2, 255, 39, 24, 21, 0, 0, 0, 0, 226, 110, 1, 0, 2, 0, 40, 32, 21, 0, 0, 0, - 0, 226, 110, 1, 0, 2, 1, 40, 40, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 2, 40, 48, 21, 0, 0, 0, 0, 11, - 1, 0, 0, 2, 3, 40, 52, 21, 0, 0, 0, 0, 156, 163, 0, 0, 2, 4, 40, 56, 21, 0, 0, 0, 0, 227, 28, - 0, 0, 2, 5, 40, 88, 21, 0, 0, 0, 0, 226, 110, 1, 0, 2, 6, 40, 104, 21, 0, 0, 0, 0, 11, 1, 0, 0, - 2, 7, 40, 112, 21, 0, 0, 0, 0, 139, 255, 0, 0, 2, 8, 40, 120, 21, 0, 0, 0, 0, 176, 229, 1, 0, - 2, 9, 40, 144, 21, 0, 0, 0, 0, 20, 230, 1, 0, 2, 10, 40, 192, 21, 0, 0, 0, 0, 156, 163, 0, 0, - 2, 11, 40, 216, 21, 0, 0, 0, 0, 32, 230, 1, 0, 2, 12, 40, 248, 28, 0, 0, 0, 0, 227, 28, 0, 0, - 2, 13, 40, 40, 1, 28, 0, 0, 0, 0, 140, 40, 0, 0, 2, 14, 40, 56, 1, 28, 0, 0, 0, 0, 140, 40, 0, - 0, 2, 15, 40, 64, 1, 28, 0, 0, 0, 0, 125, 68, 0, 0, 2, 16, 40, 72, 1, 28, 0, 0, 0, 0, 125, 68, - 0, 0, 2, 17, 40, 76, 1, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 18, 40, 80, 1, 28, 0, 0, 0, 0, 125, - 68, 0, 0, 2, 19, 40, 84, 1, 28, 0, 0, 0, 0, 118, 55, 0, 0, 2, 20, 40, 88, 1, 28, 0, 0, 0, 0, - 194, 130, 1, 0, 2, 21, 40, 96, 1, 28, 0, 0, 0, 0, 35, 165, 1, 0, 2, 25, 40, 128, 1, 28, 0, 0, - 0, 0, 35, 165, 1, 0, 2, 26, 40, 64, 2, 28, 0, 0, 0, 0, 248, 68, 0, 0, 2, 27, 40, 0, 3, 28, 0, - 0, 0, 0, 173, 67, 0, 0, 2, 28, 40, 4, 3, 28, 0, 0, 0, 0, 173, 67, 0, 0, 2, 29, 40, 8, 3, 28, 0, - 0, 0, 0, 248, 68, 0, 0, 2, 30, 40, 12, 3, 28, 0, 0, 0, 0, 241, 106, 0, 0, 2, 31, 40, 16, 3, 0, - 3, 188, 229, 1, 0, 4, 82, 0, 0, 0, 3, 0, 20, 0, 0, 0, 0, 16, 2, 234, 39, 21, 0, 0, 0, 0, 226, - 110, 1, 0, 2, 235, 39, 0, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 236, 39, 8, 21, 0, 0, 0, 0, 118, 55, - 0, 0, 2, 237, 39, 12, 21, 0, 0, 0, 0, 118, 55, 0, 0, 2, 238, 39, 13, 21, 0, 0, 0, 0, 118, 55, - 0, 0, 2, 239, 39, 14, 21, 0, 0, 0, 0, 118, 55, 0, 0, 2, 240, 39, 15, 0, 3, 11, 1, 0, 0, 4, 82, - 0, 0, 0, 6, 0, 20, 0, 0, 0, 0, 48, 2, 243, 39, 21, 0, 0, 0, 0, 156, 163, 0, 0, 2, 244, 39, 0, - 21, 0, 0, 0, 0, 114, 43, 1, 0, 2, 245, 39, 32, 21, 0, 0, 0, 0, 118, 55, 0, 0, 2, 246, 39, 40, - 21, 0, 0, 0, 0, 118, 55, 0, 0, 2, 247, 39, 41, 21, 0, 0, 0, 0, 118, 55, 0, 0, 2, 248, 39, 42, - 21, 0, 0, 0, 0, 118, 55, 0, 0, 2, 249, 39, 43, 0, 9, 125, 230, 1, 0, 45, 0, 0, 0, 0, 20, 0, 0, - 0, 0, 32, 2, 40, 40, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 41, 40, 0, 21, 0, 0, 0, 0, 168, 0, 0, 0, - 2, 42, 40, 4, 21, 0, 0, 0, 0, 140, 55, 0, 0, 2, 43, 40, 8, 21, 0, 0, 0, 0, 205, 230, 1, 0, 2, - 44, 40, 16, 21, 0, 0, 0, 0, 194, 130, 1, 0, 2, 45, 40, 24, 0, 9, 210, 230, 1, 0, 9, 215, 230, - 1, 0, 45, 0, 0, 0, 0, 20, 0, 0, 0, 0, 160, 2, 54, 40, 21, 0, 0, 0, 0, 144, 231, 0, 0, 2, 55, - 40, 0, 21, 0, 0, 0, 0, 144, 231, 0, 0, 2, 56, 40, 8, 21, 0, 0, 0, 0, 144, 231, 0, 0, 2, 57, 40, - 16, 21, 0, 0, 0, 0, 144, 231, 0, 0, 2, 58, 40, 24, 21, 0, 0, 0, 0, 144, 231, 0, 0, 2, 59, 40, - 32, 21, 0, 0, 0, 0, 144, 231, 0, 0, 2, 60, 40, 40, 21, 0, 0, 0, 0, 144, 231, 0, 0, 2, 61, 40, - 48, 21, 0, 0, 0, 0, 144, 231, 0, 0, 2, 62, 40, 56, 21, 0, 0, 0, 0, 144, 231, 0, 0, 2, 63, 40, - 64, 21, 0, 0, 0, 0, 144, 231, 0, 0, 2, 64, 40, 72, 21, 0, 0, 0, 0, 182, 231, 1, 0, 2, 65, 40, - 80, 21, 0, 0, 0, 0, 248, 68, 0, 0, 2, 66, 40, 88, 21, 0, 0, 0, 0, 173, 161, 0, 0, 2, 67, 40, - 96, 21, 0, 0, 0, 0, 192, 231, 1, 0, 2, 68, 40, 136, 21, 0, 0, 0, 0, 202, 231, 1, 0, 2, 69, 40, - 144, 21, 0, 0, 0, 0, 190, 103, 0, 0, 2, 70, 40, 152, 0, 9, 187, 231, 1, 0, 45, 0, 0, 0, 0, 9, - 197, 231, 1, 0, 45, 0, 0, 0, 0, 9, 207, 231, 1, 0, 45, 0, 0, 0, 0, 20, 0, 0, 0, 0, 40, 2, 73, - 40, 21, 0, 0, 0, 0, 241, 106, 0, 0, 2, 74, 40, 0, 21, 0, 0, 0, 0, 190, 103, 0, 0, 2, 75, 40, - 32, 0, 20, 0, 0, 0, 0, 128, 2, 78, 40, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 79, 40, 0, 21, 0, 0, - 0, 0, 241, 106, 0, 0, 2, 80, 40, 16, 21, 0, 0, 0, 0, 190, 103, 0, 0, 2, 81, 40, 48, 21, 0, 0, - 0, 0, 248, 68, 0, 0, 2, 82, 40, 56, 21, 0, 0, 0, 0, 190, 103, 0, 0, 2, 83, 40, 64, 21, 0, 0, 0, - 0, 11, 1, 0, 0, 2, 84, 40, 72, 21, 0, 0, 0, 0, 241, 106, 0, 0, 2, 85, 40, 80, 21, 0, 0, 0, 0, - 227, 28, 0, 0, 2, 86, 40, 112, 0, 20, 0, 0, 0, 0, 48, 2, 93, 40, 21, 0, 0, 0, 0, 155, 232, 1, - 0, 2, 94, 40, 0, 21, 0, 0, 0, 0, 241, 106, 0, 0, 2, 95, 40, 8, 21, 0, 0, 0, 0, 165, 232, 1, 0, - 2, 96, 40, 40, 0, 9, 160, 232, 1, 0, 45, 0, 0, 0, 0, 9, 170, 232, 1, 0, 45, 0, 0, 0, 0, 9, 180, - 232, 1, 0, 20, 0, 0, 0, 0, 88, 2, 136, 58, 21, 0, 0, 0, 0, 3, 118, 0, 0, 2, 137, 58, 0, 21, 0, - 0, 0, 0, 125, 81, 1, 0, 2, 138, 58, 8, 21, 0, 0, 0, 0, 179, 119, 0, 0, 2, 139, 58, 16, 21, 0, - 0, 0, 0, 12, 233, 1, 0, 2, 140, 58, 40, 21, 0, 0, 0, 0, 68, 56, 0, 0, 2, 141, 58, 72, 21, 0, 0, - 0, 0, 219, 52, 0, 0, 2, 142, 58, 80, 0, 20, 0, 0, 0, 0, 32, 2, 131, 58, 21, 0, 0, 0, 0, 52, - 161, 0, 0, 2, 132, 58, 0, 21, 0, 0, 0, 0, 52, 161, 0, 0, 2, 133, 58, 16, 0, 9, 53, 233, 1, 0, - 20, 0, 0, 0, 0, 48, 2, 39, 29, 21, 0, 0, 0, 0, 179, 119, 0, 0, 2, 40, 29, 0, 21, 0, 0, 0, 0, 3, - 118, 0, 0, 2, 41, 29, 24, 21, 0, 0, 0, 0, 125, 81, 1, 0, 2, 42, 29, 32, 21, 0, 0, 0, 0, 208, - 52, 1, 0, 2, 43, 29, 40, 0, 9, 120, 233, 1, 0, 27, 0, 0, 0, 0, 72, 4, 2, 96, 10, 21, 0, 0, 0, - 0, 141, 64, 0, 0, 2, 97, 10, 0, 21, 0, 0, 0, 0, 176, 64, 0, 0, 2, 98, 10, 4, 21, 0, 0, 0, 0, - 168, 0, 0, 0, 2, 99, 10, 8, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 100, 10, 16, 21, 0, 0, 0, 0, 47, - 107, 0, 0, 2, 101, 10, 32, 21, 0, 0, 0, 0, 130, 120, 0, 0, 2, 102, 10, 56, 21, 0, 0, 0, 0, 216, - 236, 1, 0, 2, 103, 10, 64, 21, 0, 0, 0, 0, 190, 103, 0, 0, 2, 104, 10, 88, 21, 0, 0, 0, 0, 168, - 0, 0, 0, 2, 105, 10, 96, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 106, 10, 100, 21, 0, 0, 0, 0, 130, - 120, 0, 0, 2, 107, 10, 104, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 108, 10, 112, 21, 0, 0, 0, 0, 11, - 1, 0, 0, 2, 109, 10, 116, 34, 0, 0, 0, 0, 11, 1, 0, 0, 2, 110, 10, 4, 1, 31, 120, 34, 0, 0, 0, - 0, 11, 1, 0, 0, 2, 111, 10, 4, 1, 30, 120, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 112, 10, 124, 21, - 0, 0, 0, 0, 227, 28, 0, 0, 2, 113, 10, 128, 21, 0, 0, 0, 0, 44, 207, 0, 0, 2, 114, 10, 144, 21, - 0, 0, 0, 0, 32, 207, 0, 0, 2, 115, 10, 208, 21, 0, 0, 0, 0, 27, 237, 1, 0, 2, 116, 10, 216, 21, - 0, 0, 0, 0, 75, 237, 1, 0, 2, 117, 10, 248, 28, 0, 0, 0, 0, 229, 81, 1, 0, 2, 118, 10, 16, 1, - 28, 0, 0, 0, 0, 147, 237, 1, 0, 2, 119, 10, 96, 1, 28, 0, 0, 0, 0, 67, 77, 1, 0, 2, 120, 10, - 128, 1, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 121, 10, 136, 1, 28, 0, 0, 0, 0, 159, 237, 1, 0, 2, - 122, 10, 144, 1, 28, 0, 0, 0, 0, 243, 55, 1, 0, 2, 123, 10, 152, 1, 28, 0, 0, 0, 0, 114, 43, 1, - 0, 2, 124, 10, 160, 1, 28, 0, 0, 0, 0, 136, 68, 0, 0, 2, 125, 10, 168, 1, 28, 0, 0, 0, 0, 136, - 68, 0, 0, 2, 126, 10, 176, 1, 28, 0, 0, 0, 0, 136, 68, 0, 0, 2, 127, 10, 184, 1, 28, 0, 0, 0, - 0, 136, 68, 0, 0, 2, 128, 10, 192, 1, 28, 0, 0, 0, 0, 136, 68, 0, 0, 2, 129, 10, 200, 1, 28, 0, - 0, 0, 0, 136, 68, 0, 0, 2, 130, 10, 208, 1, 28, 0, 0, 0, 0, 107, 163, 0, 0, 2, 131, 10, 216, 1, - 28, 0, 0, 0, 0, 127, 29, 0, 0, 2, 132, 10, 240, 1, 28, 0, 0, 0, 0, 127, 29, 0, 0, 2, 133, 10, - 248, 1, 28, 0, 0, 0, 0, 127, 29, 0, 0, 2, 134, 10, 0, 2, 28, 0, 0, 0, 0, 127, 29, 0, 0, 2, 135, - 10, 8, 2, 28, 0, 0, 0, 0, 127, 29, 0, 0, 2, 136, 10, 16, 2, 28, 0, 0, 0, 0, 127, 29, 0, 0, 2, - 137, 10, 24, 2, 28, 0, 0, 0, 0, 127, 29, 0, 0, 2, 138, 10, 32, 2, 28, 0, 0, 0, 0, 127, 29, 0, - 0, 2, 139, 10, 40, 2, 28, 0, 0, 0, 0, 127, 29, 0, 0, 2, 140, 10, 48, 2, 28, 0, 0, 0, 0, 127, - 29, 0, 0, 2, 141, 10, 56, 2, 28, 0, 0, 0, 0, 127, 29, 0, 0, 2, 142, 10, 64, 2, 28, 0, 0, 0, 0, - 127, 29, 0, 0, 2, 143, 10, 72, 2, 28, 0, 0, 0, 0, 127, 29, 0, 0, 2, 144, 10, 80, 2, 28, 0, 0, - 0, 0, 127, 29, 0, 0, 2, 145, 10, 88, 2, 28, 0, 0, 0, 0, 69, 253, 1, 0, 2, 146, 10, 96, 2, 28, - 0, 0, 0, 0, 208, 0, 0, 0, 2, 147, 10, 152, 2, 28, 0, 0, 0, 0, 170, 253, 1, 0, 2, 148, 10, 160, - 2, 28, 0, 0, 0, 0, 218, 253, 1, 0, 2, 149, 10, 160, 3, 28, 0, 0, 0, 0, 63, 254, 1, 0, 2, 150, - 10, 216, 3, 28, 0, 0, 0, 0, 11, 1, 0, 0, 2, 151, 10, 224, 3, 28, 0, 0, 0, 0, 189, 0, 2, 0, 2, - 152, 10, 232, 3, 28, 0, 0, 0, 0, 219, 52, 0, 0, 2, 153, 10, 240, 3, 28, 0, 0, 0, 0, 37, 65, 0, - 0, 2, 154, 10, 242, 3, 28, 0, 0, 0, 0, 37, 65, 0, 0, 2, 155, 10, 244, 3, 28, 0, 0, 0, 0, 104, - 93, 0, 0, 2, 156, 10, 248, 3, 28, 0, 0, 0, 0, 241, 106, 0, 0, 2, 157, 10, 0, 4, 28, 0, 0, 0, 0, - 133, 97, 0, 0, 2, 158, 10, 32, 4, 0, 20, 0, 0, 0, 0, 24, 2, 83, 2, 21, 0, 0, 0, 0, 227, 28, 0, - 0, 2, 84, 2, 0, 21, 0, 0, 0, 0, 252, 236, 1, 0, 2, 85, 2, 16, 0, 33, 8, 237, 1, 0, 0, 0, 0, 0, - 2, 81, 2, 24, 8, 2, 79, 2, 21, 0, 0, 0, 0, 148, 159, 0, 0, 2, 80, 2, 0, 0, 3, 39, 237, 1, 0, 4, - 82, 0, 0, 0, 2, 0, 20, 0, 0, 0, 0, 16, 2, 63, 10, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 64, 10, 0, - 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 65, 10, 8, 0, 20, 0, 0, 0, 0, 24, 2, 74, 10, 21, 0, 0, 0, 0, - 98, 237, 1, 0, 2, 75, 10, 0, 0, 20, 0, 0, 0, 0, 24, 2, 68, 10, 21, 0, 0, 0, 0, 83, 97, 0, 0, 2, - 69, 10, 0, 21, 0, 0, 0, 0, 83, 97, 0, 0, 2, 70, 10, 8, 21, 0, 0, 0, 0, 83, 97, 0, 0, 2, 71, 10, - 16, 0, 3, 67, 77, 1, 0, 4, 82, 0, 0, 0, 4, 0, 9, 164, 237, 1, 0, 27, 0, 0, 0, 0, 184, 2, 2, - 227, 36, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 228, 36, 0, 21, 0, 0, 0, 0, 80, 110, 0, 0, 2, 229, - 36, 4, 21, 0, 0, 0, 0, 203, 173, 0, 0, 2, 230, 36, 8, 21, 0, 0, 0, 0, 68, 240, 1, 0, 2, 231, - 36, 16, 21, 0, 0, 0, 0, 163, 245, 1, 0, 2, 232, 36, 24, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 233, - 36, 32, 21, 0, 0, 0, 0, 12, 251, 1, 0, 2, 234, 36, 40, 21, 0, 0, 0, 0, 87, 251, 1, 0, 2, 235, - 36, 88, 21, 0, 0, 0, 0, 241, 106, 0, 0, 2, 236, 36, 96, 21, 0, 0, 0, 0, 241, 106, 0, 0, 2, 237, - 36, 128, 21, 0, 0, 0, 0, 241, 106, 0, 0, 2, 238, 36, 160, 21, 0, 0, 0, 0, 133, 97, 0, 0, 2, - 239, 36, 192, 21, 0, 0, 0, 0, 241, 106, 0, 0, 2, 240, 36, 232, 28, 0, 0, 0, 0, 211, 241, 1, 0, - 2, 241, 36, 8, 1, 28, 0, 0, 0, 0, 211, 241, 1, 0, 2, 242, 36, 52, 1, 28, 0, 0, 0, 0, 178, 162, - 0, 0, 2, 243, 36, 96, 1, 28, 0, 0, 0, 0, 127, 29, 0, 0, 2, 244, 36, 160, 1, 28, 0, 0, 0, 0, - 168, 0, 0, 0, 2, 245, 36, 168, 1, 28, 0, 0, 0, 0, 215, 248, 1, 0, 2, 246, 36, 172, 1, 28, 0, 0, - 0, 0, 185, 238, 1, 0, 2, 252, 36, 184, 1, 24, 8, 2, 247, 36, 21, 0, 0, 0, 0, 248, 68, 0, 0, 2, - 248, 36, 0, 21, 0, 0, 0, 0, 219, 52, 0, 0, 2, 249, 36, 4, 21, 0, 0, 0, 0, 219, 52, 0, 0, 2, - 250, 36, 5, 21, 0, 0, 0, 0, 102, 213, 0, 0, 2, 251, 36, 8, 0, 28, 0, 0, 0, 0, 1, 239, 1, 0, 2, - 4, 37, 192, 1, 24, 32, 2, 253, 36, 21, 0, 0, 0, 0, 248, 68, 0, 0, 2, 254, 36, 0, 21, 0, 0, 0, - 0, 67, 77, 1, 0, 2, 255, 36, 8, 21, 0, 0, 0, 0, 67, 77, 1, 0, 2, 0, 37, 16, 21, 0, 0, 0, 0, 5, - 49, 0, 0, 2, 1, 37, 24, 21, 0, 0, 0, 0, 219, 52, 0, 0, 2, 2, 37, 25, 21, 0, 0, 0, 0, 102, 213, - 0, 0, 2, 3, 37, 32, 0, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 5, 37, 224, 1, 28, 0, 0, 0, 0, 11, 1, - 0, 0, 2, 6, 37, 228, 1, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 7, 37, 232, 1, 28, 0, 0, 0, 0, 159, - 237, 1, 0, 2, 8, 37, 240, 1, 28, 0, 0, 0, 0, 95, 107, 0, 0, 2, 9, 37, 248, 1, 28, 0, 0, 0, 0, - 47, 107, 0, 0, 2, 10, 37, 0, 2, 28, 0, 0, 0, 0, 47, 107, 0, 0, 2, 11, 37, 24, 2, 28, 0, 0, 0, - 0, 156, 163, 0, 0, 2, 12, 37, 48, 2, 28, 0, 0, 0, 0, 255, 0, 0, 0, 2, 13, 37, 80, 2, 28, 0, 0, - 0, 0, 255, 0, 0, 0, 2, 14, 37, 88, 2, 28, 0, 0, 0, 0, 248, 68, 0, 0, 2, 15, 37, 96, 2, 28, 0, - 0, 0, 0, 227, 28, 0, 0, 2, 16, 37, 104, 2, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 17, 37, 120, 2, 28, - 0, 0, 0, 0, 148, 245, 1, 0, 2, 18, 37, 128, 2, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 19, 37, 136, 2, - 28, 0, 0, 0, 0, 156, 163, 0, 0, 2, 20, 37, 144, 2, 28, 0, 0, 0, 0, 127, 242, 1, 0, 2, 21, 37, - 176, 2, 0, 9, 73, 240, 1, 0, 20, 0, 0, 0, 0, 184, 2, 117, 37, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, - 118, 37, 0, 21, 0, 0, 0, 0, 80, 110, 0, 0, 2, 119, 37, 4, 21, 0, 0, 0, 0, 113, 241, 1, 0, 2, - 120, 37, 8, 21, 0, 0, 0, 0, 111, 83, 0, 0, 2, 121, 37, 16, 21, 0, 0, 0, 0, 14, 29, 0, 0, 2, - 122, 37, 24, 21, 0, 0, 0, 0, 14, 29, 0, 0, 2, 123, 37, 32, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, - 124, 37, 40, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 125, 37, 44, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, - 126, 37, 48, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 127, 37, 52, 21, 0, 0, 0, 0, 37, 65, 0, 0, 2, 128, - 37, 56, 21, 0, 0, 0, 0, 37, 65, 0, 0, 2, 129, 37, 58, 21, 0, 0, 0, 0, 211, 241, 1, 0, 2, 130, - 37, 60, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 131, 37, 104, 21, 0, 0, 0, 0, 144, 231, 0, 0, 2, 132, - 37, 112, 21, 0, 0, 0, 0, 68, 240, 1, 0, 2, 133, 37, 120, 21, 0, 0, 0, 0, 117, 242, 1, 0, 2, - 134, 37, 128, 21, 0, 0, 0, 0, 122, 242, 1, 0, 2, 135, 37, 136, 21, 0, 0, 0, 0, 153, 245, 1, 0, - 2, 136, 37, 144, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 137, 37, 152, 21, 0, 0, 0, 0, 163, 245, 1, 0, - 2, 138, 37, 160, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 139, 37, 168, 0, 9, 118, 241, 1, 0, 9, 123, - 241, 1, 0, 20, 0, 0, 0, 0, 104, 2, 74, 25, 21, 0, 0, 0, 0, 198, 87, 0, 0, 2, 75, 25, 0, 21, 0, - 0, 0, 0, 111, 83, 0, 0, 2, 76, 25, 64, 21, 0, 0, 0, 0, 197, 81, 0, 0, 2, 77, 25, 72, 21, 0, 0, - 0, 0, 227, 28, 0, 0, 2, 78, 25, 80, 21, 0, 0, 0, 0, 7, 75, 0, 0, 2, 79, 25, 96, 21, 0, 0, 0, 0, - 11, 1, 0, 0, 2, 80, 25, 100, 0, 20, 0, 0, 0, 0, 44, 2, 201, 36, 21, 0, 0, 0, 0, 69, 242, 1, 0, - 2, 202, 36, 0, 21, 0, 0, 0, 0, 69, 242, 1, 0, 2, 203, 36, 4, 21, 0, 0, 0, 0, 69, 242, 1, 0, 2, - 204, 36, 8, 21, 0, 0, 0, 0, 69, 242, 1, 0, 2, 205, 36, 12, 21, 0, 0, 0, 0, 81, 242, 1, 0, 2, - 206, 36, 16, 21, 0, 0, 0, 0, 93, 242, 1, 0, 2, 207, 36, 17, 21, 0, 0, 0, 0, 105, 242, 1, 0, 2, - 208, 36, 36, 21, 0, 0, 0, 0, 105, 242, 1, 0, 2, 209, 36, 40, 0, 33, 11, 1, 0, 0, 0, 0, 0, 0, 2, - 195, 36, 33, 5, 49, 0, 0, 0, 0, 0, 0, 2, 197, 36, 3, 81, 242, 1, 0, 4, 82, 0, 0, 0, 19, 0, 33, - 11, 1, 0, 0, 0, 0, 0, 0, 2, 199, 36, 9, 159, 237, 1, 0, 9, 127, 242, 1, 0, 9, 132, 242, 1, 0, - 27, 0, 0, 0, 0, 96, 1, 2, 146, 37, 21, 0, 0, 0, 0, 171, 243, 1, 0, 2, 147, 37, 0, 21, 0, 0, 0, - 0, 159, 237, 1, 0, 2, 148, 37, 136, 21, 0, 0, 0, 0, 159, 237, 1, 0, 2, 149, 37, 144, 21, 0, 0, - 0, 0, 176, 244, 1, 0, 2, 150, 37, 152, 21, 0, 0, 0, 0, 71, 245, 1, 0, 2, 151, 37, 160, 21, 0, - 0, 0, 0, 248, 68, 0, 0, 2, 152, 37, 168, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 153, 37, 172, 21, 0, - 0, 0, 0, 168, 0, 0, 0, 2, 154, 37, 176, 21, 0, 0, 0, 0, 47, 107, 0, 0, 2, 155, 37, 184, 21, 0, - 0, 0, 0, 47, 107, 0, 0, 2, 156, 37, 208, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 157, 37, 232, 21, 0, - 0, 0, 0, 127, 29, 0, 0, 2, 158, 37, 240, 34, 0, 0, 0, 0, 5, 49, 0, 0, 2, 159, 37, 1, 1, 7, 248, - 28, 0, 0, 0, 0, 241, 106, 0, 0, 2, 160, 37, 0, 1, 28, 0, 0, 0, 0, 241, 106, 0, 0, 2, 161, 37, - 32, 1, 28, 0, 0, 0, 0, 148, 245, 1, 0, 2, 162, 37, 64, 1, 28, 0, 0, 0, 0, 11, 1, 0, 0, 2, 163, - 37, 72, 1, 28, 0, 0, 0, 0, 11, 1, 0, 0, 2, 164, 37, 76, 1, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, - 165, 37, 80, 1, 28, 0, 0, 0, 0, 80, 110, 0, 0, 2, 166, 37, 84, 1, 28, 0, 0, 0, 0, 255, 0, 0, 0, - 2, 167, 37, 88, 1, 0, 20, 0, 0, 0, 0, 136, 2, 63, 37, 21, 0, 0, 0, 0, 42, 244, 1, 0, 2, 64, 37, - 0, 21, 0, 0, 0, 0, 156, 163, 0, 0, 2, 65, 37, 8, 21, 0, 0, 0, 0, 241, 106, 0, 0, 2, 66, 37, 40, - 21, 0, 0, 0, 0, 176, 64, 0, 0, 2, 67, 37, 72, 21, 0, 0, 0, 0, 47, 244, 1, 0, 2, 68, 37, 80, 21, - 0, 0, 0, 0, 50, 111, 1, 0, 2, 69, 37, 112, 21, 0, 0, 0, 0, 176, 64, 0, 0, 2, 70, 37, 120, 21, - 0, 0, 0, 0, 168, 0, 0, 0, 2, 71, 37, 124, 21, 0, 0, 0, 0, 42, 244, 1, 0, 2, 72, 37, 128, 0, 9, - 47, 244, 1, 0, 20, 0, 0, 0, 0, 32, 2, 50, 37, 22, 65, 244, 1, 0, 2, 51, 37, 0, 23, 8, 2, 51, - 37, 21, 0, 0, 0, 0, 42, 244, 1, 0, 2, 52, 37, 0, 21, 0, 0, 0, 0, 133, 81, 0, 0, 2, 53, 37, 0, - 0, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 55, 37, 8, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 56, 37, 12, 21, - 0, 0, 0, 0, 168, 0, 0, 0, 2, 57, 37, 16, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 58, 37, 20, 21, 0, 0, - 0, 0, 168, 0, 0, 0, 2, 59, 37, 24, 21, 0, 0, 0, 0, 102, 213, 0, 0, 2, 60, 37, 32, 0, 9, 181, - 244, 1, 0, 26, 186, 244, 1, 0, 20, 0, 0, 0, 0, 40, 2, 196, 37, 21, 0, 0, 0, 0, 5, 245, 1, 0, 2, - 197, 37, 0, 21, 0, 0, 0, 0, 21, 245, 1, 0, 2, 198, 37, 8, 21, 0, 0, 0, 0, 38, 245, 1, 0, 2, - 199, 37, 16, 21, 0, 0, 0, 0, 50, 245, 1, 0, 2, 200, 37, 24, 21, 0, 0, 0, 0, 38, 245, 1, 0, 2, - 201, 37, 32, 0, 9, 10, 245, 1, 0, 13, 168, 0, 0, 0, 14, 127, 242, 1, 0, 0, 9, 26, 245, 1, 0, - 32, 14, 127, 242, 1, 0, 14, 168, 0, 0, 0, 0, 9, 43, 245, 1, 0, 32, 14, 127, 242, 1, 0, 0, 9, - 55, 245, 1, 0, 13, 168, 0, 0, 0, 14, 127, 242, 1, 0, 14, 159, 237, 1, 0, 0, 9, 76, 245, 1, 0, - 26, 81, 245, 1, 0, 20, 0, 0, 0, 0, 16, 2, 204, 37, 21, 0, 0, 0, 0, 117, 245, 1, 0, 2, 205, 37, - 0, 21, 0, 0, 0, 0, 38, 245, 1, 0, 2, 206, 37, 8, 0, 9, 122, 245, 1, 0, 13, 168, 0, 0, 0, 14, - 127, 242, 1, 0, 14, 147, 68, 0, 0, 14, 147, 68, 0, 0, 14, 140, 55, 0, 0, 0, 9, 5, 49, 0, 0, 9, - 158, 245, 1, 0, 9, 211, 241, 1, 0, 9, 168, 245, 1, 0, 26, 173, 245, 1, 0, 27, 0, 0, 0, 0, 8, 1, - 2, 79, 37, 21, 0, 0, 0, 0, 102, 247, 1, 0, 2, 80, 37, 0, 21, 0, 0, 0, 0, 128, 247, 1, 0, 2, 81, - 37, 8, 21, 0, 0, 0, 0, 149, 247, 1, 0, 2, 82, 37, 16, 21, 0, 0, 0, 0, 166, 247, 1, 0, 2, 83, - 37, 24, 21, 0, 0, 0, 0, 187, 247, 1, 0, 2, 84, 37, 32, 21, 0, 0, 0, 0, 204, 247, 1, 0, 2, 85, - 37, 40, 21, 0, 0, 0, 0, 204, 247, 1, 0, 2, 86, 37, 48, 21, 0, 0, 0, 0, 216, 247, 1, 0, 2, 87, - 37, 56, 21, 0, 0, 0, 0, 242, 247, 1, 0, 2, 88, 37, 64, 21, 0, 0, 0, 0, 204, 247, 1, 0, 2, 89, - 37, 72, 21, 0, 0, 0, 0, 7, 248, 1, 0, 2, 90, 37, 80, 21, 0, 0, 0, 0, 7, 248, 1, 0, 2, 91, 37, - 88, 21, 0, 0, 0, 0, 23, 248, 1, 0, 2, 92, 37, 96, 21, 0, 0, 0, 0, 49, 248, 1, 0, 2, 93, 37, - 104, 21, 0, 0, 0, 0, 75, 248, 1, 0, 2, 94, 37, 112, 21, 0, 0, 0, 0, 204, 247, 1, 0, 2, 95, 37, - 120, 21, 0, 0, 0, 0, 204, 247, 1, 0, 2, 96, 37, 128, 21, 0, 0, 0, 0, 204, 247, 1, 0, 2, 97, 37, - 136, 21, 0, 0, 0, 0, 204, 247, 1, 0, 2, 98, 37, 144, 21, 0, 0, 0, 0, 204, 247, 1, 0, 2, 99, 37, - 152, 21, 0, 0, 0, 0, 92, 248, 1, 0, 2, 100, 37, 160, 21, 0, 0, 0, 0, 204, 247, 1, 0, 2, 101, - 37, 168, 21, 0, 0, 0, 0, 204, 247, 1, 0, 2, 102, 37, 176, 21, 0, 0, 0, 0, 113, 248, 1, 0, 2, - 103, 37, 184, 21, 0, 0, 0, 0, 130, 248, 1, 0, 2, 104, 37, 192, 21, 0, 0, 0, 0, 147, 248, 1, 0, - 2, 105, 37, 200, 21, 0, 0, 0, 0, 163, 248, 1, 0, 2, 106, 37, 208, 21, 0, 0, 0, 0, 189, 248, 1, - 0, 2, 107, 37, 216, 21, 0, 0, 0, 0, 21, 249, 1, 0, 2, 108, 37, 224, 21, 0, 0, 0, 0, 225, 249, - 1, 0, 2, 109, 37, 232, 21, 0, 0, 0, 0, 225, 249, 1, 0, 2, 110, 37, 240, 21, 0, 0, 0, 0, 251, - 250, 1, 0, 2, 111, 37, 248, 28, 0, 0, 0, 0, 127, 115, 0, 0, 2, 112, 37, 0, 1, 0, 9, 107, 247, - 1, 0, 13, 159, 237, 1, 0, 14, 68, 240, 1, 0, 14, 69, 80, 0, 0, 14, 168, 0, 0, 0, 0, 9, 133, - 247, 1, 0, 13, 168, 0, 0, 0, 14, 68, 240, 1, 0, 14, 159, 237, 1, 0, 0, 9, 154, 247, 1, 0, 32, - 14, 68, 240, 1, 0, 14, 159, 237, 1, 0, 0, 9, 171, 247, 1, 0, 13, 168, 0, 0, 0, 14, 159, 237, 1, - 0, 14, 69, 80, 0, 0, 0, 9, 192, 247, 1, 0, 32, 14, 159, 237, 1, 0, 14, 69, 80, 0, 0, 0, 9, 209, - 247, 1, 0, 32, 14, 159, 237, 1, 0, 0, 9, 221, 247, 1, 0, 13, 168, 0, 0, 0, 14, 159, 237, 1, 0, - 14, 147, 68, 0, 0, 14, 168, 0, 0, 0, 0, 9, 247, 247, 1, 0, 13, 168, 0, 0, 0, 14, 159, 237, 1, - 0, 14, 5, 49, 0, 0, 0, 9, 12, 248, 1, 0, 13, 11, 1, 0, 0, 14, 159, 237, 1, 0, 0, 9, 28, 248, 1, - 0, 13, 168, 0, 0, 0, 14, 159, 237, 1, 0, 14, 11, 1, 0, 0, 14, 127, 29, 0, 0, 0, 9, 54, 248, 1, - 0, 13, 248, 0, 0, 0, 14, 159, 237, 1, 0, 14, 11, 1, 0, 0, 14, 127, 29, 0, 0, 0, 9, 80, 248, 1, - 0, 32, 14, 159, 237, 1, 0, 14, 158, 245, 1, 0, 0, 9, 97, 248, 1, 0, 13, 168, 0, 0, 0, 14, 159, - 237, 1, 0, 14, 168, 0, 0, 0, 0, 9, 118, 248, 1, 0, 32, 14, 159, 237, 1, 0, 14, 168, 0, 0, 0, 0, - 9, 135, 248, 1, 0, 32, 14, 159, 237, 1, 0, 14, 75, 0, 0, 0, 0, 9, 152, 248, 1, 0, 13, 168, 0, - 0, 0, 14, 159, 237, 1, 0, 0, 9, 168, 248, 1, 0, 13, 168, 0, 0, 0, 14, 159, 237, 1, 0, 14, 11, - 1, 0, 0, 14, 11, 1, 0, 0, 0, 9, 194, 248, 1, 0, 13, 168, 0, 0, 0, 14, 159, 237, 1, 0, 14, 210, - 248, 1, 0, 0, 9, 215, 248, 1, 0, 20, 0, 0, 0, 0, 8, 2, 212, 36, 21, 0, 0, 0, 0, 225, 48, 0, 0, - 2, 213, 36, 0, 21, 0, 0, 0, 0, 225, 48, 0, 0, 2, 214, 36, 2, 21, 0, 0, 0, 0, 225, 48, 0, 0, 2, - 215, 36, 4, 21, 0, 0, 0, 0, 225, 48, 0, 0, 2, 216, 36, 6, 0, 9, 26, 249, 1, 0, 13, 168, 0, 0, - 0, 14, 159, 237, 1, 0, 14, 42, 249, 1, 0, 0, 9, 47, 249, 1, 0, 20, 0, 0, 0, 0, 80, 2, 110, 102, - 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 111, 102, 0, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 112, 102, 4, 21, - 0, 0, 0, 0, 168, 0, 0, 0, 2, 113, 102, 8, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 114, 102, 12, 21, 0, - 0, 0, 0, 168, 0, 0, 0, 2, 115, 102, 16, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 116, 102, 20, 21, 0, - 0, 0, 0, 168, 0, 0, 0, 2, 117, 102, 24, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 118, 102, 28, 21, 0, - 0, 0, 0, 168, 0, 0, 0, 2, 119, 102, 32, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 120, 102, 36, 21, 0, - 0, 0, 0, 168, 0, 0, 0, 2, 121, 102, 40, 21, 0, 0, 0, 0, 213, 249, 1, 0, 2, 122, 102, 44, 0, 3, - 168, 0, 0, 0, 4, 82, 0, 0, 0, 9, 0, 9, 230, 249, 1, 0, 13, 168, 0, 0, 0, 14, 159, 237, 1, 0, - 14, 246, 249, 1, 0, 0, 9, 251, 249, 1, 0, 20, 0, 0, 0, 0, 72, 2, 125, 102, 21, 0, 0, 0, 0, 168, - 0, 0, 0, 2, 126, 102, 0, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 127, 102, 4, 21, 0, 0, 0, 0, 11, 1, - 0, 0, 2, 128, 102, 8, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 129, 102, 12, 21, 0, 0, 0, 0, 168, 0, 0, - 0, 2, 130, 102, 16, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 131, 102, 20, 21, 0, 0, 0, 0, 168, 0, 0, - 0, 2, 132, 102, 24, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 133, 102, 28, 21, 0, 0, 0, 0, 225, 48, 0, - 0, 2, 134, 102, 32, 21, 0, 0, 0, 0, 75, 0, 0, 0, 2, 135, 102, 34, 21, 0, 0, 0, 0, 239, 250, 1, - 0, 2, 136, 102, 35, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 137, 102, 36, 21, 0, 0, 0, 0, 225, 48, 0, - 0, 2, 138, 102, 40, 21, 0, 0, 0, 0, 225, 48, 0, 0, 2, 139, 102, 42, 21, 0, 0, 0, 0, 148, 245, - 1, 0, 2, 140, 102, 48, 21, 0, 0, 0, 0, 225, 48, 0, 0, 2, 141, 102, 56, 21, 0, 0, 0, 0, 11, 1, - 0, 0, 2, 142, 102, 60, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 143, 102, 64, 0, 3, 75, 0, 0, 0, 4, - 82, 0, 0, 0, 1, 0, 9, 0, 251, 1, 0, 32, 14, 159, 237, 1, 0, 14, 71, 114, 0, 0, 0, 20, 0, 0, 0, - 0, 48, 2, 187, 36, 21, 0, 0, 0, 0, 71, 97, 0, 0, 2, 188, 36, 0, 21, 0, 0, 0, 0, 231, 97, 0, 0, - 2, 189, 36, 8, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 190, 36, 12, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, - 191, 36, 16, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 192, 36, 32, 0, 9, 92, 251, 1, 0, 20, 0, 0, 0, - 0, 16, 2, 191, 37, 21, 0, 0, 0, 0, 128, 251, 1, 0, 2, 192, 37, 0, 21, 0, 0, 0, 0, 159, 237, 1, - 0, 2, 193, 37, 8, 0, 9, 133, 251, 1, 0, 20, 0, 0, 0, 0, 136, 2, 170, 37, 21, 0, 0, 0, 0, 199, - 53, 0, 0, 2, 171, 37, 0, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 172, 37, 8, 21, 0, 0, 0, 0, 168, 0, - 0, 0, 2, 173, 37, 12, 21, 0, 0, 0, 0, 147, 248, 1, 0, 2, 174, 37, 16, 21, 0, 0, 0, 0, 204, 247, - 1, 0, 2, 175, 37, 24, 21, 0, 0, 0, 0, 204, 247, 1, 0, 2, 176, 37, 32, 21, 0, 0, 0, 0, 121, 252, - 1, 0, 2, 177, 37, 40, 21, 0, 0, 0, 0, 162, 252, 1, 0, 2, 178, 37, 48, 21, 0, 0, 0, 0, 193, 252, - 1, 0, 2, 179, 37, 56, 21, 0, 0, 0, 0, 193, 252, 1, 0, 2, 180, 37, 64, 21, 0, 0, 0, 0, 75, 248, - 1, 0, 2, 181, 37, 72, 21, 0, 0, 0, 0, 224, 252, 1, 0, 2, 182, 37, 80, 21, 0, 0, 0, 0, 147, 248, - 1, 0, 2, 183, 37, 88, 21, 0, 0, 0, 0, 250, 252, 1, 0, 2, 184, 37, 96, 21, 0, 0, 0, 0, 204, 247, - 1, 0, 2, 185, 37, 104, 21, 0, 0, 0, 0, 21, 253, 1, 0, 2, 186, 37, 112, 21, 0, 0, 0, 0, 38, 253, - 1, 0, 2, 187, 37, 120, 21, 0, 0, 0, 0, 111, 83, 0, 0, 2, 188, 37, 128, 0, 9, 126, 252, 1, 0, - 13, 136, 90, 0, 0, 14, 159, 237, 1, 0, 14, 69, 80, 0, 0, 14, 148, 245, 1, 0, 14, 140, 55, 0, 0, - 14, 31, 48, 1, 0, 14, 127, 29, 0, 0, 0, 9, 167, 252, 1, 0, 13, 136, 90, 0, 0, 14, 159, 237, 1, - 0, 14, 69, 80, 0, 0, 14, 147, 68, 0, 0, 14, 140, 55, 0, 0, 0, 9, 198, 252, 1, 0, 13, 168, 0, 0, - 0, 14, 159, 237, 1, 0, 14, 69, 80, 0, 0, 14, 11, 1, 0, 0, 14, 127, 29, 0, 0, 0, 9, 229, 252, 1, - 0, 13, 10, 160, 0, 0, 14, 159, 237, 1, 0, 14, 69, 80, 0, 0, 14, 21, 160, 0, 0, 0, 9, 255, 252, - 1, 0, 32, 14, 159, 237, 1, 0, 14, 147, 68, 0, 0, 14, 14, 29, 0, 0, 14, 168, 0, 0, 0, 0, 9, 26, - 253, 1, 0, 32, 14, 159, 237, 1, 0, 14, 11, 1, 0, 0, 0, 9, 43, 253, 1, 0, 13, 168, 0, 0, 0, 14, - 159, 237, 1, 0, 14, 147, 68, 0, 0, 14, 14, 29, 0, 0, 14, 168, 0, 0, 0, 0, 20, 0, 0, 0, 0, 56, - 2, 111, 2, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 112, 2, 0, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 113, - 2, 8, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 114, 2, 16, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 115, 2, - 24, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 116, 2, 32, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 117, 2, 40, - 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 118, 2, 48, 0, 3, 182, 253, 1, 0, 4, 82, 0, 0, 0, 16, 0, 20, - 0, 0, 0, 0, 16, 2, 151, 9, 21, 0, 0, 0, 0, 162, 55, 0, 0, 2, 152, 9, 0, 21, 0, 0, 0, 0, 162, - 55, 0, 0, 2, 153, 9, 8, 0, 20, 0, 0, 0, 0, 56, 2, 78, 10, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 79, - 10, 0, 21, 0, 0, 0, 0, 248, 0, 0, 0, 2, 80, 10, 8, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 81, 10, - 16, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 82, 10, 24, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 83, 10, 32, - 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 84, 10, 40, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 85, 10, 48, 0, - 9, 68, 254, 1, 0, 27, 0, 0, 0, 0, 96, 1, 2, 159, 24, 21, 0, 0, 0, 0, 214, 48, 0, 0, 2, 160, 24, - 0, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 161, 24, 4, 21, 0, 0, 0, 0, 129, 55, 0, 0, 2, 162, 24, 8, 21, - 0, 0, 0, 0, 129, 55, 0, 0, 2, 163, 24, 9, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 164, 24, 16, 21, 0, - 0, 0, 0, 197, 0, 0, 0, 2, 165, 24, 24, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 166, 24, 32, 21, 0, 0, - 0, 0, 197, 0, 0, 0, 2, 167, 24, 40, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 168, 24, 48, 21, 0, 0, 0, - 0, 197, 0, 0, 0, 2, 169, 24, 56, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 170, 24, 64, 21, 0, 0, 0, 0, - 197, 0, 0, 0, 2, 171, 24, 72, 21, 0, 0, 0, 0, 28, 201, 0, 0, 2, 172, 24, 80, 21, 0, 0, 0, 0, - 129, 55, 0, 0, 2, 173, 24, 112, 21, 0, 0, 0, 0, 177, 0, 2, 0, 2, 174, 24, 113, 21, 0, 0, 0, 0, - 0, 1, 0, 0, 2, 176, 24, 120, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 177, 24, 124, 21, 0, 0, 0, 0, 0, 1, - 0, 0, 2, 178, 24, 128, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 179, 24, 132, 21, 0, 0, 0, 0, 0, 1, 0, 0, - 2, 180, 24, 136, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 181, 24, 144, 21, 0, 0, 0, 0, 197, 0, 0, 0, - 2, 182, 24, 152, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 183, 24, 160, 21, 0, 0, 0, 0, 197, 0, 0, 0, - 2, 184, 24, 168, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 185, 24, 176, 21, 0, 0, 0, 0, 197, 0, 0, 0, - 2, 186, 24, 184, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 187, 24, 192, 21, 0, 0, 0, 0, 197, 0, 0, 0, - 2, 188, 24, 200, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 189, 24, 208, 21, 0, 0, 0, 0, 197, 0, 0, 0, - 2, 190, 24, 216, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 191, 24, 224, 21, 0, 0, 0, 0, 197, 0, 0, 0, - 2, 192, 24, 232, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 193, 24, 240, 21, 0, 0, 0, 0, 197, 0, 0, 0, - 2, 194, 24, 248, 28, 0, 0, 0, 0, 197, 0, 0, 0, 2, 195, 24, 0, 1, 28, 0, 0, 0, 0, 197, 0, 0, 0, - 2, 196, 24, 8, 1, 28, 0, 0, 0, 0, 197, 0, 0, 0, 2, 197, 24, 16, 1, 28, 0, 0, 0, 0, 197, 0, 0, - 0, 2, 198, 24, 24, 1, 28, 0, 0, 0, 0, 197, 0, 0, 0, 2, 199, 24, 32, 1, 28, 0, 0, 0, 0, 197, 0, - 0, 0, 2, 200, 24, 40, 1, 28, 0, 0, 0, 0, 197, 0, 0, 0, 2, 201, 24, 48, 1, 28, 0, 0, 0, 0, 197, - 0, 0, 0, 2, 202, 24, 56, 1, 28, 0, 0, 0, 0, 197, 0, 0, 0, 2, 203, 24, 64, 1, 28, 0, 0, 0, 0, - 197, 0, 0, 0, 2, 204, 24, 72, 1, 28, 0, 0, 0, 0, 197, 0, 0, 0, 2, 205, 24, 80, 1, 28, 0, 0, 0, - 0, 197, 0, 0, 0, 2, 206, 24, 88, 1, 0, 3, 129, 55, 0, 0, 4, 82, 0, 0, 0, 3, 0, 9, 194, 0, 2, 0, - 47, 0, 0, 0, 0, 56, 2, 8, 66, 1, 0, 48, 0, 0, 0, 0, 241, 106, 0, 0, 2, 9, 66, 1, 0, 0, 48, 0, - 0, 0, 0, 7, 75, 0, 0, 2, 10, 66, 1, 0, 32, 49, 0, 0, 0, 0, 11, 1, 0, 0, 2, 11, 66, 1, 0, 4, 1, - 31, 36, 48, 0, 0, 0, 0, 140, 55, 0, 0, 2, 12, 66, 1, 0, 40, 48, 0, 0, 0, 0, 148, 245, 1, 0, 2, - 13, 66, 1, 0, 48, 0, 9, 33, 1, 2, 0, 27, 0, 0, 0, 0, 32, 8, 2, 97, 11, 21, 0, 0, 0, 0, 248, 68, - 0, 0, 2, 98, 11, 0, 21, 0, 0, 0, 0, 141, 64, 0, 0, 2, 99, 11, 4, 21, 0, 0, 0, 0, 47, 107, 0, 0, - 2, 100, 11, 8, 21, 0, 0, 0, 0, 96, 1, 2, 0, 2, 101, 11, 32, 0, 3, 108, 1, 2, 0, 4, 82, 0, 0, 0, - 64, 0, 20, 0, 0, 0, 0, 32, 2, 59, 10, 21, 0, 0, 0, 0, 131, 1, 2, 0, 2, 60, 10, 0, 0, 20, 0, 0, - 0, 0, 32, 2, 52, 10, 21, 0, 0, 0, 0, 193, 1, 2, 0, 2, 53, 10, 0, 21, 0, 0, 0, 0, 127, 29, 0, 0, - 2, 54, 10, 8, 21, 0, 0, 0, 0, 229, 1, 2, 0, 2, 55, 10, 16, 21, 0, 0, 0, 0, 252, 236, 1, 0, 2, - 56, 10, 24, 0, 33, 205, 1, 2, 0, 0, 0, 0, 0, 2, 232, 9, 9, 210, 1, 2, 0, 33, 222, 1, 2, 0, 0, - 0, 0, 0, 2, 230, 9, 32, 14, 168, 0, 0, 0, 0, 33, 241, 1, 2, 0, 0, 0, 0, 0, 2, 236, 9, 9, 246, - 1, 2, 0, 33, 13, 54, 1, 0, 0, 0, 0, 0, 2, 234, 9, 9, 7, 2, 2, 0, 27, 0, 0, 0, 0, 192, 3, 2, - 156, 139, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 157, 139, 0, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 158, - 139, 4, 21, 0, 0, 0, 0, 182, 6, 2, 0, 2, 159, 139, 8, 21, 0, 0, 0, 0, 182, 6, 2, 0, 2, 160, - 139, 12, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 161, 139, 16, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 162, - 139, 20, 21, 0, 0, 0, 0, 52, 161, 0, 0, 2, 163, 139, 24, 21, 0, 0, 0, 0, 217, 187, 1, 0, 2, - 164, 139, 40, 21, 0, 0, 0, 0, 248, 0, 0, 0, 2, 165, 139, 72, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, - 166, 139, 80, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 167, 139, 88, 21, 0, 0, 0, 0, 214, 6, 2, 0, 2, - 168, 139, 96, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 169, 139, 144, 2, 28, 0, 0, 0, 0, 227, 28, 0, 0, - 2, 170, 139, 152, 2, 28, 0, 0, 0, 0, 199, 53, 0, 0, 2, 171, 139, 168, 2, 28, 0, 0, 0, 0, 161, - 81, 0, 0, 2, 172, 139, 176, 2, 28, 0, 0, 0, 0, 226, 6, 2, 0, 2, 173, 139, 192, 2, 28, 0, 0, 0, - 0, 226, 6, 2, 0, 2, 174, 139, 200, 2, 28, 0, 0, 0, 0, 11, 7, 2, 0, 2, 175, 139, 208, 2, 28, 0, - 0, 0, 0, 140, 55, 0, 0, 2, 176, 139, 216, 2, 28, 0, 0, 0, 0, 45, 77, 1, 0, 2, 177, 139, 224, 2, - 28, 0, 0, 0, 0, 45, 77, 1, 0, 2, 178, 139, 228, 2, 28, 0, 0, 0, 0, 224, 63, 0, 0, 2, 179, 139, - 232, 2, 28, 0, 0, 0, 0, 224, 63, 0, 0, 2, 180, 139, 236, 2, 28, 0, 0, 0, 0, 224, 63, 0, 0, 2, - 181, 139, 240, 2, 28, 0, 0, 0, 0, 224, 63, 0, 0, 2, 182, 139, 244, 2, 28, 0, 0, 0, 0, 21, 64, - 0, 0, 2, 183, 139, 248, 2, 28, 0, 0, 0, 0, 21, 64, 0, 0, 2, 184, 139, 252, 2, 28, 0, 0, 0, 0, - 21, 64, 0, 0, 2, 185, 139, 0, 3, 28, 0, 0, 0, 0, 21, 64, 0, 0, 2, 186, 139, 4, 3, 28, 0, 0, 0, - 0, 127, 29, 0, 0, 2, 187, 139, 8, 3, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 188, 139, 16, 3, 28, 0, - 0, 0, 0, 45, 77, 1, 0, 2, 189, 139, 20, 3, 28, 0, 0, 0, 0, 224, 63, 0, 0, 2, 190, 139, 24, 3, - 28, 0, 0, 0, 0, 224, 63, 0, 0, 2, 191, 139, 28, 3, 28, 0, 0, 0, 0, 11, 1, 0, 0, 2, 192, 139, - 32, 3, 28, 0, 0, 0, 0, 125, 68, 0, 0, 2, 193, 139, 36, 3, 28, 0, 0, 0, 0, 105, 28, 0, 0, 2, - 194, 139, 40, 3, 28, 0, 0, 0, 0, 107, 7, 2, 0, 2, 195, 139, 56, 3, 28, 0, 0, 0, 0, 107, 7, 2, - 0, 2, 196, 139, 64, 3, 28, 0, 0, 0, 0, 227, 28, 0, 0, 2, 197, 139, 72, 3, 28, 0, 0, 0, 0, 168, - 0, 0, 0, 2, 198, 139, 88, 3, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 199, 139, 92, 3, 30, 105, 4, 2, - 0, 2, 200, 139, 96, 3, 23, 72, 2, 200, 139, 21, 0, 0, 0, 0, 123, 4, 2, 0, 2, 204, 139, 0, 24, - 56, 2, 201, 139, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 202, 139, 0, 21, 0, 0, 0, 0, 171, 7, 2, 0, 2, - 203, 139, 8, 0, 21, 0, 0, 0, 0, 168, 4, 2, 0, 2, 215, 139, 0, 24, 40, 2, 205, 139, 21, 0, 0, 0, - 0, 224, 63, 0, 0, 2, 206, 139, 0, 21, 0, 0, 0, 0, 21, 64, 0, 0, 2, 207, 139, 4, 21, 0, 0, 0, 0, - 213, 63, 0, 0, 2, 208, 139, 8, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 209, 139, 12, 21, 0, 0, 0, 0, - 168, 0, 0, 0, 2, 210, 139, 16, 21, 0, 0, 0, 0, 255, 63, 0, 0, 2, 211, 139, 20, 21, 0, 0, 0, 0, - 52, 64, 0, 0, 2, 212, 139, 24, 21, 0, 0, 0, 0, 213, 63, 0, 0, 2, 213, 139, 28, 21, 0, 0, 0, 0, - 127, 29, 0, 0, 2, 214, 139, 32, 0, 21, 0, 0, 0, 0, 48, 5, 2, 0, 2, 219, 139, 0, 24, 72, 2, 216, - 139, 21, 0, 0, 0, 0, 183, 7, 2, 0, 2, 217, 139, 0, 21, 0, 0, 0, 0, 207, 7, 2, 0, 2, 218, 139, - 8, 0, 21, 0, 0, 0, 0, 93, 5, 2, 0, 2, 223, 139, 0, 24, 8, 2, 220, 139, 21, 0, 0, 0, 0, 183, 7, - 2, 0, 2, 221, 139, 0, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 222, 139, 4, 0, 21, 0, 0, 0, 0, 138, 5, - 2, 0, 2, 229, 139, 0, 24, 40, 2, 224, 139, 21, 0, 0, 0, 0, 183, 7, 2, 0, 2, 225, 139, 0, 21, 0, - 0, 0, 0, 140, 55, 0, 0, 2, 226, 139, 8, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 227, 139, 16, 21, 0, 0, - 0, 0, 52, 161, 0, 0, 2, 228, 139, 24, 0, 21, 0, 0, 0, 0, 209, 5, 2, 0, 2, 234, 139, 0, 24, 72, - 2, 230, 139, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 231, 139, 0, 21, 0, 0, 0, 0, 213, 63, 0, 0, 2, - 232, 139, 4, 21, 0, 0, 0, 0, 207, 7, 2, 0, 2, 233, 139, 8, 0, 21, 0, 0, 0, 0, 11, 6, 2, 0, 2, - 238, 139, 0, 24, 40, 2, 235, 139, 21, 0, 0, 0, 0, 45, 77, 1, 0, 2, 236, 139, 0, 21, 0, 0, 0, 0, - 163, 79, 0, 0, 2, 237, 139, 4, 0, 21, 0, 0, 0, 0, 56, 6, 2, 0, 2, 242, 139, 0, 24, 8, 2, 239, - 139, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 240, 139, 0, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 241, 139, - 4, 0, 21, 0, 0, 0, 0, 101, 6, 2, 0, 2, 245, 139, 0, 24, 4, 2, 243, 139, 21, 0, 0, 0, 0, 168, 0, - 0, 0, 2, 244, 139, 0, 0, 21, 0, 0, 0, 0, 133, 6, 2, 0, 2, 248, 139, 0, 24, 8, 2, 246, 139, 21, - 0, 0, 0, 0, 199, 53, 0, 0, 2, 247, 139, 0, 0, 0, 28, 0, 0, 0, 0, 86, 125, 1, 0, 2, 250, 139, - 168, 3, 28, 0, 0, 0, 0, 38, 8, 2, 0, 2, 251, 139, 176, 3, 0, 17, 11, 1, 0, 0, 0, 0, 0, 0, 4, 2, - 102, 139, 18, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 1, 18, 0, 0, 0, 0, 2, 0, 3, 214, 78, 0, 0, 4, 82, - 0, 0, 0, 5, 0, 9, 231, 6, 2, 0, 20, 0, 0, 0, 0, 16, 2, 27, 141, 21, 0, 0, 0, 0, 226, 6, 2, 0, - 2, 28, 141, 0, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 29, 141, 8, 0, 9, 16, 7, 2, 0, 20, 0, 0, 0, 0, - 128, 2, 254, 139, 22, 34, 7, 2, 0, 2, 255, 139, 0, 23, 128, 2, 255, 139, 22, 48, 7, 2, 0, 2, 0, - 140, 0, 24, 128, 2, 0, 140, 21, 0, 0, 0, 0, 138, 52, 0, 0, 2, 1, 140, 0, 21, 0, 0, 0, 0, 95, 7, - 2, 0, 2, 2, 140, 2, 0, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 4, 140, 0, 0, 0, 3, 75, 0, 0, 0, 4, 82, - 0, 0, 0, 126, 0, 9, 112, 7, 2, 0, 27, 0, 0, 0, 0, 0, 1, 2, 34, 141, 21, 0, 0, 0, 0, 107, 7, 2, - 0, 2, 35, 141, 0, 21, 0, 0, 0, 0, 149, 7, 2, 0, 2, 36, 141, 8, 0, 3, 161, 7, 2, 0, 4, 82, 0, 0, - 0, 31, 0, 9, 166, 7, 2, 0, 45, 0, 0, 0, 0, 3, 248, 0, 0, 0, 4, 82, 0, 0, 0, 6, 0, 33, 195, 7, - 2, 0, 0, 0, 0, 0, 2, 100, 139, 33, 168, 0, 0, 0, 0, 0, 0, 0, 2, 98, 139, 20, 0, 0, 0, 0, 64, 2, - 137, 139, 21, 0, 0, 0, 0, 158, 90, 0, 0, 2, 138, 139, 0, 21, 0, 0, 0, 0, 158, 90, 0, 0, 2, 139, - 139, 8, 21, 0, 0, 0, 0, 158, 90, 0, 0, 2, 140, 139, 16, 21, 0, 0, 0, 0, 158, 90, 0, 0, 2, 141, - 139, 24, 21, 0, 0, 0, 0, 26, 8, 2, 0, 2, 142, 139, 32, 0, 3, 158, 90, 0, 0, 4, 82, 0, 0, 0, 4, - 0, 20, 0, 0, 0, 0, 16, 2, 145, 139, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 146, 139, 0, 21, 0, 0, 0, - 0, 199, 53, 0, 0, 2, 147, 139, 8, 0, 20, 0, 0, 0, 0, 16, 2, 94, 2, 21, 0, 0, 0, 0, 168, 0, 0, - 0, 2, 95, 2, 0, 21, 0, 0, 0, 0, 176, 64, 0, 0, 2, 96, 2, 4, 21, 0, 0, 0, 0, 123, 8, 2, 0, 2, - 97, 2, 8, 0, 9, 128, 8, 2, 0, 20, 0, 0, 0, 0, 224, 2, 12, 142, 21, 0, 0, 0, 0, 141, 64, 0, 0, - 2, 13, 142, 0, 21, 0, 0, 0, 0, 141, 64, 0, 0, 2, 14, 142, 4, 21, 0, 0, 0, 0, 219, 52, 0, 0, 2, - 15, 142, 8, 21, 0, 0, 0, 0, 255, 8, 2, 0, 2, 16, 142, 16, 21, 0, 0, 0, 0, 123, 8, 2, 0, 2, 17, - 142, 144, 21, 0, 0, 0, 0, 16, 247, 0, 0, 2, 18, 142, 152, 21, 0, 0, 0, 0, 47, 9, 2, 0, 2, 19, - 142, 160, 21, 0, 0, 0, 0, 241, 106, 0, 0, 2, 20, 142, 168, 21, 0, 0, 0, 0, 47, 107, 0, 0, 2, - 21, 142, 200, 0, 20, 0, 0, 0, 0, 128, 2, 5, 142, 21, 0, 0, 0, 0, 35, 9, 2, 0, 2, 6, 142, 0, 21, - 0, 0, 0, 0, 35, 9, 2, 0, 2, 7, 142, 64, 0, 3, 127, 29, 0, 0, 4, 82, 0, 0, 0, 8, 0, 9, 52, 9, 2, - 0, 20, 0, 0, 0, 0, 48, 2, 75, 142, 21, 0, 0, 0, 0, 101, 9, 2, 0, 2, 76, 142, 0, 21, 0, 0, 0, 0, - 136, 68, 0, 0, 2, 77, 142, 24, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 78, 142, 32, 0, 20, 0, 0, 0, - 0, 24, 2, 133, 120, 21, 0, 0, 0, 0, 231, 97, 0, 0, 2, 134, 120, 0, 21, 0, 0, 0, 0, 11, 1, 0, 0, - 2, 135, 120, 4, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 136, 120, 8, 0, 20, 0, 0, 0, 0, 32, 2, 100, - 2, 21, 0, 0, 0, 0, 199, 53, 0, 0, 2, 101, 2, 0, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 102, 2, 8, - 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 103, 2, 16, 21, 0, 0, 0, 0, 219, 52, 0, 0, 2, 104, 2, 24, 0, - 20, 0, 0, 0, 0, 8, 2, 107, 2, 21, 0, 0, 0, 0, 235, 9, 2, 0, 2, 108, 2, 0, 0, 9, 212, 9, 2, 0, - 9, 245, 9, 2, 0, 20, 0, 0, 0, 0, 88, 2, 7, 121, 21, 0, 0, 0, 0, 86, 40, 0, 0, 2, 8, 121, 0, 21, - 0, 0, 0, 0, 86, 40, 0, 0, 2, 9, 121, 24, 21, 0, 0, 0, 0, 130, 120, 0, 0, 2, 10, 121, 48, 21, 0, - 0, 0, 0, 103, 10, 2, 0, 2, 11, 121, 56, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 12, 121, 64, 21, 0, 0, - 0, 0, 168, 0, 0, 0, 2, 13, 121, 68, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 14, 121, 72, 21, 0, 0, 0, - 0, 108, 10, 2, 0, 2, 15, 121, 80, 0, 9, 89, 74, 1, 0, 9, 113, 10, 2, 0, 20, 0, 0, 0, 0, 24, 2, - 119, 120, 21, 0, 0, 0, 0, 130, 120, 0, 0, 2, 120, 120, 0, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, - 121, 120, 8, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 122, 120, 16, 21, 0, 0, 0, 0, 225, 48, 0, 0, 2, - 123, 120, 20, 21, 0, 0, 0, 0, 225, 48, 0, 0, 2, 124, 120, 22, 0, 9, 193, 10, 2, 0, 20, 0, 0, 0, - 0, 16, 2, 150, 22, 21, 0, 0, 0, 0, 229, 10, 2, 0, 2, 151, 22, 0, 21, 0, 0, 0, 0, 229, 10, 2, 0, - 2, 152, 22, 8, 0, 9, 234, 10, 2, 0, 20, 0, 0, 0, 0, 136, 2, 121, 26, 21, 0, 0, 0, 0, 229, 10, - 2, 0, 2, 122, 26, 0, 21, 0, 0, 0, 0, 33, 12, 2, 0, 2, 123, 26, 8, 21, 0, 0, 0, 0, 11, 1, 0, 0, - 2, 124, 26, 16, 21, 0, 0, 0, 0, 225, 48, 0, 0, 2, 125, 26, 20, 21, 0, 0, 0, 0, 225, 48, 0, 0, - 2, 126, 26, 22, 21, 0, 0, 0, 0, 225, 48, 0, 0, 2, 127, 26, 24, 21, 0, 0, 0, 0, 166, 29, 2, 0, - 2, 128, 26, 26, 21, 0, 0, 0, 0, 176, 64, 0, 0, 2, 129, 26, 28, 21, 0, 0, 0, 0, 205, 71, 2, 0, - 2, 130, 26, 32, 21, 0, 0, 0, 0, 11, 72, 2, 0, 2, 131, 26, 56, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, - 132, 26, 64, 21, 0, 0, 0, 0, 133, 50, 2, 0, 2, 133, 26, 72, 21, 0, 0, 0, 0, 35, 72, 2, 0, 2, - 134, 26, 80, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 135, 26, 88, 21, 0, 0, 0, 0, 176, 35, 2, 0, 2, - 136, 26, 96, 22, 191, 11, 2, 0, 2, 137, 26, 104, 23, 8, 2, 137, 26, 21, 0, 0, 0, 0, 58, 72, 2, - 0, 2, 138, 26, 0, 0, 21, 0, 0, 0, 0, 225, 48, 0, 0, 2, 140, 26, 112, 21, 0, 0, 0, 0, 225, 48, - 0, 0, 2, 141, 26, 114, 21, 0, 0, 0, 0, 176, 64, 0, 0, 2, 142, 26, 116, 21, 0, 0, 0, 0, 190, 72, - 2, 0, 2, 143, 26, 120, 21, 0, 0, 0, 0, 195, 72, 2, 0, 2, 144, 26, 128, 21, 0, 0, 0, 0, 56, 95, - 1, 0, 2, 145, 26, 136, 0, 9, 38, 12, 2, 0, 27, 0, 0, 0, 0, 144, 3, 2, 12, 26, 21, 0, 0, 0, 0, - 77, 13, 2, 0, 2, 13, 26, 0, 21, 0, 0, 0, 0, 88, 13, 2, 0, 2, 14, 26, 8, 21, 0, 0, 0, 0, 127, - 29, 0, 0, 2, 15, 26, 16, 21, 0, 0, 0, 0, 219, 52, 0, 0, 2, 16, 26, 24, 21, 0, 0, 0, 0, 7, 75, - 0, 0, 2, 17, 26, 28, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 18, 26, 32, 21, 0, 0, 0, 0, 101, 60, 0, - 0, 2, 19, 26, 40, 21, 0, 0, 0, 0, 133, 71, 0, 0, 2, 20, 26, 48, 21, 0, 0, 0, 0, 255, 0, 0, 0, - 2, 21, 26, 56, 21, 0, 0, 0, 0, 57, 171, 0, 0, 2, 22, 26, 64, 28, 0, 0, 0, 0, 255, 0, 0, 0, 2, - 23, 26, 48, 3, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 24, 26, 56, 3, 28, 0, 0, 0, 0, 219, 52, 0, 0, - 2, 25, 26, 60, 3, 28, 0, 0, 0, 0, 123, 88, 0, 0, 2, 26, 26, 64, 3, 28, 0, 0, 0, 0, 118, 55, 0, - 0, 2, 27, 26, 72, 3, 28, 0, 0, 0, 0, 248, 68, 0, 0, 2, 28, 26, 76, 3, 28, 0, 0, 0, 0, 236, 13, - 2, 0, 2, 29, 26, 80, 3, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 30, 26, 88, 3, 28, 0, 0, 0, 0, 241, - 106, 0, 0, 2, 31, 26, 96, 3, 28, 0, 0, 0, 0, 133, 71, 0, 0, 2, 32, 26, 128, 3, 28, 0, 0, 0, 0, - 152, 71, 2, 0, 2, 33, 26, 136, 3, 0, 12, 136, 68, 0, 0, 0, 0, 0, 0, 2, 93, 9, 93, 13, 2, 0, 20, - 0, 0, 0, 0, 152, 2, 249, 147, 21, 0, 0, 0, 0, 181, 13, 2, 0, 2, 250, 147, 0, 21, 0, 0, 0, 0, - 217, 187, 1, 0, 2, 251, 147, 32, 21, 0, 0, 0, 0, 217, 187, 1, 0, 2, 252, 147, 64, 21, 0, 0, 0, - 0, 217, 187, 1, 0, 2, 253, 147, 96, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 254, 147, 128, 21, 0, 0, - 0, 0, 193, 13, 2, 0, 2, 255, 147, 136, 0, 3, 136, 68, 0, 0, 4, 82, 0, 0, 0, 4, 0, 3, 205, 13, - 2, 0, 4, 82, 0, 0, 0, 2, 0, 33, 217, 13, 2, 0, 0, 0, 0, 0, 2, 150, 16, 24, 8, 2, 148, 16, 21, - 0, 0, 0, 0, 71, 97, 0, 0, 2, 149, 16, 0, 0, 9, 241, 13, 2, 0, 27, 0, 0, 0, 0, 48, 1, 2, 157, - 31, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 158, 31, 0, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 159, 31, 4, - 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 160, 31, 8, 21, 0, 0, 0, 0, 28, 201, 0, 0, 2, 161, 31, 12, 21, - 0, 0, 0, 0, 225, 48, 0, 0, 2, 162, 31, 44, 21, 0, 0, 0, 0, 225, 48, 0, 0, 2, 163, 31, 46, 21, - 0, 0, 0, 0, 215, 152, 0, 0, 2, 164, 31, 48, 21, 0, 0, 0, 0, 33, 12, 2, 0, 2, 165, 31, 64, 21, - 0, 0, 0, 0, 96, 15, 2, 0, 2, 166, 31, 72, 21, 0, 0, 0, 0, 168, 19, 2, 0, 2, 167, 31, 80, 21, 0, - 0, 0, 0, 255, 0, 0, 0, 2, 168, 31, 88, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 169, 31, 96, 21, 0, 0, - 0, 0, 127, 29, 0, 0, 2, 170, 31, 104, 21, 0, 0, 0, 0, 241, 106, 0, 0, 2, 171, 31, 112, 21, 0, - 0, 0, 0, 11, 1, 0, 0, 2, 172, 31, 144, 21, 0, 0, 0, 0, 36, 61, 2, 0, 2, 173, 31, 152, 21, 0, 0, - 0, 0, 123, 88, 0, 0, 2, 174, 31, 160, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 175, 31, 168, 21, 0, 0, - 0, 0, 242, 64, 2, 0, 2, 176, 31, 184, 21, 0, 0, 0, 0, 176, 64, 0, 0, 2, 177, 31, 192, 21, 0, 0, - 0, 0, 60, 65, 2, 0, 2, 178, 31, 200, 21, 0, 0, 0, 0, 198, 87, 0, 0, 2, 179, 31, 208, 28, 0, 0, - 0, 0, 192, 65, 2, 0, 2, 180, 31, 16, 1, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 181, 31, 24, 1, 28, 0, - 0, 0, 0, 20, 71, 2, 0, 2, 182, 31, 32, 1, 28, 0, 0, 0, 0, 213, 120, 1, 0, 2, 183, 31, 40, 1, - 28, 0, 0, 0, 0, 136, 68, 0, 0, 2, 184, 31, 40, 1, 0, 9, 101, 15, 2, 0, 26, 106, 15, 2, 0, 20, - 0, 0, 0, 0, 128, 2, 11, 32, 21, 0, 0, 0, 0, 68, 16, 2, 0, 2, 12, 32, 0, 21, 0, 0, 0, 0, 96, 16, - 2, 0, 2, 13, 32, 8, 21, 0, 0, 0, 0, 128, 16, 2, 0, 2, 14, 32, 16, 21, 0, 0, 0, 0, 145, 16, 2, - 0, 2, 15, 32, 24, 21, 0, 0, 0, 0, 176, 16, 2, 0, 2, 16, 32, 32, 21, 0, 0, 0, 0, 176, 16, 2, 0, - 2, 17, 32, 40, 21, 0, 0, 0, 0, 207, 16, 2, 0, 2, 18, 32, 48, 21, 0, 0, 0, 0, 228, 16, 2, 0, 2, - 19, 32, 56, 21, 0, 0, 0, 0, 240, 16, 2, 0, 2, 20, 32, 64, 21, 0, 0, 0, 0, 72, 17, 2, 0, 2, 21, - 32, 72, 21, 0, 0, 0, 0, 93, 17, 2, 0, 2, 22, 32, 80, 21, 0, 0, 0, 0, 110, 17, 2, 0, 2, 23, 32, - 88, 21, 0, 0, 0, 0, 97, 18, 2, 0, 2, 24, 32, 96, 21, 0, 0, 0, 0, 111, 83, 0, 0, 2, 25, 32, 104, - 21, 0, 0, 0, 0, 118, 18, 2, 0, 2, 26, 32, 112, 21, 0, 0, 0, 0, 142, 19, 2, 0, 2, 27, 32, 120, - 0, 9, 73, 16, 2, 0, 13, 84, 16, 2, 0, 14, 229, 10, 2, 0, 0, 33, 11, 1, 0, 0, 0, 0, 0, 0, 2, - 241, 31, 9, 101, 16, 2, 0, 13, 168, 0, 0, 0, 14, 33, 12, 2, 0, 14, 117, 16, 2, 0, 0, 12, 11, 1, - 0, 0, 0, 0, 0, 0, 2, 99, 9, 133, 16, 2, 0, 32, 14, 236, 13, 2, 0, 14, 117, 16, 2, 0, 0, 9, 150, - 16, 2, 0, 13, 168, 0, 0, 0, 14, 33, 12, 2, 0, 14, 77, 13, 2, 0, 14, 68, 56, 0, 0, 14, 11, 1, 0, - 0, 0, 9, 181, 16, 2, 0, 13, 168, 0, 0, 0, 14, 33, 12, 2, 0, 14, 117, 16, 2, 0, 14, 11, 1, 0, 0, - 14, 127, 29, 0, 0, 0, 9, 212, 16, 2, 0, 13, 11, 1, 0, 0, 14, 236, 13, 2, 0, 14, 11, 1, 0, 0, 0, - 9, 233, 16, 2, 0, 32, 14, 236, 13, 2, 0, 0, 9, 245, 16, 2, 0, 13, 168, 0, 0, 0, 14, 33, 12, 2, - 0, 14, 5, 17, 2, 0, 0, 9, 10, 17, 2, 0, 20, 0, 0, 0, 0, 16, 2, 124, 246, 21, 0, 0, 0, 0, 5, 49, - 0, 0, 2, 125, 246, 0, 21, 0, 0, 0, 0, 5, 49, 0, 0, 2, 126, 246, 1, 21, 0, 0, 0, 0, 225, 48, 0, - 0, 2, 127, 246, 2, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 128, 246, 8, 0, 9, 77, 17, 2, 0, 13, 168, - 0, 0, 0, 14, 33, 12, 2, 0, 14, 219, 52, 0, 0, 0, 9, 98, 17, 2, 0, 32, 14, 33, 12, 2, 0, 14, - 127, 29, 0, 0, 0, 9, 115, 17, 2, 0, 13, 168, 0, 0, 0, 14, 236, 13, 2, 0, 14, 77, 13, 2, 0, 14, - 11, 1, 0, 0, 14, 146, 17, 2, 0, 14, 255, 0, 0, 0, 0, 33, 158, 17, 2, 0, 0, 0, 0, 0, 2, 5, 32, - 9, 163, 17, 2, 0, 13, 168, 0, 0, 0, 14, 184, 17, 2, 0, 14, 11, 1, 0, 0, 14, 255, 0, 0, 0, 0, 9, - 189, 17, 2, 0, 20, 0, 0, 0, 0, 64, 2, 30, 32, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 31, 32, 0, 21, - 0, 0, 0, 0, 197, 0, 0, 0, 2, 32, 32, 8, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 33, 32, 16, 21, 0, 0, - 0, 0, 129, 55, 0, 0, 2, 34, 32, 24, 21, 0, 0, 0, 0, 129, 55, 0, 0, 2, 35, 32, 25, 21, 0, 0, 0, - 0, 129, 55, 0, 0, 2, 36, 32, 26, 21, 0, 0, 0, 0, 129, 55, 0, 0, 2, 37, 32, 27, 21, 0, 0, 0, 0, - 73, 18, 2, 0, 2, 38, 32, 28, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 39, 32, 32, 21, 0, 0, 0, 0, 85, - 18, 2, 0, 2, 40, 32, 40, 0, 3, 129, 55, 0, 0, 4, 82, 0, 0, 0, 4, 0, 3, 129, 55, 0, 0, 4, 82, 0, - 0, 0, 24, 0, 9, 102, 18, 2, 0, 13, 199, 53, 0, 0, 14, 236, 13, 2, 0, 14, 253, 199, 0, 0, 0, 9, - 123, 18, 2, 0, 26, 128, 18, 2, 0, 20, 0, 0, 0, 0, 40, 2, 19, 33, 21, 0, 0, 0, 0, 203, 18, 2, 0, - 2, 20, 33, 0, 21, 0, 0, 0, 0, 234, 18, 2, 0, 2, 21, 33, 8, 21, 0, 0, 0, 0, 59, 19, 2, 0, 2, 22, - 33, 16, 21, 0, 0, 0, 0, 85, 19, 2, 0, 2, 23, 33, 24, 21, 0, 0, 0, 0, 121, 19, 2, 0, 2, 24, 33, - 32, 0, 9, 208, 18, 2, 0, 13, 168, 0, 0, 0, 14, 33, 12, 2, 0, 14, 136, 68, 0, 0, 14, 136, 68, 0, - 0, 14, 125, 68, 0, 0, 0, 9, 239, 18, 2, 0, 13, 168, 0, 0, 0, 14, 33, 12, 2, 0, 14, 136, 68, 0, - 0, 14, 9, 19, 2, 0, 14, 125, 68, 0, 0, 0, 17, 11, 1, 0, 0, 0, 0, 0, 0, 4, 2, 10, 33, 18, 0, 0, - 0, 0, 1, 18, 0, 0, 0, 0, 2, 18, 0, 0, 0, 0, 3, 18, 0, 0, 0, 0, 4, 18, 0, 0, 0, 0, 5, 18, 0, 0, - 0, 0, 6, 0, 9, 64, 19, 2, 0, 13, 168, 0, 0, 0, 14, 33, 12, 2, 0, 14, 136, 68, 0, 0, 14, 9, 19, - 2, 0, 0, 9, 90, 19, 2, 0, 13, 168, 0, 0, 0, 14, 33, 12, 2, 0, 14, 136, 68, 0, 0, 14, 136, 68, - 0, 0, 14, 9, 19, 2, 0, 14, 219, 52, 0, 0, 0, 9, 126, 19, 2, 0, 13, 168, 0, 0, 0, 14, 33, 12, 2, - 0, 14, 136, 68, 0, 0, 0, 9, 147, 19, 2, 0, 13, 168, 0, 0, 0, 14, 236, 13, 2, 0, 14, 163, 19, 2, - 0, 0, 9, 77, 13, 2, 0, 9, 173, 19, 2, 0, 27, 0, 0, 0, 0, 80, 8, 2, 249, 23, 21, 0, 0, 0, 0, - 115, 23, 2, 0, 2, 250, 23, 0, 21, 0, 0, 0, 0, 15, 38, 2, 0, 2, 251, 23, 8, 21, 0, 0, 0, 0, 153, - 0, 1, 0, 2, 252, 23, 16, 21, 0, 0, 0, 0, 51, 43, 2, 0, 2, 253, 23, 32, 21, 0, 0, 0, 0, 105, 43, - 2, 0, 2, 254, 23, 40, 21, 0, 0, 0, 0, 193, 44, 2, 0, 2, 255, 23, 48, 21, 0, 0, 0, 0, 35, 26, 2, - 0, 2, 0, 24, 56, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 1, 24, 64, 21, 0, 0, 0, 0, 51, 48, 2, 0, 2, 2, - 24, 72, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 3, 24, 80, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 4, 24, 88, - 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 5, 24, 96, 21, 0, 0, 0, 0, 176, 64, 0, 0, 2, 6, 24, 104, 21, - 0, 0, 0, 0, 168, 0, 0, 0, 2, 7, 24, 108, 21, 0, 0, 0, 0, 248, 68, 0, 0, 2, 8, 24, 112, 21, 0, - 0, 0, 0, 236, 13, 2, 0, 2, 9, 24, 120, 21, 0, 0, 0, 0, 198, 87, 0, 0, 2, 10, 24, 128, 21, 0, 0, - 0, 0, 123, 88, 0, 0, 2, 11, 24, 192, 21, 0, 0, 0, 0, 56, 48, 2, 0, 2, 12, 24, 200, 21, 0, 0, 0, - 0, 203, 173, 0, 0, 2, 13, 24, 216, 21, 0, 0, 0, 0, 173, 3, 0, 0, 2, 14, 24, 224, 21, 0, 0, 0, - 0, 127, 29, 0, 0, 2, 15, 24, 232, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 16, 24, 240, 21, 0, 0, 0, 0, - 11, 1, 0, 0, 2, 17, 24, 244, 21, 0, 0, 0, 0, 230, 36, 2, 0, 2, 18, 24, 248, 28, 0, 0, 0, 0, 11, - 1, 0, 0, 2, 19, 24, 0, 1, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 20, 24, 4, 1, 28, 0, 0, 0, 0, 127, - 49, 2, 0, 2, 21, 24, 8, 1, 28, 0, 0, 0, 0, 121, 50, 2, 0, 2, 22, 24, 16, 1, 28, 0, 0, 0, 0, - 173, 161, 0, 0, 2, 23, 24, 144, 3, 28, 0, 0, 0, 0, 156, 163, 0, 0, 2, 24, 24, 184, 3, 28, 0, 0, - 0, 0, 176, 64, 0, 0, 2, 25, 24, 216, 3, 28, 0, 0, 0, 0, 232, 30, 2, 0, 2, 26, 24, 224, 3, 28, - 0, 0, 0, 0, 232, 30, 2, 0, 2, 27, 24, 24, 4, 28, 0, 0, 0, 0, 227, 28, 0, 0, 2, 28, 24, 80, 4, - 28, 0, 0, 0, 0, 148, 159, 0, 0, 2, 29, 24, 96, 4, 28, 0, 0, 0, 0, 133, 50, 2, 0, 2, 30, 24, - 104, 4, 28, 0, 0, 0, 0, 227, 28, 0, 0, 2, 31, 24, 112, 4, 28, 0, 0, 0, 0, 4, 53, 2, 0, 2, 32, - 24, 128, 4, 28, 0, 0, 0, 0, 11, 1, 0, 0, 2, 33, 24, 240, 4, 28, 0, 0, 0, 0, 11, 1, 0, 0, 2, 34, - 24, 244, 4, 28, 0, 0, 0, 0, 75, 110, 0, 0, 2, 35, 24, 248, 4, 28, 0, 0, 0, 0, 75, 110, 0, 0, 2, - 36, 24, 0, 5, 28, 0, 0, 0, 0, 11, 1, 0, 0, 2, 37, 24, 8, 5, 28, 0, 0, 0, 0, 11, 1, 0, 0, 2, 38, - 24, 12, 5, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 39, 24, 16, 5, 28, 0, 0, 0, 0, 241, 106, 0, 0, 2, - 40, 24, 24, 5, 28, 0, 0, 0, 0, 180, 54, 2, 0, 2, 41, 24, 56, 5, 28, 0, 0, 0, 0, 41, 29, 2, 0, - 2, 42, 24, 64, 5, 28, 0, 0, 0, 0, 227, 28, 0, 0, 2, 43, 24, 72, 5, 28, 0, 0, 0, 0, 248, 68, 0, - 0, 2, 44, 24, 88, 5, 28, 0, 0, 0, 0, 147, 165, 0, 0, 2, 45, 24, 96, 5, 28, 0, 0, 0, 0, 241, - 106, 0, 0, 2, 46, 24, 184, 5, 28, 0, 0, 0, 0, 241, 106, 0, 0, 2, 47, 24, 216, 5, 28, 0, 0, 0, - 0, 227, 28, 0, 0, 2, 48, 24, 248, 5, 28, 0, 0, 0, 0, 248, 68, 0, 0, 2, 49, 24, 8, 6, 28, 0, 0, - 0, 0, 168, 0, 0, 0, 2, 50, 24, 12, 6, 28, 0, 0, 0, 0, 173, 57, 2, 0, 2, 51, 24, 16, 6, 28, 0, - 0, 0, 0, 65, 29, 0, 0, 2, 52, 24, 24, 6, 28, 0, 0, 0, 0, 47, 107, 0, 0, 2, 53, 24, 40, 6, 28, - 0, 0, 0, 0, 241, 106, 0, 0, 2, 54, 24, 64, 6, 28, 0, 0, 0, 0, 188, 46, 2, 0, 2, 55, 24, 96, 6, - 28, 0, 0, 0, 0, 227, 28, 0, 0, 2, 56, 24, 104, 6, 28, 0, 0, 0, 0, 121, 59, 2, 0, 2, 57, 24, - 120, 6, 28, 0, 0, 0, 0, 133, 66, 0, 0, 2, 58, 24, 0, 8, 28, 0, 0, 0, 0, 133, 66, 0, 0, 2, 59, - 24, 8, 8, 28, 0, 0, 0, 0, 133, 66, 0, 0, 2, 60, 24, 16, 8, 28, 0, 0, 0, 0, 219, 52, 0, 0, 2, - 61, 24, 24, 8, 28, 0, 0, 0, 0, 140, 55, 0, 0, 2, 62, 24, 32, 8, 28, 0, 0, 0, 0, 24, 61, 2, 0, - 2, 63, 24, 40, 8, 0, 9, 120, 23, 2, 0, 27, 0, 0, 0, 0, 40, 1, 2, 91, 32, 21, 0, 0, 0, 0, 168, - 19, 2, 0, 2, 92, 32, 0, 21, 0, 0, 0, 0, 35, 26, 2, 0, 2, 93, 32, 8, 21, 0, 0, 0, 0, 245, 26, 2, - 0, 2, 94, 32, 16, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 95, 32, 24, 21, 0, 0, 0, 0, 111, 34, 2, 0, 2, - 96, 32, 28, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 97, 32, 32, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 98, - 32, 36, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 99, 32, 40, 21, 0, 0, 0, 0, 77, 13, 2, 0, 2, 100, 32, - 48, 21, 0, 0, 0, 0, 229, 10, 2, 0, 2, 101, 32, 56, 21, 0, 0, 0, 0, 229, 10, 2, 0, 2, 102, 32, - 64, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 103, 32, 72, 22, 39, 24, 2, 0, 2, 104, 32, 88, 23, 16, 2, - 104, 32, 21, 0, 0, 0, 0, 184, 28, 0, 0, 2, 105, 32, 0, 21, 0, 0, 0, 0, 133, 81, 0, 0, 2, 106, - 32, 0, 0, 22, 80, 24, 2, 0, 2, 108, 32, 104, 23, 24, 2, 108, 32, 21, 0, 0, 0, 0, 86, 40, 0, 0, - 2, 109, 32, 0, 21, 0, 0, 0, 0, 19, 56, 0, 0, 2, 110, 32, 0, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, - 111, 32, 0, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 112, 32, 0, 0, 22, 147, 24, 2, 0, 2, 114, 32, 128, - 23, 32, 2, 114, 32, 21, 0, 0, 0, 0, 165, 24, 2, 0, 2, 118, 32, 0, 24, 24, 2, 115, 32, 21, 0, 0, - 0, 0, 123, 34, 2, 0, 2, 116, 32, 0, 21, 0, 0, 0, 0, 135, 35, 2, 0, 2, 117, 32, 8, 0, 21, 0, 0, - 0, 0, 210, 24, 2, 0, 2, 123, 32, 0, 24, 32, 2, 119, 32, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 120, - 32, 0, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 121, 32, 8, 21, 0, 0, 0, 0, 147, 35, 2, 0, 2, 122, 32, - 24, 0, 0, 21, 0, 0, 0, 0, 236, 13, 2, 0, 2, 125, 32, 160, 21, 0, 0, 0, 0, 33, 12, 2, 0, 2, 126, - 32, 168, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 127, 32, 176, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 128, - 32, 184, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 129, 32, 192, 21, 0, 0, 0, 0, 225, 48, 0, 0, 2, 130, - 32, 200, 21, 0, 0, 0, 0, 225, 48, 0, 0, 2, 131, 32, 202, 21, 0, 0, 0, 0, 225, 48, 0, 0, 2, 132, - 32, 204, 21, 0, 0, 0, 0, 225, 48, 0, 0, 2, 133, 32, 206, 21, 0, 0, 0, 0, 176, 35, 2, 0, 2, 134, - 32, 208, 21, 0, 0, 0, 0, 138, 36, 2, 0, 2, 135, 32, 216, 21, 0, 0, 0, 0, 225, 48, 0, 0, 2, 136, - 32, 224, 21, 0, 0, 0, 0, 225, 48, 0, 0, 2, 137, 32, 226, 21, 0, 0, 0, 0, 239, 37, 2, 0, 2, 138, - 32, 228, 21, 0, 0, 0, 0, 141, 64, 0, 0, 2, 139, 32, 232, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 140, - 32, 236, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 141, 32, 240, 22, 230, 25, 2, 0, 2, 142, 32, 248, - 23, 32, 2, 142, 32, 21, 0, 0, 0, 0, 64, 141, 0, 0, 2, 143, 32, 0, 21, 0, 0, 0, 0, 136, 68, 0, - 0, 2, 144, 32, 0, 0, 28, 0, 0, 0, 0, 147, 35, 2, 0, 2, 146, 32, 24, 1, 28, 0, 0, 0, 0, 255, 0, - 0, 0, 2, 147, 32, 32, 1, 0, 9, 40, 26, 2, 0, 27, 0, 0, 0, 0, 0, 1, 2, 13, 148, 22, 59, 26, 2, - 0, 2, 14, 148, 0, 24, 64, 2, 14, 148, 21, 0, 0, 0, 0, 248, 68, 0, 0, 2, 15, 148, 0, 21, 0, 0, - 0, 0, 209, 26, 2, 0, 2, 16, 148, 8, 0, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 19, 148, 64, 21, 0, 0, - 0, 0, 221, 26, 2, 0, 2, 20, 148, 68, 21, 0, 0, 0, 0, 233, 26, 2, 0, 2, 21, 148, 80, 21, 0, 0, - 0, 0, 111, 105, 0, 0, 2, 22, 148, 104, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 23, 148, 120, 21, 0, - 0, 0, 0, 111, 105, 0, 0, 2, 24, 148, 128, 21, 0, 0, 0, 0, 168, 19, 2, 0, 2, 25, 148, 144, 21, - 0, 0, 0, 0, 70, 34, 2, 0, 2, 26, 148, 152, 21, 0, 0, 0, 0, 198, 87, 0, 0, 2, 27, 148, 160, 0, - 3, 227, 28, 0, 0, 4, 82, 0, 0, 0, 3, 0, 3, 225, 48, 0, 0, 4, 82, 0, 0, 0, 3, 0, 3, 245, 26, 2, - 0, 4, 82, 0, 0, 0, 3, 0, 9, 250, 26, 2, 0, 27, 0, 0, 0, 0, 128, 2, 2, 36, 148, 22, 13, 27, 2, - 0, 2, 37, 148, 0, 24, 64, 2, 37, 148, 21, 0, 0, 0, 0, 248, 68, 0, 0, 2, 38, 148, 0, 21, 0, 0, - 0, 0, 227, 28, 0, 0, 2, 39, 148, 8, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 40, 148, 24, 0, 21, 0, 0, - 0, 0, 147, 165, 0, 0, 2, 46, 148, 64, 21, 0, 0, 0, 0, 188, 170, 0, 0, 2, 47, 148, 152, 21, 0, - 0, 0, 0, 168, 0, 0, 0, 2, 48, 148, 192, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 49, 148, 196, 21, 0, - 0, 0, 0, 127, 29, 0, 0, 2, 50, 148, 200, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 51, 148, 208, 21, 0, - 0, 0, 0, 168, 19, 2, 0, 2, 52, 148, 216, 21, 0, 0, 0, 0, 41, 29, 2, 0, 2, 53, 148, 224, 21, 0, - 0, 0, 0, 255, 0, 0, 0, 2, 54, 148, 232, 21, 0, 0, 0, 0, 178, 29, 2, 0, 2, 55, 148, 240, 28, 0, - 0, 0, 0, 35, 26, 2, 0, 2, 56, 148, 16, 1, 28, 0, 0, 0, 0, 11, 1, 0, 0, 2, 57, 148, 24, 1, 28, - 0, 0, 0, 0, 225, 48, 0, 0, 2, 58, 148, 28, 1, 28, 0, 0, 0, 0, 225, 48, 0, 0, 2, 59, 148, 30, 1, - 28, 0, 0, 0, 0, 64, 30, 2, 0, 2, 60, 148, 32, 1, 28, 0, 0, 0, 0, 248, 68, 0, 0, 2, 61, 148, 40, - 1, 28, 0, 0, 0, 0, 244, 234, 0, 0, 2, 62, 148, 48, 1, 28, 0, 0, 0, 0, 176, 64, 0, 0, 2, 63, - 148, 88, 1, 28, 0, 0, 0, 0, 69, 30, 2, 0, 2, 64, 148, 96, 1, 28, 0, 0, 0, 0, 69, 30, 2, 0, 2, - 65, 148, 104, 1, 28, 0, 0, 0, 0, 127, 29, 0, 0, 2, 66, 148, 112, 1, 28, 0, 0, 0, 0, 127, 29, 0, - 0, 2, 67, 148, 120, 1, 28, 0, 0, 0, 0, 110, 31, 2, 0, 2, 68, 148, 128, 1, 28, 0, 0, 0, 0, 11, - 1, 0, 0, 2, 69, 148, 184, 1, 28, 0, 0, 0, 0, 11, 1, 0, 0, 2, 70, 148, 188, 1, 28, 0, 0, 0, 0, - 176, 64, 0, 0, 2, 71, 148, 192, 1, 28, 0, 0, 0, 0, 184, 28, 0, 0, 2, 72, 148, 200, 1, 28, 0, 0, - 0, 0, 184, 28, 0, 0, 2, 73, 148, 216, 1, 28, 0, 0, 0, 0, 198, 87, 0, 0, 2, 74, 148, 232, 1, 28, - 0, 0, 0, 0, 127, 29, 0, 0, 2, 75, 148, 40, 2, 28, 0, 0, 0, 0, 127, 29, 0, 0, 2, 76, 148, 48, 2, - 28, 0, 0, 0, 0, 127, 29, 0, 0, 2, 77, 148, 56, 2, 28, 0, 0, 0, 0, 133, 66, 0, 0, 2, 78, 148, - 64, 2, 28, 0, 0, 0, 0, 133, 66, 0, 0, 2, 79, 148, 72, 2, 28, 0, 0, 0, 0, 227, 28, 0, 0, 2, 80, - 148, 80, 2, 28, 0, 0, 0, 0, 122, 31, 2, 0, 2, 81, 148, 96, 2, 0, 9, 46, 29, 2, 0, 20, 0, 0, 0, - 0, 80, 2, 124, 148, 34, 0, 0, 0, 0, 11, 1, 0, 0, 2, 125, 148, 4, 1, 31, 0, 34, 0, 0, 0, 0, 11, - 1, 0, 0, 2, 126, 148, 4, 1, 30, 0, 21, 0, 0, 0, 0, 166, 29, 2, 0, 2, 127, 148, 1, 21, 0, 0, 0, - 0, 127, 29, 0, 0, 2, 128, 148, 8, 21, 0, 0, 0, 0, 233, 227, 1, 0, 2, 129, 148, 16, 21, 0, 0, 0, - 0, 227, 28, 0, 0, 2, 130, 148, 48, 21, 0, 0, 0, 0, 115, 23, 2, 0, 2, 131, 148, 64, 21, 0, 0, 0, - 0, 248, 68, 0, 0, 2, 132, 148, 72, 0, 33, 118, 55, 0, 0, 0, 0, 0, 0, 2, 96, 26, 20, 0, 0, 0, 0, - 32, 2, 122, 23, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 123, 23, 0, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, - 124, 23, 4, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 125, 23, 8, 21, 0, 0, 0, 0, 219, 52, 0, 0, 2, 126, - 23, 12, 21, 0, 0, 0, 0, 10, 30, 2, 0, 2, 127, 23, 16, 21, 0, 0, 0, 0, 186, 215, 0, 0, 2, 128, - 23, 24, 0, 9, 15, 30, 2, 0, 20, 0, 0, 0, 0, 192, 2, 43, 32, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, - 44, 32, 0, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 52, 32, 64, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 60, - 32, 128, 0, 9, 35, 26, 2, 0, 9, 74, 30, 2, 0, 20, 0, 0, 0, 0, 184, 2, 3, 149, 21, 0, 0, 0, 0, - 11, 1, 0, 0, 2, 4, 149, 0, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 5, 149, 4, 21, 0, 0, 0, 0, 176, 64, - 0, 0, 2, 6, 149, 8, 21, 0, 0, 0, 0, 227, 30, 2, 0, 2, 7, 149, 16, 21, 0, 0, 0, 0, 227, 30, 2, - 0, 2, 8, 149, 24, 21, 0, 0, 0, 0, 232, 30, 2, 0, 2, 9, 149, 32, 21, 0, 0, 0, 0, 232, 30, 2, 0, - 2, 10, 149, 88, 21, 0, 0, 0, 0, 105, 31, 2, 0, 2, 11, 149, 144, 21, 0, 0, 0, 0, 105, 31, 2, 0, - 2, 12, 149, 152, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 13, 149, 160, 21, 0, 0, 0, 0, 248, 68, 0, 0, - 2, 14, 149, 176, 0, 9, 232, 30, 2, 0, 20, 0, 0, 0, 0, 56, 2, 133, 23, 21, 0, 0, 0, 0, 178, 29, - 2, 0, 2, 134, 23, 0, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 135, 23, 32, 21, 0, 0, 0, 0, 176, 64, 0, - 0, 2, 136, 23, 36, 21, 0, 0, 0, 0, 64, 31, 2, 0, 2, 137, 23, 40, 21, 0, 0, 0, 0, 176, 64, 0, 0, - 2, 138, 23, 48, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 139, 23, 52, 0, 9, 69, 31, 2, 0, 20, 0, 0, 0, - 0, 64, 2, 70, 32, 21, 0, 0, 0, 0, 176, 64, 0, 0, 2, 71, 32, 0, 21, 0, 0, 0, 0, 47, 107, 0, 0, - 2, 72, 32, 8, 0, 9, 115, 23, 2, 0, 3, 127, 29, 0, 0, 4, 82, 0, 0, 0, 7, 0, 3, 134, 31, 2, 0, 4, - 82, 0, 0, 0, 0, 0, 27, 0, 0, 0, 0, 24, 9, 2, 125, 18, 21, 0, 0, 0, 0, 126, 32, 2, 0, 2, 126, - 18, 0, 28, 0, 0, 0, 0, 244, 32, 2, 0, 2, 127, 18, 224, 7, 28, 0, 0, 0, 0, 241, 106, 0, 0, 2, - 128, 18, 248, 7, 28, 0, 0, 0, 0, 248, 68, 0, 0, 2, 129, 18, 24, 8, 28, 0, 0, 0, 0, 241, 106, 0, - 0, 2, 130, 18, 32, 8, 28, 0, 0, 0, 0, 11, 1, 0, 0, 2, 131, 18, 64, 8, 28, 0, 0, 0, 0, 127, 29, - 0, 0, 2, 132, 18, 72, 8, 28, 0, 0, 0, 0, 127, 29, 0, 0, 2, 133, 18, 80, 8, 28, 0, 0, 0, 0, 127, - 29, 0, 0, 2, 134, 18, 88, 8, 28, 0, 0, 0, 0, 127, 29, 0, 0, 2, 135, 18, 96, 8, 28, 0, 0, 0, 0, - 0, 33, 2, 0, 2, 136, 18, 104, 8, 28, 0, 0, 0, 0, 127, 29, 0, 0, 2, 137, 18, 112, 8, 28, 0, 0, - 0, 0, 241, 106, 0, 0, 2, 138, 18, 120, 8, 28, 0, 0, 0, 0, 43, 167, 0, 0, 2, 139, 18, 152, 8, - 28, 0, 0, 0, 0, 176, 64, 0, 0, 2, 140, 18, 184, 8, 28, 0, 0, 0, 0, 147, 165, 0, 0, 2, 141, 18, - 192, 8, 28, 0, 0, 0, 0, 213, 120, 1, 0, 2, 142, 18, 24, 9, 0, 3, 138, 32, 2, 0, 4, 82, 0, 0, 0, - 21, 0, 20, 0, 0, 0, 0, 96, 2, 115, 18, 21, 0, 0, 0, 0, 248, 68, 0, 0, 2, 116, 18, 0, 21, 0, 0, - 0, 0, 217, 187, 1, 0, 2, 117, 18, 8, 21, 0, 0, 0, 0, 217, 187, 1, 0, 2, 118, 18, 40, 21, 0, 0, - 0, 0, 127, 29, 0, 0, 2, 119, 18, 72, 21, 0, 0, 0, 0, 239, 32, 2, 0, 2, 120, 18, 80, 21, 0, 0, - 0, 0, 168, 0, 0, 0, 2, 121, 18, 88, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 122, 18, 92, 0, 9, 138, - 32, 2, 0, 3, 239, 32, 2, 0, 4, 82, 0, 0, 0, 3, 0, 9, 5, 33, 2, 0, 27, 0, 0, 0, 0, 128, 1, 2, - 88, 18, 21, 0, 0, 0, 0, 111, 105, 0, 0, 2, 89, 18, 0, 21, 0, 0, 0, 0, 111, 105, 0, 0, 2, 90, - 18, 16, 21, 0, 0, 0, 0, 248, 68, 0, 0, 2, 95, 18, 64, 21, 0, 0, 0, 0, 204, 33, 2, 0, 2, 96, 18, - 72, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 97, 18, 192, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 98, 18, - 200, 21, 0, 0, 0, 0, 219, 52, 0, 0, 2, 99, 18, 208, 21, 0, 0, 0, 0, 173, 161, 0, 0, 2, 100, 18, - 216, 28, 0, 0, 0, 0, 156, 163, 0, 0, 2, 101, 18, 0, 1, 28, 0, 0, 0, 0, 65, 29, 0, 0, 2, 102, - 18, 32, 1, 28, 0, 0, 0, 0, 239, 32, 2, 0, 2, 103, 18, 48, 1, 28, 0, 0, 0, 0, 127, 29, 0, 0, 2, - 104, 18, 56, 1, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 105, 18, 64, 1, 28, 0, 0, 0, 0, 65, 34, 2, 0, - 2, 106, 18, 72, 1, 0, 20, 0, 0, 0, 0, 120, 2, 75, 18, 21, 0, 0, 0, 0, 98, 29, 0, 0, 2, 76, 18, - 0, 21, 0, 0, 0, 0, 36, 34, 2, 0, 2, 77, 18, 8, 21, 0, 0, 0, 0, 217, 187, 1, 0, 2, 78, 18, 40, - 21, 0, 0, 0, 0, 248, 0, 0, 0, 2, 79, 18, 72, 21, 0, 0, 0, 0, 53, 34, 2, 0, 2, 80, 18, 80, 21, - 0, 0, 0, 0, 118, 55, 0, 0, 2, 81, 18, 112, 0, 3, 48, 34, 2, 0, 4, 82, 0, 0, 0, 4, 0, 9, 98, 29, - 0, 0, 3, 248, 0, 0, 0, 4, 82, 0, 0, 0, 4, 0, 9, 134, 31, 2, 0, 9, 75, 34, 2, 0, 20, 0, 0, 0, 0, - 72, 2, 43, 149, 21, 0, 0, 0, 0, 198, 87, 0, 0, 2, 44, 149, 0, 21, 0, 0, 0, 0, 35, 26, 2, 0, 2, - 45, 149, 64, 0, 33, 0, 1, 0, 0, 0, 0, 0, 0, 2, 81, 32, 9, 128, 34, 2, 0, 20, 0, 0, 0, 0, 56, 2, - 83, 13, 21, 0, 0, 0, 0, 168, 19, 2, 0, 2, 84, 13, 0, 21, 0, 0, 0, 0, 3, 35, 2, 0, 2, 85, 13, 8, - 22, 172, 34, 2, 0, 2, 86, 13, 16, 23, 16, 2, 86, 13, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 87, 13, - 0, 21, 0, 0, 0, 0, 161, 78, 1, 0, 2, 88, 13, 0, 0, 22, 213, 34, 2, 0, 2, 90, 13, 32, 23, 16, 2, - 90, 13, 21, 0, 0, 0, 0, 184, 28, 0, 0, 2, 91, 13, 0, 21, 0, 0, 0, 0, 65, 29, 0, 0, 2, 92, 13, - 0, 0, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 94, 13, 48, 0, 9, 8, 35, 2, 0, 20, 0, 0, 0, 0, 88, 2, - 106, 11, 21, 0, 0, 0, 0, 71, 97, 0, 0, 2, 107, 11, 0, 21, 0, 0, 0, 0, 176, 64, 0, 0, 2, 108, - 11, 8, 21, 0, 0, 0, 0, 176, 64, 0, 0, 2, 109, 11, 12, 21, 0, 0, 0, 0, 248, 68, 0, 0, 2, 110, - 11, 16, 21, 0, 0, 0, 0, 225, 48, 0, 0, 2, 111, 11, 20, 21, 0, 0, 0, 0, 215, 152, 0, 0, 2, 112, - 11, 24, 21, 0, 0, 0, 0, 123, 34, 2, 0, 2, 113, 11, 40, 21, 0, 0, 0, 0, 190, 103, 0, 0, 2, 114, - 11, 48, 21, 0, 0, 0, 0, 156, 163, 0, 0, 2, 115, 11, 56, 0, 3, 255, 0, 0, 0, 4, 82, 0, 0, 0, 2, - 0, 9, 152, 35, 2, 0, 33, 164, 35, 2, 0, 0, 0, 0, 0, 2, 79, 32, 32, 14, 115, 23, 2, 0, 14, 166, - 29, 2, 0, 0, 9, 181, 35, 2, 0, 20, 0, 0, 0, 0, 40, 2, 4, 148, 21, 0, 0, 0, 0, 217, 35, 2, 0, 2, - 5, 148, 0, 21, 0, 0, 0, 0, 181, 13, 2, 0, 2, 6, 148, 8, 0, 9, 222, 35, 2, 0, 26, 227, 35, 2, 0, - 20, 0, 0, 0, 0, 84, 2, 36, 149, 21, 0, 0, 0, 0, 33, 36, 2, 0, 2, 37, 149, 0, 21, 0, 0, 0, 0, - 11, 1, 0, 0, 2, 38, 149, 12, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 39, 149, 16, 21, 0, 0, 0, 0, 126, - 36, 2, 0, 2, 40, 149, 20, 0, 20, 0, 0, 0, 0, 12, 2, 30, 149, 21, 0, 0, 0, 0, 82, 36, 2, 0, 2, - 31, 149, 0, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 32, 149, 4, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 33, - 149, 8, 0, 17, 11, 1, 0, 0, 0, 0, 0, 0, 4, 2, 22, 149, 18, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 1, - 18, 0, 0, 0, 0, 2, 18, 0, 0, 0, 0, 3, 18, 0, 0, 0, 0, 4, 0, 3, 118, 55, 0, 0, 4, 82, 0, 0, 0, - 64, 0, 9, 143, 36, 2, 0, 47, 0, 0, 0, 0, 56, 2, 19, 6, 1, 0, 48, 0, 0, 0, 0, 176, 64, 0, 0, 2, - 20, 6, 1, 0, 0, 48, 0, 0, 0, 0, 227, 28, 0, 0, 2, 21, 6, 1, 0, 8, 48, 0, 0, 0, 0, 184, 28, 0, - 0, 2, 22, 6, 1, 0, 24, 48, 0, 0, 0, 0, 217, 35, 2, 0, 2, 23, 6, 1, 0, 40, 48, 0, 0, 0, 0, 230, - 36, 2, 0, 2, 24, 6, 1, 0, 48, 0, 9, 235, 36, 2, 0, 47, 0, 0, 0, 0, 168, 2, 32, 6, 1, 0, 48, 0, - 0, 0, 0, 171, 37, 2, 0, 2, 33, 6, 1, 0, 0, 48, 0, 0, 0, 0, 11, 1, 0, 0, 2, 34, 6, 1, 0, 16, 48, - 0, 0, 0, 0, 99, 165, 0, 0, 2, 35, 6, 1, 0, 20, 48, 0, 0, 0, 0, 203, 173, 0, 0, 2, 36, 6, 1, 0, - 40, 48, 0, 0, 0, 0, 11, 1, 0, 0, 2, 37, 6, 1, 0, 48, 48, 0, 0, 0, 0, 133, 97, 0, 0, 2, 38, 6, - 1, 0, 56, 48, 0, 0, 0, 0, 47, 107, 0, 0, 2, 39, 6, 1, 0, 96, 48, 0, 0, 0, 0, 227, 28, 0, 0, 2, - 40, 6, 1, 0, 120, 48, 0, 0, 0, 0, 248, 68, 0, 0, 2, 41, 6, 1, 0, 136, 48, 0, 0, 0, 0, 226, 110, - 1, 0, 2, 42, 6, 1, 0, 144, 48, 0, 0, 0, 0, 11, 1, 0, 0, 2, 43, 6, 1, 0, 152, 48, 0, 0, 0, 0, - 138, 36, 2, 0, 2, 44, 6, 1, 0, 160, 0, 47, 0, 0, 0, 0, 16, 2, 27, 6, 1, 0, 48, 0, 0, 0, 0, 213, - 37, 2, 0, 2, 28, 6, 1, 0, 0, 48, 0, 0, 0, 0, 213, 37, 2, 0, 2, 29, 6, 1, 0, 8, 0, 9, 218, 37, - 2, 0, 13, 168, 0, 0, 0, 14, 230, 36, 2, 0, 14, 217, 35, 2, 0, 14, 11, 1, 0, 0, 0, 17, 11, 1, 0, - 0, 0, 0, 0, 0, 4, 2, 83, 32, 18, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 1, 18, 0, 0, 0, 0, 2, 0, 9, 20, - 38, 2, 0, 27, 0, 0, 0, 0, 120, 2, 2, 206, 32, 21, 0, 0, 0, 0, 112, 38, 2, 0, 2, 207, 32, 0, 21, - 0, 0, 0, 0, 255, 0, 0, 0, 2, 208, 32, 8, 21, 0, 0, 0, 0, 198, 87, 0, 0, 2, 209, 32, 16, 21, 0, - 0, 0, 0, 241, 106, 0, 0, 2, 210, 32, 80, 34, 0, 0, 0, 0, 11, 1, 0, 0, 2, 211, 32, 4, 1, 31, - 112, 21, 0, 0, 0, 0, 94, 170, 0, 0, 2, 212, 32, 120, 0, 9, 117, 38, 2, 0, 27, 0, 0, 0, 0, 40, - 1, 2, 190, 32, 21, 0, 0, 0, 0, 161, 78, 1, 0, 2, 191, 32, 0, 21, 0, 0, 0, 0, 43, 39, 2, 0, 2, - 192, 32, 8, 21, 0, 0, 0, 0, 140, 55, 0, 0, 2, 193, 32, 184, 21, 0, 0, 0, 0, 140, 55, 0, 0, 2, - 194, 32, 192, 21, 0, 0, 0, 0, 52, 42, 2, 0, 2, 195, 32, 200, 21, 0, 0, 0, 0, 14, 29, 0, 0, 2, - 196, 32, 208, 21, 0, 0, 0, 0, 14, 29, 0, 0, 2, 197, 32, 216, 21, 0, 0, 0, 0, 153, 42, 2, 0, 2, - 198, 32, 224, 21, 0, 0, 0, 0, 111, 83, 0, 0, 2, 199, 32, 232, 21, 0, 0, 0, 0, 158, 42, 2, 0, 2, - 200, 32, 240, 21, 0, 0, 0, 0, 158, 42, 2, 0, 2, 201, 32, 248, 28, 0, 0, 0, 0, 39, 43, 2, 0, 2, - 202, 32, 0, 1, 28, 0, 0, 0, 0, 227, 28, 0, 0, 2, 203, 32, 24, 1, 0, 20, 0, 0, 0, 0, 176, 2, - 161, 32, 21, 0, 0, 0, 0, 83, 40, 2, 0, 2, 162, 32, 0, 21, 0, 0, 0, 0, 104, 40, 2, 0, 2, 163, - 32, 8, 21, 0, 0, 0, 0, 116, 40, 2, 0, 2, 164, 32, 16, 21, 0, 0, 0, 0, 137, 40, 2, 0, 2, 165, - 32, 24, 21, 0, 0, 0, 0, 154, 40, 2, 0, 2, 166, 32, 32, 21, 0, 0, 0, 0, 166, 40, 2, 0, 2, 167, - 32, 40, 21, 0, 0, 0, 0, 192, 40, 2, 0, 2, 168, 32, 48, 21, 0, 0, 0, 0, 218, 40, 2, 0, 2, 169, - 32, 56, 21, 0, 0, 0, 0, 244, 40, 2, 0, 2, 170, 32, 64, 21, 0, 0, 0, 0, 48, 41, 2, 0, 2, 171, - 32, 72, 21, 0, 0, 0, 0, 70, 41, 2, 0, 2, 172, 32, 80, 21, 0, 0, 0, 0, 192, 41, 2, 0, 2, 173, - 32, 88, 21, 0, 0, 0, 0, 192, 41, 2, 0, 2, 174, 32, 96, 21, 0, 0, 0, 0, 204, 41, 2, 0, 2, 175, - 32, 104, 21, 0, 0, 0, 0, 226, 41, 2, 0, 2, 176, 32, 112, 21, 0, 0, 0, 0, 242, 41, 2, 0, 2, 177, - 32, 120, 21, 0, 0, 0, 0, 2, 42, 2, 0, 2, 178, 32, 128, 21, 0, 0, 0, 0, 192, 41, 2, 0, 2, 179, - 32, 136, 21, 0, 0, 0, 0, 19, 42, 2, 0, 2, 180, 32, 144, 21, 0, 0, 0, 0, 19, 42, 2, 0, 2, 181, - 32, 152, 21, 0, 0, 0, 0, 40, 42, 2, 0, 2, 182, 32, 160, 21, 0, 0, 0, 0, 40, 42, 2, 0, 2, 183, - 32, 168, 0, 9, 88, 40, 2, 0, 13, 168, 0, 0, 0, 14, 168, 19, 2, 0, 14, 112, 38, 2, 0, 0, 9, 109, - 40, 2, 0, 32, 14, 15, 38, 2, 0, 0, 9, 121, 40, 2, 0, 13, 168, 0, 0, 0, 14, 245, 26, 2, 0, 14, - 11, 1, 0, 0, 0, 9, 142, 40, 2, 0, 32, 14, 245, 26, 2, 0, 14, 11, 1, 0, 0, 0, 9, 159, 40, 2, 0, - 32, 14, 245, 26, 2, 0, 0, 9, 171, 40, 2, 0, 13, 219, 52, 0, 0, 14, 168, 19, 2, 0, 14, 115, 23, - 2, 0, 14, 229, 10, 2, 0, 0, 9, 197, 40, 2, 0, 13, 219, 52, 0, 0, 14, 168, 19, 2, 0, 14, 229, - 10, 2, 0, 14, 11, 1, 0, 0, 0, 9, 223, 40, 2, 0, 13, 168, 0, 0, 0, 14, 168, 19, 2, 0, 14, 105, - 31, 2, 0, 14, 229, 10, 2, 0, 0, 9, 249, 40, 2, 0, 32, 14, 168, 19, 2, 0, 14, 115, 23, 2, 0, 14, - 10, 41, 2, 0, 0, 17, 11, 1, 0, 0, 0, 0, 0, 0, 4, 2, 150, 32, 18, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, - 1, 18, 0, 0, 0, 0, 2, 18, 0, 0, 0, 0, 3, 0, 9, 53, 41, 2, 0, 32, 14, 168, 19, 2, 0, 14, 115, - 23, 2, 0, 14, 115, 23, 2, 0, 0, 9, 75, 41, 2, 0, 32, 14, 11, 1, 0, 0, 14, 87, 41, 2, 0, 0, 9, - 92, 41, 2, 0, 20, 0, 0, 0, 0, 40, 2, 88, 148, 21, 0, 0, 0, 0, 168, 19, 2, 0, 2, 89, 148, 0, 21, - 0, 0, 0, 0, 180, 41, 2, 0, 2, 90, 148, 8, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 91, 148, 12, 21, 0, - 0, 0, 0, 11, 1, 0, 0, 2, 92, 148, 16, 21, 0, 0, 0, 0, 35, 26, 2, 0, 2, 93, 148, 24, 21, 0, 0, - 0, 0, 245, 26, 2, 0, 2, 94, 148, 32, 0, 33, 0, 1, 0, 0, 0, 0, 0, 0, 2, 9, 148, 9, 197, 41, 2, - 0, 32, 14, 115, 23, 2, 0, 0, 9, 209, 41, 2, 0, 32, 14, 245, 26, 2, 0, 14, 4, 29, 0, 0, 14, 219, - 52, 0, 0, 0, 9, 231, 41, 2, 0, 13, 115, 23, 2, 0, 14, 245, 26, 2, 0, 0, 9, 247, 41, 2, 0, 13, - 219, 52, 0, 0, 14, 245, 26, 2, 0, 0, 9, 7, 42, 2, 0, 32, 14, 115, 23, 2, 0, 14, 136, 68, 0, 0, - 0, 9, 24, 42, 2, 0, 13, 115, 23, 2, 0, 14, 168, 19, 2, 0, 14, 115, 23, 2, 0, 0, 9, 45, 42, 2, - 0, 32, 14, 123, 34, 2, 0, 0, 9, 57, 42, 2, 0, 20, 0, 0, 0, 0, 32, 2, 215, 32, 21, 0, 0, 0, 0, - 174, 90, 0, 0, 2, 216, 32, 0, 21, 0, 0, 0, 0, 106, 42, 2, 0, 2, 217, 32, 16, 21, 0, 0, 0, 0, - 127, 42, 2, 0, 2, 218, 32, 24, 0, 9, 111, 42, 2, 0, 13, 136, 90, 0, 0, 14, 15, 38, 2, 0, 14, - 199, 53, 0, 0, 0, 9, 132, 42, 2, 0, 13, 136, 90, 0, 0, 14, 15, 38, 2, 0, 14, 14, 29, 0, 0, 14, - 140, 55, 0, 0, 0, 26, 11, 1, 0, 0, 9, 163, 42, 2, 0, 26, 168, 42, 2, 0, 20, 0, 0, 0, 0, 40, 2, - 221, 32, 21, 0, 0, 0, 0, 14, 29, 0, 0, 2, 222, 32, 0, 21, 0, 0, 0, 0, 213, 63, 0, 0, 2, 223, - 32, 8, 21, 0, 0, 0, 0, 243, 42, 2, 0, 2, 224, 32, 16, 21, 0, 0, 0, 0, 8, 43, 2, 0, 2, 225, 32, - 24, 21, 0, 0, 0, 0, 242, 114, 0, 0, 2, 226, 32, 32, 0, 9, 248, 42, 2, 0, 13, 168, 0, 0, 0, 14, - 255, 0, 0, 0, 14, 71, 114, 0, 0, 0, 9, 13, 43, 2, 0, 13, 136, 90, 0, 0, 14, 255, 0, 0, 0, 14, - 14, 29, 0, 0, 14, 140, 55, 0, 0, 14, 79, 115, 0, 0, 0, 3, 75, 0, 0, 0, 4, 82, 0, 0, 0, 22, 0, - 9, 56, 43, 2, 0, 20, 0, 0, 0, 0, 24, 2, 110, 246, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 111, 246, - 0, 21, 0, 0, 0, 0, 248, 68, 0, 0, 2, 112, 246, 16, 21, 0, 0, 0, 0, 219, 52, 0, 0, 2, 113, 246, - 20, 0, 9, 110, 43, 2, 0, 20, 0, 0, 0, 0, 40, 2, 252, 244, 21, 0, 0, 0, 0, 185, 43, 2, 0, 2, - 253, 244, 0, 21, 0, 0, 0, 0, 168, 19, 2, 0, 2, 254, 244, 8, 21, 0, 0, 0, 0, 155, 44, 2, 0, 2, - 255, 244, 16, 21, 0, 0, 0, 0, 105, 43, 2, 0, 2, 0, 245, 24, 21, 0, 0, 0, 0, 133, 66, 0, 0, 2, - 1, 245, 32, 0, 9, 190, 43, 2, 0, 20, 0, 0, 0, 0, 88, 2, 4, 245, 21, 0, 0, 0, 0, 87, 44, 2, 0, - 2, 5, 245, 0, 21, 0, 0, 0, 0, 104, 44, 2, 0, 2, 6, 245, 8, 21, 0, 0, 0, 0, 104, 44, 2, 0, 2, 7, - 245, 16, 21, 0, 0, 0, 0, 126, 44, 2, 0, 2, 8, 245, 24, 21, 0, 0, 0, 0, 126, 44, 2, 0, 2, 9, - 245, 32, 21, 0, 0, 0, 0, 126, 44, 2, 0, 2, 10, 245, 40, 21, 0, 0, 0, 0, 87, 44, 2, 0, 2, 11, - 245, 48, 21, 0, 0, 0, 0, 87, 44, 2, 0, 2, 12, 245, 56, 21, 0, 0, 0, 0, 143, 44, 2, 0, 2, 13, - 245, 64, 21, 0, 0, 0, 0, 143, 44, 2, 0, 2, 14, 245, 72, 21, 0, 0, 0, 0, 158, 42, 2, 0, 2, 15, - 245, 80, 0, 9, 92, 44, 2, 0, 32, 14, 105, 43, 2, 0, 14, 229, 10, 2, 0, 0, 9, 109, 44, 2, 0, 32, - 14, 105, 43, 2, 0, 14, 115, 23, 2, 0, 14, 229, 10, 2, 0, 0, 9, 131, 44, 2, 0, 32, 14, 105, 43, - 2, 0, 14, 115, 23, 2, 0, 0, 9, 148, 44, 2, 0, 32, 14, 105, 43, 2, 0, 0, 17, 11, 1, 0, 0, 0, 0, - 0, 0, 4, 2, 243, 244, 18, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 1, 18, 0, 0, 0, 0, 2, 18, 0, 0, 0, 0, - 3, 0, 9, 198, 44, 2, 0, 26, 203, 44, 2, 0, 20, 0, 0, 0, 0, 144, 2, 236, 32, 21, 0, 0, 0, 0, - 191, 45, 2, 0, 2, 237, 32, 0, 21, 0, 0, 0, 0, 154, 40, 2, 0, 2, 238, 32, 8, 21, 0, 0, 0, 0, 2, - 46, 2, 0, 2, 239, 32, 16, 21, 0, 0, 0, 0, 18, 46, 2, 0, 2, 240, 32, 24, 21, 0, 0, 0, 0, 35, 46, - 2, 0, 2, 241, 32, 32, 21, 0, 0, 0, 0, 52, 46, 2, 0, 2, 242, 32, 40, 21, 0, 0, 0, 0, 68, 46, 2, - 0, 2, 243, 32, 48, 21, 0, 0, 0, 0, 115, 46, 2, 0, 2, 244, 32, 56, 21, 0, 0, 0, 0, 192, 41, 2, - 0, 2, 245, 32, 64, 21, 0, 0, 0, 0, 131, 46, 2, 0, 2, 246, 32, 72, 21, 0, 0, 0, 0, 137, 40, 2, - 0, 2, 247, 32, 80, 21, 0, 0, 0, 0, 157, 46, 2, 0, 2, 248, 32, 88, 21, 0, 0, 0, 0, 236, 47, 2, - 0, 2, 249, 32, 96, 21, 0, 0, 0, 0, 192, 41, 2, 0, 2, 250, 32, 104, 21, 0, 0, 0, 0, 192, 41, 2, - 0, 2, 251, 32, 112, 21, 0, 0, 0, 0, 2, 48, 2, 0, 2, 252, 32, 120, 21, 0, 0, 0, 0, 18, 48, 2, 0, - 2, 253, 32, 128, 21, 0, 0, 0, 0, 34, 48, 2, 0, 2, 254, 32, 136, 0, 9, 196, 45, 2, 0, 13, 166, - 29, 2, 0, 14, 245, 26, 2, 0, 14, 212, 45, 2, 0, 0, 9, 217, 45, 2, 0, 26, 222, 45, 2, 0, 20, 0, - 0, 0, 0, 16, 2, 17, 149, 21, 0, 0, 0, 0, 115, 23, 2, 0, 2, 18, 149, 0, 21, 0, 0, 0, 0, 219, 52, - 0, 0, 2, 19, 149, 8, 0, 9, 7, 46, 2, 0, 13, 168, 0, 0, 0, 14, 168, 19, 2, 0, 0, 9, 23, 46, 2, - 0, 32, 14, 168, 19, 2, 0, 14, 168, 0, 0, 0, 0, 9, 40, 46, 2, 0, 32, 14, 115, 23, 2, 0, 14, 168, - 0, 0, 0, 0, 9, 57, 46, 2, 0, 13, 168, 0, 0, 0, 14, 115, 23, 2, 0, 0, 9, 73, 46, 2, 0, 13, 89, - 46, 2, 0, 14, 115, 23, 2, 0, 14, 219, 52, 0, 0, 0, 17, 11, 1, 0, 0, 0, 0, 0, 0, 4, 2, 229, 32, - 18, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 1, 0, 9, 120, 46, 2, 0, 13, 168, 0, 0, 0, 14, 245, 26, 2, 0, - 0, 9, 136, 46, 2, 0, 13, 168, 0, 0, 0, 14, 245, 26, 2, 0, 14, 255, 0, 0, 0, 14, 11, 1, 0, 0, 0, - 9, 162, 46, 2, 0, 13, 168, 0, 0, 0, 14, 188, 46, 2, 0, 14, 115, 23, 2, 0, 14, 11, 1, 0, 0, 14, - 11, 1, 0, 0, 0, 9, 193, 46, 2, 0, 27, 0, 0, 0, 0, 24, 1, 2, 141, 148, 21, 0, 0, 0, 0, 170, 47, - 2, 0, 2, 142, 148, 0, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 143, 148, 48, 21, 0, 0, 0, 0, 193, 44, 2, - 0, 2, 144, 148, 56, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 145, 148, 64, 21, 0, 0, 0, 0, 11, 1, 0, 0, - 2, 146, 148, 68, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 147, 148, 72, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, - 148, 148, 76, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 149, 148, 80, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, - 150, 148, 84, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 151, 148, 88, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, - 152, 148, 96, 21, 0, 0, 0, 0, 176, 64, 0, 0, 2, 153, 148, 104, 21, 0, 0, 0, 0, 232, 30, 2, 0, - 2, 154, 148, 112, 21, 0, 0, 0, 0, 232, 30, 2, 0, 2, 155, 148, 168, 21, 0, 0, 0, 0, 231, 47, 2, - 0, 2, 156, 148, 224, 21, 0, 0, 0, 0, 241, 106, 0, 0, 2, 157, 148, 232, 28, 0, 0, 0, 0, 227, 28, - 0, 0, 2, 158, 148, 8, 1, 0, 3, 182, 47, 2, 0, 4, 82, 0, 0, 0, 3, 0, 20, 0, 0, 0, 0, 16, 2, 135, - 148, 21, 0, 0, 0, 0, 186, 215, 0, 0, 2, 136, 148, 0, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 137, 148, - 8, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 138, 148, 12, 0, 9, 69, 30, 2, 0, 9, 241, 47, 2, 0, 32, 14, - 188, 46, 2, 0, 14, 115, 23, 2, 0, 14, 11, 1, 0, 0, 0, 9, 7, 48, 2, 0, 13, 219, 52, 0, 0, 14, - 168, 19, 2, 0, 0, 9, 23, 48, 2, 0, 13, 168, 0, 0, 0, 14, 188, 46, 2, 0, 0, 9, 39, 48, 2, 0, 32, - 14, 71, 114, 0, 0, 14, 115, 23, 2, 0, 0, 9, 245, 26, 2, 0, 20, 0, 0, 0, 0, 16, 2, 97, 23, 21, - 0, 0, 0, 0, 131, 48, 2, 0, 2, 98, 23, 0, 21, 0, 0, 0, 0, 5, 49, 0, 0, 2, 99, 23, 8, 21, 0, 0, - 0, 0, 5, 49, 0, 0, 2, 100, 23, 9, 21, 0, 0, 0, 0, 5, 49, 0, 0, 2, 101, 23, 10, 21, 0, 0, 0, 0, - 5, 49, 0, 0, 2, 102, 23, 11, 0, 9, 136, 48, 2, 0, 26, 141, 48, 2, 0, 20, 0, 0, 0, 0, 40, 2, - 251, 31, 21, 0, 0, 0, 0, 216, 48, 2, 0, 2, 252, 31, 0, 21, 0, 0, 0, 0, 216, 48, 2, 0, 2, 253, - 31, 8, 21, 0, 0, 0, 0, 81, 49, 2, 0, 2, 254, 31, 16, 21, 0, 0, 0, 0, 98, 49, 2, 0, 2, 255, 31, - 24, 21, 0, 0, 0, 0, 14, 29, 0, 0, 2, 0, 32, 32, 0, 9, 221, 48, 2, 0, 33, 233, 48, 2, 0, 0, 0, - 0, 0, 2, 245, 31, 13, 166, 29, 2, 0, 14, 244, 48, 2, 0, 0, 9, 249, 48, 2, 0, 20, 0, 0, 0, 0, - 40, 2, 1, 33, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 2, 33, 0, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 3, - 33, 8, 21, 0, 0, 0, 0, 77, 13, 2, 0, 2, 4, 33, 16, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 5, 33, 24, - 21, 0, 0, 0, 0, 225, 48, 0, 0, 2, 6, 33, 28, 21, 0, 0, 0, 0, 14, 29, 0, 0, 2, 7, 33, 32, 0, 9, - 86, 49, 2, 0, 33, 197, 41, 2, 0, 0, 0, 0, 0, 2, 247, 31, 9, 103, 49, 2, 0, 33, 115, 49, 2, 0, - 0, 0, 0, 0, 2, 249, 31, 32, 14, 115, 23, 2, 0, 14, 11, 1, 0, 0, 0, 9, 132, 49, 2, 0, 20, 0, 0, - 0, 0, 120, 2, 97, 148, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 98, 148, 0, 21, 0, 0, 0, 0, 173, 161, - 0, 0, 2, 99, 148, 16, 21, 0, 0, 0, 0, 3, 50, 2, 0, 2, 100, 148, 56, 21, 0, 0, 0, 0, 83, 50, 2, - 0, 2, 101, 148, 64, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 102, 148, 72, 21, 0, 0, 0, 0, 3, 50, 2, 0, - 2, 103, 148, 80, 21, 0, 0, 0, 0, 109, 50, 2, 0, 2, 104, 148, 88, 21, 0, 0, 0, 0, 255, 0, 0, 0, - 2, 105, 148, 96, 21, 0, 0, 0, 0, 65, 29, 0, 0, 2, 106, 148, 104, 0, 9, 8, 50, 2, 0, 20, 0, 0, - 0, 0, 40, 2, 112, 23, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 113, 23, 0, 21, 0, 0, 0, 0, 136, 68, 0, - 0, 2, 114, 23, 8, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 115, 23, 16, 21, 0, 0, 0, 0, 125, 68, 0, 0, - 2, 116, 23, 24, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 117, 23, 32, 0, 9, 88, 50, 2, 0, 13, 168, 0, - 0, 0, 14, 99, 50, 2, 0, 0, 9, 104, 50, 2, 0, 26, 120, 23, 2, 0, 9, 114, 50, 2, 0, 32, 14, 127, - 49, 2, 0, 0, 3, 8, 50, 2, 0, 4, 82, 0, 0, 0, 16, 0, 9, 138, 50, 2, 0, 27, 0, 0, 0, 0, 88, 1, 2, - 219, 31, 21, 0, 0, 0, 0, 168, 19, 2, 0, 2, 220, 31, 0, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 221, - 31, 8, 21, 0, 0, 0, 0, 184, 28, 0, 0, 2, 222, 31, 24, 21, 0, 0, 0, 0, 147, 51, 2, 0, 2, 223, - 31, 40, 21, 0, 0, 0, 0, 133, 50, 2, 0, 2, 224, 31, 48, 21, 0, 0, 0, 0, 153, 0, 1, 0, 2, 225, - 31, 56, 21, 0, 0, 0, 0, 219, 52, 0, 0, 2, 226, 31, 72, 21, 0, 0, 0, 0, 105, 52, 2, 0, 2, 227, - 31, 80, 21, 0, 0, 0, 0, 110, 52, 2, 0, 2, 228, 31, 88, 21, 0, 0, 0, 0, 207, 52, 2, 0, 2, 229, - 31, 184, 21, 0, 0, 0, 0, 248, 68, 0, 0, 2, 230, 31, 232, 21, 0, 0, 0, 0, 193, 10, 2, 0, 2, 231, - 31, 240, 28, 0, 0, 0, 0, 156, 163, 0, 0, 2, 232, 31, 0, 1, 28, 0, 0, 0, 0, 176, 64, 0, 0, 2, - 233, 31, 32, 1, 28, 0, 0, 0, 0, 83, 97, 0, 0, 2, 234, 31, 40, 1, 28, 0, 0, 0, 0, 83, 97, 0, 0, - 2, 235, 31, 48, 1, 28, 0, 0, 0, 0, 136, 68, 0, 0, 2, 236, 31, 56, 1, 28, 0, 0, 0, 0, 168, 0, 0, - 0, 2, 237, 31, 64, 1, 28, 0, 0, 0, 0, 65, 29, 0, 0, 2, 238, 31, 72, 1, 0, 9, 152, 51, 2, 0, 27, - 0, 0, 0, 0, 200, 1, 2, 36, 33, 21, 0, 0, 0, 0, 69, 148, 0, 0, 2, 37, 33, 0, 21, 0, 0, 0, 0, - 248, 68, 0, 0, 2, 38, 33, 200, 21, 0, 0, 0, 0, 141, 64, 0, 0, 2, 39, 33, 204, 21, 0, 0, 0, 0, - 215, 152, 0, 0, 2, 40, 33, 208, 21, 0, 0, 0, 0, 133, 50, 2, 0, 2, 41, 33, 224, 21, 0, 0, 0, 0, - 190, 103, 0, 0, 2, 42, 33, 232, 21, 0, 0, 0, 0, 40, 52, 2, 0, 2, 43, 33, 240, 28, 0, 0, 0, 0, - 227, 28, 0, 0, 2, 44, 33, 32, 1, 28, 0, 0, 0, 0, 93, 52, 2, 0, 2, 45, 33, 48, 1, 28, 0, 0, 0, - 0, 227, 28, 0, 0, 2, 46, 33, 184, 1, 0, 3, 52, 52, 2, 0, 4, 82, 0, 0, 0, 6, 0, 9, 57, 52, 2, 0, - 20, 0, 0, 0, 0, 16, 2, 49, 33, 21, 0, 0, 0, 0, 147, 51, 2, 0, 2, 50, 33, 0, 21, 0, 0, 0, 0, - 168, 0, 0, 0, 2, 51, 33, 8, 0, 3, 75, 0, 0, 0, 4, 82, 0, 0, 0, 129, 0, 9, 110, 52, 2, 0, 20, 0, - 0, 0, 0, 96, 2, 209, 31, 21, 0, 0, 0, 0, 26, 163, 0, 0, 2, 210, 31, 0, 21, 0, 0, 0, 0, 159, 52, - 2, 0, 2, 211, 31, 0, 21, 0, 0, 0, 0, 159, 52, 2, 0, 2, 212, 31, 48, 0, 20, 0, 0, 0, 0, 48, 2, - 204, 31, 21, 0, 0, 0, 0, 195, 52, 2, 0, 2, 205, 31, 0, 21, 0, 0, 0, 0, 195, 52, 2, 0, 2, 206, - 31, 24, 0, 3, 136, 68, 0, 0, 4, 82, 0, 0, 0, 3, 0, 3, 219, 52, 2, 0, 4, 82, 0, 0, 0, 6, 0, 9, - 224, 52, 2, 0, 20, 0, 0, 0, 0, 16, 2, 54, 33, 21, 0, 0, 0, 0, 133, 50, 2, 0, 2, 55, 33, 0, 21, - 0, 0, 0, 0, 168, 0, 0, 0, 2, 56, 33, 8, 0, 20, 0, 0, 0, 0, 112, 2, 153, 23, 21, 0, 0, 0, 0, - 122, 54, 2, 0, 2, 154, 23, 0, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 155, 23, 8, 21, 0, 0, 0, 0, - 127, 29, 0, 0, 2, 156, 23, 16, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 157, 23, 24, 21, 0, 0, 0, 0, 11, - 1, 0, 0, 2, 158, 23, 28, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 159, 23, 32, 21, 0, 0, 0, 0, 11, 1, 0, - 0, 2, 160, 23, 36, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 161, 23, 40, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, - 162, 23, 44, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 163, 23, 48, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 164, - 23, 52, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 165, 23, 56, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 166, 23, - 60, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 167, 23, 64, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 168, 23, 68, - 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 169, 23, 72, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 170, 23, 76, 21, - 0, 0, 0, 0, 11, 1, 0, 0, 2, 171, 23, 80, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 172, 23, 84, 21, 0, 0, - 0, 0, 11, 1, 0, 0, 2, 173, 23, 88, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 174, 23, 92, 21, 0, 0, 0, 0, - 225, 48, 0, 0, 2, 175, 23, 96, 21, 0, 0, 0, 0, 225, 48, 0, 0, 2, 176, 23, 98, 21, 0, 0, 0, 0, - 225, 48, 0, 0, 2, 177, 23, 100, 21, 0, 0, 0, 0, 5, 49, 0, 0, 2, 178, 23, 102, 21, 0, 0, 0, 0, - 5, 49, 0, 0, 2, 179, 23, 103, 21, 0, 0, 0, 0, 5, 49, 0, 0, 2, 180, 23, 104, 21, 0, 0, 0, 0, - 148, 54, 2, 0, 2, 181, 23, 108, 0, 17, 11, 1, 0, 0, 0, 0, 0, 0, 4, 2, 142, 23, 18, 0, 0, 0, 0, - 0, 18, 0, 0, 0, 0, 1, 0, 17, 11, 1, 0, 0, 0, 0, 0, 0, 4, 2, 147, 23, 18, 0, 0, 0, 0, 0, 18, 0, - 0, 0, 0, 1, 18, 0, 0, 0, 0, 2, 0, 9, 185, 54, 2, 0, 20, 0, 0, 0, 0, 96, 2, 109, 148, 21, 0, 0, - 0, 0, 168, 0, 0, 0, 2, 110, 148, 0, 21, 0, 0, 0, 0, 95, 55, 2, 0, 2, 111, 148, 8, 21, 0, 0, 0, - 0, 75, 110, 0, 0, 2, 112, 148, 16, 21, 0, 0, 0, 0, 148, 245, 1, 0, 2, 113, 148, 24, 21, 0, 0, - 0, 0, 177, 69, 0, 0, 2, 114, 148, 32, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 115, 148, 40, 21, 0, 0, - 0, 0, 136, 68, 0, 0, 2, 116, 148, 48, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 117, 148, 56, 21, 0, 0, - 0, 0, 125, 68, 0, 0, 2, 118, 148, 60, 21, 0, 0, 0, 0, 133, 66, 0, 0, 2, 119, 148, 64, 21, 0, 0, - 0, 0, 227, 28, 0, 0, 2, 120, 148, 72, 21, 0, 0, 0, 0, 176, 64, 0, 0, 2, 121, 148, 88, 0, 9, - 100, 55, 2, 0, 27, 0, 0, 0, 0, 112, 1, 2, 115, 142, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 116, 142, - 0, 21, 0, 0, 0, 0, 140, 55, 0, 0, 2, 117, 142, 8, 21, 0, 0, 0, 0, 140, 55, 0, 0, 2, 118, 142, - 16, 21, 0, 0, 0, 0, 140, 55, 0, 0, 2, 119, 142, 24, 21, 0, 0, 0, 0, 37, 56, 2, 0, 2, 120, 142, - 32, 21, 0, 0, 0, 0, 80, 110, 0, 0, 2, 121, 142, 40, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 122, 142, - 48, 21, 0, 0, 0, 0, 140, 55, 0, 0, 2, 123, 142, 56, 21, 0, 0, 0, 0, 156, 57, 2, 0, 2, 124, 142, - 64, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 125, 142, 72, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 126, 142, - 80, 21, 0, 0, 0, 0, 133, 66, 0, 0, 2, 127, 142, 96, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 128, 142, - 104, 21, 0, 0, 0, 0, 161, 57, 2, 0, 2, 129, 142, 108, 0, 9, 42, 56, 2, 0, 26, 47, 56, 2, 0, 20, - 0, 0, 0, 0, 24, 2, 132, 142, 21, 0, 0, 0, 0, 96, 56, 2, 0, 2, 133, 142, 0, 21, 0, 0, 0, 0, 120, - 57, 2, 0, 2, 134, 142, 8, 21, 0, 0, 0, 0, 235, 70, 0, 0, 2, 135, 142, 16, 0, 9, 101, 56, 2, 0, - 13, 168, 0, 0, 0, 14, 127, 56, 2, 0, 14, 255, 0, 0, 0, 14, 255, 0, 0, 0, 14, 140, 55, 0, 0, 0, - 9, 132, 56, 2, 0, 20, 0, 0, 0, 0, 192, 2, 88, 142, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 89, 142, 0, - 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 90, 142, 8, 21, 0, 0, 0, 0, 140, 55, 0, 0, 2, 91, 142, 16, 21, - 0, 0, 0, 0, 140, 55, 0, 0, 2, 92, 142, 24, 21, 0, 0, 0, 0, 140, 55, 0, 0, 2, 93, 142, 32, 21, - 0, 0, 0, 0, 95, 55, 2, 0, 2, 94, 142, 40, 21, 0, 0, 0, 0, 47, 107, 0, 0, 2, 95, 142, 48, 21, 0, - 0, 0, 0, 11, 61, 1, 0, 2, 96, 142, 72, 21, 0, 0, 0, 0, 133, 66, 0, 0, 2, 97, 142, 96, 21, 0, 0, - 0, 0, 80, 110, 0, 0, 2, 98, 142, 104, 21, 0, 0, 0, 0, 70, 110, 0, 0, 2, 99, 142, 112, 21, 0, 0, - 0, 0, 11, 1, 0, 0, 2, 100, 142, 120, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 101, 142, 124, 21, 0, 0, - 0, 0, 65, 186, 0, 0, 2, 102, 142, 128, 21, 0, 0, 0, 0, 140, 55, 0, 0, 2, 103, 142, 136, 21, 0, - 0, 0, 0, 140, 55, 0, 0, 2, 104, 142, 144, 21, 0, 0, 0, 0, 140, 55, 0, 0, 2, 105, 142, 152, 21, - 0, 0, 0, 0, 11, 1, 0, 0, 2, 106, 142, 160, 0, 9, 125, 57, 2, 0, 13, 133, 66, 0, 0, 14, 14, 29, - 0, 0, 14, 133, 66, 0, 0, 14, 213, 63, 0, 0, 14, 127, 56, 2, 0, 14, 214, 52, 0, 0, 0, 9, 127, - 56, 2, 0, 3, 75, 0, 0, 0, 4, 82, 0, 0, 0, 255, 0, 9, 178, 57, 2, 0, 27, 0, 0, 0, 0, 56, 3, 2, - 118, 249, 21, 0, 0, 0, 0, 146, 58, 2, 0, 2, 119, 249, 0, 21, 0, 0, 0, 0, 168, 19, 2, 0, 2, 120, - 249, 120, 21, 0, 0, 0, 0, 16, 57, 1, 0, 2, 121, 249, 128, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 122, - 249, 136, 21, 0, 0, 0, 0, 156, 163, 0, 0, 2, 123, 249, 144, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, - 124, 249, 176, 21, 0, 0, 0, 0, 252, 58, 2, 0, 2, 125, 249, 180, 21, 0, 0, 0, 0, 127, 29, 0, 0, - 2, 126, 249, 184, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 127, 249, 192, 21, 0, 0, 0, 0, 11, 1, 0, 0, - 2, 128, 249, 200, 21, 0, 0, 0, 0, 8, 59, 2, 0, 2, 129, 249, 208, 28, 0, 0, 0, 0, 56, 59, 2, 0, - 2, 130, 249, 240, 1, 28, 0, 0, 0, 0, 104, 59, 2, 0, 2, 131, 249, 16, 3, 28, 0, 0, 0, 0, 127, - 29, 0, 0, 2, 132, 249, 32, 3, 28, 0, 0, 0, 0, 127, 29, 0, 0, 2, 133, 249, 40, 3, 28, 0, 0, 0, - 0, 219, 52, 0, 0, 2, 134, 249, 48, 3, 0, 20, 0, 0, 0, 0, 120, 2, 98, 249, 21, 0, 0, 0, 0, 247, - 58, 2, 0, 2, 99, 249, 0, 21, 0, 0, 0, 0, 233, 227, 1, 0, 2, 100, 249, 8, 21, 0, 0, 0, 0, 16, - 57, 1, 0, 2, 101, 249, 40, 21, 0, 0, 0, 0, 63, 144, 0, 0, 2, 102, 249, 48, 21, 0, 0, 0, 0, 11, - 1, 0, 0, 2, 103, 249, 64, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 104, 249, 72, 21, 0, 0, 0, 0, 173, - 161, 0, 0, 2, 105, 249, 80, 0, 9, 146, 58, 2, 0, 3, 219, 52, 0, 0, 4, 82, 0, 0, 0, 2, 0, 3, 20, - 59, 2, 0, 4, 82, 0, 0, 0, 18, 0, 20, 0, 0, 0, 0, 16, 2, 108, 249, 21, 0, 0, 0, 0, 127, 29, 0, - 0, 2, 109, 249, 0, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 110, 249, 8, 0, 3, 68, 59, 2, 0, 4, 82, 0, - 0, 0, 18, 0, 20, 0, 0, 0, 0, 16, 2, 113, 249, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 114, 249, 0, - 21, 0, 0, 0, 0, 219, 52, 0, 0, 2, 115, 249, 8, 0, 3, 116, 59, 2, 0, 4, 82, 0, 0, 0, 2, 0, 9, - 20, 59, 2, 0, 27, 0, 0, 0, 0, 136, 1, 2, 203, 23, 21, 0, 0, 0, 0, 161, 78, 1, 0, 2, 204, 23, 0, - 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 205, 23, 8, 21, 0, 0, 0, 0, 51, 60, 2, 0, 2, 206, 23, 16, 21, - 0, 0, 0, 0, 92, 60, 2, 0, 2, 207, 23, 24, 21, 0, 0, 0, 0, 92, 60, 2, 0, 2, 208, 23, 96, 21, 0, - 0, 0, 0, 92, 60, 2, 0, 2, 209, 23, 168, 21, 0, 0, 0, 0, 92, 60, 2, 0, 2, 210, 23, 240, 28, 0, - 0, 0, 0, 11, 1, 0, 0, 2, 211, 23, 56, 1, 28, 0, 0, 0, 0, 248, 68, 0, 0, 2, 212, 23, 60, 1, 28, - 0, 0, 0, 0, 193, 10, 2, 0, 2, 213, 23, 64, 1, 28, 0, 0, 0, 0, 156, 163, 0, 0, 2, 214, 23, 80, - 1, 28, 0, 0, 0, 0, 209, 165, 0, 0, 2, 215, 23, 112, 1, 28, 0, 0, 0, 0, 184, 28, 0, 0, 2, 216, - 23, 120, 1, 0, 9, 56, 60, 2, 0, 20, 0, 0, 0, 0, 24, 2, 238, 244, 21, 0, 0, 0, 0, 193, 10, 2, 0, - 2, 239, 244, 0, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 240, 244, 16, 0, 33, 104, 60, 2, 0, 0, 0, 0, 0, - 2, 199, 23, 20, 0, 0, 0, 0, 72, 2, 188, 23, 21, 0, 0, 0, 0, 248, 68, 0, 0, 2, 189, 23, 0, 21, - 0, 0, 0, 0, 168, 0, 0, 0, 2, 190, 23, 4, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 191, 23, 8, 21, 0, 0, - 0, 0, 31, 48, 1, 0, 2, 192, 23, 16, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 193, 23, 24, 21, 0, 0, 0, - 0, 218, 60, 2, 0, 2, 194, 23, 32, 21, 0, 0, 0, 0, 251, 60, 2, 0, 2, 195, 23, 40, 21, 0, 0, 0, - 0, 47, 107, 0, 0, 2, 196, 23, 48, 0, 9, 223, 60, 2, 0, 33, 235, 60, 2, 0, 0, 0, 0, 0, 2, 184, - 23, 13, 255, 0, 0, 0, 14, 8, 153, 0, 0, 14, 255, 0, 0, 0, 0, 9, 0, 61, 2, 0, 33, 12, 61, 2, 0, - 0, 0, 0, 0, 2, 186, 23, 32, 14, 255, 0, 0, 0, 14, 255, 0, 0, 0, 0, 3, 136, 68, 0, 0, 4, 82, 0, - 0, 0, 5, 0, 9, 41, 61, 2, 0, 27, 0, 0, 0, 0, 104, 4, 2, 229, 22, 21, 0, 0, 0, 0, 136, 68, 0, 0, - 2, 230, 22, 0, 21, 0, 0, 0, 0, 86, 40, 0, 0, 2, 231, 22, 8, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, - 232, 22, 32, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 233, 22, 48, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, - 234, 22, 56, 21, 0, 0, 0, 0, 80, 110, 0, 0, 2, 235, 22, 64, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, - 236, 22, 68, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 237, 22, 72, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 238, - 22, 76, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 239, 22, 80, 21, 0, 0, 0, 0, 71, 97, 0, 0, 2, 240, 22, - 88, 21, 0, 0, 0, 0, 92, 62, 2, 0, 2, 241, 22, 96, 28, 0, 0, 0, 0, 227, 28, 0, 0, 2, 242, 22, - 104, 3, 28, 0, 0, 0, 0, 215, 152, 0, 0, 2, 243, 22, 120, 3, 28, 0, 0, 0, 0, 241, 106, 0, 0, 2, - 244, 22, 136, 3, 28, 0, 0, 0, 0, 133, 97, 0, 0, 2, 245, 22, 168, 3, 28, 0, 0, 0, 0, 47, 107, 0, - 0, 2, 246, 22, 208, 3, 28, 0, 0, 0, 0, 203, 173, 0, 0, 2, 247, 22, 232, 3, 28, 0, 0, 0, 0, 178, - 162, 0, 0, 2, 248, 22, 240, 3, 28, 0, 0, 0, 0, 203, 173, 0, 0, 2, 249, 22, 48, 4, 28, 0, 0, 0, - 0, 173, 161, 0, 0, 2, 250, 22, 56, 4, 28, 0, 0, 0, 0, 133, 66, 0, 0, 2, 251, 22, 96, 4, 0, 27, - 0, 0, 0, 0, 8, 3, 2, 185, 22, 21, 0, 0, 0, 0, 36, 61, 2, 0, 2, 186, 22, 0, 21, 0, 0, 0, 0, 127, - 29, 0, 0, 2, 187, 22, 8, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 188, 22, 16, 21, 0, 0, 0, 0, 227, - 28, 0, 0, 2, 189, 22, 24, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 190, 22, 40, 21, 0, 0, 0, 0, 227, - 28, 0, 0, 2, 191, 22, 56, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 192, 22, 72, 21, 0, 0, 0, 0, 248, - 68, 0, 0, 2, 193, 22, 88, 21, 0, 0, 0, 0, 176, 64, 0, 0, 2, 194, 22, 92, 21, 0, 0, 0, 0, 113, - 64, 2, 0, 2, 195, 22, 96, 28, 0, 0, 0, 0, 127, 29, 0, 0, 2, 196, 22, 0, 1, 28, 0, 0, 0, 0, 127, - 29, 0, 0, 2, 197, 22, 8, 1, 28, 0, 0, 0, 0, 127, 29, 0, 0, 2, 198, 22, 16, 1, 28, 0, 0, 0, 0, - 127, 29, 0, 0, 2, 199, 22, 24, 1, 28, 0, 0, 0, 0, 127, 29, 0, 0, 2, 200, 22, 32, 1, 28, 0, 0, - 0, 0, 127, 29, 0, 0, 2, 201, 22, 40, 1, 28, 0, 0, 0, 0, 127, 29, 0, 0, 2, 202, 22, 48, 1, 28, - 0, 0, 0, 0, 127, 29, 0, 0, 2, 203, 22, 56, 1, 28, 0, 0, 0, 0, 125, 64, 2, 0, 2, 204, 22, 64, 1, - 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 205, 22, 112, 1, 28, 0, 0, 0, 0, 174, 64, 2, 0, 2, 206, 22, - 116, 1, 28, 0, 0, 0, 0, 248, 68, 0, 0, 2, 207, 22, 120, 1, 28, 0, 0, 0, 0, 227, 28, 0, 0, 2, - 208, 22, 128, 1, 28, 0, 0, 0, 0, 147, 165, 0, 0, 2, 209, 22, 144, 1, 28, 0, 0, 0, 0, 147, 165, - 0, 0, 2, 210, 22, 232, 1, 28, 0, 0, 0, 0, 127, 29, 0, 0, 2, 211, 22, 64, 2, 28, 0, 0, 0, 0, - 227, 28, 0, 0, 2, 212, 22, 72, 2, 28, 0, 0, 0, 0, 153, 0, 1, 0, 2, 213, 22, 88, 2, 28, 0, 0, 0, - 0, 125, 64, 2, 0, 2, 214, 22, 104, 2, 28, 0, 0, 0, 0, 8, 162, 0, 0, 2, 215, 22, 152, 2, 28, 0, - 0, 0, 0, 8, 162, 0, 0, 2, 216, 22, 160, 2, 28, 0, 0, 0, 0, 227, 28, 0, 0, 2, 217, 22, 168, 2, - 28, 0, 0, 0, 0, 227, 28, 0, 0, 2, 218, 22, 184, 2, 28, 0, 0, 0, 0, 227, 28, 0, 0, 2, 219, 22, - 200, 2, 28, 0, 0, 0, 0, 227, 28, 0, 0, 2, 220, 22, 216, 2, 30, 80, 64, 2, 0, 2, 221, 22, 232, - 2, 23, 32, 2, 221, 22, 21, 0, 0, 0, 0, 156, 163, 0, 0, 2, 222, 22, 0, 21, 0, 0, 0, 0, 65, 29, - 0, 0, 2, 223, 22, 0, 0, 0, 3, 166, 109, 0, 0, 4, 82, 0, 0, 0, 4, 0, 20, 0, 0, 0, 0, 48, 2, 167, - 22, 21, 0, 0, 0, 0, 166, 109, 0, 0, 2, 168, 22, 0, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 169, 22, 40, - 21, 0, 0, 0, 0, 231, 97, 0, 0, 2, 170, 22, 44, 0, 17, 11, 1, 0, 0, 0, 0, 0, 0, 4, 2, 173, 22, - 18, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 1, 18, 0, 0, 0, 0, 2, 18, 0, 0, 0, 0, 3, 18, 0, 0, 0, 0, 4, - 18, 0, 0, 0, 0, 5, 18, 0, 0, 0, 0, 6, 18, 0, 0, 0, 0, 7, 18, 0, 0, 0, 0, 8, 0, 9, 247, 64, 2, - 0, 47, 0, 0, 0, 0, 24, 2, 84, 69, 1, 0, 48, 0, 0, 0, 0, 48, 65, 2, 0, 2, 85, 69, 1, 0, 0, 48, - 0, 0, 0, 0, 248, 0, 0, 0, 2, 86, 69, 1, 0, 8, 48, 0, 0, 0, 0, 248, 0, 0, 0, 2, 87, 69, 1, 0, - 16, 0, 33, 208, 0, 0, 0, 0, 0, 0, 0, 2, 134, 91, 9, 65, 65, 2, 0, 20, 0, 0, 0, 0, 176, 2, 178, - 248, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 179, 248, 0, 21, 0, 0, 0, 0, 236, 13, 2, 0, 2, 180, 248, - 16, 21, 0, 0, 0, 0, 248, 68, 0, 0, 2, 181, 248, 24, 21, 0, 0, 0, 0, 241, 106, 0, 0, 2, 182, - 248, 32, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 183, 248, 64, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 184, - 248, 68, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 185, 248, 72, 21, 0, 0, 0, 0, 248, 0, 0, 0, 2, 186, - 248, 80, 21, 0, 0, 0, 0, 147, 165, 0, 0, 2, 187, 248, 88, 0, 9, 197, 65, 2, 0, 47, 0, 0, 0, 0, - 120, 2, 189, 113, 1, 0, 48, 0, 0, 0, 0, 57, 67, 2, 0, 2, 190, 113, 1, 0, 0, 48, 0, 0, 0, 0, - 227, 28, 0, 0, 2, 191, 113, 1, 0, 8, 48, 0, 0, 0, 0, 236, 13, 2, 0, 2, 192, 113, 1, 0, 24, 48, - 0, 0, 0, 0, 255, 0, 0, 0, 2, 193, 113, 1, 0, 32, 48, 0, 0, 0, 0, 168, 0, 0, 0, 2, 194, 113, 1, - 0, 40, 48, 0, 0, 0, 0, 168, 0, 0, 0, 2, 195, 113, 1, 0, 44, 48, 0, 0, 0, 0, 168, 0, 0, 0, 2, - 196, 113, 1, 0, 48, 49, 0, 0, 0, 0, 11, 1, 0, 0, 2, 197, 113, 1, 0, 4, 30, 2, 52, 49, 0, 0, 0, - 0, 11, 1, 0, 0, 2, 198, 113, 1, 0, 4, 2, 0, 52, 48, 0, 0, 0, 0, 11, 1, 0, 0, 2, 199, 113, 1, 0, - 56, 48, 0, 0, 0, 0, 11, 1, 0, 0, 2, 200, 113, 1, 0, 60, 48, 0, 0, 0, 0, 168, 0, 0, 0, 2, 201, - 113, 1, 0, 64, 48, 0, 0, 0, 0, 8, 71, 2, 0, 2, 202, 113, 1, 0, 68, 49, 0, 0, 0, 0, 129, 55, 0, - 0, 2, 203, 113, 1, 0, 1, 2, 6, 88, 49, 0, 0, 0, 0, 129, 55, 0, 0, 2, 204, 113, 1, 0, 1, 1, 5, - 88, 49, 0, 0, 0, 0, 129, 55, 0, 0, 2, 205, 113, 1, 0, 1, 5, 0, 88, 48, 0, 0, 0, 0, 168, 0, 0, - 0, 2, 206, 113, 1, 0, 92, 48, 0, 0, 0, 0, 129, 55, 0, 0, 2, 207, 113, 1, 0, 96, 48, 0, 0, 0, 0, - 129, 55, 0, 0, 2, 208, 113, 1, 0, 97, 48, 0, 0, 0, 0, 225, 48, 0, 0, 2, 209, 113, 1, 0, 98, 48, - 0, 0, 0, 0, 168, 0, 0, 0, 2, 210, 113, 1, 0, 100, 48, 0, 0, 0, 0, 98, 69, 2, 0, 2, 211, 113, 1, - 0, 104, 48, 0, 0, 0, 0, 168, 0, 0, 0, 2, 212, 113, 1, 0, 112, 0, 9, 62, 67, 2, 0, 26, 67, 67, - 2, 0, 47, 0, 0, 0, 0, 120, 2, 27, 114, 1, 0, 48, 0, 0, 0, 0, 48, 68, 2, 0, 2, 28, 114, 1, 0, 0, - 48, 0, 0, 0, 0, 69, 68, 2, 0, 2, 29, 114, 1, 0, 8, 48, 0, 0, 0, 0, 48, 68, 2, 0, 2, 30, 114, 1, - 0, 16, 48, 0, 0, 0, 0, 81, 68, 2, 0, 2, 31, 114, 1, 0, 24, 48, 0, 0, 0, 0, 48, 68, 2, 0, 2, 32, - 114, 1, 0, 32, 48, 0, 0, 0, 0, 48, 68, 2, 0, 2, 33, 114, 1, 0, 40, 48, 0, 0, 0, 0, 48, 68, 2, - 0, 2, 34, 114, 1, 0, 48, 48, 0, 0, 0, 0, 48, 68, 2, 0, 2, 35, 114, 1, 0, 56, 48, 0, 0, 0, 0, - 107, 68, 2, 0, 2, 36, 114, 1, 0, 64, 48, 0, 0, 0, 0, 33, 69, 2, 0, 2, 37, 114, 1, 0, 72, 48, 0, - 0, 0, 0, 98, 69, 2, 0, 2, 38, 114, 1, 0, 80, 48, 0, 0, 0, 0, 114, 69, 2, 0, 2, 39, 114, 1, 0, - 88, 48, 0, 0, 0, 0, 140, 69, 2, 0, 2, 40, 114, 1, 0, 96, 48, 0, 0, 0, 0, 218, 70, 2, 0, 2, 41, - 114, 1, 0, 104, 48, 0, 0, 0, 0, 3, 71, 2, 0, 2, 42, 114, 1, 0, 112, 0, 9, 53, 68, 2, 0, 13, - 168, 0, 0, 0, 14, 192, 65, 2, 0, 14, 168, 0, 0, 0, 0, 9, 74, 68, 2, 0, 32, 14, 192, 65, 2, 0, - 0, 9, 86, 68, 2, 0, 13, 11, 1, 0, 0, 14, 192, 65, 2, 0, 14, 11, 1, 0, 0, 14, 168, 0, 0, 0, 0, - 9, 112, 68, 2, 0, 13, 168, 0, 0, 0, 14, 192, 65, 2, 0, 14, 128, 68, 2, 0, 0, 9, 133, 68, 2, 0, - 47, 0, 0, 0, 0, 8, 2, 226, 113, 1, 0, 48, 0, 0, 0, 0, 190, 68, 2, 0, 2, 227, 113, 1, 0, 0, 48, - 0, 0, 0, 0, 129, 55, 0, 0, 2, 228, 113, 1, 0, 4, 48, 0, 0, 0, 0, 129, 55, 0, 0, 2, 229, 113, 1, - 0, 5, 0, 58, 0, 0, 0, 0, 4, 2, 221, 113, 1, 0, 48, 0, 0, 0, 0, 232, 68, 2, 0, 2, 222, 113, 1, - 0, 0, 48, 0, 0, 0, 0, 168, 0, 0, 0, 2, 223, 113, 1, 0, 0, 0, 47, 0, 0, 0, 0, 3, 2, 215, 113, 1, - 0, 48, 0, 0, 0, 0, 129, 55, 0, 0, 2, 216, 113, 1, 0, 0, 48, 0, 0, 0, 0, 129, 55, 0, 0, 2, 217, - 113, 1, 0, 1, 48, 0, 0, 0, 0, 129, 55, 0, 0, 2, 218, 113, 1, 0, 2, 0, 9, 38, 69, 2, 0, 13, 168, - 0, 0, 0, 14, 192, 65, 2, 0, 14, 54, 69, 2, 0, 0, 9, 59, 69, 2, 0, 47, 0, 0, 0, 0, 14, 2, 232, - 113, 1, 0, 48, 0, 0, 0, 0, 86, 69, 2, 0, 2, 233, 113, 1, 0, 0, 0, 3, 129, 55, 0, 0, 4, 82, 0, - 0, 0, 14, 0, 9, 103, 69, 2, 0, 13, 168, 0, 0, 0, 14, 192, 65, 2, 0, 0, 9, 119, 69, 2, 0, 13, - 168, 0, 0, 0, 14, 192, 65, 2, 0, 14, 11, 1, 0, 0, 14, 255, 0, 0, 0, 0, 9, 145, 69, 2, 0, 13, - 168, 0, 0, 0, 14, 192, 65, 2, 0, 14, 161, 69, 2, 0, 0, 9, 166, 69, 2, 0, 47, 0, 0, 0, 0, 64, 2, - 15, 114, 1, 0, 48, 0, 0, 0, 0, 57, 70, 2, 0, 2, 16, 114, 1, 0, 0, 48, 0, 0, 0, 0, 148, 245, 1, - 0, 2, 17, 114, 1, 0, 16, 48, 0, 0, 0, 0, 11, 1, 0, 0, 2, 18, 114, 1, 0, 24, 48, 0, 0, 0, 0, - 168, 0, 0, 0, 2, 19, 114, 1, 0, 28, 48, 0, 0, 0, 0, 69, 70, 2, 0, 2, 20, 114, 1, 0, 32, 48, 0, - 0, 0, 0, 5, 49, 0, 0, 2, 21, 114, 1, 0, 40, 48, 0, 0, 0, 0, 168, 0, 0, 0, 2, 22, 114, 1, 0, 44, - 48, 0, 0, 0, 0, 168, 0, 0, 0, 2, 23, 114, 1, 0, 48, 48, 0, 0, 0, 0, 206, 70, 2, 0, 2, 24, 114, - 1, 0, 56, 0, 3, 5, 49, 0, 0, 4, 82, 0, 0, 0, 12, 0, 9, 74, 70, 2, 0, 47, 0, 0, 0, 0, 8, 2, 158, - 111, 1, 0, 48, 0, 0, 0, 0, 118, 55, 0, 0, 2, 159, 111, 1, 0, 0, 48, 0, 0, 0, 0, 118, 55, 0, 0, - 2, 160, 111, 1, 0, 1, 48, 0, 0, 0, 0, 118, 55, 0, 0, 2, 161, 111, 1, 0, 2, 48, 0, 0, 0, 0, 118, - 55, 0, 0, 2, 162, 111, 1, 0, 3, 48, 0, 0, 0, 0, 118, 55, 0, 0, 2, 163, 111, 1, 0, 4, 48, 0, 0, - 0, 0, 118, 55, 0, 0, 2, 164, 111, 1, 0, 5, 48, 0, 0, 0, 0, 118, 55, 0, 0, 2, 165, 111, 1, 0, 6, - 48, 0, 0, 0, 0, 118, 55, 0, 0, 2, 166, 111, 1, 0, 7, 0, 3, 255, 0, 0, 0, 4, 82, 0, 0, 0, 1, 0, - 9, 223, 70, 2, 0, 13, 168, 0, 0, 0, 14, 192, 65, 2, 0, 14, 255, 0, 0, 0, 14, 125, 68, 0, 0, 14, - 125, 68, 0, 0, 14, 254, 70, 2, 0, 0, 9, 118, 55, 0, 0, 26, 168, 0, 0, 0, 3, 75, 0, 0, 0, 4, 82, - 0, 0, 0, 20, 0, 9, 25, 71, 2, 0, 20, 0, 0, 0, 0, 64, 2, 211, 246, 21, 0, 0, 0, 0, 203, 173, 0, - 0, 2, 212, 246, 0, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 213, 246, 8, 21, 0, 0, 0, 0, 168, 0, 0, 0, - 2, 214, 246, 12, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 215, 246, 16, 21, 0, 0, 0, 0, 239, 241, 0, 0, - 2, 216, 246, 24, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 217, 246, 32, 21, 0, 0, 0, 0, 114, 43, 1, 0, - 2, 218, 246, 36, 21, 0, 0, 0, 0, 77, 13, 2, 0, 2, 219, 246, 48, 21, 0, 0, 0, 0, 77, 13, 2, 0, - 2, 220, 246, 56, 0, 9, 157, 71, 2, 0, 20, 0, 0, 0, 0, 101, 2, 187, 31, 21, 0, 0, 0, 0, 193, 71, - 2, 0, 2, 188, 31, 0, 21, 0, 0, 0, 0, 126, 36, 2, 0, 2, 189, 31, 37, 0, 3, 75, 0, 0, 0, 4, 82, - 0, 0, 0, 37, 0, 20, 0, 0, 0, 0, 24, 2, 98, 26, 21, 0, 0, 0, 0, 77, 13, 2, 0, 2, 99, 26, 0, 21, - 0, 0, 0, 0, 11, 1, 0, 0, 2, 100, 26, 8, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 101, 26, 12, 21, 0, 0, - 0, 0, 11, 1, 0, 0, 2, 102, 26, 16, 0, 9, 16, 72, 2, 0, 33, 28, 72, 2, 0, 0, 0, 0, 0, 2, 105, - 26, 32, 14, 229, 10, 2, 0, 0, 20, 0, 0, 0, 0, 8, 2, 107, 26, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, - 108, 26, 0, 0, 9, 63, 72, 2, 0, 20, 0, 0, 0, 0, 104, 2, 192, 31, 21, 0, 0, 0, 0, 229, 10, 2, 0, - 2, 193, 31, 0, 21, 0, 0, 0, 0, 205, 71, 2, 0, 2, 194, 31, 8, 21, 0, 0, 0, 0, 225, 48, 0, 0, 2, - 195, 31, 32, 21, 0, 0, 0, 0, 225, 48, 0, 0, 2, 196, 31, 34, 21, 0, 0, 0, 0, 225, 48, 0, 0, 2, - 197, 31, 36, 21, 0, 0, 0, 0, 205, 71, 2, 0, 2, 198, 31, 40, 21, 0, 0, 0, 0, 156, 163, 0, 0, 2, - 199, 31, 64, 21, 0, 0, 0, 0, 190, 72, 2, 0, 2, 200, 31, 96, 21, 0, 0, 0, 0, 56, 95, 1, 0, 2, - 201, 31, 104, 0, 9, 19, 56, 0, 0, 9, 121, 59, 2, 0, 9, 2, 96, 1, 0, 9, 210, 72, 2, 0, 20, 0, 0, - 0, 0, 8, 2, 163, 22, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 164, 22, 0, 0, 9, 238, 72, 2, 0, 20, 0, - 0, 0, 0, 16, 2, 104, 173, 21, 0, 0, 0, 0, 18, 73, 2, 0, 2, 105, 173, 0, 21, 0, 0, 0, 0, 68, 56, - 0, 0, 2, 106, 173, 8, 0, 9, 23, 73, 2, 0, 20, 0, 0, 0, 0, 128, 2, 121, 173, 21, 0, 0, 0, 0, - 227, 28, 0, 0, 2, 122, 173, 0, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 123, 173, 16, 21, 0, 0, 0, 0, - 11, 1, 0, 0, 2, 124, 173, 32, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 125, 173, 36, 21, 0, 0, 0, 0, - 127, 29, 0, 0, 2, 126, 173, 40, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 127, 173, 48, 21, 0, 0, 0, 0, - 127, 29, 0, 0, 2, 128, 173, 56, 21, 0, 0, 0, 0, 93, 44, 1, 0, 2, 129, 173, 64, 21, 0, 0, 0, 0, - 127, 29, 0, 0, 2, 130, 173, 72, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 131, 173, 80, 21, 0, 0, 0, 0, - 225, 48, 0, 0, 2, 132, 173, 88, 21, 0, 0, 0, 0, 37, 65, 0, 0, 2, 133, 173, 90, 21, 0, 0, 0, 0, - 128, 74, 2, 0, 2, 134, 173, 92, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 135, 173, 96, 21, 0, 0, 0, 0, - 168, 0, 0, 0, 2, 136, 173, 100, 21, 0, 0, 0, 0, 153, 42, 2, 0, 2, 137, 173, 104, 21, 0, 0, 0, - 0, 3, 71, 2, 0, 2, 138, 173, 108, 21, 0, 0, 0, 0, 133, 74, 2, 0, 2, 139, 173, 112, 21, 0, 0, 0, - 0, 219, 52, 0, 0, 2, 140, 173, 116, 21, 0, 0, 0, 0, 219, 52, 0, 0, 2, 141, 173, 117, 21, 0, 0, - 0, 0, 219, 52, 0, 0, 2, 142, 173, 118, 21, 0, 0, 0, 0, 219, 52, 0, 0, 2, 143, 173, 119, 21, 0, - 0, 0, 0, 219, 52, 0, 0, 2, 144, 173, 120, 21, 0, 0, 0, 0, 219, 52, 0, 0, 2, 145, 173, 121, 21, - 0, 0, 0, 0, 219, 52, 0, 0, 2, 146, 173, 122, 21, 0, 0, 0, 0, 219, 52, 0, 0, 2, 147, 173, 123, - 21, 0, 0, 0, 0, 219, 52, 0, 0, 2, 148, 173, 124, 0, 26, 8, 153, 0, 0, 17, 11, 1, 0, 0, 0, 0, 0, - 0, 4, 2, 254, 12, 18, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 1, 18, 0, 0, 0, 0, 2, 18, 0, 0, 0, 0, 3, - 0, 9, 176, 74, 2, 0, 33, 188, 74, 2, 0, 0, 0, 0, 0, 2, 112, 3, 20, 0, 0, 0, 0, 48, 2, 43, 10, - 22, 206, 74, 2, 0, 2, 44, 10, 0, 24, 48, 2, 44, 10, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 45, 10, 0, - 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 46, 10, 4, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 47, 10, 8, 21, 0, - 0, 0, 0, 9, 75, 2, 0, 2, 48, 10, 16, 0, 0, 43, 0, 0, 0, 0, 32, 2, 245, 9, 21, 0, 0, 0, 0, 31, - 75, 2, 0, 2, 249, 9, 0, 24, 8, 2, 246, 9, 21, 0, 0, 0, 0, 56, 77, 1, 0, 2, 247, 9, 0, 21, 0, 0, - 0, 0, 10, 64, 0, 0, 2, 248, 9, 4, 0, 21, 0, 0, 0, 0, 76, 75, 2, 0, 2, 255, 9, 0, 24, 24, 2, - 250, 9, 21, 0, 0, 0, 0, 89, 77, 2, 0, 2, 251, 9, 0, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 252, 9, 4, - 21, 0, 0, 0, 0, 100, 77, 2, 0, 2, 253, 9, 8, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 254, 9, 16, 0, - 21, 0, 0, 0, 0, 147, 75, 2, 0, 2, 4, 10, 0, 24, 16, 2, 0, 10, 21, 0, 0, 0, 0, 56, 77, 1, 0, 2, - 1, 10, 0, 21, 0, 0, 0, 0, 10, 64, 0, 0, 2, 2, 10, 4, 21, 0, 0, 0, 0, 100, 77, 2, 0, 2, 3, 10, - 8, 0, 21, 0, 0, 0, 0, 205, 75, 2, 0, 2, 11, 10, 0, 24, 32, 2, 5, 10, 21, 0, 0, 0, 0, 56, 77, 1, - 0, 2, 6, 10, 0, 21, 0, 0, 0, 0, 10, 64, 0, 0, 2, 7, 10, 4, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 8, - 10, 8, 21, 0, 0, 0, 0, 148, 77, 2, 0, 2, 9, 10, 16, 21, 0, 0, 0, 0, 148, 77, 2, 0, 2, 10, 10, - 24, 0, 21, 0, 0, 0, 0, 33, 76, 2, 0, 2, 31, 10, 0, 24, 32, 2, 12, 10, 21, 0, 0, 0, 0, 255, 0, - 0, 0, 2, 13, 10, 0, 22, 60, 76, 2, 0, 2, 14, 10, 8, 23, 24, 2, 14, 10, 21, 0, 0, 0, 0, 168, 0, - 0, 0, 2, 15, 10, 0, 21, 0, 0, 0, 0, 37, 65, 0, 0, 2, 16, 10, 0, 21, 0, 0, 0, 0, 104, 76, 2, 0, - 2, 21, 10, 0, 24, 24, 2, 17, 10, 21, 0, 0, 0, 0, 159, 77, 2, 0, 2, 18, 10, 0, 21, 0, 0, 0, 0, - 255, 0, 0, 0, 2, 19, 10, 8, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 20, 10, 16, 0, 21, 0, 0, 0, 0, - 162, 76, 2, 0, 2, 25, 10, 0, 24, 12, 2, 22, 10, 21, 0, 0, 0, 0, 159, 77, 2, 0, 2, 23, 10, 0, - 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 24, 10, 8, 0, 21, 0, 0, 0, 0, 207, 76, 2, 0, 2, 29, 10, 0, 24, - 16, 2, 26, 10, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 27, 10, 0, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 28, - 10, 8, 0, 0, 0, 21, 0, 0, 0, 0, 254, 76, 2, 0, 2, 35, 10, 0, 24, 16, 2, 32, 10, 21, 0, 0, 0, 0, - 248, 0, 0, 0, 2, 33, 10, 0, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 34, 10, 8, 0, 21, 0, 0, 0, 0, 43, - 77, 2, 0, 2, 40, 10, 0, 24, 16, 2, 36, 10, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 37, 10, 0, 21, 0, - 0, 0, 0, 168, 0, 0, 0, 2, 38, 10, 8, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 39, 10, 12, 0, 0, 12, 168, - 0, 0, 0, 0, 0, 0, 0, 2, 61, 33, 112, 77, 2, 0, 0, 0, 0, 0, 2, 243, 9, 43, 0, 0, 0, 0, 8, 2, - 238, 9, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 239, 9, 0, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 240, 9, 0, - 0, 12, 158, 90, 0, 0, 0, 0, 0, 0, 2, 59, 3, 75, 0, 0, 0, 4, 82, 0, 0, 0, 8, 0, 9, 176, 77, 2, - 0, 20, 0, 0, 0, 0, 24, 2, 14, 111, 21, 0, 0, 0, 0, 225, 77, 2, 0, 2, 15, 111, 0, 21, 0, 0, 0, - 0, 248, 0, 0, 0, 2, 16, 111, 8, 21, 0, 0, 0, 0, 248, 77, 2, 0, 2, 17, 111, 16, 0, 20, 0, 0, 0, - 0, 8, 2, 10, 111, 21, 0, 0, 0, 0, 248, 77, 2, 0, 2, 11, 111, 0, 0, 9, 225, 77, 2, 0, 9, 2, 78, - 2, 0, 20, 0, 0, 0, 0, 12, 2, 30, 23, 21, 0, 0, 0, 0, 51, 78, 2, 0, 2, 31, 23, 0, 21, 0, 0, 0, - 0, 74, 78, 2, 0, 2, 32, 23, 4, 21, 0, 0, 0, 0, 81, 102, 1, 0, 2, 33, 23, 8, 0, 20, 0, 0, 0, 0, - 4, 2, 24, 23, 21, 0, 0, 0, 0, 81, 102, 1, 0, 2, 25, 23, 0, 0, 33, 101, 103, 0, 0, 0, 0, 0, 0, - 2, 28, 23, 9, 91, 78, 2, 0, 20, 0, 0, 0, 0, 88, 2, 176, 135, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, - 177, 135, 0, 21, 0, 0, 0, 0, 89, 74, 1, 0, 2, 178, 135, 16, 21, 0, 0, 0, 0, 130, 120, 0, 0, 2, - 179, 135, 48, 21, 0, 0, 0, 0, 141, 64, 0, 0, 2, 180, 135, 56, 21, 0, 0, 0, 0, 166, 78, 2, 0, 2, - 181, 135, 64, 0, 43, 0, 0, 0, 0, 24, 2, 155, 135, 21, 0, 0, 0, 0, 188, 78, 2, 0, 2, 160, 135, - 0, 24, 24, 2, 156, 135, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 157, 135, 0, 21, 0, 0, 0, 0, 127, 29, - 0, 0, 2, 158, 135, 8, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 159, 135, 16, 0, 21, 0, 0, 0, 0, 246, 78, - 2, 0, 2, 168, 135, 0, 24, 24, 2, 161, 135, 22, 4, 79, 2, 0, 2, 162, 135, 0, 23, 8, 2, 162, 135, - 21, 0, 0, 0, 0, 104, 93, 0, 0, 2, 163, 135, 0, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 164, 135, 0, - 0, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 166, 135, 8, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 167, 135, 16, - 0, 21, 0, 0, 0, 0, 76, 79, 2, 0, 2, 173, 135, 0, 24, 24, 2, 169, 135, 21, 0, 0, 0, 0, 136, 68, - 0, 0, 2, 170, 135, 0, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 171, 135, 8, 21, 0, 0, 0, 0, 11, 1, 0, - 0, 2, 172, 135, 16, 0, 0, 3, 134, 79, 2, 0, 4, 82, 0, 0, 0, 2, 0, 9, 139, 79, 2, 0, 27, 0, 0, - 0, 0, 0, 1, 2, 41, 23, 21, 0, 0, 0, 0, 245, 80, 2, 0, 2, 42, 23, 0, 21, 0, 0, 0, 0, 231, 97, 0, - 0, 2, 43, 23, 8, 21, 0, 0, 0, 0, 241, 106, 0, 0, 2, 44, 23, 16, 21, 0, 0, 0, 0, 227, 28, 0, 0, - 2, 45, 23, 48, 21, 0, 0, 0, 0, 77, 131, 2, 0, 2, 46, 23, 64, 21, 0, 0, 0, 0, 77, 131, 2, 0, 2, - 47, 23, 80, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 48, 23, 96, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 49, - 23, 112, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 50, 23, 128, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 51, - 23, 144, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 52, 23, 148, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 53, 23, - 152, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 54, 23, 156, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 55, 23, - 160, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 56, 23, 164, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 57, 23, - 168, 21, 0, 0, 0, 0, 141, 64, 0, 0, 2, 58, 23, 172, 21, 0, 0, 0, 0, 130, 120, 0, 0, 2, 59, 23, - 176, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 60, 23, 184, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 61, 23, - 192, 21, 0, 0, 0, 0, 134, 79, 2, 0, 2, 62, 23, 200, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 63, 23, - 208, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 64, 23, 216, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 65, 23, - 224, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 66, 23, 228, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 67, 23, - 232, 21, 0, 0, 0, 0, 65, 29, 0, 0, 2, 68, 23, 240, 0, 9, 250, 80, 2, 0, 27, 0, 0, 0, 0, 40, 1, - 2, 68, 29, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 69, 29, 0, 21, 0, 0, 0, 0, 111, 83, 0, 0, 2, 70, - 29, 16, 21, 0, 0, 0, 0, 203, 173, 0, 0, 2, 71, 29, 24, 21, 0, 0, 0, 0, 246, 90, 0, 0, 2, 72, - 29, 32, 21, 0, 0, 0, 0, 246, 90, 0, 0, 2, 73, 29, 40, 21, 0, 0, 0, 0, 14, 29, 0, 0, 2, 74, 29, - 48, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 75, 29, 56, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 76, 29, 60, - 21, 0, 0, 0, 0, 214, 52, 0, 0, 2, 77, 29, 64, 21, 0, 0, 0, 0, 5, 83, 2, 0, 2, 78, 29, 72, 21, - 0, 0, 0, 0, 176, 64, 0, 0, 2, 79, 29, 80, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 80, 29, 84, 21, 0, - 0, 0, 0, 168, 0, 0, 0, 2, 81, 29, 88, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 82, 29, 92, 21, 0, 0, 0, - 0, 211, 129, 2, 0, 2, 83, 29, 96, 21, 0, 0, 0, 0, 211, 129, 2, 0, 2, 84, 29, 104, 21, 0, 0, 0, - 0, 223, 129, 2, 0, 2, 85, 29, 112, 21, 0, 0, 0, 0, 239, 129, 2, 0, 2, 86, 29, 120, 21, 0, 0, 0, - 0, 239, 129, 2, 0, 2, 87, 29, 128, 21, 0, 0, 0, 0, 0, 130, 2, 0, 2, 88, 29, 136, 21, 0, 0, 0, - 0, 21, 130, 2, 0, 2, 89, 29, 144, 21, 0, 0, 0, 0, 21, 130, 2, 0, 2, 90, 29, 152, 21, 0, 0, 0, - 0, 21, 130, 2, 0, 2, 91, 29, 160, 21, 0, 0, 0, 0, 178, 99, 2, 0, 2, 92, 29, 168, 21, 0, 0, 0, - 0, 38, 130, 2, 0, 2, 93, 29, 176, 21, 0, 0, 0, 0, 55, 130, 2, 0, 2, 94, 29, 184, 21, 0, 0, 0, - 0, 211, 129, 2, 0, 2, 95, 29, 192, 21, 0, 0, 0, 0, 223, 129, 2, 0, 2, 96, 29, 200, 21, 0, 0, 0, - 0, 71, 130, 2, 0, 2, 97, 29, 208, 21, 0, 0, 0, 0, 161, 78, 1, 0, 2, 98, 29, 216, 21, 0, 0, 0, - 0, 88, 130, 2, 0, 2, 99, 29, 224, 21, 0, 0, 0, 0, 105, 130, 2, 0, 2, 100, 29, 232, 21, 0, 0, 0, - 0, 125, 141, 0, 0, 2, 101, 29, 240, 21, 0, 0, 0, 0, 136, 130, 2, 0, 2, 102, 29, 248, 28, 0, 0, - 0, 0, 40, 131, 2, 0, 2, 103, 29, 0, 1, 28, 0, 0, 0, 0, 178, 99, 2, 0, 2, 104, 29, 8, 1, 28, 0, - 0, 0, 0, 223, 129, 2, 0, 2, 105, 29, 16, 1, 28, 0, 0, 0, 0, 223, 129, 2, 0, 2, 106, 29, 24, 1, - 28, 0, 0, 0, 0, 56, 131, 2, 0, 2, 107, 29, 32, 1, 0, 9, 10, 83, 2, 0, 27, 0, 0, 0, 0, 184, 1, - 2, 42, 30, 21, 0, 0, 0, 0, 139, 79, 2, 0, 2, 43, 30, 0, 28, 0, 0, 0, 0, 134, 79, 2, 0, 2, 44, - 30, 0, 1, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 45, 30, 8, 1, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 46, - 30, 12, 1, 28, 0, 0, 0, 0, 231, 97, 0, 0, 2, 47, 30, 16, 1, 28, 0, 0, 0, 0, 44, 207, 0, 0, 2, - 48, 30, 24, 1, 28, 0, 0, 0, 0, 32, 207, 0, 0, 2, 49, 30, 88, 1, 28, 0, 0, 0, 0, 11, 1, 0, 0, 2, - 50, 30, 96, 1, 28, 0, 0, 0, 0, 244, 83, 2, 0, 2, 51, 30, 104, 1, 28, 0, 0, 0, 0, 227, 28, 0, 0, - 2, 52, 30, 112, 1, 28, 0, 0, 0, 0, 227, 28, 0, 0, 2, 53, 30, 128, 1, 28, 0, 0, 0, 0, 168, 0, 0, - 0, 2, 54, 30, 144, 1, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 55, 30, 148, 1, 28, 0, 0, 0, 0, 168, 0, - 0, 0, 2, 56, 30, 152, 1, 28, 0, 0, 0, 0, 70, 84, 2, 0, 2, 57, 30, 160, 1, 28, 0, 0, 0, 0, 199, - 129, 2, 0, 2, 58, 30, 168, 1, 0, 9, 249, 83, 2, 0, 20, 0, 0, 0, 0, 208, 2, 120, 30, 21, 0, 0, - 0, 0, 69, 148, 0, 0, 2, 121, 30, 0, 21, 0, 0, 0, 0, 29, 84, 2, 0, 2, 122, 30, 200, 0, 9, 34, - 84, 2, 0, 20, 0, 0, 0, 0, 16, 2, 125, 30, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 126, 30, 0, 21, 0, - 0, 0, 0, 136, 68, 0, 0, 2, 127, 30, 8, 0, 9, 75, 84, 2, 0, 9, 80, 84, 2, 0, 27, 0, 0, 0, 0, - 176, 4, 2, 107, 17, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 108, 17, 0, 21, 0, 0, 0, 0, 227, 28, 0, - 0, 2, 109, 17, 16, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 110, 17, 32, 21, 0, 0, 0, 0, 86, 40, 0, 0, - 2, 111, 17, 48, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 112, 17, 72, 21, 0, 0, 0, 0, 227, 28, 0, 0, - 2, 113, 17, 80, 21, 0, 0, 0, 0, 184, 28, 0, 0, 2, 114, 17, 96, 21, 0, 0, 0, 0, 227, 28, 0, 0, - 2, 115, 17, 112, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 116, 17, 128, 21, 0, 0, 0, 0, 168, 0, 0, 0, - 2, 117, 17, 132, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 118, 17, 136, 21, 0, 0, 0, 0, 75, 84, 2, 0, - 2, 119, 17, 144, 21, 0, 0, 0, 0, 245, 80, 2, 0, 2, 120, 17, 152, 21, 0, 0, 0, 0, 255, 0, 0, 0, - 2, 121, 17, 160, 21, 0, 0, 0, 0, 52, 88, 2, 0, 2, 122, 17, 168, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, - 123, 17, 172, 21, 0, 0, 0, 0, 118, 88, 2, 0, 2, 124, 17, 176, 21, 0, 0, 0, 0, 83, 97, 0, 0, 2, - 125, 17, 184, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 126, 17, 192, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, - 127, 17, 200, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 128, 17, 208, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, - 129, 17, 216, 21, 0, 0, 0, 0, 149, 88, 2, 0, 2, 130, 17, 224, 28, 0, 0, 0, 0, 177, 69, 0, 0, 2, - 131, 17, 96, 1, 28, 0, 0, 0, 0, 177, 69, 0, 0, 2, 132, 17, 98, 1, 28, 0, 0, 0, 0, 177, 69, 0, - 0, 2, 133, 17, 100, 1, 28, 0, 0, 0, 0, 180, 92, 2, 0, 2, 134, 17, 104, 1, 28, 0, 0, 0, 0, 134, - 79, 2, 0, 2, 135, 17, 40, 2, 28, 0, 0, 0, 0, 71, 97, 0, 0, 2, 136, 17, 48, 2, 28, 0, 0, 0, 0, - 83, 97, 0, 0, 2, 137, 17, 56, 2, 28, 0, 0, 0, 0, 83, 97, 0, 0, 2, 138, 17, 64, 2, 28, 0, 0, 0, - 0, 241, 106, 0, 0, 2, 139, 17, 72, 2, 28, 0, 0, 0, 0, 227, 28, 0, 0, 2, 140, 17, 104, 2, 28, 0, - 0, 0, 0, 75, 84, 2, 0, 2, 141, 17, 120, 2, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 142, 17, 128, 2, - 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 143, 17, 132, 2, 28, 0, 0, 0, 0, 227, 28, 0, 0, 2, 144, 17, - 136, 2, 28, 0, 0, 0, 0, 130, 120, 0, 0, 2, 145, 17, 152, 2, 28, 0, 0, 0, 0, 241, 106, 0, 0, 2, - 146, 17, 160, 2, 28, 0, 0, 0, 0, 176, 64, 0, 0, 2, 147, 17, 192, 2, 28, 0, 0, 0, 0, 151, 95, 2, - 0, 2, 148, 17, 200, 2, 28, 0, 0, 0, 0, 227, 28, 0, 0, 2, 149, 17, 208, 2, 28, 0, 0, 0, 0, 127, - 29, 0, 0, 2, 150, 17, 224, 2, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 151, 17, 232, 2, 28, 0, 0, 0, 0, - 47, 107, 0, 0, 2, 152, 17, 240, 2, 28, 0, 0, 0, 0, 95, 107, 0, 0, 2, 153, 17, 8, 3, 28, 0, 0, - 0, 0, 168, 0, 0, 0, 2, 154, 17, 16, 3, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 155, 17, 20, 3, 28, 0, - 0, 0, 0, 168, 0, 0, 0, 2, 156, 17, 24, 3, 28, 0, 0, 0, 0, 127, 29, 0, 0, 2, 157, 17, 32, 3, 28, - 0, 0, 0, 0, 11, 61, 1, 0, 2, 158, 17, 40, 3, 28, 0, 0, 0, 0, 176, 64, 0, 0, 2, 159, 17, 64, 3, - 28, 0, 0, 0, 0, 88, 99, 2, 0, 2, 160, 17, 72, 3, 28, 0, 0, 0, 0, 137, 99, 2, 0, 2, 161, 17, 96, - 3, 28, 0, 0, 0, 0, 127, 29, 0, 0, 2, 162, 17, 104, 3, 28, 0, 0, 0, 0, 75, 84, 2, 0, 2, 163, 17, - 112, 3, 28, 0, 0, 0, 0, 178, 99, 2, 0, 2, 164, 17, 120, 3, 28, 0, 0, 0, 0, 65, 29, 0, 0, 2, - 165, 17, 128, 3, 28, 0, 0, 0, 0, 246, 77, 1, 0, 2, 166, 17, 144, 3, 28, 0, 0, 0, 0, 136, 68, 0, - 0, 2, 167, 17, 152, 3, 28, 0, 0, 0, 0, 190, 99, 2, 0, 2, 168, 17, 160, 3, 28, 0, 0, 0, 0, 202, - 99, 2, 0, 2, 169, 17, 168, 3, 28, 0, 0, 0, 0, 255, 0, 0, 0, 2, 170, 17, 176, 3, 28, 0, 0, 0, 0, - 202, 99, 2, 0, 2, 171, 17, 184, 3, 28, 0, 0, 0, 0, 16, 247, 0, 0, 2, 172, 17, 192, 3, 28, 0, 0, - 0, 0, 136, 68, 0, 0, 2, 173, 17, 200, 3, 28, 0, 0, 0, 0, 124, 105, 2, 0, 2, 174, 17, 208, 3, - 28, 0, 0, 0, 0, 248, 116, 2, 0, 2, 175, 17, 216, 3, 28, 0, 0, 0, 0, 82, 122, 2, 0, 2, 176, 17, - 224, 3, 28, 0, 0, 0, 0, 244, 83, 2, 0, 2, 177, 17, 144, 4, 28, 0, 0, 0, 0, 255, 0, 0, 0, 2, - 178, 17, 152, 4, 28, 0, 0, 0, 0, 227, 28, 0, 0, 2, 179, 17, 160, 4, 0, 17, 11, 1, 0, 0, 0, 0, - 0, 0, 4, 2, 139, 16, 18, 0, 0, 0, 0, 252, 255, 255, 255, 15, 18, 0, 0, 0, 0, 253, 255, 255, - 255, 15, 18, 0, 0, 0, 0, 254, 255, 255, 255, 15, 18, 0, 0, 0, 0, 255, 255, 255, 255, 15, 18, 0, - 0, 0, 0, 0, 18, 0, 0, 0, 0, 1, 0, 33, 130, 88, 2, 0, 0, 0, 0, 0, 2, 154, 16, 24, 8, 2, 152, 16, - 21, 0, 0, 0, 0, 205, 13, 2, 0, 2, 153, 16, 0, 0, 20, 0, 0, 0, 0, 128, 2, 156, 16, 21, 0, 0, 0, - 0, 0, 1, 0, 0, 2, 157, 16, 0, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 158, 16, 4, 21, 0, 0, 0, 0, 197, - 0, 0, 0, 2, 159, 16, 8, 22, 206, 88, 2, 0, 2, 160, 16, 16, 23, 8, 2, 160, 16, 21, 0, 0, 0, 0, - 197, 0, 0, 0, 2, 161, 16, 0, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 162, 16, 0, 0, 21, 0, 0, 0, 0, - 197, 0, 0, 0, 2, 164, 16, 24, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 165, 16, 32, 34, 0, 0, 0, 0, - 197, 0, 0, 0, 2, 166, 16, 8, 1, 63, 40, 34, 0, 0, 0, 0, 197, 0, 0, 0, 2, 167, 16, 8, 1, 62, 40, - 34, 0, 0, 0, 0, 197, 0, 0, 0, 2, 168, 16, 8, 1, 61, 40, 34, 0, 0, 0, 0, 197, 0, 0, 0, 2, 169, - 16, 8, 1, 60, 40, 34, 0, 0, 0, 0, 197, 0, 0, 0, 2, 170, 16, 8, 1, 59, 40, 34, 0, 0, 0, 0, 197, - 0, 0, 0, 2, 171, 16, 8, 1, 58, 40, 34, 0, 0, 0, 0, 197, 0, 0, 0, 2, 172, 16, 8, 1, 57, 40, 34, - 0, 0, 0, 0, 197, 0, 0, 0, 2, 173, 16, 8, 1, 56, 40, 34, 0, 0, 0, 0, 197, 0, 0, 0, 2, 174, 16, - 8, 1, 55, 40, 34, 0, 0, 0, 0, 197, 0, 0, 0, 2, 175, 16, 8, 1, 54, 40, 34, 0, 0, 0, 0, 197, 0, - 0, 0, 2, 176, 16, 8, 1, 53, 40, 34, 0, 0, 0, 0, 197, 0, 0, 0, 2, 177, 16, 8, 1, 52, 40, 34, 0, - 0, 0, 0, 197, 0, 0, 0, 2, 178, 16, 8, 1, 51, 40, 34, 0, 0, 0, 0, 197, 0, 0, 0, 2, 179, 16, 8, - 1, 50, 40, 34, 0, 0, 0, 0, 197, 0, 0, 0, 2, 180, 16, 8, 1, 49, 40, 34, 0, 0, 0, 0, 197, 0, 0, - 0, 2, 181, 16, 8, 2, 47, 40, 34, 0, 0, 0, 0, 197, 0, 0, 0, 2, 182, 16, 8, 1, 46, 40, 34, 0, 0, - 0, 0, 197, 0, 0, 0, 2, 183, 16, 8, 1, 45, 40, 34, 0, 0, 0, 0, 197, 0, 0, 0, 2, 184, 16, 8, 1, - 44, 40, 34, 0, 0, 0, 0, 197, 0, 0, 0, 2, 185, 16, 8, 1, 43, 40, 34, 0, 0, 0, 0, 197, 0, 0, 0, - 2, 186, 16, 8, 1, 42, 40, 34, 0, 0, 0, 0, 197, 0, 0, 0, 2, 187, 16, 8, 1, 41, 40, 34, 0, 0, 0, - 0, 197, 0, 0, 0, 2, 188, 16, 8, 1, 40, 40, 34, 0, 0, 0, 0, 197, 0, 0, 0, 2, 189, 16, 8, 1, 39, - 40, 34, 0, 0, 0, 0, 197, 0, 0, 0, 2, 190, 16, 8, 1, 38, 40, 34, 0, 0, 0, 0, 197, 0, 0, 0, 2, - 191, 16, 8, 1, 37, 40, 34, 0, 0, 0, 0, 197, 0, 0, 0, 2, 192, 16, 8, 1, 36, 40, 34, 0, 0, 0, 0, - 197, 0, 0, 0, 2, 193, 16, 8, 1, 35, 40, 34, 0, 0, 0, 0, 197, 0, 0, 0, 2, 194, 16, 8, 1, 34, 40, - 34, 0, 0, 0, 0, 197, 0, 0, 0, 2, 195, 16, 8, 1, 33, 40, 34, 0, 0, 0, 0, 197, 0, 0, 0, 2, 196, - 16, 8, 1, 32, 40, 34, 0, 0, 0, 0, 197, 0, 0, 0, 2, 197, 16, 8, 1, 31, 40, 34, 0, 0, 0, 0, 197, - 0, 0, 0, 2, 198, 16, 8, 1, 30, 40, 34, 0, 0, 0, 0, 197, 0, 0, 0, 2, 199, 16, 8, 1, 29, 40, 34, - 0, 0, 0, 0, 197, 0, 0, 0, 2, 200, 16, 8, 1, 28, 40, 34, 0, 0, 0, 0, 197, 0, 0, 0, 2, 201, 16, - 8, 1, 27, 40, 34, 0, 0, 0, 0, 197, 0, 0, 0, 2, 202, 16, 8, 1, 26, 40, 34, 0, 0, 0, 0, 197, 0, - 0, 0, 2, 203, 16, 8, 26, 0, 40, 22, 113, 91, 2, 0, 2, 204, 16, 48, 23, 4, 2, 204, 16, 21, 0, 0, - 0, 0, 0, 1, 0, 0, 2, 205, 16, 0, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 206, 16, 0, 0, 21, 0, 0, 0, 0, - 0, 1, 0, 0, 2, 208, 16, 52, 22, 167, 91, 2, 0, 2, 209, 16, 56, 23, 8, 2, 209, 16, 21, 0, 0, 0, - 0, 197, 0, 0, 0, 2, 210, 16, 0, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 211, 16, 0, 21, 0, 0, 0, 0, - 197, 0, 0, 0, 2, 212, 16, 0, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 213, 16, 0, 0, 22, 234, 91, 2, 0, - 2, 215, 16, 64, 23, 8, 2, 215, 16, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 216, 16, 0, 21, 0, 0, 0, 0, - 197, 0, 0, 0, 2, 217, 16, 0, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 218, 16, 0, 21, 0, 0, 0, 0, 197, - 0, 0, 0, 2, 219, 16, 0, 0, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 221, 16, 72, 21, 0, 0, 0, 0, 197, - 0, 0, 0, 2, 222, 16, 80, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 223, 16, 88, 21, 0, 0, 0, 0, 112, 103, - 0, 0, 2, 224, 16, 92, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 225, 16, 96, 21, 0, 0, 0, 0, 0, 1, 0, 0, - 2, 226, 16, 104, 21, 0, 0, 0, 0, 214, 48, 0, 0, 2, 227, 16, 108, 21, 0, 0, 0, 0, 214, 48, 0, 0, - 2, 228, 16, 110, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 229, 16, 112, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, - 230, 16, 116, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 231, 16, 120, 0, 20, 0, 0, 0, 0, 192, 2, 248, - 16, 22, 198, 92, 2, 0, 2, 249, 16, 0, 23, 96, 2, 249, 16, 22, 212, 92, 2, 0, 2, 250, 16, 0, 24, - 96, 2, 250, 16, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 251, 16, 0, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, - 252, 16, 8, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 253, 16, 16, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, - 254, 16, 24, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 255, 16, 32, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 0, - 17, 36, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 1, 17, 40, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 2, 17, 44, - 21, 0, 0, 0, 0, 27, 95, 2, 0, 2, 3, 17, 48, 21, 0, 0, 0, 0, 27, 95, 2, 0, 2, 4, 17, 72, 0, 22, - 101, 93, 2, 0, 2, 6, 17, 0, 24, 64, 2, 6, 17, 21, 0, 0, 0, 0, 44, 207, 0, 0, 2, 7, 17, 0, 0, - 22, 129, 93, 2, 0, 2, 9, 17, 0, 24, 16, 2, 9, 17, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 10, 17, 0, - 0, 22, 157, 93, 2, 0, 2, 12, 17, 0, 24, 16, 2, 12, 17, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 13, - 17, 0, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 14, 17, 8, 0, 22, 198, 93, 2, 0, 2, 16, 17, 0, 24, 40, - 2, 16, 17, 21, 0, 0, 0, 0, 89, 95, 2, 0, 2, 17, 17, 0, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 18, - 17, 24, 0, 22, 239, 93, 2, 0, 2, 20, 17, 0, 24, 24, 2, 20, 17, 21, 0, 0, 0, 0, 118, 55, 0, 0, - 2, 21, 17, 0, 21, 0, 0, 0, 0, 118, 55, 0, 0, 2, 22, 17, 1, 21, 0, 0, 0, 0, 177, 69, 0, 0, 2, - 23, 17, 2, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 24, 17, 8, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 25, - 17, 16, 0, 0, 21, 0, 0, 0, 0, 130, 120, 0, 0, 2, 28, 17, 96, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, - 29, 17, 104, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 30, 17, 112, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, - 31, 17, 120, 21, 0, 0, 0, 0, 118, 88, 2, 0, 2, 32, 17, 128, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, - 33, 17, 136, 22, 142, 94, 2, 0, 2, 34, 17, 144, 23, 16, 2, 34, 17, 22, 156, 94, 2, 0, 2, 35, - 17, 0, 24, 16, 2, 35, 17, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 36, 17, 0, 21, 0, 0, 0, 0, 118, 88, - 2, 0, 2, 37, 17, 8, 0, 22, 197, 94, 2, 0, 2, 39, 17, 0, 24, 16, 2, 39, 17, 21, 0, 0, 0, 0, 136, - 68, 0, 0, 2, 40, 17, 0, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 41, 17, 8, 0, 0, 21, 0, 0, 0, 0, 136, - 68, 0, 0, 2, 44, 17, 160, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 45, 17, 168, 21, 0, 0, 0, 0, 136, - 68, 0, 0, 2, 46, 17, 176, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 47, 17, 184, 0, 20, 0, 0, 0, 0, 24, - 2, 234, 16, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 235, 16, 0, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 236, - 16, 8, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 237, 16, 12, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 238, 16, - 16, 0, 20, 0, 0, 0, 0, 24, 2, 241, 16, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 242, 16, 0, 21, 0, 0, - 0, 0, 127, 29, 0, 0, 2, 243, 16, 8, 21, 0, 0, 0, 0, 118, 55, 0, 0, 2, 244, 16, 16, 21, 0, 0, 0, - 0, 118, 55, 0, 0, 2, 245, 16, 17, 0, 9, 156, 95, 2, 0, 20, 0, 0, 0, 0, 240, 2, 45, 172, 21, 0, - 0, 0, 0, 141, 64, 0, 0, 2, 46, 172, 0, 21, 0, 0, 0, 0, 65, 29, 0, 0, 2, 47, 172, 8, 21, 0, 0, - 0, 0, 168, 0, 0, 0, 2, 48, 172, 24, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 49, 172, 28, 21, 0, 0, 0, - 0, 168, 0, 0, 0, 2, 50, 172, 32, 21, 0, 0, 0, 0, 176, 64, 0, 0, 2, 51, 172, 36, 21, 0, 0, 0, 0, - 205, 13, 2, 0, 2, 52, 172, 40, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 53, 172, 48, 21, 0, 0, 0, 0, - 205, 13, 2, 0, 2, 54, 172, 56, 21, 0, 0, 0, 0, 205, 13, 2, 0, 2, 55, 172, 64, 21, 0, 0, 0, 0, - 205, 13, 2, 0, 2, 56, 172, 72, 21, 0, 0, 0, 0, 248, 0, 0, 0, 2, 57, 172, 80, 21, 0, 0, 0, 0, - 248, 0, 0, 0, 2, 58, 172, 88, 21, 0, 0, 0, 0, 248, 68, 0, 0, 2, 59, 172, 96, 21, 0, 0, 0, 0, - 227, 28, 0, 0, 2, 60, 172, 104, 21, 0, 0, 0, 0, 176, 64, 0, 0, 2, 61, 172, 120, 21, 0, 0, 0, 0, - 127, 29, 0, 0, 2, 62, 172, 128, 21, 0, 0, 0, 0, 34, 109, 0, 0, 2, 63, 172, 136, 21, 0, 0, 0, 0, - 248, 0, 0, 0, 2, 64, 172, 144, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 65, 172, 152, 21, 0, 0, 0, 0, - 248, 0, 0, 0, 2, 66, 172, 160, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 67, 172, 168, 21, 0, 0, 0, 0, - 168, 0, 0, 0, 2, 68, 172, 176, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 69, 172, 180, 21, 0, 0, 0, 0, - 176, 64, 0, 0, 2, 70, 172, 184, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 71, 172, 192, 21, 0, 0, 0, 0, - 125, 141, 0, 0, 2, 72, 172, 200, 21, 0, 0, 0, 0, 141, 64, 0, 0, 2, 73, 172, 208, 21, 0, 0, 0, - 0, 168, 0, 0, 0, 2, 74, 172, 212, 21, 0, 0, 0, 0, 31, 48, 1, 0, 2, 75, 172, 216, 21, 0, 0, 0, - 0, 255, 0, 0, 0, 2, 76, 172, 224, 21, 0, 0, 0, 0, 83, 97, 2, 0, 2, 77, 172, 232, 21, 0, 0, 0, - 0, 148, 227, 1, 0, 2, 78, 172, 240, 0, 9, 88, 97, 2, 0, 27, 0, 0, 0, 0, 64, 4, 2, 246, 59, 21, - 0, 0, 0, 0, 0, 1, 0, 0, 2, 247, 59, 0, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 248, 59, 4, 21, 0, 0, 0, - 0, 0, 1, 0, 0, 2, 249, 59, 8, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 250, 59, 12, 21, 0, 0, 0, 0, 122, - 97, 0, 0, 2, 251, 59, 16, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 252, 59, 24, 21, 0, 0, 0, 0, 197, 0, - 0, 0, 2, 253, 59, 32, 22, 198, 97, 2, 0, 2, 254, 59, 40, 23, 8, 2, 254, 59, 21, 0, 0, 0, 0, - 197, 0, 0, 0, 2, 255, 59, 0, 22, 225, 97, 2, 0, 2, 0, 60, 0, 24, 8, 2, 0, 60, 34, 0, 0, 0, 0, - 197, 0, 0, 0, 2, 1, 60, 8, 1, 63, 0, 34, 0, 0, 0, 0, 197, 0, 0, 0, 2, 2, 60, 8, 1, 62, 0, 34, - 0, 0, 0, 0, 197, 0, 0, 0, 2, 3, 60, 8, 1, 61, 0, 34, 0, 0, 0, 0, 197, 0, 0, 0, 2, 4, 60, 8, 1, - 60, 0, 34, 0, 0, 0, 0, 197, 0, 0, 0, 2, 5, 60, 8, 1, 59, 0, 34, 0, 0, 0, 0, 197, 0, 0, 0, 2, 6, - 60, 8, 1, 58, 0, 34, 0, 0, 0, 0, 197, 0, 0, 0, 2, 7, 60, 8, 58, 0, 0, 0, 0, 21, 0, 0, 0, 0, - 214, 48, 0, 0, 2, 10, 60, 48, 21, 0, 0, 0, 0, 214, 48, 0, 0, 2, 11, 60, 50, 21, 0, 0, 0, 0, 0, - 1, 0, 0, 2, 12, 60, 52, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 13, 60, 56, 21, 0, 0, 0, 0, 197, 0, 0, - 0, 2, 14, 60, 64, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 15, 60, 72, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 16, - 60, 76, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 17, 60, 80, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 18, 60, - 88, 21, 0, 0, 0, 0, 75, 99, 2, 0, 2, 19, 60, 96, 28, 0, 0, 0, 0, 197, 0, 0, 0, 2, 20, 60, 0, 4, - 28, 0, 0, 0, 0, 197, 0, 0, 0, 2, 21, 60, 8, 4, 28, 0, 0, 0, 0, 197, 0, 0, 0, 2, 22, 60, 16, 4, - 28, 0, 0, 0, 0, 197, 0, 0, 0, 2, 23, 60, 24, 4, 28, 0, 0, 0, 0, 197, 0, 0, 0, 2, 24, 60, 32, 4, - 28, 0, 0, 0, 0, 197, 0, 0, 0, 2, 25, 60, 40, 4, 28, 0, 0, 0, 0, 197, 0, 0, 0, 2, 26, 60, 48, 4, - 28, 0, 0, 0, 0, 197, 0, 0, 0, 2, 27, 60, 56, 4, 0, 3, 129, 55, 0, 0, 39, 82, 0, 0, 0, 160, 3, - 0, 20, 0, 0, 0, 0, 24, 2, 55, 17, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 56, 17, 0, 21, 0, 0, 0, 0, - 231, 97, 0, 0, 2, 57, 17, 16, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 58, 17, 20, 0, 9, 142, 99, 2, 0, - 20, 0, 0, 0, 0, 16, 2, 74, 30, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 75, 30, 0, 21, 0, 0, 0, 0, - 127, 29, 0, 0, 2, 76, 30, 8, 0, 9, 183, 99, 2, 0, 32, 14, 75, 84, 2, 0, 0, 9, 195, 99, 2, 0, - 40, 136, 68, 0, 0, 41, 0, 33, 214, 99, 2, 0, 0, 0, 0, 0, 2, 63, 17, 9, 219, 99, 2, 0, 32, 14, - 75, 84, 2, 0, 14, 236, 99, 2, 0, 14, 92, 104, 2, 0, 0, 9, 241, 99, 2, 0, 27, 0, 0, 0, 0, 0, 1, - 2, 79, 30, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 80, 30, 0, 21, 0, 0, 0, 0, 103, 101, 2, 0, 2, 81, - 30, 8, 21, 0, 0, 0, 0, 26, 102, 2, 0, 2, 82, 30, 16, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 83, 30, - 24, 21, 0, 0, 0, 0, 240, 102, 2, 0, 2, 84, 30, 32, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 85, 30, - 40, 21, 0, 0, 0, 0, 61, 103, 2, 0, 2, 86, 30, 48, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 87, 30, 56, - 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 88, 30, 64, 21, 0, 0, 0, 0, 125, 100, 2, 0, 2, 92, 30, 72, - 24, 8, 2, 89, 30, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 90, 30, 0, 21, 0, 0, 0, 0, 125, 68, 0, 0, - 2, 91, 30, 4, 0, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 93, 30, 80, 21, 0, 0, 0, 0, 136, 68, 0, 0, - 2, 94, 30, 88, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 95, 30, 96, 21, 0, 0, 0, 0, 209, 100, 2, 0, 2, - 99, 30, 104, 24, 8, 2, 96, 30, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 97, 30, 0, 21, 0, 0, 0, 0, - 125, 68, 0, 0, 2, 98, 30, 4, 0, 21, 0, 0, 0, 0, 3, 104, 2, 0, 2, 100, 30, 112, 21, 0, 0, 0, 0, - 136, 68, 0, 0, 2, 101, 30, 120, 21, 0, 0, 0, 0, 56, 104, 2, 0, 2, 102, 30, 128, 21, 0, 0, 0, 0, - 56, 104, 2, 0, 2, 103, 30, 144, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 104, 30, 160, 21, 0, 0, 0, 0, - 136, 68, 0, 0, 2, 105, 30, 168, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 106, 30, 176, 21, 0, 0, 0, 0, - 136, 68, 0, 0, 2, 107, 30, 184, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 108, 30, 192, 0, 9, 108, 101, - 2, 0, 20, 0, 0, 0, 0, 32, 2, 31, 30, 21, 0, 0, 0, 0, 144, 101, 2, 0, 2, 32, 30, 0, 21, 0, 0, 0, - 0, 125, 68, 0, 0, 2, 33, 30, 28, 0, 20, 0, 0, 0, 0, 28, 2, 21, 30, 22, 162, 101, 2, 0, 2, 22, - 30, 0, 23, 8, 2, 22, 30, 21, 0, 0, 0, 0, 234, 101, 2, 0, 2, 23, 30, 0, 21, 0, 0, 0, 0, 127, 29, - 0, 0, 2, 24, 30, 0, 0, 21, 0, 0, 0, 0, 239, 101, 2, 0, 2, 26, 30, 8, 21, 0, 0, 0, 0, 255, 0, 0, - 0, 2, 27, 30, 16, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 28, 30, 24, 0, 9, 144, 101, 2, 0, 33, 251, - 101, 2, 0, 0, 0, 0, 0, 2, 19, 30, 9, 0, 102, 2, 0, 13, 127, 29, 0, 0, 14, 255, 0, 0, 0, 14, 56, - 1, 0, 0, 14, 127, 29, 0, 0, 14, 127, 29, 0, 0, 0, 9, 31, 102, 2, 0, 20, 0, 0, 0, 0, 16, 2, 36, - 30, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 37, 30, 0, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 38, 30, 8, 21, - 0, 0, 0, 0, 80, 102, 2, 0, 2, 39, 30, 16, 0, 3, 92, 102, 2, 0, 4, 82, 0, 0, 0, 0, 0, 20, 0, 0, - 0, 0, 24, 2, 2, 29, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 3, 29, 0, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, - 4, 29, 8, 34, 0, 0, 0, 0, 197, 0, 0, 0, 2, 5, 29, 8, 1, 63, 16, 34, 0, 0, 0, 0, 197, 0, 0, 0, - 2, 6, 29, 8, 1, 62, 16, 34, 0, 0, 0, 0, 197, 0, 0, 0, 2, 7, 29, 8, 1, 61, 16, 34, 0, 0, 0, 0, - 197, 0, 0, 0, 2, 8, 29, 8, 1, 60, 16, 34, 0, 0, 0, 0, 197, 0, 0, 0, 2, 9, 29, 8, 16, 44, 16, - 34, 0, 0, 0, 0, 197, 0, 0, 0, 2, 10, 29, 8, 4, 40, 16, 34, 0, 0, 0, 0, 197, 0, 0, 0, 2, 11, 29, - 8, 40, 0, 16, 0, 43, 0, 0, 0, 0, 8, 2, 14, 29, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 15, 29, 0, 22, - 15, 103, 2, 0, 2, 16, 29, 0, 24, 8, 2, 16, 29, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 17, 29, 0, 21, 0, - 0, 0, 0, 214, 48, 0, 0, 2, 18, 29, 4, 21, 0, 0, 0, 0, 214, 48, 0, 0, 2, 19, 29, 6, 0, 0, 43, 0, - 0, 0, 0, 8, 2, 242, 28, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 243, 28, 0, 22, 92, 103, 2, 0, 2, 244, - 28, 0, 24, 8, 2, 244, 28, 34, 0, 0, 0, 0, 197, 0, 0, 0, 2, 245, 28, 8, 5, 59, 0, 34, 0, 0, 0, - 0, 197, 0, 0, 0, 2, 246, 28, 8, 14, 45, 0, 34, 0, 0, 0, 0, 197, 0, 0, 0, 2, 247, 28, 8, 5, 40, - 0, 34, 0, 0, 0, 0, 197, 0, 0, 0, 2, 248, 28, 8, 2, 38, 0, 34, 0, 0, 0, 0, 197, 0, 0, 0, 2, 249, - 28, 8, 7, 31, 0, 34, 0, 0, 0, 0, 197, 0, 0, 0, 2, 250, 28, 8, 4, 27, 0, 34, 0, 0, 0, 0, 197, 0, - 0, 0, 2, 251, 28, 8, 1, 26, 0, 34, 0, 0, 0, 0, 197, 0, 0, 0, 2, 252, 28, 8, 2, 24, 0, 34, 0, 0, - 0, 0, 197, 0, 0, 0, 2, 253, 28, 8, 3, 21, 0, 34, 0, 0, 0, 0, 197, 0, 0, 0, 2, 254, 28, 8, 21, - 0, 0, 0, 0, 9, 8, 104, 2, 0, 20, 0, 0, 0, 0, 8, 2, 14, 30, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 15, - 30, 0, 21, 0, 0, 0, 0, 44, 104, 2, 0, 2, 16, 30, 8, 0, 3, 197, 0, 0, 0, 4, 82, 0, 0, 0, 0, 0, - 20, 0, 0, 0, 0, 16, 2, 124, 29, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 125, 29, 0, 21, 0, 0, 0, 0, - 92, 104, 2, 0, 2, 126, 29, 8, 0, 9, 97, 104, 2, 0, 20, 0, 0, 0, 0, 168, 2, 197, 5, 21, 0, 0, 0, - 0, 127, 29, 0, 0, 2, 198, 5, 0, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 199, 5, 8, 21, 0, 0, 0, 0, - 127, 29, 0, 0, 2, 200, 5, 16, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 201, 5, 24, 21, 0, 0, 0, 0, - 127, 29, 0, 0, 2, 202, 5, 32, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 203, 5, 40, 21, 0, 0, 0, 0, - 127, 29, 0, 0, 2, 204, 5, 48, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 205, 5, 56, 21, 0, 0, 0, 0, - 127, 29, 0, 0, 2, 206, 5, 64, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 207, 5, 72, 21, 0, 0, 0, 0, - 127, 29, 0, 0, 2, 208, 5, 80, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 209, 5, 88, 21, 0, 0, 0, 0, - 127, 29, 0, 0, 2, 210, 5, 96, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 211, 5, 104, 21, 0, 0, 0, 0, - 127, 29, 0, 0, 2, 212, 5, 112, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 213, 5, 120, 21, 0, 0, 0, 0, - 127, 29, 0, 0, 2, 214, 5, 128, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 215, 5, 136, 21, 0, 0, 0, 0, - 127, 29, 0, 0, 2, 216, 5, 144, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 217, 5, 152, 21, 0, 0, 0, 0, - 127, 29, 0, 0, 2, 218, 5, 160, 0, 9, 129, 105, 2, 0, 20, 0, 0, 0, 0, 144, 2, 144, 21, 21, 0, 0, - 0, 0, 227, 28, 0, 0, 2, 145, 21, 0, 21, 0, 0, 0, 0, 108, 106, 2, 0, 2, 146, 21, 16, 22, 173, - 105, 2, 0, 2, 147, 21, 24, 23, 8, 2, 147, 21, 21, 0, 0, 0, 0, 199, 53, 0, 0, 2, 148, 21, 0, 21, - 0, 0, 0, 0, 227, 107, 2, 0, 2, 149, 21, 0, 0, 21, 0, 0, 0, 0, 6, 110, 2, 0, 2, 151, 21, 32, 21, - 0, 0, 0, 0, 199, 53, 0, 0, 2, 152, 21, 80, 21, 0, 0, 0, 0, 248, 116, 2, 0, 2, 153, 21, 88, 22, - 253, 105, 2, 0, 2, 154, 21, 96, 23, 8, 2, 154, 21, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 155, 21, 0, - 21, 0, 0, 0, 0, 176, 64, 0, 0, 2, 156, 21, 0, 0, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 158, 21, 104, - 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 159, 21, 112, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 160, 21, 116, - 21, 0, 0, 0, 0, 226, 110, 1, 0, 2, 161, 21, 120, 21, 0, 0, 0, 0, 155, 246, 0, 0, 2, 162, 21, - 128, 21, 0, 0, 0, 0, 178, 129, 2, 0, 2, 163, 21, 136, 0, 9, 113, 106, 2, 0, 20, 0, 0, 0, 0, 72, - 2, 213, 30, 21, 0, 0, 0, 0, 14, 29, 0, 0, 2, 214, 30, 0, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 215, - 30, 8, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 216, 30, 16, 21, 0, 0, 0, 0, 227, 106, 2, 0, 2, 217, - 30, 24, 21, 0, 0, 0, 0, 59, 107, 2, 0, 2, 218, 30, 32, 21, 0, 0, 0, 0, 211, 107, 2, 0, 2, 219, - 30, 40, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 220, 30, 48, 21, 0, 0, 0, 0, 195, 107, 2, 0, 2, 221, - 30, 64, 0, 9, 232, 106, 2, 0, 13, 168, 0, 0, 0, 14, 124, 105, 2, 0, 14, 253, 106, 2, 0, 14, - 255, 0, 0, 0, 0, 17, 11, 1, 0, 0, 0, 0, 0, 0, 4, 2, 188, 30, 18, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, - 1, 18, 0, 0, 0, 0, 2, 18, 0, 0, 0, 0, 3, 18, 0, 0, 0, 0, 4, 18, 0, 0, 0, 0, 5, 18, 0, 0, 0, 0, - 6, 18, 0, 0, 0, 0, 7, 0, 9, 64, 107, 2, 0, 20, 0, 0, 0, 0, 32, 2, 199, 30, 21, 0, 0, 0, 0, 14, - 29, 0, 0, 2, 200, 30, 0, 22, 95, 107, 2, 0, 2, 201, 30, 8, 23, 24, 2, 201, 30, 22, 109, 107, 2, - 0, 2, 202, 30, 0, 24, 24, 2, 202, 30, 21, 0, 0, 0, 0, 14, 29, 0, 0, 2, 203, 30, 0, 21, 0, 0, 0, - 0, 3, 71, 2, 0, 2, 204, 30, 8, 21, 0, 0, 0, 0, 3, 71, 2, 0, 2, 205, 30, 12, 21, 0, 0, 0, 0, 3, - 71, 2, 0, 2, 206, 30, 16, 21, 0, 0, 0, 0, 3, 71, 2, 0, 2, 207, 30, 20, 0, 21, 0, 0, 0, 0, 195, - 107, 2, 0, 2, 209, 30, 0, 0, 0, 9, 200, 107, 2, 0, 13, 168, 0, 0, 0, 14, 124, 105, 2, 0, 0, 9, - 216, 107, 2, 0, 13, 4, 29, 0, 0, 14, 124, 105, 2, 0, 0, 9, 232, 107, 2, 0, 20, 0, 0, 0, 0, 72, - 2, 106, 16, 21, 0, 0, 0, 0, 14, 29, 0, 0, 2, 107, 16, 0, 21, 0, 0, 0, 0, 90, 108, 2, 0, 2, 108, - 16, 8, 21, 0, 0, 0, 0, 19, 109, 2, 0, 2, 109, 16, 24, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 110, 16, - 32, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 111, 16, 40, 21, 0, 0, 0, 0, 196, 109, 2, 0, 2, 112, 16, - 48, 21, 0, 0, 0, 0, 8, 54, 1, 0, 2, 113, 16, 56, 21, 0, 0, 0, 0, 208, 109, 2, 0, 2, 114, 16, - 64, 0, 20, 0, 0, 0, 0, 16, 2, 22, 16, 21, 0, 0, 0, 0, 176, 64, 0, 0, 2, 23, 16, 0, 22, 121, - 108, 2, 0, 2, 24, 16, 8, 23, 8, 2, 24, 16, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 25, 16, 0, 21, 0, - 0, 0, 0, 167, 108, 2, 0, 2, 26, 16, 0, 21, 0, 0, 0, 0, 221, 108, 2, 0, 2, 27, 16, 0, 0, 0, 9, - 172, 108, 2, 0, 20, 0, 0, 0, 0, 16, 2, 14, 16, 21, 0, 0, 0, 0, 101, 103, 0, 0, 2, 15, 16, 0, - 21, 0, 0, 0, 0, 101, 103, 0, 0, 2, 16, 16, 4, 21, 0, 0, 0, 0, 248, 0, 0, 0, 2, 17, 16, 8, 0, 9, - 226, 108, 2, 0, 20, 0, 0, 0, 0, 24, 2, 29, 174, 21, 0, 0, 0, 0, 221, 108, 2, 0, 2, 30, 174, 0, - 21, 0, 0, 0, 0, 167, 108, 2, 0, 2, 31, 174, 8, 21, 0, 0, 0, 0, 111, 83, 0, 0, 2, 32, 174, 16, - 0, 9, 24, 109, 2, 0, 20, 0, 0, 0, 0, 16, 2, 63, 16, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 64, 16, 0, - 22, 55, 109, 2, 0, 2, 65, 16, 8, 23, 8, 2, 65, 16, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 66, 16, 0, - 21, 0, 0, 0, 0, 101, 109, 2, 0, 2, 67, 16, 0, 21, 0, 0, 0, 0, 155, 109, 2, 0, 2, 68, 16, 0, 0, - 0, 9, 106, 109, 2, 0, 20, 0, 0, 0, 0, 24, 2, 57, 16, 21, 0, 0, 0, 0, 101, 109, 2, 0, 2, 58, 16, - 0, 21, 0, 0, 0, 0, 111, 83, 0, 0, 2, 59, 16, 8, 21, 0, 0, 0, 0, 155, 109, 2, 0, 2, 60, 16, 16, - 0, 9, 160, 109, 2, 0, 20, 0, 0, 0, 0, 8, 2, 52, 16, 21, 0, 0, 0, 0, 101, 103, 0, 0, 2, 53, 16, - 0, 21, 0, 0, 0, 0, 101, 103, 0, 0, 2, 54, 16, 4, 0, 9, 201, 109, 2, 0, 40, 168, 0, 0, 0, 41, 0, - 9, 213, 109, 2, 0, 20, 0, 0, 0, 0, 24, 2, 100, 16, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 101, 16, 0, - 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 102, 16, 8, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 103, 16, 16, 0, - 20, 0, 0, 0, 0, 48, 2, 133, 21, 21, 0, 0, 0, 0, 184, 28, 0, 0, 2, 134, 21, 0, 21, 0, 0, 0, 0, - 227, 28, 0, 0, 2, 135, 21, 16, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 136, 21, 32, 21, 0, 0, 0, 0, - 68, 110, 2, 0, 2, 137, 21, 40, 0, 9, 73, 110, 2, 0, 20, 0, 0, 0, 0, 32, 2, 181, 30, 21, 0, 0, - 0, 0, 135, 110, 2, 0, 2, 182, 30, 0, 21, 0, 0, 0, 0, 135, 110, 2, 0, 2, 183, 30, 8, 21, 0, 0, - 0, 0, 135, 110, 2, 0, 2, 184, 30, 16, 21, 0, 0, 0, 0, 135, 110, 2, 0, 2, 185, 30, 24, 0, 33, - 147, 110, 2, 0, 0, 0, 0, 0, 2, 179, 30, 9, 152, 110, 2, 0, 13, 173, 110, 2, 0, 14, 211, 110, 2, - 0, 14, 168, 0, 0, 0, 14, 173, 129, 2, 0, 0, 17, 11, 1, 0, 0, 0, 0, 0, 0, 4, 2, 172, 30, 18, 0, - 0, 0, 0, 0, 18, 0, 0, 0, 0, 1, 18, 0, 0, 0, 0, 2, 18, 0, 0, 0, 0, 3, 0, 9, 216, 110, 2, 0, 27, - 0, 0, 0, 0, 48, 33, 2, 145, 30, 21, 0, 0, 0, 0, 38, 112, 2, 0, 2, 146, 30, 0, 21, 0, 0, 0, 0, - 126, 119, 2, 0, 2, 147, 30, 8, 21, 0, 0, 0, 0, 65, 124, 2, 0, 2, 148, 30, 16, 21, 0, 0, 0, 0, - 255, 0, 0, 0, 2, 149, 30, 24, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 150, 30, 32, 21, 0, 0, 0, 0, - 241, 106, 0, 0, 2, 151, 30, 40, 21, 0, 0, 0, 0, 70, 124, 2, 0, 2, 152, 30, 72, 21, 0, 0, 0, 0, - 127, 29, 0, 0, 2, 153, 30, 80, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 154, 30, 88, 21, 0, 0, 0, 0, - 11, 1, 0, 0, 2, 155, 30, 96, 21, 0, 0, 0, 0, 199, 53, 0, 0, 2, 156, 30, 104, 21, 0, 0, 0, 0, - 11, 1, 0, 0, 2, 157, 30, 112, 21, 0, 0, 0, 0, 248, 128, 2, 0, 2, 158, 30, 120, 28, 0, 0, 0, 0, - 188, 170, 0, 0, 2, 159, 30, 160, 16, 28, 0, 0, 0, 0, 219, 52, 0, 0, 2, 160, 30, 200, 16, 28, 0, - 0, 0, 0, 248, 128, 2, 0, 2, 161, 30, 208, 16, 28, 0, 0, 0, 0, 106, 129, 2, 0, 2, 162, 30, 248, - 32, 28, 0, 0, 0, 0, 127, 29, 0, 0, 2, 163, 30, 0, 33, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 164, 30, - 8, 33, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 165, 30, 12, 33, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 166, - 30, 16, 33, 28, 0, 0, 0, 0, 136, 68, 0, 0, 2, 167, 30, 24, 33, 28, 0, 0, 0, 0, 29, 75, 0, 0, 2, - 168, 30, 32, 33, 28, 0, 0, 0, 0, 248, 0, 0, 0, 2, 169, 30, 40, 33, 0, 9, 43, 112, 2, 0, 27, 0, - 0, 0, 0, 56, 30, 2, 175, 143, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 176, 143, 0, 21, 0, 0, 0, 0, - 199, 53, 0, 0, 2, 177, 143, 16, 21, 0, 0, 0, 0, 240, 114, 2, 0, 2, 178, 143, 24, 21, 0, 0, 0, - 0, 240, 114, 2, 0, 2, 179, 143, 64, 21, 0, 0, 0, 0, 219, 52, 0, 0, 2, 180, 143, 104, 21, 0, 0, - 0, 0, 127, 29, 0, 0, 2, 181, 143, 112, 21, 0, 0, 0, 0, 133, 66, 0, 0, 2, 182, 143, 120, 21, 0, - 0, 0, 0, 156, 163, 0, 0, 2, 183, 143, 128, 21, 0, 0, 0, 0, 11, 61, 1, 0, 2, 184, 143, 160, 21, - 0, 0, 0, 0, 49, 116, 2, 0, 2, 185, 143, 184, 21, 0, 0, 0, 0, 49, 116, 2, 0, 2, 186, 143, 192, - 21, 0, 0, 0, 0, 58, 69, 0, 0, 2, 187, 143, 200, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 188, 143, 204, - 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 189, 143, 208, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 190, 143, 212, - 21, 0, 0, 0, 0, 90, 116, 2, 0, 2, 191, 143, 216, 28, 0, 0, 0, 0, 90, 116, 2, 0, 2, 192, 143, - 224, 14, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 193, 143, 232, 28, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, - 194, 143, 236, 28, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 195, 143, 240, 28, 28, 0, 0, 0, 0, 219, 52, - 0, 0, 2, 196, 143, 244, 28, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 197, 143, 248, 28, 28, 0, 0, 0, 0, - 11, 1, 0, 0, 2, 198, 143, 252, 28, 28, 0, 0, 0, 0, 126, 119, 2, 0, 2, 199, 143, 0, 29, 28, 0, - 0, 0, 0, 11, 1, 0, 0, 2, 200, 143, 8, 29, 28, 0, 0, 0, 0, 157, 68, 0, 0, 2, 201, 143, 12, 29, - 28, 0, 0, 0, 0, 11, 1, 0, 0, 2, 202, 143, 44, 29, 28, 0, 0, 0, 0, 231, 97, 0, 0, 2, 203, 143, - 48, 29, 28, 0, 0, 0, 0, 227, 28, 0, 0, 2, 204, 143, 56, 29, 28, 0, 0, 0, 0, 133, 66, 0, 0, 2, - 205, 143, 72, 29, 28, 0, 0, 0, 0, 133, 66, 0, 0, 2, 206, 143, 80, 29, 28, 0, 0, 0, 0, 133, 66, - 0, 0, 2, 207, 143, 88, 29, 28, 0, 0, 0, 0, 133, 66, 0, 0, 2, 208, 143, 96, 29, 28, 0, 0, 0, 0, - 225, 121, 2, 0, 2, 209, 143, 104, 29, 28, 0, 0, 0, 0, 227, 28, 0, 0, 2, 210, 143, 112, 29, 28, - 0, 0, 0, 0, 227, 28, 0, 0, 2, 211, 143, 128, 29, 28, 0, 0, 0, 0, 103, 116, 2, 0, 2, 212, 143, - 144, 29, 28, 0, 0, 0, 0, 188, 170, 0, 0, 2, 213, 143, 152, 29, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, - 214, 143, 192, 29, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 215, 143, 196, 29, 28, 0, 0, 0, 0, 77, 122, - 2, 0, 2, 216, 143, 200, 29, 28, 0, 0, 0, 0, 49, 116, 2, 0, 2, 217, 143, 208, 29, 28, 0, 0, 0, - 0, 49, 116, 2, 0, 2, 218, 143, 216, 29, 28, 0, 0, 0, 0, 227, 28, 0, 0, 2, 219, 143, 224, 29, - 28, 0, 0, 0, 0, 227, 28, 0, 0, 2, 220, 143, 240, 29, 28, 0, 0, 0, 0, 227, 28, 0, 0, 2, 221, - 143, 0, 30, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 222, 143, 16, 30, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, - 223, 143, 20, 30, 28, 0, 0, 0, 0, 227, 28, 0, 0, 2, 224, 143, 24, 30, 28, 0, 0, 0, 0, 180, 123, - 2, 0, 2, 225, 143, 40, 30, 28, 0, 0, 0, 0, 254, 123, 2, 0, 2, 226, 143, 48, 30, 0, 20, 0, 0, 0, - 0, 40, 2, 159, 143, 21, 0, 0, 0, 0, 38, 112, 2, 0, 2, 160, 143, 0, 21, 0, 0, 0, 0, 59, 115, 2, - 0, 2, 161, 143, 8, 21, 0, 0, 0, 0, 69, 115, 2, 0, 2, 162, 143, 16, 21, 0, 0, 0, 0, 136, 68, 0, - 0, 2, 163, 143, 24, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 164, 143, 32, 0, 9, 64, 115, 2, 0, 45, 0, - 0, 0, 0, 9, 74, 115, 2, 0, 20, 0, 0, 0, 0, 128, 2, 12, 144, 21, 0, 0, 0, 0, 176, 64, 0, 0, 2, - 13, 144, 0, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 14, 144, 8, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 15, - 144, 16, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 16, 144, 24, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 17, - 144, 32, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 18, 144, 40, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 19, - 144, 48, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 20, 144, 56, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 21, - 144, 64, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 22, 144, 72, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 23, - 144, 80, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 24, 144, 88, 21, 0, 0, 0, 0, 45, 77, 1, 0, 2, 25, - 144, 96, 21, 0, 0, 0, 0, 224, 63, 0, 0, 2, 26, 144, 100, 21, 0, 0, 0, 0, 105, 28, 0, 0, 2, 27, - 144, 104, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 28, 144, 120, 21, 0, 0, 0, 0, 219, 52, 0, 0, 2, 29, - 144, 124, 0, 9, 54, 116, 2, 0, 20, 0, 0, 0, 0, 16, 2, 48, 144, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, - 49, 144, 0, 21, 0, 0, 0, 0, 75, 110, 0, 0, 2, 50, 144, 8, 0, 3, 103, 116, 2, 0, 39, 82, 0, 0, - 0, 193, 1, 0, 9, 108, 116, 2, 0, 20, 0, 0, 0, 0, 88, 2, 239, 30, 21, 0, 0, 0, 0, 227, 28, 0, 0, - 2, 240, 30, 0, 21, 0, 0, 0, 0, 124, 105, 2, 0, 2, 241, 30, 16, 21, 0, 0, 0, 0, 248, 116, 2, 0, - 2, 242, 30, 24, 21, 0, 0, 0, 0, 133, 66, 0, 0, 2, 243, 30, 32, 21, 0, 0, 0, 0, 38, 112, 2, 0, - 2, 244, 30, 40, 21, 0, 0, 0, 0, 222, 118, 2, 0, 2, 245, 30, 48, 21, 0, 0, 0, 0, 227, 28, 0, 0, - 2, 246, 30, 56, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 247, 30, 72, 21, 0, 0, 0, 0, 176, 64, 0, 0, - 2, 248, 30, 80, 21, 0, 0, 0, 0, 176, 64, 0, 0, 2, 249, 30, 84, 0, 9, 253, 116, 2, 0, 20, 0, 0, - 0, 0, 16, 2, 152, 143, 21, 0, 0, 0, 0, 33, 117, 2, 0, 2, 153, 143, 0, 21, 0, 0, 0, 0, 199, 53, - 0, 0, 2, 154, 143, 8, 0, 9, 38, 117, 2, 0, 20, 0, 0, 0, 0, 16, 2, 101, 149, 21, 0, 0, 0, 0, - 168, 0, 0, 0, 2, 102, 149, 0, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 103, 149, 4, 21, 0, 0, 0, 0, 87, - 117, 2, 0, 2, 104, 149, 8, 0, 9, 92, 117, 2, 0, 27, 0, 0, 0, 0, 64, 1, 2, 120, 149, 21, 0, 0, - 0, 0, 212, 117, 2, 0, 2, 121, 149, 0, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 122, 149, 8, 21, 0, 0, - 0, 0, 245, 117, 2, 0, 2, 123, 149, 16, 28, 0, 0, 0, 0, 111, 118, 2, 0, 2, 124, 149, 32, 1, 28, - 0, 0, 0, 0, 116, 118, 2, 0, 2, 125, 149, 40, 1, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 126, 149, 48, - 1, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 127, 149, 52, 1, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 128, 149, - 56, 1, 0, 33, 224, 117, 2, 0, 0, 0, 0, 0, 2, 107, 149, 9, 229, 117, 2, 0, 13, 168, 0, 0, 0, 14, - 87, 117, 2, 0, 14, 255, 0, 0, 0, 0, 27, 0, 0, 0, 0, 16, 1, 2, 113, 149, 21, 0, 0, 0, 0, 55, - 118, 2, 0, 2, 114, 149, 0, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 115, 149, 0, 1, 28, 0, 0, 0, 0, - 168, 0, 0, 0, 2, 116, 149, 4, 1, 28, 0, 0, 0, 0, 68, 118, 2, 0, 2, 117, 149, 8, 1, 0, 3, 75, 0, - 0, 0, 39, 82, 0, 0, 0, 0, 1, 0, 33, 80, 118, 2, 0, 0, 0, 0, 0, 2, 111, 149, 9, 85, 118, 2, 0, - 13, 168, 0, 0, 0, 14, 199, 53, 0, 0, 14, 106, 118, 2, 0, 14, 168, 0, 0, 0, 0, 9, 245, 117, 2, - 0, 9, 225, 48, 0, 0, 9, 121, 118, 2, 0, 20, 0, 0, 0, 0, 48, 2, 50, 149, 21, 0, 0, 0, 0, 227, - 28, 0, 0, 2, 51, 149, 0, 21, 0, 0, 0, 0, 14, 29, 0, 0, 2, 52, 149, 16, 21, 0, 0, 0, 0, 14, 29, - 0, 0, 2, 53, 149, 24, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 54, 149, 32, 21, 0, 0, 0, 0, 168, 0, 0, - 0, 2, 55, 149, 36, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 56, 149, 40, 21, 0, 0, 0, 0, 168, 0, 0, 0, - 2, 57, 149, 44, 0, 9, 227, 118, 2, 0, 20, 0, 0, 0, 0, 48, 2, 3, 144, 21, 0, 0, 0, 0, 227, 28, - 0, 0, 2, 4, 144, 0, 21, 0, 0, 0, 0, 59, 119, 2, 0, 2, 5, 144, 16, 21, 0, 0, 0, 0, 38, 112, 2, - 0, 2, 6, 144, 24, 21, 0, 0, 0, 0, 133, 66, 0, 0, 2, 7, 144, 32, 21, 0, 0, 0, 0, 168, 0, 0, 0, - 2, 8, 144, 40, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 9, 144, 44, 0, 9, 64, 119, 2, 0, 20, 0, 0, 0, - 0, 40, 2, 152, 144, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 153, 144, 0, 21, 0, 0, 0, 0, 14, 29, 0, - 0, 2, 154, 144, 16, 21, 0, 0, 0, 0, 248, 116, 2, 0, 2, 155, 144, 24, 21, 0, 0, 0, 0, 168, 0, 0, - 0, 2, 156, 144, 32, 0, 9, 131, 119, 2, 0, 20, 0, 0, 0, 0, 152, 2, 231, 143, 21, 0, 0, 0, 0, 14, - 29, 0, 0, 2, 232, 143, 0, 21, 0, 0, 0, 0, 184, 120, 2, 0, 2, 233, 143, 8, 21, 0, 0, 0, 0, 200, - 120, 2, 0, 2, 234, 143, 16, 21, 0, 0, 0, 0, 200, 120, 2, 0, 2, 235, 143, 24, 21, 0, 0, 0, 0, - 200, 120, 2, 0, 2, 236, 143, 32, 21, 0, 0, 0, 0, 184, 120, 2, 0, 2, 237, 143, 40, 21, 0, 0, 0, - 0, 212, 120, 2, 0, 2, 238, 143, 48, 21, 0, 0, 0, 0, 212, 120, 2, 0, 2, 239, 143, 56, 21, 0, 0, - 0, 0, 212, 120, 2, 0, 2, 240, 143, 64, 21, 0, 0, 0, 0, 212, 120, 2, 0, 2, 241, 143, 72, 21, 0, - 0, 0, 0, 224, 120, 2, 0, 2, 242, 143, 80, 21, 0, 0, 0, 0, 4, 121, 2, 0, 2, 243, 143, 88, 21, 0, - 0, 0, 0, 45, 121, 2, 0, 2, 244, 143, 96, 21, 0, 0, 0, 0, 57, 121, 2, 0, 2, 245, 143, 104, 21, - 0, 0, 0, 0, 73, 121, 2, 0, 2, 246, 143, 112, 21, 0, 0, 0, 0, 104, 121, 2, 0, 2, 247, 143, 120, - 21, 0, 0, 0, 0, 126, 119, 2, 0, 2, 248, 143, 128, 21, 0, 0, 0, 0, 130, 121, 2, 0, 2, 249, 143, - 136, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 250, 143, 144, 21, 0, 0, 0, 0, 219, 52, 0, 0, 2, 251, - 143, 148, 21, 0, 0, 0, 0, 219, 52, 0, 0, 2, 252, 143, 149, 21, 0, 0, 0, 0, 219, 52, 0, 0, 2, - 253, 143, 150, 21, 0, 0, 0, 0, 219, 52, 0, 0, 2, 254, 143, 151, 0, 9, 189, 120, 2, 0, 13, 168, - 0, 0, 0, 14, 38, 112, 2, 0, 0, 9, 205, 120, 2, 0, 32, 14, 38, 112, 2, 0, 0, 9, 217, 120, 2, 0, - 32, 14, 211, 110, 2, 0, 0, 9, 229, 120, 2, 0, 13, 136, 90, 0, 0, 14, 211, 110, 2, 0, 14, 69, - 80, 0, 0, 14, 199, 53, 0, 0, 14, 140, 55, 0, 0, 14, 79, 115, 0, 0, 0, 9, 9, 121, 2, 0, 13, 136, - 90, 0, 0, 14, 211, 110, 2, 0, 14, 69, 80, 0, 0, 14, 79, 115, 0, 0, 14, 209, 105, 0, 0, 14, 140, - 55, 0, 0, 14, 11, 1, 0, 0, 0, 9, 50, 121, 2, 0, 32, 14, 71, 114, 0, 0, 0, 9, 62, 121, 2, 0, 13, - 173, 110, 2, 0, 14, 211, 110, 2, 0, 0, 9, 78, 121, 2, 0, 13, 168, 0, 0, 0, 14, 38, 112, 2, 0, - 14, 125, 68, 0, 0, 14, 125, 68, 0, 0, 14, 168, 0, 0, 0, 0, 9, 109, 121, 2, 0, 13, 168, 0, 0, 0, - 14, 38, 112, 2, 0, 14, 125, 68, 0, 0, 14, 168, 0, 0, 0, 0, 9, 135, 121, 2, 0, 20, 0, 0, 0, 0, - 24, 2, 81, 144, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 82, 144, 0, 21, 0, 0, 0, 0, 184, 121, 2, 0, - 2, 83, 144, 8, 21, 0, 0, 0, 0, 126, 119, 2, 0, 2, 84, 144, 16, 0, 9, 189, 121, 2, 0, 20, 0, 0, - 0, 0, 16, 2, 76, 144, 21, 0, 0, 0, 0, 14, 29, 0, 0, 2, 77, 144, 0, 21, 0, 0, 0, 0, 125, 68, 0, - 0, 2, 78, 144, 8, 0, 9, 230, 121, 2, 0, 20, 0, 0, 0, 0, 16, 2, 34, 144, 21, 0, 0, 0, 0, 126, - 119, 2, 0, 2, 35, 144, 0, 21, 0, 0, 0, 0, 10, 122, 2, 0, 2, 36, 144, 8, 0, 9, 15, 122, 2, 0, - 20, 0, 0, 0, 0, 32, 2, 41, 144, 21, 0, 0, 0, 0, 184, 121, 2, 0, 2, 42, 144, 0, 21, 0, 0, 0, 0, - 130, 121, 2, 0, 2, 43, 144, 8, 21, 0, 0, 0, 0, 38, 112, 2, 0, 2, 44, 144, 16, 21, 0, 0, 0, 0, - 133, 66, 0, 0, 2, 45, 144, 24, 0, 9, 82, 122, 2, 0, 20, 0, 0, 0, 0, 176, 2, 79, 17, 21, 0, 0, - 0, 0, 235, 122, 2, 0, 2, 80, 17, 0, 21, 0, 0, 0, 0, 77, 122, 2, 0, 2, 81, 17, 8, 21, 0, 0, 0, - 0, 127, 29, 0, 0, 2, 82, 17, 16, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 83, 17, 24, 21, 0, 0, 0, 0, - 235, 122, 2, 0, 2, 84, 17, 32, 21, 0, 0, 0, 0, 46, 123, 2, 0, 2, 85, 17, 40, 21, 0, 0, 0, 0, - 175, 123, 2, 0, 2, 86, 17, 88, 21, 0, 0, 0, 0, 46, 123, 2, 0, 2, 87, 17, 96, 21, 0, 0, 0, 0, - 127, 29, 0, 0, 2, 88, 17, 144, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 89, 17, 152, 21, 0, 0, 0, 0, - 227, 28, 0, 0, 2, 90, 17, 160, 0, 33, 247, 122, 2, 0, 0, 0, 0, 0, 2, 69, 17, 9, 252, 122, 2, 0, - 32, 14, 127, 29, 0, 0, 14, 127, 29, 0, 0, 14, 77, 122, 2, 0, 14, 18, 123, 2, 0, 0, 9, 23, 123, - 2, 0, 20, 0, 0, 0, 0, 168, 2, 110, 29, 21, 0, 0, 0, 0, 97, 104, 2, 0, 2, 111, 29, 0, 0, 20, 0, - 0, 0, 0, 48, 2, 73, 17, 21, 0, 0, 0, 0, 95, 123, 2, 0, 2, 74, 17, 0, 21, 0, 0, 0, 0, 95, 123, - 2, 0, 2, 75, 17, 8, 21, 0, 0, 0, 0, 241, 106, 0, 0, 2, 76, 17, 16, 0, 9, 100, 123, 2, 0, 20, 0, - 0, 0, 0, 48, 2, 87, 143, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 88, 143, 0, 21, 0, 0, 0, 0, 226, - 110, 1, 0, 2, 89, 143, 8, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 90, 143, 16, 21, 0, 0, 0, 0, 127, - 29, 0, 0, 2, 91, 143, 24, 21, 0, 0, 0, 0, 65, 29, 0, 0, 2, 92, 143, 32, 0, 9, 46, 123, 2, 0, 9, - 185, 123, 2, 0, 20, 0, 0, 0, 0, 16, 2, 60, 144, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 61, 144, 0, - 21, 0, 0, 0, 0, 221, 123, 2, 0, 2, 62, 144, 8, 0, 33, 233, 123, 2, 0, 0, 0, 0, 0, 2, 58, 144, - 9, 238, 123, 2, 0, 13, 219, 52, 0, 0, 14, 38, 112, 2, 0, 14, 255, 0, 0, 0, 0, 9, 3, 124, 2, 0, - 20, 0, 0, 0, 0, 32, 2, 65, 144, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 66, 144, 0, 21, 0, 0, 0, 0, - 127, 29, 0, 0, 2, 67, 144, 8, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 68, 144, 16, 21, 0, 0, 0, 0, - 136, 68, 0, 0, 2, 69, 144, 24, 0, 9, 240, 114, 2, 0, 9, 75, 124, 2, 0, 9, 80, 124, 2, 0, 20, 0, - 0, 0, 0, 80, 2, 61, 145, 21, 0, 0, 0, 0, 220, 124, 2, 0, 2, 62, 145, 0, 21, 0, 0, 0, 0, 127, - 29, 0, 0, 2, 63, 145, 8, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 64, 145, 16, 21, 0, 0, 0, 0, 60, - 128, 2, 0, 2, 65, 145, 24, 21, 0, 0, 0, 0, 60, 128, 2, 0, 2, 66, 145, 32, 21, 0, 0, 0, 0, 127, - 29, 0, 0, 2, 67, 145, 40, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 68, 145, 48, 21, 0, 0, 0, 0, 136, - 68, 0, 0, 2, 69, 145, 56, 21, 0, 0, 0, 0, 188, 128, 2, 0, 2, 70, 145, 64, 21, 0, 0, 0, 0, 168, - 0, 0, 0, 2, 71, 145, 72, 0, 9, 225, 124, 2, 0, 27, 0, 0, 0, 0, 200, 1, 2, 149, 145, 21, 0, 0, - 0, 0, 168, 0, 0, 0, 2, 150, 145, 0, 21, 0, 0, 0, 0, 176, 64, 0, 0, 2, 151, 145, 4, 21, 0, 0, 0, - 0, 176, 64, 0, 0, 2, 152, 145, 8, 21, 0, 0, 0, 0, 250, 126, 2, 0, 2, 153, 145, 16, 21, 0, 0, 0, - 0, 231, 97, 0, 0, 2, 154, 145, 24, 21, 0, 0, 0, 0, 58, 69, 0, 0, 2, 155, 145, 28, 21, 0, 0, 0, - 0, 151, 117, 0, 0, 2, 156, 145, 32, 21, 0, 0, 0, 0, 250, 127, 2, 0, 2, 157, 145, 32, 21, 0, 0, - 0, 0, 127, 29, 0, 0, 2, 158, 145, 40, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 159, 145, 48, 21, 0, 0, - 0, 0, 4, 29, 0, 0, 2, 160, 145, 56, 21, 0, 0, 0, 0, 60, 128, 2, 0, 2, 161, 145, 64, 21, 0, 0, - 0, 0, 60, 128, 2, 0, 2, 162, 145, 72, 21, 0, 0, 0, 0, 60, 128, 2, 0, 2, 163, 145, 80, 21, 0, 0, - 0, 0, 60, 128, 2, 0, 2, 164, 145, 88, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 165, 145, 96, 21, 0, 0, - 0, 0, 127, 29, 0, 0, 2, 166, 145, 104, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 167, 145, 112, 21, 0, - 0, 0, 0, 205, 13, 2, 0, 2, 168, 145, 120, 21, 0, 0, 0, 0, 205, 13, 2, 0, 2, 169, 145, 128, 21, - 0, 0, 0, 0, 205, 13, 2, 0, 2, 170, 145, 136, 21, 0, 0, 0, 0, 205, 13, 2, 0, 2, 171, 145, 144, - 21, 0, 0, 0, 0, 205, 13, 2, 0, 2, 172, 145, 152, 21, 0, 0, 0, 0, 205, 13, 2, 0, 2, 173, 145, - 160, 21, 0, 0, 0, 0, 205, 13, 2, 0, 2, 174, 145, 168, 21, 0, 0, 0, 0, 205, 13, 2, 0, 2, 175, - 145, 176, 21, 0, 0, 0, 0, 205, 13, 2, 0, 2, 176, 145, 184, 21, 0, 0, 0, 0, 248, 0, 0, 0, 2, - 177, 145, 192, 21, 0, 0, 0, 0, 140, 55, 0, 0, 2, 178, 145, 200, 21, 0, 0, 0, 0, 127, 29, 0, 0, - 2, 179, 145, 208, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 180, 145, 216, 21, 0, 0, 0, 0, 153, 128, 2, - 0, 2, 181, 145, 224, 21, 0, 0, 0, 0, 153, 128, 2, 0, 2, 182, 145, 232, 21, 0, 0, 0, 0, 24, 61, - 2, 0, 2, 183, 145, 240, 28, 0, 0, 0, 0, 136, 68, 0, 0, 2, 184, 145, 24, 1, 28, 0, 0, 0, 0, 248, - 0, 0, 0, 2, 185, 145, 32, 1, 28, 0, 0, 0, 0, 227, 28, 0, 0, 2, 186, 145, 40, 1, 28, 0, 0, 0, 0, - 156, 163, 0, 0, 2, 187, 145, 56, 1, 28, 0, 0, 0, 0, 43, 167, 0, 0, 2, 188, 145, 88, 1, 28, 0, - 0, 0, 0, 162, 127, 2, 0, 2, 189, 145, 120, 1, 0, 9, 255, 126, 2, 0, 20, 0, 0, 0, 0, 216, 2, 83, - 145, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 84, 145, 0, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 85, 145, 4, - 21, 0, 0, 0, 0, 176, 64, 0, 0, 2, 86, 145, 8, 21, 0, 0, 0, 0, 188, 170, 0, 0, 2, 87, 145, 16, - 21, 0, 0, 0, 0, 152, 127, 2, 0, 2, 88, 145, 56, 21, 0, 0, 0, 0, 241, 106, 0, 0, 2, 89, 145, 64, - 21, 0, 0, 0, 0, 157, 127, 2, 0, 2, 90, 145, 96, 21, 0, 0, 0, 0, 184, 28, 0, 0, 2, 91, 145, 104, - 21, 0, 0, 0, 0, 190, 99, 2, 0, 2, 92, 145, 120, 21, 0, 0, 0, 0, 162, 127, 2, 0, 2, 93, 145, - 128, 21, 0, 0, 0, 0, 219, 52, 0, 0, 2, 94, 145, 208, 0, 9, 151, 117, 0, 0, 9, 220, 124, 2, 0, - 20, 0, 0, 0, 0, 80, 2, 74, 145, 21, 0, 0, 0, 0, 11, 61, 1, 0, 2, 75, 145, 0, 21, 0, 0, 0, 0, - 47, 107, 0, 0, 2, 76, 145, 24, 21, 0, 0, 0, 0, 47, 107, 0, 0, 2, 77, 145, 48, 21, 0, 0, 0, 0, - 219, 52, 0, 0, 2, 78, 145, 72, 21, 0, 0, 0, 0, 219, 52, 0, 0, 2, 79, 145, 73, 21, 0, 0, 0, 0, - 219, 52, 0, 0, 2, 80, 145, 74, 0, 9, 255, 127, 2, 0, 20, 0, 0, 0, 0, 16, 2, 102, 145, 21, 0, 0, - 0, 0, 136, 68, 0, 0, 2, 103, 145, 0, 21, 0, 0, 0, 0, 205, 13, 2, 0, 2, 104, 145, 8, 21, 0, 0, - 0, 0, 48, 128, 2, 0, 2, 105, 145, 16, 0, 3, 5, 49, 0, 0, 4, 82, 0, 0, 0, 0, 0, 9, 65, 128, 2, - 0, 20, 0, 0, 0, 0, 56, 2, 108, 145, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 109, 145, 0, 21, 0, 0, 0, - 0, 205, 13, 2, 0, 2, 110, 145, 16, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 111, 145, 24, 21, 0, 0, 0, - 0, 205, 13, 2, 0, 2, 112, 145, 32, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 113, 145, 40, 21, 0, 0, 0, - 0, 250, 127, 2, 0, 2, 114, 145, 48, 0, 33, 165, 128, 2, 0, 0, 0, 0, 0, 2, 147, 145, 20, 0, 0, - 0, 0, 8, 2, 143, 145, 21, 0, 0, 0, 0, 118, 88, 2, 0, 2, 144, 145, 0, 0, 9, 193, 128, 2, 0, 20, - 0, 0, 0, 0, 4, 2, 207, 28, 34, 0, 0, 0, 0, 125, 68, 0, 0, 2, 208, 28, 4, 5, 27, 0, 34, 0, 0, 0, - 0, 125, 68, 0, 0, 2, 209, 28, 4, 27, 0, 0, 21, 0, 0, 0, 0, 232, 245, 0, 0, 2, 210, 28, 4, 0, - 27, 0, 0, 0, 0, 40, 16, 2, 220, 28, 21, 0, 0, 0, 0, 165, 162, 0, 0, 2, 221, 28, 0, 28, 0, 0, 0, - 0, 44, 129, 2, 0, 2, 222, 28, 0, 16, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 223, 28, 32, 16, 0, 20, - 0, 0, 0, 0, 32, 2, 213, 28, 21, 0, 0, 0, 0, 199, 53, 0, 0, 2, 214, 28, 0, 21, 0, 0, 0, 0, 140, - 55, 0, 0, 2, 215, 28, 8, 21, 0, 0, 0, 0, 140, 55, 0, 0, 2, 216, 28, 16, 21, 0, 0, 0, 0, 29, 75, - 0, 0, 2, 217, 28, 24, 0, 9, 111, 129, 2, 0, 20, 0, 0, 0, 0, 8, 2, 130, 30, 21, 0, 0, 0, 0, 225, - 48, 0, 0, 2, 131, 30, 0, 21, 0, 0, 0, 0, 5, 49, 0, 0, 2, 132, 30, 2, 21, 0, 0, 0, 0, 5, 49, 0, - 0, 2, 133, 30, 3, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 134, 30, 4, 0, 9, 6, 110, 2, 0, 9, 183, 129, - 2, 0, 13, 168, 0, 0, 0, 14, 124, 105, 2, 0, 14, 75, 84, 2, 0, 0, 3, 75, 84, 2, 0, 4, 82, 0, 0, - 0, 2, 0, 9, 216, 129, 2, 0, 32, 14, 245, 80, 2, 0, 0, 9, 228, 129, 2, 0, 13, 168, 0, 0, 0, 14, - 75, 84, 2, 0, 0, 9, 244, 129, 2, 0, 32, 14, 75, 84, 2, 0, 14, 104, 93, 0, 0, 0, 9, 5, 130, 2, - 0, 13, 168, 0, 0, 0, 14, 75, 84, 2, 0, 14, 168, 0, 0, 0, 0, 9, 26, 130, 2, 0, 32, 14, 75, 84, - 2, 0, 14, 168, 0, 0, 0, 0, 9, 43, 130, 2, 0, 32, 14, 245, 80, 2, 0, 14, 11, 1, 0, 0, 0, 9, 60, - 130, 2, 0, 13, 168, 0, 0, 0, 14, 245, 80, 2, 0, 0, 9, 76, 130, 2, 0, 32, 14, 134, 79, 2, 0, 14, - 219, 52, 0, 0, 0, 9, 93, 130, 2, 0, 32, 14, 134, 79, 2, 0, 14, 134, 79, 2, 0, 0, 9, 110, 130, - 2, 0, 13, 255, 0, 0, 0, 14, 75, 84, 2, 0, 14, 31, 48, 1, 0, 14, 168, 0, 0, 0, 14, 219, 52, 0, - 0, 0, 9, 141, 130, 2, 0, 13, 248, 0, 0, 0, 14, 75, 84, 2, 0, 14, 162, 130, 2, 0, 14, 127, 29, - 0, 0, 0, 9, 167, 130, 2, 0, 20, 0, 0, 0, 0, 56, 2, 61, 30, 21, 0, 0, 0, 0, 75, 84, 2, 0, 2, 62, - 30, 0, 21, 0, 0, 0, 0, 151, 95, 2, 0, 2, 63, 30, 8, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 64, 30, - 16, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 65, 30, 24, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 66, 30, 32, - 22, 250, 130, 2, 0, 2, 67, 30, 40, 23, 8, 2, 67, 30, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 68, 30, - 0, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 69, 30, 0, 0, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 71, 30, 48, - 0, 9, 45, 131, 2, 0, 13, 168, 0, 0, 0, 14, 4, 29, 0, 0, 0, 9, 61, 131, 2, 0, 13, 168, 0, 0, 0, - 14, 75, 84, 2, 0, 14, 136, 68, 0, 0, 0, 20, 0, 0, 0, 0, 16, 2, 36, 23, 21, 0, 0, 0, 0, 220, 96, - 0, 0, 2, 37, 23, 0, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 38, 23, 8, 0, 9, 118, 131, 2, 0, 20, 0, - 0, 0, 0, 64, 2, 85, 119, 21, 0, 0, 0, 0, 141, 64, 0, 0, 2, 86, 119, 0, 21, 0, 0, 0, 0, 248, 68, - 0, 0, 2, 87, 119, 4, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 88, 119, 8, 21, 0, 0, 0, 0, 45, 77, 1, 0, - 2, 89, 119, 12, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 90, 119, 16, 21, 0, 0, 0, 0, 65, 29, 0, 0, 2, - 91, 119, 24, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 92, 119, 40, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, - 93, 119, 48, 21, 0, 0, 0, 0, 75, 110, 0, 0, 2, 94, 119, 56, 21, 0, 0, 0, 0, 102, 213, 0, 0, 2, - 95, 119, 64, 0, 9, 7, 132, 2, 0, 20, 0, 0, 0, 0, 32, 2, 167, 10, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, - 168, 10, 0, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 169, 10, 4, 21, 0, 0, 0, 0, 55, 132, 2, 0, 2, 173, - 10, 8, 23, 8, 2, 170, 10, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 171, 10, 0, 21, 0, 0, 0, 0, 197, 0, - 0, 0, 2, 172, 10, 0, 0, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 174, 10, 16, 0, 20, 0, 0, 0, 0, 48, 2, - 154, 2, 21, 0, 0, 0, 0, 150, 132, 2, 0, 2, 155, 2, 0, 21, 0, 0, 0, 0, 219, 52, 0, 0, 2, 156, 2, - 40, 21, 0, 0, 0, 0, 219, 52, 0, 0, 2, 157, 2, 41, 0, 20, 0, 0, 0, 0, 40, 2, 150, 2, 21, 0, 0, - 0, 0, 212, 170, 0, 0, 2, 151, 2, 0, 0, 9, 178, 132, 2, 0, 20, 0, 0, 0, 0, 80, 2, 71, 23, 21, 0, - 0, 0, 0, 231, 97, 0, 0, 2, 72, 23, 0, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 73, 23, 4, 21, 0, 0, 0, - 0, 136, 68, 0, 0, 2, 74, 23, 8, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 75, 23, 16, 21, 0, 0, 0, 0, - 136, 68, 0, 0, 2, 76, 23, 24, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 77, 23, 32, 21, 0, 0, 0, 0, - 125, 68, 0, 0, 2, 78, 23, 36, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 79, 23, 40, 21, 0, 0, 0, 0, - 136, 68, 0, 0, 2, 80, 23, 48, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 81, 23, 56, 21, 0, 0, 0, 0, - 136, 68, 0, 0, 2, 82, 23, 64, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 83, 23, 72, 21, 0, 0, 0, 0, - 125, 68, 0, 0, 2, 84, 23, 76, 0, 3, 113, 133, 2, 0, 4, 82, 0, 0, 0, 32, 0, 20, 0, 0, 0, 0, 120, - 2, 166, 2, 21, 0, 0, 0, 0, 175, 133, 2, 0, 2, 167, 2, 0, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 168, - 2, 96, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 169, 2, 104, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 170, 2, - 112, 0, 3, 127, 29, 0, 0, 4, 82, 0, 0, 0, 12, 0, 9, 192, 133, 2, 0, 20, 0, 0, 0, 0, 40, 2, 87, - 23, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 88, 23, 0, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 89, 23, 8, - 21, 0, 0, 0, 0, 208, 0, 0, 0, 2, 90, 23, 16, 21, 0, 0, 0, 0, 208, 0, 0, 0, 2, 91, 23, 24, 21, - 0, 0, 0, 0, 75, 110, 0, 0, 2, 92, 23, 32, 0, 9, 16, 134, 2, 0, 20, 0, 0, 0, 0, 64, 2, 6, 8, 21, - 0, 0, 0, 0, 188, 134, 2, 0, 2, 7, 8, 0, 22, 47, 134, 2, 0, 2, 8, 8, 8, 23, 24, 2, 8, 8, 22, 61, - 134, 2, 0, 2, 9, 8, 0, 24, 24, 2, 9, 8, 21, 0, 0, 0, 0, 226, 134, 2, 0, 2, 10, 8, 0, 21, 0, 0, - 0, 0, 127, 29, 0, 0, 2, 11, 8, 16, 0, 22, 102, 134, 2, 0, 2, 13, 8, 0, 24, 24, 2, 13, 8, 21, 0, - 0, 0, 0, 65, 29, 0, 0, 2, 14, 8, 0, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 15, 8, 16, 0, 0, 21, 0, - 0, 0, 0, 19, 135, 2, 0, 2, 18, 8, 32, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 19, 8, 40, 21, 0, 0, 0, - 0, 212, 137, 2, 0, 2, 20, 8, 48, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 21, 8, 56, 0, 17, 11, 1, 0, 0, - 0, 0, 0, 0, 4, 2, 251, 7, 18, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 1, 18, 0, 0, 0, 0, 2, 18, 0, 0, 0, - 0, 3, 0, 20, 0, 0, 0, 0, 16, 2, 245, 7, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 246, 7, 0, 21, 0, 0, - 0, 0, 11, 1, 0, 0, 2, 247, 7, 8, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 248, 7, 12, 0, 9, 24, 135, 2, - 0, 20, 0, 0, 0, 0, 200, 2, 79, 173, 21, 0, 0, 0, 0, 86, 40, 0, 0, 2, 80, 173, 0, 21, 0, 0, 0, - 0, 141, 64, 0, 0, 2, 81, 173, 24, 21, 0, 0, 0, 0, 133, 97, 0, 0, 2, 82, 173, 32, 21, 0, 0, 0, - 0, 133, 97, 0, 0, 2, 83, 173, 72, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 84, 173, 112, 21, 0, 0, 0, - 0, 177, 135, 2, 0, 2, 85, 173, 128, 21, 0, 0, 0, 0, 101, 60, 0, 0, 2, 86, 173, 136, 21, 0, 0, - 0, 0, 29, 75, 0, 0, 2, 87, 173, 144, 21, 0, 0, 0, 0, 29, 75, 0, 0, 2, 88, 173, 152, 21, 0, 0, - 0, 0, 127, 29, 0, 0, 2, 89, 173, 160, 21, 0, 0, 0, 0, 93, 136, 2, 0, 2, 90, 173, 168, 0, 9, - 182, 135, 2, 0, 20, 0, 0, 0, 0, 32, 2, 50, 155, 21, 0, 0, 0, 0, 244, 135, 2, 0, 2, 51, 155, 0, - 21, 0, 0, 0, 0, 9, 136, 2, 0, 2, 52, 155, 8, 21, 0, 0, 0, 0, 35, 136, 2, 0, 2, 53, 155, 16, 21, - 0, 0, 0, 0, 177, 135, 2, 0, 2, 54, 155, 24, 0, 9, 249, 135, 2, 0, 13, 168, 0, 0, 0, 14, 177, - 135, 2, 0, 14, 92, 104, 2, 0, 0, 9, 14, 136, 2, 0, 13, 168, 0, 0, 0, 14, 177, 135, 2, 0, 14, - 127, 29, 0, 0, 14, 92, 104, 2, 0, 0, 9, 40, 136, 2, 0, 13, 219, 52, 0, 0, 14, 177, 135, 2, 0, - 14, 61, 136, 2, 0, 14, 104, 93, 0, 0, 0, 17, 11, 1, 0, 0, 0, 0, 0, 0, 4, 2, 44, 155, 18, 0, 0, - 0, 0, 0, 18, 0, 0, 0, 0, 1, 18, 0, 0, 0, 0, 2, 0, 20, 0, 0, 0, 0, 32, 2, 157, 107, 22, 111, - 136, 2, 0, 2, 158, 107, 0, 23, 16, 2, 158, 107, 21, 0, 0, 0, 0, 64, 137, 2, 0, 2, 159, 107, 0, - 21, 0, 0, 0, 0, 64, 137, 2, 0, 2, 160, 107, 0, 0, 21, 0, 0, 0, 0, 76, 137, 2, 0, 2, 162, 107, - 16, 22, 165, 136, 2, 0, 2, 163, 107, 24, 23, 8, 2, 163, 107, 21, 0, 0, 0, 0, 183, 136, 2, 0, 2, - 168, 107, 0, 24, 8, 2, 164, 107, 21, 0, 0, 0, 0, 101, 103, 0, 0, 2, 165, 107, 0, 21, 0, 0, 0, - 0, 118, 55, 0, 0, 2, 166, 107, 4, 21, 0, 0, 0, 0, 118, 55, 0, 0, 2, 167, 107, 5, 0, 21, 0, 0, - 0, 0, 241, 136, 2, 0, 2, 172, 107, 0, 24, 2, 2, 169, 107, 21, 0, 0, 0, 0, 118, 55, 0, 0, 2, - 170, 107, 0, 21, 0, 0, 0, 0, 118, 55, 0, 0, 2, 171, 107, 1, 0, 21, 0, 0, 0, 0, 30, 137, 2, 0, - 2, 176, 107, 0, 24, 2, 2, 173, 107, 21, 0, 0, 0, 0, 118, 55, 0, 0, 2, 174, 107, 0, 21, 0, 0, 0, - 0, 118, 55, 0, 0, 2, 175, 107, 1, 0, 0, 0, 3, 118, 55, 0, 0, 4, 82, 0, 0, 0, 16, 0, 9, 81, 137, - 2, 0, 26, 86, 137, 2, 0, 20, 0, 0, 0, 0, 32, 2, 180, 107, 21, 0, 0, 0, 0, 148, 137, 2, 0, 2, - 181, 107, 0, 21, 0, 0, 0, 0, 174, 137, 2, 0, 2, 182, 107, 8, 21, 0, 0, 0, 0, 174, 137, 2, 0, 2, - 183, 107, 16, 21, 0, 0, 0, 0, 195, 137, 2, 0, 2, 184, 107, 24, 0, 9, 153, 137, 2, 0, 13, 219, - 52, 0, 0, 14, 169, 137, 2, 0, 14, 92, 104, 2, 0, 0, 9, 93, 136, 2, 0, 9, 179, 137, 2, 0, 13, - 168, 0, 0, 0, 14, 169, 137, 2, 0, 14, 92, 104, 2, 0, 0, 9, 200, 137, 2, 0, 32, 14, 169, 137, 2, - 0, 14, 92, 104, 2, 0, 0, 9, 217, 137, 2, 0, 20, 0, 0, 0, 0, 48, 2, 24, 8, 21, 0, 0, 0, 0, 19, - 135, 2, 0, 2, 25, 8, 0, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 26, 8, 8, 21, 0, 0, 0, 0, 127, 29, 0, - 0, 2, 27, 8, 16, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 28, 8, 24, 21, 0, 0, 0, 0, 219, 52, 0, 0, 2, - 29, 8, 32, 21, 0, 0, 0, 0, 212, 137, 2, 0, 2, 30, 8, 40, 0, 46, 0, 0, 0, 0, 0, 2, 173, 2, 9, - 63, 138, 2, 0, 20, 0, 0, 0, 0, 64, 2, 187, 7, 21, 0, 0, 0, 0, 58, 138, 2, 0, 2, 188, 7, 0, 21, - 0, 0, 0, 0, 255, 0, 0, 0, 2, 189, 7, 8, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 190, 7, 16, 21, 0, 0, - 0, 0, 127, 29, 0, 0, 2, 191, 7, 24, 21, 0, 0, 0, 0, 70, 110, 0, 0, 2, 192, 7, 32, 21, 0, 0, 0, - 0, 11, 1, 0, 0, 2, 193, 7, 40, 21, 0, 0, 0, 0, 3, 186, 0, 0, 2, 194, 7, 48, 21, 0, 0, 0, 0, 56, - 1, 0, 0, 2, 195, 7, 56, 0, 9, 182, 138, 2, 0, 46, 0, 0, 0, 0, 0, 2, 66, 24, 27, 0, 0, 0, 0, 0, - 17, 2, 36, 3, 21, 0, 0, 0, 0, 212, 139, 2, 0, 2, 37, 3, 0, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, - 38, 3, 24, 21, 0, 0, 0, 0, 225, 48, 0, 0, 2, 39, 3, 32, 21, 0, 0, 0, 0, 225, 48, 0, 0, 2, 40, - 3, 34, 21, 0, 0, 0, 0, 225, 48, 0, 0, 2, 41, 3, 36, 21, 0, 0, 0, 0, 225, 48, 0, 0, 2, 42, 3, - 38, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 43, 3, 40, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 44, 3, 48, - 21, 0, 0, 0, 0, 180, 140, 2, 0, 2, 45, 3, 56, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 46, 3, 88, 21, - 0, 0, 0, 0, 127, 29, 0, 0, 2, 47, 3, 96, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 48, 3, 104, 21, 0, - 0, 0, 0, 127, 29, 0, 0, 2, 49, 3, 112, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 50, 3, 120, 21, 0, 0, - 0, 0, 192, 140, 2, 0, 2, 51, 3, 128, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 52, 3, 136, 34, 0, 0, 0, - 0, 11, 1, 0, 0, 2, 53, 3, 4, 1, 31, 144, 34, 0, 0, 0, 0, 11, 1, 0, 0, 2, 54, 3, 4, 1, 30, 144, - 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 55, 3, 148, 21, 0, 0, 0, 0, 17, 141, 2, 0, 2, 61, 3, 192, 0, - 3, 224, 139, 2, 0, 4, 82, 0, 0, 0, 3, 0, 20, 0, 0, 0, 0, 8, 2, 179, 2, 21, 0, 0, 0, 0, 177, 69, - 0, 0, 2, 180, 2, 0, 21, 0, 0, 0, 0, 177, 69, 0, 0, 2, 181, 2, 2, 34, 0, 0, 0, 0, 177, 69, 0, 0, - 2, 182, 2, 2, 8, 8, 4, 34, 0, 0, 0, 0, 177, 69, 0, 0, 2, 183, 2, 2, 4, 4, 4, 34, 0, 0, 0, 0, - 177, 69, 0, 0, 2, 184, 2, 2, 1, 3, 4, 34, 0, 0, 0, 0, 177, 69, 0, 0, 2, 185, 2, 2, 2, 1, 4, 34, - 0, 0, 0, 0, 177, 69, 0, 0, 2, 186, 2, 2, 1, 0, 4, 34, 0, 0, 0, 0, 177, 69, 0, 0, 2, 187, 2, 2, - 4, 12, 6, 34, 0, 0, 0, 0, 177, 69, 0, 0, 2, 188, 2, 2, 1, 11, 6, 34, 0, 0, 0, 0, 177, 69, 0, 0, - 2, 189, 2, 2, 1, 10, 6, 34, 0, 0, 0, 0, 177, 69, 0, 0, 2, 190, 2, 2, 1, 9, 6, 34, 0, 0, 0, 0, - 177, 69, 0, 0, 2, 191, 2, 2, 1, 8, 6, 34, 0, 0, 0, 0, 177, 69, 0, 0, 2, 192, 2, 2, 8, 0, 6, 0, - 3, 75, 84, 2, 0, 4, 82, 0, 0, 0, 4, 0, 9, 197, 140, 2, 0, 27, 0, 0, 0, 0, 16, 32, 2, 216, 56, - 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 217, 56, 0, 21, 0, 0, 0, 0, 141, 64, 0, 0, 2, 218, 56, 8, 21, - 0, 0, 0, 0, 11, 1, 0, 0, 2, 219, 56, 12, 21, 0, 0, 0, 0, 4, 141, 2, 0, 2, 220, 56, 16, 0, 3, - 127, 29, 0, 0, 39, 82, 0, 0, 0, 0, 4, 0, 27, 0, 0, 0, 0, 64, 16, 2, 20, 3, 21, 0, 0, 0, 0, 11, - 1, 0, 0, 2, 21, 3, 0, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 22, 3, 8, 21, 0, 0, 0, 0, 67, 141, 2, - 0, 2, 29, 3, 64, 0, 62, 0, 0, 0, 0, 0, 16, 2, 12, 3, 21, 0, 0, 0, 0, 143, 141, 2, 0, 2, 13, 3, - 0, 21, 0, 0, 0, 0, 26, 142, 2, 0, 2, 14, 3, 0, 21, 0, 0, 0, 0, 100, 143, 2, 0, 2, 15, 3, 0, 21, - 0, 0, 0, 0, 103, 144, 2, 0, 2, 16, 3, 0, 21, 0, 0, 0, 0, 204, 144, 2, 0, 2, 17, 3, 0, 0, 20, 0, - 0, 0, 0, 112, 2, 195, 2, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 196, 2, 0, 21, 0, 0, 0, 0, 125, 68, - 0, 0, 2, 197, 2, 4, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 198, 2, 8, 21, 0, 0, 0, 0, 125, 68, 0, 0, - 2, 199, 2, 12, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 200, 2, 16, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, - 201, 2, 20, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 202, 2, 24, 21, 0, 0, 0, 0, 14, 142, 2, 0, 2, - 203, 2, 28, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 204, 2, 108, 0, 3, 125, 68, 0, 0, 4, 82, 0, 0, 0, - 20, 0, 27, 0, 0, 0, 0, 0, 2, 2, 207, 2, 21, 0, 0, 0, 0, 177, 69, 0, 0, 2, 208, 2, 0, 21, 0, 0, - 0, 0, 177, 69, 0, 0, 2, 209, 2, 2, 21, 0, 0, 0, 0, 177, 69, 0, 0, 2, 210, 2, 4, 21, 0, 0, 0, 0, - 177, 69, 0, 0, 2, 211, 2, 6, 22, 97, 142, 2, 0, 2, 212, 2, 8, 23, 16, 2, 212, 2, 22, 111, 142, - 2, 0, 2, 213, 2, 0, 24, 16, 2, 213, 2, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 214, 2, 0, 21, 0, 0, - 0, 0, 136, 68, 0, 0, 2, 215, 2, 8, 0, 22, 152, 142, 2, 0, 2, 217, 2, 0, 24, 16, 2, 217, 2, 21, - 0, 0, 0, 0, 125, 68, 0, 0, 2, 218, 2, 0, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 219, 2, 4, 21, 0, 0, - 0, 0, 125, 68, 0, 0, 2, 220, 2, 8, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 221, 2, 12, 0, 0, 21, 0, - 0, 0, 0, 125, 68, 0, 0, 2, 224, 2, 24, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 225, 2, 28, 21, 0, 0, - 0, 0, 64, 143, 2, 0, 2, 226, 2, 32, 21, 0, 0, 0, 0, 76, 143, 2, 0, 2, 227, 2, 160, 28, 0, 0, 0, - 0, 88, 143, 2, 0, 2, 228, 2, 160, 1, 30, 31, 143, 2, 0, 2, 229, 2, 208, 1, 23, 48, 2, 229, 2, - 21, 0, 0, 0, 0, 88, 143, 2, 0, 2, 230, 2, 0, 21, 0, 0, 0, 0, 88, 143, 2, 0, 2, 231, 2, 0, 0, 0, - 3, 125, 68, 0, 0, 4, 82, 0, 0, 0, 32, 0, 3, 125, 68, 0, 0, 4, 82, 0, 0, 0, 64, 0, 3, 125, 68, - 0, 0, 4, 82, 0, 0, 0, 12, 0, 20, 0, 0, 0, 0, 136, 2, 237, 2, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, - 238, 2, 0, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 239, 2, 4, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 240, - 2, 8, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 241, 2, 12, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 242, 2, - 16, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 243, 2, 20, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 244, 2, 24, - 21, 0, 0, 0, 0, 14, 142, 2, 0, 2, 245, 2, 28, 21, 0, 0, 0, 0, 118, 55, 0, 0, 2, 246, 2, 108, - 21, 0, 0, 0, 0, 118, 55, 0, 0, 2, 247, 2, 109, 21, 0, 0, 0, 0, 118, 55, 0, 0, 2, 248, 2, 110, - 21, 0, 0, 0, 0, 118, 55, 0, 0, 2, 249, 2, 111, 21, 0, 0, 0, 0, 118, 55, 0, 0, 2, 250, 2, 112, - 21, 0, 0, 0, 0, 118, 55, 0, 0, 2, 251, 2, 113, 21, 0, 0, 0, 0, 62, 144, 2, 0, 2, 252, 2, 120, - 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 253, 2, 128, 0, 9, 67, 144, 2, 0, 20, 0, 0, 0, 0, 16, 2, 156, - 7, 21, 0, 0, 0, 0, 248, 0, 0, 0, 2, 157, 7, 0, 21, 0, 0, 0, 0, 92, 104, 2, 0, 2, 158, 7, 8, 0, - 27, 0, 0, 0, 0, 64, 2, 2, 6, 3, 21, 0, 0, 0, 0, 26, 142, 2, 0, 2, 7, 3, 0, 28, 0, 0, 0, 0, 155, - 144, 2, 0, 2, 8, 3, 0, 2, 28, 0, 0, 0, 0, 227, 16, 1, 0, 2, 9, 3, 64, 2, 0, 20, 0, 0, 0, 0, 64, - 2, 0, 3, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 1, 3, 0, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 2, 3, 8, - 21, 0, 0, 0, 0, 135, 165, 0, 0, 2, 3, 3, 16, 0, 3, 118, 55, 0, 0, 39, 82, 0, 0, 0, 0, 16, 0, 9, - 222, 144, 2, 0, 32, 14, 125, 120, 0, 0, 0, 9, 234, 144, 2, 0, 13, 168, 0, 0, 0, 14, 250, 144, - 2, 0, 14, 125, 120, 0, 0, 0, 9, 255, 144, 2, 0, 20, 0, 0, 0, 0, 32, 2, 46, 29, 21, 0, 0, 0, 0, - 11, 1, 0, 0, 2, 47, 29, 0, 21, 0, 0, 0, 0, 194, 116, 1, 0, 2, 48, 29, 8, 21, 0, 0, 0, 0, 84, - 84, 1, 0, 2, 49, 29, 16, 21, 0, 0, 0, 0, 103, 110, 0, 0, 2, 50, 29, 24, 0, 9, 66, 145, 2, 0, - 13, 3, 118, 0, 0, 14, 125, 120, 0, 0, 0, 9, 82, 145, 2, 0, 13, 125, 120, 0, 0, 14, 125, 120, 0, - 0, 0, 3, 248, 0, 0, 0, 4, 82, 0, 0, 0, 16, 0, 9, 110, 145, 2, 0, 20, 0, 0, 0, 0, 8, 2, 72, 13, - 21, 0, 0, 0, 0, 176, 64, 0, 0, 2, 73, 13, 0, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 74, 13, 4, 21, 0, - 0, 0, 0, 159, 145, 2, 0, 2, 75, 13, 8, 0, 3, 21, 64, 0, 0, 4, 82, 0, 0, 0, 0, 0, 9, 176, 145, - 2, 0, 13, 168, 0, 0, 0, 14, 69, 80, 0, 0, 0, 9, 192, 145, 2, 0, 13, 168, 0, 0, 0, 14, 203, 145, - 2, 0, 0, 9, 208, 145, 2, 0, 20, 0, 0, 0, 0, 64, 2, 177, 26, 21, 0, 0, 0, 0, 66, 146, 2, 0, 2, - 178, 26, 0, 21, 0, 0, 0, 0, 92, 104, 2, 0, 2, 179, 26, 8, 21, 0, 0, 0, 0, 69, 80, 0, 0, 2, 180, - 26, 16, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 181, 26, 24, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 182, - 26, 32, 21, 0, 0, 0, 0, 29, 75, 0, 0, 2, 183, 26, 40, 21, 0, 0, 0, 0, 29, 75, 0, 0, 2, 184, 26, - 48, 21, 0, 0, 0, 0, 29, 75, 0, 0, 2, 185, 26, 56, 0, 9, 71, 146, 2, 0, 26, 176, 74, 2, 0, 33, - 88, 146, 2, 0, 0, 0, 0, 0, 2, 10, 7, 24, 128, 2, 254, 6, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 255, - 6, 0, 21, 0, 0, 0, 0, 83, 97, 0, 0, 2, 0, 7, 8, 21, 0, 0, 0, 0, 133, 97, 0, 0, 2, 1, 7, 16, 21, - 0, 0, 0, 0, 237, 146, 2, 0, 2, 2, 7, 56, 21, 0, 0, 0, 0, 225, 48, 0, 0, 2, 3, 7, 64, 21, 0, 0, - 0, 0, 241, 106, 0, 0, 2, 4, 7, 72, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 5, 7, 104, 21, 0, 0, 0, 0, - 40, 147, 2, 0, 2, 6, 7, 112, 21, 0, 0, 0, 0, 176, 64, 0, 0, 2, 7, 7, 120, 21, 0, 0, 0, 0, 177, - 69, 0, 0, 2, 8, 7, 124, 21, 0, 0, 0, 0, 154, 153, 1, 0, 2, 9, 7, 126, 0, 9, 242, 146, 2, 0, 20, - 0, 0, 0, 0, 16, 2, 145, 18, 21, 0, 0, 0, 0, 35, 147, 2, 0, 2, 146, 18, 0, 21, 0, 0, 0, 0, 11, - 1, 0, 0, 2, 147, 18, 8, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 148, 18, 12, 0, 9, 224, 139, 2, 0, 9, - 45, 147, 2, 0, 26, 50, 147, 2, 0, 20, 0, 0, 0, 0, 152, 2, 33, 8, 21, 0, 0, 0, 0, 255, 0, 0, 0, - 2, 34, 8, 0, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 35, 8, 8, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 36, - 8, 16, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 37, 8, 24, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 38, 8, - 32, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 39, 8, 40, 21, 0, 0, 0, 0, 56, 1, 0, 0, 2, 40, 8, 48, 21, - 0, 0, 0, 0, 248, 0, 0, 0, 2, 41, 8, 56, 21, 0, 0, 0, 0, 248, 0, 0, 0, 2, 42, 8, 64, 21, 0, 0, - 0, 0, 248, 0, 0, 0, 2, 43, 8, 72, 21, 0, 0, 0, 0, 248, 0, 0, 0, 2, 44, 8, 80, 21, 0, 0, 0, 0, - 248, 0, 0, 0, 2, 45, 8, 88, 21, 0, 0, 0, 0, 248, 0, 0, 0, 2, 46, 8, 96, 21, 0, 0, 0, 0, 248, 0, - 0, 0, 2, 47, 8, 104, 21, 0, 0, 0, 0, 248, 0, 0, 0, 2, 48, 8, 112, 21, 0, 0, 0, 0, 248, 0, 0, 0, - 2, 49, 8, 120, 21, 0, 0, 0, 0, 248, 0, 0, 0, 2, 50, 8, 128, 21, 0, 0, 0, 0, 248, 0, 0, 0, 2, - 51, 8, 136, 21, 0, 0, 0, 0, 248, 0, 0, 0, 2, 52, 8, 144, 0, 9, 56, 148, 2, 0, 20, 0, 0, 0, 0, - 56, 2, 228, 8, 21, 0, 0, 0, 0, 176, 64, 0, 0, 2, 229, 8, 0, 21, 0, 0, 0, 0, 105, 148, 2, 0, 2, - 230, 8, 8, 21, 0, 0, 0, 0, 43, 167, 0, 0, 2, 231, 8, 24, 0, 20, 0, 0, 0, 0, 16, 2, 223, 8, 21, - 0, 0, 0, 0, 130, 120, 0, 0, 2, 224, 8, 0, 21, 0, 0, 0, 0, 141, 148, 2, 0, 2, 225, 8, 8, 0, 9, - 105, 148, 2, 0, 9, 151, 148, 2, 0, 20, 0, 0, 0, 0, 24, 2, 3, 193, 21, 0, 0, 0, 0, 65, 29, 0, 0, - 2, 4, 193, 0, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 5, 193, 16, 21, 0, 0, 0, 0, 200, 148, 2, 0, 2, 6, - 193, 24, 0, 3, 212, 148, 2, 0, 4, 82, 0, 0, 0, 0, 0, 9, 217, 148, 2, 0, 27, 0, 0, 0, 0, 64, 2, - 2, 64, 193, 21, 0, 0, 0, 0, 153, 0, 1, 0, 2, 65, 193, 0, 21, 0, 0, 0, 0, 176, 64, 0, 0, 2, 66, - 193, 16, 21, 0, 0, 0, 0, 153, 0, 1, 0, 2, 67, 193, 24, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 68, - 193, 40, 21, 0, 0, 0, 0, 107, 150, 2, 0, 2, 69, 193, 48, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 70, - 193, 56, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 71, 193, 60, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 72, 193, - 64, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 73, 193, 72, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 74, 193, - 80, 21, 0, 0, 0, 0, 70, 110, 0, 0, 2, 75, 193, 88, 21, 0, 0, 0, 0, 248, 0, 0, 0, 2, 76, 193, - 96, 21, 0, 0, 0, 0, 184, 55, 1, 0, 2, 77, 193, 104, 21, 0, 0, 0, 0, 135, 150, 2, 0, 2, 78, 193, - 160, 22, 162, 149, 2, 0, 2, 82, 193, 192, 24, 64, 2, 82, 193, 21, 0, 0, 0, 0, 176, 64, 0, 0, 2, - 83, 193, 0, 0, 30, 191, 149, 2, 0, 2, 93, 193, 0, 1, 24, 64, 2, 93, 193, 21, 0, 0, 0, 0, 248, - 68, 0, 0, 2, 94, 193, 0, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 95, 193, 8, 0, 30, 233, 149, 2, 0, - 2, 102, 193, 64, 1, 24, 64, 2, 102, 193, 21, 0, 0, 0, 0, 241, 106, 0, 0, 2, 103, 193, 0, 21, 0, - 0, 0, 0, 47, 107, 0, 0, 2, 104, 193, 32, 0, 30, 19, 150, 2, 0, 2, 107, 193, 128, 1, 24, 64, 2, - 107, 193, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 108, 193, 0, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 109, - 193, 4, 21, 0, 0, 0, 0, 248, 68, 0, 0, 2, 110, 193, 8, 0, 28, 0, 0, 0, 0, 176, 150, 2, 0, 2, - 119, 193, 192, 1, 28, 0, 0, 0, 0, 69, 80, 0, 0, 2, 120, 193, 0, 2, 28, 0, 0, 0, 0, 11, 1, 0, 0, - 2, 121, 193, 8, 2, 0, 9, 112, 150, 2, 0, 20, 0, 0, 0, 0, 4, 2, 131, 193, 21, 0, 0, 0, 0, 11, 1, - 0, 0, 2, 132, 193, 0, 0, 9, 140, 150, 2, 0, 20, 0, 0, 0, 0, 40, 2, 135, 193, 21, 0, 0, 0, 0, - 43, 167, 0, 0, 2, 136, 193, 0, 21, 0, 0, 0, 0, 176, 64, 0, 0, 2, 137, 193, 32, 0, 3, 68, 56, 0, - 0, 4, 82, 0, 0, 0, 8, 0, 9, 193, 150, 2, 0, 20, 0, 0, 0, 0, 80, 2, 48, 182, 21, 0, 0, 0, 0, - 190, 103, 0, 0, 2, 49, 182, 0, 21, 0, 0, 0, 0, 219, 52, 0, 0, 2, 50, 182, 8, 21, 0, 0, 0, 0, - 248, 68, 0, 0, 2, 51, 182, 12, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 52, 182, 16, 21, 0, 0, 0, 0, - 127, 29, 0, 0, 2, 53, 182, 24, 21, 0, 0, 0, 0, 63, 144, 0, 0, 2, 54, 182, 32, 21, 0, 0, 0, 0, - 47, 107, 0, 0, 2, 55, 182, 48, 21, 0, 0, 0, 0, 190, 103, 0, 0, 2, 56, 182, 72, 0, 20, 0, 0, 0, - 0, 8, 2, 14, 7, 21, 0, 0, 0, 0, 74, 151, 2, 0, 2, 15, 7, 0, 0, 9, 79, 151, 2, 0, 20, 0, 0, 0, - 0, 96, 2, 93, 173, 21, 0, 0, 0, 0, 47, 107, 0, 0, 2, 94, 173, 0, 21, 0, 0, 0, 0, 176, 64, 0, 0, - 2, 95, 173, 24, 21, 0, 0, 0, 0, 75, 110, 0, 0, 2, 96, 173, 32, 21, 0, 0, 0, 0, 167, 151, 2, 0, - 2, 97, 173, 40, 21, 0, 0, 0, 0, 30, 152, 2, 0, 2, 98, 173, 72, 21, 0, 0, 0, 0, 127, 29, 0, 0, - 2, 99, 173, 88, 0, 20, 0, 0, 0, 0, 32, 2, 124, 58, 21, 0, 0, 0, 0, 14, 29, 0, 0, 2, 125, 58, 0, - 21, 0, 0, 0, 0, 70, 110, 0, 0, 2, 126, 58, 8, 21, 0, 0, 0, 0, 229, 151, 2, 0, 2, 127, 58, 16, - 21, 0, 0, 0, 0, 9, 152, 2, 0, 2, 128, 58, 24, 0, 9, 234, 151, 2, 0, 13, 237, 156, 0, 0, 14, - 255, 151, 2, 0, 14, 66, 92, 0, 0, 14, 249, 156, 0, 0, 0, 9, 4, 152, 2, 0, 26, 167, 151, 2, 0, - 9, 14, 152, 2, 0, 13, 168, 0, 0, 0, 14, 255, 151, 2, 0, 14, 66, 92, 0, 0, 0, 3, 68, 56, 0, 0, - 4, 82, 0, 0, 0, 2, 0, 33, 54, 152, 2, 0, 0, 0, 0, 0, 2, 23, 6, 20, 0, 0, 0, 0, 8, 2, 19, 6, 21, - 0, 0, 0, 0, 77, 152, 2, 0, 2, 20, 6, 0, 0, 33, 127, 29, 0, 0, 0, 0, 0, 0, 2, 13, 6, 9, 94, 152, - 2, 0, 20, 0, 0, 0, 0, 80, 2, 151, 18, 21, 0, 0, 0, 0, 89, 152, 2, 0, 2, 152, 18, 0, 21, 0, 0, - 0, 0, 133, 97, 0, 0, 2, 153, 18, 8, 21, 0, 0, 0, 0, 176, 64, 0, 0, 2, 154, 18, 48, 21, 0, 0, 0, - 0, 11, 1, 0, 0, 2, 155, 18, 52, 21, 0, 0, 0, 0, 89, 152, 2, 0, 2, 156, 18, 56, 21, 0, 0, 0, 0, - 63, 144, 0, 0, 2, 157, 18, 64, 0, 20, 0, 0, 0, 0, 8, 2, 108, 7, 21, 0, 0, 0, 0, 205, 152, 2, 0, - 2, 109, 7, 0, 0, 9, 210, 152, 2, 0, 20, 0, 0, 0, 0, 128, 2, 143, 192, 21, 0, 0, 0, 0, 47, 107, - 0, 0, 2, 144, 192, 0, 21, 0, 0, 0, 0, 47, 107, 0, 0, 2, 145, 192, 24, 21, 0, 0, 0, 0, 47, 107, - 0, 0, 2, 146, 192, 48, 21, 0, 0, 0, 0, 47, 107, 0, 0, 2, 147, 192, 72, 21, 0, 0, 0, 0, 173, 67, - 0, 0, 2, 148, 192, 96, 21, 0, 0, 0, 0, 141, 64, 0, 0, 2, 149, 192, 100, 21, 0, 0, 0, 0, 11, 1, - 0, 0, 2, 150, 192, 104, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 151, 192, 108, 21, 0, 0, 0, 0, 219, 52, - 0, 0, 2, 152, 192, 112, 21, 0, 0, 0, 0, 176, 64, 0, 0, 2, 153, 192, 116, 21, 0, 0, 0, 0, 104, - 93, 0, 0, 2, 154, 192, 120, 0, 9, 132, 91, 0, 0, 9, 117, 153, 2, 0, 13, 14, 200, 0, 0, 14, 123, - 88, 0, 0, 0, 9, 133, 153, 2, 0, 13, 56, 1, 0, 0, 14, 123, 88, 0, 0, 0, 9, 149, 153, 2, 0, 32, - 14, 123, 88, 0, 0, 14, 202, 200, 0, 0, 14, 207, 200, 0, 0, 0, 9, 171, 153, 2, 0, 20, 0, 0, 0, - 0, 48, 2, 236, 114, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 237, 114, 0, 21, 0, 0, 0, 0, 5, 91, 0, 0, - 2, 238, 114, 8, 21, 0, 0, 0, 0, 220, 153, 2, 0, 2, 239, 114, 48, 0, 3, 232, 153, 2, 0, 4, 82, - 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 64, 2, 231, 114, 21, 0, 0, 0, 0, 12, 154, 2, 0, 2, 232, 114, 0, - 21, 0, 0, 0, 0, 207, 154, 2, 0, 2, 233, 114, 56, 0, 20, 0, 0, 0, 0, 56, 2, 116, 21, 21, 0, 0, - 0, 0, 174, 90, 0, 0, 2, 117, 21, 0, 21, 0, 0, 0, 0, 100, 154, 2, 0, 2, 118, 21, 16, 21, 0, 0, - 0, 0, 131, 154, 2, 0, 2, 119, 21, 24, 21, 0, 0, 0, 0, 162, 154, 2, 0, 2, 120, 21, 32, 21, 0, 0, - 0, 0, 179, 154, 2, 0, 2, 121, 21, 40, 21, 0, 0, 0, 0, 195, 154, 2, 0, 2, 122, 21, 48, 0, 9, - 105, 154, 2, 0, 13, 136, 90, 0, 0, 14, 126, 154, 2, 0, 14, 240, 201, 0, 0, 14, 199, 53, 0, 0, - 0, 9, 12, 154, 2, 0, 9, 136, 154, 2, 0, 13, 136, 90, 0, 0, 14, 126, 154, 2, 0, 14, 240, 201, 0, - 0, 14, 14, 29, 0, 0, 14, 140, 55, 0, 0, 0, 9, 167, 154, 2, 0, 32, 14, 111, 83, 0, 0, 14, 14, - 29, 0, 0, 0, 9, 184, 154, 2, 0, 13, 168, 0, 0, 0, 14, 111, 83, 0, 0, 0, 9, 200, 154, 2, 0, 32, - 14, 111, 83, 0, 0, 0, 9, 212, 154, 2, 0, 26, 217, 154, 2, 0, 20, 0, 0, 0, 0, 40, 2, 197, 20, - 21, 0, 0, 0, 0, 14, 29, 0, 0, 2, 198, 20, 0, 21, 0, 0, 0, 0, 111, 83, 0, 0, 2, 199, 20, 8, 21, - 0, 0, 0, 0, 103, 155, 2, 0, 2, 200, 20, 16, 21, 0, 0, 0, 0, 217, 155, 2, 0, 2, 201, 20, 24, 21, - 0, 0, 0, 0, 71, 43, 1, 0, 2, 202, 20, 26, 21, 0, 0, 0, 0, 118, 55, 0, 0, 2, 203, 20, 27, 22, - 57, 155, 2, 0, 2, 204, 20, 32, 23, 8, 2, 204, 20, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 205, 20, 0, - 21, 0, 0, 0, 0, 222, 155, 2, 0, 2, 206, 20, 0, 21, 0, 0, 0, 0, 12, 156, 2, 0, 2, 207, 20, 0, 0, - 0, 9, 108, 155, 2, 0, 26, 113, 155, 2, 0, 20, 0, 0, 0, 0, 32, 2, 186, 20, 21, 0, 0, 0, 0, 11, - 1, 0, 0, 2, 187, 20, 0, 21, 0, 0, 0, 0, 175, 155, 2, 0, 2, 188, 20, 8, 21, 0, 0, 0, 0, 196, - 155, 2, 0, 2, 189, 20, 16, 21, 0, 0, 0, 0, 125, 141, 0, 0, 2, 190, 20, 24, 0, 9, 180, 155, 2, - 0, 13, 168, 0, 0, 0, 14, 14, 29, 0, 0, 14, 207, 154, 2, 0, 0, 9, 201, 155, 2, 0, 13, 168, 0, 0, - 0, 14, 199, 53, 0, 0, 14, 207, 154, 2, 0, 0, 26, 177, 69, 0, 0, 9, 227, 155, 2, 0, 26, 232, - 155, 2, 0, 20, 0, 0, 0, 0, 16, 2, 211, 20, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 212, 20, 0, 21, 0, - 0, 0, 0, 199, 53, 0, 0, 2, 213, 20, 8, 0, 9, 17, 156, 2, 0, 26, 22, 156, 2, 0, 20, 0, 0, 0, 0, - 32, 2, 216, 20, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 217, 20, 0, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, - 218, 20, 4, 21, 0, 0, 0, 0, 186, 215, 0, 0, 2, 219, 20, 8, 21, 0, 0, 0, 0, 103, 155, 2, 0, 2, - 220, 20, 16, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 221, 20, 24, 0, 9, 102, 156, 2, 0, 26, 107, 156, - 2, 0, 20, 0, 0, 0, 0, 12, 2, 243, 15, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 244, 15, 0, 21, 0, 0, 0, - 0, 168, 0, 0, 0, 2, 245, 15, 4, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 246, 15, 8, 0, 9, 161, 156, 2, - 0, 26, 101, 103, 0, 0, 9, 217, 154, 2, 0, 20, 0, 0, 0, 0, 80, 2, 250, 20, 21, 0, 0, 0, 0, 255, - 0, 0, 0, 2, 251, 20, 0, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 252, 20, 8, 21, 0, 0, 0, 0, 11, 1, 0, - 0, 2, 253, 20, 12, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 254, 20, 16, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, - 255, 20, 20, 21, 0, 0, 0, 0, 3, 157, 2, 0, 2, 0, 21, 24, 0, 20, 0, 0, 0, 0, 56, 2, 245, 20, 21, - 0, 0, 0, 0, 111, 83, 0, 0, 2, 246, 20, 0, 21, 0, 0, 0, 0, 118, 0, 1, 0, 2, 247, 20, 8, 0, 20, - 0, 0, 0, 0, 24, 2, 3, 21, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 4, 21, 0, 21, 0, 0, 0, 0, 214, 52, 0, - 0, 2, 5, 21, 8, 21, 0, 0, 0, 0, 88, 157, 2, 0, 2, 6, 21, 16, 0, 9, 93, 157, 2, 0, 20, 0, 0, 0, - 0, 6, 2, 82, 16, 21, 0, 0, 0, 0, 154, 153, 1, 0, 2, 83, 16, 0, 21, 0, 0, 0, 0, 154, 153, 1, 0, - 2, 84, 16, 2, 34, 0, 0, 0, 0, 11, 1, 0, 0, 2, 85, 16, 4, 4, 28, 4, 34, 0, 0, 0, 0, 11, 1, 0, 0, - 2, 86, 16, 4, 4, 24, 4, 34, 0, 0, 0, 0, 11, 1, 0, 0, 2, 87, 16, 4, 2, 22, 4, 34, 0, 0, 0, 0, - 11, 1, 0, 0, 2, 88, 16, 4, 1, 21, 4, 0, 9, 198, 157, 2, 0, 20, 0, 0, 0, 0, 12, 2, 91, 16, 21, - 0, 0, 0, 0, 168, 0, 0, 0, 2, 92, 16, 0, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 93, 16, 4, 21, 0, 0, - 0, 0, 225, 48, 0, 0, 2, 94, 16, 8, 21, 0, 0, 0, 0, 225, 48, 0, 0, 2, 95, 16, 10, 0, 9, 9, 158, - 2, 0, 20, 0, 0, 0, 0, 32, 2, 9, 21, 21, 0, 0, 0, 0, 71, 158, 2, 0, 2, 10, 21, 0, 21, 0, 0, 0, - 0, 11, 1, 0, 0, 2, 11, 21, 8, 21, 0, 0, 0, 0, 199, 53, 0, 0, 2, 12, 21, 16, 21, 0, 0, 0, 0, - 199, 53, 0, 0, 2, 13, 21, 24, 0, 9, 76, 158, 2, 0, 33, 88, 158, 2, 0, 0, 0, 0, 0, 2, 195, 19, - 20, 0, 0, 0, 0, 24, 2, 186, 19, 21, 0, 0, 0, 0, 176, 158, 2, 0, 2, 187, 19, 0, 21, 0, 0, 0, 0, - 5, 49, 0, 0, 2, 188, 19, 4, 21, 0, 0, 0, 0, 5, 49, 0, 0, 2, 189, 19, 5, 21, 0, 0, 0, 0, 188, - 158, 2, 0, 2, 190, 19, 6, 21, 0, 0, 0, 0, 200, 158, 2, 0, 2, 191, 19, 8, 21, 0, 0, 0, 0, 212, - 158, 2, 0, 2, 192, 19, 16, 0, 33, 0, 1, 0, 0, 0, 0, 0, 0, 2, 182, 19, 33, 214, 48, 0, 0, 0, 0, - 0, 0, 2, 180, 19, 33, 197, 0, 0, 0, 0, 0, 0, 0, 2, 178, 19, 33, 197, 0, 0, 0, 0, 0, 0, 0, 2, - 184, 19, 9, 229, 158, 2, 0, 20, 0, 0, 0, 0, 48, 2, 11, 136, 21, 0, 0, 0, 0, 5, 91, 0, 0, 2, 12, - 136, 0, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 13, 136, 40, 21, 0, 0, 0, 0, 22, 159, 2, 0, 2, 14, 136, - 48, 0, 3, 34, 159, 2, 0, 4, 82, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 72, 2, 6, 136, 21, 0, 0, 0, 0, - 137, 91, 0, 0, 2, 7, 136, 0, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 8, 136, 64, 0, 9, 75, 159, 2, 0, - 20, 0, 0, 0, 0, 16, 2, 17, 136, 21, 0, 0, 0, 0, 123, 88, 0, 0, 2, 18, 136, 0, 21, 0, 0, 0, 0, - 11, 1, 0, 0, 2, 19, 136, 8, 21, 0, 0, 0, 0, 124, 159, 2, 0, 2, 20, 136, 16, 0, 3, 137, 91, 0, - 0, 4, 82, 0, 0, 0, 0, 0, 9, 141, 159, 2, 0, 33, 3, 71, 2, 0, 0, 0, 0, 0, 2, 117, 16, 9, 65, 34, - 2, 0, 9, 163, 159, 2, 0, 20, 0, 0, 0, 0, 32, 2, 119, 16, 21, 0, 0, 0, 0, 227, 107, 2, 0, 2, - 120, 16, 0, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 121, 16, 8, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 122, - 16, 16, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 123, 16, 20, 0, 9, 124, 105, 2, 0, 9, 235, 159, 2, 0, - 9, 240, 159, 2, 0, 20, 0, 0, 0, 0, 24, 2, 166, 21, 21, 0, 0, 0, 0, 14, 29, 0, 0, 2, 167, 21, 0, - 21, 0, 0, 0, 0, 14, 29, 0, 0, 2, 168, 21, 8, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 169, 21, 16, 0, - 9, 38, 160, 2, 0, 9, 43, 160, 2, 0, 20, 0, 0, 0, 0, 44, 2, 5, 16, 21, 0, 0, 0, 0, 14, 29, 0, 0, - 2, 6, 16, 0, 21, 0, 0, 0, 0, 14, 29, 0, 0, 2, 7, 16, 8, 21, 0, 0, 0, 0, 14, 29, 0, 0, 2, 8, 16, - 16, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 9, 16, 24, 21, 0, 0, 0, 0, 14, 29, 0, 0, 2, 10, 16, 28, 21, - 0, 0, 0, 0, 14, 29, 0, 0, 2, 11, 16, 36, 0, 9, 136, 160, 2, 0, 20, 0, 0, 0, 0, 16, 2, 111, 21, - 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 112, 21, 0, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 113, 21, 8, 0, - 9, 177, 160, 2, 0, 13, 168, 0, 0, 0, 14, 21, 234, 0, 0, 14, 219, 52, 0, 0, 0, 9, 198, 160, 2, - 0, 13, 168, 0, 0, 0, 14, 69, 80, 0, 0, 14, 214, 160, 2, 0, 0, 9, 219, 160, 2, 0, 20, 0, 0, 0, - 0, 16, 2, 7, 15, 21, 0, 0, 0, 0, 255, 160, 2, 0, 2, 8, 15, 0, 21, 0, 0, 0, 0, 29, 75, 0, 0, 2, - 9, 15, 8, 0, 33, 11, 161, 2, 0, 0, 0, 0, 0, 2, 5, 15, 9, 16, 161, 2, 0, 13, 168, 0, 0, 0, 14, - 214, 160, 2, 0, 14, 14, 29, 0, 0, 14, 168, 0, 0, 0, 14, 29, 75, 0, 0, 14, 136, 68, 0, 0, 14, - 11, 1, 0, 0, 0, 9, 57, 161, 2, 0, 13, 168, 0, 0, 0, 14, 69, 80, 0, 0, 14, 73, 161, 2, 0, 0, 12, - 255, 0, 0, 0, 0, 0, 0, 0, 2, 221, 9, 89, 161, 2, 0, 13, 168, 0, 0, 0, 14, 69, 80, 0, 0, 14, 29, - 75, 0, 0, 14, 29, 75, 0, 0, 14, 168, 0, 0, 0, 0, 9, 120, 161, 2, 0, 13, 168, 0, 0, 0, 14, 168, - 0, 0, 0, 14, 69, 80, 0, 0, 14, 168, 0, 0, 0, 0, 9, 146, 161, 2, 0, 13, 168, 0, 0, 0, 14, 69, - 80, 0, 0, 14, 168, 0, 0, 0, 14, 167, 161, 2, 0, 0, 9, 172, 161, 2, 0, 20, 0, 0, 0, 0, 216, 2, - 121, 14, 21, 0, 0, 0, 0, 167, 161, 2, 0, 2, 122, 14, 0, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 123, - 14, 8, 21, 0, 0, 0, 0, 184, 28, 0, 0, 2, 124, 14, 24, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 125, - 14, 40, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 126, 14, 56, 21, 0, 0, 0, 0, 73, 161, 2, 0, 2, 127, - 14, 72, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 128, 14, 80, 21, 0, 0, 0, 0, 5, 49, 0, 0, 2, 129, 14, - 84, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 130, 14, 88, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 131, 14, 92, - 21, 0, 0, 0, 0, 47, 107, 0, 0, 2, 132, 14, 96, 21, 0, 0, 0, 0, 69, 80, 0, 0, 2, 133, 14, 120, - 21, 0, 0, 0, 0, 29, 75, 0, 0, 2, 134, 14, 128, 21, 0, 0, 0, 0, 29, 75, 0, 0, 2, 135, 14, 136, - 21, 0, 0, 0, 0, 95, 107, 0, 0, 2, 136, 14, 144, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 137, 14, 152, - 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 138, 14, 160, 21, 0, 0, 0, 0, 20, 163, 2, 0, 2, 139, 14, 168, - 21, 0, 0, 0, 0, 95, 163, 2, 0, 2, 140, 14, 176, 21, 0, 0, 0, 0, 185, 162, 2, 0, 2, 149, 14, - 184, 23, 32, 2, 141, 14, 21, 0, 0, 0, 0, 71, 164, 2, 0, 2, 142, 14, 0, 21, 0, 0, 0, 0, 130, - 164, 2, 0, 2, 143, 14, 0, 21, 0, 0, 0, 0, 229, 162, 2, 0, 2, 148, 14, 0, 24, 24, 2, 144, 14, - 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 145, 14, 0, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 146, 14, 16, 21, - 0, 0, 0, 0, 11, 1, 0, 0, 2, 147, 14, 20, 0, 0, 0, 9, 25, 163, 2, 0, 26, 30, 163, 2, 0, 20, 0, - 0, 0, 0, 16, 2, 98, 14, 21, 0, 0, 0, 0, 66, 163, 2, 0, 2, 99, 14, 0, 21, 0, 0, 0, 0, 83, 163, - 2, 0, 2, 100, 14, 8, 0, 9, 71, 163, 2, 0, 32, 14, 167, 161, 2, 0, 14, 167, 161, 2, 0, 0, 9, 88, - 163, 2, 0, 32, 14, 167, 161, 2, 0, 0, 9, 100, 163, 2, 0, 26, 105, 163, 2, 0, 20, 0, 0, 0, 0, - 64, 2, 152, 14, 21, 0, 0, 0, 0, 219, 163, 2, 0, 2, 153, 14, 0, 21, 0, 0, 0, 0, 235, 163, 2, 0, - 2, 154, 14, 8, 21, 0, 0, 0, 0, 83, 163, 2, 0, 2, 155, 14, 16, 21, 0, 0, 0, 0, 247, 163, 2, 0, - 2, 156, 14, 24, 21, 0, 0, 0, 0, 12, 164, 2, 0, 2, 157, 14, 32, 21, 0, 0, 0, 0, 28, 164, 2, 0, - 2, 158, 14, 40, 21, 0, 0, 0, 0, 54, 164, 2, 0, 2, 159, 14, 48, 21, 0, 0, 0, 0, 12, 164, 2, 0, - 2, 160, 14, 56, 0, 9, 224, 163, 2, 0, 13, 73, 161, 2, 0, 14, 73, 161, 2, 0, 0, 9, 240, 163, 2, - 0, 32, 14, 73, 161, 2, 0, 0, 9, 252, 163, 2, 0, 13, 168, 0, 0, 0, 14, 167, 161, 2, 0, 14, 168, - 0, 0, 0, 0, 9, 17, 164, 2, 0, 13, 219, 52, 0, 0, 14, 167, 161, 2, 0, 0, 9, 33, 164, 2, 0, 13, - 168, 0, 0, 0, 14, 167, 161, 2, 0, 14, 168, 0, 0, 0, 14, 4, 29, 0, 0, 0, 9, 59, 164, 2, 0, 32, - 14, 167, 161, 2, 0, 14, 31, 48, 1, 0, 0, 20, 0, 0, 0, 0, 32, 2, 105, 14, 21, 0, 0, 0, 0, 125, - 68, 0, 0, 2, 106, 14, 0, 21, 0, 0, 0, 0, 120, 164, 2, 0, 2, 107, 14, 8, 21, 0, 0, 0, 0, 227, - 28, 0, 0, 2, 108, 14, 16, 0, 9, 125, 164, 2, 0, 45, 0, 0, 0, 0, 20, 0, 0, 0, 0, 8, 2, 113, 14, - 21, 0, 0, 0, 0, 153, 164, 2, 0, 2, 114, 14, 0, 0, 9, 158, 164, 2, 0, 27, 0, 0, 0, 0, 48, 1, 2, - 164, 202, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 165, 202, 0, 21, 0, 0, 0, 0, 7, 165, 2, 0, 2, 166, - 202, 16, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 167, 202, 24, 21, 0, 0, 0, 0, 165, 237, 2, 0, 2, - 168, 202, 32, 28, 0, 0, 0, 0, 61, 230, 2, 0, 2, 169, 202, 16, 1, 28, 0, 0, 0, 0, 141, 64, 0, 0, - 2, 170, 202, 36, 1, 28, 0, 0, 0, 0, 73, 161, 2, 0, 2, 171, 202, 40, 1, 0, 9, 12, 165, 2, 0, 20, - 0, 0, 0, 0, 184, 2, 248, 207, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 249, 207, 0, 21, 0, 0, 0, 0, - 227, 28, 0, 0, 2, 250, 207, 16, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 251, 207, 32, 21, 0, 0, 0, 0, - 243, 165, 2, 0, 2, 252, 207, 48, 21, 0, 0, 0, 0, 101, 60, 0, 0, 2, 253, 207, 56, 21, 0, 0, 0, - 0, 127, 29, 0, 0, 2, 254, 207, 64, 21, 0, 0, 0, 0, 248, 68, 0, 0, 2, 255, 207, 72, 21, 0, 0, 0, - 0, 114, 43, 1, 0, 2, 0, 208, 76, 21, 0, 0, 0, 0, 61, 230, 2, 0, 2, 1, 208, 84, 21, 0, 0, 0, 0, - 61, 230, 2, 0, 2, 2, 208, 104, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 3, 208, 124, 21, 0, 0, 0, 0, 11, - 1, 0, 0, 2, 4, 208, 128, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 5, 208, 132, 21, 0, 0, 0, 0, 117, 16, - 2, 0, 2, 6, 208, 136, 21, 0, 0, 0, 0, 141, 64, 0, 0, 2, 7, 208, 140, 21, 0, 0, 0, 0, 47, 107, - 0, 0, 2, 8, 208, 144, 21, 0, 0, 0, 0, 65, 29, 0, 0, 2, 9, 208, 168, 0, 9, 248, 165, 2, 0, 27, - 0, 0, 0, 0, 120, 1, 2, 231, 208, 21, 0, 0, 0, 0, 161, 166, 2, 0, 2, 232, 208, 0, 21, 0, 0, 0, - 0, 227, 28, 0, 0, 2, 233, 208, 8, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 234, 208, 24, 21, 0, 0, 0, - 0, 86, 40, 0, 0, 2, 235, 208, 32, 21, 0, 0, 0, 0, 103, 110, 0, 0, 2, 236, 208, 56, 21, 0, 0, 0, - 0, 248, 68, 0, 0, 2, 237, 208, 64, 21, 0, 0, 0, 0, 176, 64, 0, 0, 2, 238, 208, 68, 21, 0, 0, 0, - 0, 127, 29, 0, 0, 2, 239, 208, 72, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 240, 208, 80, 21, 0, 0, 0, - 0, 165, 237, 2, 0, 2, 241, 208, 96, 28, 0, 0, 0, 0, 173, 67, 0, 0, 2, 242, 208, 80, 1, 28, 0, - 0, 0, 0, 241, 106, 0, 0, 2, 243, 208, 88, 1, 0, 9, 166, 166, 2, 0, 27, 0, 0, 0, 0, 56, 4, 2, - 221, 205, 21, 0, 0, 0, 0, 82, 170, 2, 0, 2, 222, 205, 0, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 223, - 205, 8, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 224, 205, 24, 21, 0, 0, 0, 0, 227, 172, 2, 0, 2, 225, - 205, 40, 21, 0, 0, 0, 0, 227, 172, 2, 0, 2, 226, 205, 48, 21, 0, 0, 0, 0, 122, 241, 2, 0, 2, - 227, 205, 56, 21, 0, 0, 0, 0, 132, 241, 2, 0, 2, 228, 205, 64, 21, 0, 0, 0, 0, 71, 97, 0, 0, 2, - 229, 205, 72, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 230, 205, 80, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, - 231, 205, 84, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 232, 205, 88, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, - 233, 205, 92, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 234, 205, 96, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, - 235, 205, 100, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 236, 205, 104, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, - 237, 205, 108, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 238, 205, 112, 21, 0, 0, 0, 0, 225, 48, 0, 0, 2, - 239, 205, 116, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 240, 205, 120, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, - 241, 205, 124, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 242, 205, 128, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, - 243, 205, 132, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 244, 205, 136, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, - 245, 205, 140, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 246, 205, 144, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, - 247, 205, 148, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 248, 205, 152, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, - 249, 205, 156, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 250, 205, 160, 21, 0, 0, 0, 0, 111, 217, 2, 0, - 2, 251, 205, 164, 21, 0, 0, 0, 0, 106, 216, 2, 0, 2, 252, 205, 168, 21, 0, 0, 0, 0, 197, 0, 0, - 0, 2, 253, 205, 184, 21, 0, 0, 0, 0, 52, 161, 0, 0, 2, 254, 205, 192, 21, 0, 0, 0, 0, 127, 29, - 0, 0, 2, 255, 205, 208, 21, 0, 0, 0, 0, 133, 71, 0, 0, 2, 0, 206, 216, 21, 0, 0, 0, 0, 7, 75, - 0, 0, 2, 1, 206, 224, 21, 0, 0, 0, 0, 142, 241, 2, 0, 2, 2, 206, 228, 28, 0, 0, 0, 0, 190, 241, - 2, 0, 2, 3, 206, 24, 1, 28, 0, 0, 0, 0, 112, 241, 2, 0, 2, 4, 206, 32, 1, 28, 0, 0, 0, 0, 125, - 68, 0, 0, 2, 5, 206, 40, 1, 28, 0, 0, 0, 0, 235, 230, 2, 0, 2, 6, 206, 44, 1, 28, 0, 0, 0, 0, - 235, 230, 2, 0, 2, 7, 206, 56, 1, 28, 0, 0, 0, 0, 235, 230, 2, 0, 2, 8, 206, 68, 1, 28, 0, 0, - 0, 0, 235, 230, 2, 0, 2, 9, 206, 80, 1, 28, 0, 0, 0, 0, 125, 68, 0, 0, 2, 10, 206, 92, 1, 28, - 0, 0, 0, 0, 125, 68, 0, 0, 2, 11, 206, 96, 1, 28, 0, 0, 0, 0, 200, 241, 2, 0, 2, 12, 206, 104, - 1, 28, 0, 0, 0, 0, 18, 182, 2, 0, 2, 13, 206, 112, 1, 28, 0, 0, 0, 0, 255, 0, 0, 0, 2, 14, 206, - 56, 2, 28, 0, 0, 0, 0, 220, 96, 0, 0, 2, 15, 206, 64, 2, 28, 0, 0, 0, 0, 111, 170, 0, 0, 2, 16, - 206, 72, 2, 28, 0, 0, 0, 0, 111, 170, 0, 0, 2, 17, 206, 88, 2, 28, 0, 0, 0, 0, 227, 28, 0, 0, - 2, 18, 206, 104, 2, 28, 0, 0, 0, 0, 227, 28, 0, 0, 2, 19, 206, 120, 2, 28, 0, 0, 0, 0, 227, 28, - 0, 0, 2, 20, 206, 136, 2, 28, 0, 0, 0, 0, 227, 28, 0, 0, 2, 21, 206, 152, 2, 28, 0, 0, 0, 0, - 127, 29, 0, 0, 2, 22, 206, 168, 2, 28, 0, 0, 0, 0, 127, 29, 0, 0, 2, 23, 206, 176, 2, 28, 0, 0, - 0, 0, 210, 241, 2, 0, 2, 24, 206, 184, 2, 28, 0, 0, 0, 0, 176, 64, 0, 0, 2, 25, 206, 192, 2, - 28, 0, 0, 0, 0, 16, 7, 2, 0, 2, 26, 206, 200, 2, 28, 0, 0, 0, 0, 140, 55, 0, 0, 2, 27, 206, 72, - 3, 28, 0, 0, 0, 0, 125, 68, 0, 0, 2, 28, 206, 80, 3, 28, 0, 0, 0, 0, 225, 48, 0, 0, 2, 29, 206, - 84, 3, 28, 0, 0, 0, 0, 225, 48, 0, 0, 2, 30, 206, 86, 3, 28, 0, 0, 0, 0, 18, 182, 2, 0, 2, 31, - 206, 88, 3, 28, 0, 0, 0, 0, 11, 1, 0, 0, 2, 32, 206, 32, 4, 28, 0, 0, 0, 0, 103, 110, 0, 0, 2, - 33, 206, 40, 4, 28, 0, 0, 0, 0, 219, 52, 0, 0, 2, 34, 206, 48, 4, 0, 9, 87, 170, 2, 0, 27, 0, - 0, 0, 0, 64, 3, 2, 55, 206, 21, 0, 0, 0, 0, 141, 64, 0, 0, 2, 56, 206, 0, 21, 0, 0, 0, 0, 176, - 64, 0, 0, 2, 57, 206, 4, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 58, 206, 8, 21, 0, 0, 0, 0, 127, 29, - 0, 0, 2, 59, 206, 16, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 60, 206, 24, 21, 0, 0, 0, 0, 16, 7, 2, - 0, 2, 61, 206, 32, 21, 0, 0, 0, 0, 140, 55, 0, 0, 2, 62, 206, 160, 21, 0, 0, 0, 0, 199, 53, 0, - 0, 2, 63, 206, 168, 21, 0, 0, 0, 0, 199, 53, 0, 0, 2, 64, 206, 176, 21, 0, 0, 0, 0, 227, 28, 0, - 0, 2, 65, 206, 184, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 66, 206, 200, 21, 0, 0, 0, 0, 227, 172, - 2, 0, 2, 67, 206, 216, 21, 0, 0, 0, 0, 158, 210, 2, 0, 2, 68, 206, 224, 21, 0, 0, 0, 0, 168, 0, - 0, 0, 2, 69, 206, 232, 21, 0, 0, 0, 0, 236, 235, 2, 0, 2, 70, 206, 240, 21, 0, 0, 0, 0, 125, - 68, 0, 0, 2, 71, 206, 248, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 72, 206, 252, 28, 0, 0, 0, 0, 11, 1, - 0, 0, 2, 73, 206, 0, 1, 28, 0, 0, 0, 0, 14, 29, 0, 0, 2, 74, 206, 8, 1, 28, 0, 0, 0, 0, 227, - 28, 0, 0, 2, 75, 206, 16, 1, 28, 0, 0, 0, 0, 136, 68, 0, 0, 2, 76, 206, 32, 1, 28, 0, 0, 0, 0, - 246, 235, 2, 0, 2, 77, 206, 40, 1, 28, 0, 0, 0, 0, 127, 29, 0, 0, 2, 78, 206, 48, 1, 28, 0, 0, - 0, 0, 248, 68, 0, 0, 2, 79, 206, 56, 1, 28, 0, 0, 0, 0, 127, 29, 0, 0, 2, 80, 206, 64, 1, 28, - 0, 0, 0, 0, 127, 29, 0, 0, 2, 81, 206, 72, 1, 28, 0, 0, 0, 0, 147, 165, 0, 0, 2, 82, 206, 80, - 1, 28, 0, 0, 0, 0, 18, 182, 2, 0, 2, 83, 206, 168, 1, 28, 0, 0, 0, 0, 21, 236, 2, 0, 2, 84, - 206, 112, 2, 28, 0, 0, 0, 0, 14, 29, 0, 0, 2, 85, 206, 120, 2, 28, 0, 0, 0, 0, 125, 68, 0, 0, - 2, 86, 206, 128, 2, 28, 0, 0, 0, 0, 31, 236, 2, 0, 2, 87, 206, 136, 2, 28, 0, 0, 0, 0, 127, 29, - 0, 0, 2, 88, 206, 144, 2, 28, 0, 0, 0, 0, 133, 240, 2, 0, 2, 89, 206, 152, 2, 28, 0, 0, 0, 0, - 125, 68, 0, 0, 2, 90, 206, 160, 2, 28, 0, 0, 0, 0, 125, 68, 0, 0, 2, 91, 206, 164, 2, 28, 0, 0, - 0, 0, 143, 240, 2, 0, 2, 92, 206, 168, 2, 28, 0, 0, 0, 0, 219, 52, 0, 0, 2, 93, 206, 176, 2, - 28, 0, 0, 0, 0, 153, 240, 2, 0, 2, 94, 206, 184, 2, 28, 0, 0, 0, 0, 208, 240, 2, 0, 2, 95, 206, - 192, 2, 28, 0, 0, 0, 0, 250, 240, 2, 0, 2, 96, 206, 200, 2, 28, 0, 0, 0, 0, 127, 29, 0, 0, 2, - 97, 206, 208, 2, 28, 0, 0, 0, 0, 47, 107, 0, 0, 2, 98, 206, 216, 2, 28, 0, 0, 0, 0, 100, 241, - 2, 0, 2, 99, 206, 240, 2, 28, 0, 0, 0, 0, 112, 241, 2, 0, 2, 100, 206, 32, 3, 28, 0, 0, 0, 0, - 115, 125, 1, 0, 2, 101, 206, 40, 3, 28, 0, 0, 0, 0, 227, 28, 0, 0, 2, 102, 206, 48, 3, 0, 9, - 232, 172, 2, 0, 27, 0, 0, 0, 0, 208, 1, 2, 108, 203, 21, 0, 0, 0, 0, 141, 64, 0, 0, 2, 109, - 203, 0, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 110, 203, 4, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 111, - 203, 8, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 112, 203, 24, 21, 0, 0, 0, 0, 248, 68, 0, 0, 2, 113, - 203, 40, 21, 0, 0, 0, 0, 240, 174, 2, 0, 2, 114, 203, 48, 21, 0, 0, 0, 0, 48, 183, 2, 0, 2, - 115, 203, 56, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 116, 203, 64, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, - 117, 203, 68, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 118, 203, 72, 21, 0, 0, 0, 0, 215, 186, 2, 0, - 2, 119, 203, 80, 21, 0, 0, 0, 0, 215, 208, 2, 0, 2, 120, 203, 88, 21, 0, 0, 0, 0, 23, 210, 2, - 0, 2, 121, 203, 96, 34, 0, 0, 0, 0, 11, 1, 0, 0, 2, 122, 203, 4, 1, 31, 104, 34, 0, 0, 0, 0, - 11, 1, 0, 0, 2, 123, 203, 4, 1, 30, 104, 34, 0, 0, 0, 0, 11, 1, 0, 0, 2, 124, 203, 4, 1, 29, - 104, 34, 0, 0, 0, 0, 11, 1, 0, 0, 2, 125, 203, 4, 1, 28, 104, 34, 0, 0, 0, 0, 11, 1, 0, 0, 2, - 126, 203, 4, 1, 27, 104, 34, 0, 0, 0, 0, 11, 1, 0, 0, 2, 127, 203, 4, 1, 26, 104, 21, 0, 0, 0, - 0, 33, 210, 2, 0, 2, 128, 203, 112, 21, 0, 0, 0, 0, 130, 192, 2, 0, 2, 129, 203, 120, 21, 0, 0, - 0, 0, 176, 64, 0, 0, 2, 130, 203, 128, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 131, 203, 132, 21, 0, - 0, 0, 0, 232, 117, 1, 0, 2, 132, 203, 136, 21, 0, 0, 0, 0, 112, 210, 2, 0, 2, 133, 203, 208, - 21, 0, 0, 0, 0, 227, 172, 2, 0, 2, 134, 203, 232, 21, 0, 0, 0, 0, 38, 210, 2, 0, 2, 135, 203, - 240, 28, 0, 0, 0, 0, 140, 192, 2, 0, 2, 136, 203, 96, 1, 28, 0, 0, 0, 0, 104, 209, 2, 0, 2, - 137, 203, 128, 1, 28, 0, 0, 0, 0, 14, 29, 0, 0, 2, 138, 203, 136, 1, 28, 0, 0, 0, 0, 133, 66, - 0, 0, 2, 139, 203, 144, 1, 28, 0, 0, 0, 0, 148, 210, 2, 0, 2, 140, 203, 152, 1, 30, 179, 174, - 2, 0, 2, 141, 203, 160, 1, 23, 32, 2, 141, 203, 21, 0, 0, 0, 0, 118, 208, 2, 0, 2, 142, 203, 0, - 21, 0, 0, 0, 0, 156, 163, 0, 0, 2, 143, 203, 0, 0, 28, 0, 0, 0, 0, 103, 110, 0, 0, 2, 145, 203, - 192, 1, 28, 0, 0, 0, 0, 11, 1, 0, 0, 2, 146, 203, 200, 1, 0, 9, 245, 174, 2, 0, 27, 0, 0, 0, 0, - 240, 5, 2, 159, 203, 21, 0, 0, 0, 0, 80, 110, 0, 0, 2, 160, 203, 0, 21, 0, 0, 0, 0, 201, 178, - 2, 0, 2, 161, 203, 8, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 162, 203, 16, 21, 0, 0, 0, 0, 130, 192, - 2, 0, 2, 163, 203, 24, 21, 0, 0, 0, 0, 16, 7, 2, 0, 2, 164, 203, 32, 21, 0, 0, 0, 0, 140, 55, - 0, 0, 2, 165, 203, 160, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 166, 203, 168, 21, 0, 0, 0, 0, 127, - 29, 0, 0, 2, 167, 203, 176, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 168, 203, 184, 21, 0, 0, 0, 0, - 140, 55, 0, 0, 2, 169, 203, 192, 21, 0, 0, 0, 0, 18, 182, 2, 0, 2, 170, 203, 200, 28, 0, 0, 0, - 0, 18, 182, 2, 0, 2, 171, 203, 144, 1, 28, 0, 0, 0, 0, 18, 182, 2, 0, 2, 172, 203, 88, 2, 28, - 0, 0, 0, 0, 18, 182, 2, 0, 2, 173, 203, 32, 3, 28, 0, 0, 0, 0, 227, 28, 0, 0, 2, 174, 203, 232, - 3, 28, 0, 0, 0, 0, 11, 1, 0, 0, 2, 175, 203, 248, 3, 28, 0, 0, 0, 0, 11, 1, 0, 0, 2, 176, 203, - 252, 3, 28, 0, 0, 0, 0, 11, 1, 0, 0, 2, 177, 203, 0, 4, 28, 0, 0, 0, 0, 127, 29, 0, 0, 2, 178, - 203, 8, 4, 29, 0, 0, 0, 0, 5, 49, 0, 0, 2, 179, 203, 1, 1, 7, 16, 4, 29, 0, 0, 0, 0, 5, 49, 0, - 0, 2, 180, 203, 1, 1, 6, 16, 4, 28, 0, 0, 0, 0, 176, 64, 0, 0, 2, 181, 203, 20, 4, 28, 0, 0, 0, - 0, 11, 1, 0, 0, 2, 182, 203, 24, 4, 28, 0, 0, 0, 0, 227, 28, 0, 0, 2, 183, 203, 32, 4, 28, 0, - 0, 0, 0, 127, 29, 0, 0, 2, 184, 203, 48, 4, 28, 0, 0, 0, 0, 127, 29, 0, 0, 2, 185, 203, 56, 4, - 28, 0, 0, 0, 0, 11, 1, 0, 0, 2, 186, 203, 64, 4, 28, 0, 0, 0, 0, 156, 163, 0, 0, 2, 187, 203, - 72, 4, 28, 0, 0, 0, 0, 173, 161, 0, 0, 2, 188, 203, 104, 4, 28, 0, 0, 0, 0, 127, 29, 0, 0, 2, - 189, 203, 144, 4, 28, 0, 0, 0, 0, 127, 29, 0, 0, 2, 190, 203, 152, 4, 28, 0, 0, 0, 0, 127, 29, - 0, 0, 2, 191, 203, 160, 4, 28, 0, 0, 0, 0, 127, 29, 0, 0, 2, 192, 203, 168, 4, 28, 0, 0, 0, 0, - 71, 97, 0, 0, 2, 193, 203, 176, 4, 28, 0, 0, 0, 0, 248, 68, 0, 0, 2, 194, 203, 184, 4, 28, 0, - 0, 0, 0, 248, 68, 0, 0, 2, 195, 203, 188, 4, 28, 0, 0, 0, 0, 248, 68, 0, 0, 2, 196, 203, 192, - 4, 28, 0, 0, 0, 0, 125, 68, 0, 0, 2, 197, 203, 196, 4, 28, 0, 0, 0, 0, 103, 180, 2, 0, 2, 198, - 203, 200, 4, 28, 0, 0, 0, 0, 227, 28, 0, 0, 2, 199, 203, 208, 4, 28, 0, 0, 0, 0, 71, 97, 0, 0, - 2, 200, 203, 224, 4, 28, 0, 0, 0, 0, 215, 192, 2, 0, 2, 201, 203, 232, 4, 28, 0, 0, 0, 0, 225, - 192, 2, 0, 2, 202, 203, 240, 4, 28, 0, 0, 0, 0, 11, 1, 0, 0, 2, 203, 203, 248, 4, 28, 0, 0, 0, - 0, 11, 1, 0, 0, 2, 204, 203, 252, 4, 28, 0, 0, 0, 0, 176, 64, 0, 0, 2, 205, 203, 0, 5, 28, 0, - 0, 0, 0, 248, 68, 0, 0, 2, 206, 203, 4, 5, 28, 0, 0, 0, 0, 227, 28, 0, 0, 2, 207, 203, 8, 5, - 28, 0, 0, 0, 0, 220, 96, 0, 0, 2, 208, 203, 24, 5, 28, 0, 0, 0, 0, 182, 177, 2, 0, 2, 222, 203, - 32, 5, 24, 96, 2, 209, 203, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 210, 203, 0, 21, 0, 0, 0, 0, 127, - 29, 0, 0, 2, 211, 203, 8, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 212, 203, 16, 21, 0, 0, 0, 0, 127, - 29, 0, 0, 2, 213, 203, 24, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 214, 203, 32, 21, 0, 0, 0, 0, 127, - 29, 0, 0, 2, 215, 203, 40, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 216, 203, 48, 21, 0, 0, 0, 0, 127, - 29, 0, 0, 2, 217, 203, 56, 21, 0, 0, 0, 0, 208, 0, 0, 0, 2, 218, 203, 64, 21, 0, 0, 0, 0, 208, - 0, 0, 0, 2, 219, 203, 72, 21, 0, 0, 0, 0, 208, 0, 0, 0, 2, 220, 203, 80, 21, 0, 0, 0, 0, 208, - 0, 0, 0, 2, 221, 203, 88, 0, 28, 0, 0, 0, 0, 115, 125, 1, 0, 2, 223, 203, 128, 5, 28, 0, 0, 0, - 0, 14, 29, 0, 0, 2, 224, 203, 136, 5, 28, 0, 0, 0, 0, 125, 206, 2, 0, 2, 225, 203, 144, 5, 28, - 0, 0, 0, 0, 133, 66, 0, 0, 2, 226, 203, 192, 5, 28, 0, 0, 0, 0, 65, 29, 0, 0, 2, 227, 203, 200, - 5, 28, 0, 0, 0, 0, 137, 206, 2, 0, 2, 228, 203, 216, 5, 28, 0, 0, 0, 0, 205, 208, 2, 0, 2, 229, - 203, 224, 5, 28, 0, 0, 0, 0, 219, 52, 0, 0, 2, 230, 203, 232, 5, 0, 9, 206, 178, 2, 0, 26, 211, - 178, 2, 0, 20, 0, 0, 0, 0, 216, 2, 63, 204, 21, 0, 0, 0, 0, 60, 180, 2, 0, 2, 64, 204, 0, 21, - 0, 0, 0, 0, 82, 180, 2, 0, 2, 65, 204, 8, 21, 0, 0, 0, 0, 182, 191, 2, 0, 2, 66, 204, 16, 21, - 0, 0, 0, 0, 182, 191, 2, 0, 2, 67, 204, 24, 21, 0, 0, 0, 0, 199, 191, 2, 0, 2, 68, 204, 32, 21, - 0, 0, 0, 0, 1, 182, 2, 0, 2, 69, 204, 40, 21, 0, 0, 0, 0, 216, 191, 2, 0, 2, 70, 204, 48, 21, - 0, 0, 0, 0, 182, 191, 2, 0, 2, 71, 204, 56, 21, 0, 0, 0, 0, 235, 190, 2, 0, 2, 72, 204, 64, 21, - 0, 0, 0, 0, 1, 182, 2, 0, 2, 73, 204, 72, 21, 0, 0, 0, 0, 43, 191, 2, 0, 2, 74, 204, 80, 21, 0, - 0, 0, 0, 233, 191, 2, 0, 2, 75, 204, 88, 21, 0, 0, 0, 0, 1, 182, 2, 0, 2, 76, 204, 96, 21, 0, - 0, 0, 0, 182, 191, 2, 0, 2, 77, 204, 104, 21, 0, 0, 0, 0, 1, 182, 2, 0, 2, 78, 204, 112, 21, 0, - 0, 0, 0, 249, 191, 2, 0, 2, 79, 204, 120, 21, 0, 0, 0, 0, 249, 191, 2, 0, 2, 80, 204, 128, 21, - 0, 0, 0, 0, 5, 192, 2, 0, 2, 81, 204, 136, 21, 0, 0, 0, 0, 27, 192, 2, 0, 2, 82, 204, 144, 21, - 0, 0, 0, 0, 44, 192, 2, 0, 2, 83, 204, 152, 21, 0, 0, 0, 0, 249, 191, 2, 0, 2, 84, 204, 160, - 21, 0, 0, 0, 0, 249, 191, 2, 0, 2, 85, 204, 168, 21, 0, 0, 0, 0, 60, 192, 2, 0, 2, 86, 204, - 176, 21, 0, 0, 0, 0, 81, 192, 2, 0, 2, 87, 204, 184, 21, 0, 0, 0, 0, 97, 192, 2, 0, 2, 88, 204, - 192, 21, 0, 0, 0, 0, 43, 191, 2, 0, 2, 89, 204, 200, 21, 0, 0, 0, 0, 113, 192, 2, 0, 2, 90, - 204, 208, 0, 9, 65, 180, 2, 0, 32, 14, 240, 174, 2, 0, 14, 140, 55, 0, 0, 14, 140, 55, 0, 0, 0, - 9, 87, 180, 2, 0, 13, 168, 0, 0, 0, 14, 240, 174, 2, 0, 14, 103, 180, 2, 0, 0, 9, 108, 180, 2, - 0, 20, 0, 0, 0, 0, 232, 2, 28, 203, 21, 0, 0, 0, 0, 176, 64, 0, 0, 2, 29, 203, 0, 21, 0, 0, 0, - 0, 168, 0, 0, 0, 2, 30, 203, 4, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 31, 203, 8, 21, 0, 0, 0, 0, - 1, 182, 2, 0, 2, 32, 203, 24, 21, 0, 0, 0, 0, 1, 182, 2, 0, 2, 33, 203, 32, 21, 0, 0, 0, 0, - 127, 29, 0, 0, 2, 34, 203, 40, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 35, 203, 48, 21, 0, 0, 0, 0, - 13, 182, 2, 0, 2, 36, 203, 56, 21, 0, 0, 0, 0, 234, 180, 2, 0, 2, 40, 203, 64, 23, 48, 2, 37, - 203, 21, 0, 0, 0, 0, 156, 163, 0, 0, 2, 38, 203, 0, 21, 0, 0, 0, 0, 193, 182, 2, 0, 2, 39, 203, - 0, 0, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 41, 203, 112, 21, 0, 0, 0, 0, 242, 182, 2, 0, 2, 42, - 203, 120, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 43, 203, 152, 21, 0, 0, 0, 0, 93, 191, 2, 0, 2, 44, - 203, 160, 21, 0, 0, 0, 0, 227, 172, 2, 0, 2, 45, 203, 168, 21, 0, 0, 0, 0, 240, 174, 2, 0, 2, - 46, 203, 176, 21, 0, 0, 0, 0, 83, 186, 2, 0, 2, 47, 203, 184, 21, 0, 0, 0, 0, 206, 183, 2, 0, - 2, 48, 203, 192, 21, 0, 0, 0, 0, 209, 165, 0, 0, 2, 49, 203, 200, 21, 0, 0, 0, 0, 32, 207, 0, - 0, 2, 50, 203, 208, 21, 0, 0, 0, 0, 45, 77, 1, 0, 2, 51, 203, 216, 21, 0, 0, 0, 0, 225, 48, 0, - 0, 2, 52, 203, 220, 21, 0, 0, 0, 0, 225, 48, 0, 0, 2, 53, 203, 222, 21, 0, 0, 0, 0, 225, 48, 0, - 0, 2, 54, 203, 224, 34, 0, 0, 0, 0, 5, 49, 0, 0, 2, 55, 203, 1, 2, 6, 226, 34, 0, 0, 0, 0, 5, - 49, 0, 0, 2, 56, 203, 1, 2, 4, 226, 34, 0, 0, 0, 0, 5, 49, 0, 0, 2, 57, 203, 1, 2, 2, 226, 34, - 0, 0, 0, 0, 5, 49, 0, 0, 2, 58, 203, 1, 2, 0, 226, 0, 9, 6, 182, 2, 0, 32, 14, 103, 180, 2, 0, - 0, 9, 18, 182, 2, 0, 20, 0, 0, 0, 0, 200, 2, 119, 202, 21, 0, 0, 0, 0, 248, 68, 0, 0, 2, 120, - 202, 0, 21, 0, 0, 0, 0, 132, 182, 2, 0, 2, 121, 202, 8, 21, 0, 0, 0, 0, 5, 49, 0, 0, 2, 122, - 202, 72, 21, 0, 0, 0, 0, 5, 49, 0, 0, 2, 123, 202, 73, 21, 0, 0, 0, 0, 5, 49, 0, 0, 2, 124, - 202, 74, 21, 0, 0, 0, 0, 225, 48, 0, 0, 2, 125, 202, 76, 21, 0, 0, 0, 0, 144, 182, 2, 0, 2, - 126, 202, 80, 21, 0, 0, 0, 0, 14, 29, 0, 0, 2, 127, 202, 192, 0, 3, 227, 28, 0, 0, 4, 82, 0, 0, - 0, 4, 0, 20, 0, 0, 0, 0, 112, 2, 113, 202, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 114, 202, 0, 21, - 0, 0, 0, 0, 127, 29, 0, 0, 2, 115, 202, 16, 21, 0, 0, 0, 0, 147, 165, 0, 0, 2, 116, 202, 24, 0, - 20, 0, 0, 0, 0, 48, 2, 18, 203, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 19, 203, 0, 21, 0, 0, 0, 0, - 227, 28, 0, 0, 2, 20, 203, 16, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 21, 203, 32, 0, 20, 0, 0, 0, - 0, 32, 2, 0, 203, 21, 0, 0, 0, 0, 48, 183, 2, 0, 2, 1, 203, 0, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, - 2, 203, 8, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 3, 203, 16, 21, 0, 0, 0, 0, 103, 110, 0, 0, 2, 4, - 203, 24, 0, 9, 53, 183, 2, 0, 26, 58, 183, 2, 0, 20, 0, 0, 0, 0, 48, 2, 7, 203, 21, 0, 0, 0, 0, - 125, 68, 0, 0, 2, 8, 203, 0, 21, 0, 0, 0, 0, 172, 183, 2, 0, 2, 9, 203, 8, 21, 0, 0, 0, 0, 55, - 191, 2, 0, 2, 10, 203, 16, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 11, 203, 24, 21, 0, 0, 0, 0, 11, 1, - 0, 0, 2, 12, 203, 28, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 13, 203, 32, 21, 0, 0, 0, 0, 125, 68, 0, - 0, 2, 14, 203, 36, 21, 0, 0, 0, 0, 14, 29, 0, 0, 2, 15, 203, 40, 0, 33, 184, 183, 2, 0, 0, 0, - 0, 0, 2, 250, 202, 9, 189, 183, 2, 0, 32, 14, 206, 183, 2, 0, 14, 101, 190, 2, 0, 14, 56, 1, 0, - 0, 0, 9, 211, 183, 2, 0, 27, 0, 0, 0, 0, 224, 1, 2, 210, 202, 21, 0, 0, 0, 0, 240, 174, 2, 0, - 2, 211, 202, 0, 21, 0, 0, 0, 0, 200, 185, 2, 0, 2, 212, 202, 8, 21, 0, 0, 0, 0, 200, 185, 2, 0, - 2, 213, 202, 80, 21, 0, 0, 0, 0, 103, 180, 2, 0, 2, 214, 202, 152, 21, 0, 0, 0, 0, 83, 186, 2, - 0, 2, 215, 202, 160, 21, 0, 0, 0, 0, 190, 48, 0, 0, 2, 216, 202, 168, 21, 0, 0, 0, 0, 168, 0, - 0, 0, 2, 217, 202, 172, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 218, 202, 176, 21, 0, 0, 0, 0, 168, - 0, 0, 0, 2, 219, 202, 180, 21, 0, 0, 0, 0, 70, 110, 0, 0, 2, 220, 202, 184, 21, 0, 0, 0, 0, 43, - 191, 2, 0, 2, 221, 202, 192, 22, 117, 184, 2, 0, 2, 222, 202, 200, 23, 24, 2, 222, 202, 21, 0, - 0, 0, 0, 227, 28, 0, 0, 2, 223, 202, 0, 21, 0, 0, 0, 0, 86, 40, 0, 0, 2, 224, 202, 0, 0, 21, 0, - 0, 0, 0, 227, 28, 0, 0, 2, 226, 202, 224, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 227, 202, 240, 28, - 0, 0, 0, 0, 255, 0, 0, 0, 2, 228, 202, 0, 1, 28, 0, 0, 0, 0, 140, 55, 0, 0, 2, 229, 202, 8, 1, - 28, 0, 0, 0, 0, 255, 0, 0, 0, 2, 230, 202, 16, 1, 28, 0, 0, 0, 0, 140, 55, 0, 0, 2, 231, 202, - 24, 1, 28, 0, 0, 0, 0, 140, 55, 0, 0, 2, 232, 202, 32, 1, 28, 0, 0, 0, 0, 140, 55, 0, 0, 2, - 233, 202, 40, 1, 28, 0, 0, 0, 0, 200, 185, 2, 0, 2, 234, 202, 48, 1, 28, 0, 0, 0, 0, 127, 29, - 0, 0, 2, 235, 202, 120, 1, 28, 0, 0, 0, 0, 127, 29, 0, 0, 2, 236, 202, 128, 1, 28, 0, 0, 0, 0, - 127, 29, 0, 0, 2, 237, 202, 136, 1, 28, 0, 0, 0, 0, 32, 207, 0, 0, 2, 238, 202, 144, 1, 28, 0, - 0, 0, 0, 11, 1, 0, 0, 2, 239, 202, 152, 1, 28, 0, 0, 0, 0, 11, 1, 0, 0, 2, 240, 202, 156, 1, - 28, 0, 0, 0, 0, 176, 64, 0, 0, 2, 241, 202, 160, 1, 28, 0, 0, 0, 0, 125, 68, 0, 0, 2, 242, 202, - 164, 1, 28, 0, 0, 0, 0, 32, 207, 0, 0, 2, 243, 202, 168, 1, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, - 244, 202, 176, 1, 28, 0, 0, 0, 0, 227, 28, 0, 0, 2, 245, 202, 184, 1, 28, 0, 0, 0, 0, 127, 29, - 0, 0, 2, 246, 202, 200, 1, 28, 0, 0, 0, 0, 227, 28, 0, 0, 2, 247, 202, 208, 1, 0, 20, 0, 0, 0, - 0, 72, 2, 179, 202, 21, 0, 0, 0, 0, 71, 186, 2, 0, 2, 180, 202, 0, 21, 0, 0, 0, 0, 71, 186, 2, - 0, 2, 181, 202, 16, 21, 0, 0, 0, 0, 190, 72, 2, 0, 2, 182, 202, 32, 21, 0, 0, 0, 0, 70, 110, 0, - 0, 2, 183, 202, 40, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 184, 202, 48, 21, 0, 0, 0, 0, 11, 1, 0, 0, - 2, 185, 202, 52, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 186, 202, 56, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, - 187, 202, 60, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 188, 202, 64, 0, 3, 229, 55, 0, 0, 4, 82, 0, 0, - 0, 1, 0, 9, 88, 186, 2, 0, 20, 0, 0, 0, 0, 96, 2, 235, 203, 21, 0, 0, 0, 0, 184, 28, 0, 0, 2, - 236, 203, 0, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 237, 203, 16, 21, 0, 0, 0, 0, 65, 29, 0, 0, 2, - 238, 203, 32, 21, 0, 0, 0, 0, 215, 186, 2, 0, 2, 239, 203, 48, 21, 0, 0, 0, 0, 122, 189, 2, 0, - 2, 240, 203, 56, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 241, 203, 64, 21, 0, 0, 0, 0, 127, 29, 0, 0, - 2, 242, 203, 72, 21, 0, 0, 0, 0, 141, 64, 0, 0, 2, 243, 203, 80, 21, 0, 0, 0, 0, 103, 110, 0, - 0, 2, 244, 203, 88, 0, 9, 220, 186, 2, 0, 20, 0, 0, 0, 0, 48, 2, 2, 204, 21, 0, 0, 0, 0, 11, 1, - 0, 0, 2, 3, 204, 0, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 4, 204, 4, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, - 5, 204, 8, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 6, 204, 12, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 7, - 204, 16, 21, 0, 0, 0, 0, 91, 187, 2, 0, 2, 8, 204, 24, 21, 0, 0, 0, 0, 254, 187, 2, 0, 2, 9, - 204, 32, 21, 0, 0, 0, 0, 141, 64, 0, 0, 2, 10, 204, 36, 21, 0, 0, 0, 0, 112, 189, 2, 0, 2, 11, - 204, 40, 0, 9, 96, 187, 2, 0, 26, 101, 187, 2, 0, 20, 0, 0, 0, 0, 88, 2, 33, 204, 21, 0, 0, 0, - 0, 111, 83, 0, 0, 2, 34, 204, 0, 21, 0, 0, 0, 0, 254, 187, 2, 0, 2, 35, 204, 8, 21, 0, 0, 0, 0, - 199, 53, 0, 0, 2, 36, 204, 16, 21, 0, 0, 0, 0, 10, 188, 2, 0, 2, 37, 204, 24, 21, 0, 0, 0, 0, - 77, 188, 2, 0, 2, 38, 204, 32, 21, 0, 0, 0, 0, 89, 188, 2, 0, 2, 39, 204, 40, 21, 0, 0, 0, 0, - 151, 188, 2, 0, 2, 40, 204, 48, 21, 0, 0, 0, 0, 177, 188, 2, 0, 2, 41, 204, 56, 21, 0, 0, 0, 0, - 208, 188, 2, 0, 2, 42, 204, 64, 21, 0, 0, 0, 0, 70, 189, 2, 0, 2, 43, 204, 72, 21, 0, 0, 0, 0, - 91, 189, 2, 0, 2, 44, 204, 80, 0, 33, 125, 68, 0, 0, 0, 0, 0, 0, 2, 247, 203, 9, 15, 188, 2, 0, - 13, 215, 186, 2, 0, 14, 31, 188, 2, 0, 14, 227, 172, 2, 0, 0, 9, 36, 188, 2, 0, 26, 41, 188, 2, - 0, 20, 0, 0, 0, 0, 16, 2, 47, 204, 21, 0, 0, 0, 0, 254, 187, 2, 0, 2, 48, 204, 0, 21, 0, 0, 0, - 0, 14, 29, 0, 0, 2, 49, 204, 8, 0, 9, 82, 188, 2, 0, 32, 14, 215, 186, 2, 0, 0, 9, 94, 188, 2, - 0, 13, 168, 0, 0, 0, 14, 110, 188, 2, 0, 14, 11, 1, 0, 0, 0, 9, 115, 188, 2, 0, 20, 0, 0, 0, 0, - 16, 2, 249, 203, 21, 0, 0, 0, 0, 103, 110, 0, 0, 2, 250, 203, 0, 21, 0, 0, 0, 0, 14, 29, 0, 0, - 2, 251, 203, 8, 0, 9, 156, 188, 2, 0, 13, 83, 186, 2, 0, 14, 215, 186, 2, 0, 14, 110, 188, 2, - 0, 14, 168, 0, 0, 0, 0, 9, 182, 188, 2, 0, 13, 83, 186, 2, 0, 14, 215, 186, 2, 0, 14, 110, 188, - 2, 0, 14, 168, 0, 0, 0, 14, 8, 153, 0, 0, 0, 9, 213, 188, 2, 0, 13, 254, 187, 2, 0, 14, 224, - 188, 2, 0, 0, 9, 229, 188, 2, 0, 20, 0, 0, 0, 0, 44, 2, 57, 204, 21, 0, 0, 0, 0, 22, 189, 2, 0, - 2, 58, 204, 0, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 59, 204, 36, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, - 60, 204, 40, 0, 20, 0, 0, 0, 0, 36, 2, 52, 204, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 53, 204, 0, 21, - 0, 0, 0, 0, 58, 189, 2, 0, 2, 54, 204, 4, 0, 3, 118, 55, 0, 0, 4, 82, 0, 0, 0, 32, 0, 9, 75, - 189, 2, 0, 13, 168, 0, 0, 0, 14, 254, 187, 2, 0, 14, 224, 188, 2, 0, 0, 9, 96, 189, 2, 0, 13, - 168, 0, 0, 0, 14, 215, 186, 2, 0, 14, 83, 186, 2, 0, 0, 9, 117, 189, 2, 0, 45, 0, 0, 0, 0, 9, - 127, 189, 2, 0, 26, 132, 189, 2, 0, 20, 0, 0, 0, 0, 96, 2, 14, 204, 21, 0, 0, 0, 0, 14, 29, 0, - 0, 2, 15, 204, 0, 21, 0, 0, 0, 0, 91, 189, 2, 0, 2, 16, 204, 8, 21, 0, 0, 0, 0, 42, 190, 2, 0, - 2, 17, 204, 16, 21, 0, 0, 0, 0, 54, 190, 2, 0, 2, 18, 204, 24, 21, 0, 0, 0, 0, 80, 190, 2, 0, - 2, 19, 204, 32, 21, 0, 0, 0, 0, 235, 190, 2, 0, 2, 20, 204, 40, 21, 0, 0, 0, 0, 80, 190, 2, 0, - 2, 21, 204, 48, 21, 0, 0, 0, 0, 80, 190, 2, 0, 2, 22, 204, 56, 21, 0, 0, 0, 0, 80, 190, 2, 0, - 2, 23, 204, 64, 21, 0, 0, 0, 0, 251, 190, 2, 0, 2, 24, 204, 72, 21, 0, 0, 0, 0, 11, 191, 2, 0, - 2, 25, 204, 80, 21, 0, 0, 0, 0, 27, 191, 2, 0, 2, 26, 204, 88, 0, 9, 47, 190, 2, 0, 32, 14, 83, - 186, 2, 0, 0, 9, 59, 190, 2, 0, 13, 168, 0, 0, 0, 14, 110, 188, 2, 0, 14, 83, 186, 2, 0, 14, - 168, 0, 0, 0, 0, 9, 85, 190, 2, 0, 13, 168, 0, 0, 0, 14, 103, 180, 2, 0, 14, 101, 190, 2, 0, 0, - 9, 106, 190, 2, 0, 20, 0, 0, 0, 0, 72, 2, 193, 202, 21, 0, 0, 0, 0, 220, 190, 2, 0, 2, 194, - 202, 0, 21, 0, 0, 0, 0, 225, 190, 2, 0, 2, 195, 202, 8, 21, 0, 0, 0, 0, 220, 190, 2, 0, 2, 196, - 202, 16, 21, 0, 0, 0, 0, 230, 190, 2, 0, 2, 197, 202, 24, 21, 0, 0, 0, 0, 229, 55, 0, 0, 2, - 198, 202, 32, 21, 0, 0, 0, 0, 70, 110, 0, 0, 2, 199, 202, 48, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, - 200, 202, 56, 21, 0, 0, 0, 0, 206, 183, 2, 0, 2, 201, 202, 64, 0, 9, 190, 48, 0, 0, 9, 200, - 185, 2, 0, 9, 229, 55, 0, 0, 9, 240, 190, 2, 0, 13, 168, 0, 0, 0, 14, 103, 180, 2, 0, 0, 9, 0, - 191, 2, 0, 13, 168, 0, 0, 0, 14, 83, 186, 2, 0, 0, 9, 16, 191, 2, 0, 13, 199, 53, 0, 0, 14, 83, - 186, 2, 0, 0, 9, 32, 191, 2, 0, 13, 219, 52, 0, 0, 14, 103, 180, 2, 0, 0, 9, 48, 191, 2, 0, 32, - 14, 206, 183, 2, 0, 0, 33, 67, 191, 2, 0, 0, 0, 0, 0, 2, 252, 202, 9, 72, 191, 2, 0, 13, 168, - 0, 0, 0, 14, 206, 183, 2, 0, 14, 101, 190, 2, 0, 14, 255, 0, 0, 0, 0, 9, 98, 191, 2, 0, 26, - 103, 191, 2, 0, 20, 0, 0, 0, 0, 32, 2, 61, 203, 21, 0, 0, 0, 0, 165, 191, 2, 0, 2, 62, 203, 0, - 21, 0, 0, 0, 0, 165, 191, 2, 0, 2, 63, 203, 8, 21, 0, 0, 0, 0, 165, 191, 2, 0, 2, 64, 203, 16, - 21, 0, 0, 0, 0, 125, 141, 0, 0, 2, 65, 203, 24, 0, 9, 170, 191, 2, 0, 32, 14, 103, 180, 2, 0, - 14, 255, 0, 0, 0, 0, 9, 187, 191, 2, 0, 32, 14, 240, 174, 2, 0, 14, 103, 180, 2, 0, 0, 9, 204, - 191, 2, 0, 32, 14, 240, 174, 2, 0, 14, 206, 183, 2, 0, 0, 9, 221, 191, 2, 0, 32, 14, 240, 174, - 2, 0, 14, 225, 48, 0, 0, 0, 9, 238, 191, 2, 0, 13, 168, 0, 0, 0, 14, 206, 183, 2, 0, 0, 9, 254, - 191, 2, 0, 32, 14, 240, 174, 2, 0, 0, 9, 10, 192, 2, 0, 32, 14, 240, 174, 2, 0, 14, 127, 29, 0, - 0, 14, 127, 29, 0, 0, 0, 9, 32, 192, 2, 0, 32, 14, 240, 174, 2, 0, 14, 71, 114, 0, 0, 0, 9, 49, - 192, 2, 0, 13, 168, 0, 0, 0, 14, 240, 174, 2, 0, 0, 9, 65, 192, 2, 0, 13, 168, 0, 0, 0, 14, - 240, 174, 2, 0, 14, 11, 1, 0, 0, 0, 9, 86, 192, 2, 0, 13, 140, 55, 0, 0, 14, 240, 174, 2, 0, 0, - 9, 102, 192, 2, 0, 13, 11, 1, 0, 0, 14, 240, 174, 2, 0, 0, 9, 118, 192, 2, 0, 32, 14, 240, 174, - 2, 0, 14, 11, 1, 0, 0, 0, 9, 135, 192, 2, 0, 26, 140, 192, 2, 0, 20, 0, 0, 0, 0, 32, 2, 82, - 203, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 83, 203, 0, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 84, 203, - 8, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 85, 203, 16, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 86, 203, 24, - 21, 0, 0, 0, 0, 5, 49, 0, 0, 2, 87, 203, 28, 0, 9, 220, 192, 2, 0, 45, 0, 0, 0, 0, 9, 230, 192, - 2, 0, 20, 0, 0, 0, 0, 208, 2, 101, 204, 21, 0, 0, 0, 0, 244, 193, 2, 0, 2, 102, 204, 0, 21, 0, - 0, 0, 0, 200, 204, 2, 0, 2, 103, 204, 8, 21, 0, 0, 0, 0, 248, 68, 0, 0, 2, 104, 204, 16, 21, 0, - 0, 0, 0, 11, 1, 0, 0, 2, 105, 204, 20, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 106, 204, 24, 21, 0, 0, - 0, 0, 11, 1, 0, 0, 2, 107, 204, 28, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 108, 204, 32, 21, 0, 0, 0, - 0, 11, 1, 0, 0, 2, 109, 204, 36, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 110, 204, 40, 21, 0, 0, 0, - 0, 227, 28, 0, 0, 2, 111, 204, 56, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 112, 204, 72, 21, 0, 0, 0, - 0, 173, 161, 0, 0, 2, 113, 204, 80, 21, 0, 0, 0, 0, 199, 53, 0, 0, 2, 114, 204, 120, 21, 0, 0, - 0, 0, 11, 1, 0, 0, 2, 115, 204, 128, 21, 0, 0, 0, 0, 140, 198, 2, 0, 2, 116, 204, 136, 21, 0, - 0, 0, 0, 241, 205, 2, 0, 2, 117, 204, 144, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 118, 204, 152, 21, - 0, 0, 0, 0, 248, 68, 0, 0, 2, 119, 204, 168, 21, 0, 0, 0, 0, 47, 107, 0, 0, 2, 120, 204, 176, - 21, 0, 0, 0, 0, 219, 52, 0, 0, 2, 121, 204, 200, 0, 9, 249, 193, 2, 0, 20, 0, 0, 0, 0, 80, 2, - 206, 204, 21, 0, 0, 0, 0, 244, 193, 2, 0, 2, 207, 204, 0, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, - 208, 204, 8, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 209, 204, 12, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 210, - 204, 16, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 211, 204, 20, 21, 0, 0, 0, 0, 159, 194, 2, 0, 2, 212, - 204, 24, 21, 0, 0, 0, 0, 199, 53, 0, 0, 2, 213, 204, 32, 21, 0, 0, 0, 0, 199, 53, 0, 0, 2, 214, - 204, 40, 21, 0, 0, 0, 0, 200, 204, 2, 0, 2, 215, 204, 48, 21, 0, 0, 0, 0, 158, 199, 2, 0, 2, - 216, 204, 56, 21, 0, 0, 0, 0, 76, 205, 2, 0, 2, 217, 204, 64, 21, 0, 0, 0, 0, 200, 205, 2, 0, - 2, 218, 204, 72, 0, 9, 164, 194, 2, 0, 9, 169, 194, 2, 0, 26, 174, 194, 2, 0, 20, 0, 0, 0, 0, - 40, 2, 180, 208, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 181, 208, 0, 21, 0, 0, 0, 0, 125, 68, 0, 0, - 2, 182, 208, 4, 21, 0, 0, 0, 0, 45, 195, 2, 0, 2, 183, 208, 8, 21, 0, 0, 0, 0, 186, 215, 0, 0, - 2, 184, 208, 16, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 185, 208, 24, 21, 0, 0, 0, 0, 219, 52, 0, 0, - 2, 186, 208, 28, 21, 0, 0, 0, 0, 219, 52, 0, 0, 2, 187, 208, 29, 21, 0, 0, 0, 0, 219, 52, 0, 0, - 2, 188, 208, 30, 21, 0, 0, 0, 0, 167, 204, 2, 0, 2, 189, 208, 32, 0, 9, 50, 195, 2, 0, 26, 55, - 195, 2, 0, 20, 0, 0, 0, 0, 56, 2, 145, 208, 21, 0, 0, 0, 0, 182, 195, 2, 0, 2, 146, 208, 0, 21, - 0, 0, 0, 0, 167, 204, 2, 0, 2, 147, 208, 8, 21, 0, 0, 0, 0, 167, 204, 2, 0, 2, 148, 208, 16, - 21, 0, 0, 0, 0, 188, 204, 2, 0, 2, 149, 208, 24, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 150, 208, 32, - 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 151, 208, 36, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 152, 208, 40, 21, - 0, 0, 0, 0, 11, 1, 0, 0, 2, 153, 208, 44, 21, 0, 0, 0, 0, 14, 29, 0, 0, 2, 154, 208, 48, 0, 9, - 187, 195, 2, 0, 13, 190, 48, 0, 0, 14, 198, 195, 2, 0, 0, 9, 203, 195, 2, 0, 27, 0, 0, 0, 0, - 136, 44, 2, 62, 208, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 63, 208, 0, 21, 0, 0, 0, 0, 65, 29, 0, - 0, 2, 64, 208, 16, 21, 0, 0, 0, 0, 215, 192, 2, 0, 2, 65, 208, 32, 21, 0, 0, 0, 0, 16, 7, 2, 0, - 2, 66, 208, 40, 21, 0, 0, 0, 0, 140, 55, 0, 0, 2, 67, 208, 168, 21, 0, 0, 0, 0, 16, 7, 2, 0, 2, - 68, 208, 176, 28, 0, 0, 0, 0, 140, 55, 0, 0, 2, 69, 208, 48, 1, 28, 0, 0, 0, 0, 225, 192, 2, 0, - 2, 70, 208, 56, 1, 28, 0, 0, 0, 0, 140, 198, 2, 0, 2, 71, 208, 64, 1, 28, 0, 0, 0, 0, 45, 195, - 2, 0, 2, 72, 208, 72, 1, 28, 0, 0, 0, 0, 52, 199, 2, 0, 2, 73, 208, 80, 1, 28, 0, 0, 0, 0, 10, - 200, 2, 0, 2, 74, 208, 88, 1, 28, 0, 0, 0, 0, 255, 0, 0, 0, 2, 75, 208, 144, 1, 28, 0, 0, 0, 0, - 172, 202, 2, 0, 2, 76, 208, 152, 1, 28, 0, 0, 0, 0, 140, 55, 0, 0, 2, 77, 208, 160, 1, 28, 0, - 0, 0, 0, 200, 185, 2, 0, 2, 78, 208, 168, 1, 28, 0, 0, 0, 0, 106, 190, 2, 0, 2, 79, 208, 240, - 1, 28, 0, 0, 0, 0, 106, 190, 2, 0, 2, 80, 208, 56, 2, 28, 0, 0, 0, 0, 68, 56, 0, 0, 2, 81, 208, - 128, 2, 28, 0, 0, 0, 0, 200, 185, 2, 0, 2, 82, 208, 136, 2, 28, 0, 0, 0, 0, 0, 204, 2, 0, 2, - 83, 208, 208, 2, 28, 0, 0, 0, 0, 70, 110, 0, 0, 2, 84, 208, 240, 10, 28, 0, 0, 0, 0, 70, 110, - 0, 0, 2, 85, 208, 248, 10, 28, 0, 0, 0, 0, 70, 110, 0, 0, 2, 86, 208, 0, 11, 28, 0, 0, 0, 0, - 13, 204, 2, 0, 2, 87, 208, 8, 11, 28, 0, 0, 0, 0, 74, 204, 2, 0, 2, 88, 208, 136, 11, 28, 0, 0, - 0, 0, 87, 204, 2, 0, 2, 89, 208, 184, 27, 28, 0, 0, 0, 0, 190, 48, 0, 0, 2, 90, 208, 232, 43, - 28, 0, 0, 0, 0, 125, 68, 0, 0, 2, 91, 208, 236, 43, 28, 0, 0, 0, 0, 125, 68, 0, 0, 2, 92, 208, - 240, 43, 28, 0, 0, 0, 0, 125, 68, 0, 0, 2, 93, 208, 244, 43, 28, 0, 0, 0, 0, 125, 68, 0, 0, 2, - 94, 208, 248, 43, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 95, 208, 252, 43, 28, 0, 0, 0, 0, 127, 29, - 0, 0, 2, 96, 208, 0, 44, 28, 0, 0, 0, 0, 32, 207, 0, 0, 2, 97, 208, 8, 44, 28, 0, 0, 0, 0, 255, - 0, 0, 0, 2, 98, 208, 16, 44, 28, 0, 0, 0, 0, 255, 0, 0, 0, 2, 99, 208, 24, 44, 28, 0, 0, 0, 0, - 255, 0, 0, 0, 2, 100, 208, 32, 44, 28, 0, 0, 0, 0, 190, 48, 0, 0, 2, 101, 208, 40, 44, 28, 0, - 0, 0, 0, 168, 0, 0, 0, 2, 102, 208, 44, 44, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 103, 208, 48, 44, - 28, 0, 0, 0, 0, 32, 207, 0, 0, 2, 104, 208, 56, 44, 28, 0, 0, 0, 0, 100, 204, 2, 0, 2, 105, - 208, 64, 44, 28, 0, 0, 0, 0, 186, 199, 2, 0, 2, 106, 208, 80, 44, 28, 0, 0, 0, 0, 186, 199, 2, - 0, 2, 107, 208, 88, 44, 28, 0, 0, 0, 0, 157, 204, 2, 0, 2, 108, 208, 96, 44, 28, 0, 0, 0, 0, - 130, 120, 0, 0, 2, 109, 208, 104, 44, 28, 0, 0, 0, 0, 248, 68, 0, 0, 2, 110, 208, 112, 44, 28, - 0, 0, 0, 0, 115, 125, 1, 0, 2, 111, 208, 120, 44, 28, 0, 0, 0, 0, 31, 48, 1, 0, 2, 112, 208, - 128, 44, 0, 9, 145, 198, 2, 0, 20, 0, 0, 0, 0, 128, 2, 122, 208, 21, 0, 0, 0, 0, 11, 1, 0, 0, - 2, 123, 208, 0, 21, 0, 0, 0, 0, 248, 68, 0, 0, 2, 124, 208, 4, 21, 0, 0, 0, 0, 227, 28, 0, 0, - 2, 125, 208, 8, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 126, 208, 24, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, - 127, 208, 32, 21, 0, 0, 0, 0, 246, 198, 2, 0, 2, 128, 208, 48, 21, 0, 0, 0, 0, 127, 29, 0, 0, - 2, 129, 208, 80, 0, 20, 0, 0, 0, 0, 32, 2, 115, 208, 21, 0, 0, 0, 0, 71, 97, 0, 0, 2, 116, 208, - 0, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 117, 208, 8, 21, 0, 0, 0, 0, 71, 97, 0, 0, 2, 118, 208, - 16, 21, 0, 0, 0, 0, 71, 97, 0, 0, 2, 119, 208, 24, 0, 9, 57, 199, 2, 0, 20, 0, 0, 0, 0, 56, 2, - 46, 208, 21, 0, 0, 0, 0, 199, 53, 0, 0, 2, 47, 208, 0, 21, 0, 0, 0, 0, 111, 83, 0, 0, 2, 48, - 208, 8, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 49, 208, 16, 21, 0, 0, 0, 0, 158, 199, 2, 0, 2, 50, - 208, 24, 21, 0, 0, 0, 0, 158, 199, 2, 0, 2, 51, 208, 32, 21, 0, 0, 0, 0, 174, 199, 2, 0, 2, 52, - 208, 40, 21, 0, 0, 0, 0, 158, 199, 2, 0, 2, 53, 208, 48, 0, 9, 163, 199, 2, 0, 13, 168, 0, 0, - 0, 14, 198, 195, 2, 0, 0, 9, 179, 199, 2, 0, 32, 14, 186, 199, 2, 0, 0, 9, 191, 199, 2, 0, 20, - 0, 0, 0, 0, 56, 2, 47, 205, 21, 0, 0, 0, 0, 80, 110, 0, 0, 2, 48, 205, 0, 21, 0, 0, 0, 0, 184, - 28, 0, 0, 2, 49, 205, 8, 21, 0, 0, 0, 0, 199, 53, 0, 0, 2, 50, 205, 24, 21, 0, 0, 0, 0, 52, - 199, 2, 0, 2, 51, 205, 32, 21, 0, 0, 0, 0, 65, 29, 0, 0, 2, 52, 205, 40, 0, 20, 0, 0, 0, 0, 56, - 2, 35, 208, 21, 0, 0, 0, 0, 224, 63, 0, 0, 2, 36, 208, 0, 21, 0, 0, 0, 0, 21, 64, 0, 0, 2, 37, - 208, 4, 21, 0, 0, 0, 0, 105, 145, 2, 0, 2, 38, 208, 8, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 39, - 208, 16, 21, 0, 0, 0, 0, 199, 53, 0, 0, 2, 40, 208, 24, 21, 0, 0, 0, 0, 199, 53, 0, 0, 2, 41, - 208, 32, 21, 0, 0, 0, 0, 199, 53, 0, 0, 2, 42, 208, 40, 21, 0, 0, 0, 0, 124, 200, 2, 0, 2, 43, - 208, 48, 0, 9, 129, 200, 2, 0, 20, 0, 0, 0, 0, 104, 2, 22, 205, 21, 0, 0, 0, 0, 227, 28, 0, 0, - 2, 23, 205, 0, 21, 0, 0, 0, 0, 111, 83, 0, 0, 2, 24, 205, 16, 21, 0, 0, 0, 0, 22, 189, 2, 0, 2, - 25, 205, 24, 21, 0, 0, 0, 0, 199, 53, 0, 0, 2, 26, 205, 64, 21, 0, 0, 0, 0, 243, 200, 2, 0, 2, - 27, 205, 72, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 28, 205, 80, 21, 0, 0, 0, 0, 66, 202, 2, 0, 2, - 29, 205, 88, 21, 0, 0, 0, 0, 14, 29, 0, 0, 2, 30, 205, 96, 0, 9, 248, 200, 2, 0, 26, 253, 200, - 2, 0, 20, 0, 0, 0, 0, 48, 2, 55, 205, 21, 0, 0, 0, 0, 85, 201, 2, 0, 2, 56, 205, 0, 21, 0, 0, - 0, 0, 193, 201, 2, 0, 2, 57, 205, 8, 21, 0, 0, 0, 0, 193, 201, 2, 0, 2, 58, 205, 16, 21, 0, 0, - 0, 0, 4, 202, 2, 0, 2, 59, 205, 24, 21, 0, 0, 0, 0, 35, 202, 2, 0, 2, 60, 205, 32, 21, 0, 0, 0, - 0, 125, 141, 0, 0, 2, 61, 205, 40, 0, 9, 90, 201, 2, 0, 13, 168, 0, 0, 0, 14, 56, 1, 0, 0, 14, - 140, 55, 0, 0, 14, 121, 201, 2, 0, 14, 188, 201, 2, 0, 14, 8, 153, 0, 0, 0, 9, 126, 201, 2, 0, - 20, 0, 0, 0, 0, 24, 2, 11, 205, 21, 0, 0, 0, 0, 124, 200, 2, 0, 2, 12, 205, 0, 21, 0, 0, 0, 0, - 255, 0, 0, 0, 2, 13, 205, 8, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 14, 205, 16, 21, 0, 0, 0, 0, 11, - 1, 0, 0, 2, 15, 205, 20, 0, 9, 245, 110, 0, 0, 9, 198, 201, 2, 0, 13, 125, 68, 0, 0, 14, 121, - 201, 2, 0, 14, 225, 190, 2, 0, 14, 219, 201, 2, 0, 0, 9, 224, 201, 2, 0, 20, 0, 0, 0, 0, 16, 2, - 174, 202, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 175, 202, 0, 21, 0, 0, 0, 0, 254, 70, 2, 0, 2, 176, - 202, 8, 0, 9, 9, 202, 2, 0, 13, 125, 68, 0, 0, 14, 121, 201, 2, 0, 14, 168, 0, 0, 0, 14, 225, - 190, 2, 0, 14, 70, 110, 0, 0, 0, 9, 40, 202, 2, 0, 13, 125, 68, 0, 0, 14, 121, 201, 2, 0, 14, - 168, 0, 0, 0, 14, 168, 0, 0, 0, 14, 225, 190, 2, 0, 0, 9, 71, 202, 2, 0, 20, 0, 0, 0, 0, 48, 2, - 35, 205, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 36, 205, 0, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 37, - 205, 4, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 38, 205, 8, 21, 0, 0, 0, 0, 199, 53, 0, 0, 2, 39, - 205, 16, 21, 0, 0, 0, 0, 199, 53, 0, 0, 2, 40, 205, 24, 21, 0, 0, 0, 0, 186, 199, 2, 0, 2, 41, - 205, 32, 21, 0, 0, 0, 0, 219, 52, 0, 0, 2, 42, 205, 40, 0, 9, 177, 202, 2, 0, 27, 0, 0, 0, 0, - 104, 1, 2, 157, 208, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 158, 208, 0, 21, 0, 0, 0, 0, 215, 192, - 2, 0, 2, 159, 208, 8, 21, 0, 0, 0, 0, 16, 7, 2, 0, 2, 160, 208, 16, 21, 0, 0, 0, 0, 140, 55, 0, - 0, 2, 161, 208, 144, 21, 0, 0, 0, 0, 16, 7, 2, 0, 2, 162, 208, 152, 28, 0, 0, 0, 0, 140, 55, 0, - 0, 2, 163, 208, 24, 1, 28, 0, 0, 0, 0, 67, 203, 2, 0, 2, 164, 208, 32, 1, 28, 0, 0, 0, 0, 140, - 55, 0, 0, 2, 165, 208, 88, 1, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 166, 208, 96, 1, 28, 0, 0, 0, 0, - 244, 203, 2, 0, 2, 167, 208, 100, 1, 0, 20, 0, 0, 0, 0, 56, 2, 27, 208, 21, 0, 0, 0, 0, 184, - 28, 0, 0, 2, 28, 208, 0, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 29, 208, 16, 21, 0, 0, 0, 0, 142, - 203, 2, 0, 2, 30, 208, 32, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 31, 208, 40, 21, 0, 0, 0, 0, 222, - 203, 2, 0, 2, 32, 208, 48, 0, 9, 147, 203, 2, 0, 20, 0, 0, 0, 0, 48, 2, 12, 208, 21, 0, 0, 0, - 0, 184, 28, 0, 0, 2, 13, 208, 0, 21, 0, 0, 0, 0, 245, 110, 0, 0, 2, 14, 208, 16, 21, 0, 0, 0, - 0, 245, 110, 0, 0, 2, 15, 208, 24, 21, 0, 0, 0, 0, 80, 110, 0, 0, 2, 16, 208, 32, 21, 0, 0, 0, - 0, 127, 29, 0, 0, 2, 17, 208, 40, 0, 9, 227, 203, 2, 0, 32, 14, 239, 203, 2, 0, 14, 168, 0, 0, - 0, 0, 9, 67, 203, 2, 0, 3, 190, 48, 0, 0, 4, 82, 0, 0, 0, 0, 0, 3, 68, 56, 0, 0, 39, 82, 0, 0, - 0, 4, 1, 0, 20, 0, 0, 0, 0, 128, 2, 210, 174, 21, 0, 0, 0, 0, 5, 49, 0, 0, 2, 211, 174, 0, 21, - 0, 0, 0, 0, 219, 52, 0, 0, 2, 212, 174, 1, 21, 0, 0, 0, 0, 62, 204, 2, 0, 2, 213, 174, 8, 0, 3, - 68, 56, 0, 0, 4, 82, 0, 0, 0, 15, 0, 3, 229, 55, 0, 0, 39, 82, 0, 0, 0, 3, 1, 0, 3, 19, 56, 0, - 0, 39, 82, 0, 0, 0, 3, 1, 0, 20, 0, 0, 0, 0, 16, 2, 22, 208, 21, 0, 0, 0, 0, 136, 204, 2, 0, 2, - 23, 208, 0, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 24, 208, 8, 0, 9, 141, 204, 2, 0, 13, 239, 203, 2, - 0, 14, 152, 204, 2, 0, 0, 9, 100, 204, 2, 0, 9, 162, 204, 2, 0, 45, 0, 0, 0, 0, 9, 172, 204, 2, - 0, 13, 168, 0, 0, 0, 14, 198, 195, 2, 0, 14, 220, 190, 2, 0, 0, 9, 193, 204, 2, 0, 32, 14, 198, - 195, 2, 0, 0, 9, 205, 204, 2, 0, 20, 0, 0, 0, 0, 40, 2, 188, 204, 21, 0, 0, 0, 0, 244, 193, 2, - 0, 2, 189, 204, 0, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 190, 204, 8, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, - 191, 204, 12, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 192, 204, 16, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, - 193, 204, 20, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 194, 204, 24, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, - 195, 204, 28, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 196, 204, 32, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, - 197, 204, 36, 0, 9, 81, 205, 2, 0, 13, 190, 48, 0, 0, 14, 198, 195, 2, 0, 14, 102, 205, 2, 0, - 14, 112, 205, 2, 0, 0, 9, 107, 205, 2, 0, 26, 249, 193, 2, 0, 9, 117, 205, 2, 0, 20, 0, 0, 0, - 0, 8, 2, 170, 208, 22, 135, 205, 2, 0, 2, 171, 208, 0, 23, 8, 2, 171, 208, 21, 0, 0, 0, 0, 167, - 204, 2, 0, 2, 172, 208, 0, 21, 0, 0, 0, 0, 166, 205, 2, 0, 2, 176, 208, 0, 24, 8, 2, 173, 208, - 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 174, 208, 0, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 175, 208, 4, 0, 0, - 0, 9, 205, 205, 2, 0, 13, 168, 0, 0, 0, 14, 115, 125, 1, 0, 14, 102, 205, 2, 0, 14, 125, 68, 0, - 0, 14, 168, 0, 0, 0, 14, 225, 48, 0, 0, 14, 225, 48, 0, 0, 0, 9, 246, 205, 2, 0, 26, 251, 205, - 2, 0, 20, 0, 0, 0, 0, 40, 2, 137, 208, 21, 0, 0, 0, 0, 70, 206, 2, 0, 2, 138, 208, 0, 21, 0, 0, - 0, 0, 139, 65, 1, 0, 2, 139, 208, 8, 21, 0, 0, 0, 0, 87, 206, 2, 0, 2, 140, 208, 16, 21, 0, 0, - 0, 0, 99, 206, 2, 0, 2, 141, 208, 24, 21, 0, 0, 0, 0, 111, 83, 0, 0, 2, 142, 208, 32, 0, 9, 75, - 206, 2, 0, 32, 14, 225, 192, 2, 0, 14, 115, 125, 1, 0, 0, 9, 92, 206, 2, 0, 32, 14, 215, 192, - 2, 0, 0, 9, 104, 206, 2, 0, 13, 168, 0, 0, 0, 14, 225, 192, 2, 0, 14, 140, 198, 2, 0, 14, 168, - 0, 0, 0, 0, 3, 14, 29, 0, 0, 4, 82, 0, 0, 0, 6, 0, 9, 142, 206, 2, 0, 26, 147, 206, 2, 0, 20, - 0, 0, 0, 0, 72, 2, 126, 204, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 127, 204, 0, 21, 0, 0, 0, 0, - 168, 0, 0, 0, 2, 128, 204, 16, 21, 0, 0, 0, 0, 235, 206, 2, 0, 2, 129, 204, 24, 21, 0, 0, 0, 0, - 111, 83, 0, 0, 2, 130, 204, 32, 21, 0, 0, 0, 0, 28, 201, 0, 0, 2, 131, 204, 40, 21, 0, 0, 0, 0, - 193, 208, 2, 0, 2, 132, 204, 72, 0, 9, 240, 206, 2, 0, 13, 240, 174, 2, 0, 14, 251, 206, 2, 0, - 0, 9, 0, 207, 2, 0, 20, 0, 0, 0, 0, 72, 2, 135, 204, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 136, 204, - 0, 21, 0, 0, 0, 0, 115, 125, 1, 0, 2, 137, 204, 8, 21, 0, 0, 0, 0, 85, 52, 0, 0, 2, 138, 204, - 16, 21, 0, 0, 0, 0, 85, 52, 0, 0, 2, 139, 204, 24, 21, 0, 0, 0, 0, 140, 55, 0, 0, 2, 140, 204, - 32, 21, 0, 0, 0, 0, 14, 29, 0, 0, 2, 141, 204, 40, 21, 0, 0, 0, 0, 215, 192, 2, 0, 2, 142, 204, - 48, 21, 0, 0, 0, 0, 127, 207, 2, 0, 2, 143, 204, 56, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 144, 204, - 64, 0, 9, 132, 207, 2, 0, 20, 0, 0, 0, 0, 88, 2, 149, 204, 21, 0, 0, 0, 0, 248, 68, 0, 0, 2, - 150, 204, 0, 21, 0, 0, 0, 0, 80, 110, 0, 0, 2, 151, 204, 4, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, - 152, 204, 8, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 153, 204, 12, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 154, - 204, 16, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 155, 204, 20, 21, 0, 0, 0, 0, 71, 97, 0, 0, 2, 156, - 204, 24, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 157, 204, 32, 21, 0, 0, 0, 0, 115, 125, 1, 0, 2, - 158, 204, 48, 21, 0, 0, 0, 0, 42, 208, 2, 0, 2, 159, 204, 56, 21, 0, 0, 0, 0, 183, 208, 2, 0, - 2, 160, 204, 64, 21, 0, 0, 0, 0, 65, 29, 0, 0, 2, 161, 204, 72, 0, 9, 47, 208, 2, 0, 26, 52, - 208, 2, 0, 20, 0, 0, 0, 0, 24, 2, 221, 204, 21, 0, 0, 0, 0, 101, 208, 2, 0, 2, 222, 204, 0, 21, - 0, 0, 0, 0, 167, 208, 2, 0, 2, 223, 204, 8, 21, 0, 0, 0, 0, 167, 208, 2, 0, 2, 224, 204, 16, 0, - 9, 106, 208, 2, 0, 32, 14, 113, 208, 2, 0, 0, 9, 118, 208, 2, 0, 20, 0, 0, 0, 0, 24, 2, 96, - 203, 21, 0, 0, 0, 0, 127, 207, 2, 0, 2, 97, 203, 0, 21, 0, 0, 0, 0, 240, 174, 2, 0, 2, 98, 203, - 8, 21, 0, 0, 0, 0, 42, 208, 2, 0, 2, 99, 203, 16, 0, 9, 172, 208, 2, 0, 13, 240, 174, 2, 0, 14, - 113, 208, 2, 0, 0, 9, 188, 208, 2, 0, 45, 0, 0, 0, 0, 3, 14, 29, 0, 0, 4, 82, 0, 0, 0, 0, 0, 9, - 210, 208, 2, 0, 45, 0, 0, 0, 0, 9, 220, 208, 2, 0, 20, 0, 0, 0, 0, 48, 2, 164, 204, 21, 0, 0, - 0, 0, 104, 209, 2, 0, 2, 165, 204, 0, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 166, 204, 8, 21, 0, 0, 0, - 0, 11, 1, 0, 0, 2, 167, 204, 12, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 168, 204, 16, 21, 0, 0, 0, 0, - 11, 1, 0, 0, 2, 169, 204, 20, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 170, 204, 24, 21, 0, 0, 0, 0, 11, - 1, 0, 0, 2, 171, 204, 28, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 172, 204, 32, 21, 0, 0, 0, 0, 11, 1, - 0, 0, 2, 173, 204, 36, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 174, 204, 40, 0, 9, 109, 209, 2, 0, 26, - 114, 209, 2, 0, 20, 0, 0, 0, 0, 40, 2, 179, 204, 21, 0, 0, 0, 0, 14, 29, 0, 0, 2, 180, 204, 0, - 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 181, 204, 8, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 182, 204, 12, - 21, 0, 0, 0, 0, 202, 209, 2, 0, 2, 183, 204, 16, 21, 0, 0, 0, 0, 215, 208, 2, 0, 2, 184, 204, - 24, 21, 0, 0, 0, 0, 14, 29, 0, 0, 2, 185, 204, 32, 0, 9, 207, 209, 2, 0, 9, 212, 209, 2, 0, 26, - 217, 209, 2, 0, 20, 0, 0, 0, 0, 24, 2, 227, 204, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 228, 204, 0, - 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 229, 204, 4, 21, 0, 0, 0, 0, 48, 183, 2, 0, 2, 230, 204, 8, 21, - 0, 0, 0, 0, 186, 215, 0, 0, 2, 231, 204, 16, 0, 9, 28, 210, 2, 0, 45, 0, 0, 0, 0, 9, 38, 210, - 2, 0, 20, 0, 0, 0, 0, 112, 2, 75, 203, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 76, 203, 0, 21, 0, 0, - 0, 0, 235, 170, 0, 0, 2, 77, 203, 8, 21, 0, 0, 0, 0, 235, 170, 0, 0, 2, 78, 203, 48, 21, 0, 0, - 0, 0, 100, 210, 2, 0, 2, 79, 203, 88, 0, 3, 168, 0, 0, 0, 4, 82, 0, 0, 0, 5, 0, 20, 0, 0, 0, 0, - 24, 2, 70, 203, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 71, 203, 0, 21, 0, 0, 0, 0, 133, 66, 0, 0, 2, - 72, 203, 16, 0, 9, 153, 210, 2, 0, 45, 0, 0, 0, 0, 9, 163, 210, 2, 0, 26, 168, 210, 2, 0, 27, - 0, 0, 0, 0, 168, 1, 2, 158, 207, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 159, 207, 0, 21, 0, 0, 0, 0, - 188, 69, 0, 0, 2, 160, 207, 8, 21, 0, 0, 0, 0, 44, 65, 0, 0, 2, 161, 207, 16, 21, 0, 0, 0, 0, - 44, 65, 0, 0, 2, 162, 207, 24, 21, 0, 0, 0, 0, 197, 81, 0, 0, 2, 163, 207, 32, 21, 0, 0, 0, 0, - 121, 213, 2, 0, 2, 164, 207, 40, 21, 0, 0, 0, 0, 136, 213, 2, 0, 2, 165, 207, 48, 21, 0, 0, 0, - 0, 155, 217, 2, 0, 2, 166, 207, 56, 21, 0, 0, 0, 0, 20, 76, 0, 0, 2, 167, 207, 64, 21, 0, 0, 0, - 0, 176, 217, 2, 0, 2, 168, 207, 72, 21, 0, 0, 0, 0, 212, 217, 2, 0, 2, 169, 207, 80, 21, 0, 0, - 0, 0, 114, 218, 2, 0, 2, 170, 207, 88, 21, 0, 0, 0, 0, 150, 218, 2, 0, 2, 171, 207, 96, 21, 0, - 0, 0, 0, 181, 218, 2, 0, 2, 172, 207, 104, 21, 0, 0, 0, 0, 26, 219, 2, 0, 2, 173, 207, 112, 21, - 0, 0, 0, 0, 57, 219, 2, 0, 2, 174, 207, 120, 21, 0, 0, 0, 0, 88, 219, 2, 0, 2, 175, 207, 128, - 21, 0, 0, 0, 0, 109, 219, 2, 0, 2, 176, 207, 136, 21, 0, 0, 0, 0, 136, 219, 2, 0, 2, 177, 207, - 144, 21, 0, 0, 0, 0, 72, 221, 2, 0, 2, 178, 207, 152, 21, 0, 0, 0, 0, 93, 221, 2, 0, 2, 179, - 207, 160, 21, 0, 0, 0, 0, 115, 221, 2, 0, 2, 180, 207, 168, 21, 0, 0, 0, 0, 217, 222, 2, 0, 2, - 181, 207, 176, 21, 0, 0, 0, 0, 243, 222, 2, 0, 2, 182, 207, 184, 21, 0, 0, 0, 0, 13, 223, 2, 0, - 2, 183, 207, 192, 21, 0, 0, 0, 0, 49, 223, 2, 0, 2, 184, 207, 200, 21, 0, 0, 0, 0, 75, 223, 2, - 0, 2, 185, 207, 208, 21, 0, 0, 0, 0, 96, 223, 2, 0, 2, 186, 207, 216, 21, 0, 0, 0, 0, 251, 223, - 2, 0, 2, 187, 207, 224, 21, 0, 0, 0, 0, 26, 224, 2, 0, 2, 188, 207, 232, 21, 0, 0, 0, 0, 136, - 213, 2, 0, 2, 189, 207, 240, 21, 0, 0, 0, 0, 158, 224, 2, 0, 2, 190, 207, 248, 28, 0, 0, 0, 0, - 238, 224, 2, 0, 2, 191, 207, 0, 1, 28, 0, 0, 0, 0, 3, 225, 2, 0, 2, 192, 207, 8, 1, 28, 0, 0, - 0, 0, 187, 225, 2, 0, 2, 193, 207, 16, 1, 28, 0, 0, 0, 0, 214, 231, 2, 0, 2, 194, 207, 24, 1, - 28, 0, 0, 0, 0, 187, 225, 2, 0, 2, 195, 207, 32, 1, 28, 0, 0, 0, 0, 231, 231, 2, 0, 2, 196, - 207, 40, 1, 28, 0, 0, 0, 0, 187, 225, 2, 0, 2, 197, 207, 48, 1, 28, 0, 0, 0, 0, 2, 232, 2, 0, - 2, 198, 207, 56, 1, 28, 0, 0, 0, 0, 252, 234, 2, 0, 2, 199, 207, 64, 1, 28, 0, 0, 0, 0, 231, - 234, 2, 0, 2, 200, 207, 72, 1, 28, 0, 0, 0, 0, 141, 161, 2, 0, 2, 201, 207, 80, 1, 28, 0, 0, 0, - 0, 13, 235, 2, 0, 2, 202, 207, 88, 1, 28, 0, 0, 0, 0, 39, 235, 2, 0, 2, 203, 207, 96, 1, 28, 0, - 0, 0, 0, 51, 235, 2, 0, 2, 204, 207, 104, 1, 28, 0, 0, 0, 0, 68, 235, 2, 0, 2, 205, 207, 112, - 1, 28, 0, 0, 0, 0, 104, 235, 2, 0, 2, 206, 207, 120, 1, 28, 0, 0, 0, 0, 125, 235, 2, 0, 2, 207, - 207, 128, 1, 28, 0, 0, 0, 0, 156, 235, 2, 0, 2, 208, 207, 136, 1, 28, 0, 0, 0, 0, 177, 235, 2, - 0, 2, 209, 207, 144, 1, 28, 0, 0, 0, 0, 189, 235, 2, 0, 2, 210, 207, 152, 1, 28, 0, 0, 0, 0, - 205, 235, 2, 0, 2, 211, 207, 160, 1, 0, 9, 126, 213, 2, 0, 26, 131, 213, 2, 0, 45, 0, 0, 0, 0, - 9, 141, 213, 2, 0, 13, 168, 0, 0, 0, 14, 161, 166, 2, 0, 14, 162, 213, 2, 0, 14, 215, 213, 2, - 0, 0, 9, 167, 213, 2, 0, 20, 0, 0, 0, 0, 130, 2, 234, 204, 21, 0, 0, 0, 0, 225, 48, 0, 0, 2, - 235, 204, 0, 21, 0, 0, 0, 0, 203, 213, 2, 0, 2, 236, 204, 2, 0, 3, 5, 49, 0, 0, 4, 82, 0, 0, 0, - 128, 0, 9, 220, 213, 2, 0, 20, 0, 0, 0, 0, 120, 2, 119, 205, 21, 0, 0, 0, 0, 195, 214, 2, 0, 2, - 120, 205, 0, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 121, 205, 8, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 122, - 205, 12, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 123, 205, 16, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 124, 205, - 20, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 125, 205, 24, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 126, 205, 28, - 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 127, 205, 32, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 128, 205, 40, 21, - 0, 0, 0, 0, 52, 161, 0, 0, 2, 129, 205, 48, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 130, 205, 64, 21, 0, - 0, 0, 0, 0, 1, 0, 0, 2, 131, 205, 68, 21, 0, 0, 0, 0, 99, 217, 2, 0, 2, 132, 205, 72, 21, 0, 0, - 0, 0, 0, 1, 0, 0, 2, 133, 205, 104, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 134, 205, 108, 21, 0, 0, 0, - 0, 111, 217, 2, 0, 2, 135, 205, 112, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 136, 205, 116, 0, 9, 200, - 214, 2, 0, 20, 0, 0, 0, 0, 224, 2, 83, 205, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 84, 205, 0, 21, 0, - 0, 0, 0, 213, 63, 0, 0, 2, 85, 205, 4, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 86, 205, 8, 21, 0, 0, 0, - 0, 224, 63, 0, 0, 2, 87, 205, 12, 21, 0, 0, 0, 0, 21, 64, 0, 0, 2, 88, 205, 16, 21, 0, 0, 0, 0, - 7, 75, 0, 0, 2, 89, 205, 20, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 90, 205, 24, 21, 0, 0, 0, 0, 57, - 215, 2, 0, 2, 99, 205, 32, 23, 8, 2, 91, 205, 21, 0, 0, 0, 0, 75, 215, 2, 0, 2, 95, 205, 0, 24, - 8, 2, 92, 205, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 93, 205, 0, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 94, - 205, 4, 0, 21, 0, 0, 0, 0, 120, 215, 2, 0, 2, 98, 205, 0, 24, 8, 2, 96, 205, 21, 0, 0, 0, 0, - 197, 0, 0, 0, 2, 97, 205, 0, 0, 0, 21, 0, 0, 0, 0, 106, 216, 2, 0, 2, 100, 205, 40, 21, 0, 0, - 0, 0, 197, 0, 0, 0, 2, 101, 205, 56, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 102, 205, 64, 21, 0, 0, - 0, 0, 52, 161, 0, 0, 2, 103, 205, 72, 21, 0, 0, 0, 0, 52, 161, 0, 0, 2, 104, 205, 88, 21, 0, 0, - 0, 0, 52, 161, 0, 0, 2, 105, 205, 104, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 106, 205, 120, 21, 0, - 0, 0, 0, 197, 0, 0, 0, 2, 107, 205, 128, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 108, 205, 136, 21, 0, - 0, 0, 0, 52, 161, 0, 0, 2, 109, 205, 144, 21, 0, 0, 0, 0, 52, 161, 0, 0, 2, 110, 205, 160, 21, - 0, 0, 0, 0, 127, 29, 0, 0, 2, 111, 205, 176, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 112, 205, 184, - 21, 0, 0, 0, 0, 154, 216, 2, 0, 2, 113, 205, 192, 21, 0, 0, 0, 0, 154, 216, 2, 0, 2, 114, 205, - 200, 21, 0, 0, 0, 0, 195, 216, 2, 0, 2, 115, 205, 208, 21, 0, 0, 0, 0, 32, 217, 2, 0, 2, 116, - 205, 216, 0, 20, 0, 0, 0, 0, 16, 2, 69, 205, 21, 0, 0, 0, 0, 142, 216, 2, 0, 2, 70, 205, 0, 21, - 0, 0, 0, 0, 142, 216, 2, 0, 2, 71, 205, 8, 0, 33, 136, 68, 0, 0, 0, 0, 0, 0, 2, 174, 77, 9, - 159, 216, 2, 0, 20, 0, 0, 0, 0, 16, 2, 64, 205, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 65, 205, 0, 21, - 0, 0, 0, 0, 199, 53, 0, 0, 2, 66, 205, 8, 0, 9, 200, 216, 2, 0, 20, 0, 0, 0, 0, 40, 2, 74, 205, - 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 75, 205, 0, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 76, 205, 4, 21, 0, 0, - 0, 0, 197, 0, 0, 0, 2, 77, 205, 8, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 78, 205, 16, 21, 0, 0, 0, - 0, 197, 0, 0, 0, 2, 79, 205, 24, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 80, 205, 32, 0, 9, 37, 217, - 2, 0, 20, 0, 0, 0, 0, 24, 2, 246, 204, 21, 0, 0, 0, 0, 13, 111, 0, 0, 2, 247, 204, 0, 21, 0, 0, - 0, 0, 13, 111, 0, 0, 2, 248, 204, 4, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 249, 204, 8, 21, 0, 0, - 0, 0, 199, 53, 0, 0, 2, 250, 204, 16, 0, 3, 0, 1, 0, 0, 4, 82, 0, 0, 0, 8, 0, 17, 11, 1, 0, 0, - 0, 0, 0, 0, 4, 2, 1, 205, 18, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 1, 18, 0, 0, 0, 0, 2, 18, 0, 0, 0, - 0, 3, 18, 0, 0, 0, 0, 4, 0, 9, 160, 217, 2, 0, 13, 168, 0, 0, 0, 14, 36, 76, 0, 0, 14, 161, - 166, 2, 0, 0, 9, 181, 217, 2, 0, 13, 168, 0, 0, 0, 14, 161, 166, 2, 0, 14, 162, 213, 2, 0, 14, - 195, 214, 2, 0, 14, 32, 217, 2, 0, 14, 101, 60, 0, 0, 0, 9, 217, 217, 2, 0, 13, 168, 0, 0, 0, - 14, 133, 66, 0, 0, 14, 195, 214, 2, 0, 14, 238, 217, 2, 0, 0, 9, 243, 217, 2, 0, 20, 0, 0, 0, - 0, 80, 2, 113, 13, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 114, 13, 0, 21, 0, 0, 0, 0, 213, 63, 0, 0, - 2, 115, 13, 4, 21, 0, 0, 0, 0, 224, 63, 0, 0, 2, 116, 13, 8, 21, 0, 0, 0, 0, 21, 64, 0, 0, 2, - 117, 13, 12, 21, 0, 0, 0, 0, 29, 75, 0, 0, 2, 118, 13, 16, 21, 0, 0, 0, 0, 52, 161, 0, 0, 2, - 119, 13, 24, 21, 0, 0, 0, 0, 52, 161, 0, 0, 2, 120, 13, 40, 21, 0, 0, 0, 0, 52, 161, 0, 0, 2, - 121, 13, 56, 21, 0, 0, 0, 0, 69, 80, 0, 0, 2, 122, 13, 72, 0, 9, 119, 218, 2, 0, 13, 168, 0, 0, - 0, 14, 101, 60, 0, 0, 14, 133, 66, 0, 0, 14, 162, 213, 2, 0, 14, 195, 214, 2, 0, 14, 32, 217, - 2, 0, 0, 9, 155, 218, 2, 0, 13, 168, 0, 0, 0, 14, 101, 60, 0, 0, 14, 162, 213, 2, 0, 14, 195, - 214, 2, 0, 14, 32, 217, 2, 0, 0, 9, 186, 218, 2, 0, 13, 168, 0, 0, 0, 14, 101, 60, 0, 0, 14, - 202, 218, 2, 0, 0, 9, 207, 218, 2, 0, 20, 0, 0, 0, 0, 72, 2, 214, 207, 21, 0, 0, 0, 0, 86, 40, - 0, 0, 2, 215, 207, 0, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 216, 207, 24, 21, 0, 0, 0, 0, 103, 110, - 0, 0, 2, 217, 207, 40, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 218, 207, 48, 21, 0, 0, 0, 0, 65, 29, 0, - 0, 2, 219, 207, 56, 0, 9, 31, 219, 2, 0, 13, 168, 0, 0, 0, 14, 101, 60, 0, 0, 14, 68, 56, 0, 0, - 14, 11, 1, 0, 0, 14, 11, 1, 0, 0, 0, 9, 62, 219, 2, 0, 13, 168, 0, 0, 0, 14, 101, 60, 0, 0, 14, - 133, 66, 0, 0, 14, 238, 217, 2, 0, 14, 168, 0, 0, 0, 0, 9, 93, 219, 2, 0, 13, 168, 0, 0, 0, 14, - 101, 60, 0, 0, 14, 133, 66, 0, 0, 0, 9, 114, 219, 2, 0, 32, 14, 131, 219, 2, 0, 14, 133, 66, 0, - 0, 14, 101, 60, 0, 0, 0, 9, 242, 182, 2, 0, 9, 141, 219, 2, 0, 32, 14, 103, 180, 2, 0, 14, 153, - 219, 2, 0, 0, 9, 158, 219, 2, 0, 27, 0, 0, 0, 0, 128, 1, 2, 127, 207, 21, 0, 0, 0, 0, 5, 220, - 2, 0, 2, 128, 207, 0, 21, 0, 0, 0, 0, 129, 220, 2, 0, 2, 129, 207, 40, 21, 0, 0, 0, 0, 133, 66, - 0, 0, 2, 130, 207, 112, 21, 0, 0, 0, 0, 47, 107, 0, 0, 2, 131, 207, 120, 21, 0, 0, 0, 0, 103, - 110, 0, 0, 2, 132, 207, 144, 21, 0, 0, 0, 0, 200, 214, 2, 0, 2, 133, 207, 152, 28, 0, 0, 0, 0, - 248, 0, 0, 0, 2, 134, 207, 120, 1, 0, 20, 0, 0, 0, 0, 40, 2, 175, 206, 21, 0, 0, 0, 0, 54, 220, - 2, 0, 2, 176, 206, 0, 21, 0, 0, 0, 0, 119, 220, 2, 0, 2, 177, 206, 16, 21, 0, 0, 0, 0, 33, 68, - 0, 0, 2, 178, 206, 24, 0, 20, 0, 0, 0, 0, 16, 2, 163, 205, 21, 0, 0, 0, 0, 109, 220, 2, 0, 2, - 164, 205, 0, 34, 0, 0, 0, 0, 118, 55, 0, 0, 2, 165, 205, 1, 1, 7, 8, 34, 0, 0, 0, 0, 118, 55, - 0, 0, 2, 166, 205, 1, 1, 6, 8, 0, 9, 114, 220, 2, 0, 45, 0, 0, 0, 0, 9, 124, 220, 2, 0, 26, - 167, 213, 2, 0, 20, 0, 0, 0, 0, 72, 2, 181, 206, 21, 0, 0, 0, 0, 191, 220, 2, 0, 2, 182, 206, - 0, 21, 0, 0, 0, 0, 161, 166, 2, 0, 2, 183, 206, 32, 21, 0, 0, 0, 0, 195, 214, 2, 0, 2, 184, - 206, 40, 21, 0, 0, 0, 0, 23, 221, 2, 0, 2, 185, 206, 48, 0, 20, 0, 0, 0, 0, 32, 2, 169, 205, - 21, 0, 0, 0, 0, 109, 220, 2, 0, 2, 170, 205, 0, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 171, 205, 8, - 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 172, 205, 16, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 173, 205, 20, - 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 174, 205, 24, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 175, 205, 28, - 0, 20, 0, 0, 0, 0, 24, 2, 155, 205, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 156, 205, 0, 21, 0, 0, 0, - 0, 136, 68, 0, 0, 2, 157, 205, 8, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 158, 205, 16, 0, 9, 77, - 221, 2, 0, 13, 168, 0, 0, 0, 14, 103, 180, 2, 0, 14, 101, 60, 0, 0, 0, 9, 98, 221, 2, 0, 32, - 14, 131, 219, 2, 0, 14, 133, 66, 0, 0, 14, 133, 66, 0, 0, 0, 9, 120, 221, 2, 0, 32, 14, 103, - 180, 2, 0, 14, 132, 221, 2, 0, 0, 9, 137, 221, 2, 0, 27, 0, 0, 0, 0, 152, 2, 2, 137, 207, 21, - 0, 0, 0, 0, 54, 222, 2, 0, 2, 138, 207, 0, 21, 0, 0, 0, 0, 129, 222, 2, 0, 2, 139, 207, 48, 21, - 0, 0, 0, 0, 103, 110, 0, 0, 2, 140, 207, 152, 21, 0, 0, 0, 0, 101, 60, 0, 0, 2, 141, 207, 160, - 21, 0, 0, 0, 0, 133, 66, 0, 0, 2, 142, 207, 168, 21, 0, 0, 0, 0, 200, 214, 2, 0, 2, 143, 207, - 176, 28, 0, 0, 0, 0, 101, 60, 0, 0, 2, 144, 207, 144, 1, 28, 0, 0, 0, 0, 133, 66, 0, 0, 2, 145, - 207, 152, 1, 28, 0, 0, 0, 0, 200, 214, 2, 0, 2, 146, 207, 160, 1, 28, 0, 0, 0, 0, 115, 221, 2, - 0, 2, 147, 207, 128, 2, 28, 0, 0, 0, 0, 248, 0, 0, 0, 2, 148, 207, 136, 2, 28, 0, 0, 0, 0, 219, - 52, 0, 0, 2, 149, 207, 144, 2, 0, 20, 0, 0, 0, 0, 48, 2, 188, 206, 21, 0, 0, 0, 0, 54, 220, 2, - 0, 2, 189, 206, 0, 21, 0, 0, 0, 0, 119, 220, 2, 0, 2, 190, 206, 16, 21, 0, 0, 0, 0, 119, 220, - 2, 0, 2, 191, 206, 24, 21, 0, 0, 0, 0, 209, 70, 0, 0, 2, 192, 206, 32, 21, 0, 0, 0, 0, 209, 70, - 0, 0, 2, 193, 206, 40, 0, 20, 0, 0, 0, 0, 104, 2, 196, 206, 21, 0, 0, 0, 0, 191, 220, 2, 0, 2, - 197, 206, 0, 21, 0, 0, 0, 0, 161, 166, 2, 0, 2, 198, 206, 32, 21, 0, 0, 0, 0, 23, 221, 2, 0, 2, - 199, 206, 40, 21, 0, 0, 0, 0, 195, 214, 2, 0, 2, 200, 206, 64, 21, 0, 0, 0, 0, 23, 221, 2, 0, - 2, 201, 206, 72, 21, 0, 0, 0, 0, 195, 214, 2, 0, 2, 202, 206, 96, 0, 9, 222, 222, 2, 0, 13, - 168, 0, 0, 0, 14, 103, 180, 2, 0, 14, 101, 60, 0, 0, 14, 101, 60, 0, 0, 0, 9, 248, 222, 2, 0, - 13, 168, 0, 0, 0, 14, 101, 60, 0, 0, 14, 101, 60, 0, 0, 14, 209, 70, 0, 0, 0, 9, 18, 223, 2, 0, - 13, 168, 0, 0, 0, 14, 101, 60, 0, 0, 14, 133, 66, 0, 0, 14, 68, 56, 0, 0, 14, 11, 1, 0, 0, 14, - 238, 217, 2, 0, 0, 9, 54, 223, 2, 0, 13, 168, 0, 0, 0, 14, 101, 60, 0, 0, 14, 133, 66, 0, 0, - 14, 238, 217, 2, 0, 0, 9, 80, 223, 2, 0, 13, 168, 0, 0, 0, 14, 101, 60, 0, 0, 14, 209, 70, 0, - 0, 0, 9, 101, 223, 2, 0, 13, 168, 0, 0, 0, 14, 117, 223, 2, 0, 14, 223, 223, 2, 0, 0, 9, 122, - 223, 2, 0, 20, 0, 0, 0, 0, 48, 2, 219, 206, 21, 0, 0, 0, 0, 133, 66, 0, 0, 2, 220, 206, 0, 21, - 0, 0, 0, 0, 103, 110, 0, 0, 2, 221, 206, 8, 21, 0, 0, 0, 0, 220, 190, 2, 0, 2, 222, 206, 16, - 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 223, 206, 24, 21, 0, 0, 0, 0, 70, 110, 0, 0, 2, 224, 206, 32, - 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 225, 206, 40, 21, 0, 0, 0, 0, 219, 52, 0, 0, 2, 226, 206, 44, - 0, 9, 228, 223, 2, 0, 20, 0, 0, 0, 0, 8, 2, 229, 206, 21, 0, 0, 0, 0, 220, 190, 2, 0, 2, 230, - 206, 0, 0, 9, 0, 224, 2, 0, 13, 168, 0, 0, 0, 14, 101, 60, 0, 0, 14, 133, 66, 0, 0, 14, 238, - 217, 2, 0, 14, 7, 75, 0, 0, 0, 9, 31, 224, 2, 0, 13, 168, 0, 0, 0, 14, 161, 166, 2, 0, 14, 162, - 213, 2, 0, 14, 52, 224, 2, 0, 0, 9, 57, 224, 2, 0, 20, 0, 0, 0, 0, 56, 2, 139, 205, 21, 0, 0, - 0, 0, 195, 214, 2, 0, 2, 140, 205, 0, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 141, 205, 8, 21, 0, 0, - 0, 0, 197, 0, 0, 0, 2, 142, 205, 16, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 143, 205, 24, 21, 0, 0, - 0, 0, 197, 0, 0, 0, 2, 144, 205, 32, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 145, 205, 40, 21, 0, 0, - 0, 0, 197, 0, 0, 0, 2, 146, 205, 48, 0, 9, 163, 224, 2, 0, 13, 168, 0, 0, 0, 14, 161, 166, 2, - 0, 14, 162, 213, 2, 0, 14, 184, 224, 2, 0, 0, 9, 189, 224, 2, 0, 20, 0, 0, 0, 0, 16, 2, 149, - 205, 21, 0, 0, 0, 0, 195, 214, 2, 0, 2, 150, 205, 0, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 151, 205, - 8, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 152, 205, 12, 0, 9, 243, 224, 2, 0, 13, 168, 0, 0, 0, 14, - 161, 166, 2, 0, 14, 162, 213, 2, 0, 0, 9, 8, 225, 2, 0, 13, 168, 0, 0, 0, 14, 101, 190, 2, 0, - 14, 29, 225, 2, 0, 14, 219, 52, 0, 0, 0, 9, 34, 225, 2, 0, 20, 0, 0, 0, 0, 80, 2, 205, 206, 21, - 0, 0, 0, 0, 197, 0, 0, 0, 2, 206, 206, 0, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 207, 206, 8, 21, 0, - 0, 0, 0, 197, 0, 0, 0, 2, 208, 206, 16, 21, 0, 0, 0, 0, 14, 29, 0, 0, 2, 209, 206, 24, 21, 0, - 0, 0, 0, 11, 1, 0, 0, 2, 210, 206, 32, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 211, 206, 36, 21, 0, 0, - 0, 0, 162, 213, 2, 0, 2, 212, 206, 40, 21, 0, 0, 0, 0, 195, 214, 2, 0, 2, 213, 206, 48, 21, 0, - 0, 0, 0, 32, 217, 2, 0, 2, 214, 206, 56, 21, 0, 0, 0, 0, 5, 49, 0, 0, 2, 215, 206, 64, 21, 0, - 0, 0, 0, 161, 166, 2, 0, 2, 216, 206, 72, 0, 9, 192, 225, 2, 0, 13, 168, 0, 0, 0, 14, 103, 180, - 2, 0, 14, 208, 225, 2, 0, 0, 9, 213, 225, 2, 0, 27, 0, 0, 0, 0, 136, 3, 2, 43, 207, 21, 0, 0, - 0, 0, 101, 60, 0, 0, 2, 44, 207, 0, 21, 0, 0, 0, 0, 103, 110, 0, 0, 2, 45, 207, 8, 21, 0, 0, 0, - 0, 227, 28, 0, 0, 2, 46, 207, 16, 21, 0, 0, 0, 0, 99, 227, 2, 0, 2, 47, 207, 32, 21, 0, 0, 0, - 0, 109, 227, 2, 0, 2, 48, 207, 40, 21, 0, 0, 0, 0, 117, 16, 2, 0, 2, 49, 207, 52, 21, 0, 0, 0, - 0, 210, 227, 2, 0, 2, 50, 207, 56, 21, 0, 0, 0, 0, 29, 75, 0, 0, 2, 51, 207, 64, 21, 0, 0, 0, - 0, 93, 191, 2, 0, 2, 52, 207, 72, 21, 0, 0, 0, 0, 220, 227, 2, 0, 2, 53, 207, 80, 21, 0, 0, 0, - 0, 232, 227, 2, 0, 2, 54, 207, 88, 21, 0, 0, 0, 0, 65, 228, 2, 0, 2, 55, 207, 96, 21, 0, 0, 0, - 0, 80, 228, 2, 0, 2, 56, 207, 104, 21, 0, 0, 0, 0, 90, 228, 2, 0, 2, 57, 207, 112, 21, 0, 0, 0, - 0, 168, 0, 0, 0, 2, 58, 207, 120, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 59, 207, 124, 21, 0, 0, 0, - 0, 11, 1, 0, 0, 2, 60, 207, 128, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 61, 207, 136, 21, 0, 0, 0, - 0, 108, 180, 2, 0, 2, 62, 207, 144, 28, 0, 0, 0, 0, 200, 214, 2, 0, 2, 63, 207, 120, 1, 28, 0, - 0, 0, 0, 100, 228, 2, 0, 2, 64, 207, 88, 2, 28, 0, 0, 0, 0, 247, 230, 2, 0, 2, 65, 207, 200, 2, - 28, 0, 0, 0, 0, 127, 29, 0, 0, 2, 66, 207, 16, 3, 28, 0, 0, 0, 0, 187, 225, 2, 0, 2, 67, 207, - 24, 3, 28, 0, 0, 0, 0, 197, 0, 0, 0, 2, 68, 207, 32, 3, 28, 0, 0, 0, 0, 165, 231, 2, 0, 2, 69, - 207, 40, 3, 28, 0, 0, 0, 0, 82, 170, 2, 0, 2, 70, 207, 120, 3, 28, 0, 0, 0, 0, 125, 68, 0, 0, - 2, 71, 207, 128, 3, 28, 0, 0, 0, 0, 125, 68, 0, 0, 2, 72, 207, 132, 3, 0, 9, 104, 227, 2, 0, - 45, 0, 0, 0, 0, 20, 0, 0, 0, 0, 12, 2, 117, 206, 21, 0, 0, 0, 0, 145, 227, 2, 0, 2, 118, 206, - 0, 21, 0, 0, 0, 0, 168, 227, 2, 0, 2, 119, 206, 8, 0, 20, 0, 0, 0, 0, 8, 2, 113, 206, 21, 0, 0, - 0, 0, 159, 77, 2, 0, 2, 114, 206, 0, 0, 17, 11, 1, 0, 0, 0, 0, 0, 0, 4, 2, 239, 204, 18, 0, 0, - 0, 0, 0, 18, 0, 0, 0, 0, 1, 18, 0, 0, 0, 0, 2, 18, 0, 0, 0, 0, 255, 255, 255, 255, 15, 0, 9, - 215, 227, 2, 0, 45, 0, 0, 0, 0, 9, 225, 227, 2, 0, 32, 14, 208, 225, 2, 0, 0, 9, 237, 227, 2, - 0, 26, 242, 227, 2, 0, 20, 0, 0, 0, 0, 32, 2, 75, 207, 21, 0, 0, 0, 0, 48, 228, 2, 0, 2, 76, - 207, 0, 21, 0, 0, 0, 0, 220, 227, 2, 0, 2, 77, 207, 8, 21, 0, 0, 0, 0, 220, 227, 2, 0, 2, 78, - 207, 16, 21, 0, 0, 0, 0, 220, 227, 2, 0, 2, 79, 207, 24, 0, 9, 53, 228, 2, 0, 32, 14, 4, 29, 0, - 0, 14, 168, 0, 0, 0, 0, 9, 70, 228, 2, 0, 26, 75, 228, 2, 0, 45, 0, 0, 0, 0, 9, 85, 228, 2, 0, - 45, 0, 0, 0, 0, 9, 95, 228, 2, 0, 45, 0, 0, 0, 0, 20, 0, 0, 0, 0, 112, 2, 122, 206, 21, 0, 0, - 0, 0, 54, 220, 2, 0, 2, 123, 206, 0, 21, 0, 0, 0, 0, 162, 213, 2, 0, 2, 124, 206, 16, 21, 0, 0, - 0, 0, 53, 229, 2, 0, 2, 125, 206, 24, 21, 0, 0, 0, 0, 56, 230, 2, 0, 2, 126, 206, 32, 21, 0, 0, - 0, 0, 61, 230, 2, 0, 2, 127, 206, 40, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 128, 206, 64, 21, 0, 0, - 0, 0, 0, 1, 0, 0, 2, 129, 206, 72, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 130, 206, 76, 21, 0, 0, 0, - 0, 70, 110, 0, 0, 2, 131, 206, 80, 22, 235, 228, 2, 0, 2, 132, 206, 88, 23, 24, 2, 132, 206, - 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 133, 206, 0, 22, 6, 229, 2, 0, 2, 134, 206, 0, 24, 24, 2, 134, - 206, 21, 0, 0, 0, 0, 176, 215, 0, 0, 2, 135, 206, 0, 21, 0, 0, 0, 0, 235, 230, 2, 0, 2, 136, - 206, 8, 21, 0, 0, 0, 0, 168, 227, 2, 0, 2, 137, 206, 20, 0, 0, 0, 9, 58, 229, 2, 0, 20, 0, 0, - 0, 0, 168, 2, 189, 205, 21, 0, 0, 0, 0, 224, 229, 2, 0, 2, 190, 205, 0, 21, 0, 0, 0, 0, 73, - 161, 2, 0, 2, 191, 205, 64, 21, 0, 0, 0, 0, 133, 66, 0, 0, 2, 192, 205, 72, 21, 0, 0, 0, 0, - 103, 110, 0, 0, 2, 193, 205, 80, 21, 0, 0, 0, 0, 83, 186, 2, 0, 2, 194, 205, 88, 21, 0, 0, 0, - 0, 7, 165, 2, 0, 2, 195, 205, 96, 21, 0, 0, 0, 0, 117, 16, 2, 0, 2, 196, 205, 104, 21, 0, 0, 0, - 0, 127, 29, 0, 0, 2, 197, 205, 112, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 198, 205, 120, 21, 0, 0, - 0, 0, 227, 28, 0, 0, 2, 199, 205, 128, 21, 0, 0, 0, 0, 195, 216, 2, 0, 2, 200, 205, 144, 21, 0, - 0, 0, 0, 65, 29, 0, 0, 2, 201, 205, 152, 0, 20, 0, 0, 0, 0, 64, 2, 180, 205, 21, 0, 0, 0, 0, - 141, 64, 0, 0, 2, 181, 205, 0, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 182, 205, 8, 21, 0, 0, 0, 0, - 53, 229, 2, 0, 2, 183, 205, 24, 21, 0, 0, 0, 0, 73, 161, 2, 0, 2, 184, 205, 32, 21, 0, 0, 0, 0, - 176, 64, 0, 0, 2, 185, 205, 40, 21, 0, 0, 0, 0, 65, 29, 0, 0, 2, 186, 205, 48, 0, 9, 224, 229, - 2, 0, 33, 73, 230, 2, 0, 0, 0, 0, 0, 2, 160, 202, 20, 0, 0, 0, 0, 20, 2, 140, 202, 22, 91, 230, - 2, 0, 2, 141, 202, 0, 23, 16, 2, 141, 202, 21, 0, 0, 0, 0, 105, 28, 0, 0, 2, 142, 202, 0, 22, - 118, 230, 2, 0, 2, 143, 202, 0, 24, 16, 2, 143, 202, 21, 0, 0, 0, 0, 190, 48, 0, 0, 2, 144, - 202, 0, 21, 0, 0, 0, 0, 223, 230, 2, 0, 2, 145, 202, 4, 0, 0, 21, 0, 0, 0, 0, 164, 230, 2, 0, - 2, 157, 202, 16, 25, 11, 1, 0, 0, 4, 2, 148, 202, 18, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 1, 18, 0, - 0, 0, 0, 2, 18, 0, 0, 0, 0, 3, 18, 0, 0, 0, 0, 4, 18, 0, 0, 0, 0, 5, 18, 0, 0, 0, 0, 6, 18, 0, - 0, 0, 0, 7, 0, 0, 3, 75, 0, 0, 0, 4, 82, 0, 0, 0, 12, 0, 3, 125, 68, 0, 0, 4, 82, 0, 0, 0, 3, - 0, 20, 0, 0, 0, 0, 72, 2, 142, 206, 21, 0, 0, 0, 0, 191, 220, 2, 0, 2, 143, 206, 0, 21, 0, 0, - 0, 0, 195, 214, 2, 0, 2, 144, 206, 32, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 145, 206, 40, 21, 0, 0, - 0, 0, 0, 1, 0, 0, 2, 146, 206, 48, 22, 61, 231, 2, 0, 2, 147, 206, 56, 23, 16, 2, 147, 206, 22, - 75, 231, 2, 0, 2, 148, 206, 0, 24, 8, 2, 148, 206, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 149, 206, 0, - 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 150, 206, 4, 0, 22, 116, 231, 2, 0, 2, 152, 206, 0, 24, 16, 2, - 152, 206, 21, 0, 0, 0, 0, 150, 231, 2, 0, 2, 153, 206, 0, 21, 0, 0, 0, 0, 155, 231, 2, 0, 2, - 154, 206, 8, 0, 0, 0, 9, 109, 227, 2, 0, 9, 160, 231, 2, 0, 26, 166, 166, 2, 0, 20, 0, 0, 0, 0, - 80, 2, 27, 207, 21, 0, 0, 0, 0, 70, 110, 0, 0, 2, 28, 207, 0, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, - 29, 207, 8, 21, 0, 0, 0, 0, 176, 150, 2, 0, 2, 30, 207, 16, 0, 9, 219, 231, 2, 0, 32, 14, 208, - 225, 2, 0, 14, 131, 219, 2, 0, 0, 9, 236, 231, 2, 0, 32, 14, 208, 225, 2, 0, 14, 131, 219, 2, - 0, 14, 253, 231, 2, 0, 0, 9, 227, 172, 2, 0, 9, 7, 232, 2, 0, 32, 14, 24, 232, 2, 0, 14, 131, - 219, 2, 0, 14, 253, 231, 2, 0, 0, 9, 29, 232, 2, 0, 27, 0, 0, 0, 0, 200, 2, 2, 97, 207, 21, 0, - 0, 0, 0, 108, 180, 2, 0, 2, 98, 207, 0, 21, 0, 0, 0, 0, 101, 60, 0, 0, 2, 99, 207, 232, 21, 0, - 0, 0, 0, 103, 110, 0, 0, 2, 100, 207, 240, 21, 0, 0, 0, 0, 200, 214, 2, 0, 2, 101, 207, 248, - 28, 0, 0, 0, 0, 109, 227, 2, 0, 2, 102, 207, 216, 1, 28, 0, 0, 0, 0, 227, 28, 0, 0, 2, 103, - 207, 232, 1, 28, 0, 0, 0, 0, 227, 28, 0, 0, 2, 104, 207, 248, 1, 28, 0, 0, 0, 0, 90, 228, 2, 0, - 2, 105, 207, 8, 2, 28, 0, 0, 0, 0, 46, 233, 2, 0, 2, 106, 207, 16, 2, 28, 0, 0, 0, 0, 121, 233, - 2, 0, 2, 107, 207, 64, 2, 28, 0, 0, 0, 0, 53, 229, 2, 0, 2, 108, 207, 128, 2, 28, 0, 0, 0, 0, - 210, 227, 2, 0, 2, 109, 207, 136, 2, 28, 0, 0, 0, 0, 82, 170, 2, 0, 2, 110, 207, 144, 2, 28, 0, - 0, 0, 0, 168, 0, 0, 0, 2, 111, 207, 152, 2, 28, 0, 0, 0, 0, 29, 75, 0, 0, 2, 112, 207, 160, 2, - 28, 0, 0, 0, 0, 93, 191, 2, 0, 2, 113, 207, 168, 2, 28, 0, 0, 0, 0, 196, 233, 2, 0, 2, 114, - 207, 176, 2, 28, 0, 0, 0, 0, 231, 234, 2, 0, 2, 115, 207, 184, 2, 28, 0, 0, 0, 0, 127, 29, 0, - 0, 2, 116, 207, 192, 2, 0, 20, 0, 0, 0, 0, 48, 2, 159, 206, 21, 0, 0, 0, 0, 54, 220, 2, 0, 2, - 160, 206, 0, 21, 0, 0, 0, 0, 162, 213, 2, 0, 2, 161, 206, 16, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, - 162, 206, 24, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 163, 206, 32, 21, 0, 0, 0, 0, 176, 215, 0, 0, 2, - 164, 206, 40, 0, 20, 0, 0, 0, 0, 64, 2, 167, 206, 21, 0, 0, 0, 0, 191, 220, 2, 0, 2, 168, 206, - 0, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 169, 206, 32, 21, 0, 0, 0, 0, 195, 214, 2, 0, 2, 170, 206, - 40, 21, 0, 0, 0, 0, 150, 231, 2, 0, 2, 171, 206, 48, 21, 0, 0, 0, 0, 155, 231, 2, 0, 2, 172, - 206, 56, 0, 9, 201, 233, 2, 0, 26, 206, 233, 2, 0, 20, 0, 0, 0, 0, 16, 2, 92, 207, 21, 0, 0, 0, - 0, 242, 233, 2, 0, 2, 93, 207, 0, 21, 0, 0, 0, 0, 254, 233, 2, 0, 2, 94, 207, 8, 0, 9, 247, - 233, 2, 0, 32, 14, 24, 232, 2, 0, 0, 9, 3, 234, 2, 0, 32, 14, 15, 234, 2, 0, 14, 99, 227, 2, 0, - 0, 9, 20, 234, 2, 0, 20, 0, 0, 0, 0, 40, 2, 119, 207, 21, 0, 0, 0, 0, 101, 60, 0, 0, 2, 120, - 207, 0, 21, 0, 0, 0, 0, 95, 234, 2, 0, 2, 121, 207, 8, 21, 0, 0, 0, 0, 149, 234, 2, 0, 2, 122, - 207, 16, 21, 0, 0, 0, 0, 90, 228, 2, 0, 2, 123, 207, 24, 21, 0, 0, 0, 0, 196, 233, 2, 0, 2, - 124, 207, 32, 0, 9, 100, 234, 2, 0, 20, 0, 0, 0, 0, 32, 2, 82, 207, 21, 0, 0, 0, 0, 176, 64, 0, - 0, 2, 83, 207, 0, 21, 0, 0, 0, 0, 71, 97, 0, 0, 2, 84, 207, 8, 21, 0, 0, 0, 0, 227, 28, 0, 0, - 2, 85, 207, 16, 0, 9, 154, 234, 2, 0, 20, 0, 0, 0, 0, 32, 2, 3, 207, 21, 0, 0, 0, 0, 227, 28, - 0, 0, 2, 4, 207, 0, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 5, 207, 16, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, - 6, 207, 20, 21, 0, 0, 0, 0, 216, 234, 2, 0, 2, 7, 207, 24, 0, 9, 221, 234, 2, 0, 26, 226, 234, - 2, 0, 45, 0, 0, 0, 0, 9, 236, 234, 2, 0, 13, 168, 0, 0, 0, 14, 103, 180, 2, 0, 14, 24, 232, 2, - 0, 0, 9, 1, 235, 2, 0, 32, 14, 103, 180, 2, 0, 14, 24, 232, 2, 0, 0, 9, 18, 235, 2, 0, 13, 168, - 0, 0, 0, 14, 29, 235, 2, 0, 0, 9, 34, 235, 2, 0, 26, 172, 161, 2, 0, 9, 44, 235, 2, 0, 32, 14, - 101, 60, 0, 0, 0, 9, 56, 235, 2, 0, 32, 14, 53, 229, 2, 0, 14, 168, 0, 0, 0, 0, 9, 73, 235, 2, - 0, 13, 101, 60, 0, 0, 14, 101, 60, 0, 0, 14, 53, 229, 2, 0, 14, 168, 0, 0, 0, 14, 238, 217, 2, - 0, 14, 214, 52, 0, 0, 0, 9, 109, 235, 2, 0, 13, 168, 0, 0, 0, 14, 101, 60, 0, 0, 14, 117, 16, - 2, 0, 0, 9, 130, 235, 2, 0, 13, 82, 170, 2, 0, 14, 141, 235, 2, 0, 0, 9, 146, 235, 2, 0, 26, - 151, 235, 2, 0, 45, 0, 0, 0, 0, 9, 161, 235, 2, 0, 13, 82, 170, 2, 0, 14, 82, 170, 2, 0, 14, - 141, 235, 2, 0, 0, 9, 182, 235, 2, 0, 32, 14, 82, 170, 2, 0, 0, 9, 194, 235, 2, 0, 13, 161, - 166, 2, 0, 14, 36, 76, 0, 0, 0, 9, 210, 235, 2, 0, 13, 161, 166, 2, 0, 14, 161, 166, 2, 0, 14, - 162, 213, 2, 0, 14, 195, 214, 2, 0, 14, 254, 187, 2, 0, 0, 9, 241, 235, 2, 0, 45, 0, 0, 0, 0, - 33, 2, 236, 2, 0, 0, 0, 0, 0, 2, 255, 204, 24, 8, 2, 253, 204, 21, 0, 0, 0, 0, 159, 77, 2, 0, - 2, 254, 204, 0, 0, 9, 26, 236, 2, 0, 45, 0, 0, 0, 0, 9, 36, 236, 2, 0, 26, 41, 236, 2, 0, 20, - 0, 0, 0, 0, 112, 2, 228, 207, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 229, 207, 0, 21, 0, 0, 0, 0, - 11, 1, 0, 0, 2, 230, 207, 4, 21, 0, 0, 0, 0, 246, 236, 2, 0, 2, 231, 207, 8, 21, 0, 0, 0, 0, - 177, 235, 2, 0, 2, 232, 207, 16, 21, 0, 0, 0, 0, 6, 237, 2, 0, 2, 233, 207, 24, 21, 0, 0, 0, 0, - 136, 213, 2, 0, 2, 234, 207, 32, 21, 0, 0, 0, 0, 37, 237, 2, 0, 2, 235, 207, 40, 21, 0, 0, 0, - 0, 54, 237, 2, 0, 2, 236, 207, 48, 21, 0, 0, 0, 0, 85, 237, 2, 0, 2, 237, 207, 56, 21, 0, 0, 0, - 0, 10, 238, 2, 0, 2, 238, 207, 64, 21, 0, 0, 0, 0, 93, 191, 2, 0, 2, 239, 207, 72, 21, 0, 0, 0, - 0, 32, 238, 2, 0, 2, 240, 207, 80, 21, 0, 0, 0, 0, 32, 238, 2, 0, 2, 241, 207, 88, 21, 0, 0, 0, - 0, 237, 238, 2, 0, 2, 242, 207, 96, 21, 0, 0, 0, 0, 82, 239, 2, 0, 2, 243, 207, 104, 0, 9, 251, - 236, 2, 0, 13, 168, 0, 0, 0, 14, 82, 170, 2, 0, 0, 9, 11, 237, 2, 0, 13, 219, 52, 0, 0, 14, 27, - 237, 2, 0, 14, 27, 237, 2, 0, 0, 9, 32, 237, 2, 0, 26, 61, 230, 2, 0, 9, 42, 237, 2, 0, 32, 14, - 161, 166, 2, 0, 14, 153, 164, 2, 0, 0, 9, 59, 237, 2, 0, 13, 168, 0, 0, 0, 14, 161, 166, 2, 0, - 14, 80, 237, 2, 0, 14, 103, 110, 0, 0, 0, 9, 61, 230, 2, 0, 9, 90, 237, 2, 0, 13, 106, 237, 2, - 0, 14, 160, 237, 2, 0, 14, 8, 153, 0, 0, 0, 9, 111, 237, 2, 0, 20, 0, 0, 0, 0, 32, 2, 107, 206, - 21, 0, 0, 0, 0, 160, 237, 2, 0, 2, 108, 206, 0, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 109, 206, 8, - 21, 0, 0, 0, 0, 103, 180, 2, 0, 2, 110, 206, 24, 0, 9, 165, 237, 2, 0, 20, 0, 0, 0, 0, 240, 2, - 130, 202, 21, 0, 0, 0, 0, 32, 207, 0, 0, 2, 131, 202, 0, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 132, - 202, 8, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 133, 202, 12, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 134, - 202, 16, 21, 0, 0, 0, 0, 248, 68, 0, 0, 2, 135, 202, 20, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 136, - 202, 24, 21, 0, 0, 0, 0, 18, 182, 2, 0, 2, 137, 202, 40, 0, 9, 15, 238, 2, 0, 32, 14, 227, 172, - 2, 0, 14, 240, 174, 2, 0, 14, 255, 0, 0, 0, 0, 9, 37, 238, 2, 0, 26, 42, 238, 2, 0, 20, 0, 0, - 0, 0, 48, 2, 210, 208, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 211, 208, 0, 21, 0, 0, 0, 0, 168, 0, 0, - 0, 2, 212, 208, 4, 21, 0, 0, 0, 0, 143, 238, 2, 0, 2, 213, 208, 8, 21, 0, 0, 0, 0, 164, 238, 2, - 0, 2, 214, 208, 16, 21, 0, 0, 0, 0, 185, 238, 2, 0, 2, 215, 208, 24, 21, 0, 0, 0, 0, 185, 238, - 2, 0, 2, 216, 208, 32, 21, 0, 0, 0, 0, 206, 238, 2, 0, 2, 217, 208, 40, 0, 9, 148, 238, 2, 0, - 13, 168, 0, 0, 0, 14, 243, 165, 2, 0, 14, 7, 165, 2, 0, 0, 9, 169, 238, 2, 0, 13, 168, 0, 0, 0, - 14, 7, 165, 2, 0, 14, 167, 161, 2, 0, 0, 9, 190, 238, 2, 0, 13, 168, 0, 0, 0, 14, 82, 170, 2, - 0, 14, 103, 110, 0, 0, 0, 9, 211, 238, 2, 0, 13, 168, 0, 0, 0, 14, 82, 170, 2, 0, 14, 232, 238, - 2, 0, 14, 103, 110, 0, 0, 0, 9, 82, 170, 2, 0, 9, 242, 238, 2, 0, 26, 247, 238, 2, 0, 20, 0, 0, - 0, 0, 24, 2, 220, 208, 21, 0, 0, 0, 0, 40, 239, 2, 0, 2, 221, 208, 0, 21, 0, 0, 0, 0, 66, 239, - 2, 0, 2, 222, 208, 8, 21, 0, 0, 0, 0, 185, 238, 2, 0, 2, 223, 208, 16, 0, 9, 45, 239, 2, 0, 13, - 168, 0, 0, 0, 14, 82, 170, 2, 0, 14, 103, 110, 0, 0, 14, 11, 1, 0, 0, 0, 9, 71, 239, 2, 0, 13, - 103, 110, 0, 0, 14, 82, 170, 2, 0, 0, 9, 87, 239, 2, 0, 26, 92, 239, 2, 0, 20, 0, 0, 0, 0, 16, - 2, 226, 208, 21, 0, 0, 0, 0, 128, 239, 2, 0, 2, 227, 208, 0, 21, 0, 0, 0, 0, 112, 240, 2, 0, 2, - 228, 208, 8, 0, 9, 133, 239, 2, 0, 13, 168, 0, 0, 0, 14, 101, 60, 0, 0, 14, 159, 239, 2, 0, 14, - 68, 56, 0, 0, 14, 103, 110, 0, 0, 0, 9, 164, 239, 2, 0, 63, 0, 0, 0, 0, 216, 103, 1, 0, 2, 244, - 206, 21, 0, 0, 0, 0, 200, 214, 2, 0, 2, 245, 206, 0, 21, 0, 0, 0, 0, 155, 231, 2, 0, 2, 246, - 206, 224, 21, 0, 0, 0, 0, 244, 239, 2, 0, 2, 247, 206, 232, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, - 248, 206, 240, 32, 28, 0, 0, 0, 0, 38, 240, 2, 0, 2, 249, 206, 248, 32, 0, 27, 0, 0, 0, 0, 8, - 32, 2, 233, 206, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 234, 206, 0, 21, 0, 0, 0, 0, 25, 240, 2, 0, 2, - 235, 206, 8, 0, 3, 159, 216, 2, 0, 39, 82, 0, 0, 0, 0, 2, 0, 3, 50, 240, 2, 0, 4, 82, 0, 0, 0, - 10, 0, 27, 0, 0, 0, 0, 176, 32, 2, 238, 206, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 239, 206, 0, 21, - 0, 0, 0, 0, 100, 240, 2, 0, 2, 240, 206, 8, 21, 0, 0, 0, 0, 244, 239, 2, 0, 2, 241, 206, 168, - 0, 3, 159, 216, 2, 0, 4, 82, 0, 0, 0, 10, 0, 9, 117, 240, 2, 0, 13, 168, 0, 0, 0, 14, 101, 60, - 0, 0, 14, 103, 110, 0, 0, 0, 9, 138, 240, 2, 0, 45, 0, 0, 0, 0, 9, 148, 240, 2, 0, 45, 0, 0, 0, - 0, 9, 158, 240, 2, 0, 27, 0, 0, 0, 0, 16, 4, 2, 10, 207, 21, 0, 0, 0, 0, 142, 216, 2, 0, 2, 11, - 207, 0, 21, 0, 0, 0, 0, 13, 111, 0, 0, 2, 12, 207, 8, 21, 0, 0, 0, 0, 175, 22, 1, 0, 2, 13, - 207, 12, 0, 9, 213, 240, 2, 0, 27, 0, 0, 0, 0, 4, 4, 2, 16, 207, 21, 0, 0, 0, 0, 13, 111, 0, 0, - 2, 17, 207, 0, 21, 0, 0, 0, 0, 175, 22, 1, 0, 2, 18, 207, 4, 0, 9, 255, 240, 2, 0, 27, 0, 0, 0, - 0, 24, 8, 2, 21, 207, 21, 0, 0, 0, 0, 51, 241, 2, 0, 2, 22, 207, 0, 28, 0, 0, 0, 0, 51, 241, 2, - 0, 2, 23, 207, 1, 4, 28, 0, 0, 0, 0, 64, 241, 2, 0, 2, 24, 207, 8, 8, 0, 3, 75, 0, 0, 0, 39, - 82, 0, 0, 0, 1, 4, 0, 20, 0, 0, 0, 0, 16, 2, 252, 206, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 253, - 206, 0, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 254, 206, 8, 0, 3, 75, 0, 0, 0, 4, 82, 0, 0, 0, 48, - 0, 9, 117, 241, 2, 0, 45, 0, 0, 0, 0, 9, 127, 241, 2, 0, 45, 0, 0, 0, 0, 9, 137, 241, 2, 0, 45, - 0, 0, 0, 0, 20, 0, 0, 0, 0, 52, 2, 208, 205, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 209, 205, 0, 21, - 0, 0, 0, 0, 178, 241, 2, 0, 2, 210, 205, 4, 0, 3, 254, 187, 2, 0, 4, 82, 0, 0, 0, 12, 0, 9, - 195, 241, 2, 0, 45, 0, 0, 0, 0, 9, 205, 241, 2, 0, 45, 0, 0, 0, 0, 9, 215, 241, 2, 0, 32, 14, - 161, 166, 2, 0, 0, 9, 227, 241, 2, 0, 13, 136, 90, 0, 0, 14, 69, 80, 0, 0, 14, 68, 56, 0, 0, - 14, 168, 0, 0, 0, 14, 140, 55, 0, 0, 14, 79, 115, 0, 0, 14, 168, 0, 0, 0, 0, 9, 12, 242, 2, 0, - 13, 168, 0, 0, 0, 14, 168, 0, 0, 0, 0, 9, 28, 242, 2, 0, 13, 136, 90, 0, 0, 14, 209, 105, 0, 0, - 14, 69, 80, 0, 0, 14, 79, 115, 0, 0, 14, 140, 55, 0, 0, 14, 11, 1, 0, 0, 0, 9, 64, 242, 2, 0, - 13, 136, 90, 0, 0, 14, 69, 80, 0, 0, 14, 79, 115, 0, 0, 14, 209, 105, 0, 0, 14, 140, 55, 0, 0, - 14, 11, 1, 0, 0, 0, 9, 100, 242, 2, 0, 13, 168, 0, 0, 0, 14, 69, 80, 0, 0, 14, 248, 0, 0, 0, - 14, 126, 242, 2, 0, 14, 31, 48, 1, 0, 0, 9, 167, 161, 2, 0, 9, 136, 242, 2, 0, 13, 248, 0, 0, - 0, 14, 69, 80, 0, 0, 14, 168, 0, 0, 0, 14, 29, 75, 0, 0, 14, 29, 75, 0, 0, 0, 9, 167, 242, 2, - 0, 32, 14, 71, 114, 0, 0, 14, 69, 80, 0, 0, 0, 9, 184, 242, 2, 0, 13, 136, 90, 0, 0, 14, 69, - 80, 0, 0, 14, 29, 75, 0, 0, 14, 69, 80, 0, 0, 14, 29, 75, 0, 0, 14, 140, 55, 0, 0, 14, 11, 1, - 0, 0, 0, 9, 225, 242, 2, 0, 13, 29, 75, 0, 0, 14, 69, 80, 0, 0, 14, 29, 75, 0, 0, 14, 69, 80, - 0, 0, 14, 29, 75, 0, 0, 14, 29, 75, 0, 0, 14, 11, 1, 0, 0, 0, 17, 11, 1, 0, 0, 0, 0, 0, 0, 4, - 2, 132, 8, 18, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 1, 18, 0, 0, 0, 0, 2, 18, 0, 0, 0, 0, 3, 18, 0, - 0, 0, 0, 4, 18, 0, 0, 0, 0, 5, 0, 20, 0, 0, 0, 0, 32, 2, 149, 8, 21, 0, 0, 0, 0, 188, 107, 0, - 0, 2, 150, 8, 0, 21, 0, 0, 0, 0, 67, 77, 1, 0, 2, 151, 8, 8, 21, 0, 0, 0, 0, 143, 243, 2, 0, 2, - 152, 8, 16, 21, 0, 0, 0, 0, 224, 63, 0, 0, 2, 153, 8, 20, 21, 0, 0, 0, 0, 224, 63, 0, 0, 2, - 154, 8, 24, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 155, 8, 28, 0, 17, 11, 1, 0, 0, 0, 0, 0, 0, 4, 2, - 141, 8, 18, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 1, 18, 0, 0, 0, 0, 2, 18, 0, 0, 0, 0, 3, 18, 0, 0, - 0, 0, 4, 0, 20, 0, 0, 0, 0, 32, 2, 158, 8, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 159, 8, 0, 21, 0, - 0, 0, 0, 11, 1, 0, 0, 2, 160, 8, 8, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 161, 8, 12, 21, 0, 0, 0, 0, - 11, 1, 0, 0, 2, 162, 8, 16, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 163, 8, 20, 21, 0, 0, 0, 0, 29, 75, - 0, 0, 2, 164, 8, 24, 0, 33, 125, 68, 0, 0, 0, 0, 0, 0, 2, 61, 8, 9, 36, 244, 2, 0, 13, 168, 0, - 0, 0, 14, 36, 76, 0, 0, 14, 255, 0, 0, 0, 0, 20, 0, 0, 0, 0, 16, 2, 38, 26, 21, 0, 0, 0, 0, 14, - 29, 0, 0, 2, 39, 26, 0, 21, 0, 0, 0, 0, 88, 244, 2, 0, 2, 40, 26, 8, 0, 9, 93, 244, 2, 0, 20, - 0, 0, 0, 0, 80, 2, 76, 34, 21, 0, 0, 0, 0, 141, 64, 0, 0, 2, 77, 34, 0, 21, 0, 0, 0, 0, 118, - 55, 0, 0, 2, 78, 34, 4, 21, 0, 0, 0, 0, 118, 55, 0, 0, 2, 79, 34, 5, 21, 0, 0, 0, 0, 118, 55, - 0, 0, 2, 80, 34, 6, 21, 0, 0, 0, 0, 111, 83, 0, 0, 2, 81, 34, 8, 21, 0, 0, 0, 0, 181, 244, 2, - 0, 2, 82, 34, 16, 0, 3, 199, 53, 0, 0, 4, 82, 0, 0, 0, 8, 0, 17, 11, 1, 0, 0, 0, 0, 0, 0, 4, 2, - 43, 26, 18, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 1, 18, 0, 0, 0, 0, 2, 0, 17, 11, 1, 0, 0, 0, 0, 0, - 0, 4, 2, 49, 26, 18, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 1, 18, 0, 0, 0, 0, 2, 18, 0, 0, 0, 0, 3, - 18, 0, 0, 0, 0, 4, 18, 0, 0, 0, 0, 5, 18, 0, 0, 0, 0, 6, 0, 9, 30, 245, 2, 0, 26, 35, 245, 2, - 0, 20, 0, 0, 0, 0, 32, 2, 20, 15, 21, 0, 0, 0, 0, 14, 29, 0, 0, 2, 21, 15, 0, 21, 0, 0, 0, 0, - 110, 245, 2, 0, 2, 22, 15, 8, 21, 0, 0, 0, 0, 118, 55, 0, 0, 2, 23, 15, 16, 21, 0, 0, 0, 0, - 225, 48, 0, 0, 2, 24, 15, 18, 21, 0, 0, 0, 0, 56, 1, 0, 0, 2, 25, 15, 24, 0, 9, 115, 245, 2, 0, - 33, 127, 245, 2, 0, 0, 0, 0, 0, 2, 18, 15, 13, 168, 0, 0, 0, 14, 153, 245, 2, 0, 14, 25, 245, - 2, 0, 14, 248, 77, 0, 0, 14, 158, 245, 2, 0, 0, 9, 52, 244, 2, 0, 9, 163, 245, 2, 0, 20, 0, 0, - 0, 0, 16, 2, 94, 34, 21, 0, 0, 0, 0, 219, 52, 0, 0, 2, 95, 34, 0, 22, 194, 245, 2, 0, 2, 96, - 34, 8, 23, 8, 2, 96, 34, 21, 0, 0, 0, 0, 219, 52, 0, 0, 2, 97, 34, 0, 21, 0, 0, 0, 0, 168, 0, - 0, 0, 2, 98, 34, 0, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 99, 34, 0, 21, 0, 0, 0, 0, 136, 68, 0, 0, - 2, 100, 34, 0, 0, 0, 9, 2, 246, 2, 0, 13, 133, 66, 0, 0, 14, 58, 75, 0, 0, 14, 168, 0, 0, 0, - 14, 14, 29, 0, 0, 14, 255, 0, 0, 0, 0, 9, 33, 246, 2, 0, 32, 14, 133, 71, 0, 0, 0, 3, 151, 117, - 0, 0, 4, 82, 0, 0, 0, 3, 0, 9, 57, 246, 2, 0, 26, 62, 246, 2, 0, 20, 0, 0, 0, 0, 200, 2, 182, - 14, 21, 0, 0, 0, 0, 141, 247, 2, 0, 2, 183, 14, 0, 21, 0, 0, 0, 0, 39, 235, 2, 0, 2, 184, 14, - 8, 21, 0, 0, 0, 0, 39, 235, 2, 0, 2, 185, 14, 16, 21, 0, 0, 0, 0, 157, 247, 2, 0, 2, 186, 14, - 24, 21, 0, 0, 0, 0, 174, 247, 2, 0, 2, 187, 14, 32, 21, 0, 0, 0, 0, 26, 249, 2, 0, 2, 188, 14, - 40, 21, 0, 0, 0, 0, 39, 235, 2, 0, 2, 189, 14, 48, 21, 0, 0, 0, 0, 28, 246, 2, 0, 2, 190, 14, - 56, 21, 0, 0, 0, 0, 42, 249, 2, 0, 2, 191, 14, 64, 21, 0, 0, 0, 0, 63, 249, 2, 0, 2, 192, 14, - 72, 21, 0, 0, 0, 0, 63, 249, 2, 0, 2, 193, 14, 80, 21, 0, 0, 0, 0, 63, 249, 2, 0, 2, 194, 14, - 88, 21, 0, 0, 0, 0, 63, 249, 2, 0, 2, 195, 14, 96, 21, 0, 0, 0, 0, 79, 249, 2, 0, 2, 196, 14, - 104, 21, 0, 0, 0, 0, 15, 250, 2, 0, 2, 197, 14, 112, 21, 0, 0, 0, 0, 28, 246, 2, 0, 2, 198, 14, - 120, 21, 0, 0, 0, 0, 41, 250, 2, 0, 2, 199, 14, 128, 21, 0, 0, 0, 0, 41, 250, 2, 0, 2, 200, 14, - 136, 21, 0, 0, 0, 0, 41, 250, 2, 0, 2, 201, 14, 144, 21, 0, 0, 0, 0, 41, 250, 2, 0, 2, 202, 14, - 152, 21, 0, 0, 0, 0, 62, 250, 2, 0, 2, 203, 14, 160, 21, 0, 0, 0, 0, 98, 250, 2, 0, 2, 204, 14, - 168, 21, 0, 0, 0, 0, 134, 250, 2, 0, 2, 205, 14, 176, 21, 0, 0, 0, 0, 105, 252, 2, 0, 2, 206, - 14, 184, 21, 0, 0, 0, 0, 105, 252, 2, 0, 2, 207, 14, 192, 0, 9, 146, 247, 2, 0, 13, 101, 60, 0, - 0, 14, 133, 71, 0, 0, 0, 9, 162, 247, 2, 0, 32, 14, 101, 60, 0, 0, 14, 168, 0, 0, 0, 0, 9, 179, - 247, 2, 0, 13, 168, 0, 0, 0, 14, 101, 60, 0, 0, 14, 195, 247, 2, 0, 0, 9, 200, 247, 2, 0, 20, - 0, 0, 0, 0, 96, 2, 224, 24, 21, 0, 0, 0, 0, 248, 0, 0, 0, 2, 225, 24, 0, 21, 0, 0, 0, 0, 248, - 0, 0, 0, 2, 226, 24, 8, 21, 0, 0, 0, 0, 29, 75, 0, 0, 2, 227, 24, 16, 21, 0, 0, 0, 0, 29, 75, - 0, 0, 2, 228, 24, 24, 21, 0, 0, 0, 0, 251, 248, 2, 0, 2, 229, 24, 32, 34, 0, 0, 0, 0, 11, 1, 0, - 0, 2, 230, 24, 4, 1, 31, 36, 34, 0, 0, 0, 0, 11, 1, 0, 0, 2, 231, 24, 4, 1, 30, 36, 34, 0, 0, - 0, 0, 11, 1, 0, 0, 2, 232, 24, 4, 1, 29, 36, 34, 0, 0, 0, 0, 11, 1, 0, 0, 2, 233, 24, 4, 1, 28, - 36, 34, 0, 0, 0, 0, 11, 1, 0, 0, 2, 234, 24, 4, 1, 27, 36, 34, 0, 0, 0, 0, 11, 1, 0, 0, 2, 235, - 24, 4, 1, 26, 36, 34, 0, 0, 0, 0, 11, 1, 0, 0, 2, 236, 24, 4, 1, 25, 36, 34, 0, 0, 0, 0, 11, 1, - 0, 0, 2, 237, 24, 4, 1, 24, 36, 21, 0, 0, 0, 0, 21, 249, 2, 0, 2, 238, 24, 40, 21, 0, 0, 0, 0, - 101, 60, 0, 0, 2, 239, 24, 48, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 240, 24, 56, 21, 0, 0, 0, 0, - 168, 0, 0, 0, 2, 241, 24, 60, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 242, 24, 64, 21, 0, 0, 0, 0, - 140, 55, 0, 0, 2, 243, 24, 72, 21, 0, 0, 0, 0, 140, 55, 0, 0, 2, 244, 24, 80, 21, 0, 0, 0, 0, - 140, 55, 0, 0, 2, 245, 24, 88, 0, 17, 11, 1, 0, 0, 0, 0, 0, 0, 4, 2, 219, 24, 18, 0, 0, 0, 0, - 0, 18, 0, 0, 0, 0, 1, 0, 9, 92, 62, 2, 0, 9, 31, 249, 2, 0, 13, 168, 0, 0, 0, 14, 101, 60, 0, - 0, 0, 9, 47, 249, 2, 0, 13, 168, 0, 0, 0, 14, 133, 71, 0, 0, 14, 168, 0, 0, 0, 0, 9, 68, 249, - 2, 0, 13, 168, 0, 0, 0, 14, 133, 71, 0, 0, 0, 9, 84, 249, 2, 0, 13, 168, 0, 0, 0, 14, 133, 66, - 0, 0, 14, 100, 249, 2, 0, 0, 9, 105, 249, 2, 0, 20, 0, 0, 0, 0, 120, 2, 234, 89, 21, 0, 0, 0, - 0, 248, 0, 0, 0, 2, 235, 89, 0, 21, 0, 0, 0, 0, 248, 0, 0, 0, 2, 236, 89, 8, 21, 0, 0, 0, 0, - 136, 68, 0, 0, 2, 237, 89, 16, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 238, 89, 24, 21, 0, 0, 0, 0, - 136, 68, 0, 0, 2, 239, 89, 32, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 240, 89, 40, 21, 0, 0, 0, 0, - 136, 68, 0, 0, 2, 241, 89, 48, 21, 0, 0, 0, 0, 55, 125, 1, 0, 2, 242, 89, 56, 21, 0, 0, 0, 0, - 248, 0, 0, 0, 2, 243, 89, 64, 21, 0, 0, 0, 0, 248, 0, 0, 0, 2, 244, 89, 72, 21, 0, 0, 0, 0, - 248, 0, 0, 0, 2, 245, 89, 80, 21, 0, 0, 0, 0, 53, 34, 2, 0, 2, 246, 89, 88, 0, 9, 20, 250, 2, - 0, 13, 168, 0, 0, 0, 14, 133, 71, 0, 0, 14, 214, 52, 0, 0, 14, 199, 53, 0, 0, 0, 9, 46, 250, 2, - 0, 13, 168, 0, 0, 0, 14, 71, 114, 0, 0, 14, 133, 66, 0, 0, 0, 9, 67, 250, 2, 0, 13, 136, 90, 0, - 0, 14, 133, 71, 0, 0, 14, 168, 0, 0, 0, 14, 199, 53, 0, 0, 14, 140, 55, 0, 0, 14, 29, 75, 0, 0, - 0, 9, 103, 250, 2, 0, 13, 136, 90, 0, 0, 14, 133, 71, 0, 0, 14, 168, 0, 0, 0, 14, 14, 29, 0, 0, - 14, 140, 55, 0, 0, 14, 29, 75, 0, 0, 0, 9, 139, 250, 2, 0, 13, 150, 250, 2, 0, 14, 101, 60, 0, - 0, 0, 9, 155, 250, 2, 0, 9, 160, 250, 2, 0, 20, 0, 0, 0, 0, 208, 2, 158, 13, 21, 0, 0, 0, 0, - 184, 28, 0, 0, 2, 159, 13, 0, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 160, 13, 16, 21, 0, 0, 0, 0, - 227, 28, 0, 0, 2, 161, 13, 32, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 162, 13, 48, 21, 0, 0, 0, 0, - 241, 106, 0, 0, 2, 163, 13, 64, 21, 0, 0, 0, 0, 248, 68, 0, 0, 2, 164, 13, 96, 21, 0, 0, 0, 0, - 176, 64, 0, 0, 2, 165, 13, 100, 21, 0, 0, 0, 0, 133, 71, 0, 0, 2, 166, 13, 104, 21, 0, 0, 0, 0, - 70, 251, 2, 0, 2, 167, 13, 112, 21, 0, 0, 0, 0, 29, 75, 0, 0, 2, 168, 13, 120, 21, 0, 0, 0, 0, - 127, 29, 0, 0, 2, 169, 13, 128, 21, 0, 0, 0, 0, 222, 251, 2, 0, 2, 170, 13, 136, 0, 20, 0, 0, - 0, 0, 8, 2, 137, 13, 22, 88, 251, 2, 0, 2, 138, 13, 0, 23, 4, 2, 138, 13, 21, 0, 0, 0, 0, 224, - 63, 0, 0, 2, 139, 13, 0, 21, 0, 0, 0, 0, 21, 64, 0, 0, 2, 140, 13, 0, 21, 0, 0, 0, 0, 147, 251, - 2, 0, 2, 141, 13, 0, 0, 21, 0, 0, 0, 0, 190, 251, 2, 0, 2, 143, 13, 4, 0, 33, 159, 251, 2, 0, - 0, 0, 0, 0, 2, 129, 13, 24, 4, 2, 127, 13, 21, 0, 0, 0, 0, 178, 251, 2, 0, 2, 128, 13, 0, 0, - 33, 10, 64, 0, 0, 0, 0, 0, 0, 2, 125, 13, 17, 11, 1, 0, 0, 0, 0, 0, 0, 4, 2, 131, 13, 18, 0, 0, - 0, 0, 0, 18, 0, 0, 0, 0, 1, 18, 0, 0, 0, 0, 2, 0, 20, 0, 0, 0, 0, 72, 2, 146, 13, 21, 0, 0, 0, - 0, 93, 252, 2, 0, 2, 147, 13, 0, 21, 0, 0, 0, 0, 93, 252, 2, 0, 2, 148, 13, 8, 21, 0, 0, 0, 0, - 93, 252, 2, 0, 2, 149, 13, 16, 21, 0, 0, 0, 0, 93, 252, 2, 0, 2, 150, 13, 24, 21, 0, 0, 0, 0, - 93, 252, 2, 0, 2, 151, 13, 32, 21, 0, 0, 0, 0, 93, 252, 2, 0, 2, 152, 13, 40, 21, 0, 0, 0, 0, - 93, 252, 2, 0, 2, 153, 13, 48, 21, 0, 0, 0, 0, 245, 110, 0, 0, 2, 154, 13, 56, 21, 0, 0, 0, 0, - 245, 110, 0, 0, 2, 155, 13, 64, 0, 33, 51, 75, 0, 0, 0, 0, 0, 0, 2, 52, 12, 9, 110, 252, 2, 0, - 13, 248, 0, 0, 0, 14, 133, 71, 0, 0, 14, 126, 252, 2, 0, 0, 9, 131, 252, 2, 0, 20, 0, 0, 0, 0, - 32, 2, 132, 9, 21, 0, 0, 0, 0, 8, 153, 0, 0, 2, 133, 9, 0, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, - 134, 9, 4, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 135, 9, 8, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 136, - 9, 16, 21, 0, 0, 0, 0, 161, 30, 1, 0, 2, 137, 9, 24, 0, 9, 211, 252, 2, 0, 26, 216, 252, 2, 0, - 20, 0, 0, 0, 0, 88, 2, 209, 13, 21, 0, 0, 0, 0, 113, 253, 2, 0, 2, 210, 13, 0, 21, 0, 0, 0, 0, - 129, 253, 2, 0, 2, 211, 13, 8, 21, 0, 0, 0, 0, 150, 253, 2, 0, 2, 212, 13, 16, 21, 0, 0, 0, 0, - 113, 253, 2, 0, 2, 213, 13, 24, 21, 0, 0, 0, 0, 113, 253, 2, 0, 2, 214, 13, 32, 21, 0, 0, 0, 0, - 113, 253, 2, 0, 2, 215, 13, 40, 21, 0, 0, 0, 0, 42, 249, 2, 0, 2, 216, 13, 48, 21, 0, 0, 0, 0, - 162, 253, 2, 0, 2, 217, 13, 56, 21, 0, 0, 0, 0, 183, 253, 2, 0, 2, 218, 13, 64, 21, 0, 0, 0, 0, - 209, 253, 2, 0, 2, 219, 13, 72, 21, 0, 0, 0, 0, 230, 253, 2, 0, 2, 220, 13, 80, 0, 9, 118, 253, - 2, 0, 13, 168, 0, 0, 0, 14, 155, 250, 2, 0, 0, 9, 134, 253, 2, 0, 13, 155, 250, 2, 0, 14, 133, - 71, 0, 0, 14, 168, 0, 0, 0, 0, 9, 155, 253, 2, 0, 32, 14, 155, 250, 2, 0, 0, 9, 167, 253, 2, 0, - 13, 178, 253, 2, 0, 14, 101, 60, 0, 0, 0, 9, 93, 252, 2, 0, 9, 188, 253, 2, 0, 13, 168, 0, 0, - 0, 14, 101, 60, 0, 0, 14, 204, 253, 2, 0, 0, 9, 147, 251, 2, 0, 9, 214, 253, 2, 0, 13, 168, 0, - 0, 0, 14, 101, 60, 0, 0, 14, 178, 253, 2, 0, 0, 9, 235, 253, 2, 0, 13, 168, 0, 0, 0, 14, 133, - 71, 0, 0, 14, 251, 253, 2, 0, 0, 9, 70, 251, 2, 0, 9, 5, 254, 2, 0, 26, 10, 254, 2, 0, 20, 0, - 0, 0, 0, 88, 2, 15, 14, 21, 0, 0, 0, 0, 163, 254, 2, 0, 2, 16, 14, 0, 21, 0, 0, 0, 0, 42, 249, - 2, 0, 2, 17, 14, 8, 21, 0, 0, 0, 0, 204, 254, 2, 0, 2, 18, 14, 16, 21, 0, 0, 0, 0, 204, 254, 2, - 0, 2, 19, 14, 24, 21, 0, 0, 0, 0, 42, 249, 2, 0, 2, 20, 14, 32, 21, 0, 0, 0, 0, 225, 254, 2, 0, - 2, 21, 14, 40, 21, 0, 0, 0, 0, 114, 255, 2, 0, 2, 22, 14, 48, 21, 0, 0, 0, 0, 107, 0, 3, 0, 2, - 23, 14, 56, 21, 0, 0, 0, 0, 114, 255, 2, 0, 2, 24, 14, 64, 21, 0, 0, 0, 0, 133, 0, 3, 0, 2, 25, - 14, 72, 21, 0, 0, 0, 0, 204, 254, 2, 0, 2, 26, 14, 80, 0, 9, 168, 254, 2, 0, 13, 168, 0, 0, 0, - 14, 133, 71, 0, 0, 14, 168, 0, 0, 0, 14, 168, 0, 0, 0, 14, 194, 254, 2, 0, 0, 9, 199, 254, 2, - 0, 26, 161, 81, 0, 0, 9, 209, 254, 2, 0, 13, 168, 0, 0, 0, 14, 133, 71, 0, 0, 14, 11, 1, 0, 0, - 0, 9, 230, 254, 2, 0, 13, 168, 0, 0, 0, 14, 133, 71, 0, 0, 14, 168, 0, 0, 0, 14, 251, 254, 2, - 0, 0, 9, 0, 255, 2, 0, 20, 0, 0, 0, 0, 32, 2, 4, 14, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 5, 14, 0, - 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 6, 14, 4, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 7, 14, 8, 21, 0, 0, - 0, 0, 11, 1, 0, 0, 2, 8, 14, 12, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 9, 14, 16, 21, 0, 0, 0, 0, 11, - 1, 0, 0, 2, 10, 14, 20, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 11, 14, 24, 21, 0, 0, 0, 0, 11, 1, 0, - 0, 2, 12, 14, 28, 0, 9, 119, 255, 2, 0, 13, 168, 0, 0, 0, 14, 133, 71, 0, 0, 14, 70, 251, 2, 0, - 14, 140, 255, 2, 0, 0, 9, 145, 255, 2, 0, 20, 0, 0, 0, 0, 120, 2, 223, 13, 21, 0, 0, 0, 0, 168, - 0, 0, 0, 2, 224, 13, 0, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 225, 13, 8, 21, 0, 0, 0, 0, 136, 68, - 0, 0, 2, 226, 13, 16, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 227, 13, 24, 21, 0, 0, 0, 0, 136, 68, - 0, 0, 2, 228, 13, 32, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 229, 13, 40, 21, 0, 0, 0, 0, 136, 68, - 0, 0, 2, 230, 13, 48, 21, 0, 0, 0, 0, 111, 97, 0, 0, 2, 231, 13, 56, 21, 0, 0, 0, 0, 111, 97, - 0, 0, 2, 232, 13, 64, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 233, 13, 72, 21, 0, 0, 0, 0, 168, 0, 0, - 0, 2, 234, 13, 76, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 235, 13, 80, 21, 0, 0, 0, 0, 136, 68, 0, - 0, 2, 236, 13, 88, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 237, 13, 96, 21, 0, 0, 0, 0, 111, 97, 0, - 0, 2, 238, 13, 104, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 239, 13, 112, 0, 9, 112, 0, 3, 0, 13, 168, - 0, 0, 0, 14, 133, 71, 0, 0, 14, 251, 253, 2, 0, 14, 140, 255, 2, 0, 0, 9, 138, 0, 3, 0, 13, - 168, 0, 0, 0, 14, 133, 71, 0, 0, 14, 154, 0, 3, 0, 0, 9, 159, 0, 3, 0, 20, 0, 0, 0, 0, 176, 2, - 255, 13, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 0, 14, 0, 21, 0, 0, 0, 0, 195, 0, 3, 0, 2, 1, 14, 8, - 0, 3, 207, 0, 3, 0, 4, 82, 0, 0, 0, 3, 0, 20, 0, 0, 0, 0, 56, 2, 242, 13, 21, 0, 0, 0, 0, 11, - 1, 0, 0, 2, 243, 13, 0, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 244, 13, 4, 21, 0, 0, 0, 0, 11, 1, 0, - 0, 2, 245, 13, 8, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 246, 13, 12, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, - 247, 13, 16, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 248, 13, 20, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 249, - 13, 24, 21, 0, 0, 0, 0, 208, 0, 0, 0, 2, 250, 13, 32, 21, 0, 0, 0, 0, 91, 1, 3, 0, 2, 251, 13, - 40, 21, 0, 0, 0, 0, 91, 1, 3, 0, 2, 252, 13, 48, 0, 12, 136, 68, 0, 0, 0, 0, 0, 0, 2, 95, 9, - 107, 1, 3, 0, 26, 112, 1, 3, 0, 20, 0, 0, 0, 0, 88, 2, 214, 14, 21, 0, 0, 0, 0, 9, 2, 3, 0, 2, - 215, 14, 0, 21, 0, 0, 0, 0, 40, 2, 3, 0, 2, 216, 14, 8, 21, 0, 0, 0, 0, 40, 2, 3, 0, 2, 217, - 14, 16, 21, 0, 0, 0, 0, 26, 3, 3, 0, 2, 218, 14, 24, 21, 0, 0, 0, 0, 52, 3, 3, 0, 2, 219, 14, - 32, 21, 0, 0, 0, 0, 26, 249, 2, 0, 2, 220, 14, 40, 21, 0, 0, 0, 0, 68, 3, 3, 0, 2, 221, 14, 48, - 21, 0, 0, 0, 0, 99, 3, 3, 0, 2, 222, 14, 56, 21, 0, 0, 0, 0, 150, 3, 3, 0, 2, 223, 14, 64, 21, - 0, 0, 0, 0, 181, 3, 3, 0, 2, 224, 14, 72, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 225, 14, 80, 0, 9, - 14, 2, 3, 0, 13, 168, 0, 0, 0, 14, 101, 60, 0, 0, 14, 63, 182, 1, 0, 14, 214, 52, 0, 0, 14, - 101, 60, 0, 0, 0, 9, 45, 2, 3, 0, 13, 133, 66, 0, 0, 14, 133, 71, 0, 0, 14, 71, 2, 3, 0, 14, - 168, 0, 0, 0, 14, 168, 0, 0, 0, 0, 9, 76, 2, 3, 0, 20, 0, 0, 0, 0, 20, 2, 216, 174, 22, 94, 2, - 3, 0, 2, 217, 174, 0, 23, 20, 2, 217, 174, 21, 0, 0, 0, 0, 112, 2, 3, 0, 2, 223, 174, 0, 24, - 16, 2, 218, 174, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 219, 174, 0, 21, 0, 0, 0, 0, 125, 68, 0, 0, - 2, 220, 174, 4, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 221, 174, 8, 21, 0, 0, 0, 0, 125, 68, 0, 0, - 2, 222, 174, 12, 0, 21, 0, 0, 0, 0, 183, 2, 3, 0, 2, 231, 174, 0, 24, 20, 2, 224, 174, 21, 0, - 0, 0, 0, 125, 68, 0, 0, 2, 225, 174, 0, 21, 0, 0, 0, 0, 177, 69, 0, 0, 2, 226, 174, 4, 21, 0, - 0, 0, 0, 177, 69, 0, 0, 2, 227, 174, 6, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 228, 174, 8, 21, 0, - 0, 0, 0, 125, 68, 0, 0, 2, 229, 174, 12, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 230, 174, 16, 0, 21, - 0, 0, 0, 0, 205, 174, 1, 0, 2, 232, 174, 0, 0, 0, 9, 31, 3, 3, 0, 13, 168, 0, 0, 0, 14, 133, - 66, 0, 0, 14, 199, 53, 0, 0, 14, 133, 66, 0, 0, 0, 9, 57, 3, 3, 0, 13, 133, 66, 0, 0, 14, 133, - 66, 0, 0, 0, 9, 73, 3, 3, 0, 13, 168, 0, 0, 0, 14, 133, 71, 0, 0, 14, 254, 70, 2, 0, 14, 175, - 236, 0, 0, 14, 239, 241, 0, 0, 0, 9, 104, 3, 3, 0, 13, 168, 0, 0, 0, 14, 101, 60, 0, 0, 14, 29, - 75, 0, 0, 14, 136, 68, 0, 0, 14, 140, 3, 3, 0, 14, 219, 52, 0, 0, 14, 175, 236, 0, 0, 0, 9, - 145, 3, 3, 0, 45, 0, 0, 0, 0, 9, 155, 3, 3, 0, 13, 168, 0, 0, 0, 14, 101, 60, 0, 0, 14, 140, 3, - 3, 0, 14, 168, 0, 0, 0, 14, 238, 217, 2, 0, 0, 9, 186, 3, 3, 0, 13, 136, 68, 0, 0, 14, 101, 60, - 0, 0, 0, 9, 202, 3, 3, 0, 9, 207, 3, 3, 0, 26, 212, 3, 3, 0, 20, 0, 0, 0, 0, 48, 2, 228, 14, - 21, 0, 0, 0, 0, 14, 29, 0, 0, 2, 229, 14, 0, 21, 0, 0, 0, 0, 14, 29, 0, 0, 2, 230, 14, 8, 21, - 0, 0, 0, 0, 168, 0, 0, 0, 2, 231, 14, 16, 21, 0, 0, 0, 0, 44, 4, 3, 0, 2, 232, 14, 24, 21, 0, - 0, 0, 0, 60, 4, 3, 0, 2, 233, 14, 32, 21, 0, 0, 0, 0, 101, 4, 3, 0, 2, 234, 14, 40, 0, 9, 49, - 4, 3, 0, 13, 219, 52, 0, 0, 14, 133, 66, 0, 0, 0, 9, 65, 4, 3, 0, 13, 168, 0, 0, 0, 14, 202, 3, - 3, 0, 14, 133, 66, 0, 0, 14, 101, 60, 0, 0, 14, 14, 29, 0, 0, 14, 255, 0, 0, 0, 14, 140, 55, 0, - 0, 0, 9, 106, 4, 3, 0, 13, 168, 0, 0, 0, 14, 202, 3, 3, 0, 14, 3, 118, 0, 0, 14, 133, 66, 0, 0, - 14, 101, 60, 0, 0, 14, 14, 29, 0, 0, 14, 56, 1, 0, 0, 14, 140, 55, 0, 0, 14, 168, 0, 0, 0, 0, - 9, 157, 4, 3, 0, 26, 162, 4, 3, 0, 20, 0, 0, 0, 0, 88, 2, 239, 14, 21, 0, 0, 0, 0, 11, 1, 0, 0, - 2, 240, 14, 0, 21, 0, 0, 0, 0, 14, 29, 0, 0, 2, 241, 14, 8, 21, 0, 0, 0, 0, 59, 5, 3, 0, 2, - 242, 14, 16, 21, 0, 0, 0, 0, 85, 5, 3, 0, 2, 243, 14, 24, 21, 0, 0, 0, 0, 116, 5, 3, 0, 2, 244, - 14, 32, 21, 0, 0, 0, 0, 98, 6, 3, 0, 2, 245, 14, 40, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 246, 14, - 48, 21, 0, 0, 0, 0, 114, 6, 3, 0, 2, 247, 14, 56, 21, 0, 0, 0, 0, 130, 6, 3, 0, 2, 248, 14, 64, - 21, 0, 0, 0, 0, 63, 249, 2, 0, 2, 249, 14, 72, 21, 0, 0, 0, 0, 152, 6, 3, 0, 2, 250, 14, 80, 0, - 9, 64, 5, 3, 0, 13, 168, 0, 0, 0, 14, 101, 60, 0, 0, 14, 255, 0, 0, 0, 14, 140, 55, 0, 0, 0, 9, - 90, 5, 3, 0, 13, 168, 0, 0, 0, 14, 101, 60, 0, 0, 14, 56, 1, 0, 0, 14, 140, 55, 0, 0, 14, 255, - 0, 0, 0, 0, 9, 121, 5, 3, 0, 13, 132, 5, 3, 0, 14, 133, 71, 0, 0, 0, 9, 137, 5, 3, 0, 26, 142, - 5, 3, 0, 43, 0, 0, 0, 0, 24, 2, 119, 186, 21, 0, 0, 0, 0, 118, 55, 0, 0, 2, 120, 186, 0, 21, 0, - 0, 0, 0, 191, 5, 3, 0, 2, 121, 186, 0, 21, 0, 0, 0, 0, 10, 6, 3, 0, 2, 122, 186, 0, 0, 20, 0, - 0, 0, 0, 12, 2, 102, 186, 21, 0, 0, 0, 0, 129, 55, 0, 0, 2, 103, 186, 0, 21, 0, 0, 0, 0, 129, - 55, 0, 0, 2, 104, 186, 1, 21, 0, 0, 0, 0, 129, 55, 0, 0, 2, 105, 186, 2, 21, 0, 0, 0, 0, 129, - 55, 0, 0, 2, 106, 186, 3, 21, 0, 0, 0, 0, 247, 197, 0, 0, 2, 107, 186, 4, 0, 20, 0, 0, 0, 0, - 24, 2, 110, 186, 21, 0, 0, 0, 0, 129, 55, 0, 0, 2, 111, 186, 0, 21, 0, 0, 0, 0, 129, 55, 0, 0, - 2, 112, 186, 1, 21, 0, 0, 0, 0, 129, 55, 0, 0, 2, 113, 186, 2, 21, 0, 0, 0, 0, 129, 55, 0, 0, - 2, 114, 186, 3, 21, 0, 0, 0, 0, 73, 18, 2, 0, 2, 115, 186, 4, 21, 0, 0, 0, 0, 79, 150, 1, 0, 2, - 116, 186, 8, 0, 9, 103, 6, 3, 0, 13, 219, 52, 0, 0, 14, 101, 60, 0, 0, 0, 9, 119, 6, 3, 0, 13, - 219, 52, 0, 0, 14, 133, 71, 0, 0, 0, 9, 135, 6, 3, 0, 32, 14, 133, 71, 0, 0, 14, 214, 52, 0, 0, - 14, 214, 52, 0, 0, 0, 9, 157, 6, 3, 0, 32, 14, 133, 71, 0, 0, 14, 169, 6, 3, 0, 0, 9, 168, 19, - 2, 0, 9, 179, 6, 3, 0, 26, 184, 6, 3, 0, 20, 0, 0, 0, 0, 40, 2, 253, 14, 21, 0, 0, 0, 0, 171, - 145, 2, 0, 2, 254, 14, 0, 21, 0, 0, 0, 0, 3, 7, 3, 0, 2, 255, 14, 8, 21, 0, 0, 0, 0, 59, 5, 3, - 0, 2, 0, 15, 16, 21, 0, 0, 0, 0, 34, 7, 3, 0, 2, 1, 15, 24, 21, 0, 0, 0, 0, 60, 7, 3, 0, 2, 2, - 15, 32, 0, 9, 8, 7, 3, 0, 13, 168, 0, 0, 0, 14, 69, 80, 0, 0, 14, 56, 1, 0, 0, 14, 140, 55, 0, - 0, 14, 136, 68, 0, 0, 0, 9, 39, 7, 3, 0, 13, 68, 56, 0, 0, 14, 101, 60, 0, 0, 14, 127, 29, 0, - 0, 14, 127, 29, 0, 0, 0, 9, 65, 7, 3, 0, 13, 168, 0, 0, 0, 14, 101, 60, 0, 0, 14, 56, 1, 0, 0, - 14, 136, 68, 0, 0, 14, 168, 0, 0, 0, 0, 9, 96, 7, 3, 0, 20, 0, 0, 0, 0, 16, 2, 220, 188, 21, 0, - 0, 0, 0, 14, 29, 0, 0, 2, 221, 188, 0, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 222, 188, 8, 0, 20, 0, - 0, 0, 0, 8, 2, 142, 11, 21, 0, 0, 0, 0, 23, 68, 0, 0, 2, 143, 11, 0, 0, 9, 160, 7, 3, 0, 45, 0, - 0, 0, 0, 27, 0, 0, 0, 0, 56, 1, 2, 70, 12, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 71, 12, 0, 21, 0, 0, - 0, 0, 133, 97, 0, 0, 2, 72, 12, 8, 21, 0, 0, 0, 0, 242, 7, 3, 0, 2, 73, 12, 48, 21, 0, 0, 0, 0, - 254, 7, 3, 0, 2, 74, 12, 72, 28, 0, 0, 0, 0, 72, 9, 3, 0, 2, 75, 12, 32, 1, 0, 3, 101, 60, 0, - 0, 4, 82, 0, 0, 0, 3, 0, 3, 10, 8, 3, 0, 4, 82, 0, 0, 0, 3, 0, 20, 0, 0, 0, 0, 72, 2, 56, 12, - 21, 0, 0, 0, 0, 137, 8, 3, 0, 2, 57, 12, 0, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 58, 12, 8, 21, 0, - 0, 0, 0, 227, 28, 0, 0, 2, 59, 12, 16, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 60, 12, 32, 21, 0, 0, - 0, 0, 11, 1, 0, 0, 2, 61, 12, 40, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 62, 12, 44, 21, 0, 0, 0, 0, - 93, 252, 2, 0, 2, 63, 12, 48, 21, 0, 0, 0, 0, 93, 252, 2, 0, 2, 64, 12, 56, 21, 0, 0, 0, 0, - 255, 0, 0, 0, 2, 65, 12, 64, 0, 9, 142, 8, 3, 0, 20, 0, 0, 0, 0, 32, 2, 179, 13, 21, 0, 0, 0, - 0, 168, 0, 0, 0, 2, 180, 13, 0, 21, 0, 0, 0, 0, 204, 8, 3, 0, 2, 181, 13, 8, 21, 0, 0, 0, 0, - 111, 83, 0, 0, 2, 182, 13, 16, 21, 0, 0, 0, 0, 137, 8, 3, 0, 2, 183, 13, 24, 0, 9, 209, 8, 3, - 0, 26, 214, 8, 3, 0, 20, 0, 0, 0, 0, 64, 2, 198, 13, 21, 0, 0, 0, 0, 42, 249, 2, 0, 2, 199, 13, - 0, 21, 0, 0, 0, 0, 42, 249, 2, 0, 2, 200, 13, 8, 21, 0, 0, 0, 0, 42, 249, 2, 0, 2, 201, 13, 16, - 21, 0, 0, 0, 0, 42, 249, 2, 0, 2, 202, 13, 24, 21, 0, 0, 0, 0, 113, 253, 2, 0, 2, 203, 13, 32, - 21, 0, 0, 0, 0, 113, 253, 2, 0, 2, 204, 13, 40, 21, 0, 0, 0, 0, 113, 253, 2, 0, 2, 205, 13, 48, - 21, 0, 0, 0, 0, 230, 253, 2, 0, 2, 206, 13, 56, 0, 3, 204, 8, 3, 0, 4, 82, 0, 0, 0, 3, 0, 27, - 0, 0, 0, 0, 64, 1, 2, 97, 12, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 98, 12, 0, 21, 0, 0, 0, 0, 47, - 107, 0, 0, 2, 99, 12, 8, 21, 0, 0, 0, 0, 134, 9, 3, 0, 2, 100, 12, 32, 0, 3, 146, 9, 3, 0, 4, - 82, 0, 0, 0, 3, 0, 20, 0, 0, 0, 0, 96, 2, 89, 12, 21, 0, 0, 0, 0, 221, 9, 3, 0, 2, 90, 12, 0, - 21, 0, 0, 0, 0, 186, 215, 0, 0, 2, 91, 12, 48, 21, 0, 0, 0, 0, 209, 65, 1, 0, 2, 92, 12, 56, - 21, 0, 0, 0, 0, 47, 107, 0, 0, 2, 93, 12, 64, 21, 0, 0, 0, 0, 176, 64, 0, 0, 2, 94, 12, 88, 0, - 20, 0, 0, 0, 0, 48, 2, 78, 12, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 79, 12, 0, 21, 0, 0, 0, 0, 168, - 0, 0, 0, 2, 80, 12, 4, 21, 0, 0, 0, 0, 47, 107, 0, 0, 2, 81, 12, 8, 21, 0, 0, 0, 0, 65, 29, 0, - 0, 2, 82, 12, 32, 0, 33, 39, 10, 3, 0, 0, 0, 0, 0, 2, 105, 12, 24, 16, 2, 103, 12, 21, 0, 0, 0, - 0, 79, 150, 1, 0, 2, 104, 12, 0, 0, 20, 0, 0, 0, 0, 64, 2, 140, 9, 21, 0, 0, 0, 0, 172, 10, 3, - 0, 2, 141, 9, 0, 21, 0, 0, 0, 0, 172, 10, 3, 0, 2, 142, 9, 8, 21, 0, 0, 0, 0, 248, 0, 0, 0, 2, - 143, 9, 16, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 144, 9, 24, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 145, - 9, 28, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 146, 9, 32, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 147, 9, - 48, 21, 0, 0, 0, 0, 102, 45, 1, 0, 2, 148, 9, 56, 0, 9, 177, 10, 3, 0, 13, 127, 29, 0, 0, 14, - 193, 10, 3, 0, 14, 126, 252, 2, 0, 0, 9, 58, 10, 3, 0, 20, 0, 0, 0, 0, 32, 2, 109, 12, 21, 0, - 0, 0, 0, 4, 11, 3, 0, 2, 110, 12, 0, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 111, 12, 8, 21, 0, 0, 0, - 0, 168, 0, 0, 0, 2, 112, 12, 24, 21, 0, 0, 0, 0, 219, 52, 0, 0, 2, 113, 12, 28, 0, 9, 9, 11, 3, - 0, 20, 0, 0, 0, 0, 64, 2, 245, 12, 21, 0, 0, 0, 0, 248, 68, 0, 0, 2, 246, 12, 0, 21, 0, 0, 0, - 0, 71, 11, 3, 0, 2, 247, 12, 8, 21, 0, 0, 0, 0, 107, 11, 3, 0, 2, 248, 12, 32, 21, 0, 0, 0, 0, - 248, 0, 0, 0, 2, 249, 12, 40, 0, 20, 0, 0, 0, 0, 24, 2, 235, 12, 21, 0, 0, 0, 0, 227, 28, 0, 0, - 2, 236, 12, 0, 21, 0, 0, 0, 0, 248, 0, 0, 0, 2, 237, 12, 16, 0, 9, 112, 11, 3, 0, 20, 0, 0, 0, - 0, 16, 2, 240, 12, 21, 0, 0, 0, 0, 65, 29, 0, 0, 2, 241, 12, 0, 21, 0, 0, 0, 0, 148, 11, 3, 0, - 2, 242, 12, 16, 0, 3, 160, 11, 3, 0, 4, 82, 0, 0, 0, 0, 0, 9, 71, 11, 3, 0, 9, 161, 81, 0, 0, - 9, 175, 11, 3, 0, 13, 168, 0, 0, 0, 14, 194, 254, 2, 0, 14, 219, 52, 0, 0, 0, 9, 196, 11, 3, 0, - 13, 133, 66, 0, 0, 14, 133, 66, 0, 0, 14, 212, 11, 3, 0, 0, 9, 217, 11, 3, 0, 26, 106, 60, 0, - 0, 9, 227, 11, 3, 0, 13, 14, 29, 0, 0, 14, 133, 66, 0, 0, 14, 101, 60, 0, 0, 14, 248, 11, 3, 0, - 0, 9, 192, 83, 1, 0, 9, 2, 12, 3, 0, 13, 168, 0, 0, 0, 14, 3, 118, 0, 0, 14, 101, 60, 0, 0, 14, - 168, 0, 0, 0, 0, 9, 28, 12, 3, 0, 13, 74, 64, 0, 0, 14, 101, 60, 0, 0, 14, 168, 0, 0, 0, 14, - 219, 52, 0, 0, 0, 9, 54, 12, 3, 0, 13, 168, 0, 0, 0, 14, 133, 66, 0, 0, 14, 199, 53, 0, 0, 14, - 168, 0, 0, 0, 0, 9, 80, 12, 3, 0, 13, 168, 0, 0, 0, 14, 3, 118, 0, 0, 14, 101, 60, 0, 0, 14, - 133, 66, 0, 0, 14, 213, 63, 0, 0, 14, 219, 52, 0, 0, 0, 9, 116, 12, 3, 0, 13, 168, 0, 0, 0, 14, - 133, 66, 0, 0, 14, 101, 60, 0, 0, 14, 133, 66, 0, 0, 0, 9, 142, 12, 3, 0, 13, 168, 0, 0, 0, 14, - 3, 118, 0, 0, 14, 101, 60, 0, 0, 14, 133, 66, 0, 0, 14, 14, 29, 0, 0, 0, 9, 173, 12, 3, 0, 13, - 168, 0, 0, 0, 14, 3, 118, 0, 0, 14, 101, 60, 0, 0, 14, 133, 66, 0, 0, 14, 213, 63, 0, 0, 0, 9, - 204, 12, 3, 0, 13, 168, 0, 0, 0, 14, 3, 118, 0, 0, 14, 101, 60, 0, 0, 14, 133, 66, 0, 0, 14, - 213, 63, 0, 0, 14, 7, 75, 0, 0, 0, 9, 240, 12, 3, 0, 13, 168, 0, 0, 0, 14, 3, 118, 0, 0, 14, - 101, 60, 0, 0, 14, 133, 66, 0, 0, 14, 101, 60, 0, 0, 14, 133, 66, 0, 0, 14, 11, 1, 0, 0, 0, 9, - 25, 13, 3, 0, 13, 168, 0, 0, 0, 14, 3, 118, 0, 0, 14, 133, 66, 0, 0, 14, 238, 217, 2, 0, 0, 9, - 51, 13, 3, 0, 13, 168, 0, 0, 0, 14, 3, 118, 0, 0, 14, 194, 254, 2, 0, 14, 82, 13, 3, 0, 14, - 125, 68, 0, 0, 14, 11, 1, 0, 0, 0, 9, 87, 13, 3, 0, 20, 0, 0, 0, 0, 144, 2, 214, 12, 21, 0, 0, - 0, 0, 125, 68, 0, 0, 2, 215, 12, 0, 21, 0, 0, 0, 0, 213, 63, 0, 0, 2, 216, 12, 4, 21, 0, 0, 0, - 0, 11, 1, 0, 0, 2, 217, 12, 8, 21, 0, 0, 0, 0, 13, 111, 0, 0, 2, 218, 12, 12, 21, 0, 0, 0, 0, - 136, 68, 0, 0, 2, 219, 12, 16, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 220, 12, 24, 21, 0, 0, 0, 0, - 136, 68, 0, 0, 2, 221, 12, 32, 21, 0, 0, 0, 0, 7, 75, 0, 0, 2, 222, 12, 40, 21, 0, 0, 0, 0, 7, - 75, 0, 0, 2, 223, 12, 44, 21, 0, 0, 0, 0, 224, 63, 0, 0, 2, 224, 12, 48, 21, 0, 0, 0, 0, 21, - 64, 0, 0, 2, 225, 12, 52, 21, 0, 0, 0, 0, 29, 75, 0, 0, 2, 226, 12, 56, 21, 0, 0, 0, 0, 52, - 161, 0, 0, 2, 227, 12, 64, 21, 0, 0, 0, 0, 52, 161, 0, 0, 2, 228, 12, 80, 21, 0, 0, 0, 0, 52, - 161, 0, 0, 2, 229, 12, 96, 21, 0, 0, 0, 0, 52, 161, 0, 0, 2, 230, 12, 112, 21, 0, 0, 0, 0, 136, - 68, 0, 0, 2, 231, 12, 128, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 232, 12, 136, 0, 9, 80, 14, 3, 0, - 13, 136, 90, 0, 0, 14, 133, 66, 0, 0, 14, 199, 53, 0, 0, 14, 140, 55, 0, 0, 0, 9, 106, 14, 3, - 0, 13, 168, 0, 0, 0, 14, 101, 60, 0, 0, 14, 132, 14, 3, 0, 14, 136, 68, 0, 0, 14, 136, 68, 0, - 0, 0, 9, 137, 14, 3, 0, 20, 0, 0, 0, 0, 24, 2, 206, 187, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 207, - 187, 0, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 208, 187, 4, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 209, 187, - 8, 21, 0, 0, 0, 0, 199, 14, 3, 0, 2, 210, 187, 16, 0, 9, 204, 14, 3, 0, 20, 0, 0, 0, 0, 56, 2, - 244, 187, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 245, 187, 0, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 246, - 187, 8, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 247, 187, 16, 21, 0, 0, 0, 0, 152, 195, 0, 0, 2, 248, - 187, 24, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 249, 187, 40, 21, 0, 0, 0, 0, 36, 15, 3, 0, 2, 250, - 187, 44, 0, 3, 0, 1, 0, 0, 4, 82, 0, 0, 0, 3, 0, 9, 53, 15, 3, 0, 13, 168, 0, 0, 0, 14, 101, - 60, 0, 0, 14, 74, 15, 3, 0, 14, 168, 0, 0, 0, 0, 9, 52, 161, 0, 0, 9, 84, 15, 3, 0, 13, 168, 0, - 0, 0, 14, 101, 60, 0, 0, 14, 133, 66, 0, 0, 14, 69, 80, 0, 0, 14, 11, 1, 0, 0, 14, 213, 63, 0, - 0, 0, 9, 120, 15, 3, 0, 13, 168, 0, 0, 0, 14, 3, 118, 0, 0, 14, 101, 60, 0, 0, 14, 74, 64, 0, - 0, 14, 168, 0, 0, 0, 0, 9, 151, 15, 3, 0, 13, 168, 0, 0, 0, 14, 3, 118, 0, 0, 14, 133, 66, 0, - 0, 14, 172, 15, 3, 0, 0, 9, 177, 15, 3, 0, 20, 0, 0, 0, 0, 28, 2, 213, 187, 21, 0, 0, 0, 0, - 125, 68, 0, 0, 2, 214, 187, 0, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 215, 187, 4, 21, 0, 0, 0, 0, - 125, 68, 0, 0, 2, 216, 187, 8, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 217, 187, 12, 21, 0, 0, 0, 0, - 125, 68, 0, 0, 2, 218, 187, 16, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 219, 187, 20, 34, 0, 0, 0, 0, - 219, 52, 0, 0, 2, 220, 187, 1, 1, 7, 24, 34, 0, 0, 0, 0, 219, 52, 0, 0, 2, 221, 187, 1, 1, 6, - 24, 0, 9, 46, 16, 3, 0, 13, 168, 0, 0, 0, 14, 133, 66, 0, 0, 14, 172, 15, 3, 0, 0, 9, 67, 16, - 3, 0, 20, 0, 0, 0, 0, 56, 2, 91, 14, 21, 0, 0, 0, 0, 248, 68, 0, 0, 2, 92, 14, 0, 21, 0, 0, 0, - 0, 227, 28, 0, 0, 2, 93, 14, 8, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 94, 14, 24, 21, 0, 0, 0, 0, - 227, 28, 0, 0, 2, 95, 14, 40, 0, 9, 134, 16, 3, 0, 20, 0, 0, 0, 0, 136, 2, 134, 199, 21, 0, 0, - 0, 0, 57, 17, 3, 0, 2, 135, 199, 0, 21, 0, 0, 0, 0, 219, 52, 0, 0, 2, 136, 199, 16, 21, 0, 0, - 0, 0, 219, 52, 0, 0, 2, 137, 199, 17, 21, 0, 0, 0, 0, 10, 25, 3, 0, 2, 138, 199, 24, 21, 0, 0, - 0, 0, 101, 60, 0, 0, 2, 139, 199, 32, 21, 0, 0, 0, 0, 121, 101, 0, 0, 2, 140, 199, 40, 21, 0, - 0, 0, 0, 227, 28, 0, 0, 2, 141, 199, 48, 21, 0, 0, 0, 0, 116, 25, 3, 0, 2, 142, 199, 64, 21, 0, - 0, 0, 0, 233, 161, 1, 0, 2, 143, 199, 72, 21, 0, 0, 0, 0, 219, 52, 0, 0, 2, 144, 199, 88, 21, - 0, 0, 0, 0, 142, 5, 3, 0, 2, 145, 199, 89, 21, 0, 0, 0, 0, 64, 137, 2, 0, 2, 146, 199, 113, 21, - 0, 0, 0, 0, 125, 68, 0, 0, 2, 147, 199, 132, 0, 20, 0, 0, 0, 0, 16, 2, 125, 199, 21, 0, 0, 0, - 0, 93, 17, 3, 0, 2, 126, 199, 0, 21, 0, 0, 0, 0, 200, 24, 3, 0, 2, 127, 199, 8, 0, 9, 98, 17, - 3, 0, 20, 0, 0, 0, 0, 32, 2, 159, 199, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 160, 199, 0, 21, 0, 0, - 0, 0, 134, 17, 3, 0, 2, 161, 199, 8, 0, 20, 0, 0, 0, 0, 24, 2, 125, 100, 21, 0, 0, 0, 0, 125, - 68, 0, 0, 2, 126, 100, 0, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 127, 100, 4, 21, 0, 0, 0, 0, 209, - 17, 3, 0, 2, 128, 100, 8, 21, 0, 0, 0, 0, 226, 17, 3, 0, 2, 129, 100, 16, 21, 0, 0, 0, 0, 148, - 227, 1, 0, 2, 130, 100, 24, 0, 9, 214, 17, 3, 0, 32, 14, 221, 17, 3, 0, 0, 9, 134, 17, 3, 0, 9, - 231, 17, 3, 0, 27, 0, 0, 0, 0, 184, 1, 2, 202, 100, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 203, 100, - 0, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 204, 100, 16, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 205, 100, - 32, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 206, 100, 36, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 207, 100, 40, - 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 208, 100, 44, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 209, 100, 48, - 21, 0, 0, 0, 0, 141, 64, 0, 0, 2, 210, 100, 52, 21, 0, 0, 0, 0, 40, 201, 0, 0, 2, 211, 100, 56, - 21, 0, 0, 0, 0, 40, 201, 0, 0, 2, 212, 100, 184, 28, 0, 0, 0, 0, 87, 19, 3, 0, 2, 213, 100, 56, - 1, 28, 0, 0, 0, 0, 143, 18, 3, 0, 2, 217, 100, 64, 1, 23, 32, 2, 214, 100, 21, 0, 0, 0, 0, 252, - 21, 3, 0, 2, 215, 100, 0, 21, 0, 0, 0, 0, 129, 22, 3, 0, 2, 216, 100, 0, 0, 28, 0, 0, 0, 0, 62, - 20, 3, 0, 2, 218, 100, 96, 1, 28, 0, 0, 0, 0, 209, 17, 3, 0, 2, 219, 100, 104, 1, 28, 0, 0, 0, - 0, 201, 22, 3, 0, 2, 220, 100, 112, 1, 28, 0, 0, 0, 0, 111, 83, 0, 0, 2, 221, 100, 120, 1, 28, - 0, 0, 0, 0, 245, 18, 3, 0, 2, 230, 100, 128, 1, 23, 56, 2, 222, 100, 21, 0, 0, 0, 0, 213, 22, - 3, 0, 2, 223, 100, 0, 21, 0, 0, 0, 0, 32, 23, 3, 0, 2, 224, 100, 0, 21, 0, 0, 0, 0, 133, 23, 3, - 0, 2, 225, 100, 0, 21, 0, 0, 0, 0, 208, 23, 3, 0, 2, 226, 100, 0, 21, 0, 0, 0, 0, 27, 24, 3, 0, - 2, 227, 100, 0, 21, 0, 0, 0, 0, 76, 24, 3, 0, 2, 228, 100, 0, 21, 0, 0, 0, 0, 138, 24, 3, 0, 2, - 229, 100, 0, 0, 0, 9, 92, 19, 3, 0, 26, 97, 19, 3, 0, 20, 0, 0, 0, 0, 72, 2, 235, 100, 21, 0, - 0, 0, 0, 250, 19, 3, 0, 2, 236, 100, 0, 21, 0, 0, 0, 0, 20, 20, 3, 0, 2, 237, 100, 8, 21, 0, 0, - 0, 0, 36, 20, 3, 0, 2, 238, 100, 16, 21, 0, 0, 0, 0, 62, 20, 3, 0, 2, 239, 100, 24, 21, 0, 0, - 0, 0, 78, 20, 3, 0, 2, 240, 100, 32, 21, 0, 0, 0, 0, 95, 20, 3, 0, 2, 241, 100, 40, 21, 0, 0, - 0, 0, 116, 20, 3, 0, 2, 242, 100, 48, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 243, 100, 56, 21, 0, 0, - 0, 0, 11, 1, 0, 0, 2, 244, 100, 60, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 245, 100, 64, 21, 0, 0, 0, - 0, 11, 1, 0, 0, 2, 246, 100, 68, 0, 9, 255, 19, 3, 0, 13, 11, 1, 0, 0, 14, 226, 17, 3, 0, 14, - 125, 68, 0, 0, 14, 125, 68, 0, 0, 0, 9, 25, 20, 3, 0, 13, 11, 1, 0, 0, 14, 226, 17, 3, 0, 0, 9, - 41, 20, 3, 0, 13, 168, 0, 0, 0, 14, 221, 17, 3, 0, 14, 125, 68, 0, 0, 14, 125, 68, 0, 0, 0, 9, - 67, 20, 3, 0, 13, 168, 0, 0, 0, 14, 221, 17, 3, 0, 0, 9, 83, 20, 3, 0, 32, 14, 71, 114, 0, 0, - 14, 226, 17, 3, 0, 0, 9, 100, 20, 3, 0, 13, 168, 0, 0, 0, 14, 94, 34, 0, 0, 14, 226, 17, 3, 0, - 0, 9, 121, 20, 3, 0, 32, 14, 128, 20, 3, 0, 0, 9, 133, 20, 3, 0, 27, 0, 0, 0, 0, 208, 1, 2, 68, - 200, 21, 0, 0, 0, 0, 231, 17, 3, 0, 2, 69, 200, 0, 28, 0, 0, 0, 0, 227, 20, 3, 0, 2, 70, 200, - 184, 1, 30, 180, 20, 3, 0, 2, 71, 200, 192, 1, 23, 16, 2, 71, 200, 21, 0, 0, 0, 0, 184, 28, 0, - 0, 2, 72, 200, 0, 21, 0, 0, 0, 0, 118, 21, 3, 0, 2, 73, 200, 0, 0, 28, 0, 0, 0, 0, 148, 227, 1, - 0, 2, 75, 200, 208, 1, 0, 9, 232, 20, 3, 0, 20, 0, 0, 0, 0, 168, 2, 93, 200, 21, 0, 0, 0, 0, - 227, 28, 0, 0, 2, 94, 200, 0, 21, 0, 0, 0, 0, 190, 103, 0, 0, 2, 95, 200, 16, 21, 0, 0, 0, 0, - 111, 83, 0, 0, 2, 96, 200, 24, 21, 0, 0, 0, 0, 51, 21, 3, 0, 2, 97, 200, 32, 21, 0, 0, 0, 0, - 40, 201, 0, 0, 2, 98, 200, 40, 0, 9, 56, 21, 3, 0, 13, 168, 0, 0, 0, 14, 227, 20, 3, 0, 14, 72, - 21, 3, 0, 0, 9, 77, 21, 3, 0, 9, 82, 21, 3, 0, 20, 0, 0, 0, 0, 4, 2, 117, 239, 21, 0, 0, 0, 0, - 225, 48, 0, 0, 2, 118, 239, 0, 21, 0, 0, 0, 0, 225, 48, 0, 0, 2, 119, 239, 2, 0, 9, 123, 21, 3, - 0, 20, 0, 0, 0, 0, 48, 2, 78, 200, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 79, 200, 0, 21, 0, 0, 0, - 0, 226, 17, 3, 0, 2, 80, 200, 16, 22, 167, 21, 3, 0, 2, 81, 200, 24, 23, 8, 2, 81, 200, 21, 0, - 0, 0, 0, 128, 20, 3, 0, 2, 82, 200, 0, 21, 0, 0, 0, 0, 118, 21, 3, 0, 2, 83, 200, 0, 0, 21, 0, - 0, 0, 0, 87, 19, 3, 0, 2, 85, 200, 32, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 86, 200, 40, 21, 0, 0, - 0, 0, 219, 52, 0, 0, 2, 87, 200, 44, 21, 0, 0, 0, 0, 219, 52, 0, 0, 2, 88, 200, 45, 0, 20, 0, - 0, 0, 0, 32, 2, 133, 100, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 134, 100, 0, 21, 0, 0, 0, 0, 11, 1, - 0, 0, 2, 135, 100, 4, 21, 0, 0, 0, 0, 71, 22, 3, 0, 2, 136, 100, 8, 21, 0, 0, 0, 0, 107, 22, 3, - 0, 2, 137, 100, 16, 21, 0, 0, 0, 0, 107, 22, 3, 0, 2, 138, 100, 24, 0, 9, 76, 22, 3, 0, 13, - 168, 0, 0, 0, 14, 221, 17, 3, 0, 14, 97, 22, 3, 0, 14, 11, 1, 0, 0, 0, 9, 102, 22, 3, 0, 26, - 118, 55, 0, 0, 9, 112, 22, 3, 0, 32, 14, 221, 17, 3, 0, 14, 254, 70, 2, 0, 14, 97, 22, 3, 0, 0, - 20, 0, 0, 0, 0, 16, 2, 141, 100, 21, 0, 0, 0, 0, 165, 22, 3, 0, 2, 142, 100, 0, 21, 0, 0, 0, 0, - 165, 22, 3, 0, 2, 143, 100, 8, 0, 9, 170, 22, 3, 0, 13, 168, 0, 0, 0, 14, 221, 17, 3, 0, 14, - 97, 22, 3, 0, 14, 11, 1, 0, 0, 14, 254, 70, 2, 0, 14, 186, 215, 0, 0, 0, 9, 206, 22, 3, 0, 32, - 14, 226, 17, 3, 0, 0, 20, 0, 0, 0, 0, 40, 2, 146, 100, 21, 0, 0, 0, 0, 83, 97, 0, 0, 2, 147, - 100, 0, 21, 0, 0, 0, 0, 83, 97, 0, 0, 2, 148, 100, 8, 21, 0, 0, 0, 0, 83, 97, 0, 0, 2, 149, - 100, 16, 21, 0, 0, 0, 0, 83, 97, 0, 0, 2, 150, 100, 24, 21, 0, 0, 0, 0, 83, 97, 0, 0, 2, 151, - 100, 32, 0, 20, 0, 0, 0, 0, 56, 2, 154, 100, 21, 0, 0, 0, 0, 83, 97, 0, 0, 2, 155, 100, 0, 21, - 0, 0, 0, 0, 83, 97, 0, 0, 2, 156, 100, 8, 21, 0, 0, 0, 0, 83, 97, 0, 0, 2, 157, 100, 16, 21, 0, - 0, 0, 0, 83, 97, 0, 0, 2, 158, 100, 24, 21, 0, 0, 0, 0, 83, 97, 0, 0, 2, 159, 100, 32, 21, 0, - 0, 0, 0, 83, 97, 0, 0, 2, 160, 100, 40, 21, 0, 0, 0, 0, 83, 97, 0, 0, 2, 161, 100, 48, 0, 20, - 0, 0, 0, 0, 40, 2, 164, 100, 21, 0, 0, 0, 0, 83, 97, 0, 0, 2, 165, 100, 0, 21, 0, 0, 0, 0, 83, - 97, 0, 0, 2, 166, 100, 8, 21, 0, 0, 0, 0, 83, 97, 0, 0, 2, 167, 100, 16, 21, 0, 0, 0, 0, 83, - 97, 0, 0, 2, 168, 100, 24, 21, 0, 0, 0, 0, 83, 97, 0, 0, 2, 169, 100, 32, 0, 20, 0, 0, 0, 0, - 40, 2, 172, 100, 21, 0, 0, 0, 0, 83, 97, 0, 0, 2, 173, 100, 0, 21, 0, 0, 0, 0, 83, 97, 0, 0, 2, - 174, 100, 8, 21, 0, 0, 0, 0, 83, 97, 0, 0, 2, 175, 100, 16, 21, 0, 0, 0, 0, 83, 97, 0, 0, 2, - 176, 100, 24, 21, 0, 0, 0, 0, 83, 97, 0, 0, 2, 177, 100, 32, 0, 20, 0, 0, 0, 0, 24, 2, 180, - 100, 21, 0, 0, 0, 0, 83, 97, 0, 0, 2, 181, 100, 0, 21, 0, 0, 0, 0, 83, 97, 0, 0, 2, 182, 100, - 8, 21, 0, 0, 0, 0, 83, 97, 0, 0, 2, 183, 100, 16, 0, 20, 0, 0, 0, 0, 32, 2, 193, 100, 21, 0, 0, - 0, 0, 83, 97, 0, 0, 2, 194, 100, 0, 21, 0, 0, 0, 0, 83, 97, 0, 0, 2, 195, 100, 8, 21, 0, 0, 0, - 0, 83, 97, 0, 0, 2, 196, 100, 16, 21, 0, 0, 0, 0, 83, 97, 0, 0, 2, 197, 100, 24, 0, 20, 0, 0, - 0, 0, 32, 2, 186, 100, 21, 0, 0, 0, 0, 83, 97, 0, 0, 2, 187, 100, 0, 21, 0, 0, 0, 0, 83, 97, 0, - 0, 2, 188, 100, 8, 21, 0, 0, 0, 0, 83, 97, 0, 0, 2, 189, 100, 16, 21, 0, 0, 0, 0, 83, 97, 0, 0, - 2, 190, 100, 24, 0, 9, 205, 24, 3, 0, 20, 0, 0, 0, 0, 88, 2, 136, 200, 21, 0, 0, 0, 0, 227, 35, - 2, 0, 2, 137, 200, 0, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 138, 200, 84, 21, 0, 0, 0, 0, 254, 24, - 3, 0, 2, 139, 200, 88, 0, 3, 168, 19, 2, 0, 4, 82, 0, 0, 0, 0, 0, 9, 15, 25, 3, 0, 20, 0, 0, 0, - 0, 40, 2, 164, 199, 21, 0, 0, 0, 0, 14, 29, 0, 0, 2, 165, 199, 0, 21, 0, 0, 0, 0, 14, 29, 0, 0, - 2, 166, 199, 8, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 167, 199, 16, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, - 168, 199, 20, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 169, 199, 24, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, - 170, 199, 28, 21, 0, 0, 0, 0, 82, 36, 2, 0, 2, 171, 199, 32, 0, 9, 121, 25, 3, 0, 20, 0, 0, 0, - 0, 120, 2, 114, 200, 21, 0, 0, 0, 0, 184, 28, 0, 0, 2, 115, 200, 0, 21, 0, 0, 0, 0, 141, 64, 0, - 0, 2, 116, 200, 16, 21, 0, 0, 0, 0, 209, 25, 3, 0, 2, 117, 200, 24, 21, 0, 0, 0, 0, 57, 17, 3, - 0, 2, 118, 200, 32, 21, 0, 0, 0, 0, 136, 248, 0, 0, 2, 119, 200, 48, 21, 0, 0, 0, 0, 126, 36, - 2, 0, 2, 120, 200, 56, 0, 9, 214, 25, 3, 0, 26, 15, 25, 3, 0, 9, 224, 25, 3, 0, 27, 0, 0, 0, 0, - 0, 1, 2, 158, 200, 21, 0, 0, 0, 0, 31, 26, 3, 0, 2, 159, 200, 0, 21, 0, 0, 0, 0, 126, 36, 2, 0, - 2, 160, 200, 120, 21, 0, 0, 0, 0, 126, 36, 2, 0, 2, 161, 200, 184, 21, 0, 0, 0, 0, 212, 11, 3, - 0, 2, 162, 200, 248, 0, 20, 0, 0, 0, 0, 120, 2, 144, 200, 21, 0, 0, 0, 0, 184, 26, 3, 0, 2, - 145, 200, 0, 21, 0, 0, 0, 0, 97, 22, 3, 0, 2, 146, 200, 8, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 147, - 200, 16, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 148, 200, 20, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 149, - 200, 24, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 150, 200, 28, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 151, - 200, 32, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 152, 200, 36, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 153, - 200, 40, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 154, 200, 48, 21, 0, 0, 0, 0, 30, 190, 0, 0, 2, 155, - 200, 56, 0, 9, 189, 26, 3, 0, 20, 0, 0, 0, 0, 96, 2, 192, 200, 21, 0, 0, 0, 0, 8, 27, 3, 0, 2, - 193, 200, 0, 21, 0, 0, 0, 0, 14, 29, 0, 0, 2, 194, 200, 8, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 195, - 200, 16, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 196, 200, 20, 21, 0, 0, 0, 0, 92, 60, 2, 0, 2, 197, - 200, 24, 0, 9, 13, 27, 3, 0, 20, 0, 0, 0, 0, 96, 2, 202, 200, 21, 0, 0, 0, 0, 153, 27, 3, 0, 2, - 203, 200, 0, 21, 0, 0, 0, 0, 153, 27, 3, 0, 2, 204, 200, 8, 21, 0, 0, 0, 0, 153, 27, 3, 0, 2, - 205, 200, 16, 21, 0, 0, 0, 0, 153, 27, 3, 0, 2, 206, 200, 24, 21, 0, 0, 0, 0, 153, 27, 3, 0, 2, - 207, 200, 32, 21, 0, 0, 0, 0, 115, 28, 3, 0, 2, 208, 200, 40, 21, 0, 0, 0, 0, 136, 28, 3, 0, 2, - 209, 200, 48, 21, 0, 0, 0, 0, 157, 28, 3, 0, 2, 210, 200, 56, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, - 211, 200, 64, 21, 0, 0, 0, 0, 134, 17, 3, 0, 2, 212, 200, 72, 0, 9, 158, 27, 3, 0, 13, 168, 0, - 0, 0, 14, 169, 27, 3, 0, 0, 9, 174, 27, 3, 0, 20, 0, 0, 0, 0, 80, 2, 215, 200, 21, 0, 0, 0, 0, - 6, 28, 3, 0, 2, 216, 200, 0, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 217, 200, 48, 21, 0, 0, 0, 0, 235, - 239, 0, 0, 2, 218, 200, 56, 21, 0, 0, 0, 0, 254, 70, 2, 0, 2, 219, 200, 64, 21, 0, 0, 0, 0, - 255, 0, 0, 0, 2, 220, 200, 72, 21, 0, 0, 0, 0, 148, 227, 1, 0, 2, 221, 200, 80, 0, 20, 0, 0, 0, - 0, 48, 2, 87, 181, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 88, 181, 0, 21, 0, 0, 0, 0, 81, 28, 3, 0, - 2, 89, 181, 16, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 90, 181, 24, 21, 0, 0, 0, 0, 221, 17, 3, 0, 2, - 91, 181, 32, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 92, 181, 40, 0, 33, 93, 28, 3, 0, 0, 0, 0, 0, 2, - 85, 181, 9, 98, 28, 3, 0, 32, 14, 110, 28, 3, 0, 14, 168, 0, 0, 0, 0, 9, 6, 28, 3, 0, 9, 120, - 28, 3, 0, 13, 168, 0, 0, 0, 14, 169, 27, 3, 0, 14, 255, 0, 0, 0, 0, 9, 141, 28, 3, 0, 13, 168, - 0, 0, 0, 14, 169, 27, 3, 0, 14, 56, 1, 0, 0, 0, 9, 162, 28, 3, 0, 13, 168, 0, 0, 0, 14, 8, 27, - 3, 0, 14, 97, 22, 3, 0, 14, 11, 1, 0, 0, 0, 9, 188, 28, 3, 0, 26, 193, 28, 3, 0, 20, 0, 0, 0, - 0, 176, 2, 35, 14, 21, 0, 0, 0, 0, 233, 29, 3, 0, 2, 36, 14, 0, 21, 0, 0, 0, 0, 254, 29, 3, 0, - 2, 37, 14, 8, 21, 0, 0, 0, 0, 19, 30, 3, 0, 2, 38, 14, 16, 21, 0, 0, 0, 0, 40, 30, 3, 0, 2, 39, - 14, 24, 21, 0, 0, 0, 0, 56, 30, 3, 0, 2, 40, 14, 32, 21, 0, 0, 0, 0, 87, 30, 3, 0, 2, 41, 14, - 40, 21, 0, 0, 0, 0, 197, 30, 3, 0, 2, 42, 14, 48, 21, 0, 0, 0, 0, 243, 30, 3, 0, 2, 43, 14, 56, - 21, 0, 0, 0, 0, 33, 31, 3, 0, 2, 44, 14, 64, 21, 0, 0, 0, 0, 54, 31, 3, 0, 2, 45, 14, 72, 21, - 0, 0, 0, 0, 76, 31, 3, 0, 2, 46, 14, 80, 21, 0, 0, 0, 0, 97, 31, 3, 0, 2, 47, 14, 88, 21, 0, 0, - 0, 0, 0, 234, 0, 0, 2, 48, 14, 96, 21, 0, 0, 0, 0, 109, 31, 3, 0, 2, 49, 14, 104, 21, 0, 0, 0, - 0, 140, 31, 3, 0, 2, 50, 14, 112, 21, 0, 0, 0, 0, 97, 31, 3, 0, 2, 51, 14, 120, 21, 0, 0, 0, 0, - 40, 30, 3, 0, 2, 52, 14, 128, 21, 0, 0, 0, 0, 173, 31, 3, 0, 2, 53, 14, 136, 21, 0, 0, 0, 0, - 199, 31, 3, 0, 2, 54, 14, 144, 21, 0, 0, 0, 0, 221, 31, 3, 0, 2, 55, 14, 152, 21, 0, 0, 0, 0, - 242, 31, 3, 0, 2, 56, 14, 160, 21, 0, 0, 0, 0, 44, 34, 3, 0, 2, 57, 14, 168, 0, 9, 238, 29, 3, - 0, 13, 168, 0, 0, 0, 14, 68, 56, 0, 0, 14, 195, 247, 2, 0, 0, 9, 3, 30, 3, 0, 13, 168, 0, 0, 0, - 14, 69, 80, 0, 0, 14, 68, 56, 0, 0, 0, 9, 24, 30, 3, 0, 13, 168, 0, 0, 0, 14, 134, 59, 0, 0, - 14, 195, 247, 2, 0, 0, 9, 45, 30, 3, 0, 13, 168, 0, 0, 0, 14, 68, 56, 0, 0, 0, 9, 61, 30, 3, 0, - 13, 168, 0, 0, 0, 14, 69, 80, 0, 0, 14, 134, 59, 0, 0, 14, 4, 29, 0, 0, 14, 11, 1, 0, 0, 0, 9, - 92, 30, 3, 0, 32, 14, 99, 30, 3, 0, 0, 9, 104, 30, 3, 0, 20, 0, 0, 0, 0, 40, 2, 248, 24, 21, 0, - 0, 0, 0, 69, 80, 0, 0, 2, 249, 24, 0, 21, 0, 0, 0, 0, 134, 59, 0, 0, 2, 250, 24, 8, 21, 0, 0, - 0, 0, 192, 30, 3, 0, 2, 251, 24, 16, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 252, 24, 24, 21, 0, 0, - 0, 0, 11, 1, 0, 0, 2, 253, 24, 32, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 254, 24, 36, 0, 9, 187, 243, - 2, 0, 9, 202, 30, 3, 0, 13, 168, 0, 0, 0, 14, 69, 80, 0, 0, 14, 134, 59, 0, 0, 14, 29, 75, 0, - 0, 14, 11, 1, 0, 0, 14, 11, 1, 0, 0, 14, 70, 110, 0, 0, 14, 31, 48, 1, 0, 0, 9, 248, 30, 3, 0, - 13, 168, 0, 0, 0, 14, 69, 80, 0, 0, 14, 134, 59, 0, 0, 14, 29, 75, 0, 0, 14, 11, 1, 0, 0, 14, - 11, 1, 0, 0, 14, 68, 56, 0, 0, 14, 255, 0, 0, 0, 0, 9, 38, 31, 3, 0, 13, 77, 13, 2, 0, 14, 134, - 59, 0, 0, 14, 77, 13, 2, 0, 0, 9, 59, 31, 3, 0, 32, 14, 68, 56, 0, 0, 14, 11, 1, 0, 0, 14, 11, - 1, 0, 0, 0, 9, 81, 31, 3, 0, 13, 168, 0, 0, 0, 14, 68, 56, 0, 0, 14, 8, 153, 0, 0, 0, 9, 102, - 31, 3, 0, 32, 14, 68, 56, 0, 0, 0, 9, 114, 31, 3, 0, 13, 168, 0, 0, 0, 14, 134, 59, 0, 0, 14, - 68, 56, 0, 0, 14, 68, 56, 0, 0, 14, 133, 74, 2, 0, 0, 9, 145, 31, 3, 0, 13, 219, 52, 0, 0, 14, - 68, 56, 0, 0, 14, 161, 31, 3, 0, 0, 33, 11, 1, 0, 0, 0, 0, 0, 0, 2, 105, 9, 9, 178, 31, 3, 0, - 13, 168, 0, 0, 0, 14, 68, 56, 0, 0, 14, 127, 29, 0, 0, 14, 127, 29, 0, 0, 0, 9, 204, 31, 3, 0, - 32, 14, 68, 56, 0, 0, 14, 174, 225, 0, 0, 14, 174, 225, 0, 0, 0, 9, 226, 31, 3, 0, 13, 168, 0, - 0, 0, 14, 134, 59, 0, 0, 14, 68, 56, 0, 0, 0, 9, 247, 31, 3, 0, 13, 168, 0, 0, 0, 14, 12, 32, - 3, 0, 14, 69, 80, 0, 0, 14, 163, 19, 2, 0, 0, 9, 17, 32, 3, 0, 27, 0, 0, 0, 0, 32, 1, 2, 42, - 25, 21, 0, 0, 0, 0, 153, 0, 1, 0, 2, 43, 25, 0, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 44, 25, 16, - 21, 0, 0, 0, 0, 37, 65, 0, 0, 2, 45, 25, 24, 21, 0, 0, 0, 0, 244, 211, 0, 0, 2, 46, 25, 32, 21, - 0, 0, 0, 0, 95, 43, 1, 0, 2, 47, 25, 72, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 48, 25, 76, 21, 0, 0, - 0, 0, 148, 245, 1, 0, 2, 49, 25, 80, 21, 0, 0, 0, 0, 151, 33, 3, 0, 2, 50, 25, 88, 21, 0, 0, 0, - 0, 211, 33, 3, 0, 2, 51, 25, 96, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 52, 25, 112, 21, 0, 0, 0, 0, - 11, 1, 0, 0, 2, 53, 25, 116, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 54, 25, 120, 21, 0, 0, 0, 0, 11, - 1, 0, 0, 2, 55, 25, 124, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 56, 25, 128, 21, 0, 0, 0, 0, 11, 1, 0, - 0, 2, 57, 25, 132, 21, 0, 0, 0, 0, 186, 215, 0, 0, 2, 58, 25, 136, 21, 0, 0, 0, 0, 247, 33, 3, - 0, 2, 59, 25, 144, 21, 0, 0, 0, 0, 220, 96, 0, 0, 2, 60, 25, 152, 21, 0, 0, 0, 0, 33, 12, 2, 0, - 2, 61, 25, 160, 21, 0, 0, 0, 0, 69, 80, 0, 0, 2, 62, 25, 168, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, - 63, 25, 176, 21, 0, 0, 0, 0, 43, 167, 0, 0, 2, 64, 25, 184, 21, 0, 0, 0, 0, 75, 110, 0, 0, 2, - 65, 25, 216, 21, 0, 0, 0, 0, 176, 64, 0, 0, 2, 66, 25, 224, 21, 0, 0, 0, 0, 248, 68, 0, 0, 2, - 67, 25, 228, 21, 0, 0, 0, 0, 248, 68, 0, 0, 2, 68, 25, 232, 21, 0, 0, 0, 0, 156, 163, 0, 0, 2, - 69, 25, 240, 28, 0, 0, 0, 0, 211, 33, 3, 0, 2, 70, 25, 16, 1, 28, 0, 0, 0, 0, 32, 34, 3, 0, 2, - 71, 25, 32, 1, 0, 9, 156, 33, 3, 0, 20, 0, 0, 0, 0, 8, 2, 29, 25, 21, 0, 0, 0, 0, 248, 68, 0, - 0, 2, 30, 25, 0, 34, 0, 0, 0, 0, 11, 1, 0, 0, 2, 31, 25, 4, 24, 8, 4, 34, 0, 0, 0, 0, 11, 1, 0, - 0, 2, 32, 25, 4, 8, 0, 4, 0, 20, 0, 0, 0, 0, 16, 2, 35, 25, 21, 0, 0, 0, 0, 156, 33, 3, 0, 2, - 36, 25, 0, 21, 0, 0, 0, 0, 156, 33, 3, 0, 2, 37, 25, 8, 0, 9, 252, 33, 3, 0, 20, 0, 0, 0, 0, - 12, 2, 49, 34, 21, 0, 0, 0, 0, 156, 33, 3, 0, 2, 50, 34, 0, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 51, - 34, 8, 0, 3, 244, 211, 0, 0, 4, 82, 0, 0, 0, 0, 0, 9, 49, 34, 3, 0, 32, 14, 69, 80, 0, 0, 0, 9, - 61, 34, 3, 0, 27, 0, 0, 0, 0, 0, 6, 2, 238, 34, 21, 0, 0, 0, 0, 2, 35, 3, 0, 2, 239, 34, 0, 21, - 0, 0, 0, 0, 147, 165, 0, 0, 2, 240, 34, 40, 21, 0, 0, 0, 0, 125, 141, 0, 0, 2, 241, 34, 128, - 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 242, 34, 136, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 243, 34, 144, - 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 244, 34, 152, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 245, 34, 156, - 21, 0, 0, 0, 0, 68, 56, 0, 0, 2, 246, 34, 160, 21, 0, 0, 0, 0, 248, 0, 0, 0, 2, 247, 34, 168, - 21, 0, 0, 0, 0, 116, 35, 3, 0, 2, 250, 34, 192, 28, 0, 0, 0, 0, 165, 35, 3, 0, 2, 2, 35, 0, 5, - 28, 0, 0, 0, 0, 176, 64, 0, 0, 2, 3, 35, 192, 5, 28, 0, 0, 0, 0, 141, 64, 0, 0, 2, 4, 35, 196, - 5, 28, 0, 0, 0, 0, 136, 68, 0, 0, 2, 5, 35, 200, 5, 0, 20, 0, 0, 0, 0, 40, 2, 191, 34, 21, 0, - 0, 0, 0, 11, 1, 0, 0, 2, 192, 34, 0, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 193, 34, 4, 21, 0, 0, 0, - 0, 11, 1, 0, 0, 2, 194, 34, 8, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 195, 34, 12, 21, 0, 0, 0, 0, - 203, 173, 0, 0, 2, 196, 34, 16, 21, 0, 0, 0, 0, 51, 5, 0, 0, 2, 197, 34, 24, 21, 0, 0, 0, 0, - 11, 1, 0, 0, 2, 198, 34, 28, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 199, 34, 32, 0, 27, 0, 0, 0, 0, 8, - 4, 2, 202, 34, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 203, 34, 0, 21, 0, 0, 0, 0, 153, 35, 3, 0, 2, - 204, 34, 8, 0, 3, 68, 56, 0, 0, 4, 82, 0, 0, 0, 128, 0, 20, 0, 0, 0, 0, 192, 2, 207, 34, 21, 0, - 0, 0, 0, 168, 0, 0, 0, 2, 208, 34, 0, 21, 0, 0, 0, 0, 248, 68, 0, 0, 2, 209, 34, 4, 21, 0, 0, - 0, 0, 168, 0, 0, 0, 2, 217, 34, 64, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 218, 34, 68, 21, 0, 0, 0, - 0, 248, 68, 0, 0, 2, 219, 34, 72, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 227, 34, 128, 21, 0, 0, 0, - 0, 168, 0, 0, 0, 2, 228, 34, 132, 21, 0, 0, 0, 0, 31, 48, 1, 0, 2, 229, 34, 136, 0, 9, 28, 36, - 3, 0, 20, 0, 0, 0, 0, 152, 2, 109, 8, 21, 0, 0, 0, 0, 196, 36, 3, 0, 2, 110, 8, 0, 21, 0, 0, 0, - 0, 69, 1, 1, 0, 2, 111, 8, 48, 21, 0, 0, 0, 0, 153, 0, 1, 0, 2, 112, 8, 56, 21, 0, 0, 0, 0, 43, - 167, 0, 0, 2, 113, 8, 72, 21, 0, 0, 0, 0, 33, 37, 3, 0, 2, 114, 8, 104, 21, 0, 0, 0, 0, 11, 1, - 0, 0, 2, 115, 8, 108, 21, 0, 0, 0, 0, 71, 37, 3, 0, 2, 116, 8, 112, 21, 0, 0, 0, 0, 255, 0, 0, - 0, 2, 117, 8, 120, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 118, 8, 128, 22, 163, 36, 3, 0, 2, 119, 8, - 136, 23, 16, 2, 119, 8, 21, 0, 0, 0, 0, 155, 37, 3, 0, 2, 120, 8, 0, 21, 0, 0, 0, 0, 191, 37, - 3, 0, 2, 121, 8, 0, 0, 0, 20, 0, 0, 0, 0, 48, 2, 84, 8, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 85, - 8, 0, 21, 0, 0, 0, 0, 28, 37, 3, 0, 2, 86, 8, 8, 21, 0, 0, 0, 0, 28, 37, 3, 0, 2, 87, 8, 16, - 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 88, 8, 24, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 89, 8, 32, 21, - 0, 0, 0, 0, 127, 29, 0, 0, 2, 90, 8, 40, 0, 26, 127, 29, 0, 0, 17, 11, 1, 0, 0, 0, 0, 0, 0, 4, - 2, 100, 8, 18, 0, 0, 0, 0, 1, 18, 0, 0, 0, 0, 2, 18, 0, 0, 0, 0, 3, 18, 0, 0, 0, 0, 4, 0, 9, - 76, 37, 3, 0, 26, 81, 37, 3, 0, 20, 0, 0, 0, 0, 32, 2, 156, 9, 21, 0, 0, 0, 0, 97, 31, 3, 0, 2, - 157, 9, 0, 21, 0, 0, 0, 0, 143, 37, 3, 0, 2, 158, 9, 8, 21, 0, 0, 0, 0, 143, 37, 3, 0, 2, 159, - 9, 16, 21, 0, 0, 0, 0, 221, 156, 0, 0, 2, 160, 9, 24, 0, 9, 148, 37, 3, 0, 32, 14, 23, 36, 3, - 0, 0, 20, 0, 0, 0, 0, 16, 2, 192, 5, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 193, 5, 0, 21, 0, 0, 0, - 0, 136, 68, 0, 0, 2, 194, 5, 8, 0, 3, 155, 37, 3, 0, 4, 82, 0, 0, 0, 0, 0, 9, 215, 152, 0, 0, - 9, 213, 37, 3, 0, 13, 168, 0, 0, 0, 14, 140, 40, 0, 0, 14, 0, 54, 0, 0, 14, 140, 55, 0, 0, 14, - 168, 0, 0, 0, 14, 168, 0, 0, 0, 14, 214, 52, 0, 0, 0, 9, 254, 37, 3, 0, 13, 168, 0, 0, 0, 14, - 140, 40, 0, 0, 14, 94, 34, 0, 0, 0, 9, 19, 38, 3, 0, 13, 219, 52, 0, 0, 14, 168, 0, 0, 0, 14, - 168, 0, 0, 0, 0, 9, 40, 38, 3, 0, 13, 168, 0, 0, 0, 14, 140, 40, 0, 0, 14, 225, 48, 0, 0, 0, 9, - 61, 38, 3, 0, 13, 168, 0, 0, 0, 14, 140, 40, 0, 0, 14, 82, 38, 3, 0, 14, 219, 52, 0, 0, 0, 9, - 87, 38, 3, 0, 27, 0, 0, 0, 0, 72, 2, 2, 154, 168, 21, 0, 0, 0, 0, 140, 40, 0, 0, 2, 155, 168, - 0, 21, 0, 0, 0, 0, 140, 40, 0, 0, 2, 156, 168, 8, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 157, 168, - 16, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 158, 168, 20, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 159, 168, - 24, 21, 0, 0, 0, 0, 184, 39, 3, 0, 2, 160, 168, 32, 21, 0, 0, 0, 0, 197, 40, 3, 0, 2, 161, 168, - 40, 21, 0, 0, 0, 0, 3, 41, 3, 0, 2, 162, 168, 72, 28, 0, 0, 0, 0, 195, 183, 1, 0, 2, 163, 168, - 64, 1, 28, 0, 0, 0, 0, 227, 28, 0, 0, 2, 164, 168, 88, 1, 28, 0, 0, 0, 0, 248, 68, 0, 0, 2, - 165, 168, 104, 1, 28, 0, 0, 0, 0, 127, 29, 0, 0, 2, 166, 168, 112, 1, 28, 0, 0, 0, 0, 227, 28, - 0, 0, 2, 167, 168, 120, 1, 28, 0, 0, 0, 0, 248, 68, 0, 0, 2, 168, 168, 136, 1, 28, 0, 0, 0, 0, - 141, 64, 0, 0, 2, 169, 168, 140, 1, 28, 0, 0, 0, 0, 23, 53, 0, 0, 2, 170, 168, 144, 1, 28, 0, - 0, 0, 0, 42, 52, 0, 0, 2, 171, 168, 152, 1, 28, 0, 0, 0, 0, 23, 53, 0, 0, 2, 172, 168, 160, 1, - 28, 0, 0, 0, 0, 23, 53, 0, 0, 2, 173, 168, 168, 1, 28, 0, 0, 0, 0, 56, 38, 3, 0, 2, 174, 168, - 176, 1, 28, 0, 0, 0, 0, 12, 49, 0, 0, 2, 175, 168, 184, 1, 28, 0, 0, 0, 0, 241, 106, 0, 0, 2, - 176, 168, 192, 1, 28, 0, 0, 0, 0, 228, 42, 3, 0, 2, 177, 168, 224, 1, 28, 0, 0, 0, 0, 156, 163, - 0, 0, 2, 178, 168, 240, 1, 28, 0, 0, 0, 0, 184, 55, 1, 0, 2, 179, 168, 16, 2, 0, 9, 189, 39, 3, - 0, 27, 0, 0, 0, 0, 200, 2, 2, 223, 168, 21, 0, 0, 0, 0, 83, 40, 3, 0, 2, 224, 168, 0, 28, 0, 0, - 0, 0, 255, 0, 0, 0, 2, 225, 168, 128, 2, 28, 0, 0, 0, 0, 255, 0, 0, 0, 2, 226, 168, 136, 2, 28, - 0, 0, 0, 0, 125, 68, 0, 0, 2, 227, 168, 144, 2, 28, 0, 0, 0, 0, 125, 68, 0, 0, 2, 228, 168, - 148, 2, 28, 0, 0, 0, 0, 125, 68, 0, 0, 2, 229, 168, 152, 2, 28, 0, 0, 0, 0, 94, 34, 0, 0, 2, - 230, 168, 160, 2, 28, 0, 0, 0, 0, 140, 40, 0, 0, 2, 231, 168, 168, 2, 28, 0, 0, 0, 0, 140, 40, - 0, 0, 2, 232, 168, 176, 2, 28, 0, 0, 0, 0, 227, 28, 0, 0, 2, 233, 168, 184, 2, 0, 27, 0, 0, 0, - 0, 128, 2, 2, 213, 168, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 214, 168, 0, 21, 0, 0, 0, 0, 125, 68, - 0, 0, 2, 215, 168, 4, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 216, 168, 8, 21, 0, 0, 0, 0, 125, 68, - 0, 0, 2, 217, 168, 12, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 218, 168, 16, 21, 0, 0, 0, 0, 127, 29, - 0, 0, 2, 219, 168, 24, 21, 0, 0, 0, 0, 185, 40, 3, 0, 2, 220, 168, 32, 0, 3, 240, 239, 0, 0, 4, - 82, 0, 0, 0, 19, 0, 20, 0, 0, 0, 0, 32, 2, 102, 168, 21, 0, 0, 0, 0, 16, 247, 0, 0, 2, 103, - 168, 0, 21, 0, 0, 0, 0, 16, 247, 0, 0, 2, 104, 168, 8, 21, 0, 0, 0, 0, 16, 247, 0, 0, 2, 105, - 168, 16, 21, 0, 0, 0, 0, 16, 247, 0, 0, 2, 106, 168, 24, 0, 20, 0, 0, 0, 0, 248, 2, 130, 168, - 21, 0, 0, 0, 0, 140, 40, 0, 0, 2, 131, 168, 0, 34, 0, 0, 0, 0, 125, 68, 0, 0, 2, 132, 168, 4, - 1, 31, 8, 34, 0, 0, 0, 0, 125, 68, 0, 0, 2, 133, 168, 4, 1, 30, 8, 34, 0, 0, 0, 0, 125, 68, 0, - 0, 2, 134, 168, 4, 1, 29, 8, 34, 0, 0, 0, 0, 125, 68, 0, 0, 2, 135, 168, 4, 1, 28, 8, 34, 0, 0, - 0, 0, 125, 68, 0, 0, 2, 136, 168, 4, 1, 27, 8, 21, 0, 0, 0, 0, 197, 41, 3, 0, 2, 137, 168, 16, - 21, 0, 0, 0, 0, 94, 34, 0, 0, 2, 138, 168, 24, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 139, 168, 32, - 21, 0, 0, 0, 0, 147, 165, 0, 0, 2, 140, 168, 40, 21, 0, 0, 0, 0, 156, 163, 0, 0, 2, 141, 168, - 128, 21, 0, 0, 0, 0, 202, 41, 3, 0, 2, 142, 168, 160, 21, 0, 0, 0, 0, 47, 42, 3, 0, 2, 143, - 168, 200, 0, 9, 94, 34, 0, 0, 20, 0, 0, 0, 0, 40, 2, 109, 168, 21, 0, 0, 0, 0, 208, 0, 0, 0, 2, - 110, 168, 0, 21, 0, 0, 0, 0, 208, 0, 0, 0, 2, 111, 168, 8, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 112, - 168, 16, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 113, 168, 20, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 114, - 168, 24, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 115, 168, 28, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 116, - 168, 32, 0, 20, 0, 0, 0, 0, 48, 2, 121, 168, 21, 0, 0, 0, 0, 135, 42, 3, 0, 2, 122, 168, 0, 21, - 0, 0, 0, 0, 161, 42, 3, 0, 2, 123, 168, 8, 21, 0, 0, 0, 0, 178, 42, 3, 0, 2, 124, 168, 16, 21, - 0, 0, 0, 0, 199, 42, 3, 0, 2, 125, 168, 24, 21, 0, 0, 0, 0, 216, 42, 3, 0, 2, 126, 168, 32, 21, - 0, 0, 0, 0, 216, 42, 3, 0, 2, 127, 168, 40, 0, 9, 140, 42, 3, 0, 13, 168, 0, 0, 0, 14, 156, 42, - 3, 0, 14, 94, 34, 0, 0, 0, 9, 3, 41, 3, 0, 9, 166, 42, 3, 0, 32, 14, 156, 42, 3, 0, 14, 94, 34, - 0, 0, 0, 9, 183, 42, 3, 0, 13, 168, 0, 0, 0, 14, 156, 42, 3, 0, 14, 168, 0, 0, 0, 0, 9, 204, - 42, 3, 0, 32, 14, 156, 42, 3, 0, 14, 168, 0, 0, 0, 0, 9, 221, 42, 3, 0, 32, 14, 156, 42, 3, 0, - 0, 20, 0, 0, 0, 0, 16, 2, 146, 168, 21, 0, 0, 0, 0, 94, 34, 0, 0, 2, 147, 168, 0, 21, 0, 0, 0, - 0, 125, 68, 0, 0, 2, 148, 168, 8, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 149, 168, 12, 0, 9, 26, 43, - 3, 0, 13, 219, 52, 0, 0, 14, 42, 43, 3, 0, 14, 168, 0, 0, 0, 0, 9, 47, 43, 3, 0, 26, 145, 40, - 0, 0, 9, 57, 43, 3, 0, 13, 219, 52, 0, 0, 14, 140, 40, 0, 0, 0, 9, 166, 109, 0, 0, 9, 248, 0, - 0, 0, 9, 83, 43, 3, 0, 20, 0, 0, 0, 0, 64, 2, 166, 53, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 167, - 53, 0, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 168, 53, 4, 21, 0, 0, 0, 0, 161, 78, 1, 0, 2, 169, 53, - 8, 21, 0, 0, 0, 0, 199, 53, 0, 0, 2, 170, 53, 16, 21, 0, 0, 0, 0, 210, 43, 3, 0, 2, 171, 53, - 24, 21, 0, 0, 0, 0, 242, 44, 3, 0, 2, 172, 53, 32, 21, 0, 0, 0, 0, 8, 45, 3, 0, 2, 173, 53, 40, - 21, 0, 0, 0, 0, 25, 45, 3, 0, 2, 174, 53, 48, 21, 0, 0, 0, 0, 37, 45, 3, 0, 2, 175, 53, 56, 0, - 9, 215, 43, 3, 0, 13, 168, 0, 0, 0, 14, 42, 43, 3, 0, 14, 231, 43, 3, 0, 0, 9, 236, 43, 3, 0, - 20, 0, 0, 0, 0, 224, 2, 188, 53, 21, 0, 0, 0, 0, 24, 46, 0, 0, 2, 189, 53, 0, 21, 0, 0, 0, 0, - 231, 43, 3, 0, 2, 190, 53, 136, 21, 0, 0, 0, 0, 177, 69, 0, 0, 2, 191, 53, 144, 21, 0, 0, 0, 0, - 118, 55, 0, 0, 2, 192, 53, 146, 34, 0, 0, 0, 0, 118, 55, 0, 0, 2, 193, 53, 1, 1, 7, 147, 34, 0, - 0, 0, 0, 118, 55, 0, 0, 2, 194, 53, 1, 7, 0, 147, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 195, 53, - 148, 21, 0, 0, 0, 0, 173, 161, 0, 0, 2, 196, 53, 152, 21, 0, 0, 0, 0, 165, 44, 3, 0, 2, 197, - 53, 192, 21, 0, 0, 0, 0, 140, 40, 0, 0, 2, 198, 53, 200, 21, 0, 0, 0, 0, 175, 44, 3, 0, 2, 199, - 53, 208, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 200, 53, 216, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 201, - 53, 220, 0, 9, 170, 44, 3, 0, 26, 83, 43, 3, 0, 9, 180, 44, 3, 0, 20, 0, 0, 0, 0, 12, 2, 204, - 53, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 205, 53, 0, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 206, 53, 4, - 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 207, 53, 8, 21, 0, 0, 0, 0, 227, 16, 1, 0, 2, 208, 53, 12, 0, - 9, 247, 44, 3, 0, 32, 14, 42, 43, 3, 0, 14, 94, 34, 0, 0, 14, 231, 43, 3, 0, 0, 9, 13, 45, 3, - 0, 32, 14, 42, 43, 3, 0, 14, 94, 34, 0, 0, 0, 9, 30, 45, 3, 0, 32, 14, 231, 43, 3, 0, 0, 9, 42, - 45, 3, 0, 32, 14, 49, 45, 3, 0, 0, 9, 54, 45, 3, 0, 26, 236, 43, 3, 0, 9, 64, 45, 3, 0, 20, 0, - 0, 0, 0, 40, 2, 178, 53, 21, 0, 0, 0, 0, 161, 78, 1, 0, 2, 179, 53, 0, 21, 0, 0, 0, 0, 199, 53, - 0, 0, 2, 180, 53, 8, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 181, 53, 16, 21, 0, 0, 0, 0, 139, 45, 3, - 0, 2, 182, 53, 24, 21, 0, 0, 0, 0, 23, 53, 0, 0, 2, 183, 53, 32, 0, 9, 144, 45, 3, 0, 13, 168, - 0, 0, 0, 14, 140, 40, 0, 0, 14, 140, 40, 0, 0, 14, 255, 0, 0, 0, 0, 9, 170, 45, 3, 0, 20, 0, 0, - 0, 0, 24, 2, 230, 232, 21, 0, 0, 0, 0, 232, 45, 3, 0, 2, 231, 232, 0, 21, 0, 0, 0, 0, 232, 45, - 3, 0, 2, 232, 232, 8, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 233, 232, 16, 21, 0, 0, 0, 0, 11, 1, 0, - 0, 2, 234, 232, 20, 0, 9, 237, 45, 3, 0, 20, 0, 0, 0, 0, 16, 2, 80, 233, 21, 0, 0, 0, 0, 190, - 103, 0, 0, 2, 81, 233, 0, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 82, 233, 8, 21, 0, 0, 0, 0, 248, 68, - 0, 0, 2, 83, 233, 12, 0, 9, 35, 46, 3, 0, 50, 0, 0, 0, 0, 8, 8, 2, 126, 199, 1, 0, 48, 0, 0, 0, - 0, 188, 107, 0, 0, 2, 127, 199, 1, 0, 0, 48, 0, 0, 0, 0, 78, 46, 3, 0, 2, 128, 199, 1, 0, 8, 0, - 3, 190, 103, 0, 0, 39, 82, 0, 0, 0, 0, 1, 0, 9, 96, 46, 3, 0, 45, 0, 0, 0, 0, 9, 68, 142, 1, 0, - 3, 168, 0, 0, 0, 4, 82, 0, 0, 0, 0, 0, 33, 130, 46, 3, 0, 0, 0, 0, 0, 2, 104, 35, 24, 32, 2, - 100, 35, 21, 0, 0, 0, 0, 248, 68, 0, 0, 2, 101, 35, 0, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 102, - 35, 4, 21, 0, 0, 0, 0, 47, 107, 0, 0, 2, 103, 35, 8, 0, 9, 180, 46, 3, 0, 20, 0, 0, 0, 0, 32, - 2, 162, 52, 21, 0, 0, 0, 0, 141, 64, 0, 0, 2, 163, 52, 0, 21, 0, 0, 0, 0, 65, 29, 0, 0, 2, 164, - 52, 8, 21, 0, 0, 0, 0, 16, 247, 0, 0, 2, 165, 52, 24, 0, 9, 20, 116, 1, 0, 3, 246, 46, 3, 0, 4, - 82, 0, 0, 0, 2, 0, 9, 251, 46, 3, 0, 27, 0, 0, 0, 0, 32, 3, 2, 198, 232, 21, 0, 0, 0, 0, 193, - 170, 1, 0, 2, 199, 232, 0, 21, 0, 0, 0, 0, 184, 28, 0, 0, 2, 200, 232, 8, 21, 0, 0, 0, 0, 184, - 28, 0, 0, 2, 201, 232, 24, 21, 0, 0, 0, 0, 188, 107, 0, 0, 2, 202, 232, 40, 21, 0, 0, 0, 0, - 141, 64, 0, 0, 2, 203, 232, 48, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 204, 232, 52, 21, 0, 0, 0, 0, - 173, 161, 0, 0, 2, 205, 232, 56, 21, 0, 0, 0, 0, 176, 64, 0, 0, 2, 206, 232, 96, 21, 0, 0, 0, - 0, 125, 68, 0, 0, 2, 207, 232, 100, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 208, 232, 104, 21, 0, 0, - 0, 0, 125, 68, 0, 0, 2, 209, 232, 108, 21, 0, 0, 0, 0, 240, 171, 1, 0, 2, 210, 232, 112, 21, 0, - 0, 0, 0, 74, 171, 1, 0, 2, 211, 232, 120, 21, 0, 0, 0, 0, 188, 172, 1, 0, 2, 212, 232, 176, 21, - 0, 0, 0, 0, 10, 175, 1, 0, 2, 213, 232, 240, 28, 0, 0, 0, 0, 113, 48, 3, 0, 2, 214, 232, 16, 1, - 28, 0, 0, 0, 0, 149, 48, 3, 0, 2, 215, 232, 40, 1, 28, 0, 0, 0, 0, 219, 52, 0, 0, 2, 216, 232, - 112, 1, 28, 0, 0, 0, 0, 118, 55, 0, 0, 2, 217, 232, 113, 1, 28, 0, 0, 0, 0, 118, 55, 0, 0, 2, - 218, 232, 114, 1, 28, 0, 0, 0, 0, 118, 55, 0, 0, 2, 219, 232, 115, 1, 28, 0, 0, 0, 0, 118, 55, - 0, 0, 2, 220, 232, 116, 1, 28, 0, 0, 0, 0, 177, 69, 0, 0, 2, 221, 232, 118, 1, 28, 0, 0, 0, 0, - 82, 177, 1, 0, 2, 222, 232, 120, 1, 28, 0, 0, 0, 0, 198, 48, 3, 0, 2, 223, 232, 128, 1, 28, 0, - 0, 0, 0, 184, 28, 0, 0, 2, 224, 232, 0, 3, 28, 0, 0, 0, 0, 65, 29, 0, 0, 2, 225, 232, 16, 3, 0, - 20, 0, 0, 0, 0, 24, 2, 173, 232, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 174, 232, 0, 21, 0, 0, 0, 0, - 118, 55, 0, 0, 2, 175, 232, 16, 0, 20, 0, 0, 0, 0, 72, 2, 178, 232, 21, 0, 0, 0, 0, 195, 183, - 1, 0, 2, 179, 232, 0, 21, 0, 0, 0, 0, 173, 161, 0, 0, 2, 180, 232, 24, 21, 0, 0, 0, 0, 127, 29, - 0, 0, 2, 181, 232, 64, 0, 3, 210, 48, 3, 0, 4, 82, 0, 0, 0, 6, 0, 20, 0, 0, 0, 0, 64, 2, 184, - 232, 21, 0, 0, 0, 0, 224, 170, 1, 0, 2, 185, 232, 0, 21, 0, 0, 0, 0, 17, 171, 1, 0, 2, 186, - 232, 24, 21, 0, 0, 0, 0, 225, 48, 0, 0, 2, 187, 232, 40, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 188, - 232, 44, 21, 0, 0, 0, 0, 118, 55, 0, 0, 2, 189, 232, 48, 21, 0, 0, 0, 0, 118, 55, 0, 0, 2, 190, - 232, 49, 21, 0, 0, 0, 0, 118, 55, 0, 0, 2, 191, 232, 50, 21, 0, 0, 0, 0, 118, 55, 0, 0, 2, 192, - 232, 51, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 193, 232, 52, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 194, - 232, 56, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 195, 232, 60, 0, 20, 0, 0, 0, 0, 16, 2, 117, 35, 21, - 0, 0, 0, 0, 248, 148, 0, 0, 2, 118, 35, 0, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 119, 35, 8, 21, 0, - 0, 0, 0, 177, 69, 0, 0, 2, 120, 35, 12, 0, 9, 161, 49, 3, 0, 13, 94, 34, 0, 0, 14, 140, 40, 0, - 0, 14, 9, 29, 0, 0, 14, 94, 34, 0, 0, 0, 9, 187, 49, 3, 0, 20, 0, 0, 0, 0, 48, 2, 89, 168, 21, - 0, 0, 0, 0, 65, 29, 0, 0, 2, 90, 168, 0, 21, 0, 0, 0, 0, 177, 69, 0, 0, 2, 91, 168, 16, 21, 0, - 0, 0, 0, 177, 69, 0, 0, 2, 92, 168, 18, 21, 0, 0, 0, 0, 177, 69, 0, 0, 2, 93, 168, 20, 21, 0, - 0, 0, 0, 11, 1, 0, 0, 2, 94, 168, 24, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 95, 168, 28, 34, 0, 0, 0, - 0, 11, 1, 0, 0, 2, 96, 168, 4, 1, 31, 32, 34, 0, 0, 0, 0, 11, 1, 0, 0, 2, 97, 168, 4, 1, 30, - 32, 21, 0, 0, 0, 0, 16, 247, 0, 0, 2, 98, 168, 40, 21, 0, 0, 0, 0, 77, 50, 3, 0, 2, 99, 168, - 48, 0, 3, 140, 40, 0, 0, 4, 82, 0, 0, 0, 0, 0, 33, 0, 1, 0, 0, 0, 0, 0, 0, 2, 168, 34, 33, 11, - 1, 0, 0, 0, 0, 0, 0, 2, 204, 44, 9, 118, 50, 3, 0, 20, 0, 0, 0, 0, 16, 2, 128, 47, 21, 0, 0, 0, - 0, 141, 64, 0, 0, 2, 129, 47, 0, 21, 0, 0, 0, 0, 180, 50, 3, 0, 2, 130, 47, 4, 21, 0, 0, 0, 0, - 118, 55, 0, 0, 2, 131, 47, 8, 21, 0, 0, 0, 0, 115, 29, 0, 0, 2, 133, 47, 16, 0, 3, 118, 55, 0, - 0, 4, 82, 0, 0, 0, 4, 0, 9, 197, 50, 3, 0, 13, 70, 177, 1, 0, 14, 94, 34, 0, 0, 14, 9, 29, 0, - 0, 14, 70, 177, 1, 0, 0, 9, 223, 50, 3, 0, 13, 177, 69, 0, 0, 14, 9, 29, 0, 0, 14, 94, 34, 0, - 0, 14, 9, 29, 0, 0, 0, 9, 249, 50, 3, 0, 32, 14, 9, 29, 0, 0, 14, 168, 0, 0, 0, 0, 9, 10, 51, - 3, 0, 13, 168, 0, 0, 0, 14, 9, 29, 0, 0, 14, 255, 0, 0, 0, 0, 9, 31, 51, 3, 0, 13, 168, 0, 0, - 0, 14, 9, 29, 0, 0, 14, 52, 51, 3, 0, 14, 168, 0, 0, 0, 0, 9, 57, 51, 3, 0, 20, 0, 0, 0, 0, 40, - 2, 166, 36, 21, 0, 0, 0, 0, 79, 51, 3, 0, 2, 169, 36, 0, 23, 16, 2, 167, 36, 21, 0, 0, 0, 0, - 105, 28, 0, 0, 2, 168, 36, 0, 0, 21, 0, 0, 0, 0, 111, 51, 3, 0, 2, 184, 36, 16, 23, 24, 2, 170, - 36, 21, 0, 0, 0, 0, 90, 52, 0, 0, 2, 171, 36, 0, 21, 0, 0, 0, 0, 90, 52, 0, 0, 2, 172, 36, 0, - 21, 0, 0, 0, 0, 90, 52, 0, 0, 2, 173, 36, 0, 21, 0, 0, 0, 0, 90, 52, 0, 0, 2, 174, 36, 0, 21, - 0, 0, 0, 0, 90, 52, 0, 0, 2, 175, 36, 0, 21, 0, 0, 0, 0, 37, 65, 0, 0, 2, 176, 36, 0, 21, 0, 0, - 0, 0, 168, 0, 0, 0, 2, 177, 36, 0, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 178, 36, 0, 21, 0, 0, 0, 0, - 31, 52, 3, 0, 2, 179, 36, 0, 21, 0, 0, 0, 0, 105, 28, 0, 0, 2, 180, 36, 0, 21, 0, 0, 0, 0, 105, - 28, 0, 0, 2, 181, 36, 0, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 182, 36, 0, 21, 0, 0, 0, 0, 119, 52, - 3, 0, 2, 183, 36, 0, 0, 0, 20, 0, 0, 0, 0, 24, 2, 142, 36, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, - 143, 36, 0, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 144, 36, 8, 21, 0, 0, 0, 0, 225, 48, 0, 0, 2, - 145, 36, 16, 21, 0, 0, 0, 0, 5, 49, 0, 0, 2, 146, 36, 18, 21, 0, 0, 0, 0, 5, 49, 0, 0, 2, 147, - 36, 19, 21, 0, 0, 0, 0, 5, 49, 0, 0, 2, 148, 36, 20, 0, 20, 0, 0, 0, 0, 16, 2, 151, 36, 21, 0, - 0, 0, 0, 11, 1, 0, 0, 2, 152, 36, 0, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 153, 36, 4, 21, 0, 0, 0, - 0, 167, 52, 3, 0, 2, 163, 36, 8, 23, 8, 2, 154, 36, 21, 0, 0, 0, 0, 22, 53, 3, 0, 2, 155, 36, - 0, 21, 0, 0, 0, 0, 71, 53, 3, 0, 2, 156, 36, 0, 21, 0, 0, 0, 0, 120, 53, 3, 0, 2, 157, 36, 0, - 21, 0, 0, 0, 0, 234, 53, 3, 0, 2, 158, 36, 0, 21, 0, 0, 0, 0, 14, 54, 3, 0, 2, 159, 36, 0, 21, - 0, 0, 0, 0, 63, 54, 3, 0, 2, 160, 36, 0, 21, 0, 0, 0, 0, 164, 54, 3, 0, 2, 161, 36, 0, 21, 0, - 0, 0, 0, 226, 54, 3, 0, 2, 162, 36, 0, 0, 0, 9, 27, 53, 3, 0, 33, 39, 53, 3, 0, 0, 0, 0, 0, 2, - 107, 36, 24, 4, 2, 104, 36, 21, 0, 0, 0, 0, 225, 48, 0, 0, 2, 105, 36, 0, 21, 0, 0, 0, 0, 225, - 48, 0, 0, 2, 106, 36, 2, 0, 9, 76, 53, 3, 0, 33, 88, 53, 3, 0, 0, 0, 0, 0, 2, 131, 36, 24, 8, - 2, 128, 36, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 129, 36, 0, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 130, - 36, 4, 0, 9, 125, 53, 3, 0, 33, 137, 53, 3, 0, 0, 0, 0, 0, 2, 117, 36, 24, 24, 2, 109, 36, 21, - 0, 0, 0, 0, 11, 1, 0, 0, 2, 110, 36, 0, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 111, 36, 4, 21, 0, 0, - 0, 0, 11, 1, 0, 0, 2, 112, 36, 8, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 113, 36, 12, 21, 0, 0, 0, 0, - 11, 1, 0, 0, 2, 114, 36, 16, 21, 0, 0, 0, 0, 225, 48, 0, 0, 2, 115, 36, 20, 21, 0, 0, 0, 0, - 225, 48, 0, 0, 2, 116, 36, 22, 0, 9, 239, 53, 3, 0, 33, 251, 53, 3, 0, 0, 0, 0, 0, 2, 121, 36, - 24, 4, 2, 119, 36, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 120, 36, 0, 0, 9, 19, 54, 3, 0, 33, 31, 54, - 3, 0, 0, 0, 0, 0, 2, 126, 36, 24, 20, 2, 123, 36, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 124, 36, 0, - 21, 0, 0, 0, 0, 105, 28, 0, 0, 2, 125, 36, 4, 0, 9, 68, 54, 3, 0, 33, 80, 54, 3, 0, 0, 0, 0, 0, - 2, 140, 36, 24, 24, 2, 133, 36, 21, 0, 0, 0, 0, 225, 48, 0, 0, 2, 134, 36, 0, 21, 0, 0, 0, 0, - 11, 1, 0, 0, 2, 135, 36, 4, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 136, 36, 8, 21, 0, 0, 0, 0, 11, 1, - 0, 0, 2, 137, 36, 12, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 138, 36, 16, 21, 0, 0, 0, 0, 11, 1, 0, 0, - 2, 139, 36, 20, 0, 9, 169, 54, 3, 0, 33, 181, 54, 3, 0, 0, 0, 0, 0, 2, 95, 36, 24, 12, 2, 91, - 36, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 92, 36, 0, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 93, 36, 4, 21, - 0, 0, 0, 0, 225, 48, 0, 0, 2, 94, 36, 8, 0, 9, 231, 54, 3, 0, 33, 243, 54, 3, 0, 0, 0, 0, 0, 2, - 102, 36, 24, 16, 2, 97, 36, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 98, 36, 0, 21, 0, 0, 0, 0, 11, 1, - 0, 0, 2, 99, 36, 4, 21, 0, 0, 0, 0, 225, 48, 0, 0, 2, 100, 36, 8, 21, 0, 0, 0, 0, 11, 1, 0, 0, - 2, 101, 36, 12, 0, 9, 50, 55, 3, 0, 13, 168, 0, 0, 0, 14, 9, 29, 0, 0, 14, 66, 55, 3, 0, 0, 9, - 119, 52, 3, 0, 9, 76, 55, 3, 0, 13, 168, 0, 0, 0, 14, 9, 29, 0, 0, 14, 52, 51, 3, 0, 14, 255, - 0, 0, 0, 14, 168, 0, 0, 0, 0, 9, 107, 55, 3, 0, 13, 168, 0, 0, 0, 14, 9, 29, 0, 0, 14, 123, 55, - 3, 0, 0, 9, 31, 52, 3, 0, 9, 133, 55, 3, 0, 13, 168, 0, 0, 0, 14, 9, 29, 0, 0, 14, 168, 0, 0, - 0, 0, 9, 154, 55, 3, 0, 13, 168, 0, 0, 0, 14, 9, 29, 0, 0, 14, 5, 185, 1, 0, 0, 9, 175, 55, 3, - 0, 32, 14, 9, 29, 0, 0, 14, 11, 1, 0, 0, 0, 9, 192, 55, 3, 0, 32, 14, 9, 29, 0, 0, 14, 204, 55, - 3, 0, 0, 9, 209, 55, 3, 0, 20, 0, 0, 0, 0, 192, 2, 160, 48, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, - 161, 48, 0, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 162, 48, 8, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 163, - 48, 16, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 164, 48, 24, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 165, 48, - 32, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 166, 48, 40, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 167, 48, 48, - 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 168, 48, 56, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 169, 48, 64, 21, - 0, 0, 0, 0, 197, 0, 0, 0, 2, 170, 48, 72, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 171, 48, 80, 21, 0, - 0, 0, 0, 197, 0, 0, 0, 2, 172, 48, 88, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 173, 48, 96, 21, 0, 0, - 0, 0, 197, 0, 0, 0, 2, 174, 48, 104, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 175, 48, 112, 21, 0, 0, - 0, 0, 197, 0, 0, 0, 2, 176, 48, 120, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 177, 48, 128, 21, 0, 0, - 0, 0, 197, 0, 0, 0, 2, 178, 48, 136, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 179, 48, 144, 21, 0, 0, - 0, 0, 197, 0, 0, 0, 2, 180, 48, 152, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 181, 48, 160, 21, 0, 0, - 0, 0, 197, 0, 0, 0, 2, 182, 48, 168, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 183, 48, 176, 21, 0, 0, - 0, 0, 197, 0, 0, 0, 2, 184, 48, 184, 0, 9, 24, 57, 3, 0, 13, 219, 52, 0, 0, 14, 162, 19, 0, 0, - 14, 168, 0, 0, 0, 0, 9, 45, 57, 3, 0, 13, 168, 0, 0, 0, 14, 168, 0, 0, 0, 14, 162, 19, 0, 0, - 14, 255, 0, 0, 0, 0, 9, 71, 57, 3, 0, 13, 82, 57, 3, 0, 14, 9, 29, 0, 0, 0, 9, 87, 57, 3, 0, - 20, 0, 0, 0, 0, 184, 2, 20, 43, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 21, 43, 0, 21, 0, 0, 0, 0, - 127, 29, 0, 0, 2, 22, 43, 8, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 23, 43, 16, 21, 0, 0, 0, 0, 127, - 29, 0, 0, 2, 24, 43, 24, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 25, 43, 32, 21, 0, 0, 0, 0, 127, 29, - 0, 0, 2, 26, 43, 40, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 27, 43, 48, 21, 0, 0, 0, 0, 127, 29, 0, - 0, 2, 28, 43, 56, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 29, 43, 64, 21, 0, 0, 0, 0, 127, 29, 0, 0, - 2, 30, 43, 72, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 31, 43, 80, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, - 32, 43, 88, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 33, 43, 96, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 34, - 43, 104, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 35, 43, 112, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 36, - 43, 120, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 37, 43, 128, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 38, - 43, 136, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 39, 43, 144, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 40, - 43, 152, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 41, 43, 160, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 42, - 43, 168, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 43, 43, 176, 0, 9, 145, 58, 3, 0, 13, 168, 0, 0, 0, - 14, 9, 29, 0, 0, 14, 244, 48, 0, 0, 14, 177, 69, 0, 0, 0, 9, 171, 58, 3, 0, 13, 168, 0, 0, 0, - 14, 9, 29, 0, 0, 14, 187, 58, 3, 0, 0, 9, 192, 58, 3, 0, 47, 0, 0, 0, 0, 168, 2, 2, 173, 1, 0, - 48, 0, 0, 0, 0, 141, 64, 0, 0, 2, 3, 173, 1, 0, 0, 48, 0, 0, 0, 0, 101, 9, 2, 0, 2, 4, 173, 1, - 0, 8, 48, 0, 0, 0, 0, 195, 183, 1, 0, 2, 5, 173, 1, 0, 32, 48, 0, 0, 0, 0, 147, 165, 0, 0, 2, - 6, 173, 1, 0, 56, 48, 0, 0, 0, 0, 38, 59, 3, 0, 2, 7, 173, 1, 0, 144, 48, 0, 0, 0, 0, 65, 29, - 0, 0, 2, 8, 173, 1, 0, 152, 0, 9, 43, 59, 3, 0, 47, 0, 0, 0, 0, 80, 2, 116, 173, 1, 0, 48, 0, - 0, 0, 0, 9, 29, 0, 0, 2, 117, 173, 1, 0, 0, 48, 0, 0, 0, 0, 105, 28, 0, 0, 2, 118, 173, 1, 0, - 8, 48, 0, 0, 0, 0, 14, 29, 0, 0, 2, 119, 173, 1, 0, 24, 48, 0, 0, 0, 0, 190, 59, 3, 0, 2, 120, - 173, 1, 0, 32, 48, 0, 0, 0, 0, 190, 59, 3, 0, 2, 121, 173, 1, 0, 48, 48, 0, 0, 0, 0, 219, 52, - 0, 0, 2, 122, 173, 1, 0, 64, 48, 0, 0, 0, 0, 177, 69, 0, 0, 2, 123, 173, 1, 0, 66, 48, 0, 0, 0, - 0, 177, 69, 0, 0, 2, 124, 173, 1, 0, 68, 48, 0, 0, 0, 0, 21, 60, 3, 0, 2, 125, 173, 1, 0, 70, - 0, 58, 0, 0, 0, 0, 16, 2, 108, 173, 1, 0, 48, 0, 0, 0, 0, 244, 184, 1, 0, 2, 109, 173, 1, 0, 0, - 48, 0, 0, 0, 0, 190, 48, 0, 0, 2, 110, 173, 1, 0, 0, 48, 0, 0, 0, 0, 103, 150, 1, 0, 2, 111, - 173, 1, 0, 0, 48, 0, 0, 0, 0, 249, 219, 1, 0, 2, 112, 173, 1, 0, 0, 48, 0, 0, 0, 0, 11, 150, 1, - 0, 2, 113, 173, 1, 0, 0, 0, 3, 118, 55, 0, 0, 4, 82, 0, 0, 0, 6, 0, 9, 38, 60, 3, 0, 13, 168, - 0, 0, 0, 14, 9, 29, 0, 0, 14, 168, 0, 0, 0, 14, 254, 70, 2, 0, 0, 9, 64, 60, 3, 0, 13, 168, 0, - 0, 0, 14, 9, 29, 0, 0, 14, 168, 0, 0, 0, 14, 177, 69, 0, 0, 14, 118, 55, 0, 0, 14, 244, 48, 0, - 0, 0, 9, 100, 60, 3, 0, 13, 168, 0, 0, 0, 14, 9, 29, 0, 0, 14, 168, 0, 0, 0, 14, 168, 0, 0, 0, - 14, 168, 0, 0, 0, 0, 9, 131, 60, 3, 0, 13, 168, 0, 0, 0, 14, 9, 29, 0, 0, 14, 168, 0, 0, 0, 14, - 219, 52, 0, 0, 0, 9, 157, 60, 3, 0, 13, 168, 0, 0, 0, 14, 9, 29, 0, 0, 14, 168, 0, 0, 0, 14, - 178, 60, 3, 0, 0, 9, 183, 60, 3, 0, 20, 0, 0, 0, 0, 72, 2, 203, 48, 21, 0, 0, 0, 0, 0, 1, 0, 0, - 2, 204, 48, 0, 21, 0, 0, 0, 0, 80, 61, 3, 0, 2, 205, 48, 4, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 206, - 48, 36, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 207, 48, 40, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 208, 48, 44, - 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 209, 48, 48, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 210, 48, 52, 21, 0, - 0, 0, 0, 0, 1, 0, 0, 2, 211, 48, 56, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 212, 48, 60, 21, 0, 0, 0, - 0, 0, 1, 0, 0, 2, 213, 48, 64, 21, 0, 0, 0, 0, 244, 48, 0, 0, 2, 214, 48, 68, 0, 3, 129, 55, 0, - 0, 4, 82, 0, 0, 0, 32, 0, 9, 97, 61, 3, 0, 13, 168, 0, 0, 0, 14, 9, 29, 0, 0, 14, 168, 0, 0, 0, - 14, 168, 0, 0, 0, 0, 9, 123, 61, 3, 0, 13, 168, 0, 0, 0, 14, 9, 29, 0, 0, 14, 168, 0, 0, 0, 14, - 144, 61, 3, 0, 0, 9, 149, 61, 3, 0, 20, 0, 0, 0, 0, 64, 2, 192, 48, 21, 0, 0, 0, 0, 197, 0, 0, - 0, 2, 193, 48, 0, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 194, 48, 8, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, - 195, 48, 16, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 196, 48, 24, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, - 197, 48, 32, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 198, 48, 40, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, - 199, 48, 48, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 200, 48, 56, 0, 9, 12, 62, 3, 0, 13, 168, 0, 0, - 0, 14, 9, 29, 0, 0, 14, 168, 0, 0, 0, 14, 229, 151, 1, 0, 0, 9, 38, 62, 3, 0, 13, 168, 0, 0, 0, - 14, 9, 29, 0, 0, 14, 168, 0, 0, 0, 14, 94, 34, 0, 0, 0, 9, 64, 62, 3, 0, 13, 168, 0, 0, 0, 14, - 9, 29, 0, 0, 14, 168, 0, 0, 0, 14, 90, 62, 3, 0, 14, 90, 62, 3, 0, 0, 9, 95, 62, 3, 0, 20, 0, - 0, 0, 0, 16, 2, 187, 48, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 188, 48, 0, 21, 0, 0, 0, 0, 197, 0, 0, - 0, 2, 189, 48, 8, 0, 9, 136, 62, 3, 0, 13, 168, 0, 0, 0, 14, 9, 29, 0, 0, 14, 168, 0, 0, 0, 14, - 136, 68, 0, 0, 14, 168, 0, 0, 0, 0, 9, 167, 62, 3, 0, 13, 168, 0, 0, 0, 14, 9, 29, 0, 0, 14, - 14, 16, 0, 0, 14, 255, 0, 0, 0, 0, 9, 193, 62, 3, 0, 13, 168, 0, 0, 0, 14, 9, 29, 0, 0, 14, - 177, 69, 0, 0, 14, 235, 239, 0, 0, 14, 11, 1, 0, 0, 0, 9, 224, 62, 3, 0, 13, 168, 0, 0, 0, 14, - 9, 29, 0, 0, 14, 177, 69, 0, 0, 0, 9, 245, 62, 3, 0, 13, 168, 0, 0, 0, 14, 9, 29, 0, 0, 14, 5, - 63, 3, 0, 0, 9, 10, 63, 3, 0, 27, 0, 0, 0, 0, 128, 3, 2, 135, 49, 21, 0, 0, 0, 0, 178, 162, 0, - 0, 2, 136, 49, 0, 21, 0, 0, 0, 0, 178, 162, 0, 0, 2, 137, 49, 64, 21, 0, 0, 0, 0, 178, 162, 0, - 0, 2, 138, 49, 128, 21, 0, 0, 0, 0, 178, 162, 0, 0, 2, 139, 49, 192, 28, 0, 0, 0, 0, 178, 162, - 0, 0, 2, 140, 49, 0, 1, 28, 0, 0, 0, 0, 178, 162, 0, 0, 2, 141, 49, 64, 1, 28, 0, 0, 0, 0, 55, - 118, 2, 0, 2, 142, 49, 128, 1, 28, 0, 0, 0, 0, 55, 118, 2, 0, 2, 143, 49, 128, 2, 0, 9, 134, - 63, 3, 0, 13, 168, 0, 0, 0, 14, 9, 29, 0, 0, 14, 239, 241, 0, 0, 14, 168, 0, 0, 0, 0, 9, 160, - 63, 3, 0, 13, 168, 0, 0, 0, 14, 9, 29, 0, 0, 14, 98, 212, 1, 0, 14, 177, 69, 0, 0, 14, 125, 68, - 0, 0, 0, 9, 191, 63, 3, 0, 13, 168, 0, 0, 0, 14, 9, 29, 0, 0, 14, 9, 29, 0, 0, 14, 19, 152, 1, - 0, 0, 9, 217, 63, 3, 0, 13, 168, 0, 0, 0, 14, 9, 29, 0, 0, 14, 9, 29, 0, 0, 0, 9, 238, 63, 3, - 0, 13, 9, 29, 0, 0, 14, 9, 29, 0, 0, 14, 94, 34, 0, 0, 14, 219, 52, 0, 0, 0, 9, 8, 64, 3, 0, - 13, 9, 29, 0, 0, 14, 9, 29, 0, 0, 14, 140, 40, 0, 0, 0, 9, 29, 64, 3, 0, 13, 70, 177, 1, 0, 14, - 9, 29, 0, 0, 14, 70, 177, 1, 0, 0, 9, 50, 64, 3, 0, 13, 168, 0, 0, 0, 14, 9, 29, 0, 0, 14, 70, - 177, 1, 0, 0, 9, 71, 64, 3, 0, 13, 168, 0, 0, 0, 14, 9, 29, 0, 0, 14, 12, 179, 1, 0, 0, 9, 92, - 64, 3, 0, 32, 14, 9, 29, 0, 0, 14, 12, 179, 1, 0, 0, 9, 109, 64, 3, 0, 13, 168, 0, 0, 0, 14, - 150, 64, 3, 0, 14, 229, 151, 1, 0, 14, 9, 29, 0, 0, 14, 147, 68, 0, 0, 14, 177, 69, 0, 0, 14, - 177, 69, 0, 0, 14, 19, 152, 1, 0, 0, 9, 155, 64, 3, 0, 20, 0, 0, 0, 0, 12, 2, 150, 48, 21, 0, - 0, 0, 0, 129, 55, 0, 0, 2, 151, 48, 0, 21, 0, 0, 0, 0, 129, 55, 0, 0, 2, 152, 48, 1, 21, 0, 0, - 0, 0, 214, 48, 0, 0, 2, 153, 48, 2, 21, 0, 0, 0, 0, 112, 103, 0, 0, 2, 154, 48, 4, 21, 0, 0, 0, - 0, 214, 48, 0, 0, 2, 155, 48, 8, 21, 0, 0, 0, 0, 129, 55, 0, 0, 2, 156, 48, 10, 21, 0, 0, 0, 0, - 129, 55, 0, 0, 2, 157, 48, 11, 0, 9, 5, 65, 3, 0, 13, 168, 0, 0, 0, 14, 150, 64, 3, 0, 14, 229, - 151, 1, 0, 14, 9, 29, 0, 0, 14, 147, 68, 0, 0, 14, 177, 69, 0, 0, 0, 9, 41, 65, 3, 0, 13, 168, - 0, 0, 0, 14, 94, 34, 0, 0, 14, 72, 65, 3, 0, 14, 9, 29, 0, 0, 14, 9, 29, 0, 0, 14, 214, 52, 0, - 0, 0, 9, 77, 65, 3, 0, 20, 0, 0, 0, 0, 128, 2, 130, 48, 21, 0, 0, 0, 0, 94, 34, 0, 0, 2, 131, - 48, 0, 21, 0, 0, 0, 0, 41, 66, 3, 0, 2, 132, 48, 8, 21, 0, 0, 0, 0, 126, 66, 3, 0, 2, 133, 48, - 16, 21, 0, 0, 0, 0, 147, 66, 3, 0, 2, 134, 48, 24, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 135, 48, - 32, 21, 0, 0, 0, 0, 111, 83, 0, 0, 2, 136, 48, 40, 21, 0, 0, 0, 0, 19, 152, 1, 0, 2, 137, 48, - 48, 21, 0, 0, 0, 0, 177, 69, 0, 0, 2, 138, 48, 56, 21, 0, 0, 0, 0, 177, 69, 0, 0, 2, 139, 48, - 58, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 140, 48, 60, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 141, 48, 64, - 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 142, 48, 68, 21, 0, 0, 0, 0, 219, 52, 0, 0, 2, 143, 48, 72, 22, - 8, 66, 3, 0, 2, 144, 48, 80, 23, 48, 2, 144, 48, 21, 0, 0, 0, 0, 163, 66, 3, 0, 2, 145, 48, 0, - 21, 0, 0, 0, 0, 171, 7, 2, 0, 2, 146, 48, 0, 0, 0, 9, 46, 66, 3, 0, 26, 51, 66, 3, 0, 20, 0, 0, - 0, 0, 16, 2, 85, 48, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 86, 48, 0, 21, 0, 0, 0, 0, 214, 48, 0, 0, - 2, 87, 48, 4, 21, 0, 0, 0, 0, 214, 48, 0, 0, 2, 88, 48, 6, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 89, - 48, 8, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 90, 48, 12, 0, 9, 131, 66, 3, 0, 13, 168, 0, 0, 0, 14, - 94, 34, 0, 0, 14, 72, 65, 3, 0, 0, 9, 152, 66, 3, 0, 13, 168, 0, 0, 0, 14, 72, 65, 3, 0, 0, 3, - 118, 55, 0, 0, 4, 82, 0, 0, 0, 48, 0, 9, 180, 66, 3, 0, 13, 168, 0, 0, 0, 14, 94, 34, 0, 0, 14, - 229, 151, 1, 0, 14, 9, 29, 0, 0, 14, 147, 68, 0, 0, 14, 177, 69, 0, 0, 14, 125, 68, 0, 0, 14, - 125, 68, 0, 0, 14, 19, 152, 1, 0, 0, 9, 231, 66, 3, 0, 13, 168, 0, 0, 0, 14, 9, 29, 0, 0, 14, - 1, 67, 3, 0, 14, 177, 69, 0, 0, 14, 19, 152, 1, 0, 0, 9, 51, 66, 3, 0, 9, 11, 67, 3, 0, 13, - 168, 0, 0, 0, 14, 94, 34, 0, 0, 14, 125, 68, 0, 0, 14, 125, 68, 0, 0, 14, 9, 29, 0, 0, 14, 125, - 68, 0, 0, 14, 168, 0, 0, 0, 0, 9, 52, 67, 3, 0, 13, 168, 0, 0, 0, 14, 9, 29, 0, 0, 14, 1, 67, - 3, 0, 14, 177, 69, 0, 0, 0, 9, 78, 67, 3, 0, 13, 168, 0, 0, 0, 14, 9, 29, 0, 0, 14, 219, 52, 0, - 0, 0, 9, 99, 67, 3, 0, 13, 168, 0, 0, 0, 14, 9, 29, 0, 0, 14, 115, 67, 3, 0, 0, 9, 120, 67, 3, - 0, 20, 0, 0, 0, 0, 33, 2, 146, 49, 21, 0, 0, 0, 0, 157, 68, 0, 0, 2, 147, 49, 0, 21, 0, 0, 0, - 0, 5, 49, 0, 0, 2, 148, 49, 32, 0, 9, 161, 67, 3, 0, 13, 168, 0, 0, 0, 14, 9, 29, 0, 0, 14, - 199, 53, 0, 0, 14, 140, 55, 0, 0, 0, 9, 187, 67, 3, 0, 13, 255, 0, 0, 0, 14, 9, 29, 0, 0, 14, - 9, 29, 0, 0, 0, 9, 208, 67, 3, 0, 32, 14, 9, 29, 0, 0, 14, 255, 0, 0, 0, 0, 9, 225, 67, 3, 0, - 13, 168, 0, 0, 0, 14, 9, 29, 0, 0, 14, 168, 0, 0, 0, 14, 125, 68, 0, 0, 0, 9, 251, 67, 3, 0, - 13, 168, 0, 0, 0, 14, 162, 19, 0, 0, 0, 9, 11, 68, 3, 0, 13, 168, 0, 0, 0, 14, 9, 29, 0, 0, 14, - 94, 34, 0, 0, 0, 9, 32, 68, 3, 0, 13, 168, 0, 0, 0, 14, 9, 29, 0, 0, 14, 48, 68, 3, 0, 0, 9, - 53, 68, 3, 0, 20, 0, 0, 0, 0, 32, 2, 225, 49, 21, 0, 0, 0, 0, 142, 16, 0, 0, 2, 226, 49, 0, 22, - 84, 68, 3, 0, 2, 227, 49, 8, 23, 24, 2, 227, 49, 22, 98, 68, 3, 0, 2, 228, 49, 0, 24, 24, 2, - 228, 49, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 229, 49, 0, 21, 0, 0, 0, 0, 16, 247, 0, 0, 2, 230, - 49, 8, 21, 0, 0, 0, 0, 19, 152, 1, 0, 2, 231, 49, 16, 0, 22, 152, 68, 3, 0, 2, 233, 49, 0, 24, - 8, 2, 233, 49, 21, 0, 0, 0, 0, 218, 68, 3, 0, 2, 234, 49, 0, 0, 21, 0, 0, 0, 0, 184, 68, 3, 0, - 2, 239, 49, 0, 24, 16, 2, 236, 49, 21, 0, 0, 0, 0, 197, 69, 3, 0, 2, 237, 49, 0, 21, 0, 0, 0, - 0, 177, 69, 0, 0, 2, 238, 49, 8, 0, 0, 0, 9, 223, 68, 3, 0, 27, 0, 0, 0, 0, 64, 1, 2, 9, 43, - 21, 0, 0, 0, 0, 17, 2, 1, 0, 2, 10, 43, 0, 28, 0, 0, 0, 0, 9, 29, 0, 0, 2, 11, 43, 0, 1, 28, 0, - 0, 0, 0, 47, 69, 3, 0, 2, 12, 43, 8, 1, 28, 0, 0, 0, 0, 255, 0, 0, 0, 2, 13, 43, 16, 1, 28, 0, - 0, 0, 0, 227, 28, 0, 0, 2, 14, 43, 24, 1, 0, 9, 52, 69, 3, 0, 26, 57, 69, 3, 0, 20, 0, 0, 0, 0, - 32, 2, 2, 43, 21, 0, 0, 0, 0, 119, 69, 3, 0, 2, 3, 43, 0, 21, 0, 0, 0, 0, 119, 69, 3, 0, 2, 4, - 43, 8, 21, 0, 0, 0, 0, 145, 69, 3, 0, 2, 5, 43, 16, 21, 0, 0, 0, 0, 176, 69, 3, 0, 2, 6, 43, - 24, 0, 9, 124, 69, 3, 0, 13, 168, 0, 0, 0, 14, 218, 68, 3, 0, 14, 255, 0, 0, 0, 14, 255, 0, 0, - 0, 0, 9, 150, 69, 3, 0, 13, 168, 0, 0, 0, 14, 218, 68, 3, 0, 14, 255, 0, 0, 0, 14, 255, 0, 0, - 0, 14, 136, 68, 0, 0, 0, 9, 181, 69, 3, 0, 13, 168, 0, 0, 0, 14, 218, 68, 3, 0, 14, 255, 0, 0, - 0, 0, 9, 202, 69, 3, 0, 50, 0, 0, 0, 0, 0, 1, 2, 12, 180, 1, 0, 48, 0, 0, 0, 0, 203, 173, 0, 0, - 2, 13, 180, 1, 0, 0, 48, 0, 0, 0, 0, 9, 29, 0, 0, 2, 14, 180, 1, 0, 8, 48, 0, 0, 0, 0, 227, 28, - 0, 0, 2, 15, 180, 1, 0, 16, 48, 0, 0, 0, 0, 248, 68, 0, 0, 2, 16, 180, 1, 0, 32, 48, 0, 0, 0, - 0, 141, 64, 0, 0, 2, 17, 180, 1, 0, 36, 48, 0, 0, 0, 0, 138, 71, 3, 0, 2, 18, 180, 1, 0, 40, - 48, 0, 0, 0, 0, 156, 163, 0, 0, 2, 19, 180, 1, 0, 48, 48, 0, 0, 0, 0, 227, 28, 0, 0, 2, 20, - 180, 1, 0, 80, 48, 0, 0, 0, 0, 125, 68, 0, 0, 2, 21, 180, 1, 0, 96, 48, 0, 0, 0, 0, 177, 69, 0, - 0, 2, 22, 180, 1, 0, 100, 48, 0, 0, 0, 0, 109, 72, 3, 0, 2, 27, 180, 1, 0, 128, 48, 0, 0, 0, 0, - 109, 72, 3, 0, 2, 28, 180, 1, 0, 136, 48, 0, 0, 0, 0, 40, 239, 0, 0, 2, 29, 180, 1, 0, 144, 48, - 0, 0, 0, 0, 84, 73, 3, 0, 2, 30, 180, 1, 0, 152, 48, 0, 0, 0, 0, 136, 68, 0, 0, 2, 31, 180, 1, - 0, 160, 48, 0, 0, 0, 0, 136, 68, 0, 0, 2, 32, 180, 1, 0, 168, 48, 0, 0, 0, 0, 125, 68, 0, 0, 2, - 33, 180, 1, 0, 176, 48, 0, 0, 0, 0, 125, 68, 0, 0, 2, 34, 180, 1, 0, 180, 48, 0, 0, 0, 0, 125, - 68, 0, 0, 2, 35, 180, 1, 0, 184, 48, 0, 0, 0, 0, 125, 68, 0, 0, 2, 36, 180, 1, 0, 188, 48, 0, - 0, 0, 0, 125, 68, 0, 0, 2, 37, 180, 1, 0, 192, 48, 0, 0, 0, 0, 125, 68, 0, 0, 2, 38, 180, 1, 0, - 196, 48, 0, 0, 0, 0, 118, 55, 0, 0, 2, 39, 180, 1, 0, 200, 48, 0, 0, 0, 0, 219, 52, 0, 0, 2, - 40, 180, 1, 0, 201, 48, 0, 0, 0, 0, 219, 52, 0, 0, 2, 41, 180, 1, 0, 202, 48, 0, 0, 0, 0, 219, - 52, 0, 0, 2, 42, 180, 1, 0, 203, 48, 0, 0, 0, 0, 255, 0, 0, 0, 2, 43, 180, 1, 0, 208, 48, 0, 0, - 0, 0, 248, 68, 0, 0, 2, 44, 180, 1, 0, 216, 48, 0, 0, 0, 0, 195, 74, 3, 0, 2, 45, 180, 1, 0, - 224, 0, 9, 143, 71, 3, 0, 47, 0, 0, 0, 0, 112, 2, 224, 177, 1, 0, 48, 0, 0, 0, 0, 255, 0, 0, 0, - 2, 225, 177, 1, 0, 0, 48, 0, 0, 0, 0, 136, 68, 0, 0, 2, 226, 177, 1, 0, 8, 48, 0, 0, 0, 0, 125, - 68, 0, 0, 2, 227, 177, 1, 0, 16, 48, 0, 0, 0, 0, 125, 68, 0, 0, 2, 228, 177, 1, 0, 20, 48, 0, - 0, 0, 0, 125, 68, 0, 0, 2, 229, 177, 1, 0, 24, 48, 0, 0, 0, 0, 125, 68, 0, 0, 2, 230, 177, 1, - 0, 28, 48, 0, 0, 0, 0, 34, 109, 0, 0, 2, 231, 177, 1, 0, 32, 48, 0, 0, 0, 0, 141, 64, 0, 0, 2, - 232, 177, 1, 0, 40, 48, 0, 0, 0, 0, 118, 55, 0, 0, 2, 233, 177, 1, 0, 44, 48, 0, 0, 0, 0, 219, - 52, 0, 0, 2, 234, 177, 1, 0, 45, 48, 0, 0, 0, 0, 70, 110, 0, 0, 2, 235, 177, 1, 0, 48, 48, 0, - 0, 0, 0, 168, 0, 0, 0, 2, 236, 177, 1, 0, 56, 48, 0, 0, 0, 0, 227, 28, 0, 0, 2, 237, 177, 1, 0, - 64, 48, 0, 0, 0, 0, 156, 163, 0, 0, 2, 238, 177, 1, 0, 80, 0, 9, 114, 72, 3, 0, 47, 0, 0, 0, 0, - 40, 2, 107, 225, 1, 0, 48, 0, 0, 0, 0, 125, 68, 0, 0, 2, 108, 225, 1, 0, 0, 48, 0, 0, 0, 0, - 125, 68, 0, 0, 2, 109, 225, 1, 0, 4, 48, 0, 0, 0, 0, 125, 68, 0, 0, 2, 110, 225, 1, 0, 8, 48, - 0, 0, 0, 0, 125, 68, 0, 0, 2, 111, 225, 1, 0, 12, 48, 0, 0, 0, 0, 231, 72, 3, 0, 2, 112, 225, - 1, 0, 16, 48, 0, 0, 0, 0, 136, 68, 0, 0, 2, 113, 225, 1, 0, 24, 48, 0, 0, 0, 0, 136, 68, 0, 0, - 2, 114, 225, 1, 0, 32, 0, 9, 236, 72, 3, 0, 50, 0, 0, 0, 0, 64, 1, 2, 136, 225, 1, 0, 48, 0, 0, - 0, 0, 125, 68, 0, 0, 2, 137, 225, 1, 0, 0, 48, 0, 0, 0, 0, 125, 68, 0, 0, 2, 146, 225, 1, 0, - 64, 48, 0, 0, 0, 0, 125, 68, 0, 0, 2, 155, 225, 1, 0, 128, 48, 0, 0, 0, 0, 125, 68, 0, 0, 2, - 164, 225, 1, 0, 192, 48, 0, 0, 0, 0, 125, 68, 0, 0, 2, 165, 225, 1, 0, 196, 53, 0, 0, 0, 0, - 125, 68, 0, 0, 2, 173, 225, 1, 0, 0, 1, 0, 9, 89, 73, 3, 0, 47, 0, 0, 0, 0, 112, 2, 52, 180, 1, - 0, 48, 0, 0, 0, 0, 206, 73, 3, 0, 2, 53, 180, 1, 0, 0, 48, 0, 0, 0, 0, 21, 182, 0, 0, 2, 54, - 180, 1, 0, 56, 48, 0, 0, 0, 0, 21, 182, 0, 0, 2, 55, 180, 1, 0, 64, 48, 0, 0, 0, 0, 197, 69, 3, - 0, 2, 56, 180, 1, 0, 72, 48, 0, 0, 0, 0, 219, 52, 0, 0, 2, 57, 180, 1, 0, 80, 48, 0, 0, 0, 0, - 136, 68, 0, 0, 2, 58, 180, 1, 0, 88, 48, 0, 0, 0, 0, 227, 28, 0, 0, 2, 59, 180, 1, 0, 96, 0, - 20, 0, 0, 0, 0, 56, 2, 65, 48, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 66, 48, 0, 21, 0, 0, 0, 0, 255, - 0, 0, 0, 2, 67, 48, 8, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 68, 48, 16, 21, 0, 0, 0, 0, 255, 0, 0, - 0, 2, 69, 48, 24, 21, 0, 0, 0, 0, 51, 74, 3, 0, 2, 70, 48, 32, 21, 0, 0, 0, 0, 167, 74, 3, 0, - 2, 71, 48, 40, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 72, 48, 48, 0, 9, 56, 74, 3, 0, 20, 0, 0, 0, - 0, 64, 2, 48, 48, 21, 0, 0, 0, 0, 9, 29, 0, 0, 2, 49, 48, 0, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, - 50, 48, 8, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 51, 48, 12, 21, 0, 0, 0, 0, 131, 74, 3, 0, 2, 52, - 48, 16, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 53, 48, 24, 0, 20, 0, 0, 0, 0, 8, 2, 43, 48, 21, 0, 0, - 0, 0, 125, 68, 0, 0, 2, 44, 48, 0, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 45, 48, 4, 0, 9, 172, 74, - 3, 0, 20, 0, 0, 0, 0, 8, 2, 61, 48, 21, 0, 0, 0, 0, 9, 29, 0, 0, 2, 62, 48, 0, 0, 3, 84, 73, 3, - 0, 4, 82, 0, 0, 0, 0, 0, 9, 212, 74, 3, 0, 13, 168, 0, 0, 0, 14, 9, 29, 0, 0, 14, 168, 0, 0, 0, - 14, 238, 74, 3, 0, 14, 125, 68, 0, 0, 0, 9, 243, 74, 3, 0, 9, 248, 74, 3, 0, 20, 0, 0, 0, 0, - 32, 2, 75, 48, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 76, 48, 0, 21, 0, 0, 0, 0, 177, 69, 0, 0, 2, - 77, 48, 8, 21, 0, 0, 0, 0, 177, 69, 0, 0, 2, 78, 48, 10, 34, 0, 0, 0, 0, 125, 68, 0, 0, 2, 79, - 48, 4, 8, 24, 12, 34, 0, 0, 0, 0, 125, 68, 0, 0, 2, 80, 48, 4, 24, 0, 12, 21, 0, 0, 0, 0, 131, - 74, 3, 0, 2, 81, 48, 16, 21, 0, 0, 0, 0, 9, 29, 0, 0, 2, 82, 48, 24, 0, 9, 104, 75, 3, 0, 13, - 9, 29, 0, 0, 14, 9, 29, 0, 0, 14, 120, 75, 3, 0, 0, 9, 206, 73, 3, 0, 9, 130, 75, 3, 0, 13, - 168, 0, 0, 0, 14, 9, 29, 0, 0, 14, 125, 68, 0, 0, 14, 125, 68, 0, 0, 0, 9, 156, 75, 3, 0, 13, - 167, 75, 3, 0, 14, 9, 29, 0, 0, 0, 9, 172, 75, 3, 0, 50, 0, 0, 0, 0, 32, 1, 2, 52, 167, 1, 0, - 48, 0, 0, 0, 0, 227, 28, 0, 0, 2, 53, 167, 1, 0, 0, 48, 0, 0, 0, 0, 227, 28, 0, 0, 2, 54, 167, - 1, 0, 16, 48, 0, 0, 0, 0, 227, 28, 0, 0, 2, 55, 167, 1, 0, 32, 48, 0, 0, 0, 0, 176, 76, 3, 0, - 2, 56, 167, 1, 0, 48, 48, 0, 0, 0, 0, 11, 1, 0, 0, 2, 57, 167, 1, 0, 56, 48, 0, 0, 0, 0, 248, - 68, 0, 0, 2, 58, 167, 1, 0, 60, 48, 0, 0, 0, 0, 44, 17, 0, 0, 2, 59, 167, 1, 0, 64, 48, 0, 0, - 0, 0, 44, 17, 0, 0, 2, 60, 167, 1, 0, 68, 48, 0, 0, 0, 0, 255, 0, 0, 0, 2, 61, 167, 1, 0, 72, - 48, 0, 0, 0, 0, 235, 90, 3, 0, 2, 62, 167, 1, 0, 80, 49, 0, 0, 0, 0, 118, 55, 0, 0, 2, 63, 167, - 1, 0, 1, 1, 7, 140, 49, 0, 0, 0, 0, 118, 55, 0, 0, 2, 64, 167, 1, 0, 1, 1, 6, 140, 48, 0, 0, 0, - 0, 147, 165, 0, 0, 2, 65, 167, 1, 0, 144, 48, 0, 0, 0, 0, 227, 28, 0, 0, 2, 66, 167, 1, 0, 232, - 48, 0, 0, 0, 0, 241, 106, 0, 0, 2, 67, 167, 1, 0, 248, 53, 0, 0, 0, 0, 156, 89, 3, 0, 2, 68, - 167, 1, 0, 24, 1, 0, 9, 181, 76, 3, 0, 50, 0, 0, 0, 0, 128, 1, 2, 15, 169, 1, 0, 48, 0, 0, 0, - 0, 125, 68, 0, 0, 2, 16, 169, 1, 0, 0, 48, 0, 0, 0, 0, 227, 28, 0, 0, 2, 17, 169, 1, 0, 8, 48, - 0, 0, 0, 0, 227, 28, 0, 0, 2, 18, 169, 1, 0, 24, 48, 0, 0, 0, 0, 227, 28, 0, 0, 2, 19, 169, 1, - 0, 40, 48, 0, 0, 0, 0, 227, 28, 0, 0, 2, 20, 169, 1, 0, 56, 48, 0, 0, 0, 0, 227, 28, 0, 0, 2, - 21, 169, 1, 0, 72, 48, 0, 0, 0, 0, 227, 28, 0, 0, 2, 22, 169, 1, 0, 88, 48, 0, 0, 0, 0, 227, - 28, 0, 0, 2, 23, 169, 1, 0, 104, 48, 0, 0, 0, 0, 227, 28, 0, 0, 2, 24, 169, 1, 0, 120, 48, 0, - 0, 0, 0, 241, 106, 0, 0, 2, 25, 169, 1, 0, 136, 48, 0, 0, 0, 0, 71, 78, 3, 0, 2, 26, 169, 1, 0, - 168, 48, 0, 0, 0, 0, 227, 28, 0, 0, 2, 27, 169, 1, 0, 176, 48, 0, 0, 0, 0, 227, 28, 0, 0, 2, - 28, 169, 1, 0, 192, 48, 0, 0, 0, 0, 227, 28, 0, 0, 2, 29, 169, 1, 0, 208, 48, 0, 0, 0, 0, 36, - 79, 3, 0, 2, 30, 169, 1, 0, 224, 48, 0, 0, 0, 0, 215, 152, 0, 0, 2, 31, 169, 1, 0, 232, 48, 0, - 0, 0, 0, 193, 90, 3, 0, 2, 32, 169, 1, 0, 248, 53, 0, 0, 0, 0, 203, 173, 0, 0, 2, 33, 169, 1, - 0, 40, 1, 53, 0, 0, 0, 0, 193, 170, 1, 0, 2, 34, 169, 1, 0, 48, 1, 53, 0, 0, 0, 0, 241, 106, 0, - 0, 2, 35, 169, 1, 0, 56, 1, 55, 0, 0, 0, 0, 118, 55, 0, 0, 2, 36, 169, 1, 0, 1, 1, 7, 88, 1, - 55, 0, 0, 0, 0, 118, 55, 0, 0, 2, 37, 169, 1, 0, 1, 1, 6, 88, 1, 53, 0, 0, 0, 0, 141, 64, 0, 0, - 2, 38, 169, 1, 0, 92, 1, 53, 0, 0, 0, 0, 43, 167, 0, 0, 2, 39, 169, 1, 0, 96, 1, 53, 0, 0, 0, - 0, 115, 29, 0, 0, 2, 40, 169, 1, 0, 128, 1, 0, 9, 76, 78, 3, 0, 47, 0, 0, 0, 0, 16, 2, 45, 169, - 1, 0, 48, 0, 0, 0, 0, 118, 78, 3, 0, 2, 46, 169, 1, 0, 0, 48, 0, 0, 0, 0, 11, 1, 0, 0, 2, 47, - 169, 1, 0, 8, 0, 9, 123, 78, 3, 0, 9, 128, 78, 3, 0, 47, 0, 0, 0, 0, 32, 2, 160, 169, 1, 0, 48, - 0, 0, 0, 0, 14, 29, 0, 0, 2, 161, 169, 1, 0, 0, 48, 0, 0, 0, 0, 11, 1, 0, 0, 2, 162, 169, 1, 0, - 8, 48, 0, 0, 0, 0, 215, 78, 3, 0, 2, 163, 169, 1, 0, 16, 48, 0, 0, 0, 0, 11, 1, 0, 0, 2, 164, - 169, 1, 0, 24, 48, 0, 0, 0, 0, 219, 52, 0, 0, 2, 165, 169, 1, 0, 28, 0, 9, 220, 78, 3, 0, 47, - 0, 0, 0, 0, 24, 2, 153, 169, 1, 0, 48, 0, 0, 0, 0, 14, 29, 0, 0, 2, 154, 169, 1, 0, 0, 48, 0, - 0, 0, 0, 11, 1, 0, 0, 2, 155, 169, 1, 0, 8, 48, 0, 0, 0, 0, 11, 1, 0, 0, 2, 156, 169, 1, 0, 12, - 48, 0, 0, 0, 0, 186, 16, 0, 0, 2, 157, 169, 1, 0, 16, 0, 9, 41, 79, 3, 0, 26, 46, 79, 3, 0, 50, - 0, 0, 0, 0, 152, 1, 2, 64, 169, 1, 0, 48, 0, 0, 0, 0, 125, 68, 0, 0, 2, 65, 169, 1, 0, 0, 48, - 0, 0, 0, 0, 127, 29, 0, 0, 2, 66, 169, 1, 0, 8, 48, 0, 0, 0, 0, 127, 29, 0, 0, 2, 67, 169, 1, - 0, 16, 48, 0, 0, 0, 0, 75, 82, 3, 0, 2, 68, 169, 1, 0, 24, 48, 0, 0, 0, 0, 111, 82, 3, 0, 2, - 69, 169, 1, 0, 32, 48, 0, 0, 0, 0, 147, 82, 3, 0, 2, 70, 169, 1, 0, 40, 48, 0, 0, 0, 0, 168, - 82, 3, 0, 2, 71, 169, 1, 0, 48, 48, 0, 0, 0, 0, 199, 82, 3, 0, 2, 72, 169, 1, 0, 56, 48, 0, 0, - 0, 0, 225, 82, 3, 0, 2, 73, 169, 1, 0, 64, 48, 0, 0, 0, 0, 77, 83, 3, 0, 2, 74, 169, 1, 0, 72, - 48, 0, 0, 0, 0, 118, 83, 3, 0, 2, 75, 169, 1, 0, 80, 48, 0, 0, 0, 0, 149, 83, 3, 0, 2, 76, 169, - 1, 0, 88, 48, 0, 0, 0, 0, 185, 83, 3, 0, 2, 77, 169, 1, 0, 96, 48, 0, 0, 0, 0, 231, 83, 3, 0, - 2, 78, 169, 1, 0, 104, 48, 0, 0, 0, 0, 21, 84, 3, 0, 2, 79, 169, 1, 0, 112, 48, 0, 0, 0, 0, 21, - 84, 3, 0, 2, 80, 169, 1, 0, 120, 48, 0, 0, 0, 0, 42, 84, 3, 0, 2, 81, 169, 1, 0, 128, 48, 0, 0, - 0, 0, 78, 84, 3, 0, 2, 82, 169, 1, 0, 136, 48, 0, 0, 0, 0, 119, 84, 3, 0, 2, 83, 169, 1, 0, - 144, 48, 0, 0, 0, 0, 140, 84, 3, 0, 2, 84, 169, 1, 0, 152, 48, 0, 0, 0, 0, 166, 84, 3, 0, 2, - 85, 169, 1, 0, 160, 48, 0, 0, 0, 0, 187, 84, 3, 0, 2, 86, 169, 1, 0, 168, 48, 0, 0, 0, 0, 213, - 84, 3, 0, 2, 87, 169, 1, 0, 176, 48, 0, 0, 0, 0, 239, 84, 3, 0, 2, 88, 169, 1, 0, 184, 48, 0, - 0, 0, 0, 9, 85, 3, 0, 2, 89, 169, 1, 0, 192, 48, 0, 0, 0, 0, 67, 85, 3, 0, 2, 90, 169, 1, 0, - 200, 48, 0, 0, 0, 0, 214, 85, 3, 0, 2, 91, 169, 1, 0, 208, 48, 0, 0, 0, 0, 111, 86, 3, 0, 2, - 92, 169, 1, 0, 216, 48, 0, 0, 0, 0, 133, 86, 3, 0, 2, 93, 169, 1, 0, 224, 48, 0, 0, 0, 0, 164, - 86, 3, 0, 2, 94, 169, 1, 0, 232, 48, 0, 0, 0, 0, 11, 87, 3, 0, 2, 95, 169, 1, 0, 240, 48, 0, 0, - 0, 0, 169, 87, 3, 0, 2, 96, 169, 1, 0, 248, 53, 0, 0, 0, 0, 200, 87, 3, 0, 2, 97, 169, 1, 0, 0, - 1, 53, 0, 0, 0, 0, 226, 87, 3, 0, 2, 98, 169, 1, 0, 8, 1, 53, 0, 0, 0, 0, 247, 87, 3, 0, 2, 99, - 169, 1, 0, 16, 1, 53, 0, 0, 0, 0, 8, 88, 3, 0, 2, 100, 169, 1, 0, 24, 1, 53, 0, 0, 0, 0, 44, - 88, 3, 0, 2, 101, 169, 1, 0, 32, 1, 53, 0, 0, 0, 0, 70, 88, 3, 0, 2, 102, 169, 1, 0, 40, 1, 53, - 0, 0, 0, 0, 101, 88, 3, 0, 2, 103, 169, 1, 0, 48, 1, 53, 0, 0, 0, 0, 132, 88, 3, 0, 2, 104, - 169, 1, 0, 56, 1, 53, 0, 0, 0, 0, 199, 82, 3, 0, 2, 105, 169, 1, 0, 64, 1, 53, 0, 0, 0, 0, 58, - 89, 3, 0, 2, 106, 169, 1, 0, 72, 1, 53, 0, 0, 0, 0, 99, 89, 3, 0, 2, 107, 169, 1, 0, 80, 1, 53, - 0, 0, 0, 0, 125, 89, 3, 0, 2, 108, 169, 1, 0, 88, 1, 53, 0, 0, 0, 0, 125, 89, 3, 0, 2, 109, - 169, 1, 0, 96, 1, 53, 0, 0, 0, 0, 125, 89, 3, 0, 2, 110, 169, 1, 0, 104, 1, 53, 0, 0, 0, 0, - 125, 89, 3, 0, 2, 111, 169, 1, 0, 112, 1, 53, 0, 0, 0, 0, 105, 90, 3, 0, 2, 112, 169, 1, 0, - 120, 1, 53, 0, 0, 0, 0, 131, 90, 3, 0, 2, 113, 169, 1, 0, 128, 1, 53, 0, 0, 0, 0, 157, 90, 3, - 0, 2, 114, 169, 1, 0, 136, 1, 53, 0, 0, 0, 0, 157, 90, 3, 0, 2, 115, 169, 1, 0, 144, 1, 0, 9, - 80, 82, 3, 0, 13, 168, 0, 0, 0, 14, 176, 76, 3, 0, 14, 219, 52, 0, 0, 14, 214, 16, 0, 0, 14, 4, - 17, 0, 0, 14, 19, 152, 1, 0, 0, 9, 116, 82, 3, 0, 13, 168, 0, 0, 0, 14, 176, 76, 3, 0, 14, 214, - 16, 0, 0, 14, 4, 17, 0, 0, 14, 175, 236, 0, 0, 14, 19, 152, 1, 0, 0, 9, 152, 82, 3, 0, 13, 168, - 0, 0, 0, 14, 167, 75, 3, 0, 14, 44, 17, 0, 0, 0, 9, 173, 82, 3, 0, 13, 168, 0, 0, 0, 14, 176, - 76, 3, 0, 14, 11, 1, 0, 0, 14, 11, 1, 0, 0, 14, 19, 152, 1, 0, 0, 9, 204, 82, 3, 0, 13, 168, 0, - 0, 0, 14, 176, 76, 3, 0, 14, 11, 1, 0, 0, 14, 19, 152, 1, 0, 0, 9, 230, 82, 3, 0, 13, 168, 0, - 0, 0, 14, 176, 76, 3, 0, 14, 11, 1, 0, 0, 14, 177, 69, 0, 0, 14, 0, 83, 3, 0, 0, 9, 5, 83, 3, - 0, 47, 0, 0, 0, 0, 16, 2, 146, 169, 1, 0, 48, 0, 0, 0, 0, 84, 17, 0, 0, 2, 147, 169, 1, 0, 0, - 48, 0, 0, 0, 0, 125, 68, 0, 0, 2, 148, 169, 1, 0, 4, 48, 0, 0, 0, 0, 112, 17, 0, 0, 2, 149, - 169, 1, 0, 8, 48, 0, 0, 0, 0, 125, 68, 0, 0, 2, 150, 169, 1, 0, 12, 0, 9, 82, 83, 3, 0, 13, - 168, 0, 0, 0, 14, 176, 76, 3, 0, 14, 11, 1, 0, 0, 14, 177, 69, 0, 0, 14, 125, 68, 0, 0, 14, - 112, 17, 0, 0, 14, 19, 152, 1, 0, 0, 9, 123, 83, 3, 0, 13, 168, 0, 0, 0, 14, 167, 75, 3, 0, 14, - 11, 1, 0, 0, 14, 177, 69, 0, 0, 14, 175, 236, 0, 0, 0, 9, 154, 83, 3, 0, 13, 168, 0, 0, 0, 14, - 167, 75, 3, 0, 14, 11, 1, 0, 0, 14, 177, 69, 0, 0, 14, 125, 68, 0, 0, 14, 19, 152, 1, 0, 0, 9, - 190, 83, 3, 0, 13, 168, 0, 0, 0, 14, 167, 75, 3, 0, 14, 11, 1, 0, 0, 14, 177, 69, 0, 0, 14, 84, - 17, 0, 0, 14, 226, 83, 3, 0, 14, 175, 236, 0, 0, 0, 9, 177, 69, 0, 0, 9, 236, 83, 3, 0, 13, - 168, 0, 0, 0, 14, 167, 75, 3, 0, 14, 11, 1, 0, 0, 14, 177, 69, 0, 0, 14, 84, 17, 0, 0, 14, 177, - 69, 0, 0, 14, 125, 68, 0, 0, 14, 19, 152, 1, 0, 0, 9, 26, 84, 3, 0, 13, 168, 0, 0, 0, 14, 176, - 76, 3, 0, 14, 11, 1, 0, 0, 0, 9, 47, 84, 3, 0, 13, 168, 0, 0, 0, 14, 167, 75, 3, 0, 14, 11, 1, - 0, 0, 14, 177, 69, 0, 0, 14, 175, 236, 0, 0, 14, 175, 236, 0, 0, 0, 9, 83, 84, 3, 0, 13, 168, - 0, 0, 0, 14, 167, 75, 3, 0, 14, 11, 1, 0, 0, 14, 177, 69, 0, 0, 14, 84, 17, 0, 0, 14, 175, 236, - 0, 0, 14, 175, 236, 0, 0, 0, 9, 124, 84, 3, 0, 13, 168, 0, 0, 0, 14, 176, 76, 3, 0, 14, 226, - 83, 3, 0, 0, 9, 145, 84, 3, 0, 13, 168, 0, 0, 0, 14, 176, 76, 3, 0, 14, 177, 69, 0, 0, 14, 19, - 152, 1, 0, 0, 9, 171, 84, 3, 0, 13, 168, 0, 0, 0, 14, 176, 76, 3, 0, 14, 254, 70, 2, 0, 0, 9, - 192, 84, 3, 0, 13, 168, 0, 0, 0, 14, 176, 76, 3, 0, 14, 118, 55, 0, 0, 14, 19, 152, 1, 0, 0, 9, - 218, 84, 3, 0, 13, 168, 0, 0, 0, 14, 176, 76, 3, 0, 14, 234, 84, 3, 0, 0, 9, 140, 17, 0, 0, 9, - 244, 84, 3, 0, 13, 168, 0, 0, 0, 14, 176, 76, 3, 0, 14, 140, 17, 0, 0, 14, 19, 152, 1, 0, 0, 9, - 14, 85, 3, 0, 13, 168, 0, 0, 0, 14, 176, 76, 3, 0, 14, 35, 85, 3, 0, 14, 19, 152, 1, 0, 0, 9, - 40, 85, 3, 0, 47, 0, 0, 0, 0, 8, 2, 60, 188, 1, 0, 48, 0, 0, 0, 0, 94, 34, 0, 0, 2, 61, 188, 1, - 0, 0, 0, 9, 72, 85, 3, 0, 13, 168, 0, 0, 0, 14, 176, 76, 3, 0, 14, 93, 85, 3, 0, 14, 19, 152, - 1, 0, 0, 9, 98, 85, 3, 0, 47, 0, 0, 0, 0, 24, 2, 181, 169, 1, 0, 48, 0, 0, 0, 0, 155, 85, 3, 0, - 2, 182, 169, 1, 0, 0, 48, 0, 0, 0, 0, 14, 29, 0, 0, 2, 183, 169, 1, 0, 8, 48, 0, 0, 0, 0, 125, - 68, 0, 0, 2, 184, 169, 1, 0, 16, 0, 9, 160, 85, 3, 0, 26, 165, 85, 3, 0, 20, 0, 0, 0, 0, 24, 2, - 161, 97, 21, 0, 0, 0, 0, 140, 55, 0, 0, 2, 162, 97, 0, 21, 0, 0, 0, 0, 97, 22, 3, 0, 2, 163, - 97, 8, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 164, 97, 16, 0, 9, 219, 85, 3, 0, 13, 168, 0, 0, 0, 14, - 176, 76, 3, 0, 14, 240, 85, 3, 0, 14, 255, 0, 0, 0, 0, 9, 245, 85, 3, 0, 26, 250, 85, 3, 0, 47, - 0, 0, 0, 0, 32, 2, 204, 169, 1, 0, 48, 0, 0, 0, 0, 168, 17, 0, 0, 2, 205, 169, 1, 0, 0, 48, 0, - 0, 0, 0, 202, 17, 0, 0, 2, 206, 169, 1, 0, 4, 48, 0, 0, 0, 0, 219, 52, 0, 0, 2, 207, 169, 1, 0, - 8, 48, 0, 0, 0, 0, 177, 69, 0, 0, 2, 208, 169, 1, 0, 10, 48, 0, 0, 0, 0, 14, 29, 0, 0, 2, 209, - 169, 1, 0, 16, 48, 0, 0, 0, 0, 177, 69, 0, 0, 2, 210, 169, 1, 0, 24, 48, 0, 0, 0, 0, 125, 68, - 0, 0, 2, 211, 169, 1, 0, 28, 0, 9, 116, 86, 3, 0, 32, 14, 176, 76, 3, 0, 14, 240, 85, 3, 0, 14, - 255, 0, 0, 0, 0, 9, 138, 86, 3, 0, 13, 168, 0, 0, 0, 14, 176, 76, 3, 0, 14, 240, 85, 3, 0, 14, - 202, 17, 0, 0, 14, 19, 152, 1, 0, 0, 9, 169, 86, 3, 0, 13, 168, 0, 0, 0, 14, 176, 76, 3, 0, 14, - 185, 86, 3, 0, 0, 9, 190, 86, 3, 0, 26, 195, 86, 3, 0, 47, 0, 0, 0, 0, 16, 2, 197, 169, 1, 0, - 48, 0, 0, 0, 0, 14, 29, 0, 0, 2, 198, 169, 1, 0, 0, 48, 0, 0, 0, 0, 177, 69, 0, 0, 2, 199, 169, - 1, 0, 8, 48, 0, 0, 0, 0, 219, 52, 0, 0, 2, 200, 169, 1, 0, 10, 48, 0, 0, 0, 0, 125, 68, 0, 0, - 2, 201, 169, 1, 0, 12, 0, 9, 16, 87, 3, 0, 13, 168, 0, 0, 0, 14, 176, 76, 3, 0, 14, 185, 86, 3, - 0, 14, 42, 87, 3, 0, 14, 19, 152, 1, 0, 0, 9, 47, 87, 3, 0, 26, 52, 87, 3, 0, 47, 0, 0, 0, 0, - 56, 2, 187, 169, 1, 0, 48, 0, 0, 0, 0, 125, 68, 0, 0, 2, 188, 169, 1, 0, 0, 48, 0, 0, 0, 0, - 136, 68, 0, 0, 2, 189, 169, 1, 0, 8, 48, 0, 0, 0, 0, 136, 68, 0, 0, 2, 190, 169, 1, 0, 16, 48, - 0, 0, 0, 0, 136, 68, 0, 0, 2, 191, 169, 1, 0, 24, 48, 0, 0, 0, 0, 136, 68, 0, 0, 2, 192, 169, - 1, 0, 32, 48, 0, 0, 0, 0, 136, 68, 0, 0, 2, 193, 169, 1, 0, 40, 48, 0, 0, 0, 0, 136, 68, 0, 0, - 2, 194, 169, 1, 0, 48, 0, 9, 174, 87, 3, 0, 13, 168, 0, 0, 0, 14, 176, 76, 3, 0, 14, 185, 86, - 3, 0, 14, 202, 17, 0, 0, 14, 19, 152, 1, 0, 0, 9, 205, 87, 3, 0, 13, 168, 0, 0, 0, 14, 176, 76, - 3, 0, 14, 240, 85, 3, 0, 14, 239, 241, 0, 0, 0, 9, 231, 87, 3, 0, 13, 168, 0, 0, 0, 14, 176, - 76, 3, 0, 14, 42, 87, 3, 0, 0, 9, 252, 87, 3, 0, 32, 14, 176, 76, 3, 0, 14, 42, 87, 3, 0, 0, 9, - 13, 88, 3, 0, 13, 168, 0, 0, 0, 14, 176, 76, 3, 0, 14, 42, 87, 3, 0, 14, 136, 68, 0, 0, 14, - 136, 68, 0, 0, 14, 19, 152, 1, 0, 0, 9, 49, 88, 3, 0, 13, 168, 0, 0, 0, 14, 176, 76, 3, 0, 14, - 42, 87, 3, 0, 14, 239, 241, 0, 0, 0, 9, 75, 88, 3, 0, 13, 168, 0, 0, 0, 14, 167, 75, 3, 0, 14, - 254, 70, 2, 0, 14, 214, 52, 0, 0, 14, 19, 152, 1, 0, 0, 9, 106, 88, 3, 0, 13, 168, 0, 0, 0, 14, - 167, 75, 3, 0, 14, 97, 22, 3, 0, 14, 168, 0, 0, 0, 14, 19, 152, 1, 0, 0, 9, 137, 88, 3, 0, 13, - 168, 0, 0, 0, 14, 176, 76, 3, 0, 14, 163, 88, 3, 0, 14, 19, 152, 1, 0, 14, 186, 215, 0, 0, 0, - 9, 168, 88, 3, 0, 26, 173, 88, 3, 0, 47, 0, 0, 0, 0, 20, 2, 135, 169, 1, 0, 48, 0, 0, 0, 0, - 236, 17, 0, 0, 2, 136, 169, 1, 0, 0, 48, 0, 0, 0, 0, 11, 1, 0, 0, 2, 137, 169, 1, 0, 4, 48, 0, - 0, 0, 0, 125, 68, 0, 0, 2, 138, 169, 1, 0, 8, 48, 0, 0, 0, 0, 125, 68, 0, 0, 2, 139, 169, 1, 0, - 12, 48, 0, 0, 0, 0, 177, 69, 0, 0, 2, 140, 169, 1, 0, 16, 49, 0, 0, 0, 0, 118, 55, 0, 0, 2, - 141, 169, 1, 0, 1, 1, 7, 18, 49, 0, 0, 0, 0, 118, 55, 0, 0, 2, 142, 169, 1, 0, 1, 1, 6, 18, 49, - 0, 0, 0, 0, 118, 55, 0, 0, 2, 143, 169, 1, 0, 1, 1, 5, 18, 0, 9, 63, 89, 3, 0, 13, 168, 0, 0, - 0, 14, 167, 75, 3, 0, 14, 89, 89, 3, 0, 14, 94, 89, 3, 0, 14, 19, 152, 1, 0, 0, 9, 44, 18, 0, - 0, 9, 72, 18, 0, 0, 9, 104, 89, 3, 0, 13, 168, 0, 0, 0, 14, 167, 75, 3, 0, 14, 44, 18, 0, 0, - 14, 19, 152, 1, 0, 0, 9, 130, 89, 3, 0, 13, 168, 0, 0, 0, 14, 156, 89, 3, 0, 14, 255, 0, 0, 0, - 14, 136, 68, 0, 0, 14, 19, 152, 1, 0, 0, 9, 161, 89, 3, 0, 47, 0, 0, 0, 0, 80, 2, 118, 169, 1, - 0, 48, 0, 0, 0, 0, 227, 28, 0, 0, 2, 119, 169, 1, 0, 0, 48, 0, 0, 0, 0, 100, 18, 0, 0, 2, 120, - 169, 1, 0, 16, 48, 0, 0, 0, 0, 176, 76, 3, 0, 2, 121, 169, 1, 0, 24, 48, 0, 0, 0, 0, 255, 0, 0, - 0, 2, 122, 169, 1, 0, 32, 48, 0, 0, 0, 0, 136, 68, 0, 0, 2, 123, 169, 1, 0, 40, 48, 0, 0, 0, 0, - 136, 68, 0, 0, 2, 124, 169, 1, 0, 48, 48, 0, 0, 0, 0, 156, 89, 3, 0, 2, 125, 169, 1, 0, 56, 51, - 32, 90, 3, 0, 2, 126, 169, 1, 0, 64, 59, 16, 2, 126, 169, 1, 0, 48, 0, 0, 0, 0, 167, 75, 3, 0, - 2, 127, 169, 1, 0, 0, 51, 65, 90, 3, 0, 2, 128, 169, 1, 0, 0, 60, 16, 2, 128, 169, 1, 0, 48, 0, - 0, 0, 0, 199, 53, 0, 0, 2, 129, 169, 1, 0, 0, 48, 0, 0, 0, 0, 141, 64, 0, 0, 2, 130, 169, 1, 0, - 8, 0, 0, 0, 9, 110, 90, 3, 0, 13, 168, 0, 0, 0, 14, 156, 89, 3, 0, 14, 31, 48, 1, 0, 14, 19, - 152, 1, 0, 0, 9, 136, 90, 3, 0, 13, 168, 0, 0, 0, 14, 156, 89, 3, 0, 14, 255, 0, 0, 0, 14, 19, - 152, 1, 0, 0, 9, 162, 90, 3, 0, 13, 168, 0, 0, 0, 14, 156, 89, 3, 0, 14, 156, 89, 3, 0, 14, - 255, 0, 0, 0, 14, 255, 0, 0, 0, 14, 19, 152, 1, 0, 0, 47, 0, 0, 0, 0, 48, 2, 6, 169, 1, 0, 48, - 0, 0, 0, 0, 24, 246, 0, 0, 2, 7, 169, 1, 0, 0, 48, 0, 0, 0, 0, 24, 246, 0, 0, 2, 8, 169, 1, 0, - 24, 0, 47, 0, 0, 0, 0, 60, 2, 34, 167, 1, 0, 49, 0, 0, 0, 0, 118, 55, 0, 0, 2, 35, 167, 1, 0, - 1, 1, 7, 0, 49, 0, 0, 0, 0, 118, 55, 0, 0, 2, 36, 167, 1, 0, 1, 1, 6, 0, 48, 0, 0, 0, 0, 125, - 68, 0, 0, 2, 37, 167, 1, 0, 4, 48, 0, 0, 0, 0, 236, 17, 0, 0, 2, 38, 167, 1, 0, 8, 48, 0, 0, 0, - 0, 120, 67, 3, 0, 2, 39, 167, 1, 0, 12, 51, 82, 91, 3, 0, 2, 40, 167, 1, 0, 48, 59, 12, 2, 40, - 167, 1, 0, 48, 0, 0, 0, 0, 151, 91, 3, 0, 2, 41, 167, 1, 0, 0, 48, 0, 0, 0, 0, 193, 91, 3, 0, - 2, 42, 167, 1, 0, 0, 48, 0, 0, 0, 0, 253, 91, 3, 0, 2, 43, 167, 1, 0, 0, 48, 0, 0, 0, 0, 72, - 92, 3, 0, 2, 44, 167, 1, 0, 0, 0, 0, 47, 0, 0, 0, 0, 8, 2, 9, 167, 1, 0, 48, 0, 0, 0, 0, 125, - 68, 0, 0, 2, 10, 167, 1, 0, 0, 48, 0, 0, 0, 0, 125, 68, 0, 0, 2, 11, 167, 1, 0, 4, 0, 47, 0, 0, - 0, 0, 8, 2, 14, 167, 1, 0, 48, 0, 0, 0, 0, 125, 68, 0, 0, 2, 15, 167, 1, 0, 0, 48, 0, 0, 0, 0, - 177, 69, 0, 0, 2, 16, 167, 1, 0, 4, 49, 0, 0, 0, 0, 118, 55, 0, 0, 2, 17, 167, 1, 0, 1, 1, 7, - 6, 0, 47, 0, 0, 0, 0, 12, 2, 20, 167, 1, 0, 48, 0, 0, 0, 0, 125, 68, 0, 0, 2, 21, 167, 1, 0, 0, - 48, 0, 0, 0, 0, 177, 69, 0, 0, 2, 22, 167, 1, 0, 4, 48, 0, 0, 0, 0, 177, 69, 0, 0, 2, 23, 167, - 1, 0, 6, 49, 0, 0, 0, 0, 118, 55, 0, 0, 2, 24, 167, 1, 0, 1, 1, 7, 8, 0, 47, 0, 0, 0, 0, 12, 2, - 27, 167, 1, 0, 48, 0, 0, 0, 0, 125, 68, 0, 0, 2, 28, 167, 1, 0, 0, 48, 0, 0, 0, 0, 125, 68, 0, - 0, 2, 29, 167, 1, 0, 4, 48, 0, 0, 0, 0, 177, 69, 0, 0, 2, 30, 167, 1, 0, 8, 49, 0, 0, 0, 0, - 118, 55, 0, 0, 2, 31, 167, 1, 0, 1, 1, 7, 10, 0, 9, 152, 92, 3, 0, 13, 168, 0, 0, 0, 14, 9, 29, - 0, 0, 14, 173, 92, 3, 0, 14, 168, 0, 0, 0, 0, 9, 178, 92, 3, 0, 47, 0, 0, 0, 0, 52, 2, 71, 167, - 1, 0, 48, 0, 0, 0, 0, 105, 28, 0, 0, 2, 72, 167, 1, 0, 0, 48, 0, 0, 0, 0, 168, 0, 0, 0, 2, 73, - 167, 1, 0, 16, 48, 0, 0, 0, 0, 244, 48, 0, 0, 2, 74, 167, 1, 0, 20, 48, 0, 0, 0, 0, 244, 48, 0, - 0, 2, 75, 167, 1, 0, 22, 48, 0, 0, 0, 0, 190, 48, 0, 0, 2, 76, 167, 1, 0, 24, 48, 0, 0, 0, 0, - 190, 48, 0, 0, 2, 77, 167, 1, 0, 28, 48, 0, 0, 0, 0, 39, 93, 3, 0, 2, 78, 167, 1, 0, 32, 0, 20, - 0, 0, 0, 0, 20, 2, 130, 223, 34, 0, 0, 0, 0, 129, 55, 0, 0, 2, 131, 223, 1, 4, 4, 0, 34, 0, 0, - 0, 0, 129, 55, 0, 0, 2, 132, 223, 1, 4, 0, 0, 21, 0, 0, 0, 0, 129, 55, 0, 0, 2, 133, 223, 1, - 21, 0, 0, 0, 0, 244, 48, 0, 0, 2, 134, 223, 2, 21, 0, 0, 0, 0, 244, 48, 0, 0, 2, 135, 223, 4, - 21, 0, 0, 0, 0, 244, 48, 0, 0, 2, 136, 223, 6, 21, 0, 0, 0, 0, 129, 55, 0, 0, 2, 137, 223, 8, - 21, 0, 0, 0, 0, 129, 55, 0, 0, 2, 138, 223, 9, 21, 0, 0, 0, 0, 198, 93, 3, 0, 2, 139, 223, 10, - 21, 0, 0, 0, 0, 190, 48, 0, 0, 2, 140, 223, 12, 21, 0, 0, 0, 0, 190, 48, 0, 0, 2, 141, 223, 16, - 0, 33, 214, 48, 0, 0, 0, 0, 0, 0, 2, 31, 222, 9, 215, 93, 3, 0, 13, 9, 29, 0, 0, 14, 9, 29, 0, - 0, 0, 9, 231, 93, 3, 0, 13, 168, 0, 0, 0, 14, 247, 93, 3, 0, 14, 102, 94, 3, 0, 0, 9, 252, 93, - 3, 0, 20, 0, 0, 0, 0, 32, 2, 185, 49, 21, 0, 0, 0, 0, 162, 19, 0, 0, 2, 186, 49, 0, 21, 0, 0, - 0, 0, 97, 22, 3, 0, 2, 187, 49, 8, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 188, 49, 16, 21, 0, 0, 0, - 0, 90, 94, 3, 0, 2, 192, 49, 20, 24, 4, 2, 189, 49, 21, 0, 0, 0, 0, 177, 69, 0, 0, 2, 190, 49, - 0, 21, 0, 0, 0, 0, 244, 48, 0, 0, 2, 191, 49, 2, 0, 0, 3, 57, 94, 3, 0, 4, 82, 0, 0, 0, 2, 0, - 9, 172, 18, 0, 0, 9, 112, 94, 3, 0, 26, 117, 94, 3, 0, 20, 0, 0, 0, 0, 40, 2, 138, 50, 21, 0, - 0, 0, 0, 218, 94, 3, 0, 2, 139, 50, 0, 21, 0, 0, 0, 0, 214, 48, 0, 0, 2, 140, 50, 8, 21, 0, 0, - 0, 0, 214, 48, 0, 0, 2, 141, 50, 10, 21, 0, 0, 0, 0, 214, 48, 0, 0, 2, 142, 50, 12, 21, 0, 0, - 0, 0, 218, 94, 3, 0, 2, 143, 50, 16, 21, 0, 0, 0, 0, 110, 97, 3, 0, 2, 144, 50, 24, 21, 0, 0, - 0, 0, 192, 97, 3, 0, 2, 145, 50, 32, 0, 9, 223, 94, 3, 0, 26, 228, 94, 3, 0, 33, 240, 94, 3, 0, - 0, 0, 0, 0, 2, 132, 50, 9, 245, 94, 3, 0, 13, 168, 0, 0, 0, 14, 9, 29, 0, 0, 14, 15, 95, 3, 0, - 14, 62, 95, 3, 0, 14, 199, 53, 0, 0, 0, 9, 20, 95, 3, 0, 47, 0, 0, 0, 0, 4, 2, 86, 162, 1, 0, - 48, 0, 0, 0, 0, 214, 48, 0, 0, 2, 87, 162, 1, 0, 0, 48, 0, 0, 0, 0, 214, 48, 0, 0, 2, 88, 162, - 1, 0, 2, 0, 9, 67, 95, 3, 0, 58, 0, 0, 0, 0, 16, 2, 53, 162, 1, 0, 48, 0, 0, 0, 0, 105, 28, 0, - 0, 2, 54, 162, 1, 0, 0, 48, 0, 0, 0, 0, 93, 96, 3, 0, 2, 55, 162, 1, 0, 0, 48, 0, 0, 0, 0, 150, - 96, 3, 0, 2, 56, 162, 1, 0, 0, 48, 0, 0, 0, 0, 222, 96, 3, 0, 2, 57, 162, 1, 0, 0, 48, 0, 0, 0, - 0, 150, 96, 3, 0, 2, 58, 162, 1, 0, 0, 48, 0, 0, 0, 0, 150, 96, 3, 0, 2, 59, 162, 1, 0, 0, 48, - 0, 0, 0, 0, 150, 96, 3, 0, 2, 60, 162, 1, 0, 0, 48, 0, 0, 0, 0, 150, 96, 3, 0, 2, 61, 162, 1, - 0, 0, 48, 0, 0, 0, 0, 150, 96, 3, 0, 2, 62, 162, 1, 0, 0, 48, 0, 0, 0, 0, 0, 1, 0, 0, 2, 63, - 162, 1, 0, 0, 48, 0, 0, 0, 0, 150, 96, 3, 0, 2, 64, 162, 1, 0, 0, 48, 0, 0, 0, 0, 93, 96, 3, 0, - 2, 65, 162, 1, 0, 0, 48, 0, 0, 0, 0, 150, 96, 3, 0, 2, 66, 162, 1, 0, 0, 48, 0, 0, 0, 0, 38, - 97, 3, 0, 2, 67, 162, 1, 0, 0, 48, 0, 0, 0, 0, 90, 52, 0, 0, 2, 68, 162, 1, 0, 0, 48, 0, 0, 0, - 0, 90, 52, 0, 0, 2, 69, 162, 1, 0, 0, 48, 0, 0, 0, 0, 150, 96, 3, 0, 2, 70, 162, 1, 0, 0, 48, - 0, 0, 0, 0, 93, 96, 3, 0, 2, 71, 162, 1, 0, 0, 0, 47, 0, 0, 0, 0, 16, 2, 14, 162, 1, 0, 48, 0, - 0, 0, 0, 255, 0, 0, 0, 2, 15, 162, 1, 0, 0, 48, 0, 0, 0, 0, 214, 48, 0, 0, 2, 16, 162, 1, 0, 8, - 48, 0, 0, 0, 0, 214, 48, 0, 0, 2, 17, 162, 1, 0, 10, 0, 47, 0, 0, 0, 0, 8, 2, 7, 162, 1, 0, 48, - 0, 0, 0, 0, 112, 103, 0, 0, 2, 8, 162, 1, 0, 0, 48, 0, 0, 0, 0, 129, 55, 0, 0, 2, 9, 162, 1, 0, - 4, 48, 0, 0, 0, 0, 129, 55, 0, 0, 2, 10, 162, 1, 0, 5, 48, 0, 0, 0, 0, 214, 48, 0, 0, 2, 11, - 162, 1, 0, 6, 0, 47, 0, 0, 0, 0, 8, 2, 20, 162, 1, 0, 48, 0, 0, 0, 0, 112, 103, 0, 0, 2, 21, - 162, 1, 0, 0, 48, 0, 0, 0, 0, 71, 249, 0, 0, 2, 22, 162, 1, 0, 4, 48, 0, 0, 0, 0, 129, 55, 0, - 0, 2, 23, 162, 1, 0, 6, 48, 0, 0, 0, 0, 129, 55, 0, 0, 2, 24, 162, 1, 0, 7, 0, 47, 0, 0, 0, 0, - 4, 2, 27, 162, 1, 0, 48, 0, 0, 0, 0, 129, 55, 0, 0, 2, 28, 162, 1, 0, 0, 48, 0, 0, 0, 0, 129, - 55, 0, 0, 2, 29, 162, 1, 0, 1, 48, 0, 0, 0, 0, 129, 55, 0, 0, 2, 30, 162, 1, 0, 2, 48, 0, 0, 0, - 0, 129, 55, 0, 0, 2, 31, 162, 1, 0, 3, 0, 9, 115, 97, 3, 0, 26, 120, 97, 3, 0, 47, 0, 0, 0, 0, - 24, 2, 74, 162, 1, 0, 48, 0, 0, 0, 0, 0, 1, 0, 0, 2, 75, 162, 1, 0, 0, 48, 0, 0, 0, 0, 214, 48, - 0, 0, 2, 76, 162, 1, 0, 4, 48, 0, 0, 0, 0, 214, 48, 0, 0, 2, 77, 162, 1, 0, 6, 48, 0, 0, 0, 0, - 105, 28, 0, 0, 2, 78, 162, 1, 0, 8, 0, 9, 197, 97, 3, 0, 13, 208, 97, 3, 0, 14, 9, 29, 0, 0, 0, - 9, 213, 97, 3, 0, 47, 0, 0, 0, 0, 32, 2, 46, 162, 1, 0, 48, 0, 0, 0, 0, 214, 48, 0, 0, 2, 47, - 162, 1, 0, 0, 48, 0, 0, 0, 0, 38, 97, 3, 0, 2, 48, 162, 1, 0, 2, 48, 0, 0, 0, 0, 29, 98, 3, 0, - 2, 49, 162, 1, 0, 8, 48, 0, 0, 0, 0, 116, 98, 3, 0, 2, 50, 162, 1, 0, 28, 0, 47, 0, 0, 0, 0, - 20, 2, 34, 162, 1, 0, 48, 0, 0, 0, 0, 0, 1, 0, 0, 2, 35, 162, 1, 0, 0, 48, 0, 0, 0, 0, 0, 1, 0, - 0, 2, 36, 162, 1, 0, 4, 48, 0, 0, 0, 0, 0, 1, 0, 0, 2, 37, 162, 1, 0, 8, 48, 0, 0, 0, 0, 0, 1, - 0, 0, 2, 38, 162, 1, 0, 12, 48, 0, 0, 0, 0, 0, 1, 0, 0, 2, 39, 162, 1, 0, 16, 0, 47, 0, 0, 0, - 0, 4, 2, 42, 162, 1, 0, 48, 0, 0, 0, 0, 0, 1, 0, 0, 2, 43, 162, 1, 0, 0, 0, 9, 148, 98, 3, 0, - 47, 0, 0, 0, 0, 16, 2, 2, 162, 1, 0, 48, 0, 0, 0, 0, 190, 98, 3, 0, 2, 3, 162, 1, 0, 0, 48, 0, - 0, 0, 0, 91, 99, 3, 0, 2, 4, 162, 1, 0, 8, 0, 9, 195, 98, 3, 0, 47, 0, 0, 0, 0, 100, 2, 91, - 162, 1, 0, 48, 0, 0, 0, 0, 168, 0, 0, 0, 2, 92, 162, 1, 0, 0, 48, 0, 0, 0, 0, 41, 99, 3, 0, 2, - 93, 162, 1, 0, 4, 48, 0, 0, 0, 0, 67, 99, 3, 0, 2, 94, 162, 1, 0, 52, 48, 0, 0, 0, 0, 38, 97, - 3, 0, 2, 95, 162, 1, 0, 84, 48, 0, 0, 0, 0, 38, 97, 3, 0, 2, 96, 162, 1, 0, 88, 48, 0, 0, 0, 0, - 79, 99, 3, 0, 2, 97, 162, 1, 0, 92, 0, 3, 53, 99, 3, 0, 4, 82, 0, 0, 0, 48, 0, 54, 5, 49, 0, 0, - 0, 0, 0, 0, 2, 131, 33, 1, 0, 3, 38, 97, 3, 0, 4, 82, 0, 0, 0, 8, 0, 3, 53, 99, 3, 0, 4, 82, 0, - 0, 0, 8, 0, 9, 96, 99, 3, 0, 45, 0, 0, 0, 0, 9, 106, 99, 3, 0, 26, 111, 99, 3, 0, 27, 0, 0, 0, - 0, 24, 2, 2, 213, 50, 34, 0, 0, 0, 0, 125, 68, 0, 0, 2, 214, 50, 4, 1, 31, 0, 21, 0, 0, 0, 0, - 125, 68, 0, 0, 2, 215, 50, 4, 21, 0, 0, 0, 0, 20, 103, 3, 0, 2, 216, 50, 8, 21, 0, 0, 0, 0, 33, - 34, 0, 0, 2, 217, 50, 16, 21, 0, 0, 0, 0, 208, 103, 3, 0, 2, 218, 50, 24, 21, 0, 0, 0, 0, 41, - 104, 3, 0, 2, 219, 50, 32, 21, 0, 0, 0, 0, 125, 104, 3, 0, 2, 220, 50, 40, 21, 0, 0, 0, 0, 146, - 104, 3, 0, 2, 221, 50, 48, 21, 0, 0, 0, 0, 162, 104, 3, 0, 2, 222, 50, 56, 21, 0, 0, 0, 0, 33, - 34, 0, 0, 2, 223, 50, 64, 21, 0, 0, 0, 0, 146, 104, 3, 0, 2, 224, 50, 72, 21, 0, 0, 0, 0, 179, - 104, 3, 0, 2, 225, 50, 80, 21, 0, 0, 0, 0, 33, 34, 0, 0, 2, 226, 50, 88, 21, 0, 0, 0, 0, 79, - 106, 3, 0, 2, 227, 50, 96, 21, 0, 0, 0, 0, 79, 106, 3, 0, 2, 228, 50, 104, 21, 0, 0, 0, 0, 185, - 106, 3, 0, 2, 229, 50, 112, 21, 0, 0, 0, 0, 185, 106, 3, 0, 2, 230, 50, 120, 21, 0, 0, 0, 0, - 59, 108, 3, 0, 2, 231, 50, 128, 21, 0, 0, 0, 0, 208, 108, 3, 0, 2, 232, 50, 136, 21, 0, 0, 0, - 0, 229, 108, 3, 0, 2, 233, 50, 144, 21, 0, 0, 0, 0, 31, 109, 3, 0, 2, 234, 50, 152, 21, 0, 0, - 0, 0, 115, 109, 3, 0, 2, 235, 50, 160, 21, 0, 0, 0, 0, 136, 109, 3, 0, 2, 236, 50, 168, 21, 0, - 0, 0, 0, 238, 109, 3, 0, 2, 237, 50, 176, 21, 0, 0, 0, 0, 4, 110, 3, 0, 2, 238, 50, 184, 21, 0, - 0, 0, 0, 63, 110, 3, 0, 2, 239, 50, 192, 21, 0, 0, 0, 0, 33, 34, 0, 0, 2, 240, 50, 200, 21, 0, - 0, 0, 0, 49, 34, 0, 0, 2, 241, 50, 208, 21, 0, 0, 0, 0, 146, 104, 3, 0, 2, 242, 50, 216, 21, 0, - 0, 0, 0, 139, 110, 3, 0, 2, 243, 50, 224, 21, 0, 0, 0, 0, 128, 55, 3, 0, 2, 244, 50, 232, 21, - 0, 0, 0, 0, 160, 110, 3, 0, 2, 245, 50, 240, 21, 0, 0, 0, 0, 173, 114, 3, 0, 2, 246, 50, 248, - 28, 0, 0, 0, 0, 194, 114, 3, 0, 2, 247, 50, 0, 1, 28, 0, 0, 0, 0, 13, 115, 3, 0, 2, 248, 50, 8, - 1, 28, 0, 0, 0, 0, 146, 104, 3, 0, 2, 249, 50, 16, 1, 28, 0, 0, 0, 0, 146, 104, 3, 0, 2, 250, - 50, 24, 1, 28, 0, 0, 0, 0, 34, 115, 3, 0, 2, 251, 50, 32, 1, 28, 0, 0, 0, 0, 65, 115, 3, 0, 2, - 252, 50, 40, 1, 28, 0, 0, 0, 0, 96, 115, 3, 0, 2, 253, 50, 48, 1, 28, 0, 0, 0, 0, 132, 115, 3, - 0, 2, 254, 50, 56, 1, 28, 0, 0, 0, 0, 173, 115, 3, 0, 2, 255, 50, 64, 1, 28, 0, 0, 0, 0, 66, - 116, 3, 0, 2, 0, 51, 72, 1, 28, 0, 0, 0, 0, 87, 116, 3, 0, 2, 1, 51, 80, 1, 28, 0, 0, 0, 0, - 188, 116, 3, 0, 2, 2, 51, 88, 1, 28, 0, 0, 0, 0, 87, 116, 3, 0, 2, 3, 51, 96, 1, 28, 0, 0, 0, - 0, 214, 116, 3, 0, 2, 4, 51, 104, 1, 28, 0, 0, 0, 0, 85, 117, 3, 0, 2, 5, 51, 112, 1, 28, 0, 0, - 0, 0, 79, 106, 3, 0, 2, 6, 51, 120, 1, 28, 0, 0, 0, 0, 173, 117, 3, 0, 2, 7, 51, 128, 1, 28, 0, - 0, 0, 0, 173, 117, 3, 0, 2, 8, 51, 136, 1, 28, 0, 0, 0, 0, 70, 118, 3, 0, 2, 9, 51, 144, 1, 28, - 0, 0, 0, 0, 181, 118, 3, 0, 2, 10, 51, 152, 1, 28, 0, 0, 0, 0, 207, 118, 3, 0, 2, 11, 51, 160, - 1, 28, 0, 0, 0, 0, 207, 118, 3, 0, 2, 12, 51, 168, 1, 28, 0, 0, 0, 0, 233, 118, 3, 0, 2, 13, - 51, 176, 1, 28, 0, 0, 0, 0, 83, 120, 3, 0, 2, 14, 51, 184, 1, 28, 0, 0, 0, 0, 114, 120, 3, 0, - 2, 15, 51, 192, 1, 28, 0, 0, 0, 0, 221, 120, 3, 0, 2, 16, 51, 200, 1, 28, 0, 0, 0, 0, 221, 120, - 3, 0, 2, 17, 51, 208, 1, 28, 0, 0, 0, 0, 63, 110, 3, 0, 2, 18, 51, 216, 1, 28, 0, 0, 0, 0, 70, - 118, 3, 0, 2, 19, 51, 224, 1, 28, 0, 0, 0, 0, 181, 118, 3, 0, 2, 20, 51, 232, 1, 28, 0, 0, 0, - 0, 53, 121, 3, 0, 2, 21, 51, 240, 1, 28, 0, 0, 0, 0, 177, 121, 3, 0, 2, 22, 51, 248, 1, 28, 0, - 0, 0, 0, 222, 121, 3, 0, 2, 23, 51, 0, 2, 28, 0, 0, 0, 0, 28, 123, 3, 0, 2, 24, 51, 8, 2, 28, - 0, 0, 0, 0, 99, 123, 3, 0, 2, 25, 51, 16, 2, 0, 9, 25, 103, 3, 0, 32, 14, 9, 29, 0, 0, 14, 37, - 103, 3, 0, 0, 9, 42, 103, 3, 0, 20, 0, 0, 0, 0, 196, 2, 184, 218, 21, 0, 0, 0, 0, 0, 1, 0, 0, - 2, 185, 218, 0, 21, 0, 0, 0, 0, 28, 201, 0, 0, 2, 186, 218, 4, 21, 0, 0, 0, 0, 28, 201, 0, 0, - 2, 187, 218, 36, 21, 0, 0, 0, 0, 28, 201, 0, 0, 2, 188, 218, 68, 21, 0, 0, 0, 0, 28, 201, 0, 0, - 2, 189, 218, 100, 21, 0, 0, 0, 0, 28, 201, 0, 0, 2, 190, 218, 132, 21, 0, 0, 0, 0, 223, 230, 2, - 0, 2, 191, 218, 164, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 192, 218, 176, 21, 0, 0, 0, 0, 0, 1, 0, 0, - 2, 193, 218, 180, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 194, 218, 184, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, - 195, 218, 188, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 196, 218, 192, 0, 9, 213, 103, 3, 0, 32, 14, 9, - 29, 0, 0, 14, 230, 103, 3, 0, 14, 255, 0, 0, 0, 0, 9, 235, 103, 3, 0, 20, 0, 0, 0, 0, 12, 2, - 214, 218, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 215, 218, 0, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 216, 218, - 4, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 217, 218, 8, 21, 0, 0, 0, 0, 67, 178, 1, 0, 2, 218, 218, 12, - 0, 9, 46, 104, 3, 0, 32, 14, 9, 29, 0, 0, 14, 58, 104, 3, 0, 0, 9, 63, 104, 3, 0, 20, 0, 0, 0, - 0, 20, 2, 199, 218, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 200, 218, 0, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, - 201, 218, 4, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 202, 218, 8, 21, 0, 0, 0, 0, 164, 196, 0, 0, 2, - 203, 218, 12, 0, 9, 130, 104, 3, 0, 13, 168, 0, 0, 0, 14, 9, 29, 0, 0, 14, 58, 104, 3, 0, 0, 9, - 151, 104, 3, 0, 13, 125, 68, 0, 0, 14, 9, 29, 0, 0, 0, 9, 167, 104, 3, 0, 32, 14, 9, 29, 0, 0, - 14, 125, 68, 0, 0, 0, 9, 184, 104, 3, 0, 13, 168, 0, 0, 0, 14, 9, 29, 0, 0, 14, 200, 104, 3, 0, - 0, 9, 205, 104, 3, 0, 20, 0, 0, 0, 0, 8, 2, 96, 220, 21, 0, 0, 0, 0, 65, 105, 3, 0, 2, 97, 220, - 0, 22, 236, 104, 3, 0, 2, 98, 220, 4, 23, 4, 2, 98, 220, 21, 0, 0, 0, 0, 139, 105, 3, 0, 2, 99, - 220, 0, 21, 0, 0, 0, 0, 189, 105, 3, 0, 2, 100, 220, 0, 21, 0, 0, 0, 0, 227, 105, 3, 0, 2, 101, - 220, 0, 21, 0, 0, 0, 0, 15, 106, 3, 0, 2, 102, 220, 0, 21, 0, 0, 0, 0, 53, 106, 3, 0, 2, 103, - 220, 0, 21, 0, 0, 0, 0, 118, 55, 0, 0, 2, 104, 220, 0, 0, 0, 17, 11, 1, 0, 0, 0, 0, 0, 0, 4, 2, - 49, 219, 18, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 1, 18, 0, 0, 0, 0, 2, 18, 0, 0, 0, 0, 3, 18, 0, 0, - 0, 0, 4, 18, 0, 0, 0, 0, 5, 18, 0, 0, 0, 0, 6, 18, 0, 0, 0, 0, 7, 18, 0, 0, 0, 0, 8, 18, 0, 0, - 0, 0, 9, 0, 17, 11, 1, 0, 0, 0, 0, 0, 0, 4, 2, 62, 219, 18, 0, 0, 0, 0, 1, 18, 0, 0, 0, 0, 2, - 18, 0, 0, 0, 0, 3, 18, 0, 0, 0, 0, 4, 18, 0, 0, 0, 0, 5, 18, 0, 0, 0, 0, 6, 0, 17, 11, 1, 0, 0, - 0, 0, 0, 0, 4, 2, 71, 219, 18, 0, 0, 0, 0, 1, 18, 0, 0, 0, 0, 2, 18, 0, 0, 0, 0, 3, 18, 0, 0, - 0, 0, 4, 0, 17, 11, 1, 0, 0, 0, 0, 0, 0, 4, 2, 78, 219, 18, 0, 0, 0, 0, 1, 18, 0, 0, 0, 0, 2, - 18, 0, 0, 0, 0, 3, 18, 0, 0, 0, 0, 4, 18, 0, 0, 0, 0, 5, 0, 17, 11, 1, 0, 0, 0, 0, 0, 0, 4, 2, - 86, 219, 18, 0, 0, 0, 0, 1, 18, 0, 0, 0, 0, 2, 18, 0, 0, 0, 0, 3, 18, 0, 0, 0, 0, 4, 0, 17, 11, - 1, 0, 0, 0, 0, 0, 0, 4, 2, 93, 219, 18, 0, 0, 0, 0, 1, 18, 0, 0, 0, 0, 2, 0, 9, 84, 106, 3, 0, - 13, 168, 0, 0, 0, 14, 9, 29, 0, 0, 14, 105, 106, 3, 0, 14, 254, 70, 2, 0, 0, 9, 110, 106, 3, 0, - 20, 0, 0, 0, 0, 16, 2, 221, 218, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 222, 218, 0, 21, 0, 0, 0, 0, 0, - 1, 0, 0, 2, 223, 218, 4, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 224, 218, 8, 21, 0, 0, 0, 0, 0, 1, 0, - 0, 2, 225, 218, 12, 21, 0, 0, 0, 0, 67, 178, 1, 0, 2, 226, 218, 16, 0, 9, 190, 106, 3, 0, 13, - 168, 0, 0, 0, 14, 9, 29, 0, 0, 14, 216, 106, 3, 0, 14, 18, 108, 3, 0, 14, 19, 152, 1, 0, 0, 9, - 221, 106, 3, 0, 20, 0, 0, 0, 0, 92, 2, 248, 218, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 249, 218, 0, - 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 250, 218, 4, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 251, 218, 8, 21, 0, - 0, 0, 0, 0, 1, 0, 0, 2, 252, 218, 12, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 253, 218, 16, 21, 0, 0, 0, - 0, 0, 1, 0, 0, 2, 254, 218, 20, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 255, 218, 24, 21, 0, 0, 0, 0, 0, - 1, 0, 0, 2, 0, 219, 28, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 1, 219, 32, 21, 0, 0, 0, 0, 0, 1, 0, 0, - 2, 2, 219, 36, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 3, 219, 40, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 4, - 219, 44, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 5, 219, 48, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 6, 219, 52, - 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 7, 219, 56, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 8, 219, 60, 21, 0, 0, - 0, 0, 0, 1, 0, 0, 2, 9, 219, 64, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 10, 219, 68, 21, 0, 0, 0, 0, 0, - 1, 0, 0, 2, 11, 219, 72, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 12, 219, 76, 21, 0, 0, 0, 0, 0, 1, 0, - 0, 2, 13, 219, 80, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 14, 219, 84, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, - 15, 219, 88, 0, 9, 23, 108, 3, 0, 20, 0, 0, 0, 0, 2, 2, 118, 220, 21, 0, 0, 0, 0, 118, 55, 0, - 0, 2, 119, 220, 0, 21, 0, 0, 0, 0, 118, 55, 0, 0, 2, 120, 220, 1, 0, 9, 64, 108, 3, 0, 32, 14, - 9, 29, 0, 0, 14, 76, 108, 3, 0, 0, 9, 81, 108, 3, 0, 20, 0, 0, 0, 0, 36, 2, 18, 219, 21, 0, 0, - 0, 0, 0, 1, 0, 0, 2, 19, 219, 0, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 20, 219, 4, 21, 0, 0, 0, 0, 0, - 1, 0, 0, 2, 21, 219, 8, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 22, 219, 12, 21, 0, 0, 0, 0, 0, 1, 0, 0, - 2, 23, 219, 16, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 24, 219, 20, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 25, - 219, 24, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 26, 219, 28, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 27, 219, - 32, 0, 9, 213, 108, 3, 0, 13, 168, 0, 0, 0, 14, 9, 29, 0, 0, 14, 76, 108, 3, 0, 0, 9, 234, 108, - 3, 0, 32, 14, 9, 29, 0, 0, 14, 246, 108, 3, 0, 0, 9, 251, 108, 3, 0, 20, 0, 0, 0, 0, 16, 2, - 158, 220, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 159, 220, 0, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 160, - 220, 8, 0, 9, 36, 109, 3, 0, 32, 14, 9, 29, 0, 0, 14, 48, 109, 3, 0, 0, 9, 53, 109, 3, 0, 20, - 0, 0, 0, 0, 16, 2, 42, 219, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 43, 219, 0, 21, 0, 0, 0, 0, 0, 1, 0, - 0, 2, 44, 219, 4, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 45, 219, 8, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 46, - 219, 12, 0, 9, 120, 109, 3, 0, 13, 168, 0, 0, 0, 14, 9, 29, 0, 0, 14, 48, 109, 3, 0, 0, 9, 141, - 109, 3, 0, 32, 14, 9, 29, 0, 0, 14, 158, 109, 3, 0, 14, 239, 241, 0, 0, 0, 9, 163, 109, 3, 0, - 20, 0, 0, 0, 0, 16, 2, 98, 219, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 99, 219, 0, 21, 0, 0, 0, 0, 0, - 1, 0, 0, 2, 100, 219, 4, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 101, 219, 8, 21, 0, 0, 0, 0, 0, 1, 0, - 0, 2, 102, 219, 12, 21, 0, 0, 0, 0, 44, 104, 2, 0, 2, 103, 219, 16, 0, 9, 243, 109, 3, 0, 32, - 14, 9, 29, 0, 0, 14, 125, 68, 0, 0, 14, 254, 70, 2, 0, 0, 9, 9, 110, 3, 0, 13, 168, 0, 0, 0, - 14, 9, 29, 0, 0, 14, 25, 110, 3, 0, 0, 17, 11, 1, 0, 0, 0, 0, 0, 0, 4, 2, 148, 50, 18, 0, 0, 0, - 0, 0, 18, 0, 0, 0, 0, 1, 18, 0, 0, 0, 0, 2, 18, 0, 0, 0, 0, 3, 0, 9, 68, 110, 3, 0, 32, 14, 9, - 29, 0, 0, 14, 85, 110, 3, 0, 14, 239, 241, 0, 0, 0, 9, 90, 110, 3, 0, 20, 0, 0, 0, 0, 8, 2, - 106, 219, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 107, 219, 0, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 108, 219, - 4, 21, 0, 0, 0, 0, 44, 104, 2, 0, 2, 109, 219, 8, 0, 9, 144, 110, 3, 0, 13, 168, 0, 0, 0, 14, - 9, 29, 0, 0, 14, 125, 68, 0, 0, 0, 9, 165, 110, 3, 0, 13, 168, 0, 0, 0, 14, 9, 29, 0, 0, 14, - 186, 110, 3, 0, 14, 175, 236, 0, 0, 0, 9, 191, 110, 3, 0, 20, 0, 0, 0, 0, 192, 2, 194, 219, 21, - 0, 0, 0, 0, 0, 1, 0, 0, 2, 195, 219, 0, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 196, 219, 4, 21, 0, 0, - 0, 0, 197, 0, 0, 0, 2, 197, 219, 8, 21, 0, 0, 0, 0, 51, 111, 3, 0, 2, 198, 219, 16, 22, 5, 111, - 3, 0, 2, 199, 219, 184, 23, 4, 2, 199, 219, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 200, 219, 0, 21, 0, - 0, 0, 0, 0, 1, 0, 0, 2, 201, 219, 0, 0, 21, 0, 0, 0, 0, 205, 174, 1, 0, 2, 203, 219, 188, 0, - 20, 0, 0, 0, 0, 168, 2, 184, 219, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 185, 219, 0, 21, 0, 0, 0, 0, - 152, 111, 3, 0, 2, 186, 219, 4, 21, 0, 0, 0, 0, 86, 114, 3, 0, 2, 187, 219, 56, 21, 0, 0, 0, 0, - 152, 111, 3, 0, 2, 188, 219, 76, 21, 0, 0, 0, 0, 86, 114, 3, 0, 2, 189, 219, 128, 21, 0, 0, 0, - 0, 197, 0, 0, 0, 2, 190, 219, 152, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 191, 219, 160, 0, 43, 0, 0, - 0, 0, 52, 2, 159, 219, 21, 0, 0, 0, 0, 88, 112, 3, 0, 2, 160, 219, 0, 21, 0, 0, 0, 0, 88, 112, - 3, 0, 2, 161, 219, 0, 21, 0, 0, 0, 0, 88, 112, 3, 0, 2, 162, 219, 0, 21, 0, 0, 0, 0, 163, 112, - 3, 0, 2, 163, 219, 0, 21, 0, 0, 0, 0, 163, 112, 3, 0, 2, 164, 219, 0, 21, 0, 0, 0, 0, 225, 112, - 3, 0, 2, 165, 219, 0, 21, 0, 0, 0, 0, 57, 113, 3, 0, 2, 166, 219, 0, 21, 0, 0, 0, 0, 57, 113, - 3, 0, 2, 167, 219, 0, 21, 0, 0, 0, 0, 57, 113, 3, 0, 2, 168, 219, 0, 21, 0, 0, 0, 0, 132, 113, - 3, 0, 2, 169, 219, 0, 21, 0, 0, 0, 0, 132, 113, 3, 0, 2, 170, 219, 0, 21, 0, 0, 0, 0, 194, 113, - 3, 0, 2, 171, 219, 0, 21, 0, 0, 0, 0, 13, 114, 3, 0, 2, 172, 219, 0, 21, 0, 0, 0, 0, 74, 114, - 3, 0, 2, 173, 219, 0, 0, 20, 0, 0, 0, 0, 16, 2, 112, 219, 21, 0, 0, 0, 0, 190, 48, 0, 0, 2, - 113, 219, 0, 21, 0, 0, 0, 0, 190, 48, 0, 0, 2, 114, 219, 4, 21, 0, 0, 0, 0, 244, 48, 0, 0, 2, - 115, 219, 8, 21, 0, 0, 0, 0, 244, 48, 0, 0, 2, 116, 219, 10, 21, 0, 0, 0, 0, 129, 55, 0, 0, 2, - 117, 219, 12, 0, 20, 0, 0, 0, 0, 16, 2, 120, 219, 21, 0, 0, 0, 0, 190, 48, 0, 0, 2, 121, 219, - 0, 21, 0, 0, 0, 0, 190, 48, 0, 0, 2, 122, 219, 4, 21, 0, 0, 0, 0, 190, 48, 0, 0, 2, 123, 219, - 8, 21, 0, 0, 0, 0, 129, 55, 0, 0, 2, 124, 219, 12, 0, 20, 0, 0, 0, 0, 16, 2, 127, 219, 21, 0, - 0, 0, 0, 190, 48, 0, 0, 2, 128, 219, 0, 21, 0, 0, 0, 0, 190, 48, 0, 0, 2, 129, 219, 4, 21, 0, - 0, 0, 0, 190, 48, 0, 0, 2, 130, 219, 8, 21, 0, 0, 0, 0, 129, 55, 0, 0, 2, 131, 219, 12, 21, 0, - 0, 0, 0, 129, 55, 0, 0, 2, 132, 219, 13, 21, 0, 0, 0, 0, 129, 55, 0, 0, 2, 133, 219, 14, 0, 20, - 0, 0, 0, 0, 40, 2, 136, 219, 21, 0, 0, 0, 0, 103, 150, 1, 0, 2, 137, 219, 0, 21, 0, 0, 0, 0, - 103, 150, 1, 0, 2, 138, 219, 16, 21, 0, 0, 0, 0, 244, 48, 0, 0, 2, 139, 219, 32, 21, 0, 0, 0, - 0, 244, 48, 0, 0, 2, 140, 219, 34, 21, 0, 0, 0, 0, 129, 55, 0, 0, 2, 141, 219, 36, 0, 20, 0, 0, - 0, 0, 40, 2, 144, 219, 21, 0, 0, 0, 0, 103, 150, 1, 0, 2, 145, 219, 0, 21, 0, 0, 0, 0, 103, - 150, 1, 0, 2, 146, 219, 16, 21, 0, 0, 0, 0, 190, 48, 0, 0, 2, 147, 219, 32, 21, 0, 0, 0, 0, - 129, 55, 0, 0, 2, 148, 219, 36, 0, 20, 0, 0, 0, 0, 40, 2, 151, 219, 21, 0, 0, 0, 0, 103, 150, - 1, 0, 2, 152, 219, 0, 21, 0, 0, 0, 0, 103, 150, 1, 0, 2, 153, 219, 16, 21, 0, 0, 0, 0, 190, 48, - 0, 0, 2, 154, 219, 32, 21, 0, 0, 0, 0, 129, 55, 0, 0, 2, 155, 219, 36, 21, 0, 0, 0, 0, 129, 55, - 0, 0, 2, 156, 219, 37, 0, 20, 0, 0, 0, 0, 14, 2, 178, 218, 21, 0, 0, 0, 0, 62, 114, 3, 0, 2, - 179, 218, 0, 21, 0, 0, 0, 0, 62, 114, 3, 0, 2, 180, 218, 6, 21, 0, 0, 0, 0, 244, 48, 0, 0, 2, - 181, 218, 12, 0, 3, 5, 49, 0, 0, 4, 82, 0, 0, 0, 6, 0, 3, 129, 55, 0, 0, 4, 82, 0, 0, 0, 52, 0, - 20, 0, 0, 0, 0, 20, 2, 176, 219, 21, 0, 0, 0, 0, 161, 114, 3, 0, 2, 177, 219, 0, 21, 0, 0, 0, - 0, 62, 114, 3, 0, 2, 178, 219, 2, 21, 0, 0, 0, 0, 244, 48, 0, 0, 2, 179, 219, 8, 21, 0, 0, 0, - 0, 244, 48, 0, 0, 2, 180, 219, 10, 21, 0, 0, 0, 0, 120, 222, 1, 0, 2, 181, 219, 12, 0, 3, 129, - 55, 0, 0, 4, 82, 0, 0, 0, 2, 0, 9, 178, 114, 3, 0, 13, 168, 0, 0, 0, 14, 9, 29, 0, 0, 14, 186, - 110, 3, 0, 0, 9, 199, 114, 3, 0, 13, 168, 0, 0, 0, 14, 9, 29, 0, 0, 14, 215, 114, 3, 0, 0, 9, - 220, 114, 3, 0, 20, 0, 0, 0, 0, 136, 2, 206, 219, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 207, 219, 0, - 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 208, 219, 4, 21, 0, 0, 0, 0, 40, 201, 0, 0, 2, 209, 219, 8, 0, - 9, 18, 115, 3, 0, 13, 168, 0, 0, 0, 14, 9, 29, 0, 0, 14, 175, 236, 0, 0, 0, 9, 39, 115, 3, 0, - 13, 168, 0, 0, 0, 14, 9, 29, 0, 0, 14, 175, 236, 0, 0, 14, 254, 70, 2, 0, 14, 254, 70, 2, 0, 0, - 9, 70, 115, 3, 0, 13, 168, 0, 0, 0, 14, 9, 29, 0, 0, 14, 176, 215, 0, 0, 14, 97, 22, 3, 0, 14, - 102, 22, 3, 0, 0, 9, 101, 115, 3, 0, 13, 168, 0, 0, 0, 14, 9, 29, 0, 0, 14, 175, 236, 0, 0, 14, - 254, 70, 2, 0, 14, 254, 70, 2, 0, 14, 125, 68, 0, 0, 0, 9, 137, 115, 3, 0, 13, 168, 0, 0, 0, - 14, 9, 29, 0, 0, 14, 176, 215, 0, 0, 14, 97, 22, 3, 0, 14, 102, 22, 3, 0, 14, 175, 236, 0, 0, - 14, 219, 52, 0, 0, 0, 9, 178, 115, 3, 0, 32, 14, 9, 29, 0, 0, 14, 190, 115, 3, 0, 0, 9, 195, - 115, 3, 0, 20, 0, 0, 0, 0, 36, 2, 30, 219, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 31, 219, 0, 21, 0, 0, - 0, 0, 0, 1, 0, 0, 2, 32, 219, 4, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 33, 219, 8, 21, 0, 0, 0, 0, 0, - 1, 0, 0, 2, 34, 219, 12, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 35, 219, 16, 21, 0, 0, 0, 0, 0, 1, 0, - 0, 2, 36, 219, 20, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 37, 219, 24, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, - 38, 219, 28, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 39, 219, 32, 0, 9, 71, 116, 3, 0, 13, 168, 0, 0, 0, - 14, 9, 29, 0, 0, 14, 190, 115, 3, 0, 0, 9, 92, 116, 3, 0, 13, 168, 0, 0, 0, 14, 9, 29, 0, 0, - 14, 108, 116, 3, 0, 0, 9, 113, 116, 3, 0, 20, 0, 0, 0, 0, 16, 2, 212, 219, 21, 0, 0, 0, 0, 0, - 1, 0, 0, 2, 213, 219, 0, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 214, 219, 4, 21, 0, 0, 0, 0, 0, 1, 0, - 0, 2, 215, 219, 8, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 216, 219, 12, 21, 0, 0, 0, 0, 67, 178, 1, 0, - 2, 217, 219, 16, 0, 9, 193, 116, 3, 0, 13, 168, 0, 0, 0, 14, 9, 29, 0, 0, 14, 108, 116, 3, 0, - 14, 255, 0, 0, 0, 0, 9, 219, 116, 3, 0, 13, 168, 0, 0, 0, 14, 9, 29, 0, 0, 14, 235, 116, 3, 0, - 0, 9, 240, 116, 3, 0, 20, 0, 0, 0, 0, 44, 2, 220, 219, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 221, 219, - 0, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 222, 219, 4, 21, 0, 0, 0, 0, 112, 103, 0, 0, 2, 223, 219, 8, - 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 224, 219, 12, 21, 0, 0, 0, 0, 36, 15, 3, 0, 2, 225, 219, 16, 21, - 0, 0, 0, 0, 0, 1, 0, 0, 2, 226, 219, 28, 21, 0, 0, 0, 0, 36, 15, 3, 0, 2, 227, 219, 32, 0, 9, - 90, 117, 3, 0, 13, 168, 0, 0, 0, 14, 9, 29, 0, 0, 14, 106, 117, 3, 0, 0, 9, 111, 117, 3, 0, 20, - 0, 0, 0, 0, 44, 2, 241, 218, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 242, 218, 0, 21, 0, 0, 0, 0, 0, 1, - 0, 0, 2, 243, 218, 4, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 244, 218, 8, 21, 0, 0, 0, 0, 99, 217, 2, - 0, 2, 245, 218, 12, 0, 9, 178, 117, 3, 0, 13, 168, 0, 0, 0, 14, 9, 29, 0, 0, 14, 194, 117, 3, - 0, 0, 9, 199, 117, 3, 0, 20, 0, 0, 0, 0, 40, 2, 229, 218, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 230, - 218, 0, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 231, 218, 4, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 232, 218, 8, - 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 233, 218, 12, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 234, 218, 16, 21, - 0, 0, 0, 0, 0, 1, 0, 0, 2, 235, 218, 20, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 236, 218, 24, 21, 0, 0, - 0, 0, 0, 1, 0, 0, 2, 237, 218, 28, 21, 0, 0, 0, 0, 45, 80, 0, 0, 2, 238, 218, 32, 0, 9, 75, - 118, 3, 0, 13, 168, 0, 0, 0, 14, 9, 29, 0, 0, 14, 96, 118, 3, 0, 14, 255, 0, 0, 0, 0, 9, 101, - 118, 3, 0, 26, 106, 118, 3, 0, 20, 0, 0, 0, 0, 16, 2, 206, 218, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, - 207, 218, 0, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 208, 218, 4, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 209, - 218, 8, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 210, 218, 12, 21, 0, 0, 0, 0, 148, 227, 1, 0, 2, 211, - 218, 16, 0, 9, 186, 118, 3, 0, 13, 168, 0, 0, 0, 14, 9, 29, 0, 0, 14, 96, 118, 3, 0, 14, 56, 1, - 0, 0, 0, 9, 212, 118, 3, 0, 13, 168, 0, 0, 0, 14, 9, 29, 0, 0, 14, 125, 68, 0, 0, 14, 216, 106, - 3, 0, 0, 9, 238, 118, 3, 0, 13, 168, 0, 0, 0, 14, 9, 29, 0, 0, 14, 254, 118, 3, 0, 0, 9, 3, - 119, 3, 0, 20, 0, 0, 0, 0, 104, 2, 108, 220, 21, 0, 0, 0, 0, 97, 119, 3, 0, 2, 109, 220, 0, 21, - 0, 0, 0, 0, 38, 119, 3, 0, 2, 114, 220, 48, 24, 48, 2, 110, 220, 21, 0, 0, 0, 0, 111, 105, 0, - 0, 2, 111, 220, 0, 21, 0, 0, 0, 0, 111, 105, 0, 0, 2, 112, 220, 16, 21, 0, 0, 0, 0, 111, 105, - 0, 0, 2, 113, 220, 32, 0, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 115, 220, 96, 0, 20, 0, 0, 0, 0, - 48, 2, 77, 220, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 78, 220, 0, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 79, - 220, 4, 21, 0, 0, 0, 0, 129, 55, 0, 0, 2, 80, 220, 8, 21, 0, 0, 0, 0, 129, 55, 0, 0, 2, 81, - 220, 9, 21, 0, 0, 0, 0, 129, 55, 0, 0, 2, 82, 220, 10, 21, 0, 0, 0, 0, 129, 55, 0, 0, 2, 83, - 220, 11, 21, 0, 0, 0, 0, 129, 55, 0, 0, 2, 84, 220, 12, 21, 0, 0, 0, 0, 129, 55, 0, 0, 2, 85, - 220, 13, 21, 0, 0, 0, 0, 129, 55, 0, 0, 2, 86, 220, 14, 21, 0, 0, 0, 0, 83, 43, 1, 0, 2, 87, - 220, 15, 21, 0, 0, 0, 0, 129, 55, 0, 0, 2, 88, 220, 16, 21, 0, 0, 0, 0, 129, 55, 0, 0, 2, 89, - 220, 17, 21, 0, 0, 0, 0, 129, 55, 0, 0, 2, 90, 220, 18, 21, 0, 0, 0, 0, 59, 120, 3, 0, 2, 91, - 220, 19, 21, 0, 0, 0, 0, 71, 120, 3, 0, 2, 92, 220, 20, 21, 0, 0, 0, 0, 205, 174, 1, 0, 2, 93, - 220, 48, 0, 3, 129, 55, 0, 0, 4, 82, 0, 0, 0, 1, 0, 3, 0, 1, 0, 0, 4, 82, 0, 0, 0, 7, 0, 9, 88, - 120, 3, 0, 13, 168, 0, 0, 0, 14, 9, 29, 0, 0, 14, 104, 120, 3, 0, 0, 9, 109, 120, 3, 0, 26, 3, - 119, 3, 0, 9, 119, 120, 3, 0, 32, 14, 9, 29, 0, 0, 14, 131, 120, 3, 0, 0, 9, 136, 120, 3, 0, - 20, 0, 0, 0, 0, 216, 2, 168, 220, 21, 0, 0, 0, 0, 185, 120, 3, 0, 2, 169, 220, 0, 21, 0, 0, 0, - 0, 185, 120, 3, 0, 2, 170, 220, 72, 21, 0, 0, 0, 0, 185, 120, 3, 0, 2, 171, 220, 144, 0, 20, 0, - 0, 0, 0, 72, 2, 163, 220, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 164, 220, 0, 21, 0, 0, 0, 0, 30, - 190, 0, 0, 2, 165, 220, 8, 0, 9, 226, 120, 3, 0, 13, 168, 0, 0, 0, 14, 9, 29, 0, 0, 14, 242, - 120, 3, 0, 0, 9, 247, 120, 3, 0, 20, 0, 0, 0, 0, 16, 2, 230, 219, 21, 0, 0, 0, 0, 0, 1, 0, 0, - 2, 231, 219, 0, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 232, 219, 4, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 233, - 219, 8, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 234, 219, 12, 0, 9, 58, 121, 3, 0, 13, 168, 0, 0, 0, 14, - 9, 29, 0, 0, 14, 79, 121, 3, 0, 14, 19, 152, 1, 0, 0, 9, 84, 121, 3, 0, 26, 89, 121, 3, 0, 20, - 0, 0, 0, 0, 24, 2, 188, 220, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 189, 220, 0, 21, 0, 0, 0, 0, - 125, 68, 0, 0, 2, 190, 220, 4, 21, 0, 0, 0, 0, 118, 55, 0, 0, 2, 191, 220, 8, 21, 0, 0, 0, 0, - 118, 55, 0, 0, 2, 192, 220, 9, 21, 0, 0, 0, 0, 118, 55, 0, 0, 2, 193, 220, 10, 21, 0, 0, 0, 0, - 254, 70, 2, 0, 2, 194, 220, 16, 0, 9, 182, 121, 3, 0, 32, 14, 9, 29, 0, 0, 14, 194, 121, 3, 0, - 0, 9, 199, 121, 3, 0, 20, 0, 0, 0, 0, 8, 2, 148, 220, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 149, - 220, 0, 0, 9, 227, 121, 3, 0, 32, 14, 9, 29, 0, 0, 14, 239, 121, 3, 0, 0, 9, 244, 121, 3, 0, - 20, 0, 0, 0, 0, 176, 2, 123, 220, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 124, 220, 0, 21, 0, 0, 0, - 0, 136, 68, 0, 0, 2, 125, 220, 8, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 126, 220, 16, 21, 0, 0, 0, - 0, 136, 68, 0, 0, 2, 127, 220, 24, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 128, 220, 32, 21, 0, 0, 0, - 0, 136, 68, 0, 0, 2, 129, 220, 40, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 130, 220, 48, 21, 0, 0, 0, - 0, 136, 68, 0, 0, 2, 131, 220, 56, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 132, 220, 64, 21, 0, 0, 0, - 0, 136, 68, 0, 0, 2, 133, 220, 72, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 134, 220, 80, 21, 0, 0, 0, - 0, 136, 68, 0, 0, 2, 135, 220, 88, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 136, 220, 96, 21, 0, 0, 0, - 0, 136, 68, 0, 0, 2, 137, 220, 104, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 138, 220, 112, 21, 0, 0, - 0, 0, 136, 68, 0, 0, 2, 139, 220, 120, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 140, 220, 128, 21, 0, - 0, 0, 0, 136, 68, 0, 0, 2, 141, 220, 136, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 142, 220, 144, 21, - 0, 0, 0, 0, 136, 68, 0, 0, 2, 143, 220, 152, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 144, 220, 160, - 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 145, 220, 168, 0, 9, 33, 123, 3, 0, 32, 14, 9, 29, 0, 0, 14, - 45, 123, 3, 0, 0, 9, 50, 123, 3, 0, 20, 0, 0, 0, 0, 24, 2, 152, 220, 21, 0, 0, 0, 0, 136, 68, - 0, 0, 2, 153, 220, 0, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 154, 220, 8, 21, 0, 0, 0, 0, 136, 68, - 0, 0, 2, 155, 220, 16, 0, 9, 104, 123, 3, 0, 32, 14, 9, 29, 0, 0, 14, 121, 123, 3, 0, 14, 226, - 123, 3, 0, 0, 9, 126, 123, 3, 0, 20, 0, 0, 0, 0, 192, 2, 179, 220, 21, 0, 0, 0, 0, 136, 68, 0, - 0, 2, 180, 220, 0, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 181, 220, 8, 21, 0, 0, 0, 0, 136, 68, 0, - 0, 2, 182, 220, 16, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 183, 220, 24, 21, 0, 0, 0, 0, 214, 123, - 3, 0, 2, 184, 220, 32, 21, 0, 0, 0, 0, 214, 123, 3, 0, 2, 185, 220, 112, 0, 3, 136, 68, 0, 0, - 4, 82, 0, 0, 0, 10, 0, 9, 231, 123, 3, 0, 9, 236, 123, 3, 0, 26, 241, 123, 3, 0, 20, 0, 0, 0, - 0, 4, 2, 174, 220, 21, 0, 0, 0, 0, 177, 69, 0, 0, 2, 175, 220, 0, 21, 0, 0, 0, 0, 177, 69, 0, - 0, 2, 176, 220, 2, 0, 9, 26, 124, 3, 0, 26, 31, 124, 3, 0, 20, 0, 0, 0, 0, 32, 2, 28, 51, 21, - 0, 0, 0, 0, 93, 124, 3, 0, 2, 29, 51, 0, 21, 0, 0, 0, 0, 109, 124, 3, 0, 2, 30, 51, 8, 21, 0, - 0, 0, 0, 135, 124, 3, 0, 2, 31, 51, 16, 21, 0, 0, 0, 0, 166, 124, 3, 0, 2, 32, 51, 24, 0, 9, - 98, 124, 3, 0, 13, 125, 68, 0, 0, 14, 162, 19, 0, 0, 0, 9, 114, 124, 3, 0, 13, 94, 34, 0, 0, - 14, 9, 29, 0, 0, 14, 94, 34, 0, 0, 14, 177, 69, 0, 0, 0, 9, 140, 124, 3, 0, 13, 94, 34, 0, 0, - 14, 9, 29, 0, 0, 14, 140, 40, 0, 0, 14, 94, 34, 0, 0, 14, 177, 69, 0, 0, 0, 9, 171, 124, 3, 0, - 13, 65, 166, 1, 0, 14, 162, 19, 0, 0, 14, 187, 124, 3, 0, 0, 9, 179, 149, 1, 0, 9, 197, 124, 3, - 0, 26, 202, 124, 3, 0, 20, 0, 0, 0, 0, 48, 2, 41, 51, 21, 0, 0, 0, 0, 34, 125, 3, 0, 2, 42, 51, - 0, 21, 0, 0, 0, 0, 50, 125, 3, 0, 2, 43, 51, 8, 21, 0, 0, 0, 0, 234, 125, 3, 0, 2, 44, 51, 16, - 21, 0, 0, 0, 0, 20, 126, 3, 0, 2, 45, 51, 24, 21, 0, 0, 0, 0, 61, 126, 3, 0, 2, 46, 51, 32, 21, - 0, 0, 0, 0, 88, 126, 3, 0, 2, 47, 51, 40, 0, 9, 39, 125, 3, 0, 13, 168, 0, 0, 0, 14, 118, 55, - 0, 0, 0, 9, 55, 125, 3, 0, 13, 168, 0, 0, 0, 14, 162, 19, 0, 0, 14, 76, 125, 3, 0, 14, 117, - 125, 3, 0, 0, 9, 81, 125, 3, 0, 20, 0, 0, 0, 0, 2, 2, 22, 54, 21, 0, 0, 0, 0, 129, 55, 0, 0, 2, - 23, 54, 0, 21, 0, 0, 0, 0, 129, 55, 0, 0, 2, 24, 54, 1, 0, 9, 122, 125, 3, 0, 20, 0, 0, 0, 0, - 176, 2, 27, 54, 21, 0, 0, 0, 0, 210, 125, 3, 0, 2, 28, 54, 0, 21, 0, 0, 0, 0, 76, 125, 3, 0, 2, - 29, 54, 120, 21, 0, 0, 0, 0, 76, 125, 3, 0, 2, 30, 54, 128, 21, 0, 0, 0, 0, 76, 125, 3, 0, 2, - 31, 54, 136, 21, 0, 0, 0, 0, 76, 125, 3, 0, 2, 32, 54, 144, 21, 0, 0, 0, 0, 222, 125, 3, 0, 2, - 33, 54, 152, 0, 3, 76, 125, 3, 0, 4, 82, 0, 0, 0, 15, 0, 3, 76, 125, 3, 0, 4, 82, 0, 0, 0, 3, - 0, 9, 239, 125, 3, 0, 32, 14, 162, 19, 0, 0, 14, 12, 179, 1, 0, 14, 125, 68, 0, 0, 14, 118, 55, - 0, 0, 14, 10, 126, 3, 0, 0, 9, 15, 126, 3, 0, 26, 122, 125, 3, 0, 9, 25, 126, 3, 0, 13, 168, 0, - 0, 0, 14, 162, 19, 0, 0, 14, 118, 55, 0, 0, 14, 12, 179, 1, 0, 14, 254, 70, 2, 0, 14, 56, 126, - 3, 0, 0, 9, 254, 70, 2, 0, 9, 66, 126, 3, 0, 32, 14, 162, 19, 0, 0, 14, 94, 34, 0, 0, 14, 118, - 55, 0, 0, 14, 97, 22, 3, 0, 0, 9, 93, 126, 3, 0, 32, 14, 115, 125, 1, 0, 14, 9, 29, 0, 0, 14, - 155, 126, 3, 0, 14, 178, 200, 1, 0, 14, 83, 208, 1, 0, 14, 168, 0, 0, 0, 14, 125, 68, 0, 0, 14, - 219, 52, 0, 0, 14, 219, 52, 0, 0, 14, 0, 1, 0, 0, 14, 125, 68, 0, 0, 14, 219, 52, 0, 0, 0, 9, - 160, 126, 3, 0, 26, 165, 126, 3, 0, 20, 0, 0, 0, 0, 32, 2, 36, 54, 21, 0, 0, 0, 0, 129, 55, 0, - 0, 2, 37, 54, 0, 21, 0, 0, 0, 0, 129, 55, 0, 0, 2, 38, 54, 1, 21, 0, 0, 0, 0, 129, 55, 0, 0, 2, - 39, 54, 2, 34, 0, 0, 0, 0, 129, 55, 0, 0, 2, 40, 54, 1, 6, 2, 3, 34, 0, 0, 0, 0, 129, 55, 0, 0, - 2, 41, 54, 1, 1, 1, 3, 34, 0, 0, 0, 0, 129, 55, 0, 0, 2, 42, 54, 1, 1, 0, 3, 21, 0, 0, 0, 0, - 190, 48, 0, 0, 2, 43, 54, 4, 21, 0, 0, 0, 0, 190, 48, 0, 0, 2, 44, 54, 8, 21, 0, 0, 0, 0, 190, - 48, 0, 0, 2, 45, 54, 12, 21, 0, 0, 0, 0, 11, 150, 1, 0, 2, 46, 54, 16, 0, 9, 63, 127, 3, 0, 26, - 68, 127, 3, 0, 20, 0, 0, 0, 0, 40, 2, 243, 49, 21, 0, 0, 0, 0, 64, 176, 1, 0, 2, 244, 49, 0, - 21, 0, 0, 0, 0, 80, 176, 1, 0, 2, 245, 49, 8, 21, 0, 0, 0, 0, 80, 176, 1, 0, 2, 246, 49, 16, - 21, 0, 0, 0, 0, 143, 127, 3, 0, 2, 247, 49, 24, 21, 0, 0, 0, 0, 80, 176, 1, 0, 2, 248, 49, 32, - 0, 9, 148, 127, 3, 0, 13, 219, 52, 0, 0, 14, 94, 34, 0, 0, 14, 71, 167, 1, 0, 0, 9, 169, 127, - 3, 0, 26, 174, 127, 3, 0, 20, 0, 0, 0, 0, 24, 2, 59, 51, 21, 0, 0, 0, 0, 223, 127, 3, 0, 2, 60, - 51, 0, 21, 0, 0, 0, 0, 76, 128, 3, 0, 2, 61, 51, 8, 21, 0, 0, 0, 0, 53, 132, 3, 0, 2, 62, 51, - 16, 0, 9, 228, 127, 3, 0, 13, 168, 0, 0, 0, 14, 9, 29, 0, 0, 14, 140, 40, 0, 0, 14, 3, 128, 3, - 0, 14, 29, 128, 3, 0, 14, 125, 68, 0, 0, 0, 17, 11, 1, 0, 0, 0, 0, 0, 0, 4, 2, 50, 51, 18, 0, - 0, 0, 0, 0, 18, 0, 0, 0, 0, 1, 0, 9, 34, 128, 3, 0, 47, 0, 0, 0, 0, 4, 2, 59, 178, 1, 0, 48, 0, - 0, 0, 0, 214, 48, 0, 0, 2, 60, 178, 1, 0, 0, 48, 0, 0, 0, 0, 214, 48, 0, 0, 2, 61, 178, 1, 0, - 2, 0, 9, 81, 128, 3, 0, 32, 14, 9, 29, 0, 0, 14, 98, 128, 3, 0, 14, 3, 128, 3, 0, 0, 9, 103, - 128, 3, 0, 50, 0, 0, 0, 0, 72, 1, 2, 130, 178, 1, 0, 48, 0, 0, 0, 0, 229, 129, 3, 0, 2, 131, - 178, 1, 0, 0, 49, 0, 0, 0, 0, 118, 55, 0, 0, 2, 132, 178, 1, 0, 1, 3, 5, 20, 49, 0, 0, 0, 0, - 118, 55, 0, 0, 2, 133, 178, 1, 0, 1, 3, 2, 20, 48, 0, 0, 0, 0, 162, 52, 0, 0, 2, 134, 178, 1, - 0, 24, 48, 0, 0, 0, 0, 23, 53, 0, 0, 2, 135, 178, 1, 0, 32, 48, 0, 0, 0, 0, 255, 0, 0, 0, 2, - 136, 178, 1, 0, 40, 48, 0, 0, 0, 0, 255, 0, 0, 0, 2, 137, 178, 1, 0, 48, 48, 0, 0, 0, 0, 9, 29, - 0, 0, 2, 138, 178, 1, 0, 56, 48, 0, 0, 0, 0, 135, 130, 3, 0, 2, 139, 178, 1, 0, 64, 48, 0, 0, - 0, 0, 135, 130, 3, 0, 2, 140, 178, 1, 0, 80, 48, 0, 0, 0, 0, 235, 239, 0, 0, 2, 141, 178, 1, 0, - 96, 48, 0, 0, 0, 0, 177, 69, 0, 0, 2, 142, 178, 1, 0, 104, 48, 0, 0, 0, 0, 219, 52, 0, 0, 2, - 143, 178, 1, 0, 106, 48, 0, 0, 0, 0, 219, 52, 0, 0, 2, 144, 178, 1, 0, 107, 48, 0, 0, 0, 0, - 241, 106, 0, 0, 2, 145, 178, 1, 0, 112, 48, 0, 0, 0, 0, 127, 29, 0, 0, 2, 146, 178, 1, 0, 144, - 48, 0, 0, 0, 0, 12, 49, 0, 0, 2, 147, 178, 1, 0, 152, 48, 0, 0, 0, 0, 140, 40, 0, 0, 2, 148, - 178, 1, 0, 160, 48, 0, 0, 0, 0, 23, 53, 0, 0, 2, 149, 178, 1, 0, 168, 48, 0, 0, 0, 0, 177, 130, - 3, 0, 2, 150, 178, 1, 0, 176, 48, 0, 0, 0, 0, 177, 130, 3, 0, 2, 151, 178, 1, 0, 232, 53, 0, 0, - 0, 0, 227, 28, 0, 0, 2, 152, 178, 1, 0, 32, 1, 53, 0, 0, 0, 0, 141, 64, 0, 0, 2, 153, 178, 1, - 0, 48, 1, 53, 0, 0, 0, 0, 65, 29, 0, 0, 2, 154, 178, 1, 0, 56, 1, 0, 47, 0, 0, 0, 0, 20, 2, - 117, 178, 1, 0, 48, 0, 0, 0, 0, 177, 69, 0, 0, 2, 118, 178, 1, 0, 0, 48, 0, 0, 0, 0, 177, 69, - 0, 0, 2, 119, 178, 1, 0, 2, 48, 0, 0, 0, 0, 177, 69, 0, 0, 2, 120, 178, 1, 0, 4, 48, 0, 0, 0, - 0, 177, 69, 0, 0, 2, 121, 178, 1, 0, 6, 48, 0, 0, 0, 0, 177, 69, 0, 0, 2, 122, 178, 1, 0, 8, - 48, 0, 0, 0, 0, 177, 69, 0, 0, 2, 123, 178, 1, 0, 10, 48, 0, 0, 0, 0, 177, 69, 0, 0, 2, 124, - 178, 1, 0, 12, 48, 0, 0, 0, 0, 177, 69, 0, 0, 2, 125, 178, 1, 0, 14, 48, 0, 0, 0, 0, 177, 69, - 0, 0, 2, 126, 178, 1, 0, 16, 48, 0, 0, 0, 0, 177, 69, 0, 0, 2, 127, 178, 1, 0, 18, 0, 47, 0, 0, - 0, 0, 16, 2, 103, 178, 1, 0, 48, 0, 0, 0, 0, 199, 53, 0, 0, 2, 104, 178, 1, 0, 0, 48, 0, 0, 0, - 0, 199, 53, 0, 0, 2, 105, 178, 1, 0, 8, 0, 58, 0, 0, 0, 0, 56, 2, 108, 178, 1, 0, 48, 0, 0, 0, - 0, 34, 128, 3, 0, 2, 109, 178, 1, 0, 0, 51, 214, 130, 3, 0, 2, 110, 178, 1, 0, 0, 59, 56, 2, - 110, 178, 1, 0, 48, 0, 0, 0, 0, 12, 131, 3, 0, 2, 111, 178, 1, 0, 0, 48, 0, 0, 0, 0, 135, 131, - 3, 0, 2, 112, 178, 1, 0, 0, 48, 0, 0, 0, 0, 222, 131, 3, 0, 2, 113, 178, 1, 0, 0, 0, 0, 47, 0, - 0, 0, 0, 40, 2, 64, 178, 1, 0, 48, 0, 0, 0, 0, 34, 128, 3, 0, 2, 65, 178, 1, 0, 0, 48, 0, 0, 0, - 0, 99, 131, 3, 0, 2, 66, 178, 1, 0, 4, 48, 0, 0, 0, 0, 111, 131, 3, 0, 2, 67, 178, 1, 0, 12, - 48, 0, 0, 0, 0, 123, 131, 3, 0, 2, 68, 178, 1, 0, 28, 48, 0, 0, 0, 0, 99, 131, 3, 0, 2, 69, - 178, 1, 0, 32, 0, 3, 5, 49, 0, 0, 4, 82, 0, 0, 0, 8, 0, 3, 5, 49, 0, 0, 4, 82, 0, 0, 0, 16, 0, - 3, 5, 49, 0, 0, 4, 82, 0, 0, 0, 4, 0, 47, 0, 0, 0, 0, 56, 2, 72, 178, 1, 0, 48, 0, 0, 0, 0, 34, - 128, 3, 0, 2, 73, 178, 1, 0, 0, 48, 0, 0, 0, 0, 99, 131, 3, 0, 2, 74, 178, 1, 0, 4, 48, 0, 0, - 0, 0, 157, 68, 0, 0, 2, 75, 178, 1, 0, 12, 48, 0, 0, 0, 0, 123, 131, 3, 0, 2, 76, 178, 1, 0, - 44, 48, 0, 0, 0, 0, 99, 131, 3, 0, 2, 77, 178, 1, 0, 48, 0, 47, 0, 0, 0, 0, 56, 2, 80, 178, 1, - 0, 48, 0, 0, 0, 0, 34, 128, 3, 0, 2, 81, 178, 1, 0, 0, 48, 0, 0, 0, 0, 57, 70, 2, 0, 2, 82, - 178, 1, 0, 4, 48, 0, 0, 0, 0, 157, 68, 0, 0, 2, 83, 178, 1, 0, 16, 48, 0, 0, 0, 0, 48, 128, 2, - 0, 2, 84, 178, 1, 0, 48, 48, 0, 0, 0, 0, 99, 131, 3, 0, 2, 85, 178, 1, 0, 48, 0, 9, 58, 132, 3, - 0, 13, 168, 0, 0, 0, 14, 9, 29, 0, 0, 14, 140, 40, 0, 0, 14, 125, 68, 0, 0, 14, 254, 70, 2, 0, - 14, 3, 128, 3, 0, 0, 9, 94, 132, 3, 0, 26, 99, 132, 3, 0, 20, 0, 0, 0, 0, 48, 2, 247, 48, 21, - 0, 0, 0, 0, 187, 132, 3, 0, 2, 248, 48, 0, 21, 0, 0, 0, 0, 228, 132, 3, 0, 2, 249, 48, 8, 21, - 0, 0, 0, 0, 249, 132, 3, 0, 2, 250, 48, 16, 21, 0, 0, 0, 0, 24, 133, 3, 0, 2, 251, 48, 24, 21, - 0, 0, 0, 0, 46, 133, 3, 0, 2, 252, 48, 32, 21, 0, 0, 0, 0, 67, 133, 3, 0, 2, 253, 48, 40, 0, 9, - 192, 132, 3, 0, 13, 168, 0, 0, 0, 14, 94, 34, 0, 0, 14, 9, 29, 0, 0, 14, 225, 48, 0, 0, 14, 56, - 1, 0, 0, 14, 56, 1, 0, 0, 14, 11, 1, 0, 0, 0, 9, 233, 132, 3, 0, 13, 168, 0, 0, 0, 14, 98, 212, - 1, 0, 14, 148, 245, 1, 0, 0, 9, 254, 132, 3, 0, 13, 168, 0, 0, 0, 14, 89, 182, 1, 0, 14, 19, - 133, 3, 0, 14, 244, 48, 0, 0, 0, 9, 10, 185, 1, 0, 9, 29, 133, 3, 0, 32, 14, 19, 133, 3, 0, 14, - 162, 19, 0, 0, 14, 147, 68, 0, 0, 0, 9, 51, 133, 3, 0, 13, 219, 52, 0, 0, 14, 14, 29, 0, 0, 14, - 11, 1, 0, 0, 0, 9, 72, 133, 3, 0, 13, 244, 48, 0, 0, 14, 98, 212, 1, 0, 0, 20, 0, 0, 0, 0, 32, - 2, 46, 43, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 47, 43, 0, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 48, - 43, 16, 21, 0, 0, 0, 0, 220, 96, 0, 0, 2, 49, 43, 24, 0, 9, 137, 133, 3, 0, 47, 0, 0, 0, 0, - 200, 2, 29, 216, 1, 0, 48, 0, 0, 0, 0, 9, 29, 0, 0, 2, 30, 216, 1, 0, 0, 48, 0, 0, 0, 0, 224, - 133, 3, 0, 2, 31, 216, 1, 0, 8, 48, 0, 0, 0, 0, 227, 28, 0, 0, 2, 32, 216, 1, 0, 160, 48, 0, 0, - 0, 0, 11, 1, 0, 0, 2, 33, 216, 1, 0, 176, 48, 0, 0, 0, 0, 65, 29, 0, 0, 2, 34, 216, 1, 0, 184, - 0, 47, 0, 0, 0, 0, 152, 2, 23, 216, 1, 0, 48, 0, 0, 0, 0, 11, 1, 0, 0, 2, 24, 216, 1, 0, 0, 48, - 0, 0, 0, 0, 184, 28, 0, 0, 2, 25, 216, 1, 0, 8, 48, 0, 0, 0, 0, 25, 134, 3, 0, 2, 26, 216, 1, - 0, 24, 0, 3, 37, 134, 3, 0, 4, 82, 0, 0, 0, 16, 0, 9, 9, 29, 0, 0, 9, 47, 134, 3, 0, 50, 0, 0, - 0, 0, 32, 2, 2, 105, 167, 1, 0, 51, 70, 134, 3, 0, 2, 106, 167, 1, 0, 0, 59, 8, 2, 106, 167, 1, - 0, 48, 0, 0, 0, 0, 9, 29, 0, 0, 2, 107, 167, 1, 0, 0, 48, 0, 0, 0, 0, 9, 29, 0, 0, 2, 108, 167, - 1, 0, 0, 0, 48, 0, 0, 0, 0, 96, 136, 3, 0, 2, 110, 167, 1, 0, 8, 48, 0, 0, 0, 0, 190, 137, 3, - 0, 2, 111, 167, 1, 0, 16, 48, 0, 0, 0, 0, 238, 136, 3, 0, 2, 112, 167, 1, 0, 24, 48, 0, 0, 0, - 0, 168, 134, 3, 0, 2, 118, 167, 1, 0, 32, 64, 11, 1, 0, 0, 4, 2, 113, 167, 1, 0, 18, 0, 0, 0, - 0, 0, 18, 0, 0, 0, 0, 1, 18, 0, 0, 0, 0, 2, 18, 0, 0, 0, 0, 3, 0, 48, 0, 0, 0, 0, 154, 139, 3, - 0, 2, 119, 167, 1, 0, 40, 48, 0, 0, 0, 0, 11, 1, 0, 0, 2, 120, 167, 1, 0, 48, 48, 0, 0, 0, 0, - 14, 29, 0, 0, 2, 121, 167, 1, 0, 56, 48, 0, 0, 0, 0, 42, 134, 3, 0, 2, 122, 167, 1, 0, 64, 48, - 0, 0, 0, 0, 21, 60, 3, 0, 2, 123, 167, 1, 0, 72, 48, 0, 0, 0, 0, 193, 192, 0, 0, 2, 124, 167, - 1, 0, 80, 48, 0, 0, 0, 0, 11, 1, 0, 0, 2, 125, 167, 1, 0, 88, 48, 0, 0, 0, 0, 219, 52, 0, 0, 2, - 126, 167, 1, 0, 92, 48, 0, 0, 0, 0, 219, 52, 0, 0, 2, 127, 167, 1, 0, 93, 48, 0, 0, 0, 0, 118, - 55, 0, 0, 2, 128, 167, 1, 0, 94, 48, 0, 0, 0, 0, 9, 29, 0, 0, 2, 129, 167, 1, 0, 96, 48, 0, 0, - 0, 0, 168, 0, 0, 0, 2, 130, 167, 1, 0, 104, 48, 0, 0, 0, 0, 172, 75, 3, 0, 2, 131, 167, 1, 0, - 112, 53, 0, 0, 0, 0, 219, 52, 0, 0, 2, 132, 167, 1, 0, 144, 1, 53, 0, 0, 0, 0, 6, 172, 3, 0, 2, - 133, 167, 1, 0, 152, 1, 53, 0, 0, 0, 0, 50, 196, 3, 0, 2, 134, 167, 1, 0, 160, 1, 53, 0, 0, 0, - 0, 9, 29, 0, 0, 2, 135, 167, 1, 0, 184, 1, 53, 0, 0, 0, 0, 219, 52, 0, 0, 2, 136, 167, 1, 0, - 192, 1, 53, 0, 0, 0, 0, 9, 29, 0, 0, 2, 137, 167, 1, 0, 200, 1, 53, 0, 0, 0, 0, 227, 28, 0, 0, - 2, 138, 167, 1, 0, 208, 1, 53, 0, 0, 0, 0, 255, 0, 0, 0, 2, 139, 167, 1, 0, 224, 1, 53, 0, 0, - 0, 0, 101, 99, 3, 0, 2, 140, 167, 1, 0, 232, 1, 53, 0, 0, 0, 0, 202, 196, 3, 0, 2, 141, 167, 1, - 0, 240, 1, 53, 0, 0, 0, 0, 227, 28, 0, 0, 2, 142, 167, 1, 0, 248, 1, 53, 0, 0, 0, 0, 227, 28, - 0, 0, 2, 143, 167, 1, 0, 8, 2, 53, 0, 0, 0, 0, 219, 52, 0, 0, 2, 144, 167, 1, 0, 24, 2, 0, 9, - 101, 136, 3, 0, 26, 106, 136, 3, 0, 47, 0, 0, 0, 0, 48, 2, 106, 170, 1, 0, 48, 0, 0, 0, 0, 238, - 136, 3, 0, 2, 107, 170, 1, 0, 0, 48, 0, 0, 0, 0, 238, 136, 3, 0, 2, 108, 170, 1, 0, 8, 48, 0, - 0, 0, 0, 3, 137, 3, 0, 2, 109, 170, 1, 0, 16, 48, 0, 0, 0, 0, 11, 1, 0, 0, 2, 110, 170, 1, 0, - 24, 48, 0, 0, 0, 0, 11, 1, 0, 0, 2, 111, 170, 1, 0, 28, 48, 0, 0, 0, 0, 14, 29, 0, 0, 2, 112, - 170, 1, 0, 32, 48, 0, 0, 0, 0, 30, 137, 3, 0, 2, 113, 170, 1, 0, 40, 48, 0, 0, 0, 0, 219, 52, - 0, 0, 2, 114, 170, 1, 0, 44, 0, 9, 243, 136, 3, 0, 13, 94, 34, 0, 0, 14, 94, 34, 0, 0, 14, 9, - 29, 0, 0, 0, 9, 8, 137, 3, 0, 32, 14, 98, 212, 1, 0, 14, 25, 137, 3, 0, 14, 214, 52, 0, 0, 0, - 9, 244, 48, 0, 0, 19, 11, 1, 0, 0, 0, 0, 0, 0, 4, 2, 79, 170, 1, 0, 18, 0, 0, 0, 0, 0, 18, 0, - 0, 0, 0, 1, 18, 0, 0, 0, 0, 22, 18, 0, 0, 0, 0, 2, 18, 0, 0, 0, 0, 3, 18, 0, 0, 0, 0, 4, 18, 0, - 0, 0, 0, 5, 18, 0, 0, 0, 0, 6, 18, 0, 0, 0, 0, 7, 18, 0, 0, 0, 0, 8, 18, 0, 0, 0, 0, 9, 18, 0, - 0, 0, 0, 10, 18, 0, 0, 0, 0, 11, 18, 0, 0, 0, 0, 12, 18, 0, 0, 0, 0, 13, 18, 0, 0, 0, 0, 14, - 18, 0, 0, 0, 0, 15, 18, 0, 0, 0, 0, 16, 18, 0, 0, 0, 0, 17, 18, 0, 0, 0, 0, 18, 18, 0, 0, 0, 0, - 19, 18, 0, 0, 0, 0, 20, 18, 0, 0, 0, 0, 21, 18, 0, 0, 0, 0, 23, 0, 9, 195, 137, 3, 0, 47, 0, 0, - 0, 0, 112, 2, 121, 170, 1, 0, 48, 0, 0, 0, 0, 227, 28, 0, 0, 2, 122, 170, 1, 0, 0, 48, 0, 0, 0, - 0, 57, 131, 1, 0, 2, 123, 170, 1, 0, 16, 48, 0, 0, 0, 0, 11, 1, 0, 0, 2, 124, 170, 1, 0, 24, - 48, 0, 0, 0, 0, 80, 110, 0, 0, 2, 125, 170, 1, 0, 28, 48, 0, 0, 0, 0, 219, 52, 0, 0, 2, 126, - 170, 1, 0, 32, 48, 0, 0, 0, 0, 96, 136, 3, 0, 2, 127, 170, 1, 0, 40, 48, 0, 0, 0, 0, 30, 137, - 3, 0, 2, 128, 170, 1, 0, 48, 48, 0, 0, 0, 0, 146, 138, 3, 0, 2, 129, 170, 1, 0, 56, 48, 0, 0, - 0, 0, 227, 28, 0, 0, 2, 130, 170, 1, 0, 64, 48, 0, 0, 0, 0, 227, 28, 0, 0, 2, 131, 170, 1, 0, - 80, 48, 0, 0, 0, 0, 37, 134, 3, 0, 2, 132, 170, 1, 0, 96, 48, 0, 0, 0, 0, 11, 1, 0, 0, 2, 133, - 170, 1, 0, 104, 48, 0, 0, 0, 0, 11, 1, 0, 0, 2, 134, 170, 1, 0, 108, 0, 9, 151, 138, 3, 0, 47, - 0, 0, 0, 0, 32, 2, 173, 168, 1, 0, 48, 0, 0, 0, 0, 203, 173, 0, 0, 2, 174, 168, 1, 0, 0, 48, 0, - 0, 0, 0, 9, 29, 0, 0, 2, 175, 168, 1, 0, 8, 48, 0, 0, 0, 0, 168, 0, 0, 0, 2, 176, 168, 1, 0, - 16, 48, 0, 0, 0, 0, 223, 138, 3, 0, 2, 177, 168, 1, 0, 24, 0, 9, 228, 138, 3, 0, 50, 0, 0, 0, - 0, 72, 1, 2, 162, 168, 1, 0, 48, 0, 0, 0, 0, 203, 173, 0, 0, 2, 163, 168, 1, 0, 0, 48, 0, 0, 0, - 0, 168, 0, 0, 0, 2, 164, 168, 1, 0, 8, 48, 0, 0, 0, 0, 106, 139, 3, 0, 2, 165, 168, 1, 0, 16, - 48, 0, 0, 0, 0, 168, 0, 0, 0, 2, 166, 168, 1, 0, 112, 48, 0, 0, 0, 0, 193, 192, 0, 0, 2, 167, - 168, 1, 0, 120, 48, 0, 0, 0, 0, 118, 139, 3, 0, 2, 168, 168, 1, 0, 128, 48, 0, 0, 0, 0, 130, - 139, 3, 0, 2, 169, 168, 1, 0, 224, 53, 0, 0, 0, 0, 142, 139, 3, 0, 2, 170, 168, 1, 0, 64, 1, 0, - 3, 203, 173, 0, 0, 4, 82, 0, 0, 0, 12, 0, 3, 199, 53, 0, 0, 4, 82, 0, 0, 0, 12, 0, 3, 193, 192, - 0, 0, 4, 82, 0, 0, 0, 12, 0, 3, 71, 43, 1, 0, 4, 82, 0, 0, 0, 4, 0, 9, 159, 139, 3, 0, 47, 0, - 0, 0, 0, 152, 2, 151, 170, 1, 0, 48, 0, 0, 0, 0, 219, 52, 0, 0, 2, 152, 170, 1, 0, 0, 48, 0, 0, - 0, 0, 203, 173, 0, 0, 2, 153, 170, 1, 0, 8, 48, 0, 0, 0, 0, 190, 137, 3, 0, 2, 154, 170, 1, 0, - 16, 48, 0, 0, 0, 0, 11, 1, 0, 0, 2, 155, 170, 1, 0, 24, 48, 0, 0, 0, 0, 131, 191, 0, 0, 2, 156, - 170, 1, 0, 32, 48, 0, 0, 0, 0, 255, 0, 0, 0, 2, 157, 170, 1, 0, 56, 48, 0, 0, 0, 0, 223, 138, - 3, 0, 2, 158, 170, 1, 0, 64, 48, 0, 0, 0, 0, 49, 141, 3, 0, 2, 159, 170, 1, 0, 72, 48, 0, 0, 0, - 0, 125, 68, 0, 0, 2, 160, 170, 1, 0, 80, 48, 0, 0, 0, 0, 255, 152, 3, 0, 2, 161, 170, 1, 0, 88, - 48, 0, 0, 0, 0, 11, 1, 0, 0, 2, 162, 170, 1, 0, 96, 48, 0, 0, 0, 0, 11, 1, 0, 0, 2, 163, 170, - 1, 0, 100, 48, 0, 0, 0, 0, 40, 196, 3, 0, 2, 164, 170, 1, 0, 104, 48, 0, 0, 0, 0, 176, 76, 3, - 0, 2, 165, 170, 1, 0, 112, 48, 0, 0, 0, 0, 11, 1, 0, 0, 2, 166, 170, 1, 0, 120, 48, 0, 0, 0, 0, - 219, 52, 0, 0, 2, 167, 170, 1, 0, 124, 48, 0, 0, 0, 0, 219, 52, 0, 0, 2, 168, 170, 1, 0, 125, - 48, 0, 0, 0, 0, 219, 52, 0, 0, 2, 169, 170, 1, 0, 126, 48, 0, 0, 0, 0, 219, 52, 0, 0, 2, 170, - 170, 1, 0, 127, 48, 0, 0, 0, 0, 219, 52, 0, 0, 2, 171, 170, 1, 0, 128, 48, 0, 0, 0, 0, 219, 52, - 0, 0, 2, 172, 170, 1, 0, 129, 48, 0, 0, 0, 0, 219, 52, 0, 0, 2, 173, 170, 1, 0, 130, 48, 0, 0, - 0, 0, 219, 52, 0, 0, 2, 174, 170, 1, 0, 131, 48, 0, 0, 0, 0, 11, 1, 0, 0, 2, 175, 170, 1, 0, - 132, 48, 0, 0, 0, 0, 11, 1, 0, 0, 2, 176, 170, 1, 0, 136, 48, 0, 0, 0, 0, 140, 55, 0, 0, 2, - 177, 170, 1, 0, 144, 0, 9, 54, 141, 3, 0, 26, 59, 141, 3, 0, 50, 0, 0, 0, 0, 40, 3, 2, 184, - 170, 1, 0, 48, 0, 0, 0, 0, 120, 147, 3, 0, 2, 185, 170, 1, 0, 0, 48, 0, 0, 0, 0, 146, 147, 3, - 0, 2, 186, 170, 1, 0, 8, 48, 0, 0, 0, 0, 172, 147, 3, 0, 2, 187, 170, 1, 0, 16, 48, 0, 0, 0, 0, - 188, 147, 3, 0, 2, 188, 170, 1, 0, 24, 48, 0, 0, 0, 0, 200, 147, 3, 0, 2, 189, 170, 1, 0, 32, - 48, 0, 0, 0, 0, 221, 147, 3, 0, 2, 190, 170, 1, 0, 40, 48, 0, 0, 0, 0, 238, 147, 3, 0, 2, 191, - 170, 1, 0, 48, 48, 0, 0, 0, 0, 3, 148, 3, 0, 2, 192, 170, 1, 0, 56, 48, 0, 0, 0, 0, 29, 148, 3, - 0, 2, 193, 170, 1, 0, 64, 48, 0, 0, 0, 0, 60, 148, 3, 0, 2, 194, 170, 1, 0, 72, 48, 0, 0, 0, 0, - 6, 173, 3, 0, 2, 195, 170, 1, 0, 80, 48, 0, 0, 0, 0, 38, 173, 3, 0, 2, 196, 170, 1, 0, 88, 48, - 0, 0, 0, 0, 226, 173, 3, 0, 2, 197, 170, 1, 0, 96, 48, 0, 0, 0, 0, 252, 173, 3, 0, 2, 198, 170, - 1, 0, 104, 48, 0, 0, 0, 0, 221, 147, 3, 0, 2, 199, 170, 1, 0, 112, 48, 0, 0, 0, 0, 33, 174, 3, - 0, 2, 200, 170, 1, 0, 120, 48, 0, 0, 0, 0, 60, 174, 3, 0, 2, 201, 170, 1, 0, 128, 48, 0, 0, 0, - 0, 112, 174, 3, 0, 2, 202, 170, 1, 0, 136, 48, 0, 0, 0, 0, 134, 174, 3, 0, 2, 203, 170, 1, 0, - 144, 48, 0, 0, 0, 0, 178, 174, 3, 0, 2, 204, 170, 1, 0, 152, 48, 0, 0, 0, 0, 3, 148, 3, 0, 2, - 205, 170, 1, 0, 160, 48, 0, 0, 0, 0, 178, 174, 3, 0, 2, 206, 170, 1, 0, 168, 48, 0, 0, 0, 0, - 205, 174, 3, 0, 2, 207, 170, 1, 0, 176, 48, 0, 0, 0, 0, 227, 174, 3, 0, 2, 208, 170, 1, 0, 184, - 48, 0, 0, 0, 0, 254, 174, 3, 0, 2, 209, 170, 1, 0, 192, 48, 0, 0, 0, 0, 20, 175, 3, 0, 2, 210, - 170, 1, 0, 200, 48, 0, 0, 0, 0, 46, 175, 3, 0, 2, 211, 170, 1, 0, 208, 48, 0, 0, 0, 0, 172, - 147, 3, 0, 2, 212, 170, 1, 0, 216, 48, 0, 0, 0, 0, 172, 147, 3, 0, 2, 213, 170, 1, 0, 224, 48, - 0, 0, 0, 0, 72, 175, 3, 0, 2, 214, 170, 1, 0, 232, 48, 0, 0, 0, 0, 221, 147, 3, 0, 2, 215, 170, - 1, 0, 240, 48, 0, 0, 0, 0, 98, 175, 3, 0, 2, 216, 170, 1, 0, 248, 53, 0, 0, 0, 0, 98, 175, 3, - 0, 2, 217, 170, 1, 0, 0, 1, 53, 0, 0, 0, 0, 172, 147, 3, 0, 2, 218, 170, 1, 0, 8, 1, 53, 0, 0, - 0, 0, 124, 175, 3, 0, 2, 219, 170, 1, 0, 16, 1, 53, 0, 0, 0, 0, 124, 175, 3, 0, 2, 220, 170, 1, - 0, 24, 1, 53, 0, 0, 0, 0, 200, 147, 3, 0, 2, 221, 170, 1, 0, 32, 1, 53, 0, 0, 0, 0, 150, 175, - 3, 0, 2, 222, 170, 1, 0, 40, 1, 53, 0, 0, 0, 0, 177, 175, 3, 0, 2, 223, 170, 1, 0, 48, 1, 53, - 0, 0, 0, 0, 75, 176, 3, 0, 2, 224, 170, 1, 0, 56, 1, 53, 0, 0, 0, 0, 96, 176, 3, 0, 2, 225, - 170, 1, 0, 64, 1, 53, 0, 0, 0, 0, 122, 176, 3, 0, 2, 226, 170, 1, 0, 72, 1, 53, 0, 0, 0, 0, - 144, 176, 3, 0, 2, 227, 170, 1, 0, 80, 1, 53, 0, 0, 0, 0, 175, 176, 3, 0, 2, 228, 170, 1, 0, - 88, 1, 53, 0, 0, 0, 0, 202, 176, 3, 0, 2, 229, 170, 1, 0, 96, 1, 53, 0, 0, 0, 0, 221, 147, 3, - 0, 2, 230, 170, 1, 0, 104, 1, 53, 0, 0, 0, 0, 224, 176, 3, 0, 2, 231, 170, 1, 0, 112, 1, 53, 0, - 0, 0, 0, 224, 176, 3, 0, 2, 232, 170, 1, 0, 120, 1, 53, 0, 0, 0, 0, 41, 177, 3, 0, 2, 233, 170, - 1, 0, 128, 1, 53, 0, 0, 0, 0, 72, 177, 3, 0, 2, 234, 170, 1, 0, 136, 1, 53, 0, 0, 0, 0, 120, - 178, 3, 0, 2, 235, 170, 1, 0, 144, 1, 53, 0, 0, 0, 0, 146, 178, 3, 0, 2, 236, 170, 1, 0, 152, - 1, 53, 0, 0, 0, 0, 146, 178, 3, 0, 2, 237, 170, 1, 0, 160, 1, 53, 0, 0, 0, 0, 177, 178, 3, 0, - 2, 238, 170, 1, 0, 168, 1, 53, 0, 0, 0, 0, 253, 178, 3, 0, 2, 239, 170, 1, 0, 176, 1, 53, 0, 0, - 0, 0, 253, 178, 3, 0, 2, 240, 170, 1, 0, 184, 1, 53, 0, 0, 0, 0, 90, 179, 3, 0, 2, 241, 170, 1, - 0, 192, 1, 53, 0, 0, 0, 0, 121, 179, 3, 0, 2, 242, 170, 1, 0, 200, 1, 53, 0, 0, 0, 0, 147, 179, - 3, 0, 2, 243, 170, 1, 0, 208, 1, 53, 0, 0, 0, 0, 147, 179, 3, 0, 2, 244, 170, 1, 0, 216, 1, 53, - 0, 0, 0, 0, 147, 179, 3, 0, 2, 245, 170, 1, 0, 224, 1, 53, 0, 0, 0, 0, 111, 190, 3, 0, 2, 246, - 170, 1, 0, 232, 1, 53, 0, 0, 0, 0, 189, 190, 3, 0, 2, 247, 170, 1, 0, 240, 1, 53, 0, 0, 0, 0, - 211, 190, 3, 0, 2, 248, 170, 1, 0, 248, 1, 53, 0, 0, 0, 0, 221, 147, 3, 0, 2, 249, 170, 1, 0, - 0, 2, 53, 0, 0, 0, 0, 28, 191, 3, 0, 2, 250, 170, 1, 0, 8, 2, 53, 0, 0, 0, 0, 59, 191, 3, 0, 2, - 251, 170, 1, 0, 16, 2, 53, 0, 0, 0, 0, 95, 191, 3, 0, 2, 252, 170, 1, 0, 24, 2, 53, 0, 0, 0, 0, - 3, 148, 3, 0, 2, 253, 170, 1, 0, 32, 2, 53, 0, 0, 0, 0, 127, 191, 3, 0, 2, 254, 170, 1, 0, 40, - 2, 53, 0, 0, 0, 0, 70, 192, 3, 0, 2, 255, 170, 1, 0, 48, 2, 53, 0, 0, 0, 0, 101, 192, 3, 0, 2, - 0, 171, 1, 0, 56, 2, 53, 0, 0, 0, 0, 101, 192, 3, 0, 2, 1, 171, 1, 0, 64, 2, 53, 0, 0, 0, 0, - 127, 192, 3, 0, 2, 2, 171, 1, 0, 72, 2, 53, 0, 0, 0, 0, 149, 192, 3, 0, 2, 3, 171, 1, 0, 80, 2, - 53, 0, 0, 0, 0, 180, 192, 3, 0, 2, 4, 171, 1, 0, 88, 2, 53, 0, 0, 0, 0, 180, 192, 3, 0, 2, 5, - 171, 1, 0, 96, 2, 53, 0, 0, 0, 0, 130, 193, 3, 0, 2, 6, 171, 1, 0, 104, 2, 53, 0, 0, 0, 0, 156, - 193, 3, 0, 2, 7, 171, 1, 0, 112, 2, 53, 0, 0, 0, 0, 187, 193, 3, 0, 2, 8, 171, 1, 0, 120, 2, - 53, 0, 0, 0, 0, 228, 193, 3, 0, 2, 9, 171, 1, 0, 128, 2, 53, 0, 0, 0, 0, 8, 194, 3, 0, 2, 10, - 171, 1, 0, 136, 2, 53, 0, 0, 0, 0, 49, 194, 3, 0, 2, 11, 171, 1, 0, 144, 2, 53, 0, 0, 0, 0, 95, - 194, 3, 0, 2, 12, 171, 1, 0, 152, 2, 53, 0, 0, 0, 0, 75, 176, 3, 0, 2, 13, 171, 1, 0, 160, 2, - 53, 0, 0, 0, 0, 75, 176, 3, 0, 2, 14, 171, 1, 0, 168, 2, 53, 0, 0, 0, 0, 146, 194, 3, 0, 2, 15, - 171, 1, 0, 176, 2, 53, 0, 0, 0, 0, 187, 194, 3, 0, 2, 16, 171, 1, 0, 184, 2, 53, 0, 0, 0, 0, 3, - 148, 3, 0, 2, 17, 171, 1, 0, 192, 2, 53, 0, 0, 0, 0, 200, 147, 3, 0, 2, 18, 171, 1, 0, 200, 2, - 53, 0, 0, 0, 0, 200, 147, 3, 0, 2, 19, 171, 1, 0, 208, 2, 53, 0, 0, 0, 0, 233, 194, 3, 0, 2, - 20, 171, 1, 0, 216, 2, 53, 0, 0, 0, 0, 96, 176, 3, 0, 2, 21, 171, 1, 0, 224, 2, 53, 0, 0, 0, 0, - 96, 176, 3, 0, 2, 22, 171, 1, 0, 232, 2, 53, 0, 0, 0, 0, 96, 176, 3, 0, 2, 23, 171, 1, 0, 240, - 2, 53, 0, 0, 0, 0, 8, 195, 3, 0, 2, 24, 171, 1, 0, 248, 2, 53, 0, 0, 0, 0, 8, 195, 3, 0, 2, 25, - 171, 1, 0, 0, 3, 53, 0, 0, 0, 0, 131, 195, 3, 0, 2, 26, 171, 1, 0, 8, 3, 53, 0, 0, 0, 0, 131, - 195, 3, 0, 2, 27, 171, 1, 0, 16, 3, 53, 0, 0, 0, 0, 239, 195, 3, 0, 2, 28, 171, 1, 0, 24, 3, - 53, 0, 0, 0, 0, 14, 196, 3, 0, 2, 29, 171, 1, 0, 32, 3, 0, 9, 125, 147, 3, 0, 13, 30, 137, 3, - 0, 14, 154, 139, 3, 0, 14, 168, 0, 0, 0, 14, 30, 137, 3, 0, 0, 9, 151, 147, 3, 0, 13, 168, 0, - 0, 0, 14, 154, 139, 3, 0, 14, 168, 0, 0, 0, 14, 30, 137, 3, 0, 0, 9, 177, 147, 3, 0, 13, 168, - 0, 0, 0, 14, 154, 139, 3, 0, 0, 9, 193, 147, 3, 0, 32, 14, 154, 139, 3, 0, 0, 9, 205, 147, 3, - 0, 13, 168, 0, 0, 0, 14, 154, 139, 3, 0, 14, 168, 0, 0, 0, 0, 9, 226, 147, 3, 0, 32, 14, 154, - 139, 3, 0, 14, 168, 0, 0, 0, 0, 9, 243, 147, 3, 0, 13, 125, 68, 0, 0, 14, 154, 139, 3, 0, 14, - 168, 0, 0, 0, 0, 9, 8, 148, 3, 0, 13, 168, 0, 0, 0, 14, 154, 139, 3, 0, 14, 168, 0, 0, 0, 14, - 168, 0, 0, 0, 0, 9, 34, 148, 3, 0, 13, 168, 0, 0, 0, 14, 154, 139, 3, 0, 14, 168, 0, 0, 0, 14, - 168, 0, 0, 0, 14, 177, 69, 0, 0, 0, 9, 65, 148, 3, 0, 32, 14, 154, 139, 3, 0, 14, 168, 0, 0, 0, - 14, 82, 148, 3, 0, 0, 9, 87, 148, 3, 0, 50, 0, 0, 0, 0, 104, 5, 2, 146, 94, 1, 0, 48, 0, 0, 0, - 0, 51, 152, 3, 0, 2, 147, 94, 1, 0, 0, 53, 0, 0, 0, 0, 33, 156, 3, 0, 2, 148, 94, 1, 0, 80, 3, - 53, 0, 0, 0, 0, 125, 68, 0, 0, 2, 149, 94, 1, 0, 88, 3, 53, 0, 0, 0, 0, 153, 160, 3, 0, 2, 150, - 94, 1, 0, 92, 3, 55, 0, 0, 0, 0, 11, 1, 0, 0, 2, 151, 94, 1, 0, 4, 1, 31, 228, 3, 55, 0, 0, 0, - 0, 11, 1, 0, 0, 2, 152, 94, 1, 0, 4, 1, 30, 228, 3, 55, 0, 0, 0, 0, 11, 1, 0, 0, 2, 153, 94, 1, - 0, 4, 1, 29, 228, 3, 55, 0, 0, 0, 0, 11, 1, 0, 0, 2, 154, 94, 1, 0, 4, 1, 28, 228, 3, 55, 0, 0, - 0, 0, 11, 1, 0, 0, 2, 155, 94, 1, 0, 4, 1, 27, 228, 3, 55, 0, 0, 0, 0, 11, 1, 0, 0, 2, 156, 94, - 1, 0, 4, 1, 26, 228, 3, 55, 0, 0, 0, 0, 11, 1, 0, 0, 2, 157, 94, 1, 0, 4, 1, 25, 228, 3, 55, 0, - 0, 0, 0, 11, 1, 0, 0, 2, 158, 94, 1, 0, 4, 1, 24, 228, 3, 55, 0, 0, 0, 0, 11, 1, 0, 0, 2, 159, - 94, 1, 0, 4, 1, 23, 228, 3, 55, 0, 0, 0, 0, 11, 1, 0, 0, 2, 160, 94, 1, 0, 4, 1, 22, 228, 3, - 55, 0, 0, 0, 0, 11, 1, 0, 0, 2, 161, 94, 1, 0, 4, 1, 21, 228, 3, 55, 0, 0, 0, 0, 11, 1, 0, 0, - 2, 162, 94, 1, 0, 4, 1, 20, 228, 3, 55, 0, 0, 0, 0, 11, 1, 0, 0, 2, 163, 94, 1, 0, 4, 1, 19, - 228, 3, 55, 0, 0, 0, 0, 11, 1, 0, 0, 2, 164, 94, 1, 0, 4, 1, 18, 228, 3, 55, 0, 0, 0, 0, 11, 1, - 0, 0, 2, 165, 94, 1, 0, 4, 1, 17, 228, 3, 55, 0, 0, 0, 0, 11, 1, 0, 0, 2, 166, 94, 1, 0, 4, 1, - 16, 228, 3, 53, 0, 0, 0, 0, 210, 160, 3, 0, 2, 167, 94, 1, 0, 232, 3, 53, 0, 0, 0, 0, 125, 68, - 0, 0, 2, 168, 94, 1, 0, 236, 3, 53, 0, 0, 0, 0, 12, 161, 3, 0, 2, 169, 94, 1, 0, 240, 3, 53, 0, - 0, 0, 0, 168, 0, 0, 0, 2, 170, 94, 1, 0, 244, 3, 53, 0, 0, 0, 0, 168, 0, 0, 0, 2, 171, 94, 1, - 0, 248, 3, 53, 0, 0, 0, 0, 168, 0, 0, 0, 2, 172, 94, 1, 0, 252, 3, 53, 0, 0, 0, 0, 168, 0, 0, - 0, 2, 173, 94, 1, 0, 0, 4, 53, 0, 0, 0, 0, 168, 0, 0, 0, 2, 174, 94, 1, 0, 4, 4, 53, 0, 0, 0, - 0, 118, 55, 0, 0, 2, 175, 94, 1, 0, 8, 4, 53, 0, 0, 0, 0, 118, 55, 0, 0, 2, 176, 94, 1, 0, 9, - 4, 53, 0, 0, 0, 0, 118, 55, 0, 0, 2, 177, 94, 1, 0, 10, 4, 53, 0, 0, 0, 0, 111, 105, 0, 0, 2, - 178, 94, 1, 0, 16, 4, 53, 0, 0, 0, 0, 111, 105, 0, 0, 2, 179, 94, 1, 0, 32, 4, 53, 0, 0, 0, 0, - 111, 105, 0, 0, 2, 180, 94, 1, 0, 48, 4, 53, 0, 0, 0, 0, 111, 105, 0, 0, 2, 181, 94, 1, 0, 64, - 4, 53, 0, 0, 0, 0, 125, 68, 0, 0, 2, 182, 94, 1, 0, 80, 4, 53, 0, 0, 0, 0, 224, 161, 3, 0, 2, - 183, 94, 1, 0, 88, 4, 53, 0, 0, 0, 0, 11, 1, 0, 0, 2, 184, 94, 1, 0, 96, 4, 53, 0, 0, 0, 0, - 224, 161, 3, 0, 2, 185, 94, 1, 0, 104, 4, 53, 0, 0, 0, 0, 224, 161, 3, 0, 2, 186, 94, 1, 0, - 112, 4, 53, 0, 0, 0, 0, 168, 0, 0, 0, 2, 187, 94, 1, 0, 120, 4, 53, 0, 0, 0, 0, 255, 0, 0, 0, - 2, 188, 94, 1, 0, 128, 4, 53, 0, 0, 0, 0, 175, 155, 3, 0, 2, 189, 94, 1, 0, 136, 4, 53, 0, 0, - 0, 0, 94, 34, 0, 0, 2, 190, 94, 1, 0, 144, 4, 53, 0, 0, 0, 0, 255, 0, 0, 0, 2, 191, 94, 1, 0, - 152, 4, 53, 0, 0, 0, 0, 234, 151, 1, 0, 2, 192, 94, 1, 0, 160, 4, 53, 0, 0, 0, 0, 147, 165, 0, - 0, 2, 193, 94, 1, 0, 168, 4, 53, 0, 0, 0, 0, 241, 106, 0, 0, 2, 194, 94, 1, 0, 0, 5, 53, 0, 0, - 0, 0, 219, 52, 0, 0, 2, 195, 94, 1, 0, 32, 5, 53, 0, 0, 0, 0, 234, 161, 3, 0, 2, 196, 94, 1, 0, - 40, 5, 53, 0, 0, 0, 0, 6, 172, 3, 0, 2, 197, 94, 1, 0, 48, 5, 53, 0, 0, 0, 0, 9, 29, 0, 0, 2, - 198, 94, 1, 0, 56, 5, 53, 0, 0, 0, 0, 16, 172, 3, 0, 2, 199, 94, 1, 0, 64, 5, 53, 0, 0, 0, 0, - 118, 55, 0, 0, 2, 200, 94, 1, 0, 72, 5, 53, 0, 0, 0, 0, 118, 55, 0, 0, 2, 201, 94, 1, 0, 73, 5, - 53, 0, 0, 0, 0, 230, 172, 3, 0, 2, 202, 94, 1, 0, 80, 5, 53, 0, 0, 0, 0, 49, 34, 0, 0, 2, 203, - 94, 1, 0, 88, 5, 53, 0, 0, 0, 0, 247, 172, 3, 0, 2, 204, 94, 1, 0, 96, 5, 0, 50, 0, 0, 0, 0, - 80, 3, 2, 71, 94, 1, 0, 48, 0, 0, 0, 0, 57, 171, 0, 0, 2, 72, 94, 1, 0, 0, 53, 0, 0, 0, 0, 255, - 152, 3, 0, 2, 73, 94, 1, 0, 240, 2, 53, 0, 0, 0, 0, 28, 201, 0, 0, 2, 74, 94, 1, 0, 248, 2, 53, - 0, 0, 0, 0, 58, 177, 0, 0, 2, 75, 94, 1, 0, 24, 3, 53, 0, 0, 0, 0, 11, 156, 3, 0, 2, 76, 94, 1, - 0, 32, 3, 53, 0, 0, 0, 0, 11, 156, 3, 0, 2, 77, 94, 1, 0, 40, 3, 53, 0, 0, 0, 0, 168, 0, 0, 0, - 2, 78, 94, 1, 0, 48, 3, 53, 0, 0, 0, 0, 168, 0, 0, 0, 2, 79, 94, 1, 0, 52, 3, 53, 0, 0, 0, 0, - 153, 155, 3, 0, 2, 80, 94, 1, 0, 56, 3, 53, 0, 0, 0, 0, 23, 156, 3, 0, 2, 81, 94, 1, 0, 64, 3, - 53, 0, 0, 0, 0, 11, 1, 0, 0, 2, 82, 94, 1, 0, 72, 3, 53, 0, 0, 0, 0, 11, 1, 0, 0, 2, 83, 94, 1, - 0, 76, 3, 0, 9, 4, 153, 3, 0, 50, 0, 0, 0, 0, 80, 10, 2, 222, 94, 1, 0, 48, 0, 0, 0, 0, 111, - 83, 0, 0, 2, 223, 94, 1, 0, 0, 48, 0, 0, 0, 0, 14, 29, 0, 0, 2, 224, 94, 1, 0, 8, 48, 0, 0, 0, - 0, 177, 154, 3, 0, 2, 225, 94, 1, 0, 16, 48, 0, 0, 0, 0, 255, 0, 0, 0, 2, 226, 94, 1, 0, 80, - 48, 0, 0, 0, 0, 189, 154, 3, 0, 2, 227, 94, 1, 0, 88, 48, 0, 0, 0, 0, 215, 154, 3, 0, 2, 228, - 94, 1, 0, 96, 48, 0, 0, 0, 0, 246, 154, 3, 0, 2, 229, 94, 1, 0, 104, 48, 0, 0, 0, 0, 6, 155, 3, - 0, 2, 230, 94, 1, 0, 112, 53, 0, 0, 0, 0, 241, 106, 0, 0, 2, 231, 94, 1, 0, 112, 4, 53, 0, 0, - 0, 0, 203, 173, 0, 0, 2, 232, 94, 1, 0, 144, 4, 53, 0, 0, 0, 0, 184, 153, 3, 0, 2, 238, 94, 1, - 0, 152, 4, 64, 11, 1, 0, 0, 4, 2, 233, 94, 1, 0, 18, 0, 0, 0, 0, 1, 18, 0, 0, 0, 0, 2, 18, 0, - 0, 0, 0, 3, 18, 0, 0, 0, 0, 4, 0, 53, 0, 0, 0, 0, 57, 171, 0, 0, 2, 239, 94, 1, 0, 160, 4, 53, - 0, 0, 0, 0, 136, 155, 3, 0, 2, 240, 94, 1, 0, 144, 7, 53, 0, 0, 0, 0, 125, 68, 0, 0, 2, 241, - 94, 1, 0, 144, 8, 53, 0, 0, 0, 0, 125, 68, 0, 0, 2, 242, 94, 1, 0, 148, 8, 53, 0, 0, 0, 0, 70, - 144, 1, 0, 2, 243, 94, 1, 0, 152, 8, 53, 0, 0, 0, 0, 168, 0, 0, 0, 2, 244, 94, 1, 0, 24, 9, 53, - 0, 0, 0, 0, 168, 0, 0, 0, 2, 245, 94, 1, 0, 28, 9, 53, 0, 0, 0, 0, 153, 155, 3, 0, 2, 246, 94, - 1, 0, 32, 9, 53, 0, 0, 0, 0, 108, 154, 3, 0, 2, 252, 94, 1, 0, 40, 9, 64, 11, 1, 0, 0, 4, 2, - 247, 94, 1, 0, 18, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 1, 18, 0, 0, 0, 0, 2, 18, 0, 0, 0, 0, 3, 0, - 53, 0, 0, 0, 0, 241, 106, 0, 0, 2, 253, 94, 1, 0, 48, 9, 53, 0, 0, 0, 0, 163, 155, 3, 0, 2, - 254, 94, 1, 0, 80, 9, 0, 3, 75, 0, 0, 0, 4, 82, 0, 0, 0, 61, 0, 9, 194, 154, 3, 0, 13, 168, 0, - 0, 0, 14, 255, 152, 3, 0, 14, 168, 0, 0, 0, 14, 168, 0, 0, 0, 0, 9, 220, 154, 3, 0, 13, 168, 0, - 0, 0, 14, 255, 152, 3, 0, 14, 168, 0, 0, 0, 14, 168, 0, 0, 0, 14, 177, 69, 0, 0, 0, 9, 251, - 154, 3, 0, 13, 168, 0, 0, 0, 14, 255, 152, 3, 0, 0, 3, 18, 155, 3, 0, 4, 82, 0, 0, 0, 32, 0, - 47, 0, 0, 0, 0, 32, 2, 214, 94, 1, 0, 48, 0, 0, 0, 0, 105, 155, 3, 0, 2, 215, 94, 1, 0, 0, 48, - 0, 0, 0, 0, 105, 155, 3, 0, 2, 216, 94, 1, 0, 8, 48, 0, 0, 0, 0, 105, 155, 3, 0, 2, 217, 94, 1, - 0, 16, 48, 0, 0, 0, 0, 105, 155, 3, 0, 2, 218, 94, 1, 0, 24, 48, 0, 0, 0, 0, 26, 163, 0, 0, 2, - 219, 94, 1, 0, 32, 0, 33, 117, 155, 3, 0, 0, 0, 0, 0, 2, 166, 40, 24, 8, 2, 164, 40, 21, 0, 0, - 0, 0, 118, 88, 2, 0, 2, 165, 40, 0, 0, 3, 148, 155, 3, 0, 4, 82, 0, 0, 0, 32, 0, 9, 51, 152, 3, - 0, 9, 158, 155, 3, 0, 45, 0, 0, 0, 0, 3, 175, 155, 3, 0, 4, 82, 0, 0, 0, 32, 0, 9, 180, 155, 3, - 0, 47, 0, 0, 0, 0, 32, 2, 15, 95, 1, 0, 48, 0, 0, 0, 0, 168, 0, 0, 0, 2, 16, 95, 1, 0, 0, 48, - 0, 0, 0, 0, 141, 64, 0, 0, 2, 17, 95, 1, 0, 4, 48, 0, 0, 0, 0, 127, 29, 0, 0, 2, 18, 95, 1, 0, - 8, 48, 0, 0, 0, 0, 140, 55, 0, 0, 2, 19, 95, 1, 0, 16, 48, 0, 0, 0, 0, 255, 0, 0, 0, 2, 20, 95, - 1, 0, 24, 0, 9, 16, 156, 3, 0, 32, 14, 148, 155, 3, 0, 0, 9, 28, 156, 3, 0, 45, 0, 0, 0, 0, 9, - 38, 156, 3, 0, 50, 0, 0, 0, 0, 208, 1, 2, 23, 95, 1, 0, 48, 0, 0, 0, 0, 165, 158, 3, 0, 2, 24, - 95, 1, 0, 0, 48, 0, 0, 0, 0, 125, 68, 0, 0, 2, 25, 95, 1, 0, 152, 48, 0, 0, 0, 0, 199, 53, 0, - 0, 2, 26, 95, 1, 0, 160, 48, 0, 0, 0, 0, 125, 68, 0, 0, 2, 27, 95, 1, 0, 168, 48, 0, 0, 0, 0, - 207, 158, 3, 0, 2, 28, 95, 1, 0, 176, 48, 0, 0, 0, 0, 125, 68, 0, 0, 2, 29, 95, 1, 0, 184, 48, - 0, 0, 0, 0, 56, 1, 0, 0, 2, 30, 95, 1, 0, 192, 48, 0, 0, 0, 0, 217, 158, 3, 0, 2, 31, 95, 1, 0, - 200, 48, 0, 0, 0, 0, 217, 158, 3, 0, 2, 32, 95, 1, 0, 208, 48, 0, 0, 0, 0, 217, 158, 3, 0, 2, - 33, 95, 1, 0, 216, 48, 0, 0, 0, 0, 217, 158, 3, 0, 2, 34, 95, 1, 0, 224, 48, 0, 0, 0, 0, 217, - 158, 3, 0, 2, 35, 95, 1, 0, 232, 48, 0, 0, 0, 0, 217, 158, 3, 0, 2, 36, 95, 1, 0, 240, 48, 0, - 0, 0, 0, 217, 158, 3, 0, 2, 37, 95, 1, 0, 248, 53, 0, 0, 0, 0, 217, 158, 3, 0, 2, 38, 95, 1, 0, - 0, 1, 53, 0, 0, 0, 0, 217, 158, 3, 0, 2, 39, 95, 1, 0, 8, 1, 53, 0, 0, 0, 0, 217, 158, 3, 0, 2, - 40, 95, 1, 0, 16, 1, 53, 0, 0, 0, 0, 233, 158, 3, 0, 2, 41, 95, 1, 0, 24, 1, 53, 0, 0, 0, 0, - 249, 158, 3, 0, 2, 42, 95, 1, 0, 32, 1, 53, 0, 0, 0, 0, 217, 158, 3, 0, 2, 43, 95, 1, 0, 40, 1, - 53, 0, 0, 0, 0, 5, 159, 3, 0, 2, 44, 95, 1, 0, 48, 1, 53, 0, 0, 0, 0, 26, 159, 3, 0, 2, 45, 95, - 1, 0, 56, 1, 53, 0, 0, 0, 0, 249, 158, 3, 0, 2, 46, 95, 1, 0, 64, 1, 53, 0, 0, 0, 0, 43, 159, - 3, 0, 2, 47, 95, 1, 0, 72, 1, 53, 0, 0, 0, 0, 69, 159, 3, 0, 2, 48, 95, 1, 0, 80, 1, 53, 0, 0, - 0, 0, 217, 158, 3, 0, 2, 49, 95, 1, 0, 88, 1, 53, 0, 0, 0, 0, 100, 159, 3, 0, 2, 50, 95, 1, 0, - 96, 1, 53, 0, 0, 0, 0, 121, 159, 3, 0, 2, 51, 95, 1, 0, 104, 1, 53, 0, 0, 0, 0, 142, 159, 3, 0, - 2, 52, 95, 1, 0, 112, 1, 53, 0, 0, 0, 0, 217, 158, 3, 0, 2, 53, 95, 1, 0, 120, 1, 53, 0, 0, 0, - 0, 168, 159, 3, 0, 2, 54, 95, 1, 0, 128, 1, 53, 0, 0, 0, 0, 15, 160, 3, 0, 2, 55, 95, 1, 0, - 136, 1, 53, 0, 0, 0, 0, 217, 158, 3, 0, 2, 56, 95, 1, 0, 144, 1, 53, 0, 0, 0, 0, 36, 160, 3, 0, - 2, 57, 95, 1, 0, 152, 1, 53, 0, 0, 0, 0, 53, 160, 3, 0, 2, 58, 95, 1, 0, 160, 1, 53, 0, 0, 0, - 0, 75, 160, 3, 0, 2, 59, 95, 1, 0, 168, 1, 53, 0, 0, 0, 0, 106, 160, 3, 0, 2, 60, 95, 1, 0, - 176, 1, 53, 0, 0, 0, 0, 132, 160, 3, 0, 2, 61, 95, 1, 0, 184, 1, 53, 0, 0, 0, 0, 217, 158, 3, - 0, 2, 62, 95, 1, 0, 192, 1, 53, 0, 0, 0, 0, 217, 158, 3, 0, 2, 63, 95, 1, 0, 200, 1, 0, 47, 0, - 0, 0, 0, 152, 2, 1, 95, 1, 0, 48, 0, 0, 0, 0, 255, 174, 0, 0, 2, 2, 95, 1, 0, 0, 48, 0, 0, 0, - 0, 168, 0, 0, 0, 2, 3, 95, 1, 0, 144, 0, 26, 212, 158, 3, 0, 9, 28, 37, 3, 0, 9, 222, 158, 3, - 0, 13, 168, 0, 0, 0, 14, 82, 148, 3, 0, 0, 9, 238, 158, 3, 0, 13, 132, 231, 0, 0, 14, 82, 148, - 3, 0, 0, 9, 254, 158, 3, 0, 32, 14, 82, 148, 3, 0, 0, 9, 10, 159, 3, 0, 13, 168, 0, 0, 0, 14, - 82, 148, 3, 0, 14, 58, 104, 3, 0, 0, 9, 31, 159, 3, 0, 32, 14, 82, 148, 3, 0, 14, 58, 104, 3, - 0, 0, 9, 48, 159, 3, 0, 13, 168, 0, 0, 0, 14, 82, 148, 3, 0, 14, 168, 0, 0, 0, 14, 177, 69, 0, - 0, 0, 9, 74, 159, 3, 0, 13, 168, 0, 0, 0, 14, 82, 148, 3, 0, 14, 168, 0, 0, 0, 14, 177, 69, 0, - 0, 14, 177, 69, 0, 0, 0, 9, 105, 159, 3, 0, 13, 168, 0, 0, 0, 14, 82, 148, 3, 0, 14, 168, 0, 0, - 0, 0, 9, 126, 159, 3, 0, 13, 168, 0, 0, 0, 14, 82, 148, 3, 0, 14, 106, 117, 3, 0, 0, 9, 147, - 159, 3, 0, 13, 168, 0, 0, 0, 14, 82, 148, 3, 0, 14, 105, 106, 3, 0, 14, 254, 70, 2, 0, 0, 9, - 173, 159, 3, 0, 13, 168, 0, 0, 0, 14, 82, 148, 3, 0, 14, 189, 159, 3, 0, 0, 9, 194, 159, 3, 0, - 26, 199, 159, 3, 0, 47, 0, 0, 0, 0, 16, 2, 207, 94, 1, 0, 48, 0, 0, 0, 0, 125, 68, 0, 0, 2, - 208, 94, 1, 0, 0, 48, 0, 0, 0, 0, 125, 68, 0, 0, 2, 209, 94, 1, 0, 4, 48, 0, 0, 0, 0, 125, 68, - 0, 0, 2, 210, 94, 1, 0, 8, 48, 0, 0, 0, 0, 71, 43, 1, 0, 2, 211, 94, 1, 0, 12, 0, 9, 20, 160, - 3, 0, 13, 168, 0, 0, 0, 14, 82, 148, 3, 0, 14, 174, 225, 0, 0, 0, 9, 41, 160, 3, 0, 32, 14, 82, - 148, 3, 0, 14, 254, 70, 2, 0, 0, 9, 58, 160, 3, 0, 32, 14, 82, 148, 3, 0, 14, 85, 110, 3, 0, - 14, 239, 241, 0, 0, 0, 9, 80, 160, 3, 0, 13, 168, 0, 0, 0, 14, 82, 148, 3, 0, 14, 101, 160, 3, - 0, 14, 255, 0, 0, 0, 0, 9, 106, 118, 3, 0, 9, 111, 160, 3, 0, 13, 168, 0, 0, 0, 14, 82, 148, 3, - 0, 14, 101, 160, 3, 0, 14, 56, 1, 0, 0, 0, 9, 137, 160, 3, 0, 13, 168, 0, 0, 0, 14, 82, 148, 3, - 0, 14, 219, 52, 0, 0, 0, 47, 0, 0, 0, 0, 136, 2, 86, 94, 1, 0, 48, 0, 0, 0, 0, 125, 68, 0, 0, - 2, 87, 94, 1, 0, 0, 48, 0, 0, 0, 0, 125, 68, 0, 0, 2, 88, 94, 1, 0, 4, 48, 0, 0, 0, 0, 64, 143, - 2, 0, 2, 89, 94, 1, 0, 8, 0, 19, 11, 1, 0, 0, 0, 0, 0, 0, 4, 2, 92, 94, 1, 0, 18, 0, 0, 0, 0, - 0, 18, 0, 0, 0, 0, 1, 18, 0, 0, 0, 0, 2, 18, 0, 0, 0, 0, 3, 18, 0, 0, 0, 0, 4, 18, 0, 0, 0, 0, - 5, 18, 0, 0, 0, 0, 6, 0, 54, 26, 161, 3, 0, 0, 0, 0, 0, 2, 134, 94, 1, 0, 64, 11, 1, 0, 0, 4, - 2, 102, 94, 1, 0, 18, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 1, 18, 0, 0, 0, 0, 2, 18, 0, 0, 0, 0, 3, - 18, 0, 0, 0, 0, 4, 18, 0, 0, 0, 0, 5, 18, 0, 0, 0, 0, 6, 18, 0, 0, 0, 0, 7, 18, 0, 0, 0, 0, 8, - 18, 0, 0, 0, 0, 9, 18, 0, 0, 0, 0, 10, 18, 0, 0, 0, 0, 11, 18, 0, 0, 0, 0, 12, 18, 0, 0, 0, 0, - 13, 18, 0, 0, 0, 0, 14, 18, 0, 0, 0, 0, 15, 18, 0, 0, 0, 0, 16, 18, 0, 0, 0, 0, 17, 18, 0, 0, - 0, 0, 18, 18, 0, 0, 0, 0, 19, 18, 0, 0, 0, 0, 20, 18, 0, 0, 0, 0, 21, 18, 0, 0, 0, 0, 22, 18, - 0, 0, 0, 0, 23, 18, 0, 0, 0, 0, 24, 18, 0, 0, 0, 0, 25, 18, 0, 0, 0, 0, 26, 18, 0, 0, 0, 0, 27, - 18, 0, 0, 0, 0, 28, 18, 0, 0, 0, 0, 29, 18, 0, 0, 0, 0, 30, 0, 9, 229, 161, 3, 0, 45, 0, 0, 0, - 0, 9, 239, 161, 3, 0, 47, 0, 0, 0, 0, 96, 2, 40, 130, 1, 0, 48, 0, 0, 0, 0, 80, 110, 0, 0, 2, - 41, 130, 1, 0, 0, 48, 0, 0, 0, 0, 227, 28, 0, 0, 2, 42, 130, 1, 0, 8, 48, 0, 0, 0, 0, 104, 187, - 0, 0, 2, 43, 130, 1, 0, 24, 48, 0, 0, 0, 0, 175, 162, 3, 0, 2, 44, 130, 1, 0, 32, 48, 0, 0, 0, - 0, 203, 173, 0, 0, 2, 45, 130, 1, 0, 40, 48, 0, 0, 0, 0, 58, 163, 3, 0, 2, 46, 130, 1, 0, 48, - 48, 0, 0, 0, 0, 141, 163, 3, 0, 2, 47, 130, 1, 0, 56, 48, 0, 0, 0, 0, 31, 171, 3, 0, 2, 48, - 130, 1, 0, 64, 48, 0, 0, 0, 0, 255, 0, 0, 0, 2, 49, 130, 1, 0, 72, 48, 0, 0, 0, 0, 82, 148, 3, - 0, 2, 50, 130, 1, 0, 80, 48, 0, 0, 0, 0, 219, 52, 0, 0, 2, 51, 130, 1, 0, 88, 48, 0, 0, 0, 0, - 219, 52, 0, 0, 2, 52, 130, 1, 0, 89, 0, 9, 180, 162, 3, 0, 26, 185, 162, 3, 0, 47, 0, 0, 0, 0, - 56, 2, 234, 130, 1, 0, 48, 0, 0, 0, 0, 46, 163, 3, 0, 2, 235, 130, 1, 0, 0, 48, 0, 0, 0, 0, 46, - 163, 3, 0, 2, 236, 130, 1, 0, 8, 48, 0, 0, 0, 0, 46, 163, 3, 0, 2, 237, 130, 1, 0, 16, 48, 0, - 0, 0, 0, 46, 163, 3, 0, 2, 238, 130, 1, 0, 24, 48, 0, 0, 0, 0, 68, 163, 3, 0, 2, 239, 130, 1, - 0, 32, 48, 0, 0, 0, 0, 89, 163, 3, 0, 2, 240, 130, 1, 0, 40, 48, 0, 0, 0, 0, 115, 163, 3, 0, 2, - 241, 130, 1, 0, 48, 0, 9, 51, 163, 3, 0, 32, 14, 58, 163, 3, 0, 0, 9, 63, 163, 3, 0, 45, 0, 0, - 0, 0, 9, 73, 163, 3, 0, 13, 168, 0, 0, 0, 14, 58, 163, 3, 0, 14, 106, 117, 3, 0, 0, 9, 94, 163, - 3, 0, 13, 168, 0, 0, 0, 14, 58, 163, 3, 0, 14, 105, 106, 3, 0, 14, 254, 70, 2, 0, 0, 9, 120, - 163, 3, 0, 13, 168, 0, 0, 0, 14, 58, 163, 3, 0, 14, 79, 121, 3, 0, 14, 19, 152, 1, 0, 0, 9, - 146, 163, 3, 0, 26, 151, 163, 3, 0, 47, 0, 0, 0, 0, 24, 2, 244, 130, 1, 0, 48, 0, 0, 0, 0, 14, - 29, 0, 0, 2, 245, 130, 1, 0, 0, 48, 0, 0, 0, 0, 14, 29, 0, 0, 2, 246, 130, 1, 0, 8, 48, 0, 0, - 0, 0, 208, 163, 3, 0, 2, 247, 130, 1, 0, 16, 0, 9, 213, 163, 3, 0, 32, 14, 225, 163, 3, 0, 14, - 75, 110, 0, 0, 0, 9, 230, 163, 3, 0, 26, 235, 163, 3, 0, 47, 0, 0, 0, 0, 96, 2, 166, 130, 1, 0, - 48, 0, 0, 0, 0, 21, 164, 3, 0, 2, 167, 130, 1, 0, 0, 48, 0, 0, 0, 0, 140, 170, 3, 0, 2, 168, - 130, 1, 0, 64, 0, 47, 0, 0, 0, 0, 64, 2, 55, 130, 1, 0, 48, 0, 0, 0, 0, 118, 55, 0, 0, 2, 56, - 130, 1, 0, 0, 48, 0, 0, 0, 0, 118, 55, 0, 0, 2, 57, 130, 1, 0, 1, 48, 0, 0, 0, 0, 118, 55, 0, - 0, 2, 58, 130, 1, 0, 2, 49, 0, 0, 0, 0, 118, 55, 0, 0, 2, 59, 130, 1, 0, 1, 1, 7, 3, 49, 0, 0, - 0, 0, 118, 55, 0, 0, 2, 60, 130, 1, 0, 1, 1, 6, 3, 49, 0, 0, 0, 0, 118, 55, 0, 0, 2, 61, 130, - 1, 0, 1, 1, 5, 3, 49, 0, 0, 0, 0, 118, 55, 0, 0, 2, 62, 130, 1, 0, 1, 1, 4, 3, 49, 0, 0, 0, 0, - 118, 55, 0, 0, 2, 63, 130, 1, 0, 1, 1, 3, 3, 49, 0, 0, 0, 0, 118, 55, 0, 0, 2, 64, 130, 1, 0, - 1, 1, 2, 3, 49, 0, 0, 0, 0, 118, 55, 0, 0, 2, 65, 130, 1, 0, 1, 1, 1, 3, 49, 0, 0, 0, 0, 118, - 55, 0, 0, 2, 66, 130, 1, 0, 1, 1, 0, 3, 49, 0, 0, 0, 0, 118, 55, 0, 0, 2, 67, 130, 1, 0, 1, 1, - 7, 4, 49, 0, 0, 0, 0, 118, 55, 0, 0, 2, 68, 130, 1, 0, 1, 1, 6, 4, 49, 0, 0, 0, 0, 118, 55, 0, - 0, 2, 69, 130, 1, 0, 1, 1, 5, 4, 49, 0, 0, 0, 0, 118, 55, 0, 0, 2, 70, 130, 1, 0, 1, 1, 4, 4, - 49, 0, 0, 0, 0, 118, 55, 0, 0, 2, 71, 130, 1, 0, 1, 1, 3, 4, 49, 0, 0, 0, 0, 118, 55, 0, 0, 2, - 72, 130, 1, 0, 1, 1, 2, 4, 49, 0, 0, 0, 0, 118, 55, 0, 0, 2, 73, 130, 1, 0, 1, 1, 1, 4, 49, 0, - 0, 0, 0, 118, 55, 0, 0, 2, 74, 130, 1, 0, 1, 1, 0, 4, 49, 0, 0, 0, 0, 118, 55, 0, 0, 2, 75, - 130, 1, 0, 1, 1, 7, 5, 49, 0, 0, 0, 0, 118, 55, 0, 0, 2, 76, 130, 1, 0, 1, 1, 6, 5, 49, 0, 0, - 0, 0, 118, 55, 0, 0, 2, 77, 130, 1, 0, 1, 1, 5, 5, 49, 0, 0, 0, 0, 118, 55, 0, 0, 2, 78, 130, - 1, 0, 1, 1, 4, 5, 49, 0, 0, 0, 0, 118, 55, 0, 0, 2, 79, 130, 1, 0, 1, 1, 3, 5, 49, 0, 0, 0, 0, - 118, 55, 0, 0, 2, 80, 130, 1, 0, 1, 1, 2, 5, 49, 0, 0, 0, 0, 118, 55, 0, 0, 2, 81, 130, 1, 0, - 1, 1, 1, 5, 49, 0, 0, 0, 0, 118, 55, 0, 0, 2, 82, 130, 1, 0, 1, 1, 0, 5, 49, 0, 0, 0, 0, 118, - 55, 0, 0, 2, 83, 130, 1, 0, 1, 1, 7, 6, 49, 0, 0, 0, 0, 118, 55, 0, 0, 2, 84, 130, 1, 0, 1, 1, - 6, 6, 49, 0, 0, 0, 0, 118, 55, 0, 0, 2, 85, 130, 1, 0, 1, 1, 5, 6, 49, 0, 0, 0, 0, 118, 55, 0, - 0, 2, 86, 130, 1, 0, 1, 1, 4, 6, 49, 0, 0, 0, 0, 118, 55, 0, 0, 2, 87, 130, 1, 0, 1, 1, 3, 6, - 49, 0, 0, 0, 0, 118, 55, 0, 0, 2, 88, 130, 1, 0, 1, 1, 2, 6, 49, 0, 0, 0, 0, 118, 55, 0, 0, 2, - 89, 130, 1, 0, 1, 1, 1, 6, 49, 0, 0, 0, 0, 118, 55, 0, 0, 2, 90, 130, 1, 0, 1, 1, 0, 6, 49, 0, - 0, 0, 0, 118, 55, 0, 0, 2, 91, 130, 1, 0, 1, 1, 7, 7, 49, 0, 0, 0, 0, 118, 55, 0, 0, 2, 92, - 130, 1, 0, 1, 1, 6, 7, 49, 0, 0, 0, 0, 118, 55, 0, 0, 2, 93, 130, 1, 0, 1, 1, 5, 7, 49, 0, 0, - 0, 0, 118, 55, 0, 0, 2, 94, 130, 1, 0, 1, 1, 4, 7, 49, 0, 0, 0, 0, 118, 55, 0, 0, 2, 95, 130, - 1, 0, 1, 1, 3, 7, 49, 0, 0, 0, 0, 118, 55, 0, 0, 2, 96, 130, 1, 0, 1, 1, 2, 7, 49, 0, 0, 0, 0, - 118, 55, 0, 0, 2, 97, 130, 1, 0, 1, 1, 1, 7, 49, 0, 0, 0, 0, 118, 55, 0, 0, 2, 98, 130, 1, 0, - 1, 1, 0, 7, 49, 0, 0, 0, 0, 118, 55, 0, 0, 2, 99, 130, 1, 0, 1, 1, 7, 8, 49, 0, 0, 0, 0, 118, - 55, 0, 0, 2, 100, 130, 1, 0, 1, 1, 6, 8, 49, 0, 0, 0, 0, 118, 55, 0, 0, 2, 101, 130, 1, 0, 1, - 1, 5, 8, 49, 0, 0, 0, 0, 118, 55, 0, 0, 2, 102, 130, 1, 0, 1, 1, 4, 8, 49, 0, 0, 0, 0, 118, 55, - 0, 0, 2, 103, 130, 1, 0, 1, 1, 3, 8, 49, 0, 0, 0, 0, 118, 55, 0, 0, 2, 104, 130, 1, 0, 1, 1, 2, - 8, 49, 0, 0, 0, 0, 118, 55, 0, 0, 2, 105, 130, 1, 0, 1, 1, 1, 8, 49, 0, 0, 0, 0, 118, 55, 0, 0, - 2, 106, 130, 1, 0, 1, 1, 0, 8, 49, 0, 0, 0, 0, 118, 55, 0, 0, 2, 107, 130, 1, 0, 1, 1, 7, 9, - 49, 0, 0, 0, 0, 118, 55, 0, 0, 2, 108, 130, 1, 0, 1, 1, 6, 9, 49, 0, 0, 0, 0, 118, 55, 0, 0, 2, - 109, 130, 1, 0, 1, 1, 5, 9, 49, 0, 0, 0, 0, 118, 55, 0, 0, 2, 110, 130, 1, 0, 1, 1, 4, 9, 49, - 0, 0, 0, 0, 118, 55, 0, 0, 2, 111, 130, 1, 0, 1, 1, 3, 9, 49, 0, 0, 0, 0, 118, 55, 0, 0, 2, - 112, 130, 1, 0, 1, 1, 2, 9, 49, 0, 0, 0, 0, 118, 55, 0, 0, 2, 113, 130, 1, 0, 1, 1, 1, 9, 49, - 0, 0, 0, 0, 118, 55, 0, 0, 2, 114, 130, 1, 0, 1, 1, 0, 9, 49, 0, 0, 0, 0, 118, 55, 0, 0, 2, - 115, 130, 1, 0, 1, 1, 7, 10, 49, 0, 0, 0, 0, 118, 55, 0, 0, 2, 116, 130, 1, 0, 1, 1, 6, 10, 49, - 0, 0, 0, 0, 118, 55, 0, 0, 2, 117, 130, 1, 0, 1, 1, 5, 10, 49, 0, 0, 0, 0, 118, 55, 0, 0, 2, - 118, 130, 1, 0, 1, 1, 4, 10, 49, 0, 0, 0, 0, 118, 55, 0, 0, 2, 119, 130, 1, 0, 1, 1, 3, 10, 49, - 0, 0, 0, 0, 118, 55, 0, 0, 2, 120, 130, 1, 0, 1, 1, 2, 10, 49, 0, 0, 0, 0, 118, 55, 0, 0, 2, - 121, 130, 1, 0, 1, 1, 1, 10, 49, 0, 0, 0, 0, 118, 55, 0, 0, 2, 122, 130, 1, 0, 1, 1, 0, 10, 48, - 0, 0, 0, 0, 118, 55, 0, 0, 2, 123, 130, 1, 0, 11, 48, 0, 0, 0, 0, 118, 55, 0, 0, 2, 124, 130, - 1, 0, 12, 48, 0, 0, 0, 0, 118, 55, 0, 0, 2, 125, 130, 1, 0, 13, 48, 0, 0, 0, 0, 21, 60, 3, 0, - 2, 126, 130, 1, 0, 14, 48, 0, 0, 0, 0, 105, 28, 0, 0, 2, 127, 130, 1, 0, 20, 48, 0, 0, 0, 0, - 118, 55, 0, 0, 2, 128, 130, 1, 0, 36, 48, 0, 0, 0, 0, 128, 170, 3, 0, 2, 129, 130, 1, 0, 37, - 48, 0, 0, 0, 0, 105, 28, 0, 0, 2, 130, 130, 1, 0, 40, 48, 0, 0, 0, 0, 63, 0, 0, 0, 2, 131, 130, - 1, 0, 56, 51, 95, 169, 3, 0, 2, 132, 130, 1, 0, 60, 59, 2, 2, 132, 130, 1, 0, 48, 0, 0, 0, 0, - 244, 48, 0, 0, 2, 133, 130, 1, 0, 0, 48, 0, 0, 0, 0, 244, 48, 0, 0, 2, 134, 130, 1, 0, 0, 48, - 0, 0, 0, 0, 147, 169, 3, 0, 2, 140, 130, 1, 0, 0, 60, 2, 2, 135, 130, 1, 0, 49, 0, 0, 0, 0, - 118, 55, 0, 0, 2, 136, 130, 1, 0, 1, 1, 7, 0, 49, 0, 0, 0, 0, 118, 55, 0, 0, 2, 137, 130, 1, 0, - 1, 1, 6, 0, 49, 0, 0, 0, 0, 118, 55, 0, 0, 2, 138, 130, 1, 0, 1, 6, 0, 0, 48, 0, 0, 0, 0, 118, - 55, 0, 0, 2, 139, 130, 1, 0, 1, 0, 48, 0, 0, 0, 0, 239, 169, 3, 0, 2, 148, 130, 1, 0, 0, 60, 2, - 2, 141, 130, 1, 0, 49, 0, 0, 0, 0, 118, 55, 0, 0, 2, 142, 130, 1, 0, 1, 1, 7, 0, 49, 0, 0, 0, - 0, 118, 55, 0, 0, 2, 143, 130, 1, 0, 1, 1, 6, 0, 49, 0, 0, 0, 0, 118, 55, 0, 0, 2, 144, 130, 1, - 0, 1, 1, 5, 0, 49, 0, 0, 0, 0, 118, 55, 0, 0, 2, 145, 130, 1, 0, 1, 1, 4, 0, 49, 0, 0, 0, 0, - 118, 55, 0, 0, 2, 146, 130, 1, 0, 1, 4, 0, 0, 48, 0, 0, 0, 0, 118, 55, 0, 0, 2, 147, 130, 1, 0, - 1, 0, 0, 48, 0, 0, 0, 0, 118, 55, 0, 0, 2, 150, 130, 1, 0, 62, 48, 0, 0, 0, 0, 118, 55, 0, 0, - 2, 151, 130, 1, 0, 63, 0, 3, 75, 0, 0, 0, 4, 82, 0, 0, 0, 3, 0, 47, 0, 0, 0, 0, 32, 2, 154, - 130, 1, 0, 48, 0, 0, 0, 0, 244, 48, 0, 0, 2, 155, 130, 1, 0, 0, 48, 0, 0, 0, 0, 118, 55, 0, 0, - 2, 156, 130, 1, 0, 2, 48, 0, 0, 0, 0, 118, 55, 0, 0, 2, 157, 130, 1, 0, 3, 48, 0, 0, 0, 0, 105, - 28, 0, 0, 2, 158, 130, 1, 0, 4, 48, 0, 0, 0, 0, 159, 77, 2, 0, 2, 159, 130, 1, 0, 20, 48, 0, 0, - 0, 0, 118, 55, 0, 0, 2, 160, 130, 1, 0, 28, 48, 0, 0, 0, 0, 118, 55, 0, 0, 2, 161, 130, 1, 0, - 29, 48, 0, 0, 0, 0, 118, 55, 0, 0, 2, 162, 130, 1, 0, 30, 48, 0, 0, 0, 0, 118, 55, 0, 0, 2, - 163, 130, 1, 0, 31, 0, 9, 36, 171, 3, 0, 26, 41, 171, 3, 0, 47, 0, 0, 0, 0, 80, 2, 221, 130, 1, - 0, 48, 0, 0, 0, 0, 203, 171, 3, 0, 2, 222, 130, 1, 0, 0, 48, 0, 0, 0, 0, 203, 171, 3, 0, 2, - 223, 130, 1, 0, 8, 48, 0, 0, 0, 0, 220, 171, 3, 0, 2, 224, 130, 1, 0, 16, 48, 0, 0, 0, 0, 125, - 141, 0, 0, 2, 225, 130, 1, 0, 24, 48, 0, 0, 0, 0, 139, 65, 1, 0, 2, 226, 130, 1, 0, 32, 48, 0, - 0, 0, 0, 125, 141, 0, 0, 2, 227, 130, 1, 0, 40, 48, 0, 0, 0, 0, 125, 141, 0, 0, 2, 228, 130, 1, - 0, 48, 48, 0, 0, 0, 0, 125, 141, 0, 0, 2, 229, 130, 1, 0, 56, 48, 0, 0, 0, 0, 241, 171, 3, 0, - 2, 230, 130, 1, 0, 64, 48, 0, 0, 0, 0, 125, 141, 0, 0, 2, 231, 130, 1, 0, 72, 0, 9, 208, 171, - 3, 0, 32, 14, 255, 0, 0, 0, 14, 234, 161, 3, 0, 0, 9, 225, 171, 3, 0, 13, 168, 0, 0, 0, 14, - 255, 0, 0, 0, 14, 225, 163, 3, 0, 0, 9, 246, 171, 3, 0, 13, 168, 0, 0, 0, 14, 255, 0, 0, 0, 14, - 82, 148, 3, 0, 0, 9, 11, 172, 3, 0, 45, 0, 0, 0, 0, 9, 21, 172, 3, 0, 47, 0, 0, 0, 0, 48, 2, 6, - 95, 1, 0, 48, 0, 0, 0, 0, 123, 172, 3, 0, 2, 7, 95, 1, 0, 0, 48, 0, 0, 0, 0, 149, 172, 3, 0, 2, - 8, 95, 1, 0, 8, 48, 0, 0, 0, 0, 171, 172, 3, 0, 2, 9, 95, 1, 0, 16, 48, 0, 0, 0, 0, 192, 172, - 3, 0, 2, 10, 95, 1, 0, 24, 48, 0, 0, 0, 0, 209, 172, 3, 0, 2, 11, 95, 1, 0, 32, 48, 0, 0, 0, 0, - 203, 173, 0, 0, 2, 12, 95, 1, 0, 40, 0, 9, 128, 172, 3, 0, 13, 219, 52, 0, 0, 14, 16, 172, 3, - 0, 14, 94, 34, 0, 0, 14, 168, 0, 0, 0, 0, 9, 154, 172, 3, 0, 32, 14, 16, 172, 3, 0, 14, 94, 34, - 0, 0, 14, 168, 0, 0, 0, 0, 9, 176, 172, 3, 0, 13, 168, 0, 0, 0, 14, 16, 172, 3, 0, 14, 52, 51, - 3, 0, 0, 9, 197, 172, 3, 0, 32, 14, 16, 172, 3, 0, 14, 82, 148, 3, 0, 0, 9, 214, 172, 3, 0, 13, - 168, 0, 0, 0, 14, 16, 172, 3, 0, 14, 235, 116, 3, 0, 0, 9, 235, 172, 3, 0, 32, 14, 82, 148, 3, - 0, 14, 219, 52, 0, 0, 0, 9, 252, 172, 3, 0, 26, 1, 173, 3, 0, 45, 0, 0, 0, 0, 9, 11, 173, 3, 0, - 32, 14, 154, 139, 3, 0, 14, 168, 0, 0, 0, 14, 28, 173, 3, 0, 0, 9, 33, 173, 3, 0, 45, 0, 0, 0, - 0, 9, 43, 173, 3, 0, 32, 14, 154, 139, 3, 0, 14, 168, 0, 0, 0, 14, 75, 110, 0, 0, 14, 65, 173, - 3, 0, 0, 9, 70, 173, 3, 0, 47, 0, 0, 0, 0, 56, 2, 180, 168, 1, 0, 48, 0, 0, 0, 0, 111, 105, 0, - 0, 2, 181, 168, 1, 0, 0, 48, 0, 0, 0, 0, 111, 105, 0, 0, 2, 182, 168, 1, 0, 16, 48, 0, 0, 0, 0, - 12, 161, 3, 0, 2, 183, 168, 1, 0, 32, 48, 0, 0, 0, 0, 168, 0, 0, 0, 2, 184, 168, 1, 0, 36, 48, - 0, 0, 0, 0, 168, 0, 0, 0, 2, 185, 168, 1, 0, 40, 48, 0, 0, 0, 0, 168, 0, 0, 0, 2, 186, 168, 1, - 0, 44, 49, 0, 0, 0, 0, 11, 1, 0, 0, 2, 187, 168, 1, 0, 4, 1, 31, 48, 49, 0, 0, 0, 0, 11, 1, 0, - 0, 2, 188, 168, 1, 0, 4, 1, 30, 48, 49, 0, 0, 0, 0, 11, 1, 0, 0, 2, 189, 168, 1, 0, 4, 1, 29, - 48, 0, 9, 231, 173, 3, 0, 13, 168, 0, 0, 0, 14, 154, 139, 3, 0, 14, 168, 0, 0, 0, 14, 65, 173, - 3, 0, 0, 9, 1, 174, 3, 0, 32, 14, 154, 139, 3, 0, 14, 168, 0, 0, 0, 14, 11, 1, 0, 0, 14, 23, - 174, 3, 0, 0, 9, 28, 174, 3, 0, 26, 70, 173, 3, 0, 9, 38, 174, 3, 0, 32, 14, 154, 139, 3, 0, - 14, 168, 0, 0, 0, 14, 11, 1, 0, 0, 14, 12, 161, 3, 0, 0, 9, 65, 174, 3, 0, 32, 14, 154, 139, 3, - 0, 14, 168, 0, 0, 0, 14, 11, 1, 0, 0, 14, 12, 161, 3, 0, 14, 82, 148, 3, 0, 14, 168, 0, 0, 0, - 14, 168, 0, 0, 0, 14, 219, 52, 0, 0, 14, 219, 52, 0, 0, 0, 9, 117, 174, 3, 0, 32, 14, 154, 139, - 3, 0, 14, 168, 0, 0, 0, 14, 65, 173, 3, 0, 0, 9, 139, 174, 3, 0, 32, 14, 154, 139, 3, 0, 14, - 168, 0, 0, 0, 14, 125, 68, 0, 0, 14, 161, 174, 3, 0, 0, 9, 166, 174, 3, 0, 33, 118, 55, 0, 0, - 0, 0, 0, 0, 2, 172, 77, 9, 183, 174, 3, 0, 32, 14, 154, 139, 3, 0, 14, 168, 0, 0, 0, 14, 200, - 174, 3, 0, 0, 9, 142, 216, 2, 0, 9, 210, 174, 3, 0, 32, 14, 154, 139, 3, 0, 14, 168, 0, 0, 0, - 14, 204, 55, 3, 0, 0, 9, 232, 174, 3, 0, 32, 14, 154, 139, 3, 0, 14, 168, 0, 0, 0, 14, 158, - 109, 3, 0, 14, 239, 241, 0, 0, 0, 9, 3, 175, 3, 0, 32, 14, 154, 139, 3, 0, 14, 168, 0, 0, 0, - 14, 58, 104, 3, 0, 0, 9, 25, 175, 3, 0, 13, 168, 0, 0, 0, 14, 154, 139, 3, 0, 14, 168, 0, 0, 0, - 14, 58, 104, 3, 0, 0, 9, 51, 175, 3, 0, 13, 168, 0, 0, 0, 14, 154, 139, 3, 0, 14, 168, 0, 0, 0, - 14, 235, 116, 3, 0, 0, 9, 77, 175, 3, 0, 13, 168, 0, 0, 0, 14, 154, 139, 3, 0, 14, 168, 0, 0, - 0, 14, 82, 148, 3, 0, 0, 9, 103, 175, 3, 0, 13, 168, 0, 0, 0, 14, 154, 139, 3, 0, 14, 168, 0, - 0, 0, 14, 194, 117, 3, 0, 0, 9, 129, 175, 3, 0, 13, 168, 0, 0, 0, 14, 154, 139, 3, 0, 14, 105, - 106, 3, 0, 14, 254, 70, 2, 0, 0, 9, 155, 175, 3, 0, 32, 14, 154, 139, 3, 0, 14, 168, 0, 0, 0, - 14, 230, 103, 3, 0, 14, 255, 0, 0, 0, 0, 9, 182, 175, 3, 0, 13, 168, 0, 0, 0, 14, 154, 139, 3, - 0, 14, 168, 0, 0, 0, 14, 203, 175, 3, 0, 0, 9, 208, 175, 3, 0, 47, 0, 0, 0, 0, 40, 2, 172, 167, - 1, 0, 48, 0, 0, 0, 0, 39, 176, 3, 0, 2, 173, 167, 1, 0, 0, 48, 0, 0, 0, 0, 9, 29, 0, 0, 2, 174, - 167, 1, 0, 16, 48, 0, 0, 0, 0, 219, 52, 0, 0, 2, 175, 167, 1, 0, 24, 48, 0, 0, 0, 0, 219, 52, - 0, 0, 2, 176, 167, 1, 0, 25, 48, 0, 0, 0, 0, 255, 0, 0, 0, 2, 177, 167, 1, 0, 32, 0, 20, 0, 0, - 0, 0, 16, 2, 50, 170, 21, 0, 0, 0, 0, 9, 29, 0, 0, 2, 51, 170, 0, 21, 0, 0, 0, 0, 19, 152, 1, - 0, 2, 52, 170, 8, 0, 9, 80, 176, 3, 0, 13, 168, 0, 0, 0, 14, 154, 139, 3, 0, 14, 11, 1, 0, 0, - 0, 9, 101, 176, 3, 0, 13, 168, 0, 0, 0, 14, 154, 139, 3, 0, 14, 168, 0, 0, 0, 14, 9, 29, 0, 0, - 0, 9, 127, 176, 3, 0, 32, 14, 154, 139, 3, 0, 14, 168, 0, 0, 0, 14, 9, 29, 0, 0, 0, 9, 149, - 176, 3, 0, 13, 168, 0, 0, 0, 14, 154, 139, 3, 0, 14, 168, 0, 0, 0, 14, 9, 29, 0, 0, 14, 168, 0, - 0, 0, 0, 9, 180, 176, 3, 0, 32, 14, 154, 139, 3, 0, 14, 168, 0, 0, 0, 14, 9, 29, 0, 0, 14, 168, - 0, 0, 0, 0, 9, 207, 176, 3, 0, 32, 14, 154, 139, 3, 0, 14, 168, 0, 0, 0, 14, 118, 55, 0, 0, 0, - 9, 229, 176, 3, 0, 13, 168, 0, 0, 0, 14, 154, 139, 3, 0, 14, 168, 0, 0, 0, 14, 255, 176, 3, 0, - 14, 19, 152, 1, 0, 0, 47, 0, 0, 0, 0, 16, 2, 24, 170, 1, 0, 48, 0, 0, 0, 0, 127, 29, 0, 0, 2, - 25, 170, 1, 0, 0, 48, 0, 0, 0, 0, 127, 29, 0, 0, 2, 26, 170, 1, 0, 8, 0, 9, 46, 177, 3, 0, 13, - 168, 0, 0, 0, 14, 154, 139, 3, 0, 14, 168, 0, 0, 0, 14, 219, 52, 0, 0, 14, 19, 152, 1, 0, 0, 9, - 77, 177, 3, 0, 13, 168, 0, 0, 0, 14, 154, 139, 3, 0, 14, 168, 0, 0, 0, 14, 103, 177, 3, 0, 14, - 19, 152, 1, 0, 0, 9, 108, 177, 3, 0, 26, 113, 177, 3, 0, 47, 0, 0, 0, 0, 56, 2, 52, 170, 1, 0, - 48, 0, 0, 0, 0, 170, 177, 3, 0, 2, 53, 170, 1, 0, 0, 48, 0, 0, 0, 0, 177, 69, 0, 0, 2, 54, 170, - 1, 0, 48, 48, 0, 0, 0, 0, 177, 69, 0, 0, 2, 55, 170, 1, 0, 50, 0, 47, 0, 0, 0, 0, 48, 2, 43, - 170, 1, 0, 48, 0, 0, 0, 0, 227, 28, 0, 0, 2, 44, 170, 1, 0, 0, 48, 0, 0, 0, 0, 9, 29, 0, 0, 2, - 45, 170, 1, 0, 16, 48, 0, 0, 0, 0, 16, 178, 3, 0, 2, 46, 170, 1, 0, 24, 48, 0, 0, 0, 0, 125, - 68, 0, 0, 2, 47, 170, 1, 0, 28, 48, 0, 0, 0, 0, 255, 0, 0, 0, 2, 48, 170, 1, 0, 32, 48, 0, 0, - 0, 0, 98, 178, 3, 0, 2, 49, 170, 1, 0, 40, 0, 19, 11, 1, 0, 0, 0, 0, 0, 0, 4, 2, 29, 170, 1, 0, - 18, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 1, 18, 0, 0, 0, 0, 2, 18, 0, 0, 0, 0, 3, 18, 0, 0, 0, 0, 4, - 18, 0, 0, 0, 0, 5, 18, 0, 0, 0, 0, 6, 18, 0, 0, 0, 0, 7, 18, 0, 0, 0, 0, 8, 18, 0, 0, 0, 0, 9, - 18, 0, 0, 0, 0, 10, 0, 9, 103, 178, 3, 0, 32, 14, 9, 29, 0, 0, 14, 168, 0, 0, 0, 14, 255, 0, 0, - 0, 0, 9, 125, 178, 3, 0, 13, 168, 0, 0, 0, 14, 154, 139, 3, 0, 14, 168, 0, 0, 0, 14, 103, 177, - 3, 0, 0, 9, 151, 178, 3, 0, 13, 168, 0, 0, 0, 14, 154, 139, 3, 0, 14, 168, 0, 0, 0, 14, 147, - 68, 0, 0, 14, 177, 69, 0, 0, 0, 9, 182, 178, 3, 0, 13, 168, 0, 0, 0, 14, 154, 139, 3, 0, 14, - 168, 0, 0, 0, 14, 208, 178, 3, 0, 14, 255, 0, 0, 0, 0, 9, 213, 178, 3, 0, 54, 227, 178, 3, 0, - 0, 0, 0, 0, 2, 182, 170, 1, 0, 13, 168, 0, 0, 0, 14, 147, 68, 0, 0, 14, 177, 69, 0, 0, 14, 219, - 52, 0, 0, 14, 255, 0, 0, 0, 0, 9, 2, 179, 3, 0, 13, 168, 0, 0, 0, 14, 154, 139, 3, 0, 14, 168, - 0, 0, 0, 14, 23, 179, 3, 0, 0, 9, 28, 179, 3, 0, 26, 33, 179, 3, 0, 47, 0, 0, 0, 0, 56, 2, 58, - 170, 1, 0, 48, 0, 0, 0, 0, 170, 177, 3, 0, 2, 59, 170, 1, 0, 0, 48, 0, 0, 0, 0, 62, 114, 3, 0, - 2, 60, 170, 1, 0, 48, 48, 0, 0, 0, 0, 177, 69, 0, 0, 2, 61, 170, 1, 0, 54, 0, 9, 95, 179, 3, 0, - 13, 168, 0, 0, 0, 14, 154, 139, 3, 0, 14, 168, 0, 0, 0, 14, 186, 110, 3, 0, 14, 175, 236, 0, 0, - 0, 9, 126, 179, 3, 0, 13, 168, 0, 0, 0, 14, 154, 139, 3, 0, 14, 168, 0, 0, 0, 14, 186, 110, 3, - 0, 0, 9, 152, 179, 3, 0, 13, 168, 0, 0, 0, 14, 154, 139, 3, 0, 14, 168, 0, 0, 0, 14, 178, 179, - 3, 0, 14, 219, 52, 0, 0, 0, 9, 183, 179, 3, 0, 47, 0, 0, 0, 0, 96, 2, 148, 168, 1, 0, 48, 0, 0, - 0, 0, 29, 180, 3, 0, 2, 149, 168, 1, 0, 0, 48, 0, 0, 0, 0, 101, 180, 3, 0, 2, 150, 168, 1, 0, - 24, 48, 0, 0, 0, 0, 127, 29, 0, 0, 2, 151, 168, 1, 0, 32, 48, 0, 0, 0, 0, 147, 180, 3, 0, 2, - 152, 168, 1, 0, 40, 48, 0, 0, 0, 0, 9, 190, 3, 0, 2, 153, 168, 1, 0, 48, 48, 0, 0, 0, 0, 125, - 68, 0, 0, 2, 154, 168, 1, 0, 88, 0, 47, 0, 0, 0, 0, 24, 2, 141, 168, 1, 0, 48, 0, 0, 0, 0, 125, - 68, 0, 0, 2, 142, 168, 1, 0, 0, 48, 0, 0, 0, 0, 244, 48, 0, 0, 2, 143, 168, 1, 0, 4, 48, 0, 0, - 0, 0, 125, 68, 0, 0, 2, 144, 168, 1, 0, 8, 48, 0, 0, 0, 0, 19, 152, 1, 0, 2, 145, 168, 1, 0, - 16, 0, 19, 11, 1, 0, 0, 0, 0, 0, 0, 4, 2, 133, 168, 1, 0, 18, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 1, - 18, 0, 0, 0, 0, 2, 18, 0, 0, 0, 0, 3, 18, 0, 0, 0, 0, 4, 0, 9, 152, 180, 3, 0, 47, 0, 0, 0, 0, - 32, 2, 119, 168, 1, 0, 48, 0, 0, 0, 0, 194, 180, 3, 0, 2, 120, 168, 1, 0, 0, 48, 0, 0, 0, 0, - 54, 181, 3, 0, 2, 121, 168, 1, 0, 24, 0, 47, 0, 0, 0, 0, 24, 2, 180, 167, 1, 0, 48, 0, 0, 0, 0, - 251, 180, 3, 0, 2, 181, 167, 1, 0, 0, 48, 0, 0, 0, 0, 255, 0, 0, 0, 2, 182, 167, 1, 0, 8, 48, - 0, 0, 0, 0, 255, 0, 0, 0, 2, 183, 167, 1, 0, 16, 0, 9, 0, 181, 3, 0, 47, 0, 0, 0, 0, 60, 2, - 109, 166, 1, 0, 48, 0, 0, 0, 0, 11, 1, 0, 0, 2, 110, 166, 1, 0, 0, 48, 0, 0, 0, 0, 42, 181, 3, - 0, 2, 111, 166, 1, 0, 4, 0, 3, 225, 48, 0, 0, 4, 82, 0, 0, 0, 28, 0, 47, 0, 0, 0, 0, 8, 2, 114, - 168, 1, 0, 48, 0, 0, 0, 0, 11, 1, 0, 0, 2, 115, 168, 1, 0, 0, 48, 0, 0, 0, 0, 96, 181, 3, 0, 2, - 116, 168, 1, 0, 8, 0, 3, 108, 181, 3, 0, 4, 82, 0, 0, 0, 0, 0, 47, 0, 0, 0, 0, 80, 2, 28, 168, - 1, 0, 48, 0, 0, 0, 0, 246, 185, 3, 0, 2, 29, 168, 1, 0, 0, 48, 0, 0, 0, 0, 192, 186, 3, 0, 2, - 30, 168, 1, 0, 4, 48, 0, 0, 0, 0, 238, 186, 3, 0, 2, 31, 168, 1, 0, 8, 48, 0, 0, 0, 0, 255, 0, - 0, 0, 2, 32, 168, 1, 0, 16, 51, 190, 181, 3, 0, 2, 33, 168, 1, 0, 24, 59, 48, 2, 33, 168, 1, 0, - 48, 0, 0, 0, 0, 125, 68, 0, 0, 2, 34, 168, 1, 0, 0, 48, 0, 0, 0, 0, 9, 29, 0, 0, 2, 35, 168, 1, - 0, 0, 48, 0, 0, 0, 0, 242, 181, 3, 0, 2, 40, 168, 1, 0, 0, 60, 6, 2, 36, 168, 1, 0, 48, 0, 0, - 0, 0, 177, 69, 0, 0, 2, 37, 168, 1, 0, 0, 48, 0, 0, 0, 0, 244, 48, 0, 0, 2, 38, 168, 1, 0, 2, - 48, 0, 0, 0, 0, 118, 55, 0, 0, 2, 39, 168, 1, 0, 4, 0, 48, 0, 0, 0, 0, 54, 182, 3, 0, 2, 46, - 168, 1, 0, 0, 60, 16, 2, 41, 168, 1, 0, 48, 0, 0, 0, 0, 252, 186, 3, 0, 2, 42, 168, 1, 0, 0, - 48, 0, 0, 0, 0, 125, 68, 0, 0, 2, 43, 168, 1, 0, 4, 48, 0, 0, 0, 0, 125, 68, 0, 0, 2, 44, 168, - 1, 0, 8, 48, 0, 0, 0, 0, 125, 68, 0, 0, 2, 45, 168, 1, 0, 12, 0, 48, 0, 0, 0, 0, 48, 187, 3, 0, - 2, 47, 168, 1, 0, 0, 48, 0, 0, 0, 0, 125, 68, 0, 0, 2, 48, 168, 1, 0, 0, 48, 0, 0, 0, 0, 125, - 68, 0, 0, 2, 49, 168, 1, 0, 0, 48, 0, 0, 0, 0, 177, 69, 0, 0, 2, 50, 168, 1, 0, 0, 48, 0, 0, 0, - 0, 125, 68, 0, 0, 2, 51, 168, 1, 0, 0, 48, 0, 0, 0, 0, 212, 182, 3, 0, 2, 56, 168, 1, 0, 0, 60, - 12, 2, 52, 168, 1, 0, 48, 0, 0, 0, 0, 125, 68, 0, 0, 2, 53, 168, 1, 0, 0, 48, 0, 0, 0, 0, 125, - 68, 0, 0, 2, 54, 168, 1, 0, 4, 48, 0, 0, 0, 0, 118, 55, 0, 0, 2, 55, 168, 1, 0, 8, 0, 48, 0, 0, - 0, 0, 24, 183, 3, 0, 2, 62, 168, 1, 0, 0, 60, 24, 2, 57, 168, 1, 0, 48, 0, 0, 0, 0, 12, 189, 3, - 0, 2, 58, 168, 1, 0, 0, 48, 0, 0, 0, 0, 125, 68, 0, 0, 2, 59, 168, 1, 0, 8, 48, 0, 0, 0, 0, - 125, 68, 0, 0, 2, 60, 168, 1, 0, 12, 48, 0, 0, 0, 0, 219, 52, 0, 0, 2, 61, 168, 1, 0, 16, 0, - 48, 0, 0, 0, 0, 107, 183, 3, 0, 2, 70, 168, 1, 0, 0, 60, 40, 2, 63, 168, 1, 0, 48, 0, 0, 0, 0, - 125, 68, 0, 0, 2, 64, 168, 1, 0, 0, 48, 0, 0, 0, 0, 125, 68, 0, 0, 2, 65, 168, 1, 0, 4, 48, 0, - 0, 0, 0, 136, 68, 0, 0, 2, 66, 168, 1, 0, 8, 48, 0, 0, 0, 0, 136, 68, 0, 0, 2, 67, 168, 1, 0, - 16, 48, 0, 0, 0, 0, 136, 68, 0, 0, 2, 68, 168, 1, 0, 24, 48, 0, 0, 0, 0, 125, 68, 0, 0, 2, 69, - 168, 1, 0, 32, 0, 48, 0, 0, 0, 0, 220, 183, 3, 0, 2, 75, 168, 1, 0, 0, 60, 16, 2, 71, 168, 1, - 0, 48, 0, 0, 0, 0, 168, 0, 0, 0, 2, 72, 168, 1, 0, 0, 48, 0, 0, 0, 0, 177, 69, 0, 0, 2, 73, - 168, 1, 0, 4, 48, 0, 0, 0, 0, 119, 189, 3, 0, 2, 74, 168, 1, 0, 8, 0, 48, 0, 0, 0, 0, 32, 184, - 3, 0, 2, 81, 168, 1, 0, 0, 60, 32, 2, 76, 168, 1, 0, 48, 0, 0, 0, 0, 127, 29, 0, 0, 2, 77, 168, - 1, 0, 0, 48, 0, 0, 0, 0, 125, 68, 0, 0, 2, 78, 168, 1, 0, 8, 48, 0, 0, 0, 0, 129, 189, 3, 0, 2, - 79, 168, 1, 0, 12, 48, 0, 0, 0, 0, 219, 52, 0, 0, 2, 80, 168, 1, 0, 28, 0, 48, 0, 0, 0, 0, 115, - 184, 3, 0, 2, 88, 168, 1, 0, 0, 60, 12, 2, 82, 168, 1, 0, 48, 0, 0, 0, 0, 125, 68, 0, 0, 2, 83, - 168, 1, 0, 0, 48, 0, 0, 0, 0, 244, 48, 0, 0, 2, 84, 168, 1, 0, 4, 48, 0, 0, 0, 0, 118, 55, 0, - 0, 2, 85, 168, 1, 0, 6, 48, 0, 0, 0, 0, 118, 55, 0, 0, 2, 86, 168, 1, 0, 7, 48, 0, 0, 0, 0, - 118, 55, 0, 0, 2, 87, 168, 1, 0, 8, 0, 48, 0, 0, 0, 0, 213, 184, 3, 0, 2, 91, 168, 1, 0, 0, 60, - 2, 2, 89, 168, 1, 0, 48, 0, 0, 0, 0, 244, 48, 0, 0, 2, 90, 168, 1, 0, 0, 0, 48, 0, 0, 0, 0, - 251, 184, 3, 0, 2, 97, 168, 1, 0, 0, 60, 8, 2, 92, 168, 1, 0, 48, 0, 0, 0, 0, 125, 68, 0, 0, 2, - 93, 168, 1, 0, 0, 48, 0, 0, 0, 0, 118, 55, 0, 0, 2, 94, 168, 1, 0, 4, 48, 0, 0, 0, 0, 118, 55, - 0, 0, 2, 95, 168, 1, 0, 5, 48, 0, 0, 0, 0, 118, 55, 0, 0, 2, 96, 168, 1, 0, 6, 0, 48, 0, 0, 0, - 0, 78, 185, 3, 0, 2, 106, 168, 1, 0, 0, 60, 48, 2, 98, 168, 1, 0, 48, 0, 0, 0, 0, 125, 68, 0, - 0, 2, 99, 168, 1, 0, 0, 48, 0, 0, 0, 0, 101, 103, 0, 0, 2, 100, 168, 1, 0, 4, 48, 0, 0, 0, 0, - 136, 68, 0, 0, 2, 101, 168, 1, 0, 8, 48, 0, 0, 0, 0, 136, 68, 0, 0, 2, 102, 168, 1, 0, 16, 48, - 0, 0, 0, 0, 136, 68, 0, 0, 2, 103, 168, 1, 0, 24, 48, 0, 0, 0, 0, 125, 68, 0, 0, 2, 104, 168, - 1, 0, 32, 48, 0, 0, 0, 0, 141, 189, 3, 0, 2, 105, 168, 1, 0, 40, 0, 48, 0, 0, 0, 0, 206, 185, - 3, 0, 2, 109, 168, 1, 0, 0, 60, 2, 2, 107, 168, 1, 0, 48, 0, 0, 0, 0, 177, 69, 0, 0, 2, 108, - 168, 1, 0, 0, 0, 0, 48, 0, 0, 0, 0, 218, 189, 3, 0, 2, 111, 168, 1, 0, 72, 0, 19, 11, 1, 0, 0, - 0, 0, 0, 0, 4, 2, 186, 167, 1, 0, 18, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 1, 18, 0, 0, 0, 0, 2, 18, - 0, 0, 0, 0, 3, 18, 0, 0, 0, 0, 4, 18, 0, 0, 0, 0, 5, 18, 0, 0, 0, 0, 6, 18, 0, 0, 0, 0, 7, 18, - 0, 0, 0, 0, 8, 18, 0, 0, 0, 0, 9, 18, 0, 0, 0, 0, 10, 18, 0, 0, 0, 0, 11, 18, 0, 0, 0, 0, 12, - 18, 0, 0, 0, 0, 13, 18, 0, 0, 0, 0, 14, 18, 0, 0, 0, 0, 15, 18, 0, 0, 0, 0, 16, 18, 0, 0, 0, 0, - 17, 18, 0, 0, 0, 0, 18, 18, 0, 0, 0, 0, 19, 18, 0, 0, 0, 0, 20, 18, 0, 0, 0, 0, 21, 18, 0, 0, - 0, 0, 22, 18, 0, 0, 0, 0, 23, 18, 0, 0, 0, 0, 24, 18, 0, 0, 0, 0, 25, 18, 0, 0, 0, 0, 26, 18, - 0, 0, 0, 0, 27, 18, 0, 0, 0, 0, 28, 18, 0, 0, 0, 0, 29, 18, 0, 0, 0, 0, 30, 0, 19, 11, 1, 0, 0, - 0, 0, 0, 0, 4, 2, 229, 167, 1, 0, 18, 0, 0, 0, 0, 1, 18, 0, 0, 0, 0, 2, 18, 0, 0, 0, 0, 3, 18, - 0, 0, 0, 0, 4, 18, 0, 0, 0, 0, 7, 0, 54, 125, 141, 0, 0, 0, 0, 0, 0, 2, 237, 167, 1, 0, 19, 11, - 1, 0, 0, 0, 0, 0, 0, 4, 2, 220, 167, 1, 0, 18, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 1, 18, 0, 0, 0, - 0, 2, 18, 0, 0, 0, 0, 3, 18, 0, 0, 0, 0, 4, 18, 0, 0, 0, 0, 5, 0, 9, 53, 187, 3, 0, 47, 0, 0, - 0, 0, 80, 2, 17, 168, 1, 0, 48, 0, 0, 0, 0, 125, 187, 3, 0, 2, 18, 168, 1, 0, 0, 48, 0, 0, 0, - 0, 115, 188, 3, 0, 2, 19, 168, 1, 0, 56, 48, 0, 0, 0, 0, 118, 55, 0, 0, 2, 20, 168, 1, 0, 72, - 48, 0, 0, 0, 0, 118, 55, 0, 0, 2, 21, 168, 1, 0, 73, 0, 47, 0, 0, 0, 0, 56, 2, 246, 167, 1, 0, - 48, 0, 0, 0, 0, 81, 147, 1, 0, 2, 247, 167, 1, 0, 0, 48, 0, 0, 0, 0, 166, 187, 3, 0, 2, 1, 168, - 1, 0, 8, 59, 32, 2, 248, 167, 1, 0, 48, 0, 0, 0, 0, 188, 187, 3, 0, 2, 252, 167, 1, 0, 0, 60, - 8, 2, 249, 167, 1, 0, 48, 0, 0, 0, 0, 190, 48, 0, 0, 2, 250, 167, 1, 0, 0, 48, 0, 0, 0, 0, 190, - 48, 0, 0, 2, 251, 167, 1, 0, 4, 0, 48, 0, 0, 0, 0, 241, 187, 3, 0, 2, 0, 168, 1, 0, 0, 60, 32, - 2, 253, 167, 1, 0, 48, 0, 0, 0, 0, 11, 150, 1, 0, 2, 254, 167, 1, 0, 0, 48, 0, 0, 0, 0, 11, - 150, 1, 0, 2, 255, 167, 1, 0, 16, 0, 0, 48, 0, 0, 0, 0, 244, 48, 0, 0, 2, 2, 168, 1, 0, 40, 48, - 0, 0, 0, 0, 118, 55, 0, 0, 2, 3, 168, 1, 0, 42, 48, 0, 0, 0, 0, 118, 55, 0, 0, 2, 4, 168, 1, 0, - 43, 48, 0, 0, 0, 0, 190, 48, 0, 0, 2, 5, 168, 1, 0, 44, 48, 0, 0, 0, 0, 244, 48, 0, 0, 2, 6, - 168, 1, 0, 48, 48, 0, 0, 0, 0, 244, 48, 0, 0, 2, 7, 168, 1, 0, 50, 0, 47, 0, 0, 0, 0, 16, 2, - 12, 168, 1, 0, 48, 0, 0, 0, 0, 157, 188, 3, 0, 2, 13, 168, 1, 0, 0, 48, 0, 0, 0, 0, 127, 29, 0, - 0, 2, 14, 168, 1, 0, 8, 0, 9, 162, 188, 3, 0, 47, 0, 0, 0, 0, 40, 2, 168, 185, 1, 0, 48, 0, 0, - 0, 0, 127, 29, 0, 0, 2, 169, 185, 1, 0, 0, 48, 0, 0, 0, 0, 65, 166, 1, 0, 2, 170, 185, 1, 0, 8, - 48, 0, 0, 0, 0, 125, 68, 0, 0, 2, 171, 185, 1, 0, 16, 51, 229, 188, 3, 0, 2, 172, 185, 1, 0, - 20, 59, 16, 2, 172, 185, 1, 0, 48, 0, 0, 0, 0, 249, 219, 1, 0, 2, 173, 185, 1, 0, 0, 48, 0, 0, - 0, 0, 11, 150, 1, 0, 2, 174, 185, 1, 0, 0, 0, 0, 9, 17, 189, 3, 0, 47, 0, 0, 0, 0, 56, 2, 195, - 190, 1, 0, 48, 0, 0, 0, 0, 227, 28, 0, 0, 2, 196, 190, 1, 0, 0, 48, 0, 0, 0, 0, 115, 125, 1, 0, - 2, 197, 190, 1, 0, 16, 48, 0, 0, 0, 0, 125, 68, 0, 0, 2, 198, 190, 1, 0, 24, 48, 0, 0, 0, 0, - 125, 68, 0, 0, 2, 199, 190, 1, 0, 28, 48, 0, 0, 0, 0, 125, 68, 0, 0, 2, 200, 190, 1, 0, 32, 48, - 0, 0, 0, 0, 65, 29, 0, 0, 2, 201, 190, 1, 0, 40, 0, 9, 124, 189, 3, 0, 45, 0, 0, 0, 0, 3, 125, - 68, 0, 0, 4, 82, 0, 0, 0, 4, 0, 9, 146, 189, 3, 0, 47, 0, 0, 0, 0, 16, 2, 204, 190, 1, 0, 48, - 0, 0, 0, 0, 118, 55, 0, 0, 2, 205, 190, 1, 0, 0, 48, 0, 0, 0, 0, 125, 68, 0, 0, 2, 206, 190, 1, - 0, 4, 48, 0, 0, 0, 0, 101, 103, 0, 0, 2, 207, 190, 1, 0, 8, 48, 0, 0, 0, 0, 101, 103, 0, 0, 2, - 208, 190, 1, 0, 12, 0, 9, 223, 189, 3, 0, 47, 0, 0, 0, 0, 4, 2, 239, 167, 1, 0, 48, 0, 0, 0, 0, - 125, 68, 0, 0, 2, 240, 167, 1, 0, 0, 48, 0, 0, 0, 0, 227, 16, 1, 0, 2, 241, 167, 1, 0, 4, 0, - 47, 0, 0, 0, 0, 40, 2, 124, 168, 1, 0, 48, 0, 0, 0, 0, 136, 68, 0, 0, 2, 125, 168, 1, 0, 0, 48, - 0, 0, 0, 0, 136, 68, 0, 0, 2, 126, 168, 1, 0, 8, 48, 0, 0, 0, 0, 136, 68, 0, 0, 2, 127, 168, 1, - 0, 16, 48, 0, 0, 0, 0, 136, 68, 0, 0, 2, 128, 168, 1, 0, 24, 48, 0, 0, 0, 0, 192, 186, 3, 0, 2, - 129, 168, 1, 0, 32, 48, 0, 0, 0, 0, 219, 52, 0, 0, 2, 130, 168, 1, 0, 36, 0, 9, 116, 190, 3, 0, - 13, 168, 0, 0, 0, 14, 154, 139, 3, 0, 14, 168, 0, 0, 0, 14, 142, 190, 3, 0, 14, 219, 52, 0, 0, - 0, 9, 147, 190, 3, 0, 47, 0, 0, 0, 0, 2, 2, 137, 170, 1, 0, 48, 0, 0, 0, 0, 118, 55, 0, 0, 2, - 138, 170, 1, 0, 0, 48, 0, 0, 0, 0, 219, 52, 0, 0, 2, 139, 170, 1, 0, 1, 0, 9, 194, 190, 3, 0, - 32, 14, 154, 139, 3, 0, 14, 168, 0, 0, 0, 14, 142, 190, 3, 0, 0, 9, 216, 190, 3, 0, 13, 168, 0, - 0, 0, 14, 154, 139, 3, 0, 14, 168, 0, 0, 0, 14, 237, 190, 3, 0, 0, 9, 242, 190, 3, 0, 47, 0, 0, - 0, 0, 16, 2, 142, 170, 1, 0, 48, 0, 0, 0, 0, 125, 68, 0, 0, 2, 143, 170, 1, 0, 0, 48, 0, 0, 0, - 0, 136, 68, 0, 0, 2, 144, 170, 1, 0, 8, 0, 9, 33, 191, 3, 0, 13, 168, 0, 0, 0, 14, 154, 139, 3, - 0, 14, 168, 0, 0, 0, 14, 14, 16, 0, 0, 14, 255, 0, 0, 0, 0, 9, 64, 191, 3, 0, 13, 168, 0, 0, 0, - 14, 154, 139, 3, 0, 14, 168, 0, 0, 0, 14, 168, 0, 0, 0, 14, 168, 0, 0, 0, 14, 9, 29, 0, 0, 0, - 9, 100, 191, 3, 0, 32, 14, 154, 139, 3, 0, 14, 168, 0, 0, 0, 14, 168, 0, 0, 0, 14, 168, 0, 0, - 0, 14, 9, 29, 0, 0, 0, 9, 132, 191, 3, 0, 13, 168, 0, 0, 0, 14, 154, 139, 3, 0, 14, 168, 0, 0, - 0, 14, 168, 0, 0, 0, 14, 9, 29, 0, 0, 14, 163, 191, 3, 0, 0, 9, 168, 191, 3, 0, 47, 0, 0, 0, 0, - 8, 2, 167, 167, 1, 0, 48, 0, 0, 0, 0, 210, 191, 3, 0, 2, 168, 167, 1, 0, 0, 48, 0, 0, 0, 0, 6, - 192, 3, 0, 2, 169, 167, 1, 0, 4, 0, 19, 11, 1, 0, 0, 0, 0, 0, 0, 4, 2, 147, 167, 1, 0, 18, 0, - 0, 0, 0, 0, 18, 0, 0, 0, 0, 1, 18, 0, 0, 0, 0, 2, 18, 0, 0, 0, 0, 3, 18, 0, 0, 0, 0, 4, 18, 0, - 0, 0, 0, 5, 0, 19, 11, 1, 0, 0, 0, 0, 0, 0, 4, 2, 156, 167, 1, 0, 18, 0, 0, 0, 0, 0, 18, 0, 0, - 0, 0, 1, 18, 0, 0, 0, 0, 2, 18, 0, 0, 0, 0, 3, 18, 0, 0, 0, 0, 4, 18, 0, 0, 0, 0, 5, 18, 0, 0, - 0, 0, 6, 18, 0, 0, 0, 0, 7, 0, 9, 75, 192, 3, 0, 13, 168, 0, 0, 0, 14, 154, 139, 3, 0, 14, 168, - 0, 0, 0, 14, 168, 0, 0, 0, 14, 9, 29, 0, 0, 0, 9, 106, 192, 3, 0, 13, 168, 0, 0, 0, 14, 154, - 139, 3, 0, 14, 168, 0, 0, 0, 14, 52, 51, 3, 0, 0, 9, 132, 192, 3, 0, 32, 14, 154, 139, 3, 0, - 14, 168, 0, 0, 0, 14, 94, 34, 0, 0, 0, 9, 154, 192, 3, 0, 13, 219, 52, 0, 0, 14, 154, 139, 3, - 0, 14, 168, 0, 0, 0, 14, 94, 34, 0, 0, 14, 11, 1, 0, 0, 0, 9, 185, 192, 3, 0, 13, 168, 0, 0, 0, - 14, 154, 139, 3, 0, 14, 125, 68, 0, 0, 14, 206, 192, 3, 0, 0, 9, 211, 192, 3, 0, 47, 0, 0, 0, - 0, 36, 2, 176, 169, 1, 0, 48, 0, 0, 0, 0, 253, 192, 3, 0, 2, 177, 169, 1, 0, 0, 48, 0, 0, 0, 0, - 84, 193, 3, 0, 2, 178, 169, 1, 0, 32, 0, 58, 0, 0, 0, 0, 32, 2, 168, 169, 1, 0, 48, 0, 0, 0, 0, - 118, 55, 0, 0, 2, 169, 169, 1, 0, 0, 48, 0, 0, 0, 0, 177, 69, 0, 0, 2, 170, 169, 1, 0, 0, 48, - 0, 0, 0, 0, 125, 68, 0, 0, 2, 171, 169, 1, 0, 0, 48, 0, 0, 0, 0, 28, 201, 0, 0, 2, 172, 169, 1, - 0, 0, 48, 0, 0, 0, 0, 219, 52, 0, 0, 2, 173, 169, 1, 0, 0, 0, 19, 11, 1, 0, 0, 0, 0, 0, 0, 4, - 2, 212, 168, 1, 0, 18, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 1, 18, 0, 0, 0, 0, 2, 18, 0, 0, 0, 0, 3, - 18, 0, 0, 0, 0, 2, 0, 9, 135, 193, 3, 0, 13, 168, 0, 0, 0, 14, 154, 139, 3, 0, 14, 35, 85, 3, - 0, 14, 19, 152, 1, 0, 0, 9, 161, 193, 3, 0, 13, 168, 0, 0, 0, 14, 154, 139, 3, 0, 14, 11, 1, 0, - 0, 14, 177, 69, 0, 0, 14, 0, 83, 3, 0, 0, 9, 192, 193, 3, 0, 13, 168, 0, 0, 0, 14, 154, 139, 3, - 0, 14, 11, 1, 0, 0, 14, 177, 69, 0, 0, 14, 125, 68, 0, 0, 14, 112, 17, 0, 0, 14, 19, 152, 1, 0, - 0, 9, 233, 193, 3, 0, 13, 168, 0, 0, 0, 14, 154, 139, 3, 0, 14, 168, 0, 0, 0, 14, 11, 1, 0, 0, - 14, 177, 69, 0, 0, 14, 175, 236, 0, 0, 0, 9, 13, 194, 3, 0, 13, 168, 0, 0, 0, 14, 154, 139, 3, - 0, 14, 168, 0, 0, 0, 14, 11, 1, 0, 0, 14, 177, 69, 0, 0, 14, 125, 68, 0, 0, 14, 19, 152, 1, 0, - 0, 9, 54, 194, 3, 0, 13, 168, 0, 0, 0, 14, 154, 139, 3, 0, 14, 168, 0, 0, 0, 14, 11, 1, 0, 0, - 14, 177, 69, 0, 0, 14, 84, 17, 0, 0, 14, 226, 83, 3, 0, 14, 175, 236, 0, 0, 0, 9, 100, 194, 3, - 0, 13, 168, 0, 0, 0, 14, 154, 139, 3, 0, 14, 168, 0, 0, 0, 14, 11, 1, 0, 0, 14, 177, 69, 0, 0, - 14, 84, 17, 0, 0, 14, 177, 69, 0, 0, 14, 125, 68, 0, 0, 14, 19, 152, 1, 0, 0, 9, 151, 194, 3, - 0, 13, 168, 0, 0, 0, 14, 154, 139, 3, 0, 14, 168, 0, 0, 0, 14, 11, 1, 0, 0, 14, 177, 69, 0, 0, - 14, 175, 236, 0, 0, 14, 175, 236, 0, 0, 0, 9, 192, 194, 3, 0, 13, 168, 0, 0, 0, 14, 154, 139, - 3, 0, 14, 168, 0, 0, 0, 14, 11, 1, 0, 0, 14, 177, 69, 0, 0, 14, 84, 17, 0, 0, 14, 175, 236, 0, - 0, 14, 175, 236, 0, 0, 0, 9, 238, 194, 3, 0, 13, 168, 0, 0, 0, 14, 154, 139, 3, 0, 14, 168, 0, - 0, 0, 14, 9, 29, 0, 0, 14, 163, 191, 3, 0, 0, 9, 13, 195, 3, 0, 13, 168, 0, 0, 0, 14, 154, 139, - 3, 0, 14, 168, 0, 0, 0, 14, 34, 195, 3, 0, 0, 9, 39, 195, 3, 0, 26, 44, 195, 3, 0, 47, 0, 0, 0, - 0, 72, 2, 64, 170, 1, 0, 48, 0, 0, 0, 0, 170, 177, 3, 0, 2, 65, 170, 1, 0, 0, 48, 0, 0, 0, 0, - 9, 29, 0, 0, 2, 66, 170, 1, 0, 48, 48, 0, 0, 0, 0, 9, 29, 0, 0, 2, 67, 170, 1, 0, 56, 48, 0, 0, - 0, 0, 125, 68, 0, 0, 2, 68, 170, 1, 0, 64, 48, 0, 0, 0, 0, 177, 69, 0, 0, 2, 69, 170, 1, 0, 68, - 0, 9, 136, 195, 3, 0, 13, 168, 0, 0, 0, 14, 154, 139, 3, 0, 14, 168, 0, 0, 0, 14, 157, 195, 3, - 0, 0, 9, 162, 195, 3, 0, 26, 167, 195, 3, 0, 47, 0, 0, 0, 0, 64, 2, 72, 170, 1, 0, 48, 0, 0, 0, - 0, 170, 177, 3, 0, 2, 73, 170, 1, 0, 0, 48, 0, 0, 0, 0, 118, 55, 0, 0, 2, 74, 170, 1, 0, 48, - 48, 0, 0, 0, 0, 125, 68, 0, 0, 2, 75, 170, 1, 0, 52, 48, 0, 0, 0, 0, 118, 55, 0, 0, 2, 76, 170, - 1, 0, 56, 0, 9, 244, 195, 3, 0, 13, 168, 0, 0, 0, 14, 154, 139, 3, 0, 14, 168, 0, 0, 0, 14, - 177, 69, 0, 0, 14, 177, 69, 0, 0, 0, 9, 19, 196, 3, 0, 13, 168, 0, 0, 0, 14, 154, 139, 3, 0, - 14, 168, 0, 0, 0, 14, 177, 69, 0, 0, 0, 9, 45, 196, 3, 0, 45, 0, 0, 0, 0, 47, 0, 0, 0, 0, 24, - 2, 88, 167, 1, 0, 48, 0, 0, 0, 0, 203, 173, 0, 0, 2, 89, 167, 1, 0, 0, 48, 0, 0, 0, 0, 152, - 196, 3, 0, 2, 90, 167, 1, 0, 8, 48, 0, 0, 0, 0, 219, 52, 0, 0, 2, 91, 167, 1, 0, 12, 48, 0, 0, - 0, 0, 219, 52, 0, 0, 2, 92, 167, 1, 0, 13, 48, 0, 0, 0, 0, 219, 52, 0, 0, 2, 93, 167, 1, 0, 14, - 48, 0, 0, 0, 0, 180, 196, 3, 0, 2, 94, 167, 1, 0, 16, 0, 19, 11, 1, 0, 0, 0, 0, 0, 0, 4, 2, 81, - 167, 1, 0, 18, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 1, 0, 9, 185, 196, 3, 0, 32, 14, 197, 196, 3, 0, - 14, 65, 173, 3, 0, 0, 9, 50, 196, 3, 0, 9, 207, 196, 3, 0, 26, 212, 196, 3, 0, 47, 0, 0, 0, 0, - 8, 2, 117, 170, 1, 0, 48, 0, 0, 0, 0, 26, 51, 3, 0, 2, 118, 170, 1, 0, 0, 0, 9, 244, 196, 3, 0, - 45, 0, 0, 0, 0, 9, 254, 196, 3, 0, 50, 0, 0, 0, 0, 96, 1, 2, 15, 173, 1, 0, 48, 0, 0, 0, 0, 9, - 29, 0, 0, 2, 16, 173, 1, 0, 0, 48, 0, 0, 0, 0, 141, 64, 0, 0, 2, 17, 173, 1, 0, 8, 48, 0, 0, 0, - 0, 168, 0, 0, 0, 2, 18, 173, 1, 0, 12, 48, 0, 0, 0, 0, 86, 198, 3, 0, 2, 19, 173, 1, 0, 16, 48, - 0, 0, 0, 0, 102, 199, 3, 0, 2, 20, 173, 1, 0, 24, 48, 0, 0, 0, 0, 33, 201, 3, 0, 2, 21, 173, 1, - 0, 32, 48, 0, 0, 0, 0, 168, 0, 0, 0, 2, 22, 173, 1, 0, 40, 48, 0, 0, 0, 0, 248, 68, 0, 0, 2, - 23, 173, 1, 0, 44, 48, 0, 0, 0, 0, 102, 199, 3, 0, 2, 24, 173, 1, 0, 48, 48, 0, 0, 0, 0, 127, - 29, 0, 0, 2, 25, 173, 1, 0, 56, 48, 0, 0, 0, 0, 127, 29, 0, 0, 2, 26, 173, 1, 0, 64, 48, 0, 0, - 0, 0, 127, 29, 0, 0, 2, 27, 173, 1, 0, 72, 48, 0, 0, 0, 0, 127, 29, 0, 0, 2, 28, 173, 1, 0, 80, - 48, 0, 0, 0, 0, 127, 29, 0, 0, 2, 29, 173, 1, 0, 88, 48, 0, 0, 0, 0, 5, 49, 0, 0, 2, 30, 173, - 1, 0, 96, 48, 0, 0, 0, 0, 5, 49, 0, 0, 2, 31, 173, 1, 0, 97, 48, 0, 0, 0, 0, 125, 68, 0, 0, 2, - 32, 173, 1, 0, 100, 48, 0, 0, 0, 0, 173, 161, 0, 0, 2, 33, 173, 1, 0, 104, 48, 0, 0, 0, 0, 173, - 161, 0, 0, 2, 34, 173, 1, 0, 144, 48, 0, 0, 0, 0, 5, 185, 1, 0, 2, 35, 173, 1, 0, 184, 48, 0, - 0, 0, 0, 13, 144, 1, 0, 2, 36, 173, 1, 0, 192, 53, 0, 0, 0, 0, 65, 29, 0, 0, 2, 37, 173, 1, 0, - 80, 1, 0, 9, 91, 198, 3, 0, 47, 0, 0, 0, 0, 120, 2, 180, 173, 1, 0, 48, 0, 0, 0, 0, 184, 28, 0, - 0, 2, 181, 173, 1, 0, 0, 48, 0, 0, 0, 0, 86, 198, 3, 0, 2, 182, 173, 1, 0, 16, 48, 0, 0, 0, 0, - 249, 196, 3, 0, 2, 183, 173, 1, 0, 24, 48, 0, 0, 0, 0, 65, 29, 0, 0, 2, 184, 173, 1, 0, 32, 48, - 0, 0, 0, 0, 190, 48, 0, 0, 2, 185, 173, 1, 0, 48, 48, 0, 0, 0, 0, 190, 48, 0, 0, 2, 186, 173, - 1, 0, 52, 48, 0, 0, 0, 0, 190, 48, 0, 0, 2, 187, 173, 1, 0, 56, 48, 0, 0, 0, 0, 0, 1, 0, 0, 2, - 188, 173, 1, 0, 60, 48, 0, 0, 0, 0, 190, 48, 0, 0, 2, 189, 173, 1, 0, 64, 48, 0, 0, 0, 0, 5, - 49, 0, 0, 2, 190, 173, 1, 0, 68, 48, 0, 0, 0, 0, 5, 49, 0, 0, 2, 191, 173, 1, 0, 69, 48, 0, 0, - 0, 0, 0, 1, 0, 0, 2, 192, 173, 1, 0, 72, 48, 0, 0, 0, 0, 105, 28, 0, 0, 2, 193, 173, 1, 0, 76, - 48, 0, 0, 0, 0, 0, 1, 0, 0, 2, 194, 173, 1, 0, 92, 48, 0, 0, 0, 0, 0, 1, 0, 0, 2, 195, 173, 1, - 0, 96, 48, 0, 0, 0, 0, 127, 29, 0, 0, 2, 196, 173, 1, 0, 104, 48, 0, 0, 0, 0, 127, 29, 0, 0, 2, - 197, 173, 1, 0, 112, 0, 9, 107, 199, 3, 0, 47, 0, 0, 0, 0, 144, 2, 240, 198, 1, 0, 48, 0, 0, 0, - 0, 249, 196, 3, 0, 2, 241, 198, 1, 0, 0, 48, 0, 0, 0, 0, 190, 48, 0, 0, 2, 242, 198, 1, 0, 8, - 48, 0, 0, 0, 0, 11, 1, 0, 0, 2, 243, 198, 1, 0, 12, 48, 0, 0, 0, 0, 182, 200, 3, 0, 2, 244, - 198, 1, 0, 16, 48, 0, 0, 0, 0, 182, 200, 3, 0, 2, 245, 198, 1, 0, 24, 48, 0, 0, 0, 0, 111, 105, - 0, 0, 2, 246, 198, 1, 0, 32, 51, 219, 199, 3, 0, 2, 247, 198, 1, 0, 48, 59, 8, 2, 247, 198, 1, - 0, 48, 0, 0, 0, 0, 102, 199, 3, 0, 2, 248, 198, 1, 0, 0, 48, 0, 0, 0, 0, 102, 199, 3, 0, 2, - 249, 198, 1, 0, 0, 0, 48, 0, 0, 0, 0, 102, 199, 3, 0, 2, 251, 198, 1, 0, 56, 48, 0, 0, 0, 0, - 173, 161, 0, 0, 2, 252, 198, 1, 0, 64, 48, 0, 0, 0, 0, 168, 0, 0, 0, 2, 253, 198, 1, 0, 104, - 48, 0, 0, 0, 0, 141, 64, 0, 0, 2, 254, 198, 1, 0, 108, 48, 0, 0, 0, 0, 248, 68, 0, 0, 2, 255, - 198, 1, 0, 112, 48, 0, 0, 0, 0, 75, 0, 0, 0, 2, 0, 199, 1, 0, 116, 48, 0, 0, 0, 0, 75, 0, 0, 0, - 2, 1, 199, 1, 0, 117, 48, 0, 0, 0, 0, 75, 0, 0, 0, 2, 2, 199, 1, 0, 118, 48, 0, 0, 0, 0, 75, 0, - 0, 0, 2, 3, 199, 1, 0, 119, 48, 0, 0, 0, 0, 5, 49, 0, 0, 2, 4, 199, 1, 0, 120, 48, 0, 0, 0, 0, - 5, 49, 0, 0, 2, 5, 199, 1, 0, 121, 48, 0, 0, 0, 0, 65, 29, 0, 0, 2, 6, 199, 1, 0, 128, 0, 9, - 187, 200, 3, 0, 47, 0, 0, 0, 0, 32, 2, 24, 199, 1, 0, 48, 0, 0, 0, 0, 182, 200, 3, 0, 2, 25, - 199, 1, 0, 0, 48, 0, 0, 0, 0, 111, 105, 0, 0, 2, 26, 199, 1, 0, 8, 48, 0, 0, 0, 0, 190, 48, 0, - 0, 2, 27, 199, 1, 0, 24, 48, 0, 0, 0, 0, 5, 49, 0, 0, 2, 28, 199, 1, 0, 28, 48, 0, 0, 0, 0, 5, - 49, 0, 0, 2, 29, 199, 1, 0, 29, 48, 0, 0, 0, 0, 5, 49, 0, 0, 2, 30, 199, 1, 0, 30, 0, 9, 102, - 199, 3, 0, 9, 43, 201, 3, 0, 50, 0, 0, 0, 0, 0, 4, 2, 80, 217, 1, 0, 48, 0, 0, 0, 0, 167, 204, - 3, 0, 2, 81, 217, 1, 0, 0, 48, 0, 0, 0, 0, 134, 219, 3, 0, 2, 82, 217, 1, 0, 8, 48, 0, 0, 0, 0, - 227, 28, 0, 0, 2, 83, 217, 1, 0, 16, 48, 0, 0, 0, 0, 9, 29, 0, 0, 2, 84, 217, 1, 0, 32, 48, 0, - 0, 0, 0, 125, 68, 0, 0, 2, 85, 217, 1, 0, 40, 48, 0, 0, 0, 0, 227, 28, 0, 0, 2, 86, 217, 1, 0, - 48, 49, 0, 0, 0, 0, 118, 55, 0, 0, 2, 87, 217, 1, 0, 1, 1, 7, 64, 48, 0, 0, 0, 0, 241, 106, 0, - 0, 2, 88, 217, 1, 0, 72, 48, 0, 0, 0, 0, 219, 52, 0, 0, 2, 89, 217, 1, 0, 104, 48, 0, 0, 0, 0, - 219, 52, 0, 0, 2, 90, 217, 1, 0, 105, 48, 0, 0, 0, 0, 219, 52, 0, 0, 2, 91, 217, 1, 0, 106, 48, - 0, 0, 0, 0, 219, 52, 0, 0, 2, 92, 217, 1, 0, 107, 48, 0, 0, 0, 0, 21, 60, 3, 0, 2, 93, 217, 1, - 0, 108, 48, 0, 0, 0, 0, 58, 189, 2, 0, 2, 94, 217, 1, 0, 114, 48, 0, 0, 0, 0, 118, 55, 0, 0, 2, - 95, 217, 1, 0, 146, 48, 0, 0, 0, 0, 118, 55, 0, 0, 2, 96, 217, 1, 0, 147, 48, 0, 0, 0, 0, 118, - 55, 0, 0, 2, 97, 217, 1, 0, 148, 48, 0, 0, 0, 0, 56, 231, 3, 0, 2, 98, 217, 1, 0, 152, 48, 0, - 0, 0, 0, 66, 231, 3, 0, 2, 99, 217, 1, 0, 160, 48, 0, 0, 0, 0, 76, 231, 3, 0, 2, 100, 217, 1, - 0, 168, 48, 0, 0, 0, 0, 125, 68, 0, 0, 2, 101, 217, 1, 0, 172, 48, 0, 0, 0, 0, 156, 163, 0, 0, - 2, 102, 217, 1, 0, 176, 48, 0, 0, 0, 0, 21, 60, 3, 0, 2, 103, 217, 1, 0, 208, 48, 0, 0, 0, 0, - 227, 28, 0, 0, 2, 104, 217, 1, 0, 216, 48, 0, 0, 0, 0, 248, 68, 0, 0, 2, 105, 217, 1, 0, 232, - 48, 0, 0, 0, 0, 122, 231, 3, 0, 2, 106, 217, 1, 0, 240, 48, 0, 0, 0, 0, 132, 231, 3, 0, 2, 107, - 217, 1, 0, 248, 53, 0, 0, 0, 0, 132, 231, 3, 0, 2, 108, 217, 1, 0, 24, 1, 53, 0, 0, 0, 0, 219, - 52, 0, 0, 2, 109, 217, 1, 0, 56, 1, 53, 0, 0, 0, 0, 219, 52, 0, 0, 2, 110, 217, 1, 0, 57, 1, - 53, 0, 0, 0, 0, 219, 52, 0, 0, 2, 111, 217, 1, 0, 58, 1, 53, 0, 0, 0, 0, 168, 0, 0, 0, 2, 112, - 217, 1, 0, 60, 1, 53, 0, 0, 0, 0, 168, 0, 0, 0, 2, 113, 217, 1, 0, 64, 1, 53, 0, 0, 0, 0, 125, - 68, 0, 0, 2, 114, 217, 1, 0, 68, 1, 53, 0, 0, 0, 0, 125, 68, 0, 0, 2, 115, 217, 1, 0, 72, 1, - 53, 0, 0, 0, 0, 219, 52, 0, 0, 2, 116, 217, 1, 0, 76, 1, 53, 0, 0, 0, 0, 219, 52, 0, 0, 2, 117, - 217, 1, 0, 77, 1, 53, 0, 0, 0, 0, 127, 29, 0, 0, 2, 118, 217, 1, 0, 80, 1, 53, 0, 0, 0, 0, 11, - 1, 0, 0, 2, 119, 217, 1, 0, 88, 1, 53, 0, 0, 0, 0, 159, 203, 3, 0, 2, 132, 217, 1, 0, 96, 1, - 65, 88, 2, 2, 120, 217, 1, 0, 48, 0, 0, 0, 0, 72, 232, 3, 0, 2, 121, 217, 1, 0, 0, 48, 0, 0, 0, - 0, 254, 233, 3, 0, 2, 122, 217, 1, 0, 160, 53, 0, 0, 0, 0, 66, 231, 3, 0, 2, 123, 217, 1, 0, - 16, 2, 53, 0, 0, 0, 0, 97, 22, 3, 0, 2, 124, 217, 1, 0, 24, 2, 53, 0, 0, 0, 0, 140, 55, 0, 0, - 2, 125, 217, 1, 0, 32, 2, 53, 0, 0, 0, 0, 21, 60, 3, 0, 2, 126, 217, 1, 0, 40, 2, 53, 0, 0, 0, - 0, 21, 60, 3, 0, 2, 127, 217, 1, 0, 46, 2, 53, 0, 0, 0, 0, 58, 189, 2, 0, 2, 128, 217, 1, 0, - 52, 2, 53, 0, 0, 0, 0, 71, 43, 1, 0, 2, 129, 217, 1, 0, 84, 2, 53, 0, 0, 0, 0, 71, 43, 1, 0, 2, - 130, 217, 1, 0, 85, 2, 53, 0, 0, 0, 0, 219, 52, 0, 0, 2, 131, 217, 1, 0, 86, 2, 0, 53, 0, 0, 0, - 0, 62, 238, 3, 0, 2, 133, 217, 1, 0, 184, 3, 53, 0, 0, 0, 0, 227, 28, 0, 0, 2, 134, 217, 1, 0, - 192, 3, 53, 0, 0, 0, 0, 248, 68, 0, 0, 2, 135, 217, 1, 0, 208, 3, 53, 0, 0, 0, 0, 156, 163, 0, - 0, 2, 136, 217, 1, 0, 216, 3, 53, 0, 0, 0, 0, 127, 29, 0, 0, 2, 137, 217, 1, 0, 248, 3, 0, 9, - 172, 204, 3, 0, 50, 0, 0, 0, 0, 32, 5, 2, 19, 219, 1, 0, 48, 0, 0, 0, 0, 241, 106, 0, 0, 2, 20, - 219, 1, 0, 0, 48, 0, 0, 0, 0, 21, 60, 3, 0, 2, 21, 219, 1, 0, 32, 48, 0, 0, 0, 0, 21, 60, 3, 0, - 2, 22, 219, 1, 0, 38, 48, 0, 0, 0, 0, 23, 210, 3, 0, 2, 23, 219, 1, 0, 48, 48, 0, 0, 0, 0, 55, - 210, 3, 0, 2, 24, 219, 1, 0, 56, 48, 0, 0, 0, 0, 107, 210, 3, 0, 2, 25, 219, 1, 0, 64, 48, 0, - 0, 0, 0, 168, 0, 0, 0, 2, 26, 219, 1, 0, 72, 48, 0, 0, 0, 0, 177, 69, 0, 0, 2, 27, 219, 1, 0, - 76, 48, 0, 0, 0, 0, 177, 69, 0, 0, 2, 28, 219, 1, 0, 78, 48, 0, 0, 0, 0, 177, 69, 0, 0, 2, 29, - 219, 1, 0, 80, 48, 0, 0, 0, 0, 177, 69, 0, 0, 2, 30, 219, 1, 0, 82, 48, 0, 0, 0, 0, 125, 68, 0, - 0, 2, 31, 219, 1, 0, 84, 48, 0, 0, 0, 0, 125, 68, 0, 0, 2, 32, 219, 1, 0, 88, 48, 0, 0, 0, 0, - 125, 68, 0, 0, 2, 33, 219, 1, 0, 92, 48, 0, 0, 0, 0, 136, 248, 0, 0, 2, 34, 219, 1, 0, 96, 48, - 0, 0, 0, 0, 125, 68, 0, 0, 2, 35, 219, 1, 0, 104, 48, 0, 0, 0, 0, 45, 211, 3, 0, 2, 36, 219, 1, - 0, 108, 48, 0, 0, 0, 0, 168, 0, 0, 0, 2, 37, 219, 1, 0, 112, 48, 0, 0, 0, 0, 118, 55, 0, 0, 2, - 38, 219, 1, 0, 116, 48, 0, 0, 0, 0, 118, 55, 0, 0, 2, 39, 219, 1, 0, 117, 48, 0, 0, 0, 0, 118, - 55, 0, 0, 2, 40, 219, 1, 0, 118, 48, 0, 0, 0, 0, 118, 55, 0, 0, 2, 41, 219, 1, 0, 119, 48, 0, - 0, 0, 0, 177, 69, 0, 0, 2, 42, 219, 1, 0, 120, 48, 0, 0, 0, 0, 177, 69, 0, 0, 2, 43, 219, 1, 0, - 122, 48, 0, 0, 0, 0, 125, 68, 0, 0, 2, 44, 219, 1, 0, 124, 48, 0, 0, 0, 0, 125, 68, 0, 0, 2, - 45, 219, 1, 0, 128, 48, 0, 0, 0, 0, 125, 68, 0, 0, 2, 46, 219, 1, 0, 132, 48, 0, 0, 0, 0, 168, - 0, 0, 0, 2, 47, 219, 1, 0, 136, 48, 0, 0, 0, 0, 176, 215, 0, 0, 2, 48, 219, 1, 0, 144, 48, 0, - 0, 0, 0, 168, 0, 0, 0, 2, 49, 219, 1, 0, 152, 48, 0, 0, 0, 0, 176, 215, 0, 0, 2, 50, 219, 1, 0, - 160, 48, 0, 0, 0, 0, 79, 211, 3, 0, 2, 51, 219, 1, 0, 168, 48, 0, 0, 0, 0, 11, 1, 0, 0, 2, 52, - 219, 1, 0, 176, 48, 0, 0, 0, 0, 118, 55, 0, 0, 2, 53, 219, 1, 0, 180, 48, 0, 0, 0, 0, 118, 55, - 0, 0, 2, 54, 219, 1, 0, 181, 48, 0, 0, 0, 0, 125, 68, 0, 0, 2, 55, 219, 1, 0, 184, 48, 0, 0, 0, - 0, 125, 68, 0, 0, 2, 56, 219, 1, 0, 188, 48, 0, 0, 0, 0, 118, 55, 0, 0, 2, 57, 219, 1, 0, 192, - 48, 0, 0, 0, 0, 28, 201, 0, 0, 2, 58, 219, 1, 0, 193, 48, 0, 0, 0, 0, 125, 68, 0, 0, 2, 59, - 219, 1, 0, 228, 48, 0, 0, 0, 0, 146, 211, 3, 0, 2, 60, 219, 1, 0, 232, 48, 0, 0, 0, 0, 181, - 212, 3, 0, 2, 61, 219, 1, 0, 240, 48, 0, 0, 0, 0, 177, 69, 0, 0, 2, 62, 219, 1, 0, 248, 48, 0, - 0, 0, 0, 118, 55, 0, 0, 2, 63, 219, 1, 0, 250, 48, 0, 0, 0, 0, 125, 68, 0, 0, 2, 64, 219, 1, 0, - 252, 53, 0, 0, 0, 0, 125, 68, 0, 0, 2, 65, 219, 1, 0, 0, 1, 53, 0, 0, 0, 0, 125, 68, 0, 0, 2, - 66, 219, 1, 0, 4, 1, 53, 0, 0, 0, 0, 97, 22, 3, 0, 2, 67, 219, 1, 0, 8, 1, 53, 0, 0, 0, 0, 97, - 22, 3, 0, 2, 68, 219, 1, 0, 16, 1, 53, 0, 0, 0, 0, 118, 55, 0, 0, 2, 69, 219, 1, 0, 24, 1, 53, - 0, 0, 0, 0, 52, 219, 3, 0, 2, 70, 219, 1, 0, 32, 1, 53, 0, 0, 0, 0, 11, 1, 0, 0, 2, 71, 219, 1, - 0, 40, 1, 53, 0, 0, 0, 0, 56, 1, 0, 0, 2, 72, 219, 1, 0, 48, 1, 53, 0, 0, 0, 0, 240, 219, 3, 0, - 2, 73, 219, 1, 0, 56, 1, 53, 0, 0, 0, 0, 117, 224, 3, 0, 2, 74, 219, 1, 0, 96, 1, 53, 0, 0, 0, - 0, 193, 225, 3, 0, 2, 75, 219, 1, 0, 104, 1, 53, 0, 0, 0, 0, 57, 171, 0, 0, 2, 76, 219, 1, 0, - 112, 1, 53, 0, 0, 0, 0, 219, 52, 0, 0, 2, 77, 219, 1, 0, 96, 4, 53, 0, 0, 0, 0, 133, 66, 0, 0, - 2, 78, 219, 1, 0, 104, 4, 53, 0, 0, 0, 0, 117, 227, 3, 0, 2, 79, 219, 1, 0, 112, 4, 53, 0, 0, - 0, 0, 241, 227, 3, 0, 2, 80, 219, 1, 0, 120, 4, 53, 0, 0, 0, 0, 227, 28, 0, 0, 2, 81, 219, 1, - 0, 128, 4, 53, 0, 0, 0, 0, 193, 170, 1, 0, 2, 82, 219, 1, 0, 144, 4, 53, 0, 0, 0, 0, 107, 94, - 3, 0, 2, 83, 219, 1, 0, 152, 4, 53, 0, 0, 0, 0, 37, 228, 3, 0, 2, 84, 219, 1, 0, 160, 4, 53, 0, - 0, 0, 0, 149, 228, 3, 0, 2, 85, 219, 1, 0, 168, 4, 53, 0, 0, 0, 0, 119, 229, 3, 0, 2, 86, 219, - 1, 0, 176, 4, 53, 0, 0, 0, 0, 168, 0, 0, 0, 2, 87, 219, 1, 0, 184, 4, 53, 0, 0, 0, 0, 168, 0, - 0, 0, 2, 88, 219, 1, 0, 188, 4, 53, 0, 0, 0, 0, 177, 69, 0, 0, 2, 89, 219, 1, 0, 192, 4, 53, 0, - 0, 0, 0, 118, 55, 0, 0, 2, 90, 219, 1, 0, 194, 4, 53, 0, 0, 0, 0, 125, 68, 0, 0, 2, 91, 219, 1, - 0, 196, 4, 53, 0, 0, 0, 0, 118, 55, 0, 0, 2, 92, 219, 1, 0, 200, 4, 53, 0, 0, 0, 0, 125, 68, 0, - 0, 2, 93, 219, 1, 0, 204, 4, 53, 0, 0, 0, 0, 125, 68, 0, 0, 2, 94, 219, 1, 0, 208, 4, 53, 0, 0, - 0, 0, 125, 68, 0, 0, 2, 95, 219, 1, 0, 212, 4, 53, 0, 0, 0, 0, 127, 29, 0, 0, 2, 96, 219, 1, 0, - 216, 4, 55, 0, 0, 0, 0, 118, 55, 0, 0, 2, 97, 219, 1, 0, 1, 1, 7, 224, 4, 55, 0, 0, 0, 0, 118, - 55, 0, 0, 2, 98, 219, 1, 0, 1, 1, 6, 224, 4, 53, 0, 0, 0, 0, 129, 229, 3, 0, 2, 99, 219, 1, 0, - 232, 4, 53, 0, 0, 0, 0, 161, 209, 3, 0, 2, 104, 219, 1, 0, 240, 4, 60, 24, 2, 100, 219, 1, 0, - 48, 0, 0, 0, 0, 136, 68, 0, 0, 2, 101, 219, 1, 0, 0, 48, 0, 0, 0, 0, 136, 68, 0, 0, 2, 102, - 219, 1, 0, 8, 48, 0, 0, 0, 0, 118, 55, 0, 0, 2, 103, 219, 1, 0, 16, 0, 53, 0, 0, 0, 0, 118, 55, - 0, 0, 2, 105, 219, 1, 0, 8, 5, 53, 0, 0, 0, 0, 155, 230, 3, 0, 2, 106, 219, 1, 0, 16, 5, 53, 0, - 0, 0, 0, 46, 231, 3, 0, 2, 107, 219, 1, 0, 24, 5, 53, 0, 0, 0, 0, 115, 29, 0, 0, 2, 108, 219, - 1, 0, 32, 5, 0, 9, 28, 210, 3, 0, 47, 0, 0, 0, 0, 6, 2, 231, 218, 1, 0, 48, 0, 0, 0, 0, 21, 60, - 3, 0, 2, 232, 218, 1, 0, 0, 0, 9, 60, 210, 3, 0, 26, 65, 210, 3, 0, 47, 0, 0, 0, 0, 4, 2, 209, - 219, 1, 0, 48, 0, 0, 0, 0, 177, 69, 0, 0, 2, 210, 219, 1, 0, 0, 48, 0, 0, 0, 0, 177, 69, 0, 0, - 2, 211, 219, 1, 0, 2, 0, 9, 112, 210, 3, 0, 26, 117, 210, 3, 0, 47, 0, 0, 0, 0, 24, 2, 198, - 219, 1, 0, 48, 0, 0, 0, 0, 249, 210, 3, 0, 2, 199, 219, 1, 0, 0, 48, 0, 0, 0, 0, 125, 68, 0, 0, - 2, 200, 219, 1, 0, 8, 48, 0, 0, 0, 0, 177, 69, 0, 0, 2, 201, 219, 1, 0, 12, 48, 0, 0, 0, 0, - 118, 55, 0, 0, 2, 202, 219, 1, 0, 14, 48, 0, 0, 0, 0, 219, 52, 0, 0, 2, 203, 219, 1, 0, 15, 48, - 0, 0, 0, 0, 118, 55, 0, 0, 2, 204, 219, 1, 0, 16, 48, 0, 0, 0, 0, 118, 55, 0, 0, 2, 205, 219, - 1, 0, 17, 48, 0, 0, 0, 0, 125, 68, 0, 0, 2, 206, 219, 1, 0, 20, 0, 9, 254, 210, 3, 0, 26, 3, - 211, 3, 0, 47, 0, 0, 0, 0, 4, 2, 193, 219, 1, 0, 48, 0, 0, 0, 0, 177, 69, 0, 0, 2, 194, 219, 1, - 0, 0, 48, 0, 0, 0, 0, 177, 69, 0, 0, 2, 195, 219, 1, 0, 2, 0, 19, 11, 1, 0, 0, 0, 0, 0, 0, 4, - 2, 251, 218, 1, 0, 18, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 1, 18, 0, 0, 0, 0, 2, 0, 9, 84, 211, 3, - 0, 26, 89, 211, 3, 0, 47, 0, 0, 0, 0, 24, 2, 20, 220, 1, 0, 48, 0, 0, 0, 0, 177, 69, 0, 0, 2, - 21, 220, 1, 0, 0, 48, 0, 0, 0, 0, 176, 215, 0, 0, 2, 22, 220, 1, 0, 8, 48, 0, 0, 0, 0, 168, 0, - 0, 0, 2, 23, 220, 1, 0, 16, 0, 9, 151, 211, 3, 0, 26, 156, 211, 3, 0, 47, 0, 0, 0, 0, 32, 2, - 222, 219, 1, 0, 48, 0, 0, 0, 0, 125, 68, 0, 0, 2, 223, 219, 1, 0, 0, 48, 0, 0, 0, 0, 168, 0, 0, - 0, 2, 224, 219, 1, 0, 4, 48, 0, 0, 0, 0, 168, 0, 0, 0, 2, 225, 219, 1, 0, 8, 48, 0, 0, 0, 0, - 168, 0, 0, 0, 2, 226, 219, 1, 0, 12, 48, 0, 0, 0, 0, 168, 0, 0, 0, 2, 227, 219, 1, 0, 16, 48, - 0, 0, 0, 0, 168, 0, 0, 0, 2, 228, 219, 1, 0, 20, 48, 0, 0, 0, 0, 17, 212, 3, 0, 2, 229, 219, 1, - 0, 24, 0, 9, 22, 212, 3, 0, 26, 27, 212, 3, 0, 47, 0, 0, 0, 0, 24, 2, 214, 219, 1, 0, 48, 0, 0, - 0, 0, 114, 212, 3, 0, 2, 215, 219, 1, 0, 0, 48, 0, 0, 0, 0, 125, 68, 0, 0, 2, 216, 219, 1, 0, - 8, 48, 0, 0, 0, 0, 125, 68, 0, 0, 2, 217, 219, 1, 0, 12, 48, 0, 0, 0, 0, 125, 68, 0, 0, 2, 218, - 219, 1, 0, 16, 48, 0, 0, 0, 0, 219, 52, 0, 0, 2, 219, 219, 1, 0, 20, 0, 9, 119, 212, 3, 0, 26, - 124, 212, 3, 0, 47, 0, 0, 0, 0, 12, 2, 233, 217, 1, 0, 48, 0, 0, 0, 0, 0, 1, 0, 0, 2, 234, 217, - 1, 0, 0, 48, 0, 0, 0, 0, 0, 1, 0, 0, 2, 235, 217, 1, 0, 4, 48, 0, 0, 0, 0, 0, 1, 0, 0, 2, 236, - 217, 1, 0, 8, 0, 9, 186, 212, 3, 0, 47, 0, 0, 0, 0, 40, 2, 179, 219, 1, 0, 48, 0, 0, 0, 0, 219, - 52, 0, 0, 2, 180, 219, 1, 0, 0, 48, 0, 0, 0, 0, 219, 52, 0, 0, 2, 181, 219, 1, 0, 1, 48, 0, 0, - 0, 0, 219, 52, 0, 0, 2, 182, 219, 1, 0, 2, 48, 0, 0, 0, 0, 219, 52, 0, 0, 2, 183, 219, 1, 0, 3, - 48, 0, 0, 0, 0, 219, 52, 0, 0, 2, 184, 219, 1, 0, 4, 48, 0, 0, 0, 0, 219, 52, 0, 0, 2, 185, - 219, 1, 0, 5, 48, 0, 0, 0, 0, 219, 52, 0, 0, 2, 186, 219, 1, 0, 6, 48, 0, 0, 0, 0, 107, 213, 3, - 0, 2, 187, 219, 1, 0, 8, 48, 0, 0, 0, 0, 184, 213, 3, 0, 2, 188, 219, 1, 0, 16, 48, 0, 0, 0, 0, - 168, 0, 0, 0, 2, 189, 219, 1, 0, 24, 48, 0, 0, 0, 0, 28, 215, 3, 0, 2, 190, 219, 1, 0, 32, 0, - 9, 112, 213, 3, 0, 47, 0, 0, 0, 0, 24, 2, 154, 219, 1, 0, 48, 0, 0, 0, 0, 97, 22, 3, 0, 2, 155, - 219, 1, 0, 0, 48, 0, 0, 0, 0, 97, 22, 3, 0, 2, 156, 219, 1, 0, 8, 48, 0, 0, 0, 0, 168, 0, 0, 0, - 2, 157, 219, 1, 0, 16, 48, 0, 0, 0, 0, 168, 0, 0, 0, 2, 158, 219, 1, 0, 20, 0, 9, 189, 213, 3, - 0, 47, 0, 0, 0, 0, 96, 2, 161, 219, 1, 0, 48, 0, 0, 0, 0, 73, 111, 1, 0, 2, 162, 219, 1, 0, 0, - 48, 0, 0, 0, 0, 190, 48, 0, 0, 2, 163, 219, 1, 0, 8, 48, 0, 0, 0, 0, 190, 48, 0, 0, 2, 164, - 219, 1, 0, 12, 48, 0, 0, 0, 0, 177, 69, 0, 0, 2, 165, 219, 1, 0, 16, 48, 0, 0, 0, 0, 177, 69, - 0, 0, 2, 166, 219, 1, 0, 18, 48, 0, 0, 0, 0, 21, 60, 3, 0, 2, 167, 219, 1, 0, 20, 48, 0, 0, 0, - 0, 168, 0, 0, 0, 2, 168, 219, 1, 0, 28, 48, 0, 0, 0, 0, 97, 22, 3, 0, 2, 169, 219, 1, 0, 32, - 48, 0, 0, 0, 0, 170, 214, 3, 0, 2, 170, 219, 1, 0, 40, 48, 0, 0, 0, 0, 125, 68, 0, 0, 2, 171, - 219, 1, 0, 52, 48, 0, 0, 0, 0, 125, 68, 0, 0, 2, 172, 219, 1, 0, 56, 48, 0, 0, 0, 0, 97, 22, 3, - 0, 2, 173, 219, 1, 0, 64, 48, 0, 0, 0, 0, 97, 22, 3, 0, 2, 174, 219, 1, 0, 72, 48, 0, 0, 0, 0, - 125, 68, 0, 0, 2, 175, 219, 1, 0, 80, 48, 0, 0, 0, 0, 227, 214, 3, 0, 2, 176, 219, 1, 0, 84, 0, - 47, 0, 0, 0, 0, 12, 2, 221, 217, 1, 0, 48, 0, 0, 0, 0, 0, 1, 0, 0, 2, 222, 217, 1, 0, 0, 48, 0, - 0, 0, 0, 0, 1, 0, 0, 2, 223, 217, 1, 0, 4, 48, 0, 0, 0, 0, 0, 1, 0, 0, 2, 224, 217, 1, 0, 8, 0, - 47, 0, 0, 0, 0, 8, 2, 227, 217, 1, 0, 48, 0, 0, 0, 0, 0, 1, 0, 0, 2, 228, 217, 1, 0, 0, 48, 0, - 0, 0, 0, 0, 1, 0, 0, 2, 229, 217, 1, 0, 4, 48, 0, 0, 0, 0, 67, 178, 1, 0, 2, 230, 217, 1, 0, 8, - 0, 9, 33, 215, 3, 0, 47, 0, 0, 0, 0, 192, 2, 123, 219, 1, 0, 48, 0, 0, 0, 0, 136, 68, 0, 0, 2, - 124, 219, 1, 0, 0, 48, 0, 0, 0, 0, 209, 216, 3, 0, 2, 125, 219, 1, 0, 8, 48, 0, 0, 0, 0, 168, - 0, 0, 0, 2, 126, 219, 1, 0, 16, 48, 0, 0, 0, 0, 125, 68, 0, 0, 2, 127, 219, 1, 0, 20, 48, 0, 0, - 0, 0, 0, 217, 3, 0, 2, 128, 219, 1, 0, 24, 48, 0, 0, 0, 0, 97, 22, 3, 0, 2, 129, 219, 1, 0, 32, - 48, 0, 0, 0, 0, 140, 55, 0, 0, 2, 130, 219, 1, 0, 40, 48, 0, 0, 0, 0, 125, 68, 0, 0, 2, 131, - 219, 1, 0, 48, 48, 0, 0, 0, 0, 46, 217, 3, 0, 2, 132, 219, 1, 0, 56, 48, 0, 0, 0, 0, 168, 0, 0, - 0, 2, 133, 219, 1, 0, 64, 48, 0, 0, 0, 0, 101, 103, 0, 0, 2, 134, 219, 1, 0, 68, 48, 0, 0, 0, - 0, 125, 68, 0, 0, 2, 135, 219, 1, 0, 72, 48, 0, 0, 0, 0, 135, 217, 3, 0, 2, 136, 219, 1, 0, 80, - 48, 0, 0, 0, 0, 168, 0, 0, 0, 2, 137, 219, 1, 0, 88, 48, 0, 0, 0, 0, 21, 60, 3, 0, 2, 138, 219, - 1, 0, 92, 48, 0, 0, 0, 0, 21, 60, 3, 0, 2, 139, 219, 1, 0, 98, 48, 0, 0, 0, 0, 219, 52, 0, 0, - 2, 140, 219, 1, 0, 104, 48, 0, 0, 0, 0, 71, 43, 1, 0, 2, 141, 219, 1, 0, 105, 48, 0, 0, 0, 0, - 182, 217, 3, 0, 2, 142, 219, 1, 0, 108, 48, 0, 0, 0, 0, 167, 204, 3, 0, 2, 143, 219, 1, 0, 120, - 48, 0, 0, 0, 0, 9, 29, 0, 0, 2, 144, 219, 1, 0, 128, 48, 0, 0, 0, 0, 127, 29, 0, 0, 2, 145, - 219, 1, 0, 136, 48, 0, 0, 0, 0, 219, 52, 0, 0, 2, 146, 219, 1, 0, 144, 48, 0, 0, 0, 0, 65, 29, - 0, 0, 2, 147, 219, 1, 0, 152, 48, 0, 0, 0, 0, 125, 68, 0, 0, 2, 148, 219, 1, 0, 168, 48, 0, 0, - 0, 0, 219, 52, 0, 0, 2, 149, 219, 1, 0, 172, 48, 0, 0, 0, 0, 227, 28, 0, 0, 2, 150, 219, 1, 0, - 176, 48, 0, 0, 0, 0, 20, 218, 3, 0, 2, 151, 219, 1, 0, 192, 0, 9, 214, 216, 3, 0, 47, 0, 0, 0, - 0, 33, 2, 246, 218, 1, 0, 48, 0, 0, 0, 0, 58, 189, 2, 0, 2, 247, 218, 1, 0, 0, 48, 0, 0, 0, 0, - 118, 55, 0, 0, 2, 248, 218, 1, 0, 32, 0, 19, 11, 1, 0, 0, 0, 0, 0, 0, 4, 2, 213, 217, 1, 0, 18, - 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 1, 18, 0, 0, 0, 0, 2, 18, 0, 0, 0, 0, 3, 18, 0, 0, 0, 0, 4, 0, - 9, 51, 217, 3, 0, 47, 0, 0, 0, 0, 64, 2, 111, 219, 1, 0, 48, 0, 0, 0, 0, 214, 216, 3, 0, 2, - 112, 219, 1, 0, 0, 48, 0, 0, 0, 0, 21, 60, 3, 0, 2, 113, 219, 1, 0, 33, 48, 0, 0, 0, 0, 101, - 103, 0, 0, 2, 114, 219, 1, 0, 40, 48, 0, 0, 0, 0, 123, 217, 3, 0, 2, 115, 219, 1, 0, 44, 0, 3, - 101, 103, 0, 0, 4, 82, 0, 0, 0, 5, 0, 9, 140, 217, 3, 0, 47, 0, 0, 0, 0, 8, 2, 118, 219, 1, 0, - 48, 0, 0, 0, 0, 125, 68, 0, 0, 2, 119, 219, 1, 0, 0, 48, 0, 0, 0, 0, 125, 68, 0, 0, 2, 120, - 219, 1, 0, 4, 0, 47, 0, 0, 0, 0, 8, 2, 20, 217, 1, 0, 48, 0, 0, 0, 0, 224, 217, 3, 0, 2, 21, - 217, 1, 0, 0, 48, 0, 0, 0, 0, 71, 43, 1, 0, 2, 22, 217, 1, 0, 4, 0, 19, 11, 1, 0, 0, 0, 0, 0, - 0, 4, 2, 11, 217, 1, 0, 18, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 1, 18, 0, 0, 0, 0, 2, 18, 0, 0, 0, - 0, 3, 18, 0, 0, 0, 0, 4, 18, 0, 0, 0, 0, 5, 0, 3, 32, 218, 3, 0, 4, 82, 0, 0, 0, 0, 0, 9, 37, - 218, 3, 0, 47, 0, 0, 0, 0, 64, 2, 143, 218, 1, 0, 48, 0, 0, 0, 0, 224, 217, 3, 0, 2, 144, 218, - 1, 0, 0, 48, 0, 0, 0, 0, 125, 68, 0, 0, 2, 145, 218, 1, 0, 4, 48, 0, 0, 0, 0, 177, 69, 0, 0, 2, - 146, 218, 1, 0, 8, 48, 0, 0, 0, 0, 177, 69, 0, 0, 2, 147, 218, 1, 0, 10, 48, 0, 0, 0, 0, 125, - 68, 0, 0, 2, 148, 218, 1, 0, 12, 48, 0, 0, 0, 0, 168, 0, 0, 0, 2, 149, 218, 1, 0, 16, 48, 0, 0, - 0, 0, 168, 0, 0, 0, 2, 150, 218, 1, 0, 20, 48, 0, 0, 0, 0, 168, 0, 0, 0, 2, 151, 218, 1, 0, 24, - 48, 0, 0, 0, 0, 219, 52, 0, 0, 2, 152, 218, 1, 0, 28, 48, 0, 0, 0, 0, 125, 68, 0, 0, 2, 153, - 218, 1, 0, 32, 48, 0, 0, 0, 0, 168, 0, 0, 0, 2, 154, 218, 1, 0, 36, 48, 0, 0, 0, 0, 168, 0, 0, - 0, 2, 155, 218, 1, 0, 40, 48, 0, 0, 0, 0, 18, 219, 3, 0, 2, 156, 218, 1, 0, 44, 48, 0, 0, 0, 0, - 127, 29, 0, 0, 2, 157, 218, 1, 0, 48, 48, 0, 0, 0, 0, 11, 1, 0, 0, 2, 158, 218, 1, 0, 56, 0, - 19, 11, 1, 0, 0, 0, 0, 0, 0, 4, 2, 48, 218, 1, 0, 18, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 1, 18, 0, - 0, 0, 0, 2, 0, 9, 57, 219, 3, 0, 26, 62, 219, 3, 0, 47, 0, 0, 0, 0, 32, 2, 250, 219, 1, 0, 48, - 0, 0, 0, 0, 134, 219, 3, 0, 2, 251, 219, 1, 0, 0, 48, 0, 0, 0, 0, 97, 22, 3, 0, 2, 252, 219, 1, - 0, 8, 48, 0, 0, 0, 0, 97, 22, 3, 0, 2, 253, 219, 1, 0, 16, 48, 0, 0, 0, 0, 118, 55, 0, 0, 2, - 254, 219, 1, 0, 24, 0, 19, 11, 1, 0, 0, 0, 0, 0, 0, 4, 2, 79, 216, 1, 0, 18, 0, 0, 0, 0, 0, 18, - 0, 0, 0, 0, 1, 18, 0, 0, 0, 0, 2, 18, 0, 0, 0, 0, 3, 18, 0, 0, 0, 0, 4, 18, 0, 0, 0, 0, 5, 18, - 0, 0, 0, 0, 6, 18, 0, 0, 0, 0, 7, 18, 0, 0, 0, 0, 8, 18, 0, 0, 0, 0, 9, 18, 0, 0, 0, 0, 10, 18, - 0, 0, 0, 0, 11, 18, 0, 0, 0, 0, 12, 18, 0, 0, 0, 0, 13, 18, 0, 0, 0, 0, 12, 0, 3, 252, 219, 3, - 0, 4, 82, 0, 0, 0, 5, 0, 9, 1, 220, 3, 0, 47, 0, 0, 0, 0, 104, 2, 207, 218, 1, 0, 48, 0, 0, 0, - 0, 32, 218, 3, 0, 2, 208, 218, 1, 0, 0, 48, 0, 0, 0, 0, 178, 220, 3, 0, 2, 209, 218, 1, 0, 8, - 48, 0, 0, 0, 0, 224, 217, 3, 0, 2, 210, 218, 1, 0, 16, 48, 0, 0, 0, 0, 168, 0, 0, 0, 2, 211, - 218, 1, 0, 20, 48, 0, 0, 0, 0, 168, 0, 0, 0, 2, 212, 218, 1, 0, 24, 48, 0, 0, 0, 0, 255, 220, - 3, 0, 2, 213, 218, 1, 0, 28, 48, 0, 0, 0, 0, 170, 221, 3, 0, 2, 214, 218, 1, 0, 52, 48, 0, 0, - 0, 0, 43, 222, 3, 0, 2, 215, 218, 1, 0, 68, 48, 0, 0, 0, 0, 112, 222, 3, 0, 2, 216, 218, 1, 0, - 84, 48, 0, 0, 0, 0, 177, 69, 0, 0, 2, 217, 218, 1, 0, 92, 48, 0, 0, 0, 0, 242, 222, 3, 0, 2, - 218, 218, 1, 0, 96, 0, 9, 183, 220, 3, 0, 47, 0, 0, 0, 0, 12, 2, 161, 218, 1, 0, 48, 0, 0, 0, - 0, 125, 68, 0, 0, 2, 162, 218, 1, 0, 0, 48, 0, 0, 0, 0, 177, 69, 0, 0, 2, 163, 218, 1, 0, 4, - 48, 0, 0, 0, 0, 177, 69, 0, 0, 2, 164, 218, 1, 0, 6, 48, 0, 0, 0, 0, 177, 69, 0, 0, 2, 165, - 218, 1, 0, 8, 0, 47, 0, 0, 0, 0, 22, 2, 168, 218, 1, 0, 48, 0, 0, 0, 0, 177, 69, 0, 0, 2, 169, - 218, 1, 0, 0, 48, 0, 0, 0, 0, 219, 52, 0, 0, 2, 170, 218, 1, 0, 2, 48, 0, 0, 0, 0, 118, 55, 0, - 0, 2, 171, 218, 1, 0, 3, 48, 0, 0, 0, 0, 118, 55, 0, 0, 2, 172, 218, 1, 0, 4, 48, 0, 0, 0, 0, - 86, 221, 3, 0, 2, 173, 218, 1, 0, 5, 0, 47, 0, 0, 0, 0, 16, 2, 158, 216, 1, 0, 48, 0, 0, 0, 0, - 158, 221, 3, 0, 2, 159, 216, 1, 0, 0, 48, 0, 0, 0, 0, 167, 149, 1, 0, 2, 160, 216, 1, 0, 10, - 48, 0, 0, 0, 0, 118, 55, 0, 0, 2, 161, 216, 1, 0, 12, 48, 0, 0, 0, 0, 54, 108, 0, 0, 2, 162, - 216, 1, 0, 13, 0, 3, 118, 55, 0, 0, 4, 82, 0, 0, 0, 10, 0, 47, 0, 0, 0, 0, 16, 2, 177, 218, 1, - 0, 48, 0, 0, 0, 0, 219, 52, 0, 0, 2, 178, 218, 1, 0, 0, 48, 0, 0, 0, 0, 125, 68, 0, 0, 2, 179, - 218, 1, 0, 4, 48, 0, 0, 0, 0, 227, 221, 3, 0, 2, 180, 218, 1, 0, 8, 0, 47, 0, 0, 0, 0, 8, 2, - 246, 216, 1, 0, 48, 0, 0, 0, 0, 167, 149, 1, 0, 2, 247, 216, 1, 0, 0, 48, 0, 0, 0, 0, 167, 149, - 1, 0, 2, 248, 216, 1, 0, 2, 48, 0, 0, 0, 0, 167, 149, 1, 0, 2, 249, 216, 1, 0, 4, 48, 0, 0, 0, - 0, 167, 149, 1, 0, 2, 250, 216, 1, 0, 6, 0, 47, 0, 0, 0, 0, 16, 2, 201, 218, 1, 0, 48, 0, 0, 0, - 0, 219, 52, 0, 0, 2, 202, 218, 1, 0, 0, 48, 0, 0, 0, 0, 158, 221, 3, 0, 2, 203, 218, 1, 0, 1, - 48, 0, 0, 0, 0, 100, 222, 3, 0, 2, 204, 218, 1, 0, 11, 0, 3, 118, 55, 0, 0, 4, 82, 0, 0, 0, 5, - 0, 47, 0, 0, 0, 0, 8, 2, 142, 216, 1, 0, 48, 0, 0, 0, 0, 118, 55, 0, 0, 2, 143, 216, 1, 0, 0, - 48, 0, 0, 0, 0, 154, 222, 3, 0, 2, 144, 216, 1, 0, 4, 0, 19, 11, 1, 0, 0, 0, 0, 0, 0, 4, 2, - 127, 216, 1, 0, 18, 0, 0, 0, 0, 4, 18, 0, 0, 0, 0, 5, 18, 0, 0, 0, 0, 6, 18, 0, 0, 0, 0, 7, 18, - 0, 0, 0, 0, 8, 18, 0, 0, 0, 0, 9, 18, 0, 0, 0, 0, 10, 18, 0, 0, 0, 0, 11, 18, 0, 0, 0, 0, 12, - 18, 0, 0, 0, 0, 13, 18, 0, 0, 0, 0, 14, 18, 0, 0, 0, 0, 15, 0, 9, 247, 222, 3, 0, 26, 252, 222, - 3, 0, 47, 0, 0, 0, 0, 80, 2, 190, 218, 1, 0, 48, 0, 0, 0, 0, 177, 69, 0, 0, 2, 191, 218, 1, 0, - 0, 48, 0, 0, 0, 0, 106, 223, 3, 0, 2, 192, 218, 1, 0, 2, 48, 0, 0, 0, 0, 90, 224, 3, 0, 2, 193, - 218, 1, 0, 57, 48, 0, 0, 0, 0, 67, 223, 3, 0, 2, 198, 218, 1, 0, 64, 60, 16, 2, 195, 218, 1, 0, - 48, 0, 0, 0, 0, 97, 22, 3, 0, 2, 196, 218, 1, 0, 0, 48, 0, 0, 0, 0, 11, 1, 0, 0, 2, 197, 218, - 1, 0, 8, 0, 0, 47, 0, 0, 0, 0, 55, 2, 183, 218, 1, 0, 48, 0, 0, 0, 0, 219, 52, 0, 0, 2, 184, - 218, 1, 0, 0, 48, 0, 0, 0, 0, 178, 223, 3, 0, 2, 185, 218, 1, 0, 1, 48, 0, 0, 0, 0, 232, 223, - 3, 0, 2, 186, 218, 1, 0, 18, 48, 0, 0, 0, 0, 78, 224, 3, 0, 2, 187, 218, 1, 0, 30, 0, 47, 0, 0, - 0, 0, 17, 2, 64, 218, 1, 0, 48, 0, 0, 0, 0, 21, 60, 3, 0, 2, 65, 218, 1, 0, 0, 48, 0, 0, 0, 0, - 220, 223, 3, 0, 2, 66, 218, 1, 0, 6, 0, 3, 118, 55, 0, 0, 4, 82, 0, 0, 0, 11, 0, 47, 0, 0, 0, - 0, 12, 2, 69, 218, 1, 0, 48, 0, 0, 0, 0, 167, 149, 1, 0, 2, 70, 218, 1, 0, 0, 48, 0, 0, 0, 0, - 167, 149, 1, 0, 2, 71, 218, 1, 0, 2, 48, 0, 0, 0, 0, 167, 149, 1, 0, 2, 72, 218, 1, 0, 4, 48, - 0, 0, 0, 0, 167, 149, 1, 0, 2, 73, 218, 1, 0, 6, 48, 0, 0, 0, 0, 167, 149, 1, 0, 2, 74, 218, 1, - 0, 8, 48, 0, 0, 0, 0, 167, 149, 1, 0, 2, 75, 218, 1, 0, 10, 0, 3, 118, 55, 0, 0, 4, 82, 0, 0, - 0, 25, 0, 47, 0, 0, 0, 0, 2, 2, 78, 218, 1, 0, 48, 0, 0, 0, 0, 167, 149, 1, 0, 2, 79, 218, 1, - 0, 0, 0, 9, 122, 224, 3, 0, 32, 14, 167, 204, 3, 0, 14, 134, 224, 3, 0, 0, 9, 139, 224, 3, 0, - 47, 0, 0, 0, 0, 64, 2, 90, 218, 1, 0, 48, 0, 0, 0, 0, 65, 29, 0, 0, 2, 91, 218, 1, 0, 0, 48, 0, - 0, 0, 0, 168, 0, 0, 0, 2, 92, 218, 1, 0, 16, 48, 0, 0, 0, 0, 45, 225, 3, 0, 2, 93, 218, 1, 0, - 20, 48, 0, 0, 0, 0, 85, 225, 3, 0, 2, 94, 218, 1, 0, 24, 48, 0, 0, 0, 0, 128, 170, 3, 0, 2, 95, - 218, 1, 0, 28, 48, 0, 0, 0, 0, 119, 225, 3, 0, 2, 96, 218, 1, 0, 32, 48, 0, 0, 0, 0, 219, 52, - 0, 0, 2, 97, 218, 1, 0, 36, 48, 0, 0, 0, 0, 219, 52, 0, 0, 2, 98, 218, 1, 0, 37, 48, 0, 0, 0, - 0, 159, 225, 3, 0, 2, 99, 218, 1, 0, 40, 48, 0, 0, 0, 0, 227, 28, 0, 0, 2, 100, 218, 1, 0, 48, - 0, 19, 11, 1, 0, 0, 0, 0, 0, 0, 4, 2, 175, 217, 1, 0, 18, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 1, 18, - 0, 0, 0, 0, 2, 18, 0, 0, 0, 0, 3, 0, 19, 11, 1, 0, 0, 0, 0, 0, 0, 4, 2, 189, 217, 1, 0, 18, 0, - 0, 0, 0, 0, 18, 0, 0, 0, 0, 1, 18, 0, 0, 0, 0, 2, 0, 19, 11, 1, 0, 0, 0, 0, 0, 0, 4, 2, 182, - 217, 1, 0, 18, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 1, 18, 0, 0, 0, 0, 2, 18, 0, 0, 0, 0, 3, 0, 19, - 11, 1, 0, 0, 0, 0, 0, 0, 4, 2, 84, 218, 1, 0, 18, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 1, 18, 0, 0, - 0, 0, 2, 0, 9, 198, 225, 3, 0, 26, 203, 225, 3, 0, 47, 0, 0, 0, 0, 32, 2, 135, 218, 1, 0, 48, - 0, 0, 0, 0, 65, 29, 0, 0, 2, 136, 218, 1, 0, 0, 48, 0, 0, 0, 0, 125, 68, 0, 0, 2, 137, 218, 1, - 0, 16, 48, 0, 0, 0, 0, 128, 170, 3, 0, 2, 138, 218, 1, 0, 20, 48, 0, 0, 0, 0, 119, 225, 3, 0, - 2, 139, 218, 1, 0, 24, 48, 0, 0, 0, 0, 34, 226, 3, 0, 2, 140, 218, 1, 0, 28, 0, 3, 46, 226, 3, - 0, 4, 82, 0, 0, 0, 0, 0, 47, 0, 0, 0, 0, 96, 2, 126, 218, 1, 0, 48, 0, 0, 0, 0, 148, 226, 3, 0, - 2, 127, 218, 1, 0, 0, 48, 0, 0, 0, 0, 205, 226, 3, 0, 2, 128, 218, 1, 0, 12, 48, 0, 0, 0, 0, - 247, 226, 3, 0, 2, 129, 218, 1, 0, 20, 48, 0, 0, 0, 0, 125, 68, 0, 0, 2, 130, 218, 1, 0, 84, - 48, 0, 0, 0, 0, 125, 68, 0, 0, 2, 131, 218, 1, 0, 88, 48, 0, 0, 0, 0, 219, 52, 0, 0, 2, 132, - 218, 1, 0, 92, 0, 47, 0, 0, 0, 0, 12, 2, 103, 218, 1, 0, 48, 0, 0, 0, 0, 125, 68, 0, 0, 2, 104, - 218, 1, 0, 0, 48, 0, 0, 0, 0, 125, 68, 0, 0, 2, 105, 218, 1, 0, 4, 48, 0, 0, 0, 0, 125, 68, 0, - 0, 2, 106, 218, 1, 0, 8, 0, 47, 0, 0, 0, 0, 8, 2, 109, 218, 1, 0, 48, 0, 0, 0, 0, 125, 68, 0, - 0, 2, 110, 218, 1, 0, 0, 48, 0, 0, 0, 0, 125, 68, 0, 0, 2, 111, 218, 1, 0, 4, 0, 47, 0, 0, 0, - 0, 64, 2, 121, 218, 1, 0, 48, 0, 0, 0, 0, 33, 227, 3, 0, 2, 122, 218, 1, 0, 0, 48, 0, 0, 0, 0, - 33, 227, 3, 0, 2, 123, 218, 1, 0, 32, 0, 3, 45, 227, 3, 0, 4, 82, 0, 0, 0, 4, 0, 47, 0, 0, 0, - 0, 8, 2, 114, 218, 1, 0, 48, 0, 0, 0, 0, 177, 69, 0, 0, 2, 115, 218, 1, 0, 0, 48, 0, 0, 0, 0, - 177, 69, 0, 0, 2, 116, 218, 1, 0, 2, 48, 0, 0, 0, 0, 177, 69, 0, 0, 2, 117, 218, 1, 0, 4, 48, - 0, 0, 0, 0, 118, 55, 0, 0, 2, 118, 218, 1, 0, 6, 0, 9, 122, 227, 3, 0, 26, 127, 227, 3, 0, 47, - 0, 0, 0, 0, 26, 2, 165, 216, 1, 0, 48, 0, 0, 0, 0, 167, 149, 1, 0, 2, 166, 216, 1, 0, 0, 48, 0, - 0, 0, 0, 118, 55, 0, 0, 2, 167, 216, 1, 0, 2, 48, 0, 0, 0, 0, 86, 221, 3, 0, 2, 168, 216, 1, 0, - 3, 48, 0, 0, 0, 0, 167, 149, 1, 0, 2, 169, 216, 1, 0, 19, 48, 0, 0, 0, 0, 229, 227, 3, 0, 2, - 170, 216, 1, 0, 21, 48, 0, 0, 0, 0, 118, 55, 0, 0, 2, 171, 216, 1, 0, 25, 0, 33, 0, 1, 0, 0, 0, - 0, 0, 0, 2, 239, 15, 9, 246, 227, 3, 0, 26, 251, 227, 3, 0, 47, 0, 0, 0, 0, 12, 2, 253, 216, 1, - 0, 48, 0, 0, 0, 0, 229, 227, 3, 0, 2, 254, 216, 1, 0, 0, 48, 0, 0, 0, 0, 227, 221, 3, 0, 2, - 255, 216, 1, 0, 4, 0, 9, 42, 228, 3, 0, 26, 47, 228, 3, 0, 47, 0, 0, 0, 0, 24, 2, 232, 219, 1, - 0, 48, 0, 0, 0, 0, 168, 0, 0, 0, 2, 233, 219, 1, 0, 0, 48, 0, 0, 0, 0, 168, 0, 0, 0, 2, 234, - 219, 1, 0, 4, 48, 0, 0, 0, 0, 168, 0, 0, 0, 2, 235, 219, 1, 0, 8, 48, 0, 0, 0, 0, 168, 0, 0, 0, - 2, 236, 219, 1, 0, 12, 48, 0, 0, 0, 0, 168, 0, 0, 0, 2, 237, 219, 1, 0, 16, 48, 0, 0, 0, 0, - 168, 0, 0, 0, 2, 238, 219, 1, 0, 20, 0, 9, 154, 228, 3, 0, 26, 159, 228, 3, 0, 47, 0, 0, 0, 0, - 48, 2, 241, 219, 1, 0, 48, 0, 0, 0, 0, 5, 229, 3, 0, 2, 242, 219, 1, 0, 0, 48, 0, 0, 0, 0, 125, - 68, 0, 0, 2, 243, 219, 1, 0, 8, 48, 0, 0, 0, 0, 47, 229, 3, 0, 2, 244, 219, 1, 0, 16, 48, 0, 0, - 0, 0, 78, 229, 3, 0, 2, 245, 219, 1, 0, 24, 48, 0, 0, 0, 0, 109, 152, 1, 0, 2, 246, 219, 1, 0, - 32, 48, 0, 0, 0, 0, 11, 1, 0, 0, 2, 247, 219, 1, 0, 40, 0, 47, 0, 0, 0, 0, 8, 2, 54, 218, 1, 0, - 48, 0, 0, 0, 0, 0, 1, 0, 0, 2, 55, 218, 1, 0, 0, 48, 0, 0, 0, 0, 0, 1, 0, 0, 2, 56, 218, 1, 0, - 4, 0, 9, 52, 229, 3, 0, 13, 168, 0, 0, 0, 14, 167, 204, 3, 0, 14, 38, 201, 3, 0, 14, 56, 1, 0, - 0, 14, 168, 0, 0, 0, 0, 9, 83, 229, 3, 0, 13, 168, 0, 0, 0, 14, 167, 204, 3, 0, 14, 38, 201, 3, - 0, 14, 94, 34, 0, 0, 14, 56, 1, 0, 0, 14, 168, 0, 0, 0, 14, 75, 110, 0, 0, 0, 9, 124, 229, 3, - 0, 26, 5, 229, 3, 0, 9, 134, 229, 3, 0, 26, 139, 229, 3, 0, 47, 0, 0, 0, 0, 20, 2, 1, 220, 1, - 0, 48, 0, 0, 0, 0, 11, 1, 0, 0, 2, 2, 220, 1, 0, 0, 49, 0, 0, 0, 0, 118, 55, 0, 0, 2, 3, 220, - 1, 0, 1, 1, 7, 4, 49, 0, 0, 0, 0, 118, 55, 0, 0, 2, 4, 220, 1, 0, 1, 1, 6, 4, 48, 0, 0, 0, 0, - 216, 229, 3, 0, 2, 17, 220, 1, 0, 8, 60, 12, 2, 5, 220, 1, 0, 48, 0, 0, 0, 0, 125, 68, 0, 0, 2, - 6, 220, 1, 0, 0, 48, 0, 0, 0, 0, 125, 68, 0, 0, 2, 7, 220, 1, 0, 4, 48, 0, 0, 0, 0, 71, 43, 1, - 0, 2, 8, 220, 1, 0, 8, 48, 0, 0, 0, 0, 118, 55, 0, 0, 2, 9, 220, 1, 0, 9, 49, 0, 0, 0, 0, 118, - 55, 0, 0, 2, 10, 220, 1, 0, 1, 1, 7, 10, 49, 0, 0, 0, 0, 118, 55, 0, 0, 2, 11, 220, 1, 0, 1, 1, - 6, 10, 49, 0, 0, 0, 0, 118, 55, 0, 0, 2, 12, 220, 1, 0, 1, 1, 5, 10, 49, 0, 0, 0, 0, 118, 55, - 0, 0, 2, 13, 220, 1, 0, 1, 1, 4, 10, 49, 0, 0, 0, 0, 118, 55, 0, 0, 2, 14, 220, 1, 0, 1, 1, 3, - 10, 49, 0, 0, 0, 0, 118, 55, 0, 0, 2, 15, 220, 1, 0, 1, 1, 2, 10, 49, 0, 0, 0, 0, 118, 55, 0, - 0, 2, 16, 220, 1, 0, 1, 1, 1, 10, 0, 0, 9, 160, 230, 3, 0, 26, 165, 230, 3, 0, 47, 0, 0, 0, 0, - 16, 2, 240, 218, 1, 0, 48, 0, 0, 0, 0, 222, 230, 3, 0, 2, 241, 218, 1, 0, 0, 48, 0, 0, 0, 0, - 125, 68, 0, 0, 2, 242, 218, 1, 0, 4, 48, 0, 0, 0, 0, 250, 230, 3, 0, 2, 243, 218, 1, 0, 8, 0, - 19, 11, 1, 0, 0, 0, 0, 0, 0, 4, 2, 59, 218, 1, 0, 18, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 1, 0, 9, - 255, 230, 3, 0, 26, 4, 231, 3, 0, 47, 0, 0, 0, 0, 8, 2, 235, 218, 1, 0, 48, 0, 0, 0, 0, 125, - 68, 0, 0, 2, 236, 218, 1, 0, 0, 48, 0, 0, 0, 0, 125, 68, 0, 0, 2, 237, 218, 1, 0, 4, 0, 9, 51, - 231, 3, 0, 45, 0, 0, 0, 0, 9, 61, 231, 3, 0, 45, 0, 0, 0, 0, 9, 71, 231, 3, 0, 45, 0, 0, 0, 0, - 19, 11, 1, 0, 0, 0, 0, 0, 0, 4, 2, 101, 216, 1, 0, 18, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 1, 18, 0, - 0, 0, 0, 2, 18, 0, 0, 0, 0, 3, 18, 0, 0, 0, 0, 4, 0, 9, 127, 231, 3, 0, 45, 0, 0, 0, 0, 47, 0, - 0, 0, 0, 32, 2, 149, 216, 1, 0, 48, 0, 0, 0, 0, 32, 218, 3, 0, 2, 150, 216, 1, 0, 0, 48, 0, 0, - 0, 0, 234, 231, 3, 0, 2, 151, 216, 1, 0, 8, 48, 0, 0, 0, 0, 125, 68, 0, 0, 2, 152, 216, 1, 0, - 12, 48, 0, 0, 0, 0, 125, 68, 0, 0, 2, 153, 216, 1, 0, 16, 48, 0, 0, 0, 0, 112, 222, 3, 0, 2, - 154, 216, 1, 0, 20, 48, 0, 0, 0, 0, 177, 69, 0, 0, 2, 155, 216, 1, 0, 28, 0, 19, 11, 1, 0, 0, - 0, 0, 0, 0, 4, 2, 111, 216, 1, 0, 18, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 1, 18, 0, 0, 0, 0, 2, 18, - 0, 0, 0, 0, 3, 18, 0, 0, 0, 0, 4, 18, 0, 0, 0, 0, 5, 18, 0, 0, 0, 0, 6, 18, 0, 0, 0, 0, 7, 18, - 0, 0, 0, 0, 8, 18, 0, 0, 0, 0, 9, 18, 0, 0, 0, 0, 10, 18, 0, 0, 0, 0, 11, 18, 0, 0, 0, 0, 12, - 0, 47, 0, 0, 0, 0, 160, 2, 176, 216, 1, 0, 48, 0, 0, 0, 0, 97, 22, 3, 0, 2, 177, 216, 1, 0, 0, - 48, 0, 0, 0, 0, 97, 22, 3, 0, 2, 178, 216, 1, 0, 8, 48, 0, 0, 0, 0, 132, 231, 3, 0, 2, 179, - 216, 1, 0, 16, 48, 0, 0, 0, 0, 97, 22, 3, 0, 2, 180, 216, 1, 0, 48, 48, 0, 0, 0, 0, 118, 55, 0, - 0, 2, 181, 216, 1, 0, 56, 48, 0, 0, 0, 0, 118, 55, 0, 0, 2, 182, 216, 1, 0, 57, 48, 0, 0, 0, 0, - 177, 69, 0, 0, 2, 183, 216, 1, 0, 58, 48, 0, 0, 0, 0, 125, 68, 0, 0, 2, 184, 216, 1, 0, 60, 48, - 0, 0, 0, 0, 219, 52, 0, 0, 2, 185, 216, 1, 0, 64, 48, 0, 0, 0, 0, 219, 52, 0, 0, 2, 186, 216, - 1, 0, 65, 48, 0, 0, 0, 0, 219, 52, 0, 0, 2, 187, 216, 1, 0, 66, 48, 0, 0, 0, 0, 219, 52, 0, 0, - 2, 188, 216, 1, 0, 67, 48, 0, 0, 0, 0, 219, 52, 0, 0, 2, 189, 216, 1, 0, 68, 48, 0, 0, 0, 0, - 100, 210, 2, 0, 2, 191, 216, 1, 0, 72, 48, 0, 0, 0, 0, 127, 227, 3, 0, 2, 192, 216, 1, 0, 92, - 48, 0, 0, 0, 0, 127, 227, 3, 0, 2, 193, 216, 1, 0, 118, 48, 0, 0, 0, 0, 98, 233, 3, 0, 2, 194, - 216, 1, 0, 144, 48, 0, 0, 0, 0, 168, 0, 0, 0, 2, 195, 216, 1, 0, 152, 0, 9, 103, 233, 3, 0, 47, - 0, 0, 0, 0, 40, 2, 221, 218, 1, 0, 48, 0, 0, 0, 0, 97, 22, 3, 0, 2, 222, 218, 1, 0, 0, 48, 0, - 0, 0, 0, 97, 22, 3, 0, 2, 223, 218, 1, 0, 8, 48, 0, 0, 0, 0, 168, 0, 0, 0, 2, 224, 218, 1, 0, - 16, 48, 0, 0, 0, 0, 168, 0, 0, 0, 2, 225, 218, 1, 0, 20, 48, 0, 0, 0, 0, 177, 69, 0, 0, 2, 226, - 218, 1, 0, 24, 48, 0, 0, 0, 0, 125, 68, 0, 0, 2, 227, 218, 1, 0, 28, 48, 0, 0, 0, 0, 220, 233, - 3, 0, 2, 228, 218, 1, 0, 32, 0, 19, 11, 1, 0, 0, 0, 0, 0, 0, 4, 2, 207, 217, 1, 0, 18, 0, 0, 0, - 0, 0, 18, 0, 0, 0, 0, 1, 18, 0, 0, 0, 0, 2, 0, 50, 0, 0, 0, 0, 112, 1, 2, 33, 217, 1, 0, 48, 0, - 0, 0, 0, 32, 218, 3, 0, 2, 34, 217, 1, 0, 0, 48, 0, 0, 0, 0, 32, 218, 3, 0, 2, 35, 217, 1, 0, - 8, 48, 0, 0, 0, 0, 97, 22, 3, 0, 2, 36, 217, 1, 0, 16, 48, 0, 0, 0, 0, 97, 22, 3, 0, 2, 37, - 217, 1, 0, 24, 48, 0, 0, 0, 0, 97, 22, 3, 0, 2, 38, 217, 1, 0, 32, 48, 0, 0, 0, 0, 140, 55, 0, - 0, 2, 39, 217, 1, 0, 40, 48, 0, 0, 0, 0, 7, 236, 3, 0, 2, 40, 217, 1, 0, 48, 48, 0, 0, 0, 0, - 97, 22, 3, 0, 2, 42, 217, 1, 0, 56, 48, 0, 0, 0, 0, 140, 55, 0, 0, 2, 43, 217, 1, 0, 64, 48, 0, - 0, 0, 0, 219, 52, 0, 0, 2, 44, 217, 1, 0, 72, 48, 0, 0, 0, 0, 89, 236, 3, 0, 2, 46, 217, 1, 0, - 76, 48, 0, 0, 0, 0, 123, 236, 3, 0, 2, 47, 217, 1, 0, 80, 48, 0, 0, 0, 0, 97, 22, 3, 0, 2, 48, - 217, 1, 0, 176, 48, 0, 0, 0, 0, 118, 55, 0, 0, 2, 49, 217, 1, 0, 184, 48, 0, 0, 0, 0, 118, 55, - 0, 0, 2, 50, 217, 1, 0, 185, 48, 0, 0, 0, 0, 125, 68, 0, 0, 2, 52, 217, 1, 0, 188, 48, 0, 0, 0, - 0, 168, 0, 0, 0, 2, 53, 217, 1, 0, 192, 48, 0, 0, 0, 0, 127, 227, 3, 0, 2, 54, 217, 1, 0, 196, - 48, 0, 0, 0, 0, 127, 227, 3, 0, 2, 55, 217, 1, 0, 222, 48, 0, 0, 0, 0, 251, 227, 3, 0, 2, 56, - 217, 1, 0, 248, 53, 0, 0, 0, 0, 251, 227, 3, 0, 2, 57, 217, 1, 0, 4, 1, 53, 0, 0, 0, 0, 219, - 52, 0, 0, 2, 58, 217, 1, 0, 16, 1, 53, 0, 0, 0, 0, 186, 237, 3, 0, 2, 60, 217, 1, 0, 20, 1, 53, - 0, 0, 0, 0, 97, 22, 3, 0, 2, 61, 217, 1, 0, 32, 1, 53, 0, 0, 0, 0, 97, 22, 3, 0, 2, 62, 217, 1, - 0, 40, 1, 53, 0, 0, 0, 0, 140, 55, 0, 0, 2, 63, 217, 1, 0, 48, 1, 53, 0, 0, 0, 0, 97, 22, 3, 0, - 2, 64, 217, 1, 0, 56, 1, 53, 0, 0, 0, 0, 140, 55, 0, 0, 2, 65, 217, 1, 0, 64, 1, 53, 0, 0, 0, - 0, 177, 69, 0, 0, 2, 66, 217, 1, 0, 72, 1, 53, 0, 0, 0, 0, 97, 22, 3, 0, 2, 68, 217, 1, 0, 80, - 1, 53, 0, 0, 0, 0, 140, 55, 0, 0, 2, 69, 217, 1, 0, 88, 1, 53, 0, 0, 0, 0, 219, 52, 0, 0, 2, - 70, 217, 1, 0, 96, 1, 53, 0, 0, 0, 0, 112, 222, 3, 0, 2, 72, 217, 1, 0, 100, 1, 0, 19, 11, 1, - 0, 0, 0, 0, 0, 0, 4, 2, 199, 216, 1, 0, 18, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 1, 18, 0, 0, 0, 0, - 2, 18, 0, 0, 0, 0, 3, 18, 0, 0, 0, 0, 4, 18, 0, 0, 0, 0, 5, 18, 0, 0, 0, 0, 6, 18, 0, 0, 0, 0, - 7, 18, 0, 0, 0, 0, 8, 18, 0, 0, 0, 0, 7, 18, 0, 0, 0, 0, 8, 0, 19, 11, 1, 0, 0, 0, 0, 0, 0, 4, - 2, 213, 216, 1, 0, 18, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 1, 18, 0, 0, 0, 0, 2, 0, 47, 0, 0, 0, 0, - 96, 2, 226, 216, 1, 0, 48, 0, 0, 0, 0, 125, 68, 0, 0, 2, 227, 216, 1, 0, 0, 48, 0, 0, 0, 0, - 125, 68, 0, 0, 2, 228, 216, 1, 0, 4, 48, 0, 0, 0, 0, 168, 0, 0, 0, 2, 229, 216, 1, 0, 8, 48, 0, - 0, 0, 0, 134, 237, 3, 0, 2, 230, 216, 1, 0, 12, 48, 0, 0, 0, 0, 168, 0, 0, 0, 2, 231, 216, 1, - 0, 32, 48, 0, 0, 0, 0, 136, 116, 1, 0, 2, 232, 216, 1, 0, 36, 48, 0, 0, 0, 0, 219, 52, 0, 0, 2, - 233, 216, 1, 0, 44, 48, 0, 0, 0, 0, 244, 48, 0, 0, 2, 234, 216, 1, 0, 46, 48, 0, 0, 0, 0, 219, - 52, 0, 0, 2, 235, 216, 1, 0, 48, 48, 0, 0, 0, 0, 219, 52, 0, 0, 2, 236, 216, 1, 0, 49, 48, 0, - 0, 0, 0, 219, 52, 0, 0, 2, 237, 216, 1, 0, 50, 48, 0, 0, 0, 0, 98, 233, 3, 0, 2, 238, 216, 1, - 0, 56, 48, 0, 0, 0, 0, 168, 0, 0, 0, 2, 239, 216, 1, 0, 64, 48, 0, 0, 0, 0, 97, 22, 3, 0, 2, - 240, 216, 1, 0, 72, 48, 0, 0, 0, 0, 97, 22, 3, 0, 2, 241, 216, 1, 0, 80, 48, 0, 0, 0, 0, 118, - 55, 0, 0, 2, 242, 216, 1, 0, 88, 48, 0, 0, 0, 0, 146, 237, 3, 0, 2, 243, 216, 1, 0, 92, 0, 3, - 125, 68, 0, 0, 4, 82, 0, 0, 0, 5, 0, 19, 11, 1, 0, 0, 0, 0, 0, 0, 4, 2, 219, 216, 1, 0, 18, 0, - 0, 0, 0, 0, 18, 0, 0, 0, 0, 1, 18, 0, 0, 0, 0, 2, 18, 0, 0, 0, 0, 3, 0, 47, 0, 0, 0, 0, 12, 2, - 25, 217, 1, 0, 48, 0, 0, 0, 0, 10, 238, 3, 0, 2, 26, 217, 1, 0, 0, 48, 0, 0, 0, 0, 227, 237, 3, - 0, 2, 30, 217, 1, 0, 4, 59, 8, 2, 27, 217, 1, 0, 48, 0, 0, 0, 0, 224, 217, 3, 0, 2, 28, 217, 1, - 0, 0, 48, 0, 0, 0, 0, 182, 217, 3, 0, 2, 29, 217, 1, 0, 0, 0, 0, 19, 11, 1, 0, 0, 0, 0, 0, 0, - 4, 2, 2, 217, 1, 0, 18, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 1, 18, 0, 0, 0, 0, 2, 18, 0, 0, 0, 0, 3, - 18, 0, 0, 0, 0, 4, 18, 0, 0, 0, 0, 3, 0, 9, 67, 238, 3, 0, 45, 0, 0, 0, 0, 9, 77, 238, 3, 0, - 47, 0, 0, 0, 0, 88, 2, 250, 209, 1, 0, 48, 0, 0, 0, 0, 118, 239, 3, 0, 2, 251, 209, 1, 0, 0, - 48, 0, 0, 0, 0, 168, 0, 0, 0, 2, 252, 209, 1, 0, 8, 48, 0, 0, 0, 0, 227, 28, 0, 0, 2, 253, 209, - 1, 0, 16, 48, 0, 0, 0, 0, 9, 29, 0, 0, 2, 254, 209, 1, 0, 32, 48, 0, 0, 0, 0, 78, 242, 3, 0, 2, - 255, 209, 1, 0, 40, 48, 0, 0, 0, 0, 9, 29, 0, 0, 2, 0, 210, 1, 0, 48, 48, 0, 0, 0, 0, 125, 68, - 0, 0, 2, 1, 210, 1, 0, 56, 48, 0, 0, 0, 0, 167, 149, 1, 0, 2, 2, 210, 1, 0, 60, 48, 0, 0, 0, 0, - 167, 149, 1, 0, 2, 3, 210, 1, 0, 62, 48, 0, 0, 0, 0, 66, 242, 3, 0, 2, 4, 210, 1, 0, 64, 48, 0, - 0, 0, 0, 176, 64, 0, 0, 2, 5, 210, 1, 0, 72, 48, 0, 0, 0, 0, 176, 64, 0, 0, 2, 6, 210, 1, 0, - 76, 48, 0, 0, 0, 0, 118, 55, 0, 0, 2, 7, 210, 1, 0, 80, 48, 0, 0, 0, 0, 118, 55, 0, 0, 2, 8, - 210, 1, 0, 81, 48, 0, 0, 0, 0, 118, 55, 0, 0, 2, 9, 210, 1, 0, 82, 48, 0, 0, 0, 0, 71, 43, 1, - 0, 2, 10, 210, 1, 0, 83, 48, 0, 0, 0, 0, 219, 52, 0, 0, 2, 11, 210, 1, 0, 84, 48, 0, 0, 0, 0, - 219, 52, 0, 0, 2, 12, 210, 1, 0, 85, 48, 0, 0, 0, 0, 219, 52, 0, 0, 2, 13, 210, 1, 0, 86, 0, 9, - 123, 239, 3, 0, 50, 0, 0, 0, 0, 0, 4, 2, 166, 210, 1, 0, 48, 0, 0, 0, 0, 56, 1, 0, 0, 2, 167, - 210, 1, 0, 0, 48, 0, 0, 0, 0, 125, 68, 0, 0, 2, 168, 210, 1, 0, 8, 48, 0, 0, 0, 0, 118, 55, 0, - 0, 2, 169, 210, 1, 0, 12, 48, 0, 0, 0, 0, 118, 55, 0, 0, 2, 170, 210, 1, 0, 13, 48, 0, 0, 0, 0, - 107, 240, 3, 0, 2, 171, 210, 1, 0, 16, 48, 0, 0, 0, 0, 101, 103, 0, 0, 2, 172, 210, 1, 0, 200, - 48, 0, 0, 0, 0, 170, 241, 3, 0, 2, 173, 210, 1, 0, 204, 48, 0, 0, 0, 0, 66, 242, 3, 0, 2, 174, - 210, 1, 0, 216, 48, 0, 0, 0, 0, 101, 103, 0, 0, 2, 175, 210, 1, 0, 224, 48, 0, 0, 0, 0, 118, - 55, 0, 0, 2, 176, 210, 1, 0, 228, 48, 0, 0, 0, 0, 177, 69, 0, 0, 2, 177, 210, 1, 0, 230, 48, 0, - 0, 0, 0, 177, 69, 0, 0, 2, 178, 210, 1, 0, 232, 48, 0, 0, 0, 0, 57, 171, 0, 0, 2, 179, 210, 1, - 0, 240, 53, 0, 0, 0, 0, 193, 170, 1, 0, 2, 180, 210, 1, 0, 224, 3, 53, 0, 0, 0, 0, 115, 29, 0, - 0, 2, 184, 210, 1, 0, 0, 4, 0, 47, 0, 0, 0, 0, 184, 2, 141, 210, 1, 0, 48, 0, 0, 0, 0, 64, 143, - 2, 0, 2, 142, 210, 1, 0, 0, 48, 0, 0, 0, 0, 125, 68, 0, 0, 2, 143, 210, 1, 0, 128, 48, 0, 0, 0, - 0, 125, 68, 0, 0, 2, 144, 210, 1, 0, 132, 48, 0, 0, 0, 0, 125, 68, 0, 0, 2, 145, 210, 1, 0, - 136, 48, 0, 0, 0, 0, 118, 241, 3, 0, 2, 146, 210, 1, 0, 140, 48, 0, 0, 0, 0, 118, 55, 0, 0, 2, - 147, 210, 1, 0, 144, 48, 0, 0, 0, 0, 118, 55, 0, 0, 2, 148, 210, 1, 0, 145, 48, 0, 0, 0, 0, - 118, 55, 0, 0, 2, 149, 210, 1, 0, 146, 48, 0, 0, 0, 0, 118, 55, 0, 0, 2, 150, 210, 1, 0, 147, - 48, 0, 0, 0, 0, 118, 55, 0, 0, 2, 151, 210, 1, 0, 148, 48, 0, 0, 0, 0, 118, 55, 0, 0, 2, 152, - 210, 1, 0, 149, 48, 0, 0, 0, 0, 71, 43, 1, 0, 2, 153, 210, 1, 0, 150, 48, 0, 0, 0, 0, 71, 43, - 1, 0, 2, 154, 210, 1, 0, 151, 48, 0, 0, 0, 0, 140, 55, 0, 0, 2, 155, 210, 1, 0, 152, 48, 0, 0, - 0, 0, 140, 55, 0, 0, 2, 156, 210, 1, 0, 160, 48, 0, 0, 0, 0, 156, 156, 2, 0, 2, 157, 210, 1, 0, - 168, 48, 0, 0, 0, 0, 156, 156, 2, 0, 2, 158, 210, 1, 0, 176, 0, 19, 11, 1, 0, 0, 0, 0, 0, 0, 4, - 2, 132, 210, 1, 0, 18, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 1, 18, 0, 0, 0, 0, 2, 18, 0, 0, 0, 0, 3, - 18, 0, 0, 0, 0, 4, 18, 0, 0, 0, 0, 3, 0, 47, 0, 0, 0, 0, 8, 2, 161, 210, 1, 0, 48, 0, 0, 0, 0, - 212, 241, 3, 0, 2, 162, 210, 1, 0, 0, 48, 0, 0, 0, 0, 26, 242, 3, 0, 2, 163, 210, 1, 0, 4, 0, - 19, 11, 1, 0, 0, 0, 0, 0, 0, 4, 2, 113, 210, 1, 0, 18, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 1, 18, 0, - 0, 0, 0, 2, 18, 0, 0, 0, 0, 3, 18, 0, 0, 0, 0, 4, 18, 0, 0, 0, 0, 5, 18, 0, 0, 0, 0, 6, 18, 0, - 0, 0, 0, 7, 18, 0, 0, 0, 0, 6, 0, 19, 11, 1, 0, 0, 0, 0, 0, 0, 4, 2, 125, 210, 1, 0, 18, 0, 0, - 0, 0, 0, 18, 0, 0, 0, 0, 1, 18, 0, 0, 0, 0, 2, 18, 0, 0, 0, 0, 1, 0, 33, 197, 0, 0, 0, 0, 0, 0, - 0, 2, 90, 177, 9, 83, 242, 3, 0, 26, 88, 242, 3, 0, 47, 0, 0, 0, 0, 8, 2, 196, 210, 1, 0, 48, - 0, 0, 0, 0, 115, 242, 3, 0, 2, 197, 210, 1, 0, 0, 0, 9, 120, 242, 3, 0, 13, 168, 0, 0, 0, 14, - 94, 34, 0, 0, 14, 9, 29, 0, 0, 14, 151, 242, 3, 0, 14, 151, 242, 3, 0, 14, 11, 1, 0, 0, 0, 9, - 156, 242, 3, 0, 26, 161, 242, 3, 0, 47, 0, 0, 0, 0, 16, 2, 187, 210, 1, 0, 48, 0, 0, 0, 0, 118, - 55, 0, 0, 2, 188, 210, 1, 0, 0, 48, 0, 0, 0, 0, 167, 149, 1, 0, 2, 189, 210, 1, 0, 2, 51, 213, - 242, 3, 0, 2, 190, 210, 1, 0, 8, 59, 8, 2, 190, 210, 1, 0, 48, 0, 0, 0, 0, 167, 149, 1, 0, 2, - 191, 210, 1, 0, 0, 48, 0, 0, 0, 0, 66, 242, 3, 0, 2, 192, 210, 1, 0, 0, 0, 0, 9, 1, 243, 3, 0, - 45, 0, 0, 0, 0, 9, 11, 243, 3, 0, 45, 0, 0, 0, 0, 9, 21, 243, 3, 0, 20, 0, 0, 0, 0, 192, 2, - 108, 49, 21, 0, 0, 0, 0, 56, 74, 3, 0, 2, 109, 49, 0, 21, 0, 0, 0, 0, 109, 243, 3, 0, 2, 110, - 49, 64, 21, 0, 0, 0, 0, 175, 243, 3, 0, 2, 111, 49, 72, 21, 0, 0, 0, 0, 198, 87, 0, 0, 2, 112, - 49, 80, 21, 0, 0, 0, 0, 9, 29, 0, 0, 2, 113, 49, 144, 21, 0, 0, 0, 0, 197, 69, 3, 0, 2, 114, - 49, 152, 0, 9, 114, 243, 3, 0, 20, 0, 0, 0, 0, 24, 2, 90, 49, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, - 91, 49, 0, 21, 0, 0, 0, 0, 65, 29, 0, 0, 2, 92, 49, 8, 21, 0, 0, 0, 0, 163, 243, 3, 0, 2, 93, - 49, 24, 0, 3, 177, 69, 0, 0, 4, 82, 0, 0, 0, 0, 0, 9, 180, 243, 3, 0, 20, 0, 0, 0, 0, 24, 2, - 102, 49, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 103, 49, 0, 21, 0, 0, 0, 0, 65, 29, 0, 0, 2, 104, 49, - 8, 21, 0, 0, 0, 0, 229, 243, 3, 0, 2, 105, 49, 24, 0, 3, 241, 243, 3, 0, 4, 82, 0, 0, 0, 0, 0, - 20, 0, 0, 0, 0, 8, 2, 96, 49, 21, 0, 0, 0, 0, 177, 69, 0, 0, 2, 97, 49, 0, 21, 0, 0, 0, 0, 177, - 69, 0, 0, 2, 98, 49, 2, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 99, 49, 4, 0, 9, 39, 244, 3, 0, 33, 51, - 244, 3, 0, 0, 0, 0, 0, 2, 67, 43, 13, 62, 244, 3, 0, 14, 197, 41, 3, 0, 0, 33, 74, 244, 3, 0, - 0, 0, 0, 0, 2, 65, 43, 17, 11, 1, 0, 0, 0, 0, 0, 0, 4, 2, 58, 43, 18, 0, 0, 0, 0, 0, 18, 0, 0, - 0, 0, 1, 18, 0, 0, 0, 0, 2, 18, 0, 0, 0, 0, 3, 0, 9, 117, 244, 3, 0, 20, 0, 0, 0, 0, 48, 2, - 122, 51, 21, 0, 0, 0, 0, 192, 244, 3, 0, 2, 123, 51, 0, 21, 0, 0, 0, 0, 34, 250, 3, 0, 2, 124, - 51, 8, 21, 0, 0, 0, 0, 184, 4, 4, 0, 2, 125, 51, 16, 21, 0, 0, 0, 0, 25, 246, 3, 0, 2, 126, 51, - 24, 21, 0, 0, 0, 0, 65, 29, 0, 0, 2, 127, 51, 32, 0, 9, 197, 244, 3, 0, 20, 0, 0, 0, 0, 104, 2, - 77, 52, 21, 0, 0, 0, 0, 192, 244, 3, 0, 2, 78, 52, 0, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 79, 52, - 8, 21, 0, 0, 0, 0, 120, 245, 3, 0, 2, 80, 52, 16, 21, 0, 0, 0, 0, 244, 48, 0, 0, 2, 81, 52, 24, - 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 82, 52, 28, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 83, 52, 32, 21, - 0, 0, 0, 0, 105, 246, 3, 0, 2, 84, 52, 40, 21, 0, 0, 0, 0, 119, 249, 3, 0, 2, 85, 52, 48, 21, - 0, 0, 0, 0, 248, 68, 0, 0, 2, 86, 52, 56, 21, 0, 0, 0, 0, 219, 52, 0, 0, 2, 87, 52, 60, 21, 0, - 0, 0, 0, 141, 64, 0, 0, 2, 88, 52, 64, 21, 0, 0, 0, 0, 65, 29, 0, 0, 2, 89, 52, 72, 21, 0, 0, - 0, 0, 184, 28, 0, 0, 2, 90, 52, 88, 0, 9, 125, 245, 3, 0, 13, 168, 0, 0, 0, 14, 94, 34, 0, 0, - 14, 146, 245, 3, 0, 14, 156, 245, 3, 0, 0, 9, 151, 245, 3, 0, 26, 197, 244, 3, 0, 9, 161, 245, - 3, 0, 20, 0, 0, 0, 0, 16, 2, 93, 52, 22, 179, 245, 3, 0, 2, 94, 52, 0, 23, 16, 2, 94, 52, 22, - 193, 245, 3, 0, 2, 95, 52, 0, 24, 16, 2, 95, 52, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 96, 52, 0, - 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 97, 52, 8, 0, 21, 0, 0, 0, 0, 146, 245, 3, 0, 2, 99, 52, 0, - 22, 247, 245, 3, 0, 2, 100, 52, 0, 24, 16, 2, 100, 52, 21, 0, 0, 0, 0, 219, 52, 0, 0, 2, 101, - 52, 0, 21, 0, 0, 0, 0, 25, 246, 3, 0, 2, 102, 52, 8, 0, 0, 0, 9, 30, 246, 3, 0, 20, 0, 0, 0, 0, - 20, 2, 38, 49, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 39, 49, 0, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 40, 49, - 4, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 41, 49, 8, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 42, 49, 12, 21, 0, - 0, 0, 0, 0, 1, 0, 0, 2, 43, 49, 16, 0, 9, 110, 246, 3, 0, 26, 115, 246, 3, 0, 20, 0, 0, 0, 0, - 192, 2, 109, 52, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 110, 52, 0, 21, 0, 0, 0, 0, 105, 28, 0, 0, - 2, 111, 52, 16, 21, 0, 0, 0, 0, 120, 245, 3, 0, 2, 112, 52, 32, 21, 0, 0, 0, 0, 155, 247, 3, 0, - 2, 113, 52, 40, 21, 0, 0, 0, 0, 171, 247, 3, 0, 2, 114, 52, 48, 21, 0, 0, 0, 0, 193, 247, 3, 0, - 2, 115, 52, 56, 21, 0, 0, 0, 0, 214, 247, 3, 0, 2, 116, 52, 64, 21, 0, 0, 0, 0, 231, 247, 3, 0, - 2, 117, 52, 72, 21, 0, 0, 0, 0, 31, 248, 3, 0, 2, 118, 52, 80, 21, 0, 0, 0, 0, 67, 248, 3, 0, - 2, 119, 52, 88, 21, 0, 0, 0, 0, 83, 248, 3, 0, 2, 120, 52, 96, 21, 0, 0, 0, 0, 238, 248, 3, 0, - 2, 121, 52, 104, 21, 0, 0, 0, 0, 214, 247, 3, 0, 2, 122, 52, 112, 21, 0, 0, 0, 0, 214, 247, 3, - 0, 2, 123, 52, 120, 21, 0, 0, 0, 0, 56, 249, 3, 0, 2, 124, 52, 128, 21, 0, 0, 0, 0, 88, 249, 3, - 0, 2, 125, 52, 136, 21, 0, 0, 0, 0, 125, 141, 0, 0, 2, 126, 52, 144, 21, 0, 0, 0, 0, 114, 5, 4, - 0, 2, 127, 52, 152, 21, 0, 0, 0, 0, 114, 5, 4, 0, 2, 128, 52, 160, 21, 0, 0, 0, 0, 155, 5, 4, - 0, 2, 129, 52, 168, 21, 0, 0, 0, 0, 111, 83, 0, 0, 2, 130, 52, 176, 21, 0, 0, 0, 0, 168, 0, 0, - 0, 2, 131, 52, 184, 0, 9, 160, 247, 3, 0, 13, 168, 0, 0, 0, 14, 192, 244, 3, 0, 0, 9, 176, 247, - 3, 0, 32, 14, 192, 244, 3, 0, 14, 219, 52, 0, 0, 14, 19, 152, 1, 0, 0, 9, 198, 247, 3, 0, 13, - 255, 0, 0, 0, 14, 192, 244, 3, 0, 14, 125, 68, 0, 0, 0, 9, 219, 247, 3, 0, 32, 14, 192, 244, 3, - 0, 14, 255, 0, 0, 0, 0, 9, 236, 247, 3, 0, 13, 168, 0, 0, 0, 14, 115, 125, 1, 0, 14, 94, 34, 0, - 0, 14, 192, 244, 3, 0, 14, 127, 29, 0, 0, 14, 125, 68, 0, 0, 14, 229, 151, 1, 0, 14, 31, 48, 1, - 0, 14, 125, 68, 0, 0, 14, 19, 152, 1, 0, 0, 9, 36, 248, 3, 0, 13, 168, 0, 0, 0, 14, 192, 244, - 3, 0, 14, 255, 0, 0, 0, 14, 174, 225, 0, 0, 14, 219, 52, 0, 0, 14, 19, 152, 1, 0, 0, 9, 72, - 248, 3, 0, 13, 219, 52, 0, 0, 14, 192, 244, 3, 0, 0, 9, 88, 248, 3, 0, 32, 14, 192, 244, 3, 0, - 14, 105, 248, 3, 0, 14, 219, 52, 0, 0, 0, 9, 110, 248, 3, 0, 47, 0, 0, 0, 0, 32, 2, 135, 173, - 1, 0, 48, 0, 0, 0, 0, 168, 0, 0, 0, 2, 136, 173, 1, 0, 0, 48, 0, 0, 0, 0, 168, 0, 0, 0, 2, 137, - 173, 1, 0, 4, 48, 0, 0, 0, 0, 168, 0, 0, 0, 2, 138, 173, 1, 0, 8, 48, 0, 0, 0, 0, 219, 52, 0, - 0, 2, 139, 173, 1, 0, 12, 48, 0, 0, 0, 0, 127, 29, 0, 0, 2, 140, 173, 1, 0, 16, 48, 0, 0, 0, 0, - 212, 248, 3, 0, 2, 141, 173, 1, 0, 24, 0, 9, 217, 248, 3, 0, 13, 168, 0, 0, 0, 14, 192, 244, 3, - 0, 14, 255, 0, 0, 0, 14, 105, 248, 3, 0, 0, 9, 243, 248, 3, 0, 13, 168, 0, 0, 0, 14, 192, 244, - 3, 0, 14, 219, 52, 0, 0, 14, 18, 249, 3, 0, 14, 255, 0, 0, 0, 14, 19, 152, 1, 0, 0, 9, 23, 249, - 3, 0, 33, 35, 249, 3, 0, 0, 0, 0, 0, 2, 247, 51, 13, 168, 0, 0, 0, 14, 14, 16, 0, 0, 14, 255, - 0, 0, 0, 14, 255, 0, 0, 0, 0, 9, 61, 249, 3, 0, 32, 14, 255, 0, 0, 0, 14, 125, 68, 0, 0, 14, - 127, 29, 0, 0, 14, 255, 0, 0, 0, 14, 127, 29, 0, 0, 0, 9, 93, 249, 3, 0, 13, 255, 0, 0, 0, 14, - 115, 125, 1, 0, 14, 119, 249, 3, 0, 14, 229, 151, 1, 0, 14, 19, 152, 1, 0, 0, 9, 124, 249, 3, - 0, 20, 0, 0, 0, 0, 112, 2, 134, 52, 21, 0, 0, 0, 0, 241, 106, 0, 0, 2, 135, 52, 0, 21, 0, 0, 0, - 0, 192, 244, 3, 0, 2, 136, 52, 32, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 137, 52, 40, 21, 0, 0, 0, - 0, 34, 250, 3, 0, 2, 138, 52, 56, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 139, 52, 64, 21, 0, 0, 0, - 0, 11, 1, 0, 0, 2, 140, 52, 68, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 141, 52, 72, 21, 0, 0, 0, 0, - 219, 52, 0, 0, 2, 142, 52, 76, 21, 0, 0, 0, 0, 219, 52, 0, 0, 2, 143, 52, 77, 21, 0, 0, 0, 0, - 105, 246, 3, 0, 2, 144, 52, 80, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 145, 52, 88, 21, 0, 0, 0, 0, - 65, 29, 0, 0, 2, 146, 52, 96, 0, 9, 39, 250, 3, 0, 27, 0, 0, 0, 0, 240, 4, 2, 49, 52, 21, 0, 0, - 0, 0, 241, 106, 0, 0, 2, 50, 52, 0, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 51, 52, 32, 21, 0, 0, 0, - 0, 125, 68, 0, 0, 2, 52, 52, 48, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 53, 52, 52, 21, 0, 0, 0, 0, - 141, 64, 0, 0, 2, 54, 52, 56, 21, 0, 0, 0, 0, 115, 125, 1, 0, 2, 55, 52, 64, 21, 0, 0, 0, 0, - 61, 251, 3, 0, 2, 56, 52, 72, 21, 0, 0, 0, 0, 133, 97, 0, 0, 2, 57, 52, 80, 21, 0, 0, 0, 0, 79, - 5, 4, 0, 2, 58, 52, 120, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 59, 52, 136, 21, 0, 0, 0, 0, 219, - 52, 0, 0, 2, 60, 52, 152, 21, 0, 0, 0, 0, 176, 64, 0, 0, 2, 61, 52, 156, 21, 0, 0, 0, 0, 11, 1, - 0, 0, 2, 62, 52, 160, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 63, 52, 164, 21, 0, 0, 0, 0, 244, 250, 3, - 0, 2, 67, 52, 168, 24, 24, 2, 64, 52, 21, 0, 0, 0, 0, 119, 249, 3, 0, 2, 65, 52, 0, 21, 0, 0, - 0, 0, 227, 28, 0, 0, 2, 66, 52, 8, 0, 21, 0, 0, 0, 0, 65, 29, 0, 0, 2, 68, 52, 192, 21, 0, 0, - 0, 0, 102, 5, 4, 0, 2, 69, 52, 208, 28, 0, 0, 0, 0, 241, 106, 0, 0, 2, 70, 52, 208, 4, 0, 9, - 66, 251, 3, 0, 27, 0, 0, 0, 0, 64, 1, 2, 52, 49, 21, 0, 0, 0, 0, 176, 252, 3, 0, 2, 53, 49, 0, - 21, 0, 0, 0, 0, 202, 252, 3, 0, 2, 54, 49, 8, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 55, 49, 16, 21, - 0, 0, 0, 0, 125, 68, 0, 0, 2, 56, 49, 20, 21, 0, 0, 0, 0, 218, 252, 3, 0, 2, 57, 49, 24, 21, 0, - 0, 0, 0, 236, 3, 4, 0, 2, 58, 49, 32, 21, 0, 0, 0, 0, 184, 28, 0, 0, 2, 59, 49, 40, 21, 0, 0, - 0, 0, 125, 68, 0, 0, 2, 60, 49, 56, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 61, 49, 60, 21, 0, 0, 0, - 0, 240, 254, 3, 0, 2, 62, 49, 64, 21, 0, 0, 0, 0, 174, 4, 4, 0, 2, 63, 49, 72, 21, 0, 0, 0, 0, - 184, 4, 4, 0, 2, 64, 49, 80, 21, 0, 0, 0, 0, 25, 246, 3, 0, 2, 65, 49, 88, 21, 0, 0, 0, 0, 168, - 0, 0, 0, 2, 66, 49, 96, 21, 0, 0, 0, 0, 141, 64, 0, 0, 2, 67, 49, 100, 21, 0, 0, 0, 0, 195, - 183, 1, 0, 2, 71, 49, 128, 21, 0, 0, 0, 0, 5, 5, 4, 0, 2, 72, 49, 152, 21, 0, 0, 0, 0, 225, 4, - 4, 0, 2, 73, 49, 176, 21, 0, 0, 0, 0, 208, 67, 0, 0, 2, 74, 49, 192, 21, 0, 0, 0, 0, 30, 246, - 3, 0, 2, 75, 49, 196, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 76, 49, 216, 21, 0, 0, 0, 0, 61, 251, - 3, 0, 2, 77, 49, 224, 21, 0, 0, 0, 0, 195, 183, 1, 0, 2, 78, 49, 232, 28, 0, 0, 0, 0, 248, 68, - 0, 0, 2, 79, 49, 0, 1, 28, 0, 0, 0, 0, 248, 68, 0, 0, 2, 80, 49, 4, 1, 28, 0, 0, 0, 0, 65, 29, - 0, 0, 2, 81, 49, 8, 1, 28, 0, 0, 0, 0, 67, 5, 4, 0, 2, 87, 49, 64, 1, 0, 9, 181, 252, 3, 0, 13, - 168, 0, 0, 0, 14, 94, 34, 0, 0, 14, 61, 251, 3, 0, 14, 197, 41, 3, 0, 0, 9, 207, 252, 3, 0, 13, - 94, 34, 0, 0, 14, 61, 251, 3, 0, 0, 9, 223, 252, 3, 0, 26, 228, 252, 3, 0, 20, 0, 0, 0, 0, 176, - 2, 3, 52, 21, 0, 0, 0, 0, 12, 254, 3, 0, 2, 4, 52, 0, 21, 0, 0, 0, 0, 17, 254, 3, 0, 2, 5, 52, - 8, 21, 0, 0, 0, 0, 105, 28, 0, 0, 2, 6, 52, 16, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 7, 52, 32, 21, - 0, 0, 0, 0, 11, 1, 0, 0, 2, 8, 52, 36, 21, 0, 0, 0, 0, 176, 252, 3, 0, 2, 9, 52, 40, 21, 0, 0, - 0, 0, 202, 252, 3, 0, 2, 10, 52, 48, 21, 0, 0, 0, 0, 202, 252, 3, 0, 2, 11, 52, 56, 21, 0, 0, - 0, 0, 85, 3, 4, 0, 2, 12, 52, 64, 21, 0, 0, 0, 0, 111, 3, 4, 0, 2, 13, 52, 72, 21, 0, 0, 0, 0, - 111, 3, 4, 0, 2, 14, 52, 80, 21, 0, 0, 0, 0, 85, 3, 4, 0, 2, 15, 52, 88, 21, 0, 0, 0, 0, 111, - 3, 4, 0, 2, 16, 52, 96, 21, 0, 0, 0, 0, 123, 3, 4, 0, 2, 17, 52, 104, 21, 0, 0, 0, 0, 144, 3, - 4, 0, 2, 18, 52, 112, 21, 0, 0, 0, 0, 161, 3, 4, 0, 2, 19, 52, 120, 21, 0, 0, 0, 0, 182, 3, 4, - 0, 2, 20, 52, 128, 21, 0, 0, 0, 0, 203, 3, 4, 0, 2, 21, 52, 136, 21, 0, 0, 0, 0, 203, 3, 4, 0, - 2, 22, 52, 144, 21, 0, 0, 0, 0, 220, 3, 4, 0, 2, 23, 52, 152, 21, 0, 0, 0, 0, 220, 3, 4, 0, 2, - 24, 52, 160, 21, 0, 0, 0, 0, 111, 83, 0, 0, 2, 25, 52, 168, 0, 9, 228, 252, 3, 0, 9, 22, 254, - 3, 0, 26, 27, 254, 3, 0, 20, 0, 0, 0, 0, 112, 2, 30, 52, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 31, - 52, 0, 21, 0, 0, 0, 0, 219, 254, 3, 0, 2, 32, 52, 8, 21, 0, 0, 0, 0, 211, 0, 4, 0, 2, 33, 52, - 16, 21, 0, 0, 0, 0, 252, 0, 4, 0, 2, 34, 52, 24, 21, 0, 0, 0, 0, 17, 1, 4, 0, 2, 35, 52, 32, - 21, 0, 0, 0, 0, 34, 1, 4, 0, 2, 36, 52, 40, 21, 0, 0, 0, 0, 55, 1, 4, 0, 2, 37, 52, 48, 21, 0, - 0, 0, 0, 96, 1, 4, 0, 2, 38, 52, 56, 21, 0, 0, 0, 0, 122, 1, 4, 0, 2, 39, 52, 64, 21, 0, 0, 0, - 0, 242, 1, 4, 0, 2, 40, 52, 72, 21, 0, 0, 0, 0, 12, 2, 4, 0, 2, 41, 52, 80, 21, 0, 0, 0, 0, 17, - 1, 4, 0, 2, 42, 52, 88, 21, 0, 0, 0, 0, 38, 2, 4, 0, 2, 43, 52, 96, 21, 0, 0, 0, 0, 69, 2, 4, - 0, 2, 44, 52, 104, 0, 9, 224, 254, 3, 0, 13, 240, 254, 3, 0, 14, 61, 251, 3, 0, 14, 105, 0, 4, - 0, 0, 9, 245, 254, 3, 0, 27, 0, 0, 0, 0, 64, 1, 2, 2, 49, 21, 0, 0, 0, 0, 9, 29, 0, 0, 2, 3, - 49, 0, 21, 0, 0, 0, 0, 61, 251, 3, 0, 2, 4, 49, 8, 21, 0, 0, 0, 0, 61, 251, 3, 0, 2, 5, 49, 16, - 21, 0, 0, 0, 0, 198, 87, 0, 0, 2, 6, 49, 24, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 7, 49, 88, 21, 0, - 0, 0, 0, 127, 29, 0, 0, 2, 8, 49, 96, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 9, 49, 104, 21, 0, 0, - 0, 0, 9, 29, 0, 0, 2, 10, 49, 112, 21, 0, 0, 0, 0, 197, 69, 3, 0, 2, 11, 49, 120, 21, 0, 0, 0, - 0, 248, 68, 0, 0, 2, 12, 49, 128, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 13, 49, 132, 21, 0, 0, 0, 0, - 127, 29, 0, 0, 2, 14, 49, 136, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 15, 49, 144, 21, 0, 0, 0, 0, - 182, 255, 3, 0, 2, 21, 49, 192, 0, 20, 0, 0, 0, 0, 128, 2, 136, 47, 21, 0, 0, 0, 0, 11, 1, 0, - 0, 2, 137, 47, 0, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 138, 47, 4, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, - 139, 47, 8, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 147, 47, 64, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 148, - 47, 68, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 149, 47, 72, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 150, 47, - 76, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 151, 47, 80, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 152, 47, 84, - 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 153, 47, 88, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 154, 47, 96, 21, - 0, 0, 0, 0, 11, 1, 0, 0, 2, 155, 47, 100, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 156, 47, 104, 0, 9, - 110, 0, 4, 0, 20, 0, 0, 0, 0, 20, 2, 199, 51, 21, 0, 0, 0, 0, 5, 49, 0, 0, 2, 200, 51, 0, 21, - 0, 0, 0, 0, 5, 49, 0, 0, 2, 201, 51, 1, 21, 0, 0, 0, 0, 225, 48, 0, 0, 2, 202, 51, 2, 21, 0, 0, - 0, 0, 168, 0, 0, 0, 2, 203, 51, 4, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 204, 51, 8, 21, 0, 0, 0, 0, - 0, 1, 0, 0, 2, 205, 51, 12, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 206, 51, 16, 0, 9, 216, 0, 4, 0, 13, - 168, 0, 0, 0, 14, 61, 251, 3, 0, 14, 127, 29, 0, 0, 14, 61, 251, 3, 0, 14, 247, 0, 4, 0, 14, - 19, 152, 1, 0, 0, 9, 61, 251, 3, 0, 9, 1, 1, 4, 0, 13, 61, 251, 3, 0, 14, 61, 251, 3, 0, 14, - 127, 29, 0, 0, 0, 9, 22, 1, 4, 0, 32, 14, 61, 251, 3, 0, 14, 127, 29, 0, 0, 0, 9, 39, 1, 4, 0, - 13, 127, 29, 0, 0, 14, 61, 251, 3, 0, 14, 125, 68, 0, 0, 0, 9, 60, 1, 4, 0, 13, 168, 0, 0, 0, - 14, 61, 251, 3, 0, 14, 125, 68, 0, 0, 14, 125, 68, 0, 0, 14, 229, 151, 1, 0, 14, 75, 110, 0, 0, - 14, 19, 152, 1, 0, 0, 9, 101, 1, 4, 0, 13, 168, 0, 0, 0, 14, 61, 251, 3, 0, 14, 127, 29, 0, 0, - 14, 19, 152, 1, 0, 0, 9, 127, 1, 4, 0, 32, 14, 61, 251, 3, 0, 14, 139, 1, 4, 0, 0, 9, 144, 1, - 4, 0, 47, 0, 0, 0, 0, 24, 2, 5, 165, 1, 0, 48, 0, 0, 0, 0, 168, 0, 0, 0, 2, 6, 165, 1, 0, 0, - 48, 0, 0, 0, 0, 168, 0, 0, 0, 2, 7, 165, 1, 0, 4, 48, 0, 0, 0, 0, 168, 0, 0, 0, 2, 8, 165, 1, - 0, 8, 48, 0, 0, 0, 0, 216, 1, 4, 0, 2, 9, 165, 1, 0, 16, 0, 9, 221, 1, 4, 0, 13, 168, 0, 0, 0, - 14, 61, 251, 3, 0, 14, 127, 29, 0, 0, 14, 139, 1, 4, 0, 0, 9, 247, 1, 4, 0, 13, 34, 250, 3, 0, - 14, 61, 251, 3, 0, 14, 127, 29, 0, 0, 14, 19, 152, 1, 0, 0, 9, 17, 2, 4, 0, 13, 127, 29, 0, 0, - 14, 61, 251, 3, 0, 14, 127, 29, 0, 0, 14, 125, 68, 0, 0, 0, 9, 43, 2, 4, 0, 13, 168, 0, 0, 0, - 14, 61, 251, 3, 0, 14, 127, 29, 0, 0, 14, 94, 34, 0, 0, 14, 105, 0, 4, 0, 0, 9, 74, 2, 4, 0, - 13, 168, 0, 0, 0, 14, 61, 251, 3, 0, 14, 127, 29, 0, 0, 14, 95, 2, 4, 0, 0, 9, 100, 2, 4, 0, - 20, 0, 0, 0, 0, 96, 2, 214, 51, 21, 0, 0, 0, 0, 108, 158, 0, 0, 2, 215, 51, 0, 21, 0, 0, 0, 0, - 94, 34, 0, 0, 2, 216, 51, 8, 21, 0, 0, 0, 0, 234, 151, 1, 0, 2, 217, 51, 16, 21, 0, 0, 0, 0, - 168, 0, 0, 0, 2, 218, 51, 24, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 219, 51, 28, 21, 0, 0, 0, 0, - 168, 0, 0, 0, 2, 220, 51, 32, 21, 0, 0, 0, 0, 255, 0, 0, 0, 2, 221, 51, 40, 21, 0, 0, 0, 0, - 168, 0, 0, 0, 2, 222, 51, 48, 21, 0, 0, 0, 0, 227, 2, 4, 0, 2, 223, 51, 56, 0, 20, 0, 0, 0, 0, - 40, 2, 217, 48, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 218, 48, 0, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, - 219, 48, 8, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 220, 48, 12, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 221, 48, - 16, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 222, 48, 20, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 223, 48, 24, 21, - 0, 0, 0, 0, 0, 1, 0, 0, 2, 224, 48, 28, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 225, 48, 32, 0, 9, 90, - 3, 4, 0, 13, 168, 0, 0, 0, 14, 61, 251, 3, 0, 14, 234, 151, 1, 0, 14, 19, 152, 1, 0, 0, 9, 116, - 3, 4, 0, 32, 14, 61, 251, 3, 0, 0, 9, 128, 3, 4, 0, 13, 168, 0, 0, 0, 14, 61, 251, 3, 0, 14, - 11, 1, 0, 0, 0, 9, 149, 3, 4, 0, 32, 14, 61, 251, 3, 0, 14, 11, 1, 0, 0, 0, 9, 166, 3, 4, 0, - 13, 168, 0, 0, 0, 14, 61, 251, 3, 0, 14, 94, 34, 0, 0, 0, 9, 187, 3, 4, 0, 13, 168, 0, 0, 0, - 14, 61, 251, 3, 0, 14, 95, 2, 4, 0, 0, 9, 208, 3, 4, 0, 32, 14, 61, 251, 3, 0, 14, 125, 68, 0, - 0, 0, 9, 225, 3, 4, 0, 13, 125, 68, 0, 0, 14, 61, 251, 3, 0, 0, 9, 241, 3, 4, 0, 20, 0, 0, 0, - 0, 64, 2, 249, 51, 21, 0, 0, 0, 0, 65, 29, 0, 0, 2, 250, 51, 0, 21, 0, 0, 0, 0, 227, 28, 0, 0, - 2, 251, 51, 16, 21, 0, 0, 0, 0, 60, 4, 4, 0, 2, 252, 51, 32, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, - 253, 51, 56, 21, 0, 0, 0, 0, 163, 243, 3, 0, 2, 254, 51, 60, 0, 20, 0, 0, 0, 0, 24, 2, 228, 48, - 21, 0, 0, 0, 0, 5, 49, 0, 0, 2, 229, 48, 0, 21, 0, 0, 0, 0, 5, 49, 0, 0, 2, 230, 48, 1, 21, 0, - 0, 0, 0, 37, 65, 0, 0, 2, 231, 48, 2, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 232, 48, 4, 21, 0, 0, 0, - 0, 11, 1, 0, 0, 2, 233, 48, 8, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 234, 48, 12, 21, 0, 0, 0, 0, 11, - 1, 0, 0, 2, 235, 48, 16, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 236, 48, 20, 0, 9, 179, 4, 4, 0, 45, - 0, 0, 0, 0, 9, 189, 4, 4, 0, 20, 0, 0, 0, 0, 16, 2, 209, 51, 21, 0, 0, 0, 0, 225, 4, 4, 0, 2, - 210, 51, 0, 21, 0, 0, 0, 0, 26, 163, 0, 0, 2, 211, 51, 16, 0, 20, 0, 0, 0, 0, 16, 2, 33, 49, - 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 34, 49, 0, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 35, 49, 8, 0, 20, - 0, 0, 0, 0, 24, 2, 26, 49, 21, 0, 0, 0, 0, 94, 34, 0, 0, 2, 27, 49, 0, 21, 0, 0, 0, 0, 94, 34, - 0, 0, 2, 28, 49, 8, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 29, 49, 16, 21, 0, 0, 0, 0, 248, 68, 0, 0, - 2, 30, 49, 20, 0, 3, 248, 0, 0, 0, 4, 82, 0, 0, 0, 0, 0, 20, 0, 0, 0, 0, 16, 2, 243, 51, 21, 0, - 0, 0, 0, 227, 28, 0, 0, 2, 244, 51, 0, 0, 3, 190, 103, 0, 0, 4, 82, 0, 0, 0, 128, 0, 9, 119, 5, - 4, 0, 13, 168, 0, 0, 0, 14, 115, 125, 1, 0, 14, 192, 244, 3, 0, 14, 255, 0, 0, 0, 14, 94, 34, - 0, 0, 14, 105, 0, 4, 0, 14, 219, 52, 0, 0, 0, 9, 160, 5, 4, 0, 13, 168, 0, 0, 0, 14, 94, 34, 0, - 0, 14, 115, 125, 1, 0, 14, 255, 0, 0, 0, 0, 9, 186, 5, 4, 0, 47, 0, 0, 0, 0, 16, 2, 96, 11, 1, - 0, 48, 0, 0, 0, 0, 80, 110, 0, 0, 2, 97, 11, 1, 0, 0, 48, 0, 0, 0, 0, 177, 69, 0, 0, 2, 98, 11, - 1, 0, 4, 48, 0, 0, 0, 0, 177, 69, 0, 0, 2, 99, 11, 1, 0, 6, 48, 0, 0, 0, 0, 31, 48, 1, 0, 2, - 100, 11, 1, 0, 8, 48, 0, 0, 0, 0, 55, 6, 4, 0, 2, 104, 11, 1, 0, 16, 60, 4, 2, 101, 11, 1, 0, - 48, 0, 0, 0, 0, 177, 69, 0, 0, 2, 102, 11, 1, 0, 0, 48, 0, 0, 0, 0, 177, 69, 0, 0, 2, 103, 11, - 1, 0, 2, 0, 0, 3, 16, 6, 4, 0, 4, 82, 0, 0, 0, 0, 0, 9, 72, 6, 4, 0, 20, 0, 0, 0, 0, 176, 2, 4, - 170, 21, 0, 0, 0, 0, 160, 6, 4, 0, 2, 5, 170, 0, 21, 0, 0, 0, 0, 227, 28, 0, 0, 2, 6, 170, 128, - 21, 0, 0, 0, 0, 9, 29, 0, 0, 2, 7, 170, 144, 21, 0, 0, 0, 0, 9, 29, 0, 0, 2, 8, 170, 152, 21, - 0, 0, 0, 0, 16, 247, 0, 0, 2, 9, 170, 160, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 10, 170, 168, 0, 3, - 243, 74, 3, 0, 4, 82, 0, 0, 0, 16, 0, 3, 184, 6, 4, 0, 4, 82, 0, 0, 0, 2, 0, 9, 189, 6, 4, 0, - 20, 0, 0, 0, 0, 24, 2, 128, 49, 21, 0, 0, 0, 0, 65, 29, 0, 0, 2, 129, 49, 0, 21, 0, 0, 0, 0, - 11, 1, 0, 0, 2, 130, 49, 16, 21, 0, 0, 0, 0, 154, 153, 1, 0, 2, 131, 49, 20, 21, 0, 0, 0, 0, - 251, 6, 4, 0, 2, 132, 49, 24, 0, 3, 7, 7, 4, 0, 4, 82, 0, 0, 0, 0, 0, 9, 12, 7, 4, 0, 20, 0, 0, - 0, 0, 24, 2, 121, 49, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 122, 49, 0, 21, 0, 0, 0, 0, 11, 1, 0, 0, - 2, 123, 49, 4, 21, 0, 0, 0, 0, 65, 29, 0, 0, 2, 124, 49, 8, 21, 0, 0, 0, 0, 163, 243, 3, 0, 2, - 125, 49, 24, 0, 3, 190, 103, 0, 0, 4, 82, 0, 0, 0, 16, 0, 17, 11, 1, 0, 0, 0, 0, 0, 0, 4, 2, - 69, 43, 18, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 1, 0, 9, 117, 7, 4, 0, 20, 0, 0, 0, 0, 16, 2, 114, - 50, 21, 0, 0, 0, 0, 105, 155, 3, 0, 2, 115, 50, 0, 21, 0, 0, 0, 0, 105, 155, 3, 0, 2, 116, 50, - 8, 21, 0, 0, 0, 0, 26, 163, 0, 0, 2, 117, 50, 16, 0, 9, 171, 7, 4, 0, 20, 0, 0, 0, 0, 32, 2, - 120, 50, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 121, 50, 0, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 122, - 50, 8, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 123, 50, 16, 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 124, - 50, 24, 21, 0, 0, 0, 0, 26, 163, 0, 0, 2, 125, 50, 32, 0, 9, 251, 7, 4, 0, 45, 0, 0, 0, 0, 9, - 5, 8, 4, 0, 45, 0, 0, 0, 0, 9, 15, 8, 4, 0, 45, 0, 0, 0, 0, 3, 251, 90, 0, 0, 4, 82, 0, 0, 0, - 4, 0, 9, 37, 8, 4, 0, 26, 42, 8, 4, 0, 20, 0, 0, 0, 0, 208, 2, 130, 51, 21, 0, 0, 0, 0, 227, - 28, 0, 0, 2, 131, 51, 0, 21, 0, 0, 0, 0, 14, 29, 0, 0, 2, 132, 51, 16, 21, 0, 0, 0, 0, 140, 55, - 0, 0, 2, 133, 51, 24, 21, 0, 0, 0, 0, 134, 9, 4, 0, 2, 134, 51, 32, 21, 0, 0, 0, 0, 49, 34, 0, - 0, 2, 135, 51, 40, 21, 0, 0, 0, 0, 219, 52, 0, 0, 2, 136, 51, 48, 21, 0, 0, 0, 0, 11, 1, 0, 0, - 2, 137, 51, 52, 21, 0, 0, 0, 0, 109, 152, 1, 0, 2, 138, 51, 56, 21, 0, 0, 0, 0, 170, 9, 4, 0, - 2, 139, 51, 64, 21, 0, 0, 0, 0, 196, 9, 4, 0, 2, 140, 51, 72, 21, 0, 0, 0, 0, 232, 9, 4, 0, 2, - 141, 51, 80, 21, 0, 0, 0, 0, 7, 10, 4, 0, 2, 142, 51, 88, 21, 0, 0, 0, 0, 24, 10, 4, 0, 2, 143, - 51, 96, 21, 0, 0, 0, 0, 40, 10, 4, 0, 2, 144, 51, 104, 21, 0, 0, 0, 0, 24, 10, 4, 0, 2, 145, - 51, 112, 21, 0, 0, 0, 0, 40, 10, 4, 0, 2, 146, 51, 120, 21, 0, 0, 0, 0, 61, 10, 4, 0, 2, 147, - 51, 128, 21, 0, 0, 0, 0, 61, 10, 4, 0, 2, 148, 51, 136, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 149, - 51, 144, 21, 0, 0, 0, 0, 109, 152, 1, 0, 2, 150, 51, 152, 21, 0, 0, 0, 0, 73, 10, 4, 0, 2, 151, - 51, 160, 21, 0, 0, 0, 0, 109, 10, 4, 0, 2, 152, 51, 168, 21, 0, 0, 0, 0, 130, 10, 4, 0, 2, 153, - 51, 176, 21, 0, 0, 0, 0, 156, 10, 4, 0, 2, 154, 51, 184, 21, 0, 0, 0, 0, 172, 10, 4, 0, 2, 155, - 51, 192, 21, 0, 0, 0, 0, 193, 10, 4, 0, 2, 156, 51, 200, 0, 9, 139, 9, 4, 0, 13, 9, 29, 0, 0, - 14, 229, 151, 1, 0, 14, 14, 29, 0, 0, 14, 5, 49, 0, 0, 14, 11, 1, 0, 0, 14, 11, 1, 0, 0, 0, 9, - 175, 9, 4, 0, 13, 168, 0, 0, 0, 14, 229, 151, 1, 0, 14, 229, 151, 1, 0, 14, 19, 152, 1, 0, 0, - 9, 201, 9, 4, 0, 13, 168, 0, 0, 0, 14, 115, 125, 1, 0, 14, 9, 29, 0, 0, 14, 229, 151, 1, 0, 14, - 229, 151, 1, 0, 14, 19, 152, 1, 0, 0, 9, 237, 9, 4, 0, 13, 168, 0, 0, 0, 14, 9, 29, 0, 0, 14, - 229, 151, 1, 0, 14, 229, 151, 1, 0, 14, 19, 152, 1, 0, 0, 9, 12, 10, 4, 0, 32, 14, 9, 29, 0, 0, - 14, 4, 29, 0, 0, 0, 9, 29, 10, 4, 0, 13, 140, 55, 0, 0, 14, 162, 19, 0, 0, 0, 9, 45, 10, 4, 0, - 13, 168, 0, 0, 0, 14, 94, 34, 0, 0, 14, 162, 19, 0, 0, 0, 9, 66, 10, 4, 0, 40, 11, 1, 0, 0, 41, - 0, 9, 78, 10, 4, 0, 13, 168, 0, 0, 0, 14, 9, 29, 0, 0, 14, 9, 29, 0, 0, 14, 229, 151, 1, 0, 14, - 229, 151, 1, 0, 14, 19, 152, 1, 0, 0, 9, 114, 10, 4, 0, 13, 140, 55, 0, 0, 14, 162, 19, 0, 0, - 14, 162, 19, 0, 0, 0, 9, 135, 10, 4, 0, 13, 168, 0, 0, 0, 14, 94, 34, 0, 0, 14, 162, 19, 0, 0, - 14, 162, 19, 0, 0, 0, 9, 161, 10, 4, 0, 13, 115, 125, 1, 0, 14, 162, 19, 0, 0, 0, 9, 177, 10, - 4, 0, 13, 140, 55, 0, 0, 14, 162, 19, 0, 0, 14, 168, 0, 0, 0, 0, 9, 198, 10, 4, 0, 13, 168, 0, - 0, 0, 14, 94, 34, 0, 0, 14, 162, 19, 0, 0, 14, 214, 52, 0, 0, 14, 168, 0, 0, 0, 0, 9, 229, 10, - 4, 0, 26, 234, 10, 4, 0, 27, 0, 0, 0, 0, 136, 1, 2, 241, 47, 21, 0, 0, 0, 0, 131, 13, 4, 0, 2, - 242, 47, 0, 21, 0, 0, 0, 0, 131, 13, 4, 0, 2, 243, 47, 8, 21, 0, 0, 0, 0, 41, 14, 4, 0, 2, 244, - 47, 16, 21, 0, 0, 0, 0, 41, 14, 4, 0, 2, 245, 47, 24, 21, 0, 0, 0, 0, 102, 14, 4, 0, 2, 246, - 47, 32, 21, 0, 0, 0, 0, 102, 14, 4, 0, 2, 247, 47, 40, 21, 0, 0, 0, 0, 42, 15, 4, 0, 2, 248, - 47, 48, 21, 0, 0, 0, 0, 104, 15, 4, 0, 2, 249, 47, 56, 21, 0, 0, 0, 0, 104, 15, 4, 0, 2, 250, - 47, 64, 21, 0, 0, 0, 0, 218, 15, 4, 0, 2, 251, 47, 72, 21, 0, 0, 0, 0, 218, 15, 4, 0, 2, 252, - 47, 80, 21, 0, 0, 0, 0, 218, 15, 4, 0, 2, 253, 47, 88, 21, 0, 0, 0, 0, 131, 13, 4, 0, 2, 254, - 47, 96, 21, 0, 0, 0, 0, 104, 15, 4, 0, 2, 255, 47, 104, 21, 0, 0, 0, 0, 37, 16, 4, 0, 2, 0, 48, - 112, 21, 0, 0, 0, 0, 53, 16, 4, 0, 2, 1, 48, 120, 21, 0, 0, 0, 0, 74, 16, 4, 0, 2, 2, 48, 128, - 21, 0, 0, 0, 0, 91, 16, 4, 0, 2, 3, 48, 136, 21, 0, 0, 0, 0, 128, 16, 4, 0, 2, 4, 48, 144, 21, - 0, 0, 0, 0, 91, 16, 4, 0, 2, 5, 48, 152, 21, 0, 0, 0, 0, 128, 16, 4, 0, 2, 6, 48, 160, 21, 0, - 0, 0, 0, 150, 16, 4, 0, 2, 7, 48, 168, 21, 0, 0, 0, 0, 187, 16, 4, 0, 2, 8, 48, 176, 21, 0, 0, - 0, 0, 150, 16, 4, 0, 2, 9, 48, 184, 21, 0, 0, 0, 0, 187, 16, 4, 0, 2, 10, 48, 192, 21, 0, 0, 0, - 0, 128, 16, 4, 0, 2, 11, 48, 200, 21, 0, 0, 0, 0, 187, 16, 4, 0, 2, 12, 48, 208, 21, 0, 0, 0, - 0, 37, 16, 4, 0, 2, 13, 48, 216, 21, 0, 0, 0, 0, 209, 16, 4, 0, 2, 14, 48, 224, 21, 0, 0, 0, 0, - 33, 60, 3, 0, 2, 15, 48, 232, 21, 0, 0, 0, 0, 235, 16, 4, 0, 2, 16, 48, 240, 21, 0, 0, 0, 0, - 37, 16, 4, 0, 2, 17, 48, 248, 28, 0, 0, 0, 0, 5, 17, 4, 0, 2, 18, 48, 0, 1, 28, 0, 0, 0, 0, 22, - 17, 4, 0, 2, 19, 48, 8, 1, 28, 0, 0, 0, 0, 44, 17, 4, 0, 2, 20, 48, 16, 1, 28, 0, 0, 0, 0, 187, - 16, 4, 0, 2, 21, 48, 24, 1, 28, 0, 0, 0, 0, 128, 16, 4, 0, 2, 22, 48, 32, 1, 28, 0, 0, 0, 0, - 66, 17, 4, 0, 2, 23, 48, 40, 1, 28, 0, 0, 0, 0, 97, 17, 4, 0, 2, 24, 48, 48, 1, 28, 0, 0, 0, 0, - 209, 16, 4, 0, 2, 25, 48, 56, 1, 28, 0, 0, 0, 0, 123, 17, 4, 0, 2, 26, 48, 64, 1, 28, 0, 0, 0, - 0, 37, 16, 4, 0, 2, 27, 48, 72, 1, 28, 0, 0, 0, 0, 53, 16, 4, 0, 2, 28, 48, 80, 1, 28, 0, 0, 0, - 0, 149, 17, 4, 0, 2, 29, 48, 88, 1, 28, 0, 0, 0, 0, 218, 15, 4, 0, 2, 30, 48, 96, 1, 28, 0, 0, - 0, 0, 216, 17, 4, 0, 2, 31, 48, 104, 1, 28, 0, 0, 0, 0, 74, 18, 4, 0, 2, 32, 48, 112, 1, 28, 0, - 0, 0, 0, 162, 18, 4, 0, 2, 33, 48, 120, 1, 28, 0, 0, 0, 0, 162, 18, 4, 0, 2, 34, 48, 128, 1, 0, - 9, 136, 13, 4, 0, 13, 168, 0, 0, 0, 14, 9, 29, 0, 0, 14, 152, 13, 4, 0, 0, 9, 157, 13, 4, 0, - 20, 0, 0, 0, 0, 59, 2, 162, 47, 21, 0, 0, 0, 0, 129, 55, 0, 0, 2, 163, 47, 0, 21, 0, 0, 0, 0, - 129, 55, 0, 0, 2, 164, 47, 1, 21, 0, 0, 0, 0, 129, 55, 0, 0, 2, 165, 47, 2, 21, 0, 0, 0, 0, - 247, 197, 0, 0, 2, 166, 47, 3, 21, 0, 0, 0, 0, 247, 197, 0, 0, 2, 167, 47, 11, 21, 0, 0, 0, 0, - 247, 197, 0, 0, 2, 168, 47, 19, 21, 0, 0, 0, 0, 247, 197, 0, 0, 2, 169, 47, 27, 21, 0, 0, 0, 0, - 247, 197, 0, 0, 2, 170, 47, 35, 21, 0, 0, 0, 0, 247, 197, 0, 0, 2, 171, 47, 43, 21, 0, 0, 0, 0, - 247, 197, 0, 0, 2, 172, 47, 51, 0, 9, 46, 14, 4, 0, 13, 168, 0, 0, 0, 14, 9, 29, 0, 0, 14, 62, - 14, 4, 0, 0, 9, 67, 14, 4, 0, 20, 0, 0, 0, 0, 64, 2, 175, 47, 21, 0, 0, 0, 0, 90, 14, 4, 0, 2, - 176, 47, 0, 0, 3, 197, 0, 0, 0, 4, 82, 0, 0, 0, 8, 0, 9, 107, 14, 4, 0, 13, 168, 0, 0, 0, 14, - 9, 29, 0, 0, 14, 123, 14, 4, 0, 0, 9, 128, 14, 4, 0, 27, 0, 0, 0, 0, 104, 1, 2, 179, 47, 21, 0, - 0, 0, 0, 247, 197, 0, 0, 2, 180, 47, 0, 21, 0, 0, 0, 0, 99, 217, 2, 0, 2, 181, 47, 8, 21, 0, 0, - 0, 0, 99, 217, 2, 0, 2, 182, 47, 40, 21, 0, 0, 0, 0, 99, 217, 2, 0, 2, 183, 47, 72, 21, 0, 0, - 0, 0, 99, 217, 2, 0, 2, 184, 47, 104, 21, 0, 0, 0, 0, 99, 217, 2, 0, 2, 185, 47, 136, 21, 0, 0, - 0, 0, 99, 217, 2, 0, 2, 186, 47, 168, 21, 0, 0, 0, 0, 99, 217, 2, 0, 2, 187, 47, 200, 21, 0, 0, - 0, 0, 99, 217, 2, 0, 2, 188, 47, 232, 28, 0, 0, 0, 0, 99, 217, 2, 0, 2, 189, 47, 8, 1, 28, 0, - 0, 0, 0, 99, 217, 2, 0, 2, 190, 47, 40, 1, 28, 0, 0, 0, 0, 99, 217, 2, 0, 2, 191, 47, 72, 1, 0, - 9, 47, 15, 4, 0, 13, 168, 0, 0, 0, 14, 9, 29, 0, 0, 14, 63, 15, 4, 0, 0, 9, 68, 15, 4, 0, 20, - 0, 0, 0, 0, 96, 2, 194, 47, 21, 0, 0, 0, 0, 90, 14, 4, 0, 2, 195, 47, 0, 21, 0, 0, 0, 0, 99, - 217, 2, 0, 2, 196, 47, 64, 0, 9, 109, 15, 4, 0, 13, 168, 0, 0, 0, 14, 9, 29, 0, 0, 14, 125, 15, - 4, 0, 0, 9, 130, 15, 4, 0, 20, 0, 0, 0, 0, 136, 2, 199, 47, 21, 0, 0, 0, 0, 129, 55, 0, 0, 2, - 200, 47, 0, 21, 0, 0, 0, 0, 129, 55, 0, 0, 2, 201, 47, 1, 21, 0, 0, 0, 0, 129, 55, 0, 0, 2, - 202, 47, 2, 21, 0, 0, 0, 0, 214, 48, 0, 0, 2, 203, 47, 4, 21, 0, 0, 0, 0, 90, 14, 4, 0, 2, 204, - 47, 8, 21, 0, 0, 0, 0, 90, 14, 4, 0, 2, 205, 47, 72, 0, 9, 223, 15, 4, 0, 13, 168, 0, 0, 0, 14, - 9, 29, 0, 0, 14, 239, 15, 4, 0, 0, 9, 244, 15, 4, 0, 20, 0, 0, 0, 0, 4, 2, 230, 47, 21, 0, 0, - 0, 0, 129, 55, 0, 0, 2, 231, 47, 0, 21, 0, 0, 0, 0, 129, 55, 0, 0, 2, 232, 47, 1, 21, 0, 0, 0, - 0, 214, 48, 0, 0, 2, 233, 47, 2, 0, 9, 42, 16, 4, 0, 13, 118, 55, 0, 0, 14, 9, 29, 0, 0, 0, 9, - 58, 16, 4, 0, 13, 118, 55, 0, 0, 14, 9, 29, 0, 0, 14, 118, 55, 0, 0, 0, 9, 79, 16, 4, 0, 32, - 14, 9, 29, 0, 0, 14, 254, 70, 2, 0, 0, 9, 96, 16, 4, 0, 32, 14, 9, 29, 0, 0, 14, 168, 0, 0, 0, - 14, 118, 55, 0, 0, 14, 118, 55, 0, 0, 14, 118, 55, 0, 0, 14, 118, 55, 0, 0, 0, 9, 133, 16, 4, - 0, 32, 14, 9, 29, 0, 0, 14, 168, 0, 0, 0, 14, 118, 55, 0, 0, 0, 9, 155, 16, 4, 0, 32, 14, 9, - 29, 0, 0, 14, 168, 0, 0, 0, 14, 254, 70, 2, 0, 14, 254, 70, 2, 0, 14, 254, 70, 2, 0, 14, 254, - 70, 2, 0, 0, 9, 192, 16, 4, 0, 32, 14, 9, 29, 0, 0, 14, 168, 0, 0, 0, 14, 254, 70, 2, 0, 0, 9, - 214, 16, 4, 0, 13, 118, 55, 0, 0, 14, 9, 29, 0, 0, 14, 168, 0, 0, 0, 14, 254, 70, 2, 0, 0, 9, - 240, 16, 4, 0, 13, 168, 0, 0, 0, 14, 9, 29, 0, 0, 14, 168, 0, 0, 0, 14, 118, 55, 0, 0, 0, 9, - 10, 17, 4, 0, 32, 14, 9, 29, 0, 0, 14, 118, 55, 0, 0, 0, 9, 27, 17, 4, 0, 32, 14, 9, 29, 0, 0, - 14, 168, 0, 0, 0, 14, 175, 236, 0, 0, 0, 9, 49, 17, 4, 0, 32, 14, 9, 29, 0, 0, 14, 168, 0, 0, - 0, 14, 125, 68, 0, 0, 0, 9, 71, 17, 4, 0, 13, 168, 0, 0, 0, 14, 9, 29, 0, 0, 14, 118, 55, 0, 0, - 14, 177, 69, 0, 0, 14, 118, 55, 0, 0, 0, 9, 102, 17, 4, 0, 13, 168, 0, 0, 0, 14, 9, 29, 0, 0, - 14, 118, 55, 0, 0, 14, 177, 69, 0, 0, 0, 9, 128, 17, 4, 0, 13, 118, 55, 0, 0, 14, 9, 29, 0, 0, - 14, 168, 0, 0, 0, 14, 118, 55, 0, 0, 0, 9, 154, 17, 4, 0, 13, 168, 0, 0, 0, 14, 9, 29, 0, 0, - 14, 175, 17, 4, 0, 14, 226, 83, 3, 0, 0, 9, 180, 17, 4, 0, 20, 0, 0, 0, 0, 2, 2, 236, 47, 21, - 0, 0, 0, 0, 129, 55, 0, 0, 2, 237, 47, 0, 21, 0, 0, 0, 0, 129, 55, 0, 0, 2, 238, 47, 1, 0, 9, - 221, 17, 4, 0, 13, 168, 0, 0, 0, 14, 9, 29, 0, 0, 14, 237, 17, 4, 0, 0, 9, 242, 17, 4, 0, 20, - 0, 0, 0, 0, 20, 2, 214, 47, 21, 0, 0, 0, 0, 129, 55, 0, 0, 2, 215, 47, 0, 21, 0, 0, 0, 0, 129, - 55, 0, 0, 2, 216, 47, 1, 21, 0, 0, 0, 0, 129, 55, 0, 0, 2, 217, 47, 2, 21, 0, 0, 0, 0, 129, 55, - 0, 0, 2, 218, 47, 3, 21, 0, 0, 0, 0, 247, 197, 0, 0, 2, 219, 47, 4, 21, 0, 0, 0, 0, 247, 197, - 0, 0, 2, 220, 47, 12, 0, 9, 79, 18, 4, 0, 13, 168, 0, 0, 0, 14, 9, 29, 0, 0, 14, 95, 18, 4, 0, - 0, 9, 100, 18, 4, 0, 20, 0, 0, 0, 0, 4, 2, 223, 47, 21, 0, 0, 0, 0, 129, 55, 0, 0, 2, 224, 47, - 0, 21, 0, 0, 0, 0, 129, 55, 0, 0, 2, 225, 47, 1, 21, 0, 0, 0, 0, 129, 55, 0, 0, 2, 226, 47, 2, - 21, 0, 0, 0, 0, 129, 55, 0, 0, 2, 227, 47, 3, 0, 9, 167, 18, 4, 0, 13, 168, 0, 0, 0, 14, 9, 29, - 0, 0, 14, 183, 18, 4, 0, 0, 9, 188, 18, 4, 0, 20, 0, 0, 0, 0, 44, 2, 208, 47, 21, 0, 0, 0, 0, - 247, 197, 0, 0, 2, 209, 47, 0, 21, 0, 0, 0, 0, 99, 217, 2, 0, 2, 210, 47, 8, 21, 0, 0, 0, 0, 0, - 1, 0, 0, 2, 211, 47, 40, 0, 3, 249, 18, 4, 0, 4, 82, 0, 0, 0, 16, 0, 20, 0, 0, 0, 0, 4, 2, 80, - 43, 21, 0, 0, 0, 0, 177, 69, 0, 0, 2, 81, 43, 0, 21, 0, 0, 0, 0, 177, 69, 0, 0, 2, 82, 43, 2, - 0, 9, 34, 19, 4, 0, 20, 0, 0, 0, 0, 24, 2, 37, 48, 21, 0, 0, 0, 0, 65, 29, 0, 0, 2, 38, 48, 0, - 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 39, 48, 16, 21, 0, 0, 0, 0, 232, 245, 0, 0, 2, 40, 48, 20, 0, - 9, 88, 19, 4, 0, 26, 93, 19, 4, 0, 20, 0, 0, 0, 0, 72, 2, 168, 51, 21, 0, 0, 0, 0, 181, 19, 4, - 0, 2, 169, 51, 0, 21, 0, 0, 0, 0, 181, 19, 4, 0, 2, 170, 51, 8, 21, 0, 0, 0, 0, 33, 20, 4, 0, - 2, 171, 51, 16, 21, 0, 0, 0, 0, 54, 20, 4, 0, 2, 172, 51, 24, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, - 173, 51, 32, 21, 0, 0, 0, 0, 111, 20, 4, 0, 2, 174, 51, 36, 0, 9, 186, 19, 4, 0, 13, 168, 0, 0, - 0, 14, 9, 29, 0, 0, 14, 11, 1, 0, 0, 14, 11, 1, 0, 0, 14, 212, 19, 4, 0, 0, 9, 217, 19, 4, 0, - 47, 0, 0, 0, 0, 8, 2, 200, 173, 1, 0, 48, 0, 0, 0, 0, 225, 48, 0, 0, 2, 201, 173, 1, 0, 0, 48, - 0, 0, 0, 0, 126, 52, 0, 0, 2, 202, 173, 1, 0, 2, 48, 0, 0, 0, 0, 244, 48, 0, 0, 2, 203, 173, 1, - 0, 4, 48, 0, 0, 0, 0, 118, 55, 0, 0, 2, 204, 173, 1, 0, 6, 0, 9, 38, 20, 4, 0, 13, 168, 0, 0, - 0, 14, 9, 29, 0, 0, 14, 11, 1, 0, 0, 0, 9, 59, 20, 4, 0, 47, 0, 0, 0, 0, 24, 2, 207, 173, 1, 0, - 48, 0, 0, 0, 0, 101, 20, 4, 0, 2, 208, 173, 1, 0, 0, 48, 0, 0, 0, 0, 227, 28, 0, 0, 2, 209, - 173, 1, 0, 8, 0, 9, 106, 20, 4, 0, 45, 0, 0, 0, 0, 3, 123, 20, 4, 0, 4, 82, 0, 0, 0, 4, 0, 20, - 0, 0, 0, 0, 8, 2, 159, 51, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 160, 51, 0, 21, 0, 0, 0, 0, 11, 1, - 0, 0, 2, 161, 51, 4, 0, 3, 171, 20, 4, 0, 4, 82, 0, 0, 0, 3, 0, 20, 0, 0, 0, 0, 16, 2, 91, 43, - 21, 0, 0, 0, 0, 16, 247, 0, 0, 2, 92, 43, 0, 21, 0, 0, 0, 0, 207, 20, 4, 0, 2, 93, 43, 8, 0, 9, - 212, 20, 4, 0, 47, 0, 0, 0, 0, 80, 2, 245, 172, 1, 0, 48, 0, 0, 0, 0, 13, 21, 4, 0, 2, 246, - 172, 1, 0, 0, 48, 0, 0, 0, 0, 9, 29, 0, 0, 2, 247, 172, 1, 0, 64, 48, 0, 0, 0, 0, 168, 0, 0, 0, - 2, 248, 172, 1, 0, 72, 0, 20, 0, 0, 0, 0, 64, 2, 157, 137, 21, 0, 0, 0, 0, 83, 97, 0, 0, 2, - 158, 137, 0, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 159, 137, 8, 21, 0, 0, 0, 0, 101, 21, 4, 0, 2, - 160, 137, 12, 21, 0, 0, 0, 0, 169, 21, 4, 0, 2, 161, 137, 16, 21, 0, 0, 0, 0, 16, 247, 0, 0, 2, - 162, 137, 24, 21, 0, 0, 0, 0, 156, 163, 0, 0, 2, 163, 137, 32, 0, 17, 11, 1, 0, 0, 0, 0, 0, 0, - 4, 2, 106, 137, 18, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 1, 18, 0, 0, 0, 0, 2, 18, 0, 0, 0, 0, 3, 18, - 0, 0, 0, 0, 4, 18, 0, 0, 0, 0, 5, 18, 0, 0, 0, 0, 6, 18, 0, 0, 0, 0, 7, 18, 0, 0, 0, 0, 8, 0, - 9, 174, 21, 4, 0, 26, 179, 21, 4, 0, 20, 0, 0, 0, 0, 48, 2, 166, 137, 21, 0, 0, 0, 0, 11, 22, - 4, 0, 2, 167, 137, 0, 21, 0, 0, 0, 0, 11, 22, 4, 0, 2, 168, 137, 8, 21, 0, 0, 0, 0, 28, 22, 4, - 0, 2, 169, 137, 16, 21, 0, 0, 0, 0, 44, 22, 4, 0, 2, 170, 137, 24, 21, 0, 0, 0, 0, 70, 22, 4, - 0, 2, 171, 137, 32, 21, 0, 0, 0, 0, 97, 22, 4, 0, 2, 172, 137, 40, 0, 9, 16, 22, 4, 0, 32, 14, - 23, 22, 4, 0, 0, 9, 13, 21, 4, 0, 9, 33, 22, 4, 0, 13, 168, 0, 0, 0, 14, 23, 22, 4, 0, 0, 9, - 49, 22, 4, 0, 13, 168, 0, 0, 0, 14, 23, 22, 4, 0, 14, 16, 247, 0, 0, 14, 16, 247, 0, 0, 0, 9, - 75, 22, 4, 0, 32, 14, 87, 22, 4, 0, 14, 71, 114, 0, 0, 0, 9, 92, 22, 4, 0, 26, 13, 21, 4, 0, 9, - 102, 22, 4, 0, 13, 168, 0, 0, 0, 14, 87, 22, 4, 0, 14, 118, 22, 4, 0, 0, 9, 123, 22, 4, 0, 20, - 0, 0, 0, 0, 32, 2, 118, 137, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 119, 137, 0, 21, 0, 0, 0, 0, 0, 1, - 0, 0, 2, 120, 137, 4, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 121, 137, 8, 22, 180, 22, 4, 0, 2, 122, - 137, 16, 23, 16, 2, 122, 137, 21, 0, 0, 0, 0, 198, 22, 4, 0, 2, 126, 137, 0, 24, 16, 2, 123, - 137, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 124, 137, 0, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 125, 137, 8, - 0, 21, 0, 0, 0, 0, 243, 22, 4, 0, 2, 131, 137, 0, 24, 12, 2, 127, 137, 21, 0, 0, 0, 0, 0, 1, 0, - 0, 2, 128, 137, 0, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 129, 137, 4, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, - 130, 137, 8, 0, 21, 0, 0, 0, 0, 45, 23, 4, 0, 2, 135, 137, 0, 24, 16, 2, 132, 137, 21, 0, 0, 0, - 0, 197, 0, 0, 0, 2, 133, 137, 0, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 134, 137, 8, 0, 21, 0, 0, 0, 0, - 90, 23, 4, 0, 2, 144, 137, 0, 24, 16, 2, 136, 137, 21, 0, 0, 0, 0, 197, 0, 0, 0, 2, 137, 137, - 0, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 138, 137, 8, 22, 130, 23, 4, 0, 2, 139, 137, 12, 23, 4, 2, - 139, 137, 21, 0, 0, 0, 0, 148, 23, 4, 0, 2, 142, 137, 0, 24, 4, 2, 140, 137, 21, 0, 0, 0, 0, 0, - 1, 0, 0, 2, 141, 137, 0, 0, 0, 0, 21, 0, 0, 0, 0, 182, 23, 4, 0, 2, 148, 137, 0, 24, 8, 2, 145, - 137, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 146, 137, 0, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 147, 137, 4, 0, - 21, 0, 0, 0, 0, 227, 23, 4, 0, 2, 151, 137, 0, 24, 4, 2, 149, 137, 21, 0, 0, 0, 0, 0, 1, 0, 0, - 2, 150, 137, 0, 0, 0, 0, 25, 11, 1, 0, 0, 4, 2, 203, 152, 18, 0, 0, 0, 0, 255, 255, 255, 255, - 15, 18, 0, 0, 0, 0, 255, 255, 255, 255, 15, 18, 0, 0, 0, 0, 0, 0, 9, 33, 24, 4, 0, 27, 0, 0, 0, - 0, 224, 3, 2, 255, 222, 21, 0, 0, 0, 0, 145, 40, 0, 0, 2, 0, 223, 0, 28, 0, 0, 0, 0, 254, 25, - 4, 0, 2, 1, 223, 16, 3, 28, 0, 0, 0, 0, 190, 48, 0, 0, 2, 2, 223, 24, 3, 28, 0, 0, 0, 0, 71, - 249, 0, 0, 2, 3, 223, 28, 3, 28, 0, 0, 0, 0, 214, 48, 0, 0, 2, 4, 223, 30, 3, 28, 0, 0, 0, 0, - 244, 48, 0, 0, 2, 5, 223, 32, 3, 28, 0, 0, 0, 0, 214, 48, 0, 0, 2, 6, 223, 34, 3, 28, 0, 0, 0, - 0, 118, 32, 4, 0, 2, 7, 223, 40, 3, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 8, 223, 48, 3, 28, 0, 0, - 0, 0, 129, 55, 0, 0, 2, 9, 223, 52, 3, 28, 0, 0, 0, 0, 129, 55, 0, 0, 2, 10, 223, 53, 3, 28, 0, - 0, 0, 0, 129, 55, 0, 0, 2, 11, 223, 54, 3, 28, 0, 0, 0, 0, 129, 55, 0, 0, 2, 12, 223, 55, 3, - 29, 0, 0, 0, 0, 129, 55, 0, 0, 2, 13, 223, 1, 1, 7, 56, 3, 29, 0, 0, 0, 0, 129, 55, 0, 0, 2, - 14, 223, 1, 1, 6, 56, 3, 29, 0, 0, 0, 0, 129, 55, 0, 0, 2, 15, 223, 1, 1, 5, 56, 3, 29, 0, 0, - 0, 0, 129, 55, 0, 0, 2, 16, 223, 1, 1, 4, 56, 3, 29, 0, 0, 0, 0, 129, 55, 0, 0, 2, 17, 223, 1, - 1, 3, 56, 3, 29, 0, 0, 0, 0, 129, 55, 0, 0, 2, 18, 223, 1, 1, 2, 56, 3, 29, 0, 0, 0, 0, 129, - 55, 0, 0, 2, 19, 223, 1, 1, 1, 56, 3, 29, 0, 0, 0, 0, 129, 55, 0, 0, 2, 20, 223, 1, 1, 0, 56, - 3, 29, 0, 0, 0, 0, 129, 55, 0, 0, 2, 21, 223, 1, 1, 7, 57, 3, 29, 0, 0, 0, 0, 129, 55, 0, 0, 2, - 22, 223, 1, 1, 6, 57, 3, 29, 0, 0, 0, 0, 129, 55, 0, 0, 2, 23, 223, 1, 1, 5, 57, 3, 28, 0, 0, - 0, 0, 129, 55, 0, 0, 2, 24, 223, 58, 3, 28, 0, 0, 0, 0, 129, 55, 0, 0, 2, 25, 223, 59, 3, 28, - 0, 0, 0, 0, 168, 0, 0, 0, 2, 26, 223, 60, 3, 28, 0, 0, 0, 0, 168, 0, 0, 0, 2, 27, 223, 64, 3, - 28, 0, 0, 0, 0, 190, 48, 0, 0, 2, 28, 223, 68, 3, 28, 0, 0, 0, 0, 139, 33, 4, 0, 2, 29, 223, - 72, 3, 28, 0, 0, 0, 0, 109, 34, 4, 0, 2, 30, 223, 80, 3, 0, 9, 3, 26, 4, 0, 20, 0, 0, 0, 0, - 160, 2, 50, 223, 21, 0, 0, 0, 0, 11, 150, 1, 0, 2, 51, 223, 0, 21, 0, 0, 0, 0, 68, 29, 4, 0, 2, - 52, 223, 16, 21, 0, 0, 0, 0, 104, 29, 4, 0, 2, 53, 223, 40, 21, 0, 0, 0, 0, 104, 29, 4, 0, 2, - 54, 223, 48, 21, 0, 0, 0, 0, 190, 48, 0, 0, 2, 55, 223, 56, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 56, - 223, 60, 34, 0, 0, 0, 0, 214, 48, 0, 0, 2, 57, 223, 2, 7, 9, 64, 34, 0, 0, 0, 0, 71, 249, 0, 0, - 2, 58, 223, 2, 9, 0, 64, 34, 0, 0, 0, 0, 214, 48, 0, 0, 2, 59, 223, 2, 1, 15, 66, 34, 0, 0, 0, - 0, 214, 48, 0, 0, 2, 60, 223, 2, 6, 9, 66, 34, 0, 0, 0, 0, 71, 249, 0, 0, 2, 61, 223, 2, 9, 0, - 66, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 62, 223, 68, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 63, 223, 72, - 21, 0, 0, 0, 0, 209, 26, 4, 0, 2, 83, 223, 76, 23, 2, 2, 64, 223, 21, 0, 0, 0, 0, 227, 26, 4, - 0, 2, 81, 223, 0, 24, 2, 2, 65, 223, 34, 0, 0, 0, 0, 214, 48, 0, 0, 2, 66, 223, 2, 1, 15, 0, - 34, 0, 0, 0, 0, 214, 48, 0, 0, 2, 67, 223, 2, 1, 14, 0, 34, 0, 0, 0, 0, 214, 48, 0, 0, 2, 68, - 223, 2, 1, 13, 0, 34, 0, 0, 0, 0, 214, 48, 0, 0, 2, 69, 223, 2, 1, 12, 0, 34, 0, 0, 0, 0, 214, - 48, 0, 0, 2, 70, 223, 2, 1, 11, 0, 34, 0, 0, 0, 0, 214, 48, 0, 0, 2, 71, 223, 2, 1, 10, 0, 34, - 0, 0, 0, 0, 214, 48, 0, 0, 2, 72, 223, 2, 1, 9, 0, 34, 0, 0, 0, 0, 214, 48, 0, 0, 2, 73, 223, - 2, 1, 8, 0, 34, 0, 0, 0, 0, 214, 48, 0, 0, 2, 74, 223, 2, 1, 7, 0, 34, 0, 0, 0, 0, 214, 48, 0, - 0, 2, 75, 223, 2, 1, 6, 0, 34, 0, 0, 0, 0, 214, 48, 0, 0, 2, 76, 223, 2, 1, 5, 0, 34, 0, 0, 0, - 0, 214, 48, 0, 0, 2, 77, 223, 2, 1, 4, 0, 34, 0, 0, 0, 0, 214, 48, 0, 0, 2, 78, 223, 2, 1, 3, - 0, 34, 0, 0, 0, 0, 214, 48, 0, 0, 2, 79, 223, 2, 1, 2, 0, 34, 0, 0, 0, 0, 214, 48, 0, 0, 2, 80, - 223, 2, 1, 1, 0, 0, 21, 0, 0, 0, 0, 214, 48, 0, 0, 2, 82, 223, 0, 0, 34, 0, 0, 0, 0, 214, 48, - 0, 0, 2, 84, 223, 2, 1, 15, 78, 34, 0, 0, 0, 0, 214, 48, 0, 0, 2, 85, 223, 2, 1, 14, 78, 34, 0, - 0, 0, 0, 214, 48, 0, 0, 2, 86, 223, 2, 1, 13, 78, 34, 0, 0, 0, 0, 214, 48, 0, 0, 2, 87, 223, 2, - 3, 10, 78, 34, 0, 0, 0, 0, 214, 48, 0, 0, 2, 88, 223, 2, 1, 9, 78, 34, 0, 0, 0, 0, 214, 48, 0, - 0, 2, 89, 223, 2, 3, 6, 78, 34, 0, 0, 0, 0, 214, 48, 0, 0, 2, 90, 223, 2, 1, 5, 78, 34, 0, 0, - 0, 0, 214, 48, 0, 0, 2, 91, 223, 2, 1, 4, 78, 34, 0, 0, 0, 0, 214, 48, 0, 0, 2, 92, 223, 2, 1, - 3, 78, 34, 0, 0, 0, 0, 214, 48, 0, 0, 2, 93, 223, 2, 1, 2, 78, 34, 0, 0, 0, 0, 214, 48, 0, 0, - 2, 94, 223, 2, 1, 1, 78, 34, 0, 0, 0, 0, 214, 48, 0, 0, 2, 95, 223, 2, 1, 0, 78, 21, 0, 0, 0, - 0, 129, 55, 0, 0, 2, 96, 223, 80, 21, 0, 0, 0, 0, 129, 55, 0, 0, 2, 97, 223, 81, 21, 0, 0, 0, - 0, 190, 48, 0, 0, 2, 98, 223, 84, 21, 0, 0, 0, 0, 0, 1, 0, 0, 2, 99, 223, 88, 21, 0, 0, 0, 0, - 0, 1, 0, 0, 2, 100, 223, 92, 21, 0, 0, 0, 0, 114, 29, 4, 0, 2, 101, 223, 96, 21, 0, 0, 0, 0, - 30, 30, 4, 0, 2, 102, 223, 104, 21, 0, 0, 0, 0, 84, 30, 4, 0, 2, 103, 223, 112, 21, 0, 0, 0, 0, - 85, 31, 4, 0, 2, 104, 223, 120, 21, 0, 0, 0, 0, 94, 34, 0, 0, 2, 105, 223, 128, 21, 0, 0, 0, 0, - 94, 34, 0, 0, 2, 106, 223, 136, 21, 0, 0, 0, 0, 69, 32, 4, 0, 2, 107, 223, 144, 0, 20, 0, 0, 0, - 0, 20, 2, 33, 223, 21, 0, 0, 0, 0, 11, 150, 1, 0, 2, 34, 223, 0, 21, 0, 0, 0, 0, 168, 0, 0, 0, - 2, 35, 223, 16, 0, 9, 109, 29, 4, 0, 26, 11, 150, 1, 0, 9, 119, 29, 4, 0, 20, 0, 0, 0, 0, 56, - 2, 189, 223, 21, 0, 0, 0, 0, 11, 150, 1, 0, 2, 190, 223, 0, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, - 191, 223, 16, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 192, 223, 20, 21, 0, 0, 0, 0, 114, 29, 4, 0, 2, - 193, 223, 24, 21, 0, 0, 0, 0, 207, 29, 4, 0, 2, 194, 223, 32, 21, 0, 0, 0, 0, 65, 29, 0, 0, 2, - 195, 223, 40, 0, 9, 212, 29, 4, 0, 20, 0, 0, 0, 0, 24, 2, 212, 223, 21, 0, 0, 0, 0, 11, 1, 0, - 0, 2, 213, 223, 0, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 214, 223, 4, 21, 0, 0, 0, 0, 65, 29, 0, 0, - 2, 215, 223, 8, 21, 0, 0, 0, 0, 18, 30, 4, 0, 2, 216, 223, 24, 0, 3, 11, 150, 1, 0, 4, 82, 0, - 0, 0, 0, 0, 9, 35, 30, 4, 0, 20, 0, 0, 0, 0, 32, 2, 198, 223, 21, 0, 0, 0, 0, 11, 150, 1, 0, 2, - 199, 223, 0, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 200, 223, 16, 21, 0, 0, 0, 0, 30, 30, 4, 0, 2, - 201, 223, 24, 0, 9, 89, 30, 4, 0, 20, 0, 0, 0, 0, 32, 2, 206, 223, 21, 0, 0, 0, 0, 84, 30, 4, - 0, 2, 207, 223, 0, 21, 0, 0, 0, 0, 138, 30, 4, 0, 2, 208, 223, 8, 21, 0, 0, 0, 0, 65, 29, 0, 0, - 2, 209, 223, 16, 0, 9, 143, 30, 4, 0, 20, 0, 0, 0, 0, 104, 2, 219, 223, 21, 0, 0, 0, 0, 138, - 30, 4, 0, 2, 220, 223, 0, 21, 0, 0, 0, 0, 190, 48, 0, 0, 2, 221, 223, 8, 21, 0, 0, 0, 0, 176, - 64, 0, 0, 2, 222, 223, 12, 21, 0, 0, 0, 0, 11, 150, 1, 0, 2, 223, 223, 16, 21, 0, 0, 0, 0, 85, - 31, 4, 0, 2, 224, 223, 32, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 225, 223, 40, 21, 0, 0, 0, 0, 65, - 29, 0, 0, 2, 226, 223, 48, 21, 0, 0, 0, 0, 118, 55, 0, 0, 2, 227, 223, 64, 21, 0, 0, 0, 0, 13, - 31, 4, 0, 2, 231, 223, 72, 23, 8, 2, 228, 223, 21, 0, 0, 0, 0, 67, 77, 1, 0, 2, 229, 223, 0, - 21, 0, 0, 0, 0, 224, 63, 0, 0, 2, 230, 223, 0, 0, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 232, 223, - 80, 21, 0, 0, 0, 0, 127, 29, 0, 0, 2, 233, 223, 88, 21, 0, 0, 0, 0, 115, 125, 1, 0, 2, 234, - 223, 96, 0, 9, 90, 31, 4, 0, 20, 0, 0, 0, 0, 64, 2, 218, 222, 21, 0, 0, 0, 0, 141, 64, 0, 0, 2, - 219, 222, 0, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 220, 222, 4, 21, 0, 0, 0, 0, 214, 48, 0, 0, 2, - 221, 222, 8, 21, 0, 0, 0, 0, 214, 48, 0, 0, 2, 222, 222, 10, 21, 0, 0, 0, 0, 217, 31, 4, 0, 2, - 223, 222, 16, 21, 0, 0, 0, 0, 217, 31, 4, 0, 2, 224, 222, 24, 21, 0, 0, 0, 0, 2, 32, 4, 0, 2, - 225, 222, 32, 21, 0, 0, 0, 0, 217, 31, 4, 0, 2, 226, 222, 40, 21, 0, 0, 0, 0, 65, 29, 0, 0, 2, - 227, 222, 48, 0, 9, 222, 31, 4, 0, 20, 0, 0, 0, 0, 2, 2, 151, 223, 21, 0, 0, 0, 0, 129, 55, 0, - 0, 2, 152, 223, 0, 21, 0, 0, 0, 0, 129, 55, 0, 0, 2, 153, 223, 1, 0, 9, 7, 32, 4, 0, 20, 0, 0, - 0, 0, 4, 2, 144, 223, 21, 0, 0, 0, 0, 129, 55, 0, 0, 2, 145, 223, 0, 21, 0, 0, 0, 0, 129, 55, - 0, 0, 2, 146, 223, 1, 21, 0, 0, 0, 0, 129, 55, 0, 0, 2, 147, 223, 2, 21, 0, 0, 0, 0, 129, 55, - 0, 0, 2, 148, 223, 3, 0, 20, 0, 0, 0, 0, 16, 2, 38, 223, 21, 0, 0, 0, 0, 85, 31, 4, 0, 2, 39, - 223, 0, 21, 0, 0, 0, 0, 118, 55, 0, 0, 2, 40, 223, 8, 21, 0, 0, 0, 0, 118, 55, 0, 0, 2, 41, - 223, 9, 0, 9, 123, 32, 4, 0, 20, 0, 0, 0, 0, 32, 2, 209, 222, 21, 0, 0, 0, 0, 65, 29, 0, 0, 2, - 210, 222, 0, 21, 0, 0, 0, 0, 159, 32, 4, 0, 2, 211, 222, 16, 0, 20, 0, 0, 0, 0, 16, 2, 190, - 222, 21, 0, 0, 0, 0, 190, 48, 0, 0, 2, 191, 222, 0, 21, 0, 0, 0, 0, 190, 48, 0, 0, 2, 192, 222, - 4, 21, 0, 0, 0, 0, 5, 49, 0, 0, 2, 193, 222, 8, 21, 0, 0, 0, 0, 5, 49, 0, 0, 2, 194, 222, 9, - 21, 0, 0, 0, 0, 5, 49, 0, 0, 2, 195, 222, 10, 21, 0, 0, 0, 0, 5, 49, 0, 0, 2, 196, 222, 11, 34, - 0, 0, 0, 0, 5, 49, 0, 0, 2, 197, 222, 1, 1, 7, 12, 34, 0, 0, 0, 0, 5, 49, 0, 0, 2, 198, 222, 1, - 1, 6, 12, 34, 0, 0, 0, 0, 5, 49, 0, 0, 2, 199, 222, 1, 1, 5, 12, 34, 0, 0, 0, 0, 5, 49, 0, 0, - 2, 200, 222, 1, 1, 4, 12, 34, 0, 0, 0, 0, 5, 49, 0, 0, 2, 201, 222, 1, 1, 3, 12, 34, 0, 0, 0, - 0, 5, 49, 0, 0, 2, 202, 222, 1, 1, 2, 12, 21, 0, 0, 0, 0, 5, 49, 0, 0, 2, 203, 222, 13, 21, 0, - 0, 0, 0, 5, 49, 0, 0, 2, 204, 222, 14, 21, 0, 0, 0, 0, 5, 49, 0, 0, 2, 205, 222, 15, 21, 0, 0, - 0, 0, 48, 128, 2, 0, 2, 206, 222, 16, 0, 9, 144, 33, 4, 0, 47, 0, 0, 0, 0, 48, 2, 16, 199, 1, - 0, 48, 0, 0, 0, 0, 139, 33, 4, 0, 2, 17, 199, 1, 0, 0, 48, 0, 0, 0, 0, 231, 33, 4, 0, 2, 18, - 199, 1, 0, 8, 48, 0, 0, 0, 0, 11, 1, 0, 0, 2, 19, 199, 1, 0, 20, 48, 0, 0, 0, 0, 32, 34, 4, 0, - 2, 20, 199, 1, 0, 24, 48, 0, 0, 0, 0, 65, 29, 0, 0, 2, 21, 199, 1, 0, 32, 0, 47, 0, 0, 0, 0, - 12, 2, 215, 198, 1, 0, 48, 0, 0, 0, 0, 249, 219, 1, 0, 2, 216, 198, 1, 0, 0, 48, 0, 0, 0, 0, - 249, 219, 1, 0, 2, 217, 198, 1, 0, 4, 48, 0, 0, 0, 0, 168, 0, 0, 0, 2, 218, 198, 1, 0, 8, 0, 9, - 37, 34, 4, 0, 47, 0, 0, 0, 0, 24, 2, 9, 199, 1, 0, 48, 0, 0, 0, 0, 11, 1, 0, 0, 2, 10, 199, 1, - 0, 0, 48, 0, 0, 0, 0, 11, 1, 0, 0, 2, 11, 199, 1, 0, 4, 48, 0, 0, 0, 0, 65, 29, 0, 0, 2, 12, - 199, 1, 0, 8, 48, 0, 0, 0, 0, 244, 203, 2, 0, 2, 13, 199, 1, 0, 24, 0, 20, 0, 0, 0, 0, 144, 2, - 246, 222, 21, 0, 0, 0, 0, 145, 34, 4, 0, 2, 247, 222, 0, 21, 0, 0, 0, 0, 170, 147, 1, 0, 2, - 248, 222, 56, 0, 20, 0, 0, 0, 0, 56, 2, 230, 222, 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 231, 222, 0, - 21, 0, 0, 0, 0, 190, 48, 0, 0, 2, 232, 222, 4, 21, 0, 0, 0, 0, 68, 35, 4, 0, 2, 233, 222, 8, - 21, 0, 0, 0, 0, 11, 1, 0, 0, 2, 234, 222, 16, 21, 0, 0, 0, 0, 168, 0, 0, 0, 2, 235, 222, 20, - 21, 0, 0, 0, 0, 65, 166, 1, 0, 2, 236, 222, 24, 21, 0, 0, 0, 0, 118, 55, 0, 0, 2, 237, 222, 32, - 21, 0, 0, 0, 0, 129, 55, 0, 0, 2, 238, 222, 33, 21, 0, 0, 0, 0, 71, 249, 0, 0, 2, 239, 222, 34, - 21, 0, 0, 0, 0, 75, 0, 0, 0, 2, 240, 222, 36, 21, 0, 0, 0, 0, 214, 48, 0, 0, 2, 241, 222, 38, - 21, 0, 0, 0, 0, 136, 68, 0, 0, 2, 242, 222, 40, 21, 0, 0, 0, 0, 125, 68, 0, 0, 2, 243, 222, 48, - 0, 9, 159, 32, 4, 0, 66, 0, 0, 0, 0, 1, 17, 168, 0, 0, 0, 1, 67, 0, 0, 0, 0, 1, 17, 92, 104, 2, - 0, 67, 0, 0, 0, 0, 1, 17, 140, 40, 0, 0, 68, 0, 0, 0, 0, 1, 19, 130, 35, 4, 0, 68, 0, 0, 0, 0, - 1, 20, 28, 24, 4, 0, 0, 31, 0, 0, 0, 0, 32, 4, 22, 8, 0, 0, 0, 0, 168, 0, 0, 0, 4, 24, 0, 8, 0, - 0, 0, 0, 64, 137, 2, 0, 4, 25, 4, 8, 0, 0, 0, 0, 211, 35, 4, 0, 4, 26, 20, 8, 0, 0, 0, 0, 211, - 35, 4, 0, 4, 27, 22, 8, 0, 0, 0, 0, 222, 35, 4, 0, 4, 28, 24, 8, 0, 0, 0, 0, 222, 35, 4, 0, 4, - 29, 28, 0, 12, 225, 48, 0, 0, 0, 0, 0, 0, 4, 11, 12, 11, 1, 0, 0, 0, 0, 0, 0, 4, 15, 69, 0, 0, - 0, 0, 0, 0, 0, 0, 128, 1, 0, 0, 1, 90, 0, 0, 0, 0, 1, 17, 168, 0, 0, 0, 70, 0, 0, 0, 0, 0, 0, - 0, 0, 1, 17, 92, 104, 2, 0, 71, 73, 35, 4, 0, 0, 0, 0, 0, 1, 17, 5, 72, 1, 86, 85, 35, 4, 0, - 73, 89, 0, 0, 0, 96, 35, 4, 0, 74, 2, 145, 0, 107, 35, 4, 0, 75, 54, 0, 0, 0, 118, 35, 4, 0, 0, - 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 48, 1, 0, 0, 0, 0, 0, 0, 56, 1, 0, 0, 0, 0, 0, 0, 112, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 159, 235, 1, 0, 24, 0, 0, 0, 0, 0, - 0, 0, 76, 57, 0, 0, 76, 57, 0, 0, 200, 39, 0, 0, 0, 0, 0, 0, 3, 0, 0, 4, 24, 0, 0, 0, 1, 0, 0, - 0, 2, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 2, 0, 0, 0, 64, 0, 0, 0, 15, 0, 0, 0, 2, 0, 0, 0, 128, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 4, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 1, 4, 0, 0, 0, 32, 0, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, - 1, 4, 0, 0, 0, 32, 0, 0, 0, 50, 0, 0, 0, 0, 0, 0, 14, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2, 8, 0, 0, 0, 57, 0, 0, 0, 21, 0, 0, 4, 168, 0, 0, 0, 65, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, - 69, 0, 0, 0, 9, 0, 0, 0, 64, 0, 0, 0, 73, 0, 0, 0, 9, 0, 0, 0, 128, 0, 0, 0, 77, 0, 0, 0, 9, 0, - 0, 0, 192, 0, 0, 0, 81, 0, 0, 0, 9, 0, 0, 0, 0, 1, 0, 0, 84, 0, 0, 0, 9, 0, 0, 0, 64, 1, 0, 0, - 87, 0, 0, 0, 9, 0, 0, 0, 128, 1, 0, 0, 91, 0, 0, 0, 9, 0, 0, 0, 192, 1, 0, 0, 95, 0, 0, 0, 9, - 0, 0, 0, 0, 2, 0, 0, 98, 0, 0, 0, 9, 0, 0, 0, 64, 2, 0, 0, 101, 0, 0, 0, 9, 0, 0, 0, 128, 2, 0, - 0, 104, 0, 0, 0, 9, 0, 0, 0, 192, 2, 0, 0, 107, 0, 0, 0, 9, 0, 0, 0, 0, 3, 0, 0, 110, 0, 0, 0, - 9, 0, 0, 0, 64, 3, 0, 0, 113, 0, 0, 0, 9, 0, 0, 0, 128, 3, 0, 0, 116, 0, 0, 0, 9, 0, 0, 0, 192, - 3, 0, 0, 124, 0, 0, 0, 9, 0, 0, 0, 0, 4, 0, 0, 127, 0, 0, 0, 9, 0, 0, 0, 64, 4, 0, 0, 130, 0, - 0, 0, 9, 0, 0, 0, 128, 4, 0, 0, 136, 0, 0, 0, 9, 0, 0, 0, 192, 4, 0, 0, 139, 0, 0, 0, 9, 0, 0, - 0, 0, 5, 0, 0, 142, 0, 0, 0, 0, 0, 0, 1, 8, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 13, 3, - 0, 0, 0, 160, 0, 0, 0, 7, 0, 0, 0, 164, 0, 0, 0, 1, 0, 0, 12, 10, 0, 0, 0, 139, 1, 0, 0, 91, 0, - 0, 132, 16, 3, 0, 0, 144, 1, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 156, 1, 0, 0, 66, 0, 0, 0, 64, 4, - 0, 0, 164, 1, 0, 0, 63, 0, 0, 0, 64, 5, 0, 0, 173, 1, 0, 0, 3, 0, 0, 0, 96, 5, 0, 0, 185, 1, 0, - 0, 83, 0, 0, 0, 128, 5, 0, 0, 200, 1, 0, 0, 84, 0, 0, 0, 64, 6, 0, 0, 216, 1, 0, 0, 83, 0, 0, - 0, 128, 6, 0, 0, 233, 1, 0, 0, 85, 0, 0, 0, 64, 7, 0, 0, 244, 1, 0, 0, 3, 0, 0, 0, 0, 8, 0, 0, - 5, 2, 0, 0, 21, 0, 0, 0, 32, 8, 0, 0, 16, 2, 0, 0, 21, 0, 0, 0, 64, 8, 0, 0, 27, 2, 0, 0, 3, 0, - 0, 0, 96, 8, 0, 0, 37, 2, 0, 0, 86, 0, 0, 0, 128, 8, 0, 0, 0, 0, 0, 0, 87, 0, 0, 0, 192, 8, 0, - 0, 47, 2, 0, 0, 121, 0, 0, 0, 0, 9, 0, 0, 57, 2, 0, 0, 122, 0, 0, 0, 128, 9, 0, 0, 67, 2, 0, 0, - 122, 0, 0, 0, 192, 9, 0, 0, 80, 2, 0, 0, 63, 0, 0, 0, 0, 10, 0, 0, 94, 2, 0, 0, 3, 0, 0, 0, 32, - 10, 0, 0, 104, 2, 0, 0, 3, 0, 0, 0, 64, 10, 0, 0, 119, 2, 0, 0, 61, 0, 0, 0, 96, 10, 0, 0, 133, - 2, 0, 0, 9, 0, 0, 0, 128, 10, 0, 0, 0, 0, 0, 0, 123, 0, 0, 0, 192, 10, 0, 0, 146, 2, 0, 0, 84, - 0, 0, 0, 0, 11, 0, 0, 162, 2, 0, 0, 83, 0, 0, 0, 64, 11, 0, 0, 177, 2, 0, 0, 126, 0, 0, 0, 0, - 12, 0, 0, 189, 2, 0, 0, 3, 0, 0, 0, 32, 12, 0, 0, 206, 2, 0, 0, 20, 0, 0, 0, 64, 12, 0, 0, 229, - 2, 0, 0, 60, 0, 0, 0, 96, 12, 0, 0, 246, 2, 0, 0, 127, 0, 0, 0, 128, 12, 0, 0, 2, 3, 0, 0, 98, - 0, 0, 0, 192, 12, 0, 0, 11, 3, 0, 0, 20, 0, 0, 0, 0, 14, 0, 0, 23, 3, 0, 0, 20, 0, 0, 0, 32, - 14, 0, 0, 31, 3, 0, 0, 9, 0, 0, 0, 64, 14, 0, 0, 46, 3, 0, 0, 9, 0, 0, 0, 128, 14, 0, 0, 65, 3, - 0, 0, 128, 0, 0, 0, 192, 14, 0, 0, 73, 3, 0, 0, 130, 0, 0, 0, 64, 15, 0, 0, 87, 3, 0, 0, 130, - 0, 0, 0, 128, 15, 0, 0, 103, 3, 0, 0, 130, 0, 0, 0, 192, 15, 0, 0, 124, 3, 0, 0, 3, 0, 0, 0, 0, - 16, 0, 0, 136, 3, 0, 0, 21, 0, 0, 0, 32, 16, 0, 0, 152, 3, 0, 0, 132, 0, 0, 0, 64, 16, 0, 0, - 166, 3, 0, 0, 20, 0, 0, 0, 96, 16, 0, 0, 176, 3, 0, 0, 76, 0, 0, 0, 128, 16, 0, 1, 187, 3, 0, - 0, 76, 0, 0, 0, 129, 16, 0, 1, 200, 3, 0, 0, 76, 0, 0, 0, 130, 16, 0, 1, 215, 3, 0, 0, 76, 0, - 0, 0, 131, 16, 0, 1, 230, 3, 0, 0, 76, 0, 0, 0, 132, 16, 0, 4, 243, 3, 0, 0, 76, 0, 0, 0, 136, - 16, 0, 0, 3, 4, 0, 0, 78, 0, 0, 0, 144, 16, 0, 0, 11, 4, 0, 0, 78, 0, 0, 0, 160, 16, 0, 0, 23, - 4, 0, 0, 78, 0, 0, 0, 176, 16, 0, 0, 39, 4, 0, 0, 9, 0, 0, 0, 192, 16, 0, 0, 53, 4, 0, 0, 36, - 0, 0, 0, 0, 17, 0, 0, 69, 4, 0, 0, 91, 0, 0, 0, 64, 17, 0, 0, 86, 4, 0, 0, 3, 0, 0, 0, 128, 17, - 0, 0, 93, 4, 0, 0, 3, 0, 0, 0, 160, 17, 0, 0, 105, 4, 0, 0, 60, 0, 0, 0, 192, 17, 0, 0, 120, 4, - 0, 0, 60, 0, 0, 0, 224, 17, 0, 0, 139, 4, 0, 0, 133, 0, 0, 0, 0, 18, 0, 0, 146, 4, 0, 0, 76, 0, - 0, 0, 32, 18, 0, 0, 166, 4, 0, 0, 78, 0, 0, 0, 48, 18, 0, 0, 186, 4, 0, 0, 68, 0, 0, 0, 64, 18, - 0, 0, 199, 4, 0, 0, 136, 0, 0, 0, 128, 18, 0, 0, 211, 4, 0, 0, 137, 0, 0, 0, 192, 18, 0, 0, - 224, 4, 0, 0, 127, 0, 0, 0, 0, 19, 0, 0, 236, 4, 0, 0, 139, 0, 0, 0, 64, 19, 0, 0, 245, 4, 0, - 0, 78, 0, 0, 0, 128, 19, 0, 0, 0, 5, 0, 0, 3, 0, 0, 0, 160, 19, 0, 0, 12, 5, 0, 0, 76, 0, 0, 0, - 192, 19, 0, 0, 24, 5, 0, 0, 60, 0, 0, 0, 224, 19, 0, 0, 33, 5, 0, 0, 63, 0, 0, 0, 0, 20, 0, 0, - 42, 5, 0, 0, 76, 0, 0, 0, 32, 20, 0, 0, 53, 5, 0, 0, 76, 0, 0, 0, 40, 20, 0, 1, 77, 5, 0, 0, - 76, 0, 0, 0, 41, 20, 0, 1, 101, 5, 0, 0, 76, 0, 0, 0, 42, 20, 0, 6, 118, 5, 0, 0, 140, 0, 0, 0, - 64, 20, 0, 0, 128, 5, 0, 0, 141, 0, 0, 0, 128, 20, 0, 0, 141, 5, 0, 0, 141, 0, 0, 0, 192, 20, - 0, 0, 153, 5, 0, 0, 142, 0, 0, 0, 0, 21, 0, 0, 166, 5, 0, 0, 144, 0, 0, 0, 128, 21, 0, 0, 175, - 5, 0, 0, 145, 0, 0, 0, 192, 21, 0, 0, 191, 5, 0, 0, 145, 0, 0, 0, 0, 22, 0, 0, 205, 5, 0, 0, - 145, 0, 0, 0, 64, 22, 0, 0, 220, 5, 0, 0, 145, 0, 0, 0, 128, 22, 0, 0, 236, 5, 0, 0, 147, 0, 0, - 0, 192, 22, 0, 0, 251, 5, 0, 0, 149, 0, 0, 0, 0, 23, 0, 0, 16, 6, 0, 0, 145, 0, 0, 0, 64, 23, - 0, 0, 28, 6, 0, 0, 73, 1, 0, 0, 128, 23, 0, 0, 44, 6, 0, 0, 74, 1, 0, 0, 192, 23, 0, 0, 59, 6, - 0, 0, 117, 0, 0, 0, 0, 24, 0, 0, 66, 6, 0, 0, 25, 0, 0, 132, 136, 0, 0, 0, 0, 0, 0, 0, 14, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 96, 0, 0, 0, - 78, 6, 0, 0, 24, 0, 0, 0, 128, 0, 0, 0, 89, 6, 0, 0, 30, 0, 0, 0, 144, 0, 0, 0, 99, 6, 0, 0, - 31, 0, 0, 0, 152, 0, 0, 4, 109, 6, 0, 0, 31, 0, 0, 0, 156, 0, 0, 1, 123, 6, 0, 0, 31, 0, 0, 0, - 157, 0, 0, 1, 136, 6, 0, 0, 31, 0, 0, 0, 158, 0, 0, 1, 151, 6, 0, 0, 3, 0, 0, 0, 160, 0, 0, 0, - 0, 0, 0, 0, 32, 0, 0, 0, 192, 0, 0, 0, 168, 6, 0, 0, 36, 0, 0, 0, 64, 1, 0, 0, 177, 6, 0, 0, - 37, 0, 0, 0, 128, 1, 0, 0, 185, 6, 0, 0, 40, 0, 0, 0, 192, 1, 0, 0, 198, 6, 0, 0, 40, 0, 0, 0, - 64, 2, 0, 0, 215, 6, 0, 0, 46, 0, 0, 0, 192, 2, 0, 0, 0, 0, 0, 0, 51, 0, 0, 0, 0, 3, 0, 0, 226, - 6, 0, 0, 54, 0, 0, 0, 64, 3, 0, 0, 0, 0, 0, 0, 55, 0, 0, 0, 64, 3, 0, 0, 245, 6, 0, 0, 24, 0, - 0, 0, 192, 3, 0, 0, 10, 7, 0, 0, 24, 0, 0, 0, 208, 3, 0, 0, 0, 0, 0, 0, 59, 0, 0, 0, 224, 3, 0, - 0, 31, 7, 0, 0, 61, 0, 0, 0, 0, 4, 0, 0, 42, 7, 0, 0, 54, 0, 0, 0, 32, 4, 0, 0, 0, 0, 0, 0, 65, - 0, 0, 0, 32, 4, 0, 0, 0, 0, 0, 0, 2, 0, 0, 5, 8, 0, 0, 0, 59, 7, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 72, 7, 0, 0, 0, 0, 0, 8, 16, 0, 0, 0, 83, 7, 0, 0, 0, 0, - 0, 8, 17, 0, 0, 0, 89, 7, 0, 0, 0, 0, 0, 1, 8, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 4, 8, - 0, 0, 0, 112, 7, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 122, 7, 0, 0, 19, 0, 0, 0, 32, 0, 0, 0, 136, 7, - 0, 0, 0, 0, 0, 8, 20, 0, 0, 0, 143, 7, 0, 0, 0, 0, 0, 8, 21, 0, 0, 0, 149, 7, 0, 0, 0, 0, 0, 1, - 4, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 5, 4, 0, 0, 0, 162, 7, 0, 0, 21, 0, 0, 0, 0, 0, - 0, 0, 171, 7, 0, 0, 25, 0, 0, 0, 0, 0, 0, 0, 185, 7, 0, 0, 0, 0, 0, 8, 24, 0, 0, 0, 191, 7, 0, - 0, 0, 0, 0, 1, 2, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 23, 0, 0, 0, 5, 0, - 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 5, 4, 0, 0, 0, 206, 7, 0, 0, 27, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 219, 7, 0, 0, 0, 0, 0, 8, 20, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, - 4, 4, 0, 0, 0, 230, 7, 0, 0, 29, 0, 0, 0, 0, 0, 0, 0, 240, 7, 0, 0, 23, 0, 0, 0, 16, 0, 0, 0, - 248, 7, 0, 0, 0, 0, 0, 8, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 31, 0, 0, 0, 255, 7, 0, 0, 0, 0, - 0, 1, 1, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 5, 16, 0, 0, 0, 13, 8, 0, 0, 33, 0, 0, 0, 0, - 0, 0, 0, 27, 8, 0, 0, 33, 0, 0, 0, 0, 0, 0, 0, 45, 8, 0, 0, 2, 0, 0, 4, 16, 0, 0, 0, 56, 8, 0, - 0, 34, 0, 0, 0, 0, 0, 0, 0, 61, 8, 0, 0, 35, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 33, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 165, 1, 0, 0, 67, 8, 0, - 0, 0, 0, 0, 8, 38, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 8, 0, 0, 0, 82, 8, 0, 0, 39, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 151, 1, 0, 0, 86, 8, 0, 0, 1, 0, 0, 4, 16, 0, 0, 0, 95, 8, 0, 0, - 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 5, 16, 0, 0, 0, 101, 8, 0, 0, 43, 0, 0, 0, 0, 0, - 0, 0, 110, 8, 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, 120, 8, 0, 0, 45, 0, 0, 0, 0, 0, 0, 0, 130, 8, 0, - 0, 0, 0, 0, 8, 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 42, 0, 0, 0, 5, 0, 0, 0, 16, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 29, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 3, 0, 0, 0, 0, 19, 0, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 135, 8, 0, 0, 0, 0, 0, 8, 47, 0, 0, - 0, 0, 0, 0, 0, 1, 0, 0, 4, 8, 0, 0, 0, 146, 8, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, 154, 8, 0, 0, 0, - 0, 0, 8, 49, 0, 0, 0, 158, 8, 0, 0, 0, 0, 0, 8, 50, 0, 0, 0, 164, 8, 0, 0, 0, 0, 0, 1, 8, 0, 0, - 0, 64, 0, 0, 1, 0, 0, 0, 0, 3, 0, 0, 5, 8, 0, 0, 0, 178, 8, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 188, - 8, 0, 0, 52, 0, 0, 0, 0, 0, 0, 0, 201, 8, 0, 0, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 133, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 3, 0, - 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 5, 16, 0, 0, 0, 211, 8, 0, 0, 33, 0, 0, 0, - 0, 0, 0, 0, 220, 8, 0, 0, 56, 0, 0, 0, 0, 0, 0, 0, 235, 8, 0, 0, 2, 0, 0, 4, 16, 0, 0, 0, 56, - 8, 0, 0, 57, 0, 0, 0, 0, 0, 0, 0, 61, 8, 0, 0, 58, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 57, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 5, 4, 0, 0, 0, 252, - 8, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 13, 9, 0, 0, 60, 0, 0, 0, 0, 0, 0, 0, 25, 9, 0, 0, 60, 0, 0, - 0, 0, 0, 0, 0, 40, 9, 0, 0, 0, 0, 0, 8, 20, 0, 0, 0, 44, 9, 0, 0, 0, 0, 0, 8, 62, 0, 0, 0, 55, - 9, 0, 0, 1, 0, 0, 4, 4, 0, 0, 0, 71, 9, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 76, 9, 0, 0, 0, 0, 0, 8, - 64, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 4, 0, 0, 0, 146, 8, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 3, 0, 0, 5, 4, 0, 0, 0, 85, 9, 0, 0, 60, 0, 0, 0, 0, 0, 0, 0, 96, 9, 0, 0, 60, 0, 0, 0, 0, - 0, 0, 0, 113, 9, 0, 0, 60, 0, 0, 0, 0, 0, 0, 0, 128, 9, 0, 0, 0, 0, 0, 8, 67, 0, 0, 0, 0, 0, 0, - 0, 3, 0, 0, 4, 32, 0, 0, 0, 142, 9, 0, 0, 68, 0, 0, 0, 0, 0, 0, 0, 148, 9, 0, 0, 3, 0, 0, 0, - 32, 0, 0, 0, 154, 9, 0, 0, 79, 0, 0, 0, 64, 0, 0, 0, 157, 9, 0, 0, 0, 0, 0, 8, 69, 0, 0, 0, - 168, 9, 0, 0, 1, 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 0, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, - 5, 4, 0, 0, 0, 177, 9, 0, 0, 71, 0, 0, 0, 0, 0, 0, 0, 183, 9, 0, 0, 1, 0, 0, 4, 4, 0, 0, 0, - 196, 9, 0, 0, 72, 0, 0, 0, 0, 0, 0, 0, 205, 9, 0, 0, 0, 0, 0, 8, 73, 0, 0, 0, 221, 9, 0, 0, 1, - 0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 0, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 5, 4, 0, 0, 0, - 231, 9, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 4, 2, 0, 0, 0, 235, 9, 0, 0, 76, 0, 0, 0, 0, 0, 0, 0, - 242, 9, 0, 0, 76, 0, 0, 0, 8, 0, 0, 0, 250, 9, 0, 0, 0, 0, 0, 8, 42, 0, 0, 0, 0, 0, 0, 0, 2, 0, - 0, 4, 4, 0, 0, 0, 253, 9, 0, 0, 78, 0, 0, 0, 0, 0, 0, 0, 12, 10, 0, 0, 78, 0, 0, 0, 16, 0, 0, - 0, 17, 10, 0, 0, 0, 0, 0, 8, 23, 0, 0, 0, 21, 10, 0, 0, 0, 0, 0, 8, 80, 0, 0, 0, 39, 10, 0, 0, - 2, 0, 0, 4, 24, 0, 0, 0, 55, 10, 0, 0, 68, 0, 0, 0, 0, 0, 0, 0, 60, 10, 0, 0, 81, 0, 0, 0, 64, - 0, 0, 0, 65, 10, 0, 0, 2, 0, 0, 4, 16, 0, 0, 0, 56, 8, 0, 0, 82, 0, 0, 0, 0, 0, 0, 0, 75, 10, - 0, 0, 82, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 81, 0, 0, 0, 80, 10, 0, 0, 4, 0, 0, 4, - 24, 0, 0, 0, 56, 8, 0, 0, 84, 0, 0, 0, 0, 0, 0, 0, 75, 10, 0, 0, 84, 0, 0, 0, 64, 0, 0, 0, 93, - 10, 0, 0, 20, 0, 0, 0, 128, 0, 0, 0, 55, 10, 0, 0, 68, 0, 0, 0, 160, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2, 168, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 4, 24, 0, 0, 0, 98, 10, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, - 109, 10, 0, 0, 3, 0, 0, 0, 32, 0, 0, 0, 60, 10, 0, 0, 84, 0, 0, 0, 64, 0, 0, 0, 12, 10, 0, 0, - 84, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 169, 1, 0, 0, 0, 0, 0, 0, 2, 0, 0, 5, 8, 0, - 0, 0, 113, 10, 0, 0, 88, 0, 0, 0, 0, 0, 0, 0, 119, 10, 0, 0, 88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2, 172, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 90, 0, 0, 0, 129, 10, 0, 0, 27, 0, 0, 4, - 32, 3, 0, 0, 141, 10, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 148, 10, 0, 0, 33, 0, 0, 0, 64, 0, 0, 0, - 154, 10, 0, 0, 33, 0, 0, 0, 192, 0, 0, 0, 55, 10, 0, 0, 91, 0, 0, 0, 64, 1, 0, 0, 160, 10, 0, - 0, 61, 0, 0, 0, 128, 1, 0, 0, 167, 10, 0, 0, 60, 0, 0, 0, 160, 1, 0, 0, 171, 10, 0, 0, 98, 0, - 0, 0, 192, 1, 0, 0, 177, 10, 0, 0, 63, 0, 0, 0, 0, 3, 0, 0, 183, 10, 0, 0, 60, 0, 0, 0, 32, 3, - 0, 0, 192, 10, 0, 0, 60, 0, 0, 0, 64, 3, 0, 0, 198, 10, 0, 0, 60, 0, 0, 0, 96, 3, 0, 0, 204, - 10, 0, 0, 102, 0, 0, 0, 128, 3, 0, 0, 209, 10, 0, 0, 103, 0, 0, 0, 192, 3, 0, 0, 218, 10, 0, 0, - 107, 0, 0, 0, 128, 5, 0, 0, 222, 10, 0, 0, 108, 0, 0, 0, 128, 7, 0, 0, 229, 10, 0, 0, 109, 0, - 0, 0, 128, 8, 0, 0, 234, 10, 0, 0, 110, 0, 0, 0, 64, 9, 0, 0, 239, 10, 0, 0, 111, 0, 0, 0, 128, - 11, 0, 0, 1, 0, 0, 0, 76, 0, 0, 0, 136, 11, 0, 0, 254, 10, 0, 0, 76, 0, 0, 0, 144, 11, 0, 0, - 130, 0, 0, 0, 76, 0, 0, 0, 152, 11, 0, 0, 5, 11, 0, 0, 76, 0, 0, 0, 160, 11, 0, 0, 13, 11, 0, - 0, 78, 0, 0, 0, 176, 11, 0, 0, 20, 11, 0, 0, 113, 0, 0, 0, 192, 11, 0, 0, 29, 11, 0, 0, 116, 0, - 0, 0, 0, 12, 0, 0, 38, 11, 0, 0, 33, 0, 0, 0, 0, 24, 0, 0, 57, 11, 0, 0, 117, 0, 0, 0, 128, 24, - 0, 0, 61, 11, 0, 0, 0, 0, 0, 8, 92, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 8, 0, 0, 0, 196, 9, 0, 0, - 93, 0, 0, 0, 0, 0, 0, 0, 70, 11, 0, 0, 0, 0, 0, 8, 94, 0, 0, 0, 84, 11, 0, 0, 2, 0, 0, 4, 8, 0, - 0, 0, 0, 0, 0, 0, 95, 0, 0, 0, 0, 0, 0, 0, 92, 11, 0, 0, 72, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, - 2, 0, 0, 5, 4, 0, 0, 0, 102, 11, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 96, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2, 0, 0, 4, 4, 0, 0, 0, 107, 11, 0, 0, 76, 0, 0, 0, 0, 0, 0, 0, 115, 11, 0, - 0, 97, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 76, 0, 0, 0, 5, 0, 0, 0, 3, 0, - 0, 0, 124, 11, 0, 0, 4, 0, 0, 4, 40, 0, 0, 0, 135, 11, 0, 0, 33, 0, 0, 0, 0, 0, 0, 0, 141, 11, - 0, 0, 9, 0, 0, 0, 128, 0, 0, 0, 149, 11, 0, 0, 99, 0, 0, 0, 192, 0, 0, 0, 130, 0, 0, 0, 60, 0, - 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 100, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 13, 0, 0, 0, 0, 0, - 0, 0, 0, 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 98, 0, 0, 0, 158, 11, 0, 0, 2, 0, 0, 4, 8, 0, 0, - 0, 168, 11, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 170, 11, 0, 0, 20, 0, 0, 0, 32, 0, 0, 0, 172, 11, 0, - 0, 12, 0, 0, 4, 56, 0, 0, 0, 186, 11, 0, 0, 104, 0, 0, 0, 0, 0, 0, 0, 192, 11, 0, 0, 104, 0, 0, - 0, 128, 0, 0, 0, 198, 11, 0, 0, 29, 0, 0, 0, 0, 1, 0, 0, 204, 11, 0, 0, 29, 0, 0, 0, 16, 1, 0, - 0, 215, 11, 0, 0, 29, 0, 0, 0, 32, 1, 0, 0, 221, 11, 0, 0, 29, 0, 0, 0, 48, 1, 0, 0, 13, 11, 0, - 0, 23, 0, 0, 0, 64, 1, 0, 0, 232, 11, 0, 0, 42, 0, 0, 0, 80, 1, 0, 0, 244, 11, 0, 0, 42, 0, 0, - 0, 88, 1, 0, 0, 0, 12, 0, 0, 42, 0, 0, 0, 96, 1, 0, 0, 6, 12, 0, 0, 3, 0, 0, 0, 128, 1, 0, 0, - 14, 12, 0, 0, 106, 0, 0, 0, 160, 1, 0, 0, 19, 12, 0, 0, 0, 0, 0, 8, 105, 0, 0, 0, 0, 0, 0, 0, - 3, 0, 0, 5, 16, 0, 0, 0, 34, 12, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 37, 12, 0, 0, 45, 0, 0, 0, 0, - 0, 0, 0, 40, 12, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 44, 12, 0, 0, 0, 0, 0, 8, 21, 0, 0, 0, 61, 12, - 0, 0, 8, 0, 0, 4, 64, 0, 0, 0, 79, 12, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 95, 12, 0, 0, 16, 0, 0, - 0, 64, 0, 0, 0, 111, 12, 0, 0, 16, 0, 0, 0, 128, 0, 0, 0, 129, 12, 0, 0, 16, 0, 0, 0, 192, 0, - 0, 0, 147, 12, 0, 0, 16, 0, 0, 0, 0, 1, 0, 0, 172, 12, 0, 0, 16, 0, 0, 0, 64, 1, 0, 0, 197, 12, - 0, 0, 16, 0, 0, 0, 128, 1, 0, 0, 222, 12, 0, 0, 16, 0, 0, 0, 192, 1, 0, 0, 247, 12, 0, 0, 4, 0, - 0, 4, 32, 0, 0, 0, 9, 13, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 15, 13, 0, 0, 16, 0, 0, 0, 64, 0, 0, - 0, 23, 13, 0, 0, 16, 0, 0, 0, 128, 0, 0, 0, 32, 13, 0, 0, 16, 0, 0, 0, 192, 0, 0, 0, 41, 13, 0, - 0, 2, 0, 0, 4, 24, 0, 0, 0, 64, 13, 0, 0, 81, 0, 0, 0, 0, 0, 0, 0, 68, 13, 0, 0, 76, 0, 0, 0, - 128, 0, 0, 0, 73, 13, 0, 0, 3, 0, 0, 4, 72, 0, 0, 0, 91, 13, 0, 0, 83, 0, 0, 0, 0, 0, 0, 0, - 102, 13, 0, 0, 98, 0, 0, 0, 192, 0, 0, 0, 113, 13, 0, 0, 9, 0, 0, 0, 0, 2, 0, 0, 121, 13, 0, 0, - 0, 0, 0, 8, 112, 0, 0, 0, 126, 13, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 8, 0, 0, 4, 0, 0, 0, 0, 0, 0, - 0, 2, 181, 1, 0, 0, 132, 13, 0, 0, 11, 0, 0, 4, 64, 0, 0, 0, 142, 13, 0, 0, 115, 0, 0, 0, 0, 0, - 0, 0, 192, 11, 0, 0, 104, 0, 0, 0, 192, 0, 0, 0, 145, 13, 0, 0, 24, 0, 0, 0, 64, 1, 0, 0, 158, - 13, 0, 0, 60, 0, 0, 0, 96, 1, 0, 0, 164, 13, 0, 0, 76, 0, 0, 0, 128, 1, 0, 0, 169, 13, 0, 0, - 76, 0, 0, 0, 136, 1, 0, 0, 175, 13, 0, 0, 76, 0, 0, 0, 144, 1, 0, 0, 184, 13, 0, 0, 76, 0, 0, - 0, 152, 1, 0, 0, 192, 13, 0, 0, 60, 0, 0, 0, 160, 1, 0, 0, 199, 13, 0, 0, 60, 0, 0, 0, 192, 1, - 0, 0, 206, 13, 0, 0, 60, 0, 0, 0, 224, 1, 0, 0, 213, 13, 0, 0, 3, 0, 0, 4, 24, 0, 0, 0, 186, - 11, 0, 0, 104, 0, 0, 0, 0, 0, 0, 0, 221, 13, 0, 0, 19, 0, 0, 0, 128, 0, 0, 0, 0, 12, 0, 0, 42, - 0, 0, 0, 160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 114, 0, 0, 0, 5, 0, 0, 0, 6, 0, 0, - 0, 225, 13, 0, 0, 2, 0, 0, 4, 16, 0, 0, 0, 56, 8, 0, 0, 118, 0, 0, 0, 0, 0, 0, 0, 239, 13, 0, - 0, 119, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 117, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, - 120, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 118, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 3, 0, 0, 0, 0, 89, 0, 0, 0, 5, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 125, 1, 0, 0, 0, - 0, 0, 0, 2, 0, 0, 5, 8, 0, 0, 0, 244, 13, 0, 0, 84, 0, 0, 0, 0, 0, 0, 0, 1, 14, 0, 0, 124, 0, - 0, 0, 0, 0, 0, 0, 15, 14, 0, 0, 1, 0, 0, 4, 8, 0, 0, 0, 23, 14, 0, 0, 125, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2, 6, 1, 0, 0, 31, 14, 0, 0, 0, 0, 0, 8, 3, 0, 0, 0, 37, 14, 0, 0, 0, 0, - 0, 1, 8, 0, 0, 0, 64, 0, 0, 1, 46, 14, 0, 0, 3, 0, 0, 4, 16, 0, 0, 0, 56, 14, 0, 0, 129, 0, 0, - 0, 0, 0, 0, 0, 61, 14, 0, 0, 20, 0, 0, 0, 64, 0, 0, 0, 68, 14, 0, 0, 20, 0, 0, 0, 96, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2, 159, 1, 0, 0, 73, 14, 0, 0, 0, 0, 0, 8, 131, 0, 0, 0, 91, 14, 0, 0, 0, - 0, 0, 8, 16, 0, 0, 0, 95, 14, 0, 0, 0, 0, 0, 8, 21, 0, 0, 0, 101, 14, 0, 0, 0, 0, 0, 8, 134, 0, - 0, 0, 0, 0, 0, 0, 1, 0, 0, 4, 4, 0, 0, 0, 231, 9, 0, 0, 135, 0, 0, 0, 0, 0, 0, 0, 108, 14, 0, - 0, 0, 0, 0, 8, 106, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 163, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 138, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 111, 1, 0, 0, 114, 14, 0, 0, 0, 0, 0, 8, 48, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2, 171, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 122, 14, 0, 0, 3, 0, 0, 4, - 16, 0, 0, 0, 139, 14, 0, 0, 143, 0, 0, 0, 0, 0, 0, 0, 146, 14, 0, 0, 60, 0, 0, 0, 64, 0, 0, 0, - 154, 14, 0, 0, 78, 0, 0, 0, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 107, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2, 148, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 146, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 13, 0, 0, 0, - 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 148, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 13, 3, - 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 0, 0, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 150, 0, 0, - 0, 0, 0, 0, 0, 3, 0, 0, 13, 84, 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 0, 0, 151, 0, 0, 0, 0, - 0, 0, 0, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 152, 0, 0, 0, 162, 14, 0, 0, 150, 0, 0, 132, 128, - 9, 0, 0, 173, 14, 0, 0, 154, 0, 0, 0, 0, 0, 0, 0, 178, 14, 0, 0, 155, 0, 0, 0, 128, 0, 0, 0, - 188, 14, 0, 0, 156, 0, 0, 0, 192, 0, 0, 0, 196, 14, 0, 0, 9, 0, 0, 0, 0, 1, 0, 0, 204, 14, 0, - 0, 9, 0, 0, 0, 64, 1, 0, 0, 214, 14, 0, 0, 9, 0, 0, 0, 128, 1, 0, 0, 224, 14, 0, 0, 9, 0, 0, 0, - 192, 1, 0, 0, 230, 14, 0, 0, 81, 0, 0, 0, 0, 2, 0, 0, 239, 14, 0, 0, 81, 0, 0, 0, 128, 2, 0, 0, - 249, 14, 0, 0, 81, 0, 0, 0, 0, 3, 0, 0, 4, 15, 0, 0, 81, 0, 0, 0, 128, 3, 0, 0, 15, 15, 0, 0, - 81, 0, 0, 0, 0, 4, 0, 0, 25, 15, 0, 0, 81, 0, 0, 0, 128, 4, 0, 0, 40, 15, 0, 0, 157, 0, 0, 0, - 0, 5, 0, 0, 130, 0, 0, 0, 21, 0, 0, 0, 0, 6, 0, 0, 49, 15, 0, 0, 21, 0, 0, 0, 32, 6, 0, 0, 60, - 15, 0, 0, 158, 0, 0, 0, 64, 6, 0, 0, 6, 12, 0, 0, 3, 0, 0, 0, 128, 6, 0, 0, 71, 15, 0, 0, 24, - 0, 0, 0, 160, 6, 0, 0, 78, 15, 0, 0, 24, 0, 0, 0, 176, 6, 0, 0, 94, 15, 0, 0, 21, 0, 0, 0, 192, - 6, 0, 0, 98, 15, 0, 0, 24, 0, 0, 0, 224, 6, 0, 0, 114, 15, 0, 0, 24, 0, 0, 0, 240, 6, 0, 0, - 130, 15, 0, 0, 130, 0, 0, 0, 0, 7, 0, 0, 139, 15, 0, 0, 130, 0, 0, 0, 64, 7, 0, 0, 151, 15, 0, - 0, 130, 0, 0, 0, 128, 7, 0, 0, 167, 15, 0, 0, 130, 0, 0, 0, 192, 7, 0, 0, 181, 15, 0, 0, 130, - 0, 0, 0, 0, 8, 0, 0, 197, 15, 0, 0, 130, 0, 0, 0, 64, 8, 0, 0, 211, 15, 0, 0, 130, 0, 0, 0, - 128, 8, 0, 0, 232, 15, 0, 0, 21, 0, 0, 0, 192, 8, 0, 0, 240, 15, 0, 0, 21, 0, 0, 0, 224, 8, 0, - 0, 1, 0, 0, 0, 24, 0, 0, 0, 0, 9, 0, 0, 248, 15, 0, 0, 31, 0, 0, 0, 16, 9, 0, 0, 7, 16, 0, 0, - 31, 0, 0, 0, 24, 9, 0, 0, 24, 16, 0, 0, 3, 0, 0, 0, 32, 9, 0, 0, 30, 16, 0, 0, 160, 0, 0, 0, - 64, 9, 0, 0, 36, 16, 0, 0, 161, 0, 0, 0, 0, 15, 0, 0, 47, 16, 0, 0, 161, 0, 0, 0, 64, 15, 0, 0, - 58, 16, 0, 0, 161, 0, 0, 0, 128, 15, 0, 0, 71, 16, 0, 0, 63, 0, 0, 0, 192, 15, 0, 0, 88, 16, 0, - 0, 63, 0, 0, 0, 224, 15, 0, 0, 107, 16, 0, 0, 162, 0, 0, 0, 0, 16, 0, 0, 125, 16, 0, 0, 164, 0, - 0, 0, 64, 16, 0, 0, 139, 16, 0, 0, 165, 0, 0, 0, 128, 16, 0, 0, 151, 16, 0, 0, 167, 0, 0, 0, - 192, 16, 0, 0, 162, 16, 0, 0, 169, 0, 0, 0, 0, 17, 0, 0, 172, 16, 0, 0, 171, 0, 0, 0, 64, 17, - 0, 0, 184, 16, 0, 0, 173, 0, 0, 0, 128, 17, 0, 0, 195, 16, 0, 0, 175, 0, 0, 0, 192, 17, 0, 0, - 206, 16, 0, 0, 31, 0, 0, 0, 0, 18, 0, 0, 216, 16, 0, 0, 31, 0, 0, 0, 8, 18, 0, 0, 226, 16, 0, - 0, 31, 0, 0, 0, 16, 18, 0, 0, 234, 16, 0, 0, 31, 0, 0, 0, 24, 18, 0, 0, 238, 16, 0, 0, 177, 0, - 0, 0, 32, 18, 0, 0, 248, 16, 0, 0, 31, 0, 0, 0, 32, 19, 0, 0, 9, 17, 0, 0, 31, 0, 0, 0, 40, 19, - 0, 0, 18, 17, 0, 0, 31, 0, 0, 0, 48, 19, 0, 0, 30, 17, 0, 0, 31, 0, 0, 0, 56, 19, 0, 0, 42, 17, - 0, 0, 24, 0, 0, 0, 64, 19, 0, 0, 57, 17, 0, 0, 24, 0, 0, 0, 80, 19, 0, 0, 64, 17, 0, 0, 24, 0, - 0, 0, 96, 19, 0, 0, 73, 17, 0, 0, 24, 0, 0, 0, 112, 19, 0, 0, 80, 17, 0, 0, 68, 0, 0, 0, 128, - 19, 0, 0, 95, 17, 0, 0, 3, 0, 0, 0, 160, 19, 0, 0, 99, 17, 0, 0, 178, 0, 0, 0, 192, 19, 0, 0, - 102, 17, 0, 0, 178, 0, 0, 0, 192, 20, 0, 0, 105, 17, 0, 0, 178, 0, 0, 0, 192, 21, 0, 0, 115, - 17, 0, 0, 179, 0, 0, 0, 192, 22, 0, 0, 127, 17, 0, 0, 21, 0, 0, 0, 0, 23, 0, 0, 139, 17, 0, 0, - 21, 0, 0, 0, 32, 23, 0, 0, 148, 17, 0, 0, 111, 0, 0, 0, 64, 23, 0, 0, 159, 17, 0, 0, 180, 0, 0, - 0, 128, 23, 0, 0, 169, 17, 0, 0, 181, 0, 0, 0, 192, 23, 0, 0, 177, 17, 0, 0, 182, 0, 0, 0, 0, - 24, 0, 0, 186, 17, 0, 0, 141, 0, 0, 0, 64, 24, 0, 0, 196, 17, 0, 0, 184, 0, 0, 0, 128, 24, 0, - 0, 203, 17, 0, 0, 185, 0, 0, 0, 192, 24, 0, 0, 211, 17, 0, 0, 141, 0, 0, 0, 0, 25, 0, 0, 220, - 17, 0, 0, 186, 0, 0, 0, 64, 25, 0, 0, 234, 17, 0, 0, 187, 0, 0, 0, 128, 25, 0, 0, 249, 17, 0, - 0, 188, 0, 0, 0, 192, 25, 0, 0, 2, 18, 0, 0, 190, 0, 0, 0, 0, 26, 0, 0, 11, 18, 0, 0, 192, 0, - 0, 0, 64, 26, 0, 0, 20, 18, 0, 0, 193, 0, 0, 0, 128, 26, 0, 0, 24, 18, 0, 0, 21, 0, 0, 0, 192, - 26, 0, 0, 38, 18, 0, 0, 21, 0, 0, 0, 224, 26, 0, 0, 57, 18, 0, 0, 194, 0, 0, 0, 0, 27, 0, 0, - 66, 18, 0, 0, 9, 0, 0, 0, 64, 27, 0, 0, 84, 18, 0, 0, 3, 0, 0, 0, 128, 27, 0, 0, 105, 18, 0, 0, - 195, 0, 0, 0, 192, 27, 0, 0, 116, 18, 0, 0, 141, 0, 0, 0, 0, 28, 0, 0, 132, 18, 0, 0, 201, 0, - 0, 0, 64, 28, 0, 0, 146, 18, 0, 0, 202, 0, 0, 0, 128, 28, 0, 0, 160, 18, 0, 0, 203, 0, 0, 0, - 192, 28, 0, 0, 177, 18, 0, 0, 177, 0, 0, 0, 0, 29, 0, 0, 187, 18, 0, 0, 204, 0, 0, 0, 0, 30, 0, - 0, 199, 18, 0, 0, 33, 0, 0, 0, 64, 30, 0, 0, 211, 18, 0, 0, 202, 0, 0, 0, 0, 32, 0, 0, 215, 18, - 0, 0, 21, 0, 0, 0, 64, 32, 0, 0, 229, 18, 0, 0, 21, 0, 0, 0, 96, 32, 0, 0, 248, 18, 0, 0, 205, - 0, 0, 0, 128, 32, 0, 0, 254, 18, 0, 0, 21, 0, 0, 0, 192, 32, 0, 0, 11, 19, 0, 0, 68, 0, 0, 0, - 224, 32, 0, 0, 26, 19, 0, 0, 206, 0, 0, 0, 0, 33, 0, 0, 36, 19, 0, 0, 216, 0, 0, 0, 64, 33, 0, - 0, 45, 19, 0, 0, 201, 0, 0, 0, 192, 33, 0, 0, 58, 19, 0, 0, 218, 0, 0, 0, 0, 34, 0, 0, 69, 19, - 0, 0, 98, 0, 0, 0, 0, 38, 0, 0, 84, 19, 0, 0, 3, 0, 0, 0, 64, 39, 0, 0, 99, 19, 0, 0, 60, 0, 0, - 0, 96, 39, 0, 0, 117, 19, 0, 0, 81, 0, 0, 0, 128, 39, 0, 0, 127, 19, 0, 0, 219, 0, 0, 0, 0, 40, - 0, 0, 139, 19, 0, 0, 81, 0, 0, 0, 64, 40, 0, 0, 155, 19, 0, 0, 220, 0, 0, 0, 192, 40, 0, 8, - 165, 19, 0, 0, 111, 0, 0, 0, 200, 40, 0, 0, 175, 19, 0, 0, 221, 0, 0, 0, 208, 40, 0, 16, 191, - 19, 0, 0, 111, 0, 0, 0, 224, 40, 0, 0, 209, 19, 0, 0, 222, 0, 0, 0, 0, 41, 0, 0, 225, 19, 0, 0, - 224, 0, 0, 0, 64, 41, 0, 0, 232, 19, 0, 0, 37, 0, 0, 0, 128, 41, 0, 0, 239, 19, 0, 0, 141, 0, - 0, 0, 192, 41, 0, 0, 247, 19, 0, 0, 225, 0, 0, 0, 0, 42, 0, 0, 0, 0, 0, 0, 226, 0, 0, 0, 64, - 42, 0, 0, 4, 20, 0, 0, 231, 0, 0, 0, 128, 42, 0, 0, 14, 20, 0, 0, 233, 0, 0, 0, 192, 42, 0, 0, - 23, 20, 0, 0, 235, 0, 0, 0, 0, 43, 0, 0, 27, 20, 0, 0, 51, 1, 0, 0, 128, 66, 0, 0, 40, 20, 0, - 0, 44, 1, 0, 0, 128, 67, 0, 0, 61, 20, 0, 0, 52, 1, 0, 0, 192, 67, 0, 0, 75, 20, 0, 0, 21, 0, - 0, 0, 0, 68, 0, 0, 88, 20, 0, 0, 78, 0, 0, 0, 32, 68, 0, 0, 101, 20, 0, 0, 54, 1, 0, 0, 64, 68, - 0, 0, 111, 20, 0, 0, 209, 0, 0, 0, 128, 68, 0, 0, 118, 20, 0, 0, 57, 1, 0, 0, 144, 68, 0, 0, - 128, 20, 0, 0, 58, 1, 0, 0, 144, 70, 0, 0, 140, 20, 0, 0, 21, 0, 0, 0, 32, 71, 0, 0, 153, 20, - 0, 0, 59, 1, 0, 0, 64, 71, 0, 0, 161, 20, 0, 0, 60, 1, 0, 0, 128, 71, 0, 0, 168, 20, 0, 0, 61, - 1, 0, 0, 192, 71, 0, 0, 176, 20, 0, 0, 62, 1, 0, 0, 0, 72, 0, 0, 194, 20, 0, 0, 62, 1, 0, 0, - 64, 72, 0, 0, 212, 20, 0, 0, 111, 0, 0, 0, 128, 72, 0, 0, 223, 20, 0, 0, 21, 0, 0, 0, 136, 72, - 0, 1, 235, 20, 0, 0, 21, 0, 0, 0, 137, 72, 0, 1, 244, 20, 0, 0, 81, 0, 0, 0, 192, 72, 0, 0, 6, - 21, 0, 0, 63, 1, 0, 0, 64, 73, 0, 0, 17, 21, 0, 0, 66, 1, 0, 0, 128, 73, 0, 0, 37, 21, 0, 0, - 68, 1, 0, 0, 192, 73, 0, 0, 52, 21, 0, 0, 72, 1, 0, 0, 0, 74, 0, 0, 62, 21, 0, 0, 0, 0, 0, 1, - 1, 0, 0, 0, 8, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 153, 0, 0, 0, 5, 0, 0, 0, 16, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2, 153, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 113, 1, 0, 0, 0, 0, 0, 0, 2, - 0, 0, 4, 32, 0, 0, 0, 67, 21, 0, 0, 81, 0, 0, 0, 0, 0, 0, 0, 73, 21, 0, 0, 81, 0, 0, 0, 128, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 152, 1, 0, 0, 79, 21, 0, - 0, 23, 0, 0, 4, 184, 0, 0, 0, 96, 21, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 107, 21, 0, 0, 9, 0, 0, 0, - 64, 0, 0, 0, 118, 21, 0, 0, 9, 0, 0, 0, 128, 0, 0, 0, 127, 21, 0, 0, 9, 0, 0, 0, 192, 0, 0, 0, - 136, 21, 0, 0, 9, 0, 0, 0, 0, 1, 0, 0, 146, 21, 0, 0, 9, 0, 0, 0, 64, 1, 0, 0, 36, 16, 0, 0, 9, - 0, 0, 0, 128, 1, 0, 0, 47, 16, 0, 0, 9, 0, 0, 0, 192, 1, 0, 0, 156, 21, 0, 0, 9, 0, 0, 0, 0, 2, - 0, 0, 166, 21, 0, 0, 9, 0, 0, 0, 64, 2, 0, 0, 177, 21, 0, 0, 9, 0, 0, 0, 128, 2, 0, 0, 194, 21, - 0, 0, 9, 0, 0, 0, 192, 2, 0, 0, 209, 21, 0, 0, 9, 0, 0, 0, 0, 3, 0, 0, 223, 21, 0, 0, 9, 0, 0, - 0, 64, 3, 0, 0, 239, 21, 0, 0, 9, 0, 0, 0, 128, 3, 0, 0, 254, 21, 0, 0, 9, 0, 0, 0, 192, 3, 0, - 0, 15, 22, 0, 0, 9, 0, 0, 0, 0, 4, 0, 0, 33, 22, 0, 0, 9, 0, 0, 0, 64, 4, 0, 0, 51, 22, 0, 0, - 9, 0, 0, 0, 128, 4, 0, 0, 66, 22, 0, 0, 9, 0, 0, 0, 192, 4, 0, 0, 86, 22, 0, 0, 9, 0, 0, 0, 0, - 5, 0, 0, 103, 22, 0, 0, 9, 0, 0, 0, 64, 5, 0, 0, 117, 22, 0, 0, 9, 0, 0, 0, 128, 5, 0, 0, 131, - 22, 0, 0, 0, 0, 0, 8, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 163, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 10, 141, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 142, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 166, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 10, 127, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 168, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 10, 146, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 150, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2, 172, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 182, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2, 174, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 173, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 176, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 129, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 31, 0, 0, 0, - 5, 0, 0, 0, 32, 0, 0, 0, 145, 22, 0, 0, 3, 0, 0, 4, 32, 0, 0, 0, 165, 22, 0, 0, 81, 0, 0, 0, 0, - 0, 0, 0, 170, 22, 0, 0, 3, 0, 0, 0, 128, 0, 0, 0, 176, 22, 0, 0, 124, 0, 0, 0, 192, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2, 145, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 175, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2, 124, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 183, 0, 0, 0, 181, 22, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2, 131, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 132, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2, 178, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 179, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 189, 0, 0, 0, - 193, 22, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 191, 0, 0, 0, 202, 22, 0, 0, 0, - 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 155, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2, 103, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 196, 0, 0, 0, 211, 22, 0, 0, 0, - 0, 0, 8, 197, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 13, 198, 0, 0, 0, 0, 0, 0, 0, 200, 0, 0, 0, 229, - 22, 0, 0, 0, 0, 0, 8, 199, 0, 0, 0, 249, 22, 0, 0, 4, 0, 0, 6, 4, 0, 0, 0, 11, 23, 0, 0, 0, 0, - 0, 0, 31, 23, 0, 0, 1, 0, 0, 0, 50, 23, 0, 0, 2, 0, 0, 0, 67, 23, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 149, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 154, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 158, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 110, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2, 100, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 180, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 208, 0, - 0, 0, 83, 23, 0, 0, 4, 0, 0, 4, 24, 0, 0, 0, 57, 11, 0, 0, 117, 0, 0, 0, 0, 0, 0, 0, 96, 23, 0, - 0, 21, 0, 0, 0, 128, 0, 0, 0, 111, 20, 0, 0, 209, 0, 0, 0, 160, 0, 0, 0, 103, 23, 0, 0, 215, 0, - 0, 0, 192, 0, 0, 0, 112, 23, 0, 0, 0, 0, 0, 8, 210, 0, 0, 0, 116, 23, 0, 0, 0, 0, 0, 8, 211, 0, - 0, 0, 122, 23, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 16, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 213, 0, 0, 0, - 128, 23, 0, 0, 4, 0, 0, 4, 24, 0, 0, 0, 109, 10, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 136, 23, 0, 0, - 21, 0, 0, 0, 32, 0, 0, 0, 57, 11, 0, 0, 117, 0, 0, 0, 64, 0, 0, 0, 146, 23, 0, 0, 214, 0, 0, 0, - 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 78, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 0, 0, 0, 0, 212, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, - 0, 0, 207, 0, 0, 0, 5, 0, 0, 0, 2, 0, 0, 0, 153, 23, 0, 0, 1, 0, 0, 4, 8, 0, 0, 0, 164, 23, 0, - 0, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 217, 0, 0, 0, 5, 0, 0, 0, 16, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 6, 4, 0, 0, 0, 170, 23, 0, 0, - 0, 0, 0, 0, 191, 23, 0, 0, 1, 0, 0, 0, 209, 23, 0, 0, 2, 0, 0, 0, 230, 23, 0, 0, 3, 0, 0, 0, - 250, 23, 0, 0, 4, 0, 0, 0, 10, 24, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 6, 4, 0, 0, 0, 23, - 24, 0, 0, 0, 0, 0, 0, 45, 24, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 223, 0, 0, 0, 0, 0, 0, - 0, 1, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 151, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 156, 1, 0, 0, 68, - 24, 0, 0, 2, 0, 0, 6, 4, 0, 0, 0, 88, 24, 0, 0, 0, 0, 0, 0, 101, 24, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 3, 0, 0, 5, 8, 0, 0, 0, 113, 24, 0, 0, 227, 0, 0, 0, 0, 0, 0, 0, 120, 24, 0, 0, 228, 0, 0, - 0, 0, 0, 0, 0, 127, 24, 0, 0, 229, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 160, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2, 161, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 230, 0, 0, 0, 134, 24, 0, 0, 0, - 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 232, 0, 0, 0, 4, 20, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2, 234, 0, 0, 0, 14, 20, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 146, 24, 0, 0, 46, - 0, 0, 132, 240, 2, 0, 0, 153, 24, 0, 0, 236, 0, 0, 0, 0, 0, 0, 0, 158, 24, 0, 0, 243, 0, 0, 0, - 0, 2, 0, 0, 165, 24, 0, 0, 244, 0, 0, 0, 64, 2, 0, 0, 167, 24, 0, 0, 237, 0, 0, 0, 128, 2, 0, - 0, 1, 0, 0, 0, 245, 0, 0, 0, 192, 2, 0, 0, 177, 24, 0, 0, 247, 0, 0, 0, 0, 3, 0, 0, 181, 24, 0, - 0, 248, 0, 0, 0, 64, 3, 0, 0, 188, 24, 0, 0, 141, 0, 0, 0, 128, 3, 0, 0, 202, 24, 0, 0, 141, 0, - 0, 0, 192, 3, 0, 0, 214, 24, 0, 0, 249, 0, 0, 0, 0, 4, 0, 0, 220, 24, 0, 0, 252, 0, 0, 0, 0, 5, - 0, 0, 226, 24, 0, 0, 254, 0, 0, 0, 192, 6, 0, 0, 232, 24, 0, 0, 25, 1, 0, 0, 64, 16, 0, 0, 242, - 24, 0, 0, 26, 1, 0, 0, 128, 16, 0, 0, 248, 24, 0, 0, 27, 1, 0, 0, 192, 16, 0, 0, 3, 25, 0, 0, - 28, 1, 0, 0, 0, 17, 0, 0, 8, 25, 0, 0, 250, 0, 0, 0, 64, 17, 0, 0, 17, 25, 0, 0, 81, 0, 0, 0, - 128, 17, 0, 0, 26, 25, 0, 0, 29, 1, 0, 0, 0, 18, 0, 0, 34, 25, 0, 0, 31, 1, 0, 0, 64, 18, 0, 0, - 43, 25, 0, 0, 131, 0, 0, 0, 128, 18, 0, 0, 61, 25, 0, 0, 131, 0, 0, 0, 192, 18, 0, 0, 75, 25, - 0, 0, 32, 1, 0, 0, 0, 19, 0, 0, 89, 25, 0, 0, 34, 1, 0, 0, 64, 19, 0, 0, 99, 25, 0, 0, 81, 0, - 0, 0, 128, 19, 0, 0, 109, 25, 0, 0, 35, 1, 0, 0, 0, 20, 0, 0, 118, 25, 0, 0, 36, 1, 0, 0, 64, - 20, 0, 0, 133, 25, 0, 0, 37, 1, 0, 0, 128, 20, 0, 0, 142, 25, 0, 0, 38, 1, 0, 0, 128, 20, 0, 0, - 150, 25, 0, 0, 39, 1, 0, 0, 192, 20, 0, 0, 157, 25, 0, 0, 3, 0, 0, 0, 0, 21, 0, 0, 167, 25, 0, - 0, 40, 1, 0, 0, 32, 21, 0, 0, 142, 13, 0, 0, 60, 0, 0, 0, 64, 21, 0, 0, 172, 25, 0, 0, 68, 0, - 0, 0, 96, 21, 0, 0, 184, 25, 0, 0, 81, 0, 0, 0, 128, 21, 0, 0, 196, 25, 0, 0, 42, 1, 0, 0, 0, - 22, 0, 0, 202, 25, 0, 0, 43, 1, 0, 0, 64, 22, 0, 0, 209, 25, 0, 0, 46, 1, 0, 0, 128, 22, 0, 0, - 217, 25, 0, 0, 48, 1, 0, 0, 192, 22, 0, 0, 229, 25, 0, 0, 49, 1, 0, 0, 0, 23, 0, 0, 235, 25, 0, - 0, 50, 1, 0, 0, 64, 23, 0, 0, 245, 25, 0, 0, 111, 0, 0, 0, 96, 23, 0, 1, 6, 26, 0, 0, 111, 0, - 0, 0, 97, 23, 0, 1, 14, 26, 0, 0, 111, 0, 0, 0, 98, 23, 0, 1, 29, 26, 0, 0, 111, 0, 0, 0, 99, - 23, 0, 1, 42, 26, 0, 0, 111, 0, 0, 0, 100, 23, 0, 1, 52, 26, 0, 0, 12, 0, 0, 132, 64, 0, 0, 0, - 173, 14, 0, 0, 237, 0, 0, 0, 0, 0, 0, 0, 135, 11, 0, 0, 81, 0, 0, 0, 64, 0, 0, 0, 158, 24, 0, - 0, 239, 0, 0, 0, 192, 0, 0, 0, 60, 26, 0, 0, 179, 0, 0, 0, 0, 1, 0, 0, 65, 26, 0, 0, 240, 0, 0, - 0, 64, 1, 0, 0, 71, 26, 0, 0, 241, 0, 0, 0, 128, 1, 0, 0, 74, 26, 0, 0, 242, 0, 0, 0, 192, 1, - 0, 0, 79, 26, 0, 0, 21, 0, 0, 0, 224, 1, 0, 1, 97, 26, 0, 0, 21, 0, 0, 0, 225, 1, 0, 1, 112, - 26, 0, 0, 21, 0, 0, 0, 226, 1, 0, 1, 134, 26, 0, 0, 21, 0, 0, 0, 227, 1, 0, 1, 159, 26, 0, 0, - 21, 0, 0, 0, 228, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 238, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 153, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 236, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 144, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2, 143, 1, 0, 0, 74, 26, 0, 0, 1, 0, 0, 4, 4, 0, 0, 0, 175, 26, 0, 0, 61, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 235, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 121, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 122, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, - 106, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 119, 1, 0, 0, 214, 24, 0, 0, 4, 0, 0, 4, 32, 0, 0, 0, - 184, 26, 0, 0, 161, 0, 0, 0, 0, 0, 0, 0, 92, 11, 0, 0, 250, 0, 0, 0, 64, 0, 0, 0, 190, 26, 0, - 0, 251, 0, 0, 0, 96, 0, 0, 0, 194, 26, 0, 0, 81, 0, 0, 0, 128, 0, 0, 0, 204, 26, 0, 0, 0, 0, 0, - 8, 71, 0, 0, 0, 219, 26, 0, 0, 1, 0, 0, 4, 4, 0, 0, 0, 12, 10, 0, 0, 63, 0, 0, 0, 0, 0, 0, 0, - 241, 26, 0, 0, 4, 0, 0, 4, 56, 0, 0, 0, 0, 27, 0, 0, 81, 0, 0, 0, 0, 0, 0, 0, 10, 27, 0, 0, 81, - 0, 0, 0, 128, 0, 0, 0, 20, 27, 0, 0, 81, 0, 0, 0, 0, 1, 0, 0, 31, 27, 0, 0, 253, 0, 0, 0, 128, - 1, 0, 0, 38, 27, 0, 0, 4, 0, 0, 6, 4, 0, 0, 0, 51, 27, 0, 0, 0, 0, 0, 0, 68, 27, 0, 0, 1, 0, 0, - 0, 83, 27, 0, 0, 2, 0, 0, 0, 103, 27, 0, 0, 3, 0, 0, 0, 120, 27, 0, 0, 52, 0, 0, 132, 48, 1, 0, - 0, 132, 27, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 144, 27, 0, 0, 21, 0, 0, 0, 32, 0, 0, 1, 155, 27, - 0, 0, 21, 0, 0, 0, 33, 0, 0, 1, 169, 27, 0, 0, 111, 0, 0, 0, 34, 0, 0, 1, 181, 27, 0, 0, 111, - 0, 0, 0, 35, 0, 0, 1, 193, 27, 0, 0, 111, 0, 0, 0, 36, 0, 0, 1, 206, 27, 0, 0, 111, 0, 0, 0, - 37, 0, 0, 1, 225, 27, 0, 0, 111, 0, 0, 0, 38, 0, 0, 1, 243, 27, 0, 0, 111, 0, 0, 0, 39, 0, 0, - 1, 249, 27, 0, 0, 111, 0, 0, 0, 40, 0, 0, 1, 4, 28, 0, 0, 111, 0, 0, 0, 41, 0, 0, 1, 20, 28, 0, - 0, 60, 0, 0, 0, 64, 0, 0, 0, 55, 10, 0, 0, 68, 0, 0, 0, 96, 0, 0, 0, 135, 11, 0, 0, 81, 0, 0, - 0, 128, 0, 0, 0, 33, 28, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 44, 28, 0, 0, 3, 1, 0, 0, 0, 2, 0, 0, - 51, 28, 0, 0, 111, 0, 0, 0, 64, 2, 0, 1, 63, 28, 0, 0, 111, 0, 0, 0, 65, 2, 0, 1, 71, 28, 0, 0, - 111, 0, 0, 0, 66, 2, 0, 1, 87, 28, 0, 0, 21, 0, 0, 0, 67, 2, 0, 1, 99, 28, 0, 0, 21, 0, 0, 0, - 68, 2, 0, 1, 115, 28, 0, 0, 4, 1, 0, 0, 128, 2, 0, 0, 129, 28, 0, 0, 131, 0, 0, 0, 128, 4, 0, - 0, 143, 28, 0, 0, 12, 1, 0, 0, 192, 4, 0, 0, 148, 28, 0, 0, 79, 0, 0, 0, 192, 5, 0, 0, 159, 28, - 0, 0, 17, 1, 0, 0, 128, 6, 0, 0, 167, 28, 0, 0, 63, 0, 0, 0, 192, 6, 0, 0, 179, 28, 0, 0, 63, - 0, 0, 0, 224, 6, 0, 0, 191, 28, 0, 0, 21, 0, 0, 0, 0, 7, 0, 3, 205, 28, 0, 0, 21, 0, 0, 0, 3, - 7, 0, 1, 223, 28, 0, 0, 21, 0, 0, 0, 4, 7, 0, 1, 239, 28, 0, 0, 21, 0, 0, 0, 5, 7, 0, 1, 255, - 28, 0, 0, 21, 0, 0, 0, 6, 7, 0, 1, 18, 29, 0, 0, 21, 0, 0, 0, 7, 7, 0, 1, 31, 29, 0, 0, 111, 0, - 0, 0, 8, 7, 0, 1, 47, 29, 0, 0, 21, 0, 0, 0, 9, 7, 0, 1, 60, 29, 0, 0, 21, 0, 0, 0, 10, 7, 0, - 1, 69, 29, 0, 0, 21, 0, 0, 0, 11, 7, 0, 1, 85, 29, 0, 0, 21, 0, 0, 0, 12, 7, 0, 1, 104, 29, 0, - 0, 21, 0, 0, 0, 13, 7, 0, 1, 118, 29, 0, 0, 21, 0, 0, 0, 32, 7, 0, 0, 130, 29, 0, 0, 18, 1, 0, - 0, 64, 7, 0, 0, 138, 29, 0, 0, 19, 1, 0, 0, 96, 7, 0, 0, 153, 29, 0, 0, 3, 0, 0, 0, 128, 7, 0, - 0, 167, 29, 0, 0, 3, 0, 0, 0, 160, 7, 0, 0, 185, 29, 0, 0, 131, 0, 0, 0, 192, 7, 0, 0, 195, 29, - 0, 0, 131, 0, 0, 0, 0, 8, 0, 0, 207, 29, 0, 0, 131, 0, 0, 0, 64, 8, 0, 0, 222, 29, 0, 0, 131, - 0, 0, 0, 128, 8, 0, 0, 243, 29, 0, 0, 20, 1, 0, 0, 192, 8, 0, 0, 255, 29, 0, 0, 21, 1, 0, 0, 0, - 9, 0, 0, 21, 30, 0, 0, 24, 1, 0, 0, 64, 9, 0, 0, 25, 30, 0, 0, 0, 0, 0, 8, 0, 1, 0, 0, 38, 30, - 0, 0, 1, 0, 0, 4, 4, 0, 0, 0, 49, 30, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 33, 28, 0, 0, 2, 0, 0, 4, - 32, 0, 0, 0, 55, 30, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 60, 30, 0, 0, 2, 1, 0, 0, 64, 0, 0, 0, 65, - 30, 0, 0, 2, 0, 0, 4, 24, 0, 0, 0, 55, 10, 0, 0, 250, 0, 0, 0, 0, 0, 0, 0, 82, 30, 0, 0, 81, 0, - 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 177, 1, 0, 0, 92, 30, 0, 0, 8, 0, 0, 4, 64, 0, 0, 0, - 100, 30, 0, 0, 5, 1, 0, 0, 0, 0, 0, 0, 105, 30, 0, 0, 139, 0, 0, 0, 0, 1, 0, 0, 149, 11, 0, 0, - 7, 1, 0, 0, 64, 1, 0, 0, 118, 30, 0, 0, 11, 1, 0, 0, 128, 1, 0, 0, 224, 14, 0, 0, 76, 0, 0, 0, - 192, 1, 0, 0, 123, 30, 0, 0, 76, 0, 0, 0, 200, 1, 0, 0, 130, 30, 0, 0, 76, 0, 0, 0, 208, 1, 0, - 0, 138, 30, 0, 0, 76, 0, 0, 0, 216, 1, 0, 0, 146, 30, 0, 0, 2, 0, 0, 4, 32, 0, 0, 0, 100, 30, - 0, 0, 6, 1, 0, 0, 0, 0, 0, 0, 141, 11, 0, 0, 139, 0, 0, 0, 192, 0, 0, 0, 23, 14, 0, 0, 3, 0, 0, - 4, 24, 0, 0, 0, 162, 30, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 180, 30, 0, 0, 125, 0, 0, 0, 64, 0, 0, - 0, 189, 30, 0, 0, 125, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 8, 1, 0, 0, 0, 0, 0, 0, - 1, 0, 0, 13, 9, 1, 0, 0, 0, 0, 0, 0, 10, 1, 0, 0, 197, 30, 0, 0, 2, 0, 0, 6, 4, 0, 0, 0, 213, - 30, 0, 0, 0, 0, 0, 0, 231, 30, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 4, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2, 130, 1, 0, 0, 247, 30, 0, 0, 3, 0, 0, 4, 32, 0, 0, 0, 3, 31, 0, 0, 161, 0, 0, 0, - 0, 0, 0, 0, 135, 11, 0, 0, 81, 0, 0, 0, 64, 0, 0, 0, 239, 13, 0, 0, 13, 1, 0, 0, 192, 0, 0, 0, - 8, 31, 0, 0, 0, 0, 0, 8, 14, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 15, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, - 13, 0, 0, 0, 0, 0, 0, 0, 0, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 12, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2, 176, 1, 0, 0, 20, 31, 0, 0, 5, 0, 0, 6, 4, 0, 0, 0, 32, 31, 0, 0, 0, 0, 0, 0, 45, 31, 0, - 0, 1, 0, 0, 0, 58, 31, 0, 0, 2, 0, 0, 0, 74, 31, 0, 0, 3, 0, 0, 0, 94, 31, 0, 0, 4, 0, 0, 0, - 109, 31, 0, 0, 4, 0, 0, 6, 4, 0, 0, 0, 120, 31, 0, 0, 0, 0, 0, 0, 131, 31, 0, 0, 1, 0, 0, 0, - 144, 31, 0, 0, 2, 0, 0, 0, 158, 31, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 164, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2, 22, 1, 0, 0, 0, 0, 0, 0, 2, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 243, 0, 0, - 0, 0, 0, 0, 0, 23, 1, 0, 0, 173, 31, 0, 0, 0, 0, 0, 8, 126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, - 117, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 116, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 126, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2, 140, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 115, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, - 30, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 123, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 131, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2, 33, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 105, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, - 118, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 109, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 134, 1, 0, 0, 177, - 31, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 120, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, - 128, 1, 0, 0, 190, 31, 0, 0, 0, 0, 0, 8, 41, 1, 0, 0, 196, 31, 0, 0, 0, 0, 0, 8, 60, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2, 108, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 44, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2, 45, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 101, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 47, 1, 0, 0, 0, - 0, 0, 0, 1, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 135, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2, 114, 1, 0, 0, 211, 31, 0, 0, 4, 0, 0, 6, 4, 0, 0, 0, 228, 31, 0, 0, - 0, 0, 0, 0, 3, 32, 0, 0, 1, 0, 0, 0, 28, 32, 0, 0, 2, 0, 0, 0, 41, 32, 0, 0, 3, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 44, 1, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 53, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 166, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 55, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 10, 112, 1, 0, 0, 58, 32, 0, 0, 2, 0, 0, 4, 4, 0, 0, 0, 170, 22, 0, 0, 78, 0, 0, 0, - 0, 0, 0, 0, 61, 14, 0, 0, 78, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 56, 1, - 0, 0, 5, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 76, 0, 0, 0, 5, 0, 0, 0, 16, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 157, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 162, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2, 167, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 147, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 64, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 65, 1, 0, 0, 6, 21, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2, 67, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 174, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 69, 1, - 0, 0, 37, 21, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 72, 32, 0, 0, 2, 0, 0, 4, 16, 0, 0, 0, 87, 32, 0, - 0, 194, 0, 0, 0, 0, 0, 0, 0, 92, 32, 0, 0, 71, 1, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, - 104, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 70, 1, 0, 0, 5, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2, 170, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 102, 1, 0, 0, 58, 33, 0, 0, 31, 0, 0, 132, - 224, 3, 0, 0, 68, 33, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 71, 33, 0, 0, 76, 1, 0, 0, 128, 24, 0, 0, - 78, 33, 0, 0, 19, 0, 0, 0, 192, 24, 0, 0, 89, 33, 0, 0, 210, 0, 0, 0, 224, 24, 0, 0, 96, 33, 0, - 0, 23, 0, 0, 0, 240, 24, 0, 0, 107, 33, 0, 0, 29, 0, 0, 0, 0, 25, 0, 0, 118, 33, 0, 0, 23, 0, - 0, 0, 16, 25, 0, 0, 126, 33, 0, 0, 77, 1, 0, 0, 64, 25, 0, 0, 135, 33, 0, 0, 3, 0, 0, 0, 128, - 25, 0, 0, 150, 33, 0, 0, 42, 0, 0, 0, 160, 25, 0, 0, 154, 33, 0, 0, 42, 0, 0, 0, 168, 25, 0, 0, - 162, 33, 0, 0, 42, 0, 0, 0, 176, 25, 0, 0, 169, 33, 0, 0, 42, 0, 0, 0, 184, 25, 0, 0, 178, 33, - 0, 0, 42, 0, 0, 0, 192, 25, 0, 1, 186, 33, 0, 0, 42, 0, 0, 0, 193, 25, 0, 1, 194, 33, 0, 0, 42, - 0, 0, 0, 194, 25, 0, 1, 203, 33, 0, 0, 42, 0, 0, 0, 195, 25, 0, 1, 211, 33, 0, 0, 42, 0, 0, 0, - 196, 25, 0, 1, 219, 33, 0, 0, 42, 0, 0, 0, 197, 25, 0, 1, 231, 33, 0, 0, 42, 0, 0, 0, 198, 25, - 0, 1, 238, 33, 0, 0, 42, 0, 0, 0, 199, 25, 0, 1, 247, 33, 0, 0, 42, 0, 0, 0, 200, 25, 0, 1, 12, - 34, 0, 0, 42, 0, 0, 0, 201, 25, 0, 1, 28, 34, 0, 0, 42, 0, 0, 0, 202, 25, 0, 1, 42, 34, 0, 0, - 42, 0, 0, 0, 208, 25, 0, 0, 50, 34, 0, 0, 42, 0, 0, 0, 216, 25, 0, 0, 63, 34, 0, 0, 3, 0, 0, 0, - 224, 25, 0, 0, 72, 34, 0, 0, 3, 0, 0, 0, 0, 26, 0, 0, 81, 34, 0, 0, 19, 0, 0, 0, 32, 26, 0, 0, - 89, 34, 0, 0, 78, 1, 0, 0, 64, 26, 0, 0, 97, 34, 0, 0, 79, 1, 0, 0, 128, 26, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2, 139, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 138, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 136, 1, - 0, 0, 102, 34, 0, 0, 2, 0, 0, 4, 144, 0, 0, 0, 118, 30, 0, 0, 80, 1, 0, 0, 0, 0, 0, 0, 117, 34, - 0, 0, 82, 1, 0, 0, 192, 1, 0, 0, 120, 34, 0, 0, 13, 0, 0, 4, 56, 0, 0, 0, 130, 0, 0, 0, 21, 0, - 0, 0, 0, 0, 0, 0, 130, 34, 0, 0, 19, 0, 0, 0, 32, 0, 0, 0, 135, 34, 0, 0, 81, 1, 0, 0, 64, 0, - 0, 0, 139, 34, 0, 0, 21, 0, 0, 0, 128, 0, 0, 0, 148, 34, 0, 0, 3, 0, 0, 0, 160, 0, 0, 0, 155, - 34, 0, 0, 122, 0, 0, 0, 192, 0, 0, 0, 159, 34, 0, 0, 76, 0, 0, 0, 0, 1, 0, 0, 168, 34, 0, 0, - 42, 0, 0, 0, 8, 1, 0, 0, 150, 33, 0, 0, 210, 0, 0, 0, 16, 1, 0, 0, 183, 10, 0, 0, 153, 0, 0, 0, - 32, 1, 0, 0, 172, 34, 0, 0, 23, 0, 0, 0, 48, 1, 0, 0, 181, 34, 0, 0, 131, 0, 0, 0, 64, 1, 0, 0, - 204, 10, 0, 0, 60, 0, 0, 0, 128, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 137, 1, 0, 0, 195, 34, 0, 0, - 1, 0, 0, 4, 88, 0, 0, 0, 201, 34, 0, 0, 83, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 5, 88, 0, - 0, 0, 203, 34, 0, 0, 84, 1, 0, 0, 0, 0, 0, 0, 215, 34, 0, 0, 87, 1, 0, 0, 0, 0, 0, 0, 219, 34, - 0, 0, 94, 1, 0, 0, 0, 0, 0, 0, 223, 34, 0, 0, 95, 1, 0, 0, 0, 0, 0, 0, 226, 34, 0, 0, 11, 0, 0, - 4, 40, 0, 0, 0, 239, 34, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 250, 34, 0, 0, 3, 0, 0, 0, 32, 0, 0, 0, - 5, 35, 0, 0, 20, 0, 0, 0, 64, 0, 0, 0, 17, 35, 0, 0, 42, 0, 0, 0, 96, 0, 0, 0, 28, 35, 0, 0, - 42, 0, 0, 0, 104, 0, 0, 0, 41, 35, 0, 0, 42, 0, 0, 0, 112, 0, 0, 0, 54, 35, 0, 0, 42, 0, 0, 0, - 120, 0, 0, 0, 67, 35, 0, 0, 20, 0, 0, 0, 128, 0, 0, 0, 80, 35, 0, 0, 133, 0, 0, 0, 160, 0, 0, - 0, 91, 35, 0, 0, 85, 1, 0, 0, 192, 0, 0, 0, 106, 35, 0, 0, 20, 0, 0, 0, 0, 1, 0, 0, 128, 35, 0, - 0, 1, 0, 0, 4, 8, 0, 0, 0, 141, 35, 0, 0, 86, 1, 0, 0, 0, 0, 0, 0, 148, 35, 0, 0, 0, 0, 0, 8, - 16, 0, 0, 0, 155, 35, 0, 0, 4, 0, 0, 4, 56, 0, 0, 0, 203, 34, 0, 0, 84, 1, 0, 0, 0, 0, 0, 0, - 192, 11, 0, 0, 19, 0, 0, 0, 64, 1, 0, 0, 186, 11, 0, 0, 19, 0, 0, 0, 96, 1, 0, 0, 162, 35, 0, - 0, 88, 1, 0, 0, 128, 1, 0, 0, 166, 35, 0, 0, 5, 0, 0, 5, 4, 0, 0, 0, 176, 35, 0, 0, 89, 1, 0, - 0, 0, 0, 0, 0, 182, 35, 0, 0, 90, 1, 0, 0, 0, 0, 0, 0, 188, 35, 0, 0, 91, 1, 0, 0, 0, 0, 0, 0, - 196, 35, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 204, 35, 0, 0, 93, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, - 0, 0, 4, 4, 0, 0, 0, 198, 11, 0, 0, 29, 0, 0, 0, 0, 0, 0, 0, 215, 11, 0, 0, 29, 0, 0, 0, 16, 0, - 0, 0, 0, 0, 0, 0, 2, 0, 0, 4, 2, 0, 0, 0, 1, 0, 0, 0, 42, 0, 0, 0, 0, 0, 0, 0, 208, 35, 0, 0, - 42, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 4, 4, 0, 0, 0, 198, 11, 0, 0, 92, 1, 0, 0, 0, 0, - 0, 0, 215, 11, 0, 0, 92, 1, 0, 0, 16, 0, 0, 0, 213, 35, 0, 0, 0, 0, 0, 8, 23, 0, 0, 0, 0, 0, 0, - 0, 1, 0, 0, 4, 1, 0, 0, 0, 1, 0, 0, 0, 42, 0, 0, 0, 0, 0, 0, 0, 220, 35, 0, 0, 6, 0, 0, 4, 88, - 0, 0, 0, 203, 34, 0, 0, 84, 1, 0, 0, 0, 0, 0, 0, 186, 11, 0, 0, 40, 0, 0, 0, 64, 1, 0, 0, 192, - 11, 0, 0, 40, 0, 0, 0, 192, 1, 0, 0, 227, 35, 0, 0, 19, 0, 0, 0, 64, 2, 0, 0, 162, 35, 0, 0, - 88, 1, 0, 0, 96, 2, 0, 0, 237, 35, 0, 0, 20, 0, 0, 0, 128, 2, 0, 0, 245, 35, 0, 0, 4, 0, 0, 4, - 48, 0, 0, 0, 203, 34, 0, 0, 84, 1, 0, 0, 0, 0, 0, 0, 186, 11, 0, 0, 92, 1, 0, 0, 64, 1, 0, 0, - 192, 11, 0, 0, 92, 1, 0, 0, 80, 1, 0, 0, 162, 35, 0, 0, 88, 1, 0, 0, 96, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 3, 0, 0, 0, 0, 153, 0, 0, 0, 5, 0, 0, 0, 4, 0, 0, 0, 128, 36, 0, 0, 0, 0, 0, 14, 96, - 1, 0, 0, 1, 0, 0, 0, 136, 36, 0, 0, 1, 0, 0, 15, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, - 0, 142, 36, 0, 0, 1, 0, 0, 15, 0, 0, 0, 0, 97, 1, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 150, 36, 0, 0, - 0, 0, 0, 7, 0, 0, 0, 0, 156, 36, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 172, 36, 0, 0, 0, 0, 0, 7, 0, 0, - 0, 0, 190, 36, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 199, 36, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 212, 36, 0, - 0, 0, 0, 0, 7, 0, 0, 0, 0, 227, 36, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 139, 14, 0, 0, 0, 0, 0, 7, 0, - 0, 0, 0, 196, 25, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 236, 36, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 240, 36, - 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 249, 36, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 254, 36, 0, 0, 0, 0, 0, 7, - 0, 0, 0, 0, 13, 37, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 25, 37, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 35, 37, - 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 48, 37, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 62, 37, 0, 0, 0, 0, 0, 7, - 0, 0, 0, 0, 73, 37, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 95, 37, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 109, - 37, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 121, 37, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 136, 37, 0, 0, 0, 0, - 0, 7, 0, 0, 0, 0, 148, 37, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 160, 37, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, - 169, 37, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 179, 37, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 139, 16, 0, 0, 0, - 0, 0, 7, 0, 0, 0, 0, 194, 37, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 195, 16, 0, 0, 0, 0, 0, 7, 0, 0, 0, - 0, 208, 37, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 227, 37, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 237, 37, 0, 0, - 0, 0, 0, 7, 0, 0, 0, 0, 247, 37, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 15, 38, 0, 0, 0, 0, 0, 7, 0, 0, - 0, 0, 217, 25, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 26, 38, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 41, 38, 0, - 0, 0, 0, 0, 7, 0, 0, 0, 0, 52, 38, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 67, 38, 0, 0, 0, 0, 0, 7, 0, - 0, 0, 0, 78, 38, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 89, 38, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 104, 38, - 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 119, 38, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 131, 38, 0, 0, 0, 0, 0, 7, - 0, 0, 0, 0, 60, 26, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 151, 16, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 141, - 38, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 156, 38, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 167, 38, 0, 0, 0, 0, - 0, 7, 0, 0, 0, 0, 162, 16, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 82, 8, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, - 178, 38, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 193, 38, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 210, 38, 0, 0, 0, - 0, 0, 7, 0, 0, 0, 0, 223, 38, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 239, 38, 0, 0, 0, 0, 0, 7, 0, 0, 0, - 0, 252, 38, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 8, 39, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 56, 14, 0, 0, 0, - 0, 0, 7, 0, 0, 0, 0, 24, 39, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 36, 39, 0, 0, 0, 0, 0, 7, 0, 0, 0, - 0, 53, 39, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 64, 39, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 68, 39, 0, 0, 0, - 0, 0, 7, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 61, 20, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, - 168, 20, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 83, 39, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 37, 2, 0, 0, 0, 0, - 0, 7, 0, 0, 0, 0, 91, 39, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 106, 39, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, - 113, 39, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 184, 16, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 17, 21, 0, 0, 0, - 0, 0, 7, 0, 0, 0, 0, 159, 17, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 123, 39, 0, 0, 0, 0, 0, 7, 0, 0, 0, - 0, 132, 39, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 146, 39, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 159, 39, 0, 0, - 0, 0, 0, 7, 0, 0, 0, 0, 168, 39, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 187, 39, 0, 0, 0, 0, 0, 7, 0, 0, - 0, 0, 172, 16, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 116, 121, 112, 101, 0, 107, 101, 121, 95, 115, - 105, 122, 101, 0, 118, 97, 108, 117, 101, 95, 115, 105, 122, 101, 0, 105, 110, 116, 0, 95, 95, - 65, 82, 82, 65, 89, 95, 83, 73, 90, 69, 95, 84, 89, 80, 69, 95, 95, 0, 101, 118, 101, 110, 116, - 115, 0, 112, 116, 95, 114, 101, 103, 115, 0, 114, 49, 53, 0, 114, 49, 52, 0, 114, 49, 51, 0, - 114, 49, 50, 0, 98, 112, 0, 98, 120, 0, 114, 49, 49, 0, 114, 49, 48, 0, 114, 57, 0, 114, 56, 0, - 97, 120, 0, 99, 120, 0, 100, 120, 0, 115, 105, 0, 100, 105, 0, 111, 114, 105, 103, 95, 97, 120, - 0, 105, 112, 0, 99, 115, 0, 102, 108, 97, 103, 115, 0, 115, 112, 0, 115, 115, 0, 108, 111, 110, - 103, 32, 117, 110, 115, 105, 103, 110, 101, 100, 32, 105, 110, 116, 0, 99, 116, 120, 0, 116, - 99, 112, 95, 99, 111, 110, 110, 101, 99, 116, 0, 107, 112, 114, 111, 98, 101, 47, 116, 99, 112, - 95, 99, 111, 110, 110, 101, 99, 116, 0, 47, 119, 111, 114, 107, 47, 110, 101, 119, 108, 99, 99, - 47, 108, 99, 99, 47, 114, 108, 99, 99, 47, 101, 120, 97, 109, 112, 108, 101, 47, 46, 47, 115, - 114, 99, 47, 98, 112, 102, 47, 101, 120, 97, 109, 112, 108, 101, 46, 98, 112, 102, 46, 99, 0, - 105, 110, 116, 32, 66, 80, 70, 95, 75, 80, 82, 79, 66, 69, 40, 116, 99, 112, 95, 99, 111, 110, - 110, 101, 99, 116, 44, 32, 115, 116, 114, 117, 99, 116, 32, 115, 111, 99, 107, 32, 42, 115, - 107, 41, 0, 48, 58, 49, 52, 0, 32, 32, 32, 32, 101, 46, 112, 105, 100, 32, 61, 32, 98, 112, - 102, 95, 103, 101, 116, 95, 99, 117, 114, 114, 101, 110, 116, 95, 112, 105, 100, 95, 116, 103, - 105, 100, 40, 41, 32, 62, 62, 32, 51, 50, 59, 0, 32, 32, 32, 32, 98, 112, 102, 95, 103, 101, - 116, 95, 99, 117, 114, 114, 101, 110, 116, 95, 99, 111, 109, 109, 40, 38, 101, 46, 99, 111, - 109, 109, 44, 32, 84, 65, 83, 75, 95, 67, 79, 77, 77, 95, 76, 69, 78, 41, 59, 0, 115, 111, 99, - 107, 0, 95, 95, 115, 107, 95, 99, 111, 109, 109, 111, 110, 0, 115, 107, 95, 108, 111, 99, 107, - 0, 115, 107, 95, 100, 114, 111, 112, 115, 0, 115, 107, 95, 114, 99, 118, 108, 111, 119, 97, - 116, 0, 115, 107, 95, 101, 114, 114, 111, 114, 95, 113, 117, 101, 117, 101, 0, 115, 107, 95, - 114, 120, 95, 115, 107, 98, 95, 99, 97, 99, 104, 101, 0, 115, 107, 95, 114, 101, 99, 101, 105, - 118, 101, 95, 113, 117, 101, 117, 101, 0, 115, 107, 95, 98, 97, 99, 107, 108, 111, 103, 0, 115, - 107, 95, 102, 111, 114, 119, 97, 114, 100, 95, 97, 108, 108, 111, 99, 0, 115, 107, 95, 108, - 108, 95, 117, 115, 101, 99, 0, 115, 107, 95, 110, 97, 112, 105, 95, 105, 100, 0, 115, 107, 95, - 114, 99, 118, 98, 117, 102, 0, 115, 107, 95, 102, 105, 108, 116, 101, 114, 0, 115, 107, 95, - 112, 111, 108, 105, 99, 121, 0, 115, 107, 95, 114, 120, 95, 100, 115, 116, 0, 115, 107, 95, - 100, 115, 116, 95, 99, 97, 99, 104, 101, 0, 115, 107, 95, 111, 109, 101, 109, 95, 97, 108, 108, - 111, 99, 0, 115, 107, 95, 115, 110, 100, 98, 117, 102, 0, 115, 107, 95, 119, 109, 101, 109, 95, - 113, 117, 101, 117, 101, 100, 0, 115, 107, 95, 119, 109, 101, 109, 95, 97, 108, 108, 111, 99, - 0, 115, 107, 95, 116, 115, 113, 95, 102, 108, 97, 103, 115, 0, 115, 107, 95, 116, 120, 95, 115, - 107, 98, 95, 99, 97, 99, 104, 101, 0, 115, 107, 95, 119, 114, 105, 116, 101, 95, 113, 117, 101, - 117, 101, 0, 115, 107, 95, 112, 101, 101, 107, 95, 111, 102, 102, 0, 115, 107, 95, 119, 114, - 105, 116, 101, 95, 112, 101, 110, 100, 105, 110, 103, 0, 115, 107, 95, 100, 115, 116, 95, 112, - 101, 110, 100, 105, 110, 103, 95, 99, 111, 110, 102, 105, 114, 109, 0, 115, 107, 95, 112, 97, - 99, 105, 110, 103, 95, 115, 116, 97, 116, 117, 115, 0, 115, 107, 95, 115, 110, 100, 116, 105, - 109, 101, 111, 0, 115, 107, 95, 116, 105, 109, 101, 114, 0, 115, 107, 95, 112, 114, 105, 111, - 114, 105, 116, 121, 0, 115, 107, 95, 109, 97, 114, 107, 0, 115, 107, 95, 112, 97, 99, 105, 110, - 103, 95, 114, 97, 116, 101, 0, 115, 107, 95, 109, 97, 120, 95, 112, 97, 99, 105, 110, 103, 95, - 114, 97, 116, 101, 0, 115, 107, 95, 102, 114, 97, 103, 0, 115, 107, 95, 114, 111, 117, 116, - 101, 95, 99, 97, 112, 115, 0, 115, 107, 95, 114, 111, 117, 116, 101, 95, 110, 111, 99, 97, 112, - 115, 0, 115, 107, 95, 114, 111, 117, 116, 101, 95, 102, 111, 114, 99, 101, 100, 95, 99, 97, - 112, 115, 0, 115, 107, 95, 103, 115, 111, 95, 116, 121, 112, 101, 0, 115, 107, 95, 103, 115, - 111, 95, 109, 97, 120, 95, 115, 105, 122, 101, 0, 115, 107, 95, 97, 108, 108, 111, 99, 97, 116, - 105, 111, 110, 0, 115, 107, 95, 116, 120, 104, 97, 115, 104, 0, 115, 107, 95, 112, 97, 100, - 100, 105, 110, 103, 0, 115, 107, 95, 107, 101, 114, 110, 95, 115, 111, 99, 107, 0, 115, 107, - 95, 110, 111, 95, 99, 104, 101, 99, 107, 95, 116, 120, 0, 115, 107, 95, 110, 111, 95, 99, 104, - 101, 99, 107, 95, 114, 120, 0, 115, 107, 95, 117, 115, 101, 114, 108, 111, 99, 107, 115, 0, - 115, 107, 95, 112, 97, 99, 105, 110, 103, 95, 115, 104, 105, 102, 116, 0, 115, 107, 95, 116, - 121, 112, 101, 0, 115, 107, 95, 112, 114, 111, 116, 111, 99, 111, 108, 0, 115, 107, 95, 103, - 115, 111, 95, 109, 97, 120, 95, 115, 101, 103, 115, 0, 115, 107, 95, 108, 105, 110, 103, 101, - 114, 116, 105, 109, 101, 0, 115, 107, 95, 112, 114, 111, 116, 95, 99, 114, 101, 97, 116, 111, - 114, 0, 115, 107, 95, 99, 97, 108, 108, 98, 97, 99, 107, 95, 108, 111, 99, 107, 0, 115, 107, - 95, 101, 114, 114, 0, 115, 107, 95, 101, 114, 114, 95, 115, 111, 102, 116, 0, 115, 107, 95, 97, - 99, 107, 95, 98, 97, 99, 107, 108, 111, 103, 0, 115, 107, 95, 109, 97, 120, 95, 97, 99, 107, - 95, 98, 97, 99, 107, 108, 111, 103, 0, 115, 107, 95, 117, 105, 100, 0, 115, 107, 95, 112, 114, - 101, 102, 101, 114, 95, 98, 117, 115, 121, 95, 112, 111, 108, 108, 0, 115, 107, 95, 98, 117, - 115, 121, 95, 112, 111, 108, 108, 95, 98, 117, 100, 103, 101, 116, 0, 115, 107, 95, 112, 101, - 101, 114, 95, 108, 111, 99, 107, 0, 115, 107, 95, 112, 101, 101, 114, 95, 112, 105, 100, 0, - 115, 107, 95, 112, 101, 101, 114, 95, 99, 114, 101, 100, 0, 115, 107, 95, 114, 99, 118, 116, - 105, 109, 101, 111, 0, 115, 107, 95, 115, 116, 97, 109, 112, 0, 115, 107, 95, 116, 115, 102, - 108, 97, 103, 115, 0, 115, 107, 95, 98, 105, 110, 100, 95, 112, 104, 99, 0, 115, 107, 95, 115, - 104, 117, 116, 100, 111, 119, 110, 0, 115, 107, 95, 116, 115, 107, 101, 121, 0, 115, 107, 95, - 122, 99, 107, 101, 121, 0, 115, 107, 95, 99, 108, 111, 99, 107, 105, 100, 0, 115, 107, 95, 116, - 120, 116, 105, 109, 101, 95, 100, 101, 97, 100, 108, 105, 110, 101, 95, 109, 111, 100, 101, 0, - 115, 107, 95, 116, 120, 116, 105, 109, 101, 95, 114, 101, 112, 111, 114, 116, 95, 101, 114, - 114, 111, 114, 115, 0, 115, 107, 95, 116, 120, 116, 105, 109, 101, 95, 117, 110, 117, 115, 101, - 100, 0, 115, 107, 95, 115, 111, 99, 107, 101, 116, 0, 115, 107, 95, 117, 115, 101, 114, 95, - 100, 97, 116, 97, 0, 115, 107, 95, 115, 101, 99, 117, 114, 105, 116, 121, 0, 115, 107, 95, 99, - 103, 114, 112, 95, 100, 97, 116, 97, 0, 115, 107, 95, 109, 101, 109, 99, 103, 0, 115, 107, 95, - 115, 116, 97, 116, 101, 95, 99, 104, 97, 110, 103, 101, 0, 115, 107, 95, 100, 97, 116, 97, 95, - 114, 101, 97, 100, 121, 0, 115, 107, 95, 119, 114, 105, 116, 101, 95, 115, 112, 97, 99, 101, 0, - 115, 107, 95, 101, 114, 114, 111, 114, 95, 114, 101, 112, 111, 114, 116, 0, 115, 107, 95, 98, - 97, 99, 107, 108, 111, 103, 95, 114, 99, 118, 0, 115, 107, 95, 118, 97, 108, 105, 100, 97, 116, - 101, 95, 120, 109, 105, 116, 95, 115, 107, 98, 0, 115, 107, 95, 100, 101, 115, 116, 114, 117, - 99, 116, 0, 115, 107, 95, 114, 101, 117, 115, 101, 112, 111, 114, 116, 95, 99, 98, 0, 115, 107, - 95, 98, 112, 102, 95, 115, 116, 111, 114, 97, 103, 101, 0, 115, 107, 95, 114, 99, 117, 0, 115, - 111, 99, 107, 95, 99, 111, 109, 109, 111, 110, 0, 115, 107, 99, 95, 102, 97, 109, 105, 108, - 121, 0, 115, 107, 99, 95, 115, 116, 97, 116, 101, 0, 115, 107, 99, 95, 114, 101, 117, 115, 101, - 0, 115, 107, 99, 95, 114, 101, 117, 115, 101, 112, 111, 114, 116, 0, 115, 107, 99, 95, 105, - 112, 118, 54, 111, 110, 108, 121, 0, 115, 107, 99, 95, 110, 101, 116, 95, 114, 101, 102, 99, - 110, 116, 0, 115, 107, 99, 95, 98, 111, 117, 110, 100, 95, 100, 101, 118, 95, 105, 102, 0, 115, - 107, 99, 95, 112, 114, 111, 116, 0, 115, 107, 99, 95, 110, 101, 116, 0, 115, 107, 99, 95, 118, - 54, 95, 100, 97, 100, 100, 114, 0, 115, 107, 99, 95, 118, 54, 95, 114, 99, 118, 95, 115, 97, - 100, 100, 114, 0, 115, 107, 99, 95, 99, 111, 111, 107, 105, 101, 0, 115, 107, 99, 95, 100, 111, - 110, 116, 99, 111, 112, 121, 95, 98, 101, 103, 105, 110, 0, 115, 107, 99, 95, 116, 120, 95, - 113, 117, 101, 117, 101, 95, 109, 97, 112, 112, 105, 110, 103, 0, 115, 107, 99, 95, 114, 120, - 95, 113, 117, 101, 117, 101, 95, 109, 97, 112, 112, 105, 110, 103, 0, 115, 107, 99, 95, 114, - 101, 102, 99, 110, 116, 0, 115, 107, 99, 95, 100, 111, 110, 116, 99, 111, 112, 121, 95, 101, - 110, 100, 0, 115, 107, 99, 95, 97, 100, 100, 114, 112, 97, 105, 114, 0, 95, 95, 97, 100, 100, - 114, 112, 97, 105, 114, 0, 95, 95, 117, 54, 52, 0, 108, 111, 110, 103, 32, 108, 111, 110, 103, - 32, 117, 110, 115, 105, 103, 110, 101, 100, 32, 105, 110, 116, 0, 115, 107, 99, 95, 100, 97, - 100, 100, 114, 0, 115, 107, 99, 95, 114, 99, 118, 95, 115, 97, 100, 100, 114, 0, 95, 95, 98, - 101, 51, 50, 0, 95, 95, 117, 51, 50, 0, 117, 110, 115, 105, 103, 110, 101, 100, 32, 105, 110, - 116, 0, 115, 107, 99, 95, 104, 97, 115, 104, 0, 115, 107, 99, 95, 117, 49, 54, 104, 97, 115, - 104, 101, 115, 0, 95, 95, 117, 49, 54, 0, 117, 110, 115, 105, 103, 110, 101, 100, 32, 115, 104, - 111, 114, 116, 0, 115, 107, 99, 95, 112, 111, 114, 116, 112, 97, 105, 114, 0, 95, 95, 112, 111, - 114, 116, 112, 97, 105, 114, 0, 115, 107, 99, 95, 100, 112, 111, 114, 116, 0, 115, 107, 99, 95, - 110, 117, 109, 0, 95, 95, 98, 101, 49, 54, 0, 117, 110, 115, 105, 103, 110, 101, 100, 32, 99, - 104, 97, 114, 0, 115, 107, 99, 95, 98, 105, 110, 100, 95, 110, 111, 100, 101, 0, 115, 107, 99, - 95, 112, 111, 114, 116, 97, 100, 100, 114, 95, 110, 111, 100, 101, 0, 104, 108, 105, 115, 116, - 95, 110, 111, 100, 101, 0, 110, 101, 120, 116, 0, 112, 112, 114, 101, 118, 0, 112, 111, 115, - 115, 105, 98, 108, 101, 95, 110, 101, 116, 95, 116, 0, 110, 101, 116, 0, 105, 110, 54, 95, 97, - 100, 100, 114, 0, 105, 110, 54, 95, 117, 0, 117, 54, 95, 97, 100, 100, 114, 56, 0, 117, 54, 95, - 97, 100, 100, 114, 49, 54, 0, 117, 54, 95, 97, 100, 100, 114, 51, 50, 0, 95, 95, 117, 56, 0, - 97, 116, 111, 109, 105, 99, 54, 52, 95, 116, 0, 99, 111, 117, 110, 116, 101, 114, 0, 115, 54, - 52, 0, 95, 95, 115, 54, 52, 0, 108, 111, 110, 103, 32, 108, 111, 110, 103, 32, 105, 110, 116, - 0, 115, 107, 99, 95, 102, 108, 97, 103, 115, 0, 115, 107, 99, 95, 108, 105, 115, 116, 101, 110, - 101, 114, 0, 115, 107, 99, 95, 116, 119, 95, 100, 114, 0, 115, 107, 99, 95, 110, 111, 100, 101, - 0, 115, 107, 99, 95, 110, 117, 108, 108, 115, 95, 110, 111, 100, 101, 0, 104, 108, 105, 115, - 116, 95, 110, 117, 108, 108, 115, 95, 110, 111, 100, 101, 0, 115, 107, 99, 95, 105, 110, 99, - 111, 109, 105, 110, 103, 95, 99, 112, 117, 0, 115, 107, 99, 95, 114, 99, 118, 95, 119, 110, - 100, 0, 115, 107, 99, 95, 116, 119, 95, 114, 99, 118, 95, 110, 120, 116, 0, 117, 51, 50, 0, - 114, 101, 102, 99, 111, 117, 110, 116, 95, 116, 0, 114, 101, 102, 99, 111, 117, 110, 116, 95, - 115, 116, 114, 117, 99, 116, 0, 114, 101, 102, 115, 0, 97, 116, 111, 109, 105, 99, 95, 116, 0, - 115, 107, 99, 95, 114, 120, 104, 97, 115, 104, 0, 115, 107, 99, 95, 119, 105, 110, 100, 111, - 119, 95, 99, 108, 97, 109, 112, 0, 115, 107, 99, 95, 116, 119, 95, 115, 110, 100, 95, 110, 120, - 116, 0, 115, 111, 99, 107, 101, 116, 95, 108, 111, 99, 107, 95, 116, 0, 115, 108, 111, 99, 107, - 0, 111, 119, 110, 101, 100, 0, 119, 113, 0, 115, 112, 105, 110, 108, 111, 99, 107, 95, 116, 0, - 115, 112, 105, 110, 108, 111, 99, 107, 0, 114, 108, 111, 99, 107, 0, 114, 97, 119, 95, 115, - 112, 105, 110, 108, 111, 99, 107, 0, 114, 97, 119, 95, 108, 111, 99, 107, 0, 97, 114, 99, 104, - 95, 115, 112, 105, 110, 108, 111, 99, 107, 95, 116, 0, 113, 115, 112, 105, 110, 108, 111, 99, - 107, 0, 118, 97, 108, 0, 108, 111, 99, 107, 101, 100, 0, 112, 101, 110, 100, 105, 110, 103, 0, - 117, 56, 0, 108, 111, 99, 107, 101, 100, 95, 112, 101, 110, 100, 105, 110, 103, 0, 116, 97, - 105, 108, 0, 117, 49, 54, 0, 119, 97, 105, 116, 95, 113, 117, 101, 117, 101, 95, 104, 101, 97, - 100, 95, 116, 0, 119, 97, 105, 116, 95, 113, 117, 101, 117, 101, 95, 104, 101, 97, 100, 0, 108, - 111, 99, 107, 0, 104, 101, 97, 100, 0, 108, 105, 115, 116, 95, 104, 101, 97, 100, 0, 112, 114, - 101, 118, 0, 115, 107, 95, 98, 117, 102, 102, 95, 104, 101, 97, 100, 0, 113, 108, 101, 110, 0, - 114, 109, 101, 109, 95, 97, 108, 108, 111, 99, 0, 108, 101, 110, 0, 115, 107, 95, 119, 113, 0, - 115, 107, 95, 119, 113, 95, 114, 97, 119, 0, 120, 102, 114, 109, 95, 112, 111, 108, 105, 99, - 121, 0, 120, 112, 95, 110, 101, 116, 0, 98, 121, 100, 115, 116, 0, 98, 121, 105, 100, 120, 0, - 114, 101, 102, 99, 110, 116, 0, 112, 111, 115, 0, 116, 105, 109, 101, 114, 0, 103, 101, 110, - 105, 100, 0, 112, 114, 105, 111, 114, 105, 116, 121, 0, 105, 110, 100, 101, 120, 0, 105, 102, - 95, 105, 100, 0, 109, 97, 114, 107, 0, 115, 101, 108, 101, 99, 116, 111, 114, 0, 108, 102, 116, - 0, 99, 117, 114, 108, 102, 116, 0, 119, 97, 108, 107, 0, 112, 111, 108, 113, 0, 98, 121, 100, - 115, 116, 95, 114, 101, 105, 110, 115, 101, 114, 116, 0, 97, 99, 116, 105, 111, 110, 0, 120, - 102, 114, 109, 95, 110, 114, 0, 102, 97, 109, 105, 108, 121, 0, 115, 101, 99, 117, 114, 105, - 116, 121, 0, 120, 102, 114, 109, 95, 118, 101, 99, 0, 98, 121, 100, 115, 116, 95, 105, 110, - 101, 120, 97, 99, 116, 95, 108, 105, 115, 116, 0, 114, 99, 117, 0, 114, 119, 108, 111, 99, 107, - 95, 116, 0, 97, 114, 99, 104, 95, 114, 119, 108, 111, 99, 107, 95, 116, 0, 113, 114, 119, 108, - 111, 99, 107, 0, 119, 97, 105, 116, 95, 108, 111, 99, 107, 0, 99, 110, 116, 115, 0, 119, 108, - 111, 99, 107, 101, 100, 0, 95, 95, 108, 115, 116, 97, 116, 101, 0, 116, 105, 109, 101, 114, 95, - 108, 105, 115, 116, 0, 101, 110, 116, 114, 121, 0, 101, 120, 112, 105, 114, 101, 115, 0, 102, - 117, 110, 99, 116, 105, 111, 110, 0, 120, 102, 114, 109, 95, 109, 97, 114, 107, 0, 118, 0, 109, - 0, 120, 102, 114, 109, 95, 115, 101, 108, 101, 99, 116, 111, 114, 0, 100, 97, 100, 100, 114, 0, - 115, 97, 100, 100, 114, 0, 100, 112, 111, 114, 116, 0, 100, 112, 111, 114, 116, 95, 109, 97, - 115, 107, 0, 115, 112, 111, 114, 116, 0, 115, 112, 111, 114, 116, 95, 109, 97, 115, 107, 0, - 112, 114, 101, 102, 105, 120, 108, 101, 110, 95, 100, 0, 112, 114, 101, 102, 105, 120, 108, - 101, 110, 95, 115, 0, 112, 114, 111, 116, 111, 0, 105, 102, 105, 110, 100, 101, 120, 0, 117, - 115, 101, 114, 0, 120, 102, 114, 109, 95, 97, 100, 100, 114, 101, 115, 115, 95, 116, 0, 97, 52, - 0, 97, 54, 0, 105, 110, 54, 0, 95, 95, 107, 101, 114, 110, 101, 108, 95, 117, 105, 100, 51, 50, - 95, 116, 0, 120, 102, 114, 109, 95, 108, 105, 102, 101, 116, 105, 109, 101, 95, 99, 102, 103, - 0, 115, 111, 102, 116, 95, 98, 121, 116, 101, 95, 108, 105, 109, 105, 116, 0, 104, 97, 114, - 100, 95, 98, 121, 116, 101, 95, 108, 105, 109, 105, 116, 0, 115, 111, 102, 116, 95, 112, 97, - 99, 107, 101, 116, 95, 108, 105, 109, 105, 116, 0, 104, 97, 114, 100, 95, 112, 97, 99, 107, - 101, 116, 95, 108, 105, 109, 105, 116, 0, 115, 111, 102, 116, 95, 97, 100, 100, 95, 101, 120, - 112, 105, 114, 101, 115, 95, 115, 101, 99, 111, 110, 100, 115, 0, 104, 97, 114, 100, 95, 97, - 100, 100, 95, 101, 120, 112, 105, 114, 101, 115, 95, 115, 101, 99, 111, 110, 100, 115, 0, 115, - 111, 102, 116, 95, 117, 115, 101, 95, 101, 120, 112, 105, 114, 101, 115, 95, 115, 101, 99, 111, - 110, 100, 115, 0, 104, 97, 114, 100, 95, 117, 115, 101, 95, 101, 120, 112, 105, 114, 101, 115, - 95, 115, 101, 99, 111, 110, 100, 115, 0, 120, 102, 114, 109, 95, 108, 105, 102, 101, 116, 105, - 109, 101, 95, 99, 117, 114, 0, 98, 121, 116, 101, 115, 0, 112, 97, 99, 107, 101, 116, 115, 0, - 97, 100, 100, 95, 116, 105, 109, 101, 0, 117, 115, 101, 95, 116, 105, 109, 101, 0, 120, 102, - 114, 109, 95, 112, 111, 108, 105, 99, 121, 95, 119, 97, 108, 107, 95, 101, 110, 116, 114, 121, - 0, 97, 108, 108, 0, 100, 101, 97, 100, 0, 120, 102, 114, 109, 95, 112, 111, 108, 105, 99, 121, - 95, 113, 117, 101, 117, 101, 0, 104, 111, 108, 100, 95, 113, 117, 101, 117, 101, 0, 104, 111, - 108, 100, 95, 116, 105, 109, 101, 114, 0, 116, 105, 109, 101, 111, 117, 116, 0, 98, 111, 111, - 108, 0, 95, 66, 111, 111, 108, 0, 120, 102, 114, 109, 95, 116, 109, 112, 108, 0, 105, 100, 0, - 101, 110, 99, 97, 112, 95, 102, 97, 109, 105, 108, 121, 0, 114, 101, 113, 105, 100, 0, 109, - 111, 100, 101, 0, 115, 104, 97, 114, 101, 0, 111, 112, 116, 105, 111, 110, 97, 108, 0, 97, 108, - 108, 97, 108, 103, 115, 0, 97, 97, 108, 103, 111, 115, 0, 101, 97, 108, 103, 111, 115, 0, 99, - 97, 108, 103, 111, 115, 0, 120, 102, 114, 109, 95, 105, 100, 0, 115, 112, 105, 0, 99, 97, 108, - 108, 98, 97, 99, 107, 95, 104, 101, 97, 100, 0, 102, 117, 110, 99, 0, 115, 107, 95, 115, 101, - 110, 100, 95, 104, 101, 97, 100, 0, 116, 99, 112, 95, 114, 116, 120, 95, 113, 117, 101, 117, - 101, 0, 114, 98, 95, 114, 111, 111, 116, 0, 114, 98, 95, 110, 111, 100, 101, 0, 95, 95, 115, - 51, 50, 0, 108, 111, 110, 103, 32, 105, 110, 116, 0, 112, 97, 103, 101, 95, 102, 114, 97, 103, - 0, 112, 97, 103, 101, 0, 111, 102, 102, 115, 101, 116, 0, 115, 105, 122, 101, 0, 110, 101, 116, - 100, 101, 118, 95, 102, 101, 97, 116, 117, 114, 101, 115, 95, 116, 0, 117, 54, 52, 0, 103, 102, - 112, 95, 116, 0, 107, 117, 105, 100, 95, 116, 0, 117, 105, 100, 95, 116, 0, 107, 116, 105, 109, - 101, 95, 116, 0, 115, 111, 99, 107, 95, 99, 103, 114, 111, 117, 112, 95, 100, 97, 116, 97, 0, - 99, 103, 114, 111, 117, 112, 0, 99, 108, 97, 115, 115, 105, 100, 0, 112, 114, 105, 111, 105, - 100, 120, 0, 110, 101, 116, 95, 100, 101, 118, 105, 99, 101, 0, 110, 97, 109, 101, 0, 110, 97, - 109, 101, 95, 110, 111, 100, 101, 0, 105, 102, 97, 108, 105, 97, 115, 0, 109, 101, 109, 95, - 101, 110, 100, 0, 109, 101, 109, 95, 115, 116, 97, 114, 116, 0, 98, 97, 115, 101, 95, 97, 100, - 100, 114, 0, 115, 116, 97, 116, 101, 0, 100, 101, 118, 95, 108, 105, 115, 116, 0, 110, 97, 112, - 105, 95, 108, 105, 115, 116, 0, 117, 110, 114, 101, 103, 95, 108, 105, 115, 116, 0, 99, 108, - 111, 115, 101, 95, 108, 105, 115, 116, 0, 112, 116, 121, 112, 101, 95, 97, 108, 108, 0, 112, - 116, 121, 112, 101, 95, 115, 112, 101, 99, 105, 102, 105, 99, 0, 97, 100, 106, 95, 108, 105, - 115, 116, 0, 112, 114, 105, 118, 95, 102, 108, 97, 103, 115, 0, 110, 101, 116, 100, 101, 118, - 95, 111, 112, 115, 0, 103, 102, 108, 97, 103, 115, 0, 104, 97, 114, 100, 95, 104, 101, 97, 100, - 101, 114, 95, 108, 101, 110, 0, 109, 116, 117, 0, 110, 101, 101, 100, 101, 100, 95, 104, 101, - 97, 100, 114, 111, 111, 109, 0, 110, 101, 101, 100, 101, 100, 95, 116, 97, 105, 108, 114, 111, - 111, 109, 0, 102, 101, 97, 116, 117, 114, 101, 115, 0, 104, 119, 95, 102, 101, 97, 116, 117, - 114, 101, 115, 0, 119, 97, 110, 116, 101, 100, 95, 102, 101, 97, 116, 117, 114, 101, 115, 0, - 118, 108, 97, 110, 95, 102, 101, 97, 116, 117, 114, 101, 115, 0, 104, 119, 95, 101, 110, 99, - 95, 102, 101, 97, 116, 117, 114, 101, 115, 0, 109, 112, 108, 115, 95, 102, 101, 97, 116, 117, - 114, 101, 115, 0, 103, 115, 111, 95, 112, 97, 114, 116, 105, 97, 108, 95, 102, 101, 97, 116, - 117, 114, 101, 115, 0, 109, 105, 110, 95, 109, 116, 117, 0, 109, 97, 120, 95, 109, 116, 117, 0, - 109, 105, 110, 95, 104, 101, 97, 100, 101, 114, 95, 108, 101, 110, 0, 110, 97, 109, 101, 95, - 97, 115, 115, 105, 103, 110, 95, 116, 121, 112, 101, 0, 103, 114, 111, 117, 112, 0, 115, 116, - 97, 116, 115, 0, 114, 120, 95, 100, 114, 111, 112, 112, 101, 100, 0, 116, 120, 95, 100, 114, - 111, 112, 112, 101, 100, 0, 114, 120, 95, 110, 111, 104, 97, 110, 100, 108, 101, 114, 0, 99, - 97, 114, 114, 105, 101, 114, 95, 117, 112, 95, 99, 111, 117, 110, 116, 0, 99, 97, 114, 114, - 105, 101, 114, 95, 100, 111, 119, 110, 95, 99, 111, 117, 110, 116, 0, 119, 105, 114, 101, 108, - 101, 115, 115, 95, 104, 97, 110, 100, 108, 101, 114, 115, 0, 119, 105, 114, 101, 108, 101, 115, - 115, 95, 100, 97, 116, 97, 0, 101, 116, 104, 116, 111, 111, 108, 95, 111, 112, 115, 0, 108, 51, - 109, 100, 101, 118, 95, 111, 112, 115, 0, 110, 100, 105, 115, 99, 95, 111, 112, 115, 0, 120, - 102, 114, 109, 100, 101, 118, 95, 111, 112, 115, 0, 116, 108, 115, 100, 101, 118, 95, 111, 112, - 115, 0, 104, 101, 97, 100, 101, 114, 95, 111, 112, 115, 0, 111, 112, 101, 114, 115, 116, 97, - 116, 101, 0, 108, 105, 110, 107, 95, 109, 111, 100, 101, 0, 105, 102, 95, 112, 111, 114, 116, - 0, 100, 109, 97, 0, 112, 101, 114, 109, 95, 97, 100, 100, 114, 0, 97, 100, 100, 114, 95, 97, - 115, 115, 105, 103, 110, 95, 116, 121, 112, 101, 0, 97, 100, 100, 114, 95, 108, 101, 110, 0, - 117, 112, 112, 101, 114, 95, 108, 101, 118, 101, 108, 0, 108, 111, 119, 101, 114, 95, 108, 101, - 118, 101, 108, 0, 110, 101, 105, 103, 104, 95, 112, 114, 105, 118, 95, 108, 101, 110, 0, 100, - 101, 118, 95, 105, 100, 0, 100, 101, 118, 95, 112, 111, 114, 116, 0, 112, 97, 100, 100, 101, - 100, 0, 97, 100, 100, 114, 95, 108, 105, 115, 116, 95, 108, 111, 99, 107, 0, 105, 114, 113, 0, - 117, 99, 0, 109, 99, 0, 100, 101, 118, 95, 97, 100, 100, 114, 115, 0, 113, 117, 101, 117, 101, - 115, 95, 107, 115, 101, 116, 0, 112, 114, 111, 109, 105, 115, 99, 117, 105, 116, 121, 0, 97, - 108, 108, 109, 117, 108, 116, 105, 0, 117, 99, 95, 112, 114, 111, 109, 105, 115, 99, 0, 118, - 108, 97, 110, 95, 105, 110, 102, 111, 0, 100, 115, 97, 95, 112, 116, 114, 0, 116, 105, 112, 99, - 95, 112, 116, 114, 0, 97, 116, 97, 108, 107, 95, 112, 116, 114, 0, 105, 112, 95, 112, 116, 114, - 0, 105, 112, 54, 95, 112, 116, 114, 0, 97, 120, 50, 53, 95, 112, 116, 114, 0, 105, 101, 101, - 101, 56, 48, 50, 49, 49, 95, 112, 116, 114, 0, 105, 101, 101, 101, 56, 48, 50, 49, 53, 52, 95, - 112, 116, 114, 0, 109, 112, 108, 115, 95, 112, 116, 114, 0, 109, 99, 116, 112, 95, 112, 116, - 114, 0, 100, 101, 118, 95, 97, 100, 100, 114, 0, 95, 114, 120, 0, 110, 117, 109, 95, 114, 120, - 95, 113, 117, 101, 117, 101, 115, 0, 114, 101, 97, 108, 95, 110, 117, 109, 95, 114, 120, 95, - 113, 117, 101, 117, 101, 115, 0, 120, 100, 112, 95, 112, 114, 111, 103, 0, 103, 114, 111, 95, - 102, 108, 117, 115, 104, 95, 116, 105, 109, 101, 111, 117, 116, 0, 110, 97, 112, 105, 95, 100, - 101, 102, 101, 114, 95, 104, 97, 114, 100, 95, 105, 114, 113, 115, 0, 114, 120, 95, 104, 97, - 110, 100, 108, 101, 114, 0, 114, 120, 95, 104, 97, 110, 100, 108, 101, 114, 95, 100, 97, 116, - 97, 0, 109, 105, 110, 105, 113, 95, 105, 110, 103, 114, 101, 115, 115, 0, 105, 110, 103, 114, - 101, 115, 115, 95, 113, 117, 101, 117, 101, 0, 110, 102, 95, 104, 111, 111, 107, 115, 95, 105, - 110, 103, 114, 101, 115, 115, 0, 98, 114, 111, 97, 100, 99, 97, 115, 116, 0, 114, 120, 95, 99, - 112, 117, 95, 114, 109, 97, 112, 0, 105, 110, 100, 101, 120, 95, 104, 108, 105, 115, 116, 0, - 95, 116, 120, 0, 110, 117, 109, 95, 116, 120, 95, 113, 117, 101, 117, 101, 115, 0, 114, 101, - 97, 108, 95, 110, 117, 109, 95, 116, 120, 95, 113, 117, 101, 117, 101, 115, 0, 113, 100, 105, - 115, 99, 0, 116, 120, 95, 113, 117, 101, 117, 101, 95, 108, 101, 110, 0, 116, 120, 95, 103, - 108, 111, 98, 97, 108, 95, 108, 111, 99, 107, 0, 120, 100, 112, 95, 98, 117, 108, 107, 113, 0, - 120, 112, 115, 95, 109, 97, 112, 115, 0, 109, 105, 110, 105, 113, 95, 101, 103, 114, 101, 115, - 115, 0, 113, 100, 105, 115, 99, 95, 104, 97, 115, 104, 0, 119, 97, 116, 99, 104, 100, 111, 103, - 95, 116, 105, 109, 101, 114, 0, 119, 97, 116, 99, 104, 100, 111, 103, 95, 116, 105, 109, 101, - 111, 0, 112, 114, 111, 116, 111, 95, 100, 111, 119, 110, 95, 114, 101, 97, 115, 111, 110, 0, - 116, 111, 100, 111, 95, 108, 105, 115, 116, 0, 112, 99, 112, 117, 95, 114, 101, 102, 99, 110, - 116, 0, 108, 105, 110, 107, 95, 119, 97, 116, 99, 104, 95, 108, 105, 115, 116, 0, 114, 101, - 103, 95, 115, 116, 97, 116, 101, 0, 100, 105, 115, 109, 97, 110, 116, 108, 101, 0, 114, 116, - 110, 108, 95, 108, 105, 110, 107, 95, 115, 116, 97, 116, 101, 0, 110, 101, 101, 100, 115, 95, - 102, 114, 101, 101, 95, 110, 101, 116, 100, 101, 118, 0, 112, 114, 105, 118, 95, 100, 101, 115, - 116, 114, 117, 99, 116, 111, 114, 0, 110, 112, 105, 110, 102, 111, 0, 110, 100, 95, 110, 101, - 116, 0, 109, 108, 95, 112, 114, 105, 118, 0, 109, 108, 95, 112, 114, 105, 118, 95, 116, 121, - 112, 101, 0, 103, 97, 114, 112, 95, 112, 111, 114, 116, 0, 109, 114, 112, 95, 112, 111, 114, - 116, 0, 100, 101, 118, 0, 115, 121, 115, 102, 115, 95, 103, 114, 111, 117, 112, 115, 0, 115, - 121, 115, 102, 115, 95, 114, 120, 95, 113, 117, 101, 117, 101, 95, 103, 114, 111, 117, 112, 0, - 114, 116, 110, 108, 95, 108, 105, 110, 107, 95, 111, 112, 115, 0, 103, 115, 111, 95, 109, 97, - 120, 95, 115, 105, 122, 101, 0, 103, 115, 111, 95, 109, 97, 120, 95, 115, 101, 103, 115, 0, - 100, 99, 98, 110, 108, 95, 111, 112, 115, 0, 110, 117, 109, 95, 116, 99, 0, 116, 99, 95, 116, - 111, 95, 116, 120, 113, 0, 112, 114, 105, 111, 95, 116, 99, 95, 109, 97, 112, 0, 102, 99, 111, - 101, 95, 100, 100, 112, 95, 120, 105, 100, 0, 112, 114, 105, 111, 109, 97, 112, 0, 112, 104, - 121, 100, 101, 118, 0, 115, 102, 112, 95, 98, 117, 115, 0, 113, 100, 105, 115, 99, 95, 116, - 120, 95, 98, 117, 115, 121, 108, 111, 99, 107, 0, 113, 100, 105, 115, 99, 95, 114, 117, 110, - 110, 105, 110, 103, 95, 107, 101, 121, 0, 112, 114, 111, 116, 111, 95, 100, 111, 119, 110, 0, - 119, 111, 108, 95, 101, 110, 97, 98, 108, 101, 100, 0, 116, 104, 114, 101, 97, 100, 101, 100, - 0, 110, 101, 116, 95, 110, 111, 116, 105, 102, 105, 101, 114, 95, 108, 105, 115, 116, 0, 109, - 97, 99, 115, 101, 99, 95, 111, 112, 115, 0, 117, 100, 112, 95, 116, 117, 110, 110, 101, 108, - 95, 110, 105, 99, 95, 105, 110, 102, 111, 0, 117, 100, 112, 95, 116, 117, 110, 110, 101, 108, - 95, 110, 105, 99, 0, 120, 100, 112, 95, 115, 116, 97, 116, 101, 0, 99, 104, 97, 114, 0, 117, - 112, 112, 101, 114, 0, 108, 111, 119, 101, 114, 0, 110, 101, 116, 95, 100, 101, 118, 105, 99, - 101, 95, 115, 116, 97, 116, 115, 0, 114, 120, 95, 112, 97, 99, 107, 101, 116, 115, 0, 116, 120, - 95, 112, 97, 99, 107, 101, 116, 115, 0, 114, 120, 95, 98, 121, 116, 101, 115, 0, 116, 120, 95, - 98, 121, 116, 101, 115, 0, 114, 120, 95, 101, 114, 114, 111, 114, 115, 0, 116, 120, 95, 101, - 114, 114, 111, 114, 115, 0, 109, 117, 108, 116, 105, 99, 97, 115, 116, 0, 99, 111, 108, 108, - 105, 115, 105, 111, 110, 115, 0, 114, 120, 95, 108, 101, 110, 103, 116, 104, 95, 101, 114, 114, - 111, 114, 115, 0, 114, 120, 95, 111, 118, 101, 114, 95, 101, 114, 114, 111, 114, 115, 0, 114, - 120, 95, 99, 114, 99, 95, 101, 114, 114, 111, 114, 115, 0, 114, 120, 95, 102, 114, 97, 109, - 101, 95, 101, 114, 114, 111, 114, 115, 0, 114, 120, 95, 102, 105, 102, 111, 95, 101, 114, 114, - 111, 114, 115, 0, 114, 120, 95, 109, 105, 115, 115, 101, 100, 95, 101, 114, 114, 111, 114, 115, - 0, 116, 120, 95, 97, 98, 111, 114, 116, 101, 100, 95, 101, 114, 114, 111, 114, 115, 0, 116, - 120, 95, 99, 97, 114, 114, 105, 101, 114, 95, 101, 114, 114, 111, 114, 115, 0, 116, 120, 95, - 102, 105, 102, 111, 95, 101, 114, 114, 111, 114, 115, 0, 116, 120, 95, 104, 101, 97, 114, 116, - 98, 101, 97, 116, 95, 101, 114, 114, 111, 114, 115, 0, 116, 120, 95, 119, 105, 110, 100, 111, - 119, 95, 101, 114, 114, 111, 114, 115, 0, 114, 120, 95, 99, 111, 109, 112, 114, 101, 115, 115, - 101, 100, 0, 116, 120, 95, 99, 111, 109, 112, 114, 101, 115, 115, 101, 100, 0, 97, 116, 111, - 109, 105, 99, 95, 108, 111, 110, 103, 95, 116, 0, 110, 101, 116, 100, 101, 118, 95, 104, 119, - 95, 97, 100, 100, 114, 95, 108, 105, 115, 116, 0, 108, 105, 115, 116, 0, 99, 111, 117, 110, - 116, 0, 116, 114, 101, 101, 0, 116, 105, 112, 99, 95, 98, 101, 97, 114, 101, 114, 0, 109, 112, - 108, 115, 95, 100, 101, 118, 0, 109, 99, 116, 112, 95, 100, 101, 118, 0, 114, 120, 95, 104, 97, - 110, 100, 108, 101, 114, 95, 102, 117, 110, 99, 95, 116, 0, 114, 120, 95, 104, 97, 110, 100, - 108, 101, 114, 95, 114, 101, 115, 117, 108, 116, 95, 116, 0, 114, 120, 95, 104, 97, 110, 100, - 108, 101, 114, 95, 114, 101, 115, 117, 108, 116, 0, 82, 88, 95, 72, 65, 78, 68, 76, 69, 82, 95, - 67, 79, 78, 83, 85, 77, 69, 68, 0, 82, 88, 95, 72, 65, 78, 68, 76, 69, 82, 95, 65, 78, 79, 84, - 72, 69, 82, 0, 82, 88, 95, 72, 65, 78, 68, 76, 69, 82, 95, 69, 88, 65, 67, 84, 0, 82, 88, 95, - 72, 65, 78, 68, 76, 69, 82, 95, 80, 65, 83, 83, 0, 120, 112, 115, 95, 100, 101, 118, 95, 109, - 97, 112, 115, 0, 110, 114, 95, 105, 100, 115, 0, 97, 116, 116, 114, 95, 109, 97, 112, 0, 115, - 49, 54, 0, 95, 95, 115, 49, 54, 0, 115, 104, 111, 114, 116, 0, 120, 112, 115, 95, 109, 97, 112, - 0, 97, 108, 108, 111, 99, 95, 108, 101, 110, 0, 113, 117, 101, 117, 101, 115, 0, 104, 108, 105, - 115, 116, 95, 104, 101, 97, 100, 0, 102, 105, 114, 115, 116, 0, 78, 69, 84, 82, 69, 71, 95, 85, - 78, 73, 78, 73, 84, 73, 65, 76, 73, 90, 69, 68, 0, 78, 69, 84, 82, 69, 71, 95, 82, 69, 71, 73, - 83, 84, 69, 82, 69, 68, 0, 78, 69, 84, 82, 69, 71, 95, 85, 78, 82, 69, 71, 73, 83, 84, 69, 82, - 73, 78, 71, 0, 78, 69, 84, 82, 69, 71, 95, 85, 78, 82, 69, 71, 73, 83, 84, 69, 82, 69, 68, 0, - 78, 69, 84, 82, 69, 71, 95, 82, 69, 76, 69, 65, 83, 69, 68, 0, 78, 69, 84, 82, 69, 71, 95, 68, - 85, 77, 77, 89, 0, 82, 84, 78, 76, 95, 76, 73, 78, 75, 95, 73, 78, 73, 84, 73, 65, 76, 73, 90, - 69, 68, 0, 82, 84, 78, 76, 95, 76, 73, 78, 75, 95, 73, 78, 73, 84, 73, 65, 76, 73, 90, 73, 78, - 71, 0, 110, 101, 116, 100, 101, 118, 95, 109, 108, 95, 112, 114, 105, 118, 95, 116, 121, 112, - 101, 0, 77, 76, 95, 80, 82, 73, 86, 95, 78, 79, 78, 69, 0, 77, 76, 95, 80, 82, 73, 86, 95, 67, - 65, 78, 0, 108, 115, 116, 97, 116, 115, 0, 116, 115, 116, 97, 116, 115, 0, 100, 115, 116, 97, - 116, 115, 0, 112, 99, 112, 117, 95, 100, 115, 116, 97, 116, 115, 0, 100, 101, 118, 105, 99, - 101, 0, 107, 111, 98, 106, 0, 112, 97, 114, 101, 110, 116, 0, 112, 0, 105, 110, 105, 116, 95, - 110, 97, 109, 101, 0, 98, 117, 115, 0, 100, 114, 105, 118, 101, 114, 0, 112, 108, 97, 116, 102, - 111, 114, 109, 95, 100, 97, 116, 97, 0, 100, 114, 105, 118, 101, 114, 95, 100, 97, 116, 97, 0, - 109, 117, 116, 101, 120, 0, 108, 105, 110, 107, 115, 0, 112, 111, 119, 101, 114, 0, 112, 109, - 95, 100, 111, 109, 97, 105, 110, 0, 101, 109, 95, 112, 100, 0, 109, 115, 105, 95, 100, 111, - 109, 97, 105, 110, 0, 112, 105, 110, 115, 0, 109, 115, 105, 95, 108, 111, 99, 107, 0, 109, 115, - 105, 95, 108, 105, 115, 116, 0, 100, 109, 97, 95, 111, 112, 115, 0, 100, 109, 97, 95, 109, 97, - 115, 107, 0, 99, 111, 104, 101, 114, 101, 110, 116, 95, 100, 109, 97, 95, 109, 97, 115, 107, 0, - 98, 117, 115, 95, 100, 109, 97, 95, 108, 105, 109, 105, 116, 0, 100, 109, 97, 95, 114, 97, 110, - 103, 101, 95, 109, 97, 112, 0, 100, 109, 97, 95, 112, 97, 114, 109, 115, 0, 100, 109, 97, 95, - 112, 111, 111, 108, 115, 0, 99, 109, 97, 95, 97, 114, 101, 97, 0, 100, 109, 97, 95, 105, 111, - 95, 116, 108, 98, 95, 109, 101, 109, 0, 97, 114, 99, 104, 100, 97, 116, 97, 0, 111, 102, 95, - 110, 111, 100, 101, 0, 102, 119, 110, 111, 100, 101, 0, 110, 117, 109, 97, 95, 110, 111, 100, - 101, 0, 100, 101, 118, 116, 0, 100, 101, 118, 114, 101, 115, 95, 108, 111, 99, 107, 0, 100, - 101, 118, 114, 101, 115, 95, 104, 101, 97, 100, 0, 99, 108, 97, 115, 115, 0, 103, 114, 111, - 117, 112, 115, 0, 114, 101, 108, 101, 97, 115, 101, 0, 105, 111, 109, 109, 117, 95, 103, 114, - 111, 117, 112, 0, 105, 111, 109, 109, 117, 0, 114, 101, 109, 111, 118, 97, 98, 108, 101, 0, - 111, 102, 102, 108, 105, 110, 101, 95, 100, 105, 115, 97, 98, 108, 101, 100, 0, 111, 102, 102, - 108, 105, 110, 101, 0, 111, 102, 95, 110, 111, 100, 101, 95, 114, 101, 117, 115, 101, 100, 0, - 115, 116, 97, 116, 101, 95, 115, 121, 110, 99, 101, 100, 0, 99, 97, 110, 95, 109, 97, 116, 99, - 104, 0, 107, 111, 98, 106, 101, 99, 116, 0, 107, 115, 101, 116, 0, 107, 116, 121, 112, 101, 0, - 115, 100, 0, 107, 114, 101, 102, 0, 115, 116, 97, 116, 101, 95, 105, 110, 105, 116, 105, 97, - 108, 105, 122, 101, 100, 0, 115, 116, 97, 116, 101, 95, 105, 110, 95, 115, 121, 115, 102, 115, - 0, 115, 116, 97, 116, 101, 95, 97, 100, 100, 95, 117, 101, 118, 101, 110, 116, 95, 115, 101, - 110, 116, 0, 115, 116, 97, 116, 101, 95, 114, 101, 109, 111, 118, 101, 95, 117, 101, 118, 101, - 110, 116, 95, 115, 101, 110, 116, 0, 117, 101, 118, 101, 110, 116, 95, 115, 117, 112, 112, 114, - 101, 115, 115, 0, 114, 101, 102, 99, 111, 117, 110, 116, 0, 111, 119, 110, 101, 114, 0, 111, - 115, 113, 0, 119, 97, 105, 116, 95, 108, 105, 115, 116, 0, 114, 97, 119, 95, 115, 112, 105, - 110, 108, 111, 99, 107, 95, 116, 0, 111, 112, 116, 105, 109, 105, 115, 116, 105, 99, 95, 115, - 112, 105, 110, 95, 113, 117, 101, 117, 101, 0, 100, 101, 118, 95, 108, 105, 110, 107, 115, 95, - 105, 110, 102, 111, 0, 115, 117, 112, 112, 108, 105, 101, 114, 115, 0, 99, 111, 110, 115, 117, - 109, 101, 114, 115, 0, 100, 101, 102, 101, 114, 95, 115, 121, 110, 99, 0, 115, 116, 97, 116, - 117, 115, 0, 100, 108, 95, 100, 101, 118, 95, 115, 116, 97, 116, 101, 0, 68, 76, 95, 68, 69, - 86, 95, 78, 79, 95, 68, 82, 73, 86, 69, 82, 0, 68, 76, 95, 68, 69, 86, 95, 80, 82, 79, 66, 73, - 78, 71, 0, 68, 76, 95, 68, 69, 86, 95, 68, 82, 73, 86, 69, 82, 95, 66, 79, 85, 78, 68, 0, 68, - 76, 95, 68, 69, 86, 95, 85, 78, 66, 73, 78, 68, 73, 78, 71, 0, 100, 101, 118, 95, 112, 109, 95, - 105, 110, 102, 111, 0, 112, 111, 119, 101, 114, 95, 115, 116, 97, 116, 101, 0, 99, 97, 110, 95, - 119, 97, 107, 101, 117, 112, 0, 97, 115, 121, 110, 99, 95, 115, 117, 115, 112, 101, 110, 100, - 0, 105, 110, 95, 100, 112, 109, 95, 108, 105, 115, 116, 0, 105, 115, 95, 112, 114, 101, 112, - 97, 114, 101, 100, 0, 105, 115, 95, 115, 117, 115, 112, 101, 110, 100, 101, 100, 0, 105, 115, - 95, 110, 111, 105, 114, 113, 95, 115, 117, 115, 112, 101, 110, 100, 101, 100, 0, 105, 115, 95, - 108, 97, 116, 101, 95, 115, 117, 115, 112, 101, 110, 100, 101, 100, 0, 110, 111, 95, 112, 109, - 0, 101, 97, 114, 108, 121, 95, 105, 110, 105, 116, 0, 100, 105, 114, 101, 99, 116, 95, 99, 111, - 109, 112, 108, 101, 116, 101, 0, 100, 114, 105, 118, 101, 114, 95, 102, 108, 97, 103, 115, 0, - 99, 111, 109, 112, 108, 101, 116, 105, 111, 110, 0, 119, 97, 107, 101, 117, 112, 0, 119, 97, - 107, 101, 117, 112, 95, 112, 97, 116, 104, 0, 115, 121, 115, 99, 111, 114, 101, 0, 110, 111, - 95, 112, 109, 95, 99, 97, 108, 108, 98, 97, 99, 107, 115, 0, 109, 117, 115, 116, 95, 114, 101, - 115, 117, 109, 101, 0, 109, 97, 121, 95, 115, 107, 105, 112, 95, 114, 101, 115, 117, 109, 101, - 0, 115, 117, 115, 112, 101, 110, 100, 95, 116, 105, 109, 101, 114, 0, 116, 105, 109, 101, 114, - 95, 101, 120, 112, 105, 114, 101, 115, 0, 119, 111, 114, 107, 0, 119, 97, 105, 116, 95, 113, - 117, 101, 117, 101, 0, 119, 97, 107, 101, 105, 114, 113, 0, 117, 115, 97, 103, 101, 95, 99, - 111, 117, 110, 116, 0, 99, 104, 105, 108, 100, 95, 99, 111, 117, 110, 116, 0, 100, 105, 115, - 97, 98, 108, 101, 95, 100, 101, 112, 116, 104, 0, 105, 100, 108, 101, 95, 110, 111, 116, 105, - 102, 105, 99, 97, 116, 105, 111, 110, 0, 114, 101, 113, 117, 101, 115, 116, 95, 112, 101, 110, - 100, 105, 110, 103, 0, 100, 101, 102, 101, 114, 114, 101, 100, 95, 114, 101, 115, 117, 109, - 101, 0, 110, 101, 101, 100, 115, 95, 102, 111, 114, 99, 101, 95, 114, 101, 115, 117, 109, 101, - 0, 114, 117, 110, 116, 105, 109, 101, 95, 97, 117, 116, 111, 0, 105, 103, 110, 111, 114, 101, - 95, 99, 104, 105, 108, 100, 114, 101, 110, 0, 110, 111, 95, 99, 97, 108, 108, 98, 97, 99, 107, - 115, 0, 105, 114, 113, 95, 115, 97, 102, 101, 0, 117, 115, 101, 95, 97, 117, 116, 111, 115, - 117, 115, 112, 101, 110, 100, 0, 116, 105, 109, 101, 114, 95, 97, 117, 116, 111, 115, 117, 115, - 112, 101, 110, 100, 115, 0, 109, 101, 109, 97, 108, 108, 111, 99, 95, 110, 111, 105, 111, 0, - 108, 105, 110, 107, 115, 95, 99, 111, 117, 110, 116, 0, 114, 101, 113, 117, 101, 115, 116, 0, - 114, 117, 110, 116, 105, 109, 101, 95, 115, 116, 97, 116, 117, 115, 0, 114, 117, 110, 116, 105, - 109, 101, 95, 101, 114, 114, 111, 114, 0, 97, 117, 116, 111, 115, 117, 115, 112, 101, 110, 100, - 95, 100, 101, 108, 97, 121, 0, 108, 97, 115, 116, 95, 98, 117, 115, 121, 0, 97, 99, 116, 105, - 118, 101, 95, 116, 105, 109, 101, 0, 115, 117, 115, 112, 101, 110, 100, 101, 100, 95, 116, 105, - 109, 101, 0, 97, 99, 99, 111, 117, 110, 116, 105, 110, 103, 95, 116, 105, 109, 101, 115, 116, - 97, 109, 112, 0, 115, 117, 98, 115, 121, 115, 95, 100, 97, 116, 97, 0, 115, 101, 116, 95, 108, - 97, 116, 101, 110, 99, 121, 95, 116, 111, 108, 101, 114, 97, 110, 99, 101, 0, 113, 111, 115, 0, - 112, 109, 95, 109, 101, 115, 115, 97, 103, 101, 95, 116, 0, 112, 109, 95, 109, 101, 115, 115, - 97, 103, 101, 0, 101, 118, 101, 110, 116, 0, 100, 111, 110, 101, 0, 119, 97, 105, 116, 0, 115, - 119, 97, 105, 116, 95, 113, 117, 101, 117, 101, 95, 104, 101, 97, 100, 0, 116, 97, 115, 107, - 95, 108, 105, 115, 116, 0, 104, 114, 116, 105, 109, 101, 114, 0, 110, 111, 100, 101, 0, 95, - 115, 111, 102, 116, 101, 120, 112, 105, 114, 101, 115, 0, 98, 97, 115, 101, 0, 105, 115, 95, - 114, 101, 108, 0, 105, 115, 95, 115, 111, 102, 116, 0, 105, 115, 95, 104, 97, 114, 100, 0, 116, - 105, 109, 101, 114, 113, 117, 101, 117, 101, 95, 110, 111, 100, 101, 0, 95, 95, 114, 98, 95, - 112, 97, 114, 101, 110, 116, 95, 99, 111, 108, 111, 114, 0, 114, 98, 95, 114, 105, 103, 104, - 116, 0, 114, 98, 95, 108, 101, 102, 116, 0, 104, 114, 116, 105, 109, 101, 114, 95, 114, 101, - 115, 116, 97, 114, 116, 0, 72, 82, 84, 73, 77, 69, 82, 95, 78, 79, 82, 69, 83, 84, 65, 82, 84, - 0, 72, 82, 84, 73, 77, 69, 82, 95, 82, 69, 83, 84, 65, 82, 84, 0, 119, 111, 114, 107, 95, 115, - 116, 114, 117, 99, 116, 0, 100, 97, 116, 97, 0, 119, 111, 114, 107, 95, 102, 117, 110, 99, 95, - 116, 0, 114, 112, 109, 95, 114, 101, 113, 117, 101, 115, 116, 0, 82, 80, 77, 95, 82, 69, 81, - 95, 78, 79, 78, 69, 0, 82, 80, 77, 95, 82, 69, 81, 95, 73, 68, 76, 69, 0, 82, 80, 77, 95, 82, - 69, 81, 95, 83, 85, 83, 80, 69, 78, 68, 0, 82, 80, 77, 95, 82, 69, 81, 95, 65, 85, 84, 79, 83, - 85, 83, 80, 69, 78, 68, 0, 82, 80, 77, 95, 82, 69, 81, 95, 82, 69, 83, 85, 77, 69, 0, 114, 112, - 109, 95, 115, 116, 97, 116, 117, 115, 0, 82, 80, 77, 95, 65, 67, 84, 73, 86, 69, 0, 82, 80, 77, - 95, 82, 69, 83, 85, 77, 73, 78, 71, 0, 82, 80, 77, 95, 83, 85, 83, 80, 69, 78, 68, 69, 68, 0, - 82, 80, 77, 95, 83, 85, 83, 80, 69, 78, 68, 73, 78, 71, 0, 115, 51, 50, 0, 100, 101, 118, 95, - 97, 114, 99, 104, 100, 97, 116, 97, 0, 100, 101, 118, 95, 116, 0, 95, 95, 107, 101, 114, 110, - 101, 108, 95, 100, 101, 118, 95, 116, 0, 100, 101, 118, 105, 99, 101, 95, 114, 101, 109, 111, - 118, 97, 98, 108, 101, 0, 68, 69, 86, 73, 67, 69, 95, 82, 69, 77, 79, 86, 65, 66, 76, 69, 95, - 78, 79, 84, 95, 83, 85, 80, 80, 79, 82, 84, 69, 68, 0, 68, 69, 86, 73, 67, 69, 95, 82, 69, 77, - 79, 86, 65, 66, 76, 69, 95, 85, 78, 75, 78, 79, 87, 78, 0, 68, 69, 86, 73, 67, 69, 95, 70, 73, - 88, 69, 68, 0, 68, 69, 86, 73, 67, 69, 95, 82, 69, 77, 79, 86, 65, 66, 76, 69, 0, 110, 101, - 116, 100, 101, 118, 95, 116, 99, 95, 116, 120, 113, 0, 98, 112, 102, 95, 120, 100, 112, 95, - 101, 110, 116, 105, 116, 121, 0, 112, 114, 111, 103, 0, 108, 105, 110, 107, 0, 48, 58, 48, 58, - 48, 58, 49, 58, 48, 0, 32, 32, 32, 32, 66, 80, 70, 95, 67, 79, 82, 69, 95, 82, 69, 65, 68, 95, - 73, 78, 84, 79, 40, 38, 101, 46, 100, 97, 100, 100, 114, 44, 32, 115, 107, 44, 32, 95, 95, 115, - 107, 95, 99, 111, 109, 109, 111, 110, 46, 115, 107, 99, 95, 100, 97, 100, 100, 114, 41, 59, 0, - 48, 58, 48, 58, 50, 58, 49, 58, 48, 0, 32, 32, 32, 32, 66, 80, 70, 95, 67, 79, 82, 69, 95, 82, - 69, 65, 68, 95, 73, 78, 84, 79, 40, 38, 101, 46, 100, 112, 111, 114, 116, 44, 32, 115, 107, 44, - 32, 95, 95, 115, 107, 95, 99, 111, 109, 109, 111, 110, 46, 115, 107, 99, 95, 100, 112, 111, - 114, 116, 41, 59, 0, 48, 58, 48, 58, 48, 58, 49, 58, 49, 0, 32, 32, 32, 32, 66, 80, 70, 95, 67, - 79, 82, 69, 95, 82, 69, 65, 68, 95, 73, 78, 84, 79, 40, 38, 101, 46, 115, 97, 100, 100, 114, - 44, 32, 115, 107, 44, 32, 95, 95, 115, 107, 95, 99, 111, 109, 109, 111, 110, 46, 115, 107, 99, - 95, 114, 99, 118, 95, 115, 97, 100, 100, 114, 41, 59, 0, 105, 110, 101, 116, 95, 115, 111, 99, - 107, 0, 115, 107, 0, 112, 105, 110, 101, 116, 54, 0, 105, 110, 101, 116, 95, 115, 97, 100, 100, - 114, 0, 117, 99, 95, 116, 116, 108, 0, 99, 109, 115, 103, 95, 102, 108, 97, 103, 115, 0, 105, - 110, 101, 116, 95, 115, 112, 111, 114, 116, 0, 105, 110, 101, 116, 95, 105, 100, 0, 105, 110, - 101, 116, 95, 111, 112, 116, 0, 114, 120, 95, 100, 115, 116, 95, 105, 102, 105, 110, 100, 101, - 120, 0, 116, 111, 115, 0, 109, 105, 110, 95, 116, 116, 108, 0, 109, 99, 95, 116, 116, 108, 0, - 112, 109, 116, 117, 100, 105, 115, 99, 0, 114, 101, 99, 118, 101, 114, 114, 0, 105, 115, 95, - 105, 99, 115, 107, 0, 102, 114, 101, 101, 98, 105, 110, 100, 0, 104, 100, 114, 105, 110, 99, - 108, 0, 109, 99, 95, 108, 111, 111, 112, 0, 116, 114, 97, 110, 115, 112, 97, 114, 101, 110, - 116, 0, 109, 99, 95, 97, 108, 108, 0, 110, 111, 100, 101, 102, 114, 97, 103, 0, 98, 105, 110, - 100, 95, 97, 100, 100, 114, 101, 115, 115, 95, 110, 111, 95, 112, 111, 114, 116, 0, 114, 101, - 99, 118, 101, 114, 114, 95, 114, 102, 99, 52, 56, 56, 52, 0, 100, 101, 102, 101, 114, 95, 99, - 111, 110, 110, 101, 99, 116, 0, 114, 99, 118, 95, 116, 111, 115, 0, 99, 111, 110, 118, 101, - 114, 116, 95, 99, 115, 117, 109, 0, 117, 99, 95, 105, 110, 100, 101, 120, 0, 109, 99, 95, 105, - 110, 100, 101, 120, 0, 109, 99, 95, 97, 100, 100, 114, 0, 109, 99, 95, 108, 105, 115, 116, 0, - 99, 111, 114, 107, 0, 105, 110, 101, 116, 95, 99, 111, 114, 107, 95, 102, 117, 108, 108, 0, - 102, 108, 0, 105, 110, 101, 116, 95, 99, 111, 114, 107, 0, 97, 100, 100, 114, 0, 111, 112, 116, - 0, 102, 114, 97, 103, 115, 105, 122, 101, 0, 108, 101, 110, 103, 116, 104, 0, 100, 115, 116, 0, - 116, 120, 95, 102, 108, 97, 103, 115, 0, 116, 116, 108, 0, 103, 115, 111, 95, 115, 105, 122, - 101, 0, 116, 114, 97, 110, 115, 109, 105, 116, 95, 116, 105, 109, 101, 0, 102, 108, 111, 119, - 105, 0, 117, 0, 95, 95, 102, 108, 95, 99, 111, 109, 109, 111, 110, 0, 105, 112, 52, 0, 105, - 112, 54, 0, 100, 110, 0, 102, 108, 111, 119, 105, 95, 99, 111, 109, 109, 111, 110, 0, 102, 108, - 111, 119, 105, 99, 95, 111, 105, 102, 0, 102, 108, 111, 119, 105, 99, 95, 105, 105, 102, 0, - 102, 108, 111, 119, 105, 99, 95, 109, 97, 114, 107, 0, 102, 108, 111, 119, 105, 99, 95, 116, - 111, 115, 0, 102, 108, 111, 119, 105, 99, 95, 115, 99, 111, 112, 101, 0, 102, 108, 111, 119, - 105, 99, 95, 112, 114, 111, 116, 111, 0, 102, 108, 111, 119, 105, 99, 95, 102, 108, 97, 103, - 115, 0, 102, 108, 111, 119, 105, 99, 95, 115, 101, 99, 105, 100, 0, 102, 108, 111, 119, 105, - 99, 95, 117, 105, 100, 0, 102, 108, 111, 119, 105, 99, 95, 116, 117, 110, 95, 107, 101, 121, 0, - 102, 108, 111, 119, 105, 99, 95, 109, 117, 108, 116, 105, 112, 97, 116, 104, 95, 104, 97, 115, - 104, 0, 102, 108, 111, 119, 105, 95, 116, 117, 110, 110, 101, 108, 0, 116, 117, 110, 95, 105, - 100, 0, 95, 95, 98, 101, 54, 52, 0, 102, 108, 111, 119, 105, 52, 0, 117, 108, 105, 0, 102, 108, - 111, 119, 105, 95, 117, 108, 105, 0, 112, 111, 114, 116, 115, 0, 105, 99, 109, 112, 116, 0, - 100, 110, 112, 111, 114, 116, 115, 0, 103, 114, 101, 95, 107, 101, 121, 0, 109, 104, 116, 0, - 99, 111, 100, 101, 0, 95, 95, 108, 101, 49, 54, 0, 102, 108, 111, 119, 105, 54, 0, 102, 108, - 111, 119, 108, 97, 98, 101, 108, 0, 109, 112, 95, 104, 97, 115, 104, 0, 102, 108, 111, 119, - 105, 100, 110, 0, 48, 58, 53, 0, 32, 32, 32, 32, 66, 80, 70, 95, 67, 79, 82, 69, 95, 82, 69, - 65, 68, 95, 73, 78, 84, 79, 40, 38, 101, 46, 115, 112, 111, 114, 116, 44, 32, 105, 110, 101, - 116, 44, 32, 105, 110, 101, 116, 95, 115, 112, 111, 114, 116, 41, 59, 0, 32, 32, 32, 32, 98, - 112, 102, 95, 112, 101, 114, 102, 95, 101, 118, 101, 110, 116, 95, 111, 117, 116, 112, 117, - 116, 40, 99, 116, 120, 44, 32, 38, 101, 118, 101, 110, 116, 115, 44, 32, 66, 80, 70, 95, 70, - 95, 67, 85, 82, 82, 69, 78, 84, 95, 67, 80, 85, 44, 32, 38, 101, 44, 32, 115, 105, 122, 101, - 111, 102, 40, 101, 41, 41, 59, 0, 76, 73, 67, 69, 78, 83, 69, 0, 46, 109, 97, 112, 115, 0, 108, - 105, 99, 101, 110, 115, 101, 0, 81, 100, 105, 115, 99, 0, 97, 116, 116, 114, 105, 98, 117, 116, - 101, 95, 103, 114, 111, 117, 112, 0, 98, 112, 102, 95, 108, 111, 99, 97, 108, 95, 115, 116, - 111, 114, 97, 103, 101, 0, 98, 112, 102, 95, 112, 114, 111, 103, 0, 98, 112, 102, 95, 120, 100, - 112, 95, 108, 105, 110, 107, 0, 98, 117, 115, 95, 100, 109, 97, 95, 114, 101, 103, 105, 111, - 110, 0, 98, 117, 115, 95, 116, 121, 112, 101, 0, 99, 109, 97, 0, 99, 112, 117, 95, 114, 109, - 97, 112, 0, 99, 114, 101, 100, 0, 100, 99, 98, 110, 108, 95, 114, 116, 110, 108, 95, 111, 112, - 115, 0, 100, 101, 118, 95, 105, 102, 97, 108, 105, 97, 115, 0, 100, 101, 118, 95, 105, 111, - 109, 109, 117, 0, 100, 101, 118, 95, 112, 105, 110, 95, 105, 110, 102, 111, 0, 100, 101, 118, - 95, 112, 109, 95, 100, 111, 109, 97, 105, 110, 0, 100, 101, 118, 95, 112, 109, 95, 113, 111, - 115, 0, 100, 101, 118, 105, 99, 101, 95, 100, 109, 97, 95, 112, 97, 114, 97, 109, 101, 116, - 101, 114, 115, 0, 100, 101, 118, 105, 99, 101, 95, 100, 114, 105, 118, 101, 114, 0, 100, 101, - 118, 105, 99, 101, 95, 110, 111, 100, 101, 0, 100, 101, 118, 105, 99, 101, 95, 112, 114, 105, - 118, 97, 116, 101, 0, 100, 101, 118, 105, 99, 101, 95, 116, 121, 112, 101, 0, 100, 109, 97, 95, - 109, 97, 112, 95, 111, 112, 115, 0, 100, 115, 97, 95, 112, 111, 114, 116, 0, 100, 115, 116, 95, - 101, 110, 116, 114, 121, 0, 101, 109, 95, 112, 101, 114, 102, 95, 100, 111, 109, 97, 105, 110, - 0, 102, 119, 110, 111, 100, 101, 95, 104, 97, 110, 100, 108, 101, 0, 104, 114, 116, 105, 109, - 101, 114, 95, 99, 108, 111, 99, 107, 95, 98, 97, 115, 101, 0, 105, 110, 95, 100, 101, 118, 105, - 99, 101, 0, 105, 110, 101, 116, 54, 95, 100, 101, 118, 0, 105, 110, 101, 116, 95, 116, 105, - 109, 101, 119, 97, 105, 116, 95, 100, 101, 97, 116, 104, 95, 114, 111, 119, 0, 105, 111, 95, - 116, 108, 98, 95, 109, 101, 109, 0, 105, 112, 95, 109, 99, 95, 115, 111, 99, 107, 108, 105, - 115, 116, 0, 105, 112, 95, 111, 112, 116, 105, 111, 110, 115, 0, 105, 112, 95, 111, 112, 116, - 105, 111, 110, 115, 95, 114, 99, 117, 0, 105, 112, 118, 54, 95, 112, 105, 110, 102, 111, 0, - 105, 114, 113, 95, 100, 111, 109, 97, 105, 110, 0, 105, 119, 95, 104, 97, 110, 100, 108, 101, - 114, 95, 100, 101, 102, 0, 105, 119, 95, 112, 117, 98, 108, 105, 99, 95, 100, 97, 116, 97, 0, - 107, 101, 114, 110, 102, 115, 95, 110, 111, 100, 101, 0, 107, 111, 98, 106, 95, 116, 121, 112, - 101, 0, 108, 111, 99, 107, 95, 99, 108, 97, 115, 115, 95, 107, 101, 121, 0, 109, 101, 109, 95, - 99, 103, 114, 111, 117, 112, 0, 109, 105, 110, 105, 95, 81, 100, 105, 115, 99, 0, 110, 101, - 116, 95, 100, 101, 118, 105, 99, 101, 95, 111, 112, 115, 0, 110, 101, 116, 100, 101, 118, 95, - 110, 97, 109, 101, 95, 110, 111, 100, 101, 0, 110, 101, 116, 100, 101, 118, 95, 113, 117, 101, - 117, 101, 0, 110, 101, 116, 100, 101, 118, 95, 114, 120, 95, 113, 117, 101, 117, 101, 0, 110, - 101, 116, 112, 111, 108, 108, 95, 105, 110, 102, 111, 0, 110, 101, 116, 112, 114, 105, 111, 95, - 109, 97, 112, 0, 110, 102, 95, 104, 111, 111, 107, 95, 101, 110, 116, 114, 105, 101, 115, 0, - 112, 99, 112, 117, 95, 108, 115, 116, 97, 116, 115, 0, 112, 99, 112, 117, 95, 115, 119, 95, - 110, 101, 116, 115, 116, 97, 116, 115, 0, 112, 104, 121, 95, 100, 101, 118, 105, 99, 101, 0, - 112, 105, 100, 0, 112, 109, 95, 115, 117, 98, 115, 121, 115, 95, 100, 97, 116, 97, 0, 115, 107, - 95, 98, 117, 102, 102, 0, 115, 111, 99, 107, 95, 114, 101, 117, 115, 101, 112, 111, 114, 116, - 0, 115, 111, 99, 107, 101, 116, 0, 115, 111, 99, 107, 101, 116, 95, 119, 113, 0, 119, 97, 107, - 101, 95, 105, 114, 113, 0, 119, 97, 107, 101, 117, 112, 95, 115, 111, 117, 114, 99, 101, 0, - 119, 105, 114, 101, 108, 101, 115, 115, 95, 100, 101, 118, 0, 119, 112, 97, 110, 95, 100, 101, - 118, 0, 120, 100, 112, 95, 100, 101, 118, 95, 98, 117, 108, 107, 95, 113, 117, 101, 117, 101, - 0, 120, 102, 114, 109, 95, 115, 101, 99, 95, 99, 116, 120, 0, 159, 235, 1, 0, 32, 0, 0, 0, 0, - 0, 0, 0, 20, 0, 0, 0, 20, 0, 0, 0, 236, 0, 0, 0, 0, 1, 0, 0, 92, 0, 0, 0, 8, 0, 0, 0, 176, 0, - 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 16, 0, 0, 0, 176, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, - 195, 0, 0, 0, 249, 0, 0, 0, 0, 68, 0, 0, 8, 0, 0, 0, 195, 0, 0, 0, 249, 0, 0, 0, 5, 68, 0, 0, - 16, 0, 0, 0, 195, 0, 0, 0, 43, 1, 0, 0, 13, 88, 0, 0, 24, 0, 0, 0, 195, 0, 0, 0, 43, 1, 0, 0, - 40, 88, 0, 0, 32, 0, 0, 0, 195, 0, 0, 0, 43, 1, 0, 0, 11, 88, 0, 0, 40, 0, 0, 0, 195, 0, 0, 0, - 89, 1, 0, 0, 26, 92, 0, 0, 56, 0, 0, 0, 195, 0, 0, 0, 89, 1, 0, 0, 5, 92, 0, 0, 96, 0, 0, 0, - 195, 0, 0, 0, 107, 32, 0, 0, 5, 96, 0, 0, 152, 0, 0, 0, 195, 0, 0, 0, 178, 32, 0, 0, 5, 100, 0, - 0, 208, 0, 0, 0, 195, 0, 0, 0, 249, 32, 0, 0, 5, 104, 0, 0, 0, 1, 0, 0, 195, 0, 0, 0, 1, 36, 0, - 0, 5, 108, 0, 0, 48, 1, 0, 0, 195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 1, 0, 0, 195, 0, 0, 0, - 53, 36, 0, 0, 5, 116, 0, 0, 112, 1, 0, 0, 195, 0, 0, 0, 249, 0, 0, 0, 5, 68, 0, 0, 16, 0, 0, 0, - 176, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 38, 1, 0, 0, 0, 0, 0, 0, 72, 0, 0, 0, 12, 0, - 0, 0, 97, 32, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 12, 0, 0, 0, 168, 32, 0, 0, 0, 0, 0, 0, 184, 0, - 0, 0, 12, 0, 0, 0, 239, 32, 0, 0, 0, 0, 0, 0, 240, 0, 0, 0, 75, 1, 0, 0, 253, 35, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 1, 122, 82, 0, 8, 124, 11, 1, 12, 0, 0, 0, 24, - 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 211, 0, 0, - 0, 4, 0, 122, 0, 0, 0, 8, 1, 1, 251, 14, 13, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 46, 47, 115, - 114, 99, 47, 98, 112, 102, 0, 47, 116, 109, 112, 47, 46, 116, 109, 112, 100, 54, 105, 116, 83, - 53, 47, 98, 112, 102, 47, 115, 114, 99, 47, 98, 112, 102, 0, 0, 101, 120, 97, 109, 112, 108, - 101, 46, 98, 112, 102, 46, 99, 0, 1, 0, 0, 118, 109, 108, 105, 110, 117, 120, 46, 104, 0, 1, 0, - 0, 98, 112, 102, 95, 104, 101, 108, 112, 101, 114, 95, 100, 101, 102, 115, 46, 104, 0, 2, 0, 0, - 101, 120, 97, 109, 112, 108, 101, 46, 104, 0, 1, 0, 0, 0, 0, 9, 2, 0, 0, 0, 0, 0, 0, 0, 0, 3, - 16, 1, 5, 5, 10, 32, 5, 13, 37, 5, 40, 6, 32, 5, 11, 32, 5, 26, 6, 33, 5, 5, 6, 46, 3, 105, 46, - 6, 3, 24, 60, 6, 3, 104, 74, 6, 3, 25, 60, 6, 3, 103, 74, 6, 3, 26, 60, 6, 3, 102, 74, 6, 3, - 27, 46, 6, 3, 101, 88, 6, 3, 29, 46, 3, 116, 116, 2, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 174, 0, 0, 0, 4, 0, 241, 255, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 120, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 160, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 165, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 178, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 214, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 237, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 8, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 17, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 30, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 36, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 58, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 80, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 102, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 119, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 138, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 155, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 176, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 193, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 207, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 225, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 245, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 8, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 30, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 43, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 59, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 81, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 96, 2, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 120, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 140, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 160, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 177, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 196, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 218, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 235, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 254, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 21, 3, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 45, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 65, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 82, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 98, 3, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 116, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 139, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 164, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 175, - 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 187, 3, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 199, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 211, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 227, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 253, 3, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 18, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 35, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 45, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 67, - 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 88, 4, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 110, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 128, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 156, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 176, 4, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 191, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 209, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 225, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 244, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 7, 5, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 27, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 46, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 64, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 81, 5, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 95, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 108, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 131, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 157, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 181, 5, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 192, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 209, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 224, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 244, 5, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 5, 6, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 18, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 36, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 52, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 68, 6, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 81, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 94, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 110, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 130, 6, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 145, 6, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 157, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 168, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 181, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 195, 6, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 210, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 221, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 240, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 251, 6, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 6, 7, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 18, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 44, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 73, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 98, 7, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 123, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 140, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 160, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 173, 7, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 186, 7, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 204, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 219, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 236, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 3, 8, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 22, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 46, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 63, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 78, 8, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 100, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 127, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 145, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 164, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 185, 8, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 211, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 235, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 6, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 34, 9, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 58, 9, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 83, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 105, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 120, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 142, 9, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 163, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 184, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 209, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 227, 9, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 250, 9, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 18, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 45, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 60, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 73, 10, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 86, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 95, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 107, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 123, - 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 133, 10, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 151, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 165, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 181, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 190, 10, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 209, 10, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 240, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 9, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 22, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 39, 11, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 56, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 77, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 105, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 126, 11, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 150, 11, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 174, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 199, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 217, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 242, 11, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 11, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 37, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 58, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 80, - 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 103, 12, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 126, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 147, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 175, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 196, 12, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 225, 12, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 28, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 53, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 80, 13, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 109, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 137, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 175, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 204, 13, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 226, 13, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 251, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 13, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 31, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 55, 14, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 77, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 91, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 115, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 138, - 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 166, 14, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 186, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 211, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 237, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 255, 14, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 18, 15, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 40, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 62, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 87, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 112, 15, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 139, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 166, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 190, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 214, 15, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 229, 15, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 248, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 10, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 34, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 58, 16, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 80, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 102, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 119, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 136, - 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 152, 16, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 170, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 182, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 197, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 226, 16, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 255, 16, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 28, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 57, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 72, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 101, 17, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 116, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 130, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 138, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 157, 17, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 181, 17, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 216, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 231, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 253, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 13, 18, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 22, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 35, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 46, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 63, - 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 80, 18, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 105, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 118, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 137, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 151, 18, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 169, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 186, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 200, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 222, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 241, 18, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 12, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 28, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 52, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 69, 19, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 85, 19, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 99, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 121, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 132, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 151, 19, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 169, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 195, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 211, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 235, - 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 20, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 12, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 27, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 46, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 59, 20, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 71, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 80, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 101, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 130, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 156, 20, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 184, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 215, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 244, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 14, 21, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 47, 21, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 72, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 90, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 106, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 119, 21, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 137, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 156, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 177, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 205, - 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 234, 21, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 249, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 16, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 38, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 53, 22, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 76, 22, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 91, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 114, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 127, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 148, 22, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 171, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 186, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 202, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 220, 22, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 246, 22, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 8, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 29, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 58, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 87, 23, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 117, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 142, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 158, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 183, - 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 204, 23, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 221, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 240, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 253, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 13, 24, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 38, 24, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 63, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 88, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 108, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 130, 24, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 152, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 177, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 207, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 232, 24, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 1, 25, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 26, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 45, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 69, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 99, 25, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 128, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 154, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 182, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 205, - 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 227, 25, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 255, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 27, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 52, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 70, 26, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 95, 26, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 122, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 146, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 167, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 186, 26, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 214, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 242, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 12, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 37, 27, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 63, 27, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 88, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 114, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 140, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 175, 27, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 200, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 223, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 244, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 14, - 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 40, 28, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 65, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 90, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 114, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 141, 28, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 165, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 183, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 203, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 228, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 250, 28, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 19, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 44, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 69, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 100, 29, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 130, 29, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 150, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 175, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 206, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 232, 29, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 1, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 25, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 48, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 62, - 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 87, 30, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 115, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 134, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 167, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 187, 30, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 213, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 240, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 10, 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 34, - 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 64, 31, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 93, 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 118, 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 137, 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 157, 31, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 180, 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 211, 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 238, 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 11, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 43, 32, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 66, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 89, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 109, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 132, 32, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 154, 32, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 177, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 200, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 222, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 246, 32, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 9, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 30, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 51, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 69, - 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 93, 33, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 120, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 144, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 173, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 198, 33, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 232, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 6, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 36, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 52, - 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 69, 34, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 93, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 120, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 141, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 168, 34, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 188, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 213, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 240, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 13, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 44, 35, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 66, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 94, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 113, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 142, 35, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 175, 35, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 195, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 221, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 5, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 24, 36, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 51, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 71, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 90, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 112, 36, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 143, 36, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 167, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 192, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 216, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 241, 36, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 8, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 28, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 54, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 79, - 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 113, 37, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 146, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 172, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 196, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 218, 37, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 241, 37, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 10, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 37, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 67, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 83, 38, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 107, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 129, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 153, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 181, 38, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 205, 38, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 226, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 248, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 15, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 41, 39, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 70, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 100, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 123, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 152, - 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 176, 39, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 200, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 219, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 246, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 8, 40, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 25, 40, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 56, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 75, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 95, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 123, 40, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 144, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 166, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 187, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 214, 40, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 236, 40, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 254, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 10, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 19, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 29, 41, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 45, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 59, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 75, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 91, - 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 105, 41, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 122, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 136, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 153, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 173, 41, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 191, 41, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 210, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 234, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 8, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 33, 42, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 59, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 84, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 110, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 132, 42, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 161, 42, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 183, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 210, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 236, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 43, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 21, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 41, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 61, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 83, 43, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 111, 43, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 144, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 179, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 198, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 217, 43, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 241, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 10, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 34, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 55, - 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 82, 44, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 108, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 121, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 131, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 146, 44, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 158, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 175, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 184, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 195, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 207, 44, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 220, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 232, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 247, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 1, 45, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 17, 45, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 30, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 45, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 55, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 73, 45, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 95, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 117, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 131, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 150, - 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 169, 45, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 182, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 206, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 227, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 248, 45, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 9, 46, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 25, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 42, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 58, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 70, 46, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 90, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 112, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 139, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 168, 46, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 195, 46, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 224, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 253, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 30, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 60, 47, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 91, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 110, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 125, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 144, - 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 160, 47, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 174, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 191, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 213, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 229, 47, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 248, 47, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 13, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 29, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 44, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 63, 48, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 82, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 102, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 120, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 139, 48, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 159, 48, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 179, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 201, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 213, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 232, 48, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 251, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 15, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 34, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 48, - 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 63, 49, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 81, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 103, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 124, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 143, 49, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 162, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 200, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 241, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 18, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 47, 50, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 83, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 117, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 145, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 171, 50, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 193, 50, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 221, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 251, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 22, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 47, 51, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 68, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 93, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 116, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 138, - 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 159, 51, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 177, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 206, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 234, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 255, 51, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 32, 52, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 66, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 92, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 124, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 157, 52, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 184, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 207, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 235, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 5, 53, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 23, 53, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 48, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 73, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 100, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 120, 53, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 150, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 175, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 200, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 228, - 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 54, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 29, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 57, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 85, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 106, 54, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 137, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 166, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 188, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 221, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 254, 54, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 22, 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 45, 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 68, 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 86, 55, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 104, 55, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 118, 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 134, 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 149, 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 162, 55, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 183, 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 187, 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 192, 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 202, - 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 208, 55, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 213, 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 219, 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 230, 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 235, 55, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 240, 55, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 250, 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 11, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 19, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 27, 56, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 32, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 46, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 58, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 66, 56, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 84, 56, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 94, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 104, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 110, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 119, 56, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 129, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 140, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 151, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 161, - 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 176, 56, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 185, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 191, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 197, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 203, 56, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 214, 56, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 225, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 234, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 245, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 254, 56, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 7, 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 22, 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 34, 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 46, 57, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 53, 57, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 71, 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 80, 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 88, 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 96, 57, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 99, 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 111, 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 124, 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 135, - 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 145, 57, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 152, 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 166, 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 175, 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 189, 57, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 204, 57, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 210, 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 223, 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 234, 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 244, 57, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 251, 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 3, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 14, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 24, 58, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 38, 58, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 48, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 62, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 75, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 90, 58, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 107, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 121, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 139, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 148, - 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 154, 58, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 166, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 176, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 197, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 209, 58, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 217, 58, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 226, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 234, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 245, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 252, 58, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 2, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 7, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 13, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 18, 59, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 26, 59, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 35, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 46, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 53, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 58, 59, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 68, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 78, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 89, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 99, - 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 112, 59, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 120, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 129, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 141, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 150, 59, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 160, 59, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 165, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 168, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 180, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 191, 59, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 208, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 224, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 231, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 237, 59, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 241, 59, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 250, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 2, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 8, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 13, 60, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 18, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 26, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 30, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 38, 60, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 43, 60, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 50, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 58, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 68, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 74, 60, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 78, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 95, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 101, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 108, - 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 114, 60, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 131, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 137, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 144, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 152, 60, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 158, 60, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 169, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 174, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 182, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 191, 60, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 207, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 218, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 224, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 232, 60, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 242, 60, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 248, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 254, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 5, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 11, 61, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 17, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 33, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 43, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 57, 61, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 62, 61, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 69, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 77, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 83, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 92, 61, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 101, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 112, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 130, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 150, - 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 157, 61, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 171, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 180, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 187, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 192, 61, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 196, 61, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 200, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 209, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 213, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 218, 61, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 226, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 234, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 244, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 255, 61, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 4, 62, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 10, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 19, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 26, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 34, 62, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 49, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 53, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 58, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 68, - 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 84, 62, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 97, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 106, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 117, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 125, 62, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 130, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 143, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 161, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 171, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 180, 62, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 187, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 197, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 205, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 212, 62, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 220, 62, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 232, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 241, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 248, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 255, 62, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 5, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 20, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 26, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 43, - 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 55, 63, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 66, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 80, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 96, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 103, 63, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 110, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 119, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 135, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 139, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 144, 63, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 148, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 160, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 164, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 171, 63, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 176, 63, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 181, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 188, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 194, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 203, 63, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 210, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 214, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 219, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 223, - 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 227, 63, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 232, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 237, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 242, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 252, 63, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 18, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 31, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 43, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 46, 64, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 56, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 64, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 71, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 86, 64, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 95, 64, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 107, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 119, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 125, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 134, 64, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 139, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 143, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 152, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 163, - 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 174, 64, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 181, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 185, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 192, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 197, 64, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 205, 64, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 210, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 216, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 225, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 231, 64, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 236, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 242, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 249, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 254, 64, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 8, 65, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 19, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 26, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 33, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 38, 65, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 43, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 52, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 56, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 63, - 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 79, 65, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 95, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 101, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 109, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 119, 65, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 124, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 140, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 157, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 165, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 175, 65, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 181, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 195, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 210, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 221, 65, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 236, 65, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 241, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 246, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 254, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 8, 66, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 13, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 19, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 24, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 33, - 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 40, 66, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 48, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 56, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 62, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 77, 66, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 83, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 89, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 97, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 113, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 131, 66, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 141, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 158, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 175, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 199, 66, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 209, 66, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 224, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 228, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 237, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 243, 66, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 4, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 13, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 22, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 37, - 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 43, 67, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 47, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 58, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 72, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 82, 67, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 98, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 108, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 112, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 134, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 144, 67, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 159, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 169, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 182, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 189, 67, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 201, 67, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 212, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 221, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 231, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 241, 67, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 249, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 1, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 10, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 20, - 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 38, 68, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 47, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 58, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 67, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 78, 68, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 87, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 97, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 101, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 113, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 123, 68, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 131, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 141, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 149, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 160, 68, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 169, 68, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 181, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 188, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 191, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 198, 68, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 210, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 214, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 224, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 227, - 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 229, 68, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 236, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 248, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 5, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 16, 69, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 35, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 46, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 58, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 63, - 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 69, 69, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 74, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 79, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 84, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 89, 69, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 95, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 101, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 112, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 128, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 142, 69, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 156, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 165, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 177, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 189, 69, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 205, 69, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 212, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 218, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 222, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 230, 69, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 243, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 2, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 14, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 23, - 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 27, 70, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 33, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 44, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 58, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 66, 70, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 72, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 84, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 95, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 103, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 118, 70, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 130, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 140, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 158, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 171, 70, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 176, 70, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 182, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 190, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 195, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 211, 70, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 229, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 237, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 247, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 1, - 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 11, 71, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 24, 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 32, 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 40, 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 46, 71, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 56, 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 66, 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 77, 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 86, - 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 101, 71, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 109, 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 114, 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 122, 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 131, 71, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 139, 71, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 153, 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 162, 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 168, 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 174, 71, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 182, 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 190, 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 197, 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 211, 71, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 226, 71, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 231, 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 236, 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 243, 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 251, 71, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 5, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 9, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 29, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 41, - 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 49, 72, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 63, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 72, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 87, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 101, 72, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 111, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 124, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 135, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 145, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 154, 72, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 160, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 168, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 175, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 181, 72, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 197, 72, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 209, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 221, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 237, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 245, 72, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 251, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 8, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 17, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 22, - 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 31, 73, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 40, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 48, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 59, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 70, 73, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 80, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 83, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 89, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 93, - 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 98, 73, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 108, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 114, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 121, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 128, 73, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 136, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 145, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 154, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 161, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 170, 73, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 181, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 194, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 199, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 208, 73, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 219, 73, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 228, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 236, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 246, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 255, 73, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 4, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 6, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 18, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 34, - 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 43, 74, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 60, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 72, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 80, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 90, 74, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 95, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 107, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 129, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 143, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 155, 74, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 162, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 177, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 181, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 190, 74, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 200, 74, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 212, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 227, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 238, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 245, 74, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 254, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 3, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 13, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 19, - 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 28, 75, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 31, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 37, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 42, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 57, 75, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 68, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 77, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 89, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 109, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 128, 75, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 134, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 159, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 167, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 183, 75, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 194, 75, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 203, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 213, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 218, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 225, 75, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 233, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 241, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 4, 76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 18, 76, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 32, 76, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 45, 76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 58, 76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 71, 76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 89, 76, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 101, 76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 123, 76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 128, 76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 139, - 76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 154, 76, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 163, 76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 174, 76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 182, 76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 190, 76, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 208, 76, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 217, 76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 227, 76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 232, 76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 237, 76, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 253, 76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 15, 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 27, 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 41, 77, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 57, 77, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 72, 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 89, 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 97, 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 105, 77, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 116, 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 123, 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 135, 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 150, - 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 158, 77, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 166, 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 178, 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 186, 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 197, 77, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 203, 77, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 209, 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 212, 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 220, 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 233, 77, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 245, 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 2, 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 9, 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 17, 78, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 23, 78, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 30, 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 37, 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 48, 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 54, 78, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 62, 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 70, 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 74, 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 78, 78, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 97, 78, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 101, 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 113, 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 133, 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 144, 78, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 160, 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 169, 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 175, 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 180, - 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 192, 78, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 204, 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 216, 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 228, 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 243, 78, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 79, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 7, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 18, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 34, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 55, 79, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 71, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 101, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 118, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 127, 79, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 143, 79, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 162, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 181, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 199, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 210, 79, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 223, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 235, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 242, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 248, - 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 255, 79, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 5, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 19, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 29, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 42, 80, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 46, 80, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 51, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 58, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 69, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 81, 80, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 94, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 112, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 123, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 136, 80, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 150, 80, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 166, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 181, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 193, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 208, 80, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 213, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 222, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 233, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 244, - 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 5, 81, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 14, 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 36, 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 50, 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 61, 81, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 72, 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 81, 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 92, 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 101, 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 114, 81, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 125, 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 137, 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 147, 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 165, 81, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 177, 81, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 187, 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 196, 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 206, 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 225, 81, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 253, 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 26, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 51, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 72, - 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 83, 82, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 99, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 118, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 135, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 153, 82, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 171, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 198, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 217, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 233, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 250, 82, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 7, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 12, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 28, 83, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 32, 83, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 49, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 58, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 71, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 80, 83, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 95, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 104, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 117, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 126, - 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 135, 83, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 144, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 149, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 159, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 172, 83, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 177, 83, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 182, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 197, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 200, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 220, 83, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 230, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 248, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 255, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 18, 84, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 30, 84, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 33, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 41, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 58, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 61, 84, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 65, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 72, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 77, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 87, - 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 102, 84, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 123, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 139, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 158, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 187, 84, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 218, 84, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 239, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 242, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 249, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 252, 84, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 8, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 17, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 25, 85, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 32, 85, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 40, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 49, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 55, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 63, 85, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 70, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 79, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 88, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 92, - 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 108, 85, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 120, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 132, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 145, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 151, 85, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 157, 85, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 164, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 174, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 193, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 200, 85, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 217, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 229, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 233, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 249, 85, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 1, 86, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 11, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 31, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 36, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 41, 86, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 56, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 62, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 75, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 92, - 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 100, 86, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 109, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 116, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 126, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 133, 86, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 142, 86, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 148, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 159, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 168, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 174, 86, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 182, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 186, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 195, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 201, 86, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 205, 86, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 214, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 220, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 229, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 233, 86, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 242, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 248, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 1, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 10, 87, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 14, 87, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 27, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 37, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 46, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 57, 87, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 67, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 76, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 89, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 101, - 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 108, 87, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 119, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 125, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 130, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 141, 87, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 143, 87, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 163, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 177, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 187, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 198, 87, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 216, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 237, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 254, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 7, 88, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 17, 88, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 26, 88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 35, 88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 44, 88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 49, 88, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 58, 88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 65, 88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 81, 88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 86, - 88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 104, 88, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 115, 88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 132, 88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 144, 88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 161, 88, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 167, 88, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 174, 88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 181, 88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 190, 88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 197, 88, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 205, 88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 216, 88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 225, 88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 234, 88, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 241, 88, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 255, 88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 14, 89, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 30, 89, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 44, 89, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 56, 89, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 67, 89, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 79, 89, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 92, - 89, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 100, 89, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 109, 89, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 120, 89, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 132, 89, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 144, 89, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 160, 89, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 176, 89, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 196, 89, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 216, 89, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 223, 89, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 231, 89, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 243, 89, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 0, 90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 5, 90, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 30, 90, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 39, 90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 49, 90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 68, 90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 80, 90, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 91, 90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 99, 90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 108, 90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 121, 90, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 131, 90, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 137, 90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 152, 90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 158, 90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 166, 90, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 172, 90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 178, 90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 191, 90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 208, - 90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 219, 90, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 236, 90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 249, 90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 10, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 25, 91, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 38, 91, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 47, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 61, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 75, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 94, 91, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 106, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 118, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 122, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 132, 91, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 137, 91, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 141, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 152, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 158, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 170, 91, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 181, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 195, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 205, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 221, - 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 237, 91, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 247, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 252, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 2, 92, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 5, 92, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 10, 92, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 21, 92, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 33, 92, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 50, - 92, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 64, 92, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 69, 92, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 74, 92, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 84, 92, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 101, 92, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 112, 92, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 123, 92, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 137, 92, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 154, 92, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 162, 92, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 170, 92, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 177, 92, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 190, 92, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 203, 92, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 215, 92, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 220, 92, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 232, 92, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 241, 92, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 252, 92, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 4, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 14, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 25, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 38, - 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 48, 93, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 56, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 64, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 82, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 93, 93, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 96, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 100, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 106, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 111, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 119, 93, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 133, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 141, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 157, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 167, 93, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 179, 93, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 192, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 202, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 213, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 228, 93, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 238, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 250, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 15, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 30, - 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 44, 94, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 54, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 59, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 71, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 80, 94, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 90, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 100, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 107, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 119, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 136, 94, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 150, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 158, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 165, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 180, 94, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 187, 94, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 194, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 202, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 209, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 215, 94, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 226, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 230, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 236, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 249, - 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 6, 95, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 16, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 28, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 43, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 56, 95, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 60, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 69, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 78, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 89, - 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 100, 95, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 111, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 117, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 123, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 134, 95, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 141, 95, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 148, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 156, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 164, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 175, 95, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 188, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 195, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 202, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 216, 95, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 219, 95, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 227, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 236, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 243, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 248, 95, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 1, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 9, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 22, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 35, - 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 47, 96, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 58, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 72, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 86, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 100, 96, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 113, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 126, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 137, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 152, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 166, 96, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 182, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 197, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 210, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 221, 96, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 231, 96, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 239, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 252, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 10, 97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 18, 97, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 40, 97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 54, 97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 63, 97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 78, - 97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 89, 97, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 102, 97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 117, 97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 139, 97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 151, 97, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 157, 97, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 174, 97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 181, 97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 193, 97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 207, 97, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 215, 97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 225, 97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 239, 97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 98, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 3, 98, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 11, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 20, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 26, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 40, 98, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 48, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 67, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 87, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 94, - 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 101, 98, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 108, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 113, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 121, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 132, 98, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 138, 98, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 143, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 157, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 169, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 176, 98, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 192, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 204, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 213, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 227, 98, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 238, 98, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 254, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 7, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 19, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 30, 99, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 42, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 51, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 65, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 75, - 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 92, 99, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 105, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 117, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 128, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 139, 99, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 143, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 155, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 161, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 165, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 172, 99, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 181, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 188, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 207, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 219, 99, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 235, 99, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 250, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 5, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 18, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 31, 100, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 38, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 48, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 68, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 90, - 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 107, 100, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 131, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 158, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 167, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 183, - 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 194, 100, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 214, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 235, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 254, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 4, - 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 9, 101, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 31, 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 55, 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 81, 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 103, 101, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 124, 101, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 129, 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 142, 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 158, 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 168, - 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 186, 101, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 196, 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 206, 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 220, 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 233, - 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 248, 101, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 7, 102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 20, 102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 33, 102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 41, 102, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 50, 102, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 56, 102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 70, 102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 84, 102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 93, 102, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 108, 102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 131, 102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 142, 102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 161, 102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 176, 102, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 183, 102, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 195, 102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 210, 102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 229, 102, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 246, 102, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 7, 103, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 25, 103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 32, 103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 37, 103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 55, 103, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 64, 103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 67, 103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 75, 103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 85, 103, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 96, 103, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 105, 103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 115, 103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 121, 103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 129, 103, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 136, 103, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 148, 103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 159, 103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 175, 103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 194, - 103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 207, 103, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 224, 103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 240, 103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 1, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 16, - 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 31, 104, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 45, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 54, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 64, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 75, 104, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 89, 104, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 103, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 111, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 118, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 124, 104, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 129, 104, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 140, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 166, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 170, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 176, 104, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 189, 104, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 214, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 223, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 235, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 253, - 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 3, 105, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 11, 105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 16, 105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 36, 105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 53, 105, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 59, 105, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 71, 105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 77, 105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 88, 105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 95, 105, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 116, 105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 126, 105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 139, 105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 151, 105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 171, 105, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 199, 105, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 215, 105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 222, 105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 233, 105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 238, 105, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 245, 105, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 252, 105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 3, 106, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 7, 106, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 11, 106, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 15, 106, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 42, 106, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 65, 106, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 83, - 106, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 99, 106, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 112, 106, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 123, 106, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 136, 106, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 150, - 106, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 164, 106, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 177, 106, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 195, 106, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 205, 106, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 211, - 106, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 224, 106, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 233, 106, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 244, 106, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 252, 106, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 10, - 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 22, 107, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 35, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 43, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 61, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 77, 107, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 88, 107, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 99, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 107, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 131, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 141, 107, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 155, 107, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 170, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 179, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 196, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 205, 107, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 214, 107, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 234, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 249, 107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 4, 108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 17, 108, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 34, 108, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 46, 108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 61, 108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 65, 108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 73, 108, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 88, 108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 95, 108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 104, 108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 111, - 108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 126, 108, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 140, 108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 162, 108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 169, 108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 174, - 108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 189, 108, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 199, 108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 211, 108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 225, 108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 231, - 108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 242, 108, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 1, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 7, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 19, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 30, 109, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 44, 109, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 56, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 68, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 81, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 100, 109, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 118, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 124, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 135, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 151, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 164, 109, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 171, 109, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 179, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 183, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 192, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 206, 109, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 217, 109, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 225, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 234, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 244, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 7, 110, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 26, 110, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 38, 110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 51, 110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 63, 110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 76, 110, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 89, 110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 107, 110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 121, 110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 133, - 110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 141, 110, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 157, 110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 169, 110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 185, 110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 199, - 110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 215, 110, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 228, 110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 233, 110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 242, 110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 255, - 110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 17, 111, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 29, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 39, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 53, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 71, 111, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 81, 111, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 92, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 101, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 115, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 128, 111, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 139, 111, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 160, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 179, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 190, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 207, 111, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 215, 111, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 234, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 244, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 10, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 34, 112, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 42, 112, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 58, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 67, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 86, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 93, 112, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 101, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 109, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 117, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 128, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 140, 112, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 152, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 166, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 184, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 200, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 216, 112, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 235, 112, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 248, 112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 8, 113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 21, 113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 30, 113, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 46, 113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 65, 113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 79, 113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 91, - 113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 99, 113, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 114, 113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 128, 113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 146, 113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 156, - 113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 168, 113, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 183, 113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 204, 113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 216, 113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 237, - 113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 249, 113, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 4, 114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 16, 114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 31, 114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 46, 114, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 68, 114, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 72, 114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 87, 114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 97, 114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 108, 114, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 121, 114, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 135, 114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 155, 114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 165, 114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 184, 114, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 202, 114, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 207, 114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 216, 114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 235, 114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 244, 114, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 7, 115, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 24, 115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 40, 115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 53, 115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 72, 115, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 78, 115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 88, 115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 99, 115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 103, - 115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 124, 115, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 141, 115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 160, 115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 182, 115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 192, - 115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 203, 115, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 215, 115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 225, 115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 232, 115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 241, - 115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 246, 115, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 254, 115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 12, 116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 18, 116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 24, 116, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 34, 116, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 39, 116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 53, 116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 68, 116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 79, 116, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 84, 116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 99, 116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 110, 116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 117, - 116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 129, 116, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 135, 116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 146, 116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 162, 116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 168, - 116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 174, 116, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 179, 116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 185, 116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 192, 116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 212, - 116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 225, 116, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 234, 116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 244, 116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 248, 116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 3, - 117, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 16, 117, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 27, 117, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 45, 117, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 59, 117, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 70, 117, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 87, 117, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 98, 117, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 111, 117, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 127, 117, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 141, 117, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 162, 117, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 174, 117, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 190, 117, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 208, 117, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 224, 117, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 247, 117, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 2, 118, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 15, 118, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 24, 118, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 36, 118, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 52, 118, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 75, 118, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 85, 118, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 92, - 118, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 106, 118, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 117, 118, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 126, 118, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 141, 118, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 154, - 118, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 174, 118, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 182, 118, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 191, 118, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 202, 118, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 220, - 118, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 233, 118, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 247, 118, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 10, 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 19, 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 29, 119, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 40, 119, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 48, 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 57, 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 67, 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 76, 119, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 82, 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 93, 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 102, 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 114, - 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 123, 119, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 133, 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 142, 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 156, 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 166, - 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 181, 119, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 185, 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 191, 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 198, 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 202, - 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 208, 119, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 226, 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 229, 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 235, 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 241, - 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 255, 119, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 14, 120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 31, 120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 41, 120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 61, 120, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 84, 120, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 94, 120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 112, 120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 119, 120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 135, 120, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 140, 120, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 150, 120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 171, 120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 190, 120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 206, 120, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 211, 120, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 225, 120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 237, 120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 250, 120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 5, 121, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 17, 121, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 25, 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 34, 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 47, 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 58, 121, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 66, 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 83, 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 97, 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 110, - 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 123, 121, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 136, 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 156, 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 171, 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 187, - 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 199, 121, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 210, 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 226, 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 240, 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 255, - 121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 21, 122, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 43, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 63, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 81, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 103, 122, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 125, 122, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 147, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 163, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 177, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 191, - 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 208, 122, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 217, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 229, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 239, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 248, - 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 3, 123, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 13, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 28, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 37, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 47, 123, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 50, 123, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 64, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 74, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 93, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 110, 123, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 119, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 128, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 138, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 149, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 158, 123, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 166, 123, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 177, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 188, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 203, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 216, 123, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 228, 123, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 235, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 245, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 252, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 7, 124, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 12, 124, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 19, 124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 27, 124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 31, 124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 35, 124, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 44, 124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 58, 124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 69, 124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 80, 124, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 87, 124, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 99, 124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 113, 124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 120, 124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 134, 124, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 144, 124, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 151, 124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 164, 124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 176, 124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 183, 124, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 195, 124, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 211, 124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 233, 124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 243, 124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 252, - 124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 7, 125, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 17, 125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 27, 125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 42, 125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 50, 125, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 57, 125, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 69, 125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 78, 125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 86, 125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 96, 125, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 106, 125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 115, 125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 122, 125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 140, 125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 157, 125, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 176, 125, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 192, 125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 198, 125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 209, 125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 220, 125, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 233, 125, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 243, 125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 254, 125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 16, 126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 26, 126, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 49, 126, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 62, 126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 72, 126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 80, 126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 92, 126, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 105, 126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 116, 126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 124, 126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 130, 126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 138, 126, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 145, 126, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 157, 126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 165, 126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 177, 126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 192, 126, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 202, 126, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 223, 126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 8, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 19, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 29, 127, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 39, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 54, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 69, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 85, - 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 106, 127, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 121, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 137, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 151, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 167, - 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 174, 127, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 184, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 204, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 217, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 233, - 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 248, 127, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 9, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 20, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 37, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 56, 128, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 75, 128, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 89, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 100, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 109, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 128, 128, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 144, 128, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 158, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 175, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 199, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 209, 128, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 221, 128, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 233, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 246, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 253, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 8, 129, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 13, 129, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 20, 129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 29, 129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 43, 129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 51, 129, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 57, 129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 65, 129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 79, 129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 90, 129, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 102, 129, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 113, 129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 126, 129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 135, 129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 144, - 129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 152, 129, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 164, 129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 175, 129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 195, 129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 199, - 129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 209, 129, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 221, 129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 232, 129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 244, 129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 250, - 129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 5, 130, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 14, 130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 33, 130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 45, 130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 54, 130, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 65, 130, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 72, 130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 81, 130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 94, 130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 109, 130, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 129, 130, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 152, 130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 168, 130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 187, 130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 198, 130, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 212, 130, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 230, 130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 247, 130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 10, 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 22, 131, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 31, 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 49, 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 63, 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 77, 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 87, 131, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 97, 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 112, 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 122, 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 139, - 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 154, 131, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 176, 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 198, 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 208, 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 217, - 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 226, 131, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 233, 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 247, 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 0, 132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 14, - 132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 25, 132, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 31, 132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 42, 132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 60, 132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 79, 132, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 95, 132, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 104, 132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 108, 132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 120, 132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 135, 132, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 142, 132, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 147, 132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 155, 132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 166, 132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 179, 132, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 189, 132, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 195, 132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 205, 132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 216, 132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 228, - 132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 239, 132, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 248, 132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 5, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 13, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 23, 133, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 28, 133, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 40, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 52, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 58, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 70, 133, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 96, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 103, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 121, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 132, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 147, 133, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 158, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 166, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 184, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 191, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 204, 133, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 212, 133, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 216, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 229, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 239, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 249, 133, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 3, 134, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 20, 134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 35, 134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 48, 134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 58, 134, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 68, 134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 77, 134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 90, 134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 107, - 134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 120, 134, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 126, 134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 136, 134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 147, 134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 157, - 134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 169, 134, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 182, 134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 191, 134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 203, 134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 215, - 134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 231, 134, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 245, 134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 9, 135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 23, 135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 33, 135, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 37, 135, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 43, 135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 48, 135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 54, 135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 68, 135, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 83, 135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 93, 135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 104, 135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 112, - 135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 120, 135, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 136, 135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 154, 135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 183, 135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 198, - 135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 215, 135, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 236, 135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 246, 135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 250, 135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, - 136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 4, 136, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 10, 136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 17, 136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 23, 136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 38, 136, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 47, 136, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 55, 136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 63, 136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 67, 136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 73, 136, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 77, 136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 86, 136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 90, 136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 103, - 136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 116, 136, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 131, 136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 146, 136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 160, 136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 172, - 136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 181, 136, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 190, 136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 204, 136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 222, 136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 240, - 136, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 137, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 11, 137, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 17, 137, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 26, 137, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 35, 137, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 48, 137, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 63, 137, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 71, 137, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 82, 137, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 86, 137, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 94, 137, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 103, 137, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 112, 137, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 120, - 137, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 128, 137, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 139, 137, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 148, 137, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 159, 137, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 169, - 137, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 178, 137, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 187, 137, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 201, 137, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 212, 137, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 216, - 137, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 229, 137, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 238, 137, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 245, 137, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 5, 138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 15, - 138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 24, 138, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 39, 138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 45, 138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 54, 138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 62, 138, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 71, 138, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 86, 138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 101, 138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 116, 138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 128, 138, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 138, 138, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 148, 138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 154, 138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 159, 138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 165, 138, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 171, 138, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 187, 138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 196, 138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 202, 138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 219, 138, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 237, 138, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 252, 138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 9, 139, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 22, 139, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 26, 139, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 42, 139, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 53, 139, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 67, 139, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 79, 139, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 95, 139, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 104, 139, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 108, 139, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 123, 139, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 143, 139, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 165, 139, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 179, 139, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 197, 139, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 214, 139, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 236, 139, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 246, 139, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 10, 140, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 22, 140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 40, 140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 57, 140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 66, 140, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 75, 140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 91, 140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 107, 140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 119, - 140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 129, 140, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 145, 140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 154, 140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 166, 140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 176, - 140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 189, 140, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 198, 140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 210, 140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 217, 140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 233, - 140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 251, 140, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 21, 141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 28, 141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 37, 141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 43, 141, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 52, 141, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 62, 141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 69, 141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 80, 141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 90, 141, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 99, 141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 105, 141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 113, 141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 123, - 141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 132, 141, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 140, 141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 153, 141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 164, 141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 174, - 141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 187, 141, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 199, 141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 218, 141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 228, 141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 242, - 141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 5, 142, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 15, 142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 29, 142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 44, 142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 62, 142, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 71, 142, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 80, 142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 87, 142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 98, 142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 108, 142, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 122, 142, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 134, 142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 147, 142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 162, 142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 167, 142, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 175, 142, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 182, 142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 195, 142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 209, 142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 217, 142, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 226, 142, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 233, 142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 242, 142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 254, 142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 11, 143, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 18, 143, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 26, 143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 34, 143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 41, 143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 49, 143, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 57, 143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 68, 143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 77, 143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 83, - 143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 95, 143, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 104, 143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 113, 143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 128, 143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 140, - 143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 149, 143, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 162, 143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 176, 143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 190, 143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 194, - 143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 197, 143, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 205, 143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 213, 143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 226, 143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 237, - 143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 249, 143, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 8, 144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 22, 144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 32, 144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 46, 144, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 57, 144, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 68, 144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 80, 144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 88, 144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 100, 144, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 112, 144, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 124, 144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 137, 144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 149, 144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 163, 144, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 172, 144, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 182, 144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 194, 144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 203, 144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 220, 144, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 237, 144, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 6, 145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 23, 145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 50, 145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 78, 145, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 95, 145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 112, 145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 128, 145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 144, 145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 160, 145, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 174, 145, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 187, 145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 201, 145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 216, 145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 231, 145, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 246, 145, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 13, 146, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 31, 146, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 45, 146, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 60, 146, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 77, 146, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 90, 146, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 112, 146, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 134, - 146, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 143, 146, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 152, 146, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 177, 146, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 185, 146, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 214, - 146, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 225, 146, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 235, 146, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 245, 146, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 11, 147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 38, - 147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 60, 147, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 65, 147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 88, 147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 106, 147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 119, 147, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 134, 147, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 165, 147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 174, 147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 188, 147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 203, - 147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 212, 147, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 223, 147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 232, 147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 242, 147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 252, - 147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 6, 148, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 16, 148, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 26, 148, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 35, 148, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 47, 148, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 59, 148, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 71, 148, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 83, 148, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 95, 148, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 106, 148, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 117, 148, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 125, 148, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 140, 148, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 156, 148, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 171, 148, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 175, 148, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 180, 148, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 185, 148, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 194, 148, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 204, 148, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 221, 148, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 241, 148, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 254, 148, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 9, 149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 28, 149, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 46, 149, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 63, 149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 80, 149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 83, 149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 89, 149, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 95, 149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 103, 149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 111, 149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 120, - 149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 124, 149, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 129, 149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 134, 149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 144, 149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 155, - 149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 163, 149, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 168, 149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 179, 149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 190, 149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 201, - 149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 212, 149, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 226, 149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 240, 149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 254, 149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 12, - 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 20, 150, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 31, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 36, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 44, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 58, 150, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 67, 150, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 83, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 98, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 119, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 133, 150, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 153, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 169, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 181, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 191, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 207, 150, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 222, 150, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 231, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 240, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 1, 151, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 13, 151, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 28, 151, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 42, 151, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 54, 151, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 63, 151, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 67, 151, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 80, 151, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 96, 151, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 115, 151, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 123, - 151, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 147, 151, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 158, 151, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 175, 151, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 191, 151, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 201, - 151, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 217, 151, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 226, 151, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 234, 151, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 2, 152, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 12, - 152, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 22, 152, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 32, 152, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 45, 152, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 52, 152, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 71, 152, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 87, 152, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 106, 152, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 130, 152, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 142, 152, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 157, 152, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 172, 152, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 190, 152, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 204, 152, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 213, 152, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 227, 152, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 236, 152, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 246, 152, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 8, 153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 16, 153, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 30, 153, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 35, 153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 56, 153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 65, 153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 75, 153, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 84, 153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 96, 153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 114, 153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 125, - 153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 134, 153, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 148, 153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 157, 153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 166, 153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 180, - 153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 193, 153, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 203, 153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 217, 153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 228, 153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 240, - 153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 1, 154, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 15, 154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 19, 154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 23, 154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 35, 154, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 39, 154, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 50, 154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 61, 154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 71, 154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 80, 154, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 92, 154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 112, 154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 127, 154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 147, - 154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 162, 154, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 180, 154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 200, 154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 213, 154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 225, - 154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 248, 154, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 1, 155, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 18, 155, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 40, 155, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 53, 155, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 64, 155, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 78, 155, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 95, 155, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 113, 155, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 138, 155, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 155, 155, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 180, 155, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 194, 155, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 212, 155, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 224, 155, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 239, 155, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 253, 155, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 7, 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 13, 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 27, 156, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 34, 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 38, 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 42, 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 47, - 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 51, 156, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 56, 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 66, 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 85, 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 90, 156, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 100, 156, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 119, 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 129, 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 137, 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 150, 156, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 155, 156, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 161, 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 166, 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 173, 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 183, - 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 194, 156, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 205, 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 213, 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 223, 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 236, - 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 251, 156, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 3, 157, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 15, 157, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 25, 157, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 34, 157, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 44, 157, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 55, 157, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 72, 157, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 90, 157, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 107, 157, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 123, 157, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 134, 157, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 142, 157, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 160, 157, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 168, 157, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 180, 157, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 190, 157, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 211, 157, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 236, 157, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 242, 157, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 8, 158, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 25, 158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 36, 158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 61, 158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 71, 158, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 87, 158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 94, 158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 108, 158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 116, - 158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 130, 158, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 145, 158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 159, 158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 173, 158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 193, - 158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 209, 158, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 223, 158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 239, 158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 249, 158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 4, - 159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 10, 159, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 27, 159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 38, 159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 49, 159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 56, 159, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 71, 159, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 86, 159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 101, 159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 112, 159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 124, 159, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 139, 159, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 147, 159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 168, 159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 178, 159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 190, 159, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 202, 159, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 209, 159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 222, 159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 235, 159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 247, 159, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 10, 160, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 22, 160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 32, 160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 41, 160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 48, 160, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 57, 160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 60, 160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 66, 160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 80, - 160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 95, 160, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 106, 160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 122, 160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 143, 160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 160, - 160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 172, 160, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 188, 160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 203, 160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 212, 160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 219, - 160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 225, 160, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 234, 160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 244, 160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 254, 160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 14, - 161, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 23, 161, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 29, 161, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 40, 161, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 51, 161, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 67, 161, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 90, 161, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 105, 161, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 116, 161, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 132, 161, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 144, 161, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 151, 161, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 165, 161, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 183, 161, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 196, 161, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 208, 161, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 213, 161, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 216, 161, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 231, 161, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 245, 161, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 6, 162, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 19, 162, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 33, 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 48, 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 62, 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 76, 162, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 90, 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 110, 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 120, 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 141, 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 154, 162, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 164, 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 176, 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 189, 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 199, 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 207, 162, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 225, 162, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 249, 162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 20, 163, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 45, 163, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 67, 163, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 86, 163, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 106, 163, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 127, 163, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 151, 163, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 162, 163, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 169, 163, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 177, 163, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 182, 163, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 197, 163, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 207, 163, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 216, 163, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 224, 163, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 233, 163, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 242, 163, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 1, 164, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 16, 164, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 35, 164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 54, 164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 62, 164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 74, 164, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 90, 164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 97, 164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 110, 164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 133, - 164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 149, 164, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 169, 164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 195, 164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 210, 164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 220, - 164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 246, 164, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 9, 165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 28, 165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 43, 165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 52, 165, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 70, 165, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 88, 165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 105, 165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 117, 165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 137, 165, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 150, 165, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 164, 165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 169, 165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 178, 165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 189, 165, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 213, 165, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 227, 165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 239, 165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 249, 165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 9, 166, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 17, 166, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 37, 166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 48, 166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 55, 166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 63, 166, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 76, 166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 85, 166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 93, 166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 116, - 166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 124, 166, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 148, 166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 158, 166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 164, 166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 175, - 166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 183, 166, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 198, 166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 207, 166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 226, 166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 240, - 166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 249, 166, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 6, 167, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 22, 167, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 32, 167, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 47, 167, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 55, 167, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 62, 167, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 69, 167, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 79, 167, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 88, 167, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 101, 167, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 114, 167, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 135, 167, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 143, 167, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 159, 167, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 168, 167, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 177, 167, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 187, 167, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 198, 167, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 210, 167, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 227, 167, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 235, 167, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 249, 167, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 7, 168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 15, 168, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 26, 168, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 44, 168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 50, 168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 62, 168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 71, 168, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 85, 168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 93, 168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 98, 168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 104, - 168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 126, 168, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 139, 168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 149, 168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 152, 168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 155, - 168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 157, 168, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 169, 168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 185, 168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 192, 168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 201, - 168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 220, 168, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 231, 168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 254, 168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 14, 169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 37, - 169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 46, 169, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 54, 169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 73, 169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 93, 169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 108, 169, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 114, 169, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 123, 169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 132, 169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 145, 169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 156, - 169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 173, 169, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 181, 169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 190, 169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 212, 169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 228, - 169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 249, 169, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 6, 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 9, 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 19, 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 30, 170, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 42, 170, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 55, 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 64, 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 74, 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 90, 170, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 110, 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 121, 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 131, 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 141, 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 150, 170, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 155, 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 161, 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 170, 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 179, 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 188, 170, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 197, 170, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 209, 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 220, 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 232, 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 247, 170, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 11, 171, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 22, 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 38, 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 46, 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 58, 171, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 70, 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 82, 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 90, 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 99, 171, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 114, 171, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 128, 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 135, 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 147, 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 156, - 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 168, 171, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 173, 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 178, 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 183, 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 199, - 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 208, 171, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 220, 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 228, 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 233, 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 245, - 171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 3, 172, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 15, 172, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 22, 172, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 31, 172, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 40, 172, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 50, 172, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 60, 172, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 67, 172, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 82, 172, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 93, 172, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 107, 172, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 122, 172, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 132, 172, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 143, 172, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 156, 172, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 170, 172, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 179, 172, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 199, 172, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 202, 172, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 209, 172, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 214, 172, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 223, 172, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 233, 172, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 247, 172, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 253, 172, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 5, 173, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 24, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 38, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 52, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 64, 173, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 81, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 92, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 105, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 120, - 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 131, 173, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 142, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 152, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 165, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 175, - 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 186, 173, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 202, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 220, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 236, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 1, - 174, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 27, 174, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 37, 174, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 52, 174, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 67, 174, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 70, 174, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 84, 174, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 98, 174, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 112, 174, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 125, 174, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 141, 174, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 153, 174, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 164, 174, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 179, 174, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 189, 174, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 202, 174, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 210, 174, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 221, 174, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 237, 174, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 243, 174, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 246, 174, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 4, 175, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 16, 175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 32, 175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 55, 175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 66, 175, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 74, 175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 83, 175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 92, 175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 98, - 175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 115, 175, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 134, 175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 147, 175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 155, 175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 174, - 175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 180, 175, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 191, 175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 202, 175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 217, 175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 227, - 175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 253, 175, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 19, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 22, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 32, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 37, 176, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 46, 176, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 59, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 68, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 78, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 84, 176, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 87, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 96, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 102, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 112, - 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 121, 176, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 132, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 142, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 156, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 165, - 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 174, 176, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 183, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 191, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 205, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 220, - 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 229, 176, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 236, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 247, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 2, 177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 13, - 177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 30, 177, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 33, 177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 45, 177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 57, 177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 60, 177, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 73, 177, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 77, 177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 86, 177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 99, 177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 112, 177, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 124, 177, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 134, 177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 155, 177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 171, 177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 183, 177, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 196, 177, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 209, 177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 221, 177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 235, 177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 252, 177, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 6, 178, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 19, 178, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 36, 178, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 54, 178, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 74, 178, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 97, 178, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 111, 178, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 120, 178, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 130, - 178, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 142, 178, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 155, 178, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 165, 178, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 179, 178, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 190, - 178, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 201, 178, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 211, 178, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 222, 178, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 233, 178, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 243, - 178, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 179, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 11, 179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 21, 179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 34, 179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 45, 179, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 62, 179, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 79, 179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 97, 179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 104, 179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 117, 179, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 132, 179, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 152, 179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 164, 179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 177, 179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 190, 179, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 208, 179, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 225, 179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 243, 179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 0, 180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 17, 180, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 32, 180, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 41, 180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 61, 180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 64, 180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 78, 180, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 85, 180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 93, 180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 97, 180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 111, - 180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 125, 180, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 135, 180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 142, 180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 149, 180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 157, - 180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 168, 180, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 177, 180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 188, 180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 202, 180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 224, - 180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 237, 180, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 245, 180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 3, 181, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 19, 181, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 38, 181, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 55, 181, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 72, 181, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 83, 181, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 96, 181, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 108, 181, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 122, 181, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 129, 181, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 139, 181, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 152, 181, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 164, 181, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 175, 181, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 187, 181, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 197, 181, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 209, 181, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 222, 181, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 233, 181, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 244, 181, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 4, 182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 24, 182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 37, 182, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 49, 182, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 66, 182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 72, 182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 83, 182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 91, 182, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 107, 182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 120, 182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 135, 182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 153, 182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 167, 182, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 196, 182, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 209, 182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 217, 182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 223, 182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 229, 182, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 238, 182, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 251, 182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 7, 183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 27, 183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 33, 183, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 45, 183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 61, 183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 80, 183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 92, - 183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 112, 183, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 121, 183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 141, 183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 153, 183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 168, - 183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 176, 183, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 188, 183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 205, 183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 214, 183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 229, - 183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 240, 183, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 253, 183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 11, 184, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 21, 184, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 31, 184, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 41, 184, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 46, 184, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 56, 184, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 69, 184, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 84, 184, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 94, 184, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 108, 184, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 122, 184, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 134, 184, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 149, 184, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 168, 184, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 181, 184, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 192, 184, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 206, 184, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 225, 184, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 240, 184, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 254, 184, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 12, 185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 20, 185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 27, 185, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 38, 185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 47, 185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 62, 185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 72, - 185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 88, 185, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 99, 185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 116, 185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 126, 185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 137, - 185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 150, 185, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 160, 185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 170, 185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 180, 185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 194, - 185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 206, 185, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 219, 185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 235, 185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 247, 185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 9, - 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 18, 186, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 26, 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 41, 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 52, 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 57, 186, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 73, 186, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 84, 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 96, 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 106, 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 117, 186, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 126, 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 139, 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 150, 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 168, 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 179, 186, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 188, 186, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 203, 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 209, 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 225, 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 235, 186, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 251, 186, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 12, 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 30, 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 41, 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 48, 187, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 64, 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 73, 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 87, 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 97, - 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 115, 187, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 134, 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 150, 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 172, 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 196, - 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 198, 187, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 206, 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 214, 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 223, 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 231, - 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 233, 187, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 245, 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 4, 188, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 21, 188, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 28, 188, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 42, 188, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 54, 188, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 61, 188, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 78, 188, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 89, 188, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 104, 188, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 112, 188, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 120, 188, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 132, 188, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 148, 188, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 159, 188, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 166, 188, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 174, 188, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 180, 188, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 186, 188, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 193, 188, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 209, 188, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 220, 188, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 229, 188, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 239, 188, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 251, 188, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 5, 189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 13, 189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 21, 189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 35, 189, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 44, 189, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 55, 189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 74, 189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 95, 189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 104, 189, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 112, 189, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 121, 189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 132, 189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 139, 189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 143, 189, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 149, 189, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 158, 189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 171, 189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 186, 189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 195, 189, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 211, 189, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 229, 189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 243, 189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 6, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 29, 190, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 48, 190, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 63, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 82, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 101, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 118, 190, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 136, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 146, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 155, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 162, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 167, 190, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 181, 190, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 192, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 202, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 214, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 228, 190, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 235, 190, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 247, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 11, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 37, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 52, 191, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 75, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 95, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 105, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 115, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 131, 191, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 145, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 165, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 178, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 190, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 208, 191, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 221, 191, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 235, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 241, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 247, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 254, 191, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 3, 192, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 10, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 20, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 28, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 38, 192, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 48, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 62, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 67, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 85, 192, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 103, 192, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 115, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 128, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 143, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 148, - 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 156, 192, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 163, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 168, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 180, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 195, - 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 201, 192, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 206, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 219, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 231, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 244, - 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 252, 192, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 9, 193, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 20, 193, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 27, 193, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 38, 193, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 46, 193, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 60, 193, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 73, 193, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 84, 193, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 93, 193, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 97, 193, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 110, 193, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 125, 193, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 138, - 193, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 150, 193, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 162, 193, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 178, 193, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 180, 193, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 184, - 193, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 188, 193, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 205, 193, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 217, 193, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 220, 193, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 245, - 193, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 194, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 5, 194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 11, 194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 17, 194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 30, 194, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 37, 194, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 62, 194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 73, 194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 84, 194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 93, 194, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 104, 194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 113, 194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 127, 194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 132, 194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 148, 194, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 159, 194, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 165, 194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 172, 194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 177, 194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 184, 194, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 192, 194, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 199, 194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 206, 194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 220, 194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 225, 194, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 235, 194, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 248, 194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 4, 195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 15, 195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 29, 195, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 45, 195, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 58, 195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 64, 195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 70, 195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 77, 195, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 88, 195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 103, 195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 111, 195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 119, - 195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 135, 195, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 141, 195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 149, 195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 156, 195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 176, - 195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 190, 195, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 204, 195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 225, 195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 238, 195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 248, - 195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 13, 196, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 18, 196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 28, 196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 34, 196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 40, 196, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 46, 196, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 56, 196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 73, 196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 86, 196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 92, 196, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 101, 196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 110, 196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 114, 196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 122, 196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 131, 196, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 139, 196, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 149, 196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 159, 196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 173, 196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 182, 196, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 190, 196, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 200, 196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 209, 196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 227, 196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 244, 196, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 247, 196, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 253, 196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 5, 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 9, 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 19, 197, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 38, 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 50, 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 54, 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 62, 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 76, 197, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 85, 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 99, 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 107, 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 113, - 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 123, 197, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 131, 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 150, 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 164, 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 183, - 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 196, 197, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 205, 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 217, 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 223, 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 226, - 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 229, 197, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 242, 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 255, 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 15, 198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 31, - 198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 42, 198, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 51, 198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 60, 198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 72, 198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 77, 198, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 87, 198, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 91, 198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 104, 198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 113, 198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 120, 198, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 131, 198, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 145, 198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 156, 198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 173, 198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 186, 198, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 197, 198, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 206, 198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 214, 198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 221, 198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 228, 198, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 234, 198, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 248, 198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 1, 199, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 16, 199, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 28, 199, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 40, 199, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 54, 199, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 71, 199, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 81, 199, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 95, 199, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 108, 199, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 121, 199, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 133, 199, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 148, 199, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 161, 199, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 174, 199, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 187, 199, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 202, 199, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 212, 199, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 222, 199, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 235, 199, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 246, 199, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 253, 199, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 10, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 25, 200, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 36, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 47, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 57, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 67, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 77, 200, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 81, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 86, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 93, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 98, 200, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 107, 200, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 116, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 127, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 142, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 154, - 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 166, 200, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 174, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 187, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 200, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 211, - 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 220, 200, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 234, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 248, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 6, 201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 19, - 201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 29, 201, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 42, 201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 47, 201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 55, 201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 63, 201, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 72, 201, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 88, 201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 95, 201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 104, 201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 107, 201, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 113, 201, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 122, 201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 135, 201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 147, 201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 161, 201, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 175, 201, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 189, 201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 206, 201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 221, 201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 230, 201, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 240, 201, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 247, 201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 1, 202, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 9, 202, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 16, 202, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 26, 202, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 37, 202, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 48, 202, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 60, 202, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 63, 202, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 72, 202, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 87, 202, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 98, 202, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 105, - 202, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 117, 202, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 131, 202, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 144, 202, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 152, 202, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 163, - 202, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 177, 202, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 189, 202, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 204, 202, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 218, 202, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 232, - 202, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 237, 202, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 249, 202, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 254, 202, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 2, 203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 12, - 203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 22, 203, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 26, 203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 34, 203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 43, 203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 51, 203, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 60, 203, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 72, 203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 87, 203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 95, 203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 102, 203, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 113, 203, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 121, 203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 132, 203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 138, 203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 143, 203, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 155, 203, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 164, 203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 171, 203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 180, 203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 188, 203, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 196, 203, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 203, 203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 213, 203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 218, 203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 224, 203, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 239, 203, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 245, 203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 252, 203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 5, 204, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 17, 204, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 32, 204, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 42, 204, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 50, 204, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 58, 204, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 67, 204, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 76, 204, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 84, 204, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 93, 204, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 104, - 204, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 124, 204, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 134, 204, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 145, 204, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 161, 204, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 171, - 204, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 181, 204, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 191, 204, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 206, 204, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 221, 204, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 235, - 204, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 249, 204, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 4, 205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 13, 205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 22, 205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 31, 205, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 43, 205, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 51, 205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 59, 205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 67, 205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 75, 205, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 85, 205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 92, 205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 102, 205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 111, - 205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 122, 205, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 131, 205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 143, 205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 149, 205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 156, - 205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 170, 205, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 181, 205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 198, 205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 205, 205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 221, - 205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 236, 205, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 249, 205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 9, 206, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 23, 206, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 40, 206, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 46, 206, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 58, 206, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 69, 206, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 80, 206, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 86, 206, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 90, 206, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 99, 206, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 114, 206, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 119, - 206, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 129, 206, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 142, 206, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 153, 206, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 162, 206, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 171, - 206, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 187, 206, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 200, 206, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 214, 206, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 231, 206, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 242, - 206, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 207, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 10, 207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 25, 207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 42, 207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 57, 207, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 66, 207, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 74, 207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 87, 207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 96, 207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 103, 207, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 112, 207, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 122, 207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 129, 207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 140, 207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 152, 207, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 161, 207, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 179, 207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 194, 207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 205, 207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 214, 207, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 222, 207, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 231, 207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 243, 207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 4, 208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 20, 208, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 33, 208, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 45, 208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 57, 208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 74, 208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 91, 208, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 104, 208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 116, 208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 123, 208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 141, 208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 160, 208, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 175, 208, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 192, 208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 203, 208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 213, 208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 222, 208, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 236, 208, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 251, 208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 6, 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 20, 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 34, 209, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 44, 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 52, 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 67, 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 81, - 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 94, 209, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 111, 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 124, 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 131, 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 142, - 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 150, 209, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 160, 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 167, 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 179, 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 187, - 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 196, 209, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 208, 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 221, 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 230, 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 240, - 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 248, 209, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 254, 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 16, 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 32, 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 48, 210, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 63, 210, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 76, 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 86, 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 98, 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 108, 210, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 115, 210, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 124, 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 135, 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 146, 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 161, 210, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 175, 210, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 185, 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 195, 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 204, 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 216, 210, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 232, 210, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 244, 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 250, 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 3, 211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 20, 211, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 28, 211, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 38, 211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 54, 211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 64, 211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 77, 211, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 91, 211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 99, 211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 106, 211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 114, - 211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 123, 211, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 131, 211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 142, 211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 154, 211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 168, - 211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 175, 211, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 184, 211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 192, 211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 201, 211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 208, - 211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 212, 211, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 217, 211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 226, 211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 234, 211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 245, - 211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 253, 211, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 9, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 25, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 38, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 46, 212, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 56, 212, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 67, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 78, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 90, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 99, 212, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 108, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 128, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 135, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 148, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 159, 212, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 176, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 186, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 189, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 212, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 228, 212, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 246, 212, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 253, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 6, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 13, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 24, 213, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 32, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 41, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 51, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 62, - 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 73, 213, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 84, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 94, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 103, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 114, 213, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 125, 213, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 133, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 144, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 160, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 169, - 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 176, 213, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 192, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 206, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 217, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 232, - 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 247, 213, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 10, 214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 20, 214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 34, 214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 41, 214, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 50, 214, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 61, 214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 76, 214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 84, 214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 92, 214, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 102, 214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 114, 214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 125, 214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 135, 214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 148, 214, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 160, 214, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 169, 214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 180, 214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 190, 214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 205, 214, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 215, 214, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 226, 214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 233, 214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 240, 214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 249, 214, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 1, 215, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 12, 215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 24, 215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 35, 215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 49, 215, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 68, 215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 73, 215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 89, 215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 93, 215, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 110, 215, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 123, 215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 147, 215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 165, 215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 172, - 215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 185, 215, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 201, 215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 210, 215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 229, 215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 235, - 215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 243, 215, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 250, 215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 9, 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 23, 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 43, 216, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 50, 216, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 58, 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 73, 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 89, 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 102, 216, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 110, 216, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 120, 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 131, 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 141, 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 154, 216, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 165, 216, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 175, 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 189, 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 198, 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 212, 216, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 220, 216, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 228, 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 235, 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 245, 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 254, - 216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 5, 217, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 18, 217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 33, 217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 40, 217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 47, 217, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 52, 217, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 66, 217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 80, 217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 92, 217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 106, 217, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 118, 217, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 133, 217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 137, 217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 146, 217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 163, 217, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 171, 217, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 185, 217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 190, 217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 200, 217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 212, 217, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 226, 217, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 241, 217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 254, 217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 16, 218, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 25, 218, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 38, 218, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 48, 218, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 59, 218, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 76, 218, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 87, 218, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 98, 218, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 109, 218, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 113, 218, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 127, - 218, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 132, 218, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 144, 218, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 160, 218, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 175, 218, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 183, - 218, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 198, 218, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 208, 218, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 223, 218, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 231, 218, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 245, - 218, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 5, 219, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 20, 219, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 35, 219, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 49, 219, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 66, 219, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 76, 219, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 95, 219, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 113, 219, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 129, 219, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 138, 219, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 157, 219, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 169, 219, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 187, 219, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 198, 219, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 219, 219, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 233, 219, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 251, 219, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 5, 220, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 12, 220, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 24, 220, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 31, 220, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 44, 220, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 48, 220, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 70, 220, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 74, 220, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 85, 220, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 93, 220, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 101, 220, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 119, - 220, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 134, 220, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 148, 220, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 153, 220, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 167, 220, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 176, - 220, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 183, 220, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 192, 220, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 198, 220, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 204, 220, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 221, - 220, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 238, 220, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 221, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 12, 221, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 23, 221, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 40, 221, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 59, 221, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 65, 221, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 86, 221, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 97, 221, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 109, 221, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 116, 221, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 127, 221, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 150, 221, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 165, 221, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 179, 221, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 201, 221, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 225, 221, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 234, 221, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 244, 221, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 253, 221, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 7, 222, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 17, 222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 29, 222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 36, 222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 49, 222, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 62, 222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 71, 222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 82, 222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 91, 222, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 103, 222, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 112, 222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 122, 222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 132, 222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 149, - 222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 163, 222, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 177, 222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 186, 222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 195, 222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 200, - 222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 210, 222, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 217, 222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 223, 222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 232, 222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 239, - 222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 246, 222, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 253, 222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 5, 223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 12, 223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 17, 223, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 34, 223, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 53, 223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 61, 223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 69, 223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 79, 223, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 94, 223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 106, 223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 126, 223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 138, 223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 147, 223, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 149, 223, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 161, 223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 172, 223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 183, 223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 195, 223, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 206, 223, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 219, 223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 232, 223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 245, 223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 2, 224, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 13, 224, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 28, 224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 41, 224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 63, 224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 76, 224, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 80, 224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 86, 224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 92, 224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 96, 224, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 102, 224, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 108, 224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 114, 224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 120, 224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 128, - 224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 135, 224, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 143, 224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 147, 224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 157, 224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 164, - 224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 168, 224, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 174, 224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 183, 224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 193, 224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 203, - 224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 212, 224, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 222, 224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 230, 224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 237, 224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 240, - 224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 248, 224, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 254, 224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 9, 225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 21, 225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 26, 225, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 41, 225, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 50, 225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 60, 225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 68, 225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 76, 225, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 80, 225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 85, 225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 90, 225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 103, - 225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 111, 225, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 120, 225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 127, 225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 132, 225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 141, - 225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 157, 225, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 174, 225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 189, 225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 203, 225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 228, - 225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 241, 225, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 17, 226, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 21, 226, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 30, 226, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 48, 226, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 59, 226, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 70, 226, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 86, 226, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 93, 226, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 101, 226, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 106, 226, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 120, 226, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 132, 226, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 140, 226, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 151, 226, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 159, 226, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 173, 226, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 182, 226, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 191, 226, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 197, 226, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 212, 226, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 220, 226, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 227, 226, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 237, 226, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 249, 226, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 21, 227, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 42, 227, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 70, 227, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 91, 227, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 114, 227, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 129, 227, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 135, 227, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 143, 227, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 158, 227, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 164, 227, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 179, 227, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 186, 227, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 192, 227, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 204, 227, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 215, 227, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 224, 227, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 226, 227, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 232, 227, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 244, 227, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 255, - 227, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 2, 228, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 6, 228, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 15, 228, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 35, 228, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 38, 228, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 42, 228, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 62, 228, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 75, 228, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 90, 228, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 104, 228, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 110, 228, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 115, 228, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 131, 228, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 143, 228, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 156, 228, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 173, 228, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 186, 228, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 197, 228, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 201, 228, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 205, 228, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 233, 228, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 7, 229, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 42, 229, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 83, 229, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 121, 229, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 143, 229, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 164, 229, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 179, 229, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 186, 229, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 198, 229, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 213, 229, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 237, 229, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 3, 230, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 26, 230, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 49, 230, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 79, 230, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 103, 230, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 128, 230, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 146, 230, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 168, 230, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 193, 230, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 216, 230, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 239, 230, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 10, 231, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 32, 231, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 57, 231, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 82, 231, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 105, 231, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 132, 231, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 152, 231, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 175, 231, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 202, 231, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 228, 231, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 254, 231, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 25, 232, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 53, 232, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 76, 232, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 102, 232, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 124, 232, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 147, 232, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 169, 232, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 189, 232, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 209, 232, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 235, 232, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 255, 232, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 22, 233, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 47, 233, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 63, 233, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 89, 233, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 111, 233, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 136, 233, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 156, 233, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 188, 233, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 221, 233, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 249, 233, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 11, 234, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 30, 234, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 59, 234, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 75, 234, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 101, 234, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 126, 234, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 143, 234, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 162, 234, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 178, 234, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 204, 234, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 240, 234, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 11, 235, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 38, 235, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 75, 235, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 105, 235, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 136, 235, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 160, 235, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 184, 235, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 207, 235, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 230, 235, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 254, 235, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 27, 236, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 54, 236, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 81, 236, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 97, 236, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 113, 236, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 143, 236, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 173, 236, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 196, 236, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 216, 236, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 239, 236, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 248, 236, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 3, 237, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 13, 237, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 24, 237, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 37, 237, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 48, 237, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 55, 237, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 65, 237, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 76, 237, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 89, 237, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 102, 237, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 115, 237, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 131, 237, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 141, 237, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 153, 237, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 169, 237, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 185, 237, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 192, 237, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 205, 237, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 221, 237, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 236, 237, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 247, 237, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 6, 238, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 18, 238, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 28, 238, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 42, 238, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 51, 238, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 57, 238, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 70, 238, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 82, 238, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 91, 238, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 103, - 238, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 117, 238, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 123, 238, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 137, 238, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 152, 238, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 164, - 238, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 177, 238, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 190, 238, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 205, 238, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 209, 238, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 219, - 238, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 229, 238, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 241, 238, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 1, 239, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 15, 239, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 28, 239, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 40, 239, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 59, 239, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 76, 239, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 90, 239, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 94, 239, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 115, 239, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 153, 239, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 178, 239, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 203, 239, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 223, 239, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 243, 239, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 20, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 45, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 69, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 97, 240, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 117, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 133, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 150, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 165, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 193, 240, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 213, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 223, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 236, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 13, 241, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 44, 241, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 77, 241, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 90, 241, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 103, 241, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 112, - 241, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 129, 241, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 137, 241, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 155, 241, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 164, 241, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 173, - 241, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 183, 241, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 194, 241, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 199, 241, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 211, 241, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 221, - 241, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 230, 241, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 235, 241, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 242, 241, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 1, 242, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 8, - 242, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 14, 242, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 20, 242, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 26, 242, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 32, 242, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 35, 242, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 38, 242, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 42, 242, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 57, 242, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 61, 242, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 69, 242, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 73, 242, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 84, 242, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 95, 242, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 107, - 242, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 119, 242, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 133, 242, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 135, 242, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 145, 242, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 151, - 242, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 158, 242, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 164, 242, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 167, 242, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 171, 242, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 177, - 242, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 183, 242, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 189, 242, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 209, 242, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 225, 242, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 231, - 242, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 237, 242, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 251, 242, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 1, 243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 7, 243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 13, 243, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 24, 243, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 36, 243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 48, 243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 54, 243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 58, 243, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 74, 243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 90, 243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 108, 243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 126, - 243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 151, 243, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 176, 243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 201, 243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 226, 243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 244, - 243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 249, 243, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 2, 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 14, 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 28, 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 36, 244, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 51, 244, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 56, 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 66, 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 71, 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 76, 244, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 88, 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 103, 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 109, 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 115, - 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 126, 244, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 138, 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 150, 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 159, 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 175, - 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 184, 244, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 191, 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 198, 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 211, 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 218, - 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 223, 244, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 241, 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 252, 244, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 4, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 12, - 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 19, 245, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 23, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 45, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 53, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 65, 245, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 75, 245, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 82, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 96, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 111, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 118, 245, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 135, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 146, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 153, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 159, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 167, 245, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 176, 245, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 185, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 203, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 210, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 214, 245, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 223, 245, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 238, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 250, 245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 13, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 23, 246, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 32, 246, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 38, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 48, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 54, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 61, 246, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 68, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 78, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 89, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 99, 246, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 114, 246, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 125, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 138, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 149, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 154, - 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 172, 246, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 190, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 198, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 206, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 214, - 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 222, 246, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 230, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 243, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 254, 246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 7, - 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 16, 247, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 22, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 30, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 39, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 48, 247, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 60, 247, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 71, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 86, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 92, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 101, 247, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 111, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 126, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 130, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 142, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 149, 247, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 165, 247, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 178, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 190, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 199, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 209, 247, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 222, 247, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 233, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 240, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 253, 247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 10, 248, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 22, 248, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 33, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 46, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 56, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 62, 248, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 74, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 87, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 102, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 113, - 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 125, 248, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 136, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 148, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 159, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 170, - 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 181, 248, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 192, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 200, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 212, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 224, - 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 229, 248, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 242, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 253, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 5, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 15, - 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 22, 249, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 31, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 42, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 53, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 61, 249, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 66, 249, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 83, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 100, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 117, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 132, 249, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 147, 249, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 159, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 176, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 180, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 193, 249, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 204, 249, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 221, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 235, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 247, 249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 1, 250, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 9, 250, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 29, 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 39, 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 46, 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 56, 250, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 64, 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 67, 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 70, 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 77, 250, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 85, 250, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 93, 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 102, 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 110, 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 123, 250, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 140, 250, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 150, 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 162, 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 172, 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 186, 250, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 198, 250, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 212, 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 220, 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 229, 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 239, - 250, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 251, 250, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 11, 251, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 34, 251, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 52, 251, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 71, 251, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 92, 251, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 111, 251, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 129, 251, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 151, 251, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 173, 251, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 184, 251, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 206, 251, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 222, 251, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 234, 251, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 1, 252, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 30, 252, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 57, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 73, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 93, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 116, 252, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 133, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 148, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 171, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 185, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 197, 252, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 215, 252, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 232, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 249, 252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 10, 253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 27, 253, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 42, 253, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 51, 253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 65, 253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 89, 253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 115, 253, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 133, 253, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 144, 253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 154, 253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 159, 253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 169, 253, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 186, 253, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 195, 253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 209, 253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 222, 253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 243, 253, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 12, 254, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 30, 254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 48, 254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 82, 254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 116, 254, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 129, 254, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 144, 254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 162, 254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 178, 254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 196, 254, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 210, 254, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 227, 254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 244, 254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 12, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 28, 255, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 56, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 75, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 94, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 121, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 148, 255, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 158, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 178, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 199, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 214, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 229, 255, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 243, 255, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 29, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 40, - 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 52, 0, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 65, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 85, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 99, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 119, 0, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 133, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 140, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 159, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 178, - 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 196, 0, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 209, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 227, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 240, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 254, 0, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 13, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 26, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 42, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 56, - 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 70, 1, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 83, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 99, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 110, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 120, 1, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 127, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 136, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 145, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 150, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 156, 1, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 164, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 169, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 176, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 185, 1, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 195, 1, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 202, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 212, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 222, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 232, 1, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 246, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 254, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 13, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 22, 2, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 35, 2, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 43, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 55, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 64, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 69, 2, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 76, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 87, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 96, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 109, 2, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 121, 2, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 135, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 145, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 158, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 170, 2, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 183, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 199, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 204, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 219, 2, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 222, 2, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 230, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 239, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 248, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 1, 3, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 10, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 19, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 27, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 36, 3, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 46, 3, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 56, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 63, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 71, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 79, 3, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 87, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 97, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 108, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 122, 3, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 132, 3, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 145, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 152, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 163, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 179, 3, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 199, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 208, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 216, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 228, 3, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 244, 3, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 251, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 8, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 15, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 22, 4, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 36, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 44, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 56, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 73, 4, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 87, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 94, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 108, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 123, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 133, 4, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 144, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 154, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 170, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 178, 4, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 191, 4, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 206, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 222, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 233, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 250, 4, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 11, 5, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 25, 5, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 32, 5, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 42, 5, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 50, 5, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 59, 5, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 69, 5, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 77, 5, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 89, 5, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 101, 5, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 111, 5, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 120, 5, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 133, 5, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 143, 5, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 152, 5, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 164, 5, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 174, 5, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 187, 5, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 199, 5, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 207, 5, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 220, 5, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 231, - 5, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 240, 5, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 252, 5, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 5, 6, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 20, 6, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 28, 6, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 39, 6, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 49, 6, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 56, 6, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 65, 6, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 74, 6, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 87, 6, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 97, 6, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 107, 6, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 115, 6, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 124, 6, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 129, 6, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 141, 6, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 149, 6, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 157, 6, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 166, 6, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 176, 6, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 185, 6, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 196, 6, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 208, 6, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 217, 6, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 228, 6, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 240, - 6, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 252, 6, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 5, 7, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 15, 7, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 25, 7, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 36, 7, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 47, 7, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 58, 7, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 68, 7, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 76, 7, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 83, 7, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 97, 7, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 110, 7, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 123, 7, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 134, 7, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 140, 7, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 147, 7, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 159, 7, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 170, 7, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 182, 7, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 194, 7, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 208, 7, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 223, 7, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 238, 7, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 254, 7, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 12, 8, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 27, 8, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 35, 8, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 43, 8, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 52, 8, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 59, 8, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 68, 8, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 81, 8, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 91, 8, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 102, 8, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 113, 8, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 124, 8, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 134, 8, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 143, 8, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 157, 8, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 171, 8, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 177, 8, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 186, 8, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 190, 8, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 200, 8, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 218, - 8, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 231, 8, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 252, 8, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 9, 9, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 18, 9, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 30, 9, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 40, 9, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 47, 9, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 54, 9, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 64, 9, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 75, 9, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 89, 9, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 108, 9, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 126, 9, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 135, 9, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 157, 9, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 178, 9, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 185, 9, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 192, 9, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 205, 9, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 220, 9, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 230, 9, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 237, 9, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 247, 9, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 254, 9, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 8, 10, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 22, 10, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 39, - 10, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 56, 10, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 71, 10, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 82, 10, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 91, 10, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 96, 10, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 108, 10, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 120, 10, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 134, 10, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 148, 10, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 161, 10, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 171, 10, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 185, 10, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 194, 10, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 208, 10, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 221, 10, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 232, 10, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 241, 10, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 251, 10, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 10, 11, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 20, 11, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 30, 11, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 46, 11, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 61, - 11, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 74, 11, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 95, 11, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 108, 11, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 123, 11, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 138, 11, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 152, 11, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 166, 11, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 179, 11, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 196, 11, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 209, 11, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 226, 11, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 241, 11, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 14, 12, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 36, 12, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 60, 12, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 79, 12, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 98, 12, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 113, 12, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 128, 12, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 137, 12, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 145, 12, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 156, 12, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 170, - 12, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 182, 12, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 192, 12, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 200, 12, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 211, 12, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 228, 12, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 247, 12, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 8, 13, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 19, 13, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 30, 13, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 38, 13, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 56, 13, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 67, 13, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 85, 13, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 105, 13, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 129, 13, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 134, 13, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 150, 13, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 159, 13, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 173, 13, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 182, 13, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 192, 13, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 202, 13, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 211, - 13, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 222, 13, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 238, 13, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 249, 13, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 7, 14, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 26, 14, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 39, 14, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 55, 14, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 67, 14, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 75, - 14, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 83, 14, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 93, 14, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 102, 14, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 112, 14, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 135, 14, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 149, 14, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 167, 14, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 180, 14, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 192, 14, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 207, 14, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 231, 14, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 248, 14, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 9, 15, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 20, 15, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 31, 15, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 41, 15, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 51, 15, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 65, 15, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 79, 15, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 99, 15, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 112, 15, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 125, 15, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 139, 15, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 153, 15, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 165, 15, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 177, 15, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 188, 15, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 201, 15, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 216, 15, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 230, 15, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 241, 15, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 244, - 15, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 3, 16, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 14, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 20, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 29, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 34, 16, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 43, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 53, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 63, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 74, - 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 83, 16, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 94, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 103, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 106, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 116, 16, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 134, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 145, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 162, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 168, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 173, 16, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 176, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 179, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 183, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 188, 16, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 202, 16, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 212, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 226, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 242, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 253, 16, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 7, 17, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 20, 17, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 38, 17, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 56, - 17, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 65, 17, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 68, 17, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 89, 17, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 108, 17, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 122, 17, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 134, 17, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 160, 17, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 174, 17, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 190, 17, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 201, 17, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 213, 17, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 221, 17, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 226, 17, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 232, 17, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 240, 17, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 247, 17, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 5, 18, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 19, 18, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 24, 18, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 35, 18, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 46, 18, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 60, 18, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 74, - 18, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 89, 18, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 102, 18, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 120, 18, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 142, 18, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 151, 18, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 162, 18, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 166, 18, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 179, 18, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 197, 18, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 207, 18, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 214, 18, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 220, 18, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 223, 18, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 226, 18, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 233, 18, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 241, 18, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 254, 18, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 2, 19, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 6, 19, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 11, 19, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 16, 19, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 20, 19, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 43, 19, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 49, 19, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 66, 19, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 75, 19, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 94, 19, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 118, 19, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 125, 19, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 138, 19, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 157, 19, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 164, - 19, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 172, 19, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 176, 19, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 186, 19, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 191, 19, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 200, 19, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 209, 19, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 223, 19, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 233, 19, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 244, 19, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 249, 19, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 4, 20, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 11, 20, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 21, 20, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 31, 20, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 41, 20, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 50, 20, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 66, 20, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 74, 20, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 85, 20, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 94, 20, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 103, 20, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 112, 20, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 121, - 20, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 133, 20, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 144, 20, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 154, 20, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 164, 20, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 174, 20, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 189, 20, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 199, 20, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 210, 20, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 229, 20, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 237, 20, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 244, 20, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 251, 20, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 7, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 17, 21, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 21, 21, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 27, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 51, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 60, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 67, 21, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 87, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 98, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 110, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 130, 21, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 143, 21, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 164, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 176, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 184, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 199, 21, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 208, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 218, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 233, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 249, - 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 16, 22, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 32, 22, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 43, 22, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 54, 22, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 66, 22, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 73, 22, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 84, 22, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 97, 22, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 109, 22, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 121, 22, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 133, 22, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 144, 22, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 154, 22, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 166, 22, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 175, 22, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 179, 22, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 189, 22, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 204, 22, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 218, 22, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 222, 22, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 226, 22, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 238, 22, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 248, - 22, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 2, 23, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 12, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 24, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 36, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 48, 23, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 60, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 72, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 82, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 98, - 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 109, 23, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 122, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 139, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 154, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 167, 23, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 173, 23, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 180, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 187, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 194, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 201, 23, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 218, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 231, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 248, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 7, 24, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 14, 24, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 21, 24, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 28, 24, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 35, 24, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 55, 24, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 68, 24, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 73, 24, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 84, 24, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 104, - 24, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 125, 24, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 144, 24, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 163, 24, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 178, 24, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 192, 24, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 206, 24, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 222, 24, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 249, 24, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 21, 25, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 38, 25, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 53, 25, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 64, 25, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 75, 25, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 80, 25, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 91, 25, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 96, 25, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 113, 25, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 125, 25, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 141, 25, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 156, 25, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 167, 25, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 178, 25, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 182, - 25, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 191, 25, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 201, 25, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 217, 25, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 233, 25, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 249, 25, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 9, 26, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 25, 26, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 41, 26, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 57, 26, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 69, 26, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 84, 26, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 102, 26, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 116, 26, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 126, 26, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 136, 26, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 150, 26, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 166, 26, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 186, 26, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 195, 26, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 205, 26, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 209, 26, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 219, 26, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 224, - 26, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 231, 26, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 241, 26, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 247, 26, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 1, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 13, 27, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 24, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 35, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 46, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 58, - 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 68, 27, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 72, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 82, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 98, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 108, 27, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 122, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 132, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 140, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 150, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 159, 27, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 174, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 184, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 199, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 214, 27, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 235, 27, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 245, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 255, 27, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 16, 28, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 23, 28, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 30, 28, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 41, 28, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 53, 28, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 67, - 28, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 79, 28, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 94, 28, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 98, 28, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 107, 28, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 118, 28, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 131, 28, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 147, 28, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 160, 28, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 176, 28, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 193, 28, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 212, 28, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 232, 28, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 247, 28, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 4, 29, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 15, 29, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 28, 29, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 31, 29, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 36, 29, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 47, 29, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 56, 29, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 71, 29, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 91, 29, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 113, - 29, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 118, 29, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 131, 29, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 138, 29, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 142, 29, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 148, 29, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 153, 29, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 165, 29, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 175, 29, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 181, 29, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 193, 29, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 201, 29, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 214, 29, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 222, 29, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 231, 29, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 239, 29, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 247, 29, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 255, 29, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 6, 30, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 11, 30, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 16, 30, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 25, 30, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 33, 30, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 42, 30, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 51, 30, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 62, 30, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 68, 30, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 73, 30, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 80, 30, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 91, 30, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 100, 30, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 109, 30, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 119, - 30, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 131, 30, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 136, 30, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 151, 30, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 159, 30, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 168, 30, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 188, 30, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 199, 30, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 211, 30, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 224, 30, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 251, 30, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 8, 31, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 18, 31, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 33, 31, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 40, 31, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 48, 31, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 58, 31, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 67, 31, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 79, 31, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 92, 31, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 104, 31, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 116, 31, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 125, 31, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 133, - 31, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 146, 31, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 154, 31, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 162, 31, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 171, 31, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 183, 31, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 194, 31, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 210, 31, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 222, 31, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 231, 31, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 242, 31, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 249, 31, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 3, 32, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 16, 32, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 26, 32, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 42, 32, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 53, 32, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 62, 32, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 71, 32, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 78, 32, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 85, 32, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 92, 32, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 102, 32, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 112, - 32, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 120, 32, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 131, 32, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 135, 32, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 139, 32, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 143, 32, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 147, 32, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 150, 32, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 153, 32, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 161, 32, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 168, 32, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 180, 32, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 203, 32, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 214, 32, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 219, 32, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 234, 32, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 249, 32, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 3, 33, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 11, 33, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 25, 33, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 30, 33, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 44, 33, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 55, 33, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 71, - 33, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 81, 33, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 92, 33, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 106, 33, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 117, 33, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 127, 33, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 142, 33, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 154, 33, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 165, 33, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 175, 33, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 188, 33, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 198, 33, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 209, 33, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 222, 33, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 228, 33, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 239, 33, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 252, 33, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 10, 34, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 20, 34, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 38, 34, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 51, 34, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 66, 34, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 80, 34, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 94, - 34, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 109, 34, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 114, 34, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 122, 34, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 134, 34, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 139, 34, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 144, 34, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 152, 34, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 162, 34, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 173, 34, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 186, 34, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 198, 34, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 205, 34, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 217, 34, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 227, 34, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 238, 34, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 248, 34, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 0, 35, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 10, 35, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 20, 35, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 29, 35, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 40, 35, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 51, 35, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 58, - 35, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 65, 35, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 72, 35, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 79, 35, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 87, 35, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 96, 35, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 105, 35, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 113, 35, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 121, 35, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 130, 35, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 139, 35, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 146, 35, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 154, 35, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 159, 35, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 165, 35, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 171, 35, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 177, 35, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 183, 35, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 194, 35, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 206, 35, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 228, 35, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 247, 35, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 9, 36, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 14, 36, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 23, 36, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 32, 36, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 39, 36, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 45, 36, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 53, 36, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 65, 36, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 72, 36, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 81, 36, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 90, - 36, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 100, 36, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 110, 36, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 123, 36, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 131, 36, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 141, 36, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 157, 36, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 169, 36, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 187, 36, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 200, 36, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 219, 36, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 238, 36, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 4, 37, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 12, 37, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 21, 37, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 28, 37, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 35, 37, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 42, 37, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 49, 37, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 57, 37, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 66, 37, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 75, 37, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 83, 37, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 91, - 37, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 101, 37, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 112, 37, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 126, 37, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 141, 37, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 156, 37, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 171, 37, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 197, 37, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 213, 37, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 235, 37, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 251, 37, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 17, 38, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 28, 38, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 38, 38, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 48, 38, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 62, 38, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 69, 38, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 85, 38, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 99, 38, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 117, 38, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 124, 38, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 141, 38, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 158, 38, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 172, - 38, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 180, 38, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 188, 38, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 201, 38, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 204, 38, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 215, 38, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 228, 38, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 243, 38, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 252, 38, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 8, 39, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 22, 39, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 37, 39, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 45, 39, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 55, 39, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 67, 39, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 82, 39, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 95, 39, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 109, 39, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 119, 39, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 131, 39, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 144, 39, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 155, 39, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 169, 39, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 175, 39, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 186, 39, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 207, 39, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 225, 39, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 244, 39, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 40, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 14, 40, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 20, 40, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 32, 40, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 45, - 40, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 64, 40, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 75, 40, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 86, 40, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 96, 40, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 111, 40, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 120, 40, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 130, 40, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 138, 40, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 164, 40, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 177, 40, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 182, 40, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 187, 40, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 198, 40, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 210, 40, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 221, 40, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 238, 40, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 249, 40, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 5, 41, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 11, 41, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 13, 41, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 25, 41, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 41, 41, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 53, 41, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 66, 41, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 77, 41, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 88, 41, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 92, 41, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 101, 41, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 110, 41, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 119, 41, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 129, 41, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 136, - 41, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 150, 41, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 156, 41, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 171, 41, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 177, 41, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 184, 41, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 193, 41, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 203, 41, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 214, 41, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 225, 41, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 233, 41, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 243, 41, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 255, 41, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 11, 42, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 19, 42, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 28, 42, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 40, 42, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 48, 42, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 54, 42, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 61, 42, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 68, 42, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 73, 42, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 77, 42, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 87, - 42, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 103, 42, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 112, 42, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 122, 42, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 130, 42, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 143, 42, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 156, 42, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 169, 42, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 182, 42, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 188, 42, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 198, 42, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 212, 42, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 225, 42, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 237, 42, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 241, 42, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 43, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 17, 43, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 29, 43, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 51, 43, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 66, 43, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 79, 43, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 90, 43, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 98, 43, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 105, - 43, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 117, 43, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 128, 43, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 140, 43, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 154, 43, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 165, 43, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 179, 43, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 190, 43, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 197, 43, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 206, 43, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 214, 43, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 226, 43, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 241, 43, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 1, 44, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 14, 44, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 23, 44, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 31, 44, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 39, 44, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 53, 44, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 62, 44, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 71, 44, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 79, 44, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 83, 44, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 90, 44, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 99, 44, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 101, 44, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 109, 44, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 120, 44, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 129, 44, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 142, 44, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 149, 44, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 160, 44, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 169, - 44, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 178, 44, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 190, 44, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 200, 44, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 210, 44, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 221, 44, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 237, 44, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 251, 44, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 5, 45, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 18, 45, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 26, 45, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 38, 45, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 45, 45, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 55, 45, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 67, 45, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 76, 45, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 82, 45, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 87, 45, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 98, 45, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 107, 45, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 115, 45, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 123, 45, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 136, 45, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 159, - 45, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 166, 45, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 172, 45, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 182, 45, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 194, 45, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 208, 45, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 230, 45, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 243, 45, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 246, 45, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 251, 45, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 3, 46, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 9, 46, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 14, 46, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 23, 46, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 39, 46, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 46, 46, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 58, 46, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 69, 46, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 88, 46, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 108, 46, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 136, 46, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 165, 46, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 193, 46, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 222, - 46, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 230, 46, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 241, 46, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 252, 46, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 5, 47, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 28, 47, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 52, 47, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 63, 47, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 65, 47, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 72, - 47, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 81, 47, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 90, 47, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 96, 47, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 105, 47, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 114, 47, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 129, 47, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 140, 47, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 158, 47, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 176, 47, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 186, 47, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 199, 47, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 219, 47, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 231, 47, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 252, 47, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 5, 48, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 19, 48, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 35, 48, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 43, 48, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 49, 48, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 56, 48, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 68, 48, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 73, 48, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 81, - 48, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 94, 48, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 105, 48, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 113, 48, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 127, 48, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 141, 48, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 148, 48, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 153, 48, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 172, 48, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 186, 48, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 197, 48, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 205, 48, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 222, 48, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 236, 48, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 248, 48, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 251, 48, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 6, 49, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 17, 49, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 20, 49, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 29, 49, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 44, 49, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 54, 49, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 72, 49, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 86, - 49, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 101, 49, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 115, 49, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 132, 49, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 136, 49, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 147, 49, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 157, 49, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 169, 49, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 180, 49, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 184, 49, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 195, 49, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 205, 49, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 218, 49, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 234, 49, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 247, 49, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 4, 50, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 16, 50, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 34, 50, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 44, 50, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 49, 50, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 63, 50, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 82, 50, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 105, 50, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 117, - 50, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 127, 50, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 141, 50, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 155, 50, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 164, 50, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 176, 50, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 195, 50, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 212, 50, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 216, 50, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 232, 50, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 250, 50, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 6, 51, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 12, 51, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 19, 51, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 33, 51, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 54, 51, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 65, 51, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 83, 51, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 90, 51, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 94, 51, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 104, 51, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 121, 51, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 140, 51, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 164, - 51, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 185, 51, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 197, 51, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 211, 51, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 225, 51, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 235, 51, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 248, 51, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 2, 52, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 14, 52, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 25, 52, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 33, 52, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 43, 52, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 55, 52, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 68, 52, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 79, 52, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 88, 52, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 92, 52, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 100, 52, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 110, 52, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 119, 52, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 131, 52, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 147, 52, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 159, 52, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 163, - 52, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 167, 52, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 171, 52, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 182, 52, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 191, 52, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 200, 52, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 209, 52, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 220, 52, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 227, 52, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 243, 52, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 252, 52, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 7, 53, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 13, 53, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 19, 53, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 32, 53, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 45, 53, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 53, 53, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 58, 53, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 72, 53, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 86, 53, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 103, 53, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 113, 53, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 127, 53, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 144, - 53, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 166, 53, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 176, 53, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 183, 53, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 194, 53, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 206, 53, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 234, 53, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 10, 54, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 48, 54, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 77, 54, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 101, 54, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 121, 54, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 136, 54, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 146, 54, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 164, 54, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 184, 54, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 199, 54, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 206, 54, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 220, 54, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 234, 54, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 244, 54, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 3, 55, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 7, 55, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 18, 55, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 34, 55, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 48, 55, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 63, 55, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 87, 55, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 110, 55, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 120, 55, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 142, 55, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 153, 55, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 169, - 55, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 184, 55, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 201, 55, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 221, 55, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 237, 55, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 248, 55, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 3, 56, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 19, 56, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 34, 56, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 46, 56, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 50, 56, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 60, 56, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 67, 56, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 79, 56, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 88, 56, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 98, 56, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 109, 56, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 120, 56, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 130, 56, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 140, 56, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 154, 56, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 166, 56, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 176, 56, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 190, - 56, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 205, 56, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 223, 56, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 244, 56, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 8, 57, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 31, 57, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 41, 57, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 57, 57, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 69, 57, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 88, - 57, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 102, 57, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 107, 57, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 125, 57, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 141, 57, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 156, 57, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 172, 57, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 189, 57, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 198, 57, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 216, 57, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 232, 57, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 247, 57, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 4, 58, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 13, 58, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 22, 58, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 38, 58, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 47, 58, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 57, 58, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 72, 58, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 85, 58, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 99, 58, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 114, 58, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 132, 58, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 147, - 58, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 167, 58, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 187, 58, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 206, 58, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 221, 58, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 235, 58, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 249, 58, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 4, 59, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 19, 59, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 35, 59, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 45, 59, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 63, 59, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 79, 59, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 86, 59, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 92, 59, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 98, 59, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 104, 59, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 112, 59, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 121, 59, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 141, 59, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 155, 59, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 166, 59, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 177, 59, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 192, - 59, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 204, 59, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 218, 59, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 228, 59, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 235, 59, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 244, 59, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 6, 60, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 17, 60, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 28, 60, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 39, 60, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 59, 60, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 79, 60, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 91, 60, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 110, 60, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 130, 60, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 143, 60, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 150, 60, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 160, 60, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 173, 60, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 190, 60, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 198, 60, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 211, 60, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 223, 60, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 237, - 60, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 246, 60, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 19, 61, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 33, 61, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 42, 61, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 57, 61, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 70, 61, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 87, 61, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 98, 61, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 103, 61, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 114, 61, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 122, 61, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 133, 61, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 146, 61, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 156, 61, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 168, 61, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 176, 61, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 187, 61, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 192, 61, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 200, 61, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 210, 61, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 218, 61, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 230, 61, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 239, - 61, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 248, 61, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 253, 61, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 16, 62, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 40, 62, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 50, 62, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 61, 62, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 82, 62, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 94, 62, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 116, 62, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 138, 62, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 149, 62, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 162, 62, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 171, 62, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 185, 62, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 197, 62, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 210, 62, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 224, 62, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 235, 62, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 245, 62, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 253, 62, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 6, 63, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 11, 63, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 22, - 63, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 34, 63, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 44, 63, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 53, 63, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 71, 63, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 81, 63, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 94, 63, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 128, 63, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 146, 63, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 167, 63, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 178, 63, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 188, 63, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 199, 63, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 205, 63, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 216, 63, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 226, 63, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 236, 63, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 246, 63, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 250, 63, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 255, 63, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 17, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 33, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 43, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 54, - 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 66, 64, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 82, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 89, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 94, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 111, 64, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 126, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 137, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 152, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 162, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 173, 64, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 185, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 196, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 205, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 214, 64, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 221, 64, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 228, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 244, 64, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 4, 65, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 15, 65, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 33, 65, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 52, 65, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 67, 65, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 83, 65, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 97, 65, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 109, 65, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 129, 65, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 148, 65, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 165, 65, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 172, 65, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 179, 65, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 199, 65, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 222, - 65, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 245, 65, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 14, 66, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 38, 66, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 58, 66, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 76, 66, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 99, 66, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 112, 66, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 135, 66, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 156, 66, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 167, 66, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 186, 66, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 217, 66, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 223, 66, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 238, 66, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 251, 66, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 8, 67, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 24, 67, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 37, 67, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 64, 67, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 82, 67, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 98, 67, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 113, 67, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 130, - 67, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 144, 67, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 154, 67, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 166, 67, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 172, 67, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 184, 67, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 194, 67, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 197, 67, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 210, 67, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 227, 67, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 244, 67, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 249, 67, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 5, 68, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 16, 68, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 27, 68, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 37, 68, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 50, 68, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 65, 68, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 77, 68, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 87, 68, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 103, 68, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 119, 68, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 135, 68, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 147, - 68, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 157, 68, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 175, 68, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 189, 68, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 198, 68, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 207, 68, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 217, 68, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 225, 68, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 238, 68, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 246, 68, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 3, 69, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 16, 69, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 29, 69, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 44, 69, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 61, 69, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 78, 69, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 94, 69, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 97, 69, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 111, 69, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 121, 69, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 131, 69, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 144, 69, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 155, 69, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 178, - 69, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 192, 69, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 213, 69, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 226, 69, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 240, 69, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 252, 69, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 8, 70, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 25, 70, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 44, 70, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 50, 70, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 62, 70, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 76, 70, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 84, 70, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 99, 70, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 111, 70, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 119, 70, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 138, 70, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 154, 70, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 174, 70, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 191, 70, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 209, 70, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 221, 70, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 234, 70, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 249, - 70, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 1, 71, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 14, 71, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 24, 71, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 33, 71, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 43, 71, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 59, 71, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 68, 71, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 75, 71, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 83, - 71, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 93, 71, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 109, 71, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 124, 71, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 134, 71, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 144, 71, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 154, 71, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 173, 71, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 193, 71, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 202, 71, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 214, 71, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 226, 71, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 238, 71, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 255, 71, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 7, 72, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 24, 72, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 43, 72, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 55, 72, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 69, 72, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 80, 72, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 96, 72, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 100, 72, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 109, 72, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 118, - 72, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 127, 72, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 140, 72, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 150, 72, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 160, 72, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 174, 72, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 194, 72, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 197, 72, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 212, 72, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 220, 72, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 225, 72, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 235, 72, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 248, 72, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 9, 73, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 19, 73, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 33, 73, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 47, 73, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 61, 73, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 77, 73, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 97, 73, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 113, 73, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 138, 73, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 157, 73, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 172, 73, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 189, 73, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 210, 73, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 227, 73, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 242, 73, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 5, 74, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 28, 74, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 52, 74, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 76, 74, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 100, - 74, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 114, 74, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 124, 74, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 134, 74, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 144, 74, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 150, 74, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 159, 74, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 171, 74, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 180, 74, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 198, 74, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 208, 74, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 218, 74, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 229, 74, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 240, 74, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 253, 74, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 11, 75, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 19, 75, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 29, 75, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 48, 75, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 64, 75, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 73, 75, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 94, 75, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 104, 75, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 121, - 75, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 131, 75, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 143, 75, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 152, 75, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 163, 75, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 175, 75, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 192, 75, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 200, 75, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 203, 75, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 215, 75, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 221, 75, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 230, 75, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 241, 75, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 253, 75, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 12, 76, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 16, 76, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 29, 76, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 39, 76, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 49, 76, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 62, 76, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 74, 76, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 91, 76, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 95, 76, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 102, - 76, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 109, 76, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 120, 76, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 124, 76, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 135, 76, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 143, 76, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 155, 76, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 174, 76, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 182, 76, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 204, 76, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 214, 76, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 226, 76, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 241, 76, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 245, 76, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 251, 76, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 9, 77, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 19, 77, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 23, 77, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 28, 77, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 34, 77, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 40, 77, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 46, 77, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 64, 77, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 79, - 77, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 94, 77, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 100, 77, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 115, 77, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 129, 77, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 140, 77, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 157, 77, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 164, 77, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 170, 77, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 178, 77, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 187, 77, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 198, 77, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 211, 77, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 221, 77, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 232, 77, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 243, 77, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 255, 77, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 10, 78, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 24, 78, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 37, 78, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 46, 78, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 60, 78, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 78, 78, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 81, - 78, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 95, 78, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 103, 78, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 110, 78, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 120, 78, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 128, 78, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 136, 78, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 154, 78, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 172, 78, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 187, 78, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 200, 78, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 205, 78, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 213, 78, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 233, 78, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 246, 78, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 253, 78, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 6, 79, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 16, 79, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 30, 79, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 40, 79, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 55, 79, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 63, 79, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 73, 79, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 81, - 79, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 88, 79, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 101, 79, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 111, 79, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 121, 79, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 134, 79, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 145, 79, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 153, 79, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 162, 79, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 172, 79, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 187, 79, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 204, 79, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 217, 79, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 225, 79, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 234, 79, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 243, 79, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 80, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 10, 80, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 19, 80, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 28, 80, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 36, 80, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 52, 80, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 74, 80, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 82, - 80, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 94, 80, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 103, 80, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 113, 80, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 121, 80, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 136, 80, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 150, 80, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 165, 80, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 181, 80, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 184, 80, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 194, 80, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 207, 80, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 220, 80, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 236, 80, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 245, 80, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 1, 81, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 16, 81, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 38, 81, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 57, 81, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 74, 81, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 87, 81, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 93, 81, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 105, 81, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 117, - 81, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 133, 81, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 147, 81, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 166, 81, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 179, 81, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 200, 81, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 213, 81, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 230, 81, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 247, 81, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 13, 82, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 31, 82, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 52, 82, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 63, 82, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 73, 82, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 80, 82, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 93, 82, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 109, 82, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 124, 82, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 137, 82, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 146, 82, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 155, 82, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 163, 82, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 173, 82, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 179, - 82, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 184, 82, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 189, 82, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 196, 82, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 201, 82, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 218, 82, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 227, 82, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 235, 82, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 245, 82, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 255, 82, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 6, 83, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 15, 83, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 28, 83, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 32, 83, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 41, 83, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 49, 83, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 56, 83, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 73, 83, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 80, 83, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 90, 83, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 96, 83, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 104, 83, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 114, 83, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 124, - 83, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 135, 83, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 142, 83, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 149, 83, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 160, 83, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 172, 83, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 178, 83, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 184, 83, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 190, 83, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 196, 83, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 205, 83, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 211, 83, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 215, 83, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 223, 83, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 234, 83, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 243, 83, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 249, 83, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 4, 84, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 19, 84, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 36, 84, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 46, 84, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 60, 84, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 73, 84, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 86, - 84, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 99, 84, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 116, 84, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 140, 84, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 165, 84, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 173, 84, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 181, 84, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 188, 84, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 193, 84, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 205, 84, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 218, 84, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 234, 84, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 251, 84, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 14, 85, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 28, 85, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 52, 85, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 66, 85, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 81, 85, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 90, 85, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 96, 85, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 102, 85, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 107, 85, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 117, 85, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 132, - 85, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 149, 85, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 161, 85, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 177, 85, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 181, 85, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 193, 85, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 205, 85, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 223, 85, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 239, 85, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 248, 85, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 5, 86, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 15, 86, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 28, 86, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 45, 86, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 60, 86, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 70, 86, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 87, 86, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 99, 86, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 117, 86, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 132, 86, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 147, 86, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 157, 86, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 162, 86, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 174, - 86, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 187, 86, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 199, 86, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 211, 86, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 225, 86, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 237, 86, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 250, 86, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 6, 87, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 17, 87, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 28, 87, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 40, 87, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 62, 87, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 84, 87, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 107, 87, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 128, 87, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 154, 87, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 178, 87, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 195, 87, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 208, 87, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 218, 87, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 237, 87, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 88, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 16, 88, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 23, - 88, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 37, 88, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 49, 88, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 61, 88, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 73, 88, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 82, 88, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 90, 88, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 97, 88, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 110, 88, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 125, 88, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 136, 88, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 149, 88, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 162, 88, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 177, 88, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 188, 88, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 198, 88, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 212, 88, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 225, 88, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 239, 88, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 8, 89, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 31, 89, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 37, 89, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 47, 89, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 59, - 89, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 74, 89, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 89, 89, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 97, 89, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 107, 89, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 118, 89, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 128, 89, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 143, 89, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 158, 89, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 166, 89, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 179, 89, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 193, 89, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 210, 89, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 218, 89, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 226, 89, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 238, 89, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 250, 89, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 2, 90, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 9, 90, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 21, 90, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 29, 90, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 48, 90, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 65, 90, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 83, 90, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 100, 90, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 114, 90, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 131, 90, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 144, 90, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 160, 90, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 173, 90, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 182, 90, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 198, 90, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 210, - 90, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 225, 90, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 235, 90, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 238, 90, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 247, 90, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 3, 91, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 14, 91, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 31, 91, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 40, 91, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 50, 91, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 54, 91, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 74, 91, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 85, 91, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 93, 91, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 101, 91, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 106, 91, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 125, 91, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 133, 91, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 144, 91, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 155, 91, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 160, 91, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 166, 91, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 179, 91, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 196, - 91, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 207, 91, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 219, 91, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 231, 91, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 244, 91, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 92, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 15, 92, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 26, 92, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 42, 92, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 59, 92, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 73, 92, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 98, 92, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 123, 92, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 135, 92, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 146, 92, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 152, 92, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 164, 92, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 175, 92, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 186, 92, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 196, 92, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 203, 92, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 208, 92, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 219, 92, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 231, - 92, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 241, 92, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 250, 92, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 3, 93, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 14, 93, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 24, 93, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 37, 93, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 51, 93, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 66, 93, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 82, 93, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 91, 93, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 104, 93, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 120, 93, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 130, 93, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 139, 93, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 149, 93, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 164, 93, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 177, 93, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 190, 93, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 199, 93, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 222, 93, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 237, 93, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 251, 93, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 14, - 94, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 34, 94, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 46, 94, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 56, 94, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 67, 94, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 77, 94, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 89, 94, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 99, 94, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 111, 94, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 121, 94, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 131, 94, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 141, 94, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 153, 94, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 162, 94, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 173, 94, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 182, 94, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 203, 94, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 214, 94, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 226, 94, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 235, 94, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 247, 94, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 3, 95, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 18, 95, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 31, - 95, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 47, 95, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 60, 95, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 72, 95, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 88, 95, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 111, 95, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 130, 95, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 153, 95, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 163, 95, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 180, 95, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 185, 95, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 189, 95, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 194, 95, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 206, 95, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 220, 95, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 236, 95, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 245, 95, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 252, 95, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 255, 95, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 7, 96, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 17, 96, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 23, 96, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 29, 96, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 36, - 96, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 54, 96, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 72, 96, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 80, 96, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 87, 96, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 94, 96, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 113, 96, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 117, 96, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 126, 96, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 133, 96, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 141, 96, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 151, 96, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 160, 96, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 169, 96, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 181, 96, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 192, 96, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 203, 96, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 211, 96, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 220, 96, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 238, 96, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 248, 96, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 2, 97, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 12, 97, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 22, - 97, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 43, 97, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 53, 97, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 57, 97, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 61, 97, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 65, 97, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 69, 97, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 73, 97, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 76, 97, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 79, - 97, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 83, 97, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 87, 97, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 90, 97, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 93, 97, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 96, 97, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 99, 97, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 102, 97, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 105, 97, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 108, 97, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 116, 97, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 119, 97, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 122, 97, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 130, 97, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 140, 97, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 150, 97, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 166, 97, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 176, 97, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 191, 97, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 206, 97, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 223, 97, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 247, 97, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 16, 98, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 38, - 98, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 47, 98, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 54, 98, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 65, 98, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 84, 98, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 105, 98, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 129, 98, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 155, 98, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 175, 98, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 196, 98, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 215, 98, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 234, 98, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 244, 98, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 1, 99, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 11, 99, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 23, 99, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 37, 99, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 56, 99, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 67, 99, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 74, 99, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 83, 99, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 101, 99, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 104, 99, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 115, 99, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 130, 99, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 141, 99, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 157, 99, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 162, 99, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 168, 99, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 185, 99, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 201, 99, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 219, 99, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 228, - 99, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 236, 99, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 246, 99, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 252, 99, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 12, 100, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 23, 100, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 29, 100, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 53, 100, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 72, 100, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 93, 100, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 115, 100, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 128, 100, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 131, 100, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 144, 100, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 157, 100, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 169, 100, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 183, 100, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 198, 100, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 211, 100, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 229, 100, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 245, 100, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 7, 101, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 25, 101, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 36, 101, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 52, 101, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 63, 101, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 74, 101, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 93, 101, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 105, 101, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 119, - 101, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 133, 101, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 150, 101, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 164, 101, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 172, 101, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 187, - 101, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 204, 101, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 213, 101, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 229, 101, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 248, 101, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 10, - 102, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 30, 102, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 41, 102, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 56, 102, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 61, 102, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 78, 102, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 84, 102, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 92, 102, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 102, 102, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 119, 102, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 125, 102, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 144, 102, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 148, 102, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 160, 102, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 171, 102, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 185, 102, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 198, 102, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 208, 102, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 218, 102, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 234, 102, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 254, 102, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 5, 103, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 12, 103, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 29, 103, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 48, 103, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 59, 103, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 68, 103, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 77, 103, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 89, 103, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 104, - 103, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 122, 103, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 136, 103, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 150, 103, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 160, 103, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 171, - 103, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 184, 103, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 195, 103, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 204, 103, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 217, 103, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 222, - 103, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 226, 103, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 237, 103, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 250, 103, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 4, 104, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 20, - 104, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 31, 104, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 38, 104, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 45, 104, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 57, 104, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 75, 104, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 86, 104, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 94, 104, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 105, 104, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 115, 104, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 121, 104, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 125, 104, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 145, 104, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 159, 104, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 167, 104, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 185, 104, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 201, 104, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 211, 104, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 223, 104, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 237, 104, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 248, 104, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 3, 105, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 16, 105, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 26, 105, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 38, 105, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 50, 105, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 61, 105, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 77, 105, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 87, 105, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 96, - 105, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 107, 105, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 123, 105, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 134, 105, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 148, 105, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 165, - 105, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 177, 105, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 187, 105, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 199, 105, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 216, 105, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 240, - 105, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 250, 105, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 8, 106, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 18, 106, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 35, 106, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 53, 106, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 63, 106, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 76, 106, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 95, 106, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 107, 106, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 116, 106, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 128, 106, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 139, 106, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 155, 106, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 171, 106, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 187, 106, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 195, 106, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 208, 106, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 224, 106, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 245, 106, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 1, 107, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 13, 107, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 28, 107, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 45, 107, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 57, 107, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 67, 107, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 78, 107, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 95, 107, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 111, 107, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 121, - 107, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 130, 107, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 140, 107, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 152, 107, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 164, 107, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 176, - 107, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 189, 107, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 203, 107, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 218, 107, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 233, 107, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 244, - 107, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 252, 107, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 10, 108, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 21, 108, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 38, 108, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 52, 108, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 64, 108, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 79, 108, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 89, 108, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 102, 108, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 114, 108, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 125, 108, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 144, 108, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 154, 108, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 172, 108, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 184, 108, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 204, 108, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 215, 108, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 233, 108, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 244, 108, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 255, 108, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 10, 109, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 28, 109, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 42, 109, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 59, 109, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 70, 109, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 75, 109, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 85, 109, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 89, 109, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 98, 109, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 106, 109, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 114, 109, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 122, 109, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 132, 109, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 140, - 109, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 149, 109, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 153, 109, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 167, 109, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 179, 109, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 188, - 109, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 197, 109, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 201, 109, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 216, 109, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 233, 109, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 237, - 109, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 244, 109, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 10, 110, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 22, 110, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 32, 110, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 46, 110, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 58, 110, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 69, 110, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 79, 110, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 96, 110, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 104, 110, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 117, 110, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 134, 110, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 148, 110, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 160, 110, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 180, 110, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 196, 110, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 207, 110, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 219, 110, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 230, 110, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 243, 110, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 2, 111, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 6, 111, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 10, 111, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 20, 111, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 31, 111, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 42, 111, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 52, 111, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 63, 111, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 78, 111, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 92, 111, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 102, 111, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 115, 111, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 125, 111, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 144, 111, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 166, 111, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 184, 111, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 201, 111, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 214, 111, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 227, - 111, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 243, 111, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 1, 112, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 6, 112, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 24, 112, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 40, 112, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 54, 112, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 70, 112, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 80, 112, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 88, 112, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 96, 112, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 111, 112, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 128, 112, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 139, 112, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 150, 112, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 160, 112, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 171, 112, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 185, 112, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 204, 112, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 221, 112, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 237, 112, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 245, 112, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 4, 113, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 18, 113, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 35, 113, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 56, 113, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 75, 113, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 94, 113, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 105, 113, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 130, - 113, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 152, 113, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 162, 113, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 173, 113, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 186, 113, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 199, - 113, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 214, 113, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 225, 113, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 237, 113, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 255, 113, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 20, - 114, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 40, 114, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 45, 114, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 58, 114, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 65, 114, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 73, 114, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 79, 114, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 88, 114, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 104, 114, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 112, 114, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 138, 114, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 153, 114, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 162, 114, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 183, 114, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 193, 114, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 205, 114, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 215, 114, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 222, 114, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 234, 114, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 246, 114, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 3, 115, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 19, 115, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 35, 115, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 51, 115, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 67, 115, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 83, 115, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 94, 115, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 111, 115, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 129, 115, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 150, - 115, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 165, 115, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 175, 115, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 190, 115, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 213, 115, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 228, - 115, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 243, 115, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 253, 115, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 6, 116, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 14, 116, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 19, 116, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 36, 116, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 53, 116, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 67, 116, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 87, 116, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 103, 116, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 116, 116, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 135, 116, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 151, 116, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 176, 116, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 189, 116, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 204, 116, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 210, 116, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 224, 116, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 236, 116, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 252, 116, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 16, 117, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 34, 117, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 41, 117, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 64, 117, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 78, 117, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 87, 117, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 104, 117, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 110, 117, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 123, 117, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 136, 117, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 150, 117, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 165, 117, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 180, 117, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 193, 117, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 205, 117, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 228, 117, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 253, 117, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 16, 118, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 34, 118, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 50, 118, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 65, 118, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 70, 118, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 78, 118, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 86, - 118, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 95, 118, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 110, 118, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 117, 118, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 122, 118, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 127, - 118, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 132, 118, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 141, 118, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 148, 118, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 153, 118, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 164, - 118, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 176, 118, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 183, 118, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 193, 118, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 210, 118, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 225, - 118, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 233, 118, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 249, 118, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 5, 119, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 19, 119, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 37, 119, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 47, 119, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 66, 119, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 82, 119, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 96, 119, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 106, 119, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 121, 119, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 133, 119, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 141, 119, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 153, 119, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 163, 119, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 174, 119, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 183, 119, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 192, 119, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 207, 119, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 222, 119, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 234, 119, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 244, 119, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 8, 120, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 23, 120, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 33, 120, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 40, 120, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 46, 120, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 52, 120, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 56, 120, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 63, 120, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 67, 120, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 69, 120, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 71, 120, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 73, 120, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 79, 120, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 91, 120, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 94, 120, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 97, 120, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 105, 120, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 113, 120, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 120, 120, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 127, 120, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 138, 120, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 150, 120, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 161, 120, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 165, 120, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 173, 120, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 184, 120, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 194, 120, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 204, 120, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 214, 120, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 233, 120, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 238, 120, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 242, - 120, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 3, 121, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 9, 121, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 13, 121, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 17, 121, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 21, 121, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 25, 121, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 29, 121, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 33, 121, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 37, 121, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 46, 121, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 58, 121, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 65, 121, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 69, 121, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 73, 121, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 77, 121, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 83, 121, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 94, 121, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 104, 121, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 113, 121, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 125, 121, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 138, 121, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 143, 121, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 148, 121, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 158, 121, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 168, 121, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 171, 121, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 178, 121, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 190, 121, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 204, 121, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 214, 121, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 227, 121, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 233, 121, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 238, 121, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 248, - 121, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 1, 122, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 15, 122, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 35, 122, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 47, 122, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 57, 122, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 70, 122, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 84, 122, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 96, 122, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 102, 122, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 121, 122, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 126, 122, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 136, 122, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 157, 122, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 175, 122, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 197, 122, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 209, 122, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 237, 122, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 248, 122, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 7, 123, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 18, 123, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 26, 123, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 34, 123, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 41, 123, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 51, 123, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 56, 123, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 63, 123, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 70, 123, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 83, 123, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 90, 123, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 97, 123, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 102, 123, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 113, 123, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 126, 123, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 137, 123, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 147, 123, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 155, 123, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 164, 123, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 172, 123, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 188, - 123, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 201, 123, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 214, 123, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 222, 123, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 229, 123, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 237, - 123, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 249, 123, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 253, 123, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 8, 124, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 13, 124, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 24, 124, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 29, 124, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 40, 124, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 44, 124, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 52, 124, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 65, 124, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 77, 124, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 92, 124, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 106, 124, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 123, - 124, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 140, 124, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 156, 124, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 177, 124, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 200, 124, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 226, - 124, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 248, 124, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 14, 125, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 47, 125, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 83, 125, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 102, 125, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 122, 125, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 140, 125, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 153, 125, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 164, 125, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 171, - 125, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 183, 125, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 191, 125, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 202, 125, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 214, 125, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 222, - 125, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 237, 125, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 248, 125, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 2, 126, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 11, 126, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 21, 126, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 32, 126, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 43, 126, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 51, 126, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 56, 126, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 68, 126, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 77, 126, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 89, 126, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 99, 126, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 116, - 126, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 131, 126, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 145, 126, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 152, 126, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 165, 126, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 174, - 126, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 197, 126, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 207, 126, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 222, 126, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 247, 126, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 253, - 126, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 11, 127, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 38, 127, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 53, 127, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 70, 127, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 88, 127, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 106, 127, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 120, 127, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 129, 127, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 140, 127, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 152, 127, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 171, 127, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 185, 127, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 200, 127, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 211, 127, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 221, - 127, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 234, 127, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 241, 127, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 253, 127, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 6, 128, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 15, - 128, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 31, 128, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 46, 128, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 55, 128, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 62, 128, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 71, 128, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 79, 128, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 95, 128, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 115, 128, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 125, 128, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 144, 128, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 162, 128, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 172, 128, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 179, 128, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 189, 128, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 200, 128, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 209, 128, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 223, 128, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 239, 128, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 254, 128, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 12, 129, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 22, 129, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 38, 129, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 52, 129, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 62, 129, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 80, 129, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 95, 129, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 117, 129, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 142, 129, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 158, 129, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 166, 129, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 178, 129, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 181, 129, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 185, 129, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 191, 129, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 197, 129, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 214, 129, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 231, 129, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 235, 129, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 249, 129, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 253, 129, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 6, 130, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 11, 130, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 24, 130, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 37, 130, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 53, 130, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 72, 130, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 88, 130, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 103, 130, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 117, - 130, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 128, 130, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 140, 130, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 145, 130, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 158, 130, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 170, - 130, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 187, 130, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 201, 130, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 206, 130, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 215, 130, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 226, - 130, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 229, 130, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 236, 130, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 249, 130, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 2, 131, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 11, - 131, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 33, 131, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 40, 131, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 62, 131, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 74, 131, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 84, 131, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 92, 131, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 111, 131, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 115, 131, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 129, 131, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 143, 131, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 155, 131, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 164, 131, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 178, 131, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 189, 131, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 199, 131, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 209, 131, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 216, 131, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 223, 131, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 233, 131, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 251, - 131, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 2, 132, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 11, 132, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 20, 132, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 30, 132, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 44, 132, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 54, 132, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 64, 132, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 73, 132, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 80, 132, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 88, 132, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 99, 132, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 107, 132, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 116, 132, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 125, - 132, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 136, 132, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 145, 132, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 156, 132, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 164, 132, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 176, - 132, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 186, 132, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 196, 132, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 207, 132, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 214, 132, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 222, - 132, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 235, 132, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 249, 132, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 4, 133, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 14, 133, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 20, 133, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 37, 133, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 55, 133, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 67, 133, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 86, 133, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 93, 133, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 105, 133, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 124, 133, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 142, 133, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 158, 133, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 175, 133, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 192, 133, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 209, 133, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 226, 133, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 245, 133, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 4, 134, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 13, 134, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 27, 134, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 45, 134, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 59, 134, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 68, 134, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 81, 134, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 98, 134, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 120, 134, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 144, - 134, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 157, 134, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 174, 134, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 186, 134, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 198, 134, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 209, - 134, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 224, 134, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 240, 134, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 5, 135, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 22, 135, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 41, 135, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 59, 135, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 76, 135, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 97, 135, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 119, 135, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 137, 135, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 155, 135, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 174, 135, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 192, 135, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 201, 135, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 213, 135, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 225, 135, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 234, 135, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 240, 135, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 6, 136, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 19, 136, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 26, 136, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 36, 136, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 47, 136, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 54, 136, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 62, 136, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 68, 136, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 78, 136, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 90, 136, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 105, - 136, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 120, 136, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 141, 136, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 152, 136, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 158, 136, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 169, - 136, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 177, 136, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 185, 136, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 205, 136, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 223, 136, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 232, - 136, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 241, 136, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 249, 136, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 137, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 12, 137, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 20, 137, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 28, 137, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 37, 137, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 44, 137, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 54, 137, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 68, 137, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 86, 137, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 93, 137, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 106, 137, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 125, - 137, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 146, 137, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 155, 137, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 168, 137, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 181, 137, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 191, - 137, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 200, 137, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 209, 137, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 219, 137, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 228, 137, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 250, - 137, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 18, 138, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 23, 138, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 30, 138, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 44, 138, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 58, 138, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 66, 138, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 75, 138, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 84, 138, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 96, 138, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 109, 138, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 121, 138, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 131, 138, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 142, 138, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 151, 138, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 164, 138, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 178, 138, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 191, 138, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 200, 138, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 208, 138, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 219, 138, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 231, 138, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 243, 138, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 1, 139, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 16, 139, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 29, 139, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 37, 139, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 48, 139, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 57, 139, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 65, 139, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 73, 139, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 89, 139, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 102, 139, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 111, 139, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 121, - 139, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 129, 139, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 141, 139, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 151, 139, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 162, 139, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 174, - 139, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 187, 139, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 199, 139, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 209, 139, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 224, 139, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 232, - 139, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 240, 139, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 249, 139, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 7, 140, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 14, 140, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 23, 140, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 30, 140, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 39, 140, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 47, 140, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 58, 140, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 68, 140, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 77, 140, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 85, 140, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 96, 140, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 104, - 140, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 112, 140, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 120, 140, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 127, 140, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 134, 140, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 142, - 140, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 152, 140, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 162, 140, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 174, 140, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 184, 140, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 193, - 140, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 200, 140, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 210, 140, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 227, 140, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 235, 140, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 242, - 140, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 255, 140, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 11, 141, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 32, 141, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 42, 141, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 52, 141, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 62, 141, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 74, 141, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 83, 141, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 95, 141, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 99, 141, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 114, 141, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 118, 141, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 126, 141, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 142, 141, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 154, 141, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 166, 141, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 178, 141, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 187, 141, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 200, 141, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 215, 141, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 224, 141, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 231, 141, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 239, 141, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 247, 141, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 1, 142, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 9, 142, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 19, 142, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 27, 142, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 36, 142, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 43, 142, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 48, 142, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 59, 142, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 69, 142, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 80, 142, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 91, 142, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 105, 142, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 119, 142, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 140, 142, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 156, 142, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 168, 142, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 178, 142, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 187, 142, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 196, 142, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 204, - 142, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 213, 142, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 220, 142, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 228, 142, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 237, 142, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 254, - 142, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 11, 143, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 30, 143, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 38, 143, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 46, 143, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 54, 143, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 63, 143, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 73, 143, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 85, 143, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 96, 143, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 107, 143, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 126, 143, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 147, 143, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 162, 143, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 176, 143, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 190, 143, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 197, 143, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 208, 143, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 226, 143, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 233, 143, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 247, 143, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 144, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 10, 144, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 21, 144, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 36, 144, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 50, 144, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 59, 144, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 71, 144, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 80, 144, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 92, 144, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 101, 144, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 110, 144, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 118, 144, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 128, 144, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 135, - 144, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 148, 144, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 157, 144, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 166, 144, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 178, 144, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 190, - 144, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 197, 144, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 214, 144, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 228, 144, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 244, 144, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, - 145, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 13, 145, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 23, 145, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 31, 145, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 42, 145, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 51, 145, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 64, 145, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 73, 145, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 82, 145, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 91, 145, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 103, 145, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 110, 145, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 122, 145, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 136, 145, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 150, 145, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 166, 145, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 175, 145, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 188, 145, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 199, 145, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 209, 145, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 217, 145, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 226, 145, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 236, 145, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 245, 145, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 2, 146, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 25, 146, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 41, 146, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 61, 146, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 73, 146, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 85, 146, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 98, 146, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 116, 146, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 125, 146, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 139, 146, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 152, 146, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 165, 146, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 176, 146, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 189, 146, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 200, 146, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 210, 146, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 223, 146, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 234, 146, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 249, 146, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 5, 147, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 13, 147, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 18, 147, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 23, 147, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 35, 147, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 43, 147, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 51, - 147, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 59, 147, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 68, 147, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 77, 147, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 86, 147, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 96, 147, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 104, 147, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 115, 147, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 127, 147, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 140, 147, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 160, 147, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 175, 147, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 188, 147, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 198, 147, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 211, 147, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 227, - 147, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 249, 147, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 2, 148, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 17, 148, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 30, 148, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 34, 148, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 43, 148, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 54, 148, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 68, 148, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 76, 148, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 85, 148, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 93, 148, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 104, 148, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 112, 148, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 120, - 148, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 130, 148, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 140, 148, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 149, 148, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 157, 148, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 165, - 148, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 174, 148, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 182, 148, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 190, 148, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 197, 148, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 209, - 148, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 217, 148, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 228, 148, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 237, 148, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 249, 148, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 3, - 149, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 11, 149, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 17, 149, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 25, 149, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 36, 149, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 49, 149, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 64, 149, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 73, 149, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 88, 149, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 102, 149, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 119, 149, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 134, 149, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 143, 149, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 152, 149, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 164, 149, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 174, 149, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 182, 149, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 197, 149, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 209, 149, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 220, 149, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 229, 149, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 236, 149, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 243, 149, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 1, 150, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 11, 150, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 28, 150, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 41, 150, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 55, 150, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 67, 150, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 75, 150, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 84, 150, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 91, 150, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 99, 150, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 106, 150, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 129, - 150, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 139, 150, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 155, 150, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 161, 150, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 169, 150, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 181, - 150, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 192, 150, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 207, 150, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 216, 150, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 227, 150, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 250, - 150, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 6, 151, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 16, 151, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 23, 151, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 40, 151, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 50, 151, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 58, 151, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 77, 151, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 90, 151, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 99, 151, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 112, 151, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 124, 151, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 129, 151, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 138, 151, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 145, 151, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 150, 151, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 161, 151, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 173, 151, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 186, 151, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 197, 151, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 205, 151, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 224, 151, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 234, 151, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 242, 151, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 3, 152, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 16, 152, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 23, 152, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 37, 152, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 51, 152, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 67, 152, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 74, 152, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 83, 152, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 95, 152, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 108, 152, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 120, - 152, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 128, 152, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 148, 152, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 156, 152, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 163, 152, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 171, - 152, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 179, 152, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 187, 152, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 195, 152, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 203, 152, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 216, - 152, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 225, 152, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 233, 152, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 241, 152, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 254, 152, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 11, - 153, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 25, 153, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 37, 153, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 46, 153, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 57, 153, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 63, 153, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 75, 153, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 85, 153, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 95, 153, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 108, 153, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 120, 153, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 133, 153, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 141, 153, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 151, 153, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 168, 153, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 177, 153, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 187, 153, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 197, 153, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 208, 153, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 219, 153, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 230, 153, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 243, 153, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 1, 154, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 9, 154, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 23, 154, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 32, 154, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 43, 154, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 53, 154, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 67, 154, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 85, - 154, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 97, 154, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 109, 154, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 117, 154, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 126, 154, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 135, - 154, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 143, 154, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 150, 154, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 160, 154, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 170, 154, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 181, - 154, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 188, 154, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 198, 154, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 209, 154, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 220, 154, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 229, - 154, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 245, 154, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 5, 155, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 14, 155, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 21, 155, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 28, 155, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 45, 155, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 60, 155, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 72, 155, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 81, 155, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 89, 155, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 102, 155, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 113, 155, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 128, 155, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 140, 155, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 151, 155, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 164, 155, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 177, 155, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 187, 155, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 200, 155, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 208, 155, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 219, 155, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 228, 155, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 235, 155, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 248, 155, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 5, 156, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 22, 156, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 32, 156, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 43, 156, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 56, 156, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 67, 156, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 78, 156, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 90, 156, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 104, 156, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 113, - 156, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 126, 156, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 141, 156, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 155, 156, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 166, 156, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 177, - 156, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 188, 156, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 199, 156, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 213, 156, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 227, 156, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 240, - 156, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 246, 156, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 252, 156, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 5, 157, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 15, 157, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 21, 157, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 29, 157, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 39, 157, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 49, 157, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 58, 157, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 69, 157, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 85, 157, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 96, 157, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 102, 157, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 110, - 157, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 118, 157, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 125, 157, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 134, 157, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 143, 157, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 150, - 157, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 161, 157, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 173, 157, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 200, 157, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 213, 157, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 227, - 157, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 235, 157, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 248, 157, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 3, 158, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 16, 158, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 27, 158, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 35, 158, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 49, 158, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 58, 158, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 67, 158, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 85, 158, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 95, 158, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 117, 158, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 125, 158, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 141, 158, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 153, 158, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 159, 158, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 170, 158, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 185, 158, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 190, 158, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 199, 158, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 211, 158, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 219, 158, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 227, 158, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 238, 158, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 246, 158, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 255, 158, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 6, 159, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 13, 159, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 21, 159, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 27, 159, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 34, 159, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 46, 159, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 60, 159, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 72, - 159, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 82, 159, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 93, 159, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 108, 159, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 119, 159, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 128, - 159, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 139, 159, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 151, 159, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 163, 159, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 174, 159, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 186, - 159, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 204, 159, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 216, 159, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 226, 159, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 233, 159, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 239, - 159, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 244, 159, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 250, 159, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 4, 160, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 12, 160, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 23, 160, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 34, 160, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 45, 160, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 57, 160, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 76, 160, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 88, 160, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 99, 160, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 117, 160, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 127, 160, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 142, 160, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 161, 160, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 172, 160, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 185, 160, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 196, 160, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 205, 160, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 222, 160, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 229, 160, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 237, 160, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 245, 160, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 4, 161, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 13, 161, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 21, 161, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 32, 161, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 46, 161, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 61, 161, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 70, 161, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 82, 161, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 101, 161, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 109, 161, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 116, - 161, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 122, 161, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 125, 161, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 130, 161, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 140, 161, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 147, - 161, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 152, 161, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 161, 161, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 167, 161, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 176, 161, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 183, - 161, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 201, 161, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 207, 161, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 213, 161, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 225, 161, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 241, - 161, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 250, 161, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 4, 162, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 14, 162, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 23, 162, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 34, 162, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 46, 162, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 57, 162, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 70, 162, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 73, 162, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 80, 162, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 86, 162, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 92, 162, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 101, 162, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 110, - 162, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 125, 162, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 131, 162, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 135, 162, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 138, 162, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 149, - 162, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 159, 162, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 165, 162, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 172, 162, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 179, 162, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 185, - 162, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 192, 162, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 199, 162, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 206, 162, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 218, 162, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 229, - 162, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 242, 162, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 253, 162, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 5, 163, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 19, 163, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 36, 163, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 71, 163, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 107, 163, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 150, 163, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 184, 163, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 214, 163, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 236, 163, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 250, 163, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 5, 164, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 14, 164, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 27, 164, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 35, 164, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 43, 164, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 52, 164, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 60, 164, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 68, 164, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 76, 164, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 84, 164, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 101, 164, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 110, - 164, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 123, 164, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 142, 164, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 151, 164, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 159, 164, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 169, - 164, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 183, 164, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 197, 164, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 216, 164, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 219, 164, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 234, - 164, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 242, 164, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 250, 164, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 7, 165, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 17, 165, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 33, 165, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 51, 165, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 76, 165, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 94, 165, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 101, 165, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 110, 165, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 116, 165, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 123, 165, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 130, 165, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 136, 165, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 153, 165, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 167, 165, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 182, 165, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 194, 165, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 207, 165, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 226, 165, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 234, 165, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 242, 165, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 251, 165, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 4, 166, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 19, 166, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 29, 166, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 39, 166, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 49, 166, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 59, 166, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 73, 166, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 84, 166, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 95, 166, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 105, 166, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 120, - 166, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 132, 166, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 140, 166, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 145, 166, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 150, 166, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 166, - 166, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 182, 166, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 188, 166, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 195, 166, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 202, 166, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 209, - 166, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 216, 166, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 223, 166, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 230, 166, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 237, 166, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 248, - 166, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 255, 166, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 8, 167, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 17, 167, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 29, 167, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 42, 167, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 59, 167, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 73, 167, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 85, 167, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 89, 167, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 96, 167, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 106, 167, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 123, 167, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 127, 167, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 136, 167, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 145, 167, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 164, 167, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 174, 167, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 187, 167, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 201, 167, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 215, 167, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 238, 167, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 254, 167, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 12, 168, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 20, 168, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 25, 168, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 45, 168, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 54, 168, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 62, 168, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 77, - 168, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 91, 168, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 100, 168, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 114, 168, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 138, 168, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 145, - 168, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 156, 168, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 174, 168, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 179, 168, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 194, 168, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 205, - 168, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 216, 168, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 229, 168, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 242, 168, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 252, 168, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 5, - 169, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 22, 169, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 34, 169, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 42, 169, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 59, 169, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 67, 169, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 73, 169, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 99, 169, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 125, 169, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 148, 169, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 171, 169, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 200, 169, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 225, 169, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 251, 169, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 21, 170, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 41, 170, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 54, 170, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 61, 170, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 68, 170, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 76, 170, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 90, 170, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 97, 170, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 111, 170, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 121, 170, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 134, - 170, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 147, 170, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 158, 170, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 165, 170, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 180, 170, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 187, - 170, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 201, 170, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 217, 170, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 233, 170, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 244, 170, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 254, - 170, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 10, 171, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 21, 171, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 34, 171, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 49, 171, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 63, 171, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 79, 171, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 83, 171, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 97, 171, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 101, 171, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 110, 171, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 118, 171, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 138, 171, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 147, 171, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 159, 171, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 175, 171, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 195, 171, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 211, 171, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 237, 171, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 252, 171, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 12, 172, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 31, 172, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 43, 172, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 61, 172, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 77, 172, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 91, 172, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 107, 172, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 120, 172, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 140, 172, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 152, 172, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 164, 172, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 178, 172, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 191, 172, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 203, 172, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 212, 172, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 223, 172, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 238, 172, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 254, 172, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 10, 173, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 24, 173, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 36, 173, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 47, 173, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 61, 173, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 70, 173, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 84, - 173, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 100, 173, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 110, 173, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 122, 173, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 131, 173, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 137, - 173, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 149, 173, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 161, 173, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 170, 173, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 184, 173, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 194, - 173, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 210, 173, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 224, 173, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 238, 173, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 254, 173, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 20, - 174, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 32, 174, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 44, 174, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 53, 174, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 71, 174, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 81, 174, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 95, 174, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 109, 174, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 129, 174, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 144, 174, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 159, 174, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 172, 174, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 185, 174, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 200, 174, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 217, 174, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 233, 174, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 1, 175, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 22, 175, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 40, 175, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 60, 175, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 83, 175, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 95, 175, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 122, 175, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 139, 175, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 153, 175, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 161, 175, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 173, 175, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 184, 175, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 198, 175, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 209, 175, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 219, 175, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 228, 175, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 236, 175, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 245, 175, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 6, 176, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 24, 176, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 37, 176, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 59, 176, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 82, 176, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 93, 176, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 105, 176, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 121, 176, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 130, 176, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 148, 176, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 159, 176, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 172, 176, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 189, 176, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 204, 176, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 213, 176, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 225, 176, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 234, 176, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 253, 176, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 12, 177, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 28, 177, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 41, 177, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 60, 177, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 70, 177, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 75, 177, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 83, 177, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 92, - 177, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 101, 177, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 115, 177, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 128, 177, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 142, 177, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 152, - 177, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 160, 177, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 175, 177, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 182, 177, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 202, 177, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 214, - 177, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 226, 177, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 233, 177, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 244, 177, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 253, 177, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 6, - 178, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 18, 178, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 28, 178, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 40, 178, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 45, 178, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 51, 178, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 58, 178, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 64, 178, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 71, 178, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 78, 178, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 84, 178, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 92, 178, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 100, 178, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 108, 178, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 117, - 178, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 126, 178, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 135, 178, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 144, 178, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 155, 178, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 161, - 178, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 171, 178, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 182, 178, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 190, 178, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 204, 178, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 216, - 178, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 232, 178, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 245, 178, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 2, 179, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 18, 179, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 36, 179, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 62, 179, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 74, 179, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 89, 179, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 102, 179, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 125, 179, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 138, 179, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 151, 179, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 164, 179, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 177, 179, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 190, 179, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 207, 179, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 215, 179, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 227, 179, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 237, 179, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 245, 179, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 180, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 15, 180, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 30, 180, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 45, 180, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 57, 180, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 73, 180, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 86, 180, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 99, 180, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 116, - 180, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 127, 180, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 134, 180, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 145, 180, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 160, 180, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 168, - 180, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 176, 180, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 185, 180, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 194, 180, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 204, 180, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 213, - 180, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 233, 180, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 254, 180, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 15, 181, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 26, 181, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 34, 181, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 47, 181, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 56, 181, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 65, 181, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 72, 181, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 83, 181, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 92, 181, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 101, 181, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 112, 181, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 121, 181, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 130, 181, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 146, 181, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 161, 181, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 165, 181, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 174, 181, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 186, 181, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 192, 181, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 205, 181, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 214, 181, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 224, 181, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 240, 181, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 1, 182, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 17, 182, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 24, 182, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 37, 182, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 56, 182, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 72, 182, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 89, 182, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 107, 182, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 123, - 182, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 142, 182, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 150, 182, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 158, 182, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 166, 182, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 173, - 182, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 184, 182, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 190, 182, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 198, 182, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 207, 182, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 219, - 182, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 232, 182, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 245, 182, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 1, 183, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 13, 183, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 20, 183, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 32, 183, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 39, 183, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 44, 183, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 55, 183, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 65, 183, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 74, 183, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 88, 183, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 98, 183, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 109, - 183, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 114, 183, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 123, 183, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 132, 183, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 141, 183, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 147, - 183, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 160, 183, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 177, 183, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 186, 183, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 198, 183, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 220, - 183, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 231, 183, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 239, 183, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 250, 183, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 3, 184, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 10, - 184, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 20, 184, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 27, 184, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 33, 184, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 40, 184, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 50, 184, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 59, 184, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 73, 184, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 82, 184, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 92, 184, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 100, 184, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 121, 184, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 145, 184, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 172, 184, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 191, 184, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 197, 184, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 222, 184, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 242, 184, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 12, 185, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 39, 185, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 64, 185, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 89, 185, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 107, 185, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 124, 185, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 131, 185, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 138, 185, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 149, 185, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 160, 185, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 168, 185, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 176, 185, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 183, 185, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 191, 185, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 199, 185, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 215, 185, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 229, 185, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 247, 185, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 255, 185, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 9, 186, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 20, 186, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 33, 186, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 50, 186, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 64, 186, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 75, 186, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 87, 186, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 107, - 186, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 123, 186, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 140, 186, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 145, 186, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 157, 186, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 171, - 186, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 182, 186, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 194, 186, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 206, 186, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 218, 186, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 232, - 186, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 244, 186, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 254, 186, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 8, 187, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 21, 187, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 33, 187, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 54, 187, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 66, 187, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 81, 187, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 99, 187, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 111, 187, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 124, 187, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 133, 187, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 149, 187, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 164, 187, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 170, 187, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 182, 187, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 194, 187, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 203, 187, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 218, 187, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 233, 187, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 251, 187, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 6, 188, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 18, 188, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 28, 188, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 36, 188, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 49, 188, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 59, 188, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 70, 188, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 82, 188, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 89, 188, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 97, 188, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 106, 188, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 114, 188, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 123, - 188, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 131, 188, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 139, 188, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 146, 188, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 156, 188, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 165, - 188, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 173, 188, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 181, 188, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 192, 188, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 205, 188, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 218, - 188, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 229, 188, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 240, 188, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 252, 188, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 7, 189, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 15, - 189, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 24, 189, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 32, 189, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 41, 189, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 49, 189, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 61, 189, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 70, 189, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 76, 189, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 82, 189, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 89, 189, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 98, 189, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 108, 189, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 117, 189, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 126, 189, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 135, 189, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 146, 189, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 151, 189, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 158, 189, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 167, 189, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 174, 189, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 189, 189, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 197, 189, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 212, 189, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 225, 189, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 238, 189, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 253, 189, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 12, 190, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 26, 190, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 36, 190, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 46, 190, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 56, 190, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 62, 190, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 80, 190, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 84, 190, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 95, 190, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 106, 190, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 121, 190, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 141, 190, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 158, 190, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 164, - 190, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 176, 190, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 188, 190, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 202, 190, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 216, 190, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 230, - 190, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 241, 190, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 252, 190, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 15, 191, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 26, 191, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 42, 191, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 54, 191, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 71, 191, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 78, 191, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 87, 191, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 97, 191, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 110, 191, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 124, 191, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 135, 191, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 144, 191, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 156, 191, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 172, 191, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 188, 191, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 207, 191, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 223, 191, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 239, 191, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 2, 192, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 10, 192, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 20, 192, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 32, 192, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 48, 192, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 64, 192, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 80, 192, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 96, 192, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 104, - 192, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 116, 192, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 128, 192, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 140, 192, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 152, 192, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 164, - 192, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 183, 192, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 202, 192, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 213, 192, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 228, 192, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 243, - 192, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 252, 192, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 10, 193, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 20, 193, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 30, 193, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 42, 193, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 50, 193, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 64, 193, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 78, 193, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 95, 193, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 109, 193, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 123, 193, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 140, 193, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 149, 193, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 158, 193, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 172, 193, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 181, 193, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 191, 193, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 204, 193, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 216, 193, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 226, 193, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 239, 193, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 243, 193, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 254, 193, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 2, 194, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 10, 194, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 25, 194, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 38, 194, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 56, 194, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 60, 194, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 73, 194, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 89, 194, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 98, 194, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 109, 194, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 115, - 194, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 129, 194, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 144, 194, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 162, 194, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 170, 194, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 178, - 194, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 185, 194, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 194, 194, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 202, 194, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 211, 194, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 222, - 194, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 230, 194, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 244, 194, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 250, 194, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 5, 195, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 17, - 195, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 29, 195, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 46, 195, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 49, 195, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 74, 195, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 100, 195, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 122, 195, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 140, 195, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 143, 195, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 165, 195, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 183, - 195, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 198, 195, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 208, 195, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 226, 195, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 248, 195, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 8, - 196, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 20, 196, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 39, 196, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 53, 196, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 59, 196, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 79, 196, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 97, 196, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 119, 196, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 141, 196, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 165, 196, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 185, 196, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 196, 196, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 204, 196, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 216, 196, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 233, 196, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 241, 196, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 255, 196, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 8, 197, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 15, 197, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 21, 197, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 27, 197, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 36, 197, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 48, 197, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 62, 197, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 70, 197, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 79, 197, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 90, 197, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 100, 197, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 107, 197, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 124, - 197, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 139, 197, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 155, 197, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 170, 197, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 181, 197, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 194, - 197, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 208, 197, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 225, 197, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 234, 197, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 242, 197, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 4, - 198, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 15, 198, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 30, 198, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 40, 198, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 51, 198, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 62, 198, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 80, 198, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 98, 198, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 107, 198, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 118, 198, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 129, 198, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 139, 198, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 153, 198, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 160, 198, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 164, 198, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 173, 198, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 182, 198, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 190, 198, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 198, 198, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 207, 198, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 218, 198, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 225, 198, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 245, 198, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 199, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 12, 199, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 23, 199, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 34, 199, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 50, 199, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 67, 199, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 72, 199, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 79, 199, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 86, 199, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 98, 199, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 105, 199, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 124, - 199, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 134, 199, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 141, 199, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 159, 199, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 168, 199, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 182, - 199, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 195, 199, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 201, 199, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 210, 199, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 225, 199, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 247, - 199, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 10, 200, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 19, 200, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 33, 200, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 40, 200, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 50, 200, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 63, 200, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 72, 200, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 85, 200, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 96, 200, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 111, 200, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 125, 200, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 137, 200, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 149, 200, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 158, 200, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 170, 200, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 182, 200, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 196, 200, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 214, 200, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 223, 200, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 243, 200, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 255, 200, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 11, 201, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 21, 201, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 32, 201, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 41, 201, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 50, 201, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 57, 201, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 75, 201, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 80, - 201, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 87, 201, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 96, 201, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 102, 201, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 109, 201, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 117, - 201, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 127, 201, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 131, 201, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 139, 201, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 156, 201, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 162, - 201, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 171, 201, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 182, 201, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 190, 201, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 202, 201, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 213, - 201, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 229, 201, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 235, 201, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 241, 201, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 251, 201, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 2, - 202, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 11, 202, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 29, 202, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 44, 202, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 61, 202, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 72, 202, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 84, 202, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 94, 202, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 108, 202, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 117, 202, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 129, 202, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 143, 202, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 162, 202, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 174, 202, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 186, 202, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 194, 202, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 202, 202, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 215, 202, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 226, 202, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 238, 202, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 251, 202, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 6, 203, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 21, 203, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 33, 203, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 43, 203, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 52, 203, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 65, 203, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 82, 203, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 87, 203, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 97, - 203, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 108, 203, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 114, 203, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 122, 203, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 132, 203, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 139, - 203, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 146, 203, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 154, 203, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 162, 203, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 170, 203, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 177, - 203, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 185, 203, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 195, 203, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 208, 203, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 217, 203, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 225, - 203, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 233, 203, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 246, 203, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 8, 204, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 15, 204, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 25, 204, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 30, 204, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 46, 204, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 64, 204, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 81, 204, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 87, 204, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 97, 204, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 107, 204, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 116, 204, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 122, 204, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 132, 204, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 143, 204, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 151, 204, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 163, 204, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 176, 204, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 188, 204, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 194, 204, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 202, 204, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 211, 204, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 221, 204, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 231, 204, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 241, 204, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 3, 205, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 10, 205, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 20, 205, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 27, 205, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 34, 205, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 41, 205, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 51, 205, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 64, - 205, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 80, 205, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 97, 205, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 110, 205, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 121, 205, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 125, - 205, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 133, 205, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 143, 205, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 153, 205, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 162, 205, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 172, - 205, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 182, 205, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 196, 205, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 208, 205, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 222, 205, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 235, - 205, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 246, 205, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 255, 205, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 15, 206, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 24, 206, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 32, 206, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 40, 206, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 49, 206, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 53, 206, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 58, 206, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 68, 206, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 76, 206, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 85, 206, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 92, 206, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 108, - 206, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 115, 206, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 120, 206, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 129, 206, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 142, 206, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 148, - 206, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 164, 206, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 174, 206, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 182, 206, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 190, 206, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 202, - 206, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 208, 206, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 215, 206, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 231, 206, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 247, 206, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 2, - 207, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 14, 207, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 26, 207, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 37, 207, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 46, 207, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 59, 207, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 74, 207, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 87, 207, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 96, 207, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 105, 207, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 117, 207, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 128, 207, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 140, 207, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 153, 207, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 165, 207, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 178, 207, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 186, 207, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 204, 207, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 213, 207, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 224, 207, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 233, 207, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 255, 207, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 19, 208, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 32, 208, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 46, 208, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 61, 208, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 77, 208, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 99, 208, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 108, 208, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 118, - 208, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 136, 208, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 149, 208, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 163, 208, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 172, 208, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 189, - 208, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 193, 208, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 207, 208, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 231, 208, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 1, 209, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 18, - 209, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 29, 209, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 39, 209, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 50, 209, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 66, 209, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 74, 209, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 83, 209, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 88, 209, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 111, 209, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 132, 209, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 144, 209, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 159, 209, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 167, 209, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 181, 209, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 192, 209, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 200, 209, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 218, 209, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 225, 209, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 242, 209, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 2, 210, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 15, 210, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 24, 210, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 38, 210, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 57, 210, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 71, 210, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 79, 210, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 91, 210, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 99, 210, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 106, 210, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 120, - 210, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 127, 210, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 146, 210, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 161, 210, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 188, 210, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 198, - 210, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 207, 210, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 221, 210, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 234, 210, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 248, 210, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 4, - 211, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 13, 211, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 33, 211, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 54, 211, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 61, 211, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 75, 211, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 81, 211, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 87, 211, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 94, 211, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 101, 211, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 108, 211, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 115, 211, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 128, 211, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 140, 211, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 151, 211, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 160, 211, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 178, 211, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 188, 211, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 205, 211, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 219, 211, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 229, 211, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 240, 211, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 250, 211, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 8, 212, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 20, 212, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 39, 212, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 49, 212, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 61, 212, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 75, 212, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 85, 212, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 93, 212, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 109, 212, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 125, 212, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 133, 212, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 140, 212, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 153, 212, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 161, 212, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 177, 212, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 183, 212, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 193, 212, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 202, 212, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 213, 212, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 228, 212, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 238, 212, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 248, 212, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 251, 212, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 2, 213, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 12, 213, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 25, 213, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 43, 213, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 55, 213, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 65, 213, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 70, 213, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 85, 213, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 97, 213, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 106, 213, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 116, 213, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 128, 213, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 141, 213, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 156, - 213, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 169, 213, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 182, 213, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 204, 213, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 223, 213, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 241, - 213, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 255, 213, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 8, 214, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 21, 214, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 39, 214, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 53, 214, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 71, 214, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 82, 214, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 94, 214, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 106, 214, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 119, 214, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 130, 214, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 147, 214, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 162, 214, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 179, 214, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 184, 214, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 194, 214, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 209, 214, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 223, 214, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 239, 214, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 249, 214, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 6, 215, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 23, 215, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 35, 215, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 52, 215, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 68, 215, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 93, 215, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 100, 215, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 113, 215, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 126, - 215, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 140, 215, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 149, 215, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 152, 215, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 162, 215, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 170, - 215, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 178, 215, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 195, 215, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 206, 215, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 218, 215, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 229, - 215, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 250, 215, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 6, 216, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 16, 216, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 27, 216, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 42, 216, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 47, 216, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 56, 216, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 70, 216, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 84, 216, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 98, 216, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 112, 216, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 121, 216, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 145, 216, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 154, 216, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 166, 216, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 176, 216, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 192, 216, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 201, 216, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 216, 216, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 230, 216, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 240, 216, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 249, 216, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 4, 217, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 10, 217, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 18, 217, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 32, 217, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 46, 217, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 61, 217, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 79, - 217, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 91, 217, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 107, 217, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 129, 217, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 139, 217, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 152, - 217, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 162, 217, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 168, 217, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 185, 217, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 191, 217, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 198, - 217, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 206, 217, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 214, 217, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 226, 217, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 239, 217, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 5, - 218, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 26, 218, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 48, 218, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 73, 218, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 85, 218, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 95, 218, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 110, 218, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 126, 218, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 135, 218, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 142, 218, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 154, 218, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 171, 218, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 181, 218, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 191, 218, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 197, 218, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 207, - 218, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 218, 218, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 225, 218, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 235, 218, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 243, 218, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 251, - 218, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 6, 219, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 19, 219, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 28, 219, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 45, 219, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 65, 219, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 74, 219, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 81, 219, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 90, 219, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 102, 219, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 124, 219, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 135, 219, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 142, 219, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 149, 219, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 158, 219, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 179, 219, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 188, 219, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 200, 219, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 211, 219, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 216, 219, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 221, 219, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 224, 219, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 234, 219, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 244, 219, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 253, 219, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 1, 220, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 8, 220, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 19, 220, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 33, 220, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 48, 220, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 60, 220, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 75, 220, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 80, 220, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 88, 220, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 100, - 220, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 113, 220, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 123, 220, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 132, 220, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 143, 220, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 158, - 220, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 163, 220, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 172, 220, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 186, 220, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 198, 220, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 211, - 220, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 223, 220, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 234, 220, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 244, 220, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 252, 220, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 11, - 221, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 24, 221, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 31, 221, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 46, 221, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 56, 221, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 68, 221, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 80, 221, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 93, 221, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 103, 221, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 116, 221, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 128, 221, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 146, 221, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 163, 221, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 172, 221, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 183, 221, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 194, 221, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 214, 221, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 220, 221, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 229, 221, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 239, 221, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 2, 222, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 19, 222, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 41, 222, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 63, 222, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 80, 222, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 98, 222, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 114, 222, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 125, 222, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 137, 222, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 149, 222, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 168, 222, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 187, 222, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 198, 222, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 210, 222, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 215, 222, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 224, 222, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 235, 222, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 248, 222, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 1, 223, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 11, 223, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 23, 223, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 36, 223, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 44, 223, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 48, 223, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 60, - 223, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 70, 223, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 82, 223, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 92, 223, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 102, 223, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 110, 223, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 120, 223, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 131, 223, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 146, 223, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 157, 223, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 163, - 223, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 174, 223, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 187, 223, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 196, 223, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 207, 223, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 223, - 223, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 240, 223, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 250, 223, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 4, 224, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 19, 224, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 33, 224, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 45, 224, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 61, 224, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 79, 224, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 81, 224, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 91, 224, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 101, 224, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 107, 224, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 116, 224, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 129, 224, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 138, 224, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 151, 224, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 164, 224, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 172, 224, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 185, 224, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 202, 224, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 213, 224, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 223, 224, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 236, 224, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 246, 224, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 9, 225, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 18, 225, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 33, 225, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 54, 225, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 75, 225, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 92, 225, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 104, 225, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 119, 225, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 130, 225, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 147, 225, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 158, 225, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 175, 225, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 190, 225, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 202, 225, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 210, 225, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 216, 225, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 222, 225, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 236, 225, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 245, 225, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 1, 226, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 16, 226, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 32, 226, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 49, 226, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 60, 226, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 71, 226, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 88, 226, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 99, 226, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 110, 226, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 120, 226, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 130, - 226, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 136, 226, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 146, 226, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 156, 226, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 163, 226, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 169, - 226, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 174, 226, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 197, 226, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 202, 226, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 213, 226, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 224, - 226, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 242, 226, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 1, 227, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 9, 227, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 18, 227, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 31, 227, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 37, 227, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 46, 227, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 54, 227, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 61, 227, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 68, 227, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 75, 227, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 85, 227, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 104, 227, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 116, - 227, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 126, 227, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 139, 227, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 153, 227, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 163, 227, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 178, - 227, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 192, 227, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 205, 227, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 218, 227, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 232, 227, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 248, - 227, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 7, 228, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 19, 228, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 36, 228, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 59, 228, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 76, 228, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 88, 228, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 97, 228, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 109, 228, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 117, 228, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 132, 228, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 151, 228, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 159, 228, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 173, 228, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 189, 228, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 210, 228, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 222, 228, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 238, 228, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 252, 228, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 6, 229, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 17, 229, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 30, 229, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 45, 229, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 60, 229, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 73, 229, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 89, 229, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 97, 229, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 109, 229, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 125, 229, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 139, - 229, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 155, 229, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 172, 229, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 179, 229, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 191, 229, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 206, - 229, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 225, 229, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 232, 229, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 252, 229, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 16, 230, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 29, - 230, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 41, 230, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 54, 230, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 66, 230, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 75, 230, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 86, 230, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 98, 230, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 110, 230, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 119, 230, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 128, 230, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 139, 230, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 163, 230, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 187, 230, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 204, 230, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 214, 230, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 227, 230, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 239, 230, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 252, 230, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 4, 231, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 12, 231, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 29, 231, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 38, 231, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 54, 231, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 68, 231, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 83, 231, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 99, 231, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 114, 231, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 135, 231, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 147, 231, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 163, 231, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 173, 231, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 183, 231, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 200, 231, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 217, 231, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 230, 231, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 241, 231, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 251, 231, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 1, 232, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 16, 232, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 31, 232, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 38, 232, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 43, 232, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 60, 232, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 74, 232, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 86, 232, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 105, 232, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 115, 232, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 121, 232, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 130, 232, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 138, - 232, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 152, 232, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 168, 232, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 175, 232, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 181, 232, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 188, - 232, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 195, 232, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 205, 232, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 216, 232, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 227, 232, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 245, - 232, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 3, 233, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 21, 233, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 30, 233, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 40, 233, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 49, 233, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 59, 233, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 68, 233, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 76, 233, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 84, 233, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 101, 233, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 112, 233, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 119, 233, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 133, 233, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 148, 233, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 159, 233, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 185, 233, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 198, 233, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 215, 233, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 226, 233, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 240, 233, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 4, 234, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 19, 234, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 33, 234, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 53, 234, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 69, 234, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 86, 234, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 106, 234, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 123, 234, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 137, - 234, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 148, 234, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 161, 234, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 171, 234, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 180, 234, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 189, - 234, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 194, 234, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 201, 234, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 212, 234, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 224, 234, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 232, - 234, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 243, 234, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 252, 234, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 4, 235, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 15, 235, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 33, 235, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 48, 235, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 62, 235, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 85, 235, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 106, 235, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 123, 235, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 140, 235, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 155, 235, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 166, 235, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 178, 235, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 193, 235, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 202, 235, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 213, 235, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 220, 235, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 228, 235, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 236, 235, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 255, 235, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 16, 236, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 36, 236, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 52, 236, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 72, 236, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 90, 236, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 103, 236, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 112, 236, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 122, 236, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 131, 236, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 141, 236, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 154, 236, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 169, 236, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 182, 236, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 194, 236, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 205, 236, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 217, 236, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 226, 236, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 235, 236, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 239, 236, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 245, 236, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 237, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 13, 237, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 23, 237, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 37, 237, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 46, 237, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 55, 237, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 70, 237, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 76, 237, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 88, 237, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 91, 237, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 96, 237, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 101, 237, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 106, - 237, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 111, 237, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 116, 237, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 120, 237, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 124, 237, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 133, - 237, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 140, 237, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 145, 237, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 158, 237, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 170, 237, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 188, - 237, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 192, 237, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 199, 237, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 206, 237, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 209, 237, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 212, - 237, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 215, 237, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 230, 237, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 241, 237, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 252, 237, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 5, - 238, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 26, 238, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 30, 238, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 39, 238, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 52, 238, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 64, 238, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 70, 238, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 84, 238, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 97, 238, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 112, 238, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 131, 238, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 146, 238, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 161, 238, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 177, 238, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 192, 238, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 208, 238, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 219, 238, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 230, 238, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 239, 238, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 248, 238, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 2, 239, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 12, 239, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 23, 239, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 34, 239, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 44, 239, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 55, 239, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 72, 239, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 87, 239, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 101, 239, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 117, - 239, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 132, 239, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 149, 239, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 167, 239, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 185, 239, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 200, - 239, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 220, 239, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 237, 239, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 251, 239, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 9, 240, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 22, - 240, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 40, 240, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 62, 240, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 84, 240, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 98, 240, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 115, 240, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 135, 240, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 156, 240, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 176, 240, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 194, 240, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 203, - 240, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 207, 240, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 215, 240, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 223, 240, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 232, 240, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 242, - 240, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 252, 240, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 7, 241, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 19, 241, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 30, 241, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 43, 241, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 63, 241, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 78, 241, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 94, 241, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 110, 241, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 130, 241, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 147, 241, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 165, 241, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 168, 241, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 172, 241, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 177, 241, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 186, 241, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 196, 241, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 208, 241, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 220, 241, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 233, 241, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 241, 241, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 254, 241, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 20, 242, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 37, 242, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 47, 242, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 61, 242, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 77, 242, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 93, 242, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 109, 242, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 114, 242, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 127, 242, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 143, 242, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 167, 242, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 180, 242, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 196, 242, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 213, 242, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 232, 242, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 250, 242, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 14, 243, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 35, 243, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 48, 243, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 62, 243, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 79, 243, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 94, 243, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 112, 243, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 129, 243, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 147, 243, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 167, 243, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 184, 243, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 202, 243, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 216, 243, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 230, 243, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 249, 243, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 14, 244, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 31, 244, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 48, 244, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 68, 244, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 86, 244, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 98, 244, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 109, 244, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 118, 244, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 127, 244, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 139, 244, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 149, 244, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 159, 244, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 168, 244, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 174, 244, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 186, 244, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 199, 244, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 203, 244, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 213, 244, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 224, 244, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 236, 244, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 246, 244, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 245, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 9, 245, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 14, 245, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 21, 245, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 34, 245, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 49, 245, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 58, 245, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 71, 245, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 88, 245, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 100, - 245, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 119, 245, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 138, 245, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 157, 245, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 176, 245, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 197, - 245, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 204, 245, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 224, 245, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 247, 245, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 14, 246, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 35, - 246, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 56, 246, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 75, 246, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 90, 246, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 112, 246, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 134, 246, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 154, 246, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 162, 246, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 170, 246, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 177, 246, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 185, - 246, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 201, 246, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 219, 246, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 223, 246, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 235, 246, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 252, - 246, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 1, 247, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 7, 247, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 18, 247, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 23, 247, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 26, 247, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 30, 247, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 43, 247, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 52, 247, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 62, 247, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 71, 247, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 81, 247, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 90, 247, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 102, 247, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 114, - 247, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 119, 247, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 128, 247, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 133, 247, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 138, 247, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 147, - 247, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 161, 247, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 179, 247, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 189, 247, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 199, 247, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 209, - 247, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 225, 247, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 229, 247, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 241, 247, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 251, 247, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 8, - 248, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 21, 248, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 34, 248, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 43, 248, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 52, 248, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 62, 248, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 72, 248, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 87, 248, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 100, 248, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 111, 248, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 121, 248, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 135, 248, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 149, 248, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 164, 248, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 174, 248, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 193, 248, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 210, 248, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 224, 248, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 232, 248, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 243, 248, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 1, 249, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 12, 249, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 25, 249, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 34, 249, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 41, 249, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 51, 249, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 74, 249, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 89, 249, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 110, 249, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 121, - 249, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 133, 249, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 141, 249, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 151, 249, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 161, 249, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 178, - 249, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 192, 249, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 206, 249, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 221, 249, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 235, 249, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 243, - 249, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 252, 249, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 9, 250, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 29, 250, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 42, 250, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 63, 250, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 77, 250, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 99, 250, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 109, 250, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 125, 250, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 143, 250, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 173, 250, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 188, 250, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 202, 250, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 214, 250, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 224, 250, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 238, 250, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 249, 250, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 6, 251, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 18, 251, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 28, 251, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 43, 251, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 53, 251, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 74, 251, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 86, 251, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 103, 251, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 120, 251, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 140, 251, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 160, 251, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 176, 251, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 193, 251, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 214, 251, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 238, 251, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 255, 251, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 16, 252, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 40, 252, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 64, 252, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 87, 252, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 110, 252, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 119, 252, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 136, 252, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 149, 252, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 152, 252, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 161, 252, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 171, 252, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 186, 252, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 214, 252, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 224, 252, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 236, 252, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 250, 252, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 7, 253, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 20, 253, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 30, 253, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 46, 253, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 62, 253, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 78, 253, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 97, 253, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 112, 253, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 122, 253, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 133, - 253, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 142, 253, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 151, 253, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 161, 253, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 182, 253, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 204, - 253, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 226, 253, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 244, 253, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 6, 254, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 23, 254, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 48, 254, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 74, 254, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 100, 254, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 109, 254, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 120, 254, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 131, 254, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 137, 254, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 143, 254, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 160, 254, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 177, 254, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 189, - 254, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 212, 254, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 221, 254, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 239, 254, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 1, 255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 24, - 255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 33, 255, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 40, 255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 53, 255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 66, 255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 87, 255, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 110, 255, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 131, 255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 145, 255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 159, 255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 180, 255, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 201, 255, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 213, 255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 226, 255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 239, 255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 3, 0, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 21, 0, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 26, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 40, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 55, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 65, 0, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 78, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 87, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 93, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 104, 0, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 110, 0, 2, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 120, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 125, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 137, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 158, 0, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 182, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 189, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 198, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 224, 0, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 231, 0, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 8, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 11, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 37, 1, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 56, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 66, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 78, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 91, 1, 2, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 106, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 114, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 120, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 126, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 130, 1, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 134, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 142, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 151, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 155, 1, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 163, 1, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 169, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 184, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 201, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 223, 1, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 233, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 253, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 12, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 19, 2, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 35, 2, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 51, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 67, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 79, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 95, 2, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 109, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 125, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 139, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 160, 2, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 168, 2, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 176, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 191, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 208, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 225, 2, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 244, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 6, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 15, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 31, 3, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 37, 3, 2, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 45, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 54, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 59, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 65, 3, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 74, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 76, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 78, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 86, 3, 2, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 91, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 99, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 107, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 111, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 117, 3, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 122, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 128, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 139, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 147, 3, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 158, 3, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 169, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 182, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 194, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 211, 3, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 224, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 233, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 242, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 255, - 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 18, 4, 2, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 26, 4, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 35, 4, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 43, 4, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 48, 4, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 61, 4, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 66, 4, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 73, 4, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 83, 4, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 97, 4, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 112, 4, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 126, 4, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 135, 4, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 146, 4, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 158, 4, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 165, 4, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 174, 4, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 186, - 4, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 199, 4, 2, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 213, 4, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 225, 4, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 232, 4, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 246, 4, 2, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 5, 5, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 17, 5, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 42, 5, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 68, 5, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 80, 5, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 91, 5, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 100, 5, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 113, 5, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 123, 5, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 136, 5, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 144, 5, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 157, 5, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 168, - 5, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 180, 5, 2, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 196, 5, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 209, 5, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 218, 5, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 231, 5, 2, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 239, 5, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 249, 5, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 1, 6, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 8, 6, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 24, 6, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 32, 6, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 45, 6, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 58, 6, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 69, 6, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 88, 6, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 103, 6, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 134, 6, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 179, 6, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 224, 6, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 12, 7, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 44, 7, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 79, 7, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 115, 7, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 158, 7, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 203, 7, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 235, 7, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 2, 8, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 10, 8, 2, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 59, 8, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 105, 8, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 160, 8, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 220, 8, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 22, 9, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 58, 9, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 92, 9, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 106, 9, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 162, 9, 2, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 215, 9, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 31, 10, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 73, 10, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 113, 10, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 135, 10, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 196, 10, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 254, 10, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 57, 11, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 108, 11, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 159, 11, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 207, 11, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 228, 11, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 34, 12, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 81, 12, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 139, 12, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 181, 12, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 228, - 12, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 240, 12, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 31, 13, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 79, 13, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 117, 13, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 137, 13, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 165, 13, 2, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 180, 13, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 191, 13, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 206, 13, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 217, 13, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 230, 13, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 248, 13, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 16, 14, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 38, 14, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 66, 14, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 84, 14, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 108, 14, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 130, 14, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 158, 14, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 185, 14, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 210, 14, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 235, 14, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 248, - 14, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 14, 15, 2, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 42, 15, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 64, 15, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 92, 15, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 106, 15, 2, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 129, 15, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 158, 15, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 181, 15, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 210, 15, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 231, 15, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 248, 15, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 8, 16, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 24, 16, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 48, 16, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 61, 16, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 75, 16, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 90, 16, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 110, 16, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 131, 16, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 146, 16, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 157, 16, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 173, 16, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 190, - 16, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 201, 16, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 219, 16, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 233, 16, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 249, 16, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 9, 17, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 25, 17, 2, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 45, 17, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 60, 17, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 69, 17, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 78, 17, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 97, 17, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 112, 17, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 122, 17, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 135, 17, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 147, 17, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 159, 17, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 179, 17, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 197, 17, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 211, 17, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 226, 17, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 248, 17, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 10, 18, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 24, - 18, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 39, 18, 2, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 54, 18, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 69, 18, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 79, 18, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 89, 18, 2, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 93, 18, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 106, 18, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 113, 18, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 120, 18, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 125, 18, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 130, 18, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 150, 18, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 163, 18, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 177, 18, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 189, 18, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 212, 18, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 225, 18, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 238, 18, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 249, 18, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 19, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 20, 19, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 33, 19, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 40, - 19, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 47, 19, 2, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 54, 19, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 74, 19, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 87, 19, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 101, 19, 2, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 113, 19, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 136, 19, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 149, 19, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 162, 19, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 171, 19, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 191, 19, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 202, 19, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 209, 19, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 218, 19, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 226, 19, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 233, 19, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 239, 19, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 2, 20, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 8, 20, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 19, 20, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 36, 20, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 40, 20, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 46, 20, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 58, 20, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 67, 20, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 88, 20, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 97, 20, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 109, 20, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 119, 20, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 133, 20, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 143, 20, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 156, - 20, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 163, 20, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 177, 20, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 195, 20, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 215, 20, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 224, 20, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 233, 20, 2, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 250, 20, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 11, 21, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 24, 21, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 31, 21, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 38, 21, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 48, 21, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 61, 21, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 70, 21, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 79, 21, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 91, 21, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 106, 21, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 123, 21, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 136, 21, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 150, 21, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 155, 21, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 168, 21, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 182, - 21, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 191, 21, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 203, 21, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 219, 21, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 229, 21, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 238, 21, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 250, 21, 2, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 5, 22, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 17, 22, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 33, 22, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 49, 22, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 60, 22, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 76, 22, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 94, 22, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 102, 22, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 113, 22, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 127, 22, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 138, 22, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 150, 22, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 165, 22, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 178, 22, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 190, 22, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 198, 22, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 210, - 22, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 226, 22, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 238, 22, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 5, 23, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 28, 23, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 47, 23, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 54, 23, 2, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 66, 23, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 79, 23, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 91, 23, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 108, 23, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 131, 23, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 143, 23, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 160, 23, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 179, 23, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 189, 23, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 205, 23, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 227, 23, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 238, 23, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 250, 23, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 9, 24, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 32, 24, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 51, 24, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 65, - 24, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 82, 24, 2, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 99, 24, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 120, 24, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 135, 24, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 153, 24, 2, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 166, 24, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 177, 24, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 181, 24, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 198, 24, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 211, 24, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 233, 24, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 249, 24, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 9, 25, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 35, 25, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 40, 25, 2, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 52, 25, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 74, 25, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 92, 25, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 117, 25, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 139, 25, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 157, 25, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 177, 25, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 199, 25, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 223, 25, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 240, 25, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 9, 26, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 25, 26, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 45, 26, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 73, 26, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 88, 26, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 114, 26, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 145, - 26, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 164, 26, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 181, 26, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 211, 26, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 236, 26, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 5, 27, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 33, 27, 2, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 59, 27, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 85, 27, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 105, 27, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 127, 27, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 146, 27, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 168, 27, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 187, 27, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 215, 27, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 240, 27, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 11, 28, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 34, 28, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 49, 28, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 64, 28, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 78, 28, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 88, 28, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 96, 28, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 101, - 28, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 109, 28, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 128, 28, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 152, 28, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 163, 28, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 180, 28, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 194, 28, 2, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 208, 28, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 233, 28, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 243, 28, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 254, 28, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 12, 29, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 24, 29, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 35, 29, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 46, 29, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 59, 29, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 70, 29, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 85, 29, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 97, 29, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 113, 29, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 133, 29, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 147, 29, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 162, 29, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 179, - 29, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 199, 29, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 210, 29, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 217, 29, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 226, 29, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 238, 29, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 250, 29, 2, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 12, 30, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 33, 30, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 52, 30, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 71, 30, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 97, 30, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 108, 30, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 120, 30, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 143, 30, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 166, 30, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 186, 30, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 198, 30, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 214, 30, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 226, 30, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 236, 30, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 249, 30, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 7, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 15, 31, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 25, 31, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 38, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 47, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 57, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 71, 31, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 79, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 87, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 107, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 119, - 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 131, 31, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 134, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 142, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 157, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 179, 31, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 201, 31, 2, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 218, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 244, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 252, 31, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 8, 32, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 20, 32, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 25, 32, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 55, 32, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 67, 32, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 97, 32, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 115, 32, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 151, 32, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 170, 32, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 182, 32, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 194, 32, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 209, 32, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 220, 32, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 226, - 32, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 239, 32, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 254, 32, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 8, 33, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 18, 33, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 26, 33, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 36, 33, 2, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 53, 33, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 65, 33, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 77, 33, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 92, 33, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 101, 33, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 108, 33, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 123, 33, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 126, 33, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 146, 33, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 149, 33, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 159, 33, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 171, 33, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 183, 33, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 192, 33, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 203, 33, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 213, 33, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 226, - 33, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 246, 33, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 1, 34, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 10, 34, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 18, 34, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 26, 34, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 32, 34, 2, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 40, 34, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 44, 34, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 57, 34, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 76, 34, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 95, 34, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 121, 34, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 148, 34, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 166, 34, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 185, 34, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 205, 34, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 227, 34, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 249, 34, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 15, 35, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 33, 35, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 51, 35, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 73, 35, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 93, - 35, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 115, 35, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 137, 35, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 158, 35, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 179, 35, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 200, 35, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 224, 35, 2, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 246, 35, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 17, 36, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 39, 36, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 61, 36, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 78, 36, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 96, 36, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 111, 36, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 125, 36, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 135, 36, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 144, 36, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 153, 36, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 161, 36, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 172, 36, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 180, 36, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 194, 36, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 212, 36, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 217, - 36, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 226, 36, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 238, 36, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 254, 36, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 19, 37, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 37, 37, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 55, 37, 2, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 74, 37, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 77, 37, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 80, 37, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 97, 37, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 117, 37, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 126, 37, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 137, 37, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 151, 37, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 165, 37, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 174, 37, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 184, 37, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 196, 37, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 201, 37, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 211, 37, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 223, 37, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 230, 37, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 237, - 37, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 243, 37, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 2, 38, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 12, 38, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 30, 38, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 49, 38, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 70, 38, 2, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 87, 38, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 96, 38, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 105, 38, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 124, 38, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 139, 38, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 159, 38, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 171, 38, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 181, 38, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 200, 38, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 215, 38, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 227, 38, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 239, 38, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 255, 38, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 11, 39, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 21, 39, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 40, 39, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 48, - 39, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 57, 39, 2, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 67, 39, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 79, 39, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 93, 39, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 104, 39, 2, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 115, 39, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 129, 39, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 148, 39, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 169, 39, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 181, 39, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 185, 39, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 193, 39, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 212, 39, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 219, 39, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 231, 39, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 242, 39, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 254, 39, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 11, 40, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 23, 40, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 33, 40, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 45, 40, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 57, 40, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 74, - 40, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 91, 40, 2, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 110, 40, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 119, 40, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 129, 40, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 139, 40, 2, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 150, 40, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 162, 40, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 176, 40, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 193, 40, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 214, 40, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 219, 40, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 224, 40, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 239, 40, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 5, 41, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 15, 41, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 28, 41, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 36, 41, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 48, 41, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 59, 41, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 67, 41, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 86, 41, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 99, 41, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 110, - 41, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 129, 41, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 136, 41, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 148, 41, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 169, 41, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 188, 41, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 199, 41, 2, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 209, 41, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 231, 41, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 243, 41, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 4, 42, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 21, 42, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 38, 42, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 53, 42, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 70, 42, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 79, 42, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 89, 42, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 100, 42, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 107, 42, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 119, 42, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 130, 42, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 144, 42, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 154, 42, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 164, - 42, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 174, 42, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 196, 42, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 224, 42, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 247, 42, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 15, 43, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 40, 43, 2, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 63, 43, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 89, 43, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 113, 43, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 140, 43, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 165, 43, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 193, 43, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 223, 43, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 253, 43, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 21, 44, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 45, 44, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 70, 44, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 96, 44, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 120, 44, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 146, 44, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 172, 44, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 200, 44, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 229, - 44, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 2, 45, 2, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 29, 45, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 54, 45, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 78, 45, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 106, 45, 2, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 134, 45, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 161, 45, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 186, 45, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 209, 45, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 225, 45, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 231, 45, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 242, 45, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 3, 46, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 20, 46, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 28, 46, 2, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 45, 46, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 62, 46, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 78, 46, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 99, 46, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 114, 46, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 131, 46, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 136, 46, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 148, 46, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 165, 46, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 173, 46, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 184, 46, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 188, 46, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 210, 46, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 225, 46, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 233, 46, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 243, 46, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 249, - 46, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 1, 47, 2, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 13, 47, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 23, 47, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 44, 47, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 64, 47, 2, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 73, 47, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 82, 47, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 95, 47, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 108, 47, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 122, 47, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 135, 47, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 157, 47, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 190, 47, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 215, 47, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 231, 47, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 254, 47, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 32, 48, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 58, 48, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 74, 48, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 97, 48, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 127, 48, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 149, 48, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 166, - 48, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 183, 48, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 207, 48, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 228, 48, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 247, 48, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 5, 49, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 19, 49, 2, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 33, 49, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 46, 49, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 59, 49, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 72, 49, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 84, 49, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 94, 49, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 129, 49, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 140, 49, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 151, 49, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 159, 49, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 167, 49, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 175, 49, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 183, 49, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 191, 49, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 207, 49, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 223, 49, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 238, - 49, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 252, 49, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 7, 50, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 18, 50, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 29, 50, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 64, 50, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 76, 50, 2, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 92, 50, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 104, 50, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 116, 50, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 128, 50, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 140, 50, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 152, 50, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 164, 50, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 177, 50, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 194, 50, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 207, 50, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 221, 50, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 234, 50, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 248, 50, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 5, 51, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 19, 51, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 30, 51, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 38, - 51, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 47, 51, 2, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 59, 51, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 71, 51, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 82, 51, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 92, 51, 2, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 103, 51, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 122, 51, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 139, 51, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 153, 51, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 167, 51, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 180, 51, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 191, 51, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 203, 51, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 215, 51, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 228, 51, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 239, 51, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 247, 51, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 7, 52, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 14, 52, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 21, 52, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 31, 52, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 40, 52, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 48, 52, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 56, 52, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 75, 52, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 82, 52, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 97, 52, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 111, 52, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 124, 52, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 138, 52, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 152, 52, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 165, - 52, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 177, 52, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 187, 52, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 195, 52, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 207, 52, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 222, 52, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 239, 52, 2, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 248, 52, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 255, 52, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 7, 53, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 20, 53, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 27, 53, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 36, 53, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 45, 53, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 54, 53, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 65, 53, 2, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 73, 53, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 89, 53, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 94, 53, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 104, 53, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 120, 53, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 131, 53, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 142, 53, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 160, 53, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 177, 53, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 194, 53, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 205, 53, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 217, 53, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 236, 53, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 3, 54, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 22, 54, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 45, 54, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 67, - 54, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 87, 54, 2, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 107, 54, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 115, 54, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 127, 54, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 139, 54, 2, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 152, 54, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 164, 54, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 176, 54, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 196, 54, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 217, 54, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 227, 54, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 235, 54, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 246, 54, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 23, 55, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 39, 55, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 56, 55, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 74, 55, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 101, 55, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 130, 55, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 149, 55, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 163, 55, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 185, 55, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 208, - 55, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 226, 55, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 246, 55, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 4, 56, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 13, 56, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 40, 56, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 67, 56, 2, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 93, 56, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 119, 56, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 140, 56, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 171, 56, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 202, 56, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 234, 56, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 7, 57, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 36, 57, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 66, 57, 2, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 83, 57, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 97, 57, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 111, 57, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 115, 57, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 139, 57, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 153, 57, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 166, 57, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 179, 57, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 193, 57, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 211, 57, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 224, 57, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 247, 57, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 4, 58, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 19, 58, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 31, 58, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 55, 58, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 72, - 58, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 89, 58, 2, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 104, 58, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 126, 58, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 149, 58, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 166, 58, 2, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 176, 58, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 186, 58, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 201, 58, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 212, 58, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 224, 58, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 243, 58, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 4, 59, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 21, 59, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 38, 59, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 59, 59, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 78, 59, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 107, 59, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 134, 59, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 156, 59, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 177, 59, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 201, 59, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 226, 59, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 251, - 59, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 14, 60, 2, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 30, 60, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 47, 60, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 64, 60, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 82, 60, 2, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 103, 60, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 120, 60, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 138, 60, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 157, 60, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 176, 60, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 191, 60, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 215, 60, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 237, 60, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 2, 61, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 26, 61, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 43, 61, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 66, 61, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 83, 61, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 98, 61, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 107, 61, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 138, 61, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 167, 61, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 192, - 61, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 222, 61, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 253, 61, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 18, 62, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 31, 62, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 47, 62, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 54, 62, 2, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 60, 62, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 83, 62, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 112, 62, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 141, 62, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 170, 62, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 199, 62, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 228, 62, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 252, 62, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 6, 63, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 13, 63, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 20, 63, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 34, 63, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 44, 63, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 55, 63, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 64, 63, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 74, 63, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 89, - 63, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 98, 63, 2, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 110, 63, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 125, 63, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 136, 63, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 142, 63, 2, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 149, 63, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 163, 63, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 173, 63, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 178, 63, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 189, 63, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 198, 63, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 205, 63, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 219, 63, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 229, 63, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 241, 63, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 252, 63, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 9, 64, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 21, 64, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 28, 64, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 37, 64, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 47, 64, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 50, 64, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 54, - 64, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 63, 64, 2, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 75, 64, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 80, 64, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 89, 64, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 99, 64, 2, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 112, 64, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 123, 64, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 127, 64, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 137, 64, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 155, 64, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 161, 64, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 165, 64, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 184, 64, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 202, 64, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 214, 64, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 224, 64, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 229, 64, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 235, 64, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 249, 64, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 13, 65, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 24, 65, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 41, 65, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 56, - 65, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 73, 65, 2, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 89, 65, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 103, 65, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 111, 65, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 136, 65, 2, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 152, 65, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 169, 65, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 188, 65, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 214, 65, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 231, 65, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 245, 65, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 11, 66, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 34, 66, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 55, 66, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 74, 66, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 82, 66, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 109, 66, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 135, 66, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 164, 66, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 194, 66, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 226, 66, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 250, 66, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 13, - 67, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 23, 67, 2, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 44, 67, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 63, 67, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 83, 67, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 103, 67, 2, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 123, 67, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 143, 67, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 171, 67, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 195, 67, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 211, 67, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 233, 67, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 253, 67, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 15, 68, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 33, 68, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 47, 68, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 61, 68, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 79, 68, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 83, 68, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 88, 68, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 93, 68, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 98, 68, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 104, 68, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 124, - 68, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 130, 68, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 158, 68, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 189, 68, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 219, 68, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 245, 68, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 13, 69, 2, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 33, 69, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 56, 69, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 74, 69, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 91, 69, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 111, 69, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 131, 69, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 156, 69, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 181, 69, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 209, 69, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 237, 69, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 5, 70, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 30, 70, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 59, 70, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 91, 70, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 107, 70, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 120, 70, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 136, - 70, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 150, 70, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 165, 70, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 179, 70, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 194, 70, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 207, 70, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 214, 70, 2, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 221, 70, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 229, 70, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 247, 70, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 4, 71, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 27, 71, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 37, 71, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 47, 71, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 75, 71, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 98, 71, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 117, 71, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 136, 71, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 151, 71, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 165, 71, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 179, 71, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 195, 71, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 211, 71, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 225, - 71, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 243, 71, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 1, 72, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 26, 72, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 58, 72, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 93, 72, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 111, 72, 2, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 141, 72, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 156, 72, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 165, 72, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 189, 72, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 201, 72, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 228, 72, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 238, 72, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 249, 72, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 73, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 12, 73, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 21, 73, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 31, 73, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 42, 73, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 53, 73, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 72, 73, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 75, 73, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 85, - 73, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 100, 73, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 112, 73, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 128, 73, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 145, 73, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 159, 73, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 175, 73, 2, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 190, 73, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 198, 73, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 213, 73, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 221, 73, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 238, 73, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 74, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 5, 74, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 10, 74, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 19, 74, 2, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 28, 74, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 40, 74, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 50, 74, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 57, 74, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 66, 74, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 75, 74, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 83, 74, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 93, 74, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 105, 74, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 114, 74, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 130, 74, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 144, 74, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 154, 74, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 168, 74, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 178, 74, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 188, 74, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 202, - 74, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 220, 74, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 231, 74, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 242, 74, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 252, 74, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 6, 75, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 13, 75, 2, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 21, 75, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 31, 75, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 42, 75, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 47, 75, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 55, 75, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 64, 75, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 74, 75, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 85, 75, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 94, 75, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 110, 75, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 118, 75, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 126, 75, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 137, 75, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 145, 75, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 154, 75, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 167, 75, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 178, - 75, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 189, 75, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 201, 75, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 207, 75, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 214, 75, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 221, 75, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 235, 75, 2, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 248, 75, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 4, 76, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 17, 76, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 27, 76, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 37, 76, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 45, 76, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 54, 76, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 68, 76, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 74, 76, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 78, 76, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 88, 76, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 98, 76, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 110, 76, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 122, 76, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 144, 76, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 163, 76, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 185, - 76, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 208, 76, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 223, 76, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 232, 76, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 255, 76, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 19, 77, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 40, 77, 2, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 59, 77, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 87, 77, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 108, 77, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 125, 77, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 137, 77, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 153, 77, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 171, 77, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 188, 77, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 201, 77, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 213, 77, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 225, 77, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 251, 77, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 20, 78, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 48, 78, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 69, 78, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 83, 78, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 98, - 78, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 118, 78, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 139, 78, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 154, 78, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 170, 78, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 192, 78, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 213, 78, 2, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 242, 78, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 17, 79, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 33, 79, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 47, 79, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 60, 79, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 71, 79, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 89, 79, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 102, 79, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 126, 79, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 148, 79, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 160, 79, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 171, 79, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 186, 79, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 200, 79, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 215, 79, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 226, 79, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 233, - 79, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 244, 79, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 4, 80, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 20, 80, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 38, 80, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 42, 80, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 50, 80, 2, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 58, 80, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 96, 80, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 113, 80, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 131, 80, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 148, 80, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 173, 80, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 194, 80, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 208, 80, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 212, 80, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 222, 80, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 240, 80, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 1, 81, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 20, 81, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 35, 81, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 44, 81, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 56, 81, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 67, 81, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 88, 81, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 97, 81, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 106, 81, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 114, 81, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 126, 81, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 138, 81, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 166, 81, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 180, 81, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 189, - 81, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 199, 81, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 209, 81, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 221, 81, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 233, 81, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 246, 81, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 20, 82, 2, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 40, 82, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 50, 82, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 56, 82, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 65, 82, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 79, 82, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 87, 82, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 98, 82, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 109, 82, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 135, 82, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 161, 82, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 186, 82, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 211, 82, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 236, 82, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 3, 83, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 6, 83, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 13, 83, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 24, - 83, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 30, 83, 2, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 41, 83, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 61, 83, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 80, 83, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 93, 83, 2, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 108, 83, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 114, 83, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 125, 83, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 136, 83, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 161, 83, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 174, 83, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 183, 83, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 197, 83, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 215, 83, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 229, 83, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 241, 83, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 246, 83, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 8, 84, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 26, 84, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 45, 84, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 63, 84, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 82, 84, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 100, 84, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 113, 84, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 119, 84, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 146, 84, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 157, 84, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 172, 84, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 187, 84, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 201, 84, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 210, 84, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 222, - 84, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 234, 84, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 243, 84, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 4, 85, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 14, 85, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 28, 85, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 41, 85, 2, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 52, 85, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 61, 85, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 71, 85, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 81, 85, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 100, 85, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 124, 85, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 146, 85, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 164, 85, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 182, 85, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 193, 85, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 211, 85, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 239, 85, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 255, 85, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 30, 86, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 45, 86, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 67, 86, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 89, - 86, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 108, 86, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 130, 86, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 157, 86, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 183, 86, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 200, 86, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 207, 86, 2, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 234, 86, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 255, 86, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 22, 87, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 40, 87, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 63, 87, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 82, 87, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 105, 87, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 131, 87, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 157, 87, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 179, 87, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 205, 87, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 224, 87, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 243, 87, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 7, 88, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 26, 88, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 41, 88, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 64, - 88, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 85, 88, 2, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 92, 88, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 98, 88, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 107, 88, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 122, 88, 2, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 137, 88, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 148, 88, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 155, 88, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 168, 88, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 181, 88, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 195, 88, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 199, 88, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 207, 88, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 218, 88, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 228, 88, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 247, 88, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 12, 89, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 20, 89, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 34, 89, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 42, 89, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 53, 89, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 64, 89, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 75, - 89, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 98, 89, 2, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 120, 89, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 128, 89, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 132, 89, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 140, 89, 2, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 162, 89, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 171, 89, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 181, 89, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 208, 89, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 235, 89, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 6, 90, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 33, 90, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 60, 90, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 87, 90, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 115, 90, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 143, 90, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 171, 90, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 199, 90, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 227, 90, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 255, 90, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 24, 91, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 39, 91, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 53, - 91, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 65, 91, 2, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 76, 91, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 83, 91, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 90, 91, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 102, 91, 2, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 115, 91, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 128, 91, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 150, 91, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 166, 91, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 176, 91, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 186, 91, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 197, 91, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 208, 91, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 221, 91, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 234, 91, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 4, 92, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 14, 92, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 35, 92, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 48, 92, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 53, 92, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 76, 92, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 89, 92, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 117, - 92, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 142, 92, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 155, 92, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 165, 92, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 175, 92, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 202, 92, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 229, 92, 2, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 2, 93, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 35, 93, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 57, 93, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 76, 93, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 103, 93, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 135, 93, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 164, 93, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 191, 93, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 198, 93, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 209, 93, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 227, 93, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 243, 93, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 4, 94, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 19, 94, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 39, 94, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 49, 94, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 59, - 94, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 74, 94, 2, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 86, 94, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 101, 94, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 117, 94, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 133, 94, 2, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 152, 94, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 157, 94, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 169, 94, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 179, 94, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 190, 94, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 205, 94, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 218, 94, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 236, 94, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 1, 95, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 12, 95, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 21, 95, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 42, 95, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 51, 95, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 58, 95, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 65, 95, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 69, 95, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 75, 95, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 92, - 95, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 95, 95, 2, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 114, 95, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 122, 95, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 141, 95, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 161, 95, 2, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 172, 95, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 189, 95, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 198, 95, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 216, 95, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 237, 95, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 252, 95, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 3, 96, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 26, 96, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 43, 96, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 61, 96, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 74, 96, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 83, 96, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 101, 96, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 111, 96, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 116, 96, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 125, 96, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 133, 96, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 143, - 96, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 166, 96, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 182, 96, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 192, 96, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 199, 96, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 223, 96, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 228, 96, 2, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 235, 96, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 243, 96, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 8, 97, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 22, 97, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 40, 97, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 56, 97, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 73, 97, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 94, 97, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 113, 97, 2, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 133, 97, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 143, 97, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 160, 97, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 172, 97, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 185, 97, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 200, 97, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 223, 97, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 233, 97, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 243, 97, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 1, 98, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 20, 98, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 24, 98, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 34, 98, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 45, 98, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 65, 98, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 84, 98, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 89, - 98, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 98, 98, 2, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 110, 98, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 127, 98, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 141, 98, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 159, 98, 2, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 186, 98, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 205, 98, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 210, 98, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 220, 98, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 241, 98, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 250, 98, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 17, 99, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 38, 99, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 55, 99, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 71, 99, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 83, 99, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 94, 99, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 103, 99, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 128, 99, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 146, 99, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 153, 99, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 164, 99, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 183, - 99, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 214, 99, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 224, 99, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 235, 99, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 247, 99, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 3, 100, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 18, 100, 2, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 23, 100, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 37, 100, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 50, 100, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 71, 100, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 85, 100, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 108, 100, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 132, 100, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 156, - 100, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 180, 100, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 203, 100, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 222, 100, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 242, 100, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, - 101, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 17, 101, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 29, 101, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 51, 101, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 66, 101, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 72, 101, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 99, 101, 2, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 121, 101, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 143, 101, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 165, 101, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 190, 101, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 213, 101, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 234, 101, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 102, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 21, 102, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 42, 102, 2, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 63, 102, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 84, 102, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 106, 102, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 125, 102, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 138, 102, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 151, 102, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 156, 102, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 169, 102, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 187, 102, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 195, 102, 2, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 206, 102, 2, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 224, 102, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 227, 102, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 238, 102, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 254, 102, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 21, 103, 2, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 33, 103, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 48, 103, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 60, 103, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 65, 103, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 77, 103, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 91, 103, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 99, 103, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 112, - 103, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 138, 103, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 160, 103, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 171, 103, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 179, 103, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 192, - 103, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 201, 103, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 209, 103, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 217, 103, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 235, 103, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 253, - 103, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 16, 104, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 33, 104, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 44, 104, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 55, 104, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 76, 104, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 84, 104, 2, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 97, 104, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 108, 104, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 118, 104, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 147, 104, 2, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 175, 104, 2, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 195, 104, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 224, 104, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 245, 104, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 14, 105, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 43, 105, 2, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 68, 105, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 91, 105, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 112, 105, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 139, 105, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 157, 105, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 161, 105, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 176, 105, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 197, 105, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 218, 105, 2, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 230, 105, 2, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 237, 105, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 250, 105, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 7, 106, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 26, 106, 2, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 43, 106, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 66, 106, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 90, 106, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 114, 106, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 118, 106, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 126, 106, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 138, 106, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 146, 106, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 174, 106, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 204, 106, 2, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 236, 106, 2, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 1, 107, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 27, 107, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 52, 107, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 60, 107, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 75, 107, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 84, 107, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 98, 107, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 103, - 107, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 114, 107, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 124, 107, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 158, 107, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 187, 107, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 221, - 107, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 1, 108, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 38, 108, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 66, 108, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 90, 108, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 100, 108, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 107, 108, 2, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 130, 108, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 141, 108, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 159, 108, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 181, - 108, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 196, 108, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 215, 108, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 237, 108, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 250, 108, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 11, - 109, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 19, 109, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 43, 109, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 55, 109, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 72, 109, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 89, 109, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 100, 109, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 120, 109, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 130, 109, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 140, 109, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 153, 109, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 176, 109, 2, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 189, 109, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 204, 109, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 213, 109, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 229, - 109, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 242, 109, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 252, 109, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 5, 110, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 13, 110, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 17, 110, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 47, 110, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 76, 110, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 109, 110, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 138, 110, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 175, 110, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 203, 110, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 234, 110, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 244, 110, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 254, 110, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 8, 111, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 18, 111, 2, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 36, 111, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 54, 111, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 72, 111, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 90, 111, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 105, 111, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 124, 111, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 134, 111, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 148, 111, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 167, 111, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 182, 111, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 186, 111, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 209, 111, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 229, 111, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 250, 111, 2, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 22, 112, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 41, 112, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 62, 112, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 91, 112, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 122, 112, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 144, 112, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 163, 112, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 199, 112, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 234, 112, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 13, 113, 2, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 39, 113, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 57, 113, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 70, 113, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 89, 113, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 96, 113, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 109, 113, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 125, 113, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 137, 113, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 149, 113, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 156, 113, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 167, 113, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 181, 113, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 197, 113, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 217, 113, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 228, 113, 2, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 232, 113, 2, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 236, 113, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 243, 113, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 250, 113, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 7, 114, 2, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 21, 114, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 38, 114, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 45, 114, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 54, 114, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 63, 114, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 72, 114, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 81, 114, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 90, 114, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 99, 114, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 103, 114, 2, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 111, 114, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 119, 114, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 134, 114, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 140, - 114, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 151, 114, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 164, 114, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 183, 114, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 199, 114, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 213, - 114, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 232, 114, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 241, 114, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 3, 115, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 24, 115, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 35, 115, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 55, 115, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 74, 115, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 91, 115, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 107, 115, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 125, 115, 2, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 145, 115, 2, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 163, 115, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 179, 115, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 193, 115, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 205, 115, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 214, 115, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 222, 115, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 229, 115, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 238, 115, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 249, 115, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 10, 116, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 21, 116, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 26, 116, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 33, 116, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 46, 116, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 55, 116, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 66, 116, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 76, 116, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 92, - 116, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 99, 116, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 106, 116, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 117, 116, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 130, 116, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 148, - 116, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 161, 116, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 172, 116, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 180, 116, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 188, 116, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 195, - 116, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 208, 116, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 214, 116, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 229, 116, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 240, 116, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 254, - 116, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 5, 117, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 16, 117, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 32, 117, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 44, 117, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 48, 117, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 59, 117, 2, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 69, 117, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 82, 117, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 96, 117, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 109, 117, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 125, 117, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 143, 117, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 156, 117, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 173, 117, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 183, 117, 2, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 193, 117, 2, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 209, 117, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 222, 117, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 233, 117, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 243, 117, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 253, 117, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 9, 118, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 20, 118, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 31, 118, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 40, 118, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 46, 118, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 52, 118, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 64, 118, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 69, - 118, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 82, 118, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 92, 118, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 101, 118, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 112, 118, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 123, - 118, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 139, 118, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 153, 118, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 161, 118, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 168, 118, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 179, - 118, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 188, 118, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 192, 118, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 196, 118, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 206, 118, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 222, - 118, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 235, 118, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 240, 118, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 4, 119, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 23, 119, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 41, 119, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 58, 119, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 76, 119, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 93, 119, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 103, 119, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 108, 119, 2, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 115, 119, 2, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 124, 119, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 133, 119, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 144, 119, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 153, 119, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 163, 119, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 167, 119, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 173, 119, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 185, 119, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 202, 119, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 212, 119, 2, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 221, 119, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 240, 119, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 251, 119, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 2, 120, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 26, 120, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 47, 120, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 58, 120, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 66, 120, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 81, 120, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 92, 120, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 104, 120, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 113, 120, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 122, 120, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 128, 120, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 136, 120, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 147, 120, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 158, 120, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 167, 120, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 178, 120, 2, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 194, 120, 2, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 207, 120, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 214, 120, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 232, 120, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 249, 120, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 12, 121, 2, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 26, 121, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 45, 121, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 54, 121, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 64, 121, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 75, 121, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 85, 121, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 99, 121, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 110, - 121, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 121, 121, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 135, 121, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 144, 121, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 160, 121, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 170, - 121, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 181, 121, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 195, 121, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 212, 121, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 224, 121, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 229, - 121, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 234, 121, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 243, 121, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 255, 121, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 3, 122, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 22, - 122, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 37, 122, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 47, 122, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 58, 122, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 77, 122, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 86, 122, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 93, 122, 2, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 100, 122, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 109, 122, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 119, 122, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 126, 122, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 134, 122, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 147, 122, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 160, 122, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 171, 122, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 186, 122, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 201, 122, 2, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 219, 122, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 229, 122, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 241, 122, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 1, 123, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 22, 123, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 40, 123, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 61, 123, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 81, 123, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 97, 123, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 110, 123, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 120, 123, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 136, 123, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 158, 123, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 181, 123, 2, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 199, 123, 2, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 215, 123, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 222, 123, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 229, 123, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 237, 123, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 250, 123, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 7, 124, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 19, 124, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 39, 124, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 46, 124, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 58, 124, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 65, 124, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 82, 124, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 89, - 124, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 101, 124, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 111, 124, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 120, 124, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 133, 124, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 154, - 124, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 168, 124, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 181, 124, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 189, 124, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 197, 124, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 208, - 124, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 216, 124, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 225, 124, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 235, 124, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 251, 124, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 7, - 125, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 25, 125, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 43, 125, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 57, 125, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 70, 125, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 87, 125, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 102, 125, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 118, 125, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 131, 125, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 151, 125, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 167, 125, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 180, 125, 2, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 193, 125, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 203, 125, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 215, 125, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 223, - 125, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 231, 125, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 235, 125, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 244, 125, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 253, 125, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 4, - 126, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 12, 126, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 23, 126, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 35, 126, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 48, 126, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 57, 126, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 69, 126, 2, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 85, 126, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 96, 126, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 109, 126, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 125, 126, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 137, 126, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 148, 126, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 161, 126, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 176, 126, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 191, 126, 2, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 205, 126, 2, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 218, 126, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 230, 126, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 243, 126, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 250, 126, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 10, 127, 2, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 23, 127, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 42, 127, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 51, 127, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 63, 127, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 80, 127, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 101, 127, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 118, 127, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 133, - 127, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 145, 127, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 153, 127, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 160, 127, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 164, 127, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 173, - 127, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 185, 127, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 194, 127, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 206, 127, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 218, 127, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 226, - 127, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 238, 127, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 250, 127, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 11, 128, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 28, 128, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 37, 128, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 46, 128, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 60, 128, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 73, 128, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 87, 128, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 100, 128, 2, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 114, 128, 2, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 127, 128, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 141, 128, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 154, 128, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 168, 128, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 178, 128, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 188, 128, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 195, 128, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 202, 128, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 212, 128, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 222, 128, 2, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 234, 128, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 246, 128, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 0, 129, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 10, 129, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 19, 129, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 28, 129, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 35, 129, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 42, 129, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 53, 129, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 64, 129, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 72, 129, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 80, 129, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 96, - 129, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 114, 129, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 131, 129, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 146, 129, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 152, 129, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 166, - 129, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 172, 129, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 180, 129, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 187, 129, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 203, 129, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 211, - 129, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 227, 129, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 239, 129, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 251, 129, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 6, 130, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 19, - 130, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 35, 130, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 50, 130, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 60, 130, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 74, 130, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 86, 130, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 99, 130, 2, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 107, 130, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 119, 130, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 131, 130, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 149, 130, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 167, 130, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 178, 130, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 190, 130, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 208, 130, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 228, 130, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 236, 130, 2, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 252, 130, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 7, 131, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 18, 131, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 33, 131, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 55, 131, 2, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 62, 131, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 72, 131, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 85, 131, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 111, 131, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 121, 131, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 142, 131, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 171, 131, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 193, 131, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 214, 131, 2, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 233, 131, 2, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 253, 131, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 15, 132, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 40, 132, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 58, 132, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 72, 132, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 80, 132, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 92, 132, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 107, - 132, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 115, 132, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 127, 132, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 135, 132, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 149, 132, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 159, - 132, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 175, 132, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 181, 132, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 191, 132, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 205, 132, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 218, - 132, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 227, 132, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 240, 132, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 255, 132, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 10, 133, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 17, - 133, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 27, 133, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 49, 133, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 70, 133, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 93, 133, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 119, 133, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 123, 133, 2, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 139, 133, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 156, 133, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 174, 133, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 192, - 133, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 199, 133, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 214, 133, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 224, 133, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 237, 133, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 249, - 133, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 5, 134, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 17, 134, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 28, 134, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 38, 134, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 49, 134, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 57, 134, 2, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 68, 134, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 79, 134, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 89, 134, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 99, 134, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 105, 134, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 111, 134, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 7, 0, 118, 134, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 125, 134, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 133, 134, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 140, 134, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 148, 134, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 156, 134, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 165, 134, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 173, 134, 2, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 182, 134, 2, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 189, 134, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 198, 134, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 205, 134, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 219, 134, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 232, 134, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 240, 134, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 0, 248, 134, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 0, 135, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 9, 135, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 18, 135, 2, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 27, 135, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 41, 135, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 59, 135, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 66, 135, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 82, 135, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 98, 135, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 111, 135, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 124, - 135, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 135, 135, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 149, 135, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 162, 135, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 169, 135, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 176, - 135, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 185, 135, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 193, 135, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 209, 135, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 226, 135, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 239, - 135, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 248, 135, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 4, 136, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 13, 136, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 30, 136, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 43, 136, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 46, 136, 2, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 55, 136, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 65, 136, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 72, 136, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 80, 136, 2, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 87, 136, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 100, 136, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 108, 136, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 122, - 136, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 134, 136, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 142, 136, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 157, 136, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 164, 136, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 171, - 136, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 185, 136, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 202, 136, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 213, 136, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 224, 136, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 235, - 136, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 246, 136, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 253, 136, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 8, 137, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 19, 137, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 27, 137, - 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 36, 137, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 42, 137, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 49, 137, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 53, 137, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 56, 137, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 71, 137, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 82, 137, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 93, 137, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 105, - 137, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 117, 137, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 129, 137, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 142, 137, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 148, 137, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 159, - 137, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 174, 137, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 189, 137, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 197, 137, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 204, 137, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 212, - 137, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 221, 137, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 229, 137, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 241, 137, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 7, 0, 250, 137, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 15, - 138, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 29, 138, 2, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 37, 138, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 50, 138, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 0, 59, 138, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 68, 138, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 76, 138, 2, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 82, 138, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 96, 138, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, - 108, 138, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 120, 138, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 129, 138, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 144, 138, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 0, 159, 138, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, - 0, 168, 138, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 177, 138, 2, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 186, 138, 2, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 200, 138, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 210, 138, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 7, 0, 225, 138, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 235, 138, 2, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 251, 138, 2, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 3, 139, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 7, 0, 8, 139, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 3, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 3, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, - 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 213, 0, 0, 0, 17, 0, 5, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 57, 0, 0, 0, 17, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, - 0, 0, 0, 0, 0, 45, 0, 0, 0, 18, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 1, 0, 0, 0, 0, 0, 0, 64, - 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 21, 50, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 17, 50, 0, - 0, 12, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 2, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 3, - 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 19, 50, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 4, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 15, 50, 0, 0, 43, 0, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 5, 0, 0, 0, 55, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 20, 50, 0, 0, 76, 0, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 6, 0, 0, 0, 83, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 7, 0, 0, 0, 90, 0, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 8, 0, 0, 0, 102, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 21, 50, 0, 0, 115, 0, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 9, 0, 0, 0, 127, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 11, 0, 0, 0, - 139, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 12, 0, 0, 0, 169, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 10, - 0, 0, 0, 176, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 13, 0, 0, 0, 202, 0, 0, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 15, 0, 0, 0, 209, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 14, 0, 0, 0, 216, 0, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 16, 0, 0, 0, 249, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 17, 0, 0, 0, 5, 1, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 19, 0, 0, 0, 12, 1, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 18, 0, 0, 0, 19, 1, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 20, 0, 0, 0, 63, 1, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 21, 0, 0, 0, - 115, 1, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 28, 0, 0, 0, 124, 1, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 22, - 0, 0, 0, 130, 1, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 23, 0, 0, 0, 136, 1, 0, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 24, 0, 0, 0, 142, 1, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 25, 0, 0, 0, 148, 1, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 26, 0, 0, 0, 154, 1, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 27, 0, 0, 0, 165, 1, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 33, 0, 0, 0, 174, 1, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 29, 0, 0, 0, 180, - 1, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 30, 0, 0, 0, 186, 1, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 31, 0, 0, - 0, 192, 1, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 32, 0, 0, 0, 203, 1, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 37, 0, 0, 0, 212, 1, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 34, 0, 0, 0, 218, 1, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 35, 0, 0, 0, 224, 1, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 36, 0, 0, 0, 235, 1, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 42, 0, 0, 0, 244, 1, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 38, 0, 0, 0, 250, 1, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 40, 0, 0, 0, 6, - 2, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 41, 0, 0, 0, 17, 2, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 53, 0, 0, - 0, 26, 2, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 43, 0, 0, 0, 32, 2, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 44, - 0, 0, 0, 38, 2, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 45, 0, 0, 0, 44, 2, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 46, 0, 0, 0, 50, 2, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 47, 0, 0, 0, 56, 2, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 48, 0, 0, 0, 62, 2, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 49, 0, 0, 0, 68, 2, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 50, 0, 0, 0, 75, 2, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 51, 0, 0, 0, 82, 2, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 52, 0, 0, 0, 94, 2, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 57, 0, 0, 0, 103, 2, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 54, 0, 0, 0, 109, 2, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 55, 0, 0, 0, - 115, 2, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 56, 0, 0, 0, 126, 2, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 61, - 0, 0, 0, 135, 2, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 58, 0, 0, 0, 141, 2, 0, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 59, 0, 0, 0, 147, 2, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 60, 0, 0, 0, 158, 2, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 64, 0, 0, 0, 169, 2, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 62, 0, 0, 0, 175, 2, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 63, 0, 0, 0, 186, 2, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 0, 0, 0, 195, - 2, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 65, 0, 0, 0, 201, 2, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 66, 0, 0, - 0, 207, 2, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 67, 0, 0, 0, 213, 2, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 68, 0, 0, 0, 219, 2, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 69, 0, 0, 0, 230, 2, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 74, 0, 0, 0, 239, 2, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 71, 0, 0, 0, 245, 2, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 72, 0, 0, 0, 251, 2, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 73, 0, 0, 0, 6, 3, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 78, 0, 0, 0, 15, 3, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 0, 0, 0, 21, 3, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 76, 0, 0, 0, 27, 3, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 77, 0, 0, 0, - 38, 3, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 82, 0, 0, 0, 47, 3, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 79, 0, - 0, 0, 53, 3, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 80, 0, 0, 0, 59, 3, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 81, 0, 0, 0, 70, 3, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 87, 0, 0, 0, 79, 3, 0, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 83, 0, 0, 0, 85, 3, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 84, 0, 0, 0, 91, 3, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 85, 0, 0, 0, 97, 3, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 86, 0, 0, 0, 108, 3, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 90, 0, 0, 0, 117, 3, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 88, 0, 0, 0, 123, 3, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 89, 0, 0, 0, 134, 3, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 96, 0, 0, 0, - 143, 3, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 91, 0, 0, 0, 149, 3, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 92, - 0, 0, 0, 155, 3, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 93, 0, 0, 0, 161, 3, 0, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 94, 0, 0, 0, 167, 3, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 95, 0, 0, 0, 178, 3, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 101, 0, 0, 0, 187, 3, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 97, 0, 0, 0, 193, 3, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 98, 0, 0, 0, 199, 3, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 99, 0, 0, 0, 205, - 3, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 100, 0, 0, 0, 216, 3, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 105, 0, - 0, 0, 225, 3, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 102, 0, 0, 0, 231, 3, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 103, 0, 0, 0, 237, 3, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 104, 0, 0, 0, 248, 3, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 111, 0, 0, 0, 1, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 106, 0, 0, 0, 7, 4, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 107, 0, 0, 0, 13, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 108, 0, 0, 0, 19, 4, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 109, 0, 0, 0, 25, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 110, 0, 0, 0, - 36, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 114, 0, 0, 0, 45, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 112, - 0, 0, 0, 51, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 113, 0, 0, 0, 62, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 126, 0, 0, 0, 71, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 115, 0, 0, 0, 77, 4, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 116, 0, 0, 0, 83, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 117, 0, 0, 0, 89, 4, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 118, 0, 0, 0, 95, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 119, 0, 0, 0, 101, 4, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 120, 0, 0, 0, 107, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 121, 0, 0, - 0, 113, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 122, 0, 0, 0, 119, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 123, 0, 0, 0, 125, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 124, 0, 0, 0, 131, 4, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 125, 0, 0, 0, 142, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 134, 0, 0, 0, 151, 4, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 127, 0, 0, 0, 157, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 128, 0, 0, 0, - 163, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 129, 0, 0, 0, 169, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 130, 0, 0, 0, 175, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 131, 0, 0, 0, 181, 4, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 132, 0, 0, 0, 187, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 133, 0, 0, 0, 198, 4, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 139, 0, 0, 0, 207, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 135, 0, 0, 0, - 213, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 136, 0, 0, 0, 219, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 137, 0, 0, 0, 225, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 138, 0, 0, 0, 236, 4, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 145, 0, 0, 0, 245, 4, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 140, 0, 0, 0, 251, 4, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 141, 0, 0, 0, 1, 5, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 142, 0, 0, 0, 7, 5, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 143, 0, 0, 0, 13, 5, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 144, 0, 0, - 0, 24, 5, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 149, 0, 0, 0, 33, 5, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 146, 0, 0, 0, 39, 5, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 147, 0, 0, 0, 45, 5, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 148, 0, 0, 0, 56, 5, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 0, 0, 0, 65, 5, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 150, 0, 0, 0, 71, 5, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 151, 0, 0, 0, 77, 5, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 152, 0, 0, 0, 83, 5, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 153, 0, 0, 0, - 94, 5, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 159, 0, 0, 0, 103, 5, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 155, - 0, 0, 0, 109, 5, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 156, 0, 0, 0, 115, 5, 0, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 157, 0, 0, 0, 121, 5, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 158, 0, 0, 0, 132, 5, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 192, 0, 0, 0, 141, 5, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 0, 0, 0, 147, 5, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 161, 0, 0, 0, 153, 5, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 162, 0, 0, 0, - 159, 5, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 163, 0, 0, 0, 165, 5, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 164, 0, 0, 0, 171, 5, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 165, 0, 0, 0, 177, 5, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 166, 0, 0, 0, 183, 5, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 167, 0, 0, 0, 189, 5, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 168, 0, 0, 0, 195, 5, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 169, 0, 0, 0, - 201, 5, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 170, 0, 0, 0, 207, 5, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 171, 0, 0, 0, 213, 5, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 172, 0, 0, 0, 219, 5, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 173, 0, 0, 0, 225, 5, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 174, 0, 0, 0, 231, 5, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 175, 0, 0, 0, 237, 5, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 176, 0, 0, 0, - 243, 5, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 177, 0, 0, 0, 249, 5, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 178, 0, 0, 0, 255, 5, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 179, 0, 0, 0, 5, 6, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 180, 0, 0, 0, 11, 6, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 181, 0, 0, 0, 17, 6, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 182, 0, 0, 0, 23, 6, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 0, 0, 0, 29, 6, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 184, 0, 0, 0, 35, 6, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 185, 0, 0, 0, - 41, 6, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 186, 0, 0, 0, 47, 6, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 187, - 0, 0, 0, 53, 6, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 188, 0, 0, 0, 59, 6, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 189, 0, 0, 0, 65, 6, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 190, 0, 0, 0, 71, 6, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 191, 0, 0, 0, 82, 6, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 236, 0, 0, 0, 91, 6, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 193, 0, 0, 0, 97, 6, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 194, 0, 0, 0, 103, 6, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 195, 0, 0, 0, 109, 6, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 196, 0, 0, - 0, 115, 6, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 197, 0, 0, 0, 121, 6, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 198, 0, 0, 0, 127, 6, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 199, 0, 0, 0, 133, 6, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 200, 0, 0, 0, 139, 6, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 201, 0, 0, 0, 145, 6, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 202, 0, 0, 0, 151, 6, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 203, 0, 0, 0, - 157, 6, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 204, 0, 0, 0, 163, 6, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 205, 0, 0, 0, 169, 6, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 206, 0, 0, 0, 175, 6, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 207, 0, 0, 0, 181, 6, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 208, 0, 0, 0, 187, 6, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 209, 0, 0, 0, 193, 6, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 210, 0, 0, 0, - 199, 6, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 211, 0, 0, 0, 205, 6, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 212, 0, 0, 0, 211, 6, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 213, 0, 0, 0, 217, 6, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 214, 0, 0, 0, 223, 6, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 215, 0, 0, 0, 229, 6, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 216, 0, 0, 0, 235, 6, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 217, 0, 0, 0, - 241, 6, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 218, 0, 0, 0, 247, 6, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 219, 0, 0, 0, 253, 6, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 220, 0, 0, 0, 3, 7, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 221, 0, 0, 0, 9, 7, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 222, 0, 0, 0, 15, 7, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 223, 0, 0, 0, 21, 7, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 224, 0, 0, 0, 27, 7, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 225, 0, 0, 0, 33, 7, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 226, 0, 0, 0, 39, - 7, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 227, 0, 0, 0, 45, 7, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 228, 0, - 0, 0, 51, 7, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 229, 0, 0, 0, 57, 7, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 230, 0, 0, 0, 63, 7, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 231, 0, 0, 0, 69, 7, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 232, 0, 0, 0, 75, 7, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 233, 0, 0, 0, 81, 7, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 234, 0, 0, 0, 87, 7, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 235, 0, 0, 0, 98, 7, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 12, 1, 0, 0, 107, 7, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 237, 0, 0, 0, - 113, 7, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 238, 0, 0, 0, 119, 7, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 239, 0, 0, 0, 125, 7, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 240, 0, 0, 0, 131, 7, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 241, 0, 0, 0, 137, 7, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 242, 0, 0, 0, 143, 7, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 243, 0, 0, 0, 149, 7, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 244, 0, 0, 0, - 155, 7, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 245, 0, 0, 0, 161, 7, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 246, 0, 0, 0, 167, 7, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 247, 0, 0, 0, 173, 7, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 248, 0, 0, 0, 179, 7, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 249, 0, 0, 0, 185, 7, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 250, 0, 0, 0, 191, 7, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 251, 0, 0, 0, - 197, 7, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 252, 0, 0, 0, 203, 7, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 253, 0, 0, 0, 209, 7, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 254, 0, 0, 0, 215, 7, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 255, 0, 0, 0, 221, 7, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 1, 0, 0, 227, 7, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 1, 1, 0, 0, 233, 7, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 2, 1, 0, 0, 239, 7, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 3, 1, 0, 0, 245, 7, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 4, 1, 0, 0, 251, - 7, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 5, 1, 0, 0, 1, 8, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 6, 1, 0, 0, - 7, 8, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 7, 1, 0, 0, 13, 8, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 8, 1, 0, - 0, 19, 8, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 9, 1, 0, 0, 25, 8, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 10, - 1, 0, 0, 31, 8, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 11, 1, 0, 0, 42, 8, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 25, 1, 0, 0, 51, 8, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 13, 1, 0, 0, 57, 8, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 14, 1, 0, 0, 63, 8, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 15, 1, 0, 0, 69, 8, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 16, 1, 0, 0, 75, 8, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 17, 1, 0, 0, 81, 8, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 18, 1, 0, 0, 87, 8, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 19, 1, 0, 0, 93, 8, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 20, 1, 0, 0, 99, 8, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 21, 1, 0, 0, - 105, 8, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 22, 1, 0, 0, 111, 8, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 23, - 1, 0, 0, 117, 8, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 24, 1, 0, 0, 128, 8, 0, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 57, 1, 0, 0, 137, 8, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 26, 1, 0, 0, 143, 8, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 27, 1, 0, 0, 149, 8, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 28, 1, 0, 0, 155, 8, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 29, 1, 0, 0, 161, 8, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 30, 1, 0, 0, 167, - 8, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 31, 1, 0, 0, 173, 8, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 32, 1, 0, - 0, 179, 8, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 33, 1, 0, 0, 185, 8, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 34, 1, 0, 0, 191, 8, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 35, 1, 0, 0, 197, 8, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 36, 1, 0, 0, 203, 8, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 37, 1, 0, 0, 209, 8, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 38, 1, 0, 0, 215, 8, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, 1, 0, 0, 221, 8, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 40, 1, 0, 0, 227, 8, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 41, 1, 0, 0, - 233, 8, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 42, 1, 0, 0, 239, 8, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 43, - 1, 0, 0, 245, 8, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 44, 1, 0, 0, 251, 8, 0, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 45, 1, 0, 0, 1, 9, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 46, 1, 0, 0, 7, 9, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 47, 1, 0, 0, 13, 9, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 48, 1, 0, 0, 19, 9, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 49, 1, 0, 0, 25, 9, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 50, 1, 0, 0, 31, 9, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 51, 1, 0, 0, 37, 9, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 52, 1, 0, 0, 43, 9, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 53, 1, 0, 0, 49, 9, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 54, 1, 0, 0, - 55, 9, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 55, 1, 0, 0, 61, 9, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 56, 1, - 0, 0, 72, 9, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 235, 1, 0, 0, 81, 9, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 58, 1, 0, 0, 87, 9, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 59, 1, 0, 0, 93, 9, 0, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 60, 1, 0, 0, 99, 9, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 61, 1, 0, 0, 105, 9, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 62, 1, 0, 0, 111, 9, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 63, 1, 0, 0, 117, 9, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 64, 1, 0, 0, 123, 9, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 65, 1, 0, 0, 129, 9, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 66, 1, 0, 0, 135, 9, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 67, 1, 0, 0, - 141, 9, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 68, 1, 0, 0, 147, 9, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 69, - 1, 0, 0, 153, 9, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 1, 0, 0, 159, 9, 0, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 71, 1, 0, 0, 165, 9, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 72, 1, 0, 0, 171, 9, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 73, 1, 0, 0, 177, 9, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 74, 1, 0, 0, 183, 9, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 75, 1, 0, 0, 189, 9, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 76, 1, 0, 0, 195, - 9, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 77, 1, 0, 0, 201, 9, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 78, 1, 0, - 0, 207, 9, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 79, 1, 0, 0, 213, 9, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 80, 1, 0, 0, 219, 9, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 81, 1, 0, 0, 225, 9, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 82, 1, 0, 0, 231, 9, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 83, 1, 0, 0, 237, 9, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 84, 1, 0, 0, 243, 9, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 85, 1, 0, 0, 249, 9, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 86, 1, 0, 0, 255, 9, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 87, 1, 0, 0, 5, - 10, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 88, 1, 0, 0, 11, 10, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 89, 1, - 0, 0, 17, 10, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 90, 1, 0, 0, 23, 10, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 91, 1, 0, 0, 29, 10, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 92, 1, 0, 0, 35, 10, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 93, 1, 0, 0, 41, 10, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 94, 1, 0, 0, 47, 10, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 95, 1, 0, 0, 53, 10, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 96, 1, 0, 0, 59, 10, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 97, 1, 0, 0, 65, 10, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 98, 1, 0, 0, - 71, 10, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 99, 1, 0, 0, 77, 10, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 100, - 1, 0, 0, 83, 10, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 101, 1, 0, 0, 89, 10, 0, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 102, 1, 0, 0, 95, 10, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 103, 1, 0, 0, 101, 10, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 104, 1, 0, 0, 107, 10, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 105, 1, 0, 0, 113, 10, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 106, 1, 0, 0, 119, 10, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 107, 1, 0, - 0, 125, 10, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 108, 1, 0, 0, 131, 10, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 109, 1, 0, 0, 137, 10, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 110, 1, 0, 0, 143, 10, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 111, 1, 0, 0, 149, 10, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 112, 1, 0, 0, 155, 10, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 113, 1, 0, 0, 161, 10, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 114, 1, 0, 0, - 167, 10, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 115, 1, 0, 0, 173, 10, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 116, 1, 0, 0, 179, 10, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 117, 1, 0, 0, 185, 10, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 118, 1, 0, 0, 191, 10, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 119, 1, 0, 0, 197, 10, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 120, 1, 0, 0, 203, 10, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 121, 1, 0, 0, - 209, 10, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 122, 1, 0, 0, 215, 10, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 123, 1, 0, 0, 221, 10, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 124, 1, 0, 0, 227, 10, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 125, 1, 0, 0, 233, 10, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 126, 1, 0, 0, 239, 10, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 127, 1, 0, 0, 245, 10, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 128, 1, 0, 0, - 251, 10, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 129, 1, 0, 0, 1, 11, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 130, 1, 0, 0, 7, 11, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 131, 1, 0, 0, 13, 11, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 132, 1, 0, 0, 19, 11, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 133, 1, 0, 0, 25, 11, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 134, 1, 0, 0, 31, 11, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 135, 1, 0, 0, 37, 11, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 136, 1, 0, 0, 43, 11, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 137, 1, 0, - 0, 49, 11, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 138, 1, 0, 0, 55, 11, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 139, 1, 0, 0, 61, 11, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 140, 1, 0, 0, 67, 11, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 141, 1, 0, 0, 73, 11, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 142, 1, 0, 0, 79, 11, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 143, 1, 0, 0, 85, 11, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 144, 1, 0, 0, 91, - 11, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 145, 1, 0, 0, 97, 11, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 146, 1, - 0, 0, 103, 11, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 147, 1, 0, 0, 109, 11, 0, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 148, 1, 0, 0, 115, 11, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 149, 1, 0, 0, 121, 11, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 150, 1, 0, 0, 127, 11, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 151, 1, 0, 0, 133, 11, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 152, 1, 0, 0, 139, 11, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 153, 1, 0, - 0, 145, 11, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 1, 0, 0, 151, 11, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 155, 1, 0, 0, 157, 11, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 156, 1, 0, 0, 163, 11, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 157, 1, 0, 0, 169, 11, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 158, 1, 0, 0, 175, 11, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 159, 1, 0, 0, 181, 11, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 1, 0, 0, - 187, 11, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 161, 1, 0, 0, 193, 11, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 162, 1, 0, 0, 199, 11, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 163, 1, 0, 0, 205, 11, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 164, 1, 0, 0, 211, 11, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 165, 1, 0, 0, 217, 11, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 166, 1, 0, 0, 223, 11, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 167, 1, 0, 0, - 229, 11, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 168, 1, 0, 0, 235, 11, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 169, 1, 0, 0, 241, 11, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 170, 1, 0, 0, 247, 11, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 171, 1, 0, 0, 253, 11, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 172, 1, 0, 0, 3, 12, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 173, 1, 0, 0, 9, 12, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 174, 1, 0, 0, 15, - 12, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 175, 1, 0, 0, 21, 12, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 176, 1, - 0, 0, 27, 12, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 177, 1, 0, 0, 33, 12, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 178, 1, 0, 0, 39, 12, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 179, 1, 0, 0, 45, 12, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 180, 1, 0, 0, 51, 12, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 181, 1, 0, 0, 57, 12, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 182, 1, 0, 0, 63, 12, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 1, 0, 0, 69, - 12, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 184, 1, 0, 0, 75, 12, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 185, 1, - 0, 0, 81, 12, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 186, 1, 0, 0, 88, 12, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 187, 1, 0, 0, 95, 12, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 188, 1, 0, 0, 102, 12, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 189, 1, 0, 0, 109, 12, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 190, 1, 0, 0, 116, 12, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 191, 1, 0, 0, 123, 12, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 192, 1, 0, 0, - 130, 12, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 193, 1, 0, 0, 137, 12, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 194, 1, 0, 0, 144, 12, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 195, 1, 0, 0, 151, 12, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 196, 1, 0, 0, 158, 12, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 197, 1, 0, 0, 165, 12, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 198, 1, 0, 0, 172, 12, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 199, 1, 0, 0, - 179, 12, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 200, 1, 0, 0, 186, 12, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 201, 1, 0, 0, 193, 12, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 202, 1, 0, 0, 200, 12, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 203, 1, 0, 0, 207, 12, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 204, 1, 0, 0, 214, 12, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 205, 1, 0, 0, 221, 12, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 206, 1, 0, 0, - 228, 12, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 207, 1, 0, 0, 235, 12, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 208, 1, 0, 0, 242, 12, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 209, 1, 0, 0, 249, 12, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 210, 1, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 211, 1, 0, 0, 7, 13, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 212, 1, 0, 0, 14, 13, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 213, 1, 0, 0, 21, - 13, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 214, 1, 0, 0, 28, 13, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 215, 1, - 0, 0, 35, 13, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 216, 1, 0, 0, 42, 13, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 217, 1, 0, 0, 49, 13, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 218, 1, 0, 0, 56, 13, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 219, 1, 0, 0, 63, 13, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 220, 1, 0, 0, 70, 13, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 221, 1, 0, 0, 77, 13, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 222, 1, 0, 0, 84, - 13, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 223, 1, 0, 0, 91, 13, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 224, 1, - 0, 0, 98, 13, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 225, 1, 0, 0, 105, 13, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 226, 1, 0, 0, 112, 13, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 227, 1, 0, 0, 119, 13, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 228, 1, 0, 0, 126, 13, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 229, 1, 0, 0, 133, 13, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 230, 1, 0, 0, 140, 13, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 231, 1, 0, 0, - 147, 13, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 232, 1, 0, 0, 154, 13, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 233, 1, 0, 0, 161, 13, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 234, 1, 0, 0, 173, 13, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 238, 1, 0, 0, 182, 13, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 236, 1, 0, 0, 188, 13, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 237, 1, 0, 0, 199, 13, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 245, 1, 0, 0, - 208, 13, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 239, 1, 0, 0, 214, 13, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 240, 1, 0, 0, 220, 13, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 241, 1, 0, 0, 226, 13, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 242, 1, 0, 0, 232, 13, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 243, 1, 0, 0, 238, 13, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 244, 1, 0, 0, 249, 13, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 20, 2, 0, 0, 2, - 14, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 246, 1, 0, 0, 8, 14, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 247, 1, - 0, 0, 14, 14, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 248, 1, 0, 0, 20, 14, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 249, 1, 0, 0, 26, 14, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 250, 1, 0, 0, 32, 14, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 251, 1, 0, 0, 38, 14, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 252, 1, 0, 0, 44, 14, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 253, 1, 0, 0, 50, 14, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 254, 1, 0, 0, 56, - 14, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 255, 1, 0, 0, 62, 14, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 2, - 0, 0, 68, 14, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 1, 2, 0, 0, 74, 14, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 2, 2, 0, 0, 80, 14, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 3, 2, 0, 0, 86, 14, 0, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 4, 2, 0, 0, 92, 14, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 5, 2, 0, 0, 98, 14, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 6, 2, 0, 0, 104, 14, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 7, 2, 0, 0, 110, 14, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 8, 2, 0, 0, 116, 14, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 9, 2, 0, 0, 122, 14, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 10, 2, 0, 0, 128, 14, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 11, 2, 0, - 0, 134, 14, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 12, 2, 0, 0, 140, 14, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 13, 2, 0, 0, 146, 14, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 14, 2, 0, 0, 152, 14, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 15, 2, 0, 0, 158, 14, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 16, 2, 0, 0, 164, 14, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 17, 2, 0, 0, 170, 14, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 18, 2, 0, 0, 176, - 14, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 19, 2, 0, 0, 187, 14, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 24, 2, - 0, 0, 196, 14, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 21, 2, 0, 0, 202, 14, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 22, 2, 0, 0, 208, 14, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 23, 2, 0, 0, 219, 14, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 31, 2, 0, 0, 228, 14, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 25, 2, 0, 0, 234, 14, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 26, 2, 0, 0, 240, 14, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 27, 2, 0, 0, 246, - 14, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 28, 2, 0, 0, 252, 14, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 29, 2, - 0, 0, 2, 15, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 30, 2, 0, 0, 13, 15, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 35, 2, 0, 0, 22, 15, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 32, 2, 0, 0, 32, 15, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 33, 2, 0, 0, 38, 15, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 34, 2, 0, 0, 49, 15, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 42, 2, 0, 0, 58, 15, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 36, 2, 0, 0, 64, 15, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 37, 2, 0, 0, 70, 15, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 38, 2, 0, 0, - 76, 15, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, 2, 0, 0, 82, 15, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 40, - 2, 0, 0, 88, 15, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 41, 2, 0, 0, 99, 15, 0, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 46, 2, 0, 0, 108, 15, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 43, 2, 0, 0, 114, 15, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 44, 2, 0, 0, 120, 15, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 45, 2, 0, 0, 131, 15, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 50, 2, 0, 0, 140, 15, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 47, 2, 0, 0, - 146, 15, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 48, 2, 0, 0, 152, 15, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 49, 2, 0, 0, 163, 15, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 62, 2, 0, 0, 172, 15, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 51, 2, 0, 0, 178, 15, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 52, 2, 0, 0, 184, 15, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 53, 2, 0, 0, 190, 15, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 54, 2, 0, 0, 196, - 15, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 55, 2, 0, 0, 202, 15, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 56, 2, - 0, 0, 208, 15, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 57, 2, 0, 0, 214, 15, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 58, 2, 0, 0, 220, 15, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 59, 2, 0, 0, 226, 15, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 60, 2, 0, 0, 232, 15, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 61, 2, 0, 0, 243, 15, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 66, 2, 0, 0, 252, 15, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 63, 2, 0, 0, 2, - 16, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 64, 2, 0, 0, 8, 16, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 65, 2, 0, - 0, 19, 16, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 86, 2, 0, 0, 28, 16, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 67, 2, 0, 0, 34, 16, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 68, 2, 0, 0, 40, 16, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 69, 2, 0, 0, 46, 16, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 2, 0, 0, 52, 16, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 71, 2, 0, 0, 58, 16, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 72, 2, 0, 0, 64, 16, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 73, 2, 0, 0, 70, 16, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 74, 2, 0, 0, - 76, 16, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 2, 0, 0, 82, 16, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 76, - 2, 0, 0, 88, 16, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 77, 2, 0, 0, 94, 16, 0, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 78, 2, 0, 0, 100, 16, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 79, 2, 0, 0, 106, 16, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 80, 2, 0, 0, 112, 16, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 81, 2, 0, 0, 118, 16, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 82, 2, 0, 0, 124, 16, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 83, 2, 0, 0, - 130, 16, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 84, 2, 0, 0, 136, 16, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 85, 2, 0, 0, 147, 16, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 92, 2, 0, 0, 156, 16, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 87, 2, 0, 0, 162, 16, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 88, 2, 0, 0, 168, 16, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 89, 2, 0, 0, 174, 16, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 90, 2, 0, 0, 180, - 16, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 91, 2, 0, 0, 191, 16, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 95, 2, - 0, 0, 202, 16, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 93, 2, 0, 0, 208, 16, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 94, 2, 0, 0, 219, 16, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 101, 2, 0, 0, 230, 16, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 96, 2, 0, 0, 236, 16, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 97, 2, 0, 0, 242, 16, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 98, 2, 0, 0, 248, 16, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 99, 2, 0, 0, - 254, 16, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 100, 2, 0, 0, 9, 17, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 106, 2, 0, 0, 20, 17, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 102, 2, 0, 0, 26, 17, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 103, 2, 0, 0, 32, 17, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 104, 2, 0, 0, 38, 17, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 105, 2, 0, 0, 49, 17, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 111, 2, 0, 0, 60, - 17, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 107, 2, 0, 0, 66, 17, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 108, 2, - 0, 0, 72, 17, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 109, 2, 0, 0, 78, 17, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 110, 2, 0, 0, 89, 17, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 114, 2, 0, 0, 100, 17, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 112, 2, 0, 0, 106, 17, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 113, 2, 0, 0, 117, 17, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 117, 2, 0, 0, 128, 17, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 115, 2, 0, 0, - 134, 17, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 116, 2, 0, 0, 145, 17, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 120, 2, 0, 0, 156, 17, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 118, 2, 0, 0, 162, 17, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 119, 2, 0, 0, 173, 17, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 124, 2, 0, 0, 184, 17, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 121, 2, 0, 0, 190, 17, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 122, 2, 0, 0, - 196, 17, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 123, 2, 0, 0, 207, 17, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 128, 2, 0, 0, 218, 17, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 125, 2, 0, 0, 224, 17, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 126, 2, 0, 0, 230, 17, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 127, 2, 0, 0, 241, 17, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 137, 2, 0, 0, 252, 17, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 129, 2, 0, 0, 2, - 18, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 130, 2, 0, 0, 8, 18, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 131, 2, - 0, 0, 14, 18, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 132, 2, 0, 0, 20, 18, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 133, 2, 0, 0, 26, 18, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 134, 2, 0, 0, 32, 18, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 135, 2, 0, 0, 38, 18, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 136, 2, 0, 0, 49, 18, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 140, 2, 0, 0, 60, 18, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 138, 2, 0, 0, 66, - 18, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 139, 2, 0, 0, 77, 18, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 143, 2, - 0, 0, 88, 18, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 141, 2, 0, 0, 94, 18, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 142, 2, 0, 0, 105, 18, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 146, 2, 0, 0, 116, 18, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 144, 2, 0, 0, 122, 18, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 145, 2, 0, 0, 133, 18, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 152, 2, 0, 0, 142, 18, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 147, 2, 0, 0, - 148, 18, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 148, 2, 0, 0, 154, 18, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 149, 2, 0, 0, 160, 18, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 150, 2, 0, 0, 166, 18, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 151, 2, 0, 0, 173, 18, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 136, 49, 0, 0, 182, 18, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 9, 0, 0, 0, 195, 18, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 153, 2, 0, 0, - 222, 18, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 170, 18, 0, 0, 240, 18, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 123, 4, 0, 0, 253, 18, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 42, 17, 0, 0, 10, 19, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 240, 41, 0, 0, 24, 19, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 129, 49, 0, 0, 42, 19, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 130, 49, 0, 0, 64, 19, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 131, 49, 0, 0, - 70, 19, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 132, 49, 0, 0, 76, 19, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 133, 49, 0, 0, 82, 19, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 134, 49, 0, 0, 89, 19, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 98, 47, 0, 0, 102, 19, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 64, 39, 0, 0, 116, 19, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 135, 49, 0, 0, 134, 19, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 3, 7, 0, 0, - 147, 19, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 42, 17, 0, 0, 173, 19, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 128, 49, 0, 0, 183, 19, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 2, 0, 0, 196, 19, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 155, 2, 0, 0, 209, 19, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 164, 2, 0, 0, 222, 19, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 169, 2, 0, 0, 235, 19, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 171, 2, 0, 0, - 248, 19, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 172, 2, 0, 0, 5, 20, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 173, 2, 0, 0, 18, 20, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 174, 2, 0, 0, 31, 20, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 175, 2, 0, 0, 44, 20, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 176, 2, 0, 0, 57, 20, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 177, 2, 0, 0, 70, 20, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 178, 2, 0, 0, 83, - 20, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 179, 2, 0, 0, 96, 20, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 180, 2, - 0, 0, 114, 20, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 181, 2, 0, 0, 127, 20, 0, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 182, 2, 0, 0, 141, 20, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 154, 20, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 184, 2, 0, 0, 167, 20, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 185, 2, 0, 0, 180, 20, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 159, 16, 0, 0, 193, 20, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 41, 0, - 0, 206, 20, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 1, 41, 0, 0, 219, 20, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 247, 18, 0, 0, 232, 20, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 2, 41, 0, 0, 245, 20, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 3, 41, 0, 0, 2, 21, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 30, 0, 0, 15, 21, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 4, 41, 0, 0, 28, 21, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 5, 41, 0, 0, 41, 21, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 6, 41, 0, 0, 54, 21, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 7, 41, 0, 0, - 68, 21, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 8, 41, 0, 0, 82, 21, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 9, - 41, 0, 0, 96, 21, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 10, 41, 0, 0, 110, 21, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 11, 41, 0, 0, 124, 21, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 9, 0, 0, 0, 138, 21, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 12, 41, 0, 0, 152, 21, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 13, 41, 0, 0, 166, 21, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 233, 4, 0, 0, 180, 21, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 208, 9, 0, - 0, 194, 21, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 159, 39, 0, 0, 208, 21, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 160, 39, 0, 0, 222, 21, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 176, 39, 0, 0, 236, 21, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 14, 41, 0, 0, 250, 21, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 15, 41, 0, 0, 8, 22, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 16, 41, 0, 0, 22, 22, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 57, 41, 0, - 0, 36, 22, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 41, 0, 0, 50, 22, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 131, 42, 0, 0, 64, 22, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 136, 42, 0, 0, 78, 22, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 156, 42, 0, 0, 92, 22, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 162, 42, 0, 0, 106, 22, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 204, 42, 0, 0, 120, 22, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 208, 42, 0, - 0, 134, 22, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 209, 42, 0, 0, 148, 22, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 210, 42, 0, 0, 162, 22, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 103, 39, 0, 0, 176, 22, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 211, 42, 0, 0, 190, 22, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 212, 42, 0, 0, 204, - 22, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 77, 15, 0, 0, 218, 22, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 213, - 42, 0, 0, 232, 22, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 214, 42, 0, 0, 246, 22, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 215, 42, 0, 0, 4, 23, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 223, 8, 0, 0, 18, 23, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 216, 42, 0, 0, 32, 23, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 217, 42, 0, 0, 46, 23, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 218, 42, 0, 0, 60, 23, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 176, 7, 0, - 0, 74, 23, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 219, 42, 0, 0, 88, 23, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 221, 42, 0, 0, 102, 23, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 222, 42, 0, 0, 116, 23, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 223, 42, 0, 0, 130, 23, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 224, 42, 0, 0, 144, 23, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 225, 42, 0, 0, 158, 23, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 226, 42, - 0, 0, 172, 23, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 227, 42, 0, 0, 186, 23, 0, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 233, 42, 0, 0, 200, 23, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 110, 45, 0, 0, 214, 23, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 112, 45, 0, 0, 228, 23, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 113, 45, 0, 0, - 242, 23, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 161, 45, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 162, 45, 0, 0, 14, 24, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 163, 45, 0, 0, 28, 24, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 182, 47, 0, 0, 42, 24, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 249, 47, 0, 0, 56, 24, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 251, 47, 0, 0, 70, 24, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 253, 47, 0, 0, - 84, 24, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 254, 47, 0, 0, 98, 24, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 7, - 48, 0, 0, 112, 24, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 8, 48, 0, 0, 126, 24, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 9, 48, 0, 0, 140, 24, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 10, 48, 0, 0, 154, 24, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 11, 48, 0, 0, 168, 24, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 12, 48, 0, 0, 182, - 24, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 20, 48, 0, 0, 196, 24, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 21, - 48, 0, 0, 210, 24, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 156, 48, 0, 0, 224, 24, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 157, 48, 0, 0, 238, 24, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 216, 39, 0, 0, 252, 24, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 158, 48, 0, 0, 10, 25, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 162, 48, 0, 0, - 24, 25, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 163, 48, 0, 0, 38, 25, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 73, 45, 0, 0, 52, 25, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 164, 48, 0, 0, 66, 25, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 48, 48, 0, 0, 80, 25, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 253, 46, 0, 0, 94, 25, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 165, 48, 0, 0, 108, 25, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 166, 48, 0, 0, - 122, 25, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 169, 48, 0, 0, 136, 25, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 177, 48, 0, 0, 150, 25, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 178, 48, 0, 0, 164, 25, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 179, 48, 0, 0, 178, 25, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 180, 48, 0, 0, 192, 25, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 181, 48, 0, 0, 206, 25, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 182, 48, - 0, 0, 220, 25, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 48, 0, 0, 234, 25, 0, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 184, 48, 0, 0, 248, 25, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 72, 40, 0, 0, 18, 26, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 185, 48, 0, 0, 24, 26, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 186, 48, 0, 0, 30, 26, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 187, 48, 0, 0, 36, 26, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 188, 48, - 0, 0, 42, 26, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 189, 48, 0, 0, 48, 26, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 190, 48, 0, 0, 55, 26, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 191, 48, 0, 0, 69, 26, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 192, 48, 0, 0, 95, 26, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 193, 48, 0, 0, 101, 26, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 194, 48, 0, 0, 108, 26, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 195, 48, - 0, 0, 122, 26, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 196, 48, 0, 0, 136, 26, 0, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 197, 48, 0, 0, 150, 26, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 198, 48, 0, 0, 164, 26, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 199, 48, 0, 0, 178, 26, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 200, 48, 0, 0, - 207, 26, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 204, 48, 0, 0, 220, 26, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 206, 48, 0, 0, 233, 26, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 208, 48, 0, 0, 247, 26, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 210, 48, 0, 0, 5, 27, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 211, 48, 0, 0, 19, 27, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 153, 2, 0, 0, 33, 27, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 212, 48, 0, 0, - 47, 27, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 213, 48, 0, 0, 61, 27, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 214, 48, 0, 0, 75, 27, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 234, 48, 0, 0, 89, 27, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 235, 48, 0, 0, 103, 27, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 236, 48, 0, 0, 117, 27, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 171, 48, 0, 0, 131, 27, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 78, 49, 0, - 0, 145, 27, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 80, 49, 0, 0, 159, 27, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 81, 49, 0, 0, 173, 27, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 82, 49, 0, 0, 187, 27, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 41, 44, 0, 0, 201, 27, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 181, 43, 0, 0, 215, 27, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 85, 49, 0, 0, 229, 27, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 86, 49, 0, - 0, 243, 27, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 87, 49, 0, 0, 1, 28, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 88, 49, 0, 0, 18, 28, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 184, 12, 0, 0, 35, 28, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 89, 49, 0, 0, 49, 28, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 54, 44, 0, 0, 63, 28, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 90, 49, 0, 0, 77, 28, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 95, 49, 0, 0, 91, - 28, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 101, 49, 0, 0, 123, 28, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 163, - 2, 0, 0, 132, 28, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 156, 2, 0, 0, 145, 28, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 160, 2, 0, 0, 158, 28, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 153, 2, 0, 0, 171, 28, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 154, 2, 0, 0, 185, 28, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 159, 2, 0, 0, 193, - 28, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 157, 2, 0, 0, 205, 28, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 158, - 2, 0, 0, 228, 28, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 162, 2, 0, 0, 236, 28, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 157, 2, 0, 0, 248, 28, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 161, 2, 0, 0, 30, 29, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 168, 2, 0, 0, 39, 29, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 165, 2, 0, 0, 52, - 29, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 164, 2, 0, 0, 66, 29, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 167, 2, - 0, 0, 74, 29, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 157, 2, 0, 0, 86, 29, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 166, 2, 0, 0, 128, 29, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 170, 2, 0, 0, 145, 29, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 255, 40, 0, 0, 155, 29, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 186, 2, 0, 0, 168, 29, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 187, 2, 0, 0, 181, 29, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 188, 2, 0, - 0, 194, 29, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 189, 2, 0, 0, 207, 29, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 190, 2, 0, 0, 220, 29, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 84, 39, 0, 0, 233, 29, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 85, 39, 0, 0, 246, 29, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 86, 39, 0, 0, 3, 30, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 87, 39, 0, 0, 16, 30, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 88, 39, 0, 0, - 29, 30, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 89, 39, 0, 0, 42, 30, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 90, - 39, 0, 0, 55, 30, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 144, 39, 0, 0, 68, 30, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 145, 39, 0, 0, 81, 30, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 146, 39, 0, 0, 94, 30, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 147, 39, 0, 0, 107, 30, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 148, 39, 0, 0, - 120, 30, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 149, 39, 0, 0, 133, 30, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 150, 39, 0, 0, 146, 30, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 151, 39, 0, 0, 159, 30, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 152, 39, 0, 0, 172, 30, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 178, 39, 0, 0, 185, 30, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 179, 39, 0, 0, 198, 30, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 180, 39, - 0, 0, 211, 30, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 182, 39, 0, 0, 224, 30, 0, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 183, 39, 0, 0, 237, 30, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 184, 39, 0, 0, 250, 30, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 185, 39, 0, 0, 7, 31, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 197, 39, 0, 0, 20, - 31, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 198, 39, 0, 0, 33, 31, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 199, - 39, 0, 0, 46, 31, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 200, 39, 0, 0, 59, 31, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 201, 39, 0, 0, 73, 31, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 202, 39, 0, 0, 87, 31, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 203, 39, 0, 0, 101, 31, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 214, 39, 0, 0, - 115, 31, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 215, 39, 0, 0, 129, 31, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 218, 39, 0, 0, 143, 31, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 219, 39, 0, 0, 157, 31, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 220, 39, 0, 0, 171, 31, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 223, 39, 0, 0, 185, 31, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 224, 39, 0, 0, 199, 31, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 225, 39, - 0, 0, 213, 31, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 226, 39, 0, 0, 227, 31, 0, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 227, 39, 0, 0, 241, 31, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 228, 39, 0, 0, 255, 31, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 229, 39, 0, 0, 13, 32, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 230, 39, 0, 0, 27, - 32, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 231, 39, 0, 0, 41, 32, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 240, - 39, 0, 0, 55, 32, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 241, 39, 0, 0, 69, 32, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 242, 39, 0, 0, 83, 32, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 243, 39, 0, 0, 97, 32, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 244, 39, 0, 0, 111, 32, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 245, 39, 0, 0, - 125, 32, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 246, 39, 0, 0, 139, 32, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 247, 39, 0, 0, 153, 32, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 248, 39, 0, 0, 167, 32, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 249, 39, 0, 0, 181, 32, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 250, 39, 0, 0, 195, 32, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 3, 40, 0, 0, 209, 32, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 4, 40, 0, - 0, 223, 32, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 19, 40, 0, 0, 237, 32, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 20, 40, 0, 0, 251, 32, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 21, 40, 0, 0, 9, 33, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 22, 40, 0, 0, 23, 33, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 23, 40, 0, 0, 37, 33, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 24, 40, 0, 0, 51, 33, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 27, 40, 0, 0, 65, - 33, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 28, 40, 0, 0, 79, 33, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 29, 40, - 0, 0, 93, 33, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 30, 40, 0, 0, 107, 33, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 31, 40, 0, 0, 121, 33, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 32, 40, 0, 0, 135, 33, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 33, 40, 0, 0, 149, 33, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 34, 40, 0, 0, 163, 33, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 35, 40, 0, 0, 177, 33, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 36, 40, 0, 0, - 191, 33, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 95, 40, 0, 0, 205, 33, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 99, 40, 0, 0, 219, 33, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 100, 40, 0, 0, 233, 33, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 101, 40, 0, 0, 247, 33, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 239, 40, 0, 0, 5, 34, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 251, 40, 0, 0, 19, 34, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 252, 40, 0, 0, - 87, 34, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 191, 2, 0, 0, 100, 34, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 83, 39, 0, 0, 137, 34, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 157, 2, 0, 0, 150, 34, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 161, 2, 0, 0, 177, 34, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 153, 2, 0, 0, 190, 34, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 192, 2, 0, 0, 205, 34, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 193, 2, 0, 0, - 218, 34, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 2, 0, 0, 246, 34, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 198, 2, 0, 0, 3, 35, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 7, 39, 0, 0, 31, 35, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 99, 20, 0, 0, 44, 35, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 8, 39, 0, 0, 58, 35, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 71, 25, 0, 0, 99, 35, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 9, 39, 0, 0, 112, 35, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 28, 17, 0, 0, 126, 35, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 10, 39, 0, - 0, 139, 35, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 11, 39, 0, 0, 153, 35, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 12, 39, 0, 0, 166, 35, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 62, 3, 0, 0, 179, 35, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 13, 39, 0, 0, 192, 35, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 14, 39, 0, 0, 205, 35, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 243, 9, 0, 0, 218, 35, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 15, 39, 0, 0, - 231, 35, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 16, 39, 0, 0, 244, 35, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 17, 39, 0, 0, 4, 36, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 18, 39, 0, 0, 20, 36, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 19, 39, 0, 0, 36, 36, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 20, 39, 0, 0, 52, 36, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 21, 39, 0, 0, 68, 36, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 22, 39, 0, 0, 84, 36, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 23, 39, 0, 0, 100, 36, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 24, 39, 0, - 0, 113, 36, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 25, 39, 0, 0, 126, 36, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 26, 39, 0, 0, 139, 36, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 27, 39, 0, 0, 155, 36, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 28, 39, 0, 0, 171, 36, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 29, 39, 0, 0, 187, 36, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 30, 39, 0, 0, 203, 36, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 31, 39, 0, 0, - 219, 36, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 32, 39, 0, 0, 235, 36, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 33, 39, 0, 0, 251, 36, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 34, 39, 0, 0, 11, 37, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 35, 39, 0, 0, 27, 37, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 36, 39, 0, 0, 43, 37, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 37, 39, 0, 0, 59, 37, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 38, 39, 0, 0, 75, - 37, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, 39, 0, 0, 91, 37, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 40, 39, - 0, 0, 104, 37, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 41, 39, 0, 0, 120, 37, 0, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 42, 39, 0, 0, 136, 37, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 43, 39, 0, 0, 152, 37, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 44, 39, 0, 0, 168, 37, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 45, 39, 0, 0, 184, 37, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 46, 39, 0, 0, 200, 37, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 47, 39, 0, - 0, 216, 37, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 48, 39, 0, 0, 232, 37, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 49, 39, 0, 0, 248, 37, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 50, 39, 0, 0, 8, 38, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 51, 39, 0, 0, 24, 38, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 52, 39, 0, 0, 40, 38, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 53, 39, 0, 0, 56, 38, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 54, 39, 0, 0, 72, - 38, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 55, 39, 0, 0, 88, 38, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 56, 39, - 0, 0, 104, 38, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 57, 39, 0, 0, 120, 38, 0, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 58, 39, 0, 0, 147, 38, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 59, 39, 0, 0, 174, 38, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 61, 39, 0, 0, 187, 38, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 62, 39, 0, 0, 202, 38, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 21, 7, 0, 0, 215, 38, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 63, 39, 0, - 0, 228, 38, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 60, 3, 0, 0, 241, 38, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 64, 39, 0, 0, 254, 38, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 65, 39, 0, 0, 25, 39, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 66, 39, 0, 0, 38, 39, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 67, 39, 0, 0, 52, 39, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 61, 21, 0, 0, 79, 39, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, 17, 0, 0, 92, - 39, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 68, 39, 0, 0, 120, 39, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 69, - 39, 0, 0, 133, 39, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 39, 0, 0, 147, 39, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 71, 39, 0, 0, 160, 39, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 72, 39, 0, 0, 173, 39, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 73, 39, 0, 0, 186, 39, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 170, 17, 0, 0, 199, - 39, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 74, 39, 0, 0, 212, 39, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, - 39, 0, 0, 225, 39, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 76, 39, 0, 0, 238, 39, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 77, 39, 0, 0, 251, 39, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 77, 3, 0, 0, 8, 40, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 228, 6, 0, 0, 21, 40, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 56, 4, 0, 0, 34, 40, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 4, 0, 0, 47, 40, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 79, 39, 0, 0, - 60, 40, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 63, 9, 0, 0, 73, 40, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 80, - 39, 0, 0, 87, 40, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 197, 2, 0, 0, 96, 40, 0, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 194, 2, 0, 0, 109, 40, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 195, 2, 0, 0, 122, 40, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 196, 2, 0, 0, 146, 40, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 6, 39, 0, 0, 156, 40, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 199, 2, 0, 0, 169, 40, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 133, 38, - 0, 0, 182, 40, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 137, 38, 0, 0, 195, 40, 0, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 138, 38, 0, 0, 208, 40, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 139, 38, 0, 0, 221, 40, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 140, 38, 0, 0, 234, 40, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 141, 38, 0, 0, - 247, 40, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 142, 38, 0, 0, 9, 41, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 143, 38, 0, 0, 22, 41, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 62, 3, 0, 0, 35, 41, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 56, 4, 0, 0, 48, 41, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 77, 3, 0, 0, 62, 41, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 144, 38, 0, 0, 76, 41, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 145, 38, 0, 0, 90, - 41, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 146, 38, 0, 0, 104, 41, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 147, - 38, 0, 0, 118, 41, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 148, 38, 0, 0, 147, 41, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 149, 38, 0, 0, 160, 41, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 150, 38, 0, 0, 174, 41, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 151, 38, 0, 0, 188, 41, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 173, 38, 0, 0, - 202, 41, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 174, 38, 0, 0, 216, 41, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 175, 38, 0, 0, 230, 41, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 176, 38, 0, 0, 244, 41, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 177, 38, 0, 0, 2, 42, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 178, 38, 0, 0, 16, 42, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 179, 38, 0, 0, 45, 42, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 180, 38, 0, - 0, 58, 42, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 181, 38, 0, 0, 72, 42, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 182, 38, 0, 0, 86, 42, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 38, 0, 0, 100, 42, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 184, 38, 0, 0, 114, 42, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 185, 38, 0, 0, 128, 42, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 186, 38, 0, 0, 142, 42, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 187, 38, 0, - 0, 156, 42, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 188, 38, 0, 0, 170, 42, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 189, 38, 0, 0, 184, 42, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 190, 38, 0, 0, 198, 42, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 191, 38, 0, 0, 212, 42, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 192, 38, 0, 0, 226, - 42, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 193, 38, 0, 0, 240, 42, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 194, - 38, 0, 0, 254, 42, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 195, 38, 0, 0, 12, 43, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 196, 38, 0, 0, 26, 43, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 197, 38, 0, 0, 40, 43, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 198, 38, 0, 0, 54, 43, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 199, 38, 0, 0, 68, - 43, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 200, 38, 0, 0, 82, 43, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 201, - 38, 0, 0, 96, 43, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 202, 38, 0, 0, 113, 43, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 203, 38, 0, 0, 130, 43, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 204, 38, 0, 0, 147, 43, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 205, 38, 0, 0, 164, 43, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 206, 38, 0, 0, - 181, 43, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 207, 38, 0, 0, 195, 43, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 208, 38, 0, 0, 209, 43, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 209, 38, 0, 0, 223, 43, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 210, 38, 0, 0, 237, 43, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 211, 38, 0, 0, 251, 43, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 212, 38, 0, 0, 9, 44, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 213, 38, 0, - 0, 23, 44, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 214, 38, 0, 0, 37, 44, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 215, 38, 0, 0, 51, 44, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 216, 38, 0, 0, 65, 44, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 217, 38, 0, 0, 79, 44, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 218, 38, 0, 0, 93, 44, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 219, 38, 0, 0, 107, 44, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 220, 38, 0, 0, - 121, 44, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 221, 38, 0, 0, 135, 44, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 222, 38, 0, 0, 149, 44, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 223, 38, 0, 0, 163, 44, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 224, 38, 0, 0, 177, 44, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 225, 38, 0, 0, 191, 44, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 226, 38, 0, 0, 205, 44, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 227, 38, - 0, 0, 219, 44, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 228, 38, 0, 0, 233, 44, 0, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 229, 38, 0, 0, 247, 44, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 230, 38, 0, 0, 5, 45, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 231, 38, 0, 0, 19, 45, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 232, 38, 0, 0, 36, 45, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 233, 38, 0, 0, 53, 45, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 234, 38, - 0, 0, 70, 45, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 235, 38, 0, 0, 84, 45, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 236, 38, 0, 0, 98, 45, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 237, 38, 0, 0, 112, 45, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 238, 38, 0, 0, 126, 45, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 242, 38, 0, 0, 140, 45, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 243, 38, 0, 0, 154, 45, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 244, 38, - 0, 0, 168, 45, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 245, 38, 0, 0, 182, 45, 0, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 246, 38, 0, 0, 196, 45, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 247, 38, 0, 0, 210, 45, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 248, 38, 0, 0, 224, 45, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 249, 38, 0, 0, - 238, 45, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 250, 38, 0, 0, 252, 45, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 4, 39, 0, 0, 10, 46, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 5, 39, 0, 0, 25, 46, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 132, 38, 0, 0, 48, 46, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 200, 2, 0, 0, 75, 46, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 202, 2, 0, 0, 88, 46, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 204, 2, 0, 0, 117, - 46, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 205, 2, 0, 0, 130, 46, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 206, - 2, 0, 0, 158, 46, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 209, 2, 0, 0, 185, 46, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 211, 2, 0, 0, 198, 46, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 213, 2, 0, 0, 213, 46, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 214, 2, 0, 0, 226, 46, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 215, 2, 0, 0, 239, - 46, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 217, 2, 0, 0, 255, 46, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 218, - 2, 0, 0, 15, 47, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 219, 2, 0, 0, 31, 47, 0, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 220, 2, 0, 0, 47, 47, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 221, 2, 0, 0, 74, 47, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 222, 2, 0, 0, 87, 47, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 223, 2, 0, 0, 101, 47, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 224, 2, 0, 0, 114, 47, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 112, 38, 0, - 0, 127, 47, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 113, 38, 0, 0, 140, 47, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 114, 38, 0, 0, 153, 47, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 115, 38, 0, 0, 180, 47, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 116, 38, 0, 0, 193, 47, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 117, 38, 0, 0, 206, - 47, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 118, 38, 0, 0, 220, 47, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 119, - 38, 0, 0, 247, 47, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 120, 38, 0, 0, 4, 48, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 121, 38, 0, 0, 18, 48, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 122, 38, 0, 0, 31, 48, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 123, 38, 0, 0, 58, 48, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 124, 38, 0, 0, 71, - 48, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 125, 38, 0, 0, 84, 48, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 126, - 38, 0, 0, 98, 48, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 127, 38, 0, 0, 111, 48, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 128, 38, 0, 0, 138, 48, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 129, 38, 0, 0, 151, 48, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 130, 38, 0, 0, 164, 48, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 131, 38, 0, 0, - 183, 48, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 201, 2, 0, 0, 195, 48, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 203, 2, 0, 0, 219, 48, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 208, 2, 0, 0, 226, 48, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 207, 2, 0, 0, 237, 48, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 210, 2, 0, 0, 249, 48, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 212, 2, 0, 0, 6, 49, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 216, 2, 0, 0, 18, - 49, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 42, 17, 0, 0, 28, 49, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 225, 2, - 0, 0, 41, 49, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 226, 2, 0, 0, 54, 49, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 232, 2, 0, 0, 67, 49, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 233, 2, 0, 0, 80, 49, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 234, 2, 0, 0, 93, 49, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 237, 2, 0, 0, 106, 49, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 238, 2, 0, 0, 119, 49, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 239, 2, 0, 0, - 132, 49, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 240, 2, 0, 0, 145, 49, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 241, 2, 0, 0, 158, 49, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 246, 2, 0, 0, 171, 49, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 247, 2, 0, 0, 184, 49, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 248, 2, 0, 0, 197, 49, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 249, 2, 0, 0, 210, 49, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 6, 16, 0, 0, - 223, 49, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 7, 16, 0, 0, 236, 49, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 182, 12, 0, 0, 249, 49, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 250, 37, 0, 0, 6, 50, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 251, 37, 0, 0, 19, 50, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 252, 37, 0, 0, 32, 50, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 253, 37, 0, 0, 45, 50, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 60, 3, 0, 0, 58, - 50, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 254, 37, 0, 0, 71, 50, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 255, - 37, 0, 0, 84, 50, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 38, 0, 0, 97, 50, 0, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 1, 38, 0, 0, 110, 50, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 54, 38, 0, 0, 123, 50, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 55, 38, 0, 0, 136, 50, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 56, 38, 0, 0, 149, 50, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 57, 38, 0, 0, 162, 50, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 58, 38, 0, - 0, 175, 50, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 59, 38, 0, 0, 188, 50, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 60, 38, 0, 0, 202, 50, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 61, 38, 0, 0, 216, 50, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 62, 38, 0, 0, 230, 50, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 63, 38, 0, 0, 244, 50, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 64, 38, 0, 0, 2, 51, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 65, 38, 0, 0, - 16, 51, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 66, 38, 0, 0, 30, 51, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 67, - 38, 0, 0, 44, 51, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 68, 38, 0, 0, 58, 51, 0, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 69, 38, 0, 0, 72, 51, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 38, 0, 0, 86, 51, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 71, 38, 0, 0, 100, 51, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 150, 14, 0, 0, 114, 51, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 151, 14, 0, 0, 128, 51, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 72, 38, - 0, 0, 142, 51, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 73, 38, 0, 0, 156, 51, 0, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 96, 38, 0, 0, 170, 51, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 103, 38, 0, 0, 189, 51, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 253, 16, 0, 0, 202, 51, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 104, 38, 0, 0, 215, - 51, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 107, 38, 0, 0, 228, 51, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 109, - 38, 0, 0, 242, 51, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 155, 3, 0, 0, 0, 52, 0, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 154, 2, 0, 0, 14, 52, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 126, 4, 0, 0, 28, 52, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 111, 38, 0, 0, 91, 52, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 231, 2, 0, 0, 100, 52, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 227, 2, 0, 0, 113, 52, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 230, 2, 0, 0, - 131, 52, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 229, 2, 0, 0, 143, 52, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 228, 2, 0, 0, 224, 52, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 236, 2, 0, 0, 231, 52, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 235, 2, 0, 0, 93, 53, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 245, 2, 0, 0, 120, 53, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 242, 2, 0, 0, 133, 53, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 243, 2, 0, 0, - 147, 53, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 244, 2, 0, 0, 6, 54, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 249, 37, 0, 0, 15, 54, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 250, 2, 0, 0, 28, 54, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 251, 2, 0, 0, 41, 54, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 252, 2, 0, 0, 68, 54, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 98, 15, 0, 0, 81, 54, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 246, 37, 0, 0, - 95, 54, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 247, 37, 0, 0, 111, 54, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 99, 15, 0, 0, 124, 54, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 17, 15, 0, 0, 137, 54, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 248, 37, 0, 0, 151, 54, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 245, 37, 0, 0, 160, 54, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 253, 2, 0, 0, 173, 54, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 3, 0, 0, - 186, 54, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 1, 3, 0, 0, 199, 54, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 5, - 3, 0, 0, 226, 54, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 6, 3, 0, 0, 239, 54, 0, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 10, 3, 0, 0, 252, 54, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 11, 3, 0, 0, 9, 55, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 137, 5, 0, 0, 22, 55, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 53, 4, 0, 0, 50, 55, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 242, 37, 0, 0, 77, 55, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 56, 4, 0, 0, 90, - 55, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 243, 37, 0, 0, 104, 55, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 244, - 37, 0, 0, 123, 55, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 255, 2, 0, 0, 134, 55, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 254, 2, 0, 0, 145, 55, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 4, 3, 0, 0, 156, 55, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 3, 3, 0, 0, 167, 55, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 2, 3, 0, 0, 184, 55, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 9, 3, 0, 0, 193, 55, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 7, 3, 0, 0, - 206, 55, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 8, 3, 0, 0, 230, 55, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 10, - 3, 0, 0, 239, 55, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 7, 3, 0, 0, 252, 55, 0, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 8, 3, 0, 0, 20, 56, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 241, 37, 0, 0, 29, 56, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 12, 3, 0, 0, 42, 56, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 239, 37, 0, 0, 55, 56, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 240, 37, 0, 0, 74, 56, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 87, 4, 0, 0, - 83, 56, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 124, 56, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 13, 3, 0, 0, 137, 56, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 14, 3, 0, 0, 150, 56, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 171, 4, 0, 0, 163, 56, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 188, 3, 0, 0, 191, 56, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 170, 37, 0, 0, 204, 56, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 171, 37, 0, 0, - 217, 56, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 195, 37, 0, 0, 230, 56, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 196, 37, 0, 0, 1, 57, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 197, 37, 0, 0, 14, 57, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 198, 37, 0, 0, 57, 57, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 199, 37, 0, 0, 84, 57, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 157, 2, 0, 0, 97, 57, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 191, 6, 0, 0, - 110, 57, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 200, 37, 0, 0, 125, 57, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 201, 37, 0, 0, 138, 57, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 230, 6, 0, 0, 165, 57, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 202, 37, 0, 0, 178, 57, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 96, 4, 0, 0, 205, 57, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 144, 14, 0, 0, 221, 57, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 203, 37, 0, 0, - 237, 57, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 60, 12, 0, 0, 14, 58, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 204, 37, 0, 0, 27, 58, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 205, 37, 0, 0, 40, 58, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 206, 37, 0, 0, 53, 58, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 207, 37, 0, 0, 66, 58, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 208, 37, 0, 0, 94, 58, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 209, 37, 0, 0, - 107, 58, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 210, 37, 0, 0, 120, 58, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 40, 30, 0, 0, 148, 58, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 211, 37, 0, 0, 161, 58, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 212, 37, 0, 0, 174, 58, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 213, 37, 0, 0, 201, 58, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 214, 37, 0, 0, 214, 58, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 215, 37, 0, - 0, 228, 58, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 187, 5, 0, 0, 0, 59, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 216, 37, 0, 0, 13, 59, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 233, 37, 0, 0, 27, 59, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 167, 2, 0, 0, 55, 59, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 234, 37, 0, 0, 68, 59, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 235, 37, 0, 0, 81, 59, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 126, 5, 0, 0, - 94, 59, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 236, 37, 0, 0, 108, 59, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 237, 37, 0, 0, 121, 59, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 238, 37, 0, 0, 140, 59, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 169, 37, 0, 0, 149, 59, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 15, 3, 0, 0, 162, 59, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 105, 37, 0, 0, 175, 59, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 106, 37, 0, - 0, 188, 59, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 172, 5, 0, 0, 201, 59, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 107, 37, 0, 0, 214, 59, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 108, 37, 0, 0, 227, 59, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 109, 37, 0, 0, 240, 59, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 110, 37, 0, 0, 253, - 59, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 111, 37, 0, 0, 10, 60, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 112, - 37, 0, 0, 23, 60, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 113, 37, 0, 0, 36, 60, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 183, 2, 0, 0, 49, 60, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 166, 37, 0, 0, 62, 60, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 167, 37, 0, 0, 75, 60, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 168, 37, 0, 0, 88, - 60, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 71, 7, 0, 0, 107, 60, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 194, - 14, 0, 0, 117, 60, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 16, 3, 0, 0, 130, 60, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 18, 3, 0, 0, 143, 60, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 19, 3, 0, 0, 156, 60, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 24, 3, 0, 0, 169, 60, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 28, 3, 0, 0, 182, 60, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 29, 3, 0, 0, 195, 60, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 46, 3, 0, - 0, 208, 60, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 47, 3, 0, 0, 221, 60, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 159, 36, 0, 0, 234, 60, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 36, 0, 0, 247, 60, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 161, 36, 0, 0, 4, 61, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 162, 36, 0, 0, 31, 61, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 163, 36, 0, 0, 44, 61, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 164, 36, 0, - 0, 58, 61, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 165, 36, 0, 0, 71, 61, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 166, 36, 0, 0, 84, 61, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 167, 36, 0, 0, 97, 61, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 168, 36, 0, 0, 110, 61, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 169, 36, 0, 0, 123, 61, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 170, 36, 0, 0, 136, 61, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 171, 36, 0, - 0, 149, 61, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 172, 36, 0, 0, 162, 61, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 173, 36, 0, 0, 175, 61, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 174, 36, 0, 0, 188, 61, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 175, 36, 0, 0, 201, 61, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 176, 36, 0, 0, 214, - 61, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 177, 36, 0, 0, 227, 61, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 178, - 36, 0, 0, 240, 61, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 179, 36, 0, 0, 253, 61, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 180, 36, 0, 0, 10, 62, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 181, 36, 0, 0, 23, 62, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 182, 36, 0, 0, 37, 62, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 36, 0, 0, 51, - 62, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 184, 36, 0, 0, 65, 62, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 185, - 36, 0, 0, 79, 62, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 186, 36, 0, 0, 93, 62, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 187, 36, 0, 0, 122, 62, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 188, 36, 0, 0, 135, 62, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 189, 36, 0, 0, 149, 62, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 190, 36, 0, 0, - 163, 62, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 191, 36, 0, 0, 177, 62, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 192, 36, 0, 0, 191, 62, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 193, 36, 0, 0, 205, 62, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 194, 36, 0, 0, 219, 62, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 195, 36, 0, 0, 248, 62, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 196, 36, 0, 0, 5, 63, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 55, 35, 0, - 0, 19, 63, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 197, 36, 0, 0, 33, 63, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 203, 36, 0, 0, 47, 63, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 204, 36, 0, 0, 76, 63, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 205, 36, 0, 0, 89, 63, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 206, 36, 0, 0, 102, 63, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 207, 36, 0, 0, 115, 63, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 208, 36, 0, - 0, 129, 63, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 209, 36, 0, 0, 143, 63, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 210, 36, 0, 0, 157, 63, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 211, 36, 0, 0, 171, 63, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 212, 36, 0, 0, 185, 63, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 74, 37, 0, 0, 199, - 63, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 104, 37, 0, 0, 218, 63, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 17, - 3, 0, 0, 229, 63, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 23, 3, 0, 0, 242, 63, 0, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 20, 3, 0, 0, 4, 64, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 22, 3, 0, 0, 15, 64, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 21, 3, 0, 0, 26, 64, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 27, 3, 0, 0, 39, 64, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 20, 3, 0, 0, 57, 64, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 26, 3, 0, 0, 68, 64, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 25, 3, 0, 0, 80, 64, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 45, 3, 0, 0, - 89, 64, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 30, 3, 0, 0, 102, 64, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 36, - 3, 0, 0, 115, 64, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 37, 3, 0, 0, 128, 64, 0, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 38, 3, 0, 0, 146, 64, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 35, 3, 0, 0, 154, 64, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 34, 3, 0, 0, 163, 64, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 31, 3, 0, 0, 181, 64, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 33, 3, 0, 0, 192, 64, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 32, 3, 0, 0, - 217, 64, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 44, 3, 0, 0, 226, 64, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 39, 3, 0, 0, 239, 64, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 41, 3, 0, 0, 10, 65, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 42, 3, 0, 0, 23, 65, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 43, 3, 0, 0, 38, 65, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 40, 3, 0, 0, 55, 65, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 158, 36, 0, 0, 64, 65, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 48, 3, 0, 0, 77, 65, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 122, 36, 0, - 0, 90, 65, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 123, 36, 0, 0, 103, 65, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 124, 36, 0, 0, 116, 65, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 111, 33, 0, 0, 129, 65, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 81, 31, 0, 0, 142, 65, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 202, 4, 0, 0, 155, 65, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 167, 15, 0, 0, 168, 65, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 155, 5, - 0, 0, 181, 65, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 145, 5, 0, 0, 194, 65, 0, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 146, 5, 0, 0, 207, 65, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 162, 33, 0, 0, 220, 65, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 147, 5, 0, 0, 233, 65, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 104, 33, 0, 0, 246, - 65, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 103, 33, 0, 0, 3, 66, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 130, - 36, 0, 0, 16, 66, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 131, 36, 0, 0, 29, 66, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 144, 36, 0, 0, 42, 66, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 145, 36, 0, 0, 55, 66, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 146, 36, 0, 0, 68, 66, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 147, 36, 0, 0, 81, - 66, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 148, 36, 0, 0, 94, 66, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 157, - 36, 0, 0, 139, 66, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 151, 3, 0, 0, 148, 66, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 49, 3, 0, 0, 161, 66, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 50, 3, 0, 0, 174, 66, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 56, 3, 0, 0, 187, 66, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 58, 3, 0, 0, 200, 66, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 59, 3, 0, 0, 213, 66, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 66, 3, 0, - 0, 226, 66, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 67, 3, 0, 0, 239, 66, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 68, 3, 0, 0, 252, 66, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 84, 3, 0, 0, 9, 67, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 111, 36, 0, 0, 22, 67, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 112, 36, 0, 0, 35, 67, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 113, 36, 0, 0, 62, 67, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 114, 36, 0, 0, 75, - 67, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 115, 36, 0, 0, 89, 67, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 116, - 36, 0, 0, 102, 67, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 117, 36, 0, 0, 115, 67, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 118, 36, 0, 0, 133, 67, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 119, 36, 0, 0, 146, 67, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 120, 36, 0, 0, 159, 67, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 121, 36, 0, 0, - 178, 67, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 55, 3, 0, 0, 186, 67, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 54, 3, 0, 0, 195, 67, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 51, 3, 0, 0, 213, 67, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 53, 3, 0, 0, 221, 67, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 51, 3, 0, 0, 230, 67, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 52, 3, 0, 0, 244, 67, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 57, 3, 0, 0, 253, - 67, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 157, 2, 0, 0, 10, 68, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 158, 2, - 0, 0, 34, 68, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 65, 3, 0, 0, 71, 68, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 60, 3, 0, 0, 84, 68, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 62, 3, 0, 0, 98, 68, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 63, 3, 0, 0, 112, 68, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 2, 0, 0, 130, 68, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 61, 3, 0, 0, 141, 68, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 64, 3, 0, 0, 170, - 68, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 83, 3, 0, 0, 193, 68, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 69, 3, - 0, 0, 220, 68, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 3, 0, 0, 233, 68, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 5, 3, 0, 0, 253, 68, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 82, 3, 0, 0, 4, 69, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 81, 3, 0, 0, 24, 69, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 71, 3, 0, 0, 38, 69, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 80, 3, 0, 0, 46, 69, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 72, 3, 0, 0, 63, 69, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 79, 3, 0, 0, 70, 69, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 78, 3, 0, 0, - 90, 69, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 20, 3, 0, 0, 114, 69, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 73, - 3, 0, 0, 126, 69, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 74, 3, 0, 0, 151, 69, 0, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 75, 3, 0, 0, 163, 69, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 77, 3, 0, 0, 182, 69, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 76, 3, 0, 0, 199, 69, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 110, 36, 0, 0, 208, 69, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 85, 3, 0, 0, 221, 69, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 86, 3, 0, 0, - 234, 69, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 56, 3, 0, 0, 247, 69, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 87, 3, 0, 0, 4, 70, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 88, 3, 0, 0, 17, 70, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 89, 3, 0, 0, 30, 70, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 90, 3, 0, 0, 43, 70, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 91, 3, 0, 0, 56, 70, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 92, 3, 0, 0, 69, 70, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 93, 3, 0, 0, 82, 70, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 94, 3, 0, 0, - 95, 70, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 108, 36, 0, 0, 108, 70, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 109, 36, 0, 0, 72, 71, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 107, 36, 0, 0, 81, 71, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 95, 3, 0, 0, 94, 71, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 96, 3, 0, 0, 107, 71, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 105, 36, 0, 0, 120, 71, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 106, 36, 0, 0, - 139, 71, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 104, 36, 0, 0, 149, 71, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 97, 3, 0, 0, 162, 71, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 98, 3, 0, 0, 175, 71, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 101, 3, 0, 0, 188, 71, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 102, 3, 0, 0, 201, 71, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 103, 3, 0, 0, 214, 71, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 107, 3, 0, 0, - 227, 71, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 52, 35, 0, 0, 240, 71, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 147, 35, 0, 0, 253, 71, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 35, 0, 0, 10, 72, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 210, 35, 0, 0, 23, 72, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 229, 35, 0, 0, 36, 72, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 13, 35, 0, 0, 49, 72, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 230, 35, 0, 0, - 62, 72, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 231, 35, 0, 0, 75, 72, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 232, 35, 0, 0, 88, 72, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 233, 35, 0, 0, 101, 72, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 234, 35, 0, 0, 114, 72, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 235, 35, 0, 0, 127, 72, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 236, 35, 0, 0, 140, 72, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 238, 35, 0, - 0, 153, 72, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 2, 36, 0, 0, 166, 72, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 3, 36, 0, 0, 179, 72, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 10, 36, 0, 0, 192, 72, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 13, 36, 0, 0, 205, 72, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 14, 36, 0, 0, 218, 72, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 16, 36, 0, 0, 231, 72, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 17, 36, 0, 0, - 244, 72, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 18, 36, 0, 0, 1, 73, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 19, - 36, 0, 0, 15, 73, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 21, 36, 0, 0, 29, 73, 0, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 22, 36, 0, 0, 43, 73, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 23, 36, 0, 0, 57, 73, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 49, 36, 0, 0, 71, 73, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 10, 35, 0, 0, 85, 73, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 62, 36, 0, 0, 99, 73, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 63, 36, 0, 0, - 113, 73, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 64, 36, 0, 0, 127, 73, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 65, 36, 0, 0, 141, 73, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 66, 36, 0, 0, 155, 73, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 67, 36, 0, 0, 169, 73, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 68, 36, 0, 0, 183, 73, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 70, 36, 0, 0, 197, 73, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 71, 36, 0, 0, - 211, 73, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 72, 36, 0, 0, 225, 73, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 73, 36, 0, 0, 239, 73, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 74, 36, 0, 0, 253, 73, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 75, 36, 0, 0, 11, 74, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 76, 36, 0, 0, 25, 74, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 81, 36, 0, 0, 39, 74, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 82, 36, 0, 0, 53, - 74, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 83, 36, 0, 0, 67, 74, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 84, 36, - 0, 0, 81, 74, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 85, 36, 0, 0, 95, 74, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 86, 36, 0, 0, 109, 74, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 87, 36, 0, 0, 123, 74, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 88, 36, 0, 0, 137, 74, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 97, 36, 0, 0, 151, 74, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, 4, 0, 0, 165, 74, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 203, 12, 0, 0, - 179, 74, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 98, 36, 0, 0, 193, 74, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 99, 36, 0, 0, 207, 74, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 100, 36, 0, 0, 221, 74, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 101, 36, 0, 0, 235, 74, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 102, 36, 0, 0, 249, 74, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 103, 36, 0, 0, 12, 75, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 100, 3, 0, 0, - 23, 75, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 99, 3, 0, 0, 34, 75, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 106, - 3, 0, 0, 45, 75, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 105, 3, 0, 0, 52, 75, 0, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 104, 3, 0, 0, 64, 75, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 51, 35, 0, 0, 72, 75, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 154, 2, 0, 0, 84, 75, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 108, 3, 0, 0, 96, 75, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 109, 3, 0, 0, 108, 75, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 32, 35, 0, 0, - 120, 75, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 148, 16, 0, 0, 132, 75, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 41, 35, 0, 0, 144, 75, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 155, 3, 0, 0, 156, 75, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 157, 2, 0, 0, 168, 75, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 42, 35, 0, 0, 180, 75, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 43, 35, 0, 0, 192, 75, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 44, 35, 0, 0, - 204, 75, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 45, 35, 0, 0, 216, 75, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 46, 35, 0, 0, 228, 75, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 47, 35, 0, 0, 240, 75, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 48, 35, 0, 0, 252, 75, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 49, 35, 0, 0, 8, 76, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 50, 35, 0, 0, 42, 76, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 31, 35, 0, 0, 51, - 76, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 110, 3, 0, 0, 64, 76, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 1, 35, - 0, 0, 77, 76, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 2, 35, 0, 0, 90, 76, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 3, 35, 0, 0, 103, 76, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 4, 35, 0, 0, 116, 76, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 213, 4, 0, 0, 129, 76, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 221, 4, 0, 0, 142, 76, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 154, 16, 0, 0, 155, 76, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 15, 4, 0, 0, - 168, 76, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 222, 10, 0, 0, 181, 76, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 9, 35, 0, 0, 194, 76, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 133, 4, 0, 0, 207, 76, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 10, 35, 0, 0, 220, 76, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 11, 35, 0, 0, 233, 76, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 12, 35, 0, 0, 246, 76, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 13, 35, 0, 0, 3, - 77, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 14, 35, 0, 0, 16, 77, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 15, 35, - 0, 0, 32, 77, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 20, 35, 0, 0, 48, 77, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 6, 35, 0, 0, 64, 77, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 29, 35, 0, 0, 80, 77, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 30, 35, 0, 0, 107, 77, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 35, 0, 0, 116, 77, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 111, 3, 0, 0, 129, 77, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 112, 3, 0, 0, - 142, 77, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 113, 3, 0, 0, 155, 77, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 253, 34, 0, 0, 168, 77, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 254, 34, 0, 0, 181, 77, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 255, 34, 0, 0, 254, 77, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 252, 34, 0, 0, 7, 78, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 114, 3, 0, 0, 20, 78, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 9, 0, 0, 0, - 50, 78, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 115, 3, 0, 0, 63, 78, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 116, 3, 0, 0, 76, 78, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 2, 0, 0, 89, 78, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 144, 3, 0, 0, 103, 78, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 187, 3, 0, 0, 116, 78, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 251, 34, 0, 0, 135, 78, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 143, 3, 0, 0, - 144, 78, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 2, 0, 0, 157, 78, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 117, 3, 0, 0, 170, 78, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 118, 3, 0, 0, 183, 78, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 119, 3, 0, 0, 196, 78, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 142, 3, 0, 0, 215, 78, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 141, 3, 0, 0, 224, 78, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 2, 0, 0, - 237, 78, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 2, 0, 0, 250, 78, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 120, 3, 0, 0, 7, 79, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 121, 3, 0, 0, 20, 79, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 122, 3, 0, 0, 33, 79, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 153, 2, 0, 0, 46, 79, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 123, 3, 0, 0, 59, 79, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 124, 3, 0, 0, 72, 79, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 125, 3, 0, 0, 85, 79, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 126, 3, 0, - 0, 98, 79, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 127, 3, 0, 0, 111, 79, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 128, 3, 0, 0, 124, 79, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 139, 3, 0, 0, 137, 79, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 9, 0, 0, 0, 150, 79, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 140, 3, 0, 0, 164, 79, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 138, 3, 0, 0, 173, 79, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 129, 3, 0, 0, - 186, 79, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 133, 3, 0, 0, 213, 79, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 134, 3, 0, 0, 226, 79, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 135, 3, 0, 0, 240, 79, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 136, 3, 0, 0, 253, 79, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 137, 3, 0, 0, 15, 80, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 132, 3, 0, 0, 23, 80, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 131, 3, 0, 0, 32, - 80, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 130, 3, 0, 0, 75, 80, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 144, 3, - 0, 0, 84, 80, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 145, 3, 0, 0, 102, 80, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 146, 3, 0, 0, 115, 80, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 148, 3, 0, 0, 129, 80, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 149, 3, 0, 0, 142, 80, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 153, 3, 0, 0, 155, 80, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 3, 0, 0, 168, 80, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 216, 34, 0, - 0, 181, 80, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 217, 34, 0, 0, 194, 80, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 225, 34, 0, 0, 207, 80, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 226, 34, 0, 0, 220, 80, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 227, 34, 0, 0, 233, 80, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 228, 34, 0, 0, 246, - 80, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 229, 34, 0, 0, 3, 81, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 230, - 34, 0, 0, 16, 81, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 239, 34, 0, 0, 29, 81, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 240, 34, 0, 0, 42, 81, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 245, 34, 0, 0, 55, 81, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 246, 34, 0, 0, 68, 81, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 71, 7, 0, 0, 81, - 81, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 247, 34, 0, 0, 94, 81, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 189, - 3, 0, 0, 107, 81, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 248, 34, 0, 0, 120, 81, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 250, 34, 0, 0, 134, 81, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 147, 3, 0, 0, 143, 81, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 157, 2, 0, 0, 162, 81, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 152, 3, 0, 0, 171, - 81, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 150, 3, 0, 0, 184, 81, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 151, - 3, 0, 0, 208, 81, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 215, 34, 0, 0, 217, 81, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 155, 3, 0, 0, 229, 81, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 222, 30, 0, 0, 241, 81, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 190, 3, 0, 0, 253, 81, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 191, 3, 0, 0, 9, - 82, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 223, 30, 0, 0, 21, 82, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 224, - 30, 0, 0, 33, 82, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 225, 30, 0, 0, 45, 82, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 226, 30, 0, 0, 57, 82, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 230, 30, 0, 0, 69, 82, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 214, 5, 0, 0, 81, 82, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 231, 30, 0, 0, 94, - 82, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 248, 2, 0, 0, 107, 82, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 192, - 3, 0, 0, 120, 82, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 232, 30, 0, 0, 133, 82, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 158, 5, 0, 0, 146, 82, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 53, 24, 0, 0, 159, 82, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 174, 3, 0, 0, 172, 82, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 234, 30, 0, 0, 185, - 82, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 151, 22, 0, 0, 198, 82, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, - 3, 0, 0, 211, 82, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 7, 16, 0, 0, 224, 82, 0, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 203, 3, 0, 0, 237, 82, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 208, 34, 0, 0, 250, 82, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 209, 34, 0, 0, 7, 83, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 210, 34, 0, 0, 20, 83, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 8, 16, 0, 0, 33, 83, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 211, 34, 0, - 0, 46, 83, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 212, 34, 0, 0, 59, 83, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 5, 16, 0, 0, 72, 83, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 213, 34, 0, 0, 85, 83, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 214, 34, 0, 0, 98, 83, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 115, 15, 0, 0, 117, 83, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 2, 4, 0, 0, 127, 83, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 173, 2, 0, 0, - 140, 83, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 2, 0, 0, 153, 83, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 154, 2, 0, 0, 166, 83, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 156, 3, 0, 0, 179, 83, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 157, 3, 0, 0, 192, 83, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 108, 30, 0, 0, 205, 83, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 77, 7, 0, 0, 218, 83, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 109, 30, 0, 0, - 231, 83, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 110, 30, 0, 0, 244, 83, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 111, 30, 0, 0, 1, 84, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 116, 30, 0, 0, 14, 84, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 117, 30, 0, 0, 27, 84, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 118, 30, 0, 0, 41, 84, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 119, 30, 0, 0, 55, 84, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 120, 30, 0, 0, - 69, 84, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 121, 30, 0, 0, 83, 84, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 122, 30, 0, 0, 97, 84, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 123, 30, 0, 0, 111, 84, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 124, 30, 0, 0, 125, 84, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 125, 30, 0, 0, 139, 84, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 126, 30, 0, 0, 153, 84, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 106, 12, 0, - 0, 167, 84, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 107, 12, 0, 0, 181, 84, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 238, 2, 0, 0, 195, 84, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 127, 30, 0, 0, 209, 84, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 134, 30, 0, 0, 223, 84, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 28, 23, 0, 0, 237, 84, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 144, 30, 0, 0, 251, 84, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 145, 30, - 0, 0, 9, 85, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 146, 30, 0, 0, 23, 85, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 147, 30, 0, 0, 37, 85, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 151, 30, 0, 0, 51, 85, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 169, 30, 0, 0, 65, 85, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 170, 30, 0, 0, 79, 85, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 175, 30, 0, 0, 93, 85, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 253, 6, 0, 0, - 107, 85, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 177, 30, 0, 0, 121, 85, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 178, 30, 0, 0, 135, 85, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 179, 30, 0, 0, 149, 85, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 180, 30, 0, 0, 163, 85, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 181, 30, 0, 0, 177, 85, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 182, 30, 0, 0, 191, 85, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 184, 30, - 0, 0, 205, 85, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 185, 30, 0, 0, 219, 85, 0, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 186, 30, 0, 0, 233, 85, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 187, 30, 0, 0, 247, 85, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 191, 30, 0, 0, 5, 86, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 192, 30, 0, 0, 19, - 86, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 193, 30, 0, 0, 33, 86, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 194, - 30, 0, 0, 47, 86, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 195, 30, 0, 0, 61, 86, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 196, 30, 0, 0, 75, 86, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 197, 30, 0, 0, 89, 86, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 198, 30, 0, 0, 103, 86, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 199, 30, 0, 0, - 117, 86, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 203, 30, 0, 0, 131, 86, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 204, 30, 0, 0, 145, 86, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 205, 30, 0, 0, 159, 86, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 206, 30, 0, 0, 173, 86, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 207, 30, 0, 0, 187, 86, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 208, 30, 0, 0, 201, 86, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 209, 30, - 0, 0, 215, 86, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 210, 30, 0, 0, 229, 86, 0, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 211, 30, 0, 0, 243, 86, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 212, 30, 0, 0, 1, 87, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 213, 30, 0, 0, 15, 87, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 216, 30, 0, 0, 29, 87, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 217, 30, 0, 0, 43, 87, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 181, 12, - 0, 0, 57, 87, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 118, 3, 0, 0, 71, 87, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 218, 30, 0, 0, 85, 87, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 221, 30, 0, 0, 124, 87, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 107, 30, 0, 0, 133, 87, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 158, 3, 0, 0, 146, 87, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 37, 10, 0, 0, 159, 87, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 90, 30, 0, - 0, 172, 87, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 91, 30, 0, 0, 185, 87, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 106, 30, 0, 0, 199, 87, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 89, 30, 0, 0, 208, 87, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 154, 2, 0, 0, 221, 87, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 159, 3, 0, 0, 234, 87, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 3, 0, 0, 247, 87, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 161, 3, 0, 0, - 4, 88, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 173, 3, 0, 0, 17, 88, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 49, - 13, 0, 0, 30, 88, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 116, 4, 0, 0, 43, 88, 0, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 84, 30, 0, 0, 59, 88, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 85, 30, 0, 0, 75, 88, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 86, 30, 0, 0, 91, 88, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 87, 30, 0, 0, 107, 88, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 88, 30, 0, 0, 134, 88, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 161, 3, 0, 0, - 143, 88, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 2, 0, 0, 156, 88, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 162, 3, 0, 0, 169, 88, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 158, 3, 0, 0, 182, 88, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 163, 3, 0, 0, 206, 88, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 172, 3, 0, 0, 215, 88, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 164, 3, 0, 0, 228, 88, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 2, 0, 0, - 241, 88, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 165, 3, 0, 0, 87, 89, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 171, 3, 0, 0, 97, 89, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 166, 3, 0, 0, 110, 89, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 167, 3, 0, 0, 123, 89, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 168, 3, 0, 0, 137, 89, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 169, 3, 0, 0, 151, 89, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 170, 3, 0, 0, - 208, 89, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 83, 30, 0, 0, 217, 89, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 174, 3, 0, 0, 230, 89, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 175, 3, 0, 0, 243, 89, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 182, 3, 0, 0, 0, 90, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 3, 0, 0, 13, 90, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 82, 30, 0, 0, 26, 90, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 129, 7, 0, 0, 39, - 90, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 130, 7, 0, 0, 75, 90, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 175, 3, - 0, 0, 84, 90, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 176, 3, 0, 0, 97, 90, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 181, 3, 0, 0, 141, 90, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 179, 3, 0, 0, 152, 90, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 178, 3, 0, 0, 163, 90, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 177, 3, 0, 0, 175, 90, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 180, 3, 0, 0, 184, 90, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 2, 0, 0, - 197, 90, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 123, 3, 0, 0, 6, 91, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 81, - 30, 0, 0, 15, 91, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 2, 0, 0, 28, 91, 0, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 184, 3, 0, 0, 41, 91, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 185, 3, 0, 0, 54, 91, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 80, 6, 0, 0, 67, 91, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 80, 30, 0, 0, 138, 91, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 79, 30, 0, 0, 147, 91, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 186, 3, 0, 0, - 160, 91, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 187, 3, 0, 0, 173, 91, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 188, 3, 0, 0, 186, 91, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 189, 3, 0, 0, 199, 91, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 190, 3, 0, 0, 212, 91, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 191, 3, 0, 0, 225, 91, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 192, 3, 0, 0, 72, 92, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 78, 30, 0, 0, 81, - 92, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 193, 3, 0, 0, 94, 92, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 194, 3, - 0, 0, 107, 92, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 195, 3, 0, 0, 120, 92, 0, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 196, 3, 0, 0, 133, 92, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 197, 3, 0, 0, 146, 92, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 198, 3, 0, 0, 159, 92, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 199, 3, 0, 0, 172, 92, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 55, 30, 0, 0, 185, 92, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 59, 30, 0, - 0, 198, 92, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 92, 13, 0, 0, 216, 92, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 127, 5, 0, 0, 229, 92, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 60, 30, 0, 0, 243, 92, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 61, 30, 0, 0, 0, 93, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 62, 30, 0, 0, 13, 93, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 166, 5, 0, 0, 26, 93, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 64, 30, 0, 0, 39, - 93, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 65, 30, 0, 0, 52, 93, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 66, 30, - 0, 0, 65, 93, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 67, 30, 0, 0, 78, 93, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 68, 30, 0, 0, 91, 93, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 69, 30, 0, 0, 110, 93, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 54, 30, 0, 0, 135, 93, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 192, 3, 0, 0, 148, 93, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 200, 3, 0, 0, 161, 93, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 202, 3, 0, 0, - 174, 93, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 203, 3, 0, 0, 187, 93, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 204, 3, 0, 0, 200, 93, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 205, 3, 0, 0, 213, 93, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 206, 3, 0, 0, 226, 93, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 207, 3, 0, 0, 239, 93, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 208, 3, 0, 0, 252, 93, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 209, 3, 0, 0, 9, - 94, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 210, 3, 0, 0, 22, 94, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 213, 3, - 0, 0, 35, 94, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 214, 3, 0, 0, 48, 94, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 215, 3, 0, 0, 61, 94, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 216, 3, 0, 0, 74, 94, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 221, 3, 0, 0, 87, 94, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 222, 3, 0, 0, 100, 94, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 223, 3, 0, 0, 113, 94, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 230, 3, 0, 0, - 126, 94, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 231, 3, 0, 0, 139, 94, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 232, 3, 0, 0, 152, 94, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 233, 3, 0, 0, 165, 94, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 234, 3, 0, 0, 178, 94, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 235, 3, 0, 0, 191, 94, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 236, 3, 0, 0, 204, 94, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 237, 3, 0, 0, - 217, 94, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 238, 3, 0, 0, 230, 94, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 239, 3, 0, 0, 243, 94, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 240, 3, 0, 0, 0, 95, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 241, 3, 0, 0, 13, 95, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 242, 3, 0, 0, 27, 95, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 243, 3, 0, 0, 41, 95, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 244, 3, 0, 0, 55, - 95, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 245, 3, 0, 0, 69, 95, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 246, 3, - 0, 0, 83, 95, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 247, 3, 0, 0, 97, 95, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 248, 3, 0, 0, 111, 95, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 249, 3, 0, 0, 125, 95, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 250, 3, 0, 0, 139, 95, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 251, 3, 0, 0, 153, 95, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 252, 3, 0, 0, 167, 95, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 253, 3, 0, 0, - 181, 95, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 254, 3, 0, 0, 195, 95, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 0, 4, 0, 0, 209, 95, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 235, 29, 0, 0, 223, 95, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 183, 2, 0, 0, 237, 95, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 9, 30, 0, 0, 251, 95, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 13, 30, 0, 0, 9, 96, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 14, 30, 0, 0, 23, - 96, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 155, 3, 0, 0, 37, 96, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 221, 4, - 0, 0, 51, 96, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 34, 30, 0, 0, 65, 96, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 35, 30, 0, 0, 79, 96, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 42, 30, 0, 0, 93, 96, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 43, 30, 0, 0, 107, 96, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 252, 28, 0, 0, 121, 96, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 44, 30, 0, 0, 135, 96, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 45, 30, 0, 0, - 149, 96, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 46, 30, 0, 0, 163, 96, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 51, 30, 0, 0, 177, 96, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 52, 30, 0, 0, 191, 96, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 65, 7, 0, 0, 206, 96, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 53, 30, 0, 0, 221, 96, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 201, 3, 0, 0, 230, 96, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 197, 2, 0, 0, - 33, 97, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 212, 3, 0, 0, 46, 97, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 210, 3, 0, 0, 64, 97, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 211, 3, 0, 0, 76, 97, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 220, 3, 0, 0, 88, 97, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 219, 3, 0, 0, 99, 97, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 32, 3, 0, 0, 116, 97, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 218, 3, 0, 0, - 127, 97, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 217, 3, 0, 0, 134, 97, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 229, 3, 0, 0, 143, 97, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 5, 3, 0, 0, 156, 97, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 155, 3, 0, 0, 169, 97, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 224, 3, 0, 0, 182, 97, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 226, 3, 0, 0, 195, 97, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 228, 3, 0, 0, - 209, 97, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 225, 3, 0, 0, 218, 97, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 77, 3, 0, 0, 236, 97, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 227, 3, 0, 0, 255, 97, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 255, 3, 0, 0, 8, 98, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 5, 3, 0, 0, 39, 98, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 234, 29, 0, 0, 48, 98, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 1, 4, 0, 0, 61, 98, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 2, 4, 0, 0, 74, 98, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 3, 4, 0, 0, - 87, 98, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 227, 29, 0, 0, 100, 98, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 228, 29, 0, 0, 113, 98, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 233, 29, 0, 0, 148, 98, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 226, 29, 0, 0, 158, 98, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 4, 4, 0, 0, 171, 98, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 5, 4, 0, 0, 184, 98, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 6, 4, 0, 0, - 197, 98, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 7, 4, 0, 0, 210, 98, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 8, - 4, 0, 0, 223, 98, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 9, 4, 0, 0, 239, 98, 0, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 10, 4, 0, 0, 255, 98, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 11, 4, 0, 0, 15, 99, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 12, 4, 0, 0, 31, 99, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 13, 4, 0, 0, 44, 99, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 14, 4, 0, 0, 57, 99, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 144, 3, 0, 0, 70, - 99, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 15, 4, 0, 0, 83, 99, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 216, 29, - 0, 0, 96, 99, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 217, 29, 0, 0, 109, 99, 0, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 69, 23, 0, 0, 122, 99, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 218, 29, 0, 0, 135, 99, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 143, 3, 0, 0, 148, 99, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 219, 29, 0, 0, 161, - 99, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 220, 29, 0, 0, 174, 99, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 221, - 29, 0, 0, 187, 99, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 222, 29, 0, 0, 200, 99, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 223, 29, 0, 0, 213, 99, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 224, 29, 0, 0, 226, 99, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 225, 29, 0, 0, 239, 99, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 169, 3, 0, 0, - 2, 100, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 15, 4, 0, 0, 11, 100, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 16, - 4, 0, 0, 24, 100, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 124, 3, 0, 0, 37, 100, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 125, 3, 0, 0, 50, 100, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 17, 4, 0, 0, 63, 100, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 18, 4, 0, 0, 76, 100, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 19, 4, 0, 0, 89, - 100, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 20, 4, 0, 0, 102, 100, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 21, - 4, 0, 0, 115, 100, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 22, 4, 0, 0, 128, 100, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 23, 4, 0, 0, 141, 100, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 24, 4, 0, 0, 154, 100, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 25, 4, 0, 0, 167, 100, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 26, 4, 0, 0, 180, - 100, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 27, 4, 0, 0, 193, 100, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 28, - 4, 0, 0, 206, 100, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 29, 4, 0, 0, 219, 100, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 30, 4, 0, 0, 232, 100, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 218, 4, 0, 0, 245, 100, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 219, 4, 0, 0, 2, 101, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 220, 4, 0, 0, 15, - 101, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 133, 4, 0, 0, 28, 101, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 243, - 2, 0, 0, 41, 101, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 221, 4, 0, 0, 54, 101, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 162, 14, 0, 0, 67, 101, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 213, 29, 0, 0, 94, 101, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 215, 29, 0, 0, 107, 101, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, 4, 0, 0, - 127, 101, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 114, 3, 0, 0, 136, 101, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 16, 4, 0, 0, 149, 101, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 31, 4, 0, 0, 176, 101, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 36, 4, 0, 0, 189, 101, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 37, 4, 0, 0, 203, 101, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 38, 4, 0, 0, 216, 101, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 125, 4, 0, 0, - 229, 101, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 243, 2, 0, 0, 242, 101, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 133, 4, 0, 0, 13, 102, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 134, 4, 0, 0, 26, 102, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 136, 4, 0, 0, 40, 102, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 137, 4, 0, 0, 53, 102, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 124, 3, 0, 0, 66, 102, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 125, 3, 0, 0, - 79, 102, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 138, 4, 0, 0, 92, 102, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 141, 4, 0, 0, 105, 102, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 142, 4, 0, 0, 118, 102, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 173, 2, 0, 0, 131, 102, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 158, 102, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 143, 4, 0, 0, 185, 102, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 60, 3, 0, - 0, 198, 102, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 210, 4, 0, 0, 211, 102, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 9, 0, 0, 0, 224, 102, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 206, 4, 0, 0, 237, 102, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 151, 4, 0, 0, 10, 103, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 152, 4, 0, 0, 37, 103, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 211, 4, 0, 0, 50, 103, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 212, 4, 0, 0, - 65, 103, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 217, 4, 0, 0, 83, 103, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 35, 4, 0, 0, 95, 103, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 34, 4, 0, 0, 106, 103, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 33, 4, 0, 0, 117, 103, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 32, 4, 0, 0, 129, 103, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 121, 4, 0, 0, 138, 103, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, 4, 0, 0, - 151, 103, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 38, 4, 0, 0, 164, 103, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 42, 4, 0, 0, 177, 103, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 3, 0, 0, 191, 103, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 41, 4, 0, 0, 199, 103, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 40, 4, 0, 0, 229, 103, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 124, 4, 0, 0, 252, 103, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, 4, 0, 0, 9, - 104, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 43, 4, 0, 0, 23, 104, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 44, 4, - 0, 0, 36, 104, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 120, 4, 0, 0, 49, 104, 0, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 121, 4, 0, 0, 62, 104, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 122, 4, 0, 0, 75, 104, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 15, 4, 0, 0, 88, 104, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 188, 3, 0, 0, 101, 104, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 123, 4, 0, 0, 114, 104, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 16, 4, 0, - 0, 133, 104, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 110, 4, 0, 0, 142, 104, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 39, 4, 0, 0, 155, 104, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 164, 3, 0, 0, 168, 104, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 53, 4, 0, 0, 181, 104, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 112, 4, 0, 0, 194, 104, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 113, 4, 0, 0, 207, 104, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 114, 4, - 0, 0, 220, 104, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 16, 4, 0, 0, 233, 104, 0, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 70, 3, 0, 0, 246, 104, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 117, 4, 0, 0, 3, 105, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 118, 4, 0, 0, 16, 105, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 119, 4, 0, 0, 35, 105, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 52, 4, 0, 0, 58, 105, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, 4, 0, - 0, 71, 105, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 45, 4, 0, 0, 85, 105, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 46, 4, 0, 0, 98, 105, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 47, 4, 0, 0, 136, 105, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 51, 4, 0, 0, 145, 105, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 9, 0, 0, 0, 158, 105, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 48, 4, 0, 0, 171, 105, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 49, 4, 0, 0, - 184, 105, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 50, 4, 0, 0, 215, 105, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 111, 4, 0, 0, 224, 105, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 54, 4, 0, 0, 237, 105, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 55, 4, 0, 0, 250, 105, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 59, 4, 0, 0, 7, 106, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 56, 4, 0, 0, 20, 106, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 77, 3, 0, 0, 33, - 106, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 60, 4, 0, 0, 46, 106, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 61, 4, - 0, 0, 59, 106, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 62, 4, 0, 0, 72, 106, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 63, 4, 0, 0, 85, 106, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 64, 4, 0, 0, 98, 106, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 65, 4, 0, 0, 111, 106, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 66, 4, 0, 0, 124, 106, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 67, 4, 0, 0, 137, 106, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 68, 4, 0, 0, - 150, 106, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 69, 4, 0, 0, 163, 106, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 70, 4, 0, 0, 176, 106, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 71, 4, 0, 0, 189, 106, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 85, 4, 0, 0, 202, 106, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 86, 4, 0, 0, 215, 106, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 243, 2, 0, 0, 228, 106, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 110, 4, 0, 0, - 242, 106, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 54, 4, 0, 0, 251, 106, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 155, 3, 0, 0, 8, 107, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 226, 3, 0, 0, 21, 107, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 224, 3, 0, 0, 34, 107, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 228, 3, 0, 0, 52, 107, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 58, 4, 0, 0, 60, 107, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 57, 4, 0, 0, 69, - 107, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 3, 0, 0, 82, 107, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 56, 4, - 0, 0, 101, 107, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 84, 4, 0, 0, 110, 107, 0, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 72, 4, 0, 0, 123, 107, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 79, 4, 0, 0, 136, 107, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 80, 4, 0, 0, 149, 107, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 81, 4, 0, 0, 162, 107, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 82, 4, 0, 0, 175, 107, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 83, 4, 0, - 0, 193, 107, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 78, 4, 0, 0, 204, 107, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 72, 3, 0, 0, 221, 107, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 77, 4, 0, 0, 228, 107, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 76, 4, 0, 0, 248, 107, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 73, 4, 0, 0, 16, 108, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 74, 4, 0, 0, 28, 108, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 4, 0, 0, - 42, 108, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 226, 3, 0, 0, 72, 108, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 93, 4, 0, 0, 81, 108, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 87, 4, 0, 0, 94, 108, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 88, 4, 0, 0, 107, 108, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 62, 3, 0, 0, 120, 108, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 110, 3, 0, 0, 133, 108, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, - 146, 108, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 188, 3, 0, 0, 170, 108, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 92, 4, 0, 0, 179, 108, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 89, 4, 0, 0, 192, 108, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 174, 3, 0, 0, 205, 108, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 90, 4, 0, 0, 218, 108, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 91, 4, 0, 0, 40, 109, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 109, 4, 0, 0, - 49, 109, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 94, 4, 0, 0, 62, 109, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 95, 4, 0, 0, 75, 109, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 98, 4, 0, 0, 88, 109, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 99, 4, 0, 0, 101, 109, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 100, 4, 0, 0, 114, 109, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 124, 3, 0, 0, 127, 109, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 234, 3, 0, - 0, 140, 109, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 101, 4, 0, 0, 153, 109, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 102, 4, 0, 0, 167, 109, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 97, 4, 0, 0, 176, 109, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 70, 3, 0, 0, 189, 109, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 5, 3, 0, 0, 202, 109, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 2, 0, 0, 215, 109, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 96, 4, 0, 0, - 234, 109, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 108, 4, 0, 0, 242, 109, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 70, 3, 0, 0, 254, 109, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 103, 4, 0, 0, 10, 110, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 104, 4, 0, 0, 22, 110, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 105, 4, 0, 0, 34, 110, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 106, 4, 0, 0, 46, 110, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 107, 4, 0, 0, - 58, 110, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 81, 110, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 116, 4, 0, 0, 90, 110, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 115, 4, 0, 0, 119, 110, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 132, 4, 0, 0, 128, 110, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 126, 4, 0, 0, 141, 110, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 127, 4, 0, 0, 154, 110, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 3, 0, 0, - 167, 110, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 16, 4, 0, 0, 180, 110, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 128, 4, 0, 0, 193, 110, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 129, 4, 0, 0, 206, 110, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 124, 3, 0, 0, 219, 110, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 130, 4, 0, 0, 232, 110, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 131, 4, 0, 0, 250, 110, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 135, 4, - 0, 0, 6, 111, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 140, 4, 0, 0, 18, 111, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 139, 4, 0, 0, 25, 111, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 209, 4, 0, 0, 34, 111, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 60, 3, 0, 0, 75, 111, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 144, 4, 0, 0, 88, 111, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 145, 4, 0, 0, 102, 111, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 146, 4, 0, - 0, 116, 111, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 9, 0, 0, 0, 129, 111, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 206, 4, 0, 0, 142, 111, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 151, 4, 0, 0, 173, 111, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 205, 4, 0, 0, 182, 111, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 2, 0, 0, 195, - 111, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 147, 4, 0, 0, 208, 111, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, - 2, 0, 0, 221, 111, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 148, 4, 0, 0, 234, 111, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 149, 4, 0, 0, 247, 111, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 157, 4, 0, 0, 4, 112, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 158, 4, 0, 0, 17, 112, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 159, 4, 0, 0, 30, - 112, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 4, 0, 0, 43, 112, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 166, - 4, 0, 0, 56, 112, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 167, 4, 0, 0, 69, 112, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 239, 2, 0, 0, 82, 112, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 168, 4, 0, 0, 95, 112, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 190, 3, 0, 0, 108, 112, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 179, 4, 0, 0, 121, - 112, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 181, 4, 0, 0, 134, 112, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 186, - 4, 0, 0, 147, 112, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 200, 4, 0, 0, 160, 112, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 201, 4, 0, 0, 173, 112, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 202, 4, 0, 0, 186, 112, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 203, 4, 0, 0, 237, 112, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 156, 4, 0, 0, - 246, 112, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 150, 4, 0, 0, 3, 113, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 151, 4, 0, 0, 16, 113, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 152, 4, 0, 0, 29, 113, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 154, 4, 0, 0, 42, 113, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 142, 4, 0, 0, 55, 113, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 141, 4, 0, 0, 68, 113, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 134, 4, 0, 0, - 82, 113, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 155, 4, 0, 0, 91, 113, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 153, 4, 0, 0, 104, 113, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 4, 0, 0, 184, 113, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 165, 4, 0, 0, 193, 113, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 161, 4, 0, 0, 206, 113, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 162, 4, 0, 0, 219, 113, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 163, 4, - 0, 0, 232, 113, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 164, 4, 0, 0, 77, 114, 0, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 178, 4, 0, 0, 86, 114, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 169, 3, 0, 0, 99, 114, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 187, 3, 0, 0, 112, 114, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 169, 4, 0, 0, 125, - 114, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 5, 3, 0, 0, 138, 114, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 170, - 4, 0, 0, 151, 114, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 171, 4, 0, 0, 164, 114, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 172, 4, 0, 0, 177, 114, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 3, 0, 0, 190, 114, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 173, 4, 0, 0, 203, 114, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 177, 4, 0, 0, 216, - 114, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 144, 3, 0, 0, 229, 114, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 188, - 3, 0, 0, 253, 114, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 176, 4, 0, 0, 6, 115, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 174, 4, 0, 0, 19, 115, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 175, 4, 0, 0, 32, 115, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 157, 2, 0, 0, 45, 115, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 176, 3, 0, 0, 189, - 115, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 180, 4, 0, 0, 239, 115, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 185, - 4, 0, 0, 248, 115, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 182, 4, 0, 0, 5, 116, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 114, 3, 0, 0, 18, 116, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 184, 4, 0, 0, 36, 116, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 183, 4, 0, 0, 126, 116, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 193, 4, 0, 0, 135, - 116, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 114, 3, 0, 0, 148, 116, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 187, - 4, 0, 0, 161, 116, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 188, 4, 0, 0, 174, 116, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 189, 4, 0, 0, 187, 116, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 190, 4, 0, 0, 214, 116, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 191, 4, 0, 0, 227, 116, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 192, 4, 0, 0, - 241, 116, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 173, 4, 0, 0, 7, 117, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 199, 4, 0, 0, 16, 117, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 194, 4, 0, 0, 29, 117, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 11, 0, 0, 0, 42, 117, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 195, 4, 0, 0, 55, 117, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 196, 4, 0, 0, 68, 117, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 197, 4, 0, 0, - 81, 117, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 198, 4, 0, 0, 152, 117, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 204, 4, 0, 0, 165, 117, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 208, 4, 0, 0, 174, 117, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 39, 4, 0, 0, 187, 117, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 16, 4, 0, 0, 200, 117, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 207, 4, 0, 0, 214, 117, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 216, 4, 0, - 0, 223, 117, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 213, 4, 0, 0, 236, 117, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 215, 4, 0, 0, 255, 117, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 214, 4, 0, 0, 9, 118, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 212, 29, 0, 0, 19, 118, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 222, 4, 0, 0, 32, 118, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 230, 4, 0, 0, 45, 118, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 231, 4, 0, - 0, 58, 118, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 3, 0, 0, 71, 118, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 232, 4, 0, 0, 84, 118, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 155, 3, 0, 0, 97, 118, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 233, 4, 0, 0, 110, 118, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 234, 4, 0, 0, 123, 118, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 137, 118, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 206, 29, - 0, 0, 151, 118, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 207, 29, 0, 0, 165, 118, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 208, 29, 0, 0, 179, 118, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 209, 29, 0, 0, 193, 118, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 210, 29, 0, 0, 207, 118, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 43, 6, 0, 0, - 221, 118, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 186, 16, 0, 0, 235, 118, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 169, 16, 0, 0, 249, 118, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 162, 14, 0, 0, 7, 119, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 211, 29, 0, 0, 22, 119, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 229, 4, 0, 0, 31, - 119, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 223, 4, 0, 0, 58, 119, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 224, - 4, 0, 0, 85, 119, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 227, 4, 0, 0, 98, 119, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 228, 4, 0, 0, 126, 119, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 226, 4, 0, 0, 135, 119, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 40, 4, 0, 0, 148, 119, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 225, 4, 0, 0, - 161, 119, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 5, 3, 0, 0, 180, 119, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 205, 29, 0, 0, 189, 119, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 235, 4, 0, 0, 202, 119, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 110, 3, 0, 0, 215, 119, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 204, 29, 0, 0, 228, 119, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 5, 3, 0, 0, 252, 119, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 203, 29, 0, - 0, 5, 120, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 2, 0, 0, 18, 120, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 236, 4, 0, 0, 31, 120, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 9, 0, 0, 0, 44, 120, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 91, 4, 0, 0, 57, 120, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 116, 6, 0, 0, 70, 120, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 72, 22, 0, 0, 83, 120, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 155, 3, 0, 0, - 96, 120, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 248, 6, 0, 0, 136, 120, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 201, 29, 0, 0, 146, 120, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 237, 4, 0, 0, 159, 120, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 240, 4, 0, 0, 172, 120, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 241, 4, 0, 0, 185, 120, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 16, 4, 0, 0, 198, 120, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, - 0, 211, 120, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 242, 4, 0, 0, 224, 120, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 243, 4, 0, 0, 237, 120, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 244, 4, 0, 0, 250, 120, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 251, 4, 0, 0, 7, 121, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 252, 4, 0, 0, 20, 121, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 253, 4, 0, 0, 33, 121, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 254, 4, 0, - 0, 46, 121, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 255, 4, 0, 0, 59, 121, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 0, 5, 0, 0, 72, 121, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 1, 5, 0, 0, 85, 121, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 2, 5, 0, 0, 98, 121, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 3, 5, 0, 0, 111, 121, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 4, 5, 0, 0, 124, 121, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 5, 5, 0, 0, 137, - 121, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 6, 5, 0, 0, 150, 121, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 207, - 12, 0, 0, 163, 121, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 237, 12, 0, 0, 177, 121, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 252, 12, 0, 0, 191, 121, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 245, 13, 0, 0, 205, 121, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 195, 13, 0, 0, 219, 121, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 246, 13, - 0, 0, 233, 121, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 247, 13, 0, 0, 247, 121, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 224, 12, 0, 0, 5, 122, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 24, 5, 0, 0, 19, 122, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 248, 13, 0, 0, 33, 122, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 249, 13, 0, 0, 47, - 122, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 250, 13, 0, 0, 61, 122, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 251, - 13, 0, 0, 75, 122, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 252, 13, 0, 0, 89, 122, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 253, 13, 0, 0, 103, 122, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 254, 13, 0, 0, 117, 122, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 255, 13, 0, 0, 131, 122, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 14, 0, 0, - 145, 122, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 1, 14, 0, 0, 159, 122, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 2, 14, 0, 0, 173, 122, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 3, 14, 0, 0, 187, 122, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 11, 14, 0, 0, 201, 122, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 12, 14, 0, 0, 215, 122, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 54, 14, 0, 0, 229, 122, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 55, 14, 0, - 0, 243, 122, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 56, 14, 0, 0, 1, 123, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 57, 14, 0, 0, 15, 123, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 58, 14, 0, 0, 29, 123, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 59, 14, 0, 0, 43, 123, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 60, 14, 0, 0, 57, 123, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 61, 14, 0, 0, 71, 123, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 62, 14, 0, 0, - 85, 123, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 63, 14, 0, 0, 99, 123, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 138, 13, 0, 0, 113, 123, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 27, 5, 0, 0, 127, 123, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 245, 12, 0, 0, 141, 123, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 64, 14, 0, 0, 155, 123, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 6, 4, 0, 0, 169, 123, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 65, 14, 0, - 0, 183, 123, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 66, 14, 0, 0, 197, 123, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 254, 3, 0, 0, 211, 123, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 14, 0, 0, 225, 123, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 71, 14, 0, 0, 239, 123, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 72, 14, 0, 0, 253, - 123, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 73, 14, 0, 0, 11, 124, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 74, - 14, 0, 0, 25, 124, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 14, 0, 0, 39, 124, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 76, 14, 0, 0, 56, 124, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 77, 14, 0, 0, 73, 124, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 78, 14, 0, 0, 90, 124, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 79, 14, 0, 0, 107, - 124, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 80, 14, 0, 0, 124, 124, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 81, - 14, 0, 0, 141, 124, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 82, 14, 0, 0, 158, 124, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 83, 14, 0, 0, 175, 124, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 84, 14, 0, 0, 192, 124, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 85, 14, 0, 0, 209, 124, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 60, 12, 0, - 0, 226, 124, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 86, 14, 0, 0, 243, 124, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 87, 14, 0, 0, 4, 125, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 88, 14, 0, 0, 21, 125, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 89, 14, 0, 0, 35, 125, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 90, 14, 0, 0, 49, 125, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 132, 10, 0, 0, 63, 125, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 114, 14, 0, - 0, 77, 125, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 115, 14, 0, 0, 91, 125, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 116, 14, 0, 0, 105, 125, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 3, 0, 0, 119, 125, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 130, 5, 0, 0, 133, 125, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 45, 7, 0, 0, 147, - 125, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 117, 14, 0, 0, 161, 125, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 118, 14, 0, 0, 175, 125, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 119, 14, 0, 0, 189, 125, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 120, 14, 0, 0, 203, 125, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 167, 14, 0, 0, 217, - 125, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 168, 14, 0, 0, 231, 125, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 169, 14, 0, 0, 245, 125, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 170, 14, 0, 0, 3, 126, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 171, 14, 0, 0, 17, 126, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 172, 14, 0, 0, 31, 126, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 173, 14, 0, 0, 45, 126, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 15, 6, 0, - 0, 59, 126, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 14, 6, 0, 0, 73, 126, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 174, 14, 0, 0, 87, 126, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 23, 6, 0, 0, 101, 126, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 175, 14, 0, 0, 115, 126, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 176, 14, 0, 0, 129, 126, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 177, 14, 0, 0, 143, 126, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 178, 14, - 0, 0, 157, 126, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 179, 14, 0, 0, 171, 126, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 180, 14, 0, 0, 185, 126, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 181, 14, 0, 0, 199, 126, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 188, 14, 0, 0, 213, 126, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 189, 14, 0, 0, - 227, 126, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 190, 14, 0, 0, 241, 126, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 15, 4, 0, 0, 255, 126, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 191, 14, 0, 0, 13, 127, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 192, 14, 0, 0, 27, 127, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 193, 14, 0, 0, 41, 127, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 206, 14, 0, 0, 55, 127, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 211, 14, - 0, 0, 69, 127, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 214, 14, 0, 0, 83, 127, 0, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 215, 14, 0, 0, 97, 127, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 216, 14, 0, 0, 111, 127, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 66, 4, 0, 0, 125, 127, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 236, 14, 0, 0, 139, - 127, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 43, 16, 0, 0, 153, 127, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 244, - 21, 0, 0, 167, 127, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 241, 22, 0, 0, 181, 127, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 5, 14, 0, 0, 195, 127, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 23, 0, 0, 209, 127, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 1, 23, 0, 0, 223, 127, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 74, 3, 0, 0, - 237, 127, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 2, 23, 0, 0, 251, 127, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 3, 23, 0, 0, 9, 128, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 4, 23, 0, 0, 23, 128, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 5, 23, 0, 0, 37, 128, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 6, 23, 0, 0, 51, 128, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 73, 23, 0, 0, 65, 128, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 74, 23, 0, 0, 79, 128, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 23, 0, 0, 93, 128, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 87, 23, 0, - 0, 107, 128, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 90, 23, 0, 0, 121, 128, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 91, 23, 0, 0, 135, 128, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 92, 23, 0, 0, 149, 128, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 93, 23, 0, 0, 163, 128, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 94, 23, 0, 0, 177, - 128, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 96, 23, 0, 0, 191, 128, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 97, - 23, 0, 0, 205, 128, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 98, 23, 0, 0, 219, 128, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 108, 23, 0, 0, 233, 128, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 109, 23, 0, 0, 247, 128, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 60, 15, 0, 0, 5, 129, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 85, 26, 0, - 0, 19, 129, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 220, 25, 0, 0, 33, 129, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 47, 24, 0, 0, 47, 129, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 87, 26, 0, 0, 61, 129, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 119, 26, 0, 0, 75, 129, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 120, 26, 0, 0, 89, 129, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 175, 22, 0, 0, 103, 129, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 168, 26, - 0, 0, 117, 129, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 169, 26, 0, 0, 131, 129, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 170, 26, 0, 0, 145, 129, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 171, 26, 0, 0, 159, 129, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 172, 26, 0, 0, 173, 129, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 173, 26, 0, 0, - 187, 129, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 174, 26, 0, 0, 201, 129, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 175, 26, 0, 0, 215, 129, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 176, 26, 0, 0, 229, 129, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 177, 26, 0, 0, 243, 129, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 178, 26, 0, 0, 1, - 130, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 179, 26, 0, 0, 15, 130, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 180, - 26, 0, 0, 29, 130, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 184, 26, 0, 0, 43, 130, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 187, 26, 0, 0, 57, 130, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 188, 26, 0, 0, 71, 130, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 195, 26, 0, 0, 85, 130, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 196, 26, 0, 0, - 99, 130, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 197, 26, 0, 0, 113, 130, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 248, 28, 0, 0, 127, 130, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 249, 28, 0, 0, 141, 130, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 204, 5, 0, 0, 155, 130, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 250, 28, 0, 0, 169, 130, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 251, 28, 0, 0, 183, 130, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 252, 28, - 0, 0, 197, 130, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 253, 28, 0, 0, 211, 130, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 254, 28, 0, 0, 225, 130, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 255, 28, 0, 0, 239, 130, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 0, 29, 0, 0, 253, 130, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 1, 29, 0, 0, 11, - 131, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 2, 29, 0, 0, 25, 131, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 3, 29, - 0, 0, 39, 131, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 4, 29, 0, 0, 53, 131, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 5, 29, 0, 0, 67, 131, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 10, 29, 0, 0, 81, 131, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 11, 29, 0, 0, 95, 131, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 12, 29, 0, 0, 109, 131, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 13, 29, 0, 0, 123, 131, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 14, 29, - 0, 0, 137, 131, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 19, 29, 0, 0, 151, 131, 0, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 20, 29, 0, 0, 165, 131, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 21, 29, 0, 0, 194, 131, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 26, 29, 0, 0, 207, 131, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, 4, 0, 0, 221, - 131, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 27, 29, 0, 0, 235, 131, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 28, - 29, 0, 0, 249, 131, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 29, 29, 0, 0, 7, 132, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 38, 29, 0, 0, 21, 132, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, 29, 0, 0, 35, 132, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 40, 29, 0, 0, 49, 132, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 41, 29, 0, 0, 63, - 132, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 42, 29, 0, 0, 77, 132, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 44, - 29, 0, 0, 91, 132, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 45, 29, 0, 0, 105, 132, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 46, 29, 0, 0, 119, 132, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 47, 29, 0, 0, 133, 132, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 48, 29, 0, 0, 147, 132, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 53, 29, 0, 0, - 161, 132, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 54, 29, 0, 0, 175, 132, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 55, 29, 0, 0, 189, 132, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 247, 27, 0, 0, 203, 132, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 56, 29, 0, 0, 217, 132, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 57, 29, 0, 0, 231, 132, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 58, 29, 0, 0, 245, 132, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 59, 29, - 0, 0, 3, 133, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 60, 29, 0, 0, 17, 133, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 61, 29, 0, 0, 31, 133, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 62, 29, 0, 0, 45, 133, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 63, 29, 0, 0, 59, 133, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 109, 29, 0, 0, 73, 133, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 110, 29, 0, 0, 87, 133, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 111, 29, - 0, 0, 101, 133, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 112, 29, 0, 0, 115, 133, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 113, 29, 0, 0, 129, 133, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 114, 29, 0, 0, 143, 133, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 116, 29, 0, 0, 157, 133, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 133, 4, 0, 0, - 171, 133, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 117, 29, 0, 0, 185, 133, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 118, 29, 0, 0, 199, 133, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 120, 29, 0, 0, 213, 133, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 121, 29, 0, 0, 227, 133, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 122, 29, 0, 0, 241, - 133, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 123, 29, 0, 0, 2, 134, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 124, - 29, 0, 0, 19, 134, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 125, 29, 0, 0, 36, 134, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 126, 29, 0, 0, 50, 134, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 127, 29, 0, 0, 64, 134, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 128, 29, 0, 0, 78, 134, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 129, 29, 0, 0, - 92, 134, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 226, 8, 0, 0, 107, 134, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 237, 4, 0, 0, 116, 134, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 129, 134, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 238, 4, 0, 0, 142, 134, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 239, 4, 0, 0, 156, 134, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 250, 4, 0, 0, 165, 134, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 245, 4, - 0, 0, 192, 134, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 246, 4, 0, 0, 205, 134, 0, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 247, 4, 0, 0, 219, 134, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 248, 4, 0, 0, 232, 134, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 249, 4, 0, 0, 0, 135, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 6, 5, 0, 0, 9, 135, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 7, 5, 0, 0, 22, 135, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 8, 5, 0, 0, - 35, 135, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 198, 13, 0, 0, 48, 135, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 199, 13, 0, 0, 61, 135, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 200, 13, 0, 0, 74, 135, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 201, 13, 0, 0, 87, 135, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 202, 13, 0, 0, 100, 135, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 203, 13, 0, 0, 113, 135, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 204, 13, - 0, 0, 126, 135, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 205, 13, 0, 0, 139, 135, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 209, 13, 0, 0, 152, 135, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 210, 13, 0, 0, 165, 135, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 211, 13, 0, 0, 178, 135, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 212, 13, 0, 0, - 191, 135, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 213, 13, 0, 0, 204, 135, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 214, 13, 0, 0, 217, 135, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 215, 13, 0, 0, 230, 135, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 216, 13, 0, 0, 243, 135, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 217, 13, 0, 0, 0, - 136, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 218, 13, 0, 0, 13, 136, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 219, - 13, 0, 0, 26, 136, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 220, 13, 0, 0, 39, 136, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 221, 13, 0, 0, 52, 136, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 222, 13, 0, 0, 65, 136, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 223, 13, 0, 0, 78, 136, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 224, 13, 0, 0, - 91, 136, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 225, 13, 0, 0, 132, 136, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 110, 5, 0, 0, 142, 136, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 9, 5, 0, 0, 155, 136, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 10, 5, 0, 0, 168, 136, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 11, 5, 0, 0, 181, 136, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 12, 5, 0, 0, 194, 136, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 13, 5, 0, 0, - 207, 136, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 14, 5, 0, 0, 220, 136, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 15, 5, 0, 0, 233, 136, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 16, 5, 0, 0, 246, 136, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 20, 5, 0, 0, 3, 137, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 21, 5, 0, 0, 16, 137, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 22, 5, 0, 0, 29, 137, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 23, 5, 0, 0, 42, - 137, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 24, 5, 0, 0, 55, 137, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 30, 5, - 0, 0, 68, 137, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 31, 5, 0, 0, 82, 137, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 237, 12, 0, 0, 96, 137, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 252, 12, 0, 0, 110, 137, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 112, 5, 0, 0, 124, 137, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 6, 13, 0, 0, 138, - 137, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 7, 13, 0, 0, 152, 137, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 45, - 5, 0, 0, 166, 137, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 209, 12, 0, 0, 180, 137, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 175, 4, 0, 0, 194, 137, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 8, 13, 0, 0, 208, 137, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 9, 13, 0, 0, 222, 137, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 10, 13, 0, 0, - 236, 137, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 11, 13, 0, 0, 250, 137, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 12, 13, 0, 0, 8, 138, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 13, 13, 0, 0, 22, 138, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 14, 13, 0, 0, 36, 138, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 15, 13, 0, 0, 50, 138, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 16, 13, 0, 0, 64, 138, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 17, 13, 0, 0, - 78, 138, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 213, 3, 0, 0, 92, 138, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 18, 13, 0, 0, 106, 138, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 49, 13, 0, 0, 120, 138, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 98, 13, 0, 0, 134, 138, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 99, 13, 0, 0, 148, 138, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 100, 13, 0, 0, 162, 138, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 101, 13, - 0, 0, 176, 138, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 102, 13, 0, 0, 190, 138, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 103, 13, 0, 0, 204, 138, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 104, 13, 0, 0, 218, 138, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 105, 13, 0, 0, 232, 138, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 106, 13, 0, 0, - 246, 138, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 251, 4, 0, 0, 4, 139, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 134, 6, 0, 0, 18, 139, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 114, 13, 0, 0, 32, 139, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 115, 13, 0, 0, 46, 139, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 116, 13, 0, 0, 60, 139, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 117, 13, 0, 0, 74, 139, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 118, 13, 0, - 0, 88, 139, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 119, 13, 0, 0, 102, 139, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 120, 13, 0, 0, 116, 139, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 121, 13, 0, 0, 130, 139, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 122, 13, 0, 0, 144, 139, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 123, 13, 0, 0, 158, - 139, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 125, 13, 0, 0, 172, 139, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 126, 13, 0, 0, 186, 139, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 127, 13, 0, 0, 200, 139, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 128, 13, 0, 0, 214, 139, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 129, 13, 0, 0, 228, - 139, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 130, 13, 0, 0, 242, 139, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 131, 13, 0, 0, 0, 140, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 132, 13, 0, 0, 14, 140, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 133, 13, 0, 0, 28, 140, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 139, 13, 0, 0, 42, 140, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 140, 13, 0, 0, 56, 140, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 141, 13, 0, - 0, 70, 140, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 142, 13, 0, 0, 84, 140, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 143, 13, 0, 0, 98, 140, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 144, 13, 0, 0, 112, 140, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 68, 9, 0, 0, 126, 140, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 185, 13, 0, 0, 140, - 140, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 186, 13, 0, 0, 154, 140, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 187, 13, 0, 0, 168, 140, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 188, 13, 0, 0, 182, 140, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 189, 13, 0, 0, 196, 140, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 190, 13, 0, 0, 210, - 140, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 191, 13, 0, 0, 224, 140, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 192, 13, 0, 0, 238, 140, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 193, 13, 0, 0, 252, 140, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 194, 13, 0, 0, 10, 141, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 195, 13, 0, 0, 24, 141, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 196, 13, 0, 0, 38, 141, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 197, 13, - 0, 0, 57, 141, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 19, 5, 0, 0, 65, 141, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 18, 5, 0, 0, 74, 141, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 126, 4, 0, 0, 87, 141, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 166, 2, 0, 0, 100, 141, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 189, 4, 0, 0, 118, 141, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 17, 5, 0, 0, 150, 141, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 29, 5, 0, - 0, 159, 141, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 25, 5, 0, 0, 172, 141, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 26, 5, 0, 0, 198, 141, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 28, 5, 0, 0, 207, 141, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 25, 5, 0, 0, 223, 141, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 27, 5, 0, 0, 240, 141, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 83, 5, 0, 0, 250, 141, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 32, 5, 0, 0, - 7, 142, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 10, 5, 0, 0, 20, 142, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 36, - 5, 0, 0, 33, 142, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 37, 5, 0, 0, 46, 142, 0, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 38, 5, 0, 0, 59, 142, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, 5, 0, 0, 72, 142, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 40, 5, 0, 0, 85, 142, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 41, 5, 0, 0, 98, 142, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 42, 5, 0, 0, 111, 142, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 45, 5, 0, 0, - 124, 142, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 157, 2, 0, 0, 137, 142, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 100, 5, 0, 0, 150, 142, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 101, 5, 0, 0, 163, 142, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 102, 5, 0, 0, 176, 142, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 86, 5, 0, 0, 189, 142, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 207, 4, 0, 0, 207, 142, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 3, 0, - 0, 220, 142, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 103, 5, 0, 0, 233, 142, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 92, 5, 0, 0, 246, 142, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 94, 5, 0, 0, 3, 143, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 93, 5, 0, 0, 17, 143, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 104, 5, 0, 0, 31, 143, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 105, 5, 0, 0, 45, 143, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 106, 5, 0, 0, - 59, 143, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 107, 5, 0, 0, 73, 143, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 108, 5, 0, 0, 87, 143, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 109, 5, 0, 0, 101, 143, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 110, 5, 0, 0, 115, 143, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 111, 5, 0, 0, 129, 143, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 112, 5, 0, 0, 143, 143, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 113, 5, 0, - 0, 157, 143, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 209, 12, 0, 0, 171, 143, 0, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 229, 12, 0, 0, 185, 143, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 230, 12, 0, 0, 199, 143, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 231, 12, 0, 0, 213, 143, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 232, 12, 0, 0, - 227, 143, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 233, 12, 0, 0, 241, 143, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 234, 12, 0, 0, 255, 143, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 235, 12, 0, 0, 13, 144, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 236, 12, 0, 0, 28, 144, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 35, 5, 0, 0, 37, 144, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 33, 5, 0, 0, 50, 144, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 34, 5, 0, - 0, 64, 144, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 44, 5, 0, 0, 73, 144, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 201, 3, 0, 0, 86, 144, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 43, 5, 0, 0, 105, 144, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 99, 5, 0, 0, 115, 144, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 32, 5, 0, 0, 128, 144, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 46, 5, 0, 0, 141, 144, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 47, 5, 0, 0, - 154, 144, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 1, 5, 0, 0, 167, 144, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 48, 5, 0, 0, 180, 144, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 49, 5, 0, 0, 193, 144, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 50, 5, 0, 0, 206, 144, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 51, 5, 0, 0, 219, 144, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 52, 5, 0, 0, 232, 144, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 53, 5, 0, 0, - 245, 144, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 82, 5, 0, 0, 3, 145, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 160, 3, 0, 0, 17, 145, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 83, 5, 0, 0, 31, 145, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 84, 5, 0, 0, 45, 145, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 85, 5, 0, 0, 59, 145, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 86, 5, 0, 0, 74, 145, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 81, 5, 0, 0, 83, - 145, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 54, 5, 0, 0, 96, 145, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 55, 5, - 0, 0, 109, 145, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 56, 5, 0, 0, 122, 145, 0, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 57, 5, 0, 0, 135, 145, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 58, 5, 0, 0, 148, 145, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 59, 5, 0, 0, 161, 145, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 60, 5, 0, 0, 174, 145, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 61, 5, 0, 0, 187, 145, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 62, 5, 0, - 0, 200, 145, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 63, 5, 0, 0, 213, 145, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 64, 5, 0, 0, 226, 145, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 65, 5, 0, 0, 239, 145, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 66, 5, 0, 0, 252, 145, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 67, 5, 0, 0, 9, 146, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 68, 5, 0, 0, 22, 146, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 69, 5, 0, 0, - 35, 146, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 5, 0, 0, 48, 146, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 71, 5, 0, 0, 61, 146, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 72, 5, 0, 0, 74, 146, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 73, 5, 0, 0, 87, 146, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 74, 5, 0, 0, 100, 146, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 75, 5, 0, 0, 113, 146, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 76, 5, 0, 0, - 126, 146, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 77, 5, 0, 0, 139, 146, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 78, 5, 0, 0, 152, 146, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 79, 5, 0, 0, 165, 146, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 80, 5, 0, 0, 184, 146, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 98, 5, 0, 0, 193, 146, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 87, 5, 0, 0, 206, 146, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 88, 5, 0, 0, - 219, 146, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 89, 5, 0, 0, 232, 146, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 90, 5, 0, 0, 245, 146, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 91, 5, 0, 0, 2, 147, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 92, 5, 0, 0, 15, 147, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 93, 5, 0, 0, 28, 147, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 94, 5, 0, 0, 41, 147, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 95, 5, 0, 0, 55, - 147, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 95, 5, 0, 0, 64, 147, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 96, 5, - 0, 0, 77, 147, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 97, 5, 0, 0, 96, 147, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 228, 12, 0, 0, 106, 147, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 114, 5, 0, 0, 119, 147, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 207, 12, 0, 0, 132, 147, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 83, 5, 0, 0, 145, - 147, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 208, 12, 0, 0, 158, 147, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 209, 12, 0, 0, 171, 147, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 92, 5, 0, 0, 185, 147, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 39, 4, 0, 0, 199, 147, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 2, 0, 0, 213, 147, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 3, 0, 0, 227, 147, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 210, 12, - 0, 0, 241, 147, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 130, 5, 0, 0, 255, 147, 0, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 211, 12, 0, 0, 13, 148, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 212, 12, 0, 0, 27, 148, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 223, 12, 0, 0, 41, 148, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 224, 12, 0, 0, 55, - 148, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 24, 5, 0, 0, 70, 148, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 206, - 12, 0, 0, 79, 148, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 115, 5, 0, 0, 92, 148, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 142, 12, 0, 0, 105, 148, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 118, 3, 0, 0, 118, 148, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 45, 7, 0, 0, 131, 148, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 130, 5, 0, 0, - 144, 148, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 200, 12, 0, 0, 157, 148, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 123, 4, 0, 0, 170, 148, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 183, 148, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 201, 12, 0, 0, 196, 148, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 202, 12, 0, 0, 209, - 148, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 203, 12, 0, 0, 222, 148, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 204, 12, 0, 0, 235, 148, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 3, 0, 0, 254, 148, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 115, 5, 0, 0, 8, 149, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 116, 5, 0, 0, 21, 149, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 34, 149, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 232, 4, 0, 0, - 47, 149, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 117, 5, 0, 0, 60, 149, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 118, 5, 0, 0, 73, 149, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 119, 5, 0, 0, 86, 149, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 120, 5, 0, 0, 99, 149, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 121, 5, 0, 0, 112, 149, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 122, 5, 0, 0, 125, 149, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 123, 5, 0, - 0, 138, 149, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 124, 5, 0, 0, 151, 149, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 125, 5, 0, 0, 164, 149, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 239, 5, 0, 0, 178, 149, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 246, 5, 0, 0, 192, 149, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 247, 5, 0, 0, 206, - 149, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 248, 5, 0, 0, 220, 149, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 249, - 5, 0, 0, 234, 149, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 250, 5, 0, 0, 248, 149, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 251, 5, 0, 0, 6, 150, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 213, 4, 0, 0, 20, 150, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 5, 6, 0, 0, 34, 150, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 6, 6, 0, 0, 48, 150, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 7, 6, 0, 0, 62, 150, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 8, 6, 0, 0, - 76, 150, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 9, 6, 0, 0, 90, 150, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 22, - 6, 0, 0, 104, 150, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 18, 6, 0, 0, 118, 150, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 12, 6, 0, 0, 132, 150, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 23, 6, 0, 0, 146, 150, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 24, 6, 0, 0, 160, 150, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 25, 6, 0, 0, 174, - 150, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 26, 6, 0, 0, 188, 150, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 27, - 6, 0, 0, 202, 150, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 30, 6, 0, 0, 216, 150, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 190, 9, 0, 0, 230, 150, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 135, 12, 0, 0, 244, 150, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 136, 12, 0, 0, 2, 151, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 141, 12, 0, 0, - 22, 151, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 238, 5, 0, 0, 31, 151, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 5, 3, 0, 0, 44, 151, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 126, 5, 0, 0, 57, 151, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 160, 3, 0, 0, 70, 151, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 2, 0, 0, 83, 151, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 127, 5, 0, 0, 96, 151, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 234, 4, 0, 0, - 109, 151, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 60, 3, 0, 0, 136, 151, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 128, 5, 0, 0, 149, 151, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 155, 5, 0, 0, 162, 151, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 186, 3, 0, 0, 176, 151, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 159, 5, 0, 0, 189, 151, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 123, 4, 0, 0, 202, 151, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, - 0, 0, 215, 151, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 123, 3, 0, 0, 228, 151, 0, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 224, 5, 0, 0, 242, 151, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 5, 0, 0, 251, 151, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 129, 5, 0, 0, 8, 152, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 130, 5, 0, 0, 21, - 152, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 213, 4, 0, 0, 34, 152, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 153, - 5, 0, 0, 53, 152, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 152, 5, 0, 0, 62, 152, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 125, 5, 0, 0, 75, 152, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 88, 152, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 131, 5, 0, 0, 101, 152, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 141, 5, 0, 0, 114, - 152, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 142, 5, 0, 0, 127, 152, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 143, - 5, 0, 0, 140, 152, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 150, 5, 0, 0, 153, 152, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 151, 5, 0, 0, 167, 152, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 140, 5, 0, 0, 176, 152, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 132, 5, 0, 0, 189, 152, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 138, 5, 0, 0, - 202, 152, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 139, 5, 0, 0, 216, 152, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 137, 5, 0, 0, 225, 152, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 133, 5, 0, 0, 238, 152, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 134, 5, 0, 0, 251, 152, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 136, 5, 0, 0, 13, 153, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 135, 5, 0, 0, 25, 153, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 149, 5, 0, - 0, 34, 153, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 144, 5, 0, 0, 47, 153, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 145, 5, 0, 0, 60, 153, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 146, 5, 0, 0, 73, 153, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 147, 5, 0, 0, 86, 153, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 148, 5, 0, 0, 215, 153, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 157, 5, 0, 0, 224, 153, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 156, 5, - 0, 0, 238, 153, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 223, 5, 0, 0, 247, 153, 0, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 110, 3, 0, 0, 4, 154, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 158, 5, 0, 0, 17, 154, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 187, 3, 0, 0, 30, 154, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 222, 5, 0, 0, 54, 154, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 220, 5, 0, 0, 63, 154, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 158, 5, 0, - 0, 76, 154, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 174, 3, 0, 0, 89, 154, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 209, 5, 0, 0, 102, 154, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 210, 5, 0, 0, 115, 154, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 211, 5, 0, 0, 128, 154, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 212, 5, 0, 0, 141, - 154, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 190, 3, 0, 0, 154, 154, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 163, - 5, 0, 0, 167, 154, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 213, 5, 0, 0, 180, 154, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 191, 3, 0, 0, 193, 154, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 214, 5, 0, 0, 206, 154, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 192, 3, 0, 0, 241, 154, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 208, 5, 0, 0, - 250, 154, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 125, 5, 0, 0, 7, 155, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 144, 3, 0, 0, 20, 155, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 178, 4, 0, 0, 33, 155, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 159, 5, 0, 0, 46, 155, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 54, 4, 0, 0, 59, 155, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 160, 5, 0, 0, 72, 155, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 161, 5, 0, 0, - 85, 155, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 2, 0, 0, 98, 155, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 162, 5, 0, 0, 111, 155, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 163, 5, 0, 0, 124, 155, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 164, 5, 0, 0, 140, 155, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 165, 5, 0, 0, 156, 155, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 166, 5, 0, 0, 180, 155, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 207, 5, - 0, 0, 189, 155, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 158, 5, 0, 0, 202, 155, 0, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 225, 2, 0, 0, 215, 155, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 167, 5, 0, 0, 228, 155, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 168, 5, 0, 0, 241, 155, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 169, 5, 0, 0, 254, - 155, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 170, 5, 0, 0, 11, 156, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 191, - 5, 0, 0, 24, 156, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 192, 5, 0, 0, 37, 156, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 193, 5, 0, 0, 50, 156, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 194, 5, 0, 0, 63, 156, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 195, 5, 0, 0, 76, 156, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 196, 5, 0, 0, 89, - 156, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 2, 0, 0, 102, 156, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 197, - 5, 0, 0, 115, 156, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 205, 5, 0, 0, 128, 156, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 206, 5, 0, 0, 242, 156, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 171, 5, 0, 0, 255, 156, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 190, 5, 0, 0, 22, 157, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 4, 4, 0, 0, 35, - 157, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 172, 5, 0, 0, 48, 157, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 173, - 5, 0, 0, 61, 157, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 174, 5, 0, 0, 75, 157, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 183, 2, 0, 0, 88, 157, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 175, 5, 0, 0, 101, 157, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 178, 5, 0, 0, 128, 157, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 181, 5, 0, 0, 141, - 157, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 185, 5, 0, 0, 155, 157, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 186, - 5, 0, 0, 168, 157, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 87, 4, 0, 0, 181, 157, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 182, 5, 0, 0, 194, 157, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 187, 5, 0, 0, 207, 157, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 188, 5, 0, 0, 230, 157, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 177, 5, 0, 0, - 243, 157, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 175, 5, 0, 0, 5, 158, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 176, 5, 0, 0, 22, 158, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 180, 5, 0, 0, 35, 158, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 178, 5, 0, 0, 53, 158, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 179, 5, 0, 0, 65, 158, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 184, 5, 0, 0, 78, 158, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 182, 5, 0, 0, - 96, 158, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 5, 0, 0, 118, 158, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 189, 5, 0, 0, 11, 159, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 204, 5, 0, 0, 20, 159, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 118, 3, 0, 0, 33, 159, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 123, 3, 0, 0, 46, 159, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 59, 159, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 198, 5, 0, 0, - 72, 159, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 201, 5, 0, 0, 90, 159, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 202, 5, 0, 0, 103, 159, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 203, 5, 0, 0, 122, 159, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 200, 5, 0, 0, 135, 159, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 199, 5, 0, 0, 15, 160, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 215, 5, 0, 0, 27, 160, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 219, 5, 0, - 0, 36, 160, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 216, 5, 0, 0, 49, 160, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 218, 5, 0, 0, 67, 160, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 217, 5, 0, 0, 128, 160, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 221, 5, 0, 0, 137, 160, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 118, 3, 0, 0, 150, 160, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 161, 5, 0, 0, 163, 160, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 214, 5, - 0, 0, 176, 160, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 66, 4, 0, 0, 195, 160, 0, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 237, 5, 0, 0, 204, 160, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 225, 5, 0, 0, 217, 160, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 226, 5, 0, 0, 230, 160, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 227, 5, 0, 0, 243, - 160, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 231, 5, 0, 0, 0, 161, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 232, - 5, 0, 0, 13, 161, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 233, 5, 0, 0, 26, 161, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 235, 5, 0, 0, 39, 161, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 236, 5, 0, 0, 53, 161, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 230, 5, 0, 0, 62, 161, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 228, 5, 0, 0, 75, - 161, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 229, 5, 0, 0, 89, 161, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 234, - 5, 0, 0, 98, 161, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 56, 4, 0, 0, 111, 161, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 70, 3, 0, 0, 125, 161, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 245, 5, 0, 0, 134, 161, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 125, 5, 0, 0, 147, 161, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 240, 5, 0, 0, 160, - 161, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 241, 5, 0, 0, 174, 161, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 244, - 5, 0, 0, 183, 161, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 159, 3, 0, 0, 196, 161, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 242, 5, 0, 0, 209, 161, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 243, 5, 0, 0, 222, 161, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 19, 162, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 4, 6, 0, 0, 29, - 162, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 252, 5, 0, 0, 42, 162, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 253, - 5, 0, 0, 55, 162, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 254, 5, 0, 0, 68, 162, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 255, 5, 0, 0, 81, 162, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 6, 0, 0, 95, 162, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 1, 6, 0, 0, 109, 162, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 2, 6, 0, 0, 123, 162, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 137, 162, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 3, 6, 0, - 0, 151, 162, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 2, 0, 0, 208, 162, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 21, 6, 0, 0, 217, 162, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 10, 6, 0, 0, 230, 162, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 12, 6, 0, 0, 243, 162, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 18, 6, 0, 0, 0, 163, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 19, 6, 0, 0, 13, 163, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 20, 6, 0, 0, - 27, 163, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 11, 6, 0, 0, 36, 163, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 17, 6, 0, 0, 45, 163, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 13, 6, 0, 0, 59, 163, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 16, 6, 0, 0, 68, 163, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 14, 6, 0, 0, 81, 163, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 15, 6, 0, 0, 94, 163, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 49, 5, 0, 0, 108, - 163, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 23, 6, 0, 0, 117, 163, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 15, - 6, 0, 0, 130, 163, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 14, 6, 0, 0, 143, 163, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 70, 3, 0, 0, 157, 163, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 29, 6, 0, 0, 166, 163, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 154, 4, 0, 0, 179, 163, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 159, 3, 0, 0, 192, - 163, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 166, 2, 0, 0, 210, 163, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 28, - 6, 0, 0, 235, 163, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 189, 9, 0, 0, 245, 163, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 31, 6, 0, 0, 2, 164, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 32, 6, 0, 0, 15, 164, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 39, 6, 0, 0, 28, 164, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 40, 6, 0, 0, 41, 164, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 41, 6, 0, 0, 54, 164, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 42, 6, 0, - 0, 67, 164, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 176, 9, 0, 0, 80, 164, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 86, 5, 0, 0, 94, 164, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 177, 9, 0, 0, 108, 164, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 178, 9, 0, 0, 122, 164, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 179, 9, 0, 0, 136, 164, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 180, 9, 0, 0, 150, 164, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 181, 9, - 0, 0, 164, 164, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 182, 9, 0, 0, 178, 164, 0, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 183, 9, 0, 0, 192, 164, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 184, 9, 0, 0, 206, 164, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 185, 9, 0, 0, 220, 164, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 186, 9, 0, 0, 234, - 164, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 187, 9, 0, 0, 248, 164, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 188, - 9, 0, 0, 12, 165, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 38, 6, 0, 0, 21, 165, 0, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 33, 6, 0, 0, 34, 165, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 27, 5, 0, 0, 47, 165, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 34, 6, 0, 0, 60, 165, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 35, 6, 0, 0, 73, 165, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 36, 6, 0, 0, 86, 165, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 37, 6, 0, 0, - 148, 165, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 175, 9, 0, 0, 157, 165, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 43, 6, 0, 0, 170, 165, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 44, 6, 0, 0, 183, 165, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 45, 6, 0, 0, 196, 165, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 251, 4, 0, 0, 215, 165, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 174, 9, 0, 0, 225, 165, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 46, 6, 0, 0, - 238, 165, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 2, 0, 0, 251, 165, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 54, 4, 0, 0, 8, 166, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 47, 6, 0, 0, 21, 166, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 48, 6, 0, 0, 34, 166, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 49, 6, 0, 0, 47, 166, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 50, 6, 0, 0, 60, 166, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 57, 6, 0, 0, 73, 166, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 58, 6, 0, 0, 86, 166, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 59, 6, 0, - 0, 99, 166, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 60, 6, 0, 0, 112, 166, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 104, 6, 0, 0, 125, 166, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 105, 6, 0, 0, 138, 166, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 106, 6, 0, 0, 151, 166, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 107, 6, 0, 0, 164, - 166, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 108, 6, 0, 0, 177, 166, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, - 2, 0, 0, 190, 166, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, 4, 0, 0, 203, 166, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 183, 2, 0, 0, 217, 166, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 172, 9, 0, 0, 231, 166, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 173, 9, 0, 0, 251, 166, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 56, 6, 0, 0, 4, - 167, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 2, 0, 0, 17, 167, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 48, - 6, 0, 0, 30, 167, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 51, 6, 0, 0, 44, 167, 0, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 55, 6, 0, 0, 53, 167, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 51, 6, 0, 0, 66, 167, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 52, 6, 0, 0, 80, 167, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 54, 6, 0, 0, 89, 167, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 3, 0, 0, 102, 167, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 53, 6, 0, 0, - 121, 167, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 103, 6, 0, 0, 144, 167, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 159, 3, 0, 0, 157, 167, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 61, 6, 0, 0, 171, 167, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 62, 6, 0, 0, 184, 167, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 63, 6, 0, 0, 197, 167, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 64, 6, 0, 0, 210, 167, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 96, 6, 0, 0, - 223, 167, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 97, 6, 0, 0, 236, 167, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 98, 6, 0, 0, 249, 167, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 65, 6, 0, 0, 6, 168, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 126, 4, 0, 0, 19, 168, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 99, 6, 0, 0, 32, 168, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 45, 168, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 123, 4, 0, 0, - 58, 168, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 100, 6, 0, 0, 71, 168, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 145, 4, 0, 0, 84, 168, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 101, 6, 0, 0, 97, 168, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 102, 6, 0, 0, 116, 168, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 95, 6, 0, 0, 126, 168, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 65, 6, 0, 0, 139, 168, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 45, 6, 0, 0, - 152, 168, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 47, 6, 0, 0, 165, 168, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 48, 6, 0, 0, 178, 168, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 118, 3, 0, 0, 191, 168, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 88, 6, 0, 0, 204, 168, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 89, 6, 0, 0, 217, 168, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 90, 6, 0, 0, 230, 168, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 91, 6, 0, 0, - 243, 168, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 92, 6, 0, 0, 0, 169, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 93, 6, 0, 0, 13, 169, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 94, 6, 0, 0, 26, 169, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 39, 4, 0, 0, 45, 169, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 87, 6, 0, 0, 55, 169, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 70, 3, 0, 0, 68, 169, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 251, 4, 0, 0, 81, - 169, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 126, 4, 0, 0, 94, 169, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 123, - 4, 0, 0, 107, 169, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 120, 169, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 66, 6, 0, 0, 133, 169, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 67, 6, 0, 0, 146, 169, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 68, 6, 0, 0, 159, 169, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 69, 6, 0, 0, 172, - 169, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 6, 0, 0, 185, 169, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 71, - 6, 0, 0, 198, 169, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 72, 6, 0, 0, 211, 169, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 73, 6, 0, 0, 224, 169, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 74, 6, 0, 0, 238, 169, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 75, 6, 0, 0, 252, 169, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 76, 6, 0, 0, 10, - 170, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 77, 6, 0, 0, 24, 170, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 80, 6, - 0, 0, 38, 170, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 86, 6, 0, 0, 52, 170, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 118, 3, 0, 0, 66, 170, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 10, 5, 0, 0, 80, 170, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 39, 4, 0, 0, 112, 170, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 79, 6, 0, 0, 121, 170, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 78, 6, 0, 0, 140, 170, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 85, 6, 0, 0, - 149, 170, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 81, 6, 0, 0, 162, 170, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 82, 6, 0, 0, 175, 170, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 84, 6, 0, 0, 193, 170, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 83, 6, 0, 0, 213, 170, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 82, 6, 0, 0, 222, 170, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 199, 5, 0, 0, 21, 171, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 171, 9, 0, 0, - 31, 171, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 45, 6, 0, 0, 44, 171, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 153, 2, 0, 0, 58, 171, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 152, 7, 0, 0, 68, 171, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 158, 3, 0, 0, 81, 171, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 3, 0, 0, 94, 171, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 7, 4, 0, 0, 107, 171, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 155, 7, 0, 0, - 120, 171, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 9, 0, 0, 0, 133, 171, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 124, 6, 0, 0, 146, 171, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 148, 7, 0, 0, 159, 171, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 157, 7, 0, 0, 172, 171, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 141, 7, 0, 0, 185, 171, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 54, 4, 0, 0, 198, 171, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 158, 7, 0, - 0, 211, 171, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 161, 7, 0, 0, 224, 171, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 37, 8, 0, 0, 238, 171, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 43, 8, 0, 0, 252, 171, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 52, 8, 0, 0, 10, 172, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 58, 9, 0, 0, 24, 172, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 9, 0, 0, 38, 172, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 71, 9, 0, 0, - 52, 172, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 72, 9, 0, 0, 66, 172, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 102, 9, 0, 0, 80, 172, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 103, 9, 0, 0, 94, 172, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 104, 9, 0, 0, 108, 172, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 105, 9, 0, 0, 122, 172, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 109, 9, 0, 0, 136, 172, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 114, 9, 0, - 0, 150, 172, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 115, 9, 0, 0, 164, 172, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 130, 9, 0, 0, 178, 172, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 142, 9, 0, 0, 192, 172, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 144, 9, 0, 0, 206, 172, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 239, 6, 0, 0, 220, - 172, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 145, 9, 0, 0, 234, 172, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 146, - 9, 0, 0, 248, 172, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 123, 4, 0, 0, 6, 173, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 147, 9, 0, 0, 20, 173, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 148, 9, 0, 0, 34, 173, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 114, 7, 0, 0, 48, 173, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 146, 7, 0, 0, 62, - 173, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 174, 3, 0, 0, 76, 173, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 28, - 7, 0, 0, 90, 173, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 149, 9, 0, 0, 104, 173, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 166, 9, 0, 0, 118, 173, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 167, 9, 0, 0, 135, 173, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 135, 6, 0, 0, 152, 173, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 168, 9, 0, 0, - 169, 173, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 169, 9, 0, 0, 186, 173, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 170, 9, 0, 0, 214, 173, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 7, 0, 0, 225, 173, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 109, 6, 0, 0, 240, 173, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 118, 6, 0, 0, 255, 173, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 119, 6, 0, 0, 14, 174, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 120, 6, 0, - 0, 29, 174, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 121, 6, 0, 0, 44, 174, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 122, 6, 0, 0, 59, 174, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 123, 6, 0, 0, 74, 174, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 151, 7, 0, 0, 89, 174, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 152, 7, 0, 0, 104, 174, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 153, 7, 0, 0, 123, 174, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 117, 6, - 0, 0, 132, 174, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 110, 6, 0, 0, 145, 174, 0, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 111, 6, 0, 0, 158, 174, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 91, 4, 0, 0, 171, 174, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 116, 6, 0, 0, 202, 174, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 115, 6, 0, 0, 211, - 174, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 112, 6, 0, 0, 224, 174, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 113, - 6, 0, 0, 237, 174, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 114, 6, 0, 0, 0, 175, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 150, 7, 0, 0, 9, 175, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 2, 0, 0, 22, 175, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 124, 6, 0, 0, 35, 175, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 155, 3, 0, 0, 48, - 175, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 135, 7, 0, 0, 61, 175, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 136, - 7, 0, 0, 74, 175, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 82, 0, 0, 0, 87, 175, 0, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 137, 7, 0, 0, 100, 175, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 140, 7, 0, 0, 113, 175, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 131, 6, 0, 0, 126, 175, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 132, 6, 0, 0, 139, - 175, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 133, 6, 0, 0, 152, 175, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 240, - 2, 0, 0, 165, 175, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 136, 6, 0, 0, 178, 175, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 139, 6, 0, 0, 191, 175, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 146, 7, 0, 0, 204, 175, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 128, 6, 0, 0, 217, 175, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 142, 6, 0, 0, - 230, 175, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 147, 7, 0, 0, 243, 175, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 7, 4, 0, 0, 6, 176, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 134, 7, 0, 0, 15, 176, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 154, 2, 0, 0, 28, 176, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 125, 6, 0, 0, 41, 176, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 126, 6, 0, 0, 54, 176, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 127, 6, 0, 0, 67, - 176, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 128, 6, 0, 0, 80, 176, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 129, - 6, 0, 0, 93, 176, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 130, 6, 0, 0, 106, 176, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 165, 3, 0, 0, 119, 176, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 131, 6, 0, 0, 132, 176, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 132, 6, 0, 0, 145, 176, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 133, 6, 0, 0, - 158, 176, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 240, 2, 0, 0, 171, 176, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 134, 6, 0, 0, 184, 176, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 135, 6, 0, 0, 197, 176, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 136, 6, 0, 0, 210, 176, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 139, 6, 0, 0, 223, 176, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 140, 6, 0, 0, 236, 176, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 141, 6, - 0, 0, 249, 176, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 142, 6, 0, 0, 6, 177, 0, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 165, 6, 0, 0, 19, 177, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 7, 4, 0, 0, 32, 177, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 132, 7, 0, 0, 45, 177, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 133, 7, 0, 0, 154, 177, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 138, 6, 0, 0, 162, 177, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 137, 6, - 0, 0, 171, 177, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 161, 5, 0, 0, 195, 177, 0, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 164, 6, 0, 0, 204, 177, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 143, 6, 0, 0, 217, 177, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 144, 6, 0, 0, 230, 177, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 136, 6, 0, 0, 243, - 177, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 139, 6, 0, 0, 0, 178, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 145, - 6, 0, 0, 13, 178, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 146, 6, 0, 0, 26, 178, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 147, 6, 0, 0, 39, 178, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 148, 6, 0, 0, 52, 178, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 149, 6, 0, 0, 65, 178, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 150, 6, 0, 0, 78, - 178, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 151, 6, 0, 0, 91, 178, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 152, - 6, 0, 0, 104, 178, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 153, 6, 0, 0, 117, 178, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 154, 6, 0, 0, 130, 178, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 155, 6, 0, 0, 143, 178, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 156, 6, 0, 0, 156, 178, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 157, 6, 0, 0, - 169, 178, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 158, 6, 0, 0, 182, 178, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 159, 6, 0, 0, 195, 178, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 6, 0, 0, 208, 178, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 161, 6, 0, 0, 221, 178, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 162, 6, 0, 0, 234, 178, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 163, 6, 0, 0, 2, 179, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 165, 6, 0, - 0, 12, 179, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 166, 6, 0, 0, 25, 179, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 167, 6, 0, 0, 38, 179, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 222, 6, 0, 0, 51, 179, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 223, 6, 0, 0, 64, 179, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 224, 6, 0, 0, 77, 179, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 225, 6, 0, 0, 90, 179, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 192, 5, 0, 0, - 103, 179, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 227, 6, 0, 0, 116, 179, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 233, 6, 0, 0, 129, 179, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 234, 6, 0, 0, 142, 179, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 235, 6, 0, 0, 155, 179, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 236, 6, 0, 0, 168, 179, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 237, 6, 0, 0, 181, 179, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 238, 6, - 0, 0, 194, 179, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 12, 7, 0, 0, 207, 179, 0, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 13, 7, 0, 0, 220, 179, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 14, 7, 0, 0, 233, 179, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 29, 7, 0, 0, 246, 179, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 30, 7, 0, 0, 3, 180, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 31, 7, 0, 0, 16, 180, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 32, 7, 0, - 0, 29, 180, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 33, 7, 0, 0, 42, 180, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 37, 7, 0, 0, 55, 180, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 50, 7, 0, 0, 68, 180, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 51, 7, 0, 0, 81, 180, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 52, 7, 0, 0, 94, 180, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 53, 7, 0, 0, 107, 180, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 54, 7, 0, 0, - 120, 180, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 55, 7, 0, 0, 133, 180, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 56, 7, 0, 0, 146, 180, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 57, 7, 0, 0, 159, 180, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 58, 7, 0, 0, 172, 180, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 60, 7, 0, 0, 186, 180, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 61, 7, 0, 0, 200, 180, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 62, 7, 0, 0, - 214, 180, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 80, 7, 0, 0, 228, 180, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 92, 7, 0, 0, 242, 180, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 104, 7, 0, 0, 0, 181, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 105, 7, 0, 0, 14, 181, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 168, 6, 0, 0, 28, 181, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 155, 3, 0, 0, 80, 181, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 221, 6, 0, 0, - 89, 181, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 9, 0, 0, 0, 102, 181, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 110, 3, 0, 0, 115, 181, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 168, 6, 0, 0, 128, 181, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 169, 6, 0, 0, 141, 181, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 171, 6, 0, 0, 154, 181, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 172, 6, 0, 0, 167, 181, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 178, 6, - 0, 0, 185, 181, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 170, 6, 0, 0, 229, 181, 0, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 177, 6, 0, 0, 238, 181, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 173, 6, 0, 0, 251, 181, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 175, 6, 0, 0, 8, 182, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 176, 6, 0, 0, 26, - 182, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 174, 6, 0, 0, 39, 182, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 220, - 6, 0, 0, 51, 182, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 9, 0, 0, 0, 85, 182, 0, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 179, 6, 0, 0, 100, 182, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 217, 6, 0, 0, 116, 182, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 218, 6, 0, 0, 132, 182, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 219, 6, 0, 0, 149, - 182, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 216, 6, 0, 0, 161, 182, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 180, - 6, 0, 0, 176, 182, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 181, 6, 0, 0, 191, 182, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 182, 6, 0, 0, 206, 182, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 6, 0, 0, 221, 182, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 184, 6, 0, 0, 236, 182, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 185, 6, 0, 0, - 251, 182, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 186, 6, 0, 0, 10, 183, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 187, 6, 0, 0, 25, 183, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 188, 6, 0, 0, 40, 183, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 194, 6, 0, 0, 55, 183, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 195, 6, 0, 0, 70, 183, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 196, 6, 0, 0, 85, 183, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 200, 6, 0, 0, - 100, 183, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 209, 6, 0, 0, 116, 183, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 211, 6, 0, 0, 132, 183, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 213, 6, 0, 0, 148, 183, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 214, 6, 0, 0, 164, 183, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 215, 6, 0, 0, 186, 183, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 193, 6, 0, 0, 198, 183, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 189, 6, - 0, 0, 213, 183, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 56, 4, 0, 0, 229, 183, 0, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 77, 3, 0, 0, 245, 183, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 3, 0, 0, 19, 184, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 192, 6, 0, 0, 30, 184, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 190, 6, 0, 0, 45, 184, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 191, 6, 0, 0, 60, 184, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 4, 0, - 0, 75, 184, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 32, 3, 0, 0, 91, 184, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 199, 6, 0, 0, 102, 184, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 126, 4, 0, 0, 117, 184, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 197, 6, 0, 0, 132, 184, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 198, 6, 0, 0, 160, 184, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 208, 6, 0, 0, 172, 184, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 3, 0, - 0, 187, 184, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 201, 6, 0, 0, 202, 184, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 202, 6, 0, 0, 217, 184, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 205, 6, 0, 0, 251, 184, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 204, 6, 0, 0, 7, 185, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 187, 3, 0, 0, 22, 185, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 203, 6, 0, 0, 55, 185, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 207, 6, 0, - 0, 66, 185, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 3, 0, 0, 81, 185, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 206, 6, 0, 0, 96, 185, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 161, 2, 0, 0, 116, 185, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 210, 6, 0, 0, 147, 185, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 212, 6, 0, 0, 8, 186, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 226, 6, 0, 0, 107, 186, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 232, 6, 0, 0, - 116, 186, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 174, 4, 0, 0, 129, 186, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 228, 6, 0, 0, 142, 186, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 229, 6, 0, 0, 155, 186, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 230, 6, 0, 0, 168, 186, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 231, 6, 0, 0, 43, 187, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 11, 7, 0, 0, 52, 187, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 2, 0, - 0, 65, 187, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 110, 3, 0, 0, 78, 187, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 239, 6, 0, 0, 91, 187, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 153, 2, 0, 0, 110, 187, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 10, 7, 0, 0, 119, 187, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 240, 6, 0, 0, 132, 187, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 110, 3, 0, 0, 145, 187, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 153, 2, - 0, 0, 158, 187, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 8, 7, 0, 0, 171, 187, 0, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 9, 7, 0, 0, 184, 187, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 208, 187, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 7, 7, 0, 0, 217, 187, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 91, 4, 0, 0, 230, 187, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 116, 6, 0, 0, 243, 187, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 241, 6, - 0, 0, 0, 188, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 242, 6, 0, 0, 13, 188, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 243, 6, 0, 0, 26, 188, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 244, 6, 0, 0, 39, 188, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 245, 6, 0, 0, 52, 188, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 246, 6, 0, 0, 65, 188, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 247, 6, 0, 0, 78, 188, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 248, 6, 0, 0, - 91, 188, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 249, 6, 0, 0, 104, 188, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 250, 6, 0, 0, 117, 188, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 251, 6, 0, 0, 130, 188, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 255, 6, 0, 0, 143, 188, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 7, 0, 0, 156, 188, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 1, 7, 0, 0, 169, 188, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 2, 7, 0, 0, - 182, 188, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 6, 7, 0, 0, 238, 189, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 254, 6, 0, 0, 247, 189, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 239, 6, 0, 0, 4, 190, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 252, 6, 0, 0, 17, 190, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 253, 6, 0, 0, 69, 190, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 5, 7, 0, 0, 78, 190, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 3, 7, 0, 0, 91, - 190, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 123, 4, 0, 0, 104, 190, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 4, - 7, 0, 0, 155, 190, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 28, 7, 0, 0, 166, 190, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 158, 3, 0, 0, 181, 190, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 15, 7, 0, 0, 196, 190, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 16, 7, 0, 0, 211, 190, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 54, 4, 0, 0, 226, - 190, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 17, 7, 0, 0, 241, 190, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 24, - 7, 0, 0, 0, 191, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 25, 7, 0, 0, 15, 191, 0, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 154, 2, 0, 0, 30, 191, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 123, 4, 0, 0, 45, 191, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 26, 7, 0, 0, 60, 191, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 27, 7, 0, 0, 75, 191, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 159, 3, 0, 0, 91, 191, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 23, 7, 0, - 0, 100, 191, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 18, 7, 0, 0, 113, 191, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 56, 4, 0, 0, 132, 191, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 22, 7, 0, 0, 141, 191, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 19, 7, 0, 0, 154, 191, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 157, 2, 0, 0, 167, 191, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 21, 7, 0, 0, 185, 191, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 20, 7, 0, - 0, 44, 192, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 36, 7, 0, 0, 53, 192, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 160, 2, 0, 0, 66, 192, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 174, 4, 0, 0, 79, 192, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 34, 7, 0, 0, 92, 192, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 35, 7, 0, 0, 105, 192, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 9, 0, 0, 0, 145, 192, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 49, 7, 0, 0, 154, - 192, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 38, 7, 0, 0, 167, 192, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 48, - 7, 0, 0, 180, 192, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 253, 6, 0, 0, 199, 192, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 47, 7, 0, 0, 208, 192, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 2, 0, 0, 221, 192, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 39, 7, 0, 0, 234, 192, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 40, 7, 0, 0, 247, - 192, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 239, 6, 0, 0, 4, 193, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 41, 7, - 0, 0, 17, 193, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 43, 7, 0, 0, 30, 193, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 160, 3, 0, 0, 43, 193, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 44, 7, 0, 0, 56, 193, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 45, 7, 0, 0, 69, 193, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 46, 7, 0, 0, 82, 193, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 4, 0, 0, 100, 193, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, 7, 0, 0, - 113, 193, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 42, 7, 0, 0, 122, 193, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 154, 2, 0, 0, 135, 193, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 34, 7, 0, 0, 148, 193, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 25, 5, 0, 0, 161, 193, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 157, 2, 0, 0, 25, 194, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 59, 7, 0, 0, 34, 194, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 153, 2, 0, 0, - 107, 194, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 7, 0, 0, 116, 194, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 170, 5, 0, 0, 129, 194, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 2, 0, 0, 143, 194, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 74, 7, 0, 0, 152, 194, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 9, 0, 0, 0, 165, 194, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 63, 7, 0, 0, 192, 194, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 161, 5, 0, 0, - 205, 194, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 69, 7, 0, 0, 218, 194, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 73, 7, 0, 0, 233, 194, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 68, 7, 0, 0, 242, 194, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 64, 7, 0, 0, 255, 194, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 12, 195, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 65, 7, 0, 0, 25, 195, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 138, 4, 0, 0, 38, - 195, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 66, 7, 0, 0, 51, 195, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 67, 7, - 0, 0, 65, 195, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 72, 7, 0, 0, 74, 195, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 183, 2, 0, 0, 87, 195, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 65, 7, 0, 0, 100, 195, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 70, 7, 0, 0, 113, 195, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 138, 4, 0, 0, 126, 195, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 66, 7, 0, 0, 139, 195, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 71, 7, 0, - 0, 182, 195, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 79, 7, 0, 0, 191, 195, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 76, 7, 0, 0, 204, 195, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 77, 7, 0, 0, 217, 195, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 183, 2, 0, 0, 230, 195, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 65, 7, 0, 0, 243, 195, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 7, 0, 0, 0, 196, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 78, 7, 0, 0, - 45, 196, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 91, 7, 0, 0, 54, 196, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 76, 7, 0, 0, 67, 196, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 77, 7, 0, 0, 80, 196, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 81, 7, 0, 0, 93, 196, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 82, 7, 0, 0, 106, 196, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 63, 7, 0, 0, 119, 196, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 83, 7, 0, 0, - 137, 196, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 84, 7, 0, 0, 150, 196, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 87, 7, 0, 0, 177, 196, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 86, 7, 0, 0, 186, 196, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 183, 2, 0, 0, 199, 196, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 85, 7, 0, 0, 212, 196, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 65, 7, 0, 0, 226, 196, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 90, 7, 0, 0, - 235, 196, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 248, 196, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 85, 7, 0, 0, 5, 197, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 65, 7, 0, 0, 18, 197, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 66, 7, 0, 0, 31, 197, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 88, 7, 0, 0, 44, 197, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 89, 7, 0, 0, 89, 197, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 103, 7, 0, 0, 98, 197, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 76, 7, 0, 0, 111, 197, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 77, 7, 0, - 0, 124, 197, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 93, 7, 0, 0, 137, 197, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 94, 7, 0, 0, 150, 197, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 163, 197, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 95, 7, 0, 0, 176, 197, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 96, 7, 0, 0, 189, 197, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 97, 7, 0, 0, 202, 197, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 63, 7, 0, 0, - 215, 197, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 98, 7, 0, 0, 233, 197, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 99, 7, 0, 0, 4, 198, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 102, 7, 0, 0, 13, 198, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 183, 2, 0, 0, 26, 198, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 100, 7, 0, 0, 39, 198, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 101, 7, 0, 0, 79, 198, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 131, 7, 0, 0, - 91, 198, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 251, 5, 0, 0, 106, 198, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 106, 7, 0, 0, 121, 198, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 107, 7, 0, 0, 136, 198, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 54, 4, 0, 0, 151, 198, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 108, 7, 0, 0, 166, 198, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 109, 7, 0, 0, 181, 198, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 110, 7, - 0, 0, 196, 198, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 111, 7, 0, 0, 211, 198, 0, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 112, 7, 0, 0, 230, 198, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 124, 6, 0, 0, 246, 198, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 113, 7, 0, 0, 6, 199, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 114, 7, 0, 0, 28, - 199, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 114, 7, 0, 0, 37, 199, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, - 2, 0, 0, 50, 199, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 155, 3, 0, 0, 63, 199, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 115, 7, 0, 0, 76, 199, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 128, 6, 0, 0, 89, 199, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 116, 7, 0, 0, 102, 199, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 117, 7, 0, 0, 115, - 199, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 118, 7, 0, 0, 128, 199, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 119, - 7, 0, 0, 141, 199, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 120, 7, 0, 0, 154, 199, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 121, 7, 0, 0, 167, 199, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 122, 7, 0, 0, 180, 199, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 129, 7, 0, 0, 193, 199, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 130, 7, 0, 0, - 206, 199, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 142, 6, 0, 0, 219, 199, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 7, 4, 0, 0, 25, 200, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 128, 7, 0, 0, 34, 200, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 9, 0, 0, 0, 47, 200, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 123, 7, 0, 0, 60, 200, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 124, 7, 0, 0, 73, 200, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 125, 7, 0, 0, - 86, 200, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 126, 7, 0, 0, 99, 200, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 127, 7, 0, 0, 223, 200, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 139, 7, 0, 0, 232, 200, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 154, 2, 0, 0, 245, 200, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 9, 0, 0, 0, 2, 201, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 138, 7, 0, 0, 15, 201, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 4, 0, 0, - 63, 201, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 145, 7, 0, 0, 72, 201, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 123, 4, 0, 0, 85, 201, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 141, 7, 0, 0, 98, 201, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 143, 7, 0, 0, 111, 201, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 144, 7, 0, 0, 141, 201, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 142, 7, 0, 0, 154, 201, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 149, 7, 0, - 0, 165, 201, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 158, 3, 0, 0, 180, 201, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 109, 7, 0, 0, 195, 201, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 120, 6, 0, 0, 210, 201, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 157, 3, 0, 0, 225, 201, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 148, 7, 0, 0, 0, 202, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 156, 7, 0, 0, 9, 202, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 2, 0, - 0, 22, 202, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 146, 7, 0, 0, 35, 202, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 165, 3, 0, 0, 48, 202, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 118, 7, 0, 0, 61, 202, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 174, 3, 0, 0, 74, 202, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 142, 6, 0, 0, 119, 202, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 7, 0, 0, 128, 202, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 8, 7, 0, - 0, 141, 202, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 9, 7, 0, 0, 154, 202, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 159, 7, 0, 0, 167, 202, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 239, 4, 0, 0, 181, 202, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 36, 8, 0, 0, 191, 202, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 162, 7, 0, 0, 204, - 202, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 163, 7, 0, 0, 220, 202, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 164, - 7, 0, 0, 236, 202, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 165, 7, 0, 0, 252, 202, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 166, 7, 0, 0, 12, 203, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 167, 7, 0, 0, 28, 203, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 168, 7, 0, 0, 44, 203, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 169, 7, 0, 0, 60, - 203, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 170, 7, 0, 0, 76, 203, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 171, - 7, 0, 0, 92, 203, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 172, 7, 0, 0, 108, 203, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 173, 7, 0, 0, 121, 203, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 3, 0, 0, 134, 203, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 159, 3, 0, 0, 147, 203, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 55, 6, 0, 0, 160, - 203, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 174, 7, 0, 0, 173, 203, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 192, - 7, 0, 0, 189, 203, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 193, 7, 0, 0, 205, 203, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 194, 7, 0, 0, 221, 203, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 195, 7, 0, 0, 237, 203, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 196, 7, 0, 0, 253, 203, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 197, 7, 0, 0, - 10, 204, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 178, 7, 0, 0, 23, 204, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 43, 6, 0, 0, 36, 204, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 231, 7, 0, 0, 49, 204, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 175, 7, 0, 0, 62, 204, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 232, 7, 0, 0, 75, 204, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 233, 7, 0, 0, 88, 204, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 234, 7, 0, 0, - 104, 204, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 235, 7, 0, 0, 120, 204, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 236, 7, 0, 0, 136, 204, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 237, 7, 0, 0, 152, 204, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 238, 7, 0, 0, 168, 204, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 239, 7, 0, 0, 184, 204, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 240, 7, 0, 0, 200, 204, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 241, 7, - 0, 0, 216, 204, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 242, 7, 0, 0, 232, 204, 0, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 243, 7, 0, 0, 248, 204, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 244, 7, 0, 0, 8, 205, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 245, 7, 0, 0, 24, 205, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 246, 7, 0, 0, 37, 205, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 247, 7, 0, 0, 50, 205, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 248, 7, 0, - 0, 63, 205, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 249, 7, 0, 0, 76, 205, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 250, 7, 0, 0, 89, 205, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 251, 7, 0, 0, 102, 205, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 252, 7, 0, 0, 116, 205, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 253, 7, 0, 0, 130, 205, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 254, 7, 0, 0, 144, 205, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 255, 7, - 0, 0, 158, 205, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 6, 8, 0, 0, 172, 205, 0, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 7, 8, 0, 0, 192, 205, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 191, 7, 0, 0, 201, 205, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 154, 2, 0, 0, 214, 205, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 123, 4, 0, 0, 227, - 205, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 159, 3, 0, 0, 240, 205, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, - 3, 0, 0, 253, 205, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 175, 7, 0, 0, 10, 206, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 44, 6, 0, 0, 23, 206, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 178, 7, 0, 0, 36, 206, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 179, 7, 0, 0, 49, 206, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 181, 7, 0, 0, 62, - 206, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 182, 7, 0, 0, 75, 206, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, - 7, 0, 0, 88, 206, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 184, 7, 0, 0, 101, 206, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 185, 7, 0, 0, 114, 206, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 186, 7, 0, 0, 127, 206, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 187, 7, 0, 0, 140, 206, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 188, 7, 0, 0, - 153, 206, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 189, 7, 0, 0, 166, 206, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 153, 2, 0, 0, 179, 206, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 126, 5, 0, 0, 195, 206, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 190, 7, 0, 0, 217, 206, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 177, 7, 0, 0, 228, 206, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 153, 2, 0, 0, 243, 206, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 239, 4, - 0, 0, 2, 207, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 176, 7, 0, 0, 17, 207, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 154, 2, 0, 0, 37, 207, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 180, 7, 0, 0, 45, 207, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 230, 7, 0, 0, 54, 207, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 126, 4, 0, 0, 67, 207, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 199, 7, 0, 0, 80, 207, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 243, 5, 0, 0, - 93, 207, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 200, 7, 0, 0, 106, 207, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 173, 2, 0, 0, 119, 207, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 227, 7, 0, 0, 132, 207, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 228, 7, 0, 0, 145, 207, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 229, 7, 0, 0, 159, 207, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 198, 7, 0, 0, 168, 207, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 126, 4, - 0, 0, 181, 207, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 242, 5, 0, 0, 221, 207, 0, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 226, 7, 0, 0, 230, 207, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 201, 7, 0, 0, 243, 207, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 171, 4, 0, 0, 0, 208, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 218, 7, 0, 0, 13, - 208, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 33, 6, 0, 0, 26, 208, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 223, - 7, 0, 0, 39, 208, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 126, 5, 0, 0, 52, 208, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 225, 7, 0, 0, 65, 208, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 88, 4, 0, 0, 84, 208, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 217, 7, 0, 0, 94, 208, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 3, 0, 0, 107, - 208, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 251, 4, 0, 0, 120, 208, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 202, - 7, 0, 0, 133, 208, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 203, 7, 0, 0, 146, 208, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 204, 7, 0, 0, 162, 208, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 205, 7, 0, 0, 178, 208, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 206, 7, 0, 0, 194, 208, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 207, 7, 0, 0, - 210, 208, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 208, 7, 0, 0, 223, 208, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 209, 7, 0, 0, 236, 208, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 210, 7, 0, 0, 249, 208, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 211, 7, 0, 0, 6, 209, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 212, 7, 0, 0, 19, 209, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 213, 7, 0, 0, 32, 209, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 214, 7, 0, 0, - 45, 209, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 215, 7, 0, 0, 58, 209, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 216, 7, 0, 0, 88, 209, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 220, 7, 0, 0, 99, 209, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 219, 7, 0, 0, 110, 209, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 222, 7, 0, 0, 118, 209, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 221, 7, 0, 0, 127, 209, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 51, 3, 0, 0, - 141, 209, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 224, 7, 0, 0, 150, 209, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 201, 3, 0, 0, 181, 209, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 5, 8, 0, 0, 190, 209, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 70, 3, 0, 0, 203, 209, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 115, 4, 0, 0, 216, 209, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 8, 0, 0, 229, 209, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 1, 8, 0, 0, - 242, 209, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 2, 8, 0, 0, 255, 209, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 3, 8, 0, 0, 18, 210, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 4, 8, 0, 0, 29, 210, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 122, 4, 0, 0, 44, 210, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 153, 2, 0, 0, 82, 210, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 35, 8, 0, 0, 92, 210, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 8, 8, 0, 0, 105, - 210, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 16, 8, 0, 0, 118, 210, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 17, - 8, 0, 0, 131, 210, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 145, 210, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 25, 8, 0, 0, 159, 210, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 33, 8, 0, 0, 173, 210, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 34, 8, 0, 0, 188, 210, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 15, 8, 0, 0, 197, - 210, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 2, 0, 0, 210, 210, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 11, - 8, 0, 0, 223, 210, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 12, 8, 0, 0, 236, 210, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 13, 8, 0, 0, 249, 210, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 9, 0, 0, 0, 6, 211, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 14, 8, 0, 0, 20, 211, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 10, 8, 0, 0, 29, 211, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 9, 8, 0, 0, 48, 211, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 22, 8, 0, 0, - 57, 211, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 18, 8, 0, 0, 70, 211, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 19, 8, 0, 0, 83, 211, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 20, 8, 0, 0, 96, 211, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 21, 8, 0, 0, 110, 211, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 24, 8, 0, 0, 119, 211, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 160, 2, 0, 0, 132, 211, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 23, 8, 0, 0, - 151, 211, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 32, 8, 0, 0, 160, 211, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 9, 0, 0, 0, 173, 211, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 4, 0, 0, 191, 211, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 26, 8, 0, 0, 204, 211, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 29, 8, 0, 0, 217, 211, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 17, 8, 0, 0, 231, 211, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 153, 2, 0, 0, - 245, 211, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 28, 8, 0, 0, 254, 211, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 2, 5, 0, 0, 11, 212, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 27, 8, 0, 0, 24, 212, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 9, 8, 0, 0, 38, 212, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 30, 8, 0, 0, 47, 212, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 126, 4, 0, 0, 60, 212, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 74, 212, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 31, 8, 0, 0, 83, 212, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 9, 0, 0, 0, - 96, 212, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 26, 8, 0, 0, 109, 212, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 7, 8, 0, 0, 133, 212, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 42, 8, 0, 0, 142, 212, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 110, 3, 0, 0, 155, 212, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 174, 4, 0, 0, 168, 212, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 38, 8, 0, 0, 181, 212, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, 8, 0, 0, - 194, 212, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 40, 8, 0, 0, 207, 212, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 41, 8, 0, 0, 243, 212, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 51, 8, 0, 0, 252, 212, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 44, 8, 0, 0, 9, 213, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 48, 8, 0, 0, 22, 213, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 49, 8, 0, 0, 35, 213, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 50, 8, 0, 0, 54, - 213, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 47, 8, 0, 0, 63, 213, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 45, 8, - 0, 0, 76, 213, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 161, 7, 0, 0, 89, 213, 0, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 46, 8, 0, 0, 120, 213, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 57, 9, 0, 0, 129, 213, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 202, 4, 0, 0, 142, 213, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 2, 0, 0, 155, - 213, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 110, 3, 0, 0, 168, 213, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 121, - 8, 0, 0, 181, 213, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 194, 213, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 189, 8, 0, 0, 207, 213, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 239, 6, 0, 0, 220, 213, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 190, 8, 0, 0, 233, 213, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 191, 8, 0, 0, - 246, 213, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 3, 0, 0, 3, 214, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 52, 9, 0, 0, 16, 214, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 53, 9, 0, 0, 29, 214, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 54, 9, 0, 0, 42, 214, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 55, 9, 0, 0, 55, 214, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 56, 9, 0, 0, 79, 214, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 188, 8, 0, 0, 88, - 214, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 130, 6, 0, 0, 101, 214, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 53, - 8, 0, 0, 114, 214, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 225, 6, 0, 0, 127, 214, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 227, 6, 0, 0, 140, 214, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 58, 8, 0, 0, 153, 214, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 59, 8, 0, 0, 166, 214, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 111, 3, 0, 0, 179, - 214, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, 8, 0, 0, 192, 214, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 186, - 8, 0, 0, 205, 214, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 187, 8, 0, 0, 20, 215, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 56, 8, 0, 0, 29, 215, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 239, 6, 0, 0, 42, 215, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 54, 8, 0, 0, 55, 215, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 55, 8, 0, 0, 111, - 215, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 57, 8, 0, 0, 20, 216, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 185, - 8, 0, 0, 29, 216, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 60, 8, 0, 0, 42, 216, 0, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 176, 7, 0, 0, 55, 216, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 61, 8, 0, 0, 68, 216, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 62, 8, 0, 0, 81, 216, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 147, 8, 0, 0, 94, 216, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 27, 7, 0, 0, 107, 216, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 8, 0, - 0, 120, 216, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 184, 8, 0, 0, 139, 216, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 146, 8, 0, 0, 148, 216, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 63, 8, 0, 0, 161, 216, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 126, 4, 0, 0, 174, 216, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 64, 8, 0, 0, 187, 216, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 65, 8, 0, 0, 200, 216, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 100, 8, 0, - 0, 213, 216, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 145, 8, 0, 0, 232, 216, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 65, 8, 0, 0, 241, 216, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 2, 0, 0, 254, 216, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 176, 7, 0, 0, 11, 217, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 66, 8, 0, 0, 24, 217, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 153, 2, 0, 0, 37, 217, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 67, 8, 0, 0, - 50, 217, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 100, 8, 0, 0, 63, 217, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 103, 8, 0, 0, 76, 217, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 104, 8, 0, 0, 89, 217, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 105, 8, 0, 0, 144, 217, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 106, 8, 0, 0, 157, 217, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 107, 8, 0, 0, 171, 217, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 108, 8, 0, - 0, 189, 217, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 109, 8, 0, 0, 205, 217, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 110, 8, 0, 0, 221, 217, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 111, 8, 0, 0, 237, 217, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 112, 8, 0, 0, 253, 217, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 113, 8, 0, 0, 13, - 218, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 114, 8, 0, 0, 29, 218, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 115, - 8, 0, 0, 42, 218, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 116, 8, 0, 0, 70, 218, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 117, 8, 0, 0, 83, 218, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 118, 8, 0, 0, 98, 218, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 119, 8, 0, 0, 111, 218, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 140, 8, 0, 0, 124, - 218, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 142, 8, 0, 0, 139, 218, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 99, - 8, 0, 0, 162, 218, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 68, 8, 0, 0, 175, 218, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 69, 8, 0, 0, 203, 218, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 85, 8, 0, 0, 216, 218, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 86, 8, 0, 0, 244, 218, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 4, 0, 0, 1, - 219, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 91, 8, 0, 0, 20, 219, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 84, 8, - 0, 0, 28, 219, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 83, 8, 0, 0, 65, 219, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 70, 8, 0, 0, 81, 219, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 71, 8, 0, 0, 97, 219, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 72, 8, 0, 0, 113, 219, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 73, 8, 0, 0, 129, 219, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 74, 8, 0, 0, 145, 219, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 8, 0, 0, - 161, 219, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 76, 8, 0, 0, 192, 219, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 77, 8, 0, 0, 208, 219, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 78, 8, 0, 0, 224, 219, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 79, 8, 0, 0, 240, 219, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 80, 8, 0, 0, 0, 220, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 81, 8, 0, 0, 16, 220, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 82, 8, 0, 0, 39, - 220, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 90, 8, 0, 0, 47, 220, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 89, 8, - 0, 0, 56, 220, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 87, 8, 0, 0, 72, 220, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 88, 8, 0, 0, 93, 220, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 98, 8, 0, 0, 101, 220, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 97, 8, 0, 0, 110, 220, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 92, 8, 0, 0, 126, 220, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 93, 8, 0, 0, 142, 220, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 71, 8, 0, 0, - 158, 220, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 87, 8, 0, 0, 174, 220, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 94, 8, 0, 0, 190, 220, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 95, 8, 0, 0, 206, 220, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 96, 8, 0, 0, 225, 220, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 102, 8, 0, 0, 234, 220, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 60, 8, 0, 0, 247, 220, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 101, 8, 0, 0, - 25, 221, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 139, 8, 0, 0, 34, 221, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 120, 8, 0, 0, 47, 221, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 138, 8, 0, 0, 66, 221, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 137, 8, 0, 0, 77, 221, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 153, 2, 0, 0, 92, 221, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 121, 8, 0, 0, 107, 221, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 122, 8, 0, 0, - 122, 221, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 123, 8, 0, 0, 137, 221, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 135, 8, 0, 0, 152, 221, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 124, 8, 0, 0, 172, 221, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 134, 8, 0, 0, 180, 221, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 133, 8, 0, 0, 189, 221, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 9, 0, 0, 0, 202, 221, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, - 0, 215, 221, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 124, 8, 0, 0, 228, 221, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 61, 8, 0, 0, 241, 221, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 60, 8, 0, 0, 254, 221, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 145, 4, 0, 0, 11, 222, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 4, 0, 0, 38, 222, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 125, 8, 0, 0, 51, 222, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 129, 8, 0, 0, - 76, 222, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 128, 8, 0, 0, 85, 222, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 126, 8, 0, 0, 98, 222, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 126, 4, 0, 0, 111, 222, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 95, 8, 0, 0, 127, 222, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 94, 8, 0, 0, 143, 222, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 127, 8, 0, 0, 160, 222, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 132, 8, 0, 0, - 169, 222, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 130, 8, 0, 0, 182, 222, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 131, 8, 0, 0, 195, 222, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 88, 4, 0, 0, 208, 222, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 154, 2, 0, 0, 226, 222, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 136, 8, 0, 0, 2, 223, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 141, 8, 0, 0, 11, 223, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 138, 8, 0, 0, - 25, 223, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 144, 8, 0, 0, 34, 223, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 143, 8, 0, 0, 53, 223, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 182, 8, 0, 0, 63, 223, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 148, 8, 0, 0, 76, 223, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 2, 0, 0, 89, 223, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 149, 8, 0, 0, 102, 223, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 150, 8, 0, 0, - 115, 223, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 151, 8, 0, 0, 128, 223, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 152, 8, 0, 0, 141, 223, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 153, 8, 0, 0, 154, 223, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 154, 8, 0, 0, 167, 223, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 155, 8, 0, 0, 180, 223, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 156, 8, 0, 0, 193, 223, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 157, 8, - 0, 0, 206, 223, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 158, 8, 0, 0, 219, 223, 0, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 159, 8, 0, 0, 232, 223, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 8, 0, 0, 245, 223, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 161, 8, 0, 0, 2, 224, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 162, 8, 0, 0, 15, - 224, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 163, 8, 0, 0, 28, 224, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 164, - 8, 0, 0, 41, 224, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 165, 8, 0, 0, 54, 224, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 166, 8, 0, 0, 67, 224, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 167, 8, 0, 0, 80, 224, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 168, 8, 0, 0, 93, 224, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 169, 8, 0, 0, 106, - 224, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 170, 8, 0, 0, 119, 224, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 171, - 8, 0, 0, 132, 224, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 172, 8, 0, 0, 145, 224, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 173, 8, 0, 0, 158, 224, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 174, 8, 0, 0, 171, 224, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 175, 8, 0, 0, 184, 224, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 176, 8, 0, 0, - 197, 224, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 177, 8, 0, 0, 210, 224, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 178, 8, 0, 0, 223, 224, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 179, 8, 0, 0, 237, 224, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 180, 8, 0, 0, 251, 224, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 181, 8, 0, 0, 9, 225, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 58, 226, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 51, 9, 0, 0, - 67, 226, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 192, 8, 0, 0, 80, 226, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 193, 8, 0, 0, 93, 226, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 194, 8, 0, 0, 106, 226, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 195, 8, 0, 0, 119, 226, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 196, 8, 0, 0, 132, 226, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 191, 8, 0, 0, 163, 226, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 50, 9, 0, 0, - 172, 226, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 3, 0, 0, 185, 226, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 197, 8, 0, 0, 198, 226, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 198, 8, 0, 0, 211, 226, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 199, 8, 0, 0, 224, 226, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 136, 6, 0, 0, 237, 226, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 139, 6, 0, 0, 250, 226, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 200, 8, - 0, 0, 7, 227, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 201, 8, 0, 0, 20, 227, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 202, 8, 0, 0, 33, 227, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 203, 8, 0, 0, 46, 227, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 204, 8, 0, 0, 59, 227, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 205, 8, 0, 0, 72, 227, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 206, 8, 0, 0, 85, 227, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 207, 8, 0, 0, - 98, 227, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 188, 3, 0, 0, 111, 227, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 208, 8, 0, 0, 124, 227, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 209, 8, 0, 0, 137, 227, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 27, 7, 0, 0, 150, 227, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 2, 0, 0, 163, 227, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 210, 8, 0, 0, 234, 227, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 49, 9, 0, - 0, 244, 227, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 147, 8, 0, 0, 1, 228, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 211, 8, 0, 0, 15, 228, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 169, 6, 0, 0, 29, 228, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 9, 0, 0, 0, 43, 228, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 48, 9, 0, 0, 57, 228, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 202, 8, 0, 0, 72, 228, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 217, 8, 0, 0, - 81, 228, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 212, 8, 0, 0, 94, 228, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 213, 8, 0, 0, 107, 228, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 60, 8, 0, 0, 120, 228, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 214, 8, 0, 0, 133, 228, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 215, 8, 0, 0, 146, 228, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 9, 0, 0, 0, 159, 228, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 216, 8, 0, 0, - 177, 228, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 47, 9, 0, 0, 202, 228, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 46, 9, 0, 0, 212, 228, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 146, 8, 0, 0, 225, 228, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 185, 8, 0, 0, 238, 228, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 218, 8, 0, 0, 251, 228, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 219, 8, 0, 0, 8, 229, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 220, 8, 0, 0, - 21, 229, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 20, 9, 0, 0, 34, 229, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 21, 9, 0, 0, 47, 229, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 82, 5, 0, 0, 60, 229, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 22, 9, 0, 0, 73, 229, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 23, 9, 0, 0, 86, 229, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 24, 9, 0, 0, 99, 229, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 25, 9, 0, 0, 112, - 229, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 26, 9, 0, 0, 125, 229, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 27, - 9, 0, 0, 138, 229, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 28, 9, 0, 0, 151, 229, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 70, 3, 0, 0, 164, 229, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 29, 9, 0, 0, 177, 229, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 30, 9, 0, 0, 190, 229, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 31, 9, 0, 0, 203, - 229, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 32, 9, 0, 0, 217, 229, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 36, - 9, 0, 0, 231, 229, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 37, 9, 0, 0, 245, 229, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 38, 9, 0, 0, 3, 230, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, 9, 0, 0, 17, 230, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 40, 9, 0, 0, 31, 230, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 41, 9, 0, 0, 45, 230, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 42, 9, 0, 0, 59, 230, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 43, 9, 0, - 0, 73, 230, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 128, 5, 0, 0, 87, 230, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 39, 4, 0, 0, 101, 230, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 158, 3, 0, 0, 115, 230, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 44, 9, 0, 0, 129, 230, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 45, 9, 0, 0, 143, 230, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 155, 3, 0, 0, 157, 230, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 2, 0, - 0, 177, 230, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 19, 9, 0, 0, 186, 230, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 169, 6, 0, 0, 199, 230, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 223, 8, 0, 0, 212, 230, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 224, 8, 0, 0, 225, 230, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 157, 2, 0, 0, 238, - 230, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 225, 8, 0, 0, 251, 230, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 226, - 8, 0, 0, 8, 231, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 240, 6, 0, 0, 21, 231, 0, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 176, 7, 0, 0, 34, 231, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 47, 231, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 227, 8, 0, 0, 60, 231, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 228, 8, 0, 0, 73, 231, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 2, 0, 0, 86, 231, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 128, 5, 0, - 0, 104, 231, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 222, 8, 0, 0, 137, 231, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 221, 8, 0, 0, 150, 231, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 18, 9, 0, 0, 159, 231, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 229, 8, 0, 0, 172, 231, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 118, 3, 0, 0, 185, 231, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 230, 8, 0, 0, 198, 231, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 231, 8, - 0, 0, 211, 231, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 232, 8, 0, 0, 224, 231, 0, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 233, 8, 0, 0, 251, 231, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 234, 8, 0, 0, 8, 232, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 5, 9, 0, 0, 22, 232, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 6, 9, 0, 0, 49, 232, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 7, 9, 0, 0, 62, 232, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 8, 9, 0, 0, 76, - 232, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 191, 3, 0, 0, 89, 232, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, - 4, 0, 0, 102, 232, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 10, 9, 0, 0, 115, 232, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 11, 9, 0, 0, 128, 232, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 12, 9, 0, 0, 141, 232, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 124, 3, 0, 0, 154, 232, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 125, 3, 0, 0, 167, - 232, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 187, 3, 0, 0, 180, 232, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, - 3, 0, 0, 193, 232, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 14, 9, 0, 0, 206, 232, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 15, 9, 0, 0, 219, 232, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 2, 0, 0, 232, 232, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 123, 3, 0, 0, 245, 232, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 2, - 233, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 16, 9, 0, 0, 15, 233, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 17, 9, - 0, 0, 39, 233, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 234, 8, 0, 0, 48, 233, 0, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 235, 8, 0, 0, 61, 233, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 236, 8, 0, 0, 74, 233, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 237, 8, 0, 0, 87, 233, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 238, 8, 0, 0, 100, - 233, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 253, 8, 0, 0, 113, 233, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 254, - 8, 0, 0, 126, 233, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 255, 8, 0, 0, 139, 233, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 0, 9, 0, 0, 152, 233, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 1, 9, 0, 0, 165, 233, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 2, 9, 0, 0, 178, 233, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 3, 9, 0, 0, 191, 233, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 4, 9, 0, 0, 27, 234, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 252, 8, 0, - 0, 36, 234, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 239, 8, 0, 0, 49, 234, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 240, 8, 0, 0, 62, 234, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 241, 8, 0, 0, 75, 234, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 188, 3, 0, 0, 88, 234, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 242, 8, 0, 0, 101, 234, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 243, 8, 0, 0, 114, 234, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 244, 8, - 0, 0, 141, 234, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 245, 8, 0, 0, 154, 234, 0, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 246, 8, 0, 0, 196, 234, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 251, 8, 0, 0, 205, 234, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 87, 4, 0, 0, 218, 234, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 247, 8, 0, 0, 231, - 234, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 52, 6, 0, 0, 249, 234, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 250, - 8, 0, 0, 1, 235, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 249, 8, 0, 0, 10, 235, 0, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 183, 2, 0, 0, 23, 235, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 188, 3, 0, 0, 36, 235, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 166, 2, 0, 0, 49, 235, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 159, 3, 0, 0, 67, 235, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 248, 8, 0, 0, 245, 235, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 9, 9, 0, - 0, 27, 236, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 13, 9, 0, 0, 45, 236, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 35, 9, 0, 0, 54, 236, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 176, 7, 0, 0, 67, 236, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 116, 4, 0, 0, 80, 236, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 43, 6, 0, 0, 93, 236, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 33, 9, 0, 0, 106, 236, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 174, 3, 0, 0, - 151, 236, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 34, 9, 0, 0, 198, 236, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 69, 9, 0, 0, 209, 236, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 7, 4, 0, 0, 224, 236, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 65, 9, 0, 0, 239, 236, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 66, 9, 0, 0, 254, 236, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 67, 9, 0, 0, 13, 237, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 68, 9, 0, 0, 34, - 237, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 64, 9, 0, 0, 45, 237, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 126, - 4, 0, 0, 60, 237, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 153, 2, 0, 0, 75, 237, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 59, 9, 0, 0, 90, 237, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 173, 2, 0, 0, 105, 237, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 62, 9, 0, 0, 120, 237, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 63, 9, 0, 0, 141, - 237, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 61, 9, 0, 0, 152, 237, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 126, - 4, 0, 0, 167, 237, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 2, 0, 0, 182, 237, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 60, 9, 0, 0, 208, 237, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 101, 9, 0, 0, 217, 237, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 59, 8, 0, 0, 230, 237, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 111, 3, 0, 0, 243, - 237, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 73, 9, 0, 0, 0, 238, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 74, 9, - 0, 0, 13, 238, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 9, 0, 0, 26, 238, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 84, 9, 0, 0, 39, 238, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 192, 3, 0, 0, 52, 238, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 85, 9, 0, 0, 65, 238, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 86, 9, 0, 0, 78, 238, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 87, 9, 0, 0, 91, 238, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 88, 9, 0, 0, - 104, 238, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 89, 9, 0, 0, 117, 238, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 90, 9, 0, 0, 130, 238, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 91, 9, 0, 0, 143, 238, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 92, 9, 0, 0, 156, 238, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 93, 9, 0, 0, 169, 238, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 94, 9, 0, 0, 182, 238, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 95, 9, 0, 0, - 195, 238, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 96, 9, 0, 0, 208, 238, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 97, 9, 0, 0, 221, 238, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 98, 9, 0, 0, 234, 238, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 99, 9, 0, 0, 247, 238, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 100, 9, 0, 0, 187, 239, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 83, 9, 0, 0, 196, 239, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 76, 9, 0, 0, - 209, 239, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 81, 9, 0, 0, 222, 239, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 82, 9, 0, 0, 241, 239, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 80, 9, 0, 0, 250, 239, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 77, 9, 0, 0, 7, 240, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 88, 4, 0, 0, 20, 240, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 34, 7, 0, 0, 33, 240, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 78, 9, 0, 0, 46, - 240, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 79, 9, 0, 0, 255, 241, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 108, - 9, 0, 0, 8, 242, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 106, 9, 0, 0, 21, 242, 0, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 107, 9, 0, 0, 34, 242, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 187, 3, 0, 0, 47, 242, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 88, 4, 0, 0, 66, 242, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 113, 9, 0, 0, 75, 242, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 110, 9, 0, 0, 88, 242, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 111, 9, 0, - 0, 101, 242, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 112, 9, 0, 0, 120, 242, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 128, 9, 0, 0, 129, 242, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 116, 9, 0, 0, 142, 242, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 5, 3, 0, 0, 155, 242, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 117, 9, 0, 0, 168, 242, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 118, 9, 0, 0, 181, 242, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 3, 0, - 0, 194, 242, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 119, 9, 0, 0, 207, 242, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 120, 9, 0, 0, 220, 242, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 121, 9, 0, 0, 233, 242, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 154, 2, 0, 0, 246, 242, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 125, 9, 0, 0, 3, 243, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 126, 9, 0, 0, 16, 243, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 127, 9, 0, - 0, 30, 243, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 124, 9, 0, 0, 39, 243, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 122, 9, 0, 0, 52, 243, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 123, 9, 0, 0, 71, 243, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 129, 9, 0, 0, 80, 243, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 158, 3, 0, 0, 93, 243, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 128, 9, 0, 0, 112, 243, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 141, 9, 0, - 0, 121, 243, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 174, 4, 0, 0, 134, 243, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 228, 6, 0, 0, 147, 243, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 131, 9, 0, 0, 160, 243, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 132, 9, 0, 0, 173, 243, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 171, 4, 0, 0, 186, - 243, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 3, 0, 0, 199, 243, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 133, - 9, 0, 0, 212, 243, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 134, 9, 0, 0, 225, 243, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 135, 9, 0, 0, 238, 243, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 136, 9, 0, 0, 251, 243, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 137, 9, 0, 0, 14, 244, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 140, 9, 0, 0, - 23, 244, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 138, 9, 0, 0, 36, 244, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 139, 9, 0, 0, 49, 244, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 2, 0, 0, 63, 244, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 143, 9, 0, 0, 77, 244, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 165, 9, 0, 0, 86, 244, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 70, 3, 0, 0, 99, 244, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 150, 9, 0, 0, - 112, 244, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 9, 0, 0, 125, 244, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 159, 9, 0, 0, 138, 244, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 164, 9, 0, 0, 151, 244, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 159, 5, 0, 0, 170, 244, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 153, 9, 0, 0, 179, 244, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 169, 6, 0, 0, 192, 244, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 4, - 0, 0, 205, 244, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 152, 9, 0, 0, 218, 244, 0, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 70, 3, 0, 0, 236, 244, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 151, 9, 0, 0, 19, 245, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 158, 9, 0, 0, 30, 245, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 153, 2, 0, 0, 45, 245, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 44, 4, 0, 0, 60, 245, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 156, 9, 0, - 0, 75, 245, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 157, 9, 0, 0, 96, 245, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 155, 9, 0, 0, 107, 245, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 45, 6, 0, 0, 122, 245, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 16, 7, 0, 0, 137, 245, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 3, 0, 0, 158, 245, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 163, 9, 0, 0, 167, 245, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 110, 3, 0, - 0, 180, 245, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 9, 0, 0, 193, 245, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 183, 2, 0, 0, 206, 245, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 161, 9, 0, 0, 219, 245, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 162, 9, 0, 0, 37, 246, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 134, 12, 0, 0, 47, - 246, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 135, 3, 0, 0, 60, 246, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 130, - 12, 0, 0, 73, 246, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 87, 246, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 131, 12, 0, 0, 101, 246, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 132, 12, 0, 0, 115, 246, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 118, 3, 0, 0, 129, 246, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 133, 12, 0, 0, - 161, 246, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 129, 12, 0, 0, 170, 246, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 39, 4, 0, 0, 183, 246, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 191, 9, 0, 0, 209, 246, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 128, 12, 0, 0, 218, 246, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 192, 9, 0, 0, 245, 246, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 80, 12, 0, 0, 2, 247, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 144, 10, 0, - 0, 22, 247, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 119, 12, 0, 0, 31, 247, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 191, 6, 0, 0, 44, 247, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 193, 9, 0, 0, 60, 247, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 194, 9, 0, 0, 76, 247, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 195, 9, 0, 0, 92, 247, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 196, 9, 0, 0, 108, 247, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 197, 9, 0, - 0, 124, 247, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 198, 9, 0, 0, 140, 247, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 199, 9, 0, 0, 156, 247, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 200, 9, 0, 0, 172, 247, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 201, 9, 0, 0, 188, 247, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 202, 9, 0, 0, 204, - 247, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 203, 9, 0, 0, 220, 247, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 204, - 9, 0, 0, 236, 247, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 9, 0, 0, 0, 249, 247, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 205, 9, 0, 0, 6, 248, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 62, 3, 0, 0, 19, 248, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 206, 9, 0, 0, 32, 248, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 207, 9, 0, 0, 45, 248, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 208, 9, 0, 0, 58, 248, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 126, 5, 0, - 0, 71, 248, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 214, 9, 0, 0, 84, 248, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 221, 9, 0, 0, 97, 248, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 112, 12, 0, 0, 110, 248, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 76, 10, 0, 0, 123, 248, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 118, 12, 0, 0, 154, - 248, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 213, 9, 0, 0, 163, 248, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 209, - 9, 0, 0, 176, 248, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 210, 9, 0, 0, 189, 248, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 211, 9, 0, 0, 202, 248, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 212, 9, 0, 0, 247, 248, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 220, 9, 0, 0, 0, 249, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 78, 7, 0, 0, 13, - 249, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 215, 9, 0, 0, 29, 249, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 216, - 9, 0, 0, 45, 249, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 217, 9, 0, 0, 58, 249, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 219, 9, 0, 0, 76, 249, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 218, 9, 0, 0, 88, 249, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 111, 12, 0, 0, 98, 249, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 118, 3, 0, 0, 111, - 249, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 222, 9, 0, 0, 124, 249, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 223, - 9, 0, 0, 137, 249, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 224, 9, 0, 0, 150, 249, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 225, 9, 0, 0, 163, 249, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 226, 9, 0, 0, 176, 249, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 227, 9, 0, 0, 189, 249, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 123, 4, 0, 0, - 202, 249, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 228, 9, 0, 0, 215, 249, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 229, 9, 0, 0, 228, 249, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 230, 9, 0, 0, 241, 249, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 231, 9, 0, 0, 254, 249, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 232, 9, 0, 0, 11, 250, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 233, 9, 0, 0, 24, 250, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 234, 9, 0, - 0, 37, 250, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 1, 10, 0, 0, 50, 250, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 5, 10, 0, 0, 63, 250, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 6, 10, 0, 0, 76, 250, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 7, 10, 0, 0, 89, 250, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, 10, 0, 0, 102, 250, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 40, 10, 0, 0, 115, 250, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 41, 10, 0, 0, - 128, 250, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 42, 10, 0, 0, 141, 250, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 43, 10, 0, 0, 154, 250, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 44, 10, 0, 0, 167, 250, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 45, 10, 0, 0, 180, 250, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 46, 10, 0, 0, 193, 250, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 47, 10, 0, 0, 206, 250, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 48, 10, - 0, 0, 219, 250, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 49, 10, 0, 0, 232, 250, 0, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 166, 2, 0, 0, 245, 250, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 50, 10, 0, 0, 2, 251, 0, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 51, 10, 0, 0, 15, 251, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 68, 12, 0, 0, 28, 251, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 12, 0, 0, 41, 251, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 19, 10, 0, - 0, 54, 251, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 110, 3, 0, 0, 68, 251, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 39, 11, 0, 0, 82, 251, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 78, 12, 0, 0, 96, 251, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 40, 11, 0, 0, 110, 251, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 192, 9, 0, 0, 124, 251, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 243, 2, 0, 0, 138, 251, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 79, 12, - 0, 0, 152, 251, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 80, 12, 0, 0, 166, 251, 0, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 154, 2, 0, 0, 180, 251, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 133, 4, 0, 0, 194, 251, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 81, 12, 0, 0, 208, 251, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 10, 0, 0, 222, - 251, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 87, 10, 0, 0, 236, 251, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 99, - 12, 0, 0, 250, 251, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 103, 12, 0, 0, 8, 252, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 104, 12, 0, 0, 22, 252, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 88, 10, 0, 0, 36, 252, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 105, 12, 0, 0, 50, 252, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 74, 11, 0, 0, 64, - 252, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 106, 12, 0, 0, 78, 252, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 107, - 12, 0, 0, 107, 252, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 43, 6, 0, 0, 120, 252, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 39, 4, 0, 0, 140, 252, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 10, 0, 0, 149, 252, 0, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 154, 4, 0, 0, 162, 252, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 235, 9, 0, 0, 175, - 252, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 238, 9, 0, 0, 188, 252, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 239, - 9, 0, 0, 201, 252, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 240, 9, 0, 0, 214, 252, 0, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 241, 9, 0, 0, 227, 252, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 242, 9, 0, 0, 240, 252, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 249, 9, 0, 0, 253, 252, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 250, 9, 0, 0, - 10, 253, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 251, 9, 0, 0, 23, 253, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 118, 3, 0, 0, 36, 253, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 123, 4, 0, 0, 49, 253, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 39, 4, 0, 0, 62, 253, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 252, 9, 0, 0, 75, 253, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 253, 9, 0, 0, 88, 253, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 254, 9, 0, 0, - 101, 253, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 2, 0, 0, 114, 253, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 255, 9, 0, 0, 138, 253, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 237, 9, 0, 0, 147, 253, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 236, 9, 0, 0, 160, 253, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 189, 4, 0, 0, 187, 253, - 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 187, 3, 0, 0, 200, 253, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 9, 0, 0, - 0, 215, 253, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 248, 9, 0, 0, 224, 253, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 79, 4, 0, 0, 237, 253, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 77, 7, 0, 0, 250, 253, 0, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 183, 2, 0, 0, 7, 254, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 243, 9, 0, 0, 20, 254, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 244, 9, 0, 0, 33, 254, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 245, 9, 0, 0, - 46, 254, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 246, 9, 0, 0, 59, 254, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 247, 9, 0, 0, 83, 254, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 4, 10, 0, 0, 92, 254, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 88, 4, 0, 0, 105, 254, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 2, 10, 0, 0, 118, 254, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 3, 10, 0, 0, 137, 254, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 38, 10, 0, 0, - 146, 254, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 156, 2, 0, 0, 159, 254, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 54, 4, 0, 0, 172, 254, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 118, 3, 0, 0, 185, 254, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 114, 3, 0, 0, 198, 254, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 166, 2, 0, 0, 216, 254, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 8, 10, 0, 0, 229, 254, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 66, 7, 0, 0, - 242, 254, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 13, 10, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 14, 10, 0, 0, 13, 255, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 15, 10, 0, 0, 26, 255, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 16, 10, 0, 0, 39, 255, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 17, 10, 0, 0, 52, 255, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 36, 10, 0, 0, 65, 255, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 37, 10, 0, 0, - 79, 255, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 12, 10, 0, 0, 88, 255, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 9, 10, 0, 0, 101, 255, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 10, 10, 0, 0, 114, 255, 0, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 11, 10, 0, 0, 169, 255, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 35, 10, 0, 0, 179, 255, 0, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 18, 10, 0, 0, 192, 255, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 19, 10, 0, - 0, 205, 255, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 24, 10, 0, 0, 218, 255, 0, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 33, 10, 0, 0, 231, 255, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 34, 10, 0, 0, 3, 0, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 39, 4, 0, 0, 16, 0, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 43, 6, 0, 0, 31, 0, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 23, 10, 0, 0, 40, 0, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 174, 4, 0, 0, 53, 0, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 228, 6, 0, 0, 66, 0, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 2, 0, 0, - 79, 0, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 20, 10, 0, 0, 92, 0, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 21, - 10, 0, 0, 105, 0, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 192, 9, 0, 0, 119, 0, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 22, 10, 0, 0, 128, 0, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 126, 4, 0, 0, 154, 0, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 32, 10, 0, 0, 163, 0, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 25, 10, 0, 0, 176, 0, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 4, 0, 0, 195, 0, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 31, 10, 0, 0, - 204, 0, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 5, 3, 0, 0, 217, 0, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 174, - 3, 0, 0, 230, 0, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 27, 10, 0, 0, 243, 0, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 28, 10, 0, 0, 3, 1, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 29, 10, 0, 0, 19, 1, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 39, 4, 0, 0, 32, 1, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 30, 10, 0, 0, 55, 1, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 26, 10, 0, 0, 95, 1, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 67, 12, 0, 0, 104, 1, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 52, 10, 0, 0, 117, 1, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 53, 10, 0, - 0, 130, 1, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 54, 10, 0, 0, 143, 1, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 221, 9, 0, 0, 170, 1, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 55, 10, 0, 0, 188, 1, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 225, 6, 0, 0, 201, 1, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 114, 3, 0, 0, 216, 1, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 65, 12, 0, 0, 229, 1, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 66, 12, 0, 0, - 242, 1, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 64, 7, 0, 0, 255, 1, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 199, - 10, 0, 0, 18, 2, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 64, 12, 0, 0, 28, 2, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 110, 3, 0, 0, 41, 2, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 112, 11, 0, 0, 54, 2, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 133, 4, 0, 0, 67, 2, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 57, 10, 0, 0, 80, 2, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 11, 0, 0, 0, 93, 2, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 12, 0, 0, 0, 106, - 2, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 58, 10, 0, 0, 119, 2, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 59, 10, - 0, 0, 132, 2, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 113, 11, 0, 0, 145, 2, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 114, 11, 0, 0, 158, 2, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 123, 4, 0, 0, 171, 2, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 145, 9, 0, 0, 184, 2, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 64, 10, 0, 0, 197, 2, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 65, 10, 0, 0, 210, 2, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 10, 0, 0, - 223, 2, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 115, 11, 0, 0, 236, 2, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 154, 2, 0, 0, 249, 2, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 66, 10, 0, 0, 6, 3, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 48, 11, 0, 0, 19, 3, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 60, 12, 0, 0, 32, 3, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 118, 3, 0, 0, 45, 3, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 61, 12, 0, 0, 58, 3, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 43, 6, 0, 0, 71, 3, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 62, 12, 0, 0, - 84, 3, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 63, 12, 0, 0, 108, 3, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 111, - 11, 0, 0, 118, 3, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 56, 10, 0, 0, 131, 3, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 154, 10, 0, 0, 144, 3, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 155, 10, 0, 0, 157, 3, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 156, 10, 0, 0, 170, 3, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 157, 10, 0, 0, 183, 3, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 158, 10, 0, 0, 196, 3, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 159, 10, - 0, 0, 209, 3, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 10, 0, 0, 222, 3, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 161, 10, 0, 0, 235, 3, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 162, 10, 0, 0, 248, 3, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 163, 10, 0, 0, 5, 4, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 164, 10, 0, 0, 18, 4, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 165, 10, 0, 0, 31, 4, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 166, 10, 0, 0, - 44, 4, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 167, 10, 0, 0, 57, 4, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 168, - 10, 0, 0, 70, 4, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 169, 10, 0, 0, 83, 4, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 170, 10, 0, 0, 96, 4, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 171, 10, 0, 0, 109, 4, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 172, 10, 0, 0, 122, 4, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 173, 10, 0, 0, 135, 4, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 174, 10, 0, 0, 148, 4, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 175, 10, - 0, 0, 161, 4, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 176, 10, 0, 0, 174, 4, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 177, 10, 0, 0, 187, 4, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 178, 10, 0, 0, 200, 4, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 179, 10, 0, 0, 213, 4, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 180, 10, 0, 0, 226, 4, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 181, 10, 0, 0, 239, 4, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 182, 10, 0, - 0, 252, 4, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 10, 0, 0, 9, 5, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 184, 10, 0, 0, 22, 5, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 191, 10, 0, 0, 36, 5, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 192, 10, 0, 0, 50, 5, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 196, 10, 0, 0, 64, 5, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 197, 10, 0, 0, 78, 5, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 198, 10, 0, 0, - 92, 5, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 100, 11, 0, 0, 106, 5, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 101, 11, 0, 0, 120, 5, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 102, 11, 0, 0, 134, 5, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 103, 11, 0, 0, 170, 5, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 153, 10, 0, 0, 193, 5, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 57, 10, 0, 0, 206, 5, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 11, 0, 0, 0, 219, - 5, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 12, 0, 0, 0, 232, 5, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 58, 10, - 0, 0, 245, 5, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 59, 10, 0, 0, 2, 6, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 60, 10, 0, 0, 15, 6, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 145, 9, 0, 0, 28, 6, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 61, 10, 0, 0, 41, 6, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 62, 10, 0, 0, 54, 6, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 63, 10, 0, 0, 67, 6, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 64, 10, 0, 0, 80, 6, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 65, 10, 0, 0, 93, 6, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 66, 10, 0, 0, - 121, 6, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 67, 10, 0, 0, 134, 6, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 114, 3, 0, 0, 161, 6, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 25, 5, 0, 0, 174, 6, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 68, 10, 0, 0, 188, 6, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 202, 6, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 69, 10, 0, 0, 220, 6, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 10, 0, 0, 233, 6, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 71, 10, 0, 0, 246, 6, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 212, 4, 0, - 0, 3, 7, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 72, 10, 0, 0, 16, 7, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 5, - 3, 0, 0, 29, 7, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 67, 10, 0, 0, 42, 7, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 73, 10, 0, 0, 55, 7, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 83, 7, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 74, 10, 0, 0, 96, 7, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 10, 0, 0, 109, 7, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 76, 10, 0, 0, 122, 7, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 77, 10, 0, 0, 135, - 7, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 78, 10, 0, 0, 148, 7, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 79, 10, - 0, 0, 161, 7, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 80, 10, 0, 0, 174, 7, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 81, 10, 0, 0, 187, 7, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 82, 10, 0, 0, 200, 7, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 83, 10, 0, 0, 213, 7, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 84, 10, 0, 0, 226, 7, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 205, 9, 0, 0, 239, 7, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 85, 10, 0, 0, - 252, 7, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 86, 10, 0, 0, 9, 8, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 87, - 10, 0, 0, 22, 8, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 88, 10, 0, 0, 35, 8, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 89, 10, 0, 0, 48, 8, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 90, 10, 0, 0, 61, 8, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 91, 10, 0, 0, 74, 8, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 230, 9, 0, 0, 101, 8, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 92, 10, 0, 0, 114, 8, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 93, 10, 0, 0, - 128, 8, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 94, 10, 0, 0, 156, 8, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 95, - 10, 0, 0, 169, 8, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 96, 10, 0, 0, 182, 8, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 97, 10, 0, 0, 210, 8, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 98, 10, 0, 0, 223, 8, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 99, 10, 0, 0, 236, 8, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 100, 10, 0, 0, 249, 8, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 101, 10, 0, 0, 6, 9, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 102, 10, 0, 0, - 20, 9, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 103, 10, 0, 0, 38, 9, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 104, - 10, 0, 0, 51, 9, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 105, 10, 0, 0, 64, 9, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 106, 10, 0, 0, 77, 9, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 107, 10, 0, 0, 90, 9, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 108, 10, 0, 0, 103, 9, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 109, 10, 0, 0, 116, 9, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 110, 10, 0, 0, 129, 9, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 111, 10, 0, - 0, 142, 9, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 112, 10, 0, 0, 155, 9, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 113, 10, 0, 0, 168, 9, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 114, 10, 0, 0, 181, 9, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 115, 10, 0, 0, 194, 9, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 207, 9, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 251, 4, 0, 0, 249, 9, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 253, 9, 0, 0, 6, - 10, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 116, 10, 0, 0, 19, 10, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 117, - 10, 0, 0, 32, 10, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 3, 10, 0, 0, 45, 10, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 118, 10, 0, 0, 59, 10, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 119, 10, 0, 0, 72, 10, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 120, 10, 0, 0, 86, 10, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 189, 4, 0, 0, 104, 10, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 96, 10, 0, 0, 117, 10, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 121, 10, - 0, 0, 130, 10, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 189, 4, 0, 0, 144, 10, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 122, 10, 0, 0, 162, 10, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 98, 10, 0, 0, 175, 10, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 100, 10, 0, 0, 188, 10, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 123, 10, 0, 0, 201, - 10, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 101, 10, 0, 0, 214, 10, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 124, - 10, 0, 0, 227, 10, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 125, 10, 0, 0, 241, 10, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 126, 10, 0, 0, 3, 11, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 2, 0, 0, 16, 11, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 104, 10, 0, 0, 44, 11, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 10, 0, 0, 57, 11, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 127, 10, 0, 0, 70, 11, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 128, 10, - 0, 0, 83, 11, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 129, 10, 0, 0, 96, 11, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 130, 10, 0, 0, 110, 11, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 131, 10, 0, 0, 128, 11, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 132, 10, 0, 0, 141, 11, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 133, 10, 0, 0, 154, - 11, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 167, 11, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 134, - 10, 0, 0, 180, 11, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 169, 3, 0, 0, 193, 11, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 116, 10, 0, 0, 206, 11, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 135, 10, 0, 0, 219, 11, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 136, 10, 0, 0, 232, 11, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 137, 10, 0, 0, - 246, 11, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 138, 10, 0, 0, 8, 12, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 104, 10, 0, 0, 35, 12, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 98, 10, 0, 0, 48, 12, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 139, 10, 0, 0, 62, 12, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 100, 10, 0, 0, 75, 12, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 102, 12, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 140, 10, 0, 0, - 129, 12, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 141, 10, 0, 0, 142, 12, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 142, 10, 0, 0, 156, 12, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 143, 10, 0, 0, 174, 12, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 144, 10, 0, 0, 190, 12, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 145, 10, 0, 0, 208, 12, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 146, 10, 0, 0, 221, 12, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 147, 10, - 0, 0, 234, 12, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 247, 12, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 148, 10, 0, 0, 5, 13, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 149, 10, 0, 0, 23, 13, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 146, 10, 0, 0, 37, 13, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 150, 10, 0, 0, 55, 13, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 9, 0, 0, 0, 69, 13, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 151, 10, 0, - 0, 87, 13, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 146, 10, 0, 0, 100, 13, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 183, 2, 0, 0, 114, 13, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 152, 10, 0, 0, 132, 13, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 104, 10, 0, 0, 145, 13, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 67, 10, 0, 0, 158, 13, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 187, 15, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 190, 10, - 0, 0, 197, 15, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 225, 6, 0, 0, 210, 15, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 185, 10, 0, 0, 224, 15, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 187, 10, 0, 0, 238, 15, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 188, 10, 0, 0, 252, 15, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 189, 10, 0, 0, 16, - 16, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 186, 10, 0, 0, 25, 16, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, - 2, 0, 0, 38, 16, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 3, 0, 0, 100, 16, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 195, 10, 0, 0, 109, 16, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 81, 7, 0, 0, 122, 16, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 160, 2, 0, 0, 135, 16, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 155, 3, 0, 0, 148, 16, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, 4, 0, 0, 161, 16, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 3, 0, - 0, 192, 16, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 194, 10, 0, 0, 201, 16, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 193, 10, 0, 0, 214, 16, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 4, 0, 0, 62, 17, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 99, 11, 0, 0, 72, 17, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 199, 10, 0, 0, 85, 17, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 200, 10, 0, 0, 98, 17, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 192, 9, 0, 0, - 111, 17, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 110, 3, 0, 0, 124, 17, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 56, 4, 0, 0, 137, 17, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 30, 11, 0, 0, 150, 17, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 31, 11, 0, 0, 163, 17, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 32, 11, 0, 0, 176, 17, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 33, 11, 0, 0, 189, 17, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 34, 11, 0, 0, - 202, 17, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 38, 11, 0, 0, 215, 17, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 39, 11, 0, 0, 228, 17, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 40, 11, 0, 0, 242, 17, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 222, 9, 0, 0, 0, 18, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 223, 9, 0, 0, 14, 18, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 42, 11, 0, 0, 28, 18, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 43, 11, 0, 0, 42, - 18, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 44, 11, 0, 0, 56, 18, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 45, 11, - 0, 0, 70, 18, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 46, 11, 0, 0, 84, 18, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 47, 11, 0, 0, 98, 18, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 48, 11, 0, 0, 112, 18, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 49, 11, 0, 0, 126, 18, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 50, 11, 0, 0, 140, 18, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 51, 11, 0, 0, 154, 18, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 67, 11, 0, 0, - 168, 18, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 222, 10, 0, 0, 182, 18, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 73, 11, 0, 0, 196, 18, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 79, 11, 0, 0, 210, 18, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 83, 11, 0, 0, 229, 18, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 84, 11, 0, 0, 242, 18, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 85, 11, 0, 0, 255, 18, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 86, 11, 0, 0, - 13, 19, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 87, 11, 0, 0, 27, 19, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 88, - 11, 0, 0, 41, 19, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 89, 11, 0, 0, 55, 19, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 90, 11, 0, 0, 69, 19, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 91, 11, 0, 0, 83, 19, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 92, 11, 0, 0, 97, 19, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 93, 11, 0, 0, 111, 19, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 94, 11, 0, 0, 125, 19, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 95, 11, 0, 0, - 139, 19, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 96, 11, 0, 0, 153, 19, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 97, 11, 0, 0, 167, 19, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 94, 10, 0, 0, 192, 19, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 234, 10, 0, 0, 201, 19, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 201, 10, 0, 0, 214, 19, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 220, 10, 0, 0, 227, 19, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 229, 10, 0, - 0, 240, 19, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 230, 10, 0, 0, 253, 19, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 231, 10, 0, 0, 10, 20, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 232, 10, 0, 0, 23, 20, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 233, 10, 0, 0, 68, 20, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 219, 10, 0, 0, 77, 20, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 166, 2, 0, 0, 90, 20, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 202, 10, 0, 0, - 103, 20, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 203, 10, 0, 0, 116, 20, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 204, 10, 0, 0, 157, 20, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 205, 10, 0, 0, 170, 20, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 206, 10, 0, 0, 183, 20, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 207, 10, 0, 0, 196, 20, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 208, 10, 0, 0, 209, 20, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 209, 10, - 0, 0, 223, 20, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 210, 10, 0, 0, 9, 21, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 211, 10, 0, 0, 22, 21, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 212, 10, 0, 0, 35, 21, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 213, 10, 0, 0, 48, 21, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 214, 10, 0, 0, 61, 21, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 215, 10, 0, 0, 75, 21, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 216, 10, 0, - 0, 89, 21, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 217, 10, 0, 0, 102, 21, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 218, 10, 0, 0, 243, 21, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 228, 10, 0, 0, 252, 21, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 2, 10, 0, 0, 23, 22, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 221, 10, 0, 0, 50, 22, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 10, 0, 0, 63, 22, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 3, 10, 0, 0, - 78, 22, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 222, 10, 0, 0, 97, 22, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 227, 10, 0, 0, 107, 22, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 232, 4, 0, 0, 120, 22, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 223, 10, 0, 0, 133, 22, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 224, 10, 0, 0, 147, 22, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 225, 10, 0, 0, 161, 22, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 226, 10, 0, - 0, 83, 23, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 29, 11, 0, 0, 92, 23, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 235, 10, 0, 0, 105, 23, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 199, 10, 0, 0, 118, 23, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 200, 10, 0, 0, 131, 23, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 157, 2, 0, 0, 144, 23, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 28, 11, 0, 0, 158, 23, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 27, 11, 0, - 0, 167, 23, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 236, 10, 0, 0, 180, 23, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 160, 3, 0, 0, 193, 23, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 16, 11, 0, 0, 206, 23, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 199, 10, 0, 0, 219, 23, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 17, 11, 0, 0, 232, 23, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 18, 11, 0, 0, 245, 23, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 19, 11, 0, - 0, 2, 24, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 20, 11, 0, 0, 15, 24, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 21, 11, 0, 0, 28, 24, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 22, 11, 0, 0, 41, 24, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 26, 11, 0, 0, 72, 24, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 15, 11, 0, 0, 82, 24, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 211, 8, 0, 0, 95, 24, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 5, 11, 0, 0, 109, - 24, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 11, 0, 0, 123, 24, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 244, - 10, 0, 0, 137, 24, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 6, 11, 0, 0, 151, 24, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 7, 11, 0, 0, 165, 24, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 8, 11, 0, 0, 179, 24, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 9, 11, 0, 0, 193, 24, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 31, 3, 0, 0, 207, 24, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 11, 11, 0, 0, 221, 24, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 241, 4, 0, - 0, 248, 24, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 4, 11, 0, 0, 1, 25, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 9, 0, 0, 0, 14, 25, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 217, 9, 0, 0, 41, 25, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 237, 10, 0, 0, 68, 25, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 238, 10, 0, 0, 81, 25, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 239, 10, 0, 0, 109, 25, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 10, 0, 0, 122, - 25, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 3, 10, 0, 0, 136, 25, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 240, - 10, 0, 0, 149, 25, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 241, 10, 0, 0, 167, 25, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 242, 10, 0, 0, 180, 25, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 243, 10, 0, 0, 194, 25, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 244, 10, 0, 0, 208, 25, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 123, 4, 0, 0, - 221, 25, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 245, 10, 0, 0, 234, 25, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 246, 10, 0, 0, 247, 25, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 248, 10, 0, 0, 4, 26, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 249, 10, 0, 0, 17, 26, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 250, 10, 0, 0, 30, 26, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 251, 10, 0, 0, 43, 26, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 252, 10, 0, 0, - 56, 26, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 253, 10, 0, 0, 69, 26, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 254, 10, 0, 0, 82, 26, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 255, 10, 0, 0, 95, 26, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 160, 3, 0, 0, 108, 26, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 11, 0, 0, 121, 26, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 1, 11, 0, 0, 134, 26, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 2, 11, 0, 0, 147, - 26, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 3, 11, 0, 0, 161, 26, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 247, - 10, 0, 0, 170, 26, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 25, 5, 0, 0, 183, 26, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 60, 8, 0, 0, 207, 26, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 10, 11, 0, 0, 216, 26, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 123, 4, 0, 0, 229, 26, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 199, 10, 0, 0, 248, - 26, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 14, 11, 0, 0, 1, 27, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 12, 11, - 0, 0, 14, 27, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 13, 11, 0, 0, 38, 27, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 25, 11, 0, 0, 47, 27, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 23, 11, 0, 0, 60, 27, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 24, 11, 0, 0, 84, 27, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 37, 11, 0, 0, 93, 27, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 173, 2, 0, 0, 106, 27, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 157, 2, 0, 0, - 119, 27, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 35, 11, 0, 0, 132, 27, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 36, 11, 0, 0, 170, 27, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 41, 11, 0, 0, 179, 27, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 0, 10, 0, 0, 192, 27, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 2, 4, 0, 0, 211, 27, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 66, 11, 0, 0, 234, 27, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 52, 11, 0, 0, 247, - 27, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 53, 11, 0, 0, 4, 28, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 54, 11, - 0, 0, 17, 28, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 55, 11, 0, 0, 44, 28, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 56, 11, 0, 0, 57, 28, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 57, 11, 0, 0, 71, 28, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 58, 11, 0, 0, 89, 28, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 2, 10, 0, 0, 130, 28, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 0, 10, 0, 0, 143, 28, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 3, 10, 0, 0, 157, - 28, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 240, 10, 0, 0, 173, 28, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 59, - 11, 0, 0, 186, 28, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 221, 10, 0, 0, 199, 28, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 60, 11, 0, 0, 212, 28, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 61, 11, 0, 0, 225, 28, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 62, 11, 0, 0, 238, 28, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 63, 11, 0, 0, 251, - 28, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 64, 11, 0, 0, 8, 29, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 65, 11, - 0, 0, 32, 29, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 72, 11, 0, 0, 41, 29, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 68, 11, 0, 0, 54, 29, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 69, 11, 0, 0, 67, 29, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 70, 11, 0, 0, 80, 29, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 71, 11, 0, 0, 107, 29, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 78, 11, 0, 0, 116, 29, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 174, 4, 0, 0, - 129, 29, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 74, 11, 0, 0, 142, 29, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 227, 9, 0, 0, 155, 29, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 11, 0, 0, 168, 29, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 46, 10, 0, 0, 181, 29, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 76, 11, 0, 0, 194, 29, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 77, 11, 0, 0, 220, 29, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 82, 11, 0, 0, - 229, 29, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 80, 11, 0, 0, 242, 29, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 81, 11, 0, 0, 4, 30, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 98, 11, 0, 0, 27, 30, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 110, 11, 0, 0, 36, 30, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 7, 9, 0, 0, 49, 30, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 104, 11, 0, 0, 62, 30, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 107, 11, 0, 0, 75, 30, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 109, 11, 0, 0, 93, 30, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 106, 11, - 0, 0, 127, 30, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 105, 11, 0, 0, 136, 30, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 225, 6, 0, 0, 154, 30, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 108, 11, 0, 0, 167, 30, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 59, 12, 0, 0, 177, 30, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 114, 5, 0, 0, 190, 30, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 123, 4, 0, 0, 203, 30, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 117, 11, - 0, 0, 231, 30, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 131, 11, 0, 0, 244, 30, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 132, 11, 0, 0, 2, 31, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 133, 11, 0, 0, 16, 31, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 134, 11, 0, 0, 30, 31, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 135, 11, 0, 0, 44, 31, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 136, 11, 0, 0, 58, 31, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 137, 11, - 0, 0, 72, 31, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 144, 11, 0, 0, 86, 31, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 145, 11, 0, 0, 100, 31, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 146, 11, 0, 0, 114, 31, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 147, 11, 0, 0, 128, 31, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 148, 11, 0, 0, 142, - 31, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 246, 5, 0, 0, 156, 31, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 149, - 11, 0, 0, 170, 31, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 150, 11, 0, 0, 184, 31, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 151, 11, 0, 0, 198, 31, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 152, 11, 0, 0, 212, 31, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 162, 11, 0, 0, 226, 31, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 163, 11, 0, 0, - 240, 31, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 164, 11, 0, 0, 254, 31, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 165, 11, 0, 0, 12, 32, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 166, 11, 0, 0, 26, 32, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 167, 11, 0, 0, 40, 32, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 169, 11, 0, 0, 54, 32, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 173, 11, 0, 0, 68, 32, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 174, 11, 0, 0, - 82, 32, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 175, 11, 0, 0, 96, 32, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 176, 11, 0, 0, 110, 32, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 177, 11, 0, 0, 124, 32, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 178, 11, 0, 0, 138, 32, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 179, 11, 0, 0, 152, 32, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 180, 11, 0, 0, 166, 32, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 11, - 0, 0, 180, 32, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 184, 11, 0, 0, 194, 32, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 185, 11, 0, 0, 208, 32, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 186, 11, 0, 0, 222, 32, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 187, 11, 0, 0, 236, 32, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 193, 11, 0, 0, - 250, 32, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 194, 11, 0, 0, 8, 33, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 203, 11, 0, 0, 22, 33, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 210, 11, 0, 0, 36, 33, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 211, 11, 0, 0, 50, 33, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 212, 11, 0, 0, 64, 33, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 217, 11, 0, 0, 79, 33, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 116, 11, 0, 0, - 88, 33, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 123, 4, 0, 0, 101, 33, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 30, 10, 0, 0, 115, 33, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 130, 11, 0, 0, 124, 33, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 16, 4, 0, 0, 137, 33, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 118, 11, 0, 0, 150, 33, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 119, 11, 0, 0, 163, 33, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 120, 11, 0, 0, - 176, 33, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 121, 11, 0, 0, 189, 33, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 122, 11, 0, 0, 202, 33, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 123, 11, 0, 0, 215, 33, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 124, 11, 0, 0, 228, 33, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 125, 11, 0, 0, 241, 33, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 126, 11, 0, 0, 254, 33, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 127, 11, - 0, 0, 11, 34, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 128, 11, 0, 0, 24, 34, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 129, 11, 0, 0, 37, 34, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 3, 0, 0, 56, 34, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 137, 11, 0, 0, 65, 34, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 138, 11, 0, 0, 78, 34, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 139, 11, 0, 0, 91, 34, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 140, 11, 0, - 0, 104, 34, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 141, 11, 0, 0, 117, 34, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 142, 11, 0, 0, 130, 34, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 8, 0, 0, 0, 143, 34, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 143, 11, 0, 0, 156, 34, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 43, 6, 0, 0, 170, 34, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 161, 11, 0, 0, 179, 34, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 153, 11, 0, - 0, 192, 34, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 11, 0, 0, 211, 34, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 159, 11, 0, 0, 220, 34, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 11, 0, 0, 233, 34, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 187, 3, 0, 0, 246, 34, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 189, 6, 0, 0, 16, 35, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 158, 11, 0, 0, 25, 35, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 155, 11, - 0, 0, 38, 35, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 157, 11, 0, 0, 57, 35, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 156, 11, 0, 0, 62, 35, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 168, 11, 0, 0, 71, 35, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 146, 4, 0, 0, 85, 35, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 172, 11, 0, 0, 95, 35, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 173, 2, 0, 0, 108, 35, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 8, 0, 0, 0, - 122, 35, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 170, 11, 0, 0, 136, 35, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 171, 11, 0, 0, 192, 35, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 182, 11, 0, 0, 201, 35, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 118, 3, 0, 0, 214, 35, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 115, 11, 0, 0, 227, 35, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 181, 11, 0, 0, 254, 35, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 2, - 0, 0, 11, 36, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, 4, 0, 0, 31, 36, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 192, 11, 0, 0, 41, 36, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 173, 2, 0, 0, 54, 36, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 8, 0, 0, 0, 68, 36, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 188, 11, 0, 0, 82, 36, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 189, 11, 0, 0, 96, 36, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 190, 11, 0, 0, - 110, 36, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 191, 11, 0, 0, 125, 36, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 202, 11, 0, 0, 134, 36, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 3, 0, 0, 147, 36, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 195, 11, 0, 0, 160, 36, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 198, 11, 0, 0, 173, 36, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 199, 11, 0, 0, 186, 36, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 200, 11, 0, - 0, 199, 36, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 201, 11, 0, 0, 213, 36, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 197, 11, 0, 0, 222, 36, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 8, 0, 0, 0, 235, 36, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 196, 11, 0, 0, 248, 36, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 52, 3, 0, 0, 18, 37, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 209, 11, 0, 0, 27, 37, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 204, 11, 0, - 0, 40, 37, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 205, 11, 0, 0, 53, 37, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 206, 11, 0, 0, 66, 37, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 51, 6, 0, 0, 80, 37, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 208, 11, 0, 0, 89, 37, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 209, 9, 0, 0, 102, 37, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 207, 11, 0, 0, 116, 37, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 216, 11, 0, 0, - 125, 37, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 213, 11, 0, 0, 138, 37, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 214, 11, 0, 0, 151, 37, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 215, 11, 0, 0, 182, 37, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 58, 12, 0, 0, 192, 37, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 218, 11, 0, 0, 205, 37, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 46, 12, 0, 0, 218, 37, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 47, 12, 0, - 0, 231, 37, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 48, 12, 0, 0, 245, 37, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 49, 12, 0, 0, 3, 38, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 53, 12, 0, 0, 17, 38, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 55, 12, 0, 0, 31, 38, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 56, 12, 0, 0, 45, 38, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 57, 12, 0, 0, 59, 38, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 115, 11, 0, 0, - 74, 38, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 218, 11, 0, 0, 83, 38, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 219, 11, 0, 0, 96, 38, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 220, 11, 0, 0, 109, 38, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 221, 11, 0, 0, 122, 38, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 222, 11, 0, 0, 135, 38, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 223, 11, 0, 0, 148, 38, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 224, 11, 0, - 0, 161, 38, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 174, 38, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 225, 11, 0, 0, 205, 38, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 45, 12, 0, 0, 215, 38, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 226, 11, 0, 0, 228, 38, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 16, 12, 0, 0, 242, 38, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 21, 12, 0, 0, 0, 39, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 22, 12, 0, - 0, 14, 39, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 23, 12, 0, 0, 28, 39, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 24, 12, 0, 0, 42, 39, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 25, 12, 0, 0, 56, 39, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 26, 12, 0, 0, 70, 39, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 27, 12, 0, 0, 84, 39, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 28, 12, 0, 0, 98, 39, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 29, 12, 0, 0, - 112, 39, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 30, 12, 0, 0, 126, 39, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 31, 12, 0, 0, 140, 39, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 32, 12, 0, 0, 154, 39, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 33, 12, 0, 0, 168, 39, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 34, 12, 0, 0, 182, 39, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 35, 12, 0, 0, 196, 39, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 36, 12, 0, 0, - 210, 39, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 37, 12, 0, 0, 224, 39, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 38, 12, 0, 0, 238, 39, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, 12, 0, 0, 252, 39, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 40, 12, 0, 0, 10, 40, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 167, 11, 0, 0, 24, 40, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 212, 11, 0, 0, 38, 40, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 41, 12, 0, 0, - 52, 40, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 66, 40, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 184, 11, 0, 0, 80, 40, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 42, 12, 0, 0, 94, 40, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 14, 12, 0, 0, 121, 40, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 15, 12, 0, 0, 131, 40, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 227, 11, 0, 0, 144, 40, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 228, 11, 0, 0, - 157, 40, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 229, 11, 0, 0, 170, 40, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 230, 11, 0, 0, 183, 40, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 126, 4, 0, 0, 196, 40, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 231, 11, 0, 0, 209, 40, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 232, 11, 0, 0, 222, 40, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 236, 11, 0, 0, 235, 40, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 244, 11, 0, - 0, 248, 40, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 245, 11, 0, 0, 5, 41, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 246, 11, 0, 0, 18, 41, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 247, 11, 0, 0, 31, 41, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 248, 11, 0, 0, 44, 41, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 249, 11, 0, 0, 57, 41, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 250, 11, 0, 0, 70, 41, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 251, 11, 0, 0, - 83, 41, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 2, 0, 0, 96, 41, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 252, 11, 0, 0, 109, 41, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 253, 11, 0, 0, 122, 41, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 255, 11, 0, 0, 135, 41, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 167, 11, 0, 0, 149, 41, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 1, 12, 0, 0, 163, 41, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, - 0, 177, 41, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 3, 0, 0, 191, 41, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 184, 11, 0, 0, 205, 41, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 3, 12, 0, 0, 219, 41, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 4, 12, 0, 0, 233, 41, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 5, 12, 0, 0, 247, 41, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 6, 12, 0, 0, 5, 42, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 7, 12, 0, 0, 19, - 42, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 8, 12, 0, 0, 33, 42, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 9, 12, - 0, 0, 47, 42, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 10, 12, 0, 0, 61, 42, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 11, 12, 0, 0, 75, 42, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 12, 12, 0, 0, 89, 42, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 13, 12, 0, 0, 103, 42, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 14, 12, 0, 0, 117, 42, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 242, 11, 0, 0, 161, 42, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 235, 11, 0, 0, - 171, 42, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 5, 3, 0, 0, 184, 42, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 120, 11, 0, 0, 197, 42, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 69, 10, 0, 0, 210, 42, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 233, 11, 0, 0, 223, 42, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 234, 11, 0, 0, 236, 42, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 219, 11, 0, 0, 11, 43, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 243, 11, 0, - 0, 20, 43, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 237, 11, 0, 0, 33, 43, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 241, 11, 0, 0, 46, 43, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 242, 11, 0, 0, 76, 43, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 240, 11, 0, 0, 88, 43, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 239, 11, 0, 0, 96, 43, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 238, 11, 0, 0, 119, 43, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 254, 11, 0, 0, - 132, 43, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 51, 3, 0, 0, 145, 43, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 70, 3, 0, 0, 159, 43, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 12, 0, 0, 168, 43, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 146, 4, 0, 0, 194, 43, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 1, 12, 0, 0, 203, 43, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 38, 11, 0, 0, 216, 43, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 2, 12, 0, 0, 22, - 44, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 20, 12, 0, 0, 32, 44, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 17, 12, - 0, 0, 58, 44, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 19, 12, 0, 0, 67, 44, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 15, 12, 0, 0, 80, 44, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 18, 12, 0, 0, 104, 44, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 44, 12, 0, 0, 113, 44, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 241, 11, 0, 0, 126, 44, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 43, 12, 0, 0, 169, 44, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 46, 12, 0, - 0, 179, 44, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 173, 2, 0, 0, 192, 44, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 188, 11, 0, 0, 219, 44, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 47, 12, 0, 0, 229, 44, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 173, 2, 0, 0, 242, 44, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 170, 11, 0, 0, 13, 45, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 52, 12, 0, 0, 22, 45, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 50, 12, 0, 0, - 35, 45, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 51, 12, 0, 0, 54, 45, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 53, - 12, 0, 0, 63, 45, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, 4, 0, 0, 76, 45, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 54, 12, 0, 0, 89, 45, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 225, 6, 0, 0, 113, 45, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 74, 12, 0, 0, 123, 45, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 69, 12, 0, 0, 136, 45, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 73, 12, 0, 0, 164, 45, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 72, 12, 0, - 0, 173, 45, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 12, 0, 0, 186, 45, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 71, 12, 0, 0, 199, 45, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 219, 9, 0, 0, 223, 45, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 77, 12, 0, 0, 232, 45, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 76, 12, 0, 0, 43, 46, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 96, 12, 0, 0, 52, 46, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 192, 9, 0, 0, - 65, 46, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 82, 12, 0, 0, 78, 46, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 83, - 12, 0, 0, 91, 46, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 91, 12, 0, 0, 104, 46, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 92, 12, 0, 0, 117, 46, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 93, 12, 0, 0, 130, 46, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 94, 12, 0, 0, 143, 46, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 95, 12, 0, 0, 156, - 46, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 206, 9, 0, 0, 175, 46, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 90, - 12, 0, 0, 184, 46, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 110, 3, 0, 0, 197, 46, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 89, 12, 0, 0, 210, 46, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 159, 5, 0, 0, 234, 46, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 88, 12, 0, 0, 243, 46, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 84, 12, 0, 0, 0, - 47, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 85, 12, 0, 0, 13, 47, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 86, 12, - 0, 0, 26, 47, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 87, 12, 0, 0, 39, 47, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 143, 6, 0, 0, 52, 47, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 187, 8, 0, 0, 65, 47, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 239, 2, 0, 0, 206, 47, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 98, 12, 0, 0, 215, 47, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 68, 11, 0, 0, 228, 47, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 97, 12, 0, 0, - 247, 47, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 102, 12, 0, 0, 0, 48, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 100, 12, 0, 0, 13, 48, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 101, 12, 0, 0, 42, 48, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 110, 12, 0, 0, 51, 48, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 108, 12, 0, 0, 64, 48, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 109, 12, 0, 0, 77, 48, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 169, 6, 0, 0, - 96, 48, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 117, 12, 0, 0, 105, 48, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 62, 3, 0, 0, 118, 48, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 164, 3, 0, 0, 137, 48, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 116, 12, 0, 0, 146, 48, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 78, 7, 0, 0, 159, 48, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 113, 12, 0, 0, 172, 48, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 114, 12, 0, 0, - 185, 48, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 115, 12, 0, 0, 240, 48, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 127, 12, 0, 0, 7, 49, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 169, 3, 0, 0, 20, 49, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 121, 12, 0, 0, 34, 49, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 225, 6, 0, 0, 47, 49, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 114, 3, 0, 0, 60, 49, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 125, 12, 0, 0, - 73, 49, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 126, 12, 0, 0, 86, 49, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 126, 4, 0, 0, 99, 49, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, 4, 0, 0, 118, 49, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 120, 12, 0, 0, 127, 49, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, 4, 0, 0, 140, 49, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 154, 4, 0, 0, 159, 49, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 122, 12, 0, 0, - 169, 49, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 225, 6, 0, 0, 182, 49, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 70, 3, 0, 0, 196, 49, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 213, 4, 0, 0, 210, 49, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 160, 2, 0, 0, 225, 49, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 124, 12, 0, 0, 234, 49, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 123, 12, 0, 0, 247, 49, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 100, 10, 0, - 0, 29, 50, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 140, 12, 0, 0, 38, 50, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 145, 6, 0, 0, 51, 50, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 137, 12, 0, 0, 64, 50, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 138, 12, 0, 0, 77, 50, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 139, 12, 0, 0, 108, 50, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 199, 12, 0, 0, 117, 50, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 143, 12, 0, - 0, 130, 50, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 144, 12, 0, 0, 143, 50, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 145, 12, 0, 0, 156, 50, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 146, 12, 0, 0, 169, 50, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 147, 12, 0, 0, 182, 50, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 148, 12, 0, 0, 195, - 50, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 149, 12, 0, 0, 208, 50, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 150, - 12, 0, 0, 221, 50, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 151, 12, 0, 0, 234, 50, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 175, 12, 0, 0, 247, 50, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 176, 12, 0, 0, 4, 51, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 177, 12, 0, 0, 17, 51, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 178, 12, 0, 0, 30, - 51, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 179, 12, 0, 0, 43, 51, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 180, - 12, 0, 0, 56, 51, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 181, 12, 0, 0, 69, 51, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 174, 3, 0, 0, 82, 51, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 182, 12, 0, 0, 95, 51, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 171, 7, 0, 0, 111, 51, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 12, 0, 0, 127, - 51, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 184, 12, 0, 0, 143, 51, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 123, - 4, 0, 0, 156, 51, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 2, 0, 0, 169, 51, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 185, 12, 0, 0, 182, 51, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 213, 4, 0, 0, 195, 51, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 186, 12, 0, 0, 208, 51, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 187, 12, 0, 0, - 221, 51, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 188, 12, 0, 0, 234, 51, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 197, 12, 0, 0, 247, 51, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 198, 12, 0, 0, 108, 52, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 174, 12, 0, 0, 117, 52, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 152, 12, 0, 0, 130, 52, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 153, 12, 0, 0, 143, 52, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 12, - 0, 0, 156, 52, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 155, 12, 0, 0, 169, 52, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 156, 12, 0, 0, 182, 52, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 157, 12, 0, 0, 195, 52, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 173, 12, 0, 0, 214, 52, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 172, 12, 0, 0, - 224, 52, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 251, 5, 0, 0, 237, 52, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 115, 4, 0, 0, 250, 52, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 158, 12, 0, 0, 7, 53, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 159, 12, 0, 0, 20, 53, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 12, 0, 0, 33, 53, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 27, 5, 0, 0, 46, 53, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 12, 0, 0, 59, - 53, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 161, 12, 0, 0, 72, 53, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 162, - 12, 0, 0, 85, 53, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 163, 12, 0, 0, 98, 53, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 164, 12, 0, 0, 112, 53, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 165, 12, 0, 0, 126, 53, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 156, 2, 0, 0, 140, 53, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 166, 12, 0, 0, - 154, 53, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 167, 12, 0, 0, 168, 53, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 168, 12, 0, 0, 182, 53, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 169, 12, 0, 0, 196, 53, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 170, 12, 0, 0, 210, 53, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 171, 12, 0, 0, 224, 53, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 153, 7, 0, 0, 238, 53, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 167, 2, 0, - 0, 72, 54, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 196, 12, 0, 0, 81, 54, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 154, 2, 0, 0, 94, 54, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 188, 3, 0, 0, 107, 54, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 189, 12, 0, 0, 120, 54, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 133, 54, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 190, 12, 0, 0, 146, 54, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 142, 12, 0, - 0, 159, 54, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 126, 4, 0, 0, 172, 54, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 191, 12, 0, 0, 185, 54, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 158, 5, 0, 0, 198, 54, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 174, 3, 0, 0, 211, 54, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 192, 12, 0, 0, 224, 54, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 193, 12, 0, 0, 237, 54, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 209, 5, - 0, 0, 250, 54, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 210, 5, 0, 0, 7, 55, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 211, 5, 0, 0, 20, 55, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 212, 5, 0, 0, 33, 55, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 194, 12, 0, 0, 46, 55, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 195, 12, 0, 0, 59, 55, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 191, 3, 0, 0, 72, 55, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 214, 5, 0, 0, - 185, 55, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 205, 12, 0, 0, 194, 55, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 43, 6, 0, 0, 207, 55, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, 4, 0, 0, 220, 55, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 45, 6, 0, 0, 249, 55, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 211, 12, 0, 0, 2, 56, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 116, 4, 0, 0, 15, 56, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 113, 5, 0, 0, 28, - 56, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 3, 0, 0, 41, 56, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 123, 4, - 0, 0, 54, 56, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 81, 6, 0, 0, 68, 56, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 212, 12, 0, 0, 77, 56, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 3, 0, 0, 90, 56, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 196, 11, 0, 0, 103, 56, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 213, 12, 0, 0, 116, 56, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 214, 12, 0, 0, 129, 56, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 104, 4, 0, - 0, 142, 56, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 215, 12, 0, 0, 155, 56, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 209, 12, 0, 0, 168, 56, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 216, 12, 0, 0, 181, 56, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 217, 12, 0, 0, 194, 56, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 198, 11, 0, 0, 207, - 56, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 218, 12, 0, 0, 220, 56, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 219, - 12, 0, 0, 233, 56, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 220, 12, 0, 0, 246, 56, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 221, 12, 0, 0, 3, 57, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 222, 12, 0, 0, 41, 57, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 227, 12, 0, 0, 50, 57, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 25, 5, 0, 0, 66, - 57, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 225, 12, 0, 0, 82, 57, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 126, - 5, 0, 0, 98, 57, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 226, 12, 0, 0, 115, 57, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 251, 12, 0, 0, 125, 57, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 126, 5, 0, 0, 138, 57, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 239, 12, 0, 0, 152, 57, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 240, 12, 0, 0, - 166, 57, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 241, 12, 0, 0, 185, 57, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 45, 5, 0, 0, 198, 57, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 157, 2, 0, 0, 212, 57, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 242, 12, 0, 0, 226, 57, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 243, 12, 0, 0, 240, 57, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 244, 12, 0, 0, 254, 57, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 245, 12, 0, - 0, 12, 58, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 246, 12, 0, 0, 26, 58, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 247, 12, 0, 0, 40, 58, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 248, 12, 0, 0, 54, 58, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 249, 12, 0, 0, 68, 58, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 250, 12, 0, 0, 83, 58, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 238, 12, 0, 0, 93, 58, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 117, 9, 0, 0, - 106, 58, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 44, 4, 0, 0, 132, 58, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 5, - 13, 0, 0, 141, 58, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 213, 4, 0, 0, 154, 58, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 253, 12, 0, 0, 167, 58, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 254, 12, 0, 0, 185, 58, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 45, 5, 0, 0, 198, 58, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 157, 2, 0, 0, - 212, 58, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 255, 12, 0, 0, 225, 58, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 244, 12, 0, 0, 238, 58, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 13, 0, 0, 251, 58, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 1, 13, 0, 0, 8, 59, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 2, 13, 0, 0, 21, 59, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 3, 13, 0, 0, 34, 59, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 4, 13, 0, 0, 53, 59, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 48, 13, 0, 0, 63, 59, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 115, 4, 0, - 0, 76, 59, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 19, 13, 0, 0, 89, 59, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 39, 4, 0, 0, 102, 59, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 20, 13, 0, 0, 115, 59, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 134, 6, 0, 0, 128, 59, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 21, 13, 0, 0, 141, 59, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 22, 13, 0, 0, 154, 59, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 23, 13, 0, 0, - 167, 59, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 24, 13, 0, 0, 180, 59, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 25, 13, 0, 0, 193, 59, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 28, 13, 0, 0, 206, 59, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 32, 13, 0, 0, 219, 59, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 33, 13, 0, 0, 232, 59, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 35, 13, 0, 0, 246, 59, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 36, 13, 0, 0, 4, - 60, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 37, 13, 0, 0, 18, 60, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 38, 13, - 0, 0, 32, 60, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, 13, 0, 0, 46, 60, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 40, 13, 0, 0, 60, 60, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 41, 13, 0, 0, 74, 60, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 45, 13, 0, 0, 88, 60, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 46, 13, 0, 0, 103, 60, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 25, 13, 0, 0, 112, 60, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 3, 0, 0, - 125, 60, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 26, 13, 0, 0, 138, 60, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 27, 13, 0, 0, 152, 60, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 28, 13, 0, 0, 161, 60, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 70, 3, 0, 0, 174, 60, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 187, 3, 0, 0, 187, 60, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 29, 13, 0, 0, 200, 60, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 30, 13, 0, 0, - 219, 60, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 31, 13, 0, 0, 228, 60, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 252, 12, 0, 0, 241, 60, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 251, 4, 0, 0, 254, 60, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 24, 11, 0, 0, 12, 61, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 34, 13, 0, 0, 21, 61, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 126, 4, 0, 0, 34, 61, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 166, 2, 0, 0, 65, - 61, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 41, 13, 0, 0, 75, 61, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 42, 13, - 0, 0, 88, 61, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 44, 13, 0, 0, 115, 61, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 43, 13, 0, 0, 124, 61, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 5, 3, 0, 0, 137, 61, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 60, 8, 0, 0, 156, 61, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 47, 13, 0, 0, 165, 61, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 43, 8, 0, 0, 178, 61, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 157, 2, 0, 0, - 191, 61, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, 4, 0, 0, 210, 61, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 97, 13, 0, 0, 220, 61, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 3, 0, 0, 233, 61, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 44, 7, 0, 0, 246, 61, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 146, 7, 0, 0, 3, 62, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 60, 13, 0, 0, 16, 62, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 61, 13, 0, 0, 29, - 62, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 62, 13, 0, 0, 42, 62, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 63, 13, - 0, 0, 55, 62, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 64, 13, 0, 0, 68, 62, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 65, 13, 0, 0, 81, 62, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 94, 62, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 232, 4, 0, 0, 107, 62, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 66, 13, 0, 0, 120, 62, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 67, 13, 0, 0, 133, 62, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 68, 13, 0, 0, - 146, 62, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 69, 13, 0, 0, 159, 62, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 70, 13, 0, 0, 172, 62, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 71, 13, 0, 0, 185, 62, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 72, 13, 0, 0, 198, 62, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 73, 13, 0, 0, 211, 62, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 74, 13, 0, 0, 224, 62, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 13, 0, 0, - 237, 62, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 76, 13, 0, 0, 250, 62, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 77, 13, 0, 0, 7, 63, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 78, 13, 0, 0, 20, 63, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 79, 13, 0, 0, 33, 63, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 80, 13, 0, 0, 46, 63, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 81, 13, 0, 0, 59, 63, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 82, 13, 0, 0, 72, 63, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 83, 13, 0, 0, 85, 63, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 84, 13, 0, - 0, 98, 63, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 85, 13, 0, 0, 111, 63, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 86, 13, 0, 0, 124, 63, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 87, 13, 0, 0, 137, 63, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 88, 13, 0, 0, 150, 63, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 89, 13, 0, 0, 163, 63, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 90, 13, 0, 0, 176, 63, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 91, 13, 0, 0, - 189, 63, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 2, 0, 0, 217, 63, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 188, 3, 0, 0, 230, 63, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, 4, 0, 0, 244, 63, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 92, 13, 0, 0, 2, 64, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 96, 13, 0, 0, 16, 64, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 20, 13, 0, 0, 36, 64, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 59, 13, 0, 0, 45, - 64, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 157, 2, 0, 0, 58, 64, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 30, 10, - 0, 0, 71, 64, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 50, 13, 0, 0, 84, 64, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 51, 13, 0, 0, 97, 64, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 58, 13, 0, 0, 110, 64, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 82, 6, 0, 0, 129, 64, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 57, 13, 0, 0, 138, 64, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 30, 10, 0, 0, 151, 64, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 52, 13, 0, 0, - 164, 64, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 53, 13, 0, 0, 177, 64, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 54, 13, 0, 0, 190, 64, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 55, 13, 0, 0, 203, 64, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 56, 13, 0, 0, 216, 64, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 123, 4, 0, 0, 229, 64, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 82, 6, 0, 0, 4, 65, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 95, 13, 0, 0, 13, - 65, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 30, 10, 0, 0, 26, 65, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 93, 13, - 0, 0, 39, 65, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 94, 13, 0, 0, 53, 65, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 113, 13, 0, 0, 62, 65, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 2, 0, 0, 75, 65, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 107, 13, 0, 0, 88, 65, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 109, 13, 0, 0, 101, 65, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 123, 8, 0, 0, 114, 65, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 51, 6, 0, - 0, 132, 65, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 108, 13, 0, 0, 161, 65, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 112, 13, 0, 0, 170, 65, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 110, 13, 0, 0, 183, 65, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 111, 13, 0, 0, 196, 65, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 55, 6, 0, 0, 210, 65, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 124, 13, 0, 0, 219, 65, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 98, 6, 0, - 0, 233, 65, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 138, 13, 0, 0, 242, 65, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 134, 13, 0, 0, 255, 65, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 135, 13, 0, 0, 12, 66, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 136, 13, 0, 0, 25, 66, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 137, 13, 0, 0, 44, 66, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 184, 13, 0, 0, 53, 66, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 2, 0, 0, - 66, 66, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 145, 4, 0, 0, 79, 66, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 145, 13, 0, 0, 92, 66, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 146, 13, 0, 0, 105, 66, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 183, 2, 0, 0, 118, 66, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 147, 13, 0, 0, 131, 66, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 148, 13, 0, 0, 144, 66, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 149, 13, 0, - 0, 157, 66, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 150, 13, 0, 0, 170, 66, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 182, 13, 0, 0, 183, 66, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 13, 0, 0, 228, 66, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 176, 13, 0, 0, 238, 66, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 151, 13, 0, 0, 254, - 66, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 152, 13, 0, 0, 14, 67, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 153, - 13, 0, 0, 30, 67, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 251, 4, 0, 0, 43, 67, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 154, 13, 0, 0, 56, 67, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 155, 13, 0, 0, 69, 67, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 156, 13, 0, 0, 82, 67, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 157, 13, 0, 0, 95, 67, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 158, 13, 0, 0, 108, 67, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 159, 13, - 0, 0, 121, 67, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 167, 13, 0, 0, 135, 67, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 171, 13, 0, 0, 149, 67, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 173, 13, 0, 0, 163, 67, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 175, 13, 0, 0, 190, 67, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 166, 13, 0, 0, - 199, 67, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 213, 8, 0, 0, 212, 67, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 16, 4, 0, 0, 225, 67, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 13, 0, 0, 238, 67, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 161, 13, 0, 0, 251, 67, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 162, 13, 0, 0, 8, 68, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 163, 13, 0, 0, 21, 68, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 164, 13, 0, 0, - 34, 68, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 165, 13, 0, 0, 65, 68, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 170, 13, 0, 0, 76, 68, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 173, 2, 0, 0, 91, 68, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 168, 13, 0, 0, 106, 68, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 169, 13, 0, 0, 121, 68, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 158, 3, 0, 0, 136, 68, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 152, 7, 0, 0, - 162, 68, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 172, 13, 0, 0, 172, 68, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 174, 13, 0, 0, 183, 68, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 153, 2, 0, 0, 198, 68, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 169, 13, 0, 0, 213, 68, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 158, 3, 0, 0, 234, 68, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 181, 13, 0, 0, 244, 68, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 2, 0, - 0, 1, 69, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 155, 3, 0, 0, 14, 69, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 177, 13, 0, 0, 30, 69, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 59, 9, 0, 0, 43, 69, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 178, 13, 0, 0, 57, 69, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 179, 13, 0, 0, 71, 69, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 82, 6, 0, 0, 85, 69, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 180, 13, 0, 0, - 252, 69, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 208, 13, 0, 0, 5, 70, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 183, 2, 0, 0, 18, 70, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 206, 13, 0, 0, 31, 70, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 10, 13, 0, 0, 45, 70, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 207, 13, 0, 0, 161, 70, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 231, 13, 0, 0, 170, 70, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 226, 13, 0, 0, - 183, 70, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 227, 13, 0, 0, 196, 70, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 228, 13, 0, 0, 209, 70, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 229, 13, 0, 0, 222, 70, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 1, 5, 0, 0, 235, 70, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 111, 5, 0, 0, 248, 70, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 230, 13, 0, 0, 11, 71, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 244, 13, 0, - 0, 20, 71, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 197, 2, 0, 0, 33, 71, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 232, 13, 0, 0, 46, 71, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 233, 13, 0, 0, 59, 71, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 234, 13, 0, 0, 72, 71, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 25, 13, 0, 0, 85, 71, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 235, 13, 0, 0, 98, 71, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 214, 12, 0, 0, - 111, 71, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 236, 13, 0, 0, 124, 71, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 183, 2, 0, 0, 137, 71, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 237, 13, 0, 0, 153, 71, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 238, 13, 0, 0, 169, 71, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 239, 13, 0, 0, 185, 71, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 240, 13, 0, 0, 201, 71, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 241, 13, 0, - 0, 214, 71, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 242, 13, 0, 0, 227, 71, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 243, 13, 0, 0, 251, 71, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 10, 14, 0, 0, 4, 72, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 4, 14, 0, 0, 22, 72, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 5, 14, 0, 0, 35, 72, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 6, 14, 0, 0, 48, 72, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 7, 14, 0, 0, 61, - 72, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 8, 14, 0, 0, 75, 72, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 9, 14, - 0, 0, 94, 72, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 53, 14, 0, 0, 104, 72, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 70, 3, 0, 0, 117, 72, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 13, 14, 0, 0, 130, 72, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 14, 14, 0, 0, 143, 72, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 15, 14, 0, 0, 156, 72, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 16, 14, 0, 0, 169, 72, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 17, 14, 0, 0, - 182, 72, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 18, 14, 0, 0, 195, 72, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 19, 14, 0, 0, 208, 72, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 20, 14, 0, 0, 221, 72, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 21, 14, 0, 0, 234, 72, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 22, 14, 0, 0, 247, 72, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 23, 14, 0, 0, 4, 73, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 24, 14, 0, 0, 17, - 73, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 25, 14, 0, 0, 30, 73, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 26, 14, - 0, 0, 43, 73, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 27, 14, 0, 0, 56, 73, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 28, 14, 0, 0, 69, 73, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 29, 14, 0, 0, 82, 73, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 232, 4, 0, 0, 95, 73, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 30, 14, 0, 0, 108, 73, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 160, 3, 0, 0, 121, 73, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 31, 14, 0, 0, - 134, 73, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 32, 14, 0, 0, 147, 73, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 33, 14, 0, 0, 160, 73, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 34, 14, 0, 0, 173, 73, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 35, 14, 0, 0, 186, 73, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 40, 14, 0, 0, 199, 73, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 41, 14, 0, 0, 212, 73, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 42, 14, 0, 0, - 225, 73, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 43, 14, 0, 0, 238, 73, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 44, 14, 0, 0, 252, 73, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 45, 14, 0, 0, 10, 74, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 46, 14, 0, 0, 24, 74, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 47, 14, 0, 0, 38, 74, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 48, 14, 0, 0, 52, 74, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 52, 14, 0, 0, 67, - 74, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, 14, 0, 0, 76, 74, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 36, 14, - 0, 0, 90, 74, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 38, 14, 0, 0, 99, 74, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 226, 3, 0, 0, 112, 74, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 37, 14, 0, 0, 125, 74, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 155, 3, 0, 0, 151, 74, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 51, 14, 0, 0, 160, 74, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 49, 14, 0, 0, 173, 74, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 50, 14, 0, 0, - 187, 74, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 66, 14, 0, 0, 196, 74, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 67, 14, 0, 0, 209, 74, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 68, 14, 0, 0, 235, 74, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 69, 14, 0, 0, 244, 74, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 8, 0, 0, 0, 1, 75, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 5, 3, 0, 0, 15, 75, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 90, 14, 0, 0, 24, 75, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 91, 8, 0, 0, 37, 75, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 107, 13, 0, - 0, 64, 75, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 91, 14, 0, 0, 82, 75, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 92, 14, 0, 0, 95, 75, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 20, 3, 0, 0, 108, 75, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 183, 2, 0, 0, 121, 75, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 93, 14, 0, 0, 134, 75, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 94, 14, 0, 0, 147, 75, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 95, 14, 0, 0, - 161, 75, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 96, 14, 0, 0, 179, 75, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 218, 7, 0, 0, 192, 75, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 9, 0, 0, 0, 219, 75, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 101, 14, 0, 0, 232, 75, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 104, 14, 0, 0, 246, 75, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 242, 5, 0, 0, 4, 76, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 214, 5, 0, 0, - 22, 76, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 107, 14, 0, 0, 35, 76, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 110, 14, 0, 0, 48, 76, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 111, 14, 0, 0, 61, 76, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 228, 5, 0, 0, 74, 76, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 229, 5, 0, 0, 115, 76, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 100, 14, 0, 0, 124, 76, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 97, 14, 0, 0, - 130, 76, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 98, 14, 0, 0, 136, 76, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 99, 14, 0, 0, 148, 76, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 103, 14, 0, 0, 157, 76, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 228, 5, 0, 0, 170, 76, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 229, 5, 0, 0, 188, 76, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 102, 14, 0, 0, 200, 76, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 106, 14, 0, 0, - 209, 76, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 228, 5, 0, 0, 222, 76, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 229, 5, 0, 0, 240, 76, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 105, 14, 0, 0, 253, 76, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 109, 14, 0, 0, 6, 77, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 133, 10, 0, 0, 19, 77, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 8, 0, 0, 0, 32, 77, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 108, 14, 0, 0, 50, - 77, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 113, 14, 0, 0, 61, 77, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 112, - 14, 0, 0, 73, 77, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 132, 10, 0, 0, 82, 77, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 5, 3, 0, 0, 95, 77, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 232, 4, 0, 0, 108, 77, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 70, 3, 0, 0, 121, 77, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 27, 5, 0, 0, 134, 77, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 121, 14, 0, 0, 147, 77, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 122, 14, - 0, 0, 160, 77, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, 4, 0, 0, 173, 77, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 123, 14, 0, 0, 211, 77, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 166, 14, 0, 0, 220, 77, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 103, 5, 0, 0, 233, 77, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 234, 4, 0, 0, 252, 77, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 165, 14, 0, 0, 5, 78, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 140, 5, 0, - 0, 18, 78, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, 4, 0, 0, 31, 78, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 124, 14, 0, 0, 44, 78, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 125, 14, 0, 0, 57, 78, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 126, 14, 0, 0, 70, 78, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 232, 4, 0, 0, 83, 78, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 160, 3, 0, 0, 96, 78, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 158, 14, 0, 0, - 109, 78, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 221, 4, 0, 0, 122, 78, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 162, 14, 0, 0, 135, 78, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 164, 14, 0, 0, 148, 78, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 234, 4, 0, 0, 167, 78, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 157, 14, 0, 0, 177, 78, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 127, 14, 0, 0, 190, 78, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, - 0, 0, 203, 78, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 132, 14, 0, 0, 216, 78, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 187, 3, 0, 0, 229, 78, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 133, 14, 0, 0, 242, 78, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 134, 14, 0, 0, 255, 78, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 88, 4, 0, 0, 12, 79, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 139, 14, 0, 0, 25, 79, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 140, 14, - 0, 0, 38, 79, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 121, 11, 0, 0, 51, 79, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 118, 11, 0, 0, 64, 79, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 142, 14, 0, 0, 77, 79, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 115, 4, 0, 0, 90, 79, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 143, 14, 0, 0, 103, 79, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 144, 14, 0, 0, 116, 79, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 145, 14, 0, - 0, 129, 79, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 146, 14, 0, 0, 142, 79, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 154, 2, 0, 0, 155, 79, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 2, 0, 0, 168, 79, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 158, 3, 0, 0, 181, 79, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 147, 14, 0, 0, 194, 79, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 148, 14, 0, 0, 207, 79, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 149, 14, - 0, 0, 220, 79, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 150, 14, 0, 0, 233, 79, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 151, 14, 0, 0, 246, 79, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 126, 4, 0, 0, 9, 80, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 130, 14, 0, 0, 18, 80, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 230, 6, 0, 0, 31, 80, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 128, 14, 0, 0, 44, 80, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 87, 4, 0, - 0, 57, 80, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 157, 9, 0, 0, 70, 80, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 70, 3, 0, 0, 88, 80, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 129, 14, 0, 0, 105, 80, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 131, 14, 0, 0, 113, 80, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 138, 14, 0, 0, 122, 80, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 135, 14, 0, 0, 135, 80, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 136, 14, 0, - 0, 148, 80, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 137, 14, 0, 0, 162, 80, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 141, 14, 0, 0, 171, 80, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 146, 4, 0, 0, 202, 80, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 156, 14, 0, 0, 211, 80, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 162, 3, 0, 0, 224, 80, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 152, 14, 0, 0, 237, 80, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 157, 9, - 0, 0, 250, 80, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 153, 14, 0, 0, 7, 81, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 154, 14, 0, 0, 20, 81, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 155, 14, 0, 0, 39, 81, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 161, 14, 0, 0, 48, 81, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 52, 6, 0, 0, 61, 81, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 51, 6, 0, 0, 74, 81, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 97, 3, 0, 0, - 87, 81, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 159, 14, 0, 0, 100, 81, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 160, 14, 0, 0, 131, 81, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 162, 14, 0, 0, 140, 81, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 126, 4, 0, 0, 153, 81, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 234, 4, 0, 0, 166, 81, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 124, 3, 0, 0, 179, 81, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 5, 3, 0, 0, - 192, 81, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 163, 14, 0, 0, 230, 81, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 181, 14, 0, 0, 239, 81, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 182, 14, 0, 0, 252, 81, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 186, 14, 0, 0, 9, 82, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 187, 14, 0, 0, 35, 82, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 185, 14, 0, 0, 44, 82, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 14, 0, - 0, 57, 82, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 184, 14, 0, 0, 71, 82, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 188, 14, 0, 0, 80, 82, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 43, 6, 0, 0, 93, 82, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 97, 6, 0, 0, 112, 82, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 193, 14, 0, 0, 121, 82, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 152, 3, 0, 0, 134, 82, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 100, 5, 0, 0, - 147, 82, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 213, 4, 0, 0, 160, 82, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 194, 14, 0, 0, 173, 82, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 186, 82, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 173, 2, 0, 0, 199, 82, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 33, 6, 0, 0, 212, 82, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 195, 14, 0, 0, 225, 82, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 196, 14, 0, 0, - 238, 82, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 197, 14, 0, 0, 251, 82, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 82, 5, 0, 0, 8, 83, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 198, 14, 0, 0, 21, 83, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 241, 4, 0, 0, 34, 83, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 201, 14, 0, 0, 47, 83, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 154, 2, 0, 0, 60, 83, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 200, 14, 0, 0, 73, - 83, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 202, 14, 0, 0, 86, 83, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 203, - 14, 0, 0, 99, 83, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 204, 14, 0, 0, 112, 83, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 205, 14, 0, 0, 131, 83, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 200, 14, 0, 0, 140, 83, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 202, 4, 0, 0, 153, 83, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 51, 6, 0, 0, - 166, 83, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 2, 0, 0, 179, 83, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 33, 6, 0, 0, 193, 83, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 199, 14, 0, 0, 202, 83, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 107, 13, 0, 0, 215, 83, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 123, 8, 0, 0, 241, 83, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 210, 14, 0, 0, 250, 83, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 207, 14, 0, - 0, 13, 84, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 209, 14, 0, 0, 22, 84, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 118, 3, 0, 0, 35, 84, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 3, 0, 0, 48, 84, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 208, 14, 0, 0, 62, 84, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 213, 14, 0, 0, 71, 84, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 212, 14, 0, 0, 90, 84, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 220, 14, 0, 0, 99, - 84, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 63, 9, 0, 0, 112, 84, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 3, - 0, 0, 125, 84, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 33, 6, 0, 0, 138, 84, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 217, 14, 0, 0, 151, 84, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 218, 14, 0, 0, 164, 84, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 213, 4, 0, 0, 177, 84, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 219, 14, 0, 0, 196, - 84, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 235, 14, 0, 0, 206, 84, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 5, 3, - 0, 0, 219, 84, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 221, 14, 0, 0, 232, 84, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 222, 14, 0, 0, 245, 84, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 223, 14, 0, 0, 2, 85, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 229, 14, 0, 0, 15, 85, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 230, 14, 0, 0, 28, 85, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 231, 14, 0, 0, 41, 85, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 232, 14, - 0, 0, 54, 85, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 233, 14, 0, 0, 67, 85, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 234, 14, 0, 0, 80, 85, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 94, 10, 0, 0, 99, 85, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 228, 14, 0, 0, 108, 85, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 224, 14, 0, 0, 121, 85, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 133, 10, 0, 0, 134, 85, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 225, 14, - 0, 0, 147, 85, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 226, 14, 0, 0, 160, 85, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 227, 14, 0, 0, 173, 85, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, 4, 0, 0, 209, 85, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 42, 16, 0, 0, 218, 85, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 237, 14, 0, 0, 231, - 85, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 78, 6, 0, 0, 244, 85, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 52, 6, - 0, 0, 1, 86, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 100, 5, 0, 0, 14, 86, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 34, 16, 0, 0, 27, 86, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 35, 16, 0, 0, 40, 86, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 36, 16, 0, 0, 53, 86, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 37, 16, 0, 0, 66, 86, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 38, 16, 0, 0, 79, 86, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 53, 6, 0, 0, 92, - 86, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 40, 16, 0, 0, 105, 86, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 41, - 16, 0, 0, 129, 86, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 33, 16, 0, 0, 153, 86, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 31, 3, 0, 0, 166, 86, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 238, 14, 0, 0, 179, 86, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 192, 86, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 254, 14, 0, 0, 208, - 86, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 255, 14, 0, 0, 224, 86, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, - 15, 0, 0, 240, 86, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 1, 15, 0, 0, 0, 87, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 2, 15, 0, 0, 16, 87, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 3, 15, 0, 0, 48, 87, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 4, 15, 0, 0, 61, 87, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 5, 15, 0, 0, 74, 87, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 6, 15, 0, 0, 87, 87, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 33, 15, 0, 0, 100, - 87, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 34, 15, 0, 0, 113, 87, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 35, - 15, 0, 0, 126, 87, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 36, 15, 0, 0, 139, 87, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 52, 15, 0, 0, 152, 87, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 56, 15, 0, 0, 165, 87, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 57, 15, 0, 0, 178, 87, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 58, 15, 0, 0, 191, - 87, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 59, 15, 0, 0, 204, 87, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 200, - 15, 0, 0, 218, 87, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 201, 15, 0, 0, 232, 87, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 202, 15, 0, 0, 246, 87, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 203, 15, 0, 0, 4, 88, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 204, 15, 0, 0, 18, 88, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 205, 15, 0, 0, 32, - 88, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 206, 15, 0, 0, 47, 88, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 207, - 15, 0, 0, 61, 88, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 208, 15, 0, 0, 75, 88, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 209, 15, 0, 0, 89, 88, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 210, 15, 0, 0, 103, 88, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 218, 15, 0, 0, 117, 88, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 219, 15, 0, 0, - 131, 88, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 220, 15, 0, 0, 160, 88, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 221, 15, 0, 0, 173, 88, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 222, 15, 0, 0, 186, 88, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 223, 15, 0, 0, 199, 88, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 179, 9, 0, 0, 212, 88, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 224, 15, 0, 0, 225, 88, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 225, 15, - 0, 0, 238, 88, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 226, 15, 0, 0, 251, 88, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 227, 15, 0, 0, 24, 89, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 228, 15, 0, 0, 37, 89, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 229, 15, 0, 0, 50, 89, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 230, 15, 0, 0, 63, 89, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 231, 15, 0, 0, 76, 89, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 232, 15, - 0, 0, 89, 89, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 233, 15, 0, 0, 103, 89, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 234, 15, 0, 0, 132, 89, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 240, 15, 0, 0, 145, 89, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 241, 15, 0, 0, 158, 89, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 242, 15, 0, 0, - 171, 89, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 243, 15, 0, 0, 184, 89, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 244, 15, 0, 0, 197, 89, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 245, 15, 0, 0, 210, 89, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 247, 15, 0, 0, 223, 89, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 248, 15, 0, 0, 252, 89, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 249, 15, 0, 0, 9, 90, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 23, 16, 0, - 0, 22, 90, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 243, 2, 0, 0, 35, 90, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 25, 16, 0, 0, 48, 90, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 26, 16, 0, 0, 61, 90, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 27, 16, 0, 0, 74, 90, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 28, 16, 0, 0, 87, 90, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 29, 16, 0, 0, 100, 90, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 30, 16, 0, 0, - 113, 90, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 31, 16, 0, 0, 126, 90, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 32, 16, 0, 0, 146, 90, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 253, 14, 0, 0, 156, 90, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 239, 14, 0, 0, 169, 90, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 240, 14, 0, 0, 182, 90, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 241, 14, 0, 0, 196, 90, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 242, 14, 0, - 0, 210, 90, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 243, 14, 0, 0, 224, 90, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 244, 14, 0, 0, 238, 90, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 245, 14, 0, 0, 252, 90, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 246, 14, 0, 0, 10, 91, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 247, 14, 0, 0, 24, 91, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 248, 14, 0, 0, 38, 91, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 249, 14, - 0, 0, 53, 91, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 236, 14, 0, 0, 62, 91, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 56, 4, 0, 0, 75, 91, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 77, 3, 0, 0, 101, 91, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 252, 14, 0, 0, 110, 91, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 250, 14, 0, 0, 123, 91, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 251, 14, 0, 0, 136, 91, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, - 0, 155, 91, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 32, 15, 0, 0, 164, 91, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 7, 15, 0, 0, 177, 91, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 190, 91, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 8, 15, 0, 0, 203, 91, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 133, 10, 0, 0, 230, 91, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 217, 9, 0, 0, 243, 91, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 9, 15, 0, 0, - 15, 92, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 66, 7, 0, 0, 28, 92, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 10, - 15, 0, 0, 42, 92, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 62, 3, 0, 0, 69, 92, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 11, 15, 0, 0, 82, 92, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 13, 15, 0, 0, 95, 92, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 14, 15, 0, 0, 108, 92, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 15, 15, 0, 0, 121, 92, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 16, 15, 0, 0, 134, 92, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 17, 15, 0, 0, - 147, 92, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 18, 15, 0, 0, 160, 92, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 19, 15, 0, 0, 173, 92, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 20, 15, 0, 0, 186, 92, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 120, 10, 0, 0, 199, 92, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 21, 15, 0, 0, 212, 92, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 22, 15, 0, 0, 225, 92, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 23, 15, 0, 0, - 238, 92, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 24, 15, 0, 0, 251, 92, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 25, 15, 0, 0, 8, 93, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 26, 15, 0, 0, 22, 93, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 250, 14, 0, 0, 49, 93, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 27, 15, 0, 0, 62, 93, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 28, 15, 0, 0, 76, 93, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 14, 0, 0, 103, - 93, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 29, 15, 0, 0, 116, 93, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 30, - 15, 0, 0, 130, 93, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 31, 15, 0, 0, 148, 93, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 12, 15, 0, 0, 161, 93, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 51, 15, 0, 0, 170, 93, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 31, 3, 0, 0, 183, 93, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 126, 4, 0, 0, 196, - 93, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 37, 15, 0, 0, 209, 93, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 38, - 15, 0, 0, 222, 93, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 245, 4, 0, 0, 235, 93, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 51, 6, 0, 0, 254, 93, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 50, 15, 0, 0, 7, 94, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 39, 15, 0, 0, 20, 94, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 40, 15, 0, 0, 33, 94, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 103, 5, 0, 0, 46, 94, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 41, 15, 0, - 0, 59, 94, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 31, 3, 0, 0, 72, 94, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 51, 6, 0, 0, 85, 94, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 49, 15, 0, 0, 118, 94, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 48, 15, 0, 0, 143, 94, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 47, 15, 0, 0, 152, 94, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 160, 2, 0, 0, 165, 94, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 207, 9, 0, 0, - 192, 94, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 42, 15, 0, 0, 205, 94, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 144, 3, 0, 0, 218, 94, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 169, 3, 0, 0, 238, 94, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 46, 15, 0, 0, 247, 94, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 224, 10, 0, 0, 4, 95, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 43, 15, 0, 0, 17, 95, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 44, 15, 0, 0, 30, - 95, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 45, 15, 0, 0, 43, 95, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 11, 3, - 0, 0, 69, 95, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 55, 15, 0, 0, 78, 95, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 66, 4, 0, 0, 97, 95, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 54, 15, 0, 0, 106, 95, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 53, 15, 0, 0, 125, 95, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 199, 15, 0, 0, 135, 95, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 60, 15, 0, 0, 148, 95, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 202, 4, 0, 0, - 161, 95, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 193, 15, 0, 0, 174, 95, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 194, 15, 0, 0, 188, 95, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 195, 15, 0, 0, 202, 95, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 196, 15, 0, 0, 216, 95, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 197, 15, 0, 0, 230, 95, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 38, 11, 0, 0, 244, 95, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 198, 15, - 0, 0, 3, 96, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 66, 15, 0, 0, 12, 96, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 61, 15, 0, 0, 25, 96, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 62, 15, 0, 0, 38, 96, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 63, 15, 0, 0, 51, 96, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 64, 15, 0, 0, 64, 96, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 65, 15, 0, 0, 78, 96, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 192, 15, 0, 0, - 87, 96, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 56, 4, 0, 0, 100, 96, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 100, 5, 0, 0, 119, 96, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 191, 15, 0, 0, 142, 96, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 144, 3, 0, 0, 155, 96, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 67, 15, 0, 0, 168, 96, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 214, 5, 0, 0, 181, 96, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 71, 15, 0, 0, - 194, 96, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 234, 2, 0, 0, 207, 96, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 40, 8, 0, 0, 220, 96, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 82, 15, 0, 0, 233, 96, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 227, 13, 0, 0, 246, 96, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 86, 15, 0, 0, 3, 97, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 232, 2, 0, 0, 16, 97, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 91, 15, 0, 0, 29, - 97, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 158, 5, 0, 0, 42, 97, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 225, 2, - 0, 0, 55, 97, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 113, 15, 0, 0, 68, 97, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 115, 15, 0, 0, 81, 97, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 118, 15, 0, 0, 94, 97, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 120, 15, 0, 0, 107, 97, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 124, 15, 0, 0, 120, 97, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 130, 15, 0, 0, 133, 97, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 133, 15, - 0, 0, 146, 97, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 240, 2, 0, 0, 159, 97, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 147, 5, 0, 0, 172, 97, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 167, 15, 0, 0, 185, 97, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 145, 5, 0, 0, 198, 97, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 155, 5, 0, 0, 211, 97, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 171, 15, 0, 0, 224, 97, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 173, 15, - 0, 0, 238, 97, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 176, 15, 0, 0, 251, 97, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 7, 15, 0, 0, 8, 98, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 177, 15, 0, 0, 21, 98, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 27, 15, 0, 0, 34, 98, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 178, 15, 0, 0, 47, 98, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, 15, 0, 0, 60, 98, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, - 73, 98, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 31, 3, 0, 0, 86, 98, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 98, - 6, 0, 0, 99, 98, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 250, 14, 0, 0, 112, 98, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 202, 4, 0, 0, 125, 98, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 179, 15, 0, 0, 138, 98, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 180, 15, 0, 0, 151, 98, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 181, 15, 0, 0, - 164, 98, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 86, 6, 0, 0, 177, 98, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 185, 15, 0, 0, 190, 98, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 43, 6, 0, 0, 203, 98, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 189, 15, 0, 0, 216, 98, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 190, 15, 0, 0, 230, 98, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 68, 15, 0, 0, 239, 98, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 252, 8, 0, 0, - 252, 98, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 66, 7, 0, 0, 9, 99, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 62, - 3, 0, 0, 23, 99, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 15, 0, 0, 32, 99, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 144, 3, 0, 0, 45, 99, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 56, 4, 0, 0, 58, 99, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 8, 0, 0, 0, 71, 99, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 51, 6, 0, 0, 84, 99, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 69, 15, 0, 0, 97, 99, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 52, 6, 0, 0, 116, - 99, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 76, 15, 0, 0, 125, 99, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 144, - 3, 0, 0, 138, 99, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 72, 15, 0, 0, 151, 99, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 73, 15, 0, 0, 164, 99, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 8, 0, 0, 0, 177, 99, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 74, 15, 0, 0, 190, 99, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 15, 0, 0, 204, 99, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 80, 15, 0, 0, 213, 99, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 144, 3, 0, - 0, 226, 99, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 66, 7, 0, 0, 239, 99, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 77, 15, 0, 0, 252, 99, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 9, 100, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 78, 15, 0, 0, 22, 100, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 79, 15, 0, 0, 36, 100, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 81, 15, 0, 0, 45, 100, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 144, 3, 0, 0, - 58, 100, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 62, 3, 0, 0, 71, 100, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 217, 9, 0, 0, 84, 100, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 97, 100, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 123, 3, 0, 0, 111, 100, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 83, 15, 0, 0, 120, 100, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 144, 3, 0, 0, 133, 100, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 66, 7, 0, 0, - 147, 100, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 85, 15, 0, 0, 156, 100, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 144, 3, 0, 0, 169, 100, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 217, 9, 0, 0, 182, 100, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 84, 15, 0, 0, 195, 100, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 2, 0, 0, 208, 100, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 56, 4, 0, 0, 221, 100, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 161, 2, 0, - 0, 235, 100, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 89, 15, 0, 0, 244, 100, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 144, 3, 0, 0, 1, 101, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 66, 7, 0, 0, 14, 101, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 87, 15, 0, 0, 27, 101, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 40, 101, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 88, 15, 0, 0, 54, 101, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 90, 15, 0, 0, - 63, 101, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 144, 3, 0, 0, 76, 101, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 66, 7, 0, 0, 89, 101, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 77, 15, 0, 0, 103, 101, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 107, 15, 0, 0, 112, 101, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 144, 3, 0, 0, 139, 101, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 92, 15, 0, 0, 152, 101, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 102, 15, 0, - 0, 165, 101, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 169, 3, 0, 0, 179, 101, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 17, 15, 0, 0, 192, 101, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 104, 15, 0, 0, 205, 101, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 62, 3, 0, 0, 218, 101, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 223, 10, 0, 0, 237, - 101, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 101, 15, 0, 0, 246, 101, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 250, 2, 0, 0, 3, 102, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 251, 2, 0, 0, 16, 102, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 95, 15, 0, 0, 29, 102, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 96, 15, 0, 0, 42, 102, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 98, 15, 0, 0, 55, 102, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 99, 15, 0, 0, - 68, 102, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 17, 15, 0, 0, 86, 102, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 93, 15, 0, 0, 98, 102, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 94, 15, 0, 0, 110, 102, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 97, 15, 0, 0, 122, 102, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 100, 15, 0, 0, 135, 102, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 103, 15, 0, 0, 144, 102, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 250, 2, 0, - 0, 157, 102, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 251, 2, 0, 0, 170, 102, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 95, 15, 0, 0, 183, 102, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 96, 15, 0, 0, 196, 102, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 98, 15, 0, 0, 209, 102, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 99, 15, 0, 0, 222, - 102, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 17, 15, 0, 0, 246, 102, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 106, - 15, 0, 0, 255, 102, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 2, 0, 0, 12, 103, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 66, 7, 0, 0, 25, 103, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 62, 3, 0, 0, 38, 103, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 105, 15, 0, 0, 52, 103, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 111, 15, 0, 0, 61, - 103, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 144, 3, 0, 0, 74, 103, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 203, - 14, 0, 0, 87, 103, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 78, 15, 0, 0, 100, 103, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 143, 3, 0, 0, 113, 103, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 108, 15, 0, 0, 126, 103, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 79, 15, 0, 0, 140, 103, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 110, 15, 0, 0, - 149, 103, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 162, 103, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 123, 3, 0, 0, 175, 103, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 109, 15, 0, 0, 189, 103, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 112, 15, 0, 0, 198, 103, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 144, 3, 0, 0, 211, 103, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 133, 10, 0, 0, 224, 103, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 78, 15, - 0, 0, 238, 103, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 114, 15, 0, 0, 247, 103, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 144, 3, 0, 0, 4, 104, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 123, 8, 0, 0, 17, 104, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 10, 10, 0, 0, 30, 104, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 88, 4, 0, 0, 44, - 104, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 117, 15, 0, 0, 53, 104, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 144, - 3, 0, 0, 66, 104, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 88, 4, 0, 0, 79, 104, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 62, 3, 0, 0, 92, 104, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 116, 15, 0, 0, 106, 104, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 119, 15, 0, 0, 115, 104, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 144, 3, 0, 0, 128, - 104, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 66, 7, 0, 0, 141, 104, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 62, - 3, 0, 0, 154, 104, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 116, 15, 0, 0, 168, 104, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 123, 15, 0, 0, 177, 104, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 144, 3, 0, 0, 190, 104, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 121, 15, 0, 0, 203, 104, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 173, 4, 0, - 0, 216, 104, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 133, 10, 0, 0, 229, 104, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 161, 5, 0, 0, 243, 104, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 122, 15, 0, 0, 252, 104, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 8, 0, 0, 0, 9, 105, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 4, 0, 0, 23, 105, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 129, 15, 0, 0, 32, 105, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 125, 15, - 0, 0, 45, 105, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 126, 15, 0, 0, 58, 105, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 127, 15, 0, 0, 71, 105, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 128, 15, 0, 0, 84, 105, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 62, 3, 0, 0, 97, 105, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 111, - 105, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 132, 15, 0, 0, 120, 105, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 144, 3, 0, 0, 133, 105, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 66, 7, 0, 0, 146, 105, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 62, 3, 0, 0, 159, 105, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 104, 15, 0, 0, 172, 105, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 131, 15, 0, 0, 185, 105, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 105, 15, 0, - 0, 199, 105, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 15, 0, 0, 208, 105, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 144, 3, 0, 0, 221, 105, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 203, 14, 0, 0, 234, 105, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 60, 8, 0, 0, 247, 105, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 4, - 106, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 143, 3, 0, 0, 17, 106, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 134, - 15, 0, 0, 36, 106, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 133, 15, 0, 0, 46, 106, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 135, 15, 0, 0, 59, 106, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 136, 15, 0, 0, 72, 106, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 137, 15, 0, 0, 85, 106, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 138, 15, 0, 0, - 98, 106, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 139, 15, 0, 0, 111, 106, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 140, 15, 0, 0, 124, 106, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 141, 15, 0, 0, 137, 106, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 142, 15, 0, 0, 150, 106, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 143, 15, 0, 0, 163, - 106, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 144, 15, 0, 0, 176, 106, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 145, 15, 0, 0, 189, 106, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 146, 15, 0, 0, 202, 106, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 147, 15, 0, 0, 215, 106, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 150, 15, 0, 0, 228, - 106, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 151, 15, 0, 0, 241, 106, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 152, 15, 0, 0, 254, 106, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 153, 15, 0, 0, 11, 107, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 154, 15, 0, 0, 24, 107, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 155, 15, 0, 0, 37, 107, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 156, 15, 0, 0, 50, 107, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 157, 15, - 0, 0, 63, 107, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 158, 15, 0, 0, 76, 107, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 159, 15, 0, 0, 102, 107, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 149, 15, 0, 0, 111, 107, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 228, 5, 0, 0, 124, 107, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 229, 5, 0, 0, 137, - 107, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 148, 15, 0, 0, 163, 107, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 161, 15, 0, 0, 172, 107, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 144, 3, 0, 0, 185, 107, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 108, 15, 0, 0, 199, 107, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 166, 15, 0, 0, 208, - 107, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 144, 3, 0, 0, 221, 107, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 162, - 15, 0, 0, 234, 107, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 163, 15, 0, 0, 247, 107, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 164, 15, 0, 0, 4, 108, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 165, 15, 0, 0, 17, 108, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 31, 108, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 168, 15, 0, - 0, 40, 108, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 144, 3, 0, 0, 53, 108, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 203, 14, 0, 0, 66, 108, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 79, 108, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 143, 3, 0, 0, 93, 108, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 169, 15, 0, 0, 102, 108, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 144, 3, 0, 0, 115, 108, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 203, 14, - 0, 0, 128, 108, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 123, 3, 0, 0, 141, 108, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 143, 3, 0, 0, 155, 108, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 170, 15, 0, 0, 164, 108, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 144, 3, 0, 0, 177, 108, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 163, 15, 0, 0, - 190, 108, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 164, 15, 0, 0, 203, 108, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 165, 15, 0, 0, 217, 108, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 172, 15, 0, 0, 226, 108, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 144, 3, 0, 0, 239, 108, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 162, 15, 0, 0, 252, - 108, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 163, 15, 0, 0, 9, 109, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 164, - 15, 0, 0, 22, 109, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 165, 15, 0, 0, 35, 109, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 183, 2, 0, 0, 49, 109, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 175, 15, 0, 0, 58, 109, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 144, 3, 0, 0, 71, 109, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 174, 15, 0, 0, 85, - 109, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 181, 15, 0, 0, 108, 109, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 126, 4, 0, 0, 121, 109, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 15, 0, 0, 135, 109, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 166, 2, 0, 0, 149, 109, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 182, 15, 0, 0, 158, 109, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 157, 2, 0, 0, 181, 109, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 184, 15, - 0, 0, 211, 109, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 187, 15, 0, 0, 220, 109, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 214, 5, 0, 0, 233, 109, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 186, 15, 0, 0, 252, 109, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 188, 15, 0, 0, 5, 110, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 2, 0, 0, - 18, 110, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 61, 110, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 217, 15, 0, 0, 70, 110, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 31, 3, 0, 0, 83, 110, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 211, 15, 0, 0, 96, 110, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 3, 0, 0, 109, 110, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 212, 15, 0, 0, 122, 110, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 226, 8, 0, - 0, 135, 110, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 52, 6, 0, 0, 148, 110, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 206, 15, 0, 0, 161, 110, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 213, 15, 0, 0, 174, 110, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 214, 15, 0, 0, 187, 110, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 215, 15, 0, 0, 200, - 110, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 173, 2, 0, 0, 213, 110, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 216, - 15, 0, 0, 232, 110, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 239, 15, 0, 0, 241, 110, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 235, 15, 0, 0, 254, 110, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 236, 15, 0, 0, 11, 111, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 237, 15, 0, 0, 24, 111, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 238, 15, 0, - 0, 37, 111, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 151, 13, 0, 0, 51, 111, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 246, 15, 0, 0, 60, 111, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 40, 4, 0, 0, 79, 111, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 22, 16, 0, 0, 88, 111, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 173, 2, 0, 0, 101, 111, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 9, 0, 0, 0, 114, 111, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, - 0, 127, 111, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 144, 3, 0, 0, 140, 111, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 198, 2, 0, 0, 153, 111, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 110, 3, 0, 0, 166, 111, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 45, 6, 0, 0, 184, 111, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 255, 15, 0, 0, 201, - 111, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 250, 15, 0, 0, 207, 111, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 251, 15, 0, 0, 213, 111, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 252, 15, 0, 0, 219, 111, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 253, 15, 0, 0, 225, 111, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 254, 15, 0, 0, 242, - 111, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 19, 16, 0, 0, 251, 111, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, - 16, 0, 0, 8, 112, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 155, 3, 0, 0, 21, 112, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 174, 3, 0, 0, 34, 112, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 182, 12, 0, 0, 47, 112, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 232, 2, 0, 0, 60, 112, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 1, 16, 0, 0, 73, - 112, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 234, 2, 0, 0, 86, 112, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 2, - 16, 0, 0, 99, 112, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 214, 5, 0, 0, 112, 112, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 237, 2, 0, 0, 125, 112, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 248, 2, 0, 0, 138, 112, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 3, 16, 0, 0, 151, 112, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 4, 16, 0, 0, - 164, 112, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 240, 2, 0, 0, 177, 112, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 241, 2, 0, 0, 190, 112, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 246, 2, 0, 0, 203, 112, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 5, 16, 0, 0, 216, 112, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 249, 2, 0, 0, 229, 112, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 6, 16, 0, 0, 242, 112, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 192, 3, 0, - 0, 255, 112, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 7, 16, 0, 0, 12, 113, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 8, 16, 0, 0, 25, 113, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 9, 16, 0, 0, 38, 113, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 10, 16, 0, 0, 51, 113, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 11, 16, 0, 0, 64, 113, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 16, 16, 0, 0, 77, 113, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 17, 16, 0, 0, - 90, 113, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 18, 16, 0, 0, 100, 115, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 14, 16, 0, 0, 113, 115, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 12, 16, 0, 0, 126, 115, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 5, 3, 0, 0, 139, 115, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 123, 8, 0, 0, 157, 115, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 169, 3, 0, 0, 170, 115, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 4, 0, - 0, 184, 115, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 13, 16, 0, 0, 202, 115, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 15, 16, 0, 0, 21, 116, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 21, 16, 0, 0, 30, 116, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 52, 6, 0, 0, 43, 116, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 20, 16, 0, 0, 56, 116, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 69, 116, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, 4, 0, 0, - 88, 116, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 24, 16, 0, 0, 97, 116, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 31, 3, 0, 0, 110, 116, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 225, 6, 0, 0, 123, 116, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 52, 6, 0, 0, 154, 116, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 34, 16, 0, 0, 159, 116, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, 16, 0, 0, 168, 116, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 40, 4, 0, 0, - 181, 116, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 100, 5, 0, 0, 200, 116, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 43, 16, 0, 0, 209, 116, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 5, 3, 0, 0, 222, 116, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 44, 16, 0, 0, 235, 116, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 51, 16, 0, 0, 248, 116, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 109, 16, 0, 0, 5, 117, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 153, 16, 0, - 0, 18, 117, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 16, 0, 0, 31, 117, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 160, 13, 0, 0, 44, 117, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 240, 21, 0, 0, 57, 117, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 241, 21, 0, 0, 76, 117, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 50, 16, 0, 0, 86, - 117, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 2, 0, 0, 99, 117, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 221, - 4, 0, 0, 113, 117, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 162, 14, 0, 0, 127, 117, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 234, 4, 0, 0, 142, 117, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 49, 16, 0, 0, 152, 117, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 45, 16, 0, 0, 165, 117, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 46, 16, 0, - 0, 178, 117, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 174, 3, 0, 0, 191, 117, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 77, 7, 0, 0, 204, 117, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 47, 16, 0, 0, 218, 117, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 48, 16, 0, 0, 250, 117, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 108, 16, 0, 0, 4, 118, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 162, 9, 0, 0, 17, 118, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 87, 16, 0, - 0, 31, 118, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 88, 16, 0, 0, 45, 118, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 89, 16, 0, 0, 59, 118, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 90, 16, 0, 0, 73, 118, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 91, 16, 0, 0, 87, 118, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 92, 16, 0, 0, 101, 118, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 93, 16, 0, 0, 115, 118, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 94, 16, - 0, 0, 129, 118, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 95, 16, 0, 0, 143, 118, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 96, 16, 0, 0, 157, 118, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 97, 16, 0, 0, 171, 118, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 98, 16, 0, 0, 185, 118, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 99, 16, 0, 0, 199, - 118, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 100, 16, 0, 0, 213, 118, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 101, 16, 0, 0, 227, 118, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 102, 16, 0, 0, 241, 118, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 103, 16, 0, 0, 255, 118, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 104, 16, 0, 0, 13, 119, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 105, 16, 0, 0, 27, 119, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 106, 16, - 0, 0, 41, 119, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 221, 4, 0, 0, 55, 119, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 162, 14, 0, 0, 69, 119, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 107, 16, 0, 0, 83, 119, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 234, 4, 0, 0, 110, 119, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 86, 16, 0, 0, 119, - 119, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 229, 8, 0, 0, 132, 119, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 33, - 6, 0, 0, 145, 119, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 18, 7, 0, 0, 158, 119, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 52, 16, 0, 0, 171, 119, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 53, 16, 0, 0, 184, 119, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 54, 16, 0, 0, 197, 119, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 119, 10, 0, 0, - 210, 119, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 55, 16, 0, 0, 224, 119, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 85, 16, 0, 0, 233, 119, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 56, 16, 0, 0, 246, 119, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 65, 16, 0, 0, 3, 120, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 66, 16, 0, 0, 16, 120, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 7, 4, 0, 0, 29, 120, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 82, 16, 0, 0, - 42, 120, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 83, 16, 0, 0, 55, 120, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 54, 4, 0, 0, 68, 120, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 3, 0, 0, 81, 120, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 84, 16, 0, 0, 100, 120, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 64, 16, 0, 0, 109, 120, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 187, 3, 0, 0, 122, 120, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 57, 16, 0, - 0, 135, 120, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 58, 16, 0, 0, 148, 120, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 59, 16, 0, 0, 161, 120, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, 4, 0, 0, 174, 120, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 60, 16, 0, 0, 187, 120, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 61, 16, 0, 0, 200, 120, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 185, 10, 0, 0, 214, 120, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 62, 16, - 0, 0, 240, 120, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 63, 16, 0, 0, 249, 120, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 81, 16, 0, 0, 2, 121, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 67, 16, 0, 0, 15, 121, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 65, 16, 0, 0, 28, 121, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 68, 16, 0, 0, 41, 121, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 69, 16, 0, 0, 54, 121, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 16, 0, - 0, 67, 121, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 71, 16, 0, 0, 80, 121, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 72, 16, 0, 0, 93, 121, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 73, 16, 0, 0, 106, 121, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 75, 16, 0, 0, 119, 121, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 77, 16, 0, 0, 137, 121, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 74, 16, 0, 0, 175, 121, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 76, 16, - 0, 0, 187, 121, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 80, 16, 0, 0, 221, 121, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 79, 16, 0, 0, 230, 121, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 78, 16, 0, 0, 243, 121, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 114, 3, 0, 0, 11, 122, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 152, 16, 0, 0, 20, - 122, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 234, 4, 0, 0, 33, 122, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 213, - 4, 0, 0, 46, 122, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 2, 0, 0, 59, 122, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 149, 16, 0, 0, 72, 122, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 221, 4, 0, 0, 85, 122, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 162, 14, 0, 0, 98, 122, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 33, 6, 0, 0, 111, - 122, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 214, 5, 0, 0, 124, 122, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 161, - 5, 0, 0, 137, 122, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 150, 16, 0, 0, 150, 122, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 151, 16, 0, 0, 169, 122, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 148, 16, 0, 0, 179, 122, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 110, 16, 0, 0, 192, 122, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 111, 16, - 0, 0, 205, 122, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 112, 16, 0, 0, 218, 122, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 150, 3, 0, 0, 245, 122, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 113, 16, 0, 0, 2, 123, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 107, 16, 0, 0, 16, 123, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 114, 16, 0, 0, 29, - 123, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 117, 16, 0, 0, 42, 123, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 118, - 16, 0, 0, 55, 123, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 119, 16, 0, 0, 68, 123, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 120, 16, 0, 0, 81, 123, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 121, 16, 0, 0, 94, 123, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 122, 16, 0, 0, 107, 123, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 123, 16, 0, 0, - 120, 123, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 124, 16, 0, 0, 133, 123, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 125, 16, 0, 0, 146, 123, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 126, 16, 0, 0, 159, 123, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 109, 16, 0, 0, 172, 123, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 127, 16, 0, 0, 199, - 123, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 132, 16, 0, 0, 212, 123, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 133, 16, 0, 0, 226, 123, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 134, 16, 0, 0, 240, 123, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 135, 16, 0, 0, 254, 123, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 142, 16, 0, 0, 12, 124, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 143, 16, 0, 0, 26, 124, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 144, 16, - 0, 0, 40, 124, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 145, 16, 0, 0, 54, 124, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 146, 16, 0, 0, 68, 124, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 147, 16, 0, 0, 88, 124, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 114, 16, 0, 0, 97, 124, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 115, 16, 0, 0, - 110, 124, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 116, 16, 0, 0, 129, 124, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 131, 16, 0, 0, 138, 124, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 128, 16, 0, 0, 151, 124, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 129, 16, 0, 0, 164, 124, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 159, 14, 0, 0, 177, - 124, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 130, 16, 0, 0, 196, 124, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 141, 16, 0, 0, 205, 124, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 3, 0, 0, 218, 124, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 9, 0, 0, 0, 231, 124, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 244, 124, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 136, 16, 0, 0, 15, 125, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 138, 16, 0, - 0, 28, 125, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 140, 16, 0, 0, 42, 125, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 160, 2, 0, 0, 60, 125, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 137, 16, 0, 0, 73, 125, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 20, 3, 0, 0, 108, 125, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 139, 16, 0, 0, 121, 125, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 186, 17, 0, 0, 131, 125, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 155, 16, - 0, 0, 144, 125, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 156, 16, 0, 0, 157, 125, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 157, 16, 0, 0, 170, 125, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 158, 16, 0, 0, 183, 125, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 159, 16, 0, 0, 196, 125, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 16, 0, 0, - 209, 125, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 161, 16, 0, 0, 222, 125, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 160, 2, 0, 0, 235, 125, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 162, 16, 0, 0, 248, 125, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 163, 16, 0, 0, 5, 126, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 164, 16, 0, 0, 18, - 126, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 221, 4, 0, 0, 31, 126, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 162, - 14, 0, 0, 44, 126, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 165, 16, 0, 0, 57, 126, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 234, 4, 0, 0, 70, 126, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 166, 16, 0, 0, 83, 126, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 167, 16, 0, 0, 96, 126, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 168, 16, 0, 0, - 109, 126, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 169, 16, 0, 0, 122, 126, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 191, 16, 0, 0, 136, 126, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 192, 16, 0, 0, 150, 126, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 193, 16, 0, 0, 164, 126, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 194, 16, 0, 0, 178, - 126, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 195, 16, 0, 0, 192, 126, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 196, 16, 0, 0, 206, 126, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 198, 16, 0, 0, 220, 126, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 199, 16, 0, 0, 234, 126, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 200, 16, 0, 0, 248, - 126, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 188, 13, 0, 0, 6, 127, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 206, - 16, 0, 0, 20, 127, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 236, 16, 0, 0, 34, 127, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 240, 16, 0, 0, 48, 127, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 244, 16, 0, 0, 62, 127, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 249, 16, 0, 0, 76, 127, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 101, 18, 0, 0, - 90, 127, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 178, 20, 0, 0, 104, 127, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 181, 20, 0, 0, 118, 127, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 229, 20, 0, 0, 132, 127, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 7, 21, 0, 0, 146, 127, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 131, 21, 0, 0, 160, 127, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 134, 21, 0, 0, 174, 127, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 135, 21, - 0, 0, 188, 127, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 190, 9, 0, 0, 202, 127, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 105, 18, 0, 0, 216, 127, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 21, 0, 0, 230, 127, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 184, 21, 0, 0, 244, 127, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 186, 21, 0, 0, 2, - 128, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 193, 21, 0, 0, 16, 128, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 214, - 21, 0, 0, 30, 128, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 216, 21, 0, 0, 44, 128, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 225, 21, 0, 0, 58, 128, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 226, 21, 0, 0, 72, 128, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 227, 21, 0, 0, 87, 128, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 190, 16, 0, 0, - 96, 128, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 170, 16, 0, 0, 109, 128, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 128, 5, 0, 0, 144, 128, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 189, 16, 0, 0, 153, 128, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 171, 16, 0, 0, 166, 128, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 213, 4, 0, 0, 180, 128, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 188, 16, 0, 0, 217, 128, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 172, 16, - 0, 0, 230, 128, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 132, 9, 0, 0, 243, 128, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 5, 3, 0, 0, 0, 129, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 179, 16, 0, 0, 14, 129, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 39, 4, 0, 0, 28, 129, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 180, 16, 0, 0, 41, 129, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 181, 16, 0, 0, 54, 129, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 213, 4, 0, - 0, 67, 129, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 186, 16, 0, 0, 80, 129, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 160, 3, 0, 0, 93, 129, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 126, 4, 0, 0, 106, 129, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 121, 14, 0, 0, 125, 129, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 172, 16, 0, 0, 134, - 129, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 173, 16, 0, 0, 147, 129, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 154, 4, 0, 0, 160, 129, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 174, 16, 0, 0, 173, 129, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 123, 3, 0, 0, 186, 129, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 44, 7, 0, 0, 199, 129, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 175, 16, 0, 0, 212, 129, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 214, 5, - 0, 0, 225, 129, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 177, 16, 0, 0, 238, 129, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 178, 16, 0, 0, 5, 130, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 175, 16, 0, 0, 49, 130, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 176, 16, 0, 0, 58, 130, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 161, 5, 0, 0, 71, - 130, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 52, 6, 0, 0, 90, 130, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 185, - 16, 0, 0, 99, 130, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 182, 16, 0, 0, 112, 130, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 48, 3, 0, 0, 125, 130, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 16, 0, 0, 138, 130, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 184, 16, 0, 0, 231, 130, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 187, 16, 0, - 0, 240, 130, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 126, 4, 0, 0, 253, 130, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 171, 16, 0, 0, 16, 131, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 193, 16, 0, 0, 27, 131, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 160, 2, 0, 0, 42, 131, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 198, 2, 0, 0, 58, 131, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 197, 16, 0, 0, 67, 131, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 56, 4, 0, - 0, 81, 131, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 205, 16, 0, 0, 90, 131, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 201, 16, 0, 0, 103, 131, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 202, 16, 0, 0, 116, 131, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 203, 16, 0, 0, 129, 131, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 204, 16, 0, 0, 148, - 131, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 204, 16, 0, 0, 160, 131, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 20, - 3, 0, 0, 188, 131, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 235, 16, 0, 0, 197, 131, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 207, 16, 0, 0, 210, 131, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 210, 16, 0, 0, 223, 131, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 211, 16, 0, 0, 236, 131, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 213, 16, - 0, 0, 249, 131, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 215, 16, 0, 0, 6, 132, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 217, 16, 0, 0, 19, 132, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 218, 16, 0, 0, 32, 132, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 220, 16, 0, 0, 45, 132, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 222, 16, 0, 0, 58, - 132, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 224, 16, 0, 0, 71, 132, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 225, - 16, 0, 0, 84, 132, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 226, 16, 0, 0, 97, 132, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 228, 16, 0, 0, 110, 132, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 230, 16, 0, 0, 123, 132, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 232, 16, 0, 0, 136, 132, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 234, 16, 0, 0, - 155, 132, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 209, 16, 0, 0, 165, 132, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 208, 16, 0, 0, 178, 132, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 212, 9, 0, 0, 210, 132, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 212, 16, 0, 0, 219, 132, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 208, 16, 0, 0, 250, - 132, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 214, 16, 0, 0, 4, 133, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 208, - 16, 0, 0, 35, 133, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 216, 16, 0, 0, 44, 133, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 208, 16, 0, 0, 75, 133, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 219, 16, 0, 0, 84, 133, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 208, 16, 0, 0, 115, 133, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 221, 16, 0, 0, - 124, 133, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 208, 16, 0, 0, 155, 133, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 223, 16, 0, 0, 167, 133, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 208, 16, 0, 0, 200, 133, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 227, 16, 0, 0, 209, 133, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 208, 16, 0, 0, 240, - 133, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 229, 16, 0, 0, 250, 133, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 208, 16, 0, 0, 26, 134, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 231, 16, 0, 0, 35, 134, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 208, 16, 0, 0, 54, 134, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 233, 16, 0, 0, 64, 134, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 208, 16, 0, 0, 78, 134, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 239, 16, - 0, 0, 87, 134, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 237, 16, 0, 0, 100, 134, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 238, 16, 0, 0, 114, 134, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 243, 16, 0, 0, 123, 134, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 241, 16, 0, 0, 136, 134, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 242, 16, 0, 0, - 150, 134, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 248, 16, 0, 0, 159, 134, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 201, 3, 0, 0, 172, 134, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 245, 16, 0, 0, 185, 134, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 33, 6, 0, 0, 198, 134, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 246, 16, 0, 0, 211, - 134, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 247, 16, 0, 0, 225, 134, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 100, 18, 0, 0, 235, 134, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 250, 16, 0, 0, 248, 134, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 18, 17, 0, 0, 5, 135, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 19, 17, 0, 0, 18, 135, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 20, 17, 0, 0, 31, 135, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 21, 17, 0, 0, - 44, 135, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 22, 17, 0, 0, 57, 135, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 23, 17, 0, 0, 70, 135, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 26, 17, 0, 0, 83, 135, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 27, 17, 0, 0, 96, 135, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 31, 17, 0, 0, 109, 135, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 200, 16, 0, 0, 122, 135, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 140, 17, 0, - 0, 135, 135, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 147, 17, 0, 0, 148, 135, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 148, 17, 0, 0, 161, 135, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 149, 17, 0, 0, 174, 135, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 150, 17, 0, 0, 187, 135, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 151, 17, 0, 0, - 200, 135, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 152, 17, 0, 0, 213, 135, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 153, 17, 0, 0, 226, 135, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 17, 0, 0, 239, 135, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 155, 17, 0, 0, 252, 135, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 156, 17, 0, 0, 9, - 136, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 157, 17, 0, 0, 22, 136, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 159, - 17, 0, 0, 36, 136, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 17, 0, 0, 50, 136, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 188, 17, 0, 0, 64, 136, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 189, 17, 0, 0, 78, 136, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 190, 17, 0, 0, 92, 136, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 191, 17, 0, 0, - 106, 136, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 192, 17, 0, 0, 120, 136, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 193, 17, 0, 0, 134, 136, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 194, 17, 0, 0, 148, 136, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 195, 17, 0, 0, 162, 136, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 198, 17, 0, 0, 176, - 136, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 199, 17, 0, 0, 190, 136, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 200, 17, 0, 0, 204, 136, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 201, 17, 0, 0, 218, 136, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 202, 17, 0, 0, 232, 136, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 203, 17, 0, 0, 246, - 136, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 204, 17, 0, 0, 4, 137, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 205, - 17, 0, 0, 18, 137, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 206, 17, 0, 0, 32, 137, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 207, 17, 0, 0, 46, 137, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 208, 17, 0, 0, 60, 137, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 209, 17, 0, 0, 74, 137, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 210, 17, 0, 0, - 88, 137, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 211, 17, 0, 0, 102, 137, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 212, 17, 0, 0, 116, 137, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 213, 17, 0, 0, 130, 137, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 214, 17, 0, 0, 144, 137, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 215, 17, 0, 0, 158, - 137, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 216, 17, 0, 0, 172, 137, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 217, 17, 0, 0, 186, 137, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 218, 17, 0, 0, 200, 137, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 219, 17, 0, 0, 214, 137, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 220, 17, 0, 0, 228, - 137, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 221, 17, 0, 0, 242, 137, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 222, 17, 0, 0, 0, 138, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 223, 17, 0, 0, 14, 138, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 224, 17, 0, 0, 28, 138, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 225, 17, 0, 0, 42, 138, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 226, 17, 0, 0, 56, 138, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 227, 17, 0, - 0, 70, 138, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 228, 17, 0, 0, 84, 138, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 229, 17, 0, 0, 98, 138, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 230, 17, 0, 0, 112, 138, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 231, 17, 0, 0, 126, 138, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 232, 17, 0, 0, 140, - 138, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 233, 17, 0, 0, 154, 138, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 234, 17, 0, 0, 168, 138, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 235, 17, 0, 0, 182, 138, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 236, 17, 0, 0, 196, 138, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 237, 17, 0, 0, 210, - 138, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 238, 17, 0, 0, 224, 138, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 239, 17, 0, 0, 238, 138, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 240, 17, 0, 0, 252, 138, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 241, 17, 0, 0, 10, 139, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 242, 17, 0, 0, 24, 139, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 243, 17, 0, 0, 38, 139, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 244, 17, - 0, 0, 52, 139, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 245, 17, 0, 0, 66, 139, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 246, 17, 0, 0, 80, 139, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 247, 17, 0, 0, 94, 139, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 248, 17, 0, 0, 108, 139, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 249, 17, 0, 0, - 122, 139, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 250, 17, 0, 0, 136, 139, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 251, 17, 0, 0, 150, 139, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 252, 17, 0, 0, 164, 139, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 253, 17, 0, 0, 178, 139, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 254, 17, 0, 0, 192, - 139, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 255, 17, 0, 0, 206, 139, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, - 18, 0, 0, 220, 139, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 1, 18, 0, 0, 234, 139, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 2, 18, 0, 0, 248, 139, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 3, 18, 0, 0, 6, 140, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 4, 18, 0, 0, 20, 140, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 5, 18, 0, 0, 34, 140, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 6, 18, 0, 0, 48, 140, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 7, 18, 0, - 0, 62, 140, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 8, 18, 0, 0, 76, 140, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 9, 18, 0, 0, 90, 140, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 10, 18, 0, 0, 104, 140, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 11, 18, 0, 0, 118, 140, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 12, 18, 0, 0, 132, 140, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 13, 18, 0, 0, 146, 140, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 14, 18, 0, - 0, 160, 140, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 15, 18, 0, 0, 174, 140, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 16, 18, 0, 0, 188, 140, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 17, 18, 0, 0, 202, 140, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 67, 18, 0, 0, 216, 140, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 71, 18, 0, 0, 230, - 140, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 72, 18, 0, 0, 244, 140, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 73, - 18, 0, 0, 2, 141, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 74, 18, 0, 0, 16, 141, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 75, 18, 0, 0, 30, 141, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 76, 18, 0, 0, 44, 141, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 77, 18, 0, 0, 58, 141, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 78, 18, 0, 0, 72, - 141, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 79, 18, 0, 0, 86, 141, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 80, - 18, 0, 0, 100, 141, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 81, 18, 0, 0, 114, 141, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 82, 18, 0, 0, 128, 141, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 83, 18, 0, 0, 142, 141, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 84, 18, 0, 0, 156, 141, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 85, 18, 0, - 0, 170, 141, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 86, 18, 0, 0, 184, 141, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 87, 18, 0, 0, 198, 141, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 88, 18, 0, 0, 212, 141, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 89, 18, 0, 0, 226, 141, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 90, 18, 0, 0, 240, - 141, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 91, 18, 0, 0, 254, 141, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 95, - 18, 0, 0, 12, 142, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 96, 18, 0, 0, 26, 142, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 97, 18, 0, 0, 40, 142, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 98, 18, 0, 0, 54, 142, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 99, 18, 0, 0, 69, 142, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 17, 17, 0, 0, 78, - 142, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 251, 16, 0, 0, 91, 142, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 252, - 16, 0, 0, 104, 142, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 253, 16, 0, 0, 117, 142, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 16, 17, 0, 0, 148, 142, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 15, 17, 0, 0, 158, 142, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 254, 16, 0, 0, 171, 142, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 3, 17, 0, - 0, 184, 142, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 4, 17, 0, 0, 197, 142, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 5, 17, 0, 0, 210, 142, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 6, 17, 0, 0, 223, 142, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 7, 17, 0, 0, 236, 142, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 9, 17, 0, 0, 249, 142, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 10, 17, 0, 0, 6, 143, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 11, 17, 0, 0, - 19, 143, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 14, 17, 0, 0, 38, 143, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 2, 17, 0, 0, 47, 143, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 255, 16, 0, 0, 61, 143, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 1, 17, 0, 0, 70, 143, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 40, 4, 0, 0, 89, 143, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 0, 17, 0, 0, 98, 143, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 157, 2, 0, 0, - 111, 143, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 158, 2, 0, 0, 135, 143, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 8, 17, 0, 0, 144, 143, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 3, 0, 0, 157, 143, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 255, 16, 0, 0, 176, 143, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 13, 17, 0, 0, 185, 143, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 3, 0, 0, 198, 143, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 5, 3, 0, 0, - 225, 143, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 56, 4, 0, 0, 238, 143, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 12, 17, 0, 0, 14, 144, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 25, 17, 0, 0, 25, 144, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 24, 17, 0, 0, 40, 144, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 4, 0, 0, 55, 144, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 173, 2, 0, 0, 88, 144, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 30, 17, 0, 0, - 97, 144, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 157, 2, 0, 0, 110, 144, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 198, 2, 0, 0, 137, 144, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 28, 17, 0, 0, 150, 144, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 29, 17, 0, 0, 164, 144, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, 4, 0, 0, 183, 144, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 139, 17, 0, 0, 192, 144, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 16, - 0, 0, 205, 144, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 2, 0, 0, 218, 144, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 32, 17, 0, 0, 231, 144, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 33, 17, 0, 0, 244, 144, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 34, 17, 0, 0, 1, 145, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 35, 17, 0, 0, 14, - 145, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 36, 17, 0, 0, 27, 145, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 220, - 8, 0, 0, 40, 145, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 105, 17, 0, 0, 53, 145, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 130, 6, 0, 0, 66, 145, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 106, 17, 0, 0, 79, 145, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 131, 17, 0, 0, 92, 145, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 132, 17, 0, 0, - 105, 145, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 133, 17, 0, 0, 118, 145, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 134, 17, 0, 0, 131, 145, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 135, 17, 0, 0, 144, 145, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 136, 17, 0, 0, 157, 145, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 250, 13, 0, 0, 170, - 145, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 137, 17, 0, 0, 183, 145, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 155, 3, 0, 0, 196, 145, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 138, 17, 0, 0, 209, 145, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 39, 4, 0, 0, 3, 146, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 59, 17, 0, 0, 12, 146, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 2, 0, 0, 25, 146, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 37, 17, 0, 0, - 38, 146, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 38, 17, 0, 0, 51, 146, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 39, 17, 0, 0, 64, 146, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 40, 17, 0, 0, 77, 146, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 183, 2, 0, 0, 90, 146, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 44, 8, 0, 0, 103, 146, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 220, 8, 0, 0, 116, 146, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 41, 17, 0, 0, - 129, 146, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 42, 17, 0, 0, 142, 146, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 43, 17, 0, 0, 155, 146, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 44, 17, 0, 0, 168, 146, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 45, 17, 0, 0, 181, 146, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 47, 17, 0, 0, 194, 146, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 48, 17, 0, 0, 207, 146, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 118, 3, - 0, 0, 220, 146, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 49, 17, 0, 0, 233, 146, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 50, 17, 0, 0, 246, 146, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 51, 17, 0, 0, 3, 147, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 52, 17, 0, 0, 16, 147, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 53, 17, 0, 0, 29, 147, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 54, 17, 0, 0, 42, 147, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 56, 17, 0, - 0, 55, 147, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 58, 17, 0, 0, 68, 147, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 39, 4, 0, 0, 86, 147, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 46, 17, 0, 0, 94, 147, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 55, 17, 0, 0, 103, 147, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 174, 4, 0, 0, 116, 147, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 228, 6, 0, 0, 130, 147, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 57, 17, - 0, 0, 139, 147, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 174, 4, 0, 0, 152, 147, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 228, 6, 0, 0, 171, 147, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 100, 17, 0, 0, 180, 147, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 60, 17, 0, 0, 198, 147, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 61, 17, 0, 0, 211, - 147, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 17, 0, 0, 224, 147, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 89, - 17, 0, 0, 237, 147, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 98, 17, 0, 0, 252, 147, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 74, 17, 0, 0, 5, 148, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 62, 17, 0, 0, 18, 148, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 63, 17, 0, 0, 31, 148, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 64, 17, 0, 0, - 44, 148, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 65, 17, 0, 0, 57, 148, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 66, 17, 0, 0, 70, 148, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 67, 17, 0, 0, 83, 148, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 68, 17, 0, 0, 96, 148, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 69, 17, 0, 0, 109, 148, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 17, 0, 0, 122, 148, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 71, 17, 0, - 0, 135, 148, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 73, 17, 0, 0, 149, 148, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 72, 17, 0, 0, 158, 148, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 45, 17, 0, 0, 172, 148, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 88, 17, 0, 0, 181, 148, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 61, 17, 0, 0, 194, - 148, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 76, 17, 0, 0, 207, 148, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 77, - 17, 0, 0, 220, 148, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 78, 17, 0, 0, 234, 148, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 87, 17, 0, 0, 243, 148, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 79, 17, 0, 0, 5, 149, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 80, 17, 0, 0, 18, 149, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 81, 17, 0, 0, - 32, 149, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 82, 17, 0, 0, 50, 149, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 9, 0, 0, 0, 63, 149, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 78, 7, 0, 0, 77, 149, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 83, 17, 0, 0, 95, 149, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 80, 17, 0, 0, 108, 149, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 81, 17, 0, 0, 122, 149, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 85, 17, 0, 0, 135, - 149, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 86, 17, 0, 0, 153, 149, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 9, - 0, 0, 0, 172, 149, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 84, 17, 0, 0, 180, 149, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 97, 17, 0, 0, 189, 149, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 61, 17, 0, 0, 202, 149, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 77, 17, 0, 0, 215, 149, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 76, 17, 0, 0, - 228, 149, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 95, 17, 0, 0, 241, 149, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 78, 17, 0, 0, 254, 149, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 96, 17, 0, 0, 12, 150, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 94, 17, 0, 0, 21, 150, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 90, 17, 0, 0, 39, 150, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 91, 17, 0, 0, 52, 150, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 92, 17, 0, 0, - 65, 150, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 93, 17, 0, 0, 116, 150, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 99, 17, 0, 0, 125, 150, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 61, 17, 0, 0, 138, 150, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 77, 17, 0, 0, 151, 150, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 76, 17, 0, 0, 164, 150, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 78, 17, 0, 0, 183, 150, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 104, 17, - 0, 0, 192, 150, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 101, 17, 0, 0, 205, 150, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 102, 17, 0, 0, 218, 150, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 178, 15, 0, 0, 231, 150, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 103, 17, 0, 0, 244, 150, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 44, 8, 0, 0, - 1, 151, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 103, 151, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 112, 17, 0, 0, 112, 151, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 16, 0, 0, 125, 151, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 107, 17, 0, 0, 138, 151, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 108, 17, 0, 0, 151, - 151, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 109, 17, 0, 0, 164, 151, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 44, - 8, 0, 0, 177, 151, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 110, 17, 0, 0, 190, 151, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 111, 17, 0, 0, 203, 151, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 220, 8, 0, 0, 216, 151, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 240, 151, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 115, 17, 0, - 0, 249, 151, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 113, 17, 0, 0, 6, 152, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 114, 17, 0, 0, 25, 152, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 130, 17, 0, 0, 34, 152, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 116, 17, 0, 0, 47, 152, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 117, 17, 0, 0, 60, - 152, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 250, 13, 0, 0, 73, 152, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 206, - 13, 0, 0, 86, 152, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 129, 17, 0, 0, 120, 152, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 128, 17, 0, 0, 129, 152, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 9, 0, 0, 0, 142, 152, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 118, 17, 0, 0, 155, 152, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 62, 3, 0, - 0, 182, 152, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 119, 17, 0, 0, 195, 152, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 60, 8, 0, 0, 208, 152, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 120, 17, 0, 0, 221, 152, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 121, 17, 0, 0, 234, 152, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 237, 10, 0, 0, - 247, 152, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 123, 17, 0, 0, 18, 153, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 118, 11, 0, 0, 31, 153, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 121, 11, 0, 0, 45, 153, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 126, 17, 0, 0, 58, 153, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 127, 17, 0, 0, 78, 153, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 122, 17, 0, 0, 87, 153, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 118, 11, - 0, 0, 100, 153, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 121, 11, 0, 0, 119, 153, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 124, 17, 0, 0, 128, 153, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 118, 11, 0, 0, 141, 153, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 121, 11, 0, 0, 159, 153, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 125, 17, 0, 0, - 44, 154, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 146, 17, 0, 0, 53, 154, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 141, 17, 0, 0, 66, 154, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 142, 17, 0, 0, 79, 154, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 143, 17, 0, 0, 92, 154, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, 4, 0, 0, 105, 154, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 144, 17, 0, 0, 118, 154, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 145, 17, - 0, 0, 142, 154, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 158, 17, 0, 0, 151, 154, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 201, 3, 0, 0, 164, 154, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 3, 0, 0, 177, 154, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 176, 9, 0, 0, 196, 154, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 17, 0, 0, - 206, 154, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 161, 17, 0, 0, 219, 154, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 162, 17, 0, 0, 232, 154, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 227, 13, 0, 0, 245, 154, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 163, 17, 0, 0, 2, 155, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 164, 17, 0, 0, 15, - 155, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 186, 17, 0, 0, 28, 155, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 153, - 7, 0, 0, 41, 155, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 85, 16, 0, 0, 54, 155, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 187, 17, 0, 0, 68, 155, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 203, 12, 0, 0, 82, 155, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 38, 11, 0, 0, 102, 155, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 185, 17, 0, 0, - 111, 155, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 165, 17, 0, 0, 124, 155, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 166, 17, 0, 0, 137, 155, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 28, 17, 0, 0, 150, 155, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 181, 17, 0, 0, 163, 155, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 182, 17, 0, 0, 176, - 155, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 17, 0, 0, 189, 155, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 184, 17, 0, 0, 202, 155, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 118, 3, 0, 0, 215, 155, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 55, 6, 0, 0, 251, 155, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 180, 17, 0, 0, 4, 156, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 126, 4, 0, 0, 17, 156, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 114, 3, 0, 0, - 35, 156, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 168, 17, 0, 0, 48, 156, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 172, 17, 0, 0, 62, 156, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 44, 6, 0, 0, 75, 156, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 70, 3, 0, 0, 88, 156, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 118, 3, 0, 0, 101, 156, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 175, 17, 0, 0, 114, 156, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 176, 17, 0, 0, - 127, 156, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 177, 17, 0, 0, 140, 156, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 178, 17, 0, 0, 153, 156, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 62, 3, 0, 0, 166, 156, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 179, 17, 0, 0, 179, 156, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 192, - 156, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 16, 0, 0, 205, 156, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, - 17, 0, 0, 218, 156, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, 4, 0, 0, 232, 156, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 167, 17, 0, 0, 241, 156, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 157, 2, 0, 0, 4, 157, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 171, 17, 0, 0, 13, 157, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 76, 17, 0, 0, 26, - 157, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 77, 17, 0, 0, 39, 157, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 243, - 2, 0, 0, 52, 157, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 169, 17, 0, 0, 65, 157, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 123, 4, 0, 0, 78, 157, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 170, 17, 0, 0, 92, 157, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 174, 17, 0, 0, 101, 157, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 76, 17, 0, 0, - 114, 157, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 77, 17, 0, 0, 127, 157, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 243, 2, 0, 0, 140, 157, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 123, 4, 0, 0, 153, 157, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 173, 17, 0, 0, 179, 157, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 197, 17, 0, 0, 188, - 157, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 3, 0, 0, 201, 157, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 237, - 10, 0, 0, 214, 157, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 196, 17, 0, 0, 238, 157, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 66, 18, 0, 0, 247, 157, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 18, 18, 0, 0, 4, 158, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 19, 18, 0, 0, 17, 158, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 20, 18, 0, 0, - 30, 158, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 21, 18, 0, 0, 43, 158, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 22, 18, 0, 0, 56, 158, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 23, 18, 0, 0, 69, 158, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 27, 18, 0, 0, 82, 158, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 28, 18, 0, 0, 95, 158, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 42, 18, 0, 0, 108, 158, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 43, 18, 0, 0, - 121, 158, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 44, 18, 0, 0, 134, 158, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 154, 2, 0, 0, 147, 158, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 155, 3, 0, 0, 160, 158, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 160, 2, 0, 0, 173, 158, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 114, 3, 0, 0, 186, 158, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 199, 158, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 238, 2, - 0, 0, 212, 158, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 174, 3, 0, 0, 86, 159, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 26, 18, 0, 0, 95, 159, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 23, 18, 0, 0, 108, 159, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 24, 18, 0, 0, 121, 159, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 25, 18, 0, 0, 162, - 159, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 41, 18, 0, 0, 171, 159, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 29, - 18, 0, 0, 184, 159, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 30, 18, 0, 0, 197, 159, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 31, 18, 0, 0, 210, 159, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 32, 18, 0, 0, 223, 159, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 33, 18, 0, 0, 236, 159, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 34, 18, 0, - 0, 249, 159, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 24, 18, 0, 0, 6, 160, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 35, 18, 0, 0, 19, 160, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 36, 18, 0, 0, 32, 160, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 37, 18, 0, 0, 45, 160, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 38, 18, 0, 0, 58, 160, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, 18, 0, 0, 71, 160, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 40, 18, 0, 0, - 121, 160, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 65, 18, 0, 0, 132, 160, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 45, 18, 0, 0, 147, 160, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 51, 18, 0, 0, 162, 160, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 58, 18, 0, 0, 178, 160, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 50, 18, 0, 0, 189, 160, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 46, 18, 0, 0, 204, 160, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 47, 18, - 0, 0, 219, 160, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 48, 18, 0, 0, 234, 160, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 49, 18, 0, 0, 250, 160, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 57, 18, 0, 0, 5, 161, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 52, 18, 0, 0, 20, 161, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 53, 18, 0, 0, 35, 161, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 54, 18, 0, 0, 50, 161, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 55, 18, 0, - 0, 65, 161, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 56, 18, 0, 0, 81, 161, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 64, 18, 0, 0, 92, 161, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 59, 18, 0, 0, 107, 161, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 60, 18, 0, 0, 122, 161, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 61, 18, 0, 0, 137, 161, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 62, 18, 0, 0, 152, 161, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 63, 18, - 0, 0, 173, 161, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 18, 0, 0, 182, 161, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 114, 3, 0, 0, 195, 161, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 69, 18, 0, 0, 208, 161, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 39, 4, 0, 0, 238, 161, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 68, 18, 0, 0, 251, - 161, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 114, 3, 0, 0, 21, 162, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 82, - 18, 0, 0, 30, 162, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 3, 0, 0, 43, 162, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 237, 10, 0, 0, 74, 162, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 94, 18, 0, 0, 83, 162, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 0, 16, 0, 0, 96, 162, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 2, 0, 0, 109, - 162, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 92, 18, 0, 0, 122, 162, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 93, - 18, 0, 0, 135, 162, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 155, 3, 0, 0, 148, 162, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 39, 4, 0, 0, 204, 162, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 177, 20, 0, 0, 214, 162, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 102, 18, 0, 0, 227, 162, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 24, 17, 0, - 0, 240, 162, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 23, 17, 0, 0, 254, 162, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 26, 17, 0, 0, 12, 163, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 157, 17, 0, 0, 26, 163, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 160, 17, 0, 0, 40, 163, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 166, 19, 0, 0, 54, 163, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 138, 20, 0, 0, 68, 163, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 139, 20, - 0, 0, 82, 163, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 148, 20, 0, 0, 96, 163, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 153, 17, 0, 0, 110, 163, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 149, 20, 0, 0, 124, 163, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 150, 20, 0, 0, 138, 163, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 151, 20, 0, 0, - 152, 163, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 152, 20, 0, 0, 166, 163, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 153, 20, 0, 0, 180, 163, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 20, 0, 0, 194, 163, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 155, 20, 0, 0, 208, 163, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 156, 20, 0, 0, 222, - 163, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 157, 20, 0, 0, 236, 163, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 158, 20, 0, 0, 250, 163, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 159, 20, 0, 0, 8, 164, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 160, 20, 0, 0, 22, 164, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 161, 20, 0, 0, 36, 164, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 155, 17, 0, 0, 50, 164, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 162, 20, - 0, 0, 64, 164, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 159, 17, 0, 0, 78, 164, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 163, 20, 0, 0, 92, 164, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 156, 17, 0, 0, 106, 164, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 164, 20, 0, 0, 120, 164, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 165, 20, 0, 0, - 134, 164, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 83, 18, 0, 0, 148, 164, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 166, 20, 0, 0, 162, 164, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 167, 20, 0, 0, 176, 164, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 91, 18, 0, 0, 190, 164, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 171, 20, 0, 0, 204, 164, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 97, 18, 0, 0, 218, 164, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 172, 20, - 0, 0, 237, 164, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 56, 4, 0, 0, 250, 164, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 70, 3, 0, 0, 7, 165, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 33, 6, 0, 0, 21, 165, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 173, 20, 0, 0, 36, 165, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 69, 19, 0, 0, 45, 165, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 16, 0, 0, 58, 165, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 103, 18, 0, - 0, 71, 165, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 191, 8, 0, 0, 84, 165, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 182, 4, 0, 0, 97, 165, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 246, 18, 0, 0, 110, 165, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 247, 18, 0, 0, 123, 165, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 248, 18, 0, 0, 136, - 165, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 239, 2, 0, 0, 149, 165, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 249, - 18, 0, 0, 162, 165, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 250, 18, 0, 0, 175, 165, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 251, 18, 0, 0, 188, 165, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 252, 18, 0, 0, 201, 165, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 253, 18, 0, 0, 214, 165, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 254, 18, - 0, 0, 227, 165, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 255, 18, 0, 0, 240, 165, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 66, 19, 0, 0, 253, 165, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 67, 19, 0, 0, 10, 166, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 68, 19, 0, 0, 71, 166, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 245, 18, 0, 0, 80, - 166, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 153, 2, 0, 0, 93, 166, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 110, - 3, 0, 0, 106, 166, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 104, 18, 0, 0, 119, 166, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 242, 5, 0, 0, 132, 166, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 105, 18, 0, 0, 145, 166, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 214, 18, 0, 0, 158, 166, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 215, 18, 0, - 0, 171, 166, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 184, 166, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 234, 18, 0, 0, 197, 166, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 143, 18, 0, 0, 210, 166, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 144, 18, 0, 0, 223, 166, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 235, 18, 0, 0, 236, - 166, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 236, 18, 0, 0, 249, 166, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 237, 18, 0, 0, 6, 167, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 238, 18, 0, 0, 19, 167, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 167, 2, 0, 0, 32, 167, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 13, 16, 0, 0, 45, 167, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 243, 18, 0, 0, 58, 167, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 244, 18, 0, 0, - 77, 167, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 233, 18, 0, 0, 87, 167, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 106, 18, 0, 0, 114, 167, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 108, 18, 0, 0, 127, 167, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 109, 18, 0, 0, 141, 167, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 110, 18, 0, 0, 154, - 167, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 111, 18, 0, 0, 167, 167, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 112, 18, 0, 0, 180, 167, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 118, 3, 0, 0, 193, 167, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 70, 3, 0, 0, 206, 167, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 123, 4, 0, 0, 219, 167, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 119, 18, 0, 0, 232, 167, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, 17, - 0, 0, 245, 167, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 127, 18, 0, 0, 2, 168, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 128, 18, 0, 0, 15, 168, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 129, 18, 0, 0, 28, 168, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 130, 18, 0, 0, 41, 168, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 137, 18, 0, 0, 59, - 168, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 138, 18, 0, 0, 72, 168, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 123, - 3, 0, 0, 85, 168, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 139, 18, 0, 0, 98, 168, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 140, 18, 0, 0, 111, 168, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 141, 18, 0, 0, 124, 168, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 142, 18, 0, 0, 137, 168, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, - 150, 168, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 16, 0, 0, 163, 168, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 76, 17, 0, 0, 176, 168, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 143, 18, 0, 0, 189, 168, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 144, 18, 0, 0, 202, 168, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 145, 18, 0, 0, 215, - 168, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 146, 18, 0, 0, 229, 168, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 147, 18, 0, 0, 243, 168, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 157, 18, 0, 0, 1, 169, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 163, 18, 0, 0, 15, 169, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 165, 18, 0, 0, 29, 169, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 166, 18, 0, 0, 43, 169, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 169, 18, - 0, 0, 57, 169, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 170, 18, 0, 0, 71, 169, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 176, 18, 0, 0, 85, 169, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 177, 18, 0, 0, 99, 169, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 178, 18, 0, 0, 113, 169, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 179, 18, 0, 0, - 127, 169, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 180, 18, 0, 0, 141, 169, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 183, 18, 0, 0, 155, 169, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 189, 18, 0, 0, 169, 169, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 190, 18, 0, 0, 183, 169, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 191, 18, 0, 0, 197, - 169, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 192, 18, 0, 0, 211, 169, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 193, 18, 0, 0, 225, 169, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 194, 18, 0, 0, 239, 169, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 195, 18, 0, 0, 253, 169, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 208, 9, 0, 0, 11, 170, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 198, 18, 0, 0, 25, 170, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 204, 18, - 0, 0, 39, 170, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 205, 18, 0, 0, 53, 170, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 210, 18, 0, 0, 67, 170, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 211, 18, 0, 0, 81, 170, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 212, 18, 0, 0, 95, 170, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 9, 0, 0, 0, 109, - 170, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 218, 18, 0, 0, 123, 170, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 220, 18, 0, 0, 137, 170, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 221, 18, 0, 0, 151, 170, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 222, 18, 0, 0, 165, 170, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 133, 4, 0, 0, 179, 170, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 4, 0, 0, 198, 170, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 107, 18, - 0, 0, 211, 170, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 186, 17, 0, 0, 225, 170, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 118, 18, 0, 0, 234, 170, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 77, 17, 0, 0, 247, 170, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 117, 18, 0, 0, 4, 171, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 42, 17, 0, 0, - 22, 171, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 116, 18, 0, 0, 35, 171, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 113, 18, 0, 0, 48, 171, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 114, 18, 0, 0, 61, 171, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 115, 18, 0, 0, 75, 171, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 124, 18, 0, 0, 84, 171, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 77, 17, 0, 0, 97, 171, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 76, 17, 0, - 0, 110, 171, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 80, 17, 0, 0, 123, 171, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 120, 18, 0, 0, 136, 171, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 81, 17, 0, 0, 149, 171, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 121, 18, 0, 0, 162, 171, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 16, 0, 0, 175, - 171, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 122, 18, 0, 0, 188, 171, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 123, 18, 0, 0, 201, 171, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 42, 17, 0, 0, 214, 171, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 159, 16, 0, 0, 227, 171, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 243, 2, 0, 0, 241, 171, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 126, 18, 0, 0, 250, 171, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 125, 18, - 0, 0, 7, 172, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 135, 14, 0, 0, 21, 172, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 136, 18, 0, 0, 30, 172, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 131, 18, 0, 0, 43, 172, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 173, 2, 0, 0, 56, 172, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 132, 18, 0, 0, 69, - 172, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 42, 17, 0, 0, 82, 172, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 33, - 6, 0, 0, 95, 172, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 164, 3, 0, 0, 114, 172, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 135, 18, 0, 0, 123, 172, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 76, 17, 0, 0, 136, 172, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 77, 17, 0, 0, 149, 172, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 16, 0, 0, - 162, 172, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 133, 18, 0, 0, 175, 172, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 134, 18, 0, 0, 189, 172, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 156, 18, 0, 0, 198, 172, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 148, 18, 0, 0, 211, 172, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 149, 18, 0, 0, 224, - 172, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 150, 18, 0, 0, 237, 172, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 151, 18, 0, 0, 250, 172, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 152, 18, 0, 0, 7, 173, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 153, 18, 0, 0, 20, 173, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 18, 0, 0, 33, 173, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 155, 18, 0, 0, 52, 173, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 162, 18, - 0, 0, 61, 173, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 158, 18, 0, 0, 74, 173, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 159, 18, 0, 0, 87, 173, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 18, 0, 0, 100, 173, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 161, 18, 0, 0, 119, 173, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 164, 18, 0, 0, - 128, 173, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 158, 18, 0, 0, 141, 173, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 159, 18, 0, 0, 154, 173, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 161, 18, 0, 0, 173, 173, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 168, 18, 0, 0, 182, 173, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 158, 18, 0, 0, 195, - 173, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 159, 18, 0, 0, 208, 173, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 167, 18, 0, 0, 221, 173, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 161, 18, 0, 0, 240, 173, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 175, 18, 0, 0, 249, 173, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 171, 18, 0, 0, 6, 174, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 172, 18, 0, 0, 19, 174, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 173, 18, - 0, 0, 32, 174, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 174, 18, 0, 0, 51, 174, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 182, 18, 0, 0, 60, 174, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 181, 18, 0, 0, 73, 174, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 33, 6, 0, 0, 86, 174, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 117, 9, 0, 0, 105, - 174, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 188, 18, 0, 0, 114, 174, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 184, 18, 0, 0, 127, 174, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 181, 18, 0, 0, 140, 174, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 33, 6, 0, 0, 153, 174, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 185, 18, 0, 0, 166, 174, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 186, 18, 0, 0, 179, 174, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 139, 18, - 0, 0, 192, 174, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 187, 18, 0, 0, 218, 174, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 197, 18, 0, 0, 227, 174, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 139, 18, 0, 0, 240, 174, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 180, 18, 0, 0, 253, 174, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 196, 18, 0, 0, - 11, 175, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 203, 18, 0, 0, 20, 175, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 199, 18, 0, 0, 33, 175, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 200, 18, 0, 0, 46, 175, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 201, 18, 0, 0, 59, 175, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 202, 18, 0, 0, 73, 175, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 209, 18, 0, 0, 82, 175, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 153, 2, - 0, 0, 95, 175, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 206, 18, 0, 0, 108, 175, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 207, 18, 0, 0, 121, 175, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 208, 18, 0, 0, 134, 175, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 148, 175, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 213, 18, 0, 0, - 157, 175, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 87, 4, 0, 0, 170, 175, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 88, 4, 0, 0, 183, 175, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 187, 3, 0, 0, 207, 175, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 217, 18, 0, 0, 216, 175, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 155, 3, 0, 0, 229, 175, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 42, 17, 0, 0, 242, 175, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, - 0, 255, 175, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 66, 9, 0, 0, 12, 176, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 28, 17, 0, 0, 25, 176, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 214, 18, 0, 0, 38, 176, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 215, 18, 0, 0, 51, 176, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 216, 18, 0, 0, 150, 176, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 219, 18, 0, 0, 159, 176, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 170, 18, - 0, 0, 172, 176, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 16, 0, 0, 185, 176, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 183, 2, 0, 0, 209, 176, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 226, 18, 0, 0, 218, 176, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 155, 3, 0, 0, 231, 176, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 42, 17, 0, 0, 244, - 176, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 170, 18, 0, 0, 1, 177, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 223, - 18, 0, 0, 14, 177, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 224, 18, 0, 0, 75, 177, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 225, 18, 0, 0, 88, 177, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 232, 18, 0, 0, 97, 177, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 227, 18, 0, 0, 110, 177, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 228, 18, 0, 0, - 123, 177, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 229, 18, 0, 0, 136, 177, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 230, 18, 0, 0, 149, 177, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 231, 18, 0, 0, 210, 177, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 242, 18, 0, 0, 219, 177, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 9, 0, 0, 0, 232, - 177, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 245, 177, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 239, - 18, 0, 0, 2, 178, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 118, 3, 0, 0, 15, 178, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 240, 18, 0, 0, 28, 178, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 241, 18, 0, 0, 41, 178, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 39, 4, 0, 0, 54, 178, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 4, 0, 0, 18, - 179, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 65, 19, 0, 0, 28, 179, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 157, - 2, 0, 0, 41, 179, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 56, 16, 0, 0, 54, 179, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 8, 19, 0, 0, 67, 179, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 47, 19, 0, 0, 80, 179, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 48, 19, 0, 0, 93, 179, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 3, 0, 0, 106, - 179, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 118, 3, 0, 0, 119, 179, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 49, - 19, 0, 0, 132, 179, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 50, 19, 0, 0, 145, 179, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 44, 6, 0, 0, 158, 179, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 132, 9, 0, 0, 171, 179, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 51, 19, 0, 0, 184, 179, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, - 0, 197, 179, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 52, 19, 0, 0, 210, 179, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 9, 0, 0, 0, 223, 179, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 153, 7, 0, 0, 236, 179, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 170, 17, 0, 0, 249, 179, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 53, 19, 0, 0, 6, 180, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 54, 19, 0, 0, 19, 180, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 55, 19, 0, - 0, 32, 180, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 215, 18, 0, 0, 46, 180, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 110, 3, 0, 0, 60, 180, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 26, 19, 0, 0, 74, 180, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 39, 4, 0, 0, 88, 180, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 153, 2, 0, 0, 102, 180, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 64, 19, 0, 0, 122, 180, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 46, 19, 0, - 0, 132, 180, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 16, 0, 0, 145, 180, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 0, 19, 0, 0, 158, 180, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 65, 16, 0, 0, 171, 180, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 170, 17, 0, 0, 184, 180, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 60, 3, 0, 0, 197, 180, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 1, 19, 0, 0, 210, 180, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 166, 17, - 0, 0, 223, 180, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 2, 19, 0, 0, 236, 180, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 4, 19, 0, 0, 249, 180, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 5, 19, 0, 0, 6, 181, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 6, 19, 0, 0, 19, 181, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 7, 19, 0, 0, 32, 181, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 123, 4, 0, 0, 45, 181, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 8, 19, 0, 0, - 58, 181, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 14, 19, 0, 0, 71, 181, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 15, 19, 0, 0, 84, 181, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 16, 19, 0, 0, 97, 181, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 17, 19, 0, 0, 111, 181, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 18, 19, 0, 0, 125, 181, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 19, 19, 0, 0, 139, 181, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 20, 19, 0, - 0, 153, 181, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 21, 19, 0, 0, 167, 181, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 22, 19, 0, 0, 181, 181, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 189, 6, 0, 0, 195, 181, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 25, 19, 0, 0, 209, 181, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 26, 19, 0, 0, 223, - 181, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 3, 0, 0, 237, 181, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 27, - 19, 0, 0, 251, 181, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 208, 9, 0, 0, 9, 182, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 41, 19, 0, 0, 23, 182, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 45, 19, 0, 0, 137, 182, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 3, 19, 0, 0, 146, 182, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 157, 2, 0, 0, 159, - 182, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 186, 17, 0, 0, 172, 182, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 153, 2, 0, 0, 185, 182, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 198, 182, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 170, 17, 0, 0, 211, 182, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 114, 3, 0, 0, 18, 183, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 13, 19, 0, 0, 27, 183, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 186, 17, - 0, 0, 40, 183, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 153, 2, 0, 0, 53, 183, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 160, 2, 0, 0, 66, 183, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 9, 19, 0, 0, 79, 183, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 56, 16, 0, 0, 92, 183, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 10, 19, 0, 0, 105, - 183, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 153, 7, 0, 0, 118, 183, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 118, - 3, 0, 0, 131, 183, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 167, 2, 0, 0, 144, 183, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 11, 19, 0, 0, 157, 183, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 4, 0, 0, 170, 183, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 12, 19, 0, 0, 196, 183, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 24, 19, 0, 0, - 205, 183, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 157, 2, 0, 0, 218, 183, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 161, 2, 0, 0, 231, 183, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 23, 19, 0, 0, 244, 183, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 70, 3, 0, 0, 7, 184, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 40, 19, 0, 0, 16, 184, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 28, 19, 0, 0, 29, 184, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 29, 19, 0, 0, - 42, 184, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 30, 19, 0, 0, 55, 184, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 31, 19, 0, 0, 68, 184, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 32, 19, 0, 0, 81, 184, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 33, 19, 0, 0, 94, 184, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 34, 19, 0, 0, 107, 184, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 35, 19, 0, 0, 120, 184, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 36, 19, 0, - 0, 133, 184, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 37, 19, 0, 0, 146, 184, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 38, 19, 0, 0, 159, 184, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, 19, 0, 0, 178, 184, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 44, 19, 0, 0, 187, 184, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 42, 19, 0, 0, 200, - 184, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 43, 19, 0, 0, 213, 184, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 58, - 16, 0, 0, 226, 184, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, 4, 0, 0, 11, 185, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 59, 19, 0, 0, 20, 185, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 56, 19, 0, 0, 33, 185, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 57, 19, 0, 0, 46, 185, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 58, 19, 0, 0, 91, - 185, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 63, 19, 0, 0, 100, 185, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, - 16, 0, 0, 113, 185, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 60, 19, 0, 0, 126, 185, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 61, 19, 0, 0, 139, 185, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 215, 18, 0, 0, 152, 185, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 62, 19, 0, 0, 200, 185, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 107, 19, 0, - 0, 209, 185, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 242, 9, 0, 0, 222, 185, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 21, 17, 0, 0, 235, 185, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 19, 0, 0, 248, 185, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 19, 17, 0, 0, 5, 186, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 71, 19, 0, 0, 18, 186, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 72, 19, 0, 0, 31, 186, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 73, 19, 0, - 0, 44, 186, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 74, 19, 0, 0, 57, 186, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 75, 19, 0, 0, 70, 186, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 76, 19, 0, 0, 83, 186, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 77, 19, 0, 0, 96, 186, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 78, 19, 0, 0, 109, 186, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 79, 19, 0, 0, 122, 186, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 80, 19, - 0, 0, 135, 186, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 81, 19, 0, 0, 148, 186, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 82, 19, 0, 0, 161, 186, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 83, 19, 0, 0, 174, 186, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 84, 19, 0, 0, 187, 186, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 85, 19, 0, 0, 200, - 186, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 86, 19, 0, 0, 213, 186, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 87, - 19, 0, 0, 226, 186, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 88, 19, 0, 0, 239, 186, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 89, 19, 0, 0, 252, 186, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 90, 19, 0, 0, 9, 187, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 91, 19, 0, 0, 22, 187, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 92, 19, 0, 0, - 35, 187, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 93, 19, 0, 0, 48, 187, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 94, 19, 0, 0, 61, 187, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 95, 19, 0, 0, 74, 187, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 96, 19, 0, 0, 87, 187, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 97, 19, 0, 0, 100, 187, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 98, 19, 0, 0, 113, 187, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 99, 19, 0, - 0, 126, 187, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 100, 19, 0, 0, 139, 187, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 101, 19, 0, 0, 152, 187, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 102, 19, 0, 0, 165, 187, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 103, 19, 0, 0, 178, 187, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 104, 19, 0, 0, - 191, 187, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 105, 19, 0, 0, 204, 187, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 106, 19, 0, 0, 235, 187, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 165, 19, 0, 0, 244, 187, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 108, 19, 0, 0, 1, 188, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 109, 19, 0, 0, 14, - 188, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 110, 19, 0, 0, 27, 188, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 111, - 19, 0, 0, 40, 188, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 112, 19, 0, 0, 53, 188, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 113, 19, 0, 0, 66, 188, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 114, 19, 0, 0, 79, 188, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 115, 19, 0, 0, 92, 188, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 116, 19, 0, 0, - 105, 188, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 117, 19, 0, 0, 118, 188, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 118, 19, 0, 0, 131, 188, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 119, 19, 0, 0, 144, 188, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 120, 19, 0, 0, 157, 188, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 121, 19, 0, 0, 170, - 188, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 122, 19, 0, 0, 183, 188, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 123, 19, 0, 0, 196, 188, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 124, 19, 0, 0, 209, 188, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 125, 19, 0, 0, 222, 188, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 126, 19, 0, 0, 235, - 188, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 127, 19, 0, 0, 248, 188, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 128, 19, 0, 0, 5, 189, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 129, 19, 0, 0, 18, 189, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 130, 19, 0, 0, 31, 189, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 131, 19, 0, 0, 44, 189, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 132, 19, 0, 0, 57, 189, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 133, 19, 0, - 0, 70, 189, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 134, 19, 0, 0, 83, 189, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 135, 19, 0, 0, 96, 189, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 136, 19, 0, 0, 109, 189, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 137, 19, 0, 0, 122, 189, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 138, 19, 0, 0, 135, - 189, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 139, 19, 0, 0, 148, 189, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 140, 19, 0, 0, 161, 189, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 141, 19, 0, 0, 174, 189, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 142, 19, 0, 0, 187, 189, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 143, 19, 0, 0, 200, - 189, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 144, 19, 0, 0, 213, 189, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 145, 19, 0, 0, 226, 189, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 146, 19, 0, 0, 239, 189, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 147, 19, 0, 0, 252, 189, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 148, 19, 0, 0, 9, 190, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 149, 19, 0, 0, 22, 190, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 150, 19, - 0, 0, 35, 190, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 151, 19, 0, 0, 48, 190, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 154, 19, 0, 0, 61, 190, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 155, 19, 0, 0, 74, 190, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 156, 19, 0, 0, 87, 190, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 157, 19, 0, 0, - 100, 190, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 158, 19, 0, 0, 113, 190, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 159, 19, 0, 0, 126, 190, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 19, 0, 0, 139, 190, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 161, 19, 0, 0, 152, 190, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 162, 19, 0, 0, 165, - 190, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 103, 19, 0, 0, 178, 190, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 104, 19, 0, 0, 191, 190, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 163, 19, 0, 0, 204, 190, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 164, 19, 0, 0, 218, 190, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 153, 19, 0, 0, 227, - 190, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 255, 11, 0, 0, 240, 190, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 152, 19, 0, 0, 3, 191, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 137, 20, 0, 0, 12, 191, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 167, 19, 0, 0, 25, 191, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 182, 19, 0, 0, 38, 191, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 180, 19, 0, 0, 65, 191, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 19, 0, - 0, 78, 191, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 184, 19, 0, 0, 92, 191, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 185, 19, 0, 0, 105, 191, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 186, 19, 0, 0, 118, 191, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 242, 5, 0, 0, 131, 191, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 187, 19, 0, 0, 144, - 191, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 190, 19, 0, 0, 157, 191, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 193, 19, 0, 0, 170, 191, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 194, 19, 0, 0, 183, 191, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 195, 19, 0, 0, 196, 191, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 196, 19, 0, 0, 209, - 191, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 197, 19, 0, 0, 222, 191, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 198, 19, 0, 0, 235, 191, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 199, 19, 0, 0, 251, 191, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 200, 19, 0, 0, 11, 192, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 201, 19, 0, 0, 27, 192, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 202, 19, 0, 0, 43, 192, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 81, 12, - 0, 0, 59, 192, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 203, 19, 0, 0, 75, 192, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 204, 19, 0, 0, 91, 192, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 209, 8, 0, 0, 107, 192, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 39, 4, 0, 0, 120, 192, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 205, 19, 0, 0, 133, - 192, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 25, 20, 0, 0, 152, 192, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 167, - 19, 0, 0, 161, 192, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 168, 19, 0, 0, 174, 192, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 169, 19, 0, 0, 187, 192, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 170, 19, 0, 0, 200, 192, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 171, 19, 0, 0, 213, 192, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 181, 19, - 0, 0, 226, 192, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 239, 192, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 95, 18, 0, 0, 253, 192, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 180, 19, 0, 0, 6, 193, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 160, 3, 0, 0, 19, 193, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 172, 19, 0, 0, 32, - 193, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 173, 19, 0, 0, 45, 193, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 174, - 19, 0, 0, 58, 193, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 175, 19, 0, 0, 71, 193, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 176, 19, 0, 0, 84, 193, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 177, 19, 0, 0, 97, 193, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 178, 19, 0, 0, 110, 193, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 179, 19, 0, 0, - 123, 193, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, 4, 0, 0, 147, 193, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 189, 19, 0, 0, 156, 193, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 188, 19, 0, 0, 169, 193, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 118, 3, 0, 0, 195, 193, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 192, 19, 0, 0, 204, 193, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 66, 7, 0, 0, 217, 193, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 191, 19, - 0, 0, 236, 193, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 244, 16, 0, 0, 247, 193, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 197, 2, 0, 0, 6, 194, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 206, 19, 0, 0, 21, 194, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 207, 19, 0, 0, 36, 194, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 208, 19, 0, 0, 51, - 194, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 209, 19, 0, 0, 66, 194, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 186, - 17, 0, 0, 81, 194, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 123, 4, 0, 0, 96, 194, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 170, 17, 0, 0, 111, 194, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 210, 19, 0, 0, 126, 194, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 211, 19, 0, 0, 141, 194, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 118, 3, 0, 0, - 156, 194, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, 4, 0, 0, 189, 194, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 212, 19, 0, 0, 204, 194, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 109, 20, 0, 0, 226, 194, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 212, 19, 0, 0, 237, 194, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 213, 19, 0, 0, 252, - 194, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 214, 19, 0, 0, 11, 195, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, - 16, 0, 0, 26, 195, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 215, 19, 0, 0, 41, 195, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 216, 19, 0, 0, 74, 195, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 217, 19, 0, 0, 89, 195, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 1, 20, 0, 0, 104, 195, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 25, 20, 0, 0, - 121, 195, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 20, 0, 0, 130, 195, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 218, 19, 0, 0, 143, 195, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 219, 19, 0, 0, 156, 195, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 220, 19, 0, 0, 169, 195, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 221, 19, 0, 0, 182, - 195, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 222, 19, 0, 0, 195, 195, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 223, 19, 0, 0, 208, 195, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 224, 19, 0, 0, 221, 195, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 225, 19, 0, 0, 239, 195, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 249, 16, 0, 0, 252, - 195, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 101, 18, 0, 0, 10, 196, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 226, - 19, 0, 0, 23, 196, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 227, 19, 0, 0, 36, 196, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 228, 19, 0, 0, 49, 196, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 243, 19, 0, 0, 62, 196, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 244, 19, 0, 0, 86, 196, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 242, 19, 0, 0, - 95, 196, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 249, 4, 0, 0, 108, 196, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 98, 18, 0, 0, 121, 196, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 229, 19, 0, 0, 134, 196, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 230, 19, 0, 0, 147, 196, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 231, 19, 0, 0, 160, - 196, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 232, 19, 0, 0, 173, 196, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 233, 19, 0, 0, 186, 196, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 234, 19, 0, 0, 213, 196, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 235, 19, 0, 0, 226, 196, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 236, 19, 0, 0, 240, - 196, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 237, 19, 0, 0, 0, 197, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 238, - 19, 0, 0, 16, 197, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 239, 19, 0, 0, 29, 197, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 240, 19, 0, 0, 48, 197, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 241, 19, 0, 0, 59, 197, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 70, 3, 0, 0, 74, 197, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 56, 4, 0, 0, 95, - 197, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 255, 19, 0, 0, 104, 197, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 255, 16, 0, 0, 123, 197, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 254, 19, 0, 0, 132, 197, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 245, 19, 0, 0, 145, 197, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 161, 16, 0, 0, 158, - 197, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 246, 19, 0, 0, 171, 197, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 247, 19, 0, 0, 184, 197, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 248, 19, 0, 0, 197, 197, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 249, 19, 0, 0, 210, 197, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 250, 19, 0, 0, 223, - 197, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 251, 19, 0, 0, 236, 197, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 252, 19, 0, 0, 249, 197, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 253, 19, 0, 0, 6, 198, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 39, 4, 0, 0, 20, 198, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 1, 20, 0, 0, 31, 198, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 2, 20, 0, 0, 46, 198, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 3, 20, 0, 0, - 61, 198, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 214, 19, 0, 0, 76, 198, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 22, 20, 0, 0, 91, 198, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 23, 20, 0, 0, 106, 198, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 24, 20, 0, 0, 127, 198, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 21, 20, 0, 0, 138, 198, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 4, 20, 0, 0, 153, 198, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 5, 20, 0, 0, - 168, 198, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 184, 19, 0, 0, 183, 198, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 6, 20, 0, 0, 198, 198, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 7, 20, 0, 0, 213, 198, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 8, 20, 0, 0, 228, 198, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 9, 20, 0, 0, 243, 198, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 10, 20, 0, 0, 2, 199, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 11, 20, 0, 0, - 17, 199, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 12, 20, 0, 0, 32, 199, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 13, 20, 0, 0, 47, 199, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 14, 20, 0, 0, 62, 199, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 15, 20, 0, 0, 77, 199, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 16, 20, 0, 0, 92, 199, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 17, 20, 0, 0, 107, 199, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 18, 20, 0, 0, - 122, 199, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 19, 20, 0, 0, 137, 199, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 20, 20, 0, 0, 152, 199, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 205, 19, 0, 0, 167, 199, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 39, 4, 0, 0, 182, 199, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 1, 20, 0, 0, 210, 199, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 25, 20, 0, 0, 219, 199, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 2, 20, 0, 0, - 232, 199, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 26, 20, 0, 0, 245, 199, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 27, 20, 0, 0, 2, 200, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 107, 20, 0, 0, 26, 200, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 106, 20, 0, 0, 35, 200, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 249, 4, 0, 0, 48, 200, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 169, 4, 0, 0, 61, 200, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 28, 20, 0, 0, - 74, 200, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 29, 20, 0, 0, 87, 200, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 30, 20, 0, 0, 100, 200, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 31, 20, 0, 0, 113, 200, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 32, 20, 0, 0, 126, 200, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 102, 20, 0, 0, 139, 200, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 103, 20, 0, 0, 152, 200, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 104, 20, - 0, 0, 165, 200, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 105, 20, 0, 0, 184, 200, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 101, 20, 0, 0, 194, 200, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 153, 2, 0, 0, 207, 200, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 33, 20, 0, 0, 220, 200, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 34, 20, 0, 0, - 233, 200, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 56, 20, 0, 0, 246, 200, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 57, 20, 0, 0, 3, 201, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 58, 20, 0, 0, 16, 201, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 59, 20, 0, 0, 29, 201, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 60, 20, 0, 0, 42, 201, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 61, 20, 0, 0, 55, 201, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 62, 20, 0, 0, - 68, 201, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 63, 20, 0, 0, 81, 201, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 64, 20, 0, 0, 94, 201, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 65, 20, 0, 0, 107, 201, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 66, 20, 0, 0, 120, 201, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 67, 20, 0, 0, 134, 201, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 68, 20, 0, 0, 148, 201, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 69, 20, 0, - 0, 162, 201, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 20, 0, 0, 176, 201, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 71, 20, 0, 0, 190, 201, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 72, 20, 0, 0, 204, 201, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 73, 20, 0, 0, 218, 201, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 74, 20, 0, 0, 232, - 201, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 20, 0, 0, 246, 201, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, - 3, 0, 0, 4, 202, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 118, 3, 0, 0, 18, 202, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 85, 20, 0, 0, 32, 202, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 153, 7, 0, 0, 46, 202, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 86, 20, 0, 0, 60, 202, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 87, 20, 0, 0, 74, 202, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 88, 20, 0, 0, 88, 202, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 89, 20, 0, - 0, 102, 202, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 90, 20, 0, 0, 116, 202, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 208, 9, 0, 0, 130, 202, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 96, 20, 0, 0, 144, 202, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 97, 20, 0, 0, 158, 202, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 98, 20, 0, 0, 172, - 202, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 99, 20, 0, 0, 186, 202, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, - 4, 0, 0, 200, 202, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 100, 20, 0, 0, 220, 202, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 55, 20, 0, 0, 229, 202, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 35, 20, 0, 0, 242, 202, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 36, 20, 0, 0, 255, 202, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 157, 2, 0, - 0, 12, 203, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 37, 20, 0, 0, 25, 203, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 45, 20, 0, 0, 38, 203, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 46, 20, 0, 0, 51, 203, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 47, 20, 0, 0, 64, 203, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 48, 20, 0, 0, 77, 203, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 49, 20, 0, 0, 90, 203, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 50, 20, 0, 0, - 103, 203, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 51, 20, 0, 0, 116, 203, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 52, 20, 0, 0, 129, 203, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 53, 20, 0, 0, 142, 203, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 54, 20, 0, 0, 155, 203, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, 4, 0, 0, 174, 203, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 44, 20, 0, 0, 183, 203, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 38, 20, - 0, 0, 196, 203, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, 20, 0, 0, 209, 203, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 40, 20, 0, 0, 222, 203, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 41, 20, 0, 0, 235, 203, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 42, 20, 0, 0, 248, 203, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 43, 20, 0, 0, 5, - 204, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, 4, 0, 0, 24, 204, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 84, - 20, 0, 0, 33, 204, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 76, 20, 0, 0, 46, 204, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 77, 20, 0, 0, 59, 204, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 78, 20, 0, 0, 72, 204, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 79, 20, 0, 0, 85, 204, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 80, 20, 0, 0, 98, - 204, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 81, 20, 0, 0, 111, 204, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 82, - 20, 0, 0, 124, 204, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 83, 20, 0, 0, 137, 204, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 39, 4, 0, 0, 151, 204, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 95, 20, 0, 0, 160, 204, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 18, 9, 0, 0, 173, 204, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 101, 18, 0, - 0, 186, 204, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 91, 20, 0, 0, 199, 204, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 93, 20, 0, 0, 218, 204, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 92, 20, 0, 0, 227, 204, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 208, 16, 0, 0, 246, 204, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 94, 20, 0, 0, 0, - 205, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 208, 16, 0, 0, 19, 205, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 108, - 20, 0, 0, 28, 205, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 255, 16, 0, 0, 41, 205, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 82, 5, 0, 0, 60, 205, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 136, 20, 0, 0, 71, 205, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 160, 11, 0, 0, 86, 205, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 110, 20, 0, 0, - 101, 205, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 111, 20, 0, 0, 116, 205, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 112, 20, 0, 0, 131, 205, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 113, 20, 0, 0, 146, 205, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 216, 19, 0, 0, 161, 205, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 114, 20, 0, 0, 176, - 205, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 115, 20, 0, 0, 191, 205, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 135, 20, 0, 0, 212, 205, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 134, 20, 0, 0, 223, 205, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 186, 17, 0, 0, 238, 205, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 116, 20, 0, 0, 253, - 205, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 117, 20, 0, 0, 12, 206, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 118, - 20, 0, 0, 27, 206, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 119, 20, 0, 0, 42, 206, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 71, 6, 0, 0, 57, 206, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 120, 20, 0, 0, 72, 206, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 121, 20, 0, 0, 87, 206, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 122, 20, 0, 0, - 115, 206, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 133, 20, 0, 0, 126, 206, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 123, 20, 0, 0, 141, 206, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 130, 20, 0, 0, 156, 206, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 131, 20, 0, 0, 171, 206, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 132, 20, 0, 0, 186, - 206, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 210, 19, 0, 0, 207, 206, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 129, 20, 0, 0, 218, 206, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 205, 19, 0, 0, 233, 206, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 33, 5, 0, 0, 10, 207, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 124, 20, 0, 0, 32, 207, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 125, 20, 0, 0, 48, 207, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 251, 14, 0, - 0, 70, 207, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 126, 20, 0, 0, 85, 207, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 127, 20, 0, 0, 100, 207, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 128, 20, 0, 0, 117, 207, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 184, 19, 0, 0, 132, 207, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 214, 19, 0, 0, 177, - 207, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 147, 20, 0, 0, 186, 207, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 140, 20, 0, 0, 199, 207, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 141, 20, 0, 0, 212, 207, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 142, 20, 0, 0, 225, 207, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 143, 20, 0, 0, 238, - 207, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 144, 20, 0, 0, 251, 207, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 145, 20, 0, 0, 8, 208, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 146, 20, 0, 0, 27, 208, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 170, 20, 0, 0, 38, 208, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 3, 0, 0, 53, 208, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 168, 20, 0, 0, 68, 208, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 169, 20, 0, 0, - 94, 208, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 176, 20, 0, 0, 106, 208, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 70, 3, 0, 0, 121, 208, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 174, 20, 0, 0, 136, 208, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 175, 20, 0, 0, 152, 208, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 180, 20, 0, 0, 161, - 208, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 24, 17, 0, 0, 174, 208, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, - 17, 0, 0, 188, 208, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 179, 20, 0, 0, 197, 208, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 19, 17, 0, 0, 211, 208, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 228, 20, 0, 0, 221, 208, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 182, 20, 0, 0, 234, 208, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 184, 20, 0, - 0, 247, 208, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 164, 19, 0, 0, 4, 209, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 185, 20, 0, 0, 17, 209, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 186, 20, 0, 0, 30, 209, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 187, 20, 0, 0, 43, 209, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 188, 20, 0, 0, 56, - 209, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 189, 20, 0, 0, 69, 209, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 190, - 20, 0, 0, 82, 209, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 191, 20, 0, 0, 95, 209, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 192, 20, 0, 0, 108, 209, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 193, 20, 0, 0, 121, 209, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 194, 20, 0, 0, 134, 209, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 195, 20, 0, 0, - 147, 209, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 196, 20, 0, 0, 160, 209, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 197, 20, 0, 0, 173, 209, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 198, 20, 0, 0, 186, 209, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 199, 20, 0, 0, 199, 209, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 200, 20, 0, 0, 212, - 209, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 201, 20, 0, 0, 225, 209, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 202, 20, 0, 0, 238, 209, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 203, 20, 0, 0, 251, 209, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 204, 20, 0, 0, 8, 210, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 205, 20, 0, 0, 21, 210, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 206, 20, 0, 0, 34, 210, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 207, 20, - 0, 0, 47, 210, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 208, 20, 0, 0, 60, 210, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 209, 20, 0, 0, 73, 210, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 210, 20, 0, 0, 86, 210, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 211, 20, 0, 0, 99, 210, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 212, 20, 0, 0, - 112, 210, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 213, 20, 0, 0, 125, 210, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 214, 20, 0, 0, 138, 210, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 215, 20, 0, 0, 151, 210, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 216, 20, 0, 0, 164, 210, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 217, 20, 0, 0, 177, - 210, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 218, 20, 0, 0, 190, 210, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 219, 20, 0, 0, 203, 210, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 220, 20, 0, 0, 217, 210, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 221, 20, 0, 0, 231, 210, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 222, 20, 0, 0, 245, - 210, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 223, 20, 0, 0, 3, 211, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 224, - 20, 0, 0, 17, 211, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 225, 20, 0, 0, 31, 211, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 226, 20, 0, 0, 45, 211, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 227, 20, 0, 0, 65, 211, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 183, 20, 0, 0, 70, 211, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 6, 21, 0, 0, - 80, 211, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 230, 20, 0, 0, 93, 211, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 231, 20, 0, 0, 106, 211, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 244, 20, 0, 0, 119, 211, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 245, 20, 0, 0, 132, 211, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 1, 21, 0, 0, 145, 211, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 2, 21, 0, 0, 158, 211, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 3, 21, 0, - 0, 171, 211, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 4, 21, 0, 0, 185, 211, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 5, 21, 0, 0, 222, 211, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 243, 20, 0, 0, 231, 211, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 154, 2, 0, 0, 244, 211, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 9, 0, 0, 0, 1, 212, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 232, 20, 0, 0, 14, 212, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 242, 20, - 0, 0, 37, 212, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 241, 20, 0, 0, 91, 212, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 233, 20, 0, 0, 119, 212, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 240, 20, 0, 0, 130, 212, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 9, 0, 0, 0, 145, 212, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 60, 17, 0, 0, 167, - 212, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 234, 20, 0, 0, 189, 212, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 235, 20, 0, 0, 204, 212, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 233, 4, 0, 0, 219, 212, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 238, 20, 0, 0, 234, 212, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 250, 212, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 222, 10, 0, 0, 16, 213, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 232, 4, - 0, 0, 31, 213, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 239, 20, 0, 0, 53, 213, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 236, 20, 0, 0, 67, 213, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 237, 20, 0, 0, 94, 213, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 0, 21, 0, 0, 103, 213, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 246, 20, 0, 0, 116, - 213, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 247, 20, 0, 0, 142, 213, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 255, 20, 0, 0, 151, 213, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 248, 20, 0, 0, 164, 213, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 159, 5, 0, 0, 187, 213, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 254, 20, 0, 0, 226, 213, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 253, 20, 0, 0, 235, 213, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 248, 20, - 0, 0, 248, 213, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 249, 20, 0, 0, 5, 214, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 250, 20, 0, 0, 18, 214, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 251, 20, 0, 0, 31, 214, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 198, 2, 0, 0, 44, 214, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 186, 17, 0, 0, 57, - 214, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 252, 20, 0, 0, 83, 214, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 130, - 21, 0, 0, 92, 214, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 8, 21, 0, 0, 105, 214, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 9, 21, 0, 0, 118, 214, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 10, 21, 0, 0, 131, 214, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 11, 21, 0, 0, 144, 214, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 12, 21, 0, 0, 157, - 214, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 13, 21, 0, 0, 170, 214, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 14, - 21, 0, 0, 183, 214, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 15, 21, 0, 0, 196, 214, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 18, 21, 0, 0, 209, 214, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 32, 21, 0, 0, 222, 214, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 109, 21, 0, 0, 235, 214, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 129, 21, 0, - 0, 254, 214, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 17, 21, 0, 0, 7, 215, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 70, 3, 0, 0, 20, 215, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 16, 21, 0, 0, 33, 215, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 132, 18, 0, 0, 52, 215, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 31, 21, 0, 0, 61, 215, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 19, 21, 0, 0, 74, 215, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 20, 21, 0, - 0, 87, 215, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 21, 21, 0, 0, 100, 215, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 22, 21, 0, 0, 113, 215, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 23, 21, 0, 0, 126, 215, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 24, 21, 0, 0, 139, 215, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 25, 21, 0, 0, 152, - 215, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 13, 16, 0, 0, 165, 215, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 26, - 21, 0, 0, 178, 215, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 27, 21, 0, 0, 191, 215, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 28, 21, 0, 0, 204, 215, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 29, 21, 0, 0, 217, 215, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 30, 21, 0, 0, 236, 215, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 108, 21, 0, - 0, 247, 215, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 33, 21, 0, 0, 6, 216, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 97, 21, 0, 0, 53, 216, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 96, 21, 0, 0, 64, 216, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 7, 21, 0, 0, 79, 216, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 94, 21, 0, 0, 94, 216, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 95, 21, 0, 0, 115, 216, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 93, 21, 0, - 0, 127, 216, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 34, 21, 0, 0, 142, 216, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 70, 3, 0, 0, 157, 216, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 227, 13, 0, 0, 172, 216, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 15, 12, 0, 0, 187, 216, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 38, 21, 0, 0, 202, - 216, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 239, 4, 0, 0, 217, 216, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 251, - 4, 0, 0, 232, 216, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 57, 21, 0, 0, 247, 216, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 58, 21, 0, 0, 6, 217, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 59, 21, 0, 0, 28, 217, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 60, 21, 0, 0, 43, 217, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, 17, 0, 0, 58, - 217, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 61, 21, 0, 0, 73, 217, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 62, - 21, 0, 0, 88, 217, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 42, 17, 0, 0, 104, 217, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 36, 21, 0, 0, 115, 217, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 35, 21, 0, 0, 131, 217, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 37, 21, 0, 0, 142, 217, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 123, 4, 0, 0, - 157, 217, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 172, 217, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 128, 5, 0, 0, 200, 217, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 56, 21, 0, 0, 211, 217, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 39, 21, 0, 0, 226, 217, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 40, 21, 0, 0, 242, 217, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 55, 21, 0, 0, 253, 217, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 248, 4, - 0, 0, 12, 218, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 249, 4, 0, 0, 34, 218, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 41, 21, 0, 0, 49, 218, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 60, 17, 0, 0, 71, 218, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 131, 18, 0, 0, 86, 218, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 46, 21, 0, 0, 108, - 218, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 3, 7, 0, 0, 124, 218, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 47, - 21, 0, 0, 146, 218, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 3, 7, 0, 0, 162, 218, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 48, 21, 0, 0, 184, 218, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 9, 0, 0, 0, 199, 218, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 78, 7, 0, 0, 215, 218, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 49, 21, 0, 0, 237, - 218, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 3, 7, 0, 0, 253, 218, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 181, - 20, 0, 0, 19, 219, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 3, 7, 0, 0, 35, 219, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 50, 21, 0, 0, 57, 219, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 114, 3, 0, 0, 74, 219, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 54, 21, 0, 0, 89, 219, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 128, 5, 0, 0, 106, - 219, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 53, 21, 0, 0, 117, 219, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 41, - 21, 0, 0, 132, 219, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 60, 17, 0, 0, 147, 219, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 52, 21, 0, 0, 163, 219, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 45, 21, 0, 0, 174, 219, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 131, 18, 0, 0, 189, 219, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 42, 21, 0, - 0, 204, 219, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 89, 17, 0, 0, 219, 219, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 250, 20, 0, 0, 234, 219, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 115, 18, 0, 0, 250, 219, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 44, 21, 0, 0, 3, 220, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 43, 21, 0, 0, 17, 220, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 51, 21, 0, 0, 28, 220, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 131, 18, - 0, 0, 43, 220, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 46, 21, 0, 0, 65, 220, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 3, 7, 0, 0, 81, 220, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 47, 21, 0, 0, 103, 220, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 3, 7, 0, 0, 119, 220, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 48, 21, 0, 0, 141, 220, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 123, 4, 0, 0, 157, 220, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 49, 21, - 0, 0, 179, 220, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 3, 7, 0, 0, 195, 220, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 181, 20, 0, 0, 217, 220, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 3, 7, 0, 0, 233, 220, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 50, 21, 0, 0, 255, 220, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 114, 3, 0, 0, 21, - 221, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 63, 21, 0, 0, 32, 221, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 88, - 4, 0, 0, 47, 221, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 62, 3, 0, 0, 62, 221, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 154, 4, 0, 0, 90, 221, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 92, 21, 0, 0, 101, 221, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 49, 21, 0, 0, 116, 221, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 181, 20, 0, 0, 131, - 221, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 46, 21, 0, 0, 146, 221, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 47, - 21, 0, 0, 161, 221, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 50, 21, 0, 0, 176, 221, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 91, 21, 0, 0, 192, 221, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 69, 21, 0, 0, 203, 221, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 64, 21, 0, 0, 218, 221, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 173, 2, 0, - 0, 233, 221, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 65, 21, 0, 0, 248, 221, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 66, 21, 0, 0, 7, 222, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 67, 21, 0, 0, 39, 222, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 68, 21, 0, 0, 49, 222, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 71, 21, 0, 0, 60, 222, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 173, 2, 0, 0, 75, 222, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 21, 0, 0, - 90, 222, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 66, 21, 0, 0, 105, 222, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 183, 2, 0, 0, 133, 222, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 86, 21, 0, 0, 144, 222, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 60, 11, 0, 0, 159, 222, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 173, 2, 0, 0, 174, 222, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 66, 21, 0, 0, 189, 222, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 78, 21, - 0, 0, 204, 222, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 79, 21, 0, 0, 219, 222, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 80, 21, 0, 0, 234, 222, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 81, 21, 0, 0, 249, 222, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 82, 21, 0, 0, 8, 223, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 83, 21, 0, 0, 23, - 223, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 84, 21, 0, 0, 38, 223, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 85, - 21, 0, 0, 66, 223, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 77, 21, 0, 0, 77, 223, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 72, 21, 0, 0, 92, 223, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 73, 21, 0, 0, 107, 223, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 74, 21, 0, 0, 122, 223, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 21, 0, 0, 137, - 223, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 76, 21, 0, 0, 152, 223, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, - 2, 0, 0, 168, 223, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 88, 21, 0, 0, 179, 223, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 87, 21, 0, 0, 195, 223, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 90, 21, 0, 0, 206, 223, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 89, 21, 0, 0, 221, 223, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 227, 13, 0, 0, - 12, 224, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 107, 21, 0, 0, 23, 224, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 98, 21, 0, 0, 38, 224, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 94, 21, 0, 0, 53, 224, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 95, 21, 0, 0, 74, 224, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 106, 21, 0, 0, 85, 224, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 20, 10, 0, 0, 100, 224, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 99, 21, 0, - 0, 115, 224, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 40, 21, 0, 0, 130, 224, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 60, 8, 0, 0, 145, 224, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 101, 21, 0, 0, 160, 224, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 102, 21, 0, 0, 175, 224, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 60, 21, 0, 0, 190, - 224, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 227, 13, 0, 0, 205, 224, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 35, - 21, 0, 0, 220, 224, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 235, 224, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 114, 7, 0, 0, 250, 224, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 104, 21, 0, 0, 9, 225, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 105, 21, 0, 0, 24, 225, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 128, 5, 0, - 0, 39, 225, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, 4, 0, 0, 55, 225, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 100, 21, 0, 0, 66, 225, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 248, 4, 0, 0, 88, 225, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 41, 21, 0, 0, 103, 225, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 60, 17, 0, 0, 142, 225, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 103, 21, 0, 0, 147, 225, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 128, 21, 0, - 0, 156, 225, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 110, 21, 0, 0, 169, 225, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 46, 21, 0, 0, 182, 225, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 47, 21, 0, 0, 195, 225, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 48, 21, 0, 0, 208, 225, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 121, 21, 0, 0, - 221, 225, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 49, 21, 0, 0, 234, 225, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 181, 20, 0, 0, 247, 225, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 50, 21, 0, 0, 5, 226, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 111, 21, 0, 0, 14, 226, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 227, 13, 0, 0, 28, 226, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 118, 21, 0, 0, 37, 226, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 112, 21, 0, - 0, 50, 226, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 113, 21, 0, 0, 63, 226, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 114, 21, 0, 0, 76, 226, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 115, 21, 0, 0, 89, 226, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 116, 21, 0, 0, 102, 226, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 117, 21, 0, 0, 128, - 226, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 119, 21, 0, 0, 137, 226, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 112, 21, 0, 0, 150, 226, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 117, 21, 0, 0, 164, 226, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 120, 21, 0, 0, 173, 226, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 227, 13, 0, 0, 187, - 226, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 124, 21, 0, 0, 196, 226, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 122, 21, 0, 0, 209, 226, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 123, 21, 0, 0, 235, 226, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 125, 21, 0, 0, 244, 226, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 112, 21, 0, 0, 2, 227, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 127, 21, 0, 0, 11, 227, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 126, 21, - 0, 0, 24, 227, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 112, 21, 0, 0, 38, 227, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 133, 21, 0, 0, 47, 227, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 132, 21, 0, 0, 66, 227, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 137, 21, 0, 0, 89, 227, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 9, 14, 0, 0, 107, - 227, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 62, 3, 0, 0, 120, 227, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, - 4, 0, 0, 134, 227, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 136, 21, 0, 0, 161, 227, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 139, 21, 0, 0, 170, 227, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 138, 21, 0, 0, 183, 227, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 130, 12, 0, 0, 196, 227, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 158, 7, - 0, 0, 246, 227, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 182, 21, 0, 0, 0, 228, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 140, 21, 0, 0, 13, 228, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 141, 21, 0, 0, 26, 228, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 142, 21, 0, 0, 39, 228, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 143, 21, 0, 0, 52, - 228, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 144, 21, 0, 0, 65, 228, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 145, - 21, 0, 0, 78, 228, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 146, 21, 0, 0, 91, 228, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 147, 21, 0, 0, 104, 228, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 148, 21, 0, 0, 117, 228, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 149, 21, 0, 0, 130, 228, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 150, 21, 0, 0, - 143, 228, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 151, 21, 0, 0, 156, 228, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 152, 21, 0, 0, 169, 228, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 159, 21, 0, 0, 182, 228, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 160, 21, 0, 0, 195, 228, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 161, 21, 0, 0, 208, - 228, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 167, 21, 0, 0, 222, 228, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 168, 21, 0, 0, 236, 228, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 169, 21, 0, 0, 250, 228, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 170, 21, 0, 0, 8, 229, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 171, 21, 0, 0, 22, 229, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 172, 21, 0, 0, 36, 229, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 173, 21, - 0, 0, 50, 229, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 174, 21, 0, 0, 64, 229, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 201, 16, 0, 0, 78, 229, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 175, 21, 0, 0, 92, 229, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 176, 21, 0, 0, 106, 229, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 177, 21, 0, 0, - 120, 229, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 178, 21, 0, 0, 134, 229, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 179, 21, 0, 0, 148, 229, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 180, 21, 0, 0, 162, 229, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 181, 21, 0, 0, 189, 229, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 158, 21, 0, 0, 198, - 229, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 44, 8, 0, 0, 211, 229, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 153, - 21, 0, 0, 224, 229, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 21, 0, 0, 237, 229, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 155, 21, 0, 0, 250, 229, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 156, 21, 0, 0, 7, 230, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 157, 21, 0, 0, 33, 230, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 166, 21, 0, - 0, 42, 230, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 43, 6, 0, 0, 55, 230, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 70, 3, 0, 0, 68, 230, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 162, 21, 0, 0, 81, 230, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 163, 21, 0, 0, 94, 230, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 164, 21, 0, 0, 107, 230, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 165, 21, 0, 0, 126, 230, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 185, 21, 0, - 0, 131, 230, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 192, 21, 0, 0, 140, 230, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 187, 21, 0, 0, 153, 230, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 188, 21, 0, 0, 166, 230, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 189, 21, 0, 0, 179, 230, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 190, 21, 0, 0, - 192, 230, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 242, 16, 0, 0, 216, 230, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 191, 21, 0, 0, 221, 230, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 213, 21, 0, 0, 230, 230, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 194, 21, 0, 0, 243, 230, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 195, 21, 0, 0, 0, - 231, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 196, 21, 0, 0, 13, 231, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 197, - 21, 0, 0, 26, 231, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 198, 21, 0, 0, 39, 231, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 199, 21, 0, 0, 52, 231, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 200, 21, 0, 0, 65, 231, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 201, 21, 0, 0, 78, 231, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 202, 21, 0, 0, - 91, 231, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 203, 21, 0, 0, 104, 231, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 204, 21, 0, 0, 117, 231, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 206, 21, 0, 0, 130, 231, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 207, 21, 0, 0, 143, 231, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 208, 21, 0, 0, 156, - 231, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 210, 21, 0, 0, 169, 231, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 212, 21, 0, 0, 188, 231, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 205, 21, 0, 0, 198, 231, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 209, 21, 0, 0, 208, 231, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 211, 21, 0, 0, 213, - 231, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 215, 21, 0, 0, 222, 231, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, - 3, 0, 0, 235, 231, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 2, 0, 0, 249, 231, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 224, 21, 0, 0, 2, 232, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 217, 21, 0, 0, 15, 232, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 218, 21, 0, 0, 28, 232, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 219, 21, 0, 0, 41, - 232, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 220, 21, 0, 0, 54, 232, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 212, - 4, 0, 0, 67, 232, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 221, 21, 0, 0, 80, 232, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 222, 21, 0, 0, 93, 232, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 223, 21, 0, 0, 107, 232, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 232, 21, 0, 0, 116, 232, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 228, 21, 0, 0, - 129, 232, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 229, 21, 0, 0, 142, 232, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 230, 21, 0, 0, 161, 232, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 228, 21, 0, 0, 171, 232, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 231, 21, 0, 0, 181, 232, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 239, 21, 0, 0, 190, - 232, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 221, 4, 0, 0, 203, 232, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 162, - 14, 0, 0, 216, 232, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 234, 4, 0, 0, 229, 232, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 233, 21, 0, 0, 242, 232, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 237, 21, 0, 0, 255, 232, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 238, 21, 0, 0, 13, 233, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 236, 21, - 0, 0, 22, 233, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 234, 21, 0, 0, 35, 233, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 235, 21, 0, 0, 54, 233, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 243, 21, 0, 0, 63, 233, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 234, 4, 0, 0, 76, 233, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 221, 4, 0, 0, 89, - 233, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 162, 14, 0, 0, 102, 233, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 242, 21, 0, 0, 121, 233, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 240, 22, 0, 0, 131, 233, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 245, 21, 0, 0, 144, 233, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 2, 11, 0, 0, 157, 233, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 246, 21, 0, 0, 170, 233, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 247, 21, - 0, 0, 183, 233, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 248, 21, 0, 0, 196, 233, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 249, 21, 0, 0, 209, 233, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 250, 21, 0, 0, 222, 233, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 254, 21, 0, 0, 235, 233, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 255, 21, 0, 0, - 248, 233, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 22, 0, 0, 5, 234, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 1, - 22, 0, 0, 18, 234, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 2, 22, 0, 0, 31, 234, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 183, 2, 0, 0, 44, 234, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 3, 22, 0, 0, 60, 234, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 4, 22, 0, 0, 76, 234, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 5, 22, 0, 0, 89, - 234, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 6, 22, 0, 0, 102, 234, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 7, - 22, 0, 0, 115, 234, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 8, 22, 0, 0, 128, 234, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 9, 22, 0, 0, 141, 234, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 12, 22, 0, 0, 154, 234, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 181, 14, 0, 0, 168, 234, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 16, 22, 0, 0, - 182, 234, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 17, 22, 0, 0, 196, 234, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 18, 22, 0, 0, 210, 234, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 19, 22, 0, 0, 224, 234, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 211, 12, 0, 0, 238, 234, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 161, 22, 0, 0, 252, - 234, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 15, 6, 0, 0, 10, 235, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 14, 6, - 0, 0, 24, 235, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 162, 22, 0, 0, 38, 235, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 163, 22, 0, 0, 52, 235, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 174, 14, 0, 0, 66, 235, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 164, 22, 0, 0, 80, 235, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 23, 6, 0, 0, 94, - 235, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 175, 14, 0, 0, 108, 235, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 176, 14, 0, 0, 122, 235, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 165, 22, 0, 0, 136, 235, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 166, 22, 0, 0, 150, 235, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 179, 14, 0, 0, 164, - 235, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 180, 14, 0, 0, 178, 235, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 167, 22, 0, 0, 192, 235, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 168, 22, 0, 0, 206, 235, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 169, 22, 0, 0, 220, 235, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 170, 22, 0, 0, 234, - 235, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 171, 22, 0, 0, 248, 235, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 172, 22, 0, 0, 6, 236, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 173, 22, 0, 0, 20, 236, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 174, 22, 0, 0, 34, 236, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 175, 22, 0, 0, 48, 236, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 184, 22, 0, 0, 62, 236, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 185, 22, 0, - 0, 76, 236, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 189, 22, 0, 0, 90, 236, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 208, 9, 0, 0, 104, 236, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 231, 22, 0, 0, 118, 236, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 232, 22, 0, 0, 132, 236, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 234, 22, 0, 0, 146, - 236, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 235, 22, 0, 0, 160, 236, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 236, 22, 0, 0, 174, 236, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 237, 22, 0, 0, 188, 236, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 238, 22, 0, 0, 202, 236, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 239, 22, 0, 0, 217, - 236, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 253, 21, 0, 0, 226, 236, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 160, 2, 0, 0, 239, 236, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 244, 21, 0, 0, 1, 237, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 252, 21, 0, 0, 14, 237, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 251, 21, 0, 0, 40, 237, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 11, 22, 0, 0, 49, 237, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 242, 5, 0, 0, - 62, 237, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 10, 22, 0, 0, 76, 237, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 15, 22, 0, 0, 85, 237, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 13, 22, 0, 0, 99, 237, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 14, 22, 0, 0, 108, 237, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 15, 6, 0, 0, 121, 237, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 14, 6, 0, 0, 134, 237, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 49, 5, 0, 0, - 165, 237, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 22, 0, 0, 175, 237, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 79, 4, 0, 0, 188, 237, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 116, 4, 0, 0, 201, 237, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 153, 2, 0, 0, 214, 237, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 148, 7, 0, 0, 227, 237, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 110, 3, 0, 0, 240, 237, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 171, 4, - 0, 0, 253, 237, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 125, 22, 0, 0, 10, 238, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 130, 22, 0, 0, 23, 238, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 135, 22, 0, 0, 36, 238, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 136, 22, 0, 0, 49, 238, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 137, 22, 0, 0, 62, - 238, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 138, 22, 0, 0, 75, 238, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 139, - 22, 0, 0, 88, 238, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 22, 0, 0, 102, 238, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 140, 22, 0, 0, 116, 238, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 2, 0, 0, 130, 238, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 144, 238, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 5, 3, 0, 0, - 158, 238, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 94, 22, 0, 0, 172, 238, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 141, 22, 0, 0, 191, 238, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 3, 0, 0, 204, 238, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 142, 22, 0, 0, 217, 238, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 143, 22, 0, 0, 230, - 238, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 209, 8, 0, 0, 244, 238, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 144, - 22, 0, 0, 7, 239, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 3, 0, 0, 20, 239, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 145, 22, 0, 0, 33, 239, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 146, 22, 0, 0, 46, 239, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 147, 22, 0, 0, 59, 239, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 236, 16, 0, 0, 72, - 239, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 209, 8, 0, 0, 86, 239, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 148, - 22, 0, 0, 100, 239, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 149, 22, 0, 0, 114, 239, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 150, 22, 0, 0, 128, 239, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 202, 4, 0, 0, 142, 239, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 151, 22, 0, 0, 156, 239, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 128, 22, 0, - 0, 170, 239, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 127, 22, 0, 0, 184, 239, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 152, 22, 0, 0, 198, 239, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 153, 22, 0, 0, 212, 239, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 141, 7, 0, 0, 226, 239, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 22, 0, 0, - 240, 239, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 155, 22, 0, 0, 254, 239, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 156, 22, 0, 0, 12, 240, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 157, 22, 0, 0, 26, 240, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 158, 22, 0, 0, 40, 240, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 159, 22, 0, 0, 54, - 240, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 3, 7, 0, 0, 74, 240, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 124, - 22, 0, 0, 83, 240, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 79, 4, 0, 0, 96, 240, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 116, 4, 0, 0, 109, 240, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 20, 22, 0, 0, 122, 240, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 155, 3, 0, 0, 135, 240, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 22, 22, 0, 0, - 148, 240, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 2, 0, 0, 161, 240, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 23, 22, 0, 0, 174, 240, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 24, 22, 0, 0, 187, 240, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 25, 22, 0, 0, 200, 240, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 69, 18, 0, 0, 213, 240, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 9, 0, 0, 0, 226, 240, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 26, 22, 0, - 0, 239, 240, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 27, 22, 0, 0, 252, 240, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 183, 2, 0, 0, 9, 241, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 40, 22, 0, 0, 22, 241, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 41, 22, 0, 0, 35, 241, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 42, 22, 0, 0, 48, 241, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 79, 17, 0, 0, 61, 241, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 22, 0, 0, - 74, 241, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 71, 22, 0, 0, 87, 241, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 110, 3, 0, 0, 100, 241, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 123, 22, 0, 0, 124, 241, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 21, 22, 0, 0, 133, 241, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 158, 3, 0, 0, 146, 241, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 155, 3, 0, 0, 159, 241, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 110, 3, - 0, 0, 172, 241, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 2, 0, 0, 185, 241, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 153, 2, 0, 0, 198, 241, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 5, 3, 0, 0, 212, 241, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 39, 22, 0, 0, 221, 241, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 28, 22, 0, 0, 234, - 241, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 30, 22, 0, 0, 247, 241, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 31, - 22, 0, 0, 4, 242, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 32, 22, 0, 0, 17, 242, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 33, 22, 0, 0, 30, 242, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 35, 22, 0, 0, 43, 242, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 36, 22, 0, 0, 56, 242, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 38, 22, 0, 0, 74, - 242, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 29, 22, 0, 0, 86, 242, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 34, - 22, 0, 0, 110, 242, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 37, 22, 0, 0, 133, 242, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 69, 22, 0, 0, 143, 242, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 169, 3, 0, 0, 156, 242, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 19, 22, 0, 0, 169, 242, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 49, 22, 0, - 0, 182, 242, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 110, 3, 0, 0, 195, 242, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 54, 22, 0, 0, 208, 242, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 3, 0, 0, 221, 242, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 58, 22, 0, 0, 234, 242, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 5, 3, 0, 0, 247, 242, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 59, 22, 0, 0, 4, 243, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 60, 22, 0, 0, - 17, 243, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 30, 243, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 61, 22, 0, 0, 43, 243, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 62, 22, 0, 0, 59, 243, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 54, 4, 0, 0, 73, 243, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 63, 22, 0, 0, 87, 243, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 64, 22, 0, 0, 101, 243, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 65, 22, 0, 0, - 115, 243, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 66, 22, 0, 0, 129, 243, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 67, 22, 0, 0, 143, 243, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 116, 4, 0, 0, 157, 243, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 68, 22, 0, 0, 172, 243, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 48, 22, 0, 0, 181, 243, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 56, 4, 0, 0, 194, 243, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 43, 6, 0, - 0, 207, 243, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 3, 0, 0, 220, 243, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 21, 7, 0, 0, 233, 243, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 45, 22, 0, 0, 246, 243, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 111, 3, 0, 0, 3, 244, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 46, 22, 0, 0, 16, 244, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 47, 22, 0, 0, 29, 244, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 77, 3, 0, 0, - 48, 244, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 44, 22, 0, 0, 71, 244, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 157, 2, 0, 0, 84, 244, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 111, 3, 0, 0, 98, 244, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 132, 9, 0, 0, 111, 244, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 187, 3, 0, 0, 124, 244, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 43, 22, 0, 0, 137, 244, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 190, 3, 0, - 0, 150, 244, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 163, 244, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 154, 4, 0, 0, 187, 244, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 53, 22, 0, 0, 196, 244, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 50, 22, 0, 0, 209, 244, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 51, 22, 0, 0, 222, - 244, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 240, 2, 0, 0, 235, 244, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, - 8, 0, 0, 248, 244, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 52, 22, 0, 0, 82, 245, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 57, 22, 0, 0, 91, 245, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 55, 22, 0, 0, 104, 245, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 56, 22, 0, 0, 174, 245, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 122, 22, 0, 0, - 184, 245, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 48, 3, 0, 0, 197, 245, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 72, 22, 0, 0, 210, 245, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 133, 6, 0, 0, 223, 245, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 158, 5, 0, 0, 236, 245, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 225, 2, 0, 0, 249, 245, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 240, 2, 0, 0, 6, 246, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 73, 22, 0, - 0, 19, 246, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 191, 3, 0, 0, 32, 246, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 74, 22, 0, 0, 45, 246, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 22, 0, 0, 58, 246, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 76, 22, 0, 0, 71, 246, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 77, 22, 0, 0, 84, 246, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 237, 2, 0, 0, 97, 246, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 248, 2, 0, 0, - 110, 246, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 78, 22, 0, 0, 123, 246, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 79, 22, 0, 0, 136, 246, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 80, 22, 0, 0, 149, 246, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 175, 4, 0, 0, 162, 246, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 174, 4, 0, 0, 175, 246, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 81, 22, 0, 0, 188, 246, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 82, 22, - 0, 0, 201, 246, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 83, 22, 0, 0, 214, 246, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 84, 22, 0, 0, 227, 246, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 85, 22, 0, 0, 240, 246, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 86, 22, 0, 0, 253, 246, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 87, 22, 0, 0, 10, - 247, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 88, 22, 0, 0, 23, 247, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 89, - 22, 0, 0, 36, 247, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 95, 22, 0, 0, 49, 247, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 106, 22, 0, 0, 62, 247, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 120, 22, 0, 0, 75, 247, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 5, 16, 0, 0, 88, 247, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 121, 22, 0, 0, - 216, 248, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 94, 22, 0, 0, 225, 248, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 90, 22, 0, 0, 238, 248, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 91, 22, 0, 0, 251, 248, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 92, 22, 0, 0, 8, 249, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 93, 22, 0, 0, 48, 249, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 105, 22, 0, 0, 57, 249, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 96, 22, 0, - 0, 70, 249, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 97, 22, 0, 0, 83, 249, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 98, 22, 0, 0, 96, 249, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 99, 22, 0, 0, 109, 249, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 100, 22, 0, 0, 122, 249, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 101, 22, 0, 0, 135, - 249, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 236, 10, 0, 0, 148, 249, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 102, 22, 0, 0, 161, 249, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 103, 22, 0, 0, 174, 249, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 247, 3, 0, 0, 187, 249, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 104, 22, 0, 0, 200, 249, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 87, 8, 0, 0, 252, 249, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 119, 22, - 0, 0, 5, 250, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 9, 0, 0, 0, 18, 250, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 107, 22, 0, 0, 31, 250, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 3, 7, 0, 0, 44, 250, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 176, 7, 0, 0, 57, 250, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 70, 250, 1, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 108, 22, 0, 0, 83, 250, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 109, 22, 0, - 0, 96, 250, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 110, 22, 0, 0, 109, 250, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 65, 22, 0, 0, 122, 250, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 111, 22, 0, 0, 135, 250, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 112, 22, 0, 0, 148, 250, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 113, 22, 0, 0, 161, - 250, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 66, 22, 0, 0, 174, 250, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 114, - 22, 0, 0, 187, 250, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 115, 22, 0, 0, 200, 250, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 116, 22, 0, 0, 213, 250, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 117, 22, 0, 0, 226, 250, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 118, 22, 0, 0, 13, 251, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 129, 22, - 0, 0, 22, 251, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 5, 3, 0, 0, 35, 251, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 226, 3, 0, 0, 48, 251, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 126, 22, 0, 0, 61, 251, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 127, 22, 0, 0, 74, 251, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 128, 22, 0, 0, 93, 251, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 134, 22, 0, 0, 102, 251, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 110, 3, - 0, 0, 115, 251, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 19, 22, 0, 0, 134, 251, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 133, 22, 0, 0, 143, 251, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 2, 0, 0, 156, 251, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 69, 18, 0, 0, 169, 251, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 182, - 251, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 158, 5, 0, 0, 195, 251, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 225, - 2, 0, 0, 208, 251, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 83, 22, 0, 0, 221, 251, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 190, 3, 0, 0, 234, 251, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 191, 3, 0, 0, 247, 251, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 237, 2, 0, 0, 4, 252, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 248, 2, 0, 0, 17, - 252, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 78, 22, 0, 0, 30, 252, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 214, - 5, 0, 0, 43, 252, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 81, 22, 0, 0, 56, 252, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 55, 22, 0, 0, 69, 252, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 56, 22, 0, 0, 82, 252, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 131, 22, 0, 0, 95, 252, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 132, 22, 0, 0, - 108, 252, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 155, 3, 0, 0, 70, 253, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 183, 22, 0, 0, 79, 253, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 176, 22, 0, 0, 92, 253, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 177, 22, 0, 0, 105, 253, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 178, 22, 0, 0, 118, - 253, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 179, 22, 0, 0, 131, 253, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 180, 22, 0, 0, 144, 253, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 181, 22, 0, 0, 157, 253, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 182, 22, 0, 0, 183, 253, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 188, 22, 0, 0, 192, - 253, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 186, 22, 0, 0, 205, 253, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 187, 22, 0, 0, 219, 253, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 197, 22, 0, 0, 228, 253, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 190, 22, 0, 0, 241, 253, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 191, 22, 0, 0, 254, - 253, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 192, 22, 0, 0, 11, 254, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 193, - 22, 0, 0, 24, 254, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 194, 22, 0, 0, 37, 254, 1, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 195, 22, 0, 0, 50, 254, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 196, 22, 0, 0, 69, 254, 1, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 230, 22, 0, 0, 79, 254, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 77, 7, 0, 0, - 92, 254, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 191, 22, 0, 0, 105, 254, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 190, 22, 0, 0, 118, 254, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 198, 22, 0, 0, 131, 254, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 199, 22, 0, 0, 144, 254, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 200, 22, 0, 0, 157, - 254, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 201, 22, 0, 0, 170, 254, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 202, 22, 0, 0, 183, 254, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 203, 22, 0, 0, 196, 254, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 204, 22, 0, 0, 209, 254, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 205, 22, 0, 0, 222, - 254, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 206, 22, 0, 0, 235, 254, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 207, 22, 0, 0, 248, 254, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 208, 22, 0, 0, 5, 255, 1, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 209, 22, 0, 0, 18, 255, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 210, 22, 0, 0, 31, 255, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 211, 22, 0, 0, 44, 255, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 212, 22, - 0, 0, 57, 255, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 213, 22, 0, 0, 70, 255, 1, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 214, 22, 0, 0, 83, 255, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 215, 22, 0, 0, 96, 255, 1, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 193, 22, 0, 0, 109, 255, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 194, 22, 0, 0, - 122, 255, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 195, 22, 0, 0, 135, 255, 1, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 196, 22, 0, 0, 148, 255, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 216, 22, 0, 0, 161, 255, 1, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 217, 22, 0, 0, 174, 255, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 231, 3, 0, 0, 187, - 255, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 232, 3, 0, 0, 200, 255, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 218, - 22, 0, 0, 213, 255, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 219, 22, 0, 0, 226, 255, 1, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 220, 22, 0, 0, 239, 255, 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 221, 22, 0, 0, 252, 255, - 1, 0, 0, 0, 0, 0, 10, 0, 0, 0, 180, 22, 0, 0, 9, 0, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 181, 22, 0, - 0, 23, 0, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 182, 22, 0, 0, 37, 0, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 175, 14, 0, 0, 51, 0, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 176, 14, 0, 0, 65, 0, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 222, 22, 0, 0, 79, 0, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 223, 22, 0, 0, 93, 0, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 224, 22, 0, 0, 107, 0, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 225, 22, 0, 0, - 121, 0, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 226, 22, 0, 0, 135, 0, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 227, 22, 0, 0, 149, 0, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 228, 22, 0, 0, 163, 0, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 229, 22, 0, 0, 195, 0, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 232, 22, 0, 0, 206, 0, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 54, 4, 0, 0, 221, 0, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 153, 2, 0, 0, 236, - 0, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 233, 22, 0, 0, 254, 0, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 127, 8, - 0, 0, 13, 1, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 4, 0, 0, 34, 1, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 255, 22, 0, 0, 44, 1, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 242, 22, 0, 0, 57, 1, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 5, 3, 0, 0, 70, 1, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 243, 22, 0, 0, 83, 1, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 220, 8, 0, 0, 109, 1, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 254, 22, 0, 0, 118, - 1, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 244, 22, 0, 0, 132, 1, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 253, - 22, 0, 0, 141, 1, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 245, 22, 0, 0, 154, 1, 2, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 248, 22, 0, 0, 167, 1, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 249, 22, 0, 0, 180, 1, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 252, 22, 0, 0, 198, 1, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 247, 22, 0, 0, 215, - 1, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 246, 22, 0, 0, 234, 1, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 251, - 22, 0, 0, 251, 1, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 250, 22, 0, 0, 8, 2, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 6, 23, 0, 0, 18, 2, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 7, 23, 0, 0, 31, 2, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 8, 23, 0, 0, 44, 2, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 173, 2, 0, 0, 57, 2, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 13, 23, 0, 0, 70, 2, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 31, 4, 0, 0, 83, 2, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 24, 22, 0, 0, 96, 2, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 14, 23, 0, - 0, 109, 2, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 166, 3, 0, 0, 122, 2, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 15, 23, 0, 0, 135, 2, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 2, 5, 0, 0, 148, 2, 2, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 16, 23, 0, 0, 161, 2, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 17, 23, 0, 0, 174, 2, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 18, 23, 0, 0, 188, 2, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 19, 23, 0, 0, 202, 2, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 20, 23, 0, 0, 216, 2, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 219, 14, 0, - 0, 230, 2, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 221, 9, 0, 0, 244, 2, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 22, 23, 0, 0, 2, 3, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 231, 2, 0, 0, 16, 3, 2, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 26, 23, 0, 0, 30, 3, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 132, 10, 0, 0, 44, 3, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 27, 23, 0, 0, 58, 3, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 124, 3, 0, 0, 72, 3, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 19, 4, 0, 0, 86, 3, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 17, 4, 0, 0, - 100, 3, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 21, 4, 0, 0, 114, 3, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 125, - 3, 0, 0, 128, 3, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 20, 4, 0, 0, 142, 3, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 18, 4, 0, 0, 156, 3, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 22, 4, 0, 0, 170, 3, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 75, 14, 0, 0, 184, 3, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 28, 23, 0, 0, 198, 3, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 29, 23, 0, 0, 212, 3, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 30, 23, 0, 0, - 226, 3, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 31, 23, 0, 0, 240, 3, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 32, - 23, 0, 0, 254, 3, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 33, 23, 0, 0, 12, 4, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 34, 23, 0, 0, 26, 4, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 35, 23, 0, 0, 40, 4, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 39, 23, 0, 0, 54, 4, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 40, 23, 0, 0, 68, 4, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 41, 23, 0, 0, 82, 4, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 9, 0, 0, 0, 111, - 4, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 42, 23, 0, 0, 129, 4, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 252, 6, - 0, 0, 142, 4, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 253, 6, 0, 0, 156, 4, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 43, 23, 0, 0, 174, 4, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 124, 3, 0, 0, 187, 4, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 125, 3, 0, 0, 200, 4, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 123, 3, 0, 0, 213, 4, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 127, 3, 0, 0, 226, 4, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 44, 23, 0, 0, - 239, 4, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 45, 23, 0, 0, 252, 4, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 46, - 23, 0, 0, 9, 5, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 47, 23, 0, 0, 22, 5, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 48, 23, 0, 0, 36, 5, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 49, 23, 0, 0, 54, 5, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 50, 23, 0, 0, 67, 5, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 53, 23, 0, 0, 81, 5, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 59, 23, 0, 0, 99, 5, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 50, 23, 0, 0, 112, 5, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 60, 23, 0, 0, 126, 5, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 61, 23, 0, - 0, 144, 5, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 50, 23, 0, 0, 157, 5, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 62, 23, 0, 0, 170, 5, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 63, 23, 0, 0, 183, 5, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 64, 23, 0, 0, 197, 5, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 65, 23, 0, 0, 215, 5, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 66, 23, 0, 0, 228, 5, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 123, 3, 0, 0, - 241, 5, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 186, 3, 0, 0, 255, 5, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 67, - 23, 0, 0, 17, 6, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 132, 10, 0, 0, 30, 6, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 130, 3, 0, 0, 44, 6, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 192, 3, 0, 0, 62, 6, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 133, 10, 0, 0, 75, 6, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 89, 6, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 68, 23, 0, 0, 107, 6, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 69, 23, 0, 0, - 121, 6, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 2, 4, 0, 0, 139, 6, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, - 2, 0, 0, 154, 6, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 23, 0, 0, 168, 6, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 71, 23, 0, 0, 187, 6, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 12, 23, 0, 0, 196, 6, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 9, 23, 0, 0, 202, 6, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 10, 23, 0, 0, 208, 6, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 11, 23, 0, 0, 232, 6, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 21, 23, 0, 0, - 241, 6, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 157, 2, 0, 0, 254, 6, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 9, - 0, 0, 0, 17, 7, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 25, 23, 0, 0, 54, 7, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 23, 23, 0, 0, 67, 7, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 145, 17, 0, 0, 81, 7, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 24, 23, 0, 0, 113, 7, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 38, 23, 0, 0, 123, 7, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 157, 2, 0, 0, 136, 7, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 36, 23, 0, 0, - 167, 7, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 37, 23, 0, 0, 188, 7, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 52, - 23, 0, 0, 200, 7, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 51, 23, 0, 0, 208, 7, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 58, 23, 0, 0, 217, 7, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 54, 23, 0, 0, 230, 7, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 55, 23, 0, 0, 243, 7, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 56, 23, 0, 0, 0, 8, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 57, 23, 0, 0, 13, 8, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 148, 15, 0, 0, 39, - 8, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 72, 23, 0, 0, 48, 8, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 62, 3, 0, - 0, 61, 8, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 25, 5, 0, 0, 75, 8, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, - 23, 0, 0, 84, 8, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 123, 3, 0, 0, 97, 8, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 76, 23, 0, 0, 110, 8, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 164, 3, 0, 0, 129, 8, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 86, 23, 0, 0, 138, 8, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 31, 3, 0, 0, 151, 8, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 63, 9, 0, 0, 164, 8, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 222, 10, 0, 0, - 177, 8, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 81, 7, 0, 0, 190, 8, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 161, - 2, 0, 0, 203, 8, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 192, 9, 0, 0, 216, 8, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 80, 23, 0, 0, 229, 8, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 84, 23, 0, 0, 242, 8, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 85, 23, 0, 0, 0, 9, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 79, 23, 0, 0, 9, 9, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 77, 23, 0, 0, 22, 9, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 78, 23, 0, 0, 53, 9, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 83, 23, 0, 0, 62, 9, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 247, 7, 0, - 0, 75, 9, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 119, 10, 0, 0, 88, 9, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 82, 23, 0, 0, 102, 9, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 81, 23, 0, 0, 111, 9, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 70, 3, 0, 0, 124, 9, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 5, 3, 0, 0, 137, 9, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 228, 3, 0, 0, 151, 9, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 89, 23, 0, 0, 160, - 9, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 36, 10, 0, 0, 173, 9, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 88, 4, - 0, 0, 186, 9, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 62, 3, 0, 0, 199, 9, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 88, 23, 0, 0, 213, 9, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 95, 23, 0, 0, 222, 9, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 157, 2, 0, 0, 246, 9, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 107, 23, 0, 0, 255, 9, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 99, 23, 0, 0, 12, 10, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 100, 23, 0, 0, - 25, 10, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 98, 6, 0, 0, 38, 10, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, - 3, 0, 0, 51, 10, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 101, 23, 0, 0, 64, 10, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 2, 5, 0, 0, 77, 10, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 236, 13, 0, 0, 90, 10, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 102, 23, 0, 0, 114, 10, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 106, 23, 0, 0, 123, 10, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 98, 6, 0, 0, 136, 10, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 178, 17, 0, - 0, 149, 10, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 103, 23, 0, 0, 162, 10, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 104, 23, 0, 0, 175, 10, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 105, 23, 0, 0, 194, 10, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 109, 23, 0, 0, 203, 10, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 56, 4, 0, 0, 216, 10, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 77, 3, 0, 0, 235, 10, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 33, 24, 0, - 0, 244, 10, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 110, 23, 0, 0, 1, 11, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 111, 23, 0, 0, 14, 11, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 48, 26, 0, 0, 27, 11, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 49, 26, 0, 0, 40, 11, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 50, 26, 0, 0, 53, 11, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 51, 26, 0, 0, 66, 11, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 52, 26, 0, 0, 79, - 11, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 53, 26, 0, 0, 92, 11, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 54, 26, - 0, 0, 105, 11, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 60, 26, 0, 0, 118, 11, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 62, 26, 0, 0, 131, 11, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 63, 26, 0, 0, 144, 11, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 64, 26, 0, 0, 157, 11, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 66, 26, 0, 0, 170, 11, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 67, 26, 0, 0, 197, 11, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 68, 26, 0, - 0, 211, 11, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 79, 26, 0, 0, 224, 11, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 80, 26, 0, 0, 237, 11, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 81, 26, 0, 0, 250, 11, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 82, 26, 0, 0, 7, 12, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 83, 26, 0, 0, 20, 12, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 84, 26, 0, 0, 39, 12, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 47, 26, 0, 0, 49, - 12, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 112, 23, 0, 0, 62, 12, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 114, - 23, 0, 0, 75, 12, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 122, 23, 0, 0, 88, 12, 2, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 123, 23, 0, 0, 101, 12, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 124, 23, 0, 0, 114, 12, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 125, 23, 0, 0, 127, 12, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 126, 23, 0, 0, - 140, 12, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 127, 23, 0, 0, 153, 12, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 128, 23, 0, 0, 166, 12, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 129, 23, 0, 0, 179, 12, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 130, 23, 0, 0, 193, 12, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 131, 23, 0, 0, 207, 12, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 132, 23, 0, 0, 221, 12, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 133, 23, - 0, 0, 235, 12, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 134, 23, 0, 0, 249, 12, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 135, 23, 0, 0, 7, 13, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 136, 23, 0, 0, 21, 13, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 40, 26, 0, 0, 35, 13, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 41, 26, 0, 0, 49, 13, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 42, 26, 0, 0, 63, 13, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 43, 26, 0, - 0, 82, 13, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 113, 23, 0, 0, 94, 13, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 121, 23, 0, 0, 103, 13, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 210, 9, 0, 0, 116, 13, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 115, 23, 0, 0, 129, 13, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 116, 23, 0, 0, 142, 13, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 117, 23, 0, 0, 155, 13, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 118, 23, 0, - 0, 168, 13, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 25, 18, 0, 0, 210, 13, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 120, 23, 0, 0, 223, 13, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 119, 23, 0, 0, 242, 13, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 39, 26, 0, 0, 252, 13, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 24, 22, 0, 0, 9, 14, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 137, 23, 0, 0, 22, 14, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 138, 23, - 0, 0, 35, 14, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 139, 23, 0, 0, 48, 14, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 8, 0, 0, 0, 61, 14, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 140, 23, 0, 0, 74, 14, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 141, 23, 0, 0, 87, 14, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 142, 23, 0, 0, 100, 14, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 143, 23, 0, 0, 113, 14, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 44, 4, 0, 0, - 126, 14, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 71, 7, 0, 0, 139, 14, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 183, 2, 0, 0, 152, 14, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 173, 2, 0, 0, 165, 14, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 161, 25, 0, 0, 178, 14, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 162, 25, 0, 0, 191, 14, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 163, 25, 0, 0, 204, 14, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 221, 25, 0, - 0, 217, 14, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 222, 25, 0, 0, 230, 14, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 147, 14, 0, 0, 243, 14, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 227, 25, 0, 0, 0, 15, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 228, 25, 0, 0, 13, 15, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 234, 25, 0, 0, 26, 15, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 235, 25, 0, 0, 40, 15, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 26, 12, 0, 0, - 54, 15, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 33, 26, 0, 0, 68, 15, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 62, - 16, 0, 0, 82, 15, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 38, 26, 0, 0, 107, 15, 2, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 178, 23, 0, 0, 116, 15, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 144, 23, 0, 0, 129, 15, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 158, 5, 0, 0, 142, 15, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 174, 3, 0, 0, - 155, 15, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 147, 23, 0, 0, 168, 15, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 237, 2, 0, 0, 181, 15, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 248, 2, 0, 0, 194, 15, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 148, 23, 0, 0, 207, 15, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 149, 23, 0, 0, 220, 15, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 150, 23, 0, 0, 233, 15, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 23, 0, - 0, 246, 15, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 155, 23, 0, 0, 3, 16, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 156, 23, 0, 0, 16, 16, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 118, 7, 0, 0, 29, 16, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 155, 3, 0, 0, 42, 16, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 164, 23, 0, 0, 55, 16, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 177, 23, 0, 0, 89, 16, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 145, 23, 0, 0, - 122, 16, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 146, 23, 0, 0, 11, 17, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 153, 23, 0, 0, 20, 17, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 151, 23, 0, 0, 33, 17, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 115, 23, 0, 0, 46, 17, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 152, 23, 0, 0, 59, 17, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 174, 4, 0, 0, 151, 17, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 163, 23, 0, 0, - 190, 17, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 162, 23, 0, 0, 199, 17, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 174, 4, 0, 0, 212, 17, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 62, 3, 0, 0, 225, 17, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 157, 23, 0, 0, 238, 17, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 9, 0, 0, 0, 251, 17, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 158, 23, 0, 0, 8, 18, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 159, 23, 0, 0, - 21, 18, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 23, 0, 0, 34, 18, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 161, 23, 0, 0, 47, 18, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 52, 13, 0, 0, 60, 18, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 87, 8, 0, 0, 129, 18, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 164, 23, 0, 0, 138, 18, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 165, 23, 0, 0, 151, 18, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 166, 23, 0, 0, - 164, 18, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 174, 23, 0, 0, 177, 18, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 175, 23, 0, 0, 190, 18, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 176, 23, 0, 0, 14, 19, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 173, 23, 0, 0, 23, 19, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 167, 23, 0, 0, 29, 19, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 168, 23, 0, 0, 35, 19, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 169, 23, 0, 0, - 41, 19, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 170, 23, 0, 0, 47, 19, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 171, 23, 0, 0, 53, 19, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 172, 23, 0, 0, 174, 19, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 160, 25, 0, 0, 184, 19, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 179, 23, 0, 0, 197, 19, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 109, 24, 0, 0, 210, 19, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 159, 24, 0, - 0, 223, 19, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 208, 9, 0, 0, 236, 19, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 163, 24, 0, 0, 249, 19, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 177, 24, 0, 0, 6, 20, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 24, 24, 0, 0, 19, 20, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 195, 24, 0, 0, 32, 20, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 209, 24, 0, 0, 45, 20, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 194, 24, 0, - 0, 58, 20, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 210, 24, 0, 0, 71, 20, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 211, 24, 0, 0, 84, 20, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 212, 24, 0, 0, 97, 20, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 123, 4, 0, 0, 110, 20, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 213, 24, 0, 0, 123, 20, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 214, 24, 0, 0, 136, 20, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 158, 3, 0, - 0, 149, 20, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 215, 24, 0, 0, 162, 20, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 216, 24, 0, 0, 175, 20, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 153, 2, 0, 0, 188, 20, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 101, 0, 0, 0, 201, 20, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 234, 24, 0, 0, 214, 20, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 235, 24, 0, 0, 227, 20, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 236, 24, - 0, 0, 240, 20, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 85, 24, 0, 0, 253, 20, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 237, 24, 0, 0, 11, 21, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 238, 24, 0, 0, 25, 21, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 239, 24, 0, 0, 39, 21, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 247, 24, 0, 0, 53, 21, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 227, 13, 0, 0, 67, 21, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 248, 24, - 0, 0, 81, 21, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 249, 24, 0, 0, 95, 21, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 250, 24, 0, 0, 109, 21, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 251, 24, 0, 0, 123, 21, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 46, 24, 0, 0, 137, 21, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 252, 24, 0, 0, 151, - 21, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 253, 24, 0, 0, 165, 21, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 3, - 25, 0, 0, 179, 21, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 24, 25, 0, 0, 193, 21, 2, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 60, 25, 0, 0, 207, 21, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 21, 12, 0, 0, 221, 21, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 61, 25, 0, 0, 235, 21, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 62, 25, 0, 0, 249, - 21, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 63, 25, 0, 0, 7, 22, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 64, 25, - 0, 0, 21, 22, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 126, 4, 0, 0, 35, 22, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 65, 25, 0, 0, 49, 22, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 66, 25, 0, 0, 63, 22, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 188, 6, 0, 0, 77, 22, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 97, 25, 0, 0, 91, 22, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 98, 25, 0, 0, 105, 22, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 99, 25, 0, 0, - 119, 22, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 157, 24, 0, 0, 133, 22, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 100, 25, 0, 0, 147, 22, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 101, 25, 0, 0, 161, 22, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 102, 25, 0, 0, 175, 22, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 103, 25, 0, 0, 189, 22, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 104, 25, 0, 0, 203, 22, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 167, 2, - 0, 0, 217, 22, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 132, 25, 0, 0, 231, 22, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 133, 25, 0, 0, 245, 22, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 134, 25, 0, 0, 3, 23, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 135, 25, 0, 0, 17, 23, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 136, 25, 0, 0, 31, 23, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 243, 23, 0, 0, 45, 23, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 244, 23, - 0, 0, 59, 23, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 157, 25, 0, 0, 73, 23, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 158, 25, 0, 0, 87, 23, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 197, 24, 0, 0, 101, 23, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 159, 25, 0, 0, 121, 23, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 247, 7, 0, 0, 131, 23, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 180, 23, 0, 0, 144, 23, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 181, 23, - 0, 0, 157, 23, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 27, 24, 0, 0, 170, 23, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 28, 24, 0, 0, 183, 23, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 208, 13, 0, 0, 196, 23, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 207, 9, 0, 0, 209, 23, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 30, 24, 0, 0, 222, 23, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 31, 24, 0, 0, 235, 23, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 32, 24, 0, - 0, 248, 23, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 33, 24, 0, 0, 5, 24, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 34, 24, 0, 0, 18, 24, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 35, 24, 0, 0, 45, 24, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 60, 3, 0, 0, 58, 24, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 36, 24, 0, 0, 86, 24, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 197, 2, 0, 0, 99, 24, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 37, 24, 0, 0, 112, - 24, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 38, 24, 0, 0, 125, 24, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, - 24, 0, 0, 153, 24, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 40, 24, 0, 0, 171, 24, 2, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 41, 24, 0, 0, 184, 24, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 159, 5, 0, 0, 198, 24, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 53, 24, 0, 0, 216, 24, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 33, 6, 0, 0, 229, - 24, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 2, 0, 0, 242, 24, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 54, - 24, 0, 0, 1, 25, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 56, 24, 0, 0, 14, 25, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 57, 24, 0, 0, 27, 25, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 58, 24, 0, 0, 40, 25, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 59, 24, 0, 0, 53, 25, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 60, 24, 0, 0, 66, 25, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 61, 24, 0, 0, 79, 25, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 62, 24, 0, 0, - 92, 25, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 63, 24, 0, 0, 105, 25, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 64, 24, 0, 0, 118, 25, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 65, 24, 0, 0, 131, 25, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 82, 24, 0, 0, 144, 25, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 100, 24, 0, 0, 157, 25, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 8, 15, 0, 0, 170, 25, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 173, 2, 0, 0, - 183, 25, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 30, 10, 0, 0, 196, 25, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 227, 13, 0, 0, 209, 25, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 236, 13, 0, 0, 236, 25, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 105, 24, 0, 0, 249, 25, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 106, 24, 0, 0, 7, 26, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 107, 24, 0, 0, 21, 26, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 108, 24, 0, - 0, 41, 26, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 26, 24, 0, 0, 65, 26, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 70, 3, 0, 0, 78, 26, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 182, 23, 0, 0, 92, 26, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 251, 4, 0, 0, 105, 26, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 23, 0, 0, 118, 26, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 184, 23, 0, 0, 131, 26, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 21, 24, 0, - 0, 144, 26, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 22, 24, 0, 0, 157, 26, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 23, 24, 0, 0, 170, 26, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 44, 4, 0, 0, 183, 26, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 211, 23, 0, 0, 196, 26, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 158, 3, 0, 0, 251, 26, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 20, 24, 0, 0, 19, 27, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 3, 0, - 0, 32, 27, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 185, 23, 0, 0, 45, 27, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 173, 2, 0, 0, 59, 27, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 83, 16, 0, 0, 72, 27, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 82, 6, 0, 0, 85, 27, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 186, 23, 0, 0, 98, 27, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 187, 23, 0, 0, 111, 27, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, - 124, 27, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 188, 23, 0, 0, 137, 27, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 44, 4, 0, 0, 150, 27, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 188, 6, 0, 0, 163, 27, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 141, 7, 0, 0, 176, 27, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 199, 23, 0, 0, 189, 27, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 208, 23, 0, 0, 203, 27, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 209, 23, 0, - 0, 217, 27, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 9, 0, 0, 0, 231, 27, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 210, 23, 0, 0, 245, 27, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 211, 23, 0, 0, 3, 28, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 212, 23, 0, 0, 17, 28, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 213, 23, 0, 0, 31, 28, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 214, 23, 0, 0, 45, 28, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 40, 15, 0, 0, - 59, 28, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 235, 23, 0, 0, 73, 28, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 231, 6, 0, 0, 87, 28, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 236, 23, 0, 0, 101, 28, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 237, 23, 0, 0, 115, 28, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 145, 9, 0, 0, 129, 28, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 238, 23, 0, 0, 143, 28, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 89, 6, 0, 0, - 157, 28, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 239, 23, 0, 0, 171, 28, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 215, 6, 0, 0, 185, 28, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 158, 3, 0, 0, 199, 28, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 240, 23, 0, 0, 213, 28, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 241, 23, 0, 0, 227, 28, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 242, 23, 0, 0, 241, 28, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 243, 23, 0, - 0, 255, 28, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 244, 23, 0, 0, 13, 29, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 245, 23, 0, 0, 27, 29, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 246, 23, 0, 0, 47, 29, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 198, 23, 0, 0, 56, 29, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 189, 23, 0, 0, 72, 29, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 190, 23, 0, 0, 88, 29, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 191, 23, 0, - 0, 101, 29, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 193, 23, 0, 0, 114, 29, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 194, 23, 0, 0, 127, 29, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 195, 23, 0, 0, 140, 29, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 196, 23, 0, 0, 153, 29, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 197, 23, 0, 0, 171, - 29, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 192, 23, 0, 0, 179, 29, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 207, - 23, 0, 0, 188, 29, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 82, 5, 0, 0, 201, 29, 2, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 200, 23, 0, 0, 214, 29, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 201, 23, 0, 0, 227, 29, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 202, 23, 0, 0, 240, 29, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 225, 6, 0, 0, - 253, 29, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 206, 23, 0, 0, 16, 30, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 205, 23, 0, 0, 25, 30, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 82, 5, 0, 0, 38, 30, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 203, 23, 0, 0, 51, 30, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 204, 23, 0, 0, 75, 30, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 234, 23, 0, 0, 84, 30, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 215, 23, 0, 0, - 97, 30, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 216, 23, 0, 0, 110, 30, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 217, 23, 0, 0, 123, 30, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 218, 23, 0, 0, 136, 30, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 228, 23, 0, 0, 149, 30, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 229, 23, 0, 0, 162, 30, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 230, 23, 0, 0, 175, 30, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 231, 23, - 0, 0, 188, 30, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 232, 23, 0, 0, 201, 30, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 233, 23, 0, 0, 214, 30, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 3, 0, 0, 233, 30, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 227, 23, 0, 0, 242, 30, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 219, 23, 0, 0, 255, - 30, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 220, 23, 0, 0, 12, 31, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 221, - 23, 0, 0, 25, 31, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 222, 23, 0, 0, 38, 31, 2, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 225, 23, 0, 0, 51, 31, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 226, 23, 0, 0, 70, 31, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 224, 23, 0, 0, 79, 31, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 223, 23, 0, 0, 92, - 31, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 52, 6, 0, 0, 135, 31, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 19, 24, - 0, 0, 145, 31, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 126, 4, 0, 0, 158, 31, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 232, 4, 0, 0, 172, 31, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 252, 23, 0, 0, 186, 31, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 70, 3, 0, 0, 200, 31, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 253, 23, 0, 0, 214, 31, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 254, 23, 0, 0, 228, 31, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 255, 23, - 0, 0, 242, 31, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 24, 0, 0, 0, 32, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 249, 23, 0, 0, 14, 32, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 1, 24, 0, 0, 28, 32, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 2, 24, 0, 0, 42, 32, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 15, 24, 0, 0, 56, 32, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 16, 24, 0, 0, 70, 32, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 17, 24, 0, 0, 84, - 32, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 18, 24, 0, 0, 98, 32, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 43, 6, - 0, 0, 112, 32, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 61, 16, 0, 0, 139, 32, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 251, 23, 0, 0, 148, 32, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 3, 0, 0, 161, 32, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 247, 23, 0, 0, 174, 32, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 248, 23, 0, 0, 187, - 32, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 249, 23, 0, 0, 200, 32, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 250, - 23, 0, 0, 213, 32, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 27, 14, 0, 0, 226, 32, 2, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 28, 14, 0, 0, 6, 33, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 14, 24, 0, 0, 16, 33, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 3, 24, 0, 0, 29, 33, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 4, 24, 0, 0, 42, 33, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 3, 0, 0, 55, 33, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 5, 24, 0, 0, - 68, 33, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 24, 0, 0, 81, 33, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 249, - 23, 0, 0, 94, 33, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 9, 24, 0, 0, 107, 33, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 10, 24, 0, 0, 120, 33, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 43, 6, 0, 0, 134, 33, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 11, 24, 0, 0, 148, 33, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 12, 24, 0, 0, 162, 33, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 26, 14, 0, 0, 176, 33, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 251, 4, 0, - 0, 190, 33, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 13, 24, 0, 0, 205, 33, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 8, 24, 0, 0, 214, 33, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 56, 4, 0, 0, 227, 33, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 6, 24, 0, 0, 240, 33, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 13, 14, 0, 0, 253, 33, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 62, 3, 0, 0, 10, 34, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 7, 24, 0, 0, 23, - 34, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 76, 34, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 25, 24, - 0, 0, 85, 34, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 158, 3, 0, 0, 98, 34, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 24, 24, 0, 0, 116, 34, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 29, 24, 0, 0, 129, 34, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 52, 24, 0, 0, 138, 34, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 180, 23, 0, 0, 151, 34, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 42, 24, 0, 0, 178, 34, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 48, 24, 0, - 0, 191, 34, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 49, 24, 0, 0, 219, 34, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 50, 24, 0, 0, 232, 34, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 51, 24, 0, 0, 246, 34, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 183, 2, 0, 0, 9, 35, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 47, 24, 0, 0, 18, 35, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 115, 4, 0, 0, 31, 35, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 43, 24, 0, 0, 44, - 35, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 12, 0, 0, 57, 35, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 3, - 0, 0, 70, 35, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 8, 15, 0, 0, 83, 35, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 44, 24, 0, 0, 96, 35, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 45, 24, 0, 0, 109, 35, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 46, 24, 0, 0, 122, 35, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 133, 12, 0, 0, 157, 35, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 55, 24, 0, 0, 182, 35, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 81, 24, 0, - 0, 191, 35, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 66, 24, 0, 0, 204, 35, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 80, 24, 0, 0, 228, 35, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 79, 24, 0, 0, 237, 35, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 67, 24, 0, 0, 250, 35, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 78, 24, 0, 0, 7, 36, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 187, 3, 0, 0, 20, 36, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 241, 10, 0, 0, - 34, 36, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 77, 24, 0, 0, 43, 36, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 68, - 24, 0, 0, 56, 36, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 24, 0, 0, 69, 36, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 76, 24, 0, 0, 87, 36, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 74, 24, 0, 0, 96, 36, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 69, 24, 0, 0, 102, 36, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 24, 0, 0, 108, 36, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 71, 24, 0, 0, 114, 36, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 72, 24, 0, 0, - 120, 36, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 73, 24, 0, 0, 144, 36, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 99, 24, 0, 0, 155, 36, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 83, 24, 0, 0, 170, 36, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 84, 24, 0, 0, 185, 36, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 86, 6, 0, 0, 200, 36, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 114, 3, 0, 0, 215, 36, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 85, 24, 0, 0, - 236, 36, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 98, 24, 0, 0, 247, 36, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 86, 24, 0, 0, 6, 37, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 90, 24, 0, 0, 21, 37, 2, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 91, 24, 0, 0, 36, 37, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 153, 2, 0, 0, 51, 37, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 92, 24, 0, 0, 66, 37, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 3, 0, 0, 81, 37, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 93, 24, 0, 0, 96, 37, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 94, 24, 0, 0, - 111, 37, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 95, 24, 0, 0, 126, 37, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 96, 24, 0, 0, 141, 37, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 97, 24, 0, 0, 156, 37, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 137, 9, 0, 0, 172, 37, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 89, 24, 0, 0, 183, 37, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 87, 24, 0, 0, 198, 37, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 88, 24, 0, 0, - 244, 37, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 104, 24, 0, 0, 253, 37, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 101, 24, 0, 0, 3, 38, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 102, 24, 0, 0, 9, 38, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 103, 24, 0, 0, 21, 38, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 158, 24, 0, 0, 31, 38, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 9, 0, 0, 0, 44, 38, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 156, 24, 0, 0, 57, - 38, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 158, 3, 0, 0, 70, 38, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 157, - 24, 0, 0, 83, 38, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 151, 13, 0, 0, 99, 38, 2, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 60, 3, 0, 0, 118, 38, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 155, 24, 0, 0, 128, 38, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 110, 24, 0, 0, 141, 38, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 110, 3, 0, 0, 154, - 38, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 143, 24, 0, 0, 167, 38, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 144, - 24, 0, 0, 180, 38, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 145, 24, 0, 0, 193, 38, 2, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 147, 24, 0, 0, 206, 38, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 148, 24, 0, 0, 219, 38, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 149, 24, 0, 0, 232, 38, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 150, 24, 0, 0, - 245, 38, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 151, 24, 0, 0, 2, 39, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 153, 24, 0, 0, 15, 39, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 24, 0, 0, 29, 39, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 160, 2, 0, 0, 44, 39, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 142, 24, 0, 0, 53, 39, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 111, 24, 0, 0, 66, 39, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 112, 24, 0, 0, - 79, 39, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 113, 24, 0, 0, 92, 39, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 114, 24, 0, 0, 105, 39, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 115, 24, 0, 0, 118, 39, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 116, 24, 0, 0, 131, 39, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 117, 24, 0, 0, 144, 39, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 118, 24, 0, 0, 157, 39, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 119, 24, - 0, 0, 170, 39, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 125, 24, 0, 0, 183, 39, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 126, 24, 0, 0, 196, 39, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 131, 24, 0, 0, 209, 39, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 132, 24, 0, 0, 222, 39, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 133, 24, 0, 0, - 235, 39, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 134, 24, 0, 0, 248, 39, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 135, 24, 0, 0, 5, 40, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 136, 24, 0, 0, 18, 40, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 137, 24, 0, 0, 31, 40, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 138, 24, 0, 0, 44, 40, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 139, 24, 0, 0, 57, 40, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 140, 24, 0, 0, - 70, 40, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 141, 24, 0, 0, 15, 41, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 124, 24, 0, 0, 24, 41, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 120, 24, 0, 0, 30, 41, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 121, 24, 0, 0, 36, 41, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 122, 24, 0, 0, 42, 41, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 123, 24, 0, 0, 93, 41, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 130, 24, 0, 0, - 102, 41, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 180, 23, 0, 0, 115, 41, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 183, 2, 0, 0, 128, 41, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 128, 24, 0, 0, 141, 41, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 28, 24, 0, 0, 154, 41, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, 15, 0, 0, 167, 41, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 129, 24, 0, 0, 185, 41, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 127, 24, 0, 0, - 58, 42, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 146, 24, 0, 0, 67, 42, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 186, 3, 0, 0, 80, 42, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 176, 3, 0, 0, 93, 42, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 181, 3, 0, 0, 169, 42, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 152, 24, 0, 0, 178, 42, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 2, 0, 0, 191, 42, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 123, 3, 0, 0, - 204, 42, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 176, 3, 0, 0, 217, 42, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 191, 3, 0, 0, 230, 42, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 7, 9, 0, 0, 57, 43, 2, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 162, 24, 0, 0, 66, 43, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 24, 0, 0, 79, 43, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 70, 3, 0, 0, 92, 43, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 161, 24, 0, 0, 111, - 43, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 163, 24, 0, 0, 120, 43, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 110, - 3, 0, 0, 133, 43, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 180, 23, 0, 0, 146, 43, 2, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 123, 4, 0, 0, 159, 43, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 157, 2, 0, 0, 172, 43, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 243, 23, 0, 0, 191, 43, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 171, 24, 0, 0, - 200, 43, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 79, 22, 0, 0, 213, 43, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 164, 24, 0, 0, 226, 43, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 165, 24, 0, 0, 239, 43, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 166, 24, 0, 0, 252, 43, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 167, 24, 0, 0, 9, 44, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 51, 6, 0, 0, 22, 44, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 168, 24, 0, 0, - 35, 44, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 73, 22, 0, 0, 48, 44, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 169, 24, 0, 0, 61, 44, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 181, 12, 0, 0, 74, 44, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 170, 24, 0, 0, 160, 44, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 176, 24, 0, 0, 169, 44, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 172, 24, 0, 0, 175, 44, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 173, 24, 0, - 0, 181, 44, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 174, 24, 0, 0, 187, 44, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 175, 24, 0, 0, 204, 44, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 208, 24, 0, 0, 213, 44, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 178, 24, 0, 0, 226, 44, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 180, 24, 0, 0, 239, - 44, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 181, 24, 0, 0, 252, 44, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 182, - 24, 0, 0, 9, 45, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 24, 0, 0, 22, 45, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 184, 24, 0, 0, 35, 45, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 227, 13, 0, 0, 48, 45, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 214, 5, 0, 0, 61, 45, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 144, 6, 0, 0, 74, 45, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 113, 24, 0, 0, 87, 45, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 114, 24, - 0, 0, 100, 45, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 188, 24, 0, 0, 113, 45, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 202, 24, 0, 0, 126, 45, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 203, 24, 0, 0, 139, 45, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 204, 24, 0, 0, 152, 45, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 205, 24, 0, 0, - 165, 45, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 206, 24, 0, 0, 178, 45, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 207, 24, 0, 0, 223, 45, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 179, 24, 0, 0, 232, 45, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 110, 5, 0, 0, 245, 45, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 100, 5, 0, 0, 94, 46, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 187, 24, 0, 0, 103, 46, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 185, 24, 0, - 0, 109, 46, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 186, 24, 0, 0, 194, 46, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 201, 24, 0, 0, 204, 46, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 225, 6, 0, 0, 217, 46, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 193, 24, 0, 0, 230, 46, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 110, 3, 0, 0, 243, 46, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 194, 24, 0, 0, 0, 47, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 195, 24, 0, - 0, 13, 47, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 196, 24, 0, 0, 26, 47, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 197, 24, 0, 0, 39, 47, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 145, 9, 0, 0, 52, 47, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 227, 13, 0, 0, 65, 47, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 78, 47, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 141, 7, 0, 0, 91, 47, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 198, 24, 0, 0, - 104, 47, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 229, 23, 0, 0, 117, 47, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 230, 23, 0, 0, 130, 47, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 40, 15, 0, 0, 143, 47, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 199, 24, 0, 0, 156, 47, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 200, 24, 0, 0, 183, 47, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 192, 24, 0, 0, 192, 47, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 189, 24, 0, - 0, 205, 47, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 190, 24, 0, 0, 218, 47, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 191, 24, 0, 0, 57, 48, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 233, 24, 0, 0, 66, 48, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 217, 24, 0, 0, 79, 48, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 92, 48, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 230, 24, 0, 0, 105, 48, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 231, 24, 0, - 0, 118, 48, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 232, 24, 0, 0, 142, 48, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 229, 24, 0, 0, 151, 48, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 218, 24, 0, 0, 164, 48, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 224, 24, 0, 0, 177, 48, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 225, 24, 0, 0, 190, - 48, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 227, 24, 0, 0, 203, 48, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, - 2, 0, 0, 226, 48, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 223, 24, 0, 0, 250, 48, 2, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 222, 24, 0, 0, 3, 49, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 219, 24, 0, 0, 16, 49, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 220, 24, 0, 0, 29, 49, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 221, 24, 0, 0, 42, - 49, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 251, 9, 0, 0, 55, 49, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 103, 4, - 0, 0, 68, 49, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 139, 23, 0, 0, 91, 49, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 226, 24, 0, 0, 108, 49, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 228, 24, 0, 0, 133, 49, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 246, 24, 0, 0, 142, 49, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 2, 0, 0, 155, - 49, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 44, 6, 0, 0, 168, 49, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 240, - 24, 0, 0, 181, 49, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 244, 24, 0, 0, 194, 49, 2, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 185, 10, 0, 0, 207, 49, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 18, 21, 0, 0, 220, 49, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 245, 24, 0, 0, 233, 49, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 4, 0, 0, 246, - 49, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, 4, 0, 0, 9, 50, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 243, 24, - 0, 0, 18, 50, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 241, 24, 0, 0, 31, 50, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 118, 11, 0, 0, 44, 50, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 121, 11, 0, 0, 57, 50, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 242, 24, 0, 0, 70, 50, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 69, 10, 0, 0, 139, 50, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 23, 25, 0, 0, 149, 50, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 180, 23, 0, - 0, 162, 50, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 48, 24, 0, 0, 175, 50, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 254, 24, 0, 0, 188, 50, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 255, 24, 0, 0, 201, 50, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 160, 3, 0, 0, 214, 50, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 118, 3, 0, 0, 227, 50, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 134, 6, 0, 0, 240, 50, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 9, 25, 0, - 0, 253, 50, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 12, 25, 0, 0, 10, 51, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 46, 13, 0, 0, 23, 51, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 15, 25, 0, 0, 36, 51, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 16, 25, 0, 0, 49, 51, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 17, 25, 0, 0, 63, 51, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 18, 25, 0, 0, 77, 51, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 19, 25, 0, 0, 91, - 51, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 20, 25, 0, 0, 105, 51, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 21, - 25, 0, 0, 119, 51, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 22, 25, 0, 0, 133, 51, 2, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 167, 2, 0, 0, 153, 51, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 255, 24, 0, 0, 163, 51, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 114, 5, 0, 0, 176, 51, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 3, 0, 0, 189, - 51, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 25, 0, 0, 202, 51, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 1, 25, - 0, 0, 215, 51, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 2, 25, 0, 0, 228, 51, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 3, 25, 0, 0, 241, 51, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 4, 25, 0, 0, 254, 51, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 7, 25, 0, 0, 12, 52, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 8, 25, 0, 0, 26, 52, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 193, 11, 0, 0, 58, 52, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 6, 25, 0, 0, 67, - 52, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 255, 24, 0, 0, 80, 52, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 5, 25, - 0, 0, 111, 52, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 11, 25, 0, 0, 120, 52, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 40, 8, 0, 0, 133, 52, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 81, 11, 0, 0, 146, 52, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 100, 5, 0, 0, 160, 52, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 10, 25, 0, 0, 169, 52, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 199, 18, 0, 0, 182, 52, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 116, 23, - 0, 0, 225, 52, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 14, 25, 0, 0, 234, 52, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 13, 25, 0, 0, 247, 52, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 5, 25, 0, 0, 5, 53, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 59, 25, 0, 0, 14, 53, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 25, 25, 0, 0, 27, 53, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 29, 25, 0, 0, 40, 53, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 30, 25, 0, 0, - 53, 53, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 31, 25, 0, 0, 66, 53, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 32, - 25, 0, 0, 79, 53, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 33, 25, 0, 0, 92, 53, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 34, 25, 0, 0, 105, 53, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 110, 9, 0, 0, 118, 53, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 35, 25, 0, 0, 131, 53, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 36, 25, 0, 0, 144, 53, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 37, 25, 0, 0, 157, 53, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 38, 25, 0, - 0, 170, 53, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, 25, 0, 0, 183, 53, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 40, 25, 0, 0, 196, 53, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 41, 25, 0, 0, 209, 53, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 42, 25, 0, 0, 222, 53, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 43, 25, 0, 0, 235, 53, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 44, 25, 0, 0, 248, 53, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 45, 25, 0, 0, - 5, 54, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 46, 25, 0, 0, 18, 54, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 47, - 25, 0, 0, 31, 54, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 48, 25, 0, 0, 44, 54, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 49, 25, 0, 0, 57, 54, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 50, 25, 0, 0, 70, 54, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 51, 25, 0, 0, 83, 54, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 52, 25, 0, 0, 96, 54, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 53, 25, 0, 0, 109, 54, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 54, 25, 0, 0, - 127, 54, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 28, 25, 0, 0, 136, 54, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 26, 25, 0, 0, 142, 54, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 27, 25, 0, 0, 153, 54, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 58, 25, 0, 0, 162, 54, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 55, 25, 0, 0, 168, 54, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 56, 25, 0, 0, 174, 54, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 57, 25, 0, 0, - 186, 54, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 66, 25, 0, 0, 195, 54, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 67, 25, 0, 0, 208, 54, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 68, 25, 0, 0, 221, 54, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 52, 3, 0, 0, 234, 54, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 91, 25, 0, 0, 247, 54, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 92, 25, 0, 0, 4, 55, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 93, 25, 0, 0, 17, - 55, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 94, 25, 0, 0, 30, 55, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 132, - 10, 0, 0, 43, 55, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 153, 2, 0, 0, 56, 55, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 128, 5, 0, 0, 69, 55, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 95, 25, 0, 0, 82, 55, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 96, 25, 0, 0, 101, 55, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 68, 25, 0, 0, 111, 55, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 77, 7, 0, 0, 124, 55, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 69, 25, 0, 0, - 137, 55, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 25, 0, 0, 150, 55, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 139, 9, 0, 0, 163, 55, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 71, 25, 0, 0, 176, 55, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 116, 4, 0, 0, 189, 55, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 71, 7, 0, 0, 202, 55, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 87, 25, 0, 0, 215, 55, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 169, 3, 0, 0, - 228, 55, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 88, 25, 0, 0, 241, 55, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 160, 2, 0, 0, 254, 55, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 3, 0, 0, 11, 56, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 89, 25, 0, 0, 24, 56, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 90, 25, 0, 0, 48, 56, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 86, 25, 0, 0, 57, 56, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 72, 25, 0, 0, 70, - 56, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 84, 25, 0, 0, 83, 56, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 85, 25, - 0, 0, 133, 56, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 83, 25, 0, 0, 142, 56, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 174, 4, 0, 0, 155, 56, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 4, 0, 0, 168, 56, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 88, 4, 0, 0, 181, 56, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 73, 25, 0, 0, 194, 56, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 74, 25, 0, 0, 207, 56, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 25, 0, - 0, 220, 56, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 127, 22, 0, 0, 233, 56, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 76, 25, 0, 0, 246, 56, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 151, 3, 0, 0, 3, 57, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 116, 4, 0, 0, 16, 57, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 77, 25, 0, 0, 29, 57, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 78, 25, 0, 0, 42, 57, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 79, 25, 0, 0, 55, - 57, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 63, 7, 0, 0, 68, 57, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 80, 25, - 0, 0, 81, 57, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 81, 25, 0, 0, 94, 57, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 82, 25, 0, 0, 107, 57, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 251, 4, 0, 0, 179, 57, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 131, 25, 0, 0, 189, 57, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 105, 25, 0, 0, 202, 57, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 44, 4, 0, 0, 215, 57, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 107, 25, 0, - 0, 228, 57, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 113, 25, 0, 0, 241, 57, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 114, 25, 0, 0, 254, 57, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 115, 25, 0, 0, 11, 58, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 116, 25, 0, 0, 24, 58, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 117, 25, 0, 0, 37, 58, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 118, 25, 0, 0, 50, 58, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 119, 25, 0, - 0, 63, 58, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 120, 25, 0, 0, 76, 58, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 124, 25, 0, 0, 90, 58, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 127, 25, 0, 0, 104, 58, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 128, 25, 0, 0, 118, 58, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 129, 25, 0, 0, 132, 58, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 130, 25, 0, 0, 147, 58, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 112, 25, 0, - 0, 156, 58, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 106, 25, 0, 0, 169, 58, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 231, 6, 0, 0, 182, 58, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 107, 25, 0, 0, 195, 58, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 108, 25, 0, 0, 208, 58, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 109, 25, 0, 0, 221, 58, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 110, 25, 0, 0, 234, 58, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 111, 25, - 0, 0, 21, 59, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 123, 25, 0, 0, 30, 59, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 121, 25, 0, 0, 43, 59, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 122, 25, 0, 0, 69, 59, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 126, 25, 0, 0, 78, 59, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 125, 25, 0, 0, 91, 59, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 127, 8, 0, 0, 122, 59, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 156, 25, 0, - 0, 132, 59, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 137, 25, 0, 0, 145, 59, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 138, 25, 0, 0, 158, 59, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 81, 7, 0, 0, 171, 59, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 140, 25, 0, 0, 184, 59, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 148, 25, 0, 0, 197, 59, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 149, 25, 0, 0, 210, 59, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 150, 25, - 0, 0, 223, 59, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 151, 25, 0, 0, 237, 59, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 152, 25, 0, 0, 251, 59, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 153, 25, 0, 0, 9, 60, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 154, 25, 0, 0, 23, 60, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 155, 25, 0, 0, 37, 60, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 215, 6, 0, 0, 57, 60, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 139, 25, 0, - 0, 66, 60, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 38, 11, 0, 0, 79, 60, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 103, 5, 0, 0, 97, 60, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 147, 25, 0, 0, 105, 60, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 146, 25, 0, 0, 114, 60, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 3, 0, 0, 127, 60, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 141, 25, 0, 0, 140, 60, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 142, 25, 0, 0, - 153, 60, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 30, 13, 0, 0, 166, 60, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 143, 25, 0, 0, 179, 60, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 59, 8, 0, 0, 192, 60, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 111, 3, 0, 0, 205, 60, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 52, 6, 0, 0, 228, 60, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 144, 25, 0, 0, 5, 61, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 145, 25, 0, 0, - 42, 61, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 220, 25, 0, 0, 52, 61, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 123, 4, 0, 0, 65, 61, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 197, 2, 0, 0, 78, 61, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 164, 25, 0, 0, 91, 61, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 165, 25, 0, 0, 104, 61, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 166, 25, 0, 0, 117, 61, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 118, 3, 0, - 0, 130, 61, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 167, 25, 0, 0, 143, 61, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 168, 25, 0, 0, 156, 61, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 169, 25, 0, 0, 169, 61, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 170, 25, 0, 0, 182, 61, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 171, 25, 0, 0, 195, - 61, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 172, 25, 0, 0, 208, 61, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 213, - 25, 0, 0, 222, 61, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 214, 25, 0, 0, 236, 61, 2, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 215, 25, 0, 0, 250, 61, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 216, 25, 0, 0, 8, 62, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 217, 25, 0, 0, 22, 62, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 153, 2, 0, 0, 36, - 62, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 125, 6, 0, 0, 50, 62, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 155, 3, - 0, 0, 64, 62, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 218, 25, 0, 0, 78, 62, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 219, 25, 0, 0, 93, 62, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 212, 25, 0, 0, 103, 62, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 163, 25, 0, 0, 116, 62, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 173, 2, 0, 0, 129, 62, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 173, 25, 0, 0, 142, 62, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 174, 25, - 0, 0, 155, 62, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 175, 25, 0, 0, 168, 62, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 176, 25, 0, 0, 181, 62, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 177, 25, 0, 0, 194, 62, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 162, 3, 0, 0, 207, 62, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 178, 25, 0, 0, 220, - 62, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 18, 21, 0, 0, 233, 62, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 179, - 25, 0, 0, 247, 62, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 180, 25, 0, 0, 5, 63, 2, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 181, 25, 0, 0, 19, 63, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 182, 25, 0, 0, 33, 63, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 183, 25, 0, 0, 47, 63, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 184, 25, 0, 0, 61, - 63, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 185, 25, 0, 0, 75, 63, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 186, - 25, 0, 0, 89, 63, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 195, 11, 0, 0, 103, 63, 2, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 188, 25, 0, 0, 117, 63, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 189, 25, 0, 0, 131, 63, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 200, 25, 0, 0, 145, 63, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 201, 25, 0, 0, - 159, 63, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 202, 25, 0, 0, 173, 63, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 203, 25, 0, 0, 187, 63, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 204, 25, 0, 0, 201, 63, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 205, 25, 0, 0, 215, 63, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 118, 3, 0, 0, 229, 63, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 206, 25, 0, 0, 243, 63, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 207, 25, - 0, 0, 1, 64, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 208, 25, 0, 0, 15, 64, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 209, 25, 0, 0, 29, 64, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 254, 24, 0, 0, 43, 64, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 210, 25, 0, 0, 57, 64, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 211, 25, 0, 0, 86, 64, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 133, 12, 0, 0, 99, 64, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, 4, 0, 0, - 126, 64, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 187, 25, 0, 0, 135, 64, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 8, 0, 0, 0, 148, 64, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 196, 11, 0, 0, 161, 64, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 70, 3, 0, 0, 179, 64, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 199, 25, 0, 0, 188, 64, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 190, 25, 0, 0, 194, 64, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 191, 25, 0, 0, - 200, 64, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 192, 25, 0, 0, 206, 64, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 193, 25, 0, 0, 212, 64, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 194, 25, 0, 0, 218, 64, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 195, 25, 0, 0, 224, 64, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 196, 25, 0, 0, 230, 64, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 197, 25, 0, 0, 236, 64, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 198, 25, - 0, 0, 248, 64, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 226, 25, 0, 0, 3, 65, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 182, 7, 0, 0, 18, 65, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 224, 25, 0, 0, 33, 65, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 225, 25, 0, 0, 53, 65, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 223, 25, 0, 0, 66, 65, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 233, 25, 0, 0, 75, 65, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 126, 4, 0, 0, - 88, 65, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 214, 24, 0, 0, 101, 65, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 70, 3, 0, 0, 114, 65, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 229, 25, 0, 0, 127, 65, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 230, 25, 0, 0, 140, 65, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 74, 3, 0, 0, 153, 65, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 231, 25, 0, 0, 166, 65, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 232, 25, 0, 0, - 179, 65, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 202, 25, 0, 0, 198, 65, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 32, 26, 0, 0, 209, 65, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 110, 3, 0, 0, 224, 65, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 160, 2, 0, 0, 239, 65, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 214, 24, 0, 0, 254, 65, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 17, 26, 0, 0, 13, 66, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 60, 8, 0, 0, - 28, 66, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 18, 26, 0, 0, 43, 66, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 52, - 13, 0, 0, 58, 66, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 19, 26, 0, 0, 76, 66, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 20, 26, 0, 0, 94, 66, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 21, 26, 0, 0, 109, 66, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 22, 26, 0, 0, 124, 66, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 23, 26, 0, 0, 139, 66, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 2, 0, 0, 154, 66, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 24, 26, 0, - 0, 172, 66, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 25, 26, 0, 0, 190, 66, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 87, 8, 0, 0, 208, 66, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 26, 26, 0, 0, 223, 66, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 27, 26, 0, 0, 238, 66, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 28, 26, 0, 0, 253, 66, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 29, 26, 0, 0, 12, 67, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 30, 26, 0, 0, - 27, 67, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 181, 12, 0, 0, 42, 67, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 31, 26, 0, 0, 68, 67, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 16, 26, 0, 0, 79, 67, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 158, 5, 0, 0, 94, 67, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 174, 3, 0, 0, 109, 67, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 236, 25, 0, 0, 124, 67, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 148, 23, 0, 0, - 139, 67, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 237, 25, 0, 0, 154, 67, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 238, 25, 0, 0, 169, 67, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 239, 25, 0, 0, 184, 67, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 240, 25, 0, 0, 199, 67, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 241, 25, 0, 0, 214, 67, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 251, 25, 0, 0, 229, 67, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 23, - 0, 0, 244, 67, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 254, 25, 0, 0, 3, 68, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 255, 25, 0, 0, 18, 68, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 14, 26, 0, 0, 33, 68, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 15, 26, 0, 0, 134, 68, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 250, 25, 0, 0, 145, 68, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 66, 7, 0, 0, 160, 68, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 248, 25, 0, - 0, 175, 68, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 249, 25, 0, 0, 191, 68, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 247, 25, 0, 0, 202, 68, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 242, 25, 0, 0, 217, 68, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 246, 25, 0, 0, 233, 68, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 245, 25, 0, 0, 244, - 68, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 243, 25, 0, 0, 3, 69, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 244, - 25, 0, 0, 18, 69, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 236, 10, 0, 0, 60, 69, 2, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 253, 25, 0, 0, 71, 69, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 252, 25, 0, 0, 167, 69, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 13, 26, 0, 0, 178, 69, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 26, 0, 0, 193, - 69, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 134, 15, 0, 0, 208, 69, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 170, - 3, 0, 0, 223, 69, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 18, 21, 0, 0, 238, 69, 2, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 1, 26, 0, 0, 253, 69, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 11, 26, 0, 0, 12, 70, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 12, 26, 0, 0, 27, 70, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 227, 13, 0, 0, 42, 70, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 87, 8, 0, 0, 75, 70, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 10, 26, 0, - 0, 86, 70, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 2, 26, 0, 0, 101, 70, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 3, 26, 0, 0, 116, 70, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 4, 26, 0, 0, 131, 70, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 5, 26, 0, 0, 146, 70, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 6, 26, 0, 0, 161, 70, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 7, 26, 0, 0, 176, 70, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 8, 26, 0, 0, 191, - 70, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 9, 26, 0, 0, 26, 71, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 37, 26, - 0, 0, 35, 71, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 153, 2, 0, 0, 48, 71, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 5, 3, 0, 0, 61, 71, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 34, 26, 0, 0, 74, 71, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 200, 23, 0, 0, 87, 71, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 87, 4, 0, 0, 100, 71, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 35, 26, 0, 0, 113, 71, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 3, 0, 0, - 126, 71, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 36, 26, 0, 0, 139, 71, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 187, 3, 0, 0, 158, 71, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 46, 26, 0, 0, 167, 71, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 44, 26, 0, 0, 180, 71, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 45, 26, 0, 0, 206, 71, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 59, 26, 0, 0, 215, 71, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 55, 26, 0, 0, - 228, 71, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 56, 26, 0, 0, 241, 71, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 57, 26, 0, 0, 254, 71, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 58, 26, 0, 0, 21, 72, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 61, 26, 0, 0, 36, 72, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 65, 26, 0, 0, 45, 72, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 25, 5, 0, 0, 64, 72, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 78, 26, 0, 0, 73, - 72, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 69, 26, 0, 0, 86, 72, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 26, - 0, 0, 99, 72, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 71, 26, 0, 0, 112, 72, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 72, 26, 0, 0, 125, 72, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 73, 26, 0, 0, 138, 72, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 74, 26, 0, 0, 151, 72, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 26, 0, 0, 164, 72, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 76, 26, 0, 0, 177, 72, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 77, 26, 0, 0, - 211, 72, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 85, 26, 0, 0, 220, 72, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 86, 26, 0, 0, 239, 72, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 87, 26, 0, 0, 248, 72, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 88, 26, 0, 0, 5, 73, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 87, 4, 0, 0, 24, 73, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 118, 26, 0, 0, 33, 73, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 89, 26, 0, 0, 46, - 73, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 90, 26, 0, 0, 59, 73, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 91, 26, - 0, 0, 72, 73, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 92, 26, 0, 0, 85, 73, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 93, 26, 0, 0, 98, 73, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 94, 26, 0, 0, 111, 73, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 95, 26, 0, 0, 124, 73, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 15, 12, 0, 0, 137, 73, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 96, 26, 0, 0, 150, 73, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 97, 26, 0, 0, - 163, 73, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 98, 26, 0, 0, 176, 73, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 99, 26, 0, 0, 189, 73, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 172, 5, 0, 0, 202, 73, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 100, 26, 0, 0, 215, 73, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 101, 26, 0, 0, 228, 73, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 102, 26, 0, 0, 241, 73, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 103, 26, 0, - 0, 254, 73, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 123, 3, 0, 0, 11, 74, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 109, 26, 0, 0, 24, 74, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 110, 26, 0, 0, 37, 74, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 111, 26, 0, 0, 50, 74, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 112, 26, 0, 0, 63, 74, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 113, 26, 0, 0, 76, 74, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 114, 26, 0, 0, - 89, 74, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 115, 26, 0, 0, 102, 74, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 116, 26, 0, 0, 115, 74, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 117, 26, 0, 0, 138, 74, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 108, 26, 0, 0, 147, 74, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 104, 26, 0, 0, 153, 74, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 105, 26, 0, 0, 159, 74, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 106, 26, - 0, 0, 165, 74, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 107, 26, 0, 0, 181, 74, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 167, 26, 0, 0, 189, 74, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 166, 26, 0, 0, 212, 74, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 121, 26, 0, 0, 225, 74, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 122, 26, 0, 0, - 238, 74, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 123, 26, 0, 0, 251, 74, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 124, 26, 0, 0, 10, 75, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 165, 26, 0, 0, 19, 75, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 125, 26, 0, 0, 37, 75, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 126, 26, 0, 0, 50, 75, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 127, 26, 0, 0, 64, 75, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 128, 26, 0, 0, - 82, 75, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 129, 26, 0, 0, 95, 75, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 131, 26, 0, 0, 108, 75, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 132, 26, 0, 0, 121, 75, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 137, 26, 0, 0, 135, 75, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 138, 26, 0, 0, 153, 75, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 126, 26, 0, 0, 166, 75, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 127, 26, - 0, 0, 179, 75, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 132, 26, 0, 0, 193, 75, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 139, 26, 0, 0, 211, 75, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 126, 26, 0, 0, 224, 75, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 127, 26, 0, 0, 237, 75, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 140, 26, 0, 0, - 250, 75, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 141, 26, 0, 0, 7, 76, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 143, 26, 0, 0, 21, 76, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 144, 26, 0, 0, 39, 76, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 145, 26, 0, 0, 66, 76, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 146, 26, 0, 0, 79, 76, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 147, 26, 0, 0, 92, 76, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 148, 26, 0, 0, - 110, 76, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 149, 26, 0, 0, 123, 76, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 150, 26, 0, 0, 136, 76, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 151, 26, 0, 0, 150, 76, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 152, 26, 0, 0, 168, 76, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 153, 26, 0, 0, 181, 76, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 26, 0, 0, 195, 76, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 155, 26, - 0, 0, 213, 76, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 156, 26, 0, 0, 226, 76, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 157, 26, 0, 0, 242, 76, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 158, 26, 0, 0, 4, 77, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 159, 26, 0, 0, 17, 77, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 26, 0, 0, 31, 77, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 161, 26, 0, 0, 49, 77, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 162, 26, - 0, 0, 62, 77, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 163, 26, 0, 0, 75, 77, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 164, 26, 0, 0, 94, 77, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 130, 26, 0, 0, 105, 77, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 136, 26, 0, 0, 113, 77, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 135, 26, 0, 0, 122, 77, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 133, 26, 0, 0, 135, 77, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 134, 26, - 0, 0, 153, 77, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 142, 26, 0, 0, 177, 77, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 183, 26, 0, 0, 186, 77, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 2, 0, 0, 199, 77, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 181, 26, 0, 0, 212, 77, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 182, 26, 0, 0, 226, - 77, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 180, 26, 0, 0, 235, 77, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 157, - 2, 0, 0, 3, 78, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 186, 26, 0, 0, 12, 78, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 160, 2, 0, 0, 25, 78, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 181, 26, 0, 0, 38, 78, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 182, 26, 0, 0, 52, 78, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 184, 26, 0, 0, 61, 78, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 157, 2, 0, 0, 79, 78, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 185, 26, 0, - 0, 92, 78, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 194, 26, 0, 0, 101, 78, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 160, 2, 0, 0, 114, 78, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 189, 26, 0, 0, 127, 78, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 155, 3, 0, 0, 140, 78, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 115, 4, 0, 0, 153, 78, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 114, 3, 0, 0, 167, 78, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 193, 26, 0, - 0, 176, 78, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 92, 13, 0, 0, 194, 78, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 190, 26, 0, 0, 207, 78, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 173, 5, 0, 0, 220, 78, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 88, 4, 0, 0, 234, 78, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 188, 3, 0, 0, 10, 79, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 6, 4, 0, 0, 23, 79, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 191, 26, 0, 0, - 37, 79, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 174, 5, 0, 0, 50, 79, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 88, - 4, 0, 0, 64, 79, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 192, 26, 0, 0, 82, 79, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 136, 21, 0, 0, 95, 79, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 203, 23, 0, 0, 108, 79, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 88, 4, 0, 0, 140, 79, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 247, 28, 0, 0, 150, 79, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 198, 26, 0, 0, 163, 79, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 3, 0, - 0, 176, 79, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 54, 4, 0, 0, 189, 79, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 230, 28, 0, 0, 202, 79, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 231, 28, 0, 0, 215, 79, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 234, 28, 0, 0, 228, 79, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 210, 11, 0, 0, 241, 79, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 235, 28, 0, 0, 254, 79, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 236, 28, - 0, 0, 11, 80, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 208, 7, 0, 0, 24, 80, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 89, 6, 0, 0, 37, 80, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 237, 28, 0, 0, 50, 80, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 238, 28, 0, 0, 63, 80, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 239, 28, 0, 0, 76, 80, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 240, 28, 0, 0, 89, 80, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 241, 28, 0, 0, - 102, 80, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 115, 4, 0, 0, 115, 80, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 98, 6, 0, 0, 128, 80, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 94, 14, 0, 0, 141, 80, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 209, 26, 0, 0, 154, 80, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 242, 28, 0, 0, 167, 80, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 243, 28, 0, 0, 180, 80, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 51, 12, 0, - 0, 193, 80, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 244, 28, 0, 0, 206, 80, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 245, 28, 0, 0, 219, 80, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 246, 28, 0, 0, 232, 80, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 167, 2, 0, 0, 251, 80, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 198, 26, 0, 0, 5, 81, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 159, 3, 0, 0, 18, 81, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 2, 4, 0, 0, - 31, 81, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 153, 2, 0, 0, 44, 81, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 199, 26, 0, 0, 57, 81, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 200, 26, 0, 0, 70, 81, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 154, 2, 0, 0, 83, 81, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 9, 0, 0, 0, 96, 81, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 167, 25, 0, 0, 109, 81, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 201, 26, 0, 0, - 122, 81, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 202, 26, 0, 0, 135, 81, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 203, 28, 0, 0, 148, 81, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 204, 28, 0, 0, 161, 81, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 205, 28, 0, 0, 174, 81, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 206, 28, 0, 0, 187, 81, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 207, 28, 0, 0, 200, 81, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 208, 28, - 0, 0, 213, 81, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 209, 28, 0, 0, 226, 81, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 210, 28, 0, 0, 239, 81, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 211, 28, 0, 0, 252, 81, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 212, 28, 0, 0, 9, 82, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 213, 28, 0, 0, 22, - 82, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 174, 4, 0, 0, 35, 82, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 175, 4, - 0, 0, 48, 82, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 190, 3, 0, 0, 61, 82, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 214, 28, 0, 0, 74, 82, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 215, 28, 0, 0, 87, 82, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 216, 28, 0, 0, 100, 82, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 217, 28, 0, 0, 113, 82, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 218, 28, 0, 0, 126, 82, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 219, 28, - 0, 0, 139, 82, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 220, 28, 0, 0, 152, 82, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 221, 28, 0, 0, 165, 82, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 95, 27, 0, 0, 178, 82, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 222, 28, 0, 0, 191, 82, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 225, 28, 0, 0, 205, - 82, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 226, 28, 0, 0, 219, 82, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 227, - 28, 0, 0, 233, 82, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 228, 28, 0, 0, 247, 82, 2, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 229, 28, 0, 0, 11, 83, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 202, 28, 0, 0, 21, 83, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 39, 15, 0, 0, 34, 83, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 203, 26, 0, 0, 48, - 83, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 204, 26, 0, 0, 62, 83, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 205, - 26, 0, 0, 76, 83, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 206, 26, 0, 0, 90, 83, 2, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 230, 7, 0, 0, 104, 83, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 207, 26, 0, 0, 118, 83, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 208, 26, 0, 0, 132, 83, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 255, 5, 0, 0, 146, - 83, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 212, 26, 0, 0, 160, 83, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 213, - 26, 0, 0, 174, 83, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 214, 26, 0, 0, 188, 83, 2, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 134, 6, 0, 0, 202, 83, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 215, 26, 0, 0, 216, 83, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 216, 26, 0, 0, 230, 83, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 201, 28, 0, 0, - 250, 83, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 211, 26, 0, 0, 3, 84, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 114, 5, 0, 0, 16, 84, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 189, 4, 0, 0, 35, 84, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 210, 26, 0, 0, 44, 84, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 94, 14, 0, 0, 57, 84, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 209, 26, 0, 0, 81, 84, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 143, 10, 0, 0, - 91, 84, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 217, 26, 0, 0, 104, 84, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 218, 26, 0, 0, 117, 84, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 219, 26, 0, 0, 130, 84, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 47, 5, 0, 0, 143, 84, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 220, 26, 0, 0, 156, 84, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 221, 26, 0, 0, 169, 84, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 222, 26, 0, - 0, 182, 84, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 223, 26, 0, 0, 195, 84, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 224, 26, 0, 0, 208, 84, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 225, 26, 0, 0, 221, 84, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 226, 26, 0, 0, 234, 84, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 117, 14, 0, 0, 247, - 84, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 198, 26, 0, 0, 4, 85, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 227, - 26, 0, 0, 17, 85, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 173, 2, 0, 0, 30, 85, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 235, 26, 0, 0, 43, 85, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 5, 3, 0, 0, 56, 85, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 233, 7, 0, 0, 69, 85, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 237, 26, 0, 0, 82, 85, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 238, 26, 0, 0, 95, 85, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 99, 20, 0, 0, - 108, 85, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 239, 26, 0, 0, 121, 85, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 186, 3, 0, 0, 134, 85, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, 27, 0, 0, 148, 85, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 40, 27, 0, 0, 162, 85, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 41, 27, 0, 0, 176, 85, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 42, 27, 0, 0, 190, 85, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, 15, 0, 0, - 204, 85, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 115, 4, 0, 0, 218, 85, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 73, 27, 0, 0, 232, 85, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 74, 27, 0, 0, 246, 85, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 75, 27, 0, 0, 4, 86, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 76, 27, 0, 0, 18, 86, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 160, 3, 0, 0, 32, 86, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 77, 27, 0, 0, 46, - 86, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 251, 4, 0, 0, 60, 86, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 78, 27, - 0, 0, 74, 86, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 155, 3, 0, 0, 88, 86, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 79, 27, 0, 0, 102, 86, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 80, 27, 0, 0, 116, 86, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 127, 5, 0, 0, 130, 86, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 127, 27, 0, 0, 144, 86, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 128, 27, 0, 0, 158, 86, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 129, 27, - 0, 0, 172, 86, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 207, 11, 0, 0, 186, 86, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 151, 22, 0, 0, 200, 86, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 130, 27, 0, 0, 214, 86, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 131, 27, 0, 0, 228, 86, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 132, 27, 0, 0, - 242, 86, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 133, 27, 0, 0, 0, 87, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 74, 3, 0, 0, 14, 87, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 134, 27, 0, 0, 28, 87, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 61, 27, 0, 0, 42, 87, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 137, 27, 0, 0, 56, 87, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 62, 27, 0, 0, 70, 87, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 139, 27, 0, 0, - 84, 87, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 239, 2, 0, 0, 98, 87, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 167, 2, 0, 0, 112, 87, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 234, 4, 0, 0, 126, 87, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 123, 4, 0, 0, 140, 87, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 11, 13, 0, 0, 154, 87, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 140, 27, 0, 0, 168, 87, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 208, 27, 0, 0, - 182, 87, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 209, 27, 0, 0, 196, 87, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 192, 9, 0, 0, 210, 87, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 144, 10, 0, 0, 224, 87, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 210, 27, 0, 0, 238, 87, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 164, 3, 0, 0, 252, 87, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 100, 28, 0, 0, 10, 88, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 255, 5, 0, 0, - 24, 88, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 133, 4, 0, 0, 38, 88, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 200, 28, 0, 0, 57, 88, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 234, 26, 0, 0, 66, 88, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 228, 26, 0, 0, 76, 88, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 229, 26, 0, 0, 86, 88, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 230, 26, 0, 0, 96, 88, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 231, 26, 0, 0, - 106, 88, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 232, 26, 0, 0, 112, 88, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 233, 26, 0, 0, 123, 88, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 236, 26, 0, 0, 136, 88, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 119, 23, 0, 0, 150, 88, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 38, 27, 0, 0, 159, 88, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 9, 0, 0, 0, 172, 88, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 187, 3, 0, - 0, 185, 88, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 240, 26, 0, 0, 212, 88, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 241, 26, 0, 0, 225, 88, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 242, 26, 0, 0, 239, 88, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 243, 26, 0, 0, 252, 88, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 244, 26, 0, 0, 9, 89, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 245, 26, 0, 0, 25, 89, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 246, 26, - 0, 0, 41, 89, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 247, 26, 0, 0, 57, 89, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 205, 26, 0, 0, 73, 89, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 248, 26, 0, 0, 89, 89, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 249, 26, 0, 0, 105, 89, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 250, 26, 0, 0, 121, 89, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 251, 26, 0, 0, 137, 89, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 192, 3, - 0, 0, 153, 89, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 192, 14, 0, 0, 169, 89, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 17, 8, 0, 0, 185, 89, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 252, 26, 0, 0, 201, 89, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 253, 26, 0, 0, 217, 89, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 98, 6, 0, 0, 233, 89, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 128, 11, 0, 0, 249, 89, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 254, 26, - 0, 0, 9, 90, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 255, 26, 0, 0, 25, 90, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 0, 27, 0, 0, 41, 90, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 1, 27, 0, 0, 57, 90, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 2, 27, 0, 0, 73, 90, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 3, 27, 0, 0, 89, 90, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 4, 27, 0, 0, 105, 90, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 5, 27, 0, 0, 121, - 90, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 6, 27, 0, 0, 137, 90, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 7, 27, - 0, 0, 153, 90, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 8, 27, 0, 0, 169, 90, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 9, 27, 0, 0, 185, 90, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 174, 20, 0, 0, 201, 90, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 10, 27, 0, 0, 217, 90, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 11, 27, 0, 0, 233, 90, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 12, 27, 0, 0, 249, 90, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 115, 5, 0, 0, - 9, 91, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 13, 27, 0, 0, 25, 91, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 156, - 3, 0, 0, 41, 91, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 14, 27, 0, 0, 57, 91, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 15, 27, 0, 0, 73, 91, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 16, 27, 0, 0, 89, 91, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 17, 27, 0, 0, 119, 91, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 18, 27, 0, 0, 132, 91, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 19, 27, 0, 0, 146, 91, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 20, 27, 0, 0, - 173, 91, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 21, 27, 0, 0, 186, 91, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 22, 27, 0, 0, 199, 91, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 23, 27, 0, 0, 212, 91, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 24, 27, 0, 0, 240, 91, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 25, 27, 0, 0, 253, 91, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 26, 27, 0, 0, 10, 92, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 136, 10, 0, 0, - 23, 92, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 27, 27, 0, 0, 37, 92, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 28, - 27, 0, 0, 50, 92, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 29, 27, 0, 0, 63, 92, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 30, 27, 0, 0, 76, 92, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 218, 7, 0, 0, 89, 92, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 31, 27, 0, 0, 102, 92, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 32, 27, 0, 0, 115, 92, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 33, 27, 0, 0, 128, 92, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 34, 27, 0, 0, - 141, 92, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 35, 27, 0, 0, 154, 92, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 36, 27, 0, 0, 167, 92, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 37, 27, 0, 0, 181, 92, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 72, 27, 0, 0, 218, 92, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 240, 26, 0, 0, 231, 92, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 43, 27, 0, 0, 244, 92, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 44, 27, 0, 0, - 1, 93, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 45, 27, 0, 0, 14, 93, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 46, - 27, 0, 0, 27, 93, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 24, 11, 0, 0, 40, 93, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 47, 27, 0, 0, 53, 93, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 66, 93, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 48, 27, 0, 0, 79, 93, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 51, 27, 0, 0, 107, 93, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 230, 7, 0, 0, 135, 93, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 52, 27, 0, 0, - 163, 93, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 53, 27, 0, 0, 176, 93, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 54, 27, 0, 0, 204, 93, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 189, 4, 0, 0, 217, 93, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 56, 27, 0, 0, 245, 93, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 57, 27, 0, 0, 2, 94, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 58, 27, 0, 0, 15, 94, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 63, 7, 0, 0, 28, - 94, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 59, 27, 0, 0, 41, 94, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 60, 27, - 0, 0, 56, 94, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 44, 17, 0, 0, 69, 94, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 61, 27, 0, 0, 82, 94, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 62, 27, 0, 0, 95, 94, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 173, 2, 0, 0, 108, 94, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 63, 27, 0, 0, 121, 94, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 241, 26, 0, 0, 162, 94, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 64, 27, 0, 0, - 175, 94, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 65, 27, 0, 0, 203, 94, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 66, 27, 0, 0, 216, 94, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 67, 27, 0, 0, 231, 94, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 68, 27, 0, 0, 244, 94, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 69, 27, 0, 0, 1, 95, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 70, 27, 0, 0, 14, 95, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 71, 27, 0, 0, 28, - 95, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 50, 27, 0, 0, 37, 95, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 240, - 26, 0, 0, 50, 95, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 49, 27, 0, 0, 63, 95, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 59, 8, 0, 0, 76, 95, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 24, 11, 0, 0, 90, 95, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 55, 27, 0, 0, 99, 95, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 174, 5, 0, 0, 112, 95, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 60, 8, 0, 0, 125, 95, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 62, 3, 0, 0, - 138, 95, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 9, 0, 0, 0, 157, 95, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 126, 27, 0, 0, 166, 95, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 115, 4, 0, 0, 179, 95, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 167, 2, 0, 0, 192, 95, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 118, 4, 0, 0, 205, 95, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 81, 27, 0, 0, 218, 95, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 82, 27, 0, 0, - 231, 95, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 214, 5, 0, 0, 244, 95, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 56, 4, 0, 0, 1, 96, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 57, 16, 0, 0, 14, 96, 2, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 8, 0, 0, 0, 27, 96, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 174, 7, 0, 0, 40, 96, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 83, 27, 0, 0, 53, 96, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 128, 11, 0, 0, 66, 96, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 32, 27, 0, 0, 79, 96, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 84, 27, 0, - 0, 92, 96, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 210, 11, 0, 0, 105, 96, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 80, 27, 0, 0, 118, 96, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 85, 27, 0, 0, 131, 96, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 86, 27, 0, 0, 144, 96, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 87, 27, 0, 0, 157, 96, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 88, 27, 0, 0, 170, 96, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 89, 27, 0, 0, - 183, 96, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 90, 27, 0, 0, 196, 96, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 91, 27, 0, 0, 209, 96, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 92, 27, 0, 0, 222, 96, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 93, 27, 0, 0, 235, 96, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 94, 27, 0, 0, 248, 96, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 95, 27, 0, 0, 5, 97, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 96, 27, 0, 0, 18, - 97, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 97, 27, 0, 0, 31, 97, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 98, 27, - 0, 0, 44, 97, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 99, 27, 0, 0, 57, 97, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 100, 27, 0, 0, 70, 97, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 125, 27, 0, 0, 89, 97, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 124, 27, 0, 0, 99, 97, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 77, 7, 0, 0, 112, 97, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 101, 27, 0, 0, 125, 97, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 3, 0, 0, - 138, 97, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 171, 4, 0, 0, 151, 97, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 88, 4, 0, 0, 164, 97, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 102, 27, 0, 0, 177, 97, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 103, 27, 0, 0, 204, 97, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 167, 25, 0, 0, 231, 97, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 104, 27, 0, 0, 247, 97, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 105, 27, 0, - 0, 7, 98, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 106, 27, 0, 0, 23, 98, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 107, 27, 0, 0, 39, 98, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 108, 27, 0, 0, 55, 98, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 109, 27, 0, 0, 71, 98, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 110, 27, 0, 0, 89, 98, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 111, 27, 0, 0, 102, 98, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 112, 27, 0, 0, - 115, 98, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 113, 27, 0, 0, 128, 98, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 114, 27, 0, 0, 141, 98, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 115, 27, 0, 0, 154, 98, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 187, 3, 0, 0, 167, 98, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 17, 27, 0, 0, 180, 98, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 116, 27, 0, 0, 193, 98, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 117, 27, 0, - 0, 206, 98, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 148, 15, 0, 0, 219, 98, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 118, 27, 0, 0, 233, 98, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 119, 27, 0, 0, 247, 98, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 120, 27, 0, 0, 5, 99, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 251, 9, 0, 0, 19, 99, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 87, 27, 0, 0, 33, 99, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 121, 27, 0, - 0, 47, 99, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 122, 27, 0, 0, 61, 99, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 123, 27, 0, 0, 89, 99, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 136, 27, 0, 0, 98, 99, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 160, 2, 0, 0, 111, 99, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 3, 0, 0, 124, 99, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 135, 27, 0, 0, 143, 99, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 138, 27, 0, 0, - 152, 99, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 174, 4, 0, 0, 165, 99, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 187, 3, 0, 0, 207, 99, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 207, 27, 0, 0, 242, 99, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 206, 27, 0, 0, 252, 99, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 66, 7, 0, 0, 9, 100, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 241, 10, 0, 0, 22, 100, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 147, 27, 0, 0, - 35, 100, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 196, 11, 0, 0, 48, 100, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 33, 5, 0, 0, 61, 100, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 161, 27, 0, 0, 74, 100, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 162, 27, 0, 0, 87, 100, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 9, 0, 0, 0, 100, 100, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 42, 21, 0, 0, 113, 100, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 174, 27, 0, 0, - 131, 100, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 132, 10, 0, 0, 144, 100, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 128, 14, 0, 0, 158, 100, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 94, 14, 0, 0, 171, 100, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 123, 4, 0, 0, 184, 100, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 175, 27, 0, 0, 197, - 100, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 176, 27, 0, 0, 215, 100, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 251, 4, 0, 0, 228, 100, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 87, 8, 0, 0, 242, 100, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 177, 27, 0, 0, 255, 100, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 123, 27, 0, 0, 12, 101, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 179, 27, 0, 0, 25, 101, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 201, 27, 0, - 0, 38, 101, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 202, 27, 0, 0, 51, 101, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 203, 27, 0, 0, 64, 101, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 115, 5, 0, 0, 77, 101, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 204, 27, 0, 0, 90, 101, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 205, 27, 0, 0, 109, 101, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 146, 27, 0, 0, 118, 101, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 141, 27, - 0, 0, 131, 101, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 187, 3, 0, 0, 145, 101, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 145, 27, 0, 0, 168, 101, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 157, 2, 0, 0, 181, 101, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 142, 27, 0, 0, 195, 101, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 143, 27, 0, 0, - 208, 101, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 4, 0, 0, 221, 101, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 187, 3, 0, 0, 244, 101, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 144, 27, 0, 0, 32, 102, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 156, 27, 0, 0, 41, 102, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 103, 5, 0, 0, 54, 102, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 148, 27, 0, 0, 67, 102, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 189, 6, - 0, 0, 93, 102, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 155, 27, 0, 0, 102, 102, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 169, 4, 0, 0, 115, 102, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 149, 27, 0, 0, 128, 102, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 150, 27, 0, 0, 144, 102, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 151, 27, 0, 0, - 160, 102, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 152, 27, 0, 0, 176, 102, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 153, 27, 0, 0, 192, 102, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 27, 0, 0, 208, 102, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 9, 0, 0, 0, 224, 102, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 87, 8, 0, 0, 241, 102, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 27, 0, 0, 250, 102, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 155, 14, - 0, 0, 21, 103, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 157, 27, 0, 0, 34, 103, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 158, 27, 0, 0, 47, 103, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 159, 27, 0, 0, 62, 103, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 173, 27, 0, 0, 71, 103, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 20, 3, 0, 0, 98, - 103, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 163, 27, 0, 0, 114, 103, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 164, 27, 0, 0, 130, 103, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 165, 27, 0, 0, 146, 103, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 166, 27, 0, 0, 162, 103, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 167, 27, 0, 0, 178, - 103, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 168, 27, 0, 0, 194, 103, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 169, 27, 0, 0, 210, 103, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 170, 27, 0, 0, 226, 103, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 171, 27, 0, 0, 242, 103, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 172, 27, 0, 0, 9, 104, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 178, 27, 0, 0, 18, 104, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 103, 5, - 0, 0, 31, 104, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 42, 21, 0, 0, 57, 104, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 200, 27, 0, 0, 66, 104, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 180, 27, 0, 0, 79, 104, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 211, 8, 0, 0, 98, 104, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 199, 27, 0, 0, 107, - 104, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 181, 27, 0, 0, 120, 104, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 182, 27, 0, 0, 133, 104, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 27, 0, 0, 146, 104, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 184, 27, 0, 0, 159, 104, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 185, 27, 0, 0, 172, - 104, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 186, 27, 0, 0, 185, 104, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 187, 27, 0, 0, 198, 104, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 188, 27, 0, 0, 211, 104, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 189, 27, 0, 0, 224, 104, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 190, 27, 0, 0, 237, - 104, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 191, 27, 0, 0, 250, 104, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 192, 27, 0, 0, 7, 105, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 193, 27, 0, 0, 20, 105, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 194, 27, 0, 0, 33, 105, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 195, 27, 0, 0, 46, 105, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 196, 27, 0, 0, 59, 105, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 42, 21, 0, - 0, 72, 105, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 197, 27, 0, 0, 85, 105, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 183, 2, 0, 0, 98, 105, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 198, 27, 0, 0, 111, 105, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 142, 12, 0, 0, 130, 105, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 199, 28, 0, 0, 139, - 105, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 2, 0, 0, 152, 105, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 114, - 7, 0, 0, 179, 105, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 2, 0, 0, 192, 105, 2, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 231, 27, 0, 0, 206, 105, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 161, 5, 0, 0, 219, 105, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 194, 28, 0, 0, 232, 105, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 164, 3, 0, 0, - 3, 106, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 2, 4, 0, 0, 16, 106, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 118, - 3, 0, 0, 30, 106, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 4, 0, 0, 43, 106, 2, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 183, 2, 0, 0, 56, 106, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 195, 28, 0, 0, 69, 106, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 196, 28, 0, 0, 82, 106, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 197, 28, 0, 0, 95, - 106, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 198, 28, 0, 0, 114, 106, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 230, 27, 0, 0, 123, 106, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 211, 27, 0, 0, 136, 106, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 131, 6, 0, 0, 149, 106, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 212, 27, 0, 0, 162, 106, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 49, 27, 0, 0, 175, 106, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 222, 27, - 0, 0, 188, 106, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 227, 27, 0, 0, 201, 106, 2, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 228, 27, 0, 0, 214, 106, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 229, 27, 0, 0, 2, 107, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 221, 27, 0, 0, 11, 107, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 213, 27, 0, 0, - 17, 107, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 214, 27, 0, 0, 23, 107, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 215, 27, 0, 0, 29, 107, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 216, 27, 0, 0, 35, 107, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 217, 27, 0, 0, 41, 107, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 218, 27, 0, 0, 47, 107, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 219, 27, 0, 0, 53, 107, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 220, 27, - 0, 0, 65, 107, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 226, 27, 0, 0, 74, 107, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 9, 0, 0, 0, 115, 107, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 2, 0, 0, 128, 107, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 187, 3, 0, 0, 141, 107, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 145, 14, 0, 0, 154, - 107, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 223, 27, 0, 0, 167, 107, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 224, 27, 0, 0, 181, 107, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 225, 27, 0, 0, 233, 107, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 246, 27, 0, 0, 242, 107, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 2, 0, 0, 255, 107, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 114, 3, 0, 0, 12, 108, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 235, 27, - 0, 0, 25, 108, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 240, 27, 0, 0, 38, 108, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 241, 27, 0, 0, 51, 108, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 242, 27, 0, 0, 64, 108, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 243, 27, 0, 0, 77, 108, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 244, 27, 0, 0, 91, - 108, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 234, 27, 0, 0, 100, 108, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 152, 13, 0, 0, 127, 108, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 9, 0, 0, 0, 140, 108, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 189, 6, 0, 0, 153, 108, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 157, 2, 0, 0, 173, 108, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 232, 27, 0, 0, 182, 108, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 78, 7, 0, - 0, 195, 108, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 44, 17, 0, 0, 208, 108, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 114, 3, 0, 0, 227, 108, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 233, 27, 0, 0, 236, 108, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 157, 2, 0, 0, 249, 108, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 189, 6, 0, 0, 6, 109, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 37, 10, 0, 0, 25, 109, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 235, 27, - 0, 0, 34, 109, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 166, 2, 0, 0, 61, 109, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 9, 0, 0, 0, 74, 109, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 236, 27, 0, 0, 87, 109, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 237, 27, 0, 0, 107, 109, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 239, 27, 0, 0, 116, - 109, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 157, 2, 0, 0, 129, 109, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 37, - 10, 0, 0, 142, 109, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 237, 27, 0, 0, 161, 109, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 238, 27, 0, 0, 170, 109, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 66, 7, 0, 0, 183, 109, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 114, 3, 0, 0, 214, 109, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 245, 27, 0, - 0, 223, 109, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 166, 2, 0, 0, 236, 109, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 154, 4, 0, 0, 249, 109, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 2, 5, 0, 0, 7, 110, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 193, 28, 0, 0, 16, 110, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 126, 4, 0, 0, 29, 110, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 2, 0, 0, 42, 110, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 9, 0, 0, 0, - 55, 110, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 244, 27, 0, 0, 74, 110, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 192, 28, 0, 0, 83, 110, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 247, 27, 0, 0, 96, 110, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 241, 10, 0, 0, 109, 110, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 190, 28, 0, 0, 122, - 110, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 191, 28, 0, 0, 140, 110, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 189, 28, 0, 0, 178, 110, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 252, 27, 0, 0, 187, 110, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 248, 27, 0, 0, 193, 110, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 249, 27, 0, 0, 199, - 110, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 250, 27, 0, 0, 205, 110, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 251, 27, 0, 0, 217, 110, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 188, 28, 0, 0, 227, 110, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 253, 27, 0, 0, 240, 110, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 247, 27, 0, 0, 253, - 110, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 254, 27, 0, 0, 10, 111, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 188, - 3, 0, 0, 23, 111, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 117, 28, 0, 0, 36, 111, 2, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 54, 4, 0, 0, 49, 111, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 118, 28, 0, 0, 62, 111, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 171, 28, 0, 0, 75, 111, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 172, 28, 0, 0, 88, - 111, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 173, 28, 0, 0, 101, 111, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 174, 28, 0, 0, 114, 111, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 175, 28, 0, 0, 127, 111, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 176, 28, 0, 0, 140, 111, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 180, 28, 0, 0, 154, - 111, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 181, 28, 0, 0, 168, 111, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 33, - 6, 0, 0, 182, 111, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 182, 28, 0, 0, 196, 111, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 141, 28, 0, 0, 210, 111, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 185, 28, 0, 0, 224, 111, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 186, 28, 0, 0, 238, 111, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 251, 4, - 0, 0, 252, 111, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 87, 15, 0, 0, 10, 112, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 187, 28, 0, 0, 24, 112, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 24, 11, 0, 0, 44, 112, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 116, 28, 0, 0, 54, 112, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 2, 0, 0, 67, - 112, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 2, 0, 0, 80, 112, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 254, - 27, 0, 0, 93, 112, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 11, 28, 0, 0, 106, 112, 2, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 12, 28, 0, 0, 119, 112, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 13, 28, 0, 0, 132, 112, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 14, 28, 0, 0, 145, 112, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 15, 28, 0, 0, - 158, 112, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 16, 28, 0, 0, 171, 112, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 17, 28, 0, 0, 184, 112, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 20, 28, 0, 0, 197, 112, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 21, 28, 0, 0, 210, 112, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 22, 28, 0, 0, 223, 112, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 23, 28, 0, 0, 236, 112, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 24, 28, - 0, 0, 249, 112, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 25, 28, 0, 0, 6, 113, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 48, 28, 0, 0, 20, 113, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 49, 28, 0, 0, 34, 113, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 50, 28, 0, 0, 48, 113, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 51, 28, 0, 0, 62, 113, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 52, 28, 0, 0, 76, 113, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 53, 28, 0, - 0, 90, 113, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 54, 28, 0, 0, 104, 113, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 55, 28, 0, 0, 118, 113, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 72, 28, 0, 0, 132, 113, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 73, 28, 0, 0, 146, 113, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 160, - 113, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 74, 28, 0, 0, 174, 113, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, - 28, 0, 0, 188, 113, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 128, 5, 0, 0, 202, 113, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 19, 26, 0, 0, 216, 113, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 76, 28, 0, 0, 230, 113, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 77, 28, 0, 0, 244, 113, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 78, 28, 0, - 0, 2, 114, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 82, 28, 0, 0, 16, 114, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 8, 0, 0, 0, 30, 114, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 83, 28, 0, 0, 44, 114, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 84, 28, 0, 0, 58, 114, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 30, 10, 0, 0, 72, 114, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 85, 28, 0, 0, 86, 114, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 110, 3, 0, 0, - 100, 114, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 101, 28, 0, 0, 114, 114, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 102, 28, 0, 0, 128, 114, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 103, 28, 0, 0, 142, 114, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 104, 28, 0, 0, 156, 114, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 105, 28, 0, 0, 170, - 114, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 106, 28, 0, 0, 184, 114, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 107, 28, 0, 0, 198, 114, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 108, 28, 0, 0, 212, 114, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 109, 28, 0, 0, 226, 114, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 112, 28, 0, 0, 241, - 114, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 254, 27, 0, 0, 250, 114, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 253, 27, 0, 0, 7, 115, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 134, 15, 0, 0, 20, 115, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 154, 4, 0, 0, 33, 115, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 10, 28, 0, 0, 46, 115, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 251, 4, 0, 0, 65, 115, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 255, 27, 0, 0, - 75, 115, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 9, 28, 0, 0, 84, 115, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 245, 26, 0, 0, 97, 115, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 28, 0, 0, 110, 115, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 189, 6, 0, 0, 123, 115, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 1, 28, 0, 0, 136, 115, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 2, 28, 0, 0, 149, 115, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 3, 28, 0, 0, - 162, 115, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 4, 28, 0, 0, 175, 115, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 81, 6, 0, 0, 188, 115, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 250, 13, 0, 0, 201, 115, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 5, 5, 0, 0, 214, 115, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 5, 28, 0, 0, 227, 115, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 6, 28, 0, 0, 240, 115, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 132, 10, 0, - 0, 253, 115, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 124, 3, 0, 0, 10, 116, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 192, 14, 0, 0, 23, 116, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 7, 28, 0, 0, 36, 116, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 8, 28, 0, 0, 55, 116, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 19, 28, 0, 0, 64, 116, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 18, 28, 0, 0, 77, 116, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 16, 22, 0, 0, - 109, 116, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 47, 28, 0, 0, 118, 116, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 160, 2, 0, 0, 131, 116, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 26, 28, 0, 0, 144, 116, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 164, 3, 0, 0, 157, 116, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 128, 5, 0, 0, 170, 116, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 253, 27, 0, 0, 183, 116, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 211, 27, - 0, 0, 196, 116, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 182, 9, 0, 0, 209, 116, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 183, 2, 0, 0, 222, 116, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 45, 28, 0, 0, 235, 116, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 46, 28, 0, 0, 254, 116, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 40, 28, 0, 0, 7, - 117, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 192, 9, 0, 0, 20, 117, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, - 28, 0, 0, 39, 117, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 38, 28, 0, 0, 48, 117, 2, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 44, 17, 0, 0, 61, 117, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 27, 28, 0, 0, 74, 117, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 28, 28, 0, 0, 93, 117, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 37, 28, 0, 0, 103, - 117, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 107, 13, 0, 0, 116, 117, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 20, - 3, 0, 0, 129, 117, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 30, 28, 0, 0, 142, 117, 2, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 110, 3, 0, 0, 156, 117, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 34, 28, 0, 0, 170, 117, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 88, 4, 0, 0, 184, 117, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 36, 28, 0, 0, - 198, 117, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 173, 4, 0, 0, 217, 117, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 29, 28, 0, 0, 246, 117, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 30, 28, 0, 0, 0, 118, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 31, 28, 0, 0, 13, 118, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 62, 3, 0, 0, 27, 118, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 32, 28, 0, 0, 41, 118, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 130, 6, 0, 0, - 73, 118, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 33, 28, 0, 0, 122, 118, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 35, 28, 0, 0, 131, 118, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 202, 4, 0, 0, 144, 118, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 154, 2, 0, 0, 157, 118, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 9, 0, 0, 0, 170, 118, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 224, 27, 0, 0, 183, 118, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 88, 4, 0, - 0, 196, 118, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 187, 3, 0, 0, 209, 118, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 223, 27, 0, 0, 228, 118, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 44, 28, 0, 0, 237, 118, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 160, 2, 0, 0, 250, 118, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 41, 28, 0, 0, 7, 119, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 253, 27, 0, 0, 20, 119, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 159, 3, - 0, 0, 33, 119, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 42, 28, 0, 0, 46, 119, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 208, 7, 0, 0, 65, 119, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 43, 28, 0, 0, 74, 119, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 160, 2, 0, 0, 87, 119, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 2, 0, 0, 100, - 119, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 164, 3, 0, 0, 113, 119, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 42, - 28, 0, 0, 132, 119, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 71, 28, 0, 0, 141, 119, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 154, 2, 0, 0, 154, 119, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 238, 2, 0, 0, 167, 119, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 23, 0, 0, 180, 119, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 174, 4, 0, - 0, 193, 119, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 175, 4, 0, 0, 206, 119, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 56, 28, 0, 0, 219, 119, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 158, 5, 0, 0, 232, 119, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 57, 28, 0, 0, 245, 119, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 225, 2, 0, 0, 2, 120, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 58, 28, 0, 0, 15, 120, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 190, 3, 0, - 0, 28, 120, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 8, 16, 0, 0, 41, 120, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 59, 28, 0, 0, 54, 120, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 60, 28, 0, 0, 67, 120, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 61, 28, 0, 0, 80, 120, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 62, 28, 0, 0, 93, 120, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 157, 2, 0, 0, 106, 120, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, - 119, 120, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 152, 13, 0, 0, 132, 120, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 67, 28, 0, 0, 145, 120, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 68, 28, 0, 0, 158, 120, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 69, 28, 0, 0, 171, 120, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 28, 0, 0, 136, - 121, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 66, 28, 0, 0, 145, 121, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 20, - 3, 0, 0, 158, 121, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 63, 28, 0, 0, 171, 121, 2, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 247, 27, 0, 0, 190, 121, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 65, 28, 0, 0, 199, 121, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 154, 2, 0, 0, 212, 121, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 64, 28, 0, 0, - 231, 121, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 81, 28, 0, 0, 240, 121, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 71, 28, 0, 0, 253, 121, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 78, 28, 0, 0, 16, 122, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 80, 28, 0, 0, 25, 122, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 79, 28, 0, 0, 38, 122, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 51, 122, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 253, 27, 0, 0, - 64, 122, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 159, 3, 0, 0, 83, 122, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 100, 28, 0, 0, 92, 122, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 166, 2, 0, 0, 105, 122, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 157, 2, 0, 0, 118, 122, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 131, 122, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 188, 3, 0, 0, 144, 122, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 88, 28, - 0, 0, 157, 122, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 89, 28, 0, 0, 170, 122, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 96, 28, 0, 0, 183, 122, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 97, 28, 0, 0, 196, 122, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 98, 28, 0, 0, 209, 122, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 99, 28, 0, 0, 222, - 122, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 2, 0, 0, 240, 122, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 87, - 28, 0, 0, 24, 123, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 86, 28, 0, 0, 33, 123, 2, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 211, 8, 0, 0, 47, 123, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 95, 28, 0, 0, 56, 123, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 90, 28, 0, 0, 69, 123, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 93, 28, 0, 0, 82, - 123, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 94, 28, 0, 0, 101, 123, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 92, - 28, 0, 0, 110, 123, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 91, 28, 0, 0, 123, 123, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 185, 10, 0, 0, 136, 123, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 5, 3, 0, 0, 149, 123, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 162, 123, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, 4, 0, 0, - 186, 123, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 109, 28, 0, 0, 195, 123, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 110, 28, 0, 0, 208, 123, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 159, 4, 0, 0, 226, 123, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 111, 28, 0, 0, 4, 124, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 115, 28, 0, 0, 13, - 124, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 42, 21, 0, 0, 26, 124, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 113, - 28, 0, 0, 39, 124, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 5, 3, 0, 0, 52, 124, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 114, 28, 0, 0, 81, 124, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 170, 28, 0, 0, 90, 124, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 119, 28, 0, 0, 103, 124, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 56, 4, 0, 0, 116, - 124, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 163, 28, 0, 0, 129, 124, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 136, 28, 0, 0, 142, 124, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 164, 28, 0, 0, 155, 124, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 165, 28, 0, 0, 168, 124, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 157, 28, 0, 0, 181, - 124, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 166, 28, 0, 0, 194, 124, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 161, 5, 0, 0, 207, 124, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 169, 28, 0, 0, 226, 124, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 162, 28, 0, 0, 236, 124, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 251, 4, 0, 0, 249, 124, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 120, 28, 0, 0, 6, 125, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 121, 28, - 0, 0, 19, 125, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 134, 15, 0, 0, 32, 125, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 131, 28, 0, 0, 45, 125, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 3, 0, 0, 58, 125, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 132, 7, 0, 0, 71, 125, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 132, 28, 0, 0, 84, - 125, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 118, 4, 0, 0, 97, 125, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 135, - 28, 0, 0, 110, 125, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 191, 6, 0, 0, 123, 125, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 136, 28, 0, 0, 136, 125, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 138, 28, 0, 0, 149, 125, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 139, 28, 0, 0, 162, 125, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 140, 28, - 0, 0, 175, 125, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 141, 28, 0, 0, 188, 125, 2, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 142, 28, 0, 0, 201, 125, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 57, 16, 0, 0, 214, 125, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 143, 28, 0, 0, 227, 125, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 189, 6, 0, 0, - 240, 125, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 102, 22, 0, 0, 253, 125, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 144, 28, 0, 0, 10, 126, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 145, 28, 0, 0, 23, 126, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 146, 28, 0, 0, 36, 126, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 147, 28, 0, 0, 49, - 126, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 148, 28, 0, 0, 62, 126, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 149, - 28, 0, 0, 75, 126, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 150, 28, 0, 0, 88, 126, 2, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 151, 28, 0, 0, 101, 126, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 190, 3, 0, 0, 114, 126, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 180, 22, 0, 0, 127, 126, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 152, 28, 0, 0, - 140, 126, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 155, 28, 0, 0, 153, 126, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 156, 28, 0, 0, 166, 126, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 157, 28, 0, 0, 180, 126, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 158, 28, 0, 0, 194, 126, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 159, 28, 0, 0, 208, - 126, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 28, 0, 0, 222, 126, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 161, 28, 0, 0, 236, 126, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 34, 13, 0, 0, 0, 127, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 130, 28, 0, 0, 9, 127, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 22, 127, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 50, 8, 0, 0, 35, 127, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 120, 28, 0, 0, - 48, 127, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 82, 6, 0, 0, 61, 127, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 122, 28, 0, 0, 74, 127, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 54, 4, 0, 0, 87, 127, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 123, 28, 0, 0, 100, 127, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 126, 4, 0, 0, 113, 127, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 11, 13, 0, 0, 126, 127, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 34, 13, 0, - 0, 139, 127, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 129, 28, 0, 0, 163, 127, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 128, 28, 0, 0, 172, 127, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 43, 6, 0, 0, 185, 127, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 37, 14, 0, 0, 198, 127, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 124, 28, 0, 0, - 211, 127, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 125, 28, 0, 0, 224, 127, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 126, 28, 0, 0, 237, 127, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 127, 28, 0, 0, 0, 128, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 134, 28, 0, 0, 9, 128, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 133, 28, 0, 0, 22, - 128, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 43, 22, 0, 0, 35, 128, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, - 4, 0, 0, 66, 128, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 28, 0, 0, 75, 128, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 160, 2, 0, 0, 88, 128, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 191, 3, 0, 0, 101, 128, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 190, 3, 0, 0, 114, 128, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 189, 6, 0, 0, 127, - 128, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 137, 28, 0, 0, 140, 128, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 87, - 4, 0, 0, 158, 128, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 28, 0, 0, 166, 128, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 153, 28, 0, 0, 175, 128, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 94, 14, 0, 0, 194, 128, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 168, 28, 0, 0, 203, 128, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 245, 9, 0, - 0, 219, 128, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 167, 28, 0, 0, 235, 128, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 122, 9, 0, 0, 249, 128, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 179, 28, 0, 0, 3, 129, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 134, 15, 0, 0, 16, 129, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 33, 6, 0, 0, 30, 129, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 155, 14, 0, 0, 45, 129, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 178, 28, - 0, 0, 54, 129, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 134, 15, 0, 0, 67, 129, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 187, 3, 0, 0, 80, 129, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 62, 3, 0, 0, 93, 129, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 177, 28, 0, 0, 112, 129, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 184, 28, 0, 0, 121, - 129, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 9, 0, 0, 0, 134, 129, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, - 2, 0, 0, 147, 129, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 28, 0, 0, 160, 129, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 132, 10, 0, 0, 168, 130, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 224, 28, 0, 0, 177, 130, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 161, 5, 0, 0, 190, 130, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 127, 5, - 0, 0, 203, 130, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 174, 7, 0, 0, 216, 130, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 187, 3, 0, 0, 229, 130, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 223, 28, 0, 0, 0, 131, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 66, 7, 0, 0, 13, 131, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 56, 4, 0, 0, 27, 131, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 87, 4, 0, 0, 78, 131, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 233, 28, 0, - 0, 87, 131, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 232, 28, 0, 0, 100, 131, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 171, 4, 0, 0, 119, 131, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 5, 29, 0, 0, 128, 131, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 115, 4, 0, 0, 141, 131, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 3, 0, 0, 154, 131, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 12, 0, 0, 167, 131, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 125, 3, - 0, 0, 180, 131, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 6, 29, 0, 0, 193, 131, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 39, 4, 0, 0, 206, 131, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 7, 29, 0, 0, 219, 131, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 8, 29, 0, 0, 232, 131, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 9, 29, 0, 0, 245, 131, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 152, 9, 0, 0, 8, 132, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 14, 29, 0, - 0, 17, 132, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 15, 29, 0, 0, 30, 132, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 16, 29, 0, 0, 43, 132, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 17, 29, 0, 0, 61, 132, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 18, 29, 0, 0, 74, 132, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 136, 21, 0, 0, 88, 132, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 102, 132, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 25, 29, - 0, 0, 111, 132, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 28, 23, 0, 0, 124, 132, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 23, 29, 0, 0, 137, 132, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 24, 29, 0, 0, 151, 132, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 22, 29, 0, 0, 160, 132, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 82, 6, 0, 0, 179, - 132, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 37, 29, 0, 0, 188, 132, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, - 3, 0, 0, 201, 132, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 214, 132, 2, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 30, 29, 0, 0, 227, 132, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 31, 29, 0, 0, 240, 132, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 32, 29, 0, 0, 253, 132, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 201, 22, 0, 0, - 10, 133, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 203, 22, 0, 0, 23, 133, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 33, 29, 0, 0, 36, 133, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 34, 29, 0, 0, 49, 133, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 35, 29, 0, 0, 62, 133, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 36, 29, 0, 0, 75, 133, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 225, 22, 0, 0, 88, 133, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 227, 22, 0, 0, - 114, 133, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 42, 29, 0, 0, 123, 133, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 43, 29, 0, 0, 136, 133, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 5, 3, 0, 0, 149, 133, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 94, 14, 0, 0, 162, 133, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 121, 11, 0, 0, 193, 133, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 52, 29, 0, 0, 202, 133, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 111, 13, 0, - 0, 215, 133, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 166, 2, 0, 0, 228, 133, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 49, 29, 0, 0, 241, 133, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 50, 29, 0, 0, 254, 133, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 51, 29, 0, 0, 17, 134, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 108, 29, 0, 0, 26, - 134, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 173, 2, 0, 0, 67, 134, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 69, - 29, 0, 0, 80, 134, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 74, 29, 0, 0, 108, 134, 2, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 75, 29, 0, 0, 121, 134, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 76, 29, 0, 0, 136, 134, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 77, 29, 0, 0, 149, 134, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 103, 29, 0, 0, - 162, 134, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 104, 29, 0, 0, 175, 134, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 82, 5, 0, 0, 193, 134, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 68, 29, 0, 0, 202, 134, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 64, 29, 0, 0, 208, 134, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 65, 29, 0, 0, 214, 134, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 66, 29, 0, 0, 220, 134, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 67, 29, - 0, 0, 227, 134, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 73, 29, 0, 0, 236, 134, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 70, 29, 0, 0, 249, 134, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 71, 29, 0, 0, 6, 135, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 72, 29, 0, 0, 25, 135, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 102, 29, 0, 0, 34, - 135, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 197, 2, 0, 0, 47, 135, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 30, - 10, 0, 0, 60, 135, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 78, 29, 0, 0, 73, 135, 2, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 79, 29, 0, 0, 86, 135, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 80, 29, 0, 0, 99, 135, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 9, 7, 0, 0, 112, 135, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 194, 14, 0, 0, 125, - 135, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 88, 4, 0, 0, 138, 135, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 87, - 29, 0, 0, 151, 135, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 164, 135, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 28, 23, 0, 0, 183, 135, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 86, 29, 0, 0, 192, 135, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 169, 6, 0, 0, 205, 135, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 81, 29, 0, - 0, 218, 135, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 164, 3, 0, 0, 231, 135, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 157, 2, 0, 0, 66, 136, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 85, 29, 0, 0, 75, 136, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 82, 29, 0, 0, 81, 136, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 83, 29, 0, 0, 87, 136, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 84, 29, 0, 0, 94, 136, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 101, 29, 0, - 0, 117, 136, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 108, 12, 0, 0, 130, 136, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 88, 29, 0, 0, 144, 136, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 110, 3, 0, 0, 171, 136, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 93, 29, 0, 0, 189, 136, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 94, 29, 0, 0, 202, - 136, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 95, 29, 0, 0, 215, 136, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 96, - 29, 0, 0, 229, 136, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 97, 29, 0, 0, 247, 136, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 98, 29, 0, 0, 4, 137, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 95, 29, 0, 0, 18, 137, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 99, 29, 0, 0, 36, 137, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 100, 29, 0, 0, - 49, 137, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 95, 29, 0, 0, 87, 137, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 92, 29, 0, 0, 96, 137, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 89, 29, 0, 0, 109, 137, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 90, 29, 0, 0, 122, 137, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 91, 29, 0, 0, 135, 137, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 153, 27, 0, 0, 218, 137, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 107, 29, 0, - 0, 227, 137, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 102, 29, 0, 0, 240, 137, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 166, 2, 0, 0, 253, 137, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 241, 4, 0, 0, 10, 138, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 105, 29, 0, 0, 23, 138, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 106, 29, 0, 0, 36, - 138, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 157, 2, 0, 0, 50, 138, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 111, - 29, 0, 0, 64, 138, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 115, 29, 0, 0, 73, 138, 2, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 157, 2, 0, 0, 86, 138, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 66, 7, 0, 0, 99, 138, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 187, 3, 0, 0, 112, 138, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 125, - 138, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 191, 6, 0, 0, 138, 138, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 118, - 4, 0, 0, 151, 138, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 203, 27, 0, 0, 164, 138, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 109, 13, 0, 0, 183, 138, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 119, 29, 0, 0, 192, 138, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 200, 29, 0, 0, 202, 138, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 130, 29, - 0, 0, 215, 138, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 198, 27, 0, 0, 228, 138, 2, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 142, 29, 0, 0, 241, 138, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 143, 29, 0, 0, 254, 138, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 144, 29, 0, 0, 11, 139, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 145, 29, 0, 0, - 24, 139, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 146, 29, 0, 0, 37, 139, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 147, 29, 0, 0, 50, 139, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 148, 29, 0, 0, 63, 139, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 149, 29, 0, 0, 76, 139, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 150, 29, 0, 0, 89, 139, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 151, 29, 0, 0, 102, 139, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 152, 29, - 0, 0, 115, 139, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 153, 29, 0, 0, 128, 139, 2, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 154, 29, 0, 0, 141, 139, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 155, 29, 0, 0, 154, 139, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 156, 29, 0, 0, 170, 139, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 157, 29, 0, 0, - 186, 139, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 158, 29, 0, 0, 199, 139, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 159, 29, 0, 0, 225, 139, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 141, 29, 0, 0, 234, 139, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 131, 29, 0, 0, 247, 139, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 132, 29, 0, 0, 4, - 140, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 133, 29, 0, 0, 20, 140, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 9, - 0, 0, 0, 36, 140, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 9, 14, 0, 0, 52, 140, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 134, 29, 0, 0, 68, 140, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 7, 4, 0, 0, 84, 140, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 135, 29, 0, 0, 100, 140, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 136, 29, 0, 0, 116, - 140, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 137, 29, 0, 0, 132, 140, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 138, 29, 0, 0, 148, 140, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 139, 29, 0, 0, 164, 140, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 140, 29, 0, 0, 198, 140, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 29, 0, 0, 208, - 140, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 52, 3, 0, 0, 221, 140, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 118, - 3, 0, 0, 234, 140, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 121, 11, 0, 0, 247, 140, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 117, 9, 0, 0, 18, 141, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 159, 29, 0, 0, 28, 141, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 47, 27, 0, 0, 41, 141, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 29, 0, - 0, 54, 141, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 173, 2, 0, 0, 68, 141, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 199, 29, 0, 0, 78, 141, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 161, 29, 0, 0, 91, 141, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 171, 29, 0, 0, 104, 141, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 181, 29, 0, 0, 117, - 141, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 191, 29, 0, 0, 130, 141, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 198, 29, 0, 0, 144, 141, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 170, 29, 0, 0, 153, 141, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 162, 29, 0, 0, 166, 141, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 163, 29, 0, 0, 179, - 141, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 164, 29, 0, 0, 192, 141, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 165, 29, 0, 0, 205, 141, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 166, 29, 0, 0, 218, 141, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 167, 29, 0, 0, 231, 141, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 168, 29, 0, 0, 244, - 141, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 169, 29, 0, 0, 1, 142, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 239, - 4, 0, 0, 27, 142, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 180, 29, 0, 0, 37, 142, 2, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 162, 29, 0, 0, 50, 142, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 163, 29, 0, 0, 63, 142, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 164, 29, 0, 0, 76, 142, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 172, 29, 0, 0, - 117, 142, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 173, 29, 0, 0, 130, 142, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 174, 29, 0, 0, 158, 142, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 165, 29, 0, 0, 171, 142, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 166, 29, 0, 0, 184, 142, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 167, 29, 0, 0, 197, - 142, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 168, 29, 0, 0, 212, 142, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 175, 29, 0, 0, 225, 142, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 176, 29, 0, 0, 238, 142, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 169, 29, 0, 0, 251, 142, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 177, 29, 0, 0, 8, 143, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 63, 7, 0, 0, 37, 143, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 178, 29, 0, - 0, 50, 143, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 179, 29, 0, 0, 101, 143, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 190, 29, 0, 0, 110, 143, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 162, 29, 0, 0, 123, 143, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 163, 29, 0, 0, 136, 143, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 164, 29, 0, 0, 149, - 143, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 165, 29, 0, 0, 162, 143, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 166, 29, 0, 0, 175, 143, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 167, 29, 0, 0, 188, 143, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 168, 29, 0, 0, 201, 143, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 169, 29, 0, 0, 214, - 143, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 182, 29, 0, 0, 227, 143, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 35, - 26, 0, 0, 240, 143, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 29, 0, 0, 253, 143, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 184, 29, 0, 0, 10, 144, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 185, 29, 0, 0, 23, 144, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 186, 29, 0, 0, 36, 144, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 189, 4, 0, - 0, 49, 144, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 189, 29, 0, 0, 68, 144, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 188, 29, 0, 0, 77, 144, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 187, 29, 0, 0, 90, 144, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 211, 8, 0, 0, 104, 144, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 197, 29, 0, 0, 114, - 144, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 192, 29, 0, 0, 127, 144, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 171, 16, 0, 0, 141, 144, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 196, 29, 0, 0, 156, 144, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 195, 29, 0, 0, 165, 144, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 193, 29, 0, 0, 178, - 144, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 194, 29, 0, 0, 191, 144, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 87, - 8, 0, 0, 0, 145, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 202, 29, 0, 0, 9, 145, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 183, 2, 0, 0, 22, 145, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 43, 16, 0, 0, 35, 145, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 216, 14, 0, 0, 48, 145, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 15, 4, 0, 0, 111, - 145, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 213, 29, 0, 0, 120, 145, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 16, - 4, 0, 0, 133, 145, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 214, 29, 0, 0, 146, 145, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 125, 3, 0, 0, 209, 145, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 232, 29, 0, 0, 218, 145, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 229, 29, 0, 0, 231, 145, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 211, 8, 0, - 0, 244, 145, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 144, 3, 0, 0, 1, 146, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 130, 8, 0, 0, 14, 146, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 230, 29, 0, 0, 27, 146, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 12, 16, 0, 0, 40, 146, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 187, 28, 0, 0, 53, 146, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 231, 29, 0, 0, 81, 146, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 8, 30, 0, - 0, 94, 146, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 236, 29, 0, 0, 107, 146, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 237, 29, 0, 0, 120, 146, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 238, 29, 0, 0, 133, 146, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 239, 29, 0, 0, 146, 146, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 159, - 146, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 3, 0, 0, 172, 146, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 243, - 29, 0, 0, 185, 146, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 244, 29, 0, 0, 198, 146, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 5, 30, 0, 0, 211, 146, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 6, 30, 0, 0, 224, 146, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 7, 30, 0, 0, 243, 146, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 242, 29, 0, 0, - 252, 146, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 189, 6, 0, 0, 9, 147, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 240, 29, 0, 0, 22, 147, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 241, 29, 0, 0, 51, 147, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 244, 29, 0, 0, 60, 147, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 4, 0, 0, 73, 147, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 187, 3, 0, 0, 86, 147, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 245, 29, - 0, 0, 99, 147, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 246, 29, 0, 0, 112, 147, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 247, 29, 0, 0, 125, 147, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 248, 29, 0, 0, 138, 147, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 107, 12, 0, 0, 151, 147, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 249, 29, 0, 0, - 164, 147, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 250, 29, 0, 0, 177, 147, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 251, 29, 0, 0, 190, 147, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 252, 29, 0, 0, 203, 147, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 253, 29, 0, 0, 216, 147, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 254, 29, 0, 0, 229, - 147, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 255, 29, 0, 0, 242, 147, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, - 30, 0, 0, 255, 147, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 1, 30, 0, 0, 12, 148, 2, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 2, 30, 0, 0, 25, 148, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 3, 30, 0, 0, 38, 148, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 4, 30, 0, 0, 57, 148, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 9, 30, 0, 0, 66, 148, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 246, 21, 0, 0, 79, 148, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 10, 30, - 0, 0, 92, 148, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 12, 30, 0, 0, 106, 148, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 11, 30, 0, 0, 115, 148, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 98, 6, 0, 0, 128, 148, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 157, 2, 0, 0, 152, 148, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 33, 30, 0, 0, 161, - 148, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, 4, 0, 0, 174, 148, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 103, - 5, 0, 0, 187, 148, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 44, 8, 0, 0, 218, 148, 2, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 32, 30, 0, 0, 228, 148, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 63, 9, 0, 0, 241, 148, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 153, 7, 0, 0, 254, 148, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 193, 15, 0, 0, 11, - 149, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 15, 30, 0, 0, 24, 149, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 251, - 4, 0, 0, 37, 149, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 18, 30, 0, 0, 50, 149, 2, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 19, 30, 0, 0, 63, 149, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 208, 7, 0, 0, 76, 149, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 204, 3, 0, 0, 89, 149, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 20, 30, 0, 0, 102, - 149, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 21, 30, 0, 0, 115, 149, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 118, - 4, 0, 0, 128, 149, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 22, 30, 0, 0, 141, 149, 2, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 23, 30, 0, 0, 168, 149, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 16, 30, 0, 0, 197, 149, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 26, 30, 0, 0, 210, 149, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 27, 30, 0, 0, - 239, 149, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 28, 30, 0, 0, 252, 149, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 52, 6, 0, 0, 25, 150, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 77, 3, 0, 0, 38, 150, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 29, 30, 0, 0, 51, 150, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 228, 15, 0, 0, 65, 150, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 30, 30, 0, 0, 79, 150, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 31, 30, 0, 0, - 93, 150, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 123, 4, 0, 0, 113, 150, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 17, 30, 0, 0, 122, 150, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 16, 30, 0, 0, 141, 150, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 25, 30, 0, 0, 150, 150, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 24, 30, 0, 0, 163, 150, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 5, 3, 0, 0, 194, 150, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 41, 30, 0, - 0, 203, 150, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 2, 0, 0, 216, 150, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 36, 30, 0, 0, 229, 150, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 3, 0, 0, 242, 150, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 37, 30, 0, 0, 255, 150, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 38, 30, 0, 0, 12, 151, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, 30, 0, 0, 25, 151, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 45, 6, 0, - 0, 38, 151, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 40, 30, 0, 0, 52, 151, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 46, 30, 0, 0, 61, 151, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 47, 30, 0, 0, 80, 151, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 47, 30, 0, 0, 89, 151, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 45, 6, 0, 0, 102, 151, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 48, 30, 0, 0, 115, 151, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 117, 9, 0, - 0, 128, 151, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 49, 30, 0, 0, 141, 151, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 191, 6, 0, 0, 154, 151, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 74, 29, 0, 0, 168, 151, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 50, 30, 0, 0, 177, 151, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 2, 0, 0, 190, - 151, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 191, 6, 0, 0, 203, 151, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 170, - 5, 0, 0, 216, 151, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 168, 5, 0, 0, 47, 152, 2, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 58, 30, 0, 0, 55, 152, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 56, 30, 0, 0, 64, 152, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 56, 30, 0, 0, 82, 152, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 57, 30, 0, 0, 95, - 152, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 62, 30, 0, 0, 104, 152, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 213, - 4, 0, 0, 117, 152, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 18, 7, 0, 0, 130, 152, 2, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 115, 4, 0, 0, 143, 152, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 63, 30, 0, 0, 156, 152, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 160, 3, 0, 0, 169, 152, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 201, 3, 0, 0, - 183, 152, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 69, 30, 0, 0, 192, 152, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 39, 15, 0, 0, 211, 152, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 77, 30, 0, 0, 220, 152, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 70, 30, 0, 0, 233, 152, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 71, 30, 0, 0, 246, 152, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 72, 30, 0, 0, 3, 153, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 73, 30, 0, - 0, 16, 153, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 74, 30, 0, 0, 29, 153, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 115, 4, 0, 0, 42, 153, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 55, 153, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 75, 30, 0, 0, 68, 153, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 165, 5, 0, 0, 81, 153, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 76, 30, 0, 0, 94, 153, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 6, 4, 0, 0, - 172, 153, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 105, 30, 0, 0, 181, 153, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 69, 18, 0, 0, 194, 153, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 92, 30, 0, 0, 207, 153, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 80, 6, 0, 0, 233, 153, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 104, 30, 0, 0, 242, - 153, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 93, 30, 0, 0, 255, 153, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 55, - 8, 0, 0, 13, 154, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 95, 30, 0, 0, 22, 154, 2, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 186, 3, 0, 0, 35, 154, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 176, 3, 0, 0, 48, 154, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 181, 3, 0, 0, 61, 154, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 94, 30, 0, 0, 74, - 154, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 103, 10, 0, 0, 87, 154, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 111, - 3, 0, 0, 218, 154, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 103, 30, 0, 0, 227, 154, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 154, 2, 0, 0, 240, 154, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 37, 10, 0, 0, 253, 154, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 110, 3, 0, 0, 10, 155, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 138, 4, 0, 0, - 23, 155, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 232, 4, 0, 0, 36, 155, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 183, 2, 0, 0, 63, 155, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 123, 8, 0, 0, 76, 155, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 97, 30, 0, 0, 89, 155, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 99, 30, 0, 0, 114, 155, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 96, 30, 0, 0, 123, 155, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, - 0, 136, 155, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 186, 16, 0, 0, 149, 155, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 91, 4, 0, 0, 162, 155, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 111, 3, 0, 0, 233, 155, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 98, 30, 0, 0, 242, 155, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 174, 16, 0, 0, 255, - 155, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 115, 3, 0, 0, 23, 156, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 102, - 30, 0, 0, 32, 156, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 121, 11, 0, 0, 45, 156, 2, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 100, 30, 0, 0, 58, 156, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 69, 18, 0, 0, 71, 156, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 110, 3, 0, 0, 84, 156, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 101, 30, 0, 0, 108, - 156, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 115, 30, 0, 0, 117, 156, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 112, 30, 0, 0, 130, 156, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 113, 30, 0, 0, 143, 156, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 114, 30, 0, 0, 172, 156, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 133, 30, 0, 0, 181, - 156, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 200, 7, 0, 0, 194, 156, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 187, - 3, 0, 0, 207, 156, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 128, 30, 0, 0, 220, 156, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 129, 30, 0, 0, 233, 156, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 130, 30, 0, 0, 246, 156, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 131, 30, 0, 0, 4, 157, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 132, 30, - 0, 0, 13, 157, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 37, 10, 0, 0, 26, 157, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 126, 4, 0, 0, 40, 157, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 143, 30, 0, 0, 49, 157, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 135, 30, 0, 0, 62, 157, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 136, 30, 0, 0, 75, - 157, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 137, 30, 0, 0, 94, 157, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 142, - 30, 0, 0, 103, 157, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 138, 30, 0, 0, 116, 157, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 139, 30, 0, 0, 129, 157, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 140, 30, 0, 0, 145, 157, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 141, 30, 0, 0, 161, 157, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 9, 0, 0, - 0, 177, 157, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 228, 6, 0, 0, 199, 157, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 150, 30, 0, 0, 208, 157, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 148, 30, 0, 0, 221, 157, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 149, 30, 0, 0, 234, 157, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 107, 22, 0, 0, 247, - 157, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 10, 158, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 168, - 30, 0, 0, 19, 158, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 152, 30, 0, 0, 32, 158, 2, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 165, 30, 0, 0, 45, 158, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 166, 30, 0, 0, 58, 158, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 167, 30, 0, 0, 81, 158, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 164, 30, 0, 0, - 89, 158, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 163, 30, 0, 0, 98, 158, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 153, 30, 0, 0, 111, 158, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 155, 30, 0, 0, 124, 158, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 156, 30, 0, 0, 137, 158, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 157, 30, 0, 0, 150, - 158, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 159, 30, 0, 0, 163, 158, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 161, 30, 0, 0, 181, 158, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 30, 0, 0, 193, 158, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 158, 30, 0, 0, 205, 158, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 30, 0, 0, 217, - 158, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 162, 30, 0, 0, 230, 158, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 174, 30, 0, 0, 239, 158, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 92, 30, 0, 0, 252, 158, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 171, 30, 0, 0, 9, 159, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 80, 6, 0, 0, 35, 159, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 173, 30, 0, 0, 44, 159, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 172, 30, 0, - 0, 57, 159, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 174, 5, 0, 0, 76, 159, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 176, 30, 0, 0, 85, 159, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 128, 5, 0, 0, 98, 159, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 113, 4, 0, 0, 111, 159, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 80, 6, 0, 0, 146, 159, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 30, 0, 0, 164, 159, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 190, 30, - 0, 0, 173, 159, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 231, 27, 0, 0, 186, 159, 2, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 214, 9, 0, 0, 199, 159, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 188, 30, 0, 0, 212, 159, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 189, 30, 0, 0, 241, 159, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 202, 30, 0, 0, - 250, 159, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 211, 27, 0, 0, 7, 160, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 200, 30, 0, 0, 20, 160, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 201, 30, 0, 0, 44, 160, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 215, 30, 0, 0, 53, 160, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 174, 28, 0, 0, 66, 160, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 166, 2, 0, 0, 79, 160, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 144, 3, 0, - 0, 92, 160, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 107, 22, 0, 0, 105, 160, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 232, 4, 0, 0, 118, 160, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 214, 30, 0, 0, 137, 160, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 220, 30, 0, 0, 146, 160, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 66, 7, 0, 0, 159, - 160, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 219, 30, 0, 0, 220, 160, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 229, 30, 0, 0, 229, 160, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 227, 30, 0, 0, 242, 160, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 187, 28, 0, 0, 4, 161, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 228, 30, 0, 0, 78, 161, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 233, 30, 0, 0, 173, 161, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 230, 14, - 0, 0, 182, 161, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 235, 30, 0, 0, 195, 161, 2, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 236, 30, 0, 0, 208, 161, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 237, 30, 0, 0, 221, 161, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 238, 30, 0, 0, 234, 161, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 239, 30, 0, 0, - 247, 161, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 240, 30, 0, 0, 4, 162, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 241, 30, 0, 0, 17, 162, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 242, 30, 0, 0, 30, 162, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 243, 30, 0, 0, 43, 162, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 244, 30, 0, 0, 56, 162, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 245, 30, 0, 0, 69, 162, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 246, 30, - 0, 0, 82, 162, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 247, 30, 0, 0, 95, 162, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 248, 30, 0, 0, 108, 162, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 249, 30, 0, 0, 121, 162, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 250, 30, 0, 0, 134, 162, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 251, 30, 0, 0, - 147, 162, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 252, 30, 0, 0, 160, 162, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 0, 31, 0, 0, 173, 162, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 10, 31, 0, 0, 191, 162, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 11, 31, 0, 0, 204, 162, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 14, 31, 0, 0, 217, 162, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 206, 34, 0, 0, 235, 162, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 202, 4, - 0, 0, 248, 162, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 173, 2, 0, 0, 5, 163, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 207, 34, 0, 0, 31, 163, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 255, 30, 0, 0, 40, 163, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 253, 30, 0, 0, 53, 163, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 254, 30, 0, 0, - 106, 163, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 9, 31, 0, 0, 115, 163, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 1, 31, 0, 0, 128, 163, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 2, 31, 0, 0, 141, 163, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 3, 31, 0, 0, 154, 163, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 4, 31, 0, 0, 167, 163, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 5, 31, 0, 0, 180, 163, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 6, 31, 0, 0, - 193, 163, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 7, 31, 0, 0, 206, 163, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 8, 31, 0, 0, 72, 164, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 13, 31, 0, 0, 81, 164, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 173, 2, 0, 0, 94, 164, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 155, 3, 0, 0, 107, 164, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 2, 0, 0, 126, 164, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 12, 31, 0, - 0, 131, 164, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 205, 34, 0, 0, 140, 164, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 155, 3, 0, 0, 159, 164, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 204, 34, 0, 0, 169, 164, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 15, 31, 0, 0, 182, 164, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 16, 31, 0, 0, 195, - 164, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 199, 34, 0, 0, 208, 164, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 200, 34, 0, 0, 221, 164, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 201, 34, 0, 0, 235, 164, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 202, 34, 0, 0, 249, 164, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 203, 34, 0, 0, 13, 165, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 198, 34, 0, 0, 22, 165, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 17, 31, - 0, 0, 35, 165, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 18, 31, 0, 0, 48, 165, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 19, 31, 0, 0, 61, 165, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 155, 3, 0, 0, 74, 165, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 194, 14, 0, 0, 87, 165, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 100, - 165, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 192, 34, 0, 0, 113, 165, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 193, 34, 0, 0, 126, 165, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 219, 33, 0, 0, 139, 165, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 194, 34, 0, 0, 152, 165, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 195, 34, 0, 0, 165, - 165, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 196, 34, 0, 0, 178, 165, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 197, 34, 0, 0, 191, 165, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 173, 2, 0, 0, 204, 165, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 5, 3, 0, 0, 217, 165, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 207, 11, 0, 0, 230, 165, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 167, 2, 0, 0, 249, 165, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 191, 34, - 0, 0, 3, 166, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 20, 31, 0, 0, 16, 166, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 180, 34, 0, 0, 29, 166, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 181, 34, 0, 0, 42, 166, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 182, 34, 0, 0, 55, 166, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 34, 0, 0, 68, - 166, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 184, 34, 0, 0, 81, 166, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 185, - 34, 0, 0, 94, 166, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 186, 34, 0, 0, 107, 166, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 187, 34, 0, 0, 120, 166, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 188, 34, 0, 0, 133, 166, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 189, 34, 0, 0, 147, 166, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 190, 34, - 0, 0, 167, 166, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 179, 34, 0, 0, 177, 166, 2, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 21, 31, 0, 0, 190, 166, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 120, 34, 0, 0, 203, 166, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 121, 34, 0, 0, 216, 166, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 122, 34, 0, 0, - 229, 166, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 123, 34, 0, 0, 242, 166, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 124, 34, 0, 0, 255, 166, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 125, 34, 0, 0, 12, 167, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 127, 34, 0, 0, 25, 167, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 38, - 167, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 128, 34, 0, 0, 51, 167, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 129, - 34, 0, 0, 64, 167, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 130, 34, 0, 0, 77, 167, 2, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 131, 34, 0, 0, 90, 167, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 132, 34, 0, 0, 103, 167, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 133, 34, 0, 0, 116, 167, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 84, 33, 0, 0, - 129, 167, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 134, 34, 0, 0, 142, 167, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 3, 7, 0, 0, 155, 167, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 135, 34, 0, 0, 168, 167, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 136, 34, 0, 0, 181, 167, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 137, 34, 0, 0, 194, - 167, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 138, 34, 0, 0, 207, 167, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 139, 34, 0, 0, 220, 167, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 140, 34, 0, 0, 233, 167, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 141, 34, 0, 0, 246, 167, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 142, 34, 0, 0, 3, 168, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 16, 9, 0, 0, 16, 168, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 19, 26, 0, - 0, 29, 168, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 91, 33, 0, 0, 42, 168, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 92, 33, 0, 0, 55, 168, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 136, 16, 0, 0, 68, 168, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 86, 33, 0, 0, 81, 168, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 167, 28, 0, 0, 94, 168, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 143, 34, 0, 0, 107, 168, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 144, 34, - 0, 0, 120, 168, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 98, 3, 0, 0, 133, 168, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 145, 34, 0, 0, 146, 168, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 149, 34, 0, 0, 160, 168, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 116, 34, 0, 0, 174, 168, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 151, 34, 0, 0, - 188, 168, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 152, 34, 0, 0, 202, 168, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 153, 34, 0, 0, 216, 168, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 34, 0, 0, 230, 168, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 155, 34, 0, 0, 244, 168, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 156, 34, 0, 0, 2, - 169, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 157, 34, 0, 0, 16, 169, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 158, - 34, 0, 0, 30, 169, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 34, 0, 0, 44, 169, 2, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 161, 34, 0, 0, 58, 169, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 162, 34, 0, 0, 72, 169, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 163, 34, 0, 0, 86, 169, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 164, 34, 0, 0, - 100, 169, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 165, 34, 0, 0, 114, 169, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 166, 34, 0, 0, 128, 169, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 167, 34, 0, 0, 142, 169, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 168, 34, 0, 0, 156, 169, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 169, 34, 0, 0, 170, - 169, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 170, 34, 0, 0, 184, 169, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 239, 2, 0, 0, 198, 169, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 126, 5, 0, 0, 212, 169, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 171, 34, 0, 0, 226, 169, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 172, 34, 0, 0, 240, - 169, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 173, 34, 0, 0, 254, 169, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 174, 34, 0, 0, 12, 170, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 175, 34, 0, 0, 26, 170, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 176, 34, 0, 0, 40, 170, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 177, 34, 0, 0, 54, 170, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 15, 4, 0, 0, 68, 170, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 178, 34, 0, - 0, 88, 170, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 21, 31, 0, 0, 98, 170, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 22, 31, 0, 0, 111, 170, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 23, 31, 0, 0, 124, 170, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 24, 31, 0, 0, 137, 170, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 25, 31, 0, 0, 150, - 170, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 26, 31, 0, 0, 163, 170, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 27, - 31, 0, 0, 176, 170, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 28, 31, 0, 0, 189, 170, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 29, 31, 0, 0, 202, 170, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 30, 31, 0, 0, 215, 170, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 31, 31, 0, 0, 228, 170, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 32, 31, 0, - 0, 241, 170, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 33, 31, 0, 0, 254, 170, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 35, 33, 0, 0, 11, 171, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 26, 34, 0, 0, 24, 171, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 27, 34, 0, 0, 37, 171, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 29, 34, 0, 0, 50, 171, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 30, 34, 0, 0, 63, 171, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 33, 33, 0, 0, - 77, 171, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 26, 33, 0, 0, 91, 171, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 31, 34, 0, 0, 105, 171, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 32, 34, 0, 0, 119, 171, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 33, 34, 0, 0, 133, 171, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 35, 34, 0, 0, 147, 171, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 37, 31, 0, 0, 161, 171, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 36, 34, - 0, 0, 175, 171, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 37, 34, 0, 0, 189, 171, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 38, 34, 0, 0, 203, 171, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, 34, 0, 0, 217, 171, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 40, 34, 0, 0, 231, 171, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 42, 34, 0, 0, 245, - 171, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 43, 34, 0, 0, 3, 172, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 44, - 34, 0, 0, 17, 172, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 90, 34, 0, 0, 31, 172, 2, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 91, 34, 0, 0, 45, 172, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 93, 34, 0, 0, 59, 172, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 94, 34, 0, 0, 73, 172, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 95, 34, 0, 0, 87, - 172, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 97, 34, 0, 0, 101, 172, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 98, - 34, 0, 0, 115, 172, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 103, 34, 0, 0, 129, 172, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 107, 34, 0, 0, 143, 172, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 113, 34, 0, 0, 157, 172, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 114, 34, 0, 0, 171, 172, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 115, 34, - 0, 0, 185, 172, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 116, 34, 0, 0, 199, 172, 2, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 118, 34, 0, 0, 213, 172, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 119, 34, 0, 0, 233, 172, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 34, 33, 0, 0, 243, 172, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 22, 31, 0, 0, - 0, 173, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 34, 31, 0, 0, 13, 173, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 35, 31, 0, 0, 26, 173, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 36, 31, 0, 0, 39, 173, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 37, 31, 0, 0, 52, 173, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 38, 31, 0, 0, 65, 173, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 237, 32, 0, 0, 78, 173, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 238, 32, 0, 0, - 91, 173, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 239, 32, 0, 0, 104, 173, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 240, 32, 0, 0, 117, 173, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 241, 32, 0, 0, 130, 173, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 242, 32, 0, 0, 143, 173, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 33, 0, 0, 156, 173, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 2, 33, 0, 0, 172, 173, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 3, 33, 0, - 0, 188, 173, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 4, 33, 0, 0, 204, 173, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 5, 33, 0, 0, 220, 173, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 6, 33, 0, 0, 236, 173, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 7, 33, 0, 0, 252, 173, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 8, 33, 0, 0, 9, 174, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 14, 33, 0, 0, 22, 174, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 15, 33, 0, 0, - 35, 174, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 16, 33, 0, 0, 48, 174, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 17, 33, 0, 0, 61, 174, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 18, 33, 0, 0, 74, 174, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 22, 33, 0, 0, 87, 174, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 23, 33, 0, 0, 100, 174, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 24, 33, 0, 0, 114, 174, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 25, 33, 0, - 0, 128, 174, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 26, 33, 0, 0, 142, 174, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 27, 33, 0, 0, 156, 174, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 28, 33, 0, 0, 185, 174, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 30, 33, 0, 0, 198, 174, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 31, 33, 0, 0, 212, - 174, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 32, 33, 0, 0, 226, 174, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 33, - 33, 0, 0, 246, 174, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 236, 32, 0, 0, 0, 175, 2, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 116, 4, 0, 0, 13, 175, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 110, 3, 0, 0, 26, 175, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 123, 4, 0, 0, 39, 175, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 227, 13, 0, 0, 52, - 175, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 66, 7, 0, 0, 65, 175, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 218, - 31, 0, 0, 78, 175, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 35, 7, 0, 0, 91, 175, 2, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 219, 31, 0, 0, 104, 175, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 220, 31, 0, 0, 117, 175, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 221, 31, 0, 0, 130, 175, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 222, 31, 0, 0, - 143, 175, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 223, 31, 0, 0, 157, 175, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 74, 3, 0, 0, 171, 175, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 224, 31, 0, 0, 185, 175, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 111, 3, 0, 0, 199, 175, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 19, 30, 0, 0, 213, - 175, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 225, 31, 0, 0, 227, 175, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 226, 31, 0, 0, 241, 175, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 173, 2, 0, 0, 255, 175, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 227, 31, 0, 0, 16, 176, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 228, 31, 0, 0, 33, 176, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 229, 31, 0, 0, 47, 176, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 230, 31, - 0, 0, 61, 176, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 231, 31, 0, 0, 75, 176, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 232, 31, 0, 0, 89, 176, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 233, 31, 0, 0, 103, 176, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 234, 31, 0, 0, 117, 176, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 235, 31, 0, 0, - 131, 176, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 44, 6, 0, 0, 145, 176, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 236, 31, 0, 0, 159, 176, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 237, 31, 0, 0, 173, 176, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 238, 31, 0, 0, 187, 176, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 239, 31, 0, 0, 201, - 176, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 240, 31, 0, 0, 215, 176, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 241, 31, 0, 0, 229, 176, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 242, 31, 0, 0, 243, 176, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 213, 24, 0, 0, 1, 177, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 243, 31, 0, 0, 15, 177, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 244, 31, 0, 0, 29, 177, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 245, 31, - 0, 0, 43, 177, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 246, 31, 0, 0, 57, 177, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 247, 31, 0, 0, 71, 177, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 249, 31, 0, 0, 85, 177, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 183, 32, 0, 0, 99, 177, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 184, 32, 0, 0, - 113, 177, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 185, 32, 0, 0, 127, 177, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 186, 32, 0, 0, 141, 177, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 187, 32, 0, 0, 155, 177, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 188, 32, 0, 0, 169, 177, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 18, 21, 0, 0, 188, - 177, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 189, 32, 0, 0, 201, 177, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 190, 32, 0, 0, 214, 177, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 191, 32, 0, 0, 227, 177, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 192, 32, 0, 0, 240, 177, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 193, 32, 0, 0, 253, - 177, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 194, 32, 0, 0, 10, 178, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 195, - 32, 0, 0, 23, 178, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 196, 32, 0, 0, 36, 178, 2, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 197, 32, 0, 0, 49, 178, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 198, 32, 0, 0, 62, 178, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 199, 32, 0, 0, 75, 178, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 200, 32, 0, 0, - 89, 178, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 201, 32, 0, 0, 103, 178, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 202, 32, 0, 0, 117, 178, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 203, 32, 0, 0, 131, 178, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 133, 9, 0, 0, 145, 178, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, 4, 0, 0, 159, 178, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 204, 32, 0, 0, 173, 178, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 233, 32, - 0, 0, 187, 178, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 235, 32, 0, 0, 212, 178, 2, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 211, 31, 0, 0, 221, 178, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, 31, 0, 0, 234, 178, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 40, 31, 0, 0, 247, 178, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 191, 31, 0, 0, - 4, 179, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 192, 31, 0, 0, 17, 179, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 193, 31, 0, 0, 30, 179, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 194, 31, 0, 0, 43, 179, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 195, 31, 0, 0, 56, 179, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 232, 2, 0, 0, 69, 179, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 196, 31, 0, 0, 82, 179, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 197, 31, - 0, 0, 95, 179, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 131, 24, 0, 0, 108, 179, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 198, 31, 0, 0, 121, 179, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 199, 31, 0, 0, 134, 179, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 44, 6, 0, 0, 147, 179, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 200, 31, 0, 0, 160, - 179, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 225, 2, 0, 0, 173, 179, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 239, - 2, 0, 0, 186, 179, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 201, 31, 0, 0, 199, 179, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 202, 31, 0, 0, 212, 179, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 203, 31, 0, 0, 225, 179, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 204, 31, 0, 0, 238, 179, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 205, 31, - 0, 0, 251, 179, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 206, 31, 0, 0, 8, 180, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 207, 31, 0, 0, 21, 180, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 208, 31, 0, 0, 34, 180, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 209, 31, 0, 0, 47, 180, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 210, 31, 0, 0, - 109, 180, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 190, 31, 0, 0, 118, 180, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 41, 31, 0, 0, 131, 180, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 42, 31, 0, 0, 144, 180, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 43, 31, 0, 0, 157, 180, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 44, 31, 0, 0, 170, - 180, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 45, 31, 0, 0, 183, 180, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 46, - 31, 0, 0, 196, 180, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 47, 31, 0, 0, 209, 180, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 48, 31, 0, 0, 222, 180, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 60, 17, 0, 0, 240, 180, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 52, 31, 0, 0, 253, 180, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 53, 31, 0, - 0, 11, 181, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 55, 31, 0, 0, 24, 181, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 56, 31, 0, 0, 37, 181, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 169, 31, 0, 0, 50, 181, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 170, 31, 0, 0, 63, 181, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 176, 31, 0, 0, 76, 181, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 177, 31, 0, 0, 89, 181, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 178, 31, - 0, 0, 102, 181, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 179, 31, 0, 0, 115, 181, 2, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 180, 31, 0, 0, 128, 181, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 181, 31, 0, 0, 141, 181, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 182, 31, 0, 0, 154, 181, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 31, 0, 0, - 167, 181, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 184, 31, 0, 0, 180, 181, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 185, 31, 0, 0, 193, 181, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 186, 31, 0, 0, 209, 181, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 187, 31, 0, 0, 225, 181, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 188, 31, 0, 0, 241, - 181, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 189, 31, 0, 0, 19, 182, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 51, - 31, 0, 0, 28, 182, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 3, 0, 0, 41, 182, 2, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 27, 5, 0, 0, 54, 182, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 49, 31, 0, 0, 67, 182, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 21, 7, 0, 0, 80, 182, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 103, 5, 0, 0, 93, - 182, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 23, 19, 0, 0, 106, 182, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 244, - 5, 0, 0, 119, 182, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 2, 0, 0, 145, 182, 2, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 50, 31, 0, 0, 154, 182, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 2, 0, 0, 167, 182, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 242, 5, 0, 0, 180, 182, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 202, 25, 0, 0, - 194, 182, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 54, 31, 0, 0, 203, 182, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 160, 2, 0, 0, 216, 182, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 158, 7, 0, 0, 229, 182, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 244, 5, 0, 0, 243, 182, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 168, 31, 0, 0, 252, 182, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 57, 31, 0, 0, 9, 183, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 166, 31, 0, - 0, 22, 183, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 167, 31, 0, 0, 35, 183, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 126, 31, 0, 0, 59, 183, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 165, 31, 0, 0, 68, 183, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 58, 31, 0, 0, 81, 183, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 59, 31, 0, 0, 94, 183, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 158, 31, 0, 0, 107, 183, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 31, - 0, 0, 120, 183, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 161, 31, 0, 0, 133, 183, 2, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 162, 31, 0, 0, 146, 183, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 163, 31, 0, 0, 159, 183, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 164, 31, 0, 0, 177, 183, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 157, 31, 0, 0, - 212, 183, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 156, 31, 0, 0, 222, 183, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 60, 31, 0, 0, 235, 183, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 61, 31, 0, 0, 248, 183, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 65, 31, 0, 0, 5, 184, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 66, 31, 0, 0, 18, 184, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 67, 31, 0, 0, 31, 184, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 127, 31, - 0, 0, 44, 184, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 128, 31, 0, 0, 57, 184, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 129, 31, 0, 0, 70, 184, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 130, 31, 0, 0, 83, 184, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 131, 31, 0, 0, 96, 184, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 132, 31, 0, 0, - 123, 184, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 133, 31, 0, 0, 136, 184, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 134, 31, 0, 0, 150, 184, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 135, 31, 0, 0, 163, 184, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 136, 31, 0, 0, 176, 184, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 137, 31, 0, 0, 190, - 184, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 138, 31, 0, 0, 204, 184, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 139, 31, 0, 0, 218, 184, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 140, 31, 0, 0, 232, 184, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 141, 31, 0, 0, 246, 184, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 142, 31, 0, 0, 4, 185, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 143, 31, 0, 0, 18, 185, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 144, 31, - 0, 0, 32, 185, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 145, 31, 0, 0, 46, 185, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 237, 24, 0, 0, 60, 185, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 146, 31, 0, 0, 74, 185, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 147, 31, 0, 0, 88, 185, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 148, 31, 0, 0, - 102, 185, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 149, 31, 0, 0, 116, 185, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 150, 31, 0, 0, 130, 185, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 151, 31, 0, 0, 144, 185, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 152, 31, 0, 0, 158, 185, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 153, 31, 0, 0, 172, - 185, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 31, 0, 0, 186, 185, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 155, 31, 0, 0, 201, 185, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 64, 31, 0, 0, 210, 185, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 56, 4, 0, 0, 223, 185, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 77, 3, 0, 0, 236, 185, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 11, 3, 0, 0, 249, 185, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 191, 6, 0, 0, - 6, 186, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 62, 31, 0, 0, 19, 186, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 63, 31, 0, 0, 32, 186, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 45, 186, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 170, 3, 0, 0, 58, 186, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 62, 3, 0, 0, 89, 186, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 126, 31, 0, 0, 98, 186, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 68, 31, 0, 0, - 111, 186, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 69, 31, 0, 0, 124, 186, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 70, 31, 0, 0, 137, 186, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 71, 31, 0, 0, 150, 186, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 103, 31, 0, 0, 163, 186, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 122, 31, 0, 0, 176, - 186, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 123, 31, 0, 0, 189, 186, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 124, 31, 0, 0, 202, 186, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 125, 31, 0, 0, 221, 186, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 102, 31, 0, 0, 230, 186, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 72, 31, 0, 0, 243, 186, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 73, 31, 0, 0, 0, 187, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 74, 31, 0, - 0, 13, 187, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 31, 0, 0, 26, 187, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 76, 31, 0, 0, 39, 187, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 77, 31, 0, 0, 52, 187, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 78, 31, 0, 0, 65, 187, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 99, 31, 0, 0, 78, 187, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 100, 31, 0, 0, 102, 187, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 98, 31, 0, - 0, 111, 187, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 155, 3, 0, 0, 124, 187, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 78, 31, 0, 0, 137, 187, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 80, 31, 0, 0, 150, 187, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 81, 31, 0, 0, 163, 187, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 239, 2, 0, 0, 176, - 187, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 85, 31, 0, 0, 189, 187, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 88, - 31, 0, 0, 202, 187, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 89, 31, 0, 0, 215, 187, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 90, 31, 0, 0, 228, 187, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 96, 31, 0, 0, 241, 187, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 97, 31, 0, 0, 3, 188, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 79, 31, 0, 0, - 42, 188, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 84, 31, 0, 0, 51, 188, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 82, 31, 0, 0, 64, 188, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 83, 31, 0, 0, 116, 188, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 87, 31, 0, 0, 125, 188, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 15, 4, 0, 0, 138, 188, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 86, 31, 0, 0, 230, 188, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 95, 31, 0, - 0, 239, 188, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 91, 31, 0, 0, 252, 188, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 93, 31, 0, 0, 9, 189, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 94, 31, 0, 0, 23, 189, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 92, 31, 0, 0, 32, 189, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 62, 3, 0, 0, 45, 189, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 4, 0, 0, 118, 189, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 101, 31, 0, - 0, 133, 189, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 121, 31, 0, 0, 142, 189, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 104, 31, 0, 0, 155, 189, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 105, 31, 0, 0, 168, 189, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 106, 31, 0, 0, 181, 189, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 107, 31, 0, 0, - 194, 189, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 108, 31, 0, 0, 207, 189, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 114, 31, 0, 0, 220, 189, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 115, 31, 0, 0, 233, 189, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 116, 31, 0, 0, 246, 189, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 117, 31, 0, 0, 3, - 190, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 118, 31, 0, 0, 16, 190, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 119, - 31, 0, 0, 29, 190, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 120, 31, 0, 0, 107, 190, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 113, 31, 0, 0, 116, 190, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 7, 4, 0, 0, 129, 190, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 169, 3, 0, 0, 142, 190, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 228, 6, 0, - 0, 155, 190, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 6, 3, 0, 0, 168, 190, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 109, 31, 0, 0, 181, 190, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 110, 31, 0, 0, 194, 190, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 111, 31, 0, 0, 207, 190, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 112, 31, 0, 0, 60, - 191, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 159, 31, 0, 0, 104, 191, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 175, 31, 0, 0, 113, 191, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 171, 31, 0, 0, 126, 191, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 172, 31, 0, 0, 139, 191, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 173, 31, 0, 0, 152, - 191, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 174, 31, 0, 0, 141, 192, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 217, 31, 0, 0, 150, 192, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 212, 31, 0, 0, 163, 192, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 213, 31, 0, 0, 176, 192, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 214, 31, 0, 0, 189, - 192, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 215, 31, 0, 0, 202, 192, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 216, 31, 0, 0, 221, 192, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 248, 31, 0, 0, 231, 192, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 182, 32, 0, 0, 240, 192, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 250, 31, 0, 0, 253, - 192, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 157, 32, 0, 0, 10, 193, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 158, - 32, 0, 0, 23, 193, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 159, 32, 0, 0, 36, 193, 2, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 160, 32, 0, 0, 49, 193, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 161, 32, 0, 0, 62, 193, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 162, 32, 0, 0, 75, 193, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 163, 32, 0, 0, - 88, 193, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 164, 32, 0, 0, 101, 193, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 165, 32, 0, 0, 114, 193, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 166, 32, 0, 0, 127, 193, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 167, 32, 0, 0, 140, 193, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 168, 32, 0, 0, 153, - 193, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 169, 32, 0, 0, 166, 193, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 170, 32, 0, 0, 179, 193, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 171, 32, 0, 0, 192, 193, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 178, 32, 0, 0, 205, 193, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 179, 32, 0, 0, 218, - 193, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 180, 32, 0, 0, 231, 193, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 181, 32, 0, 0, 250, 193, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 156, 32, 0, 0, 3, 194, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 251, 31, 0, 0, 16, 194, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 252, 31, 0, 0, 29, 194, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 253, 31, 0, 0, 42, 194, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 254, 31, - 0, 0, 55, 194, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 255, 31, 0, 0, 68, 194, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 0, 32, 0, 0, 81, 194, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 136, 32, 0, 0, 94, 194, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 137, 32, 0, 0, 107, 194, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 138, 32, 0, 0, 120, - 194, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 149, 32, 0, 0, 133, 194, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 150, 32, 0, 0, 146, 194, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 155, 32, 0, 0, 175, 194, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 135, 32, 0, 0, 184, 194, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 1, 32, 0, 0, 197, 194, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 2, 32, 0, 0, 210, 194, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 3, 32, 0, - 0, 223, 194, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 129, 32, 0, 0, 236, 194, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 130, 32, 0, 0, 249, 194, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 131, 32, 0, 0, 6, 195, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 132, 32, 0, 0, 19, 195, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 133, 32, 0, 0, 32, - 195, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 134, 32, 0, 0, 56, 195, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 128, - 32, 0, 0, 65, 195, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 4, 32, 0, 0, 78, 195, 2, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 120, 32, 0, 0, 91, 195, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 121, 32, 0, 0, 104, 195, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 122, 32, 0, 0, 117, 195, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 123, 32, 0, 0, - 130, 195, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 124, 32, 0, 0, 143, 195, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 125, 32, 0, 0, 156, 195, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 126, 32, 0, 0, 169, 195, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 127, 32, 0, 0, 204, 195, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 119, 32, 0, 0, 214, - 195, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 5, 32, 0, 0, 227, 195, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 6, - 32, 0, 0, 240, 195, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 60, 31, 0, 0, 253, 195, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 7, 32, 0, 0, 10, 196, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 8, 32, 0, 0, 23, 196, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 9, 32, 0, 0, 36, 196, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 10, 32, 0, 0, 50, - 196, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 11, 32, 0, 0, 64, 196, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 12, - 32, 0, 0, 78, 196, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 25, 32, 0, 0, 92, 196, 2, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 26, 32, 0, 0, 106, 196, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 67, 31, 0, 0, 120, 196, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 65, 32, 0, 0, 134, 196, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 66, 32, 0, 0, - 148, 196, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 80, 32, 0, 0, 162, 196, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 81, 32, 0, 0, 176, 196, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 82, 32, 0, 0, 190, 196, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 83, 32, 0, 0, 204, 196, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 84, 32, 0, 0, 218, 196, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 85, 32, 0, 0, 232, 196, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 86, 32, - 0, 0, 246, 196, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 87, 32, 0, 0, 4, 197, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 88, 32, 0, 0, 18, 197, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 89, 32, 0, 0, 32, 197, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 90, 32, 0, 0, 46, 197, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 93, 32, 0, 0, 60, 197, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 94, 32, 0, 0, 74, 197, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 127, 31, - 0, 0, 88, 197, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 95, 32, 0, 0, 102, 197, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 96, 32, 0, 0, 116, 197, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 97, 32, 0, 0, 130, 197, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 98, 32, 0, 0, 144, 197, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 99, 32, 0, 0, 158, - 197, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 208, 13, 0, 0, 172, 197, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 100, 32, 0, 0, 186, 197, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 101, 32, 0, 0, 200, 197, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 102, 32, 0, 0, 214, 197, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 103, 32, 0, 0, 228, - 197, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 104, 32, 0, 0, 242, 197, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 105, 32, 0, 0, 0, 198, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 106, 32, 0, 0, 14, 198, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 107, 32, 0, 0, 28, 198, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 108, 32, 0, 0, 42, 198, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 112, 32, 0, 0, 56, 198, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 113, 32, 0, - 0, 70, 198, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 114, 32, 0, 0, 84, 198, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 66, 31, 0, 0, 98, 198, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 116, 32, 0, 0, 112, 198, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 117, 32, 0, 0, 126, 198, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 118, 32, 0, 0, 146, - 198, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 24, 32, 0, 0, 155, 198, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 13, - 32, 0, 0, 168, 198, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 14, 32, 0, 0, 181, 198, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 15, 32, 0, 0, 194, 198, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 16, 32, 0, 0, 207, 198, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 17, 32, 0, 0, 220, 198, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 18, 32, 0, - 0, 233, 198, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 23, 32, 0, 0, 247, 198, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 22, 32, 0, 0, 0, 199, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 200, 18, 0, 0, 13, 199, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 19, 32, 0, 0, 26, 199, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 20, 32, 0, 0, 39, 199, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 21, 32, 0, 0, 58, 199, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 31, 32, 0, 0, - 67, 199, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 2, 0, 0, 80, 199, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 155, 3, 0, 0, 93, 199, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 27, 32, 0, 0, 106, 199, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 234, 2, 0, 0, 119, 199, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 174, 3, 0, 0, 132, 199, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 28, 32, 0, 0, 145, 199, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 30, 32, 0, - 0, 192, 199, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 29, 32, 0, 0, 201, 199, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 30, 10, 0, 0, 214, 199, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 60, 3, 0, 0, 227, 199, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 154, 2, 0, 0, 240, 199, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 27, 32, 0, 0, 253, 199, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 167, 2, 0, 0, 11, 200, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 64, 32, 0, - 0, 20, 200, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 32, 32, 0, 0, 33, 200, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 33, 32, 0, 0, 46, 200, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 34, 32, 0, 0, 59, 200, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 35, 32, 0, 0, 72, 200, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 36, 32, 0, 0, 85, 200, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 37, 32, 0, 0, 98, 200, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 38, 32, 0, 0, - 111, 200, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, 32, 0, 0, 130, 200, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 63, 32, 0, 0, 139, 200, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 40, 32, 0, 0, 152, 200, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 41, 32, 0, 0, 165, 200, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 42, 32, 0, 0, 178, 200, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 43, 32, 0, 0, 191, 200, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 44, 32, - 0, 0, 204, 200, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 57, 32, 0, 0, 217, 200, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 58, 32, 0, 0, 230, 200, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 62, 32, 0, 0, 254, 200, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 56, 32, 0, 0, 7, 201, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 45, 32, 0, 0, 20, - 201, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 50, 32, 0, 0, 33, 201, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 52, - 32, 0, 0, 46, 201, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 53, 32, 0, 0, 59, 201, 2, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 54, 32, 0, 0, 72, 201, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 55, 32, 0, 0, 127, 201, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 49, 32, 0, 0, 136, 201, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 46, 32, 0, 0, 149, - 201, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 47, 32, 0, 0, 162, 201, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 48, - 32, 0, 0, 175, 201, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 145, 14, 0, 0, 225, 201, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 51, 32, 0, 0, 234, 201, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 62, 3, 0, 0, 247, 201, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 4, 0, 0, 72, 202, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 61, 32, 0, 0, - 81, 202, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 82, 31, 0, 0, 94, 202, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 93, 31, 0, 0, 107, 202, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 94, 31, 0, 0, 120, 202, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 154, 2, 0, 0, 133, 202, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 59, 32, 0, 0, 146, 202, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 27, 7, 0, 0, 159, 202, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 60, 32, 0, - 0, 178, 202, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 79, 32, 0, 0, 188, 202, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 35, 7, 0, 0, 201, 202, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 67, 32, 0, 0, 214, 202, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 66, 7, 0, 0, 227, 202, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 218, 31, 0, 0, 240, 202, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 77, 17, 0, 0, 253, 202, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 68, 32, - 0, 0, 11, 203, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 17, 26, 0, 0, 25, 203, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 77, 32, 0, 0, 39, 203, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 78, 32, 0, 0, 53, 203, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 253, 6, 0, 0, 68, 203, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 76, 32, 0, 0, 77, 203, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 60, 3, 0, 0, 90, 203, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 69, 32, 0, - 0, 103, 203, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 32, 0, 0, 116, 203, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 155, 3, 0, 0, 129, 203, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 32, 0, 0, 148, 203, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 74, 32, 0, 0, 157, 203, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 71, 32, 0, 0, 170, - 203, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 72, 32, 0, 0, 183, 203, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 73, - 32, 0, 0, 196, 203, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 30, 10, 0, 0, 209, 203, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 183, 2, 0, 0, 14, 204, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 92, 32, 0, 0, 23, 204, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 103, 5, 0, 0, 36, 204, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 91, 32, 0, 0, - 49, 204, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 191, 6, 0, 0, 101, 204, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 111, 32, 0, 0, 110, 204, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 109, 32, 0, 0, 123, 204, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 110, 32, 0, 0, 163, 204, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 115, 32, 0, 0, 206, - 204, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 148, 32, 0, 0, 215, 204, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 139, 32, 0, 0, 228, 204, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 140, 32, 0, 0, 241, 204, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 141, 32, 0, 0, 254, 204, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 142, 32, 0, 0, 11, 205, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 143, 32, 0, 0, 24, 205, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 144, 32, - 0, 0, 37, 205, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 145, 32, 0, 0, 50, 205, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 146, 32, 0, 0, 63, 205, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 147, 32, 0, 0, 118, 205, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 154, 32, 0, 0, 141, 205, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 185, 23, 0, 0, - 154, 205, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 151, 32, 0, 0, 172, 205, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 152, 32, 0, 0, 185, 205, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 153, 32, 0, 0, 252, 205, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 177, 32, 0, 0, 5, 206, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 172, 32, 0, 0, 18, - 206, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 173, 32, 0, 0, 31, 206, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 174, - 32, 0, 0, 44, 206, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 175, 32, 0, 0, 57, 206, 2, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 176, 32, 0, 0, 148, 206, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 204, 32, 0, 0, 157, 206, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 160, 2, 0, 0, 170, 206, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 205, 32, 0, 0, - 183, 206, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 94, 30, 0, 0, 196, 206, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 155, 3, 0, 0, 209, 206, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 2, 0, 0, 222, 206, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 232, 32, 0, 0, 1, 207, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 231, 32, 0, 0, 10, 207, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 205, 32, 0, 0, 23, 207, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 186, 17, - 0, 0, 36, 207, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 206, 32, 0, 0, 49, 207, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 207, 32, 0, 0, 62, 207, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 218, 31, 0, 0, 75, 207, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 202, 32, 0, 0, 88, 207, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 247, 31, 0, 0, - 101, 207, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 208, 32, 0, 0, 114, 207, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 183, 2, 0, 0, 133, 207, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 230, 32, 0, 0, 142, 207, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 209, 32, 0, 0, 155, 207, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 210, 32, 0, 0, 168, - 207, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 211, 32, 0, 0, 181, 207, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 212, 32, 0, 0, 194, 207, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 213, 32, 0, 0, 207, 207, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 214, 32, 0, 0, 220, 207, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 215, 32, 0, 0, 233, - 207, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 216, 32, 0, 0, 246, 207, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 217, 32, 0, 0, 3, 208, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 218, 32, 0, 0, 16, 208, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 227, 32, 0, 0, 29, 208, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 229, 32, 0, 0, 53, 208, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 226, 32, 0, 0, 62, 208, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 219, 32, 0, - 0, 75, 208, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 224, 32, 0, 0, 88, 208, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 225, 32, 0, 0, 119, 208, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 223, 32, 0, 0, 128, 208, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 220, 32, 0, 0, 141, 208, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 221, 32, 0, 0, 154, - 208, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 222, 32, 0, 0, 189, 208, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 228, 32, 0, 0, 211, 208, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 234, 32, 0, 0, 221, 208, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 255, 32, 0, 0, 230, 208, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 139, 32, 0, 0, 243, - 208, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 140, 32, 0, 0, 0, 209, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 141, - 32, 0, 0, 13, 209, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 142, 32, 0, 0, 26, 209, 2, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 143, 32, 0, 0, 39, 209, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 251, 32, 0, 0, 52, 209, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 144, 32, 0, 0, 65, 209, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 252, 32, 0, 0, - 78, 209, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 253, 32, 0, 0, 91, 209, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 254, 32, 0, 0, 115, 209, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 250, 32, 0, 0, 124, 209, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 154, 2, 0, 0, 137, 209, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 243, 32, 0, 0, 150, 209, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 244, 32, 0, 0, 163, 209, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 77, 7, - 0, 0, 176, 209, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 208, 9, 0, 0, 189, 209, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 249, 32, 0, 0, 218, 209, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 248, 32, 0, 0, 227, 209, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 243, 32, 0, 0, 240, 209, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 245, 32, 0, 0, - 253, 209, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 246, 32, 0, 0, 10, 210, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 247, 32, 0, 0, 29, 210, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 1, 33, 0, 0, 39, 210, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 13, 33, 0, 0, 48, 210, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 9, 33, 0, 0, 61, 210, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 10, 33, 0, 0, 74, 210, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 11, 33, 0, 0, - 87, 210, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 12, 33, 0, 0, 113, 210, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 21, 33, 0, 0, 122, 210, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 19, 33, 0, 0, 135, 210, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 20, 33, 0, 0, 154, 210, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 29, 33, 0, 0, 169, 210, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 25, 34, 0, 0, 179, 210, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 77, 7, 0, - 0, 192, 210, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 36, 33, 0, 0, 205, 210, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 37, 33, 0, 0, 218, 210, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 38, 33, 0, 0, 231, 210, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 39, 33, 0, 0, 244, 210, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 40, 33, 0, 0, 1, 211, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 42, 33, 0, 0, 14, 211, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 101, 33, - 0, 0, 27, 211, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 102, 33, 0, 0, 40, 211, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 103, 33, 0, 0, 53, 211, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 104, 33, 0, 0, 66, 211, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 48, 3, 0, 0, 79, 211, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 109, 33, 0, 0, 92, - 211, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 196, 5, 0, 0, 105, 211, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 111, - 33, 0, 0, 118, 211, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 81, 31, 0, 0, 131, 211, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 133, 6, 0, 0, 144, 211, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 112, 33, 0, 0, 157, 211, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 113, 33, 0, 0, 170, 211, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 139, 33, 0, - 0, 183, 211, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 140, 33, 0, 0, 196, 211, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 141, 33, 0, 0, 209, 211, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 156, 33, 0, 0, 222, 211, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 202, 4, 0, 0, 235, 211, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 155, 5, 0, 0, 248, - 211, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 145, 5, 0, 0, 5, 212, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 146, - 5, 0, 0, 18, 212, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 157, 33, 0, 0, 31, 212, 2, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 162, 33, 0, 0, 44, 212, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 163, 33, 0, 0, 57, 212, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 171, 33, 0, 0, 70, 212, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 172, 33, 0, 0, - 83, 212, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 176, 33, 0, 0, 97, 212, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 177, 33, 0, 0, 111, 212, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 182, 33, 0, 0, 125, 212, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 247, 33, 0, 0, 139, 212, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 248, 33, 0, 0, 153, - 212, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 249, 33, 0, 0, 167, 212, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 250, 33, 0, 0, 181, 212, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 251, 33, 0, 0, 195, 212, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 13, 34, 0, 0, 209, 212, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 14, 34, 0, 0, 223, 212, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 3, 0, 0, 237, 212, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 15, 34, 0, - 0, 251, 212, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 16, 34, 0, 0, 9, 213, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 17, 34, 0, 0, 23, 213, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 212, 33, 0, 0, 37, 213, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 18, 34, 0, 0, 51, 213, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 19, 34, 0, 0, 65, 213, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 21, 34, 0, 0, 79, 213, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 22, 34, 0, 0, - 93, 213, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 23, 34, 0, 0, 107, 213, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 24, 34, 0, 0, 132, 213, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 41, 33, 0, 0, 168, 213, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 43, 33, 0, 0, 177, 213, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 187, 3, 0, 0, 190, 213, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 4, 0, 0, 221, 213, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 100, 33, - 0, 0, 230, 213, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 44, 33, 0, 0, 243, 213, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 79, 33, 0, 0, 0, 214, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 80, 33, 0, 0, 13, 214, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 81, 33, 0, 0, 26, 214, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 82, 33, 0, 0, 39, 214, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 83, 33, 0, 0, 52, 214, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 84, 33, 0, - 0, 65, 214, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 85, 33, 0, 0, 78, 214, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 86, 33, 0, 0, 91, 214, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 167, 28, 0, 0, 104, 214, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 87, 33, 0, 0, 117, 214, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 88, 33, 0, 0, 130, - 214, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 89, 33, 0, 0, 143, 214, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 90, - 33, 0, 0, 156, 214, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 91, 33, 0, 0, 169, 214, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 92, 33, 0, 0, 182, 214, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 99, 33, 0, 0, 201, 214, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 78, 33, 0, 0, 210, 214, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 127, 8, 0, - 0, 223, 214, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 123, 3, 0, 0, 236, 214, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 12, 9, 0, 0, 249, 214, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 124, 3, 0, 0, 6, 215, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 125, 3, 0, 0, 19, 215, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 126, 3, 0, 0, 32, 215, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 187, 3, 0, 0, 45, 215, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 45, 33, 0, 0, - 63, 215, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 46, 33, 0, 0, 81, 215, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 47, 33, 0, 0, 94, 215, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 48, 33, 0, 0, 108, 215, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 49, 33, 0, 0, 126, 215, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 132, 9, 0, 0, 141, 215, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 136, 16, 0, 0, 154, 215, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 53, 33, 0, - 0, 167, 215, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 54, 33, 0, 0, 180, 215, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 55, 33, 0, 0, 193, 215, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 56, 33, 0, 0, 206, 215, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 14, 23, 0, 0, 219, 215, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 57, 33, 0, 0, 232, - 215, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 58, 33, 0, 0, 245, 215, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 59, - 33, 0, 0, 2, 216, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 60, 33, 0, 0, 15, 216, 2, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 61, 33, 0, 0, 28, 216, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 10, 28, 0, 0, 41, 216, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 62, 33, 0, 0, 54, 216, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 63, 33, 0, 0, 67, - 216, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 65, 33, 0, 0, 80, 216, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 66, - 33, 0, 0, 93, 216, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 74, 33, 0, 0, 107, 216, 2, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 52, 33, 0, 0, 116, 216, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 24, 22, 0, 0, 129, 216, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 51, 33, 0, 0, 147, 216, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 50, 33, 0, 0, - 160, 216, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 64, 33, 0, 0, 169, 216, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 62, 3, 0, 0, 182, 216, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 4, 0, 0, 201, 216, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 73, 33, 0, 0, 210, 216, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 67, 33, 0, 0, 223, 216, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 68, 33, 0, 0, 236, 216, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 69, 33, 0, - 0, 249, 216, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 33, 0, 0, 6, 217, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 71, 33, 0, 0, 19, 217, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 72, 33, 0, 0, 38, 217, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 77, 33, 0, 0, 47, 217, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 33, 0, 0, 60, 217, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 76, 33, 0, 0, 73, 217, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 62, 3, 0, 0, - 86, 217, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 74, 33, 0, 0, 116, 217, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 98, 33, 0, 0, 125, 217, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 93, 33, 0, 0, 131, 217, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 94, 33, 0, 0, 137, 217, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 95, 33, 0, 0, 143, 217, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 96, 33, 0, 0, 149, 217, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 97, 33, - 0, 0, 244, 217, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 224, 5, 0, 0, 253, 217, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 105, 33, 0, 0, 10, 218, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 106, 33, 0, 0, 23, 218, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 225, 5, 0, 0, 36, 218, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 226, 5, 0, 0, 49, - 218, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 107, 33, 0, 0, 62, 218, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 227, - 5, 0, 0, 75, 218, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 231, 5, 0, 0, 88, 218, 2, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 232, 5, 0, 0, 101, 218, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 108, 33, 0, 0, 208, 218, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 110, 33, 0, 0, 217, 218, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 197, 2, 0, 0, - 230, 218, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 13, 3, 0, 0, 243, 218, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 15, 4, 0, 0, 0, 219, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 60, 8, 0, 0, 13, 219, 2, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 167, 2, 0, 0, 159, 219, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 138, 33, 0, 0, 169, 219, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 253, 6, 0, 0, 182, 219, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 251, 14, 0, 0, - 195, 219, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 151, 3, 0, 0, 208, 219, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 45, 6, 0, 0, 221, 219, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 15, 4, 0, 0, 234, 219, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 131, 33, 0, 0, 247, 219, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 227, 13, 0, 0, 6, 220, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 121, 33, 0, 0, 15, 220, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 114, 33, 0, - 0, 28, 220, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 120, 33, 0, 0, 41, 220, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 154, 2, 0, 0, 55, 220, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 119, 33, 0, 0, 64, 220, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 115, 33, 0, 0, 77, 220, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 117, 33, 0, 0, 93, 220, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 118, 33, 0, 0, 115, 220, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 116, 33, - 0, 0, 130, 220, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 137, 33, 0, 0, 139, 220, 2, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 122, 33, 0, 0, 152, 220, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 130, 33, 0, 0, 165, 220, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 131, 33, 0, 0, 178, 220, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 132, 33, 0, 0, - 192, 220, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 129, 33, 0, 0, 201, 220, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 123, 33, 0, 0, 214, 220, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 124, 33, 0, 0, 227, 220, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 125, 33, 0, 0, 240, 220, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 126, 33, 0, 0, 253, - 220, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 127, 33, 0, 0, 10, 221, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 128, - 33, 0, 0, 24, 221, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 136, 33, 0, 0, 33, 221, 2, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 133, 33, 0, 0, 46, 221, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 134, 33, 0, 0, 59, 221, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 135, 33, 0, 0, 138, 221, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 155, 33, 0, 0, - 148, 221, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 253, 6, 0, 0, 161, 221, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 251, 14, 0, 0, 174, 221, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 15, 4, 0, 0, 187, 221, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 142, 33, 0, 0, 200, 221, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 152, 33, 0, 0, 213, - 221, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 148, 33, 0, 0, 226, 221, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 143, 33, 0, 0, 240, 221, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 153, 33, 0, 0, 254, 221, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 150, 33, 0, 0, 12, 222, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 144, 6, 0, 0, 26, 222, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 227, 13, 0, 0, 40, 222, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 33, - 0, 0, 55, 222, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 146, 33, 0, 0, 64, 222, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 114, 33, 0, 0, 77, 222, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 142, 33, 0, 0, 90, 222, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 143, 33, 0, 0, 103, 222, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 144, 33, 0, 0, - 116, 222, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 145, 33, 0, 0, 130, 222, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 151, 33, 0, 0, 139, 222, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 122, 33, 0, 0, 152, 222, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 130, 33, 0, 0, 165, 222, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 147, 33, 0, 0, 178, - 222, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 148, 33, 0, 0, 191, 222, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 149, 33, 0, 0, 204, 222, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 150, 33, 0, 0, 123, 223, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 160, 33, 0, 0, 132, 223, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 151, 3, 0, 0, 145, 223, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 15, 4, 0, 0, 158, 223, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 158, 33, - 0, 0, 171, 223, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 206, 13, 0, 0, 184, 223, 2, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 191, 6, 0, 0, 197, 223, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 63, 31, 0, 0, 210, 223, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 159, 33, 0, 0, 229, 223, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 161, 33, 0, 0, - 238, 223, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 158, 33, 0, 0, 58, 224, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 170, 33, 0, 0, 67, 224, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 44, 33, 0, 0, 80, 224, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 164, 33, 0, 0, 93, 224, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 165, 33, 0, 0, 106, 224, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 166, 33, 0, 0, 119, 224, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 167, 33, 0, - 0, 132, 224, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 168, 33, 0, 0, 145, 224, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 169, 33, 0, 0, 190, 224, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 175, 33, 0, 0, 199, 224, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 44, 33, 0, 0, 212, 224, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 173, 33, 0, 0, - 225, 224, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 174, 33, 0, 0, 35, 225, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 181, 33, 0, 0, 44, 225, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 122, 3, 0, 0, 57, 225, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 206, 13, 0, 0, 70, 225, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 178, 33, 0, 0, 83, 225, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 2, 0, 0, 96, 225, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 62, 3, 0, 0, - 109, 225, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 179, 33, 0, 0, 122, 225, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 120, 33, 0, 0, 135, 225, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 44, 33, 0, 0, 148, 225, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 74, 33, 0, 0, 161, 225, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 180, 33, 0, 0, 174, - 225, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 130, 33, 0, 0, 214, 225, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 246, 33, 0, 0, 224, 225, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 194, 14, 0, 0, 237, 225, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 15, 4, 0, 0, 250, 225, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 191, 6, 0, 0, 7, 226, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 33, 0, 0, 20, 226, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 158, 33, 0, - 0, 33, 226, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 194, 33, 0, 0, 46, 226, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 195, 33, 0, 0, 59, 226, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 197, 33, 0, 0, 72, 226, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 198, 33, 0, 0, 85, 226, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 174, 3, 0, 0, 98, - 226, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 199, 33, 0, 0, 111, 226, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 204, 33, 0, 0, 124, 226, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 175, 15, 0, 0, 137, 226, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 207, 33, 0, 0, 150, 226, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 209, 33, 0, 0, 163, - 226, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 13, 16, 0, 0, 176, 226, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 210, - 33, 0, 0, 189, 226, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 202, 226, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 98, 6, 0, 0, 215, 226, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 44, 33, 0, 0, 229, 226, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 253, 6, 0, 0, 243, 226, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 251, 14, 0, - 0, 1, 227, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 209, 26, 0, 0, 15, 227, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 239, 33, 0, 0, 29, 227, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 240, 33, 0, 0, 43, 227, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 77, 25, 0, 0, 57, 227, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 243, 33, 0, 0, 71, - 227, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 244, 33, 0, 0, 85, 227, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 245, - 33, 0, 0, 105, 227, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 184, 33, 0, 0, 110, 227, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 193, 33, 0, 0, 119, 227, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 185, 33, 0, 0, 132, 227, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 187, 33, 0, 0, 146, 227, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 186, 33, - 0, 0, 155, 227, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 4, 0, 0, 173, 227, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 192, 33, 0, 0, 182, 227, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 188, 33, 0, 0, 188, 227, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 189, 33, 0, 0, 194, 227, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 190, 33, 0, 0, - 200, 227, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 191, 33, 0, 0, 216, 227, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 196, 33, 0, 0, 243, 227, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 203, 33, 0, 0, 252, 227, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 200, 33, 0, 0, 9, 228, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 201, 33, 0, 0, 22, - 228, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 55, 6, 0, 0, 35, 228, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 202, - 33, 0, 0, 76, 228, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 205, 33, 0, 0, 86, 228, 2, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 206, 33, 0, 0, 96, 228, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 208, 33, 0, 0, 101, 228, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 236, 33, 0, 0, 110, 228, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 114, 33, 0, 0, - 123, 228, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 120, 33, 0, 0, 136, 228, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 235, 29, 0, 0, 149, 228, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 211, 33, 0, 0, 162, 228, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 219, 33, 0, 0, 175, 228, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 88, 4, 0, 0, 188, - 228, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 5, 3, 0, 0, 201, 228, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 231, - 33, 0, 0, 214, 228, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 191, 6, 0, 0, 241, 228, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 232, 33, 0, 0, 12, 229, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 233, 33, 0, 0, 25, 229, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 234, 33, 0, 0, 38, 229, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 235, 33, 0, - 0, 59, 229, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 218, 33, 0, 0, 68, 229, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 211, 33, 0, 0, 81, 229, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 216, 33, 0, 0, 94, 229, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 151, 3, 0, 0, 107, 229, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 15, 4, 0, 0, 120, - 229, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 217, 33, 0, 0, 133, 229, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 173, 2, 0, 0, 146, 229, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 123, 3, 0, 0, 159, 229, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 183, 2, 0, 0, 172, 229, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 13, 16, 0, 0, 185, 229, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 2, 0, 0, 198, 229, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 66, 33, - 0, 0, 211, 229, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 167, 2, 0, 0, 225, 229, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 215, 33, 0, 0, 234, 229, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 5, 3, 0, 0, 247, 229, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 160, 2, 0, 0, 4, 230, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 212, 33, 0, 0, 17, 230, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 213, 33, 0, 0, 30, 230, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 214, 33, - 0, 0, 43, 230, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 167, 2, 0, 0, 66, 230, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 230, 33, 0, 0, 74, 230, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 229, 33, 0, 0, 97, 230, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 154, 4, 0, 0, 124, 230, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 220, 33, 0, 0, - 137, 230, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 41, 22, 0, 0, 152, 230, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 9, 0, 0, 0, 174, 230, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 221, 33, 0, 0, 180, 230, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 222, 33, 0, 0, 186, 230, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 223, 33, 0, 0, 192, 230, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 224, 33, 0, 0, 198, 230, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 225, 33, - 0, 0, 204, 230, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 226, 33, 0, 0, 210, 230, 2, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 227, 33, 0, 0, 216, 230, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 228, 33, 0, 0, 248, 230, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 238, 33, 0, 0, 1, 231, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 122, 33, 0, 0, - 14, 231, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 44, 33, 0, 0, 27, 231, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 5, 3, 0, 0, 40, 231, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 237, 33, 0, 0, 81, 231, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 232, 33, 0, 0, 94, 231, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 179, 33, 0, 0, 122, 231, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 158, 33, 0, 0, 135, 231, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 130, 33, 0, - 0, 166, 231, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 242, 33, 0, 0, 175, 231, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 92, 32, 0, 0, 188, 231, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 241, 33, 0, 0, 201, 231, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 77, 25, 0, 0, 30, 232, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 12, 34, 0, 0, 40, - 232, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 98, 6, 0, 0, 53, 232, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 194, - 14, 0, 0, 66, 232, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 15, 4, 0, 0, 79, 232, 2, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 44, 33, 0, 0, 92, 232, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 158, 33, 0, 0, 106, 232, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 191, 6, 0, 0, 120, 232, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 2, 0, 0, - 134, 232, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 207, 33, 0, 0, 148, 232, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 253, 6, 0, 0, 162, 232, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 251, 14, 0, 0, 176, 232, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 235, 29, 0, 0, 190, 232, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 195, 33, 0, 0, 204, - 232, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 243, 33, 0, 0, 218, 232, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 254, 33, 0, 0, 232, 232, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 255, 33, 0, 0, 246, 232, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 198, 33, 0, 0, 4, 233, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 199, 33, 0, 0, 18, 233, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 11, 34, 0, 0, 32, 233, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, - 0, 47, 233, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 252, 33, 0, 0, 56, 233, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 114, 33, 0, 0, 69, 233, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 120, 33, 0, 0, 82, 233, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 88, 4, 0, 0, 95, 233, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 5, 3, 0, 0, 108, 233, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 233, 33, 0, 0, 122, 233, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 253, 33, - 0, 0, 131, 233, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 122, 33, 0, 0, 144, 233, 2, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 237, 33, 0, 0, 157, 233, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 44, 33, 0, 0, 170, 233, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 158, 33, 0, 0, 183, 233, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 130, 33, 0, 0, - 207, 233, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 10, 34, 0, 0, 216, 233, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 55, 6, 0, 0, 229, 233, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 34, 0, 0, 21, 234, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 9, 34, 0, 0, 30, 234, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 194, 14, 0, 0, 43, 234, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 1, 34, 0, 0, 56, 234, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 143, 29, 0, 0, - 69, 234, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 207, 33, 0, 0, 82, 234, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 199, 33, 0, 0, 101, 234, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 4, 34, 0, 0, 110, 234, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 2, 34, 0, 0, 123, 234, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 3, 34, 0, 0, 136, 234, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 2, 0, 0, 155, 234, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 8, 34, 0, 0, - 164, 234, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 147, 28, 0, 0, 177, 234, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 5, 34, 0, 0, 190, 234, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 6, 34, 0, 0, 203, 234, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 110, 3, 0, 0, 227, 234, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 7, 34, 0, 0, 152, 235, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 20, 34, 0, 0, 242, 235, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 28, 34, - 0, 0, 251, 235, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 34, 34, 0, 0, 8, 236, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 154, 4, 0, 0, 27, 236, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 41, 34, 0, 0, 42, 236, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 89, 34, 0, 0, 51, 236, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 45, 34, 0, 0, 64, 236, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 46, 34, 0, 0, 77, 236, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 21, 34, 0, - 0, 90, 236, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 47, 34, 0, 0, 103, 236, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 48, 34, 0, 0, 116, 236, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 49, 34, 0, 0, 129, 236, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 50, 34, 0, 0, 142, 236, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 51, 34, 0, 0, 155, - 236, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 52, 34, 0, 0, 168, 236, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 57, - 34, 0, 0, 181, 236, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 58, 34, 0, 0, 194, 236, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 59, 34, 0, 0, 207, 236, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 68, 34, 0, 0, 220, 236, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 69, 34, 0, 0, 233, 236, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 74, 34, 0, - 0, 112, 237, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 56, 34, 0, 0, 121, 237, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 52, 3, 0, 0, 134, 237, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 2, 0, 0, 147, 237, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 98, 6, 0, 0, 166, 237, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 55, 34, 0, 0, 175, 237, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 53, 34, 0, 0, 188, 237, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 54, 34, - 0, 0, 201, 237, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 214, 237, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 32, 3, 0, 0, 227, 237, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 3, 0, 0, 240, 237, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 160, 2, 0, 0, 253, 237, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 52, 6, 0, 0, 43, 238, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 67, 34, 0, 0, 52, 238, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 60, 34, 0, - 0, 65, 238, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 61, 34, 0, 0, 78, 238, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 62, 34, 0, 0, 91, 238, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 63, 34, 0, 0, 104, 238, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 64, 34, 0, 0, 117, 238, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 65, 34, 0, 0, 130, 238, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 66, 34, 0, 0, 248, 238, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 73, 34, - 0, 0, 1, 239, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 34, 0, 0, 14, 239, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 71, 34, 0, 0, 27, 239, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 72, 34, 0, 0, 93, 239, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 88, 34, 0, 0, 102, 239, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 34, 0, 0, 115, 239, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 87, 34, 0, 0, 165, 239, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 86, 34, - 0, 0, 177, 239, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 44, 33, 0, 0, 190, 239, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 130, 33, 0, 0, 203, 239, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 76, 34, 0, 0, 216, 239, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 80, 34, 0, 0, 230, 239, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 81, 34, 0, 0, 245, - 239, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 79, 34, 0, 0, 255, 239, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 77, - 34, 0, 0, 12, 240, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 78, 34, 0, 0, 51, 240, 2, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 85, 34, 0, 0, 61, 240, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 82, 34, 0, 0, 74, 240, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 83, 34, 0, 0, 87, 240, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 84, 34, 0, 0, 139, - 240, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 92, 34, 0, 0, 149, 240, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 96, - 34, 0, 0, 159, 240, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 102, 34, 0, 0, 169, 240, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 99, 34, 0, 0, 182, 240, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 100, 34, 0, 0, 195, 240, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 101, 34, 0, 0, 214, 240, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 106, 34, 0, - 0, 224, 240, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 104, 34, 0, 0, 237, 240, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 105, 34, 0, 0, 0, 241, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 112, 34, 0, 0, 10, 241, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 27, 7, 0, 0, 23, 241, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 2, 0, 0, 37, 241, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 108, 34, 0, 0, 65, 241, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 111, 34, - 0, 0, 74, 241, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 109, 34, 0, 0, 87, 241, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 110, 34, 0, 0, 118, 241, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 117, 34, 0, 0, 128, 241, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 124, 34, 0, 0, 138, 241, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 126, 34, 0, 0, - 143, 241, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 148, 34, 0, 0, 152, 241, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 146, 34, 0, 0, 165, 241, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 147, 34, 0, 0, 196, 241, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 150, 34, 0, 0, 206, 241, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 159, 34, 0, 0, 10, - 243, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 224, 34, 0, 0, 19, 243, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 218, - 34, 0, 0, 25, 243, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 219, 34, 0, 0, 31, 243, 2, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 220, 34, 0, 0, 37, 243, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 221, 34, 0, 0, 43, 243, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 222, 34, 0, 0, 49, 243, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 223, 34, 0, 0, - 56, 243, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 238, 34, 0, 0, 65, 243, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 70, 3, 0, 0, 78, 243, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 132, 10, 0, 0, 91, 243, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 231, 34, 0, 0, 104, 243, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 124, 3, 0, 0, 117, 243, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 19, 4, 0, 0, 130, 243, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 237, 34, 0, - 0, 148, 243, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 231, 34, 0, 0, 157, 243, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 232, 34, 0, 0, 163, 243, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 233, 34, 0, 0, 169, 243, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 234, 34, 0, 0, 175, 243, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 235, 34, 0, 0, - 181, 243, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 236, 34, 0, 0, 188, 243, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 244, 34, 0, 0, 197, 243, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 174, 4, 0, 0, 210, 243, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 187, 3, 0, 0, 223, 243, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 241, 34, 0, 0, 236, - 243, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 165, 25, 0, 0, 249, 243, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 242, 34, 0, 0, 6, 244, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 243, 34, 0, 0, 24, 244, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 249, 34, 0, 0, 53, 244, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 8, 35, 0, 0, 62, 244, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 5, 35, 0, 0, 75, 244, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 222, 10, 0, 0, - 94, 244, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 7, 35, 0, 0, 103, 244, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 16, 4, 0, 0, 116, 244, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 56, 4, 0, 0, 129, 244, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 77, 3, 0, 0, 142, 244, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 6, 35, 0, 0, 155, 244, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 155, 3, 0, 0, 168, 244, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 134, 15, 0, 0, - 198, 244, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 19, 35, 0, 0, 207, 244, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 16, 35, 0, 0, 213, 244, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 17, 35, 0, 0, 219, 244, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 18, 35, 0, 0, 230, 244, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 28, 35, 0, 0, 239, 244, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 21, 35, 0, 0, 245, 244, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 22, 35, - 0, 0, 251, 244, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 23, 35, 0, 0, 1, 245, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 24, 35, 0, 0, 7, 245, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 25, 35, 0, 0, 13, 245, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 26, 35, 0, 0, 19, 245, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 27, 35, 0, 0, 36, 245, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 40, 35, 0, 0, 45, 245, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 2, 0, - 0, 58, 245, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 9, 0, 0, 0, 71, 245, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 79, 28, 0, 0, 84, 245, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 97, 245, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 154, 4, 0, 0, 120, 245, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, 35, 0, 0, 164, 245, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 38, 35, 0, 0, 173, 245, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 33, 35, 0, - 0, 200, 245, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 34, 35, 0, 0, 213, 245, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 35, 35, 0, 0, 226, 245, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 36, 35, 0, 0, 239, 245, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 37, 35, 0, 0, 63, 246, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 146, 35, 0, 0, 72, - 246, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 53, 35, 0, 0, 85, 246, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 54, - 35, 0, 0, 98, 246, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 55, 35, 0, 0, 111, 246, 2, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 56, 35, 0, 0, 124, 246, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 57, 35, 0, 0, 137, 246, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 81, 35, 0, 0, 150, 246, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 82, 35, 0, 0, - 163, 246, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 83, 35, 0, 0, 176, 246, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 84, 35, 0, 0, 189, 246, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 85, 35, 0, 0, 202, 246, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 86, 35, 0, 0, 215, 246, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 87, 35, 0, 0, 228, 246, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 88, 35, 0, 0, 241, 246, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 163, 33, - 0, 0, 254, 246, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 101, 35, 0, 0, 11, 247, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 102, 35, 0, 0, 24, 247, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 144, 5, 0, 0, 37, 247, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 103, 35, 0, 0, 50, 247, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 148, 5, 0, 0, 63, - 247, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 104, 35, 0, 0, 76, 247, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 105, - 35, 0, 0, 89, 247, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 106, 35, 0, 0, 102, 247, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 107, 35, 0, 0, 115, 247, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 140, 35, 0, 0, 128, 247, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 145, 35, 0, 0, 201, 247, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 80, 35, - 0, 0, 210, 247, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 58, 35, 0, 0, 223, 247, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 59, 35, 0, 0, 236, 247, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 60, 35, 0, 0, 249, 247, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 61, 35, 0, 0, 6, 248, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 62, 35, 0, 0, 19, - 248, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 66, 35, 0, 0, 35, 248, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 67, - 35, 0, 0, 51, 248, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 68, 35, 0, 0, 67, 248, 2, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 69, 35, 0, 0, 83, 248, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 35, 0, 0, 99, 248, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 71, 35, 0, 0, 115, 248, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 72, 35, 0, 0, 131, - 248, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 73, 35, 0, 0, 147, 248, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 172, - 25, 0, 0, 160, 248, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 194, 14, 0, 0, 173, 248, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 74, 35, 0, 0, 186, 248, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 35, 0, 0, 199, 248, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 76, 35, 0, 0, 212, 248, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 77, 35, 0, - 0, 225, 248, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 78, 35, 0, 0, 238, 248, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 79, 35, 0, 0, 0, 249, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 65, 35, 0, 0, 9, 249, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 63, 35, 0, 0, 15, 249, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 64, 35, 0, 0, 106, 249, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 100, 35, 0, 0, 115, 249, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 89, 35, 0, - 0, 128, 249, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 90, 35, 0, 0, 141, 249, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 91, 35, 0, 0, 154, 249, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 92, 35, 0, 0, 167, 249, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 93, 35, 0, 0, 180, 249, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 94, 35, 0, 0, 193, - 249, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 95, 35, 0, 0, 206, 249, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 96, - 35, 0, 0, 219, 249, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 97, 35, 0, 0, 232, 249, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 98, 35, 0, 0, 245, 249, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 226, 34, 0, 0, 2, 250, 2, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 99, 35, 0, 0, 161, 250, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 139, 35, 0, - 0, 170, 250, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 108, 35, 0, 0, 183, 250, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 109, 35, 0, 0, 196, 250, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 110, 35, 0, 0, 209, 250, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 111, 35, 0, 0, 222, 250, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 112, 35, 0, 0, - 235, 250, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 113, 35, 0, 0, 248, 250, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 114, 35, 0, 0, 5, 251, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 115, 35, 0, 0, 18, 251, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 116, 35, 0, 0, 31, 251, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 125, 35, 0, 0, 44, 251, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 126, 35, 0, 0, 57, 251, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 127, 35, - 0, 0, 71, 251, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 124, 35, 0, 0, 94, 251, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 124, 3, 0, 0, 107, 251, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 125, 3, 0, 0, 120, 251, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 117, 35, 0, 0, 134, 251, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 9, 0, 0, 0, 152, - 251, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 119, 35, 0, 0, 165, 251, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 20, - 3, 0, 0, 183, 251, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 118, 35, 0, 0, 195, 251, 2, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 123, 35, 0, 0, 204, 251, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 120, 35, 0, 0, 210, 251, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 121, 35, 0, 0, 216, 251, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 122, 35, - 0, 0, 223, 251, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 138, 35, 0, 0, 232, 251, 2, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 128, 35, 0, 0, 245, 251, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 130, 35, 0, 0, 2, 252, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 131, 35, 0, 0, 15, 252, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 132, 35, 0, 0, - 28, 252, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 133, 35, 0, 0, 41, 252, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 134, 35, 0, 0, 54, 252, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 135, 35, 0, 0, 67, 252, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 136, 35, 0, 0, 80, 252, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 137, 35, 0, 0, 98, 252, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 129, 35, 0, 0, 132, 252, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 144, 35, - 0, 0, 141, 252, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 172, 5, 0, 0, 154, 252, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 141, 35, 0, 0, 167, 252, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 142, 35, 0, 0, 180, 252, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 143, 35, 0, 0, 193, 252, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 115, 11, 0, 0, - 217, 252, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 159, 35, 0, 0, 226, 252, 2, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 148, 35, 0, 0, 239, 252, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 149, 35, 0, 0, 252, 252, 2, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 150, 35, 0, 0, 9, 253, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 151, 35, 0, 0, 22, - 253, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 152, 35, 0, 0, 35, 253, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 153, - 35, 0, 0, 48, 253, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 35, 0, 0, 61, 253, 2, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 155, 35, 0, 0, 74, 253, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 156, 35, 0, 0, 87, 253, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 157, 35, 0, 0, 100, 253, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 158, 35, 0, 0, - 11, 254, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 209, 35, 0, 0, 20, 254, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 161, 35, 0, 0, 33, 254, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 162, 35, 0, 0, 46, 254, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 163, 35, 0, 0, 59, 254, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 164, 35, 0, 0, 72, 254, - 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 165, 35, 0, 0, 85, 254, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 166, 35, - 0, 0, 98, 254, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 175, 35, 0, 0, 111, 254, 2, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 193, 35, 0, 0, 124, 254, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 194, 35, 0, 0, 137, 254, 2, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 195, 35, 0, 0, 150, 254, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 208, 35, 0, 0, 1, - 255, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 174, 35, 0, 0, 10, 255, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 167, - 35, 0, 0, 23, 255, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 28, 3, 0, 0, 36, 255, 2, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 168, 35, 0, 0, 49, 255, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 169, 35, 0, 0, 62, 255, 2, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 170, 35, 0, 0, 75, 255, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 171, 35, 0, 0, - 88, 255, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 172, 35, 0, 0, 101, 255, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 173, 35, 0, 0, 146, 255, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 192, 35, 0, 0, 155, 255, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 176, 35, 0, 0, 168, 255, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 177, 35, 0, 0, 181, - 255, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 178, 35, 0, 0, 194, 255, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 179, 35, 0, 0, 207, 255, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 180, 35, 0, 0, 220, 255, 2, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 181, 35, 0, 0, 233, 255, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 182, 35, 0, 0, 246, - 255, 2, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 35, 0, 0, 3, 0, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 184, - 35, 0, 0, 16, 0, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 185, 35, 0, 0, 29, 0, 3, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 186, 35, 0, 0, 42, 0, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 187, 35, 0, 0, 55, 0, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 188, 35, 0, 0, 68, 0, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 189, 35, 0, 0, 81, 0, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 190, 35, 0, 0, 94, 0, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 191, 35, 0, 0, - 160, 0, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 207, 35, 0, 0, 169, 0, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 196, 35, 0, 0, 182, 0, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 197, 35, 0, 0, 208, 0, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 206, 35, 0, 0, 217, 0, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 230, 0, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 198, 35, 0, 0, 243, 0, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 199, 35, 0, 0, - 0, 1, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 200, 35, 0, 0, 13, 1, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 201, - 35, 0, 0, 26, 1, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 202, 35, 0, 0, 39, 1, 3, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 203, 35, 0, 0, 52, 1, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 122, 3, 0, 0, 65, 1, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 48, 33, 0, 0, 78, 1, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 205, 35, 0, 0, 96, 1, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 204, 35, 0, 0, 113, 1, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 228, 35, 0, 0, - 122, 1, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 211, 35, 0, 0, 135, 1, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 212, 35, 0, 0, 148, 1, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 221, 35, 0, 0, 161, 1, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 246, 6, 0, 0, 174, 1, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 248, 6, 0, 0, 187, 1, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 222, 35, 0, 0, 200, 1, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 223, 35, 0, 0, - 213, 1, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 224, 35, 0, 0, 226, 1, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 226, 35, 0, 0, 239, 1, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 227, 35, 0, 0, 252, 1, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 183, 2, 0, 0, 77, 2, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 220, 35, 0, 0, 100, 2, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 213, 35, 0, 0, 118, 2, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 122, 3, 0, 0, - 131, 2, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 135, 21, 0, 0, 144, 2, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 214, 35, 0, 0, 157, 2, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 243, 28, 0, 0, 171, 2, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 215, 35, 0, 0, 189, 2, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 230, 25, 0, 0, 202, 2, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 216, 35, 0, 0, 215, 2, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 217, 35, 0, 0, - 228, 2, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 51, 12, 0, 0, 241, 2, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 218, 35, 0, 0, 254, 2, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 219, 35, 0, 0, 12, 3, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 241, 10, 0, 0, 146, 3, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 225, 35, 0, 0, 213, 3, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 237, 35, 0, 0, 222, 3, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 2, 0, 0, - 235, 3, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 5, 35, 0, 0, 248, 3, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, - 2, 0, 0, 5, 4, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 2, 0, 0, 18, 4, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 91, 4, 0, 0, 31, 4, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 186, 16, 0, 0, 163, 4, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 1, 36, 0, 0, 172, 4, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 185, 4, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 239, 35, 0, 0, 198, 4, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 240, 35, 0, 0, 211, - 4, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 241, 35, 0, 0, 224, 4, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 242, - 35, 0, 0, 237, 4, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 252, 35, 0, 0, 250, 4, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 174, 33, 0, 0, 7, 5, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 253, 35, 0, 0, 20, 5, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 254, 35, 0, 0, 33, 5, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 255, 35, 0, 0, 46, 5, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 36, 0, 0, 143, 5, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 251, 35, 0, - 0, 152, 5, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 77, 7, 0, 0, 165, 5, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 243, 35, 0, 0, 178, 5, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 248, 35, 0, 0, 192, 5, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 247, 35, 0, 0, 201, 5, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 77, 7, 0, 0, 214, 5, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 244, 35, 0, 0, 227, 5, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 245, 35, 0, 0, - 240, 5, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 253, 5, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 246, 35, 0, 0, 11, 6, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 250, 35, 0, 0, 20, 6, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 77, 7, 0, 0, 33, 6, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 244, 35, 0, 0, 46, 6, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 245, 35, 0, 0, 59, 6, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 72, 6, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 148, 15, 0, 0, 85, 6, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 249, 35, 0, - 0, 185, 6, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 9, 36, 0, 0, 194, 6, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 4, 36, 0, 0, 207, 6, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 5, 36, 0, 0, 220, 6, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 6, 36, 0, 0, 233, 6, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 7, 36, 0, 0, 246, 6, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 8, 36, 0, 0, 97, 7, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 12, 36, 0, 0, 106, 7, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 11, 36, 0, 0, 119, 7, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 77, 7, 0, 0, - 133, 7, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 15, 36, 0, 0, 142, 7, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 40, - 4, 0, 0, 161, 7, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 20, 36, 0, 0, 166, 7, 3, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 48, 36, 0, 0, 176, 7, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 189, 7, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 24, 36, 0, 0, 202, 7, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 66, 4, 0, 0, 215, 7, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 189, 4, 0, 0, 228, 7, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 110, 3, 0, 0, 11, - 8, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 47, 36, 0, 0, 20, 8, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 25, 36, - 0, 0, 33, 8, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, 36, 0, 0, 46, 8, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 40, 36, 0, 0, 59, 8, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 41, 36, 0, 0, 72, 8, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 42, 36, 0, 0, 85, 8, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 43, 36, 0, 0, 98, 8, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 44, 36, 0, 0, 111, 8, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 45, 36, 0, 0, 124, 8, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 46, 36, 0, 0, 143, 8, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 38, 36, 0, - 0, 152, 8, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 26, 36, 0, 0, 165, 8, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 27, 36, 0, 0, 178, 8, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 36, 36, 0, 0, 191, 8, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 37, 36, 0, 0, 215, 8, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 35, 36, 0, 0, 224, 8, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 28, 36, 0, 0, 237, 8, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 29, 36, 0, 0, - 250, 8, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 30, 36, 0, 0, 7, 9, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 31, - 36, 0, 0, 20, 9, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 32, 36, 0, 0, 33, 9, 3, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 33, 36, 0, 0, 46, 9, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 34, 36, 0, 0, 59, 9, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 158, 35, 0, 0, 85, 9, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 61, 36, 0, 0, 95, 9, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 60, 12, 0, 0, 108, 9, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 50, 36, 0, 0, - 121, 9, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 51, 36, 0, 0, 147, 9, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 60, - 36, 0, 0, 156, 9, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 52, 36, 0, 0, 169, 9, 3, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 58, 36, 0, 0, 182, 9, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 59, 36, 0, 0, 195, 9, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 37, 14, 0, 0, 208, 9, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 230, 25, 0, 0, 222, 9, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 57, 36, 0, 0, 231, 9, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 53, 36, 0, 0, - 244, 9, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 54, 36, 0, 0, 1, 10, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 55, - 36, 0, 0, 14, 10, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 56, 36, 0, 0, 32, 10, 3, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 69, 36, 0, 0, 45, 10, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 4, 14, 0, 0, 59, 10, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 80, 36, 0, 0, 68, 10, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 77, 36, 0, 0, 81, 10, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 78, 36, 0, 0, 94, 10, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 69, 10, 0, 0, - 107, 10, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 79, 36, 0, 0, 120, 10, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 183, 2, 0, 0, 133, 10, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 2, 0, 0, 146, 10, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 123, 4, 0, 0, 159, 10, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 54, 12, 0, 0, 199, 10, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 96, 36, 0, 0, 208, 10, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 126, 4, 0, 0, - 221, 10, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 2, 0, 0, 234, 10, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 94, 36, 0, 0, 247, 10, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 95, 36, 0, 0, 10, 11, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 93, 36, 0, 0, 19, 11, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 3, 0, 0, 32, 11, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 13, 3, 0, 0, 45, 11, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 91, 36, 0, 0, 58, 11, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 89, 36, 0, 0, 72, 11, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 90, 36, 0, - 0, 81, 11, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 2, 0, 0, 94, 11, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 89, 36, 0, 0, 113, 11, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 92, 36, 0, 0, 122, 11, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 39, 4, 0, 0, 135, 11, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 13, 3, 0, 0, 88, 13, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 129, 36, 0, 0, 97, 13, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 125, 36, 0, 0, 110, - 13, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 123, 3, 0, 0, 123, 13, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 12, 9, - 0, 0, 136, 13, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 90, 33, 0, 0, 149, 13, 3, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 126, 36, 0, 0, 162, 13, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 127, 36, 0, 0, 175, 13, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 122, 3, 0, 0, 188, 13, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 153, 2, 0, 0, 201, - 13, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 126, 3, 0, 0, 214, 13, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 124, - 3, 0, 0, 227, 13, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 125, 3, 0, 0, 240, 13, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 187, 3, 0, 0, 253, 13, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 55, 33, 0, 0, 10, 14, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 56, 33, 0, 0, 23, 14, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 14, 23, 0, 0, 36, - 14, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 128, 36, 0, 0, 49, 14, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 48, - 33, 0, 0, 62, 14, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 143, 16, 0, 0, 138, 14, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 143, 36, 0, 0, 147, 14, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 132, 36, 0, 0, 160, 14, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 133, 36, 0, 0, 173, 14, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 134, 36, 0, 0, - 186, 14, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 135, 36, 0, 0, 205, 14, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 142, 36, 0, 0, 214, 14, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 136, 36, 0, 0, 227, 14, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 137, 36, 0, 0, 240, 14, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 138, 36, 0, 0, 253, 14, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 139, 36, 0, 0, 10, 15, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 140, 36, - 0, 0, 23, 15, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 141, 36, 0, 0, 178, 15, 3, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 156, 36, 0, 0, 187, 15, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 200, 15, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 149, 36, 0, 0, 213, 15, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 150, 36, 0, 0, 226, - 15, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 151, 36, 0, 0, 239, 15, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 152, - 36, 0, 0, 252, 15, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 153, 36, 0, 0, 9, 16, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 154, 36, 0, 0, 25, 16, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 155, 36, 0, 0, 68, 16, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 202, 36, 0, 0, 77, 16, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 198, 36, 0, 0, 90, - 16, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 199, 36, 0, 0, 103, 16, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 200, - 36, 0, 0, 116, 16, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 201, 36, 0, 0, 135, 16, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 73, 37, 0, 0, 144, 16, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 213, 36, 0, 0, 157, 16, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 46, 37, 0, 0, 170, 16, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 47, 37, 0, 0, 183, - 16, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 48, 37, 0, 0, 196, 16, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 57, - 37, 0, 0, 209, 16, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 58, 37, 0, 0, 222, 16, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 59, 37, 0, 0, 235, 16, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 60, 37, 0, 0, 248, 16, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 68, 37, 0, 0, 5, 17, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 69, 37, 0, 0, 18, 17, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 37, 0, 0, 31, 17, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 71, 37, 0, - 0, 44, 17, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 72, 37, 0, 0, 58, 17, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 45, 37, 0, 0, 67, 17, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 214, 36, 0, 0, 80, 17, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 41, 37, 0, 0, 99, 17, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 40, 37, 0, 0, 108, 17, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 215, 36, 0, 0, 121, 17, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 200, 7, 0, 0, - 135, 17, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, 37, 0, 0, 144, 17, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 216, 36, 0, 0, 157, 17, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 126, 4, 0, 0, 170, 17, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 181, 12, 0, 0, 183, 17, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 217, 36, 0, 0, 196, 17, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 38, 37, 0, 0, 232, 17, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 37, 37, 0, 0, - 242, 17, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 218, 36, 0, 0, 255, 17, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 219, 36, 0, 0, 12, 18, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 220, 36, 0, 0, 25, 18, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 221, 36, 0, 0, 38, 18, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 222, 36, 0, 0, 51, 18, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 223, 36, 0, 0, 64, 18, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 224, 36, 0, 0, - 77, 18, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 225, 36, 0, 0, 90, 18, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 226, 36, 0, 0, 103, 18, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 227, 36, 0, 0, 116, 18, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 228, 36, 0, 0, 130, 18, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 249, 36, 0, 0, 149, 18, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 250, 36, 0, 0, 162, 18, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 1, 37, 0, - 0, 176, 18, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 5, 37, 0, 0, 190, 18, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 6, 37, 0, 0, 204, 18, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 7, 37, 0, 0, 218, 18, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 8, 37, 0, 0, 232, 18, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 208, 9, 0, 0, 251, 18, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 166, 18, 0, 0, 8, 19, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 15, 37, 0, 0, 21, - 19, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 250, 36, 0, 0, 34, 19, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 1, 37, - 0, 0, 47, 19, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 60, 3, 0, 0, 60, 19, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 98, 22, 0, 0, 73, 19, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 32, 37, 0, 0, 98, 19, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 248, 36, 0, 0, 107, 19, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 229, 36, 0, 0, 120, 19, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 230, 36, 0, 0, 133, 19, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 238, 2, 0, - 0, 146, 19, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 231, 36, 0, 0, 159, 19, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 176, 3, 0, 0, 172, 19, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 95, 21, 0, 0, 185, 19, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 111, 3, 0, 0, 198, 19, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 9, 0, 0, 0, 211, 19, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 245, 36, 0, 0, 224, 19, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 246, 36, 0, - 0, 237, 19, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 247, 36, 0, 0, 134, 20, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 244, 36, 0, 0, 144, 20, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 232, 36, 0, 0, 157, 20, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 233, 36, 0, 0, 186, 20, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 2, 0, 0, 199, - 20, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 239, 36, 0, 0, 213, 20, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 243, - 36, 0, 0, 233, 20, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 238, 36, 0, 0, 242, 20, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 160, 2, 0, 0, 255, 20, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 234, 36, 0, 0, 12, 21, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 2, 4, 0, 0, 25, 21, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 81, 31, 0, 0, 38, 21, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 2, 0, 0, 83, 21, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 237, 36, 0, - 0, 92, 21, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 235, 36, 0, 0, 105, 21, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 236, 36, 0, 0, 124, 21, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 242, 36, 0, 0, 133, 21, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 160, 2, 0, 0, 146, 21, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 232, 36, 0, 0, 173, - 21, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 240, 36, 0, 0, 186, 21, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 157, - 2, 0, 0, 200, 21, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 241, 36, 0, 0, 213, 21, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 60, 8, 0, 0, 226, 21, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 153, 7, 0, 0, 239, 21, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 151, 13, 0, 0, 253, 21, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 37, 0, 0, 6, - 22, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 251, 36, 0, 0, 19, 22, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 252, - 36, 0, 0, 32, 22, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 253, 36, 0, 0, 45, 22, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 254, 36, 0, 0, 58, 22, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 255, 36, 0, 0, 130, 22, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 4, 37, 0, 0, 139, 22, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 2, 37, 0, 0, 152, - 22, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 3, 37, 0, 0, 214, 22, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 14, 37, - 0, 0, 223, 22, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 9, 37, 0, 0, 236, 22, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 10, 37, 0, 0, 249, 22, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 11, 37, 0, 0, 6, 23, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 12, 37, 0, 0, 19, 23, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 13, 37, 0, 0, 33, 23, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 18, 37, 0, 0, 42, 23, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 9, 37, 0, 0, 55, - 23, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 10, 37, 0, 0, 68, 23, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 11, 37, - 0, 0, 81, 23, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 12, 37, 0, 0, 94, 23, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 16, 37, 0, 0, 107, 23, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 17, 37, 0, 0, 120, 23, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 13, 37, 0, 0, 134, 23, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 19, 37, 0, 0, 143, 23, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 9, 37, 0, 0, 156, 23, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 10, 37, 0, 0, - 169, 23, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 11, 37, 0, 0, 182, 23, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 12, 37, 0, 0, 195, 23, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 13, 37, 0, 0, 209, 23, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 24, 37, 0, 0, 218, 23, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 20, 37, 0, 0, 231, 23, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 21, 37, 0, 0, 244, 23, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 22, 37, 0, 0, 1, - 24, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 23, 37, 0, 0, 14, 24, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 13, 37, - 0, 0, 28, 24, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 27, 37, 0, 0, 37, 24, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 25, 37, 0, 0, 50, 24, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 26, 37, 0, 0, 63, 24, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 13, 37, 0, 0, 77, 24, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 31, 37, 0, 0, 86, 24, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 28, 37, 0, 0, 99, 24, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 29, 37, 0, 0, - 112, 24, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 30, 37, 0, 0, 125, 24, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 13, 37, 0, 0, 139, 24, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 36, 37, 0, 0, 148, 24, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 33, 37, 0, 0, 161, 24, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 34, 37, 0, 0, 174, 24, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 35, 37, 0, 0, 187, 24, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 13, 37, 0, 0, - 206, 24, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 44, 37, 0, 0, 215, 24, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 200, 7, 0, 0, 228, 24, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 42, 37, 0, 0, 241, 24, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 43, 37, 0, 0, 16, 25, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 56, 37, 0, 0, 25, 25, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 49, 37, 0, 0, 38, 25, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 50, 37, 0, 0, 51, - 25, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 51, 37, 0, 0, 64, 25, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 52, 37, - 0, 0, 77, 25, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 53, 37, 0, 0, 90, 25, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 54, 37, 0, 0, 103, 25, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 55, 37, 0, 0, 122, 25, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 67, 37, 0, 0, 131, 25, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 61, 37, 0, 0, 144, 25, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 62, 37, 0, 0, 157, 25, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 63, 37, 0, 0, - 170, 25, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 64, 37, 0, 0, 183, 25, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 65, 37, 0, 0, 196, 25, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 66, 37, 0, 0, 225, 25, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 103, 37, 0, 0, 235, 25, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 37, 0, 0, 248, 25, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 101, 37, 0, 0, 5, 26, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 102, 37, 0, 0, - 18, 26, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 194, 14, 0, 0, 32, 26, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 100, 37, 0, 0, 41, 26, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 76, 37, 0, 0, 54, 26, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 92, 37, 0, 0, 67, 26, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 88, 37, 0, 0, 80, 26, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 89, 37, 0, 0, 93, 26, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 93, 37, 0, 0, - 106, 26, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 94, 37, 0, 0, 119, 26, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 95, 37, 0, 0, 132, 26, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 96, 37, 0, 0, 145, 26, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 97, 37, 0, 0, 158, 26, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 98, 37, 0, 0, 171, 26, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 99, 37, 0, 0, 190, 26, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 91, 37, 0, 0, - 199, 26, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 214, 36, 0, 0, 212, 26, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 154, 2, 0, 0, 225, 26, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 88, 37, 0, 0, 238, 26, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 89, 37, 0, 0, 251, 26, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 90, 37, 0, 0, 14, 27, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 87, 37, 0, 0, 23, 27, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 238, 2, 0, 0, 36, - 27, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 159, 4, 0, 0, 49, 27, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 81, 37, - 0, 0, 62, 27, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 82, 37, 0, 0, 75, 27, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 83, 37, 0, 0, 88, 27, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 84, 37, 0, 0, 101, 27, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 85, 37, 0, 0, 114, 27, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 86, 37, 0, 0, 127, 27, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 215, 36, 0, 0, 140, 27, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 200, 7, 0, - 0, 175, 27, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 80, 37, 0, 0, 184, 27, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 200, 7, 0, 0, 197, 27, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 79, 37, 0, 0, 210, 27, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 248, 4, 0, 0, 223, 27, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 178, 15, 0, 0, 236, 27, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 159, 5, 0, 0, 249, 27, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 243, 36, - 0, 0, 7, 28, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 78, 37, 0, 0, 16, 28, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 160, 2, 0, 0, 29, 28, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 144, 6, 0, 0, 42, 28, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 154, 4, 0, 0, 55, 28, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 214, 36, 0, 0, 68, 28, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 86, 28, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 77, 37, 0, 0, - 194, 28, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 165, 37, 0, 0, 203, 28, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 114, 37, 0, 0, 216, 28, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 115, 37, 0, 0, 229, 28, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 116, 37, 0, 0, 242, 28, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 117, 37, 0, 0, 255, 28, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 118, 37, 0, 0, 12, 29, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 119, 37, - 0, 0, 25, 29, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 125, 37, 0, 0, 38, 29, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 126, 37, 0, 0, 51, 29, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 127, 37, 0, 0, 64, 29, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 128, 37, 0, 0, 77, 29, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 129, 37, 0, 0, 90, 29, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 130, 37, 0, 0, 103, 29, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 131, 37, 0, - 0, 116, 29, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 132, 37, 0, 0, 129, 29, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 133, 37, 0, 0, 142, 29, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 135, 37, 0, 0, 155, 29, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 136, 37, 0, 0, 168, 29, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 137, 37, 0, 0, 181, - 29, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 138, 37, 0, 0, 194, 29, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 139, - 37, 0, 0, 207, 29, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 140, 37, 0, 0, 220, 29, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 164, 37, 0, 0, 105, 30, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 124, 37, 0, 0, 114, 30, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 144, 3, 0, 0, 127, 30, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 14, 3, 0, 0, - 140, 30, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 120, 37, 0, 0, 153, 30, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 121, 37, 0, 0, 166, 30, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 122, 37, 0, 0, 179, 30, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 123, 37, 0, 0, 166, 31, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 134, 37, 0, 0, 18, 32, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 163, 37, 0, 0, 28, 32, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 63, 9, 0, - 0, 41, 32, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 54, 32, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 2, 5, 0, 0, 67, 32, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 2, 0, 0, 80, 32, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 9, 0, 0, 0, 93, 32, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 121, 11, 0, 0, 106, 32, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 141, 37, 0, 0, 119, 32, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 142, 37, 0, 0, 132, - 32, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 144, 37, 0, 0, 145, 32, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 146, - 37, 0, 0, 158, 32, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 147, 37, 0, 0, 171, 32, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 191, 6, 0, 0, 184, 32, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 148, 37, 0, 0, 197, 32, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 149, 37, 0, 0, 210, 32, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 150, 37, 0, 0, - 223, 32, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 151, 37, 0, 0, 236, 32, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 152, 37, 0, 0, 249, 32, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 153, 37, 0, 0, 6, 33, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 154, 37, 0, 0, 19, 33, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 155, 37, 0, 0, 32, 33, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 156, 37, 0, 0, 45, 33, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 24, 30, 0, 0, - 58, 33, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 157, 37, 0, 0, 71, 33, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 158, 37, 0, 0, 84, 33, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 3, 0, 0, 97, 33, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 159, 37, 0, 0, 110, 33, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 37, 0, 0, 123, 33, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 161, 37, 0, 0, 137, 33, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 162, 37, 0, - 0, 157, 33, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 143, 37, 0, 0, 166, 33, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 70, 3, 0, 0, 179, 33, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 4, 0, 0, 195, 33, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 183, 2, 0, 0, 212, 33, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 145, 37, 0, 0, 221, 33, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 56, 4, 0, 0, 234, 33, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 77, 3, 0, - 0, 253, 33, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 152, 37, 0, 0, 6, 34, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 171, 4, 0, 0, 19, 34, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 157, 2, 0, 0, 62, 34, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 194, 37, 0, 0, 72, 34, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 7, 4, 0, 0, 85, 34, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 176, 37, 0, 0, 98, 34, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 233, 2, 0, 0, 111, - 34, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 177, 37, 0, 0, 124, 34, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 178, - 37, 0, 0, 137, 34, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 179, 37, 0, 0, 150, 34, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 180, 37, 0, 0, 163, 34, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 181, 37, 0, 0, 176, 34, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 182, 37, 0, 0, 189, 34, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 59, 8, 0, 0, - 202, 34, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 184, 37, 0, 0, 216, 34, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 191, 37, 0, 0, 230, 34, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 192, 37, 0, 0, 244, 34, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 193, 37, 0, 0, 3, 35, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 175, 37, 0, 0, 12, 35, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 25, 35, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 100, 26, 0, 0, - 38, 35, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 172, 37, 0, 0, 51, 35, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 141, 35, 0, 0, 64, 35, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 153, 2, 0, 0, 77, 35, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 173, 37, 0, 0, 90, 35, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 174, 37, 0, 0, 103, 35, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 88, 4, 0, 0, 117, 35, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 37, 0, 0, - 127, 35, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 5, 3, 0, 0, 140, 35, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 81, - 7, 0, 0, 166, 35, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 190, 37, 0, 0, 175, 35, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 185, 37, 0, 0, 188, 35, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 186, 37, 0, 0, 201, 35, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 187, 37, 0, 0, 214, 35, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 188, 37, 0, 0, - 227, 35, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 189, 37, 0, 0, 240, 35, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 187, 3, 0, 0, 253, 35, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 69, 10, 0, 0, 10, 36, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 44, 4, 0, 0, 29, 36, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 232, 37, 0, 0, 38, 36, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 217, 37, 0, 0, 51, 36, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 30, 10, 0, 0, - 64, 36, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 221, 37, 0, 0, 77, 36, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 51, 6, 0, 0, 90, 36, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 9, 0, 0, 0, 103, 36, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 183, 2, 0, 0, 116, 36, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 110, 3, 0, 0, 129, 36, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 155, 3, 0, 0, 142, 36, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 230, 37, 0, 0, 169, - 36, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 237, 10, 0, 0, 182, 36, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 231, - 37, 0, 0, 197, 36, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 220, 37, 0, 0, 206, 36, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 116, 9, 0, 0, 219, 36, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 218, 37, 0, 0, 232, 36, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 219, 37, 0, 0, 245, 36, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 111, 3, 0, 0, 2, - 37, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 145, 14, 0, 0, 15, 37, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 59, 8, - 0, 0, 38, 37, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 226, 37, 0, 0, 47, 37, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 222, 37, 0, 0, 53, 37, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 223, 37, 0, 0, 59, 37, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 224, 37, 0, 0, 65, 37, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 225, 37, 0, 0, 82, 37, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 229, 37, 0, 0, 91, 37, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 227, 37, 0, - 0, 104, 37, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 14, 0, 0, 117, 37, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 73, 22, 0, 0, 130, 37, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 228, 37, 0, 0, 156, 37, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 237, 10, 0, 0, 165, 37, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 174, 4, 0, 0, 178, 37, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 228, 6, 0, 0, 88, 38, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 53, 38, 0, - 0, 98, 38, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 198, 2, 0, 0, 111, 38, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 2, 38, 0, 0, 124, 38, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 3, 38, 0, 0, 137, 38, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 4, 38, 0, 0, 150, 38, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 5, 38, 0, 0, 163, 38, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 6, 38, 0, 0, 176, 38, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 130, 12, 0, 0, - 189, 38, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 18, 38, 0, 0, 202, 38, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 40, 38, 0, 0, 216, 38, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 41, 38, 0, 0, 230, 38, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 42, 38, 0, 0, 244, 38, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 173, 2, 0, 0, 2, 39, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 202, 4, 0, 0, 16, 39, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 43, 38, 0, 0, 30, - 39, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 118, 3, 0, 0, 44, 39, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 44, 38, - 0, 0, 58, 39, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 45, 38, 0, 0, 72, 39, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 46, 38, 0, 0, 86, 39, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 47, 38, 0, 0, 100, 39, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 1, 38, 0, 0, 114, 39, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 48, 38, 0, 0, 128, 39, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 49, 38, 0, 0, 142, 39, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 50, 38, 0, 0, - 156, 39, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 43, 6, 0, 0, 170, 39, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 52, 38, 0, 0, 190, 39, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 12, 38, 0, 0, 200, 39, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 7, 38, 0, 0, 213, 39, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 4, 0, 0, 227, 39, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 10, 38, 0, 0, 241, 39, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 3, 38, 0, 0, - 255, 39, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 4, 38, 0, 0, 13, 40, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 183, 2, 0, 0, 27, 40, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 11, 38, 0, 0, 41, 40, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 2, 38, 0, 0, 55, 40, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 198, 2, 0, 0, 69, 40, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 160, 2, 0, 0, 84, 40, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 9, 38, 0, 0, 94, 40, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 174, 4, 0, 0, 107, 40, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 45, 5, 0, - 0, 120, 40, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 228, 6, 0, 0, 133, 40, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 187, 3, 0, 0, 146, 40, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 8, 38, 0, 0, 159, 40, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 143, 27, 0, 0, 172, 40, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 4, 0, 0, 198, 40, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 17, 38, 0, 0, 207, 40, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 13, 38, 0, - 0, 220, 40, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 14, 38, 0, 0, 233, 40, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 15, 38, 0, 0, 246, 40, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 16, 38, 0, 0, 4, 41, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 39, 38, 0, 0, 13, 41, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 198, 2, 0, 0, 26, 41, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 142, 22, 0, 0, 42, 41, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 82, 27, 0, 0, - 58, 41, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 19, 38, 0, 0, 74, 41, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 20, - 38, 0, 0, 90, 41, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 21, 38, 0, 0, 106, 41, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 22, 38, 0, 0, 119, 41, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 23, 38, 0, 0, 132, 41, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 24, 38, 0, 0, 145, 41, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 25, 38, 0, 0, 158, - 41, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 43, 6, 0, 0, 171, 41, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 208, 9, - 0, 0, 184, 41, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 71, 25, 0, 0, 203, 41, 3, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 32, 38, 0, 0, 212, 41, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 26, 38, 0, 0, 225, 41, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 199, 18, 0, 0, 238, 41, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 27, 38, 0, 0, 251, - 41, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 28, 38, 0, 0, 8, 42, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 29, 38, - 0, 0, 21, 42, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 30, 38, 0, 0, 34, 42, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 31, 38, 0, 0, 48, 42, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 38, 38, 0, 0, 57, 42, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 33, 38, 0, 0, 70, 42, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 34, 38, 0, 0, 83, 42, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 35, 38, 0, 0, 96, 42, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 36, 38, 0, 0, - 109, 42, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 3, 0, 0, 122, 42, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 37, 38, 0, 0, 229, 42, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 51, 38, 0, 0, 238, 42, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 11, 38, 0, 0, 251, 42, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 62, 3, 0, 0, 8, 43, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 217, 9, 0, 0, 84, 43, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 95, 38, 0, 0, 93, - 43, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 16, 0, 0, 106, 43, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 38, - 0, 0, 119, 43, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 69, 38, 0, 0, 132, 43, 3, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 74, 38, 0, 0, 145, 43, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 38, 0, 0, 158, 43, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 92, 38, 0, 0, 171, 43, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 93, 38, 0, 0, 184, 43, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 28, 17, 0, 0, 197, 43, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 94, 38, 0, - 0, 237, 43, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 91, 38, 0, 0, 246, 43, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 76, 38, 0, 0, 3, 44, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 77, 38, 0, 0, 16, 44, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 78, 38, 0, 0, 29, 44, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 79, 38, 0, 0, 42, 44, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 80, 38, 0, 0, 58, 44, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 81, 38, 0, 0, 74, - 44, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 82, 38, 0, 0, 87, 44, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 83, 38, - 0, 0, 100, 44, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 84, 38, 0, 0, 113, 44, 3, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 198, 2, 0, 0, 126, 44, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 85, 38, 0, 0, 139, 44, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 89, 38, 0, 0, 152, 44, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 90, 38, 0, 0, 181, 44, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 85, 38, 0, 0, 190, 44, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 86, 38, 0, - 0, 203, 44, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 87, 38, 0, 0, 216, 44, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 88, 38, 0, 0, 229, 44, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 4, 0, 0, 65, 45, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 102, 38, 0, 0, 74, 45, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 97, 38, 0, 0, 87, 45, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 98, 38, 0, 0, 100, 45, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 99, 38, 0, 0, - 113, 45, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 100, 38, 0, 0, 126, 45, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 101, 38, 0, 0, 171, 45, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 104, 38, 0, 0, 180, 45, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 60, 3, 0, 0, 193, 45, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 106, 38, 0, 0, 206, 45, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 60, 8, 0, 0, 219, 45, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 222, 10, 0, 0, - 238, 45, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 105, 38, 0, 0, 247, 45, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 56, 4, 0, 0, 4, 46, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 5, 3, 0, 0, 17, 46, 3, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 70, 3, 0, 0, 36, 46, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 108, 38, 0, 0, 48, 46, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 70, 3, 0, 0, 63, 46, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 78, 16, 0, 0, 97, 46, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 110, 38, 0, 0, 123, 46, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 136, 38, 0, 0, - 136, 46, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 134, 38, 0, 0, 149, 46, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 135, 38, 0, 0, 162, 46, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 45, 6, 0, 0, 181, 46, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 148, 38, 0, 0, 190, 46, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 118, 3, 0, 0, 203, 46, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, 4, 0, 0, 216, 46, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 192, 9, 0, 0, - 252, 46, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 172, 38, 0, 0, 6, 47, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 152, 38, 0, 0, 19, 47, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 109, 18, 0, 0, 32, 47, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 153, 38, 0, 0, 45, 47, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 3, 0, 0, 58, 47, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 118, 3, 0, 0, 71, 47, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 187, 28, 0, 0, - 84, 47, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 44, 6, 0, 0, 97, 47, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 129, - 18, 0, 0, 110, 47, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 21, 7, 0, 0, 123, 47, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 171, 4, 0, 0, 136, 47, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 127, 18, 0, 0, 149, 47, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 39, 17, 0, 0, 162, 47, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 36, 10, 0, 0, 175, - 47, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 147, 18, 0, 0, 188, 47, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 198, - 18, 0, 0, 201, 47, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 38, 0, 0, 215, 47, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 156, 38, 0, 0, 229, 47, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 38, 0, 0, 243, 47, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 9, 0, 0, 0, 1, 48, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 220, 8, 0, 0, 15, - 48, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 29, 48, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 161, - 38, 0, 0, 43, 48, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 16, 0, 0, 57, 48, 3, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 133, 4, 0, 0, 71, 48, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 162, 38, 0, 0, 85, 48, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 171, 38, 0, 0, 99, 48, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, 4, 0, 0, 114, 48, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 155, 38, 0, 0, 123, 48, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 131, 18, - 0, 0, 136, 48, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 153, 7, 0, 0, 150, 48, 3, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 159, 38, 0, 0, 159, 48, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 157, 38, 0, 0, 172, 48, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 158, 38, 0, 0, 185, 48, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 227, 13, 0, 0, - 211, 48, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 170, 38, 0, 0, 220, 48, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 123, 4, 0, 0, 233, 48, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 76, 17, 0, 0, 246, 48, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 163, 38, 0, 0, 3, 49, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 138, 18, 0, 0, 16, 49, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 123, 3, 0, 0, 29, 49, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 164, 38, 0, 0, - 42, 49, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 165, 38, 0, 0, 55, 49, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 166, 38, 0, 0, 68, 49, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 167, 38, 0, 0, 81, 49, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 168, 38, 0, 0, 94, 49, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 169, 38, 0, 0, 108, 49, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 241, 38, 0, 0, 117, 49, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 115, 5, 0, - 0, 130, 49, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 239, 38, 0, 0, 143, 49, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 240, 38, 0, 0, 188, 49, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 3, 39, 0, 0, 197, 49, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 39, 4, 0, 0, 210, 49, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 251, 38, 0, 0, 223, 49, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 252, 38, 0, 0, 236, 49, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 253, 38, 0, - 0, 249, 49, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 254, 38, 0, 0, 6, 50, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 255, 38, 0, 0, 19, 50, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 39, 0, 0, 35, 50, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 1, 39, 0, 0, 51, 50, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 192, 9, 0, 0, 64, 50, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 2, 39, 0, 0, 94, 50, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 60, 39, 0, 0, 106, - 50, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 78, 39, 0, 0, 119, 50, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 82, - 39, 0, 0, 128, 50, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 118, 3, 0, 0, 141, 50, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 88, 4, 0, 0, 154, 50, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 81, 39, 0, 0, 167, 50, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 154, 4, 0, 0, 58, 51, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 143, 39, 0, 0, 67, - 51, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 91, 39, 0, 0, 85, 51, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 92, 39, - 0, 0, 99, 51, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 93, 39, 0, 0, 117, 51, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 94, 39, 0, 0, 130, 51, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 95, 39, 0, 0, 143, 51, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 96, 39, 0, 0, 156, 51, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 97, 39, 0, 0, 169, 51, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 98, 39, 0, 0, 182, 51, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 99, 39, 0, 0, - 195, 51, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 100, 39, 0, 0, 208, 51, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 101, 39, 0, 0, 221, 51, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 102, 39, 0, 0, 234, 51, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 105, 39, 0, 0, 247, 51, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 106, 39, 0, 0, 4, 52, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 107, 39, 0, 0, 17, 52, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 108, 39, 0, - 0, 32, 52, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 104, 39, 0, 0, 41, 52, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 171, 2, 0, 0, 54, 52, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 169, 2, 0, 0, 67, 52, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 172, 2, 0, 0, 80, 52, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 176, 7, 0, 0, 93, 52, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 103, 39, 0, 0, 106, 52, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 3, 7, 0, 0, - 120, 52, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 142, 39, 0, 0, 129, 52, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 9, 0, 0, 0, 142, 52, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 187, 3, 0, 0, 155, 52, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 109, 39, 0, 0, 173, 52, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 110, 39, 0, 0, 186, 52, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 112, 39, 0, 0, 199, 52, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 114, 39, 0, - 0, 212, 52, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 123, 39, 0, 0, 225, 52, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 126, 39, 0, 0, 238, 52, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 128, 39, 0, 0, 251, 52, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 40, 8, 0, 0, 8, 53, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 139, 39, 0, 0, 32, 53, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 111, 39, 0, 0, 45, 53, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 187, 4, 0, 0, - 58, 53, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 103, 22, 0, 0, 81, 53, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 113, 39, 0, 0, 94, 53, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 103, 4, 0, 0, 107, 53, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 227, 13, 0, 0, 130, 53, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 122, 39, 0, 0, 143, 53, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 115, 39, 0, 0, 156, 53, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 116, 39, 0, - 0, 169, 53, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 117, 39, 0, 0, 182, 53, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 118, 39, 0, 0, 195, 53, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 119, 39, 0, 0, 208, 53, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 120, 39, 0, 0, 221, 53, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 121, 39, 0, 0, 244, - 53, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 125, 39, 0, 0, 1, 54, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 124, - 39, 0, 0, 24, 54, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 127, 39, 0, 0, 37, 54, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 124, 39, 0, 0, 50, 54, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 60, 21, 0, 0, 73, 54, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 134, 39, 0, 0, 86, 54, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 121, 39, 0, 0, 99, - 54, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 129, 39, 0, 0, 112, 54, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 130, - 39, 0, 0, 125, 54, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 131, 39, 0, 0, 138, 54, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 132, 39, 0, 0, 151, 54, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 133, 39, 0, 0, 174, 54, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 138, 39, 0, 0, 187, 54, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 135, 39, 0, 0, - 200, 54, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 136, 39, 0, 0, 213, 54, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 137, 39, 0, 0, 236, 54, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 141, 39, 0, 0, 249, 54, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 135, 39, 0, 0, 6, 55, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 136, 39, 0, 0, 19, 55, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 137, 39, 0, 0, 32, 55, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 140, 39, 0, - 0, 210, 55, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 177, 39, 0, 0, 219, 55, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 153, 39, 0, 0, 232, 55, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 39, 0, 0, 245, 55, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 155, 39, 0, 0, 2, 56, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 156, 39, 0, 0, 15, 56, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 157, 39, 0, 0, 28, 56, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 158, 39, - 0, 0, 41, 56, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 159, 39, 0, 0, 54, 56, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 160, 39, 0, 0, 67, 56, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 161, 39, 0, 0, 80, 56, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 162, 39, 0, 0, 93, 56, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 163, 39, 0, 0, 106, 56, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 164, 39, 0, 0, 119, 56, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 165, 39, - 0, 0, 132, 56, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 166, 39, 0, 0, 145, 56, 3, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 167, 39, 0, 0, 158, 56, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 168, 39, 0, 0, 171, 56, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 169, 39, 0, 0, 184, 56, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 170, 39, 0, 0, - 197, 56, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 171, 39, 0, 0, 210, 56, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 172, 39, 0, 0, 223, 56, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 173, 39, 0, 0, 236, 56, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 174, 39, 0, 0, 249, 56, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 175, 39, 0, 0, 6, 57, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 176, 39, 0, 0, 88, 57, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 181, 39, 0, - 0, 97, 57, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 153, 39, 0, 0, 110, 57, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 154, 39, 0, 0, 123, 57, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 155, 39, 0, 0, 136, 57, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 156, 39, 0, 0, 149, 57, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 157, 39, 0, 0, 162, - 57, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 158, 39, 0, 0, 175, 57, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 159, - 39, 0, 0, 188, 57, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 39, 0, 0, 201, 57, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 161, 39, 0, 0, 214, 57, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 162, 39, 0, 0, 227, 57, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 163, 39, 0, 0, 240, 57, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 164, 39, 0, 0, - 253, 57, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 165, 39, 0, 0, 10, 58, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 166, 39, 0, 0, 23, 58, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 167, 39, 0, 0, 36, 58, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 168, 39, 0, 0, 49, 58, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 169, 39, 0, 0, 62, 58, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 170, 39, 0, 0, 75, 58, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 171, 39, 0, 0, - 88, 58, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 172, 39, 0, 0, 101, 58, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 173, 39, 0, 0, 114, 58, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 174, 39, 0, 0, 127, 58, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 175, 39, 0, 0, 193, 58, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 196, 39, 0, 0, 204, 58, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 118, 3, 0, 0, 219, 58, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 186, 39, - 0, 0, 234, 58, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 187, 39, 0, 0, 249, 58, 3, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 188, 39, 0, 0, 8, 59, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 189, 39, 0, 0, 23, 59, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 39, 4, 0, 0, 44, 59, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 189, 39, 0, 0, 55, 59, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 153, 2, 0, 0, 70, 59, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 125, 6, 0, - 0, 85, 59, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 2, 0, 0, 100, 59, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 190, 39, 0, 0, 115, 59, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 192, 39, 0, 0, 130, 59, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 101, 18, 0, 0, 145, 59, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 193, 39, 0, 0, 160, 59, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 194, 39, 0, 0, 175, 59, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 195, 39, - 0, 0, 191, 59, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 191, 39, 0, 0, 202, 59, 3, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 131, 18, 0, 0, 217, 59, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 42, 21, 0, 0, 232, 59, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 89, 17, 0, 0, 247, 59, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 250, 20, 0, 0, 6, 60, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 115, 18, 0, 0, 184, 60, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 213, 39, - 0, 0, 193, 60, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 204, 39, 0, 0, 206, 60, 3, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 205, 39, 0, 0, 219, 60, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 206, 39, 0, 0, 232, 60, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 7, 8, 0, 0, 245, 60, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 207, 39, 0, 0, 2, 61, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 208, 39, 0, 0, 15, 61, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 209, 39, - 0, 0, 28, 61, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 210, 39, 0, 0, 41, 61, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 211, 39, 0, 0, 54, 61, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 212, 39, 0, 0, 67, 61, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 64, 39, 0, 0, 150, 61, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 217, 39, 0, 0, 159, 61, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 153, 39, 0, 0, 172, 61, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 39, - 0, 0, 185, 61, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 155, 39, 0, 0, 198, 61, 3, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 156, 39, 0, 0, 211, 61, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 216, 39, 0, 0, 224, 61, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 161, 39, 0, 0, 237, 61, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 159, 39, 0, 0, - 250, 61, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 39, 0, 0, 96, 62, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 222, 39, 0, 0, 105, 62, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 204, 39, 0, 0, 118, 62, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 221, 39, 0, 0, 11, 63, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 239, 39, 0, 0, 21, 63, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 232, 39, 0, 0, 34, 63, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 233, 39, 0, - 0, 47, 63, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 234, 39, 0, 0, 60, 63, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 235, 39, 0, 0, 73, 63, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 236, 39, 0, 0, 87, 63, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 237, 39, 0, 0, 101, 63, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 8, 10, 0, 0, 115, 63, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 238, 39, 0, 0, 156, 64, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 2, 40, 0, 0, - 165, 64, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 251, 39, 0, 0, 178, 64, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 252, 39, 0, 0, 191, 64, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 253, 39, 0, 0, 204, 64, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 254, 39, 0, 0, 217, 64, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 255, 39, 0, 0, 230, 64, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 40, 0, 0, 243, 64, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 1, 40, 0, - 0, 78, 65, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 18, 40, 0, 0, 87, 65, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 11, 38, 0, 0, 100, 65, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 5, 40, 0, 0, 113, 65, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 12, 40, 0, 0, 126, 65, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 51, 6, 0, 0, 139, 65, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 154, 4, 0, 0, 152, 65, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 2, 4, 0, 0, 165, - 65, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 13, 40, 0, 0, 178, 65, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 16, - 0, 0, 191, 65, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 14, 40, 0, 0, 204, 65, 3, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 15, 40, 0, 0, 217, 65, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 16, 40, 0, 0, 230, 65, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 33, 6, 0, 0, 243, 65, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 17, 40, 0, 0, 14, 66, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, 15, 0, 0, 27, 66, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 253, 6, 0, - 0, 52, 66, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 11, 40, 0, 0, 61, 66, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 6, 40, 0, 0, 74, 66, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 7, 40, 0, 0, 87, 66, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 8, 40, 0, 0, 100, 66, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 9, 40, 0, 0, 113, 66, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 10, 40, 0, 0, 121, 67, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 26, 40, 0, 0, 130, 67, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 123, 4, 0, 0, 143, 67, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 25, 40, 0, - 0, 54, 68, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 94, 40, 0, 0, 63, 68, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 37, 40, 0, 0, 104, 68, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 117, 68, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 192, 9, 0, 0, 130, 68, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 13, 40, 0, 0, 158, 68, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 38, 40, 0, 0, 172, 68, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 42, 40, 0, 0, - 190, 68, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 65, 6, 0, 0, 203, 68, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 54, 40, 0, 0, 224, 68, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 41, 40, 0, 0, 234, 68, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 225, 6, 0, 0, 247, 68, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 82, 12, 0, 0, 5, 69, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 39, 40, 0, 0, 19, 69, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 91, 12, 0, 0, 33, - 69, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 92, 12, 0, 0, 58, 69, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 40, 40, - 0, 0, 67, 69, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 157, 10, 0, 0, 80, 69, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 165, 10, 0, 0, 93, 69, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 166, 10, 0, 0, 106, 69, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 167, 10, 0, 0, 203, 69, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 93, 40, 0, 0, 215, 69, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 153, 2, 0, 0, 230, 69, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 82, 12, 0, - 0, 245, 69, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 43, 40, 0, 0, 4, 70, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 44, 40, 0, 0, 19, 70, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 63, 9, 0, 0, 34, 70, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 45, 40, 0, 0, 49, 70, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 43, 6, 0, 0, 64, 70, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 38, 11, 0, 0, 79, 70, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 53, 40, 0, 0, 94, 70, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 54, 40, 0, 0, 109, 70, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 188, 6, 0, - 0, 124, 70, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 240, 14, 0, 0, 139, 70, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 67, 40, 0, 0, 154, 70, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 151, 23, 0, 0, 169, 70, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 82, 40, 0, 0, 184, 70, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 83, 40, 0, 0, 199, 70, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 84, 40, 0, 0, 214, 70, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 85, 40, 0, 0, - 229, 70, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 86, 40, 0, 0, 244, 70, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 239, 18, 0, 0, 3, 71, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 47, 40, 0, 0, 18, 71, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 87, 40, 0, 0, 33, 71, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 88, 40, 0, 0, 48, 71, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 89, 40, 0, 0, 63, 71, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 90, 40, 0, 0, 78, - 71, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 79, 40, 0, 0, 93, 71, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 46, 40, - 0, 0, 108, 71, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 91, 40, 0, 0, 123, 71, 3, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 92, 40, 0, 0, 144, 71, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 52, 40, 0, 0, 155, 71, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 46, 40, 0, 0, 170, 71, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 187, 3, 0, 0, 185, 71, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 239, 18, 0, 0, 200, 71, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 47, 40, - 0, 0, 215, 71, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 81, 39, 0, 0, 230, 71, 3, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 48, 40, 0, 0, 245, 71, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 243, 2, 0, 0, 4, 72, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 63, 9, 0, 0, 19, 72, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 34, 72, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 49, 40, 0, 0, 49, 72, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 50, 40, 0, 0, 64, - 72, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 123, 4, 0, 0, 79, 72, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 51, 40, - 0, 0, 94, 72, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 43, 6, 0, 0, 115, 72, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 66, 40, 0, 0, 126, 72, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 55, 40, 0, 0, 141, 72, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 56, 40, 0, 0, 156, 72, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 57, 40, 0, 0, 171, 72, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 58, 40, 0, 0, 186, 72, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 184, 37, 0, - 0, 201, 72, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 64, 40, 0, 0, 216, 72, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 65, 40, 0, 0, 237, 72, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 63, 40, 0, 0, 249, 72, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 185, 37, 0, 0, 8, 73, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 59, 40, 0, 0, 23, 73, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 60, 40, 0, 0, 38, 73, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 61, 40, 0, 0, - 53, 73, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 68, 73, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 62, - 40, 0, 0, 90, 73, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 81, 40, 0, 0, 101, 73, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 214, 21, 0, 0, 116, 73, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 103, 39, 0, 0, 131, 73, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 78, 40, 0, 0, 146, 73, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 65, 6, 0, 0, - 161, 73, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 79, 40, 0, 0, 176, 73, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 138, 9, 0, 0, 191, 73, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 80, 40, 0, 0, 207, 73, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 77, 40, 0, 0, 216, 73, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 4, 0, 0, 229, 73, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 10, 38, 0, 0, 242, 73, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 68, 40, 0, 0, - 255, 73, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 69, 40, 0, 0, 12, 74, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 70, 40, 0, 0, 25, 74, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 187, 39, 0, 0, 38, 74, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 76, 40, 0, 0, 57, 74, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 74, 40, 0, 0, 66, 74, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 153, 2, 0, 0, 79, 74, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 71, 40, 0, 0, 92, - 74, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 72, 40, 0, 0, 105, 74, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 187, - 17, 0, 0, 118, 74, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 66, 39, 0, 0, 132, 74, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 73, 40, 0, 0, 141, 74, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 9, 0, 0, 0, 154, 74, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 123, 4, 0, 0, 173, 74, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 40, 0, 0, 182, 74, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 153, 2, 0, 0, 249, 74, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 98, 40, 0, - 0, 2, 75, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 4, 0, 0, 15, 75, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 62, 3, 0, 0, 28, 75, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 239, 18, 0, 0, 41, 75, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 96, 40, 0, 0, 57, 75, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 76, 40, 0, 0, 73, 75, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 187, 17, 0, 0, 86, 75, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 97, 40, 0, 0, - 173, 75, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 199, 40, 0, 0, 185, 75, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 160, 2, 0, 0, 200, 75, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 102, 40, 0, 0, 215, 75, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 103, 40, 0, 0, 230, 75, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 104, 40, 0, 0, 245, 75, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 171, 4, 0, 0, 4, 76, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 216, 40, 0, 0, - 19, 76, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 9, 0, 0, 0, 34, 76, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 217, - 40, 0, 0, 49, 76, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 218, 40, 0, 0, 64, 76, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 80, 6, 0, 0, 79, 76, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 236, 40, 0, 0, 97, 76, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 237, 40, 0, 0, 115, 76, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 238, 40, 0, 0, 130, - 76, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 109, 40, 0, 0, 145, 76, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 110, - 40, 0, 0, 160, 76, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 200, 40, 0, 0, 182, 76, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 104, 40, 0, 0, 194, 76, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 171, 4, 0, 0, 209, 76, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 105, 40, 0, 0, 224, 76, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 106, 40, 0, 0, - 239, 76, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 200, 28, 0, 0, 254, 76, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 107, 40, 0, 0, 13, 77, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 108, 40, 0, 0, 28, 77, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 102, 40, 0, 0, 43, 77, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 103, 40, 0, 0, 58, 77, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 109, 40, 0, 0, 73, 77, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 110, 40, 0, 0, - 88, 77, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 111, 40, 0, 0, 103, 77, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 120, 40, 0, 0, 118, 77, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 121, 40, 0, 0, 133, 77, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 122, 40, 0, 0, 148, 77, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 110, 3, 0, 0, 163, 77, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 209, 40, 0, 0, 178, 77, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 208, 9, - 0, 0, 193, 77, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 153, 2, 0, 0, 209, 77, 3, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 213, 40, 0, 0, 225, 77, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 3, 0, 0, 241, 77, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 214, 40, 0, 0, 4, 78, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 215, 40, 0, 0, 23, 78, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 115, 4, 0, 0, 39, 78, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 24, 30, 0, - 0, 55, 78, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 159, 5, 0, 0, 77, 78, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 119, 40, 0, 0, 88, 78, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 112, 40, 0, 0, 103, 78, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 118, 40, 0, 0, 129, 78, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 117, 40, 0, 0, 140, 78, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 2, 0, 0, 155, 78, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 123, 4, 0, 0, - 170, 78, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 228, 27, 0, 0, 185, 78, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 116, 40, 0, 0, 200, 78, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 29, 35, 0, 0, 221, 78, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 115, 40, 0, 0, 232, 78, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 2, 0, 0, 247, 78, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 123, 4, 0, 0, 6, 79, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 113, 40, 0, 0, - 21, 79, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 114, 40, 0, 0, 47, 79, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 208, 40, 0, 0, 59, 79, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 123, 40, 0, 0, 74, 79, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 124, 40, 0, 0, 89, 79, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 125, 40, 0, 0, 104, 79, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 126, 40, 0, 0, 119, 79, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 127, 40, 0, - 0, 134, 79, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 128, 40, 0, 0, 149, 79, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 129, 40, 0, 0, 164, 79, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 130, 40, 0, 0, 179, 79, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 131, 40, 0, 0, 194, 79, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 136, 40, 0, 0, 209, - 79, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 137, 40, 0, 0, 224, 79, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 138, - 40, 0, 0, 239, 79, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 139, 40, 0, 0, 254, 79, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 140, 40, 0, 0, 13, 80, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 141, 40, 0, 0, 28, 80, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 142, 40, 0, 0, 43, 80, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 143, 40, 0, 0, 58, - 80, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 144, 40, 0, 0, 73, 80, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 145, - 40, 0, 0, 88, 80, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 146, 40, 0, 0, 103, 80, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 147, 40, 0, 0, 118, 80, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 148, 40, 0, 0, 133, 80, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 149, 40, 0, 0, 148, 80, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 150, 40, 0, 0, - 163, 80, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 151, 40, 0, 0, 178, 80, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 153, 40, 0, 0, 193, 80, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 159, 40, 0, 0, 208, 80, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 164, 40, 0, 0, 223, 80, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 165, 40, 0, 0, 238, 80, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 166, 40, 0, 0, 253, 80, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 169, 40, - 0, 0, 12, 81, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 176, 40, 0, 0, 27, 81, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 177, 40, 0, 0, 43, 81, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 178, 40, 0, 0, 59, 81, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 179, 40, 0, 0, 75, 81, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 180, 40, 0, 0, 91, 81, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 181, 40, 0, 0, 107, 81, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 182, 40, 0, - 0, 123, 81, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 40, 0, 0, 139, 81, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 184, 40, 0, 0, 155, 81, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 193, 40, 0, 0, 171, 81, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 194, 40, 0, 0, 187, 81, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 195, 40, 0, 0, 203, - 81, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 196, 40, 0, 0, 219, 81, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 201, - 40, 0, 0, 235, 81, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 202, 40, 0, 0, 251, 81, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 203, 40, 0, 0, 11, 82, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 204, 40, 0, 0, 27, 82, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 205, 40, 0, 0, 43, 82, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 206, 40, 0, 0, 59, - 82, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 207, 40, 0, 0, 6, 83, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 135, - 40, 0, 0, 17, 83, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 132, 40, 0, 0, 32, 83, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 187, 3, 0, 0, 47, 83, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 133, 40, 0, 0, 62, 83, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 134, 40, 0, 0, 41, 85, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 152, 40, 0, 0, 52, - 85, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 67, 8, 0, 0, 99, 85, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 158, 40, - 0, 0, 110, 85, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 40, 0, 0, 125, 85, 3, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 156, 40, 0, 0, 140, 85, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 157, 40, 0, 0, 166, 85, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 155, 40, 0, 0, 175, 85, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 187, 3, 0, 0, 188, - 85, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 4, 0, 0, 201, 85, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 159, - 5, 0, 0, 251, 85, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 163, 40, 0, 0, 6, 86, 3, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 9, 0, 0, 0, 21, 86, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 40, 0, 0, 36, 86, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 110, 21, 0, 0, 51, 86, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 123, 4, 0, 0, 66, 86, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 2, 0, 0, 81, 86, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 161, 40, 0, 0, - 96, 86, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 162, 40, 0, 0, 196, 86, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 168, 40, 0, 0, 207, 86, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 2, 0, 0, 222, 86, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 123, 4, 0, 0, 237, 86, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 110, 21, 0, 0, 252, 86, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 167, 40, 0, 0, 53, 87, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 175, 40, 0, - 0, 64, 87, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 123, 4, 0, 0, 79, 87, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 170, 40, 0, 0, 94, 87, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 171, 40, 0, 0, 109, 87, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 172, 40, 0, 0, 124, 87, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 173, 40, 0, 0, 139, 87, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 201, 20, 0, 0, 154, 87, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 174, 40, 0, - 0, 174, 88, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 192, 40, 0, 0, 185, 88, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 27, 32, 0, 0, 200, 88, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 185, 40, 0, 0, 215, 88, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 186, 40, 0, 0, 230, 88, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 187, 40, 0, 0, 245, 88, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 188, 40, 0, 0, 4, 89, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 189, 40, 0, - 0, 22, 89, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 190, 40, 0, 0, 40, 89, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 191, 40, 0, 0, 162, 89, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 200, 40, 0, 0, 173, 89, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 160, 2, 0, 0, 188, 89, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 9, 0, 0, 0, 203, 89, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 104, 40, 0, 0, 218, 89, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 159, 5, 0, - 0, 233, 89, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 197, 40, 0, 0, 248, 89, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 198, 40, 0, 0, 7, 90, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 3, 0, 0, 40, 90, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 199, 40, 0, 0, 73, 90, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 2, 0, 0, 88, 90, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 118, 3, 0, 0, 194, 90, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 212, 40, 0, 0, - 205, 90, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 210, 40, 0, 0, 220, 90, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 211, 40, 0, 0, 236, 90, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 235, 40, 0, 0, 247, 90, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 219, 40, 0, 0, 9, 91, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 220, 40, 0, 0, 27, 91, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 221, 40, 0, 0, 42, 91, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 27, 32, 0, 0, - 57, 91, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 222, 40, 0, 0, 90, 91, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 223, 40, 0, 0, 105, 91, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 227, 40, 0, 0, 120, 91, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 230, 40, 0, 0, 135, 91, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 232, 40, 0, 0, 152, 91, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 226, 40, 0, 0, 163, 91, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 224, 40, - 0, 0, 178, 91, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 225, 40, 0, 0, 194, 91, 3, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 229, 40, 0, 0, 205, 91, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 186, 40, 0, 0, 220, 91, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 249, 20, 0, 0, 235, 91, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 228, 40, 0, 0, - 254, 91, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 231, 40, 0, 0, 9, 92, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 186, 40, 0, 0, 24, 92, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 249, 20, 0, 0, 39, 92, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 204, 39, 0, 0, 54, 92, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 228, 40, 0, 0, 73, 92, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 234, 40, 0, 0, 84, 92, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 186, 40, 0, 0, - 99, 92, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 233, 40, 0, 0, 114, 92, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 249, 20, 0, 0, 129, 92, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 228, 40, 0, 0, 179, 92, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 250, 40, 0, 0, 190, 92, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 2, 0, 0, 205, 92, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 202, 4, 0, 0, 220, 92, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 28, 3, 0, - 0, 235, 92, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 240, 40, 0, 0, 250, 92, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 241, 40, 0, 0, 9, 93, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 242, 40, 0, 0, 24, 93, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 243, 40, 0, 0, 40, 93, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 249, 40, 0, 0, 49, 93, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 244, 40, 0, 0, 65, 93, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 77, 7, 0, 0, - 81, 93, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 109, 17, 0, 0, 94, 93, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 245, 40, 0, 0, 107, 93, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 123, 4, 0, 0, 120, 93, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 246, 40, 0, 0, 133, 93, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 247, 40, 0, 0, 146, 93, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 170, 17, 0, 0, 159, 93, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 182, 4, 0, - 0, 172, 93, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 76, 17, 0, 0, 185, 93, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 77, 17, 0, 0, 203, 93, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 248, 40, 0, 0, 253, 93, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 254, 40, 0, 0, 6, 94, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 153, 2, 0, 0, 19, 94, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 77, 17, 0, 0, 32, 94, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 253, 40, 0, 0, - 45, 94, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 206, 39, 0, 0, 63, 94, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 123, 4, 0, 0, 76, 94, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 42, 17, 0, 0, 118, 94, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 56, 41, 0, 0, 127, 94, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 17, 41, 0, 0, 140, 94, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 39, 41, 0, 0, 153, 94, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 40, 41, 0, 0, - 166, 94, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 41, 41, 0, 0, 179, 94, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 188, 3, 0, 0, 192, 94, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 42, 41, 0, 0, 205, 94, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 46, 41, 0, 0, 233, 94, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 38, 41, 0, 0, 21, 95, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 18, 41, 0, 0, 32, 95, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 26, 0, 0, 47, - 95, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 68, 95, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 37, 41, - 0, 0, 79, 95, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 2, 0, 0, 94, 95, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 19, 41, 0, 0, 109, 95, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 22, 41, 0, 0, 124, 95, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 17, 8, 0, 0, 139, 95, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 28, 41, 0, 0, 154, 95, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 29, 41, 0, 0, 169, 95, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 30, 41, 0, 0, - 184, 95, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 31, 41, 0, 0, 199, 95, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 141, 27, 0, 0, 214, 95, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 123, 3, 0, 0, 229, 95, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 32, 41, 0, 0, 244, 95, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 187, 4, 0, 0, 3, 96, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 161, 7, 0, 0, 18, 96, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 33, 41, 0, 0, 33, - 96, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 36, 41, 0, 0, 48, 96, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 66, 7, - 0, 0, 63, 96, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 55, 8, 0, 0, 78, 96, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 154, 4, 0, 0, 94, 96, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 21, 41, 0, 0, 105, 96, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 20, 41, 0, 0, 120, 96, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 34, 7, 0, 0, 135, 96, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 151, 96, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 24, 41, 0, 0, - 162, 96, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 25, 5, 0, 0, 177, 96, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 23, 41, 0, 0, 192, 96, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 245, 26, 0, 0, 207, 96, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 183, 2, 0, 0, 223, 96, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 27, 41, 0, 0, 234, 96, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 135, 14, 0, 0, 249, 96, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 25, 41, 0, 0, - 8, 97, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 26, 41, 0, 0, 23, 97, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, - 2, 0, 0, 39, 97, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 35, 41, 0, 0, 50, 97, 3, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 33, 41, 0, 0, 65, 97, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 232, 4, 0, 0, 80, 97, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 34, 41, 0, 0, 95, 97, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 48, 19, 0, 0, 121, 97, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 45, 41, 0, 0, 132, 97, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 26, 0, 0, - 147, 97, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 43, 41, 0, 0, 162, 97, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 44, 41, 0, 0, 177, 97, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 2, 0, 0, 214, 97, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 55, 41, 0, 0, 225, 97, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 239, 4, 0, 0, 240, 97, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 33, 41, 0, 0, 255, 97, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 47, 41, 0, 0, - 14, 98, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 52, 41, 0, 0, 30, 98, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 51, - 41, 0, 0, 41, 98, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 22, 41, 0, 0, 56, 98, 3, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 78, 7, 0, 0, 71, 98, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 48, 41, 0, 0, 86, 98, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 49, 41, 0, 0, 101, 98, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 50, 41, 0, 0, 117, 98, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 54, 41, 0, 0, 128, 98, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 53, 41, 0, 0, - 149, 98, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 69, 41, 0, 0, 160, 98, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 58, 41, 0, 0, 175, 98, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 67, 41, 0, 0, 196, 98, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 66, 41, 0, 0, 207, 98, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 59, 41, 0, 0, 222, 98, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 60, 41, 0, 0, 237, 98, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 62, 41, 0, 0, - 252, 98, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 63, 41, 0, 0, 11, 99, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 64, 41, 0, 0, 26, 99, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 65, 41, 0, 0, 58, 99, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 61, 41, 0, 0, 97, 99, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 68, 41, 0, 0, 112, 99, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 70, 41, 0, 0, 122, 99, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 71, 41, 0, 0, - 138, 99, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 72, 41, 0, 0, 151, 99, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 73, 41, 0, 0, 164, 99, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 84, 41, 0, 0, 177, 99, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 85, 41, 0, 0, 190, 99, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 87, 41, 0, 0, 203, 99, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 92, 41, 0, 0, 216, 99, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 93, 41, 0, 0, - 229, 99, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 94, 41, 0, 0, 242, 99, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 95, 41, 0, 0, 255, 99, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 122, 36, 0, 0, 12, 100, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 96, 41, 0, 0, 25, 100, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 142, 41, 0, 0, 38, 100, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 143, 41, 0, 0, 51, 100, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 145, 41, 0, - 0, 64, 100, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 146, 41, 0, 0, 77, 100, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 173, 41, 0, 0, 90, 100, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 174, 41, 0, 0, 103, 100, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 184, 41, 0, 0, 116, 100, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 185, 41, 0, 0, 129, - 100, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 189, 41, 0, 0, 142, 100, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 193, 41, 0, 0, 155, 100, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 194, 41, 0, 0, 168, 100, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 196, 41, 0, 0, 181, 100, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 197, 41, 0, 0, 194, - 100, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 203, 41, 0, 0, 207, 100, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 107, 4, 0, 0, 220, 100, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 144, 6, 0, 0, 233, 100, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 205, 41, 0, 0, 246, 100, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 206, 41, 0, 0, 3, 101, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 207, 41, 0, 0, 16, 101, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 208, 41, - 0, 0, 29, 101, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 2, 42, 0, 0, 42, 101, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 3, 42, 0, 0, 56, 101, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 23, 0, 0, 70, 101, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 6, 42, 0, 0, 84, 101, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 7, 42, 0, 0, 98, 101, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 8, 42, 0, 0, 112, 101, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 9, 42, 0, 0, - 126, 101, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 10, 42, 0, 0, 140, 101, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 11, 42, 0, 0, 154, 101, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 12, 42, 0, 0, 168, 101, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 22, 42, 0, 0, 182, 101, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 23, 42, 0, 0, 196, 101, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 26, 42, 0, 0, 210, 101, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 27, 42, - 0, 0, 224, 101, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 28, 42, 0, 0, 238, 101, 3, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 36, 42, 0, 0, 252, 101, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, 42, 0, 0, 10, 102, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 40, 42, 0, 0, 24, 102, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 48, 42, 0, 0, 38, 102, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 49, 42, 0, 0, 52, 102, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 51, 42, 0, - 0, 66, 102, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 52, 42, 0, 0, 80, 102, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 53, 42, 0, 0, 94, 102, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 54, 42, 0, 0, 108, 102, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 71, 42, 0, 0, 122, 102, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 72, 42, 0, 0, 136, 102, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 78, 42, 0, 0, 150, 102, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 82, 42, - 0, 0, 164, 102, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 83, 42, 0, 0, 178, 102, 3, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 84, 42, 0, 0, 192, 102, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 85, 42, 0, 0, 206, 102, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 86, 42, 0, 0, 220, 102, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 90, 42, 0, 0, 234, - 102, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 93, 42, 0, 0, 248, 102, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 117, - 42, 0, 0, 6, 103, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 122, 42, 0, 0, 43, 103, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 83, 41, 0, 0, 52, 103, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 26, 0, 0, 65, 103, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 148, 7, 0, 0, 78, 103, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 77, 7, 0, 0, 91, - 103, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 74, 41, 0, 0, 104, 103, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, - 41, 0, 0, 117, 103, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 76, 41, 0, 0, 130, 103, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 77, 41, 0, 0, 143, 103, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 78, 41, 0, 0, 156, 103, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 79, 41, 0, 0, 169, 103, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 80, 41, 0, - 0, 182, 103, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 81, 41, 0, 0, 195, 103, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 82, 41, 0, 0, 236, 103, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 86, 41, 0, 0, 245, 103, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 0, 26, 0, 0, 2, 104, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 77, 7, 0, 0, 15, 104, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 62, 3, 0, 0, 28, 104, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 4, 0, 0, - 64, 104, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 91, 41, 0, 0, 73, 104, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 0, 26, 0, 0, 86, 104, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 88, 41, 0, 0, 99, 104, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 89, 41, 0, 0, 112, 104, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 90, 41, 0, 0, 206, 104, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 141, 41, 0, 0, 215, 104, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 97, 41, 0, - 0, 242, 104, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 109, 41, 0, 0, 255, 104, 3, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 117, 41, 0, 0, 12, 105, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 123, 41, 0, 0, 25, 105, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 130, 41, 0, 0, 38, 105, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 136, 41, 0, 0, 51, - 105, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 140, 41, 0, 0, 70, 105, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 108, - 41, 0, 0, 79, 105, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 98, 41, 0, 0, 85, 105, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 99, 41, 0, 0, 91, 105, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 100, 41, 0, 0, 97, 105, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 101, 41, 0, 0, 103, 105, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 102, 41, 0, 0, - 109, 105, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 103, 41, 0, 0, 115, 105, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 104, 41, 0, 0, 121, 105, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 105, 41, 0, 0, 127, 105, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 106, 41, 0, 0, 133, 105, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 107, 41, 0, 0, 144, - 105, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 116, 41, 0, 0, 153, 105, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 110, 41, 0, 0, 159, 105, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 111, 41, 0, 0, 165, 105, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 112, 41, 0, 0, 171, 105, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 113, 41, 0, 0, 177, - 105, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 114, 41, 0, 0, 183, 105, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 115, 41, 0, 0, 194, 105, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 122, 41, 0, 0, 203, 105, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 118, 41, 0, 0, 209, 105, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 119, 41, 0, 0, 215, - 105, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 120, 41, 0, 0, 221, 105, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 121, 41, 0, 0, 232, 105, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 129, 41, 0, 0, 241, 105, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 124, 41, 0, 0, 247, 105, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 125, 41, 0, 0, 253, - 105, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 126, 41, 0, 0, 3, 106, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 127, - 41, 0, 0, 9, 106, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 128, 41, 0, 0, 20, 106, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 135, 41, 0, 0, 29, 106, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 131, 41, 0, 0, 35, 106, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 132, 41, 0, 0, 41, 106, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 133, 41, 0, 0, - 47, 106, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 134, 41, 0, 0, 58, 106, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 139, 41, 0, 0, 67, 106, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 137, 41, 0, 0, 73, 106, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 138, 41, 0, 0, 111, 106, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 144, 41, 0, 0, 120, - 106, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 26, 0, 0, 133, 106, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 79, - 4, 0, 0, 146, 106, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 88, 4, 0, 0, 159, 106, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 62, 3, 0, 0, 172, 106, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 4, 0, 0, 222, 106, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 169, 41, 0, 0, 231, 106, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 26, 0, 0, 244, - 106, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 147, 41, 0, 0, 1, 107, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 148, - 41, 0, 0, 14, 107, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 149, 41, 0, 0, 27, 107, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 150, 41, 0, 0, 40, 107, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 151, 41, 0, 0, 53, 107, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 152, 41, 0, 0, 66, 107, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 153, 41, 0, 0, - 79, 107, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 41, 0, 0, 92, 107, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 155, 41, 0, 0, 105, 107, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 156, 41, 0, 0, 118, 107, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 157, 41, 0, 0, 131, 107, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 158, 41, 0, 0, 144, - 107, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 159, 41, 0, 0, 157, 107, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 160, 41, 0, 0, 170, 107, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 161, 41, 0, 0, 183, 107, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 162, 41, 0, 0, 196, 107, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 163, 41, 0, 0, 209, - 107, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 164, 41, 0, 0, 222, 107, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 165, 41, 0, 0, 235, 107, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 166, 41, 0, 0, 248, 107, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 167, 41, 0, 0, 5, 108, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 168, 41, 0, 0, 24, 108, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 172, 41, 0, 0, 33, 108, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 170, 41, - 0, 0, 46, 108, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 171, 41, 0, 0, 82, 108, 3, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 183, 41, 0, 0, 91, 108, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 26, 0, 0, 104, 108, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 175, 41, 0, 0, 117, 108, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 176, 41, 0, 0, 130, - 108, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 177, 41, 0, 0, 143, 108, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 178, 41, 0, 0, 156, 108, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 179, 41, 0, 0, 169, 108, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 180, 41, 0, 0, 182, 108, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 181, 41, 0, 0, 195, - 108, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 182, 41, 0, 0, 252, 108, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 188, 41, 0, 0, 5, 109, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 186, 41, 0, 0, 18, 109, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 187, 41, 0, 0, 54, 109, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 192, 41, 0, 0, 63, 109, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 26, 0, 0, 76, 109, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 109, 41, 0, 0, - 89, 109, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 190, 41, 0, 0, 102, 109, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 191, 41, 0, 0, 164, 109, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 195, 41, 0, 0, 173, 109, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 0, 26, 0, 0, 186, 109, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 199, 109, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 87, 8, 0, 0, 212, 109, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 62, 3, 0, - 0, 225, 109, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 4, 0, 0, 30, 110, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 202, 41, 0, 0, 39, 110, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 198, 41, 0, 0, 45, 110, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 199, 41, 0, 0, 51, 110, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 200, 41, 0, 0, 57, - 110, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 201, 41, 0, 0, 91, 110, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 204, - 41, 0, 0, 100, 110, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 26, 0, 0, 113, 110, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 79, 41, 0, 0, 126, 110, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 4, 0, 0, 192, 110, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 1, 42, 0, 0, 201, 110, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 26, 0, 0, - 214, 110, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 209, 41, 0, 0, 227, 110, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 154, 4, 0, 0, 240, 110, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 216, 14, 0, 0, 11, 111, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 254, 41, 0, 0, 24, 111, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 255, 41, 0, 0, 38, - 111, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 42, 0, 0, 52, 111, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 253, - 41, 0, 0, 61, 111, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 209, 41, 0, 0, 74, 111, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 210, 41, 0, 0, 87, 111, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 246, 41, 0, 0, 100, 111, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 249, 41, 0, 0, 113, 111, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 250, 41, 0, 0, - 126, 111, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 251, 41, 0, 0, 139, 111, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 252, 41, 0, 0, 153, 111, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 245, 41, 0, 0, 162, 111, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 211, 41, 0, 0, 175, 111, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 217, 41, 0, 0, 188, - 111, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 218, 41, 0, 0, 201, 111, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 219, 41, 0, 0, 214, 111, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 221, 41, 0, 0, 227, 111, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 222, 41, 0, 0, 240, 111, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 226, 41, 0, 0, 253, - 111, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 231, 41, 0, 0, 10, 112, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 232, - 41, 0, 0, 23, 112, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 233, 41, 0, 0, 36, 112, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 235, 41, 0, 0, 49, 112, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 236, 41, 0, 0, 62, 112, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 239, 41, 0, 0, 75, 112, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 244, 41, 0, 0, - 89, 112, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 216, 41, 0, 0, 98, 112, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 212, 41, 0, 0, 111, 112, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 213, 41, 0, 0, 124, 112, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 214, 41, 0, 0, 137, 112, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 215, 41, 0, 0, 150, - 112, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 109, 17, 0, 0, 164, 112, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 220, 41, 0, 0, 173, 112, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 212, 41, 0, 0, 186, 112, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 213, 41, 0, 0, 199, 112, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 117, 18, 0, 0, 212, - 112, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 109, 17, 0, 0, 226, 112, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 225, 41, 0, 0, 235, 112, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 212, 41, 0, 0, 248, 112, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 213, 41, 0, 0, 5, 113, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 223, 41, 0, 0, 18, 113, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 109, 17, 0, 0, 31, 113, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 224, 41, - 0, 0, 44, 113, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 42, 17, 0, 0, 58, 113, 3, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 230, 41, 0, 0, 67, 113, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 227, 41, 0, 0, 80, 113, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 228, 41, 0, 0, 93, 113, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 214, 41, 0, 0, - 106, 113, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 215, 41, 0, 0, 119, 113, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 229, 41, 0, 0, 133, 113, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 234, 41, 0, 0, 142, 113, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 227, 41, 0, 0, 155, 113, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 228, 41, 0, 0, 168, - 113, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 117, 18, 0, 0, 181, 113, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 229, 41, 0, 0, 195, 113, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 238, 41, 0, 0, 204, 113, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 227, 41, 0, 0, 217, 113, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 228, 41, 0, 0, 230, - 113, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 223, 41, 0, 0, 243, 113, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 229, 41, 0, 0, 0, 114, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 237, 41, 0, 0, 14, 114, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 243, 41, 0, 0, 23, 114, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 240, 41, 0, 0, 36, 114, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 241, 41, 0, 0, 49, 114, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 242, 41, 0, - 0, 87, 114, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 248, 41, 0, 0, 96, 114, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 63, 7, 0, 0, 109, 114, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 240, 41, 0, 0, 122, 114, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 247, 41, 0, 0, 135, 114, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 65, 39, 0, 0, 148, - 114, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 4, 0, 0, 221, 114, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 5, - 42, 0, 0, 230, 114, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 26, 0, 0, 243, 114, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 4, 42, 0, 0, 0, 115, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 4, 0, 0, 196, 115, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 21, 42, 0, 0, 205, 115, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 26, 0, 0, 218, - 115, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 13, 42, 0, 0, 231, 115, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 14, - 42, 0, 0, 244, 115, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 15, 42, 0, 0, 1, 116, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 16, 42, 0, 0, 14, 116, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 17, 42, 0, 0, 27, 116, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 18, 42, 0, 0, 40, 116, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 19, 42, 0, 0, 53, - 116, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 20, 42, 0, 0, 114, 116, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 25, - 42, 0, 0, 123, 116, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 26, 0, 0, 136, 116, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 77, 7, 0, 0, 149, 116, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 24, 42, 0, 0, 162, 116, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 62, 3, 0, 0, 175, 116, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 4, 0, 0, 241, - 116, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 35, 42, 0, 0, 250, 116, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, - 26, 0, 0, 7, 117, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 29, 42, 0, 0, 20, 117, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 30, 42, 0, 0, 33, 117, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 31, 42, 0, 0, 46, 117, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 32, 42, 0, 0, 59, 117, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 33, 42, 0, 0, 72, - 117, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 34, 42, 0, 0, 112, 117, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 38, - 42, 0, 0, 121, 117, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 26, 0, 0, 134, 117, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 9, 0, 0, 0, 147, 117, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 37, 42, 0, 0, 160, 117, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 87, 8, 0, 0, 200, 117, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 47, 42, 0, 0, 209, - 117, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 26, 0, 0, 222, 117, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 88, - 41, 0, 0, 235, 117, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 41, 42, 0, 0, 248, 117, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 42, 42, 0, 0, 5, 118, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 43, 42, 0, 0, 18, 118, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 44, 42, 0, 0, 31, 118, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 45, 42, 0, 0, - 44, 118, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 46, 42, 0, 0, 57, 118, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 87, 8, 0, 0, 107, 118, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 50, 42, 0, 0, 116, 118, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 0, 26, 0, 0, 129, 118, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 123, 4, 0, 0, 142, 118, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 97, 12, 0, 0, 155, 118, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 62, 3, 0, 0, - 168, 118, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 4, 0, 0, 4, 119, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 70, 42, 0, 0, 13, 119, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 200, 7, 0, 0, 26, 119, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 67, 42, 0, 0, 44, 119, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 88, 41, 0, 0, 57, 119, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 68, 42, 0, 0, 70, 119, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 69, 42, 0, 0, - 84, 119, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 221, 40, 0, 0, 98, 119, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 66, 42, 0, 0, 107, 119, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 26, 0, 0, 120, 119, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 18, 26, 0, 0, 133, 119, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 55, 42, 0, 0, 146, 119, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 3, 7, 0, 0, 159, 119, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 56, 42, 0, 0, - 172, 119, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 109, 41, 0, 0, 185, 119, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 57, 42, 0, 0, 198, 119, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 58, 42, 0, 0, 211, 119, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 59, 42, 0, 0, 224, 119, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 60, 42, 0, 0, 237, - 119, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 61, 42, 0, 0, 250, 119, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 62, - 42, 0, 0, 7, 120, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 63, 42, 0, 0, 20, 120, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 64, 42, 0, 0, 33, 120, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 87, 8, 0, 0, 46, 120, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 65, 42, 0, 0, 137, 120, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 77, 42, 0, 0, 146, - 120, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 73, 42, 0, 0, 159, 120, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, - 42, 0, 0, 172, 120, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 76, 42, 0, 0, 186, 120, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 74, 42, 0, 0, 195, 120, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 176, 9, 0, 0, 208, 120, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 221, 40, 0, 0, 248, 120, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 81, 42, 0, - 0, 1, 121, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 26, 0, 0, 14, 121, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 79, 42, 0, 0, 27, 121, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 80, 42, 0, 0, 40, 121, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 87, 8, 0, 0, 90, 121, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 89, 42, 0, 0, 99, 121, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 88, 4, 0, 0, 112, 121, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 34, 7, 0, 0, - 125, 121, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 87, 4, 0, 0, 138, 121, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 87, 42, 0, 0, 151, 121, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 88, 42, 0, 0, 164, 121, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 154, 4, 0, 0, 200, 121, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 92, 42, 0, 0, 209, 121, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 91, 42, 0, 0, 245, 121, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 116, 42, - 0, 0, 254, 121, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 94, 42, 0, 0, 11, 122, 3, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 95, 42, 0, 0, 24, 122, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 96, 42, 0, 0, 37, 122, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 97, 42, 0, 0, 50, 122, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 98, 42, 0, 0, 63, 122, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 99, 42, 0, 0, 76, 122, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 100, 42, - 0, 0, 89, 122, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 101, 42, 0, 0, 102, 122, 3, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 102, 42, 0, 0, 115, 122, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 103, 42, 0, 0, 128, 122, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 104, 42, 0, 0, 141, 122, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 105, 42, 0, 0, - 154, 122, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 106, 42, 0, 0, 167, 122, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 107, 42, 0, 0, 180, 122, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 108, 42, 0, 0, 193, 122, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 109, 42, 0, 0, 206, 122, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 110, 42, 0, 0, 219, - 122, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 111, 42, 0, 0, 232, 122, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 112, 42, 0, 0, 245, 122, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 113, 42, 0, 0, 2, 123, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 114, 42, 0, 0, 15, 123, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 115, 42, 0, 0, 51, 123, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 121, 42, 0, 0, 60, 123, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 118, 42, - 0, 0, 73, 123, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 119, 42, 0, 0, 86, 123, 3, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 120, 42, 0, 0, 127, 123, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 129, 42, 0, 0, 136, 123, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 123, 42, 0, 0, 149, 123, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 124, 42, 0, 0, - 162, 123, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 125, 42, 0, 0, 175, 123, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 126, 42, 0, 0, 188, 123, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 127, 42, 0, 0, 201, 123, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 128, 42, 0, 0, 242, 123, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 130, 42, 0, 0, 251, - 123, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 119, 11, 0, 0, 8, 124, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 120, - 11, 0, 0, 32, 124, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 131, 42, 0, 0, 41, 124, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 132, 42, 0, 0, 54, 124, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 133, 42, 0, 0, 67, 124, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 134, 42, 0, 0, 80, 124, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 135, 42, 0, 0, - 203, 124, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 136, 42, 0, 0, 212, 124, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 137, 42, 0, 0, 225, 124, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 138, 42, 0, 0, 238, 124, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 159, 4, 0, 0, 251, 124, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 149, 42, 0, 0, 8, - 125, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 150, 42, 0, 0, 21, 125, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 151, - 42, 0, 0, 82, 125, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 141, 42, 0, 0, 91, 125, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 139, 42, 0, 0, 104, 125, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 140, 42, 0, 0, 123, 125, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 148, 42, 0, 0, 132, 125, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 142, 42, 0, 0, - 145, 125, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 143, 42, 0, 0, 158, 125, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 144, 42, 0, 0, 171, 125, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 145, 42, 0, 0, 184, 125, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 146, 42, 0, 0, 197, 125, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 147, 42, 0, 0, 166, - 126, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 155, 42, 0, 0, 175, 126, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 9, - 0, 0, 0, 188, 126, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 34, 7, 0, 0, 201, 126, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 152, 42, 0, 0, 214, 126, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 87, 8, 0, 0, 230, 126, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 113, 19, 0, 0, 246, 126, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 153, 42, 0, 0, - 6, 127, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 127, 8, 0, 0, 19, 127, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 154, 42, 0, 0, 32, 127, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 77, 41, 0, 0, 45, 127, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 5, 35, 0, 0, 69, 127, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 156, 42, 0, 0, 78, 127, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 157, 42, 0, 0, 91, 127, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 158, 42, 0, 0, - 104, 127, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 159, 42, 0, 0, 117, 127, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 160, 42, 0, 0, 130, 127, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 161, 42, 0, 0, 175, 127, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 162, 42, 0, 0, 184, 127, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 163, 42, 0, 0, 197, - 127, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 169, 42, 0, 0, 210, 127, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 203, 42, 0, 0, 8, 128, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 166, 42, 0, 0, 17, 128, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 164, 42, 0, 0, 23, 128, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 165, 42, 0, 0, 35, 128, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 168, 42, 0, 0, 46, 128, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 77, 7, 0, 0, - 61, 128, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 167, 42, 0, 0, 104, 128, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 202, 42, 0, 0, 116, 128, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 170, 42, 0, 0, 131, 128, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 179, 42, 0, 0, 149, 128, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 180, 42, 0, 0, 167, - 128, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 181, 42, 0, 0, 182, 128, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 245, 38, 0, 0, 197, 128, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 182, 42, 0, 0, 212, 128, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 183, 42, 0, 0, 227, 128, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 82, 12, 0, 0, 242, 128, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 101, 22, 0, 0, 1, 129, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 100, 22, - 0, 0, 16, 129, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 187, 42, 0, 0, 31, 129, 3, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 188, 42, 0, 0, 46, 129, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 189, 42, 0, 0, 61, 129, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 190, 42, 0, 0, 76, 129, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 191, 42, 0, 0, 91, - 129, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 106, 129, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 48, - 38, 0, 0, 121, 129, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 198, 2, 0, 0, 136, 129, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 249, 38, 0, 0, 151, 129, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 192, 42, 0, 0, 166, 129, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 201, 42, 0, 0, 181, 129, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 2, - 0, 0, 197, 129, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 115, 4, 0, 0, 213, 129, 3, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 39, 4, 0, 0, 230, 129, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 178, 42, 0, 0, 241, 129, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 77, 7, 0, 0, 0, 130, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 167, 42, 0, 0, 15, - 130, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 171, 42, 0, 0, 30, 130, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 232, - 24, 0, 0, 45, 130, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 172, 42, 0, 0, 60, 130, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 173, 42, 0, 0, 75, 130, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 174, 42, 0, 0, 90, 130, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 175, 42, 0, 0, 105, 130, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 176, 42, 0, 0, - 120, 130, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 177, 42, 0, 0, 136, 130, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 186, 42, 0, 0, 147, 130, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 184, 42, 0, 0, 162, 130, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 185, 42, 0, 0, 178, 130, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 200, 42, 0, 0, 189, - 130, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 189, 4, 0, 0, 222, 130, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 193, - 42, 0, 0, 237, 130, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 196, 42, 0, 0, 252, 130, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 198, 42, 0, 0, 13, 131, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 195, 42, 0, 0, 24, 131, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 189, 4, 0, 0, 39, 131, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 184, 42, 0, - 0, 54, 131, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 114, 3, 0, 0, 69, 131, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 194, 42, 0, 0, 84, 131, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 185, 42, 0, 0, 136, 131, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 197, 42, 0, 0, 147, 131, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 189, 4, 0, 0, 162, - 131, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 184, 42, 0, 0, 177, 131, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 114, 3, 0, 0, 192, 131, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 194, 42, 0, 0, 207, 131, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 185, 42, 0, 0, 223, 131, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 199, 42, 0, 0, 234, - 131, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 189, 4, 0, 0, 249, 131, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 184, - 42, 0, 0, 8, 132, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 114, 3, 0, 0, 23, 132, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 194, 42, 0, 0, 38, 132, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 185, 42, 0, 0, 100, 132, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 204, 42, 0, 0, 109, 132, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 81, 31, 0, 0, - 122, 132, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 205, 42, 0, 0, 135, 132, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 81, 7, 0, 0, 148, 132, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 206, 42, 0, 0, 161, 132, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 126, 17, 0, 0, 174, 132, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 207, 42, 0, 0, 84, - 133, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 220, 42, 0, 0, 93, 133, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, - 2, 0, 0, 106, 133, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 5, 3, 0, 0, 119, 133, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 232, 28, 0, 0, 138, 133, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 227, 42, 0, 0, 149, 133, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 206, 18, 0, 0, 164, 133, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 92, 30, 0, 0, - 179, 133, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 231, 42, 0, 0, 194, 133, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 232, 42, 0, 0, 209, 133, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, 4, 0, 0, 225, 133, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 230, 42, 0, 0, 236, 133, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 228, 42, 0, 0, 251, - 133, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 156, 2, 0, 0, 10, 134, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 229, - 42, 0, 0, 48, 134, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 109, 45, 0, 0, 78, 134, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 60, 21, 0, 0, 93, 134, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 234, 42, 0, 0, 109, 134, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 235, 42, 0, 0, 124, 134, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 249, 4, 0, 0, - 139, 134, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 236, 42, 0, 0, 154, 134, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 9, 0, 0, 0, 180, 134, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 22, 43, 0, 0, 186, 134, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 23, 43, 0, 0, 192, 134, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 24, 43, 0, 0, 198, 134, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 25, 43, 0, 0, 205, 134, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 143, 29, - 0, 0, 220, 134, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 171, 4, 0, 0, 235, 134, 3, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 154, 2, 0, 0, 250, 134, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 86, 45, 0, 0, 9, 135, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 205, 39, 0, 0, 24, 135, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 98, 17, 0, 0, 39, - 135, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 87, 45, 0, 0, 54, 135, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 79, - 45, 0, 0, 69, 135, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 88, 45, 0, 0, 84, 135, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 89, 45, 0, 0, 99, 135, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 90, 45, 0, 0, 114, 135, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 91, 45, 0, 0, 129, 135, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 199, 40, 0, 0, - 144, 135, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 92, 45, 0, 0, 160, 135, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 93, 45, 0, 0, 176, 135, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 94, 45, 0, 0, 192, 135, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 102, 45, 0, 0, 208, 135, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 103, 45, 0, 0, 224, - 135, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 104, 45, 0, 0, 240, 135, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 160, 2, 0, 0, 0, 136, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 159, 5, 0, 0, 16, 136, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 105, 45, 0, 0, 32, 136, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 185, 2, 0, 0, 48, 136, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 107, 45, 0, 0, 64, 136, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 108, 45, 0, - 0, 80, 136, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 94, 30, 0, 0, 107, 136, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 8, 43, 0, 0, 118, 136, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 224, 18, 0, 0, 133, 136, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 236, 42, 0, 0, 148, 136, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 237, 42, 0, 0, 163, - 136, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 2, 41, 0, 0, 178, 136, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 3, - 41, 0, 0, 193, 136, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 2, 0, 0, 208, 136, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 42, 17, 0, 0, 223, 136, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 7, 43, 0, 0, 35, 137, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 6, 43, 0, 0, 46, 137, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 238, 42, 0, 0, - 52, 137, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 239, 42, 0, 0, 58, 137, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 240, 42, 0, 0, 64, 137, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 241, 42, 0, 0, 70, 137, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 242, 42, 0, 0, 76, 137, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 243, 42, 0, 0, 82, 137, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 244, 42, 0, 0, 88, 137, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 245, 42, - 0, 0, 94, 137, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 246, 42, 0, 0, 100, 137, 3, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 247, 42, 0, 0, 106, 137, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 248, 42, 0, 0, 112, 137, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 249, 42, 0, 0, 118, 137, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 250, 42, 0, 0, - 124, 137, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 251, 42, 0, 0, 130, 137, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 252, 42, 0, 0, 136, 137, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 253, 42, 0, 0, 142, 137, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 254, 42, 0, 0, 148, 137, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 255, 42, 0, 0, 154, - 137, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 43, 0, 0, 160, 137, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 1, - 43, 0, 0, 166, 137, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 2, 43, 0, 0, 172, 137, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 3, 43, 0, 0, 178, 137, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 4, 43, 0, 0, 184, 137, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 5, 43, 0, 0, 196, 137, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 21, 43, 0, 0, 207, - 137, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 2, 0, 0, 222, 137, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 205, - 19, 0, 0, 237, 137, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 171, 4, 0, 0, 252, 137, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 115, 4, 0, 0, 11, 138, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 94, 30, 0, 0, 26, 138, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 235, 42, 0, 0, 41, 138, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 9, 43, 0, 0, - 56, 138, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 46, 13, 0, 0, 71, 138, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 79, 17, 0, 0, 86, 138, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 242, 19, 0, 0, 101, 138, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 18, 43, 0, 0, 116, 138, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 19, 43, 0, 0, 131, 138, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 20, 43, 0, 0, 152, 138, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 17, 43, - 0, 0, 163, 138, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 82, 12, 0, 0, 178, 138, 3, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 10, 43, 0, 0, 193, 138, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 11, 43, 0, 0, 208, 138, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 147, 8, 0, 0, 229, 138, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 16, 43, 0, 0, 241, - 138, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 12, 43, 0, 0, 0, 139, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 13, - 43, 0, 0, 15, 139, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 82, 12, 0, 0, 30, 139, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 37, 42, 0, 0, 45, 139, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 144, 9, 0, 0, 60, 139, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 14, 43, 0, 0, 75, 139, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 15, 43, 0, 0, 90, - 139, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 242, 19, 0, 0, 160, 139, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 85, - 45, 0, 0, 171, 139, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 94, 30, 0, 0, 186, 139, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 153, 2, 0, 0, 201, 139, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 249, 4, 0, 0, 216, 139, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 171, 4, 0, 0, 231, 139, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 26, 43, 0, - 0, 246, 139, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 159, 5, 0, 0, 5, 140, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 27, 43, 0, 0, 20, 140, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 110, 3, 0, 0, 35, 140, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 67, 45, 0, 0, 50, 140, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 68, 45, 0, 0, 65, 140, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 69, 45, 0, 0, 80, 140, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 45, 0, 0, - 95, 140, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 71, 45, 0, 0, 110, 140, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 104, 40, 0, 0, 125, 140, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 73, 45, 0, 0, 140, 140, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 74, 45, 0, 0, 155, 140, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 45, 0, 0, 170, 140, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 76, 45, 0, 0, 185, 140, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 77, 45, - 0, 0, 200, 140, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 78, 45, 0, 0, 215, 140, 3, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 79, 45, 0, 0, 230, 140, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 80, 45, 0, 0, 245, 140, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 81, 45, 0, 0, 4, 141, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 82, 45, 0, 0, 19, - 141, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 83, 45, 0, 0, 34, 141, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 84, - 45, 0, 0, 60, 141, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 66, 45, 0, 0, 72, 141, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 28, 43, 0, 0, 87, 141, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 29, 43, 0, 0, 102, 141, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 94, 30, 0, 0, 117, 141, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 30, 43, 0, 0, 132, - 141, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 31, 43, 0, 0, 147, 141, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 32, - 43, 0, 0, 162, 141, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 33, 43, 0, 0, 177, 141, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 34, 43, 0, 0, 192, 141, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 35, 43, 0, 0, 207, 141, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 36, 43, 0, 0, 222, 141, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 56, 44, 0, - 0, 237, 141, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 58, 44, 0, 0, 252, 141, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 62, 44, 0, 0, 11, 142, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 63, 44, 0, 0, 26, 142, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 64, 44, 0, 0, 41, 142, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 65, 44, 0, 0, 56, 142, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 66, 44, 0, 0, 71, 142, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 67, 44, 0, 0, - 86, 142, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 196, 41, 0, 0, 101, 142, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 203, 41, 0, 0, 116, 142, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 207, 41, 0, 0, 131, 142, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 83, 42, 0, 0, 146, 142, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 69, 44, 0, 0, 161, 142, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 194, 41, 0, 0, 176, 142, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 87, 41, - 0, 0, 191, 142, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 92, 41, 0, 0, 206, 142, 3, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 28, 42, 0, 0, 221, 142, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 136, 6, 0, 0, 236, 142, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 139, 6, 0, 0, 251, 142, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 44, 0, 0, 10, - 143, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 71, 44, 0, 0, 25, 143, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 72, - 44, 0, 0, 40, 143, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 73, 44, 0, 0, 56, 143, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 142, 41, 0, 0, 72, 143, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 143, 41, 0, 0, 88, 143, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 145, 41, 0, 0, 104, 143, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 84, 41, 0, 0, - 120, 143, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 85, 41, 0, 0, 136, 143, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 74, 44, 0, 0, 152, 143, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 80, 44, 0, 0, 168, 143, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 81, 44, 0, 0, 184, 143, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 82, 44, 0, 0, 200, 143, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 83, 44, 0, 0, 216, 143, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 84, 44, - 0, 0, 232, 143, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 85, 44, 0, 0, 248, 143, 3, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 86, 44, 0, 0, 8, 144, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 87, 44, 0, 0, 24, 144, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 89, 44, 0, 0, 40, 144, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 90, 44, 0, 0, 56, 144, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 91, 44, 0, 0, 72, 144, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 109, 44, - 0, 0, 88, 144, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 110, 44, 0, 0, 104, 144, 3, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 111, 44, 0, 0, 120, 144, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 112, 44, 0, 0, 136, 144, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 114, 44, 0, 0, 152, 144, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 116, 44, 0, 0, - 168, 144, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 208, 41, 0, 0, 184, 144, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 2, 42, 0, 0, 200, 144, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 117, 44, 0, 0, 216, 144, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 235, 44, 0, 0, 232, 144, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 236, 44, 0, 0, 248, - 144, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 237, 44, 0, 0, 8, 145, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 241, - 44, 0, 0, 24, 145, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 242, 44, 0, 0, 40, 145, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 245, 44, 0, 0, 56, 145, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 246, 44, 0, 0, 72, 145, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 247, 44, 0, 0, 88, 145, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 248, 44, 0, 0, - 104, 145, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 249, 44, 0, 0, 120, 145, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 250, 44, 0, 0, 136, 145, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 14, 45, 0, 0, 152, 145, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 15, 45, 0, 0, 168, 145, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 16, 45, 0, 0, 184, - 145, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 17, 45, 0, 0, 200, 145, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 18, - 45, 0, 0, 216, 145, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 19, 45, 0, 0, 232, 145, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 34, 45, 0, 0, 248, 145, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 35, 45, 0, 0, 8, 146, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 36, 45, 0, 0, 24, 146, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 37, 45, 0, 0, - 40, 146, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 38, 45, 0, 0, 56, 146, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 39, 45, 0, 0, 72, 146, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 40, 45, 0, 0, 88, 146, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 41, 45, 0, 0, 104, 146, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 42, 45, 0, 0, 120, 146, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 43, 45, 0, 0, 136, 146, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 44, 45, 0, - 0, 152, 146, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 45, 45, 0, 0, 168, 146, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 46, 45, 0, 0, 184, 146, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 47, 45, 0, 0, 200, 146, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 48, 45, 0, 0, 216, 146, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 49, 45, 0, 0, 232, - 146, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 50, 45, 0, 0, 248, 146, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 51, - 45, 0, 0, 8, 147, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 52, 45, 0, 0, 24, 147, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 53, 45, 0, 0, 40, 147, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 58, 45, 0, 0, 56, 147, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 59, 45, 0, 0, 72, 147, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 63, 45, 0, 0, 88, - 147, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 64, 45, 0, 0, 104, 147, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 65, - 45, 0, 0, 88, 148, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 55, 44, 0, 0, 100, 148, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 37, 43, 0, 0, 115, 148, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 43, 0, 0, 131, 148, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 78, 43, 0, 0, 147, 148, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 107, 43, 0, 0, - 163, 148, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 112, 43, 0, 0, 182, 148, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 113, 43, 0, 0, 201, 148, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 114, 43, 0, 0, 220, 148, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 115, 43, 0, 0, 239, 148, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 116, 43, 0, 0, 2, - 149, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 117, 43, 0, 0, 21, 149, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 118, - 43, 0, 0, 40, 149, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 119, 43, 0, 0, 59, 149, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 120, 43, 0, 0, 78, 149, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 121, 43, 0, 0, 97, 149, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 122, 43, 0, 0, 116, 149, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 123, 43, 0, 0, - 135, 149, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 109, 41, 0, 0, 154, 149, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 202, 4, 0, 0, 173, 149, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 124, 43, 0, 0, 192, 149, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 69, 27, 0, 0, 211, 149, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 173, 2, 0, 0, 227, - 149, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 133, 43, 0, 0, 243, 149, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 134, 43, 0, 0, 3, 150, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 18, 26, 0, 0, 19, 150, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 55, 42, 0, 0, 35, 150, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 3, 7, 0, 0, 51, 150, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 167, 43, 0, 0, 67, 150, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 168, 43, 0, 0, - 83, 150, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 169, 43, 0, 0, 99, 150, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 170, 43, 0, 0, 115, 150, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 63, 42, 0, 0, 131, 150, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 88, 41, 0, 0, 147, 150, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 68, 42, 0, 0, 163, 150, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 69, 42, 0, 0, 179, 150, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 171, 43, - 0, 0, 195, 150, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 172, 43, 0, 0, 211, 150, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 173, 43, 0, 0, 227, 150, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 175, 43, 0, 0, 243, 150, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 176, 43, 0, 0, 3, 151, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 177, 43, 0, 0, - 19, 151, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 176, 7, 0, 0, 35, 151, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 159, 5, 0, 0, 51, 151, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 92, 13, 0, 0, 67, 151, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 11, 38, 0, 0, 83, 151, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 178, 43, 0, 0, 99, 151, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 57, 16, 0, 0, 115, 151, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 179, 43, 0, - 0, 131, 151, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 3, 0, 0, 147, 151, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 180, 43, 0, 0, 163, 151, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 181, 43, 0, 0, 179, 151, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 42, 44, 0, 0, 195, 151, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 43, 44, 0, 0, 211, - 151, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 44, 44, 0, 0, 227, 151, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 51, - 44, 0, 0, 243, 151, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 52, 44, 0, 0, 3, 152, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 53, 44, 0, 0, 19, 152, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 36, 43, 0, 0, 35, 152, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 54, 44, 0, 0, 52, 152, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 74, 43, 0, 0, 64, - 152, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 153, 2, 0, 0, 79, 152, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 124, - 6, 0, 0, 95, 152, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 65, 43, 0, 0, 111, 152, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 66, 43, 0, 0, 127, 152, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 67, 43, 0, 0, 143, 152, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 68, 43, 0, 0, 159, 152, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 66, 7, 0, 0, - 175, 152, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 191, 152, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 69, 43, 0, 0, 207, 152, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 43, 0, 0, 223, 152, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 72, 43, 0, 0, 239, 152, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 73, 43, 0, 0, 5, 153, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 64, 43, 0, 0, 17, 153, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 155, 3, 0, 0, - 32, 153, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 2, 0, 0, 47, 153, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 123, 4, 0, 0, 62, 153, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 159, 5, 0, 0, 77, 153, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 190, 3, 0, 0, 92, 153, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 191, 3, 0, 0, 107, 153, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 23, 0, 0, 122, 153, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 208, 9, 0, - 0, 137, 153, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 44, 43, 0, 0, 153, 153, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 160, 3, 0, 0, 169, 153, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 173, 2, 0, 0, 196, 153, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 45, 43, 0, 0, 202, 153, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 46, 43, 0, 0, 208, - 153, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 47, 43, 0, 0, 214, 153, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 48, - 43, 0, 0, 221, 153, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 153, 2, 0, 0, 237, 153, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 49, 43, 0, 0, 253, 153, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 50, 43, 0, 0, 13, 154, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 51, 43, 0, 0, 29, 154, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 176, 7, 0, 0, - 45, 154, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 52, 43, 0, 0, 61, 154, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 53, 43, 0, 0, 77, 154, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 54, 43, 0, 0, 93, 154, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 56, 43, 0, 0, 120, 154, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 57, 43, 0, 0, 126, 154, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 58, 43, 0, 0, 132, 154, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 59, 43, 0, - 0, 138, 154, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 60, 43, 0, 0, 145, 154, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 61, 43, 0, 0, 161, 154, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 92, 13, 0, 0, 19, 155, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 43, 43, 0, 0, 30, 155, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 38, 43, 0, 0, 45, 155, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 40, 43, 0, 0, 60, 155, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 41, 43, 0, 0, - 75, 155, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 42, 43, 0, 0, 90, 155, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 212, 9, 0, 0, 110, 155, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, 43, 0, 0, 123, 155, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 125, 18, 0, 0, 159, 155, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 55, 43, 0, 0, 181, 155, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 63, 43, 0, 0, 192, 155, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 66, 7, 0, - 0, 207, 155, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 118, 3, 0, 0, 222, 155, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 183, 2, 0, 0, 237, 155, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 62, 43, 0, 0, 252, 155, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 159, 5, 0, 0, 29, 156, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 71, 43, 0, 0, 39, 156, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 106, 43, 0, 0, 51, 156, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 76, 43, - 0, 0, 66, 156, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 78, 43, 0, 0, 81, 156, 3, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 154, 2, 0, 0, 96, 156, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 79, 43, 0, 0, 111, 156, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 75, 30, 0, 0, 126, 156, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 141, - 156, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 141, 7, 0, 0, 156, 156, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 80, - 43, 0, 0, 171, 156, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 81, 43, 0, 0, 186, 156, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 131, 6, 0, 0, 201, 156, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 82, 43, 0, 0, 216, 156, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 136, 6, 0, 0, 231, 156, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 139, 6, 0, - 0, 246, 156, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 83, 43, 0, 0, 5, 157, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 84, 43, 0, 0, 21, 157, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 85, 43, 0, 0, 37, 157, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 86, 43, 0, 0, 53, 157, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 87, 43, 0, 0, 69, 157, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 133, 6, 0, 0, 85, 157, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 88, 43, 0, 0, - 101, 157, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 92, 41, 0, 0, 117, 157, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 87, 41, 0, 0, 133, 157, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 89, 43, 0, 0, 149, 157, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 90, 43, 0, 0, 165, 157, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 91, 43, 0, 0, 181, 157, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 92, 43, 0, 0, 197, 157, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 93, 43, - 0, 0, 213, 157, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 94, 43, 0, 0, 229, 157, 3, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 95, 43, 0, 0, 245, 157, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 96, 43, 0, 0, 5, 158, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 97, 43, 0, 0, 21, 158, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 101, 43, 0, 0, 37, - 158, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 207, 41, 0, 0, 53, 158, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 196, - 41, 0, 0, 69, 158, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 102, 43, 0, 0, 85, 158, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 49, 42, 0, 0, 101, 158, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 51, 42, 0, 0, 117, 158, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 103, 43, 0, 0, 133, 158, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 104, 43, 0, 0, - 149, 158, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 105, 43, 0, 0, 166, 158, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 77, 43, 0, 0, 177, 158, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 148, 7, 0, 0, 192, 158, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 200, 159, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 100, 43, 0, 0, 211, - 159, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 40, 4, 0, 0, 226, 159, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 100, - 5, 0, 0, 241, 159, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 98, 43, 0, 0, 0, 160, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 99, 43, 0, 0, 154, 160, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 111, 43, 0, 0, 165, 160, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 108, 43, 0, 0, 180, 160, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 109, 43, 0, 0, - 195, 160, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 110, 43, 0, 0, 215, 160, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 132, 43, 0, 0, 226, 160, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 125, 43, 0, 0, 232, 160, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 126, 43, 0, 0, 238, 160, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 127, 43, 0, 0, 244, - 160, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 128, 43, 0, 0, 250, 160, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 129, 43, 0, 0, 0, 161, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 130, 43, 0, 0, 6, 161, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 131, 43, 0, 0, 17, 161, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 166, 43, 0, 0, 38, 161, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 135, 43, 0, 0, 44, 161, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 136, 43, 0, - 0, 50, 161, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 137, 43, 0, 0, 56, 161, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 138, 43, 0, 0, 62, 161, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 139, 43, 0, 0, 68, 161, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 140, 43, 0, 0, 74, 161, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 141, 43, 0, 0, 80, - 161, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 142, 43, 0, 0, 86, 161, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 143, - 43, 0, 0, 92, 161, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 144, 43, 0, 0, 98, 161, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 145, 43, 0, 0, 104, 161, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 146, 43, 0, 0, 110, 161, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 147, 43, 0, 0, 116, 161, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 148, 43, 0, 0, - 122, 161, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 149, 43, 0, 0, 128, 161, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 150, 43, 0, 0, 134, 161, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 151, 43, 0, 0, 140, 161, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 152, 43, 0, 0, 146, 161, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 153, 43, 0, 0, 152, - 161, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 43, 0, 0, 158, 161, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 155, 43, 0, 0, 164, 161, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 156, 43, 0, 0, 170, 161, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 157, 43, 0, 0, 176, 161, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 158, 43, 0, 0, 182, - 161, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 159, 43, 0, 0, 188, 161, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 160, 43, 0, 0, 194, 161, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 161, 43, 0, 0, 200, 161, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 162, 43, 0, 0, 206, 161, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 163, 43, 0, 0, 212, - 161, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 164, 43, 0, 0, 218, 161, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 165, 43, 0, 0, 230, 161, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 174, 43, 0, 0, 240, 161, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 181, 43, 0, 0, 251, 161, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 116, 4, 0, 0, 10, 162, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 126, 4, 0, 0, 25, 162, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 239, 6, 0, - 0, 40, 162, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 182, 43, 0, 0, 55, 162, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 186, 43, 0, 0, 70, 162, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 43, 0, 0, 85, 162, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 187, 43, 0, 0, 100, 162, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 30, 44, 0, 0, 115, - 162, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 40, 44, 0, 0, 130, 162, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 41, - 44, 0, 0, 145, 162, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 151, 13, 0, 0, 160, 162, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 180, 28, 0, 0, 186, 162, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 185, 43, 0, 0, 197, 162, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 176, 12, 0, 0, 212, 162, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 38, 8, - 0, 0, 227, 162, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 174, 4, 0, 0, 242, 162, 3, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 175, 4, 0, 0, 1, 163, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 94, 43, 0, 0, 16, 163, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 95, 43, 0, 0, 31, 163, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 184, 43, 0, 0, 64, - 163, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 43, 0, 0, 152, 163, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 187, 43, 0, 0, 163, 163, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 98, 7, 0, 0, 178, 163, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 57, 24, 0, 0, 193, 163, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 188, 43, 0, 0, 236, 163, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 29, 44, 0, 0, 247, 163, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 200, 7, - 0, 0, 6, 164, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 62, 21, 0, 0, 22, 164, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 19, 44, 0, 0, 33, 164, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 189, 43, 0, 0, 48, 164, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 190, 43, 0, 0, 63, 164, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 191, 43, 0, 0, 78, 164, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 192, 43, 0, 0, 96, 164, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 193, 43, - 0, 0, 114, 164, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 194, 43, 0, 0, 132, 164, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 195, 43, 0, 0, 150, 164, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 196, 43, 0, 0, 168, 164, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 197, 43, 0, 0, 186, 164, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 198, 43, 0, 0, - 204, 164, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 199, 43, 0, 0, 222, 164, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 200, 43, 0, 0, 240, 164, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 201, 43, 0, 0, 2, 165, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 202, 43, 0, 0, 20, 165, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 203, 43, 0, 0, 38, - 165, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 204, 43, 0, 0, 56, 165, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 205, - 43, 0, 0, 74, 165, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 206, 43, 0, 0, 92, 165, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 207, 43, 0, 0, 110, 165, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 208, 43, 0, 0, 128, 165, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 209, 43, 0, 0, 146, 165, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 210, 43, 0, 0, - 164, 165, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 211, 43, 0, 0, 182, 165, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 212, 43, 0, 0, 200, 165, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 213, 43, 0, 0, 218, 165, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 214, 43, 0, 0, 236, 165, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 215, 43, 0, 0, 254, - 165, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 216, 43, 0, 0, 16, 166, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 217, - 43, 0, 0, 34, 166, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 218, 43, 0, 0, 52, 166, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 219, 43, 0, 0, 70, 166, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 220, 43, 0, 0, 88, 166, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 221, 43, 0, 0, 106, 166, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 222, 43, 0, 0, - 124, 166, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 223, 43, 0, 0, 142, 166, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 224, 43, 0, 0, 160, 166, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 225, 43, 0, 0, 178, 166, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 226, 43, 0, 0, 196, 166, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 227, 43, 0, 0, 214, - 166, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 228, 43, 0, 0, 232, 166, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 229, 43, 0, 0, 250, 166, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 230, 43, 0, 0, 12, 167, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 231, 43, 0, 0, 30, 167, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 232, 43, 0, 0, 48, 167, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 233, 43, 0, 0, 66, 167, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 234, 43, - 0, 0, 84, 167, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 235, 43, 0, 0, 102, 167, 3, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 236, 43, 0, 0, 120, 167, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 237, 43, 0, 0, 138, 167, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 238, 43, 0, 0, 156, 167, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 239, 43, 0, 0, - 174, 167, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 240, 43, 0, 0, 192, 167, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 241, 43, 0, 0, 210, 167, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 242, 43, 0, 0, 228, 167, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 243, 43, 0, 0, 246, 167, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 244, 43, 0, 0, 8, - 168, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 245, 43, 0, 0, 26, 168, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 246, - 43, 0, 0, 44, 168, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 247, 43, 0, 0, 62, 168, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 248, 43, 0, 0, 80, 168, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 249, 43, 0, 0, 98, 168, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 250, 43, 0, 0, 116, 168, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 251, 43, 0, 0, - 134, 168, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 252, 43, 0, 0, 152, 168, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 253, 43, 0, 0, 170, 168, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 254, 43, 0, 0, 188, 168, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 255, 43, 0, 0, 206, 168, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 187, 4, 0, 0, 221, - 168, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 44, 0, 0, 236, 168, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 1, - 44, 0, 0, 251, 168, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 2, 44, 0, 0, 10, 169, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 3, 44, 0, 0, 25, 169, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 4, 44, 0, 0, 40, 169, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 5, 44, 0, 0, 55, 169, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 6, 44, 0, 0, 70, 169, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 7, 44, 0, 0, 103, 169, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 8, 44, 0, - 0, 118, 169, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 9, 44, 0, 0, 133, 169, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 155, 16, 0, 0, 155, 169, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 10, 44, 0, 0, 173, 169, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 11, 44, 0, 0, 191, 169, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 12, 44, 0, 0, 209, - 169, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 13, 44, 0, 0, 225, 169, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 126, - 5, 0, 0, 247, 169, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 10, 44, 0, 0, 9, 170, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 11, 44, 0, 0, 27, 170, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 14, 44, 0, 0, 45, 170, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 15, 44, 0, 0, 63, 170, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 16, 44, 0, 0, 81, - 170, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 13, 44, 0, 0, 98, 170, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 17, - 44, 0, 0, 113, 170, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 18, 44, 0, 0, 141, 170, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 28, 44, 0, 0, 152, 170, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 19, 26, 0, 0, 167, 170, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 20, 44, 0, 0, 182, 170, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 21, 44, 0, - 0, 197, 170, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 22, 44, 0, 0, 212, 170, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 23, 44, 0, 0, 227, 170, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 24, 44, 0, 0, 242, 170, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 25, 44, 0, 0, 1, 171, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 26, 44, 0, 0, 16, 171, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 27, 44, 0, 0, 42, 171, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, 44, 0, - 0, 53, 171, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 176, 12, 0, 0, 68, 171, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 38, 8, 0, 0, 83, 171, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 31, 44, 0, 0, 98, 171, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 32, 44, 0, 0, 113, 171, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 33, 44, 0, 0, 128, 171, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 34, 44, 0, 0, 143, 171, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 35, 44, - 0, 0, 158, 171, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 36, 44, 0, 0, 173, 171, 3, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 37, 44, 0, 0, 188, 171, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 38, 44, 0, 0, 12, 172, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 42, 44, 0, 0, 22, 172, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 50, 44, 0, 0, 33, 172, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 45, 44, 0, 0, 48, 172, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 46, 44, 0, - 0, 63, 172, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 47, 44, 0, 0, 78, 172, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 48, 44, 0, 0, 93, 172, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 49, 44, 0, 0, 108, 172, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 152, 7, 0, 0, 2, 173, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 54, 44, 0, 0, 34, 173, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 57, 44, 0, 0, 71, 173, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 61, 44, 0, 0, - 82, 173, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 68, 42, 0, 0, 97, 173, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 69, 42, 0, 0, 112, 173, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 134, 43, 0, 0, 127, 173, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 18, 26, 0, 0, 142, 173, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 55, 42, 0, 0, 157, 173, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 167, 43, 0, 0, 172, 173, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 202, 4, - 0, 0, 190, 173, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 59, 44, 0, 0, 208, 173, 3, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 60, 44, 0, 0, 171, 174, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 68, 44, 0, 0, 209, 175, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 79, 44, 0, 0, 220, 175, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 189, 4, 0, 0, 235, - 175, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 76, 44, 0, 0, 250, 175, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 60, - 21, 0, 0, 9, 176, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 77, 44, 0, 0, 24, 176, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 78, 44, 0, 0, 40, 176, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 44, 0, 0, 49, 176, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 153, 2, 0, 0, 62, 176, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 13, 40, 0, 0, 0, - 177, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 88, 44, 0, 0, 11, 177, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 20, - 3, 0, 0, 26, 177, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 60, 8, 0, 0, 114, 177, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 108, 44, 0, 0, 125, 177, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 138, 16, 0, 0, 140, 177, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 155, 177, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 107, 44, 0, 0, - 171, 177, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 106, 44, 0, 0, 182, 177, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 160, 2, 0, 0, 197, 177, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 92, 44, 0, 0, 212, 177, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 123, 4, 0, 0, 227, 177, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 242, - 177, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 105, 44, 0, 0, 1, 178, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 144, - 6, 0, 0, 21, 178, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 104, 44, 0, 0, 32, 178, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 93, 44, 0, 0, 38, 178, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 94, 44, 0, 0, 44, 178, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 95, 44, 0, 0, 50, 178, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 96, 44, 0, 0, 56, - 178, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 97, 44, 0, 0, 62, 178, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 98, - 44, 0, 0, 68, 178, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 99, 44, 0, 0, 74, 178, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 100, 44, 0, 0, 80, 178, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 101, 44, 0, 0, 86, 178, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 102, 44, 0, 0, 92, 178, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 103, 44, 0, 0, - 218, 178, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 113, 44, 0, 0, 34, 179, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 115, 44, 0, 0, 45, 179, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 138, 16, 0, 0, 60, 179, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 66, 7, 0, 0, 75, 179, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 107, 44, 0, 0, 184, 179, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 234, 44, 0, 0, 195, 179, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 62, 8, - 0, 0, 210, 179, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 37, 40, 0, 0, 225, 179, 3, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 206, 13, 0, 0, 240, 179, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 103, 17, 0, 0, 255, 179, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 208, 9, 0, 0, 14, 180, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 239, 38, 0, 0, 30, - 180, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 119, 44, 0, 0, 41, 180, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 118, - 44, 0, 0, 56, 180, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 170, 17, 0, 0, 71, 180, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 2, 5, 0, 0, 86, 180, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 13, 40, 0, 0, 106, 180, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 125, 44, 0, 0, 117, 180, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 120, 44, 0, 0, - 123, 180, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 121, 44, 0, 0, 129, 180, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 122, 44, 0, 0, 135, 180, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 123, 44, 0, 0, 141, 180, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 124, 44, 0, 0, 153, 180, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 228, 44, 0, 0, 164, - 180, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 130, 6, 0, 0, 179, 180, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 220, - 8, 0, 0, 195, 180, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 129, 44, 0, 0, 206, 180, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 126, 44, 0, 0, 221, 180, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 60, 8, 0, 0, 236, 180, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 114, 3, 0, 0, 1, 181, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 128, 44, 0, 0, - 12, 181, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 127, 44, 0, 0, 27, 181, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 88, 4, 0, 0, 55, 181, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 227, 44, 0, 0, 66, 181, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 130, 44, 0, 0, 81, 181, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 189, 6, 0, 0, 109, 181, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 226, 44, 0, 0, 120, 181, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 123, 4, 0, - 0, 135, 181, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 163, 44, 0, 0, 150, 181, 3, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 28, 17, 0, 0, 165, 181, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 171, 44, 0, 0, 198, 181, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 118, 44, 0, 0, 213, 181, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 153, 2, 0, 0, - 228, 181, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 206, 39, 0, 0, 250, 181, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 107, 44, 0, 0, 9, 182, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 42, 17, 0, 0, 24, 182, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 2, 5, 0, 0, 40, 182, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 172, 44, 0, 0, 62, 182, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 173, 44, 0, 0, 77, 182, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 88, 4, 0, 0, - 92, 182, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 60, 8, 0, 0, 107, 182, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 20, 3, 0, 0, 123, 182, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 178, 18, 0, 0, 138, 182, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 193, 44, 0, 0, 153, 182, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, 17, 0, 0, 168, 182, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 194, 44, 0, 0, 183, 182, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 21, 7, - 0, 0, 198, 182, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 44, 4, 0, 0, 220, 182, 3, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 39, 15, 0, 0, 235, 182, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 171, 4, 0, 0, 250, 182, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 204, 39, 0, 0, 10, 183, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 195, 44, 0, 0, 32, - 183, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 196, 44, 0, 0, 47, 183, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 198, - 44, 0, 0, 62, 183, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 199, 44, 0, 0, 77, 183, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 200, 44, 0, 0, 93, 183, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 201, 44, 0, 0, 115, 183, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 171, 4, 0, 0, 130, 183, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 104, 4, 0, 0, - 145, 183, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 202, 44, 0, 0, 160, 183, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 203, 44, 0, 0, 175, 183, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 204, 44, 0, 0, 190, 183, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 247, 18, 0, 0, 206, 183, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 7, 21, 0, 0, 228, - 183, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 220, 8, 0, 0, 243, 183, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 15, - 12, 0, 0, 2, 184, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 205, 44, 0, 0, 18, 184, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 207, 44, 0, 0, 40, 184, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 206, 13, 0, 0, 55, 184, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 39, 17, 0, 0, 70, 184, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 208, 44, 0, 0, - 85, 184, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 209, 44, 0, 0, 101, 184, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 210, 44, 0, 0, 123, 184, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 74, 33, 0, 0, 138, 184, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 42, 17, 0, 0, 153, 184, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 211, 44, 0, 0, 168, 184, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 212, 44, 0, 0, 183, 184, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 247, 40, - 0, 0, 199, 184, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 213, 44, 0, 0, 221, 184, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 42, 17, 0, 0, 237, 184, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 214, 44, 0, 0, 3, 185, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 74, 33, 0, 0, 18, 185, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 211, 44, 0, 0, 33, - 185, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 212, 44, 0, 0, 48, 185, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 247, - 40, 0, 0, 64, 185, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 215, 44, 0, 0, 86, 185, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 171, 4, 0, 0, 101, 185, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 2, 5, 0, 0, 116, 185, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 216, 44, 0, 0, 131, 185, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 217, 44, 0, 0, - 146, 185, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 218, 44, 0, 0, 161, 185, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 130, 44, 0, 0, 176, 185, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 189, 6, 0, 0, 192, 185, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 223, 44, 0, 0, 214, 185, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 224, 44, 0, 0, 231, - 185, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 206, 13, 0, 0, 251, 185, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 162, 44, 0, 0, 6, 186, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 131, 44, 0, 0, 12, 186, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 132, 44, 0, 0, 18, 186, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 133, 44, 0, 0, 24, 186, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 134, 44, 0, 0, 30, 186, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 135, 44, 0, - 0, 36, 186, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 136, 44, 0, 0, 42, 186, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 137, 44, 0, 0, 48, 186, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 138, 44, 0, 0, 54, 186, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 139, 44, 0, 0, 60, 186, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 140, 44, 0, 0, 66, - 186, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 141, 44, 0, 0, 72, 186, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 142, - 44, 0, 0, 78, 186, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 143, 44, 0, 0, 84, 186, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 144, 44, 0, 0, 90, 186, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 145, 44, 0, 0, 96, 186, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 146, 44, 0, 0, 102, 186, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 147, 44, 0, 0, - 108, 186, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 148, 44, 0, 0, 114, 186, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 149, 44, 0, 0, 120, 186, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 150, 44, 0, 0, 126, 186, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 151, 44, 0, 0, 132, 186, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 152, 44, 0, 0, 138, - 186, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 153, 44, 0, 0, 144, 186, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 154, 44, 0, 0, 150, 186, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 155, 44, 0, 0, 156, 186, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 156, 44, 0, 0, 162, 186, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 157, 44, 0, 0, 168, - 186, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 158, 44, 0, 0, 174, 186, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 159, 44, 0, 0, 180, 186, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 44, 0, 0, 186, 186, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 161, 44, 0, 0, 197, 186, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 169, 44, 0, 0, 208, - 186, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 164, 44, 0, 0, 214, 186, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 165, 44, 0, 0, 220, 186, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 166, 44, 0, 0, 226, 186, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 167, 44, 0, 0, 232, 186, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 168, 44, 0, 0, 243, - 186, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 170, 44, 0, 0, 1, 187, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 180, - 44, 0, 0, 12, 187, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 174, 44, 0, 0, 18, 187, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 175, 44, 0, 0, 24, 187, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 176, 44, 0, 0, 30, 187, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 177, 44, 0, 0, 36, 187, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 178, 44, 0, 0, - 42, 187, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 179, 44, 0, 0, 54, 187, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 192, 44, 0, 0, 65, 187, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 114, 3, 0, 0, 80, 187, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 185, 44, 0, 0, 95, 187, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 191, 44, 0, 0, 110, 187, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 123, 3, 0, 0, 126, 187, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 184, 44, 0, - 0, 137, 187, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 45, 17, 0, 0, 152, 187, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 60, 17, 0, 0, 174, 187, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 249, 16, 0, 0, 196, 187, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 248, 4, 0, 0, 211, 187, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 249, 4, 0, 0, 227, - 187, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 101, 18, 0, 0, 249, 187, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 248, 4, 0, 0, 8, 188, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 249, 4, 0, 0, 25, 188, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 181, 44, 0, 0, 40, 188, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 109, 17, 0, 0, 55, 188, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 247, 40, 0, 0, 70, 188, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 74, 33, 0, - 0, 85, 188, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 182, 44, 0, 0, 100, 188, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 183, 44, 0, 0, 116, 188, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 185, 44, 0, 0, 127, 188, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 81, 7, 0, 0, 142, 188, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 190, 44, 0, 0, 163, - 188, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 189, 44, 0, 0, 174, 188, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 186, 44, 0, 0, 189, 188, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 249, 4, 0, 0, 204, 188, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 206, 13, 0, 0, 237, 188, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 187, 44, 0, 0, 252, - 188, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 188, 44, 0, 0, 18, 189, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 196, - 44, 0, 0, 29, 189, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 2, 0, 0, 44, 189, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 186, 17, 0, 0, 59, 189, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 197, 44, 0, 0, 74, 189, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 115, 4, 0, 0, 89, 189, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 33, 6, 0, 0, - 104, 189, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, 4, 0, 0, 125, 189, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 206, 44, 0, 0, 147, 189, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 222, 44, 0, 0, 158, 189, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 219, 44, 0, 0, 173, 189, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 103, 4, 0, 0, 188, 189, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 220, 44, 0, 0, 203, 189, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 221, 44, - 0, 0, 224, 189, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 225, 44, 0, 0, 235, 189, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 129, 17, 0, 0, 250, 189, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 206, 13, 0, 0, 10, 190, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 233, 44, 0, 0, 21, 190, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 229, 44, 0, 0, - 36, 190, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 199, 18, 0, 0, 51, 190, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 230, 44, 0, 0, 66, 190, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 211, 18, 0, 0, 81, 190, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 231, 44, 0, 0, 96, 190, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 232, 44, 0, 0, 148, 190, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 240, 44, 0, 0, 159, 190, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 238, 44, - 0, 0, 174, 190, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 239, 44, 0, 0, 243, 190, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 244, 44, 0, 0, 254, 190, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 104, 4, 0, 0, 13, 191, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 243, 44, 0, 0, 169, 191, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 13, 45, 0, 0, - 180, 191, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 251, 44, 0, 0, 195, 191, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 3, 45, 0, 0, 215, 191, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 2, 45, 0, 0, 226, 191, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 252, 44, 0, 0, 232, 191, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 253, 44, 0, 0, 238, - 191, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 254, 44, 0, 0, 244, 191, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 255, 44, 0, 0, 250, 191, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 45, 0, 0, 0, 192, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 1, 45, 0, 0, 11, 192, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 12, 45, 0, 0, 22, 192, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 4, 45, 0, 0, 28, 192, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 5, 45, 0, 0, 34, - 192, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 6, 45, 0, 0, 40, 192, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 7, 45, - 0, 0, 46, 192, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 8, 45, 0, 0, 52, 192, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 9, 45, 0, 0, 58, 192, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 10, 45, 0, 0, 64, 192, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 11, 45, 0, 0, 212, 192, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 33, 45, 0, 0, 223, 192, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 20, 3, 0, 0, 238, 192, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 26, 45, 0, - 0, 254, 192, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 25, 45, 0, 0, 9, 193, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 20, 45, 0, 0, 24, 193, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 21, 45, 0, 0, 39, 193, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 22, 45, 0, 0, 54, 193, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 23, 45, 0, 0, 69, 193, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 24, 45, 0, 0, 89, 193, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 32, 45, 0, 0, - 100, 193, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 27, 45, 0, 0, 106, 193, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 28, 45, 0, 0, 112, 193, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 29, 45, 0, 0, 118, 193, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 30, 45, 0, 0, 124, 193, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 31, 45, 0, 0, 45, 195, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 57, 45, 0, 0, 56, 195, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 138, 16, - 0, 0, 71, 195, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 54, 45, 0, 0, 86, 195, 3, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 55, 45, 0, 0, 101, 195, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 56, 45, 0, 0, 116, 195, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 2, 5, 0, 0, 168, 195, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 62, 45, 0, 0, 179, - 195, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 138, 16, 0, 0, 194, 195, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 60, - 45, 0, 0, 209, 195, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 56, 45, 0, 0, 224, 195, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 61, 45, 0, 0, 46, 196, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 72, 45, 0, 0, 51, 196, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 101, 45, 0, 0, 62, 196, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 153, 2, 0, 0, - 77, 196, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 9, 0, 0, 0, 92, 196, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 80, - 45, 0, 0, 107, 196, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 98, 45, 0, 0, 122, 196, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 99, 45, 0, 0, 137, 196, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 100, 45, 0, 0, 157, 196, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 97, 45, 0, 0, 168, 196, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 95, 45, 0, - 0, 174, 196, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 96, 45, 0, 0, 213, 196, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 106, 45, 0, 0, 224, 196, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 144, 39, 0, 0, 245, 196, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 111, 45, 0, 0, 255, 196, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 45, 0, 0, 11, - 197, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 153, 2, 0, 0, 26, 197, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 118, - 3, 0, 0, 41, 197, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 153, 7, 0, 0, 56, 197, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 114, 45, 0, 0, 71, 197, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 34, 20, 0, 0, 86, 197, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 146, 45, 0, 0, 101, 197, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 147, 45, 0, 0, - 116, 197, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 148, 45, 0, 0, 131, 197, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 56, 20, 0, 0, 146, 197, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 149, 45, 0, 0, 161, 197, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 150, 45, 0, 0, 176, 197, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 151, 45, 0, 0, 191, - 197, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 152, 45, 0, 0, 206, 197, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 153, 45, 0, 0, 221, 197, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 45, 0, 0, 236, 197, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 155, 45, 0, 0, 251, 197, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 156, 45, 0, 0, 10, 198, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 157, 45, 0, 0, 25, 198, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 158, 45, - 0, 0, 40, 198, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 159, 45, 0, 0, 55, 198, 3, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 90, 20, 0, 0, 70, 198, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 167, 2, 0, 0, 92, 198, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 130, 45, 0, 0, 103, 198, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 60, 3, 0, 0, 118, - 198, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 115, 45, 0, 0, 133, 198, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 116, 45, 0, 0, 148, 198, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 167, 2, 0, 0, 163, 198, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 117, 45, 0, 0, 178, 198, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 118, 45, 0, 0, 193, - 198, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 119, 45, 0, 0, 208, 198, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 120, 45, 0, 0, 223, 198, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 121, 45, 0, 0, 238, 198, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 122, 45, 0, 0, 253, 198, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 123, 45, 0, 0, 12, 199, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 124, 45, 0, 0, 27, 199, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 125, 45, - 0, 0, 42, 199, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 126, 45, 0, 0, 57, 199, 3, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 127, 45, 0, 0, 72, 199, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 128, 45, 0, 0, 87, 199, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 129, 45, 0, 0, 108, 199, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 145, 45, 0, 0, - 119, 199, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 134, 43, 0, 0, 134, 199, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 131, 45, 0, 0, 149, 199, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 132, 45, 0, 0, 164, 199, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 133, 45, 0, 0, 179, 199, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 136, 45, 0, 0, 194, - 199, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 137, 45, 0, 0, 227, 199, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 157, 2, 0, 0, 242, 199, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 138, 45, 0, 0, 2, 200, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 139, 45, 0, 0, 17, 200, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 44, 6, 0, 0, 32, 200, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 63, 9, 0, 0, 47, 200, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 118, 3, 0, 0, 62, - 200, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 3, 0, 0, 77, 200, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 140, - 45, 0, 0, 92, 200, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 141, 45, 0, 0, 107, 200, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 142, 45, 0, 0, 122, 200, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 206, 6, 0, 0, 137, 200, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 143, 45, 0, 0, 152, 200, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 144, 45, 0, - 0, 167, 200, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, 4, 0, 0, 188, 200, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 135, 45, 0, 0, 199, 200, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 38, 20, 0, 0, 214, 200, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 40, 20, 0, 0, 229, 200, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 134, 45, 0, 0, 244, - 200, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 41, 20, 0, 0, 3, 201, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 42, - 20, 0, 0, 18, 201, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 43, 20, 0, 0, 44, 201, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 181, 47, 0, 0, 56, 201, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 164, 45, 0, 0, 71, 201, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 78, 46, 0, 0, 86, 201, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 2, 0, 0, - 101, 201, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 82, 12, 0, 0, 116, 201, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 31, 47, 0, 0, 131, 201, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 32, 47, 0, 0, 146, 201, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 33, 47, 0, 0, 164, 201, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 165, 45, 0, 0, 179, 201, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 34, 47, 0, 0, 194, 201, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 35, 47, - 0, 0, 209, 201, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 151, 13, 0, 0, 224, 201, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 36, 47, 0, 0, 239, 201, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 174, 5, 0, 0, 254, 201, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 155, 12, 0, 0, 13, 202, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 4, 46, 0, 0, - 28, 202, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 37, 47, 0, 0, 43, 202, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 38, 47, 0, 0, 58, 202, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, 47, 0, 0, 73, 202, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 41, 47, 0, 0, 88, 202, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 43, 47, 0, 0, 103, 202, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 50, 47, 0, 0, 118, 202, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 51, 47, 0, - 0, 133, 202, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 52, 47, 0, 0, 148, 202, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 210, 11, 0, 0, 163, 202, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 84, 27, 0, 0, 178, 202, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 53, 47, 0, 0, 193, 202, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 55, 47, 0, 0, 208, - 202, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 76, 47, 0, 0, 224, 202, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 77, - 47, 0, 0, 240, 202, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 78, 47, 0, 0, 0, 203, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 79, 47, 0, 0, 16, 203, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 80, 47, 0, 0, 32, 203, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 81, 47, 0, 0, 48, 203, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 82, 47, 0, 0, 64, - 203, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 46, 46, 0, 0, 80, 203, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 47, - 46, 0, 0, 96, 203, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 83, 47, 0, 0, 112, 203, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 84, 47, 0, 0, 128, 203, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 85, 47, 0, 0, 144, 203, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 230, 46, 0, 0, 168, 203, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 86, 47, 0, 0, - 183, 203, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 232, 2, 0, 0, 198, 203, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 212, 4, 0, 0, 214, 203, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 15, 46, 0, 0, 230, 203, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 16, 46, 0, 0, 246, 203, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 18, 46, 0, 0, 6, 204, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 162, 47, 0, 0, 22, 204, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 155, 12, 0, - 0, 38, 204, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 172, 47, 0, 0, 54, 204, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 173, 47, 0, 0, 70, 204, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 174, 47, 0, 0, 87, 204, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 175, 47, 0, 0, 103, 204, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 177, 47, 0, 0, 119, - 204, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 178, 47, 0, 0, 135, 204, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 179, 47, 0, 0, 151, 204, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 180, 47, 0, 0, 173, 204, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 164, 45, 0, 0, 185, 204, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 165, 45, 0, 0, 200, - 204, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 211, 42, 0, 0, 215, 204, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 166, 45, 0, 0, 230, 204, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 167, 45, 0, 0, 245, 204, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 169, 45, 0, 0, 4, 205, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 171, 45, 0, 0, 19, 205, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 181, 45, 0, 0, 34, 205, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 182, 45, - 0, 0, 49, 205, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 45, 0, 0, 64, 205, 3, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 184, 45, 0, 0, 79, 205, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 185, 45, 0, 0, 94, 205, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 109, 205, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 186, 45, 0, 0, - 124, 205, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 30, 0, 0, 139, 205, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 187, 45, 0, 0, 154, 205, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 188, 45, 0, 0, 169, 205, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 189, 45, 0, 0, 184, 205, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 194, 45, 0, 0, 199, - 205, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 195, 45, 0, 0, 214, 205, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 196, 45, 0, 0, 229, 205, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 197, 45, 0, 0, 244, 205, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 198, 45, 0, 0, 3, 206, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 199, 45, 0, 0, 18, 206, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 200, 45, 0, 0, 33, 206, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 201, 45, - 0, 0, 48, 206, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 202, 45, 0, 0, 63, 206, 3, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 203, 45, 0, 0, 78, 206, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 204, 45, 0, 0, 93, 206, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 205, 45, 0, 0, 108, 206, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 206, 45, 0, 0, - 123, 206, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 207, 45, 0, 0, 138, 206, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 208, 45, 0, 0, 153, 206, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 211, 45, 0, 0, 168, 206, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 212, 45, 0, 0, 183, 206, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 213, 45, 0, 0, 198, - 206, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 214, 45, 0, 0, 213, 206, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 215, 45, 0, 0, 228, 206, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 216, 45, 0, 0, 243, 206, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 74, 41, 0, 0, 2, 207, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 217, 45, 0, 0, 17, 207, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 218, 45, 0, 0, 32, 207, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 232, 45, 0, - 0, 47, 207, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 69, 46, 0, 0, 62, 207, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 70, 46, 0, 0, 77, 207, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 71, 46, 0, 0, 92, 207, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 72, 46, 0, 0, 108, 207, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 73, 46, 0, 0, 124, 207, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 74, 46, 0, 0, 140, 207, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 46, - 0, 0, 156, 207, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 76, 46, 0, 0, 172, 207, 3, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 77, 46, 0, 0, 188, 207, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 96, 46, 0, 0, 204, 207, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 97, 46, 0, 0, 220, 207, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 98, 46, 0, 0, 236, - 207, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 166, 46, 0, 0, 252, 207, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 194, 46, 0, 0, 12, 208, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 153, 2, 0, 0, 28, 208, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 151, 13, 0, 0, 44, 208, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 216, 46, 0, 0, 60, 208, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 217, 46, 0, 0, 76, 208, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 225, 46, 0, - 0, 92, 208, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 229, 46, 0, 0, 108, 208, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 213, 40, 0, 0, 124, 208, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 230, 46, 0, 0, 140, 208, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 231, 46, 0, 0, 156, 208, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 235, 46, 0, 0, 172, - 208, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 243, 46, 0, 0, 188, 208, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 244, 46, 0, 0, 204, 208, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 245, 46, 0, 0, 220, 208, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 246, 46, 0, 0, 236, 208, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 247, 46, 0, 0, 252, - 208, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 248, 46, 0, 0, 12, 209, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 249, - 46, 0, 0, 28, 209, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 250, 46, 0, 0, 44, 209, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 251, 46, 0, 0, 60, 209, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 252, 46, 0, 0, 76, 209, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 253, 46, 0, 0, 92, 209, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 254, 46, 0, 0, - 111, 209, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 255, 46, 0, 0, 130, 209, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 0, 47, 0, 0, 146, 209, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 16, 47, 0, 0, 169, 209, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 17, 47, 0, 0, 184, 209, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 169, 17, 0, 0, 199, 209, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 18, 47, 0, 0, 215, 209, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 19, 47, - 0, 0, 231, 209, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 20, 47, 0, 0, 247, 209, 3, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 30, 47, 0, 0, 7, 210, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 159, 5, 0, 0, 29, 210, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 168, 45, 0, 0, 40, 210, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 66, 7, 0, 0, 66, 210, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 170, 45, 0, 0, 77, 210, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 101, 22, - 0, 0, 92, 210, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 100, 22, 0, 0, 118, 210, 3, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 180, 45, 0, 0, 129, 210, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 24, 25, 0, 0, 144, 210, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 173, 45, 0, 0, 159, 210, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 174, 45, 0, 0, - 174, 210, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 175, 45, 0, 0, 189, 210, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 176, 45, 0, 0, 204, 210, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 177, 45, 0, 0, 219, 210, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 178, 45, 0, 0, 234, 210, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 179, 45, 0, 0, 4, - 211, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 172, 45, 0, 0, 15, 211, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 121, - 11, 0, 0, 30, 211, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 235, 9, 0, 0, 50, 211, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 193, 45, 0, 0, 61, 211, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 190, 45, 0, 0, 67, 211, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 191, 45, 0, 0, 73, 211, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 192, 45, 0, 0, - 90, 211, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 210, 45, 0, 0, 101, 211, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 209, 45, 0, 0, 116, 211, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 207, 45, 0, 0, 131, 211, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 206, 45, 0, 0, 157, 211, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 231, 45, 0, 0, 168, - 211, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 183, 211, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 219, - 45, 0, 0, 198, 211, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 220, 45, 0, 0, 213, 211, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 221, 45, 0, 0, 228, 211, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 225, 9, 0, 0, 243, 211, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 222, 45, 0, 0, 2, 212, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 46, 21, 0, 0, - 28, 212, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 230, 45, 0, 0, 39, 212, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 223, 45, 0, 0, 54, 212, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 227, 45, 0, 0, 69, 212, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 228, 45, 0, 0, 84, 212, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 229, 45, 0, 0, 99, 212, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 33, 6, 0, 0, 125, 212, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 226, 45, - 0, 0, 136, 212, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 224, 45, 0, 0, 151, 212, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 174, 37, 0, 0, 166, 212, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 225, 45, 0, 0, 187, 212, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 68, 46, 0, 0, 198, 212, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 233, 45, 0, 0, - 213, 212, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 233, 2, 0, 0, 228, 212, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 234, 45, 0, 0, 243, 212, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 235, 45, 0, 0, 2, 213, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 236, 45, 0, 0, 17, 213, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 237, 45, 0, 0, 32, 213, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 238, 45, 0, 0, 47, 213, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 239, 45, - 0, 0, 62, 213, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 46, 21, 0, 0, 77, 213, 3, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 219, 45, 0, 0, 92, 213, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 2, 46, 0, 0, 113, 213, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 242, 45, 0, 0, 124, 213, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 60, 8, 0, 0, 139, - 213, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 31, 28, 0, 0, 154, 213, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 240, - 45, 0, 0, 169, 213, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 241, 45, 0, 0, 190, 213, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 1, 46, 0, 0, 201, 213, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 6, 39, 0, 0, 216, 213, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 248, 4, 0, 0, 231, 213, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 249, 4, 0, 0, - 246, 213, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 243, 45, 0, 0, 5, 214, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 244, 45, 0, 0, 20, 214, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 245, 45, 0, 0, 35, 214, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 246, 45, 0, 0, 50, 214, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 152, 4, 0, 0, 65, 214, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 247, 45, 0, 0, 80, 214, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 249, 45, - 0, 0, 95, 214, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 250, 45, 0, 0, 110, 214, 3, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 251, 45, 0, 0, 125, 214, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 252, 45, 0, 0, 140, 214, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 253, 45, 0, 0, 155, 214, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 254, 45, 0, 0, - 171, 214, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 248, 45, 0, 0, 182, 214, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 174, 4, 0, 0, 197, 214, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 88, 4, 0, 0, 212, 214, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 62, 3, 0, 0, 228, 214, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 46, 0, 0, 239, 214, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 88, 4, 0, 0, 254, 214, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 62, 3, 0, 0, - 13, 215, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 255, 45, 0, 0, 34, 215, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 67, 46, 0, 0, 45, 215, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 138, 18, 0, 0, 60, 215, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 3, 46, 0, 0, 75, 215, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 6, 46, 0, 0, 90, 215, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 7, 46, 0, 0, 105, 215, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 8, 46, 0, 0, - 120, 215, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 15, 46, 0, 0, 135, 215, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 16, 46, 0, 0, 150, 215, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 165, 215, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 17, 46, 0, 0, 180, 215, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 22, 46, 0, 0, 195, 215, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 23, 46, 0, 0, 210, 215, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 24, 46, - 0, 0, 225, 215, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 25, 46, 0, 0, 240, 215, 3, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 28, 46, 0, 0, 255, 215, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 29, 46, 0, 0, 14, 216, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 30, 46, 0, 0, 29, 216, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 31, 46, 0, 0, 44, 216, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 32, 46, 0, 0, 59, 216, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 33, 46, 0, - 0, 74, 216, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 164, 45, 0, 0, 89, 216, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 153, 2, 0, 0, 104, 216, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 44, 46, 0, 0, 119, 216, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 45, 46, 0, 0, 134, 216, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 167, 2, 0, 0, 149, - 216, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 46, 46, 0, 0, 164, 216, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 47, - 46, 0, 0, 179, 216, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 2, 0, 0, 194, 216, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 48, 46, 0, 0, 215, 216, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 5, 46, 0, 0, 226, 216, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 155, 12, 0, 0, 241, 216, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 4, 46, 0, - 0, 5, 217, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 14, 46, 0, 0, 16, 217, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 9, 46, 0, 0, 22, 217, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 10, 46, 0, 0, 28, 217, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 11, 46, 0, 0, 34, 217, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 12, 46, 0, 0, 40, 217, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 13, 46, 0, 0, 52, 217, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 21, 46, 0, 0, - 63, 217, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 155, 12, 0, 0, 78, 217, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 18, 46, 0, 0, 93, 217, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 19, 46, 0, 0, 108, 217, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 20, 46, 0, 0, 141, 217, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 27, 46, 0, 0, 152, 217, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 103, 4, 0, 0, 167, 217, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 26, 46, 0, - 0, 183, 217, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 43, 46, 0, 0, 194, 217, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 34, 46, 0, 0, 209, 217, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 42, 46, 0, 0, 229, 217, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 41, 46, 0, 0, 240, 217, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 35, 46, 0, 0, 246, - 217, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 36, 46, 0, 0, 252, 217, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 37, - 46, 0, 0, 2, 218, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 38, 46, 0, 0, 8, 218, 3, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 39, 46, 0, 0, 14, 218, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 40, 46, 0, 0, 38, 218, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 66, 46, 0, 0, 49, 218, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 34, 46, 0, 0, 64, 218, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 49, 46, 0, 0, 79, 218, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 50, 46, 0, - 0, 94, 218, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 51, 46, 0, 0, 109, 218, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 183, 2, 0, 0, 124, 218, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 52, 46, 0, 0, 139, 218, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 53, 46, 0, 0, 154, 218, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 54, 46, 0, 0, 169, - 218, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 55, 46, 0, 0, 184, 218, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 56, - 46, 0, 0, 199, 218, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 57, 46, 0, 0, 214, 218, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 58, 46, 0, 0, 229, 218, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 59, 46, 0, 0, 244, 218, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 64, 46, 0, 0, 3, 219, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 65, 46, 0, 0, - 23, 219, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 63, 46, 0, 0, 34, 219, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 60, 46, 0, 0, 40, 219, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 61, 46, 0, 0, 46, 219, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 62, 46, 0, 0, 63, 219, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 95, 46, 0, 0, 74, 219, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 78, 46, 0, 0, 89, 219, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 74, 46, 0, 0, - 104, 219, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 46, 0, 0, 119, 219, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 76, 46, 0, 0, 139, 219, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 94, 46, 0, 0, 150, 219, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 79, 46, 0, 0, 156, 219, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 80, 46, 0, 0, 162, 219, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 81, 46, 0, 0, 168, 219, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 82, 46, - 0, 0, 174, 219, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 83, 46, 0, 0, 180, 219, 3, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 84, 46, 0, 0, 186, 219, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 85, 46, 0, 0, 192, 219, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 86, 46, 0, 0, 198, 219, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 87, 46, 0, 0, 204, - 219, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 88, 46, 0, 0, 210, 219, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 89, - 46, 0, 0, 216, 219, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 90, 46, 0, 0, 222, 219, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 91, 46, 0, 0, 228, 219, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 92, 46, 0, 0, 234, 219, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 93, 46, 0, 0, 2, 220, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 165, 46, 0, 0, - 13, 220, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 48, 46, 0, 0, 28, 220, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 99, 46, 0, 0, 43, 220, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 34, 46, 0, 0, 58, 220, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 7, 46, 0, 0, 73, 220, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 102, 46, 0, 0, 88, 220, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 103, 46, 0, 0, 103, 220, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 113, 46, 0, 0, - 118, 220, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 121, 46, 0, 0, 133, 220, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 125, 46, 0, 0, 148, 220, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 141, 46, 0, 0, 163, 220, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 142, 46, 0, 0, 184, 220, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 101, 46, 0, 0, 195, - 220, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 210, 220, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 29, - 41, 0, 0, 225, 220, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 51, 46, 0, 0, 240, 220, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 100, 46, 0, 0, 0, 221, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 112, 46, 0, 0, 11, 221, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 130, 3, 0, 0, 26, 221, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 104, 46, 0, - 0, 41, 221, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 105, 46, 0, 0, 56, 221, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 106, 46, 0, 0, 71, 221, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 107, 46, 0, 0, 87, 221, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 111, 46, 0, 0, 98, 221, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 108, 46, 0, 0, 113, - 221, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 109, 46, 0, 0, 128, 221, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 110, 46, 0, 0, 143, 221, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 87, 8, 0, 0, 171, 221, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 120, 46, 0, 0, 182, 221, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 114, 46, 0, 0, 197, - 221, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 130, 3, 0, 0, 212, 221, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 115, - 46, 0, 0, 228, 221, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 119, 46, 0, 0, 239, 221, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 116, 46, 0, 0, 254, 221, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 109, 46, 0, 0, 13, 222, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 117, 46, 0, 0, 28, 222, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 118, 46, 0, - 0, 44, 222, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 124, 46, 0, 0, 55, 222, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 122, 46, 0, 0, 70, 222, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 130, 3, 0, 0, 85, 222, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 123, 46, 0, 0, 113, 222, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 140, 46, 0, 0, 124, - 222, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 48, 46, 0, 0, 139, 222, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 126, - 46, 0, 0, 159, 222, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 139, 46, 0, 0, 170, 222, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 127, 46, 0, 0, 176, 222, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 128, 46, 0, 0, 182, 222, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 129, 46, 0, 0, 188, 222, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 130, 46, - 0, 0, 194, 222, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 131, 46, 0, 0, 200, 222, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 132, 46, 0, 0, 206, 222, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 133, 46, 0, 0, 212, 222, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 134, 46, 0, 0, 218, 222, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 135, 46, 0, 0, - 224, 222, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 136, 46, 0, 0, 230, 222, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 137, 46, 0, 0, 236, 222, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 138, 46, 0, 0, 253, 222, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 164, 46, 0, 0, 8, 223, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 143, 46, 0, 0, 23, - 223, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 144, 46, 0, 0, 38, 223, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, - 46, 0, 0, 53, 223, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 163, 46, 0, 0, 75, 223, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 154, 4, 0, 0, 90, 223, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 62, 3, 0, 0, 107, 223, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 159, 46, 0, 0, 118, 223, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 145, 46, 0, 0, - 133, 223, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 146, 46, 0, 0, 148, 223, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 150, 46, 0, 0, 163, 223, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 158, 46, 0, 0, 179, 223, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 149, 46, 0, 0, 190, 223, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 147, 46, 0, 0, 205, - 223, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 148, 46, 0, 0, 233, 223, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 157, 46, 0, 0, 244, 223, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 151, 46, 0, 0, 3, 224, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 152, 46, 0, 0, 18, 224, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 153, 46, 0, 0, 33, 224, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 46, 0, 0, 48, 224, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 155, 46, - 0, 0, 63, 224, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 156, 46, 0, 0, 91, 224, 3, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 162, 46, 0, 0, 102, 224, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 161, 46, 0, 0, 140, 224, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 193, 46, 0, 0, 151, 224, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 167, 2, 0, 0, - 166, 224, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 167, 46, 0, 0, 181, 224, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 168, 46, 0, 0, 196, 224, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 174, 46, 0, 0, 211, 224, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 179, 46, 0, 0, 226, 224, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 180, 46, 0, 0, 241, - 224, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 186, 46, 0, 0, 0, 225, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 187, - 46, 0, 0, 15, 225, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 188, 46, 0, 0, 30, 225, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 160, 2, 0, 0, 50, 225, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 173, 46, 0, 0, 61, 225, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 169, 46, 0, 0, 67, 225, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 170, 46, 0, 0, 73, - 225, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 171, 46, 0, 0, 79, 225, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 172, - 46, 0, 0, 90, 225, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 178, 46, 0, 0, 101, 225, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 175, 46, 0, 0, 107, 225, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 176, 46, 0, 0, 113, 225, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 177, 46, 0, 0, 124, 225, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 185, 46, - 0, 0, 135, 225, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 181, 46, 0, 0, 141, 225, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 182, 46, 0, 0, 147, 225, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 46, 0, 0, 153, 225, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 184, 46, 0, 0, 164, 225, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 192, 46, 0, 0, - 175, 225, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 189, 46, 0, 0, 181, 225, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 190, 46, 0, 0, 187, 225, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 191, 46, 0, 0, 204, 225, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 215, 46, 0, 0, 215, 225, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 167, 2, 0, 0, 230, - 225, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 195, 46, 0, 0, 245, 225, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 179, 46, 0, 0, 4, 226, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 180, 46, 0, 0, 19, 226, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 196, 46, 0, 0, 47, 226, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 214, 46, 0, 0, 58, 226, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 197, 46, 0, 0, 73, 226, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 202, 46, 0, - 0, 88, 226, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 205, 46, 0, 0, 103, 226, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 183, 2, 0, 0, 118, 226, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 65, 46, 0, 0, 133, 226, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 213, 46, 0, 0, 149, 226, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 201, 46, 0, 0, 160, - 226, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 198, 46, 0, 0, 175, 226, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 199, 46, 0, 0, 190, 226, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 200, 46, 0, 0, 206, 226, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 204, 46, 0, 0, 217, 226, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 52, 46, 0, 0, 232, 226, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 203, 46, 0, 0, 248, 226, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 212, 46, - 0, 0, 3, 227, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 122, 34, 0, 0, 18, 227, 3, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 211, 46, 0, 0, 46, 227, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 210, 46, 0, 0, 57, 227, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 206, 46, 0, 0, 72, 227, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 207, 46, 0, 0, 87, - 227, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 208, 46, 0, 0, 102, 227, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 209, 46, 0, 0, 128, 227, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 224, 46, 0, 0, 139, 227, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 218, 46, 0, 0, 154, 227, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 219, 46, 0, 0, 169, - 227, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 107, 46, 0, 0, 184, 227, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 220, 46, 0, 0, 199, 227, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 221, 46, 0, 0, 214, 227, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 223, 46, 0, 0, 234, 227, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 222, 46, 0, 0, 252, - 227, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 228, 46, 0, 0, 7, 228, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 226, - 46, 0, 0, 22, 228, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 227, 46, 0, 0, 48, 228, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 234, 46, 0, 0, 59, 228, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 232, 46, 0, 0, 74, 228, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 233, 46, 0, 0, 89, 228, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 219, 45, 0, 0, - 104, 228, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 220, 45, 0, 0, 119, 228, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 221, 45, 0, 0, 134, 228, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 225, 9, 0, 0, 160, 228, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 242, 46, 0, 0, 171, 228, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 189, 4, 0, 0, 186, - 228, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 201, 228, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 239, - 46, 0, 0, 216, 228, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 240, 46, 0, 0, 231, 228, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 250, 13, 0, 0, 246, 228, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 241, 46, 0, 0, 6, 229, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 238, 46, 0, 0, 17, 229, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 236, 46, 0, - 0, 32, 229, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 237, 46, 0, 0, 140, 229, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 15, 47, 0, 0, 151, 229, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 1, 47, 0, 0, 166, 229, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 2, 47, 0, 0, 184, 229, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 3, 47, 0, 0, 202, 229, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 4, 47, 0, 0, 224, 229, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 5, 47, 0, 0, - 239, 229, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 6, 47, 0, 0, 254, 229, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 7, 47, 0, 0, 13, 230, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 8, 47, 0, 0, 28, 230, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 88, 41, 0, 0, 46, 230, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 9, 47, 0, 0, 64, 230, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 10, 47, 0, 0, 82, 230, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 11, 47, 0, 0, - 100, 230, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 12, 47, 0, 0, 118, 230, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 13, 47, 0, 0, 136, 230, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 14, 47, 0, 0, 166, 230, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 29, 47, 0, 0, 177, 230, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 9, 0, 0, 0, 192, 230, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 24, 47, 0, 0, 207, 230, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 25, 47, 0, - 0, 227, 230, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 23, 47, 0, 0, 238, 230, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 21, 47, 0, 0, 244, 230, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 22, 47, 0, 0, 5, 231, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 28, 47, 0, 0, 16, 231, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 26, 47, 0, 0, 31, 231, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 27, 47, 0, 0, 52, 231, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 30, 47, 0, 0, - 62, 231, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 40, 47, 0, 0, 72, 231, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 42, 47, 0, 0, 81, 231, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 49, 47, 0, 0, 92, 231, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 44, 47, 0, 0, 98, 231, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 45, 47, 0, 0, 104, 231, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 46, 47, 0, 0, 110, 231, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 47, 47, 0, - 0, 116, 231, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 48, 47, 0, 0, 128, 231, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 54, 47, 0, 0, 133, 231, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 47, 0, 0, 144, 231, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 75, 25, 0, 0, 159, 231, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 56, 47, 0, 0, 174, - 231, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 71, 47, 0, 0, 189, 231, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 72, - 47, 0, 0, 204, 231, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 73, 47, 0, 0, 219, 231, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 74, 47, 0, 0, 239, 231, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 47, 0, 0, 250, 231, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 57, 47, 0, 0, 0, 232, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 58, 47, 0, 0, - 6, 232, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 59, 47, 0, 0, 12, 232, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 60, 47, 0, 0, 18, 232, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 61, 47, 0, 0, 24, 232, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 62, 47, 0, 0, 30, 232, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 63, 47, 0, 0, 36, 232, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 64, 47, 0, 0, 42, 232, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 65, 47, 0, 0, - 48, 232, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 66, 47, 0, 0, 54, 232, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 67, 47, 0, 0, 60, 232, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 68, 47, 0, 0, 66, 232, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 69, 47, 0, 0, 73, 232, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 105, 47, 0, 0, 84, 232, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 155, 12, 0, 0, 99, 232, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 18, 46, 0, - 0, 114, 232, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 76, 47, 0, 0, 129, 232, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 15, 46, 0, 0, 144, 232, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 4, 46, 0, 0, 159, 232, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 16, 46, 0, 0, 174, 232, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 81, 47, 0, 0, 189, 232, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 87, 47, 0, 0, 204, 232, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 88, 47, - 0, 0, 219, 232, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 89, 47, 0, 0, 234, 232, 3, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 90, 47, 0, 0, 249, 232, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 91, 47, 0, 0, 8, 233, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 92, 47, 0, 0, 23, 233, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 93, 47, 0, 0, 38, 233, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 94, 47, 0, 0, 53, 233, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 95, 47, 0, - 0, 68, 233, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 96, 47, 0, 0, 83, 233, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 104, 47, 0, 0, 104, 233, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 103, 47, 0, 0, 115, 233, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 114, 3, 0, 0, 130, 233, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 33, 6, 0, 0, 145, - 233, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 65, 16, 0, 0, 160, 233, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 97, - 47, 0, 0, 175, 233, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 98, 47, 0, 0, 190, 233, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 250, 36, 0, 0, 205, 233, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 123, 3, 0, 0, 225, 233, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 102, 47, 0, 0, 236, 233, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 99, 47, 0, - 0, 242, 233, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 100, 47, 0, 0, 248, 233, 3, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 101, 47, 0, 0, 255, 233, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 171, 47, 0, 0, 11, 234, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 106, 47, 0, 0, 26, 234, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 107, 47, 0, 0, 41, - 234, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 18, 46, 0, 0, 56, 234, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 108, - 47, 0, 0, 71, 234, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 155, 12, 0, 0, 86, 234, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 4, 46, 0, 0, 101, 234, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 109, 47, 0, 0, 116, 234, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 15, 46, 0, 0, 131, 234, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 16, 46, 0, 0, - 146, 234, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 89, 47, 0, 0, 161, 234, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 122, 47, 0, 0, 176, 234, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 127, 47, 0, 0, 191, 234, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 114, 3, 0, 0, 206, 234, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 65, 16, 0, 0, 221, 234, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 145, 47, 0, 0, 236, 234, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, - 0, 0, 251, 234, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 146, 47, 0, 0, 10, 235, 3, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 94, 47, 0, 0, 25, 235, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 95, 47, 0, 0, 40, 235, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 147, 47, 0, 0, 55, 235, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 148, 47, 0, 0, 71, - 235, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 149, 47, 0, 0, 87, 235, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 150, - 47, 0, 0, 103, 235, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 162, 47, 0, 0, 119, 235, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 163, 47, 0, 0, 135, 235, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 164, 47, 0, 0, 151, 235, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 165, 47, 0, 0, 167, 235, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 166, 47, - 0, 0, 183, 235, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 167, 47, 0, 0, 199, 235, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 168, 47, 0, 0, 215, 235, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 169, 47, 0, 0, 231, 235, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 170, 47, 0, 0, 247, 235, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 73, 47, 0, 0, - 12, 236, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 121, 47, 0, 0, 23, 236, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 110, 47, 0, 0, 29, 236, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 111, 47, 0, 0, 35, 236, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 112, 47, 0, 0, 41, 236, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 113, 47, 0, 0, 47, 236, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 114, 47, 0, 0, 53, 236, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 115, 47, - 0, 0, 59, 236, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 116, 47, 0, 0, 65, 236, 3, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 117, 47, 0, 0, 71, 236, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 118, 47, 0, 0, 77, 236, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 119, 47, 0, 0, 83, 236, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 120, 47, 0, 0, 94, - 236, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 126, 47, 0, 0, 105, 236, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 123, 47, 0, 0, 111, 236, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 124, 47, 0, 0, 117, 236, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 125, 47, 0, 0, 124, 236, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 144, 47, 0, 0, 135, - 236, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 128, 47, 0, 0, 150, 236, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 129, 47, 0, 0, 165, 236, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 130, 47, 0, 0, 180, 236, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 131, 47, 0, 0, 195, 236, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 206, 45, 0, 0, 210, - 236, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 207, 45, 0, 0, 225, 236, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 90, - 47, 0, 0, 240, 236, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 132, 47, 0, 0, 255, 236, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 133, 47, 0, 0, 14, 237, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 91, 47, 0, 0, 29, 237, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 134, 47, 0, 0, 44, 237, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 96, 47, 0, - 0, 59, 237, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 104, 47, 0, 0, 74, 237, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 135, 47, 0, 0, 89, 237, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 136, 47, 0, 0, 104, 237, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 137, 47, 0, 0, 119, 237, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 138, 47, 0, 0, 151, - 237, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 143, 47, 0, 0, 162, 237, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 139, 47, 0, 0, 168, 237, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 140, 47, 0, 0, 174, 237, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 141, 47, 0, 0, 180, 237, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 142, 47, 0, 0, 187, - 237, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 161, 47, 0, 0, 198, 237, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 151, 47, 0, 0, 213, 237, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 55, 8, 0, 0, 235, 237, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 159, 47, 0, 0, 250, 237, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 47, 0, 0, 15, 238, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 158, 47, 0, 0, 26, 238, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 152, 47, - 0, 0, 32, 238, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 153, 47, 0, 0, 38, 238, 3, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 154, 47, 0, 0, 44, 238, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 155, 47, 0, 0, 50, 238, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 156, 47, 0, 0, 56, 238, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 157, 47, 0, 0, 68, - 238, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 176, 47, 0, 0, 78, 238, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 248, - 47, 0, 0, 89, 238, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 47, 0, 0, 104, 238, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 78, 46, 0, 0, 119, 238, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 2, 0, 0, 134, 238, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 82, 12, 0, 0, 149, 238, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 204, 42, 0, - 0, 164, 238, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 239, 47, 0, 0, 179, 238, 3, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 31, 47, 0, 0, 194, 238, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 234, 47, 0, 0, 209, 238, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 235, 47, 0, 0, 224, 238, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 236, 47, 0, 0, - 239, 238, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 240, 47, 0, 0, 254, 238, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 241, 47, 0, 0, 13, 239, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 242, 47, 0, 0, 28, 239, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 243, 47, 0, 0, 43, 239, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 244, 47, 0, 0, 58, - 239, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 245, 47, 0, 0, 73, 239, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 189, - 47, 0, 0, 88, 239, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 246, 47, 0, 0, 103, 239, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 247, 47, 0, 0, 124, 239, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 47, 0, 0, 136, 239, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 97, 46, 0, 0, 151, 239, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, - 0, 0, 166, 239, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 184, 47, 0, 0, 181, 239, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 185, 47, 0, 0, 196, 239, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 88, 41, 0, 0, 211, 239, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 210, 47, 0, 0, 226, 239, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 211, 47, 0, 0, - 241, 239, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 228, 47, 0, 0, 0, 240, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 230, 47, 0, 0, 15, 240, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 231, 47, 0, 0, 30, 240, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 232, 47, 0, 0, 45, 240, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 233, 47, 0, 0, 60, 240, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 153, 2, 0, 0, 75, 240, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 213, 40, - 0, 0, 91, 240, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 159, 5, 0, 0, 108, 240, 3, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 209, 47, 0, 0, 119, 240, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 48, 46, 0, 0, 134, 240, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 186, 47, 0, 0, 149, 240, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 187, 47, 0, 0, - 164, 240, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 188, 47, 0, 0, 179, 240, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 189, 47, 0, 0, 194, 240, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 197, 47, 0, 0, 209, 240, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 198, 47, 0, 0, 224, 240, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 199, 47, 0, 0, 239, - 240, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 200, 47, 0, 0, 254, 240, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 201, 47, 0, 0, 13, 241, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 202, 47, 0, 0, 28, 241, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 203, 47, 0, 0, 43, 241, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 204, 47, 0, 0, 58, 241, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 205, 47, 0, 0, 73, 241, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 206, 47, - 0, 0, 88, 241, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 207, 47, 0, 0, 103, 241, 3, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 208, 47, 0, 0, 123, 241, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 196, 47, 0, 0, 134, 241, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 190, 47, 0, 0, 140, 241, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 191, 47, 0, 0, - 146, 241, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 192, 47, 0, 0, 152, 241, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 193, 47, 0, 0, 158, 241, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 194, 47, 0, 0, 164, 241, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 195, 47, 0, 0, 171, 241, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 227, 47, 0, 0, 182, - 241, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 123, 3, 0, 0, 197, 241, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 79, - 28, 0, 0, 217, 241, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 221, 47, 0, 0, 228, 241, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 212, 47, 0, 0, 234, 241, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 213, 47, 0, 0, 240, 241, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 214, 47, 0, 0, 246, 241, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 215, 47, - 0, 0, 252, 241, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 216, 47, 0, 0, 2, 242, 3, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 217, 47, 0, 0, 8, 242, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 218, 47, 0, 0, 14, 242, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 219, 47, 0, 0, 20, 242, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 220, 47, 0, 0, 31, - 242, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 226, 47, 0, 0, 42, 242, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 222, - 47, 0, 0, 48, 242, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 223, 47, 0, 0, 54, 242, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 224, 47, 0, 0, 60, 242, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 225, 47, 0, 0, 71, 242, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 229, 47, 0, 0, 89, 242, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 238, 47, 0, 0, - 100, 242, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 81, 31, 0, 0, 162, 242, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 237, 47, 0, 0, 173, 242, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 123, 3, 0, 0, 188, 242, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 234, 47, 0, 0, 221, 242, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 235, 47, 0, 0, 236, - 242, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 236, 47, 0, 0, 2, 243, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 250, - 47, 0, 0, 12, 243, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 252, 47, 0, 0, 22, 243, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 6, 48, 0, 0, 31, 243, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 255, 47, 0, 0, 44, 243, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 0, 48, 0, 0, 57, 243, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 1, 48, 0, 0, 70, - 243, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 158, 3, 0, 0, 83, 243, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 153, - 2, 0, 0, 96, 243, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 65, 6, 0, 0, 115, 243, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 0, 48, 0, 0, 124, 243, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 62, 3, 0, 0, 137, 243, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 39, 4, 0, 0, 150, 243, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 50, 8, 0, 0, 181, - 243, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 5, 48, 0, 0, 190, 243, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 60, - 8, 0, 0, 203, 243, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, 4, 0, 0, 216, 243, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 2, 48, 0, 0, 242, 243, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 4, 48, 0, 0, 251, 243, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 251, 4, 0, 0, 8, 244, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 164, 3, 0, 0, 21, - 244, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 3, 48, 0, 0, 44, 244, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 19, - 48, 0, 0, 67, 244, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 18, 48, 0, 0, 79, 244, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 17, 48, 0, 0, 88, 244, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 13, 48, 0, 0, 94, 244, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 14, 48, 0, 0, 100, 244, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 15, 48, 0, 0, 106, - 244, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 16, 48, 0, 0, 118, 244, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 155, - 48, 0, 0, 127, 244, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 22, 48, 0, 0, 140, 244, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 230, 25, 0, 0, 153, 244, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 119, 48, 0, 0, 166, 244, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 123, 48, 0, 0, 179, 244, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, 4, - 0, 0, 198, 244, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 48, 0, 0, 207, 244, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 157, 2, 0, 0, 220, 244, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 213, 4, 0, 0, 233, 244, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 23, 48, 0, 0, 246, 244, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 170, 17, 0, 0, - 3, 245, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 2, 5, 0, 0, 16, 245, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, - 4, 0, 0, 29, 245, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 110, 3, 0, 0, 42, 245, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 255, 16, 0, 0, 55, 245, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 3, 0, 0, 68, 245, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 152, 48, 0, 0, 81, 245, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 118, 3, 0, 0, 94, - 245, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, 4, 0, 0, 107, 245, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 153, - 48, 0, 0, 162, 245, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 29, 48, 0, 0, 199, 245, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 114, 7, 0, 0, 212, 245, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 239, 38, 0, 0, 226, 245, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 24, 48, 0, 0, 253, 245, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 239, 44, 0, - 0, 10, 246, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 25, 48, 0, 0, 31, 246, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 28, 48, 0, 0, 40, 246, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 23, 19, 0, 0, 53, 246, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 224, 31, 0, 0, 66, 246, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 230, 44, 0, 0, 79, 246, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 26, 48, 0, 0, 92, 246, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 27, 48, 0, - 0, 116, 246, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 151, 48, 0, 0, 125, 246, 3, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 56, 4, 0, 0, 138, 246, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 30, 48, 0, 0, 151, 246, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 23, 48, 0, 0, 164, 246, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 238, 2, 0, 0, 177, - 246, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 239, 2, 0, 0, 190, 246, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 91, - 4, 0, 0, 203, 246, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 116, 6, 0, 0, 216, 246, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 31, 48, 0, 0, 229, 246, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 131, 17, 0, 0, 242, 246, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 32, 48, 0, 0, 255, 246, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 38, 0, 0, - 12, 247, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 35, 48, 0, 0, 25, 247, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 37, 48, 0, 0, 38, 247, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 38, 48, 0, 0, 51, 247, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 39, 48, 0, 0, 64, 247, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 40, 48, 0, 0, 77, 247, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 148, 48, 0, 0, 90, 247, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 12, 40, 0, 0, - 103, 247, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 149, 48, 0, 0, 116, 247, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 150, 48, 0, 0, 129, 247, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 155, 3, 0, 0, 142, 247, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 111, 248, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 34, 48, 0, 0, 122, - 248, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 175, 4, 0, 0, 137, 248, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 101, - 5, 0, 0, 152, 248, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 5, 3, 0, 0, 167, 248, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 33, 48, 0, 0, 182, 248, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 206, 13, 0, 0, 197, 248, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 107, 13, 0, 0, 28, 249, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 36, 48, 0, 0, - 125, 249, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 147, 48, 0, 0, 134, 249, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 41, 48, 0, 0, 147, 249, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 42, 48, 0, 0, 160, 249, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 160, 2, 0, 0, 173, 249, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 230, 25, 0, 0, 186, - 249, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 171, 4, 0, 0, 199, 249, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 118, - 3, 0, 0, 212, 249, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 142, 48, 0, 0, 225, 249, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 143, 48, 0, 0, 238, 249, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 144, 48, 0, 0, 251, 249, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 145, 48, 0, 0, 8, 250, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 146, 48, - 0, 0, 21, 250, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, 4, 0, 0, 40, 250, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 82, 48, 0, 0, 50, 250, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 3, 0, 0, 63, 250, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 43, 48, 0, 0, 76, 250, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 171, 4, 0, 0, 89, 250, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 239, 38, 0, 0, 102, 250, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 118, 3, 0, - 0, 115, 250, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 186, 17, 0, 0, 128, 250, 3, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 180, 23, 0, 0, 141, 250, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 131, 48, 0, 0, 154, 250, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 132, 48, 0, 0, 167, 250, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 133, 48, 0, 0, - 180, 250, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 134, 48, 0, 0, 193, 250, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 135, 48, 0, 0, 206, 250, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 136, 48, 0, 0, 219, 250, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 137, 48, 0, 0, 232, 250, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 138, 48, 0, 0, 250, - 250, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 255, 16, 0, 0, 7, 251, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 139, - 48, 0, 0, 21, 251, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, 4, 0, 0, 34, 251, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 140, 48, 0, 0, 47, 251, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 141, 48, 0, 0, 67, 251, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 130, 48, 0, 0, 77, 251, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 44, 48, 0, 0, - 90, 251, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 45, 48, 0, 0, 103, 251, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 183, 2, 0, 0, 116, 251, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 130, 8, 0, 0, 129, 251, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 110, 3, 0, 0, 142, 251, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 105, 48, 0, 0, 155, 251, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 60, 3, 0, 0, 168, 251, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 17, 26, 0, - 0, 181, 251, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 3, 0, 0, 194, 251, 3, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 116, 48, 0, 0, 207, 251, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 117, 48, 0, 0, 220, 251, 3, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 119, 48, 0, 0, 233, 251, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 123, 48, 0, 0, 246, - 251, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 142, 27, 0, 0, 3, 252, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 118, - 3, 0, 0, 16, 252, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 124, 48, 0, 0, 29, 252, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 180, 23, 0, 0, 42, 252, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 120, 48, 0, 0, 55, 252, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 223, 7, 0, 0, 68, 252, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 25, 48, 0, 0, - 81, 252, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 173, 2, 0, 0, 94, 252, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 126, 48, 0, 0, 107, 252, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 127, 48, 0, 0, 120, 252, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 128, 48, 0, 0, 134, 252, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 193, 34, 0, 0, 148, - 252, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, 4, 0, 0, 162, 252, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 129, - 48, 0, 0, 229, 252, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 104, 48, 0, 0, 238, 252, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 157, 2, 0, 0, 251, 252, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 46, 48, 0, 0, 8, 253, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 123, 4, 0, 0, 21, 253, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 62, 43, 0, 0, - 34, 253, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 96, 48, 0, 0, 47, 253, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 44, 48, 0, 0, 60, 253, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 45, 48, 0, 0, 73, 253, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 97, 48, 0, 0, 86, 253, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 238, 2, 0, 0, 99, 253, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 160, 23, 0, 0, 112, 253, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 239, 2, 0, 0, - 125, 253, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 31, 48, 0, 0, 138, 253, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 176, 12, 0, 0, 151, 253, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 98, 48, 0, 0, 164, 253, 3, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 99, 48, 0, 0, 177, 253, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 12, 40, 0, 0, 190, 253, - 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 85, 48, 0, 0, 203, 253, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 100, 48, - 0, 0, 216, 253, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 101, 48, 0, 0, 229, 253, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 102, 48, 0, 0, 242, 253, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 103, 48, 0, 0, 255, 253, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 155, 3, 0, 0, 28, 254, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 95, 48, 0, 0, - 37, 254, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 50, 254, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 47, 48, 0, 0, 63, 254, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 78, 48, 0, 0, 76, 254, 3, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 175, 19, 0, 0, 89, 254, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 79, 48, 0, 0, 102, 254, 3, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 80, 48, 0, 0, 115, 254, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 31, 48, 0, - 0, 128, 254, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 131, 17, 0, 0, 141, 254, 3, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 154, 38, 0, 0, 154, 254, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 82, 48, 0, 0, 167, 254, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 83, 48, 0, 0, 180, 254, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 84, 48, 0, 0, 193, - 254, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 12, 40, 0, 0, 206, 254, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 85, - 48, 0, 0, 246, 254, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 69, 48, 0, 0, 0, 255, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 153, 2, 0, 0, 13, 255, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 48, 48, 0, 0, 26, 255, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 49, 48, 0, 0, 39, 255, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 158, 3, 0, 0, 52, - 255, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 145, 9, 0, 0, 65, 255, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 50, - 48, 0, 0, 78, 255, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 51, 48, 0, 0, 91, 255, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 52, 48, 0, 0, 104, 255, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 65, 6, 0, 0, 117, 255, 3, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 53, 48, 0, 0, 130, 255, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 54, 48, 0, 0, 143, - 255, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 55, 48, 0, 0, 156, 255, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 173, - 2, 0, 0, 169, 255, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 56, 48, 0, 0, 183, 255, 3, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 56, 48, 0, 0, 192, 255, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 57, 48, 0, 0, 205, 255, 3, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 58, 48, 0, 0, 218, 255, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 59, 48, 0, 0, - 231, 255, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, 130, 8, 0, 0, 244, 255, 3, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 60, 48, 0, 0, 1, 0, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 61, 48, 0, 0, 14, 0, 4, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 62, 48, 0, 0, 27, 0, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 63, 48, 0, 0, 40, 0, 4, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 64, 48, 0, 0, 53, 0, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 65, 48, 0, 0, 66, 0, 4, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 66, 48, 0, 0, 79, 0, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 67, 48, 0, 0, - 92, 0, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 68, 48, 0, 0, 111, 0, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 77, - 48, 0, 0, 120, 0, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 48, 0, 0, 133, 0, 4, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 71, 48, 0, 0, 146, 0, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 72, 48, 0, 0, 159, 0, 4, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 73, 48, 0, 0, 172, 0, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 74, 48, 0, 0, 185, 0, 4, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 48, 0, 0, 198, 0, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 76, 48, 0, 0, - 145, 1, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 81, 48, 0, 0, 156, 1, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 175, 4, 0, 0, 171, 1, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 101, 5, 0, 0, 186, 1, 4, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 5, 3, 0, 0, 201, 1, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 107, 13, 0, 0, 101, 2, 4, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 94, 48, 0, 0, 110, 2, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 3, 0, 0, 123, 2, - 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 11, 38, 0, 0, 136, 2, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 77, 3, 0, - 0, 149, 2, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 86, 48, 0, 0, 162, 2, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 87, 48, 0, 0, 175, 2, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 88, 48, 0, 0, 188, 2, 4, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 89, 48, 0, 0, 201, 2, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 90, 48, 0, 0, 214, 2, 4, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 91, 48, 0, 0, 228, 2, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 91, 48, 0, 0, - 237, 2, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 199, 18, 0, 0, 250, 2, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 200, 18, 0, 0, 7, 3, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 230, 44, 0, 0, 20, 3, 4, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 27, 48, 0, 0, 33, 3, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 92, 48, 0, 0, 46, 3, 4, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 93, 48, 0, 0, 59, 3, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 23, 19, 0, 0, 72, 3, 4, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 224, 31, 0, 0, 242, 3, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 115, 48, 0, - 0, 251, 3, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, 4, 0, 0, 8, 4, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 160, 2, 0, 0, 21, 4, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 106, 48, 0, 0, 34, 4, 4, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 118, 3, 0, 0, 47, 4, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 4, 0, 0, 61, 4, 4, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 114, 48, 0, 0, 70, 4, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 107, 48, 0, 0, 83, 4, - 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 108, 48, 0, 0, 96, 4, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 109, 48, 0, - 0, 109, 4, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 110, 48, 0, 0, 122, 4, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 111, 48, 0, 0, 135, 4, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 112, 48, 0, 0, 148, 4, 4, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 247, 18, 0, 0, 161, 4, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 113, 48, 0, 0, 180, 4, 4, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 118, 48, 0, 0, 190, 4, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 122, 48, 0, 0, - 199, 4, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 120, 48, 0, 0, 212, 4, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 212, 9, 0, 0, 226, 4, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 121, 48, 0, 0, 235, 4, 4, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 199, 18, 0, 0, 248, 4, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 200, 18, 0, 0, 6, 5, 4, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 125, 48, 0, 0, 15, 5, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 56, 4, 0, 0, 28, - 5, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 77, 3, 0, 0, 41, 5, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 23, 19, 0, - 0, 54, 5, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, 3, 0, 0, 80, 5, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 132, 48, 0, 0, 89, 5, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 62, 15, 0, 0, 187, 5, 4, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 161, 48, 0, 0, 198, 5, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 115, 4, 0, 0, 213, 5, 4, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 187, 3, 0, 0, 228, 5, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 132, 9, 0, 0, - 243, 5, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 138, 16, 0, 0, 2, 6, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 159, - 48, 0, 0, 24, 6, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 171, 4, 0, 0, 39, 6, 4, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 160, 48, 0, 0, 73, 6, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 168, 48, 0, 0, 82, 6, 4, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 180, 23, 0, 0, 95, 6, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 167, 48, 0, 0, 108, 6, 4, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 153, 2, 0, 0, 121, 6, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 97, 40, 0, 0, - 134, 6, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 9, 48, 0, 0, 147, 6, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 5, - 3, 0, 0, 190, 6, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 176, 48, 0, 0, 199, 6, 4, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 39, 4, 0, 0, 212, 6, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 170, 48, 0, 0, 225, 6, 4, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 171, 48, 0, 0, 238, 6, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 172, 48, 0, 0, 13, 7, 4, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 175, 48, 0, 0, 22, 7, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 62, 3, 0, 0, - 35, 7, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 173, 48, 0, 0, 48, 7, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, - 4, 0, 0, 61, 7, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 174, 48, 0, 0, 91, 7, 4, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 203, 48, 0, 0, 100, 7, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 201, 48, 0, 0, 106, 7, 4, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 202, 48, 0, 0, 118, 7, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 205, 48, 0, 0, 127, 7, - 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 200, 18, 0, 0, 140, 7, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 199, 18, - 0, 0, 153, 7, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 212, 9, 0, 0, 172, 7, 4, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 207, 48, 0, 0, 181, 7, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 153, 39, 0, 0, 194, 7, 4, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 155, 39, 0, 0, 207, 7, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 39, 0, 0, 220, 7, 4, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 156, 39, 0, 0, 233, 7, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 212, 9, 0, 0, - 252, 7, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 209, 48, 0, 0, 6, 8, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 210, - 48, 0, 0, 16, 8, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 211, 48, 0, 0, 43, 8, 4, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 214, 48, 0, 0, 52, 8, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 2, 0, 0, 65, 8, 4, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 30, 48, 0, 0, 78, 8, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 62, 43, 0, 0, 91, 8, 4, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 59, 8, 0, 0, 104, 8, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 94, 30, 0, 0, 117, - 8, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 215, 48, 0, 0, 130, 8, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 216, - 48, 0, 0, 143, 8, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 250, 13, 0, 0, 156, 8, 4, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 126, 17, 0, 0, 169, 8, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 217, 48, 0, 0, 182, 8, 4, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 218, 48, 0, 0, 195, 8, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 219, 48, 0, 0, 208, - 8, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 220, 48, 0, 0, 221, 8, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 221, - 48, 0, 0, 234, 8, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 222, 48, 0, 0, 247, 8, 4, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 223, 48, 0, 0, 4, 9, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 224, 48, 0, 0, 17, 9, 4, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 225, 48, 0, 0, 30, 9, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 226, 48, 0, 0, 43, 9, - 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 227, 48, 0, 0, 56, 9, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 228, 48, 0, - 0, 69, 9, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 229, 48, 0, 0, 82, 9, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 230, 48, 0, 0, 95, 9, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 231, 48, 0, 0, 108, 9, 4, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 232, 48, 0, 0, 121, 9, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 233, 48, 0, 0, 235, 10, 4, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 77, 49, 0, 0, 245, 10, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 237, 48, 0, - 0, 2, 11, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 249, 48, 0, 0, 15, 11, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 250, 48, 0, 0, 28, 11, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 253, 48, 0, 0, 41, 11, 4, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 254, 48, 0, 0, 54, 11, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 12, 49, 0, 0, 67, 11, 4, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 13, 49, 0, 0, 80, 11, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 17, 49, 0, 0, 93, - 11, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 24, 49, 0, 0, 106, 11, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 25, - 49, 0, 0, 119, 11, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 27, 49, 0, 0, 132, 11, 4, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 28, 49, 0, 0, 145, 11, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 29, 49, 0, 0, 158, 11, 4, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 30, 49, 0, 0, 171, 11, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 31, 49, 0, 0, 184, - 11, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 32, 49, 0, 0, 197, 11, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 33, - 49, 0, 0, 210, 11, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 34, 49, 0, 0, 223, 11, 4, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 35, 49, 0, 0, 236, 11, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 36, 49, 0, 0, 249, 11, 4, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 37, 49, 0, 0, 6, 12, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 38, 49, 0, 0, 19, 12, - 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, 49, 0, 0, 32, 12, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 40, 49, 0, - 0, 45, 12, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 41, 49, 0, 0, 58, 12, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 42, 49, 0, 0, 71, 12, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 43, 49, 0, 0, 84, 12, 4, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 44, 49, 0, 0, 97, 12, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 45, 49, 0, 0, 110, 12, 4, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 46, 49, 0, 0, 123, 12, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 47, 49, 0, 0, - 136, 12, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 48, 49, 0, 0, 149, 12, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 49, 49, 0, 0, 163, 12, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 50, 49, 0, 0, 177, 12, 4, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 51, 49, 0, 0, 191, 12, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 52, 49, 0, 0, 205, 12, 4, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 53, 49, 0, 0, 219, 12, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 54, 49, 0, 0, - 233, 12, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 55, 49, 0, 0, 247, 12, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 56, 49, 0, 0, 5, 13, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 57, 49, 0, 0, 19, 13, 4, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 58, 49, 0, 0, 33, 13, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 59, 49, 0, 0, 47, 13, 4, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 60, 49, 0, 0, 61, 13, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 62, 49, 0, 0, 75, 13, - 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 63, 49, 0, 0, 89, 13, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 69, 49, 0, - 0, 103, 13, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 71, 49, 0, 0, 117, 13, 4, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 76, 49, 0, 0, 158, 13, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 248, 48, 0, 0, 167, 13, 4, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 238, 48, 0, 0, 180, 13, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 239, 48, 0, 0, 193, 13, - 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 240, 48, 0, 0, 206, 13, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 241, 48, - 0, 0, 219, 13, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 242, 48, 0, 0, 232, 13, 4, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 243, 48, 0, 0, 245, 13, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 244, 48, 0, 0, 2, 14, 4, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 245, 48, 0, 0, 15, 14, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 246, 48, 0, 0, 28, 14, - 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 247, 48, 0, 0, 68, 14, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 252, 48, - 0, 0, 77, 14, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 251, 48, 0, 0, 129, 14, 4, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 11, 49, 0, 0, 139, 14, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 255, 48, 0, 0, 152, 14, 4, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 0, 49, 0, 0, 165, 14, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 1, 49, 0, 0, 178, 14, - 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 2, 49, 0, 0, 191, 14, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 3, 49, 0, - 0, 204, 14, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 4, 49, 0, 0, 217, 14, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 5, 49, 0, 0, 230, 14, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 6, 49, 0, 0, 243, 14, 4, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 7, 49, 0, 0, 0, 15, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 8, 49, 0, 0, 14, 15, 4, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 9, 49, 0, 0, 28, 15, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 10, 49, 0, 0, 69, 15, - 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 16, 49, 0, 0, 78, 15, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 14, 49, 0, - 0, 91, 15, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 15, 49, 0, 0, 131, 15, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 23, 49, 0, 0, 140, 15, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 18, 49, 0, 0, 153, 15, 4, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 19, 49, 0, 0, 166, 15, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 20, 49, 0, 0, 179, 15, 4, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 24, 46, 0, 0, 192, 15, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 21, 49, 0, 0, - 205, 15, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 22, 49, 0, 0, 245, 15, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 26, 49, 0, 0, 254, 15, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 36, 10, 0, 0, 11, 16, 4, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 21, 7, 0, 0, 24, 16, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 170, 17, 0, 0, 181, 17, 4, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 61, 49, 0, 0, 190, 17, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 238, 48, 0, 0, - 203, 17, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 13, 16, 0, 0, 243, 17, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 68, 49, 0, 0, 252, 17, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 238, 48, 0, 0, 9, 18, 4, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 13, 16, 0, 0, 22, 18, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 64, 49, 0, 0, 35, 18, 4, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 65, 49, 0, 0, 48, 18, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 66, 49, 0, 0, 61, - 18, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 67, 49, 0, 0, 101, 18, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 70, - 49, 0, 0, 110, 18, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 238, 48, 0, 0, 123, 18, 4, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 13, 16, 0, 0, 136, 18, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 19, 49, 0, 0, 149, 18, 4, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 65, 49, 0, 0, 189, 18, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 75, 49, 0, 0, 198, - 18, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 72, 49, 0, 0, 211, 18, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 73, - 49, 0, 0, 224, 18, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 74, 49, 0, 0, 250, 18, 4, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 79, 49, 0, 0, 3, 19, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 5, 3, 0, 0, 16, 19, 4, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 88, 4, 0, 0, 35, 19, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 84, 49, 0, 0, 44, 19, 4, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 39, 4, 0, 0, 57, 19, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 83, 49, 0, 0, 70, - 19, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 82, 49, 0, 0, 94, 19, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 90, 49, - 0, 0, 103, 19, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 195, 31, 0, 0, 116, 19, 4, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 93, 49, 0, 0, 129, 19, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 94, 49, 0, 0, 142, 19, 4, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 92, 13, 0, 0, 155, 19, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, 0, 0, 168, 19, - 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 97, 49, 0, 0, 218, 19, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 92, 49, 0, - 0, 229, 19, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 9, 0, 0, 0, 244, 19, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 227, 2, 0, 0, 3, 20, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 3, 7, 0, 0, 18, 20, 4, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 91, 49, 0, 0, 60, 20, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 96, 49, 0, 0, 71, 20, 4, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 90, 49, 0, 0, 86, 20, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 16, 7, 0, 0, 107, 20, - 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 95, 49, 0, 0, 124, 20, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 100, 49, - 0, 0, 133, 20, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 98, 49, 0, 0, 146, 20, 4, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 99, 49, 0, 0, 172, 20, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 127, 49, 0, 0, 181, 20, 4, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 192, 9, 0, 0, 194, 20, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 202, 4, 0, 0, 213, 20, - 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 126, 49, 0, 0, 224, 20, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 202, 4, - 0, 0, 239, 20, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 153, 2, 0, 0, 254, 20, 4, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 183, 2, 0, 0, 14, 21, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 125, 49, 0, 0, 23, 21, 4, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 118, 3, 0, 0, 36, 21, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 123, 4, 0, 0, 49, 21, - 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 9, 0, 0, 0, 62, 21, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 110, 3, 0, 0, - 75, 21, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 192, 9, 0, 0, 88, 21, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 43, - 6, 0, 0, 106, 21, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 111, 49, 0, 0, 115, 21, 4, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 102, 49, 0, 0, 121, 21, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 103, 49, 0, 0, 127, 21, 4, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 104, 49, 0, 0, 133, 21, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 105, 49, 0, 0, - 139, 21, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 106, 49, 0, 0, 145, 21, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 107, 49, 0, 0, 151, 21, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 108, 49, 0, 0, 157, 21, 4, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 109, 49, 0, 0, 163, 21, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 110, 49, 0, 0, 180, 21, - 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 124, 49, 0, 0, 189, 21, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 174, 3, - 0, 0, 202, 21, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 112, 49, 0, 0, 215, 21, 4, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 38, 8, 0, 0, 228, 21, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 113, 49, 0, 0, 241, 21, 4, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 5, 16, 0, 0, 254, 21, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 114, 49, 0, 0, 124, 22, - 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 123, 49, 0, 0, 133, 22, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 9, 0, 0, - 0, 146, 22, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 123, 4, 0, 0, 159, 22, 4, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 116, 10, 0, 0, 186, 22, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 126, 10, 0, 0, 204, 22, 4, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 115, 49, 0, 0, 217, 22, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 116, 49, 0, 0, 231, - 22, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 117, 49, 0, 0, 249, 22, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 100, - 10, 0, 0, 6, 23, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 118, 49, 0, 0, 19, 23, 4, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 140, 10, 0, 0, 33, 23, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 115, 5, 0, 0, 51, 23, 4, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 119, 49, 0, 0, 64, 23, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 100, 10, 0, 0, 78, 23, - 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 49, 12, 0, 0, 96, 23, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 83, 31, 0, - 0, 109, 23, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 120, 49, 0, 0, 136, 23, 4, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 225, 6, 0, 0, 154, 23, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 117, 10, 0, 0, 170, 23, 4, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 121, 49, 0, 0, 188, 23, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 122, 49, 0, 0, 201, 23, - 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 100, 10, 0, 0, 215, 23, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 214, 21, - 0, 0, 233, 23, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 159, 16, 0, 0, 2, 24, 4, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 137, 49, 0, 0, 12, 24, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 138, 49, 0, 0, 22, 24, 4, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 139, 49, 0, 0, 34, 24, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 10, 50, 0, 0, 44, 24, 4, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 198, 2, 0, 0, 57, 24, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 140, 49, 0, 0, - 71, 24, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 218, 49, 0, 0, 85, 24, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 219, 49, 0, 0, 99, 24, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 220, 49, 0, 0, 113, 24, 4, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 221, 49, 0, 0, 127, 24, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 222, 49, 0, 0, 141, 24, 4, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 223, 49, 0, 0, 155, 24, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 238, 49, 0, - 0, 169, 24, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 109, 17, 0, 0, 183, 24, 4, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 239, 49, 0, 0, 197, 24, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 240, 49, 0, 0, 211, 24, 4, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 174, 49, 0, 0, 225, 24, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 171, 49, 0, 0, 242, - 24, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 241, 49, 0, 0, 3, 25, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 242, - 49, 0, 0, 20, 25, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 243, 49, 0, 0, 37, 25, 4, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 150, 49, 0, 0, 54, 25, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 244, 49, 0, 0, 71, 25, 4, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 179, 49, 0, 0, 88, 25, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 245, 49, 0, 0, 105, - 25, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 246, 49, 0, 0, 122, 25, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 180, - 49, 0, 0, 139, 25, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 247, 49, 0, 0, 156, 25, 4, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 248, 49, 0, 0, 170, 25, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 249, 49, 0, 0, 184, 25, 4, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 250, 49, 0, 0, 198, 25, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 251, 49, 0, 0, - 212, 25, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 252, 49, 0, 0, 226, 25, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 34, 20, 0, 0, 240, 25, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 6, 38, 0, 0, 4, 26, 4, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 217, 49, 0, 0, 13, 26, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 76, 17, 0, 0, 26, 26, 4, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 141, 49, 0, 0, 39, 26, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 145, 49, 0, 0, 52, - 26, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 146, 49, 0, 0, 65, 26, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 147, - 49, 0, 0, 78, 26, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 148, 49, 0, 0, 91, 26, 4, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 149, 49, 0, 0, 107, 26, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 109, 19, 0, 0, 123, 26, 4, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 150, 49, 0, 0, 139, 26, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 151, 49, 0, 0, - 155, 26, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 152, 49, 0, 0, 171, 26, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 153, 49, 0, 0, 184, 26, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 154, 49, 0, 0, 197, 26, 4, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 155, 49, 0, 0, 215, 26, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 199, 5, 0, 0, 233, 26, - 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 156, 49, 0, 0, 249, 26, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 157, 49, - 0, 0, 9, 27, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 158, 49, 0, 0, 25, 27, 4, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 159, 49, 0, 0, 41, 27, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 160, 49, 0, 0, 57, 27, 4, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 161, 49, 0, 0, 73, 27, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 162, 49, 0, 0, 89, 27, 4, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 163, 49, 0, 0, 105, 27, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 164, 49, 0, - 0, 121, 27, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 165, 49, 0, 0, 137, 27, 4, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 166, 49, 0, 0, 153, 27, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 167, 49, 0, 0, 169, 27, 4, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 168, 49, 0, 0, 185, 27, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 169, 49, 0, 0, 201, - 27, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 170, 49, 0, 0, 218, 27, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 131, - 18, 0, 0, 232, 27, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 171, 49, 0, 0, 248, 27, 4, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 172, 49, 0, 0, 8, 28, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 173, 49, 0, 0, 24, 28, 4, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 174, 49, 0, 0, 40, 28, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 63, 7, 0, 0, 56, - 28, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 175, 49, 0, 0, 72, 28, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 176, - 49, 0, 0, 88, 28, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 177, 49, 0, 0, 104, 28, 4, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 178, 49, 0, 0, 120, 28, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 179, 49, 0, 0, 136, 28, 4, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 180, 49, 0, 0, 152, 28, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 181, 49, 0, 0, - 168, 28, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 182, 49, 0, 0, 181, 28, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 229, 41, 0, 0, 194, 28, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 49, 0, 0, 207, 28, 4, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 184, 49, 0, 0, 220, 28, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 185, 49, 0, 0, 233, 28, - 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 186, 49, 0, 0, 246, 28, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 193, 49, - 0, 0, 3, 29, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 198, 49, 0, 0, 16, 29, 4, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 79, 28, 0, 0, 29, 29, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 215, 49, 0, 0, 42, 29, 4, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 168, 49, 0, 0, 55, 29, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 6, 38, 0, 0, 69, 29, 4, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 144, 49, 0, 0, 78, 29, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 142, 49, 0, - 0, 91, 29, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 143, 49, 0, 0, 120, 29, 4, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 192, 49, 0, 0, 129, 29, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 66, 7, 0, 0, 142, 29, 4, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 159, 16, 0, 0, 155, 29, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 132, 45, 0, 0, 168, 29, - 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 157, 2, 0, 0, 181, 29, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 187, 49, - 0, 0, 194, 29, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, 4, 0, 0, 213, 29, 4, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 191, 49, 0, 0, 222, 29, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 188, 49, 0, 0, 235, 29, 4, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 189, 49, 0, 0, 248, 29, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, 4, 0, 0, 5, 30, - 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 190, 49, 0, 0, 36, 30, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 197, 49, - 0, 0, 45, 30, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 194, 49, 0, 0, 58, 30, 4, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 195, 49, 0, 0, 71, 30, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 196, 49, 0, 0, 90, 30, 4, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 214, 49, 0, 0, 99, 30, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 157, 2, 0, 0, 112, 30, 4, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 199, 49, 0, 0, 125, 30, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, 4, 0, 0, - 144, 30, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 213, 49, 0, 0, 153, 30, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 157, 2, 0, 0, 166, 30, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 74, 33, 0, 0, 179, 30, 4, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 63, 9, 0, 0, 192, 30, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 249, 4, 0, 0, 205, 30, 4, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 79, 28, 0, 0, 218, 30, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 211, 49, 0, 0, - 231, 30, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, 4, 0, 0, 244, 30, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 164, 38, 0, 0, 1, 31, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 155, 3, 0, 0, 19, 31, 4, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 132, 10, 0, 0, 32, 31, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 124, 3, 0, 0, 46, 31, 4, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 237, 18, 0, 0, 59, 31, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 242, 5, 0, 0, - 72, 31, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 212, 49, 0, 0, 91, 31, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 210, 49, 0, 0, 100, 31, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 118, 3, 0, 0, 113, 31, 4, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 245, 40, 0, 0, 126, 31, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 200, 49, 0, 0, 139, 31, 4, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 201, 49, 0, 0, 152, 31, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 202, 49, 0, - 0, 165, 31, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 206, 49, 0, 0, 178, 31, 4, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 156, 49, 0, 0, 191, 31, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 209, 49, 0, 0, 204, 31, 4, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 39, 4, 0, 0, 223, 31, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 205, 49, 0, 0, 232, 31, - 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 203, 49, 0, 0, 245, 31, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 204, 49, - 0, 0, 8, 32, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 208, 49, 0, 0, 17, 32, 4, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 203, 49, 0, 0, 30, 32, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 204, 49, 0, 0, 43, 32, 4, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 9, 0, 0, 0, 56, 32, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 207, 49, 0, 0, 70, 32, 4, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 216, 49, 0, 0, 79, 32, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 79, 28, 0, 0, - 92, 32, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 109, 19, 0, 0, 105, 32, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 229, 41, 0, 0, 124, 32, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 237, 49, 0, 0, 133, 32, 4, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 39, 4, 0, 0, 146, 32, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 79, 28, 0, 0, 160, 32, 4, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 236, 49, 0, 0, 169, 32, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 224, 49, 0, - 0, 182, 32, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 244, 16, 0, 0, 195, 32, 4, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 225, 49, 0, 0, 208, 32, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 226, 49, 0, 0, 221, 32, 4, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 227, 49, 0, 0, 234, 32, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 87, 15, 0, 0, 247, - 32, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 228, 49, 0, 0, 7, 33, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 229, - 49, 0, 0, 23, 33, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 230, 49, 0, 0, 39, 33, 4, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 231, 49, 0, 0, 55, 33, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 232, 49, 0, 0, 71, 33, 4, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 233, 49, 0, 0, 87, 33, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 234, 49, 0, 0, 100, - 33, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 235, 49, 0, 0, 113, 33, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 31, - 15, 0, 0, 126, 33, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 145, 17, 0, 0, 145, 33, 4, 0, 0, 0, 0, 0, 10, - 0, 0, 0, 3, 50, 0, 0, 156, 33, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 138, 45, 0, 0, 171, 33, 4, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 253, 49, 0, 0, 186, 33, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 132, 45, 0, 0, - 201, 33, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 187, 49, 0, 0, 216, 33, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 39, 4, 0, 0, 232, 33, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 1, 50, 0, 0, 243, 33, 4, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 254, 49, 0, 0, 2, 34, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 255, 49, 0, 0, 17, 34, 4, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 0, 50, 0, 0, 38, 34, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 2, 50, 0, 0, 49, - 34, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 188, 49, 0, 0, 64, 34, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 189, - 49, 0, 0, 79, 34, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, 4, 0, 0, 94, 34, 4, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 190, 49, 0, 0, 110, 34, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 9, 50, 0, 0, 119, 34, 4, 0, 0, 0, - 0, 0, 10, 0, 0, 0, 200, 7, 0, 0, 132, 34, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 199, 49, 0, 0, 146, - 34, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 8, 50, 0, 0, 155, 34, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 183, 2, - 0, 0, 168, 34, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 66, 7, 0, 0, 181, 34, 4, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 79, 28, 0, 0, 194, 34, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 4, 50, 0, 0, 207, 34, 4, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 34, 7, 0, 0, 220, 34, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 249, 4, 0, 0, 233, 34, 4, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 5, 50, 0, 0, 246, 34, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 247, 40, 0, 0, - 3, 35, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 109, 17, 0, 0, 16, 35, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 21, - 7, 0, 0, 29, 35, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 6, 50, 0, 0, 42, 35, 4, 0, 0, 0, 0, 0, 10, 0, - 0, 0, 7, 50, 0, 0, 55, 35, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, 17, 0, 0, 74, 35, 4, 0, 0, 0, 0, - 0, 10, 0, 0, 0, 11, 50, 0, 0, 86, 35, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, 15, 0, 0, 97, 35, 4, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 198, 2, 0, 0, 108, 35, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 25, 41, 0, 0, - 119, 35, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 13, 50, 0, 0, 131, 35, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 12, 50, 0, 0, 139, 35, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 132, 10, 0, 0, 151, 35, 4, 0, 0, 0, 0, 0, - 10, 0, 0, 0, 192, 14, 0, 0, 163, 35, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 81, 17, 0, 0, 175, 35, 4, - 0, 0, 0, 0, 0, 10, 0, 0, 0, 80, 17, 0, 0, 187, 35, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 76, 17, 0, 0, - 199, 35, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 77, 17, 0, 0, 216, 35, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, - 208, 2, 0, 0, 227, 35, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 19, 0, 0, 0, 234, 35, 4, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 15, 50, 0, 0, 248, 35, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 14, 50, 0, 0, 3, 36, 4, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 16, 50, 0, 0, 7, 36, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 39, 15, 0, 0, 22, 36, - 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 18, 50, 0, 0, 37, 36, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 16, 50, 0, - 0, 54, 36, 4, 0, 0, 0, 0, 0, 10, 0, 0, 0, 16, 50, 0, 0, 96, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 21, 50, 0, 0, 120, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 50, 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 15, 50, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 50, 0, 0, 80, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 15, 50, 0, 0, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 50, 0, 0, 112, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 15, 50, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 50, 0, 0, 144, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 50, 0, 0, 160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 50, 0, - 0, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 50, 0, 0, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 15, 50, 0, 0, 208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 50, 0, 0, 224, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 15, 50, 0, 0, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 50, 0, 0, 0, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 15, 50, 0, 0, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 50, 0, 0, 44, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 15, 50, 0, 0, 60, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 50, 0, 0, 76, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 50, 0, 0, 92, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 50, 0, 0, - 108, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 50, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 15, - 50, 0, 0, 135, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 15, 50, 0, 0, 150, 100, 148, 100, 149, 100, 0, - 46, 100, 101, 98, 117, 103, 95, 97, 98, 98, 114, 101, 118, 0, 46, 116, 101, 120, 116, 0, 46, - 114, 101, 108, 46, 66, 84, 70, 46, 101, 120, 116, 0, 46, 114, 101, 108, 107, 112, 114, 111, 98, - 101, 47, 116, 99, 112, 95, 99, 111, 110, 110, 101, 99, 116, 0, 101, 118, 101, 110, 116, 115, 0, - 46, 109, 97, 112, 115, 0, 46, 100, 101, 98, 117, 103, 95, 114, 97, 110, 103, 101, 115, 0, 46, - 100, 101, 98, 117, 103, 95, 115, 116, 114, 0, 46, 114, 101, 108, 46, 100, 101, 98, 117, 103, - 95, 105, 110, 102, 111, 0, 46, 108, 108, 118, 109, 95, 97, 100, 100, 114, 115, 105, 103, 0, - 108, 105, 99, 101, 110, 115, 101, 0, 46, 114, 101, 108, 46, 100, 101, 98, 117, 103, 95, 108, - 105, 110, 101, 0, 46, 114, 101, 108, 46, 101, 104, 95, 102, 114, 97, 109, 101, 0, 46, 100, 101, - 98, 117, 103, 95, 108, 111, 99, 0, 101, 120, 97, 109, 112, 108, 101, 46, 98, 112, 102, 46, 99, - 0, 46, 115, 116, 114, 116, 97, 98, 0, 46, 115, 121, 109, 116, 97, 98, 0, 46, 114, 101, 108, 46, - 66, 84, 70, 0, 76, 73, 67, 69, 78, 83, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 188, 0, 0, 0, 3, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 230, 28, 16, 0, 0, 0, 0, 0, 221, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 1, 0, 0, - 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 0, 0, 0, 1, - 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 0, 0, 128, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 0, - 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 203, 11, 0, 0, 0, 0, 0, 16, - 0, 0, 0, 0, 0, 0, 0, 22, 0, 0, 0, 3, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, - 125, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 1, 0, 0, 0, 0, - 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 64, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 200, 1, 0, 0, 0, - 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 84, 0, 0, 0, 1, 0, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 224, 1, - 0, 0, 0, 0, 0, 0, 20, 139, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 163, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 244, 140, 2, 0, 0, 0, 0, 0, 124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 112, 141, 2, 0, 0, 0, 0, 0, 145, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1, 145, 2, 0, 0, 0, 0, 0, 65, 36, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 95, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 96, 203, 11, 0, 0, 0, 0, 0, 0, 80, 4, 0, 0, 0, 0, 0, 22, 0, 0, 0, 10, - 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 70, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 181, 6, 0, 0, 0, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 208, 0, 0, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 114, 181, 6, 0, 0, 0, 0, 0, 44, 97, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 204, 0, 0, 0, 9, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 96, 27, 16, 0, 0, 0, 0, 0, 32, 0, 0, 0, - 0, 0, 0, 0, 22, 0, 0, 0, 13, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 25, 0, - 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 158, 22, 7, 0, 0, 0, 0, 0, - 124, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 21, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 27, 16, 0, 0, - 0, 0, 0, 64, 1, 0, 0, 0, 0, 0, 0, 22, 0, 0, 0, 15, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, - 0, 0, 0, 0, 0, 153, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, - 24, 7, 0, 0, 0, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 149, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 192, 28, 16, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 22, 0, 0, 0, 17, 0, 0, 0, 8, 0, 0, 0, - 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 137, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 80, 24, 7, 0, 0, 0, 0, 0, 215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 133, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 208, 28, 16, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 22, 0, 0, 0, 19, - 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 111, 0, 0, 0, 3, 76, 255, 111, 0, 0, - 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 224, 28, 16, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, - 22, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 196, 0, 0, 0, 2, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 25, 7, 0, 0, 0, 0, 0, 40, 178, 4, 0, 0, - 0, 0, 0, 1, 0, 0, 0, 20, 50, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, -]; diff --git a/lcc/rlcc/example/src/bpf/example.bpf.c b/lcc/rlcc/example/src/bpf/example.bpf.c deleted file mode 100644 index bf0ca55..0000000 --- a/lcc/rlcc/example/src/bpf/example.bpf.c +++ /dev/null @@ -1,33 +0,0 @@ -#include "vmlinux.h" -#include -#include -#include -#include - -#include "example.h" - -struct -{ - __uint(type, BPF_MAP_TYPE_PERF_EVENT_ARRAY); - __uint(key_size, sizeof(u32)); - __uint(value_size, sizeof(u32)); -} events SEC(".maps"); - -SEC("kprobe/tcp_connect") -int BPF_KPROBE(tcp_connect, struct sock *sk) -{ - struct example e; - struct inet_sock *inet = (struct inet_sock *)sk; - - e.pid = bpf_get_current_pid_tgid() >> 32; - bpf_get_current_comm(&e.comm, TASK_COMM_LEN); - BPF_CORE_READ_INTO(&e.daddr, sk, __sk_common.skc_daddr); - BPF_CORE_READ_INTO(&e.dport, sk, __sk_common.skc_dport); - BPF_CORE_READ_INTO(&e.saddr, sk, __sk_common.skc_rcv_saddr); - BPF_CORE_READ_INTO(&e.sport, inet, inet_sport); - - bpf_perf_event_output(ctx, &events, BPF_F_CURRENT_CPU, &e, sizeof(e)); - return 0; -} - -char LICENSE[] SEC("license") = "GPL"; \ No newline at end of file diff --git a/lcc/rlcc/example/src/bpf/example.h b/lcc/rlcc/example/src/bpf/example.h deleted file mode 100644 index 6644dc9..0000000 --- a/lcc/rlcc/example/src/bpf/example.h +++ /dev/null @@ -1,32 +0,0 @@ -#ifndef __EXAMPLE_H -#define __EXAMPLE_H - -#define TASK_COMM_LEN 16 - -#ifndef u8 -typedef unsigned char u8; -#endif - -#ifndef u16 -typedef unsigned short int u16; -#endif - -#ifndef u32 -typedef unsigned int u32; -#endif - -#ifndef u64 -typedef long long unsigned int u64; -#endif - -struct example -{ - int pid; - u8 comm[TASK_COMM_LEN]; // command (task_comm_len) - u16 sport; // source port - u16 dport; // destination port - u32 saddr; // source address - u32 daddr; // destination address -}; - -#endif diff --git a/lcc/rlcc/example/src/bpf/vmlinux.h b/lcc/rlcc/example/src/bpf/vmlinux.h deleted file mode 120000 index dee4b0c..0000000 --- a/lcc/rlcc/example/src/bpf/vmlinux.h +++ /dev/null @@ -1 +0,0 @@ -../../../../../third/vmlinux_515.h \ No newline at end of file diff --git a/lcc/rlcc/example/src/main.rs b/lcc/rlcc/example/src/main.rs deleted file mode 100644 index 226138e..0000000 --- a/lcc/rlcc/example/src/main.rs +++ /dev/null @@ -1,107 +0,0 @@ -#[path = "bpf/.output/example.skel.rs"] -mod exampleskel; -use exampleskel::*; - -#[path = "bpf/.output/bindings.rs"] -#[allow(non_upper_case_globals)] -#[allow(non_camel_case_types)] -#[allow(non_snake_case)] -#[allow(dead_code)] -mod bindings; -use bindings::*; -use anyhow::{bail, Result}; -use libbpf_rs::PerfBufferBuilder; -use structopt::StructOpt; -use std::fmt; -use std::time::Duration; -use std::net::{IpAddr, Ipv4Addr, SocketAddr, SocketAddrV4}; - -#[derive(Debug, StructOpt)] -struct Command { - /// Verbose debug output - #[structopt(short, long)] - verbose: bool, -} - -struct Example { - data: Vec, - ptr: *const example, -} - -impl Example { - pub fn new(data: Vec) -> Example { - Example { - ptr: &data[0] as *const u8 as *const example, - data, - } - } - - pub fn pid(&self) -> i32 { - unsafe { (*self.ptr).pid } - } - - pub fn comm(&self) -> String { - unsafe { String::from_utf8_unchecked((*self.ptr).comm.to_vec()) } - } - - pub fn addr_pair(&self) -> (SocketAddr, SocketAddr) { - let daddr = unsafe { (*self.ptr).daddr }; - let dport = unsafe { (*self.ptr).dport }; - let saddr = unsafe { (*self.ptr).saddr }; - let sport = unsafe { (*self.ptr).sport }; - let src = SocketAddr::new(IpAddr::V4(Ipv4Addr::from(u32::from_be(saddr))), sport); - let dst = SocketAddr::new(IpAddr::V4(Ipv4Addr::from(u32::from_be(daddr))), dport); - (src, dst) - } -} - -impl fmt::Display for Example { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let ap = self.addr_pair(); - write!(f, "(PID){}:{} (LOCAL){} -> (REMOTE){}", self.pid(), self.comm(), ap.0, ap.1,) - } -} - -fn bump_memlock_rlimit() -> Result<()> { - let rlimit = libc::rlimit { - rlim_cur: 128 << 20, - rlim_max: 128 << 20, - }; - - if unsafe { libc::setrlimit(libc::RLIMIT_MEMLOCK, &rlimit) } != 0 { - bail!("Failed to increase rlimit"); - } - - Ok(()) -} - -fn handle_event(_cpu: i32, data: &[u8]) { - let example = Example::new(Vec::from(data)); - println!("{}", example); -} - -fn handle_lost_events(cpu: i32, count: u64) { - eprintln!("Lost {} events on CPU {}", count, cpu); -} - -fn main() -> Result<()>{ - let opts = Command::from_args(); - let mut skel_builder = ExampleSkelBuilder::default(); - if opts.verbose { - skel_builder.obj_builder.debug(true); - } - - bump_memlock_rlimit()?; - let mut open_skel = skel_builder.open()?; - - let mut skel = open_skel.load()?; - skel.attach()?; - let perf = PerfBufferBuilder::new(skel.maps_mut().events()) - .sample_cb(handle_event) - .lost_cb(handle_lost_events) - .build()?; - - loop { - perf.poll(Duration::from_millis(100))?; - } -} diff --git a/lcc/rlcc/rexample/CMakeLists.txt b/lcc/rlcc/rexample/CMakeLists.txt deleted file mode 100644 index 7c628d8..0000000 --- a/lcc/rlcc/rexample/CMakeLists.txt +++ /dev/null @@ -1,34 +0,0 @@ - - - -add_custom_command( - OUTPUT output - COMMAND mkdir -p .output - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/src/bpf/ - COMMENT "Create .output directory" -) - -add_custom_command( - OUTPUT example.bpf.o - COMMAND coolbpf -f example.bpf.c -o - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/src/bpf/ - COMMENT "Remote Compile: Generate example.bpf.o" -) - -add_custom_command( - OUTPUT example.skel.rs - COMMAND ${PROJECT_SOURCE_DIR}/lcc/rlcc/tools/cargo-libbpf libbpf gen --object ../example.bpf.o > example.skel.rs - DEPENDS output example.bpf.o - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/src/bpf/.output - COMMENT "Local Compile: Generate example.skel.rs" -) - -add_custom_command( - OUTPUT rexample_target - COMMAND cargo build --release - DEPENDS example.skel.rs - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} - COMMENT "Local Compile: Generate rexample binary program" -) - -add_custom_target(rexample DEPENDS rexample_target) \ No newline at end of file diff --git a/lcc/rlcc/rexample/Cargo.lock b/lcc/rlcc/rexample/Cargo.lock deleted file mode 100644 index cd451a6..0000000 --- a/lcc/rlcc/rexample/Cargo.lock +++ /dev/null @@ -1,1123 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -version = 3 - -[[package]] -name = "aho-corasick" -version = "0.7.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f" -dependencies = [ - "memchr", -] - -[[package]] -name = "ansi_term" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2" -dependencies = [ - "winapi", -] - -[[package]] -name = "anyhow" -version = "1.0.57" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08f9b8508dccb7687a1d6c4ce66b2b0ecef467c94667de27d8d7fe1f8d2a9cdc" - -[[package]] -name = "atty" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" -dependencies = [ - "hermit-abi", - "libc", - "winapi", -] - -[[package]] -name = "autocfg" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" - -[[package]] -name = "bindgen" -version = "0.59.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bd2a9a458e8f4304c52c43ebb0cfbd520289f8379a52e329a38afda99bf8eb8" -dependencies = [ - "bitflags", - "cexpr", - "clang-sys", - "clap", - "env_logger", - "lazy_static", - "lazycell", - "log", - "peeking_take_while", - "proc-macro2", - "quote", - "regex", - "rustc-hash", - "shlex", - "which", -] - -[[package]] -name = "bitflags" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" - -[[package]] -name = "byteorder" -version = "1.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" - -[[package]] -name = "camino" -version = "1.0.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "869119e97797867fd90f5e22af7d0bd274bd4635ebb9eb68c04f3f513ae6c412" -dependencies = [ - "serde", -] - -[[package]] -name = "cargo-platform" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cbdb825da8a5df079a43676dbe042702f1707b1109f713a01420fbb4cc71fa27" -dependencies = [ - "serde", -] - -[[package]] -name = "cargo_metadata" -version = "0.14.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4acbb09d9ee8e23699b9634375c72795d095bf268439da88562cf9b501f181fa" -dependencies = [ - "camino", - "cargo-platform", - "semver", - "serde", - "serde_json", -] - -[[package]] -name = "cc" -version = "1.0.73" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11" - -[[package]] -name = "cexpr" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766" -dependencies = [ - "nom 7.1.1", -] - -[[package]] -name = "cfg-if" -version = "0.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822" - -[[package]] -name = "cfg-if" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" - -[[package]] -name = "chrono" -version = "0.4.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "670ad68c9088c2a963aaa298cb369688cf3f9465ce5e2d4ca10e6e0098a1ce73" -dependencies = [ - "libc", - "num-integer", - "num-traits", - "time", - "winapi", -] - -[[package]] -name = "clang-sys" -version = "1.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a050e2153c5be08febd6734e29298e844fdb0fa21aeddd63b4eb7baa106c69b" -dependencies = [ - "glob", - "libc", - "libloading", -] - -[[package]] -name = "clap" -version = "2.34.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c" -dependencies = [ - "ansi_term", - "atty", - "bitflags", - "strsim", - "textwrap", - "unicode-width", - "vec_map", -] - -[[package]] -name = "clearscreen" -version = "1.0.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c969a6b6dadff9f3349b1f783f553e2411104763ca4789e1c6ca6a41f46a57b0" -dependencies = [ - "nix 0.24.1", - "terminfo", - "thiserror", - "which", - "winapi", -] - -[[package]] -name = "crossbeam-channel" -version = "0.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5aaa7bd5fb665c6864b5f963dd9097905c54125909c7aa94c9e18507cdbe6c53" -dependencies = [ - "cfg-if 1.0.0", - "crossbeam-utils", -] - -[[package]] -name = "crossbeam-utils" -version = "0.8.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bf124c720b7686e3c2663cf54062ab0f68a88af2fb6a030e87e30bf721fcb38" -dependencies = [ - "cfg-if 1.0.0", - "lazy_static", -] - -[[package]] -name = "dirs" -version = "2.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13aea89a5c93364a98e9b37b2fa237effbb694d5cfe01c5b70941f7eb087d5e3" -dependencies = [ - "cfg-if 0.1.10", - "dirs-sys", -] - -[[package]] -name = "dirs-sys" -version = "0.3.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b1d1d91c932ef41c0f2663aa8b0ca0342d444d842c06914aa0a7e352d0bada6" -dependencies = [ - "libc", - "redox_users", - "winapi", -] - -[[package]] -name = "either" -version = "1.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457" - -[[package]] -name = "env_logger" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b2cf0344971ee6c64c31be0d530793fba457d322dfec2810c453d0ef228f9c3" -dependencies = [ - "atty", - "humantime", - "log", - "regex", - "termcolor", -] - -[[package]] -name = "fastrand" -version = "1.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3fcf0cee53519c866c09b5de1f6c56ff9d647101f81c1964fa632e148896cdf" -dependencies = [ - "instant", -] - -[[package]] -name = "fnv" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" - -[[package]] -name = "getrandom" -version = "0.1.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" -dependencies = [ - "cfg-if 1.0.0", - "libc", - "wasi 0.9.0+wasi-snapshot-preview1", -] - -[[package]] -name = "getrandom" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9be70c98951c83b8d2f8f60d7065fa6d5146873094452a1008da8c2f1e4205ad" -dependencies = [ - "cfg-if 1.0.0", - "libc", - "wasi 0.10.0+wasi-snapshot-preview1", -] - -[[package]] -name = "glob" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574" - -[[package]] -name = "heck" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c" -dependencies = [ - "unicode-segmentation", -] - -[[package]] -name = "heck" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9" - -[[package]] -name = "hermit-abi" -version = "0.1.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" -dependencies = [ - "libc", -] - -[[package]] -name = "humantime" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" - -[[package]] -name = "instant" -version = "0.1.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" -dependencies = [ - "cfg-if 1.0.0", -] - -[[package]] -name = "itoa" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "112c678d4050afce233f4f2852bb2eb519230b3cf12f33585275537d7e41578d" - -[[package]] -name = "lazy_static" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" - -[[package]] -name = "lazycell" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" - -[[package]] -name = "libbpf-cargo" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16e737d865b08b4603a67909dd171bfb530ab6d3a758694dba6cb10904a4aaf7" -dependencies = [ - "anyhow", - "cargo_metadata", - "libbpf-sys", - "memmap2", - "num_enum", - "regex", - "scroll", - "scroll_derive", - "semver", - "serde", - "serde_json", - "structopt", - "tempfile", - "thiserror", -] - -[[package]] -name = "libbpf-rs" -version = "0.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7eadf9bb239f90435a9f998d9a28211efc54c3453b290eed6cd7c17a8570618" -dependencies = [ - "bitflags", - "lazy_static", - "libbpf-sys", - "nix 0.23.1", - "num_enum", - "strum_macros 0.23.1", - "thiserror", - "vsprintf", -] - -[[package]] -name = "libbpf-sys" -version = "0.6.2+v0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c2c15bbeae2b87e3a63feea85a579272ed082f0f4d8f0e7968cc9a17e1b4d69" -dependencies = [ - "cc", - "pkg-config", -] - -[[package]] -name = "libc" -version = "0.2.126" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "349d5a591cd28b49e1d1037471617a32ddcda5731b99419008085f72d5a53836" - -[[package]] -name = "libloading" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "efbc0f03f9a775e9f6aed295c6a1ba2253c5757a9e03d55c6caa46a681abcddd" -dependencies = [ - "cfg-if 1.0.0", - "winapi", -] - -[[package]] -name = "log" -version = "0.4.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" -dependencies = [ - "cfg-if 1.0.0", -] - -[[package]] -name = "memchr" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" - -[[package]] -name = "memmap2" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "057a3db23999c867821a7a59feb06a578fcb03685e983dff90daf9e7d24ac08f" -dependencies = [ - "libc", -] - -[[package]] -name = "memoffset" -version = "0.6.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce" -dependencies = [ - "autocfg", -] - -[[package]] -name = "minimal-lexical" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" - -[[package]] -name = "nix" -version = "0.22.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4916f159ed8e5de0082076562152a76b7a1f64a01fd9d1e0fea002c37624faf" -dependencies = [ - "bitflags", - "cc", - "cfg-if 1.0.0", - "libc", - "memoffset", -] - -[[package]] -name = "nix" -version = "0.23.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f866317acbd3a240710c63f065ffb1e4fd466259045ccb504130b7f668f35c6" -dependencies = [ - "bitflags", - "cc", - "cfg-if 1.0.0", - "libc", - "memoffset", -] - -[[package]] -name = "nix" -version = "0.24.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f17df307904acd05aa8e32e97bb20f2a0df1728bbc2d771ae8f9a90463441e9" -dependencies = [ - "bitflags", - "cfg-if 1.0.0", - "libc", -] - -[[package]] -name = "nom" -version = "5.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffb4262d26ed83a1c0a33a38fe2bb15797329c85770da05e6b828ddb782627af" -dependencies = [ - "memchr", - "version_check", -] - -[[package]] -name = "nom" -version = "7.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8903e5a29a317527874d0402f867152a3d21c908bb0b933e416c65e301d4c36" -dependencies = [ - "memchr", - "minimal-lexical", -] - -[[package]] -name = "num-integer" -version = "0.1.45" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9" -dependencies = [ - "autocfg", - "num-traits", -] - -[[package]] -name = "num-traits" -version = "0.2.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" -dependencies = [ - "autocfg", -] - -[[package]] -name = "num_enum" -version = "0.5.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf5395665662ef45796a4ff5486c5d41d29e0c09640af4c5f17fd94ee2c119c9" -dependencies = [ - "num_enum_derive", -] - -[[package]] -name = "num_enum_derive" -version = "0.5.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b0498641e53dd6ac1a4f22547548caa6864cc4933784319cd1775271c5a46ce" -dependencies = [ - "proc-macro-crate", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "once_cell" -version = "1.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7709cef83f0c1f58f666e746a08b21e0085f7440fa6a29cc194d68aac97a4225" - -[[package]] -name = "peeking_take_while" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099" - -[[package]] -name = "phf" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3dfb61232e34fcb633f43d12c58f83c1df82962dcdfa565a4e866ffc17dafe12" -dependencies = [ - "phf_shared", -] - -[[package]] -name = "phf_codegen" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cbffee61585b0411840d3ece935cce9cb6321f01c45477d30066498cd5e1a815" -dependencies = [ - "phf_generator", - "phf_shared", -] - -[[package]] -name = "phf_generator" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17367f0cc86f2d25802b2c26ee58a7b23faeccf78a396094c13dced0d0182526" -dependencies = [ - "phf_shared", - "rand", -] - -[[package]] -name = "phf_shared" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c00cf8b9eafe68dde5e9eaa2cef8ee84a9336a47d566ec55ca16589633b65af7" -dependencies = [ - "siphasher", -] - -[[package]] -name = "pkg-config" -version = "0.3.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1df8c4ec4b0627e53bdf214615ad287367e482558cf84b109250b37464dc03ae" - -[[package]] -name = "ppv-lite86" -version = "0.2.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb9f9e6e233e5c4a35559a617bf40a4ec447db2e84c20b55a6f83167b7e57872" - -[[package]] -name = "proc-macro-crate" -version = "1.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e17d47ce914bf4de440332250b0edd23ce48c005f59fab39d3335866b114f11a" -dependencies = [ - "thiserror", - "toml", -] - -[[package]] -name = "proc-macro-error" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" -dependencies = [ - "proc-macro-error-attr", - "proc-macro2", - "quote", - "syn", - "version_check", -] - -[[package]] -name = "proc-macro-error-attr" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" -dependencies = [ - "proc-macro2", - "quote", - "version_check", -] - -[[package]] -name = "proc-macro2" -version = "1.0.39" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c54b25569025b7fc9651de43004ae593a75ad88543b17178aa5e1b9c4f15f56f" -dependencies = [ - "unicode-ident", -] - -[[package]] -name = "quote" -version = "1.0.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1feb54ed693b93a84e14094943b84b7c4eae204c512b7ccb95ab0c66d278ad1" -dependencies = [ - "proc-macro2", -] - -[[package]] -name = "rand" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" -dependencies = [ - "getrandom 0.1.16", - "libc", - "rand_chacha", - "rand_core", - "rand_hc", - "rand_pcg", -] - -[[package]] -name = "rand_chacha" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402" -dependencies = [ - "ppv-lite86", - "rand_core", -] - -[[package]] -name = "rand_core" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" -dependencies = [ - "getrandom 0.1.16", -] - -[[package]] -name = "rand_hc" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" -dependencies = [ - "rand_core", -] - -[[package]] -name = "rand_pcg" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16abd0c1b639e9eb4d7c50c0b8100b0d0f849be2349829c740fe8e6eb4816429" -dependencies = [ - "rand_core", -] - -[[package]] -name = "redox_syscall" -version = "0.2.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62f25bc4c7e55e0b0b7a1d43fb893f4fa1361d0abe38b9ce4f323c2adfe6ef42" -dependencies = [ - "bitflags", -] - -[[package]] -name = "redox_users" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b" -dependencies = [ - "getrandom 0.2.6", - "redox_syscall", - "thiserror", -] - -[[package]] -name = "regex" -version = "1.5.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d83f127d94bdbcda4c8cc2e50f6f84f4b611f69c902699ca385a39c3a75f9ff1" -dependencies = [ - "aho-corasick", - "memchr", - "regex-syntax", -] - -[[package]] -name = "regex-syntax" -version = "0.6.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49b3de9ec5dc0a3417da371aab17d729997c15010e7fd24ff707773a33bddb64" - -[[package]] -name = "remove_dir_all" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7" -dependencies = [ - "winapi", -] - -[[package]] -name = "rexample" -version = "0.1.0" -dependencies = [ - "anyhow", - "bindgen", - "byteorder", - "chrono", - "clearscreen", - "crossbeam-channel", - "env_logger", - "libbpf-cargo", - "libbpf-rs", - "libbpf-sys", - "libc", - "log", - "nix 0.22.3", - "once_cell", - "regex", - "structopt", - "strum", - "strum_macros 0.24.0", -] - -[[package]] -name = "rustc-hash" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" - -[[package]] -name = "rustversion" -version = "1.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2cc38e8fa666e2de3c4aba7edeb5ffc5246c1c2ed0e3d17e560aeeba736b23f" - -[[package]] -name = "ryu" -version = "1.0.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3f6f92acf49d1b98f7a81226834412ada05458b7364277387724a237f062695" - -[[package]] -name = "scroll" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04c565b551bafbef4157586fa379538366e4385d42082f255bfd96e4fe8519da" - -[[package]] -name = "scroll_derive" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bdbda6ac5cd1321e724fa9cee216f3a61885889b896f073b8f82322789c5250e" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "semver" -version = "1.0.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8cb243bdfdb5936c8dc3c45762a19d12ab4550cdc753bc247637d4ec35a040fd" -dependencies = [ - "serde", -] - -[[package]] -name = "serde" -version = "1.0.137" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61ea8d54c77f8315140a05f4c7237403bf38b72704d031543aa1d16abbf517d1" -dependencies = [ - "serde_derive", -] - -[[package]] -name = "serde_derive" -version = "1.0.137" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f26faba0c3959972377d3b2d306ee9f71faee9714294e41bb777f83f88578be" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "serde_json" -version = "1.0.81" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b7ce2b32a1aed03c558dc61a5cd328f15aff2dbc17daad8fb8af04d2100e15c" -dependencies = [ - "itoa", - "ryu", - "serde", -] - -[[package]] -name = "shlex" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43b2853a4d09f215c24cc5489c992ce46052d359b5109343cbafbf26bc62f8a3" - -[[package]] -name = "siphasher" -version = "0.3.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7bd3e3206899af3f8b12af284fafc038cc1dc2b41d1b89dd17297221c5d225de" - -[[package]] -name = "strsim" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a" - -[[package]] -name = "structopt" -version = "0.3.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c6b5c64445ba8094a6ab0c3cd2ad323e07171012d9c98b0b15651daf1787a10" -dependencies = [ - "clap", - "lazy_static", - "structopt-derive", -] - -[[package]] -name = "structopt-derive" -version = "0.4.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcb5ae327f9cc13b68763b5749770cb9e048a99bd9dfdfa58d0cf05d5f64afe0" -dependencies = [ - "heck 0.3.3", - "proc-macro-error", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "strum" -version = "0.24.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e96acfc1b70604b8b2f1ffa4c57e59176c7dbb05d556c71ecd2f5498a1dee7f8" - -[[package]] -name = "strum_macros" -version = "0.23.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5bb0dc7ee9c15cea6199cde9a127fa16a4c5819af85395457ad72d68edc85a38" -dependencies = [ - "heck 0.3.3", - "proc-macro2", - "quote", - "rustversion", - "syn", -] - -[[package]] -name = "strum_macros" -version = "0.24.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6878079b17446e4d3eba6192bb0a2950d5b14f0ed8424b852310e5a94345d0ef" -dependencies = [ - "heck 0.4.0", - "proc-macro2", - "quote", - "rustversion", - "syn", -] - -[[package]] -name = "syn" -version = "1.0.95" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbaf6116ab8924f39d52792136fb74fd60a80194cf1b1c6ffa6453eef1c3f942" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - -[[package]] -name = "tempfile" -version = "3.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cdb1ef4eaeeaddc8fbd371e5017057064af0911902ef36b39801f67cc6d79e4" -dependencies = [ - "cfg-if 1.0.0", - "fastrand", - "libc", - "redox_syscall", - "remove_dir_all", - "winapi", -] - -[[package]] -name = "termcolor" -version = "1.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755" -dependencies = [ - "winapi-util", -] - -[[package]] -name = "terminfo" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76971977e6121664ec1b960d1313aacfa75642adc93b9d4d53b247bd4cb1747e" -dependencies = [ - "dirs", - "fnv", - "nom 5.1.2", - "phf", - "phf_codegen", -] - -[[package]] -name = "textwrap" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060" -dependencies = [ - "unicode-width", -] - -[[package]] -name = "thiserror" -version = "1.0.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd829fe32373d27f76265620b5309d0340cb8550f523c1dda251d6298069069a" -dependencies = [ - "thiserror-impl", -] - -[[package]] -name = "thiserror-impl" -version = "1.0.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0396bc89e626244658bef819e22d0cc459e795a5ebe878e6ec336d1674a8d79a" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "time" -version = "0.1.44" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6db9e6914ab8b1ae1c260a4ae7a49b6c5611b40328a735b21862567685e73255" -dependencies = [ - "libc", - "wasi 0.10.0+wasi-snapshot-preview1", - "winapi", -] - -[[package]] -name = "toml" -version = "0.5.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d82e1a7758622a465f8cee077614c73484dac5b836c02ff6a40d5d1010324d7" -dependencies = [ - "serde", -] - -[[package]] -name = "unicode-ident" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d22af068fba1eb5edcb4aea19d382b2a3deb4c8f9d475c589b6ada9e0fd493ee" - -[[package]] -name = "unicode-segmentation" -version = "1.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e8820f5d777f6224dc4be3632222971ac30164d4a258d595640799554ebfd99" - -[[package]] -name = "unicode-width" -version = "0.1.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ed742d4ea2bd1176e236172c8429aaf54486e7ac098db29ffe6529e0ce50973" - -[[package]] -name = "vec_map" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191" - -[[package]] -name = "version_check" -version = "0.9.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" - -[[package]] -name = "vsprintf" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aec2f81b75ca063294776b4f7e8da71d1d5ae81c2b1b149c8d89969230265d63" -dependencies = [ - "cc", - "libc", -] - -[[package]] -name = "wasi" -version = "0.9.0+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" - -[[package]] -name = "wasi" -version = "0.10.0+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f" - -[[package]] -name = "which" -version = "4.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c4fb54e6113b6a8772ee41c3404fb0301ac79604489467e0a9ce1f3e97c24ae" -dependencies = [ - "either", - "lazy_static", - "libc", -] - -[[package]] -name = "winapi" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" -dependencies = [ - "winapi-i686-pc-windows-gnu", - "winapi-x86_64-pc-windows-gnu", -] - -[[package]] -name = "winapi-i686-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" - -[[package]] -name = "winapi-util" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" -dependencies = [ - "winapi", -] - -[[package]] -name = "winapi-x86_64-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" diff --git a/lcc/rlcc/rexample/Cargo.toml b/lcc/rlcc/rexample/Cargo.toml deleted file mode 100644 index fea58aa..0000000 --- a/lcc/rlcc/rexample/Cargo.toml +++ /dev/null @@ -1,29 +0,0 @@ -[package] -name = "rexample" -version = "0.1.0" -edition = "2021" - -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html - -[dependencies] -libbpf-rs = "0.17" -libbpf-sys = { version = "0.6.1-2" } -log = "0.4.14" -libc = "0.2.125" -anyhow = "1.0.57" -structopt = "0.3.26" -once_cell = "1.8.0" -crossbeam-channel = "0.5" -nix = "0.22" -env_logger = "0.9.0" -regex = "1.5" -clearscreen = "1.0.9" -strum = "0.24" -strum_macros = "0.24" -chrono = "0.4.19" -byteorder = "1.4.3" - - -[build-dependencies] -libbpf-cargo = "0.11.0" -bindgen = "0.59.2" \ No newline at end of file diff --git a/lcc/rlcc/rexample/build.rs b/lcc/rlcc/rexample/build.rs deleted file mode 100644 index 768590e..0000000 --- a/lcc/rlcc/rexample/build.rs +++ /dev/null @@ -1,37 +0,0 @@ -use std::env; -use std::fs::create_dir_all; -use std::path::Path; - -use libbpf_cargo::SkeletonBuilder; - -const HDR: &str = "./src/bpf/example.h"; - -fn main() { - // It's unfortunate we cannot use `OUT_DIR` to store the generated skeleton. - // Reasons are because the generated skeleton contains compiler attributes - // that cannot be `include!()`ed via macro. And we cannot use the `#[path = "..."]` - // trick either because you cannot yet `concat!(env!("OUT_DIR"), "/skel.rs")` inside - // the path attribute either (see https://github.com/rust-lang/rust/pull/83366). - // - // However, there is hope! When the above feature stabilizes we can clean this - // all up. - println!("cargo:rerun-if-changed={}", HDR); - - create_dir_all("./src/bpf/.output").unwrap(); - - let bindings = bindgen::Builder::default() - // The input header we would like to generate - // bindings for. - .header(HDR) - // Tell cargo to invalidate the built crate whenever any of the - // included header files changed. - .parse_callbacks(Box::new(bindgen::CargoCallbacks)) - // Finish the builder and generate the bindings. - .generate() - // Unwrap the Result and panic on failure. - .expect("Unable to generate bindings"); - let bind = Path::new("./src/bpf/.output/bindings.rs"); - bindings - .write_to_file(bind) - .expect("Couldn't write bindings!"); -} diff --git a/lcc/rlcc/rexample/src/bpf/example.bpf.c b/lcc/rlcc/rexample/src/bpf/example.bpf.c deleted file mode 100644 index aa9199f..0000000 --- a/lcc/rlcc/rexample/src/bpf/example.bpf.c +++ /dev/null @@ -1,29 +0,0 @@ - -#include "lbc.h" -#include "example.h" - -struct -{ - __uint(type, BPF_MAP_TYPE_PERF_EVENT_ARRAY); - __uint(key_size, sizeof(u32)); - __uint(value_size, sizeof(u32)); -} events SEC(".maps"); - -SEC("kprobe/tcp_connect") -int BPF_KPROBE(tcp_connect, struct sock *sk) -{ - struct example e; - struct inet_sock *inet = (struct inet_sock *)sk; - - e.pid = bpf_get_current_pid_tgid() >> 32; - bpf_get_current_comm(&e.comm, TASK_COMM_LEN); - BPF_CORE_READ_INTO(&e.daddr, sk, __sk_common.skc_daddr); - BPF_CORE_READ_INTO(&e.dport, sk, __sk_common.skc_dport); - BPF_CORE_READ_INTO(&e.saddr, sk, __sk_common.skc_rcv_saddr); - BPF_CORE_READ_INTO(&e.sport, inet, inet_sport); - - bpf_perf_event_output(ctx, &events, BPF_F_CURRENT_CPU, &e, sizeof(e)); - return 0; -} - -char LICENSE[] SEC("license") = "GPL"; \ No newline at end of file diff --git a/lcc/rlcc/rexample/src/bpf/example.h b/lcc/rlcc/rexample/src/bpf/example.h deleted file mode 100644 index 3165941..0000000 --- a/lcc/rlcc/rexample/src/bpf/example.h +++ /dev/null @@ -1,32 +0,0 @@ -#ifndef __EXAMPLE_H -#define __EXAMPLE_H - -#define TASK_COMM_LEN 16 - -#ifndef u8 -typedef unsigned char __u8; -#endif - -#ifndef u16 -typedef unsigned short int __u16; -#endif - -#ifndef u32 -typedef unsigned int __u32; -#endif - -#ifndef u64 -typedef long long unsigned int __u64; -#endif - -struct example -{ - int pid; - __u8 comm[TASK_COMM_LEN]; // command (task_comm_len) - __u16 sport; // source port - __u16 dport; // destination port - __u32 saddr; // source address - __u32 daddr; // destination address -}; - -#endif diff --git a/lcc/rlcc/rexample/src/bpf/lbc.h b/lcc/rlcc/rexample/src/bpf/lbc.h deleted file mode 100644 index 268592b..0000000 --- a/lcc/rlcc/rexample/src/bpf/lbc.h +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef __LBC_H -#define __LBC_H - -#include "vmlinux.h" -#include -#include -#include -#include - -#endif diff --git a/lcc/rlcc/rexample/src/bpf/vmlinux.h b/lcc/rlcc/rexample/src/bpf/vmlinux.h deleted file mode 120000 index 33feb27..0000000 --- a/lcc/rlcc/rexample/src/bpf/vmlinux.h +++ /dev/null @@ -1 +0,0 @@ -/work/newlcc/third/vmlinux_515.h \ No newline at end of file diff --git a/lcc/rlcc/rexample/src/main.rs b/lcc/rlcc/rexample/src/main.rs deleted file mode 100644 index 226138e..0000000 --- a/lcc/rlcc/rexample/src/main.rs +++ /dev/null @@ -1,107 +0,0 @@ -#[path = "bpf/.output/example.skel.rs"] -mod exampleskel; -use exampleskel::*; - -#[path = "bpf/.output/bindings.rs"] -#[allow(non_upper_case_globals)] -#[allow(non_camel_case_types)] -#[allow(non_snake_case)] -#[allow(dead_code)] -mod bindings; -use bindings::*; -use anyhow::{bail, Result}; -use libbpf_rs::PerfBufferBuilder; -use structopt::StructOpt; -use std::fmt; -use std::time::Duration; -use std::net::{IpAddr, Ipv4Addr, SocketAddr, SocketAddrV4}; - -#[derive(Debug, StructOpt)] -struct Command { - /// Verbose debug output - #[structopt(short, long)] - verbose: bool, -} - -struct Example { - data: Vec, - ptr: *const example, -} - -impl Example { - pub fn new(data: Vec) -> Example { - Example { - ptr: &data[0] as *const u8 as *const example, - data, - } - } - - pub fn pid(&self) -> i32 { - unsafe { (*self.ptr).pid } - } - - pub fn comm(&self) -> String { - unsafe { String::from_utf8_unchecked((*self.ptr).comm.to_vec()) } - } - - pub fn addr_pair(&self) -> (SocketAddr, SocketAddr) { - let daddr = unsafe { (*self.ptr).daddr }; - let dport = unsafe { (*self.ptr).dport }; - let saddr = unsafe { (*self.ptr).saddr }; - let sport = unsafe { (*self.ptr).sport }; - let src = SocketAddr::new(IpAddr::V4(Ipv4Addr::from(u32::from_be(saddr))), sport); - let dst = SocketAddr::new(IpAddr::V4(Ipv4Addr::from(u32::from_be(daddr))), dport); - (src, dst) - } -} - -impl fmt::Display for Example { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - let ap = self.addr_pair(); - write!(f, "(PID){}:{} (LOCAL){} -> (REMOTE){}", self.pid(), self.comm(), ap.0, ap.1,) - } -} - -fn bump_memlock_rlimit() -> Result<()> { - let rlimit = libc::rlimit { - rlim_cur: 128 << 20, - rlim_max: 128 << 20, - }; - - if unsafe { libc::setrlimit(libc::RLIMIT_MEMLOCK, &rlimit) } != 0 { - bail!("Failed to increase rlimit"); - } - - Ok(()) -} - -fn handle_event(_cpu: i32, data: &[u8]) { - let example = Example::new(Vec::from(data)); - println!("{}", example); -} - -fn handle_lost_events(cpu: i32, count: u64) { - eprintln!("Lost {} events on CPU {}", count, cpu); -} - -fn main() -> Result<()>{ - let opts = Command::from_args(); - let mut skel_builder = ExampleSkelBuilder::default(); - if opts.verbose { - skel_builder.obj_builder.debug(true); - } - - bump_memlock_rlimit()?; - let mut open_skel = skel_builder.open()?; - - let mut skel = open_skel.load()?; - skel.attach()?; - let perf = PerfBufferBuilder::new(skel.maps_mut().events()) - .sample_cb(handle_event) - .lost_cb(handle_lost_events) - .build()?; - - loop { - perf.poll(Duration::from_millis(100))?; - } -} diff --git a/lcc/rlcc/tools/cargo-libbpf b/lcc/rlcc/tools/cargo-libbpf deleted file mode 100755 index 808a0c13a38d81bd348721b5f9b985f5ed62df67..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7730568 zcmce92YeJ&*Y|*kU?U))AZRFxAcUFSnb{o`2_2+`j#xIcJG043l3jKanxK&)c0mP2 zMT4Sx}sMsHS>=lgY%3z7kXp#@{|lZ>1%mqGUe*nwhK3=?5=w z#pMn_-U2DXzh~xMxSW@JJrp_hj0^PbD7pqG2?O~89%eE;p`wKtL5%hu1DduiZaF7Pj|{w1-n zsrN5&`jy1WD(3c^8#McwdR{7?=ab_W^^3A2#!V5$6%YTpxEFnHk0fYE{QmaZ2{**7 zc8lBJzb&;ccfzQJPR;FK;m1w*Js;^%BxO^lo~J$Ey;W}OF9%ou*zU7seOoA9a_;DV zP{C>Wl}iqNW%6Y$a!-wFV|N~U)!S>87T1olnzt=z-*x2GJ@c2W8@#xE^N~ZE4?6T4 zrFpAX-C8KkX&BSH=THB9P^-4eCpV4B>ASYa%0bPRw9i#q+qP=kym_mF6Gk7rqMv4_l{o3#90zJHJN_c{L{txWoD zEgn8b`UL4yq|cB(M@qlG#KYG}-=qU^|1HvYNOefxBZ=$ZNI%FsMfnl=PkirXKYKT6 z`7gNt4e1Z0KhxlUdH2n{o5p$C_SfhKvDyznI*{LMnfCrcxNn7YFw!ANhaw$@B(B3b zZ^OBOwZ(lqq$AQ`?fJd~@{W9eB=V#9UcA>C_g(n8YZ_eq=3U1Co{Q8CsXI~+q@GB} zAsvs@3(31q;QQWbF!5WTjOTv*oQGV^_)V180P`{2k6cGGkW8c?l7(~&4^@ z*c5)AngRF9r{~j9W;)X8Ty_TMXK{Wu=i;4E+P!$T)1D(~_fFb<6!*nQF{E>lN|3y( zl<&)s$B`0gzs;Nn4#+$5J(X_wdnDjT@o$}xAI!8P3bkn}W|!S`kwEXem(8cg){Bz`^x`Kd?) z(|#Y6b}z~f=I5cvhanBm_&28IWIsyf$t}BF4{`JCNX?6 z=Tn*}H#Gw`jh|0PK7;SiM1B_1+59Zp2=RSk8Z5nS8}JDK=A@NzabJW~oCb^W{W+YM za9)bM3~3fWi~7rPUy=6gwK*HGISikRd>+z#e)h_Ud;wq!8Gat}O1{5R`3-!3 zBl4S&ZszB;oQwBw!Tma<+Zc8`^7VXw2l5Ske<$bSoxAw{ZshmyJ*&z}H9xZ{LKJUw z3Dd+DqzAa%L&&%C{UgX9MS2`*8&VCDxVCftBQ~gwLpFlQfs7x8AiX*-$MaA9H|Xb4pKWL?>d6-+jHK5^Nwj{ys{!cG7a7- z?LNIsXTZB69oxk3xqx*;>W*|=#_z{xJbQJXkOeM&@15nhK7fzgvUBeGUoTy%t~;<} z#mrBhA29ider;Mjwes!Q()jsub;>gXa&}iG&phLaw~Uux+|Vt#{-^wkgDNjQ{QZxMr_~+y(t{h$-8bOZ z2R~V~YtzkNy)~*=)y4U1_TB&K!oZcc-|*+A&nx4T~y%FH?Tm@&3UBUYL8x)wx&odEws8Z=Ut#K^OM!nA`mN(l*yl z-SE|f_3xG(_wWf1be{6=sxRCnQ^xgbzG+yP2-2eNX+toEs-g;A?2hKcZ zdC`--pU*#b*K_Z*z3-Cu*Ie-O3-_zz=ZyX8`xQ^tv>A7Epj-R9kH7BtgXx8QJBNg%eZXE%$#F zT)p^bd;1v!k6f_fvQFV?`?`D>f2`NfQ)^%9dimnWg3n(%{eh1<-ulhPyO);!F{fLz zX&=pNSJ!huU#F!JeAV1CBJg{8tCr_>v5pxz;(}w1hmY?vyW`=%e7E_r}FvpIUg>VteFscPyN=XOTbNV$`gf1BUakG*3;e%d$ zjrIT(YhB4&R?|oxSapcftc#Ub*MYt43^E7>*qBSlt(Yg?GfpxBvN( zqqdLheP{QpwRa9GciaAJ+6BK3x^#Qb(e1ZRee2St7djt&cSqvl?>@fet4+O&KYQz@ zA^Cwhtt(sheCoO%pE%^L^~3f4M?@~0WprEmN{2IVdi$+?$MpWV<5{Plb3*&h1OIhr z|9zLO`u@$Do==AkzM;*JKlHln5N-bB9dh=*ees(oU2|9Qrf-ft@ZC+X{_6C7%fI2i zDRuK_gctqz_NyK0j#W+_KYr4()i;kWiI(oT`;`w*eDQ;iqf0lwdG)8q-7|Ccs*igg zH~Xfp)#lJ|pUvs>dN2F-lfLfSe(!soUtjy}ySca2-16Bg9cOItk2`zN#4}$0wcGFd z?FZc4>#`H)bh@+S&C|QS`N2KcjXm$(FBUBram-os+76vI>$KPADc7u#@Iyz47RtbF_UP+Mo`oBfBse8iLA*#qrk zM<=hIe%NRI;@{?L&o(dbYNg)of8@^3m(HF$ODK&zw^yc+r2Yk z(3HiS?c4*8J8XEJTez@8@!L06J-p_t)v@b~y8LvDzhHgjx%;}F`ovAAkDb!insEDF zPGzg{JqG2U*`s>f*Y}P(Z^W;Yb9$YA?rYcg32iyf&U<3s%#A-hHt?^F&yL%=@xiv8 zZ-4B)4?3;wb$)|or=B$7g1w{fUUyv0Ie#q9-So_ayy@F-opsA2+fQ3^?S{eMpSx-LM=R`8 zdL6NMP^ZAnw|&>9cun&jw-31Y&CmMmIp}TelR0-ReZSeWdxpOA`OSw6e)N((A4aSv zpZw;xods7kFQ0PpmXj{Mr^g%L?K-6Q!cO#3-qfl?9*4^n`U3y>=EPPRaFC;t;=n3!lfVO zT>SI(C-l4UqVO;8Eq>+P+I!D$^V_ce`idt8KRkL*uYLVGwRmrfap#)V6Gj|#_A4cw zzN}rhqT{-|=KXSVsZ;Xg*bZ|CuX*d+LVZ&0ZErqOb@l6~yxwNV-f;`=$p32cl;e7D z?rzj=z3Aw^XZ&(rUu)3icF&D7&U)|h0cC5tU42o>sfTD+-T(X>Z#;6`0XG<*sg%C;zd%Mb)RX+Qxr<@}Lo;Chlx; zneXBk!b=wox@%NkudP>K-hA!Z7he2n=cA2^AMRF`ESnoGP&WShVw;`T!WEx9^5w<( z2fciuzwZOnr>=0Vi(}tj_|d~vxveV3udZ5r|F+`1aRdJb#%!*?-IXKki(+`HSXnyq0_0q;-Ma>R(rX zcvAFAb(>osULFo^lx;roY>w}Z7{PNK+E7tw`^PdC1 zSiih?b@$({nY3?9@wW3Gz2Me27Qb=-mT8~8@Yr=1o<4EhtM46n&b?Q(d;RF&Prc*2 z8@~CV=hPV^kGk}cU9sA>&nm;Velx53o1R0SkG7ebKVrn^Yd6(Be`V|O+LLEru>Ii= zb1!|Y-A`TgLx0%U{Q8IQ?l9x_@4q>E(%J{}4?20*2fem@6i;6G+M(x#RvdTDr5kLs z%Ue@F`tyVrZ&`8l1FwH|L-_IjlPezj_5As#&s!6_zV~x_`Rva3zuWHBg-_QCWZ_}zpLpm&*e$A#Q&OX(X6EpMQ0ce*A#B&m|VN>vNEt`hF2M20X z<==(VxGDJ7EN~k(p{B~elBM02koTJ^zd1|&-@%#LRQV&awA&eu<)+F{%hI3XEdAM* zrQKy&;Kx@s-L4P)Y1_nn342^q{k$|wKig)(&qZ14>6)edI`pNfcKun(3om(Y6a5cn zfj^RkuHMK}|IJzO`E3?F9F?V>m09TjQvnz^yFw-y_R95;lmY=;zEV^=}*4H2plCWxmE{X&1o&O|GNEve04A zEchImWnS85Y4@=#^s_2UJtt5UAzAvsWv3m(qP(w`r*;AeA|{`AcPpPq%z56n`3`z-aW&jLRw zOZ^M8j92(1o1&k4v-GEDmU$VJr9aUu_-vh}Kf>!Pt2;W{)^?#9NT*6=2RQYfgyxo|kKgVQ&>sjWv zF3WhI%QCL~EcGnSQqPZB`u|rJ_!(L1KPgN3u37MQNS5-+EaNh<;k8o^Q))LJff9%> z#yp8@K^4LCn^Pn@mcP87DGU-gt~GCt_K}bw+^Tb$3udMGTg>D$ghQ@+nka$mQbN zGL7H`_fh>Z0xMJUx%?l50H9G``)(t6;booV^YOsDxPoUhe0WFsd?v%M&nI~8a>D1~ z@>j$bloPz>LBiXq+|Q!!1h1P;{rt8Ay)f}af*1VSSpq;F@>)BS;5iOqeqn2Z|2~K7 z|B2cKJCfH7#^>^FRKLaWy%@N_XXRMxVTj?S5Xb~vee6gH5%QV1D$gT$9nTAsiL&=j zf-fIP^?U6`uON8M2VLd+OXOcgxo$=v!*C+F~O_$9xY3Hu~w&nkVJn9bfS>M z7;mF<2%fW-+P$3XfAB(r=Z~iO&1LuwAHj1UAv#R(0M;`d<`1WOQe1w(QB=O}4;s;K zh98A)i2m%}NB#c*>t9^$uP1ooBEr8nU$>7V`0`&4k>x~8uek2KmEcvC)b0SD$LR>T z7WG&6BFrRsymv7kYRiZ+K~D18em|8jxQFWL!h|~w1TX5zznAI}u^{4VaXQ1#pn|vY zgq>Q*?cPTHAI|Nb%J`}Ni^l7%$E6V}ukN7wzm&BjuIwCwS3XYllyZN5Qwd(x42Z?W zXjAqL;qpJyyo-HEUW^ANhwAt6`C|o@FI-LZFXAc1wX%TgXL=AZz~Z`O7Qqut|FrrP zWhBU6;)mDip;TOX6yzc2H-kQn5d_boAAUo(l| ziCS70#oW(l1`)jKq{evOHcDM697PKckdvwz6RBpE))$<&eUx%Q6F|NuR zsJzh6#q~VMM!*ZWKSV`}^325quVH#-@>IG!NbuTSRPuBl*DJhU^3SFEMI4;CCIV5S z{_3@aVP-UV@;iy%gxn*py~PBtzKi7M@JydvN*j7>Iz^8H5K~1)$Hx4DU#g-?{wJH*!6Nw1B2D{M%y*UfYiFEaIcZ zwf1g;@4mE?d_GD3MNIrqF3)7I?wvvK+zff+iIWLl$NRX) z9-K1>u3Sg$Zsh)#f(%5v%daQ=M5%h^nZ8{9aq1!c3VOSW>%W}VBbK?mo{BU48=|WV z8U7q5TGXHWJeBwMqjLunyzuiJS#lkhzZ;LDd}V^>(c|0its!{Mzld_Y^_7S2iSjus zsD~eMJ?Hcyc+~{Lr`P{$9D)~|M0l9Q0k`=5jq}68{wTEO8}SUaH=U zg@emmr?1bX^2$`I->YZOKyLRdg71)TAzth{g4cdS{HGn$=NQJ%?oHHxVJ{Qco0U|) zrj$lRSXGpKmMd!RBK+JaOCydjm&)gJyS%+9H(bf}u>47*K)m-N?$5>4&-<8ftO^rc z&7ilZCKJ56KlPthhobbogWy#s5kEPcCv58t1kdeF-24AWShDE9F~W@`SLU0Q_m-idGyolJZ|?I zs^6QJe=+?iOm80jFPlc?cYj3~Sjzp`#e6dN48rpu?td8;rdThDV`#js8E&J$0$#^_ z&-CiKkKp-*gwM|zzJ&2va})J5$?#x5Dqr;-!M*+HBNUMBt|9n%Zg&^+rMh#7GUswV zpAM(;)jJ6T7Q<`7a6~=TLx`@TTu--A1TXlS#yf!F`}z~ShV_@;Tu+4Qs-`QIhu9;p z#eJxJ;#OK;9{!Js6TFb+7LCidJd5C!pA-JQ`Q6I&Q#pg`zlO^%@o|4L==>5eKryaD z-WQmBlmRNitGPdKb3O0h#N{ubeg+SqADn!G=lsI_gvPkQ4TQbus~A?oK8 zrvDxZg4caO01h4&>`a`uL-nb2yXF9ox z``LllS7BEgS2t!@M^B>i)hmg9F5vP9OeA;}d&`aKF<4iZY_;SoUIX;wu;IxznaD?><;2exCAe>X+Q%A zth79r;K~jf7xflrSh%06P3vwb*MH@WR6gfAs{fHgsG{mS2%f)y#s&1s>qVR3b&P+H z&m>RddS0d$g?~s~BYFQys8s&|#@mx1crov}+|R2Re#qtA?$3k=?_AL3tqES6A&0!& zjo~GPhw;>`@+hzCf)ASKqB% z&p8D5_NhWVig8s|668KEzkLJ2>v(?|$M}Et0fJXCA0RHOD3k9e_-?j`c=LF09>MdO zzX2`sdUguI)dHHYrx^ar$po)$MsVt_qHJDE@WR1FC-a!D_F-X){@1YF3$`P#85IQ2 z|BU2Yhx@PeBY5Q}1P9s3>-(VuUp|i3b$2d*LN3AUR?xa8u8Z@K3$}3i{#4Iv2h$5D z4I%jQbyQDV#@lZj30{cf_2TmM&6jRxco~)NN!2LpjwN_vCegXK53b>U=CfUk(WWc_ z0}=htIhEGkXnIZYr3k+KFlx6Y*WbC4%Rfg8%jJGP`XIx9qZM=x!;41|T+Pr!kKy_& zJ5W9OTz|g{sl3AL)LR$$pn>eC%Jvg_3+GSz6TG^X=-IQkJcQ{M<5DvAg(uNHIqz{A zXgRlwuOm?XXAvH{GCy20o8Xlh_DKa~EbHIeR@Sh9>uGsD!E-;O3SOn^ltZyhMETu6 zP(K5VpLLZ4FJSx9Qm#jcouYj8CsfaThT8_iS^vfIk=GuU6EgMp>-urK)vaZ@M|t8u z1H%;c=Vb7)Vd#Jy*GTH;+g$(i4#8`C&_2?U`+v(+hIgTvTEy_}n+RSd3>~;coSC@( z3=mvpxs=IG`C|jadAtw<0G&=5JRJey`Aw;xtZGa^v9N%ZqaUSb1MG_k%e*z^MS;B z#0SLLWpT||LFIE<-?@mu%Ibwp!#7<*@XDJAZ{GZ#goPm5UEYHFGmh&yW)Q&>EDyL0 zzxE-9pGoCCKIX0>c+O9a@qck4!E3Li@}s$)@~s3fVEH+h;r-Du(Vv21TIid2yxkTM zyqe_-k6%sH30~LySXo0`THeZWjECxK8ZTiL{JxCJS2CYDmD{bnli&%KpJy=q*pUR^ z{Qlv=Ut}nr-F@M`=Qu%@c zf_r%GiRJ`;YW5HuXqVTEW4Qk91pkuPh3m;J-3k9di@f?3Q~7GPw|Mk$)wvAsMCChk z`8fASIgse^7M_|%JQ;RN5!`=H0K?qj&hc31Aca?f#8 zemSqBFS(vSyAeEbA+?*wFYM)YQT=#FS#kplDE<0S`KnO_KZoa~d6MADRn*TsM)WT{ zFRDv;@aQLp`R(ouzuvbaWBXULOpasBE>qMuyGPp8Yc zp0^0@$$KAG5q$Tt)PHd%Qe02+cym4?JU_|s8_%KgY8&dm!S#PRmEe_KX?;zmYLsC- zt}6D&&1855@5{BkpL*x(XYu^j?527=x>^LmRp6m&4=t?ajQ?A%;Qr5{{y)V1tVt2P zI%B;rW4TwINabmFgCCaZe|MWBWe+!lUd8q1MO07z$AmX;-bY-?@N0-}=W~A^y^8yj zM=OrmfKs=X`?I~Ptk?4w%(|7}b)Qnn1Gt`%QwUyj0rfM)@YdXJF57v=$=dL(59TKd z?=Phce=$P!)J}k)i|a97Uw`0H;4^cdo%1-s6}I-T5wPvHid_e#d|FDt2h<$2W4 zpShp+FuX29-flIY%I}^=Av!+&P{WZDgiPoa92FQs}ma``(?B6!`0 zgwJD`J{5*nokH{VIS=fHLMmUA;rDs1C&3Fh65hP^atRPC@K%?kbvlvx%-a(Qp2K=8 zwXP^9Vj+w2HAfQORxm-YVtf{`z1O3wjbKo+Jlm^jbU6E7MDS|%$K`Q7mw=pP`R9l} z-(oy00{sej&ND=BIXo{hY_9@d_#Lh5U0l9m62sfj{_DwI&!F3)d~Jq2*|P)J&;HQS zT+b2x30`m&;RnU!b~zk-^VDoWbQs6NWvzhc8U<glAbRlVIly#Ybv~8J;LW zhwwT|V7et;v0n*du)GFbOz=v!2l^R46C0u|&vr24_V~Wge1?BZ?Ow&@@u5puK9}vc z0~kJG5W#md+{f_Ch7i1N7~%6NUN6GDDcaqgLC?>gN$`S?2tWO~o-ghucs}FJVE8Wu z1kbd?tBV-^ItU(@IR7KA6}J&w{gdX=qld>qV4^?ESq>*^!FMB=u6Ad{In26*%GZt| z{CIZh);zxj!OpTh51+f3pHyY&JL@qJ(XPV&nmzI@#NgjU@SK)}H_zUC3no;Q&*yz} zHkW_tGKR0B{?zdLeRdVWYhtvHy#CBSf#9{D5S|$w%B$RNCF{Azas7Wj&h=#2>k1wu zcrN=-Bi!zKm*CayiI4SQc&`-%&*x~&l{_!kGyUY`(Rc^(`U*3@U4Avey>&PGTB@h^ zdoU93`ln$%3N0hG_ zNqqZXvK4$UB|&h7=gY(M@>2<(vw-^V(enZ837#2$HKl~$)qbL%mE8YtS&vwLEy3q; zySJ{P^7(8hIiK-nPbYXT`;n*ccu!@1UNgSEtYILr8)Yi@zxr|Nr?)PyOmTnMUg7bL zXZmpcyiV~buYMy5UO18H?Mkl5x}4yNokVXVsCh*<37#{C@F~8pA+9S`f-le5FCsi% zbv@1F0_Lk57@u{#?{hWE-tJUSl?Y(QH9`JGJYkgJb=MOD#COTWwX%Zyvyt$?)hnB~ z5InIB3mF%U0^b$9g5Wh<2tJnUdGLCID}}^=4q^Bprk}c1RR2e^HheFU*HPW`L^*^# zd}C!e)l;~JS{&DtUWlE=^>f_Le6FX@DO{f8+!iqY=QF(a7g{ggcfvMrr1CXw8_OGe za|yn?3-$98uD>+M@OA`0lVF;MQ?&_R+mZTnC)ZzlC6`}LbmGNlzR{1%UrXgL=l%z$ z61?scbQsr89>CQ{5`6b!qLY)k{*H?Yp7@dIwt@%H{W^kIa=eho2ez*xc=Zv4=e<0x zqrhMVeiXJBVVjm$SC%Vkn9twM?XG4#>}ER*$U|P8S8{(A66Jis{cnfq5cOAO#O=&D zhufWnwsEaseEtAJlKnZBdOl753i}==LckL|FZ33^N67duP;VQGPeue@1XU z%dR4LRg!8@`Gu#MKda2gJbJkK6e_PW-@x*b*S=l^uWdu~NK^rRxtQRIDFi=|$MyL& z1h4*!N&=1YTF?7kO&==n?K@j~Q~BISXkFKG`GbAjF2|*Ke0UYhjfK2kynXYIYA(-l zv);P?n&qzDzfpgNaX(KeqVk192tVgB{D_+fzC5S#I{kp_uX&B=a2!v}5#zah#=PHO z#`S+e1wB8Aog{eO0Y}M^dUV?Y%}M$xCj9)wcvwD=;5D0Rz1+!sX3yDNp7o2Xd43Oe z2%dX6Vc;{S=T0|sJsiI@lk1;)8Nro&YIg?L^IeqS)hE(;Ph$M!TtM*35C{oZjr^-9 z(Sr$Ix0&XVRx!R~h-$^S3ckPs$2E-y94sJsj!AsuYOd#pTNs|9M{EJ1%5}l|X^8nr z@f`$LGW-{pJwWhkmNP53-R?1ht6ONiULfpRp7+c+(m~^>{PN>zyy&*PK3c%_^SmF# z@Mo8Ed6v%!8~CnXh|6<)xHs=xwi3LS`O@Kx=l4$`cup_c89h2b<8Fo@4uZku>8)>F zPVg$W?|J*?ICMbZt+tLJo_+OxUZ)DjSA&e@RdPGm!*J%w-0bXUq}!< zhwa$!a``FU2wwdZ;klB_U&{2B{|@1E50{^n%k}X3_3-uu^XE#oFL`+D!~Lu~lKS&+ zuBUmJ>RHbGVF1HNGd=I-`5MIZvu_fWS3f0A*pAEpc0a*)51@7D+4Dn}a`}gdo{!*q zKFcGx!s`p$guJ37xjfrjuuSB2y+!as=JPoW_oKsdy*xu0IGoq-=S(M+VZz&qjL*r; z4^@Tmd@RFnV*FQed<%C|IRq0b>d$$Y>fg!jzEe){1lvoe^9!$@O7I%ivxu81%FMY0 zuM1FrHgNf6*AYDbPvW=zxPGC|OF9hDde0%URxY}L;MHdkd=!s&#}b0qu)kxfhaaZf z>Ik(vkjuBM=JFYOci+C;0MT(P3PkUU1RH1kb;R z_~F%D&%=)qTz#jrEI*IbA!XdT1kYJXoNxvAvv2{ym912dIOi#@pBN9hyQ!bu89!?# za=UD&^62xAI|yDmmHIz|`!k96i`=USKQB=A%Ds0{`NAF4?nT_6uiF!RIqUD9ToLR` z@Tw)Wk9hX#YbO)D`dy-bpjTd-I}kko3gR;h8UEA?g4Yft{B-7i>O8JGrW1($@|toF zl~-EPy7uhtdrx6_YpQ2MPb$BI+pS@HIHOHDZ!DExUPKrpZi(*--bV1<9EU@-;an8R zPtxc6g#TUK&xsygW!MuA7(?arPoNeF+lY_leNf4;n|*aDm9G;UA})`Qtqu^p@D-wy z`)wN6ftv|l^**h*k=&n?uOhh8oLYQ{D|(6Rsa{DVI*QAWbwhY@{x z=d%tl30@T=ym|Cl0zp^wvzp_RTN2vvK}Uv|F2j6e2vN%JWA{0CNBT4xdhMEiNk*ee2Ht~MuI2U zo*5yq(w^xym*t-q82?4{xt_16pY0eve>lM_S78SmcR9g#zen`bhSyi8lL=nS@&@%5 z-{TGvJfGtaskewTaS2|>>!>ZadkYXK`nmf{;)j1Qe8hbOS6ZOMxPIaB_PB-Mxl3sV zfp)s^{{XoqQSl%DXi8|*gO}a&~RJog+Ja$M)yv&_!hf7=~6e=o>mxWU0cCtJa zQbMQA4o&28LrUya%1zPhO}>m4LbKguDi$wO#C_79p>~h;1vr^DVq~3bAabmMJZ;09|zl!ndM14(f}FZ zmXEQ^iYn|PcM`umRG`;;1HX?d7*&R~mIe_eCb}hqZ44m|EG9KxHc3o#J$RCMzy3+q zR{u2AEpf};VRIvHqFhX`SJgy2mTCfwszyw#FNCTlW5&I10CUN5LK|)wOX68o<|Jcj zSSqb3cjtmqF-`G#X}BwiHax_NO6}Cl`e%A2Ru(I746@71lObTed>%r`y@^TADTzmB zhAPTL2GR!^mBmANu;m!NVq*RrIsW=LsTuj2S4x6pGmTm=a?2&KETKdrW#uJGDpq7i z8r9$MX68`2gGr}ROR~Pqq7sP4uyQe$MxF8oILD5aCt^;Bx7aeQBj~Q zQkqZ_@ly|w=^kolrN8$D6tgUm?xW7qHY`{Cp+KJx;Fz+f%W}<1*W1Uc2P=+*d@TPsI|l` zOD`6R#!B1}(LyRDi3YUcmL|&Q;bqYsk)g8^$8u%N7S-UNk}MU2h^Ab3rV=R@_hJyh zF#3`Je@MmVV_MwuqGY@xky3zTKbj_-*p4GAP8&|+o_OODgj&M%Bx(l=qr?hJ6UlhF z8v&jH7hF-ngo;6md(oLtC?XbGC@dC}=#yI}x{f_3sl?(Dtb)>tGR$duC*+KxV`$cK zqjp8f-*gc}z>s{RWGk6Z#NNxi;#> z&tmDI4d5c43}GtK3*gMuagQz}OJb$5a?}IVmd0nhAX~A-(pm;1;ho5iL|kl-iCDt* zDPb}FV#;|4;)z>9qhbm3u3lFWa5_B3>Othp! zcu4r|M8Zti$&{Nk3uLDGZL|nV2+75Px2>QPG4-Gt35Ku5g139A7u5;6Srisl1%#desQS5|J%qik=xnIGB2nVvy`XJ4R={WYOxv*?Ga|d{ z$5i=K^HO?6S!}K^nldEs5v6^OqxqenY1u}=R0FcK=Ch0AAAHb9w!LX%9w1C6)GfDaf zB@&vNst8Bo*xSk+bVyZAzp8=!!WfuOr575b6O$g9={lh4Sb%5T2#cA=>$a=8mS#m% zECtKZ7&R*B-f=_cq~c{X7n)jX&jh8>j1&h05zFs)!dk#^qHciDPgnr+@M(=P0FW4= z=5xW*z}_YGplvJcx`yopZ8s7L8&Plh0hdOqBo=WE$##8~d;n*0h!5A(K`3g+N>C3- z!3?{S9wL^;WB9+ClbGL^HYd?Qz^4ZTVMo)fKqN@?ZQ5n?isN&{tn0qUNt2i7!F3G+Fetu(9B11l6|T=g!LfE?sEc1>a>w+Tm>u>-u^MbGXls5`r^)(nm|y^FJrYO7 zf#Qhai`oH4Gq5KFEM{mH?LcC8$jcLZf&3ei3rR3{vDFIs+%Cz>D~P9fp*7<6>93Z} z3!xG*vGcH%3DVHTj*ZrB+cZogYM8-D#0l#@qKtU>9EeW3*!J~`a?rgtsT@*rk<`DL zfd>MSsP1!gJrdA^hDJNm|J6dMXtWT5ASpZO8a^xRHzNj3tYGv3NOnS|Fr<8pF{qXi z4u;(@IAkE=251b8dg2FzG%^@P8mk-{OC?I|d5t+`Fl|x#!=@Pt`)xI9=n>VTzQ`7c zdHAfxi?U~h5$-t|f1RG97R`vn6Z1mRWV|#a`HL2SoE<8SrLf0Eiaplis(u?R*-&ja z;DWH^T!;~aCg-KFVL{j`!|tYGVuaWgf=CvE+y)ecT|I1QR@4YsV3#KCrYs&LD^leV z@ImnKq7n!#vsDNvVgWWH7b(xs0%vTX<18NN;GMQ+o0@A!e5#N5wvO$2o-Zc$sel8_ zL{(Gu>uxwAi6|sm#iAvd8K|9lbW;7AMg@tC=QPU0k9iL64 zN_--~oS~jAXr`F0u<7{0l2lbCuGE+<*r{^OFWJH*w|t7&eDy>{su%;Z!U4@PB90ae z8kQYqbP}tjJ<6P2E^JXKYX>0W>VcpZ@cH$qP1}=E6e}%>nKWhABrGP>KFaY{o$mKX zY~70b4O?(e>fQbno5AY;6UCZ(8p%d2(-*`V4Mr@mH)bmV5*G+(paf#4g16@7fvHM4 zP3|E7HEF0}H{xLVMQj(N_hqcTG%=3$BIsIkAgUI-bAdT6XhtJG#~)A~4WexWy?ZM> zFoYxzLn^d*BdQs0&@#btO*>*liQig8SxxL?5X{R`B@pN!4fAb0IVyc@jb8#m04XuB zR?Xab>${-kmFBVT1TlEmh)L|2% zx}(`)!9o0%E{VPoSsB?$s%d#KoeM@()8~tT18PphGE}i&(lUq83`=an#-1kCr(nZU zZ(v+`dD4cImp3*(TP&Ti!f=*87ewCi1ok>78OOdi6n_Qwb@2#11}wj3VMlTy$vF|1 zhNtPI1T`o^8FbwsGo&{rH+eJ!(n#CaMQZ|BztMvV>O~HZ9@4bHv|7AhQG?~qh3T^# z`z1PUnx_8?Y?!OjYxl zKFicd0}z9$SDT^#xk4l*y(=^m{0Lo(giSr*MzH_uuIkwI9@|Ic9+#IVq(q3P;c(Iw zrV<#jV_~fACd?(Yw&B!?idBb9tT${7xI}YNy?~WEE=|s2T6`vm&8L}=$bwEdEEmB4!ba%ljSz}SDkXds zp)ibyN${$Kw>d(whdyArwjV~NV1(ADC9H<9A;e1??l24=HbmR!nnA}G3AjN*CfhVv z_eo$QfFUA%hKPm1%v%QTJw#-ZjwAq;ItI)=e#7yrVa@br$mBh#Ubpk;7K+V85O8|^ z=^TWJTb2MN1U-Q4XGDU!0a?y)4bmPPttefLSd+XSc4T-O#rQ+;)CidwBp>nF zfq)rM{ZRCo+Er6-o$2;r{`3U_V;zPf_7lGz zFroDsFr7uiQD(UR3q)f=tV**=NO*+=joP{cl7J#4L=THc zCRIBBY&W8rQ{9M=yC(M>(sPhlgJ!G@iw9bj@WMkR6uUeGQYcg~J4LOis%t*YHNs7i z2Hq(*hhVIBc~G)Cp`L+7SPqoh2yD|1b}o;ov{Fpj{7`%@EJ=Y_8Two9O36bD48<-6 z=MM}7@#J{%yJv9LbgXmJ^S8Ng{jSrnH^s`b zZcT$Lq8>}K1c!p_q)d>a3za0|GlIGgB8X;_2-1ird8(DBvlWHS3ZAOP$nv?qumOzf zSc?`+Tn(B8G;E0ZL3B+zpiSX8lGZd80)i0$?{`cG>T}xKvE(ZdD2nK1bkwgyS%kF% z+n5mu>#SfC&yhPQw&1cv1-3!K^G1o=bPnCP2>lH5({zXh(m@fDh7~jfSps595Id4? zXsVNLLKmJ5cr_qVM}jHrPUUXVJkv?qMe#DtfWaJ9gi??$Aj$|T2n78RQ+F)g2*3=k z(qhp5*3PLp@$wLwf!Pq|_2RG<#v+6k<98h^%sXQvd!s9ixP}x-P4b}#T-koV7FPWc z9gct~t38tZbitlAV+efQuump{U?DK@6k28=0v6_kqp*rOJ{q|}hN?6r0Mw2SmX$Xl zu4SnNH<`lxhm!?q!;9Aa^3VIvZ?+z1S{ z@ISD8Nz0g}Y=f+>|GhUwxUfYJ*-qyAw1^7z*bh$wq-heCv${tFvx~-xgttQ&0a@S< zxM0#Sa)4E;x~|d^PIpKO?1;rbG}gq<{7?4%un%}NBc^NWQ8*Pz-GhGZBz=ONVAYlv zhu9znSvu@@{gx5Xqk5G6XeJq68Vf6ugxL=<8ahNe5u}k_rWXPBIyIpBd``d@2?neT zJ5rDh-ziJJHwH0b4V!jQi`W*#7gfWmj0RccXLDn^7XoH;>0RaCW$W2~a*f|F)LR|) zEf|;mS{e^&<`$0AVy8YFh%hY-UZ#mUIw!@w%;)JP=AmOlxZ$*G0~!p z@?z{O*|3sfE3hK2;{*dP?3Z@b(O75{6Wmx*(%9}-A-s`n_Y3Q`jh)nIqcggnHy0~I zM~hS>v4KOrm$_gQQtlAO9f(9McvML9lo)h+x9j)PdJWEy8XR!p+Hh8={;*}jX#+2^ zoCVL0l3^z=aS;SHPiU%SIZtmQos##X7uSY?%7{V>b;Ho+iAOc!^PXQR)0vm9dB`#t zsc=EbX;mu_NgxbMQlhehSd)J7FBmZ(V#$#NNqr!?$P5S=BjN(~AH+Xl8F0g@;eZ+S z!w3hj5i2c?-01<f6$!eo4kb!X16lvceI{6GU=03DL@YrNyL8Ds zDXk&cWHzi9Vq>yk+zkgHPODDX^rctOJx3bgQDidE^l(7RPfhr-E%s^s>D{Hq0vVLB0Uh$4WmJ}v~DPm98A zgisQ2a+h=nPkY|q&Le_6q|%gWzh_&q(4$DQlHAs_hQd`9qEHfaRfAnOpt-II4x&W@ z#My)8P&tGl*bjefU@{&cnz0aWfLrrY7khTy0|!gs?^ z4xmg)pg);APbqka3Jgpz-`QKs>b{d48e;cg5^{MCBpung7c6(4`HZc z-~fSW06xSZ3(5O4f&F5vd>X8Uh&(N4try)A?hMQ1=5^kP6={}ff~Q7AWTFF~AQ1r%Sz53&LO`8x}ak+OCf#(tL5aabTkii@-QPCQDO=%I}3K6(i&ZE><(>gAqHdvvVLl zauDtb^3TGtZ_f+ER+nmIs!PXc#=_TJp}3o2!v<0{Gi`H(?JHs?;y7?orVA|aZW`6X zKFzSOb*PYic)ez$a}_KD>r@23fxx2?e>e~|U>9}auJO^_WqZ{Jhk!%=MftK3vHgZ= zB9sWRvZ_nF9h=gkke>D>u?1^w8DrTM+aTR zwuT)m2}rcMXJMMt1A zqSUQu*s1rNKtpRB5+gPuG=dES4ihtABSb5pYa}NU>y`}6DiBs?aZW4hfm>b*)VUm4GMhqnFIXKq`8MLYJiC_SZQp78(K?tVc*0gfdOqOX8X;Mepe@e3$ zLlN9zfcx88)E5W_IRZ4p9;u2G07C91caa|U`Jkm)4n!wANIP$1*`;Z9s9t{#!>EGE zK{&b-g+fg0#w3GIx>l7v{vmx)?q|NRG+5EX!uNx?71d&SoD9eRLuxk?P<~ZxyO6wu zwFz^H`7@x>!!(Z_R5wV^U}j2De1Rt89V8EjwO*dM7>(c~UO+>d(7GuWU#ev98bf2-Sqc8s?8p4p9yTqgohU~&sWFTnW zpvuXfE?g_j{$P#7sSysX!CMi>F>xLP3kF_AD@x=qnG=pZ7~=d-QXhgjHNlW@k2mxn zu#b3HtldD=VW(DO&PetKA=>VD<^a*jf}x3HEgJZepk@kM6G3GSF>A61IP0T_X2Ycd zfk?OtU^KvS0XS<|!$`C1curmaAQ|@(lPoG_c&B4J}gWt_%Q4aCUz8fVc_zW=%&>Sj5UNl_!G8} z5;O$AK=%)X;ZW1z&=$)|oGIiZ=BOB_RzrdaB;||v7o493A0V?2QNA!*fmN8a5sSi- zlhf{m#orJW)fA(Tk=-htxvNlKpfA{#>c_4e5wZ&}_J%-o3o*g55V}!nq{`=&xNyUj z#4D0!neg}udz2m2e0~J@Mj-vLGa%7SifQUMln?)dmod#1WxPd>4pgqWnx&wY- zkgUn!a9PzGFN*3Po?a1Aj&Om&i6QoM2TviW^XNnrt|TW4BOuH|4otn0b|puLrsJIn zH0f+LiW`VGMNEeclW-W~>i!b0DkR)-@k!7^Gz(NqQHJtRnDo_(XiU^&Ij(92w6GO$ z5QNJ1had?`z*Amcnok?+O`KVQ3zBZgp$$D0%VZKH!-^)X0a-W|Vk@B6`8CIem=<=~ zYOx=E{%7MCoir2(F`_=W9-!NRbZ{s^;xCvc9t)Wbt~e-q2)1i7R^XplE}~dp2&1tP zhhw@{+6wVw0}f#SO@-n@CBoSPRgL&vAA;;*W=}IRN`JfRg)U6hG?mmT=4H`<2^GjS zp|81!oFEzFe<6^}r_UB=20|cwj*bLcN`-|2qk+KhTEQq{HWBV+@JXxxjZOtKJJk@f z87o7_5SD@iGU9-N?Z<%z4s2;8aI#ooC2hPr(@rL=iQ;ZF?g9;BMKl0;P}jl;-$g_x zd+A6Q5&_TN={3(ntobI2!@`-GB+l~ra1aWCL2wUyC!Lx7AP#^mP!?{;0HpGG& zBD9Lb6B{dTUVO67!5j#nLP;1GVX4N+E=UB8eU8uz#ZIVY4`)*$MsqlupdllSa9INf zF|cBd`mn4_EnCydaey`jQ5L>qyk=o@M^LQaLfjejXHVr!58U7x7RPouE`_%O?ztjJj^7R4^r66S=sg@?h&qjA68uy`xOa%}T|a`r%?NbEfQAzZym<7+XYOEOrVs*2MFGSz2BU~yvb3n) zV4U%&4@Q=l*jW)N3Ev1JBrF5b=30XdwBCxN1z6e=CX$kn1LL&jhqx!dm_(0aZ#2W2 z9|ud}rO^UXP{UlMMMF0d*KrE2{C_5{YY5&)P?m}SnJ}Vc*vm>Pyxa^kO)UQ)I0#34 zb=U86VeW^yqfxL)nx-i)P9buL;@GJ8iVUoM1$?)^nAM~pn_-o(5C{X4 zgpQpH%+qSniZiVQyefmRoT)wwR(phe`uOV$d`g@TC^l(5X(UplTTLiTz>ADR?>M9_ zfS6kiVd^-cZNgDQ!UhZMk^?j>phhM0HqVR6~cjE$qKI1SJ@xP=Q?$ z3MrZ6ev*wAkdilORh(CmvNz;X#5`fj#AgzOV=-tV#4^C{@k~)LAS|A6)}lP@_y`Qe zX%1`(aLlF47=pC2#fSPhKGdBHXB4VIP$E1JdK4iX(2hB@Q}-mOCZcX=A~Fo(7J{@) z1ACGM9mdcb+r*?o&0z}}s*;QmgJdjmpJ@jxXcQdgr zejGCQ_|(L*qIAMc`yIc)icS$$I--umXFN*C9fC$I8}Xb$ghL=W!H+N>*+@F~Y!p0z z74Q!t4Ezav8A+U)@s5ER2-`8?k_^Hyrek6Aq@eUihiO6stjNp(uOv@l- z94q12i+T(XE*?tb1 zMtrb=+eKi`Kv?IJyiGLVgBYqsbw-^~F zMHq@x%XY%&MQo471BG+%hv~oZ@(TZ0*u+UaoB)VG$dmLg4DX_9O%s)}ZJc*Kaasz| zML}^29L^>(aB;+sID3bkHhq;#u>)3RxG04w844_IQF(cwCmjDnEafPisS~lJg15k+ z5hoW?F}{U?Z~#B-1K`DQRLGvmNor7D5UVbaONw|XA6(}p@%T&`tcWv~k*EU?nqR|q z9?Z6ko7ly8m?{Qm264pI1=evCmzWN1CdAaFk1Q{547*!0pn&0o zii1Ni8rvyhX04CeGQ9X$pE)=VIbe?K42jRd1VJJj&yee!z5ILYX`8cwp@rKZ3%q8I9}n{(N)%;>pLssN`yI`L__QYs)Go3#5+U( z2okqx*ze$CPZseGg#+C%MvWEcI1rfx@4X{*?@+l=g#GZMMqwJUARW4p)}hIkNAU?; z;pTzQTCfiibJNxFMy`HKRxI=-O`Ll!aiis>^dSnwLIV@R3k-=@V;39;O=^6SSoju= za5=u1rsB;j9 z7%YUad5bN*=V^w7`p7*^Mc{p+UZ}#!G{5j+<6IwfIu>);+ncFY@ivYF5cq_vPznBP zUWZ_2SkUpc1RqZQL765liruB*s~c$@l+53=zMBCJCx<~PI=)R8aB_H$vp4mQ{VbP)ifi*uj)co8G6ic@xEGR7>3@L$^sgGKp*h`JDqluR-Z z{awМ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

  • hx()q_Q?g7yh=N6qF`wy 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� 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

    OQ0nu=+mB^zgauh%eSo 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℞_V~+Tsm(QT0@S=H%kTyvm9di8maM#xETmxFM)0 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%0DjBuw^B>R!f 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�*&g3;yUpEEhCA(47H(i8(&AxQa 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

    pyn(z$@NEHI&2 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�>6l=d!CI&af7G+JLpmsdPTTl8|Q;fTq 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

    t;aup@vtXjuV+&2^%YXJ-S|GV>vi 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%0Ap6kv$?k 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

    BveB3V(Fya|>dNax+fOlYE z`WQr@+61jMbjh$;B~+-gNMIb}OcNSAViT0A+&IvW3O9O#Q{wj6DIqV{j2@MgacVA! z`}_{7NCE+L)^*CM&%GTw8CqKlzgRmnF`-bOHr%Y(B(J zHUv(u50)Gr)~A?u(zh0s-%YV={wUiYIx8~k$?5;k-n+m@njCe41vV_*YYg^cV{F3~ zJ#J4)?vh&ln(3bDo>8mSJ@Tj}S<=`u%nUUpsU(%VR1#HEw>0*w4F_v(@$oodd7J@b zj@JUlU<`)k7C2aJc6peEwaxEf*ETaPY~U~l2E($e{r@8}GV^;?Nj+o3{eEbsTBYyH zjEszojEszojOe;>JJ>7LXy2nm7I}pov&8GcBH<-BH}`aSLD%6*DTwo|5r#!XaHVU! zdixnH+6dKOO(Q1z6aZ2)(fs;`1`Uxn^OS_m4m5JPg$1jdOeyWo!VWG0bYVAeE^i{h zrP?(_9Fln|1VBI-3UG+mdS@}X<%3uRrcbGoSs9Lml~S|iNCm{^m0)XV zN>TaHlGfsiY_$p8#cqmVS{w!hTmZ7|{_iY?39V zLV}Ow_?RG)6?{jX54kR*I%w7vsc}RABq~cI?$RH)hs!rSbX(DsaC1oe&0FPueYgzz zc>9?j-R#K8K+)_ZjVVTsILEge7tdZ+MJ8scAdjWa!vt}xjQ?4I|FRNh7yci@4@?P< zdbH+^&twLZT#&}?C7dC_P|}8}vWx>I+QTz6P#EYFLIu59}bS8d{ZZmys0idIKTpciIrZygF)z3|iQ# z?iLhoPWbn(gRC8|aL8pS?iU~*SOi7w{+)fSczDu$$+Dfznk@qKIo%w7NTG@DrA@On+W6w_>l71=bKSe}@Q1J*Kw zSAHu2_T~h#6mBD;9|TC6G}fFs`i4bXyT0yamP;qRTvvgU}73ET!A{ zgA;QUK-eCWwvPMiEp8Ncpvz$O4H^$Cq$E}c;Rq5EOR7k#3DM<8g)lx1f+`_5dP^#L z4{Vmze~hAGpK>bYJE0z6X-UP?AGp`Kg+Z4BYCNPhH&+Syu9HxPMr|i1$ham^k#?u4 zlz!HbGf3d%kqat^7QP7kWM}6;OYzM^Yv7rJika#r%Np*0HQ~)BXLnuQBeM^xEcgXa zcMB>%Fw-2=u%6CG5t0uyB~8OZXyMwYenMh0>`PC%m1*f`-lt&_q(-&(G=OUbV#W7a zoRhv2650zEne`4b?C}~dIw$?R0>xHCB}*bYE27@rw7N*maAT%_ia>160AJ3t$aku- za<)o)I2)5B9eTL0!0ArUqJLkB0u_r}$Q9VeJZ8u=S_;_#^h`HZexr-2#hbKLWPKu% ziK*#J;~`z3m$wfbAXA_tT(GPPafOH^ujwN~YNsk2l_5lusUW55rzBY*GBiRed7c83 zhg^Z$1K;`4;#7UOB|bW7^tzR7eJM1Ytd?#+liB)u;mMWPSzr7}@5jMy6LkZ2piMg4l2R+)f$#=zbFR zB^xGWznzIa#f4vtl_A6jJ(CPC+0DkcovIx0w>3J3Ae;!|&&f9%FHI_*y2VPXKan(&^(wT*(ZwDz(#YGW4 z@dKl)XDm{E{^XLkP;_|GIeF(v*SWVXCSah2$00cr@bqA)YT! z<2)zXrpIMAE?H{A>4ytPIazW^829K#Vb&C&rs_NwI7qRW0<=kMvej33Rsm%k7q4MP9tFIzp z43A==ixF?hNCxl~RzFrA(flA(?lDPax)3Gb*t52V_x8r-s8}vSmcmpi?$gCFvK~#hHnPcs^E$o(7OYF7ipW zY$;_(M^X-pB2z-qO2Ba!5%U6`rO*`_ zC7eJbRsv&U!Gzg`NU+mm&Q?VWVX*`mt|rleENFnNZj}M9%>vOG$>??3fv>qGEn&4d z;s$Df6M;B2SrQN}LS4sU;YN$K@CxitYDueg1e4@7D-Z`GMa)G^YkeSz%kRE>=14A* zL!*(|d;u&02hDk&-o<0nS7#*BnLIrN>#=f_>@w85zno^Z1OWJHjxxlMudf`77#d_s z++kaQ)RJhM!-S*$s@D3<{A`rt?+_;BjWUxIR<_#f3(H$Lq`^|dTLVH&$KJ{khcH@A z@H<9~L=+)%&7VSc%11Z0Ne{6ENKe0Pe0JKu;(n*jI_8B6O0+{mB z3Q;WLPZ2e}bj6gPn2-NdupUUn3l2CVo9G|Ki-V58t^k5s-kQKk$CZ`yGwyiBZncPk zp3#~ZaDf*Zu=64Yh;RqVCE}e5T)Mu^#-at8@}g*vxXkw(qXebAW|Ii`qFh~eLy;Js zeGJX%q)!{Y2wZ%JMR;&w!|Ax5fykU$4x5Km8E2a#fhd|8B^Uk)-NjB*-7;i|Vw0FU zCBScn>Qit(O1A8viX!X%fUs<7oYm_ijAd6_gbRdVN;wPVR{{nz1SllDKqo>ts#zGk z-Noefp(k8a5@;0OWs8N)G27iB$Qxl!`%gt!jx_E4fG54Mld9I~q^FDpYpk^!xb{qn>`1Lxz>5(1de@t_No9337&(qLLiL$-y8+J)03HtAb! zdUHu9HrbQT@(O=FmWSvlD*)N%Yl?y67i1R z4)u8m=3OMb?<8+_VD0k7FuaMh8=NMlrG%C^O~nQeO$cz!lL7J0Sl%6&x!tUri&EI zq!u$;3x`96?0LX^I(fhh2CXe_Y;nB?N`mt|Pd;$~5YqADk46Wj%GbI(I3F6+zhon; zhqy|VvMR|@Me>_f)w5O0Imf9s2$0x!j0#xU>$U{}%qbLx%BSh+cr_0ucBq3ez`qB`K_f;K`7OGCRM|l!x}GcmAyC|w!v+ak2m1N3vLI~v z)|@I671JIF4Beh3g=ZEnLnyj|lnE<>TI#Rj#$^McdN{2)W~74Kmx&i?TY0D{yIEl7 z1diK9=Cs7rrh4$rj%cGGl4#_4^KUdsKZ;1v!fb$SOgzgN8U3|X4VoW!Ao9KOGcmS} zVo;2lP=upHQXMUFzbU++Now^?o{my58!Q{wPunb$RRI|KOsO)Yks`(kaJ$SXF5{|q zMV(LDm=19?&lfL41SX9dI>4B@Sm#Cl*;mSRY;*;H zda>B;X(EF#p|>-FKazs3uP}rHGGd^pl%B`?PqQXrVdxz4g2pPXd!h+rak-A@=SCJW zdg$5_Q%iIkIkv-!1>>Cn@ebJ};EnapwJ1Y}>u=26?7ACood*o6`zcjO*n^BdqVWiF z+}KVh&w-rl|G^H*IsAH~$&dImdr&U7rR)Uv@9UggkhrB|^7uXl*^l(1RaE$^=VAH$ z=-mBw_Upa7%7+eeR<5)Qn`B{P88IG@|Nr2qTsq(x>mN_b>GQ+2J#kq2k0<4J8`MoU zFTv~-Ob*JOu`QmEBDnT@YJNI-WSnU0fQRNOi5agM@sXfse0A|2pNgCyGhD!f66Zvn zJu;6ruQ_<{i%cnvDS759c16usp!aH{!$R#H7?&r8w!?C&$`NNJIO201a!1B3n%md% z^ha*<*g+lEVqH?Xy@Gj(k@8_`s<%b94UW!UsqxTae!9l<6I{@gogj#dGmnuprdl2ul(;GCC68DaHacs(9oI#&XYZair}r)vaYqCW z@{Nw9=2h2MF@Yg+OlNH{^3~O7G#6)Puh!;Es zOK+T@QQfN!4vx;dx^Qi%Z*5;!&xclXVNo?CtB4U2#IPN7J8Y^K+;Nfx^}rUvWAdm> zUY?kG_2{HJ^jhrypd!*KLUSL8OGADn#fYI3)bnOnIm4|X%@3#q?*aVVxYdVYFpVhrbrqqB3*SjG`gpFA!8t6akDO0X510bgj#u|5_mASdg$F*F(o_idVL~v zQ%4ZDmVR-|HV;+ z5sf)q>JcS3t^F}RaCK)h$xuG2sNsa$$W3G)ECLt@IXPsk7cEb_TQJ>}dv(F^C#j5)xWkS}L$EuypnAAa#nNSMhf4;y z9S#!fH^i8r#zgiW-T*vsT&HtadxfABA3+~EN{7lb60wnQ&^T`wIb1YEo7}Y4*_w@6iD|{2}@PWVNn% zv^?VMnbJ!w1$H=GE>8oc4o^F(HX`DyAi_5Z*FO3 zCp&*~0aQ$BgbBTcgMTc^m`9*JXN|PbX-H%(j0F#p7-T}XPDER*+7WD`7JP@nsscfs zEP2ITy1KcY;4sudCje8j3}zwfuvjQktmN7u+AGaPTHsEew5zS&+~NSx8IZyab7lo*F7@p~*-f0hO2StGA&n}EfQA<3yaHb(Qf3PWIh>ws zmf$94z`b(I6PIa7e1Rd=nZv3{?!(azz*OvTc%cE08P0M5=4NHNxqxl!`n9c%5Q$+P zgr5{=JLj9m+>2;fZo^XQU|vbGjRr9hwU=>5&3jHG8Z43-%UV-{n>lY>o0}MFruCJ} zNz!X&elk{>$*$t6(qUn88A=%qwY3NI)zmJv10?y=5&)OoX_j{uW*+9XCFlU0tQ;c8 ze&~^%K-$`LO)^otqMM6Qv%59S8DGQC2huJm%`RV}lhjmCnc~u%%CK<4I{?|TcqLU; zR6#g|&(Wbw?Iu9;+Sq+CLXBTR01c_3yE9StWigVoU0Omlkcv{k_ZtD0=xnFftMVZ# z4o)gzU^f}yhrcO1AYb8oXK%ZW6_N1jsi&*@q00I)?gf^wA@da$m2UaU+%(VS5m^Xx zu^mQ^;|~8ojbW-ttJuN}knxwjC1wI*iDJ5PF+kJpE}i$(9h+iZDz9^ht=W$Kzi9Qeb1061{Y?*dc{ub+<|fj>WppBrQClsKHmt!m*QO?VOB>@6z zumHpj)eY6Qee?vy1@m1)enNWn5sE4a?$hM9a-&%24M!Bl^1>ML;0xowv%aMXvk_)h z-6nZqU;Tci8=-&TDU{Y_pLBJ!VySpPF$gaV=zA8`M?|eT%0$!xvYU_oU-XcvO$S_=|^ZwdFP!2zZ%_V>#!y z!0_dxqUa3Dat&8^F|>;eD2+w*3=1cnj2PxZu1~upZmDL1^ALAq;-2AK23TpBlQGj~ zT+ze<#S6-c=eSP0d8sOgQ@|5UB5EMYab-Z1FmL**6Kfc%oahKkZ~4%eS{@ngSTQkh zrXczZAF{;>s~&Y0`fWpX1=!%C1R|+Vk`N9so64$Gy@3R01Y;j9(%Z!b1)^vL3ohlm zXIx?0(HYHbec$NZeaE;F2=^gzy%tBOHF+b1OuU_(b+3|@__%k)(b?J2hw__}S7=IF z(@F41Jm7x+OO=gec!WHd$UOMS;I#%QEnXOp=>0tZ7r1SJ?%x8QEbY7mc;tnZh@*pV zH76`oin|rTsnqaaf>g!0psYY4B2<^i8*r?qlc1M<&?h3clUdNjwQ8UK!?z;FkF2li~I93Al|z;_y|C%dZ`=A<2u@Hi!#v*FmQ!CX)z9GB6{S zOcu)EtHX^kI;4-8lKdkRnP*OEAjXu zyRpGJ%Gh1{0M5mh2_Qy@5iLP$LvE_;td zMtfK)E-{oMlcgZU6A}t=BhHAJh}Q=N8%cw0Yy>7sYbSUEhC-O>gg>3RfCUTJDj7=B z`smgftWDg6oFJ>q9Sn@cBng@M90H0u9t#H|5!U``j&F55 zWH=_ySfKi3Ip$=@(;H2U^}K+?@l2=mg_w}}W=bZ-17~GQXwo_7FjqegI;cLhIy_jO zo4NEL!p$wh(X&yVklQY_ah)qyCa=s)R!t{w$!a&(hRubyQmf75cow=lE7rE}JTq|kkToy;#J&aBLhvH@x$^`*d>d{7EEfRn zo;-UzA1dG6GT3@&EgvdgJRP8CP8EVZbLy4>uOZZMK3u-JWw4TWXJauRvU_>Uz;T1K zQvh0C^#j~(pakQ_EsL=cX^6;5fn~6vTs};WzRax@H&I-# zVZuaw>47D<58PTibE;O$CkuHw&9CIdqVmF}=?Y-7qVnXwOmRlXEJg`cz+34`tFBd z)M~H3Iyo`*z=ITb1Bbo9LnzEyS_fuEXRnS_wg<`;{DU}f&4Jt^Cqj{KL6MW8$kKK` zlvAO|VnLD9p-AV>EEL#2LV@l^w!r0?@O~lZ{p?tHU(dl|E~=jgeW*cv&{{$n{K_QOs7!N2Bt$ulPuek-qDol6iusWIqMXS>p|8t1oFrt6VIVezd6*& zAB4ESIZecK2p8XPWl<}pbuR`erhd;_h2zn)R^bTstd*~W^sJIUiao33k895=`6J!4 zN*-dpr<>!3luDY|fksNHZa=x|@f+$@^b(;OR73&V9eF2+GM0a#O+3Y^zY*R9wxD?kPZFhijIu55I=51)86I|-wO zwnxpA1vQ;4=~44kK}{!Ndel5!P}9ks9yQP8)bvYwk9s3S7GwMxaeGh?2wr(cPTtEC zS9mgcbsV{MC#L4dXY&*r6KK7f7|FxUY3@DhLM}Woq(ZJdFr+*JC$*Z?MyarO1zdYzjD(BL{AR5cD@9f!hzmDv zBl)a)V0`jf_rPEZSot7uV%9E_^w_l&aemM>a2CAMefW6JRF1?cjSgBckB}@FX<}M1 zk5nuesbgBOXeLBDnHJ1rbT0}c4D-sFIE#v*C*`LhAY&7S;+IE5lWS4CdHppp78N7? z^4G>9Hlf*~7!w)I{#6Udw|~{b5$|6$k0wMo?59$aC-gOMwEJwelt>4ZEuqB&3X@PV zpF#RlXC#k2y;VZjMP;HM@`1*EstICn4Z5Jy`C>io8B_@|usB{y>4Z5==Ci+wF2CR_ zFw+h9Bg}eLEoA@xtroI>|EhW8E9~FDY61KAuXvK&_%!67Nz`7{JaIN>Suw%ct7864 z>Dj6LZBx%GJSWQMv7$L?3P!|qyh7A#0X;aVLLNLgs6w7RIH*D%JvgWWo;^4q;o*a; zhuP69VAO+Sl+U;af|Jk42LhptT_pDP=ry15b-qvy5w6Y~DN!U+<%)I=kya@1^7aLU z7b%5O?v5O}5eY<(-<>(-5-OoUJDE45On!M-WTt0IA(UqGCSR-%YN0$48LNYf8^>#n zgG(xE9nwJI5EgNiuUR;#eQOpDbKjbU1K+o10W0*aSHK+o>*Y=LS>9bPJX7q!75%H_ z^GUCI5$6<%0`D%-Pa44b@o>=!5S==+SP{cTvVg^kxGNF`ELOxy(e9AN^7zIS4bE_u z$-_UMkNJW(NV@i|8QqJT7CG8${8+J&nEfgilDA*QLW1|Jm_G#lYUK|~uUh%T)T@RY zxS~nm+)%9Lns`seM2Z5z~-z;<*_!vM=wEQ_h5;iS}E&fV^&Gc$eSWbWd6OSf^4^N5Rl zs)CPMdXEq*SesO?vITl!u2tlCJ6kbKi-QA}8hVb`&$rAk-G%`zWcMSf{6%$Rf-lp2 z4gGBLVhnD)96D5a9io$LhyyPlR4>3y`r2LPCqnN91nOm=96FQ_J>{YopE9biq|9t&ab?jRK%56-11mo*6$U) zeKL^7ePDm&jRxsfnh!X$w&CLKE7<9fj^$TGC=WQyjMtoxMhzKh&}W$D5Urt7$6ZRK z3oqYxTY14#&=o-(-_}lrw`|}No~))1(-qpAtCbqO$#Ge!hAaNHllUMHd+jtnXYjcL zpF8n6iw_#EE#R|wtUM)&*$2u~8F=uXtsrIl0LRK9;M%zDHuzJH!h;*0lW1}T&5fYh z5!|-|bTopt&?H(00>Fdsk(52m0|!p7RP3(}pxNVpfKH>25vf6JZ5~I|TYN8iEeGL7 z-caS3A7#|V;Z0F>sOGrY+F9uep;B;0DtrS@HjW{zkwREdRf=Jq$b)sF5Ej&!Vpu2h zV4W<41r?_l)~P&LrwU=6=>_X_9<0-aur5W3Glj73>;>zNJXm)W!aCav)}48< z?kt2ga=aI?vw6VI76Svb7mp;G%464J-XH1B{Q2Bp%>L4PO5UgtOie4uEtR5eN+`j3 zK!5S1h4-YmmSTy$!ka&gg3-R-Xg3>eL^i(BVSMzCT$NgBv=JO;vAns#EH=Z-xNqIr z!LMzGJ!=`w{szpVuYo!K~Nr)Mbv#+gG(?@b+JiRVQ+&Nfo|m0BfddW zFy4U&dE{oX{KJ4S19!zGT?~O*t-gsXiMYqvsMRW!dg}&m-XK086z9gkfDjlOpnyF- zFyPz4{IA`1Td&rRL8lVQAg!vx$>EBi$*2`#OJud$>-bfEoZecSK@#b;dgaKKu`$fN z`bv8poQOCITiw+o1N$in`pAvsM~+lqgIQb^2?a0E_4Xr22*EYvZc;|Qb%GD%6y3%N zKlZU7ZtEKf)SeJD`Hxoow2jB%!%25XTyHc6bDg`U8v>4Af$kQS5cMtSr_meK4T_g- z8)&f^5oNtctI1_87kFlEiyJu6uYshZm)k%_-HRJI*{^}5_Ltj0MhA==IMuI#q)M3E zKt?f)8#vvsfxgN>G}8Oi2XyC-__v+w@WmC=2BZ}xZ3ppfG_;e#l%?B*9pxj%Xr7J` z>jGGEH@OTs(7c1#X-RZMMDg3?a^&N!5FD1wszfP6hG?en^cmw71+2D=ac9c`mO`dk zOHLd}VAWB)e=))y)Yot|8#S3B8qfwH#AJnIG-X7*!b+Gx zhYM+l6T@!!wJwR8Ugl=4TIO_(TSJ;NiNS%p_U#6nu6K5d);q?%RI@>L!Q!%+ zT(5M{^HwYsd$NQikw@B`PuXIX)6%{ds+_t5L4N-OT%@8I`VVlO$|0v8itLhvmAL<^ zlqi&5m=Z5@*Cw2%k@GSOQ=(>nxtJ)vPtj-=NzPZ>^57Z*g`mzL%SR>IeZ<$@OC1eH zUYFRKXgkEssX(!ZZ#Y7SA-EZ!J(ffA$FN2-hzAndipZl-@gfSZTyQ=}YX}4;FNBC# zY^^UKTP+k!morboY|HQjK}SG}jRdtyNd@cgKMIDw5AF3@f<-?SvLW6^q&E>X9@yp~ zha-!H0HRs6Xd>wxE5qUsbMMl6`E^gYO=Tr(++=y`iM~9(KD_a0`FuHJjAT)2e6DEN zTwyX;ox9BH5yOSa8HQD=${D%AVpQ_>4bu?l1Cx5)zF`^yePGh?w{Mt+Kp&Vi0PY*6 zAjs9!vTp-*2qvfH~uOZD{)WkvRda5mW&1&rihkw>9E|a zR~H&p`2(w-M9P!Mv|M1_t^n@nS?xDKMo6BofURe3Gmrzi<0FSFUT?%6&e;H9jIdxu zkd&zNFl82g)69TkIrbft6U)-W_(I%+VfIl}LLK+RjbdNpNsmH(>?W+K2yhe-X-Khh zG$;DRr4R!%k)TY#H#rnaM*tR5x&uo6bKscvlp72DgvLWDp%D%SSrCW9F%L{R4xoKn zcc;>@%kUl|7~+DV#92bJ-=HW#cd`W7qCkNy#D0r?C9KIgeBoNFz|x1Tn_HVM{d87ObNpR&~rPyDOw7X#=E6WWP^rwOEd-2D*R$pQc8Eq<{c z5!$I+g=RoJ4uBT+Ibc3=(AxC{p84Udzm4qb3~!|4#hc#cyYDVn7OIu@D@Fze?;I#! zxWGU0h0oXUBzvgdy-{Bn!5OXtG;(I3;@BJfoosRh4ggs0Fp#g;6(FyGcm))+bJDrJ zO3>xvc21s5JV5cw22}*D{DRjj$@>+7jMV&!`X!nezg|#>Hdf2^Nz>OL;kGv?I7K7W0#p1u=q)-kA8KJksEITk@ z#P!7-%eI&j4Qn$~V&F6w7E_!s18)Z7L_QPLU1moGZ#~Xc1d%xh>or@3d|hXb0!mK4 zn_Az*(OQ;bNH!In@nULkHJQVvwtxw_@nD4k++o>vCS0*aOF&SDxOH}%(a8tOuNR9B zq`mvb^myZ}3Pn=rD2JIsOY!)V6H`RM)$A|K9&>|%ka6G$`T#bo0z48{*EZK{3k^sH zBsF*q35opAq&ukr(=+1ZiWvxJ#XLzS8mvpNLbd-aG&UI`G$wd+(R`B+J$t4OiYcD2+hN(;;WlbwfA3K6mwYVLo-g|da0alz}N6C z^{c@iv~p1rahz^|a1T)227!qmbaO~ z%df+25=SG|V1!@qdZ|XU^~9aNm=}@FU_XoqBBZ}*x=xNZQs@;$OIbrQf}4OeQh9Rf|$?{ z6T7tpZ=&V(8XfrLG+KjKL!E-C6Qv!ayza2vc(^<c>LHQ@RuU5D)RC&vJ;cV(skx0zHA&dMvldA#vh!Ro1equ6EMknNO0?f(k&V~ zMh@f$M3)R833zVe%GCHJR6m)3IyraW#O3+g18~ngk1bT(;B5Tr^s&QFz^MuCruhr( z5?Bi!r!{(M)S62%O92&6GWS|}*U@YKp_y^yv#w1}kBv?O5zvZVadEyfFYe@`m zeyW~sR#)S%qw+{@+fHmJuqH`&3wCVuyfHJxCEUK+A!u;k)bFhL# zos*A~)0J)qcRiduq9hr>GI2uO55-X;yC1R+ybSNHNTjYp8aZ!j}hzdcGbk~FkDD|o)_swu= z%M*j5S&RZ?9h&cbYXBsQlBPEr8~{o<9O?mKT4Wc@Lx^;a%TO};BZn#{J0LpL(-_%m zRgSvD9E$LDaS9V_fHMuyq#z3t&8!Q}m8#lGxcO%CG%i1y2N#=Ax9GIgIH+`Db+OEI$CrG|p6% zFy0{9y-gcSv>~1+T|XbV?mEwxCahXIE3wqOvlr*Ejun?iCpu$8B)Lf|DNeyCxQHOu z4r@#^B4ZgxVkab3mD4`;s-~q3;|aS82M=a3T^lt$Fy6?$PIHxE3O!~RuWxOxBZCi9 z?!qX>-pw-;UzDz1-1&*1dYI==H#lUw>^{N2k-$s=VV3a%eq<>dhHbSMs$aJ7e* zI@9>j9f%|&tsL1zT5Gn=f|ju>a%F|Q=V(Zcb0*#`DHJ824*M54n!+k*iAl!3Q~|+c zaAD7WT`Wm*&N$I7*IPM7j3oudOe8uSt0o)Lu=g(q2#m5dNl0Ge5c=JB)6f)&Y%j2b z?jc_Ez80h|c4T=qREZIn`OwHA?L(#FJ@W_fL=6A=P=aEE+l-uwly1`B7^^ul&8%Tu`mkmb8> zqOhT+xgrLlG~b@`R*l<@U!4P-40JK)TlJ zN^SC&=-~ei8EsmHNd*9+Y(g&qvnF37XMB`E}9sJVdK~dE^||Iq=$`V>Zt^ObAvU9N4(4 zynu;xEg|Kk>WRXtm~I_x^WwT5d#QS=uqu|IWW{K95Z^lsYkFCjtnVB4H)Z@2cKjb@ zHOLWrv5ZBRELEAn%+rk9a$=-fr=Ei05J)yYjDnuroZYS|XlKQbSTd-R>Npd{N(TjI zah20cK|$EaRz;KKCboFYJ<58}5l|1l#i^>xNannh6uDG8#C9dXYl>b)bpx3=goh~| zHt>1-Bq^_#Bz142TR-pWlS?ETA}A)r)FE3|`0Y5`5l+*5R&}Rkb>);(Jy(af+K^z- zD4f!dZ{qpG-&nr5RkUNR$Z#C>lg&N-UItNNK23!kjSUsjO*_if+mwi}EB8*2ju$qo z7VR1wOYSn6f)br&8cA_7KY5}`E!fK)Q$pqbswkAOg~-96TdJW#uHR@A9H8~Q#jH>3$DXDM+`yH89oYJ_i zoUpHv-oPLz<$kuYF3IZxfAG&|fWB(r>P_HCG=V>uph2(kDj$+wm3WQ~b1n@NKTM>7 zNPMOGnn!6BU$T=ETJ?}z7}SW`S@~u4dr2^sF#*Q!1qAi-OUiSGReJL6(-391K;SGF zz+&d! z(rlBN_s^zYe2Ae@2x+_ZOf$F;m|cX~9Da04_an440{Fu~UA{voAvrgNICTT=6yz~F z)Qjg?Ms2jl`SOI=w9Kg6v%o1;Vh16zd zyf%uzneONPw!5*`lqs84e1WzB3-%)7K(O7;I^6DJ_(ERI z9j&AxEj35Hcyw81^bUuQu;Vn=78(c$g4=*Re{~*fG|2LF6WbC}f;0;~l=Do$K?Z7C zE)*M>8)zP&S0cnu=m(7vP`HQ|p?JSLsy-k9<9t9jTX%hkPND?_OX=|{Mi@?S2o*B4 zYNIG-l&B>z7lW&~<5<9S27g+hXn9~}C?bhBv|fO&G-OHN7B^{6PzoqNhGT%NewNiG zeKZk5gT)Yxjy#_8m#LyF8Fd^Z!mt-PN}fz8J=%F3_D>uo9paCZ#Q77;7f;%<`f)jd z%Zx5hP0x>?!`O&drw$3{VA34?z})z(Om*CWkUbct7o!7_D}`N#3OiH-6*}&~D(Y2! zr;=rFrAr#uC?TV27=9oR*2Ln@)zV@c)jQnZrX`k?7S3>Ya(NbjsnXn(C_3b*vFYmU zxMP`!2}O2!wLqnq05TVb;$asY{aEg6=#y1$g;qR%`?L&y5>@M6F$*Ni-%{7Y(QdyO zf*Lw2#1Dj#m>~zVu>&QhANDAHg9b9ZU#-SKe^WkYpmVu#XEV?_a5I}C)2~yu(sb`q zxgpFX7SyU9O8V`AWG!M;H+(y~*Me<$2@(I0HJc&RHoMW!Te$%

    ^4FtIYA&Gw-D9mI$X%B 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

      |8-J6Kl*a~w&%Ul3)<|{`a`boGiBWm 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 z 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

      (_$)?@hMflEqKM}7s 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 Ky>6!)y9Qp5Q0X=BuM$ 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

      BinN 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

      #_z0Jve&RF1$9!_pWa~a9p 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

      B77Z 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

    1. O@)Nc+B+p%m+^+`K*Kh+~@SpGT;HkNz2mgHA|Umm4~+9 zdsIhHNMi4D7 zWm;qxbZuHAg(ajlFQsyXsVwp7ALslTeIek&Iy>ZYoE(kGKc01nOrRB_>B#j+kFN40 z2iRSe;9t z|4nGhWesB+ZN|HomuUVmxgeZ<*bU9amnT_yvJL0n?M4uj70`fZR6*AnSE+UzsvbbVw|!qhas1g<`NY3`G3$j@KIvw6 z+p^}>?#;cDGf0rMEp^4z6|h-`8DwpgGb2NZx3^c7RCwkwWTKy~>ku{8ahxWYAi3+r zc;@?EKiSe1`?hDq#OCNy#_nYaD%*o(^v%^hzBcviWzD$bhmiDG@E3vSrBPkfi3^-v z9rjjM�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
      G=31={2|LD+9?@2CC*ADsZpdErm& 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

      } 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%0A)rhr%OZ6{z*Km~REAKJDT^ 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%0DUUndTTuFE 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, - pub prints: Vec, -} - -impl BLang { - pub fn code(&self) -> &String { - &self.code - } - - pub fn object(&self) -> &Vec { - &self.object - } -} - -pub struct BLangBuilder { - code: String, - btf_path: Option, - dump_ir: bool, - pub(crate) prints: Vec, -} - -impl BLangBuilder { - pub fn new(code: String) -> Self { - BLangBuilder { - code, - btf_path: None, - dump_ir: false, - prints: vec![], - } - } - - pub fn btf(mut self, path: &str) -> Self { - self.btf_path = Some(path.to_owned()); - self - } - - pub fn dump_ir(mut self, dump: bool) -> Self { - self.dump_ir = dump; - self - } - - pub fn build(mut self) -> BLang { - let mut compile = true; - - let btf = BTF::from_path(self.btf_path.as_ref().expect("Please specify btf path")); - - let mut ast = Ast::from(self.code.as_str()); - unfold::unfold(&btf, &mut ast); - type_check(&btf, &mut ast); - let m = gen_bpfir(&mut self, &ast).expect("Failed to generate bpf ir"); - let mut object = vec![]; - - if self.dump_ir { - compile = false; - } - - if compile { - object = m.compile().emit(); - } - - BLang { - code: self.code, - object, - prints: self.prints, - } - } - - pub fn build_with_output(mut self, out: &mut impl Write) -> BLang { - let mut compile = true; - - let btf = BTF::from_path(self.btf_path.as_ref().expect("Please specify btf path")); - - let mut ast = Ast::from(self.code.as_str()); - unfold::unfold(&btf, &mut ast); - type_check(&btf, &mut ast); - let m = gen_bpfir(&mut self, &ast).expect("Failed to generate bpf ir"); - let mut object = vec![]; - - if self.dump_ir { - compile = false; - write!(out, "{}", m).unwrap(); - } - - if compile { - object = m.compile().emit(); - } - - BLang { - code: self.code, - object, - prints: self.prints, - } - } -} - -#[cfg(test)] -mod tests { - use super::*; - - #[test] - fn output() { - let mut out = vec![]; - let _ = BLangBuilder::new("kprobe:tcp_sendmsg {}".to_owned()) - .btf("../tests/bin/vmlinux") - .dump_ir(true) - .build_with_output(&mut out); - - assert!(out.len() > 0); - } -} diff --git a/lwcb/blang/src/btf.rs b/lwcb/blang/src/btf.rs deleted file mode 100644 index cc82dc7..0000000 --- a/lwcb/blang/src/btf.rs +++ /dev/null @@ -1,218 +0,0 @@ -use bpfir::Type; -use libbpf_rs::btf::types::*; -use libbpf_rs::btf::BtfKind; -use libbpf_rs::btf::BtfType; -use libbpf_rs::btf::TypeId; -use libbpf_rs::Btf; -use std::cmp::Ordering; -use std::ops::Deref; -use std::path::Path; - -use crate::parser; - -pub struct BTF<'a> { - btf: Btf<'a>, -} - -impl<'a> BTF<'a> { - pub fn from_path>(path: P) -> Self { - BTF { - btf: Btf::from_path(path).unwrap(), - } - } - - pub fn find_by_name(&self, name: &str) -> Option { - if let Some(bt) = self.type_by_name::(name) { - return Some(bt.type_id().into()); - } - None - } - - pub fn find_member(&self, id: u32, name: &str) -> Option<(u32, parser::MemberAttr)> { - if let Some(st) = self.type_by_id::(id.into()) { - for mem in st.iter() { - if let Some(x) = mem.name { - if let Some(y) = x.to_str().ok() { - if y.cmp(name) == Ordering::Equal { - let ma = match mem.attr { - MemberAttr::Normal { offset } => parser::MemberAttr { - offset: offset / 8, - bitfield_offset: 0, - bitfield_size: 0, - }, - MemberAttr::BitField { size, offset } => parser::MemberAttr { - offset: offset / 8, - bitfield_offset: (offset % 8) as u16, - bitfield_size: size as u16, - }, - }; - return Some((mem.ty.into(), ma)); - } - } - } - } - } - return None; - } - - pub fn func_args(&self, name: &str) -> Vec<(String, u32)> { - let mut res = vec![]; - if let Some(func) = self.type_by_name::(name) { - if let Some(func_proto) = func.next_type().map(|x| FuncProto::try_from(x).unwrap()) { - for fp in func_proto.iter() { - res.push((fp.name.unwrap().to_str().unwrap().to_owned(), fp.ty.into())); - } - } - } - res - } - - pub fn func_ret(&self, name: &str) -> Option { - if let Some(func) = self.type_by_name::(name) { - if let Some(bt) = func.next_type() { - return Some(bt.next_type().unwrap().type_id().into()); - } - } - None - } - - pub fn type_string(&self, id: u32) -> String { - let mut ty = self.type_by_id::(id.into()).unwrap(); - ty = ty.skip_mods_and_typedefs(); - match ty.kind() { - BtfKind::Int => { - let mut res = String::default(); - let i = Int::try_from(ty).unwrap(); - match i.encoding { - IntEncoding::Bool => { - res.push_str("bool"); - } - IntEncoding::Char => { - res.push_str("char"); - } - IntEncoding::Signed => { - res.push('i'); - res.push_str(&i.bits.to_string()); - } - _ => { - res.push('u'); - res.push_str(&i.bits.to_string()); - } - } - - return res; - } - - BtfKind::Ptr => { - let mut res = self.type_string(ty.next_type().unwrap().type_id().into()); - res.push('*'); - return res; - } - - BtfKind::Struct => { - let mut res = "struct ".to_owned(); - res.push_str(ty.name().unwrap().to_str().unwrap()); - return res; - } - - _ => { - println!("kind: {:?}", ty.kind()); - todo!() - } - } - } - - pub fn to_type(&self, id: u32) -> Type { - let mut bt = self.btf.type_by_id::(TypeId::from(id)).unwrap(); - bt = bt.skip_mods_and_typedefs(); - match bt.kind() { - BtfKind::Struct => Type::struct_(to_string(&bt)), - BtfKind::Int => { - let i = Int::try_from(bt).unwrap(); - let bits = i.bits; - match i.encoding { - IntEncoding::Bool => Type::bool(), - IntEncoding::Char => Type::char(), - IntEncoding::Signed => match bits { - 8 => Type::i8(), - 16 => Type::i16(), - 32 => Type::i32(), - 64 => Type::i64(), - _ => unimplemented!(), - }, - IntEncoding::None => match bits { - 8 => Type::u8(), - 16 => Type::u16(), - 32 => Type::u32(), - 64 => Type::u64(), - _ => unimplemented!(), - }, - } - } - _ => todo!("{:?}", bt.kind()), - } - } -} - -#[inline] -fn to_string(bt: &BtfType) -> String { - bt.name().unwrap().to_str().unwrap().to_owned() -} - -impl<'a> Deref for BTF<'a> { - type Target = Btf<'a>; - fn deref(&self) -> &Self::Target { - &self.btf - } -} - -#[cfg(test)] -mod tests { - use super::*; - - #[test] - fn test_btf_get_func_args() { - let btf = BTF::from_path("../tests/bin/vmlinux"); - assert_ne!(btf.func_args("tcp_sendmsg").len(), 0); - } - - #[test] - fn test_btf_get_func_ret() { - let btf = BTF::from_path("../tests/bin/vmlinux"); - assert_eq!(btf.type_string(btf.func_ret("tcp_sendmsg").unwrap()), "i32"); - } - - #[test] - fn test_btf_type_string() { - let btf = BTF::from_path("../tests/bin/vmlinux"); - let args = btf.func_args("tcp_data_queue"); - assert_ne!(args.len(), 0); - - assert_eq!(btf.type_string(args[0].1), "struct sock*"); - } - - #[test] - fn find_by_name() { - let btf = BTF::from_path("../tests/bin/vmlinux"); - let args = btf.find_by_name("sock"); - assert!(args.is_some()); - } - - #[test] - fn find_member() { - let btf = BTF::from_path("../tests/bin/vmlinux"); - let id = btf.find_by_name("sock"); - assert!(btf.find_member(id.unwrap(), "__sk_common").is_some()); - } - - #[test] - fn find_member_bitfield() { - let btf = BTF::from_path("../tests/bin/vmlinux"); - let id = btf.find_by_name("tcphdr").unwrap(); - let (_, ma) = btf.find_member(id, "res1").unwrap(); - - assert_eq!(ma.offset, 12); - assert_eq!(ma.bitfield_offset, 0); - assert_eq!(ma.bitfield_size, 4); - } -} diff --git a/lwcb/blang/src/call.rs b/lwcb/blang/src/call.rs deleted file mode 100644 index 449f9b1..0000000 --- a/lwcb/blang/src/call.rs +++ /dev/null @@ -1,31 +0,0 @@ -use anyhow::bail; -use anyhow::Result; - -#[derive(Clone, Copy, Debug, PartialEq)] -pub enum Call { - Print, - Kstack, - Iphdr, - Tcphdr, - Bswap, - Ns, - Pid, - Reg, -} - -impl TryFrom<&str> for Call { - type Error = anyhow::Error; - fn try_from(value: &str) -> Result { - match value { - "print" => Ok(Call::Print), - "iphdr" => Ok(Call::Iphdr), - "tcphdr" => Ok(Call::Tcphdr), - "bswap" => Ok(Call::Bswap), - "kstack" => Ok(Call::Kstack), - "ns" => Ok(Call::Ns), - "pid" => Ok(Call::Pid), - "reg" => Ok(Call::Reg), - _ => bail!("{}: Unknown kernel space builtin function", value), - } - } -} diff --git a/lwcb/blang/src/constant.rs b/lwcb/blang/src/constant.rs deleted file mode 100644 index 985f392..0000000 --- a/lwcb/blang/src/constant.rs +++ /dev/null @@ -1,38 +0,0 @@ -use bpfir::types::Type; - -#[derive(Clone, Debug, PartialEq)] -pub struct Constant { - value: i64, - ty: Type, - radix: u32, -} - -impl Constant { - pub fn from_str_radix(value_str: &str, radix: u32) -> Self { - let value = i64::from_str_radix(value_str, radix as u32).expect("not a number"); - - let ty = match radix { - 2 => Type::u32(), - 8 => Type::u32(), - 10 => { - if value > (i32::MAX as i64) { - Type::i64() - } else { - Type::i32() - } - } - 16 => Type::u64(), - _ => todo!(), - }; - - Constant { value, ty, radix } - } - - pub fn ty(&self) -> &Type { - &self.ty - } - - pub fn value(&self) -> i64 { - self.value - } -} diff --git a/lwcb/blang/src/lexer.rs b/lwcb/blang/src/lexer.rs deleted file mode 100644 index 6f883fe..0000000 --- a/lwcb/blang/src/lexer.rs +++ /dev/null @@ -1,301 +0,0 @@ -use crate::constant::Constant; -use anyhow::bail; -use anyhow::Result; -use logos::Logos; -use std::collections::VecDeque; - -#[derive(Logos, Debug, Clone, PartialEq)] -pub enum Token { - //bpf program type - #[token("kprobe")] - Kprobe, - #[token("kretprobe")] - Kretprobe, - #[token("tracepoint")] - Tracepoint, - #[token("begin")] - Begin, - #[token("end")] - End, - // type name - #[token("bool")] - Bool, - #[token("char")] - Char, - #[token("i8")] - I8, - #[token("u8")] - U8, - #[token("i16")] - I16, - #[token("u16")] - U16, - #[token("i32")] - I32, - #[token("u32")] - U32, - #[token("i64")] - I64, - #[token("u64")] - U64, - #[token("union")] - Union, - #[token("struct")] - Struct, - // if statment - #[token("if")] - If, - #[token("else")] - Else, - // operator - #[token("<<")] - LShift, - #[token(">>")] - RShift, - #[token("!=")] - NotEqual, - #[token("+=")] - PlusEqual, - #[token("-=")] - MinusEqual, - #[token("*=")] - StarEqual, - #[token("/=")] - SlashEqual, - #[token("%=")] - PercentEqual, - #[token("^=")] - CaretEqual, - #[token("^")] - Caret, - #[token(":")] - Colon, - #[token(",")] - Comma, - #[token("...")] - Ellipse, - #[token("->")] - Deref, - #[token(".")] - Dot, - #[token("==")] - TwoEqual, - #[token("=")] - Equal, - #[token(">=")] - GreaterThanEqual, - #[token(">")] - GreaterThan, - #[token("[")] - LeftBracket, - #[token("{")] - LeftBrace, - #[token("(")] - LeftParen, - #[token("<=")] - LessThanEqual, - #[token("<")] - LessThan, - #[token("-")] - Minus, - #[token("%")] - Percent, - #[token("+")] - Plus, - #[token("?")] - QuestionMark, - #[token("}")] - RightBrace, - #[token("]")] - RightBracket, - #[token(")")] - RightParen, - #[token(";")] - Semicolon, - #[token("/")] - Slash, - #[token("*")] - Star, - #[token("return")] - Return, - #[regex(r"[_\p{L}][_\p{L}\p{N}]*", |x| x.slice().parse())] - Identifier(String), - #[regex("\"[^\"]*\"", |x| x.slice().parse())] - StringLiteral(String), - #[regex(r"0[bB][01]+", |x| Constant::from_str_radix(x.slice(), 2))] - #[regex(r"0[oO][0-7]+", |x| Constant::from_str_radix(x.slice(), 8))] - #[regex(r"0[xX][0-9a-fA-F]+", |x| Constant::from_str_radix(x.slice(), 16))] - #[regex(r"[0-9]+", |x| Constant::from_str_radix(x.slice(), 10))] - Constant(Constant), - - #[regex(r"[ \t]*(\r?\n)?", logos::skip)] - Whitespace, - #[error] - Unknown, - - #[regex(r"//[^\r\n]*(\r\n|\n)?", logos::skip)] - Comment, - - EOF, -} - -impl Token { - pub fn is_type_name(&self) -> bool { - match self { - Token::Bool - | Token::Char - | Token::I8 - | Token::U8 - | Token::I16 - | Token::U16 - | Token::I32 - | Token::U32 - | Token::I64 - | Token::U64 - | Token::Union - | Token::Struct => true, - _ => false, - } - } -} - -#[derive(Clone, Debug)] -pub struct Tokens<'text> { - lexer: logos::Lexer<'text, Token>, - peeks: VecDeque<(Token, logos::Span)>, - span: logos::Span, - source: &'text str, -} - -impl<'text> From<&'text str> for Tokens<'text> { - fn from(source: &'text str) -> Self { - Tokens::new(source) - } -} - -impl<'text> Tokens<'text> { - pub fn new(text: &'text str) -> Self { - Self { - lexer: Token::lexer(text), - peeks: VecDeque::new(), - span: logos::Span::default(), - source: text, - } - } - - pub fn span(&self) -> logos::Span { - self.span.clone() - } - - pub fn is_eof(&mut self) -> bool { - !self.have_token() - } - - pub fn have_token(&mut self) -> bool { - if self.peeks.is_empty() { - if let Some(x) = self.lexer.next() { - self.peeks.push_back((x, self.lexer.span())); - return true; - } else { - return false; - } - } - false - } - - pub fn read(&mut self) -> Token { - self.token().unwrap() - } - - pub fn peek(&mut self) -> Token { - self.peek_offset(0) - } - - pub fn peek_offset(&mut self, offset: usize) -> Token { - let mut tokens = vec![]; - for i in 0..(offset + 1) { - tokens.push((self.token().unwrap(), self.span())); - } - loop { - if let Some(token) = tokens.pop() { - self.peeks.push_front(token); - } else { - break; - } - } - self.peeks[offset].0.clone() - } - - pub fn try_eat(&mut self, token: Token) -> bool { - if self.peek() == token { - self.token().unwrap(); - return true; - } - false - } - - // get a token - fn token(&mut self) -> Result { - if let Some(token) = self.peeks.pop_front() { - self.span = token.1; - return Ok(token.0); - } - if let Some(token) = self.lexer.next() { - self.span = self.lexer.span(); - return Ok(token); - } - bail!("No left token") - } - - pub fn eat(&mut self, token: Token) -> Result<()> { - if self.token()? == token { - return Ok(()); - } - bail!("Expect {:?}", token) - } - - pub fn eat_identifier(&mut self) -> Result { - match &self.token()? { - Token::Identifier(i) => { - return Ok(i.clone()); - } - _ => { - bail!("Not identifier") - } - } - } - - pub fn eat_constant(&mut self) -> Result { - match &self.token()? { - Token::Constant(c) => { - return Ok(c.clone()); - } - _ => { - bail!("Not constant") - } - } - } - - pub fn eat_string_literal(&mut self) -> Result<()> { - match self.token()? { - Token::StringLiteral(_) => { - return Ok(()); - } - _ => { - bail!("Not a string literal token") - } - } - } - - pub fn span_string(&self, span: logos::Span) -> &str { - &self.source[span] - } - - pub fn span_str(&self, span: logos::Span) -> &str { - &self.source[span] - } - - pub fn left_str(&self) -> &str { - &self.source[self.span.start..] - } -} diff --git a/lwcb/blang/src/lib.rs b/lwcb/blang/src/lib.rs deleted file mode 100644 index 2423b03..0000000 --- a/lwcb/blang/src/lib.rs +++ /dev/null @@ -1,12 +0,0 @@ -mod blang; -mod btf; -mod call; -mod constant; -mod lexer; -mod parser; -mod passes; -pub use blang::BLang; -pub use blang::BLangBuilder; -pub mod print; - -pub const __PERF_EVENT_MAP__: &str = "__event_map__"; diff --git a/lwcb/blang/src/optimize/mod.rs b/lwcb/blang/src/optimize/mod.rs deleted file mode 100644 index e69de29..0000000 diff --git a/lwcb/blang/src/parser.rs b/lwcb/blang/src/parser.rs deleted file mode 100644 index beed3cf..0000000 --- a/lwcb/blang/src/parser.rs +++ /dev/null @@ -1,750 +0,0 @@ -use crate::call::Call; -use crate::constant::Constant; -use crate::lexer::Token; -use crate::lexer::Tokens; -use anyhow::bail; -use anyhow::Result; -use bpfir::types::BinaryOp; -use bpfir::types::UnaryOp; -use bpfir::Type; -use bpfir::TypeKind; -use logos::Span; - -#[derive(Clone, Debug, PartialEq)] -pub struct MemberAttr { - pub offset: u32, // in bytes - pub bitfield_offset: u16, // in bits - pub bitfield_size: u16, // in bits -} - -#[derive(Clone, Debug, PartialEq)] -pub enum ExprKind { - Compound(Vec), // compound statement - ExprStmt(Box), - If(Box, Box, Box>), // condition, then, else - Return, - - Type(Type), - - Ident(String), // identifier - LitStr(String), // string literal - Constant(i64), - Unary(UnaryOp, Box), // unary expression - Binary(BinaryOp, Box, Box), // binary expression - Cast(Box, Box), - Call(Call, Vec), - Member(Box, Box, Option), //member access - Trace(Box, Box), // bpf program, tracing point definition and program body -} - -#[derive(Clone, Debug, PartialEq)] -pub struct Expr { - pub kind: ExprKind, - pub span: Span, - pub ty: Type, -} - -impl Expr { - pub fn new(kind: ExprKind, span: Span) -> Self { - Self { - kind, - span, - ty: Type::new(TypeKind::Undef), - } - } - - pub fn from_compound(compound: Vec, span: Span) -> Self { - Self::new(ExprKind::Compound(compound), span) - } - - pub fn from_exprstmt(stmt: Expr, span: Span) -> Self { - Self::new(ExprKind::ExprStmt(Box::new(stmt)), span) - } - - pub fn from_if(c: Expr, t: Expr, e: Option, span: Span) -> Self { - Self::new(ExprKind::If(Box::new(c), Box::new(t), Box::new(e)), span) - } - pub fn from_return(span: Span) -> Self { - Self::new(ExprKind::Return, span) - } - pub fn new_type(ty: Type, span: Span) -> Self { - Self::new(ExprKind::Type(ty), span) - } - - pub fn from_trace(types: Vec, program: Expr, span: Span) -> Self { - Self::new( - ExprKind::Trace(Box::new(types[0].clone()), Box::new(program)), - span, - ) - } - - pub fn new_cast(cast: Expr, ty: Expr, span: Span) -> Self { - Self::new(ExprKind::Cast(Box::new(cast), Box::new(ty)), span) - } - - pub fn new_constant(c: Constant, span: Span) -> Self { - let mut expr = Self::new(ExprKind::Constant(c.value()), span); - expr.ty = c.ty().clone(); - expr - } - - pub fn new_binary(op: BinaryOp, l: Expr, r: Expr, span: Span) -> Self { - Self::new(ExprKind::Binary(op, Box::new(l), Box::new(r)), span) - } - - pub fn new_unary(op: UnaryOp, e: Expr, span: Span) -> Self { - Self::new(ExprKind::Unary(op, Box::new(e)), span) - } - - pub fn new_ident(ident: String, span: Span) -> Self { - Self::new(ExprKind::Ident(ident), span) - } - - pub fn new_litstr(str: String, span: Span) -> Self { - Self::new(ExprKind::LitStr(str), span) - } - - pub fn new_call(call: Call, args: Vec, span: Span) -> Self { - Self::new(ExprKind::Call(call, args), span) - } - - pub fn new_member(expr1: Expr, expr2: Expr, span: Span) -> Self { - Self::new( - ExprKind::Member(Box::new(expr1), Box::new(expr2), None), - span, - ) - } - - pub fn ty(&self) -> &Type { - &self.ty - } -} - -macro_rules! parsed_debug { - ($tokens: ident, $left: expr, $right: expr) => { - let span = merge_span($left, $right); - log::debug!("Parsed expression: {}", $tokens.span_string(span)); - }; -} - -fn merge_span(left: &Span, right: &Span) -> Span { - let mut span = Span::default(); - span.start = left.start; - span.end = right.end; - span -} - -fn type_expression(tokens: &mut Tokens) -> Result { - let mut ty = match tokens.read() { - Token::Bool => Type::bool(), - Token::Char => Type::char(), - Token::I8 => Type::i8(), - Token::U8 => Type::u8(), - Token::I16 => Type::i16(), - Token::U16 => Type::u16(), - Token::I32 => Type::i32(), - Token::U32 => Type::u32(), - Token::I64 => Type::i64(), - Token::U64 => Type::u64(), - Token::Struct => Type::struct_(tokens.eat_identifier()?), - Token::Union => Type::union(tokens.eat_identifier()?), - _ => todo!(), - }; - - while tokens.try_eat(Token::Star) { - ty = Type::ptr(ty); - } - - tokens.eat(Token::RightParen)?; - - return Ok(Expr::new_type(ty, tokens.span())); -} - -/// -/// ```grammar -/// postfix_expression -/// : primary_expression -/// | postfix_expression '[' expression ']' -/// | postfix_expression '(' ')' -/// | postfix_expression '(' argument_expression_list ')' -/// | postfix_expression '.' IDENTIFIER -/// | postfix_expression PTR_OP IDENTIFIER -/// | postfix_expression INC_OP -/// | postfix_expression DEC_OP -/// ; -/// ``` -pub fn postfix_expression(tokens: &mut Tokens) -> Result { - let mut rename_expression = primary_expression(tokens)?; - - // if tokens.try_eat(Token::LeftBracket) { - // [] operator - // } - - loop { - let base = tokens.span(); - - if tokens.try_eat(Token::LeftBracket) { - let expression = expression(tokens)?; - - tokens.eat(Token::RightBracket)?; - - rename_expression = Expr::new_binary( - BinaryOp::Index, - rename_expression, - expression, - merge_span(&base, &tokens.span()), - ); - continue; - } - - // member expression - if tokens.try_eat(Token::Dot) { - rename_expression = Expr::new_member( - rename_expression, - Expr::new_ident(tokens.eat_identifier()?, tokens.span()), - merge_span(&base, &tokens.span()), - ); - continue; - } - - if tokens.try_eat(Token::Deref) { - // replace "->" with an unary expression - rename_expression = Expr::new_unary( - UnaryOp::Deref, - rename_expression, - merge_span(&base, &tokens.span()), - ); - rename_expression = Expr::new_member( - rename_expression, - Expr::new_ident(tokens.eat_identifier()?, tokens.span()), - merge_span(&base, &tokens.span()), - ); - continue; - } - - return Ok(rename_expression); - } -} - -/// -/// -/// -/// CFG grammar: -/// -/// ``` -/// primary_expression -/// : IDENTIFIER -/// | CONSTANT -/// | STRING_LITERAL -/// | '(' expression ')' -/// ; -/// ``` -pub fn primary_expression(tokens: &mut Tokens) -> Result { - let base = tokens.span(); - - if tokens.try_eat(Token::LeftParen) { - let expression = expression(tokens); - tokens.eat(Token::RightParen)?; - return expression; - } - - match tokens.read() { - Token::Identifier(i) => { - if let Ok(func) = Call::try_from(i.as_str()) { - if tokens.try_eat(Token::LeftParen) { - return Ok(Expr::new_call( - func, - argument_expression_list(tokens)?, - merge_span(&base, &tokens.span()), - )); - } - } - - return Ok(Expr::new_ident( - i.clone(), - merge_span(&base, &tokens.span()), - )); - } - Token::Constant(c) => Ok(Expr::new_constant(c, merge_span(&base, &tokens.span()))), - // Token:: - Token::StringLiteral(s) => Ok(Expr::new_litstr(s, merge_span(&base, &tokens.span()))), - _ => bail!("wrong params {:?}", tokens), - } -} - -/// ```grammar -/// argument_expression_list -/// : assignment_expression -/// | argument_expression_list ',' assignment_expression -/// ; -/// ``` -pub fn argument_expression_list(tokens: &mut Tokens) -> Result> { - let _ = tokens.span(); - - if tokens.try_eat(Token::RightParen) { - return Ok(vec![]); - } - let mut args = Vec::new(); - args.push(assignment_expression(tokens)?); - while tokens.try_eat(Token::Comma) { - args.push(assignment_expression(tokens)?); - } - tokens.eat(Token::RightParen)?; - return Ok(args); -} - -///```grammar -/// multiplicative_expression -/// : cast_expression -/// | multiplicative_expression '*' cast_expression -/// | multiplicative_expression '/' cast_expression -/// | multiplicative_expression '%' cast_expression -/// ; -/// ``` -pub fn multiplicative_expression(tokens: &mut Tokens) -> Result { - let base = tokens.span(); - let mut expression = cast_expression(tokens)?; - - loop { - if tokens.try_eat(Token::Star) { - expression = Expr::new_binary( - BinaryOp::Mult, - expression, - cast_expression(tokens)?, - merge_span(&base, &tokens.span()), - ); - } else if tokens.try_eat(Token::Slash) { - expression = Expr::new_binary( - BinaryOp::Div, - expression, - cast_expression(tokens)?, - merge_span(&base, &tokens.span()), - ); - } else { - return Ok(expression); - } - } -} - -/// -/// ```grammar -/// additive_expression -/// : multiplicative_expression -/// | additive_expression '+' multiplicative_expression -/// | additive_expression '-' multiplicative_expression -/// ; -/// ``` -/// -pub fn additive_expression(tokens: &mut Tokens) -> Result { - let base = tokens.span(); - let mut expression = multiplicative_expression(tokens)?; - loop { - if tokens.try_eat(Token::Plus) { - expression = Expr::new_binary( - BinaryOp::Add, - expression, - multiplicative_expression(tokens)?, - merge_span(&base, &tokens.span()), - ); - } else if tokens.try_eat(Token::Minus) { - expression = Expr::new_binary( - BinaryOp::Sub, - expression, - multiplicative_expression(tokens)?, - merge_span(&base, &tokens.span()), - ); - } else { - return Ok(expression); - } - } -} - -/// -/// ```grammar -/// unary_expression -/// : postfix_expression -/// | INC_OP unary_expression -/// | DEC_OP unary_expression -/// | unary_operator cast_expression -/// | SIZEOF unary_expression -/// | SIZEOF '(' type_name ')' -/// ; -/// ``` -/// -/// -pub fn unary_expression(tokens: &mut Tokens) -> Result { - let base = tokens.span(); - if tokens.try_eat(Token::Plus) { - return cast_expression(tokens); - } - - if tokens.try_eat(Token::Minus) { - return Ok(Expr::new_unary( - UnaryOp::Neg, - cast_expression(tokens)?, - merge_span(&base, &tokens.span()), - )); - } - - if tokens.try_eat(Token::Star) { - return Ok(Expr::new_unary( - UnaryOp::Deref, - cast_expression(tokens)?, - merge_span(&base, &tokens.span()), - )); - } - - return postfix_expression(tokens); -} - -///```grammar -/// cast_expression -/// : unary_expression -/// | '(' type_name ')' cast_expression -/// ; -/// ``` -pub fn cast_expression(tokens: &mut Tokens) -> Result { - let base = tokens.span(); - - if tokens.peek() == Token::LeftParen && tokens.peek_offset(1).is_type_name() { - tokens.eat(Token::LeftParen)?; - let ty = type_expression(tokens)?; - - return Ok(Expr::new_cast( - cast_expression(tokens)?, - ty, - merge_span(&base, &tokens.span()), - )); - } - - return unary_expression(tokens); -} - -/// -/// ```grammar -/// equality_expression -/// : relational_expression -/// | equality_expression EQ_OP relational_expression -/// | equality_expression NE_OP relational_expression -/// ; -/// ``` -pub fn equality_expression(tokens: &mut Tokens) -> Result { - let base = tokens.span(); - let expression = relational_expression(tokens)?; - - if tokens.try_eat(Token::TwoEqual) { - return Ok(Expr::new_binary( - BinaryOp::Equal, - expression, - relational_expression(tokens)?, - merge_span(&base, &tokens.span()), - )); - } - - if tokens.try_eat(Token::NotEqual) { - return Ok(Expr::new_binary( - BinaryOp::NonEqual, - expression, - relational_expression(tokens)?, - merge_span(&base, &tokens.span()), - )); - } - return Ok(expression); -} - -/// -/// ```grammar -/// relational_expression -/// : shift_expression -/// | relational_expression '<' shift_expression -/// | relational_expression '>' shift_expression -/// | relational_expression LE_OP shift_expression -/// | relational_expression GE_OP shift_expression -/// ; -/// ``` -pub fn relational_expression(tokens: &mut Tokens) -> Result { - let base = tokens.span(); - let expression = shift_expression(tokens)?; - - if tokens.try_eat(Token::LessThan) { - return Ok(Expr::new_binary( - BinaryOp::LT, - expression, - shift_expression(tokens)?, - merge_span(&base, &tokens.span()), - )); - } - - if tokens.try_eat(Token::GreaterThan) { - return Ok(Expr::new_binary( - BinaryOp::GT, - expression, - shift_expression(tokens)?, - merge_span(&base, &tokens.span()), - )); - } - - if tokens.try_eat(Token::LessThanEqual) { - return Ok(Expr::new_binary( - BinaryOp::LTE, - expression, - shift_expression(tokens)?, - merge_span(&base, &tokens.span()), - )); - } - - if tokens.try_eat(Token::GreaterThanEqual) { - return Ok(Expr::new_binary( - BinaryOp::GTE, - expression, - shift_expression(tokens)?, - merge_span(&base, &tokens.span()), - )); - } - - return Ok(expression); -} - -/// -/// ```grammar -/// shift_expression -/// : additive_expression -/// | shift_expression LEFT_OP additive_expression -/// | shift_expression RIGHT_OP additive_expression -/// ; -/// ``` -pub fn shift_expression(tokens: &mut Tokens) -> Result { - let base = tokens.span(); - let expression = additive_expression(tokens)?; - - if tokens.try_eat(Token::LShift) { - return Ok(Expr::new_binary( - BinaryOp::LShift, - expression, - additive_expression(tokens)?, - merge_span(&base, &tokens.span()), - )); - } - - if tokens.try_eat(Token::RShift) { - return Ok(Expr::new_binary( - BinaryOp::RShift, - expression, - additive_expression(tokens)?, - merge_span(&base, &tokens.span()), - )); - } - return Ok(expression); -} - -///```grammar -/// assignment_expression -/// : conditional_expression -/// | unary_expression assignment_operator assignment_expression -/// ; -/// ``` -pub fn assignment_expression(tokens: &mut Tokens) -> Result { - let base = tokens.span(); - let expression = equality_expression(tokens)?; - - if tokens.try_eat(Token::Equal) { - return Ok(Expr::new_binary( - BinaryOp::Assign, - expression, - assignment_expression(tokens)?, - merge_span(&base, &tokens.span()), - )); - } - return Ok(expression); -} - -/// -/// ```grammar -/// expression -/// : assignment_expression -/// | expression ',' assignment_expression -/// ; -/// ``` -pub fn expression(tokens: &mut Tokens) -> Result { - assignment_expression(tokens) -} - -///```grammar -/// expression_statement -/// : ';' -/// | expression ';' -/// ; -/// ``` -pub fn expression_statement(tokens: &mut Tokens) -> Result { - let base = tokens.span(); - let expression = expression(tokens)?; - - tokens.eat(Token::Semicolon)?; - parsed_debug!(tokens, &base, &tokens.span()); - return Ok(Expr::from_exprstmt( - expression, - merge_span(&base, &tokens.span()), - )); -} - -/// -/// ```grammar -/// statement -/// : labeled_statement -/// | compound_statement -/// | expression_statement -/// | selection_statement -/// | iteration_statement -/// | jump_statement -/// ; -/// ``` -/// -pub fn statement(tokens: &mut Tokens) -> Result { - let base = tokens.span(); - - if tokens.try_eat(Token::Return) { - tokens.eat(Token::Semicolon)?; - return Ok(Expr::from_return(merge_span(&base, &tokens.span()))); - } - - if tokens.try_eat(Token::LeftBrace) { - let mut stmts = vec![]; - while !tokens.try_eat(Token::RightBrace) { - stmts.push(statement(tokens)?); - } - return Ok(Expr::from_compound( - stmts, - merge_span(&base, &tokens.span()), - )); - } - - if tokens.try_eat(Token::If) { - tokens.eat(Token::LeftParen)?; - let condition = expression(tokens)?; - tokens.eat(Token::RightParen)?; - let then_statement = statement(tokens)?; - let else_statement = if tokens.try_eat(Token::Else) { - Some(statement(tokens)?) - } else { - None - }; - return Ok(Expr::from_if( - condition, - then_statement, - else_statement, - merge_span(&base, &tokens.span()), - )); - } - - return expression_statement(tokens); -} - -fn program_expression(tokens: &mut Tokens) -> Result { - let mut program_types = vec![]; - let base = tokens.span(); - - match tokens.read() { - Token::Kprobe => { - tokens.eat(Token::Colon).unwrap(); - let ident = tokens.eat_identifier().unwrap(); - program_types.push(Expr::new_type( - Type::kprobe(ident), - merge_span(&base, &tokens.span()), - )); - } - Token::Kretprobe => { - tokens.eat(Token::Colon).unwrap(); - let ident = tokens.eat_identifier().unwrap(); - program_types.push(Expr::new_type( - Type::kretprobe(ident), - merge_span(&base, &tokens.span()), - )); - } - _ => { - bail!("Please specify bpf program type, such as begin, end, k(ret)probe or tracepoint") - } - } - - loop { - if tokens.peek() == Token::LeftBrace { - return Ok(Expr::from_trace( - program_types, - statement(tokens)?, - merge_span(&base, &tokens.span()), - )); - } - - match tokens.read() { - _ => { - bail!("begin or end bpf program type is single") - } - } - } -} - -fn generate_ast(tokens: &mut Tokens) -> Result { - let mut expressions = vec![]; - - loop { - if tokens.is_eof() { - return Ok(Ast { exprs: expressions }); - } - expressions.push(program_expression(tokens)?); - } -} - -#[derive(Clone, Debug, PartialEq)] -pub struct Ast { - pub exprs: Vec, -} - -impl<'text> From<&mut Tokens<'text>> for Ast { - fn from(tokens: &mut Tokens) -> Self { - match generate_ast(tokens) { - Ok(ast) => { - return ast; - } - Err(e) => { - log::error!( - "Failed to parse, left string: {}, error: {}", - tokens.left_str(), - e - ); - panic!(); - } - } - } -} - -impl From<&str> for Ast { - fn from(source: &str) -> Self { - let mut tokens = Tokens::from(source); - Ast::from(&mut tokens) - } -} - -#[cfg(test)] -mod tests { - use super::*; - - #[test] - fn basic_statement() { - let _ = Ast::from("kprobe:tcp_sendmsg { }"); - let _ = Ast::from("kprobe:tcp_sendmsg { a = 0; }"); - let _ = Ast::from("kprobe:tcp_sendmsg { a = 0; if (a == 0) { a = 2; } }"); - let _ = Ast::from("kprobe:tcp_sendmsg { a = 0; if (a == 0) { a = 2; } else { a = 3; } }"); - } - - #[test] - fn map_operation() { - let _ = Ast::from("kprobe:tcp_sendmsg { a[2] = 0; }"); - let _ = Ast::from("kprobe:tcp_sendmsg { print(a[2]); }"); - let _ = Ast::from("kprobe:tcp_sendmsg { print(a[2 + 3]); }"); - } - - #[test] - fn member_access() { - let _ = Ast::from("kprobe:tcp_sendmsg { a = skb.head; }"); - let _ = Ast::from("kprobe:tcp_sendmsg { a = skb->head; }"); - } -} diff --git a/lwcb/blang/src/passes/bpfir.rs b/lwcb/blang/src/passes/bpfir.rs deleted file mode 100644 index f99cb8d..0000000 --- a/lwcb/blang/src/passes/bpfir.rs +++ /dev/null @@ -1,449 +0,0 @@ -use crate::call::Call; -use crate::parser::Ast; -use crate::parser::Expr; -use crate::parser::ExprKind; -use crate::print::Print; -use crate::BLangBuilder; -use crate::__PERF_EVENT_MAP__; -use anyhow::bail; -use anyhow::Result; -use bpfir::module::Module; -use bpfir::types::BinaryOp; -use bpfir::types::UnaryOp; -use bpfir::TypeKind; -use cranelift_codegen::ir::condcodes::IntCC; -use cranelift_codegen::ir::types; -use cranelift_codegen::ir::types::*; -use cranelift_codegen::ir::AbiParam; -use cranelift_codegen::ir::FuncRef; -use cranelift_codegen::ir::InstBuilder; -use cranelift_codegen::ir::MemFlags; -use cranelift_codegen::ir::StackSlotData; -use cranelift_codegen::ir::StackSlotKind; -use cranelift_codegen::ir::Value; -use cranelift_frontend::FunctionBuilder; -use cranelift_frontend::FunctionBuilderContext; -use cranelift_frontend::Variable; -use std::collections::HashMap; - -#[derive(Default)] -struct LocalContext { - vars: HashMap, - vars_cnt: u32, - module: Module, - prints: Vec, -} - -impl LocalContext { - pub fn find_var( - &mut self, - fb: &mut FunctionBuilder, - sym: &String, - ty: &bpfir::Type, - ) -> Variable { - if let Some(var) = self.vars.get(sym) { - *var - } else { - log::debug!("insert new symbol: {}, type: {:?}", sym, ty); - let var = self.new_var(); - fb.declare_var(var, to_clif_type(ty)); - self.vars.insert(sym.clone(), var); - var - } - } - - pub fn get_ctx(&self) -> Variable { - *self.vars.get("ctx").unwrap() - } - - fn new_var(&mut self) -> Variable { - self.vars_cnt += 1; - Variable::from_u32(self.vars_cnt) - } - - fn find_helper_function(&mut self, id: u32, fb: &mut FunctionBuilder) -> FuncRef { - let func_id = self.module.declare_helper_function(id); - self.module - .declare_helper_function_in_function(func_id, &mut fb.func) - } - - fn find_map(&mut self, sym: &str, ty: bpfir::Type, fb: &mut FunctionBuilder) -> Value { - let id = self.module.declare_map(sym, ty); - let gval = self.module.declare_map_in_function(id, &mut fb.func); - fb.ins().symbol_value(I64, gval) - } -} - -pub fn gen_bpfir(bb: &mut BLangBuilder, ast: &Ast) -> Result { - let mut ctx = LocalContext::default(); - - for expr in &ast.exprs { - gen_func(&mut ctx, expr).unwrap(); - } - - bb.prints = ctx.prints; - return Ok(ctx.module); -} - -fn gen_func(ctx: &mut LocalContext, expr: &Expr) -> Result<()> { - let mut builder_context = FunctionBuilderContext::new(); - let mut fctx = ctx.module.context(); - fctx.func.signature.params.push(AbiParam::new(I64)); - fctx.func.signature.returns.push(AbiParam::new(I64)); - let mut builder = FunctionBuilder::new(&mut fctx.func, &mut builder_context); - if let Expr { - kind: ExprKind::Trace(ty, body), - .. - } = expr - { - let entry = builder.create_block(); - builder.append_block_params_for_function_params(entry); - let ctx_var = ctx.new_var(); - builder.declare_var(ctx_var, I64); - ctx.vars.insert("ctx".to_owned(), ctx_var); - builder.switch_to_block(entry); - builder.seal_block(entry); - - builder.def_var(ctx_var, builder.block_params(entry)[0]); - gen_stmt(ctx, &mut builder, body)?; - let ret_val = builder.ins().iconst(types::I64, 0); - builder.ins().return_(&[ret_val]); - builder.seal_all_blocks(); - builder.finalize(); - - ctx.module.define_probing_function(ty.ty.clone(), fctx); - return Ok(()); - } - - bail!("parsing failed") -} - -fn gen_stmt(ctx: &mut LocalContext, fb: &mut FunctionBuilder, expr: &Expr) -> Result<()> { - match &expr.kind { - ExprKind::ExprStmt(e) => { - gen_expr(ctx, fb, e); - } - - ExprKind::Return => { - todo!() - } - - ExprKind::Compound(es) => { - for e in es { - gen_stmt(ctx, fb, e)?; - } - } - - ExprKind::If(c, t, e) => gen_if_stmt(ctx, fb, c, t, e), - - _ => todo!(), - } - - Ok(()) -} - -fn gen_if_stmt( - ctx: &mut LocalContext, - fb: &mut FunctionBuilder, - c: &Expr, - t: &Expr, - e: &Option, -) { - let condition = gen_expr_cf(ctx, fb, c).unwrap(); - - let then_block = fb.create_block(); - let else_block = fb.create_block(); - let merge_block = fb.create_block(); - - fb.ins().brif(condition, then_block, &[], else_block, &[]); - - fb.switch_to_block(then_block); - fb.seal_block(then_block); - - gen_stmt(ctx, fb, t).unwrap(); - - fb.ins().jump(merge_block, &[]); - - fb.switch_to_block(else_block); - fb.seal_block(else_block); - if let Some(x) = e { - gen_stmt(ctx, fb, x).unwrap(); - } - - fb.ins().jump(merge_block, &[]); - - fb.switch_to_block(merge_block); - fb.seal_block(merge_block); -} - -fn gen_expr_cf(ctx: &mut LocalContext, fb: &mut FunctionBuilder, c: &Expr) -> Result { - match &c.kind { - ExprKind::Binary(op, l, r) => { - let lhs = gen_expr_val(ctx, fb, l)?; - let rhs = gen_expr_val(ctx, fb, r)?; - let rel = match op { - BinaryOp::LT => IntCC::SignedLessThan, - BinaryOp::LTE => IntCC::SignedLessThanOrEqual, - BinaryOp::GT => IntCC::SignedGreaterThan, - BinaryOp::GTE => IntCC::SignedGreaterThanOrEqual, - BinaryOp::Equal => IntCC::Equal, - BinaryOp::NonEqual => IntCC::NotEqual, - _ => panic!("If condition only handle relation operation"), - }; - Ok(fb.ins().icmp(rel, lhs, rhs)) - } - - _ => panic!("If condition only handle relation operation"), - } -} - -fn gen_expr(ctx: &mut LocalContext, fb: &mut FunctionBuilder, expr: &Expr) { - gen_expr_val(ctx, fb, expr).expect("failed to generate ir for expression"); -} - -fn gen_expr_val(ctx: &mut LocalContext, fb: &mut FunctionBuilder, expr: &Expr) -> Result { - match &expr.kind { - ExprKind::Unary(op, e) => match op { - UnaryOp::Deref => { - let addr = gen_expr_val(ctx, fb, e)?; - if let TypeKind::Ptr(x) = &expr.ty.kind { - return Ok(fb - .ins() - .load(to_clif_type(&expr.ty), MemFlags::trusted(), addr, 0)); - } - return Ok(addr); - } - UnaryOp::Neg => { - let val = gen_expr_val(ctx, fb, e)?; - return Ok(fb.ins().ineg(val)); - } - _ => todo!(), - }, - ExprKind::Ident(_) => { - return gen_expr_addr(ctx, fb, expr); - } - ExprKind::Constant(c) => { - return Ok(fb.ins().iconst(to_clif_type(&expr.ty), *c)); - } - ExprKind::Binary(op, l, r) => { - match op { - BinaryOp::Assign => { - let rval = gen_expr_val(ctx, fb, r)?; - - match &l.kind { - ExprKind::Ident(i) => { - let var = ctx.find_var(fb, i, &l.ty); - fb.def_var(var, rval); - // should never use this value - return Ok(rval); - } - - ExprKind::Binary(op, l2, r2) => { - if let BinaryOp::Index = op { - if let ExprKind::Ident(sym) = &l2.kind { - let map = ctx.find_map(sym, l2.ty.clone(), fb); - - let keyval = gen_expr_val(ctx, fb, r2)?; - let keyaddr = value_to_stack(fb, keyval, &r2.ty); - - let valaddr = value_to_stack(fb, rval, &r.ty); - - let flags = fb.ins().iconst(I64, libbpf_sys::BPF_ANY as i64); - let fr = ctx.find_helper_function( - libbpf_sys::BPF_FUNC_map_update_elem, - fb, - ); - let inst = - fb.ins().call(fr, &vec![map, keyaddr, valaddr, flags]); - return Ok(fb.inst_results(inst)[0]); - } - } - todo!() - } - - _ => { - panic!("Currently lvalue only supports variables and index expressions") - } - } - } - BinaryOp::Index => { - // When we get here it should be an rvalue, we need to load this value - let addr = gen_expr_addr(ctx, fb, expr)?; - todo!() - } - BinaryOp::Add - | BinaryOp::Sub - | BinaryOp::Mult - | BinaryOp::Div - | BinaryOp::Mod - | BinaryOp::BitOr - | BinaryOp::BitAnd - | BinaryOp::BitXor => { - let lval = gen_expr_val(ctx, fb, l)?; - let rval = gen_expr_val(ctx, fb, r)?; - return Ok(to_clif_binary(fb, op, lval, rval)); - } - BinaryOp::LT - | BinaryOp::LTE - | BinaryOp::GT - | BinaryOp::GTE - | BinaryOp::NonEqual - | BinaryOp::Equal => { - return gen_expr_cf(ctx, fb, expr); - } - _ => todo!(), - } - } - ExprKind::Cast(from, to) => gen_expr_val(ctx, fb, from), - ExprKind::Call(c, args) => match c { - Call::Print => gen_call_print(ctx, fb, args), - _ => todo!(), - }, - ExprKind::Member(p, s, _) => { - let addr = gen_expr_addr(ctx, fb, expr)?; - let val = fb - .ins() - .load(to_clif_type(&expr.ty), MemFlags::trusted(), addr, 0); - return Ok(val); - } - _ => todo!("{:?}", expr.kind), - } -} - -fn gen_expr_addr(ctx: &mut LocalContext, fb: &mut FunctionBuilder, expr: &Expr) -> Result { - match &expr.kind { - ExprKind::Unary(op, e) => match op { - UnaryOp::Deref => { - return gen_expr_val(ctx, fb, e); - } - _ => todo!(), - }, - ExprKind::Member(p, s, ma) => { - let addr = gen_expr_addr(ctx, fb, p)?; - if let Expr { - kind: ExprKind::Ident(i), - .. - } = s.as_ref() - { - // todo: get real member offset - return Ok(fb.ins().iadd_imm(addr, ma.as_ref().unwrap().offset as i64)); - } - bail!("cant not parse") - } - ExprKind::Ident(i) => { - if let Some(var) = ctx.vars.get(i) { - return Ok(fb.use_var(*var)); - } - unreachable!("ident {i}"); - } - _ => todo!(), - } - todo!() -} - -fn gen_load(ctx: &mut LocalContext, fb: &mut FunctionBuilder, addr: Value, ty: &bpfir::Type) {} - -fn gen_call_print( - ctx: &mut LocalContext, - fb: &mut FunctionBuilder, - args: &Vec, -) -> Result { - let mut values = vec![]; - let mut offsets = vec![]; - - let mut print = Print::new(); - - // print id - values.push(fb.ins().iconst(I64, ctx.prints.len() as i64)); - offsets.push(print.add_type(&bpfir::Type::i64())); - - for arg in args { - values.push(gen_expr_val(ctx, fb, arg)?); - offsets.push(print.add_type(&arg.ty)); - } - - let addr = values_to_stack(fb, &values, &offsets, print.sz as i32); - let fr = ctx.find_helper_function(libbpf_sys::BPF_FUNC_perf_event_output, fb); - - let ctx_val = fb.use_var(ctx.get_ctx()); - let map = ctx.find_map(__PERF_EVENT_MAP__, bpfir::Type::i64(), fb); - let sz = fb.ins().iconst(I64, print.sz as i64); - let flag = fb.ins().iconst(types::I64, 0xffffffff); - let inst = fb.ins().call(fr, &vec![ctx_val, map, flag, addr, sz]); - - ctx.prints.push(print); - Ok(fb.inst_results(inst)[0]) -} - -// Store the value on the stack and return the stack address -fn value_to_stack(fb: &mut FunctionBuilder, val: Value, ty: &bpfir::Type) -> Value { - let ss = fb.create_sized_stack_slot(StackSlotData::new( - StackSlotKind::ExplicitSlot, - type_size(ty), - )); - let addr = fb.ins().stack_addr(I64, ss, 0); - let _ = fb.ins().stack_store(val, ss, 0); - addr -} - -fn values_to_stack( - fb: &mut FunctionBuilder, - values: &Vec, - off: &Vec, - sz: i32, -) -> Value { - let ss = fb.create_sized_stack_slot(StackSlotData::new(StackSlotKind::ExplicitSlot, sz as u32)); - let addr = fb.ins().stack_addr(I64, ss, 0); - - for (&value, &off) in values.iter().zip(off) { - let _ = fb.ins().stack_store(value, ss, off); - } - addr -} - -fn type_size(ty: &bpfir::Type) -> u32 { - match ty.kind { - TypeKind::I8 => 1, - TypeKind::U8 => 1, - TypeKind::I16 => 2, - TypeKind::U16 => 2, - TypeKind::I32 => 4, - TypeKind::U32 => 4, - TypeKind::I64 => 8, - TypeKind::U64 => 8, - TypeKind::Ptr(_) => 8, - TypeKind::Map(_, _, _, _) => 8, - _ => todo!("{}", ty.to_string()), - } -} - -fn to_clif_type(ty: &bpfir::Type) -> types::Type { - match ty.kind { - TypeKind::Bool => types::I8, - TypeKind::I8 => types::I8, - TypeKind::U8 => types::I8, - TypeKind::I16 => types::I16, - TypeKind::U16 => types::I16, - TypeKind::I32 => types::I32, - TypeKind::U32 => types::I32, - TypeKind::I64 => types::I64, - TypeKind::U64 => types::I64, - TypeKind::Ptr(_) => types::I64, - TypeKind::Map(_, _, _, _) => types::I64, - _ => todo!("{}", ty.to_string()), - } -} - -fn to_clif_binary(fb: &mut FunctionBuilder, op: &BinaryOp, x: Value, y: Value) -> Value { - match op { - BinaryOp::Add => fb.ins().iadd(x, y), - BinaryOp::Sub => fb.ins().isub(x, y), - BinaryOp::Mult => fb.ins().imul(x, y), - BinaryOp::Div => fb.ins().sdiv(x, y), - // BinaryOp::Mod => fb.ins().smo - // | BinaryOp::BitOr => fb.ins().bitor - // | BinaryOp::BitAnd - // | BinaryOp::BitXor - _ => todo!(), - } -} diff --git a/lwcb/blang/src/passes/mod.rs b/lwcb/blang/src/passes/mod.rs deleted file mode 100644 index e4db11b..0000000 --- a/lwcb/blang/src/passes/mod.rs +++ /dev/null @@ -1,3 +0,0 @@ -pub mod bpfir; -pub mod typecheck; -pub mod unfold; diff --git a/lwcb/blang/src/passes/typecheck.rs b/lwcb/blang/src/passes/typecheck.rs deleted file mode 100644 index 99c0ae8..0000000 --- a/lwcb/blang/src/passes/typecheck.rs +++ /dev/null @@ -1,294 +0,0 @@ -use crate::btf::BTF; -use crate::call::Call; -use crate::parser::Ast; -use crate::parser::Expr; -use crate::parser::ExprKind; -use bpfir::types::BinaryOp; -use bpfir::types::Type; -use bpfir::types::TypeKind; -use bpfir::types::UnaryOp; -use std::collections::HashMap; - -struct LocalContext<'a> { - btf: &'a BTF<'a>, - - symbols: Vec>, - maps: HashMap, - - cur: usize, -} - -impl<'a> LocalContext<'a> { - fn get_map(&self, sym: &String) -> Type { - let ty = self.maps.get(sym); - if let Some(t) = ty { - if let TypeKind::Map(_, _, _, _) = &t.kind { - return t.clone(); - } - } - Type::undef() - } - fn get_map_val(&mut self, sym: &String) -> Type { - let ty = self.maps.get(sym); - if let Some(t) = ty { - if let TypeKind::Map(_, _, _, v) = &t.kind { - return *v.clone(); - } - } - Type::undef() - } - - fn add_map_key(&mut self, sym: &String, key: &Type) { - let ty = self.maps.entry(sym.clone()).or_insert(Type::map( - libbpf_rs::MapType::Hash, - 0, - Type::undef(), - Type::undef(), - )); - if let TypeKind::Map(_, _, k, _) = &mut ty.kind { - if k.is_undef() { - *k = Box::new(key.clone()); - } - } - } - - fn add_map_val(&mut self, sym: &String, val: &Type) { - let ty = self.maps.entry(sym.clone()).or_insert(Type::map( - libbpf_rs::MapType::Hash, - 0, - Type::undef(), - Type::undef(), - )); - if let TypeKind::Map(_, _, _, v) = &mut ty.kind { - if v.is_undef() { - *v = Box::new(val.clone()); - } - } - } - - fn find_local_symbol(&self, name: &String) -> Option<&Type> { - self.symbols[self.cur].get(name) - } - - fn find_symbol(&self, name: &String) -> Option<&Type> { - if let Some(ty) = self.symbols[self.cur].get(name) { - return Some(ty); - } - self.maps.get(name) - } - - fn add_symbol(&mut self, sym: &String, ty: &Type) { - self.symbols[self.cur].insert(sym.clone(), ty.clone()); - } - - fn new_func(&mut self) { - self.symbols.push(Default::default()); - self.cur = self.symbols.len() - 1; - } - - fn set_cur(&mut self, cur: usize) { - self.cur = cur; - } -} - -pub fn type_check<'a>(btf: &'a BTF, ast: &mut Ast) { - let mut tc = LocalContext { - btf, - symbols: Default::default(), - maps: Default::default(), - cur: 0, - }; - - for expr in &mut ast.exprs { - tc.new_func(); - tc.add_symbol( - &"ctx".to_owned(), - &Type::ptr(Type::struct_("pt_regs".into())), - ); - type_check_func(&mut tc, expr); - } - - for (idx, expr) in ast.exprs.iter_mut().enumerate() { - tc.set_cur(idx); - type_check_func(&mut tc, expr); - } -} - -fn type_check_func(tc: &mut LocalContext, expr: &mut Expr) { - if let Expr { - kind: ExprKind::Trace(x, y), - .. - } = expr - { - type_check_expr_trace(tc, x); - type_check_expr(tc, y); - } else { - panic!("tracing declaration must be first") - } -} - -fn type_check_expr_trace(tc: &mut LocalContext, expr: &mut Expr) { - if let ExprKind::Type(x) = &expr.kind { - expr.ty = x.clone(); - } else { - panic!("Expect tracing program type, found {:?}", expr.kind); - } -} - -fn type_check_expr(tc: &mut LocalContext, expr: &mut Expr) { - match &mut expr.kind { - ExprKind::Binary(o, l, r) => expr.ty = type_check_expr_bianry(tc, o, l, r), - ExprKind::Call(c, args) => type_check_expr_call(tc, c, args), - ExprKind::Cast(from, to) => { - type_check_expr(tc, from); - type_check_expr(tc, to); - expr.ty = to.ty().clone(); - } - ExprKind::Compound(es) => { - for e in es { - type_check_expr(tc, e); - } - } - ExprKind::Constant(x) => return, - ExprKind::ExprStmt(e) => type_check_expr(tc, e), - ExprKind::Ident(x) => { - if let Some(ty) = tc.find_symbol(x) { - expr.ty = ty.clone(); - } - } - ExprKind::If(c, t, e) => { - c.ty = Type::bool(); - type_check_expr(tc, t); - if let Some(x) = e.as_mut() { - type_check_expr(tc, x); - } - } - ExprKind::LitStr(_) => { - expr.ty = Type::string(); - } - ExprKind::Member(p, s, attr) => { - type_check_expr(tc, p); - - if let Expr { - kind: ExprKind::Ident(i), - .. - } = s.as_ref() - { - let mut ty = &p.ty; - // For structure pointers, we can automatically dereference - if let TypeKind::Ptr(t) = &ty.kind { - ty = t; - } - - if let TypeKind::Struct(x) = &ty.kind { - let (id, ma) = tc - .btf - .find_member(tc.btf.find_by_name(x).unwrap(), i) - .expect("failed to resolve type"); - - log::debug!( - "member {i} offset: {}, bitfield_offset: {}, bitfield_size: {}", - ma.offset, - ma.bitfield_offset, - ma.bitfield_size - ); - *attr = Some(ma); - - expr.ty = tc.btf.to_type(id); - return; - } - } - - panic!("Something wrong with member expression"); - } - ExprKind::Return => todo!(), - ExprKind::Type(ty) => { - expr.ty = ty.clone(); - } - ExprKind::Unary(op, e) => match op { - UnaryOp::Deref => { - type_check_expr(tc, e); - if let Type { - kind: TypeKind::Ptr(p), - .. - } = e.ty() - { - expr.ty = *p.clone(); - return; - } - panic!("expect pointer type"); - } - UnaryOp::Neg => { - type_check_expr(tc, e); - expr.ty = e.ty.clone(); - } - _ => todo!(), - }, - _ => todo!("{:?}", expr), - } -} - -fn type_check_expr_bianry( - tc: &mut LocalContext, - op: &BinaryOp, - l: &mut Expr, - r: &mut Expr, -) -> Type { - type_check_expr(tc, l); - type_check_expr(tc, r); - assert!(!r.ty.is_undef()); - match op { - BinaryOp::Assign => { - match &l.kind { - ExprKind::Ident(i) => { - log::debug!("{} <- {:?}", i, r.ty.kind); - l.ty = r.ty().clone(); - tc.add_symbol(i, &l.ty); - } - ExprKind::Binary(op2, lhs, _) => match op2 { - BinaryOp::Index => { - if let ExprKind::Ident(i) = &lhs.kind { - tc.add_map_val(i, &r.ty); - } - } - _ => todo!(), - }, - _ => todo!(), - } - return Type::undef(); - } - BinaryOp::Index => { - if let ExprKind::Ident(i) = &l.kind { - tc.add_map_key(i, &r.ty); - l.ty = tc.get_map(i); - log::debug!("{} <- {:?}", i, l.ty.kind); - return tc.get_map_val(i); - } else { - panic!("map is not a identifier"); - } - } - BinaryOp::Add => l.ty.clone(), - BinaryOp::Sub => l.ty.clone(), - BinaryOp::Div => l.ty.clone(), - BinaryOp::Mult => l.ty.clone(), - BinaryOp::Equal - | BinaryOp::GT - | BinaryOp::NonEqual - | BinaryOp::GTE - | BinaryOp::LT - | BinaryOp::LTE => Type::bool(), - - _ => { - todo!("not implment {op}"); - } - } -} - -fn type_check_expr_call(tc: &mut LocalContext, c: &Call, args: &mut Vec) { - for arg in args { - type_check_expr(tc, arg); - } - match c { - _ => {} - } -} diff --git a/lwcb/blang/src/passes/unfold.rs b/lwcb/blang/src/passes/unfold.rs deleted file mode 100644 index 016f8e0..0000000 --- a/lwcb/blang/src/passes/unfold.rs +++ /dev/null @@ -1,74 +0,0 @@ -use crate::btf::BTF; -use crate::lexer::Tokens; -use crate::parser::statement; -use crate::parser::Ast; -use crate::parser::Expr; -use crate::parser::ExprKind; -use anyhow::bail; -use anyhow::Result; -use bpfir::types::TypeKind; - -fn parse_stmts(stmts: &Vec) -> Result> { - let mut res = vec![]; - for stmt in stmts { - let mut tokens = Tokens::from(stmt.as_str()); - res.push(statement(&mut tokens)?); - } - Ok(res) -} - -pub fn unfold(btf: &BTF, ast: &mut Ast) { - for expr in &mut ast.exprs { - unfold_tracing_args(btf, expr).unwrap(); - } -} - -struct Unfold {} - -impl Unfold {} - -fn unfold_tracing_args(btf: &BTF, expr: &mut Expr) -> Result<()> { - if let Expr { - kind: ExprKind::Trace(t, b), - .. - } = expr - { - let mut stmts = vec![]; - if let Expr { - kind: ExprKind::Type(ty), - .. - } = t.as_ref() - { - match &ty.kind { - TypeKind::Kprobe(name) => { - let reg_name = vec!["di", "si", "dx", "cx", "r8", "sp"]; - for (i, (j, z)) in btf.func_args(name).iter().enumerate() { - stmts.push(format!( - "{} = ({})ctx->{};", - j, - btf.type_string(*z), - reg_name[i] - )); - } - } - - TypeKind::Kretprobe(name) => {} - _ => todo!(), - } - } - - let mut exprs = parse_stmts(&stmts)?; - if let Expr { - kind: ExprKind::Compound(compound), - .. - } = b.as_mut() - { - exprs.append(compound); - std::mem::swap(compound, &mut exprs); - return Ok(()); - } - - bail!("program entry block is not compound statement") - } - bail!("program entry is not tracing declaration") -} diff --git a/lwcb/blang/src/print.rs b/lwcb/blang/src/print.rs deleted file mode 100644 index 775758f..0000000 --- a/lwcb/blang/src/print.rs +++ /dev/null @@ -1,135 +0,0 @@ -use bpfir::Type; -use bpfir::TypeKind; -use byteorder::ByteOrder; - -fn roundup(num: usize, r: usize) -> usize { - ((num + (r - 1)) / r) * r -} - -fn align8(offset: usize, elem_size: usize, elem_num: usize) -> usize { - debug_assert!( - elem_size == 1 || elem_size == 2 || elem_size == 4 || elem_size == 8, - "elem_size: {elem_size}" - ); - roundup(offset, elem_size) + elem_size * elem_num -} - -#[derive(Debug)] -pub struct PrintType { - ty: Type, - off: u16, // offset in raw data -} - -impl PrintType { - pub fn bytes2string(&self, data: &[u8]) -> String { - let off = self.off as usize; - - let data_off = &data[off..]; - match &self.ty.kind { - TypeKind::Bool => { - if data[off] == 0 { - "false".to_owned() - } else { - "true".to_owned() - } - } - TypeKind::Char => char::from_u32(data[off] as u32).unwrap().to_string(), - TypeKind::I8 => (data[off] as i8).to_string(), - TypeKind::U8 => data[off].to_string(), - TypeKind::I16 => byteorder::NativeEndian::read_i16(data_off).to_string(), - TypeKind::U16 => byteorder::NativeEndian::read_u16(data_off).to_string(), - TypeKind::I32 => byteorder::NativeEndian::read_i32(data_off).to_string(), - TypeKind::U32 => byteorder::NativeEndian::read_u32(data_off).to_string(), - TypeKind::I64 => byteorder::NativeEndian::read_i64(data_off).to_string(), - TypeKind::U64 => byteorder::NativeEndian::read_u64(data_off).to_string(), - _ => unreachable!(), - } - } -} - -#[derive(Debug, Default)] -pub struct Print { - types: Vec, - pub(crate) sz: usize, -} - -impl Print { - pub fn new() -> Self { - Print::default() - } - - pub fn add_type(&mut self, ty: &Type) -> i32 { - let offset = align8(self.sz, ty.size() as usize, 1); - let start_offset = offset as i32 - ty.size(); - let pty = PrintType { - ty: ty.clone(), - off: start_offset as u16, - }; - self.types.push(pty); - self.sz = offset; - start_offset - } - - pub fn bytes2string(&self, data: &[u8]) -> String { - self.bytes2string_with_offset(data, 0) - } - - // offset indicates which type to start conversion from. - pub fn bytes2string_with_offset(&self, data: &[u8], off: usize) -> String { - let mut res = String::new(); - for ty in &self.types[off..] { - res.push_str(&ty.bytes2string(data)); - res += " "; - } - res - } -} - -#[cfg(test)] -mod tests { - use super::*; - - #[test] - fn test_align8() { - assert!(align8(1, 8, 1) == 16); - } - - #[test] - fn print_bytes2string() { - let mut print = Print::new(); - let mut bytes: Vec = vec![]; - print.add_type(&Type::bool()); - print.add_type(&Type::bool()); - bytes.push(0); - bytes.push(1); - print.add_type(&Type::char()); - bytes.push('d' as u8); - print.add_type(&Type::i8()); - bytes.push((-2) as i8 as u8); - print.add_type(&Type::u8()); - bytes.push(3); - bytes.push(0); - print.add_type(&Type::i16()); - bytes.extend((-4 as i16).to_ne_bytes()); - print.add_type(&Type::u16()); - bytes.extend((5 as i16).to_ne_bytes()); - bytes.push(0); - bytes.push(0); - print.add_type(&Type::i32()); - bytes.extend((-6 as i32).to_ne_bytes()); - print.add_type(&Type::u32()); - bytes.extend((7 as i32).to_ne_bytes()); - bytes.push(0); - bytes.push(0); - bytes.push(0); - bytes.push(0); - print.add_type(&Type::i64()); - bytes.extend((-8 as i64).to_ne_bytes()); - print.add_type(&Type::u64()); - bytes.extend((9 as i64).to_ne_bytes()); - - let res = print.bytes2string(&bytes); - - assert_eq!(res, "false true d -2 3 -4 5 -6 7 -8 9 "); - } -} diff --git a/lwcb/blang/tests/files/binary_add.cb b/lwcb/blang/tests/files/binary_add.cb deleted file mode 100644 index 5f63b34..0000000 --- a/lwcb/blang/tests/files/binary_add.cb +++ /dev/null @@ -1,32 +0,0 @@ - -$ -function u0:0(i64) -> i64 system_v { -block0(v0: i64): - v1 = iadd_imm v0, 112 - v2 = load.i64 notrap aligned v1 - v3 = iadd_imm v0, 104 - v4 = load.i64 notrap aligned v3 - v5 = iadd_imm v0, 96 - v6 = load.i64 notrap aligned v5 - v7 = iadd_imm v0, 88 - v8 = load.i64 notrap aligned v7 - v9 = iconst.i32 5 - v10 = iconst.i32 5 - v11 = iadd v9, v10 ; v9 = 5, v10 = 5 - v12 = iconst.i32 10 - v13 = iadd v11, v12 ; v12 = 10 - v14 = iadd v13, v4 - v15 = iconst.i64 0 - return v15 ; v15 = 0 -} -$ - - -kprobe:tcp_sendmsg { - a = 5; - b = 5; - c = a + b; - d = c + 10; - e = d + sk; -} - diff --git a/lwcb/blang/tests/files/binary_div.cb b/lwcb/blang/tests/files/binary_div.cb deleted file mode 100644 index 8c382b0..0000000 --- a/lwcb/blang/tests/files/binary_div.cb +++ /dev/null @@ -1,30 +0,0 @@ - -$ -function u0:0(i64) -> i64 system_v { -block0(v0: i64): - v1 = iadd_imm v0, 112 - v2 = load.i64 notrap aligned v1 - v3 = iadd_imm v0, 104 - v4 = load.i64 notrap aligned v3 - v5 = iadd_imm v0, 96 - v6 = load.i64 notrap aligned v5 - v7 = iadd_imm v0, 88 - v8 = load.i64 notrap aligned v7 - v9 = iconst.i32 5 - v10 = iconst.i32 5 - v11 = sdiv v9, v10 ; v9 = 5, v10 = 5 - v12 = iconst.i32 2 - v13 = sdiv v11, v12 ; v12 = 2 - v14 = iconst.i64 0 - return v14 ; v14 = 0 -} -$ - - -kprobe:tcp_sendmsg { - a = 5; - b = 5; - c = a / b; - d = c / 2; -} - diff --git a/lwcb/blang/tests/files/binary_mul.cb b/lwcb/blang/tests/files/binary_mul.cb deleted file mode 100644 index 1a65ecc..0000000 --- a/lwcb/blang/tests/files/binary_mul.cb +++ /dev/null @@ -1,30 +0,0 @@ - -$ -function u0:0(i64) -> i64 system_v { -block0(v0: i64): - v1 = iadd_imm v0, 112 - v2 = load.i64 notrap aligned v1 - v3 = iadd_imm v0, 104 - v4 = load.i64 notrap aligned v3 - v5 = iadd_imm v0, 96 - v6 = load.i64 notrap aligned v5 - v7 = iadd_imm v0, 88 - v8 = load.i64 notrap aligned v7 - v9 = iconst.i32 5 - v10 = iconst.i32 5 - v11 = imul v9, v10 ; v9 = 5, v10 = 5 - v12 = iconst.i32 2 - v13 = imul v11, v12 ; v12 = 2 - v14 = iconst.i64 0 - return v14 ; v14 = 0 -} -$ - - -kprobe:tcp_sendmsg { - a = 5; - b = 5; - c = a * b; - d = c * 2; -} - diff --git a/lwcb/blang/tests/files/binary_sub.cb b/lwcb/blang/tests/files/binary_sub.cb deleted file mode 100644 index 29800e8..0000000 --- a/lwcb/blang/tests/files/binary_sub.cb +++ /dev/null @@ -1,30 +0,0 @@ - -$ -function u0:0(i64) -> i64 system_v { -block0(v0: i64): - v1 = iadd_imm v0, 112 - v2 = load.i64 notrap aligned v1 - v3 = iadd_imm v0, 104 - v4 = load.i64 notrap aligned v3 - v5 = iadd_imm v0, 96 - v6 = load.i64 notrap aligned v5 - v7 = iadd_imm v0, 88 - v8 = load.i64 notrap aligned v7 - v9 = iconst.i32 5 - v10 = iconst.i32 5 - v11 = isub v9, v10 ; v9 = 5, v10 = 5 - v12 = iconst.i32 10 - v13 = isub v11, v12 ; v12 = 10 - v14 = iconst.i64 0 - return v14 ; v14 = 0 -} -$ - - -kprobe:tcp_sendmsg { - a = 5; - b = 5; - c = a - b; - d = c - 10; -} - diff --git a/lwcb/blang/tests/files/call_print.cb b/lwcb/blang/tests/files/call_print.cb deleted file mode 100644 index 352166c..0000000 --- a/lwcb/blang/tests/files/call_print.cb +++ /dev/null @@ -1,37 +0,0 @@ - -$ -function u0:0(i64) -> i64 system_v { - ss0 = explicit_slot 12 - gv0 = symbol colocated userextname1 - sig0 = (i64, i64, i64, i64, i64) -> i64 system_v - fn0 = colocated u0:0 sig0 - -block0(v0: i64): - v1 = iadd_imm v0, 112 - v2 = load.i64 notrap aligned v1 - v3 = iadd_imm v0, 104 - v4 = load.i64 notrap aligned v3 - v5 = iadd_imm v0, 96 - v6 = load.i64 notrap aligned v5 - v7 = iadd_imm v0, 88 - v8 = load.i64 notrap aligned v7 - v9 = iconst.i32 5 - v10 = iconst.i64 0 - v11 = stack_addr.i64 ss0 - stack_store v10, ss0 ; v10 = 0 - stack_store v9, ss0+8 ; v9 = 5 - v12 = symbol_value.i64 gv0 - v13 = iconst.i64 12 - v14 = iconst.i64 0xffff_ffff - v15 = call fn0(v0, v12, v14, v11, v13) ; v14 = 0xffff_ffff, v13 = 12 - v16 = iconst.i64 0 - return v16 ; v16 = 0 -} -$ - - -kprobe:tcp_sendmsg { - a = 5; - print(a); -} - diff --git a/lwcb/blang/tests/files/empty.cb b/lwcb/blang/tests/files/empty.cb deleted file mode 100644 index 23aae8b..0000000 --- a/lwcb/blang/tests/files/empty.cb +++ /dev/null @@ -1,18 +0,0 @@ -$ -function u0:0(i64) -> i64 system_v { -block0(v0: i64): - v1 = iadd_imm v0, 112 - v2 = load.i64 notrap aligned v1 - v3 = iadd_imm v0, 104 - v4 = load.i64 notrap aligned v3 - v5 = iadd_imm v0, 96 - v6 = load.i64 notrap aligned v5 - v7 = iadd_imm v0, 88 - v8 = load.i64 notrap aligned v7 - v9 = iconst.i64 0 - return v9 ; v9 = 0 -} -$ - -kprobe:tcp_sendmsg {} - diff --git a/lwcb/blang/tests/files/if_empty.cb b/lwcb/blang/tests/files/if_empty.cb deleted file mode 100644 index 753e72f..0000000 --- a/lwcb/blang/tests/files/if_empty.cb +++ /dev/null @@ -1,41 +0,0 @@ - - - - - -$ -function u0:0(i64) -> i64 system_v { -block0(v0: i64): - v1 = iadd_imm v0, 112 - v2 = load.i64 notrap aligned v1 - v3 = iadd_imm v0, 104 - v4 = load.i64 notrap aligned v3 - v5 = iadd_imm v0, 96 - v6 = load.i64 notrap aligned v5 - v7 = iadd_imm v0, 88 - v8 = load.i64 notrap aligned v7 - v9 = iconst.i32 0 - v10 = icmp eq v4, v9 ; v9 = 0 - brif v10, block1, block2 - -block1: - jump block3 - -block2: - jump block3 - -block3: - v11 = iconst.i64 0 - return v11 ; v11 = 0 -} -$ - - - -kprobe:tcp_sendmsg { - if (sk == 0) { - - } else { - - } -} \ No newline at end of file diff --git a/lwcb/blang/tests/files/if_then.cb b/lwcb/blang/tests/files/if_then.cb deleted file mode 100644 index 80869bf..0000000 --- a/lwcb/blang/tests/files/if_then.cb +++ /dev/null @@ -1,46 +0,0 @@ - - - - - -$ -function u0:0(i64) -> i64 system_v { -block0(v0: i64): - v1 = iadd_imm v0, 112 - v2 = load.i64 notrap aligned v1 - v3 = iadd_imm v0, 104 - v4 = load.i64 notrap aligned v3 - v5 = iadd_imm v0, 96 - v6 = load.i64 notrap aligned v5 - v7 = iadd_imm v0, 88 - v8 = load.i64 notrap aligned v7 - v9 = iconst.i32 0 - v10 = iconst.i32 0 - v11 = icmp eq v4, v10 ; v10 = 0 - brif v11, block1, block2 - -block1: - v12 = iconst.i32 5 - jump block3(v12) ; v12 = 5 - -block2: - jump block3(v9) ; v9 = 0 - -block3(v13: i32): - v14 = iconst.i32 10 - v15 = iadd v13, v14 ; v14 = 10 - v16 = iconst.i64 0 - return v16 ; v16 = 0 -} -$ - - - -kprobe:tcp_sendmsg { - a = 0; - if (sk == 0) { - a = 5; - } - - b = a + 10; -} \ No newline at end of file diff --git a/lwcb/blang/tests/files/if_then_else.cb b/lwcb/blang/tests/files/if_then_else.cb deleted file mode 100644 index ae69799..0000000 --- a/lwcb/blang/tests/files/if_then_else.cb +++ /dev/null @@ -1,45 +0,0 @@ - - -$ -function u0:0(i64) -> i64 system_v { -block0(v0: i64): - v1 = iadd_imm v0, 112 - v2 = load.i64 notrap aligned v1 - v3 = iadd_imm v0, 104 - v4 = load.i64 notrap aligned v3 - v5 = iadd_imm v0, 96 - v6 = load.i64 notrap aligned v5 - v7 = iadd_imm v0, 88 - v8 = load.i64 notrap aligned v7 - v9 = iconst.i32 0 - v10 = iconst.i32 0 - v11 = icmp eq v4, v10 ; v10 = 0 - brif v11, block1, block2 - -block1: - v12 = iconst.i32 5 - jump block3(v12) ; v12 = 5 - -block2: - v13 = iconst.i32 10 - jump block3(v13) ; v13 = 10 - -block3(v14: i32): - v15 = iconst.i32 10 - v16 = iadd v14, v15 ; v15 = 10 - v17 = iconst.i64 0 - return v17 ; v17 = 0 -} -$ - - -kprobe:tcp_sendmsg { - a = 0; - if (sk == 0) { - a = 5; - } else { - a = 10; - } - - b = a + 10; -} \ No newline at end of file diff --git a/lwcb/blang/tests/files/map.cb b/lwcb/blang/tests/files/map.cb deleted file mode 100644 index abf8d21..0000000 --- a/lwcb/blang/tests/files/map.cb +++ /dev/null @@ -1,44 +0,0 @@ - -$ -function u0:0(i64) -> i64 system_v { - ss0 = explicit_slot 8 - ss1 = explicit_slot 4 - gv0 = symbol colocated userextname0 - sig0 = (i64, i64, i64, i64) -> i64 system_v - fn0 = colocated u0:0 sig0 - -block0(v0: i64): - v1 = iadd_imm v0, 112 - v2 = load.i64 notrap aligned v1 - v3 = iadd_imm v0, 104 - v4 = load.i64 notrap aligned v3 - v5 = iadd_imm v0, 96 - v6 = load.i64 notrap aligned v5 - v7 = iadd_imm v0, 88 - v8 = load.i64 notrap aligned v7 - v9 = iconst.i32 0 - v10 = symbol_value.i64 gv0 - v11 = stack_addr.i64 ss0 - stack_store v4, ss0 - v12 = stack_addr.i64 ss1 - stack_store v9, ss1 ; v9 = 0 - v13 = iconst.i64 0 - v14 = call fn0(v10, v11, v12, v13) ; v13 = 0 - v15 = iconst.i64 0 - return v15 ; v15 = 0 -} -$ - - - - - - - -kprobe:tcp_sendmsg { - skmap[sk] = 0; -} - - - - diff --git a/lwcb/blang/tests/files/member_complex.cb b/lwcb/blang/tests/files/member_complex.cb deleted file mode 100644 index f41ab39..0000000 --- a/lwcb/blang/tests/files/member_complex.cb +++ /dev/null @@ -1,26 +0,0 @@ - - - - -$ -function u0:0(i64) -> i64 system_v { -block0(v0: i64): - v1 = iadd_imm v0, 112 - v2 = load.i64 notrap aligned v1 - v3 = iadd_imm v0, 104 - v4 = load.i64 notrap aligned v3 - v5 = iadd_imm v0, 96 - v6 = load.i64 notrap aligned v5 - v7 = iadd_imm v0, 88 - v8 = load.i64 notrap aligned v7 - v9 = iadd_imm v4, 0 - v10 = iadd_imm v9, 16 - v11 = load.i16 notrap aligned v10 - v12 = iconst.i64 0 - return v12 ; v12 = 0 -} -$ - -kprobe:tcp_sendmsg { - a = sk.__sk_common.skc_family; -} \ No newline at end of file diff --git a/lwcb/blang/tests/files/member_simple.cb b/lwcb/blang/tests/files/member_simple.cb deleted file mode 100644 index fa41967..0000000 --- a/lwcb/blang/tests/files/member_simple.cb +++ /dev/null @@ -1,27 +0,0 @@ - - - - -$ -function u0:0(i64) -> i64 system_v { -block0(v0: i64): - v1 = iadd_imm v0, 112 - v2 = load.i64 notrap aligned v1 - v3 = iadd_imm v0, 104 - v4 = load.i64 notrap aligned v3 - v5 = iadd_imm v0, 96 - v6 = load.i64 notrap aligned v5 - v7 = iadd_imm v0, 88 - v8 = load.i64 notrap aligned v7 - v9 = iadd_imm v4, 444 - v10 = load.i32 notrap aligned v9 - v11 = iconst.i64 0 - return v11 ; v11 = 0 -} -$ - - - -kprobe:tcp_sendmsg { - a = sk.sk_priority; -} \ No newline at end of file diff --git a/lwcb/blang/tests/files/relation_eq.cb b/lwcb/blang/tests/files/relation_eq.cb deleted file mode 100644 index a3dd789..0000000 --- a/lwcb/blang/tests/files/relation_eq.cb +++ /dev/null @@ -1,39 +0,0 @@ - -$ -function u0:0(i64) -> i64 system_v { -block0(v0: i64): - v1 = iadd_imm v0, 112 - v2 = load.i64 notrap aligned v1 - v3 = iadd_imm v0, 104 - v4 = load.i64 notrap aligned v3 - v5 = iadd_imm v0, 96 - v6 = load.i64 notrap aligned v5 - v7 = iadd_imm v0, 88 - v8 = load.i64 notrap aligned v7 - v9 = iconst.i32 5 - v10 = iconst.i32 5 - v11 = icmp eq v9, v10 ; v9 = 5, v10 = 5 - v12 = iconst.i32 5 - v13 = icmp eq v9, v12 ; v9 = 5, v12 = 5 - v14 = iconst.i32 5 - v15 = icmp eq v14, v9 ; v14 = 5, v9 = 5 - v16 = iadd_imm v4, 444 - v17 = load.i32 notrap aligned v16 - v18 = icmp eq v9, v17 ; v9 = 5 - v19 = iadd_imm v4, 444 - v20 = load.i32 notrap aligned v19 - v21 = icmp eq v20, v9 ; v9 = 5 - v22 = iconst.i64 0 - return v22 ; v22 = 0 -} -$ - -kprobe:tcp_sendmsg { - a = 5; - b = 5; - c = a == b; - d = a == 5; - e = 5 == a; - f = a == sk.sk_priority; - g = sk.sk_priority == a; -} \ No newline at end of file diff --git a/lwcb/blang/tests/files/relation_gt.cb b/lwcb/blang/tests/files/relation_gt.cb deleted file mode 100644 index 53be48b..0000000 --- a/lwcb/blang/tests/files/relation_gt.cb +++ /dev/null @@ -1,39 +0,0 @@ - -$ -function u0:0(i64) -> i64 system_v { -block0(v0: i64): - v1 = iadd_imm v0, 112 - v2 = load.i64 notrap aligned v1 - v3 = iadd_imm v0, 104 - v4 = load.i64 notrap aligned v3 - v5 = iadd_imm v0, 96 - v6 = load.i64 notrap aligned v5 - v7 = iadd_imm v0, 88 - v8 = load.i64 notrap aligned v7 - v9 = iconst.i32 5 - v10 = iconst.i32 5 - v11 = icmp sgt v9, v10 ; v9 = 5, v10 = 5 - v12 = iconst.i32 5 - v13 = icmp sgt v9, v12 ; v9 = 5, v12 = 5 - v14 = iconst.i32 5 - v15 = icmp sgt v14, v9 ; v14 = 5, v9 = 5 - v16 = iadd_imm v4, 444 - v17 = load.i32 notrap aligned v16 - v18 = icmp sgt v9, v17 ; v9 = 5 - v19 = iadd_imm v4, 444 - v20 = load.i32 notrap aligned v19 - v21 = icmp sgt v20, v9 ; v9 = 5 - v22 = iconst.i64 0 - return v22 ; v22 = 0 -} -$ - -kprobe:tcp_sendmsg { - a = 5; - b = 5; - c = a > b; - d = a > 5; - e = 5 > a; - f = a > sk.sk_priority; - g = sk.sk_priority > a; -} \ No newline at end of file diff --git a/lwcb/blang/tests/files/relation_gte.cb b/lwcb/blang/tests/files/relation_gte.cb deleted file mode 100644 index c4c75aa..0000000 --- a/lwcb/blang/tests/files/relation_gte.cb +++ /dev/null @@ -1,39 +0,0 @@ - -$ -function u0:0(i64) -> i64 system_v { -block0(v0: i64): - v1 = iadd_imm v0, 112 - v2 = load.i64 notrap aligned v1 - v3 = iadd_imm v0, 104 - v4 = load.i64 notrap aligned v3 - v5 = iadd_imm v0, 96 - v6 = load.i64 notrap aligned v5 - v7 = iadd_imm v0, 88 - v8 = load.i64 notrap aligned v7 - v9 = iconst.i32 5 - v10 = iconst.i32 5 - v11 = icmp sge v9, v10 ; v9 = 5, v10 = 5 - v12 = iconst.i32 5 - v13 = icmp sge v9, v12 ; v9 = 5, v12 = 5 - v14 = iconst.i32 5 - v15 = icmp sge v14, v9 ; v14 = 5, v9 = 5 - v16 = iadd_imm v4, 444 - v17 = load.i32 notrap aligned v16 - v18 = icmp sge v9, v17 ; v9 = 5 - v19 = iadd_imm v4, 444 - v20 = load.i32 notrap aligned v19 - v21 = icmp sge v20, v9 ; v9 = 5 - v22 = iconst.i64 0 - return v22 ; v22 = 0 -} -$ - -kprobe:tcp_sendmsg { - a = 5; - b = 5; - c = a >= b; - d = a >= 5; - e = 5 >= a; - f = a >= sk.sk_priority; - g = sk.sk_priority >= a; -} \ No newline at end of file diff --git a/lwcb/blang/tests/files/relation_lt.cb b/lwcb/blang/tests/files/relation_lt.cb deleted file mode 100644 index a60a44e..0000000 --- a/lwcb/blang/tests/files/relation_lt.cb +++ /dev/null @@ -1,39 +0,0 @@ - -$ -function u0:0(i64) -> i64 system_v { -block0(v0: i64): - v1 = iadd_imm v0, 112 - v2 = load.i64 notrap aligned v1 - v3 = iadd_imm v0, 104 - v4 = load.i64 notrap aligned v3 - v5 = iadd_imm v0, 96 - v6 = load.i64 notrap aligned v5 - v7 = iadd_imm v0, 88 - v8 = load.i64 notrap aligned v7 - v9 = iconst.i32 5 - v10 = iconst.i32 5 - v11 = icmp slt v9, v10 ; v9 = 5, v10 = 5 - v12 = iconst.i32 5 - v13 = icmp slt v9, v12 ; v9 = 5, v12 = 5 - v14 = iconst.i32 5 - v15 = icmp slt v14, v9 ; v14 = 5, v9 = 5 - v16 = iadd_imm v4, 444 - v17 = load.i32 notrap aligned v16 - v18 = icmp slt v9, v17 ; v9 = 5 - v19 = iadd_imm v4, 444 - v20 = load.i32 notrap aligned v19 - v21 = icmp slt v20, v9 ; v9 = 5 - v22 = iconst.i64 0 - return v22 ; v22 = 0 -} -$ - -kprobe:tcp_sendmsg { - a = 5; - b = 5; - c = a < b; - d = a < 5; - e = 5 < a; - f = a < sk.sk_priority; - g = sk.sk_priority < a; -} \ No newline at end of file diff --git a/lwcb/blang/tests/files/relation_lte.cb b/lwcb/blang/tests/files/relation_lte.cb deleted file mode 100644 index 0dac9de..0000000 --- a/lwcb/blang/tests/files/relation_lte.cb +++ /dev/null @@ -1,39 +0,0 @@ - -$ -function u0:0(i64) -> i64 system_v { -block0(v0: i64): - v1 = iadd_imm v0, 112 - v2 = load.i64 notrap aligned v1 - v3 = iadd_imm v0, 104 - v4 = load.i64 notrap aligned v3 - v5 = iadd_imm v0, 96 - v6 = load.i64 notrap aligned v5 - v7 = iadd_imm v0, 88 - v8 = load.i64 notrap aligned v7 - v9 = iconst.i32 5 - v10 = iconst.i32 5 - v11 = icmp sle v9, v10 ; v9 = 5, v10 = 5 - v12 = iconst.i32 5 - v13 = icmp sle v9, v12 ; v9 = 5, v12 = 5 - v14 = iconst.i32 5 - v15 = icmp sle v14, v9 ; v14 = 5, v9 = 5 - v16 = iadd_imm v4, 444 - v17 = load.i32 notrap aligned v16 - v18 = icmp sle v9, v17 ; v9 = 5 - v19 = iadd_imm v4, 444 - v20 = load.i32 notrap aligned v19 - v21 = icmp sle v20, v9 ; v9 = 5 - v22 = iconst.i64 0 - return v22 ; v22 = 0 -} -$ - -kprobe:tcp_sendmsg { - a = 5; - b = 5; - c = a <= b; - d = a <= 5; - e = 5 <= a; - f = a <= sk.sk_priority; - g = sk.sk_priority <= a; -} \ No newline at end of file diff --git a/lwcb/blang/tests/files/relation_neq.cb b/lwcb/blang/tests/files/relation_neq.cb deleted file mode 100644 index 4ba88cf..0000000 --- a/lwcb/blang/tests/files/relation_neq.cb +++ /dev/null @@ -1,39 +0,0 @@ - -$ -function u0:0(i64) -> i64 system_v { -block0(v0: i64): - v1 = iadd_imm v0, 112 - v2 = load.i64 notrap aligned v1 - v3 = iadd_imm v0, 104 - v4 = load.i64 notrap aligned v3 - v5 = iadd_imm v0, 96 - v6 = load.i64 notrap aligned v5 - v7 = iadd_imm v0, 88 - v8 = load.i64 notrap aligned v7 - v9 = iconst.i32 5 - v10 = iconst.i32 5 - v11 = icmp ne v9, v10 ; v9 = 5, v10 = 5 - v12 = iconst.i32 5 - v13 = icmp ne v9, v12 ; v9 = 5, v12 = 5 - v14 = iconst.i32 5 - v15 = icmp ne v14, v9 ; v14 = 5, v9 = 5 - v16 = iadd_imm v4, 444 - v17 = load.i32 notrap aligned v16 - v18 = icmp ne v9, v17 ; v9 = 5 - v19 = iadd_imm v4, 444 - v20 = load.i32 notrap aligned v19 - v21 = icmp ne v20, v9 ; v9 = 5 - v22 = iconst.i64 0 - return v22 ; v22 = 0 -} -$ - -kprobe:tcp_sendmsg { - a = 5; - b = 5; - c = a != b; - d = a != 5; - e = 5 != a; - f = a != sk.sk_priority; - g = sk.sk_priority != a; -} \ No newline at end of file diff --git a/lwcb/blang/tests/files/unary_neg.cb b/lwcb/blang/tests/files/unary_neg.cb deleted file mode 100644 index 9c34d45..0000000 --- a/lwcb/blang/tests/files/unary_neg.cb +++ /dev/null @@ -1,28 +0,0 @@ - -$ -function u0:0(i64) -> i64 system_v { -block0(v0: i64): - v1 = iadd_imm v0, 112 - v2 = load.i64 notrap aligned v1 - v3 = iadd_imm v0, 104 - v4 = load.i64 notrap aligned v3 - v5 = iadd_imm v0, 96 - v6 = load.i64 notrap aligned v5 - v7 = iadd_imm v0, 88 - v8 = load.i64 notrap aligned v7 - v9 = iconst.i32 5 - v10 = ineg v9 ; v9 = 5 - v11 = iconst.i32 5 - v12 = isub v10, v11 ; v11 = 5 - v13 = iconst.i64 0 - return v13 ; v13 = 0 -} -$ - - -kprobe:tcp_sendmsg { - a = -5; - b = 5; - c = a - b; -} - diff --git a/lwcb/blang/tests/test_bpfir.rs b/lwcb/blang/tests/test_bpfir.rs deleted file mode 100644 index 6e9983f..0000000 --- a/lwcb/blang/tests/test_bpfir.rs +++ /dev/null @@ -1,153 +0,0 @@ -use blang::BLangBuilder; -use std::env; -use std::fs::File; -use std::io::BufRead; -use std::io::BufReader; -use std::path::PathBuf; - -fn get_test_file_path(filename: &str) -> PathBuf { - let mut path = PathBuf::new(); - path.push(env!("CARGO_MANIFEST_DIR")); - path.push("tests/files"); - path.push(filename); - path -} - -fn read_test_file(path: &PathBuf) -> (String, String) { - let file = File::open(path).expect("failed to open file"); - let lines = BufReader::new(file).lines(); - - let mut dollar = 0; - let mut expected_result = String::default(); - let mut code = String::default(); - - for line in lines { - let mut data = line.unwrap(); - - if data.starts_with("$") { - dollar += 1; - continue; - } - - data += "\n"; - - if dollar >= 2 { - code.push_str(&data); - } else if dollar >= 1 { - expected_result.push_str(&data); - } - } - (expected_result.trim().to_string(), code) -} - -fn run_one_test(filename: &str) { - let path = get_test_file_path(filename); - let (expected_result, code) = read_test_file(&path); - let mut out = vec![]; - BLangBuilder::new(code) - .btf("../tests/bin/vmlinux") - .dump_ir(true) - .build_with_output(&mut out); - - let mut out_string = String::from_utf8(out).unwrap(); - out_string = out_string.trim().to_owned(); - - println!("{}", out_string); - - assert_eq!(expected_result, out_string) -} - -#[test] -fn test_empty() { - run_one_test("empty.cb"); -} - -#[test] -fn test_map() { - run_one_test("map.cb"); -} - -#[test] -fn test_binary_add() { - run_one_test("binary_add.cb"); -} - -#[test] -fn test_binary_sub() { - run_one_test("binary_sub.cb"); -} - -#[test] -fn test_binary_div() { - run_one_test("binary_div.cb"); -} - -#[test] -fn test_binary_mul() { - run_one_test("binary_mul.cb"); -} - -#[test] -fn test_unary_neg() { - run_one_test("unary_neg.cb"); -} - -#[test] -fn test_call_print() { - run_one_test("call_print.cb"); -} - -#[test] -fn test_member_simpile() { - run_one_test("member_simple.cb"); -} - -#[test] -fn test_member_complex() { - run_one_test("member_complex.cb"); -} - -#[test] -fn test_relation_eq() { - run_one_test("relation_eq.cb"); -} - -#[test] -fn test_relation_neq() { - run_one_test("relation_neq.cb"); -} - -#[test] -fn test_relation_gt() { - run_one_test("relation_gt.cb"); -} - -#[test] -fn test_relation_gte() { - run_one_test("relation_gte.cb"); -} - -#[test] -fn test_relation_lt() { - run_one_test("relation_lt.cb"); -} - -#[test] -fn test_relation_lte() { - run_one_test("relation_lte.cb"); -} - -#[test] -fn test_if_empty() { - run_one_test("if_empty.cb"); -} - -#[test] -fn test_if_then() { - run_one_test("if_then.cb"); -} - -#[test] -fn test_if_then_else() { - run_one_test("if_then_else.cb"); -} diff --git a/lwcb/bpfir/.cargo/config b/lwcb/bpfir/.cargo/config deleted file mode 100644 index 2967cf3..0000000 --- a/lwcb/bpfir/.cargo/config +++ /dev/null @@ -1,2 +0,0 @@ -[target.x86_64-unknown-linux-gnu] -runner = "sudo -E" diff --git a/lwcb/bpfir/Cargo.toml b/lwcb/bpfir/Cargo.toml deleted file mode 100644 index aeff7d8..0000000 --- a/lwcb/bpfir/Cargo.toml +++ /dev/null @@ -1,25 +0,0 @@ -[package] -name = "bpfir" -version = "0.1.0" -edition = "2021" - -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html - -[dependencies] -generational-arena = "0.2.9" -paste = "1.0.14" -logos = "0.12.1" -regalloc2 = { version = "0.9.2", features = ["trace-log"] } -libbpf-sys = "1.2.1" -libbpf-rs = "0.21.2" -anyhow = "1.0.57" -log = "0.4.20" -object = { version = "0.32.1", features = ["write"] } -cranelift-frontend = "0.99.1" -cranelift-codegen = { version = "0.99.1", features = ["riscv64"] } -target-lexicon = "0.12.11" -parse-display = "0.8.2" -cranelift-module = "0.99.2" - -[dev-dependencies] -cranelift-reader = "0.99.2" diff --git a/lwcb/bpfir/src/be/codegen.rs b/lwcb/bpfir/src/be/codegen.rs deleted file mode 100644 index 74f6c86..0000000 --- a/lwcb/bpfir/src/be/codegen.rs +++ /dev/null @@ -1,369 +0,0 @@ -use super::spec::BPFInst; -use crate::object::BPFObject; -use libbpf_rs::libbpf_sys::bpf_insn; -use libbpf_sys::*; - -/// Convert BPFInst to eBPF bytecode -pub fn codegen(insts: &Vec) -> Vec { - let mut res = vec![]; - - macro_rules! emit { - ($ident: expr) => { - res.push($ident); - }; - } - - macro_rules! emit2 { - ($ident: expr) => { - res.push($ident.0); - res.push($ident.1); - }; - } - - for inst in insts { - match inst { - BPFInst::PlaceHolder => {} - BPFInst::LoadX(sz, dst, src, off) => { - emit!(codegen_ldx_mem(*sz as u8, dst.hwid(), src.hwid(), *off,)); - } - BPFInst::Load64(dst, imm) => { - emit2!(codegen_ld_imm64(dst.hwid(), *imm as u64)); - } - BPFInst::StoreX(sz, dst, src, off) => { - emit!(codegen_stx_mem(*sz as u8, dst.hwid(), src.hwid(), *off)); - } - BPFInst::Store(sz, dst, off, imm) => { - emit!(codegen_st_mem(*sz as u8, dst.hwid(), *off, *imm as u32)); - } - BPFInst::Alu64X(op, dst, src) => { - emit!(codegen_alu64_reg(*op as u8, dst.hwid(), src.hwid())); - } - BPFInst::Alu64(op, dst, imm) => { - emit!(codegen_alu64_imm(*op as u8, dst.hwid(), *imm)); - } - BPFInst::Alu32X(op, dst, src) => { - emit!(codegen_alu32_reg(*op as u8, dst.hwid(), src.hwid())); - } - BPFInst::Alu32(op, dst, imm) => { - emit!(codegen_alu32_imm(*op as u8, dst.hwid(), *imm)); - } - BPFInst::MovX(dst, src) => { - emit!(codegen_mov64_reg(dst.hwid(), src.hwid())); - } - BPFInst::Mov32X(dst, src) => { - emit!(codegen_mov32_reg(dst.hwid(), src.hwid())); - } - BPFInst::Mov(dst, imm) => { - emit!(codegen_mov64_imm(dst.hwid(), *imm)); - } - BPFInst::Mov32(dst, imm) => { - emit!(codegen_mov32_imm(dst.hwid(), *imm)); - } - BPFInst::JmpX(rel, dst, src, off) => { - emit!(codegen_jmp_reg(*rel as u8, dst.hwid(), src.hwid(), *off)); - } - BPFInst::Jmp(rel, dst, imm, off) => { - emit!(codegen_jmp_imm(*rel as u8, dst.hwid(), *imm, *off)); - } - BPFInst::Jmp32X(rel, dst, src, off) => { - emit!(codegen_jmp32_reg(*rel as u8, dst.hwid(), src.hwid(), *off)); - } - BPFInst::Jmp32(rel, dst, imm, off) => { - emit!(codegen_jmp32_imm(*rel as u8, dst.hwid(), *imm, *off)); - } - BPFInst::JmpA(off) => { - emit!(codegen_jmpa(*off)); - } - BPFInst::Endian(sz, reg) => { - emit!(codegen_endian(reg.hwid(), sz.bits() as i32)); - } - BPFInst::Call(id) => { - emit!(codegen_call(*id)); - } - BPFInst::Exit => { - emit!(codegen_exit()); - } - }; - } - res -} - -// generate memory elf file which represents with bytes -pub fn codegen_object( - object: &mut BPFObject, - sec_name: &str, - func_name: &str, - insts: &Vec, -) { - object.add_function(sec_name, func_name, &codegen(insts)); -} - -#[inline] -fn codegen_ldx_mem(sz: u8, dst: u8, src: u8, off: i16) -> bpf_insn { - let mut insn = bpf_insn::default(); - insn.code = ((BPF_LDX | BPF_MEM) as u8) | sz; - insn.set_dst_reg(dst); - insn.set_src_reg(src); - insn.off = off as i16; - insn -} - -#[inline] -fn __codegen_ld_imm64_raw(dst: u8, src: u8, imm: u64) -> (bpf_insn, bpf_insn) { - let mut insn = bpf_insn::default(); - insn.code = (BPF_LD | BPF_DW | BPF_IMM) as u8; - insn.set_dst_reg(dst); - insn.set_src_reg(src); - insn.imm = (imm as u32) as i32; - - let mut insn2 = bpf_insn::default(); - insn2.imm = (imm >> 32) as i32; - (insn, insn2) -} - -#[inline] -fn codegen_ld_imm64(dst: u8, imm: u64) -> (bpf_insn, bpf_insn) { - __codegen_ld_imm64_raw(dst, 0, imm) -} - -#[inline] -fn codegen_ld_mapfd(dst: u8, imm: u64) -> (bpf_insn, bpf_insn) { - __codegen_ld_imm64_raw(dst, BPF_PSEUDO_MAP_FD as u8, imm) -} - -#[inline] -fn codegen_stx_mem(sz: u8, dst: u8, src: u8, off: i16) -> bpf_insn { - let mut insn = bpf_insn::default(); - insn.code = ((BPF_STX | BPF_MEM) as u8) | sz; - insn.set_dst_reg(dst); - insn.set_src_reg(src); - insn.off = off as i16; - insn -} - -#[inline] -fn codegen_st_mem(sz: u8, dst: u8, off: i16, imm: u32) -> bpf_insn { - let mut insn = bpf_insn::default(); - insn.code = ((BPF_ST | BPF_MEM) as u8) | sz; - insn.set_dst_reg(dst); - insn.off = off as i16; - insn.imm = imm as i32; - insn -} - -#[inline] -fn codegen_alu64_reg(op: u8, dst: u8, src: u8) -> bpf_insn { - let mut insn = bpf_insn::default(); - insn.code = ((BPF_ALU64 | BPF_X) as u8) | op; - insn.set_dst_reg(dst); - insn.set_src_reg(src); - insn -} - -#[inline] -fn codegen_alu32_reg(op: u8, dst: u8, src: u8) -> bpf_insn { - let mut insn = bpf_insn::default(); - insn.code = ((BPF_ALU | BPF_X) as u8) | op; - insn.set_dst_reg(dst); - insn.set_src_reg(src); - insn -} - -#[inline] -fn codegen_alu64_imm(op: u8, dst: u8, imm: i32) -> bpf_insn { - let mut insn = bpf_insn::default(); - insn.code = ((BPF_ALU64 | BPF_K) as u8) | op; - insn.set_dst_reg(dst); - insn.imm = imm; - insn -} - -#[inline] -fn codegen_alu32_imm(op: u8, dst: u8, imm: i32) -> bpf_insn { - let mut insn = bpf_insn::default(); - insn.code = ((BPF_ALU | BPF_K) as u8) | op; - insn.set_dst_reg(dst); - insn.imm = imm; - insn -} - -#[inline] -fn codegen_endian(dst: u8, bits: i32) -> bpf_insn { - let mut insn = bpf_insn::default(); - insn.code = (BPF_ALU | BPF_END | BPF_X) as u8; - insn.set_dst_reg(dst); - insn.imm = bits; - insn -} - -#[inline] -fn codegen_mov64_reg(dst: u8, src: u8) -> bpf_insn { - let mut insn = bpf_insn::default(); - insn.code = (BPF_ALU64 | BPF_MOV | BPF_X) as u8; - insn.set_dst_reg(dst); - insn.set_src_reg(src); - insn -} - -#[inline] -fn codegen_mov32_reg(dst: u8, src: u8) -> bpf_insn { - let mut insn = bpf_insn::default(); - insn.code = (BPF_ALU | BPF_MOV | BPF_X) as u8; - insn.set_dst_reg(dst); - insn.set_src_reg(src); - insn -} - -#[inline] -fn codegen_mov64_imm(dst: u8, imm: i32) -> bpf_insn { - let mut insn = bpf_insn::default(); - insn.code = (BPF_ALU64 | BPF_MOV | BPF_K) as u8; - insn.set_dst_reg(dst); - insn.imm = imm; - insn -} - -#[inline] -fn codegen_mov32_imm(dst: u8, imm: i32) -> bpf_insn { - let mut insn = bpf_insn::default(); - insn.code = (BPF_ALU | BPF_K | BPF_MOV) as u8; - insn.set_dst_reg(dst); - insn.imm = imm; - insn -} - -#[inline] -fn codegen_jmp_reg(op: u8, dst: u8, src: u8, off: i16) -> bpf_insn { - let mut insn = bpf_insn::default(); - insn.code = (BPF_JMP | BPF_X) as u8 | op; - insn.set_dst_reg(dst); - insn.set_src_reg(src); - insn.off = off; - insn -} - -#[inline] -fn codegen_jmp_imm(op: u8, dst: u8, imm: i32, off: i16) -> bpf_insn { - let mut insn = bpf_insn::default(); - insn.code = (BPF_JMP | BPF_K) as u8 | op; - insn.set_dst_reg(dst); - insn.off = off; - insn.imm = imm; - insn -} - -#[inline] -fn codegen_jmp32_reg(op: u8, dst: u8, src: u8, off: i16) -> bpf_insn { - let mut insn = bpf_insn::default(); - insn.code = (BPF_JMP32 | BPF_X) as u8 | op; - insn.set_dst_reg(dst); - insn.set_src_reg(src); - insn.off = off; - insn -} - -#[inline] -fn codegen_jmp32_imm(op: u8, dst: u8, imm: i32, off: i16) -> bpf_insn { - let mut insn = bpf_insn::default(); - insn.code = (BPF_JMP32 | BPF_K) as u8 | op; - insn.set_dst_reg(dst); - insn.off = off; - insn.imm = imm; - insn -} - -#[inline] -fn codegen_jmpa(off: i16) -> bpf_insn { - let mut insn = bpf_insn::default(); - insn.code = (BPF_JMP | BPF_JA) as u8; - insn.off = off; - insn -} - -#[inline] -fn codegen_call(id: i32) -> bpf_insn { - let mut insn = bpf_insn::default(); - insn.code = (BPF_JMP | BPF_CALL) as u8; - insn.imm = id; - insn -} - -#[inline] -fn codegen_exit() -> bpf_insn { - let mut insn = bpf_insn::default(); - insn.code = (BPF_JMP | BPF_EXIT) as u8; - insn -} - -#[cfg(test)] -mod tests { - - use super::*; - use crate::be::spec::BPFBOp; - use crate::be::spec::BPFJOp; - use crate::be::spec::BPFReg; - use crate::be::spec::BPFSize; - use libbpf_rs::ObjectBuilder; - - fn load_insts(insts: &Vec) { - let mut object = BPFObject::new(); - codegen_object( - &mut object, - "kprobe/tcp_sendmsg", - "kprobe_tcp_sendmsg", - &insts, - ); - let mem_obj = object.emit(); - let mut builder = ObjectBuilder::default(); - let object = builder.open_memory("lwcb_test", &mem_obj).unwrap(); - let mut bpfskel = object.load().unwrap(); - bpfskel - .prog_mut("kprobe_tcp_sendmsg") - .unwrap() - .attach() - .unwrap(); - } - - #[test] - fn cgen_object() { - let r0 = BPFReg::r0(); - let insts = vec![BPFInst::Mov(r0, 0), BPFInst::Exit]; - load_insts(&insts); - } - - #[test] - fn codegen() { - let r0 = BPFReg::r0(); - let r2 = BPFReg::r2(); - let r3 = BPFReg::r3(); - let r6 = BPFReg::r6(); - let r10 = BPFReg::r10(); - let insts = vec![ - BPFInst::Mov(r6, 0), - BPFInst::StoreX(BPFSize::from_bits(64), r10, r6, -8), - BPFInst::StoreX(BPFSize::from_bits(64), r10, r6, -16), - BPFInst::LoadX(BPFSize::from_bits(64), r2, r10, -8), - BPFInst::Load64(BPFReg::r3(), 0), - BPFInst::StoreX(BPFSize::from_bits(32), r10, r3, -16), - BPFInst::Store(BPFSize::from_bits(16), r10, -16, 70), - BPFInst::Alu64X(BPFBOp::Add, r3, r2), - BPFInst::Alu32X(BPFBOp::Add, r3, r2), - BPFInst::Alu64(BPFBOp::Add, r3, 20), - BPFInst::Alu32(BPFBOp::Add, r3, 20), - BPFInst::Endian(BPFSize::from_bits(64), r3), - BPFInst::MovX(r2, r3), - BPFInst::Mov32X(r2, r3), - BPFInst::Mov(r2, 50), - BPFInst::Mov32(r2, 50), - BPFInst::Call(5), - BPFInst::JmpX(BPFJOp::Equal, r0, r0, 0), - BPFInst::Jmp(BPFJOp::Equal, r0, 0, 0), - BPFInst::Jmp32X(BPFJOp::Equal, r0, r0, 0), - BPFInst::Jmp32(BPFJOp::Equal, r0, 0, 0), - BPFInst::JmpA(0), - BPFInst::Mov(r0, 0), - BPFInst::Exit, - ]; - load_insts(&insts); - } -} diff --git a/lwcb/bpfir/src/be/isel.rs b/lwcb/bpfir/src/be/isel.rs deleted file mode 100644 index 16923a4..0000000 --- a/lwcb/bpfir/src/be/isel.rs +++ /dev/null @@ -1,731 +0,0 @@ -use super::spec::BPFBOp; -use super::spec::BPFInst; -use super::spec::BPFReg; -use super::spec::BPFSize; -use crate::types::Relation; -use cranelift_codegen::ir::condcodes::IntCC; -use cranelift_codegen::ir::types; -use cranelift_codegen::ir::Block; -use cranelift_codegen::ir::ExternalName; -use cranelift_codegen::ir::FuncRef; -use cranelift_codegen::ir::Inst; -use cranelift_codegen::ir::InstructionData; -use cranelift_codegen::ir::Opcode; -use cranelift_codegen::ir::StackSlot; -use cranelift_codegen::ir::Value; -use cranelift_codegen::Context; -use regalloc2::Operand; -use regalloc2::OperandConstraint; -use regalloc2::OperandKind; -use regalloc2::OperandPos; -use regalloc2::RegClass; -use regalloc2::VReg; -use std::collections::HashMap; -use std::collections::HashSet; -use std::fmt; - -#[derive(Default)] -pub struct ISelBlock { - pub insts: Vec, - pub operands: Vec>, - pub preds: Vec, - pub succs: Vec, - pub params: Vec, - pub params_out: Vec>, -} - -impl fmt::Display for ISelBlock { - fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - write!(f, "intput params: ")?; - for param in &self.params { - write!(f, "{}", param)?; - } - writeln!(f, "")?; - write!(f, "output params: ")?; - for params in &self.params_out { - for param in params { - write!(f, "{}", param)?; - } - writeln!(f, "")?; - } - for inst in &self.insts { - writeln!(f, "{inst}")?; - } - Ok(()) - } -} - -impl ISelBlock {} - -#[derive(Default)] -pub struct ISelFunction { - pub blocks: Vec, -} - -impl fmt::Display for ISelFunction { - fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - for (idx, block) in self.blocks.iter().enumerate() { - write!(f, "BBlock{idx}:\n{block}")?; - } - Ok(()) - } -} - -pub struct ISelFunctionBuilder { - value_regs: HashMap, - value_uses: HashMap, - - block_args: HashMap<(Block, Block), Vec>, - - block_index: HashMap, - blocks: Vec, - fp: BPFReg, - vreg: u32, - used_values: HashSet, - stackslots: HashMap, - used_stacksize: i16, -} - -impl ISelFunctionBuilder { - pub fn new() -> Self { - ISelFunctionBuilder { - value_regs: Default::default(), - value_uses: Default::default(), - block_args: Default::default(), - block_index: Default::default(), - blocks: Default::default(), - used_values: Default::default(), - vreg: 0, - // Allocate virtual registers to the fp register in advance - fp: BPFReg::new(0), - stackslots: Default::default(), - used_stacksize: 0, - } - } - - fn new_reg(&mut self) -> BPFReg { - self.vreg += 1; - BPFReg::new(self.vreg) - } - - #[inline] - fn alloc_reg_for_value(&mut self, val: Value) { - let reg = self.new_reg(); - self.value_regs.insert(val, reg); - } - - // Marking this value as being used means that we need to convert the def - // instruction of this value into BPFInst later. - #[inline] - fn use_value(&mut self, val: Value) { - self.used_values.insert(val); - } - - #[inline] - fn is_used_value(&self, val: Value) -> bool { - self.used_values.contains(&val) - } - - // main entry for instruction selection - pub fn build(mut self, ctx: &Context) -> ISelFunction { - self.compute_stackslots(ctx); - // Assign register to basic block parameters and operands. - for bb in ctx.func.layout.blocks() { - for ¶m in ctx.func.dfg.block_params(bb) { - self.alloc_reg_for_value(param); - } - for inst in ctx.func.layout.block_insts(bb) { - let values = ctx.func.dfg.inst_results(inst); - assert!(values.len() <= 1); - for &result in values { - self.alloc_reg_for_value(result); - } - } - } - - self.compute_block_index(ctx); - - // do isel for each block in postorder. - for block in ctx.domtree.cfg_postorder() { - let ib = __do_isel_block(&mut self, ctx, *block); - self.blocks.push(ib); - } - - // Because we are traversing in postorder, we need to reverse the order. - self.blocks.reverse(); - - ISelFunction { - blocks: self.blocks, - } - } - - // Calculate block order and assign index to it - fn compute_block_index(&mut self, ctx: &Context) { - let mut blocks = ctx.domtree.cfg_postorder().to_vec(); - blocks.reverse(); - for (idx, &block) in blocks.iter().enumerate() { - self.block_index.insert(block, idx); - } - } - // compute stackslots offset - fn compute_stackslots(&mut self, ctx: &Context) { - let mut stack_offset: u32 = 0; - for (slot, data) in ctx.func.sized_stack_slots.iter() { - let off = stack_offset; - stack_offset += data.size; - stack_offset = (stack_offset + 7) & (!7); - self.stackslots.insert(slot, off as i16); - } - assert!(stack_offset <= 512, "Stack size more than 512 bytes"); - self.used_stacksize = stack_offset as i16; - } - - fn add_out_args(&mut self, from: Block, to: Block, args: Vec) { - self.block_args.insert((from, to), args); - } - - // Convert the address value into the form of base+offset. There are two - // situations for the base, one is stack and the other is memory. - // - // The first situation: - // v1 = iconst.i32 123456 - // v2 = stack_addr.i64 ss0 - // store notrap v1, v2 - fn addr_value2offset(&mut self, ctx: &Context, val: Value) -> (bool, BPFReg, i16) { - let inst = ctx.func.dfg.value_def(val).inst().unwrap(); - let data = &ctx.func.dfg.insts[inst]; - match data { - // Store data on the stack - InstructionData::StackLoad { - opcode, stack_slot, .. - } => { - if let &Opcode::StackAddr = opcode { - return ( - true, - self.fp.into(), - (*self.stackslots.get(stack_slot).unwrap()) * -1, - ); - } - unreachable!() - } - _ => todo!("todo: it may also be a memory address"), - } - } -} - -fn __do_isel_block(builder: &mut ISelFunctionBuilder, ctx: &Context, block: Block) -> ISelBlock { - let mut ib = ISelBlock::default(); - - // process the branch instruction first. - let last_inst = ctx.func.layout.last_inst(block).unwrap(); - if ctx.func.dfg.insts[last_inst].opcode().is_branch() { - __do_isel_block_branch(builder, ctx, block, last_inst, &mut ib); - } - - // and then process each instruction。 - for inst in ctx.func.layout.block_insts(block).rev() { - log::debug!( - "Instruction: {:?}, is branch: {}", - ctx.func.dfg.insts[inst], - ctx.func.dfg.insts[inst].opcode().is_branch() - ); - __do_isel_inst(builder, ctx, inst, &mut ib); - } - - // entry block - if builder.block_index[&block] == 0 { - assert!(ctx.func.dfg.block_params(block).len() == 1); - let arg = ctx.func.dfg.block_params(block)[0]; - // define block params - ib.insts.push(BPFInst::PlaceHolder); - let reg = builder.value_regs[&arg]; - ib.operands - .push(vec![def_operand(reg.into(), cons_fixed_reg(1))]); - - // define fp - ib.insts.push(BPFInst::PlaceHolder); - ib.operands - .push(vec![def_operand(builder.fp.into(), cons_fixed_reg(10))]); - } - - ib.insts.reverse(); - ib.operands.reverse(); - - // add block parameters - for arg in ctx.func.dfg.block_params(block) { - ib.params.push(builder.value_regs[arg]); - } - - // add predecessors - for pred in ctx.cfg.pred_iter(block) { - let idx = builder.block_index[&pred.block]; - ib.preds.push(idx); - } - - // add successors - for succ in ctx.cfg.succ_iter(block) { - let idx = builder.block_index[&succ]; - ib.succs.push(idx); - ib.params_out.push(vec![]); - } - - ib -} - -fn __do_isel_block_branch( - builder: &mut ISelFunctionBuilder, - ctx: &Context, - block: Block, - br: Inst, - iblock: &mut ISelBlock, -) { - let pool = &ctx.func.dfg.value_lists; - let data = &ctx.func.dfg.insts[br]; - match data { - InstructionData::Jump { - opcode, - destination, - } => { - let target_block = destination.block(pool); - let bi = BPFInst::JmpA(builder.block_index[&target_block] as i16); - iblock.insts.push(bi); - iblock.operands.push(vec![]); - } - InstructionData::Brif { - opcode, - arg, - blocks, - } => { - todo!(); - let then_block = blocks[0].block(pool); - let else_block = blocks[1].block(pool); - - let pre_inst = ctx.func.dfg.value_def(*arg).inst().unwrap(); - - match &ctx.func.dfg.insts[pre_inst] { - InstructionData::IntCompare { opcode, args, cond } => { - let rel = intcc2relation(cond); - todo!() - } - InstructionData::IntCompareImm { - opcode, - arg, - cond, - imm, - } => {} - - _ => panic!("not integer compare instruction"), - } - } - _ => panic!("unexpected branch instruction: {:?}", br), - } - - let succs: Vec = ctx.cfg.succ_iter(block).collect(); - for (idx, &succ) in succs.iter().enumerate() { - let branch = ctx.func.dfg.insts[br].branch_destination(&ctx.func.dfg.jump_tables); - let branch_args = branch[idx].args_slice(&ctx.func.dfg.value_lists); - let mut vregs = vec![]; - for &arg in branch_args { - let arg = ctx.func.dfg.resolve_aliases(arg); - builder.use_value(arg); - vregs.push(builder.value_regs[&arg]); - } - builder.add_out_args(block, succ, vregs); - } -} - -fn __do_isel_inst( - builder: &mut ISelFunctionBuilder, - ctx: &Context, - inst: Inst, - iblock: &mut ISelBlock, -) { - let insts = &ctx.func.dfg.insts; - let pool = &ctx.func.dfg.value_lists; - let data = &ctx.func.dfg.insts[inst]; - let dfg = &ctx.func.dfg; - - let op = data.opcode(); - let mut operands = vec![]; - - // The following commands should be executed by isel even if the value is not used. - // return, store, call - let is_important = op.is_return() - || op.can_store() - || op.is_call() - || if ctx.func.dfg.has_results(inst) { - let val = ctx.func.dfg.first_result(inst); - builder.is_used_value(val) - } else { - false - }; - - if !is_important { - return; - } - - match data { - InstructionData::Store { - opcode: _, - args, - flags: _, - offset: _, - } => { - let (is_stack, base, offset) = builder.addr_value2offset(ctx, args[1]); - - let bi; - if let Some((x, y)) = get_imm_by_value(ctx, args[0]) { - bi = BPFInst::Store(BPFSize::from_bits(y.bits()), base, offset, x as i32); - if is_stack { - operands.push(use_operand(base.into(), cons_fixed_reg(10))); - } else { - operands.push(use_operand(base.into(), cons_reg())); - } - } else { - todo!() - // builder.use_value(args[0]); - // let vreg = builder.value_regs[&args[0]]; - // bi = BPFInst::StoreX(BPFSize::DW, builder.fp, vreg, offset); - // operands = vec![use_operand(vreg.into(), cons_any())]; - } - iblock.insts.push(bi); - iblock.operands.push(operands); - } - InstructionData::Load { - opcode: _, - arg, - flags: _, - offset: _, - } => { - let dst = ctx.func.dfg.first_result(inst); - let dst_reg = builder.value_regs[&dst]; - - let src_inst = ctx.func.dfg.value_def(*arg).inst().unwrap(); - let src_inst_data = insts[src_inst]; - - match src_inst_data { - // source data address is constructed by base + offset(imm) - InstructionData::Binary { opcode: _, args } => { - if let Some((off, _)) = get_imm_by_value(ctx, args[1]) { - builder.use_value(args[0]); - - let base_reg = builder.value_regs[&args[0]]; - let bi = BPFInst::LoadX( - BPFSize::from_bits(dfg.value_type(dst).bits()), - dst_reg, - base_reg, - off as i16, - ); - let operands = [ - def_operand(dst_reg.into(), cons_any()), - use_operand(base_reg.into(), cons_any()), - ]; - iblock.insts.push(bi); - iblock.operands.push(operands.to_vec()); - } - } - // imm source data is handled by Unary instruction - _ => unreachable!("{:?}", src_inst_data), - } - } - InstructionData::StackStore { .. } => unreachable!(), - InstructionData::Call { - opcode: _, - args, - func_ref, - } => { - let id = get_call_helperid(ctx, *func_ref); - let bi = BPFInst::Call(id); - - for (idx, arg) in args.as_slice(pool).iter().enumerate() { - operands.push(use_operand( - builder.value_regs[arg].into(), - cons_fixed_reg((idx + 1) as u8), - )); - builder.use_value(*arg); - } - let tmp = builder.value_regs[&ctx.func.dfg.first_result(inst)]; - operands.push(def_operand(tmp.into(), cons_fixed_reg(0))); - - iblock.insts.push(bi); - iblock.operands.push(operands); - } - InstructionData::Brif { - opcode, - arg, - blocks, - } => { - todo!() - } - InstructionData::MultiAry { opcode, args } => { - assert!(opcode.is_return()); - assert!(args.len(&pool) == 1); - let val = args.first(&pool).unwrap(); - builder.use_value(val); - let reg = builder.value_regs[&val]; - - operands.push(use_operand(reg.into(), cons_fixed_reg(0))); - iblock.insts.push(BPFInst::Exit); - iblock.operands.push(operands); - } - InstructionData::UnaryImm { opcode: _, imm } => { - let dst_reg = builder.value_regs[&dfg.first_result(inst)]; - let imm_val = imm.bits(); - let bi = if imm_val > i32::MAX as i64 { - // we should use BPFInst::load64 to load this imm. - BPFInst::Load64(dst_reg, imm_val) - } else { - BPFInst::Mov(dst_reg, imm_val as i32) - }; - iblock.insts.push(bi); - iblock - .operands - .push(vec![def_operand(dst_reg.into(), cons_reg())]); - } - InstructionData::StackLoad { - opcode: _, - stack_slot, - offset: _, - } => { - let addr_reg = builder.value_regs[&ctx.func.dfg.first_result(inst)]; - let inter_reg = builder.new_reg(); - let bi1 = BPFInst::MovX(inter_reg, builder.fp); - let offset = builder.stackslots.get(stack_slot).unwrap(); - let bi2 = BPFInst::Alu64(BPFBOp::Sub, addr_reg, (*offset) as i32); - iblock.insts.push(bi2); - iblock.operands.push(vec![ - def_operand(addr_reg.into(), cons_reuse(1)), - use_operand(inter_reg.into(), cons_reg()), - ]); - - iblock.insts.push(bi1); - iblock.operands.push(vec![ - def_operand(inter_reg.into(), cons_reg()), - use_operand(builder.fp.into(), cons_fixed_reg(10)), - ]); - } - _ => todo!(), - } -} - -#[inline] -fn use_operand(vreg: VReg, cons: OperandConstraint) -> Operand { - Operand::new(vreg, cons, OperandKind::Use, OperandPos::Early) -} - -#[inline] -fn def_operand(vreg: VReg, cons: OperandConstraint) -> Operand { - Operand::new(vreg, cons, OperandKind::Def, OperandPos::Late) -} - -#[inline] -fn cons_fixed_reg(regno: u8) -> OperandConstraint { - OperandConstraint::FixedReg(BPFReg::new(regno as u32).into()) -} - -#[inline] -fn cons_reuse(input: usize) -> OperandConstraint { - OperandConstraint::Reuse(input) -} - -#[inline] -fn cons_any() -> OperandConstraint { - OperandConstraint::Any -} - -#[inline] -fn cons_reg() -> OperandConstraint { - OperandConstraint::Reg -} - -#[inline] -fn intcc2relation(cc: &IntCC) -> Relation { - match cc { - IntCC::Equal => Relation::Equal, - IntCC::NotEqual => Relation::NotEqual, - IntCC::UnsignedGreaterThan => Relation::Greater, - IntCC::UnsignedGreaterThanOrEqual => Relation::GreateEqual, - IntCC::UnsignedLessThan => Relation::Less, - IntCC::UnsignedLessThanOrEqual => Relation::LessEqual, - _ => todo!(), - } -} - -fn get_call_helperid(ctx: &Context, fr: FuncRef) -> i32 { - let func = ctx.func.dfg.ext_funcs.get(fr).unwrap(); - if let ExternalName::User(ur) = func.name { - let ur = ctx.func.params.user_named_funcs().get(ur).unwrap(); - if ur.namespace == 0 { - return ur.index as i32; - } - } - panic!("Not a eBPF helper function id") -} - -fn get_imm_by_value(ctx: &Context, val: Value) -> Option<(i64, types::Type)> { - let inst; - if let Some(i) = ctx.func.dfg.value_def(val).inst() { - inst = i; - } else { - // it's a block parameter - return None; - } - - let data = &ctx.func.dfg.insts[inst]; - - match data { - InstructionData::UnaryImm { opcode, imm } => { - if let &Opcode::Iconst = opcode { - return Some((imm.bits(), ctx.func.dfg.value_type(val))); - } - panic!("Opcode of UnaryImm is not Iconst!!!") - } - - _ => None, - } -} - -#[cfg(test)] -mod tests { - use super::*; - use cranelift_codegen::isa::riscv64::isa_builder; - use cranelift_codegen::settings::builder; - use cranelift_codegen::settings::Configurable; - use cranelift_codegen::settings::Flags; - use cranelift_reader::parse_functions; - use target_lexicon::Architecture; - use target_lexicon::Riscv64Architecture; - use target_lexicon::Triple; - - fn run_test_isel(text: &str, result: &str) { - let cf = parse_functions(text).unwrap().pop().unwrap(); - let mut ctx = Context::for_function(cf); - let mut triple = Triple::unknown(); - triple.architecture = Architecture::Riscv64(Riscv64Architecture::Riscv64); - let mut b = builder(); - b.set("opt_level", "speed_and_size") - .expect("failed to set optimization level"); - let flag = Flags::new(b); - let isa = isa_builder(triple).finish(flag).unwrap(); - ctx.optimize(isa.as_ref()).unwrap(); - - let ifunc = ISelFunctionBuilder::new().build(&ctx); - assert_eq!(result, ifunc.to_string().as_str()); - } - - #[test] - fn empty() { - let text = "function %test(i64) -> i32 {\nblock0(v0: i64):\n v1 = iconst.i32 0\n return v1\n}"; - let result = "BBlock0:\nintput params: r1\noutput params: \n\nr2 = 0\nexit\n"; - run_test_isel(text, result); - } - - #[test] - fn store_imm_to_stack() { - // volatile int a; - // a = 0; - let text = "function %test(i64) -> i32 system_v {\n ss0 = explicit_slot 4\nblock0(v0: i64):\n v1 = iconst.i32 123456\n v2 = stack_addr.i64 ss0\n store notrap v1, v2\n return v1\n}"; - let result = "BBlock0:\nintput params: r1\noutput params: \n\nr2 = 123456\n*(u32)(r0 + 0) = 123456\nexit\n"; - run_test_isel(text, result); - } - - #[test] - fn store_reg_to_stack() { - // volatile struct sock *sk; - // sk = (struct sock *)(ctx->di) - // let text = "function %test(i64) -> i32 system_v {\n ss0 = explicit_slot 4\nblock0(v0: i64):\n v1 = iconst.i32 0\n v2 = stack_addr.i64 ss0\n store notrap v0, v2\n return v1\n}"; - // let result = - // "BBlock0:\nintput params: r1\noutput params: \n\n*(u64)(r0 + 0) = r1\nr3 = 0\nexit\n"; - // run_test_isel(text, result); - } - - #[test] - fn store_imm_to_memory() { - // todo - } - - #[test] - fn store_reg_to_memory() { - // todo - } - - #[test] - fn load_from_imm() { - // a = 0xffffffff - let text = "function u0:0(i64) -> i64 system_v {\n ss0 = explicit_slot 4\n\nblock0(v0: i64):\n v1 = iconst.i64 4294967295\n return v1\n}"; - let result = "BBlock0:\nintput params: r1\noutput params: \n\nr2 = 4294967295\nexit\n"; - run_test_isel(text, result); - } - - #[test] - fn load_from_stack() {} - - #[test] - fn load_from_memory() { - // sk = (struct sock *)(ctx->di) - let text = "function u0:0(i64) -> i64 system_v {\n ss0 = explicit_slot 4\n\nblock0(v0: i64):\n v3 = iconst.i64 9999\n v1 = iadd v0, v3\n v2 = load.i64 notrap aligned v1\n return v2\n}"; - let result = - "BBlock0:\nintput params: r1\noutput params: \n\nr4 = *(u64)(r1 + 9999)\nexit\n"; - run_test_isel(text, result); - } - - #[test] - fn alu64x() { - // return ctx->r8 + ctx->r9; - } - - #[test] - fn alu32x() {} - - #[test] - fn alu64() {} - - #[test] - fn alu32() {} - - #[test] - fn endian() {} - - #[test] - fn movx() {} - - #[test] - fn mov32x() {} - - #[test] - fn mov() {} - - #[test] - fn mov32() {} - - #[test] - fn jmpx() {} - - #[test] - fn jmp() {} - - #[test] - fn jmp32x() {} - - #[test] - fn jmp32() {} - - #[test] - fn jmpa() {} - - #[test] - fn call() { - // map[0] = 1; - let text = "function u0:0(i64) -> i64 system_v {\n ss0 = explicit_slot 4\n ss1 = explicit_slot 4\n sig0 = (i64, i64, i64, i64) -> i64 system_v\n fn0 = u0:2 sig0\n\nblock0(v0: i64):\n v10 = iconst.i32 0\n v11 = stack_addr.i64 ss0\n store notrap v10, v11 ; v10 = 0\n v7 = iconst.i32 1\n v12 = stack_addr.i64 ss1\n store notrap v7, v12 ; v7 = 1\n v9 = iconst.i64 0\n v8 -> v9\n v14 = call fn0(v9, v11, v12, v9) ; v9 = 0, v9 = 0\n return v9 ; v9 = 0\n}"; - let result = "BBlock0:\nintput params: r1\noutput params: \n\nr9 = r0\nr3 -= 0\n*(u32)(r0 + 0) = 0\nr8 = r0\nr5 -= 8\n*(u32)(r0 + -8) = 1\nr6 = 0\ncall #2\nexit\n"; - run_test_isel(text, result); - } - - #[test] - fn exit() { - // return - let text = "function u0:0(i64) -> i64 system_v {\n block0(v0: i64):\n v1 = iconst.i64 0\n return v1\n}"; - let result = "BBlock0:\nintput params: r1\noutput params: \n\nr2 = 0\nexit\n"; - run_test_isel(text, result); - } -} diff --git a/lwcb/bpfir/src/be/mod.rs b/lwcb/bpfir/src/be/mod.rs deleted file mode 100644 index edbfcd7..0000000 --- a/lwcb/bpfir/src/be/mod.rs +++ /dev/null @@ -1,19 +0,0 @@ -mod codegen; -mod isel; -mod regalloc; -mod spec; -use cranelift_codegen::Context; - -pub(crate) fn be_codegen(ctx: &Context, object: &mut crate::object::BPFObject, ty: crate::Type) { - let ifunc = isel::ISelFunctionBuilder::new().build(&ctx); - log::debug!("isel function:\n{ifunc}"); - let rfunc = regalloc::RAFunctionBuilder::new().build(ifunc); - log::debug!("regalloc function:\n{rfunc}"); - - codegen::codegen_object( - object, - ty.kind.func_sec_name().as_str(), - ty.kind.func_name().as_str(), - rfunc.insts(), - ); -} diff --git a/lwcb/bpfir/src/be/regalloc.rs b/lwcb/bpfir/src/be/regalloc.rs deleted file mode 100644 index b1e849a..0000000 --- a/lwcb/bpfir/src/be/regalloc.rs +++ /dev/null @@ -1,303 +0,0 @@ -use super::isel::ISelBlock; -use super::isel::ISelFunction; -use super::spec::BPFMachineEnv; -use super::spec::BPFReg; -use super::spec::BPFSize; -use crate::be::spec::BPFInst; -use regalloc2::Allocation; -use regalloc2::Block; -use regalloc2::Edit; -use regalloc2::Function; -use regalloc2::Inst; -use regalloc2::InstOrEdit; -use regalloc2::InstRange; -use regalloc2::Operand; -use regalloc2::Output; -use regalloc2::PRegSet; -use regalloc2::RegClass; -use regalloc2::VReg; -use std::fmt; - -/// As a result of register allocation, the virtual registers of instructions -/// have been replaced with hardware registers. -#[derive(Default)] -pub struct RAFunction { - insts: Vec, -} - -impl fmt::Display for RAFunction { - fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - for inst in &self.insts { - writeln!(f, "{inst}")?; - } - Ok(()) - } -} - -impl RAFunction { - pub fn insts(&self) -> &Vec { - &self.insts - } - - fn add_inst(&mut self, inst: BPFInst) -> usize { - self.insts.push(inst); - self.insts.len() - } -} - -#[derive(Default)] -pub struct RAFunctionBuilder { - insts: Vec, - operands: Vec>, - blocks: Vec, - block_preds: Vec>, - block_succs: Vec>, - block_params_in: Vec>, - block_params_out: Vec>>, - - rf: RAFunction, -} - -impl RAFunctionBuilder { - pub fn new() -> Self { - Self::default() - } - - pub fn build(mut self, isel: ISelFunction) -> RAFunction { - let mut rf = RAFunction::default(); - for ib in isel.blocks { - self.build_block(ib) - } - // regalloc2 would check if entry block has block args. - self.block_params_in[0] = vec![]; - rf.insts = do_regalloc(&self); - rf - } - - fn build_block(&mut self, block: ISelBlock) { - let start = self.insts.len(); - self.insts.extend(block.insts.clone()); - let end = self.insts.len(); - log::debug!( - "Block instruction range: {} -> {}, params_in: {}, params_out: {}, {}", - start, - end, - block.params.len(), - block.params_out.len(), - block, - ); - self.operands.extend(block.operands); - self.block_preds - .push(block.preds.iter().map(|x| Block(*x as u32)).collect()); - self.block_succs - .push(block.succs.iter().map(|x| Block(*x as u32)).collect()); - - self.block_params_in - .push(block.params.iter().map(|&x| x.into()).collect()); - self.block_params_out.push( - block - .params_out - .iter() - .map(|xx| xx.clone().iter().map(|&x| x.into()).collect()) - .collect(), - ); - self.blocks - .push(InstRange::forward(Inst(start as u32), Inst(end as u32))); - } -} - -impl Function for RAFunctionBuilder { - fn num_insts(&self) -> usize { - self.insts.len() - } - - fn num_blocks(&self) -> usize { - self.blocks.len() - } - - fn entry_block(&self) -> Block { - Block(0) - } - - fn block_insns(&self, block: Block) -> InstRange { - self.blocks[block.index()] - } - - fn block_succs(&self, block: Block) -> &[Block] { - &self.block_succs[block.index()][..] - } - - fn block_preds(&self, block: Block) -> &[Block] { - &self.block_preds[block.index()][..] - } - - fn block_params(&self, block: Block) -> &[VReg] { - &self.block_params_in[block.index()][..] - } - - fn is_ret(&self, insn: Inst) -> bool { - if let BPFInst::Exit = self.insts[insn.index()] { - true - } else { - false - } - } - - fn is_branch(&self, insn: Inst) -> bool { - match &self.insts[insn.index()] { - BPFInst::Jmp(_, _, _, _) - | BPFInst::Jmp32(_, _, _, _) - | BPFInst::Jmp32X(_, _, _, _) - | BPFInst::JmpA(_) - | BPFInst::JmpX(..) => true, - _ => false, - } - } - - fn branch_blockparams(&self, block: Block, _: Inst, succ: usize) -> &[VReg] { - &self.block_params_out[block.index()][succ][..] - } - - fn inst_operands(&self, insn: Inst) -> &[Operand] { - &self.operands[insn.index()] - } - - fn inst_clobbers(&self, insn: Inst) -> PRegSet { - PRegSet::empty() - } - - fn num_vregs(&self) -> usize { - 20 - } - - fn reftype_vregs(&self) -> &[VReg] { - &[] - } - - fn debug_value_labels(&self) -> &[(VReg, Inst, Inst, u32)] { - &[] - } - - fn spillslot_size(&self, regclass: RegClass) -> usize { - 8 - } - - fn multi_spillslot_named_by_last_slot(&self) -> bool { - false - } - - fn allow_multiple_vreg_defs(&self) -> bool { - false - } -} - -fn do_regalloc(f: &RAFunctionBuilder) -> Vec { - let env = BPFMachineEnv(); - let opts = regalloc2::RegallocOptions { - verbose_log: true, - validate_ssa: true, - }; - let output = regalloc2::run(f, &env, &opts).expect("failed to run register allocation"); - - regalloc_emit(f, &output) -} - -fn regalloc_emit(f: &RAFunctionBuilder, output: &Output) -> Vec { - let mut blocks = vec![]; - let mut total_insts = vec![]; - // todo: emit prologue, that is, the stack space is cleared to 0. - for (idx, _) in f.blocks.iter().enumerate() { - let insts = regalloc_emit_block(f, &output, idx as u32); - let start = total_insts.len() as i16; - let end = start + insts.len() as i16; - blocks.push((start, end)); - total_insts.extend_from_slice(&insts); - } - - // fix jmp - let _ = total_insts.iter_mut().map(|inst| match inst { - BPFInst::JmpA(x) => *x = blocks[*x as usize].0, - _ => todo!(), - }); - - total_insts -} - -fn regalloc_emit_block(f: &RAFunctionBuilder, output: &Output, block: u32) -> Vec { - let mut res = vec![]; - for inst_or_edit in output.block_insts_and_edits(f, Block(block)) { - match inst_or_edit { - InstOrEdit::Inst(inst) => { - let instref = &f.insts[inst.index()]; - res.push(regalloc_emit_inst(instref, &output.inst_allocs(inst))); - - if instref.need_placeholder() { - res.push(BPFInst::PlaceHolder); - } - } - - InstOrEdit::Edit(Edit::Move { from, to }) => { - match (from.as_reg(), to.as_reg()) { - (Some(from), Some(to)) => { - // todo: It should be judged according to the type whether to use MovX or Mov32X - res.push(BPFInst::MovX(BPFReg::from(to), BPFReg::from(from))); - } - (Some(from), None) => { - // Spill from register to spillslot. - let to = to.as_stack().unwrap(); - res.push(BPFInst::StoreX( - BPFSize::DW, - BPFReg::r10(), - BPFReg::from(from), - to.index() as i16, - )); - } - (None, Some(to)) => { - // Load from spillslot to register. - let from = from.as_stack().unwrap(); - res.push(BPFInst::LoadX( - BPFSize::DW, - BPFReg::from(to), - BPFReg::r10(), - from.index() as i16, - )); - } - (None, None) => { - panic!("unexpected stack-to-stack moves!"); - } - } - } - } - } - res -} - -// Replace the virtual registers in BPFInst with hardware registers -fn regalloc_emit_inst(inst: &BPFInst, allocs: &[Allocation]) -> BPFInst { - // get the allocated preg and then convert it to BPFReg - let reg = |idx: usize| BPFReg::from(allocs[idx].as_reg().unwrap()); - - match inst { - BPFInst::LoadX(sz, v1, v2, off) => BPFInst::LoadX(*sz, reg(0), reg(1), *off), - BPFInst::Load64(v, imm) => BPFInst::Load64(reg(0), *imm), - BPFInst::StoreX(sz, v1, v2, off) => BPFInst::StoreX(*sz, reg(0), reg(1), *off), - BPFInst::Store(sz, v, off, imm) => BPFInst::Store(*sz, reg(0), *off, *imm), - BPFInst::Alu64X(op, v1, v2) => BPFInst::Alu64X(*op, reg(0), reg(1)), - BPFInst::Alu32X(op, v1, v2) => BPFInst::Alu32X(*op, reg(0), reg(1)), - BPFInst::Alu64(op, v1, imm) => BPFInst::Alu64(*op, reg(0), *imm), - BPFInst::Alu32(op, v1, imm) => BPFInst::Alu32(*op, reg(0), *imm), - BPFInst::Endian(sz, v) => BPFInst::Endian(*sz, reg(0)), - BPFInst::MovX(v1, v2) => BPFInst::MovX(reg(0), *v2), - BPFInst::Mov32X(v1, v2) => BPFInst::Mov32X(reg(0), reg(1)), - BPFInst::Mov(v1, imm) => BPFInst::Mov(reg(0), *imm), - BPFInst::Mov32(v1, imm) => BPFInst::Mov32(reg(0), *imm), - BPFInst::JmpX(rel, v1, v2, off) => BPFInst::JmpX(*rel, reg(0), reg(1), *off), - BPFInst::Jmp(rel, v1, imm, off) => BPFInst::Jmp(*rel, reg(0), *imm, *off), - BPFInst::Jmp32X(rel, v1, v2, off) => BPFInst::Jmp32X(*rel, reg(0), reg(1), *off), - BPFInst::Jmp32(rel, v1, imm, off) => BPFInst::Jmp32(*rel, reg(0), *imm, *off), - BPFInst::JmpA(off) => inst.clone(), - BPFInst::Call(id) => inst.clone(), - BPFInst::Exit => inst.clone(), - BPFInst::PlaceHolder => inst.clone(), // panic!("BUG: BPFInst::PlaceHolder should not be here"), - } -} diff --git a/lwcb/bpfir/src/be/spec.rs b/lwcb/bpfir/src/be/spec.rs deleted file mode 100644 index 3be3771..0000000 --- a/lwcb/bpfir/src/be/spec.rs +++ /dev/null @@ -1,281 +0,0 @@ -use paste::paste; -use regalloc2::MachineEnv; -use regalloc2::PReg; -use regalloc2::RegClass; -use regalloc2::VReg; -use std::fmt; - -// Generate a method to obtain the bpf register, such as BPFReg::r0() to obtain the register r0 -macro_rules! gen_reg { - ($($num: expr), *) => { - paste! { - $( - pub fn []() -> BPFReg { - BPFReg::new($num) - } - )* - } - }; -} - -/// BPF register, we use it to represent both virtual registers and hardware -/// registers. When in the register allocation phase, treat them as virtual -/// registers. After the register is allocated, we will assign it a real -/// hardware register number. -#[derive(Debug, Clone, Copy)] -pub struct BPFReg(u32); - -impl BPFReg { - pub fn new(no: u32) -> Self { - BPFReg(no) - } - - /// get hardware register umber - pub fn hwid(&self) -> u8 { - debug_assert!(self.0 <= 10); - self.0 as u8 - } - - gen_reg!(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10); -} - -impl fmt::Display for BPFReg { - fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - write!(f, "r{}", self.0) - } -} - -impl std::convert::From for VReg { - fn from(value: BPFReg) -> Self { - VReg::new(value.0 as usize, RegClass::Int) - } -} - -impl std::convert::From for PReg { - fn from(value: BPFReg) -> Self { - PReg::new(value.hwid() as usize, RegClass::Int) - } -} - -/// Convert PReg to BPFReg, when register allocation is done, we need -/// to convert PReg to BPFReg -impl std::convert::From for BPFReg { - fn from(value: PReg) -> Self { - Self::new(value.hw_enc() as u32) - } -} - -/// BPFSize is used to represent the data size operated by the bpf instruction: -/// -/// 1. DW is 64bit -/// 2. W is 32bit -/// 3. H is 16bit -/// 4. B is 8bit -#[derive(Debug, Clone, Copy)] -#[repr(u8)] -pub enum BPFSize { - DW = libbpf_sys::BPF_DW as u8, - W = libbpf_sys::BPF_W as u8, - H = libbpf_sys::BPF_H as u8, - B = libbpf_sys::BPF_B as u8, -} - -impl BPFSize { - /// Get the corresponding number of bits - pub fn bits(&self) -> u8 { - match self { - BPFSize::DW => 64, - BPFSize::W => 32, - BPFSize::H => 16, - BPFSize::B => 8, - } - } - - pub fn from_bits(bits: u32) -> Self { - match bits { - 64 => BPFSize::DW, - 32 => BPFSize::W, - 16 => BPFSize::H, - 8 => BPFSize::B, - _ => panic!("wrong number of bits"), - } - } -} - -impl fmt::Display for BPFSize { - fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - let str = match self { - BPFSize::DW => "64", - BPFSize::W => "32", - BPFSize::H => "16", - BPFSize::B => "8", - }; - write!(f, "{str}") - } -} - -/// BPFBop is the operator of the bpf binary instruction -#[derive(Debug, Clone, Copy)] -#[repr(u8)] -pub enum BPFBOp { - Add = libbpf_sys::BPF_ADD as u8, // + - Sub = libbpf_sys::BPF_SUB as u8, // - - Mul = libbpf_sys::BPF_MUL as u8, // * - Div = libbpf_sys::BPF_DIV as u8, // / - Or = libbpf_sys::BPF_OR as u8, // | - And = libbpf_sys::BPF_AND as u8, // & - Lsh = libbpf_sys::BPF_LSH as u8, // << - Rsh = libbpf_sys::BPF_RSH as u8, // >> - Neg = libbpf_sys::BPF_NEG as u8, // - - Mod = libbpf_sys::BPF_MOD as u8, // % - Xor = libbpf_sys::BPF_XOR as u8, // ^ -} - -impl fmt::Display for BPFBOp { - fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - let str = match self { - BPFBOp::Add => "+", - BPFBOp::Sub => "-", - BPFBOp::Mul => "*", - BPFBOp::Div => "/", - BPFBOp::Or => "|", - BPFBOp::And => "&", - BPFBOp::Lsh => "<<", - BPFBOp::Rsh => ">>", - BPFBOp::Neg => "-", - BPFBOp::Mod => "%", - BPFBOp::Xor => "^", - }; - write!(f, "{str}") - } -} - -/// BPFJOp is the operator of the bpf jump instruction, which is actually the -/// operator of relational expressions. -#[derive(Debug, Clone, Copy)] -#[repr(u8)] -pub enum BPFJOp { - NotEqual = libbpf_sys::BPF_JNE as u8, - Equal = libbpf_sys::BPF_JEQ as u8, - Less = libbpf_sys::BPF_JLT as u8, - LessEqual = libbpf_sys::BPF_JLE as u8, - SignedLess = libbpf_sys::BPF_JSLT as u8, - SignedLessEqual = libbpf_sys::BPF_JSLE as u8, - Greater = libbpf_sys::BPF_JGT as u8, - GreateEqual = libbpf_sys::BPF_JGE as u8, - SignedGreater = libbpf_sys::BPF_JSGT as u8, - SignedGreateEqual = libbpf_sys::BPF_JSGE as u8, -} - -impl fmt::Display for BPFJOp { - fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - match self { - BPFJOp::NotEqual => write!(f, "!="), - BPFJOp::Equal => write!(f, "=="), - BPFJOp::Less => write!(f, "<"), - BPFJOp::LessEqual => write!(f, "<="), - BPFJOp::SignedLess => write!(f, "<(signed)"), - BPFJOp::SignedLessEqual => write!(f, "<=(signed)"), - BPFJOp::Greater => write!(f, ">"), - BPFJOp::GreateEqual => write!(f, ">="), - BPFJOp::SignedGreater => write!(f, ">(signed)"), - BPFJOp::SignedGreateEqual => write!(f, ">=(signed)"), - } - } -} - -/// BPFInst is used to represent the bpf instruction. It should be mentioned -/// in particular that BPFInst::PlaceHolder has two main uses. a. One is a -/// virtual instruction for block arguments and fp(r10), b. and the other is an extension -/// of the `BPFInst::Load64` instruction to facilitate subsequent calculation -/// of jmp offset. -#[derive(Debug, Clone)] -pub enum BPFInst { - PlaceHolder, - LoadX(BPFSize, BPFReg, BPFReg, i16), - Load64(BPFReg, i64), - StoreX(BPFSize, BPFReg, BPFReg, i16), - Store(BPFSize, BPFReg, i16, i32), - Alu64X(BPFBOp, BPFReg, BPFReg), - Alu32X(BPFBOp, BPFReg, BPFReg), - Alu64(BPFBOp, BPFReg, i32), - Alu32(BPFBOp, BPFReg, i32), - Endian(BPFSize, BPFReg), - MovX(BPFReg, BPFReg), - Mov32X(BPFReg, BPFReg), - Mov(BPFReg, i32), - Mov32(BPFReg, i32), - JmpX(BPFJOp, BPFReg, BPFReg, i16), - Jmp(BPFJOp, BPFReg, i32, i16), - Jmp32X(BPFJOp, BPFReg, BPFReg, i16), - Jmp32(BPFJOp, BPFReg, i32, i16), - JmpA(i16), - Call(i32), - Exit, -} - -impl BPFInst { - pub fn need_placeholder(&self) -> bool { - match self { - BPFInst::Load64(..) => true, - _ => false, - } - } -} - -impl fmt::Display for BPFInst { - fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - match self { - BPFInst::PlaceHolder => write!(f, ""), - BPFInst::LoadX(sz, v1, v2, off) => write!(f, "{v1} = *(u{sz})({v2} + {off})"), - BPFInst::Load64(v, imm) => write!(f, "{v} = {imm}"), - BPFInst::StoreX(sz, v1, v2, off) => write!(f, "*(u{sz})({v1} + {off}) = {v2}"), - BPFInst::Store(sz, v, off, imm) => write!(f, "*(u{sz})({v} + {off}) = {imm}"), - BPFInst::Alu64X(op, v1, v2) => write!(f, "{v1} {op}= {v2}"), - BPFInst::Alu32X(op, v1, v2) => write!(f, "{v1} {op}= {v2}"), - BPFInst::Alu64(op, v1, imm) => write!(f, "{v1} {op}= {imm}"), - BPFInst::Alu32(op, v1, imm) => write!(f, "{v1} {op}= {imm}"), - BPFInst::Endian(sz, v) => write!(f, "bswap{sz}({v})"), - BPFInst::MovX(v1, v2) => write!(f, "{v1} = {v2}"), - BPFInst::Mov32X(v1, v2) => write!(f, "{v1} = {v2}"), - BPFInst::Mov(v1, imm) => write!(f, "{v1} = {imm}"), - BPFInst::Mov32(v1, imm) => write!(f, "{v1} = {imm}"), - BPFInst::JmpX(rel, v1, v2, off) => write!(f, "if ({v1} {rel} {v2}) goto pc + {off}"), - BPFInst::Jmp(rel, v1, imm, off) => write!(f, "if ({v1} {rel} {imm}) goto pc + {off}"), - BPFInst::Jmp32X(rel, v1, v2, off) => write!(f, "if ({v1} {rel} {v2}) goto pc + {off}"), - BPFInst::Jmp32(rel, v1, imm, off) => write!(f, "if ({v1} {rel} {imm}) goto pc + {off}"), - BPFInst::JmpA(off) => write!(f, "goto pc + {off}"), - BPFInst::Call(id) => write!(f, "call #{id}"), - BPFInst::Exit => write!(f, "exit"), - } - } -} - -pub fn BPFMachineEnv() -> MachineEnv { - MachineEnv { - preferred_regs_by_class: [ - vec![ - BPFReg::r6().into(), - BPFReg::r7().into(), - BPFReg::r8().into(), - BPFReg::r9().into(), - ], - vec![], - vec![], - ], - non_preferred_regs_by_class: [ - vec![ - BPFReg::r0().into(), - BPFReg::r1().into(), - BPFReg::r2().into(), - BPFReg::r3().into(), - BPFReg::r4().into(), - BPFReg::r5().into(), - ], - vec![], - vec![], - ], - scratch_by_class: [None, None, None], - fixed_stack_slots: vec![], - } -} diff --git a/lwcb/bpfir/src/func.rs b/lwcb/bpfir/src/func.rs deleted file mode 100644 index 6143124..0000000 --- a/lwcb/bpfir/src/func.rs +++ /dev/null @@ -1,48 +0,0 @@ -use crate::be::be_codegen; -use crate::object::BPFObject; -use cranelift_codegen::ir::Function; -use cranelift_codegen::isa::riscv64::isa_builder; -use cranelift_codegen::settings::builder; -use cranelift_codegen::settings::Configurable; -use cranelift_codegen::settings::Flags; -use cranelift_codegen::Context; -use std::fmt; -use target_lexicon::Architecture; -use target_lexicon::Riscv64Architecture; -use target_lexicon::Triple; - -#[derive(Debug)] -pub struct Func { - clif_func: Function, - ty: crate::Type, -} - -impl Func { - pub fn new(cf: Function, ty: crate::Type) -> Self { - Func { ty, clif_func: cf } - } - - /// Compile this function and write the generated instructions to `BPFObject` - pub(crate) fn compile(self, object: &mut BPFObject) { - let mut ctx = Context::for_function(self.clif_func); - - let mut triple = Triple::unknown(); - triple.architecture = Architecture::Riscv64(Riscv64Architecture::Riscv64); - let mut b = builder(); - b.set("opt_level", "speed_and_size") - .expect("failed to set optimization level"); - let flag = Flags::new(b); - let isa = isa_builder(triple).finish(flag).unwrap(); - ctx.optimize(isa.as_ref()).unwrap(); - - log::debug!("optimized function:\n{}", ctx.func.display()); - - be_codegen(&ctx, object, self.ty); - } -} - -impl fmt::Display for Func { - fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - write!(f, "{}\n{}", self.ty.to_string(), self.clif_func) - } -} diff --git a/lwcb/bpfir/src/lib.rs b/lwcb/bpfir/src/lib.rs deleted file mode 100644 index 875bc38..0000000 --- a/lwcb/bpfir/src/lib.rs +++ /dev/null @@ -1,10 +0,0 @@ -mod be; -pub mod types; -pub use types::Type; -pub use types::TypeKind; -pub mod func; -pub mod module; -pub mod object; - -pub const HELPER_NAMESPACE: u32 = 0; -pub const ___MAP_NAMESPACE: u32 = 1; diff --git a/lwcb/bpfir/src/module.rs b/lwcb/bpfir/src/module.rs deleted file mode 100644 index 99b29ec..0000000 --- a/lwcb/bpfir/src/module.rs +++ /dev/null @@ -1,249 +0,0 @@ -use cranelift_codegen::ir::types; -use cranelift_codegen::ir::types::*; -use cranelift_codegen::ir::AbiParam; -use cranelift_codegen::ir::FuncRef; -use cranelift_codegen::ir::Function; -use cranelift_codegen::ir::GlobalValue; -use cranelift_codegen::ir::Signature; -use cranelift_codegen::isa::riscv64::isa_builder; -use cranelift_codegen::isa::CallConv; -use cranelift_codegen::isa::OwnedTargetIsa; -use cranelift_codegen::settings::builder; -use cranelift_codegen::settings::Configurable; -use cranelift_codegen::settings::Flags; -use cranelift_codegen::Context; -use cranelift_module::DataId; -use cranelift_module::FuncId; -use cranelift_module::Linkage; -use cranelift_module::Module as ClifModule; -use cranelift_module::ModuleDeclarations; -use target_lexicon::Architecture; -use target_lexicon::Riscv64Architecture; -use target_lexicon::Triple; - -use crate::func::Func; -use crate::object::BPFObject; -use crate::Type; -use std::collections::HashMap; -use std::fmt; - -pub struct Module { - funcs: Vec, - isa: OwnedTargetIsa, - declarations: ModuleDeclarations, - - maps: HashMap, - helpers: HashMap, - functions: Vec<(Type, Context)>, -} - -impl Default for Module { - fn default() -> Self { - Self::new() - } -} - -impl Module { - pub fn new() -> Self { - let mut triple = Triple::unknown(); - triple.architecture = Architecture::Riscv64(Riscv64Architecture::Riscv64); - let mut b = builder(); - b.set("opt_level", "speed_and_size") - .expect("failed to set optimization level"); - let flag = Flags::new(b); - let isa = isa_builder(triple).finish(flag).unwrap(); - Module { - funcs: Default::default(), - isa, - declarations: ModuleDeclarations::default(), - maps: Default::default(), - helpers: Default::default(), - functions: Default::default(), - } - } - - pub fn add_func(&mut self, f: Func) { - self.funcs.push(f); - } - - pub fn compile(self) -> BPFObject { - let mut object = BPFObject::new(); - - for func in self.funcs { - func.compile(&mut object); - } - - object - } - - pub fn define_probing_function(&mut self, ty: Type, ctx: Context) { - self.functions.push((ty, ctx)); - } - - pub fn declare_helper_function(&mut self, id: u32) -> FuncId { - let mut sig = self.make_signature(); - - macro_rules! sig_params { - ($a:expr,$($b:expr) ,*) => { - $( - sig.params.push(AbiParam::new($b)); - )* - sig.returns.push(AbiParam::new($a)); - }; - } - let name; - - match id { - // static long (*bpf_map_update_elem)(void *map, const void *key, const void *value, __u64 flags) = (void *) 2; - libbpf_sys::BPF_FUNC_map_update_elem => { - sig_params!(I64, I64, I64, I64, I64); - name = "bpf_map_lookup_elem"; - } - // static long (*bpf_perf_event_output)(void *ctx, void *map, __u64 flags, void *data, __u64 size) = (void *) 25; - libbpf_sys::BPF_FUNC_perf_event_output => { - sig_params!(I64, I64, I64, I64, I64, I64); - name = "bpf_perf_event_output"; - } - _ => todo!(), - } - let helper = self.declare_function(name, Linkage::Local, &sig).unwrap(); - helper - } - - pub fn declare_helper_function_in_function( - &mut self, - id: FuncId, - func: &mut Function, - ) -> FuncRef { - self.declare_func_in_func(id, func) - } - - pub fn declare_map(&mut self, name: &str, ty: Type) -> DataId { - let id = self - .declare_data(name, Linkage::Local, false, false) - .unwrap(); - self.maps.insert(id, ty); - id - } - - pub fn declare_map_in_function(&mut self, id: DataId, func: &mut Function) -> GlobalValue { - self.declare_data_in_func(id, func) - } - - pub fn context(&mut self) -> Context { - self.make_context() - } -} - -impl fmt::Display for Module { - fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - for (ty, func) in &self.functions { - writeln!(f, "{}", func.func)?; - } - writeln!(f, "") - } -} - -impl ClifModule for Module { - fn isa(&self) -> &dyn cranelift_codegen::isa::TargetIsa { - &*self.isa - } - - fn declarations(&self) -> &cranelift_module::ModuleDeclarations { - &self.declarations - } - - fn declare_function( - &mut self, - name: &str, - linkage: cranelift_module::Linkage, - signature: &cranelift_codegen::ir::Signature, - ) -> cranelift_module::ModuleResult { - let (id, _) = self - .declarations - .declare_function(name, linkage, signature)?; - Ok(id) - } - - fn declare_anonymous_function( - &mut self, - signature: &cranelift_codegen::ir::Signature, - ) -> cranelift_module::ModuleResult { - todo!() - } - - fn declare_data( - &mut self, - name: &str, - linkage: cranelift_module::Linkage, - writable: bool, - tls: bool, - ) -> cranelift_module::ModuleResult { - let (id, _) = self - .declarations - .declare_data(name, linkage, writable, tls)?; - Ok(id) - } - - fn declare_anonymous_data( - &mut self, - writable: bool, - tls: bool, - ) -> cranelift_module::ModuleResult { - todo!() - } - - fn define_function_with_control_plane( - &mut self, - func: cranelift_module::FuncId, - ctx: &mut cranelift_codegen::Context, - ctrl_plane: &mut cranelift_codegen::control::ControlPlane, - ) -> cranelift_module::ModuleResult<()> { - todo!() - } - - fn define_function_bytes( - &mut self, - func_id: cranelift_module::FuncId, - func: &cranelift_codegen::ir::Function, - alignment: u64, - bytes: &[u8], - relocs: &[cranelift_codegen::MachReloc], - ) -> cranelift_module::ModuleResult<()> { - todo!() - } - - fn define_data( - &mut self, - data_id: cranelift_module::DataId, - data: &cranelift_module::DataDescription, - ) -> cranelift_module::ModuleResult<()> { - todo!() - } - - fn get_name(&self, name: &str) -> Option { - todo!() - } - - fn target_config(&self) -> cranelift_codegen::isa::TargetFrontendConfig { - todo!() - } - - fn make_context(&self) -> cranelift_codegen::Context { - let mut ctx = Context::new(); - ctx.func.signature.call_conv = self.isa().default_call_conv(); - ctx - } - - fn clear_context(&self, ctx: &mut cranelift_codegen::Context) { - todo!() - } - - fn make_signature(&self) -> Signature { - Signature::new(self.isa().default_call_conv()) - } - - fn clear_signature(&self, sig: &mut cranelift_codegen::ir::Signature) { - todo!() - } -} diff --git a/lwcb/bpfir/src/object.rs b/lwcb/bpfir/src/object.rs deleted file mode 100644 index 80f7d0a..0000000 --- a/lwcb/bpfir/src/object.rs +++ /dev/null @@ -1,98 +0,0 @@ -use libbpf_rs::libbpf_sys::bpf_insn; -use object::write::Object; -use object::write::SectionId; -use object::write::Symbol; -use object::write::SymbolSection; -use object::SectionKind; -use object::SymbolFlags; -use object::SymbolKind; -use object::SymbolScope; - -pub struct BPFObject { - obj: Object<'static>, -} - -impl BPFObject { - pub fn new() -> Self { - let mut obj = BPFObject { - obj: Object::new( - object::BinaryFormat::Elf, - object::Architecture::Bpf, - object::Endianness::Little, - ), - }; - obj.add_license(); - obj - } - - fn add_license(&mut self) { - let id = self - .obj - .add_section(vec![], "license".as_bytes().to_vec(), SectionKind::Text); - self.obj - .append_section_data(id, &"GPL".as_bytes().to_vec(), 1); - } - - pub fn add_function(&mut self, sec_name: &str, name: &str, insts: &Vec) { - let id = self - .obj - .add_section(vec![], sec_name.as_bytes().to_vec(), SectionKind::Text); - let data: &[u8] = - unsafe { std::slice::from_raw_parts(insts.as_ptr() as *const u8, insts.len() * 8) }; - self.add_symbol(name, id, (insts.len() * 8) as u64); - self.obj.append_section_data(id, data, 8); - } - - fn add_symbol(&mut self, name: &str, id: SectionId, sz: u64) { - self.obj.add_symbol(Symbol { - name: name.as_bytes().to_vec(), - value: 0, - size: sz, - kind: SymbolKind::Text, - scope: SymbolScope::Dynamic, - weak: false, - section: SymbolSection::Section(id), - flags: SymbolFlags::None, - }); - } - - pub fn emit(self) -> Vec { - self.obj.write().expect("failed to write BPF object") - } -} - -#[cfg(test)] -mod tests { - - use super::*; - use libbpf_rs::libbpf_sys::BPF_ALU64; - use libbpf_rs::libbpf_sys::BPF_EXIT; - use libbpf_rs::libbpf_sys::BPF_JMP; - use libbpf_rs::libbpf_sys::BPF_MOV; - use libbpf_rs::ObjectBuilder; - - #[test] - fn add_function() { - let mut bpfobj = BPFObject::new(); - let mut insn2 = bpf_insn::default(); - let mut insn1 = bpf_insn::default(); - insn2.code = (BPF_JMP | BPF_EXIT) as u8; - insn1.code = (BPF_ALU64 | BPF_MOV) as u8; - insn1.set_dst_reg(0); - bpfobj.add_function( - "kprobe/tcp_sendmsg", - "kprobe_tcp_sendmsg", - &vec![insn1, insn2], - ); - - let mem_obj = bpfobj.emit(); - let mut builder = ObjectBuilder::default(); - let object = builder.open_memory("lwcb_test", &mem_obj).unwrap(); - let mut bpfskel = object.load().unwrap(); - bpfskel - .prog_mut("kprobe_tcp_sendmsg") - .unwrap() - .attach() - .unwrap(); - } -} diff --git a/lwcb/bpfir/src/types.rs b/lwcb/bpfir/src/types.rs deleted file mode 100644 index 12734f0..0000000 --- a/lwcb/bpfir/src/types.rs +++ /dev/null @@ -1,278 +0,0 @@ -use logos::Span; -use parse_display::Display; -use parse_display::FromStr; -use paste::paste; -use std::fmt; - -macro_rules! impl_specified_type { - ($($func: ident, $ty: ident), *) => { - paste! { - $( - pub fn $func() -> Self { - Self::new(TypeKind::$ty) - } - - pub fn [](&self) -> bool { - self.is_kind(TypeKind::$ty) - } - )* - } - }; -} - -#[derive(Clone, Debug, PartialEq)] -pub enum TypeKind { - Undef, - Void, - Char, - Bool, - I8, - U8, - I16, - U16, - I32, - U32, - I64, - U64, - String, - Ptr(Box), - Struct(String), - Union(String), - Map(libbpf_rs::MapType, u32, Box, Box), // entries, key, value - - Kprobe(String), - Kretprobe(String), -} - -impl TypeKind { - pub fn func_sec_name(&self) -> String { - match self { - TypeKind::Kprobe(n) => format!("kprobe/{n}"), - TypeKind::Kretprobe(n) => format!("kretprobe/{n}"), - _ => panic!("Not a function type"), - } - } - - pub fn func_name(&self) -> String { - match self { - TypeKind::Kprobe(n) => format!("kprobe_{n}"), - TypeKind::Kretprobe(n) => format!("kretprobe_{n}"), - _ => panic!("Not a function type"), - } - } - - pub fn loadable(&self) -> bool { - match self { - Self::Char - | Self::Bool - | Self::I8 - | Self::U8 - | Self::I16 - | Self::U16 - | Self::I32 - | Self::U32 - | Self::I64 - | Self::U64 - | Self::Ptr(_) => true, - _ => false, - } - } -} - -#[derive(Clone, Debug, PartialEq)] -pub struct Type { - pub kind: TypeKind, - // pub span: Span, - pub typeid: u32, -} - -impl Type { - pub fn new(kind: TypeKind) -> Self { - Type { - kind, - // span: Span::default(), - typeid: 0, - } - } - - pub fn is_kind(&self, kind: TypeKind) -> bool { - self.kind == kind - } - - pub fn is_ptr(&self) -> bool { - if let TypeKind::Ptr(..) = self.kind { - true - } else { - false - } - } - - pub fn points_to(&self) -> &Type { - if let TypeKind::Ptr(x) = &self.kind { - return x.as_ref(); - } - panic!("Not a pointer") - } - - impl_specified_type!( - undef, Undef, void, Void, bool, Bool, char, Char, i8, I8, u8, U8, i16, I16, u16, U16, i32, - I32, u32, U32, i64, I64, u64, U64, string, String - ); - - pub fn ptr(pointee: Type) -> Self { - Self::new(TypeKind::Ptr(Box::new(pointee))) - } - - pub fn struct_(name: String) -> Self { - Type::new(TypeKind::Struct(name)) - } - - pub fn union(name: String) -> Self { - Type::new(TypeKind::Union(name)) - } - - pub fn kprobe(name: String) -> Self { - Type::new(TypeKind::Kprobe(name)) - } - - pub fn kretprobe(name: String) -> Self { - Type::new(TypeKind::Kretprobe(name)) - } - - pub fn map(ty: libbpf_rs::MapType, entries: u32, key: Type, val: Type) -> Self { - Type::new(TypeKind::Map(ty, entries, Box::new(key), Box::new(val))) - } - - pub fn size(&self) -> i32 { - match self.kind { - TypeKind::Bool | TypeKind::Char | TypeKind::I8 | TypeKind::U8 => 1, - TypeKind::I16 | TypeKind::U16 => 2, - TypeKind::I32 | TypeKind::U32 => 4, - TypeKind::I64 | TypeKind::U64 | TypeKind::Ptr(_) => 8, - _ => todo!("{:?}", self), - } - } -} - -impl ToString for Type { - fn to_string(&self) -> String { - let str = match &self.kind { - TypeKind::Undef => "undef".to_owned(), - TypeKind::Void => "void".to_owned(), - TypeKind::Char => "char".to_owned(), - TypeKind::Bool => "bool".to_owned(), - TypeKind::I8 => "i8".to_owned(), - TypeKind::U8 => "u8".to_owned(), - TypeKind::I16 => "i16".to_owned(), - TypeKind::U16 => "u16".to_owned(), - TypeKind::I32 => "i32".to_owned(), - TypeKind::U32 => "u32".to_owned(), - TypeKind::I64 => "i64".to_owned(), - TypeKind::U64 => "u64".to_owned(), - TypeKind::String => "string".to_owned(), - TypeKind::Ptr(x) => x.to_string() + "*", - TypeKind::Struct(name) => format!("struct {}", name), - TypeKind::Union(name) => format!("union {}", name), - TypeKind::Map(ty, n, k, v) => { - format!("{ty} map {n} key:{}, val:{}", k.to_string(), v.to_string()) - } - - TypeKind::Kprobe(name) => format!("kprobe {}", name), - TypeKind::Kretprobe(name) => format!("kprobe {}", name), - }; - str.to_owned() - } -} - -#[derive(Clone, Debug, PartialEq)] -pub enum UnaryOp { - Deref, // * - Not, // '!' - Neg, // - -} - -macro_rules! match_expand { - ($($ty: expr, $char: expr) *) => { - $( - Self::$ty => $char, - )* - }; -} - -#[derive(Clone, Debug, PartialEq, Display, FromStr)] -pub enum BinaryOp { - #[display("[]")] - Index, - #[display("||")] - Or, - #[display("^|")] - Xor, - #[display("&&")] - And, - #[display("==")] - Equal, - #[display("!=")] - NonEqual, - #[display("<")] - LT, - #[display(">")] - GT, - #[display("<=")] - LTE, - #[display(">=")] - GTE, - #[display("<<")] - LShift, - #[display(">>")] - RShift, - #[display("+")] - Add, - #[display("-")] - Sub, - #[display("*")] - Mult, - #[display("/")] - Div, - #[display("%")] - Mod, - #[display("=")] - Assign, - #[display("|")] - BitOr, - #[display("&")] - BitAnd, - #[display("^")] - BitXor, -} - -#[derive(Clone, Debug, PartialEq)] -#[repr(u32)] -pub enum Relation { - NotEqual = libbpf_sys::BPF_JNE, - Equal = libbpf_sys::BPF_JEQ, - Less = libbpf_sys::BPF_JLT, - LessEqual = libbpf_sys::BPF_JLE, - SignedLess = libbpf_sys::BPF_JSLT, - SignedLessEqual = libbpf_sys::BPF_JSLE, - Greater = libbpf_sys::BPF_JGT, - GreateEqual = libbpf_sys::BPF_JGE, - SignedGreater = libbpf_sys::BPF_JSGT, - SignedGreateEqual = libbpf_sys::BPF_JSGE, -} - -impl fmt::Display for Relation { - fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - match self { - Relation::NotEqual => write!(f, "!="), - Relation::Equal => write!(f, "=="), - Relation::Less => write!(f, "<"), - Relation::LessEqual => write!(f, "<="), - Relation::SignedLess => write!(f, "<(signed)"), - Relation::SignedLessEqual => write!(f, "<=(signed)"), - Relation::Greater => write!(f, ">"), - Relation::GreateEqual => write!(f, ">="), - Relation::SignedGreater => write!(f, ">(signed)"), - Relation::SignedGreateEqual => write!(f, ">=(signed)"), - } - } -} diff --git a/lwcb/rustfmt.toml b/lwcb/rustfmt.toml deleted file mode 100644 index a0bb61a..0000000 --- a/lwcb/rustfmt.toml +++ /dev/null @@ -1 +0,0 @@ -imports_granularity = "item" \ No newline at end of file diff --git a/lwcb/src/main.rs b/lwcb/src/main.rs deleted file mode 100644 index 675fbda..0000000 --- a/lwcb/src/main.rs +++ /dev/null @@ -1,92 +0,0 @@ -use blang::print::Print; -use blang::BLangBuilder; -use blang::__PERF_EVENT_MAP__; -use libbpf_rs::PerfBufferBuilder; -use std::fs::read_to_string; -use std::time::Duration; -use structopt::StructOpt; - -#[derive(Debug, StructOpt)] -#[structopt(name = "lwcb", about = "LightWeight eBPF Tracing")] -pub struct Command { - #[structopt(help = "The path of script file")] - script: Option, - #[structopt(long, short, help = "Raw text")] - text: Option, - #[structopt(long, help = "btf file path")] - btf: Option, -} - -fn main() { - env_logger::init(); - let opts = Command::from_args(); - - let code_string; - if let Some(p) = &opts.script { - code_string = read_to_string(p).unwrap(); - } else if let Some(t) = &opts.text { - code_string = t.clone(); - } else { - panic!("code script not found") - } - - run(&opts, code_string); -} - -fn _handle_event(prints: &Vec, _cpu: i32, data: &[u8]) { - let id_arr: [u8; 8] = data[0..8].try_into().unwrap(); - let id = usize::from_ne_bytes(id_arr); - debug_assert!(prints.len() > id); - println!("{}", prints[id].bytes2string_with_offset(data, 1)); -} - -fn handle_lost_events(cpu: i32, count: u64) { - eprintln!("Lost {count} events on CPU {cpu}"); -} - -fn run(opts: &Command, code: String) { - let mut builder = BLangBuilder::new(code); - if let Some(b) = &opts.btf { - builder = builder.btf(b); - } - let blang = builder.build(); - let mut object = load_bpf_object(blang.object()); - let _links = attach_program(&mut object); - - let prints = blang.prints; - - if prints.len() != 0 { - let handle_event = move |_cpu: i32, data: &[u8]| { - _handle_event(&prints, _cpu, data); - }; - - let perf = PerfBufferBuilder::new(object.map_mut(__PERF_EVENT_MAP__).unwrap()) - .sample_cb(handle_event) - .lost_cb(handle_lost_events) - .build() - .expect("failed to start perf buffer"); - - loop { - perf.poll(Duration::from_millis(200)).unwrap(); - } - } -} - -fn load_bpf_object(mem_obj: &Vec) -> libbpf_rs::Object { - let mut builder = libbpf_rs::ObjectBuilder::default(); - let object = builder - .open_memory("lwcb", &mem_obj) - .expect("failed to open object"); - let loaded_object = object - .load() - .expect("failed to load eBPF program into kernel"); - loaded_object -} - -fn attach_program(object: &mut libbpf_rs::Object) -> Vec { - let mut res = vec![]; - for prog in object.progs_iter_mut() { - res.push(prog.attach().unwrap()); - } - res -} diff --git a/lwcb/tests/bin/vmlinux b/lwcb/tests/bin/vmlinux deleted file mode 100644 index cfc6a88a1aff10c9d903e9c16b7ba100159230bc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2402536 zcmcG%2bdK__J`fmTwoX&C5RxRT#|qh6G_D)35Ws3fcXljm{CzNfUTmUqGHB1jfw$q z5m6L#Bj&7_rQ~yFRRV?L_f}%fCW+PI$Tyc6um{?I@Bqv}46qe!uLvx(2;< z#^tix+p+3zPTjj_$JMpyeU{IQCRm=@dz|H2omD4Vp2j<|JnL`O`Ie{tU9x;$G}rRv zJI`3{yxq7ddZDq}bdRy>dBC^@da<#Mp^latU-}j#UdxE_QAjW9)1w(ycR;_AahQv$ zcP&q2`n9pj{AsNAtg1|gTwF9R!aa@GhFy+#GFF^1Ip$CjYp#zqdq?;rYo#v8!r zWE|$SFvIdXk$0JKXZR}PF7OS;UEw*#tH2A4HD31_t3Qt$w}Y1&Zw^a1ENC5k0H`k# zP6bJIZ?7^R&9QtmzLFozr!V{$%o;4H-X_47azIuwcK*o!h_^ts!cLKbVy+F_x{kWQ z{9ld}>>FWp_$ryi{R2@%ew*XN|K+j+Eq@Tk!LYMqR6M|#Hk8*;@K^qzobNUjt_|ZO zpJ6$B1=WPI#3RZW>9hzEYo8g0C;$8Q?gVHqC8J@DvC}~&@%HEv_SX2{0*{AjyO+a^ z9Y+(46L_L=3Qr3D6gnyR!&8Dkd|L2_&kX+PvyB~kx^aTOz&J%;WURCHQey|tG)~|v zjZ^rB;LpOlDfq*)gFk#*@P`)!f7?ts^lN7!p!F@e+qmeD{KQVx`nm^u8?&jcVy)B1 zD*n~a7aM9uSAI-}X>vg) z#hGw83D1S;tDm2X&0oh?<@m-N&&%=MIi^T?%$8suEd%nn`RLmCEF8vFytns=qLcz_;=&+mWPTD=0`&&m^mys zIGi6~RD=EBG){KOk8t8CihhRuK%#z=ozxP4lwU{M6Nj5`H;b=1+XxQlQ$JX1sYu!m z)|zpolG#h}Q852U3F$b1E)*2!GMv;eqfJ`NJcOHK4n|rz$?YFMK+j zzz4#dj{_vUbbos-V!RNy%d=q>ztc7(K=~B?4Q{x2vBL~T(Z*2|?sJ1bJPy`9X#$^MoWc^Op}Yq2YvkB0J7UE6G1OIC3seu5iun6^>6@Nx3AKpZ7h*?D@8CYc_^4NPL=6-tP>v<^9gYHl1-= zjg_+q{s+8@b!rwYOiAHdEW<5kckpen1|xwN80-FZp>ZAjfbo3zQ5faVi6@LT@K3|K z|90@JX4iVJH`aRp!Z?M$HjY@!KL>v}rgPQAN#I8CGU|$0f2+Z&*THMR{2wK-Nj%j6 zpYq(w$0VL+K-J~^bIlgkQkVzK@hHm^pJPmu{?D=@mdc%H>6TB!B#tTz?wb?bU!5+%2sO4X0{-|;t zvR`j@t(j1Fh^PEnx%^hfpfv{Rxo9nx&tdsGcp0qc0mnZ54g60yp}%@~-%9O)TfsH3ZfZNg zxJ5;HU1JAt469!ycmVu4oWMK4S1D$Z`!0A3**iwje(=87qfSwD1iS!row@fgPT-T^ zX85GA9wz*_b>Z2^xCCEeoWM64*THwdYG(@HYg`XMX3PU$)$_(x@EgW4{DE-;_#5K_ zTwsh8vmv}Tye?eqN*9bB+zr+|Ch%tPY_$Q__==--xW2*~2M3QdPT|q!|Q}|iqXoDzv z!`Q(e1%LPpSkIg({0n>*9d;YC=d(z3t|f2__-6UQonehhv{4lGFm`ZHczgN7TNpzK8_QvG3OgyjS{#Oe3#0U2k)h_@L_OU>?wSbaXmZ@p5hzCc*A;kR&=~WfcH^Z_$FA-_9=WP?Atbg zbp_umANVQwJ~)A&hwqm^{0{s8tcHIDKL|VcSGWpu0#`SSqKB}jaBEoaR-!>s)DG5u zpAP2v!8jViy*#Y-?BId$1q4dq9bvuiOK70>Car-wc#?4nUkIm)zb*R-%(O)gz7AfD zJ%#@XKP;aS90woxIe3YD;CJ9hyBKGBY>e^}$@;Im?in1^-DKn1Z;&$ z;1;m1-6`C`xE|gVR{V&Y|Gvf!9uD6^oCMw#*1RO6*`Hy>se`A$PpSRzRM^Mig~Nr$ z4!*`Xf#({h@S@TmzQj&@3TnsC@FAA@m$Boxrg>&h;MI*& zxFb9it;Vir?BJfp2|N@=`S%y2;M?SH(tvxgz*Of2-{mw1@jQNvqihf2=yR+i;bStl zXcBxP>`14XJ%P_PdkS9)--%X3t}|9U=fHPiRy*&6)t3}rVywmZGVJ5SAHny@AN~n` zK>l#l0*%r=QWN-LQ1?i!j1zb*;}q@&D`r$+%@{j)YvTkS0Y8dM3Xg&xmw!Xf3-~F} z!3V<6zzKX5{2ZLZCmTmxi_U{zkUu=rIDu!wFUcQHVIRLS=Q6A{;NW`W1pdr8g}*h{ zbN_GfEAofqmbOmd8e={8w=#~J@Xo+k_cdMM*C?C7>%)hsJ#a7h4cTk>fiT47b+RBc z`TIV@_zqwIWd<;!-RaK=IM%!%BjHP#QwQ&6_5|J^Zh=n<9|J#(*7}$Nqx^mLG-Iug zD~z>1ZZKBE?hO9$Bf%fmd&h@}lfp}}>-^ICc-y!Le+0K6o`aXcItLQ?XIR(KI=C^L z&PQ+xH;4V6%bI8dWA^Kyv$58}hQ?Y4y^SNrWI*uO_ym7=*WeHD6a1Ou1A{+2A^5{5 z1%G&I@Mn%M2>$TQ;16FP{NbB|KXbew_`~-HfB2E$4?h?DSqHDeEg4G(>;7J!QMuMp z^gi}haI|_9eF}e}F@b-9FJgcaIJ|#N+LE~%|Kp#+O<{k(vIfOrZkHklcZ6rd3EU0- zQ{xZ!gj=hwcKE^f${!vD`?=VV=Qm^B%ZBT*?q!d`zCQl-@EPz|DzH&yuh)HT*z0v) z8}|AX4tu?B@WNj2;IP*xaMu;8UK%e`Tg}yOgb1Ch_|~cgi;*uFloI z@Q#)l-tjuF16yKO(2;O>-&=wQntcMS=T`Y7@G!H_fc3st_Bwb6v(JZ3;!q#$_MeCD zg3m{mxd;47@XU1lA$niz`1`Rq4DOKg`51PUW2QOVTeVk=Bu&B}sn%X|n(>$3VYb_c(1JPiKWSZ(_WR*Vv< zDc2p9O-OCvuhDg+b>MH%B^K0X@V9V1Jiz?x8SjzC5es{qaS=WOR-YU^1=e~_;OWLQ z;ERpx;OmX&!*>{`aBBPl{H$?3{02-H{QJDm%&vR9?_rHcQG=Cr=G>N zp|M)j2j>5%2oE&w37dFQJ?aa?5X9Rx-m+IQM<&bJ9mbuAsdI1wJQfapImoz({ZL~E zA8A~Ik1R!J!zWRODnWrb*i1&mQy*uF2G-XlU!`<{1FZ2f6Y;7 zkIbPxML4v_!J$1RSfcYi%UNe>yTF3E2sM_PhiaZ}Qh#`Unq^G|fdhC&6uv6L?MI zX>cc4UuH|;ZZQ9A27<(&LL19RR(@;+`*FiQ45nDY!F#}Az3IHxM@O>joNcK1un9#n zU#(lFI>>T%U24XL_~cB0|1i&EWhbTv`xMx3_$|4ohG}|3hyO+JPv$=p4rQ-})ep%m zxRJ3wsG^uZFXmtm`@tQ?Mf~-dP80kcY!WvP0o4lGzIgXYun`?xRISL1jr$3OlVRK^0UYXJ;UKgiNsSBy@=av7l zT-)UTllnqYJ-`lG(DZrlg%0I!C>gFC~m;RN0Q*4WmQHiP{s zN8XmkYVQ#9DZ(R+|85K`m!{>%NBhYxS=oa2Mtv`e>y8&)H^nNuH$GyPQZ&w3Lvxtb zTZE4{cCgyhhIW-;6F+Y1Q&`WZ>2dVl!5aS49Ics%?sSpA&Bd@b(~MQ-LSvmTIxq5Z7!Dst zcDClSu&({{!WEQV%f{?#cx~hB;10$&<#=w6=jT{~)n?Vb2zzL=`Y2YL)yL3Z-7AK6 z>RwT8b0i6E`;RyeSxm(VF;!kM6<>Y-Z!y_Neat1q3G=R)s#kHsT#SUnT$Er5)9uSX zX8y8;@pL*sg3rtUgU{#;e2KjN8H8jXS_0zSd6B_+EtzEO;QV)9!~5VAyQ7htPFWx}4n?XdDvK zo%pPS|MBo*SmP;q7S`I(_`eRTUhO~iX4g1;W;_i3&UiHZyYYCqArJ0~Gl^6KE6y}h zxHjDaw=nx6xM=>b!|NJ<3ipN8wqHoYjMdSd%}48b4D8zpA8D*>_he&Tm(MYt1pfn8 z+h)Qy!-{_ke3!AVxsRFuB6z9s>+lE0zra73e_Pf|V_q~VP7!VmD}Hyl2&-*<;0=sN z!~J2cw@L6WW?ux4HGUmF+I)V2CmZ)+CeJY+J#$@RJQJP;S=2%duL+@Z)RMAhZ!gE zDC0VKtZ@n-Wn2%R0(VqXsYLg#?dX?8_do5$48Xa?Y)`9$FN8JDDXjBrQ~A*QtFUhg zC-C*g8i2XM4r@Gn%b$zC#;33R;XCp1edJ>Pm~jz)&Dg=8!du~Af^}|grZ`-PG*uz z7d#Cf2RqpDnbslj061ZDoD2^X^Bi*~JV<;X?*rkD;AlL15j+?!X%oq0xpn2oXeIWE z!Q1wwunw7`Aj`#3btcQ%y9cYqQGIl&y#7G%-;)5cCnS^Q;`9vG722a`%PTr&Yun*7 z2R_?;7s5kf*&l<4Rb}yCf=9q9_7C74VC`4m!z0le>q4ijYyz(aD`pByQ033AhMEm? zyn2qe$@%(1{Ma^^-zvw$SK_;UF28M#w=-rQ>@5|~T4w7JDxxhrV(U!18AQDbih5ap zyHCl8ZCVI3dVIa7?|L>ub%f*mH~>d^=2N|7@^0 z=ko&0Y3=u^`kehoW0j3N+uXpl#wpw$4l&n*hhUTRf z<#%WU~Nw2T!`L> zb#5copBiIt@RKoqRZ-W>hkLB5=EiieY7Jv9tyOCoQ)g9IW8zk=YutiMLT}?Dx446i z`}kAR*B`rFKPOn5^J5?Sv!bSSd@TNZ5)Kzxwu9(yi!#czu-#8m!R z>|3B6>2NE1E@e+K|04Et;Lzp^;OXScUjh~qw7#dpHtgjRi*r7i*TN0)=}yj#a2Wr& zaOl@UIJ6;rZz#q8A?(8ykvI~?ap9 z3HVAlgBKL2i_IF9(w{G z0S{GK_+)sN{F%TD%@I-il{NdA#Q}{}lZN#5gw;8*}yl*#7;HTg_ z6(4>N_WN%&Z8k2#)tuXRt1h?$tno?UEnvk@VO`Vj!ABQ-UDNNAKfEJ8;so9UzCr%* z7_;j+?l4#}9eg7Efc#+z(@?$^_Q*`-wWI8rsuMw#{lYZ_bNmm>hiezfF_ZWzvnzgZ zxz-?G{)CW8tZR&!>he86@cq&P=j*u6{8dM&IMfj|_V|XJUx>G&mfwvzzYs6@<>TF) zYiGz0&onC=!`bGKD&I4iN!7%2bNRu}atRXu(~KIIP+u5_psx(x#JkP>^WzfyLV4Wd z+jD-w9&~7j{O+&=RC%25syM`ba&<4v`L;EC(2BLl^7CyA`9aI?-b(!1y#0Rc=dp&H zYOllbQd`@qY7Trh+L7)vPT(hDe;&ba7;8ZFtEwZ> ztOGC9<9$yw-|6OCXTI~zcd_Xg(ZrA5N3-2UU!#fX$MIMAF>7Ok4YE2z-*EL+>iVwr zp|VXgABBtB!cSOP9V6bKEi&8h(CzT)Ztd*>OL}K9qHWOX+s>xPq7~q1v?@3qtvWA4 zE9P}*jqw~bTVu2c-30wOTHD$y=%(lo(9O`_pli_uE|A=BNA1w+M>n+Y-+QCE$Bu@g z_5N)qG_RPV{n2{&ek@wwAvp`pE2d~BnvWKu*=ViJ1!J%HA|;uC1yN4<#F8hH!N zYqjW8G_PT!f1`P|7B$`|ii+r#=#J>F=uYUq=+5Yo=q~6Z&|T5`KJ+^1%g~I2pZjZJ z$?a%O!D6(=aw%G4_yJmD_&r)}tpicvZ{}zSQiBe~WPn-wnT}veXss zdma3cl`X+9!YpCmp3g#A>{T0QZO|aJhtDF8gSGZwhZDF5cCDwh6Yp7#_0DA^thQ+~ z4uBt58@g~kg>~O6)>u8GnDDXKTgc8rKMfY@{w;jYlE5>tzd=R{&xBR4+l1#4*vH?D z`w{p}6^8GDeH{2@;{^T?ep_+iugxB9&gb&MA8tlml}+Gw#wpw#_WkNr`8>$M;rFc) zID7{`g~NC7qu#u8rl4;R9KM5}z~MXiDIC6ouLp(j9ef9y#Lp670BvCC{Tkj0mh5G1 zJOItKM-$LYVRQl---3hn{NdXUpM_mqBuzJVu-5F0)RDj@3ge$o9E_;8N-J}reMZ=)6Z6SRtckM;#O^?j0y z#GB+7+UKn+*cpQ$@k`cT48H869ILGMJri%&dJOF|d#q=_RjI!w1~O_rbnwi&oJy@XM4f!f(QAgM)vB)rJIa!#N;M;jo6ImaWQb*uh~9CvaH9 zDQptIMSxz!VbBWIowyf(-&Ig#JNQRWRncx%SJd1xZTxk8@ojF-dpUfVYyaLi?2{^f z7?Z7fOTH!nk3P4{Ym&aI6T)U@NE2b9u{SXaq;pfybN-rSKv>`NZ|L)CxuPo zU1`Nf*wuG6`6u&Hel2^G-w)w6jZ1JBn0ozr)eDvkMyvjjX!WIpRtG1diBWK{zMuG+ zHBx)vr?Bj2!C$~BJTvq6!LEV7ln?1v80GH=?=nth$RwURB48As0WZaebKigV{x+;N zE_n~u)|Zk#hc!+LtQTS0dsJ75pTPQ^D3pIEp_pHDkdt_s9aG%DH~JQz;PNv(JUFv& z>v||@3LliA|H(K_rF_&DyT%)7zP2%Qvg$g-*e+;)G@WP0s!U>?}@LM|%IK@s#L$YT-QF-r833 zIRvCHin$wh-OmR3$>Q&sv+oE0YW9O+#D>dr{EOv6XD-2;|w^o z(??<^KXt%(9s}!KaPaA{ z{$@Y|hwDQMhkKl;QRN=T!QuLlz$S4Om=EW8Eueh)uLhq-TT)oUaQpqZy*c+llO6R!E95}5 zmg7#@v2V+MaM&kwy{W~qh>wZfeZG8ja3KD~^zXa*T9;ggsO~L%Q%YlenhRmiWZ3ylbbejEVow`#JC_R+-w(p&z&RDIfO# z3$woYd7o)zi}=kZZrEh53qIIyhP9p(QrHtxSVC30{qUl5&?Ihaj4HpI2>EN~{MzKW zow3F-%vC58#!u~#g#4f}#cNr4)PI!MIcO4h$oU2PiuEX7NAqKB|0ACM-mWC*&^}CY z*GgSAy7x4RJO7t>!EHsYc-<&>H*>(H-mm*dVaYQ#M=zrl`Yp89;s(7rt5NdTVrT+yuoC}K=CAcqYyMh$9pH^t;x9j~F=che2dUnWgPz9i zyeX?!YrG$J&5fkL`D|iw)wbZHd6Nt=pUv>u4wjGFvn$-&%6Uhc@YdlO1)sz5>ASqo za$|yDbd<&KgWrk93}tkd@m7`c@fPr9X4iboGIlwi{_q{xQU0FwURdKJc?1so;d54Y zfR#o0e!YghW9A;c4R?ZzcFf-3uW#>T*LflN7*_lu>1$Z;Rvr8UJdmK`f16JNOBe)y zjs3g2@@3_(dW-14^KZf;R~sCu1*~&7A+)A>#-S^$JgS zkB5gDC-89NEVAFyeS6jB_M~a}u&xUUJOh?pa)ogbzTViubKq@>nZS3#NcDCcKbZLx z#$$L2)}ADJ$+!sX@2AP`NN=0H1bx1N4y)y`Wtof z*FL@`WkVl}@ZMy&od4;}SugBW=05<|^-nSard|GfAK~w1%D$WVI5_yHa0z>;_aL|m zn`DBqgHJG@BCNiI=hL&XpG|=j`-SGC_UrFaT#8+yXO}T6w7XVaxhwC84g+Il9Fr2`8e}wYq#WL)E9Lf6`)*j{HcwqK-3=&v^ zf9+V~15IO&$L06{xOQOHE=Oh&KGgE{K1cP)-UIu3=n_fK6#L_oz#C%^ZQl|;9J{09 zA!bity({qJ37f>@@!J_6mPbMU`Yc87`6Oep)7_{@nqchUDX`)s@VT(smXa;rxk)Vb^`OWXBxqm^i*) zE4HBrc}@;UsB2HkPU0ZQ$vH029-Z^!@CohFXUoCmHQ*FGI2a#)K88Tq^!xKt_E09o zJP!XbB`3o=e*ufD6qIxW;;%C}*R%f_UL{bAZ8 zUrfPX zzsWGo_Sc9Zj=c|CLOL6}I3-_2m29G1bev8C{@u-+x8bJatwUbwAsJ=_(RzdE@Z`&8GM?-IlQegeJ~z6^T`-v(bIAI3iXoodGk6#h=N zZdw-M4B=2r14i+48@mT5uU7rusyCH-ODPbTnCSo?$HSpOD-)>sPf zjNP}NGTJ|VUGP3;S04{FPT`Y-KYi4GaUC}G_Z;lk!wGz$vG$_N;A^o*>_z3ZN2kN* ze-19MJ-EE~V3W8`7%Z**X8DYjEd1L9S01RO*77O6uK*>T){BB;G<3Z@gC^itm}@ zJt|!DVy@noDqOR)!c8h6qncML_W0Eb*Qgz1X(!@OAy2HMH!42yn-#9nbE1hKH<8U1{saX`rmTd4Dne%yng*f^=QgJF%kuCQxu=)6v zHRIc+&+WWD0Wyg%ue8(q=)0iaCwN$UKBI1LuUr7*k5?!=hB7NFyW8K`ReWXs9iW5@K;j#_ynF?}5JB^1rbd%2!?C-&UM!`QMTMV9xjT9Dix->+l!M zs9L90L*u4!Q{&JN!uh>%)yy8XMysFg%#YimAj_>OHFG`l;rbVCVXWca*7#4HMjF>* zA8q^x_Wg{1hYvDVy%TbLg0U9=DLLj)vfTRBIz9^@!ujid{=G-|+b<5EOD)b2xDF8wQr?AEQnN!gM{A(zZ`2j7!RUonJwq~GXa?^Hhq>OzxQP8A zxEAe5s!u$UB%u!l_2DplvL%&$)~S0WN0Ps|L^>KDaY8x));&y0ni9%tQW4r!D5Ar= zUD?jShyQ)dbAVQKBH>uiup!Q6*s0Dxv+o4lW1ELQQ}~rs#NQ-tsX;(+@pauq+11T9 z7uGm9(tP6*te9$ILQ+g|O1d8(iu!t&m_O!7-{sMHR3tryUEGso61TScP!0V$z^A#{ zUWQv3zYFW%dzE|uQ?>sN&A0HHW>;Pt*a;BYRvYdu+EskwwmDwISn+i3>-Xn0KN9`^ zTz<^(X(%7vzw5gYLE2l4A7~3wy;dc@ry7hJ%Oc6d+j;!*cH&0yjy|WlQ>AR&*_eDS zH!opre#B8T%CKhr@8yJZR!(iPcciR?i?HfXNIi_F!JER%&?%|Eu?B2Acpa66cQH=j z{f$%jaAQrvL|Fgsu7jJ9dcX<#Bf~xrCeluHKc{#VPii;G-3@5%1FBm*fxM4eQ^$P2l@sH7tc6g&t&v1Kt|@aLfrj!Z?NX_mLDwlexRaDZ=|3>mA4h;}U#|aRN^_u7j_DA5#0_Ys@ab z(YPL-2m9v~PS(5OH`I4{G5n^=!cQ1$0lo~YZ4Q3VxCAeQd#Eq)55_4R?ZkUS^_^AS z6n-0aa2weB!|mbWxTJ7r*!O)EzK3F5gtvz8S6O%@d@5^G?_~BdAH9<~!nhuu3hUn) z(Mfj|{GQ6fv&|=g?=`N2pNE&J4RAf|$D}!*`x+fiK*Lc>$dS~nZK0R$X0DC{|4n7LjH6?+k8ta_A+&JQdyUEzW z3xhxWNbrYWhOgti)J5hExDBZD)P$$1F-vk5${;o?+?6Z zKF7EUz6?f~flNaCPwmPzTrrUwGoR{>IGzWyy!>};?u0d-l11=e)Z<`%Pa?v%gt{NQ z>P<*vT=rQ~9sKa%Y@SlFm92;MU3}W*`|>#U?LqbBS>qI58tl~f28_v{v-*sz6|B17 z$4Q6}ezQg7ON@3lfpNLlGRQf6($B)sJ_3H%=--D=w!}lOkI3AdN48-|Q68ABt7}JtT-&}q_cp~Lcg(BH%i~qh69Qxs4eb=iOPAQz=&o~qk_&iuKBp1P( ziK$G#mvas};W+FOsrlg%Z)Kcsm)5*Vd^dZ=BVGKZ+Q0X^j@W*E;&3BOxyX_9J(IA0 z=9*6(_J`mLn4}bb1lGSRqC!u@TJsKm-8g|~!u@Ge3jYiK0w0a<@UB^3bzXgeU2`M( z&bSEcZwkroNcy`&;u7f(dvyWmeHLyaB0UGRr@4gT;x!JmE|68z!ggFk$F@Q2S2{)^`W5VVuAcnqGdNID~pk;%!tv=TVVmTSt3! zjSBgCFV(bBHh$|6?-+a&3a$rJwZES0I~4WQk)ri?cXW-?iJ-qf{TOzKO=nT#H?X!(o4Iflq-~kw1Jkti2+IFNT|AcPzFm z;fGZ(JPY1Mb#YGI3fIU7z6;i#s{12dySVg3b?|-I^;vNWKMpItKFeAPFIG(WJ@_Xv z8{$Xs3$U)YU&2~<(Q4dNz%5i49F5NI)05Srsusql!fU{-@JZ#9NjzBP5zSjhm3iSf z9!7p=$}x<7|J@Ll^hIk5wn5XaXcx3XjYZQu?|URHITo=3IE8{6oix--E0L*r~?vGmpTM z7tnHh2d&~JzNfUsuh}B{^US}Rtu^}5xEUPntshaf?jM>O%cl*jzR>NcBfP(l$UQzx zH=`nHW8>~{Ke&WXPk0c#AMD`m;4yFl?*b#$V=Wf!N%3@UsSW$$gVFc#(9A!Yj8-4d zN2`xlp&1@OU%EyfXz}jEelYCtc?3QTPT=R^Bj6N%6ZUJOGPbpvSCd%(PLPD`+HEt8 z4mBHx@&2q=llYK|z3eNW!?AxtJv7a)(fs)wo-G`X-{Mo?|010CsoIC<9b(9*8GIa^ zz%60DM@V4_SeuQYy${1S5u-%oX%g$+qCI7q@2L)BzOMZKqJ2p3)lz)A;D3%{F%UiA z>9B)0g3p5!coSIvPErc@hS?6I`l_gExbge&XybpuM;P<>C92Lc=I={T+Dm+->dPcP zD#z;6<@h&Ztk`D!`-b4F=Pj+dgrwiO4(F)e@t&+0MAtiBv4i#R;7);)P%G1Pg8VXx zk2j{S+SoY!?x=s~h+pv6IVsV(FHt-0pbgxn_}`Vjkv2b4@LADpcojI|a6bH<%Fu>I z@B`S@wg+I{7pZNJ!2WszzXbdDBJi8A#yMhf{R?hHoFe=gtado~YxrT+1^*1+hEB-) z6JCNng&XXf-S4Fw*TViB;G}A6?BK5O7F3nMJ&iR9{o#MBov=xKA~7Wj7uMe2jay86 zOybFu8%8{o-)nY;PqkRP!>7Xz=Y8O_;KT}o<@pKo64rj07hGfYTcUP_`CQSTJTIC* zllU|%M^nq^b|`m-<>4D^{h8E+H7Wa4>^eUfCjWe;`#P;%iOwzRER^8<_2wY@=;t4M zcqT~Uqp;sZyfim%XLEcqcBaPfgSs!iz}lkmoB=z^o(YHj;}ZB%#lf!eyj=b?&?G+B z%5xmwcW`DUyL_z-{a60^Io}H_Tyu)C%3W-nFLz1K_n->L7v;)@eK%k3GV*Vu%^J7r zCOkjGS6G=xV87W0eW(Z)Ih!%ays-81=XH+>rC1S>c)+ zD;!^+7^LFEs816W3qId%}M2rA%*FbvP@Jitn&8aLw&-e|$neN94-xXk5f`G<+r6 zkwX6ycyH`#TS_vC@5;r$v%>MB3fJ5M?@!s#X5GVvK2Bv!#g23oK5Coxr2HJ{_Zal| z3gmM#K10#kBc>WV_PcXe_?}7|;s+{R^I(PJd*Mqci-ct&_8#HfQ+sa02M7O| zXV?ejxDb1HdDEwRV4YhIeiVKfPGFPx4<10?!cN@(xM$Ec=5hJstZU4Za0-8k|I@Jg z`yKo&to~}fKQDjlFIc{oJSuuezQxKbl+KCxV~ypULHO>?NQ79Qi-fXJY#MaDSn~YxPogxmXviq23CuP@}SA ze~#=6+b~6Aja^ihc&XKmrKY;V@hcUs3FYyLwO@=c`TG33k|}W5V^23OMrDa#tHg;{ z&GEP#pWD0QKRw49!+9ltpIn#*=daCrAGJS=DZ#GuMf04J^xkw=?CNw{%H~1qFnsos z!up-vEpgFcX$|{x5Dw>K0_&Ml{Yv4dh$F6tUx&viz8aTFEPLR0bNnLwVaYcod#^;y z4=w*Y>>T8&vw*1hgIvr|US+wYmfu0hUC+4M4~sfL@bUXr2>~ z9ThLD)LoK!}hSo&tcyM{svCr zec&%tCw}AL@8ASJ4DKKwcq06%n1)P&e~>@vboghqBTa*=FemT@u+~xv&xC!O>FYJ{ zSJ)Ex`e0|XzZLGUvam_~HGX$u-++GUci!)XRi|Vztc^xv@-(d9qbkBL!upKT!LPv@ zhZ5;McoB6b@JGfe{5^axb~XGL*!Kng1NP4maN{x77q}&i@)IJpfU=JI+G5xHxDLMGIE9~t z^_-}eFVDkjqk~_Ar@{&RF1%PiOxVY;+LLJVkcG1I?(7@vGCBAU;}Tpumi-)i0hynd*gqhrfVRxN01qiNX=>sfNFX9lRP$ zwr^*9;}m-rSo=dnS`XIm&}iLm25bL!1+E*g=Ar}-fi)KiJQDs6osvewzF(}*{o#KR zL+AK-Sl69Y>o)kXR!=Za;4@*>rIX+aSm#K@`kZ4v4!+BLv~Hh-yBF|bO}+p>KtCM( zD*O}n1b!R#=LP&Jd^C2g)o7SI zmoo59y23U2xPMt(rn=mh5RVvf11qO|i<+&|>>zGv`5KEA^L1S_i5r_Art-g^6~;{S zB=Ku6!?;PV-e$(-hhy4x7VFO>*1NPDm?zrculKjWp^UE6s>cOy+?ravmCc_%t1yY1 zSNwcjt?kv!R(>~z^R3j!=~Hk7R6D{vtawkI(_u z8{X++j()@E?uMC9)qxft-x^pkOYmy&Y&d~C!oSm(6xK7luNSQ`)MpzGULPOLQvz=e zYo1bgYj_cLMFT6p+w9;W*!$s=z&pa~e=>+`HLU*D!6oAqJ_uI5_3%+}BbuW9^AtE- z!p<>v*e^3q;5xY2Ae*Cku)j`LF$Qou+FXK7@XGSl1|2NHho<>4592JKm$0jtBfSID zMgRHG$8gc+bQv7xPJg>v+fG6X&mSrLJwDo>oV9_v%IEId7N>)0++*!)Ch?j%UJL$< zShU$c+ci5V^J<4y=nc@sj{0Tx>dsbH^;x{Ai`mp>lejCkp_Ji0O<@|w5pV-PO3Xd1 zG7kGbu&y5od;qLEQ_>N}GE9V3nfiLN@ksb|xH0w;e2H-aUu9ee&ofTphu|L6r4Bs_ z>l|_L%kYEfg!C4?K0Yb@FL*=w)9$a~#`1@Mhy67e)`yWB;gi74;Eh!l*6$K3e#G%= z*f&8tQfHWKzb@8;`QOW?fRE2nKjRWS7}gkm1MdXu9z`-5)_505V`1&H4n7Rl{d58! z3+q~#!c$;>PeA!;u-cZuml&t;HL#yU%Fl+i4;JBjV3l?7ld$GXeS8I0o7Kk;;D4gk z$1lvDz`w$ZSqE1i%sWGLN@@<@j@AjV2JGX*9bua6?@`u=eR~>l{{Z{zI&2bmQ~6Bd zPViUUfa)HUD$Cy;RrW~AYQ7w4FXIv%K0i<3aoDxS>PUyesy8J~hSeVZI2&$5Jr2GI z9!cj@_)1v!$`NBY3)cSR;M-xH-;S(D;jgUi&%mKQ;q&SQAAKk0YkX38sl~}E$3XP; zsQVr4`rK|bhVS8U?)?ty{BqbE9b)qfuL5h$r|=rEpD)_n308lL@Os8Q;mwR4yrubb zu2l_({l1HRXV|ZK`nV^owVlEy@dg|RUI#t|pBlzt0>-0ZT@xfH!C}px0q?{?g8h8s z6rO3UahPkYwmk&v-ZUXS4eNI=Q}{JFjQt<`)5(O8@xR_CG|8``}+nvJP`gGFb_Bb z@wIVt_!sjj!VM0yHo&cn6S%W+3U3H2zUHGZ+zc$jgW+Gu?+Nb+uST5?-V;Xo&u|Wc z!}b42V@LTDV2wjUIuk~!`!K$j!c8fw^>70m#&aIr44cZ_ZT2GkAl#R74t~N|WAzd& z-xPiiR{J$3%Zwx1{kw4yZhCkY-@$7bkA%Cyg#VxWvN`^$w~n+GTuWJTzAxKhXU+Sy zk?&V%bCEptYl~dJ#Ol{BlojXumC(-6uR1vND}_V9>fz8Y{a)w3#Mw$QnJ5!ank${B zTDK3{>4aUP@J!eWLsy*n0G}&0~JR{iQ^I=_6BI>;i_Ion5T?^~GX$d?J z_V1^t>rQwmIw9Q)>l{zv#bUx}vwsR6hRwk*!bo)|ue?uzEdMuAod9{$dN|H2WK^|^|19rm^`&GGkeonguPXtir|G+m7PXZGswXo0_fbQ|NceGHfA z;lbHHCf)}Bf!5CLvl!)fwcD6o-?teI7xCX2AMKgL;Jx7?=5wgA!+xT10-t4^!j}Yp z8hk_WhZh8YIE6RHH-(=vR>xk3L%r|8Bdp%fVXYZQ`VkK6L1Rb=|3l;KuR$0z&f*eW zI5KO00=G0)y+wGq%2IC+n5qgz4!3|;l^q!ZPawm=+rj!QC4qN^)wUEiiMQogLi_#P z?Sqfx5H!_A$D*k!O3;LfrlVElDl|(hnul(Leh96$KZVvg@-~`sg%UwNgmWVNc+m#wpwn zK1BX>atM5w;=?21BjpcE!18>oI0j+<^6zf;RZN5_{y)p%7MK19|FPyH|3Nt(^Iytp zKbIVs^Y5MG1B~hBf3)-9oL|2jk2hXf-*k>j!kB>Zq5q|hBXV)K%<>aXDUH{6TqnYgr0*geD|=;w@Movi zsrq8e0P@>ZG#uZR*|jgOV2_W-W>Ry2#V4Ns>`>p|>0y~u2ix9j#}xB>?+n`C(`>p= z7CVx@&oK$71lHenQ@tr^CjLnE3FMi?C&F{E^J@WxI*d!;#PXkoPlFxySK%|@1b!br z3r^v0;IrX~ar_OQ4m-Hf(cEXi8t3Nl4Ee*Y;fv%?N4vn6$RF+rZ^@V@a9{W``NM$1qRBv;qJzr z;C{xP;cbk&z@v=2!r^Z=Ibw#t*_6O0@#K~CP0w1A&_^&nbtQiKEK;H|xRU3r=8Wci zj`ybius`n)`*#A^4~6win!?9g8|&dSVE=cD$(s)AK1A)k8rJ!klIFlDKfeo%HNW>8 zYkr@BXVVtVZ+LGIar_P!1OK@T{1QI?xfm|LV}{G`s&&(lNqjnX3HAQRykm~fw0u-K zKa5=%8~;59oWmZYa?`9Fw!basKS#@z3*|@AH_5pc1C0IsmbXUnIsYGGhxyLOJI~^2 z?T7c1p>N?>ZMY!kmo=rbe*C;y`!3A+X}^(#diAc|B)-`En2z#yeuDp|mUo=#Fjo0` zF3pt>_>P`E`H2*$G*`cMW5Te|&SU+?)#6oD6GUT9cu;g*MKkPVIY=yJ6x*2}yqsM4XaV z!CCE7Z)4|o!2B3|WHA-sdt(Pz9cy*Ls~V?p2V+g} zrp68)6#U`6;r{sQo@YF)wWZIkkB2cwCHPe11U}ce4!!~&sIu@?@D$ps&-7-&8ixed z@0br^ZuFo(5Bp}YgO|YmbFkI;&Y^MCn%@nFX+xnoejmVLp1v}6g!&oQcaIXda9rk- z!mVMoS!3G`-bQu78^A}4S7&X}PxUc@`(PK>!MYFJNPU5~#!fN+W!xcfPwb8_=I#h@ z3@7mJu+~=!mp`8*hDm%YbGR2ibgwX<4(gH7Uj)cq+w>@QOj{C-kd%d9${ z_XXGzj+?<}Dkj_-{x|K@B(#UsP6w|C?=F9MQ}|vn@%zK~sVuw$d_Sxg2YbK|zz#kL zeo+4K@$f_PhtGmj`Ln;xgcr*no&`TFe|Ro@B`ztv03IWM(*3Z|@#8Ug2|6JyHG2xz z!+s63?!JK4U!8+L!&@-U39LP2E^SYE$rn$`_JOn`V*=Av7H9Uki5~~JEp}aJOK@jc z=UoE#gdZh-3YWh_+?jf?AEP<#nmZr6QFgSAEj$Pxibf@P2Uztc@SbK*;X{q<;mOAO zW!~T=GOmLkfgfv3JK^VHzaH4|-U}#_lD)7e@ttj zaS_(vH1OjOkHY>qP6@n^`K0i{#`T*-Rg;b1hc7h#7kq>92k=7J&+n#u<_JGQOb5RL z`}S|f?=ZqzGb#K%thv@d=v8%Mc3`b6Wb(L(6L(pZ|xm^MI40*xq*2 zEV!(Km=P7nEQ*Q|vyGyHfTCi+xCRs>m@sRL2&i1eoOQ1ebIz%+Ud5af23%1Ln80++ ze9v2b&P=(i{QZ6Pqp4?3zjf+Vb#--|9sRAF@P0StbzT1``V6iJ#n@5 zxS#a!8gPHO`lw1tbV%&ZZAEozoFM4J$y6v zd8DUL9x~2geFw6W^ss)fw6pZE?pw?+J$<6@lgX}rn?%_KrH5aH7nUB@-#+RhJ>_&> z*;RV@Z8VEZ5AQ`?^WnRIo3UR;Tx#1_aL~iw!QG^1nFUwK3zoT0V4IOA4C)2pW#J6& z2CoR`u%+}d{99^x1YQZv0z_6|TnkqHN*ls@W|Xn?fj1y8SO&sRp;3SC2x}izf9?r$ zN|!Xj`ErrbCOnq+ofW6Tn~I(;tE<4;UV2`t zV_K0(MZ&=T}n_&OFi~{}!KcVgLkCD&AIoApCV;_TW^U{d{E2seSr!aFvD;b*K5_JW^-vmgzc z>NSn}PswvIon$uJFq=;6pJn}#_*5Tq2u#MqFIt%^;FsYH`%PAF4&MX6ioJjzHM=_L zY4{E4t;2}FdVTFNc}~&v1*=D~S&_fQ{*tYy3;))Swwa~$71PJ{zHYWy7sv1#>t7*m z>Ih><*K%FVq2{u;S)cK_dR&30peJdQdrIFz_Z4>95uPuq?7LR?Z>{Jj+d5(m&q{S{ z@G+qn6mM?ciLG4)p8F)u9jx5^@H@s`;rEQY!M-hfz~Ov?vTMQeDL?BQXK)524_VaGz4o`lgwmvzIUDAQW~d^hk_ z?9yZ`@4`nDYz{ZW`@#iWJ*H8I?xB1}JsJEtnvGbW!{5QHQc(f_5pl!GHTz=lG4hF~ zdt_fL;w)lZE2W=O-yrM@6aO6;_JVi8kJ2IVZg2)45AOlz@L0G}b;0MsdrMEfSGpd) z304~w|2?ptwJEko;Qgehtxp?g@N4h^(!-PCgWv-G1ePCl^i22=ID`K*&f&T9(q6y| z87I_Nfrm>EuM8gs=Ws9h2)KX;!XX|$?+G6zJ&UDuIvPt2pVv73s>TgF)Hwa7#tpmI zIGs`Bh8+fQ49G3TQu@6+pl5%m zal=gb(mbgCGN=4l)6i@58;izjXO?U75Kovp?t{JH$6`7E}6%IV7vzLv}rvgCXg- zq_j)ug@Ea-Ih6AlTPxSb#!Xz`Z1<`|6}7hUF>Pz*)Gm+TP+x@;-k297**pWqNHlU+;Qvmv1-ERc;w87mu^$&F1B$TLIgmjB9R%)#VuC zXX84*RvR*wrO}9U7JnXIz%#iY66$4;uYg9J!TP(}nuBs!*8%=avL~7o6$iRCVYNZW zrUy6Yy;_3Rv8nnuc3?~Cauz$Lj=GPn9(v_n! z-nU+de^!}QBi#cwMqAVMG@WAh@*acFrEZtsH6pzS<$90V+amp1rq|eTKOTpdQ$H(l zo6b|ZPE?PVbNy`Psb^i&$788A-TJNgZK<>FQY`6)|3L5YOTV${|4DoOI}Ix5=O%M1 z*D_9(+q9K-dp~V%>!e$&)~K{kD{Y#`)_d8$QQ6gP`^e9hW+$s|PcP$Da0@mhpIdzU zsr*(}UhVWbvSoQ6KVDwt23R?b)0X9YoW}aCO&^bkmi5T*peP=X)BAaQTj%E~o~zu? z-dK3MD7Kb9xD6GO+f{Z4)5qsZUZ=(xgs*T?bh9_iffeol(|Vb7?(mO9n9SG3;ii{srVTJPoK^+Q{U!~1KPty4W+ zmv!$+y1&^qZd&^EzVz{8QJU4AZr%lDEs_^8J)m=}0RFhmor5TIuy+0@pjb zNB&HOYf_G<2QcuJbWOzAO){1t*u^=Ej_E2}unfg6Zf40iUWXVE9%l9md?GvypBb!o z6vR24o4tTX!=XQ@Q-6a@ek$XLxKg`iy#%UP2$f3lIC>P0QNQ zmn)R-RpoFe_FSr|tB3vjRVu5$uc)26!lHf_YaG3C3giF1-tHF z=C(aQ!#)a@UiUFZ!#S+K9W(|mU`y#qR))_FCm5@0A1A&a`ME2)^yEnAj$G&Eq&vlQ zbnk5bTo?O2HS!zA3{G0}dm6g0Xd|h9oRxvo)1&&rTK@An`Q0|9Mb~7%TffcInHyH4 zxYupvy6k1w*Es=Wr<=oli-lmtlVP_+lgfMRAx`{QO8;fPsIEFcAIgWW_|X3J0K)2c zgqOj7E@d)!HF!Ln!wch6T)+*+34S&-O$PUIJv`93fOj!YQuamT3_b)N&iWia2|i!` z;qmZ=uy*`QjJ1DU4~KZ*yN$K4OfpUwd~X?N@TabazjHnOhwG`Mz?nW_^H7Apy8E)P=2_TA8X~C%JRuW)DSIF^1=`7h>a)R!G-IEQ2(4|X}oV?v>W&8y^ zpRqc73FC}+Y?n9g4Xj_S9*@M(0axF39k zX|{roG43yo@c>xAGa~&!c$=OjZw;Ssnr+%7=~c$tV!zRNJNSO%?cx6#4~Abe-U0s7 zct^bojGJH$ge9zO2KO}1;oerZfLB_s z^wSJ0wP%}ZY;13Ou-z`kxb3vJG0!#I9c;|=m-HxO&eP{Q$#^MVc^eDkI*i-(H!jM#VAs8dFn`bwmr$?n zDKM6j>);?R&aZ<-KI^&F(-hoe|T;87NmGDvIO)S%mwS)cw{~KG*PO9U; zOzJP-He;E$@m**_FxJfzpCdC^_eT_`-Y@EeW+Z-^;DurB>&^2dZMqqM1a~){3a?}Q zF}#uS=alUS&qY}st#*XvzXI>uhrh8(JQ-a5ogjE`(-iQ*u%5^0fy>dx1$+v;KKpZy zvwy)l*5?emi;N5S8h8Wj3GWu(3M+ozGi-A&jO%0q_NQRIuUfz_!(kh-Gfjr&KZB>j zx1-4zSRa?;p^p7D+$W-WAuYB=ZEjfr*8G^Ud`4L@#gcDf?WZ}*FUAF|->{ZF!DokY zC2MT#ZT1{q%#hH6RdXvb9hf!_2zsY2ERxAr;Z3#-bNDvb z!w6*GG^nMKhCIithl_eR=5ZdNGw~u`827gE40%!g{YEInC z4G7Px!@D>ByJ@%y$I#yB zeXS9`&^U*ijGN$z#sz$baWh>2!_ zaSl(16;A>GVB8GPGFE4MUuAG#`ij-zdEUHd)V9lJ)I%2}8Os9L8PZA4vbb>pFY9^< z%apD{yOc16ZGA6(!r$A%wgP%m{jF4}6l-oX+iIq{ozLsRxC>+QOu(zrwZ}q~&scO` zB<{;%Deb{{aeii1NABbAR^tcI{5rHY=G(4PzUwQ6PVV}VXZld4(5m~0Nqw7}ku1HP zi`p|RX8nDJi;W+)_DJ)HF>WQfcD6@|dnl}T!E-(z3O{dk z90R{7zjVMT_+?oAHy(ZkR{vdOT)fw{?-6>74Y3?#A^6M za6j^l*Wuzuqx=wbc-*1Pyo;OoJ%XYh0A-;;m%Mfd}_fZwK$DblmNja~PwGJP&n z`jj!|+4_;^E>>15ZB$eG^W{hx3TKoOSW|sQ&gAc7NAJ zn$GCeHwDY0a1U~gk5%B0@u%^zA^a(<@loC0aCLhVSao~DzFl+Jw`&3W?_sHveH&|h zXuEzc|L{QSnhqD%KB7rq=d%*B+1h_iq2>nlqcu9mf0T*XZ^4tGNWI8%K3W)n^W>jJzftjv;(>j8YdlxyFB&@wJy|$UX*t*Yrm}>g`Qi__faSA|wi$6+ zN@uW6iBPJ4r_$$z?`>UJP2HB#@63*y>aqK$Nc(NXKStUxzHs9H!SrWakNfKObYI#Y zO7Zsp)oir;Z}qGTDIN#ETRFAUT%5#n7V9u99S_jtV&sYYO9L`C1 zf%^qT^}lpy_Ek&icG32apNV#$t`U?ac@^SxUW;9PGxOl09J5Itt~i|^%_)>6&TxM9 zuhLI)8M$JdNKUn3zVY)p6}%JscnW2(&i}gLCx?~dF}X+-!$J`+3_oDLn<(SI`=Ijr zE|KakSo9ly`fipCFQBKYIb&@5mXEBguFZ9ylKWO6 zY0g!jXDl<((1D}1PVcm+yi(hgHgUXGh(t;D|sHpQ>Bj+IsXo11^x2Xm1zjXY!NhrQ0WmF~a#7}*`W28J|y!SdP2 zvcGW-D>YEIkvuMY5E}W(SdN6XU2-kP1$?IY(MtDOfp4NCRaXXU?1XyZ%h4}I+j97N zj4sM}4Jpcctac?(c#tkdM*ap?YE6vsWMH@Hg1S1^laN6iEBC zt)JnAjB~hRT);hzb>6J|2MZI!9r*I!Py?&?N^`h3dR-3`aP^o=2kZP}UToSf1JPUw zYg_CIuS8o4csMMLI{tX$3Vb%a3YrYQ)HsK)hgVZs_)d6rSp9G>yr%T9o^OiP4|={S zRzDoMEZ6?h)5ZtQX9hnB_mUod$?OF@8CG5DhmYYcL0v!m1b4v82;$f8y5EFNX|4(7 z{fUAyo#A(@8Gn9>c5+2qy!@mM#s zb<^aeOzB40-o#I5s?~X;#;wn3n)7{L`V`HkXmd1vkE($8WxNGF0qI;h=;0aY#TxU! z!kbZ6W4`Vj)8l(?_!`Df1}_Nrk$<=wyt(x7((o3r#`(%{1=cuU8}5(9kGLCr6+Q_$_))+62Gcywt`P2V4`3e<%dg_mxT&z*Oj&Nv))jns2<~UT z*F>-toS}IXdw)2GtM7Ee&tVVaj|Thw&kTMY`vB>w|3es4*ap+#Gqj)6*WbZkg88Xz zSGb2XaNBcBO*1?fytQJeYm>|k%TEq30;}Evt{6AN{@d(HyEaL8>|qSSJye!Db6Ceb zy?^$z9}x77}^KZOzB_mWTdj?cm6F--vgBpTUQ=e@}FJXJ+HlUG?3YoX>t7QRVtg zuAL~C!EadE3L0(mZOpg!9dU+zIvQ~fe`8$0meL(r_apXtYwIjnY5w!dwyr>~wr)bM zwhkdD-sBK+4Tn+Ws`dhMru1YYIljW*ihLOEj!jATLD=m=Oiy4J=PWvB+7$-{{37<< z<&3ty2k!~1ou9(t*Z_a+8U;mCzk5G7+s4>gK1iy=Qo4)Ta50-6O}bmOenTtd{ib%hwm= z@-_Db{71KHou$yy4t!ACm0JpSRV91Q(v`B*Q&)liw>IaH7L?{P`O8>zzk3*Y&e9#d zxL{cwMib_yE~}J!%%0Nysc0)S#2Ws7?(VSW0#CzPpZN!52P&{Kg*Xr4bJ%tk6RXmr zw=D&%3S;P${^dEXtnqWE#3tW9t}aGTs@EKRg|Wu^brDNI3S|$&pUN)4avPd@+M<5BA3nnBdfd2zeUfno zziiwHzYWV*4o`uPgvY@j!-vCa<5$KRtmoWxW!PRnV)tXo@5Y@e+xEiJUV%FrYwppr zc9oT85$yAjD=ld(`wH+esuy0(>?2@Hq3tTCwrg(ag=T5_BsTr+fDWa_n~OMBlNT)Y@YUp+bQgrLgLO{5Bzyy$ z!`i#K^A~Z>g(=l%zM+KBVfKkJ)z@;#T3h3@Uxs?pa&^!j|Q@$k2R+M%tW3 z`~B-^3b@M88^ZQz=|!0{e8bC*iw4C z%9kmRxT|JwI2Jw%p9?Z`lKtg4pn1JJwv0t{cBmKj`;twtj`KRc6|j!;I)17H zs>exK$Lf2r=dkWuJs>@-WBx zyzd|Q@cB6Q@nBR={jTJ(dEGvD5WlDN;iz28`E*X@9<_3GTlJmumi6g71eVgrqk7!v zdT)=$j*`a@rvI^WY|hz^Tizb&o_KcN%4!e)(w_$C+9L*=N;w)JFJ3Yn97gYJDplti^m->x@u;lc$rIR03kUK6{xfY*gzgA;uAHoNLoBCDPo#Pi1U(vzsVx{Z8&ye(feo&1y~%6C$Y z)0ZPZUe5jaSWz{vnoj&ijT@e;ar%@o=ZE1sdn?+av;(=Cvky7(CWn)&%TFP%BR`v5 z!}eNoxwwa1ez)`bqpg{9V5wA$LZv%<6Lt5g!@ES!nQe*8{o+}$k12{qes5fe=2)NSvK^+Q?Sx& zkqdLTN3UMkt`PXuimDT>IIGZiDQSc`! z8@1&lTSwN>=X3uqrsf?bw`=Su`RC9tr74|eei&EPeboJUxqhX#)$*T3ak$@><+u8q z@~&rf`UQT@vi5hupt)-UE9d>2^Z9Z#ootNV3M)NEuC95VoW4({k*jlmC085fxxCzO zx{)i~p5z+q8M*eGZOAo__afKWKhZv4X`k;T*Y%=)w{2lu>O9KN#W07lxh{FeqGuUu zS0l?HoNhp#vutUsK=r!{!47BGzfn*GzV2Sk>ja*`IwzWmJ%_9BEW`RPB(=Ckv0>(R$(2shjta{pSdc0D6MCMHW~)XHkJh2LCMAIklP_+iqoYn-3^hOmD> zcOZ_2W_@En-PZYeXm@N%KL5qviT%~ItWJM3rVBcHKezNL z-Jg+eQ8^~HrVAa)I=ZF0JzMI0`yxwIwTm<-ef)jNI@1%*|Jet0bx5uCLHmDDulEN| z()xd(_kNMy|ETSp+U4;{Kacs>b_nAZqxYMw!jhz&>;q+I)A<;fuclEMrF4F52QZFE zk-H@AY@ZZoSj&H2Z%coyN*6?b6n=;^y#JzSabdn;WsY5Ca`-fu{;2yLK2L1*Tmdfz zXV@pgOTamNk8uG%3Rk3O-g*XJT6*{`;~f3~z8OgY&*E9gveFaORP6GZ!JonE%N*AG z{^BNhxgjMN@Juv%=FklPZ2URg;i}TE-{h;_gQb)FSd_ulV;x*QcVWXUMOhs;v`=@3 z!*LH@9S(g;A8iaTtT^E#w_&cphi@5*cI<&4CEpfc+C^<7X?@Evf;sIPtq(%}i_0%= z>uJ(#<(IT|@^jjHUOGv;MP=OTKI1Y=nT}@6HjZ3>qdTCEWzY|y5738m=V7qY@#M5G z8Bb1}$(7`~e=-BU5%zbm?lqkpJOM9nmn?~FJ5?J+S zuo8XHE+@aCsXR9Tll$PaLj&}wrg@~PW`8B(DKO0l=l}j}kYdSn>>(al&jZB;%a2WL z7y2m}$Vh2-;%W2ma0m*|Fz11_eUuh7&fzX@Z^Lzf+u`M4vQTJM;|vEI!en(rSv3e= z#oE0Cyehn68x;yk5hZk2=%3|+Df}1g3zt^;F-VzMXYS{$4Pcu2qXKT?0M=zw;5t zI9BR>WU{T-dBJ;dhF$maK7eyr_wvLAd_HAAl%ANbhCh-Xz8(HpdiYUzn)L7+W>;r? z0)H+&{3SeHdbrKi_Dly}z*s%GoN)&CGS1{txbAAi`Ai@b-i{xsxl z(m0uhU#5#N|9uZDwY{bsR`Zdkd|rZ_x|8nYs&)f%E???if&0Pw-7BR}Gm8Zth+R#{ zS$2c;>bEcr;Z*-F zOS_;h$I$7f>l^7pN&fRbQGPKxwXZMi*TB+Uja_wCSZ*}V;5%WxtC7PG!SYeC=)K~t zR2Lngdw>1m3_hFf6z*xNgUXa{ZZYvO-4gyUen|EG%ubuyb;j@#cJ-gqo3P$}@Z_3l z*f%!gH*jy`Utqd7d?$Doe5X2()aF{wDJYzUPi#Bt%#F8J{nSytPN~(GZey{bNC&{} z@WUnxV{~EIzZ0NqZE=RMf?a)>v-oen6tI4;M&CzNUH+XS_0{s|N%e!RF2bxH+x5E> zO7dqZ)ivE>yYS8~apV^3uBMY_H#jHv_7`Z@q>jC%!TI{I&bc$V54?-?@IYAZ3b^|I z8}aUfT}3PKP*}&TjAhIH%kO39@S)iC9qj^MU@zM?d{)|B{*Cv7wJ(fBuemy-Gd0g^ zPS4? z<7jfNyO3N3t|PA_e~`Q#`3vN9Y4Q=dLimoHu1@N&FYlFsDj(*8F4%l7SQ;K*iz{eW zM7t99At5r(W#ILV-H-11eYHH-M+%O#A)2sV%8&9BuCWGSAEbatgW!`{k%dp89d#90 z@06P4FYkZtfWDCxh3U!C?M;ZAb`=bJquIl3`pt_y-BDR4y{*>IseWVWF!ZGQp{Ao* z)#IDbYx~(c?R%C|jgM2U?69b;3%sn)Ey^!3{ek~LuWf&e=?{+dvMaUpuh{-;`a>gq zscv2Wp6N%Jo<5wd?W%8v=?;%{t@*9HAz15=jC9`qINl{pCx5++6~jQ|V_+qQQgx2j znAtm8f3)%Orlt9_#qM?ccGEHZOe=Sym5b|;{wiCq*dB=Zb>ma8E49{Fqimg4p9+6M z8TQ+{pD}y~`!QC}D95or!~Q$=p5)qT+fB6ldGNe&6Pg_E2G2lJz&&7HUuW&vXW@TK z1N*g5#^mZc&ww-R+IP-`b6DeiJY2vU!~c?=pfx_vk{;F= zJX?BL+h_t@z}iOVzzOkaT%8MN@C0Hw56(=1 zyTbUq7*1%H#=s?T2CI)Rg>%?ay03I)N)L#5|A-HY_>hQ)M|@bsCq;a6#79MZM8ro& zd~C$WMSMcUBO}fu9t}T68|i|&3TYE1F+_@?HjnKOD~KaB@B@H#y6pFfoPx z)9?6^>TlLclKQA+9k=a za{b+{tiQ)>DAE^l+HqruGn|_&1}m*ft~PB%PJf2qAtbB6Kk|34vEmtouD$iy9ZJ_|eNB;ohcE`t@1()Gp}`~a*la+XQPO|XBT zxPV_bdo!%x;0$5o>@%}h;BSmG_($VLxWi56AFdcT!T$T51-uq^4Y+1_OXC^vU}JUQ zL2v__&hSX%F7WBb75E(E72)e(#hJnWo7%ZFbRe$7wa1ml8f2EzYeM6~r}VmrZ;1G& zh;NPfzKCy&_>PEgkIudR8`VF(8sNZO$Zpe-7osJz6UD@2Y6Ox0Fta;&Q(pmw!f^Hroen6Ypo& zY5mk_y*rQBe`4!f>!;6Z6{W{;U(ZtdX;j9I-nVhvzlh48R$GyNU9&ed)V4*STlnAG zVZIx_sp*4;@f|b^d*w_OGisW&Lkpj-uMRZy-`Dhi@yTO!PYpk|&}e^9Y)iXB^+r6` z-_+Y7()?QU*|1=(PyP}^)c%G)YWkr0j?Y>j`3&~%*krGd>iVL_L31+oNz>56uFp}O zTHDaJ<|vfadAu}H{{*|XU(2%XTa?xIXrW0POv9?`xK$gJJP-3vX-d}&wS^C9$B1>$ z)>1let=;4a59+6-D-B9Jj`7F)Ia(>NRiAVoBD`=03v|}T_ zGU9t9el%kF^!Ci$n(;i~D}u8{=>I=X2c{e9m<%&zmosE;bfE80%M&G4aIk+!_HP}8JQ_=WlDU299asWCpP`|@UH^KQ|Yu$1;;-AnjEAMTHR z0B5G}z;;vF4DpxPRd3Gn1I(&$UgLjHA9Hx;F4RRun{$tWO&y+Z&V3ut;?!`G?maF5 zXJ{6{zM$;bmNd>_OR28Ix?@LDm%(eo_zY=upK@$xeCo+F36IU+Pin$`!V)~IApQd0 zkg@~SF6!0$`CF@9a6jz*Fz4_f;{ukRRKJzVkQj^A{*+H8)v2WNN?V$Jm)ZtQ`(oP( zU+S+4n)8ThU5QEl{3HvX!hdN$^TDTd0K8vRR_}-S{mq7M+}mY+fp9n)4n^TPkGyPe zK631bQL!{3LHbP6cIDb8Y#Z+j ze=j}5?(f<*!k1I8ZyP?!T|1Rk+RpqP-l_I%=ilfx7KgF^4tPh?=)0VIzy%H-!QLo) z)X#(Y{0w$hhre6-7QCC4odWL+XB4rN%I{Ru55lPa^!BNLE>M5q%=Ieoyp1uE>X=X; z`ubgsDc;fT>TjjPBcHoRIv-2grb^zgV7e!^sk_pU1=WQIf+K!2e-<74TKY+Ocne!}~q(1F-6Cgr7Ff;WyxU zu{Xg}VAWN?U&D%@XDsP2#-reNca-+g4N2Yn#^V~2`fkP(8j{Y-!@(!Vnzdown=RnY zV2#gacsuwP>e6$YMq@pz83C)Tp4FTHD~2X`JiG{8z?Yk*8J-BMAM^$1`{2-5@Kf*! ztk+q?n{ZEJ$ly=m;2-|lxC#CRCQAzbtG~14SK!6q&e)sb6^wOq*bCO*EZ4iKo58ok zIXno~v8I4`GggJe;C|RM_(*sy;>qC?;qcB5@6e8cFQZQ~c!KG3_zL(B8d<>C!52xx zP1w6&s!4MAF<9+tf?tMJR{_5VD}KG4^f9ddufX5Hr_etc{1bcwK6AMJU7Yj41-u|E zyKcfQW1PWj!k0)7Z))}e*8PYrRTmd5x*s9VVBL=p=kU$O1^j^P*|1N!9)8XB@Q1F~ z#xD~+SGJW^;d|}(_7CGEJhRsKf@D|n=kgU;&z*E_mcd&Svowt?gN<`ob5kew?*iTp zyEvoFpZKTJI-Q&7Ui?|=6H+6ZGvNw+2s|Fn;4=;@=SubaiP*I*l*Yizl4mSu!K8YP zxoeE~qx|hKLn*wQ{Q$hb)%66d>ooa%4hBPeUxnTOyRh1ov3v?2NZB0z23EZV%P+2{ zUG46+c;E$Le1>BcnNm8`>h`vGGmTbuH?F{I!D>gwvJp(GKgi0`g`q9~r0jO)vk?co znx8|=kNN~($uO%6Ob##*Of0#yQ*st6fbj z*BajePlQSJhgn^8Ux@8aE31|FndXQnes-xO);x)32DS>zbEZEk(hJ{@eEPF)>8F|g zXhbt%4jZAp|AUDqq&D}IobjmxthVGV|K5RPGWi6S1+a_RZNl#fh?`iH=(l!?VG%UP zTU-_R1mor56OFsWCmHvIPd45V)-g({H++h5X-U!%wa@7>5g#7$kr9uK_~3{Sg*V5) z#;V4Ho_G0n*LV5E6_#z$9EUc8mFTPRoO~DT+7_PZt8gy0FZN+p&!G_?AMqIxUlj2* zuns{=x4}LyJrwbi@UiCq1=wSFJK|4Z-^ag!N16V2So_6__)qWUxtrPNhDXD>DlSuc z8lNv6TK13jiv`j6cY&6G_1%pO`?9d&%vpXoknw^4iSVk}*Cki#1?&C&4BiA@lSbz7 z7Vuhd0S|)LQRC6=46gxa@SgDem~;4GSbqzufcW+yp;sT)B+;!g{Aj1F5g;;UVyO(!-Y2{LoglWsn)kf_(y7+2u-!c|7#ve)yTi=i%h) zkz>i*ke?bpSCaAJbI;^L@{~QTDSXb8o5JTjxhH&XZ1Wg7SB?5l=`XR^Zlb!Y*K7v` zMR~4T7D>{JiE$EsGIp1rF=`y^Tvn-*aR$GPCcGODzXi)z0qggS{*azNoQ%D$1HRz* zVX`nU=sdg~c174_uX0Re@aJeWJ{sYfu+HUj_!r{|uu>b!Ho>|l!}tl~vdx3xK1tHd zyATb=AHnk(Pi>o|iy41{eJSHcZSb0uE4r(>4KjO)^&@x z5!Q8!IEQuJB5s29ef?RA0X~L%PU2=*--``@3xa{B<3V`u5x#`FH1=}-^S@irBtx0f z3$<-X4BhJfqw7E=&%yL^Y*&}Q>Uv_>5g!kmPUkz?4=XIX52((}Sl(Z|yqA!}ceDL; z+%90>uO!qvOON9xQ=u}YmzrOO-fS^lW$Wk?PpO|HVMwpE^{urhF7t2GsmuY!gfLru zT7PY{-YfMvM(eMSeBB7&NI!9HJbEH4?}PoG&Xe#&*5@?rd3X`l7x2sQLhvi_d&cju z4^A_l+%}nOCaf{gjOI_{g#D}i!==3fpWfU09`20&J~m1Ydw&;j7t<$<&u(58R#Kmp zRL*;1pCh&Url_5_!rduPpVeioTn%ok6Zl$6-xyi_kiH4`MMG6}70iRnvO%EVs@0Ip zSQ-|!xf0$3&4%hP_&`{ig5@ZfZV2bvC&71FT%$~rp&4h~2wO_;Fdb#XdG~o}Hneef zIed?;zaGBV*ve9*-1jwxqE*4ZE(Y1@-sBF-s!ue3JP6+%i7}O;~cvAjFa}l~C>)NR^u^)u z8O)~{d^CKeCU};0#?p7>Ig{$~*l(Aeo#t;AS(;CJ;46mZPMsZ&gmY)os0&AP*@MrK+bp1F!{{ZX$nbIud3f$q*(w@Pc zj2q!D#yQ;GxCvgvxPUX`W_X~n#>w8s75GTw3?5_L2v0Q5;pdE-;J1wn_*3I%_-ErJ zWq)|AjJX1LHO}A_jT_ly2HXmeQK-ED#k z_(=3mzzIH2fUkfvcr5&1>EW~Br=^GWeC!$NX^_4n_nh>wz9T2j;S14UExqhq--*@m zE3m&HJv0AI+wd#W!ym%0Ne}CK@C~?-hI-$E)%mmFcch0uL$CY5 zIczB{q$^XyW5&3c?Reet{J{H@qUnFE9HGuu&d+sX{geNo9yUivak;0WdYJw~(z%b4 z*AxFOt4WdG{kYD{TXDHapEW(*Gg~{nyyx9jg5-X{^!fjf^4?CBf6>av{l6w3lsxWh zOw+S8>;LrSR_gt~%6U6f{#7dz?dh6doqEjU*|q;im-dv$(7En*R%TO#!i=qIjbA2 z)Uzn(tc}Sf+nSud3Q1!n%y)d++>9Rc`*KdwvofV-`wXTZMEs%aqV}}(<#i}_rP$Y0 zv$c=Lt(W)h*0Q|E82kBT4t_qfb^pZAou(zs^wY?v$L_HW3oR-8R_HNJu`+RNUzkn( zZN;kn?SAJ}{>!Mmj}ec<&vV`0TK!)~T?m;pO@%3 zt!E@;;W({lBw-$*Q*@mzdj>yJ*f}-)l(Ba3m)#D(>vm%K0@icx9RAL@fd4esaktZd zN{x=YiyP~>+rzkk{k%S5$6X)$yh#$?GuWdq*C;v{#@-wId~I04`TGF4fosnU-UFUT z*P-yia7Va+kA~-kHOfwf=aU}R9H+MD@LAZ!P4Fcu3m5#?WUOc8H^4gWZieqP{v3YT zcn0jxnSO?!#2)&VlW*O(z?4+rN!Z0b;kS)5_%q`{@c-Z?>ElMY%@bw4jdaHR#>3#n zVEGvVuVkFVtHZjUYl1WQWP&c>&5U&|xP@^xANRcAGpI{9^LK-LfEm0$toR$@BaCzS z1b6}UEj$Je^B)gTCcq1-Z{dsJh2b2&67C{Be7)I$^H0ILr=(}| zFTq{W=%&SMu;R(!X5&Wqdw4O`1^)>vo&xUlB;!nF7bb_*pBcQo+q=+jaPSGQYupI; zhcBkza(G)}I3B?bOgu5vQc$DkmvtYWOMsQvW>wSm}z6I8KPO&)G ze6X%xlO;IEhBpRt_$9Y@<9r%!Bmdo!`p;o)qjA{3gH!Aix+R@;?{wb|_{5(6m-BKB z)+O2B;d|M)GFYjt{J@>DSKtEf3NH;OmGb`c7H!eP%V1vyd$u;?6<$uf4l%;&w;b*d z>;6&`yfeIle8PLfYz8jknH%Bm*gL~V!2hd**JEtL^3w#5hgVWr_~tG$zv!~RZ20sA`{`Xd1TPKK`C{hf>)_IEN0*x$)WHszfO z>e`ZeGx&Mq9G+}kz@Hf>oAEr%^>Ev#?7a|pKH~yj(m3gZ<1(ecGl#B%y^enjx4(UM zus#}g<0NPC_dlB8O|X;d)u&3S9gnug&QuuE5Mz~BLeq}=lA+kwr~Yc9Z#}u@Ks4_A zaQMAQ-`4z`h~0gUig7dXCU1vN)vNn?yUR#A3cJTW%D4%;>g`Nj1v~-!{E9&i%am?T=Us{&S?CMD zN2t{|n4i4V>i=|J%HNNjV^dv@;bGXv%+tmd?5`MS@MN3^4fzMIfxmPO{IhW*TtBJQ z=Wti!CU^x{p%?JFW>*JqYFvQ_7-#TqFj*ak*<>GhQET^s#u}4Hz`f{$M)-J`LuUA0 z6#dNyjW4CK*u@o=bBr_i3RwGHBg-|gx^@K1)UhQW1K(u!9KO$Z9Q=gw1o%1Qi{ZCn z)z!q(Y+S%!z^bd6^)@Ni>I4#&f| ztK)RwFR{gaex~U&H0QyKQEwxBsg(`=5^XQFMSWOd(eqPr#-jahF*>dhwnVGSzSJC{ zbOSyKG2C~L`%1qn;y(49!F{^_M#{SX9KH`fR2BBq*iYQ9C(yW`7melTJ!AR#)VK-$ z&bWZvJX@A+hJ9Nn^h+n~>dzk7<9fq9fUUyP&B|u5$~F*aBitQ3o3(B?I4--s=_}X= zL}m9iZp40^aSmT-+yqZFF5tqr8Gg%HF@I-Vfjd5DeF86U+z4-CoWlc*o8Y~T3-~1C zX83&LgfV=FaRq+NID_9bZiK%x&fyNvmoYTK%NrN)25<-ZXIbKp`)8nOD%f{3&fpQo zjqqv4Ieflx6MU6%0pD)i3>U@;ZFwGUt={)dQ$hc+aRyH}ZiIg@&fzvMSi9f`;{sm5 zxEWs3SoN+7Yb9Fmco9@ zB}q7z%hrg0jNyJ(9GlNS6*Sr(sg!9>Bbd!0<2>}247%22)-1?P1r}S zguPGx&dh>}g&6%oqCp6mDn!~3sfo#m!QSxK1w(&4D z)xLeOWc97KQ4jn#!j^)6^`HDRT#_RwI~V>Z!sB51Q#u#!PT2~4A-pnNQ1|6#Z=`UO z*|pKGhc$)@_%1m3A@GM`ZI^;|@mTV@D%cgL%4RJ38~&?MR}MdGehU1&2Cs&_8MYMK zqI&%J@;(}jb>pzbbxk)v73`{OKkCTfnb_60@)7IfW89xsR{ECvk&bsc_O>sTeb@tz z{Vaf8zAG%tz&cmTSXME6BfJjWwXXEDso9&c4>Y^xiXkwP_AJS8Sm{)9RwWmZr{vd= zt3!0pW@F^~I|6rM>qU%8j~i$33-J0D`#bQ4aDjaqyovOb{RZ9?&fuTmKGMT~!dplW z&;2s*3rJ4@U10gi;ALQGa=3@t3wQ&#zw`vUg>eRN3vVqwyoYfC9|UhJJqGgO02%D}0CL#x0Ti&`1JDJG-vh{CzXy=Reh;94{T_gJ48I4U`+0s3 zAcy@PKmq$b0PXO84eXXj9ZJRccfc1VvP%>*4iDH+01l`yGvQ5e9xogbo0oM zt*)+jy{g&LbZVbeK5cI2> zO=S<5LmggLx`XGS8y@-V8S$ZWC=AWyVFi zB_bXRPvy8rTf+Ugui zZBJ0!n7$`vr9ZzFz5CZxv`Y*9g{|n_zw`&2zGXbe{f+%>v*#8Mw|GLj$m|)P6z3+^ zXIHr&dP4TgTZzZxZ=~#vrf)Vs-k%R(=d_`21okK3tIW@<@W0^<`-ku~a1MV1Uk4ZP zAI92HonPbLmGp20zEOI3P52VdBMW$QSYQ*%WYN5Hd70qQWG}pJHxwM65Vk?@nYnt?&8i&|! zZbg4yO_N?!$mbz{}%b z`jugyTh=npD6_F~4sU5(z}vc>ICq8brrnBpf8$*CM|e*GdjTJby$9t~*Xi)R(!=K& z=kVpm1w0WB?Iq5~VZA4;w!8%EJy^y627I6V!|%iQ!?Y%u3O^wK@b@r%7_PnQ-{5(^ zH2CTSKPcupV+mtji}WzowaB{0x)$l{dag5uxE|gIR-C#PIoY@gzS>yVCC?i-!yg&z z8s#VB3cUE6w!Pq$;fIK=5#9{mh%uw!e%7^!rS!L#9FtV@ zvD@!@+c8PQd&%X;^wgbe_I2N@@qQ~-nO1bh9K$t3?QdbgOP^A5 zLOb-H_-&d?;A1JPHs$ci#s#eVt6`harZL#Xo#B1Aut5F;t zpZnGN*IEA++mt%$j-f+3&{1z&nV+z4%l6F>{t7?9T$#fO^NjkgU}-RxLGLj1q=Pc} zg#&CpgXc%{r{+0$aX8G`)N}3*<-0T*&!1duq3q7m zuqbH^cpv!~^gi9Hl<5ETO$At{^euQ-{ICte-@Y56;o(96?;b)#En$>hYNYzZQPN@tJn^G1k4v!N$55xtFo-MIPaL)d9ax zp0S(_e;^ynC9vMhD&Xol1;^DJuuqW&z84PjI>*xgz+oO)kmCnTcZ7G?K7!>x$Nqz{ z-eH?-a_L7eLoE!4V>0aLDLK3xcI|@&ysEL@TU*;$@2zbFZ$Mo++!vM~J&g6^e+FAh zAEfQhQ%5=`>BkX&0w0SXx;tF|#oHzB^RZ}_LDPkXo(q4ZdP!Hqx^BqeJ76DskHMiW z*eAh?S)KH@aSl&~)#s{whTGY`ZQr%`>+svzxB^#T^?3&OFm8m`GS1-*Va-!b@D|1e zyp3@)Jj6I*za9a1mrwX4ILs~Z1mh<73gZI45tjdE_&>%f^qO%6{@6H!zcFrve>cwI zhW9K^xSMeSuWZ~5>s%|$xopQRj4SYV#v1c`8aKj+!WxG;Y)QSFOl4cikJedAKgMN+xWuJp!eYxq8$FhJ5ura+hI6JW6k3ci{7wO@?ul{8v_9^@i%(n)QDgp9g$nI{LnP9`K#nez06+zOQk^#Zeocd8_I;of-M^c)TC} zS1X_XT;qng{7=~Tqfc=kp79=G{i_;IGOoav2;q(uvCxvvQ1vDtk=6D_OnjpN9=wWCUqJre(oSY&D6zI z(2i}G+8G-g#e_=Me00k4a_wHV|_ebR(~`4Qg%SIfdm zlx>%h$1!B+!(>3#2X3Q@fz%gHjr)r!uKwH()|{cVi?O!FJ}`4koyNn#u#P`U$HVRM zlfh%)a4ZTlpw@|tV!ZCt9Jv+dA&2ykZKBIm>XZeVW;cEyDHu2gn6yrd8U+oqPFY&+UA34K%2l_#1!h|%!cX@FNIm)dzd|k*Eep0w}OLz z_`}o7zh~GC?}%OZVzhDeTRn@>4;g$QcHIZe;gN7h>;*i^Sp7E6ID`KMFM%e9KN(I; z(!&>HufXct+u)_)4E_(isPyoQuwv6S!DN`z^`r@&28X{{0DotiXrf6KQ#uuKSv&y$ zrHiY+GNlKu$Te;&nkCV!-im!G>|0`I%!c`JM_6->(jLY+tiNlpoa$-Ay%ysPJ`j!U zIXv9BfR8XvQr_8w)y51SZQK_=6Gj@Y+b%OMu-|N~ZS=6Qw$by(+D7leBz2>wbXmnm zqKm_R_gSe)ezJ1yKQ8yXg~@S|tYCSs(jLxT?_RRp2J+JvyDG?7wuZaXM~Y(z?0vKk z9L5cr;l>4gys;WM77l*k^NbteE8z9pmVI|Cyb2UB5{|0y0_JA8c;hj452`d+YR~EA@3#;A&UK z{Uqw5c%Ay_6}W?~e#e+YMbd1nW8o+8D)g<|`L*%R@K44U!+#jR1Gk%IddhS*-Wgup z_+q#_OjehnUkBc(4j}c0X=~j$cq`ar+s;_A4KY@1yTf#4QeoK#mY)nh*qO0$3@o4O z+PJ;C2P^;bc`_QYe4b{k_MQi;?G^YE<3{-3Fja-~r@!;*F}L)2BW2l$q3oTow^4r| z%;VAhd$mhtA3{Sj!nyU|)%60J9%!_`ya%t#23GpaID@~3H^835Z9gr!fER!_mY%Xp z8fWmzaBu11Ud9EynX!V}23B1e+z8804j%?@1{d&g@aC`@eJZ@A^zb=wKk4Bs;r`OY zx0pSlgC8_|22X+qN)NvQZzDZC)$H2GzcqUX{{hRV_VKwsGd(;Xtk{zFjA?jVID?mj zx0fF74(|XL@S3ili*o{aC+Xq-@DS(-2T6Jv&9M;$AbyggvLY2>rz zdjBk4pGYSkO716qUup}}F$}7gGOp7+tK@$FE=Q8~H9rjR|I?53Tm6H2J} zU#*H=9d_?MW>4W8VC5amc9-!k@Ix?tQZpTX3FaM!5Z*RU*_&;g!CxBZ@Q<#iVJ$u@ z@}{tUt3rMw@VwVZ_BQSS2xb!ja?6K<$8K$SJ%S_x*i_wdiZqL*YJM5>*1SS z4?pO7_+{5Kc|UYL{FUor3wSU3PjkM^_B$HpPk26G_jzT`w}p>qJf&I8>}A@1*=~g< zRX>=$0q$&^!Cj4~!fU})G29n!1QW8Yinz3k=?)++lQ6ol*Pc+vaRA5TiK`Gap5l~E z<0;PAG@jy|P2(B#{Ly%dQ~qc?#TkDzp5mN88c(s0r#Q9o6lXS`;@rkF=;=+3XVAkM z&!C4jo-mw!Hex#VWDp32PF7l~kQ@_DN@!@-~-yY96p;vf` zyr;n_JQEJ@uE6iXXJXIckKwc7qH*DJxoI8owa3pjesUg!T)|_lbrzCSOP1hbuCaqrqfEO)1y4X%qn%g-wIWW2F_dQSKCY3sr=H}qcM$?bE`9t6KeB%o(CQG8WJcPCl#i-rhR??b&?bZ;3V(-PbUP5Pe6_=c!+hq-fitxrDmqMLzuvy{&V(_w7>VN7Hf79g6e3gyp^k>zG{u zjr^C{)`-gW-=xCa^iE3(r)d7OkaGWx&CBhNhOPOVOO2Y_}Lq#3u-c0?VXBU z;c$2woWkDc8SG<}Y4D4XTx@yRO)iB`GM~Cmi~H>~?B2$>4<}*wKD-E4oz*9n z?Kqn2%slzk83%3WnVxbx!)I%t>v=Zl%tNL1V703YNsr+_yvqa+!cMj@F^9kd(4+_( z;Eip~IS?KOr^rT`J%dj)&f(MG8|A14=Mng3IEAl)Z-q1Xepr5T_*wXN=_%`dSY@T~ z*YKUv!@tA#z&Tw1rF}<{zUlL@C(wzi+;s~l8!@o-3mVSc&kREP?Rb~c%Yn;RW-A-N5`*%B2*uUGE z!T#OO9QN;a>R|QncBZg@w=;wNyPY}g-|f_a>fh~5VgGJt2K#qAbJ)MzsUL&!?{@09 z)cm`h8SLNf%wYwlb=wowWvH4I{8v?9Zm6&+!E>B?z(}l z!ryJC<1lKvwsGBQ%ryni4<>i~h2Og^O}gVOulTON$TL04b06GlewY?DlgN0?8I|{9 z{9KS?*Jt6%m%)pp*Idov&amdH)}^L*P~q;_)n=_rdgoK^(YoaCnl{2s?`GqB1N72l zu?%IgoGhW!7^zYz$o0PZF^b2c)-*0)H zbRB0Q`N;AutdG2}&?f(lbow1q1yA>VOvxva&g-`@-5k@!$AQ1MEkB<}=_*ShPM>S( zTskz3?N?^=x#Z>gJ)XB8SIKD8ioZ0D`|khbOZnz6B%jZ}k(TCl@V-#KZ!K+Meg1=` zNq1Pp-y6s6^|E|CJ@ztvU%r0&i!$Tm{FlGb{T|ilx`=->)?B5m5WEft*j({-l*Hsu z({mXY?nN6|^A(OJW@V2- zJe+)k53YL@TEi`k+r$4b?f|zoE|eU*cNkHnH(unr9}OW|21-dQ@@%#cdu_#6(x$?7 z$30i^d3?m}BF*(t|F)0p>vFAWAz3`KpB(A+8K`R(d5LrULh7~@c~8XNMO{lL`?+8F z#$(rWkCg3P_#w18e6g`QdK&D{H?D_Od;|8|j7Pu^8y^8bXRPnBya^M9YlV-Ea}1vu zYw*7|PT}8Rz001#wcpx%?F{l##=6#D0e(dNK}DLr>jL}rM+UEkhD*zEPuz5kf_)wA zkC9hv=mzFf*Wz2i>IYpP?*QM!q|!CncTE@t+{exEe(UIR$SuHWY! zjy=?$`^LlJFoY~d`u}9=hZOdEg;%4W`lx^4Yp`zy=kTp?Kb23v-V67KQ+NhEKzjIDc#!n)Yw*_6Q`7g% zp2G9Yp20uE+e#0&`L1A9*6(>z*zb8V*zb9A*zb9?sQ5ik3i~}z2Kzlv4*NY%iN($D zc~aQ#c{14Vd2-nAc{Bok&y&J_&y&G^&y&M`&!Yz&7Lrxe{vy<^RN-XR3fJ|j%m;db zK4)KJq2s|qa!5s!=zsmXy$3l~rQaw%ds{ewg9?YS zSDMCNVIpPVH#}3+yZ65Q=sBM_o*!BhE!1sltU9?bzwYuFZPM3t^k0+CzlY)12(I^7 z`8KzFRJbYMU+K4q>f@Dk{l;#<@0O<1c=t5Be-@x}2S$FpU4ESv>$Wl-d78#V`L{9q zl6HM^3H_^ZJF$lG>7u_&?-6S-z9Xh@N{fFV=1FM{VwQzcKVpsbUc{Q-BZ)QF&Lq}h zI*nLG-9@bV_%yL5@JGa)mP(8KP>k_1#2UjM#ETJcPP{nrF2p)khZFNPpPE_*Qs**# zr&K|oWvl%u+fiu54QwYGXRzK8Za|;IK3p&fpv1f6#~=)-%&? z$}HnD{1J@1@a%6Myb+z6VgDWu=UmEe@ni8F zS9Q#j9KY+!KkU~DDzGh@;0M;ZdwypX7RYqU-6asji1_bv>*=)O6hVeUr~)CGS9mA1061 zrd2Wccq{MI*mom6gaU9R|E@YAq`WOwraichWOI`->- zVyw;QGO&)flx-#W6Xt0H?CWvdPOmQwYwPRdAhZg;M%=4|wg}1IRtCe@G$!5_B*{Ke zx@U^h_p@|qw~u(wh+R+H!Z}d=<=yrY$ z!#Vdf?EYP@Nyg=%2%6B|%dj6&sblHLi18D?Lv|w?Z`57zs7Qmm&@Qc|sZnGliB z9M=E(Q=LmprVpv}#gv=E^Wab)_$T8W*11*out5J(a7w?oG0xz{;mhS8?gXnXCC-&A z!C@_fd$=C%2TzqA-U*(j`XD?2rh4HVdMtbe_6+;UX3ybsjCC<`2^_`|z8daM-Uj%< z^;lo&*9^WLyXug`_nW>EegY2VvIe~hUqxBE4|oT@M&-h@;gjJU_Wzxz39J9fq~E?z zVgG*-DY{S5UoSn|xA2X`IzW?O`P>vvb+8s88KX1;uEKjci=xpyRM0iA+Er%L|6tbn zGKKYjn#CDxAz9!2uuqLR|B|k}OpVgA_@wROUdj7k8uh>KcT(81ar2ahxMynBpvH>KqJV=BDQn*~#J)A`xI zufBYftdyKqDZA;M=DO9K@O^fYOD+Gx=10>+M0c6#lt;fcXdwx| z8&&Kiny0%l=UF~#QaHZ0)w-l|%WS@0rSQS%HJ%yU(eSO5lfz@-+f^oIodMsdH38QD zg1QsCj>pN^@0K36kX*_B)!3Ow;rjYsSZkxgqp-?K*GMke|J*`yi|JU4n#ysV z)=q_3e_K>;k-A{|9Z|WS?*3vwcbN`Na&Lv})c*>qkIysD@A1GwqQA*>^uN&OoEpQu zL95?*SH*m^gTu35giFKf@|1j>hhOd~JfAy3|Z3&z7)!Dh!4@ zlAgh>aqiFCcfua(fS-MgRn|dpm^1Lvu<9@s9t(%M!Dqv||4lJmWcr*%Vj8UeXoPQs z!?}-1dJnAY_A>kk42JLKK5Lv|w~#zYU1ws~@ihSB2e7wg4(x5259?kdNAnZ>i24)9 zEq*WRkiua7?Xc92$p>kUWg9Uf5|yO&LSiQ@EzGI_f*P(s?jsaNR< zVpZv7V&+xpW8#j)-xDuGocuvMi5Dd<6E8=+ftAq}manylK{X_`S34d>RTF5tjnK?#5ypi5bOESG-Azz8;RQ!-$ShDLyr>c{_7cHJs+A$ z%;isMHnHxledIFGsu?@jr>TChknU6Y=uI z`x2Ll4)Z_nLwJ2?@3KEzb;r??aZ0l&E5LScrK8!+7n6VD` zx+$!2Q|J$C%rrgf&N!hsPq*1G}a1xp`qCDKIY(Q#oUtJ zuYFVP6d`%uD?)eb{}sCZ#mIi3TdC5^k^R{Uhn$+Tszb$1sqU4Erf#wyWG30j^dl<% zL)L$_DEw60XW>i!n@&E|=gr9fXLfAU_9ls+m;85t$ez4a$&*~B1E~nfduCUD?@RyR zwu8_Nr(X&69cahl5g!-vgovj^d~L*cMJ$J2o}P25JiRNW@}4l=Y^xWghk6~bZE+mT zvh+`*^gnT?dng?zpIG{5QM**0r|TL(?flMkU!ZH56m1-Uy?w;WM+oC1-`+nfm_~il z-MByL>%*)u;oLD0cKuM}GMfF3Q}{L7E=>blP2Yku_%uqCeJa~X)93IB#*OfJV-C;K zB;zvtDDy#iQ&{hg2mkQprpe%&jHkl)8|Uy-#*Of6#u})%jmz+Cm{9u-{q_UQ+8w@& z-fEFbd-vnMOXZfeU1jxw+nS~U_PS+o2keB}@9?SL)leT!!q63aNP&A8r*JRh4Biyh z`66fQZ`=rPV=MU#JgcoXJJ4lAhNbbj&vk?lz|-fuo1QtYpqy#am`)?CckECi1_29#IlBn!d* zBYi4+NsTT--QpEaejt4|J_+F%|2kqBNeTZq!;hbzE&UJj{b{V@rd{}zt5UsK&v;lD zYsxI-ci9}5FK=rZ_BoQmo%-^J+BOjBI&l$B>=~>w^`*TWwvZ$`=@%iik8(o$63XgC z9Wd6EvBjU^d)+haFHj$y4|6unL53t;`>b5lzqC5BdSe}8s={wD1fQjT#8juWH8EpX z+KE_YHxO(74JRhl)>i75v^FNaX>IlI28A&pL!D_n_Vml-jZh!?Yhz5kn*0qcWT6g* zNn6uVqo#9$=8T2VZ`-h=I;f2nl9o|fi&eNz=PcJ~Y%Byn+LxcQTW!7Ef_>TP-_od} zZ|eKQCq~R}m|u!Ju2HPt`W*{GeFrPY+iVm8-OZLqYrKN;D86$4!ne=aM@`oy@~w5`4LVqT?(^+=)2)bZ zrm>pZ81bBlNowkwS14S*zP0pKqq0I7Rqf?sP1);LL${c*%33z!l_Hjy5XMtEHEx>Y z7J|JMJ5~0&p7`%>e$-Fv86SmqJL3WH-UYV{wPOEKCI?x=yEY?9+tAuG#+mk>;>Mco4DH zuA_-Ht{E|1P&$WL$H!!1P4j8QbZ_YvVqGFmCuW&1Jw~jize=ow;3H!EhqC9x3cnMJ zTK^;X3TcbO3f+iBDY5D`lvwpToLKcbgIM*NMyz^0K&*OM2yK^LZLeIqmg@RYsi)Br zYJbG>OU7!$EMwKX(U|Ls5O5gk_ZfC+zadt=ekInuM=M?e!)v&2SsWf9Cl;t@(|ZxR zZ&c_|L{0Bx7OgJkpd}?+;-e$JyzJFsg-wgHN`r}22MfuUPAolJlXqXzcj7WRXP^#( zeNFxsH=_rVo}nL!U7W-Jf(H_-A>&~^LrCFM(2tTHo`_xjoWql0jcp@59gX;F_)@d0 zayJ{dhd&rvw66?5j9q<^!cQ6Nx4vFB9t^)_ybJuHaRdCh@rb0f$als^U~kd7@HrZ8 z39FAYSpQe}7_|`|2J4<&o%%1hHIpQTmqdSvH1G=MrxET3tG#m;DYfinJa3Uwi_ML{ zgts>S3La|wHN3C!eE1;aZ{ShJ-@>ODe+Qpu{5^by@elCr#+vx|8<*jy;A5$C3cm^; zsxg9ff24cV9DX0Wj)9y964RIrYD*)0AP*o$qgQ8qil)0Xy}8GMrFpt{i37UeXW(|m z&%zyypMzI2ejZ-k_yu@l;}_u}#xM0QCHot{g8fM2SK*V4UxUvuejT1{JQKdc_zn0L z<5}=@<2T_M#&5yT8NUs`XZ#NQlkvN7+crfT--EjtzYq6-kDz}V>67*0a4zA`=J0XY z%ka+dCiGRxLyqCH)8`p{I2`&M&fw$K&m4TG8>f9Zc3@1UY;(>r@EPPS_2W4={IZTa z_#Su+c{5nyC^(1j$9{r*ZozQ`_X1OR2HX?Q;Ah~Iq=ywaEOmH>u$A%_A=w6g9WBL& z_3gi~!dJwi--$VFxTXwibWIu7|N7MVNMS|n;xgN+Fw?1&vaM&F!JC;Thj)ZI1(zDx zbYHDCU=G`d>+-%8b@>{$pdJb7>PyvOFY;mx=gPPaN1FdKnxluqZ+(RrT`zzZX5B zc28^;lD&+nYSTTA_y24}&qsMaHr^-7zppWcH60^yewCwAf402CqP+V@c~wV+>b$bI z=So)nRfcum)EraLc~e|w>x@R6vaM>|0PDOdd&ai5*{8x6jb|>8G#taHzDZ~Jdj-hDHMCzdY{>yeiIJQ1*mr;d?|JfbOZD3TKGuHIs(>jk?Of(1~;8U z;oH$@ZO>`P1IBuA@8`s{bE(CX*iTg(v0F$+s0~F(e&M)QpbBA~eILET*Tgib)N;|{ zI(BJd9mA^$8ayEIyBzP^&q1nX&TU0aN8r*5j~LZxb^FrLT*$ zQhoa(uk_0stE@F6W>Z!Cv8Qyz+3Sx-DK0U?jbp`QitGwZ7Wxz2dFd63+Js-E72a)9tTf=Q};qo zWfeckvE1Bf-Vzol>lD+_Jx%MWj(r8q6$Q0H!Q-uqUHwhQ{XgXQ>j~u_PyXkvO|r-5 zZa*ic*k_?3)T&N%VCoy*FZdNc+v-rqixCsy6io-?3|_%Fhc$OJUo`I&=*zZeSbm@5 zhuOZ8&oV~-KRTtK6KT(_aNTfY`S*Tv|2hUNB836j_mr}@lxze&@jJ0WKM5p>AE%%>rlN0-W=8%c_#H#T~am+$u*>1gCCN@GxU4m zP-_H_7^m>t#u+>t#%(C~3)$xZBc!%nDG``0o*DTbb7D|PORUC$V0*Kh4z(0V~X zw~}`N8XZH@Y!7=sk1$q0kAW{oE6v4&xjuw5_&7dm8w{&s&M`lF<|vn7{3d1uB^#wc(>#vu3tiJxX#_m`rP_~D4fGIS5=1$!>8oc zJjvntu zvG*?Y;kfP(`<&b+vM-4-)Q!A*VaG{077l^kexz|3jqdq$9H;QH*fp1AkH_M4?5@#w ztU{ll+3oCtr^0)34wOA-I~P5&@LbI`n42_Z_)0W1DU{`TrSWo8*vrjeFE@wpG5=aO zPVL7t67?IQj%OsQL(2978pa~@)kmJ=o4MX`|+ZCQ(u>AxMuWqX=&p!`BsCa z=?QOWygvK|{#Az*R`9mR{(rDKl!GE%ScE#Xi|SCbWO4jzo_Bz!Mn37QFt?Y(KEv9( z3jCPy2Jqv?Tfp9~onXxYos+!}RfYLHfKZ>5+17l3`(G>TK=c|HxyoSmgTmRy>hnur z&+ErXiv1ewKHuDqIsC?$>qm~`k%^Tx9lg(iXJNHh;Z5_O!k@xdV9(&MVdc%??_kYU zwd)^CRmQiyaT)uv#wonAaRaP#jr?TrTG&-*75(^5MW2AB%_Bd%>|L2x+hQlwzMu?6 zNS=ca$Ij^{ynCnl{H&#`&ove~+BUZoej4FHT+4s z!q;P`?WfXrrH3pp*y3qpvbK1|nBrT!WlTF;d~QtM7T?1@Ui!Qu)CWfzyH_Zu47Xmo zMd>Bg2W}7hvC{?iIi};zj~9)F?8>XL5U&brEW|o?wn8t~vEyTr!rk%deYgp%F;Y-p ziBouMvuE($#yNbH>uJ26-vm8;Ja$6u8|Dj6UWYHiuKA<7-Qam)J>&MWG#|tncFhNI z4&UQ?Tt5MGyoP)Dc+P)--RJz5@N48v$@{0V{4B~pf{{jJt$v=VvfxhGXQ?c>t7$Y) z3PdeO5UWpKMWe6|nm3Kthp#f;7}oe6fkxj~^zrp|psdV!TzB6{}O)4_!szL<5v8G!$*w2 zU7GPRUIP20#w);28ux^sGVTjMZM+TqjPb7U+s4D-cZ?5%-!(oOe$V(s_^c`b z4}VRp@D?opvgesPLVb}FohJ9IB_0d>&fjPB>&=n@seu}PVr0E@LHZjd-X!^sNZ)Gy=4$rgt42QRc zQ|w2cX{Nktg{Q{h5^EYvM(4z4=(3PTmq- z%62(+amJ?SDB_&$dhFjwPd7|AO&Yo+nDp2vgxL->VLtk2(P~^)#qQ62BzX(__oSzA zBm5(r!Sl^`4*v=NY-O^m(AMV}oP4J=0@Y|Le~{TQCqGoUZTFxIf0CcDw_mn$Z@2l3 zQt39+>fT8AWGP!24Zg#iS`D^GcEJgM61{(Efng}-rTSbuYoaHFdtw10(LIcXq(xJW zOLaTA)s8dWtIALDx?xBR{@tEb^mQSj*iY`L_zz~rI{48sVWF;7rQ8KHOSpnd-`Zw0 zoN7JP)m1cg2fLNL{VR2-8x`4aj`-_}W`R2RXYEMq7OVIV8jhvn-lgIv*gv+us+dFf zH+^nYt|TPWE9E9%RJiWj3MV_jy^FD{*E=Z+KEF2HG;nE4OYcM-cQMwSinY3@(ik3W z>7A`T?n~>B)}mu9y-fOq$nS;5s>3xA$7SgEc2&lmmcFu;!TboMIeP->Gl;LHeovdO ztLf;#uy(wUU3K}$;_+)2b^FBh-O&FQaa@N^eGBcPox*&t?;iPK zbx9v(H`x>J@RUhe{GWoxe^y$R6nQndaFP+kLPE@=s*ZW#e9x~mAQ9X3by@vhY z#Ir1YLju)5= z4a6Ipu3zLIbEzNpjCg>h_qTK(x3h4lc8sxjqQ&P~tZP6*{Q%2{IgsveRBu1Fb~XQl zqVko~bq87c)})UyR{JIxd;7=}#!K%AD*t3l9~}ABx+uSjueS80lh!O{uDz=F|$7zPr`U`$os3>Za>$#cP{x&nlg_ zL47FQ7N*}JhrZG=wiM|Hlg@2VX%w;Mu0C%L_1&ka?+KQF zKk}bu?CYPeDO0iQGxqZ>uZ~Cgy4v)^$$PhP+%HHh$>*MSGS)r#dZb`okl=9B56^+U0A?r}U53t~E@5r0KnU z9V1$A`&#-)(zi8M8+SL>d{yvqR{v_P((kcoJ{)ekW63`z@})dpmjCAY*_M91)x~|j zKDJnQE+@T#d{>$7geu*$t8iUNx|e;o=}tm7BVr^vv4-3)V;{%9&OfT}tL!U&-SlIt z%Ba@QG2JQXzBl$c;Pw9l`$hP?g%5UBRdhe7U`)pH2GykUM@jQhp`=vUiDEuj$&T>{gdv)#3|c& zH0%bA)*OE>sC#a|SJShc%P33wi_y1K9pKyGORWxi|JCo|9>T6M&Dfqbo(lWDU=Gj1 zP7$HpPfUZk)avBoxo@hSA|$UNbiTII<~sGC+anJBpf;-?^vuITuumg@=yNmTI$R^D z?W*(U#5(@xQzt_GjaD9+!y6~+N2QFmcrKHrJNt`tDfBm+UVi03pOIb%wI{tN`^%W_ zR%~k+Z%@`ujdh%CAMySXkAgYJhxZ636!y|Z#47n(V#+MtL#&2AQ^Z00F0AkwvFI0K zY1^(4?6pJ5umX%NjK}ifItPf`vs{iEyp6ZpzO342u+Qg;Va%T|(n@a-EA0bfjrlxc zb>7d!%%xJYVmO{lt%-Gyx&*PtwG(kI@#@5_iF*-i9QqQsA>NvpW|wv)RuhI3wc%?F6N#3(&U%%iu`tHiqAd7oId@_1b`#Q2V0wE1bM!jIQbV%;QoK4k)6~M?zhLY=#d%7IdxT z&%1O@Cr%|SLh>@cw~6$=#wmG!>}qq$b|6f@hp{;pRv1StI-gi$a|JPV498&X=U(i- z7VCN7Ov)^y&#_n4M?)L58Uy)!91X_soyIreE3Gfyai#(vz*@VNVXo=b_bpa7JKWkh zg%>r>;0`c#4(%$#3SEgsJ&09@Uc{={#zh>S;pjPHq2@Uk*B1?>r)=u`SEyqKTSz`P zz(>>g-C?#77QbojVmEmw;m~gChJ% zKC0wZ6HD@|zSrEh5bVR)kv()skr3=U=498qx)$m_sranB&8@Z;x}MXIhq})y`UQM; zb_KUUUo@lPcE&^9yeiFbQmX2leBo+Z@{Q>k$EI=dF{L6QRoBxxrhJTbT_Meu%mqUI zw~>!I^!+_tm`K07rGIbfWDDf)V`%Qn!_lVuG4dnFhp{+lj*PeTpDkVWQky)zC6iZk zsHQKUPolZl^uNN_M2tj37rfk!y*v945~~im>He@XT=z2e$4P&TLb+Tk%`{zDDB1VA z{MY<^L9DgcubJkXKGDKTaKF|1cB>S9Sz|i(LQT9cyIXoI()&j&pRU~p`y=chVCk)+ zGM~ZzDV2Sl*x%Ln8vES!vV0tUTs|;eSF4kJ#>d-S zOYat?>)6mSvJ3GqmcBaa|5&wXU)=xuqET796L+xm9+5AtS$xN*v@7vSmfkZ;*E+1Z zyc_XamcDkBt`hyTrcEt=J)eP2yF)23;i zzQOc;(BEequdx~{U)Nr+^v$9=Ykbr{8n3r3y2!=s-=0QJC-&pC`o4dhe|0-9G2P)+{@t(lOLe|$EZ>n;{ym?!|8CQb zME6+4YJ<1M&j-4`&=|jhPGkQDu|})W@*PuE$2gzH;%CdZ$m&J@cEp7G(c~)|`#kgh z?txv`VP5ZbO*f{hUG2yqot}#;?rXXe(G4-y81G}O_9|#Ts1|;$bGW6CC4F3^of7el z#`2d(EPp;9z3qOVqU+WM(r21}Jb6Df)>{3WaeTcZe;vCQ-@{vum{5Nv+EtBpjP#Cp zfU&Mk_K57tNdJd(k6&B(yz%!cKS_&gb-&K`|8rUrs%? ziL`qdtM5ic_R$fa4l};tUiJLKUb>W6HMx$MwwI zn%HlEQ&{(-;tbvpJC_KhoUM;>BfJHya@5EnW>4XN^W5@A@;1Q!E=UIZcRF%-7xb!6 zN~89MZ&z9HY1HRVIEQ^))KU6wknAa}?{SDTSOIr!Rab>uEC!RCBEH#JTJMKgds~zq z998+cgY@CllTdqi)(r? z9R3UkT8kUuWv&kW8YbOxkMaBuTS{g3z~`eX7uJ}lZaJ(m3H78Q`=db~#_DKejg`-Z z9QN^7gY|uN^;sD{f63z9n8H3^GPvnCk?BkY{D)&#d_Q%tkW7#GK4YraH0G+8LY(Kp zh3M3u)w+ixU6ES!U9~PpH;#7G%_&R2mHvc~JXfh_U6_YvA6#z=>L0!XQtZ~bFLsj`qr8VU z$%|uqZOSFozhWBd6UN`?uj-{S-O_ZgMLPB69@yo+`l;4vLV>r;Lq@dW7#$xqY51n1@$JbM;576UoW95kGEv4uPP*Pf0D(Q6Q7CbI$}co?^dTcpX$G` zd_SOl#Pa=V`RI0L0e#ZD=yT8ahUr=`k>YpK42Sj)q6#2TZIi5c_KAH=PR6=+GQgZEX(b&IyuP8Me5j@W zgPkKI9>0)$((64ftyvdYdK-*4N7`o!uKkHdy#o8W`|ZMBnnSGGeMhWzmwFZLt|wNz zmmwz9YVBM(;&ox#UsJ|D5MJ0iJMX*3tLe);{U-ye;kJ%svynoe^-7S~O*^yQoJb0z8Wdxz<|M1JJ> z8SFaNUa<5Pqx85w?_2uHqdz7Qcm0=^zK*4590yFQX!1r{Nhuvr1VKHQB)VFs~i7BTfMeMU@CrC*7)KD1ds?ALH;m;P}c*DETU zpzD}{7*lv9G*9EC0bU)ZjL@D~-*c>;^U!RLMr*6|dRM@|^Xq<8k%3mOK0A#4_`3xu zcGqX{0qA`ViS_fh<(ik(T6$lvrT4r!e6p2Q-9~>$B8~J7@HF&lqt=bMEPoFq#qRHc zG{F8INCtbkQ{nr}PZ^H=#C_%M&CvKe7&+{I8sS;ZwB4VhrD*glaTnr@&GY8)x6Ra{ zxxD@?MS0y%BfQiG#rrU;!f{*tSyzhPuQ4*%{pYaPO%u_5rtmuWR6m!|{NMU?Kk_*k zKMR{12V;K*-znP>u%5$bY@RoVkHyaM5RT`#4sl-BEAIu(lyxh1J>yQVeNebyPn;rZ0{In@N8J0E#z$ON9~=9ePMNu>)`r~ysbA}xIQj7)~|w|WgvWa zChn8}KVv<}e3q$Cb3T22R-KzZdw_e4E8aV6guR|~;Dhj~{?wWs`*c4kcK4IP?q@3O zey)Sh!q39yPuyOAMwmr;bNEW~YAkBuxDFlH;Cl~@Rf^rq5s*7t<)t!Bb)nF{aw*WDXec+H4+ zj`;Y9uZZ}uh(C{b(M>8oH;j0nh{s2KW5lmS{C&jBY+CWzC*u7hJ}=@2BK{=eR(&dd zdPcl+#HU1jTf}cfoTL>$JtE#A;(tY~z9uAl+4Y^cPsDpioJQObao>pdiFmV!_lGt4~}^2h!2T)n}`pM zc-x2%i+H<;507|o#79ItB;q3@-ag`^BHkh5krD40@u-M*iumY=caHd&h=)deY{a`n zJUZfCBR($T-6B3d;@u-26Y(AqpAhk$5pNvv1`(gZ;%$K?v{;0ctosiObq`ncLBrY^ z)<7N;c&N*p(Jb!@J}aA1(bW0(v`Ma;rW02Y7VtmHt!SRC7qbp?K& zZAPQ}ZVPqKH=}vc75I6v8I7(BE!4f-jOJ}u;79-0-ogUyn&DP7uQ#Ka6=~jRMl(Co zyjjuI<)O5YxInodMEZ9s`UNz5Mw<7U(QFfGK4?a>LZtby8I7)wE!2J7jD|}w4|TJf z(H!Oq`t#FfG;2nh&nlW^Q%(3HB$L8vrg$zWiQng6S)5zy=V5$0;?E;qyl==HH0wt^ zEaI~wzBA%CBmO<&6*jB*931iS5nmJWQxSh3@p7A2{0xlvn24{8`00p0kGO5Wil1H) z?-lX5h;NGcwTN46QSqa$=dz2Z0L68ap4E5iTRgw$YPvSMfF@My{QkSY>HMEbGocso z=g%4Z8N)%QU$hy&{%qk)(=BE?F5(vO>(3PYd4fMnxXtn{(M&!)Lr@QR{r%a&iH zn`xilx9fg?IQ?^q>6bTs_4vE~D${jo#;@O7>)w7CexEY^ip|vD@2&lQUib3*l5dXX zTe+F~csZ@NEc&-=GdlO*-E`g1ZD;I#+T57<{c%lS?r*4*-xnWe`MWpMrsncpZuxpx zzUn#WW9j$MPno`FGi}qov)0c4nr>}$Z3YzmAy%j!N1tasOxLTKy7)b-->>ds`rf9m zK0f_E&+qa49&n81+u$$qO`@KjPxp~L+AUpW`8KkA)$Q=#2YA7Bo0zV8EEiTU-ADTU z=U0}$kL9l(6Tk2Dd(Msni~j8!>4$J$+W`9x#Cra$F?pJH?8yG6rr#X>UJ;)d@f8t2 z9`WZ9w;oiKD?dFV9uo2K5nmqhV-e4exb;>QpQ}f_O~gk=JUQY#;!h)PzjeiDkBE1U z`1pvgj`-z>zl*r@HWi-(B0f0c$r0actZRsmB4$|hd}D$2*MD2apT)P{wkT_V`ngNQ z%Bwl3v8{eTwvXvX*qp#aTX}h7Y;o?{#?lX3Nc!UFcC++DEWLUTSHE}a$FM(#I@t0b zM*hjhTA%MQ)>`md#9tfh*k5wHqP;rruVJin`&Py}A0K3_HFmtQ*3qksb!2+zX*P*14K51(eN1?F_)lvrUBc{Ag4;oSH<`Da2YoG<^z z7f28P$hk*zFNg22b~T!2vhs2Q_uphr;YZM1jD0Zt1gzhZYk+6LmtY?OD_ki5#uvdk zd=``A?33Up%$~zrbt(M34D0^}1pmal znY}%1A+$>ATAS%k55exgiDyk$+5&pFldq;kJ9JI;AL<{4AW?DhFU@=O$r9*$^1IVuQHwrPlpM$)2RQGFk>9vm3pPHmp&y9ik*sg0?NedgxNj$Vj51)K+ab!#oYwA$nhXI%&i4L8!lmx{Na(P~=e^ z!gYtgQ+JuAUvK@+lx(YedH)>&&BK;d^aj)2Xgc|k%R8`Zd>*j$n@NAcxcWEBynY|9 zRLuX`rn`+iKSz0%-?^y2>b!cyD$mRH?+a~U>38E}tB8j#B%h8s&v%HW-$%ZajP<_d zYiz!cxYaJ9&F!wT za+a>z?^?CLY1RH#Rr|XZ`?YVHKZ;A*h7v5vf;8|!h9O`$X-h*@aOzgogd8Qhd;VHaSDtih)WA+C4b>j?vA68G~@I13q zi|~If#*k2kf5Sdke&9B{wg|^;1}_7DpgO?a;P72|7KQa-`Ap&dus#RK;GN*JNXTKm z&*c9vXE=7vx12?&>798h?(g2GVl*t(H5s~&+wuMcb4|hDK~CW@XtWk&Y^~{+&_D3$ z*n^(3^_xwae<|$$b1s9mZm6%O!snwW3hz!$H7=3fR3Esh{;-AQUHalC^fa$VZFc`k zUz-Qs6X@eId^X=5*bq+P9R0`SODRylo%0Etsqi8s@3XH!F->zweXj7K#bEMLh3h^K zso_u3Xm(sS<)2;ACaRN#&wE40bW(wM89 z<4yOK`Ks1=eal|=P#50Vwe#|UbueF9S+xENJ{+G7zZTOXa&4pD-*Kf+U zw!Ut=d%-F8m3iT4OX7@eN$ldBP4h97Qw#x?Qr*wgvojh(_}|05j8(Tmk$o78cQ?rF%l0m7WT5sl{tWoP1csHS>$OR%K9=@V&Isp2d14TP>`p6)y)b z1=H`RstL=(T2B;O-&L$FWmw;dmpx_cZkh&MuV=gu?e1f|ANFmHhrxRq?++hpJRCmS z_y8EU3Q4UK+$!SVi}axRA>ww_-$Gq&g%f97gkxCCNAANTVz>8jBzi{CeW$G^~P z?n$rs3)3%KRsKHT73YiJEqyslS9?{j_Iug2k;R>f3H6=Pt!AwGs-QN7I+8h@gDkyE zR7ZW*{d?~s{jHUYKJ;f^gG|4o=~;Wjb=of2<@Z+nD%SS};&O&rzLlf8tDI{8N0_dw z>F^Qi>-G7UrFSEJLc#4+j7{^&V`IOoq4*Aq`RPKouub%UN*zx5jQ#QL3Au@*etaVtL6xK5XO}Y%$eYtoNtb2FyRCvclir@db4W84lQ?6W2@`79V4U8AmG?Rf zv*GP&gMxlPV;eEjL;3xLaIT?T3(3}`%|VZ;rYD;DaPW%Y7kF)ar*N`&i&76bgWJH} zWk=Wn-Vh&YYZ8i(tVP-i*a@{d<`mcq??tK(y-1G&)#e!hHq}j4?PYn_#kK{kc1_2@ z5V)Jfgmebq@gzNk)kd`=kLs{yrHo{~h`nFPmZ%LDlHL)koo??_;X1X`?R_J=>#1ir zPJOM~jrwkcZcpNQWZZ|CP`{bwWx52t>wI2#e%+TU$0*C!k9^~d^?S4mDpRrNIs8V> zne0zQr}NV^({E{IR_pH|UHa+7>f47+KhX4;+G-7X&g@%Ze;4K&Jv>MFFRVJwBUbnP zKuj4WeZiXcmFkE!-4-WiikFrp)_HL?Vom#Xh&5~*5pzy0^&{pSU)q6~GD29&%Gwv3 z!ePXs()1;_rL#!x7K|1|3DH{ z$Aj@fs2^f^XIJ~o1Gi4u%Ms-cujx%n6#~Nqw zTQ3#sNe=J3d&pZe8ut5LFnngLV<=^tK;Gl2V+K!xWzX3zflt7$&b`_=g;Nfy9qGgj zK7n~H&f&pkFEMdiv&o(k-%8$~hwp{;oFIq&9$E+W1K4p9o^AO1HW_vWzZaN+Ms0tc zSmJq#sqCMMYw5&c#2mPt6_=U!ic{7c#Tn-g#bn$o#7XI}5Z9DW4sogWIJLD1p=6b% zO=YQ%2;n?85xvGq=jW#HpTqipQqrev$Mh?X_Y78Fs2_9K+bN$@@T0XL4XyzWxiRRj zz)l7J=lfY7u2k{w?}|5&>A|A@^h8rgPO7veIT8M#(1ibAYO2si+7arkdRVACIm$b( z!mU4d1@$}{`=^D^Fn9kjo) zOF!G{Lzjkgs(xQ!73S0Fq^sz2OgGVV@}qlIf9`svrJqas-Nsj_K!UXD2VWN+v-Atl zK5MM=@dpwA7_oe)UW!$o>Z9LbI+gs34=>t%G2Gd>Kk2)#D0OlCr`S=2XH7a!T!uCZ zVZ7u;exvb9{$o0ot$R7|GjE5UGZN~jq8n&sYrWaA;C5OsrP$NLr4e6eT8+Pgr(ag=>Thy=#dqBe@JPy}q2bzCzp;3erT3%2 zTi}#TC!@I<&R_*(q0hx$me;|iqmq&v&6oPg?XK@8MG=ylO~g(3oMZeYGYJQlW3-zOWl-SP{@~IwEE&uK0zth;S18G;NyWi71Wa)RIeGyjQ z>DuNEm{WWR9~zh0Qypbb*{1N^vNie%@LV+0t-e2+UK*cE4e%e>HSaPu|6XejE8Iuk zl*;LUnQuh}GFbm3;U4Tc-1L9nX|n=;PG!k1)gDk>qk%2j8zWz28Dkc;7F~?##}?gr z7l}HD>$|Sl)mAMTJz>?Y%%(sw;eCdUu@5XvrT#G2m?3Nj6YBlhBYR;!`xx(S=?_r< zgN${|oEY)sh_8xRj;U+7ZoUP(N_vu5O@EJ=HkE!MR{J}QD6TcvCT71T#TK8ZH^;8I zD*Lv^4e-ve-mS}Ey$>qR;XSZ#M65y&gd3%Sk2cO#nIe!vfo$?$F_)4Vv{?Z`xF=X) zY>}@2Cn;TqFXfp)OsIdt^y~$FP2b`g^L$Hx%F@v$=Y=f6PdFwnMWgY#*0j$?Wvh(a zvA<45?y=Z^$L|5tKVPMP8v8TYo+DQN*Dbz>0U^}CSf$^C>ur_)4mwqBw&~{)OaHRz z8M|=Y`ST-xzwt-Yy^5~(z#@-+Cs0BCr#fs-X2sQIbu|4<@^*!hg*mf!VJ~e?ERVYp z<13_%u(UCjb`CN5JS1;heKEB5;~!3R-=d&)DE8m4ol1Vy?fSxR{ku_nrPFojXB=SD zN&kTT2Tk{Wq*H#aE9ytT9-3*oM$@S;NN&>kGcYgzQ`3Kh{#RoiZ!Hfh`t&GeCa@R! z^c5P?js5nP{t5a18L_mi2jQ6RfnCoq|4-|--a(s3zID;-9JQhO`wZXPMl9dB3+?$o zof~{j-{11jwf^9^`&;=(TfQ$XpO2rH>*tVDO!u|vyubZn)QdFg)fBGZ2t=`lB}|BvZ^Fukvb(+Yd(Mq-WZy~LWoIWcuEy+Ew;XA%=?f3f^< z@~g4>Ky_8nny)aM?c*YE_?*PgPfFA0i$9Y$gS|g;xM`iGsCneYZ@BKzoIfcP&vQZE zi_v|*JsCiK#`iRMh`0p(kXVGw|A)NTA@44Sof$$N9CLpvD!^&_lMQ@ zj3TX_t~C`dw0-Nc(v`OFV{{Muw5g^i71IBcZg2Jbl?TjgDiikm(dZdX17$pCJi^Mu z9QsFXl~48mQA|qt6zl%VT!yyFma=u+r_eUQTAw<#F6IEc3c;tY2fWXNwaPBhEb2oX z=Ej`9JhwEV-cb>!Y@ec$pN#DbSamDIKf~THTiN+D#r`{X<;~b?58;19(10AakSxi5 zd+aJ#`!pp-syd&HN zR%Q2sSCk$;0PZS1d?c*AIeY@#O?vu%JiNN}@VW3B(!-a+Yf2Aa1FtPT4Z0IvS9&;y z*OMN81zulz_yc%D>FLPN;fXuD<3X^VwI~ehS3Gw~;lr^H zLYu*(;qBlYwvcSi{z=%q4!W;bTNHGCthtf0osVXS`C(Tf*_M3^$zm0*Thr=6T4;^@ zX)L_o!MYtIz2A?zel6yQ^ma%?rDWGg-?75UfQUOXNiU?Hg!(J^b6vzTk`mTAJtx+B zd7q{4Wj;LpS?ntRRZDNEO8?r@f3x&`EgiQDysv!0SgzOc)A@*^PQ%c3GuCySg3469 zCH6h&ts$0v0NOoZ=4?$$`Uv=7E9Y4FFj)5S@ae=E+Z0&;<2{FOfRB)#0v>>mk{*5* z9tCIcEch5WhZQKk={(?bN&TSUF_;`Azl8W2#q~bM9v^C29n%&PJqL6?#M0GwZggL9 znTJO@w|f~LlRr7qbZU!^PlZjxEG&*!?YkXJMn-l0kNBEe&pEfC zj1=Kj9K+%BE!ginb9gp=eH=bC24BHrV2#0V@QLuk#^7W-j=Vp-Ubss}lSd)$H`mAg zalGkRCz{6Ab?(>u(_^_kA@biHgPyTyEogmYalU9nOsGEzT}NYm?6anE_59X53aZy8 zmVPq%1{?Rs-Vo&*74f)8qXK=7`m^OrNLRgeU#s|X(@(JaQ>8GkTz{vfpF#Sw#_{J! zD#NvU-YuVvt}~xLxAa|Ijfvjb(A?2`af*L1{Y2AijAVDc>uQfG`tV$IonXc&Jg=C< zqM`GHf_~GSQ$aYsH-NWEVzV=uH^OWg0*2E$499DL=Msvz3S-eL|-)GoNWLs zpYk)rIEA-ak$V};8N3(v3#nrcA7pto@f0vM&8v9cO}4fpp@+h)Rj8L`lPS5NqDjt& zN8+0h-UmI|So7$-h_5i#{83Q(iZ#E~?t3l$vM614|Lo#9OP@;mr^Y`1?n}=HxEv_` zWa(F;Z9TH6o3tH`Wnax${x&gIod-p{Q=}hZTwUg|*j3NW(r?1wna1*Wv9XR73!z^% zcFNbtcD-rz{RsuNM`<6fR2+K`S^6FLo)!6?9r2gOdRO|-$iC>P(EfI#X}@S$_8H4o z%-PavMOtYS;-JDtS`AZ=&wYxq2TLi}i>gm8+jd3%meS~5#h#UGhSL4i&jXDN=Tz+v zG~*zPb#AqgJXpz-JW}DhxuKUT>*V$v6Jx2Q){Fbl?OoKpK8KHs_!47%)^>ZuFB)r1 zyzHl<^49VW;PS=qo6&_@C{68e4z}?&Nutzg{^dB z5!a;TS9$7l1%J0L4SV5F@|LxQy)Z_a&pt-e@k6LTia$>o>lv&9DQ%VNpIv-t>5b-( z_J+^Dl&)vydj6ZSOxZHst5`L+MO`T5BFaD0Sv{=ohR1$ue%r}C$*U&P+8 ziyR|sss6vs^{~;+F z|NkKk@U>|C|HSzJkIAv$gI(7z>a-_d4w-N*HWSvlIm7;uX>xe3>#6&Xu7_J3YkGJw zcpLKO@QU#1R^Za5cm~N81ja_J^9jh1~$to}kw|{#sWLwDd(tA7ebv4iefNwEj+&_v19v zwIa_$5r1Ip?^G$juIu$VwEEG%W1AeOy;6N0`Ij*6FAG8KQSo|@b#o3{ebywk*SCx5 z+mg4pv7aZsZG*7?NWX1k>Fv=fczwK&{4?o2O}99@!y=z!jJM)!G}Mi)OhQ-_WP#GtUp(d z%8@_U>+^8e>pK57(|0w!_y661`u$#ubJKM*ozDZ6t9AETOJAMzw~c*FS?|L8dd=1S zEA*<%PZqa0zL>i`@U@h&*U$US+f&{Cl}*1^ReO42*LbW`F3wMzm~Ne__H2i}8+F;i z(tBCD%2hwQpM6Q!{-MMy#igT7-`n)83!%-`^{j5|c+0oJ-^_Qhm3yV-+lYL38|(Sk z3}ZiDRS(tkMeOs4XIcCKv3mJ)Vio-@F`>Q>JBy4d*nMbDC{h0dM{{S+^kU2xH{E7d zcX9H4D^YJ3#BgN=2qc0y#oz*zOWF5*Wbe#dxw zD$?Qv)uyiXvco(XBLm)QoO*PKn+c7*l3 zE`u#3jiJb}m*_j87V5UQzF?mz#b?Q+X?&uPOtie}FQxf&DP0$+|E{?wsOxvZ*RIwE zJqHh!69_T`>j@pp;|KskxM4RrSK zWgBB*4|LS`RW`NldMFj}!NlWZ&{y7r@hb_r_K&vx^cqLD^h`i zI&W84&0K{ip`iI*ux&v6?8wd7Ha8E2hrz0o)&iY##CosH6`qcn1)J(L5Lsh80Db%o zZEzC2I`cu{blWUo>8mV_iM{77*B_O80XnQRtp$7!{nw9z72-R21w0y^Q>kAKzR_HV z?}kHJG{ODm0`5t@bziauJLIP|+Pk85c^rL2@OcaBc!tv_5U(**#GLfc$&I}Eh=k8> za7A@<$WLm-huSDjHh+s6*gU04hjpS^C*!ZZ_vui%pkXsVy}?1hf|7jD zvEQL`ag&bj;Ydfi4wXxrbmX^mk`U~x&eMulTc`2thV|!d+Idxs=v_6*f3i<#zY05F znKi$sBs^o;q21Rl(blQomt$08OvkK+tv4E5OPV$A6euN>AII8SPQM;q1=*CpI}s+dy;-9dV3?~Z_Ia~ z^F5N}Q+jNt(@EEJvEw)wO3OXR`RdN6a{=Xx`mwy>50+y*mKV~$! z?}F)mvs$#dzR}JY+j+uvPz`fV#~k@nWpkJ+z98~G^6HpSh2u3V*!>P{0mt`cYjFHM zVI7X|-A;rRXzy@u<1uW?-`9}Lm+UhnY1w~}R4)YT8gyqK9>z+x2vW2>QhC-z%Gs@v z%KI0j=I+tR8C4WYyK9eVjeT*{hc7eN;rP28 zb%eezpt1@$-m9&_-QOmF@3fBEO5d*w`tXA^jJO8t8-wCHtnUztGo-##5cHAyenHSj zUcXMbx6#^#KN_dwJl3zIoi)bm=q%J;@y6(|E!If7p`z0RJ+D|O)d`R8_X8E;t$sMnUWX_enKa=;j_r7+u?ON`K->mLs z#!Ltt)_PEMc3>HworYANQAnCB8;iuxY#fsMXCGPqij-b&Zh}j1VWiTRL(1OzzB#@f zQf;-DkR(XFc;HfB*gWHivu_ zHAorquiTK76~?muc0qsA?xP$+`y|qzGp|R)>j{6BaF;5N{@?iTH^+-RPATmu?*a+; zWDXPB_4lY1V);6png<0pW8zroKsE7MQdatV&Hn%2S{k6UIeru|qzR|W4 z_20|s@ejl*yX>7rygXLh%FdbA%js(cvW79QcjBfs=C8EA{($7&=27H(+I%4Vj(IRV zCE?jeG}@}4SvpIX+@Vx$gS@Y*X@5QTDK4BFY*waa+ai^=7m~VVMa0y(9B);-r}1i+n0IS*^ln>CM#>QCI=}0r{@C6=RAHU#$G@o@ z?bM0?8#;`g*6}zio!~t2Dpze$upNue0AwdyyjN9&PbOaLT#ZF*FBW&bqfm#>Cw^i4 z$olXd4|p-SfG^vI-}}jD*dbp;dS$3A2uq)!;T=Q1XhSDo2)+&-`MfY1x54sLVXV0d zKWr}GC(WJkICBkt)!YTYW3Iy=nkT|vn!^NTpOE**haZTKKImL%7Wc2-l~9{h*&b;t z?=KZ_AL6yPYn;q*I`fy_QvY_qvyrz3&kZYYovj}%n-k$dj+YOcz^n!TpWjj66+7Ho zYvq(OtIWr}e7EsIE~`rX;pPIK?<*gh;A4naUG{{}hB>9ocs(+^!umCMjCH!;d(1b$ zkDG6YUoqbYzYmAH!{3@G!qc5m#%nV5F<0UK<^o>D+zAgc*Wj(pU2rEXpX=}e=4ap& z%^Lp~ncsx3H&2A`H-8F0Z=M9dX8sX=A67eP;(lrF4Noyw;rz@}XCOQiEPo1kZu4Mx zQS)Z-K=V*|RdXl24y>~Fgu`#i;KN~^KZN-RZ;H+U`m_t)$$2%omm;Iy$!~-IO1z#o zRN?*2o$#SCFFeAmL3gRS6Ta14haWdrS=U}O*Wi!L6XD6`f|>mva~C}0S*4#kfb@kq zPPM9i;yQzSS&!*_T%*AjKxY-=3V2C#9p1Xb@vJRF@2BmkdmYv~wv5I$_15~fEL^~= zkXMJ7@if?4<~QNX*C`jDiLmBuI0Pa0$G*OSQ@|Ue&vCU?{TqG2RQLUq8r;gg-1X!G zoS8Gm^T`XB@dfe1x zOE|XMCekNf?Y0@LO7BKLt|WcfAzy+0^YDRT(K@nejO|8UG#4}})#fT!V{8QNtK&;2 z9LHV_?(TPtU53rj7x1-ajkh=s)km@2>af~vW%_5~RF zVh#BQ$G)h+>Wj6Aufyt#)m0bTU++4L)kkqWtB>M%Rv)SEugQm`U(`j*nYxE9`A^0cp?z!TQ=ce8_a9QdudFu|y@~*?UN}*r!Of=?_S?|DWbkY}OWz zM-u4Twe9eEqmo~z;y*fq){qU@4PP6U>4KV9Gbj5@RCrnbe-|-!?p-w-LGWSb( zM3V1Ynzj6J`@AK;KR*fP48tWZ~t^3UK?d2r@#|eL%@b3w$3~CwX9dV4!jFIcop*NIK!bW zoF82s(>XsH1sBBYxOWX)gV#rYG+c)@4&%9io)d|yxPJceB^U6Y(N}yYytTOo?+z2% zE_Zo7JZ2Qx>~|=G_$bvk3X+H0&XxZ!>PF8$j{d)Ru}Y%@8&25Wqe$3_?I5XPBoXq>679j1!c zVPtOXFlxg5SqT2PXH*UCGyOnzmmvOS>??Fp)=TE)h-b*O>KW}?aP)aya~1uUMsr+5 z7HoqZ-wAJGuEATHyWkznb$B=UHOiU@>l#X()kzKX%uu{PyeB%Zqf>+9GwOncLH9IN zZYO*oI&Vk^J_>$Q%;KhYdrR!&=>#}5FoF=;N^@FmhLc0!2P+AuBsSNbL8D@@TW>{=ErH9UD`vFXMJ9k4sNl zZz8tdNb-D^aCSktzBE4%j5hj^uKBEEtJ+{*>wkpJB@CUXqb_&epbvB-DB+U2^ZF&W)a63};ccj|%O{6;S z3#7{Y3CUc{IxZ}qmCS=Agl_;Z0n4?5h#6SV*2iH5U3brqEZFp2#`Bp+H8_5+R|OT$ zE1&-;?@XtacGA3c^tUX12u*Te!e_&=ewUW<*%+iez6+`PJ!1JHQuTZXDMOziRnIA9 zdRPO}c8|Z|EYNYtzo8!@f0gj0guhPs#|BqEZ*YFK3NAzbWfK2ugDYwLZ%O>O4Gwco zU7+!Hk_{p%zc=Y9k94@b5<{g$gQN_>j?%TcOO;ZYu1QDdpwbB)Aq}q+Fr?V=Rh{vs0tUoJuJ}~Q;AM>g$Vwtfn`UbY@INADr+=j8N z_&cUpMjZ1k7nkkU7yY@-`VG^H39DSSp)}+1SZjj(*xY*axV)&>?B8FkH(%nH^6Q)C zW03oju4AUI_clTvWc_NBeslTpeTbv2zaaV}&CTZp(I>T)>T;R&7HKLY`job<^slx4 zVt=3?>md7DZ*I1JfAsG$tDP18s9)lm_N?^>p#NUN%8M`IcoNr*pPc?D+g5rjdh%aw zI@=}kK5Jh(NmoRy=aNoe*6HL8zpahwb8lC!kGeM`OB%0|t2*EE|0Cb&9K;8sr*&l$ z%PpO6Md#C)kw5YJa1YXTzJ8GPRi)9{FXFoxX%F%KV>uQAl252*Si&( z2YZ}VrmIf9R431~-)wJPmmS+edNZLH^XVHHvN+?V>Y=QC{iKd6x4E3T&{O^eBuQV& z`8H^(qx4kQHJ!d;;>Z88yOs4fMt{#F@6l$hYiF4?U#~E0?R5xERbfZvXj6#mOdO-J z4{mmT?MFSyIQJhTUFUsISa0hly=YJ0sFL0r)*Fi62WHKaUlN|>va+q?{2^N&pUc9* ze-$I&W3?Ds;rwWcGHqz3`cf-K!TH^H#qzc~wYh9|dJq~M*O=KGvbuj#Y(L30@ z9_c5Vb?&WzwJ_)7x7$WKeZMB3FP*JCr@o4G`FgYE{nkIg`m(np{3P*`FFO4o_ye>2 z_yNZEFz$XYl{KQXJ!|CHP|ADMe! z8GLO!)xHoF#;)2;ZKPp87dq^RKIvcTXUia!b9E&CXG4(6xFu3~I+0on_C;#^A6lk| zzpuDJA3t*^{sgCU2oA?qy<4Vh-?NCvPAKzISm8#b=mDh4d=43$h4Jr1m8&noLO zee0U#xdnbq_b$4s6XmpgYwihaJy1Mrck2vSl{!2EYMn4K^=q*sNaLl=r-8fNWw z{w054pSJp6{!eB9hkME~gZ+Gd*M+6OL*H3U>vGvN${K(^O&$8>)y=s-?g6|x_glKq zuTj@+;8AcLRzM~EUQv9NZT8m=!EG(fFLavtN;B>DUwMfOVW4Gd<7)B^vX5F@<2Ng% z+Wnp}m7KhMxoA~khdhoA_VX(eU#>|wjzj5a96ID0hmkK%cu3PR^-R*VE^QFCnM*e} z^h0ZEF_jMe6GP?JCY^Y$7TW^F%I!@$2V+fkq^l77VSU<1{h<3>>WA1aeRVs$cwFtHzb` zJ?MO~oEqg%t3D^$uZPjU#H_kqlkmL>zmo7b3AbI{XcsvU{Y~33^)t5Ttj_l&WiHfY zgJBnrnNe5cQGK;+B@c7-1*)j-|A+y{gw&KkJvtXW;}!i_peTW*X1c)Yf4N%#_9hg{oIl} z;yO0U`|+E%cYFUj+j@$99mgmp8xQOLk;0B#gGxnn{7vG;I{(x$U$V;f4)NlG?IW0W z2`;`wH9Q3s>{q%m~XT-H*o6xQ{ zT0CJz5<*^;p}aLYQ-;b{P4=TsHEQ6)H`dYkQuNx`*WW;U_4sm~T-W7IPV`hxv))G5 z`!3Pb_>X#ePN(0+Z)?3DtVdM%y>8Tt_K|hX*ebE

      3^J|4w`jUe;WP*M(a&s8HO-T)_Ll-_oEp_!xM7RO;|KW;r?v zo{qeQoF*W;uQyQ*LB}zN{5ShW1^!D|5jm{WF3% zeIq5>+4s?M%vXtj2%YKWC+rZ~FphbRjc3r&xw@V$j)#?|@D@CS^S%$a!FA$4ho{g! zb*`JHnDs0#zqX7o;GX6hJe#==F927tqaUm+1{XSa40(rqFGHoZ!MVn_Lq2mO zzA|Hj^I02QnXSS3>L7 z5%s-fJRUwxy5`3V)?1A7{$8sKP3naQLBs@6bKbPDw zuls!$?}t*be~|ablx1c58=8a;{Y^~K-^)qW(aw(cYu4BLr~Oxl>i?`mV@-5cVn3v; zuH>v^0G+D+%bYH=+8^WnIMyEYe)Q+Laz8wef7`6S`U2K@j@CG>k6t1&t&d{G>vuBZ zDx1~^F~_{{o3{AdEp`?1Kf8V4%BE)g>$Mqt3-3}({@dkm?sO(ZxK@nkwYu&YC#P;G ze+xPzlF+`T^);?lWU#`K(Le|?Fy=BcBJFCO2hv68I-UHfzc+J~3Hr=O->zJM! z{Dp*qc!w}&x5ci?<@7m*%67zU?y}ULyC!^a!p;!vsLy0aZo7j9a;rA1cw$xs6 zZHdpPzPH{!*qUKX*>7r>*%QW{$zRs92zs{ENq)%!N2*4*cj>ZcEp zDzkE9`5VzcA+?@wgw(b2PGx*3V?S8o6r|`Xq{Cl3 z&ATpS6*(4JAfH6mkgp+S;8RH)`Arf79k(Dcu$UwUR+Fr99VJ=t983}eM@wShydd-J z8f5I72Vtd7K&p;kA?4e2x0b%mg_LhAAgjnNkp*&pWDR)+QUWAXSzE{T%)t>vF`=UJ5O%naS0%r5XK}UCr2SIlxR&Ehn1k*HvTy-S9V9 z^_vshRCIQz=fz0$S*BZilUdJ)R6m7li5FMd^tbrL1)HvS#hq+=j=Vf=UW4y;xpnw4 zb7)NV52LJt3cN_X*3TOJrgd?1VeuP_HW2 z6y^eUAXj zz78Z#$EFvQNYMKT@=wO@Lx45fufg|kQ1)>h-hz1b@kF-xJ1RM} zJ@J&^+Q#7A#X6{DFYHz3t-^Z}f1<`QydQj$SOc;Qsz&%mi0l{IDMN@Kj&6)Up1iEv ztu@lmgk!y~Fc-vMZcc(mDs9%``QcO4K5j=S_@grAkJj6P z=&0^hSo8cS@+tgwVxv8E-$!|BY}*{ly=r8gZ58rjuyq8i=U}I)EJAEI8QvHj&66tZ z5PTTnHc|9e=rEjGd*js37*{(h>`HtX1GMuU>+x)ndZ^7Gp|9nC4c-qOaTk2JxenLN z6XBELGh~y6?xo#ncQMbPjz869^(PJ;`I)W6Zyubt3hTQ+XQ5xfUBriWfN!x*9ljUd zKzUbYUcmE_r+~-7XOp)EzXgvJQ;+vy*{Q>ynspQ5H**2cdUs29j`ZP0;B&=?m1Ffh zxDGE(yzFF$^ZON8J`}J+XlJ#Jw!)E!sm4GOpP!6fhoCbr^-x}#Fos0*m=Aw6xtahaqX+ZTe>a<+-a`C@%@!Ltbj}57`b<>J5h(4No%Q@ zDWl~qGvmDVQZrM$S3UeSv0YpMKrOe)|S*F~3OuLggCzRIezO@YHFm&m*G zQv80GiWjhci!83e`91vIPq+@Z!&k{KoSFw#`xo#c=1zD?_-d5}uLScdNBC|1y70B= zYt(EChrWilGk3!Acv*w@aC{eh5FExitZ<2ZV8X}aWdV=rSB{@f_&Dp=;M3sI=-1&c z_&Vif5NYkb1}@;S#H%lA@WZfttHZCr1K^49+m6p@i;v+$@uh&jGuPnX;Tu#IJoDI6 zM~yTOtad2iez4lS1}|@}!)utem=1>5N2h>4IJ+DhHFzlTp&j5|;R{ulo;;_AF_9HL zIfpZ^2_J1<3qIbwHhiXe9rzMh_3gyYjc~Xh3Eu;&ed_R2u*QQ9>=UeCz#qU=E33g@ znCtNOW}OiK67}Ky-qQaXJQJ+zraC+~JVte4QY{LHy1;*eZzjG5D^OPVJU)R0E74QCD8w>)s}ahO>lht*RFWq~ zPAku~iJrb~tI)p`-D?NC`SpqI^UZ3Lo6Kn)wVpcUH^QsamJH)?t{Bf{l&*DD^{ujf zfH85wHUxcfC)O z6%RY)v0d2@t)P7Jfxd|$zmqtJ%F2;YNqI4i)iUI_Qt8MGB=JW!?BvHKd~1V)5ArFt zNwjl#lTLir%utRYY<9k0*M{812OK)O)S>1bR=H2c!44c|Bz!s2oZCMweSx*=tDo`Hl6SNy<@tJkN{e z{bIf6tQYIGCFlMF=!cH`%6h$!q{~jsKcCZIBz>S+er}j>r&;f6?QhmQRthRlC9FwL zXgwM3^jDMeq&GkJ1n(v8Jg2|zbh1tJewtn+(%jTqPiTJ={o9emO6*mI{8oM|JM1{-?IBH@oJlxKk84h z{`aKK_(0j7@_7-n>b0y{^%`tW{g?eXUw3x;&*&a#j^ihey*Sp=xuy0!-unL`uR@%w z7ZU#99?%2 zI&@qOq&?0S9(B1eRVvSe)drkW#8By}o2_LCI-0A}DattgAL8R$+E~J~%B4xYlqbF$ zqH|LnyZe@Yws%m*0JHjRb#q)(@i~m!Es2+%9i2XleT(fI$3`6A`&n-`^iDOazpqI6 zPP3l%{5@gR!k7-_aW7f&O{dS5l&kZB=5g?)_2xmZ<)P5xVI68uc=m+nPk8Z!<%8;` zV_b9HmbczQl(A{Te>3YiaTLtyUibItR0oB4-Cl*`ee?qEKG%m&Ca?5sZ0EpzkzH)M zR{sZWRfpsHsfN<^{7lG#?Napn;a7q44*6nkGxl?(IZQQn!cLhG@MRVa`4HnV-Aj36 z|K3J9g!Tc%{oSm2KEbSalfE*?u@uLO>aDT-AJY4ifBJ_@TT8>Unw7tQ62H7zWhmg+ zG><{?U9$D8zXCQDRJQ!@nzwA9SoW^g8${Z0v&z2ItZz%)X_kLanKf75F>CGr!W{jJ z?G@|#v(pP~%=k!IUyYNw&B^hn67DAjugm6-_qNn#4xwA(yjT3PwxfBuj#=|<8?%lD zdzsZA$0mHPS;y;3&GOBma;I)ymLZfI{Xspu&iX3%KC{Yw!K`xsX;!&EBwTs4YzM9L z^O{xe;_ypXDrz zWL{<)B6Uu>2U3?%!;w0OUW(Kqdn{7pe>_t6WC-M%Yjz7;Mx&4t%Lh72g*W)c2r?uH4$oY_ikowKfM#w61 zTjT=BJ&_9{k3=qnJP)}r@@C{B$j6b3BHuzThWrNE583kf@>%DcNS#lwgj@o-F;d5a z-H=Nnk3q(^KMQW5(QienvBx8)qcYzhr`Lpfg1(?}mz1OvHj$(g_LoF|B(jyPw;^Ys zktZN~5dWDa#>08|5=j!2UwmjiJf~S z(VrlR-ek+!pD*`Uw%lG4{i7u*_ZmsceO8kEpGlIx=L_Zja+2)tEJ?YiNvb?a@=uf` z|BU017+4|5)@)diZP^);*u6y(y_Y0wjGd6q9DK3Nw@i?&+2%pEWd{b?J3BYXBD*cf zTJ~a)S<56z?9TpDX?GP#?Cv6&wPYs;nP)c!*_yo=WLx%akiD}$sd**lvOWHp;>g7k}QHA%|ZO_Fj>m!zCKBq`?&Ny^DyMb`NCg(T%{ z6J(y95M*n1OOS2Z8$tHYehadiE%KW5i)^DHvzEOrPqDnl@=?pTEvHz{_PX+CElWyP z8Sj$#ySL>@mbXgc|67vy{~z!F>5X!KJ4xzuiX?W%N}@l}>C?SgruUO1eN)MTby|}0 z&XPp`PVZ0f{&(J={jD;6MM=uvR+93LlEmKSlGuA#vc`RP$&6=nlGva3A4u%4EXn?k z-ak$fdsj$~Wf8BDDBzl#1kd(8qBzmh$ z;`dNV>>VnJ-i4CrjdlDRj-P_$cp08K_IMW^!rVyFU?e88Ly#<#}Wc zzDMyC-UUAZ<4<@#{IvCn&L)_v@IS3XQ)FMmIwmVjF&AMk{FiU919=(p9U82vX4=u=Wi-qH!LlJL5T{LrK2bMS&$ z?e?ZwbylG7bXk|_xBQ2?-XEcJc%u!Z7V3M5>nr^)&>=GPyA<>-E`@&+uX3tvKb!l( z3h0ODQY{mC-@*DbCOlih(wA=KXfPO6Vf;98)I@x_r?x}3wST|Ro_ndV6*<-jJ~t2c)eqMoa6N!jFaJG z$XkQYFxO#+{8*JyhKkx-f%zQPf(y}C7>yL&g;dtZk?No~km{SSEJ3A*y!rcOp5Dk< z9P=@x^(9VWVe1UE&gw|n8-i3nY=zVu-VIqr9*8WE#~^FSQ;`|}&X=T+t0XaSqa+3% zki@{#l2zJKvLGV?^)QweJidIFUUAc%RdQ831a!KeYYunYypN5zo|IalDZ+P$HO93j zI#f< z?E6^Lx~v)1mcmSbwG1&+TfW--V`Q z=8{IAXP26iZP+4Q&EHXVwDoqPc)yfoZbVI&JbV_zI7QkF8Tf z=WBBvcF3b1`}viP@swW<|74rGH=%VyJ}7AI2z>#^_OB_S4Ed;r9b77PHK*bn1}meR zbmILY#(WGRZ;YqvF-#S&`R_1QyzZkokYoFTwivx{vFoGi(o(MALsPDNWVDYI}(20EZ;v! z_!qO*`;L#w`o*;)h6j*fkses?oA+v2wv=+;@^YO?wKAJ}A0g?F&jKc1Uyo7`El+U+CkD4up}`OM7y z$(Aq894A_y*|XH)7Ff$<$8)c; zoRxluBM~89?|mpf?38I!>B}F7sp7*#Efc1S_v3P$%k!v#t#vHfz4W zp0JElLU@PfU<;&27_euCvv(~*U629B4>(oaR z9-r`g34fOGw`N_l&hT03r+k<<;pNS`mK|bN8+4lW?DFVD|9rD--je7)neaP_&Lp$i zyYhMIgIGcBs`pLfGr)zN-ok`i$*gCco0_$5?*ualTC1?G_tI}{=wqEV;`J?r3S5U3 z&=1ea#PPT2Gmx&JdFGH$?>P4J9%jb*ALfm7U|_UBzMkaU7av*k!ZqBHrSIA4NY(yw zBy&Ey-SQcv2K7WFO>yE4aQdERd?s2D|1CP28=Y*wnrm?7i!#0oo)gyGsk1F;o(K;x z%ZU}uRd`Kv0dHvTgtsu);GN7}TyFl&d;`@v$~*=h0dpDFpoY(XWj zA-;q5slhvK&$tb4FV&1HfXKjJjD<9O70 z4OI>krc}@JnbB9kT=&vFo8ySiXNUL39&OXA@{cZAS+Wz&RXD!aUchl4cEUREC0kZw z)ARa4$U2*zv+K8eO4NJpV)bo&hhFF5diP!LZRk9Fm$sH{LoM=cWgn{l3wXksT$fTt z4c=~r@<&8^?^ExfFC_bo14BNm_6ex}S6zF{$ui_~Bzo}}8`~t+n={eV*io34-rR|v z#_%8M&1*f<^Y(;g^Gw>BW(a-yN56Y`gZ`DjHMWnNZK;{7g8C2Mz$gqVxF15D)TIa6s>?%o(+)7vokX0 zp$kJf2NS1oCQ@__QhDx2D$h$u<@pRrIoa<>re`+$*WKrg>}9#?;gI)la3#)v(kiEx zMM*8!Ja-7~puTEqpIqM!Pj!^uq!Tn`OYsf!Wt(fhDL&R24Eix%^>GOC@w|uAx)`R4 zXQ;<8RlJ^mJB0XnzUASkq!1tdZ1yL{t6d#}{$H3+@;@oJGN`HD;yGD!U7`=wXwg1I zo1ACIP+7IfW^5mg1Ba>V8+OWssp{3NAMG@sN5*z;_Bqytu^B_KAM4V5UK{nB<72ta ze#ZF5VPxulNy@Fv=r&!VJn^?Om2XP_wR>!zcurE%1n^YS|4Ni(dTomw-fnqG^;J2PWS_}{K_Xa+It?e;uX|4D&ynx z%6YPa(|0F*W3$?3mxK>BtIV?!{c94Pv1XMsA<_Rj;kL;QzZOh*jfA&1%g&JrUzo7! z!8o1j9osueSAQS3Fz0~C2dsYxc3w2AULPcOeof+KQ*9$T>mlW_eCBUUe~%=eg38pp zF6lSQbbcM*OI*nMM-#VF!W$;MQ^E%(d~(89CVYRwuO|FW!j+W(of# z;ab9%COkIb@d9D8PWaS>FHiXPgr7?I&4fQs_}7FxerWhp zO?a7v*GYJ%gpWx0f`o5R_^E{7OZeXj&;0L(4~r+fcEUR)d|1L~Bz(15^Z!w^=Eu7U z|7zA8?K`C`SG;_}8z=m~#&dkHau4f|#f}12!o@nNnx{XWt!G{<)^rK>#g`s7xp zKbY83`qq2$ZW?iqI{jg%Yc16IP4im#vh^NC?{l--qV31B&f@tJRvDVN)3UWPde@S^ zq4l32?;d8^KQ7@*5{@>t&P4y>u_E4^z0La1Vn-piT|72C>-6VIf7h&g0F%vn7d8K> ztdo41C*c*$x__ad`bp|NSGDCvq^p0nwA{h^uaI`2S?{inNcf6`?>4I~73BM_bjXA? z`IZTCywl%wy2?+FwehzC@wWpXSpOf1J?Y23|Iz91kY4$@th3&;RnR!lF*S~(cubw& zdjGUd>B(kXyLF#&BK> zW4w=1z&9SsJvL5OYjC{YtHT8sG5XG8LG@0>j<^QTbW3@zU5Dph6Gh@x=?l<7bYCOK z?*v>={069~Q*MF@Z9O?D91BxyxITFlR>~_#Y-AsmY1y|(ov-D;g!frnhr)V370+w+ zOjca5=~=3{#?}LUah*-iAA>#x^mcp!AF+w`;n|4SHJj=*pZOX1ectn=OS19sBz)F$ zq>1o#*bLWr$X@s$ZiCfF;@hw(B6R?76hmgA)z$ymzzBB^`OSqxTK5h>aLiJ5GB zq#9vwr1Bhvq-(R&k+gYsWf|XEz~f$NJQLV>A?7-9iq}0Ljqe(KJ^GW7H43>M<~pUd zll}B>3aM{(4qLEkY{q*E@mXt~c#U7h%UO-xVU1t)PaUc8D}DynJP?nE^><-32i}BVqAY@%EBhLz{aQ!B`n#!N zA%_n)Ym7`mN7vT{+pjPgTdQ#26@1?W9zS3Cw?hkf#W_9p;pzWVj*&X-kpC#h%TQTP zomYnZ`$l}OF&*Q-OZbO`KTG)Agu~14W#&p;x7f}9o#>?Hex1aB)8OElb~VOnwirUZ z#+KqY3r!i4Dm@wxi-S&o>%_c7#^w!qmFs7h_faqr{>yvX4yJoW^HHLa&)8IszAq+U zG`Afpy{tpo-DSoy^sc`{KGQVxVp&>uqTb9+WvVSzrpAXuK6_$IX$l*ZBI~6FD?>iV z|IiC_zE zzQQXO@jGQ*PG2lZm%WdEF5CT9r}roQ(S)TV|0J*9u{@r?XIgq1uTNQTjYN;=u;yy~$FcRA_0~l1i-c$Ry=)`>JuU_ILf_~c z*ZMmp3p;&X@~v*(jsw#+N&G=()lVVXh-D9V`VjjV)Ajd_SE3EiaQa3~bzQ;n@1FdoO&HrCt0dea(SEkZzu8{W{!OlZM;mOI{(&rht}@+8*{x&sBwLU^9{qsl?mURFlssuhxzeG_U=Jn z_U?DS-CY;8q3$D1E1&B0r1kee|CNN_F{@t`V%zGxbPndrWT)>j+n z&Fhfnze>5z=|^DWF0>(~ncSeyl}(G+z{=Zal{I zcKUF17cgs0bLcgR{#(-VC!w=uqO(=W9q}A$XYa2}9tEBA5jx_z)SgZcu_PSn{dkUa zqW3jsrE|9TwJvD?nx_3by{~gAr9b9<`J?@3y+1o+M*BaqHqaX3Jij=hj2nVf3+b99 zroB!+>3@J!+ULlgJ{Q&BY>wv+YtG{HZFIgvN9Xx9wkhTj@bBi4u*#6m#cc9L+{M;o zx-#z#a6InUVTb$z_cQyUWwo#42$!@W;A1bX|5~f`E&2E@_YUk5+Anr~GEb!!k3&(v zkM%FLzU<0Cv>Wy3wch2{i|a#NSL5+B{w<4{k1LO#3p?MH78zO!Wez=)@Gn;jsTEZ+F3MyMt$3pqFhSP5+-&TokXTtj@ ze5_gLKo^+h>-A=>0gsg25wAa9^uEedc+dOsocyb%{omMUh=uEZt%V!w<^y5L@#UB- z;9mRyRQ2v;o6}r_7l1WpyV#b1>7v#utm9Mq-p`}>Tq9oZ{X7QOVFir~9ZwWuxjK$G z>;e;PbcvII8oyxoL%J@y_{+&YXv(1Uu9NgOJPdE7z z+p75(ys!12MgPQvRYJE@pQNvW4MMxFp|&xry$&|(d-bQ9 z^=#pugg;5Rk8T)ZCq92*FO(V2J7fQ>YrRh?Zzr?Pg^o7IHAizrZ5rD-wsGs4Wm{ij z{V%a|OOp4=Xp_7y~#uhJ8(^0{+eMov_}ap2F6p z%9J5cPgs2-U;9+Txk0!WzZC3gnXP87q7&;|z^aS#tB$fS9?BMd=!7>Suj*2Rw>7I? zowliZ9RU9%-(ZKSeAB(zBTN0(4PccU$NcHUiwm}k%{BNsa~&Qzu&kfTJ>;yizk0(5 zZ(7DzVXaqcgMsjU+!z!W@cq~c{Rls7?u4H(?+?G=vTE>K<~sbbSp#VjtoAA3UtlWO zT1BUG0e)Xe-4$k>G0%P!GbnY9pmWQDMa3ci*?R0(!uTi?^52vAXp5vgGDU`Ubyn=F zujfVnN}ffKgm!)VK>>Hd{EX)~YdC#6r^}9xi7{Q{PWKcxvEKCP?O@h=qY!OMS7!Eh zdK)`OmfWUxIT3E7=7V7UodX>!6wV}GT-6TO!@BWRfR_@#KC;HvN_=nP>+mSzXHh{E zd?!4c^x-F94lCgvI6_Sv+C&`BKTr!H%8KliA#XQNE8kaEigKnTUuvVn@ibxg+8xV^ zQvKtQ&-{NwKl)Cdd{*?wQ%`&h=S=Ux(e5Ya0>w$N^3~XWgymxw+|pi-OSN}99DSb! zmYssFuek<0mU#!duG+;i-dnnxUKwy7vbDAh9`djS^@?j8lt-`V+F5sik*Zhzz zl@;}sH|oc{(vNvNVTXJrY(-wV!IX$$HuY69FDt8Ar-d=0^u9}$I;WQPXkWwWxEaRG z-CIt5@9=W#t%=_C=H~0y>CWZcn8wxLJJ8&?!+Pu3w#K8@?s(lCuMPSREAP+6>*hzD zZ$0uo7a4mBWDoZ#qm6i<@(uK;TlTK?Hz4n)aBSx(u-aSUcXJh(|98~{5?jctIV&EDpOMVbe#Of`8u6X<&YfomG8Ps z%IinH*RmNp?K6=Pv5WQD>&5ARc+RURJ>!+^YrWm9M^gm5`i`UQYD{YV(0G*8Sd`Q_ zlPeo}lgDMx<+hE2QeUhvgB@cZ%~x zyU$h2c{bANr#c;v!n5Y9oqvI&%6C<6vfk;|)4Wx?>6_e#5%-YwAGdtQ`e!EP%D-6d zM5muk`d8+-_Q*%+_L!xtO9ztBer}U3ev%)?Q$MGl-;^HL%=MjqA?e#EETgeKqV9f9 zzXaVA621tg&BMKeQDuB~E0X-#14w!JG*W}_^>RPV+4%lB(V?xv-wT01K!>T`$}25X z{a!8lQDb7ozduojzeGP&uLtkkn{}<&{dXzg__qq`aLcTD`FBd_pI)%qvw-`;S7E3I z$G<&Lhvy|e{O*M@t>4vksW4957bkv{^cyGf`4zzt(mki*w@*Va5vewfDp3-hU+o?A z^tyL=R=uxp*eypnT89-@g0-G$F6j6XJnzX`#H$0cQ7|G%irx2{k;;F zj|2_jFt0Rbv~#F+4unrNf6oc{C1%}^yTkk=@#D>LEhAh0gzE-ZwvQJME=&6=OJl;J z@+A5nC-(oH*qmwhvhFHt37EZb4)WLc`r1_z)Z8?XFR4T|J}rE3NY=m zhhQ1ix$_f_uforp`@yf72g2`~2f-i0aeev`R`?xBow6Q%%Jr!iQjIVNlAv2M*#ZeK zo$&f*wbvHr{_xIbU32W6=p1ckD1@LsQ9V@Gw^a}!e$Su?d!a-AOGn?_iv2bcn=14F ziN4OK|Che*=STZ@T*EmMzDfUL$|7s{8ExwGXyV_s|0^;s-ZS?Y&NuPQH={Grd^h}o z`4RX-^E2>AW{OkD-}gR!@?Y)n2Ks8ZDvG+M{|8*a3iNY0*Gv8U0R336FW}d$|D)q; zA!pg<8t!S{);St^XEqn;RN>sd#deb!^-FBGr4t?X-D|FsbTmc^w$-eItx#?pBhnXZ z>~D^a+F<}(nNRB&K#0$gstjb^XI32xco+1UZsB-*0339Y8t*AUfUM!~BM?NotPVC=5Dr;HWX|8*0E7{+rXsk`K-H7V0%V2mD?BHa$ zc9TDGp6o=t+PR9;-F1ieBA)t$`|PQ{+Aa8uj@o`c{u&tL9gv+&l{rhU(DnS=Sak5J5u00 z*8NYS`kO; zdMBB~-~5CuaSA?kDql=yuFowt;NVm+(?% zwa3~CZ=3KwX8C)lS!F52`bOV$9(@_{BdoVdlU{5WUB6z5-o@5i4ZR!8v2SEs=Z)9) zEAL&z`<@S2Pxs6fq$jy@wS50Q>OF70wVL$gqvnX(QS0J+)>{X?DQ2zF9rKlKCRR{? zNcJOM<67-6DLay}4F<-1E_Yh_RBkLk=3C$ShLCSZv)ba|XpcN+o7MhTC466^GtR7j z|5w736DFy9ZtEK*mnmZYvc6kld+vml6x&$8C3=H7t2Q1;{0i3FhCFX>AKqnaU6uHa zh*upIwt+QQbZp$!@yff8;|usub0=Ig*WlC4UGOF5Iy?r}(l?RqF2~dT*^}l1e$(6u ze`2n||2B8QdM8A_)x~AVx1}yE)v_&gZ*Uf~+H*k3ZR^7;!i=Nv>h1!4%HKE1gwBUm zcd}+P@B=%IjZlAcmHoNQ{oqB+YLj^0Gzi`h``Bn*4&D)#9R;29i)BAOuiVu-1@XFH zE}g+_Gu~R3-wE$;of^D2zeCYCl}5l0`Oeh+XmmIqJy9(%WSi0s*m92Z(o`*1n9*r@ z%l=@hO#;6@CDH z6k7|pC+)u*z9#{9I2R*MYo*%CAs^Pz%Xdn6*9M2Y_!{yq6m!zGdp7Clx}w?sKGwmv z@Z3$=bq)12{u0_XjuhAn>xs_Eb|+7KFY8t7{mpi8CLDue`q}7rO8+c=gN&SF{r#;U z%bjC^^4e`~B%%F4($_F+Tx@D?_U8=L)d4C;a%bxun%E~gq|1*(oPIcb0ZhM!^T?~= zgVDPMxi@kwau;MBISlz6a(CnezrKiU2GfK=5X6& zyoB?4%}?nl=y$&2DqB2vDBvB)t8!~>e=*nLPj;|BRAPVIKhgH7O86TA!-+rManVoN ziPzO#@G0o1+&bGiwsW%cFlIyhTt|Fdqi=%M##*EAFf0E(<|_PvxgY$PS!-5(c)7+6 zf}bH?`3km!4h`S83vD>T`k|lAhokd8OlTWn-x%xRntJKA8g2NcZB|kI!FdZfU#QG` zn)5D6-ot4(y_Q6IiA>cbC5eRy2dXMn#R z_2KuTKCD1f_Bu-aO3>P^5GCCn!dXsdCqFjfGtG2&w~d${^D56s>(LF}dS8{ML%#{* zew4aaamdegeuhbR{$?Lfry^1ReCy*wxBdn(6@MQl@X zQ6KJ%`tX5KA3iSX(~uWOefZj_58oa2;iscMZTmJ%XuFcSd~3dX8f`Jkao1R?TBjy_ zI^42YY3o|YQqjO=T*9b@~mpTn;n;q z&08E7$3h&7acrhz=@@i3wXNHnFZDO(Np0?7{X70|l&#~30&Nt6%0ANh?{faM{p9N< zPQSC)=qzK3(6M?ZonR?X5r~wdy#W&d*u;m20`g`O%(X6sAPxzjM zWkxY7f+_2|R1*82ck3b8C*Q^?m>o&FK&pCvYbO}Jz6vQ1)rqYb_H*&iGIoc=jB z1|_=dn)RGpA?90f!Itb*ba!z2*YJKxzEV5Oza`$GGMSzlX&v2*92ISIk#T>L_i=M< zTeXXPjQ2eC9jNaZr_Wn&3T3=uj_=Y^)Ku@cwop&CRs0?PMC<=-|ClDze5Y2=Ms+LoF`F{N$`Q&SJzVDsyH|LXoE&LbXzb%N@{(sO@-{(t|{iQ#M`q8NJn>M-*(|wP4 z{8-9dC0_SH6ko7yW$uI>@?3vdl@R-HM(pbtI=jo!MdTu8wc$Xs`e_}reh0RrS>tF= zv-;^Ev-;wAv+8<=S@pOG?!l^6ML+#rh>o4|UGe|irsM)%rlYJ=Cp?DckWP(FzwhNT zGONQ5w4Cngm-D7)BQlKIp*-7Ho9g;ca&2r$US;2UlkbLv??_mt)MnDxvk5)7df4f+ zk?*BM_oIZrPq<@1*_Udwxy|~%=?dmY>DY~v_`jL8&Kzsj`g6YdI`nTf%jVzBnxpR| z{7b@fELr*>os|;aA>or?>e|X&$n@O})mh}lzvztoY>;a@KKY>&yyiumN z>)j;<%_~Wb+slv|vyvLGk{YX$pE%#*wCVR|)lC8W!A7=JIX84q|0*1vfqg>zlH^&y zyfN2vOPSSvYnx?jQ?uHBwHYfnUVWU)7g}$5%DXnPfov^zAK`)z|5T(^VJ6$MmI0 zr_5}S_13Z;)tyQ&mbcS3<#)5Tvi>^g4>Lc`INZ;y_8noqh4`){{?UZrN%+S^zt_OB zUb3@b!pobr#tb&=Z<245=@9c$j|aMjOmsa@#Q5AbY-x zS$(CoTS3P(g@L6Aaw+HCEy=sPS>wT~-S-@nw{V^#;qA-^G~VT_MEfM?dnC5h4htS% z`k}viDx-pZGVw@5bTg2=6+*8KQ!TcIp9Z~LmKgP zLHP_x{i1_}Lx^wpy2&dEA<#Er%#Nm9rQL)iv>$7GF)(*8fKcLI67H0$`GklNpvot9h+0SGwvLeY?bZ=OuQe7wdAT(=TXBuTwXT!RMWR5$XRjYo7j`u%ysx6^F;VqvkD$z zuEOV<3;0TNCp^YngYPnT!46?8YiP@74<#j4u5eq4d4(p1{Nu9f+7Ed(zm&HzJ<9la zt=mw~Dx(@ULtfx)@OUJhm&!l^px)9p+ZifOH!`OJ%bsUdW(wmm= zS^oxnm}H(nr{&9+c61%yZkEmY&6<+~6JFh{@u5IdhH~{hTg|$m({HDoT@u{`%$uWq zviUX2zbN6G%sO{gh_>~c3_Wvu%<1=H`xUc%{V?Hg6Rxb#XrqM^UeO%iKZ@n(+Vuf^ z+Q8|LQqJ~f)psAW+T@so&q{c-S$;icj%$?8v(+cMj?^=|_ZKeZc=WWd?@vj-<$O<5 z{^w?uKmCejeZ=#d^;?M5%{$VzTbf6qvsa>jT*8-{b)9in!ej|;E+1bZUi0-`r@w+P z-!5}&b0oZ|S#2~ZiC;J2EfU@>;Uf}0H{q)izQrv2_a^brB>c8n_4_vAnN})& zR{TNU z_BUm}&FlLwfK9V;!G!3@+lkL{U-{lVa$PUUGTMRm^MUzJ3Ga z;rMMg*0}DT;bV=@r;Rg>^Lc{0^dirt)W-F$pBdjOib3^ppB_1X#JpL}i}Om{YraYS z$JlAD(megZ{Mq5puyWB)jpw|^8s}w=uP3LQX83Sp_3I+zcqTz?>2KH`M6dXtcl~^{ z^Qm!+F>|o^O;uvjT%+{vy-M-<2h+c47GwN0wH#k?2&JWBJvJ>1fr&o-UEFW~-03I% z9%#k6kmG1e$GO{TS77dHHAb3S!sM+<@9hZls_^`8tXJRx==GkQ^vhuKmm=nL{}k`- zQdPPVy~e1b9STcqx_-SLy~^K_ItHFC>`NaYwZ8p;)cV$E)#C3`7D5tx>32xY#dR#V zMiOIbccdI0Aj!X@C2??yB*{2W65^GT6`rF@R(Vb#S>y9+NgTYNq;PVRV*M`ZxCpHl zu`Ynbb-M2zw-DdW=P_9lz1H?B+aTlN;MKvprf6q#DbGEL_n*D%*kRg==hY_ARb)>foc%E4GK} z{8(c`(~y*wmLJf0=oypL-|_v5wOjQ~J&Sd%0`5tWYPSk@DKEqRmDp01=Ed`)x}M3u zX)yErei_^!yE^zCFm0unzW~e65O(AH z4^*Y+hj()!TLF)zQs>GV+b7KN-{GeN`~$Y>9GaY=@U_2miihJVmFO2=+8XOnshe>H zMh`HY?o7W_2H{_2L;ARH%5bqCej=aJMxHALMgNxv*d9|3-J--;tA4QSg$HI>`Ee=d z{C=5!CGaf7OG#ZfUx#981?trAns$nk^omFNn5V$<>h`G^RW}blB^N1tx2;M2^2R#n zsEDgZgS(3B*Uo&c3Xb~qUB9mDo86Y)t5I9=`9ruI!zJ7bW~;PqtU z%l>8aH#cAXhL+}&#`RO`W%rGxzT19fasQCUwQWn=Dc`x>?5^Lsp?*R1niq?>ep~QB zW8Jr{ZhR>xfekafLx%S;*1g!DjPr3<9C~J>xG!}5s4NcY<2RA6bNw#V-<4tcP>#io zzeRowh4vpdZ+C27%CKyd@7#am_ko%J!C2#= z68=ZNUHFYLzu&y097oJe9fN8=;?Qv-S5KLLH2imrm7gy&+g@O0*qg7H!XA z-tlf*^IUC2eH?R*RK#(qZ5CzyYx+sgAP-;u9}%{v?33&xr& z9~rAp&y?-QjBT*&Q|KD7R?YATW33168Q#-4KX!57IcHCC{SA&e)~q42IGyG+SXI!)Bt2hf}cp2k}U9qKkcXTng^?7hUFIF}G zF8r)#thu+j@hO~BRAO9WPK2Kw&8xd_8h`N{=g^Rai*_65(muAo&-O6~^~_PfxjlyZ zRp`X&NX31w;h}{I^F^uEG#)^B2aR+)8^&vkt^clB&eqr7u$I!@&SY{kn1 z^BL0FjJXl-|HQf%*FRgC{}g`qGuGH0m*Gn?ET38v)sOf)yE|O}Ttoc2 zZqIp>%zFXetHzCg7aBfw->G*hbzds^h50YL4fP9k=X(P2cUy6v*}7Jdt5@OAXRLk= zC~(UZ`$1KH(>TUne$(%*BXvBeXq;4Z-?|1q;HJNK(fySAs1j>k1*~@<^*M8uP4|Ps zHMSAh_TV(!0^SZxE>)VI_&DWN`!kNRp6S;|e?udVo+TW!T*0Z(#$3wIaEbBnX#OhWLBun`crf^GaL@mP7#_1v`qeFBSe6)~-QRQX^ny9O zZdiWn|EG4R(k}OW|ED=GtzFCqa^BS2nCB>+WASTwm;*lZD&1G=nXczm`W={mcz*YV z^S1G#;CGA{1HWs$B=|k!0pOUcTY>F!uJ}Av&&+nRo;lfPZ)4)`ez5ThJR;d{sbUVV zN?6CD=g6F9oFBN|zro@7PPxt7ec3)~caFD>m*N)n(_iuVk$ujyPM6Q+!0tz$JE`E7WV~*LTgN<3BmOB<4eVLx0yxsHvhy0uWhx{ktPj8-l z;#_H-{L@(Thd{H_~f!`*8i!`L-50K`fq(#f4|N8_?_`Z@VN#^V{w01 z40A^eJWibLaqH>V%z2()L?3I*^lX3ZvTf?IevvoMiG6ZEGo$~18^gf=h3!`V3)>pD z(_4RjaBh|JAB{D~e#-Lyv$5t_iOHjK89v!dWAP~1bFA`$aivtMyj5_fIlg84>A6AI zT%F#y{7>iAGWeX<`A+dSyWK4cPKy5+u;ZU;j4{`j%bf8metOu?U2s?*(%&DA<+?O} z<14)%Po8Q7@}Paz!H*hi;y-I#1?#&@^*&q;9N#ZJ2K*`%l7+%jYU!^}Wuvwy_jj8CSu59xN{WYv4W5>n7lI@WI9% z;M0w-2VV$Q40Z4g#t(yUHGT?wH@HPPBq#TQ<6Q70m}-@|-Y}kvHR3a4reZh6AWj9& zH^!{7-Sydl^ee+@9x?4X@HFk|y?B+G;LvWmr&rAK4#(IaqrB^>LlJ2yAemGAU>vQ_| zjdlOpyiw{^o8Dho*jVp4tZaMsik;VK+hRk-U_8HG8djOJu%LcfO1NX5S(&_nNm9yr+%zUdda= zYUdkc^@Ab!f96dKCTAtCb0B)4?~*I<2qo5`tn^B(K}2)~rvB^^R6~^CC|5Wj15!7dKY^hh=!Av2wV- zapVwBX)QS!z1ofA_I&g9$Je!)&27f|d!5Od{vXE5QPUP(@%`3V@l`YZrkQ^KOn-{8 zV!blc-)XGAy-;9I6Gb6$>74gop|5;f$ZE@$DUO<0pmZI2DL`{ofI?r`QK`Wo1!e4Kf4&R@7_v$P^ob{isbQTk)yzjP8(fnQSSQ+xVo zE@B$zHKhvYMmUs~6Ws>5e3CKzG;SiCoYjvp#zL}uFuQ4ulHZ&8`;C6I@c{Ljb35udK|jg-j)wLcc`uoFiFvq6 zc?#Z#)XQJ^{oMS^%#Zn^xpoJG*kkJ=?|-GfV*DNFZWVDQb>FMlmv{a6%$MprA%W!^ z;r;*@-|0H{J;3C|;@u^U2}q&3(Xbu`diBIy)gO#=&Eep zpDo6%2439yI(Qi{%kk)OxO;duK8qk06@3^eX{%lX!@64LmyZjKi6>t$`oIMh9+v)>6~O=!NeE zYi+w(K8f9>9DQJ)7P)_;UgJ$aOB1k-T-^`8NwyUI-m~&nWqT&t1-}B;b#9%_rF@%h z*iZgDe`6&W^zcq|=yn?O(L)OVYLn7-PgXC*_xm@M?n3vW>+j9#6?@c|w=L}Nr+zMD zahJ;QU}K$&HY;$8uuJ)2_`8_%57yShjP*{v3Wr(xyWD!;;yO!nsz3U3;idV6jmGpM z_7&R|wto!2w-vbMNw7=#DPtnGE4?ww$fvuDsfhCS^!_d~zlpVD*3#CQY!bJW+^ z+u?$y(x$BYb?}dT&@>*YfRtn1uUFaLf=_$RW2kyy1FqA2p3uD3IBODo0H+0XeFI0o zL-2&+gY!8Y;VQUkyQ04}@YJ?qjp+dQxVpHvu7hWUv$Fit34OQcVTuRrQl5;jx#1`_ z%}4!y1^-gf8mQQ+#jgG@Z%N!sn=dy5jxOH4ROJx#-{OcqL@B?hxQmkJ=Em4-jMSD( z`PnW`&+WW+QkVG8Qzt%dqmwTWT$uG)NlP=tK`n+{R7^i#=~SuA)UQ6_D8nk4>`v5@4`JhvkR`;9gkkz z8(jZE);|8ynyLCY2iZu7O?B?2cnb$K?w4b0s)m zN46ZucP+>W(oi@v;J*f5A58n{8dmG(jBZy{O7cHDK)LN&7E0xwUA%Jqv0{v?j`=p~ zBUjte2Bobxx_yl`7mqU5yd7tpkGI+kU$?n_R<|4D9rbZ6Og3+J^XOYTW`j4?^>b3+ zd;21;@EP1C&=02VTL^V_QWr47`(VhlAU}HS|ZE)s*n* z;LXsFMBf1(307Nm@UGxR)lWLKk8u@z0Jh@Sz=xoh&kpc0#(GYEs&O5Bwy~a#Ut&B3 ze3kKM;G4memc?nW4(6UL#s4T+ZK*tKTmioVjy${#R?Ic@AA=Qh9sHF!CH(&cmY*uP z$BqSV2loccPYpbeaUHw}n9{PO`d^gtQW;(>!^?Kz)+M@ddHF8f8n(Dj*Lqr4z@=r1 zcG^}jmnoCh%2m)Wjqa1-Bm&-0_H{kGf#s%1-E(b$q_q9c_NbD*zAtVWbn>$tGWdTq z|M%z)H@<@F+S9>2)9InM&Mow%4y0nd0;yL1hQxpAW~6v`A+2b-nqJIzIX$3AMC1 zQkU|}BDGHb9;r)|DpG&bvL=%FQeQR(tBgddFMmWzvma7@IRXhc9cL$)gSvD&_y?R< z!Md;b9^4MrXIU$gyBhfX!bj&dT7PsZalc&!$8(8x@Kx~1S91ld&%u-{l~_ls;P?)N z8d&XWJ?>z;4clkwd>!mkUWGVZ)Rj_|eepFmE=ez)w(R~V=~p#h&+_iVKc(}#f*_GQpUm3` z-sQ#@Y2s2yO^WGO^y*{X@;y@z_56?qXiM;}B2%*|vdqn0ec0JoybjmtrWpG3M=P9=g=-x#(9zcY*6i zfp5uh|8XRlE^m$x-A{cc=afVGvL?W-f%gaR39f_nJ!pG_)#x+$Srb?Vf4m*nQ{sbP zM!yF7I#|zAwYDh{`s_rw5BOa;%1Z^TV@UI~3hv3ayZj(k;&>C5UZuGZo$Ca<@nCsi&g%9MlYW+4^L?>J`d}*OLEk9p!wl%R`fcD%;EZjr{nKw%$2wB*U$Vz z;jd)ePbVLW@*o+ptVg~2ySaHsbhVM5ukVFkpI@pR3f8)*avYdAI}78H_@`$4b2I*B z8Giy8escxuyEFbIaE=pP4@o>C3G=?P6br#4sEe?H^CVJv?55&v!L>);Q9kL|ZN z^BIr)ga3v8C~%F*@>TG`--Aah2RfM-g;0ynaFr)sNr;m4N5hpKm!%nYEzWfucBPrY z(y1%}PR9Uv39tsB#g>4Nul$M)WfAu$oOy_1bveba4 zQhXPJzH3l6s*KO7E8uwNzX~3Y8*$pfS{GJjZq&e=;Ge4I4(d+Xgt?O<;2gCn`|6A) zSy9TzDM!X*GJH&im7C!F2|TKZzw@^yaG8#q{f;a0ccAM}w;i$c`YU~n_w8dXImNuO z=E;xxbF=$(nd{HY>Q4e+hhE=-a*ONF&gvECgXrbw8P|`a{uAS&B2XgcrrnD1ZADVr z&VySq7I$f5{jK6)W1T}r80-6CcFFMJ#;>ARiFWkN?F4)u@A^v{VvhO_*I({>hA!py zF7#SMYDX9EE9}GbIqlcYzXJYbW5xY}asD@!s7v}S1P%Yr>lgF!3-hkVeumwP9DK*Q zdmiHsUA$5hhos(@yp_Ibu4)X%GQTvhmooo4{0uhMclV6Qu^fpQ<|N>i_)=qqWQPNKi~Kb;<(OO<2%t3!-`9D zRq`$LnrrblGVhspH@dGf-2BHPXUcgWW6h8G3fx;hR2E~O*qhl(`a9g&la^x^y)a!V z4KvpLgNx{;Q5@IGao1s6YMp4msDHspYle)NCJ#1n?q|Qz&%@|8EMiT^^RC9~gNpK@ zzyFB8yE%mV)7d}5yvMLVHM5tE#&8K_d>`w1u7A?;sD4@g`|@V)gOFFd{%Pv(GuHRT zs;GU%9BZK7DbW68^Cn~SZh>1~0Dlf9PwDykc#I<-d-6Oh*6!8OzX-R6pB)w{o^#c~ zr9G%%C|;t@rTnrnK2sdhzhYhZRy->5?^1pq&Mf#-ELD^XfPEgn=H{>lUKBn9+dKrU_ibWMi1RwWE9i9}mh>rX6rKw`0g6e_qz2=sJAMX%cf=W& z#;Lrz0-sNl`x<*2ea^ibvdVtsxg9(lTa9B4ycw8g(*2^I`|BM$6+I_h8Chl9y=bdP zGx(J)3c|Zcp|&lXWY6dMO=-d|jTG;w2ET8iQ`wmMmyuQN6s7#O^UiK-^aEUeqf1|& zlHs>9{6QCPy~++{`)ZfI{Baj<&1}>0CBJE$>CEZGOiAyZU2D7@tHy)IQyG*OjpI1N zEUhbAx8A|m2d@7Y_o>30 zG*!fN4;dsqeoreRAC)8)_YVcM4pi5 z&|B5DZ>wD_>BVhe$D;=(EBl$zVyDvOr^Yc>QC>OQ+?P+(_E!)aqw{ZpfUiQ zuFJy^(>W>}vxR-zzHrtzewuUIHpYteAmj8s0>&@HIWObfVytHxlQRAD#&5!Z-&of# zKN@R3sc0VP82Ifz#q)p#k(9QDDqI5_E0&EiJknV6^N0ese9H;%crfc{a|@Hb2cPl} zbsJ~0DC_~Z$~F&0|XgloI zgr`$@*l+Cph;4iO8C;Qaz`Kj&JqI48gA`i(29E$Ve2uX@Q(UB79C9g6IA9r74m<8UaI_b>Xmd4=b4#%ily zhO5To*nbTN+au34Z~F>66q-wZuY)(4eZ5PxBl1e~cC4^NiMaP{;hh-vV;(jh zOSjr?RE0Iscqa1jig7+Jn*T9>KXmkRcpX%e9>qXa}>Uz4Aa`6oJy>p_A&uzXo?{sv%4oaV4HEaIqeZKgO@M|{X0-A-p ziay@YseyG*u4B2*rhBsoX8{n%g80!KtAh3HM#p^(ycqfc;5v9md}=+?0qRmdvl6h> zIu^V`*d|SIzWm8!P55GQ4xfsev```oU2=8he#^-=PXtzh-9iYv2>j*I}d2 z2Gkdoap;9BZ08wQ!50<$bRTmySmjnE-7M9S(mY;p(r0h4g3qs@r0BPFmBV(n)$c1} ztAXE!!*xaa-nQ?-5ks_Ffm1%%c?L(E?cf=#uYr3RcYq`QI(Rngr-0`(R>1mh!t{M^ z;6>3Bdx}Ayv0hYxOgV2hp3PN?G1WeW^cHziUsQgFt#bZrIgB`~@YjaV5H#aD{f15S zH#ima5nC0!HT=s^c7R<{43|`jIVs&p$Im5SX)kd2JQDm@cvbW+P{ebO561niDHeD zj6R)3z23RH2zeg*>&>4~5vy2t6zA>eudFcEuD=PaLU6q4Fc?Vlc@%IE7Zau8fYkn*WR?Y{2;~XQSt^dS%g^DUz z-x0GCvc@(D{!0cCJ_DD1mF+<|grB}QHT0;XlwYa@ER|o*@Y7xRmt)Q% zu6$A2;=9EZx7L-oK6#mX_3s_?rcn2dakp8?-Qk73@WRGgJC-%pZ-uR9tY^Pl84pbt z6?EQnAile4cj`3<_A>8%aLsri_G2z7@){Ecz=jQ5uH91xN{&WZ9m#h?c{SwpBw0yi8-a?R{Wo*!`B!pu4qTc zy!cHEaGr8oic!b8^f8{`Uaz4aY)*IhBfv2Z+kmw`sYG9D;8^eL;5b)I0lSoEz)#=@ zDgle@iXQB04)wLV2^TH!bsXv3wu57t5#64~I_8cu*1S=nCuuIm@uzd6)`HW`o5?ZA zzuLPT{lnB>b!{W83&@knx@!g7(Gt(`qVGwkegSu)m}27o}fE zfvHNz_eo%us8o(@=UqZ3Tp#wvqHjXh*<8x~u?_sbDk+Hc`I>CU;OHv1vxK=CN9FN0 z^oyZudNHMxsWajJ;kRsGJWgH zS)O#9MSkLYg4^*!XZOloJV(2Jb?Q$w)_MJ0V;zGNGR&^Z zFXC0qF2B$#50Bec$D>Nbr@w`h-4xfa`JLU+XSJ}=-Pf<6cls8-; zV5vL;d`-dm#q%>U;uS zv46pMJFlHY`wL&^AKp|NjO|C}ZRIwZ4Cx)qXj3sNhP@6bK1cq^{B6vaU-c=z*C+U` zqf>s`w#)h=Uigjn^Bm-Tncemyr(^%0a{m4%hGL9H2_aYP?4x zu1o9Qa2_{5esfM^sn|9DwSH*sE0$N`NxozLe)g}il>VcIn@Z~k147`raq4#9$k}eY`K|ZJre#%WBs1l5ytAzxC~Fo@Ds-S!g?c^WqB&RndI7bDePk68+-Hno2$lF~L7t_pi; zEoihq+q^T)!!}*V#XFW0Tz@w8_Zh4ID)OndxG{$3%{w=18^4`@Gafnm(7f{+ct4>R zzsCuMY(rAoE`Ya)v0@mQVG*!N^J`7pt?&Aa?VrS^9JHg?G5pe##aKl=JDGne`~!^h zzN(EF>##Y-yuV^Iw!wxmOXt)}&}$g)vwRY%K&Bv>s-+JtTgRkptYkAgSfzrbU!|px z(hNdsf(%7+OqVt+WP0A;`FDxv<8!JSIM&NLI6jk1PT8lFdG$C-`ET^YrRQmx{`xL` z>-NFG_Gu+~G`APQiH~s7ILfs_%MQ&mY$Jy>q?5;4@{Zu`}FB`A9_u?6r=AV{dwI|uf z{E6mAZoAX@U8vXjLhDP#ya&zGdZKtDC-M7_k&{?QBCe%v|FG?qTiLISeloJLKVd)A zc8_Fs&`TRn$8KBnT2pqi-D8=Z`mrD5N}ng0%cj?HXOGmd0%B&F%a1{sUO~Q90hY0@m7~>ys**?r-J4#&!-I z;X2!2jitEBxC)+VTmw%IKKQ-htJ^0R&j_pF*}&f|fKTwE;O`SImsSkS{pbdPc^JJj z_y=*0>6Sht*_OnWF42FfB(M@N^-IYwO46%O)6##}qw890fBdrsHdo-zFqU_js8fk` zunNAESm{#ANxU0bXTR^Dru1DSsyr1xloY`Yh0k>Uz8@^xN0DMoMvC+*vIY4zQuod- z<)7$l;2*ni>W@NGe{`(7w3ZhPm@WrO!Fj7wU21Kf4oBDCF0DNpIN#E?+A0SF_>MY4 zL6?rR$VGf7(I@nU($|P%;1bK=kNl!|2kBa# zHK=>%+kOt)6T&a@6LvS4H&;VD(~IkV9-zs8v|qRV+_sOLP0v2;9<|-P*u7<}zJ8ry z^;iDX-t_#bzdELRomv*Xt%8qvjpc7)V~vdp(l!4^B`>&sAa)-Z4^;ycjfG-ujH`TF zv7W3zysDp(eM;N!@u8x*{%dygn!i%Umz|z_o=wMe4(HM+J*RI+_BVg!j6W^^aeX-0 z{8cl)@*UR>k>BXYy5_HDzH%%7aV^pA`qf=urk?7~dgW65ea%}V^P}s>r#QDwL>}+@ zHK{+}So7_=4BwyO7mSyN|4xQ6NpnUr+KxVbVczBB@8*___o$aPe^c|JrCjM6<3)_O=0;9(74tSX zFXpp;vrOMPv5xDvq<$N4Pd?@vL_8Wp#icR|eLJ$swwG}Yd@xvjsI!eH0O2WY@jYTX zc#ejXt~a=4I>r2U^qrsGf?dj66T?|>C~bOvuA+D~M=wXOvA@Cf+rd?#3uzs@AN@Ay zV(uNx_Y*0ehs+;oKHgKF#FIabr{a6Xyd5&0>^1Jn!>811|9kUxYT!kGf;ZEjX^DR9 z+`xoOha6hkdXfDWpqWwh99<#p#@%N6g@}Uwj#Jz3! z{+D@&m>2UPVu*40<`6$8H~%pBea7OIvC$az&9Ic=Ct_>#Gsyg-uwBboW4v{S_cB&& zha0OuCuaI{GX3S5UNMwCM>UqpmtxUjGQqqt_)^iaA*o||5iVpVy8cA!U(Ec!m*Fon z-0cinA`gmfW@E+t+YB#mtiOw>8tcAhE#q&AU^}p`tF>;#{g@o00`r!hh*Vq^gcXa-J-mjHIp78A!OLzaVw|UV&un((~?H z!FE@=2do@c+3q)P2fLKdqQ8O9$#8pU8IJRb>N%E_8 zTXGKbFNeRBaa_xU?JDTSUE6Z*?TR&Y3-hmZTX1@{!;9;L{ak;Q>uEC0+iu*0Y2Hpg zy6|&?dDp-jXB;ueM&qdbD8I^&DR21(x@Djw+L}#CK z{Y|b{|24jie#GCB%6H7a#r$#uKX_l6cN@HxvtTh7bX}q%8_CB0&1~MC*r;fpv?Fh% z^FI-IoNME{WC8f9U(9xQXLicpui5<|3>?3%%7C;38yoj zXea#NZT_S1CxIE4wD$BY^EXWP@ou%awm_8D;aJf+)y}5%{7E=9uuJ)I+ptfl#q%EJ zL*-@sb9*?t299S`z%*CLTdB$x&v0wtci^k7I@9?x<9oqh8{Y>$k;OX2iGvcIf?rl{mq%43!Oz9O5=HM>zyoS z>2E+k3VEyL-R8Y#-t^ju&sNlq?4z9rZU2GoN$oF=$v6fh&R5O<=s)nIy|2vwWIFuD zJoGuIOmwBTPyYiy{4Z+$)Qm3&u_lE7;ICr-=jLmS#oq`$xU`k)zjS@s^>Kf#xu2OueJbJ|8c z&6QV*?SOua{wwHJ2pM z;3d1;kg+z$+=}CB2iq-5JBJy^bzAtDp6yupiv3*MErt&jqD^hb+7oSFW8M<*?#$Yn zWUSA>rWCmMqd1Z8PuM4p<_b9fE)x9?_WbCoY(K#fuCev}OM&a)*}>O$wfPFyR~zbM&As0Be{g*>{g_sJaa|Ja-fp`g|G_SvpBBl z>M!osUK@Yaw3q(FE%O3h;}(NREoeTKfwgUFh|97~21dI4Ety?Mpl<;%@=sbJpJH6}%1M&1)QgzZ2uP z1o}0w9q9T^>@(^kUscy{M*UXCn!}@v<9(KhWgqmL@l5kjdUa$rYLi0qd@#hOwlvkQ zH7ELlDsg5vhrX5WgoCnqNpLIA(-&v$S9uh@a#Mk%>)w5dxgGp6dhUVJy`A{)i$s}< zUVe2MfB2kD3C{)A^AyPnTlWhJP8B>mSbvYG-0AOp#c5~jkDl1m`kVW&q8CU0#b-LC z_oVmb9Z7{yWotz*Tw~MUJBnXtix{SWHIGur^koD-)fe&dw!**Kigqht^-J6;Tlj1T z@8#HPVEGrPgUzM9AGr&BV21b4@B!e%@k42g`9z3mJ{^btAnH$a{o%HY`U}w?jP7FB zA32TsL(tV-U(4z>SKdN@D7trCe+;GGeAi8kd5U1_X!>YGdX40P9GuXFnVl=*vt z`rgaasIQ?PJ*4PU9ef}Bv*e2o$9Px458BV>R6PyWc&oeueg}RP{PPH&X$TY8o9LgG zfAB}(bHH`5OZiOpzeL}I*oLFjGfBm(^4%N7`zbZr)q7vccO9(nkYthQP% zD*UT0mu`}>i+uEkqhn0*=WWe{Ue7nwR$t=|@RDHtt+(3!;i9f~BL=k_F{s^$p$;B^ zEdiusO!+*|{ffR+X)khH1Fs67W;$b2Zn9GTi}&%_Io@fEASp%_{Y{!n`F!}p@kuCY z%~A{<_7Uw?A#eE~+Pw&yQE+k2bD>PX=F&z79UeSe?5BtW$Uu zd?h$?ev@$r`nqu)tkRAC#`s<8cB7xNcPU>+-9y-7Hr*UvVtY89KCiG2KjpJC{MTu4 zugdDHheXq*@_6*0({`St>&^WE{RD6oy7F~1xCU0fgzI4C>o)NTO!*S7f+JrwaGsZz zjv{wc(5rOI`tvvWp-d}B*HJecwwO&fN7ve(dDEGr@R{fP2J`UM$-BuqnlF#b@Qu^p z-kR0VmF4ml^aG3jrS(el?M`!*zrTa4G@$$m*T9jdIymN)IvMk-0*?Gu!7AOdxZ^mQ zR?hBl+sxa}e%@_eT8HozGSAPs=1^U}3p|8AX$`KR*r4bih|kQ7E8xAr>T4BzDEIP8z{-|q)M5OLt z-(x%rxNbZT_JW$Bg9i@fX0I#R%~?iI`HGdtmU_X(>WA;FZdbsHSptL zy{l38dJnt&sBDVTI`ZHG&}8RW#Mo0)e#~6e+om|r7dz!Arctl+w@Z0ahMxkzO+18> zKJWeCoELO1*4kbrusBYY&(HC%{41Z|gQvB=#+q7%7i($_9BXPF9BXO`KWatMz6miWXx620=KKB}l2aSnY+ zoT8L3%StwLL!5aow~L^BkS7 zO_ft!uPSHHYEVmdg4a zrIpNim(RL}Ht=IE4M#r}-Uo&~n% zp22=r2g_##{kqmy!TrH{Zqd%RjPWku6~W)a-y8g%{p*V{rh@55^YZ8$e*;YX8hZT( znDFUf{RWs~=m3udD~38)zXA3gcnVm*0Vb?PLcakfeg&-G0F$38Sib=#JRGdw026Kp zpKZK1Sib=#eGRPN024kP{Qadxe#*q(QK7k+!I7W2z=}co1;C243hr;*4qnFm z8hAzH4)7n0>)^GGr+_yEQ(Bs7cN;KyPR~~K+hftLetRtS7vd|%Rj_`0Ofj^B_1j~L ztp@(eoDQ&ldrY=d zbqxNaz%5#AzREDW>O(qS^o-;Occka#Mc?Njw%-`f242W`cJQ#HSx~UmCCrlO^%;fA z^2Sy0U~oL=TEn=Gem!F~zNv8)ylwEoqrh|0P93}lIQb{6gN&=-m$xZCC#ivJ=zl9d zcnp}*@-5;lFe3GF1mJeA<5YG(kmHX13ivWOtO4o!B`1LA#gEFJ##Qh{@JTEzHSiP0 z9pD#?>)tB;=>SHM3SSHV60TKH@S&um-+&uiQPUc|T#9$-8LJlI&BTf?{l zc1d$aIn$hJX4?P`r$uaH=-OhWBMq!gWZ|l|BI#O zzx-chKdahLo>SG|Z2mo#I-b;i^ktImSDQ{8^Q>01)9B|V`1*`y9AN(q_?|0rTSNaH`t9J>!9A|zw?)-H6KrPij^HYI9xx(Z^YjB#S~M>P8tZ(p zMus=e@JM4mx+(n;3^iSg-l5MH)D~qT_+(vtQVunL9oNB6=b#thX#7-OHLj#R9KzAZ zT5qBsX1jO6%DXsUfY()Dz&}{u4nC2##Hq2VkdpNMw$p1X_alC^J3W5SRf`y^aAyXu zNeu1axr}RI75SML`QQ3kJM$ylAtw~ZD1C>~{P>StNgp{}+VM!Yf^kJVl<52KGut5< zXFcnyiOo9|guOrbQ}VefF{o?=XFcOB!0Q{ggEuhV5j@;@9Qhw%ya)OXjSm8EWLyJp zY+SUWP>Z~3>^Mc0F2_$ZeXoJz?;3%nbFqy%5PvUNMSm6gP4L+czRB}#Gxi?JZ@O2zj!SS9&4g3NF zBz+w`6;2wv?xm(tYZT+y1pe9j3X>(?X|956T<~w*7YUw;#Yl11!E=D+X9~Dty%vLo zjVs_d-&Dbip{M!u`*F+IwvK)k<0;^^!HQFkM;KSZn}R=+Z30RCgNl^RU>>3sg8duEsNw)9;ET4()Fwn1HPpGN%-)~SA* z3~vuUfOa_+(=*$L>2rF}0C9b;^@MdEdcgV$c$oEC%dfM(3Lb3zaPS1{+rfXZes8c| z1yjmuY`m(Ra0mEc<2v{{<0;_7jMZ8FS&M8d;M0t&;FFEp!RIkolYg+j2UfTP%v4Rd z4%VfB`ZWc79DNu53=B*hEgmPaliC7LFu#f%XZ~>TRc@;td`Ywm{)oP(cEK0I*L={r zG1VMk={w^JxV&9cX-meT3Z460`pR5xEwv)iS;IlRd&oscZ(bo>J3ydOO9Y<7^UV%gW&28*VudR>aD26KAzl__# z`V4e)wFR!;$C@DA+|_Qy=RB&*>ZeOtHi37}@UF%Lna+t{(U#tmP|$k?3uIX7nLZx-@EFO)MOIg1^>(Ux}+DgZy#$q?> zHAnPZIgWpQAA{ybE3r`84zLgUm+XQU_S@h`*Rd7z4>BL?#Mk>#yQ9=Vyx@PgEK7qX15db>?G<3>3VZJeyb1}@t$tGqwsfehHq~0hh>^? z@AICF<{RCM(t0emF29(Q>0XfvsHxBKU55|Z_wlx)d+8qTm<7wFqq!GT(QhoqbA{Im ze#@AQuS2AfuQ^p?``r8!%_rXU3`5^3uJ2e=nWbOx+@cPi7c5%^+VkoHSHS(use%U@ z*T5@>EqGmH4cNxP2X7yI@UFoJ?-P77btqWvR>6JTZaetu*W7pToaiYnC%Z4KdFdHO zV_)Q_&K7-{0#^LdFU2pcekuOcuHzSO2P=MI^-=K)cYqbYa2>4pg{Occe)U~3OJ4ym z>6lL?=GDPk|8#u!SgGr?niVU>@l{2?AsiiRHMZr@r|Sanmgs3Fjmyr))ufQJR9-Q| zr#L^-pVo!RV7jkJK6lhkQIh@$=7QQHzEp6R=IK7PCHvfW=A?DT!#^8XL>r&=~$Q`panq_mxH zJHkkDHMTbZp4uH`{)O;|8|!a;w$AWA8J2VPRXK>csIk`m81pW5+mVxT=r5tK=OHge zUTEIs4Lto0cf77 z>nFIryX_m}igC~Tr{iJ=+u!tG*ef2{tKZ6x><_X1E!dxCtl!(~Fn$w!t?^L!j~NdG zznkH&Gu-=cMNY(-GsEnrxg)tSdVP0gKjaeZFK1re{ZJkipT1i|YyD8y-{*SGE!64R zp6cUx+s3?!@OC#=94hjuV@EzU_m6S?Ls^^h74@gNeiHSUWWH|AF!XdjjacP3VtI@p z)!utN1C`&$Z1*_+UIgoUY!LeVeOCRZs;-49IMR1w>$+tC_VQqu1s#r2h96JOU?F6AfPfA-7U(8yxgQaa!71Y=e7LB|^IOM~Fx zJDr<#9WjfP6g>};{|cLa&qOg-*>-xM=!?c;hLgC4$K!BtZ?LXiYv8pUa|NuNJmLN{@w&8LOF2@^f&;q-6!`QFR+^T;UR@b&5#v$B_N?))=wCP94g8+*?o7#lg1K!9+fiY-mx}nGq$7r`1jg{v)jLCEN1&kMFEF%9)X8q-s zrD<_SW7dn7m5j-4%j(ADvs?6?KdtK)951=iBk5`6fJ)erdi5?}+}h;RR;gyPbl6PR;3WhCg8tg!g7U+j{y{Qch%BW9vY_ zM5XxL{YtRbwGOsh!Fw-MtTp$5n|++>_tQV7FDeh4Uj;u6mc9ml&A1MBDSt@a`{+qQ zTC+a4t?Iu6FNI#8$2app0+C8D<0^Z9enVo!3X~seDI7ny1(7IFEOry7c#Da zmo~10tHJLEuYzYX*7MJ~jqBh=jrC>y1A-483}$$mb!@Hy zz7VOhHdu4G$~N2_(p=gWj9Dsu9whG|+3sl0AHaKOoadG)m;TlF7uN@jZeb_?6}Cg* zGbGI?gGYmPOsRw)`Hyxh;AnRM_>w#L90UJVuuJkk6`lOkx6ULVjeU|a_;Z9D}$*jS6=x?ttG0^ZPg09b$5CVdsWt@XpfI~li2PrKsm4c^Q8 z8u$p~)4?YjcYyz5d_8#Y@rD07_&W3&m#4sgH=Y814E!y5_ze6G_#+;~=(zirv5vbR zjdk4hyruXX(h|qi02a|BNmd0soAp)j0$`0@J9tUs8hBOX4)A)$b?}zPQ^30!>w@J_ z;|ll`<0|+<<96_sV8vVm-)4Os{E+b!@MJKTW1PwOydC@<{jGvs${%Qc6s7!ShX2`x z$xhdtXSzfwe+K7$e3FJ{hQ0I;fW|8;<&V1jl)uk#oFn0uHQ!yzpJzDD-J+uWNv4l; zFjeI^2ZLMJZ?+fCfkK~Rqp@HKiPG9*;ee&qa}z7=m-Wc+OZq}d?-B{%E`8n{pJ!Y# zBG4ZDu?yS^s;y7j0YoeR6y*KJ!sLhbP`0Y&Sdp_R0JmWvqUvKuz(S ziv9;;k3NiLUm;&?{%_2W_;n5RQ^vp9ym>O7>?hjKW0tR)H($n6|05rI|3vYBVBY*$ zoH;M@7W}WxUm)|V_QP-Rn{O+|aUpm!8*7|YlndF+hyG(^v&viMSB~Ww^+u*ywo^GyPCHIyd#WvWi-z&aPK(2b$+4r zj${8K*MB4}}k0F`Yr71{R{|iZeO0BmSpEoXmr2nPmkt}Pa4Up>N zdpsM1m(JI^L5ut3zw^9lF6t|6V;E!Z6-re$71|xGdMcv0!5BE?a#TV%y|kdFSp@IK-3sb^}=DF{JwTW?`Rn{8wJiHuR?#p_jg-epz(i zBjx)i%ceVu{btJob#v-;ksn;{le&(%cUd+3_HY}bEP28kd)AV~N znvW}*KN$Yz4Q)iMd!QG0Z=|k~4nkhSLVcv=hmUhD!v1LQk3mw}R&9tOzVGCG>NTF1 zAwNOhWd3Sd-_+id=p~=C{D*m~XMUB-_?|62FHtUkgf|dQw>yhC)-a#BkaDKa;>DYf zdgV-UNy=WbukF^vZe?TTePiQc*p38qUPyE6O^!1@u2E@u-J`2 zk1>Z+Q_Jy%p8L5bty|*I=O%p)Cd~C;la5tk&M`9$F|HKTy>tE@T*OuygVg*x7pdNl zN7C=~dAt7pHNHnBejBL{N7t0fvkWix{HVxDQOfJkX5jU}cNJ~5T}n_BGb~PbQYc^V zY+1Z77T-Vc6g=r)M#}X|1ebWW-w?n5GCoBoQ%cO;h)FSPz9?SJ!}49l_-=yjY{oY; zmi>%}!dcPy77p-rGfb88lh%@L(Wm~S`_pR0+^B+gK(E|Y!1;HI9ALim{Z}eJN2!9< z*KLTU26mwf+%KY&|E`pl%3GszDQ{~`JWL7hiMdFUF2?0Z$K8(ZEMxWUO5<0VJSwtR zJCXC~%T4C(i2Z%W`cA>g#`+z^&x|#{h5`5m z2Qa{RPV0o$PsOPc>p>NK&pPS$sJRAF*UIX%%60fT5`R_jjo`zve zrvkng{Ci}TZL)C<{1*5qZ0q2Uz}<;QxHMzDNHFx*A*0`wCnK@5|&~ z4VexmNxJqEiEt?^K9`hh)hV_r+b8r9W%`Ulc{tkK_6fz`4T!S`_!#sx@WndO!PoJ} zUh`69L^jZd{}MkEUbuW|3r z=2G6eZ@^M{U+kw8_HCa)EZ?7;C%llcz7u(g49gl;Iws>i#}`nHN58Cj=ew^2k$Caj z81WmU8egqrRr4?W5B!(|o0;DM|A5SPtg(Ji+ktg82v+!@1qr=oQ07uD=mGm(+*x*57P>=G|(Z;*vhb_(|8_ zp7~*!==|MSy~D0G><#no%y^0?etRVRePG_*S$pyqyf0jTPgXBKk1%(1tNOj`@6GCU zuI=?ean79$Nol)3tJfTjYpQ;(e;})uLHz#lvaWx~_1$qT|1lT;Kt1Uxt#7#nQrEIO zTkemfv`wl6Q(52jcuD88wbg)OG@c`@%Q9cRN_|0eZY8tYl$-o~GEfpxrbzSd|Q~;2*)1miO`3{o!Pr z=E59cl|_(hV<1wRHINEm6Qs^#J0rUz4@7Fr|5VgBi}T_o#dnqgOS7+6TvKZNXEN3p zo&q1g%@y!@VEI&;a|H92n5tb{BS4sX0SpKrhM_D;nA>K4M^tWQl^`g5rm0n;?xQO^EZQsBfZ=8>@{D#dfuK&KF z{Y`Nw-o38>k@`oBbsl`qc$iwEL@askr2oLYrbQU<+-6b{<8NkR{V?7a{#?e2cTr=t zv22Ff)mW##>)C7?f7VUK8^0ek48C%r@%tCCuW$RF#G!)CH0>MX-@$e>+HQL7MthC+ z2iU%s?ITZ(ai3z|Oz=94)$gkc+@v{LW4nueCQ&-ZbZ>H)4ho9yN7Ua6+s$CzcU9RQ zgs-(t_bU1KqHX*>xq(+h{|uau$x$7w?@HIb;uN-nuPiXs(ra+$Lh2xV$G8IiCs_Bo zRq$8FHLyzbRd^2CQc*iD<=L!bzdSqmXYAECt-1NN|16IbZCBC9b$vT{0rWJL-VxCA z?-U>UmC;9z^iH7Ol~S3?&8y}}l}&#S*&kVBTMs_8wBBr1_$+OYB>vK#MP2C-WDEPp zAj$J+jmPm|^<72J6!k2i%62Mx;o)rO7`KD<9<1(b_huW9bK!%T%FU}4_z2e24*1Nm z=0O#9#um@0przljQva%Ky|JB#e6@o$2TrGdHL#v{YQOIOq9P5&dZ&JuDm+8MKl5R9 zA37|41-^>nA0WWuGXaip6}$lV#pA&>aP+qhj+o^$`qctfzZ6>qd@Fu5m#URg6GG(| z@k~j3Nnier<6y5mSBB@!@WNfVHP_GDr7zEy;iWWSMJdnSrBAJDUpeWb{4%zzrl*c8 z6;hVIzg+#5t#TlF6Q7q+*O|k6=r^TpN!obWcqob&jfbh00xO-f_0FUGyytvPHE$X0 zTOTca#qWHO$h2-+|sTe*if%|(u>Zo>H0zJZ)2=yh6fny zzE6durFP?9t+CHz%^!@P%QO6UW8HhbXso`xZ>+YyGggc-f|f^_ck^*tgC>IX~8eMmxQ?D&9-B zACcM1f5bLDJFN+8lGyiczY+F78prr3_9p(*`AqkN>GKBmXMDUkMrJ`$+BU^@0po=k ze-+s(htW^PtNo?mDZb^+-vZk;jDO;R>W0P|7ZqAaV;|?@P*CKJ2fy{r1@3XFQbp$;J_TkMMi-FV~cq zr*Fa67)IZ8J)^#TXg{MIpK_q~8+l)ww~KlI)An$g%Fp(*oBfcs^v=VKPwrnysJukgE)>-VRAEo05~?Tj^Udu94#GX0-33@xn@hxI6~J1%7Z zV%Hzm(02cEJZmSo>s@~Y^>=4De5v2Tebn_exUU-z6_FBs`V_tVe&zaO;m+`6F&=x- z>$#01=V3Q=R^HoWjxFl?6R=a!F)*!lV`r|tbqvIM6YIt@w*M3M>tuLa<2V+h-EpIe z^XNgYKLxu}GJHva)AwX6o*TS>K_BgLoOyrt9>xB1?BhE{Fce=tk-KHtJ*0_`7Gy(-SQb3{(o3|4>&7| zEbO~!1{}sADCT%YR8SDim>UHI6h#rUFk-}r7}mHpt~p{@1BM;NgklCUtzN~PF{}=vFFx;PY_u?u$#Us1wcy2J>MC*h5 zzZ1Foe6Q)XzdvDk0P;5?%*U`c%fIfc>A3whdVT)Gc$2W7y9NT*i2E4Fwlj)6NZ!e? z2R?T(taq>|5b68XH$@Kl>uK4#vB$>_Bo zOf}v;_*JRqJz=~TjCXGfyy<5b*IBcTcYg~!zc!m|ya$b^u~GYa2j0EZznT6a^zC0R z@+rJxg!^n0=6B5*@HIzt4WV*A_#AM?)(d_(_r=BfhD+d04QJr~h8w^`4Cmmf+(?sc zBY3#U%iw(tH-Qf`tN}b0d;t6md@^`8$C4a;f#EW^5&RVK>4fWgFvC+bo{xI})Ew?3 zsObGu!Z}#)pVFGIokQ=R5>~(T{wd)ctoKg|m%)1fRNxbv-ai%iV7-4T@WFcjRN#a4 z{;9wxHobo;@WFcjRN#a4{;9wR>-|%KPyGFz51ve4+R~S9#LrO>3%f z1KWt*+2_bZ4%YdtuQ6{YU+3Qiw0Ot-^t(nKk4@o`OLI*$oe`gFuE z-2IiWb;nBjtnul7SidB%_KzriKH{0}0(mdO`;Z*e(#>5UehD6ibCn;!inYWxAG{m# z4BYk=&ds2!-v_|*!o`)9mQ|qqVIMu~O>aHox#gp0z&A zqFw(!XOk&~zZ-eLLE|&n>}H#t#$WA?K>ivs`PXM}Z!hCF8DH^8-|BSkSMlLU^pp5J z&Uo)fJjBi42W9Pw`xI9g??dB}_OLeIhI|Y7cbWde{2KVrgXvFA3Et~qKh}I;I7e$iTyo&_c9P8g==1=*Mk$=BBAN@jnKDr-c z4X5_C;HZ8H<16ni@!P>!629zKFuSG94liN<)_7|U$-ny4(|F57JdKOb3-R=MBjYV+ zJoRgDoO-_ontlb-`}$Mep5jxx!;D{w{4GQ~4aij=VEQhm_jywtm;5QdV~pPw{%HlS z{X%&+tZ6?1%;iYUOW;PZ+ELN*UOqCmBTg-F4!!}7rTlPU!8GmrmHeMw^RLQ|fy}`XLC8;^jPxB3s$?YnmQ* zd+GIkz3R2m%ijjZ>mB*gJ^XWP>^JkKU)%IF9p-uW3;7NS-r=;j7PZ>dezvRe*M)z$ zVUMvbw)7)88TsAh;S8(q>{5K5YIQ!2`)BCoTlKl-XM-q4`O)7#m;PeYZ&;=8^+4h0 zded)QrPn^B_sra5`b|x*T;V=>2Dx%Ap8EQ-@it$8pZ3T;Hhtg!;OBS7_Gja58TnZa z?0*NeUIz)rwtu8oe_g+#>9<0^w&9&hGAWLe+BXIwUjzNNrXL*n()bU)in&VP_Avc6 zkzV_R&!dA)zip(K|KpIWKFRb$tMq4>{#?`VV0z_Nc9)udg4I_UZ^wwIeMCHsk$BzF z-DbRikhKnuRrceU|~>34{$G`zc}jn(a_DfJ`Z zEepm+xSyhH?7hua1o>C3GO8j^8zQ_Hcy)ZR41{Z)cDUZx^!mP8@nvkfr@+@2NzSJG z>&H=-*-l|zic|b2kfi&VJ+$!s-G)WH$&ez}WF$4i98Ypdi;YQ^*|feL5fIU@_4gSWke`+N8) zgRjIk@M-TF!&;ATGMt0&2J0NW41O3)SmA_46(yZi)Cub5oRhv#WM?HkkT##i9$vV2 zrQaG5LMXbAEx#GtJ4G9T6Myg8{5(FKU*If7-N5GG!RFw)H$!~?(YE7R#c`_Ic2#UO zHst$H-}i2aT>Z(|ysZZCrpSpueBZ116_3i^$SEOBXGHiqu=ic}|9q}J4?dFIWU?ws z>N-BAhoiHS9vb1X5k4%!VHhUyuz`;{x*uR{L}5= z|KqH-*JBBis;SnRp+6KB#yXvp&E00$i_P%@UlaQYT*VoEB_^jKux(~20JK}?8cOx7XA778Xy3aF=KgswW-$c3w zPQEk!E$A0|yXfz+oN#qDEW5sjm4_V-D|cfIYphj#{7yxlBRhjyLo?oZcNx$7>O6lI zw9)u(H_7a#VE3?LJ;$r!{jT=mwlj@C4cpHREAPJ;R^B_kQ}kEYFg*?XczB+sLeX(H zGyT88J4ARd!}5J-gcYNF=s4m1JI3^n;^XXyd$HlsJg9PwVdeDph$DZVU*CWHKKX;j zdkULZ3=e?+et|n2fn4Rws?WdM=hM+^E_9q7^3g%ZJ$+uf_+0yv*&|A481`6@CH=!{ zR@|3b)ofmgY+g02F|*2%#aZfP256n(utC$|zvhX{L=WZ0o9me|z-Xn&;wpe8&PPNTb z#{1NK(~aP}+_m^U$?01cL*~z6&och!Q6H3B9j`QwSDfD}jHA8-mE7mUhh{gYsvXab z_u1`!G5(iTe9x8a)L#9&#k^XQS|8`Z?`~Mn*Q^`izJ~S8??A)a4^=dl%IUp4JE}bG zYWg4Wcc5X9#dGQ7<@rC(ct2xvj$wUg{>N!WY~R~hsI3ENOV@RSsV_I~?@?b7C+^>K zhEFuY6$HBsa$-p71i_*nZqJrKKD#Bh|^ce2<$2H)S@{#1C{FWl~2vs={cYAtrR zt8UNNU0-v3|MIog*V${#?_%bcF8^u&_c?X9@s@x$-LU4bifohvA2*NXZR0H+`4+!A z<~hb&)_A_&InQIz-zZm3d>+)jN6U=!@@A)bAib{@T}{8D>06qYK1LfDf2Am1^-I5l zmtXN{BN=YIm7{i@r+Z@un|>AaCxI~w$D;9tJefc(KNG3dgIlR}ywvsC17P`5dE9Ub z{G#Cu{HEas@NLBQ8%}cYhsbFw`1t{>HdN*t&cN;8FXTCRNwE0(t?eq{1+^>xYtWAj zjulLb{a$?HPI_U>n1w#}2dj*vR{O_LOL8%_3~wzyhwER>QGJ)DqIoKu=|fS{o|a$Q z2=hzgt7%AOZc#Pcd+dIWfI97E_QLwxR#rm%`de|b8RAmAW8iX~t6TXK-n{v;0{ z3WGn%eGIDkx+b;qC%y}*gIsZY-=y|E-PF&3;R` zS4O_>Hmp9q5n;7KO2S;xb8KhxLHn%Y_UCnehOcw^-_33yK2#WwVCQ-3&3sfI|67a; ze^}&ku=$~>Kl%Az^SLa3G*?!(dJXft4Su&WtXz+d@R1QdCBm0Scv^&?kMQRaZv9cw z2c6?|G_1C|7PwaTo7ObUWpmQUuuj9b053$^hk~^(`~Ex>x$>8>4F_w#%-Qw;Ydp%} zeN3*79|Z1=ECc_$b*u2c(%g0){Die-EF6iBr&h!#Q)?$Vi<+jBi>S38O`z8PbsaUa zC6lRXGMPf%j`~4r-NSi|`VZRN5bONEAV+mYIfnICv}N>BkGl?2U2&T-jSLmC264U zN_{Z(D%8hPtE;C_>#+V$YNkMP4Rv?wTd7y4zK>dK)fCiU0Uy{OYq zi}CD8t?z%9qh6bOLu$PvVJGT!sYg?bsy?R>J6#yrrwBpI<@Yr zy-vLe^<3&rsoQ;4ydz;z>dpDQGId71F?C<+LDY<4(m=f>^-*2eB$F= zcOfs+xn=Gza1*#2e$Eh|9j*s>Djmtd?>@&n5Rm6!E9odcuLFnJPT}@;vLV>ISflr2 z3)5811Z;(C**1l<0YGCs9gc7b+~4F{zqU0$8F-ib3fqC;S+CIs{Gs3_$(wT60AAj3 z4&H2B;D_&CChp5KQW_A-6Wj4VLi(PAbxs`QBx%ZC{8mqL@Fd1X-7ACjJ1F5M@D9YI z^+tnz89SQfCGZ}|fA2?`>pq037jiHa#mh7JeDL(>}%D98d6nB%F=u zO9uYp*5a7i0M@bKF&fUne}lvDgugp>I#^?;a-QK5_%g#8_*%ma;K^Y5&%x@W@EPE# z$ThFD20RQNZ9etAn8)*&*$yOz=M4`9zh-zBa1&VZDCW-$E9P$uH-di!?*gX`u9;KB z^Afm|;Wxlm7!AG~gR7hqZc_Jtm@hRMcv<+$r%G4DC9tlSB+uAZH+chiZNoWuL&J^W z%y1dJjo~KnFvAJ)taG`IHFz(RXW)GX6!He}!6whae>2<&KGkp;e39WM@Pi+6u15;y z5$qEW7Ja1IWTZX!Py$~I|3~_tfo}n8tGRB(uy1KyK{ zOW?N*XW%)88^H4o=io)YENmOWT@07O>llVw+xD56tKl5H9{5-MG=ek3W$?C!o4|X3#}kiEKK2LC17@3Xy=%A(KKd-iUdJGv zkQ6071ix15bc{R`K5lA&$v?qkD*A+7rTMy7epC)N{U>&?3iGN^rH7%r8Xu^_TCQuK zFox*ca!xH=Vw(&{IAePdyzCOivFJ&|3TTFL8o{%`SHLZUKLj747?>wdus{Hi{ot|@}JB7I9x5) z^R+rYtMtYn{cR&ZI+t;5=cCM6P4Vc(4kwgnm5-(D6z|&zTC_$N$eUACG^P|0QPe7@h^jd;)%Q^!pOC z;!(`AZ!2QE416eZ#job{8;aws-RHq4f*X;KGY-3GayhsIC&?;};J?Gk!8d@J*5O{z zo#1ii$B*Hi;M{{;F)Ri4<9P}EF!J5tXJ9K~j)|)|MtsThaM%~Z9D5tAGLKsGukAO* z99xN6hMQ57k7QSBVoHvt=A0$Dh+6x~6lz>2Pg1Mz9J&(4c``Amyo|gDjg`Q!8%O;2 zz_M4-IjnGrZ60#kYmb-`-CARfUo`L&;HP({<-&`jR!w=yFKYN4ECLWb_XYgH$*2Gp^TO-%GVaCV!eD*lx zx`xi#PB&Zz{}ZhFCEG^BCGcd!8Cch6;xvGDeI}fPb$uq>2-fwPa2c%YGvOxiefUw| z%Y0VMBP`~}!RLa-e;RzgFiG`mBTbN(jh|_979~9g-do67wrd)ZwId-Hm`|N|cSn}7 zX-t=-&e=YLFFc;@JFwz>~lk_z>_d;)DMVz8$PQoDIHHeEKv2e7E@E zo4`}W2Tui06CZ3P9WNUSA+|42B|m&lFEl+N{pI-jPt%Ea3HUMmYwRReo?ZVMa^*Zj z{s#DJ>YVLka3AV2+g$K{G9(Zy>Bag?QQHM7&Jl#&x73#zkNvheMva-urL{%ve6_7| zh1pzfHKO#&2ww&MotR4WN7qEP-xv2xWZMy}<6;he_3h%=skySa$s57C*3%rigKgmD zt-@MR2H(T^qSl2BpT0(DerO#jOHQr1sI{g6?B_)}__@*H^e#NRcj55j8b4v|wN}1@ zJ}3FUKa{~*b05KH6L?u-6P^cN1*~-^Az?khG@oSPu}ic{l!F|+A@VRbV7)JRI`Ra6 zTbeurZw-E2eDKcTTft@U?%+Z4U&}QV_$=fZ_#nfL;3L2fA=g3YXmHpM!G8x+B{~1C zN1ytF%MuhNJySM@Cm3crxA(F0asS3_t}%|wF-@@|T6Q-ZhqN`v;pf5{8!PE;;Iqi{ z(#-89gcpN3^$$hoSZX6@^YyU|_BpA^;(zB|bNC9g&B52ZAAI=}3t zoX{_@*5xn62WwsaO8%MWT9<`0u-4hH!8us#=C|U5t)!D>L!k?QS)1Zq-(ft`(>x|V zmNLJ~^n}vv$H&;`jE}X;>86)-$^zo>IpKV@a}T^<$N_~tw7I1BB46l-%6(a1Z^Y2L z^#J+|taVE`2mAV02K$=#64>WR6WG_kdEn-Kog_5x>)_^n9c(3ikT$H;?FC+n*lM)~ zBU}mW^VH{Nj=XtY1pD07JnaVmb$n=^t^=M0);!$={0_Jb9teI9tbw$WKCI70srz>Y zw+m}#A#bPkc{sM5Bb{;#e&W~~kaI~Ja^-nYJiZ@v0_%Hn^{)ih+TUZ59{Snr#_-bckbVj$L)?*)Et;fyd4)$YO6ZkRn*}yf-b6|~E4qlH~`+{|{`3iDP!hGQn zx}@o&w4uV>Zr)FP?e+b|_lJ1xeGI#I@wXVJ4J6|Jy}3RqTqSdn`#3b`4~~yX3G991 zRJ?giGO&+T8SKZ)Ca}gT>_F7b*C^ocXsb_cF($qb<;Z_St{jxX?S3qBpRum_7;3%i zjQlCf@$%qsZ;o7c0}oPP$e;G1r{QE#E|u4H;82C%6~}Y%f7w5_#P$XGq+dh9FDVA_ zp5T|k>id3%6XHM2a0WgG{Hpk1E9sMbcC7to92~|oyl;6t_!0V~G6B34b;fo*So=W( zxOtAyu9fte$mbJ=Q8&*K%}wV%AL(5f>t8fIA^*iboZl2i>5Pcya`)qFG1T;xi05nV zOq2QC74LqN3BMNE=o(YyO_TXNN0h!*v8jvg-!M7TCj9Nx*j_nRalgRy?WjGE@m-U3 z5A5(?+7z{SRRyQB4afVXAKyG)@2j6%tKIj_F3xqeop>J_PyO-us(HTOi~n)tH$={V z)qL?jT|nF(r}I5tzZQ_)=aHTF&&S;D<{HQ2mED&n1J~_S!RegHpYz?Xf3Ef~fAh>v z`Qvja-oD!*OuvD5JNpo8Qq3I*o&ftXat8PZ^f~fbVA++~J}>x56Zlu~BB+*PbEoBWv!m*~;d_e@ITqp8Ztx!+BZFM$B5JoJQc;3jF-jis)9)%i z+j$=eCESzhK@7F#fGYUV{1s2j%BJX*1G&)JcaD+$*@_Z!JzF7p2G+9`!VO?OTOpi- z^=!p}t{jWOdbVPIw<2eJR0-|Q;b5b7X~s*COQwyqc}aK2-b(sMgw=-2+f;VMxgZj2`caQKPU`8k06W4dKo=^SuT(OkcPAmAe3s>4n+kr1bPT=9b z)a_umz0a_0ryI_|FM=tx9U?#V5$+w-q9o}e6?t7O?;OdG4_OQRfaFUtSKK6Z?TwEt z{I1}$jB6J@tjK{~+;@wZ>X$Gcjsj1=7np>;n*X`+mxBLWgqQd^wECxa1BS6&f$@af z4gD4P>t(#J~*--QE_)U%~hqSFO(;{|=@vncn-U@2kINJe{|j@w!Aj%?tf~ zSJelgS3SmfU0dLt(y!njZ@g6_p5pSndAp|>uN%C7MtHJe#eF}ReW9ii`}iKB&XttI zoUIE7ry+bUgY`G;wiCu^I<}gFntNX##qX`DRb(q!#`ZD)=^kqX+bsB~!hApRuF8IX z8d&>O367PthxLum=~@+Br#PImW<{RvjJ*o#a4hn%)bEgV&iASHd0n#+Py7=&m!Cxa zBYM^8FQI|@^^K=FsXX}m5BzUfX)IbH?_~TwRebkb&F^OXjg0T{I$ybd7~v+y+vGp+ zdZXLcc$*oInA%SwF8{k24W`c`z51gu8btj!({EvVkH`Opf#+|$@%kCB#`5C4>(I-u z?m;NuH}UzvT8{5#H^A&XpWfePcPr+!=ko#M53GvE`A?(QT%T#Y!SFu!Hjt}S$L4ML zSg7wByPwT&2tF426(P6o)>&LtF^|-a_s{dNr16GYe9E`@n_O7Tqwc2P!So)B&mVn{ zq_*`Pk|=tAlk&En+3olr?4**N?A@-v+3ghBX)W7Bjl}K_!&C70 zq+$KNixJ#g)iqUCs@zW{q+~Xnl$&N5cn(-O%-Mc1Tn4w{p#aJCUuW=fw3C6C1Ro0eC=RZBkIHizT>%V75-pGTM7s zru{^}`)mZepECID7Wx?b@fdRW>LbGy`gk3-!qt7eqlG@kKGjFr=4|f24EEUM^CkQ& zXuM)S&X=Fh;4>Y=vygF4{9Q5`9L2vDON#idelL#iW$?m=)$S68Gw{lWbFjBn2Cs!& z<5->lxUJ^39{=jEx7+Lo`C$Ci;77;hIOY?k73)ui+~23(0Cw9PJQ7<9<~(Z|;eSQ= zi3ooZ;dXyiY}bzPjuAd8!k2>S_FvxJKGo!kLhk`Mmi;j*3?JXyvuXXw*zR{e9Txxi z|G-y+R?v58V$|y_e}9K%YnW z8p8wO++|p8J#JXz_F9CYX?*`Q)?b?bQMkWFxU*iAPR`_GRm0+J5MdECcT{_ywnwi% z?qT9{O9na;_c~JFo@4?_n`4!FrNFZ=6TNF zH2zEQf2gwcdF8e`=I%$seoo=%6U(GUj$UaYHn;0zyw_TY&3QUbo(^Ycdbgw7_WLx_<6<< zc%tlV{JB+r$0FA{r}y$~0`GX^eFg74!+Jl~G?4WLR@^d&3&X(T3&cWWyRK75e+9wfPFu|Azkh2tN>Ew^RMmFU31Lo-uv+!4Y!L zt?y^LZW@IAZR4e@v(y{b`lO;*l>bg`TZi>{32I7x8@Ov2j=54gx4-FY;i^=(@5iQX zj8_M5SHoIA4~nqtJr>Px#dMVEJD7jz#XAqV)~(A--zm~-4c0prRo`m*MbS?)to3(# zfjelPL?wLM6oGu_rcj@BziL#*_ifZKU^|Kvm6_&mNqm23c!1d`&e-N#(=QXnDeCXY z#Y+|{a=sk;c8106T;N*8)5Y+L$h#RyVDYIosYx7q*SyS9UCZ?^_0E_?byV8C!p_@|qFzR1B8^=iu$FtulB7 zcys*gU~#y~bz|=Yu+FbD@abSpzcP4_yX<#5ooSc%s%O~d;0xdgm%+Eg=_{Y?(-V;Q zmLITRx8&d(k&Ds@9+eeiRR*utzrao4Wws$^+XSAnW05N*Oz*AGX`$wl zj?0=O4d78(F-AGq$D&c#_+{`;_*D0rz`KLjq1^;u4PfQ73|1cM#GxK-G4Qj;WQ<{Z zd>%%UcE$b#B-@j8&fln&JGvZ^i%6;kM z!Ma~nf^&+=sgm*hw?6lp8o-a6t^CKf;;c%$CFJf0QL~>0uu2>Ij_fV`sC-RLijubN zLVuE#sioPBTH`#Nx*f6h2FKU&{+{X#`4;yUeQN;gS$mCZ&gOp~xe@I9UWvwTeXQVQ z;J%9%?{;kfD|b&(=WJtWmvQ>bJ*xkuUF8KAVQwiG!urqsXW+B&Pf-_>+af#zOpas_nU5MFM) zhKMKs{(X~p+DEQ8-Y9qv8}`2~-BK*vItkxpzHIz`vHdi{YKMI^#MOlft`Piq5clh0 z{QO{c2S8f5zQ~dMskGF-`&!ZX2UYQ1U)|Q4#y`aP%AMMAp7*P-@eVT{`)=TEja<3i z!Ssilp7|2=I^GP5{Q1~<&iy#($H4u}&k^_;7h%Pu{Hboq=SL%2B^xm>t~I-(@$sl( zUCVzMVfj%mRd?ok;2!!g^oHWv&*w{<_C@ZG!_Sh2m()T`Q7pZ>SMua@QEQwo7uSNX z{iUzjooIRS@!J7;MyxwgZ%TbTcH}hK-S{UN-}CHq`9RZ;Gd*TuPWk(UXCTm=A7{LO zEP$u+a^CsII~CrwhLtxJwXHsQ-ySsm8R%a&T)mHaoSsAfZvA89pKZQ95B?o(HUCHB zpKE;eGyZN^eC?}kI}~GdeiXA}_xZJg=`V=%v7Zf1e^I2D{q08=c^q!~f1=;Vu-1Yj zBYd)9<>JyvEwcaC0hpJVNeH~wu=JK~?u znxHtGH_7-u_otZM9aZgIvsZCGT5Vr8{$0k`eyBK{Kg0A>&^HTJ+nL?;1=uaywK!(0_WsFk9gYM0ncd@N*U}u; zaai}G^SWZqU+Mv#DGHUug;_I1FcRk?Eh)}r>pqx-{bSV-(dV_tN6}y|89SW z@t=qPP?as=H~+mJxpN;+8tRfWM#|e{B3$jjuQsG}nGN-b~{W zLO510yht&}-!Qo!Tjx(?eldp2nEtIO9{G2D_4?Dz_-{w?XrJ(X%k#3n@n*x@%CP=U zlZx+WzE%uJuXC6kxli^H`sE)ee$z10?B2u2QHJ&G&B=zh2CJw~%K7M9=nvh!#PlCo zjNWHot0$ZO6Vq$n%8$qHarwEG$Mq<7%FVN8|C!lq-pc-M)1Q4azw;nA=YL@QFCxDD zd~f_@WO1(kGoN+LNfs@}Y_9Q@FZEA+)%ECAFJko)R1#DXHaCT zYaP{Z7{3R$pBVP*FZDq_{21lO^Y4t;3!Ao!x7KsvHDlm)0P`q(D2s#FMxXI%S#U{G zCT~~68Muex9K62aGB|TS0StCNco?`IH#zvdby=suk&AJVlM0%es76LCB3?+1KyOm zY^BcMbI9j(^GLo<1*d&0xK6pUl17{`Sezm@&p+p^Rk2MsitxG-Uei4iL$3&L5OLOv z@HQ1(=YNxy0K&1vuc!LkxapmH8owcYrqmC?_THsQ4tOB{?PhZQUFjnte4b%(u8Xh? zu?}td_4!oO?`UypJy)CCPAKl%`!niKz*Ec5TK$sQ?S$Psh7-QqQ}H&mPW3}S&-A-m z8`5jdbN#QT-+cl4{>W;VEc(A^m0sVs4nVe~=|`Gg`BWU9&+U#YuEq79fBn7SRgAxv z@tGDO9_Q(Apmy!beLmyu4Q~s>%BhOlP#<*vM73;HYwT2SYyADH+NkD_Fx~<14mJEa zYs{$;#+}xS(B3Z>6@9rFy~e5Oy5b&@|NV?B%D|v~=10#Z$j_I?JG#oxsI1Wc zYWibL@8eMIN6$9MU)!aMxpQ0Q#+@LKVNdzg^7#y2k%|6@Lr!H_+;B zt=`f2Is8$E)tAEzD?cX~);Z4U5xy|OS4VhKgr`Qh9AUZ|_Dj_|?hK-x=S+V#SjETe zP2|eWY}21>dLJ`C_y5#*bB%X?l^^H*Z2Ak(w^_Ov5A|&k!;&u-$>UhGk1LkdOn(X7 zbtAl4gk|S3x}AR4Bm1q5Hv#+IBYaSVWBbuOJ0!bdOnlWR8t-cCRkSZ@|MU9+;_DRT ze0Y7}TxRt(X4i;p@&bIwx97>*ln=?}L-qY;HxVCCRr%2TR~*%Aoz^g|bu*2BgT?Ln z@%768-gA@jZi4q^gmK+GFZ^7!wQfFe47$a9wz0LTJ#xj{m1iDQFJ_;0?9gW&J5(=i z_P3h7`XKqr#_wkJVYd{yU(@)v8{g-tjvuny(DZkr?;l}QIyVjHWV;~8E*VWt4w56O z8N*~8buIOHYMrBAL0zJrOr23rrB()}hnn|7sK&u;YT19U&p2+qZ0n?sY0-e}+~In* z6hP^=6VDf^K{yllwRfz6^&HtAaB}d&BY5r$Tn6j!zH2~A^RF003K(!`gzKKA(y|KO#di&s$rdDJZtzKo`qBKKD(Xg zaF+3&!2UbKn{_K}*jL-Djpi}2@$j+ug0a$feV%vEx#zphaz$UC#)k@@Lf+N3?h{_| zRQP>R(CNPwjsL9i$zkBP)V}wjx7j_9T|dL>_Z|_Je;*6It9ws^Il%NYtUc*9mt23g z>0d#AonehnM*O6>Cd1%f}IOl_sb8@He>FJ(>$)gm>fbz#8GXy#YSA>O#2{Ovp8P_{94fiA`k+@(l?t2R{N{ zA6y2%09M}>$Xj5=rm_17EdM#!zb{Q_{43<|!q33pfl-Gs^8A#M>)p8OdlPtd{>G|u zsKg{Iv`)^#pbV}9D^59ZpD>cQnSbJBV4oW~*ylzg__@)A|1x-K{Jc**P2h9RG&$|A ziriyZ3+!`dbHkc5gIrFchl91|=HRhh==Q~*=75#-ZQ3{xj^?)F_jdzI@6TnIz~g%t zF=SxRLj&0JlY@`8cFW+Cz=~5jKg)0f_(J34;48uF(q=-xZZxbor+}~3q-1*t9QG+L zmY*@4F>&4iH?^fNoWs}e$^91kq32gWKpy4{W99kG!E=#oztbQ2@H}LCpsOh9Z0uE* zu;b!S@Ch-gU$Hoztw_zTko2UMd=qNIPPQ`rFw>8u&X6BTom2mVS_T(V>;BI5)Uvye zn(&huR)0!O*OU3wO&8T9olD`knXFE|5AuzuKgHEx>N)f0&)?JPG1Sq1l)i5Lz(ko1 zW1w-+b^=_4;kiIxx5V)|n1jz^4Lg@O%U~<%2Nj>`Eb!_0p$|1T@t@CYarNBp02;{5 zkShJSVjJSoKB-t#F0goXei1)osx?E$?u^Z!-ORzaz-LPQ<=N1f@4vkj|5^C*Q)YXu zunlA3e;>3&Kiz)@eg_U?@R#4fw&dS!|bWcN=tQ_HOB76*3dCTC$>!Rme^W-0J z6ock!%+YVC4q_gQ_vghDP}C2w!2?^P&8zJ#WW<3wATSKZx@V<9EgXqlVSrmkkfV zw#o4N9G||8aO8d4#%!Xe8+pM#oZOTsY zzu9eXcKxDQ7i8zL?r;17#@GI+&U#LcLa%W=-gpDyjjw7$^Frp{hwDtgwfR)O z^otoDh(8r?yE}4l(%baA!0i{=?HJ+x3~T>5D&n7MSaJU=!fMC!?=gAKZZcj2HY%DA zDdGCx)75VSo@bHQ-$YbSuV0lIsUI=BQP{l}we_)K-xs`H-?x2!d~3Y@tX<_HUaxCb zD{^)K`b7=L`?$t^b>uqdS=aOjMZTop()8Py{*Xv7=&|f(`om1Gm}9*ki}p3%;V6%d zY|b(q&r98t@_owBXZ&1dqVbQy&+S#Vo-e;%b03cy@0cjYNwiVTn`yk`jHkSYT;N#8 z-_J~cLY3a<#UG~sd!(nC=If3nyA|V-qwir@YwJdaecaWq&Q1It%5c-468V+h+dati zr=dT|u#Yz_hIf1FeF%ezrHxyQ+=87&otl4p^m-oTh~lK^Z9Dyoozh%#k`s4 zxt@M@asTEHh!E^X8-H`^Yr1$7Vu_)vsi<*8?Ejj>g#A z>utPSqxNFnCZ@l=%1?EB1B`bkykUmDuj+&QRG%A6KP752&cz|7zb9%_de4E!ew6X< zHJ{}GGTbK0dyVI_Wm~hXvh{A9^AQj*Fs0+xKE~EP<&pT&y@NP%wF?B zxoup&Rk9^F%w`>3oMZ37Z}tZv?`8at;BRPnt_&#jC$#O?f1ZaC#`_eTV&KeJ{0qVrk`W6x&C?N?<1RG`Y*xn7#@J#H-sa5aCzt?kMvgfAt%T{|=^=FfUJ_Uns|-iaa)n98fV_sBD$LRNo}vE!clgaV zHXj*BZN)xE-$Hx%mrpB2YsBKYGkNhxkBblKeEQ|`HgFxct>C&pB2I*Zf7!(Ti9gIq z#jJikzFiU5_ry)9ZwJ54niag5Va){`-*Lch0>$eEk z_aX@LFZuEjUL(RAMR-tzca8Aq2p<#Svka>b6C!+5gr`MV!7x?ZtJd7rdi9*?d*I`J z!y4Of4J-E6y^DURoy8;E)v!1!u)_HJIIM@>$3g3TALFkBe_-TCwu(z!zmDI<^y`~% zzx2-l)|w^7t5 z?Q2t6dvt1l1$yoC*HUXOy4Cobz<7F{`d_yUBQ)WAl|^<)qD8IOeo=HU4W4 z#=fQmew}AJhES_~U^ow-LK|W2S_=LEe5iB*Yiu)pp!k>zZ-G-QX@BF>Y8&mBU$K6S zA_pq(fqjkXiNAiv-55+>Yce?f!0ylAT_E{T)xD595FeRfiwu&`VVko!|Z7qXb=gKN8fhQF({ExWi08n!- zz;EBpd)DM53_(aq_#Wt*ql>@uDnsQ_bGpQ)ctp?G{QYw|SVjIDse90_=fnM%EsvaM zwGn3nIKwPw%Fp(OH$lFmVU6W*!~WeRrb$0I?P=>LaC~eYf}H6Y^0p&be=A18?g3r{ zSOV`0-U6Q)_#ki?Z}8EEbMR?~8^M@Ple zDRAJ^ZWr)q@xdxoVeJ#%O+G1n1>?nk>Y~r-uBKm*jeetKCEepc@Yc{mRg`pu@i1+U zVK0+GNq3HLgJGshGuPwQIH`EtUL#8PUVxpq;dc8O$7|Vb8MVEyVf9<>sJM^V=77j% zmk4X^vXW|kIUW?@!z#EgYCG(Cn_>`RwK3ykkgE;JJGn#4%^kD&yS3b1@8ACZ6Y z+)lr%(Hzc-WgRq&(YcF)z&4(I}6@ThF7rt#`8L#W4e4# zLw_LkBgQ)y{ElIkW}KT&F){=eOcwh`=;NK>6kFz^w(C! zsxgo+?SHE4i!bx*uYB#cjMV!{EtQb6)i>W_Pp2 zr}!oR0KFbrJ=pY<(VqfFAKuqA9;`W`@~?tZdx!Zzl-?Qn3nc!#E7IQ$z8gE@49|Ax zTw-G*>VDGg=yN{nS&(yRv<%kwLsKQ!XS3~wJbp&&x}yp|8FD`_DueZ0TxcI#E9n$` zy@;Q-b}aq?tareu_<3Fi_Gi6vu-;LlbEh&}{G3Yj`3ClL@Wc5``1^9oyEm!xnT4>+ z*xY{({tmuBWAv+IjM5E4e!}@|N3cp4YWZ8ATA>c6mS&IQb7)id@04E^kFo4Q;C7nn zP^S-8aGheXlHM1|Z>!++o(Mk#K8$uL_4@8Wg-`8O`*Y^rXPrZ9Uj4)PkD4F)5cq%p zj`bV8a(6$v3yt@f@!YS^0l)6^?>Z(L{|V#Mm2mxcAM&f2WRIEtsYtIll`GAQ_f7vy zm3~BrRw16BO#htetK)G$J@}2cUI*5$Pmz}wjIaBM>YvXsAAg@)%flzk=CX>}zZAuz z{cRKEgQ%4!O8v{GR~~h}>-q6``k9|sBR?{9-p;0<8TpaEdi)MH-W!o0#pC04tm)rE zf12Sqm*QTIT(Mtg`gh>oW7y}9#!VdGcb_qR6WrG${JG(QaDO(eze%DZAF4gJg^P!* z>OaEAGKLkW3OQfkxcI#FaaqmmKE-ZR!>e-AI%r> zE<>)E-?+B;z1UU8`!3?izx!3pvxxZ?4BYK`Y{dXBw6n@lOras7FM zMzgEK?k>ar+juqC!Tf>iE~0TOsqQg2_G@uI*L8~c`aa4^dU3_JE?g6%(0ouX{k$_? zTRP(B5sPPW@EZ}9PpzA({rgE>M=!EkagX6L=Hh4Ybq}S?%j?y~H)g*SzFKcw%pt82 z%Ny3U#af2PTHlx!p$)$d8EE?Dt&ctyuGf3Em6x53w<5g#4C_2e#pkO(&-F;V;$F{_ zR-ZM1do}RJnOzrrjF0>^8deN98}{cWluxzc`P5pac>G%KLF2E6?TdzW&GfNh<=~G9 z%a?KxkI|Bw6uIkxkChGU+GPX7gr5vCtUT@&;iDsbPK2+Eu-f#z`q=&(eP_n@3OQ%r zUyrt@n~mm%ire^DyoFxZ8ncbp2i`Y^^=_QnO^bdAtEitkPI{YNO}`0tTN?Ip_kGLT z()z9(={sGusqc7I?_qYETa0e!hWm)iKlCpIRv&_(O&)T##O!*@6QLd3cj4Tzw!30;`w>Cuc_mVH_~|Y=1=Wa zpBG$W{Jo4H$2SbwMAPpLzT0pdtM_F$^g5SSKOZvQe&DAgEUx#@`{m;~(|Dt?QBfSq zgY&*J{XwR$_OlY_ev{z;ZoESlz*B#`y+t-J)`i26tsdcx46B_H5&m0*FNyHYhUI5Q zguM@{`QtWWEWa}SF>n{kiuQ$<2h*Rw+=Fl4PoVZJIN@4wv%)snk(xXuqs?A(|Mt;o za(@Rk%0AbZ-?-pE3!lP&>0UHsB|RRU;}a`51g6|;lTRyk$`zgZ=}iU?DTD{ zKB|bT{vYs8F|2o`UTRp!VHIB=wXW)K&fJP#{_dn!e-!s1{N8VNr$_C|eg^WBka>Py zHQt%V!$+7q?*B8>pKW?N81(v{LVt^9kKVaW>u)x=KOO%SuYZTJNZ(>C z&o{pEqc}@j@Ld8QRzj~__AuTB@cJ3ncc&`8K6@MbdrS;vvMW5AN=BKFgU#;Zs4e-f zwmZ>ymqdL~JI>QRMBV>YpY?YG&o%yK@Fy77as6h)@jb}6JwFcJXS^$|Jz@@XMC~oK z8qXM*{%Z8I4EuO^zC1SNSL5=v@vgyU47sF)_nFK$xz2|c-J;07&n=xV#__c@w|ehd z%Uu`GTPewn+ z@WD7c-SER)&s=W!FlN(a!|LY~hV>xWTao$kP z)F-!7Ej!hnjW-S6N`^h}zE8KbPw9I@<*Aq1-5<3jx!ZYc+ZyjdczYGN!-3>S`+|z{ zDZ7dNINo>RK9unvhCeRC&Q6$4 z%Y!-8auvoi28J{6I$-4|2XE|r@BqV2;GMwzh$~r`?`*;K3|tw!A2^)!a3Akz!zJ)3 zhBNT_h8w_F8_vPE8g2yN$91*-)_57b|9*BN#r!S9Y0H${g{GeZhn#?0bH5CAQet}% zxv={7!Z@CzqB9xzb>vMLXMAol+nhG6gvt9fxtC9U_!N%Xk{>_c5m(>oi<7a{jO6=P zY;y3g@OQ?r3?6U^aUfSB=Odq?F$Jqog?m%Nlk{Iv(&xmd;6BVr;jtFqAbluG`hxM~ z$4@Y0{Y&U;`d98JeU?@3C)Fc=MX{JOs`OR!2d;azg434`YoAmcx^_?({M_His53tA zM7InzrGBQ_DLx6*zU+IO{teS33jM71yQ%TsirQDcJ3N+#_J^RqbQP{OsP(Q1Z-0c@ zy&d^i`+iQV>n+7`tnp^U8*liFRmCiFuQf{VI8%K+dexJS_Z~L)7#@K9X)rEpN?<*^ z2@XZ`Q8;ItWgMLY`7@Nj&}gyL$voV%;(=bA5Egn8lm{m(1*rvr`mmGR_9xp&@)rvDoK#Z^9u=1)F7 z&-xCiA3m-({&(2kZdkFa$X2=Zc08Wx@YIjzjQ^wYtK)axEaUwQZ(f93Z&k@vrwFfM zSmz&oz_7wRYW@z0w*A~R7j9epPPGiSlFql7Jm)$#t;$>;WWHPVDwyh{`r>-O-n)Bn zG0%50erx0VcsqX|)3-r?P=v=s?VK9n%OZSJgcXhQ7sv7pe@j*4e2?+!Y2)z-tKXD* zwf!=3<*Akco8Jq9@+0J$tD5&3dp#o^UMwI>nhc)}cfyaAy4y+xYGW~dj-REONqVLg zSIMj6inVht@{WA|iTY~lRs)Ne7BgS5{iWppzuB)~_Dh((=S1x<%0i%LU=?#8<1Gbm z*9a@>KiQynn-h$;EV9cZEF1b1_LI;K`g={k0$9c8NlSTn$@nGXd%wRxz6i4a*6%OP zzKhw%eNf)K59y#Hzg^+25aH?=7nJKwjKA6f+R)f~8#@}WJG>(ze6eB8ugQj$e--bq zkJEqa@5^StrrF2&)i_t%e{KBU3u+HpHNSdZb{JgbZS4iMw*dR@#$OlR7KYVtmA1A| zsLdhV_q=lmJ05a>Z}+GC_CWjXn)?^`%=N57M?UXjem1Ze5TzScaNXZRh{4xip4(n% zsmgQP{`=3p&ELlOIKuD%oT@0s6n}pl)hfJ))Sux#3Er{D^$d7-cweJ$#b@_osx%pG)EWm zTxXVi~T=hUxIi};ahh~KMbS!}mWs6|mpw~fYQea^8}d~MKq zzs{?cE^O+zGp_4(9wmKO({FEj-Tx$yJZT}Bl5o0c=)Xlzz9 zJP^NY6}VRSoHE0QS`3KN!wkzWpFAY3}!wKh`;p;RKqrX8Q-*T*TvqQj{8tGRYXLImloS%+GUItr9$H=BA z>EVWbK01GF(Z~8D(T_Lm-*t(rcAY!X^nWv7G!=5-@j34v;~ficreWn)#oKqAxu!n> zZrg2(u~RH6dyjIGTw#8lONeXja>X!O@DEu zm)z~&GyNr|_x?(M9y0w_Y(0eE8SkgI zwPu_d;VTT^$N1c3cq;hm2+uBX2l@8mv9{qpF+-MoVf+Uz79UsF`|pR^Y+v;GA$UuI z@e`iEd~e-iyxc!^T8{c9x%iJDTf=-j3f{o5zL)6-rrj`JL%~m*{jT6=!I_*;JT~Dc zjnh#dijqEsY;W_WW6nP8N1RfIGGcfAW-Li^`%INSVLle*H_BQ1jPYdiIQU4~Q2z-% zSpnm7*;HQIDxBZfWZ<>;WWI%z@!Mbcx5ANJ`;_h{=3u?A4;Y>!_4hZH5u9xPH9i-E zJ5qbWO?V&Uq3ajNJIUkUp46E(vvyqXTI?sVP77zqKjL?euYz;%l%lPq41UD0 zf_ee0eI*0GWw-(Sso@;_v*AW?x=1r!lw5f2xn~luWA)=4qhBvwOa;v1*J;3}@hlcQihD6|mYWgL@fn0&fOZySnf57GnXY<|TZd#o#t6PRbBCP?LOZ-pdW1 zi@Xth09gG>*5P<%I0K&oR$DoEB!2fKuVwK0CeK(uuLOs_fUh%L2Hy@oUQXBJoy%as z4D5N!!OtUC%w@3WDr0S!O_1cI<|%X<_gmOh-huxeF=yb<4d>t=!9O4`gVW)ylb^t9 zuoF1&!7GD*L7s!x2LC2LI0OG7K5c9V))yxkc%*T1@WJ5VAAB767U-H+rx{1{>H=_z zt>)FW&IeC6oG^c;8P33ugB4p2ei1C6W$>F|#in`niDAvFZ=DZLcH%maw#wj6;P7P+ zV}0}1e8)xJ8i=!md=31md`><;v_5K|{Rpf+c7;OzV$y z6|)jhlyqkTnT#LYh2wer-K5^f{sp{@ZJKc!cH+Dp{I2{^o(6BJ6IAvQDwfVez19;(Sl31Pdhp@c zQffaVk5ZstjV&dc<;7(}#H$=f#gVpRNS(9hrnTB)l$6)2F3~oMl68=xl0oU$Q_|ZPL82B~yg*?tBn3-UG zZ|ujLWJ`Xh3P&;I;O4az+|A@!zv7rWNgS}oPq+;JWSo5;+n@c>`QU-zyTk|U`2+Q< z3?7O+^l<>k5^z`}!25!~Qf%N}oJZ=stqeW@xnfJ$$H#(6canj%wsr(JfKNg$oP*CZ z+z7rDJWGDSevPHUn|^k&ZR zYvCsYcLs;tg1dsXo0q}sffaMI4Y>mIFUi2e0NMxgA@mLWJn`p4xra#`|3Y2{TS>n_ zr-C?~m+QPI_(Z1TpKyuoK>REOXFTgpn_s;^)>N1;hC9F>5 z@P#w5*0R}(4QwU-lFw&aTP1{kjwtAKkCWx7rCFD{hI)JIHq>LN+ftuFt+=kF*3vPR zx*hd1)OFM!Q7=sWJ2ksavh41~a}pa;vo0n>s1@@_>Q2-rQR{K%tEm^IR-yfH-#|E= z`%zEQ2a0U1q~BVf$j4v!aMJHhFMmDEsM?>)#s4w#=j}OP`kzhDRQXGL&KK`j^Zx_yUh^+rE6!b16tBii#rxxa5v8r+-A4Z5h5H+2u*%ES znrk0Y)0Y|^^Gf1(eV@vJ&qJ26=^bOMQ!!v^r><|hYx z9~;5fn4fOoIJTB@rFRX7V{jBt1}@`=H8DK9^}qP>bG-!HJqH&)<;P=FA7`7-uK#0f zzrgqTpN=T7{JYN*xDL7Ie6>%{RYqG~Z2xTluL)n{lC!O2J{!Rs8!m&lG~5K<+HiHd z!;rJz|0O?%BA5S+?P$Xd;FApJ;Fj7w!#GWF#v4|bFR;r$|fL4@y(@Vj7|3HLu|a&DsesnWKg;&aUi50CJ15xz0P&w>d! z+*_Iro>aI@J~5o}+4GizJr9lGd2m>U!u6JaXNb6YJ;}g-z#+QeU+0voa9mJ1U|g$Y zRd5E@{i@Z#IoL|-_Ye7;`u#3p-PdZnSEb$9r=P!O5Zl9{U*XuZI9O$6YVwzKFYJ>I zsHNGw(ATbEu^~!(7^Z*iJ(iv()4pLPT@%?b?6rnSJ!EB$S;o_KXD@Jud=idim$MxP zU$~L&lzz-1IA!p07DsQhN0hE*n7G^faagwJ!S%fQ{TIaHdQ$63#ui^sUfTj+*O1PS zuOTs4Nf(P^X&d3iBfLU+h&RP&pi0k=OZs9m$ug$kPrH*7b&!)bGoRKY}^r z@|`REx|koot6-f9C)NEJw_Q7uZyjB$YaXg-u7z_Fu-CwJL}b?`!YdnQK8F2mS}~84 z$us^Baqk^xRgr!1UM>v-ZG!;=qa!vLF(8Tw(_9fj%n>oS7%_`EU$bJ)X;2gsBj$wp z8ZhT9I)aW7!7%C=k@sD7)~3rlw7>Vq`+Qz~xYRne*WR^jSDiX_VwcnYb~0Ct2dQvepR`AcPgLUYNtFc zO4BJG_amrS{8saY&pfh|%CokYb?)p`)-}*aigBC%M$4xeo_Bb1C6)Kj@GcoXE5o;D z_^k|=cWt$^bcVOc@X;9_n_>A$6VkUD;yS#pi<6ozaXchfLCBxA{$c z9Nh=hzCP8wD>Ivlr+A-3_{s9o$dC9jjgs_EQhB$+mq9X4l6{>Ak9ohi9`aY@veV1F zYiwV<+`jzavD#8U^TwKo^;tZvQS|Kz>FK+iwdHvK)%@$>Z)&_C*P4fAs$6WWEgtt2jy|xeZcZt>)I6Zmyj#A@0oYId8%LK!JB6Joo(2e zVLNl|Uc~xtcncd#XL;lJMoGjr>}#ztg!YmO>-sl zo~5jk;SDqWVHplvT6-<972nZf-r61cZ{#D)dkI^?(>45h-m&Jr0`H2a>rMMV z>WOOrH=F+z{1=Vaor~vHGrZ7dVd+x+pU(Mrn?I-PRGX#O zeL3z4;+Os|G^uHBy+=n;Fx6jl6C&ZF=CqKy(QnTh)X=%u2^VX#<6cM2;%;nU}w0O|O+6+9g`cQk)R*Q1!Kp5Tu}z6cA9 z!_8aCy!!bd#zI`%-E3^R^zEXoXRNo1_2ducXRWV8FRtzAxfW8>YVhx{uD%;EA?jza zK4+}&9=vO;zw15SSjWIQ_b=?|xVfCM=Jt(@b-dZ%SabJT#+sLJGS;#2Sz{f?J~P%a zsKWt;ea&;djdiRUY^>wt&c>R{lw$v>Keira-iGilGFH6qG>-iz^yAzl#=>jnZCY1P z@S?sC&D-3(m>c6h_4k%oma*3Nmm4omG_E(+@#(>=`~~B99zWXO>xAOj3%x`6`SQg(oyy~!Vv6!N9&%9&N`8d=0Cc`t0HHNy3EPRS% zv&JU-=&WP2j&IuTY2HcLtz5W!|OeC`G(OekpRrZ>)Kj!@Jiw`d;yp?jzi%P@g|( z`9I*kZ@l(WtnZDrMw(%KP&3D@9!1PXqC3YS1>PU5XNpKoDpyiH>iZbeitrJ+r>@drmcI&DN%bp_=k!ju z{B_Ig`}Zp3y1#d$d2ePs?fzdk2=D!R7U&i(P$HJHLj=rzcChvX5TJ4k3T_cfdAbJKmj%xJx-=i@xqEHDyL_>IXTj~N=T#+t$lDr++J3^@ zYQMH$uG@aMj{hOs)R3O*_zzfXT%}))E8uwMxC(YE|22!XbUGY`E@hp`NlgoZ7c$m( zS=M+aJNBAc`LwO0%cdZu4T}>J;UN^E>*6%RNws7dG6Bio`9$C&_3n-S?l$2 z-Ks;j($PhIe{tTGoYb_U?Xi{Y#k?17>j_VO z^fiAa^P^qCAAnqAs$Oq%>#c&`?#9}Oj>+&j8J1I2_Xl6j=~&pl+PpQeb+@tBdCz3{ zz0B4(8J^>qqP?oSM~0Wr@PG{OVti0D_dhe7`xmi~dHa0x20KR4hrzqX@*$Q-%tNkk zXKPI8+u6#GWqgsEHiSRky82eMQs_qf>&Me$=5K=TIoW4>D-{U-1`^GrRH?qAg&EEz)!;LS)j*`ZP zj$@%4^X;MLZD*hB>j>ZDna5G)?_hq6xv(4jf0(xuyjwC~YQ}2QYsNaypPJ#{z{D;+ zE7N#ficP5-xu%q6a_THCPcF$jjQB>TiyAn8Z$Rg*`lebl<=c-a?tfOmj}K%XA#dTg zD;&L7QRNr!7O0W|*gluM%5PKGTjgfQ4&do>0Q*0T)O~Ml%Ai~IUi~%>D?FM z3O~JDAYA2lBz)l-zZ1dQ|5b1{B!e$k`4CM@`^tXOj1!FFyigAUl4UMbd z9gS0R|3Xb=Y$AGVp=!@%El^jqO?OLih>gd(-v`_&>%P14?9R?eZJtUlv8BIS{S} zuJDWZsH$M6vflj(EW3e6WO$zpYm5fx;8xr?CbP3=R{ndilY3nIVq077x%ch{|GY}1j}30~}bx4}#H%{v<2D#lt{jZRtQ~KGwQFV5LH_r)az%-qOyhnyrm+I7h5ba*k@^j%1&hXY5-ql#o zP8^b9*^`g*DUPErP@uS;V&28rJwL;vjdebKYi8>~<3Z@YVXU?EN5*l?RDY*|TP z#&~Km?|SnTf7#V{K?jiUZTXGJk2KbC{~Y6JH`Dzeu6O(cx#Aq_mbjjAz4dNx!>>ah zDxPh--@IGky=1KRf0E(fjN@6o*ca5cL*UMJQZe6mcixkn)O07Zm5g=0W{|P^d`DyL zt4d)r#%|05hr(0)jtx859AzB)aKtinMqB;>-0{Y`p8c$`#?usI?StPL>l{@{_OuR( zKJ0RG(ViMyCH29wYyNpV!_$p5pZsjB z_H;U>h);}B^`+tyK1Q74{!DlCU&GEa#%EDF$YgWu5EqWT={>^pNwvoQ;YWM{`jI9hBj*+j5Suw zhpU_SZ}d0IaOfzn*V)~?Ptj4*xYQaV=9D8W|J-ucxoK{Q=T_tXK-i5n+L`EGg}p1R zKh^p%Hp1uN-)P=6c=sEpg*rAur@l_TYfWnU8l9J|qy6p^W9|1dvT~8bR*akQWA4)m zTi;`A31eN$%5~!USm>;2-j8mZVk3U=>gSoz)AcnStA||%k_4K`>k<4*D4Od{l)SoxQ(Y5{iJo)g2vKY z##rajYh~pdWmxs2o&1RYk9i}`p|>-?8+Gkz9QPVR_h`ybXKchh@_25rYX1Cgzxq>k zMmwU;3(V^dZ?tioe=ANp7t{Ah^bLsHEnf)kgT`@;6jyPIbNSaT?*aECW6e+B8P~@* z_TA2B6fy0E-u%Xz`<5`4jeZ$kC&Qa&xWzd4PwkJkjI?}d>QRb#Mtp*&?>wtrCz-!2 z{EM@C#u{tBRf;(0`Z_k;Z(d*YUo_Ty`fp?T@q@A2*f6SygW@!wvFcbn!z&xd+)%&I z*S971Iql2p&mq?DPu<%YYrj6gSo`5g#@atGC~(>*)z)h)(>TA!SU$dJtk{2;m49cf zV^;ahqJ3)Xe8w7gOB-vSTGLoD*f`_wXsmH@pmD?>x61ksjFS3PeRm4)HJnC0v45S2 zj?U4~vF=8+Un#~w@FQMVz>}S8%-_WP81um&Z~11KTy{e~!SXGTKW(h%|CC}*(l_Bg znG0Vn-`cifTtyqcK(252OfzpAcy?AHCcxxUcTESS){|+!-1pZdW zJ;A#h52Bu9jkWKbW*pB8$5@Lt$5@Nw^kwEBn#DkEsOQH%e!cmJ!@t8=`|mTxisiqI zH9o!t<3qZJ)^JX0Z)tvV#$jn`a{92eHaU{?J*fOUSA!_;qL@O`ccPBNc0~$BD(gO0 z;A8DS+l_zWKB7~qFy8;-+@Q26Hc3r-uR)2eG=}0{TRda7+$+WUbh!B^VgDfGm+EvU zj`-ud8WFqW%|8|0OO17Z@FwH>dy#SfM)yUuHh#doQEr=jmCrHWzg@W)mwLV}t+CBN z3;yH+cU5^L=IzuEKNPZ3hjWX5_#3&x+K*h(*_d3hYALpp&PcG*3FPX#3(2K(eZfiB zKlkAU$_wo4U6g;u#i|ON_|9Q9>$|x*HaL~fw+`FoIkNI@8E$ID$&m}u(Y`M~ofc$>n+l^k__ifg@6&sIdHr_UlZ(z%wjvb#;elc9d^b+#$N&AHQYO3|_M5a{Vx6xO> z!_&C#e16eqcf((@z@5}Kr^asd^s444u75Yy-x=5{!~0~Mqm4DUD`~vQ=Bogmqa1K^ z@ebZO<~?j*BWCe;0N&Vw>-_9f>NmwsfBQjG(KXh46utX1{EV@_;XgUU(=$%#f}*|R z%wsG&J+gADNb3gqthg#py)AzRZUu~$hGxpOj@A7or3pNLupWXccw;!~uNpt6@^jW@ zyD6S6j(sU~LvN_-dl8*|jkhD7CmX9TE;ZKiNGaxle^Rcx@3#CkY&?^3-!_(w&$II1 zvhsN@Oy8YK$EY2f%cV)!P6o^c{1Rmk7q-;DeQ-O~Uuu2VnVK zG`Ysm>EsN-(#7N*$(_poYPH??PKMuGqF{s{dZtW%+=xD@X)^c`zCoR!HtZ?&ETkS)CWot(+YSSIMGkh2Q|v0 z{}eFwnK%{j>EP(6-K<-q{6KJ9{X{I&akC0X=^}DeO5@1Y508*b@+!Id;S+N8gHw6B zW5agi)C^y|IPZ4BB{gYHKhMRjxRFn)8e**dZTF0GNQO_z_!k&!PPie% z_Zh3M=Q2Dg!=GmSZ;k8ELo_C)VY~e$MLTA?t;8f9Q}tc`8S@n1GgN-shQ+;3eG|Ml z?ODKj?N(AqTKA9Mlxx0P)$;bpH_C8}vD&qtvEp;OvBubiS@~!%9;W+)Iu#m%TNq}K{{#1GkXI>J+`55l;BCxr2IszMET))KuK7f`#&3AW&%agMR$EX}D$i%X zh3C$2Q-BgqkgE@x!k;-woUue zz03_*WW2=2c*_?>{*>`Z86-8dVRJX)bSAmF%HU)38<*QmAcBWJQSIV@nYk&I2y#AS;y|Vg#vwV%r zj$)@dQ+b!mi#cXNa#GV;@cJ3&ZICeHy#aEydk6FMjc_H!DIY`8mT2=n<_~~>jIm;` zr1r`07*{c7FE(#Icw>z><{am4W6jU67_0B5X86Aur`r`p`@~m@v9R6QTxY@dB9?Cq zUNOVLRUX_ymTv}kr~l=q@4LpDSbB#PoK9Q9uYzf7nrENlxIL6IrE@56kBhbAi*5c- z4y#Ntor%MjSyyx1>doy+!>p_MdRuUXa;Ngvma$#l27EKRI^L{Cf#$W)eUS3dt=Wev zoM(+|;N!mc@dF>;qFm#q!heH$mD91R3jUPxj&9e6tigA1{lS@X9LJbL+NCy@Xru1A zrsDzldvyQKajgZczp*BKdtDr`o#OC5!I&Z6sB0<8bl%CW@swgNuCWz!v7DXb%HkV@ zRm$fDk0V#=4puxW{Pg~ua0|a4l*_j&zn-79E1iXn8d%>G7gl@Ku8k$?HFCOlVZFr3|lPwa_SO36>w&&kiUr_QdtFNS7UUg23WY-;^ItndGS z?Xqv>?Py!z#W)59-YF~JCBwUCc*hKH--=Uwc=V}=4`airalckhc`4V0I2}v$PE1EM zw<0#ArUT7oE6t%gpHFMZg%}$Y?gDR5IQy7C5`37kp0_w9!&hebF5^LVD(q`6+XEX> zPuPFT{3Gi83H~qV7xU$t@U)NYzgX(`rla6bv97R^+A80_rd(tEd&`eS-sv9*X!rkB z&+9BER8M#FtLQG8VHt^-Mm;N9eiGb4#?gLp<;%8|YwfX%<)^~kuMKX@RYzHV2Hev! z?!^V}q)Rzt!9=8iDJ;E{IK#Vzu3c!}uJF4X4!eDtzZBP4w}t;TI2s@Fa|*vDSO>vR z4b_|_tiKQYcwwiczs>S`UA<@Fqmt@P=M%-I{x6?nnee$8md=;hAvL9VjV`dR*Ug<_ z5s;+!=HiI)Yg;kgLD9C)YUHk9=J7P*ZY4WXDTUmy1IQypQxIj zoMm`vDe@lVE0ZrmzBYL?`TFEN$%m4Yn%XU@jJ31(pBBpH@5n>2K|p5yvzVu1Z5{K; zuGSyp{=r(>|MsR_@zuG2=DFY>Z2qA+m<3>X>^6s1R9u~RM zgOscPEBu}`u7ZEyJW{r5{G7@+V&`Ss)cF6G@kRa{g~mot||1_q)(R2 za6jYx+LHVVd+S&}5qsNY_yA*Fmp{!o?wc~c(wr1?n69O0E{Hj4*$aw$C0ASTIc!fb z{*9gQDdXS4uN!NeDJf3!uNOP7?%zyZub4+agQs{+H~(d9mai?^EZsSc&tIA~pm7hb zU#()it0osxjJN2A^(=oAds`T5Z0=d$t`AYJbcDC%TO{?7a6bxG@vF?++pWzu9ADU8^jrHHyqTL^1zo+rOIHMFkZE$3}(vM7- zYa*9U#k^0@*~(ac?33ZcjiWCVE48OL{kaMGS(Z=5hEm8cW#`bDdx0{0j5uz^0P;`rAm0()QCh zP^|5I2j@?i-^Kjs`}ZkdW=ZNt^=zN%9b~NfmDC=M-S98Q@X7F2VX`{g{Dt6Onc2AxtmCKF4u>qpJY;+N z{=z@$^9tpwb6k_W%1__f5FW!%N&bqb)NEZ~xo0bG?9qzLi-7N-PW(-EJ`4`M<*^-g z9@BqiJrFqWBn!VpJGUH z>B{lt(qfc_Z=G)})>8A6lbU*)ueNKA75pVFU&eBFxj)EPL$3C%XWnvkc5XmH``LDu zFK>DH74k!n%m0Hw5fg$jJkSRzFO8M z1tH|ah_S}qs^+Z@Z*yb$u$S?0EmlZsi};~m-s#KbIrKVOIMG|-4>?}z3O#pVyj zdS0#jKhb2r(0XYpWA)i(>_-f-biRArsA8Omc&~9Y_+jG;c%pF&_(kI?_zkf7smAYp zmuuqr*ti+&RNmh4VLLgc25G!y&ptKoXil_uZG0viDR$znGf%tH4sh0YTXqI-S>R6U z+F@YM)f%eco;seTns|1D@;%^IC_fgw7g(IyiUqEL&!l{B%H{u;lG0v&HJ7tgKM@QP+j8D2xJKVf0kD@;tVDgK34b}H{`TeI_nCPXUl`6oQB$DGO|{)D&7azQJV_c4z!q;W4v zv_E)zWc>Zi*KtPUM5&%1<)Ifj)bat=CshBVA9}h*q7>V}@3`Y@rF^vIibL7;guSre z+s1Sa+o^nPW;Y5$kL~jD$lqkF(Zn==FE*;U<|OW?l#5%@Mv=-V*dCkZlUs44#`9G8 zq^A5?X!S|hIr7JLrI}Rpqj{%VpQ6;}yLVxIfr;>;>E^=T>E^MOcuz3EWjA<_T~W-F z3!6Wx&TjDLT#|RrsjRPgXJvLZMuJy=y=@)y&w;;PhEY-6(mmeLJ$DJNXVI_wns>hI zh<*!R{j-DdUEyP`cVS%{p3pIh{puX#Cn7uFyo)oQ{24>J_Cu{@wI5w)-lgWn_zK=V zmS1jp>}Mg@^<2d|>`fTaF4>)Ey(`gstIkIBr+i)p-A|EgZv4W$t1_QuJ9x4F{>8j8 zf5Ow;HOKg3d|V6fZ^ogcc4B(g*jv`}>*20ztZ}ss7%S;`t9K8%_ma{N0AWqJM>5`e zbIfW64~I{TX5CL)gEFPb%+dd4lBe)<70Mp~KTCNPyuwhf+k$K0{@}!?Z7Z`szR9?&fOp|$)MAY9ipL>E zv&R2Y*|>kobxDr7lydnqmeb__(I4QxMydRqdBPLH<7gAzkmj=Z_Kl3siZS?ZIQuD< z;D^AP&r@eB$IgqH&Bt1Cs#P+@9`#6N^_P;`qV=uDqvnQZu}x}v&2qL3=)084zcc?G^A$@u)b7^eZ;8J^ zf$HzXHmPY+9q;pXShG_W_IsH3K4mKyAC10}Y;On-Zuqi}d6UuEF2kXt_C>t*L$2e- z5$1gazQ9=TD~>fDB;_J?c^S@KF8>t#tnth95eMT#@N1g!NbpSK<1^p$IO{nQ#c!V5 zinvU}ZV%&#J>oPjC-y7WCM#P0HQWKl7q?+Q;=hG?|3OEIahq)3{$4q)i(;L!Cp?}1 zoWg&~_p{#j=v9r!_u=|efjh12bE@cX#rJ`(#XaTw$j4geC)Zogi|a`f%=-o2^Tv-d zcPT~t!}b)*XTbfvjw|~brwiU*++XU$^d1w2HE#{mR2;__31p)^@(W^~%-@ z{|EV6sqR7R8pvMeHJGRUFUFhd*Y^h0&rb|0r}NUI&F`4m&H3Ta#pZQ_cZ+evC4AAE zQgys{e34HyZw_=mG+rMcf5@=fK1<(y_O~aB`KHqyMXcsT|8K_eJrDIowNLAN?Mque z58Ty_wa;v29KK3Vb&jB1z8+}#{OBo#FA-Pui{g5!dEMb%V63+MqrhE{#TRUs##?p+ z7fF<2d_O?B>Wk}Yc|R!L4_j|x`yoG79(r$CzDOpQ{rFb!_m=lW-to>NZt}0EvD#nB zuyjc&hC8`j&s;clnFct*Kc`F2EBez9>rPE<$q=be_XT32_(`BlsNTV6jNw&6O| zRoMH=yfxr8+}#@Q#f|0rddBj1S7Y6uJ~`vdw}@Z;n7GWm0ob~^PKO%*FphQq|3Svr zs>>J0!$-|u&+Ulu6uj3gAB_A9WBFOWr)Z0?Q!41lhWfbOyxhAtC*D=J9%+@a;VFcSHA|b-L;U#Xh)?TD~XT*Js03eP?gYJ0`?&s^xpb zZGT_U?ll;9^Bc>*KF0cP=%B28>kRK@tUf)-So`dS8Rwr_`Qusn8yS{wYLCX|=aeh| z&ho?YvCD+yW7qjKfJr^Qt@{+{mA0T=bX7wY+!KlaVnJSoO~R4jo%9!rtWNL0sjZx_*=y@j5TKBJ1$l9bq;qPb=AQ0Ze^`HUT>vUKJ}S7ZJ_3T1PaKeSyw%b&l& z(ck`%&9Ebzi&Opt_T*xttxh~*Tz9=h~-%CAOX9vss4 zdE8V}exdne&Bx_re<1CXecjtveua70o2NNI_1!_aBd(=KeETZ4q(u=w6ZS)n3f7{MuwnN-g zEdH;U{$&034;Ha+B$vJU$Vp94*q+9P%EPajj^*IB3;v?!Pc%QqeSGV1dCQ-+T>G8w zE9sqnB?nKx$G#v+IC*C9g50lajzuC%ZoQI%~ zv##3on6YB>zOmZTFG4Dki&b8i`=#9PpY%pF%nIN*9t-R=S29=hFGY z(l?Y!)g{G7&V2kOd4=EIaD=P;YK30nYkj*0WlCzl*6P)?mHsQwW&hbK&uOeSFKbT3 zYe=Tk%{+}S6~}pW_@-wEr1u(rkecSp_$t@E!J&xs+`H@s|5Ni9fd7-Rp7C%0Xkka! zLgqBiuYbs9_|TT^`K|Xi`x0YG*AFNBiBHR0uLpYT8Ap3$1J!g5vMn2mV~h2A&L$4q z%q9+po4+XhlZ@BL&LwqrG;gW?8!4X`?(EvG`tLyAfqEXa{*rKCFqYlP8E&iKfx}4a>Jp#S;B-em|f15461%9iP~jG+reiYWYgYch9hF zX{;&_uGWFtcaAV`Rdg=O?BAH_-KioZ+uBTyIbQ zlpZhIxe4|bFpj#Bmb)(|t(3}tHAW+?x8B;gSWn$Ju*h$DvdEXVoh`AsN`_@6boD%x z)?oFz>zY3l-OY?gaszi~<3qsv8XpEe+V}|Y>BdKaFEc&{e3S8U;0eZ6@H58JecM>} zKQ$h`JkQ5uxZ@K=tn_yVyJfg%hWliAG2+6lk%lVmjCB#Pv?iRsU`=9Hk77QE?fcs0EXNkJSTPaCRchNe7rg5f_1E@@jDsJ=|GCZ8{iZ-+WWk*;xNaP z#dD{MLpLy~(*c>E2O1-pwT?c>WesAJ@?+kN^#}70U11l=BjB75p^(v$0)U}k)=%O0GUbYceESRcnFeDL26rt-wPv(^qNMnPt zJ2>tMH}kt^=hisigB_K(@Y8x%xXQ14w{pT`zz@J-=r^>0TY7Shd{F>N*I8&wis9Nk z2(~;sSC#E2;cLID@taPcrhN?J%Z1Nre7Hu@YitE#-)(u$EcZ!xv;Ye5Agz`XK7fZJuF1A)9qP|~r^fqQIpxbUd_{&wWmtV0x_@UZE768D$ITjNlnu-Fy+m?%Jc54SH~2EE{n4l4 zU&JxuqN-}G^`|zme~oFew^bwrFzvDSwBhC z_-w|X*19j0&+d~AkA=J?b_`*h3; z+V{t!ul@cO@|YuHez?Z^uOU;CFTKfQ4v6;$ZZYqTjHh?g5~ej$>W<7?^-^|a!jZD#hPQ(7c2K|UlOI`iN(D7h57Gie5y&uXT?z8oKjw5 z+}#1^C-XlrU*k+-Jy$7S)6>N>?UsofFhzLtNK$y0nhm#%5~ z$H=$Lu#AQ+#Q= z8)vLBq@=!9uH(Gg9yXr~9y*_8xZ#;12J5nL>6PJ1hFdaxf^p~NSeF^=y8`!QSoO;f zx%3LE`{M@pKH;@%#qLqK{^n_p5p8d$qfsxBCgj zIg941E0K46wrIDm7c0pR^;5(v>~}M7rg>tJ$nCCS zdHYPRIBiI|{NCL14#;;k9#oi`)wl6}tG-zxorBHml-X1aqYXz{-iZ86;~TrN7S6D$ zz|YiY6DXJ6hb`}FyNZ!`bFj95pFq6Uqg`6pylCEB@IIK0P3as$ywuPCwY*!M&4~NE zix<};+C5kF&wTI}FqY3s>fn51Tph2aaP+#u|S;jMZ<;7}w9w z^>a>~kE~*TA9R(}f69ZeaoU^hIM)cht*zJBdWwVMUf+&G&07)PF?DrmOlx0=@prN1 zE8C{z8tZW^yUy}ek>6oFoj!af!;_7}FSSSg5&aW${;7m=I^}v!Ncqp!TQjR$z6HO- z3q|bLM&83%Yw=Yw%;x`$hfR>H4Lg`O0R6p;W1ms%7J+jJ<;ryqp!_)V*0WFIX`YR? zoQGW7mzg&h-W|p(%K%C3SHHx0RGc@(IaAnr!Fn5Hb!kq}TzxAsj`NaF&D+R4D9L{C zenGBy2fy@U5w}e;zFcdfTzT9(m!7ugHh;4^eq0L;Uc{)U`CFK;r0TT_?I?eh!dDOcRSZNr!>fN1O^(wKQz8$9H!Je(YOP$8jr(rK z-N8MKo5A-_MK%v>Rd8?0S3|J^b}AoY-`Fmn)`}a|hrv0pwY)s46*oqC^n;FzYWE7% zqj|YMIjQMP>!|&TpXT>lSVNrHt6aLAJdOkFn}0U^p~i#Y?*XR&8{PrOS{9h*f5um8 z&%p&Jjd2|h*pEwN_^GZv*tiL-<3bH5ZlX-b2JQD%5sOqlueEK-af!tF+61!3D;kRp zwMBKuvFvE-SDRyPbgKQo$TlNJ9ZxKdRcB&A`WKsb3B0k!TIb$jJP6LC#yal2ZCrn> z()WJOM;`H+X5K$szx-8O+Vb}&^RF_W`TP%Sg8KH=uL`4xde>S{aY9_W@|ki88?&y@ZfxFl@OCg(%nmWu8sju$trxD$II>5qQ+whZVZ7!4 zg!@Q=J28)zCW4uA8Yrf+mz-YJnAf9AOBy$WC*y-Syb@XZ#JB>kn6nvp1LGF(m*yM@ z-iErq!F(0`J>{fMw_xk2QR&)Ey7#61T>Yf%3-^{H%i;G*9I23FW;Oc(Y`O?RlRB#lw!!3+DrU&#Es+TaH-^p-LI9{6h-U$Ts9 zD8_?woqIJg(AKkjf^E}`xz^*yldHX>%zGG} zOO4m3{JH|Cwcu^WkGo#PsY7aP%Ldb9>0vk&renb~;9U}fd+^51a3&d7z#nG(^Zwr2 zkJlQDf4Q;v)8Ti;zQ)Wi;3w@%`Ss%4!!2-{!0Os6zXgnI;9lUR$tCP<+zej9xB~8P z+ybtEr*S;0f`=F@fLla4c!wyboqK>E!=Ea6Kd@p_VGce5Ot+z{|M21$;KTq)yM&#k@O(vcH3*MJnIdBVeg4Kb*=BW#vz0;-NHRjhbW=cwla3o*0rTlrg@-O5$B@;G09&w3wYPbt@{_xS}l(o^|V z>wRiHin{cbfj868X!_jc>K7I3Z;VMV{szVT=1nyZS&G@pl#92v<9KN>fKe>bjxJG^C|!A)S@p=eyJ`Uztpda{}trFv*!BIyuOsp`A*R%!b+jDUcl!GK=aMKe#w{u4&%N=AoK=2;MvVEjjVubH2IxtD3J^O8#zl{_X{3dsyDTPOh;( z2W5v_z6SVg;|0C8kG729UbWUJTdvQ}0q;8V)&}37;ny+@J;g%%kFGavh|O^vKNcg- zpP4rReWmChy{onm^6&U4@uK7}oKsx84ZWYOH_&?Q&a+~pdO|U|>9`D$x-dtbxYP+}fH?V$;;TO3!y~lE#e~@=UwuX5d z&4xE8W#a7*e{=ITF)!jb|4Qvk1CVRoqtju`~>>ovY=RtNR`M&7&Gk>Q#zTQijj-gHNWR1*u(1!5X z&q~{v-%`hqaj5xB`_0RTwlDpH-U#!D*YRan@~9{5pKAVY@Gq;=Ro`Jc9lJEAX@6du z{2uf6MCU2vUwvGSx#1}0v2Msew0v*-6Y|q7|JL$->*Udw<@bvC?r(WV?~iJ~s*JyJ zI6u7CINsblhIJQ?Yu$Dg^61|lwsWBE#5jmJu7q6YpKFpU{)3!vX1$T0@C1%}k{YiM7UCg`cju z3b*ik3eFMuQUxoik0evl@lh#qVEJ&k&$^Cg3T9pV0mu1a6|6dRzEk6;dv$s~SOc&( z*HqNbW;UCL@_dZ_)3;AGI4b-uTe-lSfmg<%b;zsy1~M?uR=j14gecw5dJBJ4G?|>T zl&B-grc$Q#qd9-!VGnV7kW12^+%9N4>1;%q?Coam;pUu1KC6$wUom);E(f20Uls6J z@JWv6?ckHaHOfyW1}ToMzR!yDIOIxIwXI0y<1&1_F@C50N0iy=oS5kx2HxQ6BG&4M zd+_Ca%O3(?0IpF!5uExPzxF(*7#Gdp*C*;T1N@J8cn^I1HH)u(&Z-%ZRA!)T;I7gz^Dp=Pye#1@;+>7!0rEFr% zDfy<32;a8GCZ{_Mr&G4TRy-GNA9mlPeX>)bd^nuB8NXF<>@ziRf6mvxAP|c4-f$+7 z*ZArAk+*ap#ut5Cb9HL1@Y~=1t51&whyPJ;mGZM(UISl3{A<{d{mUuGh1B+qX%|H) z#WjlxTQ|Y!Os_LY%~5|`3a(PFZ-}U0Yy1Yl7oNgzBXEi}mFYP-^|9Kl=LPkx`dTkvLS!!hrvJdH20!53znOImSiELA3dh9_$JuY6uBr~Gdbic~%|E06siQTd##{Q6eh z_)DgHWNUeOegfuH9-WmR+KQ8JH_cJ_MiwcR%dTSR%K?&=KQFp2;ahEoE}AtT{%H9S zF-UACS&X9?ANm%9F2ig=-;kPav#p%JSHIS0;a=UT@MVAV?=YXPOYe=3+>f;{?LEr! zyE5O@-!Y~iS(ke!Y@ci1Jz2eS(qwjpOBe zmOqI66XQlEwC{~|4^gSXaqBR-efpk!7jn&U-M!uH?PbVGO^;@NeT_eN(kbd!9go$A z{mpx<&aZ#N)7Thn`4iw4^xxkOUR!#9;Av$vZ*|LivD=ZyjQcjwSNasYa6xY zBlBL*>Q=eNhsNo2%ilyk)3`TlL#3!Y#?;(Xin(b)a#GVfS=}m#F{g9%YmhBv-lUAD zb_Z`Y^r+zJ|&Y&Kjg<*{!!+K-{`J_5yzj?s&&+2TxMY-mXcb&g)-WTwu8u!-4Z4ymO*K_o2QT{h^;-2xh z=1)Vn!-qx8U*aIVsIlgr0a>|h%1;fL7$;i$lA6ASyQ8_ndm6`lBfY$Dj<);*tOKDA%0yh~>Z7md2Ihujhl62k!;*euMXc@dt3eF`gy|Ns62FVjRWX ztb70L0u1^hR;AUoQSkM=bL{`|oN}BmEM$He{<6l=?@`yg6L?R8{?{>Fb?E#;$APuX z?~v6sJKx$f->Q!{GXF2;M=a{cz#isxhIdrv)A`0RmxO-Uk2a1quM7J38SDEUFB(Vv zYM){h_p)O>s5RmY)`*{(KX>M@`1SsF{C5%aZW&MeLGWTsFKFI;=4o8X9;ec2zggb$ z1u{FDyY+X5)$uX6u4&$1GoI|^W8yl-(Z=R21aF71?S(vuEisYwMvG*Ba)w{xWs-#yC-Z^6!_)?b11S{0)_!)?4mR^c3rQ zy?)kP9=(Ca`Ej*IfVQSwdGzu2=BK60QHk9I?yy#ks-J@HCB_X8y|NNBs4D zzH!Kde}#FgW<1%Cb=e)rbq;;6dHpk<=7BiIzl@x*Ui#3yHQ;?`tYO=(cQ~V1+f}bB&UHt^S6>`yz4hCu^DOgX|GU)u4KhAv(mGG;y?Xx5=5J(v%sE4Iw_zRo2O=eeq)USDC{_Jc1wr$v53%S;j>zTK`dFo5WYHP|rV zUO(eO)VE%SH#gRCdbn{v@ctQ=uQ5-=9CbW$`F^%}hh)BJ|2k%2)-`mJ=AunmKVEL$ zVL1=^3Ru?PM~icZapoNX?_n^%ar`UzPODsPb`AwPahm7mLEB7qr`MJt#=AE9| zSKo#G4=o>s{Ci{h-rqTs04Lpze=b+ncd?6Q!`hsar>c@48^3oRM z>d)QC)eVP{tG3h0;ihYAKlAL4>QmC1LAaTpo)yvQVufGyWfgqiF6q6FhVB^FIYacl z<_*=Qiq>JUd7&O5QR5X4gTVCVs@=E6Z=GlmAZnm6VmIrBF8A zX1QXs;A~Lzx?Ztw#Px_~^Y1c0{EBw0ZuvdPcQ97_M;hxG ztRy|vb3El*lbmAt{m3sf9wZ`(ahlFAqV3WDaSV-f=lb>gZMO4}>r@P6Prhn=JdIra z{-Sx0m=}E$--Xw4Rehu5tnz=GU#qjLai=vy^#2d$J#L=bta&@y(KNm2qbD;vib?%A zTG+g&GCLZN(T)`?e}=Mw##$>5HP*WPFyoc#uA_ww#bO$DpKjiZ*t*I%#w^WCeYWS7 zMf}DiR~+v&?-j68@E)i9AC#SXbGbB{{5kVp1Al0&Zn7+Z6G zlKUEOCIHz6JydTU{dv)B}!gjW{{72+1#_@M&#g)x3 zD#i7PeJ%ebt5Y#~kOSUG9M!Wo^6fD5euHqk&m~2d*9d;Z~2UOFLFH-@Su4eGG2u_ChSc_ zK7j2P&HGEnQ$31_>K#rlKPH*iIpe9G;5|N&cUs|nY~CChFOOlw`YZFgz?)&*A_FAM zcHwefY4v8l-GW?ed~G*u1deQFYbw}r*3?G}}vy5Xr#CVK$UuyZn*ig#HpyEB&@6n-w18MH8?^{G$zCcg?5;6XcZN>U`+glvmNhhR)y?%e_`egAQ!q)4xFI}=Y zYfyncpv0%I?|ceNK-J}c>(<2U5Z{0^Y}R{~iB z$Fl)La?X3JGW5s8har8S)?V|hY zvzrH0{$KO^Q&;bm#rPXn*+I5#2IH(f;1Z6~C+bBQxrUSfj?hhrY-MU}tUH*&M8- z{>gm^JDZxfWyX{JSkwG)563T#zq^^YHN2}h*QM^XZ=FuLFYT7j18d#V%x}(7#W<^g zk6(i8Hgs|od^sGNlg_u}T$So@yz_1)H}E9z~g{EJ%ad*Yf`qOMcX#r^b-Rrm(IbgAt(gRcdv z?X;&fyi%-NfyrksC#JTvW53a}wuno2nBQcM<^-kT6~?n;_4vTz8C!}<55i{-OR;(p ze5%LM>)`Nnl5rKjj{Pbh!|yG2s(o;-2L3p+^T{^8zD&9J8i&pNj(iJDtSjIj;ZI|L zSHT}~QH0z2$xi8~A|}mjt6#JaDCzpv?*yR&?gmFOUkW^HZ3N!vb7BXl3RX-ePZdBb-p5sxiobu@zJ~P8-Wcb_+pOoPfGki)bZtSFs zfkh(H#j~r5NwYSJR6fCcnwRFgO^+zP=e8_uB{f}ve6GTr@%K2wmwPBzd?r|a1Nga2Prit& zI&S5j$`JDREFTAVYNjVHtxxd?yYY>Q1vY2=F&F$~{&;l%j9*9@1V0z?yw&{hCG0O` z`R$e~Zqf~T_Xmq}z7@^8v(C=Cl&eicEWg`w_Ma{q*D+po4yPFC{+n_g$CPi2p7L`C zwmws!?VWA!-n#nq{X@wQw0r{cQ;awE+F3DFpTzzY`%=_>f%y;GHgid8b6foA1FB8w zTI)Y-{rW!BT2Gf2W6X^=|Is%1F-9MP*OwX|Gyk#wgCF+aF#iej>-#Y5e`DUnHtb$l zE%ueMyK_8RhOzTYF?ODA!){#bTFAU-;Vo~h{XmI*FOB^{l=o&ky*EXk-kT!digNYm zaO=I0`KI#FI|{k3Lx=v!=D(ErCceh)g_OOrO1Z>i_N6P$d!>#SbI4}QzyIaB(mm$A z2JdNO%_~av@znENYRjAEy=h+kI8Z#rTZD76IRXDR|Lr#H>Rftp4v^oP_imltkgvvE zre_@WtjD(tG0wHYocW&lF`j>7O{wF_*$wTIUG=LzFf$K)#cE-4#dIm_|EtcgRVjy_ z{w{{})-i9gd7XWZyG>DE+LfI7rF1Yk)s{{mmuKga%g$xw_*S}xyd(KP$#tB)i(H4Q zhsm+oFc;)FW>cK*ap>6B%}=KMhSd`~OwF|1JDX-#jb-)_Q&;`&!>nZD|h5g)97YA4j-_pV~E(yvk2L ztGr6P)OO)9;M4w6>`yhY+Wx8fgy7ACO<|qa|JAq(?g{>k@)~$a@aN()?w17%>U$-z zE~#mMpks7?TVYOJ5e}Pa?V>qUJ}Bv$fN(Rv;gw>oMpk-!V6j$f0qgG(CjY@}W2ZNH zjo%>f5b`u&l(U6bEzD7RRjN*8> z06D3t>~SET+BlgtyK;@&E6JBJub~az_b2*$faY~HPi;~k=$P~c`4*OUvYa_9)felB z`nJtFzeKMuehjyMqxIE?(I>iApT}6+hnwG&`6IsOYr4F2mgQaR>|IK^@uJWa<5|@r)169aR++sob49 zI?qv@hiQN7jE#!-(`a{v^6uuym^cH>dE)$brDkl1(-$Au#Tteo*Ykc0Qm!P*Tt$Hm{LKezC=X=&GqN?O;4y;!eaZ{D)z;mjY_|C)<6F5+E-yUp)oKA}u} ztu+;ciI(@x?CBU0^~HIG<|$F$Fn`6&p5h<8FDzfla`kj>cEzvvb7AvVhqr?9-CW38%UJi1l^EhF4wr9MjGtW(EAn6Y z?glX`{qDTo1I2cO^9^ig?K(e>xv$V)k9|dBvBkWKd5Zf=#9=YUH@jNtP|F8oa*ESE zDe+FTd?4~mGb~Q@xz^O;My#|x)7ZM+{K2*@e%?o~a30E~+0s7-7RR2u%pa2ZBL3!# zRgK+=mT#EZLtJ{Gv6u^Du6tt(uIIve$NY`W$ITS$li@ex?`U!zYpy4kzqgX>yE30! zZ&T}0^&j+pL%t-k&MAVWrp?>njl!P%SjfCB&5N;(&I>!_WZ%GJ6^Z52HIJqYQW(fnP^ zCuust`JBER2kWqgqyM#*q-(w$NUU)ChFrs7R|i<@lZA*&em9e@vg-VFjdC(N8sKHo znNBBU4l=HThk$jy>knsb@Lz1pXz&5xlJs4{2Z8J0gTRMa=W*b}#aDp@>`d>g3IAE? zgzEM$bBT{5j&rd3go6CxP}>{s+303qwRWKU$(_3Dz10@XJLH#;uY{v(lsfosu!{d8Ibp-c?BVX02 zOU#`Uz)M=T0UiuKNqp>gsO`nE0w$+%EgWqUZ4mKTbD`As2aiCXe7_$F8-tH^e%RO` zeM{0)+uGja;K<(XNLO2`9irZoz@7fU-reD7UC{wP0Ia>d5=EMzt zN5V<{1>T8Z`7E#NezuQdFuMv-SB`22Iv-V?`BC?rckr+1In-&=a~OC6<)bIvSBZ&0PV4!X!FsM1men|#0A8GQ_4@`m^ve(hqVCea8|$SQe*@tk;kvF0 zKC-Lc5~&^2b=DH(=?9U{ zX`m?i9RXIGH~5Xu_*bB_-8wJN_}688L}X`o>DS)&IM+kZ*B#$grvg|0qHjp_L^yY% zPj#)6@Q8H-i-R8Gc^mST?ob=wrL%Tw7j6?TIHz^tHtnH2gHA%{z4Wjp_LL?${|w~* zonZ;ZoEv?y(}(=!O7-z+9mn{KYv~xLbELm;$^9VP6lKS`V|nMF+mx^U3F%+W`R8Z( z+6Pm6FNA$tJAVTCdl;)83f=AVC@ZeFy8C**Yf zqCKi_%)2(TSN;lKkM31}xt{zjSReGFZ;mEEUmwg3NAqw8zk7$WhJssy=O>*aQlE`= zfI5HdP1eDSn4?brDAy%J#0M`+dis774$`%2Ps+W4yqUJC=04yQW8xdGGgMZAxksH= z%}sT1T=z`?uY}GSD6;{MveYqlys@RY1)J+&huV!C>-k;H7ab&q&C1ueShVL_2YHbrGsi6EE-`UAQevPx@3h>8qPeRJ+^!Xj^5)92Ik| z@{}H9DEjYO*dh8oO*&$pi+iZsnRg$&y^Nd3Z|p%IO&;}eK z>K6Bhj&c60wkO&?>K6LXHt%)wq(}Wnd+C}tu6F*LHUY7UFJ<$3cb zA^VQ8>iI>cQ+mQST`Ngm*FuVWOjGr}e<3rAaeQOEm&Zvz(y_Vt12KAv^@t_412OI` z4kFe%?KI*J;yZ~;;+Ki*#2*n$L2J+IoUb*Y_6MXx;qCpazhPN|@14H7W~ze~Bvuk@ z4SIl#Ak2y$riWk51;>8Hx>fsva2A9kA2;|dW;_YJ95}v3SAt_s`42Z`G_DoaC!Ogg z=^16&2FE*8{N&lOV1*-yW!6c=@{L1nnyyX1+Q;}d(*NCs+cw44NdKrSy|!7F{`%ZO zDQYif_=7Hfnv*`{SoJMC>8cuYqtkmdrN4wO@gq=&>Et`@*M5r3SylbozXM-stcR}d zH~!MLQ0LAuD!b#k)W4heBl7PUf8HeXCFx&~ufJm{TfQ}~7+hHuy4(1G{+AiAw?3%P zd|7Ma%}e@M8E*meTFr~Gr1?a)#<$YX<~m;G4>G?8{I!j>VYZF&nSTC8dRBw4cXWU4 zTQPf?-_~SbGygF2+Top&m8Z(748_g1>RM3!?PBw%NA?zDwaK%_vtjoK#xa*f8;8zX zTjj@@(b3yj^_|~%IOPm9KAii(>lk-iN|tr)Qyz3jx8#S=tG}l#&E=d`yXx=7Xs&tj zt6K8=DC_xM<{$Y#^t^Crb$zmvdB2CZzp-pmP+cSw{q<<)&tsk8zsNrvThzZ#JH3|L z`aJXJ&1{g~?VqY_jJjNBUSD|k8OQe?pr1rlC)lL0V zf3HXVtk1MnJ1uJcksmhB>HNi;^5gIQEbjazvwW4Kzsaj|hB|-gEMLBj{I#7w!1*yQ zBYzb6i^AX5yyf8SVJw>tHP-k)%Q)r_)kU^kO}gf~>zqF*vqkxD^BlS6zlQS%lmDV| z*oBv-crT+T=Qw#zYZ1-o@m|KiELUb_sJ>Cg56)l3`Kqt-o9CD5s|8;BuqIyfyw=ye z;TaEgzZlyC%o}MQ=eShvO^nGkIMI%szZy?^uU!2?-zwBS>!{Z-%dd|7_Qv7oXtTki zYsKI3qt@Kpa#E<9x0cI{aTE70#G3?P^Uh?-9B=+QO?3%=@GdcLJ@cZSS07vL?cVA9 z4YGVVX>F{!J?Z?7vU1c0&F6x5%-bZ>BVP2UubjUb`K@}`hVzE{d7ldRR{vLc@(ePd ztP5WF<*w&SI^aoP2fsNltmcjqJipUNgZmrT!S7vN$xZ;@$c+QZHux=K&Lr@jH~HL4 zg)d@WP5Qyhm{Wq+plugtp)?x2GU+sPYbjZ(kZJ+G?ijvVL9F!K!K0~H9eg5$5yTCC zYxS)-np8%hN9oePk#QY7#^pA^3Pfp43eTeds!-e7KBkYPHPG(JDI88L(Nl=&CdCBe zUYM!DF;9JbEgC~Nex54jeV&EL7p|7l*B zFjw`iy6!8;PqQyp%?taOzl-_gCH+T}K8Cc@oxdCS2ID`>iUNYTvU#Gp&pUrlxE~v< z4*$t;+w@i4eqx@O%{b~7WiLp&Y+S_oe?i|LjISO*KQ)$)t&C;U{>H_S~>G_~Z4>d{k|B-a*i$2?(hv#%0dZ*RHbhPK;=u@D{ zl3es<@znq3HSb7xOB>5KrLpR@ZiRblEIXv0#65*nW>>eW`jz}BTj*915{15>(z$&R zA*HYE{uznHDg9V%lAbK2^v-_k4ApHR@K)HVSkIx{Mq%5!4&%|YM^+z+MZ4=o5_1?HcT@l~hbgUw z@g3w(=J)~g&M{B*5${u;mr?wz^UurlkX+Q6k0c-c=k$!wE8eWPCd`JI26^GT|yt(S6ojLqn?@f^0+zIqmZhj-_9Qgu-1b9^n*DMo_8a+W0jZQo7w}cKCG}GSoW6u4l(~;_{V^0msF=1*HDU6E!zR!6GK9F6b=xs z^E=x*8{lzsG45py23}yD+MBxmxN6-7EN(UK0N-O=f*&#-4SveF4t~LS0@$H;zkS1T z?Ji?{(OrG%%oVz&=Yhr5wdx*yg*rp6(IqQOQ-73y9_yr3bGhoL^r@W_9&h5y4)K?6 zO25zP*}AXo@g^IhEUm#Drm(GOdQVAXNM$`5Z2WLXm(JSXyKq~iPK5U7EWK_)x@HRQg|S5IWs(eh8NB70Au|P zy&=ZE7E>tCzhe09$gb^0#-qtK-;z+uz5R_OJT?p&S$1-^IQYjOF*!Gkji# zFVFCe8NMUKQb>RJKed_c(tPuf^-KmUMBBYex-6aK_&xJJgZG7T^cS_4`fs%NkIw(1 zNoVBmJFL3yoo1HG7hl1f$vAX|9lB2=R>;g{-nUJfAJDl$rgQ5IZ=c~^GrV_(DI)c8^_%eX0nYEX63=L4+|!Id z?#DYQS-Nz{M~ZLuo{a34&Ku3^i7tg0&%-%K-iGZDkgs^m@QVL9$M#G+m--i4@ zjYp#AE8}RR7^nXwUFH7l{NBj*oVB_S(1-M17^-uCg1+Y=+`(_zrK@k_lwgNiAKT1v zn*U;691{$u(}tiRE*HtA4^KDF*s)n4lTY)m{uz30SMLi?;Pn}X9= z`udjYdLzbqe2b*N`Lj3igBNnaU%~v}!C&2YwiVes&Gc+*Op~M#w(d^4>_325^*Y=< zy{Dzn%=_u7s{ZGiH*dz1p1-YCjVC>4+ntL3&Ah%%b5-m_Khxj4MJ zjIUNlB!s`h#^?i!n75R5t1jXPZ#nXxrLU|^taa-!^OwnN5npqKO4s{FvSlOlmgRT{ zV~wT#GkkQ0PtP#4&M~e!UdgfSS&jG#^9G^!HsctVWMh8Ux`x{~#l3JihaDj|Jaa^4 zn>Y`XuKJWDJ#9P$Jj+qlKFKOn=T)cEH(TB_9s&N$nEJGQZ#)`Z-Dgk!@42#lLsG5m z!pS!EMfGRqrU-4TG;t&&j%@B-=}c>sSu!kPwW;F$07H<8_ilf0-U!nAXEI9|>pZ`b zvD#$K3`-v&*&5gM>WdC3J?vB3=9blU<{rlQt2ic07mq%XY>jK_lbydlHeOQUo{1nb zRm*THb0hmCb*_q&(#1>j9tB*Jm4A=1>bJ!2)FX?Yy07rO)3xvPQO0SVBeh-oaMoS( z7>l!HhKCyKn;@HH>AM-LtV50UosUzD@9f7tHse<~3EYx#9x|5fzcSqIca=RW^=FM> zEKdIl^JU2@tmtEn5rwsVJcd4@u(gj>cZGeLj*szi=sTzB_@*ZQ!%fGpHu1mkv99eR zuos@L<9@30idpBRZrImXF}%eU^KX#io}4Qbld-8{{J6d1l6SBackn$J#dV(RSB#?T ziKnlgspq)ryDDD&;>fOxm>NSh1@fkQ4ZRm`RE_oflb)h|EPYG?(^B`-H!C$q=o`6; zpEBZRaLd7dM|7ho{?zunXzRe-<)$d+^ zv65Tea>rUu^(DIqUrA2w7IIseKMwxh#`5>E#^E=$m+T7P$G+)#=AG13kKpaIsY)x_ zPwuKm>ZjLKa>d=mVmwAn8O1BaY0?4HO%wMMbAB*qrn#zpo&Llf@RlVmiH8u^iPt8U zvMm&&L_zi|4!go1JBx#Tr`bO7F5~^#v81cr7Ji^QCmv+p8BM&_8lh&*6zLT0P-!qzP+z3mq{KOYO~3$w4o^#OH@J{9Ye@Y!ybzXbWCjHkt^ z=NrF`tb**5ucK}5Kf9U>?lkWT@oAnLd0h4+}TzQ^@~vF3#jjnyYw zIx3&u!n#pGb4^}{(66=gC*;p!{>01<@sAkBGwv8Ip4xDJ^B!*EMH>Wf*TW#=k4OIp zp2}Ux`W`p0c}@(yOKt4$*_;0){4vI=`&eVO-|-oi5mVE-f_0v0{@>AgX_IVo|G$BJ zwe%h4y^z^0e}!Me?ihcMng3D~KX@UhX9?AZUpN01^PBC6zW(kWRlj@9Jm#z^+BxQd zW9gro55oTU(XSp7W8pKG_eNG8*_~tSNes}u(mHR|uik<;tFgvee`AfMfyQAI62EFw zvkj|R?j3ZDGS(V&*9;$+Vc8dL+w8~V;Aw6@&HNA0sSxAuI>v=OcbW4)%JOy2j`q02 z`Ja&gM3XMHiF5`xYwr`KocvQPEV7#csK`Ub*Tj`fW9N@O<7@3ykozpPL2UNo;eyd@4x)O4Plm2pMr zJZFYKqW#`OPHo@UGQC`m`mY3|o|~V*-UGTO!4VIQ8D7g+ejlCTy)yiW>o*d;FJ<^Rb1r5+J<0eljFU67^a)`6 zmhLZwKazb9RQz~Vf=9$zFf*t$ zD+EvWE66T~+G57i8;Q+)(rZhY7w0Q+gBRuR-K)|N^frm~`)^gR#h{5Sb(r*DYWPCpUL<{k@F&wTVDmM`ZZmd!(K z)Bi=!3dn?>rLAWuX=^m;lpkc1uJ>ir4$dDAcOPT<!tWBskvPcz)IVAU2%pDV*FWO&^SZ*Q!>dv;KU z$7lGm4Bun?_yG0-GWD|AwK{^%Gj`~)3e8XSQ2#KM-$Z+UD75c_bu}GIW9KuFD^gkuA4~L8uAY3k0t-9 z48LY9{ht~SS3!i(@e}D#6OkV3wjuVgAnAKBQCU#Q&THrEs0!0Zwm#4>MNgalr?lW?ToK z2UfWa@WsZHz*mCP@S;+!L#pStdxG_j^%>No1m6HhYq>i3F0k&ksd5vIOYqa+&FEKk z@T=e-;OfTL2jBxJr(iO5sGW}9f0MolMas6Qm-6%aeg{W=z0R-aA{9OcJd^Qw@Z82{ zf)@tM<_0+GUZ8&|(pMp^1g`)-3y#Vi0)B~D^;#P|4;$zj2qyyj8*r`gAcw9ob-d$?q|zR@V%s~UF4r9gAabyxDI~TxB>psSSQbJ zi`pLWjK+0vhj9bEw6QjChXo(JVerA*gNI;31N>)j@)hlW5cqi-pbkD7oZhi{;yj@nFp%<-oS$B5?XU6yRIHGOfNsTQL!w z+7A4Jaj{}s@s4o`{=&EpZe84b@a)FLAnIjYf(IMd!5ai0ykqeH&{iB6eDHX1vIl&j zaRYpfaWS~9xYM`&8Ytka1uJbxleb1qGQ5SAg z|942ms1DLyjN!LL8UgM7+u46K&d)*O#TYu3ldQ^E+Po{QS2jppQg z*c;saoqw%$QQs+aUH5z~_3cyPsb8N-ESn}czSi>BBma=`aPnU?R=J;NxZ9FdeU(0| zvG|J^FF@%7GrWrN0}Jy0m$78W7|T}&W$9$4Ix4<^bT#*7&c7QQ?>AO`-!_iF0}_7J z{@`lJwJufJ+JHNYvC3P-Say#z*1aZ$&=GAm%J~nWV=rUbe^Q38G~StOZUstBZJ>J( zvOjd)3{U+v_TX=~+~cGvV0MxVzTPRmn7qf$dlLMzv21wX_`QC-6J@OZX@zE8F}F^; zbmf!3yUeKX<-@A`8M8b8dGh;ZICQE$QIF_@%b53)buvh%s7Et@g!!+)-#o)RXZR3f z`Tcm~iWEI+q-@55Ux!z*NXq_OJ0k+JGHCc`Q$+D`ZGwq<4a%kV!k{8@&7%y8R)s=l&ILG{h&y1B{M@gnAZhfT{Fs~r`>N8wBL zLCLIY-VexZW~_4d$Z*JuAM#_#pUm;m<`pGt%nJ9`+^@cSNz<{e0SLXdc2WKfk0>00ZNjB~b5_@~b?}|=bzR%w_k^(&y#b!4gbV)5(ez>BI=@rcI~%|NDXILx zZS?IYWHDjsEqO*uXBRr&Kakx(9PlU7LvkJbt?>l#TbxVuesBZavTS8T(SwQ@m*BaK z>tOjvdK%z`Nat2m>y8()ETS$tS1K$Kvfx1>3trW@0eyFKZK@`i>%9?N!vecYf!m1nW8``2oCraJqFb_5-&g+W~f{_2Bp@(n(40h@1}Y zO`5{R;65dO17Bxc2j2yrk;Df03GmEd+3!&6Sq7|@5z}&<>}2da)Vh=ApjIkyW8(bm zM4GU39U*xI^%sSR)lVF1)0Gv%EorXQQONz2**3j-)OWh-Pfe!tOA?ObSp0 zH1-k7igWZDm4E7_e^>E~31FT3q_e?KdtMLs1E9Faa;?ShN@P_?6>77T2APlMa9Y?1 zqc*G4gl7lOh%Smr^-=!|zr=VGeQ`L1o^$D-3bnb*3gm4WZ5BG>_<$sy_^I|g0@Y{w zR4Vj;N>?44(ra^)=1}X~h1=5juQF;2Wa$scM+97x+A!)gxT-^YzcOX3z|@yw?ujuU z^U|8;_cveqBpLiaI)7pEch9gm!JU4=mZFAp4{-isa23L5VcW^%uSWWrj$@9x#BxiN zlA^(EL&*Kao{{?h1LiGNGS_8TGBFljS}T>?Ie*MKgiM?ex-{QtEc{^k0VM|n)kSR* z{b8=+f(S|(a&`@Tl6w@tE^6MIWum42pgreT=CArrd^02DG>^%~n0tm=er?OE?@B(} zuE$~3USac|_2!ma7rC8{<9j*kQ?e%Nw!iZ?fP1{L+UC4W?uLxhFxJ>pz??MS$Jh+L zF{Yn1f3uQzV~juRkYqYHO*c)+Jx2P!S|HA^aej|;dz{PT-2ETx8HKEZY*6118=CcX zTcK*-txCT4Z>+Xn+<0hz4hZ3!3$E!_EVl@Idd}arMpv;pF~t?T5#!(DaANV!A!c4HZYHLh#iPU; z?+P3zU2l@6@GY@)^&V8|>PIYHs}qZ{2eEW1aGYe1HD`i3H=FY)vC30GN8-Lkn!-24 zDre?DROKiwIE#>`FoIZ|tgRol!zK=EV@v+8LR%|}mL^}<24|9{?<7R~tVFtS2fsZr@ZZEGKh;_34SvJT znFL-NyeP38x3RGv&iEtv&=OhjF5tt#b@0C6=P17cJ{UYmvUH-OjqBi3BOT}Oy-xLP zdmVfP6+^6OfKN7-6VEp;!B-pC<=iUN_Ae`dSegTLbdb}|kdq0Alqu4GwS&PEuz{@f zZ5XwEx@SS=m81(xEau=2u)g28G7VFLZ-;XfpbowVytnEL*5AC_SB;p}y;Oy&P^*_k zF%drPot|lV8q8@og_n#wIQj=zf3vIvzYjhFPzQeoUX8fHuYF6-$1dwz(r=-YsjMHs zhv4Hnxcf?c#|5Vp96QtwEGr~mMdJVDtHaEPTie$db)A0xHUAz7ubr|fBi$d&zmpo@ zz^|il%Z^&ngLneJS>U5Lt>Pv2f_TAKxxTL610Iw32DRs;nfYW_#Ei zdWKo<8q0<4!Hf47*EjDvc%zNAe%Lp|<1#z}jLoebnA16az)P%G&GB{c%HX>pHNaQF zr|fhMs`>bql0?FuTUVSi9i{(jH*s($eCn9=uXQZr!}%w|zYCppj=QsmqrTDLr}NCC z4AMzp1is+&XY<}zSW zyEVhNXZY?eoFwo4rOvkd%%Li&Kdi7?OK}%zFJdpD{eJMr#`=C#YuS}PM}`;6@X!oz zY8-zrEy~fia#y2(U7Y_Ieq$xz-di9yAO|@2)k1jLs=`zvM zSXUc{p6mKodqPJHtKx~~Kb!I8`>F9?HUByIKV-5q52<{k^c9RX9yiF+cg^sz8Ryar z-;!a(6{Z`F{f{{PjWVSbl$PeCc-BXIM=kI)7in+uRUCv5i#IIymgUHvLav$rt@)GS z&#+2Wrw;~JWuh{Tsf9^r>nR02i}5z7N^g_4z*9q z3Pqdg=yRw28h^6$pw<3uoR{@K$$n`*#drEe&ul3~Ss}k#m8}13UzgPZ)U=LyoVtqt z7BQ|VzN~yzv=6PW59T9|a}&*)WR@pQGOH6yW-DU3;m^c$<>F{!$(%{tL3|A{<)ywN z|A&1u(T8RtzvOoh9N{`YeIrtw2EQ|x_1sFrLvRQ^|63|bq4q;r0kS*W=trlKQ~S=C zVw3G}phLPpBbM#!ot*ks>KnCT-g76t&A0g>gN~yy-Dz0q_0jxmf*O)sDmFP{QzvA0DkK_-(vtjd16bt-=Kzl z0gm>=OYqyqb?}GaLD<{?Z_V5zT=wFb*!3tw>EKQFbvv^D`UAe=8Yf*F#=H$JjmI|X zTY?vRmJ^!l4%YsLa0C4Qp%qpmUbH;d^`w{J&#^(c4*suk1AMtT1%B?nYQ-tRd(Y1` zwfNwl51@^~4R9YgGlL82ITv_Va0%`Yo?U$KQsCc-5AKDG{8`|C`BVFA|mqw?Yr&vvoW;`WUd7>&WUk$_98hIIAfU{SRY5QS$Ttqzl*i?-=6-_zdF$ zA6#Nwf)AU^&-j6L4J+9O_&NHPu>5>$@WBs*RY&OR z5B3f*(`)e!u}(14ji~m)<|kI2{y^M^cx~bth({4qUK)$nK3=Q#u1Jr4@)EqmiCx!0 z@$CEr(sx3Zby^SEdoZ|#_;g~`=bB1y(IA$+&l9WMe-d{Pe@bu1I*|Szw$l5kGgYCc=c?aEC!uFwutRNr zW2)adeze9=SdHJmEz>WP(ev*L`IuX%N-Fw0FZr)ZtEt|qKc%;G;BXDdZ&ZCMYk#=Yp3JAFM!>{tkuk;-ov&7R~Tt z#`3Xzst|GRrzOp6$=V{H3zsJUO3FviukJ1CZ}!#EeKQe*c0qkn}p(p|+fP9H%B(mgA`B zC$?=txtX?MUSM)8!FpCfW!1r2e+f6h|Jt3k3^*CSMw&}oOAhloYHWQ@Vx4rY ziCTyo{G#qkIAU1k{}TKi3#CEi*TFNQ6OrWGd~YXY>+t4>(`t@~mm!_=K0Cz~b9?N|zizqFnOy!3 z+AgP7e=9`ajbhsBd{xh*8b?_ z#?p7MvEC0<2z#O(^^IiN_q2I?q3g{IPd1i43bH}%vNd+ z!$}W&qYo}@-dOU2r#N`)Z^XVGd4tS5z`W>_VSDI{Z}G2b{z33Z884JhKG%*-V#6+$tE1y6<8QgBKcPuq%pLLfuWv(Meu+8xT=S2x?JblqKg(~&(=OLI|0wb& z8h=eWPa5}RVex#1-^}p8j5qGb`ONs7dD$~qyK0Mg4>QWtw~lnKpT+qnQKmxlh46d$ zW)bsFhPR@zp3PV*!&_%~FJtwwBQt!qvFy3TSiZc@SoOUl<3Ew%w=?{?@$ky*)Ry_P zIvU#xk=H!7yRTFE;{xh2hp}u~)L3J06=ThNn;6TkF~+j@Pg(k(GyXW^@HZ|_Z5;kQ zg?!l+bJZ>E#p*cL-)C6f^_0##Be}`nkAo z%uwC4jDG%@dG}do%r9yueHT#c!^z0$o{r)d%)cN02gd3{4%4j*{;$&~I=zLmm9BeQ zif34_^83SCzSdQd-_QAvl0Vp3^Z16wde3F2Ed3DUo=a6$wAgRqm+{Vj+U0S&ouVD} zOqu@HNA%I~%}wK~^Mdv()eh0#S6bh**4NxGrY3)f<(`|0T(ccf?$efg0l7&TR&8Sr zo|^2J=D&<=`}&pNh5H%DIZ<_xzComGe93oO=f_%J>s0xmwA}0H_@i<7wb>8x?cyH^{mJKW0M=UK1y3T(~k^X(j7$iOxy+h6Wma;c9*7(}Z_>l!T z&t>>rW7%-Be$&?h~k9@?-uC#n|~PzBqe>)AcJ@ z_Y$N>bs2+xRios;?yYQ!t%6S1i{x4lj(4>^(tpB6tj#D)VKW}OI38{TJQfb8>LhzC zn7+{}opH~Dtj@OX0O$8t&Vzpd+&bxTZ+rsyW#;w8aYO^G_cOwN?Th?@G#MW4rLwL> zPii~xO~wuIea3S9wAw#Fv;;pvx^Nx*3RpgAfIIy|*}4y!d=7rk9QCEIgAZ=qq~a9# zZ+hbrET1R+;3J1txB;FGPHI!i>+DP5zNBk@s)LsUYd@v|F2O5OPKn>w2cLk_5@$r; z*505)ZJJdAa&IHUZ5fu2g0HcmfLZCh65}F#`IN_op2t^RwxWDOdmqcyn&eJpa=4pH z>|)-GO}uFL=og2XH#58oGps_STV*!O+-Kfw$h?^0$r4w zy%=@a!};@|LxCnpK5DjSA^Mb_^*-4AdCiwTwWrogYmt9}^ZRD`(i=X%)%go#}UB4m%$*e>rr%W*qM| z*N~Opqx_JWY~Bi)of;F-4m~!n>OLsTmo3qbvpIiomM;wI+V>PBL%f zjJF#6&>L-jg?XErC!gtj5`B20^EW5|P2>0jR^rMRq4NvpZwa?`RON@LSIu@tUx~S4 zX7ffPGjE2M&oD)F_V;)nG0t^SkCEn&L63sU%WaGLj52Tgj3<87A$a?mx1)J#7o9hP z7j{JXC!4=BoGXm=Zo7hHHAZ8ey0TWCvoB}isP)^e=I@H^IoB7CTG z_hicX%=|r(RiFi?=u2U1v)oUX`!jOWZ&|gQumY#qDg4-%{Bclpt*P~5=$z%SYFsR4 z`F)WeY8-t)_UCO9eKp4K=H`!e+0noLUSppd!CjnxK$b5Xv_4bc9_Rdn$e)mL?={w# zRFGeCJE9Kp-q_XOx1@Lep0V7ama8Er`RD_&o_^Q7!{PncSYu%3t&%T$Ydk5;&oMqo zYvN_W)UOyxjNW1tvDg!qZz8zhqxhI1aE+JO=*AlDz+laBPcz{@pr-^C%;x%IIDc&bmJ-#N^vZ{6K>Y0QY zh;zcQ7m!#Nc`_5C01iNC!mzOHe1rNRyHgsIq; z*F}6i-!0i|%%2^c*Cpr2-%}F*cKEbGYPUzhYOgnl)n4BaV|USebk!d763a&l@RG~` z(j>DwvFg|#ocF0cl}K8hpYH#!Oj|U-(T|ca$AsD`^e2UAyP+6yah240@4V!AbIMXX z*ZGYGQ+_gRSMYu^hVbV|r*Ms>&lafCk0xFEpY5pD6eHa?&L&;syXeu=7SO(&-T^9SHq{s)(-I6XV=m*Rlu%ifjh#4X{J)MEvmfm{gITs%NAh zZ~t&yJ1fJdXZXx6Of|8YpLA@mgDTX{=;G8)%J8@hpOE3>y6_Y_w+oG_$ta8VRatHV z#e`$xjNb<#{GS?C87Oq=25Tdv{k%MdrNvo?Jr@6 zZK|?v&veO;d(Kq-jo3Myf2Z@QRC?yE^Ssq`Z==8YcV~Q+8|B42FmYa5(foVik2Kc0 zWNYJCt77F8=O?W*Wap~qRrf0&-LZ=QWVr`izT{H-9#%cu8S_!hd$X;_dqIrRgDp4F za;m57j-?MYKq~~*kH>Y_o zz+2GxNcI;LR0qXj;~?k1oRz8k^+{iliGCaBze@hD#@cUHi2A(1Skc@W&!86EGf{mG zG5-x@Pc+uO!;6g9$Cw+8QoQKny1&M{hIsVNb^6StnG|7ZjLq9xcRH`aPUROD);&fKag==FqYrnGnV~7 zWVn4yWxwuO&XeI~GAz60Gua(&8soireZGd}zM;%tliPy)^U3%l@nqt?h_&xB)^h*J zxH|`Z_momJkiX1#Jt|{Ud`~Q#)C`7`}UO|RrValx$W{%+?N`- zO?3^hsChG^caX9A<~qjty)wziysd9^PNH&pzD4V-xCY+AaX{*2LYeRJeT%lAcojvcBt(p;v{Vw;yBUC-Jt@BDsnM;L3q+&aS{r#R&H zbpFD~9crw$J2%6(X85rTzm?(dj8$gu9V=UfJ2I?t?_qzyvSeM z`OA^NnelKbBuJ;)PtO*vGNh}WcQJ2;OsDw4JIwimoR8I0=$YCxV5eGcu;rTDKWx6p zyp@~EkGkLB{2}B&Zmcz;f^2D?Yvk2byry*JA6ZW#xW&iPC4p~%mA??m(70p_jc`i0Fg&ra<*n-eX!4sur+>pklGjkWev z(74R^C!fU8Dqs6S^p9Vhga2;%4Qvm?BFTSD`o{=j^tT&u_`k zXZcMm-_89h&Vg~=9rMvJ^EZRPp0V0$+YED<<~7BkC-yFm7{-1SCXY3LOY|I@VaceE z%6B0fHe6udXk@N6)*AQ$WA!VAZcXyd>-87S9|Qki8J4X4r#R;0up#VkUQ2yp`5j!g z+A)_`ef2KbZ|Q0IQ`L?;Sr123=!tThuL*iu?oXDZuO+$Q&FcJJoAkyxF3xG8Kdw<0 zwA}8N3%~r9TwJ59Zuvct-#OEDq_O&pg6gTZZuWPySt9Y@d6wHJtB2&mp73w8+zpod z3v!Pb$C&L#+4(v%){C)De8c?xU8a1ibwI3hzHt75&R4&cy^$YtYx^!$+a7G5%GLE& ztW#nR`u=40y^){C{5t%_jWzEL%dpCc^5PsG<*sMm5y+1*jy00nF`uh{>%2bJ@<*fV z6l1MzFEQ4d_l^w9F4a$MqjyI2j+m|sbv+f=QBRwHJUSIrkGu~|_q%Rs&VI+d6XAVr ztaaNAyH@@bUf6gzdWIOQZ*7rr_A-uZ!YEJYHk}({ZadVx(<$#9W7Snbe$%yU><#Lj zQB_p$5-DBdTz%sz-kH4z^ZsV}v(TjwZ593eLGmT{q}vLHON^0Rgj$G*tglh`IlL5Hc-BK2Fc*aIC#iLhsX7QA9g9U-eSBq3QVk>{w;K z$Z=1q-@KQ+*Qjo3Z=!^Aw()52K6h7t`>qZ?fOPHIPvCc?@fF~Ujc)+IhkkKx=jTwn z!G7QvSFlOPPxj8BgDTW+?&7qy;QvU!HA~O-N|T-qX(Q>Oi>07Gq~mCZ2TyKEWqn@x zp#661LU;;Z_vdMEudnU7@8KIT1~>CN}KbS{*i)sMwL-uy@5 zpPONo8@`A#t|1?h;yUx5K&Fw&Jd@!!GaR~dJ3b;`^V7f0dlp@-dsJ;FTV~0y0GiFM*<=KT}iPno=AsPh!{ zmXGC!SpUqy1b@te+>_Kq&p!IQE~{IUT>O2)LFSJ%|9$w|7|YH*jWyPeGFG2BGvi#I z;af5+15`(ySE7zFh95BRGju65`{Ls5IR7rfbKT~BZl3C&`+hej%Nvnz9`o;5?n}#c zvz*5IEu@7#F-LrD{@3J9yI18q)qlPW56JL{3~!d(unBmKeb)LUF!!H=C zzkizH9)C{v23tGe>zzk#JEWlJ@8#PDzdmp{$G7VK=v-huOQ)bc$Hj*fMIF2_>8Byv z01p7ibER6p>0DmY2rH9L=&AQ%9ctZ%1uSZ<;MFTmyWS<*(74x%6-VtTB>(EY7L8BY zxUG3@))61m{n0-LgS_MBnb!^WFM8 z4L>0?!MqvZ-O?l@dnBW|fBL@FyA85?dp;)E9sWb+&kX*%aqPRv9?8agSMNA~Hro^S zM*e@CKL`2K?_IU6&iDB}+?Z49q&w8+w7#%4`h0M=f2x-5=gf;vLi=35!4JjDm_HBv zp&4F3)AL7T&A&$)tNv$Y=~o-)_amYV`BLG^DoS&-VQoRmecG~PhE%Dlqfor-_Yd+V zd*E%=x$S-P7e@AbV~wX-_Gy(^yRZUXFzJbPYi~M-^z?EZ^JZK(E@An_(W}rbA9n16 zBI#+CU)}OcBEMZ`%V8NlKf{d-|HC-;rRX<3RGV)5R_hqqL%=m;;3xGts!_~NKA~Or zb@~}=Ut*;UZ7Smj@n;roqspY%oJI1f{D>ie2LWksAvqi@D_#fO#~ zI*fZN#<~wN!(Sv-vswZ&~VVCU+-@l0c@I&Vuk3mB_!3^bN~t7dpJWA(S4 zvh;(D)lW{z@D&-x6>06JIL7wNwaP~^w(l~37wl0WJB@=!Nyql$O=8j_bQ6g2po1^6 z@>=$<>ZUr(U@W^GlB{%UEPX9dg_N#)JWBtnDZPi&TUdL{ZJoNexTLZA$Pi=Ak(*_B zXJhSW9Blj#>^ap~e!s+6@5tO%;oh=CVIs%W{TJ7Vuakbv+(l8sdDk443R66fH2rbx zX+sd_2RK?UOrUNp+p{(xO(DL0)&Xumpju0pV6~NO7|m~1(hs9;>R^W{{J1oU^TCn+ zO~H$UH4iB0`KUv{C0O>VR>}^Ojw=xC*rM$eAZyosuJO3Q#hu%2H#(UJw=f*QEcOG(A z8*8q*C&MaF`V{B-ek^}^u6@aJ7ozWDW6gubL1>^IHTTVwVI@XeG`Hzu=3Ry^1)4pz zSzH&7@t)9=C^#11Mjwr~j6N~adake@tsnAh;^+g?qwy4aLw-}sUuAh}lH~Qhprc6( z`LHYGcD39!mWz5e^A0iZI(TOr=hvgEyUNg-Jape;-rtaU#&~n^I~DFZBQhI|O^wz% z8vGIIF<8A?P)$)7mT`M6fv}7Ct@-8CDz<< znB(!peK*{e}{&uIm$PFK`SoxZ((|3o|XG(rQUsd5c_}#Z#5~l&y-``9S@k`QCQPd8t>NXQG zdByz1_&0seUhCeilt@rNR=E;d0Z!Ptim~ie|5n}WVD)d|2Dr11IB_-WFUf1xALB&& zH6A*Um44yU`fsH!qpe?fg7u3t3A`PALeBU(pqDanb?1xRSeD( ztF#smAzM#JQ_5>EPT@i82G%Ba;kI}#TD<)+-v`f zazak!ykWlZ+g-R#W6Pm-S66!NpIx{uPrt7#y>?F*ZtKn(-XZml`^l4E(wtOfw7u8G zPn?I%$^6&$0crbIV=t{SkIwKJ#<6B>wU6T(>F0~NCr9Fl9hiTJM_*8VFXL*9 z8Gg}tiIVx=m?<)a81J!`(3<=~(CBpXf)U zkFKS5(|J^7=p3rJ`w`VU8oh}L?K4q^0xFW;=Kgu+2Hgsc&AH8=1^%)bUMs_6GJH^m z|0n&?|IaXgPTPZZziLnLqh2>yZm!>ui+Y6o6PB9?x%V^NdSvC7utRMx` zl^gvv$~$6MHD||tk|iv+K$BdveqF=qoG=u=`r4Y7TktpJqJG=Jm;82?TgYk+OT<^6v^ARq;!n`Hm-D|w9PlnMqV_u2< zajKWXtL885GSqkSXG-);j#{<(S>sPFH(+YEag8Wje=u)3^SU?HL2EkAl~MPoQ=g++ zi+>Gc51W|KKJfo2|2v-Zm)`!CUlI9%8J1G{Mm9#7lP;A665ouf!_nUbyBj49u)dolT&Lr|y;hZ8asi}w=9I1v z#*aZKFs*@gpG?m*D#YKJD8c!=Xws=}IDwx-ZG`K}aczwZk2IE#tv21u4!JeExT;=y zmOFU+U>BiX-#}A^NsaP{-wt8 zJW=$EyG~{AauxO|oxd@16OB2Qq#)Y_;+{Y}i})hEaa7}V^EX5G(+o={>J{%YgpQD% z=9tP4qmZ4$ST-ootf`Lr-i^MWBA+GoWC9U`y1<v z{<3^?4LrqqhD32Z`*wrncSioQlax`k%Z{g=uKn&w85RNg)DF$}hN4Z?mby;)kL7kp z-?Yc3QrorfIk&O;-clJJoN?C8@R*FVZ-!+{^!s@3E$V%QdHYfJ1Y_0ZmJB~(ESvsm z+&mtljsD~OgV8tLaaCP(k6<3-=CKjJXzt$w%s&i0!;SR~M1>fG+5;O*E@0m*zdp z`NjB{RTCOx;`And*cIo)7*7kEel>?|Y-b$z)n)4L^t2HZ8q30Gqq0V*ig2;-mYx$}1bsuRS^2Jxs*r-so<`90@3F0}_^!E(|-=5*y zGCWZm&Q(AyYYL9l#}rn~>a|vel_wj-(|KzW2hHoC9nHU=vJT1cX~r6F3N-U{S~J8L zyUO_wA@`uMuH9eC@JGh-w}Na@9BZ(6w;=r1z>mM#O=h75TiHQxa6T-HpX>Z3FkRDsz(Pn=e$L_u5(L%!LNfA#Mi!T)KzJE zk1ytQecw-bv@!_d_oSlY$KNK=Glg@{j7GzXkWH%ldrT%C^#EqMH70 z%i{2Hf@VDqBHg zS3&FeyU-!O>f8~3$4+^=wn+W}$2-Y&@bgvKt?DxOuR)s#ckp}1I^_>NqZ#D} zza)JG9Zvkw{JyYG*${mM*!ex2I{2qdXUr$!%yg>T4cuWoS{YTSMcp~9eVqB}s|-)h z@cSA5Aj98g`1=g&dp!=dSp!iPT{lAQ>x}k%{tj z4p)CVz`Q=ljLYyj8NNEhcV+mA48NY?k23sShI{_Cs*}o^EyMjXJRrj(GQ4?)<%95J zvkzXqoqG@XHT?J|%XLtuLikSCKI#iGR`xe%l8v9Ecq5UYsg>g{C;rn%)}YRFy+#t*-^CW*CPDLFXk{Ka*MuFX(ii1P{@;X1#!EB!s!b{$Bntz#_P zI8NbR$C_Uh6n|pb^)lJ@jnzL?4~2NfA$gtST!->GkEQeQPnEu+{fx@K-xFhYu^2J7 z6e|%+$2!E_iMJ;1LA)2S)+qHVZru^QC&VaEYv?6OEBVEqWgV>NGSkb}wc>@j(F5^eI7vm1 z>bW(QTY?{YxVlGL2fw`u&*Bm{_-VYprJDC*j}Lpc7!IG_A>Zm=P#ydPI;E!p*0u2{ zIOzc?B0??h1%Q(eHz7azNMgX*TryRtg^xI_t(m2-k>PE-aGUDpP?PS!+ZoeFoqaOO z)m#-k)#G{UKxl7e@$i|k#9Pj+(zPep+gSVj{W83qvF z7-wk?=j>B{-vzfwKNP?9cLZ9mlcg=_;n+u2=vk^dW6*(^Ph4LxeG{{Nr! zl<4_2zuo#!HJ_A}yYDcrGik)pnGJRD=C+~P4^xxY2Zv84fNz|Np1fVs-VgKcX!zZ*NA;?Mb3MoD83m z;d3*5YKG6q@QE2dGs7ok_^b?%&+vH}{%aRz81hZ#1*^W74wS&T_=YA<4-(ZMSRzDd zyKyR|(RO>6>=c}rGR~b-;oO#S?uIkXxvBZn z-hD@g2W5E63?G`|n=|}!hJViR{O5J)SJ4=p&OPeqS~F^X;$NB*6^}6g5!etNIc|h&7k>%b* zZkG(Jt(tusI%3X?`R+K&O+v?YnU4F6)wZu0t3P~btTya6p{l3aWl>}KdR1f9XDegb zxUaFw`YTw=@BY}D&-3~G9DCTK;q0|pHOA}UgN-MEA2Du#&o`a~{)e&7kK3(Z$##Ha zZZE;tU<2#0)(-envmvel>u_|xMDt98U+9?xei%Kd`^CB7{i&oQqEP!cesE~}bDBlc zQEhTpdhO#3f12S>x^R;0fv9YI)(VN*zV70*t+Wye7gp`1_28lzUe{RTVfPG6Rde6f zvtp}~7;Q7&{2yFabH59I_%VEVo#lQ)?&%DFkn6jsvRA5SHhzu?Tzlk%o;v5wQ>7=o z2pH4SHM*|17D_bM3|#-s11|Z+dro!mK={mUiT~rmwa#nD;ES_*rZeYkO*;Lz5NAi@ zW55oz9wP!4wP`ZkvkRwo({-iVO}ZS~+Rc$Kl^1(0F^1#%SAACV@m`cqXzy*gXtP+G zt3KilTcC=MFuxD{Q!{*VhHuKSlsD_V&U>Pv^Fi}xLFe-s{#S;-&hW44RNLfs_PDsJ z*YD6dYlauh@W2eOmf_;E8NMRJcVzgf48ND*uQS~JlBzD! zKTC!e$nd}nubbg*GrUiRkIC>k#`3=c^U-vh(zjyo?Rw`gL;iin>Mu`c_{|J|lHu<& z-0RY=zBYS?`(=1pWA(408D1~LTW2`zRjhVtLv9!64*@HvKKzQ!w{9tVk#@NAhdN(t z6pfV__v-VLIX=U@Rn23*PrP`}RNu&!pY&~xt%z@hul>@7@^WmT_qUoc-M+{!)BPcXKGIPK-txu*j>4|quoQs@U(yO#W3 z8O^midX8s`y+rQ~iW7T-4a$(ewvv6*@J>In$p`EY#rN&BfB4c`)jf$4 ztp2b1*TJzT*#PUjjf!-_i9N=WlTYk1*1@sI*Z{9iS%jWyD~DRLqdKTCP~3C-c<)xt`dUk8|J^=Kl%) zT^W{4^qrq~sHMKpEc=xCyJcmmO~dB+JFaS@(Qy80{vP13jVB|}=ZfUZ_WZg)eXx9> z>Vqx3N2)#;-;(NU{@yNEzEHVgXVh&u^Y(=|(pdXoTN!IlZ7<`I$RA>?zt?tRhR@A7 zR~zeZOx{B2F*C%Yu`B@G9Vg#Rsoptj@I|_)zHwZv{Ra zTnBFtPWFIz2OlRz*tH+{Sn1b zIb8@aUt>SXSYtoU zxPWIECyeVX*TX5D(|3Y$xCK0&wi3o-0a)#3@S-sPk{q^_p1Va!alEdwLXR77(+f<8 ztx8-kvOJYv3~$+zXDT=?YvhA3-LJR{qe{KtK5R2yd&29o&3XCpWdyt*`TR=?UWWif zRhPz&hqXpz@BmnC=I}W%n-I@SjT7qJ1_wQSzi}fx+Bk=wFdhNFXk5VW!2C-l!Jh(m zvrUNkx3IJtm+7#sPc!D(O!!_nr@#7L9o;W1;Er&(Mq}Mu5=NFZz$+SO@M^I9Y=nEl z-@-Y(4Sbz!Ht<;u9L@oj;&WD*j}BQ}$~FJ8E%0F(&JD>I=kNfy9!&ucf{4C%nj3>b_8YjyoHE$Z%z#kf?@MPm=@J!=cxRw~nW^>qobEIK8 zx`8j-qu@?MO;l2A{ zA3oFa3mPA4oUN23!{K8TH~1F#2HMhz{V3xMeg<9*O%A_gT)?jzCoA(AnsEkCaXmZ@ zzEt+%-{5oUaJCBjDU+n5`VP+z-!2Wj46K+Wt8$KJoWb4UzS6@R80$mztxS`{I~W)6 z9`I$@-Gk6^Qu=Mad@cPoj9~tZ6r>~4N_!oFv>ES2tOh_aA#P}Cfv(f5q^~X3|<%BM0$8r_%Z3>?cg=wWMj^;;g(IIR0f1w6ob5vLNWK*sM;l;qB7w135 z$!463z?#n)ya{|UhH|(cJXnl_TAMTnM!+W<7w{$UzUsi1tS2zTmSpfv@H6rOz88L0 zK5WH%*T8SU&q)JMg!hx3tyx#$3CyJ&{tK4Pg2~>lEn^`+w;}d0T~2bi!FU+FDjfWT zHBszs6}JpN4_16~_;TX{zSlU}7JuQM(!;OA!8iB=_(l1~b@^m? zy6nKe!m?k$t=ieKnET308)xw9#yQ*vR;UViZ#ek21Lxte+Rfn;;g=-Zk?U&s*WR=X z4~1VQzkn};=R=b0#2RMY0N)P>oA5KnIsBG!0e@xsWM^!{uc%+J40dFb!}G&Bb{FuH z#*<+Ec9!fXT#v42oWXtIJFt_(JHZ;4d{@?ISawFhXTam+KRgHycDNsZiE#$sV4TBu z8yE0nuHT*Y$Mx_#u7^K!J!~nxka^a>eYpM&*VISB$64XY@TqXd>nzL9;R`IkfUkhB zz=oW?$vA`Wg0CV!haZL|Dd6XfHOLd-U>}|WUoAcSD|{_n!202$>s7fK=g{ztu+BX? z8t3rh#s$0rESpI!V_}@Z8yn~FR`3f*3U~+jCfRS!e1pe<8GImo3;8*G416nGz^54} ztnnAZx62=RxN#2O3EwF_T)@G8OZE}?P}zqk8Rzgf#s&O?v91SZ!|zHDrya_=x*pIE zqsWe~2Ra%jt+|#k*7?G+@cU?TxEp-9^zhp7hsv+xKN2Bk4=t0*0xv^H}T@@ObjI|7d=EV%z{vf#=6w22Y2X`r+Df7Odmb2=ZI9Gf#mFxIG-! zGUmj>Fxg=qEMu&Bu!^zf!8*nXG3n`g#mDvVPOgXday?^wpzGnIT@Md%Jv_+ujPb>; zhljf!zS;HgZLVjGA9OwZr0e15T@SzEdgj4wAH9pPjlzB>+2 zQ%vCB;K^GMPuTB6U`1HP@OOO8d|`BbyWcB#?}_jaVeEz-Nc^XiZEcbFc=CFTb26?ewXQ+f}16Pe%ZlC9sVXtRB}Zb-1O zaSkuz`E;Z^%xQHv7WRO{STbn6jT>NHzp1?p-jVzZ`=Ez)??Cs03TepaZMY`Cb$PzW z$2ufW^*R0eUgE}TnF>Vk4 zY}^3<1rNdJ46fOMb4>Zqs5XbS4i|7cSbpj|xGNaz_c}5-obSS0!(kmJNIH&%n6&3~ zihRW_hxNOG;t}w^u7`bX$vAEvL4L3apA0izNzs9Qd~NFCn@;4;wz?TS6do!+;Y;D& zdeatb$%5rj zgh2;WUB6`=?jykU{W#}iUSzP=aKe}5yoS)8cmyxSSzPei+H6jOcZa)CSBur;ZE#C= z-~-4HK4b3$SaX&6S#!Q|4ZQBY!Deki(Z+Dlz+1q&)@p$J!jsLn9pU?lRYCq<@HA_; zKRk;3yoPfdcuDdL_;~nhF+Q9DKZHj6$l35Cu=bH5a1Gfxd@&q+hKIwNdkORZ2KamO za`nZh+s0H77FoeYhpt zMqZ!6kI`lhPcbgwpWuu+DaU_pwr^AY80S|%|{|sXn85i*7p5KZ>(!|IT zG%ny*;7t`n_SZMz&0(GMybpJVbx!;#yoEFj*i=~lI48kp7c+d;6#q7mK<)>!25w(!Af z7v2>P{bGLZ3x9!)T=N#@He0y%JK8nO)l-af_#9YmX(zZE4(GkCxCS!{@Q$Fm`O^qowrGx#*s-yg%{Zbz>}#_jOu>J^yjz z=21Id-?uGItdNCNfh2v(>eH2qpI#4bIyNe|+LeB&{241(KdZ}i%(9d|XH1vcD&|Ta z4}Tx#Raun25Vc!x{=OX9dj-CQxYKTUhT{&{bvo|Kc2?Tb|LIFscW&dM>nTg=tLQ$@ z!Y)?ZK;~4~{ql1evXbxkFB}`;UtyNM+MM~m`d%D!ZQN$#)1%ExKWYxNd4#qOZb`jH zcmY`FDLK3p{0noxfNOi&JYlQ-SqCO3_nI&$tK)y-i-AyMGtRA z{`&Zn!~I|#hx1K2cERe`2)NO>fDeM@+a%ah`UY+2a~#ZvzuBboajh{*?q>t6&#iV* zyRhHG)IwH=e{W+$>z}1&+P+Snd{A}=G*k`Wv((>>Qf!sf?s(M=@4|oSTfDy!ALLIL zvSNSkCSPk(1Noz2t#cVKKVL53vE=t*tA_h88=y>uEraXgBf%)?z z!G|-A3-Zr_aV6Nf2tHhTUf01N%4hga_;|JjuhH;{Y}HXEf>7D#-VcTt!?Gw`;~S6oz+>Tq>2Lu*4-eBkq0+0c;*h}~80YYC zcq5!E;4k25XxwMfd-${9&f%24R{l1?pPK(&;7M>s{%V$=!|NFraOQgKZ(%GSwst+d zlk4HVTu*2Fq4`1YZ`f#1=;k#T9KjwP)1=rVd|HJk0MAyULxgMVFdg55O zOWF4fUeq{Od`Y-o8Q)JVK4hm8Vf{9I1E+x_@K^h{m%q>ZHZ98dEss5Y=R2p;N-#}_ zbAs22MmT||CVrHwAy*Lg}0H0Yth|d?TZE6 zA8v~e$~Xe%5SnE0nQ%MubND=1`&I#82Dg{boG4xkKZ|XhM~;MdR9h^L_rP`1z>mP; zTng4Tp^nWX;4$QD-!0&mVA-@%%9$pT!f!}F^x zIN7zlUzRVB)XZ-@5MC7Sh^COHOzFoqMjAKI^l{;R`WfZh?h(c{%zOO~$46F2dR(l{ z*p6G?))!dcpCd$x^4}moTt~o5z#6w4{>bzN4SxocT7A)EHys3DxKerkjN8c-uovG2 zpGRKCYm9LYzXEeAlN7u@G}eTi4u3`E4E`D3jPe}Tf+IWfp%onLGru~(&yttH%fYgl z!%A!_^Sfo4Rk`L?@l=fTIyl@OsGUj1cCf}>X;)ZrY2dX#taF77J{;EdUJjoCD@Fx; z1{~%C^@qR=d+_6OithyQe3aswgs>D@F=z#^hM!dA6^PpI19KN9QOKbR8dWx*g0=7Gyq*&Hgk9utnWMIl>G%ihd&zkW_y=wTEY9aa0oeru!wO6F9&N(bGW;4Lfkik!#xPt zQaYW!InRU-Jc4sH;-EQyIJ}V+9uEhbyg%JIpp6a335Pj=&o{!lXQ#g0 z2Zwti`2R4x1>2n06R_e?z|V-)F8+^$dy}VrO*pdYeCIRxC-ePVSTWCd{Q|q6wQ#V* zf8S$A@z3DjjT_b}p$j66T#bq}9D|t$7jxITa7c_%!$r%9TF^{u9pOD@{|tBVA7e4;stQ zr(pG0e!dLPfeTnkKD!Td^LaK}CFE^OVqdX5-lzYI%J*QPl;Z2RzbOBhHrvprT`Bt- zP8m0)A7GuBX7C(1_z1T?rsM)%0B#{Y4lHh*!OO#~$j{;K#s$1STqivp+YHtp$;{ww z;dau)O1N4XgX(_!n8nwPHL^)!n*E>kkfqK3gMNRDm-Nm5MX&u->A*01Ab-Ik@jY}a;SJai25b`Byx9LuP5tg*%~ zhr?&gX!ScK9k8eMcIibpF2EV>>YQl-<+n1Y!%&oSP2*+5szPcqxA0?b`C2nP|1R3) zG_H08`sd(^}>ERZ~atx3jZV#^@J-i^? zReBs<7G6nuxI4VE^zeGHeom)=H-%S~p5F9>SCbyz1C|dtd@#HQT)=0*Ye`T2OW<{+ zhi`$`lO7%gZy-IaL^GASqjN>2Gpr0u7m__eq|-55$@O5m$Xs+f)+xpIbpQBTj`i*F z@&U^BJg#Z2*cV=ywlne%gTwhed;+ZbGl|z=Sl^{k%!k4{)+pxJ!qKjNwKC9It4 zm2!`x$Eim!)wHjuUW3)6|MRRD?i(XkjFf!)CGk+YfJQB)OaFh^^YISH<X62l=RO04-d3$c( z<1^h2QGXSyACH&U_jY`{R21LtRu5Mz?YeG&>AZdUxq77c=3QSt^3SzNWPeT5$NOWo zU$VP)WY_yyJ}z3GbE~aeBfIOGK8~l)PuW}F%EcQtaovJV?KE#i;W?+;cMjnT;c)*R zz8rqk+Pe#0nEk&Xe+)d_Y&;8J183yF0bd8_@Q3gXZ~=b~kB}ZmzlCp>9{vd)DLvf3 z7oXir56>q54(SP4%>dR0>EYJ!J<`MT!O|4)g7AIPGk~4o2c(CWh98n1UJ)KGJ-j;n zsPy!01Nd?2;a>0<>EUhQr=*8>hsR3K#M~EtMtb-N_&MoeOKDH(%2c;8dfLa0V{{UnxCo zDeWa)nd&xyS47hh&kFL^gg3YH9k9Gl{4Dc#Ka$$Ko8=lJpycaksA6SCR{SmWi-pZY!ajQrdA zZwJIVydSK41S8-THY>S+zsFAKJG}Af!FKozW=D7{Ykyz3FPx!K!c1k2_p$J;inp|S z^#30^m2XY?@z|9A-N_gVZ)t-`Vo~y>wnzyc6Y1oYB<(Zm`a4 zl=QbtRj+~9`oCP>m4@_|J&z z&TPu>1nXHyX}U)FYet+!jA^BGZ`#|I{Dtse=dk<2FOa8n1pJcxfd{~^z&U&_{3=|) zm%*<~PrEm`9=;1!ALakUu&#yW+mrCy($m)$jWhTic)axRhw!^_0e=b0j`rdo;P>GS z{>wOr+vH__0WWBr)Fw#-{Gs&lO7O>U4zB}GgbTPY9Q+}6`@o+`4_iw2pApb|Gr z=^;(_(?grM?jU1A(ALkP{hY_&t39`KnCbB+{2evryS}T5w7w|qj!{eL5&u%p`!=_F zM@9a*AKsq2s5ILRFguPhJz;9wvMjFncf6I6ot^;yk%#FN*50-QSp&`B0xPaTh zm#G4;`C(zfe+|ml{2~y`!;N4DuVI=T?g6X3;I%0nj^&Km_HZ-uGUB=i{F~Z^_k)9d z_%Jy1pE-XVtk7xxpAGA|qa60{R2Q&+r#flD{!Tz-CxiVv)j4b_J%#p^FjHCI{a%{K zT*ar)Md#%@7qOI{X*#kh_FU(4+_yefvOm!3Y2WaC-+Fz2Fa6nb(O2u@W71&L)AfJs zOMd<1_N(^|&sV$WnjOMiIlg+kinG$ZwiKo3MfFqLXTvj76uKSXm)#Ga^QwQrTU3iPeke)#aAw^`*OlyhR6=pF!kg z`0vqz;qyrKA>*aLgDK8=={pqSf|veoLui+vuYg9J!E1CXKR3x?|NOFm_1o*mY6n8M z2CP10uzwFFhmU0cm!yC#rI(rSWVO9t`#Q<@6Mr9%(^XObZKGj>eu4T2*XT$WyNN;)n@YDULJiW>E@&4_8csq)%l0MV4 zl-?4xQ|;G3>eJ4xrjO^(+;q3k#cs9E!X;PIJO6{;{g?i3)Bl(L`sc-}ckh3wSM8_j z-EZ~cetTRWv@+?wvpFapW%-($9$Wu@nb++d&AEq7uQkl|uJc%JiD4yQLtIBz`iRw6 zOneQiuJ3ck>#N>lk)PG|d~U}2Crm%LSh%0E`()&g`{}XW!TP-zLM7jV>C=%v)%CbF z5t8RiUzlFU5YP8^y#KzoRn`LA7j7_nvh%FjVL58+_5Jf8l|LVqdo|ao{6#BQT&m06 zFX>*6be`{a;(O%dqV}qFvh!M0?(N0?z7dss{kZ(Cx%lDnIyjn_@0c#0$8N{t=kr8< zO_+;aKgPIy>E1J)=DW{3x9k48U7vsPvFwBYP~Yd{-0FYyFa7d!kN95mCsDtuMy+rlAM%kcen_$B$U zEcZ9zaL)o(tiB))8GHiy;k(pbxX%bnp27Z^P7V(v|3eB2csQ(fv(>p@1qb_Ua?cn3 zNR{Eo;a~@zV4TBW!c%)=2cBX13FkY1xgM^^uIlFSV#WpB1rGhBwSPYbwURFvzIyS&t4X=KYOV!efYDNnQpF>DV>bp^Q}={Yvuc;NhkPQ@|2c` zr-{Gj^FuiJS=TYy2v*D+;J$E(3B0Fq4j*M)z-PgsZkvwD`LKQ;B7=v+;lAd49g~s9 zdXV^G_@XU{Cp-oYb?5JxyarEDyYNSFn0xRquzbkjg&6~J0ecLS4jn5o%wUgU4top> z*it%$KKI8C(>+`V`~Ic!!^xLF8Ltyyrgd$@(lyB$@aJlnbUyqIHZu5fcp~{l(n>{2 zRN?z_l*>*{d%X)Osxp_TLq&z z#v{?<&X3`ldtP@Pd}Lb_;(HWLG!yhY{~ng zYX{Fh5e{nznp5Fl%+6rg{TT)?jGr$zuoeyEUaxiD*OQF8yOA%OIWPZ?W&s~SzWkrW zOV1aIB|OIR8{pI7gIkniq`&(n&dJX$zkmn9;rK(G^jxUyG{6^=zY9Uk;6?CL`8j+! z`Qj1qRy^Y(E?{40G!s2m8SLK;F5qjZyBmEhm}s|~odlmo8#ll@UK}o;d09$-CU$q? z117?l`rK2w`mS-ycqu;OMqU@PPPIm_ut-9<- z>aX^_l>dBrZ40Pe`UT(%X}^FirT?RBIQh)U+6FQ;ms(okP2?jFb#I5&#hjPNvw)S* zRL(6=l`myV=NMzMat`d}sf?NKuc%IqgB$rD6O@^xwWbLUzXAq zk)Hj3}O?D+UlH(h{wn_W=O`35rLzHYxa z=Qot+ zUfkL^8D3I$iQ8H5Qn2DV6xMh870;`T3;1SZIi|nO*+qKzYy4hOdicIB<+B(C{1BS( zObRi60uIllz|UEJ4(oXUX$n}+s&vDS9A6Jseg=<2zq0JZufr4B;R;yKX?zOn;Ql`O z`kX4$`!b~q%NB|3f5egMA;sg{$@CPY3&E4HN!{88GOEXHEBQmd#;h+~z?RY_c>lw{ z)LkR0yH-`*2Hv}!Wg=d-iR;=K)BVbR?$1c*c@wX{0-O#lzay5D8PAW(b1LNf=YZ0* zN3YlvycUJSc?x5{GCY~sYJT*9r^1>amGOovNZ0jWbelxFm7XXWa;&cgOK_-!q)5%zyZt z6It`IQNWewVTetof3T%=wWzICjp=%2uKHMZ^%@N4>ZZf}f9U2mr`JTU=XK_%4@0mM z_rb?KBmaK-xh~oq_I06veg9AJdkh+_lbQpsz*;*s2i}3T{}-_OzdoGMk%{DQC_Ow4 z*8ZQvJ|7C$=Y!_JEHsy~)g0K1{c2 z0+!7!VD-gPx{ltHaHaB0tnW)dG4Cv;>zR(KmGcKZ1LfswN4!C#_4|!(6MedomD8Qd z7`iQufl}9UqyN*)^62Y4^^}DauVPz zY?`riD4k0qmeSr1sdCmWwLx1QtXCT@iDP(26Z z$L5t6Y8KArGlZ7X?Wn8Y$Mk(Wetz}hJ@~#WW1k_u5`IW)5qv%Tu+}1YB>X0AYA)Rk zkCq<(ZXkJloqmVNw;hcYk5I~g?pwH5!u#WUV`nx7sH@MF7rUaI+YMys+R?vTdF>_T z^v%fkbK4y5ieA@V1#BtZnRd4%UoqL1%)Q`lUdnb4%Cn~T>8|FdVuB0Fz^%%2Y)LBD zJ@5eR=$fy9&vBc$elB`Wy^{u5zeS_xq7)M)d}uD47ogwM+EM=Q5%ZQBrENb?eth%r zJ()p`OaT2|BiUDa!?*#~HH7pTukqw>z&7Xg862+l@nJfAk>UgY4(s!TqtF(U;3%eP1nW z$#X?)&%>`A*6%%CiKc*c@AGo$TQgS7)yu?e{r6<`Ac%g$Lw5B0#d=;p^aa*$Y+Qw2 zGfvNH4_96I8El2$(uFI(r3>p=r+j^xNc&RweNwpcTe`5Gl~cZ+Po0Jx{jRPW^xw?Q zVgJqC0-k|B41fFbJ2>JDuKZ>$T=~shSkJcvJqN3nOqQUB+Z*TbBE|*WV65j;ySg4; z-SzN#uGcjJaS6Z8%B?GXCscQ^^z5m=3wE{ovS5Y!GFYDt>)DGO*5{Sn%1ZJE?gzjORWbq|ZTtZI5*)s34_EHJE!}kgGJ`Ak z-r&l;H`o%hisLVF)3}E>WkI?Z`_&Zo#}@3%BgoVJ58rqCp4asK%iUVp{6w<@`I@U4 zeb^Hoi;V)-bBR64&zZND(niWGg=Y8Xy?j9GDeX_*a$7TI`0xR_J8sW4z17q6(>-x6 zBVYH$2hdIUuMo7CWoFr}h|G@p;@b zL^iVb7M{s=hyt^#}pe7NkxL*XOggjil}oWZxj!5{b`W5xa@>?QQz^Y|y30M>;p;IrD zbsN5nC5UR|A>#}l3+ot?TjQ7tzuz+IB0GPf${0AT>#!1W3fD}}MH)RHI12k2<*%E* zfR*TL^Tt4opMq&=nTQ8lUsQCC@w?cmqxv1DKiBeiCJ159;K*b&`d!HkzH*SQwea`k zhqV@-Z5lb!;^HztgBLW;;RfRZ?ry9}r(@1S`0xNeY`;?(2f3racc^QO9PWvJX?!c- z%DPHCb&Q&iJjJ;$8jXeGybpYV^zc!zGzr=P#trbr@I`1c_!{FJz6~Cxy6`CYQdk2r z8ope5SnGp0hqXS43t0C*uaurXK5jNM_&IpE^za*&U%(&2YD;mL4Ab4PX8sDd#>&z7 zuiwtpaayV6u=1EzFs|+4`9dbgsKF&SFmB^}+Bqz|I2xU|>YQ{HIGlIGJ>YPhXNRi% zPGr;0m7Z_yQMIxU1%2>>?-E)$Z_}ZXHuyuPexuV;da;!g&dOTt<*rAYUJ~iN^4xTn zMeSAVWao;g-0jD{Uq$&-^q~6(VJ~f7Bf}agNx&Oqt$WJ{--2;jI9KBEZnN9`|>Q%CQ*18>H z2#>=~h#~v|yr0H5^7AIz+naHrO1RE$*tuDv-waXGIy_zeP`K#inuMz1-ed67H2#~i z88XFOvC4VrbCVD^*#AbSGIXCn{$%jow98P|77g5^h5N`ilKzgsmT(3?MgCTB4#%Ir zj3ZxmWYf>nWph0FTT746pTT5>xP1$s&)iVleuSri`Pr=Ja5rh-W|x+lNwEHA-!}50 zwkBx<%T5k246EG&ZZMt%>-S=VKh0~BuH@@@k-^2Hl#^X6r265cRI`h0hzV4-R5<-GUfh≺^XFdbDQ*+2 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%0DqlQzDu$FUX4M#Dq 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%0Dc^- zjnwMkzljgt7<>cr3V2)aRp2UkBKR7xp6i$dz7DK4;@IGWC!13R{~bI{eAc~dz&DEz zz5}c_YCU`eya)AG!5dHQQ2M+0?3Z3czSU^>;19ri$$#*-;5*?|!R;>KoDR7*!9BqD z$v(I*IJXZTVtExj+;SbE#u=Bv6T$n*KKM}Z0rCfY8u&ojpR-hI1|JMAgKq*KDn9rD z@b-P-gI@+;LqBVPe*`{UeDF8mZ?IPZ{|Y`5c@^B@Lf%IV)~0UB!x$6dgXcjm-3oXS zaBd&GH265=dKhJG%gf-6z$b_g9t&1oRq#&W>!It1@P1mK=lkH4!FwS;MSSqV;M2fW z@bTa?z$Nwr=YY=?AAC9ZZ1KT&gBuw8Rq*p*`KD(vKL(#GKKMuQ`Qn4?F6vm!UvPJ0 zJ?PX6e4+T@f#50PgNGVd!6SmtTD1lEV)4N{SzZAjXj}!K6nr+y7lJPpA3Qbq;2Xi0 zA=h^{?gCE*>xASn@Rj0&Uj<(cu7KYIUn@TNXYlpnv(N4}g}E#~cnR=L;)BcJTf_%% zW~>*m?*zV0eDEaj9pZye0N*J-_#*J#;1c`(8^HI955C7(-w$~de4qH>=fMw%&-J4B zzz>QK{vP}=xB|}pUf?RYEBI0IIsW$qU)UKw_@3)KlpYxYAKVxD<8Z3r!QdywUxe#K z;QdyD4;}%2TK2(Pf}a&1ybJhw@wwnO3H&0s3_c0`viRT&!LN!Bz83tt_>H_b0DQ6h z0Y43XQ+)87;D3q_o(XP-qnAJaWLyS!y0~NMa^w|o53uZ1!F|C0lKtL1{|kNxTn4WN zzEXVfX2wE`v`2=k~!{xUC#nHoA>^Lr>=$N*s3b6geNV4cgF)^4gqJp-9i0ux52yB zg)9S+vQ5oXTtoN`^UNvR+~v5?(m&x(_&F-rv}?;Y>eW3CrO*RrW6ewBPT%FJt3iBr z^YZ(nres^UQBQ*v!Y{blHf`|2e&ph9XC5a0qn#667JhtTC#1KI%Y?UYqppW`F34%y zcWi^_Ay$gIWN&Bl(irKt)s&)*dOy9=DQ^4v#Yg?mcC~)Tq)qycoKoZ^>&1CP*wOjB zQ?^?h{)Qie+_!ME-P_g#$Nq)g zSYy%3j&Fk(Yj_9G5AjYkk2bXQNAOgBavT0ddDNHMJ2k1d@VR0?C<8M<2Cq$yBDmmpT_MH>!s^t@M_0v?PsiJ%}IO0nW#67`{fBQ?CV`&N^=yM z{%2PtybuR3jpJ43X*`C#-g|^bDZ3^q4{2I{T~Z$UdN-LJTW z*Ch3S{TFt>bD8XZ--_$6P4vIDJUvdO^Xi8-?1$YO5<5S&VJGI1>i;FN6a5hFiuozt zZwZgjd5U%iA7S=K!V7!tbS;9^-Z?PK61>5Fd9nUw8z#79PI^oUy|5{r4(2IVVJUbj z@065>Pic7K`;-UMWx_+W(6V+Ga(9_u4-ulZY^{C>wuRQ;~#qs1w z^HzX&p7AoCEHQt@RsUT_xyI40I2yo|8w(J ztFe1KZP(sKZPoZuTg7jGc@fh!YWNYWTK=NumuvW`{WO+C&0o8Q{~qW2TB|QVzsNU+ zr_WoOKg|3XYvSt|D8BOj%^MEy6yrvZ4S7Jag@dC{KWMSEml$N667Z)!es zD?gu%u{YG^n^V4(@krV`DZy%g=;?RP)Q9J|d~9M@y!aio+g-jjzKHvc{|v)>dt*&tm{}d&gDC~JnEi* zDZZ;g{KC%u=IxT$(K->l(_KE1@@tKIqOXM4dCX%TygjX$Z~eBXkXUN1(fps}*v^k! z*H~}2o!znds&Q!y@k+4l#~29v@tu{6r*|j~7U9YwZhK>AVdD$8Q9iN+j@W2 zmHMH#JbLP@Rjt1tvaO7l!>7HB)yIb$YaA&>f9o9?OQ1K| zv1#@HkGA)Wv#Q9xzfT_;1Z)!~6hkYbD2kXy%vV7K#}N!5V{A;A!JPG~m=k74N5wS8 zF=tWlm~+Ie1LL4#4r5l}`L1);?k?`o{^tMUsSnLwr)uq8yLN?BC)|6jcRV(R8tc8M zQO4c4&$GYr()e|}@w(tEjP;(=y$OEK_|NEmn&8gYmHvvql<~iZ5`Sa;CiXz%=hwnX zQp6zqjrXDSZk+mTr1|6Ve~j^}yYQI{W3@#o&V}2bUc{#Oof$m`QCtwM?;eHSORaxC zc9ozN@w|RFPQ)mLAAdLR!aCmm4|XiR`>;m2>UqYzi{VW+9 z&}+}uXc^%Xzak-qAU^YRDg-JS5}ffw(|_3Bm5*wAy1WCU6uR-9!}ag<9b|s3owkK< zrdUjYaHJP95!W3&o&l(t})X+l(o!z5uL4!hps$p8|vTn4Bg$$f5ra9 zxT)tKZQg6}E->E8b%bA`6Jz#f^WL!SXzTOjFOPd~xcn{3zc*Iw7rMEO!RoC0N?|{) z4W@PPpjR)lmCbt({f&+Fp6Yf99&4<3QBN{n6T6ou9MutHE9%&D@p2rWy-0^l&rj|# z|KHU0Vxs#=f*b!{`W^4e#@r8^`aE;L`S@N#kDu5(E^fVP*zT9u7+}115(oJj_9D*P znD;sQN)fO44(s?mrv1$OGU16IyjUYnGVg2iqTk~CZ~yA@Zz;diIQ`uqttastF3-69 z`^1*&jPeg${$t`(s{ae+I&Qe7jP1|u@HDr@Tf)3w&5M4G`l1bCx4-$*&5w1ro*(ao z>m07A9bUBmdh_Nm zFWMjW>c8WAqWN7C{}jjgZG)FwJ}2cL7{_lrgs;Jk-){KMyt(Uq4PN*<=dER*&TC%G zm*AzptDtjA{I1B7*6U`yXk*L^oh!Az=v=AmfmO|4pst?T@wLy3{lF&HTL``FjpO<^ zeBJkva@@t9cjW!$@d5A^$3v~Ri0h8=71z!Gm;PDS?@`y*&_A8_UBNZZjjrzw^B0Hz zRDyA(bzKPEG2HNxkCV-7b{)~L!TW)7T{F)xZ|Qb?(cIFr4aHA(7rd?P-(}2?n1$VX ze(b+ivfi@Ri#Zi~8@s$W<)ad;HpW;8ZhSA+(eUKciRSk~cS3@tTi@>Q=PTp$pm}}U zX~!hWHQwGuUXIjtr^f3C*6U}z@GY*#qwn>-@H&q--d@IQRrm`T|8pdUNb*fG?wiDY zkLAo;!*v8N>WKRo8<@9d9WTm*zoU6;B|OFLAo6vce-u*p1x_??9rL1(bT3Q12`*pH z<stQ_V_oaNW32n;pBd}A{}*Fj(>LAa`L_!`8mr#E#=1UV$5_|k zLyUEuy{)nCn~yctz44QbR|8*RtZVW6jCC#kva#+@DaE*m{aswQ>e@_&)6Cz`aSwi6 z$A?~A$Ny~pSo33S2QTb*zPoJy0d;okd2ubei1`P>?_(^V)~T}-t+ZyD>Jz}LpQC(z-ZGG?l8VPjpxuVk$2@d3uVZ@8_ouD|y+);0EV#=8Fb zi*b9`*r)s2B(AYWJ)^+C*#=53F-B{O+ml^B2@m6D98$N5S>%ghT@*%sg^i9`y^BL>f zYUu>8YP<%Vfl2;0#=2hHE6J}W`1}N4Wvpwk+l+NR^{BC~nO-;6b-uFMqIe=juF^~O!cy0&=KSl1D68S7f%Q)68Z z{A{ef{u~dKK5JjUgt7MZs~gWv{vc!R&xad#1Mgz2=SN2x>lx9R#@g#%VXS@YJ;vIT zKAGURjkWLm%vgKN>BibO&ii2Lr}lz9jkWJvJHcBRYfm>i!ABeSCI1{_?cZ-O*1qgX zV?C$(z<5>ie=^qoYp#i<5A8jpioHQk^CqFcn(-Fc-N<+=@JM6r*Y-Bnp6o>9;czAx z4`vG7pWs)G^=xaJv7Q@sc&PMmJMiMhgV60~tYFxGP(r8tMher{{Z)BW6b=6`|i0miXc z3*FeOX-}u;zvJP}gS^oEuhG55SkG;0#=0(i*;vn~aBnA2Hq%JjqylrcaEu|C(+b z&-b;LQ(WU&(R{Vi_l^hhjNf?vVZ`7ueyxD$vM)KW>-S={PrY{8^1l3he6C*K z+4Z9Jx?xX=Ekp5L2aCVYTFYKuX<_5$;;7^Zi*rxH5w5mzI*KzH`wQ6i2jB&bKLiuK z;y0Lo1gmXIam`c#>soGMWR<^3@A147`{Tjy7*7CCM|UA?*1$^ge_o{a^ZM>CC4CQs z+FsECsSB5e;#|EO&vl56Qta1+V^1Y~$Z4Fz?Q=Z0Q+~rg+I)`RN>qMl^1GWK_hgmt zlrQWu`n97%H$VKvohLj8{^NSKtn65+k8v}{{lJPzg}*hO-vZvyxC$O(JVE(PpDdaQkw3*@DgNF;m*b-C|4W>w!e0`bE$B`ID{d9=H{hP+E9p1p))&B^@5tW} zSOxzAR(t0q0Q%jDu`7v0#-p9GWu;riFK~Zl)>tEs;odl~8Qh(G#jOH%D%x@kc8mE! z0D8fZKjJODbVKo3PjPp`NTCbv0kqD8ImXuqrImT(WV6^VhNs#!8VNV-A3)!CLGid{#HX)Suv&&)c?Jv0btY zyD>ImTud`>BlE()n72Q>e4xwessG8p@FQZ<>9Mkp2mL?V>49F_u3ok?7(4xqC*t&w z$fxaETS#*^!=Wg_qtVQ748#b~ac(UW%lTvcDlU$!M)nj^t$GF7 z6{*Cd+rq~CU#_BOh&H2-it06By>QeF=vJf%RcBqzSdEl8+(Ieu~|LQT_3DHOEa9!z}k;g zz$3u2UE^<8Fsbv_9*@|ZOY=r)xbxzD-j6+CLQaYSM2JV2i(1!h!24mB*fzG15x+MI z%(gzNAsb0~6}%MRYoYImtAU68&Fdp^x%kjLTSvZvkHC)nX#vM?n^wW6e^8F;8u(IU zb@olh74U<`Rq%7hHLz2@6@DC#{kc7UE-qtHy&gGs#>|iE4FLFivJOv5;*lR5BMAC1?*nJjEs=kX<-9I8# zcc-Vyx|c+%?$wd1dk|7}{~4*YH&S&Ui&Wj`B31W|NY(u$Qgy$9B;<|Fls&%**8`46 zyhBhSKl-Z*-r(0_f7qxPevIy(?&mMSPtY;q{|r_iRrzaty2KN}3xfB8Ujz4Weugj0 zf`3I;_*)CSw`^j6FqqSH@trGMfXQk+jQ_5BfbT$HJSZ*1J8rk(x5mJZa2UtqG?w?2 zt~q0jo5|Pn60H*z{thKycrbrQ8V>_6e{S(LJK0F^G0tycc%5lH3VgBg&fu$!cLCpO zOw1b|G~NyTl<^+eoMb!}Jnv2X-ZAnp{+8+AkafW4D)=2Zz;V678t0x`jrtx#;YR*_ z0Owu08(#JqSZhQx_(!lf{rHb8si@L5LkM7KFL(2BU zNZEKEsXlxc*^K-YSwa4ctRfqqrDmL5KoSE>OJbm}BnH+&vVMpgRw=v!eyqz((ZX0$o-Uqyk z@xI{E#$1Ls>}@;-JO(V^G$!7Cop}JRf)8>2cq4+CFk+ycJYcr5rX<0@Et9N8Jq-viE{0RD&Z zZQz%{T6fe(n_rS=J9-_FuEtH3Kk;=fCp+(h>GGoO3t!YBn@c3pSLCBooHLhLmKZ@& z5@$VRg}=tHM7Ew_FT0@?Y#@K?0Geq;;+%dXO=YcPK|E$wxop<`v+ZKOCK!?6-Y zMGS_bD~{5y3zpB~D#cOBk=?D}>~BuoGpmxn4f)LNM){zA2p@F)E8NWAqxreW-vBO!!9{SINJ7sg6awCxBy}sDZ;b`Fsj|U0zoR(z#%*2Q~0t!9boex77vA zZX=)KVqIx%d%|fJiNw4p#?0gJm0l|CW$%^x*(XSineUORqtlD!Txtd{0zQVgD=h=A zx(_0DRq|IMU*li`f8j?B?35pf&f0Kh*M`m8$(JtP7JkR~5AR%Zv;B~?J39&~zfVWX z?@N)iHBx?}{U)R9p=~%nBEd%{_~-;5mEgk@oZ2})$=|hiRGZ~HC;7W1_}~QZl;C3% zd|ZOJNbr^k-Y&rxx8bg7TP{iR6aN*iZ0hLpTu_dN!tbt^w($#&u6uO8C=Lor2_s+e zcgmF)_)25+ihBym=M+$+84Lg=tvgQn)or?6KgO@f*P3@T{Yh%lGt!5Rb>IJWiPKM#(J+~9b>)kv6Zntud=hTKGSlzu|Df^fw9_ry|JDn*NpWH`VC_}FaF$E z&w2A#N+0y>ZXshmyIbB^&&SqE@aD#YscY{9pJJ?MbXOVcncMxwdUpJx@xqLWe`BIYW~&tb$Ftv9!!!mrqx=%{=QxPZcNpt=`^(09?*Fy1p2^SgX6dJ%)h}hN z_Z$Wq>m7g{jrDH8p~iZb;9_Hq(>sjy&cibae&1Nnhrc)0Gv_XEmG$cVge8pi{>*B| z@fny{yJIgIaj(DEu05H~OB-8%5!%1K@#k#f_cqqMXr~x!&ArxGYwkp2eO~Z6W4$9a z)mZO>{9vqiN;$aWw%i;g;@#DGL81t8h zf1t1S%pSPB2$aD|&UCVpW)4kLOt-q4}V1G8t`R$X+te=;R z^W00;TN%B{#<$br9QrHYz@wuyYS&Ox1A8h_w*gVyE1N^zvxK?LJ@6Kx<6!sq5yc}=0o4+1*CK}71 zmyA~de`Kt8G>e;N?1}Uql~VW_=f8-7#XU_M^y0rE$ZmjnO*EH7pwRwVfO7Nk^dPndqW4%Xs zjj`S@e85=ml|F5(cLApu>)pF=jb&%<_e+0-dmHOBjvE;3U8`-4_4&&EjP=gqX~uVg zuQAs9Dvubi27b?2pK1NhSbNDi{#n+m_fvZs>m4s8x}}&0u^z2OxxW8lpn1E|PdgZ^ zzsDNKdn(eGow)uSb5nVr=0x-MME^45@zj5(vEH+N!C3F|C~53yPRCr1{cW5R{%!t# z*qoW*1typ6)7p4q8L zmbUC%B-`}tN~G?o+=0|Rln0RNoF|dGhw=(i?fd{aFY+7Ye8|Rs@%_fg1(EY3o00gI z^+B?I%=#ng=i(lP?uqszPifr1vac(}QSo1{=b=vd(ZtJ1&B~r*&Zz$4pe*QGZHMEJ zjEYsz$H9}X{+#j?tqWl;y?>;n_m7m8FGZ`b9CkgSt*%_}-8<#lXZ(>ilA6?i+ZgLT zrTvVT+fBu7^CjMO(q~zZU;rFv-Wk+!ae_l<2tfDA&xgArQtv}uZ{FESJ5t`H9Nh7Za%Zn>AdD%+y>ur+t@LB?m|<}~jj^cOXLR3{7T z6n*HnM4hXdcL_S18Y_OOj`pZ$QBUl7b~f)abPh7sJ7wo4_=d#RlL>w=!Cxo1;ooH& zFR{NG8(Pn_Kaq@m#$8);FA(Rtng2I@Skic7*7?51YQy@*$6<48V~vNs6V3_7^8bP) zU+rfu7vu9P^5gwD^8V}nxa+NVE50a&p3c#!UVOeS#>FGnyWM(fv*tspr}+?iZ<~K7 z{LhT#_jF^$u4!sp92YgN_bY9W>|eWVxi-Z6e#=|$e(G7%_*G)Nsj=$(v$5*j$5^pF z%2+<0ncyoDd|QGaN$|_YOtm5riefE(kNjfYLu%dY^kKQ~Er1M8FR;>TNUhfuB=amA zS{@hoJl9^IbGb;QU6Xvh&m#Lt%Aazdke5FVJ{&%&SZ4%c4v!;W^D5TVGt7J5`uI|u zXH~a&e{uPXb>;C+&FwCK+2xBk2G5W$AK$e62&q_nkJLG!@uTt_urP7~j#ohH9Izfz zYw}Q}?rFCmwU-@>#CCQ9a#7^D$R5aRk&7YkK`xGb4!H#K9VD0P*(bI)Xg4=>*HOk!sVWNVVxY?|8&m)lXc^9O7 z9*gXaJO-(Gat3k*!3{eq=N#M=W`uv9QSF>o;9EO z7^#54S3fI}S?pWm{(jW2x^+IEj&G!GNzpQ{<%8xA%b)lccOpo5zl zvUjmjC4UVXyCJg1pHu!GWvik~D(3Wt#=94@we5bO-aCFD?k+B$0#<5pJI-U0C}sz{ z`~#O$Wzo*?JMN2|Vcyg>Uhy33*ooz{c-bBY);kJHm%vy1RL8E=^^x@=237K7zdHeZ z2YmId_&RUQfmDjvRKSngW`D5a^s#LQr$&A}ORLaOr~DK1IL0#LiDQig1>;4xYmkmf zYX7H{%V&+*@Nu$vUr_e7al{OxMa-n5@g6!6yDp!V{q;4vi+~jug(+eI%sx1|9M8>Q zeI{J%h34cc@YA>yev=<B z>zg-U9WQN@;<%}K^VjjBzGY4;=T3`x3&Pts!AF8McGTDU{DbD1(kbK%SNPMIS_Hi+ z*eUPM@mX*>dfZ(I?qMIa&cxWcjC|o1{;mWsVLLa2o53~mopRNoq?kxYX>sRi&2Y*W zbsoq0V#d)g;?(P;x=X^ple(#+SSxDwPkPT8H|v0u+Kjl=OKADhi9bsv{>YDLbF?>N z^EP#nntCOCjh_#HDgBSWh<=!6{&MCkM)D=)tDQfZx4d~V{({%(i?ZH6?bN#vnNxf9lTCcuKXBo`LB8z;jv3J&sRASN`-T zPjj_Go|5LL;#lGD3^>9q{5^1b+dF4^r)fj@HS(8OwtSzgN-&&q)#p^iLC1eL>t2g&99B&#r&FT{!rIZ&ktX|f~WoP zkLGWY_@sI?57dU2t|`aMTwj*4*vdS`LcGV$X(-yZgv*E5m4}~wUA|3SJvvXR9-XHo z*E8?W;K7N`NN^+LP5ZH(!MfH|+Rs?~jU$Yk!6zHD1Dp>6 z{wwL)VSnQn@!oz@LIuug)Cb8&|<`-KU$Ujo*0x0G`LVW$vtD3FA@V6~P*x zW8tg~R=-!lPIO1PRwQAj<+s^qE5X}a58zLFD=ibas4=wej_!VYkv5s&yvbV zy(b_aKjc_G%8q>8(|YGyPxa_Ls{M-ev~QQ5&f(HK)cgy2T`Stv>%)2<@&Cc$n z=3P?9(|RSo_8p4J-_850dGtlGUy6DkclqT>x%8s^RhLgl>PgGrr(ENHs(Du>JhEHu z#QyDT^R6+ErLO3oh)P&4$KW#ZgAYw9*ZKNd^R-r`?FxP~ z`M1I$=7m4n|3(|N{}mQT`(NP-f1A_aItTU!KZvfzj*|9(_fuyD`~>+Af~(+{jB8+> zuZs1aV826tv?cluN*3d#0{#e&d@J?~*q2l~5q;ri{$w-iD>Le*g*5&MR!<&cS!K>+1U%8d>(85Wb7P~;1d%( zKEanJ___q&m0;D&_?qRssp}B+-3#V@OnplAyvf^?ynmbbiFpx^xK58b9P{@V^FK@Y zT0?>t>t?K(3w&3`{)@y9?Ztv0yk*V%D&c8t1y9#SYS#wleUtE1fAqcf0qXnV=KTlW zZV9I7zxq6$m2cmpq3Ejv%>M!1V~o}R=OlPSf^Sdo!wG&a!EYL?|5G16AYbDn?z4su zADcfD{x=E!J>BS|-^|Ysp^v{W<1af47^__?B>A!#&vtmxrc2H11@CVO zzAM3xfr(AyDfp}Xh~~G_YvgOrHuI-;{uk%}Z^5y~|7a}EZ{`dG&+}v3 z{-ry3UHVKMr(ECh6S%M2!*RZRf>%gzp9J@7!!)578^u`QvLI5|RoggSH;!Ci=g0R8 zDZ3fpNKN(6Q?({(j_cY)GVZ;uZvL9KALA?Txo%3i-Y?t=xfyyb=C5TwwH4!7Je~W+ z(^?qMYvVJUw?D%D3hcyv>ceek9owOg3On`R<8vWA^`)*+WcMo96ZeAk-R3Kjf1~ZK zhrLIP2b2GnvD)`Vf+=cUgX120v{~O}su*?psf^`D=+0|ANQ$JGziRgY#=>HhOUAjU zR~%b!W4AN(qR#sGMtrui-X_+IILEclSju(pS^CT4PsF`ptMa~m#QiYa8DcxpzuIdk zo-r3Sht=kD%>QGZzxD0B5}w+7BXSqyZPxo!qKCP{zuCnnzUSx(>kUP3vT=QkzawA1 z{%V>3Tpq{R=*lsvX-n5lQ;M;)oOvr-u4&%Zbw0K?=EBFVtT*ES(2Kqgz0uYiX+5o{ znj_KoRhMt;^5~l=uOAy%n!i2#`xC6jhpu#HHxJ)5e<#-!*V66rWBkOt{mS~I(4Xg* zGT!yJ>f;#k=rsxlaVqBQO4i@C&X@M|>*xH&*5BRwF{j$ok9v2u-X7>3lHk*fr}bAP z+hQ5_m*f4JurtB@eO!Nxx418S2jyBT?>BG1IzJyDUY?)ySy#iD`RdO18j?>QO2-u|^iwhk}Ft!@5c=106@&l~qr|76|~bv%`8 zZzOxNzq5HqnWuTBa$UPi9_;dC>imm&btdJCqt*qr{{r)?=Er!t$-KKPAGXwIlBM^Q z^^ULecPja6|K~{g`@MPN>ip65kNQ#j67jqKR`TaVlA2C}zk=}~G6p4BglP9D^0mj= z)8(hR9+iuC68RcuXSnNmg)hn1_aDTV{K35Q>UdF4@E4q3#_EDPp2n7Z*VxhTF0O9gMev4zDQaxS z|Jb{#E&8p|xPPN(A;MMiUoftLo$|l9K8|zolw#h5O}!(hGVNn?9%TK!=D21%*Lqjh>4i_Rr@jK-rEsFn*IVyu>qWnWUikHZ zdDp^w!C2Q(Q;c)XGZ zcOSe*jN@8}s1^Mk`@PpFS0uxi@GY*n;(Yyg;xzS?&Y%evh6p&FAAqkff%6)bZn5E3UI*|Jm34$IOrRtG%<^KgRVy z?6dV7J1bJ*Mz-@r(jGYy?TK|`OY@$Bw?~4-jj>;^bBuY}bqQclpb1XO!zR6DnV# zI3r|DuTs9sgPce3?`s;i0r_|1Y@}Z)uW&Gk{PmGF{x&nNVD$Mtc?Vnh;3a5}zBgwI zfBHSuk5o4{w}k&OxCTD@2_D0Mt1MU}$XAYcwNQ-qH!cXtpz{EKn1LRukbg>xCT~V_k){`fhta& zJDhVV`8Dun@ZUTHj{8@!t%CKvgo@7u@HcCexCV}~F$H}4hdh5mx4Ew0TjN8Y9?!mW zCEBY#9Y$S!!8NdALTIuIH~l}|xWt3OH#mP7csP7$iP@GIcG!GxfAS4E%Of19=_9Zf#rDW2;!av$M+=fC?p z*SCrloV7mBvwwlBV5j^Y^EmGMmNE9{de1l{<+)<+l)syB<)>20{by2Mmd;u}h4K+^ z7elbIN`-p2?Ga+HbOvqtC%8f%T?GCSZWVkbSf9nHfo}n?1GmC*H4&_RXbt=vSmR*| zcoO(0`GL;+;9_imr#Zg{{>He4`evA;e(##YXD(L23xIL4n9EBlUv-hc0$3;PDd2U% z>i4g~JJBwxFZyCr^7UL#X=~$V@UF%c@czav;Hq&Ie5UaP@P62&*^PUEuOeS_N9ks; z{HgMHCs=c*2A&B1L2bwJC%`9+lx@}xFsbvY9RCv>V@BV<`JwovyPq#V|561{2CG{p z@b?jXmY8C!rhI*mr*x}u;(Py9?|1OmB*ycC<2L}B!84uT53D(Y&0@ZH?Z7$%9!CB` z#v{SuLkl=Q!&3$8+`lyZ3E-vSQ&nSyV;tF_4 zIP_RCmewdSxox`5;Lxpr*R#zQ@W#ef@Mgvnz}tdXCeStTj$n-eLYeIW{syVEKe!kv zjG3dsdcUw4d?HwF9}K5G{`uAwKXfbLtNsVw+uPB7ho8T`ef57vDmzO_u>=NKU;)9*?IaF4rt{uV4!s(2k>Z5+(qAlRo zy1;8XzY30eYv2vYUs3j`x3yhh?d^-X23ET?UnhW_^3L{wqT;$;`P%a<#dm!J^RDI* zuGTdmc(E3w{HEWro30siC%nk7x2yW+HBWf{Hr!R?XAo^?jyI0SZ;jz{r7ZhYxS79^ zaI_9qz!9G+cxUn##9j@&H+Ui83hR|@s;@U9&frDJuYk`0F9EKC{{miGeDKxaUSNIT zTK%H$nyP?rAz!!(o(NW-*1*pi>x0>EgTJF46|hqWNnN`XF=^|sB45`r%4ePwDNp*Y zyL=$&w@{sOT`L4$*yW9hPQ<&1%evJ`bo0fW2kyE!_)~n=oT`w~dOZt{b)yFU4vq#@ z1^;8cY5~W3RRuT9QLa&^fafqC51!ZfVsLkGu}*@QG_HY{HJ$=?$``et1gdqMHajn5 zj5BodrP|t+t6gDd$=TRh#(5!AI}t^U3VD37_4_Rq5a1OJyX;aZmWHedZ7=YX)E z`m}<1@@WC^O2iAD;@q5`pH8}$Kr z1ycM}f2Sg=EnmJx{yw(Pe9hv!!o|FH*^*NM$Gwskuv5N@+YnaScOJhr_nP@@x?aUvZHVuL3jSB-tyRaX_ph;Y>DM~& zmI#br{f+gTd|Mc|_nUmt*7$z$eax?5^F(9)Cf{Yo^}oq?FZmiT(T4b5*qZqR-3F}< zYHNG^I9I-7y+PJPB_Gm;yXyOum7>q0-nfq#G5o=HHnlF(c`iNAi0|QAs7o2U%_v{h zcyMXDuq_z2cO6uYqb=d74cnSOG_fuIzT}@v9S6F63(C(+us9KiupRp&-9y=o^6>vI z>uv2i>f0N7;w%2Im_Ne&7+d-+@avf?!T-{{kqJ+JMO=b6PuDU&+a^44aQ0wi8-rmN27-vf1d(@@vDt{NrsdlddE z$@e|rsgthWt^A$73iw~}CvC!c8~iDFZ&_Rv{y?6;04w0H$e)jaTLZ`Xr4Rf3L_W7u zvSx7SIm>Ie3V1&7MAh5&qEfyabuU7`Vx?=5Uf{SESs5(RYzFK1D8|68fKPxgPL;o|iRN!9&hi({mecc$ih5Q4>Cs=ob z<-f*24Xk=wz)yjjpo|5-3f8`|3Vz@DP{3W;;d$d*lt6!SI)5#a^4er=f z;(p*J-UPh4@nGs2 z0hXUF;GK-C;61>K!vyd--?BGWyTD_~AFEg~<_`uhNjxv+Fn$vU$bJ4fvOVEc!DoZ_ z>0QSEQm|}R>5IRCHBKjhZv!i~wT5gC{mzbJ{uIqnyOjSjU#sz;@hc5krzgSUyb0$O zu>7Bbop+5h%02`if)CAL#Zz|r3-GLZ})}Fox4` znlV*1oNJ8vhQAnd&CzhBF>|ls24m)P!yU%B+VFreacOwWm^Gr|S!34U2DL>#@YnE~ zG1m*YRGe2j%I8a22oH9fv}YAR5!vI+YJ8MxF5K~+}v+gY{6ZPt6=?Z&p7gH;BL+@JthOU52I{R@>Q4WP46eQ-uETH z3ymwr0Jsl)-Sd{6RZHEh0$vMzJoc*KSchvxbl_6g5%Ld?;?PXS7T`EvYztN!tNiT_ z))=dSo${kN9+T+GAB{aFt&=CqHaP07f}QeXD63kRzRt#jwVo?oWZVp%06xxkR7O%O z3m+r?Iws{+*Dbtvg7-4Uy^gAD2?o@*94PHv;hC}V_0+}KD4s2-E%IOK9`cJd9DF;A zQ-5R&e>&GFR#kB8_#w6v;VZ<7e{0*pah;lBTlWu6#C`=lm1}+RtKd^NEO8C|7(ZPsRDM&qmMbx_jfymPf74-W2&F! zx+V5>+QY9;`(MQ$Qq!66rzKdK(v{SEGy46A8I-St>^x5?=SPy7#-qCo7=CfDdbKh? z8-!GBwnbth+ZV~2QQY6%g?kd58jI9?O^KU1(%zc2p=fVy%@Pmec-uded#x%s`bEa8 z*i=0CAisG;hwRf$0Ho8&Uq=9YdI#@Ze5`^mbbbx&l%G#o;EURD*EIjUw)~<;A01Ne zTd2E8m@8rx?~3T&xuSDD^^uw`vA%d3`}*Cqb&=Co$P0O=d4DyJb#|^5DOWqhi?~GG zB4!bzr>uWD`fnx})uJC|OR>6u@~@B=BO@-~n}4P2rcH&9|5u$I<}KTHHG0j)&;D68 z7W1HpN7T8h%l`&d7u+Lm=ver-oq0FduZUeeZy)n+s^dK~twZ)O{gmyb`$oKf zVcy@(WB3&9d}2?&GY8&zF2B{~F?SZ;x-8#q_YT?P@H!pOfWz!H=HCwgLF3ol{?HBE zp{sFm{$TFMn|~L&9~kR9`IVxb@jblvQU6RbXPS2}It$KM+$S&Q+p=J#HISNb1Ch|P z5l9WzJ(2SF$TGiC=S1~wvA+gydlkPG#{tVhb`~7Y)8lY4`+QkqB7>y(Uho=NpTlI! zS9G%W`=V6%?`m`(z_%*+@8J8vz4NT`A>$RnFBr4`YJA_AeOBXF#_X+Hr__V!|3W^g zX^{RWVS28K$riX?~{lhJPA=cuu1*|o?%HNj5dG}fEgzuC;&+(epotFUWeN9S^-1$_Spuu?yVFv!<&K=A;g2%^HSmGP-!n%}GyV}g!T1~SJ;r-% zTbNg@XR)ui>U{g8d2ic4V%qv0&H5dx7pR}SOnsvvOHjP=_R`-9Oh+IB>lpPhiT+bV11 zw|{3oaVEb5sZAzHpC{5g2UYMHwiU5Xefe^ea^5Wu@2}>4k1t9Zr}9~IdsAe*&#&<$ z{;lT!Xg<{y{3w6iXof3k(j{+S1<{&6Z`Ck|A%>QM?`>c>Zni)FAu zYMO3e)R)SLa`ols7>V(;CVV*Ade)m+*XGcx@B5+VHyp;h9|=}n5!W%~>pT&CeUN#L z=qRZzlJ&gs@eK1jnJ>F3KX_M}*E!*-O;_(m-_x)6QLfJb*39b)?>R8BE&Ab|GC%tm zss8v5NnKgP!exKVgOt6+k(w_`m@A&)9KgE}L&~hI59PuY{&a3vzg78Lm3-Zsdl?*i zXkhW~UvP8|SIs)XC)_58j zYU=5BfphIa*L1$>+1xnxf{K;e7Ij6NBL<_*?`@leVlM4vW33QR`iGmhf_V|sC=Y(D zL9u3>WxW*>`kIEb<2`+i5Owt*#W`RTo*O*cv6vrU{i9=Xo_Gnq_79V- zw@Ol%e6QF0*1XlsV~!PVuII`A5cI=-w6XJ|Wk0N8eT@gjEcCm(d`*|v_rV&J-!qi= zSdhzc9v@=Fwzd#9McrTN(S zpZtmX!p?=Zvo&^ZuJcj-oVGFTXSFfL)dSYsCh=W*;d6}j7vX6)?}WX#uFQ*Pom#V3B!3tCv^sbxoBIvPnEvkQ<4(XB|@ls%1XoaTuh} z&+3#t<2HUneo=21?%glTyY`eQD+Bk6xY^@!rtohqw-Wo=dj%Znga1g7RlM)>x5W;or8_J1p@{dg0q%El@-4pasJ^~8%s&C$ zPZJ!zjwQc6-QUbV3C_GrlzkvOy%HRDG#=ZtvySKTi1@#t>0yWfHyA!Dh)R4p~dmgEI`c7HiSOIH{eS=i`wB#4}Iiru2 zAM>~w{Ht|kXC(LAyCaq6Y%XjU_YF0!V(mKRUz}fQuP)YfUAjI{YgcFb<|6vE2JV3_ z(JL<5(`(m0SW_z6k4)>j3*H*EkG?COlcnvB zd09ngBRH~O1IPSR1ENnV;7#DrAC1j$QafXQ>`**Ys*=C<6Fz@~w}!9LI)y){{5t#1 zaejS*?@90t3BEVMdhV*Em}p$=fPKYp6q3~Ru(>L~AH3Yz{N^a~5SQ1Ia>Xp#f4a*b zrToeS%cyKAuCYem?eZsVE8-u%Xsm9Ap2jb!>8XUL4BcCvNM6L|dE0v?;mNn)#k%lM z^PV$LYm)56`Vi~JNffB&Z_R(9&Thmc=G}DjUV^v4Ql-zmSC?fvh&obVdT`(KT;@`5 z^Ik<~1LHW4Dqhlw`M8bCU$-ChTTwoi{0GR3K8W!bQ1 zNxtd48Fk+5^7qJl)HwQ8Tsf z;>K675BfubRj=$z>RGwYS<$asnD;UI+Z$_bA7iYwT}g4){vyU@#3%Ya;(WaIKC{0J zpJE>r?XKsaXZ{yS`xJ-ZU*qzx5_>9-`4h3%yV{DxJ?4L7zS^yIsGk3VdH+f5qTbq< zT94M{_}}o-qBQ~e&I8qlKQ=L`T3sp zyI5cGlU~&Gz02oxxyB*It>s~-iI-qxuj4Xhf6QgR#=H1>-j&*wAG%Kv`U_ca9_vMW zrK{)YN*X^-`F!wJvd*J=U_y%6$Fp~R=ZNZD-@FCT+1OYnM)q2hPaaP`mt)0s-vwZ$>q>6+2ojgFw~*A8eT5`G z*_^$~d)-STJ8`@oQkq*KsXE&S*#&ttlKyQx1FZQU`?jmtOBI;BCqL*|=*nFbzu%PhY>hr6~AkeaFXoEQrMFOLBhR|z<9OOhYFgSp!7uI$#2Qt<_FZrOGUn4SgBW{Y3ZM1kbT->7zJG(Uy3(K73u$yp`asn&8lpjAzrKGuXU- z==?ds;;LIqmKGEUuOQA*tyGC*QQDgnL=0RlEo>H z^|Ic^Q`TD>j*{wBzsB`rJ^wB9*EL`D=o}Mkcm19y&W)d1Z+-OMW?WNGV~gr*XWsq_ z|3dtz!co$=*0obdDjc^-k(JG|_AXa`Za~e~{%u41r#+o;mHf9@KZ~`Q4v96j3f6k2 z{2F-AwHnJgM}_OXnwRfDfak@&))YCu68;zK3pk#|RKYQiCx91)kGcO^YxcqAorEc#@NEoZu@H&H(3QueherxIL*q`zh>_nl__+obl}D{f*eV z+~q^z-kac;jWu^aOY(nC^5^ee)-%{{%MU@F7YC!)+vOv`1B^Atw@>gv#+t{cC-_QZ z&9w)NXE)dWNO^m6?G@|o2uF!wGS}6#xxKmek@+p~XBfwxl%dnQUS5ZdXyg3LmoeBS zsY7ds*4303`=;LJ?*@OpI$i3R?VQuFsqm+ia*Fvup5CjD^RGD_HFvM=-H`2Jzg9V; zG27F4OX}sBZ1K59&E376ukkBfMfd-8?rNRT7_Z`Br{hb1YT%f=3VzJp3OMF&3s?#D zVor?0H?{X*B!;*~9lq`k#`z1Gi=;fKak@!cihK5(?Q4+D=t zP2)x>_!V%pxdp82SlyGUg4aWLZ5mZYDQs3X;L4Ow#pl2$+eeP`lfavlJ~qX^0TV^M z^^Vi2lyB?uGr)%!YaKbwSbeS}J)O(r9Db3@$5Vc-vDW4L68ws>#>&(Le`Bn*xZ{fD zn3HZ#WBthc`bqva2|ff&C>pEiYCZUM41lEdpuogM-(9J=YjT`wzUE`ZTKx0LSIy1* zy~cZ=;#a^<`Cr{`j`K^wm)Zxl_j+Ub|Ddtr^pvsMtE8AoYJJuD>ou2OZQHn7ld-n?)K|I}ULk)d z{Fu|qKaYH+bpNO^s`~*oZ0a4D;yg%zhW*X^EO6XAuYz~LCfA0Id%)N8-NziC={O}^ z!TwIuOI!uNiEqlUf%PoB;G_FK`A>)so(g^nTm|dg^PKqL(bV-YIHO)AvWm4q_)+DT zDSsrv|1d`7zqmT5I^~c54$qhOqUKMUN8DTOJ>xt*`%x--tAzQplk(ETs~N$pbqR``o?Tm|pL2MvnnK47Q37*pjz{+j*cu&ZL{lt15= zpGO-g%inCv@0!|qp)EguIl(U)<9acEwB~5+YQHfF`62BgHN9&du_$;t*K3^BpX+}! z|9$i8?dly^&9Qk`F6~Y>k3K2vM!n50{}<&eCwPEyd-ip`sW@+G-iPh@p*^qW(az?5 zocJNn;=aHEF8`#?PWTz??8)YRmhdoBoVygy;9X|k7qj7|=dgRt`wHGmv(bs`j@0(Y z=6#FK%tU{|er2p>tBo$_ce6y<}G;Fn>PboGmiaJj62_%M$PZI=_BBDoe9m?}7zxavM0#=WD}V!rYRk{x#5bkrhiG%WV|KdzTfjOI zn`qZ%E?>yyVJFHp2X&sl)x7R?cGS)j@&8emFY5B>W34R*QeMBdykq`i@IN(HpZsd9 zxjy%*WnXDNFJ-Ljv_BYYd~ar~IX%iae2BJ0EMlEF(7ayuwVoI2&MD?C2k$at`Fp!@ ztXpYYC(s}DZGGJQKCUnL;g`-QI={!5ddvKke#bxc$>-*+Y+j7n_UuMq&a~bt=qTXR8Fu&lpeXnm7-< zea+hhe4_E}*2Hd<$GnO)@h|3YN|}<{B!Ajl6K^+vGx#-Q_1~+;>c0<@{GW_GLD)5frD)gFgs9_`BePRd4Yg51pkHV^Mgd z>s33HifEKDAMP>^^KFbVSDY(E30;+M>+%>6Y55L`ovjnReS$}TJN}{U3-!yw##-xE zG)~X)s=K{0zLEL6z!`3=Ik~5C%*kkr#@|kGk97HH@Hq)qTWDALeXDiP(DW`%vj`;O z+HoKI zFTcd|>ue}Ies8rq`4#ZP*c5I7JK<8+`n+!G$SqvuIViSu-f!mbadaU!jsvf;P1`dF z`5(_DV=t05LMl@}#(r~{?*o1VJEW$;{P&^pJ*@ZN84n`A!W`ARV!CoJBO4WO+Z z`5i*~ruEume)A8({xV?7{%bz1N`5EbpBqqevaOJWGusuZKpc*g>t`T&{+eBZL?^oy z39q=f_b6C(zg^~KpCQ#xy~)$LZh55APvi?%_=|VZtKhsp?-ulA9Rfd8>*yOP7$=`= z*W!DSHr=sffxA;t7xMX>Q)7j))V}Wbg?)XWsBo1(U4seN_)}d+EB@G#ef4D(+}(9e z0FS$u3o!Dp2QTCN+rY~i-v?e1tQ$Tx@G8c9Z%-tJt|*s%x+nVs9PZs0_cZ?(pMSfe z&FAo6K1Zx7-~rfF+^XPci~Jc(zUrLI{x{%?plpbq7bgn!#JaR~z{p zdutmj;F08ap)K04rfpf5cSs`sla8Bx{G+Z6-*&hCdBNwLTlRZ1IO5q4ypK5*@Bv`P zVq<6idwY2KnKoR=jwL_lr273b0$ovlV2)3M!?xqLn=Rn5 zSp|p93Cg$43D{I39K{-UxqMS_No(_>XZUj!`Qm6U#QW>w#5JPgpd^k=-Uk0fuMgTw zgl`22+A);fZJW(xJ^>zQ{xinaASX6Y`5l`_QT9Te&65+G!n3n^`tR7RQZ_lUIeb!{ zoo4=5^i&YP3_U#A+Yy=NHr#{SvH^N->h*|;zH=NhjLZlu5ZV^il3aFM>{-Oazisc^Ir z9F40ge?!6NlV1ZX!EfDTTx6SJL+3Z8kih(6bHH6MXv6u12|g^rkFm};zq^96$AOasW^*MoW;trLO1d~byPA-eqwW${Ni9Xc9=(zX5mLHD4ZpqevC9r zzNe+iX34Mr%&X>(+SOjZ&Y4byo#5Bk8~OGAM}EEkkzXIr$S*1@E1sp^`gjJvzP(y! zX4hYl&-x#!upjyL_9MSN`}OS&e*JjRypuomanm}Z{CYdbJ3onk*ZawHDtr!3;#=1T z>o{6-W@kUft;$lHnoG*NFmjn+kJx6+QC)v)j%v@SevLh1yyG*RxlL;NN1a|gbJd!! zI<&vly1pBHY3yUY$7Z8dxE@ib#)Wh;<=XIVZ4{%$32L1&3oE) z5$9t4k&n90xP)@8<=0r=f>ho2SU!v-H9b2U{m-^8^>u!czGS`rGuD5eve%3iuMZOZ zwXyDnD$&n{k7~>I8UbsUKD>gSlFB8cyqn8kb9wZi+IR_h?e#-X>%E@XRoi1-U)kkv z*4d5m5WMDQCvEHF zI^L_~>%MB-%X`bbPuk(dy}_yGeP&*asj&C8%fF!f7vsT&hsBAc@G-b?UoY-Y&ACoF z9>2D2hG@aBu-K~I3satc#%po&zcoL`XM6VJ{@3!>`_6h1yU+{X>gN3bZv$i9zx$K1 z?k#L*Jcu^#1IFj#I#Yf15#P(BG{=~R>~JpFs^CN5EQ+kQE!g?5_9J2$_a~3D?dg=C zW~^9VWZaAVtBjWe|J_*kJMT4K3H+$Be0&KkA6vlMUoVPO8bRo<*r42J={+Ys+L}_7 z6#wNNk8C~YsmQA~lg(R* z`YtwB+x~8>zInn}ZBvph`4WAqaiM$DubS5bTa%3ygCD^(t(fmeah;}hHc9ys@H?$n z#&W#ZbsF6|PxM((U6ZEsWMT7{LU(y%`C2iKd#o{k5&+09|r>xDg~dOf{g zqxTr%eTJCdqpY_adIu%=WMj>(ON}+RZZ%e1o&^71Tvo#7>*gyi9~rC7KN+jd^Q>RS zPHkS&SoN-Eta>*wR=qnK%jf+QJPtfNf6gPHJ}<6i)qgsVD6PQ#x^CTwIrwkpw19Qb zM&Gle^bq;!yUJwc{i)X}Un{|DgCB=aYEpY&H{UzjMer9H)v~nuLQ4UtTt|H zJZ3gyOKqtiTRWLQ2;GB?70*)>e5J8sdv}6gFphDIi}~i*aq6n?M0LuCCHWsYrj&J1 zd3XLa$C5pB*Dc!kvv7(Hr<9;?We$X5{^;GMY1sY%zchc2{-L~H`^0_@uj6Z8Xuj3+ zXPUna{BD(UoT!TxJNc@#c#=Q%@$xqV%97&${LgLv=i7o;f=_DFI<}VaV&F}Twcc!P ztT^v#tbSKY=cvy6aqjK9NZH0X=N)9dovHJ9V?Fy)ia5nuR&V2M^LIn{GGmR$zk_40 z+zpO_Ca8#@yR*JT(&!3>rccWbEczh;&FY^zkEr%M*pR_1Go?CUe;^7e7_kHr2YW7+=z%)YhQb9@D6n^B}+!TKIY-2>{lk-wK5Jdg1N z@FL)2u~!2-(ahrG+QodTfP2ExdZzKal68T_y48bySu=Pw@=+|-ymi3Kh(H<$*1W9n zH`KTV{AcsKgZ29s;wb4e+~e@40#1LwNoCYu%u(U^ZPrVPk5cG|Br87wJ9|+NdX3$2 z?v49+{%yYYlf~~l;DE-+$*L2)-yi(0H~2twiF;!OV;@}3XKLUmea&pM=KVa+U-zz#OQ+`}h z?}-UMHNmGP_<{tVm*8XCaM$D8aDJI_v_I}^>t6T8l--Z7q^2vtlZ*$2bB>vwU0qH4 zW{%FYzrdSf-c`2Ea4BLNZT-gO*HGSRKxtoiapQlE{9ZyqnC^_)`Cb-QdM%BQ`hx@8*X;$2^E1 z8aKMXB0GmKQ_4SE?^f$67HU!G?cws

      R$_d8BD9xO5`uIodnIVq*eW?{w+Cwa^Ez}`~RM|p4{wptJdDNYnPlla!?KP`h%?ZAbN`!$GnO87{{uZm&=>?i0h&$X+8$8dEY+F z{Kw3Xc@_LET>eC6PxCXzzt$r4bzHOE+5D&A?_;cW?kHo8btPhu#`?KcelZHEv3@&J zWBpMiz85c7GCe<&zt?2=xm914aCF>wf%+O?C#jA-RtSHD9p*qwJ0;(OmsBR{C$Pp_ z3Dz-GZ7Z|!)&ReMmXCD|@)&#V;23*#@KN7Z<8T$Qt`}-dt_9YZOy_c7r`pTZ=hXU% zf>)*5i{1IP=fS_>8)@vgRbMJ6-WeI=?nLIsuh^MnaK--@y6wi%uQ6U?oW%3t^O^Ui z>lROy22X9*oEU80+vfe*9EdR-b7({Bzk~h`#u^KU7;C(qWvsDwg|WubZN?f$N*bf` zDSUjwt9;$Gi>x)rCN_PhhyKSdSlGj!7H*@DNrS!Qy%DDT)0a$ z{+{F9QTswUITd!kz+PPgn-qN@e88gmpEYf31P=zFaZ@-N<@u#tJ+qqDp5r8`$T z>IWaQ(81&H(#Zg8LdD0PbfDO-Um! z)uTA$M^VR5ka->0CCe%jQGM z&f-YfSsqE9#cD{+-(kqU$jy+lIvlCK*%hh1{eDR8?MEWDw?6@?z5TgJ4a&=r6Ctlh zYA=5WQsd|$q{hK>NVYh|n@EkbPmtQGe21J8*=zNxA0|L*FF!R>d-++A>e~5{(;}Bf zYA-(oNn49y$mx+=AxZrg?Cy)&LdLXj?0nZ;RMIh5No`V6A1Nt+H*683v<6Le4cA~4 zFw#NftGv!yhMIMQq4S4}_cI1^v`aiYpHn7rjNVV+?q}tYN z&8lrvAl0^ckZRjtq{iCjNNMhk)L1(nsj+qyQf+=1sj=pidO>m3x{>9#F3}zL#F4Hz z-a1IVb*XMn>%!nyu#Jz&|Iffmza!V2I`K|SCTjSKHdYxLAhco3`{fY%#$24H2 z`H-@;BvLV28!02(AQhv%k&4ktNX6(1q%`kGDn@T06{8=Ks&BHtS23Cosrk4%QuA>b zQs>&+AQg+fk(!@JAvKQ9L27it!r2Fb9$u4 z+w4ejBy?OJ$U1V;e&gvTj2(_TfwWMrw$$n zR)5yPQyO=GXEvtm;7i%(X-vugEy&k6I10R-@k!uajn4w_57yY|1dlYn9(;mv z1ME~AOnq8cN$Ef5w+-|!uV zXLyecADiLM4C7LvSZMx6f8Xr#P2EPtLggB_+A9U`QS&w@?@i-X;C*JiGWaKBofmC( zX^KfpgM6JI+|U9bJq=zGS?BW?9#CLtrtvfdczbNuaj?#Uv;mHDD@&Z>aRMVzF@_+;&)k zD`_rX%w^uL@D?-9|8B;i=)}3&V3&`uP25S>KxbW_Jqxzb>`F;d`#Msq&u>9KHynW#vVm!&}7$7Nrx$mb?t}%Lnc?V>+)dyi) zZIusKnRk$RjMKDksc!jlhs#UKA2H5jjft@~qfeeU?=W=U&+yO2%dSMss=?Iu`-2ke2}lv{smlq^mu$!+n06uu`X9kn%k;=TEo2K;dNwKbxKF$CgKxq+10$0&^aQ* z=NYSwHyUegQc}O?_3OIkw%Crb{fzmi+h6ge*Ic)*7t79T=AZc|eC+|$hB4-!{U`kJ z=XdkZg+FjZ3^4DaFM9Ir_RXvJq0V6b1?Vnlte6bW^4B+340p(|DxzP;iB-fseEV!0 z<{3^LXuV6YalEnWQEKk*j(=8vE9!jnE{AtjlaAV@`x+7RnEQH$E*(eBzcQ<%nXmct zf_YcN+xD{b96(E2>?!-qx|^=!4Fit84_^^(2Y+r{2mcI4q-PxaZ{$5Z{!Ic_z5=Cp zR_T~l^3hr}g7OCVX4W_z6Y9{WhyS?iogMrHSot@xNw}AaOR(NMau2uxUI5OM;xp-% z20tY}crf^Ba0&i9_!)2md@pser*5g7VttS}Bwzc)A;<=wM|$7~ zrxb6)Ud8R`im!zIv3|&oQtB^c@;>DhwcG3?ez(-g8@sOnzfQfekE-bWEt+oS+JXl= zH&s{J*ZS4U=Sy@oMrQ}>S&#dzr@tdASmzUc&;kAreC3yXq7OR3>KoZ?@X?qSr;Crq znXno)VB>`P-`m}mw8p6T!BkYOlarfwU&f1a%`>H!u{)!A4~&QRpz~~2Dz&@Go6kBA zXF4iWiaMmTw0V!3r+!lVl!6!iCH|^ScFC&UV_o4!hVRetLm7S~!;gX2$7Uaozka7M z_xoar6n|g24vu|P36AT44e-o7F!iVg5}#eLqdwO9`QO+%0lwPQ;Pb*IRljzDhaB2c zOlF&B!O=N;o$pas2l#UGnYL++{%`C0!0+^KuIq3H>X)u7>TP88c7gAzd``c)``^|Z z?NYr_S9@l^6a0$pYo7dX?QgyE_+uDxt7HGW|6~6r+9dVq|5<$I{6Dt80`|2QYs}^G zkN&EYAMtE}H-yhp(K0PK=kG?o=5d`*=yrfZw+p=Y|F$ji4d)u@##k!o)3C4p4f_r7 z+3^2g=i|-j{?6JbKS#S>)fM&Tb(Q2l0!Q;!)Thm=<9)=kr~Jw12X#d@MXR9c{i{58oZCEYzTd~SyC&G35}ZrQ9`ccu)lnBlE6 zd{l<70u$PFjo_{-pWlyp&xb>lrFAVo_P#}V^Rf5MY#o0#!*6ByxeULZ;pa2lmEjjM z{7!~n%<#JzeksH6W%%U`zn|e(GWwNlg^JdH9rM>(ckmJp{$7lid&peMyyeYP`xRfE%d3y~zL4K&VDC#ds?<>oHGjn>ezZTH zn~Z1TwlRNY_y-#6T9{Jw{o~vqybE8BaruzUwtR?p-0E*DX`bF@dA9khnNRk3eZSPa zp-ns;U$qY0_g0_cS zya#%78#f;xA|Cn;!XU_to40pUTVlLT)VI3+w3>PQny3EJPz~ND7xTC7xzD%h2Wbr` zHa35M`1=}b%|9x`XJ%NAD~`H$5!X!*U9eiOt}?H5-CAREUc=>wX60J%!?$N$K9cgc zjN_Qb-YB&r;_@ZsI&OaQL7!s&%$Fa??}vUIFMqe4BVDI_&*O1C*AW*dND~jQ`sC=0 zr?!S~noldio6Wpqn|QGYh-*Ykns>Z;iiO%5V_}HPPi(RiV>fu)n0GR~U5(X0M`rlU z3}2pM`LF($jCP#mF?aW39oT8Ea1T+OCR?#`)C7T89=g)|$4qvBvcF z#+vgZjWv(|ndRSQthxDuvDTWejkQj-ZC}-^YB;?+p@YecY`-C<#%FI=Zg;^7c~El zCVn$7)`r#1zsvksLz?*==G|>x>{G(;U0i-|W=HLdJ!M>X+uywVGXK<%!HeT^>{(AY z{{i@;j5Y3*VoWsajyCUMc+VKeUROG*FV?H5?|t(gL+8f~=k~(kMiw|V=k#}c}(=2jBFoZ-iPR%XsqM{g{v`^kL1*1qq?sRlh;q4vl1yQn+js&gsTy@}iOYg65q|J*Cx9~4h@$35MB%>TWK zpWDs(N15O2AojUgT~}mybcSEZ@JAW`DZ>-(T=k)Ro;Sm5WVj>4yJz_13}2Vw=Q8|B zhKpUg>-uYkXV36b8D1~L|1ehD4>i_vEvFjmnU#x;cjP|Ytr`EZ48NJ-uQS|d*UC59 zpDx1-XLzWwo^{#W`1vjAP*SW3M}N|%xQVlArSYme#h=-_E>w(cjZp$B!e7HP_F|@Ri^` zj?3NP5}QvWe@DJ29&PwRl8CkKPCkh*O0_$bO^UeBNcqClJ1dgZwusvtzUmziDlZSI z+Pt)Ri}k=;O^U0{Tkj8eviF#I8}z_ae~R~!c^mb>i}76BL+qk$ zlOA|6o+mYLvmSUF&$2YLc^&W;$*?ME9v^E`u61QY^R_}~gmLVtnsv73I-Z_&Kis@+ zd+_JmiF*}y;m~>JZP&z$d40S4^Ct6lXyQe`2k$BKb~2BpW}Lm%kvs>|pkBSJYzTg; ze-)Pxt+#Uz_HVkXS~q?+Z`U4pinERblkX|3EN|v%7->C;^+4B9)4JgGU_SHrXtFE5 z_CexHE@$3eO}vQ132;>N2IlQ!9zLbx)OO@UNh#LYxE4LaI{Tw@Xof`&?&_CuJ(vnk zcKJbYFEAd%V7V^Kzt=cFua<7q7d}62-eK5!(^%u{Q)Bs4>{Z3{iUr^gdyH#}$bCMl{$_hz!;gAO+dDb)OYMs|hP^n?I?eo3&1bLj zhxO}kfN4&sUiy3NwY|%1=XBfQ*gjr6!!v#LR``9Z_0P0Ew$oUAxXOo_65T=pAGN82 z&->Pkdn~G#?6K|bzdhrP!5r=W7QS?knH7B;_{I9?xn8K__}!EKBzsq5?E>^>05eq5 zZzrE;F3P@A#JHZmrT=R4#>8SN)jRg)u^pY4Dq&{=S&se+8!MQ1iT#8#PCGZDT(-AB z%Ih&I55vDUGZjax8wp|P$j-Jap6Dm+lnUMT%5EBiRZ zKV`Ue->Tg`U88DYZ@d(?rZw*&{8iF;kc@WCMfvA^UmU4xN6VZ42>kVp_nn$?R^k3n z*p9|?%!enP7vC{cdy2dR&|yxeXZ7-DPS?YAtuZAZU8fgr@VSEpDA^!mwavYLgWqD$ z_%!zFB37yPc()(bIauXiaRySf%d78g>Ki5U5^9^fZy|s0cKLJQ7c%@ohQH6SY((tB zM)*5mKb~X8&csMk+soh?j5P)pFitT%YW}l+o&Yg?67@|^}Dd8^xx|1 zn#jn(T<^F3yVfT=jhR2I|2FHrkKWT6mJcj}slVT=@{8}0io;*_ug<+^KV2vWb06uor$cIuS7Uf+12Ff9CfrgPauEe`@fLUFaHKVn7W?lf-$Q3 zROb_Osst;k{S~VApTeOx%=#88s(t3T34fa5FN~?`f7nyqPBlG8t`xlRGv@v`_)Tj2 zDzm43=B6j$7rJL2S@~HzpyGW4Z!%*&2Qi0ntpCmREJ?Y}A(k`m2lR&-Ydze{cr_nC zq_23yu}aTD=-KGQ%=?f1B<`u*!PDQ59Yfj36)S&FGyhlet}u@MqUN4_idc+xdEw{E zRj!~!`BN^hQT}d|t?)PE^&{nqRPO_;c=fT(=C}l}-MoJAmNM2_s}wqMuX=UL)wk=J z*NV=L#`5hTW34wz5u=F7rz=(KMf^_W81o0($KXf1V~l8DrFflh{zMsHYjyNN#307Z zE#^-G{|RH=uY1c_W9DmP`LCq;p?MHC<9^uWPqd^x{c6NUzVtt+itm(}FMp&rv-wlQ zUp&L>8>{|*80&oH0Au-hMuz2M^h@{{WBgk4+OgFz)|h)K!yg-e(N6yyT(u#_rPfy2 z54(EjtsZ^RaZ|_fxb7bJM`pDCtZI{S>@^if*=p{?q3{&H@Ogdf4O07!b-!h#apqe~ z9liWn(KFzv1?_xv{5g(^QwR5+yE+HeBK!mQFtn$rgD->MS6$3NyTQ5?6?bHI9y6|! z|2lYH{3^lkfj>ny_$bXye)`dU`o>=4aK?6-;@N+Gl{tR_WA$0=O%jW8o$I{6QRPz| z$8w)0#8$Me-M9{a9^($M=HooFk8%BuBw=0rs8TI`2S?rdEv#(Dd|VP+q_%}KAC(io zDT*;a)VxK_Ba~_V3f^#+FYa>9=UZ@%7uO2gz4`@mriYZ-2)872tOnM_r1k?*D|(aj)hp^HxTu-yuEU ze_ECDk~-JljD7?+z)E3PxO(ht-1|>M;3_G`asMfJ%(;}f>=3E88vMWgfgfvTe*C=$ zKVp9{D6Hb<8sqUJc;oY9E%Px^TP4Fo!HeM^sV#o%8*Pi2#`+V_Aq_QunC(Q&V!aBz zP0d>$-o6<=CBv#X^y9b_`q!DaG5XJB_~Q(>99sFVI{s!X{-POP*I4(Jh8yd?(!N># ziCO+7#80%hA%VCwD&F3PM^6cf8aHnzkPS{v1 z!%@Fva5b;=o4Z&?)(_k0?rOXW{L=Uio|RNmoV5ln(cUYq$)mXzDz8p4Z-m>c^+juT z9M7+G`JR+Fz_dM`i^RPOsAHc~t%HZNcT_zkADu_2j!r(CUX_mT=~~JISGJ_z>ycfw zU0D5gk9~dd4EA;4lFPbRf-gm#&udw|@h)YulYQ0I&PVUI5U%ry*p%Q;(B;_Lau!%N z^-dQhykuj9mbhDP;%1L<~CirU`h5UX*{ zccxj6lM1xDE~(=3*UhUo{!0C%wu7vPt#S0k+n=&YM^?NNJiW1W<^oe!`rYFK;DZ!6 z(&FGHk##;T*f;`i1N@&AdncR%%y;N%zW^)_hvQVckH7^UNq!xB_?G%`HSkg9t^<}{ zJ=lcfFureSzV5Ma2R_n#{pP$2+a>usT~z&^xeKhdU;Zk^_$tA%?`VK`#E#ytBB%BD zTT-86@4MD2rXAqD;V4oixCBoRZh-adqkc22o;#L&L`yqgb zc?Tb-+Og*Gy|((sk*c)I3# zEBATyyRF5D)dlE%W!^dFv7Jio2;Myt*3wYhV@;lq$L_VW^ZReqFNVa(TGZRfnK zJ~g=6&cugTakv29Y{moT7PDIC^vrz3F0OH`Y~F>o4P^oyQ{%Z#&CPF!(Ux_F2MxG? zMV_&wjT>3-;wGQs8pdx=ReiXfd6&Z5%XsjXR6tTci5IV8)e(-Pw}EZPj&f~ zS>4jp7*zx`KKWN%Zr;@ykL>@!yUo07n|KkcXv<^fT@UXi<3*;VpEKO|h^h~iKVycM z&hV-k-YmnrXIOqJKH5)h&c!WReTsdV`sPsc?!=GNGo7n5e7A8tlObFB4MwynV*Rjr z_qy#=m)^S{V?O3ajQ!`#zYl(waXt^^ceC!7<~`^-^i%lqyLk`8oAAggjw@qt z2IE)P;yr#Dt{ZEB7ZdH>+~rSYK4{EDdHArMdC$N*(0HS!YY(Aw4COj+ zJk7l4Gu!gvb;je8G~-Ij&*l4V=Di5-G2{F`pmZX3x+gwrBi0)8Ude3B@AwUj)_@6F zD?T>wHF!T5N8c+JvK{M1aa0xCH{cF5*4}7lW3^pL{iJnmPtVJEW_5A%y3CXPoHxYf z?^3?5v3%LqcuRtISeAcchNE7|h;!Vhzu3HwGyl|*X5KC4eG2ap@Bo&BIy~(!KDVy^ zW|;myVoCmU%q!Vx@OgiiY7OcFw_eJAReT!wCU!WKrgQe`cc|XM-$A~f?@)h~V4X|u z!5ZEGJ23*QeVjOLe8yl0JhBe{f%@@Hso$pUwS@7b*Uy#D>2mCVqpSDzvG;5FD{G4Q zT#D&6sq-fX_jmpjblH^T&qe*(Tg+q*%SSQ4^XuScoZkUn-grCkVB=lEtAk(1zkR@K zfp^-PeF)g8_HW{{F8MSt{p~OPE#@?;An0!~3%B#pF|2og;szcLpE1=UychUo$LXNJ z-EpgZ<$i)%`(hjZuTt$x=WCr(Oyjzc`d0mUB(}7dJOfE;`_6ogW$~{dU+ZA(HLo`B z2lFTzhc~{x=@9JPZ@r(;d&ziZ)kq2(;al8O?U;dMDg3bciS>SIsyp;zTnGOP_}{|) z#(KY5kHhmgv55LYFWRd8vV8A#Ock4=l(&3$A8M^1Ik?K3sN(dmmDP9ZXc3IxT>;Z` zBDz0P2Wu~;_?CR8L|5x#C!ZM^h;vchC~!OZz?N0Ou}=V|bis465~+gZeBuF+RjW_ zed_b5FZ?^fyjkFNW*Djxmg(QJ8jmqv$g0gjo|0lOyGs4bB=leF?8YirhVJpI{8ra7 zm&-Mtlppa8zaBPk9?D(@&#dJIV;_JyCZse5yclb2JKuf*4@B1a^gFKNbbu!Ti&KJU zaDFFvPU8l6DRa8OYdBwZZEf5R-W~ih2cSB*3=Ynp5FGG1#&z%|#vS0Bj7#un@Lw56 zo#4lvuPDE6+zuXNTnGOIp1&-L4sgHY-FEb+G;RmaW?Tm^V%z~<$+!fsW84WIZrlLx zYup7s5}e+F!=iTv_)FqZ2VVxBgmyQ;x0%xge$t$F2I;%zbb@~ZFM!VtuoK=_*Kssf zP>nQBzV;dYPDt}!}%rn93d<94A zM*owzwuqbosaPz5RQ?d;p~%gUhapEGPe2}t{1thg%Wp*9%l9Xde@DKBqG3254QQ+39^| z!V~d1!W{L%F~;rSQ;cT^ckNy2&Idl%`HO+y+p`*fb+De*QS3Uv7sDY|Ep6aiz>2lf zUB;?+U~m2oA^djm{p1VR!HsZkV?sZC4R~NX= z_)GBQ;Me+!Kz-m8T4S1GG?R6Z{Z2TF?V3g9$W z$e-$x?zXJz{5tt-gEfvj_-t&v9e7J{jOp#bT>fu44d3fkAi*8hD$k+a&3%rSONe^rdPUD0D z^$)P(RtN86ycYNfb2`8$8kgX+z(cXw33f_-x*BSSA2>y9`v z&fCE;&gie3xD)(ca5L$C&pDf`onkZp0mA9;~nvEJIL4A5WfM|m=W#* zYb+%@@HEDR+hreJ;W~Iq@H!=Sz%x2u{WzDgJYB@N9lV@z9lW}62Y7ws61=r>CwLd* z26#X4y42MLF2QRGH}$XlQmoQAMv`Dx?N+{*qXHMxT-GxX5m)`4to6&Pzodidv_BH= zU+VvAKa@+^bgHda1}tiWGrW3+SIh9)8CG99C4c+!MYb1?TxR8va_pCJIE#+WE^4cE zb80Jf)0yxqN-k}#2-;s z`Q2u!zSz_GnVs5Rea<#`q-g491<{*^I9T z&u!cQFJSyESn)p+-@3pH9aNoPH>F+rf3)>;Ml2 zA6i!DC2vhx+1VA|Q1TBWzXY!bPW=nkdCW-i6qu0Zr7J8rSVXf-Qz#cmoFM4iInjpzt!ZRM7~{8X;KwWc1}}Hl~Vp8 z<^QO+b`W_^HI=I^q%_`61atkQWfSEPpV@~CaBkPXS6UD2;MdmfKCd_zep)}t*FBfC zeu77lFWmfAF23k3-+l>FZH!B=I7nt`OMjgPO$Fr=w1x&OWT3PwP5+9biZ*4eifWzf}szL z)s`dp-RB7q)Rr&FKMAb1IHkTg5PRyQnfd$4EXyl&ho-L)$FZBwcvMC%R9t44il`#unDQprnu_JvDDV+|_NljkpSq`cFyco$8ZzJ~xm*DF@xz!Ev5i2gmtq2iR$xz8u)p zmzR}QUovbWjl+L7a#`UnEysSTN$+-iAf-9~D0l{Z?j++mu&$pf>F>&`9qoKxAz!%8 z=RM;N@H87SFOemmFUS{e@cEB9MKAj7Y@ersr#7yGXEW{qA6{#z?0^?@egizjxC^|# zvF6Ee<96^KVAWd(A8cHLbst(jH^5rEg}acOOx`!~H9(HGojUkb^2O-@pW^%ye6evS z_y*$!SjXdJ6I|}!lCTEr-R87|9|tR*b?}SE9pJaYDQ@7;&2NBp+)6gVKakJxO4qms zoKyW)X?i40DC$V6Ew)5LEsjMp?uwg`eUZ;130d*BzkiNYkN<{b*=Xqm$KUS&j(u*f z4jyoB_uo(&vSqD$&JJUv8_ZM6OYi}kwN$?^! zJ5DVHp;^z>l;flNgFM~o(Wm!6Tf3ICcAhI819G!(!p)vhZ87B%slYBywf?KG8AiMk}s zb2YC+U#gVymj)}JHWXXq52Bapw)ai6%O3^LVf-81 z1&w9<_fhG3d<$^wb9%tB?{KSwwN?#5mVA~)SGd7P>sj)KidQ0ExE;JE_^GlQGn*SX z$p43R>jY*`Fx`^Y`_CTje%_-bKg|hj&3APz{T{mxcB;v)l42{K?gc+xcKdrI`lPmJ z$Wx+@)CXsfe=|kPanntD=kQ(3>&<_zWc@LY-`cS*q&njH#Ta86TZ7Pj8vbJ#c?l_- z?^ypuY<*>%e&2I`wJ+BAUFbRPCkz0Pe%i5D`rB>7t>(0Yn>i2oz%m6KQvZLI65ZoZ zcms;&%*vO~@J1QlCBw&pwJy|UYyGMXvUL{u^C9beI>8SPsrr5txT~!C{wDA{U=6wk z_+4-v{51GIa0z}5{61KH?^Jt@?}1;>@EaL^GsACzKf{j33Wtrc_u7GD|CU`HtmjSs ziY)m!)jlc%7OfF;a%yjP=ht4z@T(af(~Vnm{=c*Qod1FIHQwZhlAZ@v(%;Qf(im~7 zeOU%n(^y;iu5!k8q?CU@vCs20?nQ{Pcr!<@&q~G;F(S2n3sw?OVTvUa{}cW`@IHrgu=%|h6Q^ammm4oMe^syAq1dX;ivR5{?}MIFv@^<| zc6mR_KQtamOujc(`+NVhif{a`FKpS^ZPpX5!>kB z`QUwp{pi1uD^}xXQS#Nl%iGRG*jd+D?|U0=9DOT)6qARx=l%edeSChA=Km6GU^K4x zHGi@{@&8zOs`pIur+|N{ag4p5+I|B(#pF)&r*>T|yUDj`bF_8em(wx4h!{U?y=knc zxgg(T9LBhM$-L<@p5}Bj?{o8}&v=Sa^PK6|S@r!48E-4H;=QWDpU%9Q;LUHW-|a4M ztg*9hhM&4JU4v|Sl{&W}e=ge}yANfKjUa!@UaZ031Htm71fL9Efo* zfm}`gWt7wO;^4pYw@76lTQ`tDG5jCFib?#f&oQ&I=O<5`#rI>cPGwr-$NEOVN25F6 zA#f;r+_)UTeNeDebwfk@R{2>6zeoQ3@H@btgAX_uf52aX)h?|#-#fn!?sZ|6-vAE) zV~UHe>>-Uy@busXc6weCoApKN11aIfFT>Xx_DZe%^T&G%oOkB7-zct1eyqatWKaGp( zOR^uwCiUUh_(n?aTNJ>Tbc~4cq~Dp(MSjag6>kaK6;Jt7kgwQ3uyQT&rZ#UW^LjPe zTh!&tP`;XRe*BRSaeUJIiZ%b^x9*#mzg%Wp=Q!%~rQq%B@)cYzAM^6#C|{JaGt65F zJjz%;+>>F1Id$Wm4VAC2m<+|1SyUn(})A}3h{TTCCN4L1Rily+R z8J@*h$IB%$yhet%FjoBbGG1BElH`MAoc|n3`6BQlK8Kq>Og@l$;z!?~WB&T^uQrbU z58dF#IEmjTK4AVvt}Dh>jF+RAOYto}G;fn8pPKEqTvE-=fk;x@W*J}OF!<4S{qFvA z@@F)^1O5WWirq@a(Vkw8UG(*aF5fz^k^%uCb~Al`j9KciJ!1!RiY|qU19% zd>x+}e5MDVP5r8H7VzKj;bXq8&wNx{m15u24xSgz`S9!D*q4>yg~(U6b^cotto>Ta zXL+#x?s}c}Yi^{y3|R9)@o0dx&TFh|1P*~OTnBG4N^){WV3u zlYfrvfG4`5(ybGhX}}lBCU`FJ#o$ixQefF^fQOndn;U~i$qsm1aEco~?{3@yJ`Ail zl;D%VY25*z?|ilKa^nL3uQhH5-wRGQ!B2zJ-V^*bcnRt(h}mag#X*bYkKilh54iW0 z{faBWC3qk>#fp9O-@uAz13VX4_T}JWVC~J@!K*mG1H7Se3EtM6PVlbI?*boYtc&)i z7`KBjG_HfMG4232z~{<0@MB=AEgD?&cdDI7Szz^3VClRLA8N})jJ=-DV?KbB<{*ZT zJKA%NzWaiFwYMGoyKx4r!rSmUrA9P_9Sj`gGjZ^i-Q5;*0g zjBWVBsnG~ht&{I}l24e@dC5ayrRR{nkZ&S!zxWJ^Tg4BROx#{qSKNt^;?9B;cR^%- zV*f0-r*oNQ;JjKwKw+i8RIqkn9MYPUIE;NgBb~0>F|PMrqr!EtlUz&jQe2h233gCx z;S{aV`*qi>TrIXG|8m;gz~P8f9UrvzNLT%^Bb*i6h*`2qrjN^-8{(*qPKgo6dfFVR zb{Sl!#0g!7aYS=&+!4+krqjl`wmW~A&ti1`O1vv^yQzF%_>GrEt^TerkNruz0s4A$XHKW3*9dZ8GJq?qaMeJF$ zW;dvl)E3v&X_vB7>}Bs+m*4CW0%)68CGa5IaH#YAT1`n_H)AN{rH@Zt3>;241QJ==qb(F74 zc`x#Znb#n17h|Sjv5&F#U?*qz@(hp8@N*gdG{ePpRl8+p@(jX;7VbPQ{}{ZivBu@v#yZE}Im1U~_?!%1nc)XA{Eo4%3H+Afscx+N zRsNzGUfWppZk6GEjW4GiM;dExpJS}^)*CWRQ?)3hxfn5uIsFtoopZlp{(sO_in$cL z=+80c{R;1QW1S;RaZ}ZXIA7>RecH>0{+urFb?CVE!=JFfgn7N;4Kvm_*v44x9FgT8 zli~9-e2uZrOO@0fwKM7qzwR^dFVy#(vCi+ijH5lx@e6;$&bQ`I*wj9)eHvR@`y~75 z1}JOs#PFstZeIJEeVhee^4vzq4y%qV|SH{{o+`OsK-``m8;XKJ$ zwk|M^HC64_F}C?yN!*LL%KYiDd1r>zNco|88|`_Ta(#crymoZP80&nmc1sl-oqtYj ztn+N8UT#y^YIpf8*id3`F-~0zQLdOZ#~|+MEM@)K(EodeH#fe7dUr9_7&tt`XMu@J z3!mc78LRg^$cOukb^O0^^Iqxrul>cv@QH;k0TkDQ=eEy!7EG~Kx{-X!)BV-0r(-QL z=K=Dyk7(!f3^?tHz`9oT+&1iqz^{mFRXn1UQ4*n=adcmB-{c1 z)SMFhb!DgM1b=Tl3j81A>%qNlt@bmwgX8&*26zDZ^g#>N6n|sPhY!<`A3n^@1~hz_ z)%hLp=Q1wAi-6f0w+OEaRxFj)1TzMb|LYr z9|g}apn6x^v*44Q|0-C|VIk6BKGXU28s~oC`RSt$u&xDY52!(*_6qYez~V;m4%4vT z0pAT)-*ti?F>Zigs&IPtLv~VK@IE15xX$N0;}YEKwkp2?o*1k>rHJZN;fcW0JHH(~ zyYYPBw~zLo8azMw@}~p5q;Uye-nbLIIv9~+wIO&AxWLB_a} zjc4#6F#fkp3rF*AF`c}UH1CAl!J2o%b+G&q?f`4v376pimwC77p(#FSr_}l^Yr!)3 z(}F*mGym-Oe62r>nUu8tjG-^v`KI+pxDM9(BisSj`XgL| zwf+cqg0=n#H^8y}bb(|2`4}AQ&zIm>e|`k3?b21lV*P0c$NEzT$NJL+j`inbaI8OH zg0=pry(KZw`Xk&4zMb|Gx0Z#dLUuHEl(hb+-gdCoAK^M!>yK~;IM$yM9P7_X;8=e; z!Lj~a57zpldK+M^Kf+yLtv|vAero*@ZU<}q5w3%^{-izvYyDAv34Q_pwf?lDuJtF` z0c-t9cEDPHk{$3Ltv_m42`AQ{&TRd;2=8M3xfmSl&n4OVa~b)u{xq-?>rWT>GyG&M zrQ>_^`V(>1`V)R?{fRhh{ZW329j!l_N1b3Lx-8B2zIRmXlJYbM(;B5ORjMs^XuzUY z&+x(-UL?cwWq9cfFOcD7GQ41hm(B1(8D1*G^JaMQ439au+s`Gs^V1w(j_;b|tTmBZ z*Cwxxwv*C(MW;2smw7WE7{!)$3Y-5n=LYDNfwytd7H-WcVhW9Ym-+?*SSnu{# zLN)m@>-t>3#woQ^fAdo|oXZShe=6C1S`}Hn1p|Ve1J|e4M`SD)z8-`YK{1)B?`1iB6>70 z^5-HSTrA}BgKWD-`Kw%?j`DRmh<^ZYY4ggAC;!w=wR;uH)y|>j9cms$>3vZVj}0i7 z-e%@+W&X&_u3X(@nqFxf?n1fj?`7T*8BhBLy%SKs3DPmB54?lTJIXw@SM^H~&P}p%{$M*Lauv3+A5;|I-ZD zMpylqw?*}<&7UDBclqf}ZBe=WiN9qrt9fUdr3Q&^ZW98`CjLziXVUUDmtL^XlLe;Ph*&)=rg?YMu56+iV>D_Uc*~Z7qaZPS$wU@aE&gJB{ zLwp#ldOL{WQ^qCODfy;yeYC%I8YjO-oL)p%_pMIi;NE3B;*K$H2Y+W=2lu<%^@1lc zF2V2d3}-8CZGfkDz9#M*#_eFmLGN>`gBK)UF)P8#8FzwL15eBGzX4v)`HdN9r*Ri} zd*fn8jtSs%u~P@{?fep4g0CP}o!}2Rc3hcoOR>hktKUa-wDc*CfwM1bNC`d-eDaRq znfnwM1fGjPS1HAfbD-qYYk@DpfDF3Yvf_HhmZ<-?w@E|yd zH1^cLs;f@@dQX{f2RQ!La0#9#`~fcne*DmCOfF@tj$O%|I(VpY2Y5Z>61>(2)!)JG z1aIQ}26#*3F7N>AcoO>>B*V#n3S0*tKa4%KFrBj#`OgT?0k2B6C!|xQ)`z=sEyGx^ z#&4QyDF8`foc#8teCdm?LAg8i*3`e3R(<`L>lsPD*8KV$W0h-~Yf8lPzgoji#m4y7 zuye^LwLOo$i@?l@mc_`3HBg1x3%;cK!F`d!CHPYK!VU2Gw^qj=b-d>8g5;^KdbhrC z9eh1};SO-Dp(WURyYK#MRQNylVCkpFgy4qFfB+vhi~G)LB4eB z;7`HxAxl0ROkAyn4e)o)FYqDOdimMPBzskD%zS&9??t2gTDjKR)Nf?>BR{nl+-6({ zPi)))p2D~UJJnv4%_`Maa69>0dnL<%&6t>^epVm-i#)xj@pa@w4|CrZrD?EFYJ1Ck ziYHL}XC?m)@^-krck*$Nd0pnwM1?x_z3eXP@^`_@W>}nB6E}QV)4UICQ#{2c>V9t0 zzNs%ZH}9h+UUQpvFz*xdXxTVpd@ssnKgMYE-N7$c$MFLxS4?7z9cp`@*`Av6?{2I^ ze5Bf!S$@2OL;SC^e7z6DDa~yiKje>&Cr+*3m><6DcQ$(8z#sXp@@C(Uw(s9z??f;a zrsrMGtn!Nsks7AgAZy4wkob`}4Rang=S6cqLCW#(kt}^h|NE+A zsVi3b>F=bzI&-h$XSZ!N@-?sOeAYHD!LP%Kbzvjt%gHT+FNdpC`;Tq$wN>MFM>wSP zUqvZuzjSkIKN&|{<&V}i)jz&5AzxI!JLUP9*srRm?RV@QY`h8;9#h##@jIi+FD^jJ zcnhhq@&QtNjWI}#y&sTi65ika z9t7-8aBe&IAh%(0gQIKRLy+2|rkJx?xCkSy=#biaAI7x?Fn*rk#f+1R|lWOkIl z6Zw6~+r{M*WaX+S%8zvUgjqc*k9vZ4k$DrFrx=cpcMH7FDY)123F}Ro)gS&%M;zX9 z`Q%x-?5bXs|K##1|G+=-CVQajtEvCMKk=IVo6UODSg-eZ+9kcE;mPln&7Thbynjuj zp#R$%m{qD}7*kx|r%ZYp!%iu`9sQ>Kn(~y?*V2po@|#lUFLSb|a@{j$JdNAEU9NZR z$>#p%&6@FKx0!dmd9$0RF`Dzva`_yY9oavKljqLGyZyV+yty)->;zAKsduh1Zyxh{ zQ=jaGU;6uI?`+jQAMZ7PzRYgk-X|&7y7QuW3uL_9Zp85&^A<8s?Nywk{x4jK*7<>xk54426;X40A<8F5#x-0TkxZvqs<#^ zp4N%HFCvCfpY+s+XIgJalYh(7R*n78)9^D67FhW;%XhN^Wt`4DlAx*vw8 zx}PwAjV7OiuR7J!s#7xReA9Ysp*O}@$GQJhcwnprZ4ae!GEjaiOf7Qd-Nl9Z|_dw!a$U4^B z2pdW&mptfOj?eHmcljn+xop-4RQFQ0cll0WPJ5SJWI6O zW?b9l`=RjEmnWFNr};6L!=H$0^jY{9^<8BBy{#YPFZ6rTyUlw0T2FCSoI>x1pK8g! z2h7{wJSb@lKI{AgGkvuu+8On}ZQj96yqOs*d0f6X?-28%-!|L0ng=b9RO8~Xrt&9o zd|T@MtIH41$~D%bJqx(}$gEuJf9Nmc@}pg@c&wV0zkEA;ZtSgN-m#gToVS(BkI(F2 zW^6s5)T{mJ2=h*aSAwZ8-Is{>B}pghEcK;IwUcd^ueH;Rd%N#Mk&jAeYC}y@8be;I+e54Ubydoq+Wa%&-(b8lg%26;x&63yq8~n8 zi8X?C`{bfrCpEt_t3%#R zx&`MX#7XByhpfx<)8<`dUT?>B0rF2@t$S=Q!uPrU!a8dHCFaNa8~k-$ei`N4W_a%m zACcj+GA#cT3rXF78^%Y^S{=`tG|IfIv3p~N#f|xY{TscDk?iY^pbMbxC z&T7qJI7F)5;`$UzmEW@h$IxZCzUz8!cR2>qdKKkgEnFRE;-xl`+U}uz4s*2^T)}vIJ1>6}kFekD&-&)ykDVPdEaPkgC!pT3x(8GK zIp1IUtd{l;$MId|XCURxd6pL=No@~d^M2#rlPas4@5g5GTYL!b2;~^A>)Xz`MX6M{}=U%A|&H7V3UitjwALx&- z-srCdtpD^M=&SzbdP9Gx^`Fh!osWy?x7q*NyEun<{R6)2jj-PH*6U5X$EUaTyDe#6 z9BKZGSv}($AI!9NGOzI})Uj-Z2gckdE3JKs@2ZpaDURR<(h3BE z>Wg)(_kruzeAVxEF!8maa}liwGw$o1YCyN{ihbJI@8&b=x-Z9kijjS0jH{$Z5=NZIk`{bHW_Fz21` z^4};QmEpTH{8EPHXm9tyMiJ&=%zbXIO<$Wmc z{Zuu+uNzu%Wn1HR=2ffnh&e3ddSsjV{cT(PLGV}PxGwqJpz3*|c&=@7^IJ1t7-Ge9 z1gr%)oy*&@a@mRJm}YkQz@~EPi#MOkCvv&^LHU>2{@J6edKNKn67!;+;%WaYo@DsF zjQNvgeEHo|J6AG)ip-Dk#c`;4Q)PC?$J29Cs&51H|C-rV`- z8@nzw$7etD+ME1p=0$uCF@MG;zoK6sIJx>w!O`Z;4DX~2%a<5Cp%b=4_bl^g%j%dJ zy=H!=d4qc39eHmx21c1TXAiu#zSVX9>&%-w<0ax>F1905fkv^Aw*U@N_LkGU5_@;up1r)o&OEJq%GWVXax#~%K>1u5cS$g&((z$%m0xUt)bU{lB&tP;q(6$2kuAsz zk?b9d8<6aOi^q|w{VgO*Z1F8}0J85h)xDr8ksLOPLC7}b5=b>-C~_cjbEL+^uE>dy zB~s6woQBkMCzm6&HNFc;ed(EU9pmEML;GT3)vaglgk|Ru_`*EyP&^0LGb-(T?t7`0 zu;T92s=uicc(7y0_u7zdtPrI3%2z@ksW!Bm)B5)jkzLf*%<|WEK1TZJ*_Xd@ziK-< zOnSS~w+Ov=!NILci`KQe?bQCB;qa5@_mL@$QN>MZ-n%$Qu3-9K^GSVr_#4%+?M>pL z`K)-U@80D*sco3;i_hb}J@UUYfBlTFx_h$!yZIZMk1y$1E1&f|<-ljF`Zsnt+38rO zpk-ibX|Yu zqxy4?0bDDx-oZWisJ5v;HsCpajl&yzE5i2;Tdo7@z|Zlyd%xix}XYnTC6$-&FS)^o5~j?A8xUP%a5geNDtg~ z&E3f5Cp6jGZPH%J)>bY*si}M?>+j+6Qz$>kcojKIiuLR`@;~SM87@EFw#cfT)s0*C z(1VgyqDS~$4Br*!cjjN(#9zCssxSBxK40;tLXz4p zZ{ml4^HVNA7PVa3{42~yx3(|kN-?$$>fmpxk+-h7SHs;l!{VwPlEFO!|FoYw7^(K` zY5sNS9^9lGVS#GJ(Zd(3ai{MEWBebRO~-s`#i0oOr$(s3oqw{-bKl<%G4V>A5E4Bu>=+mlavKD!n9u*;vw z>QlbT#e2r(Pq|z%(mwN5^7X9qJ4k*11UUhl)^E&z27b$nvQV^*Tn?oSE0cY78h6^4 zsjsz8Yo8j&q`$(Sl7)LF^M{)EI=uBWyj6xVr*WJ1 zW73yj|8V)+nSHHwaeXK52kmFxJMfM-UK!r`VEQWk4OE>g#yY8MJ;LpL<~FW_ooes9 zKKY}5)w8i5kaxLle+a(Acr+v>jS0!%%18C7&IJ{#hs^)PwiPS!n|ZI9_gUtHcps53 zU%qhp=am0qthNq#2`A}m;i)P-FxsI4wMB9^%H+?S=6~&a$f~Wntr#iMoN8`}dsxb< zZ0P%>+tt#!(Gs@ty=^E4Du0S=V|wQI*0?w?A8H?mS#FNh_#Teb z_}v|;>ks=NNo_yd9#tlLEz6~SUU4ktEfCH?%CBa-ihW*h*uBVhf63aV`s25lvG?2d zsao1U-(dc4f5OK^N~6s$4zIoww{%YaaFt)Yh}5up2gx`|iFSWuvWkx9zcd;^`T5@$@?e$q8SsV%Vn#{tT4o{8`NJXTHX<%JrO-?1$Y& z%^Lu33?q^EK9Ia1>)uWN+)1I-^BEAxA*=Sb^Kl8YL>%%48v=k}ZZTGad*GQRAq zPqj`)pT5L**;&KbKQ*%kS zV=kRw{n_n<^ffP|-(s(&{!_mCPf_1x&uXuBq4noLf3$JT%jn0Qcy2?!JVklT=iGDm%Y7SS{l%;wv0IOP^;=JRn_6!P^!`!d z{!812)~y?Ta+O*xzXtOx1Ovk#C&;9U)8+^_g*{`U}HwN4jw%-81Xxs(vG9G*I z;MksYP$SiraodEK%J6c=m`JgSc72RJQrpT|xsJc`WqI*qYRr3i!8lz!vi@o`qWtrZj@bRgb)_SXFeki8l=lm{T!{yP(2T^}+Zwd3( z%KXJl+CR(R><^ViPm&G{RGl{eSBy?N_3)f@iDek6|Vdz-(3 z`F)6!+S?r0@HgW741TYO&SBQy$oh(h{EGUbUrsY`lZ=_}>(+PoM1Q@BVto(3{yf+N(Mhzc1eCo$AtWrSteLWd8A)kMe0H^7Z?(VUM*G zJ239!n(=DppV-6?Ug!mX6Z20tzmMaq=T3A^rfUq6&DTUUCUs3@N9&(zeZ^YyN5@d@ z9b(>%Fz@utukrC>z8+%!neb1{@I{%O8!}9lX+N*^>LK!v$B}0&HILR|p?TH(^Xvol zPas~Df9&!L##1idk1p?Yx!S7rOTW)hjN*QC+Z)w5xhUf)M=_V2f^zBo&Ady@(|A(3 z{-(pX8?sl-&Wm%sxvY2DALwcPHP^Se^+ut$dWNBf*3K5iVBJ=Dk>|Atsp^BQ85R`fH{lV)mBki1Ew{nam_iWT|=95&KY&hx`JuV zzW;accj%%QSbXoDA5DE-^_^3vPK8@H^qpc&*0_|9&;PZ3-WP9L?>5(2uUF5Hm}tyZo-CEop4(`?%fPDlIktb0++>Z@Zd*5B!A_EFeZNun9oQr`g^4HADThEaqYdn-fgV+$PDV8 zkzUlhxAh-O>P`D*Msr}i^`1cQyaa!JL~)&y<#_7fpaz!OEmMrO7Vv+#UT`s>43@-P z`D(#-rT#}0?{-q`Zn52G>|2bh;63K@=Mvwg7v(qMi~8u6Yl>&0--NI4A6f4O>#6=! zZxaHb??0ILQo>9;&-?IImG#$R`s^_n7{`>I97!SqX?nT@4>y3vO`K5`Z>LW|jhc*8QLB6ld`=%)v z-hb*@4#k{UhBSRr({0k@|fB`dGQcz~yMp%35XyX;(GKR>sP(9^y~JY6eN zDmyxk#ref`*88$nckZ{gjj}tKkA%#8jOhLXwx>Q1qvz7z~wfM3$P#CqLk zp`L6g=alBp{s-!j-u>2_V;1UZ2mfXB=lTQnNbeo%&GQHJG`FW%uje1oQ$ICMD(2t( z=*oSr#z(!A4}6h_KWYRbKK{<=J`l{DWs{T z#>p10;hevq`D+E6OOA`xIN1_4+$8Qwv*;&NVj4e}tl7!y)pz-s91olN)Hqr18lJ{a z=~$Zj!WlG+{^)p92~FDgr#k!kF54{$r(cbeEnCCW_`|vq(zF7cVYBE@PqZqbi9ajW z+1GdZ!==-Zrj=`)Y^55W#-9$s#^x$;M%ka4jXjMk^+Ri-yK0?%eXsAYK{ZacS`AO* zPjg~(4LF<6qCfncc^ZEP*V)&1`QyiYR7=xZHBL69hNtmI&mLQvhQrxz7X48@t)WR> zYuDM=clo0@Tbf4JIN3TiJdHnG8VG4xAI@&G=#QRjZVgTR*`Ut8zRMrYLrc>}HBPo+ z4Nv2b>;``mIOAr~A64C|HJrm{(I3UN zH8k;OOr3pwmp}O`UGSQ=t#Pu}8lJ|Vmc-@`aK_^gl0R?ZqMSebh-u?bW`15C_jclb zr}kCa9-nDDJ7e?j3BDo0vR`jUdt#j@gq^$1-yJ)TC-~I_%MQ~k_eak*X>5mIADXu} z`jV8VH6nOZ%-c8N(d5$m#})1Qs9ePMSM$cf>-1g`t2b7Lh=lFXsgketbT0D_v~A*( zU(boU7jyZ+lrNp&{s~U)tBo3;p}(4We?fn!vD!PzSZ&%Ou{AcqsogtAb5Do`F6{1Y z-qGkw)K`j0@D8I~W3JzrB1RSSk4gBsUfnZ)>RX-X9B=+{@Xt%|wP0eDzsF4Xgif$M z*+TO1C_hwp2jvu!omAsBsoats?|k)7`2W^0uD^4xz-v)T_qy(r6P|R{PVpihFPV30 z9d8cqi>Gn>$h_0di?{`^K5pNbe+K;DjF;M&weJ05dx%|qJ#rm+4%de+=tptxw@OH+#b8y`UjQRY!#b1m3 z(q*LBEj>X>40C~#@3-|^sMq!^^7K5Id@A!fn%D`q@{zQM-$FVW8~>UP|3~tJpZ%+- zuL8fTaTUA(nELa1*dKhW+q@?DHn8{`faROk($u&8$=5nw<`ceEz?SST+v0oEllBjs z-CoPj?yljcrxVT{&d0aBpDS&?UvLzE(*`3)P&d+iuX*%&&bxOo>p6BlrmvK)4gX!z z53P5p^{R<|8Is=qRHk>qya>N)-UIO7GS)j8B*Y@GOTXp)d^&Y}YyQKoLwxxh{HSA# zA;tBwP9GL+d9=7u-qJ18lWz2gr;i zKfZ>&tzG^s<>L~p7%1M;vl(p)Urw~%3$8=4n3>*1=D%cq^lQEE>enx6Q}pZ2)_WzX zM}F#g9NiD@O5ZB&?DT%~Uo$`2z9DO`cu%?f4a(n6@JG|p(_UoWWr{t?cP@Viz2A&S zw?IJDc5(N9i2Hz~y04<&Z0Q=Jj+GrhD#pQk_Nh=Q&NnrW^94gGbLfK^alBboU7D|| zOR28U#qVBJR~Ogy5q9QI@WKgRy1<=2uho@(Va(c--?PM2{@j^TVwg*$d27hg*k1)( zTCY_1LQC-cgGs%3h-e^rWj=%9sGU_l9iD4f`b>4fi|gQJ@J4Vt*v@uf=}OK!xuGja=CfDc|Xj6ccyuln)j1=@>Ow-XaDM- z*}U2OUlO}3!VmxChw6X8yx$VLWKZSk{Tbg<7X9^_`K9B;%5CKLe#7o$muHm!o?vk! zzQK+05VpH~T*R!sZ7XJqWsISZcPpN)T-dyh2~TYayKy~!S@SxZS6_d`AozpKpUr&D z2gNw-E_Y(_{`Sjy7w_Z?z3^+K^}8hc@+S z@*Z&iW*qxFwNr5mZhic&Hh(U3?*kL(_IyeYfMWva*_^&Ds(Gqpj~`WFigMb+@E;^E zo_Tq~c6+-0_|bv2zVvF5UwWHV?SG#X8>LT*{7&k5 z@3Bv?UO($W$>Se!ORxDYKLbt+N|vVn=5%n|^*i|m$kX2e*qC!)z4yN(WStu>M!weT z^Z2g64WROK?axY-U02{v8ZVY?74j`jy>|*&YLc!*_3Bup-{I)EsCR+ud%UCi4r~tN zSbFN##rqKMp7n_>yz)4B;(f_LBbK4$_ zy@pRaO0|>T&EEvZMn1phDDq2-kSbpNin7w`q};M9txrlg^1c3+;I-`A4#s6TLl-Un zjz9%0K`*zx4;;zSq_TZFDcxGSlvIP|E>ip`JxNO3N^g>?i64?m^FO3&e#g&>_c8#d z`qGoU>G`5{as_x5krC|YdyEFV2mS8GxM=$D<^e0t2hLNfrlCa-| zopsQa$OqXhga3#9#_kxC#Y zWK(fy;j<0?hCkbZRab@2RVx?I?Nq_hhic$%aE4;11+2ei@}Hw<3-|!?b;{EUJ{CMe zzJWXL#km-`Oi-qS^8dp39jtZ`B1 z6XUT0o{MtjSNZ5~gbB+ry<<4%gQw0p@YmQ^Tid`Rt}JjB9I==L{uvHF=YKai{sxK6 zzRuW)F`Io+=$6UXI;X#DPyw&Qcn^PizzKim2NRD*{Sl+y;P{&z%Nln__kG^Cz5}su z0YAQ?F~K@+d7e#CzDR}S^Gr50&nnI&nI^wPTUN&YT-19C=brJmMnsRlHPQl(zco?@ z&s{Cr)e6>gLao$W0qdMEj~lp*P2nn^!N!xoqm5PX*5IAwGk8bv&cck|J&Y%T_cw0q z$~}7HRvL5+IM=1Ur-AdfbCcqH@Gi2$guDv8E4Yj!w}Q79?$18YxRvXq&wzI$zcLQz z3YjK8)yS=j8(|HZhQDv**70lIQWyVzjB9*goab|A5?JyDDPbx7PRfui_4u-wJByJr zJWBmZHFpM+G7d|lNu{|hspihEMSlKw*R`hZP8%iT$QNz_>-eWWD)Z5?MYxsEQE;@L zRrs7{JOM1hm&PHaF<+FYIk=Z?>N}FhM1OBXV{dgnS{F68NA1OW$v$X1`?CR?q;0`v z8mskn4`H+~pxzz9lfYVo_XM{dl$(|PY+t@xnxt>ZQXF+qmK{*zG^P0(yP>;xf;Cno z)R?ck@^e4(G{!HZU4O?v#p?=Er1_A9uMDlP2a)#y>A|G8n17G?hnY{ar>^VbKjQMk zU5@(H^;+ezUO#7ECE=+&)~Hyo-!t#1gcs|-_}epT)KA};H{Lw?mA0ePzdPz{^RX^x z%;n>?C;1wWi;!wOE<>vExDu%}29at!u0yJ|TtZA6TSzx1kKvz7{hr}?>Z!PlB=7hb zPnt_Qo?@?Y6j=N03HGbo@jSD5R58A{!M?_EnNRE`TEV-LufD7BnU%jKqw)7w`9n}F z*$J+X@40WPM`K-WwKSbn#|i&a&dKJepQWd9b0T@s&j;Zv(tN6U#CjTD9RJil?d>Cu zM_KQ5>uDTEzsr8?Wul%F%|F9@^}l!#!}DBzmdoXDYEOT|K<&HEymR2)3x=2f{rC8L zY--Hwck*rtDrf;e3J16I-`>T24sq69tW;{lMj8AJoJ+tJ@beon|G-u7i{xJcE@A6k z@Kxf27va20e@8{PMA<>(5t97twQz>bo)@{jJCA$ghC6;`-YS;3`<6 z*k5FwwTrBLj0@^FE)vM~n1k2^9L%$KleEy8A;#Xhiw${5VsYCj~+sEbqbh%kzF-!Sii z#8=q~yI;EeA(v~dNqvoa;~loy^i?kE2Z0m#EwJv*KKuapK$7+Go$GlPk?+UZ=F|2?V{BIR-dUXE4my9c{gjOdQTX~-ZREZ*f{?%?iW$l z>*l@Uy6SnlFRkbEzA^7Lc%7$oR5+UFL0_Wyr2Z{Pxoj^*s{A`%SkjQqLJdLPW79WxqV(a*10|HB#7 zJEL*(x%EDtfnLP>c7m^CK=|>C^*&AXR32j@^fo^tE4@YkY0cCztjE_K70%|*t;b%j zi~2XNrN{5%vp?uMAI;x81@KNJ5=hDwA`KVl^df$e8T^7F5)vWis>wr5;@5rdP6YtCz zZF>z9Fpg+E$PdlWiNm<&K)If?);q4gB!73l%fA~4g1$etbMa1JF4>11Zy05I8uK^Trj=O$=%isy@OR-<7 z@QJ_0QUyP1o3itgaSM177}xWCiLTRkcDr|)Sj4-Gt|jZ>GWg?F$8S$h-N$tLqVO#} zAILhH4>jvj!%ZD)IO|r!ObnYxZsl=tHh z`cc0dir@5T58el2r*8}XT-fYkJX97CC|xpiZsEbL--ubfGe!F+jpHE~v@2~v`Qp}_ z*M33mqQ2AL)R>LDm0dm`c(`$I-S9>wkelz9zJLHP-81oh+Z#U!b=Hl9raVP7m zF120bNO}`pz6g4k7)N_lm)g7(*VejHu5&7Vzt_B8 z^A#ug5PYqnPcm2P^**#-@0sX*-1)!t{$stR&};s#=&$A7{_u4{@)dLawo{Ba$6Cbv zWzb#0_%)qOBZ`Oo9zwq2@Qmly2Ilp%pTScfrM&IUTi(2g!!Fkpan*C6DgQwDs_$^? z^+)dvCfhb|E~g8r(YB!ai6uVf##|1 z7r6kf--jPmF0KKIx7VQJZ#}xl*!ci&x$?6Qs$2^Kl&s1@%x(<&08n2tNw_;#TETfh9^IUo4+pnO%hB| zzIG{{k#6|7o%Ke!&gi56rMJ8FHcZ;2ScP8rIL^G$@FpZ!zG=KEt=9?P&NY8i*Aa7L zM*OSI-yHs(3056iCv~6ur6XC-`O(3HF5e37TgF-^KLb-weh>94FnYQCU|iV$lx^|+T3fPisk0npzOfnA~ zGV|+K)y*49@2FCwh5UtBQ>rvl_Y-s92!bWs)&BFnX~!DQb~cW=5O(C3#?j(#|L*2t zK3}VYx4g^uOzg-HwO5ggeg5j^?QI@S&aXp- zVj5qf-S1N_8~d5Rf8v|;6t{PYo9cRx^l0-Agm+e59rba!7~ATLYt1{vwiOrIj`rN+ z^21zCQ8rg+F^V~$^o~b322uX3xks2Abw>H?lq)tLn0I8tOYLY~6z>c3j)wPBfjjNU zak}vbm6kfiSW+MCKz=v!kAeGZhjw{7l1zogNl&}%-9yhUt7dcBQvtMI~J zKieDNbahhM8%8R<^+}QD6Uf^-!Fwk72xHYLnUU>@@Z`J3o9Z~jdZ&OdNw91vt~*ix zP2{sIlz#Hx>A1_h(_L3R?@7wfga5L5XPBq)r#Yf`H_5K-iMQ1=?eh2JerEnz=Bo{g zeehF16cOpE{737ZW4#z#q1WlhB7Wy3<;scjxm|vN%VRw0??lK?t-aVR^)m0GnefD4 z*1U_&i+Q&)`HKDOPNNTonSY7-9X!r9GH(-7^;L%fh5q*be(YQgxxHQdeJ@g^`7*eN zgSD>qCZjVAy3)2!Bws$1$v@qC6>#4bim_Y;U*!C}(R@d;E36;m>I&P5Ik4g6LOtADi#ZU(8^`pKA%)c)2b7uUg=N0SSV7(YS4Xm$<*?TU( z$>r)Bjk$V1VhxBm{EnXbto={iCuK}@Aw`;R`MlXj$@I= zq258DbnLGUd3xKJ;`>nBxYNEwn>8OaHr99fKfv1?r*lV~jhTCD(e5t4C$XhEqx?vh z-{((m0@oUJ z4@`33UyElUI)Qb+LixSHAHWyZUgMx=+m#-}2+b*dLOwR~eafuZ(Q{s5XV+splyo0a zcEbKaiTw)Ll0EKr^S$ZTA(36m9;xMLkAlC)A0+=hW%hG{hm$e8@nZ)Tx{9~PN1Q|G zoIr8Xu}}F6oByosE8fbFy?yYOGw*rxG-guXAeX=Ba!h1{4&(nqa03NCnme2ty(zvifTx@WC4t~cFf{ued7`QNG1vlsJXPx9eU1#Zc|<$I6zos9o&J^h^{-T#oh z!?hrM$?fR-SLQrIUBs=ig}i6MVSj6`4^DcP1nRsu)!M%LG zkDiNjJr@SQ9Bf>j;=0Moz5#!VF48=(D`Psr9e=6i&!1qCqpxFMAHFL_s$20Z-5j4_>BtAAaV`?RN1V@tzbS*{ zQtP$DhD75=>5TMlHNQRl2NL|8vEut_g0o+X_#V%7pxKNUr-q)!LseNJUDW@5o!`a& zXg;Vo{9f7R-6&tfc+xTa9>`elijst$?mxdv-i|Jx!*&%@@!}rMp_I$hig|OH7xO51 zI*yNkr}?M!Wb@~l0YB{C-nDq<=OXianjd2&><3@xoSN66ca!zzNAFQ%{dQwy_XfQu zp|Jv2&$DPfl)Mf{xP{NcTsP3TEAx4We4SUf^7+7cZ}6AK74VP7r+{_OO8hoH4Zjt- zH-bBXWwXj>2V%i=EKTCm#hl4twMoB~RztSwTKsOh4A$?yUK&QM!3)4&g&)%HWqaHY&pIMgL|3(#il%0jX&Z` z8gW=N>PEs4GvO#Mjn(&nb+J96wF z~ca@8OD+qisLmn$|JcSkU8b|Ka$^J@&%5M%RzAw^quwcc`nKu_asy!BSF9^Exf zd!im)E7QBTE;4_`S>TVv{$1v;ocN_N677|JjS=m^G)8paV+83-*8B4x(9;-s&w2x` zM^{eM9-T|6p0CVXEwTT<;;gw;`n~Ai)&GE=;?~o8Yy1H{#cz4*4gLdq8p9*4x0dx3 zha(w3F^;s3>-&!84TE=pvBus>#>e;Inn{8&t#x6Vn5JVy^Xe}1N4oBr@ihitGJieu zW6Y;xM1Auo&ZF{qJEj=(ldU)Ef7DYle~#i#X!C~ugCF(uHGlLh_@#EJ9;L&qw+VW? z87qzl8EY<_p5#k)W-(HKUSa;0=ssYq_`Yo%v74D4jo%;5AA{~34I0p;X3gbgjAPx3 zH975rbe_&fTQ%Rx*4rK%l3CFk0dKVR#-g`VQuiTX+R)enC!U)GPJQ1<1sw0|sDe+O z1-_2`nziEp9X_}NewJ=3>Mh+*$~s+ofmBQX`=t0#`i4}z#;lW$DW$ndJCItk-Q8xs zH|@+^iu_$_`Pt6Ku?~q7$Hoz%!I5aMgs1m+XrAsyUfd5{hPsjFeazEwMH#^>yL`X8 z^8FSoes@3G<@-~8I5XtXQd*Xj+bg9Jq#A}Bld54` zk#hP_+MZPF=dPsPN%tYuyTFboWmzg+O3K!xbT28V6{TlMwdPDB<#t?Y3hD2p?KoT2 z-s&-&)w=NZFfx&di}k}9?b75b%F%_ zg;eqC+@Vvcg>*sEGHHL(sBaChWCK#ww-qV=mUbmoeFqh3{u_b%^=vs5DsWDOqy8yN zv5@TaS{$0*r>&8HYLY)T8k8SC_&x84+WAWG&o&>^`J7Y!TkbdLA=ybayV-fu(dnVZ z9*H#Uor&+tJJ;!jq)7AmwtR4RCOH^m_TQ9iPw~BZm(GG+&5bS{i*{a~*i|3K@pAl-VjsJhc~>TOHHV}A;OpJg z%3s0!tKkn!bT>4PHFRciReSa{|N5lf@UOlfv}YM_{*4Kr?5XWJk8=5UFF%@)olDHW z+58v}(Jq~*h)5r6HgB+SSB-f?~X zac!v^eEBoK_3oygm5gO?Xo7Qt*wZm?JLgyJKU21gj^9zw-Y$Q@<>=<+hdciv=gYr{ zzx4Hcp;IV}V~O_AitmZmdnBn({v5^{Ab-wx`D2vdYx z#@^Z0tky{dDV|Xa4K;rDG{+rfU z`_uZOo=44l+q~%Gh-0*A9rnu7|G@rzV!d~*r!l3z54|5;{$64?Vl^}WXKO0@_XF!` zjY#8D-`+*c{}BG4j8*4q#?gNHhkH}wy}rvobv@y~`d#B>XP19Y`7y@BWdM;+N+UL( zJTD-*YkrHdbgNAxsD%WF!ms^|9H~;ui<}etTFk$vDTBO*=lP`OM+K7 z7Jq{TKhL!|_GgU)XqRH#^?0?AYi7(#{T8qc*0r+P!4>eHY+Oc=R{4y@j`mC1JgkPD zam23z-iv(Np6^pCV6sYoBV{a>E-lJRw~#XCa?btc{L7plin3C-=3+0iEGfD!u=Bi^0Ly{92{%>$6qJMc3zkC-xP-tz2+&pGSfv z+motYhm*1&ZrltUzr#~`JcnBbpA4tb{c)agmHaEg9mtoVd%&H*W$=^WCh@^<8CStm zjOB3FwcwP&bAg-12TPz%-GA+>z!j3UQ(XwO|0>r$!;-b136EhGl69O3FTZ|OFtg4x z;c2b1WV69*p)Kl5KBeWs;n(WMivB2L_3PHgsb87vqd4ngteEgUmoz5bDc>C%I@jn; zX$3r|btZ!62A9b{8$2(#0=^79AGiv>cXRHciBAO*)uS;d(fVY`<`4%-V;|+aC%n1L zlby&9p48`=iJhodyq@rG#82wW$98%?5bI$D;(g|n!OwyZwl5n03#u**SeQY@oQOVq z3qElhuRghV@nU`f8~$`mfoVg-$8a?7Fw-!_7()%efz@X%d@NbXZR2}3fw>p?za@Bq zgroTxoJEuTg%Uh}f_o%5jj8rV67|gp(s&du3QI72z zuk)GTw~ili*SV!)s2D3pug(gExlX;7I>m^H)mjrhW(SYV!ub`=_z?g-;mAzB=L>@qdGI*?X5% z>%k}HuZo@a#e?$A!hMZpbAYj~E00R@TNAuTf-#%-d+PV~ECl*K(YzruXkWzRLi2_u zyoJFLU-ciy?9$!l4X5nc#D{l`BMzGTsz2f|+2tb>`>DUbQ?7B_b@pPMt_N>HUSZPOlit*Qlon5cPcG@-gWBWE|(kv9?B?bN49XwjJChjWvEG^>GWo2ADS% zo$2v(51x8T8<@8fyj_i>?e(_fzVYGa?TXGsDZJ6&s4oOK-__S3V?QN(*3I=zh5r^_dJ z1LJf~X^o0L)7)E=#_VF=!Pq*)IL1VMTQ7K&;|;t8d9ULlq{o|o7&!b@8g<0_)n?w| z@NP1WxvDi-Ix$yu{a0~$0G^I-liq8ee}Bq)M<#WN7j>yUI);5{-qADR^`h)2^Nul3 zV|sCL_%ZLCMU0Olua~jT-6a}#N`tF*%9sA;9dDa4KDXnzrsL&O{fqZDuV&tf@P->J zHj?^dQmm1?^v?2QM#OYe>z!OzSHwftEE*`=#k^A!p6Z!~$M=KHJ00GH1fOjj{Z-%g zIL2RP-dT0^M2up+yxY8U;Jt1fagDZzPS}p)*NW_m6z4CkcfRY2aXKTtY_6g&FN8l= zf)$7QI>XPXvu{?6zvZoWane5d5_JZD1M@C{H#WgX8*6TzYpgZtiUi9ajYFkzY`ER! zSJl-!l=DyR!{b={h~4K_Ca4s`c59!mM& zjJ2n`(pWM6XM&$FPRFqPjds35xxT+;-o5re##I~>W1kwwh|kThnqMEkSmWExQ^fB9 zc=H*{$EA#QtXwm}TN&#(x4W^%%3;RoSg4O#AKGz}c~96c^@G;NXzx`nf6C?ZJME|Y zDAzvtar2%rFX9n)-lbe|`@-qZ=07(Bemr}iW4r8koVSR}3-A{(R$K-o7~0hRlCIY* z33pwWzv6mgO$xta&D_?!*WevutmEOi3BKM~^*)&3SB*7hCL5~{I`=GmR^QBTto~Th zI2~j4dswx3P4hlLXLDoKy?dg6bb`-K@Qn$6&{%(4;<+SW@v0w(ipS5?@ws_lP+f^|50g->vhckjd~@Dm-c=dKiX$CbS}GPB^jM&XnQ(98k#Ghk`D#&p|BR+w^I3a`KJd3NzkA}Z^afM@E-~HB?kSq>m&2f)E4Sk>&=PY*~V(yKaI7nKMkgu{5`h%dm97Eljyx+I}+0h z_*FQxA-_KJ5%>V|B~gDFEdD9xs|?BJwZFnW6D+%yY@u3y(~=`1Th-O>-Qr&^>POWb z*Kq6Zp~Pi@H4eA=(hvLE{=|ydz72Qz(v)v#9Dd4{>J2}4borkWTWV+cb(qWhQGRxvEn+uKOtePn zeB^rbRzTPd1j_jtdpBk&itS+}l|93nlV>VbWE}S9h-A@`30{>ixOm^oG(U z__Kj|tC^?1(lK|%O?gfNLwW`>-KT72{_5~|H`aKTs1A+AgLlvJF&TYwn0afW^VbAl zXsou~nBa#J{Ca}FN^s-CwYYRoa7%*!l;G78JTk%Z8%ud#MZcfH`HbfCoy;wz3$Yhf z+S}>7#75tj_xH1o%i~|#!gfc|o}G;qr~Q-qj!Q5mrp7Glj+mWi-p1$$FP&rJtADOF zZ&P^xsI#qW0h$~2?RgTO{D0Z0{vNn^?^=J0q|Uf!r&RYto6!5Wd0WBz%~bdtFY~rdc=D-!Z@Qd$+t=}89gMaNGHP%AN9OL&D*Vx7h@>uKgGN~%u^iI-!YdibopLMx!M!w9@o2k zAIhHsGZ*vwQEwLcrH@ImS^739Ygi=jn^JdDm01WC*X{UU^>f%NwG_POm9)7*I^dhu zh~M~oY5yL^I>CI{m+wcc-L7;nX}m9H3gzi@nt!sL1KkFwU3A0=ef^$E^~Q6CtD1i> z{7n)pAEX=S29Ge%>({CM%s&j>@y6Tr<(csW-1Rs>(i3vV8!Ivla)&xIdtaiPW;7^UUe{Hu|;j?1iJ;944csXO)SuM#Q zncyvq)%HCT{*lJ&BZ>A%>KCnJYmr{hKI-Y|^v^lgJ0HEvjknNC6p;{V~?N8ohA|{;RR}!j~IsFMPkTj?K>*$8{(jr^%k$Ha$nh zp``S=c{kZN@suAi(0R=;LiVG1x4>&!yojOd>}eeJD28lpr|L&NvZMSy=HG#xRg7hG zXq_GTq1eW;aTmsvzHegQKkaY*{yh3X_38P{UEnL-&wBS*FX9pQLvMn4_rW{gIQE^= zk*(0t`_Sam?dCm@*iL;9+s~T!(EsrL19++LpIh&d8Q9mg2i4cGMA0vg!J8XQZ1Uql zzaqahl2mK{SW?w(Wb)-yUlN)cY(34 zfn0B_Yd_T_Uq)iQ>s?x_@;z+5VBWj-LA?0QfcAm;b$a+8nD-vMpQdA5b=2FQy>}j? z=6|8{BgZDBd3MHIA+8h3TVLRU?^w+e<{kEI+7>R*i#yP9M_YzevTx+5A{m7 zA8B9G741i7>&JRquRjW&uGNO#me!jMy?umD$$GEc-d>dG8RI48W@8{UXUZ{n9 zOQvf&f#;~R-BGCzGr7DL8Py=zP{7U>xKSB#_H4CjkOPa zD9L}*SZn=PU|el%funurUVM>k$hhl^y$X0!@Sng{uta{SUnF|QL!$UvvZdilp!^q) zzR5*IxO^@lg7 z@m*{}mNcGy8Lq_|>%Paxgx{LramGDHVpMkBFHzqyl*_l1%v;rd#d;La*IwlEL6qN> z;1`Y6ZxZRr|5#VvbNQOKtMRUO#xv|ufAHge>SXH;k=`=3{m8sv>L@Kws^G3ur1`q0 z>qik|T@w@TF7@YlURrg6x19z4I5=xlulN$RN!KtWkpi<3aE_P-d#A%$H?gNaP|PJ^ zFZ?De8wvNKS+ILEoU`z&EJKB48*;1(ya9GBO~Yz9+o*<{hSzYmaSb=EQ^VP&HQcmb z4d-K9cGVV+(;-cp)p1mZI2<=ZnzpFpsQuz>77XUdR&^ZtBu+jv3SQGTbsYI84lxdC zYOUiaM&d~BA%;k^jwR0|_}v75li=)6HU8`gUMRtR6TEVQhbDNV1Rs*%6BB%4g6~Q2 zvkCqn!QUsiY1x{e^Be1YcbO!ARDuskI1`fm>l6G^fs@hUJQSb-#3BV;xHd8LLk>O7PAJJ|MwIC-{^EUu7)+?@IEY zOz^u2{yM?U%hzJEWP(>s@Hz?JHo+Q@vHpI@K-L;@sLRh~EFYh6&rR?(39csi=>$(o z@RS74vqH_^zQ$_z>IvQ`!8<1WLlS&pf^SXm6A4!PbR19`d%#%#-#@Oney!)LbPoQ$ z^{(|CuGiE1o5TzKDeyJ7f3)89*3&@Q3X#b7y`xtBdtdihu68x70pON4z z60G{__sVLY{EK_SaBYa;4ukjT#|oWf-g$& z?Fm->I=(8^Z^w3}o)}|~n)f1pyk@L@%U8x)YdWr6_!{?RWlQ}PHsaZZ1$?^_lL`%jX@;``WyicfmWv z<=@W0PCPGrih19gN1UedOZ6#^mr#FS(g*2mr59Q6hdTSwp3u9~yr1B`l3+~aF_7(e zcj3e9!y&p~n)hpBTRi;+9{)4ace2rrSFn`{(D{U%+buXejxB^~o6MjDdu7dw;EIWs=CY-B! z!M|ejWN-!CX<%`@tb)UzNnkx!@v=7T_%9)A>N!gn>|3&?1UDOt8-$eGE#c0V;5llz zDX+6o&N|ofv$>6NXR05%ZzoaQBvGcdT4m#h6lFbVBhow%HWp6s(g|MKSoiiejC|C_ zB>DRpYmJpeOy1<$&g|Hp;PQpRml!|GIs4rS4n3uMHbQzYxqLD36k{D9XIr)KTQ+(n zcvWNhF&f;#*WZGHkg7}HB}J$73n{#OJ=I*@lQAJ#qenxj z55Ba3yRBB^?8@_aeMLb20Y)X~}29@5YM#Ka>2YjOW6? z4-?Ms37&gUt>2b0j=D8w6r0#jtmX1GlJ=+NJJ102%NX+p!#gz5Ilaz)v@Pt%^CnlA zH!P_~eGqd+WAP;h$3M&)0q+@O#qdMp;o#rEbYusOsqU-iZ7nT8s zXsH+Xh3#7zd;|EUVbleF!1<*misOjlSOHtIQK}oENnHw5izDB&(UiY{4W!ei<|==) zL{H;PqWHa&aKAL(GSS=0nDBHdv}*O~SosS&45j>8)0<9aFJ!)sft!QNaP)U6)OQtd zb2*Pe<0u-S?^6ZVQDzZ$8^I=#`1-htx~ z+$taSk>0UuHeA$*nZ8zf05+)>zaGCr3Jizbrtt||M#%} z-R3ENyH|#zw(LWG1#HRo;`=h#p;7! zfHyO418-|w1@8eq1Rp1X4|2ZZdyH`fd@5M+Y6G_!-w3`5jBokgLdUzmI41X!uYM}S z(Y}ZNP@i@GEGvHZuy;c#>wHat_iZS(e+s@h2lDvmJH`i*-`$+Q!2itoZ1Ed(Oc!6i z={W>p`Svp$wWSKSpSnR`54*DC5b2^)P9EM3hXrLj-ewU?ve4KnW( z@OlXrmqtvZ6TWT-Z#?`R%|9KyKbSfi!v&eCn+qrV5B7?i;h?6lW-TjBWjrAe&M5*_Ey zg(LYh`JXy}EB@9(gdFB+%Qg(Ljdv<;eH$}eUJg?e@oa1ucN52qU&2#hr@-ZkK z`Rt*jf^7Dh%}nvIWEUj(Oz;=P2g%Ptv!Ml!cQN2Y{@YERCurW!LAl1$eCAySUdCAG z_Uk5CMx`&m>c``r=3RyU_(bO#Qx%`MxVZA z-VN|RG0tCf3YWgkb!PONgRt=%dKwcQhZV898QjxYelL^Y!3o~jIO?Nor^ZHeWNVk- z3Et6I*HjNO);Y37ZM&RBD6YT7-;p`Nyu0C@Zaf_RrN%lJzr|SR?GG8t=XZ_uo`4R+ zi*^moYb(|;LB&#j&g1fjz>6Bo=f1|Ob7e4o=4-U(hvt@KIQcQpHUx88m>)Z~D|AbT zk!r}dk)l?*lT-uzc~Y%~pOMl}rFJ8VYdtNbI$o_xDz7&o?M%8KDW@@|6G#bFV{dRL zDh@xi57OM%e9<|Lu;z6ee5EaX?l3NcwQeZCl}|i_Q331kIm_lLe4d3b+{R}<*L5TK z9owmbrx;HHcUrrsOAYR6+yY(}tm3DLsU>^b7`O8=qx@%_HzHUJjmO9F$M*15M_fnRz3{8~1@ewa@I+(H|ErBPZXYn#SbN=A&-MKq zOkd`EF#RnCt?QD;b&6v}8GI7!v5plLa3}Knl2*(EX0O-z8uL8ffzcHmr1?#FiyCWe zuWGDoY3mrL<6QN`-gaA;PjX#UpT|D@+|T9jQ+~9u=Jwx`d^sUKrJ;A3%RfTzwuJkT zvF7jRv_JZA3%##);yPshr6_3n0?zZculD}SSbg)g@o*c7 zF%~h^UQNF%Y(KJy>6BW1*|#;^^b`Hx!yMUK%sArP!ST~GTDxK|;@lse#%0_Gi0csD zPb6mKuVOp@ab2`4f2J*-;fiMxNnwK6Sbgi||>0V?&n= z^?pC3`8RZqvW}i<(>nko|BNJG?+J|j%aVM(OEB{9O7fK%<1L;Yd)(z6C#p0bANhEU z@_5JOo919THtdxPgU?gw7dcmQ|>u;#41P3^2^ zP7C>K8_UjSV6BC+vm;o4M@P>Ir@DKSA8YNA#$`CC8n=QkF|L4bHEshxY+MDuY&;44 zp|OJZEm%IZfIF^df51JB%izAox{fvooUifV(Z&_epm35=py-ZUXeeS zIrLYT*VrRVV*QBzk7I`Zw(vWJjZSk~4>$6073nlhO39`J^lw?Lik&B@pA7s7{a%v;F3Xj_#3JXd4xL+phPgs-+8V!amhG>6$M zG)~4>?ISh*CHlKfy(lk(_5N0^O%rQ+!{XFc0pD-{=SQSfKIg(w3@gO)5^#Uj3%(w#{Y|+& z*WirT06%KHCirdR!QiirTeV3lBwNfe<7>7kxZ|jzpN5jr!&v*bMU01&zig7fnz8nK z65Q>gG-9=m%a?XNxSfxmDA#$SVy*Y7BF)RpfOmcG;v7crOBHWf^HiUX4`EO5XjS=g zlk3;B zyL|H*)TKRx`t}|3woH6Zefr7edWNs-MnznN7fbLe#;R-mBtQI88Zj8_^6gz;jLYyl z=G)=sjfHoLal}n=)!G>6epk4BXYy`J>^}^~et!R|L%Z5OBYx9YmScrvyP^A>b+zui zWvuguUyX;um7ki!S{GyP%fy1CJC*juMj5ORmVc%Qx`4*wLJ^g+gMi@G)XqjwuJXf@ZR9%gSee09->Q8Nx%@AQE%BoKeU~3WdA4z3 zcR1zU3fxJ@(z%Vt+Xh+LF~+njUnj_$?w)BWbQ_8J0LtUoAa2A~4(ob{#%viJ`w_)_ zWppXZ&&zes`)Jqs3D@+5%Q93*KEmE(@22s9PDpla&F7}$YB-DgGNK>v{D@tQjkSt) zH=jiL=mg8SxQb11cXIhDa1S)rUT&hX_EQqYOFn9xaVsEyjtyH=e}{Fk`G13dv$5*0 z8gIM;@k(sIVcaOANc2a?h`WCCs5&oq`DLz4<>Eyh|8)5kl)r4O_lmcYv#4iTWje ze>R9Ol3OX4^eGbkpWW;{;aiNEKQq*&EEk!z z=TMh7?*VMBVXXHxNFt7UUO{mjO}XM2zn9z0{D;Zg(Kvqdrg0>lsP90RKL%G)AETxC z8`9z*XWkR=&NWtCZ!}hno=EU(#wX7p_FqzdA@zN0-g8O)@>)$WMZ18{^}_&j1<20v-s3VspnI5oTjM)GSa-x{kwJ8fCy>pAQB61!O{!=LT^#ZbzQEH zd0p*a{rGy2J!&_2`kkxNviaQ;KG{?Kspqd_eh>5O{n(sx+1=i}IpK{n*0J@k#)|WK z#%kY{N&cP2@eWJXu~Onwyl>`d^X8|H&l3I8)DscgrodFzHX@EMd9_O zE{@F|bbKy@^?sC1NhQ0Gs;Watu@%xZn_h@mNVc%+iZw0vKBqI!HCAIkcVc0)c}e&e z8teFat+D<_g+xB<+NQ>o_P%jmbgy|!yFRr&<-O|iWhnn9xWu%>HbpK#^Y>L8?C8id22N4=H_D8c(V* za3(2hZRuK4#%$?9Qmvn_kgAqXNIR4MMA}3;TWc|979{(42vRvW7K{)1d{HddbPV<YrK(jBB~|MLlFk~v?Q)41(4<31a9vMl7%6h84S8(hm*C`)mEr+D_n2GZP@ z{mL>4Rwm?W-qWW&ditKeLFSLd{+5aEt_eOk;hbu$inG)A9GHR9b5;g^w%a;|LsC5?eU}<_vewSUAK^OPoVT9sWx+;kuujxO=F8O z+J}@eoZB7@mh4Qb`cEQN{Wp=SuGdLb*RRF*TxYHw3!N27rL!@qboM2U7#wEKL~|}N z=XO%reYp6Z+j|czX}?opZwb<{GXN}E-(@?Is;&yD?3_i)VY6`vcvkxRYWSNmCd%+{ z18)v)1>XnW0$c$<3EmRi27Uv)6}Sri1gvA)BtBn&wP_X4+)UjYvUZwqb%4>zX@-WaU@dJep`@g(rh#*@MO7%K>ef@2Mx0G3=p3axYl zsp51$sp9k^DKRa5M5;CPKcreiJMB`ep*=}uVQEs0rGcdKeH~JbrL9SIIn%Nab&jJ!9H7 zQpIB|sWkseN?h{m@Uzm!iwb_;u1mmkVWXAL72sXnuA9wiBVR&)G-^!$QTz8{hqkoW z9`beY?%0>S4c^W8eK756KZJa7Hg*0K@OH-guiRML!C3QS599CP>|&f7CR|a*_iWEv zSr)dGpXg-ahw`Hi;+|gvyP3a%y*D;G998_*N$*e4*!Y=xk>>qvpMJ~Fy~W>$yl#6J zLM_S|eKc{A+A+J*5m@48HPP`Sb;UfiD&Ccm|zt6}%kz*van`>0EU(d6L28 zYhG6PtOxE+TIHj9g(vaZ)cGQ|8n=LV0&Cus!FwBz0v~ML3O?HW3ixC&N%72q^EH7k zF>V2O#kbrhSihAS#{$QD4N6zRp(*)1)!)&QZxZd{gj@LBW;-~)`?z(*Tb!6z9{06(2{8!Tt+@2Xw>ZJb9T-C&E$uD@mXW@E%5SaRr%^%p-Ix5Z8+}lQ6MfSPUUKasE*0>y=C^^D|9`N#|KjcPdS!D^ zVslL}q0Z;+AN6w`+mX%DiOsV)N!MPe%13Ji-I&LHYd90tPXul|u;Q+=d6y~Xq-cXi zbj;_cVze6^#c*d8a1BWPCDFYHVR6(J;TAr6?n3s;eD){*43C4K$MOC|kAs8Bhm-f^ z1hD$>Oj3L)T}7%syu09(o-NYG7V@5&Sp0S#SbCfM^VJUU=f)NAPvAD!!&lkPk88r` zl5fe*1GgLJaZQEWv$|gF@;S*r1;r}l&#rA(Jd1^M`d#ba;gsRGz!}0YtblcGK))R> z=RwYE$j-4X)c&jf3ta{?y9nF|TP=ib6#9C`bU|xSXU99EDgMU;$*X&LM|0FwL zJqw|0R25<3C|m`f4W}D)1?Cd)&*Fox0rw%h0=@&>0Iq@`1djlh7Ac;+)0{7ZUvPc} z{FZSQJPG`Z{8^Mf2KN;oY{@R5>__r7_GPQ<{`Lpl)3^n^_NGN2mBGE8-wM{T^(<^u zzl(L$M;lkbn;W-*TaByW z9gQb}_W%?2@uz?f248AlDq!`mg8IxC>@!Hqe2ycZpN!?_wkI1u$M=0-?wIG7Y3n)U z%jYV1p)ZSdVG{WKAzpVG2bV8etf?*FOU*BXuQF~0-(Xw;-)7tfzQ?!q3s}c`VfB%Y^}?-S9qWZFU>)m)+rV*uvV>>jz7XJe6+_9F7t_JmRi9JpsVxZ z0pK0jlMG_=NOXP^eC;8HTlp*jU%0}jpK%*_pm7x(_9uadJHJG%);DeeZvwuKn3ciX z7+1g&+M>$~xkP)_R!O8<2Q1mO*cpqB_Na~`bL$WDF3yW%jW6?U9Groqs^>4@8#PCn zTgQTLmM>rl#s5`5+1U-^3rwe6&&*pgy%*v%Y!au&Dw*+&mCDZ{|2EYHzSy_|z7~83 z`Bm_(;JZ{8j@$#jTYT^n;CsRH|7CDheDM3=2gS!Rt(^~x5B}1+6|nYOkBbl1e(q`U z>EmDEJTE?2dz6>J6>#SRdGEXU;5opmR~<7y_%-pty^Jg1{@^#n2d@f#TYNfXI9PEm zgEs=_{)4wOu7V}FHTC!&ecr7o%8PH6Jp}VppGgT`pQ0!~9~ayLpDo$#Gtt9VF8!RQ zdUskc_3NL`i+WMZ@_j;~pZ&w-bjg3UMcjK_&KfbbJjU_=O4B;;n~rY}Ovg9vPc7N~ z)6wbX!qoOd2``kR{L#eTV>R4#dJSif%tZgmg!fbpH=S0)*%LF-e>UMgSHn%(4_mTl z68&z@4F6wDcxNW~g+wO|g-+NYKYQ6chS${o3tsdeeIJs&n%E6H!Os|2mhAP!Ze#}U zEtkdEqddFXdBSgk_hBwEjq?3foQKIyoQJi5bsnQ*NSRMu2WSQBIPxwwDqu@Csb;^a zGnt2BKlW5{J|}LR&$WP~-ZD7qZ3Rzpy%q2T?8t{UJ|`Gg!Ep{Z2|ST}9Yb}DnNeMF zZdZmA=b)|N@Sy?@AKJj@+J7CFXJj*U%Wy)s6&yZSz~OTnIAT}@f4FBu=?)z?>HN!Q z!GG=lqc3iSFWky!Ms@weHv7SO1pJBn=Xvnw;4=Adga7S*RC}j@tK`d{Z^g&APr>(! z??I}yjgnkqynQTgA=x_#{>XTGI-e!H_Y?f-Omx0Xc<&|ni<#(5PIw^ z;Ps4K!P|g;w;jGp_`{S1;QyxMDcc^7_U0@X`8y;gyI9vmpBr2FplhOh- zqidqVllbVGsIbPPu8HdTq86~Oi3;}v>zb%=8LVrf;P74j1j!bvWTR@-10< zEYetr{QMe1@g>Wz6&N?v;+$QX@Y~h$n__OFlKooazMf^2Ug*DIdv80vZA?-A zvF$Eky9Bq3+7;(qdd{~aWpQ5gyZH-|H|N1cZ2qH3jzrr-H)5duIMTcbIxW`u&N>m# z&{@Xiz2L55JY@#KsV;H}Emm zeT}+KGyaD5UuZm3OeA6**9*GL*RHe`op+Ua1E~8>W3@q|zE!Hfqp53Gp?gr*;{Bp8 zm_HEycL|>BkitLNSt`Lgk3*W}tIqEN3xt0WBi$!ZU#(&NHLN&S9@A#n03SxKX`{xK9sVf%o_ndGr{7j-<8I-t7}|7(l#3@m)|SX0EC-@GmBcwr~n+S|OX z&5KwDFMQPTM7}Dy5DfGINbbMojrJ@>XSocL|T{%s1Rpe`u`aWW&Yi?Rg^K%7k4l@5x@Y;#)#t9yi;GK;XJ4uY;Xlu+{ z-BU%HkA!zXqH}bDPfhT73BD}BHzoM)1k1SU)*d3BnTY!nkC}Hob-!V(we?fu*lWnd z$!-U@Db_=9J|4A~QS6dya80L}AMK7f#@_?{*>#*|Ud+jeON^h;YyL~|+(36yr1@`& zePxKJYyPp$Enwc6b-b`2cKexkcEVFzhLGQ#ytSQrX z{%)n#Iu+`8BpdN}g~OMh&A;5fsGr5JZ|9tc7j;|-uQ!egbTjMf#C*xM|9>x{$p~h|C3C30M znZ}dAml$huU2EI|zRkD{UU}{gh5z9DoL>RQ_4ziieqXOPR>79+YR6Q4ps^TZ`)O?G z`<0Z zcRr%vl)>|WX=;AIbrIt#`F)Lb<6=vtOx#w=+jKsm6gZ zS84$tX51S*-nbw5RO12QbB)X3%Z!JEZ!{hS{-^O~;K#sfZ!7p!u;Newe`b6N_;+*K zz>SrHUj=tIo&=uLSOyjbD<);|65!nC|Dov0%sEz!t@8LB$>`hy^<;QDg7E-{+iX&1`O%==&$X z-~aRO4~PBC-p^Wl?X}C+zJ281|I~z z8QIyLxNimCjW#TC|N3aK+PMrq0i1mU1$-J5D(PK~dEc+5(ReJlk1_8<)~snf z4%y9&&m?`2@mb(Kjn4)jXnYR%PsZnhk25|Ge2VdS@C4)Y(SIFS{b~Z~w;E5x*Y|zN+T|J_buq1^k2Yqu>rFBS}S zp#t4j!=Z3DvPv7cT+Y3hzX=VuQSZl%7bE`_<1H;Us;!yl33I*r@o!OVlTP2hOv8rZxaRRXKu%GNT6`mXRq z4$ZUM5LY-(Mvu}pD8_=B!fVU?c`o=J+jxmNCDJE>cj6o~41AmMaPZ&3nv2UE51Ky_ zJl(hge$jX~SkDA&UQxMvCRn%;EIWluVA(G`46J8@h09<)6D&LttY>_MD_}jpD?A&l zy)t2SfOu}W5ggAAm%;Je@NBU5PxNeYi3W-5fC|{5_^y4y-}P^T-=HqM&RIK$vOWaA z@BF^}hV_Tw62yOz{!efj{1y0Pa0T4vMDD$bk8A^Ys>%f~2L6}$U|pMO|Gfh4O?vjN zI2wF)uXKjJvdyN}a2mv}8^AP7vUGFQH z@{40cigV;w0%^5uNS;bYm#QtJ+8S3+!nqP~o0>dzC$Iu;PQqMQ2 z4ti!lv7R+htmh9D$9x=f^iJsgfHnMYt-me$4>6XV3aUSKY4(%8f1$sRgLg6UNXMfr z*WPlf6WPsjaW4Mm;Cvl1&ioGMhrg~MU3I>}`5nohYOFm`1#uNmdmy*v1?P9NF14-l z!#}al^MQF?5*y{0?@8C37JFU6uNj@U>7rG7gBNn0%JSS$p+0e{u7}M;nqZ{aZPIN%D6!4j-xAQX5)ZPaa~qrO|P;ar*ry*%$Q~?fhlo zo@2bF2!v{%UrD~ozs0=Xu0za`p)=|}&HTq4Kkayi<2Q&24J%rY){aUDJ^#0T|8wi> zV|@(i|ERBe>=aJU?OC}Md4Afept(BMo(=HjkIs&}TYeSGtG&|tXbmTRwcN6nTNSxg zjJ5vT*jVkqLxT4)j`6H^O8Z5uO^-BhE!$Jwo^f4ql6mWxr*WR@tG=!{+x&ISm!DI9 zYu6Rww~3ZtzZLlxN9J?eJKyH9)|q3O(_;O2gXK3&>XnxN)BgEfd7pV3w^FYd!@BpX z`RQr%H~ATUtf}8Le>3x|$7hU#82kT%FFU`s+!n|!GA8eH+80m=--pcN-*$vfjbg8|MSPr}HJgIl}qBCjW27%O^gQ?J;kJ4KZJxYyQsG-P(Lr zZFBYfFv)s`{EVI$SGU5K@AOQaVm-U3_R0o#Bl^^d<_(88-dJ{An#kW`tn%(RRvC{O%hp-Ovg2)I+5M5Rbbe(l zo7$b4*Izn&7)!R%SUOiTR$1#AOXuds(z(5{bPhF^&f&(AJ;qo%Pc>Fq=NdRVDOBj(93T!%BPQ~gnb*PPrgdpB;&t~G^I$g4jsZ;!LU z%O!X{V|~L(K|WF(^4mH8Jmd~A9zgzIjJ4)E(^%j2xhlaACHS2L|CHcG$L4lj=<;<= z);oPMK6Rb1_wiPOr}IL*|EPB*$70j!mcJCdo$<1#@H~p~8sNi>ql{Rup|1H_@}K&H zkd1lbXh-cqDMWg99iJx^ucAx^YLNL%IIc}w(-(RouGWu=;w0-0J9WJxy*kH9?-=SM z`JTKSCp%B8&EH9#!26L(Ka+gfd7n3_11emdZ#93Je#Cb zeDgXy%9}&J-h=q3c{kgx=(E9lqhFhX-go%cyj#sfW&P3Y={VHCtBqMgwY=W*)%y(!Qrj?ddxdwA+A+P_n*y*tI)x69IL zaP^T{*7KlklW(LauIIwWx#mrS_mi>wvGBOuXByWEn4ih(xsxXP*W%8fZvBm(16Rz` z3#$;TPp&~s*@X>=HL-0<%sIQT9kEWGLx?rU?M*EE4%a7co)Ckuqr_43W4p}OGC1}DG^kJPZmjm*&-kH}x!yKbA2`XlC;HAbR(oG;tZ%AK0b@*dZ}Y_EdC$#d{+7lR zE^!>aeU8iE>F{aS+Fih!+dm;z(D!=xL{S+W*C%Bh_7Z&ci;3X3!K!Zs{E5?NgO~an z`%0v%qn&`x*Rin#t~s-=@CLXHRzQ8$hlOX6uJEd3>2)Z+LRtf|^tVxuqJPAs{2m1P z*>6J29+GSJ*fCFUJClAI1(mW{1p+mE4VisON5v@p=46~7l^O3ymcUOOnD>n`_z3u!53yOl%ljTW zDx`;5@L~T1Z*RO1gJM790q{pBc)YQG zPw#r;J2a^fFs6C_Ro~TbnXB*W-7wjApZQ;r_E?VVG{4ON(`IcL7KJOiH~+SI_P%@< zIfyU^PFv4er%=#K+|W@N2Y(Ngl)!pdOY>rxLlfh-lrs_dHL~A;D`1UVmH8+~&Dr^L z3!01d+rx9LQ{Ms-N9lUcL|A&aSuD4$5iA=-FL5l29=w~qUzF-O4Zh}U>Ct;K($mNh z`kTN%!BKiYj#bek+@IqFmsJAGW|cpT!=d;+^$Gk#3&tv*d**NXyR1L*P<+94NB?gYGXY;O1-u%l@C>?&AE~GxL1TgIU|k_C6#XLB5*icw&{+a}fK%$gO)(z6Ka= z`L>qFux9xW;8pW4HNVb$s@%+1dE$SA+#TlC!+X?NeR>9%{*ztfe43{hej=8QUCznR z?>&j-puWTm-t75~cBj-7PUuV`VPWvMWXS(ZfaUWthwd-Sh6=}~$aa*CDAx6g(o5i7 zNzeEyFb`Q<#CcBVe}^o6VRXoE__c5_vV?|i__mzja}s==vFdsc7$w>HOmnMjP>4QO z0_(YbrI$IL&1LI)*taAVdm3YIN7=2gHOE`#4xxZ=jh9H|mNZuTgxpNpML~aeJ~#hH zfoc@LL#{l1>ovxLo(C6ho!~pJql|P%cTQ|DYLK(u^e~^F;y>=iRHs{ zhzWJQu;T$q;Ki>nzn-+ z&lr4b{+iZ5Kfd~6@Egv{%UaufOwZ<)rAc3&wB?-NAH1<~kG%WI?O8wnE$Q;tNsr|H zd_VKnuhRL&6rP*v!n=pg-;n&XjrCir3MyZHDf-Uk&M#S)%Ipn}eippR=50#eL&lm9 z6yyWNQ74@X)z7qM)jTlU{4J3EJdy1%KKD%zqDJF)nGgFLcTj^7WRq-8ZIb>0=51@+ z=?9q|@xAMKKQzXkeqU)FjNQ$01Ccw_cmVpw7{|4xd_{6|y)JkD4lYmimWg`5lS|la ze?f7qIqx@rNAu@b4~^gF%-cDshrabK`q!yYN-+`<5G$*z=#{zB7N<#2)dh z^>;WwZuW_na@MfCzdmBk1F1TM~m6~*kcFwI(yTe<_(26z_^Ba&!MBn`4Fe? z4QKd#^vcdtNN*zlY~q!OFEnpou!8)nHH^OZsOL*!O?Ibw`zJi{V{cIP(VY8)c?Tvu zmHP(iTIYR2{4A5qx8@yep87$`)A~&J+&f=Tm(3l$hzSjcR`J(ZB45*KebJq~Xy1*@ zKg@j9OZxSj7@AvxKg_(t&5Qo}&d0@UeK^wjf2_)X;Jy5tJ*PYWNb)Z-zD$-9qE0KX zo}X_t4|e1P8S~mr=8v%M`SCHing5{q$C$6NsyfXeeHGI5+jgp3bvdtF?$}=-mzMXV z<&LYeuh)cpt<>Z=zPGBma3Y)v0Al$-Z4CeF|@qE-bI< z`C9dZMh=ZV`KQF8y)fay93PuM4E(+E0pOa8ay`SrZHz~NI~bS2OBs&_>pLMTcO1uR zP9G26%y=Srkntq&p2jzWk1gf0cY^nJdIkI^<43`NGkyjuKN>GI$4(-=tBnOS=L z{zCRgMlTevbQ|(#@!AAmVH|zodg}5f4f*;&uJ;(XI{zqs85;-<*O?#vKIVY6*mcml z?qhhJ;p==fi}lYpmb;-9xkWC{=ddLmHxaA6HHcN-O|8gPm#1rtNpJ^R?iS18&w1v) zeaXLuyaUaTqWn&-+m|0_@76w6IP?qcHsq+bihhqaC1Dc~-|3YrguOC0gr zon>$Z4yT~(+Dd$yKMUe(Jy_y6adu7fwNjklE2O{pY%#xQZPvP1D6^W``3wH_2N>M7Xog%)zK!t> z%+haPBfqYrUqr~#WACGTq%!0$*|_3b#k@C2V?tUZ=16D;LX<}qVy3aZN#=g&%P5-)6e%K5L7|F-cV8*)F!SoRe! z&FvQMY<&C4?0*}}?*7IqXWJxww*>z_;fyqv&ap}Ql?lI+a9&E%-!s04$`&qbv8`)@ zS2mWf`y0#70bu5qQBB|z@Q=p1Lh~2~$GhGY@ZRvVJ&XL7FDZrMA6d^h6hB4(q1M0R z>3OQ!K=W68yQJ*=FX1Xg8;vJjzb|!>^S^d}jQhxseUr)NeOtwQoOIo*58m_UeV>%4 zI>dQmuJeB+zwPC@|AZCVxX*?U!iL4+X{@YBd@=E=j@Pk#%~_Jp*E8z#As_sK@Ra@= z^A|E-b(LJ$b~yQ}%Lwz@z&j_wHyP_$1BLLF_Tl8q@cD!0wNJ`X`B6^rW}4TbikIqB zedn6jv5FV^idW=*sV62hEMi`?b?9q!erNL6Ot6G>e$W~-e6H&<{dR9$#|<=p(Zq)N z@%J{byLr;9x`*Cq%jhr1nBOzeD}J;5#1A_!SuEd&yu!RDcy|~-!1b0w z=w66%arOYtAM`Jsqi348vUM}gv*-5p%)v+WTdmbJ_T!y^&d1ke-}e08a;qS>H0YH%Y}cjAajhXW?a?012{ZJ7g#?+vD8>+$YOn|MRH)nbs12FU|h> zd&rc*i;T&!CLxF7nl0sJ=Q^EJ)&9LX_RDR`?zM>@c0|9AzB$~y{)xTP5j^$(Q|QZM z&0DV(p4Kj>P@&7r+rT{aVU-{HRPI{j{SGIp&i9zVQKDC4qniH@^GfhuGuHj~xyJh4 zj&@h)?Xv}I3I)|U)wMkNT30s(4_%uXYg`X8zMA?fRNEf=h_OyP)cmcH{fjYOu5cPy zZQBUecaGicg^8rApO-k)p6U-}@U>2_fE|k4p;IB|A(g$t>HJ=j%h{g%Clf5L>YJV~ zqP%y_+rc`qZ63e;M83`uQLlzce1{%VH)2A=j+T=@WV42Lp<7DS(^Y%dI+(hO&V~ytrbDZ6u zdJ&AS{9Y=3Db||0C!#)E;&>kp{>bisrPrIAFPVP_qY=*0hZGCHqfGG~5MgaXn(Wk2 zuDK@v*5PpQqb#(eEbWO1H*%=$XUXs2F7P$ZhjHxDm|r^|0FHag($fo0moA)(!F|E{ z&CT)P4Z+e`;fQ<3GGd`k_{}5P2_FBunhaOK+riJ$DSub+K5#1FL%^)R+G1j1Bv|2G zVnhnp5<@9GK&;BnAQta4V%8{yg|E$@W9mZ;FY{k|k1Ou&mf@~vPA71jhk=Foeb5qk zTR3WmCh*GC;|B~=*pqa@GDoZtD`1D>yD}yZ#e?W4f%m75fe%RV{t0K_Bwapn$lCTD z^r~%DXNTf}Eu7-^i5|6Sa1MiW5H=GUG@mHo&yI?t?jxOll=CSt>+dmFs-I}h6Z71q z<{u6JZsQ)U%x&S*m;)X)|JcM9&83k)%lXHV|G9CTLu9w=A9mMYm)C0~+{KLtkiS}j z`BVL2o_T2i`T7mi?acd|Z9(@uyzjc@@BM~tF|X`lxs#API>Awv`asyIv8un%HgAl} zl1)mFe9bLgSZho&@6?2s%{^Yv2LEpJ#=?8XcnIsJ*NrvLeVSm|7VTPleSV$Mky!JN z_7PM@cm5_coQ2L6j5kEjy2g60c*g`EnBZd)e0qYfNbp?=RzdQ&-f`4^vDWx{k21cw zrgn}s(^Hna2)kZSbbOLv=~MquJ=Pk+z9!?L?G1T-F10VC-$(w^&cEFGY7^-hwQ*hH z_oS`#KtA5qGw(|C8OIo`?u&6Q zjdR>Y_&S%~V7cqj@lc{;R+27Tqwd-}(i;6k=iiLnH^y44q}*7`Eqr6{$J@y7lVEY> zvm?;AG3n|{TM!=vZ=iX%gZDL-jSA6Dx}K5jvChBC`O+zWMgE!Ot3ONWPxK(Yo*%^PVQ{17ody92hS7nnQJ^?F-+);T&44^Js^g^K}QX zu#~Yp-KlrJC#Q3ClhbAEYQ~M=jf|VX-A-p;bh-RK>-MBGwbpVpKQ{y{3^QN)4>p$m zBaEeAznLjLjo=eV$M{-RAhmO1qUVl8&r@KPt9rfebYS8Ag#TH>FW!>hb5ObU#;Qvf zFuu;p)p{zsFF|@L+Xs$pQyn+4EHJZQeAP?$bF`*wD9S^8LwbY{;P@Op@>{h%@^k13zVvjyHTMZso~PUu zNmm`~I94^5f7UaWt}PSU;E>$Rk?bystoEj*Q?dt=j!D^bqivp}KQXoxMv^|;c$8(8 zerC?E?Euy@sp0>tNtX{*))cVjXz8zj+u9E=f`k9IvG|AmI=>E3y}opM=A+wkek19+ zfBXjaG=UcMl8y^Ylm z;`+D|{55*WuhluU!{nAR*uz+QqAt?2qSK`(&WVlSI43rNS2ssC$N98BIL@af@Fs9# zObs^Ph4j6Q4*>tccmz27FdAGYUEfHV4ITsD2qPQu|G8l1)a!PhFVC^11#H`IKl?mA2tjCN4XQhZ^GA{!zpYYAO265`=f21O}X_`a+~LXdxBM` zuQ~dF)xIl&|2KWI1?9@OvpEJC%eJA$pMVcDmYsh#)(LzJI6Gf}qb@zc6G&(4r*vE^`>e+@7~rKXBI^ zx6wSTXW^b>yeo8_%(}{W1voDl>suGF}%v!&tv1J=1tI(qA?n44!4Y3-}e| zy}+*;9|V5Q_-OFk#(xFBV|*I;UE}k>?-^eSo@0C~_2KPT6&zS{_{d%oy=(-$jJa zowl|9$V2fH(wdNmS37{T*mqO5o=IMfwkv}-fTMZ25v;vGwWGp7(!WMW3A{5{y2~8e zU(hv4g+uoZglBUo$R_=*Fh85VvYliXqwR#F?S!N4grlDbM?Vpc_7aZ%CLC=i{AE(s z7YUAbm#sR7>`mQdt9-&^m4*HJo6t~uHuX*LISIZi!6MV9^XSrAQho@XGtF<0PK8?g zDefhP-^1tO?=LLZ!E&-$`+i|_>@_spncLjaJlR84n$Kl%9$NukH`4o=zX<%zjGNY! zWjM}dw4Ghd{GspX)W92RUKf`kYB%toN!K~7CxvRiIND$RdoliKgsAI%{l0Gn9Ph$c zFhuXeFCl$A5K{kAeqCGw$8R^5!Dpg>eJB+sqUggV2F?|vYb` z!X=J}cFym4mBE{_rc!!^nVpv&n{d zHc;!RShMv9?~Z=?MCltwxnTYFZ`iq=)61j}HLigF5Pa;^H_J0V_)v7J-wlT&Kl3jO zufrE^m5>YO6ZZ#mxEIVFG2d!@;~^6OKJ)q!ciw%G5BDI;xh0? z|CjuKexm0lu$oe6Qp*l8Y;YOXypede6o|v6m;AQM9f4bcy3w<6&UUWlAq|3_@0T zBF9ePY+Qm5GoB6BJ-@v))-gi9UrJ?y<@?oz5xNMxBDf5m34b-P=D`Wa=$%p0neXC$ zX$9<1>_eUcuK2h5$rc5j%N&ZUn9tvca9@JI#iQK|Cu1{3*J}RIw+BQ1-Rtu2W;BvM z0Sdo`?GT5QGta&ueDCr-6Zu6c>&7H`qJ#k4*%oEtr_FmHE z+eVHD!Lp5Olfq2%frVGWYoNPPf8-&nSKQyr{>ano*Mj#Jd_qI)8KX1vTkJclZFL{% z8}s@j)A09PW&nbXIbJx{Q|tI|^(pMn0(H!E{(9&9{n$<6$d}Qd)R%PsZ)fY>5ZQf< z^{j*fc4s=GKkA&B>KJZ*30Z}xhjgdBvU!`rJ3W!P*jUd{OfhZ*KV+=BzLDd)tzCwS z*~VD*scjT=?_MGPmTx|_>~@LlKx5|n=JjdF#Jhv>x87Y*2tO-se^1s9b&FzWFR;!V zo06{gkXK$*?EIXdcODyQ46T=i%iz6BxqY+2eUVjvlhf4R+OMqxuTDDqeYNAr3crgc zzS_3Lv7T`myp?eUtmkRP(SPwCMG36uU9_K4=Fq#N+3zJ#R@_T38w9EDhO5o>rsmX3al) z@hD;i_?gU`q$zwuOtlIP_h#d`&_qnt3+oaS>Tbs;+kv%a=|@7W=ai}Eu6M?kGC10$ z0#^HG{R72&Bdhw#=MKfe@@XE5ze(_*7AzAAF;`Gbg!iPPh)}KkgoZDBKR(_&J`8#{owV93pjgld%mLxEQ6mTy$S!R(Ow7RzU=*) zIG;!)$}NMxfO9J6%L@2=u>34T+TEY~PV;3~u)g6?2KNF3vvW@9kw|=>uLQo8LeIx% zWw1l>T>F~8i{~YHyfLb?J`=J{ltXB^koLsmXF_F`;oL=WhHr6XKejYIIX=L6oz5v_4GmdX7L_e6i8Q-hG#x|T! z`%vcib@TUKyFZls`MFkX?cJO89sDc4&EKK#WBv=~tM1!!aTk8x)cG$tKl(;or|G#Z zU8n76-b{G=8mp~GBzPqhCac})NOoCR#&1C`~m584SF_hr=wCL*hIMI*=cd;nO_ zYBYhDeKNm~GAX%cy@qM^CiqbPZB7om%gE|p$g9{}0XKiw3bgIx>uR;7Vm+I!-+g|{@}HvXed8E&>Q_=5byNS4{e_2fUwwg0cVpGD518_^^JCnb z5xu5;KA$v#wa(EcaY+Y!^`kP!@eeJOy`wo1JkWY{t&^U+bv?Qi&oY)tmrnJ)3WwS# zyUwPcsJ_yvbN6r2!y2fziNEz6U)Mze1bt5_+s6d!drHE?IMfe?%N)|rt>?l-4%t>q zT;bRcox+8rPkw_R9Ex8j_`3xE)Pn23ZNXT=H#qoPe$D>K71bBc$pL9upV9u7<^b6x z?h)AW19Ha^6B>%a_IzG4uMYXojMe6C zAIaB5bd7n=2_au5J-!iD0WS-mX}PvP9Yy~BHS?vy?i>4l#R`0X2G07Vl~&CAspirO zxVDGCX-9+V-FmfiBly@o^WQ2fflJ8#iu7UNLEvnE0lWv8x@CPcJ$Gr&Uzj?Tk#Q(C z*q8iW?2zD&EjVkcBluswYUv7j6KVrY=~+J^RvQvE`}B{?<@XDZ!lrF^=Gi}DLPJ;d zpO;`IMtj8EuYE<0-y6;Aj?9C`nj2;rYmM@$aXd$gomtyPofm#IFLw!atdQU}jo%!` zK8|sEpG$T{``&VTzP8%Wyhd~>G~2y)Ue~{pFT2k)Z&~y3QFH&+v%-4cPrlQ8-->U9 zulP>OEnlTy{akXvf7-ki%!@h)?_=jTk>6>0UVpt;+1FU-^lgmWlfHL?M;OQasCJcY z@y!H1@2vSF?n{m{e^tu5!FT}q)4`f2tH;bno75Hdr7mSSdJkl8a3d9nd)~vqTAQff zm%%g8ga5KUp+oQEo??j%Ld=;Zu;%$sh$|c#%aSc2`%lYitVFrMtX#c+G7%i*%7!Rc zvI^9_EvgGYIr}9Xl8bA)t%TPAACvQ&-}?(cM;nG+ zVbd7%*F*MlV_kpTonV!Zy;*yyzOr3DRxEwph^0^M`JCl8Lf>aOuG<9cP~6m5`XW(& zRhZv?Z~fz0{p&VQbZlX)x@qmH5IUGXvY>b=WGN^6CWziySj3rXSB6M-&+W)zz8^t7 zVs0yeS3#DjR;8!!cf~b!V^&J`UvbOCwyj!leH$AUZ4l>I?JfO-bFtxXPte@b4V5*kQSLuC;JxEs@Yo5_Pu55h>K7@2^&E}au=Xwg~5tCK8ofzL2W)h<_ zLh)d1`B%pYLG{<1aINnhjdcDIl%o*&8h7HI z=KMc7Kl(?=2k(6IM!>r{(K*dH+9LGp_k}bbo_GGSRprMxe8c(2IUkcU_jKmGCi~R( zADg3V?r)8Cz0v;Z+*kUxhl0vx*fw8xF6aDF){U-tuDPrCWBbF`yCGXz?!?4q=^aYC z>U5a%N0WbwvHH%X3BE7EuNa4qs9@Gdz9Ai(3yVCH_l@4fs(gRq_EfzItZ!$XVLP@X zy&GvIjyMOXT+NS4AIuToJl+MYv7>Jx4+ED_cqV$vV7*f#TmgSj-!8*4wlBgT3k_fccLzdzkrYl_E=HHSWKd=z?~G1fWm3F8l*);#*0 z@uTQ`-gqkb1>;lUzi50u_$A{PwyrJAFuscPS;n`4XBtlhzieFDwWjcj@dVa=uNv$7 zSg#rPy{}#2bz_}xXB+D~Xm1#6jGS(qd#q3#*YbB!d5=*pq3-M?{TyTU+c>A5o8+Gd zejPc~*Uq40w5OdTKkW-2!|8@{wcC0;5yq)5>kHpFeHeeY{YTC@0NmAhI5_&t2=Fpa zFN6CTj|OjSJPy3A@p$kMu(p-`Xr)-?krTS$)s`pVQlAHdMe9oUR{oxEd_mO5j_;(pd)IZCnB0$i@GY(%*|~ zWYTXJAN(TtZt=nIgXu=uJ6M_<;u}+6lde9~$kFz>yr0nL3f;kN&5!wpf1_x(?Ab%YTyH zfqe(bp3sU7XXQ4uksiIHGhTipOd|b!<6FQN82=qS!8m6Yis}>7NS8g0Bx;{%0BZ?_ zSo@X0&HVv93w}4^3daY=kAi;yGqkh4?7er-=Vp?#@jj7qO8O%Y#Y_0R%kx<~wvn$w zzq0jC=w;+9^noMUBor^^@3lym&1$1ryR|D^YR=ZAUkNUe9_N!XSog5I5s&5=0!Mfp z$G+A>*Df3j*0UK3rx*_dUtoR(e66wSdzbMuV29!rls%nvJ+m=@M9rxhg9=AYYE!rx zTmowj6fT2bg?|mW0uK8N%oY0%t}9$CKKOk&vaJmM3aon12Dg17@AC!pbpm%Iy%RY0 zf_s7;idUg)SvcyqjU>t*m8&3ogiGMH;e>75fK^t7!=X6IGW=b<9K1UmwT1es^yqp+ zA)VW!E#wn@pEc%o?W+h6<2V#OZQZ5|q9@iGWpo~oPPIjU@Pg>n^_T1%&M_99*<1>~ z(6|Dg1kTQDw99Q^`9W>>AXq+B+dTtjip$pG3t~^4A7#&5=*;F)@F!rM7b@V|7js;o z+)iNGAbXYoGtArE%->oc-S75Xh4crE*8o3g3{9bU6MwHm`hTO1VqBC_JOG{Y$%3{~ zoKK~*`J4s5r)&N!fc&rEYAC;Cp2+?dnkcJAV(! zZD=F^s;^%s4nfZ(-)Q_pQ%&J|oyo>phu>pdhOc(* zL|Nnd<@Y01?ir-3&oy#fgVQyqlsL3j=te9%UmudMA$9@B`d}FN;#_BTzSOl$)`v*f zeu;D{#CL{-;~VC}S|{}pAS}+ckJ?k=CUmNeaBFsL73rHfFMy?oz%E+}Jzu7k3<65M>>jC#mdSsQ`B zz|Li`^Jdxozi6kfZ8LvjTiuL&ey@OE9O!n$w(g{>O-tbAjmzLwz*-Ymz-xn5m)YQZ z>wO=G{<5jl8^PNfm%w`)4+H)Rn zSRO$7rEp>#X&&fC+Axk=NM}iut!o!V&s!I9eayAT0qE2i)Lc>Km}dQr;04jI->p*L zD|5uyseosoKh`%3s$Xqdt-rayQC4%i(?&7ps2xB2Z`r`4nDqzBy5;ix+PhL!ZrG!8 zW3PW0_$O?Lb<%?Pq4Uf6I-H7lh30qMu4@inE4YN zeY*nI_3hKL4V%;ccD?;PjP%(5IskkZ>6$~D5LpmE_u)G8S;{S=r`ad=8%fOgxxHFn zs;Qr&T!!od`>M5a-$j3R{frHtfH@uikCheAJgCof_VW+&bB9^~o%!u8=FjL4>XX9i z53SW*eOSLGC3}{^hX2X-T@U@V=>q$9NAyG;-}`M#9fvwyeLfw(hm)>zYlY)jqV2vI5=Uy=15X!D67o`9HZ`%JNHftW%Hwx0ayi0m^9whxs zaHs#r>Xp`|<12X^m8na2@c(Od>1+Gd$NDFA*#!Lm+IZP5sms1#t=UTSzXcgD=~ynK zGsbfB{s4Y!-X8$#9G#tCz^B32_27cqkgg4`LTAjYvSC~Hwae5o?5u#po&q+^<+^x# zIBMU?$i~_x))E!cE2Oh6zrb^2T;ppE^ZSqT=XN#!$9)3Ljq!U!WpHZqokMG~`#rKb z=0@54BDSd=`@>(5cASHrSoeNrTtR2N3!`#leWG$>O;QH`2w&%>#s#!N?X?=uLX^>? zYmKdmD;$fw`rlbsN1K+>>5#2wbdQsJ0BWfZO_ zR&^@GYRKn_vAHmZnCtk$cf@Up7kNF8mm!9q?dSCet3N8F*Y{hIj*jMi_0L@=jpK2~ z@`w7Eg7&Djr=EnO_8b%_EAvC#Q;7ZSA(TOA_zK>U2|gpobz@1t8XVV&Q^C>S9y2bX z;05C{_$}iK_{-qqq*!~Dz-?#eeW?uYY&;RXym18_Yna*KSUY_Jjx*`fHI>n}#wP5WfN&^^xY$q%2zK4uA>goYn28@>yl1%DUw3cTm95PE|bz6$;k z<`?0goXB30q)$!o%p7OGgY+R-=d(2_=O?hnp+bi@a@+{+XX^1FQR zcp`XHr&qv(jAw)QFfQQVLyQ~2)81~AkALt{P9Fx2YsE6yp;%|1@OM$aHLeh2coedF zUa0yxqj>N0bn*!e9jqh#AN7uXwX4nR2=9R$*KxioJZdZ-J!{-0v8Sssg5TZz9_B}VBR`&bSj)V{ z5}s^~=PZK1lX**2l^@SS97(?JBSk;`oB2zbAMF(Ti@H}SKZJhGIX@tOspXco9L-M` zZQ)II{xamhlwfhfC-Dr*m*l5qw0$f0;qt%Grsd)5eAm}cD`F9PcIB0)-d0bSkvqg#MoXqg;?ji%ZPQpQ$RKwUvZBoe110^tuG#S z{H){G9DhJeXjscOs9$M(HP0LGe~v^-;FrNYP92<@Ra_E`J0%pF|PFRd+mK@a`~HdC%rJeYQ_s zr7(y*`H}0M2=#+oDI@CpruF{172c2J>;7_^_j3R31aApr+2T-q2+pbrXUi&1_1vrV ztbDP%dAp(O4~hKAiTuUJ)&7k!rukIAvk`4`r};zC`Hw`8Y?U2~gBx@A`{wQKI)%Mj z6Kehoe$AZR55JoaPh&55i<-CJe0VzN1+U4x1FCo%lP>=RZ)@`oN_eVAHE*bShnS~+ zt8-G+v+VrelYdEqrAy~0abw*P&ke?TFm&8*xx-xs*I?N^61K+Ji}P|^L&P{zTatJ2A%sv-G2q^dpfaH0XDOPfzfT#@TNkieXvpflDWSsW9Cfy;rUf z^T~&#>)Ekyoqs&#E%rfPj_|J%yk&x=Lw!`T@!gl$ci+dnQOKvf>hHuHYu<_Q&P#M( zYaF&}4pv{3yw>_*bCmm#`D0w3>L&h7()Fy`9Os`({&!$}oZUAKeX=oZFM)M`F1zjp zM_(KVUid>__ktaY^07krGxRJAm(VcIHpMwJ%3PoPvy(sQ7q${nFBi6|!aMZ61UIz}L?xMt&i;bfmBB&k;;mf#YCaE~V{Fo27M(2g3 z#TeW@FQZ|id8$h{1f!1}?)=ND%B}Wa=sVf`D-wOOFWP0I^RG(s)gJedF5bh=pG5xa z^U)=rMOoiD|2num{@F6N`zIKBbKi>Jd*9vpHz9Xa!ad74y}pt!;yk52&sVVZI`eLG z9pZYaniqSavELbXKVtbQ$iI`6FIx%OyrpNVV(w}4QC_zg&(TIv-cruL+xA3TNB-L6 z%Ws>RcMrT_#sf(I1DHayJ(rWf8)e1i_i#0iOB}I>Fc|DmywBzFcV@HBpRzgogE+=) z+?zNP-QvVIfiC24*`@D>D%KvWz6o?K>4b&{tRH>Zn4NC<(Dwp=t9{-x|Dme-2QSL| z!MukPo(c+H=)`+D7s`g;*EhdI zRat{bSAVQ7b9eJQnjif)#!<|bt(_PDX!%8|%4<#jT=P3u@nb*qPV%+heTZ1sfKQv> z)%@tk%GY`64d-{O(ieLnF@MMNzF(T(!~AH!xQ^1Ehsv%0Ja4nbTG9Jj@BI0mkZUx5 z3G>zW)W73duWuOtaC*__}$1~-*QW}Ru20|vM0vNPUbINWq;IH`%dB?X5KPC zqc`TIlg(c)v0wAW<)rI6e=@QB9r~l*70dNT?sa4BQGA}@_Fv?_jJ=B(m(|y(aeq2= z_p;nd=w36?F)+dDc&gSHdJZRfu_^T4s=WTe*y|IreGx zb^g}Qm!3Z88%es_Ypml7&D%ENsgK=7`nQL1--lRo&zm>Uyl9_&i?!Lf6kqen`^5To z);GjD|F{1-uiGHxmNC}&TQ|WwB>2Dtk4*6S3BD!4(-Ztgg1-S{M)uwBm|HNXFq8hE z`ZscP`X={93G7hZ4LcVjozNgVS4*%Gxx~oE$kus!VMk(oU)X~f9~br~rrg5e#Q3Q2 zXJXD}S?h9;Nb}#n_yHmkN=xU{~__~-R6z3tuar`AU*Z}o8}#3 zUbI`Z&ueGYX6^SKyd${Yi*|4KeQx)$mW%$;NV?9$zj7SUKdo*4aaH_it7^Ljn_sT7 zE6!DMjU09!2w(mDFP1x@s+^G1Jxle+kh{SAQC0j&q{~lwu4|tA2j-vHid~`qsWaNn zH`;R19%0u<>5vP9COe?&c7(JS3J#qs?QkbUqb#>2^L4bRQv$xI)6P$tUAsz?=tJG=4l-x-WTRw zk(4dlVr{s{PkEiLO7b;-F0n~|ep$i!lgMAkIPMWdnFC0dZMzVwJ_nk2U6oFKzfEPI z==>YVzbL_XCip31?V-*|FlS;k6dIJiOoElDexmYY-*yw{Pq7`*FC$;qhvM&P-W~A% zV66KV3e_@kT{z0TyOEh-tZU}U34T7opMlYp?Jvf)obVe|KHJNmMdc~P zyfx#3y22`yvrtX@?E15-<6gvsh6muU35K8j*3GtH`CMUlW3~7J;2y-fpX5+{sHI%Q zxn|^V?Pc;QfGmU!d+<#m-FFyaeLA0L&+fg`MXjMiZlZb9%?rK3yMcV^ zzti!9=083ky=uSEJJY-;=c8A=YQ687|Frq)KhwZJk}iIIF|W@*s>;3O!hEmxddE%X zJy*pGJ$iOY_21OI7h2(|{wjAD^In2?n6diS$;KKt7bp0R1V5hRI!zkSf;mrSeJ*_` zSKlz~L4Jut-_sS=p7tB?)mMgbI2317mP7q(Etn?b+Lgc6KY0HkLj4=&MBA%x=v|Un zYkXo`-!d=SK6udw^jp*NMZ-dQ8@%%$_~He>m-+9(U(Go7Ov5I%hx%*un+?qSpsI|R zueKzABL>Zmj)$2)*Zj~c+coEg-lNU?2;L}TwfzKRweM{?uKUco5HEgi9OpgKvUYg{ zE@fry`3m?`^X3|tM9f3+ixz!ZTj_7LmHzlKFEiVpTr&IR>OzD1RR07^O_V=~boqFg z^S`t1G+*^DJO2mghhM^vms!t^=KTb3nz71%Bf%=4klEgizAxML{GLPoLgRB3_wD0* zKWp&|*L}!}=PABM=eOsy?Dxcas(qXG**dfvF`=Oi`j$72{-XMAO{TtE^#v#W4V+)+ zvX!sBwRnenN9Wfk`BENh!2O-yK>nW-EDqx|JI{xGv2Pc$QJ>Q-w@6hP!N0=!oyor^ z!74-cDvtZnuR4FxDqZnx!%xod?tG0^$%l`_ws<~#$+o#Kdzv40s^+f;uP1s!Zd=PO zZn@|;2av9{rk*+18h3*x3>`-iS zdGevwWAS|3apuPTj(9HiRMH6zDhn& zx6ggJiTP2dC@=WSnzz|6(5w5DYn#7C6+fO!i?)nsq6eG575syZ^?da4VCL3rKj?fg zZC1FB7&{ApC&r(Jr-&)C@G>#|yfBxTQ)r=B-#&YPWl>_SE0-r$ZPz1C=4+`a=-my? zbe@Xu*KI|5PdJSn;oA~; zSJH=|vkZ19{FAL+@iPsz!seOO@CLfX$~Q+J9-EWYVSS?-XOt)61;bUk4*6B1W!n? zlvlS)%tJTAOUKGo%l*l=hun*#_e4*uIbvRoHPxGz8)3N^V<8u7oG3TeXrU+W&4s@2 ztnV1~E!r`gZ?b1e^i3LU%0eH~g-aY8fcp@aIpTh01-uREvU@hi5MxbtdxO=#8e8V2 z;<2`!;lANb-9k5PrDC z`Jy`sE$Us3Btl~>&l&bHi{Nqtma^usI3 z*WWjrceZ(&Pm~^ht>!;${<-FJ9?Sd`e4RhDXHTxl*Lq>so5*!%FXU6l)oZea7RmiH z9=(f$u_K#@R|Ib@&k@!%E`c`z_arWJ3{3d@fK`q{lu-g7PP+V5=5Q!Za2@!&c!4pT ztUgDYANoR9tRaskpU`lzv4)Fz?D=pjT_A_szfB{P0cmS@pe{*!2~>&a5-rb!wljH@guN8m_TitUG>A zPWK};=2x=(byaqT{1)W*q<~o84l@4+^EG$KU-8_<9?rk1N?!>x)kaZ|!{O-}pJUCx z#r*JRl&^Xo$(r?4^KNT}cPaVxtQjYnH>DNcnY`Gm`!JKuyQ39e*!O^WcbOOM5`8b~ zrEis~ej)d)<^FCt`AK^<`VR6C?0nDp_a^y$@N?wXcFx=NzN&KL92LBH|D_RrH{{o{ z-2IkQe7wUf7SfQTH%M@cxL-!^Pl(+eAyHHg}UTEf69E^g!`})j?S@| z9ijf2Do!_Y#Ayfyr}$@E;hdaso;OGR;~mP0`*};*mKT$J^^eG3%lR{seAzIN^q#~! zJOAY*U+I!pJly%OB>6o^kA5}U`LB_Gp|RdqQ;0b-+9}>inF3GkH_iMvkbTWK`iAN$ zpGP^LIREX$4%H*_+jq^|^uXv2@INiKY5}x#gy)jNNG4In>c+oFz zHShDpE|nMg4>*K) zoF zwhbnIe)a0^?{`VhzHk_S*?VKD{hQcMah^Xkw_j!H9*KO?#Br?kSNl1>t038P;jjkG zo;^zSr=0MW^oOq+!Qm_UN4`?sOB|}ZuZEh($b6#q5-xMdSHcyJjm%NUR2?%uc+{=tgEzoV_V;T0!e5a3hCS*h zVb5@I*mHAY&nMupN8c{n(Kg7w1+_tK8a4Q z(T^j>Q3)&?V!X%(;b9!IL3lXFNNi9a){Nhp4bk6JhmDZcJkZF|?R4%Fvrbpvn}8mT zcdf5l({mRb$x4sz>4u)gjislzvFf7nqW0;}@fflTqhEHnroY4F+&1a&VcZCo{gRXZ zSI{FYohzC%0K5rU>4S9`4+FnzzI^qS?JtAtdgOXWgBLd*5B`H?CxM$t$FKi!en@Q& z{f)@#+9l@O@V|VrrOT52mBjvkB=+wHN8c~)0_T_b>c3TP&nYeQWIb5^EOQ)*J!(7E z=l?HzhGLJ(mpz9WtL^@5JPtg@Hme=S+2-!x|4o}~Zg277d$y;H4WAp!&ckoZ`^H4@ zOxv&ic0D$;$Jj=FBenT1(%X2g_Aq!6<4bpDPr$hAWcDkJSHOlkJ&peg?qPfyxV!Or z;BLlOf)_LXGe1_jgz;3;mok15+{^eC@Y2R}!Alxz{#n%c3+(KPU$f9NAN#`fVD&47 zMZvZ7bB=5+AL&iz)RC@l(JQ?Zho1Qm4!w;uhh+Q1SJ;}EQ&nL%Vy1(_A;g$eIF4An zam38sh0BPwcDRk0Ik@l;vC4XhSeo7?*8Q}vh?y4(i!4SP5wA$B3xJJ@8J~q+i8X)! zky!SfK&_p6Gh6}$VW=p2<2V#CMsc-^uvPWKQwC~AMwF}Gex9m&q7tNC{UpUN@E?+qmr9%OK zX3wF=Z@TMy?8}jN7B&zXni8H8B0u;ynzs_X={c@b-5rW=a$ZzWIlA5sxfyV4xQG6> z<@>rE49CS5Yx7ozcT|q+*0PMuS=$(2 zW#vh!%2SAb7_r(`L3^JL#m`-@`Pr-bkEP6YC}V={=qatAa&Xq&fM^=QVJ{8X?0<(09C|&*1p?1?J&vEIZ6&Pb5a$$8QkCeXbJi zp|)QYAFBS^<5$~nWSl9)R(fd{E`@5~3kEJ(k z$L_Abcxk@w<7fUgZx8cub+#XK))x7*@A_T&tCr3q+o7$L zw<`H6Z(Z{agSRsnyJ~eF)cY1OmFQm6S2UQW&i&v}*X;h>;7d7wT7TS+DZz>T>oVA( zc({4|U3}Z~s_;7r{zJlf+3De@V<}hnGs5mMwtIwSf*0qWS;vS25m$ zbOrT6`7m_Ho}TXe{fqMBzTaz>`-{tJO)mTqZSbk(j<;Nl@9 zv0dWG)~3XRIW(s#eHh0b$g1BA=ZNdN5#WbOSHIExqj#9~+`59sedwHFS?P2@g#JW5 zb$;@xTS@g}>?3f-IoTZQ9HIVHbJRDKsNdb*1LNWx@DAk>8pfK(`ZMFj^I$(Yf1LB9 z-L=q@PulU#0>ukEmYnwDyENu{&rI~HpT+Zzy`6tH`Rf_Sv$UFr#MOFS-}$JvIoc`8 z+ST&sC1qhkb6JNv|9t1m7xF>;Hh0)`f_W1XUTSlccfNTS!Mo0QfC?nYf07CR-Rt~` za9>aGHwl)UY)a+y+^z1Nc3CF(;}y0^`qj5W|BBAPDzRDmB7bA@#oyYzN$~auqqTN< z5f@`Egi?j>U~x+vYS(u7U-g<=m+#%E4EkUS9M8{XV$b>{0V>fcKX1{vJo+!|ML>xp_BRHzgFW z1vf04ml^$z^vt)*JAE>o^^DW@l^x;Vot%G%b>p&Z{Dj>xPJ+Lm`FEMG_EftcOS<~{ z$XSwiQ*eM^1|Al$? zSMl@=#%AZVoF6(am;3TT^P*l4a(>k}zM7mrttvnCZ0P()oG(AluijCQA?8o7(zhS! z>Yv9r|M4n)XOXV+K=7{SZ`@dzZ2pt*A2*JE5p{`v^{(@uf%|1ETs=pub9KArbH6-i zJLG4rnHx!09Al`jc`uk3Wo}El+G|(mzeN6UFzsC1h~4c`__AfE) z$d&n=^RVS+Blo6pj77wYde`D7r>niX^`3W3haY3Tv9j~uP3%=ai~P;V*L<|2d2Zt-mH*uUlDajCBPw;2w#+y}oiJ2cFB=yms^2Q; z`dT5r(Y`hKZgi-RNcW>)*{l%rZ3+Aw>B=v2#Bae)1UnS}RaNF}_$uoY;y3Y8VTD|8 z2V(WnrHBa)pH<1lZ%D@P)9SZ%WoxW0H?-UrmQx>69pgRXc>j2)d0)XhrWKj6G1iF} zn)hv$?x=(KdRF%y^S(DP=AYCC@#6W4SIqwr{`X+|S$1zY*3b5#qGIua=D+F-EjSx@ z`di~p`(h6D3$?;Y_66$Ow8BaD%Ie#-!dW&-qC2#2g_Gc zCiyksxb|7W`HNJQAswo7vX4^VxrI~T#uwZwuMfO`4}8x zUU&0CPrS!`xbu5f<)3hF{vP4U&R@JLKb|R{==>$C^5eSz_d359`OhU7Q`Jv0AI5to zA3J}UL|3<@&h<^XkC#jGr6=T`33OXcIe=7Y@ZlkhYKqa5*c zjq+FXR)%-Eag)YJ6<2iV383HcUezgbUvTpxd|2(nfdCE zXO8RpPGX{tFk9}50L*Vh3WSj)Q6ttZ_WEJ zTW$m7z6L|d&I|D^1*nBhU(0{bp#+X^`jo+SE47?Q(z#9RjuQIBkLxk<;~vLoutRZU z+sohCoVO8wYy9h!v?Tfo+54pe)pcKu{AaliTHn0QkR6oZeG)uB`J>2x4*8SJ+Y0#! z#sefk(3n)a_F94WHpcT@k@L5K8~KVO|4HX>NB-Lh_s0bHTsg0obgW@4zC!e)?MYvp zzu$PSUDkhg<8Sqc{fX7yM_TUJt;mhBd@3jTb1b)$otXBZ#?sX z`i$1=>Z4a!#}Mm~kCY#4;QO4vYmzVBYJbJgJAd~ipXBCi$+^zo!}&2rs^^=wziMCj zl6kB%F`;3o`QgJ@Q>;z?)(|!){)lsOtSx?RxxJ7(#8~UZzZqBefs06QM}N7>`THVw zPl9Dc^wC&rJWIaTKd+j105abj$C@Vmr~1jx9;@W_IoS14{gqxlcgFf~E%OhB{~P0& zcjXJM%UY9-^XK7~8}2e?ljLG8d$#lcP?dix>5F4q#ra26AV*lk;=Z}ILx)gs!y7p&kSIz5jqVvhh>JjfRitA86I?H}bV_ufBDv^T&~YQ-aCL{HgPM zaHl)}EbEH#8SCHRy#r6@m`}|=Cn;O=K=2y+<$gNP`LV~B>XROQGhf$V+818a<5>5k zR4r9=MI+@n3Q z#VPMJ=RW}V`c}AFd#T)qoj(okYYCQK*`~Pq{7}6P|J-tqqT{CoH>{ESL+RZUyh4Jd zUt@ZH<;3-1b$R_Q{}g%^qQAubym&7uzV)@0`Olaib3iqJH}jr_cPJRW*>g6>=IMn| z#K%+KX~aJfpG!=Cs@3oHs?YE*3kx5a{eEhp#9xaU4+G2RI!Bc`E=P6-60R1=Knpv{iL#2owN2n z`|KlE>Q;3Xe-pqIWi{}}#tra~;HBt5(TSzX=XGi%dKU2VlsCW&xxB%e8VY_-j=0A% z*8J2LckBEXGjy71<)=t%3PV34Ym_=6VGuY{Y%d z^%_^@OA_^;m2b1qyv--T-;H?aMr)OVbS(5-$wcZ^eh?ht8u%FSAmssk7Fc~$A}=;p z&Mo;Hjz{rEVZ_7x{9n{xjotE|FAsnvFQet=8#MXJdM#bdsjMHm7(X<_kZp-3_UsU} zo^3b}O^UNS(DL*TwC>@2kJfWpb1hRomo)^ffHp(xzRN*qv^5jNTWmW5*e2?F~1fXG1@Qo*n%un$!Gj=E3E2S*xLS|7lOO zo`1Ort$Q<%peyLl(etAFEY~xe54{|Ee)J~jzUTwdOttJR^n&PH(EZR)q5Gr1Ko3CA zw0zHOAbJ_}Lg=;7ntOYq7eSwfUKD*3dNK4XXqF2Lrf0S|sxNv8^a%8l=-tpup-)9G zjlL4S4Eh1|vgm)J2cv&LFNdCOgE%1c$CX);LU>%-U<8>eiYRH;LqeAd^Gsq@((@_{3W;nzR6gfy%((c zRs~PmtH6&_UhFa8e}KP|EuDJ>Jfof;ATblb+GDEV&%qk!8o1kvWqAWUBUt51U_X~v z!Hc`R2CfDlJSzAkdaK}r4-dWupp^VA+LjRFq&?;Xmqp!&eh)2wH^J{D_9$N zTtS_b`<^TH%+!ZoXtlHairAs2=RMN?6Ii0$NJs4P_Y3AV?-zK3jHl-rl$DH!VKXWz z-xSPrEbhCX!3NhZr^q=ZNmzU5*}D{f7dxwfm!zL6*BaXfTc%oZA58Zw;(oWjPa$04 zrSDS+S9$FPU$}$U{>C-%;;WRlb?_mSGu?~do6tEz(QC?Q-KNCaD|B8Tv7HQGF;;k; z4L+2ELlt~681v$}Vx5~tzqWd>)As6wb1OJFuiw_mxrg$|&tnPaAI55XqHzWMsj>3& z9au5wc%|QH|DHFJwkrD{^HH{az?ze4dp>Y*7Bv|dc=`60jAhxViTAB<%$VLo)NpznSu&wAiT(qm=L2aJ1xr!k%xJe_d` z+{?JMQmToQGObGuM?W~qr~0B}O5{`b@D!tBSR9VZE4*|**bRH}FXkxL6}&EZvHO_A z;2L;{V!&qutU0_r4M<{rRl%{oWE<>CyMm%?8ZeuWs)WBrv}R1kVr<#jC_;TkWEQSO}FMEP=Rw580Oa22e)9nAu) zft5Fv*KnY`2{*vXTVYGP%3EOzR^AFeSb39sq}mu=4qn`ml;Tt9}93Pbp`=;?$D&Gmnsd*N(rvmQ3rxl%?%zO$?&G zO8ICmkd^}1z?GGm!{7$^M$YY)1FPNrAL71(_~4g+U~Y>K)^7s~H^6VxmgaRvA}fC` z`&9u)zpCJEdbealWDAZp)Bwjlkt$;^QI1Q*Gw$#uk=xK|ju$gWYpG;++AYy!Pkp|m z%fM~QlOsJwMCP*mNiz)(U)c$<;s$;(23io@5K4? z#tgyl`i^bBqU+OkA||ajNoZi+JMmpLR=*;~u#NY!S@jRv2wrIMS5N%%zL4-cOBBEx zZeH3q9cL{0$WC0$9Ie-A=L_Z|hr8A)WF5a_-W>9BIVLLCv3YAOYv7;ZV_wYb>Jxnb z0jzm#$wxJ{^&ZaER<~dwX*8Z-~F$jbB}t z-%K}NZFar~W2`;p9%EfAJ!7nEvx!Oh7sk4_>atoHqxg~--wO}rTAk~9T}OUK`OM~R zO&tA=75~trd>v!8H#)&n^Q)BZZQl0yJ;qqEoSEQDjn%)~!Ngcxs|}sDCEK5al|<_TtAiT8{@-IB6K=ilsCl=qY?lw0zCx|dQ)-Z#Mq(w8V-+~t}pns-m&e;{Rl zcbkWq8|yskHJ0K(GAu9V^k?QD0l)XKG6%94LBdzW z5k4O=?;L!+W31eEAJI7nXEr`~4nEU0{*HL63Em*VI~psFV-kFcvHahW;PDCmJi$Fi z7BNh#zDwrx`;)Mj^yfYKEw0%IgJU0E*|-8{)XaQW0A1y^2IU+-i?v!ix^v#IIl9CZ zI0KnR!QUGGHMCWud?zqft!#D0dBYcI$$ZarE5@V-7XJqL4e-I>n-nJ#?Rb}0!RLVG zzXrYmJOtbT&&%BDPiLwOlqJ6!`+MPVTHmVndVk8_1aalxC>O5s>NiW-#~L`+a~*u$ ztYu#s;FsZFiNA^9=)2;HzIT9kqCR4aJk%+VJSfgL@iP)18F79J*0D%2|HAP~_hW0q zlwXCf8t)g}g!QO?k@$_y?2(;#i8Nxy47C$S*yH^X1v_@3U(7h}!W?TmH2Im~!= zpAbasag4g}t8T?H>P++Qz~(w*9akPU*7|ro!T&K5!}X6-|D&<`S{YU5Usw|HhF$ny&Ah)i@nTQgnR>;$pLtKiJJVRXzAnLP zNAXFA{ll(*9=kV;U!#BDCU!m7Dvq7S=QMMHB}=0d{M3}gj-H|4sw(NH;U ze2L!%=P<7u>qEs)jjP~+r2w1rIUq06%nJ z8CwlJigK;VI(X|Xc(zFKfVZIhTd+RV)PDIrxC%b=?jFS+UjyrUbRv77KJe7@n!2x3 z<$O7=F>7;ho{FC#%A0@(F*yd((Ar^YICO;}2|7-bC{V?RR6T z982Cw{JxanxBmy*v>)&N4}4M=l7C?Sl=74EKKdX0ergWR^OqC+$^T%R_W5)8yE2x< zRQv|o`1Kj{k!8rb@1Xgebq1Gzk+k)7CvJNMd=P%fdus)gap1xh{3o#7)OlSF{uyoq zY{~zV`1uBWmHiBYFewJ``RB49+cwTg(%8PUpDE=x#vV8M5Ag1y4Z2sHW5w}M@!Uh- z#jWys%5isqbuUMIR}E~*f8za1a9Ap1I9z8Rf?4vCmIL-HpC2c6En1f2PV5Y4YCeNs zgR>WW<>MCqQ$BxlUzE@6qOx7(vjwaMmCsgT4pJ7HBiEE^9Ch7uOc_Iw&vU>rMrv0W zHWjIFT#d-l36S$E>7g4Oq~;1OV5 zPyRx`I>6fdyHMUxdE~7hpBX&gqj*+84}1I-pT(R6KW*Frj=i}Cw)Ax0^fvE?UrUjb z>1Ql+qE!78KS=Sp_4^6_D#0QUcCnA%!gZ^TiTXQ*ZxZ{j=Jj$LG%y)&y7kJKb&S-0 zJ0tJa-gN(kf7Zv{i*wR}=1*^aa~#UQ_Ts8}eg2Ezjp1p}+|vA+;O}XybFNyH&%r%) zWBoASWybM2eRCYjhmJpYm^a6NiQ{p2+JB!ne=hSG{vv-DyuxRkl>N)~^SHjb-N@6= z=FQv03qQX;Q;vDB^~?Ov53irG?qdxxj{8{6;~0CR&f|0qwT}7yn%ax`5&S*P8vyT& z1m9{r3}25LtL>M-+DH3S9`~ex*}o2LDW12gf%Q2)ry<2U>&Ne>^a5+0J;yT!!rU6q zv`6Z^r_z$OypK=%(^}zux{kH}#HsT70nQL~jh7`~)P3W9z8E;)pv>JYY(aAyU$zOK z3nzFLSwji>x=LHXkN*wOXNfR8jjh<=}Mtn>GqjWr*i1e5RLy!(~1JbNFF-|Ray z^C6pN!=iuLTxhnYY;m;K_8Mq%nTGV8T* z`3&76XpQ6QXqH>H1$s{O-e@j)v$N28hVEu`@eCch!u!|I^P)dR&xh{0N%;)jeCWQs zAB<-Bvo+BRqIX31Lm!6LygCOx0DU|9Nc0ovqtI`nHBXd7?N_mfYQ708ce>V8Uz7(4 zc`nB0BW#QJo0elUA6jFx3L2l;c4+yPFcyW);gm@(LTfzlLCfZ4v~0dc%cl2c<#;ZF z)_6)NFMO;)nPdmFeALkLaWz^#oQ($hZT% zl5q{ZiE$mgn{fktknu$D$;O(rml#*Tw-{H!PZ)QA-!!g)zcsFdKU%y?(U%6eeT$yO z=NS{hk25*-*~UZ`gXTqn>GW*DVKT(M;fXAa`6yRTv^aFU*SP4j?nNl)ZSk8mReTN- z2hp)Z^Q)>irQ}uihrp|K;zj9}}rog1<)U=i@MY(v2Gv+05vU0i} zGFiFSxFui9ZPBku^i^FpGDxmlp8l&YK0h7Gd!&7B^T|_j>|2BKRVZ8E_3MJSPw>IU zBkW&xf?;=(>o>&i(!}mgIMx_&SFj?FB`(gTC{(?(%&4%M=Q|`GcS0C7J zGs?b8eD~V2?2BUUYpiGVRy5YJZGGcmWs{lrq(ycU(K^nACu?FcZ51*0V?q zeOBY8-=`C9@Or*%tH(he7mD(OjWw3Vny2s(mmQYy4h6r5JzHsUPyPxF)UG7jtAf9S z6K(%&+@QQ=>#|$}-)39|_W>V)?;3b6aM2g=KycAM?L1B&R9*#J@&mA077j(lex$ra zJYzTSo*hViHQ4m?aNe(BeueVQz(ZU=+PKF19l=PC8hlHBv~kR1l{e=|^Y{pC;S}SS zp8M(92)a~^hyHG|aD$g6KQd|S7-Klac(iO#wsm|NSNm~Ez3lg!pYP#QR(Jggt|uLZ zebf(}y?plUcJoeb;zc{_Gv}4}r_37%ekZ|dvn#%(!zRWs#xKS$#_ea@pNg;PMwjbS zekGC9@D=mEd-v|edHUSupJ9INbHQJgjvhtb80NgjK>6hqKU>sxXW1_D5q6Q6;pUwK zZ#(12al{sXmwDOQT8i(g9SUz0ZHzPje76z&Xd`kNv0Y&P1?FpvaZ{YTuYkVQ^%phy z)49FsV;<>mr)m!U)%;7$kK9Dxn)#aZ3uE`J?dnbKh_CZu`InBk-!lJl_}>{vA0n^q z9c7F&TUXFX`;~4Zc#BZ3`8wEoRr9W3PbB>E9!8|{rZ?>6i|H;y?zB^$NfzD=2H>c^;>5P`GjR-%C*N;NX#x^tXt>g{n6k!R-9t2W5wmh&Buz*`HZ&k1Lqbv zilxfyH<#DI4^S>no!7I*4e;yWXm@JY7@xt3YmAm{9W%CX_4Pgup3dbR;C{w6aMidD z-q^SS-UF;-Pk*p-^5iK1qz4VDtqQL=HtM(<_ZSC*>m$qWL|4Ig8Fzrk;xmp_ml`)H zzYSdElRWpu`2&mzmkc4Sj`A3+}g}odkVkjC-&DEkHGdWFk{@>0M~ow#hwVvo}pZ=S9!f+EdE5}b-~O2)TQ8T z3f8<7zk`>)KOwv`FO3bCf5mTueu1s_+#0W+!8@{tHNfw19y zAG9E%4=mBm927el*^Tee%OlB!RuJc#fdzq{9s-Zx==hTwKV*Q zYlv~BV3ZtElC4a6#JMl~m#}Qsr<_ao*5|?L*!38~-y)!_%4Z|sS z4qp4iVW?WQG)@7}ik4hpTmfHaTm|22+yOp=IVpaP*W;8ko~>2zDCUEHpIDM|bl*e! zLR~Lxwa4AUOY>9sZeDNLe*?Uk{Y(V!1J-Y;chE0O{u+I=w7uMk^9h}}ZG0!r-{{0` zuXN%(!9{+UUPXR34DSs0a|u87`A%nfTgrJaDgTi%v=si88s%RvOWXVA)4gK9_&0fY zm9p>9Nc)H2>38VFeT^@-1AG?eas#L7mdXEx45;?M!SM7uOheInKiqbox;;`qnO(HI ziFu#H+ZBw@NynEsAL!P-TX`HOXw6g21Qvx+$iUOP|^0XsWWi(6paD zgH~cDpvC(Rt?i@Fj^+Kj#n6g<6k2=6_Go3|a5Vcxb{<-{$!fZaDRW;@-OA-TBd|C} zj`OBFmoBe8YLx4GU*pi=)el>(?J79Ecd7BwIjY7=-v?A2HL%XRh3nw1T=xk#z$@T~ zs@5lY-!U)0UE=vX%`|!Ty)X&VaqUUCRVAmC{0q-9-sWE?_}fmb6lc0NR$Ji0E%o_3Bj9)?dz zjwO(KbPP~{o!A6PfXuykABtdr-Gjw!0a`}9`Q(7 zo=rd#d-g3Fms$JnySK-&-DAzS!I({my1~19{;;W#P{GrbEmg_iq3bw>kJhSna zQ<#V93=(Zs!HS_jerjM#-k0~6I=224-U`-UBT;S#qbs~pKM%sux~}osmyK^_bc2_K zoE7+x$9VDJ5StDNp-4ptC&h*NF?4i}7A_n-~f~ z7khzz$7&=cy4RxoYJXH8d+t&0*L~1P`x5p?oWqemKREHHK;HP6d{ef)>z8-E;!=H#MYMakc`Lv>%lOlU#q8X7 zZ>C(=N_V?{rKUEcuaCNZ<)mIYRn9by|8V`P)PHI`LJc9&-+#~5CHwMt#=c8S_7z&k z5#_(jo@JhgVY`5_Y!{1i@N&jWG4~{q4UOw(lPlvhIZxi#_z?D?qm3Wt zL)SBm)%T0Q7H-%y}Aq2uz=fHMPfz<-K;r6n~ST3XZ=^Py;_>pDNce zdpdO*(X%o74g7`@SW3PDF$CT)!Rs4GzhB4a>%{XfG}69lQm@}$!egxTBlei}}7de=An0)VYk-?VjfC;J%8ddVSwY>pOTy znYRYs7_UatRN^7k4s zO|acQ*nMKG@sOyEjlmK3kFMXJvKjU+$4s4^G-q z*)rH3LfMM;cPMyWTC%~QLopVGJu!2bv4UzW71e1+ftxc-W% zv>W5wW#4j)u7o#>apW!f5L_V~z5?e5md$`m1@kzUyyD z;ubUNw|D(b)E{W9&#uQN_&nn!DVIbW%H{I3akcAjYic9v?{obfu8%R%dH538#~8n0 z-d*q}8Y`ABjW==ovX@=tH0*yf?>_9?_A9Sl`xCFezr@Gdh3NZB!c|^pySxV0KCbcx zFP#tT8eAQV<3ZY*4~$81Z-4npOZJfanfe)M4!lg9!aq1TJ-|!+ zAI8j@>8ifJeFA%rWV|H1b$jF%?{Y=5_ZD^6Ws)OhK7NNH&BTI@c? zPqxkrD1X$xgrjZYXhS&S5RN#6mAlo60croI$6IT23H--+NBepvL@{k*{?pj*Z2T{- z6%H}Jc|N%-_L0f3yYHK946*rh)<|D&n!wQf@WZ{~kuzQ!u`A9L&Axym^f?aX*UImVx1*FVAP zOLL6PK8BkAh1s_wn^R@|=PsNq4p?!buQtUx7_YQxnd$E@Gv)#A&IL=t( zbxGpyh6KxZ^EhU#OXcVu^M1ts*~HgdiT$?;mM^WH0q9<{cgeIyx*S;M={K-MZAoj- z*ZKKh)+(=+<}|NGH)xRX6Z2pR*LQJ!_=z>D=S$S?Nb|Z*g%@#knAaWN{@`xj|KoS8 z6~h73=7rBHSZjosiv2ULZyUV-;OH_}s@$HFT;;6-9#i`7(bI8IoVRsiymg)jFt*vb zjz{NI63rp`QasaOcj1#|EJY>%U2p!h)ZN)+tGP0z^S9m4Dxbm8y_!Mzc)@nlxratMt;+}!mOz@F*&A&kjUL(QVCRk+k zTRO%y#!J_pI#wKE{v5P(R$_Z?f}cz92MLy6q|812P@Kh^qBv`t7oXpo&rlZ998b52 zd?IDTh3w9KXOqG0+~+&^8e zEYDU)Gk>y;(D=(b(3)hsqUle;JsK=I9WCyqXmM{si~9gt`_a>7d9ep*@6&!Ed4+P} zDz6D(&O?gx=5N3&=p-2V)wl|N^CmtUB;Fdh$6@93Uv+SA<7>dP8s7r07~c)<4^~?Z zUW*tj=p*mr{yjdc>Od*QS{g-}##%BMKCu;j9u5|DbF})p6Iy+&p%wB4=-%i%&=vFx z=qmaHbPfFrS`MZ=9F2py(UH%ERE7*itBv7kwXr^0L2ZXtTZfe8MLZ{h#l5I30~PLz zXAX3YqTia6+)O>vV}1JdV971U<5}CQa)NOcya>++Xgo%M^*qET*h%zUG=E09=+kHL zg*zz!6|8*Kcxj$*2EPH`c8l`2Y!qa-bMtI-%4@<$l>7#`kMTrsJddu9&qMiK#PB43 z27r zH?<9K^9>Wc5%^p9NRO?O@~w?&a?)@vX z*8N!RA60Plp$1+Y+wI^q!1K-5l8sio#6E;_wNnL4P`xy-CEGeSVBV47ZNO__ry*>o z^6_=bbs?K~&u1-RUjc6dN9U$hUK06^eI@!xalV6ntG*!eUs}JD>lwOU5mVI1UKv{Z zoCIGX`7X9+xTk9Wy89gKY)XE1`vX5yv){9`Z$lsu8AYRqDEZNey>{D&kNnY@{sZdy8dF< zM||_F$TLOc>6F&;dyp%ccWL5BxsG;5xc)NgH!@cIyCwJ# z_p5GA@ZS*&=d zbT5vdVSl{sZ?`@4$?R97FC+2$!hn{^>@Kt2o!C79CO55p;kC`(`MrT>D5p!sXXE-V zu#T+~J>x4};q?ZbIOgg(S3M`%!Ruqnh4II6la?l_XbzsM7xU`S1BKA+yPz_tka_!udR*8g7+|1yN4Q|4?YJ2%8cs(*88OeT=oAoMx=gvaT^6%-$i1T*jD0A0IUD1$@0@to=8&QErs~?qhmp z%6~f=X&-N%_K{+r@pVg#b&T_T=D!Sor37ySR{k~b_T?I2fV?6ntXUqzs^IUrkFo)z z8h9`G8dKJ2_Q(h2^Gm>Nqn}!{3HYw+O(|ILygy}%E0O%4j+wGt^%ACAaXdH*|F2Uv z&N05}dgV^#8~v>{+m*&+FS^XUiRLx$Wx)@>+RN@@p@jV%wtw69R86**HQQ@%+?jY| zZwx zIbJ=lEzy2&$vEg~wIc3FthK0btAuFIIYoqByHoD|wdz89} z_fT;3X?E`aYpba88bdjUjUx83U>+eVVm}2O`OtS46o=%sySWE~uIf!GMQ=VQX8C6< zLvoc_^3OVP!GGU;J_ZcQKcVar+C|!jxm5X+-#*ju_Z^u-&A;_{m-*k?zxXnpm(Nd> z@8$S$#NzK1Z&T*`ar3{UPJKk$g~uD;*+)g4b35`j(e*#U{nB`Zc*mDMR6et@%I8h+ zLSS-PjM;K!c{UuaG1%BV^>;60{Z{2+#_HE8#)|Xm68BgV{vBZYTdeC1mTt*z(nT-w zcglq|mvtYz+of4n0l#FvXu$zypHUv1AB?M%x1Lb?7ytVOT8qDf1niG{rTWNXt ztcZXx&$}v~4e>uMd6R4jp3XS!SDKTZ;V}1$J$Y*W^}QeEp~@?A*a6mO^u6(410RT= zh%;iNcoM$?J^{{@av~o02fOOHa1NaAj`<33598axJ&hj(w;4YPp2k>z-=f|41@XXUDoU!S{hUMkb z%yO*jTSs@U!N0q$R-8?ZuZAL5`i{puj&uI@PCxRw8f{fYM(|hUHs$YnX_q3N3iUeI zS8Rj8Q?gaqsqGuYsrY59cEk1~%6qfPS1JD-9QjXef1$kMn7g0I?;9ES2G3_a2e_{> zt|WB199tbjl%KwE)Gv)ox=xp+T=S&DOY?kM$Fnl!7co9H$|Vd(u|I5bAZu1mkx_6i zQD-fYXU+Kq9Z!s16^_nB)c1A4>tU;Xqd)klN4sSG%-8jpaE)@EuM~5jrE`3HgCoug z*pm0hW-ENEkD9|%>*HQyPQ5& z!PnZh0`5ry7j++X-K_h^;^>@YB)Y~+pI1Inve3;9V_qKQclcW%JY>wIr%CH zUcxx?9kCrrEJ*tr)L)ih6~@>HH}(tds~WQ%TgrQBkJ@f6x50WSa@lOx=v&&oYyLXs zYYf%RW`4Az_C&ui?o$4hq`SH`}c{b&rQsT#nKilJTE#vQ5 z0}_p!bhFQ?joTi!-w9tQHTlxGDKFvc8rSa%_lX3*pJ25e`&HP*c;=^+x!4o?`4cRg zXlpgfSEGJC*Y5+C#F(pIYw^=f%DJ?cdHYdzs_|M}OG;9ovboCj2ZA3lRxH7lj+oza z{UOwUVXXPwernkVl}lnC=)QpVjyUGU@h*;a{cU%I?G&5r!)|rgAJtT^-$sL*ZR7f* zlXf*W2U9*1;25;lg6<2wJG^tQkF(ve*j;R_IedG9pGq)QMW5vRZOY|yYQ8_V-B^78 zXsop&i8(OcY2|(I*{tV9BkkkNi!q9|xv=X`alQ5i#WJ=1a;W*IHMJZ3*e5qL?~Ep1 zjF0vv&5?u5JIlP-2gBcg+ego_{W-SR{7B=U+B&?)cIRO?!FU+`{xHGcBsf34%%eEH z6Fd)?+!xo}gTTce1ZN01&VN@iKlU=J^Gn%3HY&?|T<+LauKNc2QqDLO=hQcz$Fa@z zx>l3_DzDqP&#G&S8u$qKjB9a@nO^^$=yJ}@igRkUDY=w#%8GO3$g|4hS+5FM_hpsG zDlc853wQ9+?}G@}c%9axJcic6{dOvG1AGhq6`O*(4;=YP+X|l*XwN2`h=Jmw-N@m) zaFi3BgQtEJXK-|F8rNH2!DlWN_lSN2OWMyUuW4sS6H`_}<1-t8X5JKnF2+*v6&nVn zOU}XfrqOC!^ND)`S%sJ4h-)t1%2#nNt@{{ZyEMM9kRc+U*Ly6NqnxoU#vncKdU}`6 z{3;jM!LMVhan;y2c-=h%--}02b|K#10-{|&uudWtjr}5MEngr^k z=TYR}lHY>eD#VDipRpp>RtZ+2?9{J_Yirlv?)C`1NP+6rp5`lCWwx7ncbXUNho743 z@2382mR26KgP;Sw=>HeDaM%+JfE@R9c(OHiDFl5;d_MZ|3>`=#@Z`(O|a}Dr^iyR znBwogoM7HF*k53*c&<$F9mZ$|(RPs_eoX_amE0b2Wwo-rGV{?7Iv*uIZoKQ;vHK|D{>NBry6d@R z?uBPd@PZ|t_GagL3BO;cKSX4x-`}ot6J#yF*LX=rH@)Ax>3xm&J=hkja8Cs@CklCD znmlrGL+z5q+UcYS_ddHzxq z`naz9rOLk!64OzSO!~|ZcfE9xEoDXPtZa#+Q$hNjaXg)yvPmvCC$9sx|9M zAZwX74|Njxlzx-7FW$DUpSRAl+s4I@^HUf5MSPwf*GwnEQ#@yw-xpg+90!{D*O|9q zo$qgg>1C0h=gRWzZM0(f5si;*+Vjivy9Ll}CE4<5_JnLLH0viDjn>#7jAmT3)6w{B z)!&G_1S}iLbT<~q!mJ9u*5x(utzhN6!RtYA@tHFLXkXHE#0o;+EAL+ia|3p_;a$qV z?*~4G^CJB{z-pX`!5$zUf?07M`PQJW*;lMNN!)7_eulO%ZLNTNLLQ<*%R==mtAX`* z1Ewdq2KWv5(28?seTQOu8MZ*X1aQ28omXIa&@M7;$3pDSKVzHmJt_gg!0+aksht8%SaqrdUnUZ2rt zqAyHbF z`2N^DJp1wv9dgS7R{Ju6VSxN-=`{%PhX%lZ+}2D z$N9Tr!!G;rFkFEZs~a<{ia+M#&7V|-x@CoO&8BztaMTLY@d2jR6K{YuW^ry z%j4i+s?vKX`kZ@jI5o<3Ph>x^f|?mV`D^`%NUlCu z+P-3Axdfj`yXKb!_r;u!eefpNA6{ono4EMxH4+<*=YiB~%r4~p%jO+LnM6E|nZAce z_lj#U>9@=~y3QMfE*Adu8;yF-On%kBllEba(ULkf7||8I1+qL(SF&{WxHYb zz3q;x%j)-b5obIz7<#CNEF9{u0-#585-{rCf7WW3IWjDRW12dg!G@!aAwfrOG)Yeze;>_F?y_+qt~X z^}n&kYnn^Txik!4vly$-3mA`}d{BayPw*&X*=`6XvepV%*B4t8lVk_V+0TpbfF81Y zp50h4inE*gbI%A|bAG|c=i*9qSXewenYFRojk2TLZP)%;s% z+Rr{jtGi#8?~CJboGVj2+4ZR2Bl!*WLhHXGQ;I=*Mjw@w($=U4%<=~l{Aed`Q!XUY zzh8+#W7M@?uC-p)v!Ido$LczVEwP^WmxQfytK8_=P{ea%sfU^WBz2n_>u*5qXZ-W# zjG6H;{GDqY-&Mj_G0$R8YJMj9TKMYw{kD6Sb|mDu7_;$|>wC?wx&HY&_r8tqJdyjc z3I5GE`WEwJC+}VQ%;^eFzGk?r%)v|elBg}|XsfU5U#Y9KbDrrp!yc-a^H8}OY~E{N zN%#rg#;%`G=Xh(Z?`0jH;ILB;Vhm1l{lBog)L4IO>waV9S)%?)$MH1mpEU2CI`h?d z9q^~d%Hc1@&AEykOm{iI$2*eeR?$fNhuF*u*7VSAkn|i*=ZHG5s8K!y4rBg1&aHnh zKid%}jsbPBjz3S5xCU5)|E@X#R{7rbqNw;6%V z@~h$eyAH-i=L7>NQ@fV@vwFZR|0KbmC-`Gy!fMqX5a-0eOy}h0Gb)6{mi43vPBK^*VlzMPGb390esz!QXQKW^V~xXy#%UfY&R#ycyfz$<*7r=_p`(iD2lHoh zJL)Sm*ALA5(cl(r+4Hi4!0}wjF<|-ZPq}`>bgv={ z*lx}5krNn_ux+fGq)4%DsKZWsIWw)3=*nViQh+#^6#S;73L$+HUyXTtPjJ_*x z>U*^HzIj6_`zFEp)n&{o@0H+L6TDD@mrwAh1aF<-y%Kyxg2x(bzWymGzruLbNlITi zewy!n_+4v#uG;-f&I8bQ1&>(&W~?>*wy{1Jl(f(lUPZp7zjgh(*tK3$oYNNPy)%L( z{n6qLL6g61?XtZ68RqwB|NH)8poCW*(PA#eOpG=$2w14_@4xee7XAD`Ua5Ze(eK)R3)?FW)sJJIjijAl zUB4Ce(_UMS^{b9qZHd#|)@DcL+3WbwGe-K%E!ygD`wo1qYWx|#HZ^_^yqED8;IYQa z<24C>%J?nHKS(g4Ov=;sUv)3`(Z*Wk-(Bx^T^ai>?x(1`cjC6+h}A;Ge8$CbRr&7i zLR5ag7c_)khq0NiGp0wer_VbhbAUqiw*}%XZfh_5r?|Km_4II#L%ey0y=MTtf#&T4 zZ%N~4b}k#lPchzMGu-w2+o$TqjQUMof1vBtrsCH%vtkY24(1(fp86s`!HehRG|v>{ zq2?c&w5wc&zp<`AJZZPtUv~=5GVjQw-PLJ4ZC5<~wt~v9HNOV`0ptJpd`&T{ZxO@o z+wgmme}JGO6A0@s)YUJ3c7AG*&&XFXzoz%4ahUUoGZ@kHuX- z4(=+(ztW!#jDH62U_7MC{Y&HXmtw9bSnf0^sg#P`j{YNuiR9_PW5825;& z&(3*qkNr9G&c!Bp(vkl`N0US5$?N8w5AWZ`-x0T@*>~joC-W}EW||wyd_|68taQ(c z(||1gPVpmam*+!sntzGoYN6koC-Z9o*Vn0EBJn*m!NU@~Zi2Tk-e^hg|0d-J8^>B| z?$_Uc?V4ReE>1M>TG~F(c=P1?B3)m9as3T&pD-Rqe_u9UW)@|z%%Rp}JQK7NdEhiF z`@pZ|iaZ9w%{?S_Lb7Oh_G6(v3$bHdB`)&9dYOJ^y-=D z$NY)=10Ckw4R3d2tqDokZ1WB4miJ+MxOw-%8)vL}aiOt3thwH}2YaF3_dNE&la9RT9>4(JpKRWX@Gdb{Y*!nn z&#t8QvF>AhZ!`bpq&@9_&Ah*v_bR-XjXzmXo;&AOw-dN0fbDy(pJ1OYo?G8ht{na5 z`ZuVb{^oKVbPYXMf)_Ma?iVrE_(;OvbqDfWg!ow2_3wa3Bz7AmcvoYs&HcbE=P}jV6qK^=c2M^cXOtjcQ~Sh3c4od<41*J=7dV1by8H_8O~!u)-(h?u z_+jwNG|<4;KfvFj8@zuLtTAm&&wc<_yZV6hOXCXoC*vx(^_HH+?_bowy}*jU0iM}- zB6uEf;fI?i1HnbVz)PD`1Fr(sy`lzq17m%FI@-88GoQ(V4}(+lK1NgdhnFe9;v%y+ zAKnj+AX|F#rJ-- zysvej?J_2=B>EJ6xr?9=owMW*=Y0Mc^Kru`Q(jYRWZ@ua>-@_y|L@}dtXpDR|@-VgrONqhGgYY%w3scnX^m&R4| zP;F0e{lfV8GQo1J_N9Z{>$aZ7oakdc8yaa}EQwbI5pOep8S@v1zoxPBxM_lApS#`g zvlI1-br18Fc6;JA=SS}kHE-F3C%@rO-`mj~ImNu?5?<=>GPir9c|+j!I8UC+oC`F^ zp!G2;ya#Nv;#7R=T8u7bPnuVS_lj}4cPq|GaWBI)AOqOE=f7{eRn^w*<(O!$&5&Sf zB*hxgaZ>%9yC^D-8@*nlEZSMnb|dh&T!QUjvYZd6Ugw69)3wZB6Wc9~znzJF%lJF+ zamHVQC72gJ|3tasx&*BluQ6|3d`UESRUf?jT)#f`&l@Y|H;rFiw=gU0LcKybQ zUon57TzSauD08?e^}UTXPv=eW;>KS$^&xV2nj{t>YF?{Ae?HXPdV@ysHx5cO>|6<8=T1oBCc#{-m*Tt|C1{&u72~)r!L%6P@D=wf7c*~PY$Q6aYaRq|IQ2R=(LFak6BBl8 z*>3+ou+uq^?C?3sZa3Q<_+RXPeWv^zCE6QnyMt|~{c}oj2LC$q4~74*vGVeAw9lOT zAi+N-oVL3<^EhvUmq@U36>BDPHPZFRCNYW^^)Z*?Ueh+_9|wQ$Cg18`Y8%&wx^JlS zv?I+Q>$Ws*x_1$6HS^7#|X8Av@-`hC`YQMR!aowkD8ueoi^Y6v~0*US7#>3vf1u|8usmV*uZ!WbQvb#0_)j3s(bYCL_eg16)TjpC}caD4c4iR)n9 zKhd7j;3sRgs^rD>ga$*;Cg@tO3YO^psPuG{v)@ee7rufYd+@G~?-Amb&{ScsJY9&- zgI)g^_2UwJNrG=Nj$>)~*keWRo3IZ(fr`40r?4C9Lm^tu<@%3=OFxKBin&$qJukv{lykvscPw*}YJ~F|lC-{m4-=E+Y z6Z~$16)*`X_O$5757et)T^}g*^l0_#6X$~*O~zl)yoJpB4Bm+&#fZB>1!h ztFd$qDYuuo{u_MXlyDmfPVL^@Fwd5wV=ub?d+a7Qaibr4u0eanW9#tUd2GHh?1iSjPaw=;3x*RldO{P7dMulRg5d(4b9j1ZV8TUWd~!HVYa9FvONf_ zm|OU-mhi`d?;|+z&ooE)?3K!W5}2KATmfH{aJG7{%)2oZr4 zl|Z2%in$%zsquTT!K+>QpU!v?cxK}&crN30!F|DuPw{)O`t9b(!y=SN9+otg z?OV+Eaa?zIfS03O6D@x8u_z}MYUptwv`S3^U;(5le0_RBh%Aw-XxDTEkfN0!>D`1Vg za22d^7w!PdziXp($R`d}d~eBQy$T=iuo7ou|Y(~`F* zc%}qTo8VazJZpkyPVilfNBEp8DW5yR^CY-;f@e%{p9D{z;2De=l49ClO-?G5U57^6 zmjK_FU=;@US<01zS6#m}+>eY$h=_=#QXcr9aHn`~?xCo^h4yt0e6!?mZ~i9N6FW ztGS-}RP^^)$`$`Mr5@(Y1`^^Wml5Ka$6s8Ug=L*lM2krutsyvf7pC zdPF{|ysn4S6^^ie(|t89EaV=?(EvXT*0F9Puah_6MKU!&XM#7Q&4%8WlCR-7d7H19 z#9WN!Ui{t_{&kF$$zPt&i)Y>bfq$fZZTJ(7A6|pcLX7*d?j*{Q`Vh|@eM|i%l>cnr z`q+1Qxb(Hx=7mWyPg=T^&%Y>7`mJBR|7Bo#%xyP+BW!0jzG?d`s~BHE90QC`*^Xyd zjklv*LO+W6AJ1pHmJVgRkrduyP~m@<@p_EvGdm zKl#kYgxxy7F)_3bHs&&+OVzl->Gc}mF4XhN)^|BD`*7v*b29l~d4}@yZ{>eeIOL*L z2HSuYr$m1CAP1G=UGbk>X1h_QerZDN42QzvIH|V6R&5Dac&RPnDzAOv6m4-}P1};6 zy{FLDo=ICrz(IQKOPPdrV>(S*?~zN6gV{;u&rRaa2g4tu{_1y{IW;ase@7`|)AhgX zJLuV^@D-=_g4@8YHrSp?U5qt-x8%Dz9^U5%bmBHXrVpWMt_`V^Eq+7t-8=dDUI|u? zE&1E02UHhWBh<-{`eMoV>EyQ^*@+AOG3Imm5R&iL$!R;f6Bm5-NB)!JcH7$vg=rbX z{^k@0WmVhplv&y~;k?IEP~ti`<)7HeFNz0XpmsH{EJgXGIS{3!@KoE9%VG_yO4m)2 zk-Y9K$G%<1xyKUxe1gTLfnpBDde%DC9C#g`=Fq$5pGkY4BzTE2#Y}HkxkPbDe+@@9 z^ITTWtN+;M+=Qn-#f=>@a8aXjv@M@W8XI1GoR1A zi?JD)*bFjOj+RZzS4i+G2_BK~H%Q92G}isLgA#nU@oIB(FV0x~yVF?LwvD9x`J|k# zPs(ZZNB6UoyMLK?BfdT|Rt~;R@XyBTTaU-e+zQW<-~|)BNP-6^czA+0PVm+V-aWww zC-?+oP8+g|lkzJQ9Q{T)vXvkBpUzFB2SXXkMnd z)cYUIdmNi?k9X#2I%D~oIl*%$cmd-ajwIGVw4vu#22j4ZdC$OG!B}G4sbDTf_(ydFe_8(^tP&K9M!hMNDr`O!}Ji}vEVmWXd1+kI%e80WCt%Jm;pzej?PFxD8HYOK6pmX!0h zm)~jm{b&1EzEr=N`5o3fnfEKagN$3e z_SJ@LUcvYW>UA$~L-se_$CExa_{>d-=7MzaFLQkt*DHpNuv_(ta!g|%y4}34i66DA zx%aOnocouM)zm<8NHmO&vT{rGl{0{M)uJ7&oh%d%z5$flGzqolbn5SG*JZU^5hcC`u z=BjG`jPN%wj{Q@4k9=v4ZSVS7;2vnK+)31qxXpQp{*N_(cKGKdey%l+HcMCR)d2Zh zj3DlX!~R!%=km9m@@!LI#|@mlrI^lDc)I_sX8~$peJ@|O4PJATDB+2`^tZW%HKF2I zTLDWj?beEZtc)jn4y~%U(6}gsL>8Pc&H2%s?C&L~CmKIlAGCbUh1RuRKQ!sf7Da0x zUk1(c&sIch)JLGTq}N01t2UdXxlGDlzpdD}ihFSC$C8vu)DPi`-jtHhLtZTkA)Al) z>Z|-%+WIze9n5QvEE9MWu zRuaCoZZ(INa{bVxUc6zH%kTQGUn!|qx$YfGZ}0k*sXxG2v5hev29_``ljTX@OO*ZD z=BJ+Z&TSb2NgIQG=$oWDeU5tH>>=C9$H)waGzq&-sKnbiHKOKAH;^G3n@(OCCs zdOls|Sa>dDjrTxfJxj5qv7X)7Zx6D{Tv1<#x?I;X>nC^@WA)*H1RtGXIcd(*$<(WF zXPCE{`_!BR{jQRDYt3Kk^UU7@{uRdY{jS!gvC#M4G#Booaq0J~rH|Wew>3WQF^(~4 zj#D{Xugu*U+~b*Yj5M$3F;@Qu z7;7w6G@e?_Yf!J8ZD8J>_>#0X<>&8X%g?kPvktp$ZMQdeyBcea9-CnKQ$M6*jsD5? z`@6l!rH-kzJ?WXKYt1__;puo5dyVeTD*n68JJ`IK8>6RfE#|w%RerT6X^b8-|4{QI zzLzPNzjs`Jxa+Zt)4@1Z#H6yv5fCW54YV3wo?w(r)GZ4g$>O=5&qW3dakItd)YV5 zKS{J7W8b_#uW@^MF0r$HoPxi@5`21sFE`$n8#^~9h^%qgU zl(D{#APMe@ls`a&Yr6hYxEmVlnTZ{Ybq=|2f{!wec@k?OVvh0Du|Tn(V*Zu*`IGUv z&P~jLu#IQbV%}e6{x#T2G~d%Xqt8(LUcu+R=3Qr={OUR*V!5As*~L0~%={Y?zw#e^ z?GrkWe%`#B;Qcef;wqMOuXvaGZ^m%UGw&}+EUEA1iA#3k>-z9N=HCXt>+|J&h}=S> zE9Eti;@99=igI0pO{tvFi}F9AXTqnR|GEZSJqvoHDv|g+T-UMjdC^301%Ba^*#7ZA z_u~Fg6+F=8HSjXVb?{1Hou4+q`Yzsm>Nh9H!_BFJ$E;Sy(*f4^st+WF8h9f(%hQtv zxF-o6B0ro6cTmoGcWagRJAof`F82X9z$!ls{0O)P9t(a9+yI|rtX%z@@5wwNKKOg^ z-^2$mL}Cg)*plB*ou%zwW6h%?7gWSK{Q#4qoVWP{f52~@0{W@_UcV zg#Vh@*kv{)n@7!~Yrpd?KaaaU?OXWKUM2|*%%ALxp_p?TU&Yvb-4NF(Q6Bzde#9J$ zIdUcAgtR}6zdMX|Ui+Z2&ikG;*7>6(@)gJ3r%x@v|2)CG7vOzntaHns6WsfSvOSec zBEHyrGS2VR??w4-a_PCuf7xvZKc3gsclMQsh+&}luQtWn%pYvtKNG*Wne-fR_>E^n z*D(Ke_*)tegTIGydXAxZ-ao%bF)xmCz3$_UHI8d4%?*utjLF%qe}}Rwo4Crk;tRjA zes4GLeQf?}tmhG)Gv1Bydn@tvsj<%Ozctpr{+qFmm(#phj*()X**LDlS{-xDr`S_s zKE?htkL|v|$AHA&62|fSuFd_rY@>2K2b=c|_7d^Z-{c-i{Yc6;Ht#JdSjh=KfcWSEbw|8tL+66yo9mhSlzf~LCzz=^sRW-C)$Tn{0&$2>;EI|J>aA$ z*7ogYSkk&61{Cw4pdgqNis&d34TupHam5@kV9ujr&N(Y4Ovjw_m~+kp9j6aWk(i(Nk^1oACDV!uD-xJa|++G_RM{F0O=LDkJGEL0!?jsHmi)rq0|HZ5Zk@*a5{;x z4^;j%(kYi!c>R}Ww6q7V!rzg;I^}9ghu4rjgwY2TxH`H`-i|69eNcltyjF}=M*Fpv z=-gU?EY%B8vrJuPYeY}FXEBwv+#WNw@;Z46kdh!1^7K zLHMk(Y9@VEwFTC9u4)ZYfA2s#?&kfi=P?ILL;85znF8x?UFBy+zr-`vWmxB+wa{1K zb>?iJYpSr$<vtgfm3a;b?#}T%98DE= zC@nuGjp7*dRvEuWlR73r(r7^BIc& z;g9}iN+Dvfw8Y=&qn!~;zf|I9ef_C!nZ!>H$vmWfF84QfR&<`~o3@<`!z(ylZJSx$ znr{xJ{z)B?7(V33K#^El1>MQa4KA7TXP*{-qixGxyxh4V=Q7&)E-mF;fqOc=8SZVa z!c(s+%1(my+qBxd*Ld}{W(vILt={Y7>}7KlT!xpkrUIXjKZK6ar<#Ys(T3;)bfwjj zzEMGidR?lopr1q?j7H5>y$;O+vQ39+jg!r4Yv+~LR9+EEgIl?A zLHH)hGFI(1{tp!G$zCYZvJZ)s{tGeHG*saDzCSQ)X6;peh1VF?e{q#p{7qX8E?-fc z@20?0D+On?rDY9*Th=LfBsO(Vy#}{?y?EA*{ap6b?H%$p1o;*dF&Cqr&>e2w zXzRjmTo1-r#NTh8ZvE!yuQ12;RJ2)j=x^o2#;w+E={lGffAak$3X;}x-}rI#I{!cK za$CV4n&&==`@d#gJGOtL=ucf2DzwA4+8^!w=;&hYjPDq!9$uV_*7kMoJTAYjeN%ba ziR)SQ)5W~k@vry-_G^m!QBLtPF2B9Y)9ifQqyD%?mmSRq*-4e`lpH2E_W?jS1FzY)d8s9AX z{A%~P#+@eQeXeouM!wDm3s|?G`zCbJ4(%h<_P*8~U|k#A)Avp1$E@=YB7ak}K7-jO z;gb`-BH@P;emCKt5^j2{XixsRPQn8d9+~jCg!f5UeV{g~P2u~oo9*}CKF`Xcg= zr9GOrms@utx_c6Ssjj^GD6Qw;&Og=m+a+V7`oq4?X{tx}RTS&F0>#r^{&cjR-Y)th z?)k*H#c@41`Ko&X>&~Lg;%3dcRT4(lvLB0ak2PhOb>~rjlcdZzv+jLGdDR!?wRgRO zc{bjJDPnmO)q#h66B@hsOR)?G^ZJIuFG{t2_j>P>Te&k5^P-tXZ{^hwzM z6usvDH!e3B{@tv|Iu17Zl=3|$J{n5vDjmqk}W;k($SM15Fa9o?z;J7x)m~3%vQh{6c-f&!x)Zn-t z(eE_Ge*Q%`t|O+valIht<9ezB$MsYdj_au!9M@Ai;l=e-1&-^fDy+ahFyFImMSK4s z>{awZb{sL)W|N39m)%LMBF_;smf45I?TEi8rYo~9?-u9JGO_j<%M)wFh7zkEkHwhA zT-T2Zr*kd0JO*nVL~(zq!d|Nj7xG#ZYw#wN6~72?0qc010&fQs<<9S9?npz%o4dk$ zn!CgMn9J~?=HBqJ=B42?%>CiZ%@uf#+qiDS=PG36_2_+I!fwS~>iqws8eOz|Xd zzvY^3j81Tbmr0Mg@{YMm`p2-2%Nnn*%~RlC;d^A0zH0Mc!5Y_&@D{R3$Ioi6z;nU+ zp6x2Upt%Mw3csU4Xve(-a~WO*&i#ScfR{#6g@>DK@F+O%+xGeJqsU6PT&bwICm_ES zZg(13x;f$7%($JO+fr?mRhc`{jiIh~o`1W;3MUe4-c2UfynBe4CS~sut4Ti-qim4x z%dF8UTiboz@%^GNDx}Y5uEO)ecT-ml?qi+;_lLU^tFpo7GQ0uYkK_vc(h= zPQT>!?h0!zDs18F^)jsat@H}7SPzD#okzW~ zmdKwysh9rB|2}C?Iz|1Wa3tx{S9s|-5wqRMPAYuPn&H%kl}{_Kh03Js8M@Vo6ofyNl%~wfAuoHM%krl{5gMPUE30`MWly882u-?vxFTUC()EAZo8ImG zXKjz+&D*N+R~zHmtCy{N-n!_M(COT#dGRSa#ot)}Vq#bRg}%)Pg{~bjq3LCG^O@yK zU-K~K66*cZ9FV=i*1ew8BfXwEtC6PX)^&W3vF=THym^R(gy@sd9^(9W>TE`SJm-I= zb?+rQwOyZ?tMB63l7CtEfpyV$^}4Wouk|0IeV;;WX{OL))e9-UIJWSdL&i^&Z zPy6T(=l{1ZKkU!_VKE-RJHNhdaUIvsx@+dmSGss!yv;{NUvx${uQ{C`DjWXv zbbeQ~D<;}a65cn_oSpC;X00R7n>Dwln)SOTGt39@h1UvkY{X~IUH)D8I&ab@tv9+~ z-J5fW*1I(sm_@CdAKl7kwQ19&`~>q;JdZiitaa_oBt7*($ES{wE1kaxwx2MoKi)CR z_aDvav7*X?k7?}uW4BU_J=uJxwO>jiTKe#_hpe`2n}Uz;bv|AjkZQ~S%aI<_hH zh_Jq6Q2WI)uLZjl=@q!Qxf#~)YM#UOKo!<=zTz7ECHKtMRXb_qAEWplUeYVD0^^y_ z1@Ulc2x~i5KPYJI97-d|>pZpC2WlL2Z0Yxj6sA^M_n-5lIpOHSmp<@%vdO^cSbc}M z!potwj_c!n}2e;Zg~cVczPVZ?In6k<)@ONeFbM&fqF4-&U0et}qH`~flJm3>W|Tl%y( zc4s5zGA&z_Slu&#SSRxJiFL1eYhv~51Y-Gg3^CVm*@eV3CA*oJk1Mi=i8;iw*ND3j ze?~kP@eE>aJ!M@!E3PAY5bO9_o|vy$$%Ya$WwOnQ`TPBBJn;g=RpJGS&miWb!|Zb6 zGV!g%J%}G6UYPh5Vx~~`F>z1gABcMqH+;_Lp~Q0%FGk#xm}!@-K&<0@81dr7TM+jp z-i=uOemJoX&(n#QB)*(@DdO9RHP;^_UWWKJ;$?|HAzqI7N8;s)+kMd~|IMgw#9E7b z5wAqN0&#!hA;c>aZ$i8Z@%F?6i1#JdwZk#Q1BuTk*7pB;;?;?3#1-OKh}R&VO1viV zPsD?W+fVD1twlT+@nGUU#6yTzB_2vVl32&V7R1AecO)J`ybtl(#77aYLwqXny2Mu! za|mSj5RW8&fp~r5kBK=nv+s#FAkMz*lx;}Vm6$^;D-(0eB3qhx6XJoyn-Y&C9!yDbS4@d8=={3CK}Zlnl0)yBY7`>bnH7cZds>M8>G?k>CjfO)+(iI z{2lUi^@Y-RiBz9kw`YM+`nqkHkMtj*sqb-xi2C#OS#@cBeu;do&)UyveU9(je8c6o zCGRWq@hl|2C-&z0PhoqFlUPg5s;83hD6`6rGwZr!_e3MlaJ946^jQB7b^dOoDU`@p z9M3I&pYRU} zxBa^47wJ1E+#})T5?&|atrOlO;fV>Klkl|(->`q`zg3>r%}RjbqH)&z*lZer4YlzKgpj zyp(wek|E}p51LQMbDYFH(q4W%@3*k-LTv4CR-Y)SjOIpKM*IJhthDfhg2#YM1hUWZN2?`D0! z$6VhR{i5%P=xf&a4N7?Pg!f4JFthwRHQ@`*s#hWA(G8^Qe4y{!e4UQH)4GT8_1Pk? zp-g^yZ&cssr!!oINWbwk2D@ySIwSFmyTteHKR z^)FEGvS!&FXx{j8_J8KZw&OWUvwnN8IZ5ByET8u^PlKyw**qc9oMo2%%gha1vv)MB zEf1Sj_F1#+zh;*GEiTK?=M&4c^-(rS)3m`RypKkE;R>(M%~kkESjSk6Y1;9};+m(- zd;J#c(Dndfanc)zE4)7Wp!l1iD!e@D%x#s;diF1V16>I#k&ey$Z_HnJN4~IE! zCTd-f{b`c{!q*G5&F*CFt-x{2R^e07e2Jz8zf~%ZJGCV~lPJSyqS4$?pI>NhhNDla zaE#X^c;V-Y=PGM_5BN3c`%zY(x84PRMP2&5)uHsc{o{SdVLa7v1sO+(4Xvt-=W{Y`q|O%ZIam##`6Jy6C%jp5v`v#c`zlAjPsHtY5_XXou#m=A3?i zK)Q3R>xJ%mv&Q)av-*CTImS)%u0;80Q+ho7Ri8HgT8zcw*iv9k%g23Q()C&OBF^te zet+|z-i0>&j=Eyp23xn3ZK^;1&Zo_+Uk3edQP#(0_!D&;|9?HHh;f^zk{!twYY70JP@f{=kbHh*X_4hc67qWge zY%W!B7uBUO(C=f7UdQj_oKmQ=(pvVL_l=*jh&S8j8G9EB>dEKr&U`;@ciQ{>*7lKd zyIDKLHq`b$6w@`;yF>Xbc@5gfBstW&;pk2f2daU$(SvbINaT*6+_uNLUrf54A7K>lyHQd9UZc6(3~%SnPat1_}72{+;M_ z{jTkKX8C$K+~9t{9@acmxZ7NTABJ^cS9v{cJ{6vQjgs!6H#EbqkiI?k6yAkTq_ZmU z$M8vT75)mA{Ti=d%t~nZ4Lxy%*KF|nIHbWX!yUj1yxLC1bCu0-AE#I0<=`W@F+T|& z05b{==Tc@3IQ$t7hd-lW`B3FG7QTU-{WW+zoL_E`d7w4&=SWySRN<4%li;)A9cXV2 zb|`J<_Vb=$Vt>hdjg=%9p{H5-_vEUdztp58sGr4UIQqE)M?bF*JCtNEc$YUETw?Ysh_l*ZSiq`*~8|472>0 z<&UE8IJw$`WAdBI-S9+!na{Z<6qAXOQVHlWpf4Ao=*Kxh1EYJdvGp=hobq4^cuWA++SrG;BCxh zcsE%6P=OCIH^ZlxtFWHCkY*A*ywoOZ57*#L%}>H{4C})8Y|7^Tz|sFT_zKbwr2!Qg zC_?EL`t&B!$X@@yhf5Pev;QX_)au(?#6Q(^3SU) z@Q$PpCb0yV`UD6ey z@pdyVwyd{0o)t9K4yC)DM$=n#u^yl)-Rpc@&#$9YF6?NYE9A#zfu;KsdyyV`B&7!v zdyyaYY0XfGbg=Z0^=e1xV%<)4k0kZ#SX4;see5sljr@AM6fHfG)SDaQzp$Iu`&6Qf z^spQ6W$zj5#Lu^KuD~0x zR?x<*%4-a)`BdXI15G}+$ZX)(Q^Xaxi@6HRpFEqqunA^!p;LqugYMzt-SDMQE%}Hk|$$g7+wsKS7;yhg? zJa zMCaDec$!~rn|+O@M!G}kE0^be>6?T8i|JgqAzA^2q&zz2ld_9fv>W2+N z(=SQB>WY4k8F#i1XWA&9kKm zs}A|9_>3<)<8xm!k?RUjr^TCeq)|)%&$Ra zkghg-@f`a{;!^vfkD6SsbZUDXM{x{wv#txeCC&Bij(({)e>SumnB~V)hLzz(KWUez zSKxo6*Ru-Ey#Dk5p{$-wQ`xM;|Gi$V@hUqzWpOpX-!n6x<)`!&UW@(%ecDEfD3lg( zU&B<#-wyL${o{`*l+?H|X#=oNXo}zTj4|AYg-G)z*3efXW0wgXy-4M2>B(WbbD(%zlWw4!yf7If=aT<6V8to;7Y zm#=7A_8t0ND(z##*F~*gC8<~bM7^O~&AL_V>Ww}an z%BxQ`7s8J@#-h!ex(>BdbFnAs8lPpIzZv;!nYG6q1IPKl?MD6llhv_Q*qe7VXj=Sv-k!?UBVbSbJpg6!;A4 zqVMx{SZmxEU)Sk8DNPxT_QLvXr~+SVz0Nh-Z_G!!g7&td*WPwp+EmGN^8ZTXcz*+B z8>mZVwU>#{o6@>s-Ba1v+cv}ZQ0Z_yNF7H7 zQ~B9uohz;lTbHt*HmmNZ5`GuPTz+ly3mpBc``&%fR(Qp|z$)xenjiZPdH?BtiN=RD zAVTAjbsCkChBifLJZdJI@B?AvF?E{QFQl5|>NHUo&4|!=LY?Mt-pe08%8JlRZ!y4rkfrdQj1W2StYHeCvR6Gim5XM-tQ;T88AtMII7uDiNe zPp2G&AD58GfXzqxP_W|3$%M`KXe8x(7sWA`A||PHEw=hlmT{g~BSFW(^`t5ECtde} zD)8#&Dm(&SjYierjo^IVQ18~T)&}`79$p8o!h6EnOVr>htob+vJ_FYENyfo)Ih-Gh z@GbB%(!vi~UtyBZ;5?x{MitgQbk$pf^;=%DnXxE7k6!I7x69hR1xr&QeX7%|@OS1( zaKo&Hz6Lv#ZgBf~-*^o?51Lp%R7u|Z?T3h_#fAgvbP@f5t?p8w~JZp;c@0+wxxL>{RO0JEU$7L`<f<-8zn8KK3|X%KjCAFH=luK0Z|qw5tK+?=Sw1dfmW?&d+KX(H zFtXgX=1|mqg!3PD-RdXl&LCZN>l#$?CDuKT?sl{4ebOAhGmY}{Z;?KV#isTS@-5o3p7k$ab7!;m zzDJm4|CGe$`3c{j@RN!DorFJ2G~b&wS7w{N)qnX($me664|Kilkf+BvDH4er-^I=% ziJj%lIuERA*12M2qS?Z%{@E$v{mnYx9~;bqa*kQ^^4dgyr&;UqV=!ZwpW|12plvaj z*gvOlDgW%O48K}vvI_hm9Dno6TZPi+*mw9-KlF%H+B>aI6X#&o^$3k$)oEl`$Dr(d zZJ&q1f0)%jO>-1uAzsj|{#nK>{lJ9ROEhB=-X-C~%o>Z6&Fb5WgX!Dr6a77*r$3*B z>CgQ0yO-f9)c>yX*+hS)xDEHah?gb3G-tj?&b3`&t#$JfZ%f>dSf9NPLtlYU;aF1G zz}yku25z{9d|2PvrE@}+mwv07Vp)w>Jm;r`JKVNnyx$WYv$a|G)Tp?QtH5Wv zt{Qw1jA?p{_0?Q~Z#Gxqd(AcYF<5Jv7J=$P4cTiHuE4KHI-QdL{TGr7{2A$b4yy`( zZ?1IWdk^6J7|o|n-lWdCUCNczMnbnD(*LElq;>ArnEx)wXxbLfCn$3+($%LGUJJr% zPnFlAPOrhs!8-3Nb9J~sSb^7pbzi#5Ycn|ielYBxM8D~GKGa`3S)+c@-{)ueQl-s% zkv40xi>t+EFU_|Rji8*a5p&GIiFcg=wX)q#m%z69L&%);M1S{ z2|Ln<9qGeP84f%0XE1iCKfnIIoq3`DQMl7whV=}V(kt*MPH%=sQdWJ=X*Js%jI31&-dltund_KO=U$9CZV%=2g(vU&cpkCVcg1}Yd#v59fi}Ju48Z#9PPRq#(utMNz>=py6~Zl z{%&g~!p|gS--M^1QndF&SoO;OGG`U-1+(v*P90gBc^X^RE9K#JJN01~(&u(t=7GDL z7lRizuL{p)9s5-V$EGyfeIzc|UkT^HFfwEFTC=kK(x0xkvt-iiXg!2f9mO z_0KA#H!jGrQ=;+e;j z&u^EX6PL4orKEm6D;at{8{M0{_$`!{-w<}Wm0gbU&ClskZe8aONb)tOB7ZCA4|Kl# zO!Ia8>HR+Fw3j%<`qdMA>c`+o{3)l zG@N=~;#p3ubB|a*6#cViwe?-Io+X`@@b3wCoxd2*_-tEqLSquokH;9s=PKXwOpl%y zo!{lwqn<_0aij6CZ1lm;dK=5R+$e0UY97zLTHl<`EA@Nyuhw9VlfKtn?cd7!jj^+v zS##m2#3nMW3;DbmGar9Y%KNjNzZu$V%rQrF3~9_`pRD^IeR+S6bz@)!_DFx4OK}Y8 z9H}~P+*i*$wjNV2y8Kwme`K!j`>1mo`8r?d9JmDfI39j$`gjAu)@N5V@d zJR;%I32&e9{;<~Gu9!ax9!{)qrnv%N1#5p;hHrs2?-f42z9Hu_d>`pL4_4sEt(gM9 z1drB-;q=S9FsJc+t^EpC_>owB_Xjb4WbGF$*6^;x%&lx*V(QL%5Nm(hmstDeRfu)! z9!A`WcoSk-+?80>9YUKg=|{%m2J_GGQ|51B1^msAkB>>$b=ham z-v|EPthqXWxv&@C6RvX7$34;2oPPjmqY~`|vuvD^@a-^tl=s_HMSAucvHI`BA}_xN z_!5qJHXY`%^Q_FPLyuydv>nvnmd3p+>7~(_hMubPKz;3`*E2ka;itmv*r}T5vCaOZ zH}_zU`9qXNNSFPxoFg2LUV9gZ(h)9CQob%6!S4<2N!qfMBQ#B{%dd3OGm$(C;{2nX zPg1@P$MgF7`$V-}f1jv$sP)I9-@>dlVBdsKPx$JDpGf%KgugW(b|&L(zHo%xZk-$9 z@0<%4?K$24BEjX>{hV?aLBsKykL!|fm9*7~%fy=(dD%Y1IzCP$=6J}p=fG9ct|YDy z-%DI3ewg1Ab;TErFNvBYKK{fK4bWMbKvOpK4& zBgFFKZDNXN-xcY(?LT1dApYLelb8wAo%lb97bkvE2W=5b$=)sRi};>LhByz{?W{vB z_9X*kk2!GxeK^7#dl-$s)}+vC9_XB>z0uO7kGB3|%5G;KB5MR(`_sNo_qtT?Zq{8& znIp~mj!*@aQGGi13}mjiW_>^9zs>qiN(I@~ZzSy#H;J=Aj(%mUrO6l}d;2FGXTRrp>snvykMkC>;xR~%M+CZfsx zq|>#Ay=tz&ADWxtugq2WS6J5rli&sJE#>=x8r*qN{^mjbL?_J$*We1QpnfZ;7;mv` zIF#;JIf8U?2n{ci{-k>l-Qw7$EAstFv{lkoNmtnlueHq0@Y*o_+fe4emivmNzu${I zPNG$KbH?!zY}erUj*?oLH$|X2<~aG9vlYE5Lg_xzf*(#;+AXM;(4@bU+{t|328BBM zV{g(QMSBpje6L#flx<0;{CeH-);*KxWI6gH?44uXbJl5|sSTlv@r$vGal6FjUZC8q zW}T-WG3)u*7tNaIA1505A-~gl!k=%gd(HmPv45%iFFKWPT&(EBHxj+` zG{5z4Ss(peuV2x+chIe8)^omNVEQOu=l3kqvx&q^@9b=1>}A&yYeGCy#JToeSmA48 zX-mBe?E=KuYbcYpJp7UUdSf(w23JVe_sk9^uJRg)Ccbl)x3ZP@kN5+Z1xp{Aqo33K z_Y>W};kB`ezxlnT?ch(HzZaZ;k1d4{g6BNG@Ikhs-^B6vAF17`*f^RpoPzSdqlo^M zzR%trvx`qD+IArtjboLUek1X7%GF>!&#ZJc@OU;=8oM$)8NIkS9LH(}b|`&e-+ABo z34CwjL)ek_aofSa>|I!WSBC!s>;8QOo?))S9r_f0)?huyKY%!+-tHs${DHF7#D^)Z zK9oL7cp5w}b_h-D(3c9)kI`N|&!l#*V%;|`AG+vA>D1pNtov>zy4vNXT(`Y-KcG9- z`~oNWs}c@>RKL#agP9bMvPW!c&*xCqO{e^)2}c>l;hUa6)%bQ_ylCqT%B*14XWm21 zS}(?#b#1V(S$-+drTN^xg!Helajo;)T+4UZCH%5k>&$d>$7R^V^eyVw`E(_-o--Pq zq^I@7SnlThPSm5&u5JyAc^YFD^D5@%$u2*O%hQd2TEn7z=r6Xuv-PY8f2psp?|zq? zm2w}!%#r-sQ{PwGwQxOKg?j>Y zJGtGJXv2Ku4GP8|+VK|FEo2>Coa=O~s?F**{^jjfxoGnaF4x25 zqFqr={UrS%)-96gQoAu;XIR(Ex@b?>o9z6>$iEBLoYT10&pC}jh1VyW7Guy1M;%r8 zfY+H9%(I%(u_IqJmJX#pb@e}n<{TFEXNU<+eaU~#Jj8|KSd2DDpG9B2XZ@0OwnP7w z^Oq+7H?!8U#wCh6wT{hg*1Dq*b?O>P^JpRR)pq?BY&$X+vwj8gR)QIye9tfpR&%#3 z(qu~S^UrQR$|HOqd-C0qAEGxP1JM()d^t?=rOo<8~8e(Q(ke{1h4%vX(@Y@TOs zh839l`De0Pll#*T3h!OaXPM?vEXu2xH9rTMPx!rUwwiey3+C!(`Cl=wif?O}^?L(;^6BmYa8*Ij0cbt5VB zQ&OgJsYX@Rr1}?5c*TOd#IZMw_l$9VylznBWm^;LxILH{U$b+GIn1-MCt{G(=ecB# zIgaNql}Nab{Nu&E?t*nHslb;k%J~*;4SpmvoNQl&k30+w{Jy!`o_#1hm^oBq%zuH2 zG>O_A#@u)ut?tFmvUFo!Zx#N4b@wOIt2i|Y-@t}*DY7W(d&wU{)TM@WqwGVnL*6kX zu}NH^@p=yURoQ{JK8ZCOJ6BV7A@uT7VaX^-OoMDx@{Ak3d(=AUEd4y z2X&lc-S&x2b3fIs%rSeJbvq`ydVA8{ZQai3UNqmG?7vla*nZ#nbGfcz4F-{NvaNpVv`k~R6`Ib(gr*7B*W1-z;YG${UhDQwbSfCW zhOVD=`=VRJ9M=~dGM&}Fm^(T?^!^U&_=Ae)xW0J4@Pa2xxvz7xPX64B&nRr?0Bmk& z9!A{E!5|4cQ1S?1U_>o<94S+)_Y z{JkPPU&8&&(hp2n;`%;~xi!+do;r$Y>CVXtdrzL!0!jsLKe+rs&IzPlQc#HGzvybY7 zG(YCalh!@(7j4me`uUeqzSe2~vN4*st*^mT%~~gaO<4Y@K9!H_rZ`^PtbMHW zE>1tp@y#|myXV8U*?Z(~Wnto1#LCNe_`u| zvNNgb&7^($+)5$p)Hy^!>y1O{ZR@qp%uKIiS7GTQ(*LD*T~7RlIc;aOPiw40>4T)q zN3GoWy#3Oc$k*66>$5+-k2(L8`}N;0E1zY1<>76z_es;z~>GvUW9D>kZ{rq9VQo3&S4(yYD4z$AU`Bz<$U_87aG59S=AAV0Jhjd~_J z|6BVJ{Tcb%FFZs0PP6X&L??Uox=XG5(Yk1N=x%oY&(2qWYMw@Z^kaIiJcmAh*yVmn z?55>jasG_Iv8(x!+MR-Ss>}VB*wy&QIQ{JWKN7otHDAK6&eig_X{APWPg9%g6cy)o zm5ceJYxoYN54xb3Z}VH<7X1ol?KOs)@4)5;3GZswxK_>jy!{lj_D>g^$B)Qe$oCgI z-lopqF<%Sf`MvmD`EKi*@ZmYL?7yF+f06KXv;0)h+>!kl%lO>7v47DQvtu`O>DZmY zcUuqQTDFIEbD~=*VU>w_w9CPzOl!|b=g)1M%9qW^-^Ka!kbjgp=7#)~&G7Sd^3SJ# z&$n)V%G_j*c^bz>jGxYB3lC>cX5B)Rc_ZQfm^CK9nKcewRxbJ?#w7fXF)2I07xomQ z-I2eP^A{t34YSS>>zFl96jToP^1a0D)H}xceJQuASjvP{U+Lm_Jl(p1 z=q@v>?{2EAC;C~R*PO=J$4Uz*h~GZOwQA7YL)4RC)XzDgf$3f+R%4MVq_ zS-vX7IvHhVwoVRqxwVsW>aUrVi}h-Z%dMOEsN*Th={)e^wfs$ubt4m<{Hxa;Vcn=i zr}a0^t8wg|W!;A8E;VbO-3&AK`R}%>?r$iopx?jiLtJ6No=lp6FzzUN_CUG1jH~fm1kt$MuQEM|;HB5B%nGV_h!h zo6a*TH`}Vk9BEGM%FlXxF|XqqvX{$^OUkLHHiQ{j2`? zmiZIsx(%&AFtI29W8UxV{DTvFF(0LiYriTwwc|wV4^8y)PyP8<`YWxkS|96Y^uNBV zrr#`lrf%I4iCrBJag7)LhW-WXC!&AftTlQX+@52wKip=u{QkJy%VvR}rGG1MJiAea zyOOTRIH0fS$Fzh=u~I;cBXY_qPsGw`+l>|moFv!al$_*+;R1yjnXfWaI`_sK8KIX zIR7I1raAss{TFj$sP&gvpSD?T3Ej5VU5f5tbL@Lmhvq@_`H#1A9W{H>57u9i_>}6k z4vwIF{N2bc)=#!xW18xpasJihe_+=5exGpkjmpLNcBvHo_%F1JnctYiwU;^OMf5?G zyP-GVUB~u$47?UHUX>1UL=pX~fQoX@eC z=j(GC&Cl>d{i`v34!w?r`u=;xcJ9K?7iRU9LbPp@AI7C z9BHv8E@<8TiB5Lw?G3cLA$UlgD`E~8-ZS#1d^^c&RWY)gz zPP5jpr(oKbKeM2<{8`pOg;mP@#-QrK35Uj~TrclSQz+z6dZINQml${6=lx@W+Mzv| zK37%WzwG*-MfagOjtgnIoztTI!TB$s?YL&^F+E?xOPFJAQNQRqERJurOZQ=7JXW** zRcvmQ@OB9wl<>(3t4Z4P%*;M{`ETUuzRg80_crz1n6PZb*s4$VGRfofbJc$#`Lp-yQrTPraMn#+_U<~r}RVON$>iX1I`W&c&=7CvD z`LI{vI3L#F27K6%>jP!#x!{f93LJZ~D(q1D1iN>f(@yPZ(1Vdnzk!dgOJ!#p!JcRJ zkn7UC@I`I>qa`^jed;nKmBLs2&(}6RulG6m;d}VK_ejorSX5i(Z}=L1$}d9GG~3pE zQNqmZ&F=pDD$(mcbiMvt)*BvK$QH2vYwPKQ&hm5DbKAA}qxSc)?pyL!g4I|0XjOkt zH$V;%^nDKX#YRwWoCr)pG%4+uWbAy(VG#qxIz%{D}Hu4(QsY5q;AK#orm+?{ZCv zpBkqq7wwMvAG5v-`Ztm~rzM=NRrJx^$H|l8zMXszA7a1J?U{!Bd9FFEpTj=1uj|t& zSMR&7-`Y?n`mk&}-E2pFpn9V%GqbaN_)ED;!t%X-d}FS!XWhI>U1`6~tgdk`H$Ua} zOt@;+SSo0~r1t9P%L&$(lls%PUO>Ly*Z0}wF1N7Dsh+f4v@gcy2J3sGubHFG^=0eF z^%d(EOMFb*v>=_kDn9CO?iA~pSuGn=T&|DHX$;bG;p2a->x-`K;9|~cuRa&7^HVdn zbUem7xH##0zNSjLu02k59wUyf-w<&yBK6C@p6@F*lT0 zUte193W;7?g}>9UWWClr>Ewg#jUpyAtxVcM<_oUn8HI!;P&tiLwBvT?52W1735Qm3 z)bXwJEA~Nss=C8g9K)T56uzvP=wv7IwI-}c-g4Hh^*1_=?IzX@u`b#Weob)xF!E1L z`1U&cF(&o?hMiZfUk5vFh8Ar|+gjg-{^%CAZX~=`Qf4QZwXI^gPt}T5f{2 zLZ*ISM_h$(Wgd%butNAM-iUOCm^TrVRN9!l1E`C!XxNd2Pgd)c#aup#^!%8?m_unp z^ygZy$*}Z8?XwMR|9aB%viY_tFHzdmdAuuyPP|2HdSkRryiGA5E;z7g+dI~eMgNOgW1$db>&Gt2&OWTDYisLcj;MW`k+!Jww@LD4H}Y3^ z{&q>ej+1E1=FZ=N{Qb?kmN_NiD-wP%;Wx}`%XbMk4KI9-Ya+E#KGnA|=4UVK_pp!B z>-t3ZedMdYci}GLxc;eFKLPzZX8nEiHVN;O@W}~Zmhg=UKWW~n8~4Y|L#XqLUrYJl zMXe9(dgBoLc>JO~Tf|^gNZ0e-^0UJGxOY;8^?ZQ_xCW1_ur5%33jFX|ti!M-x8{oO z6IS%T2&IG7pY~yHu04J?&mkuWNb|LB*6TSqcpo-8jwt%QO8L3WofposvRTg`tdOv5 z;ZAOA1nIIh%K1lOquH!}*v+hdK0M*`6TT(kXA=G};hz%jymsq6SzJOi zQ*q6A>T=w_;CSQ_t88xTYmB2p9A}|#durQU*W0>>(XExR%Ea+B$1Gg$a_o+E{$q7E z;~WvXL#%rO-MMvT!e;n!kMo~K`?`5NZT~6ZIoB`RuJnEhuW44tUgt!Z+Fy{u@~w`{@&Jqgq;%$ z?)X0YN(Gfwd@T1bwC-x}sIAnj#~0_k^Ii56%HCogM*c$y^EPkq$7uAq_YxS0@7RCY zy3fgbGvUt@R(Z9(5AhjX2WjkobpBVAQ&4{@j_X|c*^%|^H|xH(F4_})7=GyQOJ%>y z21WmWYrW>0?9NQTEhioMGmp!CUsq30(vQRW`g)eM{>P*q*?Ef%g!*Y_^{wi1Kf7GC zJM;q%?vRh^y4L-Y_#^wF3x7htiS;w;>_&g;Z}xXxitpmK?zcpj+TD|U&5whu`=d^` z7vH_A{d4$njCF0;BPeK`6^DNpJHIXYHzr(5ILgV7DEE@{J5cUJv)cBb(Nbqk^8Y)h z>p1DKVKMIFZV5{qeY_~?^1ZL)rLF5i9YYe{!Yo_6o8|w32_KX2*=G5AS;99Yoci(f z@9naYOyt#o`Xt72 z0~V%!q_1jS4|JO(W%f+?aI^a76tmWh8_e3rJ#Bs%&Bx{gcy{||v-~J+T=*yMmT=#M z*D|Xvh44GtyDs@1NZ-J^rDoE;&~0noGKo&}ZqVgzvNLJK?$;IT$68;Z?4D*lpLL{J?YqbQwm3oU&gb7re0i#9!B-4Oe%F;cx+ z3w0g}{m0e~L-&2cVOwQFn{8V7-iesdw052C&~5oi{y9z7&AN5b^-0PsoA6o*k4$(Q zv)a60!hhwLz6VL;bewe?Q{Sb3QATA`AJw*7tQ(!QCDrX)E6(SyShqR4Z_H|cyU|5o z=s23ktY`E3nC1U!=Gbe+@e;m_B46`utaV#scdw-UkqMs#GpF*;TH?N^{Jmp^;uxvG zn;llle;=d@JCwG=<|Nx$oO8HB{dqX-g{`o2oy+ZrjRz8z4Q{LaY2VoW?GE|xA-sxC z=d8_7V*O$-9Jb$c`CYK3P+xx5#oA;Ca?D5h3lHXRi<9y{xcqpRR~uAM^kvi|-`}NN z+)r-UtQe==DK}rjOPO{5dvL;I;VyL19@u`J55^93ecP?xF*_KpkiIjTL*XjCFIB5Z{hp-KA=as1 zb5Wv;a;g3>>v5??AN9-L;m+5*tsf`di%^I-wR>bzu28j(Z|EaV%N^x%>JN>JLip3# zZ9I!*UE0oiU6jW}>A1vheLHmgI+RYZPW=((!>;U{l-P+vkso^LPO(mWdMh{X4bREE zp?&#t0Z+2_YMv>?9IfW>ihY|g-&dGRXWE{8jJ9as5&376--9{`P1-vtg!UyWmUbEE zpNDo$^E7MK_p%$>*w2i%?n2ieb0X%xoib<3FSACcOk=y9%Uzt5BfI68nOV6* zU2c-g#hi%x&LW?7Wfxm_nRPKI>UD9RxW)P_&_9`!eJx3sf9f-hY1sML`Bx|YNEi8G z|6A*>orzBCbAIe@QH;^Q5}o=z?CG;Ky`R;(8?2LGnsbkEeXIO=oqto3PjZW$MV)_( z^VL6TJ#h}Zw13{_Y+37XvtIqKwIlqFab4ZII}*F9H+1{l%Xd0aF7%sNe;4}Q&6=M_ zn3S%qbZmA?itB&>Br--Vq`aJb+Ou8Nn}D@a5LvU$*?At}D@0;G58> zf7XZ9M*Sv?LOj1D2V)*oV0|})_90bxIuG|~9jL+jTxG~pl1k(`yDNYbB9_^E_nO!%3EUufmLb*e+-t?&TtCp5)#6Er1X z170Cr^XeVvziAs7$n(D>{nv79-$cLsZ2jBTN83AYS?s6cUeRp4SH17n+3iQV?m6po zCwytSW?tF)_t6hAYyZEAd5EkLy+HI6@;Z(W78d8?wYWoLe~{9iIjUp?Us5|(o@AGRfZAU1Y)e4urm zZs5FPzHDUC9FJMfwF?v#E^Ue`wvTlu-!Vq5GYD zb#tj9$e+HNzSeL(bgejk&Yql!Vvu%l6hbk+n?p<9*eWswfuJlu%ZJT|L zfrFgiow`mk>wAYLn+J3M;h`k`qa?lE)~(~wJ>fnHuaWQ;W{vS4<_qB?6TTo}`K$S@ zzKg!mb7N{_hwa+seR`|)i{k$iX59~YFJakX8s>KNo84;vcjU{?498)waa_@+#j)4Z zEFYIQPoT^Qv--5xM)}Ndx|}|1cTy{>PW82XzjU@zUe^{bw+yxwH2&#W=VN=zu);QC;7Uc6n*%H z^9PXsrMZ6Xy`9gk^xSd$&C7qSTa7YZwki60G48`IVpjR(VA`C2Pi2SG`FrQ~Bocn* zkAJ!oS9ooCa&d328P;cbbV0ty=-HoV^l8W>-Vgsj+R^=6^;4BsYG-Tg;6lC+oS8od zqLFXSyiPP%;dtI;5*#*b@P%lYllgvWW;TC+uJEThDO-har7T^V|Hi@0%0^u(`wV)z zB>&z(ok!%S!WT11pJm%t`>9_0LzOM_QoCX-mO%ek_Sc6(ibUNv(w{EWE@ziOTYzXxwhJvDfmSsgIlT!GtdUudeZu01xC9-f`_jpQ#K zKM$wr3RAe@f_JOUnrrUGwhuEJx?HFy`ZI`}|%tn~0P zaDEKKM_$|}TZi;X@VTUqpsE^tjWt>v9)P=%UWT7D_lDntVqwgRc2{Qz)H7F~2LM$NX-F`?}3lxW9Q4JOtL9tMS^{=~Liw z=8U=GP#Tx`&UY$2?O7#VfA_U7+A8fo1tDj*TLp0e6+a+ zp9=49A1;Cqv=3LC<-@J;!KBNF`(d?P^(yH2D~S8fvO|dDC}NUI`;qqyWx0H4=uKJe zZT0zr!X>?m`!5yj$9kxGV?9*8u^y`4xW=l$F%PQn2kgi9mY=Y`!{8A4!vuJldh@ju zj^k2m&ikb6o{rX>&td&uZ^mT)5gq{6;A|(a|1_o%)_2lZ;o0E^Y2bxmB91yfA2yfa z)y)-nBrKa%cxyOsJA)SMc7;h4=Z-2I=Z+d2=Z-#Wsvo_B>m`J_|6CY9kh4_4pcM{?@DFZ|gk{CJdwUxvS; zYz>|Q=VR2BvEz9f*{Q%kkWO}1h2xwx3I2ohvots0#+{4#lmECFT0&_b$}6PvKh}}F z9`YgvO9xnw$(G+u86g8jC>`W{-j)t+<;K0>`KcdU`R5-oe^pF-Kb@Z|uzs6jB3y;_ zJ;LG|tTpCnIHO{%NykbLuXPWF#M--kZnP{`L=eMZRFvgINAqsF^9KgiLRb1vL+&V^gfxp2!l7j8M{ z!Y$`qxaFKnUpthJv;Vv=4NZ8>gohS_!Y6@Q{ShY30U^6aIj| z2X|=f%Ke$(wI>#&@zSvs`+4ohw8tJ$%(rY1F`?-K(ng!tT!+tM5D>X?i&tMlxP=2iP$igsN^ z*|`#4GU3$|mQDGqIBag}{C_3wk!|JcxZczGH;`XV_?(2VO85bD{r%=>|7*^_4SQdh zH5Q$BE!rYpGGY1JV4rmjs(y&`rq&Je^3NF*ukUhqyDb_+lJo22wA}92-HYxd^HA!& zHsPld{ygCh;|o8fU(_7;YE_@sjcDud%+Ir_V|nWyv0t&igf8Zm##ighFzX*fzj4A_ zn>AJkn>8+{m^BYBPc#oCnwJvICuYsL-x5||#r&9Sx8hteKQW={MYKyNyk^3iC7jxb z_U-2U*RWAd_(XHe74@Iij~L%r6DL{s7I_LWu6lk|``B5JFYasHXx%%cJ!u|N6q)H9 zO8Z{({!N#A-*wGw?nSw{$Mb{BO>wz6cI)S??!ok99OPO^{3^r?SZkcHI zHp{Q$&8q7%bIf`9oAzPsA7k$rbMju7`vMzJB>bjX>)YoE|B|q}^zY`d`mxgepde;B+H}!;nT0?erJri7R`ah^gejaK4um6X7*dAnOy4-*NVYw^NtK1DP_q)r@ ztpC*yBit^Pi)X?gbouN?J_|ShlRipqed=;;v7zu+V;Fs_a^d@QmupA4#yyL9^uO7t zpGQ4ht|K;xOh(1;x!l}|&$E&qbyW{9boz~J>1S9!5BjbXiZRi8wV+x4E7bRA9B=yj z865}xtY2Uz^``o~53OIw`ucNh=!aX^1Kl{Y{M*YM=U(-X*57ES`bEcej7_Wyhr3)a z?46$2M*2V2GCiLy8yjjhLEe8}&urThQ4UABfk>`j6H?R2J6 z_61D)^LzXc4B|OW(iDCty&twK`MdnT(&D^#DD{P#_G%q7rK=xRCi)@zv4?d_k=Ng> zF<;lLaT}M|+Ryy34q)4zl{lUudw-+ido+%;ZUxGpV%C^m33Dr0{?!uA`bqjWiGIICb9}-V!K}sk_^0;=b-Z1@dC^84bK)9K#k^1(@1U&a zQ#onNTKJ=&d9A-k*7FT|CblELx7vsF_}<;wc(31ceZam9Ny^D)%!61b7RH}8==FS1U1FngpQ69QUVHly_GCx)+n!v+GxKXv+gS(ut0Xo@C5)N>u_neIaeM35 zr~H9ttw|@Fhf#JitYfbX>wA{eKMFI}YMXNfz6DKFQ!x$?z~|A|HPWAkW873{lzol# zO{i04wT8?}T;=r^>62adBe;n^)EGLHHlmD!ax%SFSxiUxQ+lUJ^(iOx+$M|gCw-Sl zt<%%A2!GPkwmjfsXSq4A`{!$XCp2wof0eI<8Kmd_?px$B{ft{H^QqS9AVI z=WkP&AN6nJ{Oz2tbxU?9kghQZ-GSEafNo;KrzCu_c?jhc)RxrNjn3Z{8;>U1SIxIi z=5KJ!D=xzQOta=z*Zqoq5HDulfW6i7X8AuT(QIs%zY5W=ZAq6;_k35}r`*H3{m@m- zvURq31}C#?ll0rovinHFs)GT~$FAGa#r%!F)AOqu^S7-(l(L^DHor-@VgI6?@?p+| z7fX1>ga;+Oe!`oX<>&Z>4>N0wPB1@Azbix^iMwkvLC{*~P&yG?4*A?x-mFfTWLq6B z=lU|K<1zE^m+?G}Sz|ceJg7HgdqC^hE?_QUXGNHb^3U;aU5N91$D*=Eo^jEdSLJnS zxAwUYli;D~vD8q3$MAg&v4(6!y8KkSzOVEa>{Q`#POri7H!d2e<92S(Z^@#E_d+9X zh7U4V;bYB{;CuKH4{2)fS){WqX*d?vvt#GG&*EHEp{`5N3?Q!Yx>`&lE9h^9b3a)u z9;Ylx`DdQ@lP<22KF^iz^Y(l$%J+XrUxuGYqh74QubYR#A74>S%JtzXr0coyX81e! zPU0%BpW(Cdvj)$AFMz9b@DtyZ@_w$t4F?wI#wqZ8oI5wx0AOo2(q%`VT`UM+tg>)# z_#D}U`&m=N!8K+to~_bn6ffYLd@jQiXJ!24KYW_G3SVrl!Pl8H7THy>xd+AiXC1b0)Yy}<$UqPQ#;f-MVUxS;?Q{Y|9WVV^W1d*l<{9m3+5traS zt|_=JypQz_@X*!T=9+f!p-yiPzy3?1?*Jd=^p5bU=1%Zg=0^B@Ge48m=3;Xbe508Q z$u{?zyTDJHXN6xjcZEMP&jx>Eo*n+(JO|wM;G!Sqgcme-gZr81f(MxAhSxTChc`FR z1MhC07e359AAFK|e)tme0`RTo1>uLx3&Ag#%kaDA9`H2t!tgKVMc__{6#n;w=QH<$ zmohI3x7o7j|Ha_do!%Q>&)f&z*t|G=<+X*rFFcO){)~Ht!9N&YnfY3UPcqlw!;j-0 z37U*`<3iH&&-CG|V9l9oC-&*)N$^v!Y}Vj6%v0cx%$n?9!b3RDD)97R&L^MtXq&y+ zm-OYCmxmU0{Xg2?0#2?XeZxKJOl%k+XmA>cqG5qR&;tZW(BOn+VQ^gtx&&eJ1BvJp+6NV>@TB zKQ}yH;~ee_4^vt2(&lVge&=J(;o;^Qyfw@;$m;MO=11Uz%umC|nqP*`f{Wh{z_A{x zaj_oeaIA+lIM%~DJaNWy{mce)4s6ch%gB@HtOnn19uGePe}et%uwCUG+8M0lfgEdB zv8NGh4YaF_OZa^FS@NTQif6>$hvmM<*V;G3;pH=3z47UWY%spom*My&H@)> zi|~2PHMk%AiP}Sf17Y<+&gTdAe$vSt1D!QljIhFkf zd^N#!xCZa722uIrU_DEa!)L$`s}3~gT=-Kshu7SrTlNt7*Wk+uR~zf_jpjD^F0&$^ zFjwIh;2F`Y?Qg-VS`GfhnmYWIxeflwECY_)p}YrHg}WV59_Mm+7Fc<fmP2s zJiy!rFK?DH)`bZw_BUI>#lD1aT>~ik0^XHyvGzB6Td)1i!RGGp#haFEXcaz&@Q*Y$ z;L~BPYc+U$@B*B#z{R*_otgv>BY&+^55mQJ#*+0#>r|{STBl-t(V`LSOP;JRH8|Fn zI;{0YcF4TGh^z1uE;onYG}quSV3HN(dkwu-eLqb`MB^~q=N*h{s-vES0)Ao%K_(zfGg&pNGW{l)NF z=1bra=1bvS%$LE3n(O4FxuCMz;IR(RdNGg8Rd{;Z$aKweIF3CvSkHssM_X%iB>OqI z{TMK3M<3;I^id6tKB~j9)@O5dto2p+TIwL%=CEDmQp(eDjwPu$znX~VUc%(+uxWs`_(Q3u3Td#ZTm5% z7^_6i$mf01FfE!|;W&Q++kabDgX8*C9sUXZb;^^z?>w6M2IsJTH#q^W!TR0)ZEzi4 z?i`-mm7WUBi2hFL;a>1v(!+WO>pjxLc9rXurgY6$nu#v1btpK-=#3q^%1!Wsw00{*eAE$3>q>f4jq`W{={Wu`HxA@lSM&$#9iP)~WuBIy9}{-Hs=! zaxJ_)HlVJ>9%6r(blK7P>b^6}xa?wlMq}}t&UiPxvc8`17dRH@@U5`^zHLrr?t&+i zcMX07);Vq+*83k7u4B25>;HsxEZ00N^sx3^g&uy1v}+;HvuxtK}*18k9wL*|_c<`=N8YckGAGgEz6}eE4tX3*guTT?ohi z<|246YsSN|cd1j>VT6CE_V!?Go3$r96E5}>@XR~((BY-Ha1+O;oXW-?f@#oxe5%87 ze9}T5dxadlxzh`p7TlDbmVQQ_)4d)&#rCGv>7Zy0#MW&n58@n8v^0 z_^H*0Ji}F9no2%VZ$y=UJO0n?Fk|F~{?)0J+h{lC`?_`5zTIA->+cTfOrdfds>4;@ zoJ#(EnRjw&z2CAft#`x^DCNa|!dQ97dfEFn4MJS>3s{*lm2xA$84GpsU*&!4ltzD> z<&tt<6~~@iVA;NoPrqbO;;V_T;;YG1@YR&B@mXrJ=3~nFFmLG>e=~0&{F6IyusKJ2 z^SE-)T7y5BxvAJ=)!`v%iuRIb(vPJkhdxq2|6lcdg?cii{_vZ| zw6CLGt=Q*l^fa&dO{4BTsE_2TW2YXz?li&=CmiQhLzq>*PR8=*34fdLmkEEB@Mj5s zlkgV_*E?8KINPINd49sFQMl%eIb`=cjpmD8b7dMD=1jQerfF#A2?f)x>ohboC7SNm z=$H_}vE~ko0BqOXkeAk?8Tri9QK{yZX=oNpG&4*?(~D=L?3#O`xuopBmQN|>5j z_qKj6>y@vnfx_PW)FitPqUPQQ#6I$c8MXU8qzScJRmpk2jN&ZSViEtgy zLpRyFD!RAKYf`T6ui*+CeC%-9Lr(V6q|iMet&!c2FSUJ=vZRZ9WnrT^t?P$wF|+zc zF6^p#tT7X5HneVG(j1(y(u9p0)5N-Yne~g2_KAkHjpcLY34nlY}e{Nx!#@d z-U(llueuWK(#zt+g|Z)`5+bgN7wU6dE)=vbv1 zuHtm7CT&XVxsl^nCw@C~jMtcx(Wd1&qRuAAxB#`)VdfWG44kXDW4Ji zg84ihn)9t+8@@H+C(W7{A4i_FNiO<0#!U3lH`Z-Hn(0p}`$(Lo(KSQWJJM9G+sL}8 zZ{!{GK?;@>dG+*jMB zje31Tyz>6ux~-Eu6&|{llS_NFI$rrGUM~JlkJ@Kf*$&+X?EQH5Y4m|KU_R38Z?wn_ zFz4t8nQM&K)#05;SMR|yj&PAb#f~sn;l0c`e6YC{KGj@<&x18z#631R%YqDIUPf%q?(#omt!zPg~E~7>`vdYfZPpzEL zho7d~)#=KjcovhBf+W6uoM@~)Mq8%PE?mnVr2E0FG123cGF&XD@um94`03^Nk&chP zj(EMhYcP%NW8FUJmN8GU4I9(wy0z{_tYzK)r1`5k>Jj#fa$?TJy@)-mKajLXnYZLx z_BjdP*pO$m?LNXa@E>;kp-J1+_Lm9QHG|jiXGAx}y2H_ZlW^x#OWWxfJBxWJybw&A zi|e%uPv)8tVRDNTF0SeeF6&K!$5M~H9sYP1znRbQSXZDh{AKi`TsZT)L6FvdGG|Tb11YQ#6}@yE&{Ennp-r_u(y<`X-(sI#=HTipV@=F=K9N+XTRvTHtL8XEOyXwI63hH)9L zdE7KKMdeCW^SRT|VBc`f=TAe^I~26*!UoMrd{?{n?8vBje1qm>YqX}?HD6*4$%?(C z?nS6ybRRxHF{0(1i+R?gelR8NE59|q^NU$`cSF8Weq*1kZ2i5~Gw+LIVC+Fh9oAXLmuy3H=izT=e~(!@72mgX`nuC= zoTv}A_Un4zE{>m^)JJ{0&wgdR^4ImiOEHwL2adA-pXg73X?4>sgh!u%+3Ux4E1qqv z!tvZ<4(qy%tklXUuD>X4`}2=*`}2?R(wCRdHrA;0Ih3^{^{B%a!+M?}r%rMN7uU+J zE$f!uhcBBvgKvpsm51EM=<`^^W6wLKOyBZogDuo2C+T-eXO!c<8~*gzuqQsQ<+1-m zA7iAy^-na^BaX*9SC#EovhJxwr|=jAGFJ(K8Ep%|khiGPH+{j7U#8oIH>bKfdE z#kv=)!>+{~iu&pK3+Y0Csr4_Rzug>r4UIF^IqLGD<6lAhV!}w&N59j?`RV7@y*`cl zguUMAQ`+q}>)*6qbx{6MhdItH`|GVFKlN*4{|-i{y032iJJxINDL>79#cK|(%sAAV ztMkaXUmW*}w{ZF?4e6sk(LXW%N4ngD@O3O0r=F`v27F9 zF8eClxVF=OP5P~pymm2bJdHBzJXnrps~9hOMp)yqaa^8;-GjIFQf5X6+xlcI#S%=kW0kAIho7=`i&uo-?@+zM+Ny zr{CwTfS>CNF6t_d_pZk|m!i8<*DFa+Uo=$-i1!?W#r{*ryqwRjgLoDMBh_GC^Vtx) z)?qo>ZqX8pb9ZB9I`WoF>k#L@-^Ga=(bHQeX}5%%6YgrJp2acZPU!mRm^(+_Rpu4fHF{g$ z%k>L=jJZe``em)36aBEHtgX$O^KymF&_v%p_t!4P{ieOGn>Q&>`ZxwQ>TA}|kN!-v z=HJ!kUMI5VC;XsU=ZkWxhx|BZt;v2w_ISy-RF+Q(fqC{^D{PZFep4%KuL5mQHjE zkNW6bcl?b!(`ntHM2DQ9DT`rF8*%8VazN2hUjwQWs97?U5oF! z)++x7r(1(O(*`1{dOtm@YE%A-Oej*ygs^F%}UeH{M(SSKL2mWVeA(h$6<`W7>~=ioQ+&hjw`<# z@9Pq;_6@h6Ue{K5WB%G#&qQ8P{s`y4iSuu4$2fl9qI_jx}>Obh5`h)^A5y1I>#c$~6JA_9P?BIu7k_)>>IhSYU4|9c z_{57Lkjr6gQ@l$pefBiwa1G6HG$*33!*-Q@-3Go__DfiM*{#vzTEg~fr)<18;rpW< z<@izXv1Zxv+=Q<->-w*p#+lBoUI78Z|HPf+Y$dCX!ZQ2Y#aIP?tG3*%2j;ib0qQl9_hwfe**do&1(`r z(JXt(b#eV;TukfUZ`9*ar$5E%W1WcmvXNfrmui>nA^%mUJ1r?!<)?O5AH_2@VaI6C z$4-9+>3>aFd1xG}526h-UR3t)*-2TlO~k8?e^%B4PJfQm$2fZ7m~y}Lz^R>zzjr#= zy7SPjWsW@-Y1*$b>sT(Q>s7JG*Y{MT`w()C8iE*N^dV)a4Ghb0&Es7^0t(GV)~IcE z&6hN2_Cu+Bcx=CLYMZ{tK0?nBKhL1p!tJ@7^gEjek?635&opnwZwBPl4>Ym(J%HML zx#O>K9nyHU_io2uNBlEptqW7k+i{}vYr;Lpm;I`G^htQdgx5)UyM#w2e0;*^CVXwe zlM;S3;g1uZY>#y)Nk}Yte*PPI%pfw@Uc$2_Kp8 zsR>_`a6RD{6MjG8@6GBXIgKN|UqpYmMdMHFxyE|WOUrscM;}+s>c8d9O21CRdnSB- z!jlvJDB+ndEAv-AizU34S?l^X<~S~B9IDQ)QYI-Zy0adX1|O!&owKS=ne zgy+7zqra9n_qkT3mh(h&?t^E0WY@AbZs7QjD1T?O+Ov;Y>-HG4_6p~lbuMvJXy6AE ze%Y+{f0c08E6RH5KK)$gIG)po#ol7sGCW%cA6sQx;j<((4TSfCSHPFkZ)IjhP=obb zna}a-e6%;#7|4kmb3)0j@S&t-eJJvYYbVHx{FP^okJdl_6-LrELfJ|A$SJCdKds;B z-0R=&)X+p7>hM{VOO=ZCc<6cj4xBK#O9&U|`ck^e_w+&VcM1R4!Npqp1K(9Qma)QN zpJGhK`mOibX#8JI8M2$+bEEIFhtf?T9M|%j^QC^pIvi~dJ3MS%r&}a1Y*6T8Zz)^o zd|LLGAL-w4y3S5VRFN)h7r$)^{g2jnu^yBEu0Fl4EbH4X$!{3-(cd=KGtJM_K7Eh( z2rX%S5A>^O1N0z`kQ8}!#&~AQ@R#hg$JQgxaw$EnTxVka{d=E z+14|w+-(xx+pIbqnS`HiRv%nq*7d9#&FZHI%s*4#my>YSA;$OngloKLzo9Yksdar5 z+bKMBF|Oi0Q$JbX-+JY%{2TQ>t}bo4FuGpm=pUs?%ZR-DS+|(;)*MjY@f^k=$1g$r zx(RP<*4}TwgvXd=%d^e0x17d^#?nhv<{lP=xc{qbFj^n3vVIU{-D7?#nLpCRo=txX zdo412%DTa%c`r%xomt0=8LsgdgZr4JU*4=T)=$EBNWw=Y;io3ymnJ+R;eRIlLc;GP z{FPbfBhA;AbrUaO)^Tc(Iri2w`8c&s8J=y1PhVxb;$zP2aD2>>orW(PUyjd^%WlJG z?a2Oxuj5l2zUI-#_&xA{#a9hlt}A~FJ|DiO-9UT|gkktRJC<#YFZ=I--xFU>V@hE$ z=i~RNhoix@tdEV)GHc%4kgxFAlqtH@i|tu&{OvVLpl z9d-%*#`BhI=o!|vCOY+1=;H6yU1{BR=pHm{4n1p@Ek8`S^9`jCww2Qva0a2=Kk=TFm-R*lepFexMpnI z{wMT=e;;~yBrh`91C8p_=|=KokhhZ0TvW1PId?d#`=82H8)u=coO}*-+qZyEgjJtb_#B6~!Pmk2Vv`Tx zyBy9VY}pgmKMlX`@ZnhNOY66Qb?xQ>p1E93i*D(DXV2JwlSLPepVNCcWq+qExz0B= zXM37kV1{JVBWUJhNAL*){#f_y1*V97I0RM@O5B zK7uumM)JAPd?0+)nccE~(8d~U_d7d(=0Li)i|Te0X%Db%C%}7~Z-@6W-wE$!z8hw4 zHI2kBkHQBzJg&{<;B%s?jWV!bSbBq%NvIQ#xGp80Sy5ihKF7XK1-ut<74F zbv$jIUeB6DeB3L2hVu~ZUs^BfT;$!$>5d~^Z}XbOFK*Tvx13pff_2P|_tv7EEr{2> zo$ahUC8>|v5<0EF`X0a0h<@1D=}sfvk!D?cIo+&%s2m3R-JYp&FL9~$XOYj%W?iee zAEy0H$C5{kC*}7P;i``^j{C+{_!WoeaMZm9w~rOLeXL+~yUICkcbOx{V{D@QJC?Pq z`8+i5x^C*X&&{&A9BbU~+9(^Hi|!}uE^-+f3(7mhrD}0u@2HRoTa!rutX9wa{u6DcO-)VS+CtML8Ht*<`toeGb0WA5Zm)d$Mm?Kf!gAUhy$zx=;yy{}A1^Xg;(4HtQSvI&|5DvaWZa zn>peBX7%NY=4s8z*f+0d-QDE1ty%rNuUY+k3`{+no~Ev6lnn7ZL~|9s!koiex7Dsz zK4XvWUT_VLF)|+3T75s|)Zx=MXe#c}X>jYg4W-TDYsphBZG~eT?E-5YNmFCuge~iE z%)hK_$NbA-yQ2S@ao#htsdHA(ucs2=N`96tHHrZSFD)bwC&EM&6E6>B{$5%Hmjj#1( zIKG;(2R?i3>;!!E%2oJUN+#m7{mLH2XSOX1Iq zzc#+sm96nP3}t)aYd>{3zHVKej*n@xtMKQ*zZ+l2>zDB7!vDnnFZgV2vzhN`&gQ}I zkI(6Bwi5n)_`~seEn~Jleii=!`~~n&#$OQsGW><`Z^zeoegwY{{=4{n@w17|SwFlg zKHZ+p_hm7jigEBCUNEY<$W3{(Q^7gB^fTBCqt#%$%Iox%UGqeb558C4Ou}DLZ`{wrMN6Lj-_&4)U7r_TCY)xQuXcQ|$a6wcwuzXt!ydDa-X&%i&S z84v#(UX*yf!%cPjk#N1kZSmNaLKLkrREyE@T29k z&Ew%V@|V62?=Ym)x52ZW%o<3z{yT=W;wt~0YR=)wkw5&g^QpmlAE5Fa4@bY$;qTGt zTuYO$awq3kVg`M4&+_+Onq>OBnd+Auo&k-v-m1cj_<`j zMXa$SC;Q5U4_3bF$ov1))5YN`-#8uh_(MA7`<>%qRV`bD2C3XCpLeKd*zi+W?pu7d zsqu2W;oA7J;Rt-?xC6dyxHmpFYU&M-h8a?Y zI~(4HIZ@@?B`|Gk()F^KQxe5}yBxkAjmoR>`LJG&?eVboL&}q&>`pYlsomtGW3)Jj zm)xx68a&ushaU_*c|2pz;n&SI_+xV&{x0+wX2S6lGlBf!E-a!ds|L>wcP6|J&j)vb zWx#%LH|gPla1Xc!fBPiIVCmuiz|%{Qp_kd5V?KT^qnEDov-^~)xA(dFHR69w;v+DP z&y+Wgru-rOk?OqCRVsg?8>7y)uE{!@+W!1|l&9l{TsqdfCi*hA9GBv$>AU|)JyuQX z+nnec^G$Uv=mx8Q=n<_mvDPY0thH76`eiy7V=9O3Dm`5W-qS+;u(>Vj*T)$!_=E7(NETD%$Y!w_t3-Rwy|DkJjQ!|`(@`K0kW zry4|^kFaj8Y3NQPUiLc6x_J_vDjMa5?i%anvrgk6E%#pHHD2PJZnE`N^iP{r=Qqu& z*XK!iw|hG5(=*|@%-T5iF;A=Qx(C8Ldb7dS4RBqVZbe<=*uEa|s{6+FU-Yr}sP_m=in`+6n3uvzt4CJ9$s zjcM6!DB;>KZS43J(aI@ae(a}qcKpi3A8KAx0$lV->?gyPVWZeHjd8kFlQOjKL|>lc z_|=KO%B;FiH0yrq0|`H2R=Zy}>lvNTlkm>>CAKju&%R0c@(B-1SZ#}b4?CRLRQ`@+ zbL)na*PiB~N`Q+o6}F8u|FCXj(#SC;rcc`+V^_yg^-b(YwMQL9niHIUQ>WLwom%=x zccJy0TOa+TaR;}LxfpLT)~D{%lR!BpXD!D6?_w&Ej<1C2g8ox+rIU>vurEuzA>t7y%b^BgXAu$M5XC zBYp~o(7DdKj^CB|ts1nk_C{VY2DX^KQmhBNTEB<$4m(XtufM6M{pJBqx2MyoPo_3j zMq4*Bsk{0*@;}w_`w)MLS@Up$S@+BDOTwQ@IBcbTbo@TA&G844-&ba>Bc1Lq`&Dyj zMp)}5OK1CelJbh~Ec=-DGT9msc`@5&Bx`a6|}Q{O5aYnvvyt|1*lcn%LH?UAqwjC*G}Y*&!_MS1Ev zhn)H(%7|-EM<|cdRg`ydE#X5GKFr)WE@BPQxtYp{aj^#V#I+plbWw+BSF~d@>yEKb zV_Nz2K92JN!bUoNtmA3m?~coj<&Uxcc=TtP)z{aU<5&{;#Cz@|AK6;Ax!3xW;m2X> zRh*BmJ%jI0sdc5RobI~uwfWQzt^}*?bZwE(8N_Su>H9M-<4mVfos^}@OLf|#NdLO^ zXQThntiM_Ivsvw2U~)O8wSU!`_R%Z=ZXn^}Dm)l|`xM3#ypmaIS2YiZl@G4_d6YF2 z);!U^L4N~KY2}o^xI3&lvk7ZLPgs8|a~b@c&-+J|T!S|wAC3De{NLoWBl^f^A6WHQ zKHuENJ!Cqh4l7Sw_Y0}#p)fWquDy-5UXdr8t8k>vVd-(*$CLIfSalmnzqBbyc=%=X;yU~REPJ=X*|w$aKL@`g{36n-;2+^(il?8B;Kzd#lqcNz zf#&R1F~;f!7wZz`%ml0bb$C8lzxh|^_6rTX6kPoN2!4C3@;s)_{`A9oSo8zz@K&(KdL7>SuRQ;yws71XN%$SAGkhqlcGckH z;X4Vh!)L*FNl#uE!}mxJbIUV3X)W~d^@JDohwp@GYVkb4!{#<-;PdeF=yk#R4Rg+- z^Z~5r4QdSX1sCj;-KTQlxaOw|*k>Q(YnFYvUWs07Sq|G(E>-<-bi*IU#Z`_|wCrS8 zx$;laT$`lPn29vk{7IS{65Ry}U;ig*ZccQXYf;Wk9n5IL?tE99X9^`A=Sx;7=QC+)pgX>g3=;@aZ~^m4o6OEwB$eQ_+lI^t}6^}!YRtm)Zp z_+9bk@c%F-H9zFeE4^aA2qXNJevZK8_q#6SJH6Itxu|NR-)M8Bl?R+2?H~G1@eev) zecPBm>L=a9Nj}p3i#Dpyp2WwsJPJ=S$8QK#rZl0=9xSzwCwVDx#Lw*bCyDQER=#pk zKmEOA<*DDEX{}hwx@X|E&1v~ct7HAQ7_imx&nI~*KJwgVxpIv?#JU&Jos#h7=Egcj z{cj;&wy9h93hAFn(!7lRg!`NI-0I2+Z>l{mKRa`e*%(~wayUHffw?iG@=~kXgF{__PB;m?8){98@{6=NJ=x(XM5f6tia-Oa5)z+(BcbL_#y152FX+9Qy3nrT;*=}0x`VLLhx#?e} z-KywkG53f2nN{aOX4QFha}KXp@}HI!_V0;)C#RhQKG0l+qaRgn^rOm+epI<*l5$Ul z|F1S)ZN18k`m5YYgsbgU_)%+A)^lc+^_n?{KZ05In;16Jv}e;}r41X)nt|{rs|u^m ze5RStDoH*Ym{sR(%vE?#bAPyIR{c*itN!Q1%-tsHJs^PR?*+H zsH|P#6dpMT>k&nfuI^9y|0 zJBRg7xEZ`|cYcyR1U!`R8Q>N0YkYda!|;{aeDIuTa(MCkx)sl$)!;r#i=+m1v(ClIzi8e~Q`2mb2BC4=#vH;o~wv*X1<)yxr zyODgbPt#QxR(;swa-x4~Xk@pA2(QDsF5X*AC*4QdzG4pU(a-f+JH}3Np@1~FqFmWt zER;aTBNNK3aB*RQ^VH5TPMJzYHWHu^w#c;BX?PZi#SaJ4t*(-Wqi zMIGjZi)$!+U(oyrysY_YIEOWEUncvt&HsisH@^b!Vty6Y-xia;jn62;i~gmuN5hLz zcgAye0z43|!)L-vs(mzKH-0mtwIPQuaoRe3ySWX1)U2L-9adRY_!Iaq${+sPni~8o zyo}~13q+4+Tp!Z(gg;kWJ_BDX*ZlFYuA|May1}|uIUC#t&w+kf)ss5U?R;{0LAV!w zDkBgP;9@hs5ZA?E^>0tOY1Q)D@Eq_?gco*ODC@Mhc>(wc^Mde+ z=7r#K=HBoX=05PX=DzS9=6>*F=Kk=z<^k~c=7r%N&w5N!pEGvtUaY}2Sbs}i>v0`E ze~8!S-W)5?7h?miI&B@k{kHO1xHfnI;aa=&;N?J=F3EB@H`n0xV70y8hqcjsKfJqn zGJGh!qWYpQWAaAV6V~5}UyATncnq4Q)i3ZV@G|Nb_*`?|k8@YJC=0f$ETMc$S6Mva zJMN$@=sWvZ`xq?u0lwPt3qHdqo8h^_FV@=yVdXD3VeN8FtHS*VZ}R%ELZVs4EX_uw zRN95|_8J`XAm{r~=hMnwZ$lW@eKXe;u53P)c5RWwkAPcA$Kj=^ zPJ;L?CfL4j&*9bH=v=J1HMpf~w}QvRJCIiPtn+EFFZKF6;aVeV@F;jom5K3mT$J5% zxar|au?E!Oe#LS zj_{cOcbThn%meToN(-wW#I5ivu-;o&gWrdhXC3|mF7jb-@r$_%zs5B%h3D{$FO-^A z`1@JPdp?Z0tUu#&Q`%dH=SK5a*?}_bDx2tg>8LT!L-D;R3tkvK#W&^f&1>@B5PZ4l z|0?{*tR3$!zWWhxAiOK9 zLn}N2UK*|1xE-vqQ>PQYUc9M1XTU~UbGK1DdeHA^wuQAv()BvJKdZre6Ry6i^SA8} zH{TEM-CX{i#mVsT4u1eX-~3Pba`S`mMDs&%+^cURe?2QPjQlgEz

      2fjRsyv+gB6 z=d`+)*amN}i zoWl>m{~){uKL?MJ9)1&6Ss7#IW3$H3xA4Kz!`)tL&JL9x?gbw%eOKlStg>==Rrm<$ z;dS7nq=z?w$4HOuw}X$B9^MN+PI~wda~(boRzA9DaW1TU*y3f^IJ^em37+CnOK zhO6vI*z2ofuyT1U!s-6v8DM?UShcI{WLCWLkxS!uaXiD}5Am_ikfgF(l24IILq2;r zo=X2ApE%BRDOyyduI%|==%cGt^(o%We_mHiT3loNIt5GwLJz&eK8 zAKDd{NgDk~AK_$IIq*-)V`zq}9F*uHFzOZcB)oD+qKojU=??o7UF=(wUoFu!mYeF1 zv~Ftl2;I@vM7zRI`#3<(cMnjMGnT>_z&tys_3Zr>0q6aqf>H(sGXf zFUpC&kWEkgFZ8{vk^W?O2>hfjC>cJP^Sj&NUd4VKf~Ey>p)_>#_v)0~Iw zGc8?O?=#TXD1&^9YfkOgEJ>{AkoyiR>v4Lb89l_uT{Qab|2eL!%1hUl=nt|8R~hH} zNqSboXD56?2REnZ)E6b;^LB8hIpI|jJ~iQW;qkNq*K+$<_ErfiQ1;Tb-MBt;H}M+F z57~dx`YX`9W4@bvonM-VDifUAuXCJ8qO8ER*XPQH*E(23~8Bo_SSz{T)`7wAI|5vf~l0?{qgM<*I(_+l%p| zzjw9n7VC5jQBi7#`tcCQ-`Wtb`YXR<9e=yyV;sa-iE(nKbraEDVOINYPxyg^pH29k zguhI<@=9sjzpu@G#e`LV*-7?MJ9Hgf?>+g7#b>*mK4)Q@%ve5#$}Z$|ld0Dd=9Q?I zoNOT*ge_Kf{DXu=ylfD*SljUrJ3ef&IpNA@_}=_21pKY6d(^r(Zbvx>IQ}umt1X&K z5g*SvZ#<;@yBD*ddyT!!=}z}Vl1}w(Os8j1m7mh-yypt1dy4N9%^KH_n`7*0uBaW_ zAIXpFp>x03qZorPSpOVx@4(3Z^giAHa$h^{N9WY@=d!HgUR2jt%kwC@IGY`&4uzZ7 zOmnl|u{?#-~5CEAX*HHnIHPRD+*{Ri2#Qwb7ML zmC9L>HGorR`M(Xf!ENxz zuqyQ~tUPo0WB3!oYw(w_`nL|xG9BlcEqo#G9|_lfr3QC>t>jbSM`kV0E97N)PAeI=m4~*2VkVwu5DRxjoJ5hl3K$ z*hF(iqEQ;V>O*(#ln&g>2$MJ*1)t1h$mu*!3ya+~L>a-fZ>a+>I>a=V5y-0HaEO#Ql z(p-eEG&ke(yi1|E&zk3~dDogB@Re`RH_Lqc;;XI8;;XGg@zs`X@YQeo@pY3fq_ z2k1YcZ0cBCgZ~=VJsi3AYbfwm`<8pV8vHAo?@3pOyROZ^6SAU|L z&2eZe-@r?%ZOJ*Y!oQnJ`eKbFa>*q94}YSQt?ep5{fRC;U;f3q)Q(Xuc~ySv$ft|u zhwi<+>M$KAUNNson|MFT=s7Ux5IBw#Z|`0yjz-#9jXhZRR0pYDOxW|#sGoEGyVBeWPd3-MzwxwL_ds4T>mJDaX59nn@>ZG8Xn0mw z?*rt|QDw(*VNma!sIdslM|iB7UR-Y^nSzOPO?|&DsNKP{$>87C(`~y z*c)kYBd24wo~Ov+CDAm?wzF|uhhIWdgX4becz9TuPj=O8S*K0SSHsE+SLsfAyGmF1 zhDWq|6((vA??L#Er0wc8auh6gB)&2_0iSASXW`TI>~eg}p5276HS+#4yjWkKhvnYE zSK2S|mDa8@Lq~m@XKN z3lTq$IkXg3Zo+F{%C)%?@wP+{x11p>z8cMNBPnAxCi~R^-EdL z7%XfS`A5E=Shq|=J+*GmNZ7BAUp9$Xy<$D=@lM%KgOhloi}Nm>r!C<46&xRZ*I4gu z7VlKte_77@m8@qh74?q#gk7}m?m*GKM)FP@{7s#1m4sLj;pSf{-MIFZy zKRddM@Ry@aS6V-Wu)E9}r~fiNQU!O2J^|Abj*E-3R$d0c=0#d3jkBAq8-eZtv+VJzxp6*3f5$jE zX@>G$eP3Gtx1>C^r%~T|N@??LtYdwj>iCQH|7}XyuK7u)eM)bq-`43H$8V&I`YnZC z?OfIAwkO>NX0>zogjHYJUws<&K7@Fcd$e^syWHrf(CIvPI^s^VZddDKU5^z8?Z-^XQyjUqnk95%{$wp4BW&gu3e z-3;&jer`-_OfSIv(lM@T{XgKP5>~y!R#ASW8EV}@uBY0edPE;?=lDaCc;z?C{++UU z2s^;>hdDmViT0^aT8KN^x*B|{Iqa`A8XwU=UFPeQ>3N8YtUHP{*P3r<{!B9eZp|RQ zo=w&Kderg9kghFZ)jP_H_C;CWSa%$0y1rl9T`U)Nk2Xc0&5lmC>Tmst)~m0Tu2H`{ zI-MV{VSl*OolLr2%tMtB7i0FG&Yg<2WM9XhhW0Qs+wbi7hIFc{(nmi>UDXfTTb^hA zS+1+>q3}lioz{&@bZNeNZdH5pm#jNC(Wx(^?RtKCKH|Q$?)(N_^ts+yuqyRv`k=J^ zg^BJJo?&dP-wf7`N4E&f8dhAtSpn8LyWCK-cEcOOacyo3bCvLI%(`~6GmPDfeD;BL z-jcY=R@Bd~a*6B5_sW$W-2Ar=4P8+_M=5*o*iN|StE^`)UX1&=-Wk_jM;u-$uDgz+ z4!Y(Z*Ja<}dG0r8%oxIPE!Q}o7%Q>&JIC?YIX=d3#K*BZo{PE3`Wvj*m{0*xFCAmm zhDWWt$+|dh==o~xgWe(jX#Dr_wSIqQKic(^)8FFsF;AwIKGIG9VcFhWoi5s|-*R6< zdGk5`_9S1PTWNpi#uCJ<{>#~ab(eC#xsuaObUL+Lx<)%~VBMrdhwKl!ovgb%spodo zFY-IW@%IvcqFMW>bIglws$4scC6VrC$4@5RqY1xY*8XaWIo1!^wnE3p^trw0Gjw+oKN$Nxj6Wa#Q}$nSx=%>=nOS*s|D^0Y@%(1(?N>0zz9HHd=c}<7*u=Uo zNwa;zs(Yk~aT&+geXY~GK;+aHx|SBUJH_$e5r4i}WBvMsl}`D~k96_e<0R{TBFz(K z+5fd9{f7yEpRn>%ePq+fuj{9!jXK@V`K3ALp6Z~w_a6?&5h@Qk^kC` z?}m0qbDTei4MVH*d5y#UtZOFCX=c^w(j>2Y5++Hzog=Ro9X}&^e3WQA|EFxP>^HMn zbsGS)UufEbykgucU%gvddxD%#JS$m)HFvegtiy3VM3s1`PkCLa3NJ^VvypcWU*5M2 zufckbvv^MkY*&$;S3-|XihC=^p_fLky*_*&hK703loKBFLK;0^pgzj^oVY3H!7Q9L zINsx=a_uU!Q>Wlr6YiDpJRRIT7j+B0j_+Gh2V6^x6S6MGs@?-LC+QA!{QS-%_8l>n z*I(jU!tt=T%JDLl#< z@B9~X{;^+){BI&&4NyL6nU0N-k8FB})Aw=uriS_{y~eH5%U60m`}>g7^_xaI?ZuV9 z{x-7wsQ(L2H^Ax0s<20#*MvPnAAch*>>2HT*ZC|$K3^o<`LmAxo6#J7)o2^lQR->g zW?rWsIE^+co!Taw48V{5#z3e0i_=j|F@~Z~Rv=!sT+Oao>^8~Y=zc|;db9*_JuY6-p#eAAz-HPP5q~c-*3r8)XT^^)D9USZE)ty^sxc9ES`hZ#RF`+A6Vnu`Rt+b`@q z0G-ZZm$QD&Y3SoTE%fVIKQyUFn*a91tIc~@xArvhjXl8O=v0qmtzUN<`l!eG)?Z=$ z`iVXrCpx##_q))^f6)5j=wC8F=5;Q{LiFcnPV?$j{48B)3b6v&K*;W495#C(YLWEPDw2#-`QP0lBd|KM|*ori{S^Jue%$qaT zw>N9=bC6ljMx9{RJW0#YZ;Li3zbNBI>$WHCKC{Y`(|D3SRj-T5N6#SX7!mJrf71G$ ztPk6MNcg4bbp5G6nS5j2F4n~{rRSHWZVr50%We(j>iwiDH}dIu0v)0HSicAQVdhn6 zvs~mIbspjPz0mGrmaPs?_-wOmb(2|Z%A-m62WG7=Uzv|X)AUtYck!%drIpjMMEx2z zPy1Kx(7r+YkENXMAnG{8toCeZPWvz&_i;UCf9nowuwRUE%_r@tLqEp)n)T6dagH9k z^Q}8F(dqh4qwad^MmOkU9>;ToldKzq?kTgz^Axkjt(@v3Kl(7n-H+BCNBUl0mv)zJ z7EgF(bDCG!O!vlP|G$xSCzIFK3GbSuKPcgo622ti+Y*kttGrm#bw5boAF}Rj%4>re z7EOHqt9L^vUtDEI+Gz>MdnDjCGP^_AI}1K6vwp5^d0@I8oX@Wtp=W}VMN~D-8FjOh>5BZ6k0!lc<#IH)yKeeB#d0yeV?5qR{1xaPx9%GF zb#t8S#29Q$^O<$mlcw@*X|pvcVB@2AShp9@^rW z&A2`j`>NPe#50>io$faBlT$kRjp-Vn*&N|?cQ_qMin{LSvB04%ToJwy{h&7J%dSql zDC6uP^C;%+*$Lm8XdX!Tm4x3*`0Io_eOKC4`A?tloC)_%cyPiSCcIO^2Pb@D!sjP^ zZNhgZ{9wY*C;VQ*za>1&_Z{``oA6QzubJ>R2_KN~F$rIi@I48?knn#J?)F1R9p+DX z*@V|kc$;}z@PmowrG(!} zH2*PcKhfi-vRyi!^)~C+lqbCSljXX96N`)Pt>~VKTpTNMSjX(*JuL86PWyLkwWnG2 zJT&3s6TT?n8xsC!!epy?ThSXYa{J_hrOYKDsX>)*3m1HYz^n6X(7)c>15qV~d`N)Om!?d*tG8vQ=TFRd~)P zO}h|jF?DgTM|+k?tM|`{t9%Aqqp~mFw)~AL*#6tx9NyR(Uaep3eIg(2Pfp}Sv5ID= zq%6HxBs2#Tu8|>44aWAx-w27{coW?I8*gcJJxFPDKIfokK`;I;L!7GPy6qcX;=I2mErh}at?=0TH!0GPmw3A z-zfK_|Ld?FP2+wxVZ|{SzQyg8ZSRL8{2_Cd@aV4`e#UxU`|>+GN4umCn@j&OdTdqf z9W?f4BTP>B1jVwC?g?Vj_OU0f^3m86$Jo>O%K4~1Pw$vzt#IdG%CV>VYwRt@JxV!^ zJ#iJ**c0b)ns#o|R!F8g$cDpu133NWTlrVvWzndA7lr?TMj{a?h*QA~?Zq<)JP!Bovqqqu3+jCgY zCi0wi(<$(lgZ!K*9Ool7cmmbKXTy>E9=cLZr zT#V@&JRj?&%BsUrmNJexqB_TKw_4#zu0sue&|HV(T4_dJPY|xQs9kX_xD}3i*5H@W zXgrUH-!kjHSay{;sNbiA6V#QaWZ%Pbzu{9{xXO&^>?*S-JZHi)C9Js|`dJe0p75** z_ei*xnevNc&Ap$M@0aQRYf-nBzQp%7>p6fW%}2qxd3ShyvwnXkM;nXhhGP6^Ty*ck zv&q&i>T;#idb13SUepq68o?9?$A0x+8DTG7_t!koeE|7!y?tY+Ta$F#H{{XSH(~RU)(s=g@#e;BC{gYc&vO3| z-38XI3v1oM{ox)+*!C)GH$XeVtbUwqo>m(*1~nG7wpQ`OHjg{q#)Qeq{(80{#(3Lh zrA_qrT4l>Otlt#xTN$y>xTn%5*?KJ!p`pm_}*RvD7;mS&BCkqIk9%@O%y z3D<8TPICMov7e3WSv_6e?&x}(Ri{A-Zv>ORsY-gCQ!MA)+mAnd-`N`N3v`_#_BHzu zK7g>Ck6mS-j(Rtz&#~{9gfECqLw`ULo?hcQFbVIO=nqQ5_1?kA=a3{kc?Q0)T~|b^ z^IDPxjuA z0eh(XW(>L$&6{3YX3&E)I!DxANbkG*k^8x8v0hz>ZcDyjZT~iW-Or8dB6|0o>Jj%_ z;{NU3&VMXrJ#L=s1kRDnnm=Efb$zk9QjTBoLS~(-tzeFGS+z~&#q)CUJi&U_ol1GT znDxBwQ6+aj)3zaLo^3dVvh@92eC2bM z>oJb4ZX0>6zBz$bbvR7ky)u($D_optg?rPHCoTPa);eRLmnR%@f zSu2~$HZ6BD*Hq1mFg~KZMS*zEF~;8j>u#nzIoVL{Zq&tZ3s$#&0{X4YTIcsPYn+KkDp>alVMl6GqHOFstmc%6}BmZDtB4W*UCh=N_n^z z^?{uFPyPVHRqxod#r}SA>+fqQH;%83`cP6Lfd`U6x97^Ljj)6*FQu!zfc_Jwoy_|F zOTyE2E&E=_i8*2VzPP>&gZF# zRE&1J$2*ZxHeRW<9bjV zyrJ`v@wPH|hj)UNXBFNPehr)D@F(p5M=nG-2OwP|m>&bR!ghS)x2$NDmeaWG0Mc?? zZ+ZkC1An8zfIHFo=kS@ZY*piuZ#76+8e*9i9L`&w7?ohuweT z8WJNjr{MbtC%U+n^uzAuJv&s{zsaj;7yP*M$rVw$%IhlI{6@lWcX0Eo9b9?0gPYav zNSkUlX3R#oG|x~ju0>-{j;0p#smpWadiJ*CKXiVyqllNiwT{Jl67&6Y>p!+0Qxy6) zx2|Mw5*GU3&}l5i80prntjDMSM>(ON-TKe0$COj8SAXliK)0M(^J%DA?cOX2mkpGc z`X$yVtwA%fciPFiZ(U~CDs=lg{(ItU<~7OZB(sLw`7rqx*Y0BM6WlSz^#zBfc=tn$ zafMw*+MiwaRWRG4rkrriV=faGF0S?Ee7hA*Grr2z+!YV!qd6_s^(f7C8LpMjz39~^ zI<7xzJ`jEm*6$B$d|rWdU9JvCU$nt*6RzW~2GB?5Dy+Z5@(Xp&;aCG|aI692;V-SP z!@ro@;LhEr(^M+v%`C9`L~cH~IL5<$%{lzp%H{R9R(Ns3!_Mm-TK;Wpg0q2#H5J$8 zs_=?vG%x3XTNls)7r@2X&f#rODzD?#V7tn%v}dT(a>&Uxhu3xF*0A!+`Rr(Jh4-+& z1wP2(AiohW^;P&7a}J-J=*K7es}ub#iT*BF?NxmSuG5r_);fgKdzbV~VGcithVq-P zf}e-=E@io^cI?t_&sPbTZF4?vnOoua%r*EE^LY3xxI1>M!#}`!KWwH?k8&+kpH2rC zeTT7QP0it6gcoB*i*xBJUEK$Ktu%LVbGHtz{N_0zO&UH!ho*T%vd(qx2xmceNu=!p zSE&Q8Wf<$gl4h+5t0v(an@`w}abk}34VxEhh1Rzg^3$LQn}qbg@w>*zI3H!qrrX04HrnzatfF(it5$2oD-Kjy*9 z=+%yx3p)SR_qUwS0^~2JdZ}+4^BK&+O><%$j?qf@mD4Rmx=zg<`G%D*Ud|b;CwDn{2L31dm?0fk-57je6_n%wt2RctzruhqL zW;Ux`i<;FgxhQK)?{e?3qT>gVZv8~NOTtH(RUbKxKlyPUt-p<>W{tCMg+wPCHR`Ug zZY6a0!i=Tj8ODsgjq;Jxen6b_c@&Mf#^(uh9oF;gg`WR@Jji zIMG~%A2#Rk(z8^uHAq{7^)BJH;5z)~gPpTsDvLs1La#MGhvR&^6@HuWTxsE}cI#SP zYZ%XaNj@fgQS=wX-t12S7wa9r#|K?vttf(4)-&+!YjZ<-QacL4P+B8 zhHT~V9R54JA>noSaQJQdP@R7qtZ`Xq<2KHmanJTDa}M8XuE7t49@gI+-hD39%=3kA7$S2dTz^**Kr%yoDGjESa^@_D4yVWQXvQF z{bdc-`HO5a9@cg2rzooq+f~*l{llbXd2MPXFs_*-}~dDh@x z9A1Z8cqygA+u+&ZVvNzo`Qc)W!LjeI!_gMCeE=G@C5NLebvW)dx50Lm;nd#_E0ps? z>km^UTZ(+}|In@#36FLSHRtHnmOX3K3s(Kb8FkwbR{d4am=_s!i2B#y_&t&8IRZT< zZmNoCHnR{ya{KBt*;5}jvmg|9Hz;Aro7INDo> zqrGi#w6{hZ?JApf*tW7Ud<%K1U2`Bf=4YO_v2eq?yBGG%`92xVZ1}Bw9)YE;@p%HK zgNn4T!Npi5e8NVZi}5MVpkuP^uar}V?TS7fL0GZhBk*0)ay)6;1y0v7{hdygoAdb^ zjhI7M7G>4o9~NcLfv-M|d(LWa{O(Ep`zvXSvec)udYr(qcI9xaS3_Z4htYa99FDcC z6`qN-3Lgp2Zmz-e!`%oUFTL}x!?KmeWE;G=!(}k7=fzkpEI~rX##Y#4DKtonYZSxa zfkjmE_a*o~g7B_rhQm9-+mTK#?yu(XMSZjK9fEK?n=3nvL_dHq6|%-MO-24WEJt*4 zKUci1^8_o~B;1+L2 zUc|-TB+`zwUTq5T_DLRlni=;+{K42o@o~I}HDKefyw4yW*Rqe(aU3ts=_6gNXJ?|* zI8Z*jqCKDQI-XqS^!qt|)GN|Ybo>FtKc27(#k5nc<15yUBF!gBnjaHxo~^96@|`u| zehCjwcr&x|lxu8f925KWDea=)QqO^IThgfyc5?b7Nx#2&O~Q{ds~%@0OjOZ6rH#3} z*R|z!^UJL}#&wY$q>Fp!@y?XV){RYc%2&U8I{Oa(HVE;%6Zg7x$6LqX`JG*(&*Pfy zf2=hfx+@{u@mE@ymH1vBz&FLK+KQ759wQ2k=ag=rEqC3evh=uRUgl{+N zZ<{}Dj^F%fUa8!8hN}DF{0&apsb_b!rsBdvehi0wsa%!V&6gG~z`J;80 zlBP$mj`7{gtUl_WaO5RF#!eg?23dC%X*MyZw$VN;%8&7}lXce;cYry5JEVS-JtNKG zj=urzac0ed^OAJeB;irlG>>TaUDiz?{liI`wuF^lbfVmp6Mti2veQ50^ct_yMLCiF5jG_Xk8+=Ox<{N& zb|ShxU93s(pi_CDTK_NWW8OyJg#J709!J+QXW2)ZS8__Dydq6JCo_+APmyMTS>tRe zv&PvvX8q1>M8eyfW85~Du_y5=ew1}DlGo7=%2XW`i6CHkk^0AT0ed>tKKutRoYW+ov-BXJ<;?r zx4?_SgcW75<~lKhvZcDQ2}R=1d(vpZGYpy3DLLM%z_qhw4YNRfg(^UCh+t zynw$o_9ed-JIwR+BBfj5&#k==PW{Cse%Ra!KLdY(rUti-sa9s?VpE59C}l|Yl~49t z9myues~;49FrR;72NUW2?{`s=7#sJPThZv4LGd+M?;!jVZi5}BDob|1#3q+4o7&+A z_`*%t)O8_oEAc|33CU$s<}eH3^TXFJD6+mUgkFV zP;(s~Wp0O0F&FR!<_`D@vpVT!b1Qr|JV`!*AAr?&t<)#R5}3}f(-?-IKqF@NP|??X zbxv33qw)MTb}E$Rko>7JC|@c(M_xj&$;3^B5v2PaAD8i!f3a2eUh|gsJNmKZ5M=aO zbZp!skOAFO_+E8}<!p4RJkpU1+fy^F9PbbJl& zyjBc5RKHSP%TWESi&KBeMn2c5L)v#r{!^E>`d!99c5$*1eO@Ea9n^)$bnT(@H!_Kj z^JZz{cNy!jLv>1*&E~wUn1kr5-R=u{rCDo`LvyaFc4?}arrNVBzBympk`GHm)!v!r zmoEF&w60q7O%|_lJ)ZUwTC^W~$(-*WmH5m ze$Ld3JhNIi8@#Yt``1C{c>iAHUzd25uQ{u>47P4gx3^KJbzw%*HnDCl>*&{1pJ-3) zTjJboN9*Uw>}qUp@ZV~HZ9z@;mcKTw|u@n3HN383Q?nUzrv_~OqenLE4`O@i2 zqU}C^+4nlmn%x}zsC>B}=Xd%tzad zO|#BHFEOj^8_hbOaY$>!o*c-jd>zj@G_Ot_?zCQW<)O^ZgpA+M_}h%D3v|tsSu$QY z<3VO!z}zs4-!0>jX3d>rVTRP`I{XL5l&%9REPNin{|2|hdOxkkS`F@e&m4R*dDCwt z(ou1}qz2!5sP~uf>1Z~h-I~-Fm}~Im@JIKskAZK2k*437eE?2}MOsY#UaeO6{#x&J zzpn;se-nG2PN_1uZ z_jz!DZHiZhJDXjXw4R5A+3Xfx$I{Xpw=~x9; zThsk4D)s~M`c7gE)^WwgvIBQp&|?9f8BSw?21Ng~!tp#n4W7@MHh4*My=VCxh4LN? zpLl+Ged{=Qb!(1?2b)L3TbWOQ+sr4z2bjmeN5eWMDJbhC$1^OuooVJUtMi`wI&j=` zUl;CtPJrXCcs4-CV3(3t{?{?sUtsmWj=}DR)0l-HhSPI;bp4YN4^J4?J!v{%&53Uo zAu|ikD`>XFpSt1pHoTSk1^(Lcb$E*73wWW0N=-6GHiCvy>QB|79C3=NR5y@a0(I^@ zUfRNOL{~S-c=JpvI|{jWIO#qXAH6bZv9?GT`?ET%Yfc(l1svyWsz8l;tB)Cf$%SBb z+phAP^SW%E#qUA?DKKx+{w4O~>tj##+?Xw)We4X`TNS?(@v8rBPT$GtvZD;0>8|gY z*6lJK-Ib(oN7{AP?F#=bv;CfVu#6MJ=TXjNr|&^N^)sPGtbPvu)f(-q=3Kap*SfC| z?GJn5=l<61hpjctYQu1|${1muo)2_

      ^VD>qf$-nAOg)=I{*zZYm$@cdg{}8_}tA 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, - source: Vec, - header: Vec, -} - -impl CoolBPFBuilder { - /// generate skeleton for this source(*.bpf.c) file - pub fn source>(&mut self, source: T) -> &mut CoolBPFBuilder { - let src = source.into(); - println!("cargo:rerun-if-changed={}", src); - self.source.push(src); - self - } - - /// generate bindings for this c header(*.h) file - pub fn header>(&mut self, header: T) -> &mut CoolBPFBuilder { - let hdr = header.into(); - println!("cargo:rerun-if-changed={}", hdr); - self.header.push(hdr); - self - } - - /// target directory to store skeleton and bindings file - /// - /// default is `OUT_DIR` from environment variable - pub fn target>(&mut self, target: P) -> &mut CoolBPFBuilder { - self.target = Some(target.as_ref().to_path_buf()); - self - } - - pub fn build(&mut self) -> Result<()> { - let mut target = self.target.as_ref().map_or_else( - || { - PathBuf::from( - std::env::var_os("OUT_DIR").expect("OUT_DIR must be set in build script"), - ) - }, - |x| x.clone(), - ); - - for src in &self.source { - let src_path = PathBuf::from(src); - if let Some(filename) = src_path - .file_name() - .map(|x| x.to_string_lossy().to_string()) - { - let dst = source_target_filename(filename); - target.push(dst); - build_source(&src_path, &target)?; - target.pop(); - } - } - - for hdr in &self.header { - let hdr_path = PathBuf::from(hdr); - if let Some(filename) = hdr_path - .file_name() - .map(|x| x.to_string_lossy().to_string()) - { - let dst = header_target_filename(filename); - target.push(dst); - build_header(hdr, &target)?; - target.pop(); - } - } - - Ok(()) - } -} - -fn build_source(source: &PathBuf, target: &PathBuf) -> Result<()> { - SkeletonBuilder::new() - .source(source) - .build_and_generate(target)?; - Ok(()) -} - -fn build_header(header: &String, target: &PathBuf) -> Result<()> { - let bindings = bindgen::Builder::default() - .header(header) - .parse_callbacks(Box::new(bindgen::CargoCallbacks)) - .generate()?; - bindings.write_to_file(target)?; - Ok(()) -} - -fn source_target_filename>(src: S) -> String { - let mut dst = src.as_ref().to_string(); - assert!(dst.ends_with(".bpf.c")); - dst.truncate(dst.len() - ".bpf.c".len()); - dst.push_str(".skel.rs"); - dst -} - -fn header_target_filename>(hdr: S) -> String { - let mut dst = hdr.as_ref().to_string(); - assert!(dst.ends_with(".h")); - dst.truncate(dst.len() - ".h".len()); - dst.push_str(".rs"); - dst -} - -#[cfg(test)] -mod tests { - use super::*; - #[test] - fn test_source_target_filename() { - assert_eq!(source_target_filename("test.bpf.c"), "test.skel.rs"); - } - - #[test] - fn test_header_filename_prefix() { - assert_eq!(header_target_filename("test.h"), "test.rs"); - } -} diff --git a/pkg/coolbpf-rs/coolbpf-rs/Cargo.toml b/pkg/coolbpf-rs/coolbpf-rs/Cargo.toml deleted file mode 100644 index c332ee1..0000000 --- a/pkg/coolbpf-rs/coolbpf-rs/Cargo.toml +++ /dev/null @@ -1,16 +0,0 @@ -[package] -name = "coolbpf-rs" -version = "0.1.0" -edition = "2021" - -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html - -[dependencies] -env_logger = "0.10.0" -libbpf-rs = { path = "../libbpf-rs/libbpf-rs" } -log = "0.4.17" -thiserror = "1.0.40" -libbpf-sys = { version = "1.0.3" } -crossbeam-channel = "0.5.8" -metrics = "0.20.1" -metrics-exporter-prometheus = "0.11.0" \ No newline at end of file diff --git a/pkg/coolbpf-rs/coolbpf-rs/src/coolbpf.rs b/pkg/coolbpf-rs/coolbpf-rs/src/coolbpf.rs deleted file mode 100644 index ec3ff3a..0000000 --- a/pkg/coolbpf-rs/coolbpf-rs/src/coolbpf.rs +++ /dev/null @@ -1,74 +0,0 @@ -use std::time::Duration; - -use libbpf_rs::skel::{OpenSkel, Skel, SkelBuilder}; -use libbpf_rs::{Object, PerfBuffer, PerfBufferBuilder}; - -use crate::error::{Error, Result}; - -pub struct CoolBPF { - skel: S, - rx: Option)>>, -} - -impl CoolBPF { - pub fn new(skel: S) -> Self { - CoolBPF { - skel, - rx: None, - } - } - - pub fn tryfrom_builder<'a, O: OpenSkel, B: SkelBuilder<'a, Output = O>>( - builder: B, - ) -> Result { - let openskel = builder.open()?; - Self::tryfrom_openskel(openskel) - } - - pub fn tryfrom_openskel>(openskel: O) -> Result { - let skel = openskel.load()?; - Self::tryfrom_skel(skel) - } - - pub fn tryfrom_skel(mut skel: S) -> Result { - skel.attach()?; - Ok(CoolBPF::new(skel)) - } - - pub fn open_perf>(&mut self, name: T) -> Result<()> { - let (tx, rx) = crossbeam_channel::unbounded(); - self.rx = Some(rx); - let handle_event = move |cpu: i32, data: &[u8]| { - tx.send((cpu, data.to_vec())).unwrap(); - }; - - let perf = PerfBufferBuilder::new(self.skel.object_mut().map_mut(name).unwrap()) - .sample_cb(handle_event) - .lost_cb(handle_lost_events) - .build()?; - - std::thread::spawn(move || loop { - perf.poll(std::time::Duration::from_millis(200)).unwrap(); - }); - - Ok(()) - } - - pub fn perf_recv(&mut self) -> Result<(i32, Vec)> { - if let Some(rx) = &self.rx { - return Ok(rx.recv()?); - } - - Err(Error::PerfBufferNotExist) - } -} - -fn handle_lost_events(cpu: i32, count: u64) { - log::warn!("Lost {count} events on CPU {cpu}"); -} - -#[cfg(test)] -mod tests { - use super::*; - -} diff --git a/pkg/coolbpf-rs/coolbpf-rs/src/error.rs b/pkg/coolbpf-rs/coolbpf-rs/src/error.rs deleted file mode 100644 index 896e65c..0000000 --- a/pkg/coolbpf-rs/coolbpf-rs/src/error.rs +++ /dev/null @@ -1,29 +0,0 @@ -use std::result; -use thiserror::Error; - -/// Canonical error type for this crate. -#[derive(Error, Debug)] -pub enum Error { - /// A system error occurred. - #[error("System error, errno: {0}")] - System(i32), - /// An input was invalid. - #[error("Input input: {0}")] - InvalidInput(String), - /// An internal error occurred. - #[error("Internal error: {0}")] - Internal(String), - - #[error("Perf buffer not open")] - PerfBufferNotExist, - - #[error("Libbpf error: {0}")] - LibbpfError(#[from] libbpf_rs::Error), - - #[error("Receive error: {0}")] - CrossbeamRecvError(#[from] crossbeam_channel::RecvError), -} - -/// The result type used by this library, defaulting to [`Error`][crate::Error] -/// as the error type. -pub type Result = result::Result; diff --git a/pkg/coolbpf-rs/coolbpf-rs/src/exporter.rs b/pkg/coolbpf-rs/coolbpf-rs/src/exporter.rs deleted file mode 100644 index 31d6b1b..0000000 --- a/pkg/coolbpf-rs/coolbpf-rs/src/exporter.rs +++ /dev/null @@ -1,5 +0,0 @@ -use metrics_exporter_prometheus::PrometheusBuilder; - -pub fn start_prometheus_server() { - PrometheusBuilder::new().install().unwrap(); -} \ No newline at end of file diff --git a/pkg/coolbpf-rs/coolbpf-rs/src/helper/mod.rs b/pkg/coolbpf-rs/coolbpf-rs/src/helper/mod.rs deleted file mode 100644 index a523866..0000000 --- a/pkg/coolbpf-rs/coolbpf-rs/src/helper/mod.rs +++ /dev/null @@ -1,3 +0,0 @@ - - -pub mod net; \ No newline at end of file diff --git a/pkg/coolbpf-rs/coolbpf-rs/src/helper/net.rs b/pkg/coolbpf-rs/coolbpf-rs/src/helper/net.rs deleted file mode 100644 index 9122d56..0000000 --- a/pkg/coolbpf-rs/coolbpf-rs/src/helper/net.rs +++ /dev/null @@ -1,5 +0,0 @@ -use std::net::{IpAddr, Ipv4Addr, SocketAddr}; - -pub fn to_socketaddr(addr: u32, port: u16) -> SocketAddr { - SocketAddr::new(IpAddr::V4(Ipv4Addr::from(u32::from_be(addr))), port) -} diff --git a/pkg/coolbpf-rs/coolbpf-rs/src/lib.rs b/pkg/coolbpf-rs/coolbpf-rs/src/lib.rs deleted file mode 100644 index cfa49db..0000000 --- a/pkg/coolbpf-rs/coolbpf-rs/src/lib.rs +++ /dev/null @@ -1,32 +0,0 @@ -mod coolbpf; -mod error; -pub mod logger; -pub use coolbpf::CoolBPF; - -pub use libbpf_rs; -pub use metrics; - -pub mod exporter; -pub mod helper; - -/// Convert vec to struct -pub fn vec_to_anytype<'a, T>(data: &'a mut Vec) -> &'a T { - let (head, body, _) = unsafe { data.align_to_mut::() }; - assert!(head.is_empty(), "Data was not aligned"); - &body[0] -} - -#[cfg(test)] -mod tests { - use super::*; - #[test] - fn test_vec_to_anytype() { - struct Event { - cpu: u32, - } - - let mut data: Vec = vec![1, 1, 1, 1]; - let event = vec_to_anytype::(&mut data); - assert_eq!(event.cpu, 0x01010101); - } -} diff --git a/pkg/coolbpf-rs/coolbpf-rs/src/logger.rs b/pkg/coolbpf-rs/coolbpf-rs/src/logger.rs deleted file mode 100644 index 1377988..0000000 --- a/pkg/coolbpf-rs/coolbpf-rs/src/logger.rs +++ /dev/null @@ -1,17 +0,0 @@ -use libbpf_rs::set_print; -use log::{log_enabled, Level}; - -pub fn set_libbpf_print() { - if log_enabled!(Level::Trace) || log_enabled!(Level::Debug) { - set_print(Some((libbpf_rs::PrintLevel::Debug, |_, s| print!("{s}")))); - } else if log_enabled!(Level::Info) { - set_print(Some((libbpf_rs::PrintLevel::Info, |_, s| print!("{s}")))); - } else if log_enabled!(Level::Warn) { - set_print(Some((libbpf_rs::PrintLevel::Warn, |_, s| print!("{s}")))); - } -} - -pub fn init_from_env() { - env_logger::init_from_env(env_logger::Env::new().filter("COOLBPF_LOG")); - set_libbpf_print(); -} diff --git a/pkg/coolbpf-rs/examples/tcpconnect/Cargo.toml b/pkg/coolbpf-rs/examples/tcpconnect/Cargo.toml deleted file mode 100644 index d9ca38f..0000000 --- a/pkg/coolbpf-rs/examples/tcpconnect/Cargo.toml +++ /dev/null @@ -1,13 +0,0 @@ -[package] -name = "tcpconnect" -version = "0.1.0" -edition = "2021" - -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html - -[dependencies] -metrics = "0.20.1" -coolbpf-rs = { path = "../../coolbpf-rs" } - -[build-dependencies] -coolbpf-builder = { path = "../../coolbpf-builder" } \ No newline at end of file diff --git a/pkg/coolbpf-rs/examples/tcpconnect/build.rs b/pkg/coolbpf-rs/examples/tcpconnect/build.rs deleted file mode 100644 index 05fca46..0000000 --- a/pkg/coolbpf-rs/examples/tcpconnect/build.rs +++ /dev/null @@ -1,9 +0,0 @@ -use coolbpf_builder::CoolBPFBuilder; - -fn main() { - CoolBPFBuilder::default() - .source("src/bpf/tcpconnect.bpf.c") - .header("src/bpf/tcpconnect.h") - .build() - .expect("Failed to compile tcpconnect eBPF program"); -} diff --git a/pkg/coolbpf-rs/examples/tcpconnect/src/bpf/tcpconnect.bpf.c b/pkg/coolbpf-rs/examples/tcpconnect/src/bpf/tcpconnect.bpf.c deleted file mode 100644 index f002864..0000000 --- a/pkg/coolbpf-rs/examples/tcpconnect/src/bpf/tcpconnect.bpf.c +++ /dev/null @@ -1,47 +0,0 @@ - - -#include -#include - -#include "tcpconnect.h" - - -BPF_HASH(sockets, u32, struct sock *, 102400); -BPF_PERF_OUTPUT(perf, 1024); - - -SEC("kretprobe/tcp_v4_connect") -int BPF_KRETPROBE(tcp_v4_connect_ret, int ret) -{ - u32 tid = tid(); - struct sock *sk; - struct sock **skp; - struct event event = {}; - - if (ret) - goto out; - - skp = bpf_map_lookup_elem(&sockets, &tid); - if (skp) { - sk = *skp; - event.ns = ns(); - event.cpu = cpu(); - bpf_probe_read(&event.daddr, sizeof(event.daddr), &sk->__sk_common.skc_daddr); - bpf_probe_read(&event.dport, sizeof(event.dport), &sk->__sk_common.skc_dport); - bpf_probe_read(&event.saddr, sizeof(event.saddr), &sk->__sk_common.skc_rcv_saddr); - bpf_probe_read(&event.sport, sizeof(event.sport), &sk->__sk_common.skc_num); - event.dport = bpf_ntohs(event.dport); - bpf_perf_event_output(ctx, &perf, BPF_F_CURRENT_CPU, &event, sizeof(struct event)); - } -out: - bpf_map_delete_elem(&sockets, &tid); - return 0; -} - -SEC("kprobe/tcp_v4_connect") -int BPF_KPROBE(tcp_v4_connect, struct sock *sk, struct sk_buff *skb) -{ - u32 tid = tid(); - bpf_map_update_elem(&sockets, &tid, &sk, BPF_ANY); - return 0; -} \ No newline at end of file diff --git a/pkg/coolbpf-rs/examples/tcpconnect/src/bpf/tcpconnect.h b/pkg/coolbpf-rs/examples/tcpconnect/src/bpf/tcpconnect.h deleted file mode 100644 index 65f649e..0000000 --- a/pkg/coolbpf-rs/examples/tcpconnect/src/bpf/tcpconnect.h +++ /dev/null @@ -1,14 +0,0 @@ -#ifndef TCPCONNECT_H -#define TCPCONNECT_H - - -struct event { - long long ns; - int cpu; - unsigned int saddr; - unsigned int daddr; - unsigned short sport; - unsigned short dport; -}; - -#endif diff --git a/pkg/coolbpf-rs/examples/tcpconnect/src/main.rs b/pkg/coolbpf-rs/examples/tcpconnect/src/main.rs deleted file mode 100644 index 2a5745d..0000000 --- a/pkg/coolbpf-rs/examples/tcpconnect/src/main.rs +++ /dev/null @@ -1,33 +0,0 @@ -include!(concat!(env!("OUT_DIR"), "/tcpconnect.rs")); -include!(concat!(env!("OUT_DIR"), "/tcpconnect.skel.rs")); - -use coolbpf_rs::metrics::{describe_counter, increment_counter}; -use coolbpf_rs::{vec_to_anytype, CoolBPF}; -use coolbpf_rs::helper::net::to_socketaddr; - -fn main() { - // set log level from environment - coolbpf_rs::logger::init_from_env(); - // enable prometheus exporter - coolbpf_rs::exporter::start_prometheus_server(); - // open, load and attach eBPF program - let mut cb = CoolBPF::tryfrom_builder(TcpconnectSkelBuilder::default()).unwrap(); - // open perf buffer to receive data - cb.open_perf("perf").unwrap(); - - describe_counter!( - "tcp_connect", - "The times of issueing tcp connecting." - ); - - loop { - let mut data = cb.perf_recv().unwrap(); - let event = vec_to_anytype::(&mut data.1); - increment_counter!("tcp_connect"); - - let src = to_socketaddr(event.saddr, event.sport); - let dst = to_socketaddr(event.daddr, event.dport); - - increment_counter!("tcp_connect", "tuples" => format!("{src} -> {dst}")); - } -} diff --git a/pkg/coolbpf-rs/libbpf-rs b/pkg/coolbpf-rs/libbpf-rs deleted file mode 160000 index 786c2f5..0000000 --- a/pkg/coolbpf-rs/libbpf-rs +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 786c2f57a3c359fb1840e3e1a045fc3f3c870b56 -- Gitee

      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

    2. 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⩔wr<2N=GL=D>Z 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

    FH< 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%0A)sJQ_+>PR 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

  • hNnFg$D_(-{y0iDm>=wUx0Sap@cvL| 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