From c56e61398aab6d7b72277523e2d797dd797a7993 Mon Sep 17 00:00:00 2001 From: falkTX Date: Mon, 21 Oct 2013 06:23:31 +0100 Subject: [PATCH] Cleanup 3rd party module files --- data/cleanup-modules.sh | 43 + .../juce_audio_basics/juce_module_info | 24 - .../juce_audio_devices/juce_module_info | 28 - .../juce_audio_formats/juce_module_info | 22 - .../juce_audio_processors/juce_module_info | 25 - source/modules/juce_core/juce_module_info | 38 - .../juce_data_structures/juce_module_info | 20 - source/modules/juce_events/juce_module_info | 23 - source/modules/juce_graphics/juce_module_info | 30 - .../modules/juce_gui_basics/juce_module_info | 40 - source/modules/lilv/lilv-0.16.0/INSTALL | 59 - source/modules/lilv/lilv-0.16.0/NEWS | 112 - source/modules/lilv/lilv-0.16.0/PACKAGING | 29 - source/modules/lilv/lilv-0.16.0/README | 11 - .../modules/lilv/lilv-0.16.0/bindings/lilv.i | 38 - .../lilv-0.16.0/bindings/python/lv2_apply.py | 96 - .../lilv-0.16.0/bindings/python/lv2_list.py | 9 - .../modules/lilv/lilv-0.16.0/doc/layout.xml | 187 - source/modules/lilv/lilv-0.16.0/doc/lv2info.1 | 33 - source/modules/lilv/lilv-0.16.0/doc/lv2ls.1 | 30 - .../lilv/lilv-0.16.0/doc/reference.doxygen.in | 1792 --- source/modules/lilv/lilv-0.16.0/doc/style.css | 563 - source/modules/lilv/lilv-0.16.0/lilv.pc.in | 11 - source/modules/lilv/lilv-0.16.0/lilv.ttl | 29 - .../modules/lilv/lilv-0.16.0/test/lilv_test.c | 1609 --- .../lilv/lilv-0.16.0/test/manifest.ttl.in | 7 - .../lilv/lilv-0.16.0/test/test_plugin.c | 384 - .../lilv/lilv-0.16.0/test/test_plugin.ttl.in | 40 - source/modules/lilv/lilv-0.16.0/utils/bench.h | 52 - .../lilv/lilv-0.16.0/utils/lilv-bench.c | 38 - .../lilv-0.16.0/utils/lilv.bash_completion | 59 - .../modules/lilv/lilv-0.16.0/utils/lv2bench.c | 226 - .../modules/lilv/lilv-0.16.0/utils/lv2info.c | 437 - source/modules/lilv/lilv-0.16.0/utils/lv2ls.c | 93 - .../lilv/lilv-0.16.0/utils/uri_table.h | 73 - source/modules/lilv/lilv-0.16.0/waf | Bin 83049 -> 0 bytes source/modules/lilv/lilv-0.16.0/wscript | 369 - source/modules/lilv/serd-0.18.2/INSTALL | 59 - source/modules/lilv/serd-0.18.2/NEWS | 98 - source/modules/lilv/serd-0.18.2/PACKAGING | 29 - source/modules/lilv/serd-0.18.2/README | 10 - .../modules/lilv/serd-0.18.2/doc/layout.xml | 187 - .../lilv/serd-0.18.2/doc/reference.doxygen.in | 1792 --- source/modules/lilv/serd-0.18.2/doc/serdi.1 | 72 - source/modules/lilv/serd-0.18.2/doc/style.css | 563 - source/modules/lilv/serd-0.18.2/serd.pc.in | 10 - .../modules/lilv/serd-0.18.2/tests/README.txt | 20 - .../modules/lilv/serd-0.18.2/tests/UTF-8.ttl | 219 - .../modules/lilv/serd-0.18.2/tests/bad-00.ttl | 2 - .../modules/lilv/serd-0.18.2/tests/bad-01.ttl | 3 - .../modules/lilv/serd-0.18.2/tests/bad-02.ttl | 3 - .../modules/lilv/serd-0.18.2/tests/bad-03.ttl | 3 - .../modules/lilv/serd-0.18.2/tests/bad-04.ttl | 3 - .../modules/lilv/serd-0.18.2/tests/bad-05.ttl | 4 - .../modules/lilv/serd-0.18.2/tests/bad-06.ttl | 3 - .../modules/lilv/serd-0.18.2/tests/bad-07.ttl | 4 - .../modules/lilv/serd-0.18.2/tests/bad-08.ttl | 2 - .../modules/lilv/serd-0.18.2/tests/bad-09.ttl | 3 - .../modules/lilv/serd-0.18.2/tests/bad-10.ttl | 3 - .../modules/lilv/serd-0.18.2/tests/bad-11.ttl | 3 - .../modules/lilv/serd-0.18.2/tests/bad-12.ttl | 3 - .../modules/lilv/serd-0.18.2/tests/bad-13.ttl | 3 - .../modules/lilv/serd-0.18.2/tests/bad-14.ttl | 6 - .../lilv/serd-0.18.2/tests/bad-base.ttl | 1 - .../lilv/serd-0.18.2/tests/bad-blank.ttl | 3 - .../lilv/serd-0.18.2/tests/bad-datatype.ttl | 1 - .../serd-0.18.2/tests/bad-eof-in-blank.ttl | 3 - .../serd-0.18.2/tests/bad-eof-in-escape.ttl | 3 - .../tests/bad-eof-in-lang-suffix.ttl | 3 - .../serd-0.18.2/tests/bad-eof-in-lang.ttl | 3 - .../serd-0.18.2/tests/bad-eof-in-list.ttl | 3 - .../tests/bad-eof-in-object-list.ttl | 2 - .../tests/bad-eof-in-object-list2.ttl | 2 - .../tests/bad-eof-in-predicate-list.ttl | 2 - .../serd-0.18.2/tests/bad-eof-in-string.ttl | 3 - .../tests/bad-eof-in-triple-quote.ttl | 3 - .../lilv/serd-0.18.2/tests/bad-eof-in-uri.ttl | 3 - .../lilv/serd-0.18.2/tests/bad-escape.ttl | 1 - .../lilv/serd-0.18.2/tests/bad-hex-digit.ttl | 1 - .../lilv/serd-0.18.2/tests/bad-id-clash.ttl | 2 - .../lilv/serd-0.18.2/tests/bad-lang.ttl | 1 - .../lilv/serd-0.18.2/tests/bad-list.ttl | 1 - .../lilv/serd-0.18.2/tests/bad-list2.ttl | 3 - .../lilv/serd-0.18.2/tests/bad-namespace.ttl | 1 - .../modules/lilv/serd-0.18.2/tests/bad-ns.ttl | 1 - .../lilv/serd-0.18.2/tests/bad-num.ttl | 1 - .../lilv/serd-0.18.2/tests/bad-object.ttl | 3 - .../lilv/serd-0.18.2/tests/bad-object2.ttl | 3 - .../lilv/serd-0.18.2/tests/bad-prefix.ttl | 1 - .../lilv/serd-0.18.2/tests/bad-string.ttl | 1 - .../lilv/serd-0.18.2/tests/bad-uri-escape.ttl | 1 - .../lilv/serd-0.18.2/tests/bad-verb.ttl | 2 - .../modules/lilv/serd-0.18.2/tests/base.out | 1 - .../modules/lilv/serd-0.18.2/tests/base.ttl | 2 - .../lilv/serd-0.18.2/tests/manifest-bad.ttl | 88 - .../lilv/serd-0.18.2/tests/manifest.ttl | 215 - .../lilv/serd-0.18.2/tests/rdf-schema.out | 126 - .../lilv/serd-0.18.2/tests/rdf-schema.ttl | 156 - .../lilv/serd-0.18.2/tests/rdfq-results.out | 36 - .../lilv/serd-0.18.2/tests/rdfq-results.ttl | 39 - .../lilv/serd-0.18.2/tests/rdfs-namespace.out | 131 - .../lilv/serd-0.18.2/tests/rdfs-namespace.ttl | 160 - .../lilv/serd-0.18.2/tests/serd_test.c | 630 - .../lilv/serd-0.18.2/tests/test-00.out | 1 - .../lilv/serd-0.18.2/tests/test-00.ttl | 2 - .../lilv/serd-0.18.2/tests/test-01.out | 3 - .../lilv/serd-0.18.2/tests/test-01.ttl | 7 - .../lilv/serd-0.18.2/tests/test-02.out | 3 - .../lilv/serd-0.18.2/tests/test-02.ttl | 5 - .../lilv/serd-0.18.2/tests/test-03.out | 3 - .../lilv/serd-0.18.2/tests/test-03.ttl | 5 - .../lilv/serd-0.18.2/tests/test-04.out | 2 - .../lilv/serd-0.18.2/tests/test-04.ttl | 4 - .../lilv/serd-0.18.2/tests/test-05.out | 4 - .../lilv/serd-0.18.2/tests/test-05.ttl | 4 - .../lilv/serd-0.18.2/tests/test-06.out | 1 - .../lilv/serd-0.18.2/tests/test-06.ttl | 3 - .../lilv/serd-0.18.2/tests/test-07.out | 5 - .../lilv/serd-0.18.2/tests/test-07.ttl | 3 - .../lilv/serd-0.18.2/tests/test-08.out | 1 - .../lilv/serd-0.18.2/tests/test-08.ttl | 3 - .../lilv/serd-0.18.2/tests/test-09.out | 4 - .../lilv/serd-0.18.2/tests/test-09.ttl | 10 - .../lilv/serd-0.18.2/tests/test-10.out | 5 - .../lilv/serd-0.18.2/tests/test-10.ttl | 5 - .../lilv/serd-0.18.2/tests/test-11.out | 4 - .../lilv/serd-0.18.2/tests/test-11.ttl | 10 - .../lilv/serd-0.18.2/tests/test-12.out | 4 - .../lilv/serd-0.18.2/tests/test-12.ttl | 9 - .../lilv/serd-0.18.2/tests/test-13.out | 2 - .../lilv/serd-0.18.2/tests/test-13.ttl | 7 - .../lilv/serd-0.18.2/tests/test-14.out | 10000 --------------- .../lilv/serd-0.18.2/tests/test-14.ttl | 10002 ---------------- .../lilv/serd-0.18.2/tests/test-15.out | 10000 --------------- .../lilv/serd-0.18.2/tests/test-15.ttl | 3 - .../lilv/serd-0.18.2/tests/test-16.out | 10000 --------------- .../lilv/serd-0.18.2/tests/test-16.ttl | 10002 ---------------- .../lilv/serd-0.18.2/tests/test-17.out | 1 - .../lilv/serd-0.18.2/tests/test-17.ttl | 6 - .../lilv/serd-0.18.2/tests/test-18.out | 2 - .../lilv/serd-0.18.2/tests/test-18.ttl | 9 - .../lilv/serd-0.18.2/tests/test-19.out | 1 - .../lilv/serd-0.18.2/tests/test-19.ttl | 4 - .../lilv/serd-0.18.2/tests/test-20.out | 2 - .../lilv/serd-0.18.2/tests/test-20.ttl | 6 - .../lilv/serd-0.18.2/tests/test-21.out | 3 - .../lilv/serd-0.18.2/tests/test-21.ttl | 4 - .../lilv/serd-0.18.2/tests/test-22.out | 3 - .../lilv/serd-0.18.2/tests/test-22.ttl | 4 - .../lilv/serd-0.18.2/tests/test-23.out | 1 - .../lilv/serd-0.18.2/tests/test-23.ttl | 3 - .../lilv/serd-0.18.2/tests/test-24.out | 2 - .../lilv/serd-0.18.2/tests/test-24.ttl | 3 - .../lilv/serd-0.18.2/tests/test-25.out | 7 - .../lilv/serd-0.18.2/tests/test-25.ttl | 14 - .../lilv/serd-0.18.2/tests/test-26.out | 1 - .../lilv/serd-0.18.2/tests/test-26.ttl | 4 - .../lilv/serd-0.18.2/tests/test-27.out | 1 - .../lilv/serd-0.18.2/tests/test-27.ttl | 5 - .../lilv/serd-0.18.2/tests/test-29.out | 1 - .../lilv/serd-0.18.2/tests/test-29.ttl | 1 - .../lilv/serd-0.18.2/tests/test-30.out | 5 - .../lilv/serd-0.18.2/tests/test-30.ttl | 12 - .../lilv/serd-0.18.2/tests/test-backspace.out | 2 - .../lilv/serd-0.18.2/tests/test-backspace.ttl | 2 - .../lilv/serd-0.18.2/tests/test-bad-utf8.out | 3 - .../lilv/serd-0.18.2/tests/test-bad-utf8.ttl | 3 - .../serd-0.18.2/tests/test-base-query.out | 1 - .../serd-0.18.2/tests/test-base-query.ttl | 3 - .../serd-0.18.2/tests/test-blank-cont.out | 4 - .../serd-0.18.2/tests/test-blank-cont.ttl | 4 - .../serd-0.18.2/tests/test-blank-in-list.out | 4 - .../serd-0.18.2/tests/test-blank-in-list.ttl | 2 - .../lilv/serd-0.18.2/tests/test-bom.out | 1 - .../lilv/serd-0.18.2/tests/test-bom.ttl | 3 - .../lilv/serd-0.18.2/tests/test-cr.out | 1 - .../lilv/serd-0.18.2/tests/test-cr.ttl | 2 - .../lilv/serd-0.18.2/tests/test-delete.out | 2 - .../lilv/serd-0.18.2/tests/test-delete.ttl | 2 - .../tests/test-digit-start-pname.out | 1 - .../tests/test-digit-start-pname.ttl | 3 - .../tests/test-eof-at-page-end.out | 1 - .../tests/test-eof-at-page-end.ttl | 85 - .../lilv/serd-0.18.2/tests/test-escapes.out | 2 - .../lilv/serd-0.18.2/tests/test-escapes.ttl | 2 - .../lilv/serd-0.18.2/tests/test-id.out | 2 - .../lilv/serd-0.18.2/tests/test-id.ttl | 4 - .../lilv/serd-0.18.2/tests/test-lang.out | 5 - .../lilv/serd-0.18.2/tests/test-lang.ttl | 7 - .../serd-0.18.2/tests/test-list-in-blank.out | 6 - .../serd-0.18.2/tests/test-list-in-blank.ttl | 2 - .../serd-0.18.2/tests/test-list-subject.out | 6 - .../serd-0.18.2/tests/test-list-subject.ttl | 2 - .../lilv/serd-0.18.2/tests/test-list.out | 1 - .../lilv/serd-0.18.2/tests/test-list.ttl | 1 - .../serd-0.18.2/tests/test-long-string.out | 1 - .../serd-0.18.2/tests/test-long-string.ttl | 7 - .../lilv/serd-0.18.2/tests/test-no-spaces.out | 4 - .../lilv/serd-0.18.2/tests/test-no-spaces.ttl | 3 - .../lilv/serd-0.18.2/tests/test-num.out | 10 - .../lilv/serd-0.18.2/tests/test-num.ttl | 12 - .../tests/test-out-of-range-unicode.out | 1 - .../tests/test-out-of-range-unicode.ttl | 1 - .../lilv/serd-0.18.2/tests/test-prefix.out | 6 - .../lilv/serd-0.18.2/tests/test-prefix.ttl | 8 - .../lilv/serd-0.18.2/tests/test-pretty.out | 46 - .../lilv/serd-0.18.2/tests/test-pretty.ttl | 44 - .../lilv/serd-0.18.2/tests/test-rel.out | 6 - .../lilv/serd-0.18.2/tests/test-rel.ttl | 6 - .../lilv/serd-0.18.2/tests/test-semi-dot.out | 1 - .../lilv/serd-0.18.2/tests/test-semi-dot.ttl | 1 - .../lilv/serd-0.18.2/tests/test-uri.out | 45 - .../lilv/serd-0.18.2/tests/test-uri.ttl | 68 - .../lilv/serd-0.18.2/tests/test-utf8-uri.out | 1 - .../lilv/serd-0.18.2/tests/test-utf8-uri.ttl | 1 - source/modules/lilv/serd-0.18.2/waf | Bin 80004 -> 0 bytes source/modules/lilv/serd-0.18.2/wscript | 391 - source/modules/lilv/sord-0.12.0/INSTALL | 59 - source/modules/lilv/sord-0.12.0/NEWS | 80 - source/modules/lilv/sord-0.12.0/PACKAGING | 29 - source/modules/lilv/sord-0.12.0/README | 9 - .../modules/lilv/sord-0.12.0/doc/layout.xml | 187 - .../lilv/sord-0.12.0/doc/reference.doxygen.in | 1792 --- .../lilv/sord-0.12.0/doc/sord_validate.1 | 57 - source/modules/lilv/sord-0.12.0/doc/sordi.1 | 43 - source/modules/lilv/sord-0.12.0/doc/style.css | 563 - source/modules/lilv/sord-0.12.0/sord.pc.in | 11 - .../modules/lilv/sord-0.12.0/tests/README.txt | 20 - .../modules/lilv/sord-0.12.0/tests/UTF-8.ttl | 219 - .../lilv/sord-0.12.0/tests/manifest.ttl | 215 - .../lilv/sord-0.12.0/tests/rdf-schema.out | 126 - .../lilv/sord-0.12.0/tests/rdf-schema.ttl | 156 - .../lilv/sord-0.12.0/tests/rdfq-results.out | 36 - .../lilv/sord-0.12.0/tests/rdfq-results.ttl | 39 - .../lilv/sord-0.12.0/tests/rdfs-namespace.out | 131 - .../lilv/sord-0.12.0/tests/rdfs-namespace.ttl | 160 - .../lilv/sord-0.12.0/tests/test-00.out | 1 - .../lilv/sord-0.12.0/tests/test-00.ttl | 2 - .../lilv/sord-0.12.0/tests/test-01.out | 3 - .../lilv/sord-0.12.0/tests/test-01.ttl | 7 - .../lilv/sord-0.12.0/tests/test-02.out | 3 - .../lilv/sord-0.12.0/tests/test-02.ttl | 5 - .../lilv/sord-0.12.0/tests/test-03.out | 3 - .../lilv/sord-0.12.0/tests/test-03.ttl | 5 - .../lilv/sord-0.12.0/tests/test-04.out | 2 - .../lilv/sord-0.12.0/tests/test-04.ttl | 4 - .../lilv/sord-0.12.0/tests/test-05.out | 4 - .../lilv/sord-0.12.0/tests/test-05.ttl | 4 - .../lilv/sord-0.12.0/tests/test-06.out | 1 - .../lilv/sord-0.12.0/tests/test-06.ttl | 3 - .../lilv/sord-0.12.0/tests/test-07.out | 5 - .../lilv/sord-0.12.0/tests/test-07.ttl | 3 - .../lilv/sord-0.12.0/tests/test-08.out | 1 - .../lilv/sord-0.12.0/tests/test-08.ttl | 3 - .../lilv/sord-0.12.0/tests/test-09.out | 4 - .../lilv/sord-0.12.0/tests/test-09.ttl | 10 - .../lilv/sord-0.12.0/tests/test-10.out | 5 - .../lilv/sord-0.12.0/tests/test-10.ttl | 5 - .../lilv/sord-0.12.0/tests/test-11.out | 4 - .../lilv/sord-0.12.0/tests/test-11.ttl | 10 - .../lilv/sord-0.12.0/tests/test-12.out | 4 - .../lilv/sord-0.12.0/tests/test-12.ttl | 9 - .../lilv/sord-0.12.0/tests/test-13.out | 2 - .../lilv/sord-0.12.0/tests/test-13.ttl | 7 - .../lilv/sord-0.12.0/tests/test-14.out | 10000 --------------- .../lilv/sord-0.12.0/tests/test-14.ttl | 10002 ---------------- .../lilv/sord-0.12.0/tests/test-15.out | 10000 --------------- .../lilv/sord-0.12.0/tests/test-15.ttl | 3 - .../lilv/sord-0.12.0/tests/test-16.out | 10000 --------------- .../lilv/sord-0.12.0/tests/test-16.ttl | 10002 ---------------- .../lilv/sord-0.12.0/tests/test-17.out | 1 - .../lilv/sord-0.12.0/tests/test-17.ttl | 6 - .../lilv/sord-0.12.0/tests/test-18.out | 2 - .../lilv/sord-0.12.0/tests/test-18.ttl | 9 - .../lilv/sord-0.12.0/tests/test-19.out | 1 - .../lilv/sord-0.12.0/tests/test-19.ttl | 4 - .../lilv/sord-0.12.0/tests/test-20.out | 2 - .../lilv/sord-0.12.0/tests/test-20.ttl | 6 - .../lilv/sord-0.12.0/tests/test-21.out | 3 - .../lilv/sord-0.12.0/tests/test-21.ttl | 4 - .../lilv/sord-0.12.0/tests/test-22.out | 3 - .../lilv/sord-0.12.0/tests/test-22.ttl | 4 - .../lilv/sord-0.12.0/tests/test-23.out | 1 - .../lilv/sord-0.12.0/tests/test-23.ttl | 3 - .../lilv/sord-0.12.0/tests/test-24.out | 2 - .../lilv/sord-0.12.0/tests/test-24.ttl | 3 - .../lilv/sord-0.12.0/tests/test-25.out | 7 - .../lilv/sord-0.12.0/tests/test-25.ttl | 14 - .../lilv/sord-0.12.0/tests/test-26.out | 1 - .../lilv/sord-0.12.0/tests/test-26.ttl | 4 - .../lilv/sord-0.12.0/tests/test-27.out | 1 - .../lilv/sord-0.12.0/tests/test-27.ttl | 5 - .../lilv/sord-0.12.0/tests/test-29.out | 1 - .../lilv/sord-0.12.0/tests/test-29.ttl | 1 - .../lilv/sord-0.12.0/tests/test-30.out | 5 - .../lilv/sord-0.12.0/tests/test-30.ttl | 12 - .../lilv/sord-0.12.0/tests/test-id.out | 2 - .../lilv/sord-0.12.0/tests/test-id.ttl | 4 - .../lilv/sord-0.12.0/tests/test-lang.out | 4 - .../lilv/sord-0.12.0/tests/test-lang.ttl | 6 - .../lilv/sord-0.12.0/tests/test-num.out | 9 - .../lilv/sord-0.12.0/tests/test-num.ttl | 11 - source/modules/lilv/sord-0.12.0/waf | Bin 83049 -> 0 bytes source/modules/lilv/sord-0.12.0/wscript | 302 - source/modules/lilv/sratom-0.4.2/NEWS | 25 - source/modules/lilv/sratom-0.4.2/README | 11 - .../modules/lilv/sratom-0.4.2/doc/layout.xml | 187 - .../sratom-0.4.2/doc/reference.doxygen.in | 1792 --- .../modules/lilv/sratom-0.4.2/doc/style.css | 563 - source/modules/lilv/sratom-0.4.2/sratom.pc.in | 11 - .../lilv/sratom-0.4.2/tests/sratom_test.c | 306 - source/modules/lilv/sratom-0.4.2/waf | Bin 83049 -> 0 bytes source/modules/lilv/sratom-0.4.2/wscript | 163 - source/modules/rtaudio/Makefile.in | 56 - source/modules/rtaudio/config/config.guess | 1371 --- source/modules/rtaudio/config/config.sub | 1366 --- source/modules/rtaudio/config/install.sh | 0 source/modules/rtaudio/configure | 5865 --------- source/modules/rtaudio/configure.ac | 185 - .../contrib/python/pyrtaudio/PyRtAudioTest.py | 70 - .../rtaudio/contrib/python/pyrtaudio/readme | 57 - .../python/pyrtaudio/rtaudiomodule.cpp | 605 - .../rtaudio/contrib/python/pyrtaudio/setup.py | 58 - source/modules/rtaudio/doc/doxygen/Doxyfile | 1572 --- .../rtaudio/doc/doxygen/acknowledge.txt | 28 - .../modules/rtaudio/doc/doxygen/apinotes.txt | 39 - .../modules/rtaudio/doc/doxygen/compiling.txt | 84 - source/modules/rtaudio/doc/doxygen/duplex.txt | 76 - source/modules/rtaudio/doc/doxygen/error.txt | 5 - .../modules/rtaudio/doc/doxygen/footer.html | 8 - .../modules/rtaudio/doc/doxygen/header.html | 10 - .../modules/rtaudio/doc/doxygen/license.txt | 30 - source/modules/rtaudio/doc/doxygen/multi.txt | 7 - .../modules/rtaudio/doc/doxygen/playback.txt | 82 - source/modules/rtaudio/doc/doxygen/probe.txt | 70 - .../modules/rtaudio/doc/doxygen/recording.txt | 68 - .../modules/rtaudio/doc/doxygen/settings.txt | 48 - .../modules/rtaudio/doc/doxygen/tutorial.txt | 51 - .../rtaudio/doc/html/RtAudio_8h-source.html | 641 - .../modules/rtaudio/doc/html/RtAudio_8h.html | 184 - .../rtaudio/doc/html/RtAudio_8h_source.html | 721 -- .../rtaudio/doc/html/RtError_8h-source.html | 65 - .../rtaudio/doc/html/RtError_8h_source.html | 69 - .../modules/rtaudio/doc/html/acknowledge.html | 63 - .../modules/rtaudio/doc/html/annotated.html | 33 - source/modules/rtaudio/doc/html/apinotes.html | 46 - source/modules/rtaudio/doc/html/bugs.html | 57 - .../doc/html/classRtAudio-members.html | 57 - .../rtaudio/doc/html/classRtAudio.html | 647 - .../doc/html/classRtError-members.html | 45 - .../rtaudio/doc/html/classRtError.html | 142 - source/modules/rtaudio/doc/html/classes.html | 36 - .../modules/rtaudio/doc/html/compiling.html | 51 - source/modules/rtaudio/doc/html/doxygen.css | 1172 -- source/modules/rtaudio/doc/html/doxygen.png | Bin 3779 -> 0 bytes source/modules/rtaudio/doc/html/duplex.html | 91 - source/modules/rtaudio/doc/html/errors.html | 25 - source/modules/rtaudio/doc/html/files.html | 30 - .../modules/rtaudio/doc/html/functions.html | 278 - .../rtaudio/doc/html/functions_enum.html | 28 - .../rtaudio/doc/html/functions_eval.html | 80 - .../rtaudio/doc/html/functions_func.html | 100 - .../rtaudio/doc/html/functions_vars.html | 70 - source/modules/rtaudio/doc/html/globals.html | 37 - .../rtaudio/doc/html/globals_enum.html | 25 - .../rtaudio/doc/html/globals_eval.html | 33 - .../rtaudio/doc/html/globals_type.html | 37 - source/modules/rtaudio/doc/html/index.html | 78 - source/modules/rtaudio/doc/html/license.html | 30 - source/modules/rtaudio/doc/html/multi.html | 26 - source/modules/rtaudio/doc/html/pages.html | 39 - source/modules/rtaudio/doc/html/playback.html | 97 - source/modules/rtaudio/doc/html/probe.html | 75 - .../modules/rtaudio/doc/html/recording.html | 83 - source/modules/rtaudio/doc/html/settings.html | 58 - .../html/structRtAudioDeviceInfo-members.html | 29 - .../doc/html/structRtAudioDeviceInfo.html | 259 - ...structRtAudioStreamParameters-members.html | 23 - .../html/structRtAudioStreamParameters.html | 109 - .../structRtAudio_1_1DeviceInfo-members.html | 40 - .../doc/html/structRtAudio_1_1DeviceInfo.html | 181 - ...tructRtAudio_1_1StreamOptions-members.html | 35 - .../html/structRtAudio_1_1StreamOptions.html | 121 - ...ctRtAudio_1_1StreamParameters-members.html | 34 - .../structRtAudio_1_1StreamParameters.html | 91 - source/modules/rtaudio/doc/html/tab_b.gif | Bin 35 -> 0 bytes source/modules/rtaudio/doc/html/tab_l.gif | Bin 706 -> 0 bytes source/modules/rtaudio/doc/html/tab_r.gif | Bin 2585 -> 0 bytes source/modules/rtaudio/doc/html/tabs.css | 60 - source/modules/rtaudio/doc/html/updates.html | 88 - source/modules/rtaudio/doc/images/ccrma.gif | Bin 3527 -> 0 bytes source/modules/rtaudio/doc/images/mcgill.gif | Bin 4614 -> 0 bytes source/modules/rtaudio/doc/release.txt | 156 - source/modules/rtaudio/install | 43 - source/modules/rtaudio/librtaudio.pc.in | 12 - source/modules/rtaudio/readme | 61 - source/modules/rtaudio/rtaudio-config.in | 19 - source/modules/rtaudio/tests/Makefile.in | 58 - .../rtaudio/tests/Windows/audioprobe.dsp | 162 - .../modules/rtaudio/tests/Windows/duplex.dsp | 162 - .../modules/rtaudio/tests/Windows/playraw.dsp | 162 - .../modules/rtaudio/tests/Windows/playsaw.dsp | 162 - .../modules/rtaudio/tests/Windows/record.dsp | 162 - .../modules/rtaudio/tests/Windows/rtaudio.dsw | 101 - .../modules/rtaudio/tests/Windows/testall.dsp | 162 - .../rtaudio/tests/Windows/teststops.dsp | 162 - source/modules/rtaudio/tests/audioprobe.cpp | 89 - source/modules/rtaudio/tests/duplex.cpp | 135 - source/modules/rtaudio/tests/playraw.cpp | 149 - source/modules/rtaudio/tests/playsaw.cpp | 203 - source/modules/rtaudio/tests/record.cpp | 171 - source/modules/rtaudio/tests/testall.cpp | 228 - source/modules/rtaudio/tests/teststops.cpp | 266 - source/modules/rtmidi/Makefile.in | 57 - source/modules/rtmidi/config/config.guess | 1371 --- source/modules/rtmidi/config/config.sub | 1362 --- source/modules/rtmidi/config/install.sh | 0 source/modules/rtmidi/configure | 5775 --------- source/modules/rtmidi/configure.ac | 139 - source/modules/rtmidi/doc/doxygen/Doxyfile | 1566 --- source/modules/rtmidi/doc/doxygen/footer.html | 9 - source/modules/rtmidi/doc/doxygen/header.html | 9 - .../modules/rtmidi/doc/doxygen/tutorial.txt | 476 - .../rtmidi/doc/html/RtError_8h-source.html | 65 - .../rtmidi/doc/html/RtError_8h_source.html | 65 - .../rtmidi/doc/html/RtMidi_8h-source.html | 179 - source/modules/rtmidi/doc/html/RtMidi_8h.html | 51 - .../rtmidi/doc/html/RtMidi_8h_source.html | 531 - source/modules/rtmidi/doc/html/annotated.html | 42 - .../doc/html/classMidiInAlsa-members.html | 22 - .../rtmidi/doc/html/classMidiInAlsa.html | 38 - .../rtmidi/doc/html/classMidiInAlsa.png | Bin 372 -> 0 bytes .../doc/html/classMidiInApi-members.html | 22 - .../rtmidi/doc/html/classMidiInApi.html | 46 - .../rtmidi/doc/html/classMidiInApi.png | Bin 825 -> 0 bytes .../doc/html/classMidiInCore-members.html | 22 - .../rtmidi/doc/html/classMidiInCore.html | 38 - .../rtmidi/doc/html/classMidiInCore.png | Bin 372 -> 0 bytes .../doc/html/classMidiInDummy-members.html | 22 - .../rtmidi/doc/html/classMidiInDummy.html | 38 - .../rtmidi/doc/html/classMidiInDummy.png | Bin 385 -> 0 bytes .../doc/html/classMidiInJack-members.html | 22 - .../rtmidi/doc/html/classMidiInJack.html | 38 - .../rtmidi/doc/html/classMidiInJack.png | Bin 369 -> 0 bytes .../doc/html/classMidiInWinKS-members.html | 22 - .../rtmidi/doc/html/classMidiInWinKS.html | 38 - .../rtmidi/doc/html/classMidiInWinKS.png | Bin 385 -> 0 bytes .../doc/html/classMidiInWinMM-members.html | 22 - .../rtmidi/doc/html/classMidiInWinMM.html | 38 - .../rtmidi/doc/html/classMidiInWinMM.png | Bin 375 -> 0 bytes .../doc/html/classMidiOutAlsa-members.html | 22 - .../rtmidi/doc/html/classMidiOutAlsa.html | 38 - .../rtmidi/doc/html/classMidiOutAlsa.png | Bin 406 -> 0 bytes .../doc/html/classMidiOutApi-members.html | 22 - .../rtmidi/doc/html/classMidiOutApi.html | 42 - .../rtmidi/doc/html/classMidiOutApi.png | Bin 896 -> 0 bytes .../doc/html/classMidiOutCore-members.html | 22 - .../rtmidi/doc/html/classMidiOutCore.html | 38 - .../rtmidi/doc/html/classMidiOutCore.png | Bin 404 -> 0 bytes .../doc/html/classMidiOutDummy-members.html | 22 - .../rtmidi/doc/html/classMidiOutDummy.html | 38 - .../rtmidi/doc/html/classMidiOutDummy.png | Bin 422 -> 0 bytes .../doc/html/classMidiOutJack-members.html | 22 - .../rtmidi/doc/html/classMidiOutJack.html | 38 - .../rtmidi/doc/html/classMidiOutJack.png | Bin 407 -> 0 bytes .../doc/html/classMidiOutWinKS-members.html | 22 - .../rtmidi/doc/html/classMidiOutWinKS.html | 38 - .../rtmidi/doc/html/classMidiOutWinKS.png | Bin 426 -> 0 bytes .../doc/html/classMidiOutWinMM-members.html | 22 - .../rtmidi/doc/html/classMidiOutWinMM.html | 38 - .../rtmidi/doc/html/classMidiOutWinMM.png | Bin 420 -> 0 bytes .../rtmidi/doc/html/classRtError-members.html | 40 - .../modules/rtmidi/doc/html/classRtError.html | 127 - .../rtmidi/doc/html/classRtMidi-members.html | 37 - .../modules/rtmidi/doc/html/classRtMidi.gif | Bin 764 -> 0 bytes .../modules/rtmidi/doc/html/classRtMidi.html | 152 - .../modules/rtmidi/doc/html/classRtMidi.png | Bin 439 -> 0 bytes .../doc/html/classRtMidiIn-members.html | 45 - .../modules/rtmidi/doc/html/classRtMidiIn.gif | Bin 459 -> 0 bytes .../rtmidi/doc/html/classRtMidiIn.html | 305 - .../modules/rtmidi/doc/html/classRtMidiIn.png | Bin 317 -> 0 bytes .../doc/html/classRtMidiOut-members.html | 41 - .../rtmidi/doc/html/classRtMidiOut.gif | Bin 496 -> 0 bytes .../rtmidi/doc/html/classRtMidiOut.html | 202 - .../rtmidi/doc/html/classRtMidiOut.png | Bin 345 -> 0 bytes source/modules/rtmidi/doc/html/classes.html | 26 - source/modules/rtmidi/doc/html/doxygen.css | 532 - source/modules/rtmidi/doc/html/doxygen.png | Bin 1281 -> 0 bytes source/modules/rtmidi/doc/html/files.html | 25 - source/modules/rtmidi/doc/html/functions.html | 258 - .../rtmidi/doc/html/functions_enum.html | 38 - .../rtmidi/doc/html/functions_eval.html | 84 - .../rtmidi/doc/html/functions_func.html | 162 - .../rtmidi/doc/html/functions_type.html | 35 - source/modules/rtmidi/doc/html/hierarchy.html | 48 - source/modules/rtmidi/doc/html/index.html | 395 - ...tructMidiInApi_1_1MidiMessage-members.html | 22 - .../html/structMidiInApi_1_1MidiMessage.html | 30 - .../structMidiInApi_1_1MidiQueue-members.html | 22 - .../html/structMidiInApi_1_1MidiQueue.html | 30 - ...ructMidiInApi_1_1RtMidiInData-members.html | 22 - .../html/structMidiInApi_1_1RtMidiInData.html | 30 - ...structRtMidiIn_1_1MidiMessage-members.html | 22 - .../html/structRtMidiIn_1_1MidiMessage.html | 30 - .../structRtMidiIn_1_1MidiQueue-members.html | 22 - .../doc/html/structRtMidiIn_1_1MidiQueue.html | 30 - ...tructRtMidiIn_1_1RtMidiInData-members.html | 22 - .../html/structRtMidiIn_1_1RtMidiInData.html | 30 - source/modules/rtmidi/doc/html/tab_b.gif | Bin 35 -> 0 bytes source/modules/rtmidi/doc/html/tab_l.gif | Bin 706 -> 0 bytes source/modules/rtmidi/doc/html/tab_r.gif | Bin 2585 -> 0 bytes source/modules/rtmidi/doc/html/tabs.css | 105 - source/modules/rtmidi/doc/images/ccrma.gif | Bin 3527 -> 0 bytes source/modules/rtmidi/doc/images/mcgill.gif | Bin 4614 -> 0 bytes source/modules/rtmidi/doc/release.txt | 87 - source/modules/rtmidi/msw/readme | 1 - source/modules/rtmidi/msw/rtmidilib.sln | 20 - source/modules/rtmidi/msw/rtmidilib.vcproj | 178 - source/modules/rtmidi/readme | 57 - source/modules/rtmidi/rtmidi-config.in | 19 - source/modules/rtmidi/tests/Makefile.in | 48 - source/modules/rtmidi/tests/RtMidi.dsw | 77 - source/modules/rtmidi/tests/cmidiin.cpp | 111 - source/modules/rtmidi/tests/cmidiin.dsp | 114 - source/modules/rtmidi/tests/midiout.cpp | 146 - source/modules/rtmidi/tests/midiout.dsp | 114 - source/modules/rtmidi/tests/midiprobe.cpp | 72 - source/modules/rtmidi/tests/midiprobe.dsp | 114 - source/modules/rtmidi/tests/qmidiin.cpp | 98 - source/modules/rtmidi/tests/qmidiin.dsp | 114 - source/modules/rtmidi/tests/sysextest.cpp | 154 - source/modules/rtmidi/tests/sysextest.dsp | 114 - source/modules/stk/juce_module_info | 17 - 533 files changed, 43 insertions(+), 158235 deletions(-) create mode 100755 data/cleanup-modules.sh delete mode 100644 source/modules/juce_audio_basics/juce_module_info delete mode 100644 source/modules/juce_audio_devices/juce_module_info delete mode 100644 source/modules/juce_audio_formats/juce_module_info delete mode 100644 source/modules/juce_audio_processors/juce_module_info delete mode 100644 source/modules/juce_core/juce_module_info delete mode 100644 source/modules/juce_data_structures/juce_module_info delete mode 100644 source/modules/juce_events/juce_module_info delete mode 100644 source/modules/juce_graphics/juce_module_info delete mode 100644 source/modules/juce_gui_basics/juce_module_info delete mode 100644 source/modules/lilv/lilv-0.16.0/INSTALL delete mode 100644 source/modules/lilv/lilv-0.16.0/NEWS delete mode 100644 source/modules/lilv/lilv-0.16.0/PACKAGING delete mode 100644 source/modules/lilv/lilv-0.16.0/README delete mode 100644 source/modules/lilv/lilv-0.16.0/bindings/lilv.i delete mode 100755 source/modules/lilv/lilv-0.16.0/bindings/python/lv2_apply.py delete mode 100755 source/modules/lilv/lilv-0.16.0/bindings/python/lv2_list.py delete mode 100644 source/modules/lilv/lilv-0.16.0/doc/layout.xml delete mode 100644 source/modules/lilv/lilv-0.16.0/doc/lv2info.1 delete mode 100644 source/modules/lilv/lilv-0.16.0/doc/lv2ls.1 delete mode 100644 source/modules/lilv/lilv-0.16.0/doc/reference.doxygen.in delete mode 100644 source/modules/lilv/lilv-0.16.0/doc/style.css delete mode 100644 source/modules/lilv/lilv-0.16.0/lilv.pc.in delete mode 100644 source/modules/lilv/lilv-0.16.0/lilv.ttl delete mode 100644 source/modules/lilv/lilv-0.16.0/test/lilv_test.c delete mode 100644 source/modules/lilv/lilv-0.16.0/test/manifest.ttl.in delete mode 100644 source/modules/lilv/lilv-0.16.0/test/test_plugin.c delete mode 100644 source/modules/lilv/lilv-0.16.0/test/test_plugin.ttl.in delete mode 100644 source/modules/lilv/lilv-0.16.0/utils/bench.h delete mode 100644 source/modules/lilv/lilv-0.16.0/utils/lilv-bench.c delete mode 100644 source/modules/lilv/lilv-0.16.0/utils/lilv.bash_completion delete mode 100644 source/modules/lilv/lilv-0.16.0/utils/lv2bench.c delete mode 100644 source/modules/lilv/lilv-0.16.0/utils/lv2info.c delete mode 100644 source/modules/lilv/lilv-0.16.0/utils/lv2ls.c delete mode 100644 source/modules/lilv/lilv-0.16.0/utils/uri_table.h delete mode 100755 source/modules/lilv/lilv-0.16.0/waf delete mode 100644 source/modules/lilv/lilv-0.16.0/wscript delete mode 100644 source/modules/lilv/serd-0.18.2/INSTALL delete mode 100644 source/modules/lilv/serd-0.18.2/NEWS delete mode 100644 source/modules/lilv/serd-0.18.2/PACKAGING delete mode 100644 source/modules/lilv/serd-0.18.2/README delete mode 100644 source/modules/lilv/serd-0.18.2/doc/layout.xml delete mode 100644 source/modules/lilv/serd-0.18.2/doc/reference.doxygen.in delete mode 100644 source/modules/lilv/serd-0.18.2/doc/serdi.1 delete mode 100644 source/modules/lilv/serd-0.18.2/doc/style.css delete mode 100644 source/modules/lilv/serd-0.18.2/serd.pc.in delete mode 100644 source/modules/lilv/serd-0.18.2/tests/README.txt delete mode 100644 source/modules/lilv/serd-0.18.2/tests/UTF-8.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/bad-00.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/bad-01.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/bad-02.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/bad-03.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/bad-04.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/bad-05.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/bad-06.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/bad-07.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/bad-08.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/bad-09.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/bad-10.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/bad-11.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/bad-12.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/bad-13.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/bad-14.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/bad-base.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/bad-blank.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/bad-datatype.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/bad-eof-in-blank.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/bad-eof-in-escape.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/bad-eof-in-lang-suffix.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/bad-eof-in-lang.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/bad-eof-in-list.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/bad-eof-in-object-list.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/bad-eof-in-object-list2.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/bad-eof-in-predicate-list.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/bad-eof-in-string.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/bad-eof-in-triple-quote.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/bad-eof-in-uri.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/bad-escape.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/bad-hex-digit.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/bad-id-clash.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/bad-lang.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/bad-list.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/bad-list2.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/bad-namespace.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/bad-ns.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/bad-num.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/bad-object.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/bad-object2.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/bad-prefix.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/bad-string.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/bad-uri-escape.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/bad-verb.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/base.out delete mode 100644 source/modules/lilv/serd-0.18.2/tests/base.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/manifest-bad.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/manifest.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/rdf-schema.out delete mode 100644 source/modules/lilv/serd-0.18.2/tests/rdf-schema.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/rdfq-results.out delete mode 100644 source/modules/lilv/serd-0.18.2/tests/rdfq-results.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/rdfs-namespace.out delete mode 100644 source/modules/lilv/serd-0.18.2/tests/rdfs-namespace.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/serd_test.c delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-00.out delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-00.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-01.out delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-01.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-02.out delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-02.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-03.out delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-03.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-04.out delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-04.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-05.out delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-05.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-06.out delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-06.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-07.out delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-07.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-08.out delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-08.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-09.out delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-09.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-10.out delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-10.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-11.out delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-11.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-12.out delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-12.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-13.out delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-13.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-14.out delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-14.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-15.out delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-15.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-16.out delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-16.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-17.out delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-17.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-18.out delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-18.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-19.out delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-19.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-20.out delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-20.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-21.out delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-21.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-22.out delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-22.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-23.out delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-23.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-24.out delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-24.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-25.out delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-25.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-26.out delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-26.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-27.out delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-27.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-29.out delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-29.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-30.out delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-30.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-backspace.out delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-backspace.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-bad-utf8.out delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-bad-utf8.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-base-query.out delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-base-query.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-blank-cont.out delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-blank-cont.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-blank-in-list.out delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-blank-in-list.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-bom.out delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-bom.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-cr.out delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-cr.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-delete.out delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-delete.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-digit-start-pname.out delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-digit-start-pname.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-eof-at-page-end.out delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-eof-at-page-end.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-escapes.out delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-escapes.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-id.out delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-id.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-lang.out delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-lang.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-list-in-blank.out delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-list-in-blank.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-list-subject.out delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-list-subject.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-list.out delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-list.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-long-string.out delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-long-string.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-no-spaces.out delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-no-spaces.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-num.out delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-num.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-out-of-range-unicode.out delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-out-of-range-unicode.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-prefix.out delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-prefix.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-pretty.out delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-pretty.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-rel.out delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-rel.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-semi-dot.out delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-semi-dot.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-uri.out delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-uri.ttl delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-utf8-uri.out delete mode 100644 source/modules/lilv/serd-0.18.2/tests/test-utf8-uri.ttl delete mode 100755 source/modules/lilv/serd-0.18.2/waf delete mode 100644 source/modules/lilv/serd-0.18.2/wscript delete mode 100644 source/modules/lilv/sord-0.12.0/INSTALL delete mode 100644 source/modules/lilv/sord-0.12.0/NEWS delete mode 100644 source/modules/lilv/sord-0.12.0/PACKAGING delete mode 100644 source/modules/lilv/sord-0.12.0/README delete mode 100644 source/modules/lilv/sord-0.12.0/doc/layout.xml delete mode 100644 source/modules/lilv/sord-0.12.0/doc/reference.doxygen.in delete mode 100644 source/modules/lilv/sord-0.12.0/doc/sord_validate.1 delete mode 100644 source/modules/lilv/sord-0.12.0/doc/sordi.1 delete mode 100644 source/modules/lilv/sord-0.12.0/doc/style.css delete mode 100644 source/modules/lilv/sord-0.12.0/sord.pc.in delete mode 100644 source/modules/lilv/sord-0.12.0/tests/README.txt delete mode 100644 source/modules/lilv/sord-0.12.0/tests/UTF-8.ttl delete mode 100644 source/modules/lilv/sord-0.12.0/tests/manifest.ttl delete mode 100644 source/modules/lilv/sord-0.12.0/tests/rdf-schema.out delete mode 100644 source/modules/lilv/sord-0.12.0/tests/rdf-schema.ttl delete mode 100644 source/modules/lilv/sord-0.12.0/tests/rdfq-results.out delete mode 100644 source/modules/lilv/sord-0.12.0/tests/rdfq-results.ttl delete mode 100644 source/modules/lilv/sord-0.12.0/tests/rdfs-namespace.out delete mode 100644 source/modules/lilv/sord-0.12.0/tests/rdfs-namespace.ttl delete mode 100644 source/modules/lilv/sord-0.12.0/tests/test-00.out delete mode 100644 source/modules/lilv/sord-0.12.0/tests/test-00.ttl delete mode 100644 source/modules/lilv/sord-0.12.0/tests/test-01.out delete mode 100644 source/modules/lilv/sord-0.12.0/tests/test-01.ttl delete mode 100644 source/modules/lilv/sord-0.12.0/tests/test-02.out delete mode 100644 source/modules/lilv/sord-0.12.0/tests/test-02.ttl delete mode 100644 source/modules/lilv/sord-0.12.0/tests/test-03.out delete mode 100644 source/modules/lilv/sord-0.12.0/tests/test-03.ttl delete mode 100644 source/modules/lilv/sord-0.12.0/tests/test-04.out delete mode 100644 source/modules/lilv/sord-0.12.0/tests/test-04.ttl delete mode 100644 source/modules/lilv/sord-0.12.0/tests/test-05.out delete mode 100644 source/modules/lilv/sord-0.12.0/tests/test-05.ttl delete mode 100644 source/modules/lilv/sord-0.12.0/tests/test-06.out delete mode 100644 source/modules/lilv/sord-0.12.0/tests/test-06.ttl delete mode 100644 source/modules/lilv/sord-0.12.0/tests/test-07.out delete mode 100644 source/modules/lilv/sord-0.12.0/tests/test-07.ttl delete mode 100644 source/modules/lilv/sord-0.12.0/tests/test-08.out delete mode 100644 source/modules/lilv/sord-0.12.0/tests/test-08.ttl delete mode 100644 source/modules/lilv/sord-0.12.0/tests/test-09.out delete mode 100644 source/modules/lilv/sord-0.12.0/tests/test-09.ttl delete mode 100644 source/modules/lilv/sord-0.12.0/tests/test-10.out delete mode 100644 source/modules/lilv/sord-0.12.0/tests/test-10.ttl delete mode 100644 source/modules/lilv/sord-0.12.0/tests/test-11.out delete mode 100644 source/modules/lilv/sord-0.12.0/tests/test-11.ttl delete mode 100644 source/modules/lilv/sord-0.12.0/tests/test-12.out delete mode 100644 source/modules/lilv/sord-0.12.0/tests/test-12.ttl delete mode 100644 source/modules/lilv/sord-0.12.0/tests/test-13.out delete mode 100644 source/modules/lilv/sord-0.12.0/tests/test-13.ttl delete mode 100644 source/modules/lilv/sord-0.12.0/tests/test-14.out delete mode 100644 source/modules/lilv/sord-0.12.0/tests/test-14.ttl delete mode 100644 source/modules/lilv/sord-0.12.0/tests/test-15.out delete mode 100644 source/modules/lilv/sord-0.12.0/tests/test-15.ttl delete mode 100644 source/modules/lilv/sord-0.12.0/tests/test-16.out delete mode 100644 source/modules/lilv/sord-0.12.0/tests/test-16.ttl delete mode 100644 source/modules/lilv/sord-0.12.0/tests/test-17.out delete mode 100644 source/modules/lilv/sord-0.12.0/tests/test-17.ttl delete mode 100644 source/modules/lilv/sord-0.12.0/tests/test-18.out delete mode 100644 source/modules/lilv/sord-0.12.0/tests/test-18.ttl delete mode 100644 source/modules/lilv/sord-0.12.0/tests/test-19.out delete mode 100644 source/modules/lilv/sord-0.12.0/tests/test-19.ttl delete mode 100644 source/modules/lilv/sord-0.12.0/tests/test-20.out delete mode 100644 source/modules/lilv/sord-0.12.0/tests/test-20.ttl delete mode 100644 source/modules/lilv/sord-0.12.0/tests/test-21.out delete mode 100644 source/modules/lilv/sord-0.12.0/tests/test-21.ttl delete mode 100644 source/modules/lilv/sord-0.12.0/tests/test-22.out delete mode 100644 source/modules/lilv/sord-0.12.0/tests/test-22.ttl delete mode 100644 source/modules/lilv/sord-0.12.0/tests/test-23.out delete mode 100644 source/modules/lilv/sord-0.12.0/tests/test-23.ttl delete mode 100644 source/modules/lilv/sord-0.12.0/tests/test-24.out delete mode 100644 source/modules/lilv/sord-0.12.0/tests/test-24.ttl delete mode 100644 source/modules/lilv/sord-0.12.0/tests/test-25.out delete mode 100644 source/modules/lilv/sord-0.12.0/tests/test-25.ttl delete mode 100644 source/modules/lilv/sord-0.12.0/tests/test-26.out delete mode 100644 source/modules/lilv/sord-0.12.0/tests/test-26.ttl delete mode 100644 source/modules/lilv/sord-0.12.0/tests/test-27.out delete mode 100644 source/modules/lilv/sord-0.12.0/tests/test-27.ttl delete mode 100644 source/modules/lilv/sord-0.12.0/tests/test-29.out delete mode 100644 source/modules/lilv/sord-0.12.0/tests/test-29.ttl delete mode 100644 source/modules/lilv/sord-0.12.0/tests/test-30.out delete mode 100644 source/modules/lilv/sord-0.12.0/tests/test-30.ttl delete mode 100644 source/modules/lilv/sord-0.12.0/tests/test-id.out delete mode 100644 source/modules/lilv/sord-0.12.0/tests/test-id.ttl delete mode 100644 source/modules/lilv/sord-0.12.0/tests/test-lang.out delete mode 100644 source/modules/lilv/sord-0.12.0/tests/test-lang.ttl delete mode 100644 source/modules/lilv/sord-0.12.0/tests/test-num.out delete mode 100644 source/modules/lilv/sord-0.12.0/tests/test-num.ttl delete mode 100755 source/modules/lilv/sord-0.12.0/waf delete mode 100644 source/modules/lilv/sord-0.12.0/wscript delete mode 100644 source/modules/lilv/sratom-0.4.2/NEWS delete mode 100644 source/modules/lilv/sratom-0.4.2/README delete mode 100644 source/modules/lilv/sratom-0.4.2/doc/layout.xml delete mode 100644 source/modules/lilv/sratom-0.4.2/doc/reference.doxygen.in delete mode 100644 source/modules/lilv/sratom-0.4.2/doc/style.css delete mode 100644 source/modules/lilv/sratom-0.4.2/sratom.pc.in delete mode 100644 source/modules/lilv/sratom-0.4.2/tests/sratom_test.c delete mode 100755 source/modules/lilv/sratom-0.4.2/waf delete mode 100644 source/modules/lilv/sratom-0.4.2/wscript delete mode 100644 source/modules/rtaudio/Makefile.in delete mode 100644 source/modules/rtaudio/config/config.guess delete mode 100755 source/modules/rtaudio/config/config.sub delete mode 100755 source/modules/rtaudio/config/install.sh delete mode 100755 source/modules/rtaudio/configure delete mode 100644 source/modules/rtaudio/configure.ac delete mode 100644 source/modules/rtaudio/contrib/python/pyrtaudio/PyRtAudioTest.py delete mode 100644 source/modules/rtaudio/contrib/python/pyrtaudio/readme delete mode 100644 source/modules/rtaudio/contrib/python/pyrtaudio/rtaudiomodule.cpp delete mode 100644 source/modules/rtaudio/contrib/python/pyrtaudio/setup.py delete mode 100644 source/modules/rtaudio/doc/doxygen/Doxyfile delete mode 100644 source/modules/rtaudio/doc/doxygen/acknowledge.txt delete mode 100644 source/modules/rtaudio/doc/doxygen/apinotes.txt delete mode 100644 source/modules/rtaudio/doc/doxygen/compiling.txt delete mode 100644 source/modules/rtaudio/doc/doxygen/duplex.txt delete mode 100644 source/modules/rtaudio/doc/doxygen/error.txt delete mode 100644 source/modules/rtaudio/doc/doxygen/footer.html delete mode 100644 source/modules/rtaudio/doc/doxygen/header.html delete mode 100644 source/modules/rtaudio/doc/doxygen/license.txt delete mode 100644 source/modules/rtaudio/doc/doxygen/multi.txt delete mode 100644 source/modules/rtaudio/doc/doxygen/playback.txt delete mode 100644 source/modules/rtaudio/doc/doxygen/probe.txt delete mode 100644 source/modules/rtaudio/doc/doxygen/recording.txt delete mode 100644 source/modules/rtaudio/doc/doxygen/settings.txt delete mode 100644 source/modules/rtaudio/doc/doxygen/tutorial.txt delete mode 100644 source/modules/rtaudio/doc/html/RtAudio_8h-source.html delete mode 100644 source/modules/rtaudio/doc/html/RtAudio_8h.html delete mode 100644 source/modules/rtaudio/doc/html/RtAudio_8h_source.html delete mode 100644 source/modules/rtaudio/doc/html/RtError_8h-source.html delete mode 100644 source/modules/rtaudio/doc/html/RtError_8h_source.html delete mode 100644 source/modules/rtaudio/doc/html/acknowledge.html delete mode 100644 source/modules/rtaudio/doc/html/annotated.html delete mode 100644 source/modules/rtaudio/doc/html/apinotes.html delete mode 100644 source/modules/rtaudio/doc/html/bugs.html delete mode 100644 source/modules/rtaudio/doc/html/classRtAudio-members.html delete mode 100644 source/modules/rtaudio/doc/html/classRtAudio.html delete mode 100644 source/modules/rtaudio/doc/html/classRtError-members.html delete mode 100644 source/modules/rtaudio/doc/html/classRtError.html delete mode 100644 source/modules/rtaudio/doc/html/classes.html delete mode 100644 source/modules/rtaudio/doc/html/compiling.html delete mode 100644 source/modules/rtaudio/doc/html/doxygen.css delete mode 100644 source/modules/rtaudio/doc/html/doxygen.png delete mode 100644 source/modules/rtaudio/doc/html/duplex.html delete mode 100644 source/modules/rtaudio/doc/html/errors.html delete mode 100644 source/modules/rtaudio/doc/html/files.html delete mode 100644 source/modules/rtaudio/doc/html/functions.html delete mode 100644 source/modules/rtaudio/doc/html/functions_enum.html delete mode 100644 source/modules/rtaudio/doc/html/functions_eval.html delete mode 100644 source/modules/rtaudio/doc/html/functions_func.html delete mode 100644 source/modules/rtaudio/doc/html/functions_vars.html delete mode 100644 source/modules/rtaudio/doc/html/globals.html delete mode 100644 source/modules/rtaudio/doc/html/globals_enum.html delete mode 100644 source/modules/rtaudio/doc/html/globals_eval.html delete mode 100644 source/modules/rtaudio/doc/html/globals_type.html delete mode 100644 source/modules/rtaudio/doc/html/index.html delete mode 100644 source/modules/rtaudio/doc/html/license.html delete mode 100644 source/modules/rtaudio/doc/html/multi.html delete mode 100644 source/modules/rtaudio/doc/html/pages.html delete mode 100644 source/modules/rtaudio/doc/html/playback.html delete mode 100644 source/modules/rtaudio/doc/html/probe.html delete mode 100644 source/modules/rtaudio/doc/html/recording.html delete mode 100644 source/modules/rtaudio/doc/html/settings.html delete mode 100644 source/modules/rtaudio/doc/html/structRtAudioDeviceInfo-members.html delete mode 100644 source/modules/rtaudio/doc/html/structRtAudioDeviceInfo.html delete mode 100644 source/modules/rtaudio/doc/html/structRtAudioStreamParameters-members.html delete mode 100644 source/modules/rtaudio/doc/html/structRtAudioStreamParameters.html delete mode 100644 source/modules/rtaudio/doc/html/structRtAudio_1_1DeviceInfo-members.html delete mode 100644 source/modules/rtaudio/doc/html/structRtAudio_1_1DeviceInfo.html delete mode 100644 source/modules/rtaudio/doc/html/structRtAudio_1_1StreamOptions-members.html delete mode 100644 source/modules/rtaudio/doc/html/structRtAudio_1_1StreamOptions.html delete mode 100644 source/modules/rtaudio/doc/html/structRtAudio_1_1StreamParameters-members.html delete mode 100644 source/modules/rtaudio/doc/html/structRtAudio_1_1StreamParameters.html delete mode 100644 source/modules/rtaudio/doc/html/tab_b.gif delete mode 100644 source/modules/rtaudio/doc/html/tab_l.gif delete mode 100644 source/modules/rtaudio/doc/html/tab_r.gif delete mode 100644 source/modules/rtaudio/doc/html/tabs.css delete mode 100644 source/modules/rtaudio/doc/html/updates.html delete mode 100644 source/modules/rtaudio/doc/images/ccrma.gif delete mode 100644 source/modules/rtaudio/doc/images/mcgill.gif delete mode 100644 source/modules/rtaudio/doc/release.txt delete mode 100644 source/modules/rtaudio/install delete mode 100644 source/modules/rtaudio/librtaudio.pc.in delete mode 100644 source/modules/rtaudio/readme delete mode 100644 source/modules/rtaudio/rtaudio-config.in delete mode 100644 source/modules/rtaudio/tests/Makefile.in delete mode 100755 source/modules/rtaudio/tests/Windows/audioprobe.dsp delete mode 100755 source/modules/rtaudio/tests/Windows/duplex.dsp delete mode 100755 source/modules/rtaudio/tests/Windows/playraw.dsp delete mode 100755 source/modules/rtaudio/tests/Windows/playsaw.dsp delete mode 100755 source/modules/rtaudio/tests/Windows/record.dsp delete mode 100755 source/modules/rtaudio/tests/Windows/rtaudio.dsw delete mode 100755 source/modules/rtaudio/tests/Windows/testall.dsp delete mode 100755 source/modules/rtaudio/tests/Windows/teststops.dsp delete mode 100644 source/modules/rtaudio/tests/audioprobe.cpp delete mode 100644 source/modules/rtaudio/tests/duplex.cpp delete mode 100644 source/modules/rtaudio/tests/playraw.cpp delete mode 100644 source/modules/rtaudio/tests/playsaw.cpp delete mode 100644 source/modules/rtaudio/tests/record.cpp delete mode 100644 source/modules/rtaudio/tests/testall.cpp delete mode 100644 source/modules/rtaudio/tests/teststops.cpp delete mode 100644 source/modules/rtmidi/Makefile.in delete mode 100755 source/modules/rtmidi/config/config.guess delete mode 100755 source/modules/rtmidi/config/config.sub delete mode 100755 source/modules/rtmidi/config/install.sh delete mode 100755 source/modules/rtmidi/configure delete mode 100644 source/modules/rtmidi/configure.ac delete mode 100644 source/modules/rtmidi/doc/doxygen/Doxyfile delete mode 100644 source/modules/rtmidi/doc/doxygen/footer.html delete mode 100644 source/modules/rtmidi/doc/doxygen/header.html delete mode 100644 source/modules/rtmidi/doc/doxygen/tutorial.txt delete mode 100644 source/modules/rtmidi/doc/html/RtError_8h-source.html delete mode 100644 source/modules/rtmidi/doc/html/RtError_8h_source.html delete mode 100644 source/modules/rtmidi/doc/html/RtMidi_8h-source.html delete mode 100644 source/modules/rtmidi/doc/html/RtMidi_8h.html delete mode 100644 source/modules/rtmidi/doc/html/RtMidi_8h_source.html delete mode 100644 source/modules/rtmidi/doc/html/annotated.html delete mode 100644 source/modules/rtmidi/doc/html/classMidiInAlsa-members.html delete mode 100644 source/modules/rtmidi/doc/html/classMidiInAlsa.html delete mode 100644 source/modules/rtmidi/doc/html/classMidiInAlsa.png delete mode 100644 source/modules/rtmidi/doc/html/classMidiInApi-members.html delete mode 100644 source/modules/rtmidi/doc/html/classMidiInApi.html delete mode 100644 source/modules/rtmidi/doc/html/classMidiInApi.png delete mode 100644 source/modules/rtmidi/doc/html/classMidiInCore-members.html delete mode 100644 source/modules/rtmidi/doc/html/classMidiInCore.html delete mode 100644 source/modules/rtmidi/doc/html/classMidiInCore.png delete mode 100644 source/modules/rtmidi/doc/html/classMidiInDummy-members.html delete mode 100644 source/modules/rtmidi/doc/html/classMidiInDummy.html delete mode 100644 source/modules/rtmidi/doc/html/classMidiInDummy.png delete mode 100644 source/modules/rtmidi/doc/html/classMidiInJack-members.html delete mode 100644 source/modules/rtmidi/doc/html/classMidiInJack.html delete mode 100644 source/modules/rtmidi/doc/html/classMidiInJack.png delete mode 100644 source/modules/rtmidi/doc/html/classMidiInWinKS-members.html delete mode 100644 source/modules/rtmidi/doc/html/classMidiInWinKS.html delete mode 100644 source/modules/rtmidi/doc/html/classMidiInWinKS.png delete mode 100644 source/modules/rtmidi/doc/html/classMidiInWinMM-members.html delete mode 100644 source/modules/rtmidi/doc/html/classMidiInWinMM.html delete mode 100644 source/modules/rtmidi/doc/html/classMidiInWinMM.png delete mode 100644 source/modules/rtmidi/doc/html/classMidiOutAlsa-members.html delete mode 100644 source/modules/rtmidi/doc/html/classMidiOutAlsa.html delete mode 100644 source/modules/rtmidi/doc/html/classMidiOutAlsa.png delete mode 100644 source/modules/rtmidi/doc/html/classMidiOutApi-members.html delete mode 100644 source/modules/rtmidi/doc/html/classMidiOutApi.html delete mode 100644 source/modules/rtmidi/doc/html/classMidiOutApi.png delete mode 100644 source/modules/rtmidi/doc/html/classMidiOutCore-members.html delete mode 100644 source/modules/rtmidi/doc/html/classMidiOutCore.html delete mode 100644 source/modules/rtmidi/doc/html/classMidiOutCore.png delete mode 100644 source/modules/rtmidi/doc/html/classMidiOutDummy-members.html delete mode 100644 source/modules/rtmidi/doc/html/classMidiOutDummy.html delete mode 100644 source/modules/rtmidi/doc/html/classMidiOutDummy.png delete mode 100644 source/modules/rtmidi/doc/html/classMidiOutJack-members.html delete mode 100644 source/modules/rtmidi/doc/html/classMidiOutJack.html delete mode 100644 source/modules/rtmidi/doc/html/classMidiOutJack.png delete mode 100644 source/modules/rtmidi/doc/html/classMidiOutWinKS-members.html delete mode 100644 source/modules/rtmidi/doc/html/classMidiOutWinKS.html delete mode 100644 source/modules/rtmidi/doc/html/classMidiOutWinKS.png delete mode 100644 source/modules/rtmidi/doc/html/classMidiOutWinMM-members.html delete mode 100644 source/modules/rtmidi/doc/html/classMidiOutWinMM.html delete mode 100644 source/modules/rtmidi/doc/html/classMidiOutWinMM.png delete mode 100644 source/modules/rtmidi/doc/html/classRtError-members.html delete mode 100644 source/modules/rtmidi/doc/html/classRtError.html delete mode 100644 source/modules/rtmidi/doc/html/classRtMidi-members.html delete mode 100644 source/modules/rtmidi/doc/html/classRtMidi.gif delete mode 100644 source/modules/rtmidi/doc/html/classRtMidi.html delete mode 100644 source/modules/rtmidi/doc/html/classRtMidi.png delete mode 100644 source/modules/rtmidi/doc/html/classRtMidiIn-members.html delete mode 100644 source/modules/rtmidi/doc/html/classRtMidiIn.gif delete mode 100644 source/modules/rtmidi/doc/html/classRtMidiIn.html delete mode 100644 source/modules/rtmidi/doc/html/classRtMidiIn.png delete mode 100644 source/modules/rtmidi/doc/html/classRtMidiOut-members.html delete mode 100644 source/modules/rtmidi/doc/html/classRtMidiOut.gif delete mode 100644 source/modules/rtmidi/doc/html/classRtMidiOut.html delete mode 100644 source/modules/rtmidi/doc/html/classRtMidiOut.png delete mode 100644 source/modules/rtmidi/doc/html/classes.html delete mode 100644 source/modules/rtmidi/doc/html/doxygen.css delete mode 100644 source/modules/rtmidi/doc/html/doxygen.png delete mode 100644 source/modules/rtmidi/doc/html/files.html delete mode 100644 source/modules/rtmidi/doc/html/functions.html delete mode 100644 source/modules/rtmidi/doc/html/functions_enum.html delete mode 100644 source/modules/rtmidi/doc/html/functions_eval.html delete mode 100644 source/modules/rtmidi/doc/html/functions_func.html delete mode 100644 source/modules/rtmidi/doc/html/functions_type.html delete mode 100644 source/modules/rtmidi/doc/html/hierarchy.html delete mode 100644 source/modules/rtmidi/doc/html/index.html delete mode 100644 source/modules/rtmidi/doc/html/structMidiInApi_1_1MidiMessage-members.html delete mode 100644 source/modules/rtmidi/doc/html/structMidiInApi_1_1MidiMessage.html delete mode 100644 source/modules/rtmidi/doc/html/structMidiInApi_1_1MidiQueue-members.html delete mode 100644 source/modules/rtmidi/doc/html/structMidiInApi_1_1MidiQueue.html delete mode 100644 source/modules/rtmidi/doc/html/structMidiInApi_1_1RtMidiInData-members.html delete mode 100644 source/modules/rtmidi/doc/html/structMidiInApi_1_1RtMidiInData.html delete mode 100644 source/modules/rtmidi/doc/html/structRtMidiIn_1_1MidiMessage-members.html delete mode 100644 source/modules/rtmidi/doc/html/structRtMidiIn_1_1MidiMessage.html delete mode 100644 source/modules/rtmidi/doc/html/structRtMidiIn_1_1MidiQueue-members.html delete mode 100644 source/modules/rtmidi/doc/html/structRtMidiIn_1_1MidiQueue.html delete mode 100644 source/modules/rtmidi/doc/html/structRtMidiIn_1_1RtMidiInData-members.html delete mode 100644 source/modules/rtmidi/doc/html/structRtMidiIn_1_1RtMidiInData.html delete mode 100644 source/modules/rtmidi/doc/html/tab_b.gif delete mode 100644 source/modules/rtmidi/doc/html/tab_l.gif delete mode 100644 source/modules/rtmidi/doc/html/tab_r.gif delete mode 100644 source/modules/rtmidi/doc/html/tabs.css delete mode 100644 source/modules/rtmidi/doc/images/ccrma.gif delete mode 100644 source/modules/rtmidi/doc/images/mcgill.gif delete mode 100644 source/modules/rtmidi/doc/release.txt delete mode 100644 source/modules/rtmidi/msw/readme delete mode 100755 source/modules/rtmidi/msw/rtmidilib.sln delete mode 100755 source/modules/rtmidi/msw/rtmidilib.vcproj delete mode 100644 source/modules/rtmidi/readme delete mode 100644 source/modules/rtmidi/rtmidi-config.in delete mode 100644 source/modules/rtmidi/tests/Makefile.in delete mode 100644 source/modules/rtmidi/tests/RtMidi.dsw delete mode 100644 source/modules/rtmidi/tests/cmidiin.cpp delete mode 100644 source/modules/rtmidi/tests/cmidiin.dsp delete mode 100644 source/modules/rtmidi/tests/midiout.cpp delete mode 100644 source/modules/rtmidi/tests/midiout.dsp delete mode 100644 source/modules/rtmidi/tests/midiprobe.cpp delete mode 100644 source/modules/rtmidi/tests/midiprobe.dsp delete mode 100644 source/modules/rtmidi/tests/qmidiin.cpp delete mode 100644 source/modules/rtmidi/tests/qmidiin.dsp delete mode 100644 source/modules/rtmidi/tests/sysextest.cpp delete mode 100644 source/modules/rtmidi/tests/sysextest.dsp delete mode 100644 source/modules/stk/juce_module_info diff --git a/data/cleanup-modules.sh b/data/cleanup-modules.sh new file mode 100755 index 000000000..87d6af4cd --- /dev/null +++ b/data/cleanup-modules.sh @@ -0,0 +1,43 @@ +#!/bin/bash + +if [ ! -f Makefile ]; then + echo "Needs to be ran from the source root folder" + exit 1 +fi + +set -e + +cd source/modules + +mv lilv/config lilv_config + +rm -f */*.in +rm -f */configure +rm -f */configure.ac +rm -f */juce_module_info +rm -f */install +rm -f */readme +rm -rf */config +rm -rf */contrib +rm -rf */doc +rm -rf */lib +rm -rf */msw +rm -rf */tests + +rm -f */*/INSTALL +rm -f */*/NEWS +rm -f */*/PACKAGING +rm -f */*/README +rm -f */*/*.in +rm -f */*/*.ttl +rm -f */*/waf +rm -f */*/wscript +rm -rf */*/bindings +rm -rf */*/doc +rm -rf */*/test +rm -rf */*/tests +rm -rf */*/utils + +mv lilv_config lilv/config + +cd ../.. diff --git a/source/modules/juce_audio_basics/juce_module_info b/source/modules/juce_audio_basics/juce_module_info deleted file mode 100644 index 0711331c9..000000000 --- a/source/modules/juce_audio_basics/juce_module_info +++ /dev/null @@ -1,24 +0,0 @@ -{ - "id": "juce_audio_basics", - "name": "JUCE audio and midi data classes", - "version": "2.1.6", - "description": "Classes for audio buffer manipulation, midi message handling, synthesis, etc", - "website": "http://www.juce.com/juce", - "license": "GPL/Commercial", - - "dependencies": [ { "id": "juce_core", "version": "matching" } ], - - "include": "juce_audio_basics.h", - - "compile": [ { "file": "juce_audio_basics.cpp", "target": "! xcode" }, - { "file": "juce_audio_basics.mm", "target": "xcode" } ], - - "browse": [ "buffers/*", - "midi/*", - "effects/*", - "sources/*", - "synthesisers/*" ], - - "OSXFrameworks": "Accelerate", - "iOSFrameworks": "Accelerate" -} diff --git a/source/modules/juce_audio_devices/juce_module_info b/source/modules/juce_audio_devices/juce_module_info deleted file mode 100644 index bd94e7e74..000000000 --- a/source/modules/juce_audio_devices/juce_module_info +++ /dev/null @@ -1,28 +0,0 @@ -{ - "id": "juce_audio_devices", - "name": "JUCE audio and midi I/O device classes", - "version": "2.1.6", - "description": "Classes to play and record from audio and midi i/o devices.", - "website": "http://www.juce.com/juce", - "license": "GPL/Commercial", - - "dependencies": [ { "id": "juce_audio_basics", "version": "matching" }, - { "id": "juce_audio_formats", "version": "matching" }, - { "id": "juce_events", "version": "matching" } ], - - "include": "juce_audio_devices.h", - - "compile": [ { "file": "juce_audio_devices.cpp", "target": "! xcode" }, - { "file": "juce_audio_devices.mm", "target": "xcode" } ], - - "browse": [ "audio_io/*", - "midi_io/*", - "sources/*", - "audio_cd/*", - "native/*" ], - - "OSXFrameworks": "CoreAudio CoreMIDI DiscRecording", - "iOSFrameworks": "AudioToolbox CoreMIDI", - "LinuxLibs": "asound", - "mingwLibs": "winmm" -} diff --git a/source/modules/juce_audio_formats/juce_module_info b/source/modules/juce_audio_formats/juce_module_info deleted file mode 100644 index d6c7858a6..000000000 --- a/source/modules/juce_audio_formats/juce_module_info +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": "juce_audio_formats", - "name": "JUCE audio file format codecs", - "version": "2.1.6", - "description": "Classes for reading and writing various audio file formats.", - "website": "http://www.juce.com/juce", - "license": "GPL/Commercial", - - "dependencies": [ { "id": "juce_audio_basics", "version": "matching" } ], - - "include": "juce_audio_formats.h", - - "compile": [ { "file": "juce_audio_formats.cpp", "target": "! xcode" }, - { "file": "juce_audio_formats.mm", "target": "xcode" } ], - - "browse": [ "format/*", - "codecs/*", - "sampler/*" ], - - "OSXFrameworks": "CoreAudio CoreMIDI QuartzCore AudioToolbox", - "iOSFrameworks": "AudioToolbox QuartzCore" -} diff --git a/source/modules/juce_audio_processors/juce_module_info b/source/modules/juce_audio_processors/juce_module_info deleted file mode 100644 index 25410a4ec..000000000 --- a/source/modules/juce_audio_processors/juce_module_info +++ /dev/null @@ -1,25 +0,0 @@ -{ - "id": "juce_audio_processors", - "name": "JUCE audio plugin hosting classes", - "version": "2.1.6", - "description": "Classes for loading and playing VST, AU, or internally-generated audio processors.", - "website": "http://www.juce.com/juce", - "license": "GPL/Commercial", - - "dependencies": [ { "id": "juce_gui_extra", "version": "matching" }, - { "id": "juce_audio_basics", "version": "matching" } ], - - "include": "juce_audio_processors.h", - - "compile": [ { "file": "juce_audio_processors.cpp", "target": "! xcode" }, - { "file": "juce_audio_processors.mm", "target": "xcode" } ], - - "browse": [ "processors/*", - "format/*", - "format_types/*", - "scanning/*" - ], - - "OSXFrameworks": "CoreAudio CoreMIDI AudioToolbox", - "iOSFrameworks": "AudioToolbox" -} diff --git a/source/modules/juce_core/juce_module_info b/source/modules/juce_core/juce_module_info deleted file mode 100644 index ca04436bc..000000000 --- a/source/modules/juce_core/juce_module_info +++ /dev/null @@ -1,38 +0,0 @@ -{ - "id": "juce_core", - "name": "JUCE core classes", - "version": "2.1.6", - "description": "The essential set of basic JUCE classes, as required by all the other JUCE modules. Includes text, container, memory, threading and i/o functionality.", - "website": "http://www.juce.com/juce", - "license": "ISC Permissive", - - "dependencies": [], - - "include": "juce_core.h", - - "compile": [ { "file": "juce_core.cpp", "target": "! xcode" }, - { "file": "juce_core.mm", "target": "xcode" } ], - - "browse": [ "text/*", - "maths/*", - "memory/*", - "containers/*", - "threads/*", - "time/*", - "files/*", - "network/*", - "streams/*", - "logging/*", - "system/*", - "xml/*", - "javascript/*", - "zip/*", - "unit_tests/*", - "misc/*", - "native/*" ], - - "OSXFrameworks": "Cocoa IOKit", - "iOSFrameworks": "Foundation", - "LinuxLibs": "rt dl pthread", - "mingwLibs": "uuid wsock32 wininet version ole32 ws2_32 oleaut32 imm32 comdlg32 shlwapi rpcrt4 winmm" -} diff --git a/source/modules/juce_data_structures/juce_module_info b/source/modules/juce_data_structures/juce_module_info deleted file mode 100644 index 25eeddb30..000000000 --- a/source/modules/juce_data_structures/juce_module_info +++ /dev/null @@ -1,20 +0,0 @@ -{ - "id": "juce_data_structures", - "name": "JUCE data model helper classes", - "version": "2.1.6", - "description": "Classes for undo/redo management, and smart data structures.", - "website": "http://www.juce.com/juce", - "license": "GPL/Commercial", - - "dependencies": [ { "id": "juce_core", "version": "matching" }, - { "id": "juce_events", "version": "matching" } ], - - "include": "juce_data_structures.h", - - "compile": [ { "file": "juce_data_structures.cpp", "target": "! xcode" }, - { "file": "juce_data_structures.mm", "target": "xcode" } ], - - "browse": [ "values/*", - "undomanager/*", - "app_properties/*" ] -} diff --git a/source/modules/juce_events/juce_module_info b/source/modules/juce_events/juce_module_info deleted file mode 100644 index cc5f7fc47..000000000 --- a/source/modules/juce_events/juce_module_info +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": "juce_events", - "name": "JUCE message and event handling classes", - "version": "2.1.6", - "description": "Classes for running an application's main event loop and sending/receiving messages, timers, etc.", - "website": "http://www.juce.com/juce", - "license": "GPL/Commercial", - - "dependencies": [ { "id": "juce_core", "version": "matching" } ], - - "include": "juce_events.h", - - "compile": [ { "file": "juce_events.cpp", "target": "! xcode" }, - { "file": "juce_events.mm", "target": "xcode" } ], - - "browse": [ "messages/*", - "timers/*", - "broadcasters/*", - "interprocess/*", - "native/*" ], - - "LinuxLibs": "X11" -} diff --git a/source/modules/juce_graphics/juce_module_info b/source/modules/juce_graphics/juce_module_info deleted file mode 100644 index 6777f95d1..000000000 --- a/source/modules/juce_graphics/juce_module_info +++ /dev/null @@ -1,30 +0,0 @@ -{ - "id": "juce_graphics", - "name": "JUCE graphics classes", - "version": "2.1.6", - "description": "Classes for 2D vector graphics, image loading/saving, font handling, etc.", - "website": "http://www.juce.com/juce", - "license": "GPL/Commercial", - - "dependencies": [ { "id": "juce_core", "version": "matching" }, - { "id": "juce_events", "version": "matching" } ], - - "include": "juce_graphics.h", - - "compile": [ { "file": "juce_graphics.cpp", "target": "! xcode" }, - { "file": "juce_graphics.mm", "target": "xcode" } ], - - "browse": [ "colour/*", - "contexts/*", - "images/*", - "image_formats/*", - "geometry/*", - "placement/*", - "fonts/*", - "effects/*", - "native/*" ], - - "OSXFrameworks": "Cocoa QuartzCore", - "iOSFrameworks": "CoreGraphics CoreText QuartzCore", - "LinuxLibs": "X11 Xinerama Xext freetype" -} diff --git a/source/modules/juce_gui_basics/juce_module_info b/source/modules/juce_gui_basics/juce_module_info deleted file mode 100644 index bf8143a9b..000000000 --- a/source/modules/juce_gui_basics/juce_module_info +++ /dev/null @@ -1,40 +0,0 @@ -{ - "id": "juce_gui_basics", - "name": "JUCE GUI core classes", - "version": "2.1.6", - "description": "Basic user-interface components and related classes.", - "website": "http://www.juce.com/juce", - "license": "GPL/Commercial", - - "dependencies": [ { "id": "juce_core", "version": "matching" }, - { "id": "juce_events", "version": "matching" }, - { "id": "juce_graphics", "version": "matching" }, - { "id": "juce_data_structures", "version": "matching" } ], - - "include": "juce_gui_basics.h", - - "compile": [ { "file": "juce_gui_basics.cpp", "target": "! xcode" }, - { "file": "juce_gui_basics.mm", "target": "xcode" } ], - - "browse": [ "components/*", - "mouse/*", - "keyboard/*", - "widgets/*", - "windows/*", - "menus/*", - "layout/*", - "buttons/*", - "positioning/*", - "drawables/*", - "properties/*", - "lookandfeel/*", - "filebrowser/*", - "commands/*", - "misc/*", - "application/*", - "native/*" ], - - "OSXFrameworks": "Cocoa Carbon QuartzCore", - "iOSFrameworks": "UIKit", - "LinuxLibs": "X11 Xinerama Xext" -} diff --git a/source/modules/lilv/lilv-0.16.0/INSTALL b/source/modules/lilv/lilv-0.16.0/INSTALL deleted file mode 100644 index 623cddde4..000000000 --- a/source/modules/lilv/lilv-0.16.0/INSTALL +++ /dev/null @@ -1,59 +0,0 @@ -Installation Instructions -========================= - -Basic Installation ------------------- - -Building this software requires only Python. To install with default options: - - ./waf configure - ./waf - ./waf install - -You may need to become root for the install stage, for example: - - sudo ./waf install - -Configuration Options ---------------------- - -All supported options can be viewed using the command: - - ./waf --help - -Most options only need to be passed during the configure stage, for example: - - ./waf configure --prefix=/usr - ./waf - ./waf install - -Compiler Configuration ----------------------- - -Several standard environment variables can be used to control how compilers are -invoked: - - * CC: Path to C compiler - * CFLAGS: C compiler options - * CXX: Path to C++ compiler - * CXXFLAGS: C++ compiler options - * CPPFLAGS: C preprocessor options - * LINKFLAGS: Linker options - -Installation Directories ------------------------- - -The --prefix option (or the PREFIX environment variable) can be used to change -the prefix which all files are installed under. There are also several options -allowing for more fine-tuned control, see the --help output for details. - -Packaging ---------- - -Everything can be installed to a specific root directory by passing a --destdir -option to the install stage (or setting the DESTDIR environment variable), -which adds a prefix to all install paths. For example: - - ./waf configure --prefix=/usr - ./waf - ./waf install --destdir=/tmp/package diff --git a/source/modules/lilv/lilv-0.16.0/NEWS b/source/modules/lilv/lilv-0.16.0/NEWS deleted file mode 100644 index 01c68c86c..000000000 --- a/source/modules/lilv/lilv-0.16.0/NEWS +++ /dev/null @@ -1,112 +0,0 @@ -lilv (0.16.0) stable; - - * Add lilv_world_ask() for easily checking if a statement exists - * Add lilv_world_get() and lilv_port_get() for easily getting one value - * Add lilv_nodes_merge() - * Make lilv_plugin_get_port_by_designation() return a const pointer - * Require a URI for lilv_state_to_string() and fail gracefully otherwise - * Fail gracefully when lilv_state_new_from_string() is called on NULL - * Make state loading functions fall back to lv2:default for port values, - so a plugin description can be loaded as default state - * Ignore state ports with no value instead of printing an error - * Support atom:supports in lilv_port_supports_event() - * Add va_list variant of lilv_plugin_get_num_ports_of_class() - * Fix several plugin functions that failed to load data if called first - * Correctly depend on serd at build time (fix compilation in odd cases) - * Disable timestamps in HTML documentation for reproducible build - * lilvmm.hpp: Support varargs for Plugin::get_num_ports_of_class() - * lilvmm.hpp: Add several missing methods - * Update to waf 1.7.8 and autowaf r90 (install docs to versioned directory) - - -- David Robillard Mon, 18 Feb 2013 16:43:10 -0500 - -lilv (0.14.4) stable; - - * Deprecate old flawed Lilv::Instance constructors - * Fix documentation for ui_type parameter of lilv_ui_is_supported() - * Fix crash when lv2info is run with an invalid URI argument - * Gracefully handle failure to save plugin state and print error message - * Reduce memory usage (per node) - * Simpler node implementation always backed by a SordNode - * Make all 'zix' symbols private to avoid symbol clashes in static builds - * Add lv2bench utility - * Fix various hyper-strict warnings - * Do not require a C++ compiler to build - * Add option to build utilities as static binaries - * Upgrade to waf 1.7.2 - * lilvmm.hpp: Make Lilv::Instance handle features and failed instantiations - * lilvmm.hpp: Add Lilv::Instance::get_handle() - * lilvmm.hpp: Add Lilv::Instance::get_extension_data() - - -- David Robillard Thu, 23 Aug 2012 01:38:29 -0400 - -lilv (0.14.2) stable; - - * Fix dynmanifest support - - -- David Robillard Thu, 19 Apr 2012 16:11:31 -0400 - -lilv (0.14.0) stable; - - * Add lilv_plugin_get_extension_data - * Use path variables in pkgconfig files - * Install man page to DATADIR (e.g. PREFIX/share/man, not PREFIX/man) - * Make Lilv::uri_to_path static inline (fix linking errors) - * Use correct URI for dcterms:replaces (for hiding old plugins): - "http://purl.org/dc/terms/replaces" - * Fix compilation on BSD - * Only load dynmanifest libraries once per bundle, not once per plugin - * Fix lilv_world_find_nodes to work with wildcard subjects - * Add lilv_plugin_get_related to get resources related to plugins that - are not directly rdfs:seeAlso linked (e.g. presets) - * Add lilv_world_load_resource for related resources (e.g. presets) - * Print presets in lv2info - * Remove locale smashing kludges and use new serd functions for converting - nodes to/from numbers. - * Add LilvState API for handling plugin state. This makes it simple to - save and restore plugin state both in memory and on disk, as well as - save presets in a host-sharable way since the disk format is identical - to the LV2 presets format. - * Update old references to lv2_list (now lv2ls) - * Support compilation as C++ under MSVC++. - * Remove use of wordexp. - * Add lilv_plugin_get_port_by_designation() and lilv_port_get_index() as an - improved generic alternative to lilv_plugin_get_latency_port_index(). - * Add lilv_plugin_get_project() and get author information from project if - it is not given directly on the plugin. - - -- David Robillard Wed, 18 Apr 2012 20:06:28 -0400 - -lilv (0.5.0) stable; - - * Remove glib dependency - * Add lv2core as a pkg-config dependency (for lv2.h header include) - * Obey prefix when installing bash completion script - * Support integer minimum, maximum, and default port values in - lilv_plugin_get_port_ranges_float - * Add ability to build static library - - -- David Robillard Thu, 29 Sep 2011 00:00:00 -0400 - -lilv (0.4.4) stable; - - * Fix building python bindings - * Make free methods tolerate being called on NULL - * Remove lv2jack (replaced by jalv) - * Fix parsing extra plugin data files in other bundles - * Fix lilv_ui_is_supported when Lilv is built independently - - -- David Robillard Sat, 11 Jun 2011 11:20:11 -0400 - -lilv (0.4.2) stable; - - * Fix compilation issues on some systems - * Fix build system Python 3 compatibility - - -- David Robillard Wed, 25 May 2011 19:00:00 -0400 - -lilv (0.4.0) stable; - - * Initial version (forked from SLV2) - - -- David Robillard Tue, 24 May 2011 23:00:00 -0400 diff --git a/source/modules/lilv/lilv-0.16.0/PACKAGING b/source/modules/lilv/lilv-0.16.0/PACKAGING deleted file mode 100644 index 3eced1698..000000000 --- a/source/modules/lilv/lilv-0.16.0/PACKAGING +++ /dev/null @@ -1,29 +0,0 @@ -This library is designed to allow parallel installation of different major -versions. To facilitate this, the shared library name, include directory, and -pkg-config file are suffixed with the major version number of the library. - -For example, if this library was named "foo" and at version 1.x.y: - -/usr/include/foo-1/foo/foo.h -/usr/lib/foo-1.so.1.x.y -/usr/lib/pkgconfig/foo-1.pc - -Dependencies check for pkg-config name "foo-1" and will build -against a compatible version 1, regardless any other installed versions. - -*** IMPORTANT GUIDELINES FOR PACKAGERS *** - -Packages should follow the same conventions as above, i.e. include the major -version (and only the major version) in the name of the package. Continuing the -example above, the package(s) would be named foo-1 and foo-1-dev. This way, -if/when version 2 comes out, it may be installed at the same time as version 1 -without breaking anything. - -Please do not create packages of this library that do not follow these -guidelines, you will break things and cause unnecessary headaches. Please do -not use any number as a suffix other than the actual major version number of the -upstream source package. - -Because program and documentation names are not versioned, these should be -included in separate packages which may replace previous versions, since -there is little use in having parallel installations of them. \ No newline at end of file diff --git a/source/modules/lilv/lilv-0.16.0/README b/source/modules/lilv/lilv-0.16.0/README deleted file mode 100644 index 00e153054..000000000 --- a/source/modules/lilv/lilv-0.16.0/README +++ /dev/null @@ -1,11 +0,0 @@ -Lilv ----- - -Lilv is a library for LV2 hosts intended to make using LV2 Plugins as simple -as possible (without sacrificing capabilities). - -More information about LV2 plugins can be found at . - -More information about Lilv can be found at . - - -- David Robillard diff --git a/source/modules/lilv/lilv-0.16.0/bindings/lilv.i b/source/modules/lilv/lilv-0.16.0/bindings/lilv.i deleted file mode 100644 index 958f9f0c8..000000000 --- a/source/modules/lilv/lilv-0.16.0/bindings/lilv.i +++ /dev/null @@ -1,38 +0,0 @@ -%module lilv -%{ -#include "lilv/lilv.h" -#include "lilv/lilvmm.hpp" -%} - -%include "lilv/lilv.h" -%include "lilv/lilvmm.hpp" - -namespace Lilv { - -%extend Plugins { -%pythoncode %{ - def __iter__(self): - class Iterator(object): - def __init__(self, plugins): - self.plugins = plugins - self.iter = plugins.begin() - - def next(self): - self.iter = self.plugins.next(self.iter) - if not self.plugins.is_end(self.iter): - return self.plugins.get(self.iter) - else: - raise StopIteration - - return Iterator(self) -%} -}; - -%extend Node { -%pythoncode %{ - def __str__(self): - return self.get_turtle_token() -%} -}; - -} /* namespace Lilv */ diff --git a/source/modules/lilv/lilv-0.16.0/bindings/python/lv2_apply.py b/source/modules/lilv/lilv-0.16.0/bindings/python/lv2_apply.py deleted file mode 100755 index ebb43e5f4..000000000 --- a/source/modules/lilv/lilv-0.16.0/bindings/python/lv2_apply.py +++ /dev/null @@ -1,96 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -import math -import lilv -import sys -import wave -import numpy - -# Read command line arguments -if len(sys.argv) != 4: - print 'USAGE: lv2_apply.py PLUGIN_URI INPUT_WAV OUTPUT_WAV' - sys.exit(1) - -# Initialise Lilv -world = lilv.World() -world.load_all() - -plugin_uri = world.new_uri(sys.argv[1]) -wav_in_path = sys.argv[2] -wav_out_path = sys.argv[3] - - -# Find plugin -plugin = world.get_all_plugins().get_by_uri(plugin_uri) -if not plugin: - print "Unknown plugin `%s'\n" % plugin_uri - sys.exit(1) - -lv2_InputPort = world.new_uri(lilv.LILV_URI_INPUT_PORT) -lv2_OutputPort = world.new_uri(lilv.LILV_URI_OUTPUT_PORT) -lv2_AudioPort = world.new_uri(lilv.LILV_URI_AUDIO_PORT) - -n_audio_in = plugin.get_num_ports_of_class(lv2_InputPort, lv2_AudioPort) -n_audio_out = plugin.get_num_ports_of_class(lv2_OutputPort, lv2_AudioPort) -if n_audio_out == 0: - print "Plugin has no audio outputs\n" - sys.exit(1) - -# Open input file -wav_in = wave.open(wav_in_path, 'r') -if not wav_in: - print "Failed to open input `%s'\n" % wav_in_path - sys.exit(1) -if wav_in.getnchannels() != n_audio_in: - print "Input has %d channels, but plugin has %d audio inputs\n" % ( - wav_in.getnchannels(), n_audio_in) - sys.exit(1) - -# Open output file -wav_out = wave.open(wav_out_path, 'w') -if not wav_out: - print "Failed to open output `%s'\n" % wav_out_path - sys.exit(1) - -# Set output file to same format as input (except possibly nchannels) -wav_out.setparams(wav_in.getparams()) -wav_out.setnchannels(n_audio_out) - -rate = wav_in.getframerate() -nframes = wav_in.getnframes() - -# Instantiate plugin -instance = lilv.Instance(plugin, rate) - -def read_float(wf, nframes): - wav = wf.readframes(nframes) - if wf.getsampwidth() == 4: - wav = wave.struct.unpack("<%ul" % (len(wav) / 4), wav) - wav = [ i / float(math.pow(2, 32)) for i in wav ] - elif wf.getsampwidth() == 2: - wav = wave.struct.unpack("<%uh" % (len(wav) / 2), wav) - wav = [ i / float(math.pow(2, 16)) for i in wav ] - else: - wav = wave.struct.unpack("%uB" % (len(wav)), wav) - wav = [ s - 128 for s in wav ] - wav = [ i / float(math.pow(2, 8)) for i in wav ] - - n_channels = wf.getnchannels() - wavs = [] - if n_channels > 1: - for i in xrange(n_channels): - wavs.append([ wav[j] for j in xrange(0, len(wav), n_channels) ]) - else: - wavs = [ wav ] - - return wavs - -in_buf = read_float(wav_in, nframes) - -# TODO: buffer marshaling -#instance.connect_port(3, in_buf) - -print '%s => %s => %s @ %d Hz' % (wav_in_path, plugin.get_name(), wav_out_path, rate) - -instance.connect_port(3, in_buf) diff --git a/source/modules/lilv/lilv-0.16.0/bindings/python/lv2_list.py b/source/modules/lilv/lilv-0.16.0/bindings/python/lv2_list.py deleted file mode 100755 index babe1b41c..000000000 --- a/source/modules/lilv/lilv-0.16.0/bindings/python/lv2_list.py +++ /dev/null @@ -1,9 +0,0 @@ -#!/usr/bin/env python - -import lilv - -world = lilv.World() -world.load_all() - -for i in world.get_all_plugins(): - print(i.get_uri()) diff --git a/source/modules/lilv/lilv-0.16.0/doc/layout.xml b/source/modules/lilv/lilv-0.16.0/doc/layout.xml deleted file mode 100644 index 74a109fc3..000000000 --- a/source/modules/lilv/lilv-0.16.0/doc/layout.xml +++ /dev/null @@ -1,187 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/source/modules/lilv/lilv-0.16.0/doc/lv2info.1 b/source/modules/lilv/lilv-0.16.0/doc/lv2info.1 deleted file mode 100644 index 0cba739b1..000000000 --- a/source/modules/lilv/lilv-0.16.0/doc/lv2info.1 +++ /dev/null @@ -1,33 +0,0 @@ -.TH LV2INFO 1 "8 Jan 2012" - -.SH NAME -.B lv2info \- print information about an installed LV2 plugin. -.SH SYNOPSIS -.B lv2info PLUGIN_URI - -.SH OPTIONS -.TP -\fB\-p FILE -Write Turtle description of plugin to FILE - -.TP -\fB\-m FILE -Add record of plugin to manifest FILE - -.TP -\fB\-\-help\fR -Display help and exit - -.TP -\fB\-\-version\fR -Display version information and exit - -.SH SEE ALSO -.BR lilv(3), -.BR lv2ls(1) - -.SH AUTHOR -lv2info was written by David Robillard -.PP -This manual page was written by Jaromír Mikes -and David Robillard diff --git a/source/modules/lilv/lilv-0.16.0/doc/lv2ls.1 b/source/modules/lilv/lilv-0.16.0/doc/lv2ls.1 deleted file mode 100644 index 56cae582b..000000000 --- a/source/modules/lilv/lilv-0.16.0/doc/lv2ls.1 +++ /dev/null @@ -1,30 +0,0 @@ -.TH LV2LS 1 "17 Jan 2012" - -.SH NAME -.B lv2ls \- List all installed LV2 plugins. - -.SH SYNOPSIS -.B lv2ls [OPTION]... - -.SH OPTIONS -.TP -\fB\-n\fR, \fB\-\-names\fR -Show names instead of URIs - -.TP -\fB\-\-help\fR -Display help and exit - -.TP -\fB\-\-version\fR -Display version information and exit - -.SH SEE ALSO -.BR lilv(3), -.BR lv2info(1) - -.SH AUTHOR -lv2ls was written by David Robillard -.PP -This manual page was written by Jaromír Mikes -and David Robillard diff --git a/source/modules/lilv/lilv-0.16.0/doc/reference.doxygen.in b/source/modules/lilv/lilv-0.16.0/doc/reference.doxygen.in deleted file mode 100644 index 58f8c3ffb..000000000 --- a/source/modules/lilv/lilv-0.16.0/doc/reference.doxygen.in +++ /dev/null @@ -1,1792 +0,0 @@ -# Doxyfile 1.8.1.1 - -# This file describes the settings to be used by the documentation system -# doxygen (www.doxygen.org) for a project. -# -# All text after a hash (#) is considered a comment and will be ignored. -# The format is: -# TAG = value [value, ...] -# For lists items can also be appended using: -# TAG += value [value, ...] -# Values that contain spaces should be placed between quotes (" "). - -#--------------------------------------------------------------------------- -# Project related configuration options -#--------------------------------------------------------------------------- - -# This tag specifies the encoding used for all characters in the config file -# that follow. The default is UTF-8 which is also the encoding used for all -# text before the first occurrence of this tag. Doxygen uses libiconv (or the -# iconv built into libc) for the transcoding. See -# http://www.gnu.org/software/libiconv for the list of possible encodings. - -DOXYFILE_ENCODING = UTF-8 - -# The PROJECT_NAME tag is a single word (or sequence of words) that should -# identify the project. Note that if you do not use Doxywizard you need -# to put quotes around the project name if it contains spaces. - -PROJECT_NAME = Lilv - -# The PROJECT_NUMBER tag can be used to enter a project or revision number. -# This could be handy for archiving the generated documentation or -# if some version control system is used. - -PROJECT_NUMBER = @LILV_VERSION@ - -# Using the PROJECT_BRIEF tag one can provide an optional one line description -# for a project that appears at the top of each page and should give viewer -# a quick idea about the purpose of the project. Keep the description short. - -PROJECT_BRIEF = - -# With the PROJECT_LOGO tag one can specify an logo or icon that is -# included in the documentation. The maximum height of the logo should not -# exceed 55 pixels and the maximum width should not exceed 200 pixels. -# Doxygen will copy the logo to the output directory. - -PROJECT_LOGO = - -# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) -# base path where the generated documentation will be put. -# If a relative path is entered, it will be relative to the location -# where doxygen was started. If left blank the current directory will be used. - -OUTPUT_DIRECTORY = @LILV_DOC_DIR@ - -# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create -# 4096 sub-directories (in 2 levels) under the output directory of each output -# format and will distribute the generated files over these directories. -# Enabling this option can be useful when feeding doxygen a huge amount of -# source files, where putting all generated files in the same directory would -# otherwise cause performance problems for the file system. - -CREATE_SUBDIRS = NO - -# The OUTPUT_LANGUAGE tag is used to specify the language in which all -# documentation generated by doxygen is written. Doxygen will use this -# information to generate all constant output in the proper language. -# The default language is English, other supported languages are: -# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, -# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German, -# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English -# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, -# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrillic, Slovak, -# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese. - -OUTPUT_LANGUAGE = English - -# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will -# include brief member descriptions after the members that are listed in -# the file and class documentation (similar to JavaDoc). -# Set to NO to disable this. - -BRIEF_MEMBER_DESC = NO - -# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend -# the brief description of a member or function before the detailed description. -# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the -# brief descriptions will be completely suppressed. - -REPEAT_BRIEF = YES - -# This tag implements a quasi-intelligent brief description abbreviator -# that is used to form the text in various listings. Each string -# in this list, if found as the leading text of the brief description, will be -# stripped from the text and the result after processing the whole list, is -# used as the annotated text. Otherwise, the brief description is used as-is. -# If left blank, the following values are used ("$name" is automatically -# replaced with the name of the entity): "The $name class" "The $name widget" -# "The $name file" "is" "provides" "specifies" "contains" -# "represents" "a" "an" "the" - -ABBREVIATE_BRIEF = - -# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then -# Doxygen will generate a detailed section even if there is only a brief -# description. - -ALWAYS_DETAILED_SEC = NO - -# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all -# inherited members of a class in the documentation of that class as if those -# members were ordinary class members. Constructors, destructors and assignment -# operators of the base classes will not be shown. - -INLINE_INHERITED_MEMB = NO - -# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full -# path before files name in the file list and in the header files. If set -# to NO the shortest path that makes the file name unique will be used. - -FULL_PATH_NAMES = NO - -# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag -# can be used to strip a user-defined part of the path. Stripping is -# only done if one of the specified strings matches the left-hand part of -# the path. The tag can be used to show relative paths in the file list. -# If left blank the directory from which doxygen is run is used as the -# path to strip. - -STRIP_FROM_PATH = - -# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of -# the path mentioned in the documentation of a class, which tells -# the reader which header file to include in order to use a class. -# If left blank only the name of the header file containing the class -# definition is used. Otherwise one should specify the include paths that -# are normally passed to the compiler using the -I flag. - -STRIP_FROM_INC_PATH = - -# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter -# (but less readable) file names. This can be useful if your file system -# doesn't support long names like on DOS, Mac, or CD-ROM. - -SHORT_NAMES = NO - -# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen -# will interpret the first line (until the first dot) of a JavaDoc-style -# comment as the brief description. If set to NO, the JavaDoc -# comments will behave just like regular Qt-style comments -# (thus requiring an explicit @brief command for a brief description.) - -JAVADOC_AUTOBRIEF = YES - -# If the QT_AUTOBRIEF tag is set to YES then Doxygen will -# interpret the first line (until the first dot) of a Qt-style -# comment as the brief description. If set to NO, the comments -# will behave just like regular Qt-style comments (thus requiring -# an explicit \brief command for a brief description.) - -QT_AUTOBRIEF = NO - -# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen -# treat a multi-line C++ special comment block (i.e. a block of //! or /// -# comments) as a brief description. This used to be the default behaviour. -# The new default is to treat a multi-line C++ comment block as a detailed -# description. Set this tag to YES if you prefer the old behaviour instead. - -MULTILINE_CPP_IS_BRIEF = NO - -# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented -# member inherits the documentation from any documented member that it -# re-implements. - -INHERIT_DOCS = YES - -# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce -# a new page for each member. If set to NO, the documentation of a member will -# be part of the file/class/namespace that contains it. - -SEPARATE_MEMBER_PAGES = NO - -# The TAB_SIZE tag can be used to set the number of spaces in a tab. -# Doxygen uses this value to replace tabs by spaces in code fragments. - -TAB_SIZE = 4 - -# This tag can be used to specify a number of aliases that acts -# as commands in the documentation. An alias has the form "name=value". -# For example adding "sideeffect=\par Side Effects:\n" will allow you to -# put the command \sideeffect (or @sideeffect) in the documentation, which -# will result in a user-defined paragraph with heading "Side Effects:". -# You can put \n's in the value part of an alias to insert newlines. - -ALIASES = - -# This tag can be used to specify a number of word-keyword mappings (TCL only). -# A mapping has the form "name=value". For example adding -# "class=itcl::class" will allow you to use the command class in the -# itcl::class meaning. - -TCL_SUBST = - -# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C -# sources only. Doxygen will then generate output that is more tailored for C. -# For instance, some of the names that are used will be different. The list -# of all members will be omitted, etc. - -OPTIMIZE_OUTPUT_FOR_C = YES - -# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java -# sources only. Doxygen will then generate output that is more tailored for -# Java. For instance, namespaces will be presented as packages, qualified -# scopes will look different, etc. - -OPTIMIZE_OUTPUT_JAVA = NO - -# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran -# sources only. Doxygen will then generate output that is more tailored for -# Fortran. - -OPTIMIZE_FOR_FORTRAN = NO - -# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL -# sources. Doxygen will then generate output that is tailored for -# VHDL. - -OPTIMIZE_OUTPUT_VHDL = NO - -# Doxygen selects the parser to use depending on the extension of the files it -# parses. With this tag you can assign which parser to use for a given extension. -# Doxygen has a built-in mapping, but you can override or extend it using this -# tag. The format is ext=language, where ext is a file extension, and language -# is one of the parsers supported by doxygen: IDL, Java, Javascript, CSharp, C, -# C++, D, PHP, Objective-C, Python, Fortran, VHDL, C, C++. For instance to make -# doxygen treat .inc files as Fortran files (default is PHP), and .f files as C -# (default is Fortran), use: inc=Fortran f=C. Note that for custom extensions -# you also need to set FILE_PATTERNS otherwise the files are not read by doxygen. - -EXTENSION_MAPPING = - -# If MARKDOWN_SUPPORT is enabled (the default) then doxygen pre-processes all -# comments according to the Markdown format, which allows for more readable -# documentation. See http://daringfireball.net/projects/markdown/ for details. -# The output of markdown processing is further processed by doxygen, so you -# can mix doxygen, HTML, and XML commands with Markdown formatting. -# Disable only in case of backward compatibilities issues. - -MARKDOWN_SUPPORT = YES - -# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want -# to include (a tag file for) the STL sources as input, then you should -# set this tag to YES in order to let doxygen match functions declarations and -# definitions whose arguments contain STL classes (e.g. func(std::string); v.s. -# func(std::string) {}). This also makes the inheritance and collaboration -# diagrams that involve STL classes more complete and accurate. - -BUILTIN_STL_SUPPORT = NO - -# If you use Microsoft's C++/CLI language, you should set this option to YES to -# enable parsing support. - -CPP_CLI_SUPPORT = NO - -# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. -# Doxygen will parse them like normal C++ but will assume all classes use public -# instead of private inheritance when no explicit protection keyword is present. - -SIP_SUPPORT = NO - -# For Microsoft's IDL there are propget and propput attributes to indicate getter -# and setter methods for a property. Setting this option to YES (the default) -# will make doxygen replace the get and set methods by a property in the -# documentation. This will only work if the methods are indeed getting or -# setting a simple type. If this is not the case, or you want to show the -# methods anyway, you should set this option to NO. - -IDL_PROPERTY_SUPPORT = YES - -# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC -# tag is set to YES, then doxygen will reuse the documentation of the first -# member in the group (if any) for the other members of the group. By default -# all members of a group must be documented explicitly. - -DISTRIBUTE_GROUP_DOC = NO - -# Set the SUBGROUPING tag to YES (the default) to allow class member groups of -# the same type (for instance a group of public functions) to be put as a -# subgroup of that type (e.g. under the Public Functions section). Set it to -# NO to prevent subgrouping. Alternatively, this can be done per class using -# the \nosubgrouping command. - -SUBGROUPING = YES - -# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and -# unions are shown inside the group in which they are included (e.g. using -# @ingroup) instead of on a separate page (for HTML and Man pages) or -# section (for LaTeX and RTF). - -INLINE_GROUPED_CLASSES = YES - -# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and -# unions with only public data fields will be shown inline in the documentation -# of the scope in which they are defined (i.e. file, namespace, or group -# documentation), provided this scope is documented. If set to NO (the default), -# structs, classes, and unions are shown on a separate page (for HTML and Man -# pages) or section (for LaTeX and RTF). - -INLINE_SIMPLE_STRUCTS = YES - -# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum -# is documented as struct, union, or enum with the name of the typedef. So -# typedef struct TypeS {} TypeT, will appear in the documentation as a struct -# with name TypeT. When disabled the typedef will appear as a member of a file, -# namespace, or class. And the struct will be named TypeS. This can typically -# be useful for C code in case the coding convention dictates that all compound -# types are typedef'ed and only the typedef is referenced, never the tag name. - -TYPEDEF_HIDES_STRUCT = YES - -# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to -# determine which symbols to keep in memory and which to flush to disk. -# When the cache is full, less often used symbols will be written to disk. -# For small to medium size projects (<1000 input files) the default value is -# probably good enough. For larger projects a too small cache size can cause -# doxygen to be busy swapping symbols to and from disk most of the time -# causing a significant performance penalty. -# If the system has enough physical memory increasing the cache will improve the -# performance by keeping more symbols in memory. Note that the value works on -# a logarithmic scale so increasing the size by one will roughly double the -# memory usage. The cache size is given by this formula: -# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0, -# corresponding to a cache size of 2^16 = 65536 symbols. - -SYMBOL_CACHE_SIZE = 0 - -# Similar to the SYMBOL_CACHE_SIZE the size of the symbol lookup cache can be -# set using LOOKUP_CACHE_SIZE. This cache is used to resolve symbols given -# their name and scope. Since this can be an expensive process and often the -# same symbol appear multiple times in the code, doxygen keeps a cache of -# pre-resolved symbols. If the cache is too small doxygen will become slower. -# If the cache is too large, memory is wasted. The cache size is given by this -# formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range is 0..9, the default is 0, -# corresponding to a cache size of 2^16 = 65536 symbols. - -LOOKUP_CACHE_SIZE = 0 - -#--------------------------------------------------------------------------- -# Build related configuration options -#--------------------------------------------------------------------------- - -# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in -# documentation are documented, even if no documentation was available. -# Private class members and static file members will be hidden unless -# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES - -EXTRACT_ALL = YES - -# If the EXTRACT_PRIVATE tag is set to YES all private members of a class -# will be included in the documentation. - -EXTRACT_PRIVATE = NO - -# If the EXTRACT_PACKAGE tag is set to YES all members with package or internal scope will be included in the documentation. - -EXTRACT_PACKAGE = NO - -# If the EXTRACT_STATIC tag is set to YES all static members of a file -# will be included in the documentation. - -EXTRACT_STATIC = YES - -# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) -# defined locally in source files will be included in the documentation. -# If set to NO only classes defined in header files are included. - -EXTRACT_LOCAL_CLASSES = NO - -# This flag is only useful for Objective-C code. When set to YES local -# methods, which are defined in the implementation section but not in -# the interface are included in the documentation. -# If set to NO (the default) only methods in the interface are included. - -EXTRACT_LOCAL_METHODS = NO - -# If this flag is set to YES, the members of anonymous namespaces will be -# extracted and appear in the documentation as a namespace called -# 'anonymous_namespace{file}', where file will be replaced with the base -# name of the file that contains the anonymous namespace. By default -# anonymous namespaces are hidden. - -EXTRACT_ANON_NSPACES = NO - -# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all -# undocumented members of documented classes, files or namespaces. -# If set to NO (the default) these members will be included in the -# various overviews, but no documentation section is generated. -# This option has no effect if EXTRACT_ALL is enabled. - -HIDE_UNDOC_MEMBERS = YES - -# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all -# undocumented classes that are normally visible in the class hierarchy. -# If set to NO (the default) these classes will be included in the various -# overviews. This option has no effect if EXTRACT_ALL is enabled. - -HIDE_UNDOC_CLASSES = YES - -# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all -# friend (class|struct|union) declarations. -# If set to NO (the default) these declarations will be included in the -# documentation. - -HIDE_FRIEND_COMPOUNDS = NO - -# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any -# documentation blocks found inside the body of a function. -# If set to NO (the default) these blocks will be appended to the -# function's detailed documentation block. - -HIDE_IN_BODY_DOCS = YES - -# The INTERNAL_DOCS tag determines if documentation -# that is typed after a \internal command is included. If the tag is set -# to NO (the default) then the documentation will be excluded. -# Set it to YES to include the internal documentation. - -INTERNAL_DOCS = NO - -# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate -# file names in lower-case letters. If set to YES upper-case letters are also -# allowed. This is useful if you have classes or files whose names only differ -# in case and if your file system supports case sensitive file names. Windows -# and Mac users are advised to set this option to NO. - -CASE_SENSE_NAMES = YES - -# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen -# will show members with their full class and namespace scopes in the -# documentation. If set to YES the scope will be hidden. - -HIDE_SCOPE_NAMES = NO - -# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen -# will put a list of the files that are included by a file in the documentation -# of that file. - -SHOW_INCLUDE_FILES = YES - -# If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen -# will list include files with double quotes in the documentation -# rather than with sharp brackets. - -FORCE_LOCAL_INCLUDES = NO - -# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] -# is inserted in the documentation for inline members. - -INLINE_INFO = YES - -# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen -# will sort the (detailed) documentation of file and class members -# alphabetically by member name. If set to NO the members will appear in -# declaration order. - -SORT_MEMBER_DOCS = NO - -# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the -# brief documentation of file, namespace and class members alphabetically -# by member name. If set to NO (the default) the members will appear in -# declaration order. - -SORT_BRIEF_DOCS = NO - -# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen -# will sort the (brief and detailed) documentation of class members so that -# constructors and destructors are listed first. If set to NO (the default) -# the constructors will appear in the respective orders defined by -# SORT_MEMBER_DOCS and SORT_BRIEF_DOCS. -# This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO -# and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO. - -SORT_MEMBERS_CTORS_1ST = NO - -# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the -# hierarchy of group names into alphabetical order. If set to NO (the default) -# the group names will appear in their defined order. - -SORT_GROUP_NAMES = NO - -# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be -# sorted by fully-qualified names, including namespaces. If set to -# NO (the default), the class list will be sorted only by class name, -# not including the namespace part. -# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. -# Note: This option applies only to the class list, not to the -# alphabetical list. - -SORT_BY_SCOPE_NAME = YES - -# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to -# do proper type resolution of all parameters of a function it will reject a -# match between the prototype and the implementation of a member function even -# if there is only one candidate or it is obvious which candidate to choose -# by doing a simple string match. By disabling STRICT_PROTO_MATCHING doxygen -# will still accept a match between prototype and implementation in such cases. - -STRICT_PROTO_MATCHING = NO - -# The GENERATE_TODOLIST tag can be used to enable (YES) or -# disable (NO) the todo list. This list is created by putting \todo -# commands in the documentation. - -GENERATE_TODOLIST = NO - -# The GENERATE_TESTLIST tag can be used to enable (YES) or -# disable (NO) the test list. This list is created by putting \test -# commands in the documentation. - -GENERATE_TESTLIST = NO - -# The GENERATE_BUGLIST tag can be used to enable (YES) or -# disable (NO) the bug list. This list is created by putting \bug -# commands in the documentation. - -GENERATE_BUGLIST = NO - -# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or -# disable (NO) the deprecated list. This list is created by putting -# \deprecated commands in the documentation. - -GENERATE_DEPRECATEDLIST= YES - -# The ENABLED_SECTIONS tag can be used to enable conditional -# documentation sections, marked by \if sectionname ... \endif. - -ENABLED_SECTIONS = - -# The MAX_INITIALIZER_LINES tag determines the maximum number of lines -# the initial value of a variable or macro consists of for it to appear in -# the documentation. If the initializer consists of more lines than specified -# here it will be hidden. Use a value of 0 to hide initializers completely. -# The appearance of the initializer of individual variables and macros in the -# documentation can be controlled using \showinitializer or \hideinitializer -# command in the documentation regardless of this setting. - -MAX_INITIALIZER_LINES = 30 - -# Set the SHOW_USED_FILES tag to NO to disable the list of files generated -# at the bottom of the documentation of classes and structs. If set to YES the -# list will mention the files that were used to generate the documentation. - -SHOW_USED_FILES = YES - -# Set the SHOW_FILES tag to NO to disable the generation of the Files page. -# This will remove the Files entry from the Quick Index and from the -# Folder Tree View (if specified). The default is YES. - -SHOW_FILES = NO - -# Set the SHOW_NAMESPACES tag to NO to disable the generation of the -# Namespaces page. -# This will remove the Namespaces entry from the Quick Index -# and from the Folder Tree View (if specified). The default is YES. - -SHOW_NAMESPACES = NO - -# The FILE_VERSION_FILTER tag can be used to specify a program or script that -# doxygen should invoke to get the current version for each file (typically from -# the version control system). Doxygen will invoke the program by executing (via -# popen()) the command , where is the value of -# the FILE_VERSION_FILTER tag, and is the name of an input file -# provided by doxygen. Whatever the program writes to standard output -# is used as the file version. See the manual for examples. - -FILE_VERSION_FILTER = - -# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed -# by doxygen. The layout file controls the global structure of the generated -# output files in an output format independent way. To create the layout file -# that represents doxygen's defaults, run doxygen with the -l option. -# You can optionally specify a file name after the option, if omitted -# DoxygenLayout.xml will be used as the name of the layout file. - -LAYOUT_FILE = @LILV_SRCDIR@/doc/layout.xml - -# The CITE_BIB_FILES tag can be used to specify one or more bib files -# containing the references data. This must be a list of .bib files. The -# .bib extension is automatically appended if omitted. Using this command -# requires the bibtex tool to be installed. See also -# http://en.wikipedia.org/wiki/BibTeX for more info. For LaTeX the style -# of the bibliography can be controlled using LATEX_BIB_STYLE. To use this -# feature you need bibtex and perl available in the search path. - -CITE_BIB_FILES = - -#--------------------------------------------------------------------------- -# configuration options related to warning and progress messages -#--------------------------------------------------------------------------- - -# The QUIET tag can be used to turn on/off the messages that are generated -# by doxygen. Possible values are YES and NO. If left blank NO is used. - -QUIET = YES - -# The WARNINGS tag can be used to turn on/off the warning messages that are -# generated by doxygen. Possible values are YES and NO. If left blank -# NO is used. - -WARNINGS = YES - -# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings -# for undocumented members. If EXTRACT_ALL is set to YES then this flag will -# automatically be disabled. - -WARN_IF_UNDOCUMENTED = YES - -# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for -# potential errors in the documentation, such as not documenting some -# parameters in a documented function, or documenting parameters that -# don't exist or using markup commands wrongly. - -WARN_IF_DOC_ERROR = YES - -# The WARN_NO_PARAMDOC option can be enabled to get warnings for -# functions that are documented, but have no documentation for their parameters -# or return value. If set to NO (the default) doxygen will only warn about -# wrong or incomplete parameter documentation, but not about the absence of -# documentation. - -WARN_NO_PARAMDOC = YES - -# The WARN_FORMAT tag determines the format of the warning messages that -# doxygen can produce. The string should contain the $file, $line, and $text -# tags, which will be replaced by the file and line number from which the -# warning originated and the warning text. Optionally the format may contain -# $version, which will be replaced by the version of the file (if it could -# be obtained via FILE_VERSION_FILTER) - -WARN_FORMAT = "$file:$line: $text" - -# The WARN_LOGFILE tag can be used to specify a file to which warning -# and error messages should be written. If left blank the output is written -# to stderr. - -WARN_LOGFILE = - -#--------------------------------------------------------------------------- -# configuration options related to the input files -#--------------------------------------------------------------------------- - -# The INPUT tag can be used to specify the files and/or directories that contain -# documented source files. You may enter file names like "myfile.cpp" or -# directories like "/usr/src/myproject". Separate the files or directories -# with spaces. - -INPUT = @LILV_SRCDIR@/lilv/lilv.h - -# This tag can be used to specify the character encoding of the source files -# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is -# also the default input encoding. Doxygen uses libiconv (or the iconv built -# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for -# the list of possible encodings. - -INPUT_ENCODING = UTF-8 - -# If the value of the INPUT tag contains directories, you can use the -# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank the following patterns are tested: -# *.c *.cc *.cxx *.cpp *.c++ *.d *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh -# *.hxx *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.dox *.py -# *.f90 *.f *.for *.vhd *.vhdl - -FILE_PATTERNS = - -# The RECURSIVE tag can be used to turn specify whether or not subdirectories -# should be searched for input files as well. Possible values are YES and NO. -# If left blank NO is used. - -RECURSIVE = NO - -# The EXCLUDE tag can be used to specify files and/or directories that should be -# excluded from the INPUT source files. This way you can easily exclude a -# subdirectory from a directory tree whose root is specified with the INPUT tag. -# Note that relative paths are relative to the directory from which doxygen is -# run. - -EXCLUDE = - -# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or -# directories that are symbolic links (a Unix file system feature) are excluded -# from the input. - -EXCLUDE_SYMLINKS = NO - -# If the value of the INPUT tag contains directories, you can use the -# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude -# certain files from those directories. Note that the wildcards are matched -# against the file with absolute path, so to exclude all test directories -# for example use the pattern */test/* - -EXCLUDE_PATTERNS = - -# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names -# (namespaces, classes, functions, etc.) that should be excluded from the -# output. The symbol name can be a fully qualified name, a word, or if the -# wildcard * is used, a substring. Examples: ANamespace, AClass, -# AClass::ANamespace, ANamespace::*Test - -EXCLUDE_SYMBOLS = - -# The EXAMPLE_PATH tag can be used to specify one or more files or -# directories that contain example code fragments that are included (see -# the \include command). - -EXAMPLE_PATH = - -# If the value of the EXAMPLE_PATH tag contains directories, you can use the -# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank all files are included. - -EXAMPLE_PATTERNS = *.c - -# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be -# searched for input files to be used with the \include or \dontinclude -# commands irrespective of the value of the RECURSIVE tag. -# Possible values are YES and NO. If left blank NO is used. - -EXAMPLE_RECURSIVE = NO - -# The IMAGE_PATH tag can be used to specify one or more files or -# directories that contain image that are included in the documentation (see -# the \image command). - -IMAGE_PATH = - -# The INPUT_FILTER tag can be used to specify a program that doxygen should -# invoke to filter for each input file. Doxygen will invoke the filter program -# by executing (via popen()) the command , where -# is the value of the INPUT_FILTER tag, and is the name of an -# input file. Doxygen will then use the output that the filter program writes -# to standard output. -# If FILTER_PATTERNS is specified, this tag will be -# ignored. - -INPUT_FILTER = - -# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern -# basis. -# Doxygen will compare the file name with each pattern and apply the -# filter if there is a match. -# The filters are a list of the form: -# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further -# info on how filters are used. If FILTER_PATTERNS is empty or if -# non of the patterns match the file name, INPUT_FILTER is applied. - -FILTER_PATTERNS = - -# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using -# INPUT_FILTER) will be used to filter the input files when producing source -# files to browse (i.e. when SOURCE_BROWSER is set to YES). - -FILTER_SOURCE_FILES = NO - -# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file -# pattern. A pattern will override the setting for FILTER_PATTERN (if any) -# and it is also possible to disable source filtering for a specific pattern -# using *.ext= (so without naming a filter). This option only has effect when -# FILTER_SOURCE_FILES is enabled. - -FILTER_SOURCE_PATTERNS = - -#--------------------------------------------------------------------------- -# configuration options related to source browsing -#--------------------------------------------------------------------------- - -# If the SOURCE_BROWSER tag is set to YES then a list of source files will -# be generated. Documented entities will be cross-referenced with these sources. -# Note: To get rid of all source code in the generated output, make sure also -# VERBATIM_HEADERS is set to NO. - -SOURCE_BROWSER = NO - -# Setting the INLINE_SOURCES tag to YES will include the body -# of functions and classes directly in the documentation. - -INLINE_SOURCES = NO - -# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct -# doxygen to hide any special comment blocks from generated source code -# fragments. Normal C, C++ and Fortran comments will always remain visible. - -STRIP_CODE_COMMENTS = YES - -# If the REFERENCED_BY_RELATION tag is set to YES -# then for each documented function all documented -# functions referencing it will be listed. - -REFERENCED_BY_RELATION = YES - -# If the REFERENCES_RELATION tag is set to YES -# then for each documented function all documented entities -# called/used by that function will be listed. - -REFERENCES_RELATION = YES - -# If the REFERENCES_LINK_SOURCE tag is set to YES (the default) -# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from -# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will -# link to the source code. -# Otherwise they will link to the documentation. - -REFERENCES_LINK_SOURCE = YES - -# If the USE_HTAGS tag is set to YES then the references to source code -# will point to the HTML generated by the htags(1) tool instead of doxygen -# built-in source browser. The htags tool is part of GNU's global source -# tagging system (see http://www.gnu.org/software/global/global.html). You -# will need version 4.8.6 or higher. - -USE_HTAGS = NO - -# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen -# will generate a verbatim copy of the header file for each class for -# which an include is specified. Set to NO to disable this. - -VERBATIM_HEADERS = NO - -#--------------------------------------------------------------------------- -# configuration options related to the alphabetical class index -#--------------------------------------------------------------------------- - -# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index -# of all compounds will be generated. Enable this if the project -# contains a lot of classes, structs, unions or interfaces. - -ALPHABETICAL_INDEX = NO - -# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then -# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns -# in which this list will be split (can be a number in the range [1..20]) - -COLS_IN_ALPHA_INDEX = 5 - -# In case all classes in a project start with a common prefix, all -# classes will be put under the same header in the alphabetical index. -# The IGNORE_PREFIX tag can be used to specify one or more prefixes that -# should be ignored while generating the index headers. - -IGNORE_PREFIX = - -#--------------------------------------------------------------------------- -# configuration options related to the HTML output -#--------------------------------------------------------------------------- - -# If the GENERATE_HTML tag is set to YES (the default) Doxygen will -# generate HTML output. - -GENERATE_HTML = YES - -# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `html' will be used as the default path. - -HTML_OUTPUT = html - -# The HTML_FILE_EXTENSION tag can be used to specify the file extension for -# each generated HTML page (for example: .htm,.php,.asp). If it is left blank -# doxygen will generate files with .html extension. - -HTML_FILE_EXTENSION = .html - -# The HTML_HEADER tag can be used to specify a personal HTML header for -# each generated HTML page. If it is left blank doxygen will generate a -# standard header. Note that when using a custom header you are responsible -# for the proper inclusion of any scripts and style sheets that doxygen -# needs, which is dependent on the configuration options used. -# It is advised to generate a default header using "doxygen -w html -# header.html footer.html stylesheet.css YourConfigFile" and then modify -# that header. Note that the header is subject to change so you typically -# have to redo this when upgrading to a newer version of doxygen or when -# changing the value of configuration settings such as GENERATE_TREEVIEW! - -HTML_HEADER = - -# The HTML_FOOTER tag can be used to specify a personal HTML footer for -# each generated HTML page. If it is left blank doxygen will generate a -# standard footer. - -HTML_FOOTER = - -# The HTML_STYLESHEET tag can be used to specify a user-defined cascading -# style sheet that is used by each HTML page. It can be used to -# fine-tune the look of the HTML output. If the tag is left blank doxygen -# will generate a default style sheet. Note that doxygen will try to copy -# the style sheet file to the HTML output directory, so don't put your own -# style sheet in the HTML output directory as well, or it will be erased! - -HTML_STYLESHEET = @LILV_SRCDIR@/doc/style.css - -# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or -# other source files which should be copied to the HTML output directory. Note -# that these files will be copied to the base HTML output directory. Use the -# $relpath$ marker in the HTML_HEADER and/or HTML_FOOTER files to load these -# files. In the HTML_STYLESHEET file, use the file name only. Also note that -# the files will be copied as-is; there are no commands or markers available. - -HTML_EXTRA_FILES = - -# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. -# Doxygen will adjust the colors in the style sheet and background images -# according to this color. Hue is specified as an angle on a colorwheel, -# see http://en.wikipedia.org/wiki/Hue for more information. -# For instance the value 0 represents red, 60 is yellow, 120 is green, -# 180 is cyan, 240 is blue, 300 purple, and 360 is red again. -# The allowed range is 0 to 359. - -HTML_COLORSTYLE_HUE = 160 - -# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of -# the colors in the HTML output. For a value of 0 the output will use -# grayscales only. A value of 255 will produce the most vivid colors. - -HTML_COLORSTYLE_SAT = 100 - -# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to -# the luminance component of the colors in the HTML output. Values below -# 100 gradually make the output lighter, whereas values above 100 make -# the output darker. The value divided by 100 is the actual gamma applied, -# so 80 represents a gamma of 0.8, The value 220 represents a gamma of 2.2, -# and 100 does not change the gamma. - -HTML_COLORSTYLE_GAMMA = 80 - -# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML -# page will contain the date and time when the page was generated. Setting -# this to NO can help when comparing the output of multiple runs. - -HTML_TIMESTAMP = NO - -# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML -# documentation will contain sections that can be hidden and shown after the -# page has loaded. - -HTML_DYNAMIC_SECTIONS = NO - -# With HTML_INDEX_NUM_ENTRIES one can control the preferred number of -# entries shown in the various tree structured indices initially; the user -# can expand and collapse entries dynamically later on. Doxygen will expand -# the tree to such a level that at most the specified number of entries are -# visible (unless a fully collapsed tree already exceeds this amount). -# So setting the number of entries 1 will produce a full collapsed tree by -# default. 0 is a special value representing an infinite number of entries -# and will result in a full expanded tree by default. - -HTML_INDEX_NUM_ENTRIES = 100 - -# If the GENERATE_DOCSET tag is set to YES, additional index files -# will be generated that can be used as input for Apple's Xcode 3 -# integrated development environment, introduced with OSX 10.5 (Leopard). -# To create a documentation set, doxygen will generate a Makefile in the -# HTML output directory. Running make will produce the docset in that -# directory and running "make install" will install the docset in -# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find -# it at startup. -# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html -# for more information. - -GENERATE_DOCSET = NO - -# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the -# feed. A documentation feed provides an umbrella under which multiple -# documentation sets from a single provider (such as a company or product suite) -# can be grouped. - -DOCSET_FEEDNAME = "Doxygen generated docs" - -# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that -# should uniquely identify the documentation set bundle. This should be a -# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen -# will append .docset to the name. - -DOCSET_BUNDLE_ID = org.doxygen.Project - -# When GENERATE_PUBLISHER_ID tag specifies a string that should uniquely identify -# the documentation publisher. This should be a reverse domain-name style -# string, e.g. com.mycompany.MyDocSet.documentation. - -DOCSET_PUBLISHER_ID = org.doxygen.Publisher - -# The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher. - -DOCSET_PUBLISHER_NAME = Publisher - -# If the GENERATE_HTMLHELP tag is set to YES, additional index files -# will be generated that can be used as input for tools like the -# Microsoft HTML help workshop to generate a compiled HTML help file (.chm) -# of the generated HTML documentation. - -GENERATE_HTMLHELP = NO - -# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can -# be used to specify the file name of the resulting .chm file. You -# can add a path in front of the file if the result should not be -# written to the html output directory. - -CHM_FILE = - -# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can -# be used to specify the location (absolute path including file name) of -# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run -# the HTML help compiler on the generated index.hhp. - -HHC_LOCATION = - -# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag -# controls if a separate .chi index file is generated (YES) or that -# it should be included in the master .chm file (NO). - -GENERATE_CHI = NO - -# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING -# is used to encode HtmlHelp index (hhk), content (hhc) and project file -# content. - -CHM_INDEX_ENCODING = - -# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag -# controls whether a binary table of contents is generated (YES) or a -# normal table of contents (NO) in the .chm file. - -BINARY_TOC = NO - -# The TOC_EXPAND flag can be set to YES to add extra items for group members -# to the contents of the HTML help documentation and to the tree view. - -TOC_EXPAND = NO - -# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and -# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated -# that can be used as input for Qt's qhelpgenerator to generate a -# Qt Compressed Help (.qch) of the generated HTML documentation. - -GENERATE_QHP = NO - -# If the QHG_LOCATION tag is specified, the QCH_FILE tag can -# be used to specify the file name of the resulting .qch file. -# The path specified is relative to the HTML output folder. - -QCH_FILE = - -# The QHP_NAMESPACE tag specifies the namespace to use when generating -# Qt Help Project output. For more information please see -# http://doc.trolltech.com/qthelpproject.html#namespace - -QHP_NAMESPACE = - -# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating -# Qt Help Project output. For more information please see -# http://doc.trolltech.com/qthelpproject.html#virtual-folders - -QHP_VIRTUAL_FOLDER = doc - -# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to -# add. For more information please see -# http://doc.trolltech.com/qthelpproject.html#custom-filters - -QHP_CUST_FILTER_NAME = - -# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the -# custom filter to add. For more information please see -# -# Qt Help Project / Custom Filters. - -QHP_CUST_FILTER_ATTRS = - -# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this -# project's -# filter section matches. -# -# Qt Help Project / Filter Attributes. - -QHP_SECT_FILTER_ATTRS = - -# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can -# be used to specify the location of Qt's qhelpgenerator. -# If non-empty doxygen will try to run qhelpgenerator on the generated -# .qhp file. - -QHG_LOCATION = - -# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files -# will be generated, which together with the HTML files, form an Eclipse help -# plugin. To install this plugin and make it available under the help contents -# menu in Eclipse, the contents of the directory containing the HTML and XML -# files needs to be copied into the plugins directory of eclipse. The name of -# the directory within the plugins directory should be the same as -# the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before -# the help appears. - -GENERATE_ECLIPSEHELP = NO - -# A unique identifier for the eclipse help plugin. When installing the plugin -# the directory name containing the HTML and XML files should also have -# this name. - -ECLIPSE_DOC_ID = org.doxygen.Project - -# The DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs) -# at top of each HTML page. The value NO (the default) enables the index and -# the value YES disables it. Since the tabs have the same information as the -# navigation tree you can set this option to NO if you already set -# GENERATE_TREEVIEW to YES. - -DISABLE_INDEX = YES - -# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index -# structure should be generated to display hierarchical information. -# If the tag value is set to YES, a side panel will be generated -# containing a tree-like index structure (just like the one that -# is generated for HTML Help). For this to work a browser that supports -# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser). -# Windows users are probably better off using the HTML help feature. -# Since the tree basically has the same information as the tab index you -# could consider to set DISABLE_INDEX to NO when enabling this option. - -GENERATE_TREEVIEW = NO - -# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values -# (range [0,1..20]) that doxygen will group on one line in the generated HTML -# documentation. Note that a value of 0 will completely suppress the enum -# values from appearing in the overview section. - -ENUM_VALUES_PER_LINE = 4 - -# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be -# used to set the initial width (in pixels) of the frame in which the tree -# is shown. - -TREEVIEW_WIDTH = 250 - -# When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open -# links to external symbols imported via tag files in a separate window. - -EXT_LINKS_IN_WINDOW = NO - -# Use this tag to change the font size of Latex formulas included -# as images in the HTML documentation. The default is 10. Note that -# when you change the font size after a successful doxygen run you need -# to manually remove any form_*.png images from the HTML output directory -# to force them to be regenerated. - -FORMULA_FONTSIZE = 10 - -# Use the FORMULA_TRANPARENT tag to determine whether or not the images -# generated for formulas are transparent PNGs. Transparent PNGs are -# not supported properly for IE 6.0, but are supported on all modern browsers. -# Note that when changing this option you need to delete any form_*.png files -# in the HTML output before the changes have effect. - -FORMULA_TRANSPARENT = YES - -# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax -# (see http://www.mathjax.org) which uses client side Javascript for the -# rendering instead of using prerendered bitmaps. Use this if you do not -# have LaTeX installed or if you want to formulas look prettier in the HTML -# output. When enabled you may also need to install MathJax separately and -# configure the path to it using the MATHJAX_RELPATH option. - -USE_MATHJAX = NO - -# When MathJax is enabled you need to specify the location relative to the -# HTML output directory using the MATHJAX_RELPATH option. The destination -# directory should contain the MathJax.js script. For instance, if the mathjax -# directory is located at the same level as the HTML output directory, then -# MATHJAX_RELPATH should be ../mathjax. The default value points to -# the MathJax Content Delivery Network so you can quickly see the result without -# installing MathJax. -# However, it is strongly recommended to install a local -# copy of MathJax from http://www.mathjax.org before deployment. - -MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest - -# The MATHJAX_EXTENSIONS tag can be used to specify one or MathJax extension -# names that should be enabled during MathJax rendering. - -MATHJAX_EXTENSIONS = - -# When the SEARCHENGINE tag is enabled doxygen will generate a search box -# for the HTML output. The underlying search engine uses javascript -# and DHTML and should work on any modern browser. Note that when using -# HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets -# (GENERATE_DOCSET) there is already a search function so this one should -# typically be disabled. For large projects the javascript based search engine -# can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution. - -SEARCHENGINE = NO - -# When the SERVER_BASED_SEARCH tag is enabled the search engine will be -# implemented using a PHP enabled web server instead of at the web client -# using Javascript. Doxygen will generate the search PHP script and index -# file to put on the web server. The advantage of the server -# based approach is that it scales better to large projects and allows -# full text search. The disadvantages are that it is more difficult to setup -# and does not have live searching capabilities. - -SERVER_BASED_SEARCH = NO - -#--------------------------------------------------------------------------- -# configuration options related to the LaTeX output -#--------------------------------------------------------------------------- - -# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will -# generate Latex output. - -GENERATE_LATEX = NO - -# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `latex' will be used as the default path. - -LATEX_OUTPUT = latex - -# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be -# invoked. If left blank `latex' will be used as the default command name. -# Note that when enabling USE_PDFLATEX this option is only used for -# generating bitmaps for formulas in the HTML output, but not in the -# Makefile that is written to the output directory. - -LATEX_CMD_NAME = latex - -# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to -# generate index for LaTeX. If left blank `makeindex' will be used as the -# default command name. - -MAKEINDEX_CMD_NAME = makeindex - -# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact -# LaTeX documents. This may be useful for small projects and may help to -# save some trees in general. - -COMPACT_LATEX = NO - -# The PAPER_TYPE tag can be used to set the paper type that is used -# by the printer. Possible values are: a4, letter, legal and -# executive. If left blank a4wide will be used. - -PAPER_TYPE = a4wide - -# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX -# packages that should be included in the LaTeX output. - -EXTRA_PACKAGES = - -# The LATEX_HEADER tag can be used to specify a personal LaTeX header for -# the generated latex document. The header should contain everything until -# the first chapter. If it is left blank doxygen will generate a -# standard header. Notice: only use this tag if you know what you are doing! - -LATEX_HEADER = - -# The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for -# the generated latex document. The footer should contain everything after -# the last chapter. If it is left blank doxygen will generate a -# standard footer. Notice: only use this tag if you know what you are doing! - -LATEX_FOOTER = - -# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated -# is prepared for conversion to pdf (using ps2pdf). The pdf file will -# contain links (just like the HTML output) instead of page references -# This makes the output suitable for online browsing using a pdf viewer. - -PDF_HYPERLINKS = NO - -# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of -# plain latex in the generated Makefile. Set this option to YES to get a -# higher quality PDF documentation. - -USE_PDFLATEX = NO - -# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. -# command to the generated LaTeX files. This will instruct LaTeX to keep -# running if errors occur, instead of asking the user for help. -# This option is also used when generating formulas in HTML. - -LATEX_BATCHMODE = NO - -# If LATEX_HIDE_INDICES is set to YES then doxygen will not -# include the index chapters (such as File Index, Compound Index, etc.) -# in the output. - -LATEX_HIDE_INDICES = NO - -# If LATEX_SOURCE_CODE is set to YES then doxygen will include -# source code with syntax highlighting in the LaTeX output. -# Note that which sources are shown also depends on other settings -# such as SOURCE_BROWSER. - -LATEX_SOURCE_CODE = NO - -# The LATEX_BIB_STYLE tag can be used to specify the style to use for the -# bibliography, e.g. plainnat, or ieeetr. The default style is "plain". See -# http://en.wikipedia.org/wiki/BibTeX for more info. - -LATEX_BIB_STYLE = plain - -#--------------------------------------------------------------------------- -# configuration options related to the RTF output -#--------------------------------------------------------------------------- - -# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output -# The RTF output is optimized for Word 97 and may not look very pretty with -# other RTF readers or editors. - -GENERATE_RTF = NO - -# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `rtf' will be used as the default path. - -RTF_OUTPUT = rtf - -# If the COMPACT_RTF tag is set to YES Doxygen generates more compact -# RTF documents. This may be useful for small projects and may help to -# save some trees in general. - -COMPACT_RTF = NO - -# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated -# will contain hyperlink fields. The RTF file will -# contain links (just like the HTML output) instead of page references. -# This makes the output suitable for online browsing using WORD or other -# programs which support those fields. -# Note: wordpad (write) and others do not support links. - -RTF_HYPERLINKS = NO - -# Load style sheet definitions from file. Syntax is similar to doxygen's -# config file, i.e. a series of assignments. You only have to provide -# replacements, missing definitions are set to their default value. - -RTF_STYLESHEET_FILE = - -# Set optional variables used in the generation of an rtf document. -# Syntax is similar to doxygen's config file. - -RTF_EXTENSIONS_FILE = - -#--------------------------------------------------------------------------- -# configuration options related to the man page output -#--------------------------------------------------------------------------- - -# If the GENERATE_MAN tag is set to YES (the default) Doxygen will -# generate man pages - -GENERATE_MAN = YES - -# The MAN_OUTPUT tag is used to specify where the man pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `man' will be used as the default path. - -MAN_OUTPUT = man - -# The MAN_EXTENSION tag determines the extension that is added to -# the generated man pages (default is the subroutine's section .3) - -MAN_EXTENSION = .3 - -# If the MAN_LINKS tag is set to YES and Doxygen generates man output, -# then it will generate one additional man file for each entity -# documented in the real man page(s). These additional files -# only source the real man page, but without them the man command -# would be unable to find the correct page. The default is NO. - -MAN_LINKS = NO - -#--------------------------------------------------------------------------- -# configuration options related to the XML output -#--------------------------------------------------------------------------- - -# If the GENERATE_XML tag is set to YES Doxygen will -# generate an XML file that captures the structure of -# the code including all documentation. - -GENERATE_XML = NO - -# The XML_OUTPUT tag is used to specify where the XML pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `xml' will be used as the default path. - -XML_OUTPUT = xml - -# The XML_SCHEMA tag can be used to specify an XML schema, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_SCHEMA = - -# The XML_DTD tag can be used to specify an XML DTD, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_DTD = - -# If the XML_PROGRAMLISTING tag is set to YES Doxygen will -# dump the program listings (including syntax highlighting -# and cross-referencing information) to the XML output. Note that -# enabling this will significantly increase the size of the XML output. - -XML_PROGRAMLISTING = YES - -#--------------------------------------------------------------------------- -# configuration options for the AutoGen Definitions output -#--------------------------------------------------------------------------- - -# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will -# generate an AutoGen Definitions (see autogen.sf.net) file -# that captures the structure of the code including all -# documentation. Note that this feature is still experimental -# and incomplete at the moment. - -GENERATE_AUTOGEN_DEF = NO - -#--------------------------------------------------------------------------- -# configuration options related to the Perl module output -#--------------------------------------------------------------------------- - -# If the GENERATE_PERLMOD tag is set to YES Doxygen will -# generate a Perl module file that captures the structure of -# the code including all documentation. Note that this -# feature is still experimental and incomplete at the -# moment. - -GENERATE_PERLMOD = NO - -# If the PERLMOD_LATEX tag is set to YES Doxygen will generate -# the necessary Makefile rules, Perl scripts and LaTeX code to be able -# to generate PDF and DVI output from the Perl module output. - -PERLMOD_LATEX = NO - -# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be -# nicely formatted so it can be parsed by a human reader. -# This is useful -# if you want to understand what is going on. -# On the other hand, if this -# tag is set to NO the size of the Perl module output will be much smaller -# and Perl will parse it just the same. - -PERLMOD_PRETTY = YES - -# The names of the make variables in the generated doxyrules.make file -# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. -# This is useful so different doxyrules.make files included by the same -# Makefile don't overwrite each other's variables. - -PERLMOD_MAKEVAR_PREFIX = - -#--------------------------------------------------------------------------- -# Configuration options related to the preprocessor -#--------------------------------------------------------------------------- - -# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will -# evaluate all C-preprocessor directives found in the sources and include -# files. - -ENABLE_PREPROCESSING = YES - -# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro -# names in the source code. If set to NO (the default) only conditional -# compilation will be performed. Macro expansion can be done in a controlled -# way by setting EXPAND_ONLY_PREDEF to YES. - -MACRO_EXPANSION = NO - -# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES -# then the macro expansion is limited to the macros specified with the -# PREDEFINED and EXPAND_AS_DEFINED tags. - -EXPAND_ONLY_PREDEF = NO - -# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files -# pointed to by INCLUDE_PATH will be searched when a #include is found. - -SEARCH_INCLUDES = YES - -# The INCLUDE_PATH tag can be used to specify one or more directories that -# contain include files that are not input files but should be processed by -# the preprocessor. - -INCLUDE_PATH = - -# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard -# patterns (like *.h and *.hpp) to filter out the header-files in the -# directories. If left blank, the patterns specified with FILE_PATTERNS will -# be used. - -INCLUDE_FILE_PATTERNS = - -# The PREDEFINED tag can be used to specify one or more macro names that -# are defined before the preprocessor is started (similar to the -D option of -# gcc). The argument of the tag is a list of macros of the form: name -# or name=definition (no spaces). If the definition and the = are -# omitted =1 is assumed. To prevent a macro definition from being -# undefined via #undef or recursively expanded use the := operator -# instead of the = operator. - -PREDEFINED = - -# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then -# this tag can be used to specify a list of macro names that should be expanded. -# The macro definition that is found in the sources will be used. -# Use the PREDEFINED tag if you want to use a different macro definition that -# overrules the definition found in the source code. - -EXPAND_AS_DEFINED = - -# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then -# doxygen's preprocessor will remove all references to function-like macros -# that are alone on a line, have an all uppercase name, and do not end with a -# semicolon, because these will confuse the parser if not removed. - -SKIP_FUNCTION_MACROS = YES - -#--------------------------------------------------------------------------- -# Configuration::additions related to external references -#--------------------------------------------------------------------------- - -# The TAGFILES option can be used to specify one or more tagfiles. For each -# tag file the location of the external documentation should be added. The -# format of a tag file without this location is as follows: -# -# TAGFILES = file1 file2 ... -# Adding location for the tag files is done as follows: -# -# TAGFILES = file1=loc1 "file2 = loc2" ... -# where "loc1" and "loc2" can be relative or absolute paths -# or URLs. Note that each tag file must have a unique name (where the name does -# NOT include the path). If a tag file is not located in the directory in which -# doxygen is run, you must also specify the path to the tagfile here. - -TAGFILES = - -# When a file name is specified after GENERATE_TAGFILE, doxygen will create -# a tag file that is based on the input files it reads. - -GENERATE_TAGFILE = - -# If the ALLEXTERNALS tag is set to YES all external classes will be listed -# in the class index. If set to NO only the inherited external classes -# will be listed. - -ALLEXTERNALS = NO - -# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed -# in the modules index. If set to NO, only the current project's groups will -# be listed. - -EXTERNAL_GROUPS = YES - -# The PERL_PATH should be the absolute path and name of the perl script -# interpreter (i.e. the result of `which perl'). - -PERL_PATH = /usr/bin/perl - -#--------------------------------------------------------------------------- -# Configuration options related to the dot tool -#--------------------------------------------------------------------------- - -# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will -# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base -# or super classes. Setting the tag to NO turns the diagrams off. Note that -# this option also works with HAVE_DOT disabled, but it is recommended to -# install and use dot, since it yields more powerful graphs. - -CLASS_DIAGRAMS = NO - -# You can define message sequence charts within doxygen comments using the \msc -# command. Doxygen will then run the mscgen tool (see -# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the -# documentation. The MSCGEN_PATH tag allows you to specify the directory where -# the mscgen tool resides. If left empty the tool is assumed to be found in the -# default search path. - -MSCGEN_PATH = - -# If set to YES, the inheritance and collaboration graphs will hide -# inheritance and usage relations if the target is undocumented -# or is not a class. - -HIDE_UNDOC_RELATIONS = YES - -# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is -# available from the path. This tool is part of Graphviz, a graph visualization -# toolkit from AT&T and Lucent Bell Labs. The other options in this section -# have no effect if this option is set to NO (the default) - -HAVE_DOT = NO - -# The DOT_NUM_THREADS specifies the number of dot invocations doxygen is -# allowed to run in parallel. When set to 0 (the default) doxygen will -# base this on the number of processors available in the system. You can set it -# explicitly to a value larger than 0 to get control over the balance -# between CPU load and processing speed. - -DOT_NUM_THREADS = 0 - -# By default doxygen will use the Helvetica font for all dot files that -# doxygen generates. When you want a differently looking font you can specify -# the font name using DOT_FONTNAME. You need to make sure dot is able to find -# the font, which can be done by putting it in a standard location or by setting -# the DOTFONTPATH environment variable or by setting DOT_FONTPATH to the -# directory containing the font. - -DOT_FONTNAME = FreeSans - -# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs. -# The default size is 10pt. - -DOT_FONTSIZE = 10 - -# By default doxygen will tell dot to use the Helvetica font. -# If you specify a different font using DOT_FONTNAME you can use DOT_FONTPATH to -# set the path where dot can find it. - -DOT_FONTPATH = - -# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect inheritance relations. Setting this tag to YES will force the -# CLASS_DIAGRAMS tag to NO. - -CLASS_GRAPH = NO - -# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect implementation dependencies (inheritance, containment, and -# class references variables) of the class with other documented classes. - -COLLABORATION_GRAPH = NO - -# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for groups, showing the direct groups dependencies - -GROUP_GRAPHS = YES - -# If the UML_LOOK tag is set to YES doxygen will generate inheritance and -# collaboration diagrams in a style similar to the OMG's Unified Modeling -# Language. - -UML_LOOK = NO - -# If the UML_LOOK tag is enabled, the fields and methods are shown inside -# the class node. If there are many fields or methods and many nodes the -# graph may become too big to be useful. The UML_LIMIT_NUM_FIELDS -# threshold limits the number of items for each type to make the size more -# managable. Set this to 0 for no limit. Note that the threshold may be -# exceeded by 50% before the limit is enforced. - -UML_LIMIT_NUM_FIELDS = 10 - -# If set to YES, the inheritance and collaboration graphs will show the -# relations between templates and their instances. - -TEMPLATE_RELATIONS = NO - -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT -# tags are set to YES then doxygen will generate a graph for each documented -# file showing the direct and indirect include dependencies of the file with -# other documented files. - -INCLUDE_GRAPH = NO - -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and -# HAVE_DOT tags are set to YES then doxygen will generate a graph for each -# documented header file showing the documented files that directly or -# indirectly include this file. - -INCLUDED_BY_GRAPH = NO - -# If the CALL_GRAPH and HAVE_DOT options are set to YES then -# doxygen will generate a call dependency graph for every global function -# or class method. Note that enabling this option will significantly increase -# the time of a run. So in most cases it will be better to enable call graphs -# for selected functions only using the \callgraph command. - -CALL_GRAPH = NO - -# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then -# doxygen will generate a caller dependency graph for every global function -# or class method. Note that enabling this option will significantly increase -# the time of a run. So in most cases it will be better to enable caller -# graphs for selected functions only using the \callergraph command. - -CALLER_GRAPH = NO - -# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen -# will generate a graphical hierarchy of all classes instead of a textual one. - -GRAPHICAL_HIERARCHY = NO - -# If the DIRECTORY_GRAPH and HAVE_DOT tags are set to YES -# then doxygen will show the dependencies a directory has on other directories -# in a graphical way. The dependency relations are determined by the #include -# relations between the files in the directories. - -DIRECTORY_GRAPH = NO - -# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images -# generated by dot. Possible values are svg, png, jpg, or gif. -# If left blank png will be used. If you choose svg you need to set -# HTML_FILE_EXTENSION to xhtml in order to make the SVG files -# visible in IE 9+ (other browsers do not have this requirement). - -DOT_IMAGE_FORMAT = png - -# If DOT_IMAGE_FORMAT is set to svg, then this option can be set to YES to -# enable generation of interactive SVG images that allow zooming and panning. -# Note that this requires a modern browser other than Internet Explorer. -# Tested and working are Firefox, Chrome, Safari, and Opera. For IE 9+ you -# need to set HTML_FILE_EXTENSION to xhtml in order to make the SVG files -# visible. Older versions of IE do not have SVG support. - -INTERACTIVE_SVG = NO - -# The tag DOT_PATH can be used to specify the path where the dot tool can be -# found. If left blank, it is assumed the dot tool can be found in the path. - -DOT_PATH = - -# The DOTFILE_DIRS tag can be used to specify one or more directories that -# contain dot files that are included in the documentation (see the -# \dotfile command). - -DOTFILE_DIRS = - -# The MSCFILE_DIRS tag can be used to specify one or more directories that -# contain msc files that are included in the documentation (see the -# \mscfile command). - -MSCFILE_DIRS = - -# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of -# nodes that will be shown in the graph. If the number of nodes in a graph -# becomes larger than this value, doxygen will truncate the graph, which is -# visualized by representing a node as a red box. Note that doxygen if the -# number of direct children of the root node in a graph is already larger than -# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note -# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH. - -DOT_GRAPH_MAX_NODES = 50 - -# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the -# graphs generated by dot. A depth value of 3 means that only nodes reachable -# from the root by following a path via at most 3 edges will be shown. Nodes -# that lay further from the root node will be omitted. Note that setting this -# option to 1 or 2 may greatly reduce the computation time needed for large -# code bases. Also note that the size of a graph can be further restricted by -# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction. - -MAX_DOT_GRAPH_DEPTH = 0 - -# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent -# background. This is disabled by default, because dot on Windows does not -# seem to support this out of the box. Warning: Depending on the platform used, -# enabling this option may lead to badly anti-aliased labels on the edges of -# a graph (i.e. they become hard to read). - -DOT_TRANSPARENT = NO - -# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output -# files in one run (i.e. multiple -o and -T options on the command line). This -# makes dot run faster, but since only newer versions of dot (>1.8.10) -# support this, this feature is disabled by default. - -DOT_MULTI_TARGETS = NO - -# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will -# generate a legend page explaining the meaning of the various boxes and -# arrows in the dot generated graphs. - -GENERATE_LEGEND = NO - -# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will -# remove the intermediate dot files that are used to generate -# the various graphs. - -DOT_CLEANUP = YES diff --git a/source/modules/lilv/lilv-0.16.0/doc/style.css b/source/modules/lilv/lilv-0.16.0/doc/style.css deleted file mode 100644 index 4c62b46a8..000000000 --- a/source/modules/lilv/lilv-0.16.0/doc/style.css +++ /dev/null @@ -1,563 +0,0 @@ -body { - font-size: medium; - font-family: sans-serif; -} - -#top { - background-color: #F3F3F3; - margin: 0; - padding: 0; - border-bottom: 1px solid #DDD; - margin-bottom: 1ex; - font-size: xx-large; - font-weight: bold; -} - -div.header { - display: none; -} - -.tabs { - display: none; -} - -h1 h2 h3 h4 h5 h6 { - font-weight: bold; -} - -h1 { - font-size: 164%; -} - -h2 { - font-size: 132%; -} - -h3 { - font-size: 124%; -} - -h4 { - font-size: 116%; -} - -h5 { - font-size: 108%; -} - -h6 { - font-size: 100%; -} - -p { - margin: 0 0 1ex 0; -} - -br { - display: none; -} - -dt { - font-weight: 700; -} - -div.multicol { -} - -p.startli,p.startdd,p.starttd { - margin-top: 2px; -} - -p.endli { - margin-bottom: 0; -} - -p.enddd { - margin-bottom: 4px; -} - -p.endtd { - margin-bottom: 2px; -} - -caption { - font-weight: 700; -} - -span.legend { - font-size: 70%; - text-align: center; -} - -h3.version { - font-size: 90%; - text-align: center; -} - -div.qindex,div.navtab { - background-color: #EBEFF6; - border: 1px solid #A3B4D7; - text-align: center; - margin: 2px; - padding: 2px; -} - -div.qindex,div.navpath { - width: 100%; - line-height: 140%; -} - -div.navtab { - margin-right: 15px; -} - -/* @group Link Styling */ -a { - color: #3D8C57; - text-decoration: none; -} - -.contents a:visited { - color: #50755E; -} - -a:hover { - text-decoration: underline; -} - -a.qindexHL { - background-color: #9CAFD4; - color: #FFF; - border: 1px double #869DCA; -} - -a.code { - color: #4665A2; -} - -a.codeRef { - color: #4665A2; -} - -/* @end */ -dl.el { - margin-left: -1cm; -} - -.fragment { - font-family: monospace, fixed; - font-size: 105%; -} - -pre.fragment { - border: 1px solid #C4C4C4; - background-color: #F9F9F9; - padding: 4px 6px; - margin: 4px 8px 4px 2px; - overflow: auto; - font-size: 9pt; - line-height: 125%; -} - -div.ah { - background-color: #000; - font-weight: 700; - color: #FFF; - margin-bottom: 3px; - margin-top: 3px; - padding: .2em; - border: thin solid #333; -} - -div.groupHeader { - margin-left: 16px; - margin-top: 12px; - margin-bottom: 6px; - font-weight: 700; -} - -div.groupText { - margin-left: 16px; - font-style: italic; -} - -body { - background: #FFF; - color: #000; - margin: 0; -} - -div.contents { - margin-top: 10px; - margin-left: 10px; - margin-right: 10px; -} - -td.indexkey { - background-color: #EBEFF6; - font-weight: 700; - border: 1px solid #C4CFE5; - margin: 2px 0; - padding: 2px 10px; -} - -td.indexvalue { - background-color: #EBEFF6; - border: 1px solid #C4CFE5; - padding: 2px 10px; - margin: 2px 0; -} - -tr.memlist { - background-color: #EEF1F7; -} - -p.formulaDsp { - text-align: center; -} - -img.formulaDsp { -} - -img.formulaInl { - vertical-align: middle; -} - -div.center { - text-align: center; - margin-top: 0; - margin-bottom: 0; - padding: 0; -} - -div.center img { - border: 0; -} - -address.footer { - text-align: right; - padding: 0 0.25em 0.25em 0; -} - -img.footer { - border: 0; - vertical-align: middle; -} - -/* @group Code Colorization */ -span.keyword { - color: green; -} - -span.keywordtype { - color: #604020; -} - -span.keywordflow { - color: #e08000; -} - -span.comment { - color: maroon; -} - -span.preprocessor { - color: #806020; -} - -span.stringliteral { - color: #002080; -} - -span.charliteral { - color: teal; -} - -span.vhdldigit { - color: #F0F; -} - -span.vhdlkeyword { - color: #700070; -} - -span.vhdllogic { - color: red; -} - -/* @end */ -td.tiny { - font-size: 75%; -} - -.dirtab { - padding: 4px; - border-collapse: collapse; - border: 1px solid #A3B4D7; -} - -th.dirtab { - background: #EBEFF6; - font-weight: 700; -} - -hr { - height: 0; - border: none; - border-top: 1px solid #DDD; - margin: 2em 0 1em; -} - -hr.footer { - height: 1px; -} - -/* @group Member Descriptions */ -table.memberdecls { - border-spacing: 0; - font-size: small; -} - -.mdescLeft,.mdescRight,.memItemLeft,.memItemRight,.memTemplItemLeft,.memTemplItemRight,.memTemplParams { - background-color: #FBFBFB; - margin: 0; - padding: 0.25ex; -} - -.mdescLeft,.mdescRight { - color: #555; -} - -.memItemLeft,.memItemRight,.memTemplParams { - border-top: 1px solid #DDD; -} - -.memItemLeft,.memTemplItemLeft { - white-space: nowrap; - padding-left: 2em; -} - -.memTemplParams { - color: #464646; - white-space: nowrap; -} - -/* @end */ -/* @group Member Details */ -/* Styles for detailed member documentation */ -.memtemplate { - font-size: 80%; - color: #4665A2; - font-weight: bold; -} - -.memnav { - background-color: #EBEFF6; - border: 1px solid #A3B4D7; - text-align: center; - margin: 2px; - margin-right: 15px; - padding: 2px; -} - -.memitem { - padding: 0; - margin: 1ex 0 2ex 0; - border: 1px solid #CCC; -} - -.memname { - white-space: nowrap; - font-weight: bold; -} - -.memproto { - border-bottom: 1px solid #DDD; - padding: 0.5ex; - font-weight: bold; - background-color: #F3F3F3; -} - -.memdoc { - padding: 1ex; - background-color: #FBFBFB; - border-top-width: 0; -} - -.paramkey { - text-align: right; -} - -.paramtype { - white-space: nowrap; -} - -.paramname { - color: #602020; - white-space: nowrap; -} - -.paramname em { - font-style: normal; -} - -/* @end */ -/* @group Directory (tree) */ -/* for the tree view */ -.ftvtree { - font-family: sans-serif; - margin: 0; -} - -/* these are for tree view when used as main index */ -.directory { - font-size: 9pt; - font-weight: bold; - margin: 5px; -} - -.directory h3 { - margin: 0; - margin-top: 1em; - font-size: 11pt; -} - -.directory > h3 { - margin-top: 0; -} - -.directory p { - margin: 0; - white-space: nowrap; -} - -.directory div { - display: none; - margin: 0; -} - -.directory img { - vertical-align: -30%; -} - -/* these are for tree view when not used as main index */ -.directory-alt { - font-size: 100%; - font-weight: bold; -} - -.directory-alt h3 { - margin: 0; - margin-top: 1em; - font-size: 11pt; -} - -.directory-alt > h3 { - margin-top: 0; -} - -.directory-alt p { - margin: 0; - white-space: nowrap; -} - -.directory-alt div { - display: none; - margin: 0; -} - -.directory-alt img { - vertical-align: -30%; -} - -/* @end */ -div.dynheader { - margin-top: 8px; -} - -address { - font-style: normal; - color: #2A3D61; -} - -table.doxtable { - border-collapse: collapse; - margin: 0.5ex; -} - -table.doxtable td,table.doxtable th { - border: 1px solid #DDD; - padding: 3px 7px 2px; -} - -table.doxtable th { - background-color: #F3F3F3; - color: #000; - padding-bottom: 4px; - padding-top: 5px; - text-align: left; - font-weight: bold; -} - -.tabsearch { - top: 0; - left: 10px; - height: 36px; - z-index: 101; - overflow: hidden; - font-size: 13px; -} - -.navpath ul { - font-size: 11px; - height: 30px; - line-height: 30px; - color: #8AA0CC; - border: 1px solid #C2CDE4; - overflow: hidden; - margin: 0; - padding: 0; -} - -.navpath li { - list-style-type: none; - float: left; - padding-left: 10px; - padding-right: 15px; - color: #364D7C; -} - -.navpath a { - height: 32px; - display: block; - text-decoration: none; - outline: none; -} - -.navpath a:hover { - color: #6884BD; -} - -div.summary { - float: right; - font-size: 8pt; - padding-right: 5px; - width: 50%; - text-align: right; -} - -div.summary a { - white-space: nowrap; -} - -div.header { - background-color: #F3F3F3; - margin: 0; - border-bottom: 1px solid #DDD; -} - -div.headertitle { - padding: 5px 5px 5px 10px; - font-size: 180%; - font-weight: bold; -} diff --git a/source/modules/lilv/lilv-0.16.0/lilv.pc.in b/source/modules/lilv/lilv-0.16.0/lilv.pc.in deleted file mode 100644 index beff7ca0e..000000000 --- a/source/modules/lilv/lilv-0.16.0/lilv.pc.in +++ /dev/null @@ -1,11 +0,0 @@ -prefix=@PREFIX@ -exec_prefix=@EXEC_PREFIX@ -libdir=@LIBDIR@ -includedir=@INCLUDEDIR@ - -Name: Lilv -Version: @LILV_VERSION@ -Description: Simple C library for hosting LV2 plugins -Requires: lv2 @PKG_serd_0@ @PKG_sord_0@ @PKG_sratom_0@ -Libs: -L${libdir} -l@LIB_LILV@ -ldl -Cflags: -I${includedir}/lilv-@LILV_MAJOR_VERSION@ diff --git a/source/modules/lilv/lilv-0.16.0/lilv.ttl b/source/modules/lilv/lilv-0.16.0/lilv.ttl deleted file mode 100644 index edfb0e546..000000000 --- a/source/modules/lilv/lilv-0.16.0/lilv.ttl +++ /dev/null @@ -1,29 +0,0 @@ -@prefix rdf: . -@prefix rdfs: . -@prefix : . -@prefix foaf: . - - - a :Project ; - :bug-database ; - :developer [ - a foaf:Person ; - rdfs:seeAlso ; - foaf:homepage ; - foaf:mbox_sha1sum "253b3c58086250260bac1232d744d150274ad308" ; - foaf:name "David Robillard" - ] ; - :download-page ; - :homepage ; - :license ; - :name "LILV" ; - :programming-language "C", "Turtle" ; - :repository [ - :browse ; - :location ; - a :SVNRepository - ] ; - :shortdesc "Library for simple use of LV2 plugins" ; - :shortname "LILV" . - - diff --git a/source/modules/lilv/lilv-0.16.0/test/lilv_test.c b/source/modules/lilv/lilv-0.16.0/test/lilv_test.c deleted file mode 100644 index 0a505b09b..000000000 --- a/source/modules/lilv/lilv-0.16.0/test/lilv_test.c +++ /dev/null @@ -1,1609 +0,0 @@ -/* - Copyright 2007-2011 David Robillard - Copyright 2008 Krzysztof Foltman - - Permission to use, copy, modify, and/or distribute this software for any - purpose with or without fee is hereby granted, provided that the above - copyright notice and this permission notice appear in all copies. - - THIS SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -*/ - -#define _POSIX_C_SOURCE 200112L /* for setenv */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#ifdef _WIN32 -# include -# define mkdir(path, flags) _mkdir(path) -# define setenv(n, v, r) SetEnvironmentVariable((n), (v)) -# define unsetenv(n) SetEnvironmentVariable((n), NULL) -#else -# include -# include -#endif - -#include "lilv/lilv.h" -#include "../src/lilv_internal.h" - -#include "lv2/lv2plug.in/ns/ext/state/state.h" -#include "lv2/lv2plug.in/ns/ext/urid/urid.h" - -#define TEST_PATH_MAX 1024 - -#if defined(__APPLE__) -# define SHLIB_EXT ".dylib" -#elif defined(_WIN32) -# define SHLIB_EXT ".dll" -#else -# define SHLIB_EXT ".so" -#endif - -static char bundle_dir_name[TEST_PATH_MAX]; -static char bundle_dir_uri[TEST_PATH_MAX]; -static char manifest_name[TEST_PATH_MAX]; -static char content_name[TEST_PATH_MAX]; - -static LilvWorld* world; - -int test_count = 0; -int error_count = 0; - -static void -delete_bundle(void) -{ - unlink(content_name); - unlink(manifest_name); - remove(bundle_dir_name); -} - -static void -init_tests(void) -{ - strncpy(bundle_dir_name, getenv("HOME"), 900); - strcat(bundle_dir_name, "/.lv2"); - mkdir(bundle_dir_name, 0700); - strcat(bundle_dir_name, "/lilv-test.lv2"); - sprintf(bundle_dir_uri, "file://%s/", bundle_dir_name); - sprintf(manifest_name, "%s/manifest.ttl", bundle_dir_name); - sprintf(content_name, "%s/plugin.ttl", bundle_dir_name); - - delete_bundle(); -} - -static void -fatal_error(const char* err, const char* arg) -{ - /* TODO: possibly change to vfprintf later */ - fprintf(stderr, err, arg); - /* IMHO, the bundle should be left in place after an error, for possible investigation */ - /* delete_bundle(); */ - exit(1); -} - -static void -write_file(const char* name, const char* content) -{ - FILE* f = fopen(name, "w"); - size_t len = strlen(content); - if (fwrite(content, 1, len, f) != len) - fatal_error("Cannot write file %s\n", name); - fclose(f); -} - -static int -init_world(void) -{ - world = lilv_world_new(); - return world != NULL; -} - -static int -load_all_bundles(void) -{ - if (!init_world()) - return 0; - lilv_world_load_all(world); - return 1; -} - -static void -create_bundle(const char* manifest, const char* content) -{ - if (mkdir(bundle_dir_name, 0700) && errno != EEXIST) - fatal_error("Cannot create directory %s\n", bundle_dir_name); - write_file(manifest_name, manifest); - write_file(content_name, content); -} - -static int -start_bundle(const char* manifest, const char* content) -{ - create_bundle(manifest, content); - return load_all_bundles(); -} - -static void -unload_bundle(void) -{ - if (world) - lilv_world_free(world); - world = NULL; -} - -static void -cleanup(void) -{ - delete_bundle(); -} - -/*****************************************************************************/ - -#define TEST_CASE(name) { #name, test_##name } -#define TEST_ASSERT(check) do {\ - test_count++;\ - if (!(check)) {\ - error_count++;\ - fprintf(stderr, "lilv_test.c:%d: error: %s\n", __LINE__, #check);\ - }\ -} while (0) - -typedef int (*TestFunc)(void); - -struct TestCase { - const char* title; - TestFunc func; -}; - -#define PREFIX_ATOM "@prefix atom: . \n" -#define PREFIX_LINE "@prefix : .\n" -#define PREFIX_LV2 "@prefix lv2: .\n" -#define PREFIX_LV2EV "@prefix lv2ev: . \n" -#define PREFIX_LV2UI "@prefix lv2ui: .\n" -#define PREFIX_RDF "@prefix rdf: .\n" -#define PREFIX_RDFS "@prefix rdfs: .\n" -#define PREFIX_FOAF "@prefix foaf: .\n" -#define PREFIX_DOAP "@prefix doap: .\n" - -#define MANIFEST_PREFIXES PREFIX_LINE PREFIX_LV2 PREFIX_RDFS -#define BUNDLE_PREFIXES PREFIX_ATOM PREFIX_LINE PREFIX_LV2 PREFIX_RDF PREFIX_RDFS PREFIX_FOAF PREFIX_DOAP -#define PLUGIN_NAME(name) "doap:name \"" name "\"" -#define LICENSE_GPL "doap:license " - -static const char* uris_plugin = "http://example.org/plug"; -static LilvNode* plugin_uri_value; -static LilvNode* plugin2_uri_value; - -/*****************************************************************************/ - -static void -init_uris(void) -{ - plugin_uri_value = lilv_new_uri(world, uris_plugin); - plugin2_uri_value = lilv_new_uri(world, "http://example.org/foobar"); - TEST_ASSERT(plugin_uri_value); - TEST_ASSERT(plugin2_uri_value); -} - -static void -cleanup_uris(void) -{ - lilv_node_free(plugin2_uri_value); - lilv_node_free(plugin_uri_value); - plugin2_uri_value = NULL; - plugin_uri_value = NULL; -} - -/*****************************************************************************/ - -static int -test_utils(void) -{ - TEST_ASSERT(!strcmp(lilv_uri_to_path("file:///tmp/blah"), "/tmp/blah")); - TEST_ASSERT(!lilv_uri_to_path("file:/example.org/blah")); - TEST_ASSERT(!lilv_uri_to_path("http://example.org/blah")); - return 1; -} - -/*****************************************************************************/ - -static int -test_value(void) -{ - if (!start_bundle(MANIFEST_PREFIXES - ":plug a lv2:Plugin ; lv2:binary ; rdfs:seeAlso .\n", - BUNDLE_PREFIXES - ":plug a lv2:Plugin ; a lv2:CompressorPlugin ; " - PLUGIN_NAME("Test plugin") " ; " - LICENSE_GPL " ; " - "lv2:port [ " - " a lv2:ControlPort ; a lv2:InputPort ; " - " lv2:index 0 ; lv2:symbol \"foo\" ; lv2:name \"Foo\" ; " - "] .")) - return 0; - - init_uris(); - - LilvNode* uval = lilv_new_uri(world, "http://example.org"); - LilvNode* sval = lilv_new_string(world, "Foo"); - LilvNode* ival = lilv_new_int(world, 42); - LilvNode* fval = lilv_new_float(world, 1.6180); - - TEST_ASSERT(lilv_node_is_uri(uval)); - TEST_ASSERT(lilv_node_is_string(sval)); - TEST_ASSERT(lilv_node_is_int(ival)); - TEST_ASSERT(lilv_node_is_float(fval)); - - TEST_ASSERT(!lilv_node_is_literal(uval)); - TEST_ASSERT(lilv_node_is_literal(sval)); - TEST_ASSERT(lilv_node_is_literal(ival)); - TEST_ASSERT(lilv_node_is_literal(fval)); - - TEST_ASSERT(!strcmp(lilv_node_as_uri(uval), "http://example.org")); - TEST_ASSERT(!strcmp(lilv_node_as_string(sval), "Foo")); - TEST_ASSERT(lilv_node_as_int(ival) == 42); - TEST_ASSERT(fabs(lilv_node_as_float(fval) - 1.6180) < FLT_EPSILON); - - char* tok = lilv_node_get_turtle_token(uval); - TEST_ASSERT(!strcmp(tok, "")); - free(tok); - tok = lilv_node_get_turtle_token(sval); - TEST_ASSERT(!strcmp(tok, "Foo")); - free(tok); - tok = lilv_node_get_turtle_token(ival); - TEST_ASSERT(!strcmp(tok, "42")); - free(tok); - tok = lilv_node_get_turtle_token(fval); - TEST_ASSERT(!strncmp(tok, "1.6180", 6)); - free(tok); - - LilvNode* uval_e = lilv_new_uri(world, "http://example.org"); - LilvNode* sval_e = lilv_new_string(world, "Foo"); - LilvNode* ival_e = lilv_new_int(world, 42); - LilvNode* fval_e = lilv_new_float(world, 1.6180); - LilvNode* uval_ne = lilv_new_uri(world, "http://no-example.org"); - LilvNode* sval_ne = lilv_new_string(world, "Bar"); - LilvNode* ival_ne = lilv_new_int(world, 24); - LilvNode* fval_ne = lilv_new_float(world, 3.14159); - - TEST_ASSERT(lilv_node_equals(uval, uval_e)); - TEST_ASSERT(lilv_node_equals(sval, sval_e)); - TEST_ASSERT(lilv_node_equals(ival, ival_e)); - TEST_ASSERT(lilv_node_equals(fval, fval_e)); - - TEST_ASSERT(!lilv_node_equals(uval, uval_ne)); - TEST_ASSERT(!lilv_node_equals(sval, sval_ne)); - TEST_ASSERT(!lilv_node_equals(ival, ival_ne)); - TEST_ASSERT(!lilv_node_equals(fval, fval_ne)); - - TEST_ASSERT(!lilv_node_equals(uval, sval)); - TEST_ASSERT(!lilv_node_equals(sval, ival)); - TEST_ASSERT(!lilv_node_equals(ival, fval)); - - LilvNode* uval_dup = lilv_node_duplicate(uval); - TEST_ASSERT(lilv_node_equals(uval, uval_dup)); - - LilvNode* ifval = lilv_new_float(world, 42.0); - TEST_ASSERT(!lilv_node_equals(ival, ifval)); - lilv_node_free(ifval); - - LilvNode* nil = NULL; - TEST_ASSERT(!lilv_node_equals(uval, nil)); - TEST_ASSERT(!lilv_node_equals(nil, uval)); - TEST_ASSERT(lilv_node_equals(nil, nil)); - - LilvNode* nil2 = lilv_node_duplicate(nil); - TEST_ASSERT(lilv_node_equals(nil, nil2)); - - lilv_node_free(uval); - lilv_node_free(sval); - lilv_node_free(ival); - lilv_node_free(fval); - lilv_node_free(uval_e); - lilv_node_free(sval_e); - lilv_node_free(ival_e); - lilv_node_free(fval_e); - lilv_node_free(uval_ne); - lilv_node_free(sval_ne); - lilv_node_free(ival_ne); - lilv_node_free(fval_ne); - lilv_node_free(uval_dup); - lilv_node_free(nil2); - - cleanup_uris(); - return 1; -} - -/*****************************************************************************/ - -static int discovery_plugin_found = 0; - -static void -discovery_verify_plugin(const LilvPlugin* plugin) -{ - const LilvNode* value = lilv_plugin_get_uri(plugin); - if (lilv_node_equals(value, plugin_uri_value)) { - const LilvNode* lib_uri = NULL; - TEST_ASSERT(!lilv_node_equals(value, plugin2_uri_value)); - discovery_plugin_found = 1; - lib_uri = lilv_plugin_get_library_uri(plugin); - TEST_ASSERT(lib_uri); - TEST_ASSERT(lilv_node_is_uri(lib_uri)); - TEST_ASSERT(lilv_node_as_uri(lib_uri)); - TEST_ASSERT(strstr(lilv_node_as_uri(lib_uri), "foo" SHLIB_EXT)); - TEST_ASSERT(lilv_plugin_verify(plugin)); - } -} - -static int -test_discovery(void) -{ - if (!start_bundle(MANIFEST_PREFIXES - ":plug a lv2:Plugin ; lv2:binary ; rdfs:seeAlso .\n", - BUNDLE_PREFIXES - ":plug a lv2:Plugin ;" - PLUGIN_NAME("Test plugin") " ; " - LICENSE_GPL " ; " - "lv2:port [ a lv2:ControlPort ; a lv2:InputPort ;" - " lv2:index 0 ; lv2:symbol \"foo\" ; lv2:name \"bar\" ; ] .")) - return 0; - - init_uris(); - - const LilvPlugins* plugins = lilv_world_get_all_plugins(world); - TEST_ASSERT(lilv_plugins_size(plugins) > 0); - - const LilvPlugin* explug = lilv_plugins_get_by_uri(plugins, plugin_uri_value); - TEST_ASSERT(explug != NULL); - const LilvPlugin* explug2 = lilv_plugins_get_by_uri(plugins, plugin2_uri_value); - TEST_ASSERT(explug2 == NULL); - - if (explug) { - LilvNode* name = lilv_plugin_get_name(explug); - TEST_ASSERT(!strcmp(lilv_node_as_string(name), "Test plugin")); - lilv_node_free(name); - } - - discovery_plugin_found = 0; - LILV_FOREACH(plugins, i, plugins) - discovery_verify_plugin(lilv_plugins_get(plugins, i)); - - TEST_ASSERT(discovery_plugin_found); - plugins = NULL; - - cleanup_uris(); - - return 1; -} - -/*****************************************************************************/ - -static int -test_lv2_path(void) -{ -#ifndef _WIN32 - char* orig_lv2_path = lilv_strdup(getenv("LV2_PATH")); - - setenv("LV2_PATH", "~/.lv2:/usr/local/lib/lv2:/usr/lib/lv2", 1); - - world = lilv_world_new(); - lilv_world_load_all(world); - - const LilvPlugins* plugins = lilv_world_get_all_plugins(world); - const size_t n_plugins = lilv_plugins_size(plugins); - - lilv_world_free(world); - - setenv("LV2_PATH", "$HOME/.lv2:/usr/local/lib/lv2:/usr/lib/lv2", 1); - world = lilv_world_new(); - lilv_world_load_all(world); - plugins = lilv_world_get_all_plugins(world); - TEST_ASSERT(lilv_plugins_size(plugins) == n_plugins); - lilv_world_free(world); - world = NULL; - - if (orig_lv2_path) { - setenv("LV2_PATH", orig_lv2_path, 1); - } else { - unsetenv("LV2_PATH"); - } - free(orig_lv2_path); -#endif - return 1; -} - -/*****************************************************************************/ - -static int -test_verify(void) -{ - if (!start_bundle(MANIFEST_PREFIXES - ":plug a lv2:Plugin ; lv2:binary ; rdfs:seeAlso .\n", - BUNDLE_PREFIXES - ":plug a lv2:Plugin ; " - PLUGIN_NAME("Test plugin") " ; " - LICENSE_GPL " ; " - "lv2:port [ a lv2:ControlPort ; a lv2:InputPort ;" - " lv2:index 0 ; lv2:symbol \"foo\" ; lv2:name \"bar\" ] .")) - return 0; - - init_uris(); - const LilvPlugins* plugins = lilv_world_get_all_plugins(world); - const LilvPlugin* explug = lilv_plugins_get_by_uri(plugins, plugin_uri_value); - TEST_ASSERT(explug); - TEST_ASSERT(lilv_plugin_verify(explug)); - cleanup_uris(); - return 1; -} - -/*****************************************************************************/ - -static int -test_no_verify(void) -{ - if (!start_bundle(MANIFEST_PREFIXES - ":plug a lv2:Plugin ; lv2:binary ; rdfs:seeAlso .\n", - BUNDLE_PREFIXES - ":plug a lv2:Plugin . ")) - return 0; - - init_uris(); - const LilvPlugins* plugins = lilv_world_get_all_plugins(world); - const LilvPlugin* explug = lilv_plugins_get_by_uri(plugins, plugin_uri_value); - TEST_ASSERT(explug); - TEST_ASSERT(!lilv_plugin_verify(explug)); - cleanup_uris(); - return 1; -} - -/*****************************************************************************/ - -static int -test_classes(void) -{ - if (!start_bundle(MANIFEST_PREFIXES - ":plug a lv2:Plugin ; lv2:binary ; rdfs:seeAlso .\n", - BUNDLE_PREFIXES - ":plug a lv2:Plugin ; a lv2:CompressorPlugin ; " - PLUGIN_NAME("Test plugin") " ; " - LICENSE_GPL " ; " - "lv2:port [ " - " a lv2:ControlPort ; a lv2:InputPort ; " - " lv2:index 0 ; lv2:symbol \"foo\" ; lv2:name \"Foo\" ; " - "] .")) - return 0; - - init_uris(); - const LilvPluginClass* plugin = lilv_world_get_plugin_class(world); - const LilvPluginClasses* classes = lilv_world_get_plugin_classes(world); - LilvPluginClasses* children = lilv_plugin_class_get_children(plugin); - - TEST_ASSERT(lilv_plugin_class_get_parent_uri(plugin) == NULL); - TEST_ASSERT(lilv_plugin_classes_size(classes) > lilv_plugin_classes_size(children)); - TEST_ASSERT(!strcmp(lilv_node_as_string(lilv_plugin_class_get_label(plugin)), "Plugin")); - TEST_ASSERT(!strcmp(lilv_node_as_string(lilv_plugin_class_get_uri(plugin)), - "http://lv2plug.in/ns/lv2core#Plugin")); - - LILV_FOREACH(plugin_classes, i, children) { - TEST_ASSERT(lilv_node_equals( - lilv_plugin_class_get_parent_uri(lilv_plugin_classes_get(children, i)), - lilv_plugin_class_get_uri(plugin))); - } - - LilvNode* some_uri = lilv_new_uri(world, "http://example.org/whatever"); - TEST_ASSERT(lilv_plugin_classes_get_by_uri(classes, some_uri) == NULL); - lilv_node_free(some_uri); - - lilv_plugin_classes_free(children); - - cleanup_uris(); - return 1; -} - -/*****************************************************************************/ - -static int -test_plugin(void) -{ - if (!start_bundle(MANIFEST_PREFIXES - ":plug a lv2:Plugin ; lv2:binary ; rdfs:seeAlso .\n", - BUNDLE_PREFIXES - ":plug a lv2:Plugin ; a lv2:CompressorPlugin ; " - PLUGIN_NAME("Test plugin") " ; " - LICENSE_GPL " ; " - "lv2:optionalFeature lv2:hardRTCapable ; " - "lv2:requiredFeature ; " - "lv2:extensionData ;" - ":foo 1.6180 ; " - ":bar true ; " - ":baz false ; " - ":blank [ a ] ; " - "doap:maintainer [ foaf:name \"David Robillard\" ; " - " foaf:homepage ; foaf:mbox ] ; " - "lv2:port [ " - " a lv2:ControlPort ; a lv2:InputPort ; " - " lv2:index 0 ; lv2:symbol \"foo\" ; lv2:name \"bar\" ; " - " lv2:minimum -1.0 ; lv2:maximum 1.0 ; lv2:default 0.5 " - "] , [ " - " a lv2:ControlPort ; a lv2:InputPort ; " - " lv2:index 1 ; lv2:symbol \"bar\" ; lv2:name \"Baz\" ; " - " lv2:minimum -2.0 ; lv2:maximum 2.0 ; lv2:default 1.0 " - "] , [ " - " a lv2:ControlPort ; a lv2:OutputPort ; " - " lv2:index 2 ; lv2:symbol \"latency\" ; lv2:name \"Latency\" ; " - " lv2:portProperty lv2:reportsLatency ; " - " lv2:designation lv2:latency " - "] . \n" - ":thing doap:name \"Something else\" .\n")) - return 0; - - init_uris(); - const LilvPlugins* plugins = lilv_world_get_all_plugins(world); - const LilvPlugin* plug = lilv_plugins_get_by_uri(plugins, plugin_uri_value); - TEST_ASSERT(plug); - - const LilvPluginClass* klass = lilv_plugin_get_class(plug); - const LilvNode* klass_uri = lilv_plugin_class_get_uri(klass); - TEST_ASSERT(!strcmp(lilv_node_as_string(klass_uri), - "http://lv2plug.in/ns/lv2core#CompressorPlugin")); - - LilvNode* rdf_type = lilv_new_uri( - world, "http://www.w3.org/1999/02/22-rdf-syntax-ns#type"); - TEST_ASSERT(lilv_world_ask(world, - lilv_plugin_get_uri(plug), - rdf_type, - klass_uri)); - lilv_node_free(rdf_type); - - const LilvNode* plug_bundle_uri = lilv_plugin_get_bundle_uri(plug); - TEST_ASSERT(!strcmp(lilv_node_as_string(plug_bundle_uri), bundle_dir_uri)); - - const LilvNodes* data_uris = lilv_plugin_get_data_uris(plug); - TEST_ASSERT(lilv_nodes_size(data_uris) == 2); - - char* manifest_uri = (char*)malloc(TEST_PATH_MAX); - char* data_uri = (char*)malloc(TEST_PATH_MAX); - snprintf(manifest_uri, TEST_PATH_MAX, "%s%s", - lilv_node_as_string(plug_bundle_uri), "manifest.ttl"); - snprintf(data_uri, TEST_PATH_MAX, "%s%s", - lilv_node_as_string(plug_bundle_uri), "plugin.ttl"); - - LilvNode* manifest_uri_val = lilv_new_uri(world, manifest_uri); - TEST_ASSERT(lilv_nodes_contains(data_uris, manifest_uri_val)); - lilv_node_free(manifest_uri_val); - - LilvNode* data_uri_val = lilv_new_uri(world, data_uri); - TEST_ASSERT(lilv_nodes_contains(data_uris, data_uri_val)); - lilv_node_free(data_uri_val); - - free(manifest_uri); - free(data_uri); - - float mins[3]; - float maxs[3]; - float defs[3]; - lilv_plugin_get_port_ranges_float(plug, mins, maxs, defs); - TEST_ASSERT(mins[0] == -1.0f); - TEST_ASSERT(maxs[0] == 1.0f); - TEST_ASSERT(defs[0] == 0.5f); - - LilvNode* audio_class = lilv_new_uri(world, - "http://lv2plug.in/ns/lv2core#AudioPort"); - LilvNode* control_class = lilv_new_uri(world, - "http://lv2plug.in/ns/lv2core#ControlPort"); - LilvNode* in_class = lilv_new_uri(world, - "http://lv2plug.in/ns/lv2core#InputPort"); - LilvNode* out_class = lilv_new_uri(world, - "http://lv2plug.in/ns/lv2core#OutputPort"); - - TEST_ASSERT(lilv_plugin_get_num_ports_of_class(plug, control_class, NULL) == 3); - TEST_ASSERT(lilv_plugin_get_num_ports_of_class(plug, audio_class, NULL) == 0); - TEST_ASSERT(lilv_plugin_get_num_ports_of_class(plug, in_class, NULL) == 2); - TEST_ASSERT(lilv_plugin_get_num_ports_of_class(plug, out_class, NULL) == 1); - TEST_ASSERT(lilv_plugin_get_num_ports_of_class(plug, control_class, in_class, NULL) == 2); - TEST_ASSERT(lilv_plugin_get_num_ports_of_class(plug, control_class, out_class, NULL) == 1); - TEST_ASSERT(lilv_plugin_get_num_ports_of_class(plug, audio_class, in_class, NULL) == 0); - TEST_ASSERT(lilv_plugin_get_num_ports_of_class(plug, audio_class, out_class, NULL) == 0); - - TEST_ASSERT(lilv_plugin_has_latency(plug)); - TEST_ASSERT(lilv_plugin_get_latency_port_index(plug) == 2); - - LilvNode* lv2_latency = lilv_new_uri(world, - "http://lv2plug.in/ns/lv2core#latency"); - const LilvPort* latency_port = lilv_plugin_get_port_by_designation( - plug, out_class, lv2_latency); - lilv_node_free(lv2_latency); - - TEST_ASSERT(latency_port); - TEST_ASSERT(lilv_port_get_index(plug, latency_port) == 2); - - LilvNode* rt_feature = lilv_new_uri(world, - "http://lv2plug.in/ns/lv2core#hardRTCapable"); - LilvNode* event_feature = lilv_new_uri(world, - "http://lv2plug.in/ns/ext/event"); - LilvNode* pretend_feature = lilv_new_uri(world, - "http://example.org/solvesWorldHunger"); - - TEST_ASSERT(lilv_plugin_has_feature(plug, rt_feature)); - TEST_ASSERT(lilv_plugin_has_feature(plug, event_feature)); - TEST_ASSERT(!lilv_plugin_has_feature(plug, pretend_feature)); - - lilv_node_free(rt_feature); - lilv_node_free(event_feature); - lilv_node_free(pretend_feature); - - LilvNodes* supported = lilv_plugin_get_supported_features(plug); - LilvNodes* required = lilv_plugin_get_required_features(plug); - LilvNodes* optional = lilv_plugin_get_optional_features(plug); - TEST_ASSERT(lilv_nodes_size(supported) == 2); - TEST_ASSERT(lilv_nodes_size(required) == 1); - TEST_ASSERT(lilv_nodes_size(optional) == 1); - lilv_nodes_free(supported); - lilv_nodes_free(required); - lilv_nodes_free(optional); - - LilvNode* foo_p = lilv_new_uri(world, "http://example.org/foo"); - LilvNodes* foos = lilv_plugin_get_value(plug, foo_p); - TEST_ASSERT(lilv_nodes_size(foos) == 1); - TEST_ASSERT(fabs(lilv_node_as_float(lilv_nodes_get_first(foos)) - 1.6180) < FLT_EPSILON); - lilv_node_free(foo_p); - lilv_nodes_free(foos); - - LilvNode* bar_p = lilv_new_uri(world, "http://example.org/bar"); - LilvNodes* bars = lilv_plugin_get_value(plug, bar_p); - TEST_ASSERT(lilv_nodes_size(bars) == 1); - TEST_ASSERT(lilv_node_as_bool(lilv_nodes_get_first(bars)) == true); - lilv_node_free(bar_p); - lilv_nodes_free(bars); - - LilvNode* baz_p = lilv_new_uri(world, "http://example.org/baz"); - LilvNodes* bazs = lilv_plugin_get_value(plug, baz_p); - TEST_ASSERT(lilv_nodes_size(bazs) == 1); - TEST_ASSERT(lilv_node_as_bool(lilv_nodes_get_first(bazs)) == false); - lilv_node_free(baz_p); - lilv_nodes_free(bazs); - - LilvNode* blank_p = lilv_new_uri(world, "http://example.org/blank"); - LilvNodes* blanks = lilv_plugin_get_value(plug, blank_p); - TEST_ASSERT(lilv_nodes_size(blanks) == 1); - LilvNode* blank = lilv_nodes_get_first(blanks); - TEST_ASSERT(lilv_node_is_blank(blank)); - const char* blank_str = lilv_node_as_blank(blank); - char* blank_tok = lilv_node_get_turtle_token(blank); - TEST_ASSERT(!strncmp(blank_tok, "_:", 2)); - TEST_ASSERT(!strcmp(blank_tok + 2, blank_str)); - free(blank_tok); - lilv_node_free(blank_p); - lilv_nodes_free(blanks); - - LilvNode* author_name = lilv_plugin_get_author_name(plug); - TEST_ASSERT(!strcmp(lilv_node_as_string(author_name), "David Robillard")); - lilv_node_free(author_name); - - LilvNode* author_email = lilv_plugin_get_author_email(plug); - TEST_ASSERT(!strcmp(lilv_node_as_string(author_email), "mailto:d@drobilla.net")); - lilv_node_free(author_email); - - LilvNode* author_homepage = lilv_plugin_get_author_homepage(plug); - TEST_ASSERT(!strcmp(lilv_node_as_string(author_homepage), "http://drobilla.net")); - lilv_node_free(author_homepage); - - LilvNode* thing_uri = lilv_new_uri(world, "http://example.org/thing"); - LilvNode* name_p = lilv_new_uri(world, "http://usefulinc.com/ns/doap#name"); - LilvNodes* thing_names = lilv_world_find_nodes(world, thing_uri, name_p, NULL); - TEST_ASSERT(lilv_nodes_size(thing_names) == 1); - LilvNode* thing_name = lilv_nodes_get_first(thing_names); - TEST_ASSERT(thing_name); - TEST_ASSERT(lilv_node_is_string(thing_name)); - TEST_ASSERT(!strcmp(lilv_node_as_string(thing_name), "Something else")); - LilvNode* thing_name2 = lilv_world_get(world, thing_uri, name_p, NULL); - TEST_ASSERT(lilv_node_equals(thing_name, thing_name2)); - - LilvUIs* uis = lilv_plugin_get_uis(plug); - TEST_ASSERT(lilv_uis_size(uis) == 0); - lilv_uis_free(uis); - - LilvNode* extdata = lilv_new_uri(world, "http://example.org/extdata"); - LilvNode* noextdata = lilv_new_uri(world, "http://example.org/noextdata"); - LilvNodes* extdatas = lilv_plugin_get_extension_data(plug); - TEST_ASSERT(lilv_plugin_has_extension_data(plug, extdata)); - TEST_ASSERT(!lilv_plugin_has_extension_data(plug, noextdata)); - TEST_ASSERT(lilv_nodes_size(extdatas) == 1); - TEST_ASSERT(lilv_node_equals(lilv_nodes_get_first(extdatas), extdata)); - lilv_node_free(noextdata); - lilv_node_free(extdata); - lilv_nodes_free(extdatas); - - lilv_nodes_free(thing_names); - lilv_node_free(thing_uri); - lilv_node_free(thing_name2); - lilv_node_free(name_p); - lilv_node_free(control_class); - lilv_node_free(audio_class); - lilv_node_free(in_class); - lilv_node_free(out_class); - cleanup_uris(); - return 1; -} - -/*****************************************************************************/ - -static int -test_port(void) -{ - if (!start_bundle(MANIFEST_PREFIXES - ":plug a lv2:Plugin ; lv2:binary ; rdfs:seeAlso .\n", - BUNDLE_PREFIXES PREFIX_LV2EV - ":plug a lv2:Plugin ; " - PLUGIN_NAME("Test plugin") " ; " - LICENSE_GPL " ; " - "doap:homepage ; " - "lv2:port [ " - " a lv2:ControlPort ; a lv2:InputPort ; " - " lv2:index 0 ; lv2:symbol \"foo\" ; " - " lv2:name \"store\" ; " - " lv2:name \"dépanneur\"@fr-ca ; lv2:name \"épicerie\"@fr-fr ; " - " lv2:name \"tienda\"@es ; " - " rdfs:comment \"comment\"@en , \"commentaires\"@fr ; " - " lv2:portProperty lv2:integer ; " - " lv2:minimum -1.0 ; lv2:maximum 1.0 ; lv2:default 0.5 ; " - " lv2:scalePoint [ rdfs:label \"Sin\"; rdf:value 3 ] ; " - " lv2:scalePoint [ rdfs:label \"Cos\"; rdf:value 4 ] " - "] , [\n" - " a lv2:EventPort ; a lv2:InputPort ; " - " lv2:index 1 ; lv2:symbol \"event_in\" ; " - " lv2:name \"Event Input\" ; " - " lv2ev:supportsEvent ;" - " atom:supports " - "] .")) - return 0; - - init_uris(); - const LilvPlugins* plugins = lilv_world_get_all_plugins(world); - const LilvPlugin* plug = lilv_plugins_get_by_uri(plugins, plugin_uri_value); - TEST_ASSERT(plug); - - LilvNode* psym = lilv_new_string(world, "foo"); - const LilvPort* p = lilv_plugin_get_port_by_index(plug, 0); - const LilvPort* p2 = lilv_plugin_get_port_by_symbol(plug, psym); - lilv_node_free(psym); - TEST_ASSERT(p != NULL); - TEST_ASSERT(p2 != NULL); - TEST_ASSERT(p == p2); - - LilvNode* nopsym = lilv_new_string(world, "thisaintnoportfoo"); - const LilvPort* p3 = lilv_plugin_get_port_by_symbol(plug, nopsym); - TEST_ASSERT(p3 == NULL); - lilv_node_free(nopsym); - - LilvNode* audio_class = lilv_new_uri(world, - "http://lv2plug.in/ns/lv2core#AudioPort"); - LilvNode* control_class = lilv_new_uri(world, - "http://lv2plug.in/ns/lv2core#ControlPort"); - LilvNode* in_class = lilv_new_uri(world, - "http://lv2plug.in/ns/lv2core#InputPort"); - - TEST_ASSERT(lilv_nodes_size(lilv_port_get_classes(plug, p)) == 2); - TEST_ASSERT(lilv_plugin_get_num_ports(plug) == 2); - TEST_ASSERT(lilv_port_is_a(plug, p, control_class)); - TEST_ASSERT(lilv_port_is_a(plug, p, in_class)); - TEST_ASSERT(!lilv_port_is_a(plug, p, audio_class)); - - LilvNodes* port_properties = lilv_port_get_properties(plug, p); - TEST_ASSERT(lilv_nodes_size(port_properties) == 1); - lilv_nodes_free(port_properties); - - // Untranslated name (current locale is set to "C" in main) - TEST_ASSERT(!strcmp(lilv_node_as_string(lilv_port_get_symbol(plug, p)), "foo")); - LilvNode* name = lilv_port_get_name(plug, p); - TEST_ASSERT(!strcmp(lilv_node_as_string(name), "store")); - lilv_node_free(name); - - // Exact language match - setenv("LANG", "fr_FR", 1); - name = lilv_port_get_name(plug, p); - TEST_ASSERT(!strcmp(lilv_node_as_string(name), "épicerie")); - lilv_node_free(name); - - // Exact language match (with charset suffix) - setenv("LANG", "fr_CA.utf8", 1); - name = lilv_port_get_name(plug, p); - TEST_ASSERT(!strcmp(lilv_node_as_string(name), "dépanneur")); - lilv_node_free(name); - - // Partial language match (choose value translated for different country) - setenv("LANG", "fr_BE", 1); - name = lilv_port_get_name(plug, p); - TEST_ASSERT((!strcmp(lilv_node_as_string(name), "dépanneur")) - ||(!strcmp(lilv_node_as_string(name), "épicerie"))); - lilv_node_free(name); - - // Partial language match (choose country-less language tagged value) - setenv("LANG", "es_MX", 1); - name = lilv_port_get_name(plug, p); - TEST_ASSERT(!strcmp(lilv_node_as_string(name), "tienda")); - lilv_node_free(name); - - // No language match (choose untranslated value) - setenv("LANG", "cn", 1); - name = lilv_port_get_name(plug, p); - TEST_ASSERT(!strcmp(lilv_node_as_string(name), "store")); - lilv_node_free(name); - - setenv("LANG", "en_CA.utf-8", 1); - - // Language tagged value with no untranslated values - LilvNode* rdfs_comment = lilv_new_uri(world, LILV_NS_RDFS "comment"); - LilvNodes* comments = lilv_port_get_value(plug, p, rdfs_comment); - TEST_ASSERT(!strcmp(lilv_node_as_string(lilv_nodes_get_first(comments)), - "comment")); - LilvNode* comment = lilv_port_get(plug, p, rdfs_comment); - TEST_ASSERT(!strcmp(lilv_node_as_string(comment), "comment")); - lilv_node_free(comment); - lilv_nodes_free(comments); - - setenv("LANG", "fr", 1); - - comments = lilv_port_get_value(plug, p, rdfs_comment); - TEST_ASSERT(!strcmp(lilv_node_as_string(lilv_nodes_get_first(comments)), - "commentaires")); - lilv_nodes_free(comments); - - setenv("LANG", "cn", 1); - - comments = lilv_port_get_value(plug, p, rdfs_comment); - TEST_ASSERT(!comments); - lilv_nodes_free(comments); - - lilv_node_free(rdfs_comment); - - setenv("LANG", "C", 1); // Reset locale - - LilvScalePoints* points = lilv_port_get_scale_points(plug, p); - TEST_ASSERT(lilv_scale_points_size(points) == 2); - - LilvIter* sp_iter = lilv_scale_points_begin(points); - const LilvScalePoint* sp0 = lilv_scale_points_get(points, sp_iter); - TEST_ASSERT(sp0); - sp_iter = lilv_scale_points_next(points, sp_iter); - const LilvScalePoint* sp1 = lilv_scale_points_get(points, sp_iter); - TEST_ASSERT(sp1); - - TEST_ASSERT( - ((!strcmp(lilv_node_as_string(lilv_scale_point_get_label(sp0)), "Sin") - && lilv_node_as_float(lilv_scale_point_get_value(sp0)) == 3) - && - (!strcmp(lilv_node_as_string(lilv_scale_point_get_label(sp1)), "Cos") - && lilv_node_as_float(lilv_scale_point_get_value(sp1)) == 4)) - || - ((!strcmp(lilv_node_as_string(lilv_scale_point_get_label(sp0)), "Cos") - && lilv_node_as_float(lilv_scale_point_get_value(sp0)) == 4) - && - (!strcmp(lilv_node_as_string(lilv_scale_point_get_label(sp1)), "Sin") - && lilv_node_as_float(lilv_scale_point_get_value(sp1)) == 3))); - - LilvNode* homepage_p = lilv_new_uri(world, "http://usefulinc.com/ns/doap#homepage"); - LilvNodes* homepages = lilv_plugin_get_value(plug, homepage_p); - TEST_ASSERT(lilv_nodes_size(homepages) == 1); - TEST_ASSERT(!strcmp(lilv_node_as_string(lilv_nodes_get_first(homepages)), - "http://example.org/someplug")); - - LilvNode *min, *max, *def; - lilv_port_get_range(plug, p, &def, &min, &max); - TEST_ASSERT(def); - TEST_ASSERT(min); - TEST_ASSERT(max); - TEST_ASSERT(lilv_node_as_float(def) == 0.5); - TEST_ASSERT(lilv_node_as_float(min) == -1.0); - TEST_ASSERT(lilv_node_as_float(max) == 1.0); - - LilvNode* integer_prop = lilv_new_uri(world, "http://lv2plug.in/ns/lv2core#integer"); - LilvNode* toggled_prop = lilv_new_uri(world, "http://lv2plug.in/ns/lv2core#toggled"); - - TEST_ASSERT(lilv_port_has_property(plug, p, integer_prop)); - TEST_ASSERT(!lilv_port_has_property(plug, p, toggled_prop)); - - const LilvPort* ep = lilv_plugin_get_port_by_index(plug, 1); - - LilvNode* event_type = lilv_new_uri(world, "http://example.org/event"); - LilvNode* event_type_2 = lilv_new_uri(world, "http://example.org/otherEvent"); - LilvNode* atom_event = lilv_new_uri(world, "http://example.org/atomEvent"); - TEST_ASSERT(lilv_port_supports_event(plug, ep, event_type)); - TEST_ASSERT(!lilv_port_supports_event(plug, ep, event_type_2)); - TEST_ASSERT(lilv_port_supports_event(plug, ep, atom_event)); - - LilvNode* name_p = lilv_new_uri(world, "http://lv2plug.in/ns/lv2core#name"); - LilvNodes* names = lilv_port_get_value(plug, p, name_p); - TEST_ASSERT(lilv_nodes_size(names) == 1); - TEST_ASSERT(!strcmp(lilv_node_as_string(lilv_nodes_get_first(names)), - "store")); - lilv_nodes_free(names); - - LilvNode* true_val = lilv_new_bool(world, true); - LilvNode* false_val = lilv_new_bool(world, false); - - TEST_ASSERT(!lilv_node_equals(true_val, false_val)); - - lilv_world_set_option(world, LILV_OPTION_FILTER_LANG, false_val); - names = lilv_port_get_value(plug, p, name_p); - TEST_ASSERT(lilv_nodes_size(names) == 4); - lilv_nodes_free(names); - lilv_world_set_option(world, LILV_OPTION_FILTER_LANG, true_val); - - lilv_node_free(false_val); - lilv_node_free(true_val); - - names = lilv_port_get_value(plug, ep, name_p); - TEST_ASSERT(lilv_nodes_size(names) == 1); - TEST_ASSERT(!strcmp(lilv_node_as_string(lilv_nodes_get_first(names)), - "Event Input")); - lilv_nodes_free(names); - lilv_node_free(name_p); - - lilv_node_free(integer_prop); - lilv_node_free(toggled_prop); - lilv_node_free(event_type); - lilv_node_free(event_type_2); - lilv_node_free(atom_event); - - lilv_node_free(min); - lilv_node_free(max); - lilv_node_free(def); - - lilv_node_free(homepage_p); - lilv_nodes_free(homepages); - - lilv_scale_points_free(points); - lilv_node_free(control_class); - lilv_node_free(audio_class); - lilv_node_free(in_class); - cleanup_uris(); - return 1; -} - -/*****************************************************************************/ - -static unsigned -ui_supported(const char* container_type_uri, - const char* ui_type_uri) -{ - return !strcmp(container_type_uri, ui_type_uri); -} - -static int -test_ui(void) -{ - if (!start_bundle(MANIFEST_PREFIXES - ":plug a lv2:Plugin ; lv2:binary ; rdfs:seeAlso .\n", - BUNDLE_PREFIXES PREFIX_LV2UI - ":plug a lv2:Plugin ; a lv2:CompressorPlugin ; " - PLUGIN_NAME("Test plugin") " ; " - LICENSE_GPL " ; " - "lv2:optionalFeature lv2:hardRTCapable ; " - "lv2:requiredFeature ; " - "lv2ui:ui :ui , :ui2 , :ui3 , :ui4 ; " - "doap:maintainer [ foaf:name \"David Robillard\" ; " - " foaf:homepage ; foaf:mbox ] ; " - "lv2:port [ " - " a lv2:ControlPort ; a lv2:InputPort ; " - " lv2:index 0 ; lv2:symbol \"foo\" ; lv2:name \"bar\" ; " - " lv2:minimum -1.0 ; lv2:maximum 1.0 ; lv2:default 0.5 " - "] , [ " - " a lv2:ControlPort ; a lv2:InputPort ; " - " lv2:index 1 ; lv2:symbol \"bar\" ; lv2:name \"Baz\" ; " - " lv2:minimum -2.0 ; lv2:maximum 2.0 ; lv2:default 1.0 " - "] , [ " - " a lv2:ControlPort ; a lv2:OutputPort ; " - " lv2:index 2 ; lv2:symbol \"latency\" ; lv2:name \"Latency\" ; " - " lv2:portProperty lv2:reportsLatency " - "] .\n" - ":ui a lv2ui:GtkUI ; " - " lv2ui:requiredFeature lv2ui:makeResident ; " - " lv2ui:binary ; " - " lv2ui:optionalFeature lv2ui:ext_presets . " - ":ui2 a lv2ui:GtkUI ; lv2ui:binary . " - ":ui3 a lv2ui:GtkUI ; lv2ui:binary . " - ":ui4 a lv2ui:GtkUI ; lv2ui:binary . ")) - return 0; - - init_uris(); - const LilvPlugins* plugins = lilv_world_get_all_plugins(world); - const LilvPlugin* plug = lilv_plugins_get_by_uri(plugins, plugin_uri_value); - TEST_ASSERT(plug); - - LilvUIs* uis = lilv_plugin_get_uis(plug); - TEST_ASSERT(lilv_uis_size(uis) == 4); - - const LilvUI* ui0 = lilv_uis_get(uis, lilv_uis_begin(uis)); - TEST_ASSERT(ui0); - - LilvNode* ui_uri = lilv_new_uri(world, "http://example.org/ui"); - LilvNode* ui2_uri = lilv_new_uri(world, "http://example.org/ui3"); - LilvNode* ui3_uri = lilv_new_uri(world, "http://example.org/ui4"); - LilvNode* noui_uri = lilv_new_uri(world, "http://example.org/notaui"); - - const LilvUI* ui0_2 = lilv_uis_get_by_uri(uis, ui_uri); - TEST_ASSERT(ui0 == ui0_2); - TEST_ASSERT(lilv_node_equals(lilv_ui_get_uri(ui0_2), ui_uri)); - - const LilvUI* ui2 = lilv_uis_get_by_uri(uis, ui2_uri); - TEST_ASSERT(ui2 != ui0); - - const LilvUI* ui3 = lilv_uis_get_by_uri(uis, ui3_uri); - TEST_ASSERT(ui3 != ui0); - - const LilvUI* noui = lilv_uis_get_by_uri(uis, noui_uri); - TEST_ASSERT(noui == NULL); - - const LilvNodes* classes = lilv_ui_get_classes(ui0); - TEST_ASSERT(lilv_nodes_size(classes) == 1); - - LilvNode* ui_class_uri = lilv_new_uri(world, - "http://lv2plug.in/ns/extensions/ui#GtkUI"); - - TEST_ASSERT(lilv_node_equals(lilv_nodes_get_first(classes), ui_class_uri)); - TEST_ASSERT(lilv_ui_is_a(ui0, ui_class_uri)); - - const LilvNode* ui_type = NULL; - TEST_ASSERT(lilv_ui_is_supported(ui0, ui_supported, ui_class_uri, &ui_type)); - TEST_ASSERT(lilv_node_equals(ui_type, ui_class_uri)); - - const LilvNode* plug_bundle_uri = lilv_plugin_get_bundle_uri(plug); - const LilvNode* ui_bundle_uri = lilv_ui_get_bundle_uri(ui0); - TEST_ASSERT(lilv_node_equals(plug_bundle_uri, ui_bundle_uri)); - - char* ui_binary_uri_str = (char*)malloc(TEST_PATH_MAX); - snprintf(ui_binary_uri_str, TEST_PATH_MAX, "%s%s", - lilv_node_as_string(plug_bundle_uri), "ui" SHLIB_EXT); - - const LilvNode* ui_binary_uri = lilv_ui_get_binary_uri(ui0); - - LilvNode* expected_uri = lilv_new_uri(world, ui_binary_uri_str); - TEST_ASSERT(lilv_node_equals(expected_uri, ui_binary_uri)); - - free(ui_binary_uri_str); - lilv_node_free(ui_class_uri); - lilv_node_free(ui_uri); - lilv_node_free(ui2_uri); - lilv_node_free(ui3_uri); - lilv_node_free(noui_uri); - lilv_node_free(expected_uri); - lilv_uis_free(uis); - - cleanup_uris(); - return 1; -} - -/*****************************************************************************/ - -uint32_t atom_Float = 0; -float in = 1.0; -float out = 42.0; - -static const void* -get_port_value(const char* port_symbol, - void* user_data, - uint32_t* size, - uint32_t* type) -{ - if (!strcmp(port_symbol, "input")) { - *size = sizeof(float); - *type = atom_Float; - return ∈ - } else if (!strcmp(port_symbol, "output")) { - *size = sizeof(float); - *type = atom_Float; - return &out; - } else { - fprintf(stderr, "error: get_port_value for nonexistent port `%s'\n", - port_symbol); - *size = *type = 0; - return NULL; - } -} - -static void -set_port_value(const char* port_symbol, - void* user_data, - const void* value, - uint32_t size, - uint32_t type) -{ - if (!strcmp(port_symbol, "input")) { - in = *(float*)value; - } else if (!strcmp(port_symbol, "output")) { - out = *(float*)value; - } else { - fprintf(stderr, "error: set_port_value for nonexistent port `%s'\n", - port_symbol); - } -} - -char** uris = NULL; -size_t n_uris = 0; - -static LV2_URID -map_uri(LV2_URID_Map_Handle handle, - const char* uri) -{ - for (size_t i = 0; i < n_uris; ++i) { - if (!strcmp(uris[i], uri)) { - return i + 1; - } - } - - assert(serd_uri_string_has_scheme((const uint8_t*)uri)); - uris = (char**)realloc(uris, ++n_uris * sizeof(char*)); - uris[n_uris - 1] = lilv_strdup(uri); - return n_uris; -} - -static const char* -unmap_uri(LV2_URID_Map_Handle handle, - LV2_URID urid) -{ - if (urid > 0 && urid <= n_uris) { - return uris[urid - 1]; - } - return NULL; -} - -static char* temp_dir = NULL; - -static char* -lilv_make_path(LV2_State_Make_Path_Handle handle, - const char* path) -{ - return lilv_path_join(temp_dir, path); -} - -static int -test_state(void) -{ - init_world(); - - uint8_t* abs_bundle = (uint8_t*)lilv_path_absolute(LILV_TEST_BUNDLE); - SerdNode bundle = serd_node_new_file_uri(abs_bundle, 0, 0, true); - LilvNode* bundle_uri = lilv_new_uri(world, (const char*)bundle.buf); - LilvNode* plugin_uri = lilv_new_uri(world, - "http://example.org/lilv-test-plugin"); - lilv_world_load_bundle(world, bundle_uri); - free(abs_bundle); - serd_node_free(&bundle); - - const LilvPlugins* plugins = lilv_world_get_all_plugins(world); - const LilvPlugin* plugin = lilv_plugins_get_by_uri(plugins, plugin_uri); - TEST_ASSERT(plugin); - - LV2_URID_Map map = { NULL, map_uri }; - LV2_Feature map_feature = { LV2_URID_MAP_URI, &map }; - LV2_URID_Unmap unmap = { NULL, unmap_uri }; - LV2_Feature unmap_feature = { LV2_URID_UNMAP_URI, &unmap }; - const LV2_Feature* features[] = { &map_feature, &unmap_feature, NULL }; - - atom_Float = map.map(map.handle, "http://lv2plug.in/ns/ext/atom#Float"); - - LilvNode* num = lilv_new_int(world, 5); - LilvState* nostate = lilv_state_new_from_file(world, &map, num, "/junk"); - TEST_ASSERT(!nostate); - - LilvInstance* instance = lilv_plugin_instantiate(plugin, 48000.0, features); - TEST_ASSERT(instance); - lilv_instance_activate(instance); - lilv_instance_connect_port(instance, 0, &in); - lilv_instance_connect_port(instance, 1, &out); - lilv_instance_run(instance, 1); - TEST_ASSERT(in == 1.0); - TEST_ASSERT(out == 1.0); - - temp_dir = lilv_realpath("temp"); - - const char* file_dir = NULL; - char* copy_dir = NULL; - char* link_dir = NULL; - char* save_dir = NULL; - - // Get instance state state - LilvState* state = lilv_state_new_from_instance( - plugin, instance, &map, - file_dir, copy_dir, link_dir, save_dir, - get_port_value, world, 0, NULL); - - // Get another instance state - LilvState* state2 = lilv_state_new_from_instance( - plugin, instance, &map, - file_dir, copy_dir, link_dir, save_dir, - get_port_value, world, 0, NULL); - - // Ensure they are equal - TEST_ASSERT(lilv_state_equals(state, state2)); - - // Check that we can't save a state with no URI - char* bad_state_str = lilv_state_to_string( - world, &map, &unmap, state, NULL, NULL); - TEST_ASSERT(!bad_state_str); - - // Check that we can't restore the NULL string (and it doesn't crash) - LilvState* bad_state = lilv_state_new_from_string(world, &map, NULL); - TEST_ASSERT(!bad_state); - - // Save state to a string - char* state1_str = lilv_state_to_string( - world, &map, &unmap, state, "http://example.org/state1", NULL); - - // Restore from string - LilvState* from_str = lilv_state_new_from_string(world, &map, state1_str); - - // Ensure they are equal - TEST_ASSERT(lilv_state_equals(state, from_str)); - free(state1_str); - - const LilvNode* state_plugin_uri = lilv_state_get_plugin_uri(state); - TEST_ASSERT(lilv_node_equals(state_plugin_uri, plugin_uri)); - - // Tinker with the label of the first state - TEST_ASSERT(lilv_state_get_label(state) == NULL); - lilv_state_set_label(state, "Test State Old Label"); - TEST_ASSERT(!strcmp(lilv_state_get_label(state), "Test State Old Label")); - lilv_state_set_label(state, "Test State"); - TEST_ASSERT(!strcmp(lilv_state_get_label(state), "Test State")); - - TEST_ASSERT(!lilv_state_equals(state, state2)); // Label changed - - // Run and get a new instance state (which should now differ) - lilv_instance_run(instance, 1); - LilvState* state3 = lilv_state_new_from_instance( - plugin, instance, &map, - file_dir, copy_dir, link_dir, save_dir, - get_port_value, world, 0, NULL); - TEST_ASSERT(!lilv_state_equals(state2, state3)); // num_runs changed - - // Restore instance state to original state - lilv_state_restore(state2, instance, set_port_value, NULL, 0, NULL); - - // Take a new snapshot and ensure it matches the set state - LilvState* state4 = lilv_state_new_from_instance( - plugin, instance, &map, - file_dir, copy_dir, link_dir, save_dir, - get_port_value, world, 0, NULL); - TEST_ASSERT(lilv_state_equals(state2, state4)); - - // Save state to a directory - int ret = lilv_state_save(world, &map, &unmap, state, NULL, - "state.lv2", "state.ttl"); - TEST_ASSERT(!ret); - - // Load state from directory - LilvState* state5 = lilv_state_new_from_file(world, &map, NULL, - "state.lv2/state.ttl"); - - TEST_ASSERT(lilv_state_equals(state, state5)); // Round trip accuracy - - // Save state with URI to a directory - const char* state_uri = "http://example.org/state"; - ret = lilv_state_save(world, &map, &unmap, state, state_uri, - "state6.lv2", "state6.ttl"); - TEST_ASSERT(!ret); - - // Load default bundle into world and load state from it - uint8_t* state6_path = (uint8_t*)lilv_path_absolute("state6.lv2/"); - SerdNode state6_uri = serd_node_new_file_uri(state6_path, 0, 0, true); - LilvNode* test_state_bundle = lilv_new_uri(world, (const char*)state6_uri.buf); - LilvNode* test_state_node = lilv_new_uri(world, state_uri); - lilv_world_load_bundle(world, test_state_bundle); - lilv_world_load_resource(world, test_state_node); - serd_node_free(&state6_uri); - free(state6_path); - - LilvState* state6 = lilv_state_new_from_world(world, &map, test_state_node); - TEST_ASSERT(lilv_state_equals(state, state6)); // Round trip accuracy - lilv_node_free(test_state_bundle); - lilv_node_free(test_state_node); - - unsetenv("LV2_STATE_BUNDLE"); - - // Make directories and test files support - mkdir("temp", 0700); - file_dir = temp_dir; - mkdir("files", 0700); - copy_dir = lilv_realpath("files"); - mkdir("links", 0700); - link_dir = lilv_realpath("links"); - - LV2_State_Make_Path make_path = { NULL, lilv_make_path }; - LV2_Feature make_path_feature = { LV2_STATE__makePath, &make_path }; - const LV2_Feature* ffeatures[] = { &make_path_feature, &map_feature, NULL }; - - lilv_instance_deactivate(instance); - lilv_instance_free(instance); - instance = lilv_plugin_instantiate(plugin, 48000.0, ffeatures); - lilv_instance_activate(instance); - lilv_instance_connect_port(instance, 0, &in); - lilv_instance_connect_port(instance, 1, &out); - lilv_instance_run(instance, 1); - - // Get instance state state - LilvState* fstate = lilv_state_new_from_instance( - plugin, instance, &map, - file_dir, copy_dir, link_dir, "fstate.lv2", - get_port_value, world, 0, ffeatures); - - // Get another instance state - LilvState* fstate2 = lilv_state_new_from_instance( - plugin, instance, &map, - file_dir, copy_dir, link_dir, "fstate2.lv2", - get_port_value, world, 0, ffeatures); - - // Should be identical - TEST_ASSERT(lilv_state_equals(fstate, fstate2)); - - // Run, writing more to rec file - lilv_instance_run(instance, 2); - - // Get yet another instance state - LilvState* fstate3 = lilv_state_new_from_instance( - plugin, instance, &map, file_dir, copy_dir, link_dir, "fstate3.lv2", - get_port_value, world, 0, ffeatures); - - // Should be different - TEST_ASSERT(!lilv_state_equals(fstate, fstate3)); - - // Save state to a directory - ret = lilv_state_save(world, &map, &unmap, fstate, NULL, - "fstate.lv2", "fstate.ttl"); - TEST_ASSERT(!ret); - - // Load state from directory - LilvState* fstate4 = lilv_state_new_from_file(world, &map, NULL, - "fstate.lv2/fstate.ttl"); - TEST_ASSERT(lilv_state_equals(fstate, fstate4)); // Round trip accuracy - - // Restore instance state to loaded state - lilv_state_restore(fstate4, instance, set_port_value, NULL, 0, ffeatures); - - // Take a new snapshot and ensure it matches - LilvState* fstate5 = lilv_state_new_from_instance( - plugin, instance, &map, - file_dir, copy_dir, link_dir, "fstate5.lv2", - get_port_value, world, 0, ffeatures); - TEST_ASSERT(lilv_state_equals(fstate3, fstate5)); - - // Save state to a (different) directory again - ret = lilv_state_save(world, &map, &unmap, fstate, NULL, - "fstate6.lv2", "fstate6.ttl"); - TEST_ASSERT(!ret); - - // Reload it and ensure it's identical to the other loaded version - LilvState* fstate6 = lilv_state_new_from_file(world, &map, NULL, - "fstate6.lv2/fstate6.ttl"); - TEST_ASSERT(lilv_state_equals(fstate4, fstate6)); - - // Run, changing rec file (without changing size) - lilv_instance_run(instance, 3); - - // Take a new snapshot - LilvState* fstate7 = lilv_state_new_from_instance( - plugin, instance, &map, - file_dir, copy_dir, link_dir, "fstate7.lv2", - get_port_value, world, 0, ffeatures); - TEST_ASSERT(!lilv_state_equals(fstate6, fstate7)); - - // Save the changed state to a (different) directory again - ret = lilv_state_save(world, &map, &unmap, fstate7, NULL, - "fstate7.lv2", "fstate7.ttl"); - TEST_ASSERT(!ret); - - // Reload it and ensure it's changed - LilvState* fstate72 = lilv_state_new_from_file(world, &map, NULL, - "fstate7.lv2/fstate7.ttl"); - TEST_ASSERT(lilv_state_equals(fstate72, fstate7)); - TEST_ASSERT(!lilv_state_equals(fstate6, fstate72)); - - lilv_instance_deactivate(instance); - lilv_instance_free(instance); - - lilv_node_free(num); - - lilv_state_free(state); - lilv_state_free(from_str); - lilv_state_free(state2); - lilv_state_free(state3); - lilv_state_free(state4); - lilv_state_free(state5); - lilv_state_free(state6); - lilv_state_free(fstate); - lilv_state_free(fstate2); - lilv_state_free(fstate3); - lilv_state_free(fstate4); - lilv_state_free(fstate5); - lilv_state_free(fstate6); - lilv_state_free(fstate7); - lilv_state_free(fstate72); - - // Free URI map - for (size_t i = 0; i < n_uris; ++i) { - free(uris[i]); - } - free(uris); - n_uris = 0; - - lilv_node_free(plugin_uri); - lilv_node_free(bundle_uri); - free(link_dir); - free(copy_dir); - free(temp_dir); - - cleanup_uris(); - return 1; -} - -/*****************************************************************************/ - -static int -test_bad_port_symbol(void) -{ - if (!start_bundle(MANIFEST_PREFIXES - ":plug a lv2:Plugin ; lv2:binary ; rdfs:seeAlso .\n", - BUNDLE_PREFIXES PREFIX_LV2EV - ":plug a lv2:Plugin ; " - PLUGIN_NAME("Test plugin") " ; " - LICENSE_GPL " ; " - "doap:homepage ; " - "lv2:port [ " - " a lv2:ControlPort ; a lv2:InputPort ; " - " lv2:index 0 ; lv2:symbol \"0invalid\" ;" - " lv2:name \"Invalid\" ; " - "] .")) - return 0; - - init_uris(); - - const LilvPlugins* plugins = lilv_world_get_all_plugins(world); - const LilvPlugin* plug = lilv_plugins_get_by_uri(plugins, plugin_uri_value); - - uint32_t n_ports = lilv_plugin_get_num_ports(plug); - TEST_ASSERT(n_ports == 0); - - cleanup_uris(); - return 1; -} - -/*****************************************************************************/ - -static int -test_bad_port_index(void) -{ - if (!start_bundle(MANIFEST_PREFIXES - ":plug a lv2:Plugin ; lv2:binary ; rdfs:seeAlso .\n", - BUNDLE_PREFIXES PREFIX_LV2EV - ":plug a lv2:Plugin ; " - PLUGIN_NAME("Test plugin") " ; " - LICENSE_GPL " ; " - "doap:homepage ; " - "lv2:port [ " - " a lv2:ControlPort ; a lv2:InputPort ; " - " lv2:index \"notaninteger\" ; lv2:symbol \"invalid\" ;" - " lv2:name \"Invalid\" ; " - "] .")) - return 0; - - init_uris(); - - const LilvPlugins* plugins = lilv_world_get_all_plugins(world); - const LilvPlugin* plug = lilv_plugins_get_by_uri(plugins, plugin_uri_value); - - uint32_t n_ports = lilv_plugin_get_num_ports(plug); - TEST_ASSERT(n_ports == 0); - - cleanup_uris(); - return 1; -} - -/*****************************************************************************/ - -static int -test_string(void) -{ - char* s = NULL; - - TEST_ASSERT(!strcmp((s = lilv_dirname("/foo/bar")), "/foo")); free(s); - TEST_ASSERT(!strcmp((s = lilv_dirname("/foo/bar/")), "/foo")); free(s); - TEST_ASSERT(!strcmp((s = lilv_dirname("/foo///bar/")), "/foo")); free(s); - TEST_ASSERT(!strcmp((s = lilv_dirname("/foo///bar//")), "/foo")); free(s); - TEST_ASSERT(!strcmp((s = lilv_dirname("foo")), ".")); free(s); - TEST_ASSERT(!strcmp((s = lilv_dirname("/foo")), "/")); free(s); - TEST_ASSERT(!strcmp((s = lilv_dirname("/")), "/")); free(s); - TEST_ASSERT(!strcmp((s = lilv_dirname("//")), "/")); free(s); - TEST_ASSERT(!strcmp((s = lilv_path_relative_to("/a/b", "/a/")), "b")); free(s); - TEST_ASSERT(!strcmp((s = lilv_path_relative_to("/a", "/b/c/")), "/a")); free(s); - TEST_ASSERT(!strcmp((s = lilv_path_relative_to("/a/b/c", "/a/b/d/")), "../c")); free(s); - TEST_ASSERT(!strcmp((s = lilv_path_relative_to("/a/b/c", "/a/b/d/e/")), "../../c")); free(s); - TEST_ASSERT(!strcmp((s = lilv_path_join("/a", "b")), "/a/b")); free(s); - TEST_ASSERT(!strcmp((s = lilv_path_join("/a", "/b")), "/a/b")); free(s); - TEST_ASSERT(!strcmp((s = lilv_path_join("/a/", "/b")), "/a/b")); free(s); - TEST_ASSERT(!strcmp((s = lilv_path_join("/a/", "b")), "/a/b")); free(s); - TEST_ASSERT(!strcmp((s = lilv_path_join("/a", NULL)), "/a/")); free(s); - -#ifndef _WIN32 - setenv("LILV_TEST_1", "test", 1); - char* home_foo = lilv_strjoin(getenv("HOME"), "/foo", NULL); - TEST_ASSERT(!strcmp((s = lilv_expand("$LILV_TEST_1")), "test")); free(s); - TEST_ASSERT(!strcmp((s = lilv_expand("~")), getenv("HOME"))); free(s); - TEST_ASSERT(!strcmp((s = lilv_expand("~foo")), "~foo")); free(s); - TEST_ASSERT(!strcmp((s = lilv_expand("~/foo")), home_foo)); free(s); - TEST_ASSERT(!strcmp((s = lilv_expand("$NOT_A_VAR")), "$NOT_A_VAR")); free(s); - free(home_foo); - unsetenv("LILV_TEST_1"); -#endif - - return 1; -} - -/*****************************************************************************/ - -/* add tests here */ -static struct TestCase tests[] = { - TEST_CASE(utils), - TEST_CASE(value), - TEST_CASE(verify), - TEST_CASE(no_verify), - TEST_CASE(discovery), - TEST_CASE(lv2_path), - TEST_CASE(classes), - TEST_CASE(plugin), - TEST_CASE(port), - TEST_CASE(ui), - TEST_CASE(bad_port_symbol), - TEST_CASE(bad_port_index), - TEST_CASE(bad_port_index), - TEST_CASE(string), - TEST_CASE(state), - { NULL, NULL } -}; - -static void -run_tests(void) -{ - int i; - for (i = 0; tests[i].title; i++) { - printf("*** Test %s\n", tests[i].title); - if (!tests[i].func()) { - printf("\nTest failed\n"); - /* test case that wasn't able to be executed at all counts as 1 test + 1 error */ - error_count++; - test_count++; - } - unload_bundle(); - cleanup(); - } -} - -int -main(int argc, char* argv[]) -{ - if (argc != 1) { - printf("Syntax: %s\n", argv[0]); - return 0; - } - setenv("LANG", "C", 1); - init_tests(); - run_tests(); - cleanup(); - printf("\n*** Test Results: %d tests, %d errors\n\n", test_count, error_count); - return error_count ? 1 : 0; -} diff --git a/source/modules/lilv/lilv-0.16.0/test/manifest.ttl.in b/source/modules/lilv/lilv-0.16.0/test/manifest.ttl.in deleted file mode 100644 index 48b009bca..000000000 --- a/source/modules/lilv/lilv-0.16.0/test/manifest.ttl.in +++ /dev/null @@ -1,7 +0,0 @@ -@prefix lv2: . -@prefix rdfs: . - - - a lv2:Plugin ; - lv2:binary ; - rdfs:seeAlso . diff --git a/source/modules/lilv/lilv-0.16.0/test/test_plugin.c b/source/modules/lilv/lilv-0.16.0/test/test_plugin.c deleted file mode 100644 index 9f78f4e18..000000000 --- a/source/modules/lilv/lilv-0.16.0/test/test_plugin.c +++ /dev/null @@ -1,384 +0,0 @@ -/* - Lilv Test Plugin - Copyright 2011 David Robillard - - Permission to use, copy, modify, and/or distribute this software for any - purpose with or without fee is hereby granted, provided that the above - copyright notice and this permission notice appear in all copies. - - THIS SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -*/ - -#include -#include -#include -#include - -#include "lv2/lv2plug.in/ns/ext/atom/atom.h" -#include "lv2/lv2plug.in/ns/ext/state/state.h" -#include "lv2/lv2plug.in/ns/ext/urid/urid.h" -#include "lv2/lv2plug.in/ns/lv2core/lv2.h" - -#define TEST_URI "http://example.org/lilv-test-plugin" - -enum { - TEST_INPUT = 0, - TEST_OUTPUT = 1 -}; - -typedef struct { - LV2_URID_Map* map; - - struct { - LV2_URID atom_Float; - } uris; - - char* tmp_file_path; - char* rec_file_path; - FILE* rec_file; - - float* input; - float* output; - unsigned num_runs; -} Test; - -static void -cleanup(LV2_Handle instance) -{ - Test* test = (Test*)instance; - if (test->rec_file) { - fclose(test->rec_file); - } - free(test->tmp_file_path); - free(test->rec_file_path); - free(instance); -} - -static void -connect_port(LV2_Handle instance, - uint32_t port, - void* data) -{ - Test* test = (Test*)instance; - switch (port) { - case TEST_INPUT: - test->input = (float*)data; - break; - case TEST_OUTPUT: - test->output = (float*)data; - break; - default: - break; - } -} - -static LV2_Handle -instantiate(const LV2_Descriptor* descriptor, - double rate, - const char* path, - const LV2_Feature* const* features) -{ - Test* test = (Test*)malloc(sizeof(Test)); - if (!test) { - return NULL; - } - - test->map = NULL; - test->input = NULL; - test->output = NULL; - test->num_runs = 0; - test->tmp_file_path = (char*)malloc(L_tmpnam); - test->rec_file_path = NULL; - test->rec_file = NULL; - - tmpnam(test->tmp_file_path); - - LV2_State_Make_Path* make_path = NULL; - - for (int i = 0; features[i]; ++i) { - if (!strcmp(features[i]->URI, LV2_URID_URI "#map")) { - test->map = (LV2_URID_Map*)features[i]->data; - test->uris.atom_Float = test->map->map( - test->map->handle, LV2_ATOM__Float); - } else if (!strcmp(features[i]->URI, LV2_STATE__makePath)) { - make_path = (LV2_State_Make_Path*)features[i]->data; - } - } - - if (!test->map) { - fprintf(stderr, "Host does not support urid:map\n"); - free(test); - return NULL; - } - - if (make_path) { - test->rec_file_path = make_path->path(make_path->handle, "recfile"); - if (!(test->rec_file = fopen(test->rec_file_path, "w"))) { - fprintf(stderr, "ERROR: Failed to open rec file\n"); - } - fprintf(test->rec_file, "instantiate\n"); - } - - return (LV2_Handle)test; -} - -static void -run(LV2_Handle instance, - uint32_t sample_count) -{ - Test* test = (Test*)instance; - *test->output = *test->input; - if (sample_count == 1) { - ++test->num_runs; - } else if (sample_count == 2 && test->rec_file) { - // Append to rec file (changes size) - fprintf(test->rec_file, "run\n"); - } else if (sample_count == 3 && test->rec_file) { - // Change the first byte of rec file (doesn't change size) - fseek(test->rec_file, 0, SEEK_SET); - fprintf(test->rec_file, "X"); - fseek(test->rec_file, 0, SEEK_END); - } -} - -static uint32_t -map_uri(Test* plugin, const char* uri) -{ - return plugin->map->map(plugin->map->handle, uri); -} - -static LV2_State_Status -save(LV2_Handle instance, - LV2_State_Store_Function store, - void* callback_data, - uint32_t flags, - const LV2_Feature* const* features) -{ - Test* plugin = (Test*)instance; - - LV2_State_Map_Path* map_path = NULL; - LV2_State_Make_Path* make_path = NULL; - for (int i = 0; features && features[i]; ++i) { - if (!strcmp(features[i]->URI, LV2_STATE__mapPath)) { - map_path = (LV2_State_Map_Path*)features[i]->data; - } else if (!strcmp(features[i]->URI, LV2_STATE__makePath)) { - make_path = (LV2_State_Make_Path*)features[i]->data; - } - } - - store(callback_data, - map_uri(plugin, "http://example.org/greeting"), - "hello", - strlen("hello") + 1, - map_uri(plugin, LV2_ATOM__String), - LV2_STATE_IS_POD | LV2_STATE_IS_PORTABLE); - - const uint32_t urid = map_uri(plugin, "http://example.org/urivalue"); - store(callback_data, - map_uri(plugin, "http://example.org/uri"), - &urid, - sizeof(uint32_t), - map_uri(plugin, LV2_ATOM__URID), - LV2_STATE_IS_POD | LV2_STATE_IS_PORTABLE); - - store(callback_data, - map_uri(plugin, "http://example.org/num-runs"), - &plugin->num_runs, - sizeof(plugin->num_runs), - map_uri(plugin, LV2_ATOM__Int), - LV2_STATE_IS_POD | LV2_STATE_IS_PORTABLE); - - const float two = 2.0f; - store(callback_data, - map_uri(plugin, "http://example.org/two"), - &two, - sizeof(two), - map_uri(plugin, LV2_ATOM__Float), - LV2_STATE_IS_POD | LV2_STATE_IS_PORTABLE); - - const uint32_t affirmative = 1; - store(callback_data, - map_uri(plugin, "http://example.org/true"), - &affirmative, - sizeof(affirmative), - map_uri(plugin, LV2_ATOM__Bool), - LV2_STATE_IS_POD | LV2_STATE_IS_PORTABLE); - - const uint32_t negative = 0; - store(callback_data, - map_uri(plugin, "http://example.org/false"), - &negative, - sizeof(negative), - map_uri(plugin, LV2_ATOM__Bool), - LV2_STATE_IS_POD | LV2_STATE_IS_PORTABLE); - - const uint8_t blob[] = "I am a blob of arbitrary data."; - store(callback_data, - map_uri(plugin, "http://example.org/blob"), - blob, - sizeof(blob), - map_uri(plugin, "http://example.org/SomeUnknownType"), - LV2_STATE_IS_POD | LV2_STATE_IS_PORTABLE); - - if (map_path) { - FILE* file = fopen(plugin->tmp_file_path, "w"); - fprintf(file, "Hello\n"); - fclose(file); - char* apath = map_path->abstract_path(map_path->handle, - plugin->tmp_file_path); - char* apath2 = map_path->abstract_path(map_path->handle, - plugin->tmp_file_path); - if (strcmp(apath, apath2)) { - fprintf(stderr, "ERROR: Path %s != %s\n", apath, apath2); - } - - store(callback_data, - map_uri(plugin, "http://example.org/extfile"), - apath, - strlen(apath) + 1, - map_uri(plugin, LV2_ATOM__Path), - LV2_STATE_IS_PORTABLE); - - free(apath); - free(apath2); - - if (plugin->rec_file) { - fflush(plugin->rec_file); - apath = map_path->abstract_path(map_path->handle, - plugin->rec_file_path); - - store(callback_data, - map_uri(plugin, "http://example.org/recfile"), - apath, - strlen(apath) + 1, - map_uri(plugin, LV2_ATOM__Path), - LV2_STATE_IS_PORTABLE); - - free(apath); - } - - if (make_path) { - char* spath = make_path->path(make_path->handle, "save"); - FILE* sfile = fopen(spath, "w"); - fprintf(sfile, "save"); - fclose(sfile); - - apath = map_path->abstract_path(map_path->handle, spath); - store(callback_data, - map_uri(plugin, "http://example.org/save-file"), - apath, - strlen(apath) + 1, - map_uri(plugin, LV2_ATOM__Path), - LV2_STATE_IS_PORTABLE); - free(apath); - free(spath); - } - } - - return LV2_STATE_SUCCESS; -} - -static LV2_State_Status -restore(LV2_Handle instance, - LV2_State_Retrieve_Function retrieve, - void* callback_data, - uint32_t flags, - const LV2_Feature* const* features) -{ - Test* plugin = (Test*)instance; - - LV2_State_Map_Path* map_path = NULL; - for (int i = 0; features && features[i]; ++i) { - if (!strcmp(features[i]->URI, LV2_STATE__mapPath)) { - map_path = (LV2_State_Map_Path*)features[i]->data; - } - } - - size_t size; - uint32_t type; - uint32_t valflags; - - plugin->num_runs = *(int32_t*)retrieve( - callback_data, - map_uri(plugin, "http://example.org/num-runs"), - &size, &type, &valflags); - - if (!map_path) { - return LV2_STATE_ERR_NO_FEATURE; - } - - char* apath = (char*)retrieve( - callback_data, - map_uri(plugin, "http://example.org/extfile"), - &size, &type, &valflags); - - if (apath) { - char* path = map_path->absolute_path(map_path->handle, apath); - FILE* f = fopen(path, "r"); - char str[8]; - size_t n_read = fread(str, 1, sizeof(str), f); - fclose(f); - if (strncmp(str, "Hello\n", n_read)) { - fprintf(stderr, "error: Restored bad file contents `%s' != `Hello'\n", - str); - } - free(path); - } - - apath = (char*)retrieve( - callback_data, - map_uri(plugin, "http://example.org/save-file"), - &size, &type, &valflags); - if (apath) { - char* spath = map_path->absolute_path(map_path->handle, apath); - FILE* sfile = fopen(spath, "r"); - if (!sfile) { - fprintf(stderr, "error: Failed to open save file %s\n", spath); - } else { - fclose(sfile); - } - free(spath); - } else { - fprintf(stderr, "error: Failed to restore save file.\n"); - } - - return LV2_STATE_SUCCESS; -} - -static const void* -extension_data(const char* uri) -{ - static const LV2_State_Interface state = { save, restore }; - if (!strcmp(uri, LV2_STATE__interface)) { - return &state; - } - return NULL; -} - -static const LV2_Descriptor descriptor = { - TEST_URI, - instantiate, - connect_port, - NULL, // activate, - run, - NULL, // deactivate, - cleanup, - extension_data -}; - -LV2_SYMBOL_EXPORT -const LV2_Descriptor* lv2_descriptor(uint32_t index) -{ - switch (index) { - case 0: - return &descriptor; - default: - return NULL; - } -} diff --git a/source/modules/lilv/lilv-0.16.0/test/test_plugin.ttl.in b/source/modules/lilv/lilv-0.16.0/test/test_plugin.ttl.in deleted file mode 100644 index 704f815b6..000000000 --- a/source/modules/lilv/lilv-0.16.0/test/test_plugin.ttl.in +++ /dev/null @@ -1,40 +0,0 @@ -# Lilv Test Plugin -# Copyright 2011 David Robillard -# -# Permission to use, copy, modify, and/or distribute this software for any -# purpose with or without fee is hereby granted, provided that the above -# copyright notice and this permission notice appear in all copies. -# -# THIS SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - -@prefix doap: . -@prefix foaf: . -@prefix lv2: . -@prefix ui: . - - - a lv2:Plugin ; - doap:name "Lilv Test" ; - doap:license ; - lv2:requiredFeature ; - lv2:optionalFeature lv2:hardRTCapable ; - lv2:extensionData ; - lv2:port [ - a lv2:InputPort , - lv2:ControlPort ; - lv2:index 0 ; - lv2:symbol "input" ; - lv2:name "Input" - ] , [ - a lv2:OutputPort , - lv2:ControlPort ; - lv2:index 1 ; - lv2:symbol "output" ; - lv2:name "Output" - ] . diff --git a/source/modules/lilv/lilv-0.16.0/utils/bench.h b/source/modules/lilv/lilv-0.16.0/utils/bench.h deleted file mode 100644 index 948622c01..000000000 --- a/source/modules/lilv/lilv-0.16.0/utils/bench.h +++ /dev/null @@ -1,52 +0,0 @@ -/* - Copyright 2011-2012 David Robillard - - Permission to use, copy, modify, and/or distribute this software for any - purpose with or without fee is hereby granted, provided that the above - copyright notice and this permission notice appear in all copies. - - THIS SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -*/ - -/** - @file bench.h A simple real-time benchmarking API. -*/ - -#ifndef BENCH_H -#define BENCH_H - -#define _POSIX_C_SOURCE 199309L - -#include -#include - -static inline double -bench_elapsed_s(const struct timespec* start, const struct timespec* end) -{ - return ((end->tv_sec - start->tv_sec) - + ((end->tv_nsec - start->tv_nsec) * 0.000000001)); -} - -static inline struct timespec -bench_start() -{ - struct timespec start_t; - clock_gettime(CLOCK_REALTIME, &start_t); - return start_t; -} - -static inline double -bench_end(const struct timespec* start_t) -{ - struct timespec end_t; - clock_gettime(CLOCK_REALTIME, &end_t); - return bench_elapsed_s(start_t, &end_t); -} - -#endif /* BENCH_H */ diff --git a/source/modules/lilv/lilv-0.16.0/utils/lilv-bench.c b/source/modules/lilv/lilv-0.16.0/utils/lilv-bench.c deleted file mode 100644 index 432e5fd3c..000000000 --- a/source/modules/lilv/lilv-0.16.0/utils/lilv-bench.c +++ /dev/null @@ -1,38 +0,0 @@ -/* - Copyright 2007-2011 David Robillard - - Permission to use, copy, modify, and/or distribute this software for any - purpose with or without fee is hereby granted, provided that the above - copyright notice and this permission notice appear in all copies. - - THIS SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -*/ - -#include - -#include "lilv/lilv.h" - -#include "lilv_config.h" - -int -main(int argc, char** argv) -{ - LilvWorld* world = lilv_world_new(); - lilv_world_load_all(world); - - const LilvPlugins* plugins = lilv_world_get_all_plugins(world); - LILV_FOREACH(plugins, p, plugins) { - const LilvPlugin* plugin = lilv_plugins_get(plugins, p); - lilv_plugin_get_class(plugin); - } - - lilv_world_free(world); - - return 0; -} diff --git a/source/modules/lilv/lilv-0.16.0/utils/lilv.bash_completion b/source/modules/lilv/lilv-0.16.0/utils/lilv.bash_completion deleted file mode 100644 index 4a553a713..000000000 --- a/source/modules/lilv/lilv-0.16.0/utils/lilv.bash_completion +++ /dev/null @@ -1,59 +0,0 @@ -# Bash auto-completion script written for lv2info and lv2jack. -# Could be adapted to any other program that takes an -# LV2 plugin URI as parameter. - -# Updated for Lilv by David Robillard on 2012-01-08. -# Written by Lars Luthman on 2009-10-12. -# No copyright claimed for this script. Do what you want with it. - -# For some reason Bash splits the command line not only at whitespace -# but also at ':' signs before putting the parts into COMP_WORDS. -# Since ':' is used in all URIs, which are what we want to complete, -# we have to put the URI back together before we can complete it -# and then cut off the parts we prepended from the completions. -# It probably breaks in some special cases but for most common uses -# it should work fine. - -function _lv2info() { - local uri cur opts w wn raw_reply len type - opts=`lv2ls | xargs -n1 echo -n " "` - - # This is the last "word", as split by Bash. - cur="${COMP_WORDS[COMP_CWORD]}" - w="$cur" - - # Add the previous word while it or this one is a word break character - for i in `seq $(( $COMP_CWORD - 1 )) -1 1`; do - wn="${COMP_WORDS[i]}" - if expr "$COMP_WORDBREAKS" : ".*$wn" > /dev/null; then - if expr "$COMP_WORDBREAKS" : ".*$w" > /dev/null; then - break - fi - fi - w="$wn" - uri="$w$uri" - done - - # Check the length of the words we prepend - len=${#uri} - uri="$uri$cur" - raw_reply="$(compgen -W "${opts}" -- ${uri})" - - # If we are listing alternatives, just print the full URIs. - type=`echo $COMP_TYPE | awk '{ printf "%c", $1 }'` - if expr "?!@%" : ".*$type" > /dev/null; then - COMPREPLY=( $raw_reply ) - return 0 - fi - - # Otherwise, strip the prepended words from all completion suggestions. - COMPREPLY=() - for i in $raw_reply; do - COMPREPLY=( ${COMPREPLY[@]} ${i:len} ) - done -} - -complete -F _lv2info lv2info - -# And the same for lv2jack. -complete -F _lv2info lv2jack diff --git a/source/modules/lilv/lilv-0.16.0/utils/lv2bench.c b/source/modules/lilv/lilv-0.16.0/utils/lv2bench.c deleted file mode 100644 index 30a4aafd1..000000000 --- a/source/modules/lilv/lilv-0.16.0/utils/lv2bench.c +++ /dev/null @@ -1,226 +0,0 @@ -/* - Copyright 2012 David Robillard - - Permission to use, copy, modify, and/or distribute this software for any - purpose with or without fee is hereby granted, provided that the above - copyright notice and this permission notice appear in all copies. - - THIS SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -*/ - -#define _POSIX_C_SOURCE 199309L - -#include -#include -#include - -#include "lilv/lilv.h" -#include "lv2/lv2plug.in/ns/ext/atom/atom.h" - -#include "lilv_config.h" -#include "bench.h" -#include "uri_table.h" - -static LilvNode* atom_AtomPort = NULL; -static LilvNode* atom_Sequence = NULL; -static LilvNode* lv2_AudioPort = NULL; -static LilvNode* lv2_CVPort = NULL; -static LilvNode* lv2_ControlPort = NULL; -static LilvNode* lv2_InputPort = NULL; -static LilvNode* lv2_OutputPort = NULL; -static LilvNode* urid_map = NULL; - -static bool full_output = false; - -static void -print_version(void) -{ - printf( - "lv2bench (lilv) " LILV_VERSION "\n" - "Copyright 2012 David Robillard \n" - "License: \n" - "This is free software: you are free to change and redistribute it.\n" - "There is NO WARRANTY, to the extent permitted by law.\n"); -} - -static void -print_usage(void) -{ - printf("lv2bench - Benchmark all installed and supported LV2 plugins.\n"); - printf("Usage: lv2bench [OPTIONS]\n"); - printf("\n"); - printf(" -b BLOCK_SIZE Specify block size, in audio frames.\n"); - printf(" -f, --full Full plottable output.\n"); - printf(" -h, --help Display this help and exit.\n"); - printf(" -n FRAMES Total number of audio frames to process\n"); - printf(" --version Display version information and exit\n"); -} - -static double -bench(const LilvPlugin* p, uint32_t sample_count, uint32_t block_size) -{ - URITable uri_table; - uri_table_init(&uri_table); - - LV2_URID_Map map = { &uri_table, uri_table_map }; - LV2_Feature map_feature = { LV2_URID_MAP_URI, &map }; - LV2_URID_Unmap unmap = { &uri_table, uri_table_unmap }; - LV2_Feature unmap_feature = { LV2_URID_UNMAP_URI, &unmap }; - const LV2_Feature* features[] = { &map_feature, &unmap_feature, NULL }; - - float* const buf = (float*)calloc(block_size * 2, sizeof(float)); - float* const in = buf; - float* const out = buf + block_size; - if (!buf) { - fprintf(stderr, "Out of memory\n"); - return 0.0; - } - - LV2_Atom_Sequence seq = { - { sizeof(LV2_Atom_Sequence_Body), - uri_table_map(&uri_table, LV2_ATOM__Sequence) }, - { 0, 0 } }; - - const char* uri = lilv_node_as_string(lilv_plugin_get_uri(p)); - LilvNodes* required = lilv_plugin_get_required_features(p); - LILV_FOREACH(nodes, i, required) { - const LilvNode* feature = lilv_nodes_get(required, i); - if (!lilv_node_equals(feature, urid_map)) { - fprintf(stderr, "<%s> requires feature <%s>, skipping\n", - uri, lilv_node_as_uri(feature)); - free(buf); - return 0.0; - } - } - - LilvInstance* instance = lilv_plugin_instantiate(p, 48000.0, features); - if (!instance) { - fprintf(stderr, "Failed to instantiate <%s>\n", - lilv_node_as_uri(lilv_plugin_get_uri(p))); - free(buf); - return 0.0; - } - - float* controls = (float*)calloc( - lilv_plugin_get_num_ports(p), sizeof(float)); - lilv_plugin_get_port_ranges_float(p, NULL, NULL, controls); - - const uint32_t n_ports = lilv_plugin_get_num_ports(p); - for (uint32_t index = 0; index < n_ports; ++index) { - const LilvPort* port = lilv_plugin_get_port_by_index(p, index); - if (lilv_port_is_a(p, port, lv2_ControlPort)) { - lilv_instance_connect_port(instance, index, &controls[index]); - } else if (lilv_port_is_a(p, port, lv2_AudioPort) || - lilv_port_is_a(p, port, lv2_CVPort)) { - if (lilv_port_is_a(p, port, lv2_InputPort)) { - lilv_instance_connect_port(instance, index, in); - } else if (lilv_port_is_a(p, port, lv2_OutputPort)) { - lilv_instance_connect_port(instance, index, out); - } else { - fprintf(stderr, "<%s> port %d neither input nor output, skipping\n", - uri, index); - lilv_instance_free(instance); - free(buf); - free(controls); - return 0.0; - } - } else if (lilv_port_is_a(p, port, atom_AtomPort)) { - lilv_instance_connect_port(instance, index, &seq); - } else { - fprintf(stderr, "<%s> port %d has unknown type, skipping\n", - uri, index); - lilv_instance_free(instance); - free(buf); - free(controls); - return 0.0; - } - } - - lilv_instance_activate(instance); - - struct timespec ts = bench_start(); - for (uint32_t i = 0; i < (sample_count / block_size); ++i) { - lilv_instance_run(instance, block_size); - } - const double elapsed = bench_end(&ts); - - lilv_instance_deactivate(instance); - lilv_instance_free(instance); - - uri_table_destroy(&uri_table); - - if (full_output) { - printf("%d %d ", block_size, sample_count); - } - printf("%lf %s\n", elapsed, uri); - - free(buf); - free(controls); - return elapsed; -} - -int -main(int argc, char** argv) -{ - uint32_t block_size = 512; - uint32_t sample_count = (1 << 19); - - for (int i = 1; i < argc; ++i) { - if (!strcmp(argv[i], "--version")) { - print_version(); - return 0; - } else if (!strcmp(argv[i], "--help")) { - print_usage(); - return 0; - } else if (!strcmp(argv[i], "-f")) { - full_output = true; - } else if (!strcmp(argv[i], "-n") && (i + 1 < argc)) { - sample_count = atoi(argv[++i]); - } else if (!strcmp(argv[i], "-b") && (i + 1 < argc)) { - block_size = atoi(argv[++i]); - } else { - print_usage(); - return 1; - } - } - - LilvWorld* world = lilv_world_new(); - lilv_world_load_all(world); - - atom_AtomPort = lilv_new_uri(world, LV2_ATOM__AtomPort); - atom_Sequence = lilv_new_uri(world, LV2_ATOM__Sequence); - lv2_AudioPort = lilv_new_uri(world, LV2_CORE__AudioPort); - lv2_CVPort = lilv_new_uri(world, LV2_CORE__CVPort); - lv2_ControlPort = lilv_new_uri(world, LV2_CORE__ControlPort); - lv2_InputPort = lilv_new_uri(world, LV2_CORE__InputPort); - lv2_OutputPort = lilv_new_uri(world, LV2_CORE__OutputPort); - urid_map = lilv_new_uri(world, LV2_URID__map); - - if (full_output) { - printf("# Block Samples Time Plugin\n"); - } - - const LilvPlugins* plugins = lilv_world_get_all_plugins(world); - LILV_FOREACH(plugins, i, plugins) { - bench(lilv_plugins_get(plugins, i), sample_count, block_size); - } - - lilv_node_free(urid_map); - lilv_node_free(lv2_OutputPort); - lilv_node_free(lv2_InputPort); - lilv_node_free(lv2_ControlPort); - lilv_node_free(lv2_CVPort); - lilv_node_free(lv2_AudioPort); - lilv_node_free(atom_Sequence); - lilv_node_free(atom_AtomPort); - - lilv_world_free(world); - - return 0; -} diff --git a/source/modules/lilv/lilv-0.16.0/utils/lv2info.c b/source/modules/lilv/lilv-0.16.0/utils/lv2info.c deleted file mode 100644 index 3dc7a09bf..000000000 --- a/source/modules/lilv/lilv-0.16.0/utils/lv2info.c +++ /dev/null @@ -1,437 +0,0 @@ -/* - Copyright 2007-2011 David Robillard - - Permission to use, copy, modify, and/or distribute this software for any - purpose with or without fee is hereby granted, provided that the above - copyright notice and this permission notice appear in all copies. - - THIS SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -*/ - -#include -#include -#include -#include -#include - -#include "lv2/lv2plug.in/ns/ext/port-groups/port-groups.h" -#include "lv2/lv2plug.in/ns/ext/presets/presets.h" -#include "lv2/lv2plug.in/ns/ext/event/event.h" - -#include "lilv/lilv.h" - -#include "lilv_config.h" - -#ifdef _MSC_VER -# define isnan _isnan -#endif - -LilvNode* applies_to_pred = NULL; -LilvNode* control_class = NULL; -LilvNode* event_class = NULL; -LilvNode* group_pred = NULL; -LilvNode* label_pred = NULL; -LilvNode* preset_class = NULL; -LilvNode* designation_pred = NULL; -LilvNode* supports_event_pred = NULL; - -static void -print_port(const LilvPlugin* p, - uint32_t index, - float* mins, - float* maxes, - float* defaults) -{ - const LilvPort* port = lilv_plugin_get_port_by_index(p, index); - - printf("\n\tPort %d:\n", index); - - if (!port) { - printf("\t\tERROR: Illegal/nonexistent port\n"); - return; - } - - bool first = true; - - const LilvNodes* classes = lilv_port_get_classes(p, port); - printf("\t\tType: "); - LILV_FOREACH(nodes, i, classes) { - const LilvNode* value = lilv_nodes_get(classes, i); - if (!first) { - printf("\n\t\t "); - } - printf("%s", lilv_node_as_uri(value)); - first = false; - } - - if (lilv_port_is_a(p, port, event_class)) { - LilvNodes* supported = lilv_port_get_value( - p, port, supports_event_pred); - if (lilv_nodes_size(supported) > 0) { - printf("\n\t\tSupported events:\n"); - LILV_FOREACH(nodes, i, supported) { - const LilvNode* value = lilv_nodes_get(supported, i); - printf("\t\t\t%s\n", lilv_node_as_uri(value)); - } - } - lilv_nodes_free(supported); - } - - LilvScalePoints* points = lilv_port_get_scale_points(p, port); - if (points) - printf("\n\t\tScale Points:\n"); - LILV_FOREACH(scale_points, i, points) { - const LilvScalePoint* point = lilv_scale_points_get(points, i); - printf("\t\t\t%s = \"%s\"\n", - lilv_node_as_string(lilv_scale_point_get_value(point)), - lilv_node_as_string(lilv_scale_point_get_label(point))); - } - lilv_scale_points_free(points); - - const LilvNode* sym = lilv_port_get_symbol(p, port); - printf("\n\t\tSymbol: %s\n", lilv_node_as_string(sym)); - - LilvNode* name = lilv_port_get_name(p, port); - printf("\t\tName: %s\n", lilv_node_as_string(name)); - lilv_node_free(name); - - LilvNodes* groups = lilv_port_get_value(p, port, group_pred); - if (lilv_nodes_size(groups) > 0) { - printf("\t\tGroup: %s\n", - lilv_node_as_string(lilv_nodes_get_first(groups))); - } - lilv_nodes_free(groups); - - LilvNodes* designations = lilv_port_get_value(p, port, designation_pred); - if (lilv_nodes_size(designations) > 0) { - printf("\t\tDesignation: %s\n", - lilv_node_as_string(lilv_nodes_get_first(designations))); - } - lilv_nodes_free(designations); - - if (lilv_port_is_a(p, port, control_class)) { - if (!isnan(mins[index])) - printf("\t\tMinimum: %f\n", mins[index]); - if (!isnan(mins[index])) - printf("\t\tMaximum: %f\n", maxes[index]); - if (!isnan(mins[index])) - printf("\t\tDefault: %f\n", defaults[index]); - } - - LilvNodes* properties = lilv_port_get_properties(p, port); - if (lilv_nodes_size(properties) > 0) - printf("\t\tProperties: "); - first = true; - LILV_FOREACH(nodes, i, properties) { - if (!first) { - printf("\t\t "); - } - printf("%s\n", lilv_node_as_uri(lilv_nodes_get(properties, i))); - first = false; - } - if (lilv_nodes_size(properties) > 0) - printf("\n"); - lilv_nodes_free(properties); -} - -static void -print_plugin(LilvWorld* world, - const LilvPlugin* p) -{ - LilvNode* val = NULL; - - printf("%s\n\n", lilv_node_as_uri(lilv_plugin_get_uri(p))); - - val = lilv_plugin_get_name(p); - if (val) { - printf("\tName: %s\n", lilv_node_as_string(val)); - lilv_node_free(val); - } - - const LilvPluginClass* pclass = lilv_plugin_get_class(p); - const LilvNode* class_label = lilv_plugin_class_get_label(pclass); - if (class_label) { - printf("\tClass: %s\n", lilv_node_as_string(class_label)); - } - - val = lilv_plugin_get_author_name(p); - if (val) { - printf("\tAuthor: %s\n", lilv_node_as_string(val)); - lilv_node_free(val); - } - - val = lilv_plugin_get_author_email(p); - if (val) { - printf("\tAuthor Email: %s\n", lilv_node_as_uri(val)); - lilv_node_free(val); - } - - val = lilv_plugin_get_author_homepage(p); - if (val) { - printf("\tAuthor Homepage: %s\n", lilv_node_as_uri(val)); - lilv_node_free(val); - } - - if (lilv_plugin_has_latency(p)) { - uint32_t latency_port = lilv_plugin_get_latency_port_index(p); - printf("\tHas latency: yes, reported by port %d\n", latency_port); - } else { - printf("\tHas latency: no\n"); - } - - printf("\tBundle: %s\n", - lilv_node_as_uri(lilv_plugin_get_bundle_uri(p))); - - const LilvNode* binary_uri = lilv_plugin_get_library_uri(p); - if (binary_uri) { - printf("\tBinary: %s\n", - lilv_node_as_uri(lilv_plugin_get_library_uri(p))); - } - - LilvUIs* uis = lilv_plugin_get_uis(p); - if (lilv_nodes_size(uis) > 0) { - printf("\tUIs:\n"); - LILV_FOREACH(uis, i, uis) { - const LilvUI* ui = lilv_uis_get(uis, i); - printf("\t\t%s\n", lilv_node_as_uri(lilv_ui_get_uri(ui))); - - const char* binary = lilv_node_as_uri(lilv_ui_get_binary_uri(ui)); - - const LilvNodes* types = lilv_ui_get_classes(ui); - LILV_FOREACH(nodes, t, types) { - printf("\t\t\tClass: %s\n", - lilv_node_as_uri(lilv_nodes_get(types, t))); - } - - if (binary) - printf("\t\t\tBinary: %s\n", binary); - - printf("\t\t\tBundle: %s\n", - lilv_node_as_uri(lilv_ui_get_bundle_uri(ui))); - } - } - lilv_uis_free(uis); - - printf("\tData URIs: "); - const LilvNodes* data_uris = lilv_plugin_get_data_uris(p); - bool first = true; - LILV_FOREACH(nodes, i, data_uris) { - if (!first) { - printf("\n\t "); - } - printf("%s", lilv_node_as_uri(lilv_nodes_get(data_uris, i))); - first = false; - } - printf("\n"); - - /* Required Features */ - - LilvNodes* features = lilv_plugin_get_required_features(p); - if (features) - printf("\tRequired Features: "); - first = true; - LILV_FOREACH(nodes, i, features) { - if (!first) { - printf("\n\t "); - } - printf("%s", lilv_node_as_uri(lilv_nodes_get(features, i))); - first = false; - } - if (features) - printf("\n"); - lilv_nodes_free(features); - - /* Optional Features */ - - features = lilv_plugin_get_optional_features(p); - if (features) - printf("\tOptional Features: "); - first = true; - LILV_FOREACH(nodes, i, features) { - if (!first) { - printf("\n\t "); - } - printf("%s", lilv_node_as_uri(lilv_nodes_get(features, i))); - first = false; - } - if (features) - printf("\n"); - lilv_nodes_free(features); - - /* Extension Data */ - - LilvNodes* data = lilv_plugin_get_extension_data(p); - if (data) - printf("\tExtension Data: "); - first = true; - LILV_FOREACH(nodes, i, data) { - if (!first) { - printf("\n\t "); - } - printf("%s", lilv_node_as_uri(lilv_nodes_get(data, i))); - first = false; - } - if (data) - printf("\n"); - lilv_nodes_free(data); - - /* Presets */ - - LilvNodes* presets = lilv_plugin_get_related(p, preset_class); - if (presets) - printf("\tPresets: \n"); - LILV_FOREACH(nodes, i, presets) { - const LilvNode* preset = lilv_nodes_get(presets, i); - lilv_world_load_resource(world, preset); - LilvNodes* titles = lilv_world_find_nodes( - world, preset, label_pred, NULL); - if (titles) { - const LilvNode* title = lilv_nodes_get_first(titles); - printf("\t %s\n", lilv_node_as_string(title)); - lilv_nodes_free(titles); - } else { - fprintf(stderr, "Preset <%s> has no rdfs:label\n", - lilv_node_as_string(lilv_nodes_get(presets, i))); - } - } - lilv_nodes_free(presets); - - /* Ports */ - - const uint32_t num_ports = lilv_plugin_get_num_ports(p); - float* mins = (float*)calloc(num_ports, sizeof(float)); - float* maxes = (float*)calloc(num_ports, sizeof(float)); - float* defaults = (float*)calloc(num_ports, sizeof(float)); - lilv_plugin_get_port_ranges_float(p, mins, maxes, defaults); - - for (uint32_t i = 0; i < num_ports; ++i) - print_port(p, i, mins, maxes, defaults); - - free(mins); - free(maxes); - free(defaults); -} - -static void -print_version(void) -{ - printf( - "lv2info (lilv) " LILV_VERSION "\n" - "Copyright 2007-2011 David Robillard \n" - "License: \n" - "This is free software: you are free to change and redistribute it.\n" - "There is NO WARRANTY, to the extent permitted by law.\n"); -} - -static void -print_usage(void) -{ - printf( - "Usage: lv2info [OPTION]... PLUGIN_URI\n" - "Print information about an installed LV2 plugin.\n\n" - " -p FILE Write Turtle description of plugin to FILE\n" - " -m FILE Add record of plugin to manifest FILE\n" - " --help Display this help and exit\n" - " --version Display version information and exit\n\n" - "For -p and -m, Turtle files are appended to (not overwritten),\n" - "and @prefix directives are only written if the file was empty.\n" - "This allows several plugins to be added to a single file.\n"); -} - -int -main(int argc, char** argv) -{ - if (argc == 1) { - print_usage(); - return 1; - } - - const char* plugin_file = NULL; - const char* manifest_file = NULL; - const char* plugin_uri = NULL; - for (int i = 1; i < argc; ++i) { - if (!strcmp(argv[i], "--version")) { - print_version(); - return 0; - } else if (!strcmp(argv[i], "--help")) { - print_usage(); - return 0; - } else if (!strcmp(argv[i], "-p")) { - plugin_file = argv[++i]; - } else if (!strcmp(argv[i], "-m")) { - manifest_file = argv[++i]; - } else if (argv[i][0] == '-') { - print_usage(); - return 1; - } else if (i == argc - 1) { - plugin_uri = argv[i]; - } - } - - int ret = 0; - - LilvWorld* world = lilv_world_new(); - lilv_world_load_all(world); - - LilvNode* uri = lilv_new_uri(world, plugin_uri); - if (!uri) { - fprintf(stderr, "Invalid plugin URI\n"); - lilv_world_free(world); - return 1; - } - - applies_to_pred = lilv_new_uri(world, LV2_CORE__appliesTo); - control_class = lilv_new_uri(world, LILV_URI_CONTROL_PORT); - event_class = lilv_new_uri(world, LILV_URI_EVENT_PORT); - group_pred = lilv_new_uri(world, LV2_PORT_GROUPS__group); - label_pred = lilv_new_uri(world, LILV_NS_RDFS "label"); - preset_class = lilv_new_uri(world, LV2_PRESETS__Preset); - designation_pred = lilv_new_uri(world, LV2_CORE__designation); - supports_event_pred = lilv_new_uri(world, LV2_EVENT__supportsEvent); - - const LilvPlugins* plugins = lilv_world_get_all_plugins(world); - const LilvPlugin* p = lilv_plugins_get_by_uri(plugins, uri); - - if (p && plugin_file) { - LilvNode* base = lilv_new_uri(world, plugin_file); - - FILE* plugin_fd = fopen(plugin_file, "a"); - lilv_plugin_write_description(world, p, base, plugin_fd); - fclose(plugin_fd); - - if (manifest_file) { - FILE* manifest_fd = fopen(manifest_file, "a"); - lilv_plugin_write_manifest_entry( - world, p, base, manifest_fd, plugin_file); - fclose(manifest_fd); - } - lilv_node_free(base); - } else if (p) { - print_plugin(world, p); - } else { - fprintf(stderr, "Plugin not found.\n"); - } - - ret = (p != NULL ? 0 : -1); - - lilv_node_free(uri); - - lilv_node_free(supports_event_pred); - lilv_node_free(designation_pred); - lilv_node_free(preset_class); - lilv_node_free(label_pred); - lilv_node_free(group_pred); - lilv_node_free(event_class); - lilv_node_free(control_class); - lilv_node_free(applies_to_pred); - - lilv_world_free(world); - return ret; -} - diff --git a/source/modules/lilv/lilv-0.16.0/utils/lv2ls.c b/source/modules/lilv/lilv-0.16.0/utils/lv2ls.c deleted file mode 100644 index 6f898d5f9..000000000 --- a/source/modules/lilv/lilv-0.16.0/utils/lv2ls.c +++ /dev/null @@ -1,93 +0,0 @@ -/* - Copyright 2007-2011 David Robillard - - Permission to use, copy, modify, and/or distribute this software for any - purpose with or without fee is hereby granted, provided that the above - copyright notice and this permission notice appear in all copies. - - THIS SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -*/ - -#include -#include - -#include "lilv/lilv.h" - -#include "lilv_config.h" - -static void -list_plugins(const LilvPlugins* list, bool show_names) -{ - LILV_FOREACH(plugins, i, list) { - const LilvPlugin* p = lilv_plugins_get(list, i); - if (show_names) { - LilvNode* n = lilv_plugin_get_name(p); - printf("%s\n", lilv_node_as_string(n)); - lilv_node_free(n); - } else { - printf("%s\n", lilv_node_as_uri(lilv_plugin_get_uri(p))); - } - } -} - -static void -print_version(void) -{ - printf( - "lv2ls (lilv) " LILV_VERSION "\n" - "Copyright 2007-2011 David Robillard \n" - "License: \n" - "This is free software: you are free to change and redistribute it.\n" - "There is NO WARRANTY, to the extent permitted by law.\n"); -} - -static void -print_usage(void) -{ - printf("Usage: lv2ls [OPTION]...\n"); - printf("List all installed LV2 plugins.\n"); - printf("\n"); - printf(" -n, --names Show names instead of URIs\n"); - printf(" --help Display this help and exit\n"); - printf(" --version Display version information and exit\n"); - printf("\n"); - printf("The environment variable LV2_PATH can be used to control where\n"); - printf("this (and all other lilv based LV2 hosts) will search for plugins.\n"); -} - -int -main(int argc, char** argv) -{ - bool show_names = false; - for (int i = 1; i < argc; ++i) { - if (!strcmp(argv[i], "--names") || !strcmp(argv[i], "-n")) { - show_names = true; - } else if (!strcmp(argv[i], "--version")) { - print_version(); - return 0; - } else if (!strcmp(argv[i], "--help")) { - print_usage(); - return 0; - } else { - print_usage(); - return 1; - } - } - - LilvWorld* world = lilv_world_new(); - lilv_world_load_all(world); - - const LilvPlugins* plugins = lilv_world_get_all_plugins(world); - - list_plugins(plugins, show_names); - - lilv_world_free(world); - - return 0; -} diff --git a/source/modules/lilv/lilv-0.16.0/utils/uri_table.h b/source/modules/lilv/lilv-0.16.0/utils/uri_table.h deleted file mode 100644 index 6a27c6106..000000000 --- a/source/modules/lilv/lilv-0.16.0/utils/uri_table.h +++ /dev/null @@ -1,73 +0,0 @@ -/* - Copyright 2011-2012 David Robillard - - Permission to use, copy, modify, and/or distribute this software for any - purpose with or without fee is hereby granted, provided that the above - copyright notice and this permission notice appear in all copies. - - THIS SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -*/ - -/** - @file uri_table.h A toy URI map/unmap implementation. - - This file contains function definitions and must only be included once. -*/ - -#ifndef URI_TABLE_H -#define URI_TABLE_H - -typedef struct { - char** uris; - size_t n_uris; -} URITable; - -static void -uri_table_init(URITable* table) -{ - table->uris = NULL; - table->n_uris = 0; -} - -static void -uri_table_destroy(URITable* table) -{ - free(table->uris); -} - -static LV2_URID -uri_table_map(LV2_URID_Map_Handle handle, - const char* uri) -{ - URITable* table = (URITable*)handle; - for (size_t i = 0; i < table->n_uris; ++i) { - if (!strcmp(table->uris[i], uri)) { - return i + 1; - } - } - - const size_t len = strlen(uri); - table->uris = (char**)realloc(table->uris, ++table->n_uris * sizeof(char*)); - table->uris[table->n_uris - 1] = malloc(len + 1); - memcpy(table->uris[table->n_uris - 1], uri, len + 1); - return table->n_uris; -} - -static const char* -uri_table_unmap(LV2_URID_Map_Handle handle, - LV2_URID urid) -{ - URITable* table = (URITable*)handle; - if (urid > 0 && urid <= table->n_uris) { - return table->uris[urid - 1]; - } - return NULL; -} - -#endif /* URI_TABLE_H */ diff --git a/source/modules/lilv/lilv-0.16.0/waf b/source/modules/lilv/lilv-0.16.0/waf deleted file mode 100755 index 53731d29fc11b76bdae6386f57f733c2f27f1d52..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 83049 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 diff --git a/source/modules/lilv/lilv-0.16.0/wscript b/source/modules/lilv/lilv-0.16.0/wscript deleted file mode 100644 index 0308700da..000000000 --- a/source/modules/lilv/lilv-0.16.0/wscript +++ /dev/null @@ -1,369 +0,0 @@ -#!/usr/bin/env python -import os -import subprocess -import sys -import waflib.Options as Options -import waflib.extras.autowaf as autowaf - -# Library and package version (UNIX style major, minor, micro) -# major increment <=> incompatible changes -# minor increment <=> compatible changes (additions) -# micro increment <=> no interface changes -LILV_VERSION = '0.16.0' -LILV_MAJOR_VERSION = '0' - -# Mandatory waf variables -APPNAME = 'lilv' # Package name for waf dist -VERSION = LILV_VERSION # Package version for waf dist -top = '.' # Source directory -out = 'build' # Build directory - -def options(opt): - opt.load('compiler_c') - opt.load('compiler_cxx') - opt.load('python') - autowaf.set_options(opt) - opt.add_option('--no-utils', action='store_true', dest='no_utils', - help='Do not build command line utilities') - opt.add_option('--bindings', action='store_true', dest='bindings', - help='Build python bindings') - opt.add_option('--dyn-manifest', action='store_true', dest='dyn_manifest', - help='Build support for dynamic manifests') - opt.add_option('--test', action='store_true', dest='build_tests', - help='Build unit tests') - opt.add_option('--no-bash-completion', action='store_true', - dest='no_bash_completion', - help='Do not install bash completion script in CONFIGDIR') - opt.add_option('--static', action='store_true', dest='static', - help='Build static library') - opt.add_option('--no-shared', action='store_true', dest='no_shared', - help='Do not build shared library') - opt.add_option('--static-progs', action='store_true', dest='static_progs', - help='Build programs as static binaries') - opt.add_option('--default-lv2-path', type='string', default='', - dest='default_lv2_path', - help='Default LV2 path to use if LV2_PATH is unset') - -def configure(conf): - conf.load('compiler_c') - - if Options.options.bindings: - try: - conf.load('swig') - conf.load('python') - conf.load('compiler_cxx') - conf.check_python_headers() - autowaf.define(conf, 'LILV_PYTHON', 1); - except: - pass - - autowaf.configure(conf) - autowaf.set_c99_mode(conf) - autowaf.display_header('Lilv Configuration') - - conf.env.BASH_COMPLETION = not Options.options.no_bash_completion - conf.env.BUILD_TESTS = Options.options.build_tests - conf.env.BUILD_UTILS = not Options.options.no_utils - conf.env.BUILD_SHARED = not Options.options.no_shared - conf.env.STATIC_PROGS = Options.options.static_progs - conf.env.BUILD_STATIC = (Options.options.static or - Options.options.static_progs) - - if not conf.env.BUILD_SHARED and not conf.env.BUILD_STATIC: - conf.fatal('Neither a shared nor a static build requested') - - autowaf.check_pkg(conf, 'lv2', uselib_store='LV2', - atleast_version='1.0.0', mandatory=True) - autowaf.check_pkg(conf, 'serd-0', uselib_store='SERD', - atleast_version='0.14.0', mandatory=True) - autowaf.check_pkg(conf, 'sord-0', uselib_store='SORD', - atleast_version='0.12.0', mandatory=True) - autowaf.check_pkg(conf, 'sratom-0', uselib_store='SRATOM', - atleast_version='0.4.0', mandatory=True) - - autowaf.define(conf, 'LILV_NEW_LV2', 1) # New LV2 discovery API - - defines = ['_POSIX_C_SOURCE', '_BSD_SOURCE'] - if Options.platform == 'darwin': - defines += ['_DARWIN_C_SOURCE'] - - # Check for gcov library (for test coverage) - if conf.env.BUILD_TESTS: - conf.check_cc(lib='gcov', - define_name='HAVE_GCOV', - mandatory=False) - - conf.check_cc(function_name='flock', - header_name='sys/file.h', - defines=defines, - define_name='HAVE_FLOCK', - mandatory=False) - - conf.check_cc(function_name='fileno', - header_name='stdio.h', - defines=defines, - define_name='HAVE_FILENO', - mandatory=False) - - conf.check_cc(function_name='clock_gettime', - header_name=['sys/time.h','time.h'], - defines=['_POSIX_C_SOURCE=199309L'], - define_name='HAVE_CLOCK_GETTIME', - uselib_store='CLOCK_GETTIME', - lib=['rt'], - mandatory=False) - - autowaf.define(conf, 'LILV_VERSION', LILV_VERSION) - if Options.options.dyn_manifest: - autowaf.define(conf, 'LILV_DYN_MANIFEST', 1) - - lilv_path_sep = ':' - lilv_dir_sep = '/' - if sys.platform == 'win32': - lilv_path_sep = ';' - lilv_dir_sep = '\\\\' - - autowaf.define(conf, 'LILV_PATH_SEP', lilv_path_sep) - autowaf.define(conf, 'LILV_DIR_SEP', lilv_dir_sep) - - # Set default LV2 path - lv2_path = Options.options.default_lv2_path - if lv2_path == '': - if Options.platform == 'darwin': - lv2_path = lilv_path_sep.join(['~/Library/Audio/Plug-Ins/LV2', - '~/.lv2', - '/usr/local/lib/lv2', - '/usr/lib/lv2', - '/Library/Audio/Plug-Ins/LV2']) - elif Options.platform == 'haiku': - lv2_path = lilv_path_sep.join(['~/.lv2', - '/boot/common/add-ons/lv2']) - elif Options.platform == 'win32': - lv2_path = lilv_path_sep.join(['%APPDATA%\\\\LV2', - '%COMMONPROGRAMFILES%\\\\LV2']) - else: - libdirname = os.path.basename(conf.env.LIBDIR) - lv2_path = lilv_path_sep.join(['~/.lv2', - '/usr/%s/lv2' % libdirname, - '/usr/local/%s/lv2' % libdirname]) - autowaf.define(conf, 'LILV_DEFAULT_LV2_PATH', lv2_path) - - autowaf.set_lib_env(conf, 'lilv', LILV_VERSION) - conf.write_config_header('lilv_config.h', remove=False) - - autowaf.display_msg(conf, 'Default LV2_PATH', - conf.env.LILV_DEFAULT_LV2_PATH) - autowaf.display_msg(conf, 'Utilities', - bool(conf.env.BUILD_UTILS)) - autowaf.display_msg(conf, 'Unit tests', - bool(conf.env.BUILD_TESTS)) - autowaf.display_msg(conf, 'Dynamic manifest support', - bool(conf.env.LILV_DYN_MANIFEST)) - autowaf.display_msg(conf, 'Python bindings', - conf.is_defined('LILV_PYTHON')) - - conf.undefine('LILV_DEFAULT_LV2_PATH') # Cmd line errors with VC++ - print('') - -def build_util(bld, name, defines): - obj = bld(features = 'c cprogram', - source = name + '.c', - includes = ['.', './src', './utils'], - use = 'liblilv', - target = name, - defines = defines, - install_path = '${BINDIR}') - if not bld.env.BUILD_SHARED or bld.env.STATIC_PROGS: - obj.use = 'liblilv_static' - if bld.env.STATIC_PROGS: - if not bld.env.MSVC_COMPILER: - obj.lib = ['m'] - obj.env.SHLIB_MARKER = obj.env.STLIB_MARKER - obj.linkflags = ['-static', '-Wl,--start-group'] - return obj - -def build(bld): - # C/C++ Headers - includedir = '${INCLUDEDIR}/lilv-%s/lilv' % LILV_MAJOR_VERSION - bld.install_files(includedir, bld.path.ant_glob('lilv/*.h')) - bld.install_files(includedir, bld.path.ant_glob('lilv/*.hpp')) - - # Pkgconfig file - autowaf.build_pc(bld, 'LILV', LILV_VERSION, LILV_MAJOR_VERSION, [], - {'LILV_MAJOR_VERSION' : LILV_MAJOR_VERSION, - 'LILV_PKG_DEPS' : 'lv2 serd-0 sord-0 sratom-0'}) - - lib_source = ''' - src/collections.c - src/instance.c - src/lib.c - src/node.c - src/plugin.c - src/pluginclass.c - src/port.c - src/query.c - src/scalepoint.c - src/state.c - src/ui.c - src/util.c - src/world.c - src/zix/tree.c - '''.split() - - lib = ['dl'] - libflags = ['-fvisibility=hidden'] - defines = [] - if sys.platform == 'win32': - lib = [] - if bld.env.MSVC_COMPILER: - libflags = [] - defines = ['snprintf=_snprintf'] - elif sys.platform.find('bsd') > 0: - lib = [] - - # Shared Library - if bld.env.BUILD_SHARED: - obj = bld(features = 'c cshlib', - export_includes = ['.'], - source = lib_source, - includes = ['.', './src'], - name = 'liblilv', - target = 'lilv-%s' % LILV_MAJOR_VERSION, - vnum = LILV_VERSION, - install_path = '${LIBDIR}', - defines = ['LILV_SHARED', 'LILV_INTERNAL'], - cflags = libflags, - lib = lib) - autowaf.use_lib(bld, obj, 'SERD SORD SRATOM LV2') - - # Static library - if bld.env.BUILD_STATIC: - obj = bld(features = 'c cstlib', - export_includes = ['.'], - source = lib_source, - includes = ['.', './src'], - name = 'liblilv_static', - target = 'lilv-%s' % LILV_MAJOR_VERSION, - vnum = LILV_VERSION, - install_path = '${LIBDIR}', - defines = defines + ['LILV_INTERNAL']) - autowaf.use_lib(bld, obj, 'SERD SORD SRATOM LV2') - - if bld.env.BUILD_TESTS: - test_libs = lib - test_cflags = [''] - if bld.is_defined('HAVE_GCOV'): - test_libs += ['gcov'] - test_cflags += ['-fprofile-arcs', '-ftest-coverage'] - - # Test plugin library - penv = bld.env.derive() - shlib_pattern = penv.cshlib_PATTERN - if shlib_pattern.startswith('lib'): - shlib_pattern = shlib_pattern[3:] - penv.cshlib_PATTERN = shlib_pattern - shlib_ext = shlib_pattern[shlib_pattern.rfind('.'):] - - obj = bld(features = 'c cshlib', - env = penv, - source = 'test/test_plugin.c', - name = 'test_plugin', - target = 'test/test_plugin.lv2/test_plugin', - install_path = None, - defines = defines, - cflags = test_cflags, - lib = test_libs, - uselib = 'LV2') - - # Test plugin data files - for i in [ 'manifest.ttl.in', 'test_plugin.ttl.in' ]: - bld(features = 'subst', - source = 'test/' + i, - target = 'test/test_plugin.lv2/' + i.replace('.in', ''), - install_path = None, - SHLIB_EXT = shlib_ext) - - # Static profiled library (for unit test code coverage) - obj = bld(features = 'c cstlib', - source = lib_source, - includes = ['.', './src'], - name = 'liblilv_profiled', - target = 'lilv_profiled', - install_path = None, - defines = defines + ['LILV_INTERNAL'], - cflags = test_cflags, - lib = test_libs) - autowaf.use_lib(bld, obj, 'SERD SORD SRATOM LV2') - - # Unit test program - bpath = os.path.abspath(os.path.join(out, 'test', 'test_plugin.lv2')) - bpath = bpath.replace('\\', '/') - obj = bld(features = 'c cprogram', - source = 'test/lilv_test.c', - includes = ['.', './src'], - use = 'liblilv_profiled', - lib = test_libs, - target = 'test/lilv_test', - install_path = None, - defines = defines + ['LILV_TEST_BUNDLE=\"%s/\"' % bpath], - cflags = test_cflags) - autowaf.use_lib(bld, obj, 'SERD SORD SRATOM LV2') - - # Utilities - if bld.env.BUILD_UTILS: - utils = ''' - utils/lilv-bench - utils/lv2info - utils/lv2ls - ''' - for i in utils.split(): - build_util(bld, i, defines) - - # lv2bench (less portable than other utilities) - if bld.is_defined('HAVE_CLOCK_GETTIME'): - obj = build_util(bld, 'utils/lv2bench', defines) - if not bld.env.MSVC_COMPILER: - obj.lib = ['rt'] - - # Documentation - autowaf.build_dox(bld, 'LILV', LILV_VERSION, top, out) - - # Man pages - bld.install_files('${MANDIR}/man1', bld.path.ant_glob('doc/*.1')) - - # Bash completion - if bld.env.BASH_COMPLETION: - bld.install_as( - '${SYSCONFDIR}/bash_completion.d/lilv', 'utils/lilv.bash_completion') - - if bld.is_defined('LILV_PYTHON'): - # Python Wrapper - obj = bld(features = 'cxx cxxshlib pyext', - source = 'bindings/lilv.i', - target = 'bindings/_lilv', - includes = ['..'], - swig_flags = '-c++ -python -Wall -I.. -llilv -features autodoc=1', - use = 'liblilv') - autowaf.use_lib(bld, obj, 'LILV') - - bld.install_files('${PYTHONDIR}', 'bindings/lilv.py') - - bld.add_post_fun(autowaf.run_ldconfig) - if bld.env.DOCS: - bld.add_post_fun(fix_docs) - -def fix_docs(ctx): - if ctx.cmd == 'build': - autowaf.make_simple_dox(APPNAME) - -def upload_docs(ctx): - os.system('rsync -ravz --delete -e ssh build/doc/html/ drobilla@drobilla.net:~/drobilla.net/docs/lilv/') - -def test(ctx): - autowaf.pre_test(ctx, APPNAME) - os.environ['PATH'] = 'test' + os.pathsep + os.getenv('PATH') - autowaf.run_tests(ctx, APPNAME, ['lilv_test'], dirs=['./src','./test']) - autowaf.post_test(ctx, APPNAME) - -def lint(ctx): - subprocess.call('cpplint.py --filter=+whitespace/comments,-whitespace/tab,-whitespace/braces,-whitespace/labels,-build/header_guard,-readability/casting,-readability/todo,-build/include,-runtime/sizeof src/* lilv/*', shell=True) diff --git a/source/modules/lilv/serd-0.18.2/INSTALL b/source/modules/lilv/serd-0.18.2/INSTALL deleted file mode 100644 index 623cddde4..000000000 --- a/source/modules/lilv/serd-0.18.2/INSTALL +++ /dev/null @@ -1,59 +0,0 @@ -Installation Instructions -========================= - -Basic Installation ------------------- - -Building this software requires only Python. To install with default options: - - ./waf configure - ./waf - ./waf install - -You may need to become root for the install stage, for example: - - sudo ./waf install - -Configuration Options ---------------------- - -All supported options can be viewed using the command: - - ./waf --help - -Most options only need to be passed during the configure stage, for example: - - ./waf configure --prefix=/usr - ./waf - ./waf install - -Compiler Configuration ----------------------- - -Several standard environment variables can be used to control how compilers are -invoked: - - * CC: Path to C compiler - * CFLAGS: C compiler options - * CXX: Path to C++ compiler - * CXXFLAGS: C++ compiler options - * CPPFLAGS: C preprocessor options - * LINKFLAGS: Linker options - -Installation Directories ------------------------- - -The --prefix option (or the PREFIX environment variable) can be used to change -the prefix which all files are installed under. There are also several options -allowing for more fine-tuned control, see the --help output for details. - -Packaging ---------- - -Everything can be installed to a specific root directory by passing a --destdir -option to the install stage (or setting the DESTDIR environment variable), -which adds a prefix to all install paths. For example: - - ./waf configure --prefix=/usr - ./waf - ./waf install --destdir=/tmp/package diff --git a/source/modules/lilv/serd-0.18.2/NEWS b/source/modules/lilv/serd-0.18.2/NEWS deleted file mode 100644 index a91a6a7a5..000000000 --- a/source/modules/lilv/serd-0.18.2/NEWS +++ /dev/null @@ -1,98 +0,0 @@ -serd (0.18.2) stable; - - * Fix crash when serd_node_new_decimal is called with infinity or NaN - * Fix crash when resolving against non-standard base URIs - * Fix bug that caused "a" abbreviation in non-predicate position - * Disable timestamps in HTML documentation for reproducible build - * Fix clashing symbol "error" in amalgamation build - * Update to waf 1.7.8 and autowaf r90 (install docs to versioned directory) - - -- David Robillard Sat, 22 Dec 2012 21:32:15 -0500 - -serd (0.18.0) stable; - - * Support digits at start of local names as per new Turtle grammar - * Add incremental read interface suitable for reading from infinite streams - * Add -e option to serdi to use incremental reading - * Add error callback to reader and writer for custom error reporting - * Add -q option to serdi to suppress all non-data output, e.g. errors - * Reset indent when finishing a write - * Report write size correctly when invalid UTF-8 is encountered and a - replacement character is written - * Strip down API documentation to a single clean page - * Fix various hyper-strict warnings - * Do not require a C++ compiler to build - * Add option to build utilities as static binaries - * Upgrade to waf 1.7.2 - - -- David Robillard Thu, 23 Aug 2012 00:18:34 -0400 - -serd (0.14.0) stable; - - * Use path variables in pkgconfig files - * Install man page to DATADIR (e.g. PREFIX/share/man, not PREFIX/man) - * Tolerate invalid characters in string literals by replacing with the - Unicode replacement character - * Report reason for failure to open file in serdi - * Improve write performance by doing bulk writes for unescaped substrings - * Add SerdBulkSink for writing bulk output and corresponding serdi -B option - * Add serdi -f option to prevent URI qualification - * Remove use of multi-byte peek (readahead) and use exactly 1 page for - read buffer (instead of 2) - * Handle a quote as the last character of a long string literal in the - writer (by escaping it) rather than the reader, to avoid writing Turtle - other tools fail to parse. - * Add serd_strtod(), serd_node_new_decimal(), and serd_node_new_integer() - for locale-independent numeric node parsing/serialising. - * Add serd_file_sink for easy writing to a FILE* stream. - * Add serd_chunk_sink for easy writing to a string. - * Escape ASCII control characters in output (e.g. fix problems with string - literals that start with a backspace) - * Improve URI resolution to cover most of the abnormal cases from RFC3986 - * Support file://localhost/foo URIs in serd_uri_to_path() - * Support Windows file://c:/foo URIs in serd_uri_to_path() on all platforms - * Add serd_node_new_blob and serd_base64_decode for handling arbitrary - binary data via base64 encoding. - * Support compilation as C++ under MSVC++. - * Implement pretty-printing for collections. - * Parse collections iteratively in O(1) space. - * Report read error if both "genid" and "docid" IDs are found in the same - document, to prevent silent merging of distinct blank nodes. - * Handle files and strings that start with a UTF-8 Byte Order Mark. - * Add serd_writer_get_env(). - * Add serd_node_new_file_uri() and serd_file_uri_parse() and implement - proper URI to/from path hex escaping, etc. - * Add serd_uri_serialise_relative() for making URIs relative to a base - where possible (by chopping a common prefix and adding dot segments). - * Make URIs serialised by the writer properly escape characters. - * Add serd_writer_set_root_uri() and corresponding -r option to serdi to - enable writing URIs with up references (../). - * Resolve dot segments in serd_uri_resolve() instead of at write time. - * Add serd_reader_set_default_graph() for reading a file as a named graph. - - -- David Robillard Tue, 17 Apr 2012 18:23:53 -0400 - -serd (0.5.0) stable; - - * Fix pretty printing of successive blank descriptions, i.e. "] , [" - * Avoid writing illegal Turtle names as a result of URI qualifying - * Gracefully handle NULL reader sinks - * Add serd_strerror - * Add serd_env_set_prefix_from_strings for convenience - * Fix erroneously equal SERD_ERR_BAD_SYNTAX and SERD_ERR_BAD_ARG - * Add ability to build static library - - -- David Robillard Thu, 29 Sep 2011 00:00:00 -0400 - -serd (0.4.2) stable; - - * Fix compilation issues on some systems - * Fix build system Python 3 compatibility - - -- David Robillard Wed, 25 May 2011 19:00:00 -0400 - -serd (0.4.0) stable; - - * Initial release - - -- David Robillard Tue, 24 May 2011 23:00:00 -0400 diff --git a/source/modules/lilv/serd-0.18.2/PACKAGING b/source/modules/lilv/serd-0.18.2/PACKAGING deleted file mode 100644 index 3eced1698..000000000 --- a/source/modules/lilv/serd-0.18.2/PACKAGING +++ /dev/null @@ -1,29 +0,0 @@ -This library is designed to allow parallel installation of different major -versions. To facilitate this, the shared library name, include directory, and -pkg-config file are suffixed with the major version number of the library. - -For example, if this library was named "foo" and at version 1.x.y: - -/usr/include/foo-1/foo/foo.h -/usr/lib/foo-1.so.1.x.y -/usr/lib/pkgconfig/foo-1.pc - -Dependencies check for pkg-config name "foo-1" and will build -against a compatible version 1, regardless any other installed versions. - -*** IMPORTANT GUIDELINES FOR PACKAGERS *** - -Packages should follow the same conventions as above, i.e. include the major -version (and only the major version) in the name of the package. Continuing the -example above, the package(s) would be named foo-1 and foo-1-dev. This way, -if/when version 2 comes out, it may be installed at the same time as version 1 -without breaking anything. - -Please do not create packages of this library that do not follow these -guidelines, you will break things and cause unnecessary headaches. Please do -not use any number as a suffix other than the actual major version number of the -upstream source package. - -Because program and documentation names are not versioned, these should be -included in separate packages which may replace previous versions, since -there is little use in having parallel installations of them. \ No newline at end of file diff --git a/source/modules/lilv/serd-0.18.2/README b/source/modules/lilv/serd-0.18.2/README deleted file mode 100644 index c828add13..000000000 --- a/source/modules/lilv/serd-0.18.2/README +++ /dev/null @@ -1,10 +0,0 @@ -Serd ----- - -Serd is a lightweight C library for RDF syntax which supports reading and -writing Turtle and NTriples. - -For more information, see . - - -- David Robillard - diff --git a/source/modules/lilv/serd-0.18.2/doc/layout.xml b/source/modules/lilv/serd-0.18.2/doc/layout.xml deleted file mode 100644 index 74a109fc3..000000000 --- a/source/modules/lilv/serd-0.18.2/doc/layout.xml +++ /dev/null @@ -1,187 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/source/modules/lilv/serd-0.18.2/doc/reference.doxygen.in b/source/modules/lilv/serd-0.18.2/doc/reference.doxygen.in deleted file mode 100644 index a4dde9a8b..000000000 --- a/source/modules/lilv/serd-0.18.2/doc/reference.doxygen.in +++ /dev/null @@ -1,1792 +0,0 @@ -# Doxyfile 1.8.1.1 - -# This file describes the settings to be used by the documentation system -# doxygen (www.doxygen.org) for a project. -# -# All text after a hash (#) is considered a comment and will be ignored. -# The format is: -# TAG = value [value, ...] -# For lists items can also be appended using: -# TAG += value [value, ...] -# Values that contain spaces should be placed between quotes (" "). - -#--------------------------------------------------------------------------- -# Project related configuration options -#--------------------------------------------------------------------------- - -# This tag specifies the encoding used for all characters in the config file -# that follow. The default is UTF-8 which is also the encoding used for all -# text before the first occurrence of this tag. Doxygen uses libiconv (or the -# iconv built into libc) for the transcoding. See -# http://www.gnu.org/software/libiconv for the list of possible encodings. - -DOXYFILE_ENCODING = UTF-8 - -# The PROJECT_NAME tag is a single word (or sequence of words) that should -# identify the project. Note that if you do not use Doxywizard you need -# to put quotes around the project name if it contains spaces. - -PROJECT_NAME = Serd - -# The PROJECT_NUMBER tag can be used to enter a project or revision number. -# This could be handy for archiving the generated documentation or -# if some version control system is used. - -PROJECT_NUMBER = @SERD_VERSION@ - -# Using the PROJECT_BRIEF tag one can provide an optional one line description -# for a project that appears at the top of each page and should give viewer -# a quick idea about the purpose of the project. Keep the description short. - -PROJECT_BRIEF = - -# With the PROJECT_LOGO tag one can specify an logo or icon that is -# included in the documentation. The maximum height of the logo should not -# exceed 55 pixels and the maximum width should not exceed 200 pixels. -# Doxygen will copy the logo to the output directory. - -PROJECT_LOGO = - -# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) -# base path where the generated documentation will be put. -# If a relative path is entered, it will be relative to the location -# where doxygen was started. If left blank the current directory will be used. - -OUTPUT_DIRECTORY = @SERD_DOC_DIR@ - -# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create -# 4096 sub-directories (in 2 levels) under the output directory of each output -# format and will distribute the generated files over these directories. -# Enabling this option can be useful when feeding doxygen a huge amount of -# source files, where putting all generated files in the same directory would -# otherwise cause performance problems for the file system. - -CREATE_SUBDIRS = NO - -# The OUTPUT_LANGUAGE tag is used to specify the language in which all -# documentation generated by doxygen is written. Doxygen will use this -# information to generate all constant output in the proper language. -# The default language is English, other supported languages are: -# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, -# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German, -# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English -# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, -# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrillic, Slovak, -# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese. - -OUTPUT_LANGUAGE = English - -# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will -# include brief member descriptions after the members that are listed in -# the file and class documentation (similar to JavaDoc). -# Set to NO to disable this. - -BRIEF_MEMBER_DESC = NO - -# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend -# the brief description of a member or function before the detailed description. -# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the -# brief descriptions will be completely suppressed. - -REPEAT_BRIEF = YES - -# This tag implements a quasi-intelligent brief description abbreviator -# that is used to form the text in various listings. Each string -# in this list, if found as the leading text of the brief description, will be -# stripped from the text and the result after processing the whole list, is -# used as the annotated text. Otherwise, the brief description is used as-is. -# If left blank, the following values are used ("$name" is automatically -# replaced with the name of the entity): "The $name class" "The $name widget" -# "The $name file" "is" "provides" "specifies" "contains" -# "represents" "a" "an" "the" - -ABBREVIATE_BRIEF = - -# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then -# Doxygen will generate a detailed section even if there is only a brief -# description. - -ALWAYS_DETAILED_SEC = NO - -# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all -# inherited members of a class in the documentation of that class as if those -# members were ordinary class members. Constructors, destructors and assignment -# operators of the base classes will not be shown. - -INLINE_INHERITED_MEMB = NO - -# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full -# path before files name in the file list and in the header files. If set -# to NO the shortest path that makes the file name unique will be used. - -FULL_PATH_NAMES = NO - -# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag -# can be used to strip a user-defined part of the path. Stripping is -# only done if one of the specified strings matches the left-hand part of -# the path. The tag can be used to show relative paths in the file list. -# If left blank the directory from which doxygen is run is used as the -# path to strip. - -STRIP_FROM_PATH = - -# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of -# the path mentioned in the documentation of a class, which tells -# the reader which header file to include in order to use a class. -# If left blank only the name of the header file containing the class -# definition is used. Otherwise one should specify the include paths that -# are normally passed to the compiler using the -I flag. - -STRIP_FROM_INC_PATH = - -# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter -# (but less readable) file names. This can be useful if your file system -# doesn't support long names like on DOS, Mac, or CD-ROM. - -SHORT_NAMES = NO - -# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen -# will interpret the first line (until the first dot) of a JavaDoc-style -# comment as the brief description. If set to NO, the JavaDoc -# comments will behave just like regular Qt-style comments -# (thus requiring an explicit @brief command for a brief description.) - -JAVADOC_AUTOBRIEF = YES - -# If the QT_AUTOBRIEF tag is set to YES then Doxygen will -# interpret the first line (until the first dot) of a Qt-style -# comment as the brief description. If set to NO, the comments -# will behave just like regular Qt-style comments (thus requiring -# an explicit \brief command for a brief description.) - -QT_AUTOBRIEF = NO - -# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen -# treat a multi-line C++ special comment block (i.e. a block of //! or /// -# comments) as a brief description. This used to be the default behaviour. -# The new default is to treat a multi-line C++ comment block as a detailed -# description. Set this tag to YES if you prefer the old behaviour instead. - -MULTILINE_CPP_IS_BRIEF = NO - -# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented -# member inherits the documentation from any documented member that it -# re-implements. - -INHERIT_DOCS = YES - -# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce -# a new page for each member. If set to NO, the documentation of a member will -# be part of the file/class/namespace that contains it. - -SEPARATE_MEMBER_PAGES = NO - -# The TAB_SIZE tag can be used to set the number of spaces in a tab. -# Doxygen uses this value to replace tabs by spaces in code fragments. - -TAB_SIZE = 4 - -# This tag can be used to specify a number of aliases that acts -# as commands in the documentation. An alias has the form "name=value". -# For example adding "sideeffect=\par Side Effects:\n" will allow you to -# put the command \sideeffect (or @sideeffect) in the documentation, which -# will result in a user-defined paragraph with heading "Side Effects:". -# You can put \n's in the value part of an alias to insert newlines. - -ALIASES = - -# This tag can be used to specify a number of word-keyword mappings (TCL only). -# A mapping has the form "name=value". For example adding -# "class=itcl::class" will allow you to use the command class in the -# itcl::class meaning. - -TCL_SUBST = - -# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C -# sources only. Doxygen will then generate output that is more tailored for C. -# For instance, some of the names that are used will be different. The list -# of all members will be omitted, etc. - -OPTIMIZE_OUTPUT_FOR_C = YES - -# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java -# sources only. Doxygen will then generate output that is more tailored for -# Java. For instance, namespaces will be presented as packages, qualified -# scopes will look different, etc. - -OPTIMIZE_OUTPUT_JAVA = NO - -# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran -# sources only. Doxygen will then generate output that is more tailored for -# Fortran. - -OPTIMIZE_FOR_FORTRAN = NO - -# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL -# sources. Doxygen will then generate output that is tailored for -# VHDL. - -OPTIMIZE_OUTPUT_VHDL = NO - -# Doxygen selects the parser to use depending on the extension of the files it -# parses. With this tag you can assign which parser to use for a given extension. -# Doxygen has a built-in mapping, but you can override or extend it using this -# tag. The format is ext=language, where ext is a file extension, and language -# is one of the parsers supported by doxygen: IDL, Java, Javascript, CSharp, C, -# C++, D, PHP, Objective-C, Python, Fortran, VHDL, C, C++. For instance to make -# doxygen treat .inc files as Fortran files (default is PHP), and .f files as C -# (default is Fortran), use: inc=Fortran f=C. Note that for custom extensions -# you also need to set FILE_PATTERNS otherwise the files are not read by doxygen. - -EXTENSION_MAPPING = - -# If MARKDOWN_SUPPORT is enabled (the default) then doxygen pre-processes all -# comments according to the Markdown format, which allows for more readable -# documentation. See http://daringfireball.net/projects/markdown/ for details. -# The output of markdown processing is further processed by doxygen, so you -# can mix doxygen, HTML, and XML commands with Markdown formatting. -# Disable only in case of backward compatibilities issues. - -MARKDOWN_SUPPORT = YES - -# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want -# to include (a tag file for) the STL sources as input, then you should -# set this tag to YES in order to let doxygen match functions declarations and -# definitions whose arguments contain STL classes (e.g. func(std::string); v.s. -# func(std::string) {}). This also makes the inheritance and collaboration -# diagrams that involve STL classes more complete and accurate. - -BUILTIN_STL_SUPPORT = NO - -# If you use Microsoft's C++/CLI language, you should set this option to YES to -# enable parsing support. - -CPP_CLI_SUPPORT = NO - -# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. -# Doxygen will parse them like normal C++ but will assume all classes use public -# instead of private inheritance when no explicit protection keyword is present. - -SIP_SUPPORT = NO - -# For Microsoft's IDL there are propget and propput attributes to indicate getter -# and setter methods for a property. Setting this option to YES (the default) -# will make doxygen replace the get and set methods by a property in the -# documentation. This will only work if the methods are indeed getting or -# setting a simple type. If this is not the case, or you want to show the -# methods anyway, you should set this option to NO. - -IDL_PROPERTY_SUPPORT = YES - -# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC -# tag is set to YES, then doxygen will reuse the documentation of the first -# member in the group (if any) for the other members of the group. By default -# all members of a group must be documented explicitly. - -DISTRIBUTE_GROUP_DOC = NO - -# Set the SUBGROUPING tag to YES (the default) to allow class member groups of -# the same type (for instance a group of public functions) to be put as a -# subgroup of that type (e.g. under the Public Functions section). Set it to -# NO to prevent subgrouping. Alternatively, this can be done per class using -# the \nosubgrouping command. - -SUBGROUPING = YES - -# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and -# unions are shown inside the group in which they are included (e.g. using -# @ingroup) instead of on a separate page (for HTML and Man pages) or -# section (for LaTeX and RTF). - -INLINE_GROUPED_CLASSES = YES - -# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and -# unions with only public data fields will be shown inline in the documentation -# of the scope in which they are defined (i.e. file, namespace, or group -# documentation), provided this scope is documented. If set to NO (the default), -# structs, classes, and unions are shown on a separate page (for HTML and Man -# pages) or section (for LaTeX and RTF). - -INLINE_SIMPLE_STRUCTS = YES - -# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum -# is documented as struct, union, or enum with the name of the typedef. So -# typedef struct TypeS {} TypeT, will appear in the documentation as a struct -# with name TypeT. When disabled the typedef will appear as a member of a file, -# namespace, or class. And the struct will be named TypeS. This can typically -# be useful for C code in case the coding convention dictates that all compound -# types are typedef'ed and only the typedef is referenced, never the tag name. - -TYPEDEF_HIDES_STRUCT = YES - -# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to -# determine which symbols to keep in memory and which to flush to disk. -# When the cache is full, less often used symbols will be written to disk. -# For small to medium size projects (<1000 input files) the default value is -# probably good enough. For larger projects a too small cache size can cause -# doxygen to be busy swapping symbols to and from disk most of the time -# causing a significant performance penalty. -# If the system has enough physical memory increasing the cache will improve the -# performance by keeping more symbols in memory. Note that the value works on -# a logarithmic scale so increasing the size by one will roughly double the -# memory usage. The cache size is given by this formula: -# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0, -# corresponding to a cache size of 2^16 = 65536 symbols. - -SYMBOL_CACHE_SIZE = 0 - -# Similar to the SYMBOL_CACHE_SIZE the size of the symbol lookup cache can be -# set using LOOKUP_CACHE_SIZE. This cache is used to resolve symbols given -# their name and scope. Since this can be an expensive process and often the -# same symbol appear multiple times in the code, doxygen keeps a cache of -# pre-resolved symbols. If the cache is too small doxygen will become slower. -# If the cache is too large, memory is wasted. The cache size is given by this -# formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range is 0..9, the default is 0, -# corresponding to a cache size of 2^16 = 65536 symbols. - -LOOKUP_CACHE_SIZE = 0 - -#--------------------------------------------------------------------------- -# Build related configuration options -#--------------------------------------------------------------------------- - -# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in -# documentation are documented, even if no documentation was available. -# Private class members and static file members will be hidden unless -# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES - -EXTRACT_ALL = YES - -# If the EXTRACT_PRIVATE tag is set to YES all private members of a class -# will be included in the documentation. - -EXTRACT_PRIVATE = NO - -# If the EXTRACT_PACKAGE tag is set to YES all members with package or internal scope will be included in the documentation. - -EXTRACT_PACKAGE = NO - -# If the EXTRACT_STATIC tag is set to YES all static members of a file -# will be included in the documentation. - -EXTRACT_STATIC = YES - -# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) -# defined locally in source files will be included in the documentation. -# If set to NO only classes defined in header files are included. - -EXTRACT_LOCAL_CLASSES = NO - -# This flag is only useful for Objective-C code. When set to YES local -# methods, which are defined in the implementation section but not in -# the interface are included in the documentation. -# If set to NO (the default) only methods in the interface are included. - -EXTRACT_LOCAL_METHODS = NO - -# If this flag is set to YES, the members of anonymous namespaces will be -# extracted and appear in the documentation as a namespace called -# 'anonymous_namespace{file}', where file will be replaced with the base -# name of the file that contains the anonymous namespace. By default -# anonymous namespaces are hidden. - -EXTRACT_ANON_NSPACES = NO - -# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all -# undocumented members of documented classes, files or namespaces. -# If set to NO (the default) these members will be included in the -# various overviews, but no documentation section is generated. -# This option has no effect if EXTRACT_ALL is enabled. - -HIDE_UNDOC_MEMBERS = YES - -# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all -# undocumented classes that are normally visible in the class hierarchy. -# If set to NO (the default) these classes will be included in the various -# overviews. This option has no effect if EXTRACT_ALL is enabled. - -HIDE_UNDOC_CLASSES = YES - -# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all -# friend (class|struct|union) declarations. -# If set to NO (the default) these declarations will be included in the -# documentation. - -HIDE_FRIEND_COMPOUNDS = NO - -# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any -# documentation blocks found inside the body of a function. -# If set to NO (the default) these blocks will be appended to the -# function's detailed documentation block. - -HIDE_IN_BODY_DOCS = YES - -# The INTERNAL_DOCS tag determines if documentation -# that is typed after a \internal command is included. If the tag is set -# to NO (the default) then the documentation will be excluded. -# Set it to YES to include the internal documentation. - -INTERNAL_DOCS = NO - -# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate -# file names in lower-case letters. If set to YES upper-case letters are also -# allowed. This is useful if you have classes or files whose names only differ -# in case and if your file system supports case sensitive file names. Windows -# and Mac users are advised to set this option to NO. - -CASE_SENSE_NAMES = YES - -# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen -# will show members with their full class and namespace scopes in the -# documentation. If set to YES the scope will be hidden. - -HIDE_SCOPE_NAMES = NO - -# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen -# will put a list of the files that are included by a file in the documentation -# of that file. - -SHOW_INCLUDE_FILES = YES - -# If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen -# will list include files with double quotes in the documentation -# rather than with sharp brackets. - -FORCE_LOCAL_INCLUDES = NO - -# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] -# is inserted in the documentation for inline members. - -INLINE_INFO = YES - -# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen -# will sort the (detailed) documentation of file and class members -# alphabetically by member name. If set to NO the members will appear in -# declaration order. - -SORT_MEMBER_DOCS = NO - -# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the -# brief documentation of file, namespace and class members alphabetically -# by member name. If set to NO (the default) the members will appear in -# declaration order. - -SORT_BRIEF_DOCS = NO - -# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen -# will sort the (brief and detailed) documentation of class members so that -# constructors and destructors are listed first. If set to NO (the default) -# the constructors will appear in the respective orders defined by -# SORT_MEMBER_DOCS and SORT_BRIEF_DOCS. -# This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO -# and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO. - -SORT_MEMBERS_CTORS_1ST = NO - -# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the -# hierarchy of group names into alphabetical order. If set to NO (the default) -# the group names will appear in their defined order. - -SORT_GROUP_NAMES = NO - -# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be -# sorted by fully-qualified names, including namespaces. If set to -# NO (the default), the class list will be sorted only by class name, -# not including the namespace part. -# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. -# Note: This option applies only to the class list, not to the -# alphabetical list. - -SORT_BY_SCOPE_NAME = YES - -# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to -# do proper type resolution of all parameters of a function it will reject a -# match between the prototype and the implementation of a member function even -# if there is only one candidate or it is obvious which candidate to choose -# by doing a simple string match. By disabling STRICT_PROTO_MATCHING doxygen -# will still accept a match between prototype and implementation in such cases. - -STRICT_PROTO_MATCHING = NO - -# The GENERATE_TODOLIST tag can be used to enable (YES) or -# disable (NO) the todo list. This list is created by putting \todo -# commands in the documentation. - -GENERATE_TODOLIST = NO - -# The GENERATE_TESTLIST tag can be used to enable (YES) or -# disable (NO) the test list. This list is created by putting \test -# commands in the documentation. - -GENERATE_TESTLIST = NO - -# The GENERATE_BUGLIST tag can be used to enable (YES) or -# disable (NO) the bug list. This list is created by putting \bug -# commands in the documentation. - -GENERATE_BUGLIST = NO - -# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or -# disable (NO) the deprecated list. This list is created by putting -# \deprecated commands in the documentation. - -GENERATE_DEPRECATEDLIST= YES - -# The ENABLED_SECTIONS tag can be used to enable conditional -# documentation sections, marked by \if sectionname ... \endif. - -ENABLED_SECTIONS = - -# The MAX_INITIALIZER_LINES tag determines the maximum number of lines -# the initial value of a variable or macro consists of for it to appear in -# the documentation. If the initializer consists of more lines than specified -# here it will be hidden. Use a value of 0 to hide initializers completely. -# The appearance of the initializer of individual variables and macros in the -# documentation can be controlled using \showinitializer or \hideinitializer -# command in the documentation regardless of this setting. - -MAX_INITIALIZER_LINES = 30 - -# Set the SHOW_USED_FILES tag to NO to disable the list of files generated -# at the bottom of the documentation of classes and structs. If set to YES the -# list will mention the files that were used to generate the documentation. - -SHOW_USED_FILES = YES - -# Set the SHOW_FILES tag to NO to disable the generation of the Files page. -# This will remove the Files entry from the Quick Index and from the -# Folder Tree View (if specified). The default is YES. - -SHOW_FILES = NO - -# Set the SHOW_NAMESPACES tag to NO to disable the generation of the -# Namespaces page. -# This will remove the Namespaces entry from the Quick Index -# and from the Folder Tree View (if specified). The default is YES. - -SHOW_NAMESPACES = NO - -# The FILE_VERSION_FILTER tag can be used to specify a program or script that -# doxygen should invoke to get the current version for each file (typically from -# the version control system). Doxygen will invoke the program by executing (via -# popen()) the command , where is the value of -# the FILE_VERSION_FILTER tag, and is the name of an input file -# provided by doxygen. Whatever the program writes to standard output -# is used as the file version. See the manual for examples. - -FILE_VERSION_FILTER = - -# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed -# by doxygen. The layout file controls the global structure of the generated -# output files in an output format independent way. To create the layout file -# that represents doxygen's defaults, run doxygen with the -l option. -# You can optionally specify a file name after the option, if omitted -# DoxygenLayout.xml will be used as the name of the layout file. - -LAYOUT_FILE = @SERD_SRCDIR@/doc/layout.xml - -# The CITE_BIB_FILES tag can be used to specify one or more bib files -# containing the references data. This must be a list of .bib files. The -# .bib extension is automatically appended if omitted. Using this command -# requires the bibtex tool to be installed. See also -# http://en.wikipedia.org/wiki/BibTeX for more info. For LaTeX the style -# of the bibliography can be controlled using LATEX_BIB_STYLE. To use this -# feature you need bibtex and perl available in the search path. - -CITE_BIB_FILES = - -#--------------------------------------------------------------------------- -# configuration options related to warning and progress messages -#--------------------------------------------------------------------------- - -# The QUIET tag can be used to turn on/off the messages that are generated -# by doxygen. Possible values are YES and NO. If left blank NO is used. - -QUIET = YES - -# The WARNINGS tag can be used to turn on/off the warning messages that are -# generated by doxygen. Possible values are YES and NO. If left blank -# NO is used. - -WARNINGS = YES - -# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings -# for undocumented members. If EXTRACT_ALL is set to YES then this flag will -# automatically be disabled. - -WARN_IF_UNDOCUMENTED = YES - -# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for -# potential errors in the documentation, such as not documenting some -# parameters in a documented function, or documenting parameters that -# don't exist or using markup commands wrongly. - -WARN_IF_DOC_ERROR = YES - -# The WARN_NO_PARAMDOC option can be enabled to get warnings for -# functions that are documented, but have no documentation for their parameters -# or return value. If set to NO (the default) doxygen will only warn about -# wrong or incomplete parameter documentation, but not about the absence of -# documentation. - -WARN_NO_PARAMDOC = YES - -# The WARN_FORMAT tag determines the format of the warning messages that -# doxygen can produce. The string should contain the $file, $line, and $text -# tags, which will be replaced by the file and line number from which the -# warning originated and the warning text. Optionally the format may contain -# $version, which will be replaced by the version of the file (if it could -# be obtained via FILE_VERSION_FILTER) - -WARN_FORMAT = "$file:$line: $text" - -# The WARN_LOGFILE tag can be used to specify a file to which warning -# and error messages should be written. If left blank the output is written -# to stderr. - -WARN_LOGFILE = - -#--------------------------------------------------------------------------- -# configuration options related to the input files -#--------------------------------------------------------------------------- - -# The INPUT tag can be used to specify the files and/or directories that contain -# documented source files. You may enter file names like "myfile.cpp" or -# directories like "/usr/src/myproject". Separate the files or directories -# with spaces. - -INPUT = @SERD_SRCDIR@/serd/serd.h - -# This tag can be used to specify the character encoding of the source files -# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is -# also the default input encoding. Doxygen uses libiconv (or the iconv built -# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for -# the list of possible encodings. - -INPUT_ENCODING = UTF-8 - -# If the value of the INPUT tag contains directories, you can use the -# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank the following patterns are tested: -# *.c *.cc *.cxx *.cpp *.c++ *.d *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh -# *.hxx *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.dox *.py -# *.f90 *.f *.for *.vhd *.vhdl - -FILE_PATTERNS = - -# The RECURSIVE tag can be used to turn specify whether or not subdirectories -# should be searched for input files as well. Possible values are YES and NO. -# If left blank NO is used. - -RECURSIVE = NO - -# The EXCLUDE tag can be used to specify files and/or directories that should be -# excluded from the INPUT source files. This way you can easily exclude a -# subdirectory from a directory tree whose root is specified with the INPUT tag. -# Note that relative paths are relative to the directory from which doxygen is -# run. - -EXCLUDE = - -# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or -# directories that are symbolic links (a Unix file system feature) are excluded -# from the input. - -EXCLUDE_SYMLINKS = NO - -# If the value of the INPUT tag contains directories, you can use the -# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude -# certain files from those directories. Note that the wildcards are matched -# against the file with absolute path, so to exclude all test directories -# for example use the pattern */test/* - -EXCLUDE_PATTERNS = - -# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names -# (namespaces, classes, functions, etc.) that should be excluded from the -# output. The symbol name can be a fully qualified name, a word, or if the -# wildcard * is used, a substring. Examples: ANamespace, AClass, -# AClass::ANamespace, ANamespace::*Test - -EXCLUDE_SYMBOLS = - -# The EXAMPLE_PATH tag can be used to specify one or more files or -# directories that contain example code fragments that are included (see -# the \include command). - -EXAMPLE_PATH = - -# If the value of the EXAMPLE_PATH tag contains directories, you can use the -# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank all files are included. - -EXAMPLE_PATTERNS = *.c - -# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be -# searched for input files to be used with the \include or \dontinclude -# commands irrespective of the value of the RECURSIVE tag. -# Possible values are YES and NO. If left blank NO is used. - -EXAMPLE_RECURSIVE = NO - -# The IMAGE_PATH tag can be used to specify one or more files or -# directories that contain image that are included in the documentation (see -# the \image command). - -IMAGE_PATH = - -# The INPUT_FILTER tag can be used to specify a program that doxygen should -# invoke to filter for each input file. Doxygen will invoke the filter program -# by executing (via popen()) the command , where -# is the value of the INPUT_FILTER tag, and is the name of an -# input file. Doxygen will then use the output that the filter program writes -# to standard output. -# If FILTER_PATTERNS is specified, this tag will be -# ignored. - -INPUT_FILTER = - -# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern -# basis. -# Doxygen will compare the file name with each pattern and apply the -# filter if there is a match. -# The filters are a list of the form: -# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further -# info on how filters are used. If FILTER_PATTERNS is empty or if -# non of the patterns match the file name, INPUT_FILTER is applied. - -FILTER_PATTERNS = - -# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using -# INPUT_FILTER) will be used to filter the input files when producing source -# files to browse (i.e. when SOURCE_BROWSER is set to YES). - -FILTER_SOURCE_FILES = NO - -# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file -# pattern. A pattern will override the setting for FILTER_PATTERN (if any) -# and it is also possible to disable source filtering for a specific pattern -# using *.ext= (so without naming a filter). This option only has effect when -# FILTER_SOURCE_FILES is enabled. - -FILTER_SOURCE_PATTERNS = - -#--------------------------------------------------------------------------- -# configuration options related to source browsing -#--------------------------------------------------------------------------- - -# If the SOURCE_BROWSER tag is set to YES then a list of source files will -# be generated. Documented entities will be cross-referenced with these sources. -# Note: To get rid of all source code in the generated output, make sure also -# VERBATIM_HEADERS is set to NO. - -SOURCE_BROWSER = NO - -# Setting the INLINE_SOURCES tag to YES will include the body -# of functions and classes directly in the documentation. - -INLINE_SOURCES = NO - -# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct -# doxygen to hide any special comment blocks from generated source code -# fragments. Normal C, C++ and Fortran comments will always remain visible. - -STRIP_CODE_COMMENTS = YES - -# If the REFERENCED_BY_RELATION tag is set to YES -# then for each documented function all documented -# functions referencing it will be listed. - -REFERENCED_BY_RELATION = YES - -# If the REFERENCES_RELATION tag is set to YES -# then for each documented function all documented entities -# called/used by that function will be listed. - -REFERENCES_RELATION = YES - -# If the REFERENCES_LINK_SOURCE tag is set to YES (the default) -# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from -# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will -# link to the source code. -# Otherwise they will link to the documentation. - -REFERENCES_LINK_SOURCE = YES - -# If the USE_HTAGS tag is set to YES then the references to source code -# will point to the HTML generated by the htags(1) tool instead of doxygen -# built-in source browser. The htags tool is part of GNU's global source -# tagging system (see http://www.gnu.org/software/global/global.html). You -# will need version 4.8.6 or higher. - -USE_HTAGS = NO - -# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen -# will generate a verbatim copy of the header file for each class for -# which an include is specified. Set to NO to disable this. - -VERBATIM_HEADERS = NO - -#--------------------------------------------------------------------------- -# configuration options related to the alphabetical class index -#--------------------------------------------------------------------------- - -# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index -# of all compounds will be generated. Enable this if the project -# contains a lot of classes, structs, unions or interfaces. - -ALPHABETICAL_INDEX = NO - -# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then -# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns -# in which this list will be split (can be a number in the range [1..20]) - -COLS_IN_ALPHA_INDEX = 5 - -# In case all classes in a project start with a common prefix, all -# classes will be put under the same header in the alphabetical index. -# The IGNORE_PREFIX tag can be used to specify one or more prefixes that -# should be ignored while generating the index headers. - -IGNORE_PREFIX = - -#--------------------------------------------------------------------------- -# configuration options related to the HTML output -#--------------------------------------------------------------------------- - -# If the GENERATE_HTML tag is set to YES (the default) Doxygen will -# generate HTML output. - -GENERATE_HTML = YES - -# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `html' will be used as the default path. - -HTML_OUTPUT = html - -# The HTML_FILE_EXTENSION tag can be used to specify the file extension for -# each generated HTML page (for example: .htm,.php,.asp). If it is left blank -# doxygen will generate files with .html extension. - -HTML_FILE_EXTENSION = .html - -# The HTML_HEADER tag can be used to specify a personal HTML header for -# each generated HTML page. If it is left blank doxygen will generate a -# standard header. Note that when using a custom header you are responsible -# for the proper inclusion of any scripts and style sheets that doxygen -# needs, which is dependent on the configuration options used. -# It is advised to generate a default header using "doxygen -w html -# header.html footer.html stylesheet.css YourConfigFile" and then modify -# that header. Note that the header is subject to change so you typically -# have to redo this when upgrading to a newer version of doxygen or when -# changing the value of configuration settings such as GENERATE_TREEVIEW! - -HTML_HEADER = - -# The HTML_FOOTER tag can be used to specify a personal HTML footer for -# each generated HTML page. If it is left blank doxygen will generate a -# standard footer. - -HTML_FOOTER = - -# The HTML_STYLESHEET tag can be used to specify a user-defined cascading -# style sheet that is used by each HTML page. It can be used to -# fine-tune the look of the HTML output. If the tag is left blank doxygen -# will generate a default style sheet. Note that doxygen will try to copy -# the style sheet file to the HTML output directory, so don't put your own -# style sheet in the HTML output directory as well, or it will be erased! - -HTML_STYLESHEET = @SERD_SRCDIR@/doc/style.css - -# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or -# other source files which should be copied to the HTML output directory. Note -# that these files will be copied to the base HTML output directory. Use the -# $relpath$ marker in the HTML_HEADER and/or HTML_FOOTER files to load these -# files. In the HTML_STYLESHEET file, use the file name only. Also note that -# the files will be copied as-is; there are no commands or markers available. - -HTML_EXTRA_FILES = - -# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. -# Doxygen will adjust the colors in the style sheet and background images -# according to this color. Hue is specified as an angle on a colorwheel, -# see http://en.wikipedia.org/wiki/Hue for more information. -# For instance the value 0 represents red, 60 is yellow, 120 is green, -# 180 is cyan, 240 is blue, 300 purple, and 360 is red again. -# The allowed range is 0 to 359. - -HTML_COLORSTYLE_HUE = 160 - -# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of -# the colors in the HTML output. For a value of 0 the output will use -# grayscales only. A value of 255 will produce the most vivid colors. - -HTML_COLORSTYLE_SAT = 100 - -# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to -# the luminance component of the colors in the HTML output. Values below -# 100 gradually make the output lighter, whereas values above 100 make -# the output darker. The value divided by 100 is the actual gamma applied, -# so 80 represents a gamma of 0.8, The value 220 represents a gamma of 2.2, -# and 100 does not change the gamma. - -HTML_COLORSTYLE_GAMMA = 80 - -# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML -# page will contain the date and time when the page was generated. Setting -# this to NO can help when comparing the output of multiple runs. - -HTML_TIMESTAMP = NO - -# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML -# documentation will contain sections that can be hidden and shown after the -# page has loaded. - -HTML_DYNAMIC_SECTIONS = NO - -# With HTML_INDEX_NUM_ENTRIES one can control the preferred number of -# entries shown in the various tree structured indices initially; the user -# can expand and collapse entries dynamically later on. Doxygen will expand -# the tree to such a level that at most the specified number of entries are -# visible (unless a fully collapsed tree already exceeds this amount). -# So setting the number of entries 1 will produce a full collapsed tree by -# default. 0 is a special value representing an infinite number of entries -# and will result in a full expanded tree by default. - -HTML_INDEX_NUM_ENTRIES = 100 - -# If the GENERATE_DOCSET tag is set to YES, additional index files -# will be generated that can be used as input for Apple's Xcode 3 -# integrated development environment, introduced with OSX 10.5 (Leopard). -# To create a documentation set, doxygen will generate a Makefile in the -# HTML output directory. Running make will produce the docset in that -# directory and running "make install" will install the docset in -# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find -# it at startup. -# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html -# for more information. - -GENERATE_DOCSET = NO - -# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the -# feed. A documentation feed provides an umbrella under which multiple -# documentation sets from a single provider (such as a company or product suite) -# can be grouped. - -DOCSET_FEEDNAME = "Doxygen generated docs" - -# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that -# should uniquely identify the documentation set bundle. This should be a -# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen -# will append .docset to the name. - -DOCSET_BUNDLE_ID = org.doxygen.Project - -# When GENERATE_PUBLISHER_ID tag specifies a string that should uniquely identify -# the documentation publisher. This should be a reverse domain-name style -# string, e.g. com.mycompany.MyDocSet.documentation. - -DOCSET_PUBLISHER_ID = org.doxygen.Publisher - -# The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher. - -DOCSET_PUBLISHER_NAME = Publisher - -# If the GENERATE_HTMLHELP tag is set to YES, additional index files -# will be generated that can be used as input for tools like the -# Microsoft HTML help workshop to generate a compiled HTML help file (.chm) -# of the generated HTML documentation. - -GENERATE_HTMLHELP = NO - -# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can -# be used to specify the file name of the resulting .chm file. You -# can add a path in front of the file if the result should not be -# written to the html output directory. - -CHM_FILE = - -# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can -# be used to specify the location (absolute path including file name) of -# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run -# the HTML help compiler on the generated index.hhp. - -HHC_LOCATION = - -# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag -# controls if a separate .chi index file is generated (YES) or that -# it should be included in the master .chm file (NO). - -GENERATE_CHI = NO - -# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING -# is used to encode HtmlHelp index (hhk), content (hhc) and project file -# content. - -CHM_INDEX_ENCODING = - -# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag -# controls whether a binary table of contents is generated (YES) or a -# normal table of contents (NO) in the .chm file. - -BINARY_TOC = NO - -# The TOC_EXPAND flag can be set to YES to add extra items for group members -# to the contents of the HTML help documentation and to the tree view. - -TOC_EXPAND = NO - -# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and -# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated -# that can be used as input for Qt's qhelpgenerator to generate a -# Qt Compressed Help (.qch) of the generated HTML documentation. - -GENERATE_QHP = NO - -# If the QHG_LOCATION tag is specified, the QCH_FILE tag can -# be used to specify the file name of the resulting .qch file. -# The path specified is relative to the HTML output folder. - -QCH_FILE = - -# The QHP_NAMESPACE tag specifies the namespace to use when generating -# Qt Help Project output. For more information please see -# http://doc.trolltech.com/qthelpproject.html#namespace - -QHP_NAMESPACE = - -# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating -# Qt Help Project output. For more information please see -# http://doc.trolltech.com/qthelpproject.html#virtual-folders - -QHP_VIRTUAL_FOLDER = doc - -# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to -# add. For more information please see -# http://doc.trolltech.com/qthelpproject.html#custom-filters - -QHP_CUST_FILTER_NAME = - -# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the -# custom filter to add. For more information please see -# -# Qt Help Project / Custom Filters. - -QHP_CUST_FILTER_ATTRS = - -# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this -# project's -# filter section matches. -# -# Qt Help Project / Filter Attributes. - -QHP_SECT_FILTER_ATTRS = - -# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can -# be used to specify the location of Qt's qhelpgenerator. -# If non-empty doxygen will try to run qhelpgenerator on the generated -# .qhp file. - -QHG_LOCATION = - -# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files -# will be generated, which together with the HTML files, form an Eclipse help -# plugin. To install this plugin and make it available under the help contents -# menu in Eclipse, the contents of the directory containing the HTML and XML -# files needs to be copied into the plugins directory of eclipse. The name of -# the directory within the plugins directory should be the same as -# the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before -# the help appears. - -GENERATE_ECLIPSEHELP = NO - -# A unique identifier for the eclipse help plugin. When installing the plugin -# the directory name containing the HTML and XML files should also have -# this name. - -ECLIPSE_DOC_ID = org.doxygen.Project - -# The DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs) -# at top of each HTML page. The value NO (the default) enables the index and -# the value YES disables it. Since the tabs have the same information as the -# navigation tree you can set this option to NO if you already set -# GENERATE_TREEVIEW to YES. - -DISABLE_INDEX = YES - -# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index -# structure should be generated to display hierarchical information. -# If the tag value is set to YES, a side panel will be generated -# containing a tree-like index structure (just like the one that -# is generated for HTML Help). For this to work a browser that supports -# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser). -# Windows users are probably better off using the HTML help feature. -# Since the tree basically has the same information as the tab index you -# could consider to set DISABLE_INDEX to NO when enabling this option. - -GENERATE_TREEVIEW = NO - -# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values -# (range [0,1..20]) that doxygen will group on one line in the generated HTML -# documentation. Note that a value of 0 will completely suppress the enum -# values from appearing in the overview section. - -ENUM_VALUES_PER_LINE = 4 - -# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be -# used to set the initial width (in pixels) of the frame in which the tree -# is shown. - -TREEVIEW_WIDTH = 250 - -# When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open -# links to external symbols imported via tag files in a separate window. - -EXT_LINKS_IN_WINDOW = NO - -# Use this tag to change the font size of Latex formulas included -# as images in the HTML documentation. The default is 10. Note that -# when you change the font size after a successful doxygen run you need -# to manually remove any form_*.png images from the HTML output directory -# to force them to be regenerated. - -FORMULA_FONTSIZE = 10 - -# Use the FORMULA_TRANPARENT tag to determine whether or not the images -# generated for formulas are transparent PNGs. Transparent PNGs are -# not supported properly for IE 6.0, but are supported on all modern browsers. -# Note that when changing this option you need to delete any form_*.png files -# in the HTML output before the changes have effect. - -FORMULA_TRANSPARENT = YES - -# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax -# (see http://www.mathjax.org) which uses client side Javascript for the -# rendering instead of using prerendered bitmaps. Use this if you do not -# have LaTeX installed or if you want to formulas look prettier in the HTML -# output. When enabled you may also need to install MathJax separately and -# configure the path to it using the MATHJAX_RELPATH option. - -USE_MATHJAX = NO - -# When MathJax is enabled you need to specify the location relative to the -# HTML output directory using the MATHJAX_RELPATH option. The destination -# directory should contain the MathJax.js script. For instance, if the mathjax -# directory is located at the same level as the HTML output directory, then -# MATHJAX_RELPATH should be ../mathjax. The default value points to -# the MathJax Content Delivery Network so you can quickly see the result without -# installing MathJax. -# However, it is strongly recommended to install a local -# copy of MathJax from http://www.mathjax.org before deployment. - -MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest - -# The MATHJAX_EXTENSIONS tag can be used to specify one or MathJax extension -# names that should be enabled during MathJax rendering. - -MATHJAX_EXTENSIONS = - -# When the SEARCHENGINE tag is enabled doxygen will generate a search box -# for the HTML output. The underlying search engine uses javascript -# and DHTML and should work on any modern browser. Note that when using -# HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets -# (GENERATE_DOCSET) there is already a search function so this one should -# typically be disabled. For large projects the javascript based search engine -# can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution. - -SEARCHENGINE = NO - -# When the SERVER_BASED_SEARCH tag is enabled the search engine will be -# implemented using a PHP enabled web server instead of at the web client -# using Javascript. Doxygen will generate the search PHP script and index -# file to put on the web server. The advantage of the server -# based approach is that it scales better to large projects and allows -# full text search. The disadvantages are that it is more difficult to setup -# and does not have live searching capabilities. - -SERVER_BASED_SEARCH = NO - -#--------------------------------------------------------------------------- -# configuration options related to the LaTeX output -#--------------------------------------------------------------------------- - -# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will -# generate Latex output. - -GENERATE_LATEX = NO - -# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `latex' will be used as the default path. - -LATEX_OUTPUT = latex - -# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be -# invoked. If left blank `latex' will be used as the default command name. -# Note that when enabling USE_PDFLATEX this option is only used for -# generating bitmaps for formulas in the HTML output, but not in the -# Makefile that is written to the output directory. - -LATEX_CMD_NAME = latex - -# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to -# generate index for LaTeX. If left blank `makeindex' will be used as the -# default command name. - -MAKEINDEX_CMD_NAME = makeindex - -# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact -# LaTeX documents. This may be useful for small projects and may help to -# save some trees in general. - -COMPACT_LATEX = NO - -# The PAPER_TYPE tag can be used to set the paper type that is used -# by the printer. Possible values are: a4, letter, legal and -# executive. If left blank a4wide will be used. - -PAPER_TYPE = a4wide - -# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX -# packages that should be included in the LaTeX output. - -EXTRA_PACKAGES = - -# The LATEX_HEADER tag can be used to specify a personal LaTeX header for -# the generated latex document. The header should contain everything until -# the first chapter. If it is left blank doxygen will generate a -# standard header. Notice: only use this tag if you know what you are doing! - -LATEX_HEADER = - -# The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for -# the generated latex document. The footer should contain everything after -# the last chapter. If it is left blank doxygen will generate a -# standard footer. Notice: only use this tag if you know what you are doing! - -LATEX_FOOTER = - -# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated -# is prepared for conversion to pdf (using ps2pdf). The pdf file will -# contain links (just like the HTML output) instead of page references -# This makes the output suitable for online browsing using a pdf viewer. - -PDF_HYPERLINKS = NO - -# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of -# plain latex in the generated Makefile. Set this option to YES to get a -# higher quality PDF documentation. - -USE_PDFLATEX = NO - -# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. -# command to the generated LaTeX files. This will instruct LaTeX to keep -# running if errors occur, instead of asking the user for help. -# This option is also used when generating formulas in HTML. - -LATEX_BATCHMODE = NO - -# If LATEX_HIDE_INDICES is set to YES then doxygen will not -# include the index chapters (such as File Index, Compound Index, etc.) -# in the output. - -LATEX_HIDE_INDICES = NO - -# If LATEX_SOURCE_CODE is set to YES then doxygen will include -# source code with syntax highlighting in the LaTeX output. -# Note that which sources are shown also depends on other settings -# such as SOURCE_BROWSER. - -LATEX_SOURCE_CODE = NO - -# The LATEX_BIB_STYLE tag can be used to specify the style to use for the -# bibliography, e.g. plainnat, or ieeetr. The default style is "plain". See -# http://en.wikipedia.org/wiki/BibTeX for more info. - -LATEX_BIB_STYLE = plain - -#--------------------------------------------------------------------------- -# configuration options related to the RTF output -#--------------------------------------------------------------------------- - -# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output -# The RTF output is optimized for Word 97 and may not look very pretty with -# other RTF readers or editors. - -GENERATE_RTF = NO - -# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `rtf' will be used as the default path. - -RTF_OUTPUT = rtf - -# If the COMPACT_RTF tag is set to YES Doxygen generates more compact -# RTF documents. This may be useful for small projects and may help to -# save some trees in general. - -COMPACT_RTF = NO - -# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated -# will contain hyperlink fields. The RTF file will -# contain links (just like the HTML output) instead of page references. -# This makes the output suitable for online browsing using WORD or other -# programs which support those fields. -# Note: wordpad (write) and others do not support links. - -RTF_HYPERLINKS = NO - -# Load style sheet definitions from file. Syntax is similar to doxygen's -# config file, i.e. a series of assignments. You only have to provide -# replacements, missing definitions are set to their default value. - -RTF_STYLESHEET_FILE = - -# Set optional variables used in the generation of an rtf document. -# Syntax is similar to doxygen's config file. - -RTF_EXTENSIONS_FILE = - -#--------------------------------------------------------------------------- -# configuration options related to the man page output -#--------------------------------------------------------------------------- - -# If the GENERATE_MAN tag is set to YES (the default) Doxygen will -# generate man pages - -GENERATE_MAN = YES - -# The MAN_OUTPUT tag is used to specify where the man pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `man' will be used as the default path. - -MAN_OUTPUT = man - -# The MAN_EXTENSION tag determines the extension that is added to -# the generated man pages (default is the subroutine's section .3) - -MAN_EXTENSION = .3 - -# If the MAN_LINKS tag is set to YES and Doxygen generates man output, -# then it will generate one additional man file for each entity -# documented in the real man page(s). These additional files -# only source the real man page, but without them the man command -# would be unable to find the correct page. The default is NO. - -MAN_LINKS = NO - -#--------------------------------------------------------------------------- -# configuration options related to the XML output -#--------------------------------------------------------------------------- - -# If the GENERATE_XML tag is set to YES Doxygen will -# generate an XML file that captures the structure of -# the code including all documentation. - -GENERATE_XML = NO - -# The XML_OUTPUT tag is used to specify where the XML pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `xml' will be used as the default path. - -XML_OUTPUT = xml - -# The XML_SCHEMA tag can be used to specify an XML schema, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_SCHEMA = - -# The XML_DTD tag can be used to specify an XML DTD, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_DTD = - -# If the XML_PROGRAMLISTING tag is set to YES Doxygen will -# dump the program listings (including syntax highlighting -# and cross-referencing information) to the XML output. Note that -# enabling this will significantly increase the size of the XML output. - -XML_PROGRAMLISTING = YES - -#--------------------------------------------------------------------------- -# configuration options for the AutoGen Definitions output -#--------------------------------------------------------------------------- - -# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will -# generate an AutoGen Definitions (see autogen.sf.net) file -# that captures the structure of the code including all -# documentation. Note that this feature is still experimental -# and incomplete at the moment. - -GENERATE_AUTOGEN_DEF = NO - -#--------------------------------------------------------------------------- -# configuration options related to the Perl module output -#--------------------------------------------------------------------------- - -# If the GENERATE_PERLMOD tag is set to YES Doxygen will -# generate a Perl module file that captures the structure of -# the code including all documentation. Note that this -# feature is still experimental and incomplete at the -# moment. - -GENERATE_PERLMOD = NO - -# If the PERLMOD_LATEX tag is set to YES Doxygen will generate -# the necessary Makefile rules, Perl scripts and LaTeX code to be able -# to generate PDF and DVI output from the Perl module output. - -PERLMOD_LATEX = NO - -# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be -# nicely formatted so it can be parsed by a human reader. -# This is useful -# if you want to understand what is going on. -# On the other hand, if this -# tag is set to NO the size of the Perl module output will be much smaller -# and Perl will parse it just the same. - -PERLMOD_PRETTY = YES - -# The names of the make variables in the generated doxyrules.make file -# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. -# This is useful so different doxyrules.make files included by the same -# Makefile don't overwrite each other's variables. - -PERLMOD_MAKEVAR_PREFIX = - -#--------------------------------------------------------------------------- -# Configuration options related to the preprocessor -#--------------------------------------------------------------------------- - -# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will -# evaluate all C-preprocessor directives found in the sources and include -# files. - -ENABLE_PREPROCESSING = YES - -# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro -# names in the source code. If set to NO (the default) only conditional -# compilation will be performed. Macro expansion can be done in a controlled -# way by setting EXPAND_ONLY_PREDEF to YES. - -MACRO_EXPANSION = NO - -# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES -# then the macro expansion is limited to the macros specified with the -# PREDEFINED and EXPAND_AS_DEFINED tags. - -EXPAND_ONLY_PREDEF = NO - -# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files -# pointed to by INCLUDE_PATH will be searched when a #include is found. - -SEARCH_INCLUDES = YES - -# The INCLUDE_PATH tag can be used to specify one or more directories that -# contain include files that are not input files but should be processed by -# the preprocessor. - -INCLUDE_PATH = - -# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard -# patterns (like *.h and *.hpp) to filter out the header-files in the -# directories. If left blank, the patterns specified with FILE_PATTERNS will -# be used. - -INCLUDE_FILE_PATTERNS = - -# The PREDEFINED tag can be used to specify one or more macro names that -# are defined before the preprocessor is started (similar to the -D option of -# gcc). The argument of the tag is a list of macros of the form: name -# or name=definition (no spaces). If the definition and the = are -# omitted =1 is assumed. To prevent a macro definition from being -# undefined via #undef or recursively expanded use the := operator -# instead of the = operator. - -PREDEFINED = - -# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then -# this tag can be used to specify a list of macro names that should be expanded. -# The macro definition that is found in the sources will be used. -# Use the PREDEFINED tag if you want to use a different macro definition that -# overrules the definition found in the source code. - -EXPAND_AS_DEFINED = - -# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then -# doxygen's preprocessor will remove all references to function-like macros -# that are alone on a line, have an all uppercase name, and do not end with a -# semicolon, because these will confuse the parser if not removed. - -SKIP_FUNCTION_MACROS = YES - -#--------------------------------------------------------------------------- -# Configuration::additions related to external references -#--------------------------------------------------------------------------- - -# The TAGFILES option can be used to specify one or more tagfiles. For each -# tag file the location of the external documentation should be added. The -# format of a tag file without this location is as follows: -# -# TAGFILES = file1 file2 ... -# Adding location for the tag files is done as follows: -# -# TAGFILES = file1=loc1 "file2 = loc2" ... -# where "loc1" and "loc2" can be relative or absolute paths -# or URLs. Note that each tag file must have a unique name (where the name does -# NOT include the path). If a tag file is not located in the directory in which -# doxygen is run, you must also specify the path to the tagfile here. - -TAGFILES = - -# When a file name is specified after GENERATE_TAGFILE, doxygen will create -# a tag file that is based on the input files it reads. - -GENERATE_TAGFILE = - -# If the ALLEXTERNALS tag is set to YES all external classes will be listed -# in the class index. If set to NO only the inherited external classes -# will be listed. - -ALLEXTERNALS = NO - -# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed -# in the modules index. If set to NO, only the current project's groups will -# be listed. - -EXTERNAL_GROUPS = YES - -# The PERL_PATH should be the absolute path and name of the perl script -# interpreter (i.e. the result of `which perl'). - -PERL_PATH = /usr/bin/perl - -#--------------------------------------------------------------------------- -# Configuration options related to the dot tool -#--------------------------------------------------------------------------- - -# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will -# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base -# or super classes. Setting the tag to NO turns the diagrams off. Note that -# this option also works with HAVE_DOT disabled, but it is recommended to -# install and use dot, since it yields more powerful graphs. - -CLASS_DIAGRAMS = NO - -# You can define message sequence charts within doxygen comments using the \msc -# command. Doxygen will then run the mscgen tool (see -# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the -# documentation. The MSCGEN_PATH tag allows you to specify the directory where -# the mscgen tool resides. If left empty the tool is assumed to be found in the -# default search path. - -MSCGEN_PATH = - -# If set to YES, the inheritance and collaboration graphs will hide -# inheritance and usage relations if the target is undocumented -# or is not a class. - -HIDE_UNDOC_RELATIONS = YES - -# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is -# available from the path. This tool is part of Graphviz, a graph visualization -# toolkit from AT&T and Lucent Bell Labs. The other options in this section -# have no effect if this option is set to NO (the default) - -HAVE_DOT = NO - -# The DOT_NUM_THREADS specifies the number of dot invocations doxygen is -# allowed to run in parallel. When set to 0 (the default) doxygen will -# base this on the number of processors available in the system. You can set it -# explicitly to a value larger than 0 to get control over the balance -# between CPU load and processing speed. - -DOT_NUM_THREADS = 0 - -# By default doxygen will use the Helvetica font for all dot files that -# doxygen generates. When you want a differently looking font you can specify -# the font name using DOT_FONTNAME. You need to make sure dot is able to find -# the font, which can be done by putting it in a standard location or by setting -# the DOTFONTPATH environment variable or by setting DOT_FONTPATH to the -# directory containing the font. - -DOT_FONTNAME = FreeSans - -# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs. -# The default size is 10pt. - -DOT_FONTSIZE = 10 - -# By default doxygen will tell dot to use the Helvetica font. -# If you specify a different font using DOT_FONTNAME you can use DOT_FONTPATH to -# set the path where dot can find it. - -DOT_FONTPATH = - -# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect inheritance relations. Setting this tag to YES will force the -# CLASS_DIAGRAMS tag to NO. - -CLASS_GRAPH = NO - -# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect implementation dependencies (inheritance, containment, and -# class references variables) of the class with other documented classes. - -COLLABORATION_GRAPH = NO - -# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for groups, showing the direct groups dependencies - -GROUP_GRAPHS = YES - -# If the UML_LOOK tag is set to YES doxygen will generate inheritance and -# collaboration diagrams in a style similar to the OMG's Unified Modeling -# Language. - -UML_LOOK = NO - -# If the UML_LOOK tag is enabled, the fields and methods are shown inside -# the class node. If there are many fields or methods and many nodes the -# graph may become too big to be useful. The UML_LIMIT_NUM_FIELDS -# threshold limits the number of items for each type to make the size more -# managable. Set this to 0 for no limit. Note that the threshold may be -# exceeded by 50% before the limit is enforced. - -UML_LIMIT_NUM_FIELDS = 10 - -# If set to YES, the inheritance and collaboration graphs will show the -# relations between templates and their instances. - -TEMPLATE_RELATIONS = NO - -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT -# tags are set to YES then doxygen will generate a graph for each documented -# file showing the direct and indirect include dependencies of the file with -# other documented files. - -INCLUDE_GRAPH = NO - -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and -# HAVE_DOT tags are set to YES then doxygen will generate a graph for each -# documented header file showing the documented files that directly or -# indirectly include this file. - -INCLUDED_BY_GRAPH = NO - -# If the CALL_GRAPH and HAVE_DOT options are set to YES then -# doxygen will generate a call dependency graph for every global function -# or class method. Note that enabling this option will significantly increase -# the time of a run. So in most cases it will be better to enable call graphs -# for selected functions only using the \callgraph command. - -CALL_GRAPH = NO - -# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then -# doxygen will generate a caller dependency graph for every global function -# or class method. Note that enabling this option will significantly increase -# the time of a run. So in most cases it will be better to enable caller -# graphs for selected functions only using the \callergraph command. - -CALLER_GRAPH = NO - -# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen -# will generate a graphical hierarchy of all classes instead of a textual one. - -GRAPHICAL_HIERARCHY = NO - -# If the DIRECTORY_GRAPH and HAVE_DOT tags are set to YES -# then doxygen will show the dependencies a directory has on other directories -# in a graphical way. The dependency relations are determined by the #include -# relations between the files in the directories. - -DIRECTORY_GRAPH = NO - -# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images -# generated by dot. Possible values are svg, png, jpg, or gif. -# If left blank png will be used. If you choose svg you need to set -# HTML_FILE_EXTENSION to xhtml in order to make the SVG files -# visible in IE 9+ (other browsers do not have this requirement). - -DOT_IMAGE_FORMAT = png - -# If DOT_IMAGE_FORMAT is set to svg, then this option can be set to YES to -# enable generation of interactive SVG images that allow zooming and panning. -# Note that this requires a modern browser other than Internet Explorer. -# Tested and working are Firefox, Chrome, Safari, and Opera. For IE 9+ you -# need to set HTML_FILE_EXTENSION to xhtml in order to make the SVG files -# visible. Older versions of IE do not have SVG support. - -INTERACTIVE_SVG = NO - -# The tag DOT_PATH can be used to specify the path where the dot tool can be -# found. If left blank, it is assumed the dot tool can be found in the path. - -DOT_PATH = - -# The DOTFILE_DIRS tag can be used to specify one or more directories that -# contain dot files that are included in the documentation (see the -# \dotfile command). - -DOTFILE_DIRS = - -# The MSCFILE_DIRS tag can be used to specify one or more directories that -# contain msc files that are included in the documentation (see the -# \mscfile command). - -MSCFILE_DIRS = - -# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of -# nodes that will be shown in the graph. If the number of nodes in a graph -# becomes larger than this value, doxygen will truncate the graph, which is -# visualized by representing a node as a red box. Note that doxygen if the -# number of direct children of the root node in a graph is already larger than -# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note -# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH. - -DOT_GRAPH_MAX_NODES = 50 - -# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the -# graphs generated by dot. A depth value of 3 means that only nodes reachable -# from the root by following a path via at most 3 edges will be shown. Nodes -# that lay further from the root node will be omitted. Note that setting this -# option to 1 or 2 may greatly reduce the computation time needed for large -# code bases. Also note that the size of a graph can be further restricted by -# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction. - -MAX_DOT_GRAPH_DEPTH = 0 - -# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent -# background. This is disabled by default, because dot on Windows does not -# seem to support this out of the box. Warning: Depending on the platform used, -# enabling this option may lead to badly anti-aliased labels on the edges of -# a graph (i.e. they become hard to read). - -DOT_TRANSPARENT = NO - -# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output -# files in one run (i.e. multiple -o and -T options on the command line). This -# makes dot run faster, but since only newer versions of dot (>1.8.10) -# support this, this feature is disabled by default. - -DOT_MULTI_TARGETS = NO - -# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will -# generate a legend page explaining the meaning of the various boxes and -# arrows in the dot generated graphs. - -GENERATE_LEGEND = NO - -# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will -# remove the intermediate dot files that are used to generate -# the various graphs. - -DOT_CLEANUP = YES diff --git a/source/modules/lilv/serd-0.18.2/doc/serdi.1 b/source/modules/lilv/serd-0.18.2/doc/serdi.1 deleted file mode 100644 index 45001c908..000000000 --- a/source/modules/lilv/serd-0.18.2/doc/serdi.1 +++ /dev/null @@ -1,72 +0,0 @@ -.TH SERDI 1 "08 May 2012" - -.SH NAME -.B serdi \- Read and write RDF syntax - -.SH SYNOPSIS -serdi [OPTION]... INPUT BASE_URI - -.SH OPTIONS - -.TP -\fB\-b\fR -Fast bulk output for large serialisations. - -.TP -\fB\-c PREFIX\fR -Chop PREFIX from matching blank node IDs. - -.TP -\fB\-e\fR -Eat input one character at a time, rather than a page at a time which is the -default. This is useful when reading from a pipe since output will be -generated immediately as input arrives, rather than waiting until an entire -page of input has arrived. With this option serdi uses one page less memory, -but will likely be significantly slower. - -.TP -\fB\-f\fR -Keep full URIs in input (don't qualify). - -.TP -\fB\-h\fR -Print the command line options. - -.TP -\fB\-i SYNTAX\fR -Read input in SYNTAX (`turtle' or `ntriples'). - -.TP -\fB\-o SYNTAX\fR -Write output in SYNTAX (`turtle' or `ntriples'). - -.TP -\fB\-p PREFIX\fR -Add PREFIX to blank node IDs. - -.TP -\fB\-r ROOT_URI\fR -Keep relative URIs within ROOT_URI. - -.TP -\fB\-s INPUT\fR -Parse INPUT as a string (terminates options). - -.TP -\fB\-v\fR -Display version information and exit. - -.SH AUTHOR -Serdi was written by David Robillard - -.SH COPYRIGHT -Copyright \(co 2011-2012 David Robillard. -.br -License: -.br -This is free software; you are free to change and redistribute it. -.br -There is NO WARRANTY, to the extent permitted by law. - -.SH "SEE ALSO" - diff --git a/source/modules/lilv/serd-0.18.2/doc/style.css b/source/modules/lilv/serd-0.18.2/doc/style.css deleted file mode 100644 index 4c62b46a8..000000000 --- a/source/modules/lilv/serd-0.18.2/doc/style.css +++ /dev/null @@ -1,563 +0,0 @@ -body { - font-size: medium; - font-family: sans-serif; -} - -#top { - background-color: #F3F3F3; - margin: 0; - padding: 0; - border-bottom: 1px solid #DDD; - margin-bottom: 1ex; - font-size: xx-large; - font-weight: bold; -} - -div.header { - display: none; -} - -.tabs { - display: none; -} - -h1 h2 h3 h4 h5 h6 { - font-weight: bold; -} - -h1 { - font-size: 164%; -} - -h2 { - font-size: 132%; -} - -h3 { - font-size: 124%; -} - -h4 { - font-size: 116%; -} - -h5 { - font-size: 108%; -} - -h6 { - font-size: 100%; -} - -p { - margin: 0 0 1ex 0; -} - -br { - display: none; -} - -dt { - font-weight: 700; -} - -div.multicol { -} - -p.startli,p.startdd,p.starttd { - margin-top: 2px; -} - -p.endli { - margin-bottom: 0; -} - -p.enddd { - margin-bottom: 4px; -} - -p.endtd { - margin-bottom: 2px; -} - -caption { - font-weight: 700; -} - -span.legend { - font-size: 70%; - text-align: center; -} - -h3.version { - font-size: 90%; - text-align: center; -} - -div.qindex,div.navtab { - background-color: #EBEFF6; - border: 1px solid #A3B4D7; - text-align: center; - margin: 2px; - padding: 2px; -} - -div.qindex,div.navpath { - width: 100%; - line-height: 140%; -} - -div.navtab { - margin-right: 15px; -} - -/* @group Link Styling */ -a { - color: #3D8C57; - text-decoration: none; -} - -.contents a:visited { - color: #50755E; -} - -a:hover { - text-decoration: underline; -} - -a.qindexHL { - background-color: #9CAFD4; - color: #FFF; - border: 1px double #869DCA; -} - -a.code { - color: #4665A2; -} - -a.codeRef { - color: #4665A2; -} - -/* @end */ -dl.el { - margin-left: -1cm; -} - -.fragment { - font-family: monospace, fixed; - font-size: 105%; -} - -pre.fragment { - border: 1px solid #C4C4C4; - background-color: #F9F9F9; - padding: 4px 6px; - margin: 4px 8px 4px 2px; - overflow: auto; - font-size: 9pt; - line-height: 125%; -} - -div.ah { - background-color: #000; - font-weight: 700; - color: #FFF; - margin-bottom: 3px; - margin-top: 3px; - padding: .2em; - border: thin solid #333; -} - -div.groupHeader { - margin-left: 16px; - margin-top: 12px; - margin-bottom: 6px; - font-weight: 700; -} - -div.groupText { - margin-left: 16px; - font-style: italic; -} - -body { - background: #FFF; - color: #000; - margin: 0; -} - -div.contents { - margin-top: 10px; - margin-left: 10px; - margin-right: 10px; -} - -td.indexkey { - background-color: #EBEFF6; - font-weight: 700; - border: 1px solid #C4CFE5; - margin: 2px 0; - padding: 2px 10px; -} - -td.indexvalue { - background-color: #EBEFF6; - border: 1px solid #C4CFE5; - padding: 2px 10px; - margin: 2px 0; -} - -tr.memlist { - background-color: #EEF1F7; -} - -p.formulaDsp { - text-align: center; -} - -img.formulaDsp { -} - -img.formulaInl { - vertical-align: middle; -} - -div.center { - text-align: center; - margin-top: 0; - margin-bottom: 0; - padding: 0; -} - -div.center img { - border: 0; -} - -address.footer { - text-align: right; - padding: 0 0.25em 0.25em 0; -} - -img.footer { - border: 0; - vertical-align: middle; -} - -/* @group Code Colorization */ -span.keyword { - color: green; -} - -span.keywordtype { - color: #604020; -} - -span.keywordflow { - color: #e08000; -} - -span.comment { - color: maroon; -} - -span.preprocessor { - color: #806020; -} - -span.stringliteral { - color: #002080; -} - -span.charliteral { - color: teal; -} - -span.vhdldigit { - color: #F0F; -} - -span.vhdlkeyword { - color: #700070; -} - -span.vhdllogic { - color: red; -} - -/* @end */ -td.tiny { - font-size: 75%; -} - -.dirtab { - padding: 4px; - border-collapse: collapse; - border: 1px solid #A3B4D7; -} - -th.dirtab { - background: #EBEFF6; - font-weight: 700; -} - -hr { - height: 0; - border: none; - border-top: 1px solid #DDD; - margin: 2em 0 1em; -} - -hr.footer { - height: 1px; -} - -/* @group Member Descriptions */ -table.memberdecls { - border-spacing: 0; - font-size: small; -} - -.mdescLeft,.mdescRight,.memItemLeft,.memItemRight,.memTemplItemLeft,.memTemplItemRight,.memTemplParams { - background-color: #FBFBFB; - margin: 0; - padding: 0.25ex; -} - -.mdescLeft,.mdescRight { - color: #555; -} - -.memItemLeft,.memItemRight,.memTemplParams { - border-top: 1px solid #DDD; -} - -.memItemLeft,.memTemplItemLeft { - white-space: nowrap; - padding-left: 2em; -} - -.memTemplParams { - color: #464646; - white-space: nowrap; -} - -/* @end */ -/* @group Member Details */ -/* Styles for detailed member documentation */ -.memtemplate { - font-size: 80%; - color: #4665A2; - font-weight: bold; -} - -.memnav { - background-color: #EBEFF6; - border: 1px solid #A3B4D7; - text-align: center; - margin: 2px; - margin-right: 15px; - padding: 2px; -} - -.memitem { - padding: 0; - margin: 1ex 0 2ex 0; - border: 1px solid #CCC; -} - -.memname { - white-space: nowrap; - font-weight: bold; -} - -.memproto { - border-bottom: 1px solid #DDD; - padding: 0.5ex; - font-weight: bold; - background-color: #F3F3F3; -} - -.memdoc { - padding: 1ex; - background-color: #FBFBFB; - border-top-width: 0; -} - -.paramkey { - text-align: right; -} - -.paramtype { - white-space: nowrap; -} - -.paramname { - color: #602020; - white-space: nowrap; -} - -.paramname em { - font-style: normal; -} - -/* @end */ -/* @group Directory (tree) */ -/* for the tree view */ -.ftvtree { - font-family: sans-serif; - margin: 0; -} - -/* these are for tree view when used as main index */ -.directory { - font-size: 9pt; - font-weight: bold; - margin: 5px; -} - -.directory h3 { - margin: 0; - margin-top: 1em; - font-size: 11pt; -} - -.directory > h3 { - margin-top: 0; -} - -.directory p { - margin: 0; - white-space: nowrap; -} - -.directory div { - display: none; - margin: 0; -} - -.directory img { - vertical-align: -30%; -} - -/* these are for tree view when not used as main index */ -.directory-alt { - font-size: 100%; - font-weight: bold; -} - -.directory-alt h3 { - margin: 0; - margin-top: 1em; - font-size: 11pt; -} - -.directory-alt > h3 { - margin-top: 0; -} - -.directory-alt p { - margin: 0; - white-space: nowrap; -} - -.directory-alt div { - display: none; - margin: 0; -} - -.directory-alt img { - vertical-align: -30%; -} - -/* @end */ -div.dynheader { - margin-top: 8px; -} - -address { - font-style: normal; - color: #2A3D61; -} - -table.doxtable { - border-collapse: collapse; - margin: 0.5ex; -} - -table.doxtable td,table.doxtable th { - border: 1px solid #DDD; - padding: 3px 7px 2px; -} - -table.doxtable th { - background-color: #F3F3F3; - color: #000; - padding-bottom: 4px; - padding-top: 5px; - text-align: left; - font-weight: bold; -} - -.tabsearch { - top: 0; - left: 10px; - height: 36px; - z-index: 101; - overflow: hidden; - font-size: 13px; -} - -.navpath ul { - font-size: 11px; - height: 30px; - line-height: 30px; - color: #8AA0CC; - border: 1px solid #C2CDE4; - overflow: hidden; - margin: 0; - padding: 0; -} - -.navpath li { - list-style-type: none; - float: left; - padding-left: 10px; - padding-right: 15px; - color: #364D7C; -} - -.navpath a { - height: 32px; - display: block; - text-decoration: none; - outline: none; -} - -.navpath a:hover { - color: #6884BD; -} - -div.summary { - float: right; - font-size: 8pt; - padding-right: 5px; - width: 50%; - text-align: right; -} - -div.summary a { - white-space: nowrap; -} - -div.header { - background-color: #F3F3F3; - margin: 0; - border-bottom: 1px solid #DDD; -} - -div.headertitle { - padding: 5px 5px 5px 10px; - font-size: 180%; - font-weight: bold; -} diff --git a/source/modules/lilv/serd-0.18.2/serd.pc.in b/source/modules/lilv/serd-0.18.2/serd.pc.in deleted file mode 100644 index 954d263a1..000000000 --- a/source/modules/lilv/serd-0.18.2/serd.pc.in +++ /dev/null @@ -1,10 +0,0 @@ -prefix=@PREFIX@ -exec_prefix=@EXEC_PREFIX@ -libdir=@LIBDIR@ -includedir=@INCLUDEDIR@ - -Name: Serd -Version: @SERD_VERSION@ -Description: Lightweight RDF syntax library -Libs: -L${libdir} -l@LIB_SERD@ -Cflags: -I${includedir}/serd-@SERD_MAJOR_VERSION@ diff --git a/source/modules/lilv/serd-0.18.2/tests/README.txt b/source/modules/lilv/serd-0.18.2/tests/README.txt deleted file mode 100644 index 37460e60f..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/README.txt +++ /dev/null @@ -1,20 +0,0 @@ -These are the tests for the Turtle Terse RDF Triple Language -that must be passed by conformant systems. See - http://www.dajobe.org/2004/01/turtle/ -for the full conformance information. - -The format is a set of good tests and bad tests. - -Good tests are a pair of files: - abc.ttl abc.out -which are the input Turtle file and the expected output RDF triples, -written in N-Triples. - -bad tests are of the form - bad-XX.ttl -which must fail. - -The tests should be performed with an assumed base URI -of http://www.w3.org/2001/sw/DataAccess/df1/tests/ - -Dave diff --git a/source/modules/lilv/serd-0.18.2/tests/UTF-8.ttl b/source/modules/lilv/serd-0.18.2/tests/UTF-8.ttl deleted file mode 100644 index 82587c578..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/UTF-8.ttl +++ /dev/null @@ -1,219 +0,0 @@ -@prefix rdfs: . - -<> rdfs:comment """ -UTF-8 encoded sample plain-text file -‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ - -Markus Kuhn [ˈmaʳkʊs kuːn] — 2002-07-25 - - -The ASCII compatible UTF-8 encoding used in this plain-text file -is defined in Unicode, ISO 10646-1, and RFC 2279. - - -Using Unicode/UTF-8, you can write in emails and source code things such as - -Mathematics and sciences: - - ∮ E⋅da = Q, n → ∞, ∑ f(i) = ∏ g(i), ⎧⎡⎛┌─────┐⎞⎤⎫ - ⎪⎢⎜│a²+b³ ⎟⎥⎪ - ∀x∈ℝ: ⌈x⌉ = −⌊−x⌋, α ∧ ¬β = ¬(¬α ∨ β), ⎪⎢⎜│───── ⎟⎥⎪ - ⎪⎢⎜⎷ c₈ ⎟⎥⎪ - ℕ ⊆ ℕ₀ ⊂ ℤ ⊂ ℚ ⊂ ℝ ⊂ ℂ, ⎨⎢⎜ ⎟⎥⎬ - ⎪⎢⎜ ∞ ⎟⎥⎪ - ⊥ < a ≠ b ≡ c ≤ d ≪ ⊤ ⇒ (⟦A⟧ ⇔ ⟪B⟫), ⎪⎢⎜ ⎲ ⎟⎥⎪ - ⎪⎢⎜ ⎳aⁱ-bⁱ⎟⎥⎪ - 2H₂ + O₂ ⇌ 2H₂O, R = 4.7 kΩ, ⌀ 200 mm ⎩⎣⎝i=1 ⎠⎦⎭ - -Linguistics and dictionaries: - - ði ıntəˈnæʃənəl fəˈnɛtık əsoʊsiˈeıʃn - Y [ˈʏpsilɔn], Yen [jɛn], Yoga [ˈjoːgɑ] - -APL: - - ((V⍳V)=⍳⍴V)/V←,V ⌷←⍳→⍴∆∇⊃‾⍎⍕⌈ - -Nicer typography in plain text files: - - ╔══════════════════════════════════════════╗ - ║ ║ - ║ • ‘single’ and “double” quotes ║ - ║ ║ - ║ • Curly apostrophes: “We’ve been here” ║ - ║ ║ - ║ • Latin-1 apostrophe and accents: '´` ║ - ║ ║ - ║ • ‚deutsche‘ „Anführungszeichen“ ║ - ║ ║ - ║ • †, ‡, ‰, •, 3–4, —, −5/+5, ™, … ║ - ║ ║ - ║ • ASCII safety test: 1lI|, 0OD, 8B ║ - ║ ╭─────────╮ ║ - ║ • the euro symbol: │ 14.95 € │ ║ - ║ ╰─────────╯ ║ - ╚══════════════════════════════════════════╝ - -Combining characters: - - STARGΛ̊TE SG-1, a = v̇ = r̈, a⃑ ⊥ b⃑ - -Greek (in Polytonic): - - The Greek anthem: - - Σὲ γνωρίζω ἀπὸ τὴν κόψη - τοῦ σπαθιοῦ τὴν τρομερή, - σὲ γνωρίζω ἀπὸ τὴν ὄψη - ποὺ μὲ βία μετράει τὴ γῆ. - - ᾿Απ᾿ τὰ κόκκαλα βγαλμένη - τῶν ῾Ελλήνων τὰ ἱερά - καὶ σὰν πρῶτα ἀνδρειωμένη - χαῖρε, ὦ χαῖρε, ᾿Ελευθεριά! - - From a speech of Demosthenes in the 4th century BC: - - Οὐχὶ ταὐτὰ παρίσταταί μοι γιγνώσκειν, ὦ ἄνδρες ᾿Αθηναῖοι, - ὅταν τ᾿ εἰς τὰ πράγματα ἀποβλέψω καὶ ὅταν πρὸς τοὺς - λόγους οὓς ἀκούω· τοὺς μὲν γὰρ λόγους περὶ τοῦ - τιμωρήσασθαι Φίλιππον ὁρῶ γιγνομένους, τὰ δὲ πράγματ᾿ - εἰς τοῦτο προήκοντα, ὥσθ᾿ ὅπως μὴ πεισόμεθ᾿ αὐτοὶ - πρότερον κακῶς σκέψασθαι δέον. οὐδέν οὖν ἄλλο μοι δοκοῦσιν - οἱ τὰ τοιαῦτα λέγοντες ἢ τὴν ὑπόθεσιν, περὶ ἧς βουλεύεσθαι, - οὐχὶ τὴν οὖσαν παριστάντες ὑμῖν ἁμαρτάνειν. ἐγὼ δέ, ὅτι μέν - ποτ᾿ ἐξῆν τῇ πόλει καὶ τὰ αὑτῆς ἔχειν ἀσφαλῶς καὶ Φίλιππον - τιμωρήσασθαι, καὶ μάλ᾿ ἀκριβῶς οἶδα· ἐπ᾿ ἐμοῦ γάρ, οὐ πάλαι - γέγονεν ταῦτ᾿ ἀμφότερα· νῦν μέντοι πέπεισμαι τοῦθ᾿ ἱκανὸν - προλαβεῖν ἡμῖν εἶναι τὴν πρώτην, ὅπως τοὺς συμμάχους - σώσομεν. ἐὰν γὰρ τοῦτο βεβαίως ὑπάρξῃ, τότε καὶ περὶ τοῦ - τίνα τιμωρήσεταί τις καὶ ὃν τρόπον ἐξέσται σκοπεῖν· πρὶν δὲ - τὴν ἀρχὴν ὀρθῶς ὑποθέσθαι, μάταιον ἡγοῦμαι περὶ τῆς - τελευτῆς ὁντινοῦν ποιεῖσθαι λόγον. - - Δημοσθένους, Γ´ ᾿Ολυνθιακὸς - -Georgian: - - From a Unicode conference invitation: - - გთხოვთ ახლავე გაიაროთ რეგისტრაცია Unicode-ის მეათე საერთაშორისო - კონფერენციაზე დასასწრებად, რომელიც გაიმართება 10-12 მარტს, - ქ. მაინცში, გერმანიაში. კონფერენცია შეჰკრებს ერთად მსოფლიოს - ექსპერტებს ისეთ დარგებში როგორიცაა ინტერნეტი და Unicode-ი, - ინტერნაციონალიზაცია და ლოკალიზაცია, Unicode-ის გამოყენება - ოპერაციულ სისტემებსა, და გამოყენებით პროგრამებში, შრიფტებში, - ტექსტების დამუშავებასა და მრავალენოვან კომპიუტერულ სისტემებში. - -Russian: - - From a Unicode conference invitation: - - Зарегистрируйтесь сейчас на Десятую Международную Конференцию по - Unicode, которая состоится 10-12 марта 1997 года в Майнце в Германии. - Конференция соберет широкий круг экспертов по вопросам глобального - Интернета и Unicode, локализации и интернационализации, воплощению и - применению Unicode в различных операционных системах и программных - приложениях, шрифтах, верстке и многоязычных компьютерных системах. - -Thai (UCS Level 2): - - Excerpt from a poetry on The Romance of The Three Kingdoms (a Chinese - classic 'San Gua'): - - [----------------------------|------------------------] - ๏ แผ่นดินฮั่นเสื่อมโทรมแสนสังเวช พระปกเกศกองบู๊กู้ขึ้นใหม่ - สิบสองกษัตริย์ก่อนหน้าแลถัดไป สององค์ไซร้โง่เขลาเบาปัญญา - ทรงนับถือขันทีเป็นที่พึ่ง บ้านเมืองจึงวิปริตเป็นนักหนา - โฮจิ๋นเรียกทัพทั่วหัวเมืองมา หมายจะฆ่ามดชั่วตัวสำคัญ - เหมือนขับไสไล่เสือจากเคหา รับหมาป่าเข้ามาเลยอาสัญ - ฝ่ายอ้องอุ้นยุแยกให้แตกกัน ใช้สาวนั้นเป็นชนวนชื่นชวนใจ - พลันลิฉุยกุยกีกลับก่อเหตุ ช่างอาเพศจริงหนาฟ้าร้องไห้ - ต้องรบราฆ่าฟันจนบรรลัย ฤๅหาใครค้ำชูกู้บรรลังก์ ฯ - - (The above is a two-column text. If combining characters are handled - correctly, the lines of the second column should be aligned with the - | character above.) - -Ethiopian: - - Proverbs in the Amharic language: - - ሰማይ አይታረስ ንጉሥ አይከሰስ። - ብላ ካለኝ እንደአባቴ በቆመጠኝ። - ጌጥ ያለቤቱ ቁምጥና ነው። - ደሀ በሕልሙ ቅቤ ባይጠጣ ንጣት በገደለው። - የአፍ ወለምታ በቅቤ አይታሽም። - አይጥ በበላ ዳዋ ተመታ። - ሲተረጉሙ ይደረግሙ። - ቀስ በቀስ፥ ዕንቁላል በእግሩ ይሄዳል። - ድር ቢያብር አንበሳ ያስር። - ሰው እንደቤቱ እንጅ እንደ ጉረቤቱ አይተዳደርም። - እግዜር የከፈተውን ጉሮሮ ሳይዘጋው አይድርም። - የጎረቤት ሌባ፥ ቢያዩት ይስቅ ባያዩት ያጠልቅ። - ሥራ ከመፍታት ልጄን ላፋታት። - ዓባይ ማደሪያ የለው፥ ግንድ ይዞ ይዞራል። - የእስላም አገሩ መካ የአሞራ አገሩ ዋርካ። - ተንጋሎ ቢተፉ ተመልሶ ባፉ። - ወዳጅህ ማር ቢሆን ጨርስህ አትላሰው። - እግርህን በፍራሽህ ልክ ዘርጋ። - -Runes: - - ᚻᛖ ᚳᚹᚫᚦ ᚦᚫᛏ ᚻᛖ ᛒᚢᛞᛖ ᚩᚾ ᚦᚫᛗ ᛚᚪᚾᛞᛖ ᚾᚩᚱᚦᚹᛖᚪᚱᛞᚢᛗ ᚹᛁᚦ ᚦᚪ ᚹᛖᛥᚫ - - (Old English, which transcribed into Latin reads 'He cwaeth that he - bude thaem lande northweardum with tha Westsae.' and means 'He said - that he lived in the northern land near the Western Sea.') - -Braille: - - ⡌⠁⠧⠑ ⠼⠁⠒ ⡍⠜⠇⠑⠹⠰⠎ ⡣⠕⠌ - - ⡍⠜⠇⠑⠹ ⠺⠁⠎ ⠙⠑⠁⠙⠒ ⠞⠕ ⠃⠑⠛⠔ ⠺⠊⠹⠲ ⡹⠻⠑ ⠊⠎ ⠝⠕ ⠙⠳⠃⠞ - ⠱⠁⠞⠑⠧⠻ ⠁⠃⠳⠞ ⠹⠁⠞⠲ ⡹⠑ ⠗⠑⠛⠊⠌⠻ ⠕⠋ ⠙⠊⠎ ⠃⠥⠗⠊⠁⠇ ⠺⠁⠎ - ⠎⠊⠛⠝⠫ ⠃⠹ ⠹⠑ ⠊⠇⠻⠛⠹⠍⠁⠝⠂ ⠹⠑ ⠊⠇⠻⠅⠂ ⠹⠑ ⠥⠝⠙⠻⠞⠁⠅⠻⠂ - ⠁⠝⠙ ⠹⠑ ⠡⠊⠑⠋ ⠍⠳⠗⠝⠻⠲ ⡎⠊⠗⠕⠕⠛⠑ ⠎⠊⠛⠝⠫ ⠊⠞⠲ ⡁⠝⠙ - ⡎⠊⠗⠕⠕⠛⠑⠰⠎ ⠝⠁⠍⠑ ⠺⠁⠎ ⠛⠕⠕⠙ ⠥⠏⠕⠝ ⠰⡡⠁⠝⠛⠑⠂ ⠋⠕⠗ ⠁⠝⠹⠹⠔⠛ ⠙⠑ - ⠡⠕⠎⠑ ⠞⠕ ⠏⠥⠞ ⠙⠊⠎ ⠙⠁⠝⠙ ⠞⠕⠲ - - ⡕⠇⠙ ⡍⠜⠇⠑⠹ ⠺⠁⠎ ⠁⠎ ⠙⠑⠁⠙ ⠁⠎ ⠁ ⠙⠕⠕⠗⠤⠝⠁⠊⠇⠲ - - ⡍⠔⠙⠖ ⡊ ⠙⠕⠝⠰⠞ ⠍⠑⠁⠝ ⠞⠕ ⠎⠁⠹ ⠹⠁⠞ ⡊ ⠅⠝⠪⠂ ⠕⠋ ⠍⠹ - ⠪⠝ ⠅⠝⠪⠇⠫⠛⠑⠂ ⠱⠁⠞ ⠹⠻⠑ ⠊⠎ ⠏⠜⠞⠊⠊⠥⠇⠜⠇⠹ ⠙⠑⠁⠙ ⠁⠃⠳⠞ - ⠁ ⠙⠕⠕⠗⠤⠝⠁⠊⠇⠲ ⡊ ⠍⠊⠣⠞ ⠙⠁⠧⠑ ⠃⠑⠲ ⠔⠊⠇⠔⠫⠂ ⠍⠹⠎⠑⠇⠋⠂ ⠞⠕ - ⠗⠑⠛⠜⠙ ⠁ ⠊⠕⠋⠋⠔⠤⠝⠁⠊⠇ ⠁⠎ ⠹⠑ ⠙⠑⠁⠙⠑⠌ ⠏⠊⠑⠊⠑ ⠕⠋ ⠊⠗⠕⠝⠍⠕⠝⠛⠻⠹ - ⠔ ⠹⠑ ⠞⠗⠁⠙⠑⠲ ⡃⠥⠞ ⠹⠑ ⠺⠊⠎⠙⠕⠍ ⠕⠋ ⠳⠗ ⠁⠝⠊⠑⠌⠕⠗⠎ - ⠊⠎ ⠔ ⠹⠑ ⠎⠊⠍⠊⠇⠑⠆ ⠁⠝⠙ ⠍⠹ ⠥⠝⠙⠁⠇⠇⠪⠫ ⠙⠁⠝⠙⠎ - ⠩⠁⠇⠇ ⠝⠕⠞ ⠙⠊⠌⠥⠗⠃ ⠊⠞⠂ ⠕⠗ ⠹⠑ ⡊⠳⠝⠞⠗⠹⠰⠎ ⠙⠕⠝⠑ ⠋⠕⠗⠲ ⡹⠳ - ⠺⠊⠇⠇ ⠹⠻⠑⠋⠕⠗⠑ ⠏⠻⠍⠊⠞ ⠍⠑ ⠞⠕ ⠗⠑⠏⠑⠁⠞⠂ ⠑⠍⠏⠙⠁⠞⠊⠊⠁⠇⠇⠹⠂ ⠹⠁⠞ - ⡍⠜⠇⠑⠹ ⠺⠁⠎ ⠁⠎ ⠙⠑⠁⠙ ⠁⠎ ⠁ ⠙⠕⠕⠗⠤⠝⠁⠊⠇⠲ - - (The first couple of paragraphs of "A Christmas Carol" by Dickens) - -Compact font selection example text: - - ABCDEFGHIJKLMNOPQRSTUVWXYZ /0123456789 - abcdefghijklmnopqrstuvwxyz £©µÀÆÖÞßéöÿ - –—‘“”„†•…‰™œŠŸž€ ΑΒΓΔΩαβγδω АБВГДабвгд - ∀∂∈ℝ∧∪≡∞ ↑↗↨↻⇣ ┐┼╔╘░►☺♀ fi�⑀₂ἠḂӥẄɐː⍎אԱა - -Greetings in various languages: - - Hello world, Καλημέρα κόσμε, コンニチハ - -Box drawing alignment tests: █ - ▉ - ╔══╦══╗ ┌──┬──┐ ╭──┬──╮ ╭──┬──╮ ┏━━┳━━┓ ┎┒┏┑ ╷ ╻ ┏┯┓ ┌┰┐ ▊ ╱╲╱╲╳╳╳ - ║┌─╨─┐║ │╔═╧═╗│ │╒═╪═╕│ │╓─╁─╖│ ┃┌─╂─┐┃ ┗╃╄┙ ╶┼╴╺╋╸┠┼┨ ┝╋┥ ▋ ╲╱╲╱╳╳╳ - ║│╲ ╱│║ │║ ║│ ││ │ ││ │║ ┃ ║│ ┃│ ╿ │┃ ┍╅╆┓ ╵ ╹ ┗┷┛ └┸┘ ▌ ╱╲╱╲╳╳╳ - ╠╡ ╳ ╞╣ ├╢ ╟┤ ├┼─┼─┼┤ ├╫─╂─╫┤ ┣┿╾┼╼┿┫ ┕┛┖┚ ┌┄┄┐ ╎ ┏┅┅┓ ┋ ▍ ╲╱╲╱╳╳╳ - ║│╱ ╲│║ │║ ║│ ││ │ ││ │║ ┃ ║│ ┃│ ╽ │┃ ░░▒▒▓▓██ ┊ ┆ ╎ ╏ ┇ ┋ ▎ - ║└─╥─┘║ │╚═╤═╝│ │╘═╪═╛│ │╙─╀─╜│ ┃└─╂─┘┃ ░░▒▒▓▓██ ┊ ┆ ╎ ╏ ┇ ┋ ▏ - ╚══╩══╝ └──┴──┘ ╰──┴──╯ ╰──┴──╯ ┗━━┻━━┛ ▗▄▖▛▀▜ └╌╌┘ ╎ ┗╍╍┛ ┋ ▁▂▃▄▅▆▇█ - ▝▀▘▙▄▟ -""" . -<> rdfs:comment """ - Two byte Unicode escape: \u00E0 - Largest Unicode escape in Turtle: \U0010FFFF -""" . diff --git a/source/modules/lilv/serd-0.18.2/tests/bad-00.ttl b/source/modules/lilv/serd-0.18.2/tests/bad-00.ttl deleted file mode 100644 index b1a1b3619..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/bad-00.ttl +++ /dev/null @@ -1,2 +0,0 @@ -# prefix name must end in a : -@prefix a <#> . diff --git a/source/modules/lilv/serd-0.18.2/tests/bad-01.ttl b/source/modules/lilv/serd-0.18.2/tests/bad-01.ttl deleted file mode 100644 index 533bc21db..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/bad-01.ttl +++ /dev/null @@ -1,3 +0,0 @@ -# Forbidden by RDF - predicate cannot be blank -@prefix : . -:a [ :b :c ] :d . diff --git a/source/modules/lilv/serd-0.18.2/tests/bad-02.ttl b/source/modules/lilv/serd-0.18.2/tests/bad-02.ttl deleted file mode 100644 index fd2014d0b..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/bad-02.ttl +++ /dev/null @@ -1,3 +0,0 @@ -# Forbidden by RDF - predicate cannot be blank -@prefix : . -:a [] :b . diff --git a/source/modules/lilv/serd-0.18.2/tests/bad-03.ttl b/source/modules/lilv/serd-0.18.2/tests/bad-03.ttl deleted file mode 100644 index 07a372f18..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/bad-03.ttl +++ /dev/null @@ -1,3 +0,0 @@ -# 'a' only allowed as a predicate -@prefix : . -a :a :b . diff --git a/source/modules/lilv/serd-0.18.2/tests/bad-04.ttl b/source/modules/lilv/serd-0.18.2/tests/bad-04.ttl deleted file mode 100644 index ee7246c83..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/bad-04.ttl +++ /dev/null @@ -1,3 +0,0 @@ -# No comma is allowed in collections -@prefix : . -:a :b ( "apple", "banana" ) . diff --git a/source/modules/lilv/serd-0.18.2/tests/bad-05.ttl b/source/modules/lilv/serd-0.18.2/tests/bad-05.ttl deleted file mode 100644 index 387015fe0..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/bad-05.ttl +++ /dev/null @@ -1,4 +0,0 @@ -# N3 {}s are not in Turtle -@prefix : . -{ :a :b :c . } :d :e . - diff --git a/source/modules/lilv/serd-0.18.2/tests/bad-06.ttl b/source/modules/lilv/serd-0.18.2/tests/bad-06.ttl deleted file mode 100644 index a8f1a0fca..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/bad-06.ttl +++ /dev/null @@ -1,3 +0,0 @@ -# is and of are not in turtle -@prefix : . -:a is :b of :c . diff --git a/source/modules/lilv/serd-0.18.2/tests/bad-07.ttl b/source/modules/lilv/serd-0.18.2/tests/bad-07.ttl deleted file mode 100644 index 18ea4fa6b..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/bad-07.ttl +++ /dev/null @@ -1,4 +0,0 @@ -# paths are not in turtle -@prefix : . -:a.:b.:c . -:a^:b^:c . diff --git a/source/modules/lilv/serd-0.18.2/tests/bad-08.ttl b/source/modules/lilv/serd-0.18.2/tests/bad-08.ttl deleted file mode 100644 index 07918f9ac..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/bad-08.ttl +++ /dev/null @@ -1,2 +0,0 @@ -@keywords something. -# @keywords is not in turtle diff --git a/source/modules/lilv/serd-0.18.2/tests/bad-09.ttl b/source/modules/lilv/serd-0.18.2/tests/bad-09.ttl deleted file mode 100644 index d2d76c136..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/bad-09.ttl +++ /dev/null @@ -1,3 +0,0 @@ -# implies is not in turtle -@prefix : . -:a => :b . diff --git a/source/modules/lilv/serd-0.18.2/tests/bad-10.ttl b/source/modules/lilv/serd-0.18.2/tests/bad-10.ttl deleted file mode 100644 index b5ef1f557..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/bad-10.ttl +++ /dev/null @@ -1,3 +0,0 @@ -# equivalence is not in turtle -@prefix : . -:a = :b . diff --git a/source/modules/lilv/serd-0.18.2/tests/bad-11.ttl b/source/modules/lilv/serd-0.18.2/tests/bad-11.ttl deleted file mode 100644 index 09e7b6a0b..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/bad-11.ttl +++ /dev/null @@ -1,3 +0,0 @@ -# @forAll is not in turtle -@prefix : . -@forAll :x . diff --git a/source/modules/lilv/serd-0.18.2/tests/bad-12.ttl b/source/modules/lilv/serd-0.18.2/tests/bad-12.ttl deleted file mode 100644 index cef48ff86..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/bad-12.ttl +++ /dev/null @@ -1,3 +0,0 @@ -# @forSome is not in turtle -@prefix : . -@forSome :x . diff --git a/source/modules/lilv/serd-0.18.2/tests/bad-13.ttl b/source/modules/lilv/serd-0.18.2/tests/bad-13.ttl deleted file mode 100644 index 91accf2b0..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/bad-13.ttl +++ /dev/null @@ -1,3 +0,0 @@ -# <= is not in turtle -@prefix : . -:a <= :b . diff --git a/source/modules/lilv/serd-0.18.2/tests/bad-14.ttl b/source/modules/lilv/serd-0.18.2/tests/bad-14.ttl deleted file mode 100644 index f4a7acf54..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/bad-14.ttl +++ /dev/null @@ -1,6 +0,0 @@ -# Test long literals with missing end -@prefix : . -:a :b """a long - literal -with -newlines diff --git a/source/modules/lilv/serd-0.18.2/tests/bad-base.ttl b/source/modules/lilv/serd-0.18.2/tests/bad-base.ttl deleted file mode 100644 index 854219995..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/bad-base.ttl +++ /dev/null @@ -1 +0,0 @@ -@base "I'm quite certain this is not a URI" . \ No newline at end of file diff --git a/source/modules/lilv/serd-0.18.2/tests/bad-blank.ttl b/source/modules/lilv/serd-0.18.2/tests/bad-blank.ttl deleted file mode 100644 index a6543f2de..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/bad-blank.ttl +++ /dev/null @@ -1,3 +0,0 @@ -@prefix eg: . - -_:.bad a eg:Thing . \ No newline at end of file diff --git a/source/modules/lilv/serd-0.18.2/tests/bad-datatype.ttl b/source/modules/lilv/serd-0.18.2/tests/bad-datatype.ttl deleted file mode 100644 index 0dd6018f6..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/bad-datatype.ttl +++ /dev/null @@ -1 +0,0 @@ -<> "hello"^^"not-a-uri" . \ No newline at end of file diff --git a/source/modules/lilv/serd-0.18.2/tests/bad-eof-in-blank.ttl b/source/modules/lilv/serd-0.18.2/tests/bad-eof-in-blank.ttl deleted file mode 100644 index 08c13ae93..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/bad-eof-in-blank.ttl +++ /dev/null @@ -1,3 +0,0 @@ -@prefix eg: . - -<> eg:thing [ eg:comment "Thing" \ No newline at end of file diff --git a/source/modules/lilv/serd-0.18.2/tests/bad-eof-in-escape.ttl b/source/modules/lilv/serd-0.18.2/tests/bad-eof-in-escape.ttl deleted file mode 100644 index d3af9c93d..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/bad-eof-in-escape.ttl +++ /dev/null @@ -1,3 +0,0 @@ -@prefix eg: . - -<> eg:comment """\uA \ No newline at end of file diff --git a/source/modules/lilv/serd-0.18.2/tests/bad-eof-in-lang-suffix.ttl b/source/modules/lilv/serd-0.18.2/tests/bad-eof-in-lang-suffix.ttl deleted file mode 100644 index 8e3002cbe..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/bad-eof-in-lang-suffix.ttl +++ /dev/null @@ -1,3 +0,0 @@ -@prefix eg: . - -<> eg:comment "That ain't no language"@en-x \ No newline at end of file diff --git a/source/modules/lilv/serd-0.18.2/tests/bad-eof-in-lang.ttl b/source/modules/lilv/serd-0.18.2/tests/bad-eof-in-lang.ttl deleted file mode 100644 index 54db417ff..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/bad-eof-in-lang.ttl +++ /dev/null @@ -1,3 +0,0 @@ -@prefix eg: . - -<> eg:comment "That ain't no language"@a \ No newline at end of file diff --git a/source/modules/lilv/serd-0.18.2/tests/bad-eof-in-list.ttl b/source/modules/lilv/serd-0.18.2/tests/bad-eof-in-list.ttl deleted file mode 100644 index ca6c352f7..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/bad-eof-in-list.ttl +++ /dev/null @@ -1,3 +0,0 @@ -@prefix eg: . - -<> eg:thing ( eg:car eg:cdr \ No newline at end of file diff --git a/source/modules/lilv/serd-0.18.2/tests/bad-eof-in-object-list.ttl b/source/modules/lilv/serd-0.18.2/tests/bad-eof-in-object-list.ttl deleted file mode 100644 index 9bbcd17a8..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/bad-eof-in-object-list.ttl +++ /dev/null @@ -1,2 +0,0 @@ -@prefix eg: . -<> eg:p eg:o , \ No newline at end of file diff --git a/source/modules/lilv/serd-0.18.2/tests/bad-eof-in-object-list2.ttl b/source/modules/lilv/serd-0.18.2/tests/bad-eof-in-object-list2.ttl deleted file mode 100644 index 9186fb9f7..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/bad-eof-in-object-list2.ttl +++ /dev/null @@ -1,2 +0,0 @@ -@prefix eg: . -<> eg:p eg:o ; eg:p1 eg:o2 , \ No newline at end of file diff --git a/source/modules/lilv/serd-0.18.2/tests/bad-eof-in-predicate-list.ttl b/source/modules/lilv/serd-0.18.2/tests/bad-eof-in-predicate-list.ttl deleted file mode 100644 index eab5b05b0..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/bad-eof-in-predicate-list.ttl +++ /dev/null @@ -1,2 +0,0 @@ -@prefix eg: . -<> eg:p eg:o ; \ No newline at end of file diff --git a/source/modules/lilv/serd-0.18.2/tests/bad-eof-in-string.ttl b/source/modules/lilv/serd-0.18.2/tests/bad-eof-in-string.ttl deleted file mode 100644 index d3a1aa55e..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/bad-eof-in-string.ttl +++ /dev/null @@ -1,3 +0,0 @@ -@prefix eg: . - -<> eg:comment "This is the string that never ends \ No newline at end of file diff --git a/source/modules/lilv/serd-0.18.2/tests/bad-eof-in-triple-quote.ttl b/source/modules/lilv/serd-0.18.2/tests/bad-eof-in-triple-quote.ttl deleted file mode 100644 index d60acd155..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/bad-eof-in-triple-quote.ttl +++ /dev/null @@ -1,3 +0,0 @@ -@prefix eg: . - -<> eg:comment """Hello"" \ No newline at end of file diff --git a/source/modules/lilv/serd-0.18.2/tests/bad-eof-in-uri.ttl b/source/modules/lilv/serd-0.18.2/tests/bad-eof-in-uri.ttl deleted file mode 100644 index 9bd2a64d6..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/bad-eof-in-uri.ttl +++ /dev/null @@ -1,3 +0,0 @@ -@prefix eg: . - -<> eg:uri """\!""" . diff --git a/source/modules/lilv/serd-0.18.2/tests/bad-hex-digit.ttl b/source/modules/lilv/serd-0.18.2/tests/bad-hex-digit.ttl deleted file mode 100644 index 85816ced6..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/bad-hex-digit.ttl +++ /dev/null @@ -1 +0,0 @@ - "\uABCG" . diff --git a/source/modules/lilv/serd-0.18.2/tests/bad-id-clash.ttl b/source/modules/lilv/serd-0.18.2/tests/bad-id-clash.ttl deleted file mode 100644 index 55ab23e37..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/bad-id-clash.ttl +++ /dev/null @@ -1,2 +0,0 @@ -_:genid1 a _:genid2 . -_:genid2 a _:docid1 . \ No newline at end of file diff --git a/source/modules/lilv/serd-0.18.2/tests/bad-lang.ttl b/source/modules/lilv/serd-0.18.2/tests/bad-lang.ttl deleted file mode 100644 index 01e043284..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/bad-lang.ttl +++ /dev/null @@ -1 +0,0 @@ -<> "hello"@\bad . \ No newline at end of file diff --git a/source/modules/lilv/serd-0.18.2/tests/bad-list.ttl b/source/modules/lilv/serd-0.18.2/tests/bad-list.ttl deleted file mode 100644 index 5606658ec..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/bad-list.ttl +++ /dev/null @@ -1 +0,0 @@ -<> , invalid . \ No newline at end of file diff --git a/source/modules/lilv/serd-0.18.2/tests/bad-list2.ttl b/source/modules/lilv/serd-0.18.2/tests/bad-list2.ttl deleted file mode 100644 index b5242de25..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/bad-list2.ttl +++ /dev/null @@ -1,3 +0,0 @@ -@prefix eg: . - -<> eg:thing ( . \ No newline at end of file diff --git a/source/modules/lilv/serd-0.18.2/tests/bad-namespace.ttl b/source/modules/lilv/serd-0.18.2/tests/bad-namespace.ttl deleted file mode 100644 index 0dd78d33a..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/bad-namespace.ttl +++ /dev/null @@ -1 +0,0 @@ -@prefix eg: "what?" . \ No newline at end of file diff --git a/source/modules/lilv/serd-0.18.2/tests/bad-ns.ttl b/source/modules/lilv/serd-0.18.2/tests/bad-ns.ttl deleted file mode 100644 index 4410573ef..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/bad-ns.ttl +++ /dev/null @@ -1 +0,0 @@ -<> a badprefix:Thing . \ No newline at end of file diff --git a/source/modules/lilv/serd-0.18.2/tests/bad-num.ttl b/source/modules/lilv/serd-0.18.2/tests/bad-num.ttl deleted file mode 100644 index 7685f0e07..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/bad-num.ttl +++ /dev/null @@ -1 +0,0 @@ -<> .hello . \ No newline at end of file diff --git a/source/modules/lilv/serd-0.18.2/tests/bad-object.ttl b/source/modules/lilv/serd-0.18.2/tests/bad-object.ttl deleted file mode 100644 index 9fc6da185..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/bad-object.ttl +++ /dev/null @@ -1,3 +0,0 @@ -@prefix eg: . - -eg:thing a four . diff --git a/source/modules/lilv/serd-0.18.2/tests/bad-object2.ttl b/source/modules/lilv/serd-0.18.2/tests/bad-object2.ttl deleted file mode 100644 index 9293d168b..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/bad-object2.ttl +++ /dev/null @@ -1,3 +0,0 @@ -@prefix eg: . - -eg:thing a fives . diff --git a/source/modules/lilv/serd-0.18.2/tests/bad-prefix.ttl b/source/modules/lilv/serd-0.18.2/tests/bad-prefix.ttl deleted file mode 100644 index 6c2863551..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/bad-prefix.ttl +++ /dev/null @@ -1 +0,0 @@ -@prefix _invalid . diff --git a/source/modules/lilv/serd-0.18.2/tests/bad-string.ttl b/source/modules/lilv/serd-0.18.2/tests/bad-string.ttl deleted file mode 100644 index 0bdea42c4..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/bad-string.ttl +++ /dev/null @@ -1 +0,0 @@ -<> "hello \ No newline at end of file diff --git a/source/modules/lilv/serd-0.18.2/tests/bad-uri-escape.ttl b/source/modules/lilv/serd-0.18.2/tests/bad-uri-escape.ttl deleted file mode 100644 index 16c63754f..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/bad-uri-escape.ttl +++ /dev/null @@ -1 +0,0 @@ - . diff --git a/source/modules/lilv/serd-0.18.2/tests/bad-verb.ttl b/source/modules/lilv/serd-0.18.2/tests/bad-verb.ttl deleted file mode 100644 index 56a134f32..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/bad-verb.ttl +++ /dev/null @@ -1,2 +0,0 @@ -@prefix a: . -a:thing x a:Thing . \ No newline at end of file diff --git a/source/modules/lilv/serd-0.18.2/tests/base.out b/source/modules/lilv/serd-0.18.2/tests/base.out deleted file mode 100644 index 18717b816..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/base.out +++ /dev/null @@ -1 +0,0 @@ - a . \ No newline at end of file diff --git a/source/modules/lilv/serd-0.18.2/tests/base.ttl b/source/modules/lilv/serd-0.18.2/tests/base.ttl deleted file mode 100644 index 755c1d093..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/base.ttl +++ /dev/null @@ -1,2 +0,0 @@ - - a . diff --git a/source/modules/lilv/serd-0.18.2/tests/manifest-bad.ttl b/source/modules/lilv/serd-0.18.2/tests/manifest-bad.ttl deleted file mode 100644 index e8c5ba8f8..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/manifest-bad.ttl +++ /dev/null @@ -1,88 +0,0 @@ -@prefix rdf: . -@prefix rdfs: . -@prefix mf: . -@prefix qt: . - -<> rdf:type mf:Manifest ; - rdfs:comment "Turtle bad syntax test cases (must fail)" ; - mf:entries - ( - - [ mf:name "bad-00" ; - rdfs:comment "prefix name must end in a :" ; - mf:action [ qt:data ] ; - ] - - [ mf:name "bad-01" ; - rdfs:comment "blank predicate forbidden" ; - mf:action [ qt:data ] ; - ] - - [ mf:name "bad-02" ; - rdfs:comment "blank predicate forbidden" ; - mf:action [ qt:data ] ; - ] - - [ mf:name "bad-03" ; - rdfs:comment "a forbidden as subject" ; - mf:action [ qt:data ] ; - ] - - [ mf:name "bad-04" ; - rdfs:comment ", not allowed in collections" ; - mf:action [ qt:data ] ; - ] - - [ mf:name "bad-05" ; - rdfs:comment "{} not allowed in Turtle" ; - mf:action [ qt:data ] ; - ] - - [ mf:name "bad-06" ; - rdfs:comment "is and of not allowed in Turtle" ; - mf:action [ qt:data ] ; - ] - - [ mf:name "bad-07" ; - rdfs:comment "paths not allowed in Turtle" ; - mf:action [ qt:data ] ; - ] - - [ mf:name "bad-08" ; - rdfs:comment "@keywords not allowed in Turtle" ; - mf:action [ qt:data ] ; - ] - - [ mf:name "bad-09" ; - rdfs:comment "=> not allowed in Turtle" ; - mf:action [ qt:data ] ; - ] - - [ mf:name "bad-10" ; - rdfs:comment "= not allowed in Turtle" ; - mf:action [ qt:data ] ; - ] - - [ mf:name "bad-11" ; - rdfs:comment "@forAll not allowed in Turtle" ; - mf:action [ qt:data ] ; - ] - - [ mf:name "bad-12" ; - rdfs:comment "@forSome not allowed in Turtle" ; - mf:action [ qt:data ] ; - ] - - [ mf:name "bad-13" ; - rdfs:comment "<= not allowed in Turtle" ; - mf:action [ qt:data ] ; - ] - - [ mf:name "bad-14" ; - rdfs:comment "long literal with missing end" ; - mf:action [ qt:data ] ; - ] - - - # End of tests - ). diff --git a/source/modules/lilv/serd-0.18.2/tests/manifest.ttl b/source/modules/lilv/serd-0.18.2/tests/manifest.ttl deleted file mode 100644 index 6a2cae262..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/manifest.ttl +++ /dev/null @@ -1,215 +0,0 @@ -@prefix rdf: . -@prefix rdfs: . -@prefix mf: . -@prefix qt: . - -<> rdf:type mf:Manifest ; - rdfs:comment "Turtle good syntax test cases (must pass)" ; - mf:entries - ( - [ mf:name "test-00" ; - rdfs:comment "Blank subject" ; - mf:action [ qt:data ] ; - mf:result - ] - - [ mf:name "test-01" ; - rdfs:comment "@prefix and qnames" ; - mf:action [ qt:data ] ; - mf:result - ] - - [ mf:name "test-02" ; - rdfs:comment ", operator" ; - mf:action [ qt:data ] ; - mf:result - ] - - [ mf:name "test-03" ; - rdfs:comment "; operator" ; - mf:action [ qt:data ] ; - mf:result - ] - - [ mf:name "test-04" ; - rdfs:comment "empty [] as subject and object" ; - mf:action [ qt:data ] ; - mf:result - ] - - [ mf:name "test-05" ; - rdfs:comment "non-empty [] as subject and object" ; - mf:action [ qt:data ] ; - mf:result - ] - - [ mf:name "test-06" ; - rdfs:comment "'a' as predicate" ; - mf:action [ qt:data ] ; - mf:result - ] - - [ mf:name "test-07" ; - rdfs:comment "simple collection" ; - mf:action [ qt:data ] ; - mf:result - ] - - [ mf:name "test-08" ; - rdfs:comment "empty collection" ; - mf:action [ qt:data ] ; - mf:result - ] - - [ mf:name "test-09" ; - rdfs:comment "integer datatyped literal" ; - mf:action [ qt:data ] ; - mf:result - ] - - [ mf:name "test-10" ; - rdfs:comment "decimal integer canonicalization" ; - mf:action [ qt:data ] ; - mf:result - ] - - [ mf:name "test-11" ; - rdfs:comment "- and _ in names and qnames" ; - mf:action [ qt:data ] ; - mf:result - ] - - [ mf:name "test-12" ; - rdfs:comment "tests for rdf:_ and other qnames starting with _" ; - mf:action [ qt:data ] ; - mf:result - ] - - [ mf:name "test-13" ; - rdfs:comment "bare : allowed" ; - mf:action [ qt:data ] ; - mf:result - ] - - [ mf:name "test-14" ; - rdfs:comment "10000 triples, more than the default Bison stack size" ; - mf:action [ qt:data ] ; - mf:result - ] - - [ mf:name "test-15" ; - rdfs:comment "10000 triple objects (10000 triples)" ; - mf:action [ qt:data ] ; - mf:result - ] - - [ mf:name "test-16" ; - rdfs:comment "10000 items (10000 triples)" ; - mf:action [ qt:data ] ; - mf:result - ] - - [ mf:name "test-17" ; - rdfs:comment "simple long literal" ; - mf:action [ qt:data ] ; - mf:result - ] - - [ mf:name "test-18" ; - rdfs:comment "long literals with escapes" ; - mf:action [ qt:data ] ; - mf:result - ] - - [ mf:name "test-19" ; - rdfs:comment "floating point number" ; - mf:action [ qt:data ] ; - mf:result - ] - - [ mf:name "test-20" ; - rdfs:comment "empty literals, normal and long variant" ; - mf:action [ qt:data ] ; - mf:result - ] - - [ mf:name "test-21" ; - rdfs:comment "positive integer, decimal and doubles" ; - mf:action [ qt:data ] ; - mf:result - ] - - [ mf:name "test-22" ; - rdfs:comment "negative integer, decimal and doubles" ; - mf:action [ qt:data ] ; - mf:result - ] - - [ mf:name "test-23" ; - rdfs:comment "long literal ending in double quote" ; - mf:action [ qt:data ] ; - mf:result - ] - - [ mf:name "test-24" ; - rdfs:comment "boolean literals" ; - mf:action [ qt:data ] ; - mf:result - ] - - [ mf:name "test-25" ; - rdfs:comment "comments" ; - mf:action [ qt:data ] ; - mf:result - ] - - [ mf:name "test-26" ; - rdfs:comment "no final mewline" ; - mf:action [ qt:data ] ; - mf:result - ] - - [ mf:name "test-27" ; - rdfs:comment "duplicate prefix" ; - mf:action [ qt:data ] ; - mf:result - ] - - [ mf:name "test-28" ; - rdfs:comment "decimal data types (serializing test)" ; - mf:action [ qt:data ] ; - mf:result - ] - - [ mf:name "test-29" ; - rdfs:comment "Escaping U+0001 to U+007F in a URI" ; - mf:action [ qt:data ] ; - mf:result - ] - - [ mf:name "test-30" ; - rdfs:comment "@base" ; - mf:action [ qt:data ] ; - mf:result - ] - - [ mf:name "rdf-schema" ; - rdfs:comment "RDF Namespace document converted into Turtle" ; - mf:action [ qt:data ] ; - mf:result - ] - - [ mf:name "rdfs-namespace" ; - rdfs:comment "RDFS Namespace document converted into Turtle" ; - mf:action [ qt:data ] ; - mf:result - ] - - [ mf:name "rdfq-results" ; - rdfs:comment "Example query result from http://www.w3.org/2003/03/rdfqr-tests/recording-query-results.html" ; - mf:action [ qt:data ] ; - mf:result - ] - - # End of tests - ). diff --git a/source/modules/lilv/serd-0.18.2/tests/rdf-schema.out b/source/modules/lilv/serd-0.18.2/tests/rdf-schema.out deleted file mode 100644 index 94e14045a..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/rdf-schema.out +++ /dev/null @@ -1,126 +0,0 @@ - . - "Indicates membership of a class" . - "type"@en . - "type"@fr . - . - . - "The concept of Class" . - "Class"@en . - "Classe"@fr . - . - . - "Properties used to express RDF Schema constraints." . - "ConstraintProperty"@en . - "Propri\u00E9t\u00E9Contrainte"@fr . - . - . - . - . - "Resources used to express RDF Schema constraints." . - "ConstraintResource"@en . - "RessourceContrainte"@fr . - . - . - "This represents the set Containers." . - "Container"@en . - "Enveloppe"@fr . - . - . - "ContainerMembershipProperty"@en . - . - . - . - "This represents the set of atomic values, eg. textual strings." . - "Literal"@en . - "Litt\u00E9ral"@fr . - . - "The most general class" . - "Resource"@en . - "Ressource"@fr . - . - "Use this for descriptions" . - . - "comment"@en . - "commentaire"@fr . - . - . - "This is how we associate a class with properties that its instances can have" . - "domain"@en . - "domaine"@fr . - . - "Indicates a resource containing and defining the subject resource." . - . - "esD\u00E9finiPar"@fr . - "isDefinedBy"@en . - . - . - . - "Provides a human-readable version of a resource name." . - . - "label"@en . - "label"@fr . - . - . - "Properties that can be used in a schema to provide constraints" . - . - "range"@en . - "\u00E9tendue"@fr . - . - . - "Indicates a resource that provides information about the subject resource." . - . - "seeAlso"@en . - "voirAussi"@fr . - . - . - "Indicates membership of a class" . - . - "sousClasseDe"@fr . - "subClassOf"@en . - . - . - "Indicates specialization of properties" . - . - "sousPropri\u00E9t\u00E9De"@fr . - "subPropertyOf"@en . - . - . - "Alt"@en . - "Choix"@fr . - . - . - "Bag"@en . - "Ensemble"@fr . - . - . - "The concept of a property." . - "Property"@en . - "Propri\u00E9t\u00E9"@fr . - . - . - "Sequence"@en . - "S\u00E9quence"@fr . - . - . - "This represents the set of reified statements." . - "D\u00E9claration"@fr . - "Statement"@en . - . - . - . - "object"@en . - "objet"@fr . - . - . - "predicate"@en . - "pr\u00E9dicat"@fr . - . - . - . - "subject"@en . - "sujet"@fr . - . - . - "object"@en . - "value"@fr . - . diff --git a/source/modules/lilv/serd-0.18.2/tests/rdf-schema.ttl b/source/modules/lilv/serd-0.18.2/tests/rdf-schema.ttl deleted file mode 100644 index 8a61794e6..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/rdf-schema.ttl +++ /dev/null @@ -1,156 +0,0 @@ -# RDF Namespace document converted into Turtle - -@prefix : . -@prefix rdf: . - -rdf:type a rdf:Property; - :comment "Indicates membership of a class"; - :label "type"@en, - "type"@fr; - :range :Class . - -:Class a :Class; - :comment "The concept of Class"; - :label "Class"@en, - "Classe"@fr; - :subClassOf :Resource . - -:ConstraintProperty a :Class; - :comment "Properties used to express RDF Schema constraints."; - :label "ConstraintProperty"@en, - "Propri\u00E9t\u00E9Contrainte"@fr; - :subClassOf :ConstraintResource, - rdf:Property . - -:ConstraintResource a :Class, - :Class; - :comment "Resources used to express RDF Schema constraints."; - :label "ConstraintResource"@en, - "RessourceContrainte"@fr; - :subClassOf :Resource . - -:Container a :Class; - :comment "This represents the set Containers."; - :label "Container"@en, - "Enveloppe"@fr; - :subClassOf :Resource . - -:ContainerMembershipProperty a :Class; - :label "ContainerMembershipProperty"@en; - :subClassOf rdf:Property . - -:Literal a :Class, - :Class; - :comment "This represents the set of atomic values, eg. textual strings."; - :label "Literal"@en, - "Litt\u00E9ral"@fr . - -:Resource a :Class; - :comment "The most general class"; - :label "Resource"@en, - "Ressource"@fr . - -:comment a rdf:Property; - :comment "Use this for descriptions"; - :domain :Resource; - :label "comment"@en, - "commentaire"@fr; - :range :Literal . - -:domain a :ConstraintProperty; - :comment "This is how we associate a class with properties that its instances can have"; - :label "domain"@en, - "domaine"@fr . - -:isDefinedBy a rdf:Property; - :comment "Indicates a resource containing and defining the subject resource."; - :domain :Resource; - :label "esD\u00E9finiPar"@fr, - "isDefinedBy"@en; - :range :Resource; - :subPropertyOf :seeAlso . - -:label a rdf:Property; - :comment "Provides a human-readable version of a resource name."; - :domain :Resource; - :label "label"@en, - "label"@fr; - :range :Literal . - -:range a :ConstraintProperty; - :comment "Properties that can be used in a schema to provide constraints"; - :domain rdf:Property; - :label "range"@en, - "\u00E9tendue"@fr; - :range :Class . - -:seeAlso a rdf:Property; - :comment "Indicates a resource that provides information about the subject resource."; - :domain :Resource; - :label "seeAlso"@en, - "voirAussi"@fr; - :range :Resource . - -:subClassOf a rdf:Property; - :comment "Indicates membership of a class"; - :domain :Class; - :label "sousClasseDe"@fr, - "subClassOf"@en; - :range :Class . - -:subPropertyOf a rdf:Property; - :comment "Indicates specialization of properties"; - :domain rdf:Property; - :label "sousPropri\u00E9t\u00E9De"@fr, - "subPropertyOf"@en; - :range rdf:Property . - -rdf:Alt a :Class; - :label "Alt"@en, - "Choix"@fr; - :subClassOf :Container . - -rdf:Bag a :Class; - :label "Bag"@en, - "Ensemble"@fr; - :subClassOf :Container . - -rdf:Property a :Class; - :comment "The concept of a property."; - :label "Property"@en, - "Propri\u00E9t\u00E9"@fr; - :subClassOf :Resource . - -rdf:Seq a :Class; - :label "Sequence"@en, - "S\u00E9quence"@fr; - :subClassOf :Container . - -rdf:Statement a :Class; - :comment "This represents the set of reified statements."; - :label "D\u00E9claration"@fr, - "Statement"@en; - :subClassOf :Resource . - -rdf:object a rdf:Property; - :domain rdf:Statement; - :label "object"@en, - "objet"@fr . - -rdf:predicate a rdf:Property; - :domain rdf:Statement; - :label "predicate"@en, - "pr\u00E9dicat"@fr; - :range rdf:Property . - -rdf:subject a rdf:Property; - :domain rdf:Statement; - :label "subject"@en, - "sujet"@fr; - :range :Resource . - -rdf:value a rdf:Property; - :label "object"@en, - "value"@fr . - -: :seeAlso . diff --git a/source/modules/lilv/serd-0.18.2/tests/rdfq-results.out b/source/modules/lilv/serd-0.18.2/tests/rdfq-results.out deleted file mode 100644 index fb2542932..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/rdfq-results.out +++ /dev/null @@ -1,36 +0,0 @@ -_:genid1 "x" . -_:genid1 "123"^^ . -_:genid2 "y" . -_:genid2 . -_:genid3 . -_:genid3 _:genid1 . -_:genid3 _:genid2 . -_:genid4 "x" . -_:genid4 "2003-01-21" . -_:genid5 "y" . -_:genid5 . -_:genid6 . -_:genid6 _:genid4 . -_:genid6 _:genid5 . -_:genid7 "x" . -_:genid7 "anon1" . -_:genid8 "y" . -_:genid8 _:a . -_:genid9 . -_:genid9 _:genid7 . -_:genid9 _:genid8 . -_:genid10 "x" . -_:genid10 "anon2" . -_:genid11 "y" . -_:genid11 _:a . -_:genid12 . -_:genid12 _:genid10 . -_:genid12 _:genid11 . - . - "4"^^ . - "x" . - "y" . - _:genid3 . - _:genid6 . - _:genid9 . - _:genid12 . diff --git a/source/modules/lilv/serd-0.18.2/tests/rdfq-results.ttl b/source/modules/lilv/serd-0.18.2/tests/rdfq-results.ttl deleted file mode 100644 index c6e72aa7e..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/rdfq-results.ttl +++ /dev/null @@ -1,39 +0,0 @@ -# from http://www.w3.org/2003/03/rdfqr-tests/recording-query-results.html - -@prefix rdf: . -@prefix rs: . - - -<> rdf:type rs:ResultSet ; - rs:size 4 ; - rs:resultVariable "x" ; rs:resultVariable "y" ; - rs:solution - [ rdf:type rs:ResultSolution ; - rs:binding [ rs:variable "x" ; rs:value 123 ] ; - rs:binding [ rs:variable "y" ; rs:value ] - ] ; - - rs:solution - [ rdf:type rs:ResultSolution ; - rs:binding [ rs:variable "x" ; - rs:value "2003-01-21" ] ; - rs:binding [ rs:variable "y" ; - rs:value ] - ] ; - - rs:solution - [ rdf:type rs:ResultSolution ; - rs:binding [ rs:variable "x" ; - rs:value "anon1" ] ; - rs:binding [ rs:variable "y" ; - rs:value _:a ] - ] ; - - rs:solution - [ rdf:type rs:ResultSolution ; - rs:binding [ rs:variable "x" ; - rs:value "anon2" ] ; - rs:binding [ rs:variable "y" ; - rs:value _:a ] - ] ; - . diff --git a/source/modules/lilv/serd-0.18.2/tests/rdfs-namespace.out b/source/modules/lilv/serd-0.18.2/tests/rdfs-namespace.out deleted file mode 100644 index 4696f8cfb..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/rdfs-namespace.out +++ /dev/null @@ -1,131 +0,0 @@ - . - "Indicates membership of a class" . - . - . - "type"@en . - . - . - "A collection of alternatives."@en . - . - "Alt"@en . - . - . - "An unordered collection."@en . - . - "Bag"@en . - . - . - "The concept of a property." . - . - "Property"@en . - . - . - "An ordered collection."@en . - . - "Seq"@en . - . - . - "The class of RDF statements." . - . - "Statement"@en . - . - . - "The object of an RDF statement." . - . - . - "object"@en . - . - "the predicate of an RDF statement." . - . - . - "predicate"@en . - . - . - "The subject of an RDF statement." . - . - . - "subject"@en . - . - . - "Identifies the principal value (usually a string) of a property when the property value is a structured resource" . - . - . - "value"@en . - . - . - "The concept of Class" . - . - "Class"@en . - . - . - "This represents the set Containers." . - . - "Container"@en . - . - . - "The container membership properties, rdf:1, rdf:2, ..., all of which are sub-properties of 'member'." . - . - "ContainerMembershipProperty"@en . - . - . - "This represents the set of atomic values, eg. textual strings." . - . - "Literal"@en . - . - "The class resource, everything." . - . - "Resource"@en . - . - "Use this for descriptions" . - . - . - "comment"@en . - . - . - "A domain class for a property type" . - . - . - "domain"@en . - . - . - "Indicates the namespace of a resource" . - . - . - "isDefinedBy"@en . - . - . - . - "Provides a human-readable version of a resource name." . - . - . - "label"@en . - . - . - "a member of a container" . - . - . - "member"@en . - . - "A range class for a property type" . - . - . - "range"@en . - . - . - "A resource that provides information about the subject resource" . - . - . - "seeAlso"@en . - . - . - "Indicates membership of a class" . - . - . - "subClassOf"@en . - . - . - "Indicates specialization of properties" . - . - . - "subPropertyOf"@en . - . diff --git a/source/modules/lilv/serd-0.18.2/tests/rdfs-namespace.ttl b/source/modules/lilv/serd-0.18.2/tests/rdfs-namespace.ttl deleted file mode 100644 index 0d73e6bf7..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/rdfs-namespace.ttl +++ /dev/null @@ -1,160 +0,0 @@ -# RDFS Namespace document converted into Turtle - -@prefix : . -@prefix rdf: . - -rdf:type a rdf:Property; - :comment "Indicates membership of a class"; - :domain :Resource; - :isDefinedBy rdf:; - :label "type"@en; - :range :Class . - -rdf:Alt a :Class; - :comment "A collection of alternatives."@en; - :isDefinedBy rdf:; - :label "Alt"@en; - :subClassOf :Container . - -rdf:Bag a :Class; - :comment "An unordered collection."@en; - :isDefinedBy rdf:; - :label "Bag"@en; - :subClassOf :Container . - -rdf:Property a :Class; - :comment "The concept of a property."; - :isDefinedBy rdf:; - :label "Property"@en; - :subClassOf :Resource . - -rdf:Seq a :Class; - :comment "An ordered collection."@en; - :isDefinedBy rdf:; - :label "Seq"@en; - :subClassOf :Container . - -rdf:Statement a :Class; - :comment "The class of RDF statements."; - :isDefinedBy rdf:; - :label "Statement"@en; - :subClassOf :Resource . - -rdf:object a rdf:Property; - :comment "The object of an RDF statement."; - :domain rdf:Statement; - :isDefinedBy rdf:; - :label "object"@en . - -rdf:predicate a rdf:Property; - :comment "the predicate of an RDF statement."; - :domain rdf:Statement; - :isDefinedBy rdf:; - :label "predicate"@en; - :range rdf:Property . - -rdf:subject a rdf:Property; - :comment "The subject of an RDF statement."; - :domain rdf:Statement; - :isDefinedBy rdf:; - :label "subject"@en; - :range :Resource . - -rdf:value a rdf:Property; - :comment "Identifies the principal value (usually a string) of a property when the property value is a structured resource"; - :domain :Resource; - :isDefinedBy rdf:; - :label "value"@en . - -: :seeAlso . - -:Class a :Class; - :comment "The concept of Class"; - :isDefinedBy :; - :label "Class"@en; - :subClassOf :Resource . - -:Container a :Class; - :comment "This represents the set Containers."; - :isDefinedBy :; - :label "Container"@en; - :subClassOf :Resource . - -:ContainerMembershipProperty a :Class; - :comment "The container membership properties, rdf:1, rdf:2, ..., all of which are sub-properties of 'member'."; - :isDefinedBy :; - :label "ContainerMembershipProperty"@en; - :subClassOf rdf:Property . - -:Literal a :Class; - :comment "This represents the set of atomic values, eg. textual strings."; - :isDefinedBy :; - :label "Literal"@en . - -:Resource a :Class; - :comment "The class resource, everything."; - :isDefinedBy :; - :label "Resource"@en . - -:comment a rdf:Property; - :comment "Use this for descriptions"; - :domain :Resource; - :isDefinedBy :; - :label "comment"@en; - :range :Literal . - -:domain a rdf:Property; - :comment "A domain class for a property type"; - :domain rdf:Property; - :isDefinedBy :; - :label "domain"@en; - :range :Class . - -:isDefinedBy a rdf:Property; - :comment "Indicates the namespace of a resource"; - :domain :Resource; - :isDefinedBy :; - :label "isDefinedBy"@en; - :range :Resource; - :subPropertyOf :seeAlso . - -:label a rdf:Property; - :comment "Provides a human-readable version of a resource name."; - :domain :Resource; - :isDefinedBy :; - :label "label"@en; - :range :Literal . - -:member a rdf:Property; - :comment "a member of a container"; - :domain :Container; - :isDefinedBy :; - :label "member"@en . - -:range a rdf:Property; - :comment "A range class for a property type"; - :domain rdf:Property; - :isDefinedBy :; - :label "range"@en; - :range :Class . - -:seeAlso a rdf:Property; - :comment "A resource that provides information about the subject resource"; - :domain :Resource; - :isDefinedBy :; - :label "seeAlso"@en; - :range :Resource . - -:subClassOf a rdf:Property; - :comment "Indicates membership of a class"; - :domain :Class; - :isDefinedBy :; - :label "subClassOf"@en; - :range :Class . - -:subPropertyOf a rdf:Property; - :comment "Indicates specialization of properties"; - :domain rdf:Property; - :isDefinedBy :; - :label "subPropertyOf"@en; - :range rdf:Property . diff --git a/source/modules/lilv/serd-0.18.2/tests/serd_test.c b/source/modules/lilv/serd-0.18.2/tests/serd_test.c deleted file mode 100644 index 259f244a6..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/serd_test.c +++ /dev/null @@ -1,630 +0,0 @@ -/* - Copyright 2011-2012 David Robillard - - Permission to use, copy, modify, and/or distribute this software for any - purpose with or without fee is hereby granted, provided that the above - copyright notice and this permission notice appear in all copies. - - THIS SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -*/ - -#include -#include -#include -#include -#include -#include - -#include "serd/serd.h" - -#define USTR(s) ((const uint8_t*)(s)) - -#ifdef _WIN32 -# define INFINITY (DBL_MAX + DBL_MAX) -# define NAN (INFINITY - INFINITY) -#endif - -static int -failure(const char* fmt, ...) -{ - va_list args; - va_start(args, fmt); - fprintf(stderr, "error: "); - vfprintf(stderr, fmt, args); - va_end(args); - return 1; -} - -static bool -test_strtod(double dbl, double max_delta) -{ - char buf[1024]; - snprintf(buf, sizeof(buf), "%lf", dbl); - - char* endptr = NULL; - const double out = serd_strtod(buf, &endptr); - - const double diff = fabs(out - dbl); - if (diff > max_delta) { - return !failure("Parsed %lf != %lf (delta %lf)\n", dbl, out, diff); - } - return true; -} - -static SerdStatus -count_prefixes(void* handle, const SerdNode* name, const SerdNode* uri) -{ - ++*(int*)handle; - return SERD_SUCCESS; -} - -typedef struct { - int n_statements; - const SerdNode* graph; -} ReaderTest; - -static SerdStatus -test_sink(void* handle, - SerdStatementFlags flags, - const SerdNode* graph, - const SerdNode* subject, - const SerdNode* predicate, - const SerdNode* object, - const SerdNode* object_datatype, - const SerdNode* object_lang) -{ - ReaderTest* rt = (ReaderTest*)handle; - ++rt->n_statements; - rt->graph = graph; - return SERD_SUCCESS; -} - -int -main(void) -{ -#define MAX 1000000 -#define NUM_TESTS 1000 - for (int i = 0; i < NUM_TESTS; ++i) { - double dbl = rand() % MAX; - dbl += (rand() % MAX) / (double)MAX; - - if (!test_strtod(dbl, 1 / (double)MAX)) { - return 1; - } - } - - const double expt_test_nums[] = { - 2.0E18, -5e19, +8e20, 2e+34, -5e-5, 8e0, 9e-0, 2e+0 - }; - - const char* expt_test_strs[] = { - "02e18", "-5e019", "+8e20", "2E+34", "-5E-5", "8E0", "9e-0", " 2e+0" - }; - - for (unsigned i = 0; i < sizeof(expt_test_nums) / sizeof(double); ++i) { - const double num = serd_strtod(expt_test_strs[i], NULL); - const double delta = fabs(num - expt_test_nums[i]); - if (delta > DBL_EPSILON) { - return failure("Parsed `%s' %lf != %lf (delta %lf)\n", - expt_test_strs[i], num, expt_test_nums[i], delta); - } - } - - // Test serd_node_new_decimal - - const double dbl_test_nums[] = { - 0.0, 9.0, 10.0, .01, 2.05, -16.00001, 5.000000005, 0.0000000001, NAN, INFINITY - }; - - const char* dbl_test_strs[] = { - "0.0", "9.0", "10.0", "0.01", "2.05", "-16.00001", "5.00000001", "0.0", NULL, NULL - }; - - for (unsigned i = 0; i < sizeof(dbl_test_nums) / sizeof(double); ++i) { - SerdNode node = serd_node_new_decimal(dbl_test_nums[i], 8); - const bool pass = (node.buf && dbl_test_strs[i]) - ? !strcmp((const char*)node.buf, (const char*)dbl_test_strs[i]) - : ((const char*)node.buf == dbl_test_strs[i]); - if (!pass) { - return failure("Serialised `%s' != %s\n", - node.buf, dbl_test_strs[i]); - } - const size_t len = node.buf ? strlen((const char*)node.buf) : 0; - if (node.n_bytes != len || node.n_chars != len) { - return failure("Length %zu,%zu != %zu\n", - node.n_bytes, node.n_chars, len); - } - serd_node_free(&node); - } - - // Test serd_node_new_integer - - const long int_test_nums[] = { - 0, -0, -23, 23, -12340, 1000, -1000 - }; - - const char* int_test_strs[] = { - "0", "0", "-23", "23", "-12340", "1000", "-1000" - }; - - for (unsigned i = 0; i < sizeof(int_test_nums) / sizeof(double); ++i) { - SerdNode node = serd_node_new_integer(int_test_nums[i]); - if (strcmp((const char*)node.buf, (const char*)int_test_strs[i])) { - return failure("Serialised `%s' != %s\n", - node.buf, int_test_strs[i]); - } - const size_t len = strlen((const char*)node.buf); - if (node.n_bytes != len || node.n_chars != len) { - return failure("Length %zu,%zu != %zu\n", - node.n_bytes, node.n_chars, len); - } - serd_node_free(&node); - } - - // Test serd_node_new_blob - for (size_t size = 0; size < 256; ++size) { - uint8_t* data = (uint8_t*)malloc(size); - for (size_t i = 0; i < size; ++i) { - data[i] = (uint8_t)(rand() % 256); - } - - SerdNode blob = serd_node_new_blob(data, size, size % 5); - - if (blob.n_bytes != blob.n_chars) { - return failure("Blob %zu bytes != %zu chars\n", - blob.n_bytes, blob.n_chars); - } - - size_t out_size; - uint8_t* out = (uint8_t*)serd_base64_decode( - blob.buf, blob.n_bytes, &out_size); - if (out_size != size) { - return failure("Blob size %zu != %zu\n", out_size, size); - } - - for (size_t i = 0; i < size; ++i) { - if (out[i] != data[i]) { - return failure("Corrupt blob at byte %zu\n", i); - } - } - - serd_node_free(&blob); - free(out); - free(data); - } - - // Test serd_strlen - - const uint8_t str[] = { '"', '5', 0xE2, 0x82, 0xAC, '"', '\n', 0 }; - - size_t n_bytes; - SerdNodeFlags flags; - size_t len = serd_strlen(str, &n_bytes, &flags); - if (len != 5 || n_bytes != 7 - || flags != (SERD_HAS_QUOTE|SERD_HAS_NEWLINE)) { - return failure("Bad serd_strlen(%s) len=%zu n_bytes=%zu flags=%u\n", - str, len, n_bytes, flags); - } - len = serd_strlen(str, NULL, &flags); - if (len != 5) { - return failure("Bad serd_strlen(%s) len=%zu flags=%u\n", - str, len, flags); - } - - // Test serd_strerror - - const uint8_t* msg = NULL; - if (strcmp((const char*)(msg = serd_strerror(SERD_SUCCESS)), "Success")) { - return failure("Bad message `%s' for SERD_SUCCESS\n", msg); - } - for (int i = SERD_FAILURE; i <= SERD_ERR_INTERNAL; ++i) { - msg = serd_strerror((SerdStatus)i); - if (!strcmp((const char*)msg, "Success")) { - return failure("Bad message `%s' for (SerdStatus)%d\n", msg, i); - } - } - msg = serd_strerror((SerdStatus)-1); - - // Test serd_uri_to_path - - const uint8_t* uri = (const uint8_t*)"file:///home/user/foo.ttl"; - if (strcmp((const char*)serd_uri_to_path(uri), "/home/user/foo.ttl")) { - return failure("Bad path %s for %s\n", serd_uri_to_path(uri), uri); - } - uri = (const uint8_t*)"file://localhost/home/user/foo.ttl"; - if (strcmp((const char*)serd_uri_to_path(uri), "/home/user/foo.ttl")) { - return failure("Bad path %s for %s\n", serd_uri_to_path(uri), uri); - } - uri = (const uint8_t*)"file:illegal/file/uri"; - if (serd_uri_to_path(uri)) { - return failure("Converted invalid URI `%s' to path `%s'\n", - uri, serd_uri_to_path(uri)); - } - uri = (const uint8_t*)"file:///c:/awful/system"; - if (strcmp((const char*)serd_uri_to_path(uri), "c:/awful/system")) { - return failure("Bad path %s for %s\n", serd_uri_to_path(uri), uri); - } - uri = (const uint8_t*)"file:///c:awful/system"; - if (strcmp((const char*)serd_uri_to_path(uri), "/c:awful/system")) { - return failure("Bad path %s for %s\n", serd_uri_to_path(uri), uri); - } - uri = (const uint8_t*)"file:///0/1"; - if (strcmp((const char*)serd_uri_to_path(uri), "/0/1")) { - return failure("Bad path %s for %s\n", serd_uri_to_path(uri), uri); - } - uri = (const uint8_t*)"C:\\Windows\\Sucks"; - if (strcmp((const char*)serd_uri_to_path(uri), "C:\\Windows\\Sucks")) { - return failure("Bad path %s for %s\n", serd_uri_to_path(uri), uri); - } - uri = (const uint8_t*)"C|/Windows/Sucks"; - if (strcmp((const char*)serd_uri_to_path(uri), "C|/Windows/Sucks")) { - return failure("Bad path %s for %s\n", serd_uri_to_path(uri), uri); - } - - // Test serd_node_new_file_uri and serd_file_uri_parse - SerdURI furi; - const uint8_t* path_str = USTR("C:/My 100%"); - SerdNode file_node = serd_node_new_file_uri(path_str, 0, &furi, true); - uint8_t* hostname = NULL; - uint8_t* out_path = serd_file_uri_parse(file_node.buf, &hostname); - if (strcmp((const char*)file_node.buf, "file:///C:/My%20100%%")) { - return failure("Bad URI %s\n", file_node.buf); - } else if (hostname) { - return failure("hostname `%s' shouldn't exist\n", hostname); - } else if (strcmp((const char*)path_str, (const char*)out_path)) { - return failure("path=>URI=>path failure %s => %s => %s\n", - path_str, file_node.buf, out_path); - } - free(out_path); - serd_node_free(&file_node); - - path_str = USTR("C:\\Pointless Space"); - file_node = serd_node_new_file_uri(path_str, USTR("pwned"), 0, true); - hostname = NULL; - out_path = serd_file_uri_parse(file_node.buf, &hostname); - if (strcmp((const char*)file_node.buf, "file://pwned/C:/Pointless%20Space")) { - return failure("Bad URI %s\n", file_node.buf); - } else if (!hostname || strcmp((const char*)hostname, "pwned")) { - return failure("Bad hostname `%s'\n", hostname); - } else if (strcmp((const char*)out_path, "C:/Pointless Space")) { - return failure("path=>URI=>path failure %s => %s => %s\n", - path_str, file_node.buf, out_path); - } - free(hostname); - free(out_path); - serd_node_free(&file_node); - - path_str = USTR("/foo/bar"); - file_node = serd_node_new_file_uri(path_str, 0, 0, true); - hostname = NULL; - out_path = serd_file_uri_parse(file_node.buf, &hostname); - if (strcmp((const char*)file_node.buf, "file:///foo/bar")) { - return failure("Bad URI %s\n", file_node.buf); - } else if (hostname) { - return failure("hostname `%s' shouldn't exist\n", hostname); - } else if (strcmp((const char*)path_str, (const char*)out_path)) { - return failure("path=>URI=>path failure %s => %s => %s\n", - path_str, file_node.buf, out_path); - } - free(out_path); - serd_node_free(&file_node); - - path_str = USTR("/foo/bar"); - file_node = serd_node_new_file_uri(path_str, USTR("localhost"), 0, true); - out_path = serd_file_uri_parse(file_node.buf, &hostname); - if (strcmp((const char*)file_node.buf, "file://localhost/foo/bar")) { - return failure("Bad URI %s\n", file_node.buf); - } else if (strcmp((const char*)hostname, "localhost")) { - return failure("incorrect hostname `%s'\n", hostname); - } else if (strcmp((const char*)path_str, (const char*)out_path)) { - return failure("path=>URI=>path failure %s => %s => %s\n", - path_str, file_node.buf, out_path); - } - free(hostname); - free(out_path); - serd_node_free(&file_node); - - path_str = USTR("a/relative path"); - file_node = serd_node_new_file_uri(path_str, 0, 0, false); - out_path = serd_file_uri_parse(file_node.buf, &hostname); - if (strcmp((const char*)file_node.buf, "a/relative path")) { - return failure("Bad URI %s\n", file_node.buf); - } else if (hostname) { - return failure("hostname `%s' shouldn't exist\n", hostname); - } else if (strcmp((const char*)path_str, (const char*)out_path)) { - return failure("path=>URI=>path failure %s => %s => %s\n", - path_str, file_node.buf, out_path); - } - free(hostname); - free(out_path); - serd_node_free(&file_node); - - if (serd_file_uri_parse(USTR("file://invalid"), NULL)) { - return failure("successfully parsed bogus URI \n"); - } - - out_path = serd_file_uri_parse(USTR("file://host/foo/%XYbar"), NULL); - if (strcmp((const char*)out_path, "/foo/bar")) { - return failure("bad tolerance of junk escape: `%s'\n", out_path); - } - free(out_path); - out_path = serd_file_uri_parse(USTR("file://host/foo/%0Abar"), NULL); - if (strcmp((const char*)out_path, "/foo/bar")) { - return failure("bad tolerance of junk escape: `%s'\n", out_path); - } - free(out_path); - - // Test serd_node_equals - - const uint8_t replacement_char_str[] = { 0xEF, 0xBF, 0xBD, 0 }; - SerdNode lhs = serd_node_from_string(SERD_LITERAL, replacement_char_str); - SerdNode rhs = serd_node_from_string(SERD_LITERAL, USTR("123")); - if (serd_node_equals(&lhs, &rhs)) { - return failure("%s == %s\n", lhs.buf, rhs.buf); - } - - SerdNode qnode = serd_node_from_string(SERD_CURIE, USTR("foo:bar")); - if (serd_node_equals(&lhs, &qnode)) { - return failure("%s == %s\n", lhs.buf, qnode.buf); - } - - if (!serd_node_equals(&lhs, &lhs)) { - return failure("%s != %s\n", lhs.buf, lhs.buf); - } - - // Test serd_node_from_string - - SerdNode node = serd_node_from_string(SERD_LITERAL, (const uint8_t*)"hello\""); - if (node.n_bytes != 6 || node.n_chars != 6 || node.flags != SERD_HAS_QUOTE - || strcmp((const char*)node.buf, "hello\"")) { - return failure("Bad node %s %zu %zu %d %d\n", - node.buf, node.n_bytes, node.n_chars, node.flags, node.type); - } - - node = serd_node_from_string(SERD_URI, NULL); - if (!serd_node_equals(&node, &SERD_NODE_NULL)) { - return failure("Creating node from NULL string failed\n"); - } - - // Test serd_node_new_uri_from_string - - SerdURI base_uri; - SerdNode base = serd_node_new_uri_from_string(USTR("http://example.org/"), - NULL, &base_uri); - SerdNode nil = serd_node_new_uri_from_string(NULL, &base_uri, NULL); - if (nil.type != SERD_URI || strcmp((const char*)nil.buf, (const char*)base.buf)) { - return failure("URI %s != base %s\n", nil.buf, base.buf); - } - serd_node_free(&base); - serd_node_free(&nil); - - // Test SerdEnv - - SerdNode u = serd_node_from_string(SERD_URI, USTR("http://example.org/foo")); - SerdNode b = serd_node_from_string(SERD_CURIE, USTR("invalid")); - SerdNode c = serd_node_from_string(SERD_CURIE, USTR("eg.2:b")); - SerdEnv* env = serd_env_new(NULL); - serd_env_set_prefix_from_strings(env, USTR("eg.2"), USTR("http://example.org/")); - - if (!serd_env_set_base_uri(env, &node)) { - return failure("Set base URI to %s\n", node.buf); - } - - SerdChunk prefix, suffix; - if (!serd_env_expand(env, &b, &prefix, &suffix)) { - return failure("Expanded invalid curie %s\n", b.buf); - } - - SerdNode xnode = serd_env_expand_node(env, &node); - if (!serd_node_equals(&xnode, &SERD_NODE_NULL)) { - return failure("Expanded %s to %s\n", c.buf, xnode.buf); - } - - SerdNode xu = serd_env_expand_node(env, &u); - if (strcmp((const char*)xu.buf, "http://example.org/foo")) { - return failure("Expanded %s to %s\n", c.buf, xu.buf); - } - serd_node_free(&xu); - - SerdNode badpre = serd_node_from_string(SERD_CURIE, USTR("hm:what")); - SerdNode xbadpre = serd_env_expand_node(env, &badpre); - if (!serd_node_equals(&xbadpre, &SERD_NODE_NULL)) { - return failure("Expanded invalid curie %s\n", badpre.buf); - } - - SerdNode xc = serd_env_expand_node(env, &c); - if (strcmp((const char*)xc.buf, "http://example.org/b")) { - return failure("Expanded %s to %s\n", c.buf, xc.buf); - } - serd_node_free(&xc); - - if (!serd_env_set_prefix(env, &SERD_NODE_NULL, &SERD_NODE_NULL)) { - return failure("Set NULL prefix\n"); - } - - const SerdNode lit = serd_node_from_string(SERD_LITERAL, USTR("hello")); - if (!serd_env_set_prefix(env, &b, &lit)) { - return failure("Set prefix to literal\n"); - } - - int n_prefixes = 0; - serd_env_set_prefix_from_strings(env, USTR("eg.2"), USTR("http://example.org/")); - serd_env_foreach(env, count_prefixes, &n_prefixes); - if (n_prefixes != 1) { - return failure("Bad prefix count %d\n", n_prefixes); - } - - SerdNode shorter_uri = serd_node_from_string(SERD_URI, USTR("urn:foo")); - SerdNode prefix_name; - if (serd_env_qualify(env, &shorter_uri, &prefix_name, &suffix)) { - return failure("Qualified %s\n", shorter_uri.buf); - } - - // Test SerdReader and SerdWriter - - const char* path = "serd_test.ttl"; - FILE* fd = fopen(path, "w"); - if (!fd) { - return failure("Failed to open file %s\n", path); - } - - SerdWriter* writer = serd_writer_new( - SERD_TURTLE, (SerdStyle)0, env, NULL, serd_file_sink, fd); - if (!writer) { - return failure("Failed to create writer\n"); - } - - serd_writer_chop_blank_prefix(writer, USTR("tmp")); - serd_writer_chop_blank_prefix(writer, NULL); - - if (!serd_writer_set_base_uri(writer, &lit)) { - return failure("Set base URI to %s\n", lit.buf); - } - - if (!serd_writer_set_prefix(writer, &lit, &lit)) { - return failure("Set prefix %s to %s\n", lit.buf, lit.buf); - } - - if (!serd_writer_end_anon(writer, NULL)) { - return failure("Ended non-existent anonymous node\n"); - } - - if (serd_writer_get_env(writer) != env) { - return failure("Writer has incorrect env\n"); - } - - uint8_t buf[] = { 0x80, 0, 0, 0, 0 }; - SerdNode s = serd_node_from_string(SERD_URI, USTR("")); - SerdNode p = serd_node_from_string(SERD_URI, USTR("http://example.org/pred")); - SerdNode o = serd_node_from_string(SERD_LITERAL, buf); - - // Write 3 invalid statements (should write nothing) - const SerdNode* junk[][5] = { { &s, &p, NULL, NULL, NULL }, - { &s, NULL, &o, NULL, NULL }, - { NULL, &p, &o, NULL, NULL }, - { &s, &p, &SERD_NODE_NULL, NULL, NULL }, - { &s, &SERD_NODE_NULL, &o, NULL, NULL }, - { &SERD_NODE_NULL, &p, &o, NULL, NULL }, - { &s, &o, &o, NULL, NULL }, - { &o, &p, &o, NULL, NULL }, - { NULL, NULL, NULL, NULL, NULL } }; - for (unsigned i = 0; i < sizeof(junk) / (sizeof(SerdNode*) * 5); ++i) { - if (!serd_writer_write_statement( - writer, 0, NULL, - junk[i][0], junk[i][1], junk[i][2], junk[i][3], junk[i][4])) { - return failure("Successfully wrote junk statement %d\n", i); - } - } - - const SerdNode t = serd_node_from_string(SERD_URI, USTR("urn:Type")); - const SerdNode l = serd_node_from_string(SERD_LITERAL, USTR("en")); - const SerdNode* good[][5] = { { &s, &p, &o, NULL, NULL }, - { &s, &p, &o, &SERD_NODE_NULL, &SERD_NODE_NULL }, - { &s, &p, &o, &t, NULL }, - { &s, &p, &o, NULL, &l }, - { &s, &p, &o, &t, &l }, - { &s, &p, &o, &t, &SERD_NODE_NULL }, - { &s, &p, &o, &SERD_NODE_NULL, &l }, - { &s, &p, &o, NULL, &SERD_NODE_NULL }, - { &s, &p, &o, &SERD_NODE_NULL, NULL }, - { &s, &p, &o, &SERD_NODE_NULL, NULL } }; - for (unsigned i = 0; i < sizeof(good) / (sizeof(SerdNode*) * 5); ++i) { - if (serd_writer_write_statement( - writer, 0, NULL, - good[i][0], good[i][1], good[i][2], good[i][3], good[i][4])) { - return failure("Failed to write good statement %d\n", i); - } - } - - // Write 1 statement with bad UTF-8 (should be replaced) - if (serd_writer_write_statement(writer, 0, NULL, - &s, &p, &o, NULL, NULL)) { - return failure("Failed to write junk UTF-8\n"); - } - - // Write 1 valid statement - o = serd_node_from_string(SERD_LITERAL, USTR("hello")); - if (serd_writer_write_statement(writer, 0, NULL, - &s, &p, &o, NULL, NULL)) { - return failure("Failed to write valid statement\n"); - } - - serd_writer_free(writer); - - // Test chunk sink - SerdChunk chunk = { NULL, 0 }; - writer = serd_writer_new( - SERD_TURTLE, (SerdStyle)0, env, NULL, serd_chunk_sink, &chunk); - - o = serd_node_from_string(SERD_URI, USTR("http://example.org/base")); - if (serd_writer_set_base_uri(writer, &o)) { - return failure("Failed to write to chunk sink\n"); - } - - serd_writer_free(writer); - uint8_t* out = serd_chunk_sink_finish(&chunk); - - if (strcmp((const char*)out, "@base .\n")) { - return failure("Incorrect chunk output:\n%s\n", chunk.buf); - } - - free(out); - - // Rewind and test reader - fseek(fd, 0, SEEK_SET); - - ReaderTest* rt = (ReaderTest*)malloc(sizeof(ReaderTest)); - rt->n_statements = 0; - rt->graph = NULL; - - SerdReader* reader = serd_reader_new( - SERD_TURTLE, rt, free, - NULL, NULL, test_sink, NULL); - if (!reader) { - return failure("Failed to create reader\n"); - } - if (serd_reader_get_handle(reader) != rt) { - return failure("Corrupt reader handle\n"); - } - - SerdNode g = serd_node_from_string(SERD_URI, USTR("http://example.org/")); - serd_reader_set_default_graph(reader, &g); - serd_reader_add_blank_prefix(reader, USTR("tmp")); - serd_reader_add_blank_prefix(reader, NULL); - - if (!serd_reader_read_file(reader, USTR("http://notafile"))) { - return failure("Apparently read an http URI\n"); - } - if (!serd_reader_read_file(reader, USTR("file:///better/not/exist"))) { - return failure("Apprently read a non-existent file\n"); - } - SerdStatus st = serd_reader_read_file(reader, USTR(path)); - if (st) { - return failure("Error reading file (%s)\n", serd_strerror(st)); - } - - if (rt->n_statements != 12) { - return failure("Bad statement count %d\n", rt->n_statements); - } else if (!rt->graph || !rt->graph->buf || - strcmp((const char*)rt->graph->buf, "http://example.org/")) { - return failure("Bad graph %p\n", rt->graph); - } - - if (!serd_reader_read_string(reader, USTR("This isn't Turtle at all."))) { - return failure("Parsed invalid string successfully.\n"); - } - - serd_reader_free(reader); - fclose(fd); - - serd_env_free(env); - - printf("Success\n"); - return 0; -} diff --git a/source/modules/lilv/serd-0.18.2/tests/test-00.out b/source/modules/lilv/serd-0.18.2/tests/test-00.out deleted file mode 100644 index 7f8b717e2..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-00.out +++ /dev/null @@ -1 +0,0 @@ -_:genid1 . diff --git a/source/modules/lilv/serd-0.18.2/tests/test-00.ttl b/source/modules/lilv/serd-0.18.2/tests/test-00.ttl deleted file mode 100644 index 78da35e60..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-00.ttl +++ /dev/null @@ -1,2 +0,0 @@ -@prefix : <#> . -[] :x :y . diff --git a/source/modules/lilv/serd-0.18.2/tests/test-01.out b/source/modules/lilv/serd-0.18.2/tests/test-01.out deleted file mode 100644 index 5ccb5bd20..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-01.out +++ /dev/null @@ -1,3 +0,0 @@ - . - . - . diff --git a/source/modules/lilv/serd-0.18.2/tests/test-01.ttl b/source/modules/lilv/serd-0.18.2/tests/test-01.ttl deleted file mode 100644 index 9070d2c41..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-01.ttl +++ /dev/null @@ -1,7 +0,0 @@ -# Test @prefix and qnames -@prefix : . -@prefix a: . -@prefix b: . -:a :b :c . -a:a a:b a:c . -:a a:a b:a . diff --git a/source/modules/lilv/serd-0.18.2/tests/test-02.out b/source/modules/lilv/serd-0.18.2/tests/test-02.out deleted file mode 100644 index 99732ab37..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-02.out +++ /dev/null @@ -1,3 +0,0 @@ - . - . - . diff --git a/source/modules/lilv/serd-0.18.2/tests/test-02.ttl b/source/modules/lilv/serd-0.18.2/tests/test-02.ttl deleted file mode 100644 index a623f3c17..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-02.ttl +++ /dev/null @@ -1,5 +0,0 @@ -# Test , operator -@prefix : . -:a :b :c, - :d, - :e . diff --git a/source/modules/lilv/serd-0.18.2/tests/test-03.out b/source/modules/lilv/serd-0.18.2/tests/test-03.out deleted file mode 100644 index d6ce9e8fe..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-03.out +++ /dev/null @@ -1,3 +0,0 @@ - . - . - . diff --git a/source/modules/lilv/serd-0.18.2/tests/test-03.ttl b/source/modules/lilv/serd-0.18.2/tests/test-03.ttl deleted file mode 100644 index 9179fa508..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-03.ttl +++ /dev/null @@ -1,5 +0,0 @@ -# Test ; operator -@prefix : . -:a :b :c ; - :d :e ; - :f :g . diff --git a/source/modules/lilv/serd-0.18.2/tests/test-04.out b/source/modules/lilv/serd-0.18.2/tests/test-04.out deleted file mode 100644 index 414e4b84b..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-04.out +++ /dev/null @@ -1,2 +0,0 @@ -_:genid1 . - _:genid2 . diff --git a/source/modules/lilv/serd-0.18.2/tests/test-04.ttl b/source/modules/lilv/serd-0.18.2/tests/test-04.ttl deleted file mode 100644 index c51814793..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-04.ttl +++ /dev/null @@ -1,4 +0,0 @@ -# Test empty [] operator; not allowed as predicate -@prefix : . -[] :a :b . -:c :d [] . diff --git a/source/modules/lilv/serd-0.18.2/tests/test-05.out b/source/modules/lilv/serd-0.18.2/tests/test-05.out deleted file mode 100644 index bf904178c..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-05.out +++ /dev/null @@ -1,4 +0,0 @@ -_:genid1 . -_:genid1 . - _:genid2 . -_:genid2 . diff --git a/source/modules/lilv/serd-0.18.2/tests/test-05.ttl b/source/modules/lilv/serd-0.18.2/tests/test-05.ttl deleted file mode 100644 index adcbcabd0..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-05.ttl +++ /dev/null @@ -1,4 +0,0 @@ -# Test non empty [] operator; not allowed as predicate -@prefix : . -[ :a :b ] :c :d . -:e :f [ :g :h ] . diff --git a/source/modules/lilv/serd-0.18.2/tests/test-06.out b/source/modules/lilv/serd-0.18.2/tests/test-06.out deleted file mode 100644 index 49961ea62..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-06.out +++ /dev/null @@ -1 +0,0 @@ - . diff --git a/source/modules/lilv/serd-0.18.2/tests/test-06.ttl b/source/modules/lilv/serd-0.18.2/tests/test-06.ttl deleted file mode 100644 index 9c1005cc9..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-06.ttl +++ /dev/null @@ -1,3 +0,0 @@ -# 'a' only allowed as a predicate -@prefix : . -:a a :b . diff --git a/source/modules/lilv/serd-0.18.2/tests/test-07.out b/source/modules/lilv/serd-0.18.2/tests/test-07.out deleted file mode 100644 index e17cc7be0..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-07.out +++ /dev/null @@ -1,5 +0,0 @@ - _:genid1 . -_:genid1 "apple" . -_:genid1 _:genid2 . -_:genid2 "banana" . -_:genid2 . diff --git a/source/modules/lilv/serd-0.18.2/tests/test-07.ttl b/source/modules/lilv/serd-0.18.2/tests/test-07.ttl deleted file mode 100644 index 84559403b..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-07.ttl +++ /dev/null @@ -1,3 +0,0 @@ -@prefix : . -:a :b ( "apple" "banana" ) . - diff --git a/source/modules/lilv/serd-0.18.2/tests/test-08.out b/source/modules/lilv/serd-0.18.2/tests/test-08.out deleted file mode 100644 index a77939cdd..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-08.out +++ /dev/null @@ -1 +0,0 @@ - . diff --git a/source/modules/lilv/serd-0.18.2/tests/test-08.ttl b/source/modules/lilv/serd-0.18.2/tests/test-08.ttl deleted file mode 100644 index adce0a20f..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-08.ttl +++ /dev/null @@ -1,3 +0,0 @@ -@prefix : . -:a :b ( ) . - diff --git a/source/modules/lilv/serd-0.18.2/tests/test-09.out b/source/modules/lilv/serd-0.18.2/tests/test-09.out deleted file mode 100644 index 5fdb90991..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-09.out +++ /dev/null @@ -1,4 +0,0 @@ -_:hasParent . -_:genid1 . -_:genid1 _:hasParent . -_:genid1 "2"^^ . diff --git a/source/modules/lilv/serd-0.18.2/tests/test-09.ttl b/source/modules/lilv/serd-0.18.2/tests/test-09.ttl deleted file mode 100644 index 0afe1b0ae..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-09.ttl +++ /dev/null @@ -1,10 +0,0 @@ -# Test integer datatyped literals using an OWL cardinality constraint -@prefix owl: . - -# based on examples in the OWL Reference - -_:hasParent a owl:ObjectProperty . - -[] a owl:Restriction ; - owl:onProperty _:hasParent ; - owl:maxCardinality 2 . diff --git a/source/modules/lilv/serd-0.18.2/tests/test-10.out b/source/modules/lilv/serd-0.18.2/tests/test-10.out deleted file mode 100644 index ff88aa6f4..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-10.out +++ /dev/null @@ -1,5 +0,0 @@ - "000000"^^ . - "0"^^ . - "000001"^^ . - "2"^^ . - "4"^^ . diff --git a/source/modules/lilv/serd-0.18.2/tests/test-10.ttl b/source/modules/lilv/serd-0.18.2/tests/test-10.ttl deleted file mode 100644 index 5d36360ea..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-10.ttl +++ /dev/null @@ -1,5 +0,0 @@ - 000000 . - 0 . - 000001 . - 2 . - 4 . diff --git a/source/modules/lilv/serd-0.18.2/tests/test-11.out b/source/modules/lilv/serd-0.18.2/tests/test-11.out deleted file mode 100644 index f936a5b66..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-11.out +++ /dev/null @@ -1,4 +0,0 @@ - "a" . - "b" . - "c" . - "d" . diff --git a/source/modules/lilv/serd-0.18.2/tests/test-11.ttl b/source/modules/lilv/serd-0.18.2/tests/test-11.ttl deleted file mode 100644 index 3de1a43fa..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-11.ttl +++ /dev/null @@ -1,10 +0,0 @@ -# Tests for - and _ in names, qnames -@prefix ex1: . -@prefix ex-2: . -@prefix ex3_: . -@prefix ex4-: . - -ex1:foo-bar ex1:foo_bar "a" . -ex-2:foo-bar ex-2:foo_bar "b" . -ex3_:foo-bar ex3_:foo_bar "c" . -ex4-:foo-bar ex4-:foo_bar "d" . diff --git a/source/modules/lilv/serd-0.18.2/tests/test-12.out b/source/modules/lilv/serd-0.18.2/tests/test-12.out deleted file mode 100644 index 67404a59a..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-12.out +++ /dev/null @@ -1,4 +0,0 @@ - "1" . - "2" . - "def" . - "678" . diff --git a/source/modules/lilv/serd-0.18.2/tests/test-12.ttl b/source/modules/lilv/serd-0.18.2/tests/test-12.ttl deleted file mode 100644 index 1fed9f5e0..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-12.ttl +++ /dev/null @@ -1,9 +0,0 @@ -# Tests for rdf:_ and other qnames starting with _ -@prefix rdf: . -@prefix ex: . -@prefix : . - -ex:foo rdf:_1 "1" . -ex:foo rdf:_2 "2" . -ex:foo :_abc "def" . -ex:foo :_345 "678" . diff --git a/source/modules/lilv/serd-0.18.2/tests/test-13.out b/source/modules/lilv/serd-0.18.2/tests/test-13.out deleted file mode 100644 index 9feb5ad00..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-13.out +++ /dev/null @@ -1,2 +0,0 @@ -_:genid1 _:genid2 . - . diff --git a/source/modules/lilv/serd-0.18.2/tests/test-13.ttl b/source/modules/lilv/serd-0.18.2/tests/test-13.ttl deleted file mode 100644 index a8be95beb..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-13.ttl +++ /dev/null @@ -1,7 +0,0 @@ -# Test for : allowed -@prefix : . - -[] : [] . - -: : : . - diff --git a/source/modules/lilv/serd-0.18.2/tests/test-14.out b/source/modules/lilv/serd-0.18.2/tests/test-14.out deleted file mode 100644 index 791b3a7ac..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-14.out +++ /dev/null @@ -1,10000 +0,0 @@ - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . diff --git a/source/modules/lilv/serd-0.18.2/tests/test-14.ttl b/source/modules/lilv/serd-0.18.2/tests/test-14.ttl deleted file mode 100644 index ad9dbde88..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-14.ttl +++ /dev/null @@ -1,10002 +0,0 @@ -# 10000 triples, more than the default Bison stack size -@prefix : . -:a1 :a1 :a1. -:a2 :a2 :a2. -:a3 :a3 :a3. -:a4 :a4 :a4. -:a5 :a5 :a5. -:a6 :a6 :a6. -:a7 :a7 :a7. -:a8 :a8 :a8. -:a9 :a9 :a9. -:a10 :a10 :a10. -:a11 :a11 :a11. -:a12 :a12 :a12. -:a13 :a13 :a13. -:a14 :a14 :a14. -:a15 :a15 :a15. -:a16 :a16 :a16. -:a17 :a17 :a17. -:a18 :a18 :a18. -:a19 :a19 :a19. -:a20 :a20 :a20. -:a21 :a21 :a21. -:a22 :a22 :a22. -:a23 :a23 :a23. -:a24 :a24 :a24. -:a25 :a25 :a25. -:a26 :a26 :a26. -:a27 :a27 :a27. -:a28 :a28 :a28. -:a29 :a29 :a29. -:a30 :a30 :a30. -:a31 :a31 :a31. -:a32 :a32 :a32. -:a33 :a33 :a33. -:a34 :a34 :a34. -:a35 :a35 :a35. -:a36 :a36 :a36. -:a37 :a37 :a37. -:a38 :a38 :a38. -:a39 :a39 :a39. -:a40 :a40 :a40. -:a41 :a41 :a41. -:a42 :a42 :a42. -:a43 :a43 :a43. -:a44 :a44 :a44. -:a45 :a45 :a45. -:a46 :a46 :a46. -:a47 :a47 :a47. -:a48 :a48 :a48. -:a49 :a49 :a49. -:a50 :a50 :a50. -:a51 :a51 :a51. -:a52 :a52 :a52. -:a53 :a53 :a53. -:a54 :a54 :a54. -:a55 :a55 :a55. -:a56 :a56 :a56. -:a57 :a57 :a57. -:a58 :a58 :a58. -:a59 :a59 :a59. -:a60 :a60 :a60. -:a61 :a61 :a61. -:a62 :a62 :a62. -:a63 :a63 :a63. -:a64 :a64 :a64. -:a65 :a65 :a65. -:a66 :a66 :a66. -:a67 :a67 :a67. -:a68 :a68 :a68. -:a69 :a69 :a69. -:a70 :a70 :a70. -:a71 :a71 :a71. -:a72 :a72 :a72. -:a73 :a73 :a73. -:a74 :a74 :a74. -:a75 :a75 :a75. -:a76 :a76 :a76. -:a77 :a77 :a77. -:a78 :a78 :a78. -:a79 :a79 :a79. -:a80 :a80 :a80. -:a81 :a81 :a81. -:a82 :a82 :a82. -:a83 :a83 :a83. -:a84 :a84 :a84. -:a85 :a85 :a85. -:a86 :a86 :a86. -:a87 :a87 :a87. -:a88 :a88 :a88. -:a89 :a89 :a89. -:a90 :a90 :a90. -:a91 :a91 :a91. -:a92 :a92 :a92. -:a93 :a93 :a93. -:a94 :a94 :a94. -:a95 :a95 :a95. -:a96 :a96 :a96. -:a97 :a97 :a97. -:a98 :a98 :a98. -:a99 :a99 :a99. -:a100 :a100 :a100. -:a101 :a101 :a101. -:a102 :a102 :a102. -:a103 :a103 :a103. -:a104 :a104 :a104. -:a105 :a105 :a105. -:a106 :a106 :a106. -:a107 :a107 :a107. -:a108 :a108 :a108. -:a109 :a109 :a109. -:a110 :a110 :a110. -:a111 :a111 :a111. -:a112 :a112 :a112. -:a113 :a113 :a113. -:a114 :a114 :a114. -:a115 :a115 :a115. -:a116 :a116 :a116. -:a117 :a117 :a117. -:a118 :a118 :a118. -:a119 :a119 :a119. -:a120 :a120 :a120. -:a121 :a121 :a121. -:a122 :a122 :a122. -:a123 :a123 :a123. -:a124 :a124 :a124. -:a125 :a125 :a125. -:a126 :a126 :a126. -:a127 :a127 :a127. -:a128 :a128 :a128. -:a129 :a129 :a129. -:a130 :a130 :a130. -:a131 :a131 :a131. -:a132 :a132 :a132. -:a133 :a133 :a133. -:a134 :a134 :a134. -:a135 :a135 :a135. -:a136 :a136 :a136. -:a137 :a137 :a137. -:a138 :a138 :a138. -:a139 :a139 :a139. -:a140 :a140 :a140. -:a141 :a141 :a141. -:a142 :a142 :a142. -:a143 :a143 :a143. -:a144 :a144 :a144. -:a145 :a145 :a145. -:a146 :a146 :a146. -:a147 :a147 :a147. -:a148 :a148 :a148. -:a149 :a149 :a149. -:a150 :a150 :a150. -:a151 :a151 :a151. -:a152 :a152 :a152. -:a153 :a153 :a153. -:a154 :a154 :a154. -:a155 :a155 :a155. -:a156 :a156 :a156. -:a157 :a157 :a157. -:a158 :a158 :a158. -:a159 :a159 :a159. -:a160 :a160 :a160. -:a161 :a161 :a161. -:a162 :a162 :a162. -:a163 :a163 :a163. -:a164 :a164 :a164. -:a165 :a165 :a165. -:a166 :a166 :a166. -:a167 :a167 :a167. -:a168 :a168 :a168. -:a169 :a169 :a169. -:a170 :a170 :a170. -:a171 :a171 :a171. -:a172 :a172 :a172. -:a173 :a173 :a173. -:a174 :a174 :a174. -:a175 :a175 :a175. -:a176 :a176 :a176. -:a177 :a177 :a177. -:a178 :a178 :a178. -:a179 :a179 :a179. -:a180 :a180 :a180. -:a181 :a181 :a181. -:a182 :a182 :a182. -:a183 :a183 :a183. -:a184 :a184 :a184. -:a185 :a185 :a185. -:a186 :a186 :a186. -:a187 :a187 :a187. -:a188 :a188 :a188. -:a189 :a189 :a189. -:a190 :a190 :a190. -:a191 :a191 :a191. -:a192 :a192 :a192. -:a193 :a193 :a193. -:a194 :a194 :a194. -:a195 :a195 :a195. -:a196 :a196 :a196. -:a197 :a197 :a197. -:a198 :a198 :a198. -:a199 :a199 :a199. -:a200 :a200 :a200. -:a201 :a201 :a201. -:a202 :a202 :a202. -:a203 :a203 :a203. -:a204 :a204 :a204. -:a205 :a205 :a205. -:a206 :a206 :a206. -:a207 :a207 :a207. -:a208 :a208 :a208. -:a209 :a209 :a209. -:a210 :a210 :a210. -:a211 :a211 :a211. -:a212 :a212 :a212. -:a213 :a213 :a213. -:a214 :a214 :a214. -:a215 :a215 :a215. -:a216 :a216 :a216. -:a217 :a217 :a217. -:a218 :a218 :a218. -:a219 :a219 :a219. -:a220 :a220 :a220. -:a221 :a221 :a221. -:a222 :a222 :a222. -:a223 :a223 :a223. -:a224 :a224 :a224. -:a225 :a225 :a225. -:a226 :a226 :a226. -:a227 :a227 :a227. -:a228 :a228 :a228. -:a229 :a229 :a229. -:a230 :a230 :a230. -:a231 :a231 :a231. -:a232 :a232 :a232. -:a233 :a233 :a233. -:a234 :a234 :a234. -:a235 :a235 :a235. -:a236 :a236 :a236. -:a237 :a237 :a237. -:a238 :a238 :a238. -:a239 :a239 :a239. -:a240 :a240 :a240. -:a241 :a241 :a241. -:a242 :a242 :a242. -:a243 :a243 :a243. -:a244 :a244 :a244. -:a245 :a245 :a245. -:a246 :a246 :a246. -:a247 :a247 :a247. -:a248 :a248 :a248. -:a249 :a249 :a249. -:a250 :a250 :a250. -:a251 :a251 :a251. -:a252 :a252 :a252. -:a253 :a253 :a253. -:a254 :a254 :a254. -:a255 :a255 :a255. -:a256 :a256 :a256. -:a257 :a257 :a257. -:a258 :a258 :a258. -:a259 :a259 :a259. -:a260 :a260 :a260. -:a261 :a261 :a261. -:a262 :a262 :a262. -:a263 :a263 :a263. -:a264 :a264 :a264. -:a265 :a265 :a265. -:a266 :a266 :a266. -:a267 :a267 :a267. -:a268 :a268 :a268. -:a269 :a269 :a269. -:a270 :a270 :a270. -:a271 :a271 :a271. -:a272 :a272 :a272. -:a273 :a273 :a273. -:a274 :a274 :a274. -:a275 :a275 :a275. -:a276 :a276 :a276. -:a277 :a277 :a277. -:a278 :a278 :a278. -:a279 :a279 :a279. -:a280 :a280 :a280. -:a281 :a281 :a281. -:a282 :a282 :a282. -:a283 :a283 :a283. -:a284 :a284 :a284. -:a285 :a285 :a285. -:a286 :a286 :a286. -:a287 :a287 :a287. -:a288 :a288 :a288. -:a289 :a289 :a289. -:a290 :a290 :a290. -:a291 :a291 :a291. -:a292 :a292 :a292. -:a293 :a293 :a293. -:a294 :a294 :a294. -:a295 :a295 :a295. -:a296 :a296 :a296. -:a297 :a297 :a297. -:a298 :a298 :a298. -:a299 :a299 :a299. -:a300 :a300 :a300. -:a301 :a301 :a301. -:a302 :a302 :a302. -:a303 :a303 :a303. -:a304 :a304 :a304. -:a305 :a305 :a305. -:a306 :a306 :a306. -:a307 :a307 :a307. -:a308 :a308 :a308. -:a309 :a309 :a309. -:a310 :a310 :a310. -:a311 :a311 :a311. -:a312 :a312 :a312. -:a313 :a313 :a313. -:a314 :a314 :a314. -:a315 :a315 :a315. -:a316 :a316 :a316. -:a317 :a317 :a317. -:a318 :a318 :a318. -:a319 :a319 :a319. -:a320 :a320 :a320. -:a321 :a321 :a321. -:a322 :a322 :a322. -:a323 :a323 :a323. -:a324 :a324 :a324. -:a325 :a325 :a325. -:a326 :a326 :a326. -:a327 :a327 :a327. -:a328 :a328 :a328. -:a329 :a329 :a329. -:a330 :a330 :a330. -:a331 :a331 :a331. -:a332 :a332 :a332. -:a333 :a333 :a333. -:a334 :a334 :a334. -:a335 :a335 :a335. -:a336 :a336 :a336. -:a337 :a337 :a337. -:a338 :a338 :a338. -:a339 :a339 :a339. -:a340 :a340 :a340. -:a341 :a341 :a341. -:a342 :a342 :a342. -:a343 :a343 :a343. -:a344 :a344 :a344. -:a345 :a345 :a345. -:a346 :a346 :a346. -:a347 :a347 :a347. -:a348 :a348 :a348. -:a349 :a349 :a349. -:a350 :a350 :a350. -:a351 :a351 :a351. -:a352 :a352 :a352. -:a353 :a353 :a353. -:a354 :a354 :a354. -:a355 :a355 :a355. -:a356 :a356 :a356. -:a357 :a357 :a357. -:a358 :a358 :a358. -:a359 :a359 :a359. -:a360 :a360 :a360. -:a361 :a361 :a361. -:a362 :a362 :a362. -:a363 :a363 :a363. -:a364 :a364 :a364. -:a365 :a365 :a365. -:a366 :a366 :a366. -:a367 :a367 :a367. -:a368 :a368 :a368. -:a369 :a369 :a369. -:a370 :a370 :a370. -:a371 :a371 :a371. -:a372 :a372 :a372. -:a373 :a373 :a373. -:a374 :a374 :a374. -:a375 :a375 :a375. -:a376 :a376 :a376. -:a377 :a377 :a377. -:a378 :a378 :a378. -:a379 :a379 :a379. -:a380 :a380 :a380. -:a381 :a381 :a381. -:a382 :a382 :a382. -:a383 :a383 :a383. -:a384 :a384 :a384. -:a385 :a385 :a385. -:a386 :a386 :a386. -:a387 :a387 :a387. -:a388 :a388 :a388. -:a389 :a389 :a389. -:a390 :a390 :a390. -:a391 :a391 :a391. -:a392 :a392 :a392. -:a393 :a393 :a393. -:a394 :a394 :a394. -:a395 :a395 :a395. -:a396 :a396 :a396. -:a397 :a397 :a397. -:a398 :a398 :a398. -:a399 :a399 :a399. -:a400 :a400 :a400. -:a401 :a401 :a401. -:a402 :a402 :a402. -:a403 :a403 :a403. -:a404 :a404 :a404. -:a405 :a405 :a405. -:a406 :a406 :a406. -:a407 :a407 :a407. -:a408 :a408 :a408. -:a409 :a409 :a409. -:a410 :a410 :a410. -:a411 :a411 :a411. -:a412 :a412 :a412. -:a413 :a413 :a413. -:a414 :a414 :a414. -:a415 :a415 :a415. -:a416 :a416 :a416. -:a417 :a417 :a417. -:a418 :a418 :a418. -:a419 :a419 :a419. -:a420 :a420 :a420. -:a421 :a421 :a421. -:a422 :a422 :a422. -:a423 :a423 :a423. -:a424 :a424 :a424. -:a425 :a425 :a425. -:a426 :a426 :a426. -:a427 :a427 :a427. -:a428 :a428 :a428. -:a429 :a429 :a429. -:a430 :a430 :a430. -:a431 :a431 :a431. -:a432 :a432 :a432. -:a433 :a433 :a433. -:a434 :a434 :a434. -:a435 :a435 :a435. -:a436 :a436 :a436. -:a437 :a437 :a437. -:a438 :a438 :a438. -:a439 :a439 :a439. -:a440 :a440 :a440. -:a441 :a441 :a441. -:a442 :a442 :a442. -:a443 :a443 :a443. -:a444 :a444 :a444. -:a445 :a445 :a445. -:a446 :a446 :a446. -:a447 :a447 :a447. -:a448 :a448 :a448. -:a449 :a449 :a449. -:a450 :a450 :a450. -:a451 :a451 :a451. -:a452 :a452 :a452. -:a453 :a453 :a453. -:a454 :a454 :a454. -:a455 :a455 :a455. -:a456 :a456 :a456. -:a457 :a457 :a457. -:a458 :a458 :a458. -:a459 :a459 :a459. -:a460 :a460 :a460. -:a461 :a461 :a461. -:a462 :a462 :a462. -:a463 :a463 :a463. -:a464 :a464 :a464. -:a465 :a465 :a465. -:a466 :a466 :a466. -:a467 :a467 :a467. -:a468 :a468 :a468. -:a469 :a469 :a469. -:a470 :a470 :a470. -:a471 :a471 :a471. -:a472 :a472 :a472. -:a473 :a473 :a473. -:a474 :a474 :a474. -:a475 :a475 :a475. -:a476 :a476 :a476. -:a477 :a477 :a477. -:a478 :a478 :a478. -:a479 :a479 :a479. -:a480 :a480 :a480. -:a481 :a481 :a481. -:a482 :a482 :a482. -:a483 :a483 :a483. -:a484 :a484 :a484. -:a485 :a485 :a485. -:a486 :a486 :a486. -:a487 :a487 :a487. -:a488 :a488 :a488. -:a489 :a489 :a489. -:a490 :a490 :a490. -:a491 :a491 :a491. -:a492 :a492 :a492. -:a493 :a493 :a493. -:a494 :a494 :a494. -:a495 :a495 :a495. -:a496 :a496 :a496. -:a497 :a497 :a497. -:a498 :a498 :a498. -:a499 :a499 :a499. -:a500 :a500 :a500. -:a501 :a501 :a501. -:a502 :a502 :a502. -:a503 :a503 :a503. -:a504 :a504 :a504. -:a505 :a505 :a505. -:a506 :a506 :a506. -:a507 :a507 :a507. -:a508 :a508 :a508. -:a509 :a509 :a509. -:a510 :a510 :a510. -:a511 :a511 :a511. -:a512 :a512 :a512. -:a513 :a513 :a513. -:a514 :a514 :a514. -:a515 :a515 :a515. -:a516 :a516 :a516. -:a517 :a517 :a517. -:a518 :a518 :a518. -:a519 :a519 :a519. -:a520 :a520 :a520. -:a521 :a521 :a521. -:a522 :a522 :a522. -:a523 :a523 :a523. -:a524 :a524 :a524. -:a525 :a525 :a525. -:a526 :a526 :a526. -:a527 :a527 :a527. -:a528 :a528 :a528. -:a529 :a529 :a529. -:a530 :a530 :a530. -:a531 :a531 :a531. -:a532 :a532 :a532. -:a533 :a533 :a533. -:a534 :a534 :a534. -:a535 :a535 :a535. -:a536 :a536 :a536. -:a537 :a537 :a537. -:a538 :a538 :a538. -:a539 :a539 :a539. -:a540 :a540 :a540. -:a541 :a541 :a541. -:a542 :a542 :a542. -:a543 :a543 :a543. -:a544 :a544 :a544. -:a545 :a545 :a545. -:a546 :a546 :a546. -:a547 :a547 :a547. -:a548 :a548 :a548. -:a549 :a549 :a549. -:a550 :a550 :a550. -:a551 :a551 :a551. -:a552 :a552 :a552. -:a553 :a553 :a553. -:a554 :a554 :a554. -:a555 :a555 :a555. -:a556 :a556 :a556. -:a557 :a557 :a557. -:a558 :a558 :a558. -:a559 :a559 :a559. -:a560 :a560 :a560. -:a561 :a561 :a561. -:a562 :a562 :a562. -:a563 :a563 :a563. -:a564 :a564 :a564. -:a565 :a565 :a565. -:a566 :a566 :a566. -:a567 :a567 :a567. -:a568 :a568 :a568. -:a569 :a569 :a569. -:a570 :a570 :a570. -:a571 :a571 :a571. -:a572 :a572 :a572. -:a573 :a573 :a573. -:a574 :a574 :a574. -:a575 :a575 :a575. -:a576 :a576 :a576. -:a577 :a577 :a577. -:a578 :a578 :a578. -:a579 :a579 :a579. -:a580 :a580 :a580. -:a581 :a581 :a581. -:a582 :a582 :a582. -:a583 :a583 :a583. -:a584 :a584 :a584. -:a585 :a585 :a585. -:a586 :a586 :a586. -:a587 :a587 :a587. -:a588 :a588 :a588. -:a589 :a589 :a589. -:a590 :a590 :a590. -:a591 :a591 :a591. -:a592 :a592 :a592. -:a593 :a593 :a593. -:a594 :a594 :a594. -:a595 :a595 :a595. -:a596 :a596 :a596. -:a597 :a597 :a597. -:a598 :a598 :a598. -:a599 :a599 :a599. -:a600 :a600 :a600. -:a601 :a601 :a601. -:a602 :a602 :a602. -:a603 :a603 :a603. -:a604 :a604 :a604. -:a605 :a605 :a605. -:a606 :a606 :a606. -:a607 :a607 :a607. -:a608 :a608 :a608. -:a609 :a609 :a609. -:a610 :a610 :a610. -:a611 :a611 :a611. -:a612 :a612 :a612. -:a613 :a613 :a613. -:a614 :a614 :a614. -:a615 :a615 :a615. -:a616 :a616 :a616. -:a617 :a617 :a617. -:a618 :a618 :a618. -:a619 :a619 :a619. -:a620 :a620 :a620. -:a621 :a621 :a621. -:a622 :a622 :a622. -:a623 :a623 :a623. -:a624 :a624 :a624. -:a625 :a625 :a625. -:a626 :a626 :a626. -:a627 :a627 :a627. -:a628 :a628 :a628. -:a629 :a629 :a629. -:a630 :a630 :a630. -:a631 :a631 :a631. -:a632 :a632 :a632. -:a633 :a633 :a633. -:a634 :a634 :a634. -:a635 :a635 :a635. -:a636 :a636 :a636. -:a637 :a637 :a637. -:a638 :a638 :a638. -:a639 :a639 :a639. -:a640 :a640 :a640. -:a641 :a641 :a641. -:a642 :a642 :a642. -:a643 :a643 :a643. -:a644 :a644 :a644. -:a645 :a645 :a645. -:a646 :a646 :a646. -:a647 :a647 :a647. -:a648 :a648 :a648. -:a649 :a649 :a649. -:a650 :a650 :a650. -:a651 :a651 :a651. -:a652 :a652 :a652. -:a653 :a653 :a653. -:a654 :a654 :a654. -:a655 :a655 :a655. -:a656 :a656 :a656. -:a657 :a657 :a657. -:a658 :a658 :a658. -:a659 :a659 :a659. -:a660 :a660 :a660. -:a661 :a661 :a661. -:a662 :a662 :a662. -:a663 :a663 :a663. -:a664 :a664 :a664. -:a665 :a665 :a665. -:a666 :a666 :a666. -:a667 :a667 :a667. -:a668 :a668 :a668. -:a669 :a669 :a669. -:a670 :a670 :a670. -:a671 :a671 :a671. -:a672 :a672 :a672. -:a673 :a673 :a673. -:a674 :a674 :a674. -:a675 :a675 :a675. -:a676 :a676 :a676. -:a677 :a677 :a677. -:a678 :a678 :a678. -:a679 :a679 :a679. -:a680 :a680 :a680. -:a681 :a681 :a681. -:a682 :a682 :a682. -:a683 :a683 :a683. -:a684 :a684 :a684. -:a685 :a685 :a685. -:a686 :a686 :a686. -:a687 :a687 :a687. -:a688 :a688 :a688. -:a689 :a689 :a689. -:a690 :a690 :a690. -:a691 :a691 :a691. -:a692 :a692 :a692. -:a693 :a693 :a693. -:a694 :a694 :a694. -:a695 :a695 :a695. -:a696 :a696 :a696. -:a697 :a697 :a697. -:a698 :a698 :a698. -:a699 :a699 :a699. -:a700 :a700 :a700. -:a701 :a701 :a701. -:a702 :a702 :a702. -:a703 :a703 :a703. -:a704 :a704 :a704. -:a705 :a705 :a705. -:a706 :a706 :a706. -:a707 :a707 :a707. -:a708 :a708 :a708. -:a709 :a709 :a709. -:a710 :a710 :a710. -:a711 :a711 :a711. -:a712 :a712 :a712. -:a713 :a713 :a713. -:a714 :a714 :a714. -:a715 :a715 :a715. -:a716 :a716 :a716. -:a717 :a717 :a717. -:a718 :a718 :a718. -:a719 :a719 :a719. -:a720 :a720 :a720. -:a721 :a721 :a721. -:a722 :a722 :a722. -:a723 :a723 :a723. -:a724 :a724 :a724. -:a725 :a725 :a725. -:a726 :a726 :a726. -:a727 :a727 :a727. -:a728 :a728 :a728. -:a729 :a729 :a729. -:a730 :a730 :a730. -:a731 :a731 :a731. -:a732 :a732 :a732. -:a733 :a733 :a733. -:a734 :a734 :a734. -:a735 :a735 :a735. -:a736 :a736 :a736. -:a737 :a737 :a737. -:a738 :a738 :a738. -:a739 :a739 :a739. -:a740 :a740 :a740. -:a741 :a741 :a741. -:a742 :a742 :a742. -:a743 :a743 :a743. -:a744 :a744 :a744. -:a745 :a745 :a745. -:a746 :a746 :a746. -:a747 :a747 :a747. -:a748 :a748 :a748. -:a749 :a749 :a749. -:a750 :a750 :a750. -:a751 :a751 :a751. -:a752 :a752 :a752. -:a753 :a753 :a753. -:a754 :a754 :a754. -:a755 :a755 :a755. -:a756 :a756 :a756. -:a757 :a757 :a757. -:a758 :a758 :a758. -:a759 :a759 :a759. -:a760 :a760 :a760. -:a761 :a761 :a761. -:a762 :a762 :a762. -:a763 :a763 :a763. -:a764 :a764 :a764. -:a765 :a765 :a765. -:a766 :a766 :a766. -:a767 :a767 :a767. -:a768 :a768 :a768. -:a769 :a769 :a769. -:a770 :a770 :a770. -:a771 :a771 :a771. -:a772 :a772 :a772. -:a773 :a773 :a773. -:a774 :a774 :a774. -:a775 :a775 :a775. -:a776 :a776 :a776. -:a777 :a777 :a777. -:a778 :a778 :a778. -:a779 :a779 :a779. -:a780 :a780 :a780. -:a781 :a781 :a781. -:a782 :a782 :a782. -:a783 :a783 :a783. -:a784 :a784 :a784. -:a785 :a785 :a785. -:a786 :a786 :a786. -:a787 :a787 :a787. -:a788 :a788 :a788. -:a789 :a789 :a789. -:a790 :a790 :a790. -:a791 :a791 :a791. -:a792 :a792 :a792. -:a793 :a793 :a793. -:a794 :a794 :a794. -:a795 :a795 :a795. -:a796 :a796 :a796. -:a797 :a797 :a797. -:a798 :a798 :a798. -:a799 :a799 :a799. -:a800 :a800 :a800. -:a801 :a801 :a801. -:a802 :a802 :a802. -:a803 :a803 :a803. -:a804 :a804 :a804. -:a805 :a805 :a805. -:a806 :a806 :a806. -:a807 :a807 :a807. -:a808 :a808 :a808. -:a809 :a809 :a809. -:a810 :a810 :a810. -:a811 :a811 :a811. -:a812 :a812 :a812. -:a813 :a813 :a813. -:a814 :a814 :a814. -:a815 :a815 :a815. -:a816 :a816 :a816. -:a817 :a817 :a817. -:a818 :a818 :a818. -:a819 :a819 :a819. -:a820 :a820 :a820. -:a821 :a821 :a821. -:a822 :a822 :a822. -:a823 :a823 :a823. -:a824 :a824 :a824. -:a825 :a825 :a825. -:a826 :a826 :a826. -:a827 :a827 :a827. -:a828 :a828 :a828. -:a829 :a829 :a829. -:a830 :a830 :a830. -:a831 :a831 :a831. -:a832 :a832 :a832. -:a833 :a833 :a833. -:a834 :a834 :a834. -:a835 :a835 :a835. -:a836 :a836 :a836. -:a837 :a837 :a837. -:a838 :a838 :a838. -:a839 :a839 :a839. -:a840 :a840 :a840. -:a841 :a841 :a841. -:a842 :a842 :a842. -:a843 :a843 :a843. -:a844 :a844 :a844. -:a845 :a845 :a845. -:a846 :a846 :a846. -:a847 :a847 :a847. -:a848 :a848 :a848. -:a849 :a849 :a849. -:a850 :a850 :a850. -:a851 :a851 :a851. -:a852 :a852 :a852. -:a853 :a853 :a853. -:a854 :a854 :a854. -:a855 :a855 :a855. -:a856 :a856 :a856. -:a857 :a857 :a857. -:a858 :a858 :a858. -:a859 :a859 :a859. -:a860 :a860 :a860. -:a861 :a861 :a861. -:a862 :a862 :a862. -:a863 :a863 :a863. -:a864 :a864 :a864. -:a865 :a865 :a865. -:a866 :a866 :a866. -:a867 :a867 :a867. -:a868 :a868 :a868. -:a869 :a869 :a869. -:a870 :a870 :a870. -:a871 :a871 :a871. -:a872 :a872 :a872. -:a873 :a873 :a873. -:a874 :a874 :a874. -:a875 :a875 :a875. -:a876 :a876 :a876. -:a877 :a877 :a877. -:a878 :a878 :a878. -:a879 :a879 :a879. -:a880 :a880 :a880. -:a881 :a881 :a881. -:a882 :a882 :a882. -:a883 :a883 :a883. -:a884 :a884 :a884. -:a885 :a885 :a885. -:a886 :a886 :a886. -:a887 :a887 :a887. -:a888 :a888 :a888. -:a889 :a889 :a889. -:a890 :a890 :a890. -:a891 :a891 :a891. -:a892 :a892 :a892. -:a893 :a893 :a893. -:a894 :a894 :a894. -:a895 :a895 :a895. -:a896 :a896 :a896. -:a897 :a897 :a897. -:a898 :a898 :a898. -:a899 :a899 :a899. -:a900 :a900 :a900. -:a901 :a901 :a901. -:a902 :a902 :a902. -:a903 :a903 :a903. -:a904 :a904 :a904. -:a905 :a905 :a905. -:a906 :a906 :a906. -:a907 :a907 :a907. -:a908 :a908 :a908. -:a909 :a909 :a909. -:a910 :a910 :a910. -:a911 :a911 :a911. -:a912 :a912 :a912. -:a913 :a913 :a913. -:a914 :a914 :a914. -:a915 :a915 :a915. -:a916 :a916 :a916. -:a917 :a917 :a917. -:a918 :a918 :a918. -:a919 :a919 :a919. -:a920 :a920 :a920. -:a921 :a921 :a921. -:a922 :a922 :a922. -:a923 :a923 :a923. -:a924 :a924 :a924. -:a925 :a925 :a925. -:a926 :a926 :a926. -:a927 :a927 :a927. -:a928 :a928 :a928. -:a929 :a929 :a929. -:a930 :a930 :a930. -:a931 :a931 :a931. -:a932 :a932 :a932. -:a933 :a933 :a933. -:a934 :a934 :a934. -:a935 :a935 :a935. -:a936 :a936 :a936. -:a937 :a937 :a937. -:a938 :a938 :a938. -:a939 :a939 :a939. -:a940 :a940 :a940. -:a941 :a941 :a941. -:a942 :a942 :a942. -:a943 :a943 :a943. -:a944 :a944 :a944. -:a945 :a945 :a945. -:a946 :a946 :a946. -:a947 :a947 :a947. -:a948 :a948 :a948. -:a949 :a949 :a949. -:a950 :a950 :a950. -:a951 :a951 :a951. -:a952 :a952 :a952. -:a953 :a953 :a953. -:a954 :a954 :a954. -:a955 :a955 :a955. -:a956 :a956 :a956. -:a957 :a957 :a957. -:a958 :a958 :a958. -:a959 :a959 :a959. -:a960 :a960 :a960. -:a961 :a961 :a961. -:a962 :a962 :a962. -:a963 :a963 :a963. -:a964 :a964 :a964. -:a965 :a965 :a965. -:a966 :a966 :a966. -:a967 :a967 :a967. -:a968 :a968 :a968. -:a969 :a969 :a969. -:a970 :a970 :a970. -:a971 :a971 :a971. -:a972 :a972 :a972. -:a973 :a973 :a973. -:a974 :a974 :a974. -:a975 :a975 :a975. -:a976 :a976 :a976. -:a977 :a977 :a977. -:a978 :a978 :a978. -:a979 :a979 :a979. -:a980 :a980 :a980. -:a981 :a981 :a981. -:a982 :a982 :a982. -:a983 :a983 :a983. -:a984 :a984 :a984. -:a985 :a985 :a985. -:a986 :a986 :a986. -:a987 :a987 :a987. -:a988 :a988 :a988. -:a989 :a989 :a989. -:a990 :a990 :a990. -:a991 :a991 :a991. -:a992 :a992 :a992. -:a993 :a993 :a993. -:a994 :a994 :a994. -:a995 :a995 :a995. -:a996 :a996 :a996. -:a997 :a997 :a997. -:a998 :a998 :a998. -:a999 :a999 :a999. -:a1000 :a1000 :a1000. -:a1001 :a1001 :a1001. -:a1002 :a1002 :a1002. -:a1003 :a1003 :a1003. -:a1004 :a1004 :a1004. -:a1005 :a1005 :a1005. -:a1006 :a1006 :a1006. -:a1007 :a1007 :a1007. -:a1008 :a1008 :a1008. -:a1009 :a1009 :a1009. -:a1010 :a1010 :a1010. -:a1011 :a1011 :a1011. -:a1012 :a1012 :a1012. -:a1013 :a1013 :a1013. -:a1014 :a1014 :a1014. -:a1015 :a1015 :a1015. -:a1016 :a1016 :a1016. -:a1017 :a1017 :a1017. -:a1018 :a1018 :a1018. -:a1019 :a1019 :a1019. -:a1020 :a1020 :a1020. -:a1021 :a1021 :a1021. -:a1022 :a1022 :a1022. -:a1023 :a1023 :a1023. -:a1024 :a1024 :a1024. -:a1025 :a1025 :a1025. -:a1026 :a1026 :a1026. -:a1027 :a1027 :a1027. -:a1028 :a1028 :a1028. -:a1029 :a1029 :a1029. -:a1030 :a1030 :a1030. -:a1031 :a1031 :a1031. -:a1032 :a1032 :a1032. -:a1033 :a1033 :a1033. -:a1034 :a1034 :a1034. -:a1035 :a1035 :a1035. -:a1036 :a1036 :a1036. -:a1037 :a1037 :a1037. -:a1038 :a1038 :a1038. -:a1039 :a1039 :a1039. -:a1040 :a1040 :a1040. -:a1041 :a1041 :a1041. -:a1042 :a1042 :a1042. -:a1043 :a1043 :a1043. -:a1044 :a1044 :a1044. -:a1045 :a1045 :a1045. -:a1046 :a1046 :a1046. -:a1047 :a1047 :a1047. -:a1048 :a1048 :a1048. -:a1049 :a1049 :a1049. -:a1050 :a1050 :a1050. -:a1051 :a1051 :a1051. -:a1052 :a1052 :a1052. -:a1053 :a1053 :a1053. -:a1054 :a1054 :a1054. -:a1055 :a1055 :a1055. -:a1056 :a1056 :a1056. -:a1057 :a1057 :a1057. -:a1058 :a1058 :a1058. -:a1059 :a1059 :a1059. -:a1060 :a1060 :a1060. -:a1061 :a1061 :a1061. -:a1062 :a1062 :a1062. -:a1063 :a1063 :a1063. -:a1064 :a1064 :a1064. -:a1065 :a1065 :a1065. -:a1066 :a1066 :a1066. -:a1067 :a1067 :a1067. -:a1068 :a1068 :a1068. -:a1069 :a1069 :a1069. -:a1070 :a1070 :a1070. -:a1071 :a1071 :a1071. -:a1072 :a1072 :a1072. -:a1073 :a1073 :a1073. -:a1074 :a1074 :a1074. -:a1075 :a1075 :a1075. -:a1076 :a1076 :a1076. -:a1077 :a1077 :a1077. -:a1078 :a1078 :a1078. -:a1079 :a1079 :a1079. -:a1080 :a1080 :a1080. -:a1081 :a1081 :a1081. -:a1082 :a1082 :a1082. -:a1083 :a1083 :a1083. -:a1084 :a1084 :a1084. -:a1085 :a1085 :a1085. -:a1086 :a1086 :a1086. -:a1087 :a1087 :a1087. -:a1088 :a1088 :a1088. -:a1089 :a1089 :a1089. -:a1090 :a1090 :a1090. -:a1091 :a1091 :a1091. -:a1092 :a1092 :a1092. -:a1093 :a1093 :a1093. -:a1094 :a1094 :a1094. -:a1095 :a1095 :a1095. -:a1096 :a1096 :a1096. -:a1097 :a1097 :a1097. -:a1098 :a1098 :a1098. -:a1099 :a1099 :a1099. -:a1100 :a1100 :a1100. -:a1101 :a1101 :a1101. -:a1102 :a1102 :a1102. -:a1103 :a1103 :a1103. -:a1104 :a1104 :a1104. -:a1105 :a1105 :a1105. -:a1106 :a1106 :a1106. -:a1107 :a1107 :a1107. -:a1108 :a1108 :a1108. -:a1109 :a1109 :a1109. -:a1110 :a1110 :a1110. -:a1111 :a1111 :a1111. -:a1112 :a1112 :a1112. -:a1113 :a1113 :a1113. -:a1114 :a1114 :a1114. -:a1115 :a1115 :a1115. -:a1116 :a1116 :a1116. -:a1117 :a1117 :a1117. -:a1118 :a1118 :a1118. -:a1119 :a1119 :a1119. -:a1120 :a1120 :a1120. -:a1121 :a1121 :a1121. -:a1122 :a1122 :a1122. -:a1123 :a1123 :a1123. -:a1124 :a1124 :a1124. -:a1125 :a1125 :a1125. -:a1126 :a1126 :a1126. -:a1127 :a1127 :a1127. -:a1128 :a1128 :a1128. -:a1129 :a1129 :a1129. -:a1130 :a1130 :a1130. -:a1131 :a1131 :a1131. -:a1132 :a1132 :a1132. -:a1133 :a1133 :a1133. -:a1134 :a1134 :a1134. -:a1135 :a1135 :a1135. -:a1136 :a1136 :a1136. -:a1137 :a1137 :a1137. -:a1138 :a1138 :a1138. -:a1139 :a1139 :a1139. -:a1140 :a1140 :a1140. -:a1141 :a1141 :a1141. -:a1142 :a1142 :a1142. -:a1143 :a1143 :a1143. -:a1144 :a1144 :a1144. -:a1145 :a1145 :a1145. -:a1146 :a1146 :a1146. -:a1147 :a1147 :a1147. -:a1148 :a1148 :a1148. -:a1149 :a1149 :a1149. -:a1150 :a1150 :a1150. -:a1151 :a1151 :a1151. -:a1152 :a1152 :a1152. -:a1153 :a1153 :a1153. -:a1154 :a1154 :a1154. -:a1155 :a1155 :a1155. -:a1156 :a1156 :a1156. -:a1157 :a1157 :a1157. -:a1158 :a1158 :a1158. -:a1159 :a1159 :a1159. -:a1160 :a1160 :a1160. -:a1161 :a1161 :a1161. -:a1162 :a1162 :a1162. -:a1163 :a1163 :a1163. -:a1164 :a1164 :a1164. -:a1165 :a1165 :a1165. -:a1166 :a1166 :a1166. -:a1167 :a1167 :a1167. -:a1168 :a1168 :a1168. -:a1169 :a1169 :a1169. -:a1170 :a1170 :a1170. -:a1171 :a1171 :a1171. -:a1172 :a1172 :a1172. -:a1173 :a1173 :a1173. -:a1174 :a1174 :a1174. -:a1175 :a1175 :a1175. -:a1176 :a1176 :a1176. -:a1177 :a1177 :a1177. -:a1178 :a1178 :a1178. -:a1179 :a1179 :a1179. -:a1180 :a1180 :a1180. -:a1181 :a1181 :a1181. -:a1182 :a1182 :a1182. -:a1183 :a1183 :a1183. -:a1184 :a1184 :a1184. -:a1185 :a1185 :a1185. -:a1186 :a1186 :a1186. -:a1187 :a1187 :a1187. -:a1188 :a1188 :a1188. -:a1189 :a1189 :a1189. -:a1190 :a1190 :a1190. -:a1191 :a1191 :a1191. -:a1192 :a1192 :a1192. -:a1193 :a1193 :a1193. -:a1194 :a1194 :a1194. -:a1195 :a1195 :a1195. -:a1196 :a1196 :a1196. -:a1197 :a1197 :a1197. -:a1198 :a1198 :a1198. -:a1199 :a1199 :a1199. -:a1200 :a1200 :a1200. -:a1201 :a1201 :a1201. -:a1202 :a1202 :a1202. -:a1203 :a1203 :a1203. -:a1204 :a1204 :a1204. -:a1205 :a1205 :a1205. -:a1206 :a1206 :a1206. -:a1207 :a1207 :a1207. -:a1208 :a1208 :a1208. -:a1209 :a1209 :a1209. -:a1210 :a1210 :a1210. -:a1211 :a1211 :a1211. -:a1212 :a1212 :a1212. -:a1213 :a1213 :a1213. -:a1214 :a1214 :a1214. -:a1215 :a1215 :a1215. -:a1216 :a1216 :a1216. -:a1217 :a1217 :a1217. -:a1218 :a1218 :a1218. -:a1219 :a1219 :a1219. -:a1220 :a1220 :a1220. -:a1221 :a1221 :a1221. -:a1222 :a1222 :a1222. -:a1223 :a1223 :a1223. -:a1224 :a1224 :a1224. -:a1225 :a1225 :a1225. -:a1226 :a1226 :a1226. -:a1227 :a1227 :a1227. -:a1228 :a1228 :a1228. -:a1229 :a1229 :a1229. -:a1230 :a1230 :a1230. -:a1231 :a1231 :a1231. -:a1232 :a1232 :a1232. -:a1233 :a1233 :a1233. -:a1234 :a1234 :a1234. -:a1235 :a1235 :a1235. -:a1236 :a1236 :a1236. -:a1237 :a1237 :a1237. -:a1238 :a1238 :a1238. -:a1239 :a1239 :a1239. -:a1240 :a1240 :a1240. -:a1241 :a1241 :a1241. -:a1242 :a1242 :a1242. -:a1243 :a1243 :a1243. -:a1244 :a1244 :a1244. -:a1245 :a1245 :a1245. -:a1246 :a1246 :a1246. -:a1247 :a1247 :a1247. -:a1248 :a1248 :a1248. -:a1249 :a1249 :a1249. -:a1250 :a1250 :a1250. -:a1251 :a1251 :a1251. -:a1252 :a1252 :a1252. -:a1253 :a1253 :a1253. -:a1254 :a1254 :a1254. -:a1255 :a1255 :a1255. -:a1256 :a1256 :a1256. -:a1257 :a1257 :a1257. -:a1258 :a1258 :a1258. -:a1259 :a1259 :a1259. -:a1260 :a1260 :a1260. -:a1261 :a1261 :a1261. -:a1262 :a1262 :a1262. -:a1263 :a1263 :a1263. -:a1264 :a1264 :a1264. -:a1265 :a1265 :a1265. -:a1266 :a1266 :a1266. -:a1267 :a1267 :a1267. -:a1268 :a1268 :a1268. -:a1269 :a1269 :a1269. -:a1270 :a1270 :a1270. -:a1271 :a1271 :a1271. -:a1272 :a1272 :a1272. -:a1273 :a1273 :a1273. -:a1274 :a1274 :a1274. -:a1275 :a1275 :a1275. -:a1276 :a1276 :a1276. -:a1277 :a1277 :a1277. -:a1278 :a1278 :a1278. -:a1279 :a1279 :a1279. -:a1280 :a1280 :a1280. -:a1281 :a1281 :a1281. -:a1282 :a1282 :a1282. -:a1283 :a1283 :a1283. -:a1284 :a1284 :a1284. -:a1285 :a1285 :a1285. -:a1286 :a1286 :a1286. -:a1287 :a1287 :a1287. -:a1288 :a1288 :a1288. -:a1289 :a1289 :a1289. -:a1290 :a1290 :a1290. -:a1291 :a1291 :a1291. -:a1292 :a1292 :a1292. -:a1293 :a1293 :a1293. -:a1294 :a1294 :a1294. -:a1295 :a1295 :a1295. -:a1296 :a1296 :a1296. -:a1297 :a1297 :a1297. -:a1298 :a1298 :a1298. -:a1299 :a1299 :a1299. -:a1300 :a1300 :a1300. -:a1301 :a1301 :a1301. -:a1302 :a1302 :a1302. -:a1303 :a1303 :a1303. -:a1304 :a1304 :a1304. -:a1305 :a1305 :a1305. -:a1306 :a1306 :a1306. -:a1307 :a1307 :a1307. -:a1308 :a1308 :a1308. -:a1309 :a1309 :a1309. -:a1310 :a1310 :a1310. -:a1311 :a1311 :a1311. -:a1312 :a1312 :a1312. -:a1313 :a1313 :a1313. -:a1314 :a1314 :a1314. -:a1315 :a1315 :a1315. -:a1316 :a1316 :a1316. -:a1317 :a1317 :a1317. -:a1318 :a1318 :a1318. -:a1319 :a1319 :a1319. -:a1320 :a1320 :a1320. -:a1321 :a1321 :a1321. -:a1322 :a1322 :a1322. -:a1323 :a1323 :a1323. -:a1324 :a1324 :a1324. -:a1325 :a1325 :a1325. -:a1326 :a1326 :a1326. -:a1327 :a1327 :a1327. -:a1328 :a1328 :a1328. -:a1329 :a1329 :a1329. -:a1330 :a1330 :a1330. -:a1331 :a1331 :a1331. -:a1332 :a1332 :a1332. -:a1333 :a1333 :a1333. -:a1334 :a1334 :a1334. -:a1335 :a1335 :a1335. -:a1336 :a1336 :a1336. -:a1337 :a1337 :a1337. -:a1338 :a1338 :a1338. -:a1339 :a1339 :a1339. -:a1340 :a1340 :a1340. -:a1341 :a1341 :a1341. -:a1342 :a1342 :a1342. -:a1343 :a1343 :a1343. -:a1344 :a1344 :a1344. -:a1345 :a1345 :a1345. -:a1346 :a1346 :a1346. -:a1347 :a1347 :a1347. -:a1348 :a1348 :a1348. -:a1349 :a1349 :a1349. -:a1350 :a1350 :a1350. -:a1351 :a1351 :a1351. -:a1352 :a1352 :a1352. -:a1353 :a1353 :a1353. -:a1354 :a1354 :a1354. -:a1355 :a1355 :a1355. -:a1356 :a1356 :a1356. -:a1357 :a1357 :a1357. -:a1358 :a1358 :a1358. -:a1359 :a1359 :a1359. -:a1360 :a1360 :a1360. -:a1361 :a1361 :a1361. -:a1362 :a1362 :a1362. -:a1363 :a1363 :a1363. -:a1364 :a1364 :a1364. -:a1365 :a1365 :a1365. -:a1366 :a1366 :a1366. -:a1367 :a1367 :a1367. -:a1368 :a1368 :a1368. -:a1369 :a1369 :a1369. -:a1370 :a1370 :a1370. -:a1371 :a1371 :a1371. -:a1372 :a1372 :a1372. -:a1373 :a1373 :a1373. -:a1374 :a1374 :a1374. -:a1375 :a1375 :a1375. -:a1376 :a1376 :a1376. -:a1377 :a1377 :a1377. -:a1378 :a1378 :a1378. -:a1379 :a1379 :a1379. -:a1380 :a1380 :a1380. -:a1381 :a1381 :a1381. -:a1382 :a1382 :a1382. -:a1383 :a1383 :a1383. -:a1384 :a1384 :a1384. -:a1385 :a1385 :a1385. -:a1386 :a1386 :a1386. -:a1387 :a1387 :a1387. -:a1388 :a1388 :a1388. -:a1389 :a1389 :a1389. -:a1390 :a1390 :a1390. -:a1391 :a1391 :a1391. -:a1392 :a1392 :a1392. -:a1393 :a1393 :a1393. -:a1394 :a1394 :a1394. -:a1395 :a1395 :a1395. -:a1396 :a1396 :a1396. -:a1397 :a1397 :a1397. -:a1398 :a1398 :a1398. -:a1399 :a1399 :a1399. -:a1400 :a1400 :a1400. -:a1401 :a1401 :a1401. -:a1402 :a1402 :a1402. -:a1403 :a1403 :a1403. -:a1404 :a1404 :a1404. -:a1405 :a1405 :a1405. -:a1406 :a1406 :a1406. -:a1407 :a1407 :a1407. -:a1408 :a1408 :a1408. -:a1409 :a1409 :a1409. -:a1410 :a1410 :a1410. -:a1411 :a1411 :a1411. -:a1412 :a1412 :a1412. -:a1413 :a1413 :a1413. -:a1414 :a1414 :a1414. -:a1415 :a1415 :a1415. -:a1416 :a1416 :a1416. -:a1417 :a1417 :a1417. -:a1418 :a1418 :a1418. -:a1419 :a1419 :a1419. -:a1420 :a1420 :a1420. -:a1421 :a1421 :a1421. -:a1422 :a1422 :a1422. -:a1423 :a1423 :a1423. -:a1424 :a1424 :a1424. -:a1425 :a1425 :a1425. -:a1426 :a1426 :a1426. -:a1427 :a1427 :a1427. -:a1428 :a1428 :a1428. -:a1429 :a1429 :a1429. -:a1430 :a1430 :a1430. -:a1431 :a1431 :a1431. -:a1432 :a1432 :a1432. -:a1433 :a1433 :a1433. -:a1434 :a1434 :a1434. -:a1435 :a1435 :a1435. -:a1436 :a1436 :a1436. -:a1437 :a1437 :a1437. -:a1438 :a1438 :a1438. -:a1439 :a1439 :a1439. -:a1440 :a1440 :a1440. -:a1441 :a1441 :a1441. -:a1442 :a1442 :a1442. -:a1443 :a1443 :a1443. -:a1444 :a1444 :a1444. -:a1445 :a1445 :a1445. -:a1446 :a1446 :a1446. -:a1447 :a1447 :a1447. -:a1448 :a1448 :a1448. -:a1449 :a1449 :a1449. -:a1450 :a1450 :a1450. -:a1451 :a1451 :a1451. -:a1452 :a1452 :a1452. -:a1453 :a1453 :a1453. -:a1454 :a1454 :a1454. -:a1455 :a1455 :a1455. -:a1456 :a1456 :a1456. -:a1457 :a1457 :a1457. -:a1458 :a1458 :a1458. -:a1459 :a1459 :a1459. -:a1460 :a1460 :a1460. -:a1461 :a1461 :a1461. -:a1462 :a1462 :a1462. -:a1463 :a1463 :a1463. -:a1464 :a1464 :a1464. -:a1465 :a1465 :a1465. -:a1466 :a1466 :a1466. -:a1467 :a1467 :a1467. -:a1468 :a1468 :a1468. -:a1469 :a1469 :a1469. -:a1470 :a1470 :a1470. -:a1471 :a1471 :a1471. -:a1472 :a1472 :a1472. -:a1473 :a1473 :a1473. -:a1474 :a1474 :a1474. -:a1475 :a1475 :a1475. -:a1476 :a1476 :a1476. -:a1477 :a1477 :a1477. -:a1478 :a1478 :a1478. -:a1479 :a1479 :a1479. -:a1480 :a1480 :a1480. -:a1481 :a1481 :a1481. -:a1482 :a1482 :a1482. -:a1483 :a1483 :a1483. -:a1484 :a1484 :a1484. -:a1485 :a1485 :a1485. -:a1486 :a1486 :a1486. -:a1487 :a1487 :a1487. -:a1488 :a1488 :a1488. -:a1489 :a1489 :a1489. -:a1490 :a1490 :a1490. -:a1491 :a1491 :a1491. -:a1492 :a1492 :a1492. -:a1493 :a1493 :a1493. -:a1494 :a1494 :a1494. -:a1495 :a1495 :a1495. -:a1496 :a1496 :a1496. -:a1497 :a1497 :a1497. -:a1498 :a1498 :a1498. -:a1499 :a1499 :a1499. -:a1500 :a1500 :a1500. -:a1501 :a1501 :a1501. -:a1502 :a1502 :a1502. -:a1503 :a1503 :a1503. -:a1504 :a1504 :a1504. -:a1505 :a1505 :a1505. -:a1506 :a1506 :a1506. -:a1507 :a1507 :a1507. -:a1508 :a1508 :a1508. -:a1509 :a1509 :a1509. -:a1510 :a1510 :a1510. -:a1511 :a1511 :a1511. -:a1512 :a1512 :a1512. -:a1513 :a1513 :a1513. -:a1514 :a1514 :a1514. -:a1515 :a1515 :a1515. -:a1516 :a1516 :a1516. -:a1517 :a1517 :a1517. -:a1518 :a1518 :a1518. -:a1519 :a1519 :a1519. -:a1520 :a1520 :a1520. -:a1521 :a1521 :a1521. -:a1522 :a1522 :a1522. -:a1523 :a1523 :a1523. -:a1524 :a1524 :a1524. -:a1525 :a1525 :a1525. -:a1526 :a1526 :a1526. -:a1527 :a1527 :a1527. -:a1528 :a1528 :a1528. -:a1529 :a1529 :a1529. -:a1530 :a1530 :a1530. -:a1531 :a1531 :a1531. -:a1532 :a1532 :a1532. -:a1533 :a1533 :a1533. -:a1534 :a1534 :a1534. -:a1535 :a1535 :a1535. -:a1536 :a1536 :a1536. -:a1537 :a1537 :a1537. -:a1538 :a1538 :a1538. -:a1539 :a1539 :a1539. -:a1540 :a1540 :a1540. -:a1541 :a1541 :a1541. -:a1542 :a1542 :a1542. -:a1543 :a1543 :a1543. -:a1544 :a1544 :a1544. -:a1545 :a1545 :a1545. -:a1546 :a1546 :a1546. -:a1547 :a1547 :a1547. -:a1548 :a1548 :a1548. -:a1549 :a1549 :a1549. -:a1550 :a1550 :a1550. -:a1551 :a1551 :a1551. -:a1552 :a1552 :a1552. -:a1553 :a1553 :a1553. -:a1554 :a1554 :a1554. -:a1555 :a1555 :a1555. -:a1556 :a1556 :a1556. -:a1557 :a1557 :a1557. -:a1558 :a1558 :a1558. -:a1559 :a1559 :a1559. -:a1560 :a1560 :a1560. -:a1561 :a1561 :a1561. -:a1562 :a1562 :a1562. -:a1563 :a1563 :a1563. -:a1564 :a1564 :a1564. -:a1565 :a1565 :a1565. -:a1566 :a1566 :a1566. -:a1567 :a1567 :a1567. -:a1568 :a1568 :a1568. -:a1569 :a1569 :a1569. -:a1570 :a1570 :a1570. -:a1571 :a1571 :a1571. -:a1572 :a1572 :a1572. -:a1573 :a1573 :a1573. -:a1574 :a1574 :a1574. -:a1575 :a1575 :a1575. -:a1576 :a1576 :a1576. -:a1577 :a1577 :a1577. -:a1578 :a1578 :a1578. -:a1579 :a1579 :a1579. -:a1580 :a1580 :a1580. -:a1581 :a1581 :a1581. -:a1582 :a1582 :a1582. -:a1583 :a1583 :a1583. -:a1584 :a1584 :a1584. -:a1585 :a1585 :a1585. -:a1586 :a1586 :a1586. -:a1587 :a1587 :a1587. -:a1588 :a1588 :a1588. -:a1589 :a1589 :a1589. -:a1590 :a1590 :a1590. -:a1591 :a1591 :a1591. -:a1592 :a1592 :a1592. -:a1593 :a1593 :a1593. -:a1594 :a1594 :a1594. -:a1595 :a1595 :a1595. -:a1596 :a1596 :a1596. -:a1597 :a1597 :a1597. -:a1598 :a1598 :a1598. -:a1599 :a1599 :a1599. -:a1600 :a1600 :a1600. -:a1601 :a1601 :a1601. -:a1602 :a1602 :a1602. -:a1603 :a1603 :a1603. -:a1604 :a1604 :a1604. -:a1605 :a1605 :a1605. -:a1606 :a1606 :a1606. -:a1607 :a1607 :a1607. -:a1608 :a1608 :a1608. -:a1609 :a1609 :a1609. -:a1610 :a1610 :a1610. -:a1611 :a1611 :a1611. -:a1612 :a1612 :a1612. -:a1613 :a1613 :a1613. -:a1614 :a1614 :a1614. -:a1615 :a1615 :a1615. -:a1616 :a1616 :a1616. -:a1617 :a1617 :a1617. -:a1618 :a1618 :a1618. -:a1619 :a1619 :a1619. -:a1620 :a1620 :a1620. -:a1621 :a1621 :a1621. -:a1622 :a1622 :a1622. -:a1623 :a1623 :a1623. -:a1624 :a1624 :a1624. -:a1625 :a1625 :a1625. -:a1626 :a1626 :a1626. -:a1627 :a1627 :a1627. -:a1628 :a1628 :a1628. -:a1629 :a1629 :a1629. -:a1630 :a1630 :a1630. -:a1631 :a1631 :a1631. -:a1632 :a1632 :a1632. -:a1633 :a1633 :a1633. -:a1634 :a1634 :a1634. -:a1635 :a1635 :a1635. -:a1636 :a1636 :a1636. -:a1637 :a1637 :a1637. -:a1638 :a1638 :a1638. -:a1639 :a1639 :a1639. -:a1640 :a1640 :a1640. -:a1641 :a1641 :a1641. -:a1642 :a1642 :a1642. -:a1643 :a1643 :a1643. -:a1644 :a1644 :a1644. -:a1645 :a1645 :a1645. -:a1646 :a1646 :a1646. -:a1647 :a1647 :a1647. -:a1648 :a1648 :a1648. -:a1649 :a1649 :a1649. -:a1650 :a1650 :a1650. -:a1651 :a1651 :a1651. -:a1652 :a1652 :a1652. -:a1653 :a1653 :a1653. -:a1654 :a1654 :a1654. -:a1655 :a1655 :a1655. -:a1656 :a1656 :a1656. -:a1657 :a1657 :a1657. -:a1658 :a1658 :a1658. -:a1659 :a1659 :a1659. -:a1660 :a1660 :a1660. -:a1661 :a1661 :a1661. -:a1662 :a1662 :a1662. -:a1663 :a1663 :a1663. -:a1664 :a1664 :a1664. -:a1665 :a1665 :a1665. -:a1666 :a1666 :a1666. -:a1667 :a1667 :a1667. -:a1668 :a1668 :a1668. -:a1669 :a1669 :a1669. -:a1670 :a1670 :a1670. -:a1671 :a1671 :a1671. -:a1672 :a1672 :a1672. -:a1673 :a1673 :a1673. -:a1674 :a1674 :a1674. -:a1675 :a1675 :a1675. -:a1676 :a1676 :a1676. -:a1677 :a1677 :a1677. -:a1678 :a1678 :a1678. -:a1679 :a1679 :a1679. -:a1680 :a1680 :a1680. -:a1681 :a1681 :a1681. -:a1682 :a1682 :a1682. -:a1683 :a1683 :a1683. -:a1684 :a1684 :a1684. -:a1685 :a1685 :a1685. -:a1686 :a1686 :a1686. -:a1687 :a1687 :a1687. -:a1688 :a1688 :a1688. -:a1689 :a1689 :a1689. -:a1690 :a1690 :a1690. -:a1691 :a1691 :a1691. -:a1692 :a1692 :a1692. -:a1693 :a1693 :a1693. -:a1694 :a1694 :a1694. -:a1695 :a1695 :a1695. -:a1696 :a1696 :a1696. -:a1697 :a1697 :a1697. -:a1698 :a1698 :a1698. -:a1699 :a1699 :a1699. -:a1700 :a1700 :a1700. -:a1701 :a1701 :a1701. -:a1702 :a1702 :a1702. -:a1703 :a1703 :a1703. -:a1704 :a1704 :a1704. -:a1705 :a1705 :a1705. -:a1706 :a1706 :a1706. -:a1707 :a1707 :a1707. -:a1708 :a1708 :a1708. -:a1709 :a1709 :a1709. -:a1710 :a1710 :a1710. -:a1711 :a1711 :a1711. -:a1712 :a1712 :a1712. -:a1713 :a1713 :a1713. -:a1714 :a1714 :a1714. -:a1715 :a1715 :a1715. -:a1716 :a1716 :a1716. -:a1717 :a1717 :a1717. -:a1718 :a1718 :a1718. -:a1719 :a1719 :a1719. -:a1720 :a1720 :a1720. -:a1721 :a1721 :a1721. -:a1722 :a1722 :a1722. -:a1723 :a1723 :a1723. -:a1724 :a1724 :a1724. -:a1725 :a1725 :a1725. -:a1726 :a1726 :a1726. -:a1727 :a1727 :a1727. -:a1728 :a1728 :a1728. -:a1729 :a1729 :a1729. -:a1730 :a1730 :a1730. -:a1731 :a1731 :a1731. -:a1732 :a1732 :a1732. -:a1733 :a1733 :a1733. -:a1734 :a1734 :a1734. -:a1735 :a1735 :a1735. -:a1736 :a1736 :a1736. -:a1737 :a1737 :a1737. -:a1738 :a1738 :a1738. -:a1739 :a1739 :a1739. -:a1740 :a1740 :a1740. -:a1741 :a1741 :a1741. -:a1742 :a1742 :a1742. -:a1743 :a1743 :a1743. -:a1744 :a1744 :a1744. -:a1745 :a1745 :a1745. -:a1746 :a1746 :a1746. -:a1747 :a1747 :a1747. -:a1748 :a1748 :a1748. -:a1749 :a1749 :a1749. -:a1750 :a1750 :a1750. -:a1751 :a1751 :a1751. -:a1752 :a1752 :a1752. -:a1753 :a1753 :a1753. -:a1754 :a1754 :a1754. -:a1755 :a1755 :a1755. -:a1756 :a1756 :a1756. -:a1757 :a1757 :a1757. -:a1758 :a1758 :a1758. -:a1759 :a1759 :a1759. -:a1760 :a1760 :a1760. -:a1761 :a1761 :a1761. -:a1762 :a1762 :a1762. -:a1763 :a1763 :a1763. -:a1764 :a1764 :a1764. -:a1765 :a1765 :a1765. -:a1766 :a1766 :a1766. -:a1767 :a1767 :a1767. -:a1768 :a1768 :a1768. -:a1769 :a1769 :a1769. -:a1770 :a1770 :a1770. -:a1771 :a1771 :a1771. -:a1772 :a1772 :a1772. -:a1773 :a1773 :a1773. -:a1774 :a1774 :a1774. -:a1775 :a1775 :a1775. -:a1776 :a1776 :a1776. -:a1777 :a1777 :a1777. -:a1778 :a1778 :a1778. -:a1779 :a1779 :a1779. -:a1780 :a1780 :a1780. -:a1781 :a1781 :a1781. -:a1782 :a1782 :a1782. -:a1783 :a1783 :a1783. -:a1784 :a1784 :a1784. -:a1785 :a1785 :a1785. -:a1786 :a1786 :a1786. -:a1787 :a1787 :a1787. -:a1788 :a1788 :a1788. -:a1789 :a1789 :a1789. -:a1790 :a1790 :a1790. -:a1791 :a1791 :a1791. -:a1792 :a1792 :a1792. -:a1793 :a1793 :a1793. -:a1794 :a1794 :a1794. -:a1795 :a1795 :a1795. -:a1796 :a1796 :a1796. -:a1797 :a1797 :a1797. -:a1798 :a1798 :a1798. -:a1799 :a1799 :a1799. -:a1800 :a1800 :a1800. -:a1801 :a1801 :a1801. -:a1802 :a1802 :a1802. -:a1803 :a1803 :a1803. -:a1804 :a1804 :a1804. -:a1805 :a1805 :a1805. -:a1806 :a1806 :a1806. -:a1807 :a1807 :a1807. -:a1808 :a1808 :a1808. -:a1809 :a1809 :a1809. -:a1810 :a1810 :a1810. -:a1811 :a1811 :a1811. -:a1812 :a1812 :a1812. -:a1813 :a1813 :a1813. -:a1814 :a1814 :a1814. -:a1815 :a1815 :a1815. -:a1816 :a1816 :a1816. -:a1817 :a1817 :a1817. -:a1818 :a1818 :a1818. -:a1819 :a1819 :a1819. -:a1820 :a1820 :a1820. -:a1821 :a1821 :a1821. -:a1822 :a1822 :a1822. -:a1823 :a1823 :a1823. -:a1824 :a1824 :a1824. -:a1825 :a1825 :a1825. -:a1826 :a1826 :a1826. -:a1827 :a1827 :a1827. -:a1828 :a1828 :a1828. -:a1829 :a1829 :a1829. -:a1830 :a1830 :a1830. -:a1831 :a1831 :a1831. -:a1832 :a1832 :a1832. -:a1833 :a1833 :a1833. -:a1834 :a1834 :a1834. -:a1835 :a1835 :a1835. -:a1836 :a1836 :a1836. -:a1837 :a1837 :a1837. -:a1838 :a1838 :a1838. -:a1839 :a1839 :a1839. -:a1840 :a1840 :a1840. -:a1841 :a1841 :a1841. -:a1842 :a1842 :a1842. -:a1843 :a1843 :a1843. -:a1844 :a1844 :a1844. -:a1845 :a1845 :a1845. -:a1846 :a1846 :a1846. -:a1847 :a1847 :a1847. -:a1848 :a1848 :a1848. -:a1849 :a1849 :a1849. -:a1850 :a1850 :a1850. -:a1851 :a1851 :a1851. -:a1852 :a1852 :a1852. -:a1853 :a1853 :a1853. -:a1854 :a1854 :a1854. -:a1855 :a1855 :a1855. -:a1856 :a1856 :a1856. -:a1857 :a1857 :a1857. -:a1858 :a1858 :a1858. -:a1859 :a1859 :a1859. -:a1860 :a1860 :a1860. -:a1861 :a1861 :a1861. -:a1862 :a1862 :a1862. -:a1863 :a1863 :a1863. -:a1864 :a1864 :a1864. -:a1865 :a1865 :a1865. -:a1866 :a1866 :a1866. -:a1867 :a1867 :a1867. -:a1868 :a1868 :a1868. -:a1869 :a1869 :a1869. -:a1870 :a1870 :a1870. -:a1871 :a1871 :a1871. -:a1872 :a1872 :a1872. -:a1873 :a1873 :a1873. -:a1874 :a1874 :a1874. -:a1875 :a1875 :a1875. -:a1876 :a1876 :a1876. -:a1877 :a1877 :a1877. -:a1878 :a1878 :a1878. -:a1879 :a1879 :a1879. -:a1880 :a1880 :a1880. -:a1881 :a1881 :a1881. -:a1882 :a1882 :a1882. -:a1883 :a1883 :a1883. -:a1884 :a1884 :a1884. -:a1885 :a1885 :a1885. -:a1886 :a1886 :a1886. -:a1887 :a1887 :a1887. -:a1888 :a1888 :a1888. -:a1889 :a1889 :a1889. -:a1890 :a1890 :a1890. -:a1891 :a1891 :a1891. -:a1892 :a1892 :a1892. -:a1893 :a1893 :a1893. -:a1894 :a1894 :a1894. -:a1895 :a1895 :a1895. -:a1896 :a1896 :a1896. -:a1897 :a1897 :a1897. -:a1898 :a1898 :a1898. -:a1899 :a1899 :a1899. -:a1900 :a1900 :a1900. -:a1901 :a1901 :a1901. -:a1902 :a1902 :a1902. -:a1903 :a1903 :a1903. -:a1904 :a1904 :a1904. -:a1905 :a1905 :a1905. -:a1906 :a1906 :a1906. -:a1907 :a1907 :a1907. -:a1908 :a1908 :a1908. -:a1909 :a1909 :a1909. -:a1910 :a1910 :a1910. -:a1911 :a1911 :a1911. -:a1912 :a1912 :a1912. -:a1913 :a1913 :a1913. -:a1914 :a1914 :a1914. -:a1915 :a1915 :a1915. -:a1916 :a1916 :a1916. -:a1917 :a1917 :a1917. -:a1918 :a1918 :a1918. -:a1919 :a1919 :a1919. -:a1920 :a1920 :a1920. -:a1921 :a1921 :a1921. -:a1922 :a1922 :a1922. -:a1923 :a1923 :a1923. -:a1924 :a1924 :a1924. -:a1925 :a1925 :a1925. -:a1926 :a1926 :a1926. -:a1927 :a1927 :a1927. -:a1928 :a1928 :a1928. -:a1929 :a1929 :a1929. -:a1930 :a1930 :a1930. -:a1931 :a1931 :a1931. -:a1932 :a1932 :a1932. -:a1933 :a1933 :a1933. -:a1934 :a1934 :a1934. -:a1935 :a1935 :a1935. -:a1936 :a1936 :a1936. -:a1937 :a1937 :a1937. -:a1938 :a1938 :a1938. -:a1939 :a1939 :a1939. -:a1940 :a1940 :a1940. -:a1941 :a1941 :a1941. -:a1942 :a1942 :a1942. -:a1943 :a1943 :a1943. -:a1944 :a1944 :a1944. -:a1945 :a1945 :a1945. -:a1946 :a1946 :a1946. -:a1947 :a1947 :a1947. -:a1948 :a1948 :a1948. -:a1949 :a1949 :a1949. -:a1950 :a1950 :a1950. -:a1951 :a1951 :a1951. -:a1952 :a1952 :a1952. -:a1953 :a1953 :a1953. -:a1954 :a1954 :a1954. -:a1955 :a1955 :a1955. -:a1956 :a1956 :a1956. -:a1957 :a1957 :a1957. -:a1958 :a1958 :a1958. -:a1959 :a1959 :a1959. -:a1960 :a1960 :a1960. -:a1961 :a1961 :a1961. -:a1962 :a1962 :a1962. -:a1963 :a1963 :a1963. -:a1964 :a1964 :a1964. -:a1965 :a1965 :a1965. -:a1966 :a1966 :a1966. -:a1967 :a1967 :a1967. -:a1968 :a1968 :a1968. -:a1969 :a1969 :a1969. -:a1970 :a1970 :a1970. -:a1971 :a1971 :a1971. -:a1972 :a1972 :a1972. -:a1973 :a1973 :a1973. -:a1974 :a1974 :a1974. -:a1975 :a1975 :a1975. -:a1976 :a1976 :a1976. -:a1977 :a1977 :a1977. -:a1978 :a1978 :a1978. -:a1979 :a1979 :a1979. -:a1980 :a1980 :a1980. -:a1981 :a1981 :a1981. -:a1982 :a1982 :a1982. -:a1983 :a1983 :a1983. -:a1984 :a1984 :a1984. -:a1985 :a1985 :a1985. -:a1986 :a1986 :a1986. -:a1987 :a1987 :a1987. -:a1988 :a1988 :a1988. -:a1989 :a1989 :a1989. -:a1990 :a1990 :a1990. -:a1991 :a1991 :a1991. -:a1992 :a1992 :a1992. -:a1993 :a1993 :a1993. -:a1994 :a1994 :a1994. -:a1995 :a1995 :a1995. -:a1996 :a1996 :a1996. -:a1997 :a1997 :a1997. -:a1998 :a1998 :a1998. -:a1999 :a1999 :a1999. -:a2000 :a2000 :a2000. -:a2001 :a2001 :a2001. -:a2002 :a2002 :a2002. -:a2003 :a2003 :a2003. -:a2004 :a2004 :a2004. -:a2005 :a2005 :a2005. -:a2006 :a2006 :a2006. -:a2007 :a2007 :a2007. -:a2008 :a2008 :a2008. -:a2009 :a2009 :a2009. -:a2010 :a2010 :a2010. -:a2011 :a2011 :a2011. -:a2012 :a2012 :a2012. -:a2013 :a2013 :a2013. -:a2014 :a2014 :a2014. -:a2015 :a2015 :a2015. -:a2016 :a2016 :a2016. -:a2017 :a2017 :a2017. -:a2018 :a2018 :a2018. -:a2019 :a2019 :a2019. -:a2020 :a2020 :a2020. -:a2021 :a2021 :a2021. -:a2022 :a2022 :a2022. -:a2023 :a2023 :a2023. -:a2024 :a2024 :a2024. -:a2025 :a2025 :a2025. -:a2026 :a2026 :a2026. -:a2027 :a2027 :a2027. -:a2028 :a2028 :a2028. -:a2029 :a2029 :a2029. -:a2030 :a2030 :a2030. -:a2031 :a2031 :a2031. -:a2032 :a2032 :a2032. -:a2033 :a2033 :a2033. -:a2034 :a2034 :a2034. -:a2035 :a2035 :a2035. -:a2036 :a2036 :a2036. -:a2037 :a2037 :a2037. -:a2038 :a2038 :a2038. -:a2039 :a2039 :a2039. -:a2040 :a2040 :a2040. -:a2041 :a2041 :a2041. -:a2042 :a2042 :a2042. -:a2043 :a2043 :a2043. -:a2044 :a2044 :a2044. -:a2045 :a2045 :a2045. -:a2046 :a2046 :a2046. -:a2047 :a2047 :a2047. -:a2048 :a2048 :a2048. -:a2049 :a2049 :a2049. -:a2050 :a2050 :a2050. -:a2051 :a2051 :a2051. -:a2052 :a2052 :a2052. -:a2053 :a2053 :a2053. -:a2054 :a2054 :a2054. -:a2055 :a2055 :a2055. -:a2056 :a2056 :a2056. -:a2057 :a2057 :a2057. -:a2058 :a2058 :a2058. -:a2059 :a2059 :a2059. -:a2060 :a2060 :a2060. -:a2061 :a2061 :a2061. -:a2062 :a2062 :a2062. -:a2063 :a2063 :a2063. -:a2064 :a2064 :a2064. -:a2065 :a2065 :a2065. -:a2066 :a2066 :a2066. -:a2067 :a2067 :a2067. -:a2068 :a2068 :a2068. -:a2069 :a2069 :a2069. -:a2070 :a2070 :a2070. -:a2071 :a2071 :a2071. -:a2072 :a2072 :a2072. -:a2073 :a2073 :a2073. -:a2074 :a2074 :a2074. -:a2075 :a2075 :a2075. -:a2076 :a2076 :a2076. -:a2077 :a2077 :a2077. -:a2078 :a2078 :a2078. -:a2079 :a2079 :a2079. -:a2080 :a2080 :a2080. -:a2081 :a2081 :a2081. -:a2082 :a2082 :a2082. -:a2083 :a2083 :a2083. -:a2084 :a2084 :a2084. -:a2085 :a2085 :a2085. -:a2086 :a2086 :a2086. -:a2087 :a2087 :a2087. -:a2088 :a2088 :a2088. -:a2089 :a2089 :a2089. -:a2090 :a2090 :a2090. -:a2091 :a2091 :a2091. -:a2092 :a2092 :a2092. -:a2093 :a2093 :a2093. -:a2094 :a2094 :a2094. -:a2095 :a2095 :a2095. -:a2096 :a2096 :a2096. -:a2097 :a2097 :a2097. -:a2098 :a2098 :a2098. -:a2099 :a2099 :a2099. -:a2100 :a2100 :a2100. -:a2101 :a2101 :a2101. -:a2102 :a2102 :a2102. -:a2103 :a2103 :a2103. -:a2104 :a2104 :a2104. -:a2105 :a2105 :a2105. -:a2106 :a2106 :a2106. -:a2107 :a2107 :a2107. -:a2108 :a2108 :a2108. -:a2109 :a2109 :a2109. -:a2110 :a2110 :a2110. -:a2111 :a2111 :a2111. -:a2112 :a2112 :a2112. -:a2113 :a2113 :a2113. -:a2114 :a2114 :a2114. -:a2115 :a2115 :a2115. -:a2116 :a2116 :a2116. -:a2117 :a2117 :a2117. -:a2118 :a2118 :a2118. -:a2119 :a2119 :a2119. -:a2120 :a2120 :a2120. -:a2121 :a2121 :a2121. -:a2122 :a2122 :a2122. -:a2123 :a2123 :a2123. -:a2124 :a2124 :a2124. -:a2125 :a2125 :a2125. -:a2126 :a2126 :a2126. -:a2127 :a2127 :a2127. -:a2128 :a2128 :a2128. -:a2129 :a2129 :a2129. -:a2130 :a2130 :a2130. -:a2131 :a2131 :a2131. -:a2132 :a2132 :a2132. -:a2133 :a2133 :a2133. -:a2134 :a2134 :a2134. -:a2135 :a2135 :a2135. -:a2136 :a2136 :a2136. -:a2137 :a2137 :a2137. -:a2138 :a2138 :a2138. -:a2139 :a2139 :a2139. -:a2140 :a2140 :a2140. -:a2141 :a2141 :a2141. -:a2142 :a2142 :a2142. -:a2143 :a2143 :a2143. -:a2144 :a2144 :a2144. -:a2145 :a2145 :a2145. -:a2146 :a2146 :a2146. -:a2147 :a2147 :a2147. -:a2148 :a2148 :a2148. -:a2149 :a2149 :a2149. -:a2150 :a2150 :a2150. -:a2151 :a2151 :a2151. -:a2152 :a2152 :a2152. -:a2153 :a2153 :a2153. -:a2154 :a2154 :a2154. -:a2155 :a2155 :a2155. -:a2156 :a2156 :a2156. -:a2157 :a2157 :a2157. -:a2158 :a2158 :a2158. -:a2159 :a2159 :a2159. -:a2160 :a2160 :a2160. -:a2161 :a2161 :a2161. -:a2162 :a2162 :a2162. -:a2163 :a2163 :a2163. -:a2164 :a2164 :a2164. -:a2165 :a2165 :a2165. -:a2166 :a2166 :a2166. -:a2167 :a2167 :a2167. -:a2168 :a2168 :a2168. -:a2169 :a2169 :a2169. -:a2170 :a2170 :a2170. -:a2171 :a2171 :a2171. -:a2172 :a2172 :a2172. -:a2173 :a2173 :a2173. -:a2174 :a2174 :a2174. -:a2175 :a2175 :a2175. -:a2176 :a2176 :a2176. -:a2177 :a2177 :a2177. -:a2178 :a2178 :a2178. -:a2179 :a2179 :a2179. -:a2180 :a2180 :a2180. -:a2181 :a2181 :a2181. -:a2182 :a2182 :a2182. -:a2183 :a2183 :a2183. -:a2184 :a2184 :a2184. -:a2185 :a2185 :a2185. -:a2186 :a2186 :a2186. -:a2187 :a2187 :a2187. -:a2188 :a2188 :a2188. -:a2189 :a2189 :a2189. -:a2190 :a2190 :a2190. -:a2191 :a2191 :a2191. -:a2192 :a2192 :a2192. -:a2193 :a2193 :a2193. -:a2194 :a2194 :a2194. -:a2195 :a2195 :a2195. -:a2196 :a2196 :a2196. -:a2197 :a2197 :a2197. -:a2198 :a2198 :a2198. -:a2199 :a2199 :a2199. -:a2200 :a2200 :a2200. -:a2201 :a2201 :a2201. -:a2202 :a2202 :a2202. -:a2203 :a2203 :a2203. -:a2204 :a2204 :a2204. -:a2205 :a2205 :a2205. -:a2206 :a2206 :a2206. -:a2207 :a2207 :a2207. -:a2208 :a2208 :a2208. -:a2209 :a2209 :a2209. -:a2210 :a2210 :a2210. -:a2211 :a2211 :a2211. -:a2212 :a2212 :a2212. -:a2213 :a2213 :a2213. -:a2214 :a2214 :a2214. -:a2215 :a2215 :a2215. -:a2216 :a2216 :a2216. -:a2217 :a2217 :a2217. -:a2218 :a2218 :a2218. -:a2219 :a2219 :a2219. -:a2220 :a2220 :a2220. -:a2221 :a2221 :a2221. -:a2222 :a2222 :a2222. -:a2223 :a2223 :a2223. -:a2224 :a2224 :a2224. -:a2225 :a2225 :a2225. -:a2226 :a2226 :a2226. -:a2227 :a2227 :a2227. -:a2228 :a2228 :a2228. -:a2229 :a2229 :a2229. -:a2230 :a2230 :a2230. -:a2231 :a2231 :a2231. -:a2232 :a2232 :a2232. -:a2233 :a2233 :a2233. -:a2234 :a2234 :a2234. -:a2235 :a2235 :a2235. -:a2236 :a2236 :a2236. -:a2237 :a2237 :a2237. -:a2238 :a2238 :a2238. -:a2239 :a2239 :a2239. -:a2240 :a2240 :a2240. -:a2241 :a2241 :a2241. -:a2242 :a2242 :a2242. -:a2243 :a2243 :a2243. -:a2244 :a2244 :a2244. -:a2245 :a2245 :a2245. -:a2246 :a2246 :a2246. -:a2247 :a2247 :a2247. -:a2248 :a2248 :a2248. -:a2249 :a2249 :a2249. -:a2250 :a2250 :a2250. -:a2251 :a2251 :a2251. -:a2252 :a2252 :a2252. -:a2253 :a2253 :a2253. -:a2254 :a2254 :a2254. -:a2255 :a2255 :a2255. -:a2256 :a2256 :a2256. -:a2257 :a2257 :a2257. -:a2258 :a2258 :a2258. -:a2259 :a2259 :a2259. -:a2260 :a2260 :a2260. -:a2261 :a2261 :a2261. -:a2262 :a2262 :a2262. -:a2263 :a2263 :a2263. -:a2264 :a2264 :a2264. -:a2265 :a2265 :a2265. -:a2266 :a2266 :a2266. -:a2267 :a2267 :a2267. -:a2268 :a2268 :a2268. -:a2269 :a2269 :a2269. -:a2270 :a2270 :a2270. -:a2271 :a2271 :a2271. -:a2272 :a2272 :a2272. -:a2273 :a2273 :a2273. -:a2274 :a2274 :a2274. -:a2275 :a2275 :a2275. -:a2276 :a2276 :a2276. -:a2277 :a2277 :a2277. -:a2278 :a2278 :a2278. -:a2279 :a2279 :a2279. -:a2280 :a2280 :a2280. -:a2281 :a2281 :a2281. -:a2282 :a2282 :a2282. -:a2283 :a2283 :a2283. -:a2284 :a2284 :a2284. -:a2285 :a2285 :a2285. -:a2286 :a2286 :a2286. -:a2287 :a2287 :a2287. -:a2288 :a2288 :a2288. -:a2289 :a2289 :a2289. -:a2290 :a2290 :a2290. -:a2291 :a2291 :a2291. -:a2292 :a2292 :a2292. -:a2293 :a2293 :a2293. -:a2294 :a2294 :a2294. -:a2295 :a2295 :a2295. -:a2296 :a2296 :a2296. -:a2297 :a2297 :a2297. -:a2298 :a2298 :a2298. -:a2299 :a2299 :a2299. -:a2300 :a2300 :a2300. -:a2301 :a2301 :a2301. -:a2302 :a2302 :a2302. -:a2303 :a2303 :a2303. -:a2304 :a2304 :a2304. -:a2305 :a2305 :a2305. -:a2306 :a2306 :a2306. -:a2307 :a2307 :a2307. -:a2308 :a2308 :a2308. -:a2309 :a2309 :a2309. -:a2310 :a2310 :a2310. -:a2311 :a2311 :a2311. -:a2312 :a2312 :a2312. -:a2313 :a2313 :a2313. -:a2314 :a2314 :a2314. -:a2315 :a2315 :a2315. -:a2316 :a2316 :a2316. -:a2317 :a2317 :a2317. -:a2318 :a2318 :a2318. -:a2319 :a2319 :a2319. -:a2320 :a2320 :a2320. -:a2321 :a2321 :a2321. -:a2322 :a2322 :a2322. -:a2323 :a2323 :a2323. -:a2324 :a2324 :a2324. -:a2325 :a2325 :a2325. -:a2326 :a2326 :a2326. -:a2327 :a2327 :a2327. -:a2328 :a2328 :a2328. -:a2329 :a2329 :a2329. -:a2330 :a2330 :a2330. -:a2331 :a2331 :a2331. -:a2332 :a2332 :a2332. -:a2333 :a2333 :a2333. -:a2334 :a2334 :a2334. -:a2335 :a2335 :a2335. -:a2336 :a2336 :a2336. -:a2337 :a2337 :a2337. -:a2338 :a2338 :a2338. -:a2339 :a2339 :a2339. -:a2340 :a2340 :a2340. -:a2341 :a2341 :a2341. -:a2342 :a2342 :a2342. -:a2343 :a2343 :a2343. -:a2344 :a2344 :a2344. -:a2345 :a2345 :a2345. -:a2346 :a2346 :a2346. -:a2347 :a2347 :a2347. -:a2348 :a2348 :a2348. -:a2349 :a2349 :a2349. -:a2350 :a2350 :a2350. -:a2351 :a2351 :a2351. -:a2352 :a2352 :a2352. -:a2353 :a2353 :a2353. -:a2354 :a2354 :a2354. -:a2355 :a2355 :a2355. -:a2356 :a2356 :a2356. -:a2357 :a2357 :a2357. -:a2358 :a2358 :a2358. -:a2359 :a2359 :a2359. -:a2360 :a2360 :a2360. -:a2361 :a2361 :a2361. -:a2362 :a2362 :a2362. -:a2363 :a2363 :a2363. -:a2364 :a2364 :a2364. -:a2365 :a2365 :a2365. -:a2366 :a2366 :a2366. -:a2367 :a2367 :a2367. -:a2368 :a2368 :a2368. -:a2369 :a2369 :a2369. -:a2370 :a2370 :a2370. -:a2371 :a2371 :a2371. -:a2372 :a2372 :a2372. -:a2373 :a2373 :a2373. -:a2374 :a2374 :a2374. -:a2375 :a2375 :a2375. -:a2376 :a2376 :a2376. -:a2377 :a2377 :a2377. -:a2378 :a2378 :a2378. -:a2379 :a2379 :a2379. -:a2380 :a2380 :a2380. -:a2381 :a2381 :a2381. -:a2382 :a2382 :a2382. -:a2383 :a2383 :a2383. -:a2384 :a2384 :a2384. -:a2385 :a2385 :a2385. -:a2386 :a2386 :a2386. -:a2387 :a2387 :a2387. -:a2388 :a2388 :a2388. -:a2389 :a2389 :a2389. -:a2390 :a2390 :a2390. -:a2391 :a2391 :a2391. -:a2392 :a2392 :a2392. -:a2393 :a2393 :a2393. -:a2394 :a2394 :a2394. -:a2395 :a2395 :a2395. -:a2396 :a2396 :a2396. -:a2397 :a2397 :a2397. -:a2398 :a2398 :a2398. -:a2399 :a2399 :a2399. -:a2400 :a2400 :a2400. -:a2401 :a2401 :a2401. -:a2402 :a2402 :a2402. -:a2403 :a2403 :a2403. -:a2404 :a2404 :a2404. -:a2405 :a2405 :a2405. -:a2406 :a2406 :a2406. -:a2407 :a2407 :a2407. -:a2408 :a2408 :a2408. -:a2409 :a2409 :a2409. -:a2410 :a2410 :a2410. -:a2411 :a2411 :a2411. -:a2412 :a2412 :a2412. -:a2413 :a2413 :a2413. -:a2414 :a2414 :a2414. -:a2415 :a2415 :a2415. -:a2416 :a2416 :a2416. -:a2417 :a2417 :a2417. -:a2418 :a2418 :a2418. -:a2419 :a2419 :a2419. -:a2420 :a2420 :a2420. -:a2421 :a2421 :a2421. -:a2422 :a2422 :a2422. -:a2423 :a2423 :a2423. -:a2424 :a2424 :a2424. -:a2425 :a2425 :a2425. -:a2426 :a2426 :a2426. -:a2427 :a2427 :a2427. -:a2428 :a2428 :a2428. -:a2429 :a2429 :a2429. -:a2430 :a2430 :a2430. -:a2431 :a2431 :a2431. -:a2432 :a2432 :a2432. -:a2433 :a2433 :a2433. -:a2434 :a2434 :a2434. -:a2435 :a2435 :a2435. -:a2436 :a2436 :a2436. -:a2437 :a2437 :a2437. -:a2438 :a2438 :a2438. -:a2439 :a2439 :a2439. -:a2440 :a2440 :a2440. -:a2441 :a2441 :a2441. -:a2442 :a2442 :a2442. -:a2443 :a2443 :a2443. -:a2444 :a2444 :a2444. -:a2445 :a2445 :a2445. -:a2446 :a2446 :a2446. -:a2447 :a2447 :a2447. -:a2448 :a2448 :a2448. -:a2449 :a2449 :a2449. -:a2450 :a2450 :a2450. -:a2451 :a2451 :a2451. -:a2452 :a2452 :a2452. -:a2453 :a2453 :a2453. -:a2454 :a2454 :a2454. -:a2455 :a2455 :a2455. -:a2456 :a2456 :a2456. -:a2457 :a2457 :a2457. -:a2458 :a2458 :a2458. -:a2459 :a2459 :a2459. -:a2460 :a2460 :a2460. -:a2461 :a2461 :a2461. -:a2462 :a2462 :a2462. -:a2463 :a2463 :a2463. -:a2464 :a2464 :a2464. -:a2465 :a2465 :a2465. -:a2466 :a2466 :a2466. -:a2467 :a2467 :a2467. -:a2468 :a2468 :a2468. -:a2469 :a2469 :a2469. -:a2470 :a2470 :a2470. -:a2471 :a2471 :a2471. -:a2472 :a2472 :a2472. -:a2473 :a2473 :a2473. -:a2474 :a2474 :a2474. -:a2475 :a2475 :a2475. -:a2476 :a2476 :a2476. -:a2477 :a2477 :a2477. -:a2478 :a2478 :a2478. -:a2479 :a2479 :a2479. -:a2480 :a2480 :a2480. -:a2481 :a2481 :a2481. -:a2482 :a2482 :a2482. -:a2483 :a2483 :a2483. -:a2484 :a2484 :a2484. -:a2485 :a2485 :a2485. -:a2486 :a2486 :a2486. -:a2487 :a2487 :a2487. -:a2488 :a2488 :a2488. -:a2489 :a2489 :a2489. -:a2490 :a2490 :a2490. -:a2491 :a2491 :a2491. -:a2492 :a2492 :a2492. -:a2493 :a2493 :a2493. -:a2494 :a2494 :a2494. -:a2495 :a2495 :a2495. -:a2496 :a2496 :a2496. -:a2497 :a2497 :a2497. -:a2498 :a2498 :a2498. -:a2499 :a2499 :a2499. -:a2500 :a2500 :a2500. -:a2501 :a2501 :a2501. -:a2502 :a2502 :a2502. -:a2503 :a2503 :a2503. -:a2504 :a2504 :a2504. -:a2505 :a2505 :a2505. -:a2506 :a2506 :a2506. -:a2507 :a2507 :a2507. -:a2508 :a2508 :a2508. -:a2509 :a2509 :a2509. -:a2510 :a2510 :a2510. -:a2511 :a2511 :a2511. -:a2512 :a2512 :a2512. -:a2513 :a2513 :a2513. -:a2514 :a2514 :a2514. -:a2515 :a2515 :a2515. -:a2516 :a2516 :a2516. -:a2517 :a2517 :a2517. -:a2518 :a2518 :a2518. -:a2519 :a2519 :a2519. -:a2520 :a2520 :a2520. -:a2521 :a2521 :a2521. -:a2522 :a2522 :a2522. -:a2523 :a2523 :a2523. -:a2524 :a2524 :a2524. -:a2525 :a2525 :a2525. -:a2526 :a2526 :a2526. -:a2527 :a2527 :a2527. -:a2528 :a2528 :a2528. -:a2529 :a2529 :a2529. -:a2530 :a2530 :a2530. -:a2531 :a2531 :a2531. -:a2532 :a2532 :a2532. -:a2533 :a2533 :a2533. -:a2534 :a2534 :a2534. -:a2535 :a2535 :a2535. -:a2536 :a2536 :a2536. -:a2537 :a2537 :a2537. -:a2538 :a2538 :a2538. -:a2539 :a2539 :a2539. -:a2540 :a2540 :a2540. -:a2541 :a2541 :a2541. -:a2542 :a2542 :a2542. -:a2543 :a2543 :a2543. -:a2544 :a2544 :a2544. -:a2545 :a2545 :a2545. -:a2546 :a2546 :a2546. -:a2547 :a2547 :a2547. -:a2548 :a2548 :a2548. -:a2549 :a2549 :a2549. -:a2550 :a2550 :a2550. -:a2551 :a2551 :a2551. -:a2552 :a2552 :a2552. -:a2553 :a2553 :a2553. -:a2554 :a2554 :a2554. -:a2555 :a2555 :a2555. -:a2556 :a2556 :a2556. -:a2557 :a2557 :a2557. -:a2558 :a2558 :a2558. -:a2559 :a2559 :a2559. -:a2560 :a2560 :a2560. -:a2561 :a2561 :a2561. -:a2562 :a2562 :a2562. -:a2563 :a2563 :a2563. -:a2564 :a2564 :a2564. -:a2565 :a2565 :a2565. -:a2566 :a2566 :a2566. -:a2567 :a2567 :a2567. -:a2568 :a2568 :a2568. -:a2569 :a2569 :a2569. -:a2570 :a2570 :a2570. -:a2571 :a2571 :a2571. -:a2572 :a2572 :a2572. -:a2573 :a2573 :a2573. -:a2574 :a2574 :a2574. -:a2575 :a2575 :a2575. -:a2576 :a2576 :a2576. -:a2577 :a2577 :a2577. -:a2578 :a2578 :a2578. -:a2579 :a2579 :a2579. -:a2580 :a2580 :a2580. -:a2581 :a2581 :a2581. -:a2582 :a2582 :a2582. -:a2583 :a2583 :a2583. -:a2584 :a2584 :a2584. -:a2585 :a2585 :a2585. -:a2586 :a2586 :a2586. -:a2587 :a2587 :a2587. -:a2588 :a2588 :a2588. -:a2589 :a2589 :a2589. -:a2590 :a2590 :a2590. -:a2591 :a2591 :a2591. -:a2592 :a2592 :a2592. -:a2593 :a2593 :a2593. -:a2594 :a2594 :a2594. -:a2595 :a2595 :a2595. -:a2596 :a2596 :a2596. -:a2597 :a2597 :a2597. -:a2598 :a2598 :a2598. -:a2599 :a2599 :a2599. -:a2600 :a2600 :a2600. -:a2601 :a2601 :a2601. -:a2602 :a2602 :a2602. -:a2603 :a2603 :a2603. -:a2604 :a2604 :a2604. -:a2605 :a2605 :a2605. -:a2606 :a2606 :a2606. -:a2607 :a2607 :a2607. -:a2608 :a2608 :a2608. -:a2609 :a2609 :a2609. -:a2610 :a2610 :a2610. -:a2611 :a2611 :a2611. -:a2612 :a2612 :a2612. -:a2613 :a2613 :a2613. -:a2614 :a2614 :a2614. -:a2615 :a2615 :a2615. -:a2616 :a2616 :a2616. -:a2617 :a2617 :a2617. -:a2618 :a2618 :a2618. -:a2619 :a2619 :a2619. -:a2620 :a2620 :a2620. -:a2621 :a2621 :a2621. -:a2622 :a2622 :a2622. -:a2623 :a2623 :a2623. -:a2624 :a2624 :a2624. -:a2625 :a2625 :a2625. -:a2626 :a2626 :a2626. -:a2627 :a2627 :a2627. -:a2628 :a2628 :a2628. -:a2629 :a2629 :a2629. -:a2630 :a2630 :a2630. -:a2631 :a2631 :a2631. -:a2632 :a2632 :a2632. -:a2633 :a2633 :a2633. -:a2634 :a2634 :a2634. -:a2635 :a2635 :a2635. -:a2636 :a2636 :a2636. -:a2637 :a2637 :a2637. -:a2638 :a2638 :a2638. -:a2639 :a2639 :a2639. -:a2640 :a2640 :a2640. -:a2641 :a2641 :a2641. -:a2642 :a2642 :a2642. -:a2643 :a2643 :a2643. -:a2644 :a2644 :a2644. -:a2645 :a2645 :a2645. -:a2646 :a2646 :a2646. -:a2647 :a2647 :a2647. -:a2648 :a2648 :a2648. -:a2649 :a2649 :a2649. -:a2650 :a2650 :a2650. -:a2651 :a2651 :a2651. -:a2652 :a2652 :a2652. -:a2653 :a2653 :a2653. -:a2654 :a2654 :a2654. -:a2655 :a2655 :a2655. -:a2656 :a2656 :a2656. -:a2657 :a2657 :a2657. -:a2658 :a2658 :a2658. -:a2659 :a2659 :a2659. -:a2660 :a2660 :a2660. -:a2661 :a2661 :a2661. -:a2662 :a2662 :a2662. -:a2663 :a2663 :a2663. -:a2664 :a2664 :a2664. -:a2665 :a2665 :a2665. -:a2666 :a2666 :a2666. -:a2667 :a2667 :a2667. -:a2668 :a2668 :a2668. -:a2669 :a2669 :a2669. -:a2670 :a2670 :a2670. -:a2671 :a2671 :a2671. -:a2672 :a2672 :a2672. -:a2673 :a2673 :a2673. -:a2674 :a2674 :a2674. -:a2675 :a2675 :a2675. -:a2676 :a2676 :a2676. -:a2677 :a2677 :a2677. -:a2678 :a2678 :a2678. -:a2679 :a2679 :a2679. -:a2680 :a2680 :a2680. -:a2681 :a2681 :a2681. -:a2682 :a2682 :a2682. -:a2683 :a2683 :a2683. -:a2684 :a2684 :a2684. -:a2685 :a2685 :a2685. -:a2686 :a2686 :a2686. -:a2687 :a2687 :a2687. -:a2688 :a2688 :a2688. -:a2689 :a2689 :a2689. -:a2690 :a2690 :a2690. -:a2691 :a2691 :a2691. -:a2692 :a2692 :a2692. -:a2693 :a2693 :a2693. -:a2694 :a2694 :a2694. -:a2695 :a2695 :a2695. -:a2696 :a2696 :a2696. -:a2697 :a2697 :a2697. -:a2698 :a2698 :a2698. -:a2699 :a2699 :a2699. -:a2700 :a2700 :a2700. -:a2701 :a2701 :a2701. -:a2702 :a2702 :a2702. -:a2703 :a2703 :a2703. -:a2704 :a2704 :a2704. -:a2705 :a2705 :a2705. -:a2706 :a2706 :a2706. -:a2707 :a2707 :a2707. -:a2708 :a2708 :a2708. -:a2709 :a2709 :a2709. -:a2710 :a2710 :a2710. -:a2711 :a2711 :a2711. -:a2712 :a2712 :a2712. -:a2713 :a2713 :a2713. -:a2714 :a2714 :a2714. -:a2715 :a2715 :a2715. -:a2716 :a2716 :a2716. -:a2717 :a2717 :a2717. -:a2718 :a2718 :a2718. -:a2719 :a2719 :a2719. -:a2720 :a2720 :a2720. -:a2721 :a2721 :a2721. -:a2722 :a2722 :a2722. -:a2723 :a2723 :a2723. -:a2724 :a2724 :a2724. -:a2725 :a2725 :a2725. -:a2726 :a2726 :a2726. -:a2727 :a2727 :a2727. -:a2728 :a2728 :a2728. -:a2729 :a2729 :a2729. -:a2730 :a2730 :a2730. -:a2731 :a2731 :a2731. -:a2732 :a2732 :a2732. -:a2733 :a2733 :a2733. -:a2734 :a2734 :a2734. -:a2735 :a2735 :a2735. -:a2736 :a2736 :a2736. -:a2737 :a2737 :a2737. -:a2738 :a2738 :a2738. -:a2739 :a2739 :a2739. -:a2740 :a2740 :a2740. -:a2741 :a2741 :a2741. -:a2742 :a2742 :a2742. -:a2743 :a2743 :a2743. -:a2744 :a2744 :a2744. -:a2745 :a2745 :a2745. -:a2746 :a2746 :a2746. -:a2747 :a2747 :a2747. -:a2748 :a2748 :a2748. -:a2749 :a2749 :a2749. -:a2750 :a2750 :a2750. -:a2751 :a2751 :a2751. -:a2752 :a2752 :a2752. -:a2753 :a2753 :a2753. -:a2754 :a2754 :a2754. -:a2755 :a2755 :a2755. -:a2756 :a2756 :a2756. -:a2757 :a2757 :a2757. -:a2758 :a2758 :a2758. -:a2759 :a2759 :a2759. -:a2760 :a2760 :a2760. -:a2761 :a2761 :a2761. -:a2762 :a2762 :a2762. -:a2763 :a2763 :a2763. -:a2764 :a2764 :a2764. -:a2765 :a2765 :a2765. -:a2766 :a2766 :a2766. -:a2767 :a2767 :a2767. -:a2768 :a2768 :a2768. -:a2769 :a2769 :a2769. -:a2770 :a2770 :a2770. -:a2771 :a2771 :a2771. -:a2772 :a2772 :a2772. -:a2773 :a2773 :a2773. -:a2774 :a2774 :a2774. -:a2775 :a2775 :a2775. -:a2776 :a2776 :a2776. -:a2777 :a2777 :a2777. -:a2778 :a2778 :a2778. -:a2779 :a2779 :a2779. -:a2780 :a2780 :a2780. -:a2781 :a2781 :a2781. -:a2782 :a2782 :a2782. -:a2783 :a2783 :a2783. -:a2784 :a2784 :a2784. -:a2785 :a2785 :a2785. -:a2786 :a2786 :a2786. -:a2787 :a2787 :a2787. -:a2788 :a2788 :a2788. -:a2789 :a2789 :a2789. -:a2790 :a2790 :a2790. -:a2791 :a2791 :a2791. -:a2792 :a2792 :a2792. -:a2793 :a2793 :a2793. -:a2794 :a2794 :a2794. -:a2795 :a2795 :a2795. -:a2796 :a2796 :a2796. -:a2797 :a2797 :a2797. -:a2798 :a2798 :a2798. -:a2799 :a2799 :a2799. -:a2800 :a2800 :a2800. -:a2801 :a2801 :a2801. -:a2802 :a2802 :a2802. -:a2803 :a2803 :a2803. -:a2804 :a2804 :a2804. -:a2805 :a2805 :a2805. -:a2806 :a2806 :a2806. -:a2807 :a2807 :a2807. -:a2808 :a2808 :a2808. -:a2809 :a2809 :a2809. -:a2810 :a2810 :a2810. -:a2811 :a2811 :a2811. -:a2812 :a2812 :a2812. -:a2813 :a2813 :a2813. -:a2814 :a2814 :a2814. -:a2815 :a2815 :a2815. -:a2816 :a2816 :a2816. -:a2817 :a2817 :a2817. -:a2818 :a2818 :a2818. -:a2819 :a2819 :a2819. -:a2820 :a2820 :a2820. -:a2821 :a2821 :a2821. -:a2822 :a2822 :a2822. -:a2823 :a2823 :a2823. -:a2824 :a2824 :a2824. -:a2825 :a2825 :a2825. -:a2826 :a2826 :a2826. -:a2827 :a2827 :a2827. -:a2828 :a2828 :a2828. -:a2829 :a2829 :a2829. -:a2830 :a2830 :a2830. -:a2831 :a2831 :a2831. -:a2832 :a2832 :a2832. -:a2833 :a2833 :a2833. -:a2834 :a2834 :a2834. -:a2835 :a2835 :a2835. -:a2836 :a2836 :a2836. -:a2837 :a2837 :a2837. -:a2838 :a2838 :a2838. -:a2839 :a2839 :a2839. -:a2840 :a2840 :a2840. -:a2841 :a2841 :a2841. -:a2842 :a2842 :a2842. -:a2843 :a2843 :a2843. -:a2844 :a2844 :a2844. -:a2845 :a2845 :a2845. -:a2846 :a2846 :a2846. -:a2847 :a2847 :a2847. -:a2848 :a2848 :a2848. -:a2849 :a2849 :a2849. -:a2850 :a2850 :a2850. -:a2851 :a2851 :a2851. -:a2852 :a2852 :a2852. -:a2853 :a2853 :a2853. -:a2854 :a2854 :a2854. -:a2855 :a2855 :a2855. -:a2856 :a2856 :a2856. -:a2857 :a2857 :a2857. -:a2858 :a2858 :a2858. -:a2859 :a2859 :a2859. -:a2860 :a2860 :a2860. -:a2861 :a2861 :a2861. -:a2862 :a2862 :a2862. -:a2863 :a2863 :a2863. -:a2864 :a2864 :a2864. -:a2865 :a2865 :a2865. -:a2866 :a2866 :a2866. -:a2867 :a2867 :a2867. -:a2868 :a2868 :a2868. -:a2869 :a2869 :a2869. -:a2870 :a2870 :a2870. -:a2871 :a2871 :a2871. -:a2872 :a2872 :a2872. -:a2873 :a2873 :a2873. -:a2874 :a2874 :a2874. -:a2875 :a2875 :a2875. -:a2876 :a2876 :a2876. -:a2877 :a2877 :a2877. -:a2878 :a2878 :a2878. -:a2879 :a2879 :a2879. -:a2880 :a2880 :a2880. -:a2881 :a2881 :a2881. -:a2882 :a2882 :a2882. -:a2883 :a2883 :a2883. -:a2884 :a2884 :a2884. -:a2885 :a2885 :a2885. -:a2886 :a2886 :a2886. -:a2887 :a2887 :a2887. -:a2888 :a2888 :a2888. -:a2889 :a2889 :a2889. -:a2890 :a2890 :a2890. -:a2891 :a2891 :a2891. -:a2892 :a2892 :a2892. -:a2893 :a2893 :a2893. -:a2894 :a2894 :a2894. -:a2895 :a2895 :a2895. -:a2896 :a2896 :a2896. -:a2897 :a2897 :a2897. -:a2898 :a2898 :a2898. -:a2899 :a2899 :a2899. -:a2900 :a2900 :a2900. -:a2901 :a2901 :a2901. -:a2902 :a2902 :a2902. -:a2903 :a2903 :a2903. -:a2904 :a2904 :a2904. -:a2905 :a2905 :a2905. -:a2906 :a2906 :a2906. -:a2907 :a2907 :a2907. -:a2908 :a2908 :a2908. -:a2909 :a2909 :a2909. -:a2910 :a2910 :a2910. -:a2911 :a2911 :a2911. -:a2912 :a2912 :a2912. -:a2913 :a2913 :a2913. -:a2914 :a2914 :a2914. -:a2915 :a2915 :a2915. -:a2916 :a2916 :a2916. -:a2917 :a2917 :a2917. -:a2918 :a2918 :a2918. -:a2919 :a2919 :a2919. -:a2920 :a2920 :a2920. -:a2921 :a2921 :a2921. -:a2922 :a2922 :a2922. -:a2923 :a2923 :a2923. -:a2924 :a2924 :a2924. -:a2925 :a2925 :a2925. -:a2926 :a2926 :a2926. -:a2927 :a2927 :a2927. -:a2928 :a2928 :a2928. -:a2929 :a2929 :a2929. -:a2930 :a2930 :a2930. -:a2931 :a2931 :a2931. -:a2932 :a2932 :a2932. -:a2933 :a2933 :a2933. -:a2934 :a2934 :a2934. -:a2935 :a2935 :a2935. -:a2936 :a2936 :a2936. -:a2937 :a2937 :a2937. -:a2938 :a2938 :a2938. -:a2939 :a2939 :a2939. -:a2940 :a2940 :a2940. -:a2941 :a2941 :a2941. -:a2942 :a2942 :a2942. -:a2943 :a2943 :a2943. -:a2944 :a2944 :a2944. -:a2945 :a2945 :a2945. -:a2946 :a2946 :a2946. -:a2947 :a2947 :a2947. -:a2948 :a2948 :a2948. -:a2949 :a2949 :a2949. -:a2950 :a2950 :a2950. -:a2951 :a2951 :a2951. -:a2952 :a2952 :a2952. -:a2953 :a2953 :a2953. -:a2954 :a2954 :a2954. -:a2955 :a2955 :a2955. -:a2956 :a2956 :a2956. -:a2957 :a2957 :a2957. -:a2958 :a2958 :a2958. -:a2959 :a2959 :a2959. -:a2960 :a2960 :a2960. -:a2961 :a2961 :a2961. -:a2962 :a2962 :a2962. -:a2963 :a2963 :a2963. -:a2964 :a2964 :a2964. -:a2965 :a2965 :a2965. -:a2966 :a2966 :a2966. -:a2967 :a2967 :a2967. -:a2968 :a2968 :a2968. -:a2969 :a2969 :a2969. -:a2970 :a2970 :a2970. -:a2971 :a2971 :a2971. -:a2972 :a2972 :a2972. -:a2973 :a2973 :a2973. -:a2974 :a2974 :a2974. -:a2975 :a2975 :a2975. -:a2976 :a2976 :a2976. -:a2977 :a2977 :a2977. -:a2978 :a2978 :a2978. -:a2979 :a2979 :a2979. -:a2980 :a2980 :a2980. -:a2981 :a2981 :a2981. -:a2982 :a2982 :a2982. -:a2983 :a2983 :a2983. -:a2984 :a2984 :a2984. -:a2985 :a2985 :a2985. -:a2986 :a2986 :a2986. -:a2987 :a2987 :a2987. -:a2988 :a2988 :a2988. -:a2989 :a2989 :a2989. -:a2990 :a2990 :a2990. -:a2991 :a2991 :a2991. -:a2992 :a2992 :a2992. -:a2993 :a2993 :a2993. -:a2994 :a2994 :a2994. -:a2995 :a2995 :a2995. -:a2996 :a2996 :a2996. -:a2997 :a2997 :a2997. -:a2998 :a2998 :a2998. -:a2999 :a2999 :a2999. -:a3000 :a3000 :a3000. -:a3001 :a3001 :a3001. -:a3002 :a3002 :a3002. -:a3003 :a3003 :a3003. -:a3004 :a3004 :a3004. -:a3005 :a3005 :a3005. -:a3006 :a3006 :a3006. -:a3007 :a3007 :a3007. -:a3008 :a3008 :a3008. -:a3009 :a3009 :a3009. -:a3010 :a3010 :a3010. -:a3011 :a3011 :a3011. -:a3012 :a3012 :a3012. -:a3013 :a3013 :a3013. -:a3014 :a3014 :a3014. -:a3015 :a3015 :a3015. -:a3016 :a3016 :a3016. -:a3017 :a3017 :a3017. -:a3018 :a3018 :a3018. -:a3019 :a3019 :a3019. -:a3020 :a3020 :a3020. -:a3021 :a3021 :a3021. -:a3022 :a3022 :a3022. -:a3023 :a3023 :a3023. -:a3024 :a3024 :a3024. -:a3025 :a3025 :a3025. -:a3026 :a3026 :a3026. -:a3027 :a3027 :a3027. -:a3028 :a3028 :a3028. -:a3029 :a3029 :a3029. -:a3030 :a3030 :a3030. -:a3031 :a3031 :a3031. -:a3032 :a3032 :a3032. -:a3033 :a3033 :a3033. -:a3034 :a3034 :a3034. -:a3035 :a3035 :a3035. -:a3036 :a3036 :a3036. -:a3037 :a3037 :a3037. -:a3038 :a3038 :a3038. -:a3039 :a3039 :a3039. -:a3040 :a3040 :a3040. -:a3041 :a3041 :a3041. -:a3042 :a3042 :a3042. -:a3043 :a3043 :a3043. -:a3044 :a3044 :a3044. -:a3045 :a3045 :a3045. -:a3046 :a3046 :a3046. -:a3047 :a3047 :a3047. -:a3048 :a3048 :a3048. -:a3049 :a3049 :a3049. -:a3050 :a3050 :a3050. -:a3051 :a3051 :a3051. -:a3052 :a3052 :a3052. -:a3053 :a3053 :a3053. -:a3054 :a3054 :a3054. -:a3055 :a3055 :a3055. -:a3056 :a3056 :a3056. -:a3057 :a3057 :a3057. -:a3058 :a3058 :a3058. -:a3059 :a3059 :a3059. -:a3060 :a3060 :a3060. -:a3061 :a3061 :a3061. -:a3062 :a3062 :a3062. -:a3063 :a3063 :a3063. -:a3064 :a3064 :a3064. -:a3065 :a3065 :a3065. -:a3066 :a3066 :a3066. -:a3067 :a3067 :a3067. -:a3068 :a3068 :a3068. -:a3069 :a3069 :a3069. -:a3070 :a3070 :a3070. -:a3071 :a3071 :a3071. -:a3072 :a3072 :a3072. -:a3073 :a3073 :a3073. -:a3074 :a3074 :a3074. -:a3075 :a3075 :a3075. -:a3076 :a3076 :a3076. -:a3077 :a3077 :a3077. -:a3078 :a3078 :a3078. -:a3079 :a3079 :a3079. -:a3080 :a3080 :a3080. -:a3081 :a3081 :a3081. -:a3082 :a3082 :a3082. -:a3083 :a3083 :a3083. -:a3084 :a3084 :a3084. -:a3085 :a3085 :a3085. -:a3086 :a3086 :a3086. -:a3087 :a3087 :a3087. -:a3088 :a3088 :a3088. -:a3089 :a3089 :a3089. -:a3090 :a3090 :a3090. -:a3091 :a3091 :a3091. -:a3092 :a3092 :a3092. -:a3093 :a3093 :a3093. -:a3094 :a3094 :a3094. -:a3095 :a3095 :a3095. -:a3096 :a3096 :a3096. -:a3097 :a3097 :a3097. -:a3098 :a3098 :a3098. -:a3099 :a3099 :a3099. -:a3100 :a3100 :a3100. -:a3101 :a3101 :a3101. -:a3102 :a3102 :a3102. -:a3103 :a3103 :a3103. -:a3104 :a3104 :a3104. -:a3105 :a3105 :a3105. -:a3106 :a3106 :a3106. -:a3107 :a3107 :a3107. -:a3108 :a3108 :a3108. -:a3109 :a3109 :a3109. -:a3110 :a3110 :a3110. -:a3111 :a3111 :a3111. -:a3112 :a3112 :a3112. -:a3113 :a3113 :a3113. -:a3114 :a3114 :a3114. -:a3115 :a3115 :a3115. -:a3116 :a3116 :a3116. -:a3117 :a3117 :a3117. -:a3118 :a3118 :a3118. -:a3119 :a3119 :a3119. -:a3120 :a3120 :a3120. -:a3121 :a3121 :a3121. -:a3122 :a3122 :a3122. -:a3123 :a3123 :a3123. -:a3124 :a3124 :a3124. -:a3125 :a3125 :a3125. -:a3126 :a3126 :a3126. -:a3127 :a3127 :a3127. -:a3128 :a3128 :a3128. -:a3129 :a3129 :a3129. -:a3130 :a3130 :a3130. -:a3131 :a3131 :a3131. -:a3132 :a3132 :a3132. -:a3133 :a3133 :a3133. -:a3134 :a3134 :a3134. -:a3135 :a3135 :a3135. -:a3136 :a3136 :a3136. -:a3137 :a3137 :a3137. -:a3138 :a3138 :a3138. -:a3139 :a3139 :a3139. -:a3140 :a3140 :a3140. -:a3141 :a3141 :a3141. -:a3142 :a3142 :a3142. -:a3143 :a3143 :a3143. -:a3144 :a3144 :a3144. -:a3145 :a3145 :a3145. -:a3146 :a3146 :a3146. -:a3147 :a3147 :a3147. -:a3148 :a3148 :a3148. -:a3149 :a3149 :a3149. -:a3150 :a3150 :a3150. -:a3151 :a3151 :a3151. -:a3152 :a3152 :a3152. -:a3153 :a3153 :a3153. -:a3154 :a3154 :a3154. -:a3155 :a3155 :a3155. -:a3156 :a3156 :a3156. -:a3157 :a3157 :a3157. -:a3158 :a3158 :a3158. -:a3159 :a3159 :a3159. -:a3160 :a3160 :a3160. -:a3161 :a3161 :a3161. -:a3162 :a3162 :a3162. -:a3163 :a3163 :a3163. -:a3164 :a3164 :a3164. -:a3165 :a3165 :a3165. -:a3166 :a3166 :a3166. -:a3167 :a3167 :a3167. -:a3168 :a3168 :a3168. -:a3169 :a3169 :a3169. -:a3170 :a3170 :a3170. -:a3171 :a3171 :a3171. -:a3172 :a3172 :a3172. -:a3173 :a3173 :a3173. -:a3174 :a3174 :a3174. -:a3175 :a3175 :a3175. -:a3176 :a3176 :a3176. -:a3177 :a3177 :a3177. -:a3178 :a3178 :a3178. -:a3179 :a3179 :a3179. -:a3180 :a3180 :a3180. -:a3181 :a3181 :a3181. -:a3182 :a3182 :a3182. -:a3183 :a3183 :a3183. -:a3184 :a3184 :a3184. -:a3185 :a3185 :a3185. -:a3186 :a3186 :a3186. -:a3187 :a3187 :a3187. -:a3188 :a3188 :a3188. -:a3189 :a3189 :a3189. -:a3190 :a3190 :a3190. -:a3191 :a3191 :a3191. -:a3192 :a3192 :a3192. -:a3193 :a3193 :a3193. -:a3194 :a3194 :a3194. -:a3195 :a3195 :a3195. -:a3196 :a3196 :a3196. -:a3197 :a3197 :a3197. -:a3198 :a3198 :a3198. -:a3199 :a3199 :a3199. -:a3200 :a3200 :a3200. -:a3201 :a3201 :a3201. -:a3202 :a3202 :a3202. -:a3203 :a3203 :a3203. -:a3204 :a3204 :a3204. -:a3205 :a3205 :a3205. -:a3206 :a3206 :a3206. -:a3207 :a3207 :a3207. -:a3208 :a3208 :a3208. -:a3209 :a3209 :a3209. -:a3210 :a3210 :a3210. -:a3211 :a3211 :a3211. -:a3212 :a3212 :a3212. -:a3213 :a3213 :a3213. -:a3214 :a3214 :a3214. -:a3215 :a3215 :a3215. -:a3216 :a3216 :a3216. -:a3217 :a3217 :a3217. -:a3218 :a3218 :a3218. -:a3219 :a3219 :a3219. -:a3220 :a3220 :a3220. -:a3221 :a3221 :a3221. -:a3222 :a3222 :a3222. -:a3223 :a3223 :a3223. -:a3224 :a3224 :a3224. -:a3225 :a3225 :a3225. -:a3226 :a3226 :a3226. -:a3227 :a3227 :a3227. -:a3228 :a3228 :a3228. -:a3229 :a3229 :a3229. -:a3230 :a3230 :a3230. -:a3231 :a3231 :a3231. -:a3232 :a3232 :a3232. -:a3233 :a3233 :a3233. -:a3234 :a3234 :a3234. -:a3235 :a3235 :a3235. -:a3236 :a3236 :a3236. -:a3237 :a3237 :a3237. -:a3238 :a3238 :a3238. -:a3239 :a3239 :a3239. -:a3240 :a3240 :a3240. -:a3241 :a3241 :a3241. -:a3242 :a3242 :a3242. -:a3243 :a3243 :a3243. -:a3244 :a3244 :a3244. -:a3245 :a3245 :a3245. -:a3246 :a3246 :a3246. -:a3247 :a3247 :a3247. -:a3248 :a3248 :a3248. -:a3249 :a3249 :a3249. -:a3250 :a3250 :a3250. -:a3251 :a3251 :a3251. -:a3252 :a3252 :a3252. -:a3253 :a3253 :a3253. -:a3254 :a3254 :a3254. -:a3255 :a3255 :a3255. -:a3256 :a3256 :a3256. -:a3257 :a3257 :a3257. -:a3258 :a3258 :a3258. -:a3259 :a3259 :a3259. -:a3260 :a3260 :a3260. -:a3261 :a3261 :a3261. -:a3262 :a3262 :a3262. -:a3263 :a3263 :a3263. -:a3264 :a3264 :a3264. -:a3265 :a3265 :a3265. -:a3266 :a3266 :a3266. -:a3267 :a3267 :a3267. -:a3268 :a3268 :a3268. -:a3269 :a3269 :a3269. -:a3270 :a3270 :a3270. -:a3271 :a3271 :a3271. -:a3272 :a3272 :a3272. -:a3273 :a3273 :a3273. -:a3274 :a3274 :a3274. -:a3275 :a3275 :a3275. -:a3276 :a3276 :a3276. -:a3277 :a3277 :a3277. -:a3278 :a3278 :a3278. -:a3279 :a3279 :a3279. -:a3280 :a3280 :a3280. -:a3281 :a3281 :a3281. -:a3282 :a3282 :a3282. -:a3283 :a3283 :a3283. -:a3284 :a3284 :a3284. -:a3285 :a3285 :a3285. -:a3286 :a3286 :a3286. -:a3287 :a3287 :a3287. -:a3288 :a3288 :a3288. -:a3289 :a3289 :a3289. -:a3290 :a3290 :a3290. -:a3291 :a3291 :a3291. -:a3292 :a3292 :a3292. -:a3293 :a3293 :a3293. -:a3294 :a3294 :a3294. -:a3295 :a3295 :a3295. -:a3296 :a3296 :a3296. -:a3297 :a3297 :a3297. -:a3298 :a3298 :a3298. -:a3299 :a3299 :a3299. -:a3300 :a3300 :a3300. -:a3301 :a3301 :a3301. -:a3302 :a3302 :a3302. -:a3303 :a3303 :a3303. -:a3304 :a3304 :a3304. -:a3305 :a3305 :a3305. -:a3306 :a3306 :a3306. -:a3307 :a3307 :a3307. -:a3308 :a3308 :a3308. -:a3309 :a3309 :a3309. -:a3310 :a3310 :a3310. -:a3311 :a3311 :a3311. -:a3312 :a3312 :a3312. -:a3313 :a3313 :a3313. -:a3314 :a3314 :a3314. -:a3315 :a3315 :a3315. -:a3316 :a3316 :a3316. -:a3317 :a3317 :a3317. -:a3318 :a3318 :a3318. -:a3319 :a3319 :a3319. -:a3320 :a3320 :a3320. -:a3321 :a3321 :a3321. -:a3322 :a3322 :a3322. -:a3323 :a3323 :a3323. -:a3324 :a3324 :a3324. -:a3325 :a3325 :a3325. -:a3326 :a3326 :a3326. -:a3327 :a3327 :a3327. -:a3328 :a3328 :a3328. -:a3329 :a3329 :a3329. -:a3330 :a3330 :a3330. -:a3331 :a3331 :a3331. -:a3332 :a3332 :a3332. -:a3333 :a3333 :a3333. -:a3334 :a3334 :a3334. -:a3335 :a3335 :a3335. -:a3336 :a3336 :a3336. -:a3337 :a3337 :a3337. -:a3338 :a3338 :a3338. -:a3339 :a3339 :a3339. -:a3340 :a3340 :a3340. -:a3341 :a3341 :a3341. -:a3342 :a3342 :a3342. -:a3343 :a3343 :a3343. -:a3344 :a3344 :a3344. -:a3345 :a3345 :a3345. -:a3346 :a3346 :a3346. -:a3347 :a3347 :a3347. -:a3348 :a3348 :a3348. -:a3349 :a3349 :a3349. -:a3350 :a3350 :a3350. -:a3351 :a3351 :a3351. -:a3352 :a3352 :a3352. -:a3353 :a3353 :a3353. -:a3354 :a3354 :a3354. -:a3355 :a3355 :a3355. -:a3356 :a3356 :a3356. -:a3357 :a3357 :a3357. -:a3358 :a3358 :a3358. -:a3359 :a3359 :a3359. -:a3360 :a3360 :a3360. -:a3361 :a3361 :a3361. -:a3362 :a3362 :a3362. -:a3363 :a3363 :a3363. -:a3364 :a3364 :a3364. -:a3365 :a3365 :a3365. -:a3366 :a3366 :a3366. -:a3367 :a3367 :a3367. -:a3368 :a3368 :a3368. -:a3369 :a3369 :a3369. -:a3370 :a3370 :a3370. -:a3371 :a3371 :a3371. -:a3372 :a3372 :a3372. -:a3373 :a3373 :a3373. -:a3374 :a3374 :a3374. -:a3375 :a3375 :a3375. -:a3376 :a3376 :a3376. -:a3377 :a3377 :a3377. -:a3378 :a3378 :a3378. -:a3379 :a3379 :a3379. -:a3380 :a3380 :a3380. -:a3381 :a3381 :a3381. -:a3382 :a3382 :a3382. -:a3383 :a3383 :a3383. -:a3384 :a3384 :a3384. -:a3385 :a3385 :a3385. -:a3386 :a3386 :a3386. -:a3387 :a3387 :a3387. -:a3388 :a3388 :a3388. -:a3389 :a3389 :a3389. -:a3390 :a3390 :a3390. -:a3391 :a3391 :a3391. -:a3392 :a3392 :a3392. -:a3393 :a3393 :a3393. -:a3394 :a3394 :a3394. -:a3395 :a3395 :a3395. -:a3396 :a3396 :a3396. -:a3397 :a3397 :a3397. -:a3398 :a3398 :a3398. -:a3399 :a3399 :a3399. -:a3400 :a3400 :a3400. -:a3401 :a3401 :a3401. -:a3402 :a3402 :a3402. -:a3403 :a3403 :a3403. -:a3404 :a3404 :a3404. -:a3405 :a3405 :a3405. -:a3406 :a3406 :a3406. -:a3407 :a3407 :a3407. -:a3408 :a3408 :a3408. -:a3409 :a3409 :a3409. -:a3410 :a3410 :a3410. -:a3411 :a3411 :a3411. -:a3412 :a3412 :a3412. -:a3413 :a3413 :a3413. -:a3414 :a3414 :a3414. -:a3415 :a3415 :a3415. -:a3416 :a3416 :a3416. -:a3417 :a3417 :a3417. -:a3418 :a3418 :a3418. -:a3419 :a3419 :a3419. -:a3420 :a3420 :a3420. -:a3421 :a3421 :a3421. -:a3422 :a3422 :a3422. -:a3423 :a3423 :a3423. -:a3424 :a3424 :a3424. -:a3425 :a3425 :a3425. -:a3426 :a3426 :a3426. -:a3427 :a3427 :a3427. -:a3428 :a3428 :a3428. -:a3429 :a3429 :a3429. -:a3430 :a3430 :a3430. -:a3431 :a3431 :a3431. -:a3432 :a3432 :a3432. -:a3433 :a3433 :a3433. -:a3434 :a3434 :a3434. -:a3435 :a3435 :a3435. -:a3436 :a3436 :a3436. -:a3437 :a3437 :a3437. -:a3438 :a3438 :a3438. -:a3439 :a3439 :a3439. -:a3440 :a3440 :a3440. -:a3441 :a3441 :a3441. -:a3442 :a3442 :a3442. -:a3443 :a3443 :a3443. -:a3444 :a3444 :a3444. -:a3445 :a3445 :a3445. -:a3446 :a3446 :a3446. -:a3447 :a3447 :a3447. -:a3448 :a3448 :a3448. -:a3449 :a3449 :a3449. -:a3450 :a3450 :a3450. -:a3451 :a3451 :a3451. -:a3452 :a3452 :a3452. -:a3453 :a3453 :a3453. -:a3454 :a3454 :a3454. -:a3455 :a3455 :a3455. -:a3456 :a3456 :a3456. -:a3457 :a3457 :a3457. -:a3458 :a3458 :a3458. -:a3459 :a3459 :a3459. -:a3460 :a3460 :a3460. -:a3461 :a3461 :a3461. -:a3462 :a3462 :a3462. -:a3463 :a3463 :a3463. -:a3464 :a3464 :a3464. -:a3465 :a3465 :a3465. -:a3466 :a3466 :a3466. -:a3467 :a3467 :a3467. -:a3468 :a3468 :a3468. -:a3469 :a3469 :a3469. -:a3470 :a3470 :a3470. -:a3471 :a3471 :a3471. -:a3472 :a3472 :a3472. -:a3473 :a3473 :a3473. -:a3474 :a3474 :a3474. -:a3475 :a3475 :a3475. -:a3476 :a3476 :a3476. -:a3477 :a3477 :a3477. -:a3478 :a3478 :a3478. -:a3479 :a3479 :a3479. -:a3480 :a3480 :a3480. -:a3481 :a3481 :a3481. -:a3482 :a3482 :a3482. -:a3483 :a3483 :a3483. -:a3484 :a3484 :a3484. -:a3485 :a3485 :a3485. -:a3486 :a3486 :a3486. -:a3487 :a3487 :a3487. -:a3488 :a3488 :a3488. -:a3489 :a3489 :a3489. -:a3490 :a3490 :a3490. -:a3491 :a3491 :a3491. -:a3492 :a3492 :a3492. -:a3493 :a3493 :a3493. -:a3494 :a3494 :a3494. -:a3495 :a3495 :a3495. -:a3496 :a3496 :a3496. -:a3497 :a3497 :a3497. -:a3498 :a3498 :a3498. -:a3499 :a3499 :a3499. -:a3500 :a3500 :a3500. -:a3501 :a3501 :a3501. -:a3502 :a3502 :a3502. -:a3503 :a3503 :a3503. -:a3504 :a3504 :a3504. -:a3505 :a3505 :a3505. -:a3506 :a3506 :a3506. -:a3507 :a3507 :a3507. -:a3508 :a3508 :a3508. -:a3509 :a3509 :a3509. -:a3510 :a3510 :a3510. -:a3511 :a3511 :a3511. -:a3512 :a3512 :a3512. -:a3513 :a3513 :a3513. -:a3514 :a3514 :a3514. -:a3515 :a3515 :a3515. -:a3516 :a3516 :a3516. -:a3517 :a3517 :a3517. -:a3518 :a3518 :a3518. -:a3519 :a3519 :a3519. -:a3520 :a3520 :a3520. -:a3521 :a3521 :a3521. -:a3522 :a3522 :a3522. -:a3523 :a3523 :a3523. -:a3524 :a3524 :a3524. -:a3525 :a3525 :a3525. -:a3526 :a3526 :a3526. -:a3527 :a3527 :a3527. -:a3528 :a3528 :a3528. -:a3529 :a3529 :a3529. -:a3530 :a3530 :a3530. -:a3531 :a3531 :a3531. -:a3532 :a3532 :a3532. -:a3533 :a3533 :a3533. -:a3534 :a3534 :a3534. -:a3535 :a3535 :a3535. -:a3536 :a3536 :a3536. -:a3537 :a3537 :a3537. -:a3538 :a3538 :a3538. -:a3539 :a3539 :a3539. -:a3540 :a3540 :a3540. -:a3541 :a3541 :a3541. -:a3542 :a3542 :a3542. -:a3543 :a3543 :a3543. -:a3544 :a3544 :a3544. -:a3545 :a3545 :a3545. -:a3546 :a3546 :a3546. -:a3547 :a3547 :a3547. -:a3548 :a3548 :a3548. -:a3549 :a3549 :a3549. -:a3550 :a3550 :a3550. -:a3551 :a3551 :a3551. -:a3552 :a3552 :a3552. -:a3553 :a3553 :a3553. -:a3554 :a3554 :a3554. -:a3555 :a3555 :a3555. -:a3556 :a3556 :a3556. -:a3557 :a3557 :a3557. -:a3558 :a3558 :a3558. -:a3559 :a3559 :a3559. -:a3560 :a3560 :a3560. -:a3561 :a3561 :a3561. -:a3562 :a3562 :a3562. -:a3563 :a3563 :a3563. -:a3564 :a3564 :a3564. -:a3565 :a3565 :a3565. -:a3566 :a3566 :a3566. -:a3567 :a3567 :a3567. -:a3568 :a3568 :a3568. -:a3569 :a3569 :a3569. -:a3570 :a3570 :a3570. -:a3571 :a3571 :a3571. -:a3572 :a3572 :a3572. -:a3573 :a3573 :a3573. -:a3574 :a3574 :a3574. -:a3575 :a3575 :a3575. -:a3576 :a3576 :a3576. -:a3577 :a3577 :a3577. -:a3578 :a3578 :a3578. -:a3579 :a3579 :a3579. -:a3580 :a3580 :a3580. -:a3581 :a3581 :a3581. -:a3582 :a3582 :a3582. -:a3583 :a3583 :a3583. -:a3584 :a3584 :a3584. -:a3585 :a3585 :a3585. -:a3586 :a3586 :a3586. -:a3587 :a3587 :a3587. -:a3588 :a3588 :a3588. -:a3589 :a3589 :a3589. -:a3590 :a3590 :a3590. -:a3591 :a3591 :a3591. -:a3592 :a3592 :a3592. -:a3593 :a3593 :a3593. -:a3594 :a3594 :a3594. -:a3595 :a3595 :a3595. -:a3596 :a3596 :a3596. -:a3597 :a3597 :a3597. -:a3598 :a3598 :a3598. -:a3599 :a3599 :a3599. -:a3600 :a3600 :a3600. -:a3601 :a3601 :a3601. -:a3602 :a3602 :a3602. -:a3603 :a3603 :a3603. -:a3604 :a3604 :a3604. -:a3605 :a3605 :a3605. -:a3606 :a3606 :a3606. -:a3607 :a3607 :a3607. -:a3608 :a3608 :a3608. -:a3609 :a3609 :a3609. -:a3610 :a3610 :a3610. -:a3611 :a3611 :a3611. -:a3612 :a3612 :a3612. -:a3613 :a3613 :a3613. -:a3614 :a3614 :a3614. -:a3615 :a3615 :a3615. -:a3616 :a3616 :a3616. -:a3617 :a3617 :a3617. -:a3618 :a3618 :a3618. -:a3619 :a3619 :a3619. -:a3620 :a3620 :a3620. -:a3621 :a3621 :a3621. -:a3622 :a3622 :a3622. -:a3623 :a3623 :a3623. -:a3624 :a3624 :a3624. -:a3625 :a3625 :a3625. -:a3626 :a3626 :a3626. -:a3627 :a3627 :a3627. -:a3628 :a3628 :a3628. -:a3629 :a3629 :a3629. -:a3630 :a3630 :a3630. -:a3631 :a3631 :a3631. -:a3632 :a3632 :a3632. -:a3633 :a3633 :a3633. -:a3634 :a3634 :a3634. -:a3635 :a3635 :a3635. -:a3636 :a3636 :a3636. -:a3637 :a3637 :a3637. -:a3638 :a3638 :a3638. -:a3639 :a3639 :a3639. -:a3640 :a3640 :a3640. -:a3641 :a3641 :a3641. -:a3642 :a3642 :a3642. -:a3643 :a3643 :a3643. -:a3644 :a3644 :a3644. -:a3645 :a3645 :a3645. -:a3646 :a3646 :a3646. -:a3647 :a3647 :a3647. -:a3648 :a3648 :a3648. -:a3649 :a3649 :a3649. -:a3650 :a3650 :a3650. -:a3651 :a3651 :a3651. -:a3652 :a3652 :a3652. -:a3653 :a3653 :a3653. -:a3654 :a3654 :a3654. -:a3655 :a3655 :a3655. -:a3656 :a3656 :a3656. -:a3657 :a3657 :a3657. -:a3658 :a3658 :a3658. -:a3659 :a3659 :a3659. -:a3660 :a3660 :a3660. -:a3661 :a3661 :a3661. -:a3662 :a3662 :a3662. -:a3663 :a3663 :a3663. -:a3664 :a3664 :a3664. -:a3665 :a3665 :a3665. -:a3666 :a3666 :a3666. -:a3667 :a3667 :a3667. -:a3668 :a3668 :a3668. -:a3669 :a3669 :a3669. -:a3670 :a3670 :a3670. -:a3671 :a3671 :a3671. -:a3672 :a3672 :a3672. -:a3673 :a3673 :a3673. -:a3674 :a3674 :a3674. -:a3675 :a3675 :a3675. -:a3676 :a3676 :a3676. -:a3677 :a3677 :a3677. -:a3678 :a3678 :a3678. -:a3679 :a3679 :a3679. -:a3680 :a3680 :a3680. -:a3681 :a3681 :a3681. -:a3682 :a3682 :a3682. -:a3683 :a3683 :a3683. -:a3684 :a3684 :a3684. -:a3685 :a3685 :a3685. -:a3686 :a3686 :a3686. -:a3687 :a3687 :a3687. -:a3688 :a3688 :a3688. -:a3689 :a3689 :a3689. -:a3690 :a3690 :a3690. -:a3691 :a3691 :a3691. -:a3692 :a3692 :a3692. -:a3693 :a3693 :a3693. -:a3694 :a3694 :a3694. -:a3695 :a3695 :a3695. -:a3696 :a3696 :a3696. -:a3697 :a3697 :a3697. -:a3698 :a3698 :a3698. -:a3699 :a3699 :a3699. -:a3700 :a3700 :a3700. -:a3701 :a3701 :a3701. -:a3702 :a3702 :a3702. -:a3703 :a3703 :a3703. -:a3704 :a3704 :a3704. -:a3705 :a3705 :a3705. -:a3706 :a3706 :a3706. -:a3707 :a3707 :a3707. -:a3708 :a3708 :a3708. -:a3709 :a3709 :a3709. -:a3710 :a3710 :a3710. -:a3711 :a3711 :a3711. -:a3712 :a3712 :a3712. -:a3713 :a3713 :a3713. -:a3714 :a3714 :a3714. -:a3715 :a3715 :a3715. -:a3716 :a3716 :a3716. -:a3717 :a3717 :a3717. -:a3718 :a3718 :a3718. -:a3719 :a3719 :a3719. -:a3720 :a3720 :a3720. -:a3721 :a3721 :a3721. -:a3722 :a3722 :a3722. -:a3723 :a3723 :a3723. -:a3724 :a3724 :a3724. -:a3725 :a3725 :a3725. -:a3726 :a3726 :a3726. -:a3727 :a3727 :a3727. -:a3728 :a3728 :a3728. -:a3729 :a3729 :a3729. -:a3730 :a3730 :a3730. -:a3731 :a3731 :a3731. -:a3732 :a3732 :a3732. -:a3733 :a3733 :a3733. -:a3734 :a3734 :a3734. -:a3735 :a3735 :a3735. -:a3736 :a3736 :a3736. -:a3737 :a3737 :a3737. -:a3738 :a3738 :a3738. -:a3739 :a3739 :a3739. -:a3740 :a3740 :a3740. -:a3741 :a3741 :a3741. -:a3742 :a3742 :a3742. -:a3743 :a3743 :a3743. -:a3744 :a3744 :a3744. -:a3745 :a3745 :a3745. -:a3746 :a3746 :a3746. -:a3747 :a3747 :a3747. -:a3748 :a3748 :a3748. -:a3749 :a3749 :a3749. -:a3750 :a3750 :a3750. -:a3751 :a3751 :a3751. -:a3752 :a3752 :a3752. -:a3753 :a3753 :a3753. -:a3754 :a3754 :a3754. -:a3755 :a3755 :a3755. -:a3756 :a3756 :a3756. -:a3757 :a3757 :a3757. -:a3758 :a3758 :a3758. -:a3759 :a3759 :a3759. -:a3760 :a3760 :a3760. -:a3761 :a3761 :a3761. -:a3762 :a3762 :a3762. -:a3763 :a3763 :a3763. -:a3764 :a3764 :a3764. -:a3765 :a3765 :a3765. -:a3766 :a3766 :a3766. -:a3767 :a3767 :a3767. -:a3768 :a3768 :a3768. -:a3769 :a3769 :a3769. -:a3770 :a3770 :a3770. -:a3771 :a3771 :a3771. -:a3772 :a3772 :a3772. -:a3773 :a3773 :a3773. -:a3774 :a3774 :a3774. -:a3775 :a3775 :a3775. -:a3776 :a3776 :a3776. -:a3777 :a3777 :a3777. -:a3778 :a3778 :a3778. -:a3779 :a3779 :a3779. -:a3780 :a3780 :a3780. -:a3781 :a3781 :a3781. -:a3782 :a3782 :a3782. -:a3783 :a3783 :a3783. -:a3784 :a3784 :a3784. -:a3785 :a3785 :a3785. -:a3786 :a3786 :a3786. -:a3787 :a3787 :a3787. -:a3788 :a3788 :a3788. -:a3789 :a3789 :a3789. -:a3790 :a3790 :a3790. -:a3791 :a3791 :a3791. -:a3792 :a3792 :a3792. -:a3793 :a3793 :a3793. -:a3794 :a3794 :a3794. -:a3795 :a3795 :a3795. -:a3796 :a3796 :a3796. -:a3797 :a3797 :a3797. -:a3798 :a3798 :a3798. -:a3799 :a3799 :a3799. -:a3800 :a3800 :a3800. -:a3801 :a3801 :a3801. -:a3802 :a3802 :a3802. -:a3803 :a3803 :a3803. -:a3804 :a3804 :a3804. -:a3805 :a3805 :a3805. -:a3806 :a3806 :a3806. -:a3807 :a3807 :a3807. -:a3808 :a3808 :a3808. -:a3809 :a3809 :a3809. -:a3810 :a3810 :a3810. -:a3811 :a3811 :a3811. -:a3812 :a3812 :a3812. -:a3813 :a3813 :a3813. -:a3814 :a3814 :a3814. -:a3815 :a3815 :a3815. -:a3816 :a3816 :a3816. -:a3817 :a3817 :a3817. -:a3818 :a3818 :a3818. -:a3819 :a3819 :a3819. -:a3820 :a3820 :a3820. -:a3821 :a3821 :a3821. -:a3822 :a3822 :a3822. -:a3823 :a3823 :a3823. -:a3824 :a3824 :a3824. -:a3825 :a3825 :a3825. -:a3826 :a3826 :a3826. -:a3827 :a3827 :a3827. -:a3828 :a3828 :a3828. -:a3829 :a3829 :a3829. -:a3830 :a3830 :a3830. -:a3831 :a3831 :a3831. -:a3832 :a3832 :a3832. -:a3833 :a3833 :a3833. -:a3834 :a3834 :a3834. -:a3835 :a3835 :a3835. -:a3836 :a3836 :a3836. -:a3837 :a3837 :a3837. -:a3838 :a3838 :a3838. -:a3839 :a3839 :a3839. -:a3840 :a3840 :a3840. -:a3841 :a3841 :a3841. -:a3842 :a3842 :a3842. -:a3843 :a3843 :a3843. -:a3844 :a3844 :a3844. -:a3845 :a3845 :a3845. -:a3846 :a3846 :a3846. -:a3847 :a3847 :a3847. -:a3848 :a3848 :a3848. -:a3849 :a3849 :a3849. -:a3850 :a3850 :a3850. -:a3851 :a3851 :a3851. -:a3852 :a3852 :a3852. -:a3853 :a3853 :a3853. -:a3854 :a3854 :a3854. -:a3855 :a3855 :a3855. -:a3856 :a3856 :a3856. -:a3857 :a3857 :a3857. -:a3858 :a3858 :a3858. -:a3859 :a3859 :a3859. -:a3860 :a3860 :a3860. -:a3861 :a3861 :a3861. -:a3862 :a3862 :a3862. -:a3863 :a3863 :a3863. -:a3864 :a3864 :a3864. -:a3865 :a3865 :a3865. -:a3866 :a3866 :a3866. -:a3867 :a3867 :a3867. -:a3868 :a3868 :a3868. -:a3869 :a3869 :a3869. -:a3870 :a3870 :a3870. -:a3871 :a3871 :a3871. -:a3872 :a3872 :a3872. -:a3873 :a3873 :a3873. -:a3874 :a3874 :a3874. -:a3875 :a3875 :a3875. -:a3876 :a3876 :a3876. -:a3877 :a3877 :a3877. -:a3878 :a3878 :a3878. -:a3879 :a3879 :a3879. -:a3880 :a3880 :a3880. -:a3881 :a3881 :a3881. -:a3882 :a3882 :a3882. -:a3883 :a3883 :a3883. -:a3884 :a3884 :a3884. -:a3885 :a3885 :a3885. -:a3886 :a3886 :a3886. -:a3887 :a3887 :a3887. -:a3888 :a3888 :a3888. -:a3889 :a3889 :a3889. -:a3890 :a3890 :a3890. -:a3891 :a3891 :a3891. -:a3892 :a3892 :a3892. -:a3893 :a3893 :a3893. -:a3894 :a3894 :a3894. -:a3895 :a3895 :a3895. -:a3896 :a3896 :a3896. -:a3897 :a3897 :a3897. -:a3898 :a3898 :a3898. -:a3899 :a3899 :a3899. -:a3900 :a3900 :a3900. -:a3901 :a3901 :a3901. -:a3902 :a3902 :a3902. -:a3903 :a3903 :a3903. -:a3904 :a3904 :a3904. -:a3905 :a3905 :a3905. -:a3906 :a3906 :a3906. -:a3907 :a3907 :a3907. -:a3908 :a3908 :a3908. -:a3909 :a3909 :a3909. -:a3910 :a3910 :a3910. -:a3911 :a3911 :a3911. -:a3912 :a3912 :a3912. -:a3913 :a3913 :a3913. -:a3914 :a3914 :a3914. -:a3915 :a3915 :a3915. -:a3916 :a3916 :a3916. -:a3917 :a3917 :a3917. -:a3918 :a3918 :a3918. -:a3919 :a3919 :a3919. -:a3920 :a3920 :a3920. -:a3921 :a3921 :a3921. -:a3922 :a3922 :a3922. -:a3923 :a3923 :a3923. -:a3924 :a3924 :a3924. -:a3925 :a3925 :a3925. -:a3926 :a3926 :a3926. -:a3927 :a3927 :a3927. -:a3928 :a3928 :a3928. -:a3929 :a3929 :a3929. -:a3930 :a3930 :a3930. -:a3931 :a3931 :a3931. -:a3932 :a3932 :a3932. -:a3933 :a3933 :a3933. -:a3934 :a3934 :a3934. -:a3935 :a3935 :a3935. -:a3936 :a3936 :a3936. -:a3937 :a3937 :a3937. -:a3938 :a3938 :a3938. -:a3939 :a3939 :a3939. -:a3940 :a3940 :a3940. -:a3941 :a3941 :a3941. -:a3942 :a3942 :a3942. -:a3943 :a3943 :a3943. -:a3944 :a3944 :a3944. -:a3945 :a3945 :a3945. -:a3946 :a3946 :a3946. -:a3947 :a3947 :a3947. -:a3948 :a3948 :a3948. -:a3949 :a3949 :a3949. -:a3950 :a3950 :a3950. -:a3951 :a3951 :a3951. -:a3952 :a3952 :a3952. -:a3953 :a3953 :a3953. -:a3954 :a3954 :a3954. -:a3955 :a3955 :a3955. -:a3956 :a3956 :a3956. -:a3957 :a3957 :a3957. -:a3958 :a3958 :a3958. -:a3959 :a3959 :a3959. -:a3960 :a3960 :a3960. -:a3961 :a3961 :a3961. -:a3962 :a3962 :a3962. -:a3963 :a3963 :a3963. -:a3964 :a3964 :a3964. -:a3965 :a3965 :a3965. -:a3966 :a3966 :a3966. -:a3967 :a3967 :a3967. -:a3968 :a3968 :a3968. -:a3969 :a3969 :a3969. -:a3970 :a3970 :a3970. -:a3971 :a3971 :a3971. -:a3972 :a3972 :a3972. -:a3973 :a3973 :a3973. -:a3974 :a3974 :a3974. -:a3975 :a3975 :a3975. -:a3976 :a3976 :a3976. -:a3977 :a3977 :a3977. -:a3978 :a3978 :a3978. -:a3979 :a3979 :a3979. -:a3980 :a3980 :a3980. -:a3981 :a3981 :a3981. -:a3982 :a3982 :a3982. -:a3983 :a3983 :a3983. -:a3984 :a3984 :a3984. -:a3985 :a3985 :a3985. -:a3986 :a3986 :a3986. -:a3987 :a3987 :a3987. -:a3988 :a3988 :a3988. -:a3989 :a3989 :a3989. -:a3990 :a3990 :a3990. -:a3991 :a3991 :a3991. -:a3992 :a3992 :a3992. -:a3993 :a3993 :a3993. -:a3994 :a3994 :a3994. -:a3995 :a3995 :a3995. -:a3996 :a3996 :a3996. -:a3997 :a3997 :a3997. -:a3998 :a3998 :a3998. -:a3999 :a3999 :a3999. -:a4000 :a4000 :a4000. -:a4001 :a4001 :a4001. -:a4002 :a4002 :a4002. -:a4003 :a4003 :a4003. -:a4004 :a4004 :a4004. -:a4005 :a4005 :a4005. -:a4006 :a4006 :a4006. -:a4007 :a4007 :a4007. -:a4008 :a4008 :a4008. -:a4009 :a4009 :a4009. -:a4010 :a4010 :a4010. -:a4011 :a4011 :a4011. -:a4012 :a4012 :a4012. -:a4013 :a4013 :a4013. -:a4014 :a4014 :a4014. -:a4015 :a4015 :a4015. -:a4016 :a4016 :a4016. -:a4017 :a4017 :a4017. -:a4018 :a4018 :a4018. -:a4019 :a4019 :a4019. -:a4020 :a4020 :a4020. -:a4021 :a4021 :a4021. -:a4022 :a4022 :a4022. -:a4023 :a4023 :a4023. -:a4024 :a4024 :a4024. -:a4025 :a4025 :a4025. -:a4026 :a4026 :a4026. -:a4027 :a4027 :a4027. -:a4028 :a4028 :a4028. -:a4029 :a4029 :a4029. -:a4030 :a4030 :a4030. -:a4031 :a4031 :a4031. -:a4032 :a4032 :a4032. -:a4033 :a4033 :a4033. -:a4034 :a4034 :a4034. -:a4035 :a4035 :a4035. -:a4036 :a4036 :a4036. -:a4037 :a4037 :a4037. -:a4038 :a4038 :a4038. -:a4039 :a4039 :a4039. -:a4040 :a4040 :a4040. -:a4041 :a4041 :a4041. -:a4042 :a4042 :a4042. -:a4043 :a4043 :a4043. -:a4044 :a4044 :a4044. -:a4045 :a4045 :a4045. -:a4046 :a4046 :a4046. -:a4047 :a4047 :a4047. -:a4048 :a4048 :a4048. -:a4049 :a4049 :a4049. -:a4050 :a4050 :a4050. -:a4051 :a4051 :a4051. -:a4052 :a4052 :a4052. -:a4053 :a4053 :a4053. -:a4054 :a4054 :a4054. -:a4055 :a4055 :a4055. -:a4056 :a4056 :a4056. -:a4057 :a4057 :a4057. -:a4058 :a4058 :a4058. -:a4059 :a4059 :a4059. -:a4060 :a4060 :a4060. -:a4061 :a4061 :a4061. -:a4062 :a4062 :a4062. -:a4063 :a4063 :a4063. -:a4064 :a4064 :a4064. -:a4065 :a4065 :a4065. -:a4066 :a4066 :a4066. -:a4067 :a4067 :a4067. -:a4068 :a4068 :a4068. -:a4069 :a4069 :a4069. -:a4070 :a4070 :a4070. -:a4071 :a4071 :a4071. -:a4072 :a4072 :a4072. -:a4073 :a4073 :a4073. -:a4074 :a4074 :a4074. -:a4075 :a4075 :a4075. -:a4076 :a4076 :a4076. -:a4077 :a4077 :a4077. -:a4078 :a4078 :a4078. -:a4079 :a4079 :a4079. -:a4080 :a4080 :a4080. -:a4081 :a4081 :a4081. -:a4082 :a4082 :a4082. -:a4083 :a4083 :a4083. -:a4084 :a4084 :a4084. -:a4085 :a4085 :a4085. -:a4086 :a4086 :a4086. -:a4087 :a4087 :a4087. -:a4088 :a4088 :a4088. -:a4089 :a4089 :a4089. -:a4090 :a4090 :a4090. -:a4091 :a4091 :a4091. -:a4092 :a4092 :a4092. -:a4093 :a4093 :a4093. -:a4094 :a4094 :a4094. -:a4095 :a4095 :a4095. -:a4096 :a4096 :a4096. -:a4097 :a4097 :a4097. -:a4098 :a4098 :a4098. -:a4099 :a4099 :a4099. -:a4100 :a4100 :a4100. -:a4101 :a4101 :a4101. -:a4102 :a4102 :a4102. -:a4103 :a4103 :a4103. -:a4104 :a4104 :a4104. -:a4105 :a4105 :a4105. -:a4106 :a4106 :a4106. -:a4107 :a4107 :a4107. -:a4108 :a4108 :a4108. -:a4109 :a4109 :a4109. -:a4110 :a4110 :a4110. -:a4111 :a4111 :a4111. -:a4112 :a4112 :a4112. -:a4113 :a4113 :a4113. -:a4114 :a4114 :a4114. -:a4115 :a4115 :a4115. -:a4116 :a4116 :a4116. -:a4117 :a4117 :a4117. -:a4118 :a4118 :a4118. -:a4119 :a4119 :a4119. -:a4120 :a4120 :a4120. -:a4121 :a4121 :a4121. -:a4122 :a4122 :a4122. -:a4123 :a4123 :a4123. -:a4124 :a4124 :a4124. -:a4125 :a4125 :a4125. -:a4126 :a4126 :a4126. -:a4127 :a4127 :a4127. -:a4128 :a4128 :a4128. -:a4129 :a4129 :a4129. -:a4130 :a4130 :a4130. -:a4131 :a4131 :a4131. -:a4132 :a4132 :a4132. -:a4133 :a4133 :a4133. -:a4134 :a4134 :a4134. -:a4135 :a4135 :a4135. -:a4136 :a4136 :a4136. -:a4137 :a4137 :a4137. -:a4138 :a4138 :a4138. -:a4139 :a4139 :a4139. -:a4140 :a4140 :a4140. -:a4141 :a4141 :a4141. -:a4142 :a4142 :a4142. -:a4143 :a4143 :a4143. -:a4144 :a4144 :a4144. -:a4145 :a4145 :a4145. -:a4146 :a4146 :a4146. -:a4147 :a4147 :a4147. -:a4148 :a4148 :a4148. -:a4149 :a4149 :a4149. -:a4150 :a4150 :a4150. -:a4151 :a4151 :a4151. -:a4152 :a4152 :a4152. -:a4153 :a4153 :a4153. -:a4154 :a4154 :a4154. -:a4155 :a4155 :a4155. -:a4156 :a4156 :a4156. -:a4157 :a4157 :a4157. -:a4158 :a4158 :a4158. -:a4159 :a4159 :a4159. -:a4160 :a4160 :a4160. -:a4161 :a4161 :a4161. -:a4162 :a4162 :a4162. -:a4163 :a4163 :a4163. -:a4164 :a4164 :a4164. -:a4165 :a4165 :a4165. -:a4166 :a4166 :a4166. -:a4167 :a4167 :a4167. -:a4168 :a4168 :a4168. -:a4169 :a4169 :a4169. -:a4170 :a4170 :a4170. -:a4171 :a4171 :a4171. -:a4172 :a4172 :a4172. -:a4173 :a4173 :a4173. -:a4174 :a4174 :a4174. -:a4175 :a4175 :a4175. -:a4176 :a4176 :a4176. -:a4177 :a4177 :a4177. -:a4178 :a4178 :a4178. -:a4179 :a4179 :a4179. -:a4180 :a4180 :a4180. -:a4181 :a4181 :a4181. -:a4182 :a4182 :a4182. -:a4183 :a4183 :a4183. -:a4184 :a4184 :a4184. -:a4185 :a4185 :a4185. -:a4186 :a4186 :a4186. -:a4187 :a4187 :a4187. -:a4188 :a4188 :a4188. -:a4189 :a4189 :a4189. -:a4190 :a4190 :a4190. -:a4191 :a4191 :a4191. -:a4192 :a4192 :a4192. -:a4193 :a4193 :a4193. -:a4194 :a4194 :a4194. -:a4195 :a4195 :a4195. -:a4196 :a4196 :a4196. -:a4197 :a4197 :a4197. -:a4198 :a4198 :a4198. -:a4199 :a4199 :a4199. -:a4200 :a4200 :a4200. -:a4201 :a4201 :a4201. -:a4202 :a4202 :a4202. -:a4203 :a4203 :a4203. -:a4204 :a4204 :a4204. -:a4205 :a4205 :a4205. -:a4206 :a4206 :a4206. -:a4207 :a4207 :a4207. -:a4208 :a4208 :a4208. -:a4209 :a4209 :a4209. -:a4210 :a4210 :a4210. -:a4211 :a4211 :a4211. -:a4212 :a4212 :a4212. -:a4213 :a4213 :a4213. -:a4214 :a4214 :a4214. -:a4215 :a4215 :a4215. -:a4216 :a4216 :a4216. -:a4217 :a4217 :a4217. -:a4218 :a4218 :a4218. -:a4219 :a4219 :a4219. -:a4220 :a4220 :a4220. -:a4221 :a4221 :a4221. -:a4222 :a4222 :a4222. -:a4223 :a4223 :a4223. -:a4224 :a4224 :a4224. -:a4225 :a4225 :a4225. -:a4226 :a4226 :a4226. -:a4227 :a4227 :a4227. -:a4228 :a4228 :a4228. -:a4229 :a4229 :a4229. -:a4230 :a4230 :a4230. -:a4231 :a4231 :a4231. -:a4232 :a4232 :a4232. -:a4233 :a4233 :a4233. -:a4234 :a4234 :a4234. -:a4235 :a4235 :a4235. -:a4236 :a4236 :a4236. -:a4237 :a4237 :a4237. -:a4238 :a4238 :a4238. -:a4239 :a4239 :a4239. -:a4240 :a4240 :a4240. -:a4241 :a4241 :a4241. -:a4242 :a4242 :a4242. -:a4243 :a4243 :a4243. -:a4244 :a4244 :a4244. -:a4245 :a4245 :a4245. -:a4246 :a4246 :a4246. -:a4247 :a4247 :a4247. -:a4248 :a4248 :a4248. -:a4249 :a4249 :a4249. -:a4250 :a4250 :a4250. -:a4251 :a4251 :a4251. -:a4252 :a4252 :a4252. -:a4253 :a4253 :a4253. -:a4254 :a4254 :a4254. -:a4255 :a4255 :a4255. -:a4256 :a4256 :a4256. -:a4257 :a4257 :a4257. -:a4258 :a4258 :a4258. -:a4259 :a4259 :a4259. -:a4260 :a4260 :a4260. -:a4261 :a4261 :a4261. -:a4262 :a4262 :a4262. -:a4263 :a4263 :a4263. -:a4264 :a4264 :a4264. -:a4265 :a4265 :a4265. -:a4266 :a4266 :a4266. -:a4267 :a4267 :a4267. -:a4268 :a4268 :a4268. -:a4269 :a4269 :a4269. -:a4270 :a4270 :a4270. -:a4271 :a4271 :a4271. -:a4272 :a4272 :a4272. -:a4273 :a4273 :a4273. -:a4274 :a4274 :a4274. -:a4275 :a4275 :a4275. -:a4276 :a4276 :a4276. -:a4277 :a4277 :a4277. -:a4278 :a4278 :a4278. -:a4279 :a4279 :a4279. -:a4280 :a4280 :a4280. -:a4281 :a4281 :a4281. -:a4282 :a4282 :a4282. -:a4283 :a4283 :a4283. -:a4284 :a4284 :a4284. -:a4285 :a4285 :a4285. -:a4286 :a4286 :a4286. -:a4287 :a4287 :a4287. -:a4288 :a4288 :a4288. -:a4289 :a4289 :a4289. -:a4290 :a4290 :a4290. -:a4291 :a4291 :a4291. -:a4292 :a4292 :a4292. -:a4293 :a4293 :a4293. -:a4294 :a4294 :a4294. -:a4295 :a4295 :a4295. -:a4296 :a4296 :a4296. -:a4297 :a4297 :a4297. -:a4298 :a4298 :a4298. -:a4299 :a4299 :a4299. -:a4300 :a4300 :a4300. -:a4301 :a4301 :a4301. -:a4302 :a4302 :a4302. -:a4303 :a4303 :a4303. -:a4304 :a4304 :a4304. -:a4305 :a4305 :a4305. -:a4306 :a4306 :a4306. -:a4307 :a4307 :a4307. -:a4308 :a4308 :a4308. -:a4309 :a4309 :a4309. -:a4310 :a4310 :a4310. -:a4311 :a4311 :a4311. -:a4312 :a4312 :a4312. -:a4313 :a4313 :a4313. -:a4314 :a4314 :a4314. -:a4315 :a4315 :a4315. -:a4316 :a4316 :a4316. -:a4317 :a4317 :a4317. -:a4318 :a4318 :a4318. -:a4319 :a4319 :a4319. -:a4320 :a4320 :a4320. -:a4321 :a4321 :a4321. -:a4322 :a4322 :a4322. -:a4323 :a4323 :a4323. -:a4324 :a4324 :a4324. -:a4325 :a4325 :a4325. -:a4326 :a4326 :a4326. -:a4327 :a4327 :a4327. -:a4328 :a4328 :a4328. -:a4329 :a4329 :a4329. -:a4330 :a4330 :a4330. -:a4331 :a4331 :a4331. -:a4332 :a4332 :a4332. -:a4333 :a4333 :a4333. -:a4334 :a4334 :a4334. -:a4335 :a4335 :a4335. -:a4336 :a4336 :a4336. -:a4337 :a4337 :a4337. -:a4338 :a4338 :a4338. -:a4339 :a4339 :a4339. -:a4340 :a4340 :a4340. -:a4341 :a4341 :a4341. -:a4342 :a4342 :a4342. -:a4343 :a4343 :a4343. -:a4344 :a4344 :a4344. -:a4345 :a4345 :a4345. -:a4346 :a4346 :a4346. -:a4347 :a4347 :a4347. -:a4348 :a4348 :a4348. -:a4349 :a4349 :a4349. -:a4350 :a4350 :a4350. -:a4351 :a4351 :a4351. -:a4352 :a4352 :a4352. -:a4353 :a4353 :a4353. -:a4354 :a4354 :a4354. -:a4355 :a4355 :a4355. -:a4356 :a4356 :a4356. -:a4357 :a4357 :a4357. -:a4358 :a4358 :a4358. -:a4359 :a4359 :a4359. -:a4360 :a4360 :a4360. -:a4361 :a4361 :a4361. -:a4362 :a4362 :a4362. -:a4363 :a4363 :a4363. -:a4364 :a4364 :a4364. -:a4365 :a4365 :a4365. -:a4366 :a4366 :a4366. -:a4367 :a4367 :a4367. -:a4368 :a4368 :a4368. -:a4369 :a4369 :a4369. -:a4370 :a4370 :a4370. -:a4371 :a4371 :a4371. -:a4372 :a4372 :a4372. -:a4373 :a4373 :a4373. -:a4374 :a4374 :a4374. -:a4375 :a4375 :a4375. -:a4376 :a4376 :a4376. -:a4377 :a4377 :a4377. -:a4378 :a4378 :a4378. -:a4379 :a4379 :a4379. -:a4380 :a4380 :a4380. -:a4381 :a4381 :a4381. -:a4382 :a4382 :a4382. -:a4383 :a4383 :a4383. -:a4384 :a4384 :a4384. -:a4385 :a4385 :a4385. -:a4386 :a4386 :a4386. -:a4387 :a4387 :a4387. -:a4388 :a4388 :a4388. -:a4389 :a4389 :a4389. -:a4390 :a4390 :a4390. -:a4391 :a4391 :a4391. -:a4392 :a4392 :a4392. -:a4393 :a4393 :a4393. -:a4394 :a4394 :a4394. -:a4395 :a4395 :a4395. -:a4396 :a4396 :a4396. -:a4397 :a4397 :a4397. -:a4398 :a4398 :a4398. -:a4399 :a4399 :a4399. -:a4400 :a4400 :a4400. -:a4401 :a4401 :a4401. -:a4402 :a4402 :a4402. -:a4403 :a4403 :a4403. -:a4404 :a4404 :a4404. -:a4405 :a4405 :a4405. -:a4406 :a4406 :a4406. -:a4407 :a4407 :a4407. -:a4408 :a4408 :a4408. -:a4409 :a4409 :a4409. -:a4410 :a4410 :a4410. -:a4411 :a4411 :a4411. -:a4412 :a4412 :a4412. -:a4413 :a4413 :a4413. -:a4414 :a4414 :a4414. -:a4415 :a4415 :a4415. -:a4416 :a4416 :a4416. -:a4417 :a4417 :a4417. -:a4418 :a4418 :a4418. -:a4419 :a4419 :a4419. -:a4420 :a4420 :a4420. -:a4421 :a4421 :a4421. -:a4422 :a4422 :a4422. -:a4423 :a4423 :a4423. -:a4424 :a4424 :a4424. -:a4425 :a4425 :a4425. -:a4426 :a4426 :a4426. -:a4427 :a4427 :a4427. -:a4428 :a4428 :a4428. -:a4429 :a4429 :a4429. -:a4430 :a4430 :a4430. -:a4431 :a4431 :a4431. -:a4432 :a4432 :a4432. -:a4433 :a4433 :a4433. -:a4434 :a4434 :a4434. -:a4435 :a4435 :a4435. -:a4436 :a4436 :a4436. -:a4437 :a4437 :a4437. -:a4438 :a4438 :a4438. -:a4439 :a4439 :a4439. -:a4440 :a4440 :a4440. -:a4441 :a4441 :a4441. -:a4442 :a4442 :a4442. -:a4443 :a4443 :a4443. -:a4444 :a4444 :a4444. -:a4445 :a4445 :a4445. -:a4446 :a4446 :a4446. -:a4447 :a4447 :a4447. -:a4448 :a4448 :a4448. -:a4449 :a4449 :a4449. -:a4450 :a4450 :a4450. -:a4451 :a4451 :a4451. -:a4452 :a4452 :a4452. -:a4453 :a4453 :a4453. -:a4454 :a4454 :a4454. -:a4455 :a4455 :a4455. -:a4456 :a4456 :a4456. -:a4457 :a4457 :a4457. -:a4458 :a4458 :a4458. -:a4459 :a4459 :a4459. -:a4460 :a4460 :a4460. -:a4461 :a4461 :a4461. -:a4462 :a4462 :a4462. -:a4463 :a4463 :a4463. -:a4464 :a4464 :a4464. -:a4465 :a4465 :a4465. -:a4466 :a4466 :a4466. -:a4467 :a4467 :a4467. -:a4468 :a4468 :a4468. -:a4469 :a4469 :a4469. -:a4470 :a4470 :a4470. -:a4471 :a4471 :a4471. -:a4472 :a4472 :a4472. -:a4473 :a4473 :a4473. -:a4474 :a4474 :a4474. -:a4475 :a4475 :a4475. -:a4476 :a4476 :a4476. -:a4477 :a4477 :a4477. -:a4478 :a4478 :a4478. -:a4479 :a4479 :a4479. -:a4480 :a4480 :a4480. -:a4481 :a4481 :a4481. -:a4482 :a4482 :a4482. -:a4483 :a4483 :a4483. -:a4484 :a4484 :a4484. -:a4485 :a4485 :a4485. -:a4486 :a4486 :a4486. -:a4487 :a4487 :a4487. -:a4488 :a4488 :a4488. -:a4489 :a4489 :a4489. -:a4490 :a4490 :a4490. -:a4491 :a4491 :a4491. -:a4492 :a4492 :a4492. -:a4493 :a4493 :a4493. -:a4494 :a4494 :a4494. -:a4495 :a4495 :a4495. -:a4496 :a4496 :a4496. -:a4497 :a4497 :a4497. -:a4498 :a4498 :a4498. -:a4499 :a4499 :a4499. -:a4500 :a4500 :a4500. -:a4501 :a4501 :a4501. -:a4502 :a4502 :a4502. -:a4503 :a4503 :a4503. -:a4504 :a4504 :a4504. -:a4505 :a4505 :a4505. -:a4506 :a4506 :a4506. -:a4507 :a4507 :a4507. -:a4508 :a4508 :a4508. -:a4509 :a4509 :a4509. -:a4510 :a4510 :a4510. -:a4511 :a4511 :a4511. -:a4512 :a4512 :a4512. -:a4513 :a4513 :a4513. -:a4514 :a4514 :a4514. -:a4515 :a4515 :a4515. -:a4516 :a4516 :a4516. -:a4517 :a4517 :a4517. -:a4518 :a4518 :a4518. -:a4519 :a4519 :a4519. -:a4520 :a4520 :a4520. -:a4521 :a4521 :a4521. -:a4522 :a4522 :a4522. -:a4523 :a4523 :a4523. -:a4524 :a4524 :a4524. -:a4525 :a4525 :a4525. -:a4526 :a4526 :a4526. -:a4527 :a4527 :a4527. -:a4528 :a4528 :a4528. -:a4529 :a4529 :a4529. -:a4530 :a4530 :a4530. -:a4531 :a4531 :a4531. -:a4532 :a4532 :a4532. -:a4533 :a4533 :a4533. -:a4534 :a4534 :a4534. -:a4535 :a4535 :a4535. -:a4536 :a4536 :a4536. -:a4537 :a4537 :a4537. -:a4538 :a4538 :a4538. -:a4539 :a4539 :a4539. -:a4540 :a4540 :a4540. -:a4541 :a4541 :a4541. -:a4542 :a4542 :a4542. -:a4543 :a4543 :a4543. -:a4544 :a4544 :a4544. -:a4545 :a4545 :a4545. -:a4546 :a4546 :a4546. -:a4547 :a4547 :a4547. -:a4548 :a4548 :a4548. -:a4549 :a4549 :a4549. -:a4550 :a4550 :a4550. -:a4551 :a4551 :a4551. -:a4552 :a4552 :a4552. -:a4553 :a4553 :a4553. -:a4554 :a4554 :a4554. -:a4555 :a4555 :a4555. -:a4556 :a4556 :a4556. -:a4557 :a4557 :a4557. -:a4558 :a4558 :a4558. -:a4559 :a4559 :a4559. -:a4560 :a4560 :a4560. -:a4561 :a4561 :a4561. -:a4562 :a4562 :a4562. -:a4563 :a4563 :a4563. -:a4564 :a4564 :a4564. -:a4565 :a4565 :a4565. -:a4566 :a4566 :a4566. -:a4567 :a4567 :a4567. -:a4568 :a4568 :a4568. -:a4569 :a4569 :a4569. -:a4570 :a4570 :a4570. -:a4571 :a4571 :a4571. -:a4572 :a4572 :a4572. -:a4573 :a4573 :a4573. -:a4574 :a4574 :a4574. -:a4575 :a4575 :a4575. -:a4576 :a4576 :a4576. -:a4577 :a4577 :a4577. -:a4578 :a4578 :a4578. -:a4579 :a4579 :a4579. -:a4580 :a4580 :a4580. -:a4581 :a4581 :a4581. -:a4582 :a4582 :a4582. -:a4583 :a4583 :a4583. -:a4584 :a4584 :a4584. -:a4585 :a4585 :a4585. -:a4586 :a4586 :a4586. -:a4587 :a4587 :a4587. -:a4588 :a4588 :a4588. -:a4589 :a4589 :a4589. -:a4590 :a4590 :a4590. -:a4591 :a4591 :a4591. -:a4592 :a4592 :a4592. -:a4593 :a4593 :a4593. -:a4594 :a4594 :a4594. -:a4595 :a4595 :a4595. -:a4596 :a4596 :a4596. -:a4597 :a4597 :a4597. -:a4598 :a4598 :a4598. -:a4599 :a4599 :a4599. -:a4600 :a4600 :a4600. -:a4601 :a4601 :a4601. -:a4602 :a4602 :a4602. -:a4603 :a4603 :a4603. -:a4604 :a4604 :a4604. -:a4605 :a4605 :a4605. -:a4606 :a4606 :a4606. -:a4607 :a4607 :a4607. -:a4608 :a4608 :a4608. -:a4609 :a4609 :a4609. -:a4610 :a4610 :a4610. -:a4611 :a4611 :a4611. -:a4612 :a4612 :a4612. -:a4613 :a4613 :a4613. -:a4614 :a4614 :a4614. -:a4615 :a4615 :a4615. -:a4616 :a4616 :a4616. -:a4617 :a4617 :a4617. -:a4618 :a4618 :a4618. -:a4619 :a4619 :a4619. -:a4620 :a4620 :a4620. -:a4621 :a4621 :a4621. -:a4622 :a4622 :a4622. -:a4623 :a4623 :a4623. -:a4624 :a4624 :a4624. -:a4625 :a4625 :a4625. -:a4626 :a4626 :a4626. -:a4627 :a4627 :a4627. -:a4628 :a4628 :a4628. -:a4629 :a4629 :a4629. -:a4630 :a4630 :a4630. -:a4631 :a4631 :a4631. -:a4632 :a4632 :a4632. -:a4633 :a4633 :a4633. -:a4634 :a4634 :a4634. -:a4635 :a4635 :a4635. -:a4636 :a4636 :a4636. -:a4637 :a4637 :a4637. -:a4638 :a4638 :a4638. -:a4639 :a4639 :a4639. -:a4640 :a4640 :a4640. -:a4641 :a4641 :a4641. -:a4642 :a4642 :a4642. -:a4643 :a4643 :a4643. -:a4644 :a4644 :a4644. -:a4645 :a4645 :a4645. -:a4646 :a4646 :a4646. -:a4647 :a4647 :a4647. -:a4648 :a4648 :a4648. -:a4649 :a4649 :a4649. -:a4650 :a4650 :a4650. -:a4651 :a4651 :a4651. -:a4652 :a4652 :a4652. -:a4653 :a4653 :a4653. -:a4654 :a4654 :a4654. -:a4655 :a4655 :a4655. -:a4656 :a4656 :a4656. -:a4657 :a4657 :a4657. -:a4658 :a4658 :a4658. -:a4659 :a4659 :a4659. -:a4660 :a4660 :a4660. -:a4661 :a4661 :a4661. -:a4662 :a4662 :a4662. -:a4663 :a4663 :a4663. -:a4664 :a4664 :a4664. -:a4665 :a4665 :a4665. -:a4666 :a4666 :a4666. -:a4667 :a4667 :a4667. -:a4668 :a4668 :a4668. -:a4669 :a4669 :a4669. -:a4670 :a4670 :a4670. -:a4671 :a4671 :a4671. -:a4672 :a4672 :a4672. -:a4673 :a4673 :a4673. -:a4674 :a4674 :a4674. -:a4675 :a4675 :a4675. -:a4676 :a4676 :a4676. -:a4677 :a4677 :a4677. -:a4678 :a4678 :a4678. -:a4679 :a4679 :a4679. -:a4680 :a4680 :a4680. -:a4681 :a4681 :a4681. -:a4682 :a4682 :a4682. -:a4683 :a4683 :a4683. -:a4684 :a4684 :a4684. -:a4685 :a4685 :a4685. -:a4686 :a4686 :a4686. -:a4687 :a4687 :a4687. -:a4688 :a4688 :a4688. -:a4689 :a4689 :a4689. -:a4690 :a4690 :a4690. -:a4691 :a4691 :a4691. -:a4692 :a4692 :a4692. -:a4693 :a4693 :a4693. -:a4694 :a4694 :a4694. -:a4695 :a4695 :a4695. -:a4696 :a4696 :a4696. -:a4697 :a4697 :a4697. -:a4698 :a4698 :a4698. -:a4699 :a4699 :a4699. -:a4700 :a4700 :a4700. -:a4701 :a4701 :a4701. -:a4702 :a4702 :a4702. -:a4703 :a4703 :a4703. -:a4704 :a4704 :a4704. -:a4705 :a4705 :a4705. -:a4706 :a4706 :a4706. -:a4707 :a4707 :a4707. -:a4708 :a4708 :a4708. -:a4709 :a4709 :a4709. -:a4710 :a4710 :a4710. -:a4711 :a4711 :a4711. -:a4712 :a4712 :a4712. -:a4713 :a4713 :a4713. -:a4714 :a4714 :a4714. -:a4715 :a4715 :a4715. -:a4716 :a4716 :a4716. -:a4717 :a4717 :a4717. -:a4718 :a4718 :a4718. -:a4719 :a4719 :a4719. -:a4720 :a4720 :a4720. -:a4721 :a4721 :a4721. -:a4722 :a4722 :a4722. -:a4723 :a4723 :a4723. -:a4724 :a4724 :a4724. -:a4725 :a4725 :a4725. -:a4726 :a4726 :a4726. -:a4727 :a4727 :a4727. -:a4728 :a4728 :a4728. -:a4729 :a4729 :a4729. -:a4730 :a4730 :a4730. -:a4731 :a4731 :a4731. -:a4732 :a4732 :a4732. -:a4733 :a4733 :a4733. -:a4734 :a4734 :a4734. -:a4735 :a4735 :a4735. -:a4736 :a4736 :a4736. -:a4737 :a4737 :a4737. -:a4738 :a4738 :a4738. -:a4739 :a4739 :a4739. -:a4740 :a4740 :a4740. -:a4741 :a4741 :a4741. -:a4742 :a4742 :a4742. -:a4743 :a4743 :a4743. -:a4744 :a4744 :a4744. -:a4745 :a4745 :a4745. -:a4746 :a4746 :a4746. -:a4747 :a4747 :a4747. -:a4748 :a4748 :a4748. -:a4749 :a4749 :a4749. -:a4750 :a4750 :a4750. -:a4751 :a4751 :a4751. -:a4752 :a4752 :a4752. -:a4753 :a4753 :a4753. -:a4754 :a4754 :a4754. -:a4755 :a4755 :a4755. -:a4756 :a4756 :a4756. -:a4757 :a4757 :a4757. -:a4758 :a4758 :a4758. -:a4759 :a4759 :a4759. -:a4760 :a4760 :a4760. -:a4761 :a4761 :a4761. -:a4762 :a4762 :a4762. -:a4763 :a4763 :a4763. -:a4764 :a4764 :a4764. -:a4765 :a4765 :a4765. -:a4766 :a4766 :a4766. -:a4767 :a4767 :a4767. -:a4768 :a4768 :a4768. -:a4769 :a4769 :a4769. -:a4770 :a4770 :a4770. -:a4771 :a4771 :a4771. -:a4772 :a4772 :a4772. -:a4773 :a4773 :a4773. -:a4774 :a4774 :a4774. -:a4775 :a4775 :a4775. -:a4776 :a4776 :a4776. -:a4777 :a4777 :a4777. -:a4778 :a4778 :a4778. -:a4779 :a4779 :a4779. -:a4780 :a4780 :a4780. -:a4781 :a4781 :a4781. -:a4782 :a4782 :a4782. -:a4783 :a4783 :a4783. -:a4784 :a4784 :a4784. -:a4785 :a4785 :a4785. -:a4786 :a4786 :a4786. -:a4787 :a4787 :a4787. -:a4788 :a4788 :a4788. -:a4789 :a4789 :a4789. -:a4790 :a4790 :a4790. -:a4791 :a4791 :a4791. -:a4792 :a4792 :a4792. -:a4793 :a4793 :a4793. -:a4794 :a4794 :a4794. -:a4795 :a4795 :a4795. -:a4796 :a4796 :a4796. -:a4797 :a4797 :a4797. -:a4798 :a4798 :a4798. -:a4799 :a4799 :a4799. -:a4800 :a4800 :a4800. -:a4801 :a4801 :a4801. -:a4802 :a4802 :a4802. -:a4803 :a4803 :a4803. -:a4804 :a4804 :a4804. -:a4805 :a4805 :a4805. -:a4806 :a4806 :a4806. -:a4807 :a4807 :a4807. -:a4808 :a4808 :a4808. -:a4809 :a4809 :a4809. -:a4810 :a4810 :a4810. -:a4811 :a4811 :a4811. -:a4812 :a4812 :a4812. -:a4813 :a4813 :a4813. -:a4814 :a4814 :a4814. -:a4815 :a4815 :a4815. -:a4816 :a4816 :a4816. -:a4817 :a4817 :a4817. -:a4818 :a4818 :a4818. -:a4819 :a4819 :a4819. -:a4820 :a4820 :a4820. -:a4821 :a4821 :a4821. -:a4822 :a4822 :a4822. -:a4823 :a4823 :a4823. -:a4824 :a4824 :a4824. -:a4825 :a4825 :a4825. -:a4826 :a4826 :a4826. -:a4827 :a4827 :a4827. -:a4828 :a4828 :a4828. -:a4829 :a4829 :a4829. -:a4830 :a4830 :a4830. -:a4831 :a4831 :a4831. -:a4832 :a4832 :a4832. -:a4833 :a4833 :a4833. -:a4834 :a4834 :a4834. -:a4835 :a4835 :a4835. -:a4836 :a4836 :a4836. -:a4837 :a4837 :a4837. -:a4838 :a4838 :a4838. -:a4839 :a4839 :a4839. -:a4840 :a4840 :a4840. -:a4841 :a4841 :a4841. -:a4842 :a4842 :a4842. -:a4843 :a4843 :a4843. -:a4844 :a4844 :a4844. -:a4845 :a4845 :a4845. -:a4846 :a4846 :a4846. -:a4847 :a4847 :a4847. -:a4848 :a4848 :a4848. -:a4849 :a4849 :a4849. -:a4850 :a4850 :a4850. -:a4851 :a4851 :a4851. -:a4852 :a4852 :a4852. -:a4853 :a4853 :a4853. -:a4854 :a4854 :a4854. -:a4855 :a4855 :a4855. -:a4856 :a4856 :a4856. -:a4857 :a4857 :a4857. -:a4858 :a4858 :a4858. -:a4859 :a4859 :a4859. -:a4860 :a4860 :a4860. -:a4861 :a4861 :a4861. -:a4862 :a4862 :a4862. -:a4863 :a4863 :a4863. -:a4864 :a4864 :a4864. -:a4865 :a4865 :a4865. -:a4866 :a4866 :a4866. -:a4867 :a4867 :a4867. -:a4868 :a4868 :a4868. -:a4869 :a4869 :a4869. -:a4870 :a4870 :a4870. -:a4871 :a4871 :a4871. -:a4872 :a4872 :a4872. -:a4873 :a4873 :a4873. -:a4874 :a4874 :a4874. -:a4875 :a4875 :a4875. -:a4876 :a4876 :a4876. -:a4877 :a4877 :a4877. -:a4878 :a4878 :a4878. -:a4879 :a4879 :a4879. -:a4880 :a4880 :a4880. -:a4881 :a4881 :a4881. -:a4882 :a4882 :a4882. -:a4883 :a4883 :a4883. -:a4884 :a4884 :a4884. -:a4885 :a4885 :a4885. -:a4886 :a4886 :a4886. -:a4887 :a4887 :a4887. -:a4888 :a4888 :a4888. -:a4889 :a4889 :a4889. -:a4890 :a4890 :a4890. -:a4891 :a4891 :a4891. -:a4892 :a4892 :a4892. -:a4893 :a4893 :a4893. -:a4894 :a4894 :a4894. -:a4895 :a4895 :a4895. -:a4896 :a4896 :a4896. -:a4897 :a4897 :a4897. -:a4898 :a4898 :a4898. -:a4899 :a4899 :a4899. -:a4900 :a4900 :a4900. -:a4901 :a4901 :a4901. -:a4902 :a4902 :a4902. -:a4903 :a4903 :a4903. -:a4904 :a4904 :a4904. -:a4905 :a4905 :a4905. -:a4906 :a4906 :a4906. -:a4907 :a4907 :a4907. -:a4908 :a4908 :a4908. -:a4909 :a4909 :a4909. -:a4910 :a4910 :a4910. -:a4911 :a4911 :a4911. -:a4912 :a4912 :a4912. -:a4913 :a4913 :a4913. -:a4914 :a4914 :a4914. -:a4915 :a4915 :a4915. -:a4916 :a4916 :a4916. -:a4917 :a4917 :a4917. -:a4918 :a4918 :a4918. -:a4919 :a4919 :a4919. -:a4920 :a4920 :a4920. -:a4921 :a4921 :a4921. -:a4922 :a4922 :a4922. -:a4923 :a4923 :a4923. -:a4924 :a4924 :a4924. -:a4925 :a4925 :a4925. -:a4926 :a4926 :a4926. -:a4927 :a4927 :a4927. -:a4928 :a4928 :a4928. -:a4929 :a4929 :a4929. -:a4930 :a4930 :a4930. -:a4931 :a4931 :a4931. -:a4932 :a4932 :a4932. -:a4933 :a4933 :a4933. -:a4934 :a4934 :a4934. -:a4935 :a4935 :a4935. -:a4936 :a4936 :a4936. -:a4937 :a4937 :a4937. -:a4938 :a4938 :a4938. -:a4939 :a4939 :a4939. -:a4940 :a4940 :a4940. -:a4941 :a4941 :a4941. -:a4942 :a4942 :a4942. -:a4943 :a4943 :a4943. -:a4944 :a4944 :a4944. -:a4945 :a4945 :a4945. -:a4946 :a4946 :a4946. -:a4947 :a4947 :a4947. -:a4948 :a4948 :a4948. -:a4949 :a4949 :a4949. -:a4950 :a4950 :a4950. -:a4951 :a4951 :a4951. -:a4952 :a4952 :a4952. -:a4953 :a4953 :a4953. -:a4954 :a4954 :a4954. -:a4955 :a4955 :a4955. -:a4956 :a4956 :a4956. -:a4957 :a4957 :a4957. -:a4958 :a4958 :a4958. -:a4959 :a4959 :a4959. -:a4960 :a4960 :a4960. -:a4961 :a4961 :a4961. -:a4962 :a4962 :a4962. -:a4963 :a4963 :a4963. -:a4964 :a4964 :a4964. -:a4965 :a4965 :a4965. -:a4966 :a4966 :a4966. -:a4967 :a4967 :a4967. -:a4968 :a4968 :a4968. -:a4969 :a4969 :a4969. -:a4970 :a4970 :a4970. -:a4971 :a4971 :a4971. -:a4972 :a4972 :a4972. -:a4973 :a4973 :a4973. -:a4974 :a4974 :a4974. -:a4975 :a4975 :a4975. -:a4976 :a4976 :a4976. -:a4977 :a4977 :a4977. -:a4978 :a4978 :a4978. -:a4979 :a4979 :a4979. -:a4980 :a4980 :a4980. -:a4981 :a4981 :a4981. -:a4982 :a4982 :a4982. -:a4983 :a4983 :a4983. -:a4984 :a4984 :a4984. -:a4985 :a4985 :a4985. -:a4986 :a4986 :a4986. -:a4987 :a4987 :a4987. -:a4988 :a4988 :a4988. -:a4989 :a4989 :a4989. -:a4990 :a4990 :a4990. -:a4991 :a4991 :a4991. -:a4992 :a4992 :a4992. -:a4993 :a4993 :a4993. -:a4994 :a4994 :a4994. -:a4995 :a4995 :a4995. -:a4996 :a4996 :a4996. -:a4997 :a4997 :a4997. -:a4998 :a4998 :a4998. -:a4999 :a4999 :a4999. -:a5000 :a5000 :a5000. -:a5001 :a5001 :a5001. -:a5002 :a5002 :a5002. -:a5003 :a5003 :a5003. -:a5004 :a5004 :a5004. -:a5005 :a5005 :a5005. -:a5006 :a5006 :a5006. -:a5007 :a5007 :a5007. -:a5008 :a5008 :a5008. -:a5009 :a5009 :a5009. -:a5010 :a5010 :a5010. -:a5011 :a5011 :a5011. -:a5012 :a5012 :a5012. -:a5013 :a5013 :a5013. -:a5014 :a5014 :a5014. -:a5015 :a5015 :a5015. -:a5016 :a5016 :a5016. -:a5017 :a5017 :a5017. -:a5018 :a5018 :a5018. -:a5019 :a5019 :a5019. -:a5020 :a5020 :a5020. -:a5021 :a5021 :a5021. -:a5022 :a5022 :a5022. -:a5023 :a5023 :a5023. -:a5024 :a5024 :a5024. -:a5025 :a5025 :a5025. -:a5026 :a5026 :a5026. -:a5027 :a5027 :a5027. -:a5028 :a5028 :a5028. -:a5029 :a5029 :a5029. -:a5030 :a5030 :a5030. -:a5031 :a5031 :a5031. -:a5032 :a5032 :a5032. -:a5033 :a5033 :a5033. -:a5034 :a5034 :a5034. -:a5035 :a5035 :a5035. -:a5036 :a5036 :a5036. -:a5037 :a5037 :a5037. -:a5038 :a5038 :a5038. -:a5039 :a5039 :a5039. -:a5040 :a5040 :a5040. -:a5041 :a5041 :a5041. -:a5042 :a5042 :a5042. -:a5043 :a5043 :a5043. -:a5044 :a5044 :a5044. -:a5045 :a5045 :a5045. -:a5046 :a5046 :a5046. -:a5047 :a5047 :a5047. -:a5048 :a5048 :a5048. -:a5049 :a5049 :a5049. -:a5050 :a5050 :a5050. -:a5051 :a5051 :a5051. -:a5052 :a5052 :a5052. -:a5053 :a5053 :a5053. -:a5054 :a5054 :a5054. -:a5055 :a5055 :a5055. -:a5056 :a5056 :a5056. -:a5057 :a5057 :a5057. -:a5058 :a5058 :a5058. -:a5059 :a5059 :a5059. -:a5060 :a5060 :a5060. -:a5061 :a5061 :a5061. -:a5062 :a5062 :a5062. -:a5063 :a5063 :a5063. -:a5064 :a5064 :a5064. -:a5065 :a5065 :a5065. -:a5066 :a5066 :a5066. -:a5067 :a5067 :a5067. -:a5068 :a5068 :a5068. -:a5069 :a5069 :a5069. -:a5070 :a5070 :a5070. -:a5071 :a5071 :a5071. -:a5072 :a5072 :a5072. -:a5073 :a5073 :a5073. -:a5074 :a5074 :a5074. -:a5075 :a5075 :a5075. -:a5076 :a5076 :a5076. -:a5077 :a5077 :a5077. -:a5078 :a5078 :a5078. -:a5079 :a5079 :a5079. -:a5080 :a5080 :a5080. -:a5081 :a5081 :a5081. -:a5082 :a5082 :a5082. -:a5083 :a5083 :a5083. -:a5084 :a5084 :a5084. -:a5085 :a5085 :a5085. -:a5086 :a5086 :a5086. -:a5087 :a5087 :a5087. -:a5088 :a5088 :a5088. -:a5089 :a5089 :a5089. -:a5090 :a5090 :a5090. -:a5091 :a5091 :a5091. -:a5092 :a5092 :a5092. -:a5093 :a5093 :a5093. -:a5094 :a5094 :a5094. -:a5095 :a5095 :a5095. -:a5096 :a5096 :a5096. -:a5097 :a5097 :a5097. -:a5098 :a5098 :a5098. -:a5099 :a5099 :a5099. -:a5100 :a5100 :a5100. -:a5101 :a5101 :a5101. -:a5102 :a5102 :a5102. -:a5103 :a5103 :a5103. -:a5104 :a5104 :a5104. -:a5105 :a5105 :a5105. -:a5106 :a5106 :a5106. -:a5107 :a5107 :a5107. -:a5108 :a5108 :a5108. -:a5109 :a5109 :a5109. -:a5110 :a5110 :a5110. -:a5111 :a5111 :a5111. -:a5112 :a5112 :a5112. -:a5113 :a5113 :a5113. -:a5114 :a5114 :a5114. -:a5115 :a5115 :a5115. -:a5116 :a5116 :a5116. -:a5117 :a5117 :a5117. -:a5118 :a5118 :a5118. -:a5119 :a5119 :a5119. -:a5120 :a5120 :a5120. -:a5121 :a5121 :a5121. -:a5122 :a5122 :a5122. -:a5123 :a5123 :a5123. -:a5124 :a5124 :a5124. -:a5125 :a5125 :a5125. -:a5126 :a5126 :a5126. -:a5127 :a5127 :a5127. -:a5128 :a5128 :a5128. -:a5129 :a5129 :a5129. -:a5130 :a5130 :a5130. -:a5131 :a5131 :a5131. -:a5132 :a5132 :a5132. -:a5133 :a5133 :a5133. -:a5134 :a5134 :a5134. -:a5135 :a5135 :a5135. -:a5136 :a5136 :a5136. -:a5137 :a5137 :a5137. -:a5138 :a5138 :a5138. -:a5139 :a5139 :a5139. -:a5140 :a5140 :a5140. -:a5141 :a5141 :a5141. -:a5142 :a5142 :a5142. -:a5143 :a5143 :a5143. -:a5144 :a5144 :a5144. -:a5145 :a5145 :a5145. -:a5146 :a5146 :a5146. -:a5147 :a5147 :a5147. -:a5148 :a5148 :a5148. -:a5149 :a5149 :a5149. -:a5150 :a5150 :a5150. -:a5151 :a5151 :a5151. -:a5152 :a5152 :a5152. -:a5153 :a5153 :a5153. -:a5154 :a5154 :a5154. -:a5155 :a5155 :a5155. -:a5156 :a5156 :a5156. -:a5157 :a5157 :a5157. -:a5158 :a5158 :a5158. -:a5159 :a5159 :a5159. -:a5160 :a5160 :a5160. -:a5161 :a5161 :a5161. -:a5162 :a5162 :a5162. -:a5163 :a5163 :a5163. -:a5164 :a5164 :a5164. -:a5165 :a5165 :a5165. -:a5166 :a5166 :a5166. -:a5167 :a5167 :a5167. -:a5168 :a5168 :a5168. -:a5169 :a5169 :a5169. -:a5170 :a5170 :a5170. -:a5171 :a5171 :a5171. -:a5172 :a5172 :a5172. -:a5173 :a5173 :a5173. -:a5174 :a5174 :a5174. -:a5175 :a5175 :a5175. -:a5176 :a5176 :a5176. -:a5177 :a5177 :a5177. -:a5178 :a5178 :a5178. -:a5179 :a5179 :a5179. -:a5180 :a5180 :a5180. -:a5181 :a5181 :a5181. -:a5182 :a5182 :a5182. -:a5183 :a5183 :a5183. -:a5184 :a5184 :a5184. -:a5185 :a5185 :a5185. -:a5186 :a5186 :a5186. -:a5187 :a5187 :a5187. -:a5188 :a5188 :a5188. -:a5189 :a5189 :a5189. -:a5190 :a5190 :a5190. -:a5191 :a5191 :a5191. -:a5192 :a5192 :a5192. -:a5193 :a5193 :a5193. -:a5194 :a5194 :a5194. -:a5195 :a5195 :a5195. -:a5196 :a5196 :a5196. -:a5197 :a5197 :a5197. -:a5198 :a5198 :a5198. -:a5199 :a5199 :a5199. -:a5200 :a5200 :a5200. -:a5201 :a5201 :a5201. -:a5202 :a5202 :a5202. -:a5203 :a5203 :a5203. -:a5204 :a5204 :a5204. -:a5205 :a5205 :a5205. -:a5206 :a5206 :a5206. -:a5207 :a5207 :a5207. -:a5208 :a5208 :a5208. -:a5209 :a5209 :a5209. -:a5210 :a5210 :a5210. -:a5211 :a5211 :a5211. -:a5212 :a5212 :a5212. -:a5213 :a5213 :a5213. -:a5214 :a5214 :a5214. -:a5215 :a5215 :a5215. -:a5216 :a5216 :a5216. -:a5217 :a5217 :a5217. -:a5218 :a5218 :a5218. -:a5219 :a5219 :a5219. -:a5220 :a5220 :a5220. -:a5221 :a5221 :a5221. -:a5222 :a5222 :a5222. -:a5223 :a5223 :a5223. -:a5224 :a5224 :a5224. -:a5225 :a5225 :a5225. -:a5226 :a5226 :a5226. -:a5227 :a5227 :a5227. -:a5228 :a5228 :a5228. -:a5229 :a5229 :a5229. -:a5230 :a5230 :a5230. -:a5231 :a5231 :a5231. -:a5232 :a5232 :a5232. -:a5233 :a5233 :a5233. -:a5234 :a5234 :a5234. -:a5235 :a5235 :a5235. -:a5236 :a5236 :a5236. -:a5237 :a5237 :a5237. -:a5238 :a5238 :a5238. -:a5239 :a5239 :a5239. -:a5240 :a5240 :a5240. -:a5241 :a5241 :a5241. -:a5242 :a5242 :a5242. -:a5243 :a5243 :a5243. -:a5244 :a5244 :a5244. -:a5245 :a5245 :a5245. -:a5246 :a5246 :a5246. -:a5247 :a5247 :a5247. -:a5248 :a5248 :a5248. -:a5249 :a5249 :a5249. -:a5250 :a5250 :a5250. -:a5251 :a5251 :a5251. -:a5252 :a5252 :a5252. -:a5253 :a5253 :a5253. -:a5254 :a5254 :a5254. -:a5255 :a5255 :a5255. -:a5256 :a5256 :a5256. -:a5257 :a5257 :a5257. -:a5258 :a5258 :a5258. -:a5259 :a5259 :a5259. -:a5260 :a5260 :a5260. -:a5261 :a5261 :a5261. -:a5262 :a5262 :a5262. -:a5263 :a5263 :a5263. -:a5264 :a5264 :a5264. -:a5265 :a5265 :a5265. -:a5266 :a5266 :a5266. -:a5267 :a5267 :a5267. -:a5268 :a5268 :a5268. -:a5269 :a5269 :a5269. -:a5270 :a5270 :a5270. -:a5271 :a5271 :a5271. -:a5272 :a5272 :a5272. -:a5273 :a5273 :a5273. -:a5274 :a5274 :a5274. -:a5275 :a5275 :a5275. -:a5276 :a5276 :a5276. -:a5277 :a5277 :a5277. -:a5278 :a5278 :a5278. -:a5279 :a5279 :a5279. -:a5280 :a5280 :a5280. -:a5281 :a5281 :a5281. -:a5282 :a5282 :a5282. -:a5283 :a5283 :a5283. -:a5284 :a5284 :a5284. -:a5285 :a5285 :a5285. -:a5286 :a5286 :a5286. -:a5287 :a5287 :a5287. -:a5288 :a5288 :a5288. -:a5289 :a5289 :a5289. -:a5290 :a5290 :a5290. -:a5291 :a5291 :a5291. -:a5292 :a5292 :a5292. -:a5293 :a5293 :a5293. -:a5294 :a5294 :a5294. -:a5295 :a5295 :a5295. -:a5296 :a5296 :a5296. -:a5297 :a5297 :a5297. -:a5298 :a5298 :a5298. -:a5299 :a5299 :a5299. -:a5300 :a5300 :a5300. -:a5301 :a5301 :a5301. -:a5302 :a5302 :a5302. -:a5303 :a5303 :a5303. -:a5304 :a5304 :a5304. -:a5305 :a5305 :a5305. -:a5306 :a5306 :a5306. -:a5307 :a5307 :a5307. -:a5308 :a5308 :a5308. -:a5309 :a5309 :a5309. -:a5310 :a5310 :a5310. -:a5311 :a5311 :a5311. -:a5312 :a5312 :a5312. -:a5313 :a5313 :a5313. -:a5314 :a5314 :a5314. -:a5315 :a5315 :a5315. -:a5316 :a5316 :a5316. -:a5317 :a5317 :a5317. -:a5318 :a5318 :a5318. -:a5319 :a5319 :a5319. -:a5320 :a5320 :a5320. -:a5321 :a5321 :a5321. -:a5322 :a5322 :a5322. -:a5323 :a5323 :a5323. -:a5324 :a5324 :a5324. -:a5325 :a5325 :a5325. -:a5326 :a5326 :a5326. -:a5327 :a5327 :a5327. -:a5328 :a5328 :a5328. -:a5329 :a5329 :a5329. -:a5330 :a5330 :a5330. -:a5331 :a5331 :a5331. -:a5332 :a5332 :a5332. -:a5333 :a5333 :a5333. -:a5334 :a5334 :a5334. -:a5335 :a5335 :a5335. -:a5336 :a5336 :a5336. -:a5337 :a5337 :a5337. -:a5338 :a5338 :a5338. -:a5339 :a5339 :a5339. -:a5340 :a5340 :a5340. -:a5341 :a5341 :a5341. -:a5342 :a5342 :a5342. -:a5343 :a5343 :a5343. -:a5344 :a5344 :a5344. -:a5345 :a5345 :a5345. -:a5346 :a5346 :a5346. -:a5347 :a5347 :a5347. -:a5348 :a5348 :a5348. -:a5349 :a5349 :a5349. -:a5350 :a5350 :a5350. -:a5351 :a5351 :a5351. -:a5352 :a5352 :a5352. -:a5353 :a5353 :a5353. -:a5354 :a5354 :a5354. -:a5355 :a5355 :a5355. -:a5356 :a5356 :a5356. -:a5357 :a5357 :a5357. -:a5358 :a5358 :a5358. -:a5359 :a5359 :a5359. -:a5360 :a5360 :a5360. -:a5361 :a5361 :a5361. -:a5362 :a5362 :a5362. -:a5363 :a5363 :a5363. -:a5364 :a5364 :a5364. -:a5365 :a5365 :a5365. -:a5366 :a5366 :a5366. -:a5367 :a5367 :a5367. -:a5368 :a5368 :a5368. -:a5369 :a5369 :a5369. -:a5370 :a5370 :a5370. -:a5371 :a5371 :a5371. -:a5372 :a5372 :a5372. -:a5373 :a5373 :a5373. -:a5374 :a5374 :a5374. -:a5375 :a5375 :a5375. -:a5376 :a5376 :a5376. -:a5377 :a5377 :a5377. -:a5378 :a5378 :a5378. -:a5379 :a5379 :a5379. -:a5380 :a5380 :a5380. -:a5381 :a5381 :a5381. -:a5382 :a5382 :a5382. -:a5383 :a5383 :a5383. -:a5384 :a5384 :a5384. -:a5385 :a5385 :a5385. -:a5386 :a5386 :a5386. -:a5387 :a5387 :a5387. -:a5388 :a5388 :a5388. -:a5389 :a5389 :a5389. -:a5390 :a5390 :a5390. -:a5391 :a5391 :a5391. -:a5392 :a5392 :a5392. -:a5393 :a5393 :a5393. -:a5394 :a5394 :a5394. -:a5395 :a5395 :a5395. -:a5396 :a5396 :a5396. -:a5397 :a5397 :a5397. -:a5398 :a5398 :a5398. -:a5399 :a5399 :a5399. -:a5400 :a5400 :a5400. -:a5401 :a5401 :a5401. -:a5402 :a5402 :a5402. -:a5403 :a5403 :a5403. -:a5404 :a5404 :a5404. -:a5405 :a5405 :a5405. -:a5406 :a5406 :a5406. -:a5407 :a5407 :a5407. -:a5408 :a5408 :a5408. -:a5409 :a5409 :a5409. -:a5410 :a5410 :a5410. -:a5411 :a5411 :a5411. -:a5412 :a5412 :a5412. -:a5413 :a5413 :a5413. -:a5414 :a5414 :a5414. -:a5415 :a5415 :a5415. -:a5416 :a5416 :a5416. -:a5417 :a5417 :a5417. -:a5418 :a5418 :a5418. -:a5419 :a5419 :a5419. -:a5420 :a5420 :a5420. -:a5421 :a5421 :a5421. -:a5422 :a5422 :a5422. -:a5423 :a5423 :a5423. -:a5424 :a5424 :a5424. -:a5425 :a5425 :a5425. -:a5426 :a5426 :a5426. -:a5427 :a5427 :a5427. -:a5428 :a5428 :a5428. -:a5429 :a5429 :a5429. -:a5430 :a5430 :a5430. -:a5431 :a5431 :a5431. -:a5432 :a5432 :a5432. -:a5433 :a5433 :a5433. -:a5434 :a5434 :a5434. -:a5435 :a5435 :a5435. -:a5436 :a5436 :a5436. -:a5437 :a5437 :a5437. -:a5438 :a5438 :a5438. -:a5439 :a5439 :a5439. -:a5440 :a5440 :a5440. -:a5441 :a5441 :a5441. -:a5442 :a5442 :a5442. -:a5443 :a5443 :a5443. -:a5444 :a5444 :a5444. -:a5445 :a5445 :a5445. -:a5446 :a5446 :a5446. -:a5447 :a5447 :a5447. -:a5448 :a5448 :a5448. -:a5449 :a5449 :a5449. -:a5450 :a5450 :a5450. -:a5451 :a5451 :a5451. -:a5452 :a5452 :a5452. -:a5453 :a5453 :a5453. -:a5454 :a5454 :a5454. -:a5455 :a5455 :a5455. -:a5456 :a5456 :a5456. -:a5457 :a5457 :a5457. -:a5458 :a5458 :a5458. -:a5459 :a5459 :a5459. -:a5460 :a5460 :a5460. -:a5461 :a5461 :a5461. -:a5462 :a5462 :a5462. -:a5463 :a5463 :a5463. -:a5464 :a5464 :a5464. -:a5465 :a5465 :a5465. -:a5466 :a5466 :a5466. -:a5467 :a5467 :a5467. -:a5468 :a5468 :a5468. -:a5469 :a5469 :a5469. -:a5470 :a5470 :a5470. -:a5471 :a5471 :a5471. -:a5472 :a5472 :a5472. -:a5473 :a5473 :a5473. -:a5474 :a5474 :a5474. -:a5475 :a5475 :a5475. -:a5476 :a5476 :a5476. -:a5477 :a5477 :a5477. -:a5478 :a5478 :a5478. -:a5479 :a5479 :a5479. -:a5480 :a5480 :a5480. -:a5481 :a5481 :a5481. -:a5482 :a5482 :a5482. -:a5483 :a5483 :a5483. -:a5484 :a5484 :a5484. -:a5485 :a5485 :a5485. -:a5486 :a5486 :a5486. -:a5487 :a5487 :a5487. -:a5488 :a5488 :a5488. -:a5489 :a5489 :a5489. -:a5490 :a5490 :a5490. -:a5491 :a5491 :a5491. -:a5492 :a5492 :a5492. -:a5493 :a5493 :a5493. -:a5494 :a5494 :a5494. -:a5495 :a5495 :a5495. -:a5496 :a5496 :a5496. -:a5497 :a5497 :a5497. -:a5498 :a5498 :a5498. -:a5499 :a5499 :a5499. -:a5500 :a5500 :a5500. -:a5501 :a5501 :a5501. -:a5502 :a5502 :a5502. -:a5503 :a5503 :a5503. -:a5504 :a5504 :a5504. -:a5505 :a5505 :a5505. -:a5506 :a5506 :a5506. -:a5507 :a5507 :a5507. -:a5508 :a5508 :a5508. -:a5509 :a5509 :a5509. -:a5510 :a5510 :a5510. -:a5511 :a5511 :a5511. -:a5512 :a5512 :a5512. -:a5513 :a5513 :a5513. -:a5514 :a5514 :a5514. -:a5515 :a5515 :a5515. -:a5516 :a5516 :a5516. -:a5517 :a5517 :a5517. -:a5518 :a5518 :a5518. -:a5519 :a5519 :a5519. -:a5520 :a5520 :a5520. -:a5521 :a5521 :a5521. -:a5522 :a5522 :a5522. -:a5523 :a5523 :a5523. -:a5524 :a5524 :a5524. -:a5525 :a5525 :a5525. -:a5526 :a5526 :a5526. -:a5527 :a5527 :a5527. -:a5528 :a5528 :a5528. -:a5529 :a5529 :a5529. -:a5530 :a5530 :a5530. -:a5531 :a5531 :a5531. -:a5532 :a5532 :a5532. -:a5533 :a5533 :a5533. -:a5534 :a5534 :a5534. -:a5535 :a5535 :a5535. -:a5536 :a5536 :a5536. -:a5537 :a5537 :a5537. -:a5538 :a5538 :a5538. -:a5539 :a5539 :a5539. -:a5540 :a5540 :a5540. -:a5541 :a5541 :a5541. -:a5542 :a5542 :a5542. -:a5543 :a5543 :a5543. -:a5544 :a5544 :a5544. -:a5545 :a5545 :a5545. -:a5546 :a5546 :a5546. -:a5547 :a5547 :a5547. -:a5548 :a5548 :a5548. -:a5549 :a5549 :a5549. -:a5550 :a5550 :a5550. -:a5551 :a5551 :a5551. -:a5552 :a5552 :a5552. -:a5553 :a5553 :a5553. -:a5554 :a5554 :a5554. -:a5555 :a5555 :a5555. -:a5556 :a5556 :a5556. -:a5557 :a5557 :a5557. -:a5558 :a5558 :a5558. -:a5559 :a5559 :a5559. -:a5560 :a5560 :a5560. -:a5561 :a5561 :a5561. -:a5562 :a5562 :a5562. -:a5563 :a5563 :a5563. -:a5564 :a5564 :a5564. -:a5565 :a5565 :a5565. -:a5566 :a5566 :a5566. -:a5567 :a5567 :a5567. -:a5568 :a5568 :a5568. -:a5569 :a5569 :a5569. -:a5570 :a5570 :a5570. -:a5571 :a5571 :a5571. -:a5572 :a5572 :a5572. -:a5573 :a5573 :a5573. -:a5574 :a5574 :a5574. -:a5575 :a5575 :a5575. -:a5576 :a5576 :a5576. -:a5577 :a5577 :a5577. -:a5578 :a5578 :a5578. -:a5579 :a5579 :a5579. -:a5580 :a5580 :a5580. -:a5581 :a5581 :a5581. -:a5582 :a5582 :a5582. -:a5583 :a5583 :a5583. -:a5584 :a5584 :a5584. -:a5585 :a5585 :a5585. -:a5586 :a5586 :a5586. -:a5587 :a5587 :a5587. -:a5588 :a5588 :a5588. -:a5589 :a5589 :a5589. -:a5590 :a5590 :a5590. -:a5591 :a5591 :a5591. -:a5592 :a5592 :a5592. -:a5593 :a5593 :a5593. -:a5594 :a5594 :a5594. -:a5595 :a5595 :a5595. -:a5596 :a5596 :a5596. -:a5597 :a5597 :a5597. -:a5598 :a5598 :a5598. -:a5599 :a5599 :a5599. -:a5600 :a5600 :a5600. -:a5601 :a5601 :a5601. -:a5602 :a5602 :a5602. -:a5603 :a5603 :a5603. -:a5604 :a5604 :a5604. -:a5605 :a5605 :a5605. -:a5606 :a5606 :a5606. -:a5607 :a5607 :a5607. -:a5608 :a5608 :a5608. -:a5609 :a5609 :a5609. -:a5610 :a5610 :a5610. -:a5611 :a5611 :a5611. -:a5612 :a5612 :a5612. -:a5613 :a5613 :a5613. -:a5614 :a5614 :a5614. -:a5615 :a5615 :a5615. -:a5616 :a5616 :a5616. -:a5617 :a5617 :a5617. -:a5618 :a5618 :a5618. -:a5619 :a5619 :a5619. -:a5620 :a5620 :a5620. -:a5621 :a5621 :a5621. -:a5622 :a5622 :a5622. -:a5623 :a5623 :a5623. -:a5624 :a5624 :a5624. -:a5625 :a5625 :a5625. -:a5626 :a5626 :a5626. -:a5627 :a5627 :a5627. -:a5628 :a5628 :a5628. -:a5629 :a5629 :a5629. -:a5630 :a5630 :a5630. -:a5631 :a5631 :a5631. -:a5632 :a5632 :a5632. -:a5633 :a5633 :a5633. -:a5634 :a5634 :a5634. -:a5635 :a5635 :a5635. -:a5636 :a5636 :a5636. -:a5637 :a5637 :a5637. -:a5638 :a5638 :a5638. -:a5639 :a5639 :a5639. -:a5640 :a5640 :a5640. -:a5641 :a5641 :a5641. -:a5642 :a5642 :a5642. -:a5643 :a5643 :a5643. -:a5644 :a5644 :a5644. -:a5645 :a5645 :a5645. -:a5646 :a5646 :a5646. -:a5647 :a5647 :a5647. -:a5648 :a5648 :a5648. -:a5649 :a5649 :a5649. -:a5650 :a5650 :a5650. -:a5651 :a5651 :a5651. -:a5652 :a5652 :a5652. -:a5653 :a5653 :a5653. -:a5654 :a5654 :a5654. -:a5655 :a5655 :a5655. -:a5656 :a5656 :a5656. -:a5657 :a5657 :a5657. -:a5658 :a5658 :a5658. -:a5659 :a5659 :a5659. -:a5660 :a5660 :a5660. -:a5661 :a5661 :a5661. -:a5662 :a5662 :a5662. -:a5663 :a5663 :a5663. -:a5664 :a5664 :a5664. -:a5665 :a5665 :a5665. -:a5666 :a5666 :a5666. -:a5667 :a5667 :a5667. -:a5668 :a5668 :a5668. -:a5669 :a5669 :a5669. -:a5670 :a5670 :a5670. -:a5671 :a5671 :a5671. -:a5672 :a5672 :a5672. -:a5673 :a5673 :a5673. -:a5674 :a5674 :a5674. -:a5675 :a5675 :a5675. -:a5676 :a5676 :a5676. -:a5677 :a5677 :a5677. -:a5678 :a5678 :a5678. -:a5679 :a5679 :a5679. -:a5680 :a5680 :a5680. -:a5681 :a5681 :a5681. -:a5682 :a5682 :a5682. -:a5683 :a5683 :a5683. -:a5684 :a5684 :a5684. -:a5685 :a5685 :a5685. -:a5686 :a5686 :a5686. -:a5687 :a5687 :a5687. -:a5688 :a5688 :a5688. -:a5689 :a5689 :a5689. -:a5690 :a5690 :a5690. -:a5691 :a5691 :a5691. -:a5692 :a5692 :a5692. -:a5693 :a5693 :a5693. -:a5694 :a5694 :a5694. -:a5695 :a5695 :a5695. -:a5696 :a5696 :a5696. -:a5697 :a5697 :a5697. -:a5698 :a5698 :a5698. -:a5699 :a5699 :a5699. -:a5700 :a5700 :a5700. -:a5701 :a5701 :a5701. -:a5702 :a5702 :a5702. -:a5703 :a5703 :a5703. -:a5704 :a5704 :a5704. -:a5705 :a5705 :a5705. -:a5706 :a5706 :a5706. -:a5707 :a5707 :a5707. -:a5708 :a5708 :a5708. -:a5709 :a5709 :a5709. -:a5710 :a5710 :a5710. -:a5711 :a5711 :a5711. -:a5712 :a5712 :a5712. -:a5713 :a5713 :a5713. -:a5714 :a5714 :a5714. -:a5715 :a5715 :a5715. -:a5716 :a5716 :a5716. -:a5717 :a5717 :a5717. -:a5718 :a5718 :a5718. -:a5719 :a5719 :a5719. -:a5720 :a5720 :a5720. -:a5721 :a5721 :a5721. -:a5722 :a5722 :a5722. -:a5723 :a5723 :a5723. -:a5724 :a5724 :a5724. -:a5725 :a5725 :a5725. -:a5726 :a5726 :a5726. -:a5727 :a5727 :a5727. -:a5728 :a5728 :a5728. -:a5729 :a5729 :a5729. -:a5730 :a5730 :a5730. -:a5731 :a5731 :a5731. -:a5732 :a5732 :a5732. -:a5733 :a5733 :a5733. -:a5734 :a5734 :a5734. -:a5735 :a5735 :a5735. -:a5736 :a5736 :a5736. -:a5737 :a5737 :a5737. -:a5738 :a5738 :a5738. -:a5739 :a5739 :a5739. -:a5740 :a5740 :a5740. -:a5741 :a5741 :a5741. -:a5742 :a5742 :a5742. -:a5743 :a5743 :a5743. -:a5744 :a5744 :a5744. -:a5745 :a5745 :a5745. -:a5746 :a5746 :a5746. -:a5747 :a5747 :a5747. -:a5748 :a5748 :a5748. -:a5749 :a5749 :a5749. -:a5750 :a5750 :a5750. -:a5751 :a5751 :a5751. -:a5752 :a5752 :a5752. -:a5753 :a5753 :a5753. -:a5754 :a5754 :a5754. -:a5755 :a5755 :a5755. -:a5756 :a5756 :a5756. -:a5757 :a5757 :a5757. -:a5758 :a5758 :a5758. -:a5759 :a5759 :a5759. -:a5760 :a5760 :a5760. -:a5761 :a5761 :a5761. -:a5762 :a5762 :a5762. -:a5763 :a5763 :a5763. -:a5764 :a5764 :a5764. -:a5765 :a5765 :a5765. -:a5766 :a5766 :a5766. -:a5767 :a5767 :a5767. -:a5768 :a5768 :a5768. -:a5769 :a5769 :a5769. -:a5770 :a5770 :a5770. -:a5771 :a5771 :a5771. -:a5772 :a5772 :a5772. -:a5773 :a5773 :a5773. -:a5774 :a5774 :a5774. -:a5775 :a5775 :a5775. -:a5776 :a5776 :a5776. -:a5777 :a5777 :a5777. -:a5778 :a5778 :a5778. -:a5779 :a5779 :a5779. -:a5780 :a5780 :a5780. -:a5781 :a5781 :a5781. -:a5782 :a5782 :a5782. -:a5783 :a5783 :a5783. -:a5784 :a5784 :a5784. -:a5785 :a5785 :a5785. -:a5786 :a5786 :a5786. -:a5787 :a5787 :a5787. -:a5788 :a5788 :a5788. -:a5789 :a5789 :a5789. -:a5790 :a5790 :a5790. -:a5791 :a5791 :a5791. -:a5792 :a5792 :a5792. -:a5793 :a5793 :a5793. -:a5794 :a5794 :a5794. -:a5795 :a5795 :a5795. -:a5796 :a5796 :a5796. -:a5797 :a5797 :a5797. -:a5798 :a5798 :a5798. -:a5799 :a5799 :a5799. -:a5800 :a5800 :a5800. -:a5801 :a5801 :a5801. -:a5802 :a5802 :a5802. -:a5803 :a5803 :a5803. -:a5804 :a5804 :a5804. -:a5805 :a5805 :a5805. -:a5806 :a5806 :a5806. -:a5807 :a5807 :a5807. -:a5808 :a5808 :a5808. -:a5809 :a5809 :a5809. -:a5810 :a5810 :a5810. -:a5811 :a5811 :a5811. -:a5812 :a5812 :a5812. -:a5813 :a5813 :a5813. -:a5814 :a5814 :a5814. -:a5815 :a5815 :a5815. -:a5816 :a5816 :a5816. -:a5817 :a5817 :a5817. -:a5818 :a5818 :a5818. -:a5819 :a5819 :a5819. -:a5820 :a5820 :a5820. -:a5821 :a5821 :a5821. -:a5822 :a5822 :a5822. -:a5823 :a5823 :a5823. -:a5824 :a5824 :a5824. -:a5825 :a5825 :a5825. -:a5826 :a5826 :a5826. -:a5827 :a5827 :a5827. -:a5828 :a5828 :a5828. -:a5829 :a5829 :a5829. -:a5830 :a5830 :a5830. -:a5831 :a5831 :a5831. -:a5832 :a5832 :a5832. -:a5833 :a5833 :a5833. -:a5834 :a5834 :a5834. -:a5835 :a5835 :a5835. -:a5836 :a5836 :a5836. -:a5837 :a5837 :a5837. -:a5838 :a5838 :a5838. -:a5839 :a5839 :a5839. -:a5840 :a5840 :a5840. -:a5841 :a5841 :a5841. -:a5842 :a5842 :a5842. -:a5843 :a5843 :a5843. -:a5844 :a5844 :a5844. -:a5845 :a5845 :a5845. -:a5846 :a5846 :a5846. -:a5847 :a5847 :a5847. -:a5848 :a5848 :a5848. -:a5849 :a5849 :a5849. -:a5850 :a5850 :a5850. -:a5851 :a5851 :a5851. -:a5852 :a5852 :a5852. -:a5853 :a5853 :a5853. -:a5854 :a5854 :a5854. -:a5855 :a5855 :a5855. -:a5856 :a5856 :a5856. -:a5857 :a5857 :a5857. -:a5858 :a5858 :a5858. -:a5859 :a5859 :a5859. -:a5860 :a5860 :a5860. -:a5861 :a5861 :a5861. -:a5862 :a5862 :a5862. -:a5863 :a5863 :a5863. -:a5864 :a5864 :a5864. -:a5865 :a5865 :a5865. -:a5866 :a5866 :a5866. -:a5867 :a5867 :a5867. -:a5868 :a5868 :a5868. -:a5869 :a5869 :a5869. -:a5870 :a5870 :a5870. -:a5871 :a5871 :a5871. -:a5872 :a5872 :a5872. -:a5873 :a5873 :a5873. -:a5874 :a5874 :a5874. -:a5875 :a5875 :a5875. -:a5876 :a5876 :a5876. -:a5877 :a5877 :a5877. -:a5878 :a5878 :a5878. -:a5879 :a5879 :a5879. -:a5880 :a5880 :a5880. -:a5881 :a5881 :a5881. -:a5882 :a5882 :a5882. -:a5883 :a5883 :a5883. -:a5884 :a5884 :a5884. -:a5885 :a5885 :a5885. -:a5886 :a5886 :a5886. -:a5887 :a5887 :a5887. -:a5888 :a5888 :a5888. -:a5889 :a5889 :a5889. -:a5890 :a5890 :a5890. -:a5891 :a5891 :a5891. -:a5892 :a5892 :a5892. -:a5893 :a5893 :a5893. -:a5894 :a5894 :a5894. -:a5895 :a5895 :a5895. -:a5896 :a5896 :a5896. -:a5897 :a5897 :a5897. -:a5898 :a5898 :a5898. -:a5899 :a5899 :a5899. -:a5900 :a5900 :a5900. -:a5901 :a5901 :a5901. -:a5902 :a5902 :a5902. -:a5903 :a5903 :a5903. -:a5904 :a5904 :a5904. -:a5905 :a5905 :a5905. -:a5906 :a5906 :a5906. -:a5907 :a5907 :a5907. -:a5908 :a5908 :a5908. -:a5909 :a5909 :a5909. -:a5910 :a5910 :a5910. -:a5911 :a5911 :a5911. -:a5912 :a5912 :a5912. -:a5913 :a5913 :a5913. -:a5914 :a5914 :a5914. -:a5915 :a5915 :a5915. -:a5916 :a5916 :a5916. -:a5917 :a5917 :a5917. -:a5918 :a5918 :a5918. -:a5919 :a5919 :a5919. -:a5920 :a5920 :a5920. -:a5921 :a5921 :a5921. -:a5922 :a5922 :a5922. -:a5923 :a5923 :a5923. -:a5924 :a5924 :a5924. -:a5925 :a5925 :a5925. -:a5926 :a5926 :a5926. -:a5927 :a5927 :a5927. -:a5928 :a5928 :a5928. -:a5929 :a5929 :a5929. -:a5930 :a5930 :a5930. -:a5931 :a5931 :a5931. -:a5932 :a5932 :a5932. -:a5933 :a5933 :a5933. -:a5934 :a5934 :a5934. -:a5935 :a5935 :a5935. -:a5936 :a5936 :a5936. -:a5937 :a5937 :a5937. -:a5938 :a5938 :a5938. -:a5939 :a5939 :a5939. -:a5940 :a5940 :a5940. -:a5941 :a5941 :a5941. -:a5942 :a5942 :a5942. -:a5943 :a5943 :a5943. -:a5944 :a5944 :a5944. -:a5945 :a5945 :a5945. -:a5946 :a5946 :a5946. -:a5947 :a5947 :a5947. -:a5948 :a5948 :a5948. -:a5949 :a5949 :a5949. -:a5950 :a5950 :a5950. -:a5951 :a5951 :a5951. -:a5952 :a5952 :a5952. -:a5953 :a5953 :a5953. -:a5954 :a5954 :a5954. -:a5955 :a5955 :a5955. -:a5956 :a5956 :a5956. -:a5957 :a5957 :a5957. -:a5958 :a5958 :a5958. -:a5959 :a5959 :a5959. -:a5960 :a5960 :a5960. -:a5961 :a5961 :a5961. -:a5962 :a5962 :a5962. -:a5963 :a5963 :a5963. -:a5964 :a5964 :a5964. -:a5965 :a5965 :a5965. -:a5966 :a5966 :a5966. -:a5967 :a5967 :a5967. -:a5968 :a5968 :a5968. -:a5969 :a5969 :a5969. -:a5970 :a5970 :a5970. -:a5971 :a5971 :a5971. -:a5972 :a5972 :a5972. -:a5973 :a5973 :a5973. -:a5974 :a5974 :a5974. -:a5975 :a5975 :a5975. -:a5976 :a5976 :a5976. -:a5977 :a5977 :a5977. -:a5978 :a5978 :a5978. -:a5979 :a5979 :a5979. -:a5980 :a5980 :a5980. -:a5981 :a5981 :a5981. -:a5982 :a5982 :a5982. -:a5983 :a5983 :a5983. -:a5984 :a5984 :a5984. -:a5985 :a5985 :a5985. -:a5986 :a5986 :a5986. -:a5987 :a5987 :a5987. -:a5988 :a5988 :a5988. -:a5989 :a5989 :a5989. -:a5990 :a5990 :a5990. -:a5991 :a5991 :a5991. -:a5992 :a5992 :a5992. -:a5993 :a5993 :a5993. -:a5994 :a5994 :a5994. -:a5995 :a5995 :a5995. -:a5996 :a5996 :a5996. -:a5997 :a5997 :a5997. -:a5998 :a5998 :a5998. -:a5999 :a5999 :a5999. -:a6000 :a6000 :a6000. -:a6001 :a6001 :a6001. -:a6002 :a6002 :a6002. -:a6003 :a6003 :a6003. -:a6004 :a6004 :a6004. -:a6005 :a6005 :a6005. -:a6006 :a6006 :a6006. -:a6007 :a6007 :a6007. -:a6008 :a6008 :a6008. -:a6009 :a6009 :a6009. -:a6010 :a6010 :a6010. -:a6011 :a6011 :a6011. -:a6012 :a6012 :a6012. -:a6013 :a6013 :a6013. -:a6014 :a6014 :a6014. -:a6015 :a6015 :a6015. -:a6016 :a6016 :a6016. -:a6017 :a6017 :a6017. -:a6018 :a6018 :a6018. -:a6019 :a6019 :a6019. -:a6020 :a6020 :a6020. -:a6021 :a6021 :a6021. -:a6022 :a6022 :a6022. -:a6023 :a6023 :a6023. -:a6024 :a6024 :a6024. -:a6025 :a6025 :a6025. -:a6026 :a6026 :a6026. -:a6027 :a6027 :a6027. -:a6028 :a6028 :a6028. -:a6029 :a6029 :a6029. -:a6030 :a6030 :a6030. -:a6031 :a6031 :a6031. -:a6032 :a6032 :a6032. -:a6033 :a6033 :a6033. -:a6034 :a6034 :a6034. -:a6035 :a6035 :a6035. -:a6036 :a6036 :a6036. -:a6037 :a6037 :a6037. -:a6038 :a6038 :a6038. -:a6039 :a6039 :a6039. -:a6040 :a6040 :a6040. -:a6041 :a6041 :a6041. -:a6042 :a6042 :a6042. -:a6043 :a6043 :a6043. -:a6044 :a6044 :a6044. -:a6045 :a6045 :a6045. -:a6046 :a6046 :a6046. -:a6047 :a6047 :a6047. -:a6048 :a6048 :a6048. -:a6049 :a6049 :a6049. -:a6050 :a6050 :a6050. -:a6051 :a6051 :a6051. -:a6052 :a6052 :a6052. -:a6053 :a6053 :a6053. -:a6054 :a6054 :a6054. -:a6055 :a6055 :a6055. -:a6056 :a6056 :a6056. -:a6057 :a6057 :a6057. -:a6058 :a6058 :a6058. -:a6059 :a6059 :a6059. -:a6060 :a6060 :a6060. -:a6061 :a6061 :a6061. -:a6062 :a6062 :a6062. -:a6063 :a6063 :a6063. -:a6064 :a6064 :a6064. -:a6065 :a6065 :a6065. -:a6066 :a6066 :a6066. -:a6067 :a6067 :a6067. -:a6068 :a6068 :a6068. -:a6069 :a6069 :a6069. -:a6070 :a6070 :a6070. -:a6071 :a6071 :a6071. -:a6072 :a6072 :a6072. -:a6073 :a6073 :a6073. -:a6074 :a6074 :a6074. -:a6075 :a6075 :a6075. -:a6076 :a6076 :a6076. -:a6077 :a6077 :a6077. -:a6078 :a6078 :a6078. -:a6079 :a6079 :a6079. -:a6080 :a6080 :a6080. -:a6081 :a6081 :a6081. -:a6082 :a6082 :a6082. -:a6083 :a6083 :a6083. -:a6084 :a6084 :a6084. -:a6085 :a6085 :a6085. -:a6086 :a6086 :a6086. -:a6087 :a6087 :a6087. -:a6088 :a6088 :a6088. -:a6089 :a6089 :a6089. -:a6090 :a6090 :a6090. -:a6091 :a6091 :a6091. -:a6092 :a6092 :a6092. -:a6093 :a6093 :a6093. -:a6094 :a6094 :a6094. -:a6095 :a6095 :a6095. -:a6096 :a6096 :a6096. -:a6097 :a6097 :a6097. -:a6098 :a6098 :a6098. -:a6099 :a6099 :a6099. -:a6100 :a6100 :a6100. -:a6101 :a6101 :a6101. -:a6102 :a6102 :a6102. -:a6103 :a6103 :a6103. -:a6104 :a6104 :a6104. -:a6105 :a6105 :a6105. -:a6106 :a6106 :a6106. -:a6107 :a6107 :a6107. -:a6108 :a6108 :a6108. -:a6109 :a6109 :a6109. -:a6110 :a6110 :a6110. -:a6111 :a6111 :a6111. -:a6112 :a6112 :a6112. -:a6113 :a6113 :a6113. -:a6114 :a6114 :a6114. -:a6115 :a6115 :a6115. -:a6116 :a6116 :a6116. -:a6117 :a6117 :a6117. -:a6118 :a6118 :a6118. -:a6119 :a6119 :a6119. -:a6120 :a6120 :a6120. -:a6121 :a6121 :a6121. -:a6122 :a6122 :a6122. -:a6123 :a6123 :a6123. -:a6124 :a6124 :a6124. -:a6125 :a6125 :a6125. -:a6126 :a6126 :a6126. -:a6127 :a6127 :a6127. -:a6128 :a6128 :a6128. -:a6129 :a6129 :a6129. -:a6130 :a6130 :a6130. -:a6131 :a6131 :a6131. -:a6132 :a6132 :a6132. -:a6133 :a6133 :a6133. -:a6134 :a6134 :a6134. -:a6135 :a6135 :a6135. -:a6136 :a6136 :a6136. -:a6137 :a6137 :a6137. -:a6138 :a6138 :a6138. -:a6139 :a6139 :a6139. -:a6140 :a6140 :a6140. -:a6141 :a6141 :a6141. -:a6142 :a6142 :a6142. -:a6143 :a6143 :a6143. -:a6144 :a6144 :a6144. -:a6145 :a6145 :a6145. -:a6146 :a6146 :a6146. -:a6147 :a6147 :a6147. -:a6148 :a6148 :a6148. -:a6149 :a6149 :a6149. -:a6150 :a6150 :a6150. -:a6151 :a6151 :a6151. -:a6152 :a6152 :a6152. -:a6153 :a6153 :a6153. -:a6154 :a6154 :a6154. -:a6155 :a6155 :a6155. -:a6156 :a6156 :a6156. -:a6157 :a6157 :a6157. -:a6158 :a6158 :a6158. -:a6159 :a6159 :a6159. -:a6160 :a6160 :a6160. -:a6161 :a6161 :a6161. -:a6162 :a6162 :a6162. -:a6163 :a6163 :a6163. -:a6164 :a6164 :a6164. -:a6165 :a6165 :a6165. -:a6166 :a6166 :a6166. -:a6167 :a6167 :a6167. -:a6168 :a6168 :a6168. -:a6169 :a6169 :a6169. -:a6170 :a6170 :a6170. -:a6171 :a6171 :a6171. -:a6172 :a6172 :a6172. -:a6173 :a6173 :a6173. -:a6174 :a6174 :a6174. -:a6175 :a6175 :a6175. -:a6176 :a6176 :a6176. -:a6177 :a6177 :a6177. -:a6178 :a6178 :a6178. -:a6179 :a6179 :a6179. -:a6180 :a6180 :a6180. -:a6181 :a6181 :a6181. -:a6182 :a6182 :a6182. -:a6183 :a6183 :a6183. -:a6184 :a6184 :a6184. -:a6185 :a6185 :a6185. -:a6186 :a6186 :a6186. -:a6187 :a6187 :a6187. -:a6188 :a6188 :a6188. -:a6189 :a6189 :a6189. -:a6190 :a6190 :a6190. -:a6191 :a6191 :a6191. -:a6192 :a6192 :a6192. -:a6193 :a6193 :a6193. -:a6194 :a6194 :a6194. -:a6195 :a6195 :a6195. -:a6196 :a6196 :a6196. -:a6197 :a6197 :a6197. -:a6198 :a6198 :a6198. -:a6199 :a6199 :a6199. -:a6200 :a6200 :a6200. -:a6201 :a6201 :a6201. -:a6202 :a6202 :a6202. -:a6203 :a6203 :a6203. -:a6204 :a6204 :a6204. -:a6205 :a6205 :a6205. -:a6206 :a6206 :a6206. -:a6207 :a6207 :a6207. -:a6208 :a6208 :a6208. -:a6209 :a6209 :a6209. -:a6210 :a6210 :a6210. -:a6211 :a6211 :a6211. -:a6212 :a6212 :a6212. -:a6213 :a6213 :a6213. -:a6214 :a6214 :a6214. -:a6215 :a6215 :a6215. -:a6216 :a6216 :a6216. -:a6217 :a6217 :a6217. -:a6218 :a6218 :a6218. -:a6219 :a6219 :a6219. -:a6220 :a6220 :a6220. -:a6221 :a6221 :a6221. -:a6222 :a6222 :a6222. -:a6223 :a6223 :a6223. -:a6224 :a6224 :a6224. -:a6225 :a6225 :a6225. -:a6226 :a6226 :a6226. -:a6227 :a6227 :a6227. -:a6228 :a6228 :a6228. -:a6229 :a6229 :a6229. -:a6230 :a6230 :a6230. -:a6231 :a6231 :a6231. -:a6232 :a6232 :a6232. -:a6233 :a6233 :a6233. -:a6234 :a6234 :a6234. -:a6235 :a6235 :a6235. -:a6236 :a6236 :a6236. -:a6237 :a6237 :a6237. -:a6238 :a6238 :a6238. -:a6239 :a6239 :a6239. -:a6240 :a6240 :a6240. -:a6241 :a6241 :a6241. -:a6242 :a6242 :a6242. -:a6243 :a6243 :a6243. -:a6244 :a6244 :a6244. -:a6245 :a6245 :a6245. -:a6246 :a6246 :a6246. -:a6247 :a6247 :a6247. -:a6248 :a6248 :a6248. -:a6249 :a6249 :a6249. -:a6250 :a6250 :a6250. -:a6251 :a6251 :a6251. -:a6252 :a6252 :a6252. -:a6253 :a6253 :a6253. -:a6254 :a6254 :a6254. -:a6255 :a6255 :a6255. -:a6256 :a6256 :a6256. -:a6257 :a6257 :a6257. -:a6258 :a6258 :a6258. -:a6259 :a6259 :a6259. -:a6260 :a6260 :a6260. -:a6261 :a6261 :a6261. -:a6262 :a6262 :a6262. -:a6263 :a6263 :a6263. -:a6264 :a6264 :a6264. -:a6265 :a6265 :a6265. -:a6266 :a6266 :a6266. -:a6267 :a6267 :a6267. -:a6268 :a6268 :a6268. -:a6269 :a6269 :a6269. -:a6270 :a6270 :a6270. -:a6271 :a6271 :a6271. -:a6272 :a6272 :a6272. -:a6273 :a6273 :a6273. -:a6274 :a6274 :a6274. -:a6275 :a6275 :a6275. -:a6276 :a6276 :a6276. -:a6277 :a6277 :a6277. -:a6278 :a6278 :a6278. -:a6279 :a6279 :a6279. -:a6280 :a6280 :a6280. -:a6281 :a6281 :a6281. -:a6282 :a6282 :a6282. -:a6283 :a6283 :a6283. -:a6284 :a6284 :a6284. -:a6285 :a6285 :a6285. -:a6286 :a6286 :a6286. -:a6287 :a6287 :a6287. -:a6288 :a6288 :a6288. -:a6289 :a6289 :a6289. -:a6290 :a6290 :a6290. -:a6291 :a6291 :a6291. -:a6292 :a6292 :a6292. -:a6293 :a6293 :a6293. -:a6294 :a6294 :a6294. -:a6295 :a6295 :a6295. -:a6296 :a6296 :a6296. -:a6297 :a6297 :a6297. -:a6298 :a6298 :a6298. -:a6299 :a6299 :a6299. -:a6300 :a6300 :a6300. -:a6301 :a6301 :a6301. -:a6302 :a6302 :a6302. -:a6303 :a6303 :a6303. -:a6304 :a6304 :a6304. -:a6305 :a6305 :a6305. -:a6306 :a6306 :a6306. -:a6307 :a6307 :a6307. -:a6308 :a6308 :a6308. -:a6309 :a6309 :a6309. -:a6310 :a6310 :a6310. -:a6311 :a6311 :a6311. -:a6312 :a6312 :a6312. -:a6313 :a6313 :a6313. -:a6314 :a6314 :a6314. -:a6315 :a6315 :a6315. -:a6316 :a6316 :a6316. -:a6317 :a6317 :a6317. -:a6318 :a6318 :a6318. -:a6319 :a6319 :a6319. -:a6320 :a6320 :a6320. -:a6321 :a6321 :a6321. -:a6322 :a6322 :a6322. -:a6323 :a6323 :a6323. -:a6324 :a6324 :a6324. -:a6325 :a6325 :a6325. -:a6326 :a6326 :a6326. -:a6327 :a6327 :a6327. -:a6328 :a6328 :a6328. -:a6329 :a6329 :a6329. -:a6330 :a6330 :a6330. -:a6331 :a6331 :a6331. -:a6332 :a6332 :a6332. -:a6333 :a6333 :a6333. -:a6334 :a6334 :a6334. -:a6335 :a6335 :a6335. -:a6336 :a6336 :a6336. -:a6337 :a6337 :a6337. -:a6338 :a6338 :a6338. -:a6339 :a6339 :a6339. -:a6340 :a6340 :a6340. -:a6341 :a6341 :a6341. -:a6342 :a6342 :a6342. -:a6343 :a6343 :a6343. -:a6344 :a6344 :a6344. -:a6345 :a6345 :a6345. -:a6346 :a6346 :a6346. -:a6347 :a6347 :a6347. -:a6348 :a6348 :a6348. -:a6349 :a6349 :a6349. -:a6350 :a6350 :a6350. -:a6351 :a6351 :a6351. -:a6352 :a6352 :a6352. -:a6353 :a6353 :a6353. -:a6354 :a6354 :a6354. -:a6355 :a6355 :a6355. -:a6356 :a6356 :a6356. -:a6357 :a6357 :a6357. -:a6358 :a6358 :a6358. -:a6359 :a6359 :a6359. -:a6360 :a6360 :a6360. -:a6361 :a6361 :a6361. -:a6362 :a6362 :a6362. -:a6363 :a6363 :a6363. -:a6364 :a6364 :a6364. -:a6365 :a6365 :a6365. -:a6366 :a6366 :a6366. -:a6367 :a6367 :a6367. -:a6368 :a6368 :a6368. -:a6369 :a6369 :a6369. -:a6370 :a6370 :a6370. -:a6371 :a6371 :a6371. -:a6372 :a6372 :a6372. -:a6373 :a6373 :a6373. -:a6374 :a6374 :a6374. -:a6375 :a6375 :a6375. -:a6376 :a6376 :a6376. -:a6377 :a6377 :a6377. -:a6378 :a6378 :a6378. -:a6379 :a6379 :a6379. -:a6380 :a6380 :a6380. -:a6381 :a6381 :a6381. -:a6382 :a6382 :a6382. -:a6383 :a6383 :a6383. -:a6384 :a6384 :a6384. -:a6385 :a6385 :a6385. -:a6386 :a6386 :a6386. -:a6387 :a6387 :a6387. -:a6388 :a6388 :a6388. -:a6389 :a6389 :a6389. -:a6390 :a6390 :a6390. -:a6391 :a6391 :a6391. -:a6392 :a6392 :a6392. -:a6393 :a6393 :a6393. -:a6394 :a6394 :a6394. -:a6395 :a6395 :a6395. -:a6396 :a6396 :a6396. -:a6397 :a6397 :a6397. -:a6398 :a6398 :a6398. -:a6399 :a6399 :a6399. -:a6400 :a6400 :a6400. -:a6401 :a6401 :a6401. -:a6402 :a6402 :a6402. -:a6403 :a6403 :a6403. -:a6404 :a6404 :a6404. -:a6405 :a6405 :a6405. -:a6406 :a6406 :a6406. -:a6407 :a6407 :a6407. -:a6408 :a6408 :a6408. -:a6409 :a6409 :a6409. -:a6410 :a6410 :a6410. -:a6411 :a6411 :a6411. -:a6412 :a6412 :a6412. -:a6413 :a6413 :a6413. -:a6414 :a6414 :a6414. -:a6415 :a6415 :a6415. -:a6416 :a6416 :a6416. -:a6417 :a6417 :a6417. -:a6418 :a6418 :a6418. -:a6419 :a6419 :a6419. -:a6420 :a6420 :a6420. -:a6421 :a6421 :a6421. -:a6422 :a6422 :a6422. -:a6423 :a6423 :a6423. -:a6424 :a6424 :a6424. -:a6425 :a6425 :a6425. -:a6426 :a6426 :a6426. -:a6427 :a6427 :a6427. -:a6428 :a6428 :a6428. -:a6429 :a6429 :a6429. -:a6430 :a6430 :a6430. -:a6431 :a6431 :a6431. -:a6432 :a6432 :a6432. -:a6433 :a6433 :a6433. -:a6434 :a6434 :a6434. -:a6435 :a6435 :a6435. -:a6436 :a6436 :a6436. -:a6437 :a6437 :a6437. -:a6438 :a6438 :a6438. -:a6439 :a6439 :a6439. -:a6440 :a6440 :a6440. -:a6441 :a6441 :a6441. -:a6442 :a6442 :a6442. -:a6443 :a6443 :a6443. -:a6444 :a6444 :a6444. -:a6445 :a6445 :a6445. -:a6446 :a6446 :a6446. -:a6447 :a6447 :a6447. -:a6448 :a6448 :a6448. -:a6449 :a6449 :a6449. -:a6450 :a6450 :a6450. -:a6451 :a6451 :a6451. -:a6452 :a6452 :a6452. -:a6453 :a6453 :a6453. -:a6454 :a6454 :a6454. -:a6455 :a6455 :a6455. -:a6456 :a6456 :a6456. -:a6457 :a6457 :a6457. -:a6458 :a6458 :a6458. -:a6459 :a6459 :a6459. -:a6460 :a6460 :a6460. -:a6461 :a6461 :a6461. -:a6462 :a6462 :a6462. -:a6463 :a6463 :a6463. -:a6464 :a6464 :a6464. -:a6465 :a6465 :a6465. -:a6466 :a6466 :a6466. -:a6467 :a6467 :a6467. -:a6468 :a6468 :a6468. -:a6469 :a6469 :a6469. -:a6470 :a6470 :a6470. -:a6471 :a6471 :a6471. -:a6472 :a6472 :a6472. -:a6473 :a6473 :a6473. -:a6474 :a6474 :a6474. -:a6475 :a6475 :a6475. -:a6476 :a6476 :a6476. -:a6477 :a6477 :a6477. -:a6478 :a6478 :a6478. -:a6479 :a6479 :a6479. -:a6480 :a6480 :a6480. -:a6481 :a6481 :a6481. -:a6482 :a6482 :a6482. -:a6483 :a6483 :a6483. -:a6484 :a6484 :a6484. -:a6485 :a6485 :a6485. -:a6486 :a6486 :a6486. -:a6487 :a6487 :a6487. -:a6488 :a6488 :a6488. -:a6489 :a6489 :a6489. -:a6490 :a6490 :a6490. -:a6491 :a6491 :a6491. -:a6492 :a6492 :a6492. -:a6493 :a6493 :a6493. -:a6494 :a6494 :a6494. -:a6495 :a6495 :a6495. -:a6496 :a6496 :a6496. -:a6497 :a6497 :a6497. -:a6498 :a6498 :a6498. -:a6499 :a6499 :a6499. -:a6500 :a6500 :a6500. -:a6501 :a6501 :a6501. -:a6502 :a6502 :a6502. -:a6503 :a6503 :a6503. -:a6504 :a6504 :a6504. -:a6505 :a6505 :a6505. -:a6506 :a6506 :a6506. -:a6507 :a6507 :a6507. -:a6508 :a6508 :a6508. -:a6509 :a6509 :a6509. -:a6510 :a6510 :a6510. -:a6511 :a6511 :a6511. -:a6512 :a6512 :a6512. -:a6513 :a6513 :a6513. -:a6514 :a6514 :a6514. -:a6515 :a6515 :a6515. -:a6516 :a6516 :a6516. -:a6517 :a6517 :a6517. -:a6518 :a6518 :a6518. -:a6519 :a6519 :a6519. -:a6520 :a6520 :a6520. -:a6521 :a6521 :a6521. -:a6522 :a6522 :a6522. -:a6523 :a6523 :a6523. -:a6524 :a6524 :a6524. -:a6525 :a6525 :a6525. -:a6526 :a6526 :a6526. -:a6527 :a6527 :a6527. -:a6528 :a6528 :a6528. -:a6529 :a6529 :a6529. -:a6530 :a6530 :a6530. -:a6531 :a6531 :a6531. -:a6532 :a6532 :a6532. -:a6533 :a6533 :a6533. -:a6534 :a6534 :a6534. -:a6535 :a6535 :a6535. -:a6536 :a6536 :a6536. -:a6537 :a6537 :a6537. -:a6538 :a6538 :a6538. -:a6539 :a6539 :a6539. -:a6540 :a6540 :a6540. -:a6541 :a6541 :a6541. -:a6542 :a6542 :a6542. -:a6543 :a6543 :a6543. -:a6544 :a6544 :a6544. -:a6545 :a6545 :a6545. -:a6546 :a6546 :a6546. -:a6547 :a6547 :a6547. -:a6548 :a6548 :a6548. -:a6549 :a6549 :a6549. -:a6550 :a6550 :a6550. -:a6551 :a6551 :a6551. -:a6552 :a6552 :a6552. -:a6553 :a6553 :a6553. -:a6554 :a6554 :a6554. -:a6555 :a6555 :a6555. -:a6556 :a6556 :a6556. -:a6557 :a6557 :a6557. -:a6558 :a6558 :a6558. -:a6559 :a6559 :a6559. -:a6560 :a6560 :a6560. -:a6561 :a6561 :a6561. -:a6562 :a6562 :a6562. -:a6563 :a6563 :a6563. -:a6564 :a6564 :a6564. -:a6565 :a6565 :a6565. -:a6566 :a6566 :a6566. -:a6567 :a6567 :a6567. -:a6568 :a6568 :a6568. -:a6569 :a6569 :a6569. -:a6570 :a6570 :a6570. -:a6571 :a6571 :a6571. -:a6572 :a6572 :a6572. -:a6573 :a6573 :a6573. -:a6574 :a6574 :a6574. -:a6575 :a6575 :a6575. -:a6576 :a6576 :a6576. -:a6577 :a6577 :a6577. -:a6578 :a6578 :a6578. -:a6579 :a6579 :a6579. -:a6580 :a6580 :a6580. -:a6581 :a6581 :a6581. -:a6582 :a6582 :a6582. -:a6583 :a6583 :a6583. -:a6584 :a6584 :a6584. -:a6585 :a6585 :a6585. -:a6586 :a6586 :a6586. -:a6587 :a6587 :a6587. -:a6588 :a6588 :a6588. -:a6589 :a6589 :a6589. -:a6590 :a6590 :a6590. -:a6591 :a6591 :a6591. -:a6592 :a6592 :a6592. -:a6593 :a6593 :a6593. -:a6594 :a6594 :a6594. -:a6595 :a6595 :a6595. -:a6596 :a6596 :a6596. -:a6597 :a6597 :a6597. -:a6598 :a6598 :a6598. -:a6599 :a6599 :a6599. -:a6600 :a6600 :a6600. -:a6601 :a6601 :a6601. -:a6602 :a6602 :a6602. -:a6603 :a6603 :a6603. -:a6604 :a6604 :a6604. -:a6605 :a6605 :a6605. -:a6606 :a6606 :a6606. -:a6607 :a6607 :a6607. -:a6608 :a6608 :a6608. -:a6609 :a6609 :a6609. -:a6610 :a6610 :a6610. -:a6611 :a6611 :a6611. -:a6612 :a6612 :a6612. -:a6613 :a6613 :a6613. -:a6614 :a6614 :a6614. -:a6615 :a6615 :a6615. -:a6616 :a6616 :a6616. -:a6617 :a6617 :a6617. -:a6618 :a6618 :a6618. -:a6619 :a6619 :a6619. -:a6620 :a6620 :a6620. -:a6621 :a6621 :a6621. -:a6622 :a6622 :a6622. -:a6623 :a6623 :a6623. -:a6624 :a6624 :a6624. -:a6625 :a6625 :a6625. -:a6626 :a6626 :a6626. -:a6627 :a6627 :a6627. -:a6628 :a6628 :a6628. -:a6629 :a6629 :a6629. -:a6630 :a6630 :a6630. -:a6631 :a6631 :a6631. -:a6632 :a6632 :a6632. -:a6633 :a6633 :a6633. -:a6634 :a6634 :a6634. -:a6635 :a6635 :a6635. -:a6636 :a6636 :a6636. -:a6637 :a6637 :a6637. -:a6638 :a6638 :a6638. -:a6639 :a6639 :a6639. -:a6640 :a6640 :a6640. -:a6641 :a6641 :a6641. -:a6642 :a6642 :a6642. -:a6643 :a6643 :a6643. -:a6644 :a6644 :a6644. -:a6645 :a6645 :a6645. -:a6646 :a6646 :a6646. -:a6647 :a6647 :a6647. -:a6648 :a6648 :a6648. -:a6649 :a6649 :a6649. -:a6650 :a6650 :a6650. -:a6651 :a6651 :a6651. -:a6652 :a6652 :a6652. -:a6653 :a6653 :a6653. -:a6654 :a6654 :a6654. -:a6655 :a6655 :a6655. -:a6656 :a6656 :a6656. -:a6657 :a6657 :a6657. -:a6658 :a6658 :a6658. -:a6659 :a6659 :a6659. -:a6660 :a6660 :a6660. -:a6661 :a6661 :a6661. -:a6662 :a6662 :a6662. -:a6663 :a6663 :a6663. -:a6664 :a6664 :a6664. -:a6665 :a6665 :a6665. -:a6666 :a6666 :a6666. -:a6667 :a6667 :a6667. -:a6668 :a6668 :a6668. -:a6669 :a6669 :a6669. -:a6670 :a6670 :a6670. -:a6671 :a6671 :a6671. -:a6672 :a6672 :a6672. -:a6673 :a6673 :a6673. -:a6674 :a6674 :a6674. -:a6675 :a6675 :a6675. -:a6676 :a6676 :a6676. -:a6677 :a6677 :a6677. -:a6678 :a6678 :a6678. -:a6679 :a6679 :a6679. -:a6680 :a6680 :a6680. -:a6681 :a6681 :a6681. -:a6682 :a6682 :a6682. -:a6683 :a6683 :a6683. -:a6684 :a6684 :a6684. -:a6685 :a6685 :a6685. -:a6686 :a6686 :a6686. -:a6687 :a6687 :a6687. -:a6688 :a6688 :a6688. -:a6689 :a6689 :a6689. -:a6690 :a6690 :a6690. -:a6691 :a6691 :a6691. -:a6692 :a6692 :a6692. -:a6693 :a6693 :a6693. -:a6694 :a6694 :a6694. -:a6695 :a6695 :a6695. -:a6696 :a6696 :a6696. -:a6697 :a6697 :a6697. -:a6698 :a6698 :a6698. -:a6699 :a6699 :a6699. -:a6700 :a6700 :a6700. -:a6701 :a6701 :a6701. -:a6702 :a6702 :a6702. -:a6703 :a6703 :a6703. -:a6704 :a6704 :a6704. -:a6705 :a6705 :a6705. -:a6706 :a6706 :a6706. -:a6707 :a6707 :a6707. -:a6708 :a6708 :a6708. -:a6709 :a6709 :a6709. -:a6710 :a6710 :a6710. -:a6711 :a6711 :a6711. -:a6712 :a6712 :a6712. -:a6713 :a6713 :a6713. -:a6714 :a6714 :a6714. -:a6715 :a6715 :a6715. -:a6716 :a6716 :a6716. -:a6717 :a6717 :a6717. -:a6718 :a6718 :a6718. -:a6719 :a6719 :a6719. -:a6720 :a6720 :a6720. -:a6721 :a6721 :a6721. -:a6722 :a6722 :a6722. -:a6723 :a6723 :a6723. -:a6724 :a6724 :a6724. -:a6725 :a6725 :a6725. -:a6726 :a6726 :a6726. -:a6727 :a6727 :a6727. -:a6728 :a6728 :a6728. -:a6729 :a6729 :a6729. -:a6730 :a6730 :a6730. -:a6731 :a6731 :a6731. -:a6732 :a6732 :a6732. -:a6733 :a6733 :a6733. -:a6734 :a6734 :a6734. -:a6735 :a6735 :a6735. -:a6736 :a6736 :a6736. -:a6737 :a6737 :a6737. -:a6738 :a6738 :a6738. -:a6739 :a6739 :a6739. -:a6740 :a6740 :a6740. -:a6741 :a6741 :a6741. -:a6742 :a6742 :a6742. -:a6743 :a6743 :a6743. -:a6744 :a6744 :a6744. -:a6745 :a6745 :a6745. -:a6746 :a6746 :a6746. -:a6747 :a6747 :a6747. -:a6748 :a6748 :a6748. -:a6749 :a6749 :a6749. -:a6750 :a6750 :a6750. -:a6751 :a6751 :a6751. -:a6752 :a6752 :a6752. -:a6753 :a6753 :a6753. -:a6754 :a6754 :a6754. -:a6755 :a6755 :a6755. -:a6756 :a6756 :a6756. -:a6757 :a6757 :a6757. -:a6758 :a6758 :a6758. -:a6759 :a6759 :a6759. -:a6760 :a6760 :a6760. -:a6761 :a6761 :a6761. -:a6762 :a6762 :a6762. -:a6763 :a6763 :a6763. -:a6764 :a6764 :a6764. -:a6765 :a6765 :a6765. -:a6766 :a6766 :a6766. -:a6767 :a6767 :a6767. -:a6768 :a6768 :a6768. -:a6769 :a6769 :a6769. -:a6770 :a6770 :a6770. -:a6771 :a6771 :a6771. -:a6772 :a6772 :a6772. -:a6773 :a6773 :a6773. -:a6774 :a6774 :a6774. -:a6775 :a6775 :a6775. -:a6776 :a6776 :a6776. -:a6777 :a6777 :a6777. -:a6778 :a6778 :a6778. -:a6779 :a6779 :a6779. -:a6780 :a6780 :a6780. -:a6781 :a6781 :a6781. -:a6782 :a6782 :a6782. -:a6783 :a6783 :a6783. -:a6784 :a6784 :a6784. -:a6785 :a6785 :a6785. -:a6786 :a6786 :a6786. -:a6787 :a6787 :a6787. -:a6788 :a6788 :a6788. -:a6789 :a6789 :a6789. -:a6790 :a6790 :a6790. -:a6791 :a6791 :a6791. -:a6792 :a6792 :a6792. -:a6793 :a6793 :a6793. -:a6794 :a6794 :a6794. -:a6795 :a6795 :a6795. -:a6796 :a6796 :a6796. -:a6797 :a6797 :a6797. -:a6798 :a6798 :a6798. -:a6799 :a6799 :a6799. -:a6800 :a6800 :a6800. -:a6801 :a6801 :a6801. -:a6802 :a6802 :a6802. -:a6803 :a6803 :a6803. -:a6804 :a6804 :a6804. -:a6805 :a6805 :a6805. -:a6806 :a6806 :a6806. -:a6807 :a6807 :a6807. -:a6808 :a6808 :a6808. -:a6809 :a6809 :a6809. -:a6810 :a6810 :a6810. -:a6811 :a6811 :a6811. -:a6812 :a6812 :a6812. -:a6813 :a6813 :a6813. -:a6814 :a6814 :a6814. -:a6815 :a6815 :a6815. -:a6816 :a6816 :a6816. -:a6817 :a6817 :a6817. -:a6818 :a6818 :a6818. -:a6819 :a6819 :a6819. -:a6820 :a6820 :a6820. -:a6821 :a6821 :a6821. -:a6822 :a6822 :a6822. -:a6823 :a6823 :a6823. -:a6824 :a6824 :a6824. -:a6825 :a6825 :a6825. -:a6826 :a6826 :a6826. -:a6827 :a6827 :a6827. -:a6828 :a6828 :a6828. -:a6829 :a6829 :a6829. -:a6830 :a6830 :a6830. -:a6831 :a6831 :a6831. -:a6832 :a6832 :a6832. -:a6833 :a6833 :a6833. -:a6834 :a6834 :a6834. -:a6835 :a6835 :a6835. -:a6836 :a6836 :a6836. -:a6837 :a6837 :a6837. -:a6838 :a6838 :a6838. -:a6839 :a6839 :a6839. -:a6840 :a6840 :a6840. -:a6841 :a6841 :a6841. -:a6842 :a6842 :a6842. -:a6843 :a6843 :a6843. -:a6844 :a6844 :a6844. -:a6845 :a6845 :a6845. -:a6846 :a6846 :a6846. -:a6847 :a6847 :a6847. -:a6848 :a6848 :a6848. -:a6849 :a6849 :a6849. -:a6850 :a6850 :a6850. -:a6851 :a6851 :a6851. -:a6852 :a6852 :a6852. -:a6853 :a6853 :a6853. -:a6854 :a6854 :a6854. -:a6855 :a6855 :a6855. -:a6856 :a6856 :a6856. -:a6857 :a6857 :a6857. -:a6858 :a6858 :a6858. -:a6859 :a6859 :a6859. -:a6860 :a6860 :a6860. -:a6861 :a6861 :a6861. -:a6862 :a6862 :a6862. -:a6863 :a6863 :a6863. -:a6864 :a6864 :a6864. -:a6865 :a6865 :a6865. -:a6866 :a6866 :a6866. -:a6867 :a6867 :a6867. -:a6868 :a6868 :a6868. -:a6869 :a6869 :a6869. -:a6870 :a6870 :a6870. -:a6871 :a6871 :a6871. -:a6872 :a6872 :a6872. -:a6873 :a6873 :a6873. -:a6874 :a6874 :a6874. -:a6875 :a6875 :a6875. -:a6876 :a6876 :a6876. -:a6877 :a6877 :a6877. -:a6878 :a6878 :a6878. -:a6879 :a6879 :a6879. -:a6880 :a6880 :a6880. -:a6881 :a6881 :a6881. -:a6882 :a6882 :a6882. -:a6883 :a6883 :a6883. -:a6884 :a6884 :a6884. -:a6885 :a6885 :a6885. -:a6886 :a6886 :a6886. -:a6887 :a6887 :a6887. -:a6888 :a6888 :a6888. -:a6889 :a6889 :a6889. -:a6890 :a6890 :a6890. -:a6891 :a6891 :a6891. -:a6892 :a6892 :a6892. -:a6893 :a6893 :a6893. -:a6894 :a6894 :a6894. -:a6895 :a6895 :a6895. -:a6896 :a6896 :a6896. -:a6897 :a6897 :a6897. -:a6898 :a6898 :a6898. -:a6899 :a6899 :a6899. -:a6900 :a6900 :a6900. -:a6901 :a6901 :a6901. -:a6902 :a6902 :a6902. -:a6903 :a6903 :a6903. -:a6904 :a6904 :a6904. -:a6905 :a6905 :a6905. -:a6906 :a6906 :a6906. -:a6907 :a6907 :a6907. -:a6908 :a6908 :a6908. -:a6909 :a6909 :a6909. -:a6910 :a6910 :a6910. -:a6911 :a6911 :a6911. -:a6912 :a6912 :a6912. -:a6913 :a6913 :a6913. -:a6914 :a6914 :a6914. -:a6915 :a6915 :a6915. -:a6916 :a6916 :a6916. -:a6917 :a6917 :a6917. -:a6918 :a6918 :a6918. -:a6919 :a6919 :a6919. -:a6920 :a6920 :a6920. -:a6921 :a6921 :a6921. -:a6922 :a6922 :a6922. -:a6923 :a6923 :a6923. -:a6924 :a6924 :a6924. -:a6925 :a6925 :a6925. -:a6926 :a6926 :a6926. -:a6927 :a6927 :a6927. -:a6928 :a6928 :a6928. -:a6929 :a6929 :a6929. -:a6930 :a6930 :a6930. -:a6931 :a6931 :a6931. -:a6932 :a6932 :a6932. -:a6933 :a6933 :a6933. -:a6934 :a6934 :a6934. -:a6935 :a6935 :a6935. -:a6936 :a6936 :a6936. -:a6937 :a6937 :a6937. -:a6938 :a6938 :a6938. -:a6939 :a6939 :a6939. -:a6940 :a6940 :a6940. -:a6941 :a6941 :a6941. -:a6942 :a6942 :a6942. -:a6943 :a6943 :a6943. -:a6944 :a6944 :a6944. -:a6945 :a6945 :a6945. -:a6946 :a6946 :a6946. -:a6947 :a6947 :a6947. -:a6948 :a6948 :a6948. -:a6949 :a6949 :a6949. -:a6950 :a6950 :a6950. -:a6951 :a6951 :a6951. -:a6952 :a6952 :a6952. -:a6953 :a6953 :a6953. -:a6954 :a6954 :a6954. -:a6955 :a6955 :a6955. -:a6956 :a6956 :a6956. -:a6957 :a6957 :a6957. -:a6958 :a6958 :a6958. -:a6959 :a6959 :a6959. -:a6960 :a6960 :a6960. -:a6961 :a6961 :a6961. -:a6962 :a6962 :a6962. -:a6963 :a6963 :a6963. -:a6964 :a6964 :a6964. -:a6965 :a6965 :a6965. -:a6966 :a6966 :a6966. -:a6967 :a6967 :a6967. -:a6968 :a6968 :a6968. -:a6969 :a6969 :a6969. -:a6970 :a6970 :a6970. -:a6971 :a6971 :a6971. -:a6972 :a6972 :a6972. -:a6973 :a6973 :a6973. -:a6974 :a6974 :a6974. -:a6975 :a6975 :a6975. -:a6976 :a6976 :a6976. -:a6977 :a6977 :a6977. -:a6978 :a6978 :a6978. -:a6979 :a6979 :a6979. -:a6980 :a6980 :a6980. -:a6981 :a6981 :a6981. -:a6982 :a6982 :a6982. -:a6983 :a6983 :a6983. -:a6984 :a6984 :a6984. -:a6985 :a6985 :a6985. -:a6986 :a6986 :a6986. -:a6987 :a6987 :a6987. -:a6988 :a6988 :a6988. -:a6989 :a6989 :a6989. -:a6990 :a6990 :a6990. -:a6991 :a6991 :a6991. -:a6992 :a6992 :a6992. -:a6993 :a6993 :a6993. -:a6994 :a6994 :a6994. -:a6995 :a6995 :a6995. -:a6996 :a6996 :a6996. -:a6997 :a6997 :a6997. -:a6998 :a6998 :a6998. -:a6999 :a6999 :a6999. -:a7000 :a7000 :a7000. -:a7001 :a7001 :a7001. -:a7002 :a7002 :a7002. -:a7003 :a7003 :a7003. -:a7004 :a7004 :a7004. -:a7005 :a7005 :a7005. -:a7006 :a7006 :a7006. -:a7007 :a7007 :a7007. -:a7008 :a7008 :a7008. -:a7009 :a7009 :a7009. -:a7010 :a7010 :a7010. -:a7011 :a7011 :a7011. -:a7012 :a7012 :a7012. -:a7013 :a7013 :a7013. -:a7014 :a7014 :a7014. -:a7015 :a7015 :a7015. -:a7016 :a7016 :a7016. -:a7017 :a7017 :a7017. -:a7018 :a7018 :a7018. -:a7019 :a7019 :a7019. -:a7020 :a7020 :a7020. -:a7021 :a7021 :a7021. -:a7022 :a7022 :a7022. -:a7023 :a7023 :a7023. -:a7024 :a7024 :a7024. -:a7025 :a7025 :a7025. -:a7026 :a7026 :a7026. -:a7027 :a7027 :a7027. -:a7028 :a7028 :a7028. -:a7029 :a7029 :a7029. -:a7030 :a7030 :a7030. -:a7031 :a7031 :a7031. -:a7032 :a7032 :a7032. -:a7033 :a7033 :a7033. -:a7034 :a7034 :a7034. -:a7035 :a7035 :a7035. -:a7036 :a7036 :a7036. -:a7037 :a7037 :a7037. -:a7038 :a7038 :a7038. -:a7039 :a7039 :a7039. -:a7040 :a7040 :a7040. -:a7041 :a7041 :a7041. -:a7042 :a7042 :a7042. -:a7043 :a7043 :a7043. -:a7044 :a7044 :a7044. -:a7045 :a7045 :a7045. -:a7046 :a7046 :a7046. -:a7047 :a7047 :a7047. -:a7048 :a7048 :a7048. -:a7049 :a7049 :a7049. -:a7050 :a7050 :a7050. -:a7051 :a7051 :a7051. -:a7052 :a7052 :a7052. -:a7053 :a7053 :a7053. -:a7054 :a7054 :a7054. -:a7055 :a7055 :a7055. -:a7056 :a7056 :a7056. -:a7057 :a7057 :a7057. -:a7058 :a7058 :a7058. -:a7059 :a7059 :a7059. -:a7060 :a7060 :a7060. -:a7061 :a7061 :a7061. -:a7062 :a7062 :a7062. -:a7063 :a7063 :a7063. -:a7064 :a7064 :a7064. -:a7065 :a7065 :a7065. -:a7066 :a7066 :a7066. -:a7067 :a7067 :a7067. -:a7068 :a7068 :a7068. -:a7069 :a7069 :a7069. -:a7070 :a7070 :a7070. -:a7071 :a7071 :a7071. -:a7072 :a7072 :a7072. -:a7073 :a7073 :a7073. -:a7074 :a7074 :a7074. -:a7075 :a7075 :a7075. -:a7076 :a7076 :a7076. -:a7077 :a7077 :a7077. -:a7078 :a7078 :a7078. -:a7079 :a7079 :a7079. -:a7080 :a7080 :a7080. -:a7081 :a7081 :a7081. -:a7082 :a7082 :a7082. -:a7083 :a7083 :a7083. -:a7084 :a7084 :a7084. -:a7085 :a7085 :a7085. -:a7086 :a7086 :a7086. -:a7087 :a7087 :a7087. -:a7088 :a7088 :a7088. -:a7089 :a7089 :a7089. -:a7090 :a7090 :a7090. -:a7091 :a7091 :a7091. -:a7092 :a7092 :a7092. -:a7093 :a7093 :a7093. -:a7094 :a7094 :a7094. -:a7095 :a7095 :a7095. -:a7096 :a7096 :a7096. -:a7097 :a7097 :a7097. -:a7098 :a7098 :a7098. -:a7099 :a7099 :a7099. -:a7100 :a7100 :a7100. -:a7101 :a7101 :a7101. -:a7102 :a7102 :a7102. -:a7103 :a7103 :a7103. -:a7104 :a7104 :a7104. -:a7105 :a7105 :a7105. -:a7106 :a7106 :a7106. -:a7107 :a7107 :a7107. -:a7108 :a7108 :a7108. -:a7109 :a7109 :a7109. -:a7110 :a7110 :a7110. -:a7111 :a7111 :a7111. -:a7112 :a7112 :a7112. -:a7113 :a7113 :a7113. -:a7114 :a7114 :a7114. -:a7115 :a7115 :a7115. -:a7116 :a7116 :a7116. -:a7117 :a7117 :a7117. -:a7118 :a7118 :a7118. -:a7119 :a7119 :a7119. -:a7120 :a7120 :a7120. -:a7121 :a7121 :a7121. -:a7122 :a7122 :a7122. -:a7123 :a7123 :a7123. -:a7124 :a7124 :a7124. -:a7125 :a7125 :a7125. -:a7126 :a7126 :a7126. -:a7127 :a7127 :a7127. -:a7128 :a7128 :a7128. -:a7129 :a7129 :a7129. -:a7130 :a7130 :a7130. -:a7131 :a7131 :a7131. -:a7132 :a7132 :a7132. -:a7133 :a7133 :a7133. -:a7134 :a7134 :a7134. -:a7135 :a7135 :a7135. -:a7136 :a7136 :a7136. -:a7137 :a7137 :a7137. -:a7138 :a7138 :a7138. -:a7139 :a7139 :a7139. -:a7140 :a7140 :a7140. -:a7141 :a7141 :a7141. -:a7142 :a7142 :a7142. -:a7143 :a7143 :a7143. -:a7144 :a7144 :a7144. -:a7145 :a7145 :a7145. -:a7146 :a7146 :a7146. -:a7147 :a7147 :a7147. -:a7148 :a7148 :a7148. -:a7149 :a7149 :a7149. -:a7150 :a7150 :a7150. -:a7151 :a7151 :a7151. -:a7152 :a7152 :a7152. -:a7153 :a7153 :a7153. -:a7154 :a7154 :a7154. -:a7155 :a7155 :a7155. -:a7156 :a7156 :a7156. -:a7157 :a7157 :a7157. -:a7158 :a7158 :a7158. -:a7159 :a7159 :a7159. -:a7160 :a7160 :a7160. -:a7161 :a7161 :a7161. -:a7162 :a7162 :a7162. -:a7163 :a7163 :a7163. -:a7164 :a7164 :a7164. -:a7165 :a7165 :a7165. -:a7166 :a7166 :a7166. -:a7167 :a7167 :a7167. -:a7168 :a7168 :a7168. -:a7169 :a7169 :a7169. -:a7170 :a7170 :a7170. -:a7171 :a7171 :a7171. -:a7172 :a7172 :a7172. -:a7173 :a7173 :a7173. -:a7174 :a7174 :a7174. -:a7175 :a7175 :a7175. -:a7176 :a7176 :a7176. -:a7177 :a7177 :a7177. -:a7178 :a7178 :a7178. -:a7179 :a7179 :a7179. -:a7180 :a7180 :a7180. -:a7181 :a7181 :a7181. -:a7182 :a7182 :a7182. -:a7183 :a7183 :a7183. -:a7184 :a7184 :a7184. -:a7185 :a7185 :a7185. -:a7186 :a7186 :a7186. -:a7187 :a7187 :a7187. -:a7188 :a7188 :a7188. -:a7189 :a7189 :a7189. -:a7190 :a7190 :a7190. -:a7191 :a7191 :a7191. -:a7192 :a7192 :a7192. -:a7193 :a7193 :a7193. -:a7194 :a7194 :a7194. -:a7195 :a7195 :a7195. -:a7196 :a7196 :a7196. -:a7197 :a7197 :a7197. -:a7198 :a7198 :a7198. -:a7199 :a7199 :a7199. -:a7200 :a7200 :a7200. -:a7201 :a7201 :a7201. -:a7202 :a7202 :a7202. -:a7203 :a7203 :a7203. -:a7204 :a7204 :a7204. -:a7205 :a7205 :a7205. -:a7206 :a7206 :a7206. -:a7207 :a7207 :a7207. -:a7208 :a7208 :a7208. -:a7209 :a7209 :a7209. -:a7210 :a7210 :a7210. -:a7211 :a7211 :a7211. -:a7212 :a7212 :a7212. -:a7213 :a7213 :a7213. -:a7214 :a7214 :a7214. -:a7215 :a7215 :a7215. -:a7216 :a7216 :a7216. -:a7217 :a7217 :a7217. -:a7218 :a7218 :a7218. -:a7219 :a7219 :a7219. -:a7220 :a7220 :a7220. -:a7221 :a7221 :a7221. -:a7222 :a7222 :a7222. -:a7223 :a7223 :a7223. -:a7224 :a7224 :a7224. -:a7225 :a7225 :a7225. -:a7226 :a7226 :a7226. -:a7227 :a7227 :a7227. -:a7228 :a7228 :a7228. -:a7229 :a7229 :a7229. -:a7230 :a7230 :a7230. -:a7231 :a7231 :a7231. -:a7232 :a7232 :a7232. -:a7233 :a7233 :a7233. -:a7234 :a7234 :a7234. -:a7235 :a7235 :a7235. -:a7236 :a7236 :a7236. -:a7237 :a7237 :a7237. -:a7238 :a7238 :a7238. -:a7239 :a7239 :a7239. -:a7240 :a7240 :a7240. -:a7241 :a7241 :a7241. -:a7242 :a7242 :a7242. -:a7243 :a7243 :a7243. -:a7244 :a7244 :a7244. -:a7245 :a7245 :a7245. -:a7246 :a7246 :a7246. -:a7247 :a7247 :a7247. -:a7248 :a7248 :a7248. -:a7249 :a7249 :a7249. -:a7250 :a7250 :a7250. -:a7251 :a7251 :a7251. -:a7252 :a7252 :a7252. -:a7253 :a7253 :a7253. -:a7254 :a7254 :a7254. -:a7255 :a7255 :a7255. -:a7256 :a7256 :a7256. -:a7257 :a7257 :a7257. -:a7258 :a7258 :a7258. -:a7259 :a7259 :a7259. -:a7260 :a7260 :a7260. -:a7261 :a7261 :a7261. -:a7262 :a7262 :a7262. -:a7263 :a7263 :a7263. -:a7264 :a7264 :a7264. -:a7265 :a7265 :a7265. -:a7266 :a7266 :a7266. -:a7267 :a7267 :a7267. -:a7268 :a7268 :a7268. -:a7269 :a7269 :a7269. -:a7270 :a7270 :a7270. -:a7271 :a7271 :a7271. -:a7272 :a7272 :a7272. -:a7273 :a7273 :a7273. -:a7274 :a7274 :a7274. -:a7275 :a7275 :a7275. -:a7276 :a7276 :a7276. -:a7277 :a7277 :a7277. -:a7278 :a7278 :a7278. -:a7279 :a7279 :a7279. -:a7280 :a7280 :a7280. -:a7281 :a7281 :a7281. -:a7282 :a7282 :a7282. -:a7283 :a7283 :a7283. -:a7284 :a7284 :a7284. -:a7285 :a7285 :a7285. -:a7286 :a7286 :a7286. -:a7287 :a7287 :a7287. -:a7288 :a7288 :a7288. -:a7289 :a7289 :a7289. -:a7290 :a7290 :a7290. -:a7291 :a7291 :a7291. -:a7292 :a7292 :a7292. -:a7293 :a7293 :a7293. -:a7294 :a7294 :a7294. -:a7295 :a7295 :a7295. -:a7296 :a7296 :a7296. -:a7297 :a7297 :a7297. -:a7298 :a7298 :a7298. -:a7299 :a7299 :a7299. -:a7300 :a7300 :a7300. -:a7301 :a7301 :a7301. -:a7302 :a7302 :a7302. -:a7303 :a7303 :a7303. -:a7304 :a7304 :a7304. -:a7305 :a7305 :a7305. -:a7306 :a7306 :a7306. -:a7307 :a7307 :a7307. -:a7308 :a7308 :a7308. -:a7309 :a7309 :a7309. -:a7310 :a7310 :a7310. -:a7311 :a7311 :a7311. -:a7312 :a7312 :a7312. -:a7313 :a7313 :a7313. -:a7314 :a7314 :a7314. -:a7315 :a7315 :a7315. -:a7316 :a7316 :a7316. -:a7317 :a7317 :a7317. -:a7318 :a7318 :a7318. -:a7319 :a7319 :a7319. -:a7320 :a7320 :a7320. -:a7321 :a7321 :a7321. -:a7322 :a7322 :a7322. -:a7323 :a7323 :a7323. -:a7324 :a7324 :a7324. -:a7325 :a7325 :a7325. -:a7326 :a7326 :a7326. -:a7327 :a7327 :a7327. -:a7328 :a7328 :a7328. -:a7329 :a7329 :a7329. -:a7330 :a7330 :a7330. -:a7331 :a7331 :a7331. -:a7332 :a7332 :a7332. -:a7333 :a7333 :a7333. -:a7334 :a7334 :a7334. -:a7335 :a7335 :a7335. -:a7336 :a7336 :a7336. -:a7337 :a7337 :a7337. -:a7338 :a7338 :a7338. -:a7339 :a7339 :a7339. -:a7340 :a7340 :a7340. -:a7341 :a7341 :a7341. -:a7342 :a7342 :a7342. -:a7343 :a7343 :a7343. -:a7344 :a7344 :a7344. -:a7345 :a7345 :a7345. -:a7346 :a7346 :a7346. -:a7347 :a7347 :a7347. -:a7348 :a7348 :a7348. -:a7349 :a7349 :a7349. -:a7350 :a7350 :a7350. -:a7351 :a7351 :a7351. -:a7352 :a7352 :a7352. -:a7353 :a7353 :a7353. -:a7354 :a7354 :a7354. -:a7355 :a7355 :a7355. -:a7356 :a7356 :a7356. -:a7357 :a7357 :a7357. -:a7358 :a7358 :a7358. -:a7359 :a7359 :a7359. -:a7360 :a7360 :a7360. -:a7361 :a7361 :a7361. -:a7362 :a7362 :a7362. -:a7363 :a7363 :a7363. -:a7364 :a7364 :a7364. -:a7365 :a7365 :a7365. -:a7366 :a7366 :a7366. -:a7367 :a7367 :a7367. -:a7368 :a7368 :a7368. -:a7369 :a7369 :a7369. -:a7370 :a7370 :a7370. -:a7371 :a7371 :a7371. -:a7372 :a7372 :a7372. -:a7373 :a7373 :a7373. -:a7374 :a7374 :a7374. -:a7375 :a7375 :a7375. -:a7376 :a7376 :a7376. -:a7377 :a7377 :a7377. -:a7378 :a7378 :a7378. -:a7379 :a7379 :a7379. -:a7380 :a7380 :a7380. -:a7381 :a7381 :a7381. -:a7382 :a7382 :a7382. -:a7383 :a7383 :a7383. -:a7384 :a7384 :a7384. -:a7385 :a7385 :a7385. -:a7386 :a7386 :a7386. -:a7387 :a7387 :a7387. -:a7388 :a7388 :a7388. -:a7389 :a7389 :a7389. -:a7390 :a7390 :a7390. -:a7391 :a7391 :a7391. -:a7392 :a7392 :a7392. -:a7393 :a7393 :a7393. -:a7394 :a7394 :a7394. -:a7395 :a7395 :a7395. -:a7396 :a7396 :a7396. -:a7397 :a7397 :a7397. -:a7398 :a7398 :a7398. -:a7399 :a7399 :a7399. -:a7400 :a7400 :a7400. -:a7401 :a7401 :a7401. -:a7402 :a7402 :a7402. -:a7403 :a7403 :a7403. -:a7404 :a7404 :a7404. -:a7405 :a7405 :a7405. -:a7406 :a7406 :a7406. -:a7407 :a7407 :a7407. -:a7408 :a7408 :a7408. -:a7409 :a7409 :a7409. -:a7410 :a7410 :a7410. -:a7411 :a7411 :a7411. -:a7412 :a7412 :a7412. -:a7413 :a7413 :a7413. -:a7414 :a7414 :a7414. -:a7415 :a7415 :a7415. -:a7416 :a7416 :a7416. -:a7417 :a7417 :a7417. -:a7418 :a7418 :a7418. -:a7419 :a7419 :a7419. -:a7420 :a7420 :a7420. -:a7421 :a7421 :a7421. -:a7422 :a7422 :a7422. -:a7423 :a7423 :a7423. -:a7424 :a7424 :a7424. -:a7425 :a7425 :a7425. -:a7426 :a7426 :a7426. -:a7427 :a7427 :a7427. -:a7428 :a7428 :a7428. -:a7429 :a7429 :a7429. -:a7430 :a7430 :a7430. -:a7431 :a7431 :a7431. -:a7432 :a7432 :a7432. -:a7433 :a7433 :a7433. -:a7434 :a7434 :a7434. -:a7435 :a7435 :a7435. -:a7436 :a7436 :a7436. -:a7437 :a7437 :a7437. -:a7438 :a7438 :a7438. -:a7439 :a7439 :a7439. -:a7440 :a7440 :a7440. -:a7441 :a7441 :a7441. -:a7442 :a7442 :a7442. -:a7443 :a7443 :a7443. -:a7444 :a7444 :a7444. -:a7445 :a7445 :a7445. -:a7446 :a7446 :a7446. -:a7447 :a7447 :a7447. -:a7448 :a7448 :a7448. -:a7449 :a7449 :a7449. -:a7450 :a7450 :a7450. -:a7451 :a7451 :a7451. -:a7452 :a7452 :a7452. -:a7453 :a7453 :a7453. -:a7454 :a7454 :a7454. -:a7455 :a7455 :a7455. -:a7456 :a7456 :a7456. -:a7457 :a7457 :a7457. -:a7458 :a7458 :a7458. -:a7459 :a7459 :a7459. -:a7460 :a7460 :a7460. -:a7461 :a7461 :a7461. -:a7462 :a7462 :a7462. -:a7463 :a7463 :a7463. -:a7464 :a7464 :a7464. -:a7465 :a7465 :a7465. -:a7466 :a7466 :a7466. -:a7467 :a7467 :a7467. -:a7468 :a7468 :a7468. -:a7469 :a7469 :a7469. -:a7470 :a7470 :a7470. -:a7471 :a7471 :a7471. -:a7472 :a7472 :a7472. -:a7473 :a7473 :a7473. -:a7474 :a7474 :a7474. -:a7475 :a7475 :a7475. -:a7476 :a7476 :a7476. -:a7477 :a7477 :a7477. -:a7478 :a7478 :a7478. -:a7479 :a7479 :a7479. -:a7480 :a7480 :a7480. -:a7481 :a7481 :a7481. -:a7482 :a7482 :a7482. -:a7483 :a7483 :a7483. -:a7484 :a7484 :a7484. -:a7485 :a7485 :a7485. -:a7486 :a7486 :a7486. -:a7487 :a7487 :a7487. -:a7488 :a7488 :a7488. -:a7489 :a7489 :a7489. -:a7490 :a7490 :a7490. -:a7491 :a7491 :a7491. -:a7492 :a7492 :a7492. -:a7493 :a7493 :a7493. -:a7494 :a7494 :a7494. -:a7495 :a7495 :a7495. -:a7496 :a7496 :a7496. -:a7497 :a7497 :a7497. -:a7498 :a7498 :a7498. -:a7499 :a7499 :a7499. -:a7500 :a7500 :a7500. -:a7501 :a7501 :a7501. -:a7502 :a7502 :a7502. -:a7503 :a7503 :a7503. -:a7504 :a7504 :a7504. -:a7505 :a7505 :a7505. -:a7506 :a7506 :a7506. -:a7507 :a7507 :a7507. -:a7508 :a7508 :a7508. -:a7509 :a7509 :a7509. -:a7510 :a7510 :a7510. -:a7511 :a7511 :a7511. -:a7512 :a7512 :a7512. -:a7513 :a7513 :a7513. -:a7514 :a7514 :a7514. -:a7515 :a7515 :a7515. -:a7516 :a7516 :a7516. -:a7517 :a7517 :a7517. -:a7518 :a7518 :a7518. -:a7519 :a7519 :a7519. -:a7520 :a7520 :a7520. -:a7521 :a7521 :a7521. -:a7522 :a7522 :a7522. -:a7523 :a7523 :a7523. -:a7524 :a7524 :a7524. -:a7525 :a7525 :a7525. -:a7526 :a7526 :a7526. -:a7527 :a7527 :a7527. -:a7528 :a7528 :a7528. -:a7529 :a7529 :a7529. -:a7530 :a7530 :a7530. -:a7531 :a7531 :a7531. -:a7532 :a7532 :a7532. -:a7533 :a7533 :a7533. -:a7534 :a7534 :a7534. -:a7535 :a7535 :a7535. -:a7536 :a7536 :a7536. -:a7537 :a7537 :a7537. -:a7538 :a7538 :a7538. -:a7539 :a7539 :a7539. -:a7540 :a7540 :a7540. -:a7541 :a7541 :a7541. -:a7542 :a7542 :a7542. -:a7543 :a7543 :a7543. -:a7544 :a7544 :a7544. -:a7545 :a7545 :a7545. -:a7546 :a7546 :a7546. -:a7547 :a7547 :a7547. -:a7548 :a7548 :a7548. -:a7549 :a7549 :a7549. -:a7550 :a7550 :a7550. -:a7551 :a7551 :a7551. -:a7552 :a7552 :a7552. -:a7553 :a7553 :a7553. -:a7554 :a7554 :a7554. -:a7555 :a7555 :a7555. -:a7556 :a7556 :a7556. -:a7557 :a7557 :a7557. -:a7558 :a7558 :a7558. -:a7559 :a7559 :a7559. -:a7560 :a7560 :a7560. -:a7561 :a7561 :a7561. -:a7562 :a7562 :a7562. -:a7563 :a7563 :a7563. -:a7564 :a7564 :a7564. -:a7565 :a7565 :a7565. -:a7566 :a7566 :a7566. -:a7567 :a7567 :a7567. -:a7568 :a7568 :a7568. -:a7569 :a7569 :a7569. -:a7570 :a7570 :a7570. -:a7571 :a7571 :a7571. -:a7572 :a7572 :a7572. -:a7573 :a7573 :a7573. -:a7574 :a7574 :a7574. -:a7575 :a7575 :a7575. -:a7576 :a7576 :a7576. -:a7577 :a7577 :a7577. -:a7578 :a7578 :a7578. -:a7579 :a7579 :a7579. -:a7580 :a7580 :a7580. -:a7581 :a7581 :a7581. -:a7582 :a7582 :a7582. -:a7583 :a7583 :a7583. -:a7584 :a7584 :a7584. -:a7585 :a7585 :a7585. -:a7586 :a7586 :a7586. -:a7587 :a7587 :a7587. -:a7588 :a7588 :a7588. -:a7589 :a7589 :a7589. -:a7590 :a7590 :a7590. -:a7591 :a7591 :a7591. -:a7592 :a7592 :a7592. -:a7593 :a7593 :a7593. -:a7594 :a7594 :a7594. -:a7595 :a7595 :a7595. -:a7596 :a7596 :a7596. -:a7597 :a7597 :a7597. -:a7598 :a7598 :a7598. -:a7599 :a7599 :a7599. -:a7600 :a7600 :a7600. -:a7601 :a7601 :a7601. -:a7602 :a7602 :a7602. -:a7603 :a7603 :a7603. -:a7604 :a7604 :a7604. -:a7605 :a7605 :a7605. -:a7606 :a7606 :a7606. -:a7607 :a7607 :a7607. -:a7608 :a7608 :a7608. -:a7609 :a7609 :a7609. -:a7610 :a7610 :a7610. -:a7611 :a7611 :a7611. -:a7612 :a7612 :a7612. -:a7613 :a7613 :a7613. -:a7614 :a7614 :a7614. -:a7615 :a7615 :a7615. -:a7616 :a7616 :a7616. -:a7617 :a7617 :a7617. -:a7618 :a7618 :a7618. -:a7619 :a7619 :a7619. -:a7620 :a7620 :a7620. -:a7621 :a7621 :a7621. -:a7622 :a7622 :a7622. -:a7623 :a7623 :a7623. -:a7624 :a7624 :a7624. -:a7625 :a7625 :a7625. -:a7626 :a7626 :a7626. -:a7627 :a7627 :a7627. -:a7628 :a7628 :a7628. -:a7629 :a7629 :a7629. -:a7630 :a7630 :a7630. -:a7631 :a7631 :a7631. -:a7632 :a7632 :a7632. -:a7633 :a7633 :a7633. -:a7634 :a7634 :a7634. -:a7635 :a7635 :a7635. -:a7636 :a7636 :a7636. -:a7637 :a7637 :a7637. -:a7638 :a7638 :a7638. -:a7639 :a7639 :a7639. -:a7640 :a7640 :a7640. -:a7641 :a7641 :a7641. -:a7642 :a7642 :a7642. -:a7643 :a7643 :a7643. -:a7644 :a7644 :a7644. -:a7645 :a7645 :a7645. -:a7646 :a7646 :a7646. -:a7647 :a7647 :a7647. -:a7648 :a7648 :a7648. -:a7649 :a7649 :a7649. -:a7650 :a7650 :a7650. -:a7651 :a7651 :a7651. -:a7652 :a7652 :a7652. -:a7653 :a7653 :a7653. -:a7654 :a7654 :a7654. -:a7655 :a7655 :a7655. -:a7656 :a7656 :a7656. -:a7657 :a7657 :a7657. -:a7658 :a7658 :a7658. -:a7659 :a7659 :a7659. -:a7660 :a7660 :a7660. -:a7661 :a7661 :a7661. -:a7662 :a7662 :a7662. -:a7663 :a7663 :a7663. -:a7664 :a7664 :a7664. -:a7665 :a7665 :a7665. -:a7666 :a7666 :a7666. -:a7667 :a7667 :a7667. -:a7668 :a7668 :a7668. -:a7669 :a7669 :a7669. -:a7670 :a7670 :a7670. -:a7671 :a7671 :a7671. -:a7672 :a7672 :a7672. -:a7673 :a7673 :a7673. -:a7674 :a7674 :a7674. -:a7675 :a7675 :a7675. -:a7676 :a7676 :a7676. -:a7677 :a7677 :a7677. -:a7678 :a7678 :a7678. -:a7679 :a7679 :a7679. -:a7680 :a7680 :a7680. -:a7681 :a7681 :a7681. -:a7682 :a7682 :a7682. -:a7683 :a7683 :a7683. -:a7684 :a7684 :a7684. -:a7685 :a7685 :a7685. -:a7686 :a7686 :a7686. -:a7687 :a7687 :a7687. -:a7688 :a7688 :a7688. -:a7689 :a7689 :a7689. -:a7690 :a7690 :a7690. -:a7691 :a7691 :a7691. -:a7692 :a7692 :a7692. -:a7693 :a7693 :a7693. -:a7694 :a7694 :a7694. -:a7695 :a7695 :a7695. -:a7696 :a7696 :a7696. -:a7697 :a7697 :a7697. -:a7698 :a7698 :a7698. -:a7699 :a7699 :a7699. -:a7700 :a7700 :a7700. -:a7701 :a7701 :a7701. -:a7702 :a7702 :a7702. -:a7703 :a7703 :a7703. -:a7704 :a7704 :a7704. -:a7705 :a7705 :a7705. -:a7706 :a7706 :a7706. -:a7707 :a7707 :a7707. -:a7708 :a7708 :a7708. -:a7709 :a7709 :a7709. -:a7710 :a7710 :a7710. -:a7711 :a7711 :a7711. -:a7712 :a7712 :a7712. -:a7713 :a7713 :a7713. -:a7714 :a7714 :a7714. -:a7715 :a7715 :a7715. -:a7716 :a7716 :a7716. -:a7717 :a7717 :a7717. -:a7718 :a7718 :a7718. -:a7719 :a7719 :a7719. -:a7720 :a7720 :a7720. -:a7721 :a7721 :a7721. -:a7722 :a7722 :a7722. -:a7723 :a7723 :a7723. -:a7724 :a7724 :a7724. -:a7725 :a7725 :a7725. -:a7726 :a7726 :a7726. -:a7727 :a7727 :a7727. -:a7728 :a7728 :a7728. -:a7729 :a7729 :a7729. -:a7730 :a7730 :a7730. -:a7731 :a7731 :a7731. -:a7732 :a7732 :a7732. -:a7733 :a7733 :a7733. -:a7734 :a7734 :a7734. -:a7735 :a7735 :a7735. -:a7736 :a7736 :a7736. -:a7737 :a7737 :a7737. -:a7738 :a7738 :a7738. -:a7739 :a7739 :a7739. -:a7740 :a7740 :a7740. -:a7741 :a7741 :a7741. -:a7742 :a7742 :a7742. -:a7743 :a7743 :a7743. -:a7744 :a7744 :a7744. -:a7745 :a7745 :a7745. -:a7746 :a7746 :a7746. -:a7747 :a7747 :a7747. -:a7748 :a7748 :a7748. -:a7749 :a7749 :a7749. -:a7750 :a7750 :a7750. -:a7751 :a7751 :a7751. -:a7752 :a7752 :a7752. -:a7753 :a7753 :a7753. -:a7754 :a7754 :a7754. -:a7755 :a7755 :a7755. -:a7756 :a7756 :a7756. -:a7757 :a7757 :a7757. -:a7758 :a7758 :a7758. -:a7759 :a7759 :a7759. -:a7760 :a7760 :a7760. -:a7761 :a7761 :a7761. -:a7762 :a7762 :a7762. -:a7763 :a7763 :a7763. -:a7764 :a7764 :a7764. -:a7765 :a7765 :a7765. -:a7766 :a7766 :a7766. -:a7767 :a7767 :a7767. -:a7768 :a7768 :a7768. -:a7769 :a7769 :a7769. -:a7770 :a7770 :a7770. -:a7771 :a7771 :a7771. -:a7772 :a7772 :a7772. -:a7773 :a7773 :a7773. -:a7774 :a7774 :a7774. -:a7775 :a7775 :a7775. -:a7776 :a7776 :a7776. -:a7777 :a7777 :a7777. -:a7778 :a7778 :a7778. -:a7779 :a7779 :a7779. -:a7780 :a7780 :a7780. -:a7781 :a7781 :a7781. -:a7782 :a7782 :a7782. -:a7783 :a7783 :a7783. -:a7784 :a7784 :a7784. -:a7785 :a7785 :a7785. -:a7786 :a7786 :a7786. -:a7787 :a7787 :a7787. -:a7788 :a7788 :a7788. -:a7789 :a7789 :a7789. -:a7790 :a7790 :a7790. -:a7791 :a7791 :a7791. -:a7792 :a7792 :a7792. -:a7793 :a7793 :a7793. -:a7794 :a7794 :a7794. -:a7795 :a7795 :a7795. -:a7796 :a7796 :a7796. -:a7797 :a7797 :a7797. -:a7798 :a7798 :a7798. -:a7799 :a7799 :a7799. -:a7800 :a7800 :a7800. -:a7801 :a7801 :a7801. -:a7802 :a7802 :a7802. -:a7803 :a7803 :a7803. -:a7804 :a7804 :a7804. -:a7805 :a7805 :a7805. -:a7806 :a7806 :a7806. -:a7807 :a7807 :a7807. -:a7808 :a7808 :a7808. -:a7809 :a7809 :a7809. -:a7810 :a7810 :a7810. -:a7811 :a7811 :a7811. -:a7812 :a7812 :a7812. -:a7813 :a7813 :a7813. -:a7814 :a7814 :a7814. -:a7815 :a7815 :a7815. -:a7816 :a7816 :a7816. -:a7817 :a7817 :a7817. -:a7818 :a7818 :a7818. -:a7819 :a7819 :a7819. -:a7820 :a7820 :a7820. -:a7821 :a7821 :a7821. -:a7822 :a7822 :a7822. -:a7823 :a7823 :a7823. -:a7824 :a7824 :a7824. -:a7825 :a7825 :a7825. -:a7826 :a7826 :a7826. -:a7827 :a7827 :a7827. -:a7828 :a7828 :a7828. -:a7829 :a7829 :a7829. -:a7830 :a7830 :a7830. -:a7831 :a7831 :a7831. -:a7832 :a7832 :a7832. -:a7833 :a7833 :a7833. -:a7834 :a7834 :a7834. -:a7835 :a7835 :a7835. -:a7836 :a7836 :a7836. -:a7837 :a7837 :a7837. -:a7838 :a7838 :a7838. -:a7839 :a7839 :a7839. -:a7840 :a7840 :a7840. -:a7841 :a7841 :a7841. -:a7842 :a7842 :a7842. -:a7843 :a7843 :a7843. -:a7844 :a7844 :a7844. -:a7845 :a7845 :a7845. -:a7846 :a7846 :a7846. -:a7847 :a7847 :a7847. -:a7848 :a7848 :a7848. -:a7849 :a7849 :a7849. -:a7850 :a7850 :a7850. -:a7851 :a7851 :a7851. -:a7852 :a7852 :a7852. -:a7853 :a7853 :a7853. -:a7854 :a7854 :a7854. -:a7855 :a7855 :a7855. -:a7856 :a7856 :a7856. -:a7857 :a7857 :a7857. -:a7858 :a7858 :a7858. -:a7859 :a7859 :a7859. -:a7860 :a7860 :a7860. -:a7861 :a7861 :a7861. -:a7862 :a7862 :a7862. -:a7863 :a7863 :a7863. -:a7864 :a7864 :a7864. -:a7865 :a7865 :a7865. -:a7866 :a7866 :a7866. -:a7867 :a7867 :a7867. -:a7868 :a7868 :a7868. -:a7869 :a7869 :a7869. -:a7870 :a7870 :a7870. -:a7871 :a7871 :a7871. -:a7872 :a7872 :a7872. -:a7873 :a7873 :a7873. -:a7874 :a7874 :a7874. -:a7875 :a7875 :a7875. -:a7876 :a7876 :a7876. -:a7877 :a7877 :a7877. -:a7878 :a7878 :a7878. -:a7879 :a7879 :a7879. -:a7880 :a7880 :a7880. -:a7881 :a7881 :a7881. -:a7882 :a7882 :a7882. -:a7883 :a7883 :a7883. -:a7884 :a7884 :a7884. -:a7885 :a7885 :a7885. -:a7886 :a7886 :a7886. -:a7887 :a7887 :a7887. -:a7888 :a7888 :a7888. -:a7889 :a7889 :a7889. -:a7890 :a7890 :a7890. -:a7891 :a7891 :a7891. -:a7892 :a7892 :a7892. -:a7893 :a7893 :a7893. -:a7894 :a7894 :a7894. -:a7895 :a7895 :a7895. -:a7896 :a7896 :a7896. -:a7897 :a7897 :a7897. -:a7898 :a7898 :a7898. -:a7899 :a7899 :a7899. -:a7900 :a7900 :a7900. -:a7901 :a7901 :a7901. -:a7902 :a7902 :a7902. -:a7903 :a7903 :a7903. -:a7904 :a7904 :a7904. -:a7905 :a7905 :a7905. -:a7906 :a7906 :a7906. -:a7907 :a7907 :a7907. -:a7908 :a7908 :a7908. -:a7909 :a7909 :a7909. -:a7910 :a7910 :a7910. -:a7911 :a7911 :a7911. -:a7912 :a7912 :a7912. -:a7913 :a7913 :a7913. -:a7914 :a7914 :a7914. -:a7915 :a7915 :a7915. -:a7916 :a7916 :a7916. -:a7917 :a7917 :a7917. -:a7918 :a7918 :a7918. -:a7919 :a7919 :a7919. -:a7920 :a7920 :a7920. -:a7921 :a7921 :a7921. -:a7922 :a7922 :a7922. -:a7923 :a7923 :a7923. -:a7924 :a7924 :a7924. -:a7925 :a7925 :a7925. -:a7926 :a7926 :a7926. -:a7927 :a7927 :a7927. -:a7928 :a7928 :a7928. -:a7929 :a7929 :a7929. -:a7930 :a7930 :a7930. -:a7931 :a7931 :a7931. -:a7932 :a7932 :a7932. -:a7933 :a7933 :a7933. -:a7934 :a7934 :a7934. -:a7935 :a7935 :a7935. -:a7936 :a7936 :a7936. -:a7937 :a7937 :a7937. -:a7938 :a7938 :a7938. -:a7939 :a7939 :a7939. -:a7940 :a7940 :a7940. -:a7941 :a7941 :a7941. -:a7942 :a7942 :a7942. -:a7943 :a7943 :a7943. -:a7944 :a7944 :a7944. -:a7945 :a7945 :a7945. -:a7946 :a7946 :a7946. -:a7947 :a7947 :a7947. -:a7948 :a7948 :a7948. -:a7949 :a7949 :a7949. -:a7950 :a7950 :a7950. -:a7951 :a7951 :a7951. -:a7952 :a7952 :a7952. -:a7953 :a7953 :a7953. -:a7954 :a7954 :a7954. -:a7955 :a7955 :a7955. -:a7956 :a7956 :a7956. -:a7957 :a7957 :a7957. -:a7958 :a7958 :a7958. -:a7959 :a7959 :a7959. -:a7960 :a7960 :a7960. -:a7961 :a7961 :a7961. -:a7962 :a7962 :a7962. -:a7963 :a7963 :a7963. -:a7964 :a7964 :a7964. -:a7965 :a7965 :a7965. -:a7966 :a7966 :a7966. -:a7967 :a7967 :a7967. -:a7968 :a7968 :a7968. -:a7969 :a7969 :a7969. -:a7970 :a7970 :a7970. -:a7971 :a7971 :a7971. -:a7972 :a7972 :a7972. -:a7973 :a7973 :a7973. -:a7974 :a7974 :a7974. -:a7975 :a7975 :a7975. -:a7976 :a7976 :a7976. -:a7977 :a7977 :a7977. -:a7978 :a7978 :a7978. -:a7979 :a7979 :a7979. -:a7980 :a7980 :a7980. -:a7981 :a7981 :a7981. -:a7982 :a7982 :a7982. -:a7983 :a7983 :a7983. -:a7984 :a7984 :a7984. -:a7985 :a7985 :a7985. -:a7986 :a7986 :a7986. -:a7987 :a7987 :a7987. -:a7988 :a7988 :a7988. -:a7989 :a7989 :a7989. -:a7990 :a7990 :a7990. -:a7991 :a7991 :a7991. -:a7992 :a7992 :a7992. -:a7993 :a7993 :a7993. -:a7994 :a7994 :a7994. -:a7995 :a7995 :a7995. -:a7996 :a7996 :a7996. -:a7997 :a7997 :a7997. -:a7998 :a7998 :a7998. -:a7999 :a7999 :a7999. -:a8000 :a8000 :a8000. -:a8001 :a8001 :a8001. -:a8002 :a8002 :a8002. -:a8003 :a8003 :a8003. -:a8004 :a8004 :a8004. -:a8005 :a8005 :a8005. -:a8006 :a8006 :a8006. -:a8007 :a8007 :a8007. -:a8008 :a8008 :a8008. -:a8009 :a8009 :a8009. -:a8010 :a8010 :a8010. -:a8011 :a8011 :a8011. -:a8012 :a8012 :a8012. -:a8013 :a8013 :a8013. -:a8014 :a8014 :a8014. -:a8015 :a8015 :a8015. -:a8016 :a8016 :a8016. -:a8017 :a8017 :a8017. -:a8018 :a8018 :a8018. -:a8019 :a8019 :a8019. -:a8020 :a8020 :a8020. -:a8021 :a8021 :a8021. -:a8022 :a8022 :a8022. -:a8023 :a8023 :a8023. -:a8024 :a8024 :a8024. -:a8025 :a8025 :a8025. -:a8026 :a8026 :a8026. -:a8027 :a8027 :a8027. -:a8028 :a8028 :a8028. -:a8029 :a8029 :a8029. -:a8030 :a8030 :a8030. -:a8031 :a8031 :a8031. -:a8032 :a8032 :a8032. -:a8033 :a8033 :a8033. -:a8034 :a8034 :a8034. -:a8035 :a8035 :a8035. -:a8036 :a8036 :a8036. -:a8037 :a8037 :a8037. -:a8038 :a8038 :a8038. -:a8039 :a8039 :a8039. -:a8040 :a8040 :a8040. -:a8041 :a8041 :a8041. -:a8042 :a8042 :a8042. -:a8043 :a8043 :a8043. -:a8044 :a8044 :a8044. -:a8045 :a8045 :a8045. -:a8046 :a8046 :a8046. -:a8047 :a8047 :a8047. -:a8048 :a8048 :a8048. -:a8049 :a8049 :a8049. -:a8050 :a8050 :a8050. -:a8051 :a8051 :a8051. -:a8052 :a8052 :a8052. -:a8053 :a8053 :a8053. -:a8054 :a8054 :a8054. -:a8055 :a8055 :a8055. -:a8056 :a8056 :a8056. -:a8057 :a8057 :a8057. -:a8058 :a8058 :a8058. -:a8059 :a8059 :a8059. -:a8060 :a8060 :a8060. -:a8061 :a8061 :a8061. -:a8062 :a8062 :a8062. -:a8063 :a8063 :a8063. -:a8064 :a8064 :a8064. -:a8065 :a8065 :a8065. -:a8066 :a8066 :a8066. -:a8067 :a8067 :a8067. -:a8068 :a8068 :a8068. -:a8069 :a8069 :a8069. -:a8070 :a8070 :a8070. -:a8071 :a8071 :a8071. -:a8072 :a8072 :a8072. -:a8073 :a8073 :a8073. -:a8074 :a8074 :a8074. -:a8075 :a8075 :a8075. -:a8076 :a8076 :a8076. -:a8077 :a8077 :a8077. -:a8078 :a8078 :a8078. -:a8079 :a8079 :a8079. -:a8080 :a8080 :a8080. -:a8081 :a8081 :a8081. -:a8082 :a8082 :a8082. -:a8083 :a8083 :a8083. -:a8084 :a8084 :a8084. -:a8085 :a8085 :a8085. -:a8086 :a8086 :a8086. -:a8087 :a8087 :a8087. -:a8088 :a8088 :a8088. -:a8089 :a8089 :a8089. -:a8090 :a8090 :a8090. -:a8091 :a8091 :a8091. -:a8092 :a8092 :a8092. -:a8093 :a8093 :a8093. -:a8094 :a8094 :a8094. -:a8095 :a8095 :a8095. -:a8096 :a8096 :a8096. -:a8097 :a8097 :a8097. -:a8098 :a8098 :a8098. -:a8099 :a8099 :a8099. -:a8100 :a8100 :a8100. -:a8101 :a8101 :a8101. -:a8102 :a8102 :a8102. -:a8103 :a8103 :a8103. -:a8104 :a8104 :a8104. -:a8105 :a8105 :a8105. -:a8106 :a8106 :a8106. -:a8107 :a8107 :a8107. -:a8108 :a8108 :a8108. -:a8109 :a8109 :a8109. -:a8110 :a8110 :a8110. -:a8111 :a8111 :a8111. -:a8112 :a8112 :a8112. -:a8113 :a8113 :a8113. -:a8114 :a8114 :a8114. -:a8115 :a8115 :a8115. -:a8116 :a8116 :a8116. -:a8117 :a8117 :a8117. -:a8118 :a8118 :a8118. -:a8119 :a8119 :a8119. -:a8120 :a8120 :a8120. -:a8121 :a8121 :a8121. -:a8122 :a8122 :a8122. -:a8123 :a8123 :a8123. -:a8124 :a8124 :a8124. -:a8125 :a8125 :a8125. -:a8126 :a8126 :a8126. -:a8127 :a8127 :a8127. -:a8128 :a8128 :a8128. -:a8129 :a8129 :a8129. -:a8130 :a8130 :a8130. -:a8131 :a8131 :a8131. -:a8132 :a8132 :a8132. -:a8133 :a8133 :a8133. -:a8134 :a8134 :a8134. -:a8135 :a8135 :a8135. -:a8136 :a8136 :a8136. -:a8137 :a8137 :a8137. -:a8138 :a8138 :a8138. -:a8139 :a8139 :a8139. -:a8140 :a8140 :a8140. -:a8141 :a8141 :a8141. -:a8142 :a8142 :a8142. -:a8143 :a8143 :a8143. -:a8144 :a8144 :a8144. -:a8145 :a8145 :a8145. -:a8146 :a8146 :a8146. -:a8147 :a8147 :a8147. -:a8148 :a8148 :a8148. -:a8149 :a8149 :a8149. -:a8150 :a8150 :a8150. -:a8151 :a8151 :a8151. -:a8152 :a8152 :a8152. -:a8153 :a8153 :a8153. -:a8154 :a8154 :a8154. -:a8155 :a8155 :a8155. -:a8156 :a8156 :a8156. -:a8157 :a8157 :a8157. -:a8158 :a8158 :a8158. -:a8159 :a8159 :a8159. -:a8160 :a8160 :a8160. -:a8161 :a8161 :a8161. -:a8162 :a8162 :a8162. -:a8163 :a8163 :a8163. -:a8164 :a8164 :a8164. -:a8165 :a8165 :a8165. -:a8166 :a8166 :a8166. -:a8167 :a8167 :a8167. -:a8168 :a8168 :a8168. -:a8169 :a8169 :a8169. -:a8170 :a8170 :a8170. -:a8171 :a8171 :a8171. -:a8172 :a8172 :a8172. -:a8173 :a8173 :a8173. -:a8174 :a8174 :a8174. -:a8175 :a8175 :a8175. -:a8176 :a8176 :a8176. -:a8177 :a8177 :a8177. -:a8178 :a8178 :a8178. -:a8179 :a8179 :a8179. -:a8180 :a8180 :a8180. -:a8181 :a8181 :a8181. -:a8182 :a8182 :a8182. -:a8183 :a8183 :a8183. -:a8184 :a8184 :a8184. -:a8185 :a8185 :a8185. -:a8186 :a8186 :a8186. -:a8187 :a8187 :a8187. -:a8188 :a8188 :a8188. -:a8189 :a8189 :a8189. -:a8190 :a8190 :a8190. -:a8191 :a8191 :a8191. -:a8192 :a8192 :a8192. -:a8193 :a8193 :a8193. -:a8194 :a8194 :a8194. -:a8195 :a8195 :a8195. -:a8196 :a8196 :a8196. -:a8197 :a8197 :a8197. -:a8198 :a8198 :a8198. -:a8199 :a8199 :a8199. -:a8200 :a8200 :a8200. -:a8201 :a8201 :a8201. -:a8202 :a8202 :a8202. -:a8203 :a8203 :a8203. -:a8204 :a8204 :a8204. -:a8205 :a8205 :a8205. -:a8206 :a8206 :a8206. -:a8207 :a8207 :a8207. -:a8208 :a8208 :a8208. -:a8209 :a8209 :a8209. -:a8210 :a8210 :a8210. -:a8211 :a8211 :a8211. -:a8212 :a8212 :a8212. -:a8213 :a8213 :a8213. -:a8214 :a8214 :a8214. -:a8215 :a8215 :a8215. -:a8216 :a8216 :a8216. -:a8217 :a8217 :a8217. -:a8218 :a8218 :a8218. -:a8219 :a8219 :a8219. -:a8220 :a8220 :a8220. -:a8221 :a8221 :a8221. -:a8222 :a8222 :a8222. -:a8223 :a8223 :a8223. -:a8224 :a8224 :a8224. -:a8225 :a8225 :a8225. -:a8226 :a8226 :a8226. -:a8227 :a8227 :a8227. -:a8228 :a8228 :a8228. -:a8229 :a8229 :a8229. -:a8230 :a8230 :a8230. -:a8231 :a8231 :a8231. -:a8232 :a8232 :a8232. -:a8233 :a8233 :a8233. -:a8234 :a8234 :a8234. -:a8235 :a8235 :a8235. -:a8236 :a8236 :a8236. -:a8237 :a8237 :a8237. -:a8238 :a8238 :a8238. -:a8239 :a8239 :a8239. -:a8240 :a8240 :a8240. -:a8241 :a8241 :a8241. -:a8242 :a8242 :a8242. -:a8243 :a8243 :a8243. -:a8244 :a8244 :a8244. -:a8245 :a8245 :a8245. -:a8246 :a8246 :a8246. -:a8247 :a8247 :a8247. -:a8248 :a8248 :a8248. -:a8249 :a8249 :a8249. -:a8250 :a8250 :a8250. -:a8251 :a8251 :a8251. -:a8252 :a8252 :a8252. -:a8253 :a8253 :a8253. -:a8254 :a8254 :a8254. -:a8255 :a8255 :a8255. -:a8256 :a8256 :a8256. -:a8257 :a8257 :a8257. -:a8258 :a8258 :a8258. -:a8259 :a8259 :a8259. -:a8260 :a8260 :a8260. -:a8261 :a8261 :a8261. -:a8262 :a8262 :a8262. -:a8263 :a8263 :a8263. -:a8264 :a8264 :a8264. -:a8265 :a8265 :a8265. -:a8266 :a8266 :a8266. -:a8267 :a8267 :a8267. -:a8268 :a8268 :a8268. -:a8269 :a8269 :a8269. -:a8270 :a8270 :a8270. -:a8271 :a8271 :a8271. -:a8272 :a8272 :a8272. -:a8273 :a8273 :a8273. -:a8274 :a8274 :a8274. -:a8275 :a8275 :a8275. -:a8276 :a8276 :a8276. -:a8277 :a8277 :a8277. -:a8278 :a8278 :a8278. -:a8279 :a8279 :a8279. -:a8280 :a8280 :a8280. -:a8281 :a8281 :a8281. -:a8282 :a8282 :a8282. -:a8283 :a8283 :a8283. -:a8284 :a8284 :a8284. -:a8285 :a8285 :a8285. -:a8286 :a8286 :a8286. -:a8287 :a8287 :a8287. -:a8288 :a8288 :a8288. -:a8289 :a8289 :a8289. -:a8290 :a8290 :a8290. -:a8291 :a8291 :a8291. -:a8292 :a8292 :a8292. -:a8293 :a8293 :a8293. -:a8294 :a8294 :a8294. -:a8295 :a8295 :a8295. -:a8296 :a8296 :a8296. -:a8297 :a8297 :a8297. -:a8298 :a8298 :a8298. -:a8299 :a8299 :a8299. -:a8300 :a8300 :a8300. -:a8301 :a8301 :a8301. -:a8302 :a8302 :a8302. -:a8303 :a8303 :a8303. -:a8304 :a8304 :a8304. -:a8305 :a8305 :a8305. -:a8306 :a8306 :a8306. -:a8307 :a8307 :a8307. -:a8308 :a8308 :a8308. -:a8309 :a8309 :a8309. -:a8310 :a8310 :a8310. -:a8311 :a8311 :a8311. -:a8312 :a8312 :a8312. -:a8313 :a8313 :a8313. -:a8314 :a8314 :a8314. -:a8315 :a8315 :a8315. -:a8316 :a8316 :a8316. -:a8317 :a8317 :a8317. -:a8318 :a8318 :a8318. -:a8319 :a8319 :a8319. -:a8320 :a8320 :a8320. -:a8321 :a8321 :a8321. -:a8322 :a8322 :a8322. -:a8323 :a8323 :a8323. -:a8324 :a8324 :a8324. -:a8325 :a8325 :a8325. -:a8326 :a8326 :a8326. -:a8327 :a8327 :a8327. -:a8328 :a8328 :a8328. -:a8329 :a8329 :a8329. -:a8330 :a8330 :a8330. -:a8331 :a8331 :a8331. -:a8332 :a8332 :a8332. -:a8333 :a8333 :a8333. -:a8334 :a8334 :a8334. -:a8335 :a8335 :a8335. -:a8336 :a8336 :a8336. -:a8337 :a8337 :a8337. -:a8338 :a8338 :a8338. -:a8339 :a8339 :a8339. -:a8340 :a8340 :a8340. -:a8341 :a8341 :a8341. -:a8342 :a8342 :a8342. -:a8343 :a8343 :a8343. -:a8344 :a8344 :a8344. -:a8345 :a8345 :a8345. -:a8346 :a8346 :a8346. -:a8347 :a8347 :a8347. -:a8348 :a8348 :a8348. -:a8349 :a8349 :a8349. -:a8350 :a8350 :a8350. -:a8351 :a8351 :a8351. -:a8352 :a8352 :a8352. -:a8353 :a8353 :a8353. -:a8354 :a8354 :a8354. -:a8355 :a8355 :a8355. -:a8356 :a8356 :a8356. -:a8357 :a8357 :a8357. -:a8358 :a8358 :a8358. -:a8359 :a8359 :a8359. -:a8360 :a8360 :a8360. -:a8361 :a8361 :a8361. -:a8362 :a8362 :a8362. -:a8363 :a8363 :a8363. -:a8364 :a8364 :a8364. -:a8365 :a8365 :a8365. -:a8366 :a8366 :a8366. -:a8367 :a8367 :a8367. -:a8368 :a8368 :a8368. -:a8369 :a8369 :a8369. -:a8370 :a8370 :a8370. -:a8371 :a8371 :a8371. -:a8372 :a8372 :a8372. -:a8373 :a8373 :a8373. -:a8374 :a8374 :a8374. -:a8375 :a8375 :a8375. -:a8376 :a8376 :a8376. -:a8377 :a8377 :a8377. -:a8378 :a8378 :a8378. -:a8379 :a8379 :a8379. -:a8380 :a8380 :a8380. -:a8381 :a8381 :a8381. -:a8382 :a8382 :a8382. -:a8383 :a8383 :a8383. -:a8384 :a8384 :a8384. -:a8385 :a8385 :a8385. -:a8386 :a8386 :a8386. -:a8387 :a8387 :a8387. -:a8388 :a8388 :a8388. -:a8389 :a8389 :a8389. -:a8390 :a8390 :a8390. -:a8391 :a8391 :a8391. -:a8392 :a8392 :a8392. -:a8393 :a8393 :a8393. -:a8394 :a8394 :a8394. -:a8395 :a8395 :a8395. -:a8396 :a8396 :a8396. -:a8397 :a8397 :a8397. -:a8398 :a8398 :a8398. -:a8399 :a8399 :a8399. -:a8400 :a8400 :a8400. -:a8401 :a8401 :a8401. -:a8402 :a8402 :a8402. -:a8403 :a8403 :a8403. -:a8404 :a8404 :a8404. -:a8405 :a8405 :a8405. -:a8406 :a8406 :a8406. -:a8407 :a8407 :a8407. -:a8408 :a8408 :a8408. -:a8409 :a8409 :a8409. -:a8410 :a8410 :a8410. -:a8411 :a8411 :a8411. -:a8412 :a8412 :a8412. -:a8413 :a8413 :a8413. -:a8414 :a8414 :a8414. -:a8415 :a8415 :a8415. -:a8416 :a8416 :a8416. -:a8417 :a8417 :a8417. -:a8418 :a8418 :a8418. -:a8419 :a8419 :a8419. -:a8420 :a8420 :a8420. -:a8421 :a8421 :a8421. -:a8422 :a8422 :a8422. -:a8423 :a8423 :a8423. -:a8424 :a8424 :a8424. -:a8425 :a8425 :a8425. -:a8426 :a8426 :a8426. -:a8427 :a8427 :a8427. -:a8428 :a8428 :a8428. -:a8429 :a8429 :a8429. -:a8430 :a8430 :a8430. -:a8431 :a8431 :a8431. -:a8432 :a8432 :a8432. -:a8433 :a8433 :a8433. -:a8434 :a8434 :a8434. -:a8435 :a8435 :a8435. -:a8436 :a8436 :a8436. -:a8437 :a8437 :a8437. -:a8438 :a8438 :a8438. -:a8439 :a8439 :a8439. -:a8440 :a8440 :a8440. -:a8441 :a8441 :a8441. -:a8442 :a8442 :a8442. -:a8443 :a8443 :a8443. -:a8444 :a8444 :a8444. -:a8445 :a8445 :a8445. -:a8446 :a8446 :a8446. -:a8447 :a8447 :a8447. -:a8448 :a8448 :a8448. -:a8449 :a8449 :a8449. -:a8450 :a8450 :a8450. -:a8451 :a8451 :a8451. -:a8452 :a8452 :a8452. -:a8453 :a8453 :a8453. -:a8454 :a8454 :a8454. -:a8455 :a8455 :a8455. -:a8456 :a8456 :a8456. -:a8457 :a8457 :a8457. -:a8458 :a8458 :a8458. -:a8459 :a8459 :a8459. -:a8460 :a8460 :a8460. -:a8461 :a8461 :a8461. -:a8462 :a8462 :a8462. -:a8463 :a8463 :a8463. -:a8464 :a8464 :a8464. -:a8465 :a8465 :a8465. -:a8466 :a8466 :a8466. -:a8467 :a8467 :a8467. -:a8468 :a8468 :a8468. -:a8469 :a8469 :a8469. -:a8470 :a8470 :a8470. -:a8471 :a8471 :a8471. -:a8472 :a8472 :a8472. -:a8473 :a8473 :a8473. -:a8474 :a8474 :a8474. -:a8475 :a8475 :a8475. -:a8476 :a8476 :a8476. -:a8477 :a8477 :a8477. -:a8478 :a8478 :a8478. -:a8479 :a8479 :a8479. -:a8480 :a8480 :a8480. -:a8481 :a8481 :a8481. -:a8482 :a8482 :a8482. -:a8483 :a8483 :a8483. -:a8484 :a8484 :a8484. -:a8485 :a8485 :a8485. -:a8486 :a8486 :a8486. -:a8487 :a8487 :a8487. -:a8488 :a8488 :a8488. -:a8489 :a8489 :a8489. -:a8490 :a8490 :a8490. -:a8491 :a8491 :a8491. -:a8492 :a8492 :a8492. -:a8493 :a8493 :a8493. -:a8494 :a8494 :a8494. -:a8495 :a8495 :a8495. -:a8496 :a8496 :a8496. -:a8497 :a8497 :a8497. -:a8498 :a8498 :a8498. -:a8499 :a8499 :a8499. -:a8500 :a8500 :a8500. -:a8501 :a8501 :a8501. -:a8502 :a8502 :a8502. -:a8503 :a8503 :a8503. -:a8504 :a8504 :a8504. -:a8505 :a8505 :a8505. -:a8506 :a8506 :a8506. -:a8507 :a8507 :a8507. -:a8508 :a8508 :a8508. -:a8509 :a8509 :a8509. -:a8510 :a8510 :a8510. -:a8511 :a8511 :a8511. -:a8512 :a8512 :a8512. -:a8513 :a8513 :a8513. -:a8514 :a8514 :a8514. -:a8515 :a8515 :a8515. -:a8516 :a8516 :a8516. -:a8517 :a8517 :a8517. -:a8518 :a8518 :a8518. -:a8519 :a8519 :a8519. -:a8520 :a8520 :a8520. -:a8521 :a8521 :a8521. -:a8522 :a8522 :a8522. -:a8523 :a8523 :a8523. -:a8524 :a8524 :a8524. -:a8525 :a8525 :a8525. -:a8526 :a8526 :a8526. -:a8527 :a8527 :a8527. -:a8528 :a8528 :a8528. -:a8529 :a8529 :a8529. -:a8530 :a8530 :a8530. -:a8531 :a8531 :a8531. -:a8532 :a8532 :a8532. -:a8533 :a8533 :a8533. -:a8534 :a8534 :a8534. -:a8535 :a8535 :a8535. -:a8536 :a8536 :a8536. -:a8537 :a8537 :a8537. -:a8538 :a8538 :a8538. -:a8539 :a8539 :a8539. -:a8540 :a8540 :a8540. -:a8541 :a8541 :a8541. -:a8542 :a8542 :a8542. -:a8543 :a8543 :a8543. -:a8544 :a8544 :a8544. -:a8545 :a8545 :a8545. -:a8546 :a8546 :a8546. -:a8547 :a8547 :a8547. -:a8548 :a8548 :a8548. -:a8549 :a8549 :a8549. -:a8550 :a8550 :a8550. -:a8551 :a8551 :a8551. -:a8552 :a8552 :a8552. -:a8553 :a8553 :a8553. -:a8554 :a8554 :a8554. -:a8555 :a8555 :a8555. -:a8556 :a8556 :a8556. -:a8557 :a8557 :a8557. -:a8558 :a8558 :a8558. -:a8559 :a8559 :a8559. -:a8560 :a8560 :a8560. -:a8561 :a8561 :a8561. -:a8562 :a8562 :a8562. -:a8563 :a8563 :a8563. -:a8564 :a8564 :a8564. -:a8565 :a8565 :a8565. -:a8566 :a8566 :a8566. -:a8567 :a8567 :a8567. -:a8568 :a8568 :a8568. -:a8569 :a8569 :a8569. -:a8570 :a8570 :a8570. -:a8571 :a8571 :a8571. -:a8572 :a8572 :a8572. -:a8573 :a8573 :a8573. -:a8574 :a8574 :a8574. -:a8575 :a8575 :a8575. -:a8576 :a8576 :a8576. -:a8577 :a8577 :a8577. -:a8578 :a8578 :a8578. -:a8579 :a8579 :a8579. -:a8580 :a8580 :a8580. -:a8581 :a8581 :a8581. -:a8582 :a8582 :a8582. -:a8583 :a8583 :a8583. -:a8584 :a8584 :a8584. -:a8585 :a8585 :a8585. -:a8586 :a8586 :a8586. -:a8587 :a8587 :a8587. -:a8588 :a8588 :a8588. -:a8589 :a8589 :a8589. -:a8590 :a8590 :a8590. -:a8591 :a8591 :a8591. -:a8592 :a8592 :a8592. -:a8593 :a8593 :a8593. -:a8594 :a8594 :a8594. -:a8595 :a8595 :a8595. -:a8596 :a8596 :a8596. -:a8597 :a8597 :a8597. -:a8598 :a8598 :a8598. -:a8599 :a8599 :a8599. -:a8600 :a8600 :a8600. -:a8601 :a8601 :a8601. -:a8602 :a8602 :a8602. -:a8603 :a8603 :a8603. -:a8604 :a8604 :a8604. -:a8605 :a8605 :a8605. -:a8606 :a8606 :a8606. -:a8607 :a8607 :a8607. -:a8608 :a8608 :a8608. -:a8609 :a8609 :a8609. -:a8610 :a8610 :a8610. -:a8611 :a8611 :a8611. -:a8612 :a8612 :a8612. -:a8613 :a8613 :a8613. -:a8614 :a8614 :a8614. -:a8615 :a8615 :a8615. -:a8616 :a8616 :a8616. -:a8617 :a8617 :a8617. -:a8618 :a8618 :a8618. -:a8619 :a8619 :a8619. -:a8620 :a8620 :a8620. -:a8621 :a8621 :a8621. -:a8622 :a8622 :a8622. -:a8623 :a8623 :a8623. -:a8624 :a8624 :a8624. -:a8625 :a8625 :a8625. -:a8626 :a8626 :a8626. -:a8627 :a8627 :a8627. -:a8628 :a8628 :a8628. -:a8629 :a8629 :a8629. -:a8630 :a8630 :a8630. -:a8631 :a8631 :a8631. -:a8632 :a8632 :a8632. -:a8633 :a8633 :a8633. -:a8634 :a8634 :a8634. -:a8635 :a8635 :a8635. -:a8636 :a8636 :a8636. -:a8637 :a8637 :a8637. -:a8638 :a8638 :a8638. -:a8639 :a8639 :a8639. -:a8640 :a8640 :a8640. -:a8641 :a8641 :a8641. -:a8642 :a8642 :a8642. -:a8643 :a8643 :a8643. -:a8644 :a8644 :a8644. -:a8645 :a8645 :a8645. -:a8646 :a8646 :a8646. -:a8647 :a8647 :a8647. -:a8648 :a8648 :a8648. -:a8649 :a8649 :a8649. -:a8650 :a8650 :a8650. -:a8651 :a8651 :a8651. -:a8652 :a8652 :a8652. -:a8653 :a8653 :a8653. -:a8654 :a8654 :a8654. -:a8655 :a8655 :a8655. -:a8656 :a8656 :a8656. -:a8657 :a8657 :a8657. -:a8658 :a8658 :a8658. -:a8659 :a8659 :a8659. -:a8660 :a8660 :a8660. -:a8661 :a8661 :a8661. -:a8662 :a8662 :a8662. -:a8663 :a8663 :a8663. -:a8664 :a8664 :a8664. -:a8665 :a8665 :a8665. -:a8666 :a8666 :a8666. -:a8667 :a8667 :a8667. -:a8668 :a8668 :a8668. -:a8669 :a8669 :a8669. -:a8670 :a8670 :a8670. -:a8671 :a8671 :a8671. -:a8672 :a8672 :a8672. -:a8673 :a8673 :a8673. -:a8674 :a8674 :a8674. -:a8675 :a8675 :a8675. -:a8676 :a8676 :a8676. -:a8677 :a8677 :a8677. -:a8678 :a8678 :a8678. -:a8679 :a8679 :a8679. -:a8680 :a8680 :a8680. -:a8681 :a8681 :a8681. -:a8682 :a8682 :a8682. -:a8683 :a8683 :a8683. -:a8684 :a8684 :a8684. -:a8685 :a8685 :a8685. -:a8686 :a8686 :a8686. -:a8687 :a8687 :a8687. -:a8688 :a8688 :a8688. -:a8689 :a8689 :a8689. -:a8690 :a8690 :a8690. -:a8691 :a8691 :a8691. -:a8692 :a8692 :a8692. -:a8693 :a8693 :a8693. -:a8694 :a8694 :a8694. -:a8695 :a8695 :a8695. -:a8696 :a8696 :a8696. -:a8697 :a8697 :a8697. -:a8698 :a8698 :a8698. -:a8699 :a8699 :a8699. -:a8700 :a8700 :a8700. -:a8701 :a8701 :a8701. -:a8702 :a8702 :a8702. -:a8703 :a8703 :a8703. -:a8704 :a8704 :a8704. -:a8705 :a8705 :a8705. -:a8706 :a8706 :a8706. -:a8707 :a8707 :a8707. -:a8708 :a8708 :a8708. -:a8709 :a8709 :a8709. -:a8710 :a8710 :a8710. -:a8711 :a8711 :a8711. -:a8712 :a8712 :a8712. -:a8713 :a8713 :a8713. -:a8714 :a8714 :a8714. -:a8715 :a8715 :a8715. -:a8716 :a8716 :a8716. -:a8717 :a8717 :a8717. -:a8718 :a8718 :a8718. -:a8719 :a8719 :a8719. -:a8720 :a8720 :a8720. -:a8721 :a8721 :a8721. -:a8722 :a8722 :a8722. -:a8723 :a8723 :a8723. -:a8724 :a8724 :a8724. -:a8725 :a8725 :a8725. -:a8726 :a8726 :a8726. -:a8727 :a8727 :a8727. -:a8728 :a8728 :a8728. -:a8729 :a8729 :a8729. -:a8730 :a8730 :a8730. -:a8731 :a8731 :a8731. -:a8732 :a8732 :a8732. -:a8733 :a8733 :a8733. -:a8734 :a8734 :a8734. -:a8735 :a8735 :a8735. -:a8736 :a8736 :a8736. -:a8737 :a8737 :a8737. -:a8738 :a8738 :a8738. -:a8739 :a8739 :a8739. -:a8740 :a8740 :a8740. -:a8741 :a8741 :a8741. -:a8742 :a8742 :a8742. -:a8743 :a8743 :a8743. -:a8744 :a8744 :a8744. -:a8745 :a8745 :a8745. -:a8746 :a8746 :a8746. -:a8747 :a8747 :a8747. -:a8748 :a8748 :a8748. -:a8749 :a8749 :a8749. -:a8750 :a8750 :a8750. -:a8751 :a8751 :a8751. -:a8752 :a8752 :a8752. -:a8753 :a8753 :a8753. -:a8754 :a8754 :a8754. -:a8755 :a8755 :a8755. -:a8756 :a8756 :a8756. -:a8757 :a8757 :a8757. -:a8758 :a8758 :a8758. -:a8759 :a8759 :a8759. -:a8760 :a8760 :a8760. -:a8761 :a8761 :a8761. -:a8762 :a8762 :a8762. -:a8763 :a8763 :a8763. -:a8764 :a8764 :a8764. -:a8765 :a8765 :a8765. -:a8766 :a8766 :a8766. -:a8767 :a8767 :a8767. -:a8768 :a8768 :a8768. -:a8769 :a8769 :a8769. -:a8770 :a8770 :a8770. -:a8771 :a8771 :a8771. -:a8772 :a8772 :a8772. -:a8773 :a8773 :a8773. -:a8774 :a8774 :a8774. -:a8775 :a8775 :a8775. -:a8776 :a8776 :a8776. -:a8777 :a8777 :a8777. -:a8778 :a8778 :a8778. -:a8779 :a8779 :a8779. -:a8780 :a8780 :a8780. -:a8781 :a8781 :a8781. -:a8782 :a8782 :a8782. -:a8783 :a8783 :a8783. -:a8784 :a8784 :a8784. -:a8785 :a8785 :a8785. -:a8786 :a8786 :a8786. -:a8787 :a8787 :a8787. -:a8788 :a8788 :a8788. -:a8789 :a8789 :a8789. -:a8790 :a8790 :a8790. -:a8791 :a8791 :a8791. -:a8792 :a8792 :a8792. -:a8793 :a8793 :a8793. -:a8794 :a8794 :a8794. -:a8795 :a8795 :a8795. -:a8796 :a8796 :a8796. -:a8797 :a8797 :a8797. -:a8798 :a8798 :a8798. -:a8799 :a8799 :a8799. -:a8800 :a8800 :a8800. -:a8801 :a8801 :a8801. -:a8802 :a8802 :a8802. -:a8803 :a8803 :a8803. -:a8804 :a8804 :a8804. -:a8805 :a8805 :a8805. -:a8806 :a8806 :a8806. -:a8807 :a8807 :a8807. -:a8808 :a8808 :a8808. -:a8809 :a8809 :a8809. -:a8810 :a8810 :a8810. -:a8811 :a8811 :a8811. -:a8812 :a8812 :a8812. -:a8813 :a8813 :a8813. -:a8814 :a8814 :a8814. -:a8815 :a8815 :a8815. -:a8816 :a8816 :a8816. -:a8817 :a8817 :a8817. -:a8818 :a8818 :a8818. -:a8819 :a8819 :a8819. -:a8820 :a8820 :a8820. -:a8821 :a8821 :a8821. -:a8822 :a8822 :a8822. -:a8823 :a8823 :a8823. -:a8824 :a8824 :a8824. -:a8825 :a8825 :a8825. -:a8826 :a8826 :a8826. -:a8827 :a8827 :a8827. -:a8828 :a8828 :a8828. -:a8829 :a8829 :a8829. -:a8830 :a8830 :a8830. -:a8831 :a8831 :a8831. -:a8832 :a8832 :a8832. -:a8833 :a8833 :a8833. -:a8834 :a8834 :a8834. -:a8835 :a8835 :a8835. -:a8836 :a8836 :a8836. -:a8837 :a8837 :a8837. -:a8838 :a8838 :a8838. -:a8839 :a8839 :a8839. -:a8840 :a8840 :a8840. -:a8841 :a8841 :a8841. -:a8842 :a8842 :a8842. -:a8843 :a8843 :a8843. -:a8844 :a8844 :a8844. -:a8845 :a8845 :a8845. -:a8846 :a8846 :a8846. -:a8847 :a8847 :a8847. -:a8848 :a8848 :a8848. -:a8849 :a8849 :a8849. -:a8850 :a8850 :a8850. -:a8851 :a8851 :a8851. -:a8852 :a8852 :a8852. -:a8853 :a8853 :a8853. -:a8854 :a8854 :a8854. -:a8855 :a8855 :a8855. -:a8856 :a8856 :a8856. -:a8857 :a8857 :a8857. -:a8858 :a8858 :a8858. -:a8859 :a8859 :a8859. -:a8860 :a8860 :a8860. -:a8861 :a8861 :a8861. -:a8862 :a8862 :a8862. -:a8863 :a8863 :a8863. -:a8864 :a8864 :a8864. -:a8865 :a8865 :a8865. -:a8866 :a8866 :a8866. -:a8867 :a8867 :a8867. -:a8868 :a8868 :a8868. -:a8869 :a8869 :a8869. -:a8870 :a8870 :a8870. -:a8871 :a8871 :a8871. -:a8872 :a8872 :a8872. -:a8873 :a8873 :a8873. -:a8874 :a8874 :a8874. -:a8875 :a8875 :a8875. -:a8876 :a8876 :a8876. -:a8877 :a8877 :a8877. -:a8878 :a8878 :a8878. -:a8879 :a8879 :a8879. -:a8880 :a8880 :a8880. -:a8881 :a8881 :a8881. -:a8882 :a8882 :a8882. -:a8883 :a8883 :a8883. -:a8884 :a8884 :a8884. -:a8885 :a8885 :a8885. -:a8886 :a8886 :a8886. -:a8887 :a8887 :a8887. -:a8888 :a8888 :a8888. -:a8889 :a8889 :a8889. -:a8890 :a8890 :a8890. -:a8891 :a8891 :a8891. -:a8892 :a8892 :a8892. -:a8893 :a8893 :a8893. -:a8894 :a8894 :a8894. -:a8895 :a8895 :a8895. -:a8896 :a8896 :a8896. -:a8897 :a8897 :a8897. -:a8898 :a8898 :a8898. -:a8899 :a8899 :a8899. -:a8900 :a8900 :a8900. -:a8901 :a8901 :a8901. -:a8902 :a8902 :a8902. -:a8903 :a8903 :a8903. -:a8904 :a8904 :a8904. -:a8905 :a8905 :a8905. -:a8906 :a8906 :a8906. -:a8907 :a8907 :a8907. -:a8908 :a8908 :a8908. -:a8909 :a8909 :a8909. -:a8910 :a8910 :a8910. -:a8911 :a8911 :a8911. -:a8912 :a8912 :a8912. -:a8913 :a8913 :a8913. -:a8914 :a8914 :a8914. -:a8915 :a8915 :a8915. -:a8916 :a8916 :a8916. -:a8917 :a8917 :a8917. -:a8918 :a8918 :a8918. -:a8919 :a8919 :a8919. -:a8920 :a8920 :a8920. -:a8921 :a8921 :a8921. -:a8922 :a8922 :a8922. -:a8923 :a8923 :a8923. -:a8924 :a8924 :a8924. -:a8925 :a8925 :a8925. -:a8926 :a8926 :a8926. -:a8927 :a8927 :a8927. -:a8928 :a8928 :a8928. -:a8929 :a8929 :a8929. -:a8930 :a8930 :a8930. -:a8931 :a8931 :a8931. -:a8932 :a8932 :a8932. -:a8933 :a8933 :a8933. -:a8934 :a8934 :a8934. -:a8935 :a8935 :a8935. -:a8936 :a8936 :a8936. -:a8937 :a8937 :a8937. -:a8938 :a8938 :a8938. -:a8939 :a8939 :a8939. -:a8940 :a8940 :a8940. -:a8941 :a8941 :a8941. -:a8942 :a8942 :a8942. -:a8943 :a8943 :a8943. -:a8944 :a8944 :a8944. -:a8945 :a8945 :a8945. -:a8946 :a8946 :a8946. -:a8947 :a8947 :a8947. -:a8948 :a8948 :a8948. -:a8949 :a8949 :a8949. -:a8950 :a8950 :a8950. -:a8951 :a8951 :a8951. -:a8952 :a8952 :a8952. -:a8953 :a8953 :a8953. -:a8954 :a8954 :a8954. -:a8955 :a8955 :a8955. -:a8956 :a8956 :a8956. -:a8957 :a8957 :a8957. -:a8958 :a8958 :a8958. -:a8959 :a8959 :a8959. -:a8960 :a8960 :a8960. -:a8961 :a8961 :a8961. -:a8962 :a8962 :a8962. -:a8963 :a8963 :a8963. -:a8964 :a8964 :a8964. -:a8965 :a8965 :a8965. -:a8966 :a8966 :a8966. -:a8967 :a8967 :a8967. -:a8968 :a8968 :a8968. -:a8969 :a8969 :a8969. -:a8970 :a8970 :a8970. -:a8971 :a8971 :a8971. -:a8972 :a8972 :a8972. -:a8973 :a8973 :a8973. -:a8974 :a8974 :a8974. -:a8975 :a8975 :a8975. -:a8976 :a8976 :a8976. -:a8977 :a8977 :a8977. -:a8978 :a8978 :a8978. -:a8979 :a8979 :a8979. -:a8980 :a8980 :a8980. -:a8981 :a8981 :a8981. -:a8982 :a8982 :a8982. -:a8983 :a8983 :a8983. -:a8984 :a8984 :a8984. -:a8985 :a8985 :a8985. -:a8986 :a8986 :a8986. -:a8987 :a8987 :a8987. -:a8988 :a8988 :a8988. -:a8989 :a8989 :a8989. -:a8990 :a8990 :a8990. -:a8991 :a8991 :a8991. -:a8992 :a8992 :a8992. -:a8993 :a8993 :a8993. -:a8994 :a8994 :a8994. -:a8995 :a8995 :a8995. -:a8996 :a8996 :a8996. -:a8997 :a8997 :a8997. -:a8998 :a8998 :a8998. -:a8999 :a8999 :a8999. -:a9000 :a9000 :a9000. -:a9001 :a9001 :a9001. -:a9002 :a9002 :a9002. -:a9003 :a9003 :a9003. -:a9004 :a9004 :a9004. -:a9005 :a9005 :a9005. -:a9006 :a9006 :a9006. -:a9007 :a9007 :a9007. -:a9008 :a9008 :a9008. -:a9009 :a9009 :a9009. -:a9010 :a9010 :a9010. -:a9011 :a9011 :a9011. -:a9012 :a9012 :a9012. -:a9013 :a9013 :a9013. -:a9014 :a9014 :a9014. -:a9015 :a9015 :a9015. -:a9016 :a9016 :a9016. -:a9017 :a9017 :a9017. -:a9018 :a9018 :a9018. -:a9019 :a9019 :a9019. -:a9020 :a9020 :a9020. -:a9021 :a9021 :a9021. -:a9022 :a9022 :a9022. -:a9023 :a9023 :a9023. -:a9024 :a9024 :a9024. -:a9025 :a9025 :a9025. -:a9026 :a9026 :a9026. -:a9027 :a9027 :a9027. -:a9028 :a9028 :a9028. -:a9029 :a9029 :a9029. -:a9030 :a9030 :a9030. -:a9031 :a9031 :a9031. -:a9032 :a9032 :a9032. -:a9033 :a9033 :a9033. -:a9034 :a9034 :a9034. -:a9035 :a9035 :a9035. -:a9036 :a9036 :a9036. -:a9037 :a9037 :a9037. -:a9038 :a9038 :a9038. -:a9039 :a9039 :a9039. -:a9040 :a9040 :a9040. -:a9041 :a9041 :a9041. -:a9042 :a9042 :a9042. -:a9043 :a9043 :a9043. -:a9044 :a9044 :a9044. -:a9045 :a9045 :a9045. -:a9046 :a9046 :a9046. -:a9047 :a9047 :a9047. -:a9048 :a9048 :a9048. -:a9049 :a9049 :a9049. -:a9050 :a9050 :a9050. -:a9051 :a9051 :a9051. -:a9052 :a9052 :a9052. -:a9053 :a9053 :a9053. -:a9054 :a9054 :a9054. -:a9055 :a9055 :a9055. -:a9056 :a9056 :a9056. -:a9057 :a9057 :a9057. -:a9058 :a9058 :a9058. -:a9059 :a9059 :a9059. -:a9060 :a9060 :a9060. -:a9061 :a9061 :a9061. -:a9062 :a9062 :a9062. -:a9063 :a9063 :a9063. -:a9064 :a9064 :a9064. -:a9065 :a9065 :a9065. -:a9066 :a9066 :a9066. -:a9067 :a9067 :a9067. -:a9068 :a9068 :a9068. -:a9069 :a9069 :a9069. -:a9070 :a9070 :a9070. -:a9071 :a9071 :a9071. -:a9072 :a9072 :a9072. -:a9073 :a9073 :a9073. -:a9074 :a9074 :a9074. -:a9075 :a9075 :a9075. -:a9076 :a9076 :a9076. -:a9077 :a9077 :a9077. -:a9078 :a9078 :a9078. -:a9079 :a9079 :a9079. -:a9080 :a9080 :a9080. -:a9081 :a9081 :a9081. -:a9082 :a9082 :a9082. -:a9083 :a9083 :a9083. -:a9084 :a9084 :a9084. -:a9085 :a9085 :a9085. -:a9086 :a9086 :a9086. -:a9087 :a9087 :a9087. -:a9088 :a9088 :a9088. -:a9089 :a9089 :a9089. -:a9090 :a9090 :a9090. -:a9091 :a9091 :a9091. -:a9092 :a9092 :a9092. -:a9093 :a9093 :a9093. -:a9094 :a9094 :a9094. -:a9095 :a9095 :a9095. -:a9096 :a9096 :a9096. -:a9097 :a9097 :a9097. -:a9098 :a9098 :a9098. -:a9099 :a9099 :a9099. -:a9100 :a9100 :a9100. -:a9101 :a9101 :a9101. -:a9102 :a9102 :a9102. -:a9103 :a9103 :a9103. -:a9104 :a9104 :a9104. -:a9105 :a9105 :a9105. -:a9106 :a9106 :a9106. -:a9107 :a9107 :a9107. -:a9108 :a9108 :a9108. -:a9109 :a9109 :a9109. -:a9110 :a9110 :a9110. -:a9111 :a9111 :a9111. -:a9112 :a9112 :a9112. -:a9113 :a9113 :a9113. -:a9114 :a9114 :a9114. -:a9115 :a9115 :a9115. -:a9116 :a9116 :a9116. -:a9117 :a9117 :a9117. -:a9118 :a9118 :a9118. -:a9119 :a9119 :a9119. -:a9120 :a9120 :a9120. -:a9121 :a9121 :a9121. -:a9122 :a9122 :a9122. -:a9123 :a9123 :a9123. -:a9124 :a9124 :a9124. -:a9125 :a9125 :a9125. -:a9126 :a9126 :a9126. -:a9127 :a9127 :a9127. -:a9128 :a9128 :a9128. -:a9129 :a9129 :a9129. -:a9130 :a9130 :a9130. -:a9131 :a9131 :a9131. -:a9132 :a9132 :a9132. -:a9133 :a9133 :a9133. -:a9134 :a9134 :a9134. -:a9135 :a9135 :a9135. -:a9136 :a9136 :a9136. -:a9137 :a9137 :a9137. -:a9138 :a9138 :a9138. -:a9139 :a9139 :a9139. -:a9140 :a9140 :a9140. -:a9141 :a9141 :a9141. -:a9142 :a9142 :a9142. -:a9143 :a9143 :a9143. -:a9144 :a9144 :a9144. -:a9145 :a9145 :a9145. -:a9146 :a9146 :a9146. -:a9147 :a9147 :a9147. -:a9148 :a9148 :a9148. -:a9149 :a9149 :a9149. -:a9150 :a9150 :a9150. -:a9151 :a9151 :a9151. -:a9152 :a9152 :a9152. -:a9153 :a9153 :a9153. -:a9154 :a9154 :a9154. -:a9155 :a9155 :a9155. -:a9156 :a9156 :a9156. -:a9157 :a9157 :a9157. -:a9158 :a9158 :a9158. -:a9159 :a9159 :a9159. -:a9160 :a9160 :a9160. -:a9161 :a9161 :a9161. -:a9162 :a9162 :a9162. -:a9163 :a9163 :a9163. -:a9164 :a9164 :a9164. -:a9165 :a9165 :a9165. -:a9166 :a9166 :a9166. -:a9167 :a9167 :a9167. -:a9168 :a9168 :a9168. -:a9169 :a9169 :a9169. -:a9170 :a9170 :a9170. -:a9171 :a9171 :a9171. -:a9172 :a9172 :a9172. -:a9173 :a9173 :a9173. -:a9174 :a9174 :a9174. -:a9175 :a9175 :a9175. -:a9176 :a9176 :a9176. -:a9177 :a9177 :a9177. -:a9178 :a9178 :a9178. -:a9179 :a9179 :a9179. -:a9180 :a9180 :a9180. -:a9181 :a9181 :a9181. -:a9182 :a9182 :a9182. -:a9183 :a9183 :a9183. -:a9184 :a9184 :a9184. -:a9185 :a9185 :a9185. -:a9186 :a9186 :a9186. -:a9187 :a9187 :a9187. -:a9188 :a9188 :a9188. -:a9189 :a9189 :a9189. -:a9190 :a9190 :a9190. -:a9191 :a9191 :a9191. -:a9192 :a9192 :a9192. -:a9193 :a9193 :a9193. -:a9194 :a9194 :a9194. -:a9195 :a9195 :a9195. -:a9196 :a9196 :a9196. -:a9197 :a9197 :a9197. -:a9198 :a9198 :a9198. -:a9199 :a9199 :a9199. -:a9200 :a9200 :a9200. -:a9201 :a9201 :a9201. -:a9202 :a9202 :a9202. -:a9203 :a9203 :a9203. -:a9204 :a9204 :a9204. -:a9205 :a9205 :a9205. -:a9206 :a9206 :a9206. -:a9207 :a9207 :a9207. -:a9208 :a9208 :a9208. -:a9209 :a9209 :a9209. -:a9210 :a9210 :a9210. -:a9211 :a9211 :a9211. -:a9212 :a9212 :a9212. -:a9213 :a9213 :a9213. -:a9214 :a9214 :a9214. -:a9215 :a9215 :a9215. -:a9216 :a9216 :a9216. -:a9217 :a9217 :a9217. -:a9218 :a9218 :a9218. -:a9219 :a9219 :a9219. -:a9220 :a9220 :a9220. -:a9221 :a9221 :a9221. -:a9222 :a9222 :a9222. -:a9223 :a9223 :a9223. -:a9224 :a9224 :a9224. -:a9225 :a9225 :a9225. -:a9226 :a9226 :a9226. -:a9227 :a9227 :a9227. -:a9228 :a9228 :a9228. -:a9229 :a9229 :a9229. -:a9230 :a9230 :a9230. -:a9231 :a9231 :a9231. -:a9232 :a9232 :a9232. -:a9233 :a9233 :a9233. -:a9234 :a9234 :a9234. -:a9235 :a9235 :a9235. -:a9236 :a9236 :a9236. -:a9237 :a9237 :a9237. -:a9238 :a9238 :a9238. -:a9239 :a9239 :a9239. -:a9240 :a9240 :a9240. -:a9241 :a9241 :a9241. -:a9242 :a9242 :a9242. -:a9243 :a9243 :a9243. -:a9244 :a9244 :a9244. -:a9245 :a9245 :a9245. -:a9246 :a9246 :a9246. -:a9247 :a9247 :a9247. -:a9248 :a9248 :a9248. -:a9249 :a9249 :a9249. -:a9250 :a9250 :a9250. -:a9251 :a9251 :a9251. -:a9252 :a9252 :a9252. -:a9253 :a9253 :a9253. -:a9254 :a9254 :a9254. -:a9255 :a9255 :a9255. -:a9256 :a9256 :a9256. -:a9257 :a9257 :a9257. -:a9258 :a9258 :a9258. -:a9259 :a9259 :a9259. -:a9260 :a9260 :a9260. -:a9261 :a9261 :a9261. -:a9262 :a9262 :a9262. -:a9263 :a9263 :a9263. -:a9264 :a9264 :a9264. -:a9265 :a9265 :a9265. -:a9266 :a9266 :a9266. -:a9267 :a9267 :a9267. -:a9268 :a9268 :a9268. -:a9269 :a9269 :a9269. -:a9270 :a9270 :a9270. -:a9271 :a9271 :a9271. -:a9272 :a9272 :a9272. -:a9273 :a9273 :a9273. -:a9274 :a9274 :a9274. -:a9275 :a9275 :a9275. -:a9276 :a9276 :a9276. -:a9277 :a9277 :a9277. -:a9278 :a9278 :a9278. -:a9279 :a9279 :a9279. -:a9280 :a9280 :a9280. -:a9281 :a9281 :a9281. -:a9282 :a9282 :a9282. -:a9283 :a9283 :a9283. -:a9284 :a9284 :a9284. -:a9285 :a9285 :a9285. -:a9286 :a9286 :a9286. -:a9287 :a9287 :a9287. -:a9288 :a9288 :a9288. -:a9289 :a9289 :a9289. -:a9290 :a9290 :a9290. -:a9291 :a9291 :a9291. -:a9292 :a9292 :a9292. -:a9293 :a9293 :a9293. -:a9294 :a9294 :a9294. -:a9295 :a9295 :a9295. -:a9296 :a9296 :a9296. -:a9297 :a9297 :a9297. -:a9298 :a9298 :a9298. -:a9299 :a9299 :a9299. -:a9300 :a9300 :a9300. -:a9301 :a9301 :a9301. -:a9302 :a9302 :a9302. -:a9303 :a9303 :a9303. -:a9304 :a9304 :a9304. -:a9305 :a9305 :a9305. -:a9306 :a9306 :a9306. -:a9307 :a9307 :a9307. -:a9308 :a9308 :a9308. -:a9309 :a9309 :a9309. -:a9310 :a9310 :a9310. -:a9311 :a9311 :a9311. -:a9312 :a9312 :a9312. -:a9313 :a9313 :a9313. -:a9314 :a9314 :a9314. -:a9315 :a9315 :a9315. -:a9316 :a9316 :a9316. -:a9317 :a9317 :a9317. -:a9318 :a9318 :a9318. -:a9319 :a9319 :a9319. -:a9320 :a9320 :a9320. -:a9321 :a9321 :a9321. -:a9322 :a9322 :a9322. -:a9323 :a9323 :a9323. -:a9324 :a9324 :a9324. -:a9325 :a9325 :a9325. -:a9326 :a9326 :a9326. -:a9327 :a9327 :a9327. -:a9328 :a9328 :a9328. -:a9329 :a9329 :a9329. -:a9330 :a9330 :a9330. -:a9331 :a9331 :a9331. -:a9332 :a9332 :a9332. -:a9333 :a9333 :a9333. -:a9334 :a9334 :a9334. -:a9335 :a9335 :a9335. -:a9336 :a9336 :a9336. -:a9337 :a9337 :a9337. -:a9338 :a9338 :a9338. -:a9339 :a9339 :a9339. -:a9340 :a9340 :a9340. -:a9341 :a9341 :a9341. -:a9342 :a9342 :a9342. -:a9343 :a9343 :a9343. -:a9344 :a9344 :a9344. -:a9345 :a9345 :a9345. -:a9346 :a9346 :a9346. -:a9347 :a9347 :a9347. -:a9348 :a9348 :a9348. -:a9349 :a9349 :a9349. -:a9350 :a9350 :a9350. -:a9351 :a9351 :a9351. -:a9352 :a9352 :a9352. -:a9353 :a9353 :a9353. -:a9354 :a9354 :a9354. -:a9355 :a9355 :a9355. -:a9356 :a9356 :a9356. -:a9357 :a9357 :a9357. -:a9358 :a9358 :a9358. -:a9359 :a9359 :a9359. -:a9360 :a9360 :a9360. -:a9361 :a9361 :a9361. -:a9362 :a9362 :a9362. -:a9363 :a9363 :a9363. -:a9364 :a9364 :a9364. -:a9365 :a9365 :a9365. -:a9366 :a9366 :a9366. -:a9367 :a9367 :a9367. -:a9368 :a9368 :a9368. -:a9369 :a9369 :a9369. -:a9370 :a9370 :a9370. -:a9371 :a9371 :a9371. -:a9372 :a9372 :a9372. -:a9373 :a9373 :a9373. -:a9374 :a9374 :a9374. -:a9375 :a9375 :a9375. -:a9376 :a9376 :a9376. -:a9377 :a9377 :a9377. -:a9378 :a9378 :a9378. -:a9379 :a9379 :a9379. -:a9380 :a9380 :a9380. -:a9381 :a9381 :a9381. -:a9382 :a9382 :a9382. -:a9383 :a9383 :a9383. -:a9384 :a9384 :a9384. -:a9385 :a9385 :a9385. -:a9386 :a9386 :a9386. -:a9387 :a9387 :a9387. -:a9388 :a9388 :a9388. -:a9389 :a9389 :a9389. -:a9390 :a9390 :a9390. -:a9391 :a9391 :a9391. -:a9392 :a9392 :a9392. -:a9393 :a9393 :a9393. -:a9394 :a9394 :a9394. -:a9395 :a9395 :a9395. -:a9396 :a9396 :a9396. -:a9397 :a9397 :a9397. -:a9398 :a9398 :a9398. -:a9399 :a9399 :a9399. -:a9400 :a9400 :a9400. -:a9401 :a9401 :a9401. -:a9402 :a9402 :a9402. -:a9403 :a9403 :a9403. -:a9404 :a9404 :a9404. -:a9405 :a9405 :a9405. -:a9406 :a9406 :a9406. -:a9407 :a9407 :a9407. -:a9408 :a9408 :a9408. -:a9409 :a9409 :a9409. -:a9410 :a9410 :a9410. -:a9411 :a9411 :a9411. -:a9412 :a9412 :a9412. -:a9413 :a9413 :a9413. -:a9414 :a9414 :a9414. -:a9415 :a9415 :a9415. -:a9416 :a9416 :a9416. -:a9417 :a9417 :a9417. -:a9418 :a9418 :a9418. -:a9419 :a9419 :a9419. -:a9420 :a9420 :a9420. -:a9421 :a9421 :a9421. -:a9422 :a9422 :a9422. -:a9423 :a9423 :a9423. -:a9424 :a9424 :a9424. -:a9425 :a9425 :a9425. -:a9426 :a9426 :a9426. -:a9427 :a9427 :a9427. -:a9428 :a9428 :a9428. -:a9429 :a9429 :a9429. -:a9430 :a9430 :a9430. -:a9431 :a9431 :a9431. -:a9432 :a9432 :a9432. -:a9433 :a9433 :a9433. -:a9434 :a9434 :a9434. -:a9435 :a9435 :a9435. -:a9436 :a9436 :a9436. -:a9437 :a9437 :a9437. -:a9438 :a9438 :a9438. -:a9439 :a9439 :a9439. -:a9440 :a9440 :a9440. -:a9441 :a9441 :a9441. -:a9442 :a9442 :a9442. -:a9443 :a9443 :a9443. -:a9444 :a9444 :a9444. -:a9445 :a9445 :a9445. -:a9446 :a9446 :a9446. -:a9447 :a9447 :a9447. -:a9448 :a9448 :a9448. -:a9449 :a9449 :a9449. -:a9450 :a9450 :a9450. -:a9451 :a9451 :a9451. -:a9452 :a9452 :a9452. -:a9453 :a9453 :a9453. -:a9454 :a9454 :a9454. -:a9455 :a9455 :a9455. -:a9456 :a9456 :a9456. -:a9457 :a9457 :a9457. -:a9458 :a9458 :a9458. -:a9459 :a9459 :a9459. -:a9460 :a9460 :a9460. -:a9461 :a9461 :a9461. -:a9462 :a9462 :a9462. -:a9463 :a9463 :a9463. -:a9464 :a9464 :a9464. -:a9465 :a9465 :a9465. -:a9466 :a9466 :a9466. -:a9467 :a9467 :a9467. -:a9468 :a9468 :a9468. -:a9469 :a9469 :a9469. -:a9470 :a9470 :a9470. -:a9471 :a9471 :a9471. -:a9472 :a9472 :a9472. -:a9473 :a9473 :a9473. -:a9474 :a9474 :a9474. -:a9475 :a9475 :a9475. -:a9476 :a9476 :a9476. -:a9477 :a9477 :a9477. -:a9478 :a9478 :a9478. -:a9479 :a9479 :a9479. -:a9480 :a9480 :a9480. -:a9481 :a9481 :a9481. -:a9482 :a9482 :a9482. -:a9483 :a9483 :a9483. -:a9484 :a9484 :a9484. -:a9485 :a9485 :a9485. -:a9486 :a9486 :a9486. -:a9487 :a9487 :a9487. -:a9488 :a9488 :a9488. -:a9489 :a9489 :a9489. -:a9490 :a9490 :a9490. -:a9491 :a9491 :a9491. -:a9492 :a9492 :a9492. -:a9493 :a9493 :a9493. -:a9494 :a9494 :a9494. -:a9495 :a9495 :a9495. -:a9496 :a9496 :a9496. -:a9497 :a9497 :a9497. -:a9498 :a9498 :a9498. -:a9499 :a9499 :a9499. -:a9500 :a9500 :a9500. -:a9501 :a9501 :a9501. -:a9502 :a9502 :a9502. -:a9503 :a9503 :a9503. -:a9504 :a9504 :a9504. -:a9505 :a9505 :a9505. -:a9506 :a9506 :a9506. -:a9507 :a9507 :a9507. -:a9508 :a9508 :a9508. -:a9509 :a9509 :a9509. -:a9510 :a9510 :a9510. -:a9511 :a9511 :a9511. -:a9512 :a9512 :a9512. -:a9513 :a9513 :a9513. -:a9514 :a9514 :a9514. -:a9515 :a9515 :a9515. -:a9516 :a9516 :a9516. -:a9517 :a9517 :a9517. -:a9518 :a9518 :a9518. -:a9519 :a9519 :a9519. -:a9520 :a9520 :a9520. -:a9521 :a9521 :a9521. -:a9522 :a9522 :a9522. -:a9523 :a9523 :a9523. -:a9524 :a9524 :a9524. -:a9525 :a9525 :a9525. -:a9526 :a9526 :a9526. -:a9527 :a9527 :a9527. -:a9528 :a9528 :a9528. -:a9529 :a9529 :a9529. -:a9530 :a9530 :a9530. -:a9531 :a9531 :a9531. -:a9532 :a9532 :a9532. -:a9533 :a9533 :a9533. -:a9534 :a9534 :a9534. -:a9535 :a9535 :a9535. -:a9536 :a9536 :a9536. -:a9537 :a9537 :a9537. -:a9538 :a9538 :a9538. -:a9539 :a9539 :a9539. -:a9540 :a9540 :a9540. -:a9541 :a9541 :a9541. -:a9542 :a9542 :a9542. -:a9543 :a9543 :a9543. -:a9544 :a9544 :a9544. -:a9545 :a9545 :a9545. -:a9546 :a9546 :a9546. -:a9547 :a9547 :a9547. -:a9548 :a9548 :a9548. -:a9549 :a9549 :a9549. -:a9550 :a9550 :a9550. -:a9551 :a9551 :a9551. -:a9552 :a9552 :a9552. -:a9553 :a9553 :a9553. -:a9554 :a9554 :a9554. -:a9555 :a9555 :a9555. -:a9556 :a9556 :a9556. -:a9557 :a9557 :a9557. -:a9558 :a9558 :a9558. -:a9559 :a9559 :a9559. -:a9560 :a9560 :a9560. -:a9561 :a9561 :a9561. -:a9562 :a9562 :a9562. -:a9563 :a9563 :a9563. -:a9564 :a9564 :a9564. -:a9565 :a9565 :a9565. -:a9566 :a9566 :a9566. -:a9567 :a9567 :a9567. -:a9568 :a9568 :a9568. -:a9569 :a9569 :a9569. -:a9570 :a9570 :a9570. -:a9571 :a9571 :a9571. -:a9572 :a9572 :a9572. -:a9573 :a9573 :a9573. -:a9574 :a9574 :a9574. -:a9575 :a9575 :a9575. -:a9576 :a9576 :a9576. -:a9577 :a9577 :a9577. -:a9578 :a9578 :a9578. -:a9579 :a9579 :a9579. -:a9580 :a9580 :a9580. -:a9581 :a9581 :a9581. -:a9582 :a9582 :a9582. -:a9583 :a9583 :a9583. -:a9584 :a9584 :a9584. -:a9585 :a9585 :a9585. -:a9586 :a9586 :a9586. -:a9587 :a9587 :a9587. -:a9588 :a9588 :a9588. -:a9589 :a9589 :a9589. -:a9590 :a9590 :a9590. -:a9591 :a9591 :a9591. -:a9592 :a9592 :a9592. -:a9593 :a9593 :a9593. -:a9594 :a9594 :a9594. -:a9595 :a9595 :a9595. -:a9596 :a9596 :a9596. -:a9597 :a9597 :a9597. -:a9598 :a9598 :a9598. -:a9599 :a9599 :a9599. -:a9600 :a9600 :a9600. -:a9601 :a9601 :a9601. -:a9602 :a9602 :a9602. -:a9603 :a9603 :a9603. -:a9604 :a9604 :a9604. -:a9605 :a9605 :a9605. -:a9606 :a9606 :a9606. -:a9607 :a9607 :a9607. -:a9608 :a9608 :a9608. -:a9609 :a9609 :a9609. -:a9610 :a9610 :a9610. -:a9611 :a9611 :a9611. -:a9612 :a9612 :a9612. -:a9613 :a9613 :a9613. -:a9614 :a9614 :a9614. -:a9615 :a9615 :a9615. -:a9616 :a9616 :a9616. -:a9617 :a9617 :a9617. -:a9618 :a9618 :a9618. -:a9619 :a9619 :a9619. -:a9620 :a9620 :a9620. -:a9621 :a9621 :a9621. -:a9622 :a9622 :a9622. -:a9623 :a9623 :a9623. -:a9624 :a9624 :a9624. -:a9625 :a9625 :a9625. -:a9626 :a9626 :a9626. -:a9627 :a9627 :a9627. -:a9628 :a9628 :a9628. -:a9629 :a9629 :a9629. -:a9630 :a9630 :a9630. -:a9631 :a9631 :a9631. -:a9632 :a9632 :a9632. -:a9633 :a9633 :a9633. -:a9634 :a9634 :a9634. -:a9635 :a9635 :a9635. -:a9636 :a9636 :a9636. -:a9637 :a9637 :a9637. -:a9638 :a9638 :a9638. -:a9639 :a9639 :a9639. -:a9640 :a9640 :a9640. -:a9641 :a9641 :a9641. -:a9642 :a9642 :a9642. -:a9643 :a9643 :a9643. -:a9644 :a9644 :a9644. -:a9645 :a9645 :a9645. -:a9646 :a9646 :a9646. -:a9647 :a9647 :a9647. -:a9648 :a9648 :a9648. -:a9649 :a9649 :a9649. -:a9650 :a9650 :a9650. -:a9651 :a9651 :a9651. -:a9652 :a9652 :a9652. -:a9653 :a9653 :a9653. -:a9654 :a9654 :a9654. -:a9655 :a9655 :a9655. -:a9656 :a9656 :a9656. -:a9657 :a9657 :a9657. -:a9658 :a9658 :a9658. -:a9659 :a9659 :a9659. -:a9660 :a9660 :a9660. -:a9661 :a9661 :a9661. -:a9662 :a9662 :a9662. -:a9663 :a9663 :a9663. -:a9664 :a9664 :a9664. -:a9665 :a9665 :a9665. -:a9666 :a9666 :a9666. -:a9667 :a9667 :a9667. -:a9668 :a9668 :a9668. -:a9669 :a9669 :a9669. -:a9670 :a9670 :a9670. -:a9671 :a9671 :a9671. -:a9672 :a9672 :a9672. -:a9673 :a9673 :a9673. -:a9674 :a9674 :a9674. -:a9675 :a9675 :a9675. -:a9676 :a9676 :a9676. -:a9677 :a9677 :a9677. -:a9678 :a9678 :a9678. -:a9679 :a9679 :a9679. -:a9680 :a9680 :a9680. -:a9681 :a9681 :a9681. -:a9682 :a9682 :a9682. -:a9683 :a9683 :a9683. -:a9684 :a9684 :a9684. -:a9685 :a9685 :a9685. -:a9686 :a9686 :a9686. -:a9687 :a9687 :a9687. -:a9688 :a9688 :a9688. -:a9689 :a9689 :a9689. -:a9690 :a9690 :a9690. -:a9691 :a9691 :a9691. -:a9692 :a9692 :a9692. -:a9693 :a9693 :a9693. -:a9694 :a9694 :a9694. -:a9695 :a9695 :a9695. -:a9696 :a9696 :a9696. -:a9697 :a9697 :a9697. -:a9698 :a9698 :a9698. -:a9699 :a9699 :a9699. -:a9700 :a9700 :a9700. -:a9701 :a9701 :a9701. -:a9702 :a9702 :a9702. -:a9703 :a9703 :a9703. -:a9704 :a9704 :a9704. -:a9705 :a9705 :a9705. -:a9706 :a9706 :a9706. -:a9707 :a9707 :a9707. -:a9708 :a9708 :a9708. -:a9709 :a9709 :a9709. -:a9710 :a9710 :a9710. -:a9711 :a9711 :a9711. -:a9712 :a9712 :a9712. -:a9713 :a9713 :a9713. -:a9714 :a9714 :a9714. -:a9715 :a9715 :a9715. -:a9716 :a9716 :a9716. -:a9717 :a9717 :a9717. -:a9718 :a9718 :a9718. -:a9719 :a9719 :a9719. -:a9720 :a9720 :a9720. -:a9721 :a9721 :a9721. -:a9722 :a9722 :a9722. -:a9723 :a9723 :a9723. -:a9724 :a9724 :a9724. -:a9725 :a9725 :a9725. -:a9726 :a9726 :a9726. -:a9727 :a9727 :a9727. -:a9728 :a9728 :a9728. -:a9729 :a9729 :a9729. -:a9730 :a9730 :a9730. -:a9731 :a9731 :a9731. -:a9732 :a9732 :a9732. -:a9733 :a9733 :a9733. -:a9734 :a9734 :a9734. -:a9735 :a9735 :a9735. -:a9736 :a9736 :a9736. -:a9737 :a9737 :a9737. -:a9738 :a9738 :a9738. -:a9739 :a9739 :a9739. -:a9740 :a9740 :a9740. -:a9741 :a9741 :a9741. -:a9742 :a9742 :a9742. -:a9743 :a9743 :a9743. -:a9744 :a9744 :a9744. -:a9745 :a9745 :a9745. -:a9746 :a9746 :a9746. -:a9747 :a9747 :a9747. -:a9748 :a9748 :a9748. -:a9749 :a9749 :a9749. -:a9750 :a9750 :a9750. -:a9751 :a9751 :a9751. -:a9752 :a9752 :a9752. -:a9753 :a9753 :a9753. -:a9754 :a9754 :a9754. -:a9755 :a9755 :a9755. -:a9756 :a9756 :a9756. -:a9757 :a9757 :a9757. -:a9758 :a9758 :a9758. -:a9759 :a9759 :a9759. -:a9760 :a9760 :a9760. -:a9761 :a9761 :a9761. -:a9762 :a9762 :a9762. -:a9763 :a9763 :a9763. -:a9764 :a9764 :a9764. -:a9765 :a9765 :a9765. -:a9766 :a9766 :a9766. -:a9767 :a9767 :a9767. -:a9768 :a9768 :a9768. -:a9769 :a9769 :a9769. -:a9770 :a9770 :a9770. -:a9771 :a9771 :a9771. -:a9772 :a9772 :a9772. -:a9773 :a9773 :a9773. -:a9774 :a9774 :a9774. -:a9775 :a9775 :a9775. -:a9776 :a9776 :a9776. -:a9777 :a9777 :a9777. -:a9778 :a9778 :a9778. -:a9779 :a9779 :a9779. -:a9780 :a9780 :a9780. -:a9781 :a9781 :a9781. -:a9782 :a9782 :a9782. -:a9783 :a9783 :a9783. -:a9784 :a9784 :a9784. -:a9785 :a9785 :a9785. -:a9786 :a9786 :a9786. -:a9787 :a9787 :a9787. -:a9788 :a9788 :a9788. -:a9789 :a9789 :a9789. -:a9790 :a9790 :a9790. -:a9791 :a9791 :a9791. -:a9792 :a9792 :a9792. -:a9793 :a9793 :a9793. -:a9794 :a9794 :a9794. -:a9795 :a9795 :a9795. -:a9796 :a9796 :a9796. -:a9797 :a9797 :a9797. -:a9798 :a9798 :a9798. -:a9799 :a9799 :a9799. -:a9800 :a9800 :a9800. -:a9801 :a9801 :a9801. -:a9802 :a9802 :a9802. -:a9803 :a9803 :a9803. -:a9804 :a9804 :a9804. -:a9805 :a9805 :a9805. -:a9806 :a9806 :a9806. -:a9807 :a9807 :a9807. -:a9808 :a9808 :a9808. -:a9809 :a9809 :a9809. -:a9810 :a9810 :a9810. -:a9811 :a9811 :a9811. -:a9812 :a9812 :a9812. -:a9813 :a9813 :a9813. -:a9814 :a9814 :a9814. -:a9815 :a9815 :a9815. -:a9816 :a9816 :a9816. -:a9817 :a9817 :a9817. -:a9818 :a9818 :a9818. -:a9819 :a9819 :a9819. -:a9820 :a9820 :a9820. -:a9821 :a9821 :a9821. -:a9822 :a9822 :a9822. -:a9823 :a9823 :a9823. -:a9824 :a9824 :a9824. -:a9825 :a9825 :a9825. -:a9826 :a9826 :a9826. -:a9827 :a9827 :a9827. -:a9828 :a9828 :a9828. -:a9829 :a9829 :a9829. -:a9830 :a9830 :a9830. -:a9831 :a9831 :a9831. -:a9832 :a9832 :a9832. -:a9833 :a9833 :a9833. -:a9834 :a9834 :a9834. -:a9835 :a9835 :a9835. -:a9836 :a9836 :a9836. -:a9837 :a9837 :a9837. -:a9838 :a9838 :a9838. -:a9839 :a9839 :a9839. -:a9840 :a9840 :a9840. -:a9841 :a9841 :a9841. -:a9842 :a9842 :a9842. -:a9843 :a9843 :a9843. -:a9844 :a9844 :a9844. -:a9845 :a9845 :a9845. -:a9846 :a9846 :a9846. -:a9847 :a9847 :a9847. -:a9848 :a9848 :a9848. -:a9849 :a9849 :a9849. -:a9850 :a9850 :a9850. -:a9851 :a9851 :a9851. -:a9852 :a9852 :a9852. -:a9853 :a9853 :a9853. -:a9854 :a9854 :a9854. -:a9855 :a9855 :a9855. -:a9856 :a9856 :a9856. -:a9857 :a9857 :a9857. -:a9858 :a9858 :a9858. -:a9859 :a9859 :a9859. -:a9860 :a9860 :a9860. -:a9861 :a9861 :a9861. -:a9862 :a9862 :a9862. -:a9863 :a9863 :a9863. -:a9864 :a9864 :a9864. -:a9865 :a9865 :a9865. -:a9866 :a9866 :a9866. -:a9867 :a9867 :a9867. -:a9868 :a9868 :a9868. -:a9869 :a9869 :a9869. -:a9870 :a9870 :a9870. -:a9871 :a9871 :a9871. -:a9872 :a9872 :a9872. -:a9873 :a9873 :a9873. -:a9874 :a9874 :a9874. -:a9875 :a9875 :a9875. -:a9876 :a9876 :a9876. -:a9877 :a9877 :a9877. -:a9878 :a9878 :a9878. -:a9879 :a9879 :a9879. -:a9880 :a9880 :a9880. -:a9881 :a9881 :a9881. -:a9882 :a9882 :a9882. -:a9883 :a9883 :a9883. -:a9884 :a9884 :a9884. -:a9885 :a9885 :a9885. -:a9886 :a9886 :a9886. -:a9887 :a9887 :a9887. -:a9888 :a9888 :a9888. -:a9889 :a9889 :a9889. -:a9890 :a9890 :a9890. -:a9891 :a9891 :a9891. -:a9892 :a9892 :a9892. -:a9893 :a9893 :a9893. -:a9894 :a9894 :a9894. -:a9895 :a9895 :a9895. -:a9896 :a9896 :a9896. -:a9897 :a9897 :a9897. -:a9898 :a9898 :a9898. -:a9899 :a9899 :a9899. -:a9900 :a9900 :a9900. -:a9901 :a9901 :a9901. -:a9902 :a9902 :a9902. -:a9903 :a9903 :a9903. -:a9904 :a9904 :a9904. -:a9905 :a9905 :a9905. -:a9906 :a9906 :a9906. -:a9907 :a9907 :a9907. -:a9908 :a9908 :a9908. -:a9909 :a9909 :a9909. -:a9910 :a9910 :a9910. -:a9911 :a9911 :a9911. -:a9912 :a9912 :a9912. -:a9913 :a9913 :a9913. -:a9914 :a9914 :a9914. -:a9915 :a9915 :a9915. -:a9916 :a9916 :a9916. -:a9917 :a9917 :a9917. -:a9918 :a9918 :a9918. -:a9919 :a9919 :a9919. -:a9920 :a9920 :a9920. -:a9921 :a9921 :a9921. -:a9922 :a9922 :a9922. -:a9923 :a9923 :a9923. -:a9924 :a9924 :a9924. -:a9925 :a9925 :a9925. -:a9926 :a9926 :a9926. -:a9927 :a9927 :a9927. -:a9928 :a9928 :a9928. -:a9929 :a9929 :a9929. -:a9930 :a9930 :a9930. -:a9931 :a9931 :a9931. -:a9932 :a9932 :a9932. -:a9933 :a9933 :a9933. -:a9934 :a9934 :a9934. -:a9935 :a9935 :a9935. -:a9936 :a9936 :a9936. -:a9937 :a9937 :a9937. -:a9938 :a9938 :a9938. -:a9939 :a9939 :a9939. -:a9940 :a9940 :a9940. -:a9941 :a9941 :a9941. -:a9942 :a9942 :a9942. -:a9943 :a9943 :a9943. -:a9944 :a9944 :a9944. -:a9945 :a9945 :a9945. -:a9946 :a9946 :a9946. -:a9947 :a9947 :a9947. -:a9948 :a9948 :a9948. -:a9949 :a9949 :a9949. -:a9950 :a9950 :a9950. -:a9951 :a9951 :a9951. -:a9952 :a9952 :a9952. -:a9953 :a9953 :a9953. -:a9954 :a9954 :a9954. -:a9955 :a9955 :a9955. -:a9956 :a9956 :a9956. -:a9957 :a9957 :a9957. -:a9958 :a9958 :a9958. -:a9959 :a9959 :a9959. -:a9960 :a9960 :a9960. -:a9961 :a9961 :a9961. -:a9962 :a9962 :a9962. -:a9963 :a9963 :a9963. -:a9964 :a9964 :a9964. -:a9965 :a9965 :a9965. -:a9966 :a9966 :a9966. -:a9967 :a9967 :a9967. -:a9968 :a9968 :a9968. -:a9969 :a9969 :a9969. -:a9970 :a9970 :a9970. -:a9971 :a9971 :a9971. -:a9972 :a9972 :a9972. -:a9973 :a9973 :a9973. -:a9974 :a9974 :a9974. -:a9975 :a9975 :a9975. -:a9976 :a9976 :a9976. -:a9977 :a9977 :a9977. -:a9978 :a9978 :a9978. -:a9979 :a9979 :a9979. -:a9980 :a9980 :a9980. -:a9981 :a9981 :a9981. -:a9982 :a9982 :a9982. -:a9983 :a9983 :a9983. -:a9984 :a9984 :a9984. -:a9985 :a9985 :a9985. -:a9986 :a9986 :a9986. -:a9987 :a9987 :a9987. -:a9988 :a9988 :a9988. -:a9989 :a9989 :a9989. -:a9990 :a9990 :a9990. -:a9991 :a9991 :a9991. -:a9992 :a9992 :a9992. -:a9993 :a9993 :a9993. -:a9994 :a9994 :a9994. -:a9995 :a9995 :a9995. -:a9996 :a9996 :a9996. -:a9997 :a9997 :a9997. -:a9998 :a9998 :a9998. -:a9999 :a9999 :a9999. -:a10000 :a10000 :a10000. diff --git a/source/modules/lilv/serd-0.18.2/tests/test-15.out b/source/modules/lilv/serd-0.18.2/tests/test-15.out deleted file mode 100644 index c0604b3b6..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-15.out +++ /dev/null @@ -1,10000 +0,0 @@ - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . diff --git a/source/modules/lilv/serd-0.18.2/tests/test-15.ttl b/source/modules/lilv/serd-0.18.2/tests/test-15.ttl deleted file mode 100644 index 10df17dfa..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-15.ttl +++ /dev/null @@ -1,3 +0,0 @@ -# 10000 triple objects (10000 triples) more than the default Bison stack size -@prefix : . -:a :b :c1, :c2, :c3, :c4, :c5, :c6, :c7, :c8, :c9, :c10, :c11, :c12, :c13, :c14, :c15, :c16, :c17, :c18, :c19, :c20, :c21, :c22, :c23, :c24, :c25, :c26, :c27, :c28, :c29, :c30, :c31, :c32, :c33, :c34, :c35, :c36, :c37, :c38, :c39, :c40, :c41, :c42, :c43, :c44, :c45, :c46, :c47, :c48, :c49, :c50, :c51, :c52, :c53, :c54, :c55, :c56, :c57, :c58, :c59, :c60, :c61, :c62, :c63, :c64, :c65, :c66, :c67, :c68, :c69, :c70, :c71, :c72, :c73, :c74, :c75, :c76, :c77, :c78, :c79, :c80, :c81, :c82, :c83, :c84, :c85, :c86, :c87, :c88, :c89, :c90, :c91, :c92, :c93, :c94, :c95, :c96, :c97, :c98, :c99, :c100, :c101, :c102, :c103, :c104, :c105, :c106, :c107, :c108, :c109, :c110, :c111, :c112, :c113, :c114, :c115, :c116, :c117, :c118, :c119, :c120, :c121, :c122, :c123, :c124, :c125, :c126, :c127, :c128, :c129, :c130, :c131, :c132, :c133, :c134, :c135, :c136, :c137, :c138, :c139, :c140, :c141, :c142, :c143, :c144, :c145, :c146, :c147, :c148, :c149, :c150, :c151, :c152, :c153, :c154, :c155, :c156, :c157, :c158, :c159, :c160, :c161, :c162, :c163, :c164, :c165, :c166, :c167, :c168, :c169, :c170, :c171, :c172, :c173, :c174, :c175, :c176, :c177, :c178, :c179, :c180, :c181, :c182, :c183, :c184, :c185, :c186, :c187, :c188, :c189, :c190, :c191, :c192, :c193, :c194, :c195, :c196, :c197, :c198, :c199, :c200, :c201, :c202, :c203, :c204, :c205, :c206, :c207, :c208, :c209, :c210, :c211, :c212, :c213, :c214, :c215, :c216, :c217, :c218, :c219, :c220, :c221, :c222, :c223, :c224, :c225, :c226, :c227, :c228, :c229, :c230, :c231, :c232, :c233, :c234, :c235, :c236, :c237, :c238, :c239, :c240, :c241, :c242, :c243, :c244, :c245, :c246, :c247, :c248, :c249, :c250, :c251, :c252, :c253, :c254, :c255, :c256, :c257, :c258, :c259, :c260, :c261, :c262, :c263, :c264, :c265, :c266, :c267, :c268, :c269, :c270, :c271, :c272, :c273, :c274, :c275, :c276, :c277, :c278, :c279, :c280, :c281, :c282, :c283, :c284, :c285, :c286, :c287, :c288, :c289, :c290, :c291, :c292, :c293, :c294, :c295, :c296, :c297, :c298, :c299, :c300, :c301, :c302, :c303, :c304, :c305, :c306, :c307, :c308, :c309, :c310, :c311, :c312, :c313, :c314, :c315, :c316, :c317, :c318, :c319, :c320, :c321, :c322, :c323, :c324, :c325, :c326, :c327, :c328, :c329, :c330, :c331, :c332, :c333, :c334, :c335, :c336, :c337, :c338, :c339, :c340, :c341, :c342, :c343, :c344, :c345, :c346, :c347, :c348, :c349, :c350, :c351, :c352, :c353, :c354, :c355, :c356, :c357, :c358, :c359, :c360, :c361, :c362, :c363, :c364, :c365, :c366, :c367, :c368, :c369, :c370, :c371, :c372, :c373, :c374, :c375, :c376, :c377, :c378, :c379, :c380, :c381, :c382, :c383, :c384, :c385, :c386, :c387, :c388, :c389, :c390, :c391, :c392, :c393, :c394, :c395, :c396, :c397, :c398, :c399, :c400, :c401, :c402, :c403, :c404, :c405, :c406, :c407, :c408, :c409, :c410, :c411, :c412, :c413, :c414, :c415, :c416, :c417, :c418, :c419, :c420, :c421, :c422, :c423, :c424, :c425, :c426, :c427, :c428, :c429, :c430, :c431, :c432, :c433, :c434, :c435, :c436, :c437, :c438, :c439, :c440, :c441, :c442, :c443, :c444, :c445, :c446, :c447, :c448, :c449, :c450, :c451, :c452, :c453, :c454, :c455, :c456, :c457, :c458, :c459, :c460, :c461, :c462, :c463, :c464, :c465, :c466, :c467, :c468, :c469, :c470, :c471, :c472, :c473, :c474, :c475, :c476, :c477, :c478, :c479, :c480, :c481, :c482, :c483, :c484, :c485, :c486, :c487, :c488, :c489, :c490, :c491, :c492, :c493, :c494, :c495, :c496, :c497, :c498, :c499, :c500, :c501, :c502, :c503, :c504, :c505, :c506, :c507, :c508, :c509, :c510, :c511, :c512, :c513, :c514, :c515, :c516, :c517, :c518, :c519, :c520, :c521, :c522, :c523, :c524, :c525, :c526, :c527, :c528, :c529, :c530, :c531, :c532, :c533, :c534, :c535, :c536, :c537, :c538, :c539, :c540, :c541, :c542, :c543, :c544, :c545, :c546, :c547, :c548, :c549, :c550, :c551, :c552, :c553, :c554, :c555, :c556, :c557, :c558, :c559, :c560, :c561, :c562, :c563, :c564, :c565, :c566, :c567, :c568, :c569, :c570, :c571, :c572, :c573, :c574, :c575, :c576, :c577, :c578, :c579, :c580, :c581, :c582, :c583, :c584, :c585, :c586, :c587, :c588, :c589, :c590, :c591, :c592, :c593, :c594, :c595, :c596, :c597, :c598, :c599, :c600, :c601, :c602, :c603, :c604, :c605, :c606, :c607, :c608, :c609, :c610, :c611, :c612, :c613, :c614, :c615, :c616, :c617, :c618, :c619, :c620, :c621, :c622, :c623, :c624, :c625, :c626, :c627, :c628, :c629, :c630, :c631, :c632, :c633, :c634, :c635, :c636, :c637, :c638, :c639, :c640, :c641, :c642, :c643, :c644, :c645, :c646, :c647, :c648, :c649, :c650, :c651, :c652, :c653, :c654, :c655, :c656, :c657, :c658, :c659, :c660, :c661, :c662, :c663, :c664, :c665, :c666, :c667, :c668, :c669, :c670, :c671, :c672, :c673, :c674, :c675, :c676, :c677, :c678, :c679, :c680, :c681, :c682, :c683, :c684, :c685, :c686, :c687, :c688, :c689, :c690, :c691, :c692, :c693, :c694, :c695, :c696, :c697, :c698, :c699, :c700, :c701, :c702, :c703, :c704, :c705, :c706, :c707, :c708, :c709, :c710, :c711, :c712, :c713, :c714, :c715, :c716, :c717, :c718, :c719, :c720, :c721, :c722, :c723, :c724, :c725, :c726, :c727, :c728, :c729, :c730, :c731, :c732, :c733, :c734, :c735, :c736, :c737, :c738, :c739, :c740, :c741, :c742, :c743, :c744, :c745, :c746, :c747, :c748, :c749, :c750, :c751, :c752, :c753, :c754, :c755, :c756, :c757, :c758, :c759, :c760, :c761, :c762, :c763, :c764, :c765, :c766, :c767, :c768, :c769, :c770, :c771, :c772, :c773, :c774, :c775, :c776, :c777, :c778, :c779, :c780, :c781, :c782, :c783, :c784, :c785, :c786, :c787, :c788, :c789, :c790, :c791, :c792, :c793, :c794, :c795, :c796, :c797, :c798, :c799, :c800, :c801, :c802, :c803, :c804, :c805, :c806, :c807, :c808, :c809, :c810, :c811, :c812, :c813, :c814, :c815, :c816, :c817, :c818, :c819, :c820, :c821, :c822, :c823, :c824, :c825, :c826, :c827, :c828, :c829, :c830, :c831, :c832, :c833, :c834, :c835, :c836, :c837, :c838, :c839, :c840, :c841, :c842, :c843, :c844, :c845, :c846, :c847, :c848, :c849, :c850, :c851, :c852, :c853, :c854, :c855, :c856, :c857, :c858, :c859, :c860, :c861, :c862, :c863, :c864, :c865, :c866, :c867, :c868, :c869, :c870, :c871, :c872, :c873, :c874, :c875, :c876, :c877, :c878, :c879, :c880, :c881, :c882, :c883, :c884, :c885, :c886, :c887, :c888, :c889, :c890, :c891, :c892, :c893, :c894, :c895, :c896, :c897, :c898, :c899, :c900, :c901, :c902, :c903, :c904, :c905, :c906, :c907, :c908, :c909, :c910, :c911, :c912, :c913, :c914, :c915, :c916, :c917, :c918, :c919, :c920, :c921, :c922, :c923, :c924, :c925, :c926, :c927, :c928, :c929, :c930, :c931, :c932, :c933, :c934, :c935, :c936, :c937, :c938, :c939, :c940, :c941, :c942, :c943, :c944, :c945, :c946, :c947, :c948, :c949, :c950, :c951, :c952, :c953, :c954, :c955, :c956, :c957, :c958, :c959, :c960, :c961, :c962, :c963, :c964, :c965, :c966, :c967, :c968, :c969, :c970, :c971, :c972, :c973, :c974, :c975, :c976, :c977, :c978, :c979, :c980, :c981, :c982, :c983, :c984, :c985, :c986, :c987, :c988, :c989, :c990, :c991, :c992, :c993, :c994, :c995, :c996, :c997, :c998, :c999, :c1000, :c1001, :c1002, :c1003, :c1004, :c1005, :c1006, :c1007, :c1008, :c1009, :c1010, :c1011, :c1012, :c1013, :c1014, :c1015, :c1016, :c1017, :c1018, :c1019, :c1020, :c1021, :c1022, :c1023, :c1024, :c1025, :c1026, :c1027, :c1028, :c1029, :c1030, :c1031, :c1032, :c1033, :c1034, :c1035, :c1036, :c1037, :c1038, :c1039, :c1040, :c1041, :c1042, :c1043, :c1044, :c1045, :c1046, :c1047, :c1048, :c1049, :c1050, :c1051, :c1052, :c1053, :c1054, :c1055, :c1056, :c1057, :c1058, :c1059, :c1060, :c1061, :c1062, :c1063, :c1064, :c1065, :c1066, :c1067, :c1068, :c1069, :c1070, :c1071, :c1072, :c1073, :c1074, :c1075, :c1076, :c1077, :c1078, :c1079, :c1080, :c1081, :c1082, :c1083, :c1084, :c1085, :c1086, :c1087, :c1088, :c1089, :c1090, :c1091, :c1092, :c1093, :c1094, :c1095, :c1096, :c1097, :c1098, :c1099, :c1100, :c1101, :c1102, :c1103, :c1104, :c1105, :c1106, :c1107, :c1108, :c1109, :c1110, :c1111, :c1112, :c1113, :c1114, :c1115, :c1116, :c1117, :c1118, :c1119, :c1120, :c1121, :c1122, :c1123, :c1124, :c1125, :c1126, :c1127, :c1128, :c1129, :c1130, :c1131, :c1132, :c1133, :c1134, :c1135, :c1136, :c1137, :c1138, :c1139, :c1140, :c1141, :c1142, :c1143, :c1144, :c1145, :c1146, :c1147, :c1148, :c1149, :c1150, :c1151, :c1152, :c1153, :c1154, :c1155, :c1156, :c1157, :c1158, :c1159, :c1160, :c1161, :c1162, :c1163, :c1164, :c1165, :c1166, :c1167, :c1168, :c1169, :c1170, :c1171, :c1172, :c1173, :c1174, :c1175, :c1176, :c1177, :c1178, :c1179, :c1180, :c1181, :c1182, :c1183, :c1184, :c1185, :c1186, :c1187, :c1188, :c1189, :c1190, :c1191, :c1192, :c1193, :c1194, :c1195, :c1196, :c1197, :c1198, :c1199, :c1200, :c1201, :c1202, :c1203, :c1204, :c1205, :c1206, :c1207, :c1208, :c1209, :c1210, :c1211, :c1212, :c1213, :c1214, :c1215, :c1216, :c1217, :c1218, :c1219, :c1220, :c1221, :c1222, :c1223, :c1224, :c1225, :c1226, :c1227, :c1228, :c1229, :c1230, :c1231, :c1232, :c1233, :c1234, :c1235, :c1236, :c1237, :c1238, :c1239, :c1240, :c1241, :c1242, :c1243, :c1244, :c1245, :c1246, :c1247, :c1248, :c1249, :c1250, :c1251, :c1252, :c1253, :c1254, :c1255, :c1256, :c1257, :c1258, :c1259, :c1260, :c1261, :c1262, :c1263, :c1264, :c1265, :c1266, :c1267, :c1268, :c1269, :c1270, :c1271, :c1272, :c1273, :c1274, :c1275, :c1276, :c1277, :c1278, :c1279, :c1280, :c1281, :c1282, :c1283, :c1284, :c1285, :c1286, :c1287, :c1288, :c1289, :c1290, :c1291, :c1292, :c1293, :c1294, :c1295, :c1296, :c1297, :c1298, :c1299, :c1300, :c1301, :c1302, :c1303, :c1304, :c1305, :c1306, :c1307, :c1308, :c1309, :c1310, :c1311, :c1312, :c1313, :c1314, :c1315, :c1316, :c1317, :c1318, :c1319, :c1320, :c1321, :c1322, :c1323, :c1324, :c1325, :c1326, :c1327, :c1328, :c1329, :c1330, :c1331, :c1332, :c1333, :c1334, :c1335, :c1336, :c1337, :c1338, :c1339, :c1340, :c1341, :c1342, :c1343, :c1344, :c1345, :c1346, :c1347, :c1348, :c1349, :c1350, :c1351, :c1352, :c1353, :c1354, :c1355, :c1356, :c1357, :c1358, :c1359, :c1360, :c1361, :c1362, :c1363, :c1364, :c1365, :c1366, :c1367, :c1368, :c1369, :c1370, :c1371, :c1372, :c1373, :c1374, :c1375, :c1376, :c1377, :c1378, :c1379, :c1380, :c1381, :c1382, :c1383, :c1384, :c1385, :c1386, :c1387, :c1388, :c1389, :c1390, :c1391, :c1392, :c1393, :c1394, :c1395, :c1396, :c1397, :c1398, :c1399, :c1400, :c1401, :c1402, :c1403, :c1404, :c1405, :c1406, :c1407, :c1408, :c1409, :c1410, :c1411, :c1412, :c1413, :c1414, :c1415, :c1416, :c1417, :c1418, :c1419, :c1420, :c1421, :c1422, :c1423, :c1424, :c1425, :c1426, :c1427, :c1428, :c1429, :c1430, :c1431, :c1432, :c1433, :c1434, :c1435, :c1436, :c1437, :c1438, :c1439, :c1440, :c1441, :c1442, :c1443, :c1444, :c1445, :c1446, :c1447, :c1448, :c1449, :c1450, :c1451, :c1452, :c1453, :c1454, :c1455, :c1456, :c1457, :c1458, :c1459, :c1460, :c1461, :c1462, :c1463, :c1464, :c1465, :c1466, :c1467, :c1468, :c1469, :c1470, :c1471, :c1472, :c1473, :c1474, :c1475, :c1476, :c1477, :c1478, :c1479, :c1480, :c1481, :c1482, :c1483, :c1484, :c1485, :c1486, :c1487, :c1488, :c1489, :c1490, :c1491, :c1492, :c1493, :c1494, :c1495, :c1496, :c1497, :c1498, :c1499, :c1500, :c1501, :c1502, :c1503, :c1504, :c1505, :c1506, :c1507, :c1508, :c1509, :c1510, :c1511, :c1512, :c1513, :c1514, :c1515, :c1516, :c1517, :c1518, :c1519, :c1520, :c1521, :c1522, :c1523, :c1524, :c1525, :c1526, :c1527, :c1528, :c1529, :c1530, :c1531, :c1532, :c1533, :c1534, :c1535, :c1536, :c1537, :c1538, :c1539, :c1540, :c1541, :c1542, :c1543, :c1544, :c1545, :c1546, :c1547, :c1548, :c1549, :c1550, :c1551, :c1552, :c1553, :c1554, :c1555, :c1556, :c1557, :c1558, :c1559, :c1560, :c1561, :c1562, :c1563, :c1564, :c1565, :c1566, :c1567, :c1568, :c1569, :c1570, :c1571, :c1572, :c1573, :c1574, :c1575, :c1576, :c1577, :c1578, :c1579, :c1580, :c1581, :c1582, :c1583, :c1584, :c1585, :c1586, :c1587, :c1588, :c1589, :c1590, :c1591, :c1592, :c1593, :c1594, :c1595, :c1596, :c1597, :c1598, :c1599, :c1600, :c1601, :c1602, :c1603, :c1604, :c1605, :c1606, :c1607, :c1608, :c1609, :c1610, :c1611, :c1612, :c1613, :c1614, :c1615, :c1616, :c1617, :c1618, :c1619, :c1620, :c1621, :c1622, :c1623, :c1624, :c1625, :c1626, :c1627, :c1628, :c1629, :c1630, :c1631, :c1632, :c1633, :c1634, :c1635, :c1636, :c1637, :c1638, :c1639, :c1640, :c1641, :c1642, :c1643, :c1644, :c1645, :c1646, :c1647, :c1648, :c1649, :c1650, :c1651, :c1652, :c1653, :c1654, :c1655, :c1656, :c1657, :c1658, :c1659, :c1660, :c1661, :c1662, :c1663, :c1664, :c1665, :c1666, :c1667, :c1668, :c1669, :c1670, :c1671, :c1672, :c1673, :c1674, :c1675, :c1676, :c1677, :c1678, :c1679, :c1680, :c1681, :c1682, :c1683, :c1684, :c1685, :c1686, :c1687, :c1688, :c1689, :c1690, :c1691, :c1692, :c1693, :c1694, :c1695, :c1696, :c1697, :c1698, :c1699, :c1700, :c1701, :c1702, :c1703, :c1704, :c1705, :c1706, :c1707, :c1708, :c1709, :c1710, :c1711, :c1712, :c1713, :c1714, :c1715, :c1716, :c1717, :c1718, :c1719, :c1720, :c1721, :c1722, :c1723, :c1724, :c1725, :c1726, :c1727, :c1728, :c1729, :c1730, :c1731, :c1732, :c1733, :c1734, :c1735, :c1736, :c1737, :c1738, :c1739, :c1740, :c1741, :c1742, :c1743, :c1744, :c1745, :c1746, :c1747, :c1748, :c1749, :c1750, :c1751, :c1752, :c1753, :c1754, :c1755, :c1756, :c1757, :c1758, :c1759, :c1760, :c1761, :c1762, :c1763, :c1764, :c1765, :c1766, :c1767, :c1768, :c1769, :c1770, :c1771, :c1772, :c1773, :c1774, :c1775, :c1776, :c1777, :c1778, :c1779, :c1780, :c1781, :c1782, :c1783, :c1784, :c1785, :c1786, :c1787, :c1788, :c1789, :c1790, :c1791, :c1792, :c1793, :c1794, :c1795, :c1796, :c1797, :c1798, :c1799, :c1800, :c1801, :c1802, :c1803, :c1804, :c1805, :c1806, :c1807, :c1808, :c1809, :c1810, :c1811, :c1812, :c1813, :c1814, :c1815, :c1816, :c1817, :c1818, :c1819, :c1820, :c1821, :c1822, :c1823, :c1824, :c1825, :c1826, :c1827, :c1828, :c1829, :c1830, :c1831, :c1832, :c1833, :c1834, :c1835, :c1836, :c1837, :c1838, :c1839, :c1840, :c1841, :c1842, :c1843, :c1844, :c1845, :c1846, :c1847, :c1848, :c1849, :c1850, :c1851, :c1852, :c1853, :c1854, :c1855, :c1856, :c1857, :c1858, :c1859, :c1860, :c1861, :c1862, :c1863, :c1864, :c1865, :c1866, :c1867, :c1868, :c1869, :c1870, :c1871, :c1872, :c1873, :c1874, :c1875, :c1876, :c1877, :c1878, :c1879, :c1880, :c1881, :c1882, :c1883, :c1884, :c1885, :c1886, :c1887, :c1888, :c1889, :c1890, :c1891, :c1892, :c1893, :c1894, :c1895, :c1896, :c1897, :c1898, :c1899, :c1900, :c1901, :c1902, :c1903, :c1904, :c1905, :c1906, :c1907, :c1908, :c1909, :c1910, :c1911, :c1912, :c1913, :c1914, :c1915, :c1916, :c1917, :c1918, :c1919, :c1920, :c1921, :c1922, :c1923, :c1924, :c1925, :c1926, :c1927, :c1928, :c1929, :c1930, :c1931, :c1932, :c1933, :c1934, :c1935, :c1936, :c1937, :c1938, :c1939, :c1940, :c1941, :c1942, :c1943, :c1944, :c1945, :c1946, :c1947, :c1948, :c1949, :c1950, :c1951, :c1952, :c1953, :c1954, :c1955, :c1956, :c1957, :c1958, :c1959, :c1960, :c1961, :c1962, :c1963, :c1964, :c1965, :c1966, :c1967, :c1968, :c1969, :c1970, :c1971, :c1972, :c1973, :c1974, :c1975, :c1976, :c1977, :c1978, :c1979, :c1980, :c1981, :c1982, :c1983, :c1984, :c1985, :c1986, :c1987, :c1988, :c1989, :c1990, :c1991, :c1992, :c1993, :c1994, :c1995, :c1996, :c1997, :c1998, :c1999, :c2000, :c2001, :c2002, :c2003, :c2004, :c2005, :c2006, :c2007, :c2008, :c2009, :c2010, :c2011, :c2012, :c2013, :c2014, :c2015, :c2016, :c2017, :c2018, :c2019, :c2020, :c2021, :c2022, :c2023, :c2024, :c2025, :c2026, :c2027, :c2028, :c2029, :c2030, :c2031, :c2032, :c2033, :c2034, :c2035, :c2036, :c2037, :c2038, :c2039, :c2040, :c2041, :c2042, :c2043, :c2044, :c2045, :c2046, :c2047, :c2048, :c2049, :c2050, :c2051, :c2052, :c2053, :c2054, :c2055, :c2056, :c2057, :c2058, :c2059, :c2060, :c2061, :c2062, :c2063, :c2064, :c2065, :c2066, :c2067, :c2068, :c2069, :c2070, :c2071, :c2072, :c2073, :c2074, :c2075, :c2076, :c2077, :c2078, :c2079, :c2080, :c2081, :c2082, :c2083, :c2084, :c2085, :c2086, :c2087, :c2088, :c2089, :c2090, :c2091, :c2092, :c2093, :c2094, :c2095, :c2096, :c2097, :c2098, :c2099, :c2100, :c2101, :c2102, :c2103, :c2104, :c2105, :c2106, :c2107, :c2108, :c2109, :c2110, :c2111, :c2112, :c2113, :c2114, :c2115, :c2116, :c2117, :c2118, :c2119, :c2120, :c2121, :c2122, :c2123, :c2124, :c2125, :c2126, :c2127, :c2128, :c2129, :c2130, :c2131, :c2132, :c2133, :c2134, :c2135, :c2136, :c2137, :c2138, :c2139, :c2140, :c2141, :c2142, :c2143, :c2144, :c2145, :c2146, :c2147, :c2148, :c2149, :c2150, :c2151, :c2152, :c2153, :c2154, :c2155, :c2156, :c2157, :c2158, :c2159, :c2160, :c2161, :c2162, :c2163, :c2164, :c2165, :c2166, :c2167, :c2168, :c2169, :c2170, :c2171, :c2172, :c2173, :c2174, :c2175, :c2176, :c2177, :c2178, :c2179, :c2180, :c2181, :c2182, :c2183, :c2184, :c2185, :c2186, :c2187, :c2188, :c2189, :c2190, :c2191, :c2192, :c2193, :c2194, :c2195, :c2196, :c2197, :c2198, :c2199, :c2200, :c2201, :c2202, :c2203, :c2204, :c2205, :c2206, :c2207, :c2208, :c2209, :c2210, :c2211, :c2212, :c2213, :c2214, :c2215, :c2216, :c2217, :c2218, :c2219, :c2220, :c2221, :c2222, :c2223, :c2224, :c2225, :c2226, :c2227, :c2228, :c2229, :c2230, :c2231, :c2232, :c2233, :c2234, :c2235, :c2236, :c2237, :c2238, :c2239, :c2240, :c2241, :c2242, :c2243, :c2244, :c2245, :c2246, :c2247, :c2248, :c2249, :c2250, :c2251, :c2252, :c2253, :c2254, :c2255, :c2256, :c2257, :c2258, :c2259, :c2260, :c2261, :c2262, :c2263, :c2264, :c2265, :c2266, :c2267, :c2268, :c2269, :c2270, :c2271, :c2272, :c2273, :c2274, :c2275, :c2276, :c2277, :c2278, :c2279, :c2280, :c2281, :c2282, :c2283, :c2284, :c2285, :c2286, :c2287, :c2288, :c2289, :c2290, :c2291, :c2292, :c2293, :c2294, :c2295, :c2296, :c2297, :c2298, :c2299, :c2300, :c2301, :c2302, :c2303, :c2304, :c2305, :c2306, :c2307, :c2308, :c2309, :c2310, :c2311, :c2312, :c2313, :c2314, :c2315, :c2316, :c2317, :c2318, :c2319, :c2320, :c2321, :c2322, :c2323, :c2324, :c2325, :c2326, :c2327, :c2328, :c2329, :c2330, :c2331, :c2332, :c2333, :c2334, :c2335, :c2336, :c2337, :c2338, :c2339, :c2340, :c2341, :c2342, :c2343, :c2344, :c2345, :c2346, :c2347, :c2348, :c2349, :c2350, :c2351, :c2352, :c2353, :c2354, :c2355, :c2356, :c2357, :c2358, :c2359, :c2360, :c2361, :c2362, :c2363, :c2364, :c2365, :c2366, :c2367, :c2368, :c2369, :c2370, :c2371, :c2372, :c2373, :c2374, :c2375, :c2376, :c2377, :c2378, :c2379, :c2380, :c2381, :c2382, :c2383, :c2384, :c2385, :c2386, :c2387, :c2388, :c2389, :c2390, :c2391, :c2392, :c2393, :c2394, :c2395, :c2396, :c2397, :c2398, :c2399, :c2400, :c2401, :c2402, :c2403, :c2404, :c2405, :c2406, :c2407, :c2408, :c2409, :c2410, :c2411, :c2412, :c2413, :c2414, :c2415, :c2416, :c2417, :c2418, :c2419, :c2420, :c2421, :c2422, :c2423, :c2424, :c2425, :c2426, :c2427, :c2428, :c2429, :c2430, :c2431, :c2432, :c2433, :c2434, :c2435, :c2436, :c2437, :c2438, :c2439, :c2440, :c2441, :c2442, :c2443, :c2444, :c2445, :c2446, :c2447, :c2448, :c2449, :c2450, :c2451, :c2452, :c2453, :c2454, :c2455, :c2456, :c2457, :c2458, :c2459, :c2460, :c2461, :c2462, :c2463, :c2464, :c2465, :c2466, :c2467, :c2468, :c2469, :c2470, :c2471, :c2472, :c2473, :c2474, :c2475, :c2476, :c2477, :c2478, :c2479, :c2480, :c2481, :c2482, :c2483, :c2484, :c2485, :c2486, :c2487, :c2488, :c2489, :c2490, :c2491, :c2492, :c2493, :c2494, :c2495, :c2496, :c2497, :c2498, :c2499, :c2500, :c2501, :c2502, :c2503, :c2504, :c2505, :c2506, :c2507, :c2508, :c2509, :c2510, :c2511, :c2512, :c2513, :c2514, :c2515, :c2516, :c2517, :c2518, :c2519, :c2520, :c2521, :c2522, :c2523, :c2524, :c2525, :c2526, :c2527, :c2528, :c2529, :c2530, :c2531, :c2532, :c2533, :c2534, :c2535, :c2536, :c2537, :c2538, :c2539, :c2540, :c2541, :c2542, :c2543, :c2544, :c2545, :c2546, :c2547, :c2548, :c2549, :c2550, :c2551, :c2552, :c2553, :c2554, :c2555, :c2556, :c2557, :c2558, :c2559, :c2560, :c2561, :c2562, :c2563, :c2564, :c2565, :c2566, :c2567, :c2568, :c2569, :c2570, :c2571, :c2572, :c2573, :c2574, :c2575, :c2576, :c2577, :c2578, :c2579, :c2580, :c2581, :c2582, :c2583, :c2584, :c2585, :c2586, :c2587, :c2588, :c2589, :c2590, :c2591, :c2592, :c2593, :c2594, :c2595, :c2596, :c2597, :c2598, :c2599, :c2600, :c2601, :c2602, :c2603, :c2604, :c2605, :c2606, :c2607, :c2608, :c2609, :c2610, :c2611, :c2612, :c2613, :c2614, :c2615, :c2616, :c2617, :c2618, :c2619, :c2620, :c2621, :c2622, :c2623, :c2624, :c2625, :c2626, :c2627, :c2628, :c2629, :c2630, :c2631, :c2632, :c2633, :c2634, :c2635, :c2636, :c2637, :c2638, :c2639, :c2640, :c2641, :c2642, :c2643, :c2644, :c2645, :c2646, :c2647, :c2648, :c2649, :c2650, :c2651, :c2652, :c2653, :c2654, :c2655, :c2656, :c2657, :c2658, :c2659, :c2660, :c2661, :c2662, :c2663, :c2664, :c2665, :c2666, :c2667, :c2668, :c2669, :c2670, :c2671, :c2672, :c2673, :c2674, :c2675, :c2676, :c2677, :c2678, :c2679, :c2680, :c2681, :c2682, :c2683, :c2684, :c2685, :c2686, :c2687, :c2688, :c2689, :c2690, :c2691, :c2692, :c2693, :c2694, :c2695, :c2696, :c2697, :c2698, :c2699, :c2700, :c2701, :c2702, :c2703, :c2704, :c2705, :c2706, :c2707, :c2708, :c2709, :c2710, :c2711, :c2712, :c2713, :c2714, :c2715, :c2716, :c2717, :c2718, :c2719, :c2720, :c2721, :c2722, :c2723, :c2724, :c2725, :c2726, :c2727, :c2728, :c2729, :c2730, :c2731, :c2732, :c2733, :c2734, :c2735, :c2736, :c2737, :c2738, :c2739, :c2740, :c2741, :c2742, :c2743, :c2744, :c2745, :c2746, :c2747, :c2748, :c2749, :c2750, :c2751, :c2752, :c2753, :c2754, :c2755, :c2756, :c2757, :c2758, :c2759, :c2760, :c2761, :c2762, :c2763, :c2764, :c2765, :c2766, :c2767, :c2768, :c2769, :c2770, :c2771, :c2772, :c2773, :c2774, :c2775, :c2776, :c2777, :c2778, :c2779, :c2780, :c2781, :c2782, :c2783, :c2784, :c2785, :c2786, :c2787, :c2788, :c2789, :c2790, :c2791, :c2792, :c2793, :c2794, :c2795, :c2796, :c2797, :c2798, :c2799, :c2800, :c2801, :c2802, :c2803, :c2804, :c2805, :c2806, :c2807, :c2808, :c2809, :c2810, :c2811, :c2812, :c2813, :c2814, :c2815, :c2816, :c2817, :c2818, :c2819, :c2820, :c2821, :c2822, :c2823, :c2824, :c2825, :c2826, :c2827, :c2828, :c2829, :c2830, :c2831, :c2832, :c2833, :c2834, :c2835, :c2836, :c2837, :c2838, :c2839, :c2840, :c2841, :c2842, :c2843, :c2844, :c2845, :c2846, :c2847, :c2848, :c2849, :c2850, :c2851, :c2852, :c2853, :c2854, :c2855, :c2856, :c2857, :c2858, :c2859, :c2860, :c2861, :c2862, :c2863, :c2864, :c2865, :c2866, :c2867, :c2868, :c2869, :c2870, :c2871, :c2872, :c2873, :c2874, :c2875, :c2876, :c2877, :c2878, :c2879, :c2880, :c2881, :c2882, :c2883, :c2884, :c2885, :c2886, :c2887, :c2888, :c2889, :c2890, :c2891, :c2892, :c2893, :c2894, :c2895, :c2896, :c2897, :c2898, :c2899, :c2900, :c2901, :c2902, :c2903, :c2904, :c2905, :c2906, :c2907, :c2908, :c2909, :c2910, :c2911, :c2912, :c2913, :c2914, :c2915, :c2916, :c2917, :c2918, :c2919, :c2920, :c2921, :c2922, :c2923, :c2924, :c2925, :c2926, :c2927, :c2928, :c2929, :c2930, :c2931, :c2932, :c2933, :c2934, :c2935, :c2936, :c2937, :c2938, :c2939, :c2940, :c2941, :c2942, :c2943, :c2944, :c2945, :c2946, :c2947, :c2948, :c2949, :c2950, :c2951, :c2952, :c2953, :c2954, :c2955, :c2956, :c2957, :c2958, :c2959, :c2960, :c2961, :c2962, :c2963, :c2964, :c2965, :c2966, :c2967, :c2968, :c2969, :c2970, :c2971, :c2972, :c2973, :c2974, :c2975, :c2976, :c2977, :c2978, :c2979, :c2980, :c2981, :c2982, :c2983, :c2984, :c2985, :c2986, :c2987, :c2988, :c2989, :c2990, :c2991, :c2992, :c2993, :c2994, :c2995, :c2996, :c2997, :c2998, :c2999, :c3000, :c3001, :c3002, :c3003, :c3004, :c3005, :c3006, :c3007, :c3008, :c3009, :c3010, :c3011, :c3012, :c3013, :c3014, :c3015, :c3016, :c3017, :c3018, :c3019, :c3020, :c3021, :c3022, :c3023, :c3024, :c3025, :c3026, :c3027, :c3028, :c3029, :c3030, :c3031, :c3032, :c3033, :c3034, :c3035, :c3036, :c3037, :c3038, :c3039, :c3040, :c3041, :c3042, :c3043, :c3044, :c3045, :c3046, :c3047, :c3048, :c3049, :c3050, :c3051, :c3052, :c3053, :c3054, :c3055, :c3056, :c3057, :c3058, :c3059, :c3060, :c3061, :c3062, :c3063, :c3064, :c3065, :c3066, :c3067, :c3068, :c3069, :c3070, :c3071, :c3072, :c3073, :c3074, :c3075, :c3076, :c3077, :c3078, :c3079, :c3080, :c3081, :c3082, :c3083, :c3084, :c3085, :c3086, :c3087, :c3088, :c3089, :c3090, :c3091, :c3092, :c3093, :c3094, :c3095, :c3096, :c3097, :c3098, :c3099, :c3100, :c3101, :c3102, :c3103, :c3104, :c3105, :c3106, :c3107, :c3108, :c3109, :c3110, :c3111, :c3112, :c3113, :c3114, :c3115, :c3116, :c3117, :c3118, :c3119, :c3120, :c3121, :c3122, :c3123, :c3124, :c3125, :c3126, :c3127, :c3128, :c3129, :c3130, :c3131, :c3132, :c3133, :c3134, :c3135, :c3136, :c3137, :c3138, :c3139, :c3140, :c3141, :c3142, :c3143, :c3144, :c3145, :c3146, :c3147, :c3148, :c3149, :c3150, :c3151, :c3152, :c3153, :c3154, :c3155, :c3156, :c3157, :c3158, :c3159, :c3160, :c3161, :c3162, :c3163, :c3164, :c3165, :c3166, :c3167, :c3168, :c3169, :c3170, :c3171, :c3172, :c3173, :c3174, :c3175, :c3176, :c3177, :c3178, :c3179, :c3180, :c3181, :c3182, :c3183, :c3184, :c3185, :c3186, :c3187, :c3188, :c3189, :c3190, :c3191, :c3192, :c3193, :c3194, :c3195, :c3196, :c3197, :c3198, :c3199, :c3200, :c3201, :c3202, :c3203, :c3204, :c3205, :c3206, :c3207, :c3208, :c3209, :c3210, :c3211, :c3212, :c3213, :c3214, :c3215, :c3216, :c3217, :c3218, :c3219, :c3220, :c3221, :c3222, :c3223, :c3224, :c3225, :c3226, :c3227, :c3228, :c3229, :c3230, :c3231, :c3232, :c3233, :c3234, :c3235, :c3236, :c3237, :c3238, :c3239, :c3240, :c3241, :c3242, :c3243, :c3244, :c3245, :c3246, :c3247, :c3248, :c3249, :c3250, :c3251, :c3252, :c3253, :c3254, :c3255, :c3256, :c3257, :c3258, :c3259, :c3260, :c3261, :c3262, :c3263, :c3264, :c3265, :c3266, :c3267, :c3268, :c3269, :c3270, :c3271, :c3272, :c3273, :c3274, :c3275, :c3276, :c3277, :c3278, :c3279, :c3280, :c3281, :c3282, :c3283, :c3284, :c3285, :c3286, :c3287, :c3288, :c3289, :c3290, :c3291, :c3292, :c3293, :c3294, :c3295, :c3296, :c3297, :c3298, :c3299, :c3300, :c3301, :c3302, :c3303, :c3304, :c3305, :c3306, :c3307, :c3308, :c3309, :c3310, :c3311, :c3312, :c3313, :c3314, :c3315, :c3316, :c3317, :c3318, :c3319, :c3320, :c3321, :c3322, :c3323, :c3324, :c3325, :c3326, :c3327, :c3328, :c3329, :c3330, :c3331, :c3332, :c3333, :c3334, :c3335, :c3336, :c3337, :c3338, :c3339, :c3340, :c3341, :c3342, :c3343, :c3344, :c3345, :c3346, :c3347, :c3348, :c3349, :c3350, :c3351, :c3352, :c3353, :c3354, :c3355, :c3356, :c3357, :c3358, :c3359, :c3360, :c3361, :c3362, :c3363, :c3364, :c3365, :c3366, :c3367, :c3368, :c3369, :c3370, :c3371, :c3372, :c3373, :c3374, :c3375, :c3376, :c3377, :c3378, :c3379, :c3380, :c3381, :c3382, :c3383, :c3384, :c3385, :c3386, :c3387, :c3388, :c3389, :c3390, :c3391, :c3392, :c3393, :c3394, :c3395, :c3396, :c3397, :c3398, :c3399, :c3400, :c3401, :c3402, :c3403, :c3404, :c3405, :c3406, :c3407, :c3408, :c3409, :c3410, :c3411, :c3412, :c3413, :c3414, :c3415, :c3416, :c3417, :c3418, :c3419, :c3420, :c3421, :c3422, :c3423, :c3424, :c3425, :c3426, :c3427, :c3428, :c3429, :c3430, :c3431, :c3432, :c3433, :c3434, :c3435, :c3436, :c3437, :c3438, :c3439, :c3440, :c3441, :c3442, :c3443, :c3444, :c3445, :c3446, :c3447, :c3448, :c3449, :c3450, :c3451, :c3452, :c3453, :c3454, :c3455, :c3456, :c3457, :c3458, :c3459, :c3460, :c3461, :c3462, :c3463, :c3464, :c3465, :c3466, :c3467, :c3468, :c3469, :c3470, :c3471, :c3472, :c3473, :c3474, :c3475, :c3476, :c3477, :c3478, :c3479, :c3480, :c3481, :c3482, :c3483, :c3484, :c3485, :c3486, :c3487, :c3488, :c3489, :c3490, :c3491, :c3492, :c3493, :c3494, :c3495, :c3496, :c3497, :c3498, :c3499, :c3500, :c3501, :c3502, :c3503, :c3504, :c3505, :c3506, :c3507, :c3508, :c3509, :c3510, :c3511, :c3512, :c3513, :c3514, :c3515, :c3516, :c3517, :c3518, :c3519, :c3520, :c3521, :c3522, :c3523, :c3524, :c3525, :c3526, :c3527, :c3528, :c3529, :c3530, :c3531, :c3532, :c3533, :c3534, :c3535, :c3536, :c3537, :c3538, :c3539, :c3540, :c3541, :c3542, :c3543, :c3544, :c3545, :c3546, :c3547, :c3548, :c3549, :c3550, :c3551, :c3552, :c3553, :c3554, :c3555, :c3556, :c3557, :c3558, :c3559, :c3560, :c3561, :c3562, :c3563, :c3564, :c3565, :c3566, :c3567, :c3568, :c3569, :c3570, :c3571, :c3572, :c3573, :c3574, :c3575, :c3576, :c3577, :c3578, :c3579, :c3580, :c3581, :c3582, :c3583, :c3584, :c3585, :c3586, :c3587, :c3588, :c3589, :c3590, :c3591, :c3592, :c3593, :c3594, :c3595, :c3596, :c3597, :c3598, :c3599, :c3600, :c3601, :c3602, :c3603, :c3604, :c3605, :c3606, :c3607, :c3608, :c3609, :c3610, :c3611, :c3612, :c3613, :c3614, :c3615, :c3616, :c3617, :c3618, :c3619, :c3620, :c3621, :c3622, :c3623, :c3624, :c3625, :c3626, :c3627, :c3628, :c3629, :c3630, :c3631, :c3632, :c3633, :c3634, :c3635, :c3636, :c3637, :c3638, :c3639, :c3640, :c3641, :c3642, :c3643, :c3644, :c3645, :c3646, :c3647, :c3648, :c3649, :c3650, :c3651, :c3652, :c3653, :c3654, :c3655, :c3656, :c3657, :c3658, :c3659, :c3660, :c3661, :c3662, :c3663, :c3664, :c3665, :c3666, :c3667, :c3668, :c3669, :c3670, :c3671, :c3672, :c3673, :c3674, :c3675, :c3676, :c3677, :c3678, :c3679, :c3680, :c3681, :c3682, :c3683, :c3684, :c3685, :c3686, :c3687, :c3688, :c3689, :c3690, :c3691, :c3692, :c3693, :c3694, :c3695, :c3696, :c3697, :c3698, :c3699, :c3700, :c3701, :c3702, :c3703, :c3704, :c3705, :c3706, :c3707, :c3708, :c3709, :c3710, :c3711, :c3712, :c3713, :c3714, :c3715, :c3716, :c3717, :c3718, :c3719, :c3720, :c3721, :c3722, :c3723, :c3724, :c3725, :c3726, :c3727, :c3728, :c3729, :c3730, :c3731, :c3732, :c3733, :c3734, :c3735, :c3736, :c3737, :c3738, :c3739, :c3740, :c3741, :c3742, :c3743, :c3744, :c3745, :c3746, :c3747, :c3748, :c3749, :c3750, :c3751, :c3752, :c3753, :c3754, :c3755, :c3756, :c3757, :c3758, :c3759, :c3760, :c3761, :c3762, :c3763, :c3764, :c3765, :c3766, :c3767, :c3768, :c3769, :c3770, :c3771, :c3772, :c3773, :c3774, :c3775, :c3776, :c3777, :c3778, :c3779, :c3780, :c3781, :c3782, :c3783, :c3784, :c3785, :c3786, :c3787, :c3788, :c3789, :c3790, :c3791, :c3792, :c3793, :c3794, :c3795, :c3796, :c3797, :c3798, :c3799, :c3800, :c3801, :c3802, :c3803, :c3804, :c3805, :c3806, :c3807, :c3808, :c3809, :c3810, :c3811, :c3812, :c3813, :c3814, :c3815, :c3816, :c3817, :c3818, :c3819, :c3820, :c3821, :c3822, :c3823, :c3824, :c3825, :c3826, :c3827, :c3828, :c3829, :c3830, :c3831, :c3832, :c3833, :c3834, :c3835, :c3836, :c3837, :c3838, :c3839, :c3840, :c3841, :c3842, :c3843, :c3844, :c3845, :c3846, :c3847, :c3848, :c3849, :c3850, :c3851, :c3852, :c3853, :c3854, :c3855, :c3856, :c3857, :c3858, :c3859, :c3860, :c3861, :c3862, :c3863, :c3864, :c3865, :c3866, :c3867, :c3868, :c3869, :c3870, :c3871, :c3872, :c3873, :c3874, :c3875, :c3876, :c3877, :c3878, :c3879, :c3880, :c3881, :c3882, :c3883, :c3884, :c3885, :c3886, :c3887, :c3888, :c3889, :c3890, :c3891, :c3892, :c3893, :c3894, :c3895, :c3896, :c3897, :c3898, :c3899, :c3900, :c3901, :c3902, :c3903, :c3904, :c3905, :c3906, :c3907, :c3908, :c3909, :c3910, :c3911, :c3912, :c3913, :c3914, :c3915, :c3916, :c3917, :c3918, :c3919, :c3920, :c3921, :c3922, :c3923, :c3924, :c3925, :c3926, :c3927, :c3928, :c3929, :c3930, :c3931, :c3932, :c3933, :c3934, :c3935, :c3936, :c3937, :c3938, :c3939, :c3940, :c3941, :c3942, :c3943, :c3944, :c3945, :c3946, :c3947, :c3948, :c3949, :c3950, :c3951, :c3952, :c3953, :c3954, :c3955, :c3956, :c3957, :c3958, :c3959, :c3960, :c3961, :c3962, :c3963, :c3964, :c3965, :c3966, :c3967, :c3968, :c3969, :c3970, :c3971, :c3972, :c3973, :c3974, :c3975, :c3976, :c3977, :c3978, :c3979, :c3980, :c3981, :c3982, :c3983, :c3984, :c3985, :c3986, :c3987, :c3988, :c3989, :c3990, :c3991, :c3992, :c3993, :c3994, :c3995, :c3996, :c3997, :c3998, :c3999, :c4000, :c4001, :c4002, :c4003, :c4004, :c4005, :c4006, :c4007, :c4008, :c4009, :c4010, :c4011, :c4012, :c4013, :c4014, :c4015, :c4016, :c4017, :c4018, :c4019, :c4020, :c4021, :c4022, :c4023, :c4024, :c4025, :c4026, :c4027, :c4028, :c4029, :c4030, :c4031, :c4032, :c4033, :c4034, :c4035, :c4036, :c4037, :c4038, :c4039, :c4040, :c4041, :c4042, :c4043, :c4044, :c4045, :c4046, :c4047, :c4048, :c4049, :c4050, :c4051, :c4052, :c4053, :c4054, :c4055, :c4056, :c4057, :c4058, :c4059, :c4060, :c4061, :c4062, :c4063, :c4064, :c4065, :c4066, :c4067, :c4068, :c4069, :c4070, :c4071, :c4072, :c4073, :c4074, :c4075, :c4076, :c4077, :c4078, :c4079, :c4080, :c4081, :c4082, :c4083, :c4084, :c4085, :c4086, :c4087, :c4088, :c4089, :c4090, :c4091, :c4092, :c4093, :c4094, :c4095, :c4096, :c4097, :c4098, :c4099, :c4100, :c4101, :c4102, :c4103, :c4104, :c4105, :c4106, :c4107, :c4108, :c4109, :c4110, :c4111, :c4112, :c4113, :c4114, :c4115, :c4116, :c4117, :c4118, :c4119, :c4120, :c4121, :c4122, :c4123, :c4124, :c4125, :c4126, :c4127, :c4128, :c4129, :c4130, :c4131, :c4132, :c4133, :c4134, :c4135, :c4136, :c4137, :c4138, :c4139, :c4140, :c4141, :c4142, :c4143, :c4144, :c4145, :c4146, :c4147, :c4148, :c4149, :c4150, :c4151, :c4152, :c4153, :c4154, :c4155, :c4156, :c4157, :c4158, :c4159, :c4160, :c4161, :c4162, :c4163, :c4164, :c4165, :c4166, :c4167, :c4168, :c4169, :c4170, :c4171, :c4172, :c4173, :c4174, :c4175, :c4176, :c4177, :c4178, :c4179, :c4180, :c4181, :c4182, :c4183, :c4184, :c4185, :c4186, :c4187, :c4188, :c4189, :c4190, :c4191, :c4192, :c4193, :c4194, :c4195, :c4196, :c4197, :c4198, :c4199, :c4200, :c4201, :c4202, :c4203, :c4204, :c4205, :c4206, :c4207, :c4208, :c4209, :c4210, :c4211, :c4212, :c4213, :c4214, :c4215, :c4216, :c4217, :c4218, :c4219, :c4220, :c4221, :c4222, :c4223, :c4224, :c4225, :c4226, :c4227, :c4228, :c4229, :c4230, :c4231, :c4232, :c4233, :c4234, :c4235, :c4236, :c4237, :c4238, :c4239, :c4240, :c4241, :c4242, :c4243, :c4244, :c4245, :c4246, :c4247, :c4248, :c4249, :c4250, :c4251, :c4252, :c4253, :c4254, :c4255, :c4256, :c4257, :c4258, :c4259, :c4260, :c4261, :c4262, :c4263, :c4264, :c4265, :c4266, :c4267, :c4268, :c4269, :c4270, :c4271, :c4272, :c4273, :c4274, :c4275, :c4276, :c4277, :c4278, :c4279, :c4280, :c4281, :c4282, :c4283, :c4284, :c4285, :c4286, :c4287, :c4288, :c4289, :c4290, :c4291, :c4292, :c4293, :c4294, :c4295, :c4296, :c4297, :c4298, :c4299, :c4300, :c4301, :c4302, :c4303, :c4304, :c4305, :c4306, :c4307, :c4308, :c4309, :c4310, :c4311, :c4312, :c4313, :c4314, :c4315, :c4316, :c4317, :c4318, :c4319, :c4320, :c4321, :c4322, :c4323, :c4324, :c4325, :c4326, :c4327, :c4328, :c4329, :c4330, :c4331, :c4332, :c4333, :c4334, :c4335, :c4336, :c4337, :c4338, :c4339, :c4340, :c4341, :c4342, :c4343, :c4344, :c4345, :c4346, :c4347, :c4348, :c4349, :c4350, :c4351, :c4352, :c4353, :c4354, :c4355, :c4356, :c4357, :c4358, :c4359, :c4360, :c4361, :c4362, :c4363, :c4364, :c4365, :c4366, :c4367, :c4368, :c4369, :c4370, :c4371, :c4372, :c4373, :c4374, :c4375, :c4376, :c4377, :c4378, :c4379, :c4380, :c4381, :c4382, :c4383, :c4384, :c4385, :c4386, :c4387, :c4388, :c4389, :c4390, :c4391, :c4392, :c4393, :c4394, :c4395, :c4396, :c4397, :c4398, :c4399, :c4400, :c4401, :c4402, :c4403, :c4404, :c4405, :c4406, :c4407, :c4408, :c4409, :c4410, :c4411, :c4412, :c4413, :c4414, :c4415, :c4416, :c4417, :c4418, :c4419, :c4420, :c4421, :c4422, :c4423, :c4424, :c4425, :c4426, :c4427, :c4428, :c4429, :c4430, :c4431, :c4432, :c4433, :c4434, :c4435, :c4436, :c4437, :c4438, :c4439, :c4440, :c4441, :c4442, :c4443, :c4444, :c4445, :c4446, :c4447, :c4448, :c4449, :c4450, :c4451, :c4452, :c4453, :c4454, :c4455, :c4456, :c4457, :c4458, :c4459, :c4460, :c4461, :c4462, :c4463, :c4464, :c4465, :c4466, :c4467, :c4468, :c4469, :c4470, :c4471, :c4472, :c4473, :c4474, :c4475, :c4476, :c4477, :c4478, :c4479, :c4480, :c4481, :c4482, :c4483, :c4484, :c4485, :c4486, :c4487, :c4488, :c4489, :c4490, :c4491, :c4492, :c4493, :c4494, :c4495, :c4496, :c4497, :c4498, :c4499, :c4500, :c4501, :c4502, :c4503, :c4504, :c4505, :c4506, :c4507, :c4508, :c4509, :c4510, :c4511, :c4512, :c4513, :c4514, :c4515, :c4516, :c4517, :c4518, :c4519, :c4520, :c4521, :c4522, :c4523, :c4524, :c4525, :c4526, :c4527, :c4528, :c4529, :c4530, :c4531, :c4532, :c4533, :c4534, :c4535, :c4536, :c4537, :c4538, :c4539, :c4540, :c4541, :c4542, :c4543, :c4544, :c4545, :c4546, :c4547, :c4548, :c4549, :c4550, :c4551, :c4552, :c4553, :c4554, :c4555, :c4556, :c4557, :c4558, :c4559, :c4560, :c4561, :c4562, :c4563, :c4564, :c4565, :c4566, :c4567, :c4568, :c4569, :c4570, :c4571, :c4572, :c4573, :c4574, :c4575, :c4576, :c4577, :c4578, :c4579, :c4580, :c4581, :c4582, :c4583, :c4584, :c4585, :c4586, :c4587, :c4588, :c4589, :c4590, :c4591, :c4592, :c4593, :c4594, :c4595, :c4596, :c4597, :c4598, :c4599, :c4600, :c4601, :c4602, :c4603, :c4604, :c4605, :c4606, :c4607, :c4608, :c4609, :c4610, :c4611, :c4612, :c4613, :c4614, :c4615, :c4616, :c4617, :c4618, :c4619, :c4620, :c4621, :c4622, :c4623, :c4624, :c4625, :c4626, :c4627, :c4628, :c4629, :c4630, :c4631, :c4632, :c4633, :c4634, :c4635, :c4636, :c4637, :c4638, :c4639, :c4640, :c4641, :c4642, :c4643, :c4644, :c4645, :c4646, :c4647, :c4648, :c4649, :c4650, :c4651, :c4652, :c4653, :c4654, :c4655, :c4656, :c4657, :c4658, :c4659, :c4660, :c4661, :c4662, :c4663, :c4664, :c4665, :c4666, :c4667, :c4668, :c4669, :c4670, :c4671, :c4672, :c4673, :c4674, :c4675, :c4676, :c4677, :c4678, :c4679, :c4680, :c4681, :c4682, :c4683, :c4684, :c4685, :c4686, :c4687, :c4688, :c4689, :c4690, :c4691, :c4692, :c4693, :c4694, :c4695, :c4696, :c4697, :c4698, :c4699, :c4700, :c4701, :c4702, :c4703, :c4704, :c4705, :c4706, :c4707, :c4708, :c4709, :c4710, :c4711, :c4712, :c4713, :c4714, :c4715, :c4716, :c4717, :c4718, :c4719, :c4720, :c4721, :c4722, :c4723, :c4724, :c4725, :c4726, :c4727, :c4728, :c4729, :c4730, :c4731, :c4732, :c4733, :c4734, :c4735, :c4736, :c4737, :c4738, :c4739, :c4740, :c4741, :c4742, :c4743, :c4744, :c4745, :c4746, :c4747, :c4748, :c4749, :c4750, :c4751, :c4752, :c4753, :c4754, :c4755, :c4756, :c4757, :c4758, :c4759, :c4760, :c4761, :c4762, :c4763, :c4764, :c4765, :c4766, :c4767, :c4768, :c4769, :c4770, :c4771, :c4772, :c4773, :c4774, :c4775, :c4776, :c4777, :c4778, :c4779, :c4780, :c4781, :c4782, :c4783, :c4784, :c4785, :c4786, :c4787, :c4788, :c4789, :c4790, :c4791, :c4792, :c4793, :c4794, :c4795, :c4796, :c4797, :c4798, :c4799, :c4800, :c4801, :c4802, :c4803, :c4804, :c4805, :c4806, :c4807, :c4808, :c4809, :c4810, :c4811, :c4812, :c4813, :c4814, :c4815, :c4816, :c4817, :c4818, :c4819, :c4820, :c4821, :c4822, :c4823, :c4824, :c4825, :c4826, :c4827, :c4828, :c4829, :c4830, :c4831, :c4832, :c4833, :c4834, :c4835, :c4836, :c4837, :c4838, :c4839, :c4840, :c4841, :c4842, :c4843, :c4844, :c4845, :c4846, :c4847, :c4848, :c4849, :c4850, :c4851, :c4852, :c4853, :c4854, :c4855, :c4856, :c4857, :c4858, :c4859, :c4860, :c4861, :c4862, :c4863, :c4864, :c4865, :c4866, :c4867, :c4868, :c4869, :c4870, :c4871, :c4872, :c4873, :c4874, :c4875, :c4876, :c4877, :c4878, :c4879, :c4880, :c4881, :c4882, :c4883, :c4884, :c4885, :c4886, :c4887, :c4888, :c4889, :c4890, :c4891, :c4892, :c4893, :c4894, :c4895, :c4896, :c4897, :c4898, :c4899, :c4900, :c4901, :c4902, :c4903, :c4904, :c4905, :c4906, :c4907, :c4908, :c4909, :c4910, :c4911, :c4912, :c4913, :c4914, :c4915, :c4916, :c4917, :c4918, :c4919, :c4920, :c4921, :c4922, :c4923, :c4924, :c4925, :c4926, :c4927, :c4928, :c4929, :c4930, :c4931, :c4932, :c4933, :c4934, :c4935, :c4936, :c4937, :c4938, :c4939, :c4940, :c4941, :c4942, :c4943, :c4944, :c4945, :c4946, :c4947, :c4948, :c4949, :c4950, :c4951, :c4952, :c4953, :c4954, :c4955, :c4956, :c4957, :c4958, :c4959, :c4960, :c4961, :c4962, :c4963, :c4964, :c4965, :c4966, :c4967, :c4968, :c4969, :c4970, :c4971, :c4972, :c4973, :c4974, :c4975, :c4976, :c4977, :c4978, :c4979, :c4980, :c4981, :c4982, :c4983, :c4984, :c4985, :c4986, :c4987, :c4988, :c4989, :c4990, :c4991, :c4992, :c4993, :c4994, :c4995, :c4996, :c4997, :c4998, :c4999, :c5000, :c5001, :c5002, :c5003, :c5004, :c5005, :c5006, :c5007, :c5008, :c5009, :c5010, :c5011, :c5012, :c5013, :c5014, :c5015, :c5016, :c5017, :c5018, :c5019, :c5020, :c5021, :c5022, :c5023, :c5024, :c5025, :c5026, :c5027, :c5028, :c5029, :c5030, :c5031, :c5032, :c5033, :c5034, :c5035, :c5036, :c5037, :c5038, :c5039, :c5040, :c5041, :c5042, :c5043, :c5044, :c5045, :c5046, :c5047, :c5048, :c5049, :c5050, :c5051, :c5052, :c5053, :c5054, :c5055, :c5056, :c5057, :c5058, :c5059, :c5060, :c5061, :c5062, :c5063, :c5064, :c5065, :c5066, :c5067, :c5068, :c5069, :c5070, :c5071, :c5072, :c5073, :c5074, :c5075, :c5076, :c5077, :c5078, :c5079, :c5080, :c5081, :c5082, :c5083, :c5084, :c5085, :c5086, :c5087, :c5088, :c5089, :c5090, :c5091, :c5092, :c5093, :c5094, :c5095, :c5096, :c5097, :c5098, :c5099, :c5100, :c5101, :c5102, :c5103, :c5104, :c5105, :c5106, :c5107, :c5108, :c5109, :c5110, :c5111, :c5112, :c5113, :c5114, :c5115, :c5116, :c5117, :c5118, :c5119, :c5120, :c5121, :c5122, :c5123, :c5124, :c5125, :c5126, :c5127, :c5128, :c5129, :c5130, :c5131, :c5132, :c5133, :c5134, :c5135, :c5136, :c5137, :c5138, :c5139, :c5140, :c5141, :c5142, :c5143, :c5144, :c5145, :c5146, :c5147, :c5148, :c5149, :c5150, :c5151, :c5152, :c5153, :c5154, :c5155, :c5156, :c5157, :c5158, :c5159, :c5160, :c5161, :c5162, :c5163, :c5164, :c5165, :c5166, :c5167, :c5168, :c5169, :c5170, :c5171, :c5172, :c5173, :c5174, :c5175, :c5176, :c5177, :c5178, :c5179, :c5180, :c5181, :c5182, :c5183, :c5184, :c5185, :c5186, :c5187, :c5188, :c5189, :c5190, :c5191, :c5192, :c5193, :c5194, :c5195, :c5196, :c5197, :c5198, :c5199, :c5200, :c5201, :c5202, :c5203, :c5204, :c5205, :c5206, :c5207, :c5208, :c5209, :c5210, :c5211, :c5212, :c5213, :c5214, :c5215, :c5216, :c5217, :c5218, :c5219, :c5220, :c5221, :c5222, :c5223, :c5224, :c5225, :c5226, :c5227, :c5228, :c5229, :c5230, :c5231, :c5232, :c5233, :c5234, :c5235, :c5236, :c5237, :c5238, :c5239, :c5240, :c5241, :c5242, :c5243, :c5244, :c5245, :c5246, :c5247, :c5248, :c5249, :c5250, :c5251, :c5252, :c5253, :c5254, :c5255, :c5256, :c5257, :c5258, :c5259, :c5260, :c5261, :c5262, :c5263, :c5264, :c5265, :c5266, :c5267, :c5268, :c5269, :c5270, :c5271, :c5272, :c5273, :c5274, :c5275, :c5276, :c5277, :c5278, :c5279, :c5280, :c5281, :c5282, :c5283, :c5284, :c5285, :c5286, :c5287, :c5288, :c5289, :c5290, :c5291, :c5292, :c5293, :c5294, :c5295, :c5296, :c5297, :c5298, :c5299, :c5300, :c5301, :c5302, :c5303, :c5304, :c5305, :c5306, :c5307, :c5308, :c5309, :c5310, :c5311, :c5312, :c5313, :c5314, :c5315, :c5316, :c5317, :c5318, :c5319, :c5320, :c5321, :c5322, :c5323, :c5324, :c5325, :c5326, :c5327, :c5328, :c5329, :c5330, :c5331, :c5332, :c5333, :c5334, :c5335, :c5336, :c5337, :c5338, :c5339, :c5340, :c5341, :c5342, :c5343, :c5344, :c5345, :c5346, :c5347, :c5348, :c5349, :c5350, :c5351, :c5352, :c5353, :c5354, :c5355, :c5356, :c5357, :c5358, :c5359, :c5360, :c5361, :c5362, :c5363, :c5364, :c5365, :c5366, :c5367, :c5368, :c5369, :c5370, :c5371, :c5372, :c5373, :c5374, :c5375, :c5376, :c5377, :c5378, :c5379, :c5380, :c5381, :c5382, :c5383, :c5384, :c5385, :c5386, :c5387, :c5388, :c5389, :c5390, :c5391, :c5392, :c5393, :c5394, :c5395, :c5396, :c5397, :c5398, :c5399, :c5400, :c5401, :c5402, :c5403, :c5404, :c5405, :c5406, :c5407, :c5408, :c5409, :c5410, :c5411, :c5412, :c5413, :c5414, :c5415, :c5416, :c5417, :c5418, :c5419, :c5420, :c5421, :c5422, :c5423, :c5424, :c5425, :c5426, :c5427, :c5428, :c5429, :c5430, :c5431, :c5432, :c5433, :c5434, :c5435, :c5436, :c5437, :c5438, :c5439, :c5440, :c5441, :c5442, :c5443, :c5444, :c5445, :c5446, :c5447, :c5448, :c5449, :c5450, :c5451, :c5452, :c5453, :c5454, :c5455, :c5456, :c5457, :c5458, :c5459, :c5460, :c5461, :c5462, :c5463, :c5464, :c5465, :c5466, :c5467, :c5468, :c5469, :c5470, :c5471, :c5472, :c5473, :c5474, :c5475, :c5476, :c5477, :c5478, :c5479, :c5480, :c5481, :c5482, :c5483, :c5484, :c5485, :c5486, :c5487, :c5488, :c5489, :c5490, :c5491, :c5492, :c5493, :c5494, :c5495, :c5496, :c5497, :c5498, :c5499, :c5500, :c5501, :c5502, :c5503, :c5504, :c5505, :c5506, :c5507, :c5508, :c5509, :c5510, :c5511, :c5512, :c5513, :c5514, :c5515, :c5516, :c5517, :c5518, :c5519, :c5520, :c5521, :c5522, :c5523, :c5524, :c5525, :c5526, :c5527, :c5528, :c5529, :c5530, :c5531, :c5532, :c5533, :c5534, :c5535, :c5536, :c5537, :c5538, :c5539, :c5540, :c5541, :c5542, :c5543, :c5544, :c5545, :c5546, :c5547, :c5548, :c5549, :c5550, :c5551, :c5552, :c5553, :c5554, :c5555, :c5556, :c5557, :c5558, :c5559, :c5560, :c5561, :c5562, :c5563, :c5564, :c5565, :c5566, :c5567, :c5568, :c5569, :c5570, :c5571, :c5572, :c5573, :c5574, :c5575, :c5576, :c5577, :c5578, :c5579, :c5580, :c5581, :c5582, :c5583, :c5584, :c5585, :c5586, :c5587, :c5588, :c5589, :c5590, :c5591, :c5592, :c5593, :c5594, :c5595, :c5596, :c5597, :c5598, :c5599, :c5600, :c5601, :c5602, :c5603, :c5604, :c5605, :c5606, :c5607, :c5608, :c5609, :c5610, :c5611, :c5612, :c5613, :c5614, :c5615, :c5616, :c5617, :c5618, :c5619, :c5620, :c5621, :c5622, :c5623, :c5624, :c5625, :c5626, :c5627, :c5628, :c5629, :c5630, :c5631, :c5632, :c5633, :c5634, :c5635, :c5636, :c5637, :c5638, :c5639, :c5640, :c5641, :c5642, :c5643, :c5644, :c5645, :c5646, :c5647, :c5648, :c5649, :c5650, :c5651, :c5652, :c5653, :c5654, :c5655, :c5656, :c5657, :c5658, :c5659, :c5660, :c5661, :c5662, :c5663, :c5664, :c5665, :c5666, :c5667, :c5668, :c5669, :c5670, :c5671, :c5672, :c5673, :c5674, :c5675, :c5676, :c5677, :c5678, :c5679, :c5680, :c5681, :c5682, :c5683, :c5684, :c5685, :c5686, :c5687, :c5688, :c5689, :c5690, :c5691, :c5692, :c5693, :c5694, :c5695, :c5696, :c5697, :c5698, :c5699, :c5700, :c5701, :c5702, :c5703, :c5704, :c5705, :c5706, :c5707, :c5708, :c5709, :c5710, :c5711, :c5712, :c5713, :c5714, :c5715, :c5716, :c5717, :c5718, :c5719, :c5720, :c5721, :c5722, :c5723, :c5724, :c5725, :c5726, :c5727, :c5728, :c5729, :c5730, :c5731, :c5732, :c5733, :c5734, :c5735, :c5736, :c5737, :c5738, :c5739, :c5740, :c5741, :c5742, :c5743, :c5744, :c5745, :c5746, :c5747, :c5748, :c5749, :c5750, :c5751, :c5752, :c5753, :c5754, :c5755, :c5756, :c5757, :c5758, :c5759, :c5760, :c5761, :c5762, :c5763, :c5764, :c5765, :c5766, :c5767, :c5768, :c5769, :c5770, :c5771, :c5772, :c5773, :c5774, :c5775, :c5776, :c5777, :c5778, :c5779, :c5780, :c5781, :c5782, :c5783, :c5784, :c5785, :c5786, :c5787, :c5788, :c5789, :c5790, :c5791, :c5792, :c5793, :c5794, :c5795, :c5796, :c5797, :c5798, :c5799, :c5800, :c5801, :c5802, :c5803, :c5804, :c5805, :c5806, :c5807, :c5808, :c5809, :c5810, :c5811, :c5812, :c5813, :c5814, :c5815, :c5816, :c5817, :c5818, :c5819, :c5820, :c5821, :c5822, :c5823, :c5824, :c5825, :c5826, :c5827, :c5828, :c5829, :c5830, :c5831, :c5832, :c5833, :c5834, :c5835, :c5836, :c5837, :c5838, :c5839, :c5840, :c5841, :c5842, :c5843, :c5844, :c5845, :c5846, :c5847, :c5848, :c5849, :c5850, :c5851, :c5852, :c5853, :c5854, :c5855, :c5856, :c5857, :c5858, :c5859, :c5860, :c5861, :c5862, :c5863, :c5864, :c5865, :c5866, :c5867, :c5868, :c5869, :c5870, :c5871, :c5872, :c5873, :c5874, :c5875, :c5876, :c5877, :c5878, :c5879, :c5880, :c5881, :c5882, :c5883, :c5884, :c5885, :c5886, :c5887, :c5888, :c5889, :c5890, :c5891, :c5892, :c5893, :c5894, :c5895, :c5896, :c5897, :c5898, :c5899, :c5900, :c5901, :c5902, :c5903, :c5904, :c5905, :c5906, :c5907, :c5908, :c5909, :c5910, :c5911, :c5912, :c5913, :c5914, :c5915, :c5916, :c5917, :c5918, :c5919, :c5920, :c5921, :c5922, :c5923, :c5924, :c5925, :c5926, :c5927, :c5928, :c5929, :c5930, :c5931, :c5932, :c5933, :c5934, :c5935, :c5936, :c5937, :c5938, :c5939, :c5940, :c5941, :c5942, :c5943, :c5944, :c5945, :c5946, :c5947, :c5948, :c5949, :c5950, :c5951, :c5952, :c5953, :c5954, :c5955, :c5956, :c5957, :c5958, :c5959, :c5960, :c5961, :c5962, :c5963, :c5964, :c5965, :c5966, :c5967, :c5968, :c5969, :c5970, :c5971, :c5972, :c5973, :c5974, :c5975, :c5976, :c5977, :c5978, :c5979, :c5980, :c5981, :c5982, :c5983, :c5984, :c5985, :c5986, :c5987, :c5988, :c5989, :c5990, :c5991, :c5992, :c5993, :c5994, :c5995, :c5996, :c5997, :c5998, :c5999, :c6000, :c6001, :c6002, :c6003, :c6004, :c6005, :c6006, :c6007, :c6008, :c6009, :c6010, :c6011, :c6012, :c6013, :c6014, :c6015, :c6016, :c6017, :c6018, :c6019, :c6020, :c6021, :c6022, :c6023, :c6024, :c6025, :c6026, :c6027, :c6028, :c6029, :c6030, :c6031, :c6032, :c6033, :c6034, :c6035, :c6036, :c6037, :c6038, :c6039, :c6040, :c6041, :c6042, :c6043, :c6044, :c6045, :c6046, :c6047, :c6048, :c6049, :c6050, :c6051, :c6052, :c6053, :c6054, :c6055, :c6056, :c6057, :c6058, :c6059, :c6060, :c6061, :c6062, :c6063, :c6064, :c6065, :c6066, :c6067, :c6068, :c6069, :c6070, :c6071, :c6072, :c6073, :c6074, :c6075, :c6076, :c6077, :c6078, :c6079, :c6080, :c6081, :c6082, :c6083, :c6084, :c6085, :c6086, :c6087, :c6088, :c6089, :c6090, :c6091, :c6092, :c6093, :c6094, :c6095, :c6096, :c6097, :c6098, :c6099, :c6100, :c6101, :c6102, :c6103, :c6104, :c6105, :c6106, :c6107, :c6108, :c6109, :c6110, :c6111, :c6112, :c6113, :c6114, :c6115, :c6116, :c6117, :c6118, :c6119, :c6120, :c6121, :c6122, :c6123, :c6124, :c6125, :c6126, :c6127, :c6128, :c6129, :c6130, :c6131, :c6132, :c6133, :c6134, :c6135, :c6136, :c6137, :c6138, :c6139, :c6140, :c6141, :c6142, :c6143, :c6144, :c6145, :c6146, :c6147, :c6148, :c6149, :c6150, :c6151, :c6152, :c6153, :c6154, :c6155, :c6156, :c6157, :c6158, :c6159, :c6160, :c6161, :c6162, :c6163, :c6164, :c6165, :c6166, :c6167, :c6168, :c6169, :c6170, :c6171, :c6172, :c6173, :c6174, :c6175, :c6176, :c6177, :c6178, :c6179, :c6180, :c6181, :c6182, :c6183, :c6184, :c6185, :c6186, :c6187, :c6188, :c6189, :c6190, :c6191, :c6192, :c6193, :c6194, :c6195, :c6196, :c6197, :c6198, :c6199, :c6200, :c6201, :c6202, :c6203, :c6204, :c6205, :c6206, :c6207, :c6208, :c6209, :c6210, :c6211, :c6212, :c6213, :c6214, :c6215, :c6216, :c6217, :c6218, :c6219, :c6220, :c6221, :c6222, :c6223, :c6224, :c6225, :c6226, :c6227, :c6228, :c6229, :c6230, :c6231, :c6232, :c6233, :c6234, :c6235, :c6236, :c6237, :c6238, :c6239, :c6240, :c6241, :c6242, :c6243, :c6244, :c6245, :c6246, :c6247, :c6248, :c6249, :c6250, :c6251, :c6252, :c6253, :c6254, :c6255, :c6256, :c6257, :c6258, :c6259, :c6260, :c6261, :c6262, :c6263, :c6264, :c6265, :c6266, :c6267, :c6268, :c6269, :c6270, :c6271, :c6272, :c6273, :c6274, :c6275, :c6276, :c6277, :c6278, :c6279, :c6280, :c6281, :c6282, :c6283, :c6284, :c6285, :c6286, :c6287, :c6288, :c6289, :c6290, :c6291, :c6292, :c6293, :c6294, :c6295, :c6296, :c6297, :c6298, :c6299, :c6300, :c6301, :c6302, :c6303, :c6304, :c6305, :c6306, :c6307, :c6308, :c6309, :c6310, :c6311, :c6312, :c6313, :c6314, :c6315, :c6316, :c6317, :c6318, :c6319, :c6320, :c6321, :c6322, :c6323, :c6324, :c6325, :c6326, :c6327, :c6328, :c6329, :c6330, :c6331, :c6332, :c6333, :c6334, :c6335, :c6336, :c6337, :c6338, :c6339, :c6340, :c6341, :c6342, :c6343, :c6344, :c6345, :c6346, :c6347, :c6348, :c6349, :c6350, :c6351, :c6352, :c6353, :c6354, :c6355, :c6356, :c6357, :c6358, :c6359, :c6360, :c6361, :c6362, :c6363, :c6364, :c6365, :c6366, :c6367, :c6368, :c6369, :c6370, :c6371, :c6372, :c6373, :c6374, :c6375, :c6376, :c6377, :c6378, :c6379, :c6380, :c6381, :c6382, :c6383, :c6384, :c6385, :c6386, :c6387, :c6388, :c6389, :c6390, :c6391, :c6392, :c6393, :c6394, :c6395, :c6396, :c6397, :c6398, :c6399, :c6400, :c6401, :c6402, :c6403, :c6404, :c6405, :c6406, :c6407, :c6408, :c6409, :c6410, :c6411, :c6412, :c6413, :c6414, :c6415, :c6416, :c6417, :c6418, :c6419, :c6420, :c6421, :c6422, :c6423, :c6424, :c6425, :c6426, :c6427, :c6428, :c6429, :c6430, :c6431, :c6432, :c6433, :c6434, :c6435, :c6436, :c6437, :c6438, :c6439, :c6440, :c6441, :c6442, :c6443, :c6444, :c6445, :c6446, :c6447, :c6448, :c6449, :c6450, :c6451, :c6452, :c6453, :c6454, :c6455, :c6456, :c6457, :c6458, :c6459, :c6460, :c6461, :c6462, :c6463, :c6464, :c6465, :c6466, :c6467, :c6468, :c6469, :c6470, :c6471, :c6472, :c6473, :c6474, :c6475, :c6476, :c6477, :c6478, :c6479, :c6480, :c6481, :c6482, :c6483, :c6484, :c6485, :c6486, :c6487, :c6488, :c6489, :c6490, :c6491, :c6492, :c6493, :c6494, :c6495, :c6496, :c6497, :c6498, :c6499, :c6500, :c6501, :c6502, :c6503, :c6504, :c6505, :c6506, :c6507, :c6508, :c6509, :c6510, :c6511, :c6512, :c6513, :c6514, :c6515, :c6516, :c6517, :c6518, :c6519, :c6520, :c6521, :c6522, :c6523, :c6524, :c6525, :c6526, :c6527, :c6528, :c6529, :c6530, :c6531, :c6532, :c6533, :c6534, :c6535, :c6536, :c6537, :c6538, :c6539, :c6540, :c6541, :c6542, :c6543, :c6544, :c6545, :c6546, :c6547, :c6548, :c6549, :c6550, :c6551, :c6552, :c6553, :c6554, :c6555, :c6556, :c6557, :c6558, :c6559, :c6560, :c6561, :c6562, :c6563, :c6564, :c6565, :c6566, :c6567, :c6568, :c6569, :c6570, :c6571, :c6572, :c6573, :c6574, :c6575, :c6576, :c6577, :c6578, :c6579, :c6580, :c6581, :c6582, :c6583, :c6584, :c6585, :c6586, :c6587, :c6588, :c6589, :c6590, :c6591, :c6592, :c6593, :c6594, :c6595, :c6596, :c6597, :c6598, :c6599, :c6600, :c6601, :c6602, :c6603, :c6604, :c6605, :c6606, :c6607, :c6608, :c6609, :c6610, :c6611, :c6612, :c6613, :c6614, :c6615, :c6616, :c6617, :c6618, :c6619, :c6620, :c6621, :c6622, :c6623, :c6624, :c6625, :c6626, :c6627, :c6628, :c6629, :c6630, :c6631, :c6632, :c6633, :c6634, :c6635, :c6636, :c6637, :c6638, :c6639, :c6640, :c6641, :c6642, :c6643, :c6644, :c6645, :c6646, :c6647, :c6648, :c6649, :c6650, :c6651, :c6652, :c6653, :c6654, :c6655, :c6656, :c6657, :c6658, :c6659, :c6660, :c6661, :c6662, :c6663, :c6664, :c6665, :c6666, :c6667, :c6668, :c6669, :c6670, :c6671, :c6672, :c6673, :c6674, :c6675, :c6676, :c6677, :c6678, :c6679, :c6680, :c6681, :c6682, :c6683, :c6684, :c6685, :c6686, :c6687, :c6688, :c6689, :c6690, :c6691, :c6692, :c6693, :c6694, :c6695, :c6696, :c6697, :c6698, :c6699, :c6700, :c6701, :c6702, :c6703, :c6704, :c6705, :c6706, :c6707, :c6708, :c6709, :c6710, :c6711, :c6712, :c6713, :c6714, :c6715, :c6716, :c6717, :c6718, :c6719, :c6720, :c6721, :c6722, :c6723, :c6724, :c6725, :c6726, :c6727, :c6728, :c6729, :c6730, :c6731, :c6732, :c6733, :c6734, :c6735, :c6736, :c6737, :c6738, :c6739, :c6740, :c6741, :c6742, :c6743, :c6744, :c6745, :c6746, :c6747, :c6748, :c6749, :c6750, :c6751, :c6752, :c6753, :c6754, :c6755, :c6756, :c6757, :c6758, :c6759, :c6760, :c6761, :c6762, :c6763, :c6764, :c6765, :c6766, :c6767, :c6768, :c6769, :c6770, :c6771, :c6772, :c6773, :c6774, :c6775, :c6776, :c6777, :c6778, :c6779, :c6780, :c6781, :c6782, :c6783, :c6784, :c6785, :c6786, :c6787, :c6788, :c6789, :c6790, :c6791, :c6792, :c6793, :c6794, :c6795, :c6796, :c6797, :c6798, :c6799, :c6800, :c6801, :c6802, :c6803, :c6804, :c6805, :c6806, :c6807, :c6808, :c6809, :c6810, :c6811, :c6812, :c6813, :c6814, :c6815, :c6816, :c6817, :c6818, :c6819, :c6820, :c6821, :c6822, :c6823, :c6824, :c6825, :c6826, :c6827, :c6828, :c6829, :c6830, :c6831, :c6832, :c6833, :c6834, :c6835, :c6836, :c6837, :c6838, :c6839, :c6840, :c6841, :c6842, :c6843, :c6844, :c6845, :c6846, :c6847, :c6848, :c6849, :c6850, :c6851, :c6852, :c6853, :c6854, :c6855, :c6856, :c6857, :c6858, :c6859, :c6860, :c6861, :c6862, :c6863, :c6864, :c6865, :c6866, :c6867, :c6868, :c6869, :c6870, :c6871, :c6872, :c6873, :c6874, :c6875, :c6876, :c6877, :c6878, :c6879, :c6880, :c6881, :c6882, :c6883, :c6884, :c6885, :c6886, :c6887, :c6888, :c6889, :c6890, :c6891, :c6892, :c6893, :c6894, :c6895, :c6896, :c6897, :c6898, :c6899, :c6900, :c6901, :c6902, :c6903, :c6904, :c6905, :c6906, :c6907, :c6908, :c6909, :c6910, :c6911, :c6912, :c6913, :c6914, :c6915, :c6916, :c6917, :c6918, :c6919, :c6920, :c6921, :c6922, :c6923, :c6924, :c6925, :c6926, :c6927, :c6928, :c6929, :c6930, :c6931, :c6932, :c6933, :c6934, :c6935, :c6936, :c6937, :c6938, :c6939, :c6940, :c6941, :c6942, :c6943, :c6944, :c6945, :c6946, :c6947, :c6948, :c6949, :c6950, :c6951, :c6952, :c6953, :c6954, :c6955, :c6956, :c6957, :c6958, :c6959, :c6960, :c6961, :c6962, :c6963, :c6964, :c6965, :c6966, :c6967, :c6968, :c6969, :c6970, :c6971, :c6972, :c6973, :c6974, :c6975, :c6976, :c6977, :c6978, :c6979, :c6980, :c6981, :c6982, :c6983, :c6984, :c6985, :c6986, :c6987, :c6988, :c6989, :c6990, :c6991, :c6992, :c6993, :c6994, :c6995, :c6996, :c6997, :c6998, :c6999, :c7000, :c7001, :c7002, :c7003, :c7004, :c7005, :c7006, :c7007, :c7008, :c7009, :c7010, :c7011, :c7012, :c7013, :c7014, :c7015, :c7016, :c7017, :c7018, :c7019, :c7020, :c7021, :c7022, :c7023, :c7024, :c7025, :c7026, :c7027, :c7028, :c7029, :c7030, :c7031, :c7032, :c7033, :c7034, :c7035, :c7036, :c7037, :c7038, :c7039, :c7040, :c7041, :c7042, :c7043, :c7044, :c7045, :c7046, :c7047, :c7048, :c7049, :c7050, :c7051, :c7052, :c7053, :c7054, :c7055, :c7056, :c7057, :c7058, :c7059, :c7060, :c7061, :c7062, :c7063, :c7064, :c7065, :c7066, :c7067, :c7068, :c7069, :c7070, :c7071, :c7072, :c7073, :c7074, :c7075, :c7076, :c7077, :c7078, :c7079, :c7080, :c7081, :c7082, :c7083, :c7084, :c7085, :c7086, :c7087, :c7088, :c7089, :c7090, :c7091, :c7092, :c7093, :c7094, :c7095, :c7096, :c7097, :c7098, :c7099, :c7100, :c7101, :c7102, :c7103, :c7104, :c7105, :c7106, :c7107, :c7108, :c7109, :c7110, :c7111, :c7112, :c7113, :c7114, :c7115, :c7116, :c7117, :c7118, :c7119, :c7120, :c7121, :c7122, :c7123, :c7124, :c7125, :c7126, :c7127, :c7128, :c7129, :c7130, :c7131, :c7132, :c7133, :c7134, :c7135, :c7136, :c7137, :c7138, :c7139, :c7140, :c7141, :c7142, :c7143, :c7144, :c7145, :c7146, :c7147, :c7148, :c7149, :c7150, :c7151, :c7152, :c7153, :c7154, :c7155, :c7156, :c7157, :c7158, :c7159, :c7160, :c7161, :c7162, :c7163, :c7164, :c7165, :c7166, :c7167, :c7168, :c7169, :c7170, :c7171, :c7172, :c7173, :c7174, :c7175, :c7176, :c7177, :c7178, :c7179, :c7180, :c7181, :c7182, :c7183, :c7184, :c7185, :c7186, :c7187, :c7188, :c7189, :c7190, :c7191, :c7192, :c7193, :c7194, :c7195, :c7196, :c7197, :c7198, :c7199, :c7200, :c7201, :c7202, :c7203, :c7204, :c7205, :c7206, :c7207, :c7208, :c7209, :c7210, :c7211, :c7212, :c7213, :c7214, :c7215, :c7216, :c7217, :c7218, :c7219, :c7220, :c7221, :c7222, :c7223, :c7224, :c7225, :c7226, :c7227, :c7228, :c7229, :c7230, :c7231, :c7232, :c7233, :c7234, :c7235, :c7236, :c7237, :c7238, :c7239, :c7240, :c7241, :c7242, :c7243, :c7244, :c7245, :c7246, :c7247, :c7248, :c7249, :c7250, :c7251, :c7252, :c7253, :c7254, :c7255, :c7256, :c7257, :c7258, :c7259, :c7260, :c7261, :c7262, :c7263, :c7264, :c7265, :c7266, :c7267, :c7268, :c7269, :c7270, :c7271, :c7272, :c7273, :c7274, :c7275, :c7276, :c7277, :c7278, :c7279, :c7280, :c7281, :c7282, :c7283, :c7284, :c7285, :c7286, :c7287, :c7288, :c7289, :c7290, :c7291, :c7292, :c7293, :c7294, :c7295, :c7296, :c7297, :c7298, :c7299, :c7300, :c7301, :c7302, :c7303, :c7304, :c7305, :c7306, :c7307, :c7308, :c7309, :c7310, :c7311, :c7312, :c7313, :c7314, :c7315, :c7316, :c7317, :c7318, :c7319, :c7320, :c7321, :c7322, :c7323, :c7324, :c7325, :c7326, :c7327, :c7328, :c7329, :c7330, :c7331, :c7332, :c7333, :c7334, :c7335, :c7336, :c7337, :c7338, :c7339, :c7340, :c7341, :c7342, :c7343, :c7344, :c7345, :c7346, :c7347, :c7348, :c7349, :c7350, :c7351, :c7352, :c7353, :c7354, :c7355, :c7356, :c7357, :c7358, :c7359, :c7360, :c7361, :c7362, :c7363, :c7364, :c7365, :c7366, :c7367, :c7368, :c7369, :c7370, :c7371, :c7372, :c7373, :c7374, :c7375, :c7376, :c7377, :c7378, :c7379, :c7380, :c7381, :c7382, :c7383, :c7384, :c7385, :c7386, :c7387, :c7388, :c7389, :c7390, :c7391, :c7392, :c7393, :c7394, :c7395, :c7396, :c7397, :c7398, :c7399, :c7400, :c7401, :c7402, :c7403, :c7404, :c7405, :c7406, :c7407, :c7408, :c7409, :c7410, :c7411, :c7412, :c7413, :c7414, :c7415, :c7416, :c7417, :c7418, :c7419, :c7420, :c7421, :c7422, :c7423, :c7424, :c7425, :c7426, :c7427, :c7428, :c7429, :c7430, :c7431, :c7432, :c7433, :c7434, :c7435, :c7436, :c7437, :c7438, :c7439, :c7440, :c7441, :c7442, :c7443, :c7444, :c7445, :c7446, :c7447, :c7448, :c7449, :c7450, :c7451, :c7452, :c7453, :c7454, :c7455, :c7456, :c7457, :c7458, :c7459, :c7460, :c7461, :c7462, :c7463, :c7464, :c7465, :c7466, :c7467, :c7468, :c7469, :c7470, :c7471, :c7472, :c7473, :c7474, :c7475, :c7476, :c7477, :c7478, :c7479, :c7480, :c7481, :c7482, :c7483, :c7484, :c7485, :c7486, :c7487, :c7488, :c7489, :c7490, :c7491, :c7492, :c7493, :c7494, :c7495, :c7496, :c7497, :c7498, :c7499, :c7500, :c7501, :c7502, :c7503, :c7504, :c7505, :c7506, :c7507, :c7508, :c7509, :c7510, :c7511, :c7512, :c7513, :c7514, :c7515, :c7516, :c7517, :c7518, :c7519, :c7520, :c7521, :c7522, :c7523, :c7524, :c7525, :c7526, :c7527, :c7528, :c7529, :c7530, :c7531, :c7532, :c7533, :c7534, :c7535, :c7536, :c7537, :c7538, :c7539, :c7540, :c7541, :c7542, :c7543, :c7544, :c7545, :c7546, :c7547, :c7548, :c7549, :c7550, :c7551, :c7552, :c7553, :c7554, :c7555, :c7556, :c7557, :c7558, :c7559, :c7560, :c7561, :c7562, :c7563, :c7564, :c7565, :c7566, :c7567, :c7568, :c7569, :c7570, :c7571, :c7572, :c7573, :c7574, :c7575, :c7576, :c7577, :c7578, :c7579, :c7580, :c7581, :c7582, :c7583, :c7584, :c7585, :c7586, :c7587, :c7588, :c7589, :c7590, :c7591, :c7592, :c7593, :c7594, :c7595, :c7596, :c7597, :c7598, :c7599, :c7600, :c7601, :c7602, :c7603, :c7604, :c7605, :c7606, :c7607, :c7608, :c7609, :c7610, :c7611, :c7612, :c7613, :c7614, :c7615, :c7616, :c7617, :c7618, :c7619, :c7620, :c7621, :c7622, :c7623, :c7624, :c7625, :c7626, :c7627, :c7628, :c7629, :c7630, :c7631, :c7632, :c7633, :c7634, :c7635, :c7636, :c7637, :c7638, :c7639, :c7640, :c7641, :c7642, :c7643, :c7644, :c7645, :c7646, :c7647, :c7648, :c7649, :c7650, :c7651, :c7652, :c7653, :c7654, :c7655, :c7656, :c7657, :c7658, :c7659, :c7660, :c7661, :c7662, :c7663, :c7664, :c7665, :c7666, :c7667, :c7668, :c7669, :c7670, :c7671, :c7672, :c7673, :c7674, :c7675, :c7676, :c7677, :c7678, :c7679, :c7680, :c7681, :c7682, :c7683, :c7684, :c7685, :c7686, :c7687, :c7688, :c7689, :c7690, :c7691, :c7692, :c7693, :c7694, :c7695, :c7696, :c7697, :c7698, :c7699, :c7700, :c7701, :c7702, :c7703, :c7704, :c7705, :c7706, :c7707, :c7708, :c7709, :c7710, :c7711, :c7712, :c7713, :c7714, :c7715, :c7716, :c7717, :c7718, :c7719, :c7720, :c7721, :c7722, :c7723, :c7724, :c7725, :c7726, :c7727, :c7728, :c7729, :c7730, :c7731, :c7732, :c7733, :c7734, :c7735, :c7736, :c7737, :c7738, :c7739, :c7740, :c7741, :c7742, :c7743, :c7744, :c7745, :c7746, :c7747, :c7748, :c7749, :c7750, :c7751, :c7752, :c7753, :c7754, :c7755, :c7756, :c7757, :c7758, :c7759, :c7760, :c7761, :c7762, :c7763, :c7764, :c7765, :c7766, :c7767, :c7768, :c7769, :c7770, :c7771, :c7772, :c7773, :c7774, :c7775, :c7776, :c7777, :c7778, :c7779, :c7780, :c7781, :c7782, :c7783, :c7784, :c7785, :c7786, :c7787, :c7788, :c7789, :c7790, :c7791, :c7792, :c7793, :c7794, :c7795, :c7796, :c7797, :c7798, :c7799, :c7800, :c7801, :c7802, :c7803, :c7804, :c7805, :c7806, :c7807, :c7808, :c7809, :c7810, :c7811, :c7812, :c7813, :c7814, :c7815, :c7816, :c7817, :c7818, :c7819, :c7820, :c7821, :c7822, :c7823, :c7824, :c7825, :c7826, :c7827, :c7828, :c7829, :c7830, :c7831, :c7832, :c7833, :c7834, :c7835, :c7836, :c7837, :c7838, :c7839, :c7840, :c7841, :c7842, :c7843, :c7844, :c7845, :c7846, :c7847, :c7848, :c7849, :c7850, :c7851, :c7852, :c7853, :c7854, :c7855, :c7856, :c7857, :c7858, :c7859, :c7860, :c7861, :c7862, :c7863, :c7864, :c7865, :c7866, :c7867, :c7868, :c7869, :c7870, :c7871, :c7872, :c7873, :c7874, :c7875, :c7876, :c7877, :c7878, :c7879, :c7880, :c7881, :c7882, :c7883, :c7884, :c7885, :c7886, :c7887, :c7888, :c7889, :c7890, :c7891, :c7892, :c7893, :c7894, :c7895, :c7896, :c7897, :c7898, :c7899, :c7900, :c7901, :c7902, :c7903, :c7904, :c7905, :c7906, :c7907, :c7908, :c7909, :c7910, :c7911, :c7912, :c7913, :c7914, :c7915, :c7916, :c7917, :c7918, :c7919, :c7920, :c7921, :c7922, :c7923, :c7924, :c7925, :c7926, :c7927, :c7928, :c7929, :c7930, :c7931, :c7932, :c7933, :c7934, :c7935, :c7936, :c7937, :c7938, :c7939, :c7940, :c7941, :c7942, :c7943, :c7944, :c7945, :c7946, :c7947, :c7948, :c7949, :c7950, :c7951, :c7952, :c7953, :c7954, :c7955, :c7956, :c7957, :c7958, :c7959, :c7960, :c7961, :c7962, :c7963, :c7964, :c7965, :c7966, :c7967, :c7968, :c7969, :c7970, :c7971, :c7972, :c7973, :c7974, :c7975, :c7976, :c7977, :c7978, :c7979, :c7980, :c7981, :c7982, :c7983, :c7984, :c7985, :c7986, :c7987, :c7988, :c7989, :c7990, :c7991, :c7992, :c7993, :c7994, :c7995, :c7996, :c7997, :c7998, :c7999, :c8000, :c8001, :c8002, :c8003, :c8004, :c8005, :c8006, :c8007, :c8008, :c8009, :c8010, :c8011, :c8012, :c8013, :c8014, :c8015, :c8016, :c8017, :c8018, :c8019, :c8020, :c8021, :c8022, :c8023, :c8024, :c8025, :c8026, :c8027, :c8028, :c8029, :c8030, :c8031, :c8032, :c8033, :c8034, :c8035, :c8036, :c8037, :c8038, :c8039, :c8040, :c8041, :c8042, :c8043, :c8044, :c8045, :c8046, :c8047, :c8048, :c8049, :c8050, :c8051, :c8052, :c8053, :c8054, :c8055, :c8056, :c8057, :c8058, :c8059, :c8060, :c8061, :c8062, :c8063, :c8064, :c8065, :c8066, :c8067, :c8068, :c8069, :c8070, :c8071, :c8072, :c8073, :c8074, :c8075, :c8076, :c8077, :c8078, :c8079, :c8080, :c8081, :c8082, :c8083, :c8084, :c8085, :c8086, :c8087, :c8088, :c8089, :c8090, :c8091, :c8092, :c8093, :c8094, :c8095, :c8096, :c8097, :c8098, :c8099, :c8100, :c8101, :c8102, :c8103, :c8104, :c8105, :c8106, :c8107, :c8108, :c8109, :c8110, :c8111, :c8112, :c8113, :c8114, :c8115, :c8116, :c8117, :c8118, :c8119, :c8120, :c8121, :c8122, :c8123, :c8124, :c8125, :c8126, :c8127, :c8128, :c8129, :c8130, :c8131, :c8132, :c8133, :c8134, :c8135, :c8136, :c8137, :c8138, :c8139, :c8140, :c8141, :c8142, :c8143, :c8144, :c8145, :c8146, :c8147, :c8148, :c8149, :c8150, :c8151, :c8152, :c8153, :c8154, :c8155, :c8156, :c8157, :c8158, :c8159, :c8160, :c8161, :c8162, :c8163, :c8164, :c8165, :c8166, :c8167, :c8168, :c8169, :c8170, :c8171, :c8172, :c8173, :c8174, :c8175, :c8176, :c8177, :c8178, :c8179, :c8180, :c8181, :c8182, :c8183, :c8184, :c8185, :c8186, :c8187, :c8188, :c8189, :c8190, :c8191, :c8192, :c8193, :c8194, :c8195, :c8196, :c8197, :c8198, :c8199, :c8200, :c8201, :c8202, :c8203, :c8204, :c8205, :c8206, :c8207, :c8208, :c8209, :c8210, :c8211, :c8212, :c8213, :c8214, :c8215, :c8216, :c8217, :c8218, :c8219, :c8220, :c8221, :c8222, :c8223, :c8224, :c8225, :c8226, :c8227, :c8228, :c8229, :c8230, :c8231, :c8232, :c8233, :c8234, :c8235, :c8236, :c8237, :c8238, :c8239, :c8240, :c8241, :c8242, :c8243, :c8244, :c8245, :c8246, :c8247, :c8248, :c8249, :c8250, :c8251, :c8252, :c8253, :c8254, :c8255, :c8256, :c8257, :c8258, :c8259, :c8260, :c8261, :c8262, :c8263, :c8264, :c8265, :c8266, :c8267, :c8268, :c8269, :c8270, :c8271, :c8272, :c8273, :c8274, :c8275, :c8276, :c8277, :c8278, :c8279, :c8280, :c8281, :c8282, :c8283, :c8284, :c8285, :c8286, :c8287, :c8288, :c8289, :c8290, :c8291, :c8292, :c8293, :c8294, :c8295, :c8296, :c8297, :c8298, :c8299, :c8300, :c8301, :c8302, :c8303, :c8304, :c8305, :c8306, :c8307, :c8308, :c8309, :c8310, :c8311, :c8312, :c8313, :c8314, :c8315, :c8316, :c8317, :c8318, :c8319, :c8320, :c8321, :c8322, :c8323, :c8324, :c8325, :c8326, :c8327, :c8328, :c8329, :c8330, :c8331, :c8332, :c8333, :c8334, :c8335, :c8336, :c8337, :c8338, :c8339, :c8340, :c8341, :c8342, :c8343, :c8344, :c8345, :c8346, :c8347, :c8348, :c8349, :c8350, :c8351, :c8352, :c8353, :c8354, :c8355, :c8356, :c8357, :c8358, :c8359, :c8360, :c8361, :c8362, :c8363, :c8364, :c8365, :c8366, :c8367, :c8368, :c8369, :c8370, :c8371, :c8372, :c8373, :c8374, :c8375, :c8376, :c8377, :c8378, :c8379, :c8380, :c8381, :c8382, :c8383, :c8384, :c8385, :c8386, :c8387, :c8388, :c8389, :c8390, :c8391, :c8392, :c8393, :c8394, :c8395, :c8396, :c8397, :c8398, :c8399, :c8400, :c8401, :c8402, :c8403, :c8404, :c8405, :c8406, :c8407, :c8408, :c8409, :c8410, :c8411, :c8412, :c8413, :c8414, :c8415, :c8416, :c8417, :c8418, :c8419, :c8420, :c8421, :c8422, :c8423, :c8424, :c8425, :c8426, :c8427, :c8428, :c8429, :c8430, :c8431, :c8432, :c8433, :c8434, :c8435, :c8436, :c8437, :c8438, :c8439, :c8440, :c8441, :c8442, :c8443, :c8444, :c8445, :c8446, :c8447, :c8448, :c8449, :c8450, :c8451, :c8452, :c8453, :c8454, :c8455, :c8456, :c8457, :c8458, :c8459, :c8460, :c8461, :c8462, :c8463, :c8464, :c8465, :c8466, :c8467, :c8468, :c8469, :c8470, :c8471, :c8472, :c8473, :c8474, :c8475, :c8476, :c8477, :c8478, :c8479, :c8480, :c8481, :c8482, :c8483, :c8484, :c8485, :c8486, :c8487, :c8488, :c8489, :c8490, :c8491, :c8492, :c8493, :c8494, :c8495, :c8496, :c8497, :c8498, :c8499, :c8500, :c8501, :c8502, :c8503, :c8504, :c8505, :c8506, :c8507, :c8508, :c8509, :c8510, :c8511, :c8512, :c8513, :c8514, :c8515, :c8516, :c8517, :c8518, :c8519, :c8520, :c8521, :c8522, :c8523, :c8524, :c8525, :c8526, :c8527, :c8528, :c8529, :c8530, :c8531, :c8532, :c8533, :c8534, :c8535, :c8536, :c8537, :c8538, :c8539, :c8540, :c8541, :c8542, :c8543, :c8544, :c8545, :c8546, :c8547, :c8548, :c8549, :c8550, :c8551, :c8552, :c8553, :c8554, :c8555, :c8556, :c8557, :c8558, :c8559, :c8560, :c8561, :c8562, :c8563, :c8564, :c8565, :c8566, :c8567, :c8568, :c8569, :c8570, :c8571, :c8572, :c8573, :c8574, :c8575, :c8576, :c8577, :c8578, :c8579, :c8580, :c8581, :c8582, :c8583, :c8584, :c8585, :c8586, :c8587, :c8588, :c8589, :c8590, :c8591, :c8592, :c8593, :c8594, :c8595, :c8596, :c8597, :c8598, :c8599, :c8600, :c8601, :c8602, :c8603, :c8604, :c8605, :c8606, :c8607, :c8608, :c8609, :c8610, :c8611, :c8612, :c8613, :c8614, :c8615, :c8616, :c8617, :c8618, :c8619, :c8620, :c8621, :c8622, :c8623, :c8624, :c8625, :c8626, :c8627, :c8628, :c8629, :c8630, :c8631, :c8632, :c8633, :c8634, :c8635, :c8636, :c8637, :c8638, :c8639, :c8640, :c8641, :c8642, :c8643, :c8644, :c8645, :c8646, :c8647, :c8648, :c8649, :c8650, :c8651, :c8652, :c8653, :c8654, :c8655, :c8656, :c8657, :c8658, :c8659, :c8660, :c8661, :c8662, :c8663, :c8664, :c8665, :c8666, :c8667, :c8668, :c8669, :c8670, :c8671, :c8672, :c8673, :c8674, :c8675, :c8676, :c8677, :c8678, :c8679, :c8680, :c8681, :c8682, :c8683, :c8684, :c8685, :c8686, :c8687, :c8688, :c8689, :c8690, :c8691, :c8692, :c8693, :c8694, :c8695, :c8696, :c8697, :c8698, :c8699, :c8700, :c8701, :c8702, :c8703, :c8704, :c8705, :c8706, :c8707, :c8708, :c8709, :c8710, :c8711, :c8712, :c8713, :c8714, :c8715, :c8716, :c8717, :c8718, :c8719, :c8720, :c8721, :c8722, :c8723, :c8724, :c8725, :c8726, :c8727, :c8728, :c8729, :c8730, :c8731, :c8732, :c8733, :c8734, :c8735, :c8736, :c8737, :c8738, :c8739, :c8740, :c8741, :c8742, :c8743, :c8744, :c8745, :c8746, :c8747, :c8748, :c8749, :c8750, :c8751, :c8752, :c8753, :c8754, :c8755, :c8756, :c8757, :c8758, :c8759, :c8760, :c8761, :c8762, :c8763, :c8764, :c8765, :c8766, :c8767, :c8768, :c8769, :c8770, :c8771, :c8772, :c8773, :c8774, :c8775, :c8776, :c8777, :c8778, :c8779, :c8780, :c8781, :c8782, :c8783, :c8784, :c8785, :c8786, :c8787, :c8788, :c8789, :c8790, :c8791, :c8792, :c8793, :c8794, :c8795, :c8796, :c8797, :c8798, :c8799, :c8800, :c8801, :c8802, :c8803, :c8804, :c8805, :c8806, :c8807, :c8808, :c8809, :c8810, :c8811, :c8812, :c8813, :c8814, :c8815, :c8816, :c8817, :c8818, :c8819, :c8820, :c8821, :c8822, :c8823, :c8824, :c8825, :c8826, :c8827, :c8828, :c8829, :c8830, :c8831, :c8832, :c8833, :c8834, :c8835, :c8836, :c8837, :c8838, :c8839, :c8840, :c8841, :c8842, :c8843, :c8844, :c8845, :c8846, :c8847, :c8848, :c8849, :c8850, :c8851, :c8852, :c8853, :c8854, :c8855, :c8856, :c8857, :c8858, :c8859, :c8860, :c8861, :c8862, :c8863, :c8864, :c8865, :c8866, :c8867, :c8868, :c8869, :c8870, :c8871, :c8872, :c8873, :c8874, :c8875, :c8876, :c8877, :c8878, :c8879, :c8880, :c8881, :c8882, :c8883, :c8884, :c8885, :c8886, :c8887, :c8888, :c8889, :c8890, :c8891, :c8892, :c8893, :c8894, :c8895, :c8896, :c8897, :c8898, :c8899, :c8900, :c8901, :c8902, :c8903, :c8904, :c8905, :c8906, :c8907, :c8908, :c8909, :c8910, :c8911, :c8912, :c8913, :c8914, :c8915, :c8916, :c8917, :c8918, :c8919, :c8920, :c8921, :c8922, :c8923, :c8924, :c8925, :c8926, :c8927, :c8928, :c8929, :c8930, :c8931, :c8932, :c8933, :c8934, :c8935, :c8936, :c8937, :c8938, :c8939, :c8940, :c8941, :c8942, :c8943, :c8944, :c8945, :c8946, :c8947, :c8948, :c8949, :c8950, :c8951, :c8952, :c8953, :c8954, :c8955, :c8956, :c8957, :c8958, :c8959, :c8960, :c8961, :c8962, :c8963, :c8964, :c8965, :c8966, :c8967, :c8968, :c8969, :c8970, :c8971, :c8972, :c8973, :c8974, :c8975, :c8976, :c8977, :c8978, :c8979, :c8980, :c8981, :c8982, :c8983, :c8984, :c8985, :c8986, :c8987, :c8988, :c8989, :c8990, :c8991, :c8992, :c8993, :c8994, :c8995, :c8996, :c8997, :c8998, :c8999, :c9000, :c9001, :c9002, :c9003, :c9004, :c9005, :c9006, :c9007, :c9008, :c9009, :c9010, :c9011, :c9012, :c9013, :c9014, :c9015, :c9016, :c9017, :c9018, :c9019, :c9020, :c9021, :c9022, :c9023, :c9024, :c9025, :c9026, :c9027, :c9028, :c9029, :c9030, :c9031, :c9032, :c9033, :c9034, :c9035, :c9036, :c9037, :c9038, :c9039, :c9040, :c9041, :c9042, :c9043, :c9044, :c9045, :c9046, :c9047, :c9048, :c9049, :c9050, :c9051, :c9052, :c9053, :c9054, :c9055, :c9056, :c9057, :c9058, :c9059, :c9060, :c9061, :c9062, :c9063, :c9064, :c9065, :c9066, :c9067, :c9068, :c9069, :c9070, :c9071, :c9072, :c9073, :c9074, :c9075, :c9076, :c9077, :c9078, :c9079, :c9080, :c9081, :c9082, :c9083, :c9084, :c9085, :c9086, :c9087, :c9088, :c9089, :c9090, :c9091, :c9092, :c9093, :c9094, :c9095, :c9096, :c9097, :c9098, :c9099, :c9100, :c9101, :c9102, :c9103, :c9104, :c9105, :c9106, :c9107, :c9108, :c9109, :c9110, :c9111, :c9112, :c9113, :c9114, :c9115, :c9116, :c9117, :c9118, :c9119, :c9120, :c9121, :c9122, :c9123, :c9124, :c9125, :c9126, :c9127, :c9128, :c9129, :c9130, :c9131, :c9132, :c9133, :c9134, :c9135, :c9136, :c9137, :c9138, :c9139, :c9140, :c9141, :c9142, :c9143, :c9144, :c9145, :c9146, :c9147, :c9148, :c9149, :c9150, :c9151, :c9152, :c9153, :c9154, :c9155, :c9156, :c9157, :c9158, :c9159, :c9160, :c9161, :c9162, :c9163, :c9164, :c9165, :c9166, :c9167, :c9168, :c9169, :c9170, :c9171, :c9172, :c9173, :c9174, :c9175, :c9176, :c9177, :c9178, :c9179, :c9180, :c9181, :c9182, :c9183, :c9184, :c9185, :c9186, :c9187, :c9188, :c9189, :c9190, :c9191, :c9192, :c9193, :c9194, :c9195, :c9196, :c9197, :c9198, :c9199, :c9200, :c9201, :c9202, :c9203, :c9204, :c9205, :c9206, :c9207, :c9208, :c9209, :c9210, :c9211, :c9212, :c9213, :c9214, :c9215, :c9216, :c9217, :c9218, :c9219, :c9220, :c9221, :c9222, :c9223, :c9224, :c9225, :c9226, :c9227, :c9228, :c9229, :c9230, :c9231, :c9232, :c9233, :c9234, :c9235, :c9236, :c9237, :c9238, :c9239, :c9240, :c9241, :c9242, :c9243, :c9244, :c9245, :c9246, :c9247, :c9248, :c9249, :c9250, :c9251, :c9252, :c9253, :c9254, :c9255, :c9256, :c9257, :c9258, :c9259, :c9260, :c9261, :c9262, :c9263, :c9264, :c9265, :c9266, :c9267, :c9268, :c9269, :c9270, :c9271, :c9272, :c9273, :c9274, :c9275, :c9276, :c9277, :c9278, :c9279, :c9280, :c9281, :c9282, :c9283, :c9284, :c9285, :c9286, :c9287, :c9288, :c9289, :c9290, :c9291, :c9292, :c9293, :c9294, :c9295, :c9296, :c9297, :c9298, :c9299, :c9300, :c9301, :c9302, :c9303, :c9304, :c9305, :c9306, :c9307, :c9308, :c9309, :c9310, :c9311, :c9312, :c9313, :c9314, :c9315, :c9316, :c9317, :c9318, :c9319, :c9320, :c9321, :c9322, :c9323, :c9324, :c9325, :c9326, :c9327, :c9328, :c9329, :c9330, :c9331, :c9332, :c9333, :c9334, :c9335, :c9336, :c9337, :c9338, :c9339, :c9340, :c9341, :c9342, :c9343, :c9344, :c9345, :c9346, :c9347, :c9348, :c9349, :c9350, :c9351, :c9352, :c9353, :c9354, :c9355, :c9356, :c9357, :c9358, :c9359, :c9360, :c9361, :c9362, :c9363, :c9364, :c9365, :c9366, :c9367, :c9368, :c9369, :c9370, :c9371, :c9372, :c9373, :c9374, :c9375, :c9376, :c9377, :c9378, :c9379, :c9380, :c9381, :c9382, :c9383, :c9384, :c9385, :c9386, :c9387, :c9388, :c9389, :c9390, :c9391, :c9392, :c9393, :c9394, :c9395, :c9396, :c9397, :c9398, :c9399, :c9400, :c9401, :c9402, :c9403, :c9404, :c9405, :c9406, :c9407, :c9408, :c9409, :c9410, :c9411, :c9412, :c9413, :c9414, :c9415, :c9416, :c9417, :c9418, :c9419, :c9420, :c9421, :c9422, :c9423, :c9424, :c9425, :c9426, :c9427, :c9428, :c9429, :c9430, :c9431, :c9432, :c9433, :c9434, :c9435, :c9436, :c9437, :c9438, :c9439, :c9440, :c9441, :c9442, :c9443, :c9444, :c9445, :c9446, :c9447, :c9448, :c9449, :c9450, :c9451, :c9452, :c9453, :c9454, :c9455, :c9456, :c9457, :c9458, :c9459, :c9460, :c9461, :c9462, :c9463, :c9464, :c9465, :c9466, :c9467, :c9468, :c9469, :c9470, :c9471, :c9472, :c9473, :c9474, :c9475, :c9476, :c9477, :c9478, :c9479, :c9480, :c9481, :c9482, :c9483, :c9484, :c9485, :c9486, :c9487, :c9488, :c9489, :c9490, :c9491, :c9492, :c9493, :c9494, :c9495, :c9496, :c9497, :c9498, :c9499, :c9500, :c9501, :c9502, :c9503, :c9504, :c9505, :c9506, :c9507, :c9508, :c9509, :c9510, :c9511, :c9512, :c9513, :c9514, :c9515, :c9516, :c9517, :c9518, :c9519, :c9520, :c9521, :c9522, :c9523, :c9524, :c9525, :c9526, :c9527, :c9528, :c9529, :c9530, :c9531, :c9532, :c9533, :c9534, :c9535, :c9536, :c9537, :c9538, :c9539, :c9540, :c9541, :c9542, :c9543, :c9544, :c9545, :c9546, :c9547, :c9548, :c9549, :c9550, :c9551, :c9552, :c9553, :c9554, :c9555, :c9556, :c9557, :c9558, :c9559, :c9560, :c9561, :c9562, :c9563, :c9564, :c9565, :c9566, :c9567, :c9568, :c9569, :c9570, :c9571, :c9572, :c9573, :c9574, :c9575, :c9576, :c9577, :c9578, :c9579, :c9580, :c9581, :c9582, :c9583, :c9584, :c9585, :c9586, :c9587, :c9588, :c9589, :c9590, :c9591, :c9592, :c9593, :c9594, :c9595, :c9596, :c9597, :c9598, :c9599, :c9600, :c9601, :c9602, :c9603, :c9604, :c9605, :c9606, :c9607, :c9608, :c9609, :c9610, :c9611, :c9612, :c9613, :c9614, :c9615, :c9616, :c9617, :c9618, :c9619, :c9620, :c9621, :c9622, :c9623, :c9624, :c9625, :c9626, :c9627, :c9628, :c9629, :c9630, :c9631, :c9632, :c9633, :c9634, :c9635, :c9636, :c9637, :c9638, :c9639, :c9640, :c9641, :c9642, :c9643, :c9644, :c9645, :c9646, :c9647, :c9648, :c9649, :c9650, :c9651, :c9652, :c9653, :c9654, :c9655, :c9656, :c9657, :c9658, :c9659, :c9660, :c9661, :c9662, :c9663, :c9664, :c9665, :c9666, :c9667, :c9668, :c9669, :c9670, :c9671, :c9672, :c9673, :c9674, :c9675, :c9676, :c9677, :c9678, :c9679, :c9680, :c9681, :c9682, :c9683, :c9684, :c9685, :c9686, :c9687, :c9688, :c9689, :c9690, :c9691, :c9692, :c9693, :c9694, :c9695, :c9696, :c9697, :c9698, :c9699, :c9700, :c9701, :c9702, :c9703, :c9704, :c9705, :c9706, :c9707, :c9708, :c9709, :c9710, :c9711, :c9712, :c9713, :c9714, :c9715, :c9716, :c9717, :c9718, :c9719, :c9720, :c9721, :c9722, :c9723, :c9724, :c9725, :c9726, :c9727, :c9728, :c9729, :c9730, :c9731, :c9732, :c9733, :c9734, :c9735, :c9736, :c9737, :c9738, :c9739, :c9740, :c9741, :c9742, :c9743, :c9744, :c9745, :c9746, :c9747, :c9748, :c9749, :c9750, :c9751, :c9752, :c9753, :c9754, :c9755, :c9756, :c9757, :c9758, :c9759, :c9760, :c9761, :c9762, :c9763, :c9764, :c9765, :c9766, :c9767, :c9768, :c9769, :c9770, :c9771, :c9772, :c9773, :c9774, :c9775, :c9776, :c9777, :c9778, :c9779, :c9780, :c9781, :c9782, :c9783, :c9784, :c9785, :c9786, :c9787, :c9788, :c9789, :c9790, :c9791, :c9792, :c9793, :c9794, :c9795, :c9796, :c9797, :c9798, :c9799, :c9800, :c9801, :c9802, :c9803, :c9804, :c9805, :c9806, :c9807, :c9808, :c9809, :c9810, :c9811, :c9812, :c9813, :c9814, :c9815, :c9816, :c9817, :c9818, :c9819, :c9820, :c9821, :c9822, :c9823, :c9824, :c9825, :c9826, :c9827, :c9828, :c9829, :c9830, :c9831, :c9832, :c9833, :c9834, :c9835, :c9836, :c9837, :c9838, :c9839, :c9840, :c9841, :c9842, :c9843, :c9844, :c9845, :c9846, :c9847, :c9848, :c9849, :c9850, :c9851, :c9852, :c9853, :c9854, :c9855, :c9856, :c9857, :c9858, :c9859, :c9860, :c9861, :c9862, :c9863, :c9864, :c9865, :c9866, :c9867, :c9868, :c9869, :c9870, :c9871, :c9872, :c9873, :c9874, :c9875, :c9876, :c9877, :c9878, :c9879, :c9880, :c9881, :c9882, :c9883, :c9884, :c9885, :c9886, :c9887, :c9888, :c9889, :c9890, :c9891, :c9892, :c9893, :c9894, :c9895, :c9896, :c9897, :c9898, :c9899, :c9900, :c9901, :c9902, :c9903, :c9904, :c9905, :c9906, :c9907, :c9908, :c9909, :c9910, :c9911, :c9912, :c9913, :c9914, :c9915, :c9916, :c9917, :c9918, :c9919, :c9920, :c9921, :c9922, :c9923, :c9924, :c9925, :c9926, :c9927, :c9928, :c9929, :c9930, :c9931, :c9932, :c9933, :c9934, :c9935, :c9936, :c9937, :c9938, :c9939, :c9940, :c9941, :c9942, :c9943, :c9944, :c9945, :c9946, :c9947, :c9948, :c9949, :c9950, :c9951, :c9952, :c9953, :c9954, :c9955, :c9956, :c9957, :c9958, :c9959, :c9960, :c9961, :c9962, :c9963, :c9964, :c9965, :c9966, :c9967, :c9968, :c9969, :c9970, :c9971, :c9972, :c9973, :c9974, :c9975, :c9976, :c9977, :c9978, :c9979, :c9980, :c9981, :c9982, :c9983, :c9984, :c9985, :c9986, :c9987, :c9988, :c9989, :c9990, :c9991, :c9992, :c9993, :c9994, :c9995, :c9996, :c9997, :c9998, :c9999, :c10000 . diff --git a/source/modules/lilv/serd-0.18.2/tests/test-16.out b/source/modules/lilv/serd-0.18.2/tests/test-16.out deleted file mode 100644 index c0604b3b6..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-16.out +++ /dev/null @@ -1,10000 +0,0 @@ - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . diff --git a/source/modules/lilv/serd-0.18.2/tests/test-16.ttl b/source/modules/lilv/serd-0.18.2/tests/test-16.ttl deleted file mode 100644 index a9ac37fb3..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-16.ttl +++ /dev/null @@ -1,10002 +0,0 @@ -# 10000 items (10000 triples) more than the default Bison stack size -@prefix : . -:a :b :c1; - :b :c2; - :b :c3; - :b :c4; - :b :c5; - :b :c6; - :b :c7; - :b :c8; - :b :c9; - :b :c10; - :b :c11; - :b :c12; - :b :c13; - :b :c14; - :b :c15; - :b :c16; - :b :c17; - :b :c18; - :b :c19; - :b :c20; - :b :c21; - :b :c22; - :b :c23; - :b :c24; - :b :c25; - :b :c26; - :b :c27; - :b :c28; - :b :c29; - :b :c30; - :b :c31; - :b :c32; - :b :c33; - :b :c34; - :b :c35; - :b :c36; - :b :c37; - :b :c38; - :b :c39; - :b :c40; - :b :c41; - :b :c42; - :b :c43; - :b :c44; - :b :c45; - :b :c46; - :b :c47; - :b :c48; - :b :c49; - :b :c50; - :b :c51; - :b :c52; - :b :c53; - :b :c54; - :b :c55; - :b :c56; - :b :c57; - :b :c58; - :b :c59; - :b :c60; - :b :c61; - :b :c62; - :b :c63; - :b :c64; - :b :c65; - :b :c66; - :b :c67; - :b :c68; - :b :c69; - :b :c70; - :b :c71; - :b :c72; - :b :c73; - :b :c74; - :b :c75; - :b :c76; - :b :c77; - :b :c78; - :b :c79; - :b :c80; - :b :c81; - :b :c82; - :b :c83; - :b :c84; - :b :c85; - :b :c86; - :b :c87; - :b :c88; - :b :c89; - :b :c90; - :b :c91; - :b :c92; - :b :c93; - :b :c94; - :b :c95; - :b :c96; - :b :c97; - :b :c98; - :b :c99; - :b :c100; - :b :c101; - :b :c102; - :b :c103; - :b :c104; - :b :c105; - :b :c106; - :b :c107; - :b :c108; - :b :c109; - :b :c110; - :b :c111; - :b :c112; - :b :c113; - :b :c114; - :b :c115; - :b :c116; - :b :c117; - :b :c118; - :b :c119; - :b :c120; - :b :c121; - :b :c122; - :b :c123; - :b :c124; - :b :c125; - :b :c126; - :b :c127; - :b :c128; - :b :c129; - :b :c130; - :b :c131; - :b :c132; - :b :c133; - :b :c134; - :b :c135; - :b :c136; - :b :c137; - :b :c138; - :b :c139; - :b :c140; - :b :c141; - :b :c142; - :b :c143; - :b :c144; - :b :c145; - :b :c146; - :b :c147; - :b :c148; - :b :c149; - :b :c150; - :b :c151; - :b :c152; - :b :c153; - :b :c154; - :b :c155; - :b :c156; - :b :c157; - :b :c158; - :b :c159; - :b :c160; - :b :c161; - :b :c162; - :b :c163; - :b :c164; - :b :c165; - :b :c166; - :b :c167; - :b :c168; - :b :c169; - :b :c170; - :b :c171; - :b :c172; - :b :c173; - :b :c174; - :b :c175; - :b :c176; - :b :c177; - :b :c178; - :b :c179; - :b :c180; - :b :c181; - :b :c182; - :b :c183; - :b :c184; - :b :c185; - :b :c186; - :b :c187; - :b :c188; - :b :c189; - :b :c190; - :b :c191; - :b :c192; - :b :c193; - :b :c194; - :b :c195; - :b :c196; - :b :c197; - :b :c198; - :b :c199; - :b :c200; - :b :c201; - :b :c202; - :b :c203; - :b :c204; - :b :c205; - :b :c206; - :b :c207; - :b :c208; - :b :c209; - :b :c210; - :b :c211; - :b :c212; - :b :c213; - :b :c214; - :b :c215; - :b :c216; - :b :c217; - :b :c218; - :b :c219; - :b :c220; - :b :c221; - :b :c222; - :b :c223; - :b :c224; - :b :c225; - :b :c226; - :b :c227; - :b :c228; - :b :c229; - :b :c230; - :b :c231; - :b :c232; - :b :c233; - :b :c234; - :b :c235; - :b :c236; - :b :c237; - :b :c238; - :b :c239; - :b :c240; - :b :c241; - :b :c242; - :b :c243; - :b :c244; - :b :c245; - :b :c246; - :b :c247; - :b :c248; - :b :c249; - :b :c250; - :b :c251; - :b :c252; - :b :c253; - :b :c254; - :b :c255; - :b :c256; - :b :c257; - :b :c258; - :b :c259; - :b :c260; - :b :c261; - :b :c262; - :b :c263; - :b :c264; - :b :c265; - :b :c266; - :b :c267; - :b :c268; - :b :c269; - :b :c270; - :b :c271; - :b :c272; - :b :c273; - :b :c274; - :b :c275; - :b :c276; - :b :c277; - :b :c278; - :b :c279; - :b :c280; - :b :c281; - :b :c282; - :b :c283; - :b :c284; - :b :c285; - :b :c286; - :b :c287; - :b :c288; - :b :c289; - :b :c290; - :b :c291; - :b :c292; - :b :c293; - :b :c294; - :b :c295; - :b :c296; - :b :c297; - :b :c298; - :b :c299; - :b :c300; - :b :c301; - :b :c302; - :b :c303; - :b :c304; - :b :c305; - :b :c306; - :b :c307; - :b :c308; - :b :c309; - :b :c310; - :b :c311; - :b :c312; - :b :c313; - :b :c314; - :b :c315; - :b :c316; - :b :c317; - :b :c318; - :b :c319; - :b :c320; - :b :c321; - :b :c322; - :b :c323; - :b :c324; - :b :c325; - :b :c326; - :b :c327; - :b :c328; - :b :c329; - :b :c330; - :b :c331; - :b :c332; - :b :c333; - :b :c334; - :b :c335; - :b :c336; - :b :c337; - :b :c338; - :b :c339; - :b :c340; - :b :c341; - :b :c342; - :b :c343; - :b :c344; - :b :c345; - :b :c346; - :b :c347; - :b :c348; - :b :c349; - :b :c350; - :b :c351; - :b :c352; - :b :c353; - :b :c354; - :b :c355; - :b :c356; - :b :c357; - :b :c358; - :b :c359; - :b :c360; - :b :c361; - :b :c362; - :b :c363; - :b :c364; - :b :c365; - :b :c366; - :b :c367; - :b :c368; - :b :c369; - :b :c370; - :b :c371; - :b :c372; - :b :c373; - :b :c374; - :b :c375; - :b :c376; - :b :c377; - :b :c378; - :b :c379; - :b :c380; - :b :c381; - :b :c382; - :b :c383; - :b :c384; - :b :c385; - :b :c386; - :b :c387; - :b :c388; - :b :c389; - :b :c390; - :b :c391; - :b :c392; - :b :c393; - :b :c394; - :b :c395; - :b :c396; - :b :c397; - :b :c398; - :b :c399; - :b :c400; - :b :c401; - :b :c402; - :b :c403; - :b :c404; - :b :c405; - :b :c406; - :b :c407; - :b :c408; - :b :c409; - :b :c410; - :b :c411; - :b :c412; - :b :c413; - :b :c414; - :b :c415; - :b :c416; - :b :c417; - :b :c418; - :b :c419; - :b :c420; - :b :c421; - :b :c422; - :b :c423; - :b :c424; - :b :c425; - :b :c426; - :b :c427; - :b :c428; - :b :c429; - :b :c430; - :b :c431; - :b :c432; - :b :c433; - :b :c434; - :b :c435; - :b :c436; - :b :c437; - :b :c438; - :b :c439; - :b :c440; - :b :c441; - :b :c442; - :b :c443; - :b :c444; - :b :c445; - :b :c446; - :b :c447; - :b :c448; - :b :c449; - :b :c450; - :b :c451; - :b :c452; - :b :c453; - :b :c454; - :b :c455; - :b :c456; - :b :c457; - :b :c458; - :b :c459; - :b :c460; - :b :c461; - :b :c462; - :b :c463; - :b :c464; - :b :c465; - :b :c466; - :b :c467; - :b :c468; - :b :c469; - :b :c470; - :b :c471; - :b :c472; - :b :c473; - :b :c474; - :b :c475; - :b :c476; - :b :c477; - :b :c478; - :b :c479; - :b :c480; - :b :c481; - :b :c482; - :b :c483; - :b :c484; - :b :c485; - :b :c486; - :b :c487; - :b :c488; - :b :c489; - :b :c490; - :b :c491; - :b :c492; - :b :c493; - :b :c494; - :b :c495; - :b :c496; - :b :c497; - :b :c498; - :b :c499; - :b :c500; - :b :c501; - :b :c502; - :b :c503; - :b :c504; - :b :c505; - :b :c506; - :b :c507; - :b :c508; - :b :c509; - :b :c510; - :b :c511; - :b :c512; - :b :c513; - :b :c514; - :b :c515; - :b :c516; - :b :c517; - :b :c518; - :b :c519; - :b :c520; - :b :c521; - :b :c522; - :b :c523; - :b :c524; - :b :c525; - :b :c526; - :b :c527; - :b :c528; - :b :c529; - :b :c530; - :b :c531; - :b :c532; - :b :c533; - :b :c534; - :b :c535; - :b :c536; - :b :c537; - :b :c538; - :b :c539; - :b :c540; - :b :c541; - :b :c542; - :b :c543; - :b :c544; - :b :c545; - :b :c546; - :b :c547; - :b :c548; - :b :c549; - :b :c550; - :b :c551; - :b :c552; - :b :c553; - :b :c554; - :b :c555; - :b :c556; - :b :c557; - :b :c558; - :b :c559; - :b :c560; - :b :c561; - :b :c562; - :b :c563; - :b :c564; - :b :c565; - :b :c566; - :b :c567; - :b :c568; - :b :c569; - :b :c570; - :b :c571; - :b :c572; - :b :c573; - :b :c574; - :b :c575; - :b :c576; - :b :c577; - :b :c578; - :b :c579; - :b :c580; - :b :c581; - :b :c582; - :b :c583; - :b :c584; - :b :c585; - :b :c586; - :b :c587; - :b :c588; - :b :c589; - :b :c590; - :b :c591; - :b :c592; - :b :c593; - :b :c594; - :b :c595; - :b :c596; - :b :c597; - :b :c598; - :b :c599; - :b :c600; - :b :c601; - :b :c602; - :b :c603; - :b :c604; - :b :c605; - :b :c606; - :b :c607; - :b :c608; - :b :c609; - :b :c610; - :b :c611; - :b :c612; - :b :c613; - :b :c614; - :b :c615; - :b :c616; - :b :c617; - :b :c618; - :b :c619; - :b :c620; - :b :c621; - :b :c622; - :b :c623; - :b :c624; - :b :c625; - :b :c626; - :b :c627; - :b :c628; - :b :c629; - :b :c630; - :b :c631; - :b :c632; - :b :c633; - :b :c634; - :b :c635; - :b :c636; - :b :c637; - :b :c638; - :b :c639; - :b :c640; - :b :c641; - :b :c642; - :b :c643; - :b :c644; - :b :c645; - :b :c646; - :b :c647; - :b :c648; - :b :c649; - :b :c650; - :b :c651; - :b :c652; - :b :c653; - :b :c654; - :b :c655; - :b :c656; - :b :c657; - :b :c658; - :b :c659; - :b :c660; - :b :c661; - :b :c662; - :b :c663; - :b :c664; - :b :c665; - :b :c666; - :b :c667; - :b :c668; - :b :c669; - :b :c670; - :b :c671; - :b :c672; - :b :c673; - :b :c674; - :b :c675; - :b :c676; - :b :c677; - :b :c678; - :b :c679; - :b :c680; - :b :c681; - :b :c682; - :b :c683; - :b :c684; - :b :c685; - :b :c686; - :b :c687; - :b :c688; - :b :c689; - :b :c690; - :b :c691; - :b :c692; - :b :c693; - :b :c694; - :b :c695; - :b :c696; - :b :c697; - :b :c698; - :b :c699; - :b :c700; - :b :c701; - :b :c702; - :b :c703; - :b :c704; - :b :c705; - :b :c706; - :b :c707; - :b :c708; - :b :c709; - :b :c710; - :b :c711; - :b :c712; - :b :c713; - :b :c714; - :b :c715; - :b :c716; - :b :c717; - :b :c718; - :b :c719; - :b :c720; - :b :c721; - :b :c722; - :b :c723; - :b :c724; - :b :c725; - :b :c726; - :b :c727; - :b :c728; - :b :c729; - :b :c730; - :b :c731; - :b :c732; - :b :c733; - :b :c734; - :b :c735; - :b :c736; - :b :c737; - :b :c738; - :b :c739; - :b :c740; - :b :c741; - :b :c742; - :b :c743; - :b :c744; - :b :c745; - :b :c746; - :b :c747; - :b :c748; - :b :c749; - :b :c750; - :b :c751; - :b :c752; - :b :c753; - :b :c754; - :b :c755; - :b :c756; - :b :c757; - :b :c758; - :b :c759; - :b :c760; - :b :c761; - :b :c762; - :b :c763; - :b :c764; - :b :c765; - :b :c766; - :b :c767; - :b :c768; - :b :c769; - :b :c770; - :b :c771; - :b :c772; - :b :c773; - :b :c774; - :b :c775; - :b :c776; - :b :c777; - :b :c778; - :b :c779; - :b :c780; - :b :c781; - :b :c782; - :b :c783; - :b :c784; - :b :c785; - :b :c786; - :b :c787; - :b :c788; - :b :c789; - :b :c790; - :b :c791; - :b :c792; - :b :c793; - :b :c794; - :b :c795; - :b :c796; - :b :c797; - :b :c798; - :b :c799; - :b :c800; - :b :c801; - :b :c802; - :b :c803; - :b :c804; - :b :c805; - :b :c806; - :b :c807; - :b :c808; - :b :c809; - :b :c810; - :b :c811; - :b :c812; - :b :c813; - :b :c814; - :b :c815; - :b :c816; - :b :c817; - :b :c818; - :b :c819; - :b :c820; - :b :c821; - :b :c822; - :b :c823; - :b :c824; - :b :c825; - :b :c826; - :b :c827; - :b :c828; - :b :c829; - :b :c830; - :b :c831; - :b :c832; - :b :c833; - :b :c834; - :b :c835; - :b :c836; - :b :c837; - :b :c838; - :b :c839; - :b :c840; - :b :c841; - :b :c842; - :b :c843; - :b :c844; - :b :c845; - :b :c846; - :b :c847; - :b :c848; - :b :c849; - :b :c850; - :b :c851; - :b :c852; - :b :c853; - :b :c854; - :b :c855; - :b :c856; - :b :c857; - :b :c858; - :b :c859; - :b :c860; - :b :c861; - :b :c862; - :b :c863; - :b :c864; - :b :c865; - :b :c866; - :b :c867; - :b :c868; - :b :c869; - :b :c870; - :b :c871; - :b :c872; - :b :c873; - :b :c874; - :b :c875; - :b :c876; - :b :c877; - :b :c878; - :b :c879; - :b :c880; - :b :c881; - :b :c882; - :b :c883; - :b :c884; - :b :c885; - :b :c886; - :b :c887; - :b :c888; - :b :c889; - :b :c890; - :b :c891; - :b :c892; - :b :c893; - :b :c894; - :b :c895; - :b :c896; - :b :c897; - :b :c898; - :b :c899; - :b :c900; - :b :c901; - :b :c902; - :b :c903; - :b :c904; - :b :c905; - :b :c906; - :b :c907; - :b :c908; - :b :c909; - :b :c910; - :b :c911; - :b :c912; - :b :c913; - :b :c914; - :b :c915; - :b :c916; - :b :c917; - :b :c918; - :b :c919; - :b :c920; - :b :c921; - :b :c922; - :b :c923; - :b :c924; - :b :c925; - :b :c926; - :b :c927; - :b :c928; - :b :c929; - :b :c930; - :b :c931; - :b :c932; - :b :c933; - :b :c934; - :b :c935; - :b :c936; - :b :c937; - :b :c938; - :b :c939; - :b :c940; - :b :c941; - :b :c942; - :b :c943; - :b :c944; - :b :c945; - :b :c946; - :b :c947; - :b :c948; - :b :c949; - :b :c950; - :b :c951; - :b :c952; - :b :c953; - :b :c954; - :b :c955; - :b :c956; - :b :c957; - :b :c958; - :b :c959; - :b :c960; - :b :c961; - :b :c962; - :b :c963; - :b :c964; - :b :c965; - :b :c966; - :b :c967; - :b :c968; - :b :c969; - :b :c970; - :b :c971; - :b :c972; - :b :c973; - :b :c974; - :b :c975; - :b :c976; - :b :c977; - :b :c978; - :b :c979; - :b :c980; - :b :c981; - :b :c982; - :b :c983; - :b :c984; - :b :c985; - :b :c986; - :b :c987; - :b :c988; - :b :c989; - :b :c990; - :b :c991; - :b :c992; - :b :c993; - :b :c994; - :b :c995; - :b :c996; - :b :c997; - :b :c998; - :b :c999; - :b :c1000; - :b :c1001; - :b :c1002; - :b :c1003; - :b :c1004; - :b :c1005; - :b :c1006; - :b :c1007; - :b :c1008; - :b :c1009; - :b :c1010; - :b :c1011; - :b :c1012; - :b :c1013; - :b :c1014; - :b :c1015; - :b :c1016; - :b :c1017; - :b :c1018; - :b :c1019; - :b :c1020; - :b :c1021; - :b :c1022; - :b :c1023; - :b :c1024; - :b :c1025; - :b :c1026; - :b :c1027; - :b :c1028; - :b :c1029; - :b :c1030; - :b :c1031; - :b :c1032; - :b :c1033; - :b :c1034; - :b :c1035; - :b :c1036; - :b :c1037; - :b :c1038; - :b :c1039; - :b :c1040; - :b :c1041; - :b :c1042; - :b :c1043; - :b :c1044; - :b :c1045; - :b :c1046; - :b :c1047; - :b :c1048; - :b :c1049; - :b :c1050; - :b :c1051; - :b :c1052; - :b :c1053; - :b :c1054; - :b :c1055; - :b :c1056; - :b :c1057; - :b :c1058; - :b :c1059; - :b :c1060; - :b :c1061; - :b :c1062; - :b :c1063; - :b :c1064; - :b :c1065; - :b :c1066; - :b :c1067; - :b :c1068; - :b :c1069; - :b :c1070; - :b :c1071; - :b :c1072; - :b :c1073; - :b :c1074; - :b :c1075; - :b :c1076; - :b :c1077; - :b :c1078; - :b :c1079; - :b :c1080; - :b :c1081; - :b :c1082; - :b :c1083; - :b :c1084; - :b :c1085; - :b :c1086; - :b :c1087; - :b :c1088; - :b :c1089; - :b :c1090; - :b :c1091; - :b :c1092; - :b :c1093; - :b :c1094; - :b :c1095; - :b :c1096; - :b :c1097; - :b :c1098; - :b :c1099; - :b :c1100; - :b :c1101; - :b :c1102; - :b :c1103; - :b :c1104; - :b :c1105; - :b :c1106; - :b :c1107; - :b :c1108; - :b :c1109; - :b :c1110; - :b :c1111; - :b :c1112; - :b :c1113; - :b :c1114; - :b :c1115; - :b :c1116; - :b :c1117; - :b :c1118; - :b :c1119; - :b :c1120; - :b :c1121; - :b :c1122; - :b :c1123; - :b :c1124; - :b :c1125; - :b :c1126; - :b :c1127; - :b :c1128; - :b :c1129; - :b :c1130; - :b :c1131; - :b :c1132; - :b :c1133; - :b :c1134; - :b :c1135; - :b :c1136; - :b :c1137; - :b :c1138; - :b :c1139; - :b :c1140; - :b :c1141; - :b :c1142; - :b :c1143; - :b :c1144; - :b :c1145; - :b :c1146; - :b :c1147; - :b :c1148; - :b :c1149; - :b :c1150; - :b :c1151; - :b :c1152; - :b :c1153; - :b :c1154; - :b :c1155; - :b :c1156; - :b :c1157; - :b :c1158; - :b :c1159; - :b :c1160; - :b :c1161; - :b :c1162; - :b :c1163; - :b :c1164; - :b :c1165; - :b :c1166; - :b :c1167; - :b :c1168; - :b :c1169; - :b :c1170; - :b :c1171; - :b :c1172; - :b :c1173; - :b :c1174; - :b :c1175; - :b :c1176; - :b :c1177; - :b :c1178; - :b :c1179; - :b :c1180; - :b :c1181; - :b :c1182; - :b :c1183; - :b :c1184; - :b :c1185; - :b :c1186; - :b :c1187; - :b :c1188; - :b :c1189; - :b :c1190; - :b :c1191; - :b :c1192; - :b :c1193; - :b :c1194; - :b :c1195; - :b :c1196; - :b :c1197; - :b :c1198; - :b :c1199; - :b :c1200; - :b :c1201; - :b :c1202; - :b :c1203; - :b :c1204; - :b :c1205; - :b :c1206; - :b :c1207; - :b :c1208; - :b :c1209; - :b :c1210; - :b :c1211; - :b :c1212; - :b :c1213; - :b :c1214; - :b :c1215; - :b :c1216; - :b :c1217; - :b :c1218; - :b :c1219; - :b :c1220; - :b :c1221; - :b :c1222; - :b :c1223; - :b :c1224; - :b :c1225; - :b :c1226; - :b :c1227; - :b :c1228; - :b :c1229; - :b :c1230; - :b :c1231; - :b :c1232; - :b :c1233; - :b :c1234; - :b :c1235; - :b :c1236; - :b :c1237; - :b :c1238; - :b :c1239; - :b :c1240; - :b :c1241; - :b :c1242; - :b :c1243; - :b :c1244; - :b :c1245; - :b :c1246; - :b :c1247; - :b :c1248; - :b :c1249; - :b :c1250; - :b :c1251; - :b :c1252; - :b :c1253; - :b :c1254; - :b :c1255; - :b :c1256; - :b :c1257; - :b :c1258; - :b :c1259; - :b :c1260; - :b :c1261; - :b :c1262; - :b :c1263; - :b :c1264; - :b :c1265; - :b :c1266; - :b :c1267; - :b :c1268; - :b :c1269; - :b :c1270; - :b :c1271; - :b :c1272; - :b :c1273; - :b :c1274; - :b :c1275; - :b :c1276; - :b :c1277; - :b :c1278; - :b :c1279; - :b :c1280; - :b :c1281; - :b :c1282; - :b :c1283; - :b :c1284; - :b :c1285; - :b :c1286; - :b :c1287; - :b :c1288; - :b :c1289; - :b :c1290; - :b :c1291; - :b :c1292; - :b :c1293; - :b :c1294; - :b :c1295; - :b :c1296; - :b :c1297; - :b :c1298; - :b :c1299; - :b :c1300; - :b :c1301; - :b :c1302; - :b :c1303; - :b :c1304; - :b :c1305; - :b :c1306; - :b :c1307; - :b :c1308; - :b :c1309; - :b :c1310; - :b :c1311; - :b :c1312; - :b :c1313; - :b :c1314; - :b :c1315; - :b :c1316; - :b :c1317; - :b :c1318; - :b :c1319; - :b :c1320; - :b :c1321; - :b :c1322; - :b :c1323; - :b :c1324; - :b :c1325; - :b :c1326; - :b :c1327; - :b :c1328; - :b :c1329; - :b :c1330; - :b :c1331; - :b :c1332; - :b :c1333; - :b :c1334; - :b :c1335; - :b :c1336; - :b :c1337; - :b :c1338; - :b :c1339; - :b :c1340; - :b :c1341; - :b :c1342; - :b :c1343; - :b :c1344; - :b :c1345; - :b :c1346; - :b :c1347; - :b :c1348; - :b :c1349; - :b :c1350; - :b :c1351; - :b :c1352; - :b :c1353; - :b :c1354; - :b :c1355; - :b :c1356; - :b :c1357; - :b :c1358; - :b :c1359; - :b :c1360; - :b :c1361; - :b :c1362; - :b :c1363; - :b :c1364; - :b :c1365; - :b :c1366; - :b :c1367; - :b :c1368; - :b :c1369; - :b :c1370; - :b :c1371; - :b :c1372; - :b :c1373; - :b :c1374; - :b :c1375; - :b :c1376; - :b :c1377; - :b :c1378; - :b :c1379; - :b :c1380; - :b :c1381; - :b :c1382; - :b :c1383; - :b :c1384; - :b :c1385; - :b :c1386; - :b :c1387; - :b :c1388; - :b :c1389; - :b :c1390; - :b :c1391; - :b :c1392; - :b :c1393; - :b :c1394; - :b :c1395; - :b :c1396; - :b :c1397; - :b :c1398; - :b :c1399; - :b :c1400; - :b :c1401; - :b :c1402; - :b :c1403; - :b :c1404; - :b :c1405; - :b :c1406; - :b :c1407; - :b :c1408; - :b :c1409; - :b :c1410; - :b :c1411; - :b :c1412; - :b :c1413; - :b :c1414; - :b :c1415; - :b :c1416; - :b :c1417; - :b :c1418; - :b :c1419; - :b :c1420; - :b :c1421; - :b :c1422; - :b :c1423; - :b :c1424; - :b :c1425; - :b :c1426; - :b :c1427; - :b :c1428; - :b :c1429; - :b :c1430; - :b :c1431; - :b :c1432; - :b :c1433; - :b :c1434; - :b :c1435; - :b :c1436; - :b :c1437; - :b :c1438; - :b :c1439; - :b :c1440; - :b :c1441; - :b :c1442; - :b :c1443; - :b :c1444; - :b :c1445; - :b :c1446; - :b :c1447; - :b :c1448; - :b :c1449; - :b :c1450; - :b :c1451; - :b :c1452; - :b :c1453; - :b :c1454; - :b :c1455; - :b :c1456; - :b :c1457; - :b :c1458; - :b :c1459; - :b :c1460; - :b :c1461; - :b :c1462; - :b :c1463; - :b :c1464; - :b :c1465; - :b :c1466; - :b :c1467; - :b :c1468; - :b :c1469; - :b :c1470; - :b :c1471; - :b :c1472; - :b :c1473; - :b :c1474; - :b :c1475; - :b :c1476; - :b :c1477; - :b :c1478; - :b :c1479; - :b :c1480; - :b :c1481; - :b :c1482; - :b :c1483; - :b :c1484; - :b :c1485; - :b :c1486; - :b :c1487; - :b :c1488; - :b :c1489; - :b :c1490; - :b :c1491; - :b :c1492; - :b :c1493; - :b :c1494; - :b :c1495; - :b :c1496; - :b :c1497; - :b :c1498; - :b :c1499; - :b :c1500; - :b :c1501; - :b :c1502; - :b :c1503; - :b :c1504; - :b :c1505; - :b :c1506; - :b :c1507; - :b :c1508; - :b :c1509; - :b :c1510; - :b :c1511; - :b :c1512; - :b :c1513; - :b :c1514; - :b :c1515; - :b :c1516; - :b :c1517; - :b :c1518; - :b :c1519; - :b :c1520; - :b :c1521; - :b :c1522; - :b :c1523; - :b :c1524; - :b :c1525; - :b :c1526; - :b :c1527; - :b :c1528; - :b :c1529; - :b :c1530; - :b :c1531; - :b :c1532; - :b :c1533; - :b :c1534; - :b :c1535; - :b :c1536; - :b :c1537; - :b :c1538; - :b :c1539; - :b :c1540; - :b :c1541; - :b :c1542; - :b :c1543; - :b :c1544; - :b :c1545; - :b :c1546; - :b :c1547; - :b :c1548; - :b :c1549; - :b :c1550; - :b :c1551; - :b :c1552; - :b :c1553; - :b :c1554; - :b :c1555; - :b :c1556; - :b :c1557; - :b :c1558; - :b :c1559; - :b :c1560; - :b :c1561; - :b :c1562; - :b :c1563; - :b :c1564; - :b :c1565; - :b :c1566; - :b :c1567; - :b :c1568; - :b :c1569; - :b :c1570; - :b :c1571; - :b :c1572; - :b :c1573; - :b :c1574; - :b :c1575; - :b :c1576; - :b :c1577; - :b :c1578; - :b :c1579; - :b :c1580; - :b :c1581; - :b :c1582; - :b :c1583; - :b :c1584; - :b :c1585; - :b :c1586; - :b :c1587; - :b :c1588; - :b :c1589; - :b :c1590; - :b :c1591; - :b :c1592; - :b :c1593; - :b :c1594; - :b :c1595; - :b :c1596; - :b :c1597; - :b :c1598; - :b :c1599; - :b :c1600; - :b :c1601; - :b :c1602; - :b :c1603; - :b :c1604; - :b :c1605; - :b :c1606; - :b :c1607; - :b :c1608; - :b :c1609; - :b :c1610; - :b :c1611; - :b :c1612; - :b :c1613; - :b :c1614; - :b :c1615; - :b :c1616; - :b :c1617; - :b :c1618; - :b :c1619; - :b :c1620; - :b :c1621; - :b :c1622; - :b :c1623; - :b :c1624; - :b :c1625; - :b :c1626; - :b :c1627; - :b :c1628; - :b :c1629; - :b :c1630; - :b :c1631; - :b :c1632; - :b :c1633; - :b :c1634; - :b :c1635; - :b :c1636; - :b :c1637; - :b :c1638; - :b :c1639; - :b :c1640; - :b :c1641; - :b :c1642; - :b :c1643; - :b :c1644; - :b :c1645; - :b :c1646; - :b :c1647; - :b :c1648; - :b :c1649; - :b :c1650; - :b :c1651; - :b :c1652; - :b :c1653; - :b :c1654; - :b :c1655; - :b :c1656; - :b :c1657; - :b :c1658; - :b :c1659; - :b :c1660; - :b :c1661; - :b :c1662; - :b :c1663; - :b :c1664; - :b :c1665; - :b :c1666; - :b :c1667; - :b :c1668; - :b :c1669; - :b :c1670; - :b :c1671; - :b :c1672; - :b :c1673; - :b :c1674; - :b :c1675; - :b :c1676; - :b :c1677; - :b :c1678; - :b :c1679; - :b :c1680; - :b :c1681; - :b :c1682; - :b :c1683; - :b :c1684; - :b :c1685; - :b :c1686; - :b :c1687; - :b :c1688; - :b :c1689; - :b :c1690; - :b :c1691; - :b :c1692; - :b :c1693; - :b :c1694; - :b :c1695; - :b :c1696; - :b :c1697; - :b :c1698; - :b :c1699; - :b :c1700; - :b :c1701; - :b :c1702; - :b :c1703; - :b :c1704; - :b :c1705; - :b :c1706; - :b :c1707; - :b :c1708; - :b :c1709; - :b :c1710; - :b :c1711; - :b :c1712; - :b :c1713; - :b :c1714; - :b :c1715; - :b :c1716; - :b :c1717; - :b :c1718; - :b :c1719; - :b :c1720; - :b :c1721; - :b :c1722; - :b :c1723; - :b :c1724; - :b :c1725; - :b :c1726; - :b :c1727; - :b :c1728; - :b :c1729; - :b :c1730; - :b :c1731; - :b :c1732; - :b :c1733; - :b :c1734; - :b :c1735; - :b :c1736; - :b :c1737; - :b :c1738; - :b :c1739; - :b :c1740; - :b :c1741; - :b :c1742; - :b :c1743; - :b :c1744; - :b :c1745; - :b :c1746; - :b :c1747; - :b :c1748; - :b :c1749; - :b :c1750; - :b :c1751; - :b :c1752; - :b :c1753; - :b :c1754; - :b :c1755; - :b :c1756; - :b :c1757; - :b :c1758; - :b :c1759; - :b :c1760; - :b :c1761; - :b :c1762; - :b :c1763; - :b :c1764; - :b :c1765; - :b :c1766; - :b :c1767; - :b :c1768; - :b :c1769; - :b :c1770; - :b :c1771; - :b :c1772; - :b :c1773; - :b :c1774; - :b :c1775; - :b :c1776; - :b :c1777; - :b :c1778; - :b :c1779; - :b :c1780; - :b :c1781; - :b :c1782; - :b :c1783; - :b :c1784; - :b :c1785; - :b :c1786; - :b :c1787; - :b :c1788; - :b :c1789; - :b :c1790; - :b :c1791; - :b :c1792; - :b :c1793; - :b :c1794; - :b :c1795; - :b :c1796; - :b :c1797; - :b :c1798; - :b :c1799; - :b :c1800; - :b :c1801; - :b :c1802; - :b :c1803; - :b :c1804; - :b :c1805; - :b :c1806; - :b :c1807; - :b :c1808; - :b :c1809; - :b :c1810; - :b :c1811; - :b :c1812; - :b :c1813; - :b :c1814; - :b :c1815; - :b :c1816; - :b :c1817; - :b :c1818; - :b :c1819; - :b :c1820; - :b :c1821; - :b :c1822; - :b :c1823; - :b :c1824; - :b :c1825; - :b :c1826; - :b :c1827; - :b :c1828; - :b :c1829; - :b :c1830; - :b :c1831; - :b :c1832; - :b :c1833; - :b :c1834; - :b :c1835; - :b :c1836; - :b :c1837; - :b :c1838; - :b :c1839; - :b :c1840; - :b :c1841; - :b :c1842; - :b :c1843; - :b :c1844; - :b :c1845; - :b :c1846; - :b :c1847; - :b :c1848; - :b :c1849; - :b :c1850; - :b :c1851; - :b :c1852; - :b :c1853; - :b :c1854; - :b :c1855; - :b :c1856; - :b :c1857; - :b :c1858; - :b :c1859; - :b :c1860; - :b :c1861; - :b :c1862; - :b :c1863; - :b :c1864; - :b :c1865; - :b :c1866; - :b :c1867; - :b :c1868; - :b :c1869; - :b :c1870; - :b :c1871; - :b :c1872; - :b :c1873; - :b :c1874; - :b :c1875; - :b :c1876; - :b :c1877; - :b :c1878; - :b :c1879; - :b :c1880; - :b :c1881; - :b :c1882; - :b :c1883; - :b :c1884; - :b :c1885; - :b :c1886; - :b :c1887; - :b :c1888; - :b :c1889; - :b :c1890; - :b :c1891; - :b :c1892; - :b :c1893; - :b :c1894; - :b :c1895; - :b :c1896; - :b :c1897; - :b :c1898; - :b :c1899; - :b :c1900; - :b :c1901; - :b :c1902; - :b :c1903; - :b :c1904; - :b :c1905; - :b :c1906; - :b :c1907; - :b :c1908; - :b :c1909; - :b :c1910; - :b :c1911; - :b :c1912; - :b :c1913; - :b :c1914; - :b :c1915; - :b :c1916; - :b :c1917; - :b :c1918; - :b :c1919; - :b :c1920; - :b :c1921; - :b :c1922; - :b :c1923; - :b :c1924; - :b :c1925; - :b :c1926; - :b :c1927; - :b :c1928; - :b :c1929; - :b :c1930; - :b :c1931; - :b :c1932; - :b :c1933; - :b :c1934; - :b :c1935; - :b :c1936; - :b :c1937; - :b :c1938; - :b :c1939; - :b :c1940; - :b :c1941; - :b :c1942; - :b :c1943; - :b :c1944; - :b :c1945; - :b :c1946; - :b :c1947; - :b :c1948; - :b :c1949; - :b :c1950; - :b :c1951; - :b :c1952; - :b :c1953; - :b :c1954; - :b :c1955; - :b :c1956; - :b :c1957; - :b :c1958; - :b :c1959; - :b :c1960; - :b :c1961; - :b :c1962; - :b :c1963; - :b :c1964; - :b :c1965; - :b :c1966; - :b :c1967; - :b :c1968; - :b :c1969; - :b :c1970; - :b :c1971; - :b :c1972; - :b :c1973; - :b :c1974; - :b :c1975; - :b :c1976; - :b :c1977; - :b :c1978; - :b :c1979; - :b :c1980; - :b :c1981; - :b :c1982; - :b :c1983; - :b :c1984; - :b :c1985; - :b :c1986; - :b :c1987; - :b :c1988; - :b :c1989; - :b :c1990; - :b :c1991; - :b :c1992; - :b :c1993; - :b :c1994; - :b :c1995; - :b :c1996; - :b :c1997; - :b :c1998; - :b :c1999; - :b :c2000; - :b :c2001; - :b :c2002; - :b :c2003; - :b :c2004; - :b :c2005; - :b :c2006; - :b :c2007; - :b :c2008; - :b :c2009; - :b :c2010; - :b :c2011; - :b :c2012; - :b :c2013; - :b :c2014; - :b :c2015; - :b :c2016; - :b :c2017; - :b :c2018; - :b :c2019; - :b :c2020; - :b :c2021; - :b :c2022; - :b :c2023; - :b :c2024; - :b :c2025; - :b :c2026; - :b :c2027; - :b :c2028; - :b :c2029; - :b :c2030; - :b :c2031; - :b :c2032; - :b :c2033; - :b :c2034; - :b :c2035; - :b :c2036; - :b :c2037; - :b :c2038; - :b :c2039; - :b :c2040; - :b :c2041; - :b :c2042; - :b :c2043; - :b :c2044; - :b :c2045; - :b :c2046; - :b :c2047; - :b :c2048; - :b :c2049; - :b :c2050; - :b :c2051; - :b :c2052; - :b :c2053; - :b :c2054; - :b :c2055; - :b :c2056; - :b :c2057; - :b :c2058; - :b :c2059; - :b :c2060; - :b :c2061; - :b :c2062; - :b :c2063; - :b :c2064; - :b :c2065; - :b :c2066; - :b :c2067; - :b :c2068; - :b :c2069; - :b :c2070; - :b :c2071; - :b :c2072; - :b :c2073; - :b :c2074; - :b :c2075; - :b :c2076; - :b :c2077; - :b :c2078; - :b :c2079; - :b :c2080; - :b :c2081; - :b :c2082; - :b :c2083; - :b :c2084; - :b :c2085; - :b :c2086; - :b :c2087; - :b :c2088; - :b :c2089; - :b :c2090; - :b :c2091; - :b :c2092; - :b :c2093; - :b :c2094; - :b :c2095; - :b :c2096; - :b :c2097; - :b :c2098; - :b :c2099; - :b :c2100; - :b :c2101; - :b :c2102; - :b :c2103; - :b :c2104; - :b :c2105; - :b :c2106; - :b :c2107; - :b :c2108; - :b :c2109; - :b :c2110; - :b :c2111; - :b :c2112; - :b :c2113; - :b :c2114; - :b :c2115; - :b :c2116; - :b :c2117; - :b :c2118; - :b :c2119; - :b :c2120; - :b :c2121; - :b :c2122; - :b :c2123; - :b :c2124; - :b :c2125; - :b :c2126; - :b :c2127; - :b :c2128; - :b :c2129; - :b :c2130; - :b :c2131; - :b :c2132; - :b :c2133; - :b :c2134; - :b :c2135; - :b :c2136; - :b :c2137; - :b :c2138; - :b :c2139; - :b :c2140; - :b :c2141; - :b :c2142; - :b :c2143; - :b :c2144; - :b :c2145; - :b :c2146; - :b :c2147; - :b :c2148; - :b :c2149; - :b :c2150; - :b :c2151; - :b :c2152; - :b :c2153; - :b :c2154; - :b :c2155; - :b :c2156; - :b :c2157; - :b :c2158; - :b :c2159; - :b :c2160; - :b :c2161; - :b :c2162; - :b :c2163; - :b :c2164; - :b :c2165; - :b :c2166; - :b :c2167; - :b :c2168; - :b :c2169; - :b :c2170; - :b :c2171; - :b :c2172; - :b :c2173; - :b :c2174; - :b :c2175; - :b :c2176; - :b :c2177; - :b :c2178; - :b :c2179; - :b :c2180; - :b :c2181; - :b :c2182; - :b :c2183; - :b :c2184; - :b :c2185; - :b :c2186; - :b :c2187; - :b :c2188; - :b :c2189; - :b :c2190; - :b :c2191; - :b :c2192; - :b :c2193; - :b :c2194; - :b :c2195; - :b :c2196; - :b :c2197; - :b :c2198; - :b :c2199; - :b :c2200; - :b :c2201; - :b :c2202; - :b :c2203; - :b :c2204; - :b :c2205; - :b :c2206; - :b :c2207; - :b :c2208; - :b :c2209; - :b :c2210; - :b :c2211; - :b :c2212; - :b :c2213; - :b :c2214; - :b :c2215; - :b :c2216; - :b :c2217; - :b :c2218; - :b :c2219; - :b :c2220; - :b :c2221; - :b :c2222; - :b :c2223; - :b :c2224; - :b :c2225; - :b :c2226; - :b :c2227; - :b :c2228; - :b :c2229; - :b :c2230; - :b :c2231; - :b :c2232; - :b :c2233; - :b :c2234; - :b :c2235; - :b :c2236; - :b :c2237; - :b :c2238; - :b :c2239; - :b :c2240; - :b :c2241; - :b :c2242; - :b :c2243; - :b :c2244; - :b :c2245; - :b :c2246; - :b :c2247; - :b :c2248; - :b :c2249; - :b :c2250; - :b :c2251; - :b :c2252; - :b :c2253; - :b :c2254; - :b :c2255; - :b :c2256; - :b :c2257; - :b :c2258; - :b :c2259; - :b :c2260; - :b :c2261; - :b :c2262; - :b :c2263; - :b :c2264; - :b :c2265; - :b :c2266; - :b :c2267; - :b :c2268; - :b :c2269; - :b :c2270; - :b :c2271; - :b :c2272; - :b :c2273; - :b :c2274; - :b :c2275; - :b :c2276; - :b :c2277; - :b :c2278; - :b :c2279; - :b :c2280; - :b :c2281; - :b :c2282; - :b :c2283; - :b :c2284; - :b :c2285; - :b :c2286; - :b :c2287; - :b :c2288; - :b :c2289; - :b :c2290; - :b :c2291; - :b :c2292; - :b :c2293; - :b :c2294; - :b :c2295; - :b :c2296; - :b :c2297; - :b :c2298; - :b :c2299; - :b :c2300; - :b :c2301; - :b :c2302; - :b :c2303; - :b :c2304; - :b :c2305; - :b :c2306; - :b :c2307; - :b :c2308; - :b :c2309; - :b :c2310; - :b :c2311; - :b :c2312; - :b :c2313; - :b :c2314; - :b :c2315; - :b :c2316; - :b :c2317; - :b :c2318; - :b :c2319; - :b :c2320; - :b :c2321; - :b :c2322; - :b :c2323; - :b :c2324; - :b :c2325; - :b :c2326; - :b :c2327; - :b :c2328; - :b :c2329; - :b :c2330; - :b :c2331; - :b :c2332; - :b :c2333; - :b :c2334; - :b :c2335; - :b :c2336; - :b :c2337; - :b :c2338; - :b :c2339; - :b :c2340; - :b :c2341; - :b :c2342; - :b :c2343; - :b :c2344; - :b :c2345; - :b :c2346; - :b :c2347; - :b :c2348; - :b :c2349; - :b :c2350; - :b :c2351; - :b :c2352; - :b :c2353; - :b :c2354; - :b :c2355; - :b :c2356; - :b :c2357; - :b :c2358; - :b :c2359; - :b :c2360; - :b :c2361; - :b :c2362; - :b :c2363; - :b :c2364; - :b :c2365; - :b :c2366; - :b :c2367; - :b :c2368; - :b :c2369; - :b :c2370; - :b :c2371; - :b :c2372; - :b :c2373; - :b :c2374; - :b :c2375; - :b :c2376; - :b :c2377; - :b :c2378; - :b :c2379; - :b :c2380; - :b :c2381; - :b :c2382; - :b :c2383; - :b :c2384; - :b :c2385; - :b :c2386; - :b :c2387; - :b :c2388; - :b :c2389; - :b :c2390; - :b :c2391; - :b :c2392; - :b :c2393; - :b :c2394; - :b :c2395; - :b :c2396; - :b :c2397; - :b :c2398; - :b :c2399; - :b :c2400; - :b :c2401; - :b :c2402; - :b :c2403; - :b :c2404; - :b :c2405; - :b :c2406; - :b :c2407; - :b :c2408; - :b :c2409; - :b :c2410; - :b :c2411; - :b :c2412; - :b :c2413; - :b :c2414; - :b :c2415; - :b :c2416; - :b :c2417; - :b :c2418; - :b :c2419; - :b :c2420; - :b :c2421; - :b :c2422; - :b :c2423; - :b :c2424; - :b :c2425; - :b :c2426; - :b :c2427; - :b :c2428; - :b :c2429; - :b :c2430; - :b :c2431; - :b :c2432; - :b :c2433; - :b :c2434; - :b :c2435; - :b :c2436; - :b :c2437; - :b :c2438; - :b :c2439; - :b :c2440; - :b :c2441; - :b :c2442; - :b :c2443; - :b :c2444; - :b :c2445; - :b :c2446; - :b :c2447; - :b :c2448; - :b :c2449; - :b :c2450; - :b :c2451; - :b :c2452; - :b :c2453; - :b :c2454; - :b :c2455; - :b :c2456; - :b :c2457; - :b :c2458; - :b :c2459; - :b :c2460; - :b :c2461; - :b :c2462; - :b :c2463; - :b :c2464; - :b :c2465; - :b :c2466; - :b :c2467; - :b :c2468; - :b :c2469; - :b :c2470; - :b :c2471; - :b :c2472; - :b :c2473; - :b :c2474; - :b :c2475; - :b :c2476; - :b :c2477; - :b :c2478; - :b :c2479; - :b :c2480; - :b :c2481; - :b :c2482; - :b :c2483; - :b :c2484; - :b :c2485; - :b :c2486; - :b :c2487; - :b :c2488; - :b :c2489; - :b :c2490; - :b :c2491; - :b :c2492; - :b :c2493; - :b :c2494; - :b :c2495; - :b :c2496; - :b :c2497; - :b :c2498; - :b :c2499; - :b :c2500; - :b :c2501; - :b :c2502; - :b :c2503; - :b :c2504; - :b :c2505; - :b :c2506; - :b :c2507; - :b :c2508; - :b :c2509; - :b :c2510; - :b :c2511; - :b :c2512; - :b :c2513; - :b :c2514; - :b :c2515; - :b :c2516; - :b :c2517; - :b :c2518; - :b :c2519; - :b :c2520; - :b :c2521; - :b :c2522; - :b :c2523; - :b :c2524; - :b :c2525; - :b :c2526; - :b :c2527; - :b :c2528; - :b :c2529; - :b :c2530; - :b :c2531; - :b :c2532; - :b :c2533; - :b :c2534; - :b :c2535; - :b :c2536; - :b :c2537; - :b :c2538; - :b :c2539; - :b :c2540; - :b :c2541; - :b :c2542; - :b :c2543; - :b :c2544; - :b :c2545; - :b :c2546; - :b :c2547; - :b :c2548; - :b :c2549; - :b :c2550; - :b :c2551; - :b :c2552; - :b :c2553; - :b :c2554; - :b :c2555; - :b :c2556; - :b :c2557; - :b :c2558; - :b :c2559; - :b :c2560; - :b :c2561; - :b :c2562; - :b :c2563; - :b :c2564; - :b :c2565; - :b :c2566; - :b :c2567; - :b :c2568; - :b :c2569; - :b :c2570; - :b :c2571; - :b :c2572; - :b :c2573; - :b :c2574; - :b :c2575; - :b :c2576; - :b :c2577; - :b :c2578; - :b :c2579; - :b :c2580; - :b :c2581; - :b :c2582; - :b :c2583; - :b :c2584; - :b :c2585; - :b :c2586; - :b :c2587; - :b :c2588; - :b :c2589; - :b :c2590; - :b :c2591; - :b :c2592; - :b :c2593; - :b :c2594; - :b :c2595; - :b :c2596; - :b :c2597; - :b :c2598; - :b :c2599; - :b :c2600; - :b :c2601; - :b :c2602; - :b :c2603; - :b :c2604; - :b :c2605; - :b :c2606; - :b :c2607; - :b :c2608; - :b :c2609; - :b :c2610; - :b :c2611; - :b :c2612; - :b :c2613; - :b :c2614; - :b :c2615; - :b :c2616; - :b :c2617; - :b :c2618; - :b :c2619; - :b :c2620; - :b :c2621; - :b :c2622; - :b :c2623; - :b :c2624; - :b :c2625; - :b :c2626; - :b :c2627; - :b :c2628; - :b :c2629; - :b :c2630; - :b :c2631; - :b :c2632; - :b :c2633; - :b :c2634; - :b :c2635; - :b :c2636; - :b :c2637; - :b :c2638; - :b :c2639; - :b :c2640; - :b :c2641; - :b :c2642; - :b :c2643; - :b :c2644; - :b :c2645; - :b :c2646; - :b :c2647; - :b :c2648; - :b :c2649; - :b :c2650; - :b :c2651; - :b :c2652; - :b :c2653; - :b :c2654; - :b :c2655; - :b :c2656; - :b :c2657; - :b :c2658; - :b :c2659; - :b :c2660; - :b :c2661; - :b :c2662; - :b :c2663; - :b :c2664; - :b :c2665; - :b :c2666; - :b :c2667; - :b :c2668; - :b :c2669; - :b :c2670; - :b :c2671; - :b :c2672; - :b :c2673; - :b :c2674; - :b :c2675; - :b :c2676; - :b :c2677; - :b :c2678; - :b :c2679; - :b :c2680; - :b :c2681; - :b :c2682; - :b :c2683; - :b :c2684; - :b :c2685; - :b :c2686; - :b :c2687; - :b :c2688; - :b :c2689; - :b :c2690; - :b :c2691; - :b :c2692; - :b :c2693; - :b :c2694; - :b :c2695; - :b :c2696; - :b :c2697; - :b :c2698; - :b :c2699; - :b :c2700; - :b :c2701; - :b :c2702; - :b :c2703; - :b :c2704; - :b :c2705; - :b :c2706; - :b :c2707; - :b :c2708; - :b :c2709; - :b :c2710; - :b :c2711; - :b :c2712; - :b :c2713; - :b :c2714; - :b :c2715; - :b :c2716; - :b :c2717; - :b :c2718; - :b :c2719; - :b :c2720; - :b :c2721; - :b :c2722; - :b :c2723; - :b :c2724; - :b :c2725; - :b :c2726; - :b :c2727; - :b :c2728; - :b :c2729; - :b :c2730; - :b :c2731; - :b :c2732; - :b :c2733; - :b :c2734; - :b :c2735; - :b :c2736; - :b :c2737; - :b :c2738; - :b :c2739; - :b :c2740; - :b :c2741; - :b :c2742; - :b :c2743; - :b :c2744; - :b :c2745; - :b :c2746; - :b :c2747; - :b :c2748; - :b :c2749; - :b :c2750; - :b :c2751; - :b :c2752; - :b :c2753; - :b :c2754; - :b :c2755; - :b :c2756; - :b :c2757; - :b :c2758; - :b :c2759; - :b :c2760; - :b :c2761; - :b :c2762; - :b :c2763; - :b :c2764; - :b :c2765; - :b :c2766; - :b :c2767; - :b :c2768; - :b :c2769; - :b :c2770; - :b :c2771; - :b :c2772; - :b :c2773; - :b :c2774; - :b :c2775; - :b :c2776; - :b :c2777; - :b :c2778; - :b :c2779; - :b :c2780; - :b :c2781; - :b :c2782; - :b :c2783; - :b :c2784; - :b :c2785; - :b :c2786; - :b :c2787; - :b :c2788; - :b :c2789; - :b :c2790; - :b :c2791; - :b :c2792; - :b :c2793; - :b :c2794; - :b :c2795; - :b :c2796; - :b :c2797; - :b :c2798; - :b :c2799; - :b :c2800; - :b :c2801; - :b :c2802; - :b :c2803; - :b :c2804; - :b :c2805; - :b :c2806; - :b :c2807; - :b :c2808; - :b :c2809; - :b :c2810; - :b :c2811; - :b :c2812; - :b :c2813; - :b :c2814; - :b :c2815; - :b :c2816; - :b :c2817; - :b :c2818; - :b :c2819; - :b :c2820; - :b :c2821; - :b :c2822; - :b :c2823; - :b :c2824; - :b :c2825; - :b :c2826; - :b :c2827; - :b :c2828; - :b :c2829; - :b :c2830; - :b :c2831; - :b :c2832; - :b :c2833; - :b :c2834; - :b :c2835; - :b :c2836; - :b :c2837; - :b :c2838; - :b :c2839; - :b :c2840; - :b :c2841; - :b :c2842; - :b :c2843; - :b :c2844; - :b :c2845; - :b :c2846; - :b :c2847; - :b :c2848; - :b :c2849; - :b :c2850; - :b :c2851; - :b :c2852; - :b :c2853; - :b :c2854; - :b :c2855; - :b :c2856; - :b :c2857; - :b :c2858; - :b :c2859; - :b :c2860; - :b :c2861; - :b :c2862; - :b :c2863; - :b :c2864; - :b :c2865; - :b :c2866; - :b :c2867; - :b :c2868; - :b :c2869; - :b :c2870; - :b :c2871; - :b :c2872; - :b :c2873; - :b :c2874; - :b :c2875; - :b :c2876; - :b :c2877; - :b :c2878; - :b :c2879; - :b :c2880; - :b :c2881; - :b :c2882; - :b :c2883; - :b :c2884; - :b :c2885; - :b :c2886; - :b :c2887; - :b :c2888; - :b :c2889; - :b :c2890; - :b :c2891; - :b :c2892; - :b :c2893; - :b :c2894; - :b :c2895; - :b :c2896; - :b :c2897; - :b :c2898; - :b :c2899; - :b :c2900; - :b :c2901; - :b :c2902; - :b :c2903; - :b :c2904; - :b :c2905; - :b :c2906; - :b :c2907; - :b :c2908; - :b :c2909; - :b :c2910; - :b :c2911; - :b :c2912; - :b :c2913; - :b :c2914; - :b :c2915; - :b :c2916; - :b :c2917; - :b :c2918; - :b :c2919; - :b :c2920; - :b :c2921; - :b :c2922; - :b :c2923; - :b :c2924; - :b :c2925; - :b :c2926; - :b :c2927; - :b :c2928; - :b :c2929; - :b :c2930; - :b :c2931; - :b :c2932; - :b :c2933; - :b :c2934; - :b :c2935; - :b :c2936; - :b :c2937; - :b :c2938; - :b :c2939; - :b :c2940; - :b :c2941; - :b :c2942; - :b :c2943; - :b :c2944; - :b :c2945; - :b :c2946; - :b :c2947; - :b :c2948; - :b :c2949; - :b :c2950; - :b :c2951; - :b :c2952; - :b :c2953; - :b :c2954; - :b :c2955; - :b :c2956; - :b :c2957; - :b :c2958; - :b :c2959; - :b :c2960; - :b :c2961; - :b :c2962; - :b :c2963; - :b :c2964; - :b :c2965; - :b :c2966; - :b :c2967; - :b :c2968; - :b :c2969; - :b :c2970; - :b :c2971; - :b :c2972; - :b :c2973; - :b :c2974; - :b :c2975; - :b :c2976; - :b :c2977; - :b :c2978; - :b :c2979; - :b :c2980; - :b :c2981; - :b :c2982; - :b :c2983; - :b :c2984; - :b :c2985; - :b :c2986; - :b :c2987; - :b :c2988; - :b :c2989; - :b :c2990; - :b :c2991; - :b :c2992; - :b :c2993; - :b :c2994; - :b :c2995; - :b :c2996; - :b :c2997; - :b :c2998; - :b :c2999; - :b :c3000; - :b :c3001; - :b :c3002; - :b :c3003; - :b :c3004; - :b :c3005; - :b :c3006; - :b :c3007; - :b :c3008; - :b :c3009; - :b :c3010; - :b :c3011; - :b :c3012; - :b :c3013; - :b :c3014; - :b :c3015; - :b :c3016; - :b :c3017; - :b :c3018; - :b :c3019; - :b :c3020; - :b :c3021; - :b :c3022; - :b :c3023; - :b :c3024; - :b :c3025; - :b :c3026; - :b :c3027; - :b :c3028; - :b :c3029; - :b :c3030; - :b :c3031; - :b :c3032; - :b :c3033; - :b :c3034; - :b :c3035; - :b :c3036; - :b :c3037; - :b :c3038; - :b :c3039; - :b :c3040; - :b :c3041; - :b :c3042; - :b :c3043; - :b :c3044; - :b :c3045; - :b :c3046; - :b :c3047; - :b :c3048; - :b :c3049; - :b :c3050; - :b :c3051; - :b :c3052; - :b :c3053; - :b :c3054; - :b :c3055; - :b :c3056; - :b :c3057; - :b :c3058; - :b :c3059; - :b :c3060; - :b :c3061; - :b :c3062; - :b :c3063; - :b :c3064; - :b :c3065; - :b :c3066; - :b :c3067; - :b :c3068; - :b :c3069; - :b :c3070; - :b :c3071; - :b :c3072; - :b :c3073; - :b :c3074; - :b :c3075; - :b :c3076; - :b :c3077; - :b :c3078; - :b :c3079; - :b :c3080; - :b :c3081; - :b :c3082; - :b :c3083; - :b :c3084; - :b :c3085; - :b :c3086; - :b :c3087; - :b :c3088; - :b :c3089; - :b :c3090; - :b :c3091; - :b :c3092; - :b :c3093; - :b :c3094; - :b :c3095; - :b :c3096; - :b :c3097; - :b :c3098; - :b :c3099; - :b :c3100; - :b :c3101; - :b :c3102; - :b :c3103; - :b :c3104; - :b :c3105; - :b :c3106; - :b :c3107; - :b :c3108; - :b :c3109; - :b :c3110; - :b :c3111; - :b :c3112; - :b :c3113; - :b :c3114; - :b :c3115; - :b :c3116; - :b :c3117; - :b :c3118; - :b :c3119; - :b :c3120; - :b :c3121; - :b :c3122; - :b :c3123; - :b :c3124; - :b :c3125; - :b :c3126; - :b :c3127; - :b :c3128; - :b :c3129; - :b :c3130; - :b :c3131; - :b :c3132; - :b :c3133; - :b :c3134; - :b :c3135; - :b :c3136; - :b :c3137; - :b :c3138; - :b :c3139; - :b :c3140; - :b :c3141; - :b :c3142; - :b :c3143; - :b :c3144; - :b :c3145; - :b :c3146; - :b :c3147; - :b :c3148; - :b :c3149; - :b :c3150; - :b :c3151; - :b :c3152; - :b :c3153; - :b :c3154; - :b :c3155; - :b :c3156; - :b :c3157; - :b :c3158; - :b :c3159; - :b :c3160; - :b :c3161; - :b :c3162; - :b :c3163; - :b :c3164; - :b :c3165; - :b :c3166; - :b :c3167; - :b :c3168; - :b :c3169; - :b :c3170; - :b :c3171; - :b :c3172; - :b :c3173; - :b :c3174; - :b :c3175; - :b :c3176; - :b :c3177; - :b :c3178; - :b :c3179; - :b :c3180; - :b :c3181; - :b :c3182; - :b :c3183; - :b :c3184; - :b :c3185; - :b :c3186; - :b :c3187; - :b :c3188; - :b :c3189; - :b :c3190; - :b :c3191; - :b :c3192; - :b :c3193; - :b :c3194; - :b :c3195; - :b :c3196; - :b :c3197; - :b :c3198; - :b :c3199; - :b :c3200; - :b :c3201; - :b :c3202; - :b :c3203; - :b :c3204; - :b :c3205; - :b :c3206; - :b :c3207; - :b :c3208; - :b :c3209; - :b :c3210; - :b :c3211; - :b :c3212; - :b :c3213; - :b :c3214; - :b :c3215; - :b :c3216; - :b :c3217; - :b :c3218; - :b :c3219; - :b :c3220; - :b :c3221; - :b :c3222; - :b :c3223; - :b :c3224; - :b :c3225; - :b :c3226; - :b :c3227; - :b :c3228; - :b :c3229; - :b :c3230; - :b :c3231; - :b :c3232; - :b :c3233; - :b :c3234; - :b :c3235; - :b :c3236; - :b :c3237; - :b :c3238; - :b :c3239; - :b :c3240; - :b :c3241; - :b :c3242; - :b :c3243; - :b :c3244; - :b :c3245; - :b :c3246; - :b :c3247; - :b :c3248; - :b :c3249; - :b :c3250; - :b :c3251; - :b :c3252; - :b :c3253; - :b :c3254; - :b :c3255; - :b :c3256; - :b :c3257; - :b :c3258; - :b :c3259; - :b :c3260; - :b :c3261; - :b :c3262; - :b :c3263; - :b :c3264; - :b :c3265; - :b :c3266; - :b :c3267; - :b :c3268; - :b :c3269; - :b :c3270; - :b :c3271; - :b :c3272; - :b :c3273; - :b :c3274; - :b :c3275; - :b :c3276; - :b :c3277; - :b :c3278; - :b :c3279; - :b :c3280; - :b :c3281; - :b :c3282; - :b :c3283; - :b :c3284; - :b :c3285; - :b :c3286; - :b :c3287; - :b :c3288; - :b :c3289; - :b :c3290; - :b :c3291; - :b :c3292; - :b :c3293; - :b :c3294; - :b :c3295; - :b :c3296; - :b :c3297; - :b :c3298; - :b :c3299; - :b :c3300; - :b :c3301; - :b :c3302; - :b :c3303; - :b :c3304; - :b :c3305; - :b :c3306; - :b :c3307; - :b :c3308; - :b :c3309; - :b :c3310; - :b :c3311; - :b :c3312; - :b :c3313; - :b :c3314; - :b :c3315; - :b :c3316; - :b :c3317; - :b :c3318; - :b :c3319; - :b :c3320; - :b :c3321; - :b :c3322; - :b :c3323; - :b :c3324; - :b :c3325; - :b :c3326; - :b :c3327; - :b :c3328; - :b :c3329; - :b :c3330; - :b :c3331; - :b :c3332; - :b :c3333; - :b :c3334; - :b :c3335; - :b :c3336; - :b :c3337; - :b :c3338; - :b :c3339; - :b :c3340; - :b :c3341; - :b :c3342; - :b :c3343; - :b :c3344; - :b :c3345; - :b :c3346; - :b :c3347; - :b :c3348; - :b :c3349; - :b :c3350; - :b :c3351; - :b :c3352; - :b :c3353; - :b :c3354; - :b :c3355; - :b :c3356; - :b :c3357; - :b :c3358; - :b :c3359; - :b :c3360; - :b :c3361; - :b :c3362; - :b :c3363; - :b :c3364; - :b :c3365; - :b :c3366; - :b :c3367; - :b :c3368; - :b :c3369; - :b :c3370; - :b :c3371; - :b :c3372; - :b :c3373; - :b :c3374; - :b :c3375; - :b :c3376; - :b :c3377; - :b :c3378; - :b :c3379; - :b :c3380; - :b :c3381; - :b :c3382; - :b :c3383; - :b :c3384; - :b :c3385; - :b :c3386; - :b :c3387; - :b :c3388; - :b :c3389; - :b :c3390; - :b :c3391; - :b :c3392; - :b :c3393; - :b :c3394; - :b :c3395; - :b :c3396; - :b :c3397; - :b :c3398; - :b :c3399; - :b :c3400; - :b :c3401; - :b :c3402; - :b :c3403; - :b :c3404; - :b :c3405; - :b :c3406; - :b :c3407; - :b :c3408; - :b :c3409; - :b :c3410; - :b :c3411; - :b :c3412; - :b :c3413; - :b :c3414; - :b :c3415; - :b :c3416; - :b :c3417; - :b :c3418; - :b :c3419; - :b :c3420; - :b :c3421; - :b :c3422; - :b :c3423; - :b :c3424; - :b :c3425; - :b :c3426; - :b :c3427; - :b :c3428; - :b :c3429; - :b :c3430; - :b :c3431; - :b :c3432; - :b :c3433; - :b :c3434; - :b :c3435; - :b :c3436; - :b :c3437; - :b :c3438; - :b :c3439; - :b :c3440; - :b :c3441; - :b :c3442; - :b :c3443; - :b :c3444; - :b :c3445; - :b :c3446; - :b :c3447; - :b :c3448; - :b :c3449; - :b :c3450; - :b :c3451; - :b :c3452; - :b :c3453; - :b :c3454; - :b :c3455; - :b :c3456; - :b :c3457; - :b :c3458; - :b :c3459; - :b :c3460; - :b :c3461; - :b :c3462; - :b :c3463; - :b :c3464; - :b :c3465; - :b :c3466; - :b :c3467; - :b :c3468; - :b :c3469; - :b :c3470; - :b :c3471; - :b :c3472; - :b :c3473; - :b :c3474; - :b :c3475; - :b :c3476; - :b :c3477; - :b :c3478; - :b :c3479; - :b :c3480; - :b :c3481; - :b :c3482; - :b :c3483; - :b :c3484; - :b :c3485; - :b :c3486; - :b :c3487; - :b :c3488; - :b :c3489; - :b :c3490; - :b :c3491; - :b :c3492; - :b :c3493; - :b :c3494; - :b :c3495; - :b :c3496; - :b :c3497; - :b :c3498; - :b :c3499; - :b :c3500; - :b :c3501; - :b :c3502; - :b :c3503; - :b :c3504; - :b :c3505; - :b :c3506; - :b :c3507; - :b :c3508; - :b :c3509; - :b :c3510; - :b :c3511; - :b :c3512; - :b :c3513; - :b :c3514; - :b :c3515; - :b :c3516; - :b :c3517; - :b :c3518; - :b :c3519; - :b :c3520; - :b :c3521; - :b :c3522; - :b :c3523; - :b :c3524; - :b :c3525; - :b :c3526; - :b :c3527; - :b :c3528; - :b :c3529; - :b :c3530; - :b :c3531; - :b :c3532; - :b :c3533; - :b :c3534; - :b :c3535; - :b :c3536; - :b :c3537; - :b :c3538; - :b :c3539; - :b :c3540; - :b :c3541; - :b :c3542; - :b :c3543; - :b :c3544; - :b :c3545; - :b :c3546; - :b :c3547; - :b :c3548; - :b :c3549; - :b :c3550; - :b :c3551; - :b :c3552; - :b :c3553; - :b :c3554; - :b :c3555; - :b :c3556; - :b :c3557; - :b :c3558; - :b :c3559; - :b :c3560; - :b :c3561; - :b :c3562; - :b :c3563; - :b :c3564; - :b :c3565; - :b :c3566; - :b :c3567; - :b :c3568; - :b :c3569; - :b :c3570; - :b :c3571; - :b :c3572; - :b :c3573; - :b :c3574; - :b :c3575; - :b :c3576; - :b :c3577; - :b :c3578; - :b :c3579; - :b :c3580; - :b :c3581; - :b :c3582; - :b :c3583; - :b :c3584; - :b :c3585; - :b :c3586; - :b :c3587; - :b :c3588; - :b :c3589; - :b :c3590; - :b :c3591; - :b :c3592; - :b :c3593; - :b :c3594; - :b :c3595; - :b :c3596; - :b :c3597; - :b :c3598; - :b :c3599; - :b :c3600; - :b :c3601; - :b :c3602; - :b :c3603; - :b :c3604; - :b :c3605; - :b :c3606; - :b :c3607; - :b :c3608; - :b :c3609; - :b :c3610; - :b :c3611; - :b :c3612; - :b :c3613; - :b :c3614; - :b :c3615; - :b :c3616; - :b :c3617; - :b :c3618; - :b :c3619; - :b :c3620; - :b :c3621; - :b :c3622; - :b :c3623; - :b :c3624; - :b :c3625; - :b :c3626; - :b :c3627; - :b :c3628; - :b :c3629; - :b :c3630; - :b :c3631; - :b :c3632; - :b :c3633; - :b :c3634; - :b :c3635; - :b :c3636; - :b :c3637; - :b :c3638; - :b :c3639; - :b :c3640; - :b :c3641; - :b :c3642; - :b :c3643; - :b :c3644; - :b :c3645; - :b :c3646; - :b :c3647; - :b :c3648; - :b :c3649; - :b :c3650; - :b :c3651; - :b :c3652; - :b :c3653; - :b :c3654; - :b :c3655; - :b :c3656; - :b :c3657; - :b :c3658; - :b :c3659; - :b :c3660; - :b :c3661; - :b :c3662; - :b :c3663; - :b :c3664; - :b :c3665; - :b :c3666; - :b :c3667; - :b :c3668; - :b :c3669; - :b :c3670; - :b :c3671; - :b :c3672; - :b :c3673; - :b :c3674; - :b :c3675; - :b :c3676; - :b :c3677; - :b :c3678; - :b :c3679; - :b :c3680; - :b :c3681; - :b :c3682; - :b :c3683; - :b :c3684; - :b :c3685; - :b :c3686; - :b :c3687; - :b :c3688; - :b :c3689; - :b :c3690; - :b :c3691; - :b :c3692; - :b :c3693; - :b :c3694; - :b :c3695; - :b :c3696; - :b :c3697; - :b :c3698; - :b :c3699; - :b :c3700; - :b :c3701; - :b :c3702; - :b :c3703; - :b :c3704; - :b :c3705; - :b :c3706; - :b :c3707; - :b :c3708; - :b :c3709; - :b :c3710; - :b :c3711; - :b :c3712; - :b :c3713; - :b :c3714; - :b :c3715; - :b :c3716; - :b :c3717; - :b :c3718; - :b :c3719; - :b :c3720; - :b :c3721; - :b :c3722; - :b :c3723; - :b :c3724; - :b :c3725; - :b :c3726; - :b :c3727; - :b :c3728; - :b :c3729; - :b :c3730; - :b :c3731; - :b :c3732; - :b :c3733; - :b :c3734; - :b :c3735; - :b :c3736; - :b :c3737; - :b :c3738; - :b :c3739; - :b :c3740; - :b :c3741; - :b :c3742; - :b :c3743; - :b :c3744; - :b :c3745; - :b :c3746; - :b :c3747; - :b :c3748; - :b :c3749; - :b :c3750; - :b :c3751; - :b :c3752; - :b :c3753; - :b :c3754; - :b :c3755; - :b :c3756; - :b :c3757; - :b :c3758; - :b :c3759; - :b :c3760; - :b :c3761; - :b :c3762; - :b :c3763; - :b :c3764; - :b :c3765; - :b :c3766; - :b :c3767; - :b :c3768; - :b :c3769; - :b :c3770; - :b :c3771; - :b :c3772; - :b :c3773; - :b :c3774; - :b :c3775; - :b :c3776; - :b :c3777; - :b :c3778; - :b :c3779; - :b :c3780; - :b :c3781; - :b :c3782; - :b :c3783; - :b :c3784; - :b :c3785; - :b :c3786; - :b :c3787; - :b :c3788; - :b :c3789; - :b :c3790; - :b :c3791; - :b :c3792; - :b :c3793; - :b :c3794; - :b :c3795; - :b :c3796; - :b :c3797; - :b :c3798; - :b :c3799; - :b :c3800; - :b :c3801; - :b :c3802; - :b :c3803; - :b :c3804; - :b :c3805; - :b :c3806; - :b :c3807; - :b :c3808; - :b :c3809; - :b :c3810; - :b :c3811; - :b :c3812; - :b :c3813; - :b :c3814; - :b :c3815; - :b :c3816; - :b :c3817; - :b :c3818; - :b :c3819; - :b :c3820; - :b :c3821; - :b :c3822; - :b :c3823; - :b :c3824; - :b :c3825; - :b :c3826; - :b :c3827; - :b :c3828; - :b :c3829; - :b :c3830; - :b :c3831; - :b :c3832; - :b :c3833; - :b :c3834; - :b :c3835; - :b :c3836; - :b :c3837; - :b :c3838; - :b :c3839; - :b :c3840; - :b :c3841; - :b :c3842; - :b :c3843; - :b :c3844; - :b :c3845; - :b :c3846; - :b :c3847; - :b :c3848; - :b :c3849; - :b :c3850; - :b :c3851; - :b :c3852; - :b :c3853; - :b :c3854; - :b :c3855; - :b :c3856; - :b :c3857; - :b :c3858; - :b :c3859; - :b :c3860; - :b :c3861; - :b :c3862; - :b :c3863; - :b :c3864; - :b :c3865; - :b :c3866; - :b :c3867; - :b :c3868; - :b :c3869; - :b :c3870; - :b :c3871; - :b :c3872; - :b :c3873; - :b :c3874; - :b :c3875; - :b :c3876; - :b :c3877; - :b :c3878; - :b :c3879; - :b :c3880; - :b :c3881; - :b :c3882; - :b :c3883; - :b :c3884; - :b :c3885; - :b :c3886; - :b :c3887; - :b :c3888; - :b :c3889; - :b :c3890; - :b :c3891; - :b :c3892; - :b :c3893; - :b :c3894; - :b :c3895; - :b :c3896; - :b :c3897; - :b :c3898; - :b :c3899; - :b :c3900; - :b :c3901; - :b :c3902; - :b :c3903; - :b :c3904; - :b :c3905; - :b :c3906; - :b :c3907; - :b :c3908; - :b :c3909; - :b :c3910; - :b :c3911; - :b :c3912; - :b :c3913; - :b :c3914; - :b :c3915; - :b :c3916; - :b :c3917; - :b :c3918; - :b :c3919; - :b :c3920; - :b :c3921; - :b :c3922; - :b :c3923; - :b :c3924; - :b :c3925; - :b :c3926; - :b :c3927; - :b :c3928; - :b :c3929; - :b :c3930; - :b :c3931; - :b :c3932; - :b :c3933; - :b :c3934; - :b :c3935; - :b :c3936; - :b :c3937; - :b :c3938; - :b :c3939; - :b :c3940; - :b :c3941; - :b :c3942; - :b :c3943; - :b :c3944; - :b :c3945; - :b :c3946; - :b :c3947; - :b :c3948; - :b :c3949; - :b :c3950; - :b :c3951; - :b :c3952; - :b :c3953; - :b :c3954; - :b :c3955; - :b :c3956; - :b :c3957; - :b :c3958; - :b :c3959; - :b :c3960; - :b :c3961; - :b :c3962; - :b :c3963; - :b :c3964; - :b :c3965; - :b :c3966; - :b :c3967; - :b :c3968; - :b :c3969; - :b :c3970; - :b :c3971; - :b :c3972; - :b :c3973; - :b :c3974; - :b :c3975; - :b :c3976; - :b :c3977; - :b :c3978; - :b :c3979; - :b :c3980; - :b :c3981; - :b :c3982; - :b :c3983; - :b :c3984; - :b :c3985; - :b :c3986; - :b :c3987; - :b :c3988; - :b :c3989; - :b :c3990; - :b :c3991; - :b :c3992; - :b :c3993; - :b :c3994; - :b :c3995; - :b :c3996; - :b :c3997; - :b :c3998; - :b :c3999; - :b :c4000; - :b :c4001; - :b :c4002; - :b :c4003; - :b :c4004; - :b :c4005; - :b :c4006; - :b :c4007; - :b :c4008; - :b :c4009; - :b :c4010; - :b :c4011; - :b :c4012; - :b :c4013; - :b :c4014; - :b :c4015; - :b :c4016; - :b :c4017; - :b :c4018; - :b :c4019; - :b :c4020; - :b :c4021; - :b :c4022; - :b :c4023; - :b :c4024; - :b :c4025; - :b :c4026; - :b :c4027; - :b :c4028; - :b :c4029; - :b :c4030; - :b :c4031; - :b :c4032; - :b :c4033; - :b :c4034; - :b :c4035; - :b :c4036; - :b :c4037; - :b :c4038; - :b :c4039; - :b :c4040; - :b :c4041; - :b :c4042; - :b :c4043; - :b :c4044; - :b :c4045; - :b :c4046; - :b :c4047; - :b :c4048; - :b :c4049; - :b :c4050; - :b :c4051; - :b :c4052; - :b :c4053; - :b :c4054; - :b :c4055; - :b :c4056; - :b :c4057; - :b :c4058; - :b :c4059; - :b :c4060; - :b :c4061; - :b :c4062; - :b :c4063; - :b :c4064; - :b :c4065; - :b :c4066; - :b :c4067; - :b :c4068; - :b :c4069; - :b :c4070; - :b :c4071; - :b :c4072; - :b :c4073; - :b :c4074; - :b :c4075; - :b :c4076; - :b :c4077; - :b :c4078; - :b :c4079; - :b :c4080; - :b :c4081; - :b :c4082; - :b :c4083; - :b :c4084; - :b :c4085; - :b :c4086; - :b :c4087; - :b :c4088; - :b :c4089; - :b :c4090; - :b :c4091; - :b :c4092; - :b :c4093; - :b :c4094; - :b :c4095; - :b :c4096; - :b :c4097; - :b :c4098; - :b :c4099; - :b :c4100; - :b :c4101; - :b :c4102; - :b :c4103; - :b :c4104; - :b :c4105; - :b :c4106; - :b :c4107; - :b :c4108; - :b :c4109; - :b :c4110; - :b :c4111; - :b :c4112; - :b :c4113; - :b :c4114; - :b :c4115; - :b :c4116; - :b :c4117; - :b :c4118; - :b :c4119; - :b :c4120; - :b :c4121; - :b :c4122; - :b :c4123; - :b :c4124; - :b :c4125; - :b :c4126; - :b :c4127; - :b :c4128; - :b :c4129; - :b :c4130; - :b :c4131; - :b :c4132; - :b :c4133; - :b :c4134; - :b :c4135; - :b :c4136; - :b :c4137; - :b :c4138; - :b :c4139; - :b :c4140; - :b :c4141; - :b :c4142; - :b :c4143; - :b :c4144; - :b :c4145; - :b :c4146; - :b :c4147; - :b :c4148; - :b :c4149; - :b :c4150; - :b :c4151; - :b :c4152; - :b :c4153; - :b :c4154; - :b :c4155; - :b :c4156; - :b :c4157; - :b :c4158; - :b :c4159; - :b :c4160; - :b :c4161; - :b :c4162; - :b :c4163; - :b :c4164; - :b :c4165; - :b :c4166; - :b :c4167; - :b :c4168; - :b :c4169; - :b :c4170; - :b :c4171; - :b :c4172; - :b :c4173; - :b :c4174; - :b :c4175; - :b :c4176; - :b :c4177; - :b :c4178; - :b :c4179; - :b :c4180; - :b :c4181; - :b :c4182; - :b :c4183; - :b :c4184; - :b :c4185; - :b :c4186; - :b :c4187; - :b :c4188; - :b :c4189; - :b :c4190; - :b :c4191; - :b :c4192; - :b :c4193; - :b :c4194; - :b :c4195; - :b :c4196; - :b :c4197; - :b :c4198; - :b :c4199; - :b :c4200; - :b :c4201; - :b :c4202; - :b :c4203; - :b :c4204; - :b :c4205; - :b :c4206; - :b :c4207; - :b :c4208; - :b :c4209; - :b :c4210; - :b :c4211; - :b :c4212; - :b :c4213; - :b :c4214; - :b :c4215; - :b :c4216; - :b :c4217; - :b :c4218; - :b :c4219; - :b :c4220; - :b :c4221; - :b :c4222; - :b :c4223; - :b :c4224; - :b :c4225; - :b :c4226; - :b :c4227; - :b :c4228; - :b :c4229; - :b :c4230; - :b :c4231; - :b :c4232; - :b :c4233; - :b :c4234; - :b :c4235; - :b :c4236; - :b :c4237; - :b :c4238; - :b :c4239; - :b :c4240; - :b :c4241; - :b :c4242; - :b :c4243; - :b :c4244; - :b :c4245; - :b :c4246; - :b :c4247; - :b :c4248; - :b :c4249; - :b :c4250; - :b :c4251; - :b :c4252; - :b :c4253; - :b :c4254; - :b :c4255; - :b :c4256; - :b :c4257; - :b :c4258; - :b :c4259; - :b :c4260; - :b :c4261; - :b :c4262; - :b :c4263; - :b :c4264; - :b :c4265; - :b :c4266; - :b :c4267; - :b :c4268; - :b :c4269; - :b :c4270; - :b :c4271; - :b :c4272; - :b :c4273; - :b :c4274; - :b :c4275; - :b :c4276; - :b :c4277; - :b :c4278; - :b :c4279; - :b :c4280; - :b :c4281; - :b :c4282; - :b :c4283; - :b :c4284; - :b :c4285; - :b :c4286; - :b :c4287; - :b :c4288; - :b :c4289; - :b :c4290; - :b :c4291; - :b :c4292; - :b :c4293; - :b :c4294; - :b :c4295; - :b :c4296; - :b :c4297; - :b :c4298; - :b :c4299; - :b :c4300; - :b :c4301; - :b :c4302; - :b :c4303; - :b :c4304; - :b :c4305; - :b :c4306; - :b :c4307; - :b :c4308; - :b :c4309; - :b :c4310; - :b :c4311; - :b :c4312; - :b :c4313; - :b :c4314; - :b :c4315; - :b :c4316; - :b :c4317; - :b :c4318; - :b :c4319; - :b :c4320; - :b :c4321; - :b :c4322; - :b :c4323; - :b :c4324; - :b :c4325; - :b :c4326; - :b :c4327; - :b :c4328; - :b :c4329; - :b :c4330; - :b :c4331; - :b :c4332; - :b :c4333; - :b :c4334; - :b :c4335; - :b :c4336; - :b :c4337; - :b :c4338; - :b :c4339; - :b :c4340; - :b :c4341; - :b :c4342; - :b :c4343; - :b :c4344; - :b :c4345; - :b :c4346; - :b :c4347; - :b :c4348; - :b :c4349; - :b :c4350; - :b :c4351; - :b :c4352; - :b :c4353; - :b :c4354; - :b :c4355; - :b :c4356; - :b :c4357; - :b :c4358; - :b :c4359; - :b :c4360; - :b :c4361; - :b :c4362; - :b :c4363; - :b :c4364; - :b :c4365; - :b :c4366; - :b :c4367; - :b :c4368; - :b :c4369; - :b :c4370; - :b :c4371; - :b :c4372; - :b :c4373; - :b :c4374; - :b :c4375; - :b :c4376; - :b :c4377; - :b :c4378; - :b :c4379; - :b :c4380; - :b :c4381; - :b :c4382; - :b :c4383; - :b :c4384; - :b :c4385; - :b :c4386; - :b :c4387; - :b :c4388; - :b :c4389; - :b :c4390; - :b :c4391; - :b :c4392; - :b :c4393; - :b :c4394; - :b :c4395; - :b :c4396; - :b :c4397; - :b :c4398; - :b :c4399; - :b :c4400; - :b :c4401; - :b :c4402; - :b :c4403; - :b :c4404; - :b :c4405; - :b :c4406; - :b :c4407; - :b :c4408; - :b :c4409; - :b :c4410; - :b :c4411; - :b :c4412; - :b :c4413; - :b :c4414; - :b :c4415; - :b :c4416; - :b :c4417; - :b :c4418; - :b :c4419; - :b :c4420; - :b :c4421; - :b :c4422; - :b :c4423; - :b :c4424; - :b :c4425; - :b :c4426; - :b :c4427; - :b :c4428; - :b :c4429; - :b :c4430; - :b :c4431; - :b :c4432; - :b :c4433; - :b :c4434; - :b :c4435; - :b :c4436; - :b :c4437; - :b :c4438; - :b :c4439; - :b :c4440; - :b :c4441; - :b :c4442; - :b :c4443; - :b :c4444; - :b :c4445; - :b :c4446; - :b :c4447; - :b :c4448; - :b :c4449; - :b :c4450; - :b :c4451; - :b :c4452; - :b :c4453; - :b :c4454; - :b :c4455; - :b :c4456; - :b :c4457; - :b :c4458; - :b :c4459; - :b :c4460; - :b :c4461; - :b :c4462; - :b :c4463; - :b :c4464; - :b :c4465; - :b :c4466; - :b :c4467; - :b :c4468; - :b :c4469; - :b :c4470; - :b :c4471; - :b :c4472; - :b :c4473; - :b :c4474; - :b :c4475; - :b :c4476; - :b :c4477; - :b :c4478; - :b :c4479; - :b :c4480; - :b :c4481; - :b :c4482; - :b :c4483; - :b :c4484; - :b :c4485; - :b :c4486; - :b :c4487; - :b :c4488; - :b :c4489; - :b :c4490; - :b :c4491; - :b :c4492; - :b :c4493; - :b :c4494; - :b :c4495; - :b :c4496; - :b :c4497; - :b :c4498; - :b :c4499; - :b :c4500; - :b :c4501; - :b :c4502; - :b :c4503; - :b :c4504; - :b :c4505; - :b :c4506; - :b :c4507; - :b :c4508; - :b :c4509; - :b :c4510; - :b :c4511; - :b :c4512; - :b :c4513; - :b :c4514; - :b :c4515; - :b :c4516; - :b :c4517; - :b :c4518; - :b :c4519; - :b :c4520; - :b :c4521; - :b :c4522; - :b :c4523; - :b :c4524; - :b :c4525; - :b :c4526; - :b :c4527; - :b :c4528; - :b :c4529; - :b :c4530; - :b :c4531; - :b :c4532; - :b :c4533; - :b :c4534; - :b :c4535; - :b :c4536; - :b :c4537; - :b :c4538; - :b :c4539; - :b :c4540; - :b :c4541; - :b :c4542; - :b :c4543; - :b :c4544; - :b :c4545; - :b :c4546; - :b :c4547; - :b :c4548; - :b :c4549; - :b :c4550; - :b :c4551; - :b :c4552; - :b :c4553; - :b :c4554; - :b :c4555; - :b :c4556; - :b :c4557; - :b :c4558; - :b :c4559; - :b :c4560; - :b :c4561; - :b :c4562; - :b :c4563; - :b :c4564; - :b :c4565; - :b :c4566; - :b :c4567; - :b :c4568; - :b :c4569; - :b :c4570; - :b :c4571; - :b :c4572; - :b :c4573; - :b :c4574; - :b :c4575; - :b :c4576; - :b :c4577; - :b :c4578; - :b :c4579; - :b :c4580; - :b :c4581; - :b :c4582; - :b :c4583; - :b :c4584; - :b :c4585; - :b :c4586; - :b :c4587; - :b :c4588; - :b :c4589; - :b :c4590; - :b :c4591; - :b :c4592; - :b :c4593; - :b :c4594; - :b :c4595; - :b :c4596; - :b :c4597; - :b :c4598; - :b :c4599; - :b :c4600; - :b :c4601; - :b :c4602; - :b :c4603; - :b :c4604; - :b :c4605; - :b :c4606; - :b :c4607; - :b :c4608; - :b :c4609; - :b :c4610; - :b :c4611; - :b :c4612; - :b :c4613; - :b :c4614; - :b :c4615; - :b :c4616; - :b :c4617; - :b :c4618; - :b :c4619; - :b :c4620; - :b :c4621; - :b :c4622; - :b :c4623; - :b :c4624; - :b :c4625; - :b :c4626; - :b :c4627; - :b :c4628; - :b :c4629; - :b :c4630; - :b :c4631; - :b :c4632; - :b :c4633; - :b :c4634; - :b :c4635; - :b :c4636; - :b :c4637; - :b :c4638; - :b :c4639; - :b :c4640; - :b :c4641; - :b :c4642; - :b :c4643; - :b :c4644; - :b :c4645; - :b :c4646; - :b :c4647; - :b :c4648; - :b :c4649; - :b :c4650; - :b :c4651; - :b :c4652; - :b :c4653; - :b :c4654; - :b :c4655; - :b :c4656; - :b :c4657; - :b :c4658; - :b :c4659; - :b :c4660; - :b :c4661; - :b :c4662; - :b :c4663; - :b :c4664; - :b :c4665; - :b :c4666; - :b :c4667; - :b :c4668; - :b :c4669; - :b :c4670; - :b :c4671; - :b :c4672; - :b :c4673; - :b :c4674; - :b :c4675; - :b :c4676; - :b :c4677; - :b :c4678; - :b :c4679; - :b :c4680; - :b :c4681; - :b :c4682; - :b :c4683; - :b :c4684; - :b :c4685; - :b :c4686; - :b :c4687; - :b :c4688; - :b :c4689; - :b :c4690; - :b :c4691; - :b :c4692; - :b :c4693; - :b :c4694; - :b :c4695; - :b :c4696; - :b :c4697; - :b :c4698; - :b :c4699; - :b :c4700; - :b :c4701; - :b :c4702; - :b :c4703; - :b :c4704; - :b :c4705; - :b :c4706; - :b :c4707; - :b :c4708; - :b :c4709; - :b :c4710; - :b :c4711; - :b :c4712; - :b :c4713; - :b :c4714; - :b :c4715; - :b :c4716; - :b :c4717; - :b :c4718; - :b :c4719; - :b :c4720; - :b :c4721; - :b :c4722; - :b :c4723; - :b :c4724; - :b :c4725; - :b :c4726; - :b :c4727; - :b :c4728; - :b :c4729; - :b :c4730; - :b :c4731; - :b :c4732; - :b :c4733; - :b :c4734; - :b :c4735; - :b :c4736; - :b :c4737; - :b :c4738; - :b :c4739; - :b :c4740; - :b :c4741; - :b :c4742; - :b :c4743; - :b :c4744; - :b :c4745; - :b :c4746; - :b :c4747; - :b :c4748; - :b :c4749; - :b :c4750; - :b :c4751; - :b :c4752; - :b :c4753; - :b :c4754; - :b :c4755; - :b :c4756; - :b :c4757; - :b :c4758; - :b :c4759; - :b :c4760; - :b :c4761; - :b :c4762; - :b :c4763; - :b :c4764; - :b :c4765; - :b :c4766; - :b :c4767; - :b :c4768; - :b :c4769; - :b :c4770; - :b :c4771; - :b :c4772; - :b :c4773; - :b :c4774; - :b :c4775; - :b :c4776; - :b :c4777; - :b :c4778; - :b :c4779; - :b :c4780; - :b :c4781; - :b :c4782; - :b :c4783; - :b :c4784; - :b :c4785; - :b :c4786; - :b :c4787; - :b :c4788; - :b :c4789; - :b :c4790; - :b :c4791; - :b :c4792; - :b :c4793; - :b :c4794; - :b :c4795; - :b :c4796; - :b :c4797; - :b :c4798; - :b :c4799; - :b :c4800; - :b :c4801; - :b :c4802; - :b :c4803; - :b :c4804; - :b :c4805; - :b :c4806; - :b :c4807; - :b :c4808; - :b :c4809; - :b :c4810; - :b :c4811; - :b :c4812; - :b :c4813; - :b :c4814; - :b :c4815; - :b :c4816; - :b :c4817; - :b :c4818; - :b :c4819; - :b :c4820; - :b :c4821; - :b :c4822; - :b :c4823; - :b :c4824; - :b :c4825; - :b :c4826; - :b :c4827; - :b :c4828; - :b :c4829; - :b :c4830; - :b :c4831; - :b :c4832; - :b :c4833; - :b :c4834; - :b :c4835; - :b :c4836; - :b :c4837; - :b :c4838; - :b :c4839; - :b :c4840; - :b :c4841; - :b :c4842; - :b :c4843; - :b :c4844; - :b :c4845; - :b :c4846; - :b :c4847; - :b :c4848; - :b :c4849; - :b :c4850; - :b :c4851; - :b :c4852; - :b :c4853; - :b :c4854; - :b :c4855; - :b :c4856; - :b :c4857; - :b :c4858; - :b :c4859; - :b :c4860; - :b :c4861; - :b :c4862; - :b :c4863; - :b :c4864; - :b :c4865; - :b :c4866; - :b :c4867; - :b :c4868; - :b :c4869; - :b :c4870; - :b :c4871; - :b :c4872; - :b :c4873; - :b :c4874; - :b :c4875; - :b :c4876; - :b :c4877; - :b :c4878; - :b :c4879; - :b :c4880; - :b :c4881; - :b :c4882; - :b :c4883; - :b :c4884; - :b :c4885; - :b :c4886; - :b :c4887; - :b :c4888; - :b :c4889; - :b :c4890; - :b :c4891; - :b :c4892; - :b :c4893; - :b :c4894; - :b :c4895; - :b :c4896; - :b :c4897; - :b :c4898; - :b :c4899; - :b :c4900; - :b :c4901; - :b :c4902; - :b :c4903; - :b :c4904; - :b :c4905; - :b :c4906; - :b :c4907; - :b :c4908; - :b :c4909; - :b :c4910; - :b :c4911; - :b :c4912; - :b :c4913; - :b :c4914; - :b :c4915; - :b :c4916; - :b :c4917; - :b :c4918; - :b :c4919; - :b :c4920; - :b :c4921; - :b :c4922; - :b :c4923; - :b :c4924; - :b :c4925; - :b :c4926; - :b :c4927; - :b :c4928; - :b :c4929; - :b :c4930; - :b :c4931; - :b :c4932; - :b :c4933; - :b :c4934; - :b :c4935; - :b :c4936; - :b :c4937; - :b :c4938; - :b :c4939; - :b :c4940; - :b :c4941; - :b :c4942; - :b :c4943; - :b :c4944; - :b :c4945; - :b :c4946; - :b :c4947; - :b :c4948; - :b :c4949; - :b :c4950; - :b :c4951; - :b :c4952; - :b :c4953; - :b :c4954; - :b :c4955; - :b :c4956; - :b :c4957; - :b :c4958; - :b :c4959; - :b :c4960; - :b :c4961; - :b :c4962; - :b :c4963; - :b :c4964; - :b :c4965; - :b :c4966; - :b :c4967; - :b :c4968; - :b :c4969; - :b :c4970; - :b :c4971; - :b :c4972; - :b :c4973; - :b :c4974; - :b :c4975; - :b :c4976; - :b :c4977; - :b :c4978; - :b :c4979; - :b :c4980; - :b :c4981; - :b :c4982; - :b :c4983; - :b :c4984; - :b :c4985; - :b :c4986; - :b :c4987; - :b :c4988; - :b :c4989; - :b :c4990; - :b :c4991; - :b :c4992; - :b :c4993; - :b :c4994; - :b :c4995; - :b :c4996; - :b :c4997; - :b :c4998; - :b :c4999; - :b :c5000; - :b :c5001; - :b :c5002; - :b :c5003; - :b :c5004; - :b :c5005; - :b :c5006; - :b :c5007; - :b :c5008; - :b :c5009; - :b :c5010; - :b :c5011; - :b :c5012; - :b :c5013; - :b :c5014; - :b :c5015; - :b :c5016; - :b :c5017; - :b :c5018; - :b :c5019; - :b :c5020; - :b :c5021; - :b :c5022; - :b :c5023; - :b :c5024; - :b :c5025; - :b :c5026; - :b :c5027; - :b :c5028; - :b :c5029; - :b :c5030; - :b :c5031; - :b :c5032; - :b :c5033; - :b :c5034; - :b :c5035; - :b :c5036; - :b :c5037; - :b :c5038; - :b :c5039; - :b :c5040; - :b :c5041; - :b :c5042; - :b :c5043; - :b :c5044; - :b :c5045; - :b :c5046; - :b :c5047; - :b :c5048; - :b :c5049; - :b :c5050; - :b :c5051; - :b :c5052; - :b :c5053; - :b :c5054; - :b :c5055; - :b :c5056; - :b :c5057; - :b :c5058; - :b :c5059; - :b :c5060; - :b :c5061; - :b :c5062; - :b :c5063; - :b :c5064; - :b :c5065; - :b :c5066; - :b :c5067; - :b :c5068; - :b :c5069; - :b :c5070; - :b :c5071; - :b :c5072; - :b :c5073; - :b :c5074; - :b :c5075; - :b :c5076; - :b :c5077; - :b :c5078; - :b :c5079; - :b :c5080; - :b :c5081; - :b :c5082; - :b :c5083; - :b :c5084; - :b :c5085; - :b :c5086; - :b :c5087; - :b :c5088; - :b :c5089; - :b :c5090; - :b :c5091; - :b :c5092; - :b :c5093; - :b :c5094; - :b :c5095; - :b :c5096; - :b :c5097; - :b :c5098; - :b :c5099; - :b :c5100; - :b :c5101; - :b :c5102; - :b :c5103; - :b :c5104; - :b :c5105; - :b :c5106; - :b :c5107; - :b :c5108; - :b :c5109; - :b :c5110; - :b :c5111; - :b :c5112; - :b :c5113; - :b :c5114; - :b :c5115; - :b :c5116; - :b :c5117; - :b :c5118; - :b :c5119; - :b :c5120; - :b :c5121; - :b :c5122; - :b :c5123; - :b :c5124; - :b :c5125; - :b :c5126; - :b :c5127; - :b :c5128; - :b :c5129; - :b :c5130; - :b :c5131; - :b :c5132; - :b :c5133; - :b :c5134; - :b :c5135; - :b :c5136; - :b :c5137; - :b :c5138; - :b :c5139; - :b :c5140; - :b :c5141; - :b :c5142; - :b :c5143; - :b :c5144; - :b :c5145; - :b :c5146; - :b :c5147; - :b :c5148; - :b :c5149; - :b :c5150; - :b :c5151; - :b :c5152; - :b :c5153; - :b :c5154; - :b :c5155; - :b :c5156; - :b :c5157; - :b :c5158; - :b :c5159; - :b :c5160; - :b :c5161; - :b :c5162; - :b :c5163; - :b :c5164; - :b :c5165; - :b :c5166; - :b :c5167; - :b :c5168; - :b :c5169; - :b :c5170; - :b :c5171; - :b :c5172; - :b :c5173; - :b :c5174; - :b :c5175; - :b :c5176; - :b :c5177; - :b :c5178; - :b :c5179; - :b :c5180; - :b :c5181; - :b :c5182; - :b :c5183; - :b :c5184; - :b :c5185; - :b :c5186; - :b :c5187; - :b :c5188; - :b :c5189; - :b :c5190; - :b :c5191; - :b :c5192; - :b :c5193; - :b :c5194; - :b :c5195; - :b :c5196; - :b :c5197; - :b :c5198; - :b :c5199; - :b :c5200; - :b :c5201; - :b :c5202; - :b :c5203; - :b :c5204; - :b :c5205; - :b :c5206; - :b :c5207; - :b :c5208; - :b :c5209; - :b :c5210; - :b :c5211; - :b :c5212; - :b :c5213; - :b :c5214; - :b :c5215; - :b :c5216; - :b :c5217; - :b :c5218; - :b :c5219; - :b :c5220; - :b :c5221; - :b :c5222; - :b :c5223; - :b :c5224; - :b :c5225; - :b :c5226; - :b :c5227; - :b :c5228; - :b :c5229; - :b :c5230; - :b :c5231; - :b :c5232; - :b :c5233; - :b :c5234; - :b :c5235; - :b :c5236; - :b :c5237; - :b :c5238; - :b :c5239; - :b :c5240; - :b :c5241; - :b :c5242; - :b :c5243; - :b :c5244; - :b :c5245; - :b :c5246; - :b :c5247; - :b :c5248; - :b :c5249; - :b :c5250; - :b :c5251; - :b :c5252; - :b :c5253; - :b :c5254; - :b :c5255; - :b :c5256; - :b :c5257; - :b :c5258; - :b :c5259; - :b :c5260; - :b :c5261; - :b :c5262; - :b :c5263; - :b :c5264; - :b :c5265; - :b :c5266; - :b :c5267; - :b :c5268; - :b :c5269; - :b :c5270; - :b :c5271; - :b :c5272; - :b :c5273; - :b :c5274; - :b :c5275; - :b :c5276; - :b :c5277; - :b :c5278; - :b :c5279; - :b :c5280; - :b :c5281; - :b :c5282; - :b :c5283; - :b :c5284; - :b :c5285; - :b :c5286; - :b :c5287; - :b :c5288; - :b :c5289; - :b :c5290; - :b :c5291; - :b :c5292; - :b :c5293; - :b :c5294; - :b :c5295; - :b :c5296; - :b :c5297; - :b :c5298; - :b :c5299; - :b :c5300; - :b :c5301; - :b :c5302; - :b :c5303; - :b :c5304; - :b :c5305; - :b :c5306; - :b :c5307; - :b :c5308; - :b :c5309; - :b :c5310; - :b :c5311; - :b :c5312; - :b :c5313; - :b :c5314; - :b :c5315; - :b :c5316; - :b :c5317; - :b :c5318; - :b :c5319; - :b :c5320; - :b :c5321; - :b :c5322; - :b :c5323; - :b :c5324; - :b :c5325; - :b :c5326; - :b :c5327; - :b :c5328; - :b :c5329; - :b :c5330; - :b :c5331; - :b :c5332; - :b :c5333; - :b :c5334; - :b :c5335; - :b :c5336; - :b :c5337; - :b :c5338; - :b :c5339; - :b :c5340; - :b :c5341; - :b :c5342; - :b :c5343; - :b :c5344; - :b :c5345; - :b :c5346; - :b :c5347; - :b :c5348; - :b :c5349; - :b :c5350; - :b :c5351; - :b :c5352; - :b :c5353; - :b :c5354; - :b :c5355; - :b :c5356; - :b :c5357; - :b :c5358; - :b :c5359; - :b :c5360; - :b :c5361; - :b :c5362; - :b :c5363; - :b :c5364; - :b :c5365; - :b :c5366; - :b :c5367; - :b :c5368; - :b :c5369; - :b :c5370; - :b :c5371; - :b :c5372; - :b :c5373; - :b :c5374; - :b :c5375; - :b :c5376; - :b :c5377; - :b :c5378; - :b :c5379; - :b :c5380; - :b :c5381; - :b :c5382; - :b :c5383; - :b :c5384; - :b :c5385; - :b :c5386; - :b :c5387; - :b :c5388; - :b :c5389; - :b :c5390; - :b :c5391; - :b :c5392; - :b :c5393; - :b :c5394; - :b :c5395; - :b :c5396; - :b :c5397; - :b :c5398; - :b :c5399; - :b :c5400; - :b :c5401; - :b :c5402; - :b :c5403; - :b :c5404; - :b :c5405; - :b :c5406; - :b :c5407; - :b :c5408; - :b :c5409; - :b :c5410; - :b :c5411; - :b :c5412; - :b :c5413; - :b :c5414; - :b :c5415; - :b :c5416; - :b :c5417; - :b :c5418; - :b :c5419; - :b :c5420; - :b :c5421; - :b :c5422; - :b :c5423; - :b :c5424; - :b :c5425; - :b :c5426; - :b :c5427; - :b :c5428; - :b :c5429; - :b :c5430; - :b :c5431; - :b :c5432; - :b :c5433; - :b :c5434; - :b :c5435; - :b :c5436; - :b :c5437; - :b :c5438; - :b :c5439; - :b :c5440; - :b :c5441; - :b :c5442; - :b :c5443; - :b :c5444; - :b :c5445; - :b :c5446; - :b :c5447; - :b :c5448; - :b :c5449; - :b :c5450; - :b :c5451; - :b :c5452; - :b :c5453; - :b :c5454; - :b :c5455; - :b :c5456; - :b :c5457; - :b :c5458; - :b :c5459; - :b :c5460; - :b :c5461; - :b :c5462; - :b :c5463; - :b :c5464; - :b :c5465; - :b :c5466; - :b :c5467; - :b :c5468; - :b :c5469; - :b :c5470; - :b :c5471; - :b :c5472; - :b :c5473; - :b :c5474; - :b :c5475; - :b :c5476; - :b :c5477; - :b :c5478; - :b :c5479; - :b :c5480; - :b :c5481; - :b :c5482; - :b :c5483; - :b :c5484; - :b :c5485; - :b :c5486; - :b :c5487; - :b :c5488; - :b :c5489; - :b :c5490; - :b :c5491; - :b :c5492; - :b :c5493; - :b :c5494; - :b :c5495; - :b :c5496; - :b :c5497; - :b :c5498; - :b :c5499; - :b :c5500; - :b :c5501; - :b :c5502; - :b :c5503; - :b :c5504; - :b :c5505; - :b :c5506; - :b :c5507; - :b :c5508; - :b :c5509; - :b :c5510; - :b :c5511; - :b :c5512; - :b :c5513; - :b :c5514; - :b :c5515; - :b :c5516; - :b :c5517; - :b :c5518; - :b :c5519; - :b :c5520; - :b :c5521; - :b :c5522; - :b :c5523; - :b :c5524; - :b :c5525; - :b :c5526; - :b :c5527; - :b :c5528; - :b :c5529; - :b :c5530; - :b :c5531; - :b :c5532; - :b :c5533; - :b :c5534; - :b :c5535; - :b :c5536; - :b :c5537; - :b :c5538; - :b :c5539; - :b :c5540; - :b :c5541; - :b :c5542; - :b :c5543; - :b :c5544; - :b :c5545; - :b :c5546; - :b :c5547; - :b :c5548; - :b :c5549; - :b :c5550; - :b :c5551; - :b :c5552; - :b :c5553; - :b :c5554; - :b :c5555; - :b :c5556; - :b :c5557; - :b :c5558; - :b :c5559; - :b :c5560; - :b :c5561; - :b :c5562; - :b :c5563; - :b :c5564; - :b :c5565; - :b :c5566; - :b :c5567; - :b :c5568; - :b :c5569; - :b :c5570; - :b :c5571; - :b :c5572; - :b :c5573; - :b :c5574; - :b :c5575; - :b :c5576; - :b :c5577; - :b :c5578; - :b :c5579; - :b :c5580; - :b :c5581; - :b :c5582; - :b :c5583; - :b :c5584; - :b :c5585; - :b :c5586; - :b :c5587; - :b :c5588; - :b :c5589; - :b :c5590; - :b :c5591; - :b :c5592; - :b :c5593; - :b :c5594; - :b :c5595; - :b :c5596; - :b :c5597; - :b :c5598; - :b :c5599; - :b :c5600; - :b :c5601; - :b :c5602; - :b :c5603; - :b :c5604; - :b :c5605; - :b :c5606; - :b :c5607; - :b :c5608; - :b :c5609; - :b :c5610; - :b :c5611; - :b :c5612; - :b :c5613; - :b :c5614; - :b :c5615; - :b :c5616; - :b :c5617; - :b :c5618; - :b :c5619; - :b :c5620; - :b :c5621; - :b :c5622; - :b :c5623; - :b :c5624; - :b :c5625; - :b :c5626; - :b :c5627; - :b :c5628; - :b :c5629; - :b :c5630; - :b :c5631; - :b :c5632; - :b :c5633; - :b :c5634; - :b :c5635; - :b :c5636; - :b :c5637; - :b :c5638; - :b :c5639; - :b :c5640; - :b :c5641; - :b :c5642; - :b :c5643; - :b :c5644; - :b :c5645; - :b :c5646; - :b :c5647; - :b :c5648; - :b :c5649; - :b :c5650; - :b :c5651; - :b :c5652; - :b :c5653; - :b :c5654; - :b :c5655; - :b :c5656; - :b :c5657; - :b :c5658; - :b :c5659; - :b :c5660; - :b :c5661; - :b :c5662; - :b :c5663; - :b :c5664; - :b :c5665; - :b :c5666; - :b :c5667; - :b :c5668; - :b :c5669; - :b :c5670; - :b :c5671; - :b :c5672; - :b :c5673; - :b :c5674; - :b :c5675; - :b :c5676; - :b :c5677; - :b :c5678; - :b :c5679; - :b :c5680; - :b :c5681; - :b :c5682; - :b :c5683; - :b :c5684; - :b :c5685; - :b :c5686; - :b :c5687; - :b :c5688; - :b :c5689; - :b :c5690; - :b :c5691; - :b :c5692; - :b :c5693; - :b :c5694; - :b :c5695; - :b :c5696; - :b :c5697; - :b :c5698; - :b :c5699; - :b :c5700; - :b :c5701; - :b :c5702; - :b :c5703; - :b :c5704; - :b :c5705; - :b :c5706; - :b :c5707; - :b :c5708; - :b :c5709; - :b :c5710; - :b :c5711; - :b :c5712; - :b :c5713; - :b :c5714; - :b :c5715; - :b :c5716; - :b :c5717; - :b :c5718; - :b :c5719; - :b :c5720; - :b :c5721; - :b :c5722; - :b :c5723; - :b :c5724; - :b :c5725; - :b :c5726; - :b :c5727; - :b :c5728; - :b :c5729; - :b :c5730; - :b :c5731; - :b :c5732; - :b :c5733; - :b :c5734; - :b :c5735; - :b :c5736; - :b :c5737; - :b :c5738; - :b :c5739; - :b :c5740; - :b :c5741; - :b :c5742; - :b :c5743; - :b :c5744; - :b :c5745; - :b :c5746; - :b :c5747; - :b :c5748; - :b :c5749; - :b :c5750; - :b :c5751; - :b :c5752; - :b :c5753; - :b :c5754; - :b :c5755; - :b :c5756; - :b :c5757; - :b :c5758; - :b :c5759; - :b :c5760; - :b :c5761; - :b :c5762; - :b :c5763; - :b :c5764; - :b :c5765; - :b :c5766; - :b :c5767; - :b :c5768; - :b :c5769; - :b :c5770; - :b :c5771; - :b :c5772; - :b :c5773; - :b :c5774; - :b :c5775; - :b :c5776; - :b :c5777; - :b :c5778; - :b :c5779; - :b :c5780; - :b :c5781; - :b :c5782; - :b :c5783; - :b :c5784; - :b :c5785; - :b :c5786; - :b :c5787; - :b :c5788; - :b :c5789; - :b :c5790; - :b :c5791; - :b :c5792; - :b :c5793; - :b :c5794; - :b :c5795; - :b :c5796; - :b :c5797; - :b :c5798; - :b :c5799; - :b :c5800; - :b :c5801; - :b :c5802; - :b :c5803; - :b :c5804; - :b :c5805; - :b :c5806; - :b :c5807; - :b :c5808; - :b :c5809; - :b :c5810; - :b :c5811; - :b :c5812; - :b :c5813; - :b :c5814; - :b :c5815; - :b :c5816; - :b :c5817; - :b :c5818; - :b :c5819; - :b :c5820; - :b :c5821; - :b :c5822; - :b :c5823; - :b :c5824; - :b :c5825; - :b :c5826; - :b :c5827; - :b :c5828; - :b :c5829; - :b :c5830; - :b :c5831; - :b :c5832; - :b :c5833; - :b :c5834; - :b :c5835; - :b :c5836; - :b :c5837; - :b :c5838; - :b :c5839; - :b :c5840; - :b :c5841; - :b :c5842; - :b :c5843; - :b :c5844; - :b :c5845; - :b :c5846; - :b :c5847; - :b :c5848; - :b :c5849; - :b :c5850; - :b :c5851; - :b :c5852; - :b :c5853; - :b :c5854; - :b :c5855; - :b :c5856; - :b :c5857; - :b :c5858; - :b :c5859; - :b :c5860; - :b :c5861; - :b :c5862; - :b :c5863; - :b :c5864; - :b :c5865; - :b :c5866; - :b :c5867; - :b :c5868; - :b :c5869; - :b :c5870; - :b :c5871; - :b :c5872; - :b :c5873; - :b :c5874; - :b :c5875; - :b :c5876; - :b :c5877; - :b :c5878; - :b :c5879; - :b :c5880; - :b :c5881; - :b :c5882; - :b :c5883; - :b :c5884; - :b :c5885; - :b :c5886; - :b :c5887; - :b :c5888; - :b :c5889; - :b :c5890; - :b :c5891; - :b :c5892; - :b :c5893; - :b :c5894; - :b :c5895; - :b :c5896; - :b :c5897; - :b :c5898; - :b :c5899; - :b :c5900; - :b :c5901; - :b :c5902; - :b :c5903; - :b :c5904; - :b :c5905; - :b :c5906; - :b :c5907; - :b :c5908; - :b :c5909; - :b :c5910; - :b :c5911; - :b :c5912; - :b :c5913; - :b :c5914; - :b :c5915; - :b :c5916; - :b :c5917; - :b :c5918; - :b :c5919; - :b :c5920; - :b :c5921; - :b :c5922; - :b :c5923; - :b :c5924; - :b :c5925; - :b :c5926; - :b :c5927; - :b :c5928; - :b :c5929; - :b :c5930; - :b :c5931; - :b :c5932; - :b :c5933; - :b :c5934; - :b :c5935; - :b :c5936; - :b :c5937; - :b :c5938; - :b :c5939; - :b :c5940; - :b :c5941; - :b :c5942; - :b :c5943; - :b :c5944; - :b :c5945; - :b :c5946; - :b :c5947; - :b :c5948; - :b :c5949; - :b :c5950; - :b :c5951; - :b :c5952; - :b :c5953; - :b :c5954; - :b :c5955; - :b :c5956; - :b :c5957; - :b :c5958; - :b :c5959; - :b :c5960; - :b :c5961; - :b :c5962; - :b :c5963; - :b :c5964; - :b :c5965; - :b :c5966; - :b :c5967; - :b :c5968; - :b :c5969; - :b :c5970; - :b :c5971; - :b :c5972; - :b :c5973; - :b :c5974; - :b :c5975; - :b :c5976; - :b :c5977; - :b :c5978; - :b :c5979; - :b :c5980; - :b :c5981; - :b :c5982; - :b :c5983; - :b :c5984; - :b :c5985; - :b :c5986; - :b :c5987; - :b :c5988; - :b :c5989; - :b :c5990; - :b :c5991; - :b :c5992; - :b :c5993; - :b :c5994; - :b :c5995; - :b :c5996; - :b :c5997; - :b :c5998; - :b :c5999; - :b :c6000; - :b :c6001; - :b :c6002; - :b :c6003; - :b :c6004; - :b :c6005; - :b :c6006; - :b :c6007; - :b :c6008; - :b :c6009; - :b :c6010; - :b :c6011; - :b :c6012; - :b :c6013; - :b :c6014; - :b :c6015; - :b :c6016; - :b :c6017; - :b :c6018; - :b :c6019; - :b :c6020; - :b :c6021; - :b :c6022; - :b :c6023; - :b :c6024; - :b :c6025; - :b :c6026; - :b :c6027; - :b :c6028; - :b :c6029; - :b :c6030; - :b :c6031; - :b :c6032; - :b :c6033; - :b :c6034; - :b :c6035; - :b :c6036; - :b :c6037; - :b :c6038; - :b :c6039; - :b :c6040; - :b :c6041; - :b :c6042; - :b :c6043; - :b :c6044; - :b :c6045; - :b :c6046; - :b :c6047; - :b :c6048; - :b :c6049; - :b :c6050; - :b :c6051; - :b :c6052; - :b :c6053; - :b :c6054; - :b :c6055; - :b :c6056; - :b :c6057; - :b :c6058; - :b :c6059; - :b :c6060; - :b :c6061; - :b :c6062; - :b :c6063; - :b :c6064; - :b :c6065; - :b :c6066; - :b :c6067; - :b :c6068; - :b :c6069; - :b :c6070; - :b :c6071; - :b :c6072; - :b :c6073; - :b :c6074; - :b :c6075; - :b :c6076; - :b :c6077; - :b :c6078; - :b :c6079; - :b :c6080; - :b :c6081; - :b :c6082; - :b :c6083; - :b :c6084; - :b :c6085; - :b :c6086; - :b :c6087; - :b :c6088; - :b :c6089; - :b :c6090; - :b :c6091; - :b :c6092; - :b :c6093; - :b :c6094; - :b :c6095; - :b :c6096; - :b :c6097; - :b :c6098; - :b :c6099; - :b :c6100; - :b :c6101; - :b :c6102; - :b :c6103; - :b :c6104; - :b :c6105; - :b :c6106; - :b :c6107; - :b :c6108; - :b :c6109; - :b :c6110; - :b :c6111; - :b :c6112; - :b :c6113; - :b :c6114; - :b :c6115; - :b :c6116; - :b :c6117; - :b :c6118; - :b :c6119; - :b :c6120; - :b :c6121; - :b :c6122; - :b :c6123; - :b :c6124; - :b :c6125; - :b :c6126; - :b :c6127; - :b :c6128; - :b :c6129; - :b :c6130; - :b :c6131; - :b :c6132; - :b :c6133; - :b :c6134; - :b :c6135; - :b :c6136; - :b :c6137; - :b :c6138; - :b :c6139; - :b :c6140; - :b :c6141; - :b :c6142; - :b :c6143; - :b :c6144; - :b :c6145; - :b :c6146; - :b :c6147; - :b :c6148; - :b :c6149; - :b :c6150; - :b :c6151; - :b :c6152; - :b :c6153; - :b :c6154; - :b :c6155; - :b :c6156; - :b :c6157; - :b :c6158; - :b :c6159; - :b :c6160; - :b :c6161; - :b :c6162; - :b :c6163; - :b :c6164; - :b :c6165; - :b :c6166; - :b :c6167; - :b :c6168; - :b :c6169; - :b :c6170; - :b :c6171; - :b :c6172; - :b :c6173; - :b :c6174; - :b :c6175; - :b :c6176; - :b :c6177; - :b :c6178; - :b :c6179; - :b :c6180; - :b :c6181; - :b :c6182; - :b :c6183; - :b :c6184; - :b :c6185; - :b :c6186; - :b :c6187; - :b :c6188; - :b :c6189; - :b :c6190; - :b :c6191; - :b :c6192; - :b :c6193; - :b :c6194; - :b :c6195; - :b :c6196; - :b :c6197; - :b :c6198; - :b :c6199; - :b :c6200; - :b :c6201; - :b :c6202; - :b :c6203; - :b :c6204; - :b :c6205; - :b :c6206; - :b :c6207; - :b :c6208; - :b :c6209; - :b :c6210; - :b :c6211; - :b :c6212; - :b :c6213; - :b :c6214; - :b :c6215; - :b :c6216; - :b :c6217; - :b :c6218; - :b :c6219; - :b :c6220; - :b :c6221; - :b :c6222; - :b :c6223; - :b :c6224; - :b :c6225; - :b :c6226; - :b :c6227; - :b :c6228; - :b :c6229; - :b :c6230; - :b :c6231; - :b :c6232; - :b :c6233; - :b :c6234; - :b :c6235; - :b :c6236; - :b :c6237; - :b :c6238; - :b :c6239; - :b :c6240; - :b :c6241; - :b :c6242; - :b :c6243; - :b :c6244; - :b :c6245; - :b :c6246; - :b :c6247; - :b :c6248; - :b :c6249; - :b :c6250; - :b :c6251; - :b :c6252; - :b :c6253; - :b :c6254; - :b :c6255; - :b :c6256; - :b :c6257; - :b :c6258; - :b :c6259; - :b :c6260; - :b :c6261; - :b :c6262; - :b :c6263; - :b :c6264; - :b :c6265; - :b :c6266; - :b :c6267; - :b :c6268; - :b :c6269; - :b :c6270; - :b :c6271; - :b :c6272; - :b :c6273; - :b :c6274; - :b :c6275; - :b :c6276; - :b :c6277; - :b :c6278; - :b :c6279; - :b :c6280; - :b :c6281; - :b :c6282; - :b :c6283; - :b :c6284; - :b :c6285; - :b :c6286; - :b :c6287; - :b :c6288; - :b :c6289; - :b :c6290; - :b :c6291; - :b :c6292; - :b :c6293; - :b :c6294; - :b :c6295; - :b :c6296; - :b :c6297; - :b :c6298; - :b :c6299; - :b :c6300; - :b :c6301; - :b :c6302; - :b :c6303; - :b :c6304; - :b :c6305; - :b :c6306; - :b :c6307; - :b :c6308; - :b :c6309; - :b :c6310; - :b :c6311; - :b :c6312; - :b :c6313; - :b :c6314; - :b :c6315; - :b :c6316; - :b :c6317; - :b :c6318; - :b :c6319; - :b :c6320; - :b :c6321; - :b :c6322; - :b :c6323; - :b :c6324; - :b :c6325; - :b :c6326; - :b :c6327; - :b :c6328; - :b :c6329; - :b :c6330; - :b :c6331; - :b :c6332; - :b :c6333; - :b :c6334; - :b :c6335; - :b :c6336; - :b :c6337; - :b :c6338; - :b :c6339; - :b :c6340; - :b :c6341; - :b :c6342; - :b :c6343; - :b :c6344; - :b :c6345; - :b :c6346; - :b :c6347; - :b :c6348; - :b :c6349; - :b :c6350; - :b :c6351; - :b :c6352; - :b :c6353; - :b :c6354; - :b :c6355; - :b :c6356; - :b :c6357; - :b :c6358; - :b :c6359; - :b :c6360; - :b :c6361; - :b :c6362; - :b :c6363; - :b :c6364; - :b :c6365; - :b :c6366; - :b :c6367; - :b :c6368; - :b :c6369; - :b :c6370; - :b :c6371; - :b :c6372; - :b :c6373; - :b :c6374; - :b :c6375; - :b :c6376; - :b :c6377; - :b :c6378; - :b :c6379; - :b :c6380; - :b :c6381; - :b :c6382; - :b :c6383; - :b :c6384; - :b :c6385; - :b :c6386; - :b :c6387; - :b :c6388; - :b :c6389; - :b :c6390; - :b :c6391; - :b :c6392; - :b :c6393; - :b :c6394; - :b :c6395; - :b :c6396; - :b :c6397; - :b :c6398; - :b :c6399; - :b :c6400; - :b :c6401; - :b :c6402; - :b :c6403; - :b :c6404; - :b :c6405; - :b :c6406; - :b :c6407; - :b :c6408; - :b :c6409; - :b :c6410; - :b :c6411; - :b :c6412; - :b :c6413; - :b :c6414; - :b :c6415; - :b :c6416; - :b :c6417; - :b :c6418; - :b :c6419; - :b :c6420; - :b :c6421; - :b :c6422; - :b :c6423; - :b :c6424; - :b :c6425; - :b :c6426; - :b :c6427; - :b :c6428; - :b :c6429; - :b :c6430; - :b :c6431; - :b :c6432; - :b :c6433; - :b :c6434; - :b :c6435; - :b :c6436; - :b :c6437; - :b :c6438; - :b :c6439; - :b :c6440; - :b :c6441; - :b :c6442; - :b :c6443; - :b :c6444; - :b :c6445; - :b :c6446; - :b :c6447; - :b :c6448; - :b :c6449; - :b :c6450; - :b :c6451; - :b :c6452; - :b :c6453; - :b :c6454; - :b :c6455; - :b :c6456; - :b :c6457; - :b :c6458; - :b :c6459; - :b :c6460; - :b :c6461; - :b :c6462; - :b :c6463; - :b :c6464; - :b :c6465; - :b :c6466; - :b :c6467; - :b :c6468; - :b :c6469; - :b :c6470; - :b :c6471; - :b :c6472; - :b :c6473; - :b :c6474; - :b :c6475; - :b :c6476; - :b :c6477; - :b :c6478; - :b :c6479; - :b :c6480; - :b :c6481; - :b :c6482; - :b :c6483; - :b :c6484; - :b :c6485; - :b :c6486; - :b :c6487; - :b :c6488; - :b :c6489; - :b :c6490; - :b :c6491; - :b :c6492; - :b :c6493; - :b :c6494; - :b :c6495; - :b :c6496; - :b :c6497; - :b :c6498; - :b :c6499; - :b :c6500; - :b :c6501; - :b :c6502; - :b :c6503; - :b :c6504; - :b :c6505; - :b :c6506; - :b :c6507; - :b :c6508; - :b :c6509; - :b :c6510; - :b :c6511; - :b :c6512; - :b :c6513; - :b :c6514; - :b :c6515; - :b :c6516; - :b :c6517; - :b :c6518; - :b :c6519; - :b :c6520; - :b :c6521; - :b :c6522; - :b :c6523; - :b :c6524; - :b :c6525; - :b :c6526; - :b :c6527; - :b :c6528; - :b :c6529; - :b :c6530; - :b :c6531; - :b :c6532; - :b :c6533; - :b :c6534; - :b :c6535; - :b :c6536; - :b :c6537; - :b :c6538; - :b :c6539; - :b :c6540; - :b :c6541; - :b :c6542; - :b :c6543; - :b :c6544; - :b :c6545; - :b :c6546; - :b :c6547; - :b :c6548; - :b :c6549; - :b :c6550; - :b :c6551; - :b :c6552; - :b :c6553; - :b :c6554; - :b :c6555; - :b :c6556; - :b :c6557; - :b :c6558; - :b :c6559; - :b :c6560; - :b :c6561; - :b :c6562; - :b :c6563; - :b :c6564; - :b :c6565; - :b :c6566; - :b :c6567; - :b :c6568; - :b :c6569; - :b :c6570; - :b :c6571; - :b :c6572; - :b :c6573; - :b :c6574; - :b :c6575; - :b :c6576; - :b :c6577; - :b :c6578; - :b :c6579; - :b :c6580; - :b :c6581; - :b :c6582; - :b :c6583; - :b :c6584; - :b :c6585; - :b :c6586; - :b :c6587; - :b :c6588; - :b :c6589; - :b :c6590; - :b :c6591; - :b :c6592; - :b :c6593; - :b :c6594; - :b :c6595; - :b :c6596; - :b :c6597; - :b :c6598; - :b :c6599; - :b :c6600; - :b :c6601; - :b :c6602; - :b :c6603; - :b :c6604; - :b :c6605; - :b :c6606; - :b :c6607; - :b :c6608; - :b :c6609; - :b :c6610; - :b :c6611; - :b :c6612; - :b :c6613; - :b :c6614; - :b :c6615; - :b :c6616; - :b :c6617; - :b :c6618; - :b :c6619; - :b :c6620; - :b :c6621; - :b :c6622; - :b :c6623; - :b :c6624; - :b :c6625; - :b :c6626; - :b :c6627; - :b :c6628; - :b :c6629; - :b :c6630; - :b :c6631; - :b :c6632; - :b :c6633; - :b :c6634; - :b :c6635; - :b :c6636; - :b :c6637; - :b :c6638; - :b :c6639; - :b :c6640; - :b :c6641; - :b :c6642; - :b :c6643; - :b :c6644; - :b :c6645; - :b :c6646; - :b :c6647; - :b :c6648; - :b :c6649; - :b :c6650; - :b :c6651; - :b :c6652; - :b :c6653; - :b :c6654; - :b :c6655; - :b :c6656; - :b :c6657; - :b :c6658; - :b :c6659; - :b :c6660; - :b :c6661; - :b :c6662; - :b :c6663; - :b :c6664; - :b :c6665; - :b :c6666; - :b :c6667; - :b :c6668; - :b :c6669; - :b :c6670; - :b :c6671; - :b :c6672; - :b :c6673; - :b :c6674; - :b :c6675; - :b :c6676; - :b :c6677; - :b :c6678; - :b :c6679; - :b :c6680; - :b :c6681; - :b :c6682; - :b :c6683; - :b :c6684; - :b :c6685; - :b :c6686; - :b :c6687; - :b :c6688; - :b :c6689; - :b :c6690; - :b :c6691; - :b :c6692; - :b :c6693; - :b :c6694; - :b :c6695; - :b :c6696; - :b :c6697; - :b :c6698; - :b :c6699; - :b :c6700; - :b :c6701; - :b :c6702; - :b :c6703; - :b :c6704; - :b :c6705; - :b :c6706; - :b :c6707; - :b :c6708; - :b :c6709; - :b :c6710; - :b :c6711; - :b :c6712; - :b :c6713; - :b :c6714; - :b :c6715; - :b :c6716; - :b :c6717; - :b :c6718; - :b :c6719; - :b :c6720; - :b :c6721; - :b :c6722; - :b :c6723; - :b :c6724; - :b :c6725; - :b :c6726; - :b :c6727; - :b :c6728; - :b :c6729; - :b :c6730; - :b :c6731; - :b :c6732; - :b :c6733; - :b :c6734; - :b :c6735; - :b :c6736; - :b :c6737; - :b :c6738; - :b :c6739; - :b :c6740; - :b :c6741; - :b :c6742; - :b :c6743; - :b :c6744; - :b :c6745; - :b :c6746; - :b :c6747; - :b :c6748; - :b :c6749; - :b :c6750; - :b :c6751; - :b :c6752; - :b :c6753; - :b :c6754; - :b :c6755; - :b :c6756; - :b :c6757; - :b :c6758; - :b :c6759; - :b :c6760; - :b :c6761; - :b :c6762; - :b :c6763; - :b :c6764; - :b :c6765; - :b :c6766; - :b :c6767; - :b :c6768; - :b :c6769; - :b :c6770; - :b :c6771; - :b :c6772; - :b :c6773; - :b :c6774; - :b :c6775; - :b :c6776; - :b :c6777; - :b :c6778; - :b :c6779; - :b :c6780; - :b :c6781; - :b :c6782; - :b :c6783; - :b :c6784; - :b :c6785; - :b :c6786; - :b :c6787; - :b :c6788; - :b :c6789; - :b :c6790; - :b :c6791; - :b :c6792; - :b :c6793; - :b :c6794; - :b :c6795; - :b :c6796; - :b :c6797; - :b :c6798; - :b :c6799; - :b :c6800; - :b :c6801; - :b :c6802; - :b :c6803; - :b :c6804; - :b :c6805; - :b :c6806; - :b :c6807; - :b :c6808; - :b :c6809; - :b :c6810; - :b :c6811; - :b :c6812; - :b :c6813; - :b :c6814; - :b :c6815; - :b :c6816; - :b :c6817; - :b :c6818; - :b :c6819; - :b :c6820; - :b :c6821; - :b :c6822; - :b :c6823; - :b :c6824; - :b :c6825; - :b :c6826; - :b :c6827; - :b :c6828; - :b :c6829; - :b :c6830; - :b :c6831; - :b :c6832; - :b :c6833; - :b :c6834; - :b :c6835; - :b :c6836; - :b :c6837; - :b :c6838; - :b :c6839; - :b :c6840; - :b :c6841; - :b :c6842; - :b :c6843; - :b :c6844; - :b :c6845; - :b :c6846; - :b :c6847; - :b :c6848; - :b :c6849; - :b :c6850; - :b :c6851; - :b :c6852; - :b :c6853; - :b :c6854; - :b :c6855; - :b :c6856; - :b :c6857; - :b :c6858; - :b :c6859; - :b :c6860; - :b :c6861; - :b :c6862; - :b :c6863; - :b :c6864; - :b :c6865; - :b :c6866; - :b :c6867; - :b :c6868; - :b :c6869; - :b :c6870; - :b :c6871; - :b :c6872; - :b :c6873; - :b :c6874; - :b :c6875; - :b :c6876; - :b :c6877; - :b :c6878; - :b :c6879; - :b :c6880; - :b :c6881; - :b :c6882; - :b :c6883; - :b :c6884; - :b :c6885; - :b :c6886; - :b :c6887; - :b :c6888; - :b :c6889; - :b :c6890; - :b :c6891; - :b :c6892; - :b :c6893; - :b :c6894; - :b :c6895; - :b :c6896; - :b :c6897; - :b :c6898; - :b :c6899; - :b :c6900; - :b :c6901; - :b :c6902; - :b :c6903; - :b :c6904; - :b :c6905; - :b :c6906; - :b :c6907; - :b :c6908; - :b :c6909; - :b :c6910; - :b :c6911; - :b :c6912; - :b :c6913; - :b :c6914; - :b :c6915; - :b :c6916; - :b :c6917; - :b :c6918; - :b :c6919; - :b :c6920; - :b :c6921; - :b :c6922; - :b :c6923; - :b :c6924; - :b :c6925; - :b :c6926; - :b :c6927; - :b :c6928; - :b :c6929; - :b :c6930; - :b :c6931; - :b :c6932; - :b :c6933; - :b :c6934; - :b :c6935; - :b :c6936; - :b :c6937; - :b :c6938; - :b :c6939; - :b :c6940; - :b :c6941; - :b :c6942; - :b :c6943; - :b :c6944; - :b :c6945; - :b :c6946; - :b :c6947; - :b :c6948; - :b :c6949; - :b :c6950; - :b :c6951; - :b :c6952; - :b :c6953; - :b :c6954; - :b :c6955; - :b :c6956; - :b :c6957; - :b :c6958; - :b :c6959; - :b :c6960; - :b :c6961; - :b :c6962; - :b :c6963; - :b :c6964; - :b :c6965; - :b :c6966; - :b :c6967; - :b :c6968; - :b :c6969; - :b :c6970; - :b :c6971; - :b :c6972; - :b :c6973; - :b :c6974; - :b :c6975; - :b :c6976; - :b :c6977; - :b :c6978; - :b :c6979; - :b :c6980; - :b :c6981; - :b :c6982; - :b :c6983; - :b :c6984; - :b :c6985; - :b :c6986; - :b :c6987; - :b :c6988; - :b :c6989; - :b :c6990; - :b :c6991; - :b :c6992; - :b :c6993; - :b :c6994; - :b :c6995; - :b :c6996; - :b :c6997; - :b :c6998; - :b :c6999; - :b :c7000; - :b :c7001; - :b :c7002; - :b :c7003; - :b :c7004; - :b :c7005; - :b :c7006; - :b :c7007; - :b :c7008; - :b :c7009; - :b :c7010; - :b :c7011; - :b :c7012; - :b :c7013; - :b :c7014; - :b :c7015; - :b :c7016; - :b :c7017; - :b :c7018; - :b :c7019; - :b :c7020; - :b :c7021; - :b :c7022; - :b :c7023; - :b :c7024; - :b :c7025; - :b :c7026; - :b :c7027; - :b :c7028; - :b :c7029; - :b :c7030; - :b :c7031; - :b :c7032; - :b :c7033; - :b :c7034; - :b :c7035; - :b :c7036; - :b :c7037; - :b :c7038; - :b :c7039; - :b :c7040; - :b :c7041; - :b :c7042; - :b :c7043; - :b :c7044; - :b :c7045; - :b :c7046; - :b :c7047; - :b :c7048; - :b :c7049; - :b :c7050; - :b :c7051; - :b :c7052; - :b :c7053; - :b :c7054; - :b :c7055; - :b :c7056; - :b :c7057; - :b :c7058; - :b :c7059; - :b :c7060; - :b :c7061; - :b :c7062; - :b :c7063; - :b :c7064; - :b :c7065; - :b :c7066; - :b :c7067; - :b :c7068; - :b :c7069; - :b :c7070; - :b :c7071; - :b :c7072; - :b :c7073; - :b :c7074; - :b :c7075; - :b :c7076; - :b :c7077; - :b :c7078; - :b :c7079; - :b :c7080; - :b :c7081; - :b :c7082; - :b :c7083; - :b :c7084; - :b :c7085; - :b :c7086; - :b :c7087; - :b :c7088; - :b :c7089; - :b :c7090; - :b :c7091; - :b :c7092; - :b :c7093; - :b :c7094; - :b :c7095; - :b :c7096; - :b :c7097; - :b :c7098; - :b :c7099; - :b :c7100; - :b :c7101; - :b :c7102; - :b :c7103; - :b :c7104; - :b :c7105; - :b :c7106; - :b :c7107; - :b :c7108; - :b :c7109; - :b :c7110; - :b :c7111; - :b :c7112; - :b :c7113; - :b :c7114; - :b :c7115; - :b :c7116; - :b :c7117; - :b :c7118; - :b :c7119; - :b :c7120; - :b :c7121; - :b :c7122; - :b :c7123; - :b :c7124; - :b :c7125; - :b :c7126; - :b :c7127; - :b :c7128; - :b :c7129; - :b :c7130; - :b :c7131; - :b :c7132; - :b :c7133; - :b :c7134; - :b :c7135; - :b :c7136; - :b :c7137; - :b :c7138; - :b :c7139; - :b :c7140; - :b :c7141; - :b :c7142; - :b :c7143; - :b :c7144; - :b :c7145; - :b :c7146; - :b :c7147; - :b :c7148; - :b :c7149; - :b :c7150; - :b :c7151; - :b :c7152; - :b :c7153; - :b :c7154; - :b :c7155; - :b :c7156; - :b :c7157; - :b :c7158; - :b :c7159; - :b :c7160; - :b :c7161; - :b :c7162; - :b :c7163; - :b :c7164; - :b :c7165; - :b :c7166; - :b :c7167; - :b :c7168; - :b :c7169; - :b :c7170; - :b :c7171; - :b :c7172; - :b :c7173; - :b :c7174; - :b :c7175; - :b :c7176; - :b :c7177; - :b :c7178; - :b :c7179; - :b :c7180; - :b :c7181; - :b :c7182; - :b :c7183; - :b :c7184; - :b :c7185; - :b :c7186; - :b :c7187; - :b :c7188; - :b :c7189; - :b :c7190; - :b :c7191; - :b :c7192; - :b :c7193; - :b :c7194; - :b :c7195; - :b :c7196; - :b :c7197; - :b :c7198; - :b :c7199; - :b :c7200; - :b :c7201; - :b :c7202; - :b :c7203; - :b :c7204; - :b :c7205; - :b :c7206; - :b :c7207; - :b :c7208; - :b :c7209; - :b :c7210; - :b :c7211; - :b :c7212; - :b :c7213; - :b :c7214; - :b :c7215; - :b :c7216; - :b :c7217; - :b :c7218; - :b :c7219; - :b :c7220; - :b :c7221; - :b :c7222; - :b :c7223; - :b :c7224; - :b :c7225; - :b :c7226; - :b :c7227; - :b :c7228; - :b :c7229; - :b :c7230; - :b :c7231; - :b :c7232; - :b :c7233; - :b :c7234; - :b :c7235; - :b :c7236; - :b :c7237; - :b :c7238; - :b :c7239; - :b :c7240; - :b :c7241; - :b :c7242; - :b :c7243; - :b :c7244; - :b :c7245; - :b :c7246; - :b :c7247; - :b :c7248; - :b :c7249; - :b :c7250; - :b :c7251; - :b :c7252; - :b :c7253; - :b :c7254; - :b :c7255; - :b :c7256; - :b :c7257; - :b :c7258; - :b :c7259; - :b :c7260; - :b :c7261; - :b :c7262; - :b :c7263; - :b :c7264; - :b :c7265; - :b :c7266; - :b :c7267; - :b :c7268; - :b :c7269; - :b :c7270; - :b :c7271; - :b :c7272; - :b :c7273; - :b :c7274; - :b :c7275; - :b :c7276; - :b :c7277; - :b :c7278; - :b :c7279; - :b :c7280; - :b :c7281; - :b :c7282; - :b :c7283; - :b :c7284; - :b :c7285; - :b :c7286; - :b :c7287; - :b :c7288; - :b :c7289; - :b :c7290; - :b :c7291; - :b :c7292; - :b :c7293; - :b :c7294; - :b :c7295; - :b :c7296; - :b :c7297; - :b :c7298; - :b :c7299; - :b :c7300; - :b :c7301; - :b :c7302; - :b :c7303; - :b :c7304; - :b :c7305; - :b :c7306; - :b :c7307; - :b :c7308; - :b :c7309; - :b :c7310; - :b :c7311; - :b :c7312; - :b :c7313; - :b :c7314; - :b :c7315; - :b :c7316; - :b :c7317; - :b :c7318; - :b :c7319; - :b :c7320; - :b :c7321; - :b :c7322; - :b :c7323; - :b :c7324; - :b :c7325; - :b :c7326; - :b :c7327; - :b :c7328; - :b :c7329; - :b :c7330; - :b :c7331; - :b :c7332; - :b :c7333; - :b :c7334; - :b :c7335; - :b :c7336; - :b :c7337; - :b :c7338; - :b :c7339; - :b :c7340; - :b :c7341; - :b :c7342; - :b :c7343; - :b :c7344; - :b :c7345; - :b :c7346; - :b :c7347; - :b :c7348; - :b :c7349; - :b :c7350; - :b :c7351; - :b :c7352; - :b :c7353; - :b :c7354; - :b :c7355; - :b :c7356; - :b :c7357; - :b :c7358; - :b :c7359; - :b :c7360; - :b :c7361; - :b :c7362; - :b :c7363; - :b :c7364; - :b :c7365; - :b :c7366; - :b :c7367; - :b :c7368; - :b :c7369; - :b :c7370; - :b :c7371; - :b :c7372; - :b :c7373; - :b :c7374; - :b :c7375; - :b :c7376; - :b :c7377; - :b :c7378; - :b :c7379; - :b :c7380; - :b :c7381; - :b :c7382; - :b :c7383; - :b :c7384; - :b :c7385; - :b :c7386; - :b :c7387; - :b :c7388; - :b :c7389; - :b :c7390; - :b :c7391; - :b :c7392; - :b :c7393; - :b :c7394; - :b :c7395; - :b :c7396; - :b :c7397; - :b :c7398; - :b :c7399; - :b :c7400; - :b :c7401; - :b :c7402; - :b :c7403; - :b :c7404; - :b :c7405; - :b :c7406; - :b :c7407; - :b :c7408; - :b :c7409; - :b :c7410; - :b :c7411; - :b :c7412; - :b :c7413; - :b :c7414; - :b :c7415; - :b :c7416; - :b :c7417; - :b :c7418; - :b :c7419; - :b :c7420; - :b :c7421; - :b :c7422; - :b :c7423; - :b :c7424; - :b :c7425; - :b :c7426; - :b :c7427; - :b :c7428; - :b :c7429; - :b :c7430; - :b :c7431; - :b :c7432; - :b :c7433; - :b :c7434; - :b :c7435; - :b :c7436; - :b :c7437; - :b :c7438; - :b :c7439; - :b :c7440; - :b :c7441; - :b :c7442; - :b :c7443; - :b :c7444; - :b :c7445; - :b :c7446; - :b :c7447; - :b :c7448; - :b :c7449; - :b :c7450; - :b :c7451; - :b :c7452; - :b :c7453; - :b :c7454; - :b :c7455; - :b :c7456; - :b :c7457; - :b :c7458; - :b :c7459; - :b :c7460; - :b :c7461; - :b :c7462; - :b :c7463; - :b :c7464; - :b :c7465; - :b :c7466; - :b :c7467; - :b :c7468; - :b :c7469; - :b :c7470; - :b :c7471; - :b :c7472; - :b :c7473; - :b :c7474; - :b :c7475; - :b :c7476; - :b :c7477; - :b :c7478; - :b :c7479; - :b :c7480; - :b :c7481; - :b :c7482; - :b :c7483; - :b :c7484; - :b :c7485; - :b :c7486; - :b :c7487; - :b :c7488; - :b :c7489; - :b :c7490; - :b :c7491; - :b :c7492; - :b :c7493; - :b :c7494; - :b :c7495; - :b :c7496; - :b :c7497; - :b :c7498; - :b :c7499; - :b :c7500; - :b :c7501; - :b :c7502; - :b :c7503; - :b :c7504; - :b :c7505; - :b :c7506; - :b :c7507; - :b :c7508; - :b :c7509; - :b :c7510; - :b :c7511; - :b :c7512; - :b :c7513; - :b :c7514; - :b :c7515; - :b :c7516; - :b :c7517; - :b :c7518; - :b :c7519; - :b :c7520; - :b :c7521; - :b :c7522; - :b :c7523; - :b :c7524; - :b :c7525; - :b :c7526; - :b :c7527; - :b :c7528; - :b :c7529; - :b :c7530; - :b :c7531; - :b :c7532; - :b :c7533; - :b :c7534; - :b :c7535; - :b :c7536; - :b :c7537; - :b :c7538; - :b :c7539; - :b :c7540; - :b :c7541; - :b :c7542; - :b :c7543; - :b :c7544; - :b :c7545; - :b :c7546; - :b :c7547; - :b :c7548; - :b :c7549; - :b :c7550; - :b :c7551; - :b :c7552; - :b :c7553; - :b :c7554; - :b :c7555; - :b :c7556; - :b :c7557; - :b :c7558; - :b :c7559; - :b :c7560; - :b :c7561; - :b :c7562; - :b :c7563; - :b :c7564; - :b :c7565; - :b :c7566; - :b :c7567; - :b :c7568; - :b :c7569; - :b :c7570; - :b :c7571; - :b :c7572; - :b :c7573; - :b :c7574; - :b :c7575; - :b :c7576; - :b :c7577; - :b :c7578; - :b :c7579; - :b :c7580; - :b :c7581; - :b :c7582; - :b :c7583; - :b :c7584; - :b :c7585; - :b :c7586; - :b :c7587; - :b :c7588; - :b :c7589; - :b :c7590; - :b :c7591; - :b :c7592; - :b :c7593; - :b :c7594; - :b :c7595; - :b :c7596; - :b :c7597; - :b :c7598; - :b :c7599; - :b :c7600; - :b :c7601; - :b :c7602; - :b :c7603; - :b :c7604; - :b :c7605; - :b :c7606; - :b :c7607; - :b :c7608; - :b :c7609; - :b :c7610; - :b :c7611; - :b :c7612; - :b :c7613; - :b :c7614; - :b :c7615; - :b :c7616; - :b :c7617; - :b :c7618; - :b :c7619; - :b :c7620; - :b :c7621; - :b :c7622; - :b :c7623; - :b :c7624; - :b :c7625; - :b :c7626; - :b :c7627; - :b :c7628; - :b :c7629; - :b :c7630; - :b :c7631; - :b :c7632; - :b :c7633; - :b :c7634; - :b :c7635; - :b :c7636; - :b :c7637; - :b :c7638; - :b :c7639; - :b :c7640; - :b :c7641; - :b :c7642; - :b :c7643; - :b :c7644; - :b :c7645; - :b :c7646; - :b :c7647; - :b :c7648; - :b :c7649; - :b :c7650; - :b :c7651; - :b :c7652; - :b :c7653; - :b :c7654; - :b :c7655; - :b :c7656; - :b :c7657; - :b :c7658; - :b :c7659; - :b :c7660; - :b :c7661; - :b :c7662; - :b :c7663; - :b :c7664; - :b :c7665; - :b :c7666; - :b :c7667; - :b :c7668; - :b :c7669; - :b :c7670; - :b :c7671; - :b :c7672; - :b :c7673; - :b :c7674; - :b :c7675; - :b :c7676; - :b :c7677; - :b :c7678; - :b :c7679; - :b :c7680; - :b :c7681; - :b :c7682; - :b :c7683; - :b :c7684; - :b :c7685; - :b :c7686; - :b :c7687; - :b :c7688; - :b :c7689; - :b :c7690; - :b :c7691; - :b :c7692; - :b :c7693; - :b :c7694; - :b :c7695; - :b :c7696; - :b :c7697; - :b :c7698; - :b :c7699; - :b :c7700; - :b :c7701; - :b :c7702; - :b :c7703; - :b :c7704; - :b :c7705; - :b :c7706; - :b :c7707; - :b :c7708; - :b :c7709; - :b :c7710; - :b :c7711; - :b :c7712; - :b :c7713; - :b :c7714; - :b :c7715; - :b :c7716; - :b :c7717; - :b :c7718; - :b :c7719; - :b :c7720; - :b :c7721; - :b :c7722; - :b :c7723; - :b :c7724; - :b :c7725; - :b :c7726; - :b :c7727; - :b :c7728; - :b :c7729; - :b :c7730; - :b :c7731; - :b :c7732; - :b :c7733; - :b :c7734; - :b :c7735; - :b :c7736; - :b :c7737; - :b :c7738; - :b :c7739; - :b :c7740; - :b :c7741; - :b :c7742; - :b :c7743; - :b :c7744; - :b :c7745; - :b :c7746; - :b :c7747; - :b :c7748; - :b :c7749; - :b :c7750; - :b :c7751; - :b :c7752; - :b :c7753; - :b :c7754; - :b :c7755; - :b :c7756; - :b :c7757; - :b :c7758; - :b :c7759; - :b :c7760; - :b :c7761; - :b :c7762; - :b :c7763; - :b :c7764; - :b :c7765; - :b :c7766; - :b :c7767; - :b :c7768; - :b :c7769; - :b :c7770; - :b :c7771; - :b :c7772; - :b :c7773; - :b :c7774; - :b :c7775; - :b :c7776; - :b :c7777; - :b :c7778; - :b :c7779; - :b :c7780; - :b :c7781; - :b :c7782; - :b :c7783; - :b :c7784; - :b :c7785; - :b :c7786; - :b :c7787; - :b :c7788; - :b :c7789; - :b :c7790; - :b :c7791; - :b :c7792; - :b :c7793; - :b :c7794; - :b :c7795; - :b :c7796; - :b :c7797; - :b :c7798; - :b :c7799; - :b :c7800; - :b :c7801; - :b :c7802; - :b :c7803; - :b :c7804; - :b :c7805; - :b :c7806; - :b :c7807; - :b :c7808; - :b :c7809; - :b :c7810; - :b :c7811; - :b :c7812; - :b :c7813; - :b :c7814; - :b :c7815; - :b :c7816; - :b :c7817; - :b :c7818; - :b :c7819; - :b :c7820; - :b :c7821; - :b :c7822; - :b :c7823; - :b :c7824; - :b :c7825; - :b :c7826; - :b :c7827; - :b :c7828; - :b :c7829; - :b :c7830; - :b :c7831; - :b :c7832; - :b :c7833; - :b :c7834; - :b :c7835; - :b :c7836; - :b :c7837; - :b :c7838; - :b :c7839; - :b :c7840; - :b :c7841; - :b :c7842; - :b :c7843; - :b :c7844; - :b :c7845; - :b :c7846; - :b :c7847; - :b :c7848; - :b :c7849; - :b :c7850; - :b :c7851; - :b :c7852; - :b :c7853; - :b :c7854; - :b :c7855; - :b :c7856; - :b :c7857; - :b :c7858; - :b :c7859; - :b :c7860; - :b :c7861; - :b :c7862; - :b :c7863; - :b :c7864; - :b :c7865; - :b :c7866; - :b :c7867; - :b :c7868; - :b :c7869; - :b :c7870; - :b :c7871; - :b :c7872; - :b :c7873; - :b :c7874; - :b :c7875; - :b :c7876; - :b :c7877; - :b :c7878; - :b :c7879; - :b :c7880; - :b :c7881; - :b :c7882; - :b :c7883; - :b :c7884; - :b :c7885; - :b :c7886; - :b :c7887; - :b :c7888; - :b :c7889; - :b :c7890; - :b :c7891; - :b :c7892; - :b :c7893; - :b :c7894; - :b :c7895; - :b :c7896; - :b :c7897; - :b :c7898; - :b :c7899; - :b :c7900; - :b :c7901; - :b :c7902; - :b :c7903; - :b :c7904; - :b :c7905; - :b :c7906; - :b :c7907; - :b :c7908; - :b :c7909; - :b :c7910; - :b :c7911; - :b :c7912; - :b :c7913; - :b :c7914; - :b :c7915; - :b :c7916; - :b :c7917; - :b :c7918; - :b :c7919; - :b :c7920; - :b :c7921; - :b :c7922; - :b :c7923; - :b :c7924; - :b :c7925; - :b :c7926; - :b :c7927; - :b :c7928; - :b :c7929; - :b :c7930; - :b :c7931; - :b :c7932; - :b :c7933; - :b :c7934; - :b :c7935; - :b :c7936; - :b :c7937; - :b :c7938; - :b :c7939; - :b :c7940; - :b :c7941; - :b :c7942; - :b :c7943; - :b :c7944; - :b :c7945; - :b :c7946; - :b :c7947; - :b :c7948; - :b :c7949; - :b :c7950; - :b :c7951; - :b :c7952; - :b :c7953; - :b :c7954; - :b :c7955; - :b :c7956; - :b :c7957; - :b :c7958; - :b :c7959; - :b :c7960; - :b :c7961; - :b :c7962; - :b :c7963; - :b :c7964; - :b :c7965; - :b :c7966; - :b :c7967; - :b :c7968; - :b :c7969; - :b :c7970; - :b :c7971; - :b :c7972; - :b :c7973; - :b :c7974; - :b :c7975; - :b :c7976; - :b :c7977; - :b :c7978; - :b :c7979; - :b :c7980; - :b :c7981; - :b :c7982; - :b :c7983; - :b :c7984; - :b :c7985; - :b :c7986; - :b :c7987; - :b :c7988; - :b :c7989; - :b :c7990; - :b :c7991; - :b :c7992; - :b :c7993; - :b :c7994; - :b :c7995; - :b :c7996; - :b :c7997; - :b :c7998; - :b :c7999; - :b :c8000; - :b :c8001; - :b :c8002; - :b :c8003; - :b :c8004; - :b :c8005; - :b :c8006; - :b :c8007; - :b :c8008; - :b :c8009; - :b :c8010; - :b :c8011; - :b :c8012; - :b :c8013; - :b :c8014; - :b :c8015; - :b :c8016; - :b :c8017; - :b :c8018; - :b :c8019; - :b :c8020; - :b :c8021; - :b :c8022; - :b :c8023; - :b :c8024; - :b :c8025; - :b :c8026; - :b :c8027; - :b :c8028; - :b :c8029; - :b :c8030; - :b :c8031; - :b :c8032; - :b :c8033; - :b :c8034; - :b :c8035; - :b :c8036; - :b :c8037; - :b :c8038; - :b :c8039; - :b :c8040; - :b :c8041; - :b :c8042; - :b :c8043; - :b :c8044; - :b :c8045; - :b :c8046; - :b :c8047; - :b :c8048; - :b :c8049; - :b :c8050; - :b :c8051; - :b :c8052; - :b :c8053; - :b :c8054; - :b :c8055; - :b :c8056; - :b :c8057; - :b :c8058; - :b :c8059; - :b :c8060; - :b :c8061; - :b :c8062; - :b :c8063; - :b :c8064; - :b :c8065; - :b :c8066; - :b :c8067; - :b :c8068; - :b :c8069; - :b :c8070; - :b :c8071; - :b :c8072; - :b :c8073; - :b :c8074; - :b :c8075; - :b :c8076; - :b :c8077; - :b :c8078; - :b :c8079; - :b :c8080; - :b :c8081; - :b :c8082; - :b :c8083; - :b :c8084; - :b :c8085; - :b :c8086; - :b :c8087; - :b :c8088; - :b :c8089; - :b :c8090; - :b :c8091; - :b :c8092; - :b :c8093; - :b :c8094; - :b :c8095; - :b :c8096; - :b :c8097; - :b :c8098; - :b :c8099; - :b :c8100; - :b :c8101; - :b :c8102; - :b :c8103; - :b :c8104; - :b :c8105; - :b :c8106; - :b :c8107; - :b :c8108; - :b :c8109; - :b :c8110; - :b :c8111; - :b :c8112; - :b :c8113; - :b :c8114; - :b :c8115; - :b :c8116; - :b :c8117; - :b :c8118; - :b :c8119; - :b :c8120; - :b :c8121; - :b :c8122; - :b :c8123; - :b :c8124; - :b :c8125; - :b :c8126; - :b :c8127; - :b :c8128; - :b :c8129; - :b :c8130; - :b :c8131; - :b :c8132; - :b :c8133; - :b :c8134; - :b :c8135; - :b :c8136; - :b :c8137; - :b :c8138; - :b :c8139; - :b :c8140; - :b :c8141; - :b :c8142; - :b :c8143; - :b :c8144; - :b :c8145; - :b :c8146; - :b :c8147; - :b :c8148; - :b :c8149; - :b :c8150; - :b :c8151; - :b :c8152; - :b :c8153; - :b :c8154; - :b :c8155; - :b :c8156; - :b :c8157; - :b :c8158; - :b :c8159; - :b :c8160; - :b :c8161; - :b :c8162; - :b :c8163; - :b :c8164; - :b :c8165; - :b :c8166; - :b :c8167; - :b :c8168; - :b :c8169; - :b :c8170; - :b :c8171; - :b :c8172; - :b :c8173; - :b :c8174; - :b :c8175; - :b :c8176; - :b :c8177; - :b :c8178; - :b :c8179; - :b :c8180; - :b :c8181; - :b :c8182; - :b :c8183; - :b :c8184; - :b :c8185; - :b :c8186; - :b :c8187; - :b :c8188; - :b :c8189; - :b :c8190; - :b :c8191; - :b :c8192; - :b :c8193; - :b :c8194; - :b :c8195; - :b :c8196; - :b :c8197; - :b :c8198; - :b :c8199; - :b :c8200; - :b :c8201; - :b :c8202; - :b :c8203; - :b :c8204; - :b :c8205; - :b :c8206; - :b :c8207; - :b :c8208; - :b :c8209; - :b :c8210; - :b :c8211; - :b :c8212; - :b :c8213; - :b :c8214; - :b :c8215; - :b :c8216; - :b :c8217; - :b :c8218; - :b :c8219; - :b :c8220; - :b :c8221; - :b :c8222; - :b :c8223; - :b :c8224; - :b :c8225; - :b :c8226; - :b :c8227; - :b :c8228; - :b :c8229; - :b :c8230; - :b :c8231; - :b :c8232; - :b :c8233; - :b :c8234; - :b :c8235; - :b :c8236; - :b :c8237; - :b :c8238; - :b :c8239; - :b :c8240; - :b :c8241; - :b :c8242; - :b :c8243; - :b :c8244; - :b :c8245; - :b :c8246; - :b :c8247; - :b :c8248; - :b :c8249; - :b :c8250; - :b :c8251; - :b :c8252; - :b :c8253; - :b :c8254; - :b :c8255; - :b :c8256; - :b :c8257; - :b :c8258; - :b :c8259; - :b :c8260; - :b :c8261; - :b :c8262; - :b :c8263; - :b :c8264; - :b :c8265; - :b :c8266; - :b :c8267; - :b :c8268; - :b :c8269; - :b :c8270; - :b :c8271; - :b :c8272; - :b :c8273; - :b :c8274; - :b :c8275; - :b :c8276; - :b :c8277; - :b :c8278; - :b :c8279; - :b :c8280; - :b :c8281; - :b :c8282; - :b :c8283; - :b :c8284; - :b :c8285; - :b :c8286; - :b :c8287; - :b :c8288; - :b :c8289; - :b :c8290; - :b :c8291; - :b :c8292; - :b :c8293; - :b :c8294; - :b :c8295; - :b :c8296; - :b :c8297; - :b :c8298; - :b :c8299; - :b :c8300; - :b :c8301; - :b :c8302; - :b :c8303; - :b :c8304; - :b :c8305; - :b :c8306; - :b :c8307; - :b :c8308; - :b :c8309; - :b :c8310; - :b :c8311; - :b :c8312; - :b :c8313; - :b :c8314; - :b :c8315; - :b :c8316; - :b :c8317; - :b :c8318; - :b :c8319; - :b :c8320; - :b :c8321; - :b :c8322; - :b :c8323; - :b :c8324; - :b :c8325; - :b :c8326; - :b :c8327; - :b :c8328; - :b :c8329; - :b :c8330; - :b :c8331; - :b :c8332; - :b :c8333; - :b :c8334; - :b :c8335; - :b :c8336; - :b :c8337; - :b :c8338; - :b :c8339; - :b :c8340; - :b :c8341; - :b :c8342; - :b :c8343; - :b :c8344; - :b :c8345; - :b :c8346; - :b :c8347; - :b :c8348; - :b :c8349; - :b :c8350; - :b :c8351; - :b :c8352; - :b :c8353; - :b :c8354; - :b :c8355; - :b :c8356; - :b :c8357; - :b :c8358; - :b :c8359; - :b :c8360; - :b :c8361; - :b :c8362; - :b :c8363; - :b :c8364; - :b :c8365; - :b :c8366; - :b :c8367; - :b :c8368; - :b :c8369; - :b :c8370; - :b :c8371; - :b :c8372; - :b :c8373; - :b :c8374; - :b :c8375; - :b :c8376; - :b :c8377; - :b :c8378; - :b :c8379; - :b :c8380; - :b :c8381; - :b :c8382; - :b :c8383; - :b :c8384; - :b :c8385; - :b :c8386; - :b :c8387; - :b :c8388; - :b :c8389; - :b :c8390; - :b :c8391; - :b :c8392; - :b :c8393; - :b :c8394; - :b :c8395; - :b :c8396; - :b :c8397; - :b :c8398; - :b :c8399; - :b :c8400; - :b :c8401; - :b :c8402; - :b :c8403; - :b :c8404; - :b :c8405; - :b :c8406; - :b :c8407; - :b :c8408; - :b :c8409; - :b :c8410; - :b :c8411; - :b :c8412; - :b :c8413; - :b :c8414; - :b :c8415; - :b :c8416; - :b :c8417; - :b :c8418; - :b :c8419; - :b :c8420; - :b :c8421; - :b :c8422; - :b :c8423; - :b :c8424; - :b :c8425; - :b :c8426; - :b :c8427; - :b :c8428; - :b :c8429; - :b :c8430; - :b :c8431; - :b :c8432; - :b :c8433; - :b :c8434; - :b :c8435; - :b :c8436; - :b :c8437; - :b :c8438; - :b :c8439; - :b :c8440; - :b :c8441; - :b :c8442; - :b :c8443; - :b :c8444; - :b :c8445; - :b :c8446; - :b :c8447; - :b :c8448; - :b :c8449; - :b :c8450; - :b :c8451; - :b :c8452; - :b :c8453; - :b :c8454; - :b :c8455; - :b :c8456; - :b :c8457; - :b :c8458; - :b :c8459; - :b :c8460; - :b :c8461; - :b :c8462; - :b :c8463; - :b :c8464; - :b :c8465; - :b :c8466; - :b :c8467; - :b :c8468; - :b :c8469; - :b :c8470; - :b :c8471; - :b :c8472; - :b :c8473; - :b :c8474; - :b :c8475; - :b :c8476; - :b :c8477; - :b :c8478; - :b :c8479; - :b :c8480; - :b :c8481; - :b :c8482; - :b :c8483; - :b :c8484; - :b :c8485; - :b :c8486; - :b :c8487; - :b :c8488; - :b :c8489; - :b :c8490; - :b :c8491; - :b :c8492; - :b :c8493; - :b :c8494; - :b :c8495; - :b :c8496; - :b :c8497; - :b :c8498; - :b :c8499; - :b :c8500; - :b :c8501; - :b :c8502; - :b :c8503; - :b :c8504; - :b :c8505; - :b :c8506; - :b :c8507; - :b :c8508; - :b :c8509; - :b :c8510; - :b :c8511; - :b :c8512; - :b :c8513; - :b :c8514; - :b :c8515; - :b :c8516; - :b :c8517; - :b :c8518; - :b :c8519; - :b :c8520; - :b :c8521; - :b :c8522; - :b :c8523; - :b :c8524; - :b :c8525; - :b :c8526; - :b :c8527; - :b :c8528; - :b :c8529; - :b :c8530; - :b :c8531; - :b :c8532; - :b :c8533; - :b :c8534; - :b :c8535; - :b :c8536; - :b :c8537; - :b :c8538; - :b :c8539; - :b :c8540; - :b :c8541; - :b :c8542; - :b :c8543; - :b :c8544; - :b :c8545; - :b :c8546; - :b :c8547; - :b :c8548; - :b :c8549; - :b :c8550; - :b :c8551; - :b :c8552; - :b :c8553; - :b :c8554; - :b :c8555; - :b :c8556; - :b :c8557; - :b :c8558; - :b :c8559; - :b :c8560; - :b :c8561; - :b :c8562; - :b :c8563; - :b :c8564; - :b :c8565; - :b :c8566; - :b :c8567; - :b :c8568; - :b :c8569; - :b :c8570; - :b :c8571; - :b :c8572; - :b :c8573; - :b :c8574; - :b :c8575; - :b :c8576; - :b :c8577; - :b :c8578; - :b :c8579; - :b :c8580; - :b :c8581; - :b :c8582; - :b :c8583; - :b :c8584; - :b :c8585; - :b :c8586; - :b :c8587; - :b :c8588; - :b :c8589; - :b :c8590; - :b :c8591; - :b :c8592; - :b :c8593; - :b :c8594; - :b :c8595; - :b :c8596; - :b :c8597; - :b :c8598; - :b :c8599; - :b :c8600; - :b :c8601; - :b :c8602; - :b :c8603; - :b :c8604; - :b :c8605; - :b :c8606; - :b :c8607; - :b :c8608; - :b :c8609; - :b :c8610; - :b :c8611; - :b :c8612; - :b :c8613; - :b :c8614; - :b :c8615; - :b :c8616; - :b :c8617; - :b :c8618; - :b :c8619; - :b :c8620; - :b :c8621; - :b :c8622; - :b :c8623; - :b :c8624; - :b :c8625; - :b :c8626; - :b :c8627; - :b :c8628; - :b :c8629; - :b :c8630; - :b :c8631; - :b :c8632; - :b :c8633; - :b :c8634; - :b :c8635; - :b :c8636; - :b :c8637; - :b :c8638; - :b :c8639; - :b :c8640; - :b :c8641; - :b :c8642; - :b :c8643; - :b :c8644; - :b :c8645; - :b :c8646; - :b :c8647; - :b :c8648; - :b :c8649; - :b :c8650; - :b :c8651; - :b :c8652; - :b :c8653; - :b :c8654; - :b :c8655; - :b :c8656; - :b :c8657; - :b :c8658; - :b :c8659; - :b :c8660; - :b :c8661; - :b :c8662; - :b :c8663; - :b :c8664; - :b :c8665; - :b :c8666; - :b :c8667; - :b :c8668; - :b :c8669; - :b :c8670; - :b :c8671; - :b :c8672; - :b :c8673; - :b :c8674; - :b :c8675; - :b :c8676; - :b :c8677; - :b :c8678; - :b :c8679; - :b :c8680; - :b :c8681; - :b :c8682; - :b :c8683; - :b :c8684; - :b :c8685; - :b :c8686; - :b :c8687; - :b :c8688; - :b :c8689; - :b :c8690; - :b :c8691; - :b :c8692; - :b :c8693; - :b :c8694; - :b :c8695; - :b :c8696; - :b :c8697; - :b :c8698; - :b :c8699; - :b :c8700; - :b :c8701; - :b :c8702; - :b :c8703; - :b :c8704; - :b :c8705; - :b :c8706; - :b :c8707; - :b :c8708; - :b :c8709; - :b :c8710; - :b :c8711; - :b :c8712; - :b :c8713; - :b :c8714; - :b :c8715; - :b :c8716; - :b :c8717; - :b :c8718; - :b :c8719; - :b :c8720; - :b :c8721; - :b :c8722; - :b :c8723; - :b :c8724; - :b :c8725; - :b :c8726; - :b :c8727; - :b :c8728; - :b :c8729; - :b :c8730; - :b :c8731; - :b :c8732; - :b :c8733; - :b :c8734; - :b :c8735; - :b :c8736; - :b :c8737; - :b :c8738; - :b :c8739; - :b :c8740; - :b :c8741; - :b :c8742; - :b :c8743; - :b :c8744; - :b :c8745; - :b :c8746; - :b :c8747; - :b :c8748; - :b :c8749; - :b :c8750; - :b :c8751; - :b :c8752; - :b :c8753; - :b :c8754; - :b :c8755; - :b :c8756; - :b :c8757; - :b :c8758; - :b :c8759; - :b :c8760; - :b :c8761; - :b :c8762; - :b :c8763; - :b :c8764; - :b :c8765; - :b :c8766; - :b :c8767; - :b :c8768; - :b :c8769; - :b :c8770; - :b :c8771; - :b :c8772; - :b :c8773; - :b :c8774; - :b :c8775; - :b :c8776; - :b :c8777; - :b :c8778; - :b :c8779; - :b :c8780; - :b :c8781; - :b :c8782; - :b :c8783; - :b :c8784; - :b :c8785; - :b :c8786; - :b :c8787; - :b :c8788; - :b :c8789; - :b :c8790; - :b :c8791; - :b :c8792; - :b :c8793; - :b :c8794; - :b :c8795; - :b :c8796; - :b :c8797; - :b :c8798; - :b :c8799; - :b :c8800; - :b :c8801; - :b :c8802; - :b :c8803; - :b :c8804; - :b :c8805; - :b :c8806; - :b :c8807; - :b :c8808; - :b :c8809; - :b :c8810; - :b :c8811; - :b :c8812; - :b :c8813; - :b :c8814; - :b :c8815; - :b :c8816; - :b :c8817; - :b :c8818; - :b :c8819; - :b :c8820; - :b :c8821; - :b :c8822; - :b :c8823; - :b :c8824; - :b :c8825; - :b :c8826; - :b :c8827; - :b :c8828; - :b :c8829; - :b :c8830; - :b :c8831; - :b :c8832; - :b :c8833; - :b :c8834; - :b :c8835; - :b :c8836; - :b :c8837; - :b :c8838; - :b :c8839; - :b :c8840; - :b :c8841; - :b :c8842; - :b :c8843; - :b :c8844; - :b :c8845; - :b :c8846; - :b :c8847; - :b :c8848; - :b :c8849; - :b :c8850; - :b :c8851; - :b :c8852; - :b :c8853; - :b :c8854; - :b :c8855; - :b :c8856; - :b :c8857; - :b :c8858; - :b :c8859; - :b :c8860; - :b :c8861; - :b :c8862; - :b :c8863; - :b :c8864; - :b :c8865; - :b :c8866; - :b :c8867; - :b :c8868; - :b :c8869; - :b :c8870; - :b :c8871; - :b :c8872; - :b :c8873; - :b :c8874; - :b :c8875; - :b :c8876; - :b :c8877; - :b :c8878; - :b :c8879; - :b :c8880; - :b :c8881; - :b :c8882; - :b :c8883; - :b :c8884; - :b :c8885; - :b :c8886; - :b :c8887; - :b :c8888; - :b :c8889; - :b :c8890; - :b :c8891; - :b :c8892; - :b :c8893; - :b :c8894; - :b :c8895; - :b :c8896; - :b :c8897; - :b :c8898; - :b :c8899; - :b :c8900; - :b :c8901; - :b :c8902; - :b :c8903; - :b :c8904; - :b :c8905; - :b :c8906; - :b :c8907; - :b :c8908; - :b :c8909; - :b :c8910; - :b :c8911; - :b :c8912; - :b :c8913; - :b :c8914; - :b :c8915; - :b :c8916; - :b :c8917; - :b :c8918; - :b :c8919; - :b :c8920; - :b :c8921; - :b :c8922; - :b :c8923; - :b :c8924; - :b :c8925; - :b :c8926; - :b :c8927; - :b :c8928; - :b :c8929; - :b :c8930; - :b :c8931; - :b :c8932; - :b :c8933; - :b :c8934; - :b :c8935; - :b :c8936; - :b :c8937; - :b :c8938; - :b :c8939; - :b :c8940; - :b :c8941; - :b :c8942; - :b :c8943; - :b :c8944; - :b :c8945; - :b :c8946; - :b :c8947; - :b :c8948; - :b :c8949; - :b :c8950; - :b :c8951; - :b :c8952; - :b :c8953; - :b :c8954; - :b :c8955; - :b :c8956; - :b :c8957; - :b :c8958; - :b :c8959; - :b :c8960; - :b :c8961; - :b :c8962; - :b :c8963; - :b :c8964; - :b :c8965; - :b :c8966; - :b :c8967; - :b :c8968; - :b :c8969; - :b :c8970; - :b :c8971; - :b :c8972; - :b :c8973; - :b :c8974; - :b :c8975; - :b :c8976; - :b :c8977; - :b :c8978; - :b :c8979; - :b :c8980; - :b :c8981; - :b :c8982; - :b :c8983; - :b :c8984; - :b :c8985; - :b :c8986; - :b :c8987; - :b :c8988; - :b :c8989; - :b :c8990; - :b :c8991; - :b :c8992; - :b :c8993; - :b :c8994; - :b :c8995; - :b :c8996; - :b :c8997; - :b :c8998; - :b :c8999; - :b :c9000; - :b :c9001; - :b :c9002; - :b :c9003; - :b :c9004; - :b :c9005; - :b :c9006; - :b :c9007; - :b :c9008; - :b :c9009; - :b :c9010; - :b :c9011; - :b :c9012; - :b :c9013; - :b :c9014; - :b :c9015; - :b :c9016; - :b :c9017; - :b :c9018; - :b :c9019; - :b :c9020; - :b :c9021; - :b :c9022; - :b :c9023; - :b :c9024; - :b :c9025; - :b :c9026; - :b :c9027; - :b :c9028; - :b :c9029; - :b :c9030; - :b :c9031; - :b :c9032; - :b :c9033; - :b :c9034; - :b :c9035; - :b :c9036; - :b :c9037; - :b :c9038; - :b :c9039; - :b :c9040; - :b :c9041; - :b :c9042; - :b :c9043; - :b :c9044; - :b :c9045; - :b :c9046; - :b :c9047; - :b :c9048; - :b :c9049; - :b :c9050; - :b :c9051; - :b :c9052; - :b :c9053; - :b :c9054; - :b :c9055; - :b :c9056; - :b :c9057; - :b :c9058; - :b :c9059; - :b :c9060; - :b :c9061; - :b :c9062; - :b :c9063; - :b :c9064; - :b :c9065; - :b :c9066; - :b :c9067; - :b :c9068; - :b :c9069; - :b :c9070; - :b :c9071; - :b :c9072; - :b :c9073; - :b :c9074; - :b :c9075; - :b :c9076; - :b :c9077; - :b :c9078; - :b :c9079; - :b :c9080; - :b :c9081; - :b :c9082; - :b :c9083; - :b :c9084; - :b :c9085; - :b :c9086; - :b :c9087; - :b :c9088; - :b :c9089; - :b :c9090; - :b :c9091; - :b :c9092; - :b :c9093; - :b :c9094; - :b :c9095; - :b :c9096; - :b :c9097; - :b :c9098; - :b :c9099; - :b :c9100; - :b :c9101; - :b :c9102; - :b :c9103; - :b :c9104; - :b :c9105; - :b :c9106; - :b :c9107; - :b :c9108; - :b :c9109; - :b :c9110; - :b :c9111; - :b :c9112; - :b :c9113; - :b :c9114; - :b :c9115; - :b :c9116; - :b :c9117; - :b :c9118; - :b :c9119; - :b :c9120; - :b :c9121; - :b :c9122; - :b :c9123; - :b :c9124; - :b :c9125; - :b :c9126; - :b :c9127; - :b :c9128; - :b :c9129; - :b :c9130; - :b :c9131; - :b :c9132; - :b :c9133; - :b :c9134; - :b :c9135; - :b :c9136; - :b :c9137; - :b :c9138; - :b :c9139; - :b :c9140; - :b :c9141; - :b :c9142; - :b :c9143; - :b :c9144; - :b :c9145; - :b :c9146; - :b :c9147; - :b :c9148; - :b :c9149; - :b :c9150; - :b :c9151; - :b :c9152; - :b :c9153; - :b :c9154; - :b :c9155; - :b :c9156; - :b :c9157; - :b :c9158; - :b :c9159; - :b :c9160; - :b :c9161; - :b :c9162; - :b :c9163; - :b :c9164; - :b :c9165; - :b :c9166; - :b :c9167; - :b :c9168; - :b :c9169; - :b :c9170; - :b :c9171; - :b :c9172; - :b :c9173; - :b :c9174; - :b :c9175; - :b :c9176; - :b :c9177; - :b :c9178; - :b :c9179; - :b :c9180; - :b :c9181; - :b :c9182; - :b :c9183; - :b :c9184; - :b :c9185; - :b :c9186; - :b :c9187; - :b :c9188; - :b :c9189; - :b :c9190; - :b :c9191; - :b :c9192; - :b :c9193; - :b :c9194; - :b :c9195; - :b :c9196; - :b :c9197; - :b :c9198; - :b :c9199; - :b :c9200; - :b :c9201; - :b :c9202; - :b :c9203; - :b :c9204; - :b :c9205; - :b :c9206; - :b :c9207; - :b :c9208; - :b :c9209; - :b :c9210; - :b :c9211; - :b :c9212; - :b :c9213; - :b :c9214; - :b :c9215; - :b :c9216; - :b :c9217; - :b :c9218; - :b :c9219; - :b :c9220; - :b :c9221; - :b :c9222; - :b :c9223; - :b :c9224; - :b :c9225; - :b :c9226; - :b :c9227; - :b :c9228; - :b :c9229; - :b :c9230; - :b :c9231; - :b :c9232; - :b :c9233; - :b :c9234; - :b :c9235; - :b :c9236; - :b :c9237; - :b :c9238; - :b :c9239; - :b :c9240; - :b :c9241; - :b :c9242; - :b :c9243; - :b :c9244; - :b :c9245; - :b :c9246; - :b :c9247; - :b :c9248; - :b :c9249; - :b :c9250; - :b :c9251; - :b :c9252; - :b :c9253; - :b :c9254; - :b :c9255; - :b :c9256; - :b :c9257; - :b :c9258; - :b :c9259; - :b :c9260; - :b :c9261; - :b :c9262; - :b :c9263; - :b :c9264; - :b :c9265; - :b :c9266; - :b :c9267; - :b :c9268; - :b :c9269; - :b :c9270; - :b :c9271; - :b :c9272; - :b :c9273; - :b :c9274; - :b :c9275; - :b :c9276; - :b :c9277; - :b :c9278; - :b :c9279; - :b :c9280; - :b :c9281; - :b :c9282; - :b :c9283; - :b :c9284; - :b :c9285; - :b :c9286; - :b :c9287; - :b :c9288; - :b :c9289; - :b :c9290; - :b :c9291; - :b :c9292; - :b :c9293; - :b :c9294; - :b :c9295; - :b :c9296; - :b :c9297; - :b :c9298; - :b :c9299; - :b :c9300; - :b :c9301; - :b :c9302; - :b :c9303; - :b :c9304; - :b :c9305; - :b :c9306; - :b :c9307; - :b :c9308; - :b :c9309; - :b :c9310; - :b :c9311; - :b :c9312; - :b :c9313; - :b :c9314; - :b :c9315; - :b :c9316; - :b :c9317; - :b :c9318; - :b :c9319; - :b :c9320; - :b :c9321; - :b :c9322; - :b :c9323; - :b :c9324; - :b :c9325; - :b :c9326; - :b :c9327; - :b :c9328; - :b :c9329; - :b :c9330; - :b :c9331; - :b :c9332; - :b :c9333; - :b :c9334; - :b :c9335; - :b :c9336; - :b :c9337; - :b :c9338; - :b :c9339; - :b :c9340; - :b :c9341; - :b :c9342; - :b :c9343; - :b :c9344; - :b :c9345; - :b :c9346; - :b :c9347; - :b :c9348; - :b :c9349; - :b :c9350; - :b :c9351; - :b :c9352; - :b :c9353; - :b :c9354; - :b :c9355; - :b :c9356; - :b :c9357; - :b :c9358; - :b :c9359; - :b :c9360; - :b :c9361; - :b :c9362; - :b :c9363; - :b :c9364; - :b :c9365; - :b :c9366; - :b :c9367; - :b :c9368; - :b :c9369; - :b :c9370; - :b :c9371; - :b :c9372; - :b :c9373; - :b :c9374; - :b :c9375; - :b :c9376; - :b :c9377; - :b :c9378; - :b :c9379; - :b :c9380; - :b :c9381; - :b :c9382; - :b :c9383; - :b :c9384; - :b :c9385; - :b :c9386; - :b :c9387; - :b :c9388; - :b :c9389; - :b :c9390; - :b :c9391; - :b :c9392; - :b :c9393; - :b :c9394; - :b :c9395; - :b :c9396; - :b :c9397; - :b :c9398; - :b :c9399; - :b :c9400; - :b :c9401; - :b :c9402; - :b :c9403; - :b :c9404; - :b :c9405; - :b :c9406; - :b :c9407; - :b :c9408; - :b :c9409; - :b :c9410; - :b :c9411; - :b :c9412; - :b :c9413; - :b :c9414; - :b :c9415; - :b :c9416; - :b :c9417; - :b :c9418; - :b :c9419; - :b :c9420; - :b :c9421; - :b :c9422; - :b :c9423; - :b :c9424; - :b :c9425; - :b :c9426; - :b :c9427; - :b :c9428; - :b :c9429; - :b :c9430; - :b :c9431; - :b :c9432; - :b :c9433; - :b :c9434; - :b :c9435; - :b :c9436; - :b :c9437; - :b :c9438; - :b :c9439; - :b :c9440; - :b :c9441; - :b :c9442; - :b :c9443; - :b :c9444; - :b :c9445; - :b :c9446; - :b :c9447; - :b :c9448; - :b :c9449; - :b :c9450; - :b :c9451; - :b :c9452; - :b :c9453; - :b :c9454; - :b :c9455; - :b :c9456; - :b :c9457; - :b :c9458; - :b :c9459; - :b :c9460; - :b :c9461; - :b :c9462; - :b :c9463; - :b :c9464; - :b :c9465; - :b :c9466; - :b :c9467; - :b :c9468; - :b :c9469; - :b :c9470; - :b :c9471; - :b :c9472; - :b :c9473; - :b :c9474; - :b :c9475; - :b :c9476; - :b :c9477; - :b :c9478; - :b :c9479; - :b :c9480; - :b :c9481; - :b :c9482; - :b :c9483; - :b :c9484; - :b :c9485; - :b :c9486; - :b :c9487; - :b :c9488; - :b :c9489; - :b :c9490; - :b :c9491; - :b :c9492; - :b :c9493; - :b :c9494; - :b :c9495; - :b :c9496; - :b :c9497; - :b :c9498; - :b :c9499; - :b :c9500; - :b :c9501; - :b :c9502; - :b :c9503; - :b :c9504; - :b :c9505; - :b :c9506; - :b :c9507; - :b :c9508; - :b :c9509; - :b :c9510; - :b :c9511; - :b :c9512; - :b :c9513; - :b :c9514; - :b :c9515; - :b :c9516; - :b :c9517; - :b :c9518; - :b :c9519; - :b :c9520; - :b :c9521; - :b :c9522; - :b :c9523; - :b :c9524; - :b :c9525; - :b :c9526; - :b :c9527; - :b :c9528; - :b :c9529; - :b :c9530; - :b :c9531; - :b :c9532; - :b :c9533; - :b :c9534; - :b :c9535; - :b :c9536; - :b :c9537; - :b :c9538; - :b :c9539; - :b :c9540; - :b :c9541; - :b :c9542; - :b :c9543; - :b :c9544; - :b :c9545; - :b :c9546; - :b :c9547; - :b :c9548; - :b :c9549; - :b :c9550; - :b :c9551; - :b :c9552; - :b :c9553; - :b :c9554; - :b :c9555; - :b :c9556; - :b :c9557; - :b :c9558; - :b :c9559; - :b :c9560; - :b :c9561; - :b :c9562; - :b :c9563; - :b :c9564; - :b :c9565; - :b :c9566; - :b :c9567; - :b :c9568; - :b :c9569; - :b :c9570; - :b :c9571; - :b :c9572; - :b :c9573; - :b :c9574; - :b :c9575; - :b :c9576; - :b :c9577; - :b :c9578; - :b :c9579; - :b :c9580; - :b :c9581; - :b :c9582; - :b :c9583; - :b :c9584; - :b :c9585; - :b :c9586; - :b :c9587; - :b :c9588; - :b :c9589; - :b :c9590; - :b :c9591; - :b :c9592; - :b :c9593; - :b :c9594; - :b :c9595; - :b :c9596; - :b :c9597; - :b :c9598; - :b :c9599; - :b :c9600; - :b :c9601; - :b :c9602; - :b :c9603; - :b :c9604; - :b :c9605; - :b :c9606; - :b :c9607; - :b :c9608; - :b :c9609; - :b :c9610; - :b :c9611; - :b :c9612; - :b :c9613; - :b :c9614; - :b :c9615; - :b :c9616; - :b :c9617; - :b :c9618; - :b :c9619; - :b :c9620; - :b :c9621; - :b :c9622; - :b :c9623; - :b :c9624; - :b :c9625; - :b :c9626; - :b :c9627; - :b :c9628; - :b :c9629; - :b :c9630; - :b :c9631; - :b :c9632; - :b :c9633; - :b :c9634; - :b :c9635; - :b :c9636; - :b :c9637; - :b :c9638; - :b :c9639; - :b :c9640; - :b :c9641; - :b :c9642; - :b :c9643; - :b :c9644; - :b :c9645; - :b :c9646; - :b :c9647; - :b :c9648; - :b :c9649; - :b :c9650; - :b :c9651; - :b :c9652; - :b :c9653; - :b :c9654; - :b :c9655; - :b :c9656; - :b :c9657; - :b :c9658; - :b :c9659; - :b :c9660; - :b :c9661; - :b :c9662; - :b :c9663; - :b :c9664; - :b :c9665; - :b :c9666; - :b :c9667; - :b :c9668; - :b :c9669; - :b :c9670; - :b :c9671; - :b :c9672; - :b :c9673; - :b :c9674; - :b :c9675; - :b :c9676; - :b :c9677; - :b :c9678; - :b :c9679; - :b :c9680; - :b :c9681; - :b :c9682; - :b :c9683; - :b :c9684; - :b :c9685; - :b :c9686; - :b :c9687; - :b :c9688; - :b :c9689; - :b :c9690; - :b :c9691; - :b :c9692; - :b :c9693; - :b :c9694; - :b :c9695; - :b :c9696; - :b :c9697; - :b :c9698; - :b :c9699; - :b :c9700; - :b :c9701; - :b :c9702; - :b :c9703; - :b :c9704; - :b :c9705; - :b :c9706; - :b :c9707; - :b :c9708; - :b :c9709; - :b :c9710; - :b :c9711; - :b :c9712; - :b :c9713; - :b :c9714; - :b :c9715; - :b :c9716; - :b :c9717; - :b :c9718; - :b :c9719; - :b :c9720; - :b :c9721; - :b :c9722; - :b :c9723; - :b :c9724; - :b :c9725; - :b :c9726; - :b :c9727; - :b :c9728; - :b :c9729; - :b :c9730; - :b :c9731; - :b :c9732; - :b :c9733; - :b :c9734; - :b :c9735; - :b :c9736; - :b :c9737; - :b :c9738; - :b :c9739; - :b :c9740; - :b :c9741; - :b :c9742; - :b :c9743; - :b :c9744; - :b :c9745; - :b :c9746; - :b :c9747; - :b :c9748; - :b :c9749; - :b :c9750; - :b :c9751; - :b :c9752; - :b :c9753; - :b :c9754; - :b :c9755; - :b :c9756; - :b :c9757; - :b :c9758; - :b :c9759; - :b :c9760; - :b :c9761; - :b :c9762; - :b :c9763; - :b :c9764; - :b :c9765; - :b :c9766; - :b :c9767; - :b :c9768; - :b :c9769; - :b :c9770; - :b :c9771; - :b :c9772; - :b :c9773; - :b :c9774; - :b :c9775; - :b :c9776; - :b :c9777; - :b :c9778; - :b :c9779; - :b :c9780; - :b :c9781; - :b :c9782; - :b :c9783; - :b :c9784; - :b :c9785; - :b :c9786; - :b :c9787; - :b :c9788; - :b :c9789; - :b :c9790; - :b :c9791; - :b :c9792; - :b :c9793; - :b :c9794; - :b :c9795; - :b :c9796; - :b :c9797; - :b :c9798; - :b :c9799; - :b :c9800; - :b :c9801; - :b :c9802; - :b :c9803; - :b :c9804; - :b :c9805; - :b :c9806; - :b :c9807; - :b :c9808; - :b :c9809; - :b :c9810; - :b :c9811; - :b :c9812; - :b :c9813; - :b :c9814; - :b :c9815; - :b :c9816; - :b :c9817; - :b :c9818; - :b :c9819; - :b :c9820; - :b :c9821; - :b :c9822; - :b :c9823; - :b :c9824; - :b :c9825; - :b :c9826; - :b :c9827; - :b :c9828; - :b :c9829; - :b :c9830; - :b :c9831; - :b :c9832; - :b :c9833; - :b :c9834; - :b :c9835; - :b :c9836; - :b :c9837; - :b :c9838; - :b :c9839; - :b :c9840; - :b :c9841; - :b :c9842; - :b :c9843; - :b :c9844; - :b :c9845; - :b :c9846; - :b :c9847; - :b :c9848; - :b :c9849; - :b :c9850; - :b :c9851; - :b :c9852; - :b :c9853; - :b :c9854; - :b :c9855; - :b :c9856; - :b :c9857; - :b :c9858; - :b :c9859; - :b :c9860; - :b :c9861; - :b :c9862; - :b :c9863; - :b :c9864; - :b :c9865; - :b :c9866; - :b :c9867; - :b :c9868; - :b :c9869; - :b :c9870; - :b :c9871; - :b :c9872; - :b :c9873; - :b :c9874; - :b :c9875; - :b :c9876; - :b :c9877; - :b :c9878; - :b :c9879; - :b :c9880; - :b :c9881; - :b :c9882; - :b :c9883; - :b :c9884; - :b :c9885; - :b :c9886; - :b :c9887; - :b :c9888; - :b :c9889; - :b :c9890; - :b :c9891; - :b :c9892; - :b :c9893; - :b :c9894; - :b :c9895; - :b :c9896; - :b :c9897; - :b :c9898; - :b :c9899; - :b :c9900; - :b :c9901; - :b :c9902; - :b :c9903; - :b :c9904; - :b :c9905; - :b :c9906; - :b :c9907; - :b :c9908; - :b :c9909; - :b :c9910; - :b :c9911; - :b :c9912; - :b :c9913; - :b :c9914; - :b :c9915; - :b :c9916; - :b :c9917; - :b :c9918; - :b :c9919; - :b :c9920; - :b :c9921; - :b :c9922; - :b :c9923; - :b :c9924; - :b :c9925; - :b :c9926; - :b :c9927; - :b :c9928; - :b :c9929; - :b :c9930; - :b :c9931; - :b :c9932; - :b :c9933; - :b :c9934; - :b :c9935; - :b :c9936; - :b :c9937; - :b :c9938; - :b :c9939; - :b :c9940; - :b :c9941; - :b :c9942; - :b :c9943; - :b :c9944; - :b :c9945; - :b :c9946; - :b :c9947; - :b :c9948; - :b :c9949; - :b :c9950; - :b :c9951; - :b :c9952; - :b :c9953; - :b :c9954; - :b :c9955; - :b :c9956; - :b :c9957; - :b :c9958; - :b :c9959; - :b :c9960; - :b :c9961; - :b :c9962; - :b :c9963; - :b :c9964; - :b :c9965; - :b :c9966; - :b :c9967; - :b :c9968; - :b :c9969; - :b :c9970; - :b :c9971; - :b :c9972; - :b :c9973; - :b :c9974; - :b :c9975; - :b :c9976; - :b :c9977; - :b :c9978; - :b :c9979; - :b :c9980; - :b :c9981; - :b :c9982; - :b :c9983; - :b :c9984; - :b :c9985; - :b :c9986; - :b :c9987; - :b :c9988; - :b :c9989; - :b :c9990; - :b :c9991; - :b :c9992; - :b :c9993; - :b :c9994; - :b :c9995; - :b :c9996; - :b :c9997; - :b :c9998; - :b :c9999; - :b :c10000 . diff --git a/source/modules/lilv/serd-0.18.2/tests/test-17.out b/source/modules/lilv/serd-0.18.2/tests/test-17.out deleted file mode 100644 index 466edbb2d..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-17.out +++ /dev/null @@ -1 +0,0 @@ - "a long\n\tliteral\nwith\nnewlines" . diff --git a/source/modules/lilv/serd-0.18.2/tests/test-17.ttl b/source/modules/lilv/serd-0.18.2/tests/test-17.ttl deleted file mode 100644 index 86c453bd8..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-17.ttl +++ /dev/null @@ -1,6 +0,0 @@ -# Test long literal -@prefix : . -:a :b """a long - literal -with -newlines""" . diff --git a/source/modules/lilv/serd-0.18.2/tests/test-18.out b/source/modules/lilv/serd-0.18.2/tests/test-18.out deleted file mode 100644 index 4ff4b95b3..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-18.out +++ /dev/null @@ -1,2 +0,0 @@ - "\nthis \ris a \U00015678long\t\nliteral\uABCD\n" . - "\tThis \uABCDis\r \U00015678another\n\none\n" . diff --git a/source/modules/lilv/serd-0.18.2/tests/test-18.ttl b/source/modules/lilv/serd-0.18.2/tests/test-18.ttl deleted file mode 100644 index 1adfa4516..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-18.ttl +++ /dev/null @@ -1,9 +0,0 @@ -@prefix : . - -:a :b """\nthis \ris a \U00015678long\t -literal\uABCD -""" . - -:d :e """\tThis \uABCDis\r \U00015678another\n -one -""" . diff --git a/source/modules/lilv/serd-0.18.2/tests/test-19.out b/source/modules/lilv/serd-0.18.2/tests/test-19.out deleted file mode 100644 index 2e2dbe404..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-19.out +++ /dev/null @@ -1 +0,0 @@ - "1.0"^^ . diff --git a/source/modules/lilv/serd-0.18.2/tests/test-19.ttl b/source/modules/lilv/serd-0.18.2/tests/test-19.ttl deleted file mode 100644 index 9de0c07b2..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-19.ttl +++ /dev/null @@ -1,4 +0,0 @@ -@prefix : . - -:a :b 1.0 . - diff --git a/source/modules/lilv/serd-0.18.2/tests/test-20.out b/source/modules/lilv/serd-0.18.2/tests/test-20.out deleted file mode 100644 index fff2da56b..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-20.out +++ /dev/null @@ -1,2 +0,0 @@ - "" . - "" . diff --git a/source/modules/lilv/serd-0.18.2/tests/test-20.ttl b/source/modules/lilv/serd-0.18.2/tests/test-20.ttl deleted file mode 100644 index 37a9a4f33..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-20.ttl +++ /dev/null @@ -1,6 +0,0 @@ -@prefix : . - -:a :b "" . - -:c :d """""" . - diff --git a/source/modules/lilv/serd-0.18.2/tests/test-21.out b/source/modules/lilv/serd-0.18.2/tests/test-21.out deleted file mode 100644 index d5dca6907..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-21.out +++ /dev/null @@ -1,3 +0,0 @@ - "1.0"^^ . - "1"^^ . - "1.0e0"^^ . diff --git a/source/modules/lilv/serd-0.18.2/tests/test-21.ttl b/source/modules/lilv/serd-0.18.2/tests/test-21.ttl deleted file mode 100644 index a8e8dc15a..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-21.ttl +++ /dev/null @@ -1,4 +0,0 @@ -@prefix : . -:a :b 1.0 . -:c :d 1 . -:e :f 1.0e0 . diff --git a/source/modules/lilv/serd-0.18.2/tests/test-22.out b/source/modules/lilv/serd-0.18.2/tests/test-22.out deleted file mode 100644 index 3d0f970e8..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-22.out +++ /dev/null @@ -1,3 +0,0 @@ - "-1.0"^^ . - "-1"^^ . - "-1.0e0"^^ . diff --git a/source/modules/lilv/serd-0.18.2/tests/test-22.ttl b/source/modules/lilv/serd-0.18.2/tests/test-22.ttl deleted file mode 100644 index 9b1a725aa..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-22.ttl +++ /dev/null @@ -1,4 +0,0 @@ -@prefix : . -:a :b -1.0 . -:c :d -1 . -:e :f -1.0e0 . diff --git a/source/modules/lilv/serd-0.18.2/tests/test-23.out b/source/modules/lilv/serd-0.18.2/tests/test-23.out deleted file mode 100644 index fde31312e..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-23.out +++ /dev/null @@ -1 +0,0 @@ - "John said: \"Hello World!\"" . diff --git a/source/modules/lilv/serd-0.18.2/tests/test-23.ttl b/source/modules/lilv/serd-0.18.2/tests/test-23.ttl deleted file mode 100644 index 9f5360af8..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-23.ttl +++ /dev/null @@ -1,3 +0,0 @@ -# Test long literal -@prefix : . -:a :b """John said: "Hello World!\"""" . diff --git a/source/modules/lilv/serd-0.18.2/tests/test-24.out b/source/modules/lilv/serd-0.18.2/tests/test-24.out deleted file mode 100644 index 5a70bff19..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-24.out +++ /dev/null @@ -1,2 +0,0 @@ - "true"^^ . - "false"^^ . diff --git a/source/modules/lilv/serd-0.18.2/tests/test-24.ttl b/source/modules/lilv/serd-0.18.2/tests/test-24.ttl deleted file mode 100644 index 25f3b7579..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-24.ttl +++ /dev/null @@ -1,3 +0,0 @@ -@prefix : . -:a :b true . -:c :d false . diff --git a/source/modules/lilv/serd-0.18.2/tests/test-25.out b/source/modules/lilv/serd-0.18.2/tests/test-25.out deleted file mode 100644 index 1a38415fe..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-25.out +++ /dev/null @@ -1,7 +0,0 @@ - . - . - . - . - . - . - . diff --git a/source/modules/lilv/serd-0.18.2/tests/test-25.ttl b/source/modules/lilv/serd-0.18.2/tests/test-25.ttl deleted file mode 100644 index 310349da1..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-25.ttl +++ /dev/null @@ -1,14 +0,0 @@ -# comment test -@prefix : . -:a :b :c . # end of line comment -:d # ignore me - :e # and me - :f # and me - . -:g :h #ignore me - :i, # and me - :j . # and me - -:k :l :m ; #ignore me - :n :o ; # and me - :p :q . # and me diff --git a/source/modules/lilv/serd-0.18.2/tests/test-26.out b/source/modules/lilv/serd-0.18.2/tests/test-26.out deleted file mode 100644 index ad105cf48..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-26.out +++ /dev/null @@ -1 +0,0 @@ - . diff --git a/source/modules/lilv/serd-0.18.2/tests/test-26.ttl b/source/modules/lilv/serd-0.18.2/tests/test-26.ttl deleted file mode 100644 index 0667c6b4a..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-26.ttl +++ /dev/null @@ -1,4 +0,0 @@ -# comment line with no final newline test -@prefix : . -:a :b :c . -#foo diff --git a/source/modules/lilv/serd-0.18.2/tests/test-27.out b/source/modules/lilv/serd-0.18.2/tests/test-27.out deleted file mode 100644 index 7da0635ba..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-27.out +++ /dev/null @@ -1 +0,0 @@ - . diff --git a/source/modules/lilv/serd-0.18.2/tests/test-27.ttl b/source/modules/lilv/serd-0.18.2/tests/test-27.ttl deleted file mode 100644 index 569023c8a..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-27.ttl +++ /dev/null @@ -1,5 +0,0 @@ -@prefix foo: . -@prefix foo: . - -foo:blah foo:blah foo:blah . - diff --git a/source/modules/lilv/serd-0.18.2/tests/test-29.out b/source/modules/lilv/serd-0.18.2/tests/test-29.out deleted file mode 100644 index 612052d3b..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-29.out +++ /dev/null @@ -1 +0,0 @@ - . diff --git a/source/modules/lilv/serd-0.18.2/tests/test-29.ttl b/source/modules/lilv/serd-0.18.2/tests/test-29.ttl deleted file mode 100644 index 612052d3b..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-29.ttl +++ /dev/null @@ -1 +0,0 @@ - . diff --git a/source/modules/lilv/serd-0.18.2/tests/test-30.out b/source/modules/lilv/serd-0.18.2/tests/test-30.out deleted file mode 100644 index ce5c67d04..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-30.out +++ /dev/null @@ -1,5 +0,0 @@ - . - . - . - . - . diff --git a/source/modules/lilv/serd-0.18.2/tests/test-30.ttl b/source/modules/lilv/serd-0.18.2/tests/test-30.ttl deleted file mode 100644 index 6721ec243..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-30.ttl +++ /dev/null @@ -1,12 +0,0 @@ -# In-scope base URI is http://www.w3.org/2001/sw/DataAccess/df1/tests/ at this point - . -@base . -# In-scope base URI is http://example.org/ns/ at this point - . -@base . -# In-scope base URI is http://example.org/ns/foo/ at this point - . -@prefix : . -:a4 :b4 :c4 . -@prefix : . -:a5 :b5 :c5 . diff --git a/source/modules/lilv/serd-0.18.2/tests/test-backspace.out b/source/modules/lilv/serd-0.18.2/tests/test-backspace.out deleted file mode 100644 index ad4806cfe..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-backspace.out +++ /dev/null @@ -1,2 +0,0 @@ - "\u0008" . - "\uFFFD" . diff --git a/source/modules/lilv/serd-0.18.2/tests/test-backspace.ttl b/source/modules/lilv/serd-0.18.2/tests/test-backspace.ttl deleted file mode 100644 index 07375d76f..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-backspace.ttl +++ /dev/null @@ -1,2 +0,0 @@ - "\u0008" . - "" . \ No newline at end of file diff --git a/source/modules/lilv/serd-0.18.2/tests/test-bad-utf8.out b/source/modules/lilv/serd-0.18.2/tests/test-bad-utf8.out deleted file mode 100644 index 6d73993d1..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-bad-utf8.out +++ /dev/null @@ -1,3 +0,0 @@ - "Impossible bytes: \uFFFD \uFFFD" . - "2 continuation bytes: \uFFFD" . - "Missing continuation: \uFFFD" . diff --git a/source/modules/lilv/serd-0.18.2/tests/test-bad-utf8.ttl b/source/modules/lilv/serd-0.18.2/tests/test-bad-utf8.ttl deleted file mode 100644 index 2c105f5b9..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-bad-utf8.ttl +++ /dev/null @@ -1,3 +0,0 @@ - "Impossible bytes: " . - "2 continuation bytes: " . - "Missing continuation: " . diff --git a/source/modules/lilv/serd-0.18.2/tests/test-base-query.out b/source/modules/lilv/serd-0.18.2/tests/test-base-query.out deleted file mode 100644 index d40c2f6bf..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-base-query.out +++ /dev/null @@ -1 +0,0 @@ - . diff --git a/source/modules/lilv/serd-0.18.2/tests/test-base-query.ttl b/source/modules/lilv/serd-0.18.2/tests/test-base-query.ttl deleted file mode 100644 index 776388172..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-base-query.ttl +++ /dev/null @@ -1,3 +0,0 @@ -@base . - -<> a . \ No newline at end of file diff --git a/source/modules/lilv/serd-0.18.2/tests/test-blank-cont.out b/source/modules/lilv/serd-0.18.2/tests/test-blank-cont.out deleted file mode 100644 index d64e3e469..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-blank-cont.out +++ /dev/null @@ -1,4 +0,0 @@ - _:genid1 . -_:genid1 . - _:genid2 . -_:genid2 . diff --git a/source/modules/lilv/serd-0.18.2/tests/test-blank-cont.ttl b/source/modules/lilv/serd-0.18.2/tests/test-blank-cont.ttl deleted file mode 100644 index b161cdc4f..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-blank-cont.ttl +++ /dev/null @@ -1,4 +0,0 @@ -@prefix : . - -:subj :pred [ a :FirstThing ] ; - :pred [ a :SecondThing ] . diff --git a/source/modules/lilv/serd-0.18.2/tests/test-blank-in-list.out b/source/modules/lilv/serd-0.18.2/tests/test-blank-in-list.out deleted file mode 100644 index 2e0c0eb08..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-blank-in-list.out +++ /dev/null @@ -1,4 +0,0 @@ - _:genid1 . -_:genid1 _:genid2 . -_:genid2 . -_:genid1 . diff --git a/source/modules/lilv/serd-0.18.2/tests/test-blank-in-list.ttl b/source/modules/lilv/serd-0.18.2/tests/test-blank-in-list.ttl deleted file mode 100644 index 5c0b0766a..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-blank-in-list.ttl +++ /dev/null @@ -1,2 +0,0 @@ -@prefix : . -:a :b ( [ :c :d ] ) . diff --git a/source/modules/lilv/serd-0.18.2/tests/test-bom.out b/source/modules/lilv/serd-0.18.2/tests/test-bom.out deleted file mode 100644 index aea1655bc..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-bom.out +++ /dev/null @@ -1 +0,0 @@ - . diff --git a/source/modules/lilv/serd-0.18.2/tests/test-bom.ttl b/source/modules/lilv/serd-0.18.2/tests/test-bom.ttl deleted file mode 100644 index 8d6534e1a..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-bom.ttl +++ /dev/null @@ -1,3 +0,0 @@ -# This file starts with a UTF-8 Byte Order Mark - - a . \ No newline at end of file diff --git a/source/modules/lilv/serd-0.18.2/tests/test-cr.out b/source/modules/lilv/serd-0.18.2/tests/test-cr.out deleted file mode 100644 index aea1655bc..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-cr.out +++ /dev/null @@ -1 +0,0 @@ - . diff --git a/source/modules/lilv/serd-0.18.2/tests/test-cr.ttl b/source/modules/lilv/serd-0.18.2/tests/test-cr.ttl deleted file mode 100644 index 5410648ae..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-cr.ttl +++ /dev/null @@ -1,2 +0,0 @@ -#Test a . - diff --git a/source/modules/lilv/serd-0.18.2/tests/test-delete.out b/source/modules/lilv/serd-0.18.2/tests/test-delete.out deleted file mode 100644 index 41ac8062f..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-delete.out +++ /dev/null @@ -1,2 +0,0 @@ - "\u007F" . - "\u007F" . diff --git a/source/modules/lilv/serd-0.18.2/tests/test-delete.ttl b/source/modules/lilv/serd-0.18.2/tests/test-delete.ttl deleted file mode 100644 index 4bc97060e..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-delete.ttl +++ /dev/null @@ -1,2 +0,0 @@ - "\u007F" . - "" . diff --git a/source/modules/lilv/serd-0.18.2/tests/test-digit-start-pname.out b/source/modules/lilv/serd-0.18.2/tests/test-digit-start-pname.out deleted file mode 100644 index 66eab7dbd..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-digit-start-pname.out +++ /dev/null @@ -1 +0,0 @@ - . diff --git a/source/modules/lilv/serd-0.18.2/tests/test-digit-start-pname.ttl b/source/modules/lilv/serd-0.18.2/tests/test-digit-start-pname.ttl deleted file mode 100644 index 6ca8ade87..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-digit-start-pname.ttl +++ /dev/null @@ -1,3 +0,0 @@ -@prefix eg: . - -eg:1thing a eg:Thing . \ No newline at end of file diff --git a/source/modules/lilv/serd-0.18.2/tests/test-eof-at-page-end.out b/source/modules/lilv/serd-0.18.2/tests/test-eof-at-page-end.out deleted file mode 100644 index 64d245860..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-eof-at-page-end.out +++ /dev/null @@ -1 +0,0 @@ - "\n0123456789012345678901234567890123456789\n\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567890123456789012345678901234567890123456789\n01234567" . diff --git a/source/modules/lilv/serd-0.18.2/tests/test-eof-at-page-end.ttl b/source/modules/lilv/serd-0.18.2/tests/test-eof-at-page-end.ttl deleted file mode 100644 index d6d9af260..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-eof-at-page-end.ttl +++ /dev/null @@ -1,85 +0,0 @@ - """ -0123456789012345678901234567890123456789 - -01234567890123456789012345678901234567890123456789 -01234567890123456789012345678901234567890123456789 -01234567890123456789012345678901234567890123456789 -01234567890123456789012345678901234567890123456789 -01234567890123456789012345678901234567890123456789 -01234567890123456789012345678901234567890123456789 -01234567890123456789012345678901234567890123456789 -01234567890123456789012345678901234567890123456789 -01234567890123456789012345678901234567890123456789 -01234567890123456789012345678901234567890123456789 -01234567890123456789012345678901234567890123456789 -01234567890123456789012345678901234567890123456789 -01234567890123456789012345678901234567890123456789 -01234567890123456789012345678901234567890123456789 -01234567890123456789012345678901234567890123456789 -01234567890123456789012345678901234567890123456789 -01234567890123456789012345678901234567890123456789 -01234567890123456789012345678901234567890123456789 -01234567890123456789012345678901234567890123456789 -01234567890123456789012345678901234567890123456789 - -01234567890123456789012345678901234567890123456789 -01234567890123456789012345678901234567890123456789 -01234567890123456789012345678901234567890123456789 -01234567890123456789012345678901234567890123456789 -01234567890123456789012345678901234567890123456789 -01234567890123456789012345678901234567890123456789 -01234567890123456789012345678901234567890123456789 -01234567890123456789012345678901234567890123456789 -01234567890123456789012345678901234567890123456789 -01234567890123456789012345678901234567890123456789 -01234567890123456789012345678901234567890123456789 -01234567890123456789012345678901234567890123456789 -01234567890123456789012345678901234567890123456789 -01234567890123456789012345678901234567890123456789 -01234567890123456789012345678901234567890123456789 -01234567890123456789012345678901234567890123456789 -01234567890123456789012345678901234567890123456789 -01234567890123456789012345678901234567890123456789 -01234567890123456789012345678901234567890123456789 -01234567890123456789012345678901234567890123456789 - -01234567890123456789012345678901234567890123456789 -01234567890123456789012345678901234567890123456789 -01234567890123456789012345678901234567890123456789 -01234567890123456789012345678901234567890123456789 -01234567890123456789012345678901234567890123456789 -01234567890123456789012345678901234567890123456789 -01234567890123456789012345678901234567890123456789 -01234567890123456789012345678901234567890123456789 -01234567890123456789012345678901234567890123456789 -01234567890123456789012345678901234567890123456789 -01234567890123456789012345678901234567890123456789 -01234567890123456789012345678901234567890123456789 -01234567890123456789012345678901234567890123456789 -01234567890123456789012345678901234567890123456789 -01234567890123456789012345678901234567890123456789 -01234567890123456789012345678901234567890123456789 -01234567890123456789012345678901234567890123456789 -01234567890123456789012345678901234567890123456789 -01234567890123456789012345678901234567890123456789 -01234567890123456789012345678901234567890123456789 - -01234567890123456789012345678901234567890123456789 -01234567890123456789012345678901234567890123456789 -01234567890123456789012345678901234567890123456789 -01234567890123456789012345678901234567890123456789 -01234567890123456789012345678901234567890123456789 -01234567890123456789012345678901234567890123456789 -01234567890123456789012345678901234567890123456789 -01234567890123456789012345678901234567890123456789 -01234567890123456789012345678901234567890123456789 -01234567890123456789012345678901234567890123456789 -01234567890123456789012345678901234567890123456789 -01234567890123456789012345678901234567890123456789 -01234567890123456789012345678901234567890123456789 -01234567890123456789012345678901234567890123456789 -01234567890123456789012345678901234567890123456789 -01234567890123456789012345678901234567890123456789 -01234567890123456789012345678901234567890123456789 -01234567890123456789012345678901234567890123456789 -01234567""" . \ No newline at end of file diff --git a/source/modules/lilv/serd-0.18.2/tests/test-escapes.out b/source/modules/lilv/serd-0.18.2/tests/test-escapes.out deleted file mode 100644 index 725b832c0..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-escapes.out +++ /dev/null @@ -1,2 +0,0 @@ - "\\\r\n\t" . - . diff --git a/source/modules/lilv/serd-0.18.2/tests/test-escapes.ttl b/source/modules/lilv/serd-0.18.2/tests/test-escapes.ttl deleted file mode 100644 index ff306b154..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-escapes.ttl +++ /dev/null @@ -1,2 +0,0 @@ - "\\\r\n\t" . - > . \ No newline at end of file diff --git a/source/modules/lilv/serd-0.18.2/tests/test-id.out b/source/modules/lilv/serd-0.18.2/tests/test-id.out deleted file mode 100644 index 722fc6d1f..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-id.out +++ /dev/null @@ -1,2 +0,0 @@ - _:genid1 . -_:docid1 . diff --git a/source/modules/lilv/serd-0.18.2/tests/test-id.ttl b/source/modules/lilv/serd-0.18.2/tests/test-id.ttl deleted file mode 100644 index 6bc1c37d9..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-id.ttl +++ /dev/null @@ -1,4 +0,0 @@ -@prefix : . - -:c :d [] . -_:genid1 :a :b . diff --git a/source/modules/lilv/serd-0.18.2/tests/test-lang.out b/source/modules/lilv/serd-0.18.2/tests/test-lang.out deleted file mode 100644 index 61daecb3a..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-lang.out +++ /dev/null @@ -1,5 +0,0 @@ - "Hello"@en . - "Howdy"@en-us . - "Bonjour"@fr . - "Guten Tag"@de-latn-de . - "HEY MAN"@en-crazy0place . diff --git a/source/modules/lilv/serd-0.18.2/tests/test-lang.ttl b/source/modules/lilv/serd-0.18.2/tests/test-lang.ttl deleted file mode 100644 index b06164752..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-lang.ttl +++ /dev/null @@ -1,7 +0,0 @@ -@prefix : . - -:thing :greeting "Hello"@en ; - :greeting "Howdy"@en-us ; - :greeting "Bonjour"@fr ; - :greeting "Guten Tag"@de-latn-de ; - :greeting "HEY MAN"@en-crazy0place . diff --git a/source/modules/lilv/serd-0.18.2/tests/test-list-in-blank.out b/source/modules/lilv/serd-0.18.2/tests/test-list-in-blank.out deleted file mode 100644 index 76023a8ba..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-list-in-blank.out +++ /dev/null @@ -1,6 +0,0 @@ - _:genid1 . -_:genid1 _:genid2 . -_:genid2 "apple" . -_:genid2 _:genid3 . -_:genid3 "banana" . -_:genid3 . diff --git a/source/modules/lilv/serd-0.18.2/tests/test-list-in-blank.ttl b/source/modules/lilv/serd-0.18.2/tests/test-list-in-blank.ttl deleted file mode 100644 index bdf75fce1..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-list-in-blank.ttl +++ /dev/null @@ -1,2 +0,0 @@ -@prefix : . -:a :b [ :c ( "apple" "banana" ) ] . diff --git a/source/modules/lilv/serd-0.18.2/tests/test-list-subject.out b/source/modules/lilv/serd-0.18.2/tests/test-list-subject.out deleted file mode 100644 index 9a853774b..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-list-subject.out +++ /dev/null @@ -1,6 +0,0 @@ - . -_:genid1 "apple" . -_:genid1 _:genid2 . -_:genid2 "banana" . -_:genid2 . -_:genid1 . diff --git a/source/modules/lilv/serd-0.18.2/tests/test-list-subject.ttl b/source/modules/lilv/serd-0.18.2/tests/test-list-subject.ttl deleted file mode 100644 index 5cd81dfbf..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-list-subject.ttl +++ /dev/null @@ -1,2 +0,0 @@ -() a . -("apple" "banana") a . diff --git a/source/modules/lilv/serd-0.18.2/tests/test-list.out b/source/modules/lilv/serd-0.18.2/tests/test-list.out deleted file mode 100644 index 3a27a5a61..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-list.out +++ /dev/null @@ -1 +0,0 @@ - . diff --git a/source/modules/lilv/serd-0.18.2/tests/test-list.ttl b/source/modules/lilv/serd-0.18.2/tests/test-list.ttl deleted file mode 100644 index 7f4c7699c..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-list.ttl +++ /dev/null @@ -1 +0,0 @@ -() a . \ No newline at end of file diff --git a/source/modules/lilv/serd-0.18.2/tests/test-long-string.out b/source/modules/lilv/serd-0.18.2/tests/test-long-string.out deleted file mode 100644 index ba6be49c2..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-long-string.out +++ /dev/null @@ -1 +0,0 @@ - "This is a\nlong string\nwith\n tabs\nand spaces." . diff --git a/source/modules/lilv/serd-0.18.2/tests/test-long-string.ttl b/source/modules/lilv/serd-0.18.2/tests/test-long-string.ttl deleted file mode 100644 index 7da44b4b8..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-long-string.ttl +++ /dev/null @@ -1,7 +0,0 @@ -@prefix : . - -:thing :greeting """This is a -long string -with - tabs -and spaces.""" . \ No newline at end of file diff --git a/source/modules/lilv/serd-0.18.2/tests/test-no-spaces.out b/source/modules/lilv/serd-0.18.2/tests/test-no-spaces.out deleted file mode 100644 index 3619a5f0c..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-no-spaces.out +++ /dev/null @@ -1,4 +0,0 @@ - . - . - . - . diff --git a/source/modules/lilv/serd-0.18.2/tests/test-no-spaces.ttl b/source/modules/lilv/serd-0.18.2/tests/test-no-spaces.ttl deleted file mode 100644 index 88171e717..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-no-spaces.ttl +++ /dev/null @@ -1,3 +0,0 @@ -@prefix eg: . -eg:s eg:p eg:o;eg:p2 eg:o2,eg:o3 . -eg:s a . \ No newline at end of file diff --git a/source/modules/lilv/serd-0.18.2/tests/test-num.out b/source/modules/lilv/serd-0.18.2/tests/test-num.out deleted file mode 100644 index 54263d46f..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-num.out +++ /dev/null @@ -1,10 +0,0 @@ - "0.1"^^ . - "+0.2"^^ . - "-0.3"^^ . - ".4"^^ . - "+.5"^^ . - "-.6"^^ . - "1.58490e-05"^^ . - "1.58490e+05"^^ . - "1.58490e05"^^ . - "1.58490E05"^^ . diff --git a/source/modules/lilv/serd-0.18.2/tests/test-num.ttl b/source/modules/lilv/serd-0.18.2/tests/test-num.ttl deleted file mode 100644 index 68ad290b7..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-num.ttl +++ /dev/null @@ -1,12 +0,0 @@ -@prefix eg: . - -eg:thing eg:num 0.1 . -eg:thing eg:num +0.2 . -eg:thing eg:num -0.3 . -eg:thing eg:num .4 . -eg:thing eg:num +.5 . -eg:thing eg:num -.6 . -eg:thing eg:num 1.58490e-05 . -eg:thing eg:num 1.58490e+05 . -eg:thing eg:num 1.58490e05 . -eg:thing eg:num 1.58490E05 . diff --git a/source/modules/lilv/serd-0.18.2/tests/test-out-of-range-unicode.out b/source/modules/lilv/serd-0.18.2/tests/test-out-of-range-unicode.out deleted file mode 100644 index 5def9e31e..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-out-of-range-unicode.out +++ /dev/null @@ -1 +0,0 @@ - "\uFFFD" . diff --git a/source/modules/lilv/serd-0.18.2/tests/test-out-of-range-unicode.ttl b/source/modules/lilv/serd-0.18.2/tests/test-out-of-range-unicode.ttl deleted file mode 100644 index 7e64785a5..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-out-of-range-unicode.ttl +++ /dev/null @@ -1 +0,0 @@ - "\U00110000" . diff --git a/source/modules/lilv/serd-0.18.2/tests/test-prefix.out b/source/modules/lilv/serd-0.18.2/tests/test-prefix.out deleted file mode 100644 index bcfdd4b67..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-prefix.out +++ /dev/null @@ -1,6 +0,0 @@ - . - . - . - . - . - . diff --git a/source/modules/lilv/serd-0.18.2/tests/test-prefix.ttl b/source/modules/lilv/serd-0.18.2/tests/test-prefix.ttl deleted file mode 100644 index f79896cbc..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-prefix.ttl +++ /dev/null @@ -1,8 +0,0 @@ -@prefix eg: . - - a . - a . - a . - a . - a . - a . diff --git a/source/modules/lilv/serd-0.18.2/tests/test-pretty.out b/source/modules/lilv/serd-0.18.2/tests/test-pretty.out deleted file mode 100644 index c61f7c22a..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-pretty.out +++ /dev/null @@ -1,46 +0,0 @@ - . -_:genid1 . - . -_:genid2 _:genid3 . -_:genid4 "apple" . -_:genid4 _:genid5 . -_:genid5 "banana" . -_:genid5 _:genid6 . -_:genid6 "pear" . -_:genid6 . -_:genid4 . -_:genid7 _:genid8 . -_:genid8 . -_:genid8 _:genid9 . -_:genid9 . -_:genid9 . -_:genid7 _:genid10 . -_:genid10 _:genid11 . -_:genid11 . -_:genid11 _:genid12 . -_:genid12 . -_:genid12 . -_:genid10 . -_:genid7 . -_:genid13 _:genid14 . -_:genid14 "apple" . -_:genid14 _:genid15 . -_:genid15 "banana" . -_:genid15 _:genid16 . -_:genid16 "pear" . -_:genid16 . -_:genid17 . -_:genid17 . -_:genid17 . -_:genid18 _:genid19 . -_:genid19 . -_:genid19 . -_:genid18 _:genid20 . -_:genid20 . -_:genid21 _:genid22 . -_:genid22 _:genid23 . -_:genid23 . -_:genid22 _:genid24 . -_:genid24 _:genid25 . -_:genid25 . -_:genid24 . diff --git a/source/modules/lilv/serd-0.18.2/tests/test-pretty.ttl b/source/modules/lilv/serd-0.18.2/tests/test-pretty.ttl deleted file mode 100644 index 4eb7204ff..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-pretty.ttl +++ /dev/null @@ -1,44 +0,0 @@ -@prefix : . - -() :isA :List . - -[] :isA :Blank . - -() :sameAs () . - -[] :sameAs [] . - -( - "apple" - "banana" - "pear" -) a :List . - -( - (:a :b) - (:c :d) -) a :List . - -[] - :list ( - "apple" - "banana" - "pear" - ) . - -[] - :a :b , :c , :d . - -[] - :a [ - :b :c ; - :d :e ; - ] , [ - :f :g - ] . - -[] - :list ( - [ a :Apple ] - [ a :Banana ] - ) . \ No newline at end of file diff --git a/source/modules/lilv/serd-0.18.2/tests/test-rel.out b/source/modules/lilv/serd-0.18.2/tests/test-rel.out deleted file mode 100644 index 01c18c2f9..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-rel.out +++ /dev/null @@ -1,6 +0,0 @@ - . - . - . - . - . - . diff --git a/source/modules/lilv/serd-0.18.2/tests/test-rel.ttl b/source/modules/lilv/serd-0.18.2/tests/test-rel.ttl deleted file mode 100644 index a5927cd34..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-rel.ttl +++ /dev/null @@ -1,6 +0,0 @@ - a . - a . - a . - a . - a . - a . diff --git a/source/modules/lilv/serd-0.18.2/tests/test-semi-dot.out b/source/modules/lilv/serd-0.18.2/tests/test-semi-dot.out deleted file mode 100644 index aea1655bc..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-semi-dot.out +++ /dev/null @@ -1 +0,0 @@ - . diff --git a/source/modules/lilv/serd-0.18.2/tests/test-semi-dot.ttl b/source/modules/lilv/serd-0.18.2/tests/test-semi-dot.ttl deleted file mode 100644 index 6d4b41461..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-semi-dot.ttl +++ /dev/null @@ -1 +0,0 @@ - a ; . \ No newline at end of file diff --git a/source/modules/lilv/serd-0.18.2/tests/test-uri.out b/source/modules/lilv/serd-0.18.2/tests/test-uri.out deleted file mode 100644 index 6c56f5946..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-uri.out +++ /dev/null @@ -1,45 +0,0 @@ - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . diff --git a/source/modules/lilv/serd-0.18.2/tests/test-uri.ttl b/source/modules/lilv/serd-0.18.2/tests/test-uri.ttl deleted file mode 100644 index cf43a38ba..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-uri.ttl +++ /dev/null @@ -1,68 +0,0 @@ -# http://tools.ietf.org/html/rfc3986#section-5.4 - -@base . - -@prefix owl: . - -# 5.4.1. Normal Examples - owl:sameAs . - owl:sameAs . -<./g> owl:sameAs . - owl:sameAs . - owl:sameAs . - owl:sameAs . - owl:sameAs . - owl:sameAs . -<#s> owl:sameAs . - owl:sameAs . - owl:sameAs . -<;x> owl:sameAs . - owl:sameAs . - owl:sameAs . -<> owl:sameAs . -<.> owl:sameAs . -<./> owl:sameAs . -<..> owl:sameAs . -<../> owl:sameAs . -<../g> owl:sameAs . -<../..> owl:sameAs . -<../../> owl:sameAs . -<../../g> owl:sameAs . - -# 5.4.2. Abnormal Examples -<../../../g> owl:sameAs . -<../../../../g> owl:sameAs . - owl:sameAs . - owl:sameAs . - owl:sameAs . -<.g> owl:sameAs . - owl:sameAs . -<..g> owl:sameAs . -<./../g> owl:sameAs . -# Serd only resolves the leading components -#<./g/.> owl:sameAs . -# owl:sameAs . -# owl:sameAs . -# owl:sameAs . -# owl:sameAs . - owl:sameAs . - owl:sameAs . - owl:sameAs . - owl:sameAs . - -# Additional tests for Serd - owl:sameAs . - owl:sameAs . - owl:sameAs . - owl:sameAs . - owl:sameAs . -<#afragment> owl:sameAs . -<../../../../../../> owl:sameAs . - -@base . - - owl:sameAs . - -@base . - - owl:sameAs . diff --git a/source/modules/lilv/serd-0.18.2/tests/test-utf8-uri.out b/source/modules/lilv/serd-0.18.2/tests/test-utf8-uri.out deleted file mode 100644 index b8a73a88c..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-utf8-uri.out +++ /dev/null @@ -1 +0,0 @@ - . diff --git a/source/modules/lilv/serd-0.18.2/tests/test-utf8-uri.ttl b/source/modules/lilv/serd-0.18.2/tests/test-utf8-uri.ttl deleted file mode 100644 index 51f26ff20..000000000 --- a/source/modules/lilv/serd-0.18.2/tests/test-utf8-uri.ttl +++ /dev/null @@ -1 +0,0 @@ - a . \ No newline at end of file diff --git a/source/modules/lilv/serd-0.18.2/waf b/source/modules/lilv/serd-0.18.2/waf deleted file mode 100755 index 3945ced05b8521d8f66546c57befa117c1c34b7c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 80004 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 z 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 U?ntL2F%krUt$08RBRoAl3YY^R1^@s6 diff --git a/source/modules/lilv/serd-0.18.2/wscript b/source/modules/lilv/serd-0.18.2/wscript deleted file mode 100644 index bb7fb0df6..000000000 --- a/source/modules/lilv/serd-0.18.2/wscript +++ /dev/null @@ -1,391 +0,0 @@ -#!/usr/bin/env python -import glob -import os -import shutil -import subprocess -import waflib.Logs as Logs -import waflib.Options as Options -import waflib.extras.autowaf as autowaf - -# Library and package version (UNIX style major, minor, micro) -# major increment <=> incompatible changes -# minor increment <=> compatible changes (additions) -# micro increment <=> no interface changes -SERD_VERSION = '0.18.2' -SERD_MAJOR_VERSION = '0' - -# Mandatory waf variables -APPNAME = 'serd' # Package name for waf dist -VERSION = SERD_VERSION # Package version for waf dist -top = '.' # Source directory -out = 'build' # Build directory - -def options(opt): - opt.load('compiler_c') - autowaf.set_options(opt) - opt.add_option('--no-utils', action='store_true', dest='no_utils', - help='Do not build command line utilities') - opt.add_option('--test', action='store_true', dest='build_tests', - help='Build unit tests') - opt.add_option('--stack-check', action='store_true', dest='stack_check', - help='Include runtime stack sanity checks') - opt.add_option('--static', action='store_true', dest='static', - help='Build static library') - opt.add_option('--no-shared', action='store_true', dest='no_shared', - help='Do not build shared library') - opt.add_option('--static-progs', action='store_true', dest='static_progs', - help='Build programs as static binaries') - opt.add_option('--largefile', action='store_true', dest='largefile', - help='Build with large file support on 32-bit systems') - -def configure(conf): - conf.load('compiler_c') - autowaf.configure(conf) - autowaf.set_c99_mode(conf) - autowaf.display_header('Serd Configuration') - - conf.env.BUILD_TESTS = Options.options.build_tests - conf.env.BUILD_UTILS = not Options.options.no_utils - conf.env.BUILD_SHARED = not Options.options.no_shared - conf.env.STATIC_PROGS = Options.options.static_progs - conf.env.BUILD_STATIC = (Options.options.static or - Options.options.static_progs) - - if not conf.env.BUILD_SHARED and not conf.env.BUILD_STATIC: - conf.fatal('Neither a shared nor a static build requested') - - if Options.options.stack_check: - autowaf.define(conf, 'SERD_STACK_CHECK', SERD_VERSION) - - if Options.options.largefile: - conf.env.append_unique('DEFINES', ['_FILE_OFFSET_BITS=64']) - - if conf.env.BUILD_TESTS: - conf.check(lib = 'gcov', - define_name = 'HAVE_GCOV', - mandatory = False) - - conf.check(function_name = 'fmax', - header_name = 'math.h', - define_name = 'HAVE_FMAX', - lib = ['m'], - mandatory = False) - - conf.check(function_name = 'posix_memalign', - header_name = 'stdlib.h', - define_name = 'HAVE_POSIX_MEMALIGN', - defines = ['_POSIX_C_SOURCE=201112L'], - mandatory = False) - - conf.check(function_name = 'posix_fadvise', - header_name = 'fcntl.h', - define_name = 'HAVE_POSIX_FADVISE', - defines = ['_POSIX_C_SOURCE=201112L'], - mandatory = False) - - conf.check(function_name = 'fileno', - header_name = 'stdio.h', - define_name = 'HAVE_FILENO', - defines = ['_POSIX_C_SOURCE=201112L'], - mandatory = False) - - autowaf.define(conf, 'SERD_VERSION', SERD_VERSION) - autowaf.set_lib_env(conf, 'serd', SERD_VERSION) - conf.write_config_header('serd_config.h', remove=False) - - autowaf.display_msg(conf, 'Utilities', str(conf.env.BUILD_UTILS)) - autowaf.display_msg(conf, 'Unit tests', str(conf.env.BUILD_TESTS)) - print('') - -lib_source = [ - 'src/env.c', - 'src/node.c', - 'src/reader.c', - 'src/string.c', - 'src/uri.c', - 'src/writer.c', -] - -def build(bld): - # C Headers - includedir = '${INCLUDEDIR}/serd-%s/serd' % SERD_MAJOR_VERSION - bld.install_files(includedir, bld.path.ant_glob('serd/*.h')) - - # Pkgconfig file - autowaf.build_pc(bld, 'SERD', SERD_VERSION, SERD_MAJOR_VERSION, [], - {'SERD_MAJOR_VERSION' : SERD_MAJOR_VERSION}) - - libflags = ['-fvisibility=hidden'] - libs = ['m'] - defines = [] - if bld.env.MSVC_COMPILER: - libflags = [] - libs = [] - defines = ['snprintf=_snprintf'] - - # Shared Library - if bld.env.BUILD_SHARED: - bld(features = 'c cshlib', - export_includes = ['.'], - source = lib_source, - includes = ['.', './src'], - lib = libs, - name = 'libserd', - target = 'serd-%s' % SERD_MAJOR_VERSION, - vnum = SERD_VERSION, - install_path = '${LIBDIR}', - defines = defines + ['SERD_SHARED', 'SERD_INTERNAL'], - cflags = libflags) - - # Static library - if bld.env.BUILD_STATIC: - bld(features = 'c cstlib', - export_includes = ['.'], - source = lib_source, - includes = ['.', './src'], - lib = libs, - name = 'libserd_static', - target = 'serd-%s' % SERD_MAJOR_VERSION, - vnum = SERD_VERSION, - install_path = '${LIBDIR}', - defines = defines + ['SERD_INTERNAL']) - - if bld.env.BUILD_TESTS: - test_libs = libs - test_cflags = [''] - if bld.is_defined('HAVE_GCOV'): - test_libs += ['gcov'] - test_cflags += ['-fprofile-arcs', '-ftest-coverage'] - - # Profiled static library for test coverage - bld(features = 'c cstlib', - source = lib_source, - includes = ['.', './src'], - lib = test_libs, - name = 'libserd_profiled', - target = 'serd_profiled', - install_path = '', - defines = defines + ['SERD_INTERNAL'], - cflags = test_cflags) - - # Static profiled serdi for tests - bld(features = 'c cprogram', - source = 'src/serdi.c', - includes = ['.', './src'], - use = 'libserd_profiled', - lib = test_libs, - target = 'serdi_static', - install_path = '', - defines = defines, - cflags = test_cflags) - - # Unit test program - bld(features = 'c cprogram', - source = 'tests/serd_test.c', - includes = ['.', './src'], - use = 'libserd_profiled', - lib = test_libs, - target = 'serd_test', - install_path = '', - defines = defines, - cflags = test_cflags) - - # Utilities - if bld.env.BUILD_UTILS: - obj = bld(features = 'c cprogram', - source = 'src/serdi.c', - target = 'serdi', - includes = ['.', './src'], - use = 'libserd', - lib = libs, - install_path = '${BINDIR}') - if not bld.env.BUILD_SHARED or bld.env.STATIC_PROGS: - obj.use = 'libserd_static' - if bld.env.STATIC_PROGS: - obj.env.SHLIB_MARKER = obj.env.STLIB_MARKER - obj.linkflags = ['-static'] - - # Documentation - autowaf.build_dox(bld, 'SERD', SERD_VERSION, top, out) - - # Man page - bld.install_files('${MANDIR}/man1', 'doc/serdi.1') - - bld.add_post_fun(autowaf.run_ldconfig) - if bld.env.DOCS: - bld.add_post_fun(fix_docs) - -def lint(ctx): - subprocess.call('cpplint.py --filter=+whitespace/comments,-whitespace/tab,-whitespace/braces,-whitespace/labels,-build/header_guard,-readability/casting,-readability/todo,-build/include src/* serd/*', shell=True) - -def amalgamate(ctx): - shutil.copy('serd/serd.h', 'build/serd.h') - amalgamation = open('build/serd.c', 'w') - - serd_internal_h = open('src/serd_internal.h') - for l in serd_internal_h: - if l == '#include "serd/serd.h"\n': - amalgamation.write('#include "serd.h"\n') - else: - amalgamation.write(l) - serd_internal_h.close() - - for f in lib_source: - fd = open(f) - amalgamation.write('\n/**\n @file %s\n*/' % f) - header = True - for l in fd: - if header: - if l == '*/\n': - header = False - else: - if l != '#include "serd_internal.h"\n': - amalgamation.write(l) - fd.close() - amalgamation.close() - - for i in ['c', 'h']: - Logs.info('Wrote build/serd.%s' % i) - -def fix_docs(ctx): - if ctx.cmd == 'build': - autowaf.make_simple_dox(APPNAME) - -def upload_docs(ctx): - os.system('rsync -ravz --delete -e ssh build/doc/html/ drobilla@drobilla.net:~/drobilla.net/docs/serd/') - -def file_equals(patha, pathb, subst_from='', subst_to=''): - fa = open(patha, 'rU') - fb = open(pathb, 'rU') - for line in fa: - if line.replace(subst_from, subst_to) != fb.readline().replace(subst_from, subst_to): - return False - fa.close() - fb.close() - return True - -def test(ctx): - blddir = autowaf.build_dir(APPNAME, 'tests') - try: - os.makedirs(blddir) - except: - pass - - for i in glob.glob(blddir + '/*.*'): - os.remove(i) - - srcdir = ctx.path.abspath() - orig_dir = os.path.abspath(os.curdir) - - os.chdir(srcdir) - - good_tests = glob.glob('tests/test-*.ttl') - good_tests.sort() - - bad_tests = glob.glob('tests/bad-*.ttl') - bad_tests.sort() - - os.chdir(orig_dir) - - autowaf.pre_test(ctx, APPNAME) - - os.environ['PATH'] = '.' + os.pathsep + os.getenv('PATH') - - autowaf.run_tests(ctx, APPNAME, ['serd_test'], dirs=['.']) - - autowaf.run_tests(ctx, APPNAME, [ - 'serdi_static -o turtle %s/tests/base.ttl "base.ttl" > tests/base.ttl.out' % srcdir], - 0, name='base') - - if not file_equals('%s/tests/base.ttl' % srcdir, 'tests/base.ttl.out'): - Logs.pprint('RED', 'FAIL: build/tests/base.ttl.out is incorrect') - - nul = os.devnull - autowaf.run_tests(ctx, APPNAME, [ - 'serdi_static file://%s/tests/manifest.ttl > %s' % (srcdir, nul), - 'serdi_static %s/tests/UTF-8.ttl > %s' % (srcdir, nul), - 'serdi_static -v > %s' % nul, - 'serdi_static -h > %s' % nul, - 'serdi_static -s " a <#Thingie> ." > %s' % nul, - 'serdi_static %s > %s' % (nul, nul)], - 0, name='serdi-cmd-good') - - autowaf.run_tests(ctx, APPNAME, [ - 'serdi_static -q file://%s/tests/bad-id-clash.ttl > %s' % (srcdir, nul), - 'serdi_static > %s' % nul, - 'serdi_static ftp://example.org/unsupported.ttl > %s' % nul, - 'serdi_static -i > %s' % nul, - 'serdi_static -o > %s' % nul, - 'serdi_static -z > %s' % nul, - 'serdi_static -p > %s' % nul, - 'serdi_static -c > %s' % nul, - 'serdi_static -r > %s' % nul, - 'serdi_static -i illegal > %s' % nul, - 'serdi_static -o illegal > %s' % nul, - 'serdi_static -i turtle > %s' % nul, - 'serdi_static /no/such/file > %s' % nul], - 1, name='serdi-cmd-bad') - - commands = [] - for test in good_tests: - base_uri = 'http://www.w3.org/2001/sw/DataAccess/df1/' + test.replace('\\', '/') - commands += [ 'serdi_static -f "%s" "%s" > %s.out' % ( - os.path.join(srcdir, test), base_uri, test) ] - - autowaf.run_tests(ctx, APPNAME, commands, 0, name='good') - - Logs.pprint('BOLD', '\nVerifying turtle => ntriples') - for test in good_tests: - out_filename = test + '.out' - if not os.access(out_filename, os.F_OK): - Logs.pprint('RED', 'FAIL: %s output is missing' % test) - elif not file_equals(srcdir + '/' + test.replace('.ttl', '.out'), - test + '.out'): - Logs.pprint('RED', 'FAIL: %s is incorrect' % out_filename) - else: - Logs.pprint('GREEN', 'Pass: %s' % test) - - commands = [] - for test in bad_tests: - commands += [ 'serdi_static "%s" "http://www.w3.org/2001/sw/DataAccess/df1/%s" > %s.out' % (os.path.join(srcdir, test), test.replace('\\', '/'), test) ] - - autowaf.run_tests(ctx, APPNAME, commands, 1, name='bad') - - thru_tests = good_tests - thru_tests.remove(os.path.join('tests', 'test-id.ttl')) # IDs are mapped so files won't be identical - - commands = [] - num = 0 - for test in thru_tests: - num += 1 - flags = '' - if (num % 2 == 0): - flags += '-b' - if (num % 5 == 0): - flags += ' -f' - if (num % 3 == 0): - flags += ' -r http://www.w3.org/' - if (num % 7 == 0): - flags += ' -e' - base_uri = 'http://www.w3.org/2001/sw/DataAccess/df1/' + test.replace('\\', '/') - out_filename = test + '.thru' - commands += [ - '%s %s -i ntriples -o turtle -p foo "%s" "%s" | %s -i turtle -o ntriples -c foo - "%s" > %s.thru' % ( - 'serdi_static', flags.ljust(5), - os.path.join(srcdir, test), base_uri, - 'serdi_static', base_uri, test) ] - - autowaf.run_tests(ctx, APPNAME, commands, 0, name='turtle-round-trip') - Logs.pprint('BOLD', '\nVerifying ntriples => turtle => ntriples') - for test in thru_tests: - out_filename = test + '.thru' - if not os.access(out_filename, os.F_OK): - Logs.pprint('RED', 'FAIL: %s output is missing' % test) - elif not file_equals(srcdir + '/' + test.replace('.ttl', '.out'), - test + '.thru', - '_:docid', '_:genid'): - Logs.pprint('RED', 'FAIL: %s is incorrect' % out_filename) - else: - Logs.pprint('GREEN', 'Pass: %s' % test) - - autowaf.post_test(ctx, APPNAME) diff --git a/source/modules/lilv/sord-0.12.0/INSTALL b/source/modules/lilv/sord-0.12.0/INSTALL deleted file mode 100644 index 623cddde4..000000000 --- a/source/modules/lilv/sord-0.12.0/INSTALL +++ /dev/null @@ -1,59 +0,0 @@ -Installation Instructions -========================= - -Basic Installation ------------------- - -Building this software requires only Python. To install with default options: - - ./waf configure - ./waf - ./waf install - -You may need to become root for the install stage, for example: - - sudo ./waf install - -Configuration Options ---------------------- - -All supported options can be viewed using the command: - - ./waf --help - -Most options only need to be passed during the configure stage, for example: - - ./waf configure --prefix=/usr - ./waf - ./waf install - -Compiler Configuration ----------------------- - -Several standard environment variables can be used to control how compilers are -invoked: - - * CC: Path to C compiler - * CFLAGS: C compiler options - * CXX: Path to C++ compiler - * CXXFLAGS: C++ compiler options - * CPPFLAGS: C preprocessor options - * LINKFLAGS: Linker options - -Installation Directories ------------------------- - -The --prefix option (or the PREFIX environment variable) can be used to change -the prefix which all files are installed under. There are also several options -allowing for more fine-tuned control, see the --help output for details. - -Packaging ---------- - -Everything can be installed to a specific root directory by passing a --destdir -option to the install stage (or setting the DESTDIR environment variable), -which adds a prefix to all install paths. For example: - - ./waf configure --prefix=/usr - ./waf - ./waf install --destdir=/tmp/package diff --git a/source/modules/lilv/sord-0.12.0/NEWS b/source/modules/lilv/sord-0.12.0/NEWS deleted file mode 100644 index 26adb5856..000000000 --- a/source/modules/lilv/sord-0.12.0/NEWS +++ /dev/null @@ -1,80 +0,0 @@ -sord (0.12.0) stable; - - * Update to waf 1.7.9 and autowaf r90 (install docs to versioned directory) - * Add sord_get() for easily getting single property values - * sord_validate: Pass type check when range is xsd:anyURI and value is a URI - * sord_validate: Support any subClassOf rdf:Property, not just baked-in ones - * sordmm.hpp: Add convenient constructors for decimal and integer literals - * sordmm.hpp: Add Node::to_serd_node() - * sordmm.hpp: Don't automatically add RDF namespace prefix to world - - -- David Robillard Mon, 18 Feb 2013 11:05:59 -0500 - -sord (0.10.4) stable; - - * Implement better data type validation in sord_validate conformant with - the XSD and OWL specifications - * Fix memory leaks in sord_validate - * Install sord_validate man page - * Disable timestamps in HTML documentation for reproducible build - - -- David Robillard Sun, 14 Oct 2012 18:23:55 -0400 - -sord (0.10.0) stable; - - * Add error callback to world for custom error reporting - * Performance and space (per node) improvements - * SSE4.2 accelerated hashing for node interning, where available - * Make all 'zix' symbols private to avoid symbol clashes in static builds - * Remove problematic "Loaded n statements" output from serdi - * Strip down API documentation to a single clean page - * Fix various hyper-strict warnings - * Do not require a C++ compiler to build - * Add option to build utilities as static binaries - * Upgrade to waf 1.7.2 - * sordmm.hpp: Add indices and graphs parameters to Model constructor - * sordmm.hpp: Remove overzealous URI scheme assertion - * sordmm.hpp: Correctly handle Sord::Node self-assignment - - -- David Robillard Thu, 23 Aug 2012 00:19:51 -0400 - -sord (0.8.0) stable; - - * Use path variables in pkgconfig files - * Install man page to DATADIR (e.g. PREFIX/share/man, not PREFIX/man) - * Tolerate serd passing NULL nodes to reader callback (serd 0.6.0) - * Fix comparison of typed literals - * Take advantage of interning in sord_node_equals() - * Support compilation as C++ under MSVC++. - * Add sord_iter_get_node() - * Refuse to intern relative URIs in sord_new_uri*() - * Add sord_new_relative_uri() - * Add SordInserter for writing to a model via Serd sink functions. - * Add convenient sord_search(), sord_ask(), and sord_count() - * Add sord_validate tool for validating data against RDF/OWL schemas - - -- David Robillard Tue, 17 Apr 2012 18:24:53 -0400 - -sord (0.5.0) stable; - - * Remove glib dependency - * Add function sord_contains for checking for a triple pattern - * Add function sord_write_iter for writing a queried range - * Fix Sord::Namespaces::qualify to no longer chop prefixes - * Add ability to build static library - - -- David Robillard Thu, 29 Sep 2011 00:00:00 -0400 - -sord (0.4.2) stable; - - * Fix compilation issues on some systems - * Fix build system Python 3 compatibility - * Bump Serd dependency to 0.4.0 - - -- David Robillard Wed, 25 May 2011 19:00:00 -0400 - -sord (0.4.0) stable; - - * Initial release - - -- David Robillard Tue, 24 May 2011 23:00:00 -0400 diff --git a/source/modules/lilv/sord-0.12.0/PACKAGING b/source/modules/lilv/sord-0.12.0/PACKAGING deleted file mode 100644 index 3eced1698..000000000 --- a/source/modules/lilv/sord-0.12.0/PACKAGING +++ /dev/null @@ -1,29 +0,0 @@ -This library is designed to allow parallel installation of different major -versions. To facilitate this, the shared library name, include directory, and -pkg-config file are suffixed with the major version number of the library. - -For example, if this library was named "foo" and at version 1.x.y: - -/usr/include/foo-1/foo/foo.h -/usr/lib/foo-1.so.1.x.y -/usr/lib/pkgconfig/foo-1.pc - -Dependencies check for pkg-config name "foo-1" and will build -against a compatible version 1, regardless any other installed versions. - -*** IMPORTANT GUIDELINES FOR PACKAGERS *** - -Packages should follow the same conventions as above, i.e. include the major -version (and only the major version) in the name of the package. Continuing the -example above, the package(s) would be named foo-1 and foo-1-dev. This way, -if/when version 2 comes out, it may be installed at the same time as version 1 -without breaking anything. - -Please do not create packages of this library that do not follow these -guidelines, you will break things and cause unnecessary headaches. Please do -not use any number as a suffix other than the actual major version number of the -upstream source package. - -Because program and documentation names are not versioned, these should be -included in separate packages which may replace previous versions, since -there is little use in having parallel installations of them. \ No newline at end of file diff --git a/source/modules/lilv/sord-0.12.0/README b/source/modules/lilv/sord-0.12.0/README deleted file mode 100644 index 85ad305ac..000000000 --- a/source/modules/lilv/sord-0.12.0/README +++ /dev/null @@ -1,9 +0,0 @@ -Sord -==== - -Sord is a lightweight C library for storing RDF statements in memory. - -For more information, see . - - -- David Robillard - diff --git a/source/modules/lilv/sord-0.12.0/doc/layout.xml b/source/modules/lilv/sord-0.12.0/doc/layout.xml deleted file mode 100644 index 74a109fc3..000000000 --- a/source/modules/lilv/sord-0.12.0/doc/layout.xml +++ /dev/null @@ -1,187 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/source/modules/lilv/sord-0.12.0/doc/reference.doxygen.in b/source/modules/lilv/sord-0.12.0/doc/reference.doxygen.in deleted file mode 100644 index b679c1c9f..000000000 --- a/source/modules/lilv/sord-0.12.0/doc/reference.doxygen.in +++ /dev/null @@ -1,1792 +0,0 @@ -# Doxyfile 1.8.1.1 - -# This file describes the settings to be used by the documentation system -# doxygen (www.doxygen.org) for a project. -# -# All text after a hash (#) is considered a comment and will be ignored. -# The format is: -# TAG = value [value, ...] -# For lists items can also be appended using: -# TAG += value [value, ...] -# Values that contain spaces should be placed between quotes (" "). - -#--------------------------------------------------------------------------- -# Project related configuration options -#--------------------------------------------------------------------------- - -# This tag specifies the encoding used for all characters in the config file -# that follow. The default is UTF-8 which is also the encoding used for all -# text before the first occurrence of this tag. Doxygen uses libiconv (or the -# iconv built into libc) for the transcoding. See -# http://www.gnu.org/software/libiconv for the list of possible encodings. - -DOXYFILE_ENCODING = UTF-8 - -# The PROJECT_NAME tag is a single word (or sequence of words) that should -# identify the project. Note that if you do not use Doxywizard you need -# to put quotes around the project name if it contains spaces. - -PROJECT_NAME = Sord - -# The PROJECT_NUMBER tag can be used to enter a project or revision number. -# This could be handy for archiving the generated documentation or -# if some version control system is used. - -PROJECT_NUMBER = @SORD_VERSION@ - -# Using the PROJECT_BRIEF tag one can provide an optional one line description -# for a project that appears at the top of each page and should give viewer -# a quick idea about the purpose of the project. Keep the description short. - -PROJECT_BRIEF = - -# With the PROJECT_LOGO tag one can specify an logo or icon that is -# included in the documentation. The maximum height of the logo should not -# exceed 55 pixels and the maximum width should not exceed 200 pixels. -# Doxygen will copy the logo to the output directory. - -PROJECT_LOGO = - -# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) -# base path where the generated documentation will be put. -# If a relative path is entered, it will be relative to the location -# where doxygen was started. If left blank the current directory will be used. - -OUTPUT_DIRECTORY = @SORD_DOC_DIR@ - -# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create -# 4096 sub-directories (in 2 levels) under the output directory of each output -# format and will distribute the generated files over these directories. -# Enabling this option can be useful when feeding doxygen a huge amount of -# source files, where putting all generated files in the same directory would -# otherwise cause performance problems for the file system. - -CREATE_SUBDIRS = NO - -# The OUTPUT_LANGUAGE tag is used to specify the language in which all -# documentation generated by doxygen is written. Doxygen will use this -# information to generate all constant output in the proper language. -# The default language is English, other supported languages are: -# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, -# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German, -# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English -# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, -# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrillic, Slovak, -# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese. - -OUTPUT_LANGUAGE = English - -# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will -# include brief member descriptions after the members that are listed in -# the file and class documentation (similar to JavaDoc). -# Set to NO to disable this. - -BRIEF_MEMBER_DESC = NO - -# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend -# the brief description of a member or function before the detailed description. -# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the -# brief descriptions will be completely suppressed. - -REPEAT_BRIEF = YES - -# This tag implements a quasi-intelligent brief description abbreviator -# that is used to form the text in various listings. Each string -# in this list, if found as the leading text of the brief description, will be -# stripped from the text and the result after processing the whole list, is -# used as the annotated text. Otherwise, the brief description is used as-is. -# If left blank, the following values are used ("$name" is automatically -# replaced with the name of the entity): "The $name class" "The $name widget" -# "The $name file" "is" "provides" "specifies" "contains" -# "represents" "a" "an" "the" - -ABBREVIATE_BRIEF = - -# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then -# Doxygen will generate a detailed section even if there is only a brief -# description. - -ALWAYS_DETAILED_SEC = NO - -# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all -# inherited members of a class in the documentation of that class as if those -# members were ordinary class members. Constructors, destructors and assignment -# operators of the base classes will not be shown. - -INLINE_INHERITED_MEMB = NO - -# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full -# path before files name in the file list and in the header files. If set -# to NO the shortest path that makes the file name unique will be used. - -FULL_PATH_NAMES = NO - -# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag -# can be used to strip a user-defined part of the path. Stripping is -# only done if one of the specified strings matches the left-hand part of -# the path. The tag can be used to show relative paths in the file list. -# If left blank the directory from which doxygen is run is used as the -# path to strip. - -STRIP_FROM_PATH = - -# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of -# the path mentioned in the documentation of a class, which tells -# the reader which header file to include in order to use a class. -# If left blank only the name of the header file containing the class -# definition is used. Otherwise one should specify the include paths that -# are normally passed to the compiler using the -I flag. - -STRIP_FROM_INC_PATH = - -# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter -# (but less readable) file names. This can be useful if your file system -# doesn't support long names like on DOS, Mac, or CD-ROM. - -SHORT_NAMES = NO - -# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen -# will interpret the first line (until the first dot) of a JavaDoc-style -# comment as the brief description. If set to NO, the JavaDoc -# comments will behave just like regular Qt-style comments -# (thus requiring an explicit @brief command for a brief description.) - -JAVADOC_AUTOBRIEF = YES - -# If the QT_AUTOBRIEF tag is set to YES then Doxygen will -# interpret the first line (until the first dot) of a Qt-style -# comment as the brief description. If set to NO, the comments -# will behave just like regular Qt-style comments (thus requiring -# an explicit \brief command for a brief description.) - -QT_AUTOBRIEF = NO - -# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen -# treat a multi-line C++ special comment block (i.e. a block of //! or /// -# comments) as a brief description. This used to be the default behaviour. -# The new default is to treat a multi-line C++ comment block as a detailed -# description. Set this tag to YES if you prefer the old behaviour instead. - -MULTILINE_CPP_IS_BRIEF = NO - -# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented -# member inherits the documentation from any documented member that it -# re-implements. - -INHERIT_DOCS = YES - -# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce -# a new page for each member. If set to NO, the documentation of a member will -# be part of the file/class/namespace that contains it. - -SEPARATE_MEMBER_PAGES = NO - -# The TAB_SIZE tag can be used to set the number of spaces in a tab. -# Doxygen uses this value to replace tabs by spaces in code fragments. - -TAB_SIZE = 4 - -# This tag can be used to specify a number of aliases that acts -# as commands in the documentation. An alias has the form "name=value". -# For example adding "sideeffect=\par Side Effects:\n" will allow you to -# put the command \sideeffect (or @sideeffect) in the documentation, which -# will result in a user-defined paragraph with heading "Side Effects:". -# You can put \n's in the value part of an alias to insert newlines. - -ALIASES = - -# This tag can be used to specify a number of word-keyword mappings (TCL only). -# A mapping has the form "name=value". For example adding -# "class=itcl::class" will allow you to use the command class in the -# itcl::class meaning. - -TCL_SUBST = - -# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C -# sources only. Doxygen will then generate output that is more tailored for C. -# For instance, some of the names that are used will be different. The list -# of all members will be omitted, etc. - -OPTIMIZE_OUTPUT_FOR_C = YES - -# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java -# sources only. Doxygen will then generate output that is more tailored for -# Java. For instance, namespaces will be presented as packages, qualified -# scopes will look different, etc. - -OPTIMIZE_OUTPUT_JAVA = NO - -# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran -# sources only. Doxygen will then generate output that is more tailored for -# Fortran. - -OPTIMIZE_FOR_FORTRAN = NO - -# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL -# sources. Doxygen will then generate output that is tailored for -# VHDL. - -OPTIMIZE_OUTPUT_VHDL = NO - -# Doxygen selects the parser to use depending on the extension of the files it -# parses. With this tag you can assign which parser to use for a given extension. -# Doxygen has a built-in mapping, but you can override or extend it using this -# tag. The format is ext=language, where ext is a file extension, and language -# is one of the parsers supported by doxygen: IDL, Java, Javascript, CSharp, C, -# C++, D, PHP, Objective-C, Python, Fortran, VHDL, C, C++. For instance to make -# doxygen treat .inc files as Fortran files (default is PHP), and .f files as C -# (default is Fortran), use: inc=Fortran f=C. Note that for custom extensions -# you also need to set FILE_PATTERNS otherwise the files are not read by doxygen. - -EXTENSION_MAPPING = - -# If MARKDOWN_SUPPORT is enabled (the default) then doxygen pre-processes all -# comments according to the Markdown format, which allows for more readable -# documentation. See http://daringfireball.net/projects/markdown/ for details. -# The output of markdown processing is further processed by doxygen, so you -# can mix doxygen, HTML, and XML commands with Markdown formatting. -# Disable only in case of backward compatibilities issues. - -MARKDOWN_SUPPORT = YES - -# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want -# to include (a tag file for) the STL sources as input, then you should -# set this tag to YES in order to let doxygen match functions declarations and -# definitions whose arguments contain STL classes (e.g. func(std::string); v.s. -# func(std::string) {}). This also makes the inheritance and collaboration -# diagrams that involve STL classes more complete and accurate. - -BUILTIN_STL_SUPPORT = NO - -# If you use Microsoft's C++/CLI language, you should set this option to YES to -# enable parsing support. - -CPP_CLI_SUPPORT = NO - -# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. -# Doxygen will parse them like normal C++ but will assume all classes use public -# instead of private inheritance when no explicit protection keyword is present. - -SIP_SUPPORT = NO - -# For Microsoft's IDL there are propget and propput attributes to indicate getter -# and setter methods for a property. Setting this option to YES (the default) -# will make doxygen replace the get and set methods by a property in the -# documentation. This will only work if the methods are indeed getting or -# setting a simple type. If this is not the case, or you want to show the -# methods anyway, you should set this option to NO. - -IDL_PROPERTY_SUPPORT = YES - -# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC -# tag is set to YES, then doxygen will reuse the documentation of the first -# member in the group (if any) for the other members of the group. By default -# all members of a group must be documented explicitly. - -DISTRIBUTE_GROUP_DOC = NO - -# Set the SUBGROUPING tag to YES (the default) to allow class member groups of -# the same type (for instance a group of public functions) to be put as a -# subgroup of that type (e.g. under the Public Functions section). Set it to -# NO to prevent subgrouping. Alternatively, this can be done per class using -# the \nosubgrouping command. - -SUBGROUPING = YES - -# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and -# unions are shown inside the group in which they are included (e.g. using -# @ingroup) instead of on a separate page (for HTML and Man pages) or -# section (for LaTeX and RTF). - -INLINE_GROUPED_CLASSES = YES - -# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and -# unions with only public data fields will be shown inline in the documentation -# of the scope in which they are defined (i.e. file, namespace, or group -# documentation), provided this scope is documented. If set to NO (the default), -# structs, classes, and unions are shown on a separate page (for HTML and Man -# pages) or section (for LaTeX and RTF). - -INLINE_SIMPLE_STRUCTS = YES - -# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum -# is documented as struct, union, or enum with the name of the typedef. So -# typedef struct TypeS {} TypeT, will appear in the documentation as a struct -# with name TypeT. When disabled the typedef will appear as a member of a file, -# namespace, or class. And the struct will be named TypeS. This can typically -# be useful for C code in case the coding convention dictates that all compound -# types are typedef'ed and only the typedef is referenced, never the tag name. - -TYPEDEF_HIDES_STRUCT = YES - -# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to -# determine which symbols to keep in memory and which to flush to disk. -# When the cache is full, less often used symbols will be written to disk. -# For small to medium size projects (<1000 input files) the default value is -# probably good enough. For larger projects a too small cache size can cause -# doxygen to be busy swapping symbols to and from disk most of the time -# causing a significant performance penalty. -# If the system has enough physical memory increasing the cache will improve the -# performance by keeping more symbols in memory. Note that the value works on -# a logarithmic scale so increasing the size by one will roughly double the -# memory usage. The cache size is given by this formula: -# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0, -# corresponding to a cache size of 2^16 = 65536 symbols. - -SYMBOL_CACHE_SIZE = 0 - -# Similar to the SYMBOL_CACHE_SIZE the size of the symbol lookup cache can be -# set using LOOKUP_CACHE_SIZE. This cache is used to resolve symbols given -# their name and scope. Since this can be an expensive process and often the -# same symbol appear multiple times in the code, doxygen keeps a cache of -# pre-resolved symbols. If the cache is too small doxygen will become slower. -# If the cache is too large, memory is wasted. The cache size is given by this -# formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range is 0..9, the default is 0, -# corresponding to a cache size of 2^16 = 65536 symbols. - -LOOKUP_CACHE_SIZE = 0 - -#--------------------------------------------------------------------------- -# Build related configuration options -#--------------------------------------------------------------------------- - -# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in -# documentation are documented, even if no documentation was available. -# Private class members and static file members will be hidden unless -# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES - -EXTRACT_ALL = YES - -# If the EXTRACT_PRIVATE tag is set to YES all private members of a class -# will be included in the documentation. - -EXTRACT_PRIVATE = NO - -# If the EXTRACT_PACKAGE tag is set to YES all members with package or internal scope will be included in the documentation. - -EXTRACT_PACKAGE = NO - -# If the EXTRACT_STATIC tag is set to YES all static members of a file -# will be included in the documentation. - -EXTRACT_STATIC = YES - -# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) -# defined locally in source files will be included in the documentation. -# If set to NO only classes defined in header files are included. - -EXTRACT_LOCAL_CLASSES = NO - -# This flag is only useful for Objective-C code. When set to YES local -# methods, which are defined in the implementation section but not in -# the interface are included in the documentation. -# If set to NO (the default) only methods in the interface are included. - -EXTRACT_LOCAL_METHODS = NO - -# If this flag is set to YES, the members of anonymous namespaces will be -# extracted and appear in the documentation as a namespace called -# 'anonymous_namespace{file}', where file will be replaced with the base -# name of the file that contains the anonymous namespace. By default -# anonymous namespaces are hidden. - -EXTRACT_ANON_NSPACES = NO - -# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all -# undocumented members of documented classes, files or namespaces. -# If set to NO (the default) these members will be included in the -# various overviews, but no documentation section is generated. -# This option has no effect if EXTRACT_ALL is enabled. - -HIDE_UNDOC_MEMBERS = YES - -# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all -# undocumented classes that are normally visible in the class hierarchy. -# If set to NO (the default) these classes will be included in the various -# overviews. This option has no effect if EXTRACT_ALL is enabled. - -HIDE_UNDOC_CLASSES = YES - -# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all -# friend (class|struct|union) declarations. -# If set to NO (the default) these declarations will be included in the -# documentation. - -HIDE_FRIEND_COMPOUNDS = NO - -# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any -# documentation blocks found inside the body of a function. -# If set to NO (the default) these blocks will be appended to the -# function's detailed documentation block. - -HIDE_IN_BODY_DOCS = YES - -# The INTERNAL_DOCS tag determines if documentation -# that is typed after a \internal command is included. If the tag is set -# to NO (the default) then the documentation will be excluded. -# Set it to YES to include the internal documentation. - -INTERNAL_DOCS = NO - -# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate -# file names in lower-case letters. If set to YES upper-case letters are also -# allowed. This is useful if you have classes or files whose names only differ -# in case and if your file system supports case sensitive file names. Windows -# and Mac users are advised to set this option to NO. - -CASE_SENSE_NAMES = YES - -# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen -# will show members with their full class and namespace scopes in the -# documentation. If set to YES the scope will be hidden. - -HIDE_SCOPE_NAMES = NO - -# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen -# will put a list of the files that are included by a file in the documentation -# of that file. - -SHOW_INCLUDE_FILES = YES - -# If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen -# will list include files with double quotes in the documentation -# rather than with sharp brackets. - -FORCE_LOCAL_INCLUDES = NO - -# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] -# is inserted in the documentation for inline members. - -INLINE_INFO = YES - -# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen -# will sort the (detailed) documentation of file and class members -# alphabetically by member name. If set to NO the members will appear in -# declaration order. - -SORT_MEMBER_DOCS = NO - -# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the -# brief documentation of file, namespace and class members alphabetically -# by member name. If set to NO (the default) the members will appear in -# declaration order. - -SORT_BRIEF_DOCS = NO - -# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen -# will sort the (brief and detailed) documentation of class members so that -# constructors and destructors are listed first. If set to NO (the default) -# the constructors will appear in the respective orders defined by -# SORT_MEMBER_DOCS and SORT_BRIEF_DOCS. -# This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO -# and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO. - -SORT_MEMBERS_CTORS_1ST = NO - -# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the -# hierarchy of group names into alphabetical order. If set to NO (the default) -# the group names will appear in their defined order. - -SORT_GROUP_NAMES = NO - -# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be -# sorted by fully-qualified names, including namespaces. If set to -# NO (the default), the class list will be sorted only by class name, -# not including the namespace part. -# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. -# Note: This option applies only to the class list, not to the -# alphabetical list. - -SORT_BY_SCOPE_NAME = YES - -# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to -# do proper type resolution of all parameters of a function it will reject a -# match between the prototype and the implementation of a member function even -# if there is only one candidate or it is obvious which candidate to choose -# by doing a simple string match. By disabling STRICT_PROTO_MATCHING doxygen -# will still accept a match between prototype and implementation in such cases. - -STRICT_PROTO_MATCHING = NO - -# The GENERATE_TODOLIST tag can be used to enable (YES) or -# disable (NO) the todo list. This list is created by putting \todo -# commands in the documentation. - -GENERATE_TODOLIST = NO - -# The GENERATE_TESTLIST tag can be used to enable (YES) or -# disable (NO) the test list. This list is created by putting \test -# commands in the documentation. - -GENERATE_TESTLIST = NO - -# The GENERATE_BUGLIST tag can be used to enable (YES) or -# disable (NO) the bug list. This list is created by putting \bug -# commands in the documentation. - -GENERATE_BUGLIST = NO - -# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or -# disable (NO) the deprecated list. This list is created by putting -# \deprecated commands in the documentation. - -GENERATE_DEPRECATEDLIST= YES - -# The ENABLED_SECTIONS tag can be used to enable conditional -# documentation sections, marked by \if sectionname ... \endif. - -ENABLED_SECTIONS = - -# The MAX_INITIALIZER_LINES tag determines the maximum number of lines -# the initial value of a variable or macro consists of for it to appear in -# the documentation. If the initializer consists of more lines than specified -# here it will be hidden. Use a value of 0 to hide initializers completely. -# The appearance of the initializer of individual variables and macros in the -# documentation can be controlled using \showinitializer or \hideinitializer -# command in the documentation regardless of this setting. - -MAX_INITIALIZER_LINES = 30 - -# Set the SHOW_USED_FILES tag to NO to disable the list of files generated -# at the bottom of the documentation of classes and structs. If set to YES the -# list will mention the files that were used to generate the documentation. - -SHOW_USED_FILES = YES - -# Set the SHOW_FILES tag to NO to disable the generation of the Files page. -# This will remove the Files entry from the Quick Index and from the -# Folder Tree View (if specified). The default is YES. - -SHOW_FILES = NO - -# Set the SHOW_NAMESPACES tag to NO to disable the generation of the -# Namespaces page. -# This will remove the Namespaces entry from the Quick Index -# and from the Folder Tree View (if specified). The default is YES. - -SHOW_NAMESPACES = NO - -# The FILE_VERSION_FILTER tag can be used to specify a program or script that -# doxygen should invoke to get the current version for each file (typically from -# the version control system). Doxygen will invoke the program by executing (via -# popen()) the command , where is the value of -# the FILE_VERSION_FILTER tag, and is the name of an input file -# provided by doxygen. Whatever the program writes to standard output -# is used as the file version. See the manual for examples. - -FILE_VERSION_FILTER = - -# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed -# by doxygen. The layout file controls the global structure of the generated -# output files in an output format independent way. To create the layout file -# that represents doxygen's defaults, run doxygen with the -l option. -# You can optionally specify a file name after the option, if omitted -# DoxygenLayout.xml will be used as the name of the layout file. - -LAYOUT_FILE = @SORD_SRCDIR@/doc/layout.xml - -# The CITE_BIB_FILES tag can be used to specify one or more bib files -# containing the references data. This must be a list of .bib files. The -# .bib extension is automatically appended if omitted. Using this command -# requires the bibtex tool to be installed. See also -# http://en.wikipedia.org/wiki/BibTeX for more info. For LaTeX the style -# of the bibliography can be controlled using LATEX_BIB_STYLE. To use this -# feature you need bibtex and perl available in the search path. - -CITE_BIB_FILES = - -#--------------------------------------------------------------------------- -# configuration options related to warning and progress messages -#--------------------------------------------------------------------------- - -# The QUIET tag can be used to turn on/off the messages that are generated -# by doxygen. Possible values are YES and NO. If left blank NO is used. - -QUIET = YES - -# The WARNINGS tag can be used to turn on/off the warning messages that are -# generated by doxygen. Possible values are YES and NO. If left blank -# NO is used. - -WARNINGS = YES - -# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings -# for undocumented members. If EXTRACT_ALL is set to YES then this flag will -# automatically be disabled. - -WARN_IF_UNDOCUMENTED = YES - -# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for -# potential errors in the documentation, such as not documenting some -# parameters in a documented function, or documenting parameters that -# don't exist or using markup commands wrongly. - -WARN_IF_DOC_ERROR = YES - -# The WARN_NO_PARAMDOC option can be enabled to get warnings for -# functions that are documented, but have no documentation for their parameters -# or return value. If set to NO (the default) doxygen will only warn about -# wrong or incomplete parameter documentation, but not about the absence of -# documentation. - -WARN_NO_PARAMDOC = YES - -# The WARN_FORMAT tag determines the format of the warning messages that -# doxygen can produce. The string should contain the $file, $line, and $text -# tags, which will be replaced by the file and line number from which the -# warning originated and the warning text. Optionally the format may contain -# $version, which will be replaced by the version of the file (if it could -# be obtained via FILE_VERSION_FILTER) - -WARN_FORMAT = "$file:$line: $text" - -# The WARN_LOGFILE tag can be used to specify a file to which warning -# and error messages should be written. If left blank the output is written -# to stderr. - -WARN_LOGFILE = - -#--------------------------------------------------------------------------- -# configuration options related to the input files -#--------------------------------------------------------------------------- - -# The INPUT tag can be used to specify the files and/or directories that contain -# documented source files. You may enter file names like "myfile.cpp" or -# directories like "/usr/src/myproject". Separate the files or directories -# with spaces. - -INPUT = @SORD_SRCDIR@/sord/sord.h - -# This tag can be used to specify the character encoding of the source files -# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is -# also the default input encoding. Doxygen uses libiconv (or the iconv built -# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for -# the list of possible encodings. - -INPUT_ENCODING = UTF-8 - -# If the value of the INPUT tag contains directories, you can use the -# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank the following patterns are tested: -# *.c *.cc *.cxx *.cpp *.c++ *.d *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh -# *.hxx *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.dox *.py -# *.f90 *.f *.for *.vhd *.vhdl - -FILE_PATTERNS = - -# The RECURSIVE tag can be used to turn specify whether or not subdirectories -# should be searched for input files as well. Possible values are YES and NO. -# If left blank NO is used. - -RECURSIVE = NO - -# The EXCLUDE tag can be used to specify files and/or directories that should be -# excluded from the INPUT source files. This way you can easily exclude a -# subdirectory from a directory tree whose root is specified with the INPUT tag. -# Note that relative paths are relative to the directory from which doxygen is -# run. - -EXCLUDE = - -# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or -# directories that are symbolic links (a Unix file system feature) are excluded -# from the input. - -EXCLUDE_SYMLINKS = NO - -# If the value of the INPUT tag contains directories, you can use the -# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude -# certain files from those directories. Note that the wildcards are matched -# against the file with absolute path, so to exclude all test directories -# for example use the pattern */test/* - -EXCLUDE_PATTERNS = - -# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names -# (namespaces, classes, functions, etc.) that should be excluded from the -# output. The symbol name can be a fully qualified name, a word, or if the -# wildcard * is used, a substring. Examples: ANamespace, AClass, -# AClass::ANamespace, ANamespace::*Test - -EXCLUDE_SYMBOLS = - -# The EXAMPLE_PATH tag can be used to specify one or more files or -# directories that contain example code fragments that are included (see -# the \include command). - -EXAMPLE_PATH = - -# If the value of the EXAMPLE_PATH tag contains directories, you can use the -# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank all files are included. - -EXAMPLE_PATTERNS = *.c - -# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be -# searched for input files to be used with the \include or \dontinclude -# commands irrespective of the value of the RECURSIVE tag. -# Possible values are YES and NO. If left blank NO is used. - -EXAMPLE_RECURSIVE = NO - -# The IMAGE_PATH tag can be used to specify one or more files or -# directories that contain image that are included in the documentation (see -# the \image command). - -IMAGE_PATH = - -# The INPUT_FILTER tag can be used to specify a program that doxygen should -# invoke to filter for each input file. Doxygen will invoke the filter program -# by executing (via popen()) the command , where -# is the value of the INPUT_FILTER tag, and is the name of an -# input file. Doxygen will then use the output that the filter program writes -# to standard output. -# If FILTER_PATTERNS is specified, this tag will be -# ignored. - -INPUT_FILTER = - -# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern -# basis. -# Doxygen will compare the file name with each pattern and apply the -# filter if there is a match. -# The filters are a list of the form: -# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further -# info on how filters are used. If FILTER_PATTERNS is empty or if -# non of the patterns match the file name, INPUT_FILTER is applied. - -FILTER_PATTERNS = - -# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using -# INPUT_FILTER) will be used to filter the input files when producing source -# files to browse (i.e. when SOURCE_BROWSER is set to YES). - -FILTER_SOURCE_FILES = NO - -# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file -# pattern. A pattern will override the setting for FILTER_PATTERN (if any) -# and it is also possible to disable source filtering for a specific pattern -# using *.ext= (so without naming a filter). This option only has effect when -# FILTER_SOURCE_FILES is enabled. - -FILTER_SOURCE_PATTERNS = - -#--------------------------------------------------------------------------- -# configuration options related to source browsing -#--------------------------------------------------------------------------- - -# If the SOURCE_BROWSER tag is set to YES then a list of source files will -# be generated. Documented entities will be cross-referenced with these sources. -# Note: To get rid of all source code in the generated output, make sure also -# VERBATIM_HEADERS is set to NO. - -SOURCE_BROWSER = NO - -# Setting the INLINE_SOURCES tag to YES will include the body -# of functions and classes directly in the documentation. - -INLINE_SOURCES = NO - -# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct -# doxygen to hide any special comment blocks from generated source code -# fragments. Normal C, C++ and Fortran comments will always remain visible. - -STRIP_CODE_COMMENTS = YES - -# If the REFERENCED_BY_RELATION tag is set to YES -# then for each documented function all documented -# functions referencing it will be listed. - -REFERENCED_BY_RELATION = YES - -# If the REFERENCES_RELATION tag is set to YES -# then for each documented function all documented entities -# called/used by that function will be listed. - -REFERENCES_RELATION = YES - -# If the REFERENCES_LINK_SOURCE tag is set to YES (the default) -# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from -# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will -# link to the source code. -# Otherwise they will link to the documentation. - -REFERENCES_LINK_SOURCE = YES - -# If the USE_HTAGS tag is set to YES then the references to source code -# will point to the HTML generated by the htags(1) tool instead of doxygen -# built-in source browser. The htags tool is part of GNU's global source -# tagging system (see http://www.gnu.org/software/global/global.html). You -# will need version 4.8.6 or higher. - -USE_HTAGS = NO - -# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen -# will generate a verbatim copy of the header file for each class for -# which an include is specified. Set to NO to disable this. - -VERBATIM_HEADERS = NO - -#--------------------------------------------------------------------------- -# configuration options related to the alphabetical class index -#--------------------------------------------------------------------------- - -# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index -# of all compounds will be generated. Enable this if the project -# contains a lot of classes, structs, unions or interfaces. - -ALPHABETICAL_INDEX = NO - -# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then -# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns -# in which this list will be split (can be a number in the range [1..20]) - -COLS_IN_ALPHA_INDEX = 5 - -# In case all classes in a project start with a common prefix, all -# classes will be put under the same header in the alphabetical index. -# The IGNORE_PREFIX tag can be used to specify one or more prefixes that -# should be ignored while generating the index headers. - -IGNORE_PREFIX = - -#--------------------------------------------------------------------------- -# configuration options related to the HTML output -#--------------------------------------------------------------------------- - -# If the GENERATE_HTML tag is set to YES (the default) Doxygen will -# generate HTML output. - -GENERATE_HTML = YES - -# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `html' will be used as the default path. - -HTML_OUTPUT = html - -# The HTML_FILE_EXTENSION tag can be used to specify the file extension for -# each generated HTML page (for example: .htm,.php,.asp). If it is left blank -# doxygen will generate files with .html extension. - -HTML_FILE_EXTENSION = .html - -# The HTML_HEADER tag can be used to specify a personal HTML header for -# each generated HTML page. If it is left blank doxygen will generate a -# standard header. Note that when using a custom header you are responsible -# for the proper inclusion of any scripts and style sheets that doxygen -# needs, which is dependent on the configuration options used. -# It is advised to generate a default header using "doxygen -w html -# header.html footer.html stylesheet.css YourConfigFile" and then modify -# that header. Note that the header is subject to change so you typically -# have to redo this when upgrading to a newer version of doxygen or when -# changing the value of configuration settings such as GENERATE_TREEVIEW! - -HTML_HEADER = - -# The HTML_FOOTER tag can be used to specify a personal HTML footer for -# each generated HTML page. If it is left blank doxygen will generate a -# standard footer. - -HTML_FOOTER = - -# The HTML_STYLESHEET tag can be used to specify a user-defined cascading -# style sheet that is used by each HTML page. It can be used to -# fine-tune the look of the HTML output. If the tag is left blank doxygen -# will generate a default style sheet. Note that doxygen will try to copy -# the style sheet file to the HTML output directory, so don't put your own -# style sheet in the HTML output directory as well, or it will be erased! - -HTML_STYLESHEET = @SORD_SRCDIR@/doc/style.css - -# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or -# other source files which should be copied to the HTML output directory. Note -# that these files will be copied to the base HTML output directory. Use the -# $relpath$ marker in the HTML_HEADER and/or HTML_FOOTER files to load these -# files. In the HTML_STYLESHEET file, use the file name only. Also note that -# the files will be copied as-is; there are no commands or markers available. - -HTML_EXTRA_FILES = - -# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. -# Doxygen will adjust the colors in the style sheet and background images -# according to this color. Hue is specified as an angle on a colorwheel, -# see http://en.wikipedia.org/wiki/Hue for more information. -# For instance the value 0 represents red, 60 is yellow, 120 is green, -# 180 is cyan, 240 is blue, 300 purple, and 360 is red again. -# The allowed range is 0 to 359. - -HTML_COLORSTYLE_HUE = 160 - -# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of -# the colors in the HTML output. For a value of 0 the output will use -# grayscales only. A value of 255 will produce the most vivid colors. - -HTML_COLORSTYLE_SAT = 100 - -# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to -# the luminance component of the colors in the HTML output. Values below -# 100 gradually make the output lighter, whereas values above 100 make -# the output darker. The value divided by 100 is the actual gamma applied, -# so 80 represents a gamma of 0.8, The value 220 represents a gamma of 2.2, -# and 100 does not change the gamma. - -HTML_COLORSTYLE_GAMMA = 80 - -# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML -# page will contain the date and time when the page was generated. Setting -# this to NO can help when comparing the output of multiple runs. - -HTML_TIMESTAMP = NO - -# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML -# documentation will contain sections that can be hidden and shown after the -# page has loaded. - -HTML_DYNAMIC_SECTIONS = NO - -# With HTML_INDEX_NUM_ENTRIES one can control the preferred number of -# entries shown in the various tree structured indices initially; the user -# can expand and collapse entries dynamically later on. Doxygen will expand -# the tree to such a level that at most the specified number of entries are -# visible (unless a fully collapsed tree already exceeds this amount). -# So setting the number of entries 1 will produce a full collapsed tree by -# default. 0 is a special value representing an infinite number of entries -# and will result in a full expanded tree by default. - -HTML_INDEX_NUM_ENTRIES = 100 - -# If the GENERATE_DOCSET tag is set to YES, additional index files -# will be generated that can be used as input for Apple's Xcode 3 -# integrated development environment, introduced with OSX 10.5 (Leopard). -# To create a documentation set, doxygen will generate a Makefile in the -# HTML output directory. Running make will produce the docset in that -# directory and running "make install" will install the docset in -# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find -# it at startup. -# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html -# for more information. - -GENERATE_DOCSET = NO - -# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the -# feed. A documentation feed provides an umbrella under which multiple -# documentation sets from a single provider (such as a company or product suite) -# can be grouped. - -DOCSET_FEEDNAME = "Doxygen generated docs" - -# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that -# should uniquely identify the documentation set bundle. This should be a -# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen -# will append .docset to the name. - -DOCSET_BUNDLE_ID = org.doxygen.Project - -# When GENERATE_PUBLISHER_ID tag specifies a string that should uniquely identify -# the documentation publisher. This should be a reverse domain-name style -# string, e.g. com.mycompany.MyDocSet.documentation. - -DOCSET_PUBLISHER_ID = org.doxygen.Publisher - -# The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher. - -DOCSET_PUBLISHER_NAME = Publisher - -# If the GENERATE_HTMLHELP tag is set to YES, additional index files -# will be generated that can be used as input for tools like the -# Microsoft HTML help workshop to generate a compiled HTML help file (.chm) -# of the generated HTML documentation. - -GENERATE_HTMLHELP = NO - -# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can -# be used to specify the file name of the resulting .chm file. You -# can add a path in front of the file if the result should not be -# written to the html output directory. - -CHM_FILE = - -# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can -# be used to specify the location (absolute path including file name) of -# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run -# the HTML help compiler on the generated index.hhp. - -HHC_LOCATION = - -# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag -# controls if a separate .chi index file is generated (YES) or that -# it should be included in the master .chm file (NO). - -GENERATE_CHI = NO - -# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING -# is used to encode HtmlHelp index (hhk), content (hhc) and project file -# content. - -CHM_INDEX_ENCODING = - -# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag -# controls whether a binary table of contents is generated (YES) or a -# normal table of contents (NO) in the .chm file. - -BINARY_TOC = NO - -# The TOC_EXPAND flag can be set to YES to add extra items for group members -# to the contents of the HTML help documentation and to the tree view. - -TOC_EXPAND = NO - -# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and -# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated -# that can be used as input for Qt's qhelpgenerator to generate a -# Qt Compressed Help (.qch) of the generated HTML documentation. - -GENERATE_QHP = NO - -# If the QHG_LOCATION tag is specified, the QCH_FILE tag can -# be used to specify the file name of the resulting .qch file. -# The path specified is relative to the HTML output folder. - -QCH_FILE = - -# The QHP_NAMESPACE tag specifies the namespace to use when generating -# Qt Help Project output. For more information please see -# http://doc.trolltech.com/qthelpproject.html#namespace - -QHP_NAMESPACE = - -# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating -# Qt Help Project output. For more information please see -# http://doc.trolltech.com/qthelpproject.html#virtual-folders - -QHP_VIRTUAL_FOLDER = doc - -# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to -# add. For more information please see -# http://doc.trolltech.com/qthelpproject.html#custom-filters - -QHP_CUST_FILTER_NAME = - -# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the -# custom filter to add. For more information please see -# -# Qt Help Project / Custom Filters. - -QHP_CUST_FILTER_ATTRS = - -# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this -# project's -# filter section matches. -# -# Qt Help Project / Filter Attributes. - -QHP_SECT_FILTER_ATTRS = - -# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can -# be used to specify the location of Qt's qhelpgenerator. -# If non-empty doxygen will try to run qhelpgenerator on the generated -# .qhp file. - -QHG_LOCATION = - -# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files -# will be generated, which together with the HTML files, form an Eclipse help -# plugin. To install this plugin and make it available under the help contents -# menu in Eclipse, the contents of the directory containing the HTML and XML -# files needs to be copied into the plugins directory of eclipse. The name of -# the directory within the plugins directory should be the same as -# the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before -# the help appears. - -GENERATE_ECLIPSEHELP = NO - -# A unique identifier for the eclipse help plugin. When installing the plugin -# the directory name containing the HTML and XML files should also have -# this name. - -ECLIPSE_DOC_ID = org.doxygen.Project - -# The DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs) -# at top of each HTML page. The value NO (the default) enables the index and -# the value YES disables it. Since the tabs have the same information as the -# navigation tree you can set this option to NO if you already set -# GENERATE_TREEVIEW to YES. - -DISABLE_INDEX = YES - -# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index -# structure should be generated to display hierarchical information. -# If the tag value is set to YES, a side panel will be generated -# containing a tree-like index structure (just like the one that -# is generated for HTML Help). For this to work a browser that supports -# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser). -# Windows users are probably better off using the HTML help feature. -# Since the tree basically has the same information as the tab index you -# could consider to set DISABLE_INDEX to NO when enabling this option. - -GENERATE_TREEVIEW = NO - -# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values -# (range [0,1..20]) that doxygen will group on one line in the generated HTML -# documentation. Note that a value of 0 will completely suppress the enum -# values from appearing in the overview section. - -ENUM_VALUES_PER_LINE = 4 - -# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be -# used to set the initial width (in pixels) of the frame in which the tree -# is shown. - -TREEVIEW_WIDTH = 250 - -# When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open -# links to external symbols imported via tag files in a separate window. - -EXT_LINKS_IN_WINDOW = NO - -# Use this tag to change the font size of Latex formulas included -# as images in the HTML documentation. The default is 10. Note that -# when you change the font size after a successful doxygen run you need -# to manually remove any form_*.png images from the HTML output directory -# to force them to be regenerated. - -FORMULA_FONTSIZE = 10 - -# Use the FORMULA_TRANPARENT tag to determine whether or not the images -# generated for formulas are transparent PNGs. Transparent PNGs are -# not supported properly for IE 6.0, but are supported on all modern browsers. -# Note that when changing this option you need to delete any form_*.png files -# in the HTML output before the changes have effect. - -FORMULA_TRANSPARENT = YES - -# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax -# (see http://www.mathjax.org) which uses client side Javascript for the -# rendering instead of using prerendered bitmaps. Use this if you do not -# have LaTeX installed or if you want to formulas look prettier in the HTML -# output. When enabled you may also need to install MathJax separately and -# configure the path to it using the MATHJAX_RELPATH option. - -USE_MATHJAX = NO - -# When MathJax is enabled you need to specify the location relative to the -# HTML output directory using the MATHJAX_RELPATH option. The destination -# directory should contain the MathJax.js script. For instance, if the mathjax -# directory is located at the same level as the HTML output directory, then -# MATHJAX_RELPATH should be ../mathjax. The default value points to -# the MathJax Content Delivery Network so you can quickly see the result without -# installing MathJax. -# However, it is strongly recommended to install a local -# copy of MathJax from http://www.mathjax.org before deployment. - -MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest - -# The MATHJAX_EXTENSIONS tag can be used to specify one or MathJax extension -# names that should be enabled during MathJax rendering. - -MATHJAX_EXTENSIONS = - -# When the SEARCHENGINE tag is enabled doxygen will generate a search box -# for the HTML output. The underlying search engine uses javascript -# and DHTML and should work on any modern browser. Note that when using -# HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets -# (GENERATE_DOCSET) there is already a search function so this one should -# typically be disabled. For large projects the javascript based search engine -# can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution. - -SEARCHENGINE = NO - -# When the SERVER_BASED_SEARCH tag is enabled the search engine will be -# implemented using a PHP enabled web server instead of at the web client -# using Javascript. Doxygen will generate the search PHP script and index -# file to put on the web server. The advantage of the server -# based approach is that it scales better to large projects and allows -# full text search. The disadvantages are that it is more difficult to setup -# and does not have live searching capabilities. - -SERVER_BASED_SEARCH = NO - -#--------------------------------------------------------------------------- -# configuration options related to the LaTeX output -#--------------------------------------------------------------------------- - -# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will -# generate Latex output. - -GENERATE_LATEX = NO - -# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `latex' will be used as the default path. - -LATEX_OUTPUT = latex - -# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be -# invoked. If left blank `latex' will be used as the default command name. -# Note that when enabling USE_PDFLATEX this option is only used for -# generating bitmaps for formulas in the HTML output, but not in the -# Makefile that is written to the output directory. - -LATEX_CMD_NAME = latex - -# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to -# generate index for LaTeX. If left blank `makeindex' will be used as the -# default command name. - -MAKEINDEX_CMD_NAME = makeindex - -# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact -# LaTeX documents. This may be useful for small projects and may help to -# save some trees in general. - -COMPACT_LATEX = NO - -# The PAPER_TYPE tag can be used to set the paper type that is used -# by the printer. Possible values are: a4, letter, legal and -# executive. If left blank a4wide will be used. - -PAPER_TYPE = a4wide - -# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX -# packages that should be included in the LaTeX output. - -EXTRA_PACKAGES = - -# The LATEX_HEADER tag can be used to specify a personal LaTeX header for -# the generated latex document. The header should contain everything until -# the first chapter. If it is left blank doxygen will generate a -# standard header. Notice: only use this tag if you know what you are doing! - -LATEX_HEADER = - -# The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for -# the generated latex document. The footer should contain everything after -# the last chapter. If it is left blank doxygen will generate a -# standard footer. Notice: only use this tag if you know what you are doing! - -LATEX_FOOTER = - -# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated -# is prepared for conversion to pdf (using ps2pdf). The pdf file will -# contain links (just like the HTML output) instead of page references -# This makes the output suitable for online browsing using a pdf viewer. - -PDF_HYPERLINKS = NO - -# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of -# plain latex in the generated Makefile. Set this option to YES to get a -# higher quality PDF documentation. - -USE_PDFLATEX = NO - -# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. -# command to the generated LaTeX files. This will instruct LaTeX to keep -# running if errors occur, instead of asking the user for help. -# This option is also used when generating formulas in HTML. - -LATEX_BATCHMODE = NO - -# If LATEX_HIDE_INDICES is set to YES then doxygen will not -# include the index chapters (such as File Index, Compound Index, etc.) -# in the output. - -LATEX_HIDE_INDICES = NO - -# If LATEX_SOURCE_CODE is set to YES then doxygen will include -# source code with syntax highlighting in the LaTeX output. -# Note that which sources are shown also depends on other settings -# such as SOURCE_BROWSER. - -LATEX_SOURCE_CODE = NO - -# The LATEX_BIB_STYLE tag can be used to specify the style to use for the -# bibliography, e.g. plainnat, or ieeetr. The default style is "plain". See -# http://en.wikipedia.org/wiki/BibTeX for more info. - -LATEX_BIB_STYLE = plain - -#--------------------------------------------------------------------------- -# configuration options related to the RTF output -#--------------------------------------------------------------------------- - -# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output -# The RTF output is optimized for Word 97 and may not look very pretty with -# other RTF readers or editors. - -GENERATE_RTF = NO - -# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `rtf' will be used as the default path. - -RTF_OUTPUT = rtf - -# If the COMPACT_RTF tag is set to YES Doxygen generates more compact -# RTF documents. This may be useful for small projects and may help to -# save some trees in general. - -COMPACT_RTF = NO - -# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated -# will contain hyperlink fields. The RTF file will -# contain links (just like the HTML output) instead of page references. -# This makes the output suitable for online browsing using WORD or other -# programs which support those fields. -# Note: wordpad (write) and others do not support links. - -RTF_HYPERLINKS = NO - -# Load style sheet definitions from file. Syntax is similar to doxygen's -# config file, i.e. a series of assignments. You only have to provide -# replacements, missing definitions are set to their default value. - -RTF_STYLESHEET_FILE = - -# Set optional variables used in the generation of an rtf document. -# Syntax is similar to doxygen's config file. - -RTF_EXTENSIONS_FILE = - -#--------------------------------------------------------------------------- -# configuration options related to the man page output -#--------------------------------------------------------------------------- - -# If the GENERATE_MAN tag is set to YES (the default) Doxygen will -# generate man pages - -GENERATE_MAN = YES - -# The MAN_OUTPUT tag is used to specify where the man pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `man' will be used as the default path. - -MAN_OUTPUT = man - -# The MAN_EXTENSION tag determines the extension that is added to -# the generated man pages (default is the subroutine's section .3) - -MAN_EXTENSION = .3 - -# If the MAN_LINKS tag is set to YES and Doxygen generates man output, -# then it will generate one additional man file for each entity -# documented in the real man page(s). These additional files -# only source the real man page, but without them the man command -# would be unable to find the correct page. The default is NO. - -MAN_LINKS = NO - -#--------------------------------------------------------------------------- -# configuration options related to the XML output -#--------------------------------------------------------------------------- - -# If the GENERATE_XML tag is set to YES Doxygen will -# generate an XML file that captures the structure of -# the code including all documentation. - -GENERATE_XML = NO - -# The XML_OUTPUT tag is used to specify where the XML pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `xml' will be used as the default path. - -XML_OUTPUT = xml - -# The XML_SCHEMA tag can be used to specify an XML schema, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_SCHEMA = - -# The XML_DTD tag can be used to specify an XML DTD, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_DTD = - -# If the XML_PROGRAMLISTING tag is set to YES Doxygen will -# dump the program listings (including syntax highlighting -# and cross-referencing information) to the XML output. Note that -# enabling this will significantly increase the size of the XML output. - -XML_PROGRAMLISTING = YES - -#--------------------------------------------------------------------------- -# configuration options for the AutoGen Definitions output -#--------------------------------------------------------------------------- - -# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will -# generate an AutoGen Definitions (see autogen.sf.net) file -# that captures the structure of the code including all -# documentation. Note that this feature is still experimental -# and incomplete at the moment. - -GENERATE_AUTOGEN_DEF = NO - -#--------------------------------------------------------------------------- -# configuration options related to the Perl module output -#--------------------------------------------------------------------------- - -# If the GENERATE_PERLMOD tag is set to YES Doxygen will -# generate a Perl module file that captures the structure of -# the code including all documentation. Note that this -# feature is still experimental and incomplete at the -# moment. - -GENERATE_PERLMOD = NO - -# If the PERLMOD_LATEX tag is set to YES Doxygen will generate -# the necessary Makefile rules, Perl scripts and LaTeX code to be able -# to generate PDF and DVI output from the Perl module output. - -PERLMOD_LATEX = NO - -# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be -# nicely formatted so it can be parsed by a human reader. -# This is useful -# if you want to understand what is going on. -# On the other hand, if this -# tag is set to NO the size of the Perl module output will be much smaller -# and Perl will parse it just the same. - -PERLMOD_PRETTY = YES - -# The names of the make variables in the generated doxyrules.make file -# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. -# This is useful so different doxyrules.make files included by the same -# Makefile don't overwrite each other's variables. - -PERLMOD_MAKEVAR_PREFIX = - -#--------------------------------------------------------------------------- -# Configuration options related to the preprocessor -#--------------------------------------------------------------------------- - -# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will -# evaluate all C-preprocessor directives found in the sources and include -# files. - -ENABLE_PREPROCESSING = YES - -# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro -# names in the source code. If set to NO (the default) only conditional -# compilation will be performed. Macro expansion can be done in a controlled -# way by setting EXPAND_ONLY_PREDEF to YES. - -MACRO_EXPANSION = NO - -# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES -# then the macro expansion is limited to the macros specified with the -# PREDEFINED and EXPAND_AS_DEFINED tags. - -EXPAND_ONLY_PREDEF = NO - -# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files -# pointed to by INCLUDE_PATH will be searched when a #include is found. - -SEARCH_INCLUDES = YES - -# The INCLUDE_PATH tag can be used to specify one or more directories that -# contain include files that are not input files but should be processed by -# the preprocessor. - -INCLUDE_PATH = - -# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard -# patterns (like *.h and *.hpp) to filter out the header-files in the -# directories. If left blank, the patterns specified with FILE_PATTERNS will -# be used. - -INCLUDE_FILE_PATTERNS = - -# The PREDEFINED tag can be used to specify one or more macro names that -# are defined before the preprocessor is started (similar to the -D option of -# gcc). The argument of the tag is a list of macros of the form: name -# or name=definition (no spaces). If the definition and the = are -# omitted =1 is assumed. To prevent a macro definition from being -# undefined via #undef or recursively expanded use the := operator -# instead of the = operator. - -PREDEFINED = - -# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then -# this tag can be used to specify a list of macro names that should be expanded. -# The macro definition that is found in the sources will be used. -# Use the PREDEFINED tag if you want to use a different macro definition that -# overrules the definition found in the source code. - -EXPAND_AS_DEFINED = - -# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then -# doxygen's preprocessor will remove all references to function-like macros -# that are alone on a line, have an all uppercase name, and do not end with a -# semicolon, because these will confuse the parser if not removed. - -SKIP_FUNCTION_MACROS = YES - -#--------------------------------------------------------------------------- -# Configuration::additions related to external references -#--------------------------------------------------------------------------- - -# The TAGFILES option can be used to specify one or more tagfiles. For each -# tag file the location of the external documentation should be added. The -# format of a tag file without this location is as follows: -# -# TAGFILES = file1 file2 ... -# Adding location for the tag files is done as follows: -# -# TAGFILES = file1=loc1 "file2 = loc2" ... -# where "loc1" and "loc2" can be relative or absolute paths -# or URLs. Note that each tag file must have a unique name (where the name does -# NOT include the path). If a tag file is not located in the directory in which -# doxygen is run, you must also specify the path to the tagfile here. - -TAGFILES = - -# When a file name is specified after GENERATE_TAGFILE, doxygen will create -# a tag file that is based on the input files it reads. - -GENERATE_TAGFILE = - -# If the ALLEXTERNALS tag is set to YES all external classes will be listed -# in the class index. If set to NO only the inherited external classes -# will be listed. - -ALLEXTERNALS = NO - -# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed -# in the modules index. If set to NO, only the current project's groups will -# be listed. - -EXTERNAL_GROUPS = YES - -# The PERL_PATH should be the absolute path and name of the perl script -# interpreter (i.e. the result of `which perl'). - -PERL_PATH = /usr/bin/perl - -#--------------------------------------------------------------------------- -# Configuration options related to the dot tool -#--------------------------------------------------------------------------- - -# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will -# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base -# or super classes. Setting the tag to NO turns the diagrams off. Note that -# this option also works with HAVE_DOT disabled, but it is recommended to -# install and use dot, since it yields more powerful graphs. - -CLASS_DIAGRAMS = NO - -# You can define message sequence charts within doxygen comments using the \msc -# command. Doxygen will then run the mscgen tool (see -# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the -# documentation. The MSCGEN_PATH tag allows you to specify the directory where -# the mscgen tool resides. If left empty the tool is assumed to be found in the -# default search path. - -MSCGEN_PATH = - -# If set to YES, the inheritance and collaboration graphs will hide -# inheritance and usage relations if the target is undocumented -# or is not a class. - -HIDE_UNDOC_RELATIONS = YES - -# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is -# available from the path. This tool is part of Graphviz, a graph visualization -# toolkit from AT&T and Lucent Bell Labs. The other options in this section -# have no effect if this option is set to NO (the default) - -HAVE_DOT = NO - -# The DOT_NUM_THREADS specifies the number of dot invocations doxygen is -# allowed to run in parallel. When set to 0 (the default) doxygen will -# base this on the number of processors available in the system. You can set it -# explicitly to a value larger than 0 to get control over the balance -# between CPU load and processing speed. - -DOT_NUM_THREADS = 0 - -# By default doxygen will use the Helvetica font for all dot files that -# doxygen generates. When you want a differently looking font you can specify -# the font name using DOT_FONTNAME. You need to make sure dot is able to find -# the font, which can be done by putting it in a standard location or by setting -# the DOTFONTPATH environment variable or by setting DOT_FONTPATH to the -# directory containing the font. - -DOT_FONTNAME = FreeSans - -# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs. -# The default size is 10pt. - -DOT_FONTSIZE = 10 - -# By default doxygen will tell dot to use the Helvetica font. -# If you specify a different font using DOT_FONTNAME you can use DOT_FONTPATH to -# set the path where dot can find it. - -DOT_FONTPATH = - -# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect inheritance relations. Setting this tag to YES will force the -# CLASS_DIAGRAMS tag to NO. - -CLASS_GRAPH = NO - -# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect implementation dependencies (inheritance, containment, and -# class references variables) of the class with other documented classes. - -COLLABORATION_GRAPH = NO - -# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for groups, showing the direct groups dependencies - -GROUP_GRAPHS = YES - -# If the UML_LOOK tag is set to YES doxygen will generate inheritance and -# collaboration diagrams in a style similar to the OMG's Unified Modeling -# Language. - -UML_LOOK = NO - -# If the UML_LOOK tag is enabled, the fields and methods are shown inside -# the class node. If there are many fields or methods and many nodes the -# graph may become too big to be useful. The UML_LIMIT_NUM_FIELDS -# threshold limits the number of items for each type to make the size more -# managable. Set this to 0 for no limit. Note that the threshold may be -# exceeded by 50% before the limit is enforced. - -UML_LIMIT_NUM_FIELDS = 10 - -# If set to YES, the inheritance and collaboration graphs will show the -# relations between templates and their instances. - -TEMPLATE_RELATIONS = NO - -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT -# tags are set to YES then doxygen will generate a graph for each documented -# file showing the direct and indirect include dependencies of the file with -# other documented files. - -INCLUDE_GRAPH = NO - -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and -# HAVE_DOT tags are set to YES then doxygen will generate a graph for each -# documented header file showing the documented files that directly or -# indirectly include this file. - -INCLUDED_BY_GRAPH = NO - -# If the CALL_GRAPH and HAVE_DOT options are set to YES then -# doxygen will generate a call dependency graph for every global function -# or class method. Note that enabling this option will significantly increase -# the time of a run. So in most cases it will be better to enable call graphs -# for selected functions only using the \callgraph command. - -CALL_GRAPH = NO - -# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then -# doxygen will generate a caller dependency graph for every global function -# or class method. Note that enabling this option will significantly increase -# the time of a run. So in most cases it will be better to enable caller -# graphs for selected functions only using the \callergraph command. - -CALLER_GRAPH = NO - -# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen -# will generate a graphical hierarchy of all classes instead of a textual one. - -GRAPHICAL_HIERARCHY = NO - -# If the DIRECTORY_GRAPH and HAVE_DOT tags are set to YES -# then doxygen will show the dependencies a directory has on other directories -# in a graphical way. The dependency relations are determined by the #include -# relations between the files in the directories. - -DIRECTORY_GRAPH = NO - -# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images -# generated by dot. Possible values are svg, png, jpg, or gif. -# If left blank png will be used. If you choose svg you need to set -# HTML_FILE_EXTENSION to xhtml in order to make the SVG files -# visible in IE 9+ (other browsers do not have this requirement). - -DOT_IMAGE_FORMAT = png - -# If DOT_IMAGE_FORMAT is set to svg, then this option can be set to YES to -# enable generation of interactive SVG images that allow zooming and panning. -# Note that this requires a modern browser other than Internet Explorer. -# Tested and working are Firefox, Chrome, Safari, and Opera. For IE 9+ you -# need to set HTML_FILE_EXTENSION to xhtml in order to make the SVG files -# visible. Older versions of IE do not have SVG support. - -INTERACTIVE_SVG = NO - -# The tag DOT_PATH can be used to specify the path where the dot tool can be -# found. If left blank, it is assumed the dot tool can be found in the path. - -DOT_PATH = - -# The DOTFILE_DIRS tag can be used to specify one or more directories that -# contain dot files that are included in the documentation (see the -# \dotfile command). - -DOTFILE_DIRS = - -# The MSCFILE_DIRS tag can be used to specify one or more directories that -# contain msc files that are included in the documentation (see the -# \mscfile command). - -MSCFILE_DIRS = - -# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of -# nodes that will be shown in the graph. If the number of nodes in a graph -# becomes larger than this value, doxygen will truncate the graph, which is -# visualized by representing a node as a red box. Note that doxygen if the -# number of direct children of the root node in a graph is already larger than -# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note -# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH. - -DOT_GRAPH_MAX_NODES = 50 - -# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the -# graphs generated by dot. A depth value of 3 means that only nodes reachable -# from the root by following a path via at most 3 edges will be shown. Nodes -# that lay further from the root node will be omitted. Note that setting this -# option to 1 or 2 may greatly reduce the computation time needed for large -# code bases. Also note that the size of a graph can be further restricted by -# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction. - -MAX_DOT_GRAPH_DEPTH = 0 - -# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent -# background. This is disabled by default, because dot on Windows does not -# seem to support this out of the box. Warning: Depending on the platform used, -# enabling this option may lead to badly anti-aliased labels on the edges of -# a graph (i.e. they become hard to read). - -DOT_TRANSPARENT = NO - -# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output -# files in one run (i.e. multiple -o and -T options on the command line). This -# makes dot run faster, but since only newer versions of dot (>1.8.10) -# support this, this feature is disabled by default. - -DOT_MULTI_TARGETS = NO - -# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will -# generate a legend page explaining the meaning of the various boxes and -# arrows in the dot generated graphs. - -GENERATE_LEGEND = NO - -# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will -# remove the intermediate dot files that are used to generate -# the various graphs. - -DOT_CLEANUP = YES diff --git a/source/modules/lilv/sord-0.12.0/doc/sord_validate.1 b/source/modules/lilv/sord-0.12.0/doc/sord_validate.1 deleted file mode 100644 index 2682ac813..000000000 --- a/source/modules/lilv/sord-0.12.0/doc/sord_validate.1 +++ /dev/null @@ -1,57 +0,0 @@ -.TH SORD_VALIDATE 1 "21 Mar 2012" - -.SH NAME -.B sord_validate \- Validate RDF data - -.SH SYNOPSIS -sord_validate [OPTION]... INPUT... - -.SH OPTIONS -.TP -\fB\-h\fR -Print the command line options. - -.TP -\fB\-l\fR -Print errors on a single line. - -.TP -\fB\-v\fR -Display version information and exit. - -.SH DESCRIPTION -This is a simple validator which checks that all used properties are actually -defined, and that the domain and range of properties is explicitly correct. -Note that an "error" from this program does not necessarily mean data is -invalid, since it is not required to explicitly list types in RDF, however it -is a good idea to do so. - -This program never retrieves data from the web or magical places on the file -system, it only processes files passed directly on the command line. This -means you must pass all used vocabularies to get a useful result. - -If an appropriate schema is available, literals are checked against datatype -definitions (both the explicit datatype of the literal itself as well as any -types implied by the corresponding property). Three XML Schema Datatypes (XSD) -constraints are currently supported: regular expressions (xsd:pattern), and -inclusive range (xsd:minimumInclusive and xsd:maximumInclusive). Given an -appropriate schema, this is enough to validate against most of the standard XSD -datatypes. - -.SH EXAMPLES -sord_validate `find ~/schemas/ -name '*.ttl'` data.ttl - -.SH AUTHOR -sord_validate was written by David Robillard - -.SH COPYRIGHT -Copyright \(co 2012-2013 David Robillard. -.br -License: -.br -This is free software; you are free to change and redistribute it. -.br -There is NO WARRANTY, to the extent permitted by law. - -.SH "SEE ALSO" - diff --git a/source/modules/lilv/sord-0.12.0/doc/sordi.1 b/source/modules/lilv/sord-0.12.0/doc/sordi.1 deleted file mode 100644 index cc33e8a0c..000000000 --- a/source/modules/lilv/sord-0.12.0/doc/sordi.1 +++ /dev/null @@ -1,43 +0,0 @@ -.TH SORDI 1 "17 Jan 2012" - -.SH NAME -.B sordi \- Load and re-serialise RDF data - -.SH SYNOPSIS -sordi [OPTION]... INPUT BASE_URI - -.SH OPTIONS -.TP -\fB\-h\fR -Print the command line options. - -.TP -\fB\-i SYNTAX\fR -Read input in SYNTAX (`turtle' or `ntriples'). - -.TP -\fB\-o SYNTAX\fR -Write output in SYNTAX (`turtle' or `ntriples'). - -.TP -\fB\-s INPUT\fR -Parse INPUT as a string (terminates options). - -.TP -\fB\-v\fR -Display version information and exit. - -.SH AUTHOR -Sordi was written by David Robillard - -.SH COPYRIGHT -Copyright \(co 2011-2013 David Robillard. -.br -License: -.br -This is free software; you are free to change and redistribute it. -.br -There is NO WARRANTY, to the extent permitted by law. - -.SH "SEE ALSO" - diff --git a/source/modules/lilv/sord-0.12.0/doc/style.css b/source/modules/lilv/sord-0.12.0/doc/style.css deleted file mode 100644 index 4c62b46a8..000000000 --- a/source/modules/lilv/sord-0.12.0/doc/style.css +++ /dev/null @@ -1,563 +0,0 @@ -body { - font-size: medium; - font-family: sans-serif; -} - -#top { - background-color: #F3F3F3; - margin: 0; - padding: 0; - border-bottom: 1px solid #DDD; - margin-bottom: 1ex; - font-size: xx-large; - font-weight: bold; -} - -div.header { - display: none; -} - -.tabs { - display: none; -} - -h1 h2 h3 h4 h5 h6 { - font-weight: bold; -} - -h1 { - font-size: 164%; -} - -h2 { - font-size: 132%; -} - -h3 { - font-size: 124%; -} - -h4 { - font-size: 116%; -} - -h5 { - font-size: 108%; -} - -h6 { - font-size: 100%; -} - -p { - margin: 0 0 1ex 0; -} - -br { - display: none; -} - -dt { - font-weight: 700; -} - -div.multicol { -} - -p.startli,p.startdd,p.starttd { - margin-top: 2px; -} - -p.endli { - margin-bottom: 0; -} - -p.enddd { - margin-bottom: 4px; -} - -p.endtd { - margin-bottom: 2px; -} - -caption { - font-weight: 700; -} - -span.legend { - font-size: 70%; - text-align: center; -} - -h3.version { - font-size: 90%; - text-align: center; -} - -div.qindex,div.navtab { - background-color: #EBEFF6; - border: 1px solid #A3B4D7; - text-align: center; - margin: 2px; - padding: 2px; -} - -div.qindex,div.navpath { - width: 100%; - line-height: 140%; -} - -div.navtab { - margin-right: 15px; -} - -/* @group Link Styling */ -a { - color: #3D8C57; - text-decoration: none; -} - -.contents a:visited { - color: #50755E; -} - -a:hover { - text-decoration: underline; -} - -a.qindexHL { - background-color: #9CAFD4; - color: #FFF; - border: 1px double #869DCA; -} - -a.code { - color: #4665A2; -} - -a.codeRef { - color: #4665A2; -} - -/* @end */ -dl.el { - margin-left: -1cm; -} - -.fragment { - font-family: monospace, fixed; - font-size: 105%; -} - -pre.fragment { - border: 1px solid #C4C4C4; - background-color: #F9F9F9; - padding: 4px 6px; - margin: 4px 8px 4px 2px; - overflow: auto; - font-size: 9pt; - line-height: 125%; -} - -div.ah { - background-color: #000; - font-weight: 700; - color: #FFF; - margin-bottom: 3px; - margin-top: 3px; - padding: .2em; - border: thin solid #333; -} - -div.groupHeader { - margin-left: 16px; - margin-top: 12px; - margin-bottom: 6px; - font-weight: 700; -} - -div.groupText { - margin-left: 16px; - font-style: italic; -} - -body { - background: #FFF; - color: #000; - margin: 0; -} - -div.contents { - margin-top: 10px; - margin-left: 10px; - margin-right: 10px; -} - -td.indexkey { - background-color: #EBEFF6; - font-weight: 700; - border: 1px solid #C4CFE5; - margin: 2px 0; - padding: 2px 10px; -} - -td.indexvalue { - background-color: #EBEFF6; - border: 1px solid #C4CFE5; - padding: 2px 10px; - margin: 2px 0; -} - -tr.memlist { - background-color: #EEF1F7; -} - -p.formulaDsp { - text-align: center; -} - -img.formulaDsp { -} - -img.formulaInl { - vertical-align: middle; -} - -div.center { - text-align: center; - margin-top: 0; - margin-bottom: 0; - padding: 0; -} - -div.center img { - border: 0; -} - -address.footer { - text-align: right; - padding: 0 0.25em 0.25em 0; -} - -img.footer { - border: 0; - vertical-align: middle; -} - -/* @group Code Colorization */ -span.keyword { - color: green; -} - -span.keywordtype { - color: #604020; -} - -span.keywordflow { - color: #e08000; -} - -span.comment { - color: maroon; -} - -span.preprocessor { - color: #806020; -} - -span.stringliteral { - color: #002080; -} - -span.charliteral { - color: teal; -} - -span.vhdldigit { - color: #F0F; -} - -span.vhdlkeyword { - color: #700070; -} - -span.vhdllogic { - color: red; -} - -/* @end */ -td.tiny { - font-size: 75%; -} - -.dirtab { - padding: 4px; - border-collapse: collapse; - border: 1px solid #A3B4D7; -} - -th.dirtab { - background: #EBEFF6; - font-weight: 700; -} - -hr { - height: 0; - border: none; - border-top: 1px solid #DDD; - margin: 2em 0 1em; -} - -hr.footer { - height: 1px; -} - -/* @group Member Descriptions */ -table.memberdecls { - border-spacing: 0; - font-size: small; -} - -.mdescLeft,.mdescRight,.memItemLeft,.memItemRight,.memTemplItemLeft,.memTemplItemRight,.memTemplParams { - background-color: #FBFBFB; - margin: 0; - padding: 0.25ex; -} - -.mdescLeft,.mdescRight { - color: #555; -} - -.memItemLeft,.memItemRight,.memTemplParams { - border-top: 1px solid #DDD; -} - -.memItemLeft,.memTemplItemLeft { - white-space: nowrap; - padding-left: 2em; -} - -.memTemplParams { - color: #464646; - white-space: nowrap; -} - -/* @end */ -/* @group Member Details */ -/* Styles for detailed member documentation */ -.memtemplate { - font-size: 80%; - color: #4665A2; - font-weight: bold; -} - -.memnav { - background-color: #EBEFF6; - border: 1px solid #A3B4D7; - text-align: center; - margin: 2px; - margin-right: 15px; - padding: 2px; -} - -.memitem { - padding: 0; - margin: 1ex 0 2ex 0; - border: 1px solid #CCC; -} - -.memname { - white-space: nowrap; - font-weight: bold; -} - -.memproto { - border-bottom: 1px solid #DDD; - padding: 0.5ex; - font-weight: bold; - background-color: #F3F3F3; -} - -.memdoc { - padding: 1ex; - background-color: #FBFBFB; - border-top-width: 0; -} - -.paramkey { - text-align: right; -} - -.paramtype { - white-space: nowrap; -} - -.paramname { - color: #602020; - white-space: nowrap; -} - -.paramname em { - font-style: normal; -} - -/* @end */ -/* @group Directory (tree) */ -/* for the tree view */ -.ftvtree { - font-family: sans-serif; - margin: 0; -} - -/* these are for tree view when used as main index */ -.directory { - font-size: 9pt; - font-weight: bold; - margin: 5px; -} - -.directory h3 { - margin: 0; - margin-top: 1em; - font-size: 11pt; -} - -.directory > h3 { - margin-top: 0; -} - -.directory p { - margin: 0; - white-space: nowrap; -} - -.directory div { - display: none; - margin: 0; -} - -.directory img { - vertical-align: -30%; -} - -/* these are for tree view when not used as main index */ -.directory-alt { - font-size: 100%; - font-weight: bold; -} - -.directory-alt h3 { - margin: 0; - margin-top: 1em; - font-size: 11pt; -} - -.directory-alt > h3 { - margin-top: 0; -} - -.directory-alt p { - margin: 0; - white-space: nowrap; -} - -.directory-alt div { - display: none; - margin: 0; -} - -.directory-alt img { - vertical-align: -30%; -} - -/* @end */ -div.dynheader { - margin-top: 8px; -} - -address { - font-style: normal; - color: #2A3D61; -} - -table.doxtable { - border-collapse: collapse; - margin: 0.5ex; -} - -table.doxtable td,table.doxtable th { - border: 1px solid #DDD; - padding: 3px 7px 2px; -} - -table.doxtable th { - background-color: #F3F3F3; - color: #000; - padding-bottom: 4px; - padding-top: 5px; - text-align: left; - font-weight: bold; -} - -.tabsearch { - top: 0; - left: 10px; - height: 36px; - z-index: 101; - overflow: hidden; - font-size: 13px; -} - -.navpath ul { - font-size: 11px; - height: 30px; - line-height: 30px; - color: #8AA0CC; - border: 1px solid #C2CDE4; - overflow: hidden; - margin: 0; - padding: 0; -} - -.navpath li { - list-style-type: none; - float: left; - padding-left: 10px; - padding-right: 15px; - color: #364D7C; -} - -.navpath a { - height: 32px; - display: block; - text-decoration: none; - outline: none; -} - -.navpath a:hover { - color: #6884BD; -} - -div.summary { - float: right; - font-size: 8pt; - padding-right: 5px; - width: 50%; - text-align: right; -} - -div.summary a { - white-space: nowrap; -} - -div.header { - background-color: #F3F3F3; - margin: 0; - border-bottom: 1px solid #DDD; -} - -div.headertitle { - padding: 5px 5px 5px 10px; - font-size: 180%; - font-weight: bold; -} diff --git a/source/modules/lilv/sord-0.12.0/sord.pc.in b/source/modules/lilv/sord-0.12.0/sord.pc.in deleted file mode 100644 index da8a6016f..000000000 --- a/source/modules/lilv/sord-0.12.0/sord.pc.in +++ /dev/null @@ -1,11 +0,0 @@ -prefix=@PREFIX@ -exec_prefix=@EXEC_PREFIX@ -libdir=@LIBDIR@ -includedir=@INCLUDEDIR@ - -Name: Sord -Version: @SORD_VERSION@ -Description: A lightweight C library for storing RDF statements in memory. -Requires: @PKG_serd_0@ -Libs: -L${libdir} -l@LIB_SORD@ -Cflags: -I${includedir}/sord-@SORD_MAJOR_VERSION@ diff --git a/source/modules/lilv/sord-0.12.0/tests/README.txt b/source/modules/lilv/sord-0.12.0/tests/README.txt deleted file mode 100644 index 37460e60f..000000000 --- a/source/modules/lilv/sord-0.12.0/tests/README.txt +++ /dev/null @@ -1,20 +0,0 @@ -These are the tests for the Turtle Terse RDF Triple Language -that must be passed by conformant systems. See - http://www.dajobe.org/2004/01/turtle/ -for the full conformance information. - -The format is a set of good tests and bad tests. - -Good tests are a pair of files: - abc.ttl abc.out -which are the input Turtle file and the expected output RDF triples, -written in N-Triples. - -bad tests are of the form - bad-XX.ttl -which must fail. - -The tests should be performed with an assumed base URI -of http://www.w3.org/2001/sw/DataAccess/df1/tests/ - -Dave diff --git a/source/modules/lilv/sord-0.12.0/tests/UTF-8.ttl b/source/modules/lilv/sord-0.12.0/tests/UTF-8.ttl deleted file mode 100644 index 82587c578..000000000 --- a/source/modules/lilv/sord-0.12.0/tests/UTF-8.ttl +++ /dev/null @@ -1,219 +0,0 @@ -@prefix rdfs: . - -<> rdfs:comment """ -UTF-8 encoded sample plain-text file -‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ - -Markus Kuhn [ˈmaʳkʊs kuːn] — 2002-07-25 - - -The ASCII compatible UTF-8 encoding used in this plain-text file -is defined in Unicode, ISO 10646-1, and RFC 2279. - - -Using Unicode/UTF-8, you can write in emails and source code things such as - -Mathematics and sciences: - - ∮ E⋅da = Q, n → ∞, ∑ f(i) = ∏ g(i), ⎧⎡⎛┌─────┐⎞⎤⎫ - ⎪⎢⎜│a²+b³ ⎟⎥⎪ - ∀x∈ℝ: ⌈x⌉ = −⌊−x⌋, α ∧ ¬β = ¬(¬α ∨ β), ⎪⎢⎜│───── ⎟⎥⎪ - ⎪⎢⎜⎷ c₈ ⎟⎥⎪ - ℕ ⊆ ℕ₀ ⊂ ℤ ⊂ ℚ ⊂ ℝ ⊂ ℂ, ⎨⎢⎜ ⎟⎥⎬ - ⎪⎢⎜ ∞ ⎟⎥⎪ - ⊥ < a ≠ b ≡ c ≤ d ≪ ⊤ ⇒ (⟦A⟧ ⇔ ⟪B⟫), ⎪⎢⎜ ⎲ ⎟⎥⎪ - ⎪⎢⎜ ⎳aⁱ-bⁱ⎟⎥⎪ - 2H₂ + O₂ ⇌ 2H₂O, R = 4.7 kΩ, ⌀ 200 mm ⎩⎣⎝i=1 ⎠⎦⎭ - -Linguistics and dictionaries: - - ði ıntəˈnæʃənəl fəˈnɛtık əsoʊsiˈeıʃn - Y [ˈʏpsilɔn], Yen [jɛn], Yoga [ˈjoːgɑ] - -APL: - - ((V⍳V)=⍳⍴V)/V←,V ⌷←⍳→⍴∆∇⊃‾⍎⍕⌈ - -Nicer typography in plain text files: - - ╔══════════════════════════════════════════╗ - ║ ║ - ║ • ‘single’ and “double” quotes ║ - ║ ║ - ║ • Curly apostrophes: “We’ve been here” ║ - ║ ║ - ║ • Latin-1 apostrophe and accents: '´` ║ - ║ ║ - ║ • ‚deutsche‘ „Anführungszeichen“ ║ - ║ ║ - ║ • †, ‡, ‰, •, 3–4, —, −5/+5, ™, … ║ - ║ ║ - ║ • ASCII safety test: 1lI|, 0OD, 8B ║ - ║ ╭─────────╮ ║ - ║ • the euro symbol: │ 14.95 € │ ║ - ║ ╰─────────╯ ║ - ╚══════════════════════════════════════════╝ - -Combining characters: - - STARGΛ̊TE SG-1, a = v̇ = r̈, a⃑ ⊥ b⃑ - -Greek (in Polytonic): - - The Greek anthem: - - Σὲ γνωρίζω ἀπὸ τὴν κόψη - τοῦ σπαθιοῦ τὴν τρομερή, - σὲ γνωρίζω ἀπὸ τὴν ὄψη - ποὺ μὲ βία μετράει τὴ γῆ. - - ᾿Απ᾿ τὰ κόκκαλα βγαλμένη - τῶν ῾Ελλήνων τὰ ἱερά - καὶ σὰν πρῶτα ἀνδρειωμένη - χαῖρε, ὦ χαῖρε, ᾿Ελευθεριά! - - From a speech of Demosthenes in the 4th century BC: - - Οὐχὶ ταὐτὰ παρίσταταί μοι γιγνώσκειν, ὦ ἄνδρες ᾿Αθηναῖοι, - ὅταν τ᾿ εἰς τὰ πράγματα ἀποβλέψω καὶ ὅταν πρὸς τοὺς - λόγους οὓς ἀκούω· τοὺς μὲν γὰρ λόγους περὶ τοῦ - τιμωρήσασθαι Φίλιππον ὁρῶ γιγνομένους, τὰ δὲ πράγματ᾿ - εἰς τοῦτο προήκοντα, ὥσθ᾿ ὅπως μὴ πεισόμεθ᾿ αὐτοὶ - πρότερον κακῶς σκέψασθαι δέον. οὐδέν οὖν ἄλλο μοι δοκοῦσιν - οἱ τὰ τοιαῦτα λέγοντες ἢ τὴν ὑπόθεσιν, περὶ ἧς βουλεύεσθαι, - οὐχὶ τὴν οὖσαν παριστάντες ὑμῖν ἁμαρτάνειν. ἐγὼ δέ, ὅτι μέν - ποτ᾿ ἐξῆν τῇ πόλει καὶ τὰ αὑτῆς ἔχειν ἀσφαλῶς καὶ Φίλιππον - τιμωρήσασθαι, καὶ μάλ᾿ ἀκριβῶς οἶδα· ἐπ᾿ ἐμοῦ γάρ, οὐ πάλαι - γέγονεν ταῦτ᾿ ἀμφότερα· νῦν μέντοι πέπεισμαι τοῦθ᾿ ἱκανὸν - προλαβεῖν ἡμῖν εἶναι τὴν πρώτην, ὅπως τοὺς συμμάχους - σώσομεν. ἐὰν γὰρ τοῦτο βεβαίως ὑπάρξῃ, τότε καὶ περὶ τοῦ - τίνα τιμωρήσεταί τις καὶ ὃν τρόπον ἐξέσται σκοπεῖν· πρὶν δὲ - τὴν ἀρχὴν ὀρθῶς ὑποθέσθαι, μάταιον ἡγοῦμαι περὶ τῆς - τελευτῆς ὁντινοῦν ποιεῖσθαι λόγον. - - Δημοσθένους, Γ´ ᾿Ολυνθιακὸς - -Georgian: - - From a Unicode conference invitation: - - გთხოვთ ახლავე გაიაროთ რეგისტრაცია Unicode-ის მეათე საერთაშორისო - კონფერენციაზე დასასწრებად, რომელიც გაიმართება 10-12 მარტს, - ქ. მაინცში, გერმანიაში. კონფერენცია შეჰკრებს ერთად მსოფლიოს - ექსპერტებს ისეთ დარგებში როგორიცაა ინტერნეტი და Unicode-ი, - ინტერნაციონალიზაცია და ლოკალიზაცია, Unicode-ის გამოყენება - ოპერაციულ სისტემებსა, და გამოყენებით პროგრამებში, შრიფტებში, - ტექსტების დამუშავებასა და მრავალენოვან კომპიუტერულ სისტემებში. - -Russian: - - From a Unicode conference invitation: - - Зарегистрируйтесь сейчас на Десятую Международную Конференцию по - Unicode, которая состоится 10-12 марта 1997 года в Майнце в Германии. - Конференция соберет широкий круг экспертов по вопросам глобального - Интернета и Unicode, локализации и интернационализации, воплощению и - применению Unicode в различных операционных системах и программных - приложениях, шрифтах, верстке и многоязычных компьютерных системах. - -Thai (UCS Level 2): - - Excerpt from a poetry on The Romance of The Three Kingdoms (a Chinese - classic 'San Gua'): - - [----------------------------|------------------------] - ๏ แผ่นดินฮั่นเสื่อมโทรมแสนสังเวช พระปกเกศกองบู๊กู้ขึ้นใหม่ - สิบสองกษัตริย์ก่อนหน้าแลถัดไป สององค์ไซร้โง่เขลาเบาปัญญา - ทรงนับถือขันทีเป็นที่พึ่ง บ้านเมืองจึงวิปริตเป็นนักหนา - โฮจิ๋นเรียกทัพทั่วหัวเมืองมา หมายจะฆ่ามดชั่วตัวสำคัญ - เหมือนขับไสไล่เสือจากเคหา รับหมาป่าเข้ามาเลยอาสัญ - ฝ่ายอ้องอุ้นยุแยกให้แตกกัน ใช้สาวนั้นเป็นชนวนชื่นชวนใจ - พลันลิฉุยกุยกีกลับก่อเหตุ ช่างอาเพศจริงหนาฟ้าร้องไห้ - ต้องรบราฆ่าฟันจนบรรลัย ฤๅหาใครค้ำชูกู้บรรลังก์ ฯ - - (The above is a two-column text. If combining characters are handled - correctly, the lines of the second column should be aligned with the - | character above.) - -Ethiopian: - - Proverbs in the Amharic language: - - ሰማይ አይታረስ ንጉሥ አይከሰስ። - ብላ ካለኝ እንደአባቴ በቆመጠኝ። - ጌጥ ያለቤቱ ቁምጥና ነው። - ደሀ በሕልሙ ቅቤ ባይጠጣ ንጣት በገደለው። - የአፍ ወለምታ በቅቤ አይታሽም። - አይጥ በበላ ዳዋ ተመታ። - ሲተረጉሙ ይደረግሙ። - ቀስ በቀስ፥ ዕንቁላል በእግሩ ይሄዳል። - ድር ቢያብር አንበሳ ያስር። - ሰው እንደቤቱ እንጅ እንደ ጉረቤቱ አይተዳደርም። - እግዜር የከፈተውን ጉሮሮ ሳይዘጋው አይድርም። - የጎረቤት ሌባ፥ ቢያዩት ይስቅ ባያዩት ያጠልቅ። - ሥራ ከመፍታት ልጄን ላፋታት። - ዓባይ ማደሪያ የለው፥ ግንድ ይዞ ይዞራል። - የእስላም አገሩ መካ የአሞራ አገሩ ዋርካ። - ተንጋሎ ቢተፉ ተመልሶ ባፉ። - ወዳጅህ ማር ቢሆን ጨርስህ አትላሰው። - እግርህን በፍራሽህ ልክ ዘርጋ። - -Runes: - - ᚻᛖ ᚳᚹᚫᚦ ᚦᚫᛏ ᚻᛖ ᛒᚢᛞᛖ ᚩᚾ ᚦᚫᛗ ᛚᚪᚾᛞᛖ ᚾᚩᚱᚦᚹᛖᚪᚱᛞᚢᛗ ᚹᛁᚦ ᚦᚪ ᚹᛖᛥᚫ - - (Old English, which transcribed into Latin reads 'He cwaeth that he - bude thaem lande northweardum with tha Westsae.' and means 'He said - that he lived in the northern land near the Western Sea.') - -Braille: - - ⡌⠁⠧⠑ ⠼⠁⠒ ⡍⠜⠇⠑⠹⠰⠎ ⡣⠕⠌ - - ⡍⠜⠇⠑⠹ ⠺⠁⠎ ⠙⠑⠁⠙⠒ ⠞⠕ ⠃⠑⠛⠔ ⠺⠊⠹⠲ ⡹⠻⠑ ⠊⠎ ⠝⠕ ⠙⠳⠃⠞ - ⠱⠁⠞⠑⠧⠻ ⠁⠃⠳⠞ ⠹⠁⠞⠲ ⡹⠑ ⠗⠑⠛⠊⠌⠻ ⠕⠋ ⠙⠊⠎ ⠃⠥⠗⠊⠁⠇ ⠺⠁⠎ - ⠎⠊⠛⠝⠫ ⠃⠹ ⠹⠑ ⠊⠇⠻⠛⠹⠍⠁⠝⠂ ⠹⠑ ⠊⠇⠻⠅⠂ ⠹⠑ ⠥⠝⠙⠻⠞⠁⠅⠻⠂ - ⠁⠝⠙ ⠹⠑ ⠡⠊⠑⠋ ⠍⠳⠗⠝⠻⠲ ⡎⠊⠗⠕⠕⠛⠑ ⠎⠊⠛⠝⠫ ⠊⠞⠲ ⡁⠝⠙ - ⡎⠊⠗⠕⠕⠛⠑⠰⠎ ⠝⠁⠍⠑ ⠺⠁⠎ ⠛⠕⠕⠙ ⠥⠏⠕⠝ ⠰⡡⠁⠝⠛⠑⠂ ⠋⠕⠗ ⠁⠝⠹⠹⠔⠛ ⠙⠑ - ⠡⠕⠎⠑ ⠞⠕ ⠏⠥⠞ ⠙⠊⠎ ⠙⠁⠝⠙ ⠞⠕⠲ - - ⡕⠇⠙ ⡍⠜⠇⠑⠹ ⠺⠁⠎ ⠁⠎ ⠙⠑⠁⠙ ⠁⠎ ⠁ ⠙⠕⠕⠗⠤⠝⠁⠊⠇⠲ - - ⡍⠔⠙⠖ ⡊ ⠙⠕⠝⠰⠞ ⠍⠑⠁⠝ ⠞⠕ ⠎⠁⠹ ⠹⠁⠞ ⡊ ⠅⠝⠪⠂ ⠕⠋ ⠍⠹ - ⠪⠝ ⠅⠝⠪⠇⠫⠛⠑⠂ ⠱⠁⠞ ⠹⠻⠑ ⠊⠎ ⠏⠜⠞⠊⠊⠥⠇⠜⠇⠹ ⠙⠑⠁⠙ ⠁⠃⠳⠞ - ⠁ ⠙⠕⠕⠗⠤⠝⠁⠊⠇⠲ ⡊ ⠍⠊⠣⠞ ⠙⠁⠧⠑ ⠃⠑⠲ ⠔⠊⠇⠔⠫⠂ ⠍⠹⠎⠑⠇⠋⠂ ⠞⠕ - ⠗⠑⠛⠜⠙ ⠁ ⠊⠕⠋⠋⠔⠤⠝⠁⠊⠇ ⠁⠎ ⠹⠑ ⠙⠑⠁⠙⠑⠌ ⠏⠊⠑⠊⠑ ⠕⠋ ⠊⠗⠕⠝⠍⠕⠝⠛⠻⠹ - ⠔ ⠹⠑ ⠞⠗⠁⠙⠑⠲ ⡃⠥⠞ ⠹⠑ ⠺⠊⠎⠙⠕⠍ ⠕⠋ ⠳⠗ ⠁⠝⠊⠑⠌⠕⠗⠎ - ⠊⠎ ⠔ ⠹⠑ ⠎⠊⠍⠊⠇⠑⠆ ⠁⠝⠙ ⠍⠹ ⠥⠝⠙⠁⠇⠇⠪⠫ ⠙⠁⠝⠙⠎ - ⠩⠁⠇⠇ ⠝⠕⠞ ⠙⠊⠌⠥⠗⠃ ⠊⠞⠂ ⠕⠗ ⠹⠑ ⡊⠳⠝⠞⠗⠹⠰⠎ ⠙⠕⠝⠑ ⠋⠕⠗⠲ ⡹⠳ - ⠺⠊⠇⠇ ⠹⠻⠑⠋⠕⠗⠑ ⠏⠻⠍⠊⠞ ⠍⠑ ⠞⠕ ⠗⠑⠏⠑⠁⠞⠂ ⠑⠍⠏⠙⠁⠞⠊⠊⠁⠇⠇⠹⠂ ⠹⠁⠞ - ⡍⠜⠇⠑⠹ ⠺⠁⠎ ⠁⠎ ⠙⠑⠁⠙ ⠁⠎ ⠁ ⠙⠕⠕⠗⠤⠝⠁⠊⠇⠲ - - (The first couple of paragraphs of "A Christmas Carol" by Dickens) - -Compact font selection example text: - - ABCDEFGHIJKLMNOPQRSTUVWXYZ /0123456789 - abcdefghijklmnopqrstuvwxyz £©µÀÆÖÞßéöÿ - –—‘“”„†•…‰™œŠŸž€ ΑΒΓΔΩαβγδω АБВГДабвгд - ∀∂∈ℝ∧∪≡∞ ↑↗↨↻⇣ ┐┼╔╘░►☺♀ fi�⑀₂ἠḂӥẄɐː⍎אԱა - -Greetings in various languages: - - Hello world, Καλημέρα κόσμε, コンニチハ - -Box drawing alignment tests: █ - ▉ - ╔══╦══╗ ┌──┬──┐ ╭──┬──╮ ╭──┬──╮ ┏━━┳━━┓ ┎┒┏┑ ╷ ╻ ┏┯┓ ┌┰┐ ▊ ╱╲╱╲╳╳╳ - ║┌─╨─┐║ │╔═╧═╗│ │╒═╪═╕│ │╓─╁─╖│ ┃┌─╂─┐┃ ┗╃╄┙ ╶┼╴╺╋╸┠┼┨ ┝╋┥ ▋ ╲╱╲╱╳╳╳ - ║│╲ ╱│║ │║ ║│ ││ │ ││ │║ ┃ ║│ ┃│ ╿ │┃ ┍╅╆┓ ╵ ╹ ┗┷┛ └┸┘ ▌ ╱╲╱╲╳╳╳ - ╠╡ ╳ ╞╣ ├╢ ╟┤ ├┼─┼─┼┤ ├╫─╂─╫┤ ┣┿╾┼╼┿┫ ┕┛┖┚ ┌┄┄┐ ╎ ┏┅┅┓ ┋ ▍ ╲╱╲╱╳╳╳ - ║│╱ ╲│║ │║ ║│ ││ │ ││ │║ ┃ ║│ ┃│ ╽ │┃ ░░▒▒▓▓██ ┊ ┆ ╎ ╏ ┇ ┋ ▎ - ║└─╥─┘║ │╚═╤═╝│ │╘═╪═╛│ │╙─╀─╜│ ┃└─╂─┘┃ ░░▒▒▓▓██ ┊ ┆ ╎ ╏ ┇ ┋ ▏ - ╚══╩══╝ └──┴──┘ ╰──┴──╯ ╰──┴──╯ ┗━━┻━━┛ ▗▄▖▛▀▜ └╌╌┘ ╎ ┗╍╍┛ ┋ ▁▂▃▄▅▆▇█ - ▝▀▘▙▄▟ -""" . -<> rdfs:comment """ - Two byte Unicode escape: \u00E0 - Largest Unicode escape in Turtle: \U0010FFFF -""" . diff --git a/source/modules/lilv/sord-0.12.0/tests/manifest.ttl b/source/modules/lilv/sord-0.12.0/tests/manifest.ttl deleted file mode 100644 index 6a2cae262..000000000 --- a/source/modules/lilv/sord-0.12.0/tests/manifest.ttl +++ /dev/null @@ -1,215 +0,0 @@ -@prefix rdf: . -@prefix rdfs: . -@prefix mf: . -@prefix qt: . - -<> rdf:type mf:Manifest ; - rdfs:comment "Turtle good syntax test cases (must pass)" ; - mf:entries - ( - [ mf:name "test-00" ; - rdfs:comment "Blank subject" ; - mf:action [ qt:data ] ; - mf:result - ] - - [ mf:name "test-01" ; - rdfs:comment "@prefix and qnames" ; - mf:action [ qt:data ] ; - mf:result - ] - - [ mf:name "test-02" ; - rdfs:comment ", operator" ; - mf:action [ qt:data ] ; - mf:result - ] - - [ mf:name "test-03" ; - rdfs:comment "; operator" ; - mf:action [ qt:data ] ; - mf:result - ] - - [ mf:name "test-04" ; - rdfs:comment "empty [] as subject and object" ; - mf:action [ qt:data ] ; - mf:result - ] - - [ mf:name "test-05" ; - rdfs:comment "non-empty [] as subject and object" ; - mf:action [ qt:data ] ; - mf:result - ] - - [ mf:name "test-06" ; - rdfs:comment "'a' as predicate" ; - mf:action [ qt:data ] ; - mf:result - ] - - [ mf:name "test-07" ; - rdfs:comment "simple collection" ; - mf:action [ qt:data ] ; - mf:result - ] - - [ mf:name "test-08" ; - rdfs:comment "empty collection" ; - mf:action [ qt:data ] ; - mf:result - ] - - [ mf:name "test-09" ; - rdfs:comment "integer datatyped literal" ; - mf:action [ qt:data ] ; - mf:result - ] - - [ mf:name "test-10" ; - rdfs:comment "decimal integer canonicalization" ; - mf:action [ qt:data ] ; - mf:result - ] - - [ mf:name "test-11" ; - rdfs:comment "- and _ in names and qnames" ; - mf:action [ qt:data ] ; - mf:result - ] - - [ mf:name "test-12" ; - rdfs:comment "tests for rdf:_ and other qnames starting with _" ; - mf:action [ qt:data ] ; - mf:result - ] - - [ mf:name "test-13" ; - rdfs:comment "bare : allowed" ; - mf:action [ qt:data ] ; - mf:result - ] - - [ mf:name "test-14" ; - rdfs:comment "10000 triples, more than the default Bison stack size" ; - mf:action [ qt:data ] ; - mf:result - ] - - [ mf:name "test-15" ; - rdfs:comment "10000 triple objects (10000 triples)" ; - mf:action [ qt:data ] ; - mf:result - ] - - [ mf:name "test-16" ; - rdfs:comment "10000 items (10000 triples)" ; - mf:action [ qt:data ] ; - mf:result - ] - - [ mf:name "test-17" ; - rdfs:comment "simple long literal" ; - mf:action [ qt:data ] ; - mf:result - ] - - [ mf:name "test-18" ; - rdfs:comment "long literals with escapes" ; - mf:action [ qt:data ] ; - mf:result - ] - - [ mf:name "test-19" ; - rdfs:comment "floating point number" ; - mf:action [ qt:data ] ; - mf:result - ] - - [ mf:name "test-20" ; - rdfs:comment "empty literals, normal and long variant" ; - mf:action [ qt:data ] ; - mf:result - ] - - [ mf:name "test-21" ; - rdfs:comment "positive integer, decimal and doubles" ; - mf:action [ qt:data ] ; - mf:result - ] - - [ mf:name "test-22" ; - rdfs:comment "negative integer, decimal and doubles" ; - mf:action [ qt:data ] ; - mf:result - ] - - [ mf:name "test-23" ; - rdfs:comment "long literal ending in double quote" ; - mf:action [ qt:data ] ; - mf:result - ] - - [ mf:name "test-24" ; - rdfs:comment "boolean literals" ; - mf:action [ qt:data ] ; - mf:result - ] - - [ mf:name "test-25" ; - rdfs:comment "comments" ; - mf:action [ qt:data ] ; - mf:result - ] - - [ mf:name "test-26" ; - rdfs:comment "no final mewline" ; - mf:action [ qt:data ] ; - mf:result - ] - - [ mf:name "test-27" ; - rdfs:comment "duplicate prefix" ; - mf:action [ qt:data ] ; - mf:result - ] - - [ mf:name "test-28" ; - rdfs:comment "decimal data types (serializing test)" ; - mf:action [ qt:data ] ; - mf:result - ] - - [ mf:name "test-29" ; - rdfs:comment "Escaping U+0001 to U+007F in a URI" ; - mf:action [ qt:data ] ; - mf:result - ] - - [ mf:name "test-30" ; - rdfs:comment "@base" ; - mf:action [ qt:data ] ; - mf:result - ] - - [ mf:name "rdf-schema" ; - rdfs:comment "RDF Namespace document converted into Turtle" ; - mf:action [ qt:data ] ; - mf:result - ] - - [ mf:name "rdfs-namespace" ; - rdfs:comment "RDFS Namespace document converted into Turtle" ; - mf:action [ qt:data ] ; - mf:result - ] - - [ mf:name "rdfq-results" ; - rdfs:comment "Example query result from http://www.w3.org/2003/03/rdfqr-tests/recording-query-results.html" ; - mf:action [ qt:data ] ; - mf:result - ] - - # End of tests - ). diff --git a/source/modules/lilv/sord-0.12.0/tests/rdf-schema.out b/source/modules/lilv/sord-0.12.0/tests/rdf-schema.out deleted file mode 100644 index 94e14045a..000000000 --- a/source/modules/lilv/sord-0.12.0/tests/rdf-schema.out +++ /dev/null @@ -1,126 +0,0 @@ - . - "Indicates membership of a class" . - "type"@en . - "type"@fr . - . - . - "The concept of Class" . - "Class"@en . - "Classe"@fr . - . - . - "Properties used to express RDF Schema constraints." . - "ConstraintProperty"@en . - "Propri\u00E9t\u00E9Contrainte"@fr . - . - . - . - . - "Resources used to express RDF Schema constraints." . - "ConstraintResource"@en . - "RessourceContrainte"@fr . - . - . - "This represents the set Containers." . - "Container"@en . - "Enveloppe"@fr . - . - . - "ContainerMembershipProperty"@en . - . - . - . - "This represents the set of atomic values, eg. textual strings." . - "Literal"@en . - "Litt\u00E9ral"@fr . - . - "The most general class" . - "Resource"@en . - "Ressource"@fr . - . - "Use this for descriptions" . - . - "comment"@en . - "commentaire"@fr . - . - . - "This is how we associate a class with properties that its instances can have" . - "domain"@en . - "domaine"@fr . - . - "Indicates a resource containing and defining the subject resource." . - . - "esD\u00E9finiPar"@fr . - "isDefinedBy"@en . - . - . - . - "Provides a human-readable version of a resource name." . - . - "label"@en . - "label"@fr . - . - . - "Properties that can be used in a schema to provide constraints" . - . - "range"@en . - "\u00E9tendue"@fr . - . - . - "Indicates a resource that provides information about the subject resource." . - . - "seeAlso"@en . - "voirAussi"@fr . - . - . - "Indicates membership of a class" . - . - "sousClasseDe"@fr . - "subClassOf"@en . - . - . - "Indicates specialization of properties" . - . - "sousPropri\u00E9t\u00E9De"@fr . - "subPropertyOf"@en . - . - . - "Alt"@en . - "Choix"@fr . - . - . - "Bag"@en . - "Ensemble"@fr . - . - . - "The concept of a property." . - "Property"@en . - "Propri\u00E9t\u00E9"@fr . - . - . - "Sequence"@en . - "S\u00E9quence"@fr . - . - . - "This represents the set of reified statements." . - "D\u00E9claration"@fr . - "Statement"@en . - . - . - . - "object"@en . - "objet"@fr . - . - . - "predicate"@en . - "pr\u00E9dicat"@fr . - . - . - . - "subject"@en . - "sujet"@fr . - . - . - "object"@en . - "value"@fr . - . diff --git a/source/modules/lilv/sord-0.12.0/tests/rdf-schema.ttl b/source/modules/lilv/sord-0.12.0/tests/rdf-schema.ttl deleted file mode 100644 index 8a61794e6..000000000 --- a/source/modules/lilv/sord-0.12.0/tests/rdf-schema.ttl +++ /dev/null @@ -1,156 +0,0 @@ -# RDF Namespace document converted into Turtle - -@prefix : . -@prefix rdf: . - -rdf:type a rdf:Property; - :comment "Indicates membership of a class"; - :label "type"@en, - "type"@fr; - :range :Class . - -:Class a :Class; - :comment "The concept of Class"; - :label "Class"@en, - "Classe"@fr; - :subClassOf :Resource . - -:ConstraintProperty a :Class; - :comment "Properties used to express RDF Schema constraints."; - :label "ConstraintProperty"@en, - "Propri\u00E9t\u00E9Contrainte"@fr; - :subClassOf :ConstraintResource, - rdf:Property . - -:ConstraintResource a :Class, - :Class; - :comment "Resources used to express RDF Schema constraints."; - :label "ConstraintResource"@en, - "RessourceContrainte"@fr; - :subClassOf :Resource . - -:Container a :Class; - :comment "This represents the set Containers."; - :label "Container"@en, - "Enveloppe"@fr; - :subClassOf :Resource . - -:ContainerMembershipProperty a :Class; - :label "ContainerMembershipProperty"@en; - :subClassOf rdf:Property . - -:Literal a :Class, - :Class; - :comment "This represents the set of atomic values, eg. textual strings."; - :label "Literal"@en, - "Litt\u00E9ral"@fr . - -:Resource a :Class; - :comment "The most general class"; - :label "Resource"@en, - "Ressource"@fr . - -:comment a rdf:Property; - :comment "Use this for descriptions"; - :domain :Resource; - :label "comment"@en, - "commentaire"@fr; - :range :Literal . - -:domain a :ConstraintProperty; - :comment "This is how we associate a class with properties that its instances can have"; - :label "domain"@en, - "domaine"@fr . - -:isDefinedBy a rdf:Property; - :comment "Indicates a resource containing and defining the subject resource."; - :domain :Resource; - :label "esD\u00E9finiPar"@fr, - "isDefinedBy"@en; - :range :Resource; - :subPropertyOf :seeAlso . - -:label a rdf:Property; - :comment "Provides a human-readable version of a resource name."; - :domain :Resource; - :label "label"@en, - "label"@fr; - :range :Literal . - -:range a :ConstraintProperty; - :comment "Properties that can be used in a schema to provide constraints"; - :domain rdf:Property; - :label "range"@en, - "\u00E9tendue"@fr; - :range :Class . - -:seeAlso a rdf:Property; - :comment "Indicates a resource that provides information about the subject resource."; - :domain :Resource; - :label "seeAlso"@en, - "voirAussi"@fr; - :range :Resource . - -:subClassOf a rdf:Property; - :comment "Indicates membership of a class"; - :domain :Class; - :label "sousClasseDe"@fr, - "subClassOf"@en; - :range :Class . - -:subPropertyOf a rdf:Property; - :comment "Indicates specialization of properties"; - :domain rdf:Property; - :label "sousPropri\u00E9t\u00E9De"@fr, - "subPropertyOf"@en; - :range rdf:Property . - -rdf:Alt a :Class; - :label "Alt"@en, - "Choix"@fr; - :subClassOf :Container . - -rdf:Bag a :Class; - :label "Bag"@en, - "Ensemble"@fr; - :subClassOf :Container . - -rdf:Property a :Class; - :comment "The concept of a property."; - :label "Property"@en, - "Propri\u00E9t\u00E9"@fr; - :subClassOf :Resource . - -rdf:Seq a :Class; - :label "Sequence"@en, - "S\u00E9quence"@fr; - :subClassOf :Container . - -rdf:Statement a :Class; - :comment "This represents the set of reified statements."; - :label "D\u00E9claration"@fr, - "Statement"@en; - :subClassOf :Resource . - -rdf:object a rdf:Property; - :domain rdf:Statement; - :label "object"@en, - "objet"@fr . - -rdf:predicate a rdf:Property; - :domain rdf:Statement; - :label "predicate"@en, - "pr\u00E9dicat"@fr; - :range rdf:Property . - -rdf:subject a rdf:Property; - :domain rdf:Statement; - :label "subject"@en, - "sujet"@fr; - :range :Resource . - -rdf:value a rdf:Property; - :label "object"@en, - "value"@fr . - -: :seeAlso . diff --git a/source/modules/lilv/sord-0.12.0/tests/rdfq-results.out b/source/modules/lilv/sord-0.12.0/tests/rdfq-results.out deleted file mode 100644 index fb2542932..000000000 --- a/source/modules/lilv/sord-0.12.0/tests/rdfq-results.out +++ /dev/null @@ -1,36 +0,0 @@ -_:genid1 "x" . -_:genid1 "123"^^ . -_:genid2 "y" . -_:genid2 . -_:genid3 . -_:genid3 _:genid1 . -_:genid3 _:genid2 . -_:genid4 "x" . -_:genid4 "2003-01-21" . -_:genid5 "y" . -_:genid5 . -_:genid6 . -_:genid6 _:genid4 . -_:genid6 _:genid5 . -_:genid7 "x" . -_:genid7 "anon1" . -_:genid8 "y" . -_:genid8 _:a . -_:genid9 . -_:genid9 _:genid7 . -_:genid9 _:genid8 . -_:genid10 "x" . -_:genid10 "anon2" . -_:genid11 "y" . -_:genid11 _:a . -_:genid12 . -_:genid12 _:genid10 . -_:genid12 _:genid11 . - . - "4"^^ . - "x" . - "y" . - _:genid3 . - _:genid6 . - _:genid9 . - _:genid12 . diff --git a/source/modules/lilv/sord-0.12.0/tests/rdfq-results.ttl b/source/modules/lilv/sord-0.12.0/tests/rdfq-results.ttl deleted file mode 100644 index c6e72aa7e..000000000 --- a/source/modules/lilv/sord-0.12.0/tests/rdfq-results.ttl +++ /dev/null @@ -1,39 +0,0 @@ -# from http://www.w3.org/2003/03/rdfqr-tests/recording-query-results.html - -@prefix rdf: . -@prefix rs: . - - -<> rdf:type rs:ResultSet ; - rs:size 4 ; - rs:resultVariable "x" ; rs:resultVariable "y" ; - rs:solution - [ rdf:type rs:ResultSolution ; - rs:binding [ rs:variable "x" ; rs:value 123 ] ; - rs:binding [ rs:variable "y" ; rs:value ] - ] ; - - rs:solution - [ rdf:type rs:ResultSolution ; - rs:binding [ rs:variable "x" ; - rs:value "2003-01-21" ] ; - rs:binding [ rs:variable "y" ; - rs:value ] - ] ; - - rs:solution - [ rdf:type rs:ResultSolution ; - rs:binding [ rs:variable "x" ; - rs:value "anon1" ] ; - rs:binding [ rs:variable "y" ; - rs:value _:a ] - ] ; - - rs:solution - [ rdf:type rs:ResultSolution ; - rs:binding [ rs:variable "x" ; - rs:value "anon2" ] ; - rs:binding [ rs:variable "y" ; - rs:value _:a ] - ] ; - . diff --git a/source/modules/lilv/sord-0.12.0/tests/rdfs-namespace.out b/source/modules/lilv/sord-0.12.0/tests/rdfs-namespace.out deleted file mode 100644 index 4696f8cfb..000000000 --- a/source/modules/lilv/sord-0.12.0/tests/rdfs-namespace.out +++ /dev/null @@ -1,131 +0,0 @@ - . - "Indicates membership of a class" . - . - . - "type"@en . - . - . - "A collection of alternatives."@en . - . - "Alt"@en . - . - . - "An unordered collection."@en . - . - "Bag"@en . - . - . - "The concept of a property." . - . - "Property"@en . - . - . - "An ordered collection."@en . - . - "Seq"@en . - . - . - "The class of RDF statements." . - . - "Statement"@en . - . - . - "The object of an RDF statement." . - . - . - "object"@en . - . - "the predicate of an RDF statement." . - . - . - "predicate"@en . - . - . - "The subject of an RDF statement." . - . - . - "subject"@en . - . - . - "Identifies the principal value (usually a string) of a property when the property value is a structured resource" . - . - . - "value"@en . - . - . - "The concept of Class" . - . - "Class"@en . - . - . - "This represents the set Containers." . - . - "Container"@en . - . - . - "The container membership properties, rdf:1, rdf:2, ..., all of which are sub-properties of 'member'." . - . - "ContainerMembershipProperty"@en . - . - . - "This represents the set of atomic values, eg. textual strings." . - . - "Literal"@en . - . - "The class resource, everything." . - . - "Resource"@en . - . - "Use this for descriptions" . - . - . - "comment"@en . - . - . - "A domain class for a property type" . - . - . - "domain"@en . - . - . - "Indicates the namespace of a resource" . - . - . - "isDefinedBy"@en . - . - . - . - "Provides a human-readable version of a resource name." . - . - . - "label"@en . - . - . - "a member of a container" . - . - . - "member"@en . - . - "A range class for a property type" . - . - . - "range"@en . - . - . - "A resource that provides information about the subject resource" . - . - . - "seeAlso"@en . - . - . - "Indicates membership of a class" . - . - . - "subClassOf"@en . - . - . - "Indicates specialization of properties" . - . - . - "subPropertyOf"@en . - . diff --git a/source/modules/lilv/sord-0.12.0/tests/rdfs-namespace.ttl b/source/modules/lilv/sord-0.12.0/tests/rdfs-namespace.ttl deleted file mode 100644 index 0d73e6bf7..000000000 --- a/source/modules/lilv/sord-0.12.0/tests/rdfs-namespace.ttl +++ /dev/null @@ -1,160 +0,0 @@ -# RDFS Namespace document converted into Turtle - -@prefix : . -@prefix rdf: . - -rdf:type a rdf:Property; - :comment "Indicates membership of a class"; - :domain :Resource; - :isDefinedBy rdf:; - :label "type"@en; - :range :Class . - -rdf:Alt a :Class; - :comment "A collection of alternatives."@en; - :isDefinedBy rdf:; - :label "Alt"@en; - :subClassOf :Container . - -rdf:Bag a :Class; - :comment "An unordered collection."@en; - :isDefinedBy rdf:; - :label "Bag"@en; - :subClassOf :Container . - -rdf:Property a :Class; - :comment "The concept of a property."; - :isDefinedBy rdf:; - :label "Property"@en; - :subClassOf :Resource . - -rdf:Seq a :Class; - :comment "An ordered collection."@en; - :isDefinedBy rdf:; - :label "Seq"@en; - :subClassOf :Container . - -rdf:Statement a :Class; - :comment "The class of RDF statements."; - :isDefinedBy rdf:; - :label "Statement"@en; - :subClassOf :Resource . - -rdf:object a rdf:Property; - :comment "The object of an RDF statement."; - :domain rdf:Statement; - :isDefinedBy rdf:; - :label "object"@en . - -rdf:predicate a rdf:Property; - :comment "the predicate of an RDF statement."; - :domain rdf:Statement; - :isDefinedBy rdf:; - :label "predicate"@en; - :range rdf:Property . - -rdf:subject a rdf:Property; - :comment "The subject of an RDF statement."; - :domain rdf:Statement; - :isDefinedBy rdf:; - :label "subject"@en; - :range :Resource . - -rdf:value a rdf:Property; - :comment "Identifies the principal value (usually a string) of a property when the property value is a structured resource"; - :domain :Resource; - :isDefinedBy rdf:; - :label "value"@en . - -: :seeAlso . - -:Class a :Class; - :comment "The concept of Class"; - :isDefinedBy :; - :label "Class"@en; - :subClassOf :Resource . - -:Container a :Class; - :comment "This represents the set Containers."; - :isDefinedBy :; - :label "Container"@en; - :subClassOf :Resource . - -:ContainerMembershipProperty a :Class; - :comment "The container membership properties, rdf:1, rdf:2, ..., all of which are sub-properties of 'member'."; - :isDefinedBy :; - :label "ContainerMembershipProperty"@en; - :subClassOf rdf:Property . - -:Literal a :Class; - :comment "This represents the set of atomic values, eg. textual strings."; - :isDefinedBy :; - :label "Literal"@en . - -:Resource a :Class; - :comment "The class resource, everything."; - :isDefinedBy :; - :label "Resource"@en . - -:comment a rdf:Property; - :comment "Use this for descriptions"; - :domain :Resource; - :isDefinedBy :; - :label "comment"@en; - :range :Literal . - -:domain a rdf:Property; - :comment "A domain class for a property type"; - :domain rdf:Property; - :isDefinedBy :; - :label "domain"@en; - :range :Class . - -:isDefinedBy a rdf:Property; - :comment "Indicates the namespace of a resource"; - :domain :Resource; - :isDefinedBy :; - :label "isDefinedBy"@en; - :range :Resource; - :subPropertyOf :seeAlso . - -:label a rdf:Property; - :comment "Provides a human-readable version of a resource name."; - :domain :Resource; - :isDefinedBy :; - :label "label"@en; - :range :Literal . - -:member a rdf:Property; - :comment "a member of a container"; - :domain :Container; - :isDefinedBy :; - :label "member"@en . - -:range a rdf:Property; - :comment "A range class for a property type"; - :domain rdf:Property; - :isDefinedBy :; - :label "range"@en; - :range :Class . - -:seeAlso a rdf:Property; - :comment "A resource that provides information about the subject resource"; - :domain :Resource; - :isDefinedBy :; - :label "seeAlso"@en; - :range :Resource . - -:subClassOf a rdf:Property; - :comment "Indicates membership of a class"; - :domain :Class; - :isDefinedBy :; - :label "subClassOf"@en; - :range :Class . - -:subPropertyOf a rdf:Property; - :comment "Indicates specialization of properties"; - :domain rdf:Property; - :isDefinedBy :; - :label "subPropertyOf"@en; - :range rdf:Property . diff --git a/source/modules/lilv/sord-0.12.0/tests/test-00.out b/source/modules/lilv/sord-0.12.0/tests/test-00.out deleted file mode 100644 index 7f8b717e2..000000000 --- a/source/modules/lilv/sord-0.12.0/tests/test-00.out +++ /dev/null @@ -1 +0,0 @@ -_:genid1 . diff --git a/source/modules/lilv/sord-0.12.0/tests/test-00.ttl b/source/modules/lilv/sord-0.12.0/tests/test-00.ttl deleted file mode 100644 index 78da35e60..000000000 --- a/source/modules/lilv/sord-0.12.0/tests/test-00.ttl +++ /dev/null @@ -1,2 +0,0 @@ -@prefix : <#> . -[] :x :y . diff --git a/source/modules/lilv/sord-0.12.0/tests/test-01.out b/source/modules/lilv/sord-0.12.0/tests/test-01.out deleted file mode 100644 index 5ccb5bd20..000000000 --- a/source/modules/lilv/sord-0.12.0/tests/test-01.out +++ /dev/null @@ -1,3 +0,0 @@ - . - . - . diff --git a/source/modules/lilv/sord-0.12.0/tests/test-01.ttl b/source/modules/lilv/sord-0.12.0/tests/test-01.ttl deleted file mode 100644 index 9070d2c41..000000000 --- a/source/modules/lilv/sord-0.12.0/tests/test-01.ttl +++ /dev/null @@ -1,7 +0,0 @@ -# Test @prefix and qnames -@prefix : . -@prefix a: . -@prefix b: . -:a :b :c . -a:a a:b a:c . -:a a:a b:a . diff --git a/source/modules/lilv/sord-0.12.0/tests/test-02.out b/source/modules/lilv/sord-0.12.0/tests/test-02.out deleted file mode 100644 index 99732ab37..000000000 --- a/source/modules/lilv/sord-0.12.0/tests/test-02.out +++ /dev/null @@ -1,3 +0,0 @@ - . - . - . diff --git a/source/modules/lilv/sord-0.12.0/tests/test-02.ttl b/source/modules/lilv/sord-0.12.0/tests/test-02.ttl deleted file mode 100644 index a623f3c17..000000000 --- a/source/modules/lilv/sord-0.12.0/tests/test-02.ttl +++ /dev/null @@ -1,5 +0,0 @@ -# Test , operator -@prefix : . -:a :b :c, - :d, - :e . diff --git a/source/modules/lilv/sord-0.12.0/tests/test-03.out b/source/modules/lilv/sord-0.12.0/tests/test-03.out deleted file mode 100644 index d6ce9e8fe..000000000 --- a/source/modules/lilv/sord-0.12.0/tests/test-03.out +++ /dev/null @@ -1,3 +0,0 @@ - . - . - . diff --git a/source/modules/lilv/sord-0.12.0/tests/test-03.ttl b/source/modules/lilv/sord-0.12.0/tests/test-03.ttl deleted file mode 100644 index 9179fa508..000000000 --- a/source/modules/lilv/sord-0.12.0/tests/test-03.ttl +++ /dev/null @@ -1,5 +0,0 @@ -# Test ; operator -@prefix : . -:a :b :c ; - :d :e ; - :f :g . diff --git a/source/modules/lilv/sord-0.12.0/tests/test-04.out b/source/modules/lilv/sord-0.12.0/tests/test-04.out deleted file mode 100644 index 414e4b84b..000000000 --- a/source/modules/lilv/sord-0.12.0/tests/test-04.out +++ /dev/null @@ -1,2 +0,0 @@ -_:genid1 . - _:genid2 . diff --git a/source/modules/lilv/sord-0.12.0/tests/test-04.ttl b/source/modules/lilv/sord-0.12.0/tests/test-04.ttl deleted file mode 100644 index c51814793..000000000 --- a/source/modules/lilv/sord-0.12.0/tests/test-04.ttl +++ /dev/null @@ -1,4 +0,0 @@ -# Test empty [] operator; not allowed as predicate -@prefix : . -[] :a :b . -:c :d [] . diff --git a/source/modules/lilv/sord-0.12.0/tests/test-05.out b/source/modules/lilv/sord-0.12.0/tests/test-05.out deleted file mode 100644 index bf904178c..000000000 --- a/source/modules/lilv/sord-0.12.0/tests/test-05.out +++ /dev/null @@ -1,4 +0,0 @@ -_:genid1 . -_:genid1 . - _:genid2 . -_:genid2 . diff --git a/source/modules/lilv/sord-0.12.0/tests/test-05.ttl b/source/modules/lilv/sord-0.12.0/tests/test-05.ttl deleted file mode 100644 index adcbcabd0..000000000 --- a/source/modules/lilv/sord-0.12.0/tests/test-05.ttl +++ /dev/null @@ -1,4 +0,0 @@ -# Test non empty [] operator; not allowed as predicate -@prefix : . -[ :a :b ] :c :d . -:e :f [ :g :h ] . diff --git a/source/modules/lilv/sord-0.12.0/tests/test-06.out b/source/modules/lilv/sord-0.12.0/tests/test-06.out deleted file mode 100644 index 49961ea62..000000000 --- a/source/modules/lilv/sord-0.12.0/tests/test-06.out +++ /dev/null @@ -1 +0,0 @@ - . diff --git a/source/modules/lilv/sord-0.12.0/tests/test-06.ttl b/source/modules/lilv/sord-0.12.0/tests/test-06.ttl deleted file mode 100644 index 9c1005cc9..000000000 --- a/source/modules/lilv/sord-0.12.0/tests/test-06.ttl +++ /dev/null @@ -1,3 +0,0 @@ -# 'a' only allowed as a predicate -@prefix : . -:a a :b . diff --git a/source/modules/lilv/sord-0.12.0/tests/test-07.out b/source/modules/lilv/sord-0.12.0/tests/test-07.out deleted file mode 100644 index 4a4e8ee24..000000000 --- a/source/modules/lilv/sord-0.12.0/tests/test-07.out +++ /dev/null @@ -1,5 +0,0 @@ -_:genid1 "apple" . -_:genid1 _:genid2 . -_:genid2 "banana" . -_:genid2 . - _:genid1 . diff --git a/source/modules/lilv/sord-0.12.0/tests/test-07.ttl b/source/modules/lilv/sord-0.12.0/tests/test-07.ttl deleted file mode 100644 index 84559403b..000000000 --- a/source/modules/lilv/sord-0.12.0/tests/test-07.ttl +++ /dev/null @@ -1,3 +0,0 @@ -@prefix : . -:a :b ( "apple" "banana" ) . - diff --git a/source/modules/lilv/sord-0.12.0/tests/test-08.out b/source/modules/lilv/sord-0.12.0/tests/test-08.out deleted file mode 100644 index a77939cdd..000000000 --- a/source/modules/lilv/sord-0.12.0/tests/test-08.out +++ /dev/null @@ -1 +0,0 @@ - . diff --git a/source/modules/lilv/sord-0.12.0/tests/test-08.ttl b/source/modules/lilv/sord-0.12.0/tests/test-08.ttl deleted file mode 100644 index adce0a20f..000000000 --- a/source/modules/lilv/sord-0.12.0/tests/test-08.ttl +++ /dev/null @@ -1,3 +0,0 @@ -@prefix : . -:a :b ( ) . - diff --git a/source/modules/lilv/sord-0.12.0/tests/test-09.out b/source/modules/lilv/sord-0.12.0/tests/test-09.out deleted file mode 100644 index 5fdb90991..000000000 --- a/source/modules/lilv/sord-0.12.0/tests/test-09.out +++ /dev/null @@ -1,4 +0,0 @@ -_:hasParent . -_:genid1 . -_:genid1 _:hasParent . -_:genid1 "2"^^ . diff --git a/source/modules/lilv/sord-0.12.0/tests/test-09.ttl b/source/modules/lilv/sord-0.12.0/tests/test-09.ttl deleted file mode 100644 index 0afe1b0ae..000000000 --- a/source/modules/lilv/sord-0.12.0/tests/test-09.ttl +++ /dev/null @@ -1,10 +0,0 @@ -# Test integer datatyped literals using an OWL cardinality constraint -@prefix owl: . - -# based on examples in the OWL Reference - -_:hasParent a owl:ObjectProperty . - -[] a owl:Restriction ; - owl:onProperty _:hasParent ; - owl:maxCardinality 2 . diff --git a/source/modules/lilv/sord-0.12.0/tests/test-10.out b/source/modules/lilv/sord-0.12.0/tests/test-10.out deleted file mode 100644 index ff88aa6f4..000000000 --- a/source/modules/lilv/sord-0.12.0/tests/test-10.out +++ /dev/null @@ -1,5 +0,0 @@ - "000000"^^ . - "0"^^ . - "000001"^^ . - "2"^^ . - "4"^^ . diff --git a/source/modules/lilv/sord-0.12.0/tests/test-10.ttl b/source/modules/lilv/sord-0.12.0/tests/test-10.ttl deleted file mode 100644 index 5d36360ea..000000000 --- a/source/modules/lilv/sord-0.12.0/tests/test-10.ttl +++ /dev/null @@ -1,5 +0,0 @@ - 000000 . - 0 . - 000001 . - 2 . - 4 . diff --git a/source/modules/lilv/sord-0.12.0/tests/test-11.out b/source/modules/lilv/sord-0.12.0/tests/test-11.out deleted file mode 100644 index f936a5b66..000000000 --- a/source/modules/lilv/sord-0.12.0/tests/test-11.out +++ /dev/null @@ -1,4 +0,0 @@ - "a" . - "b" . - "c" . - "d" . diff --git a/source/modules/lilv/sord-0.12.0/tests/test-11.ttl b/source/modules/lilv/sord-0.12.0/tests/test-11.ttl deleted file mode 100644 index 3de1a43fa..000000000 --- a/source/modules/lilv/sord-0.12.0/tests/test-11.ttl +++ /dev/null @@ -1,10 +0,0 @@ -# Tests for - and _ in names, qnames -@prefix ex1: . -@prefix ex-2: . -@prefix ex3_: . -@prefix ex4-: . - -ex1:foo-bar ex1:foo_bar "a" . -ex-2:foo-bar ex-2:foo_bar "b" . -ex3_:foo-bar ex3_:foo_bar "c" . -ex4-:foo-bar ex4-:foo_bar "d" . diff --git a/source/modules/lilv/sord-0.12.0/tests/test-12.out b/source/modules/lilv/sord-0.12.0/tests/test-12.out deleted file mode 100644 index 67404a59a..000000000 --- a/source/modules/lilv/sord-0.12.0/tests/test-12.out +++ /dev/null @@ -1,4 +0,0 @@ - "1" . - "2" . - "def" . - "678" . diff --git a/source/modules/lilv/sord-0.12.0/tests/test-12.ttl b/source/modules/lilv/sord-0.12.0/tests/test-12.ttl deleted file mode 100644 index 1fed9f5e0..000000000 --- a/source/modules/lilv/sord-0.12.0/tests/test-12.ttl +++ /dev/null @@ -1,9 +0,0 @@ -# Tests for rdf:_ and other qnames starting with _ -@prefix rdf: . -@prefix ex: . -@prefix : . - -ex:foo rdf:_1 "1" . -ex:foo rdf:_2 "2" . -ex:foo :_abc "def" . -ex:foo :_345 "678" . diff --git a/source/modules/lilv/sord-0.12.0/tests/test-13.out b/source/modules/lilv/sord-0.12.0/tests/test-13.out deleted file mode 100644 index 9feb5ad00..000000000 --- a/source/modules/lilv/sord-0.12.0/tests/test-13.out +++ /dev/null @@ -1,2 +0,0 @@ -_:genid1 _:genid2 . - . diff --git a/source/modules/lilv/sord-0.12.0/tests/test-13.ttl b/source/modules/lilv/sord-0.12.0/tests/test-13.ttl deleted file mode 100644 index a8be95beb..000000000 --- a/source/modules/lilv/sord-0.12.0/tests/test-13.ttl +++ /dev/null @@ -1,7 +0,0 @@ -# Test for : allowed -@prefix : . - -[] : [] . - -: : : . - diff --git a/source/modules/lilv/sord-0.12.0/tests/test-14.out b/source/modules/lilv/sord-0.12.0/tests/test-14.out deleted file mode 100644 index 791b3a7ac..000000000 --- a/source/modules/lilv/sord-0.12.0/tests/test-14.out +++ /dev/null @@ -1,10000 +0,0 @@ - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . diff --git a/source/modules/lilv/sord-0.12.0/tests/test-14.ttl b/source/modules/lilv/sord-0.12.0/tests/test-14.ttl deleted file mode 100644 index ad9dbde88..000000000 --- a/source/modules/lilv/sord-0.12.0/tests/test-14.ttl +++ /dev/null @@ -1,10002 +0,0 @@ -# 10000 triples, more than the default Bison stack size -@prefix : . -:a1 :a1 :a1. -:a2 :a2 :a2. -:a3 :a3 :a3. -:a4 :a4 :a4. -:a5 :a5 :a5. -:a6 :a6 :a6. -:a7 :a7 :a7. -:a8 :a8 :a8. -:a9 :a9 :a9. -:a10 :a10 :a10. -:a11 :a11 :a11. -:a12 :a12 :a12. -:a13 :a13 :a13. -:a14 :a14 :a14. -:a15 :a15 :a15. -:a16 :a16 :a16. -:a17 :a17 :a17. -:a18 :a18 :a18. -:a19 :a19 :a19. -:a20 :a20 :a20. -:a21 :a21 :a21. -:a22 :a22 :a22. -:a23 :a23 :a23. -:a24 :a24 :a24. -:a25 :a25 :a25. -:a26 :a26 :a26. -:a27 :a27 :a27. -:a28 :a28 :a28. -:a29 :a29 :a29. -:a30 :a30 :a30. -:a31 :a31 :a31. -:a32 :a32 :a32. -:a33 :a33 :a33. -:a34 :a34 :a34. -:a35 :a35 :a35. -:a36 :a36 :a36. -:a37 :a37 :a37. -:a38 :a38 :a38. -:a39 :a39 :a39. -:a40 :a40 :a40. -:a41 :a41 :a41. -:a42 :a42 :a42. -:a43 :a43 :a43. -:a44 :a44 :a44. -:a45 :a45 :a45. -:a46 :a46 :a46. -:a47 :a47 :a47. -:a48 :a48 :a48. -:a49 :a49 :a49. -:a50 :a50 :a50. -:a51 :a51 :a51. -:a52 :a52 :a52. -:a53 :a53 :a53. -:a54 :a54 :a54. -:a55 :a55 :a55. -:a56 :a56 :a56. -:a57 :a57 :a57. -:a58 :a58 :a58. -:a59 :a59 :a59. -:a60 :a60 :a60. -:a61 :a61 :a61. -:a62 :a62 :a62. -:a63 :a63 :a63. -:a64 :a64 :a64. -:a65 :a65 :a65. -:a66 :a66 :a66. -:a67 :a67 :a67. -:a68 :a68 :a68. -:a69 :a69 :a69. -:a70 :a70 :a70. -:a71 :a71 :a71. -:a72 :a72 :a72. -:a73 :a73 :a73. -:a74 :a74 :a74. -:a75 :a75 :a75. -:a76 :a76 :a76. -:a77 :a77 :a77. -:a78 :a78 :a78. -:a79 :a79 :a79. -:a80 :a80 :a80. -:a81 :a81 :a81. -:a82 :a82 :a82. -:a83 :a83 :a83. -:a84 :a84 :a84. -:a85 :a85 :a85. -:a86 :a86 :a86. -:a87 :a87 :a87. -:a88 :a88 :a88. -:a89 :a89 :a89. -:a90 :a90 :a90. -:a91 :a91 :a91. -:a92 :a92 :a92. -:a93 :a93 :a93. -:a94 :a94 :a94. -:a95 :a95 :a95. -:a96 :a96 :a96. -:a97 :a97 :a97. -:a98 :a98 :a98. -:a99 :a99 :a99. -:a100 :a100 :a100. -:a101 :a101 :a101. -:a102 :a102 :a102. -:a103 :a103 :a103. -:a104 :a104 :a104. -:a105 :a105 :a105. -:a106 :a106 :a106. -:a107 :a107 :a107. -:a108 :a108 :a108. -:a109 :a109 :a109. -:a110 :a110 :a110. -:a111 :a111 :a111. -:a112 :a112 :a112. -:a113 :a113 :a113. -:a114 :a114 :a114. -:a115 :a115 :a115. -:a116 :a116 :a116. -:a117 :a117 :a117. -:a118 :a118 :a118. -:a119 :a119 :a119. -:a120 :a120 :a120. -:a121 :a121 :a121. -:a122 :a122 :a122. -:a123 :a123 :a123. -:a124 :a124 :a124. -:a125 :a125 :a125. -:a126 :a126 :a126. -:a127 :a127 :a127. -:a128 :a128 :a128. -:a129 :a129 :a129. -:a130 :a130 :a130. -:a131 :a131 :a131. -:a132 :a132 :a132. -:a133 :a133 :a133. -:a134 :a134 :a134. -:a135 :a135 :a135. -:a136 :a136 :a136. -:a137 :a137 :a137. -:a138 :a138 :a138. -:a139 :a139 :a139. -:a140 :a140 :a140. -:a141 :a141 :a141. -:a142 :a142 :a142. -:a143 :a143 :a143. -:a144 :a144 :a144. -:a145 :a145 :a145. -:a146 :a146 :a146. -:a147 :a147 :a147. -:a148 :a148 :a148. -:a149 :a149 :a149. -:a150 :a150 :a150. -:a151 :a151 :a151. -:a152 :a152 :a152. -:a153 :a153 :a153. -:a154 :a154 :a154. -:a155 :a155 :a155. -:a156 :a156 :a156. -:a157 :a157 :a157. -:a158 :a158 :a158. -:a159 :a159 :a159. -:a160 :a160 :a160. -:a161 :a161 :a161. -:a162 :a162 :a162. -:a163 :a163 :a163. -:a164 :a164 :a164. -:a165 :a165 :a165. -:a166 :a166 :a166. -:a167 :a167 :a167. -:a168 :a168 :a168. -:a169 :a169 :a169. -:a170 :a170 :a170. -:a171 :a171 :a171. -:a172 :a172 :a172. -:a173 :a173 :a173. -:a174 :a174 :a174. -:a175 :a175 :a175. -:a176 :a176 :a176. -:a177 :a177 :a177. -:a178 :a178 :a178. -:a179 :a179 :a179. -:a180 :a180 :a180. -:a181 :a181 :a181. -:a182 :a182 :a182. -:a183 :a183 :a183. -:a184 :a184 :a184. -:a185 :a185 :a185. -:a186 :a186 :a186. -:a187 :a187 :a187. -:a188 :a188 :a188. -:a189 :a189 :a189. -:a190 :a190 :a190. -:a191 :a191 :a191. -:a192 :a192 :a192. -:a193 :a193 :a193. -:a194 :a194 :a194. -:a195 :a195 :a195. -:a196 :a196 :a196. -:a197 :a197 :a197. -:a198 :a198 :a198. -:a199 :a199 :a199. -:a200 :a200 :a200. -:a201 :a201 :a201. -:a202 :a202 :a202. -:a203 :a203 :a203. -:a204 :a204 :a204. -:a205 :a205 :a205. -:a206 :a206 :a206. -:a207 :a207 :a207. -:a208 :a208 :a208. -:a209 :a209 :a209. -:a210 :a210 :a210. -:a211 :a211 :a211. -:a212 :a212 :a212. -:a213 :a213 :a213. -:a214 :a214 :a214. -:a215 :a215 :a215. -:a216 :a216 :a216. -:a217 :a217 :a217. -:a218 :a218 :a218. -:a219 :a219 :a219. -:a220 :a220 :a220. -:a221 :a221 :a221. -:a222 :a222 :a222. -:a223 :a223 :a223. -:a224 :a224 :a224. -:a225 :a225 :a225. -:a226 :a226 :a226. -:a227 :a227 :a227. -:a228 :a228 :a228. -:a229 :a229 :a229. -:a230 :a230 :a230. -:a231 :a231 :a231. -:a232 :a232 :a232. -:a233 :a233 :a233. -:a234 :a234 :a234. -:a235 :a235 :a235. -:a236 :a236 :a236. -:a237 :a237 :a237. -:a238 :a238 :a238. -:a239 :a239 :a239. -:a240 :a240 :a240. -:a241 :a241 :a241. -:a242 :a242 :a242. -:a243 :a243 :a243. -:a244 :a244 :a244. -:a245 :a245 :a245. -:a246 :a246 :a246. -:a247 :a247 :a247. -:a248 :a248 :a248. -:a249 :a249 :a249. -:a250 :a250 :a250. -:a251 :a251 :a251. -:a252 :a252 :a252. -:a253 :a253 :a253. -:a254 :a254 :a254. -:a255 :a255 :a255. -:a256 :a256 :a256. -:a257 :a257 :a257. -:a258 :a258 :a258. -:a259 :a259 :a259. -:a260 :a260 :a260. -:a261 :a261 :a261. -:a262 :a262 :a262. -:a263 :a263 :a263. -:a264 :a264 :a264. -:a265 :a265 :a265. -:a266 :a266 :a266. -:a267 :a267 :a267. -:a268 :a268 :a268. -:a269 :a269 :a269. -:a270 :a270 :a270. -:a271 :a271 :a271. -:a272 :a272 :a272. -:a273 :a273 :a273. -:a274 :a274 :a274. -:a275 :a275 :a275. -:a276 :a276 :a276. -:a277 :a277 :a277. -:a278 :a278 :a278. -:a279 :a279 :a279. -:a280 :a280 :a280. -:a281 :a281 :a281. -:a282 :a282 :a282. -:a283 :a283 :a283. -:a284 :a284 :a284. -:a285 :a285 :a285. -:a286 :a286 :a286. -:a287 :a287 :a287. -:a288 :a288 :a288. -:a289 :a289 :a289. -:a290 :a290 :a290. -:a291 :a291 :a291. -:a292 :a292 :a292. -:a293 :a293 :a293. -:a294 :a294 :a294. -:a295 :a295 :a295. -:a296 :a296 :a296. -:a297 :a297 :a297. -:a298 :a298 :a298. -:a299 :a299 :a299. -:a300 :a300 :a300. -:a301 :a301 :a301. -:a302 :a302 :a302. -:a303 :a303 :a303. -:a304 :a304 :a304. -:a305 :a305 :a305. -:a306 :a306 :a306. -:a307 :a307 :a307. -:a308 :a308 :a308. -:a309 :a309 :a309. -:a310 :a310 :a310. -:a311 :a311 :a311. -:a312 :a312 :a312. -:a313 :a313 :a313. -:a314 :a314 :a314. -:a315 :a315 :a315. -:a316 :a316 :a316. -:a317 :a317 :a317. -:a318 :a318 :a318. -:a319 :a319 :a319. -:a320 :a320 :a320. -:a321 :a321 :a321. -:a322 :a322 :a322. -:a323 :a323 :a323. -:a324 :a324 :a324. -:a325 :a325 :a325. -:a326 :a326 :a326. -:a327 :a327 :a327. -:a328 :a328 :a328. -:a329 :a329 :a329. -:a330 :a330 :a330. -:a331 :a331 :a331. -:a332 :a332 :a332. -:a333 :a333 :a333. -:a334 :a334 :a334. -:a335 :a335 :a335. -:a336 :a336 :a336. -:a337 :a337 :a337. -:a338 :a338 :a338. -:a339 :a339 :a339. -:a340 :a340 :a340. -:a341 :a341 :a341. -:a342 :a342 :a342. -:a343 :a343 :a343. -:a344 :a344 :a344. -:a345 :a345 :a345. -:a346 :a346 :a346. -:a347 :a347 :a347. -:a348 :a348 :a348. -:a349 :a349 :a349. -:a350 :a350 :a350. -:a351 :a351 :a351. -:a352 :a352 :a352. -:a353 :a353 :a353. -:a354 :a354 :a354. -:a355 :a355 :a355. -:a356 :a356 :a356. -:a357 :a357 :a357. -:a358 :a358 :a358. -:a359 :a359 :a359. -:a360 :a360 :a360. -:a361 :a361 :a361. -:a362 :a362 :a362. -:a363 :a363 :a363. -:a364 :a364 :a364. -:a365 :a365 :a365. -:a366 :a366 :a366. -:a367 :a367 :a367. -:a368 :a368 :a368. -:a369 :a369 :a369. -:a370 :a370 :a370. -:a371 :a371 :a371. -:a372 :a372 :a372. -:a373 :a373 :a373. -:a374 :a374 :a374. -:a375 :a375 :a375. -:a376 :a376 :a376. -:a377 :a377 :a377. -:a378 :a378 :a378. -:a379 :a379 :a379. -:a380 :a380 :a380. -:a381 :a381 :a381. -:a382 :a382 :a382. -:a383 :a383 :a383. -:a384 :a384 :a384. -:a385 :a385 :a385. -:a386 :a386 :a386. -:a387 :a387 :a387. -:a388 :a388 :a388. -:a389 :a389 :a389. -:a390 :a390 :a390. -:a391 :a391 :a391. -:a392 :a392 :a392. -:a393 :a393 :a393. -:a394 :a394 :a394. -:a395 :a395 :a395. -:a396 :a396 :a396. -:a397 :a397 :a397. -:a398 :a398 :a398. -:a399 :a399 :a399. -:a400 :a400 :a400. -:a401 :a401 :a401. -:a402 :a402 :a402. -:a403 :a403 :a403. -:a404 :a404 :a404. -:a405 :a405 :a405. -:a406 :a406 :a406. -:a407 :a407 :a407. -:a408 :a408 :a408. -:a409 :a409 :a409. -:a410 :a410 :a410. -:a411 :a411 :a411. -:a412 :a412 :a412. -:a413 :a413 :a413. -:a414 :a414 :a414. -:a415 :a415 :a415. -:a416 :a416 :a416. -:a417 :a417 :a417. -:a418 :a418 :a418. -:a419 :a419 :a419. -:a420 :a420 :a420. -:a421 :a421 :a421. -:a422 :a422 :a422. -:a423 :a423 :a423. -:a424 :a424 :a424. -:a425 :a425 :a425. -:a426 :a426 :a426. -:a427 :a427 :a427. -:a428 :a428 :a428. -:a429 :a429 :a429. -:a430 :a430 :a430. -:a431 :a431 :a431. -:a432 :a432 :a432. -:a433 :a433 :a433. -:a434 :a434 :a434. -:a435 :a435 :a435. -:a436 :a436 :a436. -:a437 :a437 :a437. -:a438 :a438 :a438. -:a439 :a439 :a439. -:a440 :a440 :a440. -:a441 :a441 :a441. -:a442 :a442 :a442. -:a443 :a443 :a443. -:a444 :a444 :a444. -:a445 :a445 :a445. -:a446 :a446 :a446. -:a447 :a447 :a447. -:a448 :a448 :a448. -:a449 :a449 :a449. -:a450 :a450 :a450. -:a451 :a451 :a451. -:a452 :a452 :a452. -:a453 :a453 :a453. -:a454 :a454 :a454. -:a455 :a455 :a455. -:a456 :a456 :a456. -:a457 :a457 :a457. -:a458 :a458 :a458. -:a459 :a459 :a459. -:a460 :a460 :a460. -:a461 :a461 :a461. -:a462 :a462 :a462. -:a463 :a463 :a463. -:a464 :a464 :a464. -:a465 :a465 :a465. -:a466 :a466 :a466. -:a467 :a467 :a467. -:a468 :a468 :a468. -:a469 :a469 :a469. -:a470 :a470 :a470. -:a471 :a471 :a471. -:a472 :a472 :a472. -:a473 :a473 :a473. -:a474 :a474 :a474. -:a475 :a475 :a475. -:a476 :a476 :a476. -:a477 :a477 :a477. -:a478 :a478 :a478. -:a479 :a479 :a479. -:a480 :a480 :a480. -:a481 :a481 :a481. -:a482 :a482 :a482. -:a483 :a483 :a483. -:a484 :a484 :a484. -:a485 :a485 :a485. -:a486 :a486 :a486. -:a487 :a487 :a487. -:a488 :a488 :a488. -:a489 :a489 :a489. -:a490 :a490 :a490. -:a491 :a491 :a491. -:a492 :a492 :a492. -:a493 :a493 :a493. -:a494 :a494 :a494. -:a495 :a495 :a495. -:a496 :a496 :a496. -:a497 :a497 :a497. -:a498 :a498 :a498. -:a499 :a499 :a499. -:a500 :a500 :a500. -:a501 :a501 :a501. -:a502 :a502 :a502. -:a503 :a503 :a503. -:a504 :a504 :a504. -:a505 :a505 :a505. -:a506 :a506 :a506. -:a507 :a507 :a507. -:a508 :a508 :a508. -:a509 :a509 :a509. -:a510 :a510 :a510. -:a511 :a511 :a511. -:a512 :a512 :a512. -:a513 :a513 :a513. -:a514 :a514 :a514. -:a515 :a515 :a515. -:a516 :a516 :a516. -:a517 :a517 :a517. -:a518 :a518 :a518. -:a519 :a519 :a519. -:a520 :a520 :a520. -:a521 :a521 :a521. -:a522 :a522 :a522. -:a523 :a523 :a523. -:a524 :a524 :a524. -:a525 :a525 :a525. -:a526 :a526 :a526. -:a527 :a527 :a527. -:a528 :a528 :a528. -:a529 :a529 :a529. -:a530 :a530 :a530. -:a531 :a531 :a531. -:a532 :a532 :a532. -:a533 :a533 :a533. -:a534 :a534 :a534. -:a535 :a535 :a535. -:a536 :a536 :a536. -:a537 :a537 :a537. -:a538 :a538 :a538. -:a539 :a539 :a539. -:a540 :a540 :a540. -:a541 :a541 :a541. -:a542 :a542 :a542. -:a543 :a543 :a543. -:a544 :a544 :a544. -:a545 :a545 :a545. -:a546 :a546 :a546. -:a547 :a547 :a547. -:a548 :a548 :a548. -:a549 :a549 :a549. -:a550 :a550 :a550. -:a551 :a551 :a551. -:a552 :a552 :a552. -:a553 :a553 :a553. -:a554 :a554 :a554. -:a555 :a555 :a555. -:a556 :a556 :a556. -:a557 :a557 :a557. -:a558 :a558 :a558. -:a559 :a559 :a559. -:a560 :a560 :a560. -:a561 :a561 :a561. -:a562 :a562 :a562. -:a563 :a563 :a563. -:a564 :a564 :a564. -:a565 :a565 :a565. -:a566 :a566 :a566. -:a567 :a567 :a567. -:a568 :a568 :a568. -:a569 :a569 :a569. -:a570 :a570 :a570. -:a571 :a571 :a571. -:a572 :a572 :a572. -:a573 :a573 :a573. -:a574 :a574 :a574. -:a575 :a575 :a575. -:a576 :a576 :a576. -:a577 :a577 :a577. -:a578 :a578 :a578. -:a579 :a579 :a579. -:a580 :a580 :a580. -:a581 :a581 :a581. -:a582 :a582 :a582. -:a583 :a583 :a583. -:a584 :a584 :a584. -:a585 :a585 :a585. -:a586 :a586 :a586. -:a587 :a587 :a587. -:a588 :a588 :a588. -:a589 :a589 :a589. -:a590 :a590 :a590. -:a591 :a591 :a591. -:a592 :a592 :a592. -:a593 :a593 :a593. -:a594 :a594 :a594. -:a595 :a595 :a595. -:a596 :a596 :a596. -:a597 :a597 :a597. -:a598 :a598 :a598. -:a599 :a599 :a599. -:a600 :a600 :a600. -:a601 :a601 :a601. -:a602 :a602 :a602. -:a603 :a603 :a603. -:a604 :a604 :a604. -:a605 :a605 :a605. -:a606 :a606 :a606. -:a607 :a607 :a607. -:a608 :a608 :a608. -:a609 :a609 :a609. -:a610 :a610 :a610. -:a611 :a611 :a611. -:a612 :a612 :a612. -:a613 :a613 :a613. -:a614 :a614 :a614. -:a615 :a615 :a615. -:a616 :a616 :a616. -:a617 :a617 :a617. -:a618 :a618 :a618. -:a619 :a619 :a619. -:a620 :a620 :a620. -:a621 :a621 :a621. -:a622 :a622 :a622. -:a623 :a623 :a623. -:a624 :a624 :a624. -:a625 :a625 :a625. -:a626 :a626 :a626. -:a627 :a627 :a627. -:a628 :a628 :a628. -:a629 :a629 :a629. -:a630 :a630 :a630. -:a631 :a631 :a631. -:a632 :a632 :a632. -:a633 :a633 :a633. -:a634 :a634 :a634. -:a635 :a635 :a635. -:a636 :a636 :a636. -:a637 :a637 :a637. -:a638 :a638 :a638. -:a639 :a639 :a639. -:a640 :a640 :a640. -:a641 :a641 :a641. -:a642 :a642 :a642. -:a643 :a643 :a643. -:a644 :a644 :a644. -:a645 :a645 :a645. -:a646 :a646 :a646. -:a647 :a647 :a647. -:a648 :a648 :a648. -:a649 :a649 :a649. -:a650 :a650 :a650. -:a651 :a651 :a651. -:a652 :a652 :a652. -:a653 :a653 :a653. -:a654 :a654 :a654. -:a655 :a655 :a655. -:a656 :a656 :a656. -:a657 :a657 :a657. -:a658 :a658 :a658. -:a659 :a659 :a659. -:a660 :a660 :a660. -:a661 :a661 :a661. -:a662 :a662 :a662. -:a663 :a663 :a663. -:a664 :a664 :a664. -:a665 :a665 :a665. -:a666 :a666 :a666. -:a667 :a667 :a667. -:a668 :a668 :a668. -:a669 :a669 :a669. -:a670 :a670 :a670. -:a671 :a671 :a671. -:a672 :a672 :a672. -:a673 :a673 :a673. -:a674 :a674 :a674. -:a675 :a675 :a675. -:a676 :a676 :a676. -:a677 :a677 :a677. -:a678 :a678 :a678. -:a679 :a679 :a679. -:a680 :a680 :a680. -:a681 :a681 :a681. -:a682 :a682 :a682. -:a683 :a683 :a683. -:a684 :a684 :a684. -:a685 :a685 :a685. -:a686 :a686 :a686. -:a687 :a687 :a687. -:a688 :a688 :a688. -:a689 :a689 :a689. -:a690 :a690 :a690. -:a691 :a691 :a691. -:a692 :a692 :a692. -:a693 :a693 :a693. -:a694 :a694 :a694. -:a695 :a695 :a695. -:a696 :a696 :a696. -:a697 :a697 :a697. -:a698 :a698 :a698. -:a699 :a699 :a699. -:a700 :a700 :a700. -:a701 :a701 :a701. -:a702 :a702 :a702. -:a703 :a703 :a703. -:a704 :a704 :a704. -:a705 :a705 :a705. -:a706 :a706 :a706. -:a707 :a707 :a707. -:a708 :a708 :a708. -:a709 :a709 :a709. -:a710 :a710 :a710. -:a711 :a711 :a711. -:a712 :a712 :a712. -:a713 :a713 :a713. -:a714 :a714 :a714. -:a715 :a715 :a715. -:a716 :a716 :a716. -:a717 :a717 :a717. -:a718 :a718 :a718. -:a719 :a719 :a719. -:a720 :a720 :a720. -:a721 :a721 :a721. -:a722 :a722 :a722. -:a723 :a723 :a723. -:a724 :a724 :a724. -:a725 :a725 :a725. -:a726 :a726 :a726. -:a727 :a727 :a727. -:a728 :a728 :a728. -:a729 :a729 :a729. -:a730 :a730 :a730. -:a731 :a731 :a731. -:a732 :a732 :a732. -:a733 :a733 :a733. -:a734 :a734 :a734. -:a735 :a735 :a735. -:a736 :a736 :a736. -:a737 :a737 :a737. -:a738 :a738 :a738. -:a739 :a739 :a739. -:a740 :a740 :a740. -:a741 :a741 :a741. -:a742 :a742 :a742. -:a743 :a743 :a743. -:a744 :a744 :a744. -:a745 :a745 :a745. -:a746 :a746 :a746. -:a747 :a747 :a747. -:a748 :a748 :a748. -:a749 :a749 :a749. -:a750 :a750 :a750. -:a751 :a751 :a751. -:a752 :a752 :a752. -:a753 :a753 :a753. -:a754 :a754 :a754. -:a755 :a755 :a755. -:a756 :a756 :a756. -:a757 :a757 :a757. -:a758 :a758 :a758. -:a759 :a759 :a759. -:a760 :a760 :a760. -:a761 :a761 :a761. -:a762 :a762 :a762. -:a763 :a763 :a763. -:a764 :a764 :a764. -:a765 :a765 :a765. -:a766 :a766 :a766. -:a767 :a767 :a767. -:a768 :a768 :a768. -:a769 :a769 :a769. -:a770 :a770 :a770. -:a771 :a771 :a771. -:a772 :a772 :a772. -:a773 :a773 :a773. -:a774 :a774 :a774. -:a775 :a775 :a775. -:a776 :a776 :a776. -:a777 :a777 :a777. -:a778 :a778 :a778. -:a779 :a779 :a779. -:a780 :a780 :a780. -:a781 :a781 :a781. -:a782 :a782 :a782. -:a783 :a783 :a783. -:a784 :a784 :a784. -:a785 :a785 :a785. -:a786 :a786 :a786. -:a787 :a787 :a787. -:a788 :a788 :a788. -:a789 :a789 :a789. -:a790 :a790 :a790. -:a791 :a791 :a791. -:a792 :a792 :a792. -:a793 :a793 :a793. -:a794 :a794 :a794. -:a795 :a795 :a795. -:a796 :a796 :a796. -:a797 :a797 :a797. -:a798 :a798 :a798. -:a799 :a799 :a799. -:a800 :a800 :a800. -:a801 :a801 :a801. -:a802 :a802 :a802. -:a803 :a803 :a803. -:a804 :a804 :a804. -:a805 :a805 :a805. -:a806 :a806 :a806. -:a807 :a807 :a807. -:a808 :a808 :a808. -:a809 :a809 :a809. -:a810 :a810 :a810. -:a811 :a811 :a811. -:a812 :a812 :a812. -:a813 :a813 :a813. -:a814 :a814 :a814. -:a815 :a815 :a815. -:a816 :a816 :a816. -:a817 :a817 :a817. -:a818 :a818 :a818. -:a819 :a819 :a819. -:a820 :a820 :a820. -:a821 :a821 :a821. -:a822 :a822 :a822. -:a823 :a823 :a823. -:a824 :a824 :a824. -:a825 :a825 :a825. -:a826 :a826 :a826. -:a827 :a827 :a827. -:a828 :a828 :a828. -:a829 :a829 :a829. -:a830 :a830 :a830. -:a831 :a831 :a831. -:a832 :a832 :a832. -:a833 :a833 :a833. -:a834 :a834 :a834. -:a835 :a835 :a835. -:a836 :a836 :a836. -:a837 :a837 :a837. -:a838 :a838 :a838. -:a839 :a839 :a839. -:a840 :a840 :a840. -:a841 :a841 :a841. -:a842 :a842 :a842. -:a843 :a843 :a843. -:a844 :a844 :a844. -:a845 :a845 :a845. -:a846 :a846 :a846. -:a847 :a847 :a847. -:a848 :a848 :a848. -:a849 :a849 :a849. -:a850 :a850 :a850. -:a851 :a851 :a851. -:a852 :a852 :a852. -:a853 :a853 :a853. -:a854 :a854 :a854. -:a855 :a855 :a855. -:a856 :a856 :a856. -:a857 :a857 :a857. -:a858 :a858 :a858. -:a859 :a859 :a859. -:a860 :a860 :a860. -:a861 :a861 :a861. -:a862 :a862 :a862. -:a863 :a863 :a863. -:a864 :a864 :a864. -:a865 :a865 :a865. -:a866 :a866 :a866. -:a867 :a867 :a867. -:a868 :a868 :a868. -:a869 :a869 :a869. -:a870 :a870 :a870. -:a871 :a871 :a871. -:a872 :a872 :a872. -:a873 :a873 :a873. -:a874 :a874 :a874. -:a875 :a875 :a875. -:a876 :a876 :a876. -:a877 :a877 :a877. -:a878 :a878 :a878. -:a879 :a879 :a879. -:a880 :a880 :a880. -:a881 :a881 :a881. -:a882 :a882 :a882. -:a883 :a883 :a883. -:a884 :a884 :a884. -:a885 :a885 :a885. -:a886 :a886 :a886. -:a887 :a887 :a887. -:a888 :a888 :a888. -:a889 :a889 :a889. -:a890 :a890 :a890. -:a891 :a891 :a891. -:a892 :a892 :a892. -:a893 :a893 :a893. -:a894 :a894 :a894. -:a895 :a895 :a895. -:a896 :a896 :a896. -:a897 :a897 :a897. -:a898 :a898 :a898. -:a899 :a899 :a899. -:a900 :a900 :a900. -:a901 :a901 :a901. -:a902 :a902 :a902. -:a903 :a903 :a903. -:a904 :a904 :a904. -:a905 :a905 :a905. -:a906 :a906 :a906. -:a907 :a907 :a907. -:a908 :a908 :a908. -:a909 :a909 :a909. -:a910 :a910 :a910. -:a911 :a911 :a911. -:a912 :a912 :a912. -:a913 :a913 :a913. -:a914 :a914 :a914. -:a915 :a915 :a915. -:a916 :a916 :a916. -:a917 :a917 :a917. -:a918 :a918 :a918. -:a919 :a919 :a919. -:a920 :a920 :a920. -:a921 :a921 :a921. -:a922 :a922 :a922. -:a923 :a923 :a923. -:a924 :a924 :a924. -:a925 :a925 :a925. -:a926 :a926 :a926. -:a927 :a927 :a927. -:a928 :a928 :a928. -:a929 :a929 :a929. -:a930 :a930 :a930. -:a931 :a931 :a931. -:a932 :a932 :a932. -:a933 :a933 :a933. -:a934 :a934 :a934. -:a935 :a935 :a935. -:a936 :a936 :a936. -:a937 :a937 :a937. -:a938 :a938 :a938. -:a939 :a939 :a939. -:a940 :a940 :a940. -:a941 :a941 :a941. -:a942 :a942 :a942. -:a943 :a943 :a943. -:a944 :a944 :a944. -:a945 :a945 :a945. -:a946 :a946 :a946. -:a947 :a947 :a947. -:a948 :a948 :a948. -:a949 :a949 :a949. -:a950 :a950 :a950. -:a951 :a951 :a951. -:a952 :a952 :a952. -:a953 :a953 :a953. -:a954 :a954 :a954. -:a955 :a955 :a955. -:a956 :a956 :a956. -:a957 :a957 :a957. -:a958 :a958 :a958. -:a959 :a959 :a959. -:a960 :a960 :a960. -:a961 :a961 :a961. -:a962 :a962 :a962. -:a963 :a963 :a963. -:a964 :a964 :a964. -:a965 :a965 :a965. -:a966 :a966 :a966. -:a967 :a967 :a967. -:a968 :a968 :a968. -:a969 :a969 :a969. -:a970 :a970 :a970. -:a971 :a971 :a971. -:a972 :a972 :a972. -:a973 :a973 :a973. -:a974 :a974 :a974. -:a975 :a975 :a975. -:a976 :a976 :a976. -:a977 :a977 :a977. -:a978 :a978 :a978. -:a979 :a979 :a979. -:a980 :a980 :a980. -:a981 :a981 :a981. -:a982 :a982 :a982. -:a983 :a983 :a983. -:a984 :a984 :a984. -:a985 :a985 :a985. -:a986 :a986 :a986. -:a987 :a987 :a987. -:a988 :a988 :a988. -:a989 :a989 :a989. -:a990 :a990 :a990. -:a991 :a991 :a991. -:a992 :a992 :a992. -:a993 :a993 :a993. -:a994 :a994 :a994. -:a995 :a995 :a995. -:a996 :a996 :a996. -:a997 :a997 :a997. -:a998 :a998 :a998. -:a999 :a999 :a999. -:a1000 :a1000 :a1000. -:a1001 :a1001 :a1001. -:a1002 :a1002 :a1002. -:a1003 :a1003 :a1003. -:a1004 :a1004 :a1004. -:a1005 :a1005 :a1005. -:a1006 :a1006 :a1006. -:a1007 :a1007 :a1007. -:a1008 :a1008 :a1008. -:a1009 :a1009 :a1009. -:a1010 :a1010 :a1010. -:a1011 :a1011 :a1011. -:a1012 :a1012 :a1012. -:a1013 :a1013 :a1013. -:a1014 :a1014 :a1014. -:a1015 :a1015 :a1015. -:a1016 :a1016 :a1016. -:a1017 :a1017 :a1017. -:a1018 :a1018 :a1018. -:a1019 :a1019 :a1019. -:a1020 :a1020 :a1020. -:a1021 :a1021 :a1021. -:a1022 :a1022 :a1022. -:a1023 :a1023 :a1023. -:a1024 :a1024 :a1024. -:a1025 :a1025 :a1025. -:a1026 :a1026 :a1026. -:a1027 :a1027 :a1027. -:a1028 :a1028 :a1028. -:a1029 :a1029 :a1029. -:a1030 :a1030 :a1030. -:a1031 :a1031 :a1031. -:a1032 :a1032 :a1032. -:a1033 :a1033 :a1033. -:a1034 :a1034 :a1034. -:a1035 :a1035 :a1035. -:a1036 :a1036 :a1036. -:a1037 :a1037 :a1037. -:a1038 :a1038 :a1038. -:a1039 :a1039 :a1039. -:a1040 :a1040 :a1040. -:a1041 :a1041 :a1041. -:a1042 :a1042 :a1042. -:a1043 :a1043 :a1043. -:a1044 :a1044 :a1044. -:a1045 :a1045 :a1045. -:a1046 :a1046 :a1046. -:a1047 :a1047 :a1047. -:a1048 :a1048 :a1048. -:a1049 :a1049 :a1049. -:a1050 :a1050 :a1050. -:a1051 :a1051 :a1051. -:a1052 :a1052 :a1052. -:a1053 :a1053 :a1053. -:a1054 :a1054 :a1054. -:a1055 :a1055 :a1055. -:a1056 :a1056 :a1056. -:a1057 :a1057 :a1057. -:a1058 :a1058 :a1058. -:a1059 :a1059 :a1059. -:a1060 :a1060 :a1060. -:a1061 :a1061 :a1061. -:a1062 :a1062 :a1062. -:a1063 :a1063 :a1063. -:a1064 :a1064 :a1064. -:a1065 :a1065 :a1065. -:a1066 :a1066 :a1066. -:a1067 :a1067 :a1067. -:a1068 :a1068 :a1068. -:a1069 :a1069 :a1069. -:a1070 :a1070 :a1070. -:a1071 :a1071 :a1071. -:a1072 :a1072 :a1072. -:a1073 :a1073 :a1073. -:a1074 :a1074 :a1074. -:a1075 :a1075 :a1075. -:a1076 :a1076 :a1076. -:a1077 :a1077 :a1077. -:a1078 :a1078 :a1078. -:a1079 :a1079 :a1079. -:a1080 :a1080 :a1080. -:a1081 :a1081 :a1081. -:a1082 :a1082 :a1082. -:a1083 :a1083 :a1083. -:a1084 :a1084 :a1084. -:a1085 :a1085 :a1085. -:a1086 :a1086 :a1086. -:a1087 :a1087 :a1087. -:a1088 :a1088 :a1088. -:a1089 :a1089 :a1089. -:a1090 :a1090 :a1090. -:a1091 :a1091 :a1091. -:a1092 :a1092 :a1092. -:a1093 :a1093 :a1093. -:a1094 :a1094 :a1094. -:a1095 :a1095 :a1095. -:a1096 :a1096 :a1096. -:a1097 :a1097 :a1097. -:a1098 :a1098 :a1098. -:a1099 :a1099 :a1099. -:a1100 :a1100 :a1100. -:a1101 :a1101 :a1101. -:a1102 :a1102 :a1102. -:a1103 :a1103 :a1103. -:a1104 :a1104 :a1104. -:a1105 :a1105 :a1105. -:a1106 :a1106 :a1106. -:a1107 :a1107 :a1107. -:a1108 :a1108 :a1108. -:a1109 :a1109 :a1109. -:a1110 :a1110 :a1110. -:a1111 :a1111 :a1111. -:a1112 :a1112 :a1112. -:a1113 :a1113 :a1113. -:a1114 :a1114 :a1114. -:a1115 :a1115 :a1115. -:a1116 :a1116 :a1116. -:a1117 :a1117 :a1117. -:a1118 :a1118 :a1118. -:a1119 :a1119 :a1119. -:a1120 :a1120 :a1120. -:a1121 :a1121 :a1121. -:a1122 :a1122 :a1122. -:a1123 :a1123 :a1123. -:a1124 :a1124 :a1124. -:a1125 :a1125 :a1125. -:a1126 :a1126 :a1126. -:a1127 :a1127 :a1127. -:a1128 :a1128 :a1128. -:a1129 :a1129 :a1129. -:a1130 :a1130 :a1130. -:a1131 :a1131 :a1131. -:a1132 :a1132 :a1132. -:a1133 :a1133 :a1133. -:a1134 :a1134 :a1134. -:a1135 :a1135 :a1135. -:a1136 :a1136 :a1136. -:a1137 :a1137 :a1137. -:a1138 :a1138 :a1138. -:a1139 :a1139 :a1139. -:a1140 :a1140 :a1140. -:a1141 :a1141 :a1141. -:a1142 :a1142 :a1142. -:a1143 :a1143 :a1143. -:a1144 :a1144 :a1144. -:a1145 :a1145 :a1145. -:a1146 :a1146 :a1146. -:a1147 :a1147 :a1147. -:a1148 :a1148 :a1148. -:a1149 :a1149 :a1149. -:a1150 :a1150 :a1150. -:a1151 :a1151 :a1151. -:a1152 :a1152 :a1152. -:a1153 :a1153 :a1153. -:a1154 :a1154 :a1154. -:a1155 :a1155 :a1155. -:a1156 :a1156 :a1156. -:a1157 :a1157 :a1157. -:a1158 :a1158 :a1158. -:a1159 :a1159 :a1159. -:a1160 :a1160 :a1160. -:a1161 :a1161 :a1161. -:a1162 :a1162 :a1162. -:a1163 :a1163 :a1163. -:a1164 :a1164 :a1164. -:a1165 :a1165 :a1165. -:a1166 :a1166 :a1166. -:a1167 :a1167 :a1167. -:a1168 :a1168 :a1168. -:a1169 :a1169 :a1169. -:a1170 :a1170 :a1170. -:a1171 :a1171 :a1171. -:a1172 :a1172 :a1172. -:a1173 :a1173 :a1173. -:a1174 :a1174 :a1174. -:a1175 :a1175 :a1175. -:a1176 :a1176 :a1176. -:a1177 :a1177 :a1177. -:a1178 :a1178 :a1178. -:a1179 :a1179 :a1179. -:a1180 :a1180 :a1180. -:a1181 :a1181 :a1181. -:a1182 :a1182 :a1182. -:a1183 :a1183 :a1183. -:a1184 :a1184 :a1184. -:a1185 :a1185 :a1185. -:a1186 :a1186 :a1186. -:a1187 :a1187 :a1187. -:a1188 :a1188 :a1188. -:a1189 :a1189 :a1189. -:a1190 :a1190 :a1190. -:a1191 :a1191 :a1191. -:a1192 :a1192 :a1192. -:a1193 :a1193 :a1193. -:a1194 :a1194 :a1194. -:a1195 :a1195 :a1195. -:a1196 :a1196 :a1196. -:a1197 :a1197 :a1197. -:a1198 :a1198 :a1198. -:a1199 :a1199 :a1199. -:a1200 :a1200 :a1200. -:a1201 :a1201 :a1201. -:a1202 :a1202 :a1202. -:a1203 :a1203 :a1203. -:a1204 :a1204 :a1204. -:a1205 :a1205 :a1205. -:a1206 :a1206 :a1206. -:a1207 :a1207 :a1207. -:a1208 :a1208 :a1208. -:a1209 :a1209 :a1209. -:a1210 :a1210 :a1210. -:a1211 :a1211 :a1211. -:a1212 :a1212 :a1212. -:a1213 :a1213 :a1213. -:a1214 :a1214 :a1214. -:a1215 :a1215 :a1215. -:a1216 :a1216 :a1216. -:a1217 :a1217 :a1217. -:a1218 :a1218 :a1218. -:a1219 :a1219 :a1219. -:a1220 :a1220 :a1220. -:a1221 :a1221 :a1221. -:a1222 :a1222 :a1222. -:a1223 :a1223 :a1223. -:a1224 :a1224 :a1224. -:a1225 :a1225 :a1225. -:a1226 :a1226 :a1226. -:a1227 :a1227 :a1227. -:a1228 :a1228 :a1228. -:a1229 :a1229 :a1229. -:a1230 :a1230 :a1230. -:a1231 :a1231 :a1231. -:a1232 :a1232 :a1232. -:a1233 :a1233 :a1233. -:a1234 :a1234 :a1234. -:a1235 :a1235 :a1235. -:a1236 :a1236 :a1236. -:a1237 :a1237 :a1237. -:a1238 :a1238 :a1238. -:a1239 :a1239 :a1239. -:a1240 :a1240 :a1240. -:a1241 :a1241 :a1241. -:a1242 :a1242 :a1242. -:a1243 :a1243 :a1243. -:a1244 :a1244 :a1244. -:a1245 :a1245 :a1245. -:a1246 :a1246 :a1246. -:a1247 :a1247 :a1247. -:a1248 :a1248 :a1248. -:a1249 :a1249 :a1249. -:a1250 :a1250 :a1250. -:a1251 :a1251 :a1251. -:a1252 :a1252 :a1252. -:a1253 :a1253 :a1253. -:a1254 :a1254 :a1254. -:a1255 :a1255 :a1255. -:a1256 :a1256 :a1256. -:a1257 :a1257 :a1257. -:a1258 :a1258 :a1258. -:a1259 :a1259 :a1259. -:a1260 :a1260 :a1260. -:a1261 :a1261 :a1261. -:a1262 :a1262 :a1262. -:a1263 :a1263 :a1263. -:a1264 :a1264 :a1264. -:a1265 :a1265 :a1265. -:a1266 :a1266 :a1266. -:a1267 :a1267 :a1267. -:a1268 :a1268 :a1268. -:a1269 :a1269 :a1269. -:a1270 :a1270 :a1270. -:a1271 :a1271 :a1271. -:a1272 :a1272 :a1272. -:a1273 :a1273 :a1273. -:a1274 :a1274 :a1274. -:a1275 :a1275 :a1275. -:a1276 :a1276 :a1276. -:a1277 :a1277 :a1277. -:a1278 :a1278 :a1278. -:a1279 :a1279 :a1279. -:a1280 :a1280 :a1280. -:a1281 :a1281 :a1281. -:a1282 :a1282 :a1282. -:a1283 :a1283 :a1283. -:a1284 :a1284 :a1284. -:a1285 :a1285 :a1285. -:a1286 :a1286 :a1286. -:a1287 :a1287 :a1287. -:a1288 :a1288 :a1288. -:a1289 :a1289 :a1289. -:a1290 :a1290 :a1290. -:a1291 :a1291 :a1291. -:a1292 :a1292 :a1292. -:a1293 :a1293 :a1293. -:a1294 :a1294 :a1294. -:a1295 :a1295 :a1295. -:a1296 :a1296 :a1296. -:a1297 :a1297 :a1297. -:a1298 :a1298 :a1298. -:a1299 :a1299 :a1299. -:a1300 :a1300 :a1300. -:a1301 :a1301 :a1301. -:a1302 :a1302 :a1302. -:a1303 :a1303 :a1303. -:a1304 :a1304 :a1304. -:a1305 :a1305 :a1305. -:a1306 :a1306 :a1306. -:a1307 :a1307 :a1307. -:a1308 :a1308 :a1308. -:a1309 :a1309 :a1309. -:a1310 :a1310 :a1310. -:a1311 :a1311 :a1311. -:a1312 :a1312 :a1312. -:a1313 :a1313 :a1313. -:a1314 :a1314 :a1314. -:a1315 :a1315 :a1315. -:a1316 :a1316 :a1316. -:a1317 :a1317 :a1317. -:a1318 :a1318 :a1318. -:a1319 :a1319 :a1319. -:a1320 :a1320 :a1320. -:a1321 :a1321 :a1321. -:a1322 :a1322 :a1322. -:a1323 :a1323 :a1323. -:a1324 :a1324 :a1324. -:a1325 :a1325 :a1325. -:a1326 :a1326 :a1326. -:a1327 :a1327 :a1327. -:a1328 :a1328 :a1328. -:a1329 :a1329 :a1329. -:a1330 :a1330 :a1330. -:a1331 :a1331 :a1331. -:a1332 :a1332 :a1332. -:a1333 :a1333 :a1333. -:a1334 :a1334 :a1334. -:a1335 :a1335 :a1335. -:a1336 :a1336 :a1336. -:a1337 :a1337 :a1337. -:a1338 :a1338 :a1338. -:a1339 :a1339 :a1339. -:a1340 :a1340 :a1340. -:a1341 :a1341 :a1341. -:a1342 :a1342 :a1342. -:a1343 :a1343 :a1343. -:a1344 :a1344 :a1344. -:a1345 :a1345 :a1345. -:a1346 :a1346 :a1346. -:a1347 :a1347 :a1347. -:a1348 :a1348 :a1348. -:a1349 :a1349 :a1349. -:a1350 :a1350 :a1350. -:a1351 :a1351 :a1351. -:a1352 :a1352 :a1352. -:a1353 :a1353 :a1353. -:a1354 :a1354 :a1354. -:a1355 :a1355 :a1355. -:a1356 :a1356 :a1356. -:a1357 :a1357 :a1357. -:a1358 :a1358 :a1358. -:a1359 :a1359 :a1359. -:a1360 :a1360 :a1360. -:a1361 :a1361 :a1361. -:a1362 :a1362 :a1362. -:a1363 :a1363 :a1363. -:a1364 :a1364 :a1364. -:a1365 :a1365 :a1365. -:a1366 :a1366 :a1366. -:a1367 :a1367 :a1367. -:a1368 :a1368 :a1368. -:a1369 :a1369 :a1369. -:a1370 :a1370 :a1370. -:a1371 :a1371 :a1371. -:a1372 :a1372 :a1372. -:a1373 :a1373 :a1373. -:a1374 :a1374 :a1374. -:a1375 :a1375 :a1375. -:a1376 :a1376 :a1376. -:a1377 :a1377 :a1377. -:a1378 :a1378 :a1378. -:a1379 :a1379 :a1379. -:a1380 :a1380 :a1380. -:a1381 :a1381 :a1381. -:a1382 :a1382 :a1382. -:a1383 :a1383 :a1383. -:a1384 :a1384 :a1384. -:a1385 :a1385 :a1385. -:a1386 :a1386 :a1386. -:a1387 :a1387 :a1387. -:a1388 :a1388 :a1388. -:a1389 :a1389 :a1389. -:a1390 :a1390 :a1390. -:a1391 :a1391 :a1391. -:a1392 :a1392 :a1392. -:a1393 :a1393 :a1393. -:a1394 :a1394 :a1394. -:a1395 :a1395 :a1395. -:a1396 :a1396 :a1396. -:a1397 :a1397 :a1397. -:a1398 :a1398 :a1398. -:a1399 :a1399 :a1399. -:a1400 :a1400 :a1400. -:a1401 :a1401 :a1401. -:a1402 :a1402 :a1402. -:a1403 :a1403 :a1403. -:a1404 :a1404 :a1404. -:a1405 :a1405 :a1405. -:a1406 :a1406 :a1406. -:a1407 :a1407 :a1407. -:a1408 :a1408 :a1408. -:a1409 :a1409 :a1409. -:a1410 :a1410 :a1410. -:a1411 :a1411 :a1411. -:a1412 :a1412 :a1412. -:a1413 :a1413 :a1413. -:a1414 :a1414 :a1414. -:a1415 :a1415 :a1415. -:a1416 :a1416 :a1416. -:a1417 :a1417 :a1417. -:a1418 :a1418 :a1418. -:a1419 :a1419 :a1419. -:a1420 :a1420 :a1420. -:a1421 :a1421 :a1421. -:a1422 :a1422 :a1422. -:a1423 :a1423 :a1423. -:a1424 :a1424 :a1424. -:a1425 :a1425 :a1425. -:a1426 :a1426 :a1426. -:a1427 :a1427 :a1427. -:a1428 :a1428 :a1428. -:a1429 :a1429 :a1429. -:a1430 :a1430 :a1430. -:a1431 :a1431 :a1431. -:a1432 :a1432 :a1432. -:a1433 :a1433 :a1433. -:a1434 :a1434 :a1434. -:a1435 :a1435 :a1435. -:a1436 :a1436 :a1436. -:a1437 :a1437 :a1437. -:a1438 :a1438 :a1438. -:a1439 :a1439 :a1439. -:a1440 :a1440 :a1440. -:a1441 :a1441 :a1441. -:a1442 :a1442 :a1442. -:a1443 :a1443 :a1443. -:a1444 :a1444 :a1444. -:a1445 :a1445 :a1445. -:a1446 :a1446 :a1446. -:a1447 :a1447 :a1447. -:a1448 :a1448 :a1448. -:a1449 :a1449 :a1449. -:a1450 :a1450 :a1450. -:a1451 :a1451 :a1451. -:a1452 :a1452 :a1452. -:a1453 :a1453 :a1453. -:a1454 :a1454 :a1454. -:a1455 :a1455 :a1455. -:a1456 :a1456 :a1456. -:a1457 :a1457 :a1457. -:a1458 :a1458 :a1458. -:a1459 :a1459 :a1459. -:a1460 :a1460 :a1460. -:a1461 :a1461 :a1461. -:a1462 :a1462 :a1462. -:a1463 :a1463 :a1463. -:a1464 :a1464 :a1464. -:a1465 :a1465 :a1465. -:a1466 :a1466 :a1466. -:a1467 :a1467 :a1467. -:a1468 :a1468 :a1468. -:a1469 :a1469 :a1469. -:a1470 :a1470 :a1470. -:a1471 :a1471 :a1471. -:a1472 :a1472 :a1472. -:a1473 :a1473 :a1473. -:a1474 :a1474 :a1474. -:a1475 :a1475 :a1475. -:a1476 :a1476 :a1476. -:a1477 :a1477 :a1477. -:a1478 :a1478 :a1478. -:a1479 :a1479 :a1479. -:a1480 :a1480 :a1480. -:a1481 :a1481 :a1481. -:a1482 :a1482 :a1482. -:a1483 :a1483 :a1483. -:a1484 :a1484 :a1484. -:a1485 :a1485 :a1485. -:a1486 :a1486 :a1486. -:a1487 :a1487 :a1487. -:a1488 :a1488 :a1488. -:a1489 :a1489 :a1489. -:a1490 :a1490 :a1490. -:a1491 :a1491 :a1491. -:a1492 :a1492 :a1492. -:a1493 :a1493 :a1493. -:a1494 :a1494 :a1494. -:a1495 :a1495 :a1495. -:a1496 :a1496 :a1496. -:a1497 :a1497 :a1497. -:a1498 :a1498 :a1498. -:a1499 :a1499 :a1499. -:a1500 :a1500 :a1500. -:a1501 :a1501 :a1501. -:a1502 :a1502 :a1502. -:a1503 :a1503 :a1503. -:a1504 :a1504 :a1504. -:a1505 :a1505 :a1505. -:a1506 :a1506 :a1506. -:a1507 :a1507 :a1507. -:a1508 :a1508 :a1508. -:a1509 :a1509 :a1509. -:a1510 :a1510 :a1510. -:a1511 :a1511 :a1511. -:a1512 :a1512 :a1512. -:a1513 :a1513 :a1513. -:a1514 :a1514 :a1514. -:a1515 :a1515 :a1515. -:a1516 :a1516 :a1516. -:a1517 :a1517 :a1517. -:a1518 :a1518 :a1518. -:a1519 :a1519 :a1519. -:a1520 :a1520 :a1520. -:a1521 :a1521 :a1521. -:a1522 :a1522 :a1522. -:a1523 :a1523 :a1523. -:a1524 :a1524 :a1524. -:a1525 :a1525 :a1525. -:a1526 :a1526 :a1526. -:a1527 :a1527 :a1527. -:a1528 :a1528 :a1528. -:a1529 :a1529 :a1529. -:a1530 :a1530 :a1530. -:a1531 :a1531 :a1531. -:a1532 :a1532 :a1532. -:a1533 :a1533 :a1533. -:a1534 :a1534 :a1534. -:a1535 :a1535 :a1535. -:a1536 :a1536 :a1536. -:a1537 :a1537 :a1537. -:a1538 :a1538 :a1538. -:a1539 :a1539 :a1539. -:a1540 :a1540 :a1540. -:a1541 :a1541 :a1541. -:a1542 :a1542 :a1542. -:a1543 :a1543 :a1543. -:a1544 :a1544 :a1544. -:a1545 :a1545 :a1545. -:a1546 :a1546 :a1546. -:a1547 :a1547 :a1547. -:a1548 :a1548 :a1548. -:a1549 :a1549 :a1549. -:a1550 :a1550 :a1550. -:a1551 :a1551 :a1551. -:a1552 :a1552 :a1552. -:a1553 :a1553 :a1553. -:a1554 :a1554 :a1554. -:a1555 :a1555 :a1555. -:a1556 :a1556 :a1556. -:a1557 :a1557 :a1557. -:a1558 :a1558 :a1558. -:a1559 :a1559 :a1559. -:a1560 :a1560 :a1560. -:a1561 :a1561 :a1561. -:a1562 :a1562 :a1562. -:a1563 :a1563 :a1563. -:a1564 :a1564 :a1564. -:a1565 :a1565 :a1565. -:a1566 :a1566 :a1566. -:a1567 :a1567 :a1567. -:a1568 :a1568 :a1568. -:a1569 :a1569 :a1569. -:a1570 :a1570 :a1570. -:a1571 :a1571 :a1571. -:a1572 :a1572 :a1572. -:a1573 :a1573 :a1573. -:a1574 :a1574 :a1574. -:a1575 :a1575 :a1575. -:a1576 :a1576 :a1576. -:a1577 :a1577 :a1577. -:a1578 :a1578 :a1578. -:a1579 :a1579 :a1579. -:a1580 :a1580 :a1580. -:a1581 :a1581 :a1581. -:a1582 :a1582 :a1582. -:a1583 :a1583 :a1583. -:a1584 :a1584 :a1584. -:a1585 :a1585 :a1585. -:a1586 :a1586 :a1586. -:a1587 :a1587 :a1587. -:a1588 :a1588 :a1588. -:a1589 :a1589 :a1589. -:a1590 :a1590 :a1590. -:a1591 :a1591 :a1591. -:a1592 :a1592 :a1592. -:a1593 :a1593 :a1593. -:a1594 :a1594 :a1594. -:a1595 :a1595 :a1595. -:a1596 :a1596 :a1596. -:a1597 :a1597 :a1597. -:a1598 :a1598 :a1598. -:a1599 :a1599 :a1599. -:a1600 :a1600 :a1600. -:a1601 :a1601 :a1601. -:a1602 :a1602 :a1602. -:a1603 :a1603 :a1603. -:a1604 :a1604 :a1604. -:a1605 :a1605 :a1605. -:a1606 :a1606 :a1606. -:a1607 :a1607 :a1607. -:a1608 :a1608 :a1608. -:a1609 :a1609 :a1609. -:a1610 :a1610 :a1610. -:a1611 :a1611 :a1611. -:a1612 :a1612 :a1612. -:a1613 :a1613 :a1613. -:a1614 :a1614 :a1614. -:a1615 :a1615 :a1615. -:a1616 :a1616 :a1616. -:a1617 :a1617 :a1617. -:a1618 :a1618 :a1618. -:a1619 :a1619 :a1619. -:a1620 :a1620 :a1620. -:a1621 :a1621 :a1621. -:a1622 :a1622 :a1622. -:a1623 :a1623 :a1623. -:a1624 :a1624 :a1624. -:a1625 :a1625 :a1625. -:a1626 :a1626 :a1626. -:a1627 :a1627 :a1627. -:a1628 :a1628 :a1628. -:a1629 :a1629 :a1629. -:a1630 :a1630 :a1630. -:a1631 :a1631 :a1631. -:a1632 :a1632 :a1632. -:a1633 :a1633 :a1633. -:a1634 :a1634 :a1634. -:a1635 :a1635 :a1635. -:a1636 :a1636 :a1636. -:a1637 :a1637 :a1637. -:a1638 :a1638 :a1638. -:a1639 :a1639 :a1639. -:a1640 :a1640 :a1640. -:a1641 :a1641 :a1641. -:a1642 :a1642 :a1642. -:a1643 :a1643 :a1643. -:a1644 :a1644 :a1644. -:a1645 :a1645 :a1645. -:a1646 :a1646 :a1646. -:a1647 :a1647 :a1647. -:a1648 :a1648 :a1648. -:a1649 :a1649 :a1649. -:a1650 :a1650 :a1650. -:a1651 :a1651 :a1651. -:a1652 :a1652 :a1652. -:a1653 :a1653 :a1653. -:a1654 :a1654 :a1654. -:a1655 :a1655 :a1655. -:a1656 :a1656 :a1656. -:a1657 :a1657 :a1657. -:a1658 :a1658 :a1658. -:a1659 :a1659 :a1659. -:a1660 :a1660 :a1660. -:a1661 :a1661 :a1661. -:a1662 :a1662 :a1662. -:a1663 :a1663 :a1663. -:a1664 :a1664 :a1664. -:a1665 :a1665 :a1665. -:a1666 :a1666 :a1666. -:a1667 :a1667 :a1667. -:a1668 :a1668 :a1668. -:a1669 :a1669 :a1669. -:a1670 :a1670 :a1670. -:a1671 :a1671 :a1671. -:a1672 :a1672 :a1672. -:a1673 :a1673 :a1673. -:a1674 :a1674 :a1674. -:a1675 :a1675 :a1675. -:a1676 :a1676 :a1676. -:a1677 :a1677 :a1677. -:a1678 :a1678 :a1678. -:a1679 :a1679 :a1679. -:a1680 :a1680 :a1680. -:a1681 :a1681 :a1681. -:a1682 :a1682 :a1682. -:a1683 :a1683 :a1683. -:a1684 :a1684 :a1684. -:a1685 :a1685 :a1685. -:a1686 :a1686 :a1686. -:a1687 :a1687 :a1687. -:a1688 :a1688 :a1688. -:a1689 :a1689 :a1689. -:a1690 :a1690 :a1690. -:a1691 :a1691 :a1691. -:a1692 :a1692 :a1692. -:a1693 :a1693 :a1693. -:a1694 :a1694 :a1694. -:a1695 :a1695 :a1695. -:a1696 :a1696 :a1696. -:a1697 :a1697 :a1697. -:a1698 :a1698 :a1698. -:a1699 :a1699 :a1699. -:a1700 :a1700 :a1700. -:a1701 :a1701 :a1701. -:a1702 :a1702 :a1702. -:a1703 :a1703 :a1703. -:a1704 :a1704 :a1704. -:a1705 :a1705 :a1705. -:a1706 :a1706 :a1706. -:a1707 :a1707 :a1707. -:a1708 :a1708 :a1708. -:a1709 :a1709 :a1709. -:a1710 :a1710 :a1710. -:a1711 :a1711 :a1711. -:a1712 :a1712 :a1712. -:a1713 :a1713 :a1713. -:a1714 :a1714 :a1714. -:a1715 :a1715 :a1715. -:a1716 :a1716 :a1716. -:a1717 :a1717 :a1717. -:a1718 :a1718 :a1718. -:a1719 :a1719 :a1719. -:a1720 :a1720 :a1720. -:a1721 :a1721 :a1721. -:a1722 :a1722 :a1722. -:a1723 :a1723 :a1723. -:a1724 :a1724 :a1724. -:a1725 :a1725 :a1725. -:a1726 :a1726 :a1726. -:a1727 :a1727 :a1727. -:a1728 :a1728 :a1728. -:a1729 :a1729 :a1729. -:a1730 :a1730 :a1730. -:a1731 :a1731 :a1731. -:a1732 :a1732 :a1732. -:a1733 :a1733 :a1733. -:a1734 :a1734 :a1734. -:a1735 :a1735 :a1735. -:a1736 :a1736 :a1736. -:a1737 :a1737 :a1737. -:a1738 :a1738 :a1738. -:a1739 :a1739 :a1739. -:a1740 :a1740 :a1740. -:a1741 :a1741 :a1741. -:a1742 :a1742 :a1742. -:a1743 :a1743 :a1743. -:a1744 :a1744 :a1744. -:a1745 :a1745 :a1745. -:a1746 :a1746 :a1746. -:a1747 :a1747 :a1747. -:a1748 :a1748 :a1748. -:a1749 :a1749 :a1749. -:a1750 :a1750 :a1750. -:a1751 :a1751 :a1751. -:a1752 :a1752 :a1752. -:a1753 :a1753 :a1753. -:a1754 :a1754 :a1754. -:a1755 :a1755 :a1755. -:a1756 :a1756 :a1756. -:a1757 :a1757 :a1757. -:a1758 :a1758 :a1758. -:a1759 :a1759 :a1759. -:a1760 :a1760 :a1760. -:a1761 :a1761 :a1761. -:a1762 :a1762 :a1762. -:a1763 :a1763 :a1763. -:a1764 :a1764 :a1764. -:a1765 :a1765 :a1765. -:a1766 :a1766 :a1766. -:a1767 :a1767 :a1767. -:a1768 :a1768 :a1768. -:a1769 :a1769 :a1769. -:a1770 :a1770 :a1770. -:a1771 :a1771 :a1771. -:a1772 :a1772 :a1772. -:a1773 :a1773 :a1773. -:a1774 :a1774 :a1774. -:a1775 :a1775 :a1775. -:a1776 :a1776 :a1776. -:a1777 :a1777 :a1777. -:a1778 :a1778 :a1778. -:a1779 :a1779 :a1779. -:a1780 :a1780 :a1780. -:a1781 :a1781 :a1781. -:a1782 :a1782 :a1782. -:a1783 :a1783 :a1783. -:a1784 :a1784 :a1784. -:a1785 :a1785 :a1785. -:a1786 :a1786 :a1786. -:a1787 :a1787 :a1787. -:a1788 :a1788 :a1788. -:a1789 :a1789 :a1789. -:a1790 :a1790 :a1790. -:a1791 :a1791 :a1791. -:a1792 :a1792 :a1792. -:a1793 :a1793 :a1793. -:a1794 :a1794 :a1794. -:a1795 :a1795 :a1795. -:a1796 :a1796 :a1796. -:a1797 :a1797 :a1797. -:a1798 :a1798 :a1798. -:a1799 :a1799 :a1799. -:a1800 :a1800 :a1800. -:a1801 :a1801 :a1801. -:a1802 :a1802 :a1802. -:a1803 :a1803 :a1803. -:a1804 :a1804 :a1804. -:a1805 :a1805 :a1805. -:a1806 :a1806 :a1806. -:a1807 :a1807 :a1807. -:a1808 :a1808 :a1808. -:a1809 :a1809 :a1809. -:a1810 :a1810 :a1810. -:a1811 :a1811 :a1811. -:a1812 :a1812 :a1812. -:a1813 :a1813 :a1813. -:a1814 :a1814 :a1814. -:a1815 :a1815 :a1815. -:a1816 :a1816 :a1816. -:a1817 :a1817 :a1817. -:a1818 :a1818 :a1818. -:a1819 :a1819 :a1819. -:a1820 :a1820 :a1820. -:a1821 :a1821 :a1821. -:a1822 :a1822 :a1822. -:a1823 :a1823 :a1823. -:a1824 :a1824 :a1824. -:a1825 :a1825 :a1825. -:a1826 :a1826 :a1826. -:a1827 :a1827 :a1827. -:a1828 :a1828 :a1828. -:a1829 :a1829 :a1829. -:a1830 :a1830 :a1830. -:a1831 :a1831 :a1831. -:a1832 :a1832 :a1832. -:a1833 :a1833 :a1833. -:a1834 :a1834 :a1834. -:a1835 :a1835 :a1835. -:a1836 :a1836 :a1836. -:a1837 :a1837 :a1837. -:a1838 :a1838 :a1838. -:a1839 :a1839 :a1839. -:a1840 :a1840 :a1840. -:a1841 :a1841 :a1841. -:a1842 :a1842 :a1842. -:a1843 :a1843 :a1843. -:a1844 :a1844 :a1844. -:a1845 :a1845 :a1845. -:a1846 :a1846 :a1846. -:a1847 :a1847 :a1847. -:a1848 :a1848 :a1848. -:a1849 :a1849 :a1849. -:a1850 :a1850 :a1850. -:a1851 :a1851 :a1851. -:a1852 :a1852 :a1852. -:a1853 :a1853 :a1853. -:a1854 :a1854 :a1854. -:a1855 :a1855 :a1855. -:a1856 :a1856 :a1856. -:a1857 :a1857 :a1857. -:a1858 :a1858 :a1858. -:a1859 :a1859 :a1859. -:a1860 :a1860 :a1860. -:a1861 :a1861 :a1861. -:a1862 :a1862 :a1862. -:a1863 :a1863 :a1863. -:a1864 :a1864 :a1864. -:a1865 :a1865 :a1865. -:a1866 :a1866 :a1866. -:a1867 :a1867 :a1867. -:a1868 :a1868 :a1868. -:a1869 :a1869 :a1869. -:a1870 :a1870 :a1870. -:a1871 :a1871 :a1871. -:a1872 :a1872 :a1872. -:a1873 :a1873 :a1873. -:a1874 :a1874 :a1874. -:a1875 :a1875 :a1875. -:a1876 :a1876 :a1876. -:a1877 :a1877 :a1877. -:a1878 :a1878 :a1878. -:a1879 :a1879 :a1879. -:a1880 :a1880 :a1880. -:a1881 :a1881 :a1881. -:a1882 :a1882 :a1882. -:a1883 :a1883 :a1883. -:a1884 :a1884 :a1884. -:a1885 :a1885 :a1885. -:a1886 :a1886 :a1886. -:a1887 :a1887 :a1887. -:a1888 :a1888 :a1888. -:a1889 :a1889 :a1889. -:a1890 :a1890 :a1890. -:a1891 :a1891 :a1891. -:a1892 :a1892 :a1892. -:a1893 :a1893 :a1893. -:a1894 :a1894 :a1894. -:a1895 :a1895 :a1895. -:a1896 :a1896 :a1896. -:a1897 :a1897 :a1897. -:a1898 :a1898 :a1898. -:a1899 :a1899 :a1899. -:a1900 :a1900 :a1900. -:a1901 :a1901 :a1901. -:a1902 :a1902 :a1902. -:a1903 :a1903 :a1903. -:a1904 :a1904 :a1904. -:a1905 :a1905 :a1905. -:a1906 :a1906 :a1906. -:a1907 :a1907 :a1907. -:a1908 :a1908 :a1908. -:a1909 :a1909 :a1909. -:a1910 :a1910 :a1910. -:a1911 :a1911 :a1911. -:a1912 :a1912 :a1912. -:a1913 :a1913 :a1913. -:a1914 :a1914 :a1914. -:a1915 :a1915 :a1915. -:a1916 :a1916 :a1916. -:a1917 :a1917 :a1917. -:a1918 :a1918 :a1918. -:a1919 :a1919 :a1919. -:a1920 :a1920 :a1920. -:a1921 :a1921 :a1921. -:a1922 :a1922 :a1922. -:a1923 :a1923 :a1923. -:a1924 :a1924 :a1924. -:a1925 :a1925 :a1925. -:a1926 :a1926 :a1926. -:a1927 :a1927 :a1927. -:a1928 :a1928 :a1928. -:a1929 :a1929 :a1929. -:a1930 :a1930 :a1930. -:a1931 :a1931 :a1931. -:a1932 :a1932 :a1932. -:a1933 :a1933 :a1933. -:a1934 :a1934 :a1934. -:a1935 :a1935 :a1935. -:a1936 :a1936 :a1936. -:a1937 :a1937 :a1937. -:a1938 :a1938 :a1938. -:a1939 :a1939 :a1939. -:a1940 :a1940 :a1940. -:a1941 :a1941 :a1941. -:a1942 :a1942 :a1942. -:a1943 :a1943 :a1943. -:a1944 :a1944 :a1944. -:a1945 :a1945 :a1945. -:a1946 :a1946 :a1946. -:a1947 :a1947 :a1947. -:a1948 :a1948 :a1948. -:a1949 :a1949 :a1949. -:a1950 :a1950 :a1950. -:a1951 :a1951 :a1951. -:a1952 :a1952 :a1952. -:a1953 :a1953 :a1953. -:a1954 :a1954 :a1954. -:a1955 :a1955 :a1955. -:a1956 :a1956 :a1956. -:a1957 :a1957 :a1957. -:a1958 :a1958 :a1958. -:a1959 :a1959 :a1959. -:a1960 :a1960 :a1960. -:a1961 :a1961 :a1961. -:a1962 :a1962 :a1962. -:a1963 :a1963 :a1963. -:a1964 :a1964 :a1964. -:a1965 :a1965 :a1965. -:a1966 :a1966 :a1966. -:a1967 :a1967 :a1967. -:a1968 :a1968 :a1968. -:a1969 :a1969 :a1969. -:a1970 :a1970 :a1970. -:a1971 :a1971 :a1971. -:a1972 :a1972 :a1972. -:a1973 :a1973 :a1973. -:a1974 :a1974 :a1974. -:a1975 :a1975 :a1975. -:a1976 :a1976 :a1976. -:a1977 :a1977 :a1977. -:a1978 :a1978 :a1978. -:a1979 :a1979 :a1979. -:a1980 :a1980 :a1980. -:a1981 :a1981 :a1981. -:a1982 :a1982 :a1982. -:a1983 :a1983 :a1983. -:a1984 :a1984 :a1984. -:a1985 :a1985 :a1985. -:a1986 :a1986 :a1986. -:a1987 :a1987 :a1987. -:a1988 :a1988 :a1988. -:a1989 :a1989 :a1989. -:a1990 :a1990 :a1990. -:a1991 :a1991 :a1991. -:a1992 :a1992 :a1992. -:a1993 :a1993 :a1993. -:a1994 :a1994 :a1994. -:a1995 :a1995 :a1995. -:a1996 :a1996 :a1996. -:a1997 :a1997 :a1997. -:a1998 :a1998 :a1998. -:a1999 :a1999 :a1999. -:a2000 :a2000 :a2000. -:a2001 :a2001 :a2001. -:a2002 :a2002 :a2002. -:a2003 :a2003 :a2003. -:a2004 :a2004 :a2004. -:a2005 :a2005 :a2005. -:a2006 :a2006 :a2006. -:a2007 :a2007 :a2007. -:a2008 :a2008 :a2008. -:a2009 :a2009 :a2009. -:a2010 :a2010 :a2010. -:a2011 :a2011 :a2011. -:a2012 :a2012 :a2012. -:a2013 :a2013 :a2013. -:a2014 :a2014 :a2014. -:a2015 :a2015 :a2015. -:a2016 :a2016 :a2016. -:a2017 :a2017 :a2017. -:a2018 :a2018 :a2018. -:a2019 :a2019 :a2019. -:a2020 :a2020 :a2020. -:a2021 :a2021 :a2021. -:a2022 :a2022 :a2022. -:a2023 :a2023 :a2023. -:a2024 :a2024 :a2024. -:a2025 :a2025 :a2025. -:a2026 :a2026 :a2026. -:a2027 :a2027 :a2027. -:a2028 :a2028 :a2028. -:a2029 :a2029 :a2029. -:a2030 :a2030 :a2030. -:a2031 :a2031 :a2031. -:a2032 :a2032 :a2032. -:a2033 :a2033 :a2033. -:a2034 :a2034 :a2034. -:a2035 :a2035 :a2035. -:a2036 :a2036 :a2036. -:a2037 :a2037 :a2037. -:a2038 :a2038 :a2038. -:a2039 :a2039 :a2039. -:a2040 :a2040 :a2040. -:a2041 :a2041 :a2041. -:a2042 :a2042 :a2042. -:a2043 :a2043 :a2043. -:a2044 :a2044 :a2044. -:a2045 :a2045 :a2045. -:a2046 :a2046 :a2046. -:a2047 :a2047 :a2047. -:a2048 :a2048 :a2048. -:a2049 :a2049 :a2049. -:a2050 :a2050 :a2050. -:a2051 :a2051 :a2051. -:a2052 :a2052 :a2052. -:a2053 :a2053 :a2053. -:a2054 :a2054 :a2054. -:a2055 :a2055 :a2055. -:a2056 :a2056 :a2056. -:a2057 :a2057 :a2057. -:a2058 :a2058 :a2058. -:a2059 :a2059 :a2059. -:a2060 :a2060 :a2060. -:a2061 :a2061 :a2061. -:a2062 :a2062 :a2062. -:a2063 :a2063 :a2063. -:a2064 :a2064 :a2064. -:a2065 :a2065 :a2065. -:a2066 :a2066 :a2066. -:a2067 :a2067 :a2067. -:a2068 :a2068 :a2068. -:a2069 :a2069 :a2069. -:a2070 :a2070 :a2070. -:a2071 :a2071 :a2071. -:a2072 :a2072 :a2072. -:a2073 :a2073 :a2073. -:a2074 :a2074 :a2074. -:a2075 :a2075 :a2075. -:a2076 :a2076 :a2076. -:a2077 :a2077 :a2077. -:a2078 :a2078 :a2078. -:a2079 :a2079 :a2079. -:a2080 :a2080 :a2080. -:a2081 :a2081 :a2081. -:a2082 :a2082 :a2082. -:a2083 :a2083 :a2083. -:a2084 :a2084 :a2084. -:a2085 :a2085 :a2085. -:a2086 :a2086 :a2086. -:a2087 :a2087 :a2087. -:a2088 :a2088 :a2088. -:a2089 :a2089 :a2089. -:a2090 :a2090 :a2090. -:a2091 :a2091 :a2091. -:a2092 :a2092 :a2092. -:a2093 :a2093 :a2093. -:a2094 :a2094 :a2094. -:a2095 :a2095 :a2095. -:a2096 :a2096 :a2096. -:a2097 :a2097 :a2097. -:a2098 :a2098 :a2098. -:a2099 :a2099 :a2099. -:a2100 :a2100 :a2100. -:a2101 :a2101 :a2101. -:a2102 :a2102 :a2102. -:a2103 :a2103 :a2103. -:a2104 :a2104 :a2104. -:a2105 :a2105 :a2105. -:a2106 :a2106 :a2106. -:a2107 :a2107 :a2107. -:a2108 :a2108 :a2108. -:a2109 :a2109 :a2109. -:a2110 :a2110 :a2110. -:a2111 :a2111 :a2111. -:a2112 :a2112 :a2112. -:a2113 :a2113 :a2113. -:a2114 :a2114 :a2114. -:a2115 :a2115 :a2115. -:a2116 :a2116 :a2116. -:a2117 :a2117 :a2117. -:a2118 :a2118 :a2118. -:a2119 :a2119 :a2119. -:a2120 :a2120 :a2120. -:a2121 :a2121 :a2121. -:a2122 :a2122 :a2122. -:a2123 :a2123 :a2123. -:a2124 :a2124 :a2124. -:a2125 :a2125 :a2125. -:a2126 :a2126 :a2126. -:a2127 :a2127 :a2127. -:a2128 :a2128 :a2128. -:a2129 :a2129 :a2129. -:a2130 :a2130 :a2130. -:a2131 :a2131 :a2131. -:a2132 :a2132 :a2132. -:a2133 :a2133 :a2133. -:a2134 :a2134 :a2134. -:a2135 :a2135 :a2135. -:a2136 :a2136 :a2136. -:a2137 :a2137 :a2137. -:a2138 :a2138 :a2138. -:a2139 :a2139 :a2139. -:a2140 :a2140 :a2140. -:a2141 :a2141 :a2141. -:a2142 :a2142 :a2142. -:a2143 :a2143 :a2143. -:a2144 :a2144 :a2144. -:a2145 :a2145 :a2145. -:a2146 :a2146 :a2146. -:a2147 :a2147 :a2147. -:a2148 :a2148 :a2148. -:a2149 :a2149 :a2149. -:a2150 :a2150 :a2150. -:a2151 :a2151 :a2151. -:a2152 :a2152 :a2152. -:a2153 :a2153 :a2153. -:a2154 :a2154 :a2154. -:a2155 :a2155 :a2155. -:a2156 :a2156 :a2156. -:a2157 :a2157 :a2157. -:a2158 :a2158 :a2158. -:a2159 :a2159 :a2159. -:a2160 :a2160 :a2160. -:a2161 :a2161 :a2161. -:a2162 :a2162 :a2162. -:a2163 :a2163 :a2163. -:a2164 :a2164 :a2164. -:a2165 :a2165 :a2165. -:a2166 :a2166 :a2166. -:a2167 :a2167 :a2167. -:a2168 :a2168 :a2168. -:a2169 :a2169 :a2169. -:a2170 :a2170 :a2170. -:a2171 :a2171 :a2171. -:a2172 :a2172 :a2172. -:a2173 :a2173 :a2173. -:a2174 :a2174 :a2174. -:a2175 :a2175 :a2175. -:a2176 :a2176 :a2176. -:a2177 :a2177 :a2177. -:a2178 :a2178 :a2178. -:a2179 :a2179 :a2179. -:a2180 :a2180 :a2180. -:a2181 :a2181 :a2181. -:a2182 :a2182 :a2182. -:a2183 :a2183 :a2183. -:a2184 :a2184 :a2184. -:a2185 :a2185 :a2185. -:a2186 :a2186 :a2186. -:a2187 :a2187 :a2187. -:a2188 :a2188 :a2188. -:a2189 :a2189 :a2189. -:a2190 :a2190 :a2190. -:a2191 :a2191 :a2191. -:a2192 :a2192 :a2192. -:a2193 :a2193 :a2193. -:a2194 :a2194 :a2194. -:a2195 :a2195 :a2195. -:a2196 :a2196 :a2196. -:a2197 :a2197 :a2197. -:a2198 :a2198 :a2198. -:a2199 :a2199 :a2199. -:a2200 :a2200 :a2200. -:a2201 :a2201 :a2201. -:a2202 :a2202 :a2202. -:a2203 :a2203 :a2203. -:a2204 :a2204 :a2204. -:a2205 :a2205 :a2205. -:a2206 :a2206 :a2206. -:a2207 :a2207 :a2207. -:a2208 :a2208 :a2208. -:a2209 :a2209 :a2209. -:a2210 :a2210 :a2210. -:a2211 :a2211 :a2211. -:a2212 :a2212 :a2212. -:a2213 :a2213 :a2213. -:a2214 :a2214 :a2214. -:a2215 :a2215 :a2215. -:a2216 :a2216 :a2216. -:a2217 :a2217 :a2217. -:a2218 :a2218 :a2218. -:a2219 :a2219 :a2219. -:a2220 :a2220 :a2220. -:a2221 :a2221 :a2221. -:a2222 :a2222 :a2222. -:a2223 :a2223 :a2223. -:a2224 :a2224 :a2224. -:a2225 :a2225 :a2225. -:a2226 :a2226 :a2226. -:a2227 :a2227 :a2227. -:a2228 :a2228 :a2228. -:a2229 :a2229 :a2229. -:a2230 :a2230 :a2230. -:a2231 :a2231 :a2231. -:a2232 :a2232 :a2232. -:a2233 :a2233 :a2233. -:a2234 :a2234 :a2234. -:a2235 :a2235 :a2235. -:a2236 :a2236 :a2236. -:a2237 :a2237 :a2237. -:a2238 :a2238 :a2238. -:a2239 :a2239 :a2239. -:a2240 :a2240 :a2240. -:a2241 :a2241 :a2241. -:a2242 :a2242 :a2242. -:a2243 :a2243 :a2243. -:a2244 :a2244 :a2244. -:a2245 :a2245 :a2245. -:a2246 :a2246 :a2246. -:a2247 :a2247 :a2247. -:a2248 :a2248 :a2248. -:a2249 :a2249 :a2249. -:a2250 :a2250 :a2250. -:a2251 :a2251 :a2251. -:a2252 :a2252 :a2252. -:a2253 :a2253 :a2253. -:a2254 :a2254 :a2254. -:a2255 :a2255 :a2255. -:a2256 :a2256 :a2256. -:a2257 :a2257 :a2257. -:a2258 :a2258 :a2258. -:a2259 :a2259 :a2259. -:a2260 :a2260 :a2260. -:a2261 :a2261 :a2261. -:a2262 :a2262 :a2262. -:a2263 :a2263 :a2263. -:a2264 :a2264 :a2264. -:a2265 :a2265 :a2265. -:a2266 :a2266 :a2266. -:a2267 :a2267 :a2267. -:a2268 :a2268 :a2268. -:a2269 :a2269 :a2269. -:a2270 :a2270 :a2270. -:a2271 :a2271 :a2271. -:a2272 :a2272 :a2272. -:a2273 :a2273 :a2273. -:a2274 :a2274 :a2274. -:a2275 :a2275 :a2275. -:a2276 :a2276 :a2276. -:a2277 :a2277 :a2277. -:a2278 :a2278 :a2278. -:a2279 :a2279 :a2279. -:a2280 :a2280 :a2280. -:a2281 :a2281 :a2281. -:a2282 :a2282 :a2282. -:a2283 :a2283 :a2283. -:a2284 :a2284 :a2284. -:a2285 :a2285 :a2285. -:a2286 :a2286 :a2286. -:a2287 :a2287 :a2287. -:a2288 :a2288 :a2288. -:a2289 :a2289 :a2289. -:a2290 :a2290 :a2290. -:a2291 :a2291 :a2291. -:a2292 :a2292 :a2292. -:a2293 :a2293 :a2293. -:a2294 :a2294 :a2294. -:a2295 :a2295 :a2295. -:a2296 :a2296 :a2296. -:a2297 :a2297 :a2297. -:a2298 :a2298 :a2298. -:a2299 :a2299 :a2299. -:a2300 :a2300 :a2300. -:a2301 :a2301 :a2301. -:a2302 :a2302 :a2302. -:a2303 :a2303 :a2303. -:a2304 :a2304 :a2304. -:a2305 :a2305 :a2305. -:a2306 :a2306 :a2306. -:a2307 :a2307 :a2307. -:a2308 :a2308 :a2308. -:a2309 :a2309 :a2309. -:a2310 :a2310 :a2310. -:a2311 :a2311 :a2311. -:a2312 :a2312 :a2312. -:a2313 :a2313 :a2313. -:a2314 :a2314 :a2314. -:a2315 :a2315 :a2315. -:a2316 :a2316 :a2316. -:a2317 :a2317 :a2317. -:a2318 :a2318 :a2318. -:a2319 :a2319 :a2319. -:a2320 :a2320 :a2320. -:a2321 :a2321 :a2321. -:a2322 :a2322 :a2322. -:a2323 :a2323 :a2323. -:a2324 :a2324 :a2324. -:a2325 :a2325 :a2325. -:a2326 :a2326 :a2326. -:a2327 :a2327 :a2327. -:a2328 :a2328 :a2328. -:a2329 :a2329 :a2329. -:a2330 :a2330 :a2330. -:a2331 :a2331 :a2331. -:a2332 :a2332 :a2332. -:a2333 :a2333 :a2333. -:a2334 :a2334 :a2334. -:a2335 :a2335 :a2335. -:a2336 :a2336 :a2336. -:a2337 :a2337 :a2337. -:a2338 :a2338 :a2338. -:a2339 :a2339 :a2339. -:a2340 :a2340 :a2340. -:a2341 :a2341 :a2341. -:a2342 :a2342 :a2342. -:a2343 :a2343 :a2343. -:a2344 :a2344 :a2344. -:a2345 :a2345 :a2345. -:a2346 :a2346 :a2346. -:a2347 :a2347 :a2347. -:a2348 :a2348 :a2348. -:a2349 :a2349 :a2349. -:a2350 :a2350 :a2350. -:a2351 :a2351 :a2351. -:a2352 :a2352 :a2352. -:a2353 :a2353 :a2353. -:a2354 :a2354 :a2354. -:a2355 :a2355 :a2355. -:a2356 :a2356 :a2356. -:a2357 :a2357 :a2357. -:a2358 :a2358 :a2358. -:a2359 :a2359 :a2359. -:a2360 :a2360 :a2360. -:a2361 :a2361 :a2361. -:a2362 :a2362 :a2362. -:a2363 :a2363 :a2363. -:a2364 :a2364 :a2364. -:a2365 :a2365 :a2365. -:a2366 :a2366 :a2366. -:a2367 :a2367 :a2367. -:a2368 :a2368 :a2368. -:a2369 :a2369 :a2369. -:a2370 :a2370 :a2370. -:a2371 :a2371 :a2371. -:a2372 :a2372 :a2372. -:a2373 :a2373 :a2373. -:a2374 :a2374 :a2374. -:a2375 :a2375 :a2375. -:a2376 :a2376 :a2376. -:a2377 :a2377 :a2377. -:a2378 :a2378 :a2378. -:a2379 :a2379 :a2379. -:a2380 :a2380 :a2380. -:a2381 :a2381 :a2381. -:a2382 :a2382 :a2382. -:a2383 :a2383 :a2383. -:a2384 :a2384 :a2384. -:a2385 :a2385 :a2385. -:a2386 :a2386 :a2386. -:a2387 :a2387 :a2387. -:a2388 :a2388 :a2388. -:a2389 :a2389 :a2389. -:a2390 :a2390 :a2390. -:a2391 :a2391 :a2391. -:a2392 :a2392 :a2392. -:a2393 :a2393 :a2393. -:a2394 :a2394 :a2394. -:a2395 :a2395 :a2395. -:a2396 :a2396 :a2396. -:a2397 :a2397 :a2397. -:a2398 :a2398 :a2398. -:a2399 :a2399 :a2399. -:a2400 :a2400 :a2400. -:a2401 :a2401 :a2401. -:a2402 :a2402 :a2402. -:a2403 :a2403 :a2403. -:a2404 :a2404 :a2404. -:a2405 :a2405 :a2405. -:a2406 :a2406 :a2406. -:a2407 :a2407 :a2407. -:a2408 :a2408 :a2408. -:a2409 :a2409 :a2409. -:a2410 :a2410 :a2410. -:a2411 :a2411 :a2411. -:a2412 :a2412 :a2412. -:a2413 :a2413 :a2413. -:a2414 :a2414 :a2414. -:a2415 :a2415 :a2415. -:a2416 :a2416 :a2416. -:a2417 :a2417 :a2417. -:a2418 :a2418 :a2418. -:a2419 :a2419 :a2419. -:a2420 :a2420 :a2420. -:a2421 :a2421 :a2421. -:a2422 :a2422 :a2422. -:a2423 :a2423 :a2423. -:a2424 :a2424 :a2424. -:a2425 :a2425 :a2425. -:a2426 :a2426 :a2426. -:a2427 :a2427 :a2427. -:a2428 :a2428 :a2428. -:a2429 :a2429 :a2429. -:a2430 :a2430 :a2430. -:a2431 :a2431 :a2431. -:a2432 :a2432 :a2432. -:a2433 :a2433 :a2433. -:a2434 :a2434 :a2434. -:a2435 :a2435 :a2435. -:a2436 :a2436 :a2436. -:a2437 :a2437 :a2437. -:a2438 :a2438 :a2438. -:a2439 :a2439 :a2439. -:a2440 :a2440 :a2440. -:a2441 :a2441 :a2441. -:a2442 :a2442 :a2442. -:a2443 :a2443 :a2443. -:a2444 :a2444 :a2444. -:a2445 :a2445 :a2445. -:a2446 :a2446 :a2446. -:a2447 :a2447 :a2447. -:a2448 :a2448 :a2448. -:a2449 :a2449 :a2449. -:a2450 :a2450 :a2450. -:a2451 :a2451 :a2451. -:a2452 :a2452 :a2452. -:a2453 :a2453 :a2453. -:a2454 :a2454 :a2454. -:a2455 :a2455 :a2455. -:a2456 :a2456 :a2456. -:a2457 :a2457 :a2457. -:a2458 :a2458 :a2458. -:a2459 :a2459 :a2459. -:a2460 :a2460 :a2460. -:a2461 :a2461 :a2461. -:a2462 :a2462 :a2462. -:a2463 :a2463 :a2463. -:a2464 :a2464 :a2464. -:a2465 :a2465 :a2465. -:a2466 :a2466 :a2466. -:a2467 :a2467 :a2467. -:a2468 :a2468 :a2468. -:a2469 :a2469 :a2469. -:a2470 :a2470 :a2470. -:a2471 :a2471 :a2471. -:a2472 :a2472 :a2472. -:a2473 :a2473 :a2473. -:a2474 :a2474 :a2474. -:a2475 :a2475 :a2475. -:a2476 :a2476 :a2476. -:a2477 :a2477 :a2477. -:a2478 :a2478 :a2478. -:a2479 :a2479 :a2479. -:a2480 :a2480 :a2480. -:a2481 :a2481 :a2481. -:a2482 :a2482 :a2482. -:a2483 :a2483 :a2483. -:a2484 :a2484 :a2484. -:a2485 :a2485 :a2485. -:a2486 :a2486 :a2486. -:a2487 :a2487 :a2487. -:a2488 :a2488 :a2488. -:a2489 :a2489 :a2489. -:a2490 :a2490 :a2490. -:a2491 :a2491 :a2491. -:a2492 :a2492 :a2492. -:a2493 :a2493 :a2493. -:a2494 :a2494 :a2494. -:a2495 :a2495 :a2495. -:a2496 :a2496 :a2496. -:a2497 :a2497 :a2497. -:a2498 :a2498 :a2498. -:a2499 :a2499 :a2499. -:a2500 :a2500 :a2500. -:a2501 :a2501 :a2501. -:a2502 :a2502 :a2502. -:a2503 :a2503 :a2503. -:a2504 :a2504 :a2504. -:a2505 :a2505 :a2505. -:a2506 :a2506 :a2506. -:a2507 :a2507 :a2507. -:a2508 :a2508 :a2508. -:a2509 :a2509 :a2509. -:a2510 :a2510 :a2510. -:a2511 :a2511 :a2511. -:a2512 :a2512 :a2512. -:a2513 :a2513 :a2513. -:a2514 :a2514 :a2514. -:a2515 :a2515 :a2515. -:a2516 :a2516 :a2516. -:a2517 :a2517 :a2517. -:a2518 :a2518 :a2518. -:a2519 :a2519 :a2519. -:a2520 :a2520 :a2520. -:a2521 :a2521 :a2521. -:a2522 :a2522 :a2522. -:a2523 :a2523 :a2523. -:a2524 :a2524 :a2524. -:a2525 :a2525 :a2525. -:a2526 :a2526 :a2526. -:a2527 :a2527 :a2527. -:a2528 :a2528 :a2528. -:a2529 :a2529 :a2529. -:a2530 :a2530 :a2530. -:a2531 :a2531 :a2531. -:a2532 :a2532 :a2532. -:a2533 :a2533 :a2533. -:a2534 :a2534 :a2534. -:a2535 :a2535 :a2535. -:a2536 :a2536 :a2536. -:a2537 :a2537 :a2537. -:a2538 :a2538 :a2538. -:a2539 :a2539 :a2539. -:a2540 :a2540 :a2540. -:a2541 :a2541 :a2541. -:a2542 :a2542 :a2542. -:a2543 :a2543 :a2543. -:a2544 :a2544 :a2544. -:a2545 :a2545 :a2545. -:a2546 :a2546 :a2546. -:a2547 :a2547 :a2547. -:a2548 :a2548 :a2548. -:a2549 :a2549 :a2549. -:a2550 :a2550 :a2550. -:a2551 :a2551 :a2551. -:a2552 :a2552 :a2552. -:a2553 :a2553 :a2553. -:a2554 :a2554 :a2554. -:a2555 :a2555 :a2555. -:a2556 :a2556 :a2556. -:a2557 :a2557 :a2557. -:a2558 :a2558 :a2558. -:a2559 :a2559 :a2559. -:a2560 :a2560 :a2560. -:a2561 :a2561 :a2561. -:a2562 :a2562 :a2562. -:a2563 :a2563 :a2563. -:a2564 :a2564 :a2564. -:a2565 :a2565 :a2565. -:a2566 :a2566 :a2566. -:a2567 :a2567 :a2567. -:a2568 :a2568 :a2568. -:a2569 :a2569 :a2569. -:a2570 :a2570 :a2570. -:a2571 :a2571 :a2571. -:a2572 :a2572 :a2572. -:a2573 :a2573 :a2573. -:a2574 :a2574 :a2574. -:a2575 :a2575 :a2575. -:a2576 :a2576 :a2576. -:a2577 :a2577 :a2577. -:a2578 :a2578 :a2578. -:a2579 :a2579 :a2579. -:a2580 :a2580 :a2580. -:a2581 :a2581 :a2581. -:a2582 :a2582 :a2582. -:a2583 :a2583 :a2583. -:a2584 :a2584 :a2584. -:a2585 :a2585 :a2585. -:a2586 :a2586 :a2586. -:a2587 :a2587 :a2587. -:a2588 :a2588 :a2588. -:a2589 :a2589 :a2589. -:a2590 :a2590 :a2590. -:a2591 :a2591 :a2591. -:a2592 :a2592 :a2592. -:a2593 :a2593 :a2593. -:a2594 :a2594 :a2594. -:a2595 :a2595 :a2595. -:a2596 :a2596 :a2596. -:a2597 :a2597 :a2597. -:a2598 :a2598 :a2598. -:a2599 :a2599 :a2599. -:a2600 :a2600 :a2600. -:a2601 :a2601 :a2601. -:a2602 :a2602 :a2602. -:a2603 :a2603 :a2603. -:a2604 :a2604 :a2604. -:a2605 :a2605 :a2605. -:a2606 :a2606 :a2606. -:a2607 :a2607 :a2607. -:a2608 :a2608 :a2608. -:a2609 :a2609 :a2609. -:a2610 :a2610 :a2610. -:a2611 :a2611 :a2611. -:a2612 :a2612 :a2612. -:a2613 :a2613 :a2613. -:a2614 :a2614 :a2614. -:a2615 :a2615 :a2615. -:a2616 :a2616 :a2616. -:a2617 :a2617 :a2617. -:a2618 :a2618 :a2618. -:a2619 :a2619 :a2619. -:a2620 :a2620 :a2620. -:a2621 :a2621 :a2621. -:a2622 :a2622 :a2622. -:a2623 :a2623 :a2623. -:a2624 :a2624 :a2624. -:a2625 :a2625 :a2625. -:a2626 :a2626 :a2626. -:a2627 :a2627 :a2627. -:a2628 :a2628 :a2628. -:a2629 :a2629 :a2629. -:a2630 :a2630 :a2630. -:a2631 :a2631 :a2631. -:a2632 :a2632 :a2632. -:a2633 :a2633 :a2633. -:a2634 :a2634 :a2634. -:a2635 :a2635 :a2635. -:a2636 :a2636 :a2636. -:a2637 :a2637 :a2637. -:a2638 :a2638 :a2638. -:a2639 :a2639 :a2639. -:a2640 :a2640 :a2640. -:a2641 :a2641 :a2641. -:a2642 :a2642 :a2642. -:a2643 :a2643 :a2643. -:a2644 :a2644 :a2644. -:a2645 :a2645 :a2645. -:a2646 :a2646 :a2646. -:a2647 :a2647 :a2647. -:a2648 :a2648 :a2648. -:a2649 :a2649 :a2649. -:a2650 :a2650 :a2650. -:a2651 :a2651 :a2651. -:a2652 :a2652 :a2652. -:a2653 :a2653 :a2653. -:a2654 :a2654 :a2654. -:a2655 :a2655 :a2655. -:a2656 :a2656 :a2656. -:a2657 :a2657 :a2657. -:a2658 :a2658 :a2658. -:a2659 :a2659 :a2659. -:a2660 :a2660 :a2660. -:a2661 :a2661 :a2661. -:a2662 :a2662 :a2662. -:a2663 :a2663 :a2663. -:a2664 :a2664 :a2664. -:a2665 :a2665 :a2665. -:a2666 :a2666 :a2666. -:a2667 :a2667 :a2667. -:a2668 :a2668 :a2668. -:a2669 :a2669 :a2669. -:a2670 :a2670 :a2670. -:a2671 :a2671 :a2671. -:a2672 :a2672 :a2672. -:a2673 :a2673 :a2673. -:a2674 :a2674 :a2674. -:a2675 :a2675 :a2675. -:a2676 :a2676 :a2676. -:a2677 :a2677 :a2677. -:a2678 :a2678 :a2678. -:a2679 :a2679 :a2679. -:a2680 :a2680 :a2680. -:a2681 :a2681 :a2681. -:a2682 :a2682 :a2682. -:a2683 :a2683 :a2683. -:a2684 :a2684 :a2684. -:a2685 :a2685 :a2685. -:a2686 :a2686 :a2686. -:a2687 :a2687 :a2687. -:a2688 :a2688 :a2688. -:a2689 :a2689 :a2689. -:a2690 :a2690 :a2690. -:a2691 :a2691 :a2691. -:a2692 :a2692 :a2692. -:a2693 :a2693 :a2693. -:a2694 :a2694 :a2694. -:a2695 :a2695 :a2695. -:a2696 :a2696 :a2696. -:a2697 :a2697 :a2697. -:a2698 :a2698 :a2698. -:a2699 :a2699 :a2699. -:a2700 :a2700 :a2700. -:a2701 :a2701 :a2701. -:a2702 :a2702 :a2702. -:a2703 :a2703 :a2703. -:a2704 :a2704 :a2704. -:a2705 :a2705 :a2705. -:a2706 :a2706 :a2706. -:a2707 :a2707 :a2707. -:a2708 :a2708 :a2708. -:a2709 :a2709 :a2709. -:a2710 :a2710 :a2710. -:a2711 :a2711 :a2711. -:a2712 :a2712 :a2712. -:a2713 :a2713 :a2713. -:a2714 :a2714 :a2714. -:a2715 :a2715 :a2715. -:a2716 :a2716 :a2716. -:a2717 :a2717 :a2717. -:a2718 :a2718 :a2718. -:a2719 :a2719 :a2719. -:a2720 :a2720 :a2720. -:a2721 :a2721 :a2721. -:a2722 :a2722 :a2722. -:a2723 :a2723 :a2723. -:a2724 :a2724 :a2724. -:a2725 :a2725 :a2725. -:a2726 :a2726 :a2726. -:a2727 :a2727 :a2727. -:a2728 :a2728 :a2728. -:a2729 :a2729 :a2729. -:a2730 :a2730 :a2730. -:a2731 :a2731 :a2731. -:a2732 :a2732 :a2732. -:a2733 :a2733 :a2733. -:a2734 :a2734 :a2734. -:a2735 :a2735 :a2735. -:a2736 :a2736 :a2736. -:a2737 :a2737 :a2737. -:a2738 :a2738 :a2738. -:a2739 :a2739 :a2739. -:a2740 :a2740 :a2740. -:a2741 :a2741 :a2741. -:a2742 :a2742 :a2742. -:a2743 :a2743 :a2743. -:a2744 :a2744 :a2744. -:a2745 :a2745 :a2745. -:a2746 :a2746 :a2746. -:a2747 :a2747 :a2747. -:a2748 :a2748 :a2748. -:a2749 :a2749 :a2749. -:a2750 :a2750 :a2750. -:a2751 :a2751 :a2751. -:a2752 :a2752 :a2752. -:a2753 :a2753 :a2753. -:a2754 :a2754 :a2754. -:a2755 :a2755 :a2755. -:a2756 :a2756 :a2756. -:a2757 :a2757 :a2757. -:a2758 :a2758 :a2758. -:a2759 :a2759 :a2759. -:a2760 :a2760 :a2760. -:a2761 :a2761 :a2761. -:a2762 :a2762 :a2762. -:a2763 :a2763 :a2763. -:a2764 :a2764 :a2764. -:a2765 :a2765 :a2765. -:a2766 :a2766 :a2766. -:a2767 :a2767 :a2767. -:a2768 :a2768 :a2768. -:a2769 :a2769 :a2769. -:a2770 :a2770 :a2770. -:a2771 :a2771 :a2771. -:a2772 :a2772 :a2772. -:a2773 :a2773 :a2773. -:a2774 :a2774 :a2774. -:a2775 :a2775 :a2775. -:a2776 :a2776 :a2776. -:a2777 :a2777 :a2777. -:a2778 :a2778 :a2778. -:a2779 :a2779 :a2779. -:a2780 :a2780 :a2780. -:a2781 :a2781 :a2781. -:a2782 :a2782 :a2782. -:a2783 :a2783 :a2783. -:a2784 :a2784 :a2784. -:a2785 :a2785 :a2785. -:a2786 :a2786 :a2786. -:a2787 :a2787 :a2787. -:a2788 :a2788 :a2788. -:a2789 :a2789 :a2789. -:a2790 :a2790 :a2790. -:a2791 :a2791 :a2791. -:a2792 :a2792 :a2792. -:a2793 :a2793 :a2793. -:a2794 :a2794 :a2794. -:a2795 :a2795 :a2795. -:a2796 :a2796 :a2796. -:a2797 :a2797 :a2797. -:a2798 :a2798 :a2798. -:a2799 :a2799 :a2799. -:a2800 :a2800 :a2800. -:a2801 :a2801 :a2801. -:a2802 :a2802 :a2802. -:a2803 :a2803 :a2803. -:a2804 :a2804 :a2804. -:a2805 :a2805 :a2805. -:a2806 :a2806 :a2806. -:a2807 :a2807 :a2807. -:a2808 :a2808 :a2808. -:a2809 :a2809 :a2809. -:a2810 :a2810 :a2810. -:a2811 :a2811 :a2811. -:a2812 :a2812 :a2812. -:a2813 :a2813 :a2813. -:a2814 :a2814 :a2814. -:a2815 :a2815 :a2815. -:a2816 :a2816 :a2816. -:a2817 :a2817 :a2817. -:a2818 :a2818 :a2818. -:a2819 :a2819 :a2819. -:a2820 :a2820 :a2820. -:a2821 :a2821 :a2821. -:a2822 :a2822 :a2822. -:a2823 :a2823 :a2823. -:a2824 :a2824 :a2824. -:a2825 :a2825 :a2825. -:a2826 :a2826 :a2826. -:a2827 :a2827 :a2827. -:a2828 :a2828 :a2828. -:a2829 :a2829 :a2829. -:a2830 :a2830 :a2830. -:a2831 :a2831 :a2831. -:a2832 :a2832 :a2832. -:a2833 :a2833 :a2833. -:a2834 :a2834 :a2834. -:a2835 :a2835 :a2835. -:a2836 :a2836 :a2836. -:a2837 :a2837 :a2837. -:a2838 :a2838 :a2838. -:a2839 :a2839 :a2839. -:a2840 :a2840 :a2840. -:a2841 :a2841 :a2841. -:a2842 :a2842 :a2842. -:a2843 :a2843 :a2843. -:a2844 :a2844 :a2844. -:a2845 :a2845 :a2845. -:a2846 :a2846 :a2846. -:a2847 :a2847 :a2847. -:a2848 :a2848 :a2848. -:a2849 :a2849 :a2849. -:a2850 :a2850 :a2850. -:a2851 :a2851 :a2851. -:a2852 :a2852 :a2852. -:a2853 :a2853 :a2853. -:a2854 :a2854 :a2854. -:a2855 :a2855 :a2855. -:a2856 :a2856 :a2856. -:a2857 :a2857 :a2857. -:a2858 :a2858 :a2858. -:a2859 :a2859 :a2859. -:a2860 :a2860 :a2860. -:a2861 :a2861 :a2861. -:a2862 :a2862 :a2862. -:a2863 :a2863 :a2863. -:a2864 :a2864 :a2864. -:a2865 :a2865 :a2865. -:a2866 :a2866 :a2866. -:a2867 :a2867 :a2867. -:a2868 :a2868 :a2868. -:a2869 :a2869 :a2869. -:a2870 :a2870 :a2870. -:a2871 :a2871 :a2871. -:a2872 :a2872 :a2872. -:a2873 :a2873 :a2873. -:a2874 :a2874 :a2874. -:a2875 :a2875 :a2875. -:a2876 :a2876 :a2876. -:a2877 :a2877 :a2877. -:a2878 :a2878 :a2878. -:a2879 :a2879 :a2879. -:a2880 :a2880 :a2880. -:a2881 :a2881 :a2881. -:a2882 :a2882 :a2882. -:a2883 :a2883 :a2883. -:a2884 :a2884 :a2884. -:a2885 :a2885 :a2885. -:a2886 :a2886 :a2886. -:a2887 :a2887 :a2887. -:a2888 :a2888 :a2888. -:a2889 :a2889 :a2889. -:a2890 :a2890 :a2890. -:a2891 :a2891 :a2891. -:a2892 :a2892 :a2892. -:a2893 :a2893 :a2893. -:a2894 :a2894 :a2894. -:a2895 :a2895 :a2895. -:a2896 :a2896 :a2896. -:a2897 :a2897 :a2897. -:a2898 :a2898 :a2898. -:a2899 :a2899 :a2899. -:a2900 :a2900 :a2900. -:a2901 :a2901 :a2901. -:a2902 :a2902 :a2902. -:a2903 :a2903 :a2903. -:a2904 :a2904 :a2904. -:a2905 :a2905 :a2905. -:a2906 :a2906 :a2906. -:a2907 :a2907 :a2907. -:a2908 :a2908 :a2908. -:a2909 :a2909 :a2909. -:a2910 :a2910 :a2910. -:a2911 :a2911 :a2911. -:a2912 :a2912 :a2912. -:a2913 :a2913 :a2913. -:a2914 :a2914 :a2914. -:a2915 :a2915 :a2915. -:a2916 :a2916 :a2916. -:a2917 :a2917 :a2917. -:a2918 :a2918 :a2918. -:a2919 :a2919 :a2919. -:a2920 :a2920 :a2920. -:a2921 :a2921 :a2921. -:a2922 :a2922 :a2922. -:a2923 :a2923 :a2923. -:a2924 :a2924 :a2924. -:a2925 :a2925 :a2925. -:a2926 :a2926 :a2926. -:a2927 :a2927 :a2927. -:a2928 :a2928 :a2928. -:a2929 :a2929 :a2929. -:a2930 :a2930 :a2930. -:a2931 :a2931 :a2931. -:a2932 :a2932 :a2932. -:a2933 :a2933 :a2933. -:a2934 :a2934 :a2934. -:a2935 :a2935 :a2935. -:a2936 :a2936 :a2936. -:a2937 :a2937 :a2937. -:a2938 :a2938 :a2938. -:a2939 :a2939 :a2939. -:a2940 :a2940 :a2940. -:a2941 :a2941 :a2941. -:a2942 :a2942 :a2942. -:a2943 :a2943 :a2943. -:a2944 :a2944 :a2944. -:a2945 :a2945 :a2945. -:a2946 :a2946 :a2946. -:a2947 :a2947 :a2947. -:a2948 :a2948 :a2948. -:a2949 :a2949 :a2949. -:a2950 :a2950 :a2950. -:a2951 :a2951 :a2951. -:a2952 :a2952 :a2952. -:a2953 :a2953 :a2953. -:a2954 :a2954 :a2954. -:a2955 :a2955 :a2955. -:a2956 :a2956 :a2956. -:a2957 :a2957 :a2957. -:a2958 :a2958 :a2958. -:a2959 :a2959 :a2959. -:a2960 :a2960 :a2960. -:a2961 :a2961 :a2961. -:a2962 :a2962 :a2962. -:a2963 :a2963 :a2963. -:a2964 :a2964 :a2964. -:a2965 :a2965 :a2965. -:a2966 :a2966 :a2966. -:a2967 :a2967 :a2967. -:a2968 :a2968 :a2968. -:a2969 :a2969 :a2969. -:a2970 :a2970 :a2970. -:a2971 :a2971 :a2971. -:a2972 :a2972 :a2972. -:a2973 :a2973 :a2973. -:a2974 :a2974 :a2974. -:a2975 :a2975 :a2975. -:a2976 :a2976 :a2976. -:a2977 :a2977 :a2977. -:a2978 :a2978 :a2978. -:a2979 :a2979 :a2979. -:a2980 :a2980 :a2980. -:a2981 :a2981 :a2981. -:a2982 :a2982 :a2982. -:a2983 :a2983 :a2983. -:a2984 :a2984 :a2984. -:a2985 :a2985 :a2985. -:a2986 :a2986 :a2986. -:a2987 :a2987 :a2987. -:a2988 :a2988 :a2988. -:a2989 :a2989 :a2989. -:a2990 :a2990 :a2990. -:a2991 :a2991 :a2991. -:a2992 :a2992 :a2992. -:a2993 :a2993 :a2993. -:a2994 :a2994 :a2994. -:a2995 :a2995 :a2995. -:a2996 :a2996 :a2996. -:a2997 :a2997 :a2997. -:a2998 :a2998 :a2998. -:a2999 :a2999 :a2999. -:a3000 :a3000 :a3000. -:a3001 :a3001 :a3001. -:a3002 :a3002 :a3002. -:a3003 :a3003 :a3003. -:a3004 :a3004 :a3004. -:a3005 :a3005 :a3005. -:a3006 :a3006 :a3006. -:a3007 :a3007 :a3007. -:a3008 :a3008 :a3008. -:a3009 :a3009 :a3009. -:a3010 :a3010 :a3010. -:a3011 :a3011 :a3011. -:a3012 :a3012 :a3012. -:a3013 :a3013 :a3013. -:a3014 :a3014 :a3014. -:a3015 :a3015 :a3015. -:a3016 :a3016 :a3016. -:a3017 :a3017 :a3017. -:a3018 :a3018 :a3018. -:a3019 :a3019 :a3019. -:a3020 :a3020 :a3020. -:a3021 :a3021 :a3021. -:a3022 :a3022 :a3022. -:a3023 :a3023 :a3023. -:a3024 :a3024 :a3024. -:a3025 :a3025 :a3025. -:a3026 :a3026 :a3026. -:a3027 :a3027 :a3027. -:a3028 :a3028 :a3028. -:a3029 :a3029 :a3029. -:a3030 :a3030 :a3030. -:a3031 :a3031 :a3031. -:a3032 :a3032 :a3032. -:a3033 :a3033 :a3033. -:a3034 :a3034 :a3034. -:a3035 :a3035 :a3035. -:a3036 :a3036 :a3036. -:a3037 :a3037 :a3037. -:a3038 :a3038 :a3038. -:a3039 :a3039 :a3039. -:a3040 :a3040 :a3040. -:a3041 :a3041 :a3041. -:a3042 :a3042 :a3042. -:a3043 :a3043 :a3043. -:a3044 :a3044 :a3044. -:a3045 :a3045 :a3045. -:a3046 :a3046 :a3046. -:a3047 :a3047 :a3047. -:a3048 :a3048 :a3048. -:a3049 :a3049 :a3049. -:a3050 :a3050 :a3050. -:a3051 :a3051 :a3051. -:a3052 :a3052 :a3052. -:a3053 :a3053 :a3053. -:a3054 :a3054 :a3054. -:a3055 :a3055 :a3055. -:a3056 :a3056 :a3056. -:a3057 :a3057 :a3057. -:a3058 :a3058 :a3058. -:a3059 :a3059 :a3059. -:a3060 :a3060 :a3060. -:a3061 :a3061 :a3061. -:a3062 :a3062 :a3062. -:a3063 :a3063 :a3063. -:a3064 :a3064 :a3064. -:a3065 :a3065 :a3065. -:a3066 :a3066 :a3066. -:a3067 :a3067 :a3067. -:a3068 :a3068 :a3068. -:a3069 :a3069 :a3069. -:a3070 :a3070 :a3070. -:a3071 :a3071 :a3071. -:a3072 :a3072 :a3072. -:a3073 :a3073 :a3073. -:a3074 :a3074 :a3074. -:a3075 :a3075 :a3075. -:a3076 :a3076 :a3076. -:a3077 :a3077 :a3077. -:a3078 :a3078 :a3078. -:a3079 :a3079 :a3079. -:a3080 :a3080 :a3080. -:a3081 :a3081 :a3081. -:a3082 :a3082 :a3082. -:a3083 :a3083 :a3083. -:a3084 :a3084 :a3084. -:a3085 :a3085 :a3085. -:a3086 :a3086 :a3086. -:a3087 :a3087 :a3087. -:a3088 :a3088 :a3088. -:a3089 :a3089 :a3089. -:a3090 :a3090 :a3090. -:a3091 :a3091 :a3091. -:a3092 :a3092 :a3092. -:a3093 :a3093 :a3093. -:a3094 :a3094 :a3094. -:a3095 :a3095 :a3095. -:a3096 :a3096 :a3096. -:a3097 :a3097 :a3097. -:a3098 :a3098 :a3098. -:a3099 :a3099 :a3099. -:a3100 :a3100 :a3100. -:a3101 :a3101 :a3101. -:a3102 :a3102 :a3102. -:a3103 :a3103 :a3103. -:a3104 :a3104 :a3104. -:a3105 :a3105 :a3105. -:a3106 :a3106 :a3106. -:a3107 :a3107 :a3107. -:a3108 :a3108 :a3108. -:a3109 :a3109 :a3109. -:a3110 :a3110 :a3110. -:a3111 :a3111 :a3111. -:a3112 :a3112 :a3112. -:a3113 :a3113 :a3113. -:a3114 :a3114 :a3114. -:a3115 :a3115 :a3115. -:a3116 :a3116 :a3116. -:a3117 :a3117 :a3117. -:a3118 :a3118 :a3118. -:a3119 :a3119 :a3119. -:a3120 :a3120 :a3120. -:a3121 :a3121 :a3121. -:a3122 :a3122 :a3122. -:a3123 :a3123 :a3123. -:a3124 :a3124 :a3124. -:a3125 :a3125 :a3125. -:a3126 :a3126 :a3126. -:a3127 :a3127 :a3127. -:a3128 :a3128 :a3128. -:a3129 :a3129 :a3129. -:a3130 :a3130 :a3130. -:a3131 :a3131 :a3131. -:a3132 :a3132 :a3132. -:a3133 :a3133 :a3133. -:a3134 :a3134 :a3134. -:a3135 :a3135 :a3135. -:a3136 :a3136 :a3136. -:a3137 :a3137 :a3137. -:a3138 :a3138 :a3138. -:a3139 :a3139 :a3139. -:a3140 :a3140 :a3140. -:a3141 :a3141 :a3141. -:a3142 :a3142 :a3142. -:a3143 :a3143 :a3143. -:a3144 :a3144 :a3144. -:a3145 :a3145 :a3145. -:a3146 :a3146 :a3146. -:a3147 :a3147 :a3147. -:a3148 :a3148 :a3148. -:a3149 :a3149 :a3149. -:a3150 :a3150 :a3150. -:a3151 :a3151 :a3151. -:a3152 :a3152 :a3152. -:a3153 :a3153 :a3153. -:a3154 :a3154 :a3154. -:a3155 :a3155 :a3155. -:a3156 :a3156 :a3156. -:a3157 :a3157 :a3157. -:a3158 :a3158 :a3158. -:a3159 :a3159 :a3159. -:a3160 :a3160 :a3160. -:a3161 :a3161 :a3161. -:a3162 :a3162 :a3162. -:a3163 :a3163 :a3163. -:a3164 :a3164 :a3164. -:a3165 :a3165 :a3165. -:a3166 :a3166 :a3166. -:a3167 :a3167 :a3167. -:a3168 :a3168 :a3168. -:a3169 :a3169 :a3169. -:a3170 :a3170 :a3170. -:a3171 :a3171 :a3171. -:a3172 :a3172 :a3172. -:a3173 :a3173 :a3173. -:a3174 :a3174 :a3174. -:a3175 :a3175 :a3175. -:a3176 :a3176 :a3176. -:a3177 :a3177 :a3177. -:a3178 :a3178 :a3178. -:a3179 :a3179 :a3179. -:a3180 :a3180 :a3180. -:a3181 :a3181 :a3181. -:a3182 :a3182 :a3182. -:a3183 :a3183 :a3183. -:a3184 :a3184 :a3184. -:a3185 :a3185 :a3185. -:a3186 :a3186 :a3186. -:a3187 :a3187 :a3187. -:a3188 :a3188 :a3188. -:a3189 :a3189 :a3189. -:a3190 :a3190 :a3190. -:a3191 :a3191 :a3191. -:a3192 :a3192 :a3192. -:a3193 :a3193 :a3193. -:a3194 :a3194 :a3194. -:a3195 :a3195 :a3195. -:a3196 :a3196 :a3196. -:a3197 :a3197 :a3197. -:a3198 :a3198 :a3198. -:a3199 :a3199 :a3199. -:a3200 :a3200 :a3200. -:a3201 :a3201 :a3201. -:a3202 :a3202 :a3202. -:a3203 :a3203 :a3203. -:a3204 :a3204 :a3204. -:a3205 :a3205 :a3205. -:a3206 :a3206 :a3206. -:a3207 :a3207 :a3207. -:a3208 :a3208 :a3208. -:a3209 :a3209 :a3209. -:a3210 :a3210 :a3210. -:a3211 :a3211 :a3211. -:a3212 :a3212 :a3212. -:a3213 :a3213 :a3213. -:a3214 :a3214 :a3214. -:a3215 :a3215 :a3215. -:a3216 :a3216 :a3216. -:a3217 :a3217 :a3217. -:a3218 :a3218 :a3218. -:a3219 :a3219 :a3219. -:a3220 :a3220 :a3220. -:a3221 :a3221 :a3221. -:a3222 :a3222 :a3222. -:a3223 :a3223 :a3223. -:a3224 :a3224 :a3224. -:a3225 :a3225 :a3225. -:a3226 :a3226 :a3226. -:a3227 :a3227 :a3227. -:a3228 :a3228 :a3228. -:a3229 :a3229 :a3229. -:a3230 :a3230 :a3230. -:a3231 :a3231 :a3231. -:a3232 :a3232 :a3232. -:a3233 :a3233 :a3233. -:a3234 :a3234 :a3234. -:a3235 :a3235 :a3235. -:a3236 :a3236 :a3236. -:a3237 :a3237 :a3237. -:a3238 :a3238 :a3238. -:a3239 :a3239 :a3239. -:a3240 :a3240 :a3240. -:a3241 :a3241 :a3241. -:a3242 :a3242 :a3242. -:a3243 :a3243 :a3243. -:a3244 :a3244 :a3244. -:a3245 :a3245 :a3245. -:a3246 :a3246 :a3246. -:a3247 :a3247 :a3247. -:a3248 :a3248 :a3248. -:a3249 :a3249 :a3249. -:a3250 :a3250 :a3250. -:a3251 :a3251 :a3251. -:a3252 :a3252 :a3252. -:a3253 :a3253 :a3253. -:a3254 :a3254 :a3254. -:a3255 :a3255 :a3255. -:a3256 :a3256 :a3256. -:a3257 :a3257 :a3257. -:a3258 :a3258 :a3258. -:a3259 :a3259 :a3259. -:a3260 :a3260 :a3260. -:a3261 :a3261 :a3261. -:a3262 :a3262 :a3262. -:a3263 :a3263 :a3263. -:a3264 :a3264 :a3264. -:a3265 :a3265 :a3265. -:a3266 :a3266 :a3266. -:a3267 :a3267 :a3267. -:a3268 :a3268 :a3268. -:a3269 :a3269 :a3269. -:a3270 :a3270 :a3270. -:a3271 :a3271 :a3271. -:a3272 :a3272 :a3272. -:a3273 :a3273 :a3273. -:a3274 :a3274 :a3274. -:a3275 :a3275 :a3275. -:a3276 :a3276 :a3276. -:a3277 :a3277 :a3277. -:a3278 :a3278 :a3278. -:a3279 :a3279 :a3279. -:a3280 :a3280 :a3280. -:a3281 :a3281 :a3281. -:a3282 :a3282 :a3282. -:a3283 :a3283 :a3283. -:a3284 :a3284 :a3284. -:a3285 :a3285 :a3285. -:a3286 :a3286 :a3286. -:a3287 :a3287 :a3287. -:a3288 :a3288 :a3288. -:a3289 :a3289 :a3289. -:a3290 :a3290 :a3290. -:a3291 :a3291 :a3291. -:a3292 :a3292 :a3292. -:a3293 :a3293 :a3293. -:a3294 :a3294 :a3294. -:a3295 :a3295 :a3295. -:a3296 :a3296 :a3296. -:a3297 :a3297 :a3297. -:a3298 :a3298 :a3298. -:a3299 :a3299 :a3299. -:a3300 :a3300 :a3300. -:a3301 :a3301 :a3301. -:a3302 :a3302 :a3302. -:a3303 :a3303 :a3303. -:a3304 :a3304 :a3304. -:a3305 :a3305 :a3305. -:a3306 :a3306 :a3306. -:a3307 :a3307 :a3307. -:a3308 :a3308 :a3308. -:a3309 :a3309 :a3309. -:a3310 :a3310 :a3310. -:a3311 :a3311 :a3311. -:a3312 :a3312 :a3312. -:a3313 :a3313 :a3313. -:a3314 :a3314 :a3314. -:a3315 :a3315 :a3315. -:a3316 :a3316 :a3316. -:a3317 :a3317 :a3317. -:a3318 :a3318 :a3318. -:a3319 :a3319 :a3319. -:a3320 :a3320 :a3320. -:a3321 :a3321 :a3321. -:a3322 :a3322 :a3322. -:a3323 :a3323 :a3323. -:a3324 :a3324 :a3324. -:a3325 :a3325 :a3325. -:a3326 :a3326 :a3326. -:a3327 :a3327 :a3327. -:a3328 :a3328 :a3328. -:a3329 :a3329 :a3329. -:a3330 :a3330 :a3330. -:a3331 :a3331 :a3331. -:a3332 :a3332 :a3332. -:a3333 :a3333 :a3333. -:a3334 :a3334 :a3334. -:a3335 :a3335 :a3335. -:a3336 :a3336 :a3336. -:a3337 :a3337 :a3337. -:a3338 :a3338 :a3338. -:a3339 :a3339 :a3339. -:a3340 :a3340 :a3340. -:a3341 :a3341 :a3341. -:a3342 :a3342 :a3342. -:a3343 :a3343 :a3343. -:a3344 :a3344 :a3344. -:a3345 :a3345 :a3345. -:a3346 :a3346 :a3346. -:a3347 :a3347 :a3347. -:a3348 :a3348 :a3348. -:a3349 :a3349 :a3349. -:a3350 :a3350 :a3350. -:a3351 :a3351 :a3351. -:a3352 :a3352 :a3352. -:a3353 :a3353 :a3353. -:a3354 :a3354 :a3354. -:a3355 :a3355 :a3355. -:a3356 :a3356 :a3356. -:a3357 :a3357 :a3357. -:a3358 :a3358 :a3358. -:a3359 :a3359 :a3359. -:a3360 :a3360 :a3360. -:a3361 :a3361 :a3361. -:a3362 :a3362 :a3362. -:a3363 :a3363 :a3363. -:a3364 :a3364 :a3364. -:a3365 :a3365 :a3365. -:a3366 :a3366 :a3366. -:a3367 :a3367 :a3367. -:a3368 :a3368 :a3368. -:a3369 :a3369 :a3369. -:a3370 :a3370 :a3370. -:a3371 :a3371 :a3371. -:a3372 :a3372 :a3372. -:a3373 :a3373 :a3373. -:a3374 :a3374 :a3374. -:a3375 :a3375 :a3375. -:a3376 :a3376 :a3376. -:a3377 :a3377 :a3377. -:a3378 :a3378 :a3378. -:a3379 :a3379 :a3379. -:a3380 :a3380 :a3380. -:a3381 :a3381 :a3381. -:a3382 :a3382 :a3382. -:a3383 :a3383 :a3383. -:a3384 :a3384 :a3384. -:a3385 :a3385 :a3385. -:a3386 :a3386 :a3386. -:a3387 :a3387 :a3387. -:a3388 :a3388 :a3388. -:a3389 :a3389 :a3389. -:a3390 :a3390 :a3390. -:a3391 :a3391 :a3391. -:a3392 :a3392 :a3392. -:a3393 :a3393 :a3393. -:a3394 :a3394 :a3394. -:a3395 :a3395 :a3395. -:a3396 :a3396 :a3396. -:a3397 :a3397 :a3397. -:a3398 :a3398 :a3398. -:a3399 :a3399 :a3399. -:a3400 :a3400 :a3400. -:a3401 :a3401 :a3401. -:a3402 :a3402 :a3402. -:a3403 :a3403 :a3403. -:a3404 :a3404 :a3404. -:a3405 :a3405 :a3405. -:a3406 :a3406 :a3406. -:a3407 :a3407 :a3407. -:a3408 :a3408 :a3408. -:a3409 :a3409 :a3409. -:a3410 :a3410 :a3410. -:a3411 :a3411 :a3411. -:a3412 :a3412 :a3412. -:a3413 :a3413 :a3413. -:a3414 :a3414 :a3414. -:a3415 :a3415 :a3415. -:a3416 :a3416 :a3416. -:a3417 :a3417 :a3417. -:a3418 :a3418 :a3418. -:a3419 :a3419 :a3419. -:a3420 :a3420 :a3420. -:a3421 :a3421 :a3421. -:a3422 :a3422 :a3422. -:a3423 :a3423 :a3423. -:a3424 :a3424 :a3424. -:a3425 :a3425 :a3425. -:a3426 :a3426 :a3426. -:a3427 :a3427 :a3427. -:a3428 :a3428 :a3428. -:a3429 :a3429 :a3429. -:a3430 :a3430 :a3430. -:a3431 :a3431 :a3431. -:a3432 :a3432 :a3432. -:a3433 :a3433 :a3433. -:a3434 :a3434 :a3434. -:a3435 :a3435 :a3435. -:a3436 :a3436 :a3436. -:a3437 :a3437 :a3437. -:a3438 :a3438 :a3438. -:a3439 :a3439 :a3439. -:a3440 :a3440 :a3440. -:a3441 :a3441 :a3441. -:a3442 :a3442 :a3442. -:a3443 :a3443 :a3443. -:a3444 :a3444 :a3444. -:a3445 :a3445 :a3445. -:a3446 :a3446 :a3446. -:a3447 :a3447 :a3447. -:a3448 :a3448 :a3448. -:a3449 :a3449 :a3449. -:a3450 :a3450 :a3450. -:a3451 :a3451 :a3451. -:a3452 :a3452 :a3452. -:a3453 :a3453 :a3453. -:a3454 :a3454 :a3454. -:a3455 :a3455 :a3455. -:a3456 :a3456 :a3456. -:a3457 :a3457 :a3457. -:a3458 :a3458 :a3458. -:a3459 :a3459 :a3459. -:a3460 :a3460 :a3460. -:a3461 :a3461 :a3461. -:a3462 :a3462 :a3462. -:a3463 :a3463 :a3463. -:a3464 :a3464 :a3464. -:a3465 :a3465 :a3465. -:a3466 :a3466 :a3466. -:a3467 :a3467 :a3467. -:a3468 :a3468 :a3468. -:a3469 :a3469 :a3469. -:a3470 :a3470 :a3470. -:a3471 :a3471 :a3471. -:a3472 :a3472 :a3472. -:a3473 :a3473 :a3473. -:a3474 :a3474 :a3474. -:a3475 :a3475 :a3475. -:a3476 :a3476 :a3476. -:a3477 :a3477 :a3477. -:a3478 :a3478 :a3478. -:a3479 :a3479 :a3479. -:a3480 :a3480 :a3480. -:a3481 :a3481 :a3481. -:a3482 :a3482 :a3482. -:a3483 :a3483 :a3483. -:a3484 :a3484 :a3484. -:a3485 :a3485 :a3485. -:a3486 :a3486 :a3486. -:a3487 :a3487 :a3487. -:a3488 :a3488 :a3488. -:a3489 :a3489 :a3489. -:a3490 :a3490 :a3490. -:a3491 :a3491 :a3491. -:a3492 :a3492 :a3492. -:a3493 :a3493 :a3493. -:a3494 :a3494 :a3494. -:a3495 :a3495 :a3495. -:a3496 :a3496 :a3496. -:a3497 :a3497 :a3497. -:a3498 :a3498 :a3498. -:a3499 :a3499 :a3499. -:a3500 :a3500 :a3500. -:a3501 :a3501 :a3501. -:a3502 :a3502 :a3502. -:a3503 :a3503 :a3503. -:a3504 :a3504 :a3504. -:a3505 :a3505 :a3505. -:a3506 :a3506 :a3506. -:a3507 :a3507 :a3507. -:a3508 :a3508 :a3508. -:a3509 :a3509 :a3509. -:a3510 :a3510 :a3510. -:a3511 :a3511 :a3511. -:a3512 :a3512 :a3512. -:a3513 :a3513 :a3513. -:a3514 :a3514 :a3514. -:a3515 :a3515 :a3515. -:a3516 :a3516 :a3516. -:a3517 :a3517 :a3517. -:a3518 :a3518 :a3518. -:a3519 :a3519 :a3519. -:a3520 :a3520 :a3520. -:a3521 :a3521 :a3521. -:a3522 :a3522 :a3522. -:a3523 :a3523 :a3523. -:a3524 :a3524 :a3524. -:a3525 :a3525 :a3525. -:a3526 :a3526 :a3526. -:a3527 :a3527 :a3527. -:a3528 :a3528 :a3528. -:a3529 :a3529 :a3529. -:a3530 :a3530 :a3530. -:a3531 :a3531 :a3531. -:a3532 :a3532 :a3532. -:a3533 :a3533 :a3533. -:a3534 :a3534 :a3534. -:a3535 :a3535 :a3535. -:a3536 :a3536 :a3536. -:a3537 :a3537 :a3537. -:a3538 :a3538 :a3538. -:a3539 :a3539 :a3539. -:a3540 :a3540 :a3540. -:a3541 :a3541 :a3541. -:a3542 :a3542 :a3542. -:a3543 :a3543 :a3543. -:a3544 :a3544 :a3544. -:a3545 :a3545 :a3545. -:a3546 :a3546 :a3546. -:a3547 :a3547 :a3547. -:a3548 :a3548 :a3548. -:a3549 :a3549 :a3549. -:a3550 :a3550 :a3550. -:a3551 :a3551 :a3551. -:a3552 :a3552 :a3552. -:a3553 :a3553 :a3553. -:a3554 :a3554 :a3554. -:a3555 :a3555 :a3555. -:a3556 :a3556 :a3556. -:a3557 :a3557 :a3557. -:a3558 :a3558 :a3558. -:a3559 :a3559 :a3559. -:a3560 :a3560 :a3560. -:a3561 :a3561 :a3561. -:a3562 :a3562 :a3562. -:a3563 :a3563 :a3563. -:a3564 :a3564 :a3564. -:a3565 :a3565 :a3565. -:a3566 :a3566 :a3566. -:a3567 :a3567 :a3567. -:a3568 :a3568 :a3568. -:a3569 :a3569 :a3569. -:a3570 :a3570 :a3570. -:a3571 :a3571 :a3571. -:a3572 :a3572 :a3572. -:a3573 :a3573 :a3573. -:a3574 :a3574 :a3574. -:a3575 :a3575 :a3575. -:a3576 :a3576 :a3576. -:a3577 :a3577 :a3577. -:a3578 :a3578 :a3578. -:a3579 :a3579 :a3579. -:a3580 :a3580 :a3580. -:a3581 :a3581 :a3581. -:a3582 :a3582 :a3582. -:a3583 :a3583 :a3583. -:a3584 :a3584 :a3584. -:a3585 :a3585 :a3585. -:a3586 :a3586 :a3586. -:a3587 :a3587 :a3587. -:a3588 :a3588 :a3588. -:a3589 :a3589 :a3589. -:a3590 :a3590 :a3590. -:a3591 :a3591 :a3591. -:a3592 :a3592 :a3592. -:a3593 :a3593 :a3593. -:a3594 :a3594 :a3594. -:a3595 :a3595 :a3595. -:a3596 :a3596 :a3596. -:a3597 :a3597 :a3597. -:a3598 :a3598 :a3598. -:a3599 :a3599 :a3599. -:a3600 :a3600 :a3600. -:a3601 :a3601 :a3601. -:a3602 :a3602 :a3602. -:a3603 :a3603 :a3603. -:a3604 :a3604 :a3604. -:a3605 :a3605 :a3605. -:a3606 :a3606 :a3606. -:a3607 :a3607 :a3607. -:a3608 :a3608 :a3608. -:a3609 :a3609 :a3609. -:a3610 :a3610 :a3610. -:a3611 :a3611 :a3611. -:a3612 :a3612 :a3612. -:a3613 :a3613 :a3613. -:a3614 :a3614 :a3614. -:a3615 :a3615 :a3615. -:a3616 :a3616 :a3616. -:a3617 :a3617 :a3617. -:a3618 :a3618 :a3618. -:a3619 :a3619 :a3619. -:a3620 :a3620 :a3620. -:a3621 :a3621 :a3621. -:a3622 :a3622 :a3622. -:a3623 :a3623 :a3623. -:a3624 :a3624 :a3624. -:a3625 :a3625 :a3625. -:a3626 :a3626 :a3626. -:a3627 :a3627 :a3627. -:a3628 :a3628 :a3628. -:a3629 :a3629 :a3629. -:a3630 :a3630 :a3630. -:a3631 :a3631 :a3631. -:a3632 :a3632 :a3632. -:a3633 :a3633 :a3633. -:a3634 :a3634 :a3634. -:a3635 :a3635 :a3635. -:a3636 :a3636 :a3636. -:a3637 :a3637 :a3637. -:a3638 :a3638 :a3638. -:a3639 :a3639 :a3639. -:a3640 :a3640 :a3640. -:a3641 :a3641 :a3641. -:a3642 :a3642 :a3642. -:a3643 :a3643 :a3643. -:a3644 :a3644 :a3644. -:a3645 :a3645 :a3645. -:a3646 :a3646 :a3646. -:a3647 :a3647 :a3647. -:a3648 :a3648 :a3648. -:a3649 :a3649 :a3649. -:a3650 :a3650 :a3650. -:a3651 :a3651 :a3651. -:a3652 :a3652 :a3652. -:a3653 :a3653 :a3653. -:a3654 :a3654 :a3654. -:a3655 :a3655 :a3655. -:a3656 :a3656 :a3656. -:a3657 :a3657 :a3657. -:a3658 :a3658 :a3658. -:a3659 :a3659 :a3659. -:a3660 :a3660 :a3660. -:a3661 :a3661 :a3661. -:a3662 :a3662 :a3662. -:a3663 :a3663 :a3663. -:a3664 :a3664 :a3664. -:a3665 :a3665 :a3665. -:a3666 :a3666 :a3666. -:a3667 :a3667 :a3667. -:a3668 :a3668 :a3668. -:a3669 :a3669 :a3669. -:a3670 :a3670 :a3670. -:a3671 :a3671 :a3671. -:a3672 :a3672 :a3672. -:a3673 :a3673 :a3673. -:a3674 :a3674 :a3674. -:a3675 :a3675 :a3675. -:a3676 :a3676 :a3676. -:a3677 :a3677 :a3677. -:a3678 :a3678 :a3678. -:a3679 :a3679 :a3679. -:a3680 :a3680 :a3680. -:a3681 :a3681 :a3681. -:a3682 :a3682 :a3682. -:a3683 :a3683 :a3683. -:a3684 :a3684 :a3684. -:a3685 :a3685 :a3685. -:a3686 :a3686 :a3686. -:a3687 :a3687 :a3687. -:a3688 :a3688 :a3688. -:a3689 :a3689 :a3689. -:a3690 :a3690 :a3690. -:a3691 :a3691 :a3691. -:a3692 :a3692 :a3692. -:a3693 :a3693 :a3693. -:a3694 :a3694 :a3694. -:a3695 :a3695 :a3695. -:a3696 :a3696 :a3696. -:a3697 :a3697 :a3697. -:a3698 :a3698 :a3698. -:a3699 :a3699 :a3699. -:a3700 :a3700 :a3700. -:a3701 :a3701 :a3701. -:a3702 :a3702 :a3702. -:a3703 :a3703 :a3703. -:a3704 :a3704 :a3704. -:a3705 :a3705 :a3705. -:a3706 :a3706 :a3706. -:a3707 :a3707 :a3707. -:a3708 :a3708 :a3708. -:a3709 :a3709 :a3709. -:a3710 :a3710 :a3710. -:a3711 :a3711 :a3711. -:a3712 :a3712 :a3712. -:a3713 :a3713 :a3713. -:a3714 :a3714 :a3714. -:a3715 :a3715 :a3715. -:a3716 :a3716 :a3716. -:a3717 :a3717 :a3717. -:a3718 :a3718 :a3718. -:a3719 :a3719 :a3719. -:a3720 :a3720 :a3720. -:a3721 :a3721 :a3721. -:a3722 :a3722 :a3722. -:a3723 :a3723 :a3723. -:a3724 :a3724 :a3724. -:a3725 :a3725 :a3725. -:a3726 :a3726 :a3726. -:a3727 :a3727 :a3727. -:a3728 :a3728 :a3728. -:a3729 :a3729 :a3729. -:a3730 :a3730 :a3730. -:a3731 :a3731 :a3731. -:a3732 :a3732 :a3732. -:a3733 :a3733 :a3733. -:a3734 :a3734 :a3734. -:a3735 :a3735 :a3735. -:a3736 :a3736 :a3736. -:a3737 :a3737 :a3737. -:a3738 :a3738 :a3738. -:a3739 :a3739 :a3739. -:a3740 :a3740 :a3740. -:a3741 :a3741 :a3741. -:a3742 :a3742 :a3742. -:a3743 :a3743 :a3743. -:a3744 :a3744 :a3744. -:a3745 :a3745 :a3745. -:a3746 :a3746 :a3746. -:a3747 :a3747 :a3747. -:a3748 :a3748 :a3748. -:a3749 :a3749 :a3749. -:a3750 :a3750 :a3750. -:a3751 :a3751 :a3751. -:a3752 :a3752 :a3752. -:a3753 :a3753 :a3753. -:a3754 :a3754 :a3754. -:a3755 :a3755 :a3755. -:a3756 :a3756 :a3756. -:a3757 :a3757 :a3757. -:a3758 :a3758 :a3758. -:a3759 :a3759 :a3759. -:a3760 :a3760 :a3760. -:a3761 :a3761 :a3761. -:a3762 :a3762 :a3762. -:a3763 :a3763 :a3763. -:a3764 :a3764 :a3764. -:a3765 :a3765 :a3765. -:a3766 :a3766 :a3766. -:a3767 :a3767 :a3767. -:a3768 :a3768 :a3768. -:a3769 :a3769 :a3769. -:a3770 :a3770 :a3770. -:a3771 :a3771 :a3771. -:a3772 :a3772 :a3772. -:a3773 :a3773 :a3773. -:a3774 :a3774 :a3774. -:a3775 :a3775 :a3775. -:a3776 :a3776 :a3776. -:a3777 :a3777 :a3777. -:a3778 :a3778 :a3778. -:a3779 :a3779 :a3779. -:a3780 :a3780 :a3780. -:a3781 :a3781 :a3781. -:a3782 :a3782 :a3782. -:a3783 :a3783 :a3783. -:a3784 :a3784 :a3784. -:a3785 :a3785 :a3785. -:a3786 :a3786 :a3786. -:a3787 :a3787 :a3787. -:a3788 :a3788 :a3788. -:a3789 :a3789 :a3789. -:a3790 :a3790 :a3790. -:a3791 :a3791 :a3791. -:a3792 :a3792 :a3792. -:a3793 :a3793 :a3793. -:a3794 :a3794 :a3794. -:a3795 :a3795 :a3795. -:a3796 :a3796 :a3796. -:a3797 :a3797 :a3797. -:a3798 :a3798 :a3798. -:a3799 :a3799 :a3799. -:a3800 :a3800 :a3800. -:a3801 :a3801 :a3801. -:a3802 :a3802 :a3802. -:a3803 :a3803 :a3803. -:a3804 :a3804 :a3804. -:a3805 :a3805 :a3805. -:a3806 :a3806 :a3806. -:a3807 :a3807 :a3807. -:a3808 :a3808 :a3808. -:a3809 :a3809 :a3809. -:a3810 :a3810 :a3810. -:a3811 :a3811 :a3811. -:a3812 :a3812 :a3812. -:a3813 :a3813 :a3813. -:a3814 :a3814 :a3814. -:a3815 :a3815 :a3815. -:a3816 :a3816 :a3816. -:a3817 :a3817 :a3817. -:a3818 :a3818 :a3818. -:a3819 :a3819 :a3819. -:a3820 :a3820 :a3820. -:a3821 :a3821 :a3821. -:a3822 :a3822 :a3822. -:a3823 :a3823 :a3823. -:a3824 :a3824 :a3824. -:a3825 :a3825 :a3825. -:a3826 :a3826 :a3826. -:a3827 :a3827 :a3827. -:a3828 :a3828 :a3828. -:a3829 :a3829 :a3829. -:a3830 :a3830 :a3830. -:a3831 :a3831 :a3831. -:a3832 :a3832 :a3832. -:a3833 :a3833 :a3833. -:a3834 :a3834 :a3834. -:a3835 :a3835 :a3835. -:a3836 :a3836 :a3836. -:a3837 :a3837 :a3837. -:a3838 :a3838 :a3838. -:a3839 :a3839 :a3839. -:a3840 :a3840 :a3840. -:a3841 :a3841 :a3841. -:a3842 :a3842 :a3842. -:a3843 :a3843 :a3843. -:a3844 :a3844 :a3844. -:a3845 :a3845 :a3845. -:a3846 :a3846 :a3846. -:a3847 :a3847 :a3847. -:a3848 :a3848 :a3848. -:a3849 :a3849 :a3849. -:a3850 :a3850 :a3850. -:a3851 :a3851 :a3851. -:a3852 :a3852 :a3852. -:a3853 :a3853 :a3853. -:a3854 :a3854 :a3854. -:a3855 :a3855 :a3855. -:a3856 :a3856 :a3856. -:a3857 :a3857 :a3857. -:a3858 :a3858 :a3858. -:a3859 :a3859 :a3859. -:a3860 :a3860 :a3860. -:a3861 :a3861 :a3861. -:a3862 :a3862 :a3862. -:a3863 :a3863 :a3863. -:a3864 :a3864 :a3864. -:a3865 :a3865 :a3865. -:a3866 :a3866 :a3866. -:a3867 :a3867 :a3867. -:a3868 :a3868 :a3868. -:a3869 :a3869 :a3869. -:a3870 :a3870 :a3870. -:a3871 :a3871 :a3871. -:a3872 :a3872 :a3872. -:a3873 :a3873 :a3873. -:a3874 :a3874 :a3874. -:a3875 :a3875 :a3875. -:a3876 :a3876 :a3876. -:a3877 :a3877 :a3877. -:a3878 :a3878 :a3878. -:a3879 :a3879 :a3879. -:a3880 :a3880 :a3880. -:a3881 :a3881 :a3881. -:a3882 :a3882 :a3882. -:a3883 :a3883 :a3883. -:a3884 :a3884 :a3884. -:a3885 :a3885 :a3885. -:a3886 :a3886 :a3886. -:a3887 :a3887 :a3887. -:a3888 :a3888 :a3888. -:a3889 :a3889 :a3889. -:a3890 :a3890 :a3890. -:a3891 :a3891 :a3891. -:a3892 :a3892 :a3892. -:a3893 :a3893 :a3893. -:a3894 :a3894 :a3894. -:a3895 :a3895 :a3895. -:a3896 :a3896 :a3896. -:a3897 :a3897 :a3897. -:a3898 :a3898 :a3898. -:a3899 :a3899 :a3899. -:a3900 :a3900 :a3900. -:a3901 :a3901 :a3901. -:a3902 :a3902 :a3902. -:a3903 :a3903 :a3903. -:a3904 :a3904 :a3904. -:a3905 :a3905 :a3905. -:a3906 :a3906 :a3906. -:a3907 :a3907 :a3907. -:a3908 :a3908 :a3908. -:a3909 :a3909 :a3909. -:a3910 :a3910 :a3910. -:a3911 :a3911 :a3911. -:a3912 :a3912 :a3912. -:a3913 :a3913 :a3913. -:a3914 :a3914 :a3914. -:a3915 :a3915 :a3915. -:a3916 :a3916 :a3916. -:a3917 :a3917 :a3917. -:a3918 :a3918 :a3918. -:a3919 :a3919 :a3919. -:a3920 :a3920 :a3920. -:a3921 :a3921 :a3921. -:a3922 :a3922 :a3922. -:a3923 :a3923 :a3923. -:a3924 :a3924 :a3924. -:a3925 :a3925 :a3925. -:a3926 :a3926 :a3926. -:a3927 :a3927 :a3927. -:a3928 :a3928 :a3928. -:a3929 :a3929 :a3929. -:a3930 :a3930 :a3930. -:a3931 :a3931 :a3931. -:a3932 :a3932 :a3932. -:a3933 :a3933 :a3933. -:a3934 :a3934 :a3934. -:a3935 :a3935 :a3935. -:a3936 :a3936 :a3936. -:a3937 :a3937 :a3937. -:a3938 :a3938 :a3938. -:a3939 :a3939 :a3939. -:a3940 :a3940 :a3940. -:a3941 :a3941 :a3941. -:a3942 :a3942 :a3942. -:a3943 :a3943 :a3943. -:a3944 :a3944 :a3944. -:a3945 :a3945 :a3945. -:a3946 :a3946 :a3946. -:a3947 :a3947 :a3947. -:a3948 :a3948 :a3948. -:a3949 :a3949 :a3949. -:a3950 :a3950 :a3950. -:a3951 :a3951 :a3951. -:a3952 :a3952 :a3952. -:a3953 :a3953 :a3953. -:a3954 :a3954 :a3954. -:a3955 :a3955 :a3955. -:a3956 :a3956 :a3956. -:a3957 :a3957 :a3957. -:a3958 :a3958 :a3958. -:a3959 :a3959 :a3959. -:a3960 :a3960 :a3960. -:a3961 :a3961 :a3961. -:a3962 :a3962 :a3962. -:a3963 :a3963 :a3963. -:a3964 :a3964 :a3964. -:a3965 :a3965 :a3965. -:a3966 :a3966 :a3966. -:a3967 :a3967 :a3967. -:a3968 :a3968 :a3968. -:a3969 :a3969 :a3969. -:a3970 :a3970 :a3970. -:a3971 :a3971 :a3971. -:a3972 :a3972 :a3972. -:a3973 :a3973 :a3973. -:a3974 :a3974 :a3974. -:a3975 :a3975 :a3975. -:a3976 :a3976 :a3976. -:a3977 :a3977 :a3977. -:a3978 :a3978 :a3978. -:a3979 :a3979 :a3979. -:a3980 :a3980 :a3980. -:a3981 :a3981 :a3981. -:a3982 :a3982 :a3982. -:a3983 :a3983 :a3983. -:a3984 :a3984 :a3984. -:a3985 :a3985 :a3985. -:a3986 :a3986 :a3986. -:a3987 :a3987 :a3987. -:a3988 :a3988 :a3988. -:a3989 :a3989 :a3989. -:a3990 :a3990 :a3990. -:a3991 :a3991 :a3991. -:a3992 :a3992 :a3992. -:a3993 :a3993 :a3993. -:a3994 :a3994 :a3994. -:a3995 :a3995 :a3995. -:a3996 :a3996 :a3996. -:a3997 :a3997 :a3997. -:a3998 :a3998 :a3998. -:a3999 :a3999 :a3999. -:a4000 :a4000 :a4000. -:a4001 :a4001 :a4001. -:a4002 :a4002 :a4002. -:a4003 :a4003 :a4003. -:a4004 :a4004 :a4004. -:a4005 :a4005 :a4005. -:a4006 :a4006 :a4006. -:a4007 :a4007 :a4007. -:a4008 :a4008 :a4008. -:a4009 :a4009 :a4009. -:a4010 :a4010 :a4010. -:a4011 :a4011 :a4011. -:a4012 :a4012 :a4012. -:a4013 :a4013 :a4013. -:a4014 :a4014 :a4014. -:a4015 :a4015 :a4015. -:a4016 :a4016 :a4016. -:a4017 :a4017 :a4017. -:a4018 :a4018 :a4018. -:a4019 :a4019 :a4019. -:a4020 :a4020 :a4020. -:a4021 :a4021 :a4021. -:a4022 :a4022 :a4022. -:a4023 :a4023 :a4023. -:a4024 :a4024 :a4024. -:a4025 :a4025 :a4025. -:a4026 :a4026 :a4026. -:a4027 :a4027 :a4027. -:a4028 :a4028 :a4028. -:a4029 :a4029 :a4029. -:a4030 :a4030 :a4030. -:a4031 :a4031 :a4031. -:a4032 :a4032 :a4032. -:a4033 :a4033 :a4033. -:a4034 :a4034 :a4034. -:a4035 :a4035 :a4035. -:a4036 :a4036 :a4036. -:a4037 :a4037 :a4037. -:a4038 :a4038 :a4038. -:a4039 :a4039 :a4039. -:a4040 :a4040 :a4040. -:a4041 :a4041 :a4041. -:a4042 :a4042 :a4042. -:a4043 :a4043 :a4043. -:a4044 :a4044 :a4044. -:a4045 :a4045 :a4045. -:a4046 :a4046 :a4046. -:a4047 :a4047 :a4047. -:a4048 :a4048 :a4048. -:a4049 :a4049 :a4049. -:a4050 :a4050 :a4050. -:a4051 :a4051 :a4051. -:a4052 :a4052 :a4052. -:a4053 :a4053 :a4053. -:a4054 :a4054 :a4054. -:a4055 :a4055 :a4055. -:a4056 :a4056 :a4056. -:a4057 :a4057 :a4057. -:a4058 :a4058 :a4058. -:a4059 :a4059 :a4059. -:a4060 :a4060 :a4060. -:a4061 :a4061 :a4061. -:a4062 :a4062 :a4062. -:a4063 :a4063 :a4063. -:a4064 :a4064 :a4064. -:a4065 :a4065 :a4065. -:a4066 :a4066 :a4066. -:a4067 :a4067 :a4067. -:a4068 :a4068 :a4068. -:a4069 :a4069 :a4069. -:a4070 :a4070 :a4070. -:a4071 :a4071 :a4071. -:a4072 :a4072 :a4072. -:a4073 :a4073 :a4073. -:a4074 :a4074 :a4074. -:a4075 :a4075 :a4075. -:a4076 :a4076 :a4076. -:a4077 :a4077 :a4077. -:a4078 :a4078 :a4078. -:a4079 :a4079 :a4079. -:a4080 :a4080 :a4080. -:a4081 :a4081 :a4081. -:a4082 :a4082 :a4082. -:a4083 :a4083 :a4083. -:a4084 :a4084 :a4084. -:a4085 :a4085 :a4085. -:a4086 :a4086 :a4086. -:a4087 :a4087 :a4087. -:a4088 :a4088 :a4088. -:a4089 :a4089 :a4089. -:a4090 :a4090 :a4090. -:a4091 :a4091 :a4091. -:a4092 :a4092 :a4092. -:a4093 :a4093 :a4093. -:a4094 :a4094 :a4094. -:a4095 :a4095 :a4095. -:a4096 :a4096 :a4096. -:a4097 :a4097 :a4097. -:a4098 :a4098 :a4098. -:a4099 :a4099 :a4099. -:a4100 :a4100 :a4100. -:a4101 :a4101 :a4101. -:a4102 :a4102 :a4102. -:a4103 :a4103 :a4103. -:a4104 :a4104 :a4104. -:a4105 :a4105 :a4105. -:a4106 :a4106 :a4106. -:a4107 :a4107 :a4107. -:a4108 :a4108 :a4108. -:a4109 :a4109 :a4109. -:a4110 :a4110 :a4110. -:a4111 :a4111 :a4111. -:a4112 :a4112 :a4112. -:a4113 :a4113 :a4113. -:a4114 :a4114 :a4114. -:a4115 :a4115 :a4115. -:a4116 :a4116 :a4116. -:a4117 :a4117 :a4117. -:a4118 :a4118 :a4118. -:a4119 :a4119 :a4119. -:a4120 :a4120 :a4120. -:a4121 :a4121 :a4121. -:a4122 :a4122 :a4122. -:a4123 :a4123 :a4123. -:a4124 :a4124 :a4124. -:a4125 :a4125 :a4125. -:a4126 :a4126 :a4126. -:a4127 :a4127 :a4127. -:a4128 :a4128 :a4128. -:a4129 :a4129 :a4129. -:a4130 :a4130 :a4130. -:a4131 :a4131 :a4131. -:a4132 :a4132 :a4132. -:a4133 :a4133 :a4133. -:a4134 :a4134 :a4134. -:a4135 :a4135 :a4135. -:a4136 :a4136 :a4136. -:a4137 :a4137 :a4137. -:a4138 :a4138 :a4138. -:a4139 :a4139 :a4139. -:a4140 :a4140 :a4140. -:a4141 :a4141 :a4141. -:a4142 :a4142 :a4142. -:a4143 :a4143 :a4143. -:a4144 :a4144 :a4144. -:a4145 :a4145 :a4145. -:a4146 :a4146 :a4146. -:a4147 :a4147 :a4147. -:a4148 :a4148 :a4148. -:a4149 :a4149 :a4149. -:a4150 :a4150 :a4150. -:a4151 :a4151 :a4151. -:a4152 :a4152 :a4152. -:a4153 :a4153 :a4153. -:a4154 :a4154 :a4154. -:a4155 :a4155 :a4155. -:a4156 :a4156 :a4156. -:a4157 :a4157 :a4157. -:a4158 :a4158 :a4158. -:a4159 :a4159 :a4159. -:a4160 :a4160 :a4160. -:a4161 :a4161 :a4161. -:a4162 :a4162 :a4162. -:a4163 :a4163 :a4163. -:a4164 :a4164 :a4164. -:a4165 :a4165 :a4165. -:a4166 :a4166 :a4166. -:a4167 :a4167 :a4167. -:a4168 :a4168 :a4168. -:a4169 :a4169 :a4169. -:a4170 :a4170 :a4170. -:a4171 :a4171 :a4171. -:a4172 :a4172 :a4172. -:a4173 :a4173 :a4173. -:a4174 :a4174 :a4174. -:a4175 :a4175 :a4175. -:a4176 :a4176 :a4176. -:a4177 :a4177 :a4177. -:a4178 :a4178 :a4178. -:a4179 :a4179 :a4179. -:a4180 :a4180 :a4180. -:a4181 :a4181 :a4181. -:a4182 :a4182 :a4182. -:a4183 :a4183 :a4183. -:a4184 :a4184 :a4184. -:a4185 :a4185 :a4185. -:a4186 :a4186 :a4186. -:a4187 :a4187 :a4187. -:a4188 :a4188 :a4188. -:a4189 :a4189 :a4189. -:a4190 :a4190 :a4190. -:a4191 :a4191 :a4191. -:a4192 :a4192 :a4192. -:a4193 :a4193 :a4193. -:a4194 :a4194 :a4194. -:a4195 :a4195 :a4195. -:a4196 :a4196 :a4196. -:a4197 :a4197 :a4197. -:a4198 :a4198 :a4198. -:a4199 :a4199 :a4199. -:a4200 :a4200 :a4200. -:a4201 :a4201 :a4201. -:a4202 :a4202 :a4202. -:a4203 :a4203 :a4203. -:a4204 :a4204 :a4204. -:a4205 :a4205 :a4205. -:a4206 :a4206 :a4206. -:a4207 :a4207 :a4207. -:a4208 :a4208 :a4208. -:a4209 :a4209 :a4209. -:a4210 :a4210 :a4210. -:a4211 :a4211 :a4211. -:a4212 :a4212 :a4212. -:a4213 :a4213 :a4213. -:a4214 :a4214 :a4214. -:a4215 :a4215 :a4215. -:a4216 :a4216 :a4216. -:a4217 :a4217 :a4217. -:a4218 :a4218 :a4218. -:a4219 :a4219 :a4219. -:a4220 :a4220 :a4220. -:a4221 :a4221 :a4221. -:a4222 :a4222 :a4222. -:a4223 :a4223 :a4223. -:a4224 :a4224 :a4224. -:a4225 :a4225 :a4225. -:a4226 :a4226 :a4226. -:a4227 :a4227 :a4227. -:a4228 :a4228 :a4228. -:a4229 :a4229 :a4229. -:a4230 :a4230 :a4230. -:a4231 :a4231 :a4231. -:a4232 :a4232 :a4232. -:a4233 :a4233 :a4233. -:a4234 :a4234 :a4234. -:a4235 :a4235 :a4235. -:a4236 :a4236 :a4236. -:a4237 :a4237 :a4237. -:a4238 :a4238 :a4238. -:a4239 :a4239 :a4239. -:a4240 :a4240 :a4240. -:a4241 :a4241 :a4241. -:a4242 :a4242 :a4242. -:a4243 :a4243 :a4243. -:a4244 :a4244 :a4244. -:a4245 :a4245 :a4245. -:a4246 :a4246 :a4246. -:a4247 :a4247 :a4247. -:a4248 :a4248 :a4248. -:a4249 :a4249 :a4249. -:a4250 :a4250 :a4250. -:a4251 :a4251 :a4251. -:a4252 :a4252 :a4252. -:a4253 :a4253 :a4253. -:a4254 :a4254 :a4254. -:a4255 :a4255 :a4255. -:a4256 :a4256 :a4256. -:a4257 :a4257 :a4257. -:a4258 :a4258 :a4258. -:a4259 :a4259 :a4259. -:a4260 :a4260 :a4260. -:a4261 :a4261 :a4261. -:a4262 :a4262 :a4262. -:a4263 :a4263 :a4263. -:a4264 :a4264 :a4264. -:a4265 :a4265 :a4265. -:a4266 :a4266 :a4266. -:a4267 :a4267 :a4267. -:a4268 :a4268 :a4268. -:a4269 :a4269 :a4269. -:a4270 :a4270 :a4270. -:a4271 :a4271 :a4271. -:a4272 :a4272 :a4272. -:a4273 :a4273 :a4273. -:a4274 :a4274 :a4274. -:a4275 :a4275 :a4275. -:a4276 :a4276 :a4276. -:a4277 :a4277 :a4277. -:a4278 :a4278 :a4278. -:a4279 :a4279 :a4279. -:a4280 :a4280 :a4280. -:a4281 :a4281 :a4281. -:a4282 :a4282 :a4282. -:a4283 :a4283 :a4283. -:a4284 :a4284 :a4284. -:a4285 :a4285 :a4285. -:a4286 :a4286 :a4286. -:a4287 :a4287 :a4287. -:a4288 :a4288 :a4288. -:a4289 :a4289 :a4289. -:a4290 :a4290 :a4290. -:a4291 :a4291 :a4291. -:a4292 :a4292 :a4292. -:a4293 :a4293 :a4293. -:a4294 :a4294 :a4294. -:a4295 :a4295 :a4295. -:a4296 :a4296 :a4296. -:a4297 :a4297 :a4297. -:a4298 :a4298 :a4298. -:a4299 :a4299 :a4299. -:a4300 :a4300 :a4300. -:a4301 :a4301 :a4301. -:a4302 :a4302 :a4302. -:a4303 :a4303 :a4303. -:a4304 :a4304 :a4304. -:a4305 :a4305 :a4305. -:a4306 :a4306 :a4306. -:a4307 :a4307 :a4307. -:a4308 :a4308 :a4308. -:a4309 :a4309 :a4309. -:a4310 :a4310 :a4310. -:a4311 :a4311 :a4311. -:a4312 :a4312 :a4312. -:a4313 :a4313 :a4313. -:a4314 :a4314 :a4314. -:a4315 :a4315 :a4315. -:a4316 :a4316 :a4316. -:a4317 :a4317 :a4317. -:a4318 :a4318 :a4318. -:a4319 :a4319 :a4319. -:a4320 :a4320 :a4320. -:a4321 :a4321 :a4321. -:a4322 :a4322 :a4322. -:a4323 :a4323 :a4323. -:a4324 :a4324 :a4324. -:a4325 :a4325 :a4325. -:a4326 :a4326 :a4326. -:a4327 :a4327 :a4327. -:a4328 :a4328 :a4328. -:a4329 :a4329 :a4329. -:a4330 :a4330 :a4330. -:a4331 :a4331 :a4331. -:a4332 :a4332 :a4332. -:a4333 :a4333 :a4333. -:a4334 :a4334 :a4334. -:a4335 :a4335 :a4335. -:a4336 :a4336 :a4336. -:a4337 :a4337 :a4337. -:a4338 :a4338 :a4338. -:a4339 :a4339 :a4339. -:a4340 :a4340 :a4340. -:a4341 :a4341 :a4341. -:a4342 :a4342 :a4342. -:a4343 :a4343 :a4343. -:a4344 :a4344 :a4344. -:a4345 :a4345 :a4345. -:a4346 :a4346 :a4346. -:a4347 :a4347 :a4347. -:a4348 :a4348 :a4348. -:a4349 :a4349 :a4349. -:a4350 :a4350 :a4350. -:a4351 :a4351 :a4351. -:a4352 :a4352 :a4352. -:a4353 :a4353 :a4353. -:a4354 :a4354 :a4354. -:a4355 :a4355 :a4355. -:a4356 :a4356 :a4356. -:a4357 :a4357 :a4357. -:a4358 :a4358 :a4358. -:a4359 :a4359 :a4359. -:a4360 :a4360 :a4360. -:a4361 :a4361 :a4361. -:a4362 :a4362 :a4362. -:a4363 :a4363 :a4363. -:a4364 :a4364 :a4364. -:a4365 :a4365 :a4365. -:a4366 :a4366 :a4366. -:a4367 :a4367 :a4367. -:a4368 :a4368 :a4368. -:a4369 :a4369 :a4369. -:a4370 :a4370 :a4370. -:a4371 :a4371 :a4371. -:a4372 :a4372 :a4372. -:a4373 :a4373 :a4373. -:a4374 :a4374 :a4374. -:a4375 :a4375 :a4375. -:a4376 :a4376 :a4376. -:a4377 :a4377 :a4377. -:a4378 :a4378 :a4378. -:a4379 :a4379 :a4379. -:a4380 :a4380 :a4380. -:a4381 :a4381 :a4381. -:a4382 :a4382 :a4382. -:a4383 :a4383 :a4383. -:a4384 :a4384 :a4384. -:a4385 :a4385 :a4385. -:a4386 :a4386 :a4386. -:a4387 :a4387 :a4387. -:a4388 :a4388 :a4388. -:a4389 :a4389 :a4389. -:a4390 :a4390 :a4390. -:a4391 :a4391 :a4391. -:a4392 :a4392 :a4392. -:a4393 :a4393 :a4393. -:a4394 :a4394 :a4394. -:a4395 :a4395 :a4395. -:a4396 :a4396 :a4396. -:a4397 :a4397 :a4397. -:a4398 :a4398 :a4398. -:a4399 :a4399 :a4399. -:a4400 :a4400 :a4400. -:a4401 :a4401 :a4401. -:a4402 :a4402 :a4402. -:a4403 :a4403 :a4403. -:a4404 :a4404 :a4404. -:a4405 :a4405 :a4405. -:a4406 :a4406 :a4406. -:a4407 :a4407 :a4407. -:a4408 :a4408 :a4408. -:a4409 :a4409 :a4409. -:a4410 :a4410 :a4410. -:a4411 :a4411 :a4411. -:a4412 :a4412 :a4412. -:a4413 :a4413 :a4413. -:a4414 :a4414 :a4414. -:a4415 :a4415 :a4415. -:a4416 :a4416 :a4416. -:a4417 :a4417 :a4417. -:a4418 :a4418 :a4418. -:a4419 :a4419 :a4419. -:a4420 :a4420 :a4420. -:a4421 :a4421 :a4421. -:a4422 :a4422 :a4422. -:a4423 :a4423 :a4423. -:a4424 :a4424 :a4424. -:a4425 :a4425 :a4425. -:a4426 :a4426 :a4426. -:a4427 :a4427 :a4427. -:a4428 :a4428 :a4428. -:a4429 :a4429 :a4429. -:a4430 :a4430 :a4430. -:a4431 :a4431 :a4431. -:a4432 :a4432 :a4432. -:a4433 :a4433 :a4433. -:a4434 :a4434 :a4434. -:a4435 :a4435 :a4435. -:a4436 :a4436 :a4436. -:a4437 :a4437 :a4437. -:a4438 :a4438 :a4438. -:a4439 :a4439 :a4439. -:a4440 :a4440 :a4440. -:a4441 :a4441 :a4441. -:a4442 :a4442 :a4442. -:a4443 :a4443 :a4443. -:a4444 :a4444 :a4444. -:a4445 :a4445 :a4445. -:a4446 :a4446 :a4446. -:a4447 :a4447 :a4447. -:a4448 :a4448 :a4448. -:a4449 :a4449 :a4449. -:a4450 :a4450 :a4450. -:a4451 :a4451 :a4451. -:a4452 :a4452 :a4452. -:a4453 :a4453 :a4453. -:a4454 :a4454 :a4454. -:a4455 :a4455 :a4455. -:a4456 :a4456 :a4456. -:a4457 :a4457 :a4457. -:a4458 :a4458 :a4458. -:a4459 :a4459 :a4459. -:a4460 :a4460 :a4460. -:a4461 :a4461 :a4461. -:a4462 :a4462 :a4462. -:a4463 :a4463 :a4463. -:a4464 :a4464 :a4464. -:a4465 :a4465 :a4465. -:a4466 :a4466 :a4466. -:a4467 :a4467 :a4467. -:a4468 :a4468 :a4468. -:a4469 :a4469 :a4469. -:a4470 :a4470 :a4470. -:a4471 :a4471 :a4471. -:a4472 :a4472 :a4472. -:a4473 :a4473 :a4473. -:a4474 :a4474 :a4474. -:a4475 :a4475 :a4475. -:a4476 :a4476 :a4476. -:a4477 :a4477 :a4477. -:a4478 :a4478 :a4478. -:a4479 :a4479 :a4479. -:a4480 :a4480 :a4480. -:a4481 :a4481 :a4481. -:a4482 :a4482 :a4482. -:a4483 :a4483 :a4483. -:a4484 :a4484 :a4484. -:a4485 :a4485 :a4485. -:a4486 :a4486 :a4486. -:a4487 :a4487 :a4487. -:a4488 :a4488 :a4488. -:a4489 :a4489 :a4489. -:a4490 :a4490 :a4490. -:a4491 :a4491 :a4491. -:a4492 :a4492 :a4492. -:a4493 :a4493 :a4493. -:a4494 :a4494 :a4494. -:a4495 :a4495 :a4495. -:a4496 :a4496 :a4496. -:a4497 :a4497 :a4497. -:a4498 :a4498 :a4498. -:a4499 :a4499 :a4499. -:a4500 :a4500 :a4500. -:a4501 :a4501 :a4501. -:a4502 :a4502 :a4502. -:a4503 :a4503 :a4503. -:a4504 :a4504 :a4504. -:a4505 :a4505 :a4505. -:a4506 :a4506 :a4506. -:a4507 :a4507 :a4507. -:a4508 :a4508 :a4508. -:a4509 :a4509 :a4509. -:a4510 :a4510 :a4510. -:a4511 :a4511 :a4511. -:a4512 :a4512 :a4512. -:a4513 :a4513 :a4513. -:a4514 :a4514 :a4514. -:a4515 :a4515 :a4515. -:a4516 :a4516 :a4516. -:a4517 :a4517 :a4517. -:a4518 :a4518 :a4518. -:a4519 :a4519 :a4519. -:a4520 :a4520 :a4520. -:a4521 :a4521 :a4521. -:a4522 :a4522 :a4522. -:a4523 :a4523 :a4523. -:a4524 :a4524 :a4524. -:a4525 :a4525 :a4525. -:a4526 :a4526 :a4526. -:a4527 :a4527 :a4527. -:a4528 :a4528 :a4528. -:a4529 :a4529 :a4529. -:a4530 :a4530 :a4530. -:a4531 :a4531 :a4531. -:a4532 :a4532 :a4532. -:a4533 :a4533 :a4533. -:a4534 :a4534 :a4534. -:a4535 :a4535 :a4535. -:a4536 :a4536 :a4536. -:a4537 :a4537 :a4537. -:a4538 :a4538 :a4538. -:a4539 :a4539 :a4539. -:a4540 :a4540 :a4540. -:a4541 :a4541 :a4541. -:a4542 :a4542 :a4542. -:a4543 :a4543 :a4543. -:a4544 :a4544 :a4544. -:a4545 :a4545 :a4545. -:a4546 :a4546 :a4546. -:a4547 :a4547 :a4547. -:a4548 :a4548 :a4548. -:a4549 :a4549 :a4549. -:a4550 :a4550 :a4550. -:a4551 :a4551 :a4551. -:a4552 :a4552 :a4552. -:a4553 :a4553 :a4553. -:a4554 :a4554 :a4554. -:a4555 :a4555 :a4555. -:a4556 :a4556 :a4556. -:a4557 :a4557 :a4557. -:a4558 :a4558 :a4558. -:a4559 :a4559 :a4559. -:a4560 :a4560 :a4560. -:a4561 :a4561 :a4561. -:a4562 :a4562 :a4562. -:a4563 :a4563 :a4563. -:a4564 :a4564 :a4564. -:a4565 :a4565 :a4565. -:a4566 :a4566 :a4566. -:a4567 :a4567 :a4567. -:a4568 :a4568 :a4568. -:a4569 :a4569 :a4569. -:a4570 :a4570 :a4570. -:a4571 :a4571 :a4571. -:a4572 :a4572 :a4572. -:a4573 :a4573 :a4573. -:a4574 :a4574 :a4574. -:a4575 :a4575 :a4575. -:a4576 :a4576 :a4576. -:a4577 :a4577 :a4577. -:a4578 :a4578 :a4578. -:a4579 :a4579 :a4579. -:a4580 :a4580 :a4580. -:a4581 :a4581 :a4581. -:a4582 :a4582 :a4582. -:a4583 :a4583 :a4583. -:a4584 :a4584 :a4584. -:a4585 :a4585 :a4585. -:a4586 :a4586 :a4586. -:a4587 :a4587 :a4587. -:a4588 :a4588 :a4588. -:a4589 :a4589 :a4589. -:a4590 :a4590 :a4590. -:a4591 :a4591 :a4591. -:a4592 :a4592 :a4592. -:a4593 :a4593 :a4593. -:a4594 :a4594 :a4594. -:a4595 :a4595 :a4595. -:a4596 :a4596 :a4596. -:a4597 :a4597 :a4597. -:a4598 :a4598 :a4598. -:a4599 :a4599 :a4599. -:a4600 :a4600 :a4600. -:a4601 :a4601 :a4601. -:a4602 :a4602 :a4602. -:a4603 :a4603 :a4603. -:a4604 :a4604 :a4604. -:a4605 :a4605 :a4605. -:a4606 :a4606 :a4606. -:a4607 :a4607 :a4607. -:a4608 :a4608 :a4608. -:a4609 :a4609 :a4609. -:a4610 :a4610 :a4610. -:a4611 :a4611 :a4611. -:a4612 :a4612 :a4612. -:a4613 :a4613 :a4613. -:a4614 :a4614 :a4614. -:a4615 :a4615 :a4615. -:a4616 :a4616 :a4616. -:a4617 :a4617 :a4617. -:a4618 :a4618 :a4618. -:a4619 :a4619 :a4619. -:a4620 :a4620 :a4620. -:a4621 :a4621 :a4621. -:a4622 :a4622 :a4622. -:a4623 :a4623 :a4623. -:a4624 :a4624 :a4624. -:a4625 :a4625 :a4625. -:a4626 :a4626 :a4626. -:a4627 :a4627 :a4627. -:a4628 :a4628 :a4628. -:a4629 :a4629 :a4629. -:a4630 :a4630 :a4630. -:a4631 :a4631 :a4631. -:a4632 :a4632 :a4632. -:a4633 :a4633 :a4633. -:a4634 :a4634 :a4634. -:a4635 :a4635 :a4635. -:a4636 :a4636 :a4636. -:a4637 :a4637 :a4637. -:a4638 :a4638 :a4638. -:a4639 :a4639 :a4639. -:a4640 :a4640 :a4640. -:a4641 :a4641 :a4641. -:a4642 :a4642 :a4642. -:a4643 :a4643 :a4643. -:a4644 :a4644 :a4644. -:a4645 :a4645 :a4645. -:a4646 :a4646 :a4646. -:a4647 :a4647 :a4647. -:a4648 :a4648 :a4648. -:a4649 :a4649 :a4649. -:a4650 :a4650 :a4650. -:a4651 :a4651 :a4651. -:a4652 :a4652 :a4652. -:a4653 :a4653 :a4653. -:a4654 :a4654 :a4654. -:a4655 :a4655 :a4655. -:a4656 :a4656 :a4656. -:a4657 :a4657 :a4657. -:a4658 :a4658 :a4658. -:a4659 :a4659 :a4659. -:a4660 :a4660 :a4660. -:a4661 :a4661 :a4661. -:a4662 :a4662 :a4662. -:a4663 :a4663 :a4663. -:a4664 :a4664 :a4664. -:a4665 :a4665 :a4665. -:a4666 :a4666 :a4666. -:a4667 :a4667 :a4667. -:a4668 :a4668 :a4668. -:a4669 :a4669 :a4669. -:a4670 :a4670 :a4670. -:a4671 :a4671 :a4671. -:a4672 :a4672 :a4672. -:a4673 :a4673 :a4673. -:a4674 :a4674 :a4674. -:a4675 :a4675 :a4675. -:a4676 :a4676 :a4676. -:a4677 :a4677 :a4677. -:a4678 :a4678 :a4678. -:a4679 :a4679 :a4679. -:a4680 :a4680 :a4680. -:a4681 :a4681 :a4681. -:a4682 :a4682 :a4682. -:a4683 :a4683 :a4683. -:a4684 :a4684 :a4684. -:a4685 :a4685 :a4685. -:a4686 :a4686 :a4686. -:a4687 :a4687 :a4687. -:a4688 :a4688 :a4688. -:a4689 :a4689 :a4689. -:a4690 :a4690 :a4690. -:a4691 :a4691 :a4691. -:a4692 :a4692 :a4692. -:a4693 :a4693 :a4693. -:a4694 :a4694 :a4694. -:a4695 :a4695 :a4695. -:a4696 :a4696 :a4696. -:a4697 :a4697 :a4697. -:a4698 :a4698 :a4698. -:a4699 :a4699 :a4699. -:a4700 :a4700 :a4700. -:a4701 :a4701 :a4701. -:a4702 :a4702 :a4702. -:a4703 :a4703 :a4703. -:a4704 :a4704 :a4704. -:a4705 :a4705 :a4705. -:a4706 :a4706 :a4706. -:a4707 :a4707 :a4707. -:a4708 :a4708 :a4708. -:a4709 :a4709 :a4709. -:a4710 :a4710 :a4710. -:a4711 :a4711 :a4711. -:a4712 :a4712 :a4712. -:a4713 :a4713 :a4713. -:a4714 :a4714 :a4714. -:a4715 :a4715 :a4715. -:a4716 :a4716 :a4716. -:a4717 :a4717 :a4717. -:a4718 :a4718 :a4718. -:a4719 :a4719 :a4719. -:a4720 :a4720 :a4720. -:a4721 :a4721 :a4721. -:a4722 :a4722 :a4722. -:a4723 :a4723 :a4723. -:a4724 :a4724 :a4724. -:a4725 :a4725 :a4725. -:a4726 :a4726 :a4726. -:a4727 :a4727 :a4727. -:a4728 :a4728 :a4728. -:a4729 :a4729 :a4729. -:a4730 :a4730 :a4730. -:a4731 :a4731 :a4731. -:a4732 :a4732 :a4732. -:a4733 :a4733 :a4733. -:a4734 :a4734 :a4734. -:a4735 :a4735 :a4735. -:a4736 :a4736 :a4736. -:a4737 :a4737 :a4737. -:a4738 :a4738 :a4738. -:a4739 :a4739 :a4739. -:a4740 :a4740 :a4740. -:a4741 :a4741 :a4741. -:a4742 :a4742 :a4742. -:a4743 :a4743 :a4743. -:a4744 :a4744 :a4744. -:a4745 :a4745 :a4745. -:a4746 :a4746 :a4746. -:a4747 :a4747 :a4747. -:a4748 :a4748 :a4748. -:a4749 :a4749 :a4749. -:a4750 :a4750 :a4750. -:a4751 :a4751 :a4751. -:a4752 :a4752 :a4752. -:a4753 :a4753 :a4753. -:a4754 :a4754 :a4754. -:a4755 :a4755 :a4755. -:a4756 :a4756 :a4756. -:a4757 :a4757 :a4757. -:a4758 :a4758 :a4758. -:a4759 :a4759 :a4759. -:a4760 :a4760 :a4760. -:a4761 :a4761 :a4761. -:a4762 :a4762 :a4762. -:a4763 :a4763 :a4763. -:a4764 :a4764 :a4764. -:a4765 :a4765 :a4765. -:a4766 :a4766 :a4766. -:a4767 :a4767 :a4767. -:a4768 :a4768 :a4768. -:a4769 :a4769 :a4769. -:a4770 :a4770 :a4770. -:a4771 :a4771 :a4771. -:a4772 :a4772 :a4772. -:a4773 :a4773 :a4773. -:a4774 :a4774 :a4774. -:a4775 :a4775 :a4775. -:a4776 :a4776 :a4776. -:a4777 :a4777 :a4777. -:a4778 :a4778 :a4778. -:a4779 :a4779 :a4779. -:a4780 :a4780 :a4780. -:a4781 :a4781 :a4781. -:a4782 :a4782 :a4782. -:a4783 :a4783 :a4783. -:a4784 :a4784 :a4784. -:a4785 :a4785 :a4785. -:a4786 :a4786 :a4786. -:a4787 :a4787 :a4787. -:a4788 :a4788 :a4788. -:a4789 :a4789 :a4789. -:a4790 :a4790 :a4790. -:a4791 :a4791 :a4791. -:a4792 :a4792 :a4792. -:a4793 :a4793 :a4793. -:a4794 :a4794 :a4794. -:a4795 :a4795 :a4795. -:a4796 :a4796 :a4796. -:a4797 :a4797 :a4797. -:a4798 :a4798 :a4798. -:a4799 :a4799 :a4799. -:a4800 :a4800 :a4800. -:a4801 :a4801 :a4801. -:a4802 :a4802 :a4802. -:a4803 :a4803 :a4803. -:a4804 :a4804 :a4804. -:a4805 :a4805 :a4805. -:a4806 :a4806 :a4806. -:a4807 :a4807 :a4807. -:a4808 :a4808 :a4808. -:a4809 :a4809 :a4809. -:a4810 :a4810 :a4810. -:a4811 :a4811 :a4811. -:a4812 :a4812 :a4812. -:a4813 :a4813 :a4813. -:a4814 :a4814 :a4814. -:a4815 :a4815 :a4815. -:a4816 :a4816 :a4816. -:a4817 :a4817 :a4817. -:a4818 :a4818 :a4818. -:a4819 :a4819 :a4819. -:a4820 :a4820 :a4820. -:a4821 :a4821 :a4821. -:a4822 :a4822 :a4822. -:a4823 :a4823 :a4823. -:a4824 :a4824 :a4824. -:a4825 :a4825 :a4825. -:a4826 :a4826 :a4826. -:a4827 :a4827 :a4827. -:a4828 :a4828 :a4828. -:a4829 :a4829 :a4829. -:a4830 :a4830 :a4830. -:a4831 :a4831 :a4831. -:a4832 :a4832 :a4832. -:a4833 :a4833 :a4833. -:a4834 :a4834 :a4834. -:a4835 :a4835 :a4835. -:a4836 :a4836 :a4836. -:a4837 :a4837 :a4837. -:a4838 :a4838 :a4838. -:a4839 :a4839 :a4839. -:a4840 :a4840 :a4840. -:a4841 :a4841 :a4841. -:a4842 :a4842 :a4842. -:a4843 :a4843 :a4843. -:a4844 :a4844 :a4844. -:a4845 :a4845 :a4845. -:a4846 :a4846 :a4846. -:a4847 :a4847 :a4847. -:a4848 :a4848 :a4848. -:a4849 :a4849 :a4849. -:a4850 :a4850 :a4850. -:a4851 :a4851 :a4851. -:a4852 :a4852 :a4852. -:a4853 :a4853 :a4853. -:a4854 :a4854 :a4854. -:a4855 :a4855 :a4855. -:a4856 :a4856 :a4856. -:a4857 :a4857 :a4857. -:a4858 :a4858 :a4858. -:a4859 :a4859 :a4859. -:a4860 :a4860 :a4860. -:a4861 :a4861 :a4861. -:a4862 :a4862 :a4862. -:a4863 :a4863 :a4863. -:a4864 :a4864 :a4864. -:a4865 :a4865 :a4865. -:a4866 :a4866 :a4866. -:a4867 :a4867 :a4867. -:a4868 :a4868 :a4868. -:a4869 :a4869 :a4869. -:a4870 :a4870 :a4870. -:a4871 :a4871 :a4871. -:a4872 :a4872 :a4872. -:a4873 :a4873 :a4873. -:a4874 :a4874 :a4874. -:a4875 :a4875 :a4875. -:a4876 :a4876 :a4876. -:a4877 :a4877 :a4877. -:a4878 :a4878 :a4878. -:a4879 :a4879 :a4879. -:a4880 :a4880 :a4880. -:a4881 :a4881 :a4881. -:a4882 :a4882 :a4882. -:a4883 :a4883 :a4883. -:a4884 :a4884 :a4884. -:a4885 :a4885 :a4885. -:a4886 :a4886 :a4886. -:a4887 :a4887 :a4887. -:a4888 :a4888 :a4888. -:a4889 :a4889 :a4889. -:a4890 :a4890 :a4890. -:a4891 :a4891 :a4891. -:a4892 :a4892 :a4892. -:a4893 :a4893 :a4893. -:a4894 :a4894 :a4894. -:a4895 :a4895 :a4895. -:a4896 :a4896 :a4896. -:a4897 :a4897 :a4897. -:a4898 :a4898 :a4898. -:a4899 :a4899 :a4899. -:a4900 :a4900 :a4900. -:a4901 :a4901 :a4901. -:a4902 :a4902 :a4902. -:a4903 :a4903 :a4903. -:a4904 :a4904 :a4904. -:a4905 :a4905 :a4905. -:a4906 :a4906 :a4906. -:a4907 :a4907 :a4907. -:a4908 :a4908 :a4908. -:a4909 :a4909 :a4909. -:a4910 :a4910 :a4910. -:a4911 :a4911 :a4911. -:a4912 :a4912 :a4912. -:a4913 :a4913 :a4913. -:a4914 :a4914 :a4914. -:a4915 :a4915 :a4915. -:a4916 :a4916 :a4916. -:a4917 :a4917 :a4917. -:a4918 :a4918 :a4918. -:a4919 :a4919 :a4919. -:a4920 :a4920 :a4920. -:a4921 :a4921 :a4921. -:a4922 :a4922 :a4922. -:a4923 :a4923 :a4923. -:a4924 :a4924 :a4924. -:a4925 :a4925 :a4925. -:a4926 :a4926 :a4926. -:a4927 :a4927 :a4927. -:a4928 :a4928 :a4928. -:a4929 :a4929 :a4929. -:a4930 :a4930 :a4930. -:a4931 :a4931 :a4931. -:a4932 :a4932 :a4932. -:a4933 :a4933 :a4933. -:a4934 :a4934 :a4934. -:a4935 :a4935 :a4935. -:a4936 :a4936 :a4936. -:a4937 :a4937 :a4937. -:a4938 :a4938 :a4938. -:a4939 :a4939 :a4939. -:a4940 :a4940 :a4940. -:a4941 :a4941 :a4941. -:a4942 :a4942 :a4942. -:a4943 :a4943 :a4943. -:a4944 :a4944 :a4944. -:a4945 :a4945 :a4945. -:a4946 :a4946 :a4946. -:a4947 :a4947 :a4947. -:a4948 :a4948 :a4948. -:a4949 :a4949 :a4949. -:a4950 :a4950 :a4950. -:a4951 :a4951 :a4951. -:a4952 :a4952 :a4952. -:a4953 :a4953 :a4953. -:a4954 :a4954 :a4954. -:a4955 :a4955 :a4955. -:a4956 :a4956 :a4956. -:a4957 :a4957 :a4957. -:a4958 :a4958 :a4958. -:a4959 :a4959 :a4959. -:a4960 :a4960 :a4960. -:a4961 :a4961 :a4961. -:a4962 :a4962 :a4962. -:a4963 :a4963 :a4963. -:a4964 :a4964 :a4964. -:a4965 :a4965 :a4965. -:a4966 :a4966 :a4966. -:a4967 :a4967 :a4967. -:a4968 :a4968 :a4968. -:a4969 :a4969 :a4969. -:a4970 :a4970 :a4970. -:a4971 :a4971 :a4971. -:a4972 :a4972 :a4972. -:a4973 :a4973 :a4973. -:a4974 :a4974 :a4974. -:a4975 :a4975 :a4975. -:a4976 :a4976 :a4976. -:a4977 :a4977 :a4977. -:a4978 :a4978 :a4978. -:a4979 :a4979 :a4979. -:a4980 :a4980 :a4980. -:a4981 :a4981 :a4981. -:a4982 :a4982 :a4982. -:a4983 :a4983 :a4983. -:a4984 :a4984 :a4984. -:a4985 :a4985 :a4985. -:a4986 :a4986 :a4986. -:a4987 :a4987 :a4987. -:a4988 :a4988 :a4988. -:a4989 :a4989 :a4989. -:a4990 :a4990 :a4990. -:a4991 :a4991 :a4991. -:a4992 :a4992 :a4992. -:a4993 :a4993 :a4993. -:a4994 :a4994 :a4994. -:a4995 :a4995 :a4995. -:a4996 :a4996 :a4996. -:a4997 :a4997 :a4997. -:a4998 :a4998 :a4998. -:a4999 :a4999 :a4999. -:a5000 :a5000 :a5000. -:a5001 :a5001 :a5001. -:a5002 :a5002 :a5002. -:a5003 :a5003 :a5003. -:a5004 :a5004 :a5004. -:a5005 :a5005 :a5005. -:a5006 :a5006 :a5006. -:a5007 :a5007 :a5007. -:a5008 :a5008 :a5008. -:a5009 :a5009 :a5009. -:a5010 :a5010 :a5010. -:a5011 :a5011 :a5011. -:a5012 :a5012 :a5012. -:a5013 :a5013 :a5013. -:a5014 :a5014 :a5014. -:a5015 :a5015 :a5015. -:a5016 :a5016 :a5016. -:a5017 :a5017 :a5017. -:a5018 :a5018 :a5018. -:a5019 :a5019 :a5019. -:a5020 :a5020 :a5020. -:a5021 :a5021 :a5021. -:a5022 :a5022 :a5022. -:a5023 :a5023 :a5023. -:a5024 :a5024 :a5024. -:a5025 :a5025 :a5025. -:a5026 :a5026 :a5026. -:a5027 :a5027 :a5027. -:a5028 :a5028 :a5028. -:a5029 :a5029 :a5029. -:a5030 :a5030 :a5030. -:a5031 :a5031 :a5031. -:a5032 :a5032 :a5032. -:a5033 :a5033 :a5033. -:a5034 :a5034 :a5034. -:a5035 :a5035 :a5035. -:a5036 :a5036 :a5036. -:a5037 :a5037 :a5037. -:a5038 :a5038 :a5038. -:a5039 :a5039 :a5039. -:a5040 :a5040 :a5040. -:a5041 :a5041 :a5041. -:a5042 :a5042 :a5042. -:a5043 :a5043 :a5043. -:a5044 :a5044 :a5044. -:a5045 :a5045 :a5045. -:a5046 :a5046 :a5046. -:a5047 :a5047 :a5047. -:a5048 :a5048 :a5048. -:a5049 :a5049 :a5049. -:a5050 :a5050 :a5050. -:a5051 :a5051 :a5051. -:a5052 :a5052 :a5052. -:a5053 :a5053 :a5053. -:a5054 :a5054 :a5054. -:a5055 :a5055 :a5055. -:a5056 :a5056 :a5056. -:a5057 :a5057 :a5057. -:a5058 :a5058 :a5058. -:a5059 :a5059 :a5059. -:a5060 :a5060 :a5060. -:a5061 :a5061 :a5061. -:a5062 :a5062 :a5062. -:a5063 :a5063 :a5063. -:a5064 :a5064 :a5064. -:a5065 :a5065 :a5065. -:a5066 :a5066 :a5066. -:a5067 :a5067 :a5067. -:a5068 :a5068 :a5068. -:a5069 :a5069 :a5069. -:a5070 :a5070 :a5070. -:a5071 :a5071 :a5071. -:a5072 :a5072 :a5072. -:a5073 :a5073 :a5073. -:a5074 :a5074 :a5074. -:a5075 :a5075 :a5075. -:a5076 :a5076 :a5076. -:a5077 :a5077 :a5077. -:a5078 :a5078 :a5078. -:a5079 :a5079 :a5079. -:a5080 :a5080 :a5080. -:a5081 :a5081 :a5081. -:a5082 :a5082 :a5082. -:a5083 :a5083 :a5083. -:a5084 :a5084 :a5084. -:a5085 :a5085 :a5085. -:a5086 :a5086 :a5086. -:a5087 :a5087 :a5087. -:a5088 :a5088 :a5088. -:a5089 :a5089 :a5089. -:a5090 :a5090 :a5090. -:a5091 :a5091 :a5091. -:a5092 :a5092 :a5092. -:a5093 :a5093 :a5093. -:a5094 :a5094 :a5094. -:a5095 :a5095 :a5095. -:a5096 :a5096 :a5096. -:a5097 :a5097 :a5097. -:a5098 :a5098 :a5098. -:a5099 :a5099 :a5099. -:a5100 :a5100 :a5100. -:a5101 :a5101 :a5101. -:a5102 :a5102 :a5102. -:a5103 :a5103 :a5103. -:a5104 :a5104 :a5104. -:a5105 :a5105 :a5105. -:a5106 :a5106 :a5106. -:a5107 :a5107 :a5107. -:a5108 :a5108 :a5108. -:a5109 :a5109 :a5109. -:a5110 :a5110 :a5110. -:a5111 :a5111 :a5111. -:a5112 :a5112 :a5112. -:a5113 :a5113 :a5113. -:a5114 :a5114 :a5114. -:a5115 :a5115 :a5115. -:a5116 :a5116 :a5116. -:a5117 :a5117 :a5117. -:a5118 :a5118 :a5118. -:a5119 :a5119 :a5119. -:a5120 :a5120 :a5120. -:a5121 :a5121 :a5121. -:a5122 :a5122 :a5122. -:a5123 :a5123 :a5123. -:a5124 :a5124 :a5124. -:a5125 :a5125 :a5125. -:a5126 :a5126 :a5126. -:a5127 :a5127 :a5127. -:a5128 :a5128 :a5128. -:a5129 :a5129 :a5129. -:a5130 :a5130 :a5130. -:a5131 :a5131 :a5131. -:a5132 :a5132 :a5132. -:a5133 :a5133 :a5133. -:a5134 :a5134 :a5134. -:a5135 :a5135 :a5135. -:a5136 :a5136 :a5136. -:a5137 :a5137 :a5137. -:a5138 :a5138 :a5138. -:a5139 :a5139 :a5139. -:a5140 :a5140 :a5140. -:a5141 :a5141 :a5141. -:a5142 :a5142 :a5142. -:a5143 :a5143 :a5143. -:a5144 :a5144 :a5144. -:a5145 :a5145 :a5145. -:a5146 :a5146 :a5146. -:a5147 :a5147 :a5147. -:a5148 :a5148 :a5148. -:a5149 :a5149 :a5149. -:a5150 :a5150 :a5150. -:a5151 :a5151 :a5151. -:a5152 :a5152 :a5152. -:a5153 :a5153 :a5153. -:a5154 :a5154 :a5154. -:a5155 :a5155 :a5155. -:a5156 :a5156 :a5156. -:a5157 :a5157 :a5157. -:a5158 :a5158 :a5158. -:a5159 :a5159 :a5159. -:a5160 :a5160 :a5160. -:a5161 :a5161 :a5161. -:a5162 :a5162 :a5162. -:a5163 :a5163 :a5163. -:a5164 :a5164 :a5164. -:a5165 :a5165 :a5165. -:a5166 :a5166 :a5166. -:a5167 :a5167 :a5167. -:a5168 :a5168 :a5168. -:a5169 :a5169 :a5169. -:a5170 :a5170 :a5170. -:a5171 :a5171 :a5171. -:a5172 :a5172 :a5172. -:a5173 :a5173 :a5173. -:a5174 :a5174 :a5174. -:a5175 :a5175 :a5175. -:a5176 :a5176 :a5176. -:a5177 :a5177 :a5177. -:a5178 :a5178 :a5178. -:a5179 :a5179 :a5179. -:a5180 :a5180 :a5180. -:a5181 :a5181 :a5181. -:a5182 :a5182 :a5182. -:a5183 :a5183 :a5183. -:a5184 :a5184 :a5184. -:a5185 :a5185 :a5185. -:a5186 :a5186 :a5186. -:a5187 :a5187 :a5187. -:a5188 :a5188 :a5188. -:a5189 :a5189 :a5189. -:a5190 :a5190 :a5190. -:a5191 :a5191 :a5191. -:a5192 :a5192 :a5192. -:a5193 :a5193 :a5193. -:a5194 :a5194 :a5194. -:a5195 :a5195 :a5195. -:a5196 :a5196 :a5196. -:a5197 :a5197 :a5197. -:a5198 :a5198 :a5198. -:a5199 :a5199 :a5199. -:a5200 :a5200 :a5200. -:a5201 :a5201 :a5201. -:a5202 :a5202 :a5202. -:a5203 :a5203 :a5203. -:a5204 :a5204 :a5204. -:a5205 :a5205 :a5205. -:a5206 :a5206 :a5206. -:a5207 :a5207 :a5207. -:a5208 :a5208 :a5208. -:a5209 :a5209 :a5209. -:a5210 :a5210 :a5210. -:a5211 :a5211 :a5211. -:a5212 :a5212 :a5212. -:a5213 :a5213 :a5213. -:a5214 :a5214 :a5214. -:a5215 :a5215 :a5215. -:a5216 :a5216 :a5216. -:a5217 :a5217 :a5217. -:a5218 :a5218 :a5218. -:a5219 :a5219 :a5219. -:a5220 :a5220 :a5220. -:a5221 :a5221 :a5221. -:a5222 :a5222 :a5222. -:a5223 :a5223 :a5223. -:a5224 :a5224 :a5224. -:a5225 :a5225 :a5225. -:a5226 :a5226 :a5226. -:a5227 :a5227 :a5227. -:a5228 :a5228 :a5228. -:a5229 :a5229 :a5229. -:a5230 :a5230 :a5230. -:a5231 :a5231 :a5231. -:a5232 :a5232 :a5232. -:a5233 :a5233 :a5233. -:a5234 :a5234 :a5234. -:a5235 :a5235 :a5235. -:a5236 :a5236 :a5236. -:a5237 :a5237 :a5237. -:a5238 :a5238 :a5238. -:a5239 :a5239 :a5239. -:a5240 :a5240 :a5240. -:a5241 :a5241 :a5241. -:a5242 :a5242 :a5242. -:a5243 :a5243 :a5243. -:a5244 :a5244 :a5244. -:a5245 :a5245 :a5245. -:a5246 :a5246 :a5246. -:a5247 :a5247 :a5247. -:a5248 :a5248 :a5248. -:a5249 :a5249 :a5249. -:a5250 :a5250 :a5250. -:a5251 :a5251 :a5251. -:a5252 :a5252 :a5252. -:a5253 :a5253 :a5253. -:a5254 :a5254 :a5254. -:a5255 :a5255 :a5255. -:a5256 :a5256 :a5256. -:a5257 :a5257 :a5257. -:a5258 :a5258 :a5258. -:a5259 :a5259 :a5259. -:a5260 :a5260 :a5260. -:a5261 :a5261 :a5261. -:a5262 :a5262 :a5262. -:a5263 :a5263 :a5263. -:a5264 :a5264 :a5264. -:a5265 :a5265 :a5265. -:a5266 :a5266 :a5266. -:a5267 :a5267 :a5267. -:a5268 :a5268 :a5268. -:a5269 :a5269 :a5269. -:a5270 :a5270 :a5270. -:a5271 :a5271 :a5271. -:a5272 :a5272 :a5272. -:a5273 :a5273 :a5273. -:a5274 :a5274 :a5274. -:a5275 :a5275 :a5275. -:a5276 :a5276 :a5276. -:a5277 :a5277 :a5277. -:a5278 :a5278 :a5278. -:a5279 :a5279 :a5279. -:a5280 :a5280 :a5280. -:a5281 :a5281 :a5281. -:a5282 :a5282 :a5282. -:a5283 :a5283 :a5283. -:a5284 :a5284 :a5284. -:a5285 :a5285 :a5285. -:a5286 :a5286 :a5286. -:a5287 :a5287 :a5287. -:a5288 :a5288 :a5288. -:a5289 :a5289 :a5289. -:a5290 :a5290 :a5290. -:a5291 :a5291 :a5291. -:a5292 :a5292 :a5292. -:a5293 :a5293 :a5293. -:a5294 :a5294 :a5294. -:a5295 :a5295 :a5295. -:a5296 :a5296 :a5296. -:a5297 :a5297 :a5297. -:a5298 :a5298 :a5298. -:a5299 :a5299 :a5299. -:a5300 :a5300 :a5300. -:a5301 :a5301 :a5301. -:a5302 :a5302 :a5302. -:a5303 :a5303 :a5303. -:a5304 :a5304 :a5304. -:a5305 :a5305 :a5305. -:a5306 :a5306 :a5306. -:a5307 :a5307 :a5307. -:a5308 :a5308 :a5308. -:a5309 :a5309 :a5309. -:a5310 :a5310 :a5310. -:a5311 :a5311 :a5311. -:a5312 :a5312 :a5312. -:a5313 :a5313 :a5313. -:a5314 :a5314 :a5314. -:a5315 :a5315 :a5315. -:a5316 :a5316 :a5316. -:a5317 :a5317 :a5317. -:a5318 :a5318 :a5318. -:a5319 :a5319 :a5319. -:a5320 :a5320 :a5320. -:a5321 :a5321 :a5321. -:a5322 :a5322 :a5322. -:a5323 :a5323 :a5323. -:a5324 :a5324 :a5324. -:a5325 :a5325 :a5325. -:a5326 :a5326 :a5326. -:a5327 :a5327 :a5327. -:a5328 :a5328 :a5328. -:a5329 :a5329 :a5329. -:a5330 :a5330 :a5330. -:a5331 :a5331 :a5331. -:a5332 :a5332 :a5332. -:a5333 :a5333 :a5333. -:a5334 :a5334 :a5334. -:a5335 :a5335 :a5335. -:a5336 :a5336 :a5336. -:a5337 :a5337 :a5337. -:a5338 :a5338 :a5338. -:a5339 :a5339 :a5339. -:a5340 :a5340 :a5340. -:a5341 :a5341 :a5341. -:a5342 :a5342 :a5342. -:a5343 :a5343 :a5343. -:a5344 :a5344 :a5344. -:a5345 :a5345 :a5345. -:a5346 :a5346 :a5346. -:a5347 :a5347 :a5347. -:a5348 :a5348 :a5348. -:a5349 :a5349 :a5349. -:a5350 :a5350 :a5350. -:a5351 :a5351 :a5351. -:a5352 :a5352 :a5352. -:a5353 :a5353 :a5353. -:a5354 :a5354 :a5354. -:a5355 :a5355 :a5355. -:a5356 :a5356 :a5356. -:a5357 :a5357 :a5357. -:a5358 :a5358 :a5358. -:a5359 :a5359 :a5359. -:a5360 :a5360 :a5360. -:a5361 :a5361 :a5361. -:a5362 :a5362 :a5362. -:a5363 :a5363 :a5363. -:a5364 :a5364 :a5364. -:a5365 :a5365 :a5365. -:a5366 :a5366 :a5366. -:a5367 :a5367 :a5367. -:a5368 :a5368 :a5368. -:a5369 :a5369 :a5369. -:a5370 :a5370 :a5370. -:a5371 :a5371 :a5371. -:a5372 :a5372 :a5372. -:a5373 :a5373 :a5373. -:a5374 :a5374 :a5374. -:a5375 :a5375 :a5375. -:a5376 :a5376 :a5376. -:a5377 :a5377 :a5377. -:a5378 :a5378 :a5378. -:a5379 :a5379 :a5379. -:a5380 :a5380 :a5380. -:a5381 :a5381 :a5381. -:a5382 :a5382 :a5382. -:a5383 :a5383 :a5383. -:a5384 :a5384 :a5384. -:a5385 :a5385 :a5385. -:a5386 :a5386 :a5386. -:a5387 :a5387 :a5387. -:a5388 :a5388 :a5388. -:a5389 :a5389 :a5389. -:a5390 :a5390 :a5390. -:a5391 :a5391 :a5391. -:a5392 :a5392 :a5392. -:a5393 :a5393 :a5393. -:a5394 :a5394 :a5394. -:a5395 :a5395 :a5395. -:a5396 :a5396 :a5396. -:a5397 :a5397 :a5397. -:a5398 :a5398 :a5398. -:a5399 :a5399 :a5399. -:a5400 :a5400 :a5400. -:a5401 :a5401 :a5401. -:a5402 :a5402 :a5402. -:a5403 :a5403 :a5403. -:a5404 :a5404 :a5404. -:a5405 :a5405 :a5405. -:a5406 :a5406 :a5406. -:a5407 :a5407 :a5407. -:a5408 :a5408 :a5408. -:a5409 :a5409 :a5409. -:a5410 :a5410 :a5410. -:a5411 :a5411 :a5411. -:a5412 :a5412 :a5412. -:a5413 :a5413 :a5413. -:a5414 :a5414 :a5414. -:a5415 :a5415 :a5415. -:a5416 :a5416 :a5416. -:a5417 :a5417 :a5417. -:a5418 :a5418 :a5418. -:a5419 :a5419 :a5419. -:a5420 :a5420 :a5420. -:a5421 :a5421 :a5421. -:a5422 :a5422 :a5422. -:a5423 :a5423 :a5423. -:a5424 :a5424 :a5424. -:a5425 :a5425 :a5425. -:a5426 :a5426 :a5426. -:a5427 :a5427 :a5427. -:a5428 :a5428 :a5428. -:a5429 :a5429 :a5429. -:a5430 :a5430 :a5430. -:a5431 :a5431 :a5431. -:a5432 :a5432 :a5432. -:a5433 :a5433 :a5433. -:a5434 :a5434 :a5434. -:a5435 :a5435 :a5435. -:a5436 :a5436 :a5436. -:a5437 :a5437 :a5437. -:a5438 :a5438 :a5438. -:a5439 :a5439 :a5439. -:a5440 :a5440 :a5440. -:a5441 :a5441 :a5441. -:a5442 :a5442 :a5442. -:a5443 :a5443 :a5443. -:a5444 :a5444 :a5444. -:a5445 :a5445 :a5445. -:a5446 :a5446 :a5446. -:a5447 :a5447 :a5447. -:a5448 :a5448 :a5448. -:a5449 :a5449 :a5449. -:a5450 :a5450 :a5450. -:a5451 :a5451 :a5451. -:a5452 :a5452 :a5452. -:a5453 :a5453 :a5453. -:a5454 :a5454 :a5454. -:a5455 :a5455 :a5455. -:a5456 :a5456 :a5456. -:a5457 :a5457 :a5457. -:a5458 :a5458 :a5458. -:a5459 :a5459 :a5459. -:a5460 :a5460 :a5460. -:a5461 :a5461 :a5461. -:a5462 :a5462 :a5462. -:a5463 :a5463 :a5463. -:a5464 :a5464 :a5464. -:a5465 :a5465 :a5465. -:a5466 :a5466 :a5466. -:a5467 :a5467 :a5467. -:a5468 :a5468 :a5468. -:a5469 :a5469 :a5469. -:a5470 :a5470 :a5470. -:a5471 :a5471 :a5471. -:a5472 :a5472 :a5472. -:a5473 :a5473 :a5473. -:a5474 :a5474 :a5474. -:a5475 :a5475 :a5475. -:a5476 :a5476 :a5476. -:a5477 :a5477 :a5477. -:a5478 :a5478 :a5478. -:a5479 :a5479 :a5479. -:a5480 :a5480 :a5480. -:a5481 :a5481 :a5481. -:a5482 :a5482 :a5482. -:a5483 :a5483 :a5483. -:a5484 :a5484 :a5484. -:a5485 :a5485 :a5485. -:a5486 :a5486 :a5486. -:a5487 :a5487 :a5487. -:a5488 :a5488 :a5488. -:a5489 :a5489 :a5489. -:a5490 :a5490 :a5490. -:a5491 :a5491 :a5491. -:a5492 :a5492 :a5492. -:a5493 :a5493 :a5493. -:a5494 :a5494 :a5494. -:a5495 :a5495 :a5495. -:a5496 :a5496 :a5496. -:a5497 :a5497 :a5497. -:a5498 :a5498 :a5498. -:a5499 :a5499 :a5499. -:a5500 :a5500 :a5500. -:a5501 :a5501 :a5501. -:a5502 :a5502 :a5502. -:a5503 :a5503 :a5503. -:a5504 :a5504 :a5504. -:a5505 :a5505 :a5505. -:a5506 :a5506 :a5506. -:a5507 :a5507 :a5507. -:a5508 :a5508 :a5508. -:a5509 :a5509 :a5509. -:a5510 :a5510 :a5510. -:a5511 :a5511 :a5511. -:a5512 :a5512 :a5512. -:a5513 :a5513 :a5513. -:a5514 :a5514 :a5514. -:a5515 :a5515 :a5515. -:a5516 :a5516 :a5516. -:a5517 :a5517 :a5517. -:a5518 :a5518 :a5518. -:a5519 :a5519 :a5519. -:a5520 :a5520 :a5520. -:a5521 :a5521 :a5521. -:a5522 :a5522 :a5522. -:a5523 :a5523 :a5523. -:a5524 :a5524 :a5524. -:a5525 :a5525 :a5525. -:a5526 :a5526 :a5526. -:a5527 :a5527 :a5527. -:a5528 :a5528 :a5528. -:a5529 :a5529 :a5529. -:a5530 :a5530 :a5530. -:a5531 :a5531 :a5531. -:a5532 :a5532 :a5532. -:a5533 :a5533 :a5533. -:a5534 :a5534 :a5534. -:a5535 :a5535 :a5535. -:a5536 :a5536 :a5536. -:a5537 :a5537 :a5537. -:a5538 :a5538 :a5538. -:a5539 :a5539 :a5539. -:a5540 :a5540 :a5540. -:a5541 :a5541 :a5541. -:a5542 :a5542 :a5542. -:a5543 :a5543 :a5543. -:a5544 :a5544 :a5544. -:a5545 :a5545 :a5545. -:a5546 :a5546 :a5546. -:a5547 :a5547 :a5547. -:a5548 :a5548 :a5548. -:a5549 :a5549 :a5549. -:a5550 :a5550 :a5550. -:a5551 :a5551 :a5551. -:a5552 :a5552 :a5552. -:a5553 :a5553 :a5553. -:a5554 :a5554 :a5554. -:a5555 :a5555 :a5555. -:a5556 :a5556 :a5556. -:a5557 :a5557 :a5557. -:a5558 :a5558 :a5558. -:a5559 :a5559 :a5559. -:a5560 :a5560 :a5560. -:a5561 :a5561 :a5561. -:a5562 :a5562 :a5562. -:a5563 :a5563 :a5563. -:a5564 :a5564 :a5564. -:a5565 :a5565 :a5565. -:a5566 :a5566 :a5566. -:a5567 :a5567 :a5567. -:a5568 :a5568 :a5568. -:a5569 :a5569 :a5569. -:a5570 :a5570 :a5570. -:a5571 :a5571 :a5571. -:a5572 :a5572 :a5572. -:a5573 :a5573 :a5573. -:a5574 :a5574 :a5574. -:a5575 :a5575 :a5575. -:a5576 :a5576 :a5576. -:a5577 :a5577 :a5577. -:a5578 :a5578 :a5578. -:a5579 :a5579 :a5579. -:a5580 :a5580 :a5580. -:a5581 :a5581 :a5581. -:a5582 :a5582 :a5582. -:a5583 :a5583 :a5583. -:a5584 :a5584 :a5584. -:a5585 :a5585 :a5585. -:a5586 :a5586 :a5586. -:a5587 :a5587 :a5587. -:a5588 :a5588 :a5588. -:a5589 :a5589 :a5589. -:a5590 :a5590 :a5590. -:a5591 :a5591 :a5591. -:a5592 :a5592 :a5592. -:a5593 :a5593 :a5593. -:a5594 :a5594 :a5594. -:a5595 :a5595 :a5595. -:a5596 :a5596 :a5596. -:a5597 :a5597 :a5597. -:a5598 :a5598 :a5598. -:a5599 :a5599 :a5599. -:a5600 :a5600 :a5600. -:a5601 :a5601 :a5601. -:a5602 :a5602 :a5602. -:a5603 :a5603 :a5603. -:a5604 :a5604 :a5604. -:a5605 :a5605 :a5605. -:a5606 :a5606 :a5606. -:a5607 :a5607 :a5607. -:a5608 :a5608 :a5608. -:a5609 :a5609 :a5609. -:a5610 :a5610 :a5610. -:a5611 :a5611 :a5611. -:a5612 :a5612 :a5612. -:a5613 :a5613 :a5613. -:a5614 :a5614 :a5614. -:a5615 :a5615 :a5615. -:a5616 :a5616 :a5616. -:a5617 :a5617 :a5617. -:a5618 :a5618 :a5618. -:a5619 :a5619 :a5619. -:a5620 :a5620 :a5620. -:a5621 :a5621 :a5621. -:a5622 :a5622 :a5622. -:a5623 :a5623 :a5623. -:a5624 :a5624 :a5624. -:a5625 :a5625 :a5625. -:a5626 :a5626 :a5626. -:a5627 :a5627 :a5627. -:a5628 :a5628 :a5628. -:a5629 :a5629 :a5629. -:a5630 :a5630 :a5630. -:a5631 :a5631 :a5631. -:a5632 :a5632 :a5632. -:a5633 :a5633 :a5633. -:a5634 :a5634 :a5634. -:a5635 :a5635 :a5635. -:a5636 :a5636 :a5636. -:a5637 :a5637 :a5637. -:a5638 :a5638 :a5638. -:a5639 :a5639 :a5639. -:a5640 :a5640 :a5640. -:a5641 :a5641 :a5641. -:a5642 :a5642 :a5642. -:a5643 :a5643 :a5643. -:a5644 :a5644 :a5644. -:a5645 :a5645 :a5645. -:a5646 :a5646 :a5646. -:a5647 :a5647 :a5647. -:a5648 :a5648 :a5648. -:a5649 :a5649 :a5649. -:a5650 :a5650 :a5650. -:a5651 :a5651 :a5651. -:a5652 :a5652 :a5652. -:a5653 :a5653 :a5653. -:a5654 :a5654 :a5654. -:a5655 :a5655 :a5655. -:a5656 :a5656 :a5656. -:a5657 :a5657 :a5657. -:a5658 :a5658 :a5658. -:a5659 :a5659 :a5659. -:a5660 :a5660 :a5660. -:a5661 :a5661 :a5661. -:a5662 :a5662 :a5662. -:a5663 :a5663 :a5663. -:a5664 :a5664 :a5664. -:a5665 :a5665 :a5665. -:a5666 :a5666 :a5666. -:a5667 :a5667 :a5667. -:a5668 :a5668 :a5668. -:a5669 :a5669 :a5669. -:a5670 :a5670 :a5670. -:a5671 :a5671 :a5671. -:a5672 :a5672 :a5672. -:a5673 :a5673 :a5673. -:a5674 :a5674 :a5674. -:a5675 :a5675 :a5675. -:a5676 :a5676 :a5676. -:a5677 :a5677 :a5677. -:a5678 :a5678 :a5678. -:a5679 :a5679 :a5679. -:a5680 :a5680 :a5680. -:a5681 :a5681 :a5681. -:a5682 :a5682 :a5682. -:a5683 :a5683 :a5683. -:a5684 :a5684 :a5684. -:a5685 :a5685 :a5685. -:a5686 :a5686 :a5686. -:a5687 :a5687 :a5687. -:a5688 :a5688 :a5688. -:a5689 :a5689 :a5689. -:a5690 :a5690 :a5690. -:a5691 :a5691 :a5691. -:a5692 :a5692 :a5692. -:a5693 :a5693 :a5693. -:a5694 :a5694 :a5694. -:a5695 :a5695 :a5695. -:a5696 :a5696 :a5696. -:a5697 :a5697 :a5697. -:a5698 :a5698 :a5698. -:a5699 :a5699 :a5699. -:a5700 :a5700 :a5700. -:a5701 :a5701 :a5701. -:a5702 :a5702 :a5702. -:a5703 :a5703 :a5703. -:a5704 :a5704 :a5704. -:a5705 :a5705 :a5705. -:a5706 :a5706 :a5706. -:a5707 :a5707 :a5707. -:a5708 :a5708 :a5708. -:a5709 :a5709 :a5709. -:a5710 :a5710 :a5710. -:a5711 :a5711 :a5711. -:a5712 :a5712 :a5712. -:a5713 :a5713 :a5713. -:a5714 :a5714 :a5714. -:a5715 :a5715 :a5715. -:a5716 :a5716 :a5716. -:a5717 :a5717 :a5717. -:a5718 :a5718 :a5718. -:a5719 :a5719 :a5719. -:a5720 :a5720 :a5720. -:a5721 :a5721 :a5721. -:a5722 :a5722 :a5722. -:a5723 :a5723 :a5723. -:a5724 :a5724 :a5724. -:a5725 :a5725 :a5725. -:a5726 :a5726 :a5726. -:a5727 :a5727 :a5727. -:a5728 :a5728 :a5728. -:a5729 :a5729 :a5729. -:a5730 :a5730 :a5730. -:a5731 :a5731 :a5731. -:a5732 :a5732 :a5732. -:a5733 :a5733 :a5733. -:a5734 :a5734 :a5734. -:a5735 :a5735 :a5735. -:a5736 :a5736 :a5736. -:a5737 :a5737 :a5737. -:a5738 :a5738 :a5738. -:a5739 :a5739 :a5739. -:a5740 :a5740 :a5740. -:a5741 :a5741 :a5741. -:a5742 :a5742 :a5742. -:a5743 :a5743 :a5743. -:a5744 :a5744 :a5744. -:a5745 :a5745 :a5745. -:a5746 :a5746 :a5746. -:a5747 :a5747 :a5747. -:a5748 :a5748 :a5748. -:a5749 :a5749 :a5749. -:a5750 :a5750 :a5750. -:a5751 :a5751 :a5751. -:a5752 :a5752 :a5752. -:a5753 :a5753 :a5753. -:a5754 :a5754 :a5754. -:a5755 :a5755 :a5755. -:a5756 :a5756 :a5756. -:a5757 :a5757 :a5757. -:a5758 :a5758 :a5758. -:a5759 :a5759 :a5759. -:a5760 :a5760 :a5760. -:a5761 :a5761 :a5761. -:a5762 :a5762 :a5762. -:a5763 :a5763 :a5763. -:a5764 :a5764 :a5764. -:a5765 :a5765 :a5765. -:a5766 :a5766 :a5766. -:a5767 :a5767 :a5767. -:a5768 :a5768 :a5768. -:a5769 :a5769 :a5769. -:a5770 :a5770 :a5770. -:a5771 :a5771 :a5771. -:a5772 :a5772 :a5772. -:a5773 :a5773 :a5773. -:a5774 :a5774 :a5774. -:a5775 :a5775 :a5775. -:a5776 :a5776 :a5776. -:a5777 :a5777 :a5777. -:a5778 :a5778 :a5778. -:a5779 :a5779 :a5779. -:a5780 :a5780 :a5780. -:a5781 :a5781 :a5781. -:a5782 :a5782 :a5782. -:a5783 :a5783 :a5783. -:a5784 :a5784 :a5784. -:a5785 :a5785 :a5785. -:a5786 :a5786 :a5786. -:a5787 :a5787 :a5787. -:a5788 :a5788 :a5788. -:a5789 :a5789 :a5789. -:a5790 :a5790 :a5790. -:a5791 :a5791 :a5791. -:a5792 :a5792 :a5792. -:a5793 :a5793 :a5793. -:a5794 :a5794 :a5794. -:a5795 :a5795 :a5795. -:a5796 :a5796 :a5796. -:a5797 :a5797 :a5797. -:a5798 :a5798 :a5798. -:a5799 :a5799 :a5799. -:a5800 :a5800 :a5800. -:a5801 :a5801 :a5801. -:a5802 :a5802 :a5802. -:a5803 :a5803 :a5803. -:a5804 :a5804 :a5804. -:a5805 :a5805 :a5805. -:a5806 :a5806 :a5806. -:a5807 :a5807 :a5807. -:a5808 :a5808 :a5808. -:a5809 :a5809 :a5809. -:a5810 :a5810 :a5810. -:a5811 :a5811 :a5811. -:a5812 :a5812 :a5812. -:a5813 :a5813 :a5813. -:a5814 :a5814 :a5814. -:a5815 :a5815 :a5815. -:a5816 :a5816 :a5816. -:a5817 :a5817 :a5817. -:a5818 :a5818 :a5818. -:a5819 :a5819 :a5819. -:a5820 :a5820 :a5820. -:a5821 :a5821 :a5821. -:a5822 :a5822 :a5822. -:a5823 :a5823 :a5823. -:a5824 :a5824 :a5824. -:a5825 :a5825 :a5825. -:a5826 :a5826 :a5826. -:a5827 :a5827 :a5827. -:a5828 :a5828 :a5828. -:a5829 :a5829 :a5829. -:a5830 :a5830 :a5830. -:a5831 :a5831 :a5831. -:a5832 :a5832 :a5832. -:a5833 :a5833 :a5833. -:a5834 :a5834 :a5834. -:a5835 :a5835 :a5835. -:a5836 :a5836 :a5836. -:a5837 :a5837 :a5837. -:a5838 :a5838 :a5838. -:a5839 :a5839 :a5839. -:a5840 :a5840 :a5840. -:a5841 :a5841 :a5841. -:a5842 :a5842 :a5842. -:a5843 :a5843 :a5843. -:a5844 :a5844 :a5844. -:a5845 :a5845 :a5845. -:a5846 :a5846 :a5846. -:a5847 :a5847 :a5847. -:a5848 :a5848 :a5848. -:a5849 :a5849 :a5849. -:a5850 :a5850 :a5850. -:a5851 :a5851 :a5851. -:a5852 :a5852 :a5852. -:a5853 :a5853 :a5853. -:a5854 :a5854 :a5854. -:a5855 :a5855 :a5855. -:a5856 :a5856 :a5856. -:a5857 :a5857 :a5857. -:a5858 :a5858 :a5858. -:a5859 :a5859 :a5859. -:a5860 :a5860 :a5860. -:a5861 :a5861 :a5861. -:a5862 :a5862 :a5862. -:a5863 :a5863 :a5863. -:a5864 :a5864 :a5864. -:a5865 :a5865 :a5865. -:a5866 :a5866 :a5866. -:a5867 :a5867 :a5867. -:a5868 :a5868 :a5868. -:a5869 :a5869 :a5869. -:a5870 :a5870 :a5870. -:a5871 :a5871 :a5871. -:a5872 :a5872 :a5872. -:a5873 :a5873 :a5873. -:a5874 :a5874 :a5874. -:a5875 :a5875 :a5875. -:a5876 :a5876 :a5876. -:a5877 :a5877 :a5877. -:a5878 :a5878 :a5878. -:a5879 :a5879 :a5879. -:a5880 :a5880 :a5880. -:a5881 :a5881 :a5881. -:a5882 :a5882 :a5882. -:a5883 :a5883 :a5883. -:a5884 :a5884 :a5884. -:a5885 :a5885 :a5885. -:a5886 :a5886 :a5886. -:a5887 :a5887 :a5887. -:a5888 :a5888 :a5888. -:a5889 :a5889 :a5889. -:a5890 :a5890 :a5890. -:a5891 :a5891 :a5891. -:a5892 :a5892 :a5892. -:a5893 :a5893 :a5893. -:a5894 :a5894 :a5894. -:a5895 :a5895 :a5895. -:a5896 :a5896 :a5896. -:a5897 :a5897 :a5897. -:a5898 :a5898 :a5898. -:a5899 :a5899 :a5899. -:a5900 :a5900 :a5900. -:a5901 :a5901 :a5901. -:a5902 :a5902 :a5902. -:a5903 :a5903 :a5903. -:a5904 :a5904 :a5904. -:a5905 :a5905 :a5905. -:a5906 :a5906 :a5906. -:a5907 :a5907 :a5907. -:a5908 :a5908 :a5908. -:a5909 :a5909 :a5909. -:a5910 :a5910 :a5910. -:a5911 :a5911 :a5911. -:a5912 :a5912 :a5912. -:a5913 :a5913 :a5913. -:a5914 :a5914 :a5914. -:a5915 :a5915 :a5915. -:a5916 :a5916 :a5916. -:a5917 :a5917 :a5917. -:a5918 :a5918 :a5918. -:a5919 :a5919 :a5919. -:a5920 :a5920 :a5920. -:a5921 :a5921 :a5921. -:a5922 :a5922 :a5922. -:a5923 :a5923 :a5923. -:a5924 :a5924 :a5924. -:a5925 :a5925 :a5925. -:a5926 :a5926 :a5926. -:a5927 :a5927 :a5927. -:a5928 :a5928 :a5928. -:a5929 :a5929 :a5929. -:a5930 :a5930 :a5930. -:a5931 :a5931 :a5931. -:a5932 :a5932 :a5932. -:a5933 :a5933 :a5933. -:a5934 :a5934 :a5934. -:a5935 :a5935 :a5935. -:a5936 :a5936 :a5936. -:a5937 :a5937 :a5937. -:a5938 :a5938 :a5938. -:a5939 :a5939 :a5939. -:a5940 :a5940 :a5940. -:a5941 :a5941 :a5941. -:a5942 :a5942 :a5942. -:a5943 :a5943 :a5943. -:a5944 :a5944 :a5944. -:a5945 :a5945 :a5945. -:a5946 :a5946 :a5946. -:a5947 :a5947 :a5947. -:a5948 :a5948 :a5948. -:a5949 :a5949 :a5949. -:a5950 :a5950 :a5950. -:a5951 :a5951 :a5951. -:a5952 :a5952 :a5952. -:a5953 :a5953 :a5953. -:a5954 :a5954 :a5954. -:a5955 :a5955 :a5955. -:a5956 :a5956 :a5956. -:a5957 :a5957 :a5957. -:a5958 :a5958 :a5958. -:a5959 :a5959 :a5959. -:a5960 :a5960 :a5960. -:a5961 :a5961 :a5961. -:a5962 :a5962 :a5962. -:a5963 :a5963 :a5963. -:a5964 :a5964 :a5964. -:a5965 :a5965 :a5965. -:a5966 :a5966 :a5966. -:a5967 :a5967 :a5967. -:a5968 :a5968 :a5968. -:a5969 :a5969 :a5969. -:a5970 :a5970 :a5970. -:a5971 :a5971 :a5971. -:a5972 :a5972 :a5972. -:a5973 :a5973 :a5973. -:a5974 :a5974 :a5974. -:a5975 :a5975 :a5975. -:a5976 :a5976 :a5976. -:a5977 :a5977 :a5977. -:a5978 :a5978 :a5978. -:a5979 :a5979 :a5979. -:a5980 :a5980 :a5980. -:a5981 :a5981 :a5981. -:a5982 :a5982 :a5982. -:a5983 :a5983 :a5983. -:a5984 :a5984 :a5984. -:a5985 :a5985 :a5985. -:a5986 :a5986 :a5986. -:a5987 :a5987 :a5987. -:a5988 :a5988 :a5988. -:a5989 :a5989 :a5989. -:a5990 :a5990 :a5990. -:a5991 :a5991 :a5991. -:a5992 :a5992 :a5992. -:a5993 :a5993 :a5993. -:a5994 :a5994 :a5994. -:a5995 :a5995 :a5995. -:a5996 :a5996 :a5996. -:a5997 :a5997 :a5997. -:a5998 :a5998 :a5998. -:a5999 :a5999 :a5999. -:a6000 :a6000 :a6000. -:a6001 :a6001 :a6001. -:a6002 :a6002 :a6002. -:a6003 :a6003 :a6003. -:a6004 :a6004 :a6004. -:a6005 :a6005 :a6005. -:a6006 :a6006 :a6006. -:a6007 :a6007 :a6007. -:a6008 :a6008 :a6008. -:a6009 :a6009 :a6009. -:a6010 :a6010 :a6010. -:a6011 :a6011 :a6011. -:a6012 :a6012 :a6012. -:a6013 :a6013 :a6013. -:a6014 :a6014 :a6014. -:a6015 :a6015 :a6015. -:a6016 :a6016 :a6016. -:a6017 :a6017 :a6017. -:a6018 :a6018 :a6018. -:a6019 :a6019 :a6019. -:a6020 :a6020 :a6020. -:a6021 :a6021 :a6021. -:a6022 :a6022 :a6022. -:a6023 :a6023 :a6023. -:a6024 :a6024 :a6024. -:a6025 :a6025 :a6025. -:a6026 :a6026 :a6026. -:a6027 :a6027 :a6027. -:a6028 :a6028 :a6028. -:a6029 :a6029 :a6029. -:a6030 :a6030 :a6030. -:a6031 :a6031 :a6031. -:a6032 :a6032 :a6032. -:a6033 :a6033 :a6033. -:a6034 :a6034 :a6034. -:a6035 :a6035 :a6035. -:a6036 :a6036 :a6036. -:a6037 :a6037 :a6037. -:a6038 :a6038 :a6038. -:a6039 :a6039 :a6039. -:a6040 :a6040 :a6040. -:a6041 :a6041 :a6041. -:a6042 :a6042 :a6042. -:a6043 :a6043 :a6043. -:a6044 :a6044 :a6044. -:a6045 :a6045 :a6045. -:a6046 :a6046 :a6046. -:a6047 :a6047 :a6047. -:a6048 :a6048 :a6048. -:a6049 :a6049 :a6049. -:a6050 :a6050 :a6050. -:a6051 :a6051 :a6051. -:a6052 :a6052 :a6052. -:a6053 :a6053 :a6053. -:a6054 :a6054 :a6054. -:a6055 :a6055 :a6055. -:a6056 :a6056 :a6056. -:a6057 :a6057 :a6057. -:a6058 :a6058 :a6058. -:a6059 :a6059 :a6059. -:a6060 :a6060 :a6060. -:a6061 :a6061 :a6061. -:a6062 :a6062 :a6062. -:a6063 :a6063 :a6063. -:a6064 :a6064 :a6064. -:a6065 :a6065 :a6065. -:a6066 :a6066 :a6066. -:a6067 :a6067 :a6067. -:a6068 :a6068 :a6068. -:a6069 :a6069 :a6069. -:a6070 :a6070 :a6070. -:a6071 :a6071 :a6071. -:a6072 :a6072 :a6072. -:a6073 :a6073 :a6073. -:a6074 :a6074 :a6074. -:a6075 :a6075 :a6075. -:a6076 :a6076 :a6076. -:a6077 :a6077 :a6077. -:a6078 :a6078 :a6078. -:a6079 :a6079 :a6079. -:a6080 :a6080 :a6080. -:a6081 :a6081 :a6081. -:a6082 :a6082 :a6082. -:a6083 :a6083 :a6083. -:a6084 :a6084 :a6084. -:a6085 :a6085 :a6085. -:a6086 :a6086 :a6086. -:a6087 :a6087 :a6087. -:a6088 :a6088 :a6088. -:a6089 :a6089 :a6089. -:a6090 :a6090 :a6090. -:a6091 :a6091 :a6091. -:a6092 :a6092 :a6092. -:a6093 :a6093 :a6093. -:a6094 :a6094 :a6094. -:a6095 :a6095 :a6095. -:a6096 :a6096 :a6096. -:a6097 :a6097 :a6097. -:a6098 :a6098 :a6098. -:a6099 :a6099 :a6099. -:a6100 :a6100 :a6100. -:a6101 :a6101 :a6101. -:a6102 :a6102 :a6102. -:a6103 :a6103 :a6103. -:a6104 :a6104 :a6104. -:a6105 :a6105 :a6105. -:a6106 :a6106 :a6106. -:a6107 :a6107 :a6107. -:a6108 :a6108 :a6108. -:a6109 :a6109 :a6109. -:a6110 :a6110 :a6110. -:a6111 :a6111 :a6111. -:a6112 :a6112 :a6112. -:a6113 :a6113 :a6113. -:a6114 :a6114 :a6114. -:a6115 :a6115 :a6115. -:a6116 :a6116 :a6116. -:a6117 :a6117 :a6117. -:a6118 :a6118 :a6118. -:a6119 :a6119 :a6119. -:a6120 :a6120 :a6120. -:a6121 :a6121 :a6121. -:a6122 :a6122 :a6122. -:a6123 :a6123 :a6123. -:a6124 :a6124 :a6124. -:a6125 :a6125 :a6125. -:a6126 :a6126 :a6126. -:a6127 :a6127 :a6127. -:a6128 :a6128 :a6128. -:a6129 :a6129 :a6129. -:a6130 :a6130 :a6130. -:a6131 :a6131 :a6131. -:a6132 :a6132 :a6132. -:a6133 :a6133 :a6133. -:a6134 :a6134 :a6134. -:a6135 :a6135 :a6135. -:a6136 :a6136 :a6136. -:a6137 :a6137 :a6137. -:a6138 :a6138 :a6138. -:a6139 :a6139 :a6139. -:a6140 :a6140 :a6140. -:a6141 :a6141 :a6141. -:a6142 :a6142 :a6142. -:a6143 :a6143 :a6143. -:a6144 :a6144 :a6144. -:a6145 :a6145 :a6145. -:a6146 :a6146 :a6146. -:a6147 :a6147 :a6147. -:a6148 :a6148 :a6148. -:a6149 :a6149 :a6149. -:a6150 :a6150 :a6150. -:a6151 :a6151 :a6151. -:a6152 :a6152 :a6152. -:a6153 :a6153 :a6153. -:a6154 :a6154 :a6154. -:a6155 :a6155 :a6155. -:a6156 :a6156 :a6156. -:a6157 :a6157 :a6157. -:a6158 :a6158 :a6158. -:a6159 :a6159 :a6159. -:a6160 :a6160 :a6160. -:a6161 :a6161 :a6161. -:a6162 :a6162 :a6162. -:a6163 :a6163 :a6163. -:a6164 :a6164 :a6164. -:a6165 :a6165 :a6165. -:a6166 :a6166 :a6166. -:a6167 :a6167 :a6167. -:a6168 :a6168 :a6168. -:a6169 :a6169 :a6169. -:a6170 :a6170 :a6170. -:a6171 :a6171 :a6171. -:a6172 :a6172 :a6172. -:a6173 :a6173 :a6173. -:a6174 :a6174 :a6174. -:a6175 :a6175 :a6175. -:a6176 :a6176 :a6176. -:a6177 :a6177 :a6177. -:a6178 :a6178 :a6178. -:a6179 :a6179 :a6179. -:a6180 :a6180 :a6180. -:a6181 :a6181 :a6181. -:a6182 :a6182 :a6182. -:a6183 :a6183 :a6183. -:a6184 :a6184 :a6184. -:a6185 :a6185 :a6185. -:a6186 :a6186 :a6186. -:a6187 :a6187 :a6187. -:a6188 :a6188 :a6188. -:a6189 :a6189 :a6189. -:a6190 :a6190 :a6190. -:a6191 :a6191 :a6191. -:a6192 :a6192 :a6192. -:a6193 :a6193 :a6193. -:a6194 :a6194 :a6194. -:a6195 :a6195 :a6195. -:a6196 :a6196 :a6196. -:a6197 :a6197 :a6197. -:a6198 :a6198 :a6198. -:a6199 :a6199 :a6199. -:a6200 :a6200 :a6200. -:a6201 :a6201 :a6201. -:a6202 :a6202 :a6202. -:a6203 :a6203 :a6203. -:a6204 :a6204 :a6204. -:a6205 :a6205 :a6205. -:a6206 :a6206 :a6206. -:a6207 :a6207 :a6207. -:a6208 :a6208 :a6208. -:a6209 :a6209 :a6209. -:a6210 :a6210 :a6210. -:a6211 :a6211 :a6211. -:a6212 :a6212 :a6212. -:a6213 :a6213 :a6213. -:a6214 :a6214 :a6214. -:a6215 :a6215 :a6215. -:a6216 :a6216 :a6216. -:a6217 :a6217 :a6217. -:a6218 :a6218 :a6218. -:a6219 :a6219 :a6219. -:a6220 :a6220 :a6220. -:a6221 :a6221 :a6221. -:a6222 :a6222 :a6222. -:a6223 :a6223 :a6223. -:a6224 :a6224 :a6224. -:a6225 :a6225 :a6225. -:a6226 :a6226 :a6226. -:a6227 :a6227 :a6227. -:a6228 :a6228 :a6228. -:a6229 :a6229 :a6229. -:a6230 :a6230 :a6230. -:a6231 :a6231 :a6231. -:a6232 :a6232 :a6232. -:a6233 :a6233 :a6233. -:a6234 :a6234 :a6234. -:a6235 :a6235 :a6235. -:a6236 :a6236 :a6236. -:a6237 :a6237 :a6237. -:a6238 :a6238 :a6238. -:a6239 :a6239 :a6239. -:a6240 :a6240 :a6240. -:a6241 :a6241 :a6241. -:a6242 :a6242 :a6242. -:a6243 :a6243 :a6243. -:a6244 :a6244 :a6244. -:a6245 :a6245 :a6245. -:a6246 :a6246 :a6246. -:a6247 :a6247 :a6247. -:a6248 :a6248 :a6248. -:a6249 :a6249 :a6249. -:a6250 :a6250 :a6250. -:a6251 :a6251 :a6251. -:a6252 :a6252 :a6252. -:a6253 :a6253 :a6253. -:a6254 :a6254 :a6254. -:a6255 :a6255 :a6255. -:a6256 :a6256 :a6256. -:a6257 :a6257 :a6257. -:a6258 :a6258 :a6258. -:a6259 :a6259 :a6259. -:a6260 :a6260 :a6260. -:a6261 :a6261 :a6261. -:a6262 :a6262 :a6262. -:a6263 :a6263 :a6263. -:a6264 :a6264 :a6264. -:a6265 :a6265 :a6265. -:a6266 :a6266 :a6266. -:a6267 :a6267 :a6267. -:a6268 :a6268 :a6268. -:a6269 :a6269 :a6269. -:a6270 :a6270 :a6270. -:a6271 :a6271 :a6271. -:a6272 :a6272 :a6272. -:a6273 :a6273 :a6273. -:a6274 :a6274 :a6274. -:a6275 :a6275 :a6275. -:a6276 :a6276 :a6276. -:a6277 :a6277 :a6277. -:a6278 :a6278 :a6278. -:a6279 :a6279 :a6279. -:a6280 :a6280 :a6280. -:a6281 :a6281 :a6281. -:a6282 :a6282 :a6282. -:a6283 :a6283 :a6283. -:a6284 :a6284 :a6284. -:a6285 :a6285 :a6285. -:a6286 :a6286 :a6286. -:a6287 :a6287 :a6287. -:a6288 :a6288 :a6288. -:a6289 :a6289 :a6289. -:a6290 :a6290 :a6290. -:a6291 :a6291 :a6291. -:a6292 :a6292 :a6292. -:a6293 :a6293 :a6293. -:a6294 :a6294 :a6294. -:a6295 :a6295 :a6295. -:a6296 :a6296 :a6296. -:a6297 :a6297 :a6297. -:a6298 :a6298 :a6298. -:a6299 :a6299 :a6299. -:a6300 :a6300 :a6300. -:a6301 :a6301 :a6301. -:a6302 :a6302 :a6302. -:a6303 :a6303 :a6303. -:a6304 :a6304 :a6304. -:a6305 :a6305 :a6305. -:a6306 :a6306 :a6306. -:a6307 :a6307 :a6307. -:a6308 :a6308 :a6308. -:a6309 :a6309 :a6309. -:a6310 :a6310 :a6310. -:a6311 :a6311 :a6311. -:a6312 :a6312 :a6312. -:a6313 :a6313 :a6313. -:a6314 :a6314 :a6314. -:a6315 :a6315 :a6315. -:a6316 :a6316 :a6316. -:a6317 :a6317 :a6317. -:a6318 :a6318 :a6318. -:a6319 :a6319 :a6319. -:a6320 :a6320 :a6320. -:a6321 :a6321 :a6321. -:a6322 :a6322 :a6322. -:a6323 :a6323 :a6323. -:a6324 :a6324 :a6324. -:a6325 :a6325 :a6325. -:a6326 :a6326 :a6326. -:a6327 :a6327 :a6327. -:a6328 :a6328 :a6328. -:a6329 :a6329 :a6329. -:a6330 :a6330 :a6330. -:a6331 :a6331 :a6331. -:a6332 :a6332 :a6332. -:a6333 :a6333 :a6333. -:a6334 :a6334 :a6334. -:a6335 :a6335 :a6335. -:a6336 :a6336 :a6336. -:a6337 :a6337 :a6337. -:a6338 :a6338 :a6338. -:a6339 :a6339 :a6339. -:a6340 :a6340 :a6340. -:a6341 :a6341 :a6341. -:a6342 :a6342 :a6342. -:a6343 :a6343 :a6343. -:a6344 :a6344 :a6344. -:a6345 :a6345 :a6345. -:a6346 :a6346 :a6346. -:a6347 :a6347 :a6347. -:a6348 :a6348 :a6348. -:a6349 :a6349 :a6349. -:a6350 :a6350 :a6350. -:a6351 :a6351 :a6351. -:a6352 :a6352 :a6352. -:a6353 :a6353 :a6353. -:a6354 :a6354 :a6354. -:a6355 :a6355 :a6355. -:a6356 :a6356 :a6356. -:a6357 :a6357 :a6357. -:a6358 :a6358 :a6358. -:a6359 :a6359 :a6359. -:a6360 :a6360 :a6360. -:a6361 :a6361 :a6361. -:a6362 :a6362 :a6362. -:a6363 :a6363 :a6363. -:a6364 :a6364 :a6364. -:a6365 :a6365 :a6365. -:a6366 :a6366 :a6366. -:a6367 :a6367 :a6367. -:a6368 :a6368 :a6368. -:a6369 :a6369 :a6369. -:a6370 :a6370 :a6370. -:a6371 :a6371 :a6371. -:a6372 :a6372 :a6372. -:a6373 :a6373 :a6373. -:a6374 :a6374 :a6374. -:a6375 :a6375 :a6375. -:a6376 :a6376 :a6376. -:a6377 :a6377 :a6377. -:a6378 :a6378 :a6378. -:a6379 :a6379 :a6379. -:a6380 :a6380 :a6380. -:a6381 :a6381 :a6381. -:a6382 :a6382 :a6382. -:a6383 :a6383 :a6383. -:a6384 :a6384 :a6384. -:a6385 :a6385 :a6385. -:a6386 :a6386 :a6386. -:a6387 :a6387 :a6387. -:a6388 :a6388 :a6388. -:a6389 :a6389 :a6389. -:a6390 :a6390 :a6390. -:a6391 :a6391 :a6391. -:a6392 :a6392 :a6392. -:a6393 :a6393 :a6393. -:a6394 :a6394 :a6394. -:a6395 :a6395 :a6395. -:a6396 :a6396 :a6396. -:a6397 :a6397 :a6397. -:a6398 :a6398 :a6398. -:a6399 :a6399 :a6399. -:a6400 :a6400 :a6400. -:a6401 :a6401 :a6401. -:a6402 :a6402 :a6402. -:a6403 :a6403 :a6403. -:a6404 :a6404 :a6404. -:a6405 :a6405 :a6405. -:a6406 :a6406 :a6406. -:a6407 :a6407 :a6407. -:a6408 :a6408 :a6408. -:a6409 :a6409 :a6409. -:a6410 :a6410 :a6410. -:a6411 :a6411 :a6411. -:a6412 :a6412 :a6412. -:a6413 :a6413 :a6413. -:a6414 :a6414 :a6414. -:a6415 :a6415 :a6415. -:a6416 :a6416 :a6416. -:a6417 :a6417 :a6417. -:a6418 :a6418 :a6418. -:a6419 :a6419 :a6419. -:a6420 :a6420 :a6420. -:a6421 :a6421 :a6421. -:a6422 :a6422 :a6422. -:a6423 :a6423 :a6423. -:a6424 :a6424 :a6424. -:a6425 :a6425 :a6425. -:a6426 :a6426 :a6426. -:a6427 :a6427 :a6427. -:a6428 :a6428 :a6428. -:a6429 :a6429 :a6429. -:a6430 :a6430 :a6430. -:a6431 :a6431 :a6431. -:a6432 :a6432 :a6432. -:a6433 :a6433 :a6433. -:a6434 :a6434 :a6434. -:a6435 :a6435 :a6435. -:a6436 :a6436 :a6436. -:a6437 :a6437 :a6437. -:a6438 :a6438 :a6438. -:a6439 :a6439 :a6439. -:a6440 :a6440 :a6440. -:a6441 :a6441 :a6441. -:a6442 :a6442 :a6442. -:a6443 :a6443 :a6443. -:a6444 :a6444 :a6444. -:a6445 :a6445 :a6445. -:a6446 :a6446 :a6446. -:a6447 :a6447 :a6447. -:a6448 :a6448 :a6448. -:a6449 :a6449 :a6449. -:a6450 :a6450 :a6450. -:a6451 :a6451 :a6451. -:a6452 :a6452 :a6452. -:a6453 :a6453 :a6453. -:a6454 :a6454 :a6454. -:a6455 :a6455 :a6455. -:a6456 :a6456 :a6456. -:a6457 :a6457 :a6457. -:a6458 :a6458 :a6458. -:a6459 :a6459 :a6459. -:a6460 :a6460 :a6460. -:a6461 :a6461 :a6461. -:a6462 :a6462 :a6462. -:a6463 :a6463 :a6463. -:a6464 :a6464 :a6464. -:a6465 :a6465 :a6465. -:a6466 :a6466 :a6466. -:a6467 :a6467 :a6467. -:a6468 :a6468 :a6468. -:a6469 :a6469 :a6469. -:a6470 :a6470 :a6470. -:a6471 :a6471 :a6471. -:a6472 :a6472 :a6472. -:a6473 :a6473 :a6473. -:a6474 :a6474 :a6474. -:a6475 :a6475 :a6475. -:a6476 :a6476 :a6476. -:a6477 :a6477 :a6477. -:a6478 :a6478 :a6478. -:a6479 :a6479 :a6479. -:a6480 :a6480 :a6480. -:a6481 :a6481 :a6481. -:a6482 :a6482 :a6482. -:a6483 :a6483 :a6483. -:a6484 :a6484 :a6484. -:a6485 :a6485 :a6485. -:a6486 :a6486 :a6486. -:a6487 :a6487 :a6487. -:a6488 :a6488 :a6488. -:a6489 :a6489 :a6489. -:a6490 :a6490 :a6490. -:a6491 :a6491 :a6491. -:a6492 :a6492 :a6492. -:a6493 :a6493 :a6493. -:a6494 :a6494 :a6494. -:a6495 :a6495 :a6495. -:a6496 :a6496 :a6496. -:a6497 :a6497 :a6497. -:a6498 :a6498 :a6498. -:a6499 :a6499 :a6499. -:a6500 :a6500 :a6500. -:a6501 :a6501 :a6501. -:a6502 :a6502 :a6502. -:a6503 :a6503 :a6503. -:a6504 :a6504 :a6504. -:a6505 :a6505 :a6505. -:a6506 :a6506 :a6506. -:a6507 :a6507 :a6507. -:a6508 :a6508 :a6508. -:a6509 :a6509 :a6509. -:a6510 :a6510 :a6510. -:a6511 :a6511 :a6511. -:a6512 :a6512 :a6512. -:a6513 :a6513 :a6513. -:a6514 :a6514 :a6514. -:a6515 :a6515 :a6515. -:a6516 :a6516 :a6516. -:a6517 :a6517 :a6517. -:a6518 :a6518 :a6518. -:a6519 :a6519 :a6519. -:a6520 :a6520 :a6520. -:a6521 :a6521 :a6521. -:a6522 :a6522 :a6522. -:a6523 :a6523 :a6523. -:a6524 :a6524 :a6524. -:a6525 :a6525 :a6525. -:a6526 :a6526 :a6526. -:a6527 :a6527 :a6527. -:a6528 :a6528 :a6528. -:a6529 :a6529 :a6529. -:a6530 :a6530 :a6530. -:a6531 :a6531 :a6531. -:a6532 :a6532 :a6532. -:a6533 :a6533 :a6533. -:a6534 :a6534 :a6534. -:a6535 :a6535 :a6535. -:a6536 :a6536 :a6536. -:a6537 :a6537 :a6537. -:a6538 :a6538 :a6538. -:a6539 :a6539 :a6539. -:a6540 :a6540 :a6540. -:a6541 :a6541 :a6541. -:a6542 :a6542 :a6542. -:a6543 :a6543 :a6543. -:a6544 :a6544 :a6544. -:a6545 :a6545 :a6545. -:a6546 :a6546 :a6546. -:a6547 :a6547 :a6547. -:a6548 :a6548 :a6548. -:a6549 :a6549 :a6549. -:a6550 :a6550 :a6550. -:a6551 :a6551 :a6551. -:a6552 :a6552 :a6552. -:a6553 :a6553 :a6553. -:a6554 :a6554 :a6554. -:a6555 :a6555 :a6555. -:a6556 :a6556 :a6556. -:a6557 :a6557 :a6557. -:a6558 :a6558 :a6558. -:a6559 :a6559 :a6559. -:a6560 :a6560 :a6560. -:a6561 :a6561 :a6561. -:a6562 :a6562 :a6562. -:a6563 :a6563 :a6563. -:a6564 :a6564 :a6564. -:a6565 :a6565 :a6565. -:a6566 :a6566 :a6566. -:a6567 :a6567 :a6567. -:a6568 :a6568 :a6568. -:a6569 :a6569 :a6569. -:a6570 :a6570 :a6570. -:a6571 :a6571 :a6571. -:a6572 :a6572 :a6572. -:a6573 :a6573 :a6573. -:a6574 :a6574 :a6574. -:a6575 :a6575 :a6575. -:a6576 :a6576 :a6576. -:a6577 :a6577 :a6577. -:a6578 :a6578 :a6578. -:a6579 :a6579 :a6579. -:a6580 :a6580 :a6580. -:a6581 :a6581 :a6581. -:a6582 :a6582 :a6582. -:a6583 :a6583 :a6583. -:a6584 :a6584 :a6584. -:a6585 :a6585 :a6585. -:a6586 :a6586 :a6586. -:a6587 :a6587 :a6587. -:a6588 :a6588 :a6588. -:a6589 :a6589 :a6589. -:a6590 :a6590 :a6590. -:a6591 :a6591 :a6591. -:a6592 :a6592 :a6592. -:a6593 :a6593 :a6593. -:a6594 :a6594 :a6594. -:a6595 :a6595 :a6595. -:a6596 :a6596 :a6596. -:a6597 :a6597 :a6597. -:a6598 :a6598 :a6598. -:a6599 :a6599 :a6599. -:a6600 :a6600 :a6600. -:a6601 :a6601 :a6601. -:a6602 :a6602 :a6602. -:a6603 :a6603 :a6603. -:a6604 :a6604 :a6604. -:a6605 :a6605 :a6605. -:a6606 :a6606 :a6606. -:a6607 :a6607 :a6607. -:a6608 :a6608 :a6608. -:a6609 :a6609 :a6609. -:a6610 :a6610 :a6610. -:a6611 :a6611 :a6611. -:a6612 :a6612 :a6612. -:a6613 :a6613 :a6613. -:a6614 :a6614 :a6614. -:a6615 :a6615 :a6615. -:a6616 :a6616 :a6616. -:a6617 :a6617 :a6617. -:a6618 :a6618 :a6618. -:a6619 :a6619 :a6619. -:a6620 :a6620 :a6620. -:a6621 :a6621 :a6621. -:a6622 :a6622 :a6622. -:a6623 :a6623 :a6623. -:a6624 :a6624 :a6624. -:a6625 :a6625 :a6625. -:a6626 :a6626 :a6626. -:a6627 :a6627 :a6627. -:a6628 :a6628 :a6628. -:a6629 :a6629 :a6629. -:a6630 :a6630 :a6630. -:a6631 :a6631 :a6631. -:a6632 :a6632 :a6632. -:a6633 :a6633 :a6633. -:a6634 :a6634 :a6634. -:a6635 :a6635 :a6635. -:a6636 :a6636 :a6636. -:a6637 :a6637 :a6637. -:a6638 :a6638 :a6638. -:a6639 :a6639 :a6639. -:a6640 :a6640 :a6640. -:a6641 :a6641 :a6641. -:a6642 :a6642 :a6642. -:a6643 :a6643 :a6643. -:a6644 :a6644 :a6644. -:a6645 :a6645 :a6645. -:a6646 :a6646 :a6646. -:a6647 :a6647 :a6647. -:a6648 :a6648 :a6648. -:a6649 :a6649 :a6649. -:a6650 :a6650 :a6650. -:a6651 :a6651 :a6651. -:a6652 :a6652 :a6652. -:a6653 :a6653 :a6653. -:a6654 :a6654 :a6654. -:a6655 :a6655 :a6655. -:a6656 :a6656 :a6656. -:a6657 :a6657 :a6657. -:a6658 :a6658 :a6658. -:a6659 :a6659 :a6659. -:a6660 :a6660 :a6660. -:a6661 :a6661 :a6661. -:a6662 :a6662 :a6662. -:a6663 :a6663 :a6663. -:a6664 :a6664 :a6664. -:a6665 :a6665 :a6665. -:a6666 :a6666 :a6666. -:a6667 :a6667 :a6667. -:a6668 :a6668 :a6668. -:a6669 :a6669 :a6669. -:a6670 :a6670 :a6670. -:a6671 :a6671 :a6671. -:a6672 :a6672 :a6672. -:a6673 :a6673 :a6673. -:a6674 :a6674 :a6674. -:a6675 :a6675 :a6675. -:a6676 :a6676 :a6676. -:a6677 :a6677 :a6677. -:a6678 :a6678 :a6678. -:a6679 :a6679 :a6679. -:a6680 :a6680 :a6680. -:a6681 :a6681 :a6681. -:a6682 :a6682 :a6682. -:a6683 :a6683 :a6683. -:a6684 :a6684 :a6684. -:a6685 :a6685 :a6685. -:a6686 :a6686 :a6686. -:a6687 :a6687 :a6687. -:a6688 :a6688 :a6688. -:a6689 :a6689 :a6689. -:a6690 :a6690 :a6690. -:a6691 :a6691 :a6691. -:a6692 :a6692 :a6692. -:a6693 :a6693 :a6693. -:a6694 :a6694 :a6694. -:a6695 :a6695 :a6695. -:a6696 :a6696 :a6696. -:a6697 :a6697 :a6697. -:a6698 :a6698 :a6698. -:a6699 :a6699 :a6699. -:a6700 :a6700 :a6700. -:a6701 :a6701 :a6701. -:a6702 :a6702 :a6702. -:a6703 :a6703 :a6703. -:a6704 :a6704 :a6704. -:a6705 :a6705 :a6705. -:a6706 :a6706 :a6706. -:a6707 :a6707 :a6707. -:a6708 :a6708 :a6708. -:a6709 :a6709 :a6709. -:a6710 :a6710 :a6710. -:a6711 :a6711 :a6711. -:a6712 :a6712 :a6712. -:a6713 :a6713 :a6713. -:a6714 :a6714 :a6714. -:a6715 :a6715 :a6715. -:a6716 :a6716 :a6716. -:a6717 :a6717 :a6717. -:a6718 :a6718 :a6718. -:a6719 :a6719 :a6719. -:a6720 :a6720 :a6720. -:a6721 :a6721 :a6721. -:a6722 :a6722 :a6722. -:a6723 :a6723 :a6723. -:a6724 :a6724 :a6724. -:a6725 :a6725 :a6725. -:a6726 :a6726 :a6726. -:a6727 :a6727 :a6727. -:a6728 :a6728 :a6728. -:a6729 :a6729 :a6729. -:a6730 :a6730 :a6730. -:a6731 :a6731 :a6731. -:a6732 :a6732 :a6732. -:a6733 :a6733 :a6733. -:a6734 :a6734 :a6734. -:a6735 :a6735 :a6735. -:a6736 :a6736 :a6736. -:a6737 :a6737 :a6737. -:a6738 :a6738 :a6738. -:a6739 :a6739 :a6739. -:a6740 :a6740 :a6740. -:a6741 :a6741 :a6741. -:a6742 :a6742 :a6742. -:a6743 :a6743 :a6743. -:a6744 :a6744 :a6744. -:a6745 :a6745 :a6745. -:a6746 :a6746 :a6746. -:a6747 :a6747 :a6747. -:a6748 :a6748 :a6748. -:a6749 :a6749 :a6749. -:a6750 :a6750 :a6750. -:a6751 :a6751 :a6751. -:a6752 :a6752 :a6752. -:a6753 :a6753 :a6753. -:a6754 :a6754 :a6754. -:a6755 :a6755 :a6755. -:a6756 :a6756 :a6756. -:a6757 :a6757 :a6757. -:a6758 :a6758 :a6758. -:a6759 :a6759 :a6759. -:a6760 :a6760 :a6760. -:a6761 :a6761 :a6761. -:a6762 :a6762 :a6762. -:a6763 :a6763 :a6763. -:a6764 :a6764 :a6764. -:a6765 :a6765 :a6765. -:a6766 :a6766 :a6766. -:a6767 :a6767 :a6767. -:a6768 :a6768 :a6768. -:a6769 :a6769 :a6769. -:a6770 :a6770 :a6770. -:a6771 :a6771 :a6771. -:a6772 :a6772 :a6772. -:a6773 :a6773 :a6773. -:a6774 :a6774 :a6774. -:a6775 :a6775 :a6775. -:a6776 :a6776 :a6776. -:a6777 :a6777 :a6777. -:a6778 :a6778 :a6778. -:a6779 :a6779 :a6779. -:a6780 :a6780 :a6780. -:a6781 :a6781 :a6781. -:a6782 :a6782 :a6782. -:a6783 :a6783 :a6783. -:a6784 :a6784 :a6784. -:a6785 :a6785 :a6785. -:a6786 :a6786 :a6786. -:a6787 :a6787 :a6787. -:a6788 :a6788 :a6788. -:a6789 :a6789 :a6789. -:a6790 :a6790 :a6790. -:a6791 :a6791 :a6791. -:a6792 :a6792 :a6792. -:a6793 :a6793 :a6793. -:a6794 :a6794 :a6794. -:a6795 :a6795 :a6795. -:a6796 :a6796 :a6796. -:a6797 :a6797 :a6797. -:a6798 :a6798 :a6798. -:a6799 :a6799 :a6799. -:a6800 :a6800 :a6800. -:a6801 :a6801 :a6801. -:a6802 :a6802 :a6802. -:a6803 :a6803 :a6803. -:a6804 :a6804 :a6804. -:a6805 :a6805 :a6805. -:a6806 :a6806 :a6806. -:a6807 :a6807 :a6807. -:a6808 :a6808 :a6808. -:a6809 :a6809 :a6809. -:a6810 :a6810 :a6810. -:a6811 :a6811 :a6811. -:a6812 :a6812 :a6812. -:a6813 :a6813 :a6813. -:a6814 :a6814 :a6814. -:a6815 :a6815 :a6815. -:a6816 :a6816 :a6816. -:a6817 :a6817 :a6817. -:a6818 :a6818 :a6818. -:a6819 :a6819 :a6819. -:a6820 :a6820 :a6820. -:a6821 :a6821 :a6821. -:a6822 :a6822 :a6822. -:a6823 :a6823 :a6823. -:a6824 :a6824 :a6824. -:a6825 :a6825 :a6825. -:a6826 :a6826 :a6826. -:a6827 :a6827 :a6827. -:a6828 :a6828 :a6828. -:a6829 :a6829 :a6829. -:a6830 :a6830 :a6830. -:a6831 :a6831 :a6831. -:a6832 :a6832 :a6832. -:a6833 :a6833 :a6833. -:a6834 :a6834 :a6834. -:a6835 :a6835 :a6835. -:a6836 :a6836 :a6836. -:a6837 :a6837 :a6837. -:a6838 :a6838 :a6838. -:a6839 :a6839 :a6839. -:a6840 :a6840 :a6840. -:a6841 :a6841 :a6841. -:a6842 :a6842 :a6842. -:a6843 :a6843 :a6843. -:a6844 :a6844 :a6844. -:a6845 :a6845 :a6845. -:a6846 :a6846 :a6846. -:a6847 :a6847 :a6847. -:a6848 :a6848 :a6848. -:a6849 :a6849 :a6849. -:a6850 :a6850 :a6850. -:a6851 :a6851 :a6851. -:a6852 :a6852 :a6852. -:a6853 :a6853 :a6853. -:a6854 :a6854 :a6854. -:a6855 :a6855 :a6855. -:a6856 :a6856 :a6856. -:a6857 :a6857 :a6857. -:a6858 :a6858 :a6858. -:a6859 :a6859 :a6859. -:a6860 :a6860 :a6860. -:a6861 :a6861 :a6861. -:a6862 :a6862 :a6862. -:a6863 :a6863 :a6863. -:a6864 :a6864 :a6864. -:a6865 :a6865 :a6865. -:a6866 :a6866 :a6866. -:a6867 :a6867 :a6867. -:a6868 :a6868 :a6868. -:a6869 :a6869 :a6869. -:a6870 :a6870 :a6870. -:a6871 :a6871 :a6871. -:a6872 :a6872 :a6872. -:a6873 :a6873 :a6873. -:a6874 :a6874 :a6874. -:a6875 :a6875 :a6875. -:a6876 :a6876 :a6876. -:a6877 :a6877 :a6877. -:a6878 :a6878 :a6878. -:a6879 :a6879 :a6879. -:a6880 :a6880 :a6880. -:a6881 :a6881 :a6881. -:a6882 :a6882 :a6882. -:a6883 :a6883 :a6883. -:a6884 :a6884 :a6884. -:a6885 :a6885 :a6885. -:a6886 :a6886 :a6886. -:a6887 :a6887 :a6887. -:a6888 :a6888 :a6888. -:a6889 :a6889 :a6889. -:a6890 :a6890 :a6890. -:a6891 :a6891 :a6891. -:a6892 :a6892 :a6892. -:a6893 :a6893 :a6893. -:a6894 :a6894 :a6894. -:a6895 :a6895 :a6895. -:a6896 :a6896 :a6896. -:a6897 :a6897 :a6897. -:a6898 :a6898 :a6898. -:a6899 :a6899 :a6899. -:a6900 :a6900 :a6900. -:a6901 :a6901 :a6901. -:a6902 :a6902 :a6902. -:a6903 :a6903 :a6903. -:a6904 :a6904 :a6904. -:a6905 :a6905 :a6905. -:a6906 :a6906 :a6906. -:a6907 :a6907 :a6907. -:a6908 :a6908 :a6908. -:a6909 :a6909 :a6909. -:a6910 :a6910 :a6910. -:a6911 :a6911 :a6911. -:a6912 :a6912 :a6912. -:a6913 :a6913 :a6913. -:a6914 :a6914 :a6914. -:a6915 :a6915 :a6915. -:a6916 :a6916 :a6916. -:a6917 :a6917 :a6917. -:a6918 :a6918 :a6918. -:a6919 :a6919 :a6919. -:a6920 :a6920 :a6920. -:a6921 :a6921 :a6921. -:a6922 :a6922 :a6922. -:a6923 :a6923 :a6923. -:a6924 :a6924 :a6924. -:a6925 :a6925 :a6925. -:a6926 :a6926 :a6926. -:a6927 :a6927 :a6927. -:a6928 :a6928 :a6928. -:a6929 :a6929 :a6929. -:a6930 :a6930 :a6930. -:a6931 :a6931 :a6931. -:a6932 :a6932 :a6932. -:a6933 :a6933 :a6933. -:a6934 :a6934 :a6934. -:a6935 :a6935 :a6935. -:a6936 :a6936 :a6936. -:a6937 :a6937 :a6937. -:a6938 :a6938 :a6938. -:a6939 :a6939 :a6939. -:a6940 :a6940 :a6940. -:a6941 :a6941 :a6941. -:a6942 :a6942 :a6942. -:a6943 :a6943 :a6943. -:a6944 :a6944 :a6944. -:a6945 :a6945 :a6945. -:a6946 :a6946 :a6946. -:a6947 :a6947 :a6947. -:a6948 :a6948 :a6948. -:a6949 :a6949 :a6949. -:a6950 :a6950 :a6950. -:a6951 :a6951 :a6951. -:a6952 :a6952 :a6952. -:a6953 :a6953 :a6953. -:a6954 :a6954 :a6954. -:a6955 :a6955 :a6955. -:a6956 :a6956 :a6956. -:a6957 :a6957 :a6957. -:a6958 :a6958 :a6958. -:a6959 :a6959 :a6959. -:a6960 :a6960 :a6960. -:a6961 :a6961 :a6961. -:a6962 :a6962 :a6962. -:a6963 :a6963 :a6963. -:a6964 :a6964 :a6964. -:a6965 :a6965 :a6965. -:a6966 :a6966 :a6966. -:a6967 :a6967 :a6967. -:a6968 :a6968 :a6968. -:a6969 :a6969 :a6969. -:a6970 :a6970 :a6970. -:a6971 :a6971 :a6971. -:a6972 :a6972 :a6972. -:a6973 :a6973 :a6973. -:a6974 :a6974 :a6974. -:a6975 :a6975 :a6975. -:a6976 :a6976 :a6976. -:a6977 :a6977 :a6977. -:a6978 :a6978 :a6978. -:a6979 :a6979 :a6979. -:a6980 :a6980 :a6980. -:a6981 :a6981 :a6981. -:a6982 :a6982 :a6982. -:a6983 :a6983 :a6983. -:a6984 :a6984 :a6984. -:a6985 :a6985 :a6985. -:a6986 :a6986 :a6986. -:a6987 :a6987 :a6987. -:a6988 :a6988 :a6988. -:a6989 :a6989 :a6989. -:a6990 :a6990 :a6990. -:a6991 :a6991 :a6991. -:a6992 :a6992 :a6992. -:a6993 :a6993 :a6993. -:a6994 :a6994 :a6994. -:a6995 :a6995 :a6995. -:a6996 :a6996 :a6996. -:a6997 :a6997 :a6997. -:a6998 :a6998 :a6998. -:a6999 :a6999 :a6999. -:a7000 :a7000 :a7000. -:a7001 :a7001 :a7001. -:a7002 :a7002 :a7002. -:a7003 :a7003 :a7003. -:a7004 :a7004 :a7004. -:a7005 :a7005 :a7005. -:a7006 :a7006 :a7006. -:a7007 :a7007 :a7007. -:a7008 :a7008 :a7008. -:a7009 :a7009 :a7009. -:a7010 :a7010 :a7010. -:a7011 :a7011 :a7011. -:a7012 :a7012 :a7012. -:a7013 :a7013 :a7013. -:a7014 :a7014 :a7014. -:a7015 :a7015 :a7015. -:a7016 :a7016 :a7016. -:a7017 :a7017 :a7017. -:a7018 :a7018 :a7018. -:a7019 :a7019 :a7019. -:a7020 :a7020 :a7020. -:a7021 :a7021 :a7021. -:a7022 :a7022 :a7022. -:a7023 :a7023 :a7023. -:a7024 :a7024 :a7024. -:a7025 :a7025 :a7025. -:a7026 :a7026 :a7026. -:a7027 :a7027 :a7027. -:a7028 :a7028 :a7028. -:a7029 :a7029 :a7029. -:a7030 :a7030 :a7030. -:a7031 :a7031 :a7031. -:a7032 :a7032 :a7032. -:a7033 :a7033 :a7033. -:a7034 :a7034 :a7034. -:a7035 :a7035 :a7035. -:a7036 :a7036 :a7036. -:a7037 :a7037 :a7037. -:a7038 :a7038 :a7038. -:a7039 :a7039 :a7039. -:a7040 :a7040 :a7040. -:a7041 :a7041 :a7041. -:a7042 :a7042 :a7042. -:a7043 :a7043 :a7043. -:a7044 :a7044 :a7044. -:a7045 :a7045 :a7045. -:a7046 :a7046 :a7046. -:a7047 :a7047 :a7047. -:a7048 :a7048 :a7048. -:a7049 :a7049 :a7049. -:a7050 :a7050 :a7050. -:a7051 :a7051 :a7051. -:a7052 :a7052 :a7052. -:a7053 :a7053 :a7053. -:a7054 :a7054 :a7054. -:a7055 :a7055 :a7055. -:a7056 :a7056 :a7056. -:a7057 :a7057 :a7057. -:a7058 :a7058 :a7058. -:a7059 :a7059 :a7059. -:a7060 :a7060 :a7060. -:a7061 :a7061 :a7061. -:a7062 :a7062 :a7062. -:a7063 :a7063 :a7063. -:a7064 :a7064 :a7064. -:a7065 :a7065 :a7065. -:a7066 :a7066 :a7066. -:a7067 :a7067 :a7067. -:a7068 :a7068 :a7068. -:a7069 :a7069 :a7069. -:a7070 :a7070 :a7070. -:a7071 :a7071 :a7071. -:a7072 :a7072 :a7072. -:a7073 :a7073 :a7073. -:a7074 :a7074 :a7074. -:a7075 :a7075 :a7075. -:a7076 :a7076 :a7076. -:a7077 :a7077 :a7077. -:a7078 :a7078 :a7078. -:a7079 :a7079 :a7079. -:a7080 :a7080 :a7080. -:a7081 :a7081 :a7081. -:a7082 :a7082 :a7082. -:a7083 :a7083 :a7083. -:a7084 :a7084 :a7084. -:a7085 :a7085 :a7085. -:a7086 :a7086 :a7086. -:a7087 :a7087 :a7087. -:a7088 :a7088 :a7088. -:a7089 :a7089 :a7089. -:a7090 :a7090 :a7090. -:a7091 :a7091 :a7091. -:a7092 :a7092 :a7092. -:a7093 :a7093 :a7093. -:a7094 :a7094 :a7094. -:a7095 :a7095 :a7095. -:a7096 :a7096 :a7096. -:a7097 :a7097 :a7097. -:a7098 :a7098 :a7098. -:a7099 :a7099 :a7099. -:a7100 :a7100 :a7100. -:a7101 :a7101 :a7101. -:a7102 :a7102 :a7102. -:a7103 :a7103 :a7103. -:a7104 :a7104 :a7104. -:a7105 :a7105 :a7105. -:a7106 :a7106 :a7106. -:a7107 :a7107 :a7107. -:a7108 :a7108 :a7108. -:a7109 :a7109 :a7109. -:a7110 :a7110 :a7110. -:a7111 :a7111 :a7111. -:a7112 :a7112 :a7112. -:a7113 :a7113 :a7113. -:a7114 :a7114 :a7114. -:a7115 :a7115 :a7115. -:a7116 :a7116 :a7116. -:a7117 :a7117 :a7117. -:a7118 :a7118 :a7118. -:a7119 :a7119 :a7119. -:a7120 :a7120 :a7120. -:a7121 :a7121 :a7121. -:a7122 :a7122 :a7122. -:a7123 :a7123 :a7123. -:a7124 :a7124 :a7124. -:a7125 :a7125 :a7125. -:a7126 :a7126 :a7126. -:a7127 :a7127 :a7127. -:a7128 :a7128 :a7128. -:a7129 :a7129 :a7129. -:a7130 :a7130 :a7130. -:a7131 :a7131 :a7131. -:a7132 :a7132 :a7132. -:a7133 :a7133 :a7133. -:a7134 :a7134 :a7134. -:a7135 :a7135 :a7135. -:a7136 :a7136 :a7136. -:a7137 :a7137 :a7137. -:a7138 :a7138 :a7138. -:a7139 :a7139 :a7139. -:a7140 :a7140 :a7140. -:a7141 :a7141 :a7141. -:a7142 :a7142 :a7142. -:a7143 :a7143 :a7143. -:a7144 :a7144 :a7144. -:a7145 :a7145 :a7145. -:a7146 :a7146 :a7146. -:a7147 :a7147 :a7147. -:a7148 :a7148 :a7148. -:a7149 :a7149 :a7149. -:a7150 :a7150 :a7150. -:a7151 :a7151 :a7151. -:a7152 :a7152 :a7152. -:a7153 :a7153 :a7153. -:a7154 :a7154 :a7154. -:a7155 :a7155 :a7155. -:a7156 :a7156 :a7156. -:a7157 :a7157 :a7157. -:a7158 :a7158 :a7158. -:a7159 :a7159 :a7159. -:a7160 :a7160 :a7160. -:a7161 :a7161 :a7161. -:a7162 :a7162 :a7162. -:a7163 :a7163 :a7163. -:a7164 :a7164 :a7164. -:a7165 :a7165 :a7165. -:a7166 :a7166 :a7166. -:a7167 :a7167 :a7167. -:a7168 :a7168 :a7168. -:a7169 :a7169 :a7169. -:a7170 :a7170 :a7170. -:a7171 :a7171 :a7171. -:a7172 :a7172 :a7172. -:a7173 :a7173 :a7173. -:a7174 :a7174 :a7174. -:a7175 :a7175 :a7175. -:a7176 :a7176 :a7176. -:a7177 :a7177 :a7177. -:a7178 :a7178 :a7178. -:a7179 :a7179 :a7179. -:a7180 :a7180 :a7180. -:a7181 :a7181 :a7181. -:a7182 :a7182 :a7182. -:a7183 :a7183 :a7183. -:a7184 :a7184 :a7184. -:a7185 :a7185 :a7185. -:a7186 :a7186 :a7186. -:a7187 :a7187 :a7187. -:a7188 :a7188 :a7188. -:a7189 :a7189 :a7189. -:a7190 :a7190 :a7190. -:a7191 :a7191 :a7191. -:a7192 :a7192 :a7192. -:a7193 :a7193 :a7193. -:a7194 :a7194 :a7194. -:a7195 :a7195 :a7195. -:a7196 :a7196 :a7196. -:a7197 :a7197 :a7197. -:a7198 :a7198 :a7198. -:a7199 :a7199 :a7199. -:a7200 :a7200 :a7200. -:a7201 :a7201 :a7201. -:a7202 :a7202 :a7202. -:a7203 :a7203 :a7203. -:a7204 :a7204 :a7204. -:a7205 :a7205 :a7205. -:a7206 :a7206 :a7206. -:a7207 :a7207 :a7207. -:a7208 :a7208 :a7208. -:a7209 :a7209 :a7209. -:a7210 :a7210 :a7210. -:a7211 :a7211 :a7211. -:a7212 :a7212 :a7212. -:a7213 :a7213 :a7213. -:a7214 :a7214 :a7214. -:a7215 :a7215 :a7215. -:a7216 :a7216 :a7216. -:a7217 :a7217 :a7217. -:a7218 :a7218 :a7218. -:a7219 :a7219 :a7219. -:a7220 :a7220 :a7220. -:a7221 :a7221 :a7221. -:a7222 :a7222 :a7222. -:a7223 :a7223 :a7223. -:a7224 :a7224 :a7224. -:a7225 :a7225 :a7225. -:a7226 :a7226 :a7226. -:a7227 :a7227 :a7227. -:a7228 :a7228 :a7228. -:a7229 :a7229 :a7229. -:a7230 :a7230 :a7230. -:a7231 :a7231 :a7231. -:a7232 :a7232 :a7232. -:a7233 :a7233 :a7233. -:a7234 :a7234 :a7234. -:a7235 :a7235 :a7235. -:a7236 :a7236 :a7236. -:a7237 :a7237 :a7237. -:a7238 :a7238 :a7238. -:a7239 :a7239 :a7239. -:a7240 :a7240 :a7240. -:a7241 :a7241 :a7241. -:a7242 :a7242 :a7242. -:a7243 :a7243 :a7243. -:a7244 :a7244 :a7244. -:a7245 :a7245 :a7245. -:a7246 :a7246 :a7246. -:a7247 :a7247 :a7247. -:a7248 :a7248 :a7248. -:a7249 :a7249 :a7249. -:a7250 :a7250 :a7250. -:a7251 :a7251 :a7251. -:a7252 :a7252 :a7252. -:a7253 :a7253 :a7253. -:a7254 :a7254 :a7254. -:a7255 :a7255 :a7255. -:a7256 :a7256 :a7256. -:a7257 :a7257 :a7257. -:a7258 :a7258 :a7258. -:a7259 :a7259 :a7259. -:a7260 :a7260 :a7260. -:a7261 :a7261 :a7261. -:a7262 :a7262 :a7262. -:a7263 :a7263 :a7263. -:a7264 :a7264 :a7264. -:a7265 :a7265 :a7265. -:a7266 :a7266 :a7266. -:a7267 :a7267 :a7267. -:a7268 :a7268 :a7268. -:a7269 :a7269 :a7269. -:a7270 :a7270 :a7270. -:a7271 :a7271 :a7271. -:a7272 :a7272 :a7272. -:a7273 :a7273 :a7273. -:a7274 :a7274 :a7274. -:a7275 :a7275 :a7275. -:a7276 :a7276 :a7276. -:a7277 :a7277 :a7277. -:a7278 :a7278 :a7278. -:a7279 :a7279 :a7279. -:a7280 :a7280 :a7280. -:a7281 :a7281 :a7281. -:a7282 :a7282 :a7282. -:a7283 :a7283 :a7283. -:a7284 :a7284 :a7284. -:a7285 :a7285 :a7285. -:a7286 :a7286 :a7286. -:a7287 :a7287 :a7287. -:a7288 :a7288 :a7288. -:a7289 :a7289 :a7289. -:a7290 :a7290 :a7290. -:a7291 :a7291 :a7291. -:a7292 :a7292 :a7292. -:a7293 :a7293 :a7293. -:a7294 :a7294 :a7294. -:a7295 :a7295 :a7295. -:a7296 :a7296 :a7296. -:a7297 :a7297 :a7297. -:a7298 :a7298 :a7298. -:a7299 :a7299 :a7299. -:a7300 :a7300 :a7300. -:a7301 :a7301 :a7301. -:a7302 :a7302 :a7302. -:a7303 :a7303 :a7303. -:a7304 :a7304 :a7304. -:a7305 :a7305 :a7305. -:a7306 :a7306 :a7306. -:a7307 :a7307 :a7307. -:a7308 :a7308 :a7308. -:a7309 :a7309 :a7309. -:a7310 :a7310 :a7310. -:a7311 :a7311 :a7311. -:a7312 :a7312 :a7312. -:a7313 :a7313 :a7313. -:a7314 :a7314 :a7314. -:a7315 :a7315 :a7315. -:a7316 :a7316 :a7316. -:a7317 :a7317 :a7317. -:a7318 :a7318 :a7318. -:a7319 :a7319 :a7319. -:a7320 :a7320 :a7320. -:a7321 :a7321 :a7321. -:a7322 :a7322 :a7322. -:a7323 :a7323 :a7323. -:a7324 :a7324 :a7324. -:a7325 :a7325 :a7325. -:a7326 :a7326 :a7326. -:a7327 :a7327 :a7327. -:a7328 :a7328 :a7328. -:a7329 :a7329 :a7329. -:a7330 :a7330 :a7330. -:a7331 :a7331 :a7331. -:a7332 :a7332 :a7332. -:a7333 :a7333 :a7333. -:a7334 :a7334 :a7334. -:a7335 :a7335 :a7335. -:a7336 :a7336 :a7336. -:a7337 :a7337 :a7337. -:a7338 :a7338 :a7338. -:a7339 :a7339 :a7339. -:a7340 :a7340 :a7340. -:a7341 :a7341 :a7341. -:a7342 :a7342 :a7342. -:a7343 :a7343 :a7343. -:a7344 :a7344 :a7344. -:a7345 :a7345 :a7345. -:a7346 :a7346 :a7346. -:a7347 :a7347 :a7347. -:a7348 :a7348 :a7348. -:a7349 :a7349 :a7349. -:a7350 :a7350 :a7350. -:a7351 :a7351 :a7351. -:a7352 :a7352 :a7352. -:a7353 :a7353 :a7353. -:a7354 :a7354 :a7354. -:a7355 :a7355 :a7355. -:a7356 :a7356 :a7356. -:a7357 :a7357 :a7357. -:a7358 :a7358 :a7358. -:a7359 :a7359 :a7359. -:a7360 :a7360 :a7360. -:a7361 :a7361 :a7361. -:a7362 :a7362 :a7362. -:a7363 :a7363 :a7363. -:a7364 :a7364 :a7364. -:a7365 :a7365 :a7365. -:a7366 :a7366 :a7366. -:a7367 :a7367 :a7367. -:a7368 :a7368 :a7368. -:a7369 :a7369 :a7369. -:a7370 :a7370 :a7370. -:a7371 :a7371 :a7371. -:a7372 :a7372 :a7372. -:a7373 :a7373 :a7373. -:a7374 :a7374 :a7374. -:a7375 :a7375 :a7375. -:a7376 :a7376 :a7376. -:a7377 :a7377 :a7377. -:a7378 :a7378 :a7378. -:a7379 :a7379 :a7379. -:a7380 :a7380 :a7380. -:a7381 :a7381 :a7381. -:a7382 :a7382 :a7382. -:a7383 :a7383 :a7383. -:a7384 :a7384 :a7384. -:a7385 :a7385 :a7385. -:a7386 :a7386 :a7386. -:a7387 :a7387 :a7387. -:a7388 :a7388 :a7388. -:a7389 :a7389 :a7389. -:a7390 :a7390 :a7390. -:a7391 :a7391 :a7391. -:a7392 :a7392 :a7392. -:a7393 :a7393 :a7393. -:a7394 :a7394 :a7394. -:a7395 :a7395 :a7395. -:a7396 :a7396 :a7396. -:a7397 :a7397 :a7397. -:a7398 :a7398 :a7398. -:a7399 :a7399 :a7399. -:a7400 :a7400 :a7400. -:a7401 :a7401 :a7401. -:a7402 :a7402 :a7402. -:a7403 :a7403 :a7403. -:a7404 :a7404 :a7404. -:a7405 :a7405 :a7405. -:a7406 :a7406 :a7406. -:a7407 :a7407 :a7407. -:a7408 :a7408 :a7408. -:a7409 :a7409 :a7409. -:a7410 :a7410 :a7410. -:a7411 :a7411 :a7411. -:a7412 :a7412 :a7412. -:a7413 :a7413 :a7413. -:a7414 :a7414 :a7414. -:a7415 :a7415 :a7415. -:a7416 :a7416 :a7416. -:a7417 :a7417 :a7417. -:a7418 :a7418 :a7418. -:a7419 :a7419 :a7419. -:a7420 :a7420 :a7420. -:a7421 :a7421 :a7421. -:a7422 :a7422 :a7422. -:a7423 :a7423 :a7423. -:a7424 :a7424 :a7424. -:a7425 :a7425 :a7425. -:a7426 :a7426 :a7426. -:a7427 :a7427 :a7427. -:a7428 :a7428 :a7428. -:a7429 :a7429 :a7429. -:a7430 :a7430 :a7430. -:a7431 :a7431 :a7431. -:a7432 :a7432 :a7432. -:a7433 :a7433 :a7433. -:a7434 :a7434 :a7434. -:a7435 :a7435 :a7435. -:a7436 :a7436 :a7436. -:a7437 :a7437 :a7437. -:a7438 :a7438 :a7438. -:a7439 :a7439 :a7439. -:a7440 :a7440 :a7440. -:a7441 :a7441 :a7441. -:a7442 :a7442 :a7442. -:a7443 :a7443 :a7443. -:a7444 :a7444 :a7444. -:a7445 :a7445 :a7445. -:a7446 :a7446 :a7446. -:a7447 :a7447 :a7447. -:a7448 :a7448 :a7448. -:a7449 :a7449 :a7449. -:a7450 :a7450 :a7450. -:a7451 :a7451 :a7451. -:a7452 :a7452 :a7452. -:a7453 :a7453 :a7453. -:a7454 :a7454 :a7454. -:a7455 :a7455 :a7455. -:a7456 :a7456 :a7456. -:a7457 :a7457 :a7457. -:a7458 :a7458 :a7458. -:a7459 :a7459 :a7459. -:a7460 :a7460 :a7460. -:a7461 :a7461 :a7461. -:a7462 :a7462 :a7462. -:a7463 :a7463 :a7463. -:a7464 :a7464 :a7464. -:a7465 :a7465 :a7465. -:a7466 :a7466 :a7466. -:a7467 :a7467 :a7467. -:a7468 :a7468 :a7468. -:a7469 :a7469 :a7469. -:a7470 :a7470 :a7470. -:a7471 :a7471 :a7471. -:a7472 :a7472 :a7472. -:a7473 :a7473 :a7473. -:a7474 :a7474 :a7474. -:a7475 :a7475 :a7475. -:a7476 :a7476 :a7476. -:a7477 :a7477 :a7477. -:a7478 :a7478 :a7478. -:a7479 :a7479 :a7479. -:a7480 :a7480 :a7480. -:a7481 :a7481 :a7481. -:a7482 :a7482 :a7482. -:a7483 :a7483 :a7483. -:a7484 :a7484 :a7484. -:a7485 :a7485 :a7485. -:a7486 :a7486 :a7486. -:a7487 :a7487 :a7487. -:a7488 :a7488 :a7488. -:a7489 :a7489 :a7489. -:a7490 :a7490 :a7490. -:a7491 :a7491 :a7491. -:a7492 :a7492 :a7492. -:a7493 :a7493 :a7493. -:a7494 :a7494 :a7494. -:a7495 :a7495 :a7495. -:a7496 :a7496 :a7496. -:a7497 :a7497 :a7497. -:a7498 :a7498 :a7498. -:a7499 :a7499 :a7499. -:a7500 :a7500 :a7500. -:a7501 :a7501 :a7501. -:a7502 :a7502 :a7502. -:a7503 :a7503 :a7503. -:a7504 :a7504 :a7504. -:a7505 :a7505 :a7505. -:a7506 :a7506 :a7506. -:a7507 :a7507 :a7507. -:a7508 :a7508 :a7508. -:a7509 :a7509 :a7509. -:a7510 :a7510 :a7510. -:a7511 :a7511 :a7511. -:a7512 :a7512 :a7512. -:a7513 :a7513 :a7513. -:a7514 :a7514 :a7514. -:a7515 :a7515 :a7515. -:a7516 :a7516 :a7516. -:a7517 :a7517 :a7517. -:a7518 :a7518 :a7518. -:a7519 :a7519 :a7519. -:a7520 :a7520 :a7520. -:a7521 :a7521 :a7521. -:a7522 :a7522 :a7522. -:a7523 :a7523 :a7523. -:a7524 :a7524 :a7524. -:a7525 :a7525 :a7525. -:a7526 :a7526 :a7526. -:a7527 :a7527 :a7527. -:a7528 :a7528 :a7528. -:a7529 :a7529 :a7529. -:a7530 :a7530 :a7530. -:a7531 :a7531 :a7531. -:a7532 :a7532 :a7532. -:a7533 :a7533 :a7533. -:a7534 :a7534 :a7534. -:a7535 :a7535 :a7535. -:a7536 :a7536 :a7536. -:a7537 :a7537 :a7537. -:a7538 :a7538 :a7538. -:a7539 :a7539 :a7539. -:a7540 :a7540 :a7540. -:a7541 :a7541 :a7541. -:a7542 :a7542 :a7542. -:a7543 :a7543 :a7543. -:a7544 :a7544 :a7544. -:a7545 :a7545 :a7545. -:a7546 :a7546 :a7546. -:a7547 :a7547 :a7547. -:a7548 :a7548 :a7548. -:a7549 :a7549 :a7549. -:a7550 :a7550 :a7550. -:a7551 :a7551 :a7551. -:a7552 :a7552 :a7552. -:a7553 :a7553 :a7553. -:a7554 :a7554 :a7554. -:a7555 :a7555 :a7555. -:a7556 :a7556 :a7556. -:a7557 :a7557 :a7557. -:a7558 :a7558 :a7558. -:a7559 :a7559 :a7559. -:a7560 :a7560 :a7560. -:a7561 :a7561 :a7561. -:a7562 :a7562 :a7562. -:a7563 :a7563 :a7563. -:a7564 :a7564 :a7564. -:a7565 :a7565 :a7565. -:a7566 :a7566 :a7566. -:a7567 :a7567 :a7567. -:a7568 :a7568 :a7568. -:a7569 :a7569 :a7569. -:a7570 :a7570 :a7570. -:a7571 :a7571 :a7571. -:a7572 :a7572 :a7572. -:a7573 :a7573 :a7573. -:a7574 :a7574 :a7574. -:a7575 :a7575 :a7575. -:a7576 :a7576 :a7576. -:a7577 :a7577 :a7577. -:a7578 :a7578 :a7578. -:a7579 :a7579 :a7579. -:a7580 :a7580 :a7580. -:a7581 :a7581 :a7581. -:a7582 :a7582 :a7582. -:a7583 :a7583 :a7583. -:a7584 :a7584 :a7584. -:a7585 :a7585 :a7585. -:a7586 :a7586 :a7586. -:a7587 :a7587 :a7587. -:a7588 :a7588 :a7588. -:a7589 :a7589 :a7589. -:a7590 :a7590 :a7590. -:a7591 :a7591 :a7591. -:a7592 :a7592 :a7592. -:a7593 :a7593 :a7593. -:a7594 :a7594 :a7594. -:a7595 :a7595 :a7595. -:a7596 :a7596 :a7596. -:a7597 :a7597 :a7597. -:a7598 :a7598 :a7598. -:a7599 :a7599 :a7599. -:a7600 :a7600 :a7600. -:a7601 :a7601 :a7601. -:a7602 :a7602 :a7602. -:a7603 :a7603 :a7603. -:a7604 :a7604 :a7604. -:a7605 :a7605 :a7605. -:a7606 :a7606 :a7606. -:a7607 :a7607 :a7607. -:a7608 :a7608 :a7608. -:a7609 :a7609 :a7609. -:a7610 :a7610 :a7610. -:a7611 :a7611 :a7611. -:a7612 :a7612 :a7612. -:a7613 :a7613 :a7613. -:a7614 :a7614 :a7614. -:a7615 :a7615 :a7615. -:a7616 :a7616 :a7616. -:a7617 :a7617 :a7617. -:a7618 :a7618 :a7618. -:a7619 :a7619 :a7619. -:a7620 :a7620 :a7620. -:a7621 :a7621 :a7621. -:a7622 :a7622 :a7622. -:a7623 :a7623 :a7623. -:a7624 :a7624 :a7624. -:a7625 :a7625 :a7625. -:a7626 :a7626 :a7626. -:a7627 :a7627 :a7627. -:a7628 :a7628 :a7628. -:a7629 :a7629 :a7629. -:a7630 :a7630 :a7630. -:a7631 :a7631 :a7631. -:a7632 :a7632 :a7632. -:a7633 :a7633 :a7633. -:a7634 :a7634 :a7634. -:a7635 :a7635 :a7635. -:a7636 :a7636 :a7636. -:a7637 :a7637 :a7637. -:a7638 :a7638 :a7638. -:a7639 :a7639 :a7639. -:a7640 :a7640 :a7640. -:a7641 :a7641 :a7641. -:a7642 :a7642 :a7642. -:a7643 :a7643 :a7643. -:a7644 :a7644 :a7644. -:a7645 :a7645 :a7645. -:a7646 :a7646 :a7646. -:a7647 :a7647 :a7647. -:a7648 :a7648 :a7648. -:a7649 :a7649 :a7649. -:a7650 :a7650 :a7650. -:a7651 :a7651 :a7651. -:a7652 :a7652 :a7652. -:a7653 :a7653 :a7653. -:a7654 :a7654 :a7654. -:a7655 :a7655 :a7655. -:a7656 :a7656 :a7656. -:a7657 :a7657 :a7657. -:a7658 :a7658 :a7658. -:a7659 :a7659 :a7659. -:a7660 :a7660 :a7660. -:a7661 :a7661 :a7661. -:a7662 :a7662 :a7662. -:a7663 :a7663 :a7663. -:a7664 :a7664 :a7664. -:a7665 :a7665 :a7665. -:a7666 :a7666 :a7666. -:a7667 :a7667 :a7667. -:a7668 :a7668 :a7668. -:a7669 :a7669 :a7669. -:a7670 :a7670 :a7670. -:a7671 :a7671 :a7671. -:a7672 :a7672 :a7672. -:a7673 :a7673 :a7673. -:a7674 :a7674 :a7674. -:a7675 :a7675 :a7675. -:a7676 :a7676 :a7676. -:a7677 :a7677 :a7677. -:a7678 :a7678 :a7678. -:a7679 :a7679 :a7679. -:a7680 :a7680 :a7680. -:a7681 :a7681 :a7681. -:a7682 :a7682 :a7682. -:a7683 :a7683 :a7683. -:a7684 :a7684 :a7684. -:a7685 :a7685 :a7685. -:a7686 :a7686 :a7686. -:a7687 :a7687 :a7687. -:a7688 :a7688 :a7688. -:a7689 :a7689 :a7689. -:a7690 :a7690 :a7690. -:a7691 :a7691 :a7691. -:a7692 :a7692 :a7692. -:a7693 :a7693 :a7693. -:a7694 :a7694 :a7694. -:a7695 :a7695 :a7695. -:a7696 :a7696 :a7696. -:a7697 :a7697 :a7697. -:a7698 :a7698 :a7698. -:a7699 :a7699 :a7699. -:a7700 :a7700 :a7700. -:a7701 :a7701 :a7701. -:a7702 :a7702 :a7702. -:a7703 :a7703 :a7703. -:a7704 :a7704 :a7704. -:a7705 :a7705 :a7705. -:a7706 :a7706 :a7706. -:a7707 :a7707 :a7707. -:a7708 :a7708 :a7708. -:a7709 :a7709 :a7709. -:a7710 :a7710 :a7710. -:a7711 :a7711 :a7711. -:a7712 :a7712 :a7712. -:a7713 :a7713 :a7713. -:a7714 :a7714 :a7714. -:a7715 :a7715 :a7715. -:a7716 :a7716 :a7716. -:a7717 :a7717 :a7717. -:a7718 :a7718 :a7718. -:a7719 :a7719 :a7719. -:a7720 :a7720 :a7720. -:a7721 :a7721 :a7721. -:a7722 :a7722 :a7722. -:a7723 :a7723 :a7723. -:a7724 :a7724 :a7724. -:a7725 :a7725 :a7725. -:a7726 :a7726 :a7726. -:a7727 :a7727 :a7727. -:a7728 :a7728 :a7728. -:a7729 :a7729 :a7729. -:a7730 :a7730 :a7730. -:a7731 :a7731 :a7731. -:a7732 :a7732 :a7732. -:a7733 :a7733 :a7733. -:a7734 :a7734 :a7734. -:a7735 :a7735 :a7735. -:a7736 :a7736 :a7736. -:a7737 :a7737 :a7737. -:a7738 :a7738 :a7738. -:a7739 :a7739 :a7739. -:a7740 :a7740 :a7740. -:a7741 :a7741 :a7741. -:a7742 :a7742 :a7742. -:a7743 :a7743 :a7743. -:a7744 :a7744 :a7744. -:a7745 :a7745 :a7745. -:a7746 :a7746 :a7746. -:a7747 :a7747 :a7747. -:a7748 :a7748 :a7748. -:a7749 :a7749 :a7749. -:a7750 :a7750 :a7750. -:a7751 :a7751 :a7751. -:a7752 :a7752 :a7752. -:a7753 :a7753 :a7753. -:a7754 :a7754 :a7754. -:a7755 :a7755 :a7755. -:a7756 :a7756 :a7756. -:a7757 :a7757 :a7757. -:a7758 :a7758 :a7758. -:a7759 :a7759 :a7759. -:a7760 :a7760 :a7760. -:a7761 :a7761 :a7761. -:a7762 :a7762 :a7762. -:a7763 :a7763 :a7763. -:a7764 :a7764 :a7764. -:a7765 :a7765 :a7765. -:a7766 :a7766 :a7766. -:a7767 :a7767 :a7767. -:a7768 :a7768 :a7768. -:a7769 :a7769 :a7769. -:a7770 :a7770 :a7770. -:a7771 :a7771 :a7771. -:a7772 :a7772 :a7772. -:a7773 :a7773 :a7773. -:a7774 :a7774 :a7774. -:a7775 :a7775 :a7775. -:a7776 :a7776 :a7776. -:a7777 :a7777 :a7777. -:a7778 :a7778 :a7778. -:a7779 :a7779 :a7779. -:a7780 :a7780 :a7780. -:a7781 :a7781 :a7781. -:a7782 :a7782 :a7782. -:a7783 :a7783 :a7783. -:a7784 :a7784 :a7784. -:a7785 :a7785 :a7785. -:a7786 :a7786 :a7786. -:a7787 :a7787 :a7787. -:a7788 :a7788 :a7788. -:a7789 :a7789 :a7789. -:a7790 :a7790 :a7790. -:a7791 :a7791 :a7791. -:a7792 :a7792 :a7792. -:a7793 :a7793 :a7793. -:a7794 :a7794 :a7794. -:a7795 :a7795 :a7795. -:a7796 :a7796 :a7796. -:a7797 :a7797 :a7797. -:a7798 :a7798 :a7798. -:a7799 :a7799 :a7799. -:a7800 :a7800 :a7800. -:a7801 :a7801 :a7801. -:a7802 :a7802 :a7802. -:a7803 :a7803 :a7803. -:a7804 :a7804 :a7804. -:a7805 :a7805 :a7805. -:a7806 :a7806 :a7806. -:a7807 :a7807 :a7807. -:a7808 :a7808 :a7808. -:a7809 :a7809 :a7809. -:a7810 :a7810 :a7810. -:a7811 :a7811 :a7811. -:a7812 :a7812 :a7812. -:a7813 :a7813 :a7813. -:a7814 :a7814 :a7814. -:a7815 :a7815 :a7815. -:a7816 :a7816 :a7816. -:a7817 :a7817 :a7817. -:a7818 :a7818 :a7818. -:a7819 :a7819 :a7819. -:a7820 :a7820 :a7820. -:a7821 :a7821 :a7821. -:a7822 :a7822 :a7822. -:a7823 :a7823 :a7823. -:a7824 :a7824 :a7824. -:a7825 :a7825 :a7825. -:a7826 :a7826 :a7826. -:a7827 :a7827 :a7827. -:a7828 :a7828 :a7828. -:a7829 :a7829 :a7829. -:a7830 :a7830 :a7830. -:a7831 :a7831 :a7831. -:a7832 :a7832 :a7832. -:a7833 :a7833 :a7833. -:a7834 :a7834 :a7834. -:a7835 :a7835 :a7835. -:a7836 :a7836 :a7836. -:a7837 :a7837 :a7837. -:a7838 :a7838 :a7838. -:a7839 :a7839 :a7839. -:a7840 :a7840 :a7840. -:a7841 :a7841 :a7841. -:a7842 :a7842 :a7842. -:a7843 :a7843 :a7843. -:a7844 :a7844 :a7844. -:a7845 :a7845 :a7845. -:a7846 :a7846 :a7846. -:a7847 :a7847 :a7847. -:a7848 :a7848 :a7848. -:a7849 :a7849 :a7849. -:a7850 :a7850 :a7850. -:a7851 :a7851 :a7851. -:a7852 :a7852 :a7852. -:a7853 :a7853 :a7853. -:a7854 :a7854 :a7854. -:a7855 :a7855 :a7855. -:a7856 :a7856 :a7856. -:a7857 :a7857 :a7857. -:a7858 :a7858 :a7858. -:a7859 :a7859 :a7859. -:a7860 :a7860 :a7860. -:a7861 :a7861 :a7861. -:a7862 :a7862 :a7862. -:a7863 :a7863 :a7863. -:a7864 :a7864 :a7864. -:a7865 :a7865 :a7865. -:a7866 :a7866 :a7866. -:a7867 :a7867 :a7867. -:a7868 :a7868 :a7868. -:a7869 :a7869 :a7869. -:a7870 :a7870 :a7870. -:a7871 :a7871 :a7871. -:a7872 :a7872 :a7872. -:a7873 :a7873 :a7873. -:a7874 :a7874 :a7874. -:a7875 :a7875 :a7875. -:a7876 :a7876 :a7876. -:a7877 :a7877 :a7877. -:a7878 :a7878 :a7878. -:a7879 :a7879 :a7879. -:a7880 :a7880 :a7880. -:a7881 :a7881 :a7881. -:a7882 :a7882 :a7882. -:a7883 :a7883 :a7883. -:a7884 :a7884 :a7884. -:a7885 :a7885 :a7885. -:a7886 :a7886 :a7886. -:a7887 :a7887 :a7887. -:a7888 :a7888 :a7888. -:a7889 :a7889 :a7889. -:a7890 :a7890 :a7890. -:a7891 :a7891 :a7891. -:a7892 :a7892 :a7892. -:a7893 :a7893 :a7893. -:a7894 :a7894 :a7894. -:a7895 :a7895 :a7895. -:a7896 :a7896 :a7896. -:a7897 :a7897 :a7897. -:a7898 :a7898 :a7898. -:a7899 :a7899 :a7899. -:a7900 :a7900 :a7900. -:a7901 :a7901 :a7901. -:a7902 :a7902 :a7902. -:a7903 :a7903 :a7903. -:a7904 :a7904 :a7904. -:a7905 :a7905 :a7905. -:a7906 :a7906 :a7906. -:a7907 :a7907 :a7907. -:a7908 :a7908 :a7908. -:a7909 :a7909 :a7909. -:a7910 :a7910 :a7910. -:a7911 :a7911 :a7911. -:a7912 :a7912 :a7912. -:a7913 :a7913 :a7913. -:a7914 :a7914 :a7914. -:a7915 :a7915 :a7915. -:a7916 :a7916 :a7916. -:a7917 :a7917 :a7917. -:a7918 :a7918 :a7918. -:a7919 :a7919 :a7919. -:a7920 :a7920 :a7920. -:a7921 :a7921 :a7921. -:a7922 :a7922 :a7922. -:a7923 :a7923 :a7923. -:a7924 :a7924 :a7924. -:a7925 :a7925 :a7925. -:a7926 :a7926 :a7926. -:a7927 :a7927 :a7927. -:a7928 :a7928 :a7928. -:a7929 :a7929 :a7929. -:a7930 :a7930 :a7930. -:a7931 :a7931 :a7931. -:a7932 :a7932 :a7932. -:a7933 :a7933 :a7933. -:a7934 :a7934 :a7934. -:a7935 :a7935 :a7935. -:a7936 :a7936 :a7936. -:a7937 :a7937 :a7937. -:a7938 :a7938 :a7938. -:a7939 :a7939 :a7939. -:a7940 :a7940 :a7940. -:a7941 :a7941 :a7941. -:a7942 :a7942 :a7942. -:a7943 :a7943 :a7943. -:a7944 :a7944 :a7944. -:a7945 :a7945 :a7945. -:a7946 :a7946 :a7946. -:a7947 :a7947 :a7947. -:a7948 :a7948 :a7948. -:a7949 :a7949 :a7949. -:a7950 :a7950 :a7950. -:a7951 :a7951 :a7951. -:a7952 :a7952 :a7952. -:a7953 :a7953 :a7953. -:a7954 :a7954 :a7954. -:a7955 :a7955 :a7955. -:a7956 :a7956 :a7956. -:a7957 :a7957 :a7957. -:a7958 :a7958 :a7958. -:a7959 :a7959 :a7959. -:a7960 :a7960 :a7960. -:a7961 :a7961 :a7961. -:a7962 :a7962 :a7962. -:a7963 :a7963 :a7963. -:a7964 :a7964 :a7964. -:a7965 :a7965 :a7965. -:a7966 :a7966 :a7966. -:a7967 :a7967 :a7967. -:a7968 :a7968 :a7968. -:a7969 :a7969 :a7969. -:a7970 :a7970 :a7970. -:a7971 :a7971 :a7971. -:a7972 :a7972 :a7972. -:a7973 :a7973 :a7973. -:a7974 :a7974 :a7974. -:a7975 :a7975 :a7975. -:a7976 :a7976 :a7976. -:a7977 :a7977 :a7977. -:a7978 :a7978 :a7978. -:a7979 :a7979 :a7979. -:a7980 :a7980 :a7980. -:a7981 :a7981 :a7981. -:a7982 :a7982 :a7982. -:a7983 :a7983 :a7983. -:a7984 :a7984 :a7984. -:a7985 :a7985 :a7985. -:a7986 :a7986 :a7986. -:a7987 :a7987 :a7987. -:a7988 :a7988 :a7988. -:a7989 :a7989 :a7989. -:a7990 :a7990 :a7990. -:a7991 :a7991 :a7991. -:a7992 :a7992 :a7992. -:a7993 :a7993 :a7993. -:a7994 :a7994 :a7994. -:a7995 :a7995 :a7995. -:a7996 :a7996 :a7996. -:a7997 :a7997 :a7997. -:a7998 :a7998 :a7998. -:a7999 :a7999 :a7999. -:a8000 :a8000 :a8000. -:a8001 :a8001 :a8001. -:a8002 :a8002 :a8002. -:a8003 :a8003 :a8003. -:a8004 :a8004 :a8004. -:a8005 :a8005 :a8005. -:a8006 :a8006 :a8006. -:a8007 :a8007 :a8007. -:a8008 :a8008 :a8008. -:a8009 :a8009 :a8009. -:a8010 :a8010 :a8010. -:a8011 :a8011 :a8011. -:a8012 :a8012 :a8012. -:a8013 :a8013 :a8013. -:a8014 :a8014 :a8014. -:a8015 :a8015 :a8015. -:a8016 :a8016 :a8016. -:a8017 :a8017 :a8017. -:a8018 :a8018 :a8018. -:a8019 :a8019 :a8019. -:a8020 :a8020 :a8020. -:a8021 :a8021 :a8021. -:a8022 :a8022 :a8022. -:a8023 :a8023 :a8023. -:a8024 :a8024 :a8024. -:a8025 :a8025 :a8025. -:a8026 :a8026 :a8026. -:a8027 :a8027 :a8027. -:a8028 :a8028 :a8028. -:a8029 :a8029 :a8029. -:a8030 :a8030 :a8030. -:a8031 :a8031 :a8031. -:a8032 :a8032 :a8032. -:a8033 :a8033 :a8033. -:a8034 :a8034 :a8034. -:a8035 :a8035 :a8035. -:a8036 :a8036 :a8036. -:a8037 :a8037 :a8037. -:a8038 :a8038 :a8038. -:a8039 :a8039 :a8039. -:a8040 :a8040 :a8040. -:a8041 :a8041 :a8041. -:a8042 :a8042 :a8042. -:a8043 :a8043 :a8043. -:a8044 :a8044 :a8044. -:a8045 :a8045 :a8045. -:a8046 :a8046 :a8046. -:a8047 :a8047 :a8047. -:a8048 :a8048 :a8048. -:a8049 :a8049 :a8049. -:a8050 :a8050 :a8050. -:a8051 :a8051 :a8051. -:a8052 :a8052 :a8052. -:a8053 :a8053 :a8053. -:a8054 :a8054 :a8054. -:a8055 :a8055 :a8055. -:a8056 :a8056 :a8056. -:a8057 :a8057 :a8057. -:a8058 :a8058 :a8058. -:a8059 :a8059 :a8059. -:a8060 :a8060 :a8060. -:a8061 :a8061 :a8061. -:a8062 :a8062 :a8062. -:a8063 :a8063 :a8063. -:a8064 :a8064 :a8064. -:a8065 :a8065 :a8065. -:a8066 :a8066 :a8066. -:a8067 :a8067 :a8067. -:a8068 :a8068 :a8068. -:a8069 :a8069 :a8069. -:a8070 :a8070 :a8070. -:a8071 :a8071 :a8071. -:a8072 :a8072 :a8072. -:a8073 :a8073 :a8073. -:a8074 :a8074 :a8074. -:a8075 :a8075 :a8075. -:a8076 :a8076 :a8076. -:a8077 :a8077 :a8077. -:a8078 :a8078 :a8078. -:a8079 :a8079 :a8079. -:a8080 :a8080 :a8080. -:a8081 :a8081 :a8081. -:a8082 :a8082 :a8082. -:a8083 :a8083 :a8083. -:a8084 :a8084 :a8084. -:a8085 :a8085 :a8085. -:a8086 :a8086 :a8086. -:a8087 :a8087 :a8087. -:a8088 :a8088 :a8088. -:a8089 :a8089 :a8089. -:a8090 :a8090 :a8090. -:a8091 :a8091 :a8091. -:a8092 :a8092 :a8092. -:a8093 :a8093 :a8093. -:a8094 :a8094 :a8094. -:a8095 :a8095 :a8095. -:a8096 :a8096 :a8096. -:a8097 :a8097 :a8097. -:a8098 :a8098 :a8098. -:a8099 :a8099 :a8099. -:a8100 :a8100 :a8100. -:a8101 :a8101 :a8101. -:a8102 :a8102 :a8102. -:a8103 :a8103 :a8103. -:a8104 :a8104 :a8104. -:a8105 :a8105 :a8105. -:a8106 :a8106 :a8106. -:a8107 :a8107 :a8107. -:a8108 :a8108 :a8108. -:a8109 :a8109 :a8109. -:a8110 :a8110 :a8110. -:a8111 :a8111 :a8111. -:a8112 :a8112 :a8112. -:a8113 :a8113 :a8113. -:a8114 :a8114 :a8114. -:a8115 :a8115 :a8115. -:a8116 :a8116 :a8116. -:a8117 :a8117 :a8117. -:a8118 :a8118 :a8118. -:a8119 :a8119 :a8119. -:a8120 :a8120 :a8120. -:a8121 :a8121 :a8121. -:a8122 :a8122 :a8122. -:a8123 :a8123 :a8123. -:a8124 :a8124 :a8124. -:a8125 :a8125 :a8125. -:a8126 :a8126 :a8126. -:a8127 :a8127 :a8127. -:a8128 :a8128 :a8128. -:a8129 :a8129 :a8129. -:a8130 :a8130 :a8130. -:a8131 :a8131 :a8131. -:a8132 :a8132 :a8132. -:a8133 :a8133 :a8133. -:a8134 :a8134 :a8134. -:a8135 :a8135 :a8135. -:a8136 :a8136 :a8136. -:a8137 :a8137 :a8137. -:a8138 :a8138 :a8138. -:a8139 :a8139 :a8139. -:a8140 :a8140 :a8140. -:a8141 :a8141 :a8141. -:a8142 :a8142 :a8142. -:a8143 :a8143 :a8143. -:a8144 :a8144 :a8144. -:a8145 :a8145 :a8145. -:a8146 :a8146 :a8146. -:a8147 :a8147 :a8147. -:a8148 :a8148 :a8148. -:a8149 :a8149 :a8149. -:a8150 :a8150 :a8150. -:a8151 :a8151 :a8151. -:a8152 :a8152 :a8152. -:a8153 :a8153 :a8153. -:a8154 :a8154 :a8154. -:a8155 :a8155 :a8155. -:a8156 :a8156 :a8156. -:a8157 :a8157 :a8157. -:a8158 :a8158 :a8158. -:a8159 :a8159 :a8159. -:a8160 :a8160 :a8160. -:a8161 :a8161 :a8161. -:a8162 :a8162 :a8162. -:a8163 :a8163 :a8163. -:a8164 :a8164 :a8164. -:a8165 :a8165 :a8165. -:a8166 :a8166 :a8166. -:a8167 :a8167 :a8167. -:a8168 :a8168 :a8168. -:a8169 :a8169 :a8169. -:a8170 :a8170 :a8170. -:a8171 :a8171 :a8171. -:a8172 :a8172 :a8172. -:a8173 :a8173 :a8173. -:a8174 :a8174 :a8174. -:a8175 :a8175 :a8175. -:a8176 :a8176 :a8176. -:a8177 :a8177 :a8177. -:a8178 :a8178 :a8178. -:a8179 :a8179 :a8179. -:a8180 :a8180 :a8180. -:a8181 :a8181 :a8181. -:a8182 :a8182 :a8182. -:a8183 :a8183 :a8183. -:a8184 :a8184 :a8184. -:a8185 :a8185 :a8185. -:a8186 :a8186 :a8186. -:a8187 :a8187 :a8187. -:a8188 :a8188 :a8188. -:a8189 :a8189 :a8189. -:a8190 :a8190 :a8190. -:a8191 :a8191 :a8191. -:a8192 :a8192 :a8192. -:a8193 :a8193 :a8193. -:a8194 :a8194 :a8194. -:a8195 :a8195 :a8195. -:a8196 :a8196 :a8196. -:a8197 :a8197 :a8197. -:a8198 :a8198 :a8198. -:a8199 :a8199 :a8199. -:a8200 :a8200 :a8200. -:a8201 :a8201 :a8201. -:a8202 :a8202 :a8202. -:a8203 :a8203 :a8203. -:a8204 :a8204 :a8204. -:a8205 :a8205 :a8205. -:a8206 :a8206 :a8206. -:a8207 :a8207 :a8207. -:a8208 :a8208 :a8208. -:a8209 :a8209 :a8209. -:a8210 :a8210 :a8210. -:a8211 :a8211 :a8211. -:a8212 :a8212 :a8212. -:a8213 :a8213 :a8213. -:a8214 :a8214 :a8214. -:a8215 :a8215 :a8215. -:a8216 :a8216 :a8216. -:a8217 :a8217 :a8217. -:a8218 :a8218 :a8218. -:a8219 :a8219 :a8219. -:a8220 :a8220 :a8220. -:a8221 :a8221 :a8221. -:a8222 :a8222 :a8222. -:a8223 :a8223 :a8223. -:a8224 :a8224 :a8224. -:a8225 :a8225 :a8225. -:a8226 :a8226 :a8226. -:a8227 :a8227 :a8227. -:a8228 :a8228 :a8228. -:a8229 :a8229 :a8229. -:a8230 :a8230 :a8230. -:a8231 :a8231 :a8231. -:a8232 :a8232 :a8232. -:a8233 :a8233 :a8233. -:a8234 :a8234 :a8234. -:a8235 :a8235 :a8235. -:a8236 :a8236 :a8236. -:a8237 :a8237 :a8237. -:a8238 :a8238 :a8238. -:a8239 :a8239 :a8239. -:a8240 :a8240 :a8240. -:a8241 :a8241 :a8241. -:a8242 :a8242 :a8242. -:a8243 :a8243 :a8243. -:a8244 :a8244 :a8244. -:a8245 :a8245 :a8245. -:a8246 :a8246 :a8246. -:a8247 :a8247 :a8247. -:a8248 :a8248 :a8248. -:a8249 :a8249 :a8249. -:a8250 :a8250 :a8250. -:a8251 :a8251 :a8251. -:a8252 :a8252 :a8252. -:a8253 :a8253 :a8253. -:a8254 :a8254 :a8254. -:a8255 :a8255 :a8255. -:a8256 :a8256 :a8256. -:a8257 :a8257 :a8257. -:a8258 :a8258 :a8258. -:a8259 :a8259 :a8259. -:a8260 :a8260 :a8260. -:a8261 :a8261 :a8261. -:a8262 :a8262 :a8262. -:a8263 :a8263 :a8263. -:a8264 :a8264 :a8264. -:a8265 :a8265 :a8265. -:a8266 :a8266 :a8266. -:a8267 :a8267 :a8267. -:a8268 :a8268 :a8268. -:a8269 :a8269 :a8269. -:a8270 :a8270 :a8270. -:a8271 :a8271 :a8271. -:a8272 :a8272 :a8272. -:a8273 :a8273 :a8273. -:a8274 :a8274 :a8274. -:a8275 :a8275 :a8275. -:a8276 :a8276 :a8276. -:a8277 :a8277 :a8277. -:a8278 :a8278 :a8278. -:a8279 :a8279 :a8279. -:a8280 :a8280 :a8280. -:a8281 :a8281 :a8281. -:a8282 :a8282 :a8282. -:a8283 :a8283 :a8283. -:a8284 :a8284 :a8284. -:a8285 :a8285 :a8285. -:a8286 :a8286 :a8286. -:a8287 :a8287 :a8287. -:a8288 :a8288 :a8288. -:a8289 :a8289 :a8289. -:a8290 :a8290 :a8290. -:a8291 :a8291 :a8291. -:a8292 :a8292 :a8292. -:a8293 :a8293 :a8293. -:a8294 :a8294 :a8294. -:a8295 :a8295 :a8295. -:a8296 :a8296 :a8296. -:a8297 :a8297 :a8297. -:a8298 :a8298 :a8298. -:a8299 :a8299 :a8299. -:a8300 :a8300 :a8300. -:a8301 :a8301 :a8301. -:a8302 :a8302 :a8302. -:a8303 :a8303 :a8303. -:a8304 :a8304 :a8304. -:a8305 :a8305 :a8305. -:a8306 :a8306 :a8306. -:a8307 :a8307 :a8307. -:a8308 :a8308 :a8308. -:a8309 :a8309 :a8309. -:a8310 :a8310 :a8310. -:a8311 :a8311 :a8311. -:a8312 :a8312 :a8312. -:a8313 :a8313 :a8313. -:a8314 :a8314 :a8314. -:a8315 :a8315 :a8315. -:a8316 :a8316 :a8316. -:a8317 :a8317 :a8317. -:a8318 :a8318 :a8318. -:a8319 :a8319 :a8319. -:a8320 :a8320 :a8320. -:a8321 :a8321 :a8321. -:a8322 :a8322 :a8322. -:a8323 :a8323 :a8323. -:a8324 :a8324 :a8324. -:a8325 :a8325 :a8325. -:a8326 :a8326 :a8326. -:a8327 :a8327 :a8327. -:a8328 :a8328 :a8328. -:a8329 :a8329 :a8329. -:a8330 :a8330 :a8330. -:a8331 :a8331 :a8331. -:a8332 :a8332 :a8332. -:a8333 :a8333 :a8333. -:a8334 :a8334 :a8334. -:a8335 :a8335 :a8335. -:a8336 :a8336 :a8336. -:a8337 :a8337 :a8337. -:a8338 :a8338 :a8338. -:a8339 :a8339 :a8339. -:a8340 :a8340 :a8340. -:a8341 :a8341 :a8341. -:a8342 :a8342 :a8342. -:a8343 :a8343 :a8343. -:a8344 :a8344 :a8344. -:a8345 :a8345 :a8345. -:a8346 :a8346 :a8346. -:a8347 :a8347 :a8347. -:a8348 :a8348 :a8348. -:a8349 :a8349 :a8349. -:a8350 :a8350 :a8350. -:a8351 :a8351 :a8351. -:a8352 :a8352 :a8352. -:a8353 :a8353 :a8353. -:a8354 :a8354 :a8354. -:a8355 :a8355 :a8355. -:a8356 :a8356 :a8356. -:a8357 :a8357 :a8357. -:a8358 :a8358 :a8358. -:a8359 :a8359 :a8359. -:a8360 :a8360 :a8360. -:a8361 :a8361 :a8361. -:a8362 :a8362 :a8362. -:a8363 :a8363 :a8363. -:a8364 :a8364 :a8364. -:a8365 :a8365 :a8365. -:a8366 :a8366 :a8366. -:a8367 :a8367 :a8367. -:a8368 :a8368 :a8368. -:a8369 :a8369 :a8369. -:a8370 :a8370 :a8370. -:a8371 :a8371 :a8371. -:a8372 :a8372 :a8372. -:a8373 :a8373 :a8373. -:a8374 :a8374 :a8374. -:a8375 :a8375 :a8375. -:a8376 :a8376 :a8376. -:a8377 :a8377 :a8377. -:a8378 :a8378 :a8378. -:a8379 :a8379 :a8379. -:a8380 :a8380 :a8380. -:a8381 :a8381 :a8381. -:a8382 :a8382 :a8382. -:a8383 :a8383 :a8383. -:a8384 :a8384 :a8384. -:a8385 :a8385 :a8385. -:a8386 :a8386 :a8386. -:a8387 :a8387 :a8387. -:a8388 :a8388 :a8388. -:a8389 :a8389 :a8389. -:a8390 :a8390 :a8390. -:a8391 :a8391 :a8391. -:a8392 :a8392 :a8392. -:a8393 :a8393 :a8393. -:a8394 :a8394 :a8394. -:a8395 :a8395 :a8395. -:a8396 :a8396 :a8396. -:a8397 :a8397 :a8397. -:a8398 :a8398 :a8398. -:a8399 :a8399 :a8399. -:a8400 :a8400 :a8400. -:a8401 :a8401 :a8401. -:a8402 :a8402 :a8402. -:a8403 :a8403 :a8403. -:a8404 :a8404 :a8404. -:a8405 :a8405 :a8405. -:a8406 :a8406 :a8406. -:a8407 :a8407 :a8407. -:a8408 :a8408 :a8408. -:a8409 :a8409 :a8409. -:a8410 :a8410 :a8410. -:a8411 :a8411 :a8411. -:a8412 :a8412 :a8412. -:a8413 :a8413 :a8413. -:a8414 :a8414 :a8414. -:a8415 :a8415 :a8415. -:a8416 :a8416 :a8416. -:a8417 :a8417 :a8417. -:a8418 :a8418 :a8418. -:a8419 :a8419 :a8419. -:a8420 :a8420 :a8420. -:a8421 :a8421 :a8421. -:a8422 :a8422 :a8422. -:a8423 :a8423 :a8423. -:a8424 :a8424 :a8424. -:a8425 :a8425 :a8425. -:a8426 :a8426 :a8426. -:a8427 :a8427 :a8427. -:a8428 :a8428 :a8428. -:a8429 :a8429 :a8429. -:a8430 :a8430 :a8430. -:a8431 :a8431 :a8431. -:a8432 :a8432 :a8432. -:a8433 :a8433 :a8433. -:a8434 :a8434 :a8434. -:a8435 :a8435 :a8435. -:a8436 :a8436 :a8436. -:a8437 :a8437 :a8437. -:a8438 :a8438 :a8438. -:a8439 :a8439 :a8439. -:a8440 :a8440 :a8440. -:a8441 :a8441 :a8441. -:a8442 :a8442 :a8442. -:a8443 :a8443 :a8443. -:a8444 :a8444 :a8444. -:a8445 :a8445 :a8445. -:a8446 :a8446 :a8446. -:a8447 :a8447 :a8447. -:a8448 :a8448 :a8448. -:a8449 :a8449 :a8449. -:a8450 :a8450 :a8450. -:a8451 :a8451 :a8451. -:a8452 :a8452 :a8452. -:a8453 :a8453 :a8453. -:a8454 :a8454 :a8454. -:a8455 :a8455 :a8455. -:a8456 :a8456 :a8456. -:a8457 :a8457 :a8457. -:a8458 :a8458 :a8458. -:a8459 :a8459 :a8459. -:a8460 :a8460 :a8460. -:a8461 :a8461 :a8461. -:a8462 :a8462 :a8462. -:a8463 :a8463 :a8463. -:a8464 :a8464 :a8464. -:a8465 :a8465 :a8465. -:a8466 :a8466 :a8466. -:a8467 :a8467 :a8467. -:a8468 :a8468 :a8468. -:a8469 :a8469 :a8469. -:a8470 :a8470 :a8470. -:a8471 :a8471 :a8471. -:a8472 :a8472 :a8472. -:a8473 :a8473 :a8473. -:a8474 :a8474 :a8474. -:a8475 :a8475 :a8475. -:a8476 :a8476 :a8476. -:a8477 :a8477 :a8477. -:a8478 :a8478 :a8478. -:a8479 :a8479 :a8479. -:a8480 :a8480 :a8480. -:a8481 :a8481 :a8481. -:a8482 :a8482 :a8482. -:a8483 :a8483 :a8483. -:a8484 :a8484 :a8484. -:a8485 :a8485 :a8485. -:a8486 :a8486 :a8486. -:a8487 :a8487 :a8487. -:a8488 :a8488 :a8488. -:a8489 :a8489 :a8489. -:a8490 :a8490 :a8490. -:a8491 :a8491 :a8491. -:a8492 :a8492 :a8492. -:a8493 :a8493 :a8493. -:a8494 :a8494 :a8494. -:a8495 :a8495 :a8495. -:a8496 :a8496 :a8496. -:a8497 :a8497 :a8497. -:a8498 :a8498 :a8498. -:a8499 :a8499 :a8499. -:a8500 :a8500 :a8500. -:a8501 :a8501 :a8501. -:a8502 :a8502 :a8502. -:a8503 :a8503 :a8503. -:a8504 :a8504 :a8504. -:a8505 :a8505 :a8505. -:a8506 :a8506 :a8506. -:a8507 :a8507 :a8507. -:a8508 :a8508 :a8508. -:a8509 :a8509 :a8509. -:a8510 :a8510 :a8510. -:a8511 :a8511 :a8511. -:a8512 :a8512 :a8512. -:a8513 :a8513 :a8513. -:a8514 :a8514 :a8514. -:a8515 :a8515 :a8515. -:a8516 :a8516 :a8516. -:a8517 :a8517 :a8517. -:a8518 :a8518 :a8518. -:a8519 :a8519 :a8519. -:a8520 :a8520 :a8520. -:a8521 :a8521 :a8521. -:a8522 :a8522 :a8522. -:a8523 :a8523 :a8523. -:a8524 :a8524 :a8524. -:a8525 :a8525 :a8525. -:a8526 :a8526 :a8526. -:a8527 :a8527 :a8527. -:a8528 :a8528 :a8528. -:a8529 :a8529 :a8529. -:a8530 :a8530 :a8530. -:a8531 :a8531 :a8531. -:a8532 :a8532 :a8532. -:a8533 :a8533 :a8533. -:a8534 :a8534 :a8534. -:a8535 :a8535 :a8535. -:a8536 :a8536 :a8536. -:a8537 :a8537 :a8537. -:a8538 :a8538 :a8538. -:a8539 :a8539 :a8539. -:a8540 :a8540 :a8540. -:a8541 :a8541 :a8541. -:a8542 :a8542 :a8542. -:a8543 :a8543 :a8543. -:a8544 :a8544 :a8544. -:a8545 :a8545 :a8545. -:a8546 :a8546 :a8546. -:a8547 :a8547 :a8547. -:a8548 :a8548 :a8548. -:a8549 :a8549 :a8549. -:a8550 :a8550 :a8550. -:a8551 :a8551 :a8551. -:a8552 :a8552 :a8552. -:a8553 :a8553 :a8553. -:a8554 :a8554 :a8554. -:a8555 :a8555 :a8555. -:a8556 :a8556 :a8556. -:a8557 :a8557 :a8557. -:a8558 :a8558 :a8558. -:a8559 :a8559 :a8559. -:a8560 :a8560 :a8560. -:a8561 :a8561 :a8561. -:a8562 :a8562 :a8562. -:a8563 :a8563 :a8563. -:a8564 :a8564 :a8564. -:a8565 :a8565 :a8565. -:a8566 :a8566 :a8566. -:a8567 :a8567 :a8567. -:a8568 :a8568 :a8568. -:a8569 :a8569 :a8569. -:a8570 :a8570 :a8570. -:a8571 :a8571 :a8571. -:a8572 :a8572 :a8572. -:a8573 :a8573 :a8573. -:a8574 :a8574 :a8574. -:a8575 :a8575 :a8575. -:a8576 :a8576 :a8576. -:a8577 :a8577 :a8577. -:a8578 :a8578 :a8578. -:a8579 :a8579 :a8579. -:a8580 :a8580 :a8580. -:a8581 :a8581 :a8581. -:a8582 :a8582 :a8582. -:a8583 :a8583 :a8583. -:a8584 :a8584 :a8584. -:a8585 :a8585 :a8585. -:a8586 :a8586 :a8586. -:a8587 :a8587 :a8587. -:a8588 :a8588 :a8588. -:a8589 :a8589 :a8589. -:a8590 :a8590 :a8590. -:a8591 :a8591 :a8591. -:a8592 :a8592 :a8592. -:a8593 :a8593 :a8593. -:a8594 :a8594 :a8594. -:a8595 :a8595 :a8595. -:a8596 :a8596 :a8596. -:a8597 :a8597 :a8597. -:a8598 :a8598 :a8598. -:a8599 :a8599 :a8599. -:a8600 :a8600 :a8600. -:a8601 :a8601 :a8601. -:a8602 :a8602 :a8602. -:a8603 :a8603 :a8603. -:a8604 :a8604 :a8604. -:a8605 :a8605 :a8605. -:a8606 :a8606 :a8606. -:a8607 :a8607 :a8607. -:a8608 :a8608 :a8608. -:a8609 :a8609 :a8609. -:a8610 :a8610 :a8610. -:a8611 :a8611 :a8611. -:a8612 :a8612 :a8612. -:a8613 :a8613 :a8613. -:a8614 :a8614 :a8614. -:a8615 :a8615 :a8615. -:a8616 :a8616 :a8616. -:a8617 :a8617 :a8617. -:a8618 :a8618 :a8618. -:a8619 :a8619 :a8619. -:a8620 :a8620 :a8620. -:a8621 :a8621 :a8621. -:a8622 :a8622 :a8622. -:a8623 :a8623 :a8623. -:a8624 :a8624 :a8624. -:a8625 :a8625 :a8625. -:a8626 :a8626 :a8626. -:a8627 :a8627 :a8627. -:a8628 :a8628 :a8628. -:a8629 :a8629 :a8629. -:a8630 :a8630 :a8630. -:a8631 :a8631 :a8631. -:a8632 :a8632 :a8632. -:a8633 :a8633 :a8633. -:a8634 :a8634 :a8634. -:a8635 :a8635 :a8635. -:a8636 :a8636 :a8636. -:a8637 :a8637 :a8637. -:a8638 :a8638 :a8638. -:a8639 :a8639 :a8639. -:a8640 :a8640 :a8640. -:a8641 :a8641 :a8641. -:a8642 :a8642 :a8642. -:a8643 :a8643 :a8643. -:a8644 :a8644 :a8644. -:a8645 :a8645 :a8645. -:a8646 :a8646 :a8646. -:a8647 :a8647 :a8647. -:a8648 :a8648 :a8648. -:a8649 :a8649 :a8649. -:a8650 :a8650 :a8650. -:a8651 :a8651 :a8651. -:a8652 :a8652 :a8652. -:a8653 :a8653 :a8653. -:a8654 :a8654 :a8654. -:a8655 :a8655 :a8655. -:a8656 :a8656 :a8656. -:a8657 :a8657 :a8657. -:a8658 :a8658 :a8658. -:a8659 :a8659 :a8659. -:a8660 :a8660 :a8660. -:a8661 :a8661 :a8661. -:a8662 :a8662 :a8662. -:a8663 :a8663 :a8663. -:a8664 :a8664 :a8664. -:a8665 :a8665 :a8665. -:a8666 :a8666 :a8666. -:a8667 :a8667 :a8667. -:a8668 :a8668 :a8668. -:a8669 :a8669 :a8669. -:a8670 :a8670 :a8670. -:a8671 :a8671 :a8671. -:a8672 :a8672 :a8672. -:a8673 :a8673 :a8673. -:a8674 :a8674 :a8674. -:a8675 :a8675 :a8675. -:a8676 :a8676 :a8676. -:a8677 :a8677 :a8677. -:a8678 :a8678 :a8678. -:a8679 :a8679 :a8679. -:a8680 :a8680 :a8680. -:a8681 :a8681 :a8681. -:a8682 :a8682 :a8682. -:a8683 :a8683 :a8683. -:a8684 :a8684 :a8684. -:a8685 :a8685 :a8685. -:a8686 :a8686 :a8686. -:a8687 :a8687 :a8687. -:a8688 :a8688 :a8688. -:a8689 :a8689 :a8689. -:a8690 :a8690 :a8690. -:a8691 :a8691 :a8691. -:a8692 :a8692 :a8692. -:a8693 :a8693 :a8693. -:a8694 :a8694 :a8694. -:a8695 :a8695 :a8695. -:a8696 :a8696 :a8696. -:a8697 :a8697 :a8697. -:a8698 :a8698 :a8698. -:a8699 :a8699 :a8699. -:a8700 :a8700 :a8700. -:a8701 :a8701 :a8701. -:a8702 :a8702 :a8702. -:a8703 :a8703 :a8703. -:a8704 :a8704 :a8704. -:a8705 :a8705 :a8705. -:a8706 :a8706 :a8706. -:a8707 :a8707 :a8707. -:a8708 :a8708 :a8708. -:a8709 :a8709 :a8709. -:a8710 :a8710 :a8710. -:a8711 :a8711 :a8711. -:a8712 :a8712 :a8712. -:a8713 :a8713 :a8713. -:a8714 :a8714 :a8714. -:a8715 :a8715 :a8715. -:a8716 :a8716 :a8716. -:a8717 :a8717 :a8717. -:a8718 :a8718 :a8718. -:a8719 :a8719 :a8719. -:a8720 :a8720 :a8720. -:a8721 :a8721 :a8721. -:a8722 :a8722 :a8722. -:a8723 :a8723 :a8723. -:a8724 :a8724 :a8724. -:a8725 :a8725 :a8725. -:a8726 :a8726 :a8726. -:a8727 :a8727 :a8727. -:a8728 :a8728 :a8728. -:a8729 :a8729 :a8729. -:a8730 :a8730 :a8730. -:a8731 :a8731 :a8731. -:a8732 :a8732 :a8732. -:a8733 :a8733 :a8733. -:a8734 :a8734 :a8734. -:a8735 :a8735 :a8735. -:a8736 :a8736 :a8736. -:a8737 :a8737 :a8737. -:a8738 :a8738 :a8738. -:a8739 :a8739 :a8739. -:a8740 :a8740 :a8740. -:a8741 :a8741 :a8741. -:a8742 :a8742 :a8742. -:a8743 :a8743 :a8743. -:a8744 :a8744 :a8744. -:a8745 :a8745 :a8745. -:a8746 :a8746 :a8746. -:a8747 :a8747 :a8747. -:a8748 :a8748 :a8748. -:a8749 :a8749 :a8749. -:a8750 :a8750 :a8750. -:a8751 :a8751 :a8751. -:a8752 :a8752 :a8752. -:a8753 :a8753 :a8753. -:a8754 :a8754 :a8754. -:a8755 :a8755 :a8755. -:a8756 :a8756 :a8756. -:a8757 :a8757 :a8757. -:a8758 :a8758 :a8758. -:a8759 :a8759 :a8759. -:a8760 :a8760 :a8760. -:a8761 :a8761 :a8761. -:a8762 :a8762 :a8762. -:a8763 :a8763 :a8763. -:a8764 :a8764 :a8764. -:a8765 :a8765 :a8765. -:a8766 :a8766 :a8766. -:a8767 :a8767 :a8767. -:a8768 :a8768 :a8768. -:a8769 :a8769 :a8769. -:a8770 :a8770 :a8770. -:a8771 :a8771 :a8771. -:a8772 :a8772 :a8772. -:a8773 :a8773 :a8773. -:a8774 :a8774 :a8774. -:a8775 :a8775 :a8775. -:a8776 :a8776 :a8776. -:a8777 :a8777 :a8777. -:a8778 :a8778 :a8778. -:a8779 :a8779 :a8779. -:a8780 :a8780 :a8780. -:a8781 :a8781 :a8781. -:a8782 :a8782 :a8782. -:a8783 :a8783 :a8783. -:a8784 :a8784 :a8784. -:a8785 :a8785 :a8785. -:a8786 :a8786 :a8786. -:a8787 :a8787 :a8787. -:a8788 :a8788 :a8788. -:a8789 :a8789 :a8789. -:a8790 :a8790 :a8790. -:a8791 :a8791 :a8791. -:a8792 :a8792 :a8792. -:a8793 :a8793 :a8793. -:a8794 :a8794 :a8794. -:a8795 :a8795 :a8795. -:a8796 :a8796 :a8796. -:a8797 :a8797 :a8797. -:a8798 :a8798 :a8798. -:a8799 :a8799 :a8799. -:a8800 :a8800 :a8800. -:a8801 :a8801 :a8801. -:a8802 :a8802 :a8802. -:a8803 :a8803 :a8803. -:a8804 :a8804 :a8804. -:a8805 :a8805 :a8805. -:a8806 :a8806 :a8806. -:a8807 :a8807 :a8807. -:a8808 :a8808 :a8808. -:a8809 :a8809 :a8809. -:a8810 :a8810 :a8810. -:a8811 :a8811 :a8811. -:a8812 :a8812 :a8812. -:a8813 :a8813 :a8813. -:a8814 :a8814 :a8814. -:a8815 :a8815 :a8815. -:a8816 :a8816 :a8816. -:a8817 :a8817 :a8817. -:a8818 :a8818 :a8818. -:a8819 :a8819 :a8819. -:a8820 :a8820 :a8820. -:a8821 :a8821 :a8821. -:a8822 :a8822 :a8822. -:a8823 :a8823 :a8823. -:a8824 :a8824 :a8824. -:a8825 :a8825 :a8825. -:a8826 :a8826 :a8826. -:a8827 :a8827 :a8827. -:a8828 :a8828 :a8828. -:a8829 :a8829 :a8829. -:a8830 :a8830 :a8830. -:a8831 :a8831 :a8831. -:a8832 :a8832 :a8832. -:a8833 :a8833 :a8833. -:a8834 :a8834 :a8834. -:a8835 :a8835 :a8835. -:a8836 :a8836 :a8836. -:a8837 :a8837 :a8837. -:a8838 :a8838 :a8838. -:a8839 :a8839 :a8839. -:a8840 :a8840 :a8840. -:a8841 :a8841 :a8841. -:a8842 :a8842 :a8842. -:a8843 :a8843 :a8843. -:a8844 :a8844 :a8844. -:a8845 :a8845 :a8845. -:a8846 :a8846 :a8846. -:a8847 :a8847 :a8847. -:a8848 :a8848 :a8848. -:a8849 :a8849 :a8849. -:a8850 :a8850 :a8850. -:a8851 :a8851 :a8851. -:a8852 :a8852 :a8852. -:a8853 :a8853 :a8853. -:a8854 :a8854 :a8854. -:a8855 :a8855 :a8855. -:a8856 :a8856 :a8856. -:a8857 :a8857 :a8857. -:a8858 :a8858 :a8858. -:a8859 :a8859 :a8859. -:a8860 :a8860 :a8860. -:a8861 :a8861 :a8861. -:a8862 :a8862 :a8862. -:a8863 :a8863 :a8863. -:a8864 :a8864 :a8864. -:a8865 :a8865 :a8865. -:a8866 :a8866 :a8866. -:a8867 :a8867 :a8867. -:a8868 :a8868 :a8868. -:a8869 :a8869 :a8869. -:a8870 :a8870 :a8870. -:a8871 :a8871 :a8871. -:a8872 :a8872 :a8872. -:a8873 :a8873 :a8873. -:a8874 :a8874 :a8874. -:a8875 :a8875 :a8875. -:a8876 :a8876 :a8876. -:a8877 :a8877 :a8877. -:a8878 :a8878 :a8878. -:a8879 :a8879 :a8879. -:a8880 :a8880 :a8880. -:a8881 :a8881 :a8881. -:a8882 :a8882 :a8882. -:a8883 :a8883 :a8883. -:a8884 :a8884 :a8884. -:a8885 :a8885 :a8885. -:a8886 :a8886 :a8886. -:a8887 :a8887 :a8887. -:a8888 :a8888 :a8888. -:a8889 :a8889 :a8889. -:a8890 :a8890 :a8890. -:a8891 :a8891 :a8891. -:a8892 :a8892 :a8892. -:a8893 :a8893 :a8893. -:a8894 :a8894 :a8894. -:a8895 :a8895 :a8895. -:a8896 :a8896 :a8896. -:a8897 :a8897 :a8897. -:a8898 :a8898 :a8898. -:a8899 :a8899 :a8899. -:a8900 :a8900 :a8900. -:a8901 :a8901 :a8901. -:a8902 :a8902 :a8902. -:a8903 :a8903 :a8903. -:a8904 :a8904 :a8904. -:a8905 :a8905 :a8905. -:a8906 :a8906 :a8906. -:a8907 :a8907 :a8907. -:a8908 :a8908 :a8908. -:a8909 :a8909 :a8909. -:a8910 :a8910 :a8910. -:a8911 :a8911 :a8911. -:a8912 :a8912 :a8912. -:a8913 :a8913 :a8913. -:a8914 :a8914 :a8914. -:a8915 :a8915 :a8915. -:a8916 :a8916 :a8916. -:a8917 :a8917 :a8917. -:a8918 :a8918 :a8918. -:a8919 :a8919 :a8919. -:a8920 :a8920 :a8920. -:a8921 :a8921 :a8921. -:a8922 :a8922 :a8922. -:a8923 :a8923 :a8923. -:a8924 :a8924 :a8924. -:a8925 :a8925 :a8925. -:a8926 :a8926 :a8926. -:a8927 :a8927 :a8927. -:a8928 :a8928 :a8928. -:a8929 :a8929 :a8929. -:a8930 :a8930 :a8930. -:a8931 :a8931 :a8931. -:a8932 :a8932 :a8932. -:a8933 :a8933 :a8933. -:a8934 :a8934 :a8934. -:a8935 :a8935 :a8935. -:a8936 :a8936 :a8936. -:a8937 :a8937 :a8937. -:a8938 :a8938 :a8938. -:a8939 :a8939 :a8939. -:a8940 :a8940 :a8940. -:a8941 :a8941 :a8941. -:a8942 :a8942 :a8942. -:a8943 :a8943 :a8943. -:a8944 :a8944 :a8944. -:a8945 :a8945 :a8945. -:a8946 :a8946 :a8946. -:a8947 :a8947 :a8947. -:a8948 :a8948 :a8948. -:a8949 :a8949 :a8949. -:a8950 :a8950 :a8950. -:a8951 :a8951 :a8951. -:a8952 :a8952 :a8952. -:a8953 :a8953 :a8953. -:a8954 :a8954 :a8954. -:a8955 :a8955 :a8955. -:a8956 :a8956 :a8956. -:a8957 :a8957 :a8957. -:a8958 :a8958 :a8958. -:a8959 :a8959 :a8959. -:a8960 :a8960 :a8960. -:a8961 :a8961 :a8961. -:a8962 :a8962 :a8962. -:a8963 :a8963 :a8963. -:a8964 :a8964 :a8964. -:a8965 :a8965 :a8965. -:a8966 :a8966 :a8966. -:a8967 :a8967 :a8967. -:a8968 :a8968 :a8968. -:a8969 :a8969 :a8969. -:a8970 :a8970 :a8970. -:a8971 :a8971 :a8971. -:a8972 :a8972 :a8972. -:a8973 :a8973 :a8973. -:a8974 :a8974 :a8974. -:a8975 :a8975 :a8975. -:a8976 :a8976 :a8976. -:a8977 :a8977 :a8977. -:a8978 :a8978 :a8978. -:a8979 :a8979 :a8979. -:a8980 :a8980 :a8980. -:a8981 :a8981 :a8981. -:a8982 :a8982 :a8982. -:a8983 :a8983 :a8983. -:a8984 :a8984 :a8984. -:a8985 :a8985 :a8985. -:a8986 :a8986 :a8986. -:a8987 :a8987 :a8987. -:a8988 :a8988 :a8988. -:a8989 :a8989 :a8989. -:a8990 :a8990 :a8990. -:a8991 :a8991 :a8991. -:a8992 :a8992 :a8992. -:a8993 :a8993 :a8993. -:a8994 :a8994 :a8994. -:a8995 :a8995 :a8995. -:a8996 :a8996 :a8996. -:a8997 :a8997 :a8997. -:a8998 :a8998 :a8998. -:a8999 :a8999 :a8999. -:a9000 :a9000 :a9000. -:a9001 :a9001 :a9001. -:a9002 :a9002 :a9002. -:a9003 :a9003 :a9003. -:a9004 :a9004 :a9004. -:a9005 :a9005 :a9005. -:a9006 :a9006 :a9006. -:a9007 :a9007 :a9007. -:a9008 :a9008 :a9008. -:a9009 :a9009 :a9009. -:a9010 :a9010 :a9010. -:a9011 :a9011 :a9011. -:a9012 :a9012 :a9012. -:a9013 :a9013 :a9013. -:a9014 :a9014 :a9014. -:a9015 :a9015 :a9015. -:a9016 :a9016 :a9016. -:a9017 :a9017 :a9017. -:a9018 :a9018 :a9018. -:a9019 :a9019 :a9019. -:a9020 :a9020 :a9020. -:a9021 :a9021 :a9021. -:a9022 :a9022 :a9022. -:a9023 :a9023 :a9023. -:a9024 :a9024 :a9024. -:a9025 :a9025 :a9025. -:a9026 :a9026 :a9026. -:a9027 :a9027 :a9027. -:a9028 :a9028 :a9028. -:a9029 :a9029 :a9029. -:a9030 :a9030 :a9030. -:a9031 :a9031 :a9031. -:a9032 :a9032 :a9032. -:a9033 :a9033 :a9033. -:a9034 :a9034 :a9034. -:a9035 :a9035 :a9035. -:a9036 :a9036 :a9036. -:a9037 :a9037 :a9037. -:a9038 :a9038 :a9038. -:a9039 :a9039 :a9039. -:a9040 :a9040 :a9040. -:a9041 :a9041 :a9041. -:a9042 :a9042 :a9042. -:a9043 :a9043 :a9043. -:a9044 :a9044 :a9044. -:a9045 :a9045 :a9045. -:a9046 :a9046 :a9046. -:a9047 :a9047 :a9047. -:a9048 :a9048 :a9048. -:a9049 :a9049 :a9049. -:a9050 :a9050 :a9050. -:a9051 :a9051 :a9051. -:a9052 :a9052 :a9052. -:a9053 :a9053 :a9053. -:a9054 :a9054 :a9054. -:a9055 :a9055 :a9055. -:a9056 :a9056 :a9056. -:a9057 :a9057 :a9057. -:a9058 :a9058 :a9058. -:a9059 :a9059 :a9059. -:a9060 :a9060 :a9060. -:a9061 :a9061 :a9061. -:a9062 :a9062 :a9062. -:a9063 :a9063 :a9063. -:a9064 :a9064 :a9064. -:a9065 :a9065 :a9065. -:a9066 :a9066 :a9066. -:a9067 :a9067 :a9067. -:a9068 :a9068 :a9068. -:a9069 :a9069 :a9069. -:a9070 :a9070 :a9070. -:a9071 :a9071 :a9071. -:a9072 :a9072 :a9072. -:a9073 :a9073 :a9073. -:a9074 :a9074 :a9074. -:a9075 :a9075 :a9075. -:a9076 :a9076 :a9076. -:a9077 :a9077 :a9077. -:a9078 :a9078 :a9078. -:a9079 :a9079 :a9079. -:a9080 :a9080 :a9080. -:a9081 :a9081 :a9081. -:a9082 :a9082 :a9082. -:a9083 :a9083 :a9083. -:a9084 :a9084 :a9084. -:a9085 :a9085 :a9085. -:a9086 :a9086 :a9086. -:a9087 :a9087 :a9087. -:a9088 :a9088 :a9088. -:a9089 :a9089 :a9089. -:a9090 :a9090 :a9090. -:a9091 :a9091 :a9091. -:a9092 :a9092 :a9092. -:a9093 :a9093 :a9093. -:a9094 :a9094 :a9094. -:a9095 :a9095 :a9095. -:a9096 :a9096 :a9096. -:a9097 :a9097 :a9097. -:a9098 :a9098 :a9098. -:a9099 :a9099 :a9099. -:a9100 :a9100 :a9100. -:a9101 :a9101 :a9101. -:a9102 :a9102 :a9102. -:a9103 :a9103 :a9103. -:a9104 :a9104 :a9104. -:a9105 :a9105 :a9105. -:a9106 :a9106 :a9106. -:a9107 :a9107 :a9107. -:a9108 :a9108 :a9108. -:a9109 :a9109 :a9109. -:a9110 :a9110 :a9110. -:a9111 :a9111 :a9111. -:a9112 :a9112 :a9112. -:a9113 :a9113 :a9113. -:a9114 :a9114 :a9114. -:a9115 :a9115 :a9115. -:a9116 :a9116 :a9116. -:a9117 :a9117 :a9117. -:a9118 :a9118 :a9118. -:a9119 :a9119 :a9119. -:a9120 :a9120 :a9120. -:a9121 :a9121 :a9121. -:a9122 :a9122 :a9122. -:a9123 :a9123 :a9123. -:a9124 :a9124 :a9124. -:a9125 :a9125 :a9125. -:a9126 :a9126 :a9126. -:a9127 :a9127 :a9127. -:a9128 :a9128 :a9128. -:a9129 :a9129 :a9129. -:a9130 :a9130 :a9130. -:a9131 :a9131 :a9131. -:a9132 :a9132 :a9132. -:a9133 :a9133 :a9133. -:a9134 :a9134 :a9134. -:a9135 :a9135 :a9135. -:a9136 :a9136 :a9136. -:a9137 :a9137 :a9137. -:a9138 :a9138 :a9138. -:a9139 :a9139 :a9139. -:a9140 :a9140 :a9140. -:a9141 :a9141 :a9141. -:a9142 :a9142 :a9142. -:a9143 :a9143 :a9143. -:a9144 :a9144 :a9144. -:a9145 :a9145 :a9145. -:a9146 :a9146 :a9146. -:a9147 :a9147 :a9147. -:a9148 :a9148 :a9148. -:a9149 :a9149 :a9149. -:a9150 :a9150 :a9150. -:a9151 :a9151 :a9151. -:a9152 :a9152 :a9152. -:a9153 :a9153 :a9153. -:a9154 :a9154 :a9154. -:a9155 :a9155 :a9155. -:a9156 :a9156 :a9156. -:a9157 :a9157 :a9157. -:a9158 :a9158 :a9158. -:a9159 :a9159 :a9159. -:a9160 :a9160 :a9160. -:a9161 :a9161 :a9161. -:a9162 :a9162 :a9162. -:a9163 :a9163 :a9163. -:a9164 :a9164 :a9164. -:a9165 :a9165 :a9165. -:a9166 :a9166 :a9166. -:a9167 :a9167 :a9167. -:a9168 :a9168 :a9168. -:a9169 :a9169 :a9169. -:a9170 :a9170 :a9170. -:a9171 :a9171 :a9171. -:a9172 :a9172 :a9172. -:a9173 :a9173 :a9173. -:a9174 :a9174 :a9174. -:a9175 :a9175 :a9175. -:a9176 :a9176 :a9176. -:a9177 :a9177 :a9177. -:a9178 :a9178 :a9178. -:a9179 :a9179 :a9179. -:a9180 :a9180 :a9180. -:a9181 :a9181 :a9181. -:a9182 :a9182 :a9182. -:a9183 :a9183 :a9183. -:a9184 :a9184 :a9184. -:a9185 :a9185 :a9185. -:a9186 :a9186 :a9186. -:a9187 :a9187 :a9187. -:a9188 :a9188 :a9188. -:a9189 :a9189 :a9189. -:a9190 :a9190 :a9190. -:a9191 :a9191 :a9191. -:a9192 :a9192 :a9192. -:a9193 :a9193 :a9193. -:a9194 :a9194 :a9194. -:a9195 :a9195 :a9195. -:a9196 :a9196 :a9196. -:a9197 :a9197 :a9197. -:a9198 :a9198 :a9198. -:a9199 :a9199 :a9199. -:a9200 :a9200 :a9200. -:a9201 :a9201 :a9201. -:a9202 :a9202 :a9202. -:a9203 :a9203 :a9203. -:a9204 :a9204 :a9204. -:a9205 :a9205 :a9205. -:a9206 :a9206 :a9206. -:a9207 :a9207 :a9207. -:a9208 :a9208 :a9208. -:a9209 :a9209 :a9209. -:a9210 :a9210 :a9210. -:a9211 :a9211 :a9211. -:a9212 :a9212 :a9212. -:a9213 :a9213 :a9213. -:a9214 :a9214 :a9214. -:a9215 :a9215 :a9215. -:a9216 :a9216 :a9216. -:a9217 :a9217 :a9217. -:a9218 :a9218 :a9218. -:a9219 :a9219 :a9219. -:a9220 :a9220 :a9220. -:a9221 :a9221 :a9221. -:a9222 :a9222 :a9222. -:a9223 :a9223 :a9223. -:a9224 :a9224 :a9224. -:a9225 :a9225 :a9225. -:a9226 :a9226 :a9226. -:a9227 :a9227 :a9227. -:a9228 :a9228 :a9228. -:a9229 :a9229 :a9229. -:a9230 :a9230 :a9230. -:a9231 :a9231 :a9231. -:a9232 :a9232 :a9232. -:a9233 :a9233 :a9233. -:a9234 :a9234 :a9234. -:a9235 :a9235 :a9235. -:a9236 :a9236 :a9236. -:a9237 :a9237 :a9237. -:a9238 :a9238 :a9238. -:a9239 :a9239 :a9239. -:a9240 :a9240 :a9240. -:a9241 :a9241 :a9241. -:a9242 :a9242 :a9242. -:a9243 :a9243 :a9243. -:a9244 :a9244 :a9244. -:a9245 :a9245 :a9245. -:a9246 :a9246 :a9246. -:a9247 :a9247 :a9247. -:a9248 :a9248 :a9248. -:a9249 :a9249 :a9249. -:a9250 :a9250 :a9250. -:a9251 :a9251 :a9251. -:a9252 :a9252 :a9252. -:a9253 :a9253 :a9253. -:a9254 :a9254 :a9254. -:a9255 :a9255 :a9255. -:a9256 :a9256 :a9256. -:a9257 :a9257 :a9257. -:a9258 :a9258 :a9258. -:a9259 :a9259 :a9259. -:a9260 :a9260 :a9260. -:a9261 :a9261 :a9261. -:a9262 :a9262 :a9262. -:a9263 :a9263 :a9263. -:a9264 :a9264 :a9264. -:a9265 :a9265 :a9265. -:a9266 :a9266 :a9266. -:a9267 :a9267 :a9267. -:a9268 :a9268 :a9268. -:a9269 :a9269 :a9269. -:a9270 :a9270 :a9270. -:a9271 :a9271 :a9271. -:a9272 :a9272 :a9272. -:a9273 :a9273 :a9273. -:a9274 :a9274 :a9274. -:a9275 :a9275 :a9275. -:a9276 :a9276 :a9276. -:a9277 :a9277 :a9277. -:a9278 :a9278 :a9278. -:a9279 :a9279 :a9279. -:a9280 :a9280 :a9280. -:a9281 :a9281 :a9281. -:a9282 :a9282 :a9282. -:a9283 :a9283 :a9283. -:a9284 :a9284 :a9284. -:a9285 :a9285 :a9285. -:a9286 :a9286 :a9286. -:a9287 :a9287 :a9287. -:a9288 :a9288 :a9288. -:a9289 :a9289 :a9289. -:a9290 :a9290 :a9290. -:a9291 :a9291 :a9291. -:a9292 :a9292 :a9292. -:a9293 :a9293 :a9293. -:a9294 :a9294 :a9294. -:a9295 :a9295 :a9295. -:a9296 :a9296 :a9296. -:a9297 :a9297 :a9297. -:a9298 :a9298 :a9298. -:a9299 :a9299 :a9299. -:a9300 :a9300 :a9300. -:a9301 :a9301 :a9301. -:a9302 :a9302 :a9302. -:a9303 :a9303 :a9303. -:a9304 :a9304 :a9304. -:a9305 :a9305 :a9305. -:a9306 :a9306 :a9306. -:a9307 :a9307 :a9307. -:a9308 :a9308 :a9308. -:a9309 :a9309 :a9309. -:a9310 :a9310 :a9310. -:a9311 :a9311 :a9311. -:a9312 :a9312 :a9312. -:a9313 :a9313 :a9313. -:a9314 :a9314 :a9314. -:a9315 :a9315 :a9315. -:a9316 :a9316 :a9316. -:a9317 :a9317 :a9317. -:a9318 :a9318 :a9318. -:a9319 :a9319 :a9319. -:a9320 :a9320 :a9320. -:a9321 :a9321 :a9321. -:a9322 :a9322 :a9322. -:a9323 :a9323 :a9323. -:a9324 :a9324 :a9324. -:a9325 :a9325 :a9325. -:a9326 :a9326 :a9326. -:a9327 :a9327 :a9327. -:a9328 :a9328 :a9328. -:a9329 :a9329 :a9329. -:a9330 :a9330 :a9330. -:a9331 :a9331 :a9331. -:a9332 :a9332 :a9332. -:a9333 :a9333 :a9333. -:a9334 :a9334 :a9334. -:a9335 :a9335 :a9335. -:a9336 :a9336 :a9336. -:a9337 :a9337 :a9337. -:a9338 :a9338 :a9338. -:a9339 :a9339 :a9339. -:a9340 :a9340 :a9340. -:a9341 :a9341 :a9341. -:a9342 :a9342 :a9342. -:a9343 :a9343 :a9343. -:a9344 :a9344 :a9344. -:a9345 :a9345 :a9345. -:a9346 :a9346 :a9346. -:a9347 :a9347 :a9347. -:a9348 :a9348 :a9348. -:a9349 :a9349 :a9349. -:a9350 :a9350 :a9350. -:a9351 :a9351 :a9351. -:a9352 :a9352 :a9352. -:a9353 :a9353 :a9353. -:a9354 :a9354 :a9354. -:a9355 :a9355 :a9355. -:a9356 :a9356 :a9356. -:a9357 :a9357 :a9357. -:a9358 :a9358 :a9358. -:a9359 :a9359 :a9359. -:a9360 :a9360 :a9360. -:a9361 :a9361 :a9361. -:a9362 :a9362 :a9362. -:a9363 :a9363 :a9363. -:a9364 :a9364 :a9364. -:a9365 :a9365 :a9365. -:a9366 :a9366 :a9366. -:a9367 :a9367 :a9367. -:a9368 :a9368 :a9368. -:a9369 :a9369 :a9369. -:a9370 :a9370 :a9370. -:a9371 :a9371 :a9371. -:a9372 :a9372 :a9372. -:a9373 :a9373 :a9373. -:a9374 :a9374 :a9374. -:a9375 :a9375 :a9375. -:a9376 :a9376 :a9376. -:a9377 :a9377 :a9377. -:a9378 :a9378 :a9378. -:a9379 :a9379 :a9379. -:a9380 :a9380 :a9380. -:a9381 :a9381 :a9381. -:a9382 :a9382 :a9382. -:a9383 :a9383 :a9383. -:a9384 :a9384 :a9384. -:a9385 :a9385 :a9385. -:a9386 :a9386 :a9386. -:a9387 :a9387 :a9387. -:a9388 :a9388 :a9388. -:a9389 :a9389 :a9389. -:a9390 :a9390 :a9390. -:a9391 :a9391 :a9391. -:a9392 :a9392 :a9392. -:a9393 :a9393 :a9393. -:a9394 :a9394 :a9394. -:a9395 :a9395 :a9395. -:a9396 :a9396 :a9396. -:a9397 :a9397 :a9397. -:a9398 :a9398 :a9398. -:a9399 :a9399 :a9399. -:a9400 :a9400 :a9400. -:a9401 :a9401 :a9401. -:a9402 :a9402 :a9402. -:a9403 :a9403 :a9403. -:a9404 :a9404 :a9404. -:a9405 :a9405 :a9405. -:a9406 :a9406 :a9406. -:a9407 :a9407 :a9407. -:a9408 :a9408 :a9408. -:a9409 :a9409 :a9409. -:a9410 :a9410 :a9410. -:a9411 :a9411 :a9411. -:a9412 :a9412 :a9412. -:a9413 :a9413 :a9413. -:a9414 :a9414 :a9414. -:a9415 :a9415 :a9415. -:a9416 :a9416 :a9416. -:a9417 :a9417 :a9417. -:a9418 :a9418 :a9418. -:a9419 :a9419 :a9419. -:a9420 :a9420 :a9420. -:a9421 :a9421 :a9421. -:a9422 :a9422 :a9422. -:a9423 :a9423 :a9423. -:a9424 :a9424 :a9424. -:a9425 :a9425 :a9425. -:a9426 :a9426 :a9426. -:a9427 :a9427 :a9427. -:a9428 :a9428 :a9428. -:a9429 :a9429 :a9429. -:a9430 :a9430 :a9430. -:a9431 :a9431 :a9431. -:a9432 :a9432 :a9432. -:a9433 :a9433 :a9433. -:a9434 :a9434 :a9434. -:a9435 :a9435 :a9435. -:a9436 :a9436 :a9436. -:a9437 :a9437 :a9437. -:a9438 :a9438 :a9438. -:a9439 :a9439 :a9439. -:a9440 :a9440 :a9440. -:a9441 :a9441 :a9441. -:a9442 :a9442 :a9442. -:a9443 :a9443 :a9443. -:a9444 :a9444 :a9444. -:a9445 :a9445 :a9445. -:a9446 :a9446 :a9446. -:a9447 :a9447 :a9447. -:a9448 :a9448 :a9448. -:a9449 :a9449 :a9449. -:a9450 :a9450 :a9450. -:a9451 :a9451 :a9451. -:a9452 :a9452 :a9452. -:a9453 :a9453 :a9453. -:a9454 :a9454 :a9454. -:a9455 :a9455 :a9455. -:a9456 :a9456 :a9456. -:a9457 :a9457 :a9457. -:a9458 :a9458 :a9458. -:a9459 :a9459 :a9459. -:a9460 :a9460 :a9460. -:a9461 :a9461 :a9461. -:a9462 :a9462 :a9462. -:a9463 :a9463 :a9463. -:a9464 :a9464 :a9464. -:a9465 :a9465 :a9465. -:a9466 :a9466 :a9466. -:a9467 :a9467 :a9467. -:a9468 :a9468 :a9468. -:a9469 :a9469 :a9469. -:a9470 :a9470 :a9470. -:a9471 :a9471 :a9471. -:a9472 :a9472 :a9472. -:a9473 :a9473 :a9473. -:a9474 :a9474 :a9474. -:a9475 :a9475 :a9475. -:a9476 :a9476 :a9476. -:a9477 :a9477 :a9477. -:a9478 :a9478 :a9478. -:a9479 :a9479 :a9479. -:a9480 :a9480 :a9480. -:a9481 :a9481 :a9481. -:a9482 :a9482 :a9482. -:a9483 :a9483 :a9483. -:a9484 :a9484 :a9484. -:a9485 :a9485 :a9485. -:a9486 :a9486 :a9486. -:a9487 :a9487 :a9487. -:a9488 :a9488 :a9488. -:a9489 :a9489 :a9489. -:a9490 :a9490 :a9490. -:a9491 :a9491 :a9491. -:a9492 :a9492 :a9492. -:a9493 :a9493 :a9493. -:a9494 :a9494 :a9494. -:a9495 :a9495 :a9495. -:a9496 :a9496 :a9496. -:a9497 :a9497 :a9497. -:a9498 :a9498 :a9498. -:a9499 :a9499 :a9499. -:a9500 :a9500 :a9500. -:a9501 :a9501 :a9501. -:a9502 :a9502 :a9502. -:a9503 :a9503 :a9503. -:a9504 :a9504 :a9504. -:a9505 :a9505 :a9505. -:a9506 :a9506 :a9506. -:a9507 :a9507 :a9507. -:a9508 :a9508 :a9508. -:a9509 :a9509 :a9509. -:a9510 :a9510 :a9510. -:a9511 :a9511 :a9511. -:a9512 :a9512 :a9512. -:a9513 :a9513 :a9513. -:a9514 :a9514 :a9514. -:a9515 :a9515 :a9515. -:a9516 :a9516 :a9516. -:a9517 :a9517 :a9517. -:a9518 :a9518 :a9518. -:a9519 :a9519 :a9519. -:a9520 :a9520 :a9520. -:a9521 :a9521 :a9521. -:a9522 :a9522 :a9522. -:a9523 :a9523 :a9523. -:a9524 :a9524 :a9524. -:a9525 :a9525 :a9525. -:a9526 :a9526 :a9526. -:a9527 :a9527 :a9527. -:a9528 :a9528 :a9528. -:a9529 :a9529 :a9529. -:a9530 :a9530 :a9530. -:a9531 :a9531 :a9531. -:a9532 :a9532 :a9532. -:a9533 :a9533 :a9533. -:a9534 :a9534 :a9534. -:a9535 :a9535 :a9535. -:a9536 :a9536 :a9536. -:a9537 :a9537 :a9537. -:a9538 :a9538 :a9538. -:a9539 :a9539 :a9539. -:a9540 :a9540 :a9540. -:a9541 :a9541 :a9541. -:a9542 :a9542 :a9542. -:a9543 :a9543 :a9543. -:a9544 :a9544 :a9544. -:a9545 :a9545 :a9545. -:a9546 :a9546 :a9546. -:a9547 :a9547 :a9547. -:a9548 :a9548 :a9548. -:a9549 :a9549 :a9549. -:a9550 :a9550 :a9550. -:a9551 :a9551 :a9551. -:a9552 :a9552 :a9552. -:a9553 :a9553 :a9553. -:a9554 :a9554 :a9554. -:a9555 :a9555 :a9555. -:a9556 :a9556 :a9556. -:a9557 :a9557 :a9557. -:a9558 :a9558 :a9558. -:a9559 :a9559 :a9559. -:a9560 :a9560 :a9560. -:a9561 :a9561 :a9561. -:a9562 :a9562 :a9562. -:a9563 :a9563 :a9563. -:a9564 :a9564 :a9564. -:a9565 :a9565 :a9565. -:a9566 :a9566 :a9566. -:a9567 :a9567 :a9567. -:a9568 :a9568 :a9568. -:a9569 :a9569 :a9569. -:a9570 :a9570 :a9570. -:a9571 :a9571 :a9571. -:a9572 :a9572 :a9572. -:a9573 :a9573 :a9573. -:a9574 :a9574 :a9574. -:a9575 :a9575 :a9575. -:a9576 :a9576 :a9576. -:a9577 :a9577 :a9577. -:a9578 :a9578 :a9578. -:a9579 :a9579 :a9579. -:a9580 :a9580 :a9580. -:a9581 :a9581 :a9581. -:a9582 :a9582 :a9582. -:a9583 :a9583 :a9583. -:a9584 :a9584 :a9584. -:a9585 :a9585 :a9585. -:a9586 :a9586 :a9586. -:a9587 :a9587 :a9587. -:a9588 :a9588 :a9588. -:a9589 :a9589 :a9589. -:a9590 :a9590 :a9590. -:a9591 :a9591 :a9591. -:a9592 :a9592 :a9592. -:a9593 :a9593 :a9593. -:a9594 :a9594 :a9594. -:a9595 :a9595 :a9595. -:a9596 :a9596 :a9596. -:a9597 :a9597 :a9597. -:a9598 :a9598 :a9598. -:a9599 :a9599 :a9599. -:a9600 :a9600 :a9600. -:a9601 :a9601 :a9601. -:a9602 :a9602 :a9602. -:a9603 :a9603 :a9603. -:a9604 :a9604 :a9604. -:a9605 :a9605 :a9605. -:a9606 :a9606 :a9606. -:a9607 :a9607 :a9607. -:a9608 :a9608 :a9608. -:a9609 :a9609 :a9609. -:a9610 :a9610 :a9610. -:a9611 :a9611 :a9611. -:a9612 :a9612 :a9612. -:a9613 :a9613 :a9613. -:a9614 :a9614 :a9614. -:a9615 :a9615 :a9615. -:a9616 :a9616 :a9616. -:a9617 :a9617 :a9617. -:a9618 :a9618 :a9618. -:a9619 :a9619 :a9619. -:a9620 :a9620 :a9620. -:a9621 :a9621 :a9621. -:a9622 :a9622 :a9622. -:a9623 :a9623 :a9623. -:a9624 :a9624 :a9624. -:a9625 :a9625 :a9625. -:a9626 :a9626 :a9626. -:a9627 :a9627 :a9627. -:a9628 :a9628 :a9628. -:a9629 :a9629 :a9629. -:a9630 :a9630 :a9630. -:a9631 :a9631 :a9631. -:a9632 :a9632 :a9632. -:a9633 :a9633 :a9633. -:a9634 :a9634 :a9634. -:a9635 :a9635 :a9635. -:a9636 :a9636 :a9636. -:a9637 :a9637 :a9637. -:a9638 :a9638 :a9638. -:a9639 :a9639 :a9639. -:a9640 :a9640 :a9640. -:a9641 :a9641 :a9641. -:a9642 :a9642 :a9642. -:a9643 :a9643 :a9643. -:a9644 :a9644 :a9644. -:a9645 :a9645 :a9645. -:a9646 :a9646 :a9646. -:a9647 :a9647 :a9647. -:a9648 :a9648 :a9648. -:a9649 :a9649 :a9649. -:a9650 :a9650 :a9650. -:a9651 :a9651 :a9651. -:a9652 :a9652 :a9652. -:a9653 :a9653 :a9653. -:a9654 :a9654 :a9654. -:a9655 :a9655 :a9655. -:a9656 :a9656 :a9656. -:a9657 :a9657 :a9657. -:a9658 :a9658 :a9658. -:a9659 :a9659 :a9659. -:a9660 :a9660 :a9660. -:a9661 :a9661 :a9661. -:a9662 :a9662 :a9662. -:a9663 :a9663 :a9663. -:a9664 :a9664 :a9664. -:a9665 :a9665 :a9665. -:a9666 :a9666 :a9666. -:a9667 :a9667 :a9667. -:a9668 :a9668 :a9668. -:a9669 :a9669 :a9669. -:a9670 :a9670 :a9670. -:a9671 :a9671 :a9671. -:a9672 :a9672 :a9672. -:a9673 :a9673 :a9673. -:a9674 :a9674 :a9674. -:a9675 :a9675 :a9675. -:a9676 :a9676 :a9676. -:a9677 :a9677 :a9677. -:a9678 :a9678 :a9678. -:a9679 :a9679 :a9679. -:a9680 :a9680 :a9680. -:a9681 :a9681 :a9681. -:a9682 :a9682 :a9682. -:a9683 :a9683 :a9683. -:a9684 :a9684 :a9684. -:a9685 :a9685 :a9685. -:a9686 :a9686 :a9686. -:a9687 :a9687 :a9687. -:a9688 :a9688 :a9688. -:a9689 :a9689 :a9689. -:a9690 :a9690 :a9690. -:a9691 :a9691 :a9691. -:a9692 :a9692 :a9692. -:a9693 :a9693 :a9693. -:a9694 :a9694 :a9694. -:a9695 :a9695 :a9695. -:a9696 :a9696 :a9696. -:a9697 :a9697 :a9697. -:a9698 :a9698 :a9698. -:a9699 :a9699 :a9699. -:a9700 :a9700 :a9700. -:a9701 :a9701 :a9701. -:a9702 :a9702 :a9702. -:a9703 :a9703 :a9703. -:a9704 :a9704 :a9704. -:a9705 :a9705 :a9705. -:a9706 :a9706 :a9706. -:a9707 :a9707 :a9707. -:a9708 :a9708 :a9708. -:a9709 :a9709 :a9709. -:a9710 :a9710 :a9710. -:a9711 :a9711 :a9711. -:a9712 :a9712 :a9712. -:a9713 :a9713 :a9713. -:a9714 :a9714 :a9714. -:a9715 :a9715 :a9715. -:a9716 :a9716 :a9716. -:a9717 :a9717 :a9717. -:a9718 :a9718 :a9718. -:a9719 :a9719 :a9719. -:a9720 :a9720 :a9720. -:a9721 :a9721 :a9721. -:a9722 :a9722 :a9722. -:a9723 :a9723 :a9723. -:a9724 :a9724 :a9724. -:a9725 :a9725 :a9725. -:a9726 :a9726 :a9726. -:a9727 :a9727 :a9727. -:a9728 :a9728 :a9728. -:a9729 :a9729 :a9729. -:a9730 :a9730 :a9730. -:a9731 :a9731 :a9731. -:a9732 :a9732 :a9732. -:a9733 :a9733 :a9733. -:a9734 :a9734 :a9734. -:a9735 :a9735 :a9735. -:a9736 :a9736 :a9736. -:a9737 :a9737 :a9737. -:a9738 :a9738 :a9738. -:a9739 :a9739 :a9739. -:a9740 :a9740 :a9740. -:a9741 :a9741 :a9741. -:a9742 :a9742 :a9742. -:a9743 :a9743 :a9743. -:a9744 :a9744 :a9744. -:a9745 :a9745 :a9745. -:a9746 :a9746 :a9746. -:a9747 :a9747 :a9747. -:a9748 :a9748 :a9748. -:a9749 :a9749 :a9749. -:a9750 :a9750 :a9750. -:a9751 :a9751 :a9751. -:a9752 :a9752 :a9752. -:a9753 :a9753 :a9753. -:a9754 :a9754 :a9754. -:a9755 :a9755 :a9755. -:a9756 :a9756 :a9756. -:a9757 :a9757 :a9757. -:a9758 :a9758 :a9758. -:a9759 :a9759 :a9759. -:a9760 :a9760 :a9760. -:a9761 :a9761 :a9761. -:a9762 :a9762 :a9762. -:a9763 :a9763 :a9763. -:a9764 :a9764 :a9764. -:a9765 :a9765 :a9765. -:a9766 :a9766 :a9766. -:a9767 :a9767 :a9767. -:a9768 :a9768 :a9768. -:a9769 :a9769 :a9769. -:a9770 :a9770 :a9770. -:a9771 :a9771 :a9771. -:a9772 :a9772 :a9772. -:a9773 :a9773 :a9773. -:a9774 :a9774 :a9774. -:a9775 :a9775 :a9775. -:a9776 :a9776 :a9776. -:a9777 :a9777 :a9777. -:a9778 :a9778 :a9778. -:a9779 :a9779 :a9779. -:a9780 :a9780 :a9780. -:a9781 :a9781 :a9781. -:a9782 :a9782 :a9782. -:a9783 :a9783 :a9783. -:a9784 :a9784 :a9784. -:a9785 :a9785 :a9785. -:a9786 :a9786 :a9786. -:a9787 :a9787 :a9787. -:a9788 :a9788 :a9788. -:a9789 :a9789 :a9789. -:a9790 :a9790 :a9790. -:a9791 :a9791 :a9791. -:a9792 :a9792 :a9792. -:a9793 :a9793 :a9793. -:a9794 :a9794 :a9794. -:a9795 :a9795 :a9795. -:a9796 :a9796 :a9796. -:a9797 :a9797 :a9797. -:a9798 :a9798 :a9798. -:a9799 :a9799 :a9799. -:a9800 :a9800 :a9800. -:a9801 :a9801 :a9801. -:a9802 :a9802 :a9802. -:a9803 :a9803 :a9803. -:a9804 :a9804 :a9804. -:a9805 :a9805 :a9805. -:a9806 :a9806 :a9806. -:a9807 :a9807 :a9807. -:a9808 :a9808 :a9808. -:a9809 :a9809 :a9809. -:a9810 :a9810 :a9810. -:a9811 :a9811 :a9811. -:a9812 :a9812 :a9812. -:a9813 :a9813 :a9813. -:a9814 :a9814 :a9814. -:a9815 :a9815 :a9815. -:a9816 :a9816 :a9816. -:a9817 :a9817 :a9817. -:a9818 :a9818 :a9818. -:a9819 :a9819 :a9819. -:a9820 :a9820 :a9820. -:a9821 :a9821 :a9821. -:a9822 :a9822 :a9822. -:a9823 :a9823 :a9823. -:a9824 :a9824 :a9824. -:a9825 :a9825 :a9825. -:a9826 :a9826 :a9826. -:a9827 :a9827 :a9827. -:a9828 :a9828 :a9828. -:a9829 :a9829 :a9829. -:a9830 :a9830 :a9830. -:a9831 :a9831 :a9831. -:a9832 :a9832 :a9832. -:a9833 :a9833 :a9833. -:a9834 :a9834 :a9834. -:a9835 :a9835 :a9835. -:a9836 :a9836 :a9836. -:a9837 :a9837 :a9837. -:a9838 :a9838 :a9838. -:a9839 :a9839 :a9839. -:a9840 :a9840 :a9840. -:a9841 :a9841 :a9841. -:a9842 :a9842 :a9842. -:a9843 :a9843 :a9843. -:a9844 :a9844 :a9844. -:a9845 :a9845 :a9845. -:a9846 :a9846 :a9846. -:a9847 :a9847 :a9847. -:a9848 :a9848 :a9848. -:a9849 :a9849 :a9849. -:a9850 :a9850 :a9850. -:a9851 :a9851 :a9851. -:a9852 :a9852 :a9852. -:a9853 :a9853 :a9853. -:a9854 :a9854 :a9854. -:a9855 :a9855 :a9855. -:a9856 :a9856 :a9856. -:a9857 :a9857 :a9857. -:a9858 :a9858 :a9858. -:a9859 :a9859 :a9859. -:a9860 :a9860 :a9860. -:a9861 :a9861 :a9861. -:a9862 :a9862 :a9862. -:a9863 :a9863 :a9863. -:a9864 :a9864 :a9864. -:a9865 :a9865 :a9865. -:a9866 :a9866 :a9866. -:a9867 :a9867 :a9867. -:a9868 :a9868 :a9868. -:a9869 :a9869 :a9869. -:a9870 :a9870 :a9870. -:a9871 :a9871 :a9871. -:a9872 :a9872 :a9872. -:a9873 :a9873 :a9873. -:a9874 :a9874 :a9874. -:a9875 :a9875 :a9875. -:a9876 :a9876 :a9876. -:a9877 :a9877 :a9877. -:a9878 :a9878 :a9878. -:a9879 :a9879 :a9879. -:a9880 :a9880 :a9880. -:a9881 :a9881 :a9881. -:a9882 :a9882 :a9882. -:a9883 :a9883 :a9883. -:a9884 :a9884 :a9884. -:a9885 :a9885 :a9885. -:a9886 :a9886 :a9886. -:a9887 :a9887 :a9887. -:a9888 :a9888 :a9888. -:a9889 :a9889 :a9889. -:a9890 :a9890 :a9890. -:a9891 :a9891 :a9891. -:a9892 :a9892 :a9892. -:a9893 :a9893 :a9893. -:a9894 :a9894 :a9894. -:a9895 :a9895 :a9895. -:a9896 :a9896 :a9896. -:a9897 :a9897 :a9897. -:a9898 :a9898 :a9898. -:a9899 :a9899 :a9899. -:a9900 :a9900 :a9900. -:a9901 :a9901 :a9901. -:a9902 :a9902 :a9902. -:a9903 :a9903 :a9903. -:a9904 :a9904 :a9904. -:a9905 :a9905 :a9905. -:a9906 :a9906 :a9906. -:a9907 :a9907 :a9907. -:a9908 :a9908 :a9908. -:a9909 :a9909 :a9909. -:a9910 :a9910 :a9910. -:a9911 :a9911 :a9911. -:a9912 :a9912 :a9912. -:a9913 :a9913 :a9913. -:a9914 :a9914 :a9914. -:a9915 :a9915 :a9915. -:a9916 :a9916 :a9916. -:a9917 :a9917 :a9917. -:a9918 :a9918 :a9918. -:a9919 :a9919 :a9919. -:a9920 :a9920 :a9920. -:a9921 :a9921 :a9921. -:a9922 :a9922 :a9922. -:a9923 :a9923 :a9923. -:a9924 :a9924 :a9924. -:a9925 :a9925 :a9925. -:a9926 :a9926 :a9926. -:a9927 :a9927 :a9927. -:a9928 :a9928 :a9928. -:a9929 :a9929 :a9929. -:a9930 :a9930 :a9930. -:a9931 :a9931 :a9931. -:a9932 :a9932 :a9932. -:a9933 :a9933 :a9933. -:a9934 :a9934 :a9934. -:a9935 :a9935 :a9935. -:a9936 :a9936 :a9936. -:a9937 :a9937 :a9937. -:a9938 :a9938 :a9938. -:a9939 :a9939 :a9939. -:a9940 :a9940 :a9940. -:a9941 :a9941 :a9941. -:a9942 :a9942 :a9942. -:a9943 :a9943 :a9943. -:a9944 :a9944 :a9944. -:a9945 :a9945 :a9945. -:a9946 :a9946 :a9946. -:a9947 :a9947 :a9947. -:a9948 :a9948 :a9948. -:a9949 :a9949 :a9949. -:a9950 :a9950 :a9950. -:a9951 :a9951 :a9951. -:a9952 :a9952 :a9952. -:a9953 :a9953 :a9953. -:a9954 :a9954 :a9954. -:a9955 :a9955 :a9955. -:a9956 :a9956 :a9956. -:a9957 :a9957 :a9957. -:a9958 :a9958 :a9958. -:a9959 :a9959 :a9959. -:a9960 :a9960 :a9960. -:a9961 :a9961 :a9961. -:a9962 :a9962 :a9962. -:a9963 :a9963 :a9963. -:a9964 :a9964 :a9964. -:a9965 :a9965 :a9965. -:a9966 :a9966 :a9966. -:a9967 :a9967 :a9967. -:a9968 :a9968 :a9968. -:a9969 :a9969 :a9969. -:a9970 :a9970 :a9970. -:a9971 :a9971 :a9971. -:a9972 :a9972 :a9972. -:a9973 :a9973 :a9973. -:a9974 :a9974 :a9974. -:a9975 :a9975 :a9975. -:a9976 :a9976 :a9976. -:a9977 :a9977 :a9977. -:a9978 :a9978 :a9978. -:a9979 :a9979 :a9979. -:a9980 :a9980 :a9980. -:a9981 :a9981 :a9981. -:a9982 :a9982 :a9982. -:a9983 :a9983 :a9983. -:a9984 :a9984 :a9984. -:a9985 :a9985 :a9985. -:a9986 :a9986 :a9986. -:a9987 :a9987 :a9987. -:a9988 :a9988 :a9988. -:a9989 :a9989 :a9989. -:a9990 :a9990 :a9990. -:a9991 :a9991 :a9991. -:a9992 :a9992 :a9992. -:a9993 :a9993 :a9993. -:a9994 :a9994 :a9994. -:a9995 :a9995 :a9995. -:a9996 :a9996 :a9996. -:a9997 :a9997 :a9997. -:a9998 :a9998 :a9998. -:a9999 :a9999 :a9999. -:a10000 :a10000 :a10000. diff --git a/source/modules/lilv/sord-0.12.0/tests/test-15.out b/source/modules/lilv/sord-0.12.0/tests/test-15.out deleted file mode 100644 index c0604b3b6..000000000 --- a/source/modules/lilv/sord-0.12.0/tests/test-15.out +++ /dev/null @@ -1,10000 +0,0 @@ - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . diff --git a/source/modules/lilv/sord-0.12.0/tests/test-15.ttl b/source/modules/lilv/sord-0.12.0/tests/test-15.ttl deleted file mode 100644 index 10df17dfa..000000000 --- a/source/modules/lilv/sord-0.12.0/tests/test-15.ttl +++ /dev/null @@ -1,3 +0,0 @@ -# 10000 triple objects (10000 triples) more than the default Bison stack size -@prefix : . -:a :b :c1, :c2, :c3, :c4, :c5, :c6, :c7, :c8, :c9, :c10, :c11, :c12, :c13, :c14, :c15, :c16, :c17, :c18, :c19, :c20, :c21, :c22, :c23, :c24, :c25, :c26, :c27, :c28, :c29, :c30, :c31, :c32, :c33, :c34, :c35, :c36, :c37, :c38, :c39, :c40, :c41, :c42, :c43, :c44, :c45, :c46, :c47, :c48, :c49, :c50, :c51, :c52, :c53, :c54, :c55, :c56, :c57, :c58, :c59, :c60, :c61, :c62, :c63, :c64, :c65, :c66, :c67, :c68, :c69, :c70, :c71, :c72, :c73, :c74, :c75, :c76, :c77, :c78, :c79, :c80, :c81, :c82, :c83, :c84, :c85, :c86, :c87, :c88, :c89, :c90, :c91, :c92, :c93, :c94, :c95, :c96, :c97, :c98, :c99, :c100, :c101, :c102, :c103, :c104, :c105, :c106, :c107, :c108, :c109, :c110, :c111, :c112, :c113, :c114, :c115, :c116, :c117, :c118, :c119, :c120, :c121, :c122, :c123, :c124, :c125, :c126, :c127, :c128, :c129, :c130, :c131, :c132, :c133, :c134, :c135, :c136, :c137, :c138, :c139, :c140, :c141, :c142, :c143, :c144, :c145, :c146, :c147, :c148, :c149, :c150, :c151, :c152, :c153, :c154, :c155, :c156, :c157, :c158, :c159, :c160, :c161, :c162, :c163, :c164, :c165, :c166, :c167, :c168, :c169, :c170, :c171, :c172, :c173, :c174, :c175, :c176, :c177, :c178, :c179, :c180, :c181, :c182, :c183, :c184, :c185, :c186, :c187, :c188, :c189, :c190, :c191, :c192, :c193, :c194, :c195, :c196, :c197, :c198, :c199, :c200, :c201, :c202, :c203, :c204, :c205, :c206, :c207, :c208, :c209, :c210, :c211, :c212, :c213, :c214, :c215, :c216, :c217, :c218, :c219, :c220, :c221, :c222, :c223, :c224, :c225, :c226, :c227, :c228, :c229, :c230, :c231, :c232, :c233, :c234, :c235, :c236, :c237, :c238, :c239, :c240, :c241, :c242, :c243, :c244, :c245, :c246, :c247, :c248, :c249, :c250, :c251, :c252, :c253, :c254, :c255, :c256, :c257, :c258, :c259, :c260, :c261, :c262, :c263, :c264, :c265, :c266, :c267, :c268, :c269, :c270, :c271, :c272, :c273, :c274, :c275, :c276, :c277, :c278, :c279, :c280, :c281, :c282, :c283, :c284, :c285, :c286, :c287, :c288, :c289, :c290, :c291, :c292, :c293, :c294, :c295, :c296, :c297, :c298, :c299, :c300, :c301, :c302, :c303, :c304, :c305, :c306, :c307, :c308, :c309, :c310, :c311, :c312, :c313, :c314, :c315, :c316, :c317, :c318, :c319, :c320, :c321, :c322, :c323, :c324, :c325, :c326, :c327, :c328, :c329, :c330, :c331, :c332, :c333, :c334, :c335, :c336, :c337, :c338, :c339, :c340, :c341, :c342, :c343, :c344, :c345, :c346, :c347, :c348, :c349, :c350, :c351, :c352, :c353, :c354, :c355, :c356, :c357, :c358, :c359, :c360, :c361, :c362, :c363, :c364, :c365, :c366, :c367, :c368, :c369, :c370, :c371, :c372, :c373, :c374, :c375, :c376, :c377, :c378, :c379, :c380, :c381, :c382, :c383, :c384, :c385, :c386, :c387, :c388, :c389, :c390, :c391, :c392, :c393, :c394, :c395, :c396, :c397, :c398, :c399, :c400, :c401, :c402, :c403, :c404, :c405, :c406, :c407, :c408, :c409, :c410, :c411, :c412, :c413, :c414, :c415, :c416, :c417, :c418, :c419, :c420, :c421, :c422, :c423, :c424, :c425, :c426, :c427, :c428, :c429, :c430, :c431, :c432, :c433, :c434, :c435, :c436, :c437, :c438, :c439, :c440, :c441, :c442, :c443, :c444, :c445, :c446, :c447, :c448, :c449, :c450, :c451, :c452, :c453, :c454, :c455, :c456, :c457, :c458, :c459, :c460, :c461, :c462, :c463, :c464, :c465, :c466, :c467, :c468, :c469, :c470, :c471, :c472, :c473, :c474, :c475, :c476, :c477, :c478, :c479, :c480, :c481, :c482, :c483, :c484, :c485, :c486, :c487, :c488, :c489, :c490, :c491, :c492, :c493, :c494, :c495, :c496, :c497, :c498, :c499, :c500, :c501, :c502, :c503, :c504, :c505, :c506, :c507, :c508, :c509, :c510, :c511, :c512, :c513, :c514, :c515, :c516, :c517, :c518, :c519, :c520, :c521, :c522, :c523, :c524, :c525, :c526, :c527, :c528, :c529, :c530, :c531, :c532, :c533, :c534, :c535, :c536, :c537, :c538, :c539, :c540, :c541, :c542, :c543, :c544, :c545, :c546, :c547, :c548, :c549, :c550, :c551, :c552, :c553, :c554, :c555, :c556, :c557, :c558, :c559, :c560, :c561, :c562, :c563, :c564, :c565, :c566, :c567, :c568, :c569, :c570, :c571, :c572, :c573, :c574, :c575, :c576, :c577, :c578, :c579, :c580, :c581, :c582, :c583, :c584, :c585, :c586, :c587, :c588, :c589, :c590, :c591, :c592, :c593, :c594, :c595, :c596, :c597, :c598, :c599, :c600, :c601, :c602, :c603, :c604, :c605, :c606, :c607, :c608, :c609, :c610, :c611, :c612, :c613, :c614, :c615, :c616, :c617, :c618, :c619, :c620, :c621, :c622, :c623, :c624, :c625, :c626, :c627, :c628, :c629, :c630, :c631, :c632, :c633, :c634, :c635, :c636, :c637, :c638, :c639, :c640, :c641, :c642, :c643, :c644, :c645, :c646, :c647, :c648, :c649, :c650, :c651, :c652, :c653, :c654, :c655, :c656, :c657, :c658, :c659, :c660, :c661, :c662, :c663, :c664, :c665, :c666, :c667, :c668, :c669, :c670, :c671, :c672, :c673, :c674, :c675, :c676, :c677, :c678, :c679, :c680, :c681, :c682, :c683, :c684, :c685, :c686, :c687, :c688, :c689, :c690, :c691, :c692, :c693, :c694, :c695, :c696, :c697, :c698, :c699, :c700, :c701, :c702, :c703, :c704, :c705, :c706, :c707, :c708, :c709, :c710, :c711, :c712, :c713, :c714, :c715, :c716, :c717, :c718, :c719, :c720, :c721, :c722, :c723, :c724, :c725, :c726, :c727, :c728, :c729, :c730, :c731, :c732, :c733, :c734, :c735, :c736, :c737, :c738, :c739, :c740, :c741, :c742, :c743, :c744, :c745, :c746, :c747, :c748, :c749, :c750, :c751, :c752, :c753, :c754, :c755, :c756, :c757, :c758, :c759, :c760, :c761, :c762, :c763, :c764, :c765, :c766, :c767, :c768, :c769, :c770, :c771, :c772, :c773, :c774, :c775, :c776, :c777, :c778, :c779, :c780, :c781, :c782, :c783, :c784, :c785, :c786, :c787, :c788, :c789, :c790, :c791, :c792, :c793, :c794, :c795, :c796, :c797, :c798, :c799, :c800, :c801, :c802, :c803, :c804, :c805, :c806, :c807, :c808, :c809, :c810, :c811, :c812, :c813, :c814, :c815, :c816, :c817, :c818, :c819, :c820, :c821, :c822, :c823, :c824, :c825, :c826, :c827, :c828, :c829, :c830, :c831, :c832, :c833, :c834, :c835, :c836, :c837, :c838, :c839, :c840, :c841, :c842, :c843, :c844, :c845, :c846, :c847, :c848, :c849, :c850, :c851, :c852, :c853, :c854, :c855, :c856, :c857, :c858, :c859, :c860, :c861, :c862, :c863, :c864, :c865, :c866, :c867, :c868, :c869, :c870, :c871, :c872, :c873, :c874, :c875, :c876, :c877, :c878, :c879, :c880, :c881, :c882, :c883, :c884, :c885, :c886, :c887, :c888, :c889, :c890, :c891, :c892, :c893, :c894, :c895, :c896, :c897, :c898, :c899, :c900, :c901, :c902, :c903, :c904, :c905, :c906, :c907, :c908, :c909, :c910, :c911, :c912, :c913, :c914, :c915, :c916, :c917, :c918, :c919, :c920, :c921, :c922, :c923, :c924, :c925, :c926, :c927, :c928, :c929, :c930, :c931, :c932, :c933, :c934, :c935, :c936, :c937, :c938, :c939, :c940, :c941, :c942, :c943, :c944, :c945, :c946, :c947, :c948, :c949, :c950, :c951, :c952, :c953, :c954, :c955, :c956, :c957, :c958, :c959, :c960, :c961, :c962, :c963, :c964, :c965, :c966, :c967, :c968, :c969, :c970, :c971, :c972, :c973, :c974, :c975, :c976, :c977, :c978, :c979, :c980, :c981, :c982, :c983, :c984, :c985, :c986, :c987, :c988, :c989, :c990, :c991, :c992, :c993, :c994, :c995, :c996, :c997, :c998, :c999, :c1000, :c1001, :c1002, :c1003, :c1004, :c1005, :c1006, :c1007, :c1008, :c1009, :c1010, :c1011, :c1012, :c1013, :c1014, :c1015, :c1016, :c1017, :c1018, :c1019, :c1020, :c1021, :c1022, :c1023, :c1024, :c1025, :c1026, :c1027, :c1028, :c1029, :c1030, :c1031, :c1032, :c1033, :c1034, :c1035, :c1036, :c1037, :c1038, :c1039, :c1040, :c1041, :c1042, :c1043, :c1044, :c1045, :c1046, :c1047, :c1048, :c1049, :c1050, :c1051, :c1052, :c1053, :c1054, :c1055, :c1056, :c1057, :c1058, :c1059, :c1060, :c1061, :c1062, :c1063, :c1064, :c1065, :c1066, :c1067, :c1068, :c1069, :c1070, :c1071, :c1072, :c1073, :c1074, :c1075, :c1076, :c1077, :c1078, :c1079, :c1080, :c1081, :c1082, :c1083, :c1084, :c1085, :c1086, :c1087, :c1088, :c1089, :c1090, :c1091, :c1092, :c1093, :c1094, :c1095, :c1096, :c1097, :c1098, :c1099, :c1100, :c1101, :c1102, :c1103, :c1104, :c1105, :c1106, :c1107, :c1108, :c1109, :c1110, :c1111, :c1112, :c1113, :c1114, :c1115, :c1116, :c1117, :c1118, :c1119, :c1120, :c1121, :c1122, :c1123, :c1124, :c1125, :c1126, :c1127, :c1128, :c1129, :c1130, :c1131, :c1132, :c1133, :c1134, :c1135, :c1136, :c1137, :c1138, :c1139, :c1140, :c1141, :c1142, :c1143, :c1144, :c1145, :c1146, :c1147, :c1148, :c1149, :c1150, :c1151, :c1152, :c1153, :c1154, :c1155, :c1156, :c1157, :c1158, :c1159, :c1160, :c1161, :c1162, :c1163, :c1164, :c1165, :c1166, :c1167, :c1168, :c1169, :c1170, :c1171, :c1172, :c1173, :c1174, :c1175, :c1176, :c1177, :c1178, :c1179, :c1180, :c1181, :c1182, :c1183, :c1184, :c1185, :c1186, :c1187, :c1188, :c1189, :c1190, :c1191, :c1192, :c1193, :c1194, :c1195, :c1196, :c1197, :c1198, :c1199, :c1200, :c1201, :c1202, :c1203, :c1204, :c1205, :c1206, :c1207, :c1208, :c1209, :c1210, :c1211, :c1212, :c1213, :c1214, :c1215, :c1216, :c1217, :c1218, :c1219, :c1220, :c1221, :c1222, :c1223, :c1224, :c1225, :c1226, :c1227, :c1228, :c1229, :c1230, :c1231, :c1232, :c1233, :c1234, :c1235, :c1236, :c1237, :c1238, :c1239, :c1240, :c1241, :c1242, :c1243, :c1244, :c1245, :c1246, :c1247, :c1248, :c1249, :c1250, :c1251, :c1252, :c1253, :c1254, :c1255, :c1256, :c1257, :c1258, :c1259, :c1260, :c1261, :c1262, :c1263, :c1264, :c1265, :c1266, :c1267, :c1268, :c1269, :c1270, :c1271, :c1272, :c1273, :c1274, :c1275, :c1276, :c1277, :c1278, :c1279, :c1280, :c1281, :c1282, :c1283, :c1284, :c1285, :c1286, :c1287, :c1288, :c1289, :c1290, :c1291, :c1292, :c1293, :c1294, :c1295, :c1296, :c1297, :c1298, :c1299, :c1300, :c1301, :c1302, :c1303, :c1304, :c1305, :c1306, :c1307, :c1308, :c1309, :c1310, :c1311, :c1312, :c1313, :c1314, :c1315, :c1316, :c1317, :c1318, :c1319, :c1320, :c1321, :c1322, :c1323, :c1324, :c1325, :c1326, :c1327, :c1328, :c1329, :c1330, :c1331, :c1332, :c1333, :c1334, :c1335, :c1336, :c1337, :c1338, :c1339, :c1340, :c1341, :c1342, :c1343, :c1344, :c1345, :c1346, :c1347, :c1348, :c1349, :c1350, :c1351, :c1352, :c1353, :c1354, :c1355, :c1356, :c1357, :c1358, :c1359, :c1360, :c1361, :c1362, :c1363, :c1364, :c1365, :c1366, :c1367, :c1368, :c1369, :c1370, :c1371, :c1372, :c1373, :c1374, :c1375, :c1376, :c1377, :c1378, :c1379, :c1380, :c1381, :c1382, :c1383, :c1384, :c1385, :c1386, :c1387, :c1388, :c1389, :c1390, :c1391, :c1392, :c1393, :c1394, :c1395, :c1396, :c1397, :c1398, :c1399, :c1400, :c1401, :c1402, :c1403, :c1404, :c1405, :c1406, :c1407, :c1408, :c1409, :c1410, :c1411, :c1412, :c1413, :c1414, :c1415, :c1416, :c1417, :c1418, :c1419, :c1420, :c1421, :c1422, :c1423, :c1424, :c1425, :c1426, :c1427, :c1428, :c1429, :c1430, :c1431, :c1432, :c1433, :c1434, :c1435, :c1436, :c1437, :c1438, :c1439, :c1440, :c1441, :c1442, :c1443, :c1444, :c1445, :c1446, :c1447, :c1448, :c1449, :c1450, :c1451, :c1452, :c1453, :c1454, :c1455, :c1456, :c1457, :c1458, :c1459, :c1460, :c1461, :c1462, :c1463, :c1464, :c1465, :c1466, :c1467, :c1468, :c1469, :c1470, :c1471, :c1472, :c1473, :c1474, :c1475, :c1476, :c1477, :c1478, :c1479, :c1480, :c1481, :c1482, :c1483, :c1484, :c1485, :c1486, :c1487, :c1488, :c1489, :c1490, :c1491, :c1492, :c1493, :c1494, :c1495, :c1496, :c1497, :c1498, :c1499, :c1500, :c1501, :c1502, :c1503, :c1504, :c1505, :c1506, :c1507, :c1508, :c1509, :c1510, :c1511, :c1512, :c1513, :c1514, :c1515, :c1516, :c1517, :c1518, :c1519, :c1520, :c1521, :c1522, :c1523, :c1524, :c1525, :c1526, :c1527, :c1528, :c1529, :c1530, :c1531, :c1532, :c1533, :c1534, :c1535, :c1536, :c1537, :c1538, :c1539, :c1540, :c1541, :c1542, :c1543, :c1544, :c1545, :c1546, :c1547, :c1548, :c1549, :c1550, :c1551, :c1552, :c1553, :c1554, :c1555, :c1556, :c1557, :c1558, :c1559, :c1560, :c1561, :c1562, :c1563, :c1564, :c1565, :c1566, :c1567, :c1568, :c1569, :c1570, :c1571, :c1572, :c1573, :c1574, :c1575, :c1576, :c1577, :c1578, :c1579, :c1580, :c1581, :c1582, :c1583, :c1584, :c1585, :c1586, :c1587, :c1588, :c1589, :c1590, :c1591, :c1592, :c1593, :c1594, :c1595, :c1596, :c1597, :c1598, :c1599, :c1600, :c1601, :c1602, :c1603, :c1604, :c1605, :c1606, :c1607, :c1608, :c1609, :c1610, :c1611, :c1612, :c1613, :c1614, :c1615, :c1616, :c1617, :c1618, :c1619, :c1620, :c1621, :c1622, :c1623, :c1624, :c1625, :c1626, :c1627, :c1628, :c1629, :c1630, :c1631, :c1632, :c1633, :c1634, :c1635, :c1636, :c1637, :c1638, :c1639, :c1640, :c1641, :c1642, :c1643, :c1644, :c1645, :c1646, :c1647, :c1648, :c1649, :c1650, :c1651, :c1652, :c1653, :c1654, :c1655, :c1656, :c1657, :c1658, :c1659, :c1660, :c1661, :c1662, :c1663, :c1664, :c1665, :c1666, :c1667, :c1668, :c1669, :c1670, :c1671, :c1672, :c1673, :c1674, :c1675, :c1676, :c1677, :c1678, :c1679, :c1680, :c1681, :c1682, :c1683, :c1684, :c1685, :c1686, :c1687, :c1688, :c1689, :c1690, :c1691, :c1692, :c1693, :c1694, :c1695, :c1696, :c1697, :c1698, :c1699, :c1700, :c1701, :c1702, :c1703, :c1704, :c1705, :c1706, :c1707, :c1708, :c1709, :c1710, :c1711, :c1712, :c1713, :c1714, :c1715, :c1716, :c1717, :c1718, :c1719, :c1720, :c1721, :c1722, :c1723, :c1724, :c1725, :c1726, :c1727, :c1728, :c1729, :c1730, :c1731, :c1732, :c1733, :c1734, :c1735, :c1736, :c1737, :c1738, :c1739, :c1740, :c1741, :c1742, :c1743, :c1744, :c1745, :c1746, :c1747, :c1748, :c1749, :c1750, :c1751, :c1752, :c1753, :c1754, :c1755, :c1756, :c1757, :c1758, :c1759, :c1760, :c1761, :c1762, :c1763, :c1764, :c1765, :c1766, :c1767, :c1768, :c1769, :c1770, :c1771, :c1772, :c1773, :c1774, :c1775, :c1776, :c1777, :c1778, :c1779, :c1780, :c1781, :c1782, :c1783, :c1784, :c1785, :c1786, :c1787, :c1788, :c1789, :c1790, :c1791, :c1792, :c1793, :c1794, :c1795, :c1796, :c1797, :c1798, :c1799, :c1800, :c1801, :c1802, :c1803, :c1804, :c1805, :c1806, :c1807, :c1808, :c1809, :c1810, :c1811, :c1812, :c1813, :c1814, :c1815, :c1816, :c1817, :c1818, :c1819, :c1820, :c1821, :c1822, :c1823, :c1824, :c1825, :c1826, :c1827, :c1828, :c1829, :c1830, :c1831, :c1832, :c1833, :c1834, :c1835, :c1836, :c1837, :c1838, :c1839, :c1840, :c1841, :c1842, :c1843, :c1844, :c1845, :c1846, :c1847, :c1848, :c1849, :c1850, :c1851, :c1852, :c1853, :c1854, :c1855, :c1856, :c1857, :c1858, :c1859, :c1860, :c1861, :c1862, :c1863, :c1864, :c1865, :c1866, :c1867, :c1868, :c1869, :c1870, :c1871, :c1872, :c1873, :c1874, :c1875, :c1876, :c1877, :c1878, :c1879, :c1880, :c1881, :c1882, :c1883, :c1884, :c1885, :c1886, :c1887, :c1888, :c1889, :c1890, :c1891, :c1892, :c1893, :c1894, :c1895, :c1896, :c1897, :c1898, :c1899, :c1900, :c1901, :c1902, :c1903, :c1904, :c1905, :c1906, :c1907, :c1908, :c1909, :c1910, :c1911, :c1912, :c1913, :c1914, :c1915, :c1916, :c1917, :c1918, :c1919, :c1920, :c1921, :c1922, :c1923, :c1924, :c1925, :c1926, :c1927, :c1928, :c1929, :c1930, :c1931, :c1932, :c1933, :c1934, :c1935, :c1936, :c1937, :c1938, :c1939, :c1940, :c1941, :c1942, :c1943, :c1944, :c1945, :c1946, :c1947, :c1948, :c1949, :c1950, :c1951, :c1952, :c1953, :c1954, :c1955, :c1956, :c1957, :c1958, :c1959, :c1960, :c1961, :c1962, :c1963, :c1964, :c1965, :c1966, :c1967, :c1968, :c1969, :c1970, :c1971, :c1972, :c1973, :c1974, :c1975, :c1976, :c1977, :c1978, :c1979, :c1980, :c1981, :c1982, :c1983, :c1984, :c1985, :c1986, :c1987, :c1988, :c1989, :c1990, :c1991, :c1992, :c1993, :c1994, :c1995, :c1996, :c1997, :c1998, :c1999, :c2000, :c2001, :c2002, :c2003, :c2004, :c2005, :c2006, :c2007, :c2008, :c2009, :c2010, :c2011, :c2012, :c2013, :c2014, :c2015, :c2016, :c2017, :c2018, :c2019, :c2020, :c2021, :c2022, :c2023, :c2024, :c2025, :c2026, :c2027, :c2028, :c2029, :c2030, :c2031, :c2032, :c2033, :c2034, :c2035, :c2036, :c2037, :c2038, :c2039, :c2040, :c2041, :c2042, :c2043, :c2044, :c2045, :c2046, :c2047, :c2048, :c2049, :c2050, :c2051, :c2052, :c2053, :c2054, :c2055, :c2056, :c2057, :c2058, :c2059, :c2060, :c2061, :c2062, :c2063, :c2064, :c2065, :c2066, :c2067, :c2068, :c2069, :c2070, :c2071, :c2072, :c2073, :c2074, :c2075, :c2076, :c2077, :c2078, :c2079, :c2080, :c2081, :c2082, :c2083, :c2084, :c2085, :c2086, :c2087, :c2088, :c2089, :c2090, :c2091, :c2092, :c2093, :c2094, :c2095, :c2096, :c2097, :c2098, :c2099, :c2100, :c2101, :c2102, :c2103, :c2104, :c2105, :c2106, :c2107, :c2108, :c2109, :c2110, :c2111, :c2112, :c2113, :c2114, :c2115, :c2116, :c2117, :c2118, :c2119, :c2120, :c2121, :c2122, :c2123, :c2124, :c2125, :c2126, :c2127, :c2128, :c2129, :c2130, :c2131, :c2132, :c2133, :c2134, :c2135, :c2136, :c2137, :c2138, :c2139, :c2140, :c2141, :c2142, :c2143, :c2144, :c2145, :c2146, :c2147, :c2148, :c2149, :c2150, :c2151, :c2152, :c2153, :c2154, :c2155, :c2156, :c2157, :c2158, :c2159, :c2160, :c2161, :c2162, :c2163, :c2164, :c2165, :c2166, :c2167, :c2168, :c2169, :c2170, :c2171, :c2172, :c2173, :c2174, :c2175, :c2176, :c2177, :c2178, :c2179, :c2180, :c2181, :c2182, :c2183, :c2184, :c2185, :c2186, :c2187, :c2188, :c2189, :c2190, :c2191, :c2192, :c2193, :c2194, :c2195, :c2196, :c2197, :c2198, :c2199, :c2200, :c2201, :c2202, :c2203, :c2204, :c2205, :c2206, :c2207, :c2208, :c2209, :c2210, :c2211, :c2212, :c2213, :c2214, :c2215, :c2216, :c2217, :c2218, :c2219, :c2220, :c2221, :c2222, :c2223, :c2224, :c2225, :c2226, :c2227, :c2228, :c2229, :c2230, :c2231, :c2232, :c2233, :c2234, :c2235, :c2236, :c2237, :c2238, :c2239, :c2240, :c2241, :c2242, :c2243, :c2244, :c2245, :c2246, :c2247, :c2248, :c2249, :c2250, :c2251, :c2252, :c2253, :c2254, :c2255, :c2256, :c2257, :c2258, :c2259, :c2260, :c2261, :c2262, :c2263, :c2264, :c2265, :c2266, :c2267, :c2268, :c2269, :c2270, :c2271, :c2272, :c2273, :c2274, :c2275, :c2276, :c2277, :c2278, :c2279, :c2280, :c2281, :c2282, :c2283, :c2284, :c2285, :c2286, :c2287, :c2288, :c2289, :c2290, :c2291, :c2292, :c2293, :c2294, :c2295, :c2296, :c2297, :c2298, :c2299, :c2300, :c2301, :c2302, :c2303, :c2304, :c2305, :c2306, :c2307, :c2308, :c2309, :c2310, :c2311, :c2312, :c2313, :c2314, :c2315, :c2316, :c2317, :c2318, :c2319, :c2320, :c2321, :c2322, :c2323, :c2324, :c2325, :c2326, :c2327, :c2328, :c2329, :c2330, :c2331, :c2332, :c2333, :c2334, :c2335, :c2336, :c2337, :c2338, :c2339, :c2340, :c2341, :c2342, :c2343, :c2344, :c2345, :c2346, :c2347, :c2348, :c2349, :c2350, :c2351, :c2352, :c2353, :c2354, :c2355, :c2356, :c2357, :c2358, :c2359, :c2360, :c2361, :c2362, :c2363, :c2364, :c2365, :c2366, :c2367, :c2368, :c2369, :c2370, :c2371, :c2372, :c2373, :c2374, :c2375, :c2376, :c2377, :c2378, :c2379, :c2380, :c2381, :c2382, :c2383, :c2384, :c2385, :c2386, :c2387, :c2388, :c2389, :c2390, :c2391, :c2392, :c2393, :c2394, :c2395, :c2396, :c2397, :c2398, :c2399, :c2400, :c2401, :c2402, :c2403, :c2404, :c2405, :c2406, :c2407, :c2408, :c2409, :c2410, :c2411, :c2412, :c2413, :c2414, :c2415, :c2416, :c2417, :c2418, :c2419, :c2420, :c2421, :c2422, :c2423, :c2424, :c2425, :c2426, :c2427, :c2428, :c2429, :c2430, :c2431, :c2432, :c2433, :c2434, :c2435, :c2436, :c2437, :c2438, :c2439, :c2440, :c2441, :c2442, :c2443, :c2444, :c2445, :c2446, :c2447, :c2448, :c2449, :c2450, :c2451, :c2452, :c2453, :c2454, :c2455, :c2456, :c2457, :c2458, :c2459, :c2460, :c2461, :c2462, :c2463, :c2464, :c2465, :c2466, :c2467, :c2468, :c2469, :c2470, :c2471, :c2472, :c2473, :c2474, :c2475, :c2476, :c2477, :c2478, :c2479, :c2480, :c2481, :c2482, :c2483, :c2484, :c2485, :c2486, :c2487, :c2488, :c2489, :c2490, :c2491, :c2492, :c2493, :c2494, :c2495, :c2496, :c2497, :c2498, :c2499, :c2500, :c2501, :c2502, :c2503, :c2504, :c2505, :c2506, :c2507, :c2508, :c2509, :c2510, :c2511, :c2512, :c2513, :c2514, :c2515, :c2516, :c2517, :c2518, :c2519, :c2520, :c2521, :c2522, :c2523, :c2524, :c2525, :c2526, :c2527, :c2528, :c2529, :c2530, :c2531, :c2532, :c2533, :c2534, :c2535, :c2536, :c2537, :c2538, :c2539, :c2540, :c2541, :c2542, :c2543, :c2544, :c2545, :c2546, :c2547, :c2548, :c2549, :c2550, :c2551, :c2552, :c2553, :c2554, :c2555, :c2556, :c2557, :c2558, :c2559, :c2560, :c2561, :c2562, :c2563, :c2564, :c2565, :c2566, :c2567, :c2568, :c2569, :c2570, :c2571, :c2572, :c2573, :c2574, :c2575, :c2576, :c2577, :c2578, :c2579, :c2580, :c2581, :c2582, :c2583, :c2584, :c2585, :c2586, :c2587, :c2588, :c2589, :c2590, :c2591, :c2592, :c2593, :c2594, :c2595, :c2596, :c2597, :c2598, :c2599, :c2600, :c2601, :c2602, :c2603, :c2604, :c2605, :c2606, :c2607, :c2608, :c2609, :c2610, :c2611, :c2612, :c2613, :c2614, :c2615, :c2616, :c2617, :c2618, :c2619, :c2620, :c2621, :c2622, :c2623, :c2624, :c2625, :c2626, :c2627, :c2628, :c2629, :c2630, :c2631, :c2632, :c2633, :c2634, :c2635, :c2636, :c2637, :c2638, :c2639, :c2640, :c2641, :c2642, :c2643, :c2644, :c2645, :c2646, :c2647, :c2648, :c2649, :c2650, :c2651, :c2652, :c2653, :c2654, :c2655, :c2656, :c2657, :c2658, :c2659, :c2660, :c2661, :c2662, :c2663, :c2664, :c2665, :c2666, :c2667, :c2668, :c2669, :c2670, :c2671, :c2672, :c2673, :c2674, :c2675, :c2676, :c2677, :c2678, :c2679, :c2680, :c2681, :c2682, :c2683, :c2684, :c2685, :c2686, :c2687, :c2688, :c2689, :c2690, :c2691, :c2692, :c2693, :c2694, :c2695, :c2696, :c2697, :c2698, :c2699, :c2700, :c2701, :c2702, :c2703, :c2704, :c2705, :c2706, :c2707, :c2708, :c2709, :c2710, :c2711, :c2712, :c2713, :c2714, :c2715, :c2716, :c2717, :c2718, :c2719, :c2720, :c2721, :c2722, :c2723, :c2724, :c2725, :c2726, :c2727, :c2728, :c2729, :c2730, :c2731, :c2732, :c2733, :c2734, :c2735, :c2736, :c2737, :c2738, :c2739, :c2740, :c2741, :c2742, :c2743, :c2744, :c2745, :c2746, :c2747, :c2748, :c2749, :c2750, :c2751, :c2752, :c2753, :c2754, :c2755, :c2756, :c2757, :c2758, :c2759, :c2760, :c2761, :c2762, :c2763, :c2764, :c2765, :c2766, :c2767, :c2768, :c2769, :c2770, :c2771, :c2772, :c2773, :c2774, :c2775, :c2776, :c2777, :c2778, :c2779, :c2780, :c2781, :c2782, :c2783, :c2784, :c2785, :c2786, :c2787, :c2788, :c2789, :c2790, :c2791, :c2792, :c2793, :c2794, :c2795, :c2796, :c2797, :c2798, :c2799, :c2800, :c2801, :c2802, :c2803, :c2804, :c2805, :c2806, :c2807, :c2808, :c2809, :c2810, :c2811, :c2812, :c2813, :c2814, :c2815, :c2816, :c2817, :c2818, :c2819, :c2820, :c2821, :c2822, :c2823, :c2824, :c2825, :c2826, :c2827, :c2828, :c2829, :c2830, :c2831, :c2832, :c2833, :c2834, :c2835, :c2836, :c2837, :c2838, :c2839, :c2840, :c2841, :c2842, :c2843, :c2844, :c2845, :c2846, :c2847, :c2848, :c2849, :c2850, :c2851, :c2852, :c2853, :c2854, :c2855, :c2856, :c2857, :c2858, :c2859, :c2860, :c2861, :c2862, :c2863, :c2864, :c2865, :c2866, :c2867, :c2868, :c2869, :c2870, :c2871, :c2872, :c2873, :c2874, :c2875, :c2876, :c2877, :c2878, :c2879, :c2880, :c2881, :c2882, :c2883, :c2884, :c2885, :c2886, :c2887, :c2888, :c2889, :c2890, :c2891, :c2892, :c2893, :c2894, :c2895, :c2896, :c2897, :c2898, :c2899, :c2900, :c2901, :c2902, :c2903, :c2904, :c2905, :c2906, :c2907, :c2908, :c2909, :c2910, :c2911, :c2912, :c2913, :c2914, :c2915, :c2916, :c2917, :c2918, :c2919, :c2920, :c2921, :c2922, :c2923, :c2924, :c2925, :c2926, :c2927, :c2928, :c2929, :c2930, :c2931, :c2932, :c2933, :c2934, :c2935, :c2936, :c2937, :c2938, :c2939, :c2940, :c2941, :c2942, :c2943, :c2944, :c2945, :c2946, :c2947, :c2948, :c2949, :c2950, :c2951, :c2952, :c2953, :c2954, :c2955, :c2956, :c2957, :c2958, :c2959, :c2960, :c2961, :c2962, :c2963, :c2964, :c2965, :c2966, :c2967, :c2968, :c2969, :c2970, :c2971, :c2972, :c2973, :c2974, :c2975, :c2976, :c2977, :c2978, :c2979, :c2980, :c2981, :c2982, :c2983, :c2984, :c2985, :c2986, :c2987, :c2988, :c2989, :c2990, :c2991, :c2992, :c2993, :c2994, :c2995, :c2996, :c2997, :c2998, :c2999, :c3000, :c3001, :c3002, :c3003, :c3004, :c3005, :c3006, :c3007, :c3008, :c3009, :c3010, :c3011, :c3012, :c3013, :c3014, :c3015, :c3016, :c3017, :c3018, :c3019, :c3020, :c3021, :c3022, :c3023, :c3024, :c3025, :c3026, :c3027, :c3028, :c3029, :c3030, :c3031, :c3032, :c3033, :c3034, :c3035, :c3036, :c3037, :c3038, :c3039, :c3040, :c3041, :c3042, :c3043, :c3044, :c3045, :c3046, :c3047, :c3048, :c3049, :c3050, :c3051, :c3052, :c3053, :c3054, :c3055, :c3056, :c3057, :c3058, :c3059, :c3060, :c3061, :c3062, :c3063, :c3064, :c3065, :c3066, :c3067, :c3068, :c3069, :c3070, :c3071, :c3072, :c3073, :c3074, :c3075, :c3076, :c3077, :c3078, :c3079, :c3080, :c3081, :c3082, :c3083, :c3084, :c3085, :c3086, :c3087, :c3088, :c3089, :c3090, :c3091, :c3092, :c3093, :c3094, :c3095, :c3096, :c3097, :c3098, :c3099, :c3100, :c3101, :c3102, :c3103, :c3104, :c3105, :c3106, :c3107, :c3108, :c3109, :c3110, :c3111, :c3112, :c3113, :c3114, :c3115, :c3116, :c3117, :c3118, :c3119, :c3120, :c3121, :c3122, :c3123, :c3124, :c3125, :c3126, :c3127, :c3128, :c3129, :c3130, :c3131, :c3132, :c3133, :c3134, :c3135, :c3136, :c3137, :c3138, :c3139, :c3140, :c3141, :c3142, :c3143, :c3144, :c3145, :c3146, :c3147, :c3148, :c3149, :c3150, :c3151, :c3152, :c3153, :c3154, :c3155, :c3156, :c3157, :c3158, :c3159, :c3160, :c3161, :c3162, :c3163, :c3164, :c3165, :c3166, :c3167, :c3168, :c3169, :c3170, :c3171, :c3172, :c3173, :c3174, :c3175, :c3176, :c3177, :c3178, :c3179, :c3180, :c3181, :c3182, :c3183, :c3184, :c3185, :c3186, :c3187, :c3188, :c3189, :c3190, :c3191, :c3192, :c3193, :c3194, :c3195, :c3196, :c3197, :c3198, :c3199, :c3200, :c3201, :c3202, :c3203, :c3204, :c3205, :c3206, :c3207, :c3208, :c3209, :c3210, :c3211, :c3212, :c3213, :c3214, :c3215, :c3216, :c3217, :c3218, :c3219, :c3220, :c3221, :c3222, :c3223, :c3224, :c3225, :c3226, :c3227, :c3228, :c3229, :c3230, :c3231, :c3232, :c3233, :c3234, :c3235, :c3236, :c3237, :c3238, :c3239, :c3240, :c3241, :c3242, :c3243, :c3244, :c3245, :c3246, :c3247, :c3248, :c3249, :c3250, :c3251, :c3252, :c3253, :c3254, :c3255, :c3256, :c3257, :c3258, :c3259, :c3260, :c3261, :c3262, :c3263, :c3264, :c3265, :c3266, :c3267, :c3268, :c3269, :c3270, :c3271, :c3272, :c3273, :c3274, :c3275, :c3276, :c3277, :c3278, :c3279, :c3280, :c3281, :c3282, :c3283, :c3284, :c3285, :c3286, :c3287, :c3288, :c3289, :c3290, :c3291, :c3292, :c3293, :c3294, :c3295, :c3296, :c3297, :c3298, :c3299, :c3300, :c3301, :c3302, :c3303, :c3304, :c3305, :c3306, :c3307, :c3308, :c3309, :c3310, :c3311, :c3312, :c3313, :c3314, :c3315, :c3316, :c3317, :c3318, :c3319, :c3320, :c3321, :c3322, :c3323, :c3324, :c3325, :c3326, :c3327, :c3328, :c3329, :c3330, :c3331, :c3332, :c3333, :c3334, :c3335, :c3336, :c3337, :c3338, :c3339, :c3340, :c3341, :c3342, :c3343, :c3344, :c3345, :c3346, :c3347, :c3348, :c3349, :c3350, :c3351, :c3352, :c3353, :c3354, :c3355, :c3356, :c3357, :c3358, :c3359, :c3360, :c3361, :c3362, :c3363, :c3364, :c3365, :c3366, :c3367, :c3368, :c3369, :c3370, :c3371, :c3372, :c3373, :c3374, :c3375, :c3376, :c3377, :c3378, :c3379, :c3380, :c3381, :c3382, :c3383, :c3384, :c3385, :c3386, :c3387, :c3388, :c3389, :c3390, :c3391, :c3392, :c3393, :c3394, :c3395, :c3396, :c3397, :c3398, :c3399, :c3400, :c3401, :c3402, :c3403, :c3404, :c3405, :c3406, :c3407, :c3408, :c3409, :c3410, :c3411, :c3412, :c3413, :c3414, :c3415, :c3416, :c3417, :c3418, :c3419, :c3420, :c3421, :c3422, :c3423, :c3424, :c3425, :c3426, :c3427, :c3428, :c3429, :c3430, :c3431, :c3432, :c3433, :c3434, :c3435, :c3436, :c3437, :c3438, :c3439, :c3440, :c3441, :c3442, :c3443, :c3444, :c3445, :c3446, :c3447, :c3448, :c3449, :c3450, :c3451, :c3452, :c3453, :c3454, :c3455, :c3456, :c3457, :c3458, :c3459, :c3460, :c3461, :c3462, :c3463, :c3464, :c3465, :c3466, :c3467, :c3468, :c3469, :c3470, :c3471, :c3472, :c3473, :c3474, :c3475, :c3476, :c3477, :c3478, :c3479, :c3480, :c3481, :c3482, :c3483, :c3484, :c3485, :c3486, :c3487, :c3488, :c3489, :c3490, :c3491, :c3492, :c3493, :c3494, :c3495, :c3496, :c3497, :c3498, :c3499, :c3500, :c3501, :c3502, :c3503, :c3504, :c3505, :c3506, :c3507, :c3508, :c3509, :c3510, :c3511, :c3512, :c3513, :c3514, :c3515, :c3516, :c3517, :c3518, :c3519, :c3520, :c3521, :c3522, :c3523, :c3524, :c3525, :c3526, :c3527, :c3528, :c3529, :c3530, :c3531, :c3532, :c3533, :c3534, :c3535, :c3536, :c3537, :c3538, :c3539, :c3540, :c3541, :c3542, :c3543, :c3544, :c3545, :c3546, :c3547, :c3548, :c3549, :c3550, :c3551, :c3552, :c3553, :c3554, :c3555, :c3556, :c3557, :c3558, :c3559, :c3560, :c3561, :c3562, :c3563, :c3564, :c3565, :c3566, :c3567, :c3568, :c3569, :c3570, :c3571, :c3572, :c3573, :c3574, :c3575, :c3576, :c3577, :c3578, :c3579, :c3580, :c3581, :c3582, :c3583, :c3584, :c3585, :c3586, :c3587, :c3588, :c3589, :c3590, :c3591, :c3592, :c3593, :c3594, :c3595, :c3596, :c3597, :c3598, :c3599, :c3600, :c3601, :c3602, :c3603, :c3604, :c3605, :c3606, :c3607, :c3608, :c3609, :c3610, :c3611, :c3612, :c3613, :c3614, :c3615, :c3616, :c3617, :c3618, :c3619, :c3620, :c3621, :c3622, :c3623, :c3624, :c3625, :c3626, :c3627, :c3628, :c3629, :c3630, :c3631, :c3632, :c3633, :c3634, :c3635, :c3636, :c3637, :c3638, :c3639, :c3640, :c3641, :c3642, :c3643, :c3644, :c3645, :c3646, :c3647, :c3648, :c3649, :c3650, :c3651, :c3652, :c3653, :c3654, :c3655, :c3656, :c3657, :c3658, :c3659, :c3660, :c3661, :c3662, :c3663, :c3664, :c3665, :c3666, :c3667, :c3668, :c3669, :c3670, :c3671, :c3672, :c3673, :c3674, :c3675, :c3676, :c3677, :c3678, :c3679, :c3680, :c3681, :c3682, :c3683, :c3684, :c3685, :c3686, :c3687, :c3688, :c3689, :c3690, :c3691, :c3692, :c3693, :c3694, :c3695, :c3696, :c3697, :c3698, :c3699, :c3700, :c3701, :c3702, :c3703, :c3704, :c3705, :c3706, :c3707, :c3708, :c3709, :c3710, :c3711, :c3712, :c3713, :c3714, :c3715, :c3716, :c3717, :c3718, :c3719, :c3720, :c3721, :c3722, :c3723, :c3724, :c3725, :c3726, :c3727, :c3728, :c3729, :c3730, :c3731, :c3732, :c3733, :c3734, :c3735, :c3736, :c3737, :c3738, :c3739, :c3740, :c3741, :c3742, :c3743, :c3744, :c3745, :c3746, :c3747, :c3748, :c3749, :c3750, :c3751, :c3752, :c3753, :c3754, :c3755, :c3756, :c3757, :c3758, :c3759, :c3760, :c3761, :c3762, :c3763, :c3764, :c3765, :c3766, :c3767, :c3768, :c3769, :c3770, :c3771, :c3772, :c3773, :c3774, :c3775, :c3776, :c3777, :c3778, :c3779, :c3780, :c3781, :c3782, :c3783, :c3784, :c3785, :c3786, :c3787, :c3788, :c3789, :c3790, :c3791, :c3792, :c3793, :c3794, :c3795, :c3796, :c3797, :c3798, :c3799, :c3800, :c3801, :c3802, :c3803, :c3804, :c3805, :c3806, :c3807, :c3808, :c3809, :c3810, :c3811, :c3812, :c3813, :c3814, :c3815, :c3816, :c3817, :c3818, :c3819, :c3820, :c3821, :c3822, :c3823, :c3824, :c3825, :c3826, :c3827, :c3828, :c3829, :c3830, :c3831, :c3832, :c3833, :c3834, :c3835, :c3836, :c3837, :c3838, :c3839, :c3840, :c3841, :c3842, :c3843, :c3844, :c3845, :c3846, :c3847, :c3848, :c3849, :c3850, :c3851, :c3852, :c3853, :c3854, :c3855, :c3856, :c3857, :c3858, :c3859, :c3860, :c3861, :c3862, :c3863, :c3864, :c3865, :c3866, :c3867, :c3868, :c3869, :c3870, :c3871, :c3872, :c3873, :c3874, :c3875, :c3876, :c3877, :c3878, :c3879, :c3880, :c3881, :c3882, :c3883, :c3884, :c3885, :c3886, :c3887, :c3888, :c3889, :c3890, :c3891, :c3892, :c3893, :c3894, :c3895, :c3896, :c3897, :c3898, :c3899, :c3900, :c3901, :c3902, :c3903, :c3904, :c3905, :c3906, :c3907, :c3908, :c3909, :c3910, :c3911, :c3912, :c3913, :c3914, :c3915, :c3916, :c3917, :c3918, :c3919, :c3920, :c3921, :c3922, :c3923, :c3924, :c3925, :c3926, :c3927, :c3928, :c3929, :c3930, :c3931, :c3932, :c3933, :c3934, :c3935, :c3936, :c3937, :c3938, :c3939, :c3940, :c3941, :c3942, :c3943, :c3944, :c3945, :c3946, :c3947, :c3948, :c3949, :c3950, :c3951, :c3952, :c3953, :c3954, :c3955, :c3956, :c3957, :c3958, :c3959, :c3960, :c3961, :c3962, :c3963, :c3964, :c3965, :c3966, :c3967, :c3968, :c3969, :c3970, :c3971, :c3972, :c3973, :c3974, :c3975, :c3976, :c3977, :c3978, :c3979, :c3980, :c3981, :c3982, :c3983, :c3984, :c3985, :c3986, :c3987, :c3988, :c3989, :c3990, :c3991, :c3992, :c3993, :c3994, :c3995, :c3996, :c3997, :c3998, :c3999, :c4000, :c4001, :c4002, :c4003, :c4004, :c4005, :c4006, :c4007, :c4008, :c4009, :c4010, :c4011, :c4012, :c4013, :c4014, :c4015, :c4016, :c4017, :c4018, :c4019, :c4020, :c4021, :c4022, :c4023, :c4024, :c4025, :c4026, :c4027, :c4028, :c4029, :c4030, :c4031, :c4032, :c4033, :c4034, :c4035, :c4036, :c4037, :c4038, :c4039, :c4040, :c4041, :c4042, :c4043, :c4044, :c4045, :c4046, :c4047, :c4048, :c4049, :c4050, :c4051, :c4052, :c4053, :c4054, :c4055, :c4056, :c4057, :c4058, :c4059, :c4060, :c4061, :c4062, :c4063, :c4064, :c4065, :c4066, :c4067, :c4068, :c4069, :c4070, :c4071, :c4072, :c4073, :c4074, :c4075, :c4076, :c4077, :c4078, :c4079, :c4080, :c4081, :c4082, :c4083, :c4084, :c4085, :c4086, :c4087, :c4088, :c4089, :c4090, :c4091, :c4092, :c4093, :c4094, :c4095, :c4096, :c4097, :c4098, :c4099, :c4100, :c4101, :c4102, :c4103, :c4104, :c4105, :c4106, :c4107, :c4108, :c4109, :c4110, :c4111, :c4112, :c4113, :c4114, :c4115, :c4116, :c4117, :c4118, :c4119, :c4120, :c4121, :c4122, :c4123, :c4124, :c4125, :c4126, :c4127, :c4128, :c4129, :c4130, :c4131, :c4132, :c4133, :c4134, :c4135, :c4136, :c4137, :c4138, :c4139, :c4140, :c4141, :c4142, :c4143, :c4144, :c4145, :c4146, :c4147, :c4148, :c4149, :c4150, :c4151, :c4152, :c4153, :c4154, :c4155, :c4156, :c4157, :c4158, :c4159, :c4160, :c4161, :c4162, :c4163, :c4164, :c4165, :c4166, :c4167, :c4168, :c4169, :c4170, :c4171, :c4172, :c4173, :c4174, :c4175, :c4176, :c4177, :c4178, :c4179, :c4180, :c4181, :c4182, :c4183, :c4184, :c4185, :c4186, :c4187, :c4188, :c4189, :c4190, :c4191, :c4192, :c4193, :c4194, :c4195, :c4196, :c4197, :c4198, :c4199, :c4200, :c4201, :c4202, :c4203, :c4204, :c4205, :c4206, :c4207, :c4208, :c4209, :c4210, :c4211, :c4212, :c4213, :c4214, :c4215, :c4216, :c4217, :c4218, :c4219, :c4220, :c4221, :c4222, :c4223, :c4224, :c4225, :c4226, :c4227, :c4228, :c4229, :c4230, :c4231, :c4232, :c4233, :c4234, :c4235, :c4236, :c4237, :c4238, :c4239, :c4240, :c4241, :c4242, :c4243, :c4244, :c4245, :c4246, :c4247, :c4248, :c4249, :c4250, :c4251, :c4252, :c4253, :c4254, :c4255, :c4256, :c4257, :c4258, :c4259, :c4260, :c4261, :c4262, :c4263, :c4264, :c4265, :c4266, :c4267, :c4268, :c4269, :c4270, :c4271, :c4272, :c4273, :c4274, :c4275, :c4276, :c4277, :c4278, :c4279, :c4280, :c4281, :c4282, :c4283, :c4284, :c4285, :c4286, :c4287, :c4288, :c4289, :c4290, :c4291, :c4292, :c4293, :c4294, :c4295, :c4296, :c4297, :c4298, :c4299, :c4300, :c4301, :c4302, :c4303, :c4304, :c4305, :c4306, :c4307, :c4308, :c4309, :c4310, :c4311, :c4312, :c4313, :c4314, :c4315, :c4316, :c4317, :c4318, :c4319, :c4320, :c4321, :c4322, :c4323, :c4324, :c4325, :c4326, :c4327, :c4328, :c4329, :c4330, :c4331, :c4332, :c4333, :c4334, :c4335, :c4336, :c4337, :c4338, :c4339, :c4340, :c4341, :c4342, :c4343, :c4344, :c4345, :c4346, :c4347, :c4348, :c4349, :c4350, :c4351, :c4352, :c4353, :c4354, :c4355, :c4356, :c4357, :c4358, :c4359, :c4360, :c4361, :c4362, :c4363, :c4364, :c4365, :c4366, :c4367, :c4368, :c4369, :c4370, :c4371, :c4372, :c4373, :c4374, :c4375, :c4376, :c4377, :c4378, :c4379, :c4380, :c4381, :c4382, :c4383, :c4384, :c4385, :c4386, :c4387, :c4388, :c4389, :c4390, :c4391, :c4392, :c4393, :c4394, :c4395, :c4396, :c4397, :c4398, :c4399, :c4400, :c4401, :c4402, :c4403, :c4404, :c4405, :c4406, :c4407, :c4408, :c4409, :c4410, :c4411, :c4412, :c4413, :c4414, :c4415, :c4416, :c4417, :c4418, :c4419, :c4420, :c4421, :c4422, :c4423, :c4424, :c4425, :c4426, :c4427, :c4428, :c4429, :c4430, :c4431, :c4432, :c4433, :c4434, :c4435, :c4436, :c4437, :c4438, :c4439, :c4440, :c4441, :c4442, :c4443, :c4444, :c4445, :c4446, :c4447, :c4448, :c4449, :c4450, :c4451, :c4452, :c4453, :c4454, :c4455, :c4456, :c4457, :c4458, :c4459, :c4460, :c4461, :c4462, :c4463, :c4464, :c4465, :c4466, :c4467, :c4468, :c4469, :c4470, :c4471, :c4472, :c4473, :c4474, :c4475, :c4476, :c4477, :c4478, :c4479, :c4480, :c4481, :c4482, :c4483, :c4484, :c4485, :c4486, :c4487, :c4488, :c4489, :c4490, :c4491, :c4492, :c4493, :c4494, :c4495, :c4496, :c4497, :c4498, :c4499, :c4500, :c4501, :c4502, :c4503, :c4504, :c4505, :c4506, :c4507, :c4508, :c4509, :c4510, :c4511, :c4512, :c4513, :c4514, :c4515, :c4516, :c4517, :c4518, :c4519, :c4520, :c4521, :c4522, :c4523, :c4524, :c4525, :c4526, :c4527, :c4528, :c4529, :c4530, :c4531, :c4532, :c4533, :c4534, :c4535, :c4536, :c4537, :c4538, :c4539, :c4540, :c4541, :c4542, :c4543, :c4544, :c4545, :c4546, :c4547, :c4548, :c4549, :c4550, :c4551, :c4552, :c4553, :c4554, :c4555, :c4556, :c4557, :c4558, :c4559, :c4560, :c4561, :c4562, :c4563, :c4564, :c4565, :c4566, :c4567, :c4568, :c4569, :c4570, :c4571, :c4572, :c4573, :c4574, :c4575, :c4576, :c4577, :c4578, :c4579, :c4580, :c4581, :c4582, :c4583, :c4584, :c4585, :c4586, :c4587, :c4588, :c4589, :c4590, :c4591, :c4592, :c4593, :c4594, :c4595, :c4596, :c4597, :c4598, :c4599, :c4600, :c4601, :c4602, :c4603, :c4604, :c4605, :c4606, :c4607, :c4608, :c4609, :c4610, :c4611, :c4612, :c4613, :c4614, :c4615, :c4616, :c4617, :c4618, :c4619, :c4620, :c4621, :c4622, :c4623, :c4624, :c4625, :c4626, :c4627, :c4628, :c4629, :c4630, :c4631, :c4632, :c4633, :c4634, :c4635, :c4636, :c4637, :c4638, :c4639, :c4640, :c4641, :c4642, :c4643, :c4644, :c4645, :c4646, :c4647, :c4648, :c4649, :c4650, :c4651, :c4652, :c4653, :c4654, :c4655, :c4656, :c4657, :c4658, :c4659, :c4660, :c4661, :c4662, :c4663, :c4664, :c4665, :c4666, :c4667, :c4668, :c4669, :c4670, :c4671, :c4672, :c4673, :c4674, :c4675, :c4676, :c4677, :c4678, :c4679, :c4680, :c4681, :c4682, :c4683, :c4684, :c4685, :c4686, :c4687, :c4688, :c4689, :c4690, :c4691, :c4692, :c4693, :c4694, :c4695, :c4696, :c4697, :c4698, :c4699, :c4700, :c4701, :c4702, :c4703, :c4704, :c4705, :c4706, :c4707, :c4708, :c4709, :c4710, :c4711, :c4712, :c4713, :c4714, :c4715, :c4716, :c4717, :c4718, :c4719, :c4720, :c4721, :c4722, :c4723, :c4724, :c4725, :c4726, :c4727, :c4728, :c4729, :c4730, :c4731, :c4732, :c4733, :c4734, :c4735, :c4736, :c4737, :c4738, :c4739, :c4740, :c4741, :c4742, :c4743, :c4744, :c4745, :c4746, :c4747, :c4748, :c4749, :c4750, :c4751, :c4752, :c4753, :c4754, :c4755, :c4756, :c4757, :c4758, :c4759, :c4760, :c4761, :c4762, :c4763, :c4764, :c4765, :c4766, :c4767, :c4768, :c4769, :c4770, :c4771, :c4772, :c4773, :c4774, :c4775, :c4776, :c4777, :c4778, :c4779, :c4780, :c4781, :c4782, :c4783, :c4784, :c4785, :c4786, :c4787, :c4788, :c4789, :c4790, :c4791, :c4792, :c4793, :c4794, :c4795, :c4796, :c4797, :c4798, :c4799, :c4800, :c4801, :c4802, :c4803, :c4804, :c4805, :c4806, :c4807, :c4808, :c4809, :c4810, :c4811, :c4812, :c4813, :c4814, :c4815, :c4816, :c4817, :c4818, :c4819, :c4820, :c4821, :c4822, :c4823, :c4824, :c4825, :c4826, :c4827, :c4828, :c4829, :c4830, :c4831, :c4832, :c4833, :c4834, :c4835, :c4836, :c4837, :c4838, :c4839, :c4840, :c4841, :c4842, :c4843, :c4844, :c4845, :c4846, :c4847, :c4848, :c4849, :c4850, :c4851, :c4852, :c4853, :c4854, :c4855, :c4856, :c4857, :c4858, :c4859, :c4860, :c4861, :c4862, :c4863, :c4864, :c4865, :c4866, :c4867, :c4868, :c4869, :c4870, :c4871, :c4872, :c4873, :c4874, :c4875, :c4876, :c4877, :c4878, :c4879, :c4880, :c4881, :c4882, :c4883, :c4884, :c4885, :c4886, :c4887, :c4888, :c4889, :c4890, :c4891, :c4892, :c4893, :c4894, :c4895, :c4896, :c4897, :c4898, :c4899, :c4900, :c4901, :c4902, :c4903, :c4904, :c4905, :c4906, :c4907, :c4908, :c4909, :c4910, :c4911, :c4912, :c4913, :c4914, :c4915, :c4916, :c4917, :c4918, :c4919, :c4920, :c4921, :c4922, :c4923, :c4924, :c4925, :c4926, :c4927, :c4928, :c4929, :c4930, :c4931, :c4932, :c4933, :c4934, :c4935, :c4936, :c4937, :c4938, :c4939, :c4940, :c4941, :c4942, :c4943, :c4944, :c4945, :c4946, :c4947, :c4948, :c4949, :c4950, :c4951, :c4952, :c4953, :c4954, :c4955, :c4956, :c4957, :c4958, :c4959, :c4960, :c4961, :c4962, :c4963, :c4964, :c4965, :c4966, :c4967, :c4968, :c4969, :c4970, :c4971, :c4972, :c4973, :c4974, :c4975, :c4976, :c4977, :c4978, :c4979, :c4980, :c4981, :c4982, :c4983, :c4984, :c4985, :c4986, :c4987, :c4988, :c4989, :c4990, :c4991, :c4992, :c4993, :c4994, :c4995, :c4996, :c4997, :c4998, :c4999, :c5000, :c5001, :c5002, :c5003, :c5004, :c5005, :c5006, :c5007, :c5008, :c5009, :c5010, :c5011, :c5012, :c5013, :c5014, :c5015, :c5016, :c5017, :c5018, :c5019, :c5020, :c5021, :c5022, :c5023, :c5024, :c5025, :c5026, :c5027, :c5028, :c5029, :c5030, :c5031, :c5032, :c5033, :c5034, :c5035, :c5036, :c5037, :c5038, :c5039, :c5040, :c5041, :c5042, :c5043, :c5044, :c5045, :c5046, :c5047, :c5048, :c5049, :c5050, :c5051, :c5052, :c5053, :c5054, :c5055, :c5056, :c5057, :c5058, :c5059, :c5060, :c5061, :c5062, :c5063, :c5064, :c5065, :c5066, :c5067, :c5068, :c5069, :c5070, :c5071, :c5072, :c5073, :c5074, :c5075, :c5076, :c5077, :c5078, :c5079, :c5080, :c5081, :c5082, :c5083, :c5084, :c5085, :c5086, :c5087, :c5088, :c5089, :c5090, :c5091, :c5092, :c5093, :c5094, :c5095, :c5096, :c5097, :c5098, :c5099, :c5100, :c5101, :c5102, :c5103, :c5104, :c5105, :c5106, :c5107, :c5108, :c5109, :c5110, :c5111, :c5112, :c5113, :c5114, :c5115, :c5116, :c5117, :c5118, :c5119, :c5120, :c5121, :c5122, :c5123, :c5124, :c5125, :c5126, :c5127, :c5128, :c5129, :c5130, :c5131, :c5132, :c5133, :c5134, :c5135, :c5136, :c5137, :c5138, :c5139, :c5140, :c5141, :c5142, :c5143, :c5144, :c5145, :c5146, :c5147, :c5148, :c5149, :c5150, :c5151, :c5152, :c5153, :c5154, :c5155, :c5156, :c5157, :c5158, :c5159, :c5160, :c5161, :c5162, :c5163, :c5164, :c5165, :c5166, :c5167, :c5168, :c5169, :c5170, :c5171, :c5172, :c5173, :c5174, :c5175, :c5176, :c5177, :c5178, :c5179, :c5180, :c5181, :c5182, :c5183, :c5184, :c5185, :c5186, :c5187, :c5188, :c5189, :c5190, :c5191, :c5192, :c5193, :c5194, :c5195, :c5196, :c5197, :c5198, :c5199, :c5200, :c5201, :c5202, :c5203, :c5204, :c5205, :c5206, :c5207, :c5208, :c5209, :c5210, :c5211, :c5212, :c5213, :c5214, :c5215, :c5216, :c5217, :c5218, :c5219, :c5220, :c5221, :c5222, :c5223, :c5224, :c5225, :c5226, :c5227, :c5228, :c5229, :c5230, :c5231, :c5232, :c5233, :c5234, :c5235, :c5236, :c5237, :c5238, :c5239, :c5240, :c5241, :c5242, :c5243, :c5244, :c5245, :c5246, :c5247, :c5248, :c5249, :c5250, :c5251, :c5252, :c5253, :c5254, :c5255, :c5256, :c5257, :c5258, :c5259, :c5260, :c5261, :c5262, :c5263, :c5264, :c5265, :c5266, :c5267, :c5268, :c5269, :c5270, :c5271, :c5272, :c5273, :c5274, :c5275, :c5276, :c5277, :c5278, :c5279, :c5280, :c5281, :c5282, :c5283, :c5284, :c5285, :c5286, :c5287, :c5288, :c5289, :c5290, :c5291, :c5292, :c5293, :c5294, :c5295, :c5296, :c5297, :c5298, :c5299, :c5300, :c5301, :c5302, :c5303, :c5304, :c5305, :c5306, :c5307, :c5308, :c5309, :c5310, :c5311, :c5312, :c5313, :c5314, :c5315, :c5316, :c5317, :c5318, :c5319, :c5320, :c5321, :c5322, :c5323, :c5324, :c5325, :c5326, :c5327, :c5328, :c5329, :c5330, :c5331, :c5332, :c5333, :c5334, :c5335, :c5336, :c5337, :c5338, :c5339, :c5340, :c5341, :c5342, :c5343, :c5344, :c5345, :c5346, :c5347, :c5348, :c5349, :c5350, :c5351, :c5352, :c5353, :c5354, :c5355, :c5356, :c5357, :c5358, :c5359, :c5360, :c5361, :c5362, :c5363, :c5364, :c5365, :c5366, :c5367, :c5368, :c5369, :c5370, :c5371, :c5372, :c5373, :c5374, :c5375, :c5376, :c5377, :c5378, :c5379, :c5380, :c5381, :c5382, :c5383, :c5384, :c5385, :c5386, :c5387, :c5388, :c5389, :c5390, :c5391, :c5392, :c5393, :c5394, :c5395, :c5396, :c5397, :c5398, :c5399, :c5400, :c5401, :c5402, :c5403, :c5404, :c5405, :c5406, :c5407, :c5408, :c5409, :c5410, :c5411, :c5412, :c5413, :c5414, :c5415, :c5416, :c5417, :c5418, :c5419, :c5420, :c5421, :c5422, :c5423, :c5424, :c5425, :c5426, :c5427, :c5428, :c5429, :c5430, :c5431, :c5432, :c5433, :c5434, :c5435, :c5436, :c5437, :c5438, :c5439, :c5440, :c5441, :c5442, :c5443, :c5444, :c5445, :c5446, :c5447, :c5448, :c5449, :c5450, :c5451, :c5452, :c5453, :c5454, :c5455, :c5456, :c5457, :c5458, :c5459, :c5460, :c5461, :c5462, :c5463, :c5464, :c5465, :c5466, :c5467, :c5468, :c5469, :c5470, :c5471, :c5472, :c5473, :c5474, :c5475, :c5476, :c5477, :c5478, :c5479, :c5480, :c5481, :c5482, :c5483, :c5484, :c5485, :c5486, :c5487, :c5488, :c5489, :c5490, :c5491, :c5492, :c5493, :c5494, :c5495, :c5496, :c5497, :c5498, :c5499, :c5500, :c5501, :c5502, :c5503, :c5504, :c5505, :c5506, :c5507, :c5508, :c5509, :c5510, :c5511, :c5512, :c5513, :c5514, :c5515, :c5516, :c5517, :c5518, :c5519, :c5520, :c5521, :c5522, :c5523, :c5524, :c5525, :c5526, :c5527, :c5528, :c5529, :c5530, :c5531, :c5532, :c5533, :c5534, :c5535, :c5536, :c5537, :c5538, :c5539, :c5540, :c5541, :c5542, :c5543, :c5544, :c5545, :c5546, :c5547, :c5548, :c5549, :c5550, :c5551, :c5552, :c5553, :c5554, :c5555, :c5556, :c5557, :c5558, :c5559, :c5560, :c5561, :c5562, :c5563, :c5564, :c5565, :c5566, :c5567, :c5568, :c5569, :c5570, :c5571, :c5572, :c5573, :c5574, :c5575, :c5576, :c5577, :c5578, :c5579, :c5580, :c5581, :c5582, :c5583, :c5584, :c5585, :c5586, :c5587, :c5588, :c5589, :c5590, :c5591, :c5592, :c5593, :c5594, :c5595, :c5596, :c5597, :c5598, :c5599, :c5600, :c5601, :c5602, :c5603, :c5604, :c5605, :c5606, :c5607, :c5608, :c5609, :c5610, :c5611, :c5612, :c5613, :c5614, :c5615, :c5616, :c5617, :c5618, :c5619, :c5620, :c5621, :c5622, :c5623, :c5624, :c5625, :c5626, :c5627, :c5628, :c5629, :c5630, :c5631, :c5632, :c5633, :c5634, :c5635, :c5636, :c5637, :c5638, :c5639, :c5640, :c5641, :c5642, :c5643, :c5644, :c5645, :c5646, :c5647, :c5648, :c5649, :c5650, :c5651, :c5652, :c5653, :c5654, :c5655, :c5656, :c5657, :c5658, :c5659, :c5660, :c5661, :c5662, :c5663, :c5664, :c5665, :c5666, :c5667, :c5668, :c5669, :c5670, :c5671, :c5672, :c5673, :c5674, :c5675, :c5676, :c5677, :c5678, :c5679, :c5680, :c5681, :c5682, :c5683, :c5684, :c5685, :c5686, :c5687, :c5688, :c5689, :c5690, :c5691, :c5692, :c5693, :c5694, :c5695, :c5696, :c5697, :c5698, :c5699, :c5700, :c5701, :c5702, :c5703, :c5704, :c5705, :c5706, :c5707, :c5708, :c5709, :c5710, :c5711, :c5712, :c5713, :c5714, :c5715, :c5716, :c5717, :c5718, :c5719, :c5720, :c5721, :c5722, :c5723, :c5724, :c5725, :c5726, :c5727, :c5728, :c5729, :c5730, :c5731, :c5732, :c5733, :c5734, :c5735, :c5736, :c5737, :c5738, :c5739, :c5740, :c5741, :c5742, :c5743, :c5744, :c5745, :c5746, :c5747, :c5748, :c5749, :c5750, :c5751, :c5752, :c5753, :c5754, :c5755, :c5756, :c5757, :c5758, :c5759, :c5760, :c5761, :c5762, :c5763, :c5764, :c5765, :c5766, :c5767, :c5768, :c5769, :c5770, :c5771, :c5772, :c5773, :c5774, :c5775, :c5776, :c5777, :c5778, :c5779, :c5780, :c5781, :c5782, :c5783, :c5784, :c5785, :c5786, :c5787, :c5788, :c5789, :c5790, :c5791, :c5792, :c5793, :c5794, :c5795, :c5796, :c5797, :c5798, :c5799, :c5800, :c5801, :c5802, :c5803, :c5804, :c5805, :c5806, :c5807, :c5808, :c5809, :c5810, :c5811, :c5812, :c5813, :c5814, :c5815, :c5816, :c5817, :c5818, :c5819, :c5820, :c5821, :c5822, :c5823, :c5824, :c5825, :c5826, :c5827, :c5828, :c5829, :c5830, :c5831, :c5832, :c5833, :c5834, :c5835, :c5836, :c5837, :c5838, :c5839, :c5840, :c5841, :c5842, :c5843, :c5844, :c5845, :c5846, :c5847, :c5848, :c5849, :c5850, :c5851, :c5852, :c5853, :c5854, :c5855, :c5856, :c5857, :c5858, :c5859, :c5860, :c5861, :c5862, :c5863, :c5864, :c5865, :c5866, :c5867, :c5868, :c5869, :c5870, :c5871, :c5872, :c5873, :c5874, :c5875, :c5876, :c5877, :c5878, :c5879, :c5880, :c5881, :c5882, :c5883, :c5884, :c5885, :c5886, :c5887, :c5888, :c5889, :c5890, :c5891, :c5892, :c5893, :c5894, :c5895, :c5896, :c5897, :c5898, :c5899, :c5900, :c5901, :c5902, :c5903, :c5904, :c5905, :c5906, :c5907, :c5908, :c5909, :c5910, :c5911, :c5912, :c5913, :c5914, :c5915, :c5916, :c5917, :c5918, :c5919, :c5920, :c5921, :c5922, :c5923, :c5924, :c5925, :c5926, :c5927, :c5928, :c5929, :c5930, :c5931, :c5932, :c5933, :c5934, :c5935, :c5936, :c5937, :c5938, :c5939, :c5940, :c5941, :c5942, :c5943, :c5944, :c5945, :c5946, :c5947, :c5948, :c5949, :c5950, :c5951, :c5952, :c5953, :c5954, :c5955, :c5956, :c5957, :c5958, :c5959, :c5960, :c5961, :c5962, :c5963, :c5964, :c5965, :c5966, :c5967, :c5968, :c5969, :c5970, :c5971, :c5972, :c5973, :c5974, :c5975, :c5976, :c5977, :c5978, :c5979, :c5980, :c5981, :c5982, :c5983, :c5984, :c5985, :c5986, :c5987, :c5988, :c5989, :c5990, :c5991, :c5992, :c5993, :c5994, :c5995, :c5996, :c5997, :c5998, :c5999, :c6000, :c6001, :c6002, :c6003, :c6004, :c6005, :c6006, :c6007, :c6008, :c6009, :c6010, :c6011, :c6012, :c6013, :c6014, :c6015, :c6016, :c6017, :c6018, :c6019, :c6020, :c6021, :c6022, :c6023, :c6024, :c6025, :c6026, :c6027, :c6028, :c6029, :c6030, :c6031, :c6032, :c6033, :c6034, :c6035, :c6036, :c6037, :c6038, :c6039, :c6040, :c6041, :c6042, :c6043, :c6044, :c6045, :c6046, :c6047, :c6048, :c6049, :c6050, :c6051, :c6052, :c6053, :c6054, :c6055, :c6056, :c6057, :c6058, :c6059, :c6060, :c6061, :c6062, :c6063, :c6064, :c6065, :c6066, :c6067, :c6068, :c6069, :c6070, :c6071, :c6072, :c6073, :c6074, :c6075, :c6076, :c6077, :c6078, :c6079, :c6080, :c6081, :c6082, :c6083, :c6084, :c6085, :c6086, :c6087, :c6088, :c6089, :c6090, :c6091, :c6092, :c6093, :c6094, :c6095, :c6096, :c6097, :c6098, :c6099, :c6100, :c6101, :c6102, :c6103, :c6104, :c6105, :c6106, :c6107, :c6108, :c6109, :c6110, :c6111, :c6112, :c6113, :c6114, :c6115, :c6116, :c6117, :c6118, :c6119, :c6120, :c6121, :c6122, :c6123, :c6124, :c6125, :c6126, :c6127, :c6128, :c6129, :c6130, :c6131, :c6132, :c6133, :c6134, :c6135, :c6136, :c6137, :c6138, :c6139, :c6140, :c6141, :c6142, :c6143, :c6144, :c6145, :c6146, :c6147, :c6148, :c6149, :c6150, :c6151, :c6152, :c6153, :c6154, :c6155, :c6156, :c6157, :c6158, :c6159, :c6160, :c6161, :c6162, :c6163, :c6164, :c6165, :c6166, :c6167, :c6168, :c6169, :c6170, :c6171, :c6172, :c6173, :c6174, :c6175, :c6176, :c6177, :c6178, :c6179, :c6180, :c6181, :c6182, :c6183, :c6184, :c6185, :c6186, :c6187, :c6188, :c6189, :c6190, :c6191, :c6192, :c6193, :c6194, :c6195, :c6196, :c6197, :c6198, :c6199, :c6200, :c6201, :c6202, :c6203, :c6204, :c6205, :c6206, :c6207, :c6208, :c6209, :c6210, :c6211, :c6212, :c6213, :c6214, :c6215, :c6216, :c6217, :c6218, :c6219, :c6220, :c6221, :c6222, :c6223, :c6224, :c6225, :c6226, :c6227, :c6228, :c6229, :c6230, :c6231, :c6232, :c6233, :c6234, :c6235, :c6236, :c6237, :c6238, :c6239, :c6240, :c6241, :c6242, :c6243, :c6244, :c6245, :c6246, :c6247, :c6248, :c6249, :c6250, :c6251, :c6252, :c6253, :c6254, :c6255, :c6256, :c6257, :c6258, :c6259, :c6260, :c6261, :c6262, :c6263, :c6264, :c6265, :c6266, :c6267, :c6268, :c6269, :c6270, :c6271, :c6272, :c6273, :c6274, :c6275, :c6276, :c6277, :c6278, :c6279, :c6280, :c6281, :c6282, :c6283, :c6284, :c6285, :c6286, :c6287, :c6288, :c6289, :c6290, :c6291, :c6292, :c6293, :c6294, :c6295, :c6296, :c6297, :c6298, :c6299, :c6300, :c6301, :c6302, :c6303, :c6304, :c6305, :c6306, :c6307, :c6308, :c6309, :c6310, :c6311, :c6312, :c6313, :c6314, :c6315, :c6316, :c6317, :c6318, :c6319, :c6320, :c6321, :c6322, :c6323, :c6324, :c6325, :c6326, :c6327, :c6328, :c6329, :c6330, :c6331, :c6332, :c6333, :c6334, :c6335, :c6336, :c6337, :c6338, :c6339, :c6340, :c6341, :c6342, :c6343, :c6344, :c6345, :c6346, :c6347, :c6348, :c6349, :c6350, :c6351, :c6352, :c6353, :c6354, :c6355, :c6356, :c6357, :c6358, :c6359, :c6360, :c6361, :c6362, :c6363, :c6364, :c6365, :c6366, :c6367, :c6368, :c6369, :c6370, :c6371, :c6372, :c6373, :c6374, :c6375, :c6376, :c6377, :c6378, :c6379, :c6380, :c6381, :c6382, :c6383, :c6384, :c6385, :c6386, :c6387, :c6388, :c6389, :c6390, :c6391, :c6392, :c6393, :c6394, :c6395, :c6396, :c6397, :c6398, :c6399, :c6400, :c6401, :c6402, :c6403, :c6404, :c6405, :c6406, :c6407, :c6408, :c6409, :c6410, :c6411, :c6412, :c6413, :c6414, :c6415, :c6416, :c6417, :c6418, :c6419, :c6420, :c6421, :c6422, :c6423, :c6424, :c6425, :c6426, :c6427, :c6428, :c6429, :c6430, :c6431, :c6432, :c6433, :c6434, :c6435, :c6436, :c6437, :c6438, :c6439, :c6440, :c6441, :c6442, :c6443, :c6444, :c6445, :c6446, :c6447, :c6448, :c6449, :c6450, :c6451, :c6452, :c6453, :c6454, :c6455, :c6456, :c6457, :c6458, :c6459, :c6460, :c6461, :c6462, :c6463, :c6464, :c6465, :c6466, :c6467, :c6468, :c6469, :c6470, :c6471, :c6472, :c6473, :c6474, :c6475, :c6476, :c6477, :c6478, :c6479, :c6480, :c6481, :c6482, :c6483, :c6484, :c6485, :c6486, :c6487, :c6488, :c6489, :c6490, :c6491, :c6492, :c6493, :c6494, :c6495, :c6496, :c6497, :c6498, :c6499, :c6500, :c6501, :c6502, :c6503, :c6504, :c6505, :c6506, :c6507, :c6508, :c6509, :c6510, :c6511, :c6512, :c6513, :c6514, :c6515, :c6516, :c6517, :c6518, :c6519, :c6520, :c6521, :c6522, :c6523, :c6524, :c6525, :c6526, :c6527, :c6528, :c6529, :c6530, :c6531, :c6532, :c6533, :c6534, :c6535, :c6536, :c6537, :c6538, :c6539, :c6540, :c6541, :c6542, :c6543, :c6544, :c6545, :c6546, :c6547, :c6548, :c6549, :c6550, :c6551, :c6552, :c6553, :c6554, :c6555, :c6556, :c6557, :c6558, :c6559, :c6560, :c6561, :c6562, :c6563, :c6564, :c6565, :c6566, :c6567, :c6568, :c6569, :c6570, :c6571, :c6572, :c6573, :c6574, :c6575, :c6576, :c6577, :c6578, :c6579, :c6580, :c6581, :c6582, :c6583, :c6584, :c6585, :c6586, :c6587, :c6588, :c6589, :c6590, :c6591, :c6592, :c6593, :c6594, :c6595, :c6596, :c6597, :c6598, :c6599, :c6600, :c6601, :c6602, :c6603, :c6604, :c6605, :c6606, :c6607, :c6608, :c6609, :c6610, :c6611, :c6612, :c6613, :c6614, :c6615, :c6616, :c6617, :c6618, :c6619, :c6620, :c6621, :c6622, :c6623, :c6624, :c6625, :c6626, :c6627, :c6628, :c6629, :c6630, :c6631, :c6632, :c6633, :c6634, :c6635, :c6636, :c6637, :c6638, :c6639, :c6640, :c6641, :c6642, :c6643, :c6644, :c6645, :c6646, :c6647, :c6648, :c6649, :c6650, :c6651, :c6652, :c6653, :c6654, :c6655, :c6656, :c6657, :c6658, :c6659, :c6660, :c6661, :c6662, :c6663, :c6664, :c6665, :c6666, :c6667, :c6668, :c6669, :c6670, :c6671, :c6672, :c6673, :c6674, :c6675, :c6676, :c6677, :c6678, :c6679, :c6680, :c6681, :c6682, :c6683, :c6684, :c6685, :c6686, :c6687, :c6688, :c6689, :c6690, :c6691, :c6692, :c6693, :c6694, :c6695, :c6696, :c6697, :c6698, :c6699, :c6700, :c6701, :c6702, :c6703, :c6704, :c6705, :c6706, :c6707, :c6708, :c6709, :c6710, :c6711, :c6712, :c6713, :c6714, :c6715, :c6716, :c6717, :c6718, :c6719, :c6720, :c6721, :c6722, :c6723, :c6724, :c6725, :c6726, :c6727, :c6728, :c6729, :c6730, :c6731, :c6732, :c6733, :c6734, :c6735, :c6736, :c6737, :c6738, :c6739, :c6740, :c6741, :c6742, :c6743, :c6744, :c6745, :c6746, :c6747, :c6748, :c6749, :c6750, :c6751, :c6752, :c6753, :c6754, :c6755, :c6756, :c6757, :c6758, :c6759, :c6760, :c6761, :c6762, :c6763, :c6764, :c6765, :c6766, :c6767, :c6768, :c6769, :c6770, :c6771, :c6772, :c6773, :c6774, :c6775, :c6776, :c6777, :c6778, :c6779, :c6780, :c6781, :c6782, :c6783, :c6784, :c6785, :c6786, :c6787, :c6788, :c6789, :c6790, :c6791, :c6792, :c6793, :c6794, :c6795, :c6796, :c6797, :c6798, :c6799, :c6800, :c6801, :c6802, :c6803, :c6804, :c6805, :c6806, :c6807, :c6808, :c6809, :c6810, :c6811, :c6812, :c6813, :c6814, :c6815, :c6816, :c6817, :c6818, :c6819, :c6820, :c6821, :c6822, :c6823, :c6824, :c6825, :c6826, :c6827, :c6828, :c6829, :c6830, :c6831, :c6832, :c6833, :c6834, :c6835, :c6836, :c6837, :c6838, :c6839, :c6840, :c6841, :c6842, :c6843, :c6844, :c6845, :c6846, :c6847, :c6848, :c6849, :c6850, :c6851, :c6852, :c6853, :c6854, :c6855, :c6856, :c6857, :c6858, :c6859, :c6860, :c6861, :c6862, :c6863, :c6864, :c6865, :c6866, :c6867, :c6868, :c6869, :c6870, :c6871, :c6872, :c6873, :c6874, :c6875, :c6876, :c6877, :c6878, :c6879, :c6880, :c6881, :c6882, :c6883, :c6884, :c6885, :c6886, :c6887, :c6888, :c6889, :c6890, :c6891, :c6892, :c6893, :c6894, :c6895, :c6896, :c6897, :c6898, :c6899, :c6900, :c6901, :c6902, :c6903, :c6904, :c6905, :c6906, :c6907, :c6908, :c6909, :c6910, :c6911, :c6912, :c6913, :c6914, :c6915, :c6916, :c6917, :c6918, :c6919, :c6920, :c6921, :c6922, :c6923, :c6924, :c6925, :c6926, :c6927, :c6928, :c6929, :c6930, :c6931, :c6932, :c6933, :c6934, :c6935, :c6936, :c6937, :c6938, :c6939, :c6940, :c6941, :c6942, :c6943, :c6944, :c6945, :c6946, :c6947, :c6948, :c6949, :c6950, :c6951, :c6952, :c6953, :c6954, :c6955, :c6956, :c6957, :c6958, :c6959, :c6960, :c6961, :c6962, :c6963, :c6964, :c6965, :c6966, :c6967, :c6968, :c6969, :c6970, :c6971, :c6972, :c6973, :c6974, :c6975, :c6976, :c6977, :c6978, :c6979, :c6980, :c6981, :c6982, :c6983, :c6984, :c6985, :c6986, :c6987, :c6988, :c6989, :c6990, :c6991, :c6992, :c6993, :c6994, :c6995, :c6996, :c6997, :c6998, :c6999, :c7000, :c7001, :c7002, :c7003, :c7004, :c7005, :c7006, :c7007, :c7008, :c7009, :c7010, :c7011, :c7012, :c7013, :c7014, :c7015, :c7016, :c7017, :c7018, :c7019, :c7020, :c7021, :c7022, :c7023, :c7024, :c7025, :c7026, :c7027, :c7028, :c7029, :c7030, :c7031, :c7032, :c7033, :c7034, :c7035, :c7036, :c7037, :c7038, :c7039, :c7040, :c7041, :c7042, :c7043, :c7044, :c7045, :c7046, :c7047, :c7048, :c7049, :c7050, :c7051, :c7052, :c7053, :c7054, :c7055, :c7056, :c7057, :c7058, :c7059, :c7060, :c7061, :c7062, :c7063, :c7064, :c7065, :c7066, :c7067, :c7068, :c7069, :c7070, :c7071, :c7072, :c7073, :c7074, :c7075, :c7076, :c7077, :c7078, :c7079, :c7080, :c7081, :c7082, :c7083, :c7084, :c7085, :c7086, :c7087, :c7088, :c7089, :c7090, :c7091, :c7092, :c7093, :c7094, :c7095, :c7096, :c7097, :c7098, :c7099, :c7100, :c7101, :c7102, :c7103, :c7104, :c7105, :c7106, :c7107, :c7108, :c7109, :c7110, :c7111, :c7112, :c7113, :c7114, :c7115, :c7116, :c7117, :c7118, :c7119, :c7120, :c7121, :c7122, :c7123, :c7124, :c7125, :c7126, :c7127, :c7128, :c7129, :c7130, :c7131, :c7132, :c7133, :c7134, :c7135, :c7136, :c7137, :c7138, :c7139, :c7140, :c7141, :c7142, :c7143, :c7144, :c7145, :c7146, :c7147, :c7148, :c7149, :c7150, :c7151, :c7152, :c7153, :c7154, :c7155, :c7156, :c7157, :c7158, :c7159, :c7160, :c7161, :c7162, :c7163, :c7164, :c7165, :c7166, :c7167, :c7168, :c7169, :c7170, :c7171, :c7172, :c7173, :c7174, :c7175, :c7176, :c7177, :c7178, :c7179, :c7180, :c7181, :c7182, :c7183, :c7184, :c7185, :c7186, :c7187, :c7188, :c7189, :c7190, :c7191, :c7192, :c7193, :c7194, :c7195, :c7196, :c7197, :c7198, :c7199, :c7200, :c7201, :c7202, :c7203, :c7204, :c7205, :c7206, :c7207, :c7208, :c7209, :c7210, :c7211, :c7212, :c7213, :c7214, :c7215, :c7216, :c7217, :c7218, :c7219, :c7220, :c7221, :c7222, :c7223, :c7224, :c7225, :c7226, :c7227, :c7228, :c7229, :c7230, :c7231, :c7232, :c7233, :c7234, :c7235, :c7236, :c7237, :c7238, :c7239, :c7240, :c7241, :c7242, :c7243, :c7244, :c7245, :c7246, :c7247, :c7248, :c7249, :c7250, :c7251, :c7252, :c7253, :c7254, :c7255, :c7256, :c7257, :c7258, :c7259, :c7260, :c7261, :c7262, :c7263, :c7264, :c7265, :c7266, :c7267, :c7268, :c7269, :c7270, :c7271, :c7272, :c7273, :c7274, :c7275, :c7276, :c7277, :c7278, :c7279, :c7280, :c7281, :c7282, :c7283, :c7284, :c7285, :c7286, :c7287, :c7288, :c7289, :c7290, :c7291, :c7292, :c7293, :c7294, :c7295, :c7296, :c7297, :c7298, :c7299, :c7300, :c7301, :c7302, :c7303, :c7304, :c7305, :c7306, :c7307, :c7308, :c7309, :c7310, :c7311, :c7312, :c7313, :c7314, :c7315, :c7316, :c7317, :c7318, :c7319, :c7320, :c7321, :c7322, :c7323, :c7324, :c7325, :c7326, :c7327, :c7328, :c7329, :c7330, :c7331, :c7332, :c7333, :c7334, :c7335, :c7336, :c7337, :c7338, :c7339, :c7340, :c7341, :c7342, :c7343, :c7344, :c7345, :c7346, :c7347, :c7348, :c7349, :c7350, :c7351, :c7352, :c7353, :c7354, :c7355, :c7356, :c7357, :c7358, :c7359, :c7360, :c7361, :c7362, :c7363, :c7364, :c7365, :c7366, :c7367, :c7368, :c7369, :c7370, :c7371, :c7372, :c7373, :c7374, :c7375, :c7376, :c7377, :c7378, :c7379, :c7380, :c7381, :c7382, :c7383, :c7384, :c7385, :c7386, :c7387, :c7388, :c7389, :c7390, :c7391, :c7392, :c7393, :c7394, :c7395, :c7396, :c7397, :c7398, :c7399, :c7400, :c7401, :c7402, :c7403, :c7404, :c7405, :c7406, :c7407, :c7408, :c7409, :c7410, :c7411, :c7412, :c7413, :c7414, :c7415, :c7416, :c7417, :c7418, :c7419, :c7420, :c7421, :c7422, :c7423, :c7424, :c7425, :c7426, :c7427, :c7428, :c7429, :c7430, :c7431, :c7432, :c7433, :c7434, :c7435, :c7436, :c7437, :c7438, :c7439, :c7440, :c7441, :c7442, :c7443, :c7444, :c7445, :c7446, :c7447, :c7448, :c7449, :c7450, :c7451, :c7452, :c7453, :c7454, :c7455, :c7456, :c7457, :c7458, :c7459, :c7460, :c7461, :c7462, :c7463, :c7464, :c7465, :c7466, :c7467, :c7468, :c7469, :c7470, :c7471, :c7472, :c7473, :c7474, :c7475, :c7476, :c7477, :c7478, :c7479, :c7480, :c7481, :c7482, :c7483, :c7484, :c7485, :c7486, :c7487, :c7488, :c7489, :c7490, :c7491, :c7492, :c7493, :c7494, :c7495, :c7496, :c7497, :c7498, :c7499, :c7500, :c7501, :c7502, :c7503, :c7504, :c7505, :c7506, :c7507, :c7508, :c7509, :c7510, :c7511, :c7512, :c7513, :c7514, :c7515, :c7516, :c7517, :c7518, :c7519, :c7520, :c7521, :c7522, :c7523, :c7524, :c7525, :c7526, :c7527, :c7528, :c7529, :c7530, :c7531, :c7532, :c7533, :c7534, :c7535, :c7536, :c7537, :c7538, :c7539, :c7540, :c7541, :c7542, :c7543, :c7544, :c7545, :c7546, :c7547, :c7548, :c7549, :c7550, :c7551, :c7552, :c7553, :c7554, :c7555, :c7556, :c7557, :c7558, :c7559, :c7560, :c7561, :c7562, :c7563, :c7564, :c7565, :c7566, :c7567, :c7568, :c7569, :c7570, :c7571, :c7572, :c7573, :c7574, :c7575, :c7576, :c7577, :c7578, :c7579, :c7580, :c7581, :c7582, :c7583, :c7584, :c7585, :c7586, :c7587, :c7588, :c7589, :c7590, :c7591, :c7592, :c7593, :c7594, :c7595, :c7596, :c7597, :c7598, :c7599, :c7600, :c7601, :c7602, :c7603, :c7604, :c7605, :c7606, :c7607, :c7608, :c7609, :c7610, :c7611, :c7612, :c7613, :c7614, :c7615, :c7616, :c7617, :c7618, :c7619, :c7620, :c7621, :c7622, :c7623, :c7624, :c7625, :c7626, :c7627, :c7628, :c7629, :c7630, :c7631, :c7632, :c7633, :c7634, :c7635, :c7636, :c7637, :c7638, :c7639, :c7640, :c7641, :c7642, :c7643, :c7644, :c7645, :c7646, :c7647, :c7648, :c7649, :c7650, :c7651, :c7652, :c7653, :c7654, :c7655, :c7656, :c7657, :c7658, :c7659, :c7660, :c7661, :c7662, :c7663, :c7664, :c7665, :c7666, :c7667, :c7668, :c7669, :c7670, :c7671, :c7672, :c7673, :c7674, :c7675, :c7676, :c7677, :c7678, :c7679, :c7680, :c7681, :c7682, :c7683, :c7684, :c7685, :c7686, :c7687, :c7688, :c7689, :c7690, :c7691, :c7692, :c7693, :c7694, :c7695, :c7696, :c7697, :c7698, :c7699, :c7700, :c7701, :c7702, :c7703, :c7704, :c7705, :c7706, :c7707, :c7708, :c7709, :c7710, :c7711, :c7712, :c7713, :c7714, :c7715, :c7716, :c7717, :c7718, :c7719, :c7720, :c7721, :c7722, :c7723, :c7724, :c7725, :c7726, :c7727, :c7728, :c7729, :c7730, :c7731, :c7732, :c7733, :c7734, :c7735, :c7736, :c7737, :c7738, :c7739, :c7740, :c7741, :c7742, :c7743, :c7744, :c7745, :c7746, :c7747, :c7748, :c7749, :c7750, :c7751, :c7752, :c7753, :c7754, :c7755, :c7756, :c7757, :c7758, :c7759, :c7760, :c7761, :c7762, :c7763, :c7764, :c7765, :c7766, :c7767, :c7768, :c7769, :c7770, :c7771, :c7772, :c7773, :c7774, :c7775, :c7776, :c7777, :c7778, :c7779, :c7780, :c7781, :c7782, :c7783, :c7784, :c7785, :c7786, :c7787, :c7788, :c7789, :c7790, :c7791, :c7792, :c7793, :c7794, :c7795, :c7796, :c7797, :c7798, :c7799, :c7800, :c7801, :c7802, :c7803, :c7804, :c7805, :c7806, :c7807, :c7808, :c7809, :c7810, :c7811, :c7812, :c7813, :c7814, :c7815, :c7816, :c7817, :c7818, :c7819, :c7820, :c7821, :c7822, :c7823, :c7824, :c7825, :c7826, :c7827, :c7828, :c7829, :c7830, :c7831, :c7832, :c7833, :c7834, :c7835, :c7836, :c7837, :c7838, :c7839, :c7840, :c7841, :c7842, :c7843, :c7844, :c7845, :c7846, :c7847, :c7848, :c7849, :c7850, :c7851, :c7852, :c7853, :c7854, :c7855, :c7856, :c7857, :c7858, :c7859, :c7860, :c7861, :c7862, :c7863, :c7864, :c7865, :c7866, :c7867, :c7868, :c7869, :c7870, :c7871, :c7872, :c7873, :c7874, :c7875, :c7876, :c7877, :c7878, :c7879, :c7880, :c7881, :c7882, :c7883, :c7884, :c7885, :c7886, :c7887, :c7888, :c7889, :c7890, :c7891, :c7892, :c7893, :c7894, :c7895, :c7896, :c7897, :c7898, :c7899, :c7900, :c7901, :c7902, :c7903, :c7904, :c7905, :c7906, :c7907, :c7908, :c7909, :c7910, :c7911, :c7912, :c7913, :c7914, :c7915, :c7916, :c7917, :c7918, :c7919, :c7920, :c7921, :c7922, :c7923, :c7924, :c7925, :c7926, :c7927, :c7928, :c7929, :c7930, :c7931, :c7932, :c7933, :c7934, :c7935, :c7936, :c7937, :c7938, :c7939, :c7940, :c7941, :c7942, :c7943, :c7944, :c7945, :c7946, :c7947, :c7948, :c7949, :c7950, :c7951, :c7952, :c7953, :c7954, :c7955, :c7956, :c7957, :c7958, :c7959, :c7960, :c7961, :c7962, :c7963, :c7964, :c7965, :c7966, :c7967, :c7968, :c7969, :c7970, :c7971, :c7972, :c7973, :c7974, :c7975, :c7976, :c7977, :c7978, :c7979, :c7980, :c7981, :c7982, :c7983, :c7984, :c7985, :c7986, :c7987, :c7988, :c7989, :c7990, :c7991, :c7992, :c7993, :c7994, :c7995, :c7996, :c7997, :c7998, :c7999, :c8000, :c8001, :c8002, :c8003, :c8004, :c8005, :c8006, :c8007, :c8008, :c8009, :c8010, :c8011, :c8012, :c8013, :c8014, :c8015, :c8016, :c8017, :c8018, :c8019, :c8020, :c8021, :c8022, :c8023, :c8024, :c8025, :c8026, :c8027, :c8028, :c8029, :c8030, :c8031, :c8032, :c8033, :c8034, :c8035, :c8036, :c8037, :c8038, :c8039, :c8040, :c8041, :c8042, :c8043, :c8044, :c8045, :c8046, :c8047, :c8048, :c8049, :c8050, :c8051, :c8052, :c8053, :c8054, :c8055, :c8056, :c8057, :c8058, :c8059, :c8060, :c8061, :c8062, :c8063, :c8064, :c8065, :c8066, :c8067, :c8068, :c8069, :c8070, :c8071, :c8072, :c8073, :c8074, :c8075, :c8076, :c8077, :c8078, :c8079, :c8080, :c8081, :c8082, :c8083, :c8084, :c8085, :c8086, :c8087, :c8088, :c8089, :c8090, :c8091, :c8092, :c8093, :c8094, :c8095, :c8096, :c8097, :c8098, :c8099, :c8100, :c8101, :c8102, :c8103, :c8104, :c8105, :c8106, :c8107, :c8108, :c8109, :c8110, :c8111, :c8112, :c8113, :c8114, :c8115, :c8116, :c8117, :c8118, :c8119, :c8120, :c8121, :c8122, :c8123, :c8124, :c8125, :c8126, :c8127, :c8128, :c8129, :c8130, :c8131, :c8132, :c8133, :c8134, :c8135, :c8136, :c8137, :c8138, :c8139, :c8140, :c8141, :c8142, :c8143, :c8144, :c8145, :c8146, :c8147, :c8148, :c8149, :c8150, :c8151, :c8152, :c8153, :c8154, :c8155, :c8156, :c8157, :c8158, :c8159, :c8160, :c8161, :c8162, :c8163, :c8164, :c8165, :c8166, :c8167, :c8168, :c8169, :c8170, :c8171, :c8172, :c8173, :c8174, :c8175, :c8176, :c8177, :c8178, :c8179, :c8180, :c8181, :c8182, :c8183, :c8184, :c8185, :c8186, :c8187, :c8188, :c8189, :c8190, :c8191, :c8192, :c8193, :c8194, :c8195, :c8196, :c8197, :c8198, :c8199, :c8200, :c8201, :c8202, :c8203, :c8204, :c8205, :c8206, :c8207, :c8208, :c8209, :c8210, :c8211, :c8212, :c8213, :c8214, :c8215, :c8216, :c8217, :c8218, :c8219, :c8220, :c8221, :c8222, :c8223, :c8224, :c8225, :c8226, :c8227, :c8228, :c8229, :c8230, :c8231, :c8232, :c8233, :c8234, :c8235, :c8236, :c8237, :c8238, :c8239, :c8240, :c8241, :c8242, :c8243, :c8244, :c8245, :c8246, :c8247, :c8248, :c8249, :c8250, :c8251, :c8252, :c8253, :c8254, :c8255, :c8256, :c8257, :c8258, :c8259, :c8260, :c8261, :c8262, :c8263, :c8264, :c8265, :c8266, :c8267, :c8268, :c8269, :c8270, :c8271, :c8272, :c8273, :c8274, :c8275, :c8276, :c8277, :c8278, :c8279, :c8280, :c8281, :c8282, :c8283, :c8284, :c8285, :c8286, :c8287, :c8288, :c8289, :c8290, :c8291, :c8292, :c8293, :c8294, :c8295, :c8296, :c8297, :c8298, :c8299, :c8300, :c8301, :c8302, :c8303, :c8304, :c8305, :c8306, :c8307, :c8308, :c8309, :c8310, :c8311, :c8312, :c8313, :c8314, :c8315, :c8316, :c8317, :c8318, :c8319, :c8320, :c8321, :c8322, :c8323, :c8324, :c8325, :c8326, :c8327, :c8328, :c8329, :c8330, :c8331, :c8332, :c8333, :c8334, :c8335, :c8336, :c8337, :c8338, :c8339, :c8340, :c8341, :c8342, :c8343, :c8344, :c8345, :c8346, :c8347, :c8348, :c8349, :c8350, :c8351, :c8352, :c8353, :c8354, :c8355, :c8356, :c8357, :c8358, :c8359, :c8360, :c8361, :c8362, :c8363, :c8364, :c8365, :c8366, :c8367, :c8368, :c8369, :c8370, :c8371, :c8372, :c8373, :c8374, :c8375, :c8376, :c8377, :c8378, :c8379, :c8380, :c8381, :c8382, :c8383, :c8384, :c8385, :c8386, :c8387, :c8388, :c8389, :c8390, :c8391, :c8392, :c8393, :c8394, :c8395, :c8396, :c8397, :c8398, :c8399, :c8400, :c8401, :c8402, :c8403, :c8404, :c8405, :c8406, :c8407, :c8408, :c8409, :c8410, :c8411, :c8412, :c8413, :c8414, :c8415, :c8416, :c8417, :c8418, :c8419, :c8420, :c8421, :c8422, :c8423, :c8424, :c8425, :c8426, :c8427, :c8428, :c8429, :c8430, :c8431, :c8432, :c8433, :c8434, :c8435, :c8436, :c8437, :c8438, :c8439, :c8440, :c8441, :c8442, :c8443, :c8444, :c8445, :c8446, :c8447, :c8448, :c8449, :c8450, :c8451, :c8452, :c8453, :c8454, :c8455, :c8456, :c8457, :c8458, :c8459, :c8460, :c8461, :c8462, :c8463, :c8464, :c8465, :c8466, :c8467, :c8468, :c8469, :c8470, :c8471, :c8472, :c8473, :c8474, :c8475, :c8476, :c8477, :c8478, :c8479, :c8480, :c8481, :c8482, :c8483, :c8484, :c8485, :c8486, :c8487, :c8488, :c8489, :c8490, :c8491, :c8492, :c8493, :c8494, :c8495, :c8496, :c8497, :c8498, :c8499, :c8500, :c8501, :c8502, :c8503, :c8504, :c8505, :c8506, :c8507, :c8508, :c8509, :c8510, :c8511, :c8512, :c8513, :c8514, :c8515, :c8516, :c8517, :c8518, :c8519, :c8520, :c8521, :c8522, :c8523, :c8524, :c8525, :c8526, :c8527, :c8528, :c8529, :c8530, :c8531, :c8532, :c8533, :c8534, :c8535, :c8536, :c8537, :c8538, :c8539, :c8540, :c8541, :c8542, :c8543, :c8544, :c8545, :c8546, :c8547, :c8548, :c8549, :c8550, :c8551, :c8552, :c8553, :c8554, :c8555, :c8556, :c8557, :c8558, :c8559, :c8560, :c8561, :c8562, :c8563, :c8564, :c8565, :c8566, :c8567, :c8568, :c8569, :c8570, :c8571, :c8572, :c8573, :c8574, :c8575, :c8576, :c8577, :c8578, :c8579, :c8580, :c8581, :c8582, :c8583, :c8584, :c8585, :c8586, :c8587, :c8588, :c8589, :c8590, :c8591, :c8592, :c8593, :c8594, :c8595, :c8596, :c8597, :c8598, :c8599, :c8600, :c8601, :c8602, :c8603, :c8604, :c8605, :c8606, :c8607, :c8608, :c8609, :c8610, :c8611, :c8612, :c8613, :c8614, :c8615, :c8616, :c8617, :c8618, :c8619, :c8620, :c8621, :c8622, :c8623, :c8624, :c8625, :c8626, :c8627, :c8628, :c8629, :c8630, :c8631, :c8632, :c8633, :c8634, :c8635, :c8636, :c8637, :c8638, :c8639, :c8640, :c8641, :c8642, :c8643, :c8644, :c8645, :c8646, :c8647, :c8648, :c8649, :c8650, :c8651, :c8652, :c8653, :c8654, :c8655, :c8656, :c8657, :c8658, :c8659, :c8660, :c8661, :c8662, :c8663, :c8664, :c8665, :c8666, :c8667, :c8668, :c8669, :c8670, :c8671, :c8672, :c8673, :c8674, :c8675, :c8676, :c8677, :c8678, :c8679, :c8680, :c8681, :c8682, :c8683, :c8684, :c8685, :c8686, :c8687, :c8688, :c8689, :c8690, :c8691, :c8692, :c8693, :c8694, :c8695, :c8696, :c8697, :c8698, :c8699, :c8700, :c8701, :c8702, :c8703, :c8704, :c8705, :c8706, :c8707, :c8708, :c8709, :c8710, :c8711, :c8712, :c8713, :c8714, :c8715, :c8716, :c8717, :c8718, :c8719, :c8720, :c8721, :c8722, :c8723, :c8724, :c8725, :c8726, :c8727, :c8728, :c8729, :c8730, :c8731, :c8732, :c8733, :c8734, :c8735, :c8736, :c8737, :c8738, :c8739, :c8740, :c8741, :c8742, :c8743, :c8744, :c8745, :c8746, :c8747, :c8748, :c8749, :c8750, :c8751, :c8752, :c8753, :c8754, :c8755, :c8756, :c8757, :c8758, :c8759, :c8760, :c8761, :c8762, :c8763, :c8764, :c8765, :c8766, :c8767, :c8768, :c8769, :c8770, :c8771, :c8772, :c8773, :c8774, :c8775, :c8776, :c8777, :c8778, :c8779, :c8780, :c8781, :c8782, :c8783, :c8784, :c8785, :c8786, :c8787, :c8788, :c8789, :c8790, :c8791, :c8792, :c8793, :c8794, :c8795, :c8796, :c8797, :c8798, :c8799, :c8800, :c8801, :c8802, :c8803, :c8804, :c8805, :c8806, :c8807, :c8808, :c8809, :c8810, :c8811, :c8812, :c8813, :c8814, :c8815, :c8816, :c8817, :c8818, :c8819, :c8820, :c8821, :c8822, :c8823, :c8824, :c8825, :c8826, :c8827, :c8828, :c8829, :c8830, :c8831, :c8832, :c8833, :c8834, :c8835, :c8836, :c8837, :c8838, :c8839, :c8840, :c8841, :c8842, :c8843, :c8844, :c8845, :c8846, :c8847, :c8848, :c8849, :c8850, :c8851, :c8852, :c8853, :c8854, :c8855, :c8856, :c8857, :c8858, :c8859, :c8860, :c8861, :c8862, :c8863, :c8864, :c8865, :c8866, :c8867, :c8868, :c8869, :c8870, :c8871, :c8872, :c8873, :c8874, :c8875, :c8876, :c8877, :c8878, :c8879, :c8880, :c8881, :c8882, :c8883, :c8884, :c8885, :c8886, :c8887, :c8888, :c8889, :c8890, :c8891, :c8892, :c8893, :c8894, :c8895, :c8896, :c8897, :c8898, :c8899, :c8900, :c8901, :c8902, :c8903, :c8904, :c8905, :c8906, :c8907, :c8908, :c8909, :c8910, :c8911, :c8912, :c8913, :c8914, :c8915, :c8916, :c8917, :c8918, :c8919, :c8920, :c8921, :c8922, :c8923, :c8924, :c8925, :c8926, :c8927, :c8928, :c8929, :c8930, :c8931, :c8932, :c8933, :c8934, :c8935, :c8936, :c8937, :c8938, :c8939, :c8940, :c8941, :c8942, :c8943, :c8944, :c8945, :c8946, :c8947, :c8948, :c8949, :c8950, :c8951, :c8952, :c8953, :c8954, :c8955, :c8956, :c8957, :c8958, :c8959, :c8960, :c8961, :c8962, :c8963, :c8964, :c8965, :c8966, :c8967, :c8968, :c8969, :c8970, :c8971, :c8972, :c8973, :c8974, :c8975, :c8976, :c8977, :c8978, :c8979, :c8980, :c8981, :c8982, :c8983, :c8984, :c8985, :c8986, :c8987, :c8988, :c8989, :c8990, :c8991, :c8992, :c8993, :c8994, :c8995, :c8996, :c8997, :c8998, :c8999, :c9000, :c9001, :c9002, :c9003, :c9004, :c9005, :c9006, :c9007, :c9008, :c9009, :c9010, :c9011, :c9012, :c9013, :c9014, :c9015, :c9016, :c9017, :c9018, :c9019, :c9020, :c9021, :c9022, :c9023, :c9024, :c9025, :c9026, :c9027, :c9028, :c9029, :c9030, :c9031, :c9032, :c9033, :c9034, :c9035, :c9036, :c9037, :c9038, :c9039, :c9040, :c9041, :c9042, :c9043, :c9044, :c9045, :c9046, :c9047, :c9048, :c9049, :c9050, :c9051, :c9052, :c9053, :c9054, :c9055, :c9056, :c9057, :c9058, :c9059, :c9060, :c9061, :c9062, :c9063, :c9064, :c9065, :c9066, :c9067, :c9068, :c9069, :c9070, :c9071, :c9072, :c9073, :c9074, :c9075, :c9076, :c9077, :c9078, :c9079, :c9080, :c9081, :c9082, :c9083, :c9084, :c9085, :c9086, :c9087, :c9088, :c9089, :c9090, :c9091, :c9092, :c9093, :c9094, :c9095, :c9096, :c9097, :c9098, :c9099, :c9100, :c9101, :c9102, :c9103, :c9104, :c9105, :c9106, :c9107, :c9108, :c9109, :c9110, :c9111, :c9112, :c9113, :c9114, :c9115, :c9116, :c9117, :c9118, :c9119, :c9120, :c9121, :c9122, :c9123, :c9124, :c9125, :c9126, :c9127, :c9128, :c9129, :c9130, :c9131, :c9132, :c9133, :c9134, :c9135, :c9136, :c9137, :c9138, :c9139, :c9140, :c9141, :c9142, :c9143, :c9144, :c9145, :c9146, :c9147, :c9148, :c9149, :c9150, :c9151, :c9152, :c9153, :c9154, :c9155, :c9156, :c9157, :c9158, :c9159, :c9160, :c9161, :c9162, :c9163, :c9164, :c9165, :c9166, :c9167, :c9168, :c9169, :c9170, :c9171, :c9172, :c9173, :c9174, :c9175, :c9176, :c9177, :c9178, :c9179, :c9180, :c9181, :c9182, :c9183, :c9184, :c9185, :c9186, :c9187, :c9188, :c9189, :c9190, :c9191, :c9192, :c9193, :c9194, :c9195, :c9196, :c9197, :c9198, :c9199, :c9200, :c9201, :c9202, :c9203, :c9204, :c9205, :c9206, :c9207, :c9208, :c9209, :c9210, :c9211, :c9212, :c9213, :c9214, :c9215, :c9216, :c9217, :c9218, :c9219, :c9220, :c9221, :c9222, :c9223, :c9224, :c9225, :c9226, :c9227, :c9228, :c9229, :c9230, :c9231, :c9232, :c9233, :c9234, :c9235, :c9236, :c9237, :c9238, :c9239, :c9240, :c9241, :c9242, :c9243, :c9244, :c9245, :c9246, :c9247, :c9248, :c9249, :c9250, :c9251, :c9252, :c9253, :c9254, :c9255, :c9256, :c9257, :c9258, :c9259, :c9260, :c9261, :c9262, :c9263, :c9264, :c9265, :c9266, :c9267, :c9268, :c9269, :c9270, :c9271, :c9272, :c9273, :c9274, :c9275, :c9276, :c9277, :c9278, :c9279, :c9280, :c9281, :c9282, :c9283, :c9284, :c9285, :c9286, :c9287, :c9288, :c9289, :c9290, :c9291, :c9292, :c9293, :c9294, :c9295, :c9296, :c9297, :c9298, :c9299, :c9300, :c9301, :c9302, :c9303, :c9304, :c9305, :c9306, :c9307, :c9308, :c9309, :c9310, :c9311, :c9312, :c9313, :c9314, :c9315, :c9316, :c9317, :c9318, :c9319, :c9320, :c9321, :c9322, :c9323, :c9324, :c9325, :c9326, :c9327, :c9328, :c9329, :c9330, :c9331, :c9332, :c9333, :c9334, :c9335, :c9336, :c9337, :c9338, :c9339, :c9340, :c9341, :c9342, :c9343, :c9344, :c9345, :c9346, :c9347, :c9348, :c9349, :c9350, :c9351, :c9352, :c9353, :c9354, :c9355, :c9356, :c9357, :c9358, :c9359, :c9360, :c9361, :c9362, :c9363, :c9364, :c9365, :c9366, :c9367, :c9368, :c9369, :c9370, :c9371, :c9372, :c9373, :c9374, :c9375, :c9376, :c9377, :c9378, :c9379, :c9380, :c9381, :c9382, :c9383, :c9384, :c9385, :c9386, :c9387, :c9388, :c9389, :c9390, :c9391, :c9392, :c9393, :c9394, :c9395, :c9396, :c9397, :c9398, :c9399, :c9400, :c9401, :c9402, :c9403, :c9404, :c9405, :c9406, :c9407, :c9408, :c9409, :c9410, :c9411, :c9412, :c9413, :c9414, :c9415, :c9416, :c9417, :c9418, :c9419, :c9420, :c9421, :c9422, :c9423, :c9424, :c9425, :c9426, :c9427, :c9428, :c9429, :c9430, :c9431, :c9432, :c9433, :c9434, :c9435, :c9436, :c9437, :c9438, :c9439, :c9440, :c9441, :c9442, :c9443, :c9444, :c9445, :c9446, :c9447, :c9448, :c9449, :c9450, :c9451, :c9452, :c9453, :c9454, :c9455, :c9456, :c9457, :c9458, :c9459, :c9460, :c9461, :c9462, :c9463, :c9464, :c9465, :c9466, :c9467, :c9468, :c9469, :c9470, :c9471, :c9472, :c9473, :c9474, :c9475, :c9476, :c9477, :c9478, :c9479, :c9480, :c9481, :c9482, :c9483, :c9484, :c9485, :c9486, :c9487, :c9488, :c9489, :c9490, :c9491, :c9492, :c9493, :c9494, :c9495, :c9496, :c9497, :c9498, :c9499, :c9500, :c9501, :c9502, :c9503, :c9504, :c9505, :c9506, :c9507, :c9508, :c9509, :c9510, :c9511, :c9512, :c9513, :c9514, :c9515, :c9516, :c9517, :c9518, :c9519, :c9520, :c9521, :c9522, :c9523, :c9524, :c9525, :c9526, :c9527, :c9528, :c9529, :c9530, :c9531, :c9532, :c9533, :c9534, :c9535, :c9536, :c9537, :c9538, :c9539, :c9540, :c9541, :c9542, :c9543, :c9544, :c9545, :c9546, :c9547, :c9548, :c9549, :c9550, :c9551, :c9552, :c9553, :c9554, :c9555, :c9556, :c9557, :c9558, :c9559, :c9560, :c9561, :c9562, :c9563, :c9564, :c9565, :c9566, :c9567, :c9568, :c9569, :c9570, :c9571, :c9572, :c9573, :c9574, :c9575, :c9576, :c9577, :c9578, :c9579, :c9580, :c9581, :c9582, :c9583, :c9584, :c9585, :c9586, :c9587, :c9588, :c9589, :c9590, :c9591, :c9592, :c9593, :c9594, :c9595, :c9596, :c9597, :c9598, :c9599, :c9600, :c9601, :c9602, :c9603, :c9604, :c9605, :c9606, :c9607, :c9608, :c9609, :c9610, :c9611, :c9612, :c9613, :c9614, :c9615, :c9616, :c9617, :c9618, :c9619, :c9620, :c9621, :c9622, :c9623, :c9624, :c9625, :c9626, :c9627, :c9628, :c9629, :c9630, :c9631, :c9632, :c9633, :c9634, :c9635, :c9636, :c9637, :c9638, :c9639, :c9640, :c9641, :c9642, :c9643, :c9644, :c9645, :c9646, :c9647, :c9648, :c9649, :c9650, :c9651, :c9652, :c9653, :c9654, :c9655, :c9656, :c9657, :c9658, :c9659, :c9660, :c9661, :c9662, :c9663, :c9664, :c9665, :c9666, :c9667, :c9668, :c9669, :c9670, :c9671, :c9672, :c9673, :c9674, :c9675, :c9676, :c9677, :c9678, :c9679, :c9680, :c9681, :c9682, :c9683, :c9684, :c9685, :c9686, :c9687, :c9688, :c9689, :c9690, :c9691, :c9692, :c9693, :c9694, :c9695, :c9696, :c9697, :c9698, :c9699, :c9700, :c9701, :c9702, :c9703, :c9704, :c9705, :c9706, :c9707, :c9708, :c9709, :c9710, :c9711, :c9712, :c9713, :c9714, :c9715, :c9716, :c9717, :c9718, :c9719, :c9720, :c9721, :c9722, :c9723, :c9724, :c9725, :c9726, :c9727, :c9728, :c9729, :c9730, :c9731, :c9732, :c9733, :c9734, :c9735, :c9736, :c9737, :c9738, :c9739, :c9740, :c9741, :c9742, :c9743, :c9744, :c9745, :c9746, :c9747, :c9748, :c9749, :c9750, :c9751, :c9752, :c9753, :c9754, :c9755, :c9756, :c9757, :c9758, :c9759, :c9760, :c9761, :c9762, :c9763, :c9764, :c9765, :c9766, :c9767, :c9768, :c9769, :c9770, :c9771, :c9772, :c9773, :c9774, :c9775, :c9776, :c9777, :c9778, :c9779, :c9780, :c9781, :c9782, :c9783, :c9784, :c9785, :c9786, :c9787, :c9788, :c9789, :c9790, :c9791, :c9792, :c9793, :c9794, :c9795, :c9796, :c9797, :c9798, :c9799, :c9800, :c9801, :c9802, :c9803, :c9804, :c9805, :c9806, :c9807, :c9808, :c9809, :c9810, :c9811, :c9812, :c9813, :c9814, :c9815, :c9816, :c9817, :c9818, :c9819, :c9820, :c9821, :c9822, :c9823, :c9824, :c9825, :c9826, :c9827, :c9828, :c9829, :c9830, :c9831, :c9832, :c9833, :c9834, :c9835, :c9836, :c9837, :c9838, :c9839, :c9840, :c9841, :c9842, :c9843, :c9844, :c9845, :c9846, :c9847, :c9848, :c9849, :c9850, :c9851, :c9852, :c9853, :c9854, :c9855, :c9856, :c9857, :c9858, :c9859, :c9860, :c9861, :c9862, :c9863, :c9864, :c9865, :c9866, :c9867, :c9868, :c9869, :c9870, :c9871, :c9872, :c9873, :c9874, :c9875, :c9876, :c9877, :c9878, :c9879, :c9880, :c9881, :c9882, :c9883, :c9884, :c9885, :c9886, :c9887, :c9888, :c9889, :c9890, :c9891, :c9892, :c9893, :c9894, :c9895, :c9896, :c9897, :c9898, :c9899, :c9900, :c9901, :c9902, :c9903, :c9904, :c9905, :c9906, :c9907, :c9908, :c9909, :c9910, :c9911, :c9912, :c9913, :c9914, :c9915, :c9916, :c9917, :c9918, :c9919, :c9920, :c9921, :c9922, :c9923, :c9924, :c9925, :c9926, :c9927, :c9928, :c9929, :c9930, :c9931, :c9932, :c9933, :c9934, :c9935, :c9936, :c9937, :c9938, :c9939, :c9940, :c9941, :c9942, :c9943, :c9944, :c9945, :c9946, :c9947, :c9948, :c9949, :c9950, :c9951, :c9952, :c9953, :c9954, :c9955, :c9956, :c9957, :c9958, :c9959, :c9960, :c9961, :c9962, :c9963, :c9964, :c9965, :c9966, :c9967, :c9968, :c9969, :c9970, :c9971, :c9972, :c9973, :c9974, :c9975, :c9976, :c9977, :c9978, :c9979, :c9980, :c9981, :c9982, :c9983, :c9984, :c9985, :c9986, :c9987, :c9988, :c9989, :c9990, :c9991, :c9992, :c9993, :c9994, :c9995, :c9996, :c9997, :c9998, :c9999, :c10000 . diff --git a/source/modules/lilv/sord-0.12.0/tests/test-16.out b/source/modules/lilv/sord-0.12.0/tests/test-16.out deleted file mode 100644 index c0604b3b6..000000000 --- a/source/modules/lilv/sord-0.12.0/tests/test-16.out +++ /dev/null @@ -1,10000 +0,0 @@ - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . diff --git a/source/modules/lilv/sord-0.12.0/tests/test-16.ttl b/source/modules/lilv/sord-0.12.0/tests/test-16.ttl deleted file mode 100644 index a9ac37fb3..000000000 --- a/source/modules/lilv/sord-0.12.0/tests/test-16.ttl +++ /dev/null @@ -1,10002 +0,0 @@ -# 10000 items (10000 triples) more than the default Bison stack size -@prefix : . -:a :b :c1; - :b :c2; - :b :c3; - :b :c4; - :b :c5; - :b :c6; - :b :c7; - :b :c8; - :b :c9; - :b :c10; - :b :c11; - :b :c12; - :b :c13; - :b :c14; - :b :c15; - :b :c16; - :b :c17; - :b :c18; - :b :c19; - :b :c20; - :b :c21; - :b :c22; - :b :c23; - :b :c24; - :b :c25; - :b :c26; - :b :c27; - :b :c28; - :b :c29; - :b :c30; - :b :c31; - :b :c32; - :b :c33; - :b :c34; - :b :c35; - :b :c36; - :b :c37; - :b :c38; - :b :c39; - :b :c40; - :b :c41; - :b :c42; - :b :c43; - :b :c44; - :b :c45; - :b :c46; - :b :c47; - :b :c48; - :b :c49; - :b :c50; - :b :c51; - :b :c52; - :b :c53; - :b :c54; - :b :c55; - :b :c56; - :b :c57; - :b :c58; - :b :c59; - :b :c60; - :b :c61; - :b :c62; - :b :c63; - :b :c64; - :b :c65; - :b :c66; - :b :c67; - :b :c68; - :b :c69; - :b :c70; - :b :c71; - :b :c72; - :b :c73; - :b :c74; - :b :c75; - :b :c76; - :b :c77; - :b :c78; - :b :c79; - :b :c80; - :b :c81; - :b :c82; - :b :c83; - :b :c84; - :b :c85; - :b :c86; - :b :c87; - :b :c88; - :b :c89; - :b :c90; - :b :c91; - :b :c92; - :b :c93; - :b :c94; - :b :c95; - :b :c96; - :b :c97; - :b :c98; - :b :c99; - :b :c100; - :b :c101; - :b :c102; - :b :c103; - :b :c104; - :b :c105; - :b :c106; - :b :c107; - :b :c108; - :b :c109; - :b :c110; - :b :c111; - :b :c112; - :b :c113; - :b :c114; - :b :c115; - :b :c116; - :b :c117; - :b :c118; - :b :c119; - :b :c120; - :b :c121; - :b :c122; - :b :c123; - :b :c124; - :b :c125; - :b :c126; - :b :c127; - :b :c128; - :b :c129; - :b :c130; - :b :c131; - :b :c132; - :b :c133; - :b :c134; - :b :c135; - :b :c136; - :b :c137; - :b :c138; - :b :c139; - :b :c140; - :b :c141; - :b :c142; - :b :c143; - :b :c144; - :b :c145; - :b :c146; - :b :c147; - :b :c148; - :b :c149; - :b :c150; - :b :c151; - :b :c152; - :b :c153; - :b :c154; - :b :c155; - :b :c156; - :b :c157; - :b :c158; - :b :c159; - :b :c160; - :b :c161; - :b :c162; - :b :c163; - :b :c164; - :b :c165; - :b :c166; - :b :c167; - :b :c168; - :b :c169; - :b :c170; - :b :c171; - :b :c172; - :b :c173; - :b :c174; - :b :c175; - :b :c176; - :b :c177; - :b :c178; - :b :c179; - :b :c180; - :b :c181; - :b :c182; - :b :c183; - :b :c184; - :b :c185; - :b :c186; - :b :c187; - :b :c188; - :b :c189; - :b :c190; - :b :c191; - :b :c192; - :b :c193; - :b :c194; - :b :c195; - :b :c196; - :b :c197; - :b :c198; - :b :c199; - :b :c200; - :b :c201; - :b :c202; - :b :c203; - :b :c204; - :b :c205; - :b :c206; - :b :c207; - :b :c208; - :b :c209; - :b :c210; - :b :c211; - :b :c212; - :b :c213; - :b :c214; - :b :c215; - :b :c216; - :b :c217; - :b :c218; - :b :c219; - :b :c220; - :b :c221; - :b :c222; - :b :c223; - :b :c224; - :b :c225; - :b :c226; - :b :c227; - :b :c228; - :b :c229; - :b :c230; - :b :c231; - :b :c232; - :b :c233; - :b :c234; - :b :c235; - :b :c236; - :b :c237; - :b :c238; - :b :c239; - :b :c240; - :b :c241; - :b :c242; - :b :c243; - :b :c244; - :b :c245; - :b :c246; - :b :c247; - :b :c248; - :b :c249; - :b :c250; - :b :c251; - :b :c252; - :b :c253; - :b :c254; - :b :c255; - :b :c256; - :b :c257; - :b :c258; - :b :c259; - :b :c260; - :b :c261; - :b :c262; - :b :c263; - :b :c264; - :b :c265; - :b :c266; - :b :c267; - :b :c268; - :b :c269; - :b :c270; - :b :c271; - :b :c272; - :b :c273; - :b :c274; - :b :c275; - :b :c276; - :b :c277; - :b :c278; - :b :c279; - :b :c280; - :b :c281; - :b :c282; - :b :c283; - :b :c284; - :b :c285; - :b :c286; - :b :c287; - :b :c288; - :b :c289; - :b :c290; - :b :c291; - :b :c292; - :b :c293; - :b :c294; - :b :c295; - :b :c296; - :b :c297; - :b :c298; - :b :c299; - :b :c300; - :b :c301; - :b :c302; - :b :c303; - :b :c304; - :b :c305; - :b :c306; - :b :c307; - :b :c308; - :b :c309; - :b :c310; - :b :c311; - :b :c312; - :b :c313; - :b :c314; - :b :c315; - :b :c316; - :b :c317; - :b :c318; - :b :c319; - :b :c320; - :b :c321; - :b :c322; - :b :c323; - :b :c324; - :b :c325; - :b :c326; - :b :c327; - :b :c328; - :b :c329; - :b :c330; - :b :c331; - :b :c332; - :b :c333; - :b :c334; - :b :c335; - :b :c336; - :b :c337; - :b :c338; - :b :c339; - :b :c340; - :b :c341; - :b :c342; - :b :c343; - :b :c344; - :b :c345; - :b :c346; - :b :c347; - :b :c348; - :b :c349; - :b :c350; - :b :c351; - :b :c352; - :b :c353; - :b :c354; - :b :c355; - :b :c356; - :b :c357; - :b :c358; - :b :c359; - :b :c360; - :b :c361; - :b :c362; - :b :c363; - :b :c364; - :b :c365; - :b :c366; - :b :c367; - :b :c368; - :b :c369; - :b :c370; - :b :c371; - :b :c372; - :b :c373; - :b :c374; - :b :c375; - :b :c376; - :b :c377; - :b :c378; - :b :c379; - :b :c380; - :b :c381; - :b :c382; - :b :c383; - :b :c384; - :b :c385; - :b :c386; - :b :c387; - :b :c388; - :b :c389; - :b :c390; - :b :c391; - :b :c392; - :b :c393; - :b :c394; - :b :c395; - :b :c396; - :b :c397; - :b :c398; - :b :c399; - :b :c400; - :b :c401; - :b :c402; - :b :c403; - :b :c404; - :b :c405; - :b :c406; - :b :c407; - :b :c408; - :b :c409; - :b :c410; - :b :c411; - :b :c412; - :b :c413; - :b :c414; - :b :c415; - :b :c416; - :b :c417; - :b :c418; - :b :c419; - :b :c420; - :b :c421; - :b :c422; - :b :c423; - :b :c424; - :b :c425; - :b :c426; - :b :c427; - :b :c428; - :b :c429; - :b :c430; - :b :c431; - :b :c432; - :b :c433; - :b :c434; - :b :c435; - :b :c436; - :b :c437; - :b :c438; - :b :c439; - :b :c440; - :b :c441; - :b :c442; - :b :c443; - :b :c444; - :b :c445; - :b :c446; - :b :c447; - :b :c448; - :b :c449; - :b :c450; - :b :c451; - :b :c452; - :b :c453; - :b :c454; - :b :c455; - :b :c456; - :b :c457; - :b :c458; - :b :c459; - :b :c460; - :b :c461; - :b :c462; - :b :c463; - :b :c464; - :b :c465; - :b :c466; - :b :c467; - :b :c468; - :b :c469; - :b :c470; - :b :c471; - :b :c472; - :b :c473; - :b :c474; - :b :c475; - :b :c476; - :b :c477; - :b :c478; - :b :c479; - :b :c480; - :b :c481; - :b :c482; - :b :c483; - :b :c484; - :b :c485; - :b :c486; - :b :c487; - :b :c488; - :b :c489; - :b :c490; - :b :c491; - :b :c492; - :b :c493; - :b :c494; - :b :c495; - :b :c496; - :b :c497; - :b :c498; - :b :c499; - :b :c500; - :b :c501; - :b :c502; - :b :c503; - :b :c504; - :b :c505; - :b :c506; - :b :c507; - :b :c508; - :b :c509; - :b :c510; - :b :c511; - :b :c512; - :b :c513; - :b :c514; - :b :c515; - :b :c516; - :b :c517; - :b :c518; - :b :c519; - :b :c520; - :b :c521; - :b :c522; - :b :c523; - :b :c524; - :b :c525; - :b :c526; - :b :c527; - :b :c528; - :b :c529; - :b :c530; - :b :c531; - :b :c532; - :b :c533; - :b :c534; - :b :c535; - :b :c536; - :b :c537; - :b :c538; - :b :c539; - :b :c540; - :b :c541; - :b :c542; - :b :c543; - :b :c544; - :b :c545; - :b :c546; - :b :c547; - :b :c548; - :b :c549; - :b :c550; - :b :c551; - :b :c552; - :b :c553; - :b :c554; - :b :c555; - :b :c556; - :b :c557; - :b :c558; - :b :c559; - :b :c560; - :b :c561; - :b :c562; - :b :c563; - :b :c564; - :b :c565; - :b :c566; - :b :c567; - :b :c568; - :b :c569; - :b :c570; - :b :c571; - :b :c572; - :b :c573; - :b :c574; - :b :c575; - :b :c576; - :b :c577; - :b :c578; - :b :c579; - :b :c580; - :b :c581; - :b :c582; - :b :c583; - :b :c584; - :b :c585; - :b :c586; - :b :c587; - :b :c588; - :b :c589; - :b :c590; - :b :c591; - :b :c592; - :b :c593; - :b :c594; - :b :c595; - :b :c596; - :b :c597; - :b :c598; - :b :c599; - :b :c600; - :b :c601; - :b :c602; - :b :c603; - :b :c604; - :b :c605; - :b :c606; - :b :c607; - :b :c608; - :b :c609; - :b :c610; - :b :c611; - :b :c612; - :b :c613; - :b :c614; - :b :c615; - :b :c616; - :b :c617; - :b :c618; - :b :c619; - :b :c620; - :b :c621; - :b :c622; - :b :c623; - :b :c624; - :b :c625; - :b :c626; - :b :c627; - :b :c628; - :b :c629; - :b :c630; - :b :c631; - :b :c632; - :b :c633; - :b :c634; - :b :c635; - :b :c636; - :b :c637; - :b :c638; - :b :c639; - :b :c640; - :b :c641; - :b :c642; - :b :c643; - :b :c644; - :b :c645; - :b :c646; - :b :c647; - :b :c648; - :b :c649; - :b :c650; - :b :c651; - :b :c652; - :b :c653; - :b :c654; - :b :c655; - :b :c656; - :b :c657; - :b :c658; - :b :c659; - :b :c660; - :b :c661; - :b :c662; - :b :c663; - :b :c664; - :b :c665; - :b :c666; - :b :c667; - :b :c668; - :b :c669; - :b :c670; - :b :c671; - :b :c672; - :b :c673; - :b :c674; - :b :c675; - :b :c676; - :b :c677; - :b :c678; - :b :c679; - :b :c680; - :b :c681; - :b :c682; - :b :c683; - :b :c684; - :b :c685; - :b :c686; - :b :c687; - :b :c688; - :b :c689; - :b :c690; - :b :c691; - :b :c692; - :b :c693; - :b :c694; - :b :c695; - :b :c696; - :b :c697; - :b :c698; - :b :c699; - :b :c700; - :b :c701; - :b :c702; - :b :c703; - :b :c704; - :b :c705; - :b :c706; - :b :c707; - :b :c708; - :b :c709; - :b :c710; - :b :c711; - :b :c712; - :b :c713; - :b :c714; - :b :c715; - :b :c716; - :b :c717; - :b :c718; - :b :c719; - :b :c720; - :b :c721; - :b :c722; - :b :c723; - :b :c724; - :b :c725; - :b :c726; - :b :c727; - :b :c728; - :b :c729; - :b :c730; - :b :c731; - :b :c732; - :b :c733; - :b :c734; - :b :c735; - :b :c736; - :b :c737; - :b :c738; - :b :c739; - :b :c740; - :b :c741; - :b :c742; - :b :c743; - :b :c744; - :b :c745; - :b :c746; - :b :c747; - :b :c748; - :b :c749; - :b :c750; - :b :c751; - :b :c752; - :b :c753; - :b :c754; - :b :c755; - :b :c756; - :b :c757; - :b :c758; - :b :c759; - :b :c760; - :b :c761; - :b :c762; - :b :c763; - :b :c764; - :b :c765; - :b :c766; - :b :c767; - :b :c768; - :b :c769; - :b :c770; - :b :c771; - :b :c772; - :b :c773; - :b :c774; - :b :c775; - :b :c776; - :b :c777; - :b :c778; - :b :c779; - :b :c780; - :b :c781; - :b :c782; - :b :c783; - :b :c784; - :b :c785; - :b :c786; - :b :c787; - :b :c788; - :b :c789; - :b :c790; - :b :c791; - :b :c792; - :b :c793; - :b :c794; - :b :c795; - :b :c796; - :b :c797; - :b :c798; - :b :c799; - :b :c800; - :b :c801; - :b :c802; - :b :c803; - :b :c804; - :b :c805; - :b :c806; - :b :c807; - :b :c808; - :b :c809; - :b :c810; - :b :c811; - :b :c812; - :b :c813; - :b :c814; - :b :c815; - :b :c816; - :b :c817; - :b :c818; - :b :c819; - :b :c820; - :b :c821; - :b :c822; - :b :c823; - :b :c824; - :b :c825; - :b :c826; - :b :c827; - :b :c828; - :b :c829; - :b :c830; - :b :c831; - :b :c832; - :b :c833; - :b :c834; - :b :c835; - :b :c836; - :b :c837; - :b :c838; - :b :c839; - :b :c840; - :b :c841; - :b :c842; - :b :c843; - :b :c844; - :b :c845; - :b :c846; - :b :c847; - :b :c848; - :b :c849; - :b :c850; - :b :c851; - :b :c852; - :b :c853; - :b :c854; - :b :c855; - :b :c856; - :b :c857; - :b :c858; - :b :c859; - :b :c860; - :b :c861; - :b :c862; - :b :c863; - :b :c864; - :b :c865; - :b :c866; - :b :c867; - :b :c868; - :b :c869; - :b :c870; - :b :c871; - :b :c872; - :b :c873; - :b :c874; - :b :c875; - :b :c876; - :b :c877; - :b :c878; - :b :c879; - :b :c880; - :b :c881; - :b :c882; - :b :c883; - :b :c884; - :b :c885; - :b :c886; - :b :c887; - :b :c888; - :b :c889; - :b :c890; - :b :c891; - :b :c892; - :b :c893; - :b :c894; - :b :c895; - :b :c896; - :b :c897; - :b :c898; - :b :c899; - :b :c900; - :b :c901; - :b :c902; - :b :c903; - :b :c904; - :b :c905; - :b :c906; - :b :c907; - :b :c908; - :b :c909; - :b :c910; - :b :c911; - :b :c912; - :b :c913; - :b :c914; - :b :c915; - :b :c916; - :b :c917; - :b :c918; - :b :c919; - :b :c920; - :b :c921; - :b :c922; - :b :c923; - :b :c924; - :b :c925; - :b :c926; - :b :c927; - :b :c928; - :b :c929; - :b :c930; - :b :c931; - :b :c932; - :b :c933; - :b :c934; - :b :c935; - :b :c936; - :b :c937; - :b :c938; - :b :c939; - :b :c940; - :b :c941; - :b :c942; - :b :c943; - :b :c944; - :b :c945; - :b :c946; - :b :c947; - :b :c948; - :b :c949; - :b :c950; - :b :c951; - :b :c952; - :b :c953; - :b :c954; - :b :c955; - :b :c956; - :b :c957; - :b :c958; - :b :c959; - :b :c960; - :b :c961; - :b :c962; - :b :c963; - :b :c964; - :b :c965; - :b :c966; - :b :c967; - :b :c968; - :b :c969; - :b :c970; - :b :c971; - :b :c972; - :b :c973; - :b :c974; - :b :c975; - :b :c976; - :b :c977; - :b :c978; - :b :c979; - :b :c980; - :b :c981; - :b :c982; - :b :c983; - :b :c984; - :b :c985; - :b :c986; - :b :c987; - :b :c988; - :b :c989; - :b :c990; - :b :c991; - :b :c992; - :b :c993; - :b :c994; - :b :c995; - :b :c996; - :b :c997; - :b :c998; - :b :c999; - :b :c1000; - :b :c1001; - :b :c1002; - :b :c1003; - :b :c1004; - :b :c1005; - :b :c1006; - :b :c1007; - :b :c1008; - :b :c1009; - :b :c1010; - :b :c1011; - :b :c1012; - :b :c1013; - :b :c1014; - :b :c1015; - :b :c1016; - :b :c1017; - :b :c1018; - :b :c1019; - :b :c1020; - :b :c1021; - :b :c1022; - :b :c1023; - :b :c1024; - :b :c1025; - :b :c1026; - :b :c1027; - :b :c1028; - :b :c1029; - :b :c1030; - :b :c1031; - :b :c1032; - :b :c1033; - :b :c1034; - :b :c1035; - :b :c1036; - :b :c1037; - :b :c1038; - :b :c1039; - :b :c1040; - :b :c1041; - :b :c1042; - :b :c1043; - :b :c1044; - :b :c1045; - :b :c1046; - :b :c1047; - :b :c1048; - :b :c1049; - :b :c1050; - :b :c1051; - :b :c1052; - :b :c1053; - :b :c1054; - :b :c1055; - :b :c1056; - :b :c1057; - :b :c1058; - :b :c1059; - :b :c1060; - :b :c1061; - :b :c1062; - :b :c1063; - :b :c1064; - :b :c1065; - :b :c1066; - :b :c1067; - :b :c1068; - :b :c1069; - :b :c1070; - :b :c1071; - :b :c1072; - :b :c1073; - :b :c1074; - :b :c1075; - :b :c1076; - :b :c1077; - :b :c1078; - :b :c1079; - :b :c1080; - :b :c1081; - :b :c1082; - :b :c1083; - :b :c1084; - :b :c1085; - :b :c1086; - :b :c1087; - :b :c1088; - :b :c1089; - :b :c1090; - :b :c1091; - :b :c1092; - :b :c1093; - :b :c1094; - :b :c1095; - :b :c1096; - :b :c1097; - :b :c1098; - :b :c1099; - :b :c1100; - :b :c1101; - :b :c1102; - :b :c1103; - :b :c1104; - :b :c1105; - :b :c1106; - :b :c1107; - :b :c1108; - :b :c1109; - :b :c1110; - :b :c1111; - :b :c1112; - :b :c1113; - :b :c1114; - :b :c1115; - :b :c1116; - :b :c1117; - :b :c1118; - :b :c1119; - :b :c1120; - :b :c1121; - :b :c1122; - :b :c1123; - :b :c1124; - :b :c1125; - :b :c1126; - :b :c1127; - :b :c1128; - :b :c1129; - :b :c1130; - :b :c1131; - :b :c1132; - :b :c1133; - :b :c1134; - :b :c1135; - :b :c1136; - :b :c1137; - :b :c1138; - :b :c1139; - :b :c1140; - :b :c1141; - :b :c1142; - :b :c1143; - :b :c1144; - :b :c1145; - :b :c1146; - :b :c1147; - :b :c1148; - :b :c1149; - :b :c1150; - :b :c1151; - :b :c1152; - :b :c1153; - :b :c1154; - :b :c1155; - :b :c1156; - :b :c1157; - :b :c1158; - :b :c1159; - :b :c1160; - :b :c1161; - :b :c1162; - :b :c1163; - :b :c1164; - :b :c1165; - :b :c1166; - :b :c1167; - :b :c1168; - :b :c1169; - :b :c1170; - :b :c1171; - :b :c1172; - :b :c1173; - :b :c1174; - :b :c1175; - :b :c1176; - :b :c1177; - :b :c1178; - :b :c1179; - :b :c1180; - :b :c1181; - :b :c1182; - :b :c1183; - :b :c1184; - :b :c1185; - :b :c1186; - :b :c1187; - :b :c1188; - :b :c1189; - :b :c1190; - :b :c1191; - :b :c1192; - :b :c1193; - :b :c1194; - :b :c1195; - :b :c1196; - :b :c1197; - :b :c1198; - :b :c1199; - :b :c1200; - :b :c1201; - :b :c1202; - :b :c1203; - :b :c1204; - :b :c1205; - :b :c1206; - :b :c1207; - :b :c1208; - :b :c1209; - :b :c1210; - :b :c1211; - :b :c1212; - :b :c1213; - :b :c1214; - :b :c1215; - :b :c1216; - :b :c1217; - :b :c1218; - :b :c1219; - :b :c1220; - :b :c1221; - :b :c1222; - :b :c1223; - :b :c1224; - :b :c1225; - :b :c1226; - :b :c1227; - :b :c1228; - :b :c1229; - :b :c1230; - :b :c1231; - :b :c1232; - :b :c1233; - :b :c1234; - :b :c1235; - :b :c1236; - :b :c1237; - :b :c1238; - :b :c1239; - :b :c1240; - :b :c1241; - :b :c1242; - :b :c1243; - :b :c1244; - :b :c1245; - :b :c1246; - :b :c1247; - :b :c1248; - :b :c1249; - :b :c1250; - :b :c1251; - :b :c1252; - :b :c1253; - :b :c1254; - :b :c1255; - :b :c1256; - :b :c1257; - :b :c1258; - :b :c1259; - :b :c1260; - :b :c1261; - :b :c1262; - :b :c1263; - :b :c1264; - :b :c1265; - :b :c1266; - :b :c1267; - :b :c1268; - :b :c1269; - :b :c1270; - :b :c1271; - :b :c1272; - :b :c1273; - :b :c1274; - :b :c1275; - :b :c1276; - :b :c1277; - :b :c1278; - :b :c1279; - :b :c1280; - :b :c1281; - :b :c1282; - :b :c1283; - :b :c1284; - :b :c1285; - :b :c1286; - :b :c1287; - :b :c1288; - :b :c1289; - :b :c1290; - :b :c1291; - :b :c1292; - :b :c1293; - :b :c1294; - :b :c1295; - :b :c1296; - :b :c1297; - :b :c1298; - :b :c1299; - :b :c1300; - :b :c1301; - :b :c1302; - :b :c1303; - :b :c1304; - :b :c1305; - :b :c1306; - :b :c1307; - :b :c1308; - :b :c1309; - :b :c1310; - :b :c1311; - :b :c1312; - :b :c1313; - :b :c1314; - :b :c1315; - :b :c1316; - :b :c1317; - :b :c1318; - :b :c1319; - :b :c1320; - :b :c1321; - :b :c1322; - :b :c1323; - :b :c1324; - :b :c1325; - :b :c1326; - :b :c1327; - :b :c1328; - :b :c1329; - :b :c1330; - :b :c1331; - :b :c1332; - :b :c1333; - :b :c1334; - :b :c1335; - :b :c1336; - :b :c1337; - :b :c1338; - :b :c1339; - :b :c1340; - :b :c1341; - :b :c1342; - :b :c1343; - :b :c1344; - :b :c1345; - :b :c1346; - :b :c1347; - :b :c1348; - :b :c1349; - :b :c1350; - :b :c1351; - :b :c1352; - :b :c1353; - :b :c1354; - :b :c1355; - :b :c1356; - :b :c1357; - :b :c1358; - :b :c1359; - :b :c1360; - :b :c1361; - :b :c1362; - :b :c1363; - :b :c1364; - :b :c1365; - :b :c1366; - :b :c1367; - :b :c1368; - :b :c1369; - :b :c1370; - :b :c1371; - :b :c1372; - :b :c1373; - :b :c1374; - :b :c1375; - :b :c1376; - :b :c1377; - :b :c1378; - :b :c1379; - :b :c1380; - :b :c1381; - :b :c1382; - :b :c1383; - :b :c1384; - :b :c1385; - :b :c1386; - :b :c1387; - :b :c1388; - :b :c1389; - :b :c1390; - :b :c1391; - :b :c1392; - :b :c1393; - :b :c1394; - :b :c1395; - :b :c1396; - :b :c1397; - :b :c1398; - :b :c1399; - :b :c1400; - :b :c1401; - :b :c1402; - :b :c1403; - :b :c1404; - :b :c1405; - :b :c1406; - :b :c1407; - :b :c1408; - :b :c1409; - :b :c1410; - :b :c1411; - :b :c1412; - :b :c1413; - :b :c1414; - :b :c1415; - :b :c1416; - :b :c1417; - :b :c1418; - :b :c1419; - :b :c1420; - :b :c1421; - :b :c1422; - :b :c1423; - :b :c1424; - :b :c1425; - :b :c1426; - :b :c1427; - :b :c1428; - :b :c1429; - :b :c1430; - :b :c1431; - :b :c1432; - :b :c1433; - :b :c1434; - :b :c1435; - :b :c1436; - :b :c1437; - :b :c1438; - :b :c1439; - :b :c1440; - :b :c1441; - :b :c1442; - :b :c1443; - :b :c1444; - :b :c1445; - :b :c1446; - :b :c1447; - :b :c1448; - :b :c1449; - :b :c1450; - :b :c1451; - :b :c1452; - :b :c1453; - :b :c1454; - :b :c1455; - :b :c1456; - :b :c1457; - :b :c1458; - :b :c1459; - :b :c1460; - :b :c1461; - :b :c1462; - :b :c1463; - :b :c1464; - :b :c1465; - :b :c1466; - :b :c1467; - :b :c1468; - :b :c1469; - :b :c1470; - :b :c1471; - :b :c1472; - :b :c1473; - :b :c1474; - :b :c1475; - :b :c1476; - :b :c1477; - :b :c1478; - :b :c1479; - :b :c1480; - :b :c1481; - :b :c1482; - :b :c1483; - :b :c1484; - :b :c1485; - :b :c1486; - :b :c1487; - :b :c1488; - :b :c1489; - :b :c1490; - :b :c1491; - :b :c1492; - :b :c1493; - :b :c1494; - :b :c1495; - :b :c1496; - :b :c1497; - :b :c1498; - :b :c1499; - :b :c1500; - :b :c1501; - :b :c1502; - :b :c1503; - :b :c1504; - :b :c1505; - :b :c1506; - :b :c1507; - :b :c1508; - :b :c1509; - :b :c1510; - :b :c1511; - :b :c1512; - :b :c1513; - :b :c1514; - :b :c1515; - :b :c1516; - :b :c1517; - :b :c1518; - :b :c1519; - :b :c1520; - :b :c1521; - :b :c1522; - :b :c1523; - :b :c1524; - :b :c1525; - :b :c1526; - :b :c1527; - :b :c1528; - :b :c1529; - :b :c1530; - :b :c1531; - :b :c1532; - :b :c1533; - :b :c1534; - :b :c1535; - :b :c1536; - :b :c1537; - :b :c1538; - :b :c1539; - :b :c1540; - :b :c1541; - :b :c1542; - :b :c1543; - :b :c1544; - :b :c1545; - :b :c1546; - :b :c1547; - :b :c1548; - :b :c1549; - :b :c1550; - :b :c1551; - :b :c1552; - :b :c1553; - :b :c1554; - :b :c1555; - :b :c1556; - :b :c1557; - :b :c1558; - :b :c1559; - :b :c1560; - :b :c1561; - :b :c1562; - :b :c1563; - :b :c1564; - :b :c1565; - :b :c1566; - :b :c1567; - :b :c1568; - :b :c1569; - :b :c1570; - :b :c1571; - :b :c1572; - :b :c1573; - :b :c1574; - :b :c1575; - :b :c1576; - :b :c1577; - :b :c1578; - :b :c1579; - :b :c1580; - :b :c1581; - :b :c1582; - :b :c1583; - :b :c1584; - :b :c1585; - :b :c1586; - :b :c1587; - :b :c1588; - :b :c1589; - :b :c1590; - :b :c1591; - :b :c1592; - :b :c1593; - :b :c1594; - :b :c1595; - :b :c1596; - :b :c1597; - :b :c1598; - :b :c1599; - :b :c1600; - :b :c1601; - :b :c1602; - :b :c1603; - :b :c1604; - :b :c1605; - :b :c1606; - :b :c1607; - :b :c1608; - :b :c1609; - :b :c1610; - :b :c1611; - :b :c1612; - :b :c1613; - :b :c1614; - :b :c1615; - :b :c1616; - :b :c1617; - :b :c1618; - :b :c1619; - :b :c1620; - :b :c1621; - :b :c1622; - :b :c1623; - :b :c1624; - :b :c1625; - :b :c1626; - :b :c1627; - :b :c1628; - :b :c1629; - :b :c1630; - :b :c1631; - :b :c1632; - :b :c1633; - :b :c1634; - :b :c1635; - :b :c1636; - :b :c1637; - :b :c1638; - :b :c1639; - :b :c1640; - :b :c1641; - :b :c1642; - :b :c1643; - :b :c1644; - :b :c1645; - :b :c1646; - :b :c1647; - :b :c1648; - :b :c1649; - :b :c1650; - :b :c1651; - :b :c1652; - :b :c1653; - :b :c1654; - :b :c1655; - :b :c1656; - :b :c1657; - :b :c1658; - :b :c1659; - :b :c1660; - :b :c1661; - :b :c1662; - :b :c1663; - :b :c1664; - :b :c1665; - :b :c1666; - :b :c1667; - :b :c1668; - :b :c1669; - :b :c1670; - :b :c1671; - :b :c1672; - :b :c1673; - :b :c1674; - :b :c1675; - :b :c1676; - :b :c1677; - :b :c1678; - :b :c1679; - :b :c1680; - :b :c1681; - :b :c1682; - :b :c1683; - :b :c1684; - :b :c1685; - :b :c1686; - :b :c1687; - :b :c1688; - :b :c1689; - :b :c1690; - :b :c1691; - :b :c1692; - :b :c1693; - :b :c1694; - :b :c1695; - :b :c1696; - :b :c1697; - :b :c1698; - :b :c1699; - :b :c1700; - :b :c1701; - :b :c1702; - :b :c1703; - :b :c1704; - :b :c1705; - :b :c1706; - :b :c1707; - :b :c1708; - :b :c1709; - :b :c1710; - :b :c1711; - :b :c1712; - :b :c1713; - :b :c1714; - :b :c1715; - :b :c1716; - :b :c1717; - :b :c1718; - :b :c1719; - :b :c1720; - :b :c1721; - :b :c1722; - :b :c1723; - :b :c1724; - :b :c1725; - :b :c1726; - :b :c1727; - :b :c1728; - :b :c1729; - :b :c1730; - :b :c1731; - :b :c1732; - :b :c1733; - :b :c1734; - :b :c1735; - :b :c1736; - :b :c1737; - :b :c1738; - :b :c1739; - :b :c1740; - :b :c1741; - :b :c1742; - :b :c1743; - :b :c1744; - :b :c1745; - :b :c1746; - :b :c1747; - :b :c1748; - :b :c1749; - :b :c1750; - :b :c1751; - :b :c1752; - :b :c1753; - :b :c1754; - :b :c1755; - :b :c1756; - :b :c1757; - :b :c1758; - :b :c1759; - :b :c1760; - :b :c1761; - :b :c1762; - :b :c1763; - :b :c1764; - :b :c1765; - :b :c1766; - :b :c1767; - :b :c1768; - :b :c1769; - :b :c1770; - :b :c1771; - :b :c1772; - :b :c1773; - :b :c1774; - :b :c1775; - :b :c1776; - :b :c1777; - :b :c1778; - :b :c1779; - :b :c1780; - :b :c1781; - :b :c1782; - :b :c1783; - :b :c1784; - :b :c1785; - :b :c1786; - :b :c1787; - :b :c1788; - :b :c1789; - :b :c1790; - :b :c1791; - :b :c1792; - :b :c1793; - :b :c1794; - :b :c1795; - :b :c1796; - :b :c1797; - :b :c1798; - :b :c1799; - :b :c1800; - :b :c1801; - :b :c1802; - :b :c1803; - :b :c1804; - :b :c1805; - :b :c1806; - :b :c1807; - :b :c1808; - :b :c1809; - :b :c1810; - :b :c1811; - :b :c1812; - :b :c1813; - :b :c1814; - :b :c1815; - :b :c1816; - :b :c1817; - :b :c1818; - :b :c1819; - :b :c1820; - :b :c1821; - :b :c1822; - :b :c1823; - :b :c1824; - :b :c1825; - :b :c1826; - :b :c1827; - :b :c1828; - :b :c1829; - :b :c1830; - :b :c1831; - :b :c1832; - :b :c1833; - :b :c1834; - :b :c1835; - :b :c1836; - :b :c1837; - :b :c1838; - :b :c1839; - :b :c1840; - :b :c1841; - :b :c1842; - :b :c1843; - :b :c1844; - :b :c1845; - :b :c1846; - :b :c1847; - :b :c1848; - :b :c1849; - :b :c1850; - :b :c1851; - :b :c1852; - :b :c1853; - :b :c1854; - :b :c1855; - :b :c1856; - :b :c1857; - :b :c1858; - :b :c1859; - :b :c1860; - :b :c1861; - :b :c1862; - :b :c1863; - :b :c1864; - :b :c1865; - :b :c1866; - :b :c1867; - :b :c1868; - :b :c1869; - :b :c1870; - :b :c1871; - :b :c1872; - :b :c1873; - :b :c1874; - :b :c1875; - :b :c1876; - :b :c1877; - :b :c1878; - :b :c1879; - :b :c1880; - :b :c1881; - :b :c1882; - :b :c1883; - :b :c1884; - :b :c1885; - :b :c1886; - :b :c1887; - :b :c1888; - :b :c1889; - :b :c1890; - :b :c1891; - :b :c1892; - :b :c1893; - :b :c1894; - :b :c1895; - :b :c1896; - :b :c1897; - :b :c1898; - :b :c1899; - :b :c1900; - :b :c1901; - :b :c1902; - :b :c1903; - :b :c1904; - :b :c1905; - :b :c1906; - :b :c1907; - :b :c1908; - :b :c1909; - :b :c1910; - :b :c1911; - :b :c1912; - :b :c1913; - :b :c1914; - :b :c1915; - :b :c1916; - :b :c1917; - :b :c1918; - :b :c1919; - :b :c1920; - :b :c1921; - :b :c1922; - :b :c1923; - :b :c1924; - :b :c1925; - :b :c1926; - :b :c1927; - :b :c1928; - :b :c1929; - :b :c1930; - :b :c1931; - :b :c1932; - :b :c1933; - :b :c1934; - :b :c1935; - :b :c1936; - :b :c1937; - :b :c1938; - :b :c1939; - :b :c1940; - :b :c1941; - :b :c1942; - :b :c1943; - :b :c1944; - :b :c1945; - :b :c1946; - :b :c1947; - :b :c1948; - :b :c1949; - :b :c1950; - :b :c1951; - :b :c1952; - :b :c1953; - :b :c1954; - :b :c1955; - :b :c1956; - :b :c1957; - :b :c1958; - :b :c1959; - :b :c1960; - :b :c1961; - :b :c1962; - :b :c1963; - :b :c1964; - :b :c1965; - :b :c1966; - :b :c1967; - :b :c1968; - :b :c1969; - :b :c1970; - :b :c1971; - :b :c1972; - :b :c1973; - :b :c1974; - :b :c1975; - :b :c1976; - :b :c1977; - :b :c1978; - :b :c1979; - :b :c1980; - :b :c1981; - :b :c1982; - :b :c1983; - :b :c1984; - :b :c1985; - :b :c1986; - :b :c1987; - :b :c1988; - :b :c1989; - :b :c1990; - :b :c1991; - :b :c1992; - :b :c1993; - :b :c1994; - :b :c1995; - :b :c1996; - :b :c1997; - :b :c1998; - :b :c1999; - :b :c2000; - :b :c2001; - :b :c2002; - :b :c2003; - :b :c2004; - :b :c2005; - :b :c2006; - :b :c2007; - :b :c2008; - :b :c2009; - :b :c2010; - :b :c2011; - :b :c2012; - :b :c2013; - :b :c2014; - :b :c2015; - :b :c2016; - :b :c2017; - :b :c2018; - :b :c2019; - :b :c2020; - :b :c2021; - :b :c2022; - :b :c2023; - :b :c2024; - :b :c2025; - :b :c2026; - :b :c2027; - :b :c2028; - :b :c2029; - :b :c2030; - :b :c2031; - :b :c2032; - :b :c2033; - :b :c2034; - :b :c2035; - :b :c2036; - :b :c2037; - :b :c2038; - :b :c2039; - :b :c2040; - :b :c2041; - :b :c2042; - :b :c2043; - :b :c2044; - :b :c2045; - :b :c2046; - :b :c2047; - :b :c2048; - :b :c2049; - :b :c2050; - :b :c2051; - :b :c2052; - :b :c2053; - :b :c2054; - :b :c2055; - :b :c2056; - :b :c2057; - :b :c2058; - :b :c2059; - :b :c2060; - :b :c2061; - :b :c2062; - :b :c2063; - :b :c2064; - :b :c2065; - :b :c2066; - :b :c2067; - :b :c2068; - :b :c2069; - :b :c2070; - :b :c2071; - :b :c2072; - :b :c2073; - :b :c2074; - :b :c2075; - :b :c2076; - :b :c2077; - :b :c2078; - :b :c2079; - :b :c2080; - :b :c2081; - :b :c2082; - :b :c2083; - :b :c2084; - :b :c2085; - :b :c2086; - :b :c2087; - :b :c2088; - :b :c2089; - :b :c2090; - :b :c2091; - :b :c2092; - :b :c2093; - :b :c2094; - :b :c2095; - :b :c2096; - :b :c2097; - :b :c2098; - :b :c2099; - :b :c2100; - :b :c2101; - :b :c2102; - :b :c2103; - :b :c2104; - :b :c2105; - :b :c2106; - :b :c2107; - :b :c2108; - :b :c2109; - :b :c2110; - :b :c2111; - :b :c2112; - :b :c2113; - :b :c2114; - :b :c2115; - :b :c2116; - :b :c2117; - :b :c2118; - :b :c2119; - :b :c2120; - :b :c2121; - :b :c2122; - :b :c2123; - :b :c2124; - :b :c2125; - :b :c2126; - :b :c2127; - :b :c2128; - :b :c2129; - :b :c2130; - :b :c2131; - :b :c2132; - :b :c2133; - :b :c2134; - :b :c2135; - :b :c2136; - :b :c2137; - :b :c2138; - :b :c2139; - :b :c2140; - :b :c2141; - :b :c2142; - :b :c2143; - :b :c2144; - :b :c2145; - :b :c2146; - :b :c2147; - :b :c2148; - :b :c2149; - :b :c2150; - :b :c2151; - :b :c2152; - :b :c2153; - :b :c2154; - :b :c2155; - :b :c2156; - :b :c2157; - :b :c2158; - :b :c2159; - :b :c2160; - :b :c2161; - :b :c2162; - :b :c2163; - :b :c2164; - :b :c2165; - :b :c2166; - :b :c2167; - :b :c2168; - :b :c2169; - :b :c2170; - :b :c2171; - :b :c2172; - :b :c2173; - :b :c2174; - :b :c2175; - :b :c2176; - :b :c2177; - :b :c2178; - :b :c2179; - :b :c2180; - :b :c2181; - :b :c2182; - :b :c2183; - :b :c2184; - :b :c2185; - :b :c2186; - :b :c2187; - :b :c2188; - :b :c2189; - :b :c2190; - :b :c2191; - :b :c2192; - :b :c2193; - :b :c2194; - :b :c2195; - :b :c2196; - :b :c2197; - :b :c2198; - :b :c2199; - :b :c2200; - :b :c2201; - :b :c2202; - :b :c2203; - :b :c2204; - :b :c2205; - :b :c2206; - :b :c2207; - :b :c2208; - :b :c2209; - :b :c2210; - :b :c2211; - :b :c2212; - :b :c2213; - :b :c2214; - :b :c2215; - :b :c2216; - :b :c2217; - :b :c2218; - :b :c2219; - :b :c2220; - :b :c2221; - :b :c2222; - :b :c2223; - :b :c2224; - :b :c2225; - :b :c2226; - :b :c2227; - :b :c2228; - :b :c2229; - :b :c2230; - :b :c2231; - :b :c2232; - :b :c2233; - :b :c2234; - :b :c2235; - :b :c2236; - :b :c2237; - :b :c2238; - :b :c2239; - :b :c2240; - :b :c2241; - :b :c2242; - :b :c2243; - :b :c2244; - :b :c2245; - :b :c2246; - :b :c2247; - :b :c2248; - :b :c2249; - :b :c2250; - :b :c2251; - :b :c2252; - :b :c2253; - :b :c2254; - :b :c2255; - :b :c2256; - :b :c2257; - :b :c2258; - :b :c2259; - :b :c2260; - :b :c2261; - :b :c2262; - :b :c2263; - :b :c2264; - :b :c2265; - :b :c2266; - :b :c2267; - :b :c2268; - :b :c2269; - :b :c2270; - :b :c2271; - :b :c2272; - :b :c2273; - :b :c2274; - :b :c2275; - :b :c2276; - :b :c2277; - :b :c2278; - :b :c2279; - :b :c2280; - :b :c2281; - :b :c2282; - :b :c2283; - :b :c2284; - :b :c2285; - :b :c2286; - :b :c2287; - :b :c2288; - :b :c2289; - :b :c2290; - :b :c2291; - :b :c2292; - :b :c2293; - :b :c2294; - :b :c2295; - :b :c2296; - :b :c2297; - :b :c2298; - :b :c2299; - :b :c2300; - :b :c2301; - :b :c2302; - :b :c2303; - :b :c2304; - :b :c2305; - :b :c2306; - :b :c2307; - :b :c2308; - :b :c2309; - :b :c2310; - :b :c2311; - :b :c2312; - :b :c2313; - :b :c2314; - :b :c2315; - :b :c2316; - :b :c2317; - :b :c2318; - :b :c2319; - :b :c2320; - :b :c2321; - :b :c2322; - :b :c2323; - :b :c2324; - :b :c2325; - :b :c2326; - :b :c2327; - :b :c2328; - :b :c2329; - :b :c2330; - :b :c2331; - :b :c2332; - :b :c2333; - :b :c2334; - :b :c2335; - :b :c2336; - :b :c2337; - :b :c2338; - :b :c2339; - :b :c2340; - :b :c2341; - :b :c2342; - :b :c2343; - :b :c2344; - :b :c2345; - :b :c2346; - :b :c2347; - :b :c2348; - :b :c2349; - :b :c2350; - :b :c2351; - :b :c2352; - :b :c2353; - :b :c2354; - :b :c2355; - :b :c2356; - :b :c2357; - :b :c2358; - :b :c2359; - :b :c2360; - :b :c2361; - :b :c2362; - :b :c2363; - :b :c2364; - :b :c2365; - :b :c2366; - :b :c2367; - :b :c2368; - :b :c2369; - :b :c2370; - :b :c2371; - :b :c2372; - :b :c2373; - :b :c2374; - :b :c2375; - :b :c2376; - :b :c2377; - :b :c2378; - :b :c2379; - :b :c2380; - :b :c2381; - :b :c2382; - :b :c2383; - :b :c2384; - :b :c2385; - :b :c2386; - :b :c2387; - :b :c2388; - :b :c2389; - :b :c2390; - :b :c2391; - :b :c2392; - :b :c2393; - :b :c2394; - :b :c2395; - :b :c2396; - :b :c2397; - :b :c2398; - :b :c2399; - :b :c2400; - :b :c2401; - :b :c2402; - :b :c2403; - :b :c2404; - :b :c2405; - :b :c2406; - :b :c2407; - :b :c2408; - :b :c2409; - :b :c2410; - :b :c2411; - :b :c2412; - :b :c2413; - :b :c2414; - :b :c2415; - :b :c2416; - :b :c2417; - :b :c2418; - :b :c2419; - :b :c2420; - :b :c2421; - :b :c2422; - :b :c2423; - :b :c2424; - :b :c2425; - :b :c2426; - :b :c2427; - :b :c2428; - :b :c2429; - :b :c2430; - :b :c2431; - :b :c2432; - :b :c2433; - :b :c2434; - :b :c2435; - :b :c2436; - :b :c2437; - :b :c2438; - :b :c2439; - :b :c2440; - :b :c2441; - :b :c2442; - :b :c2443; - :b :c2444; - :b :c2445; - :b :c2446; - :b :c2447; - :b :c2448; - :b :c2449; - :b :c2450; - :b :c2451; - :b :c2452; - :b :c2453; - :b :c2454; - :b :c2455; - :b :c2456; - :b :c2457; - :b :c2458; - :b :c2459; - :b :c2460; - :b :c2461; - :b :c2462; - :b :c2463; - :b :c2464; - :b :c2465; - :b :c2466; - :b :c2467; - :b :c2468; - :b :c2469; - :b :c2470; - :b :c2471; - :b :c2472; - :b :c2473; - :b :c2474; - :b :c2475; - :b :c2476; - :b :c2477; - :b :c2478; - :b :c2479; - :b :c2480; - :b :c2481; - :b :c2482; - :b :c2483; - :b :c2484; - :b :c2485; - :b :c2486; - :b :c2487; - :b :c2488; - :b :c2489; - :b :c2490; - :b :c2491; - :b :c2492; - :b :c2493; - :b :c2494; - :b :c2495; - :b :c2496; - :b :c2497; - :b :c2498; - :b :c2499; - :b :c2500; - :b :c2501; - :b :c2502; - :b :c2503; - :b :c2504; - :b :c2505; - :b :c2506; - :b :c2507; - :b :c2508; - :b :c2509; - :b :c2510; - :b :c2511; - :b :c2512; - :b :c2513; - :b :c2514; - :b :c2515; - :b :c2516; - :b :c2517; - :b :c2518; - :b :c2519; - :b :c2520; - :b :c2521; - :b :c2522; - :b :c2523; - :b :c2524; - :b :c2525; - :b :c2526; - :b :c2527; - :b :c2528; - :b :c2529; - :b :c2530; - :b :c2531; - :b :c2532; - :b :c2533; - :b :c2534; - :b :c2535; - :b :c2536; - :b :c2537; - :b :c2538; - :b :c2539; - :b :c2540; - :b :c2541; - :b :c2542; - :b :c2543; - :b :c2544; - :b :c2545; - :b :c2546; - :b :c2547; - :b :c2548; - :b :c2549; - :b :c2550; - :b :c2551; - :b :c2552; - :b :c2553; - :b :c2554; - :b :c2555; - :b :c2556; - :b :c2557; - :b :c2558; - :b :c2559; - :b :c2560; - :b :c2561; - :b :c2562; - :b :c2563; - :b :c2564; - :b :c2565; - :b :c2566; - :b :c2567; - :b :c2568; - :b :c2569; - :b :c2570; - :b :c2571; - :b :c2572; - :b :c2573; - :b :c2574; - :b :c2575; - :b :c2576; - :b :c2577; - :b :c2578; - :b :c2579; - :b :c2580; - :b :c2581; - :b :c2582; - :b :c2583; - :b :c2584; - :b :c2585; - :b :c2586; - :b :c2587; - :b :c2588; - :b :c2589; - :b :c2590; - :b :c2591; - :b :c2592; - :b :c2593; - :b :c2594; - :b :c2595; - :b :c2596; - :b :c2597; - :b :c2598; - :b :c2599; - :b :c2600; - :b :c2601; - :b :c2602; - :b :c2603; - :b :c2604; - :b :c2605; - :b :c2606; - :b :c2607; - :b :c2608; - :b :c2609; - :b :c2610; - :b :c2611; - :b :c2612; - :b :c2613; - :b :c2614; - :b :c2615; - :b :c2616; - :b :c2617; - :b :c2618; - :b :c2619; - :b :c2620; - :b :c2621; - :b :c2622; - :b :c2623; - :b :c2624; - :b :c2625; - :b :c2626; - :b :c2627; - :b :c2628; - :b :c2629; - :b :c2630; - :b :c2631; - :b :c2632; - :b :c2633; - :b :c2634; - :b :c2635; - :b :c2636; - :b :c2637; - :b :c2638; - :b :c2639; - :b :c2640; - :b :c2641; - :b :c2642; - :b :c2643; - :b :c2644; - :b :c2645; - :b :c2646; - :b :c2647; - :b :c2648; - :b :c2649; - :b :c2650; - :b :c2651; - :b :c2652; - :b :c2653; - :b :c2654; - :b :c2655; - :b :c2656; - :b :c2657; - :b :c2658; - :b :c2659; - :b :c2660; - :b :c2661; - :b :c2662; - :b :c2663; - :b :c2664; - :b :c2665; - :b :c2666; - :b :c2667; - :b :c2668; - :b :c2669; - :b :c2670; - :b :c2671; - :b :c2672; - :b :c2673; - :b :c2674; - :b :c2675; - :b :c2676; - :b :c2677; - :b :c2678; - :b :c2679; - :b :c2680; - :b :c2681; - :b :c2682; - :b :c2683; - :b :c2684; - :b :c2685; - :b :c2686; - :b :c2687; - :b :c2688; - :b :c2689; - :b :c2690; - :b :c2691; - :b :c2692; - :b :c2693; - :b :c2694; - :b :c2695; - :b :c2696; - :b :c2697; - :b :c2698; - :b :c2699; - :b :c2700; - :b :c2701; - :b :c2702; - :b :c2703; - :b :c2704; - :b :c2705; - :b :c2706; - :b :c2707; - :b :c2708; - :b :c2709; - :b :c2710; - :b :c2711; - :b :c2712; - :b :c2713; - :b :c2714; - :b :c2715; - :b :c2716; - :b :c2717; - :b :c2718; - :b :c2719; - :b :c2720; - :b :c2721; - :b :c2722; - :b :c2723; - :b :c2724; - :b :c2725; - :b :c2726; - :b :c2727; - :b :c2728; - :b :c2729; - :b :c2730; - :b :c2731; - :b :c2732; - :b :c2733; - :b :c2734; - :b :c2735; - :b :c2736; - :b :c2737; - :b :c2738; - :b :c2739; - :b :c2740; - :b :c2741; - :b :c2742; - :b :c2743; - :b :c2744; - :b :c2745; - :b :c2746; - :b :c2747; - :b :c2748; - :b :c2749; - :b :c2750; - :b :c2751; - :b :c2752; - :b :c2753; - :b :c2754; - :b :c2755; - :b :c2756; - :b :c2757; - :b :c2758; - :b :c2759; - :b :c2760; - :b :c2761; - :b :c2762; - :b :c2763; - :b :c2764; - :b :c2765; - :b :c2766; - :b :c2767; - :b :c2768; - :b :c2769; - :b :c2770; - :b :c2771; - :b :c2772; - :b :c2773; - :b :c2774; - :b :c2775; - :b :c2776; - :b :c2777; - :b :c2778; - :b :c2779; - :b :c2780; - :b :c2781; - :b :c2782; - :b :c2783; - :b :c2784; - :b :c2785; - :b :c2786; - :b :c2787; - :b :c2788; - :b :c2789; - :b :c2790; - :b :c2791; - :b :c2792; - :b :c2793; - :b :c2794; - :b :c2795; - :b :c2796; - :b :c2797; - :b :c2798; - :b :c2799; - :b :c2800; - :b :c2801; - :b :c2802; - :b :c2803; - :b :c2804; - :b :c2805; - :b :c2806; - :b :c2807; - :b :c2808; - :b :c2809; - :b :c2810; - :b :c2811; - :b :c2812; - :b :c2813; - :b :c2814; - :b :c2815; - :b :c2816; - :b :c2817; - :b :c2818; - :b :c2819; - :b :c2820; - :b :c2821; - :b :c2822; - :b :c2823; - :b :c2824; - :b :c2825; - :b :c2826; - :b :c2827; - :b :c2828; - :b :c2829; - :b :c2830; - :b :c2831; - :b :c2832; - :b :c2833; - :b :c2834; - :b :c2835; - :b :c2836; - :b :c2837; - :b :c2838; - :b :c2839; - :b :c2840; - :b :c2841; - :b :c2842; - :b :c2843; - :b :c2844; - :b :c2845; - :b :c2846; - :b :c2847; - :b :c2848; - :b :c2849; - :b :c2850; - :b :c2851; - :b :c2852; - :b :c2853; - :b :c2854; - :b :c2855; - :b :c2856; - :b :c2857; - :b :c2858; - :b :c2859; - :b :c2860; - :b :c2861; - :b :c2862; - :b :c2863; - :b :c2864; - :b :c2865; - :b :c2866; - :b :c2867; - :b :c2868; - :b :c2869; - :b :c2870; - :b :c2871; - :b :c2872; - :b :c2873; - :b :c2874; - :b :c2875; - :b :c2876; - :b :c2877; - :b :c2878; - :b :c2879; - :b :c2880; - :b :c2881; - :b :c2882; - :b :c2883; - :b :c2884; - :b :c2885; - :b :c2886; - :b :c2887; - :b :c2888; - :b :c2889; - :b :c2890; - :b :c2891; - :b :c2892; - :b :c2893; - :b :c2894; - :b :c2895; - :b :c2896; - :b :c2897; - :b :c2898; - :b :c2899; - :b :c2900; - :b :c2901; - :b :c2902; - :b :c2903; - :b :c2904; - :b :c2905; - :b :c2906; - :b :c2907; - :b :c2908; - :b :c2909; - :b :c2910; - :b :c2911; - :b :c2912; - :b :c2913; - :b :c2914; - :b :c2915; - :b :c2916; - :b :c2917; - :b :c2918; - :b :c2919; - :b :c2920; - :b :c2921; - :b :c2922; - :b :c2923; - :b :c2924; - :b :c2925; - :b :c2926; - :b :c2927; - :b :c2928; - :b :c2929; - :b :c2930; - :b :c2931; - :b :c2932; - :b :c2933; - :b :c2934; - :b :c2935; - :b :c2936; - :b :c2937; - :b :c2938; - :b :c2939; - :b :c2940; - :b :c2941; - :b :c2942; - :b :c2943; - :b :c2944; - :b :c2945; - :b :c2946; - :b :c2947; - :b :c2948; - :b :c2949; - :b :c2950; - :b :c2951; - :b :c2952; - :b :c2953; - :b :c2954; - :b :c2955; - :b :c2956; - :b :c2957; - :b :c2958; - :b :c2959; - :b :c2960; - :b :c2961; - :b :c2962; - :b :c2963; - :b :c2964; - :b :c2965; - :b :c2966; - :b :c2967; - :b :c2968; - :b :c2969; - :b :c2970; - :b :c2971; - :b :c2972; - :b :c2973; - :b :c2974; - :b :c2975; - :b :c2976; - :b :c2977; - :b :c2978; - :b :c2979; - :b :c2980; - :b :c2981; - :b :c2982; - :b :c2983; - :b :c2984; - :b :c2985; - :b :c2986; - :b :c2987; - :b :c2988; - :b :c2989; - :b :c2990; - :b :c2991; - :b :c2992; - :b :c2993; - :b :c2994; - :b :c2995; - :b :c2996; - :b :c2997; - :b :c2998; - :b :c2999; - :b :c3000; - :b :c3001; - :b :c3002; - :b :c3003; - :b :c3004; - :b :c3005; - :b :c3006; - :b :c3007; - :b :c3008; - :b :c3009; - :b :c3010; - :b :c3011; - :b :c3012; - :b :c3013; - :b :c3014; - :b :c3015; - :b :c3016; - :b :c3017; - :b :c3018; - :b :c3019; - :b :c3020; - :b :c3021; - :b :c3022; - :b :c3023; - :b :c3024; - :b :c3025; - :b :c3026; - :b :c3027; - :b :c3028; - :b :c3029; - :b :c3030; - :b :c3031; - :b :c3032; - :b :c3033; - :b :c3034; - :b :c3035; - :b :c3036; - :b :c3037; - :b :c3038; - :b :c3039; - :b :c3040; - :b :c3041; - :b :c3042; - :b :c3043; - :b :c3044; - :b :c3045; - :b :c3046; - :b :c3047; - :b :c3048; - :b :c3049; - :b :c3050; - :b :c3051; - :b :c3052; - :b :c3053; - :b :c3054; - :b :c3055; - :b :c3056; - :b :c3057; - :b :c3058; - :b :c3059; - :b :c3060; - :b :c3061; - :b :c3062; - :b :c3063; - :b :c3064; - :b :c3065; - :b :c3066; - :b :c3067; - :b :c3068; - :b :c3069; - :b :c3070; - :b :c3071; - :b :c3072; - :b :c3073; - :b :c3074; - :b :c3075; - :b :c3076; - :b :c3077; - :b :c3078; - :b :c3079; - :b :c3080; - :b :c3081; - :b :c3082; - :b :c3083; - :b :c3084; - :b :c3085; - :b :c3086; - :b :c3087; - :b :c3088; - :b :c3089; - :b :c3090; - :b :c3091; - :b :c3092; - :b :c3093; - :b :c3094; - :b :c3095; - :b :c3096; - :b :c3097; - :b :c3098; - :b :c3099; - :b :c3100; - :b :c3101; - :b :c3102; - :b :c3103; - :b :c3104; - :b :c3105; - :b :c3106; - :b :c3107; - :b :c3108; - :b :c3109; - :b :c3110; - :b :c3111; - :b :c3112; - :b :c3113; - :b :c3114; - :b :c3115; - :b :c3116; - :b :c3117; - :b :c3118; - :b :c3119; - :b :c3120; - :b :c3121; - :b :c3122; - :b :c3123; - :b :c3124; - :b :c3125; - :b :c3126; - :b :c3127; - :b :c3128; - :b :c3129; - :b :c3130; - :b :c3131; - :b :c3132; - :b :c3133; - :b :c3134; - :b :c3135; - :b :c3136; - :b :c3137; - :b :c3138; - :b :c3139; - :b :c3140; - :b :c3141; - :b :c3142; - :b :c3143; - :b :c3144; - :b :c3145; - :b :c3146; - :b :c3147; - :b :c3148; - :b :c3149; - :b :c3150; - :b :c3151; - :b :c3152; - :b :c3153; - :b :c3154; - :b :c3155; - :b :c3156; - :b :c3157; - :b :c3158; - :b :c3159; - :b :c3160; - :b :c3161; - :b :c3162; - :b :c3163; - :b :c3164; - :b :c3165; - :b :c3166; - :b :c3167; - :b :c3168; - :b :c3169; - :b :c3170; - :b :c3171; - :b :c3172; - :b :c3173; - :b :c3174; - :b :c3175; - :b :c3176; - :b :c3177; - :b :c3178; - :b :c3179; - :b :c3180; - :b :c3181; - :b :c3182; - :b :c3183; - :b :c3184; - :b :c3185; - :b :c3186; - :b :c3187; - :b :c3188; - :b :c3189; - :b :c3190; - :b :c3191; - :b :c3192; - :b :c3193; - :b :c3194; - :b :c3195; - :b :c3196; - :b :c3197; - :b :c3198; - :b :c3199; - :b :c3200; - :b :c3201; - :b :c3202; - :b :c3203; - :b :c3204; - :b :c3205; - :b :c3206; - :b :c3207; - :b :c3208; - :b :c3209; - :b :c3210; - :b :c3211; - :b :c3212; - :b :c3213; - :b :c3214; - :b :c3215; - :b :c3216; - :b :c3217; - :b :c3218; - :b :c3219; - :b :c3220; - :b :c3221; - :b :c3222; - :b :c3223; - :b :c3224; - :b :c3225; - :b :c3226; - :b :c3227; - :b :c3228; - :b :c3229; - :b :c3230; - :b :c3231; - :b :c3232; - :b :c3233; - :b :c3234; - :b :c3235; - :b :c3236; - :b :c3237; - :b :c3238; - :b :c3239; - :b :c3240; - :b :c3241; - :b :c3242; - :b :c3243; - :b :c3244; - :b :c3245; - :b :c3246; - :b :c3247; - :b :c3248; - :b :c3249; - :b :c3250; - :b :c3251; - :b :c3252; - :b :c3253; - :b :c3254; - :b :c3255; - :b :c3256; - :b :c3257; - :b :c3258; - :b :c3259; - :b :c3260; - :b :c3261; - :b :c3262; - :b :c3263; - :b :c3264; - :b :c3265; - :b :c3266; - :b :c3267; - :b :c3268; - :b :c3269; - :b :c3270; - :b :c3271; - :b :c3272; - :b :c3273; - :b :c3274; - :b :c3275; - :b :c3276; - :b :c3277; - :b :c3278; - :b :c3279; - :b :c3280; - :b :c3281; - :b :c3282; - :b :c3283; - :b :c3284; - :b :c3285; - :b :c3286; - :b :c3287; - :b :c3288; - :b :c3289; - :b :c3290; - :b :c3291; - :b :c3292; - :b :c3293; - :b :c3294; - :b :c3295; - :b :c3296; - :b :c3297; - :b :c3298; - :b :c3299; - :b :c3300; - :b :c3301; - :b :c3302; - :b :c3303; - :b :c3304; - :b :c3305; - :b :c3306; - :b :c3307; - :b :c3308; - :b :c3309; - :b :c3310; - :b :c3311; - :b :c3312; - :b :c3313; - :b :c3314; - :b :c3315; - :b :c3316; - :b :c3317; - :b :c3318; - :b :c3319; - :b :c3320; - :b :c3321; - :b :c3322; - :b :c3323; - :b :c3324; - :b :c3325; - :b :c3326; - :b :c3327; - :b :c3328; - :b :c3329; - :b :c3330; - :b :c3331; - :b :c3332; - :b :c3333; - :b :c3334; - :b :c3335; - :b :c3336; - :b :c3337; - :b :c3338; - :b :c3339; - :b :c3340; - :b :c3341; - :b :c3342; - :b :c3343; - :b :c3344; - :b :c3345; - :b :c3346; - :b :c3347; - :b :c3348; - :b :c3349; - :b :c3350; - :b :c3351; - :b :c3352; - :b :c3353; - :b :c3354; - :b :c3355; - :b :c3356; - :b :c3357; - :b :c3358; - :b :c3359; - :b :c3360; - :b :c3361; - :b :c3362; - :b :c3363; - :b :c3364; - :b :c3365; - :b :c3366; - :b :c3367; - :b :c3368; - :b :c3369; - :b :c3370; - :b :c3371; - :b :c3372; - :b :c3373; - :b :c3374; - :b :c3375; - :b :c3376; - :b :c3377; - :b :c3378; - :b :c3379; - :b :c3380; - :b :c3381; - :b :c3382; - :b :c3383; - :b :c3384; - :b :c3385; - :b :c3386; - :b :c3387; - :b :c3388; - :b :c3389; - :b :c3390; - :b :c3391; - :b :c3392; - :b :c3393; - :b :c3394; - :b :c3395; - :b :c3396; - :b :c3397; - :b :c3398; - :b :c3399; - :b :c3400; - :b :c3401; - :b :c3402; - :b :c3403; - :b :c3404; - :b :c3405; - :b :c3406; - :b :c3407; - :b :c3408; - :b :c3409; - :b :c3410; - :b :c3411; - :b :c3412; - :b :c3413; - :b :c3414; - :b :c3415; - :b :c3416; - :b :c3417; - :b :c3418; - :b :c3419; - :b :c3420; - :b :c3421; - :b :c3422; - :b :c3423; - :b :c3424; - :b :c3425; - :b :c3426; - :b :c3427; - :b :c3428; - :b :c3429; - :b :c3430; - :b :c3431; - :b :c3432; - :b :c3433; - :b :c3434; - :b :c3435; - :b :c3436; - :b :c3437; - :b :c3438; - :b :c3439; - :b :c3440; - :b :c3441; - :b :c3442; - :b :c3443; - :b :c3444; - :b :c3445; - :b :c3446; - :b :c3447; - :b :c3448; - :b :c3449; - :b :c3450; - :b :c3451; - :b :c3452; - :b :c3453; - :b :c3454; - :b :c3455; - :b :c3456; - :b :c3457; - :b :c3458; - :b :c3459; - :b :c3460; - :b :c3461; - :b :c3462; - :b :c3463; - :b :c3464; - :b :c3465; - :b :c3466; - :b :c3467; - :b :c3468; - :b :c3469; - :b :c3470; - :b :c3471; - :b :c3472; - :b :c3473; - :b :c3474; - :b :c3475; - :b :c3476; - :b :c3477; - :b :c3478; - :b :c3479; - :b :c3480; - :b :c3481; - :b :c3482; - :b :c3483; - :b :c3484; - :b :c3485; - :b :c3486; - :b :c3487; - :b :c3488; - :b :c3489; - :b :c3490; - :b :c3491; - :b :c3492; - :b :c3493; - :b :c3494; - :b :c3495; - :b :c3496; - :b :c3497; - :b :c3498; - :b :c3499; - :b :c3500; - :b :c3501; - :b :c3502; - :b :c3503; - :b :c3504; - :b :c3505; - :b :c3506; - :b :c3507; - :b :c3508; - :b :c3509; - :b :c3510; - :b :c3511; - :b :c3512; - :b :c3513; - :b :c3514; - :b :c3515; - :b :c3516; - :b :c3517; - :b :c3518; - :b :c3519; - :b :c3520; - :b :c3521; - :b :c3522; - :b :c3523; - :b :c3524; - :b :c3525; - :b :c3526; - :b :c3527; - :b :c3528; - :b :c3529; - :b :c3530; - :b :c3531; - :b :c3532; - :b :c3533; - :b :c3534; - :b :c3535; - :b :c3536; - :b :c3537; - :b :c3538; - :b :c3539; - :b :c3540; - :b :c3541; - :b :c3542; - :b :c3543; - :b :c3544; - :b :c3545; - :b :c3546; - :b :c3547; - :b :c3548; - :b :c3549; - :b :c3550; - :b :c3551; - :b :c3552; - :b :c3553; - :b :c3554; - :b :c3555; - :b :c3556; - :b :c3557; - :b :c3558; - :b :c3559; - :b :c3560; - :b :c3561; - :b :c3562; - :b :c3563; - :b :c3564; - :b :c3565; - :b :c3566; - :b :c3567; - :b :c3568; - :b :c3569; - :b :c3570; - :b :c3571; - :b :c3572; - :b :c3573; - :b :c3574; - :b :c3575; - :b :c3576; - :b :c3577; - :b :c3578; - :b :c3579; - :b :c3580; - :b :c3581; - :b :c3582; - :b :c3583; - :b :c3584; - :b :c3585; - :b :c3586; - :b :c3587; - :b :c3588; - :b :c3589; - :b :c3590; - :b :c3591; - :b :c3592; - :b :c3593; - :b :c3594; - :b :c3595; - :b :c3596; - :b :c3597; - :b :c3598; - :b :c3599; - :b :c3600; - :b :c3601; - :b :c3602; - :b :c3603; - :b :c3604; - :b :c3605; - :b :c3606; - :b :c3607; - :b :c3608; - :b :c3609; - :b :c3610; - :b :c3611; - :b :c3612; - :b :c3613; - :b :c3614; - :b :c3615; - :b :c3616; - :b :c3617; - :b :c3618; - :b :c3619; - :b :c3620; - :b :c3621; - :b :c3622; - :b :c3623; - :b :c3624; - :b :c3625; - :b :c3626; - :b :c3627; - :b :c3628; - :b :c3629; - :b :c3630; - :b :c3631; - :b :c3632; - :b :c3633; - :b :c3634; - :b :c3635; - :b :c3636; - :b :c3637; - :b :c3638; - :b :c3639; - :b :c3640; - :b :c3641; - :b :c3642; - :b :c3643; - :b :c3644; - :b :c3645; - :b :c3646; - :b :c3647; - :b :c3648; - :b :c3649; - :b :c3650; - :b :c3651; - :b :c3652; - :b :c3653; - :b :c3654; - :b :c3655; - :b :c3656; - :b :c3657; - :b :c3658; - :b :c3659; - :b :c3660; - :b :c3661; - :b :c3662; - :b :c3663; - :b :c3664; - :b :c3665; - :b :c3666; - :b :c3667; - :b :c3668; - :b :c3669; - :b :c3670; - :b :c3671; - :b :c3672; - :b :c3673; - :b :c3674; - :b :c3675; - :b :c3676; - :b :c3677; - :b :c3678; - :b :c3679; - :b :c3680; - :b :c3681; - :b :c3682; - :b :c3683; - :b :c3684; - :b :c3685; - :b :c3686; - :b :c3687; - :b :c3688; - :b :c3689; - :b :c3690; - :b :c3691; - :b :c3692; - :b :c3693; - :b :c3694; - :b :c3695; - :b :c3696; - :b :c3697; - :b :c3698; - :b :c3699; - :b :c3700; - :b :c3701; - :b :c3702; - :b :c3703; - :b :c3704; - :b :c3705; - :b :c3706; - :b :c3707; - :b :c3708; - :b :c3709; - :b :c3710; - :b :c3711; - :b :c3712; - :b :c3713; - :b :c3714; - :b :c3715; - :b :c3716; - :b :c3717; - :b :c3718; - :b :c3719; - :b :c3720; - :b :c3721; - :b :c3722; - :b :c3723; - :b :c3724; - :b :c3725; - :b :c3726; - :b :c3727; - :b :c3728; - :b :c3729; - :b :c3730; - :b :c3731; - :b :c3732; - :b :c3733; - :b :c3734; - :b :c3735; - :b :c3736; - :b :c3737; - :b :c3738; - :b :c3739; - :b :c3740; - :b :c3741; - :b :c3742; - :b :c3743; - :b :c3744; - :b :c3745; - :b :c3746; - :b :c3747; - :b :c3748; - :b :c3749; - :b :c3750; - :b :c3751; - :b :c3752; - :b :c3753; - :b :c3754; - :b :c3755; - :b :c3756; - :b :c3757; - :b :c3758; - :b :c3759; - :b :c3760; - :b :c3761; - :b :c3762; - :b :c3763; - :b :c3764; - :b :c3765; - :b :c3766; - :b :c3767; - :b :c3768; - :b :c3769; - :b :c3770; - :b :c3771; - :b :c3772; - :b :c3773; - :b :c3774; - :b :c3775; - :b :c3776; - :b :c3777; - :b :c3778; - :b :c3779; - :b :c3780; - :b :c3781; - :b :c3782; - :b :c3783; - :b :c3784; - :b :c3785; - :b :c3786; - :b :c3787; - :b :c3788; - :b :c3789; - :b :c3790; - :b :c3791; - :b :c3792; - :b :c3793; - :b :c3794; - :b :c3795; - :b :c3796; - :b :c3797; - :b :c3798; - :b :c3799; - :b :c3800; - :b :c3801; - :b :c3802; - :b :c3803; - :b :c3804; - :b :c3805; - :b :c3806; - :b :c3807; - :b :c3808; - :b :c3809; - :b :c3810; - :b :c3811; - :b :c3812; - :b :c3813; - :b :c3814; - :b :c3815; - :b :c3816; - :b :c3817; - :b :c3818; - :b :c3819; - :b :c3820; - :b :c3821; - :b :c3822; - :b :c3823; - :b :c3824; - :b :c3825; - :b :c3826; - :b :c3827; - :b :c3828; - :b :c3829; - :b :c3830; - :b :c3831; - :b :c3832; - :b :c3833; - :b :c3834; - :b :c3835; - :b :c3836; - :b :c3837; - :b :c3838; - :b :c3839; - :b :c3840; - :b :c3841; - :b :c3842; - :b :c3843; - :b :c3844; - :b :c3845; - :b :c3846; - :b :c3847; - :b :c3848; - :b :c3849; - :b :c3850; - :b :c3851; - :b :c3852; - :b :c3853; - :b :c3854; - :b :c3855; - :b :c3856; - :b :c3857; - :b :c3858; - :b :c3859; - :b :c3860; - :b :c3861; - :b :c3862; - :b :c3863; - :b :c3864; - :b :c3865; - :b :c3866; - :b :c3867; - :b :c3868; - :b :c3869; - :b :c3870; - :b :c3871; - :b :c3872; - :b :c3873; - :b :c3874; - :b :c3875; - :b :c3876; - :b :c3877; - :b :c3878; - :b :c3879; - :b :c3880; - :b :c3881; - :b :c3882; - :b :c3883; - :b :c3884; - :b :c3885; - :b :c3886; - :b :c3887; - :b :c3888; - :b :c3889; - :b :c3890; - :b :c3891; - :b :c3892; - :b :c3893; - :b :c3894; - :b :c3895; - :b :c3896; - :b :c3897; - :b :c3898; - :b :c3899; - :b :c3900; - :b :c3901; - :b :c3902; - :b :c3903; - :b :c3904; - :b :c3905; - :b :c3906; - :b :c3907; - :b :c3908; - :b :c3909; - :b :c3910; - :b :c3911; - :b :c3912; - :b :c3913; - :b :c3914; - :b :c3915; - :b :c3916; - :b :c3917; - :b :c3918; - :b :c3919; - :b :c3920; - :b :c3921; - :b :c3922; - :b :c3923; - :b :c3924; - :b :c3925; - :b :c3926; - :b :c3927; - :b :c3928; - :b :c3929; - :b :c3930; - :b :c3931; - :b :c3932; - :b :c3933; - :b :c3934; - :b :c3935; - :b :c3936; - :b :c3937; - :b :c3938; - :b :c3939; - :b :c3940; - :b :c3941; - :b :c3942; - :b :c3943; - :b :c3944; - :b :c3945; - :b :c3946; - :b :c3947; - :b :c3948; - :b :c3949; - :b :c3950; - :b :c3951; - :b :c3952; - :b :c3953; - :b :c3954; - :b :c3955; - :b :c3956; - :b :c3957; - :b :c3958; - :b :c3959; - :b :c3960; - :b :c3961; - :b :c3962; - :b :c3963; - :b :c3964; - :b :c3965; - :b :c3966; - :b :c3967; - :b :c3968; - :b :c3969; - :b :c3970; - :b :c3971; - :b :c3972; - :b :c3973; - :b :c3974; - :b :c3975; - :b :c3976; - :b :c3977; - :b :c3978; - :b :c3979; - :b :c3980; - :b :c3981; - :b :c3982; - :b :c3983; - :b :c3984; - :b :c3985; - :b :c3986; - :b :c3987; - :b :c3988; - :b :c3989; - :b :c3990; - :b :c3991; - :b :c3992; - :b :c3993; - :b :c3994; - :b :c3995; - :b :c3996; - :b :c3997; - :b :c3998; - :b :c3999; - :b :c4000; - :b :c4001; - :b :c4002; - :b :c4003; - :b :c4004; - :b :c4005; - :b :c4006; - :b :c4007; - :b :c4008; - :b :c4009; - :b :c4010; - :b :c4011; - :b :c4012; - :b :c4013; - :b :c4014; - :b :c4015; - :b :c4016; - :b :c4017; - :b :c4018; - :b :c4019; - :b :c4020; - :b :c4021; - :b :c4022; - :b :c4023; - :b :c4024; - :b :c4025; - :b :c4026; - :b :c4027; - :b :c4028; - :b :c4029; - :b :c4030; - :b :c4031; - :b :c4032; - :b :c4033; - :b :c4034; - :b :c4035; - :b :c4036; - :b :c4037; - :b :c4038; - :b :c4039; - :b :c4040; - :b :c4041; - :b :c4042; - :b :c4043; - :b :c4044; - :b :c4045; - :b :c4046; - :b :c4047; - :b :c4048; - :b :c4049; - :b :c4050; - :b :c4051; - :b :c4052; - :b :c4053; - :b :c4054; - :b :c4055; - :b :c4056; - :b :c4057; - :b :c4058; - :b :c4059; - :b :c4060; - :b :c4061; - :b :c4062; - :b :c4063; - :b :c4064; - :b :c4065; - :b :c4066; - :b :c4067; - :b :c4068; - :b :c4069; - :b :c4070; - :b :c4071; - :b :c4072; - :b :c4073; - :b :c4074; - :b :c4075; - :b :c4076; - :b :c4077; - :b :c4078; - :b :c4079; - :b :c4080; - :b :c4081; - :b :c4082; - :b :c4083; - :b :c4084; - :b :c4085; - :b :c4086; - :b :c4087; - :b :c4088; - :b :c4089; - :b :c4090; - :b :c4091; - :b :c4092; - :b :c4093; - :b :c4094; - :b :c4095; - :b :c4096; - :b :c4097; - :b :c4098; - :b :c4099; - :b :c4100; - :b :c4101; - :b :c4102; - :b :c4103; - :b :c4104; - :b :c4105; - :b :c4106; - :b :c4107; - :b :c4108; - :b :c4109; - :b :c4110; - :b :c4111; - :b :c4112; - :b :c4113; - :b :c4114; - :b :c4115; - :b :c4116; - :b :c4117; - :b :c4118; - :b :c4119; - :b :c4120; - :b :c4121; - :b :c4122; - :b :c4123; - :b :c4124; - :b :c4125; - :b :c4126; - :b :c4127; - :b :c4128; - :b :c4129; - :b :c4130; - :b :c4131; - :b :c4132; - :b :c4133; - :b :c4134; - :b :c4135; - :b :c4136; - :b :c4137; - :b :c4138; - :b :c4139; - :b :c4140; - :b :c4141; - :b :c4142; - :b :c4143; - :b :c4144; - :b :c4145; - :b :c4146; - :b :c4147; - :b :c4148; - :b :c4149; - :b :c4150; - :b :c4151; - :b :c4152; - :b :c4153; - :b :c4154; - :b :c4155; - :b :c4156; - :b :c4157; - :b :c4158; - :b :c4159; - :b :c4160; - :b :c4161; - :b :c4162; - :b :c4163; - :b :c4164; - :b :c4165; - :b :c4166; - :b :c4167; - :b :c4168; - :b :c4169; - :b :c4170; - :b :c4171; - :b :c4172; - :b :c4173; - :b :c4174; - :b :c4175; - :b :c4176; - :b :c4177; - :b :c4178; - :b :c4179; - :b :c4180; - :b :c4181; - :b :c4182; - :b :c4183; - :b :c4184; - :b :c4185; - :b :c4186; - :b :c4187; - :b :c4188; - :b :c4189; - :b :c4190; - :b :c4191; - :b :c4192; - :b :c4193; - :b :c4194; - :b :c4195; - :b :c4196; - :b :c4197; - :b :c4198; - :b :c4199; - :b :c4200; - :b :c4201; - :b :c4202; - :b :c4203; - :b :c4204; - :b :c4205; - :b :c4206; - :b :c4207; - :b :c4208; - :b :c4209; - :b :c4210; - :b :c4211; - :b :c4212; - :b :c4213; - :b :c4214; - :b :c4215; - :b :c4216; - :b :c4217; - :b :c4218; - :b :c4219; - :b :c4220; - :b :c4221; - :b :c4222; - :b :c4223; - :b :c4224; - :b :c4225; - :b :c4226; - :b :c4227; - :b :c4228; - :b :c4229; - :b :c4230; - :b :c4231; - :b :c4232; - :b :c4233; - :b :c4234; - :b :c4235; - :b :c4236; - :b :c4237; - :b :c4238; - :b :c4239; - :b :c4240; - :b :c4241; - :b :c4242; - :b :c4243; - :b :c4244; - :b :c4245; - :b :c4246; - :b :c4247; - :b :c4248; - :b :c4249; - :b :c4250; - :b :c4251; - :b :c4252; - :b :c4253; - :b :c4254; - :b :c4255; - :b :c4256; - :b :c4257; - :b :c4258; - :b :c4259; - :b :c4260; - :b :c4261; - :b :c4262; - :b :c4263; - :b :c4264; - :b :c4265; - :b :c4266; - :b :c4267; - :b :c4268; - :b :c4269; - :b :c4270; - :b :c4271; - :b :c4272; - :b :c4273; - :b :c4274; - :b :c4275; - :b :c4276; - :b :c4277; - :b :c4278; - :b :c4279; - :b :c4280; - :b :c4281; - :b :c4282; - :b :c4283; - :b :c4284; - :b :c4285; - :b :c4286; - :b :c4287; - :b :c4288; - :b :c4289; - :b :c4290; - :b :c4291; - :b :c4292; - :b :c4293; - :b :c4294; - :b :c4295; - :b :c4296; - :b :c4297; - :b :c4298; - :b :c4299; - :b :c4300; - :b :c4301; - :b :c4302; - :b :c4303; - :b :c4304; - :b :c4305; - :b :c4306; - :b :c4307; - :b :c4308; - :b :c4309; - :b :c4310; - :b :c4311; - :b :c4312; - :b :c4313; - :b :c4314; - :b :c4315; - :b :c4316; - :b :c4317; - :b :c4318; - :b :c4319; - :b :c4320; - :b :c4321; - :b :c4322; - :b :c4323; - :b :c4324; - :b :c4325; - :b :c4326; - :b :c4327; - :b :c4328; - :b :c4329; - :b :c4330; - :b :c4331; - :b :c4332; - :b :c4333; - :b :c4334; - :b :c4335; - :b :c4336; - :b :c4337; - :b :c4338; - :b :c4339; - :b :c4340; - :b :c4341; - :b :c4342; - :b :c4343; - :b :c4344; - :b :c4345; - :b :c4346; - :b :c4347; - :b :c4348; - :b :c4349; - :b :c4350; - :b :c4351; - :b :c4352; - :b :c4353; - :b :c4354; - :b :c4355; - :b :c4356; - :b :c4357; - :b :c4358; - :b :c4359; - :b :c4360; - :b :c4361; - :b :c4362; - :b :c4363; - :b :c4364; - :b :c4365; - :b :c4366; - :b :c4367; - :b :c4368; - :b :c4369; - :b :c4370; - :b :c4371; - :b :c4372; - :b :c4373; - :b :c4374; - :b :c4375; - :b :c4376; - :b :c4377; - :b :c4378; - :b :c4379; - :b :c4380; - :b :c4381; - :b :c4382; - :b :c4383; - :b :c4384; - :b :c4385; - :b :c4386; - :b :c4387; - :b :c4388; - :b :c4389; - :b :c4390; - :b :c4391; - :b :c4392; - :b :c4393; - :b :c4394; - :b :c4395; - :b :c4396; - :b :c4397; - :b :c4398; - :b :c4399; - :b :c4400; - :b :c4401; - :b :c4402; - :b :c4403; - :b :c4404; - :b :c4405; - :b :c4406; - :b :c4407; - :b :c4408; - :b :c4409; - :b :c4410; - :b :c4411; - :b :c4412; - :b :c4413; - :b :c4414; - :b :c4415; - :b :c4416; - :b :c4417; - :b :c4418; - :b :c4419; - :b :c4420; - :b :c4421; - :b :c4422; - :b :c4423; - :b :c4424; - :b :c4425; - :b :c4426; - :b :c4427; - :b :c4428; - :b :c4429; - :b :c4430; - :b :c4431; - :b :c4432; - :b :c4433; - :b :c4434; - :b :c4435; - :b :c4436; - :b :c4437; - :b :c4438; - :b :c4439; - :b :c4440; - :b :c4441; - :b :c4442; - :b :c4443; - :b :c4444; - :b :c4445; - :b :c4446; - :b :c4447; - :b :c4448; - :b :c4449; - :b :c4450; - :b :c4451; - :b :c4452; - :b :c4453; - :b :c4454; - :b :c4455; - :b :c4456; - :b :c4457; - :b :c4458; - :b :c4459; - :b :c4460; - :b :c4461; - :b :c4462; - :b :c4463; - :b :c4464; - :b :c4465; - :b :c4466; - :b :c4467; - :b :c4468; - :b :c4469; - :b :c4470; - :b :c4471; - :b :c4472; - :b :c4473; - :b :c4474; - :b :c4475; - :b :c4476; - :b :c4477; - :b :c4478; - :b :c4479; - :b :c4480; - :b :c4481; - :b :c4482; - :b :c4483; - :b :c4484; - :b :c4485; - :b :c4486; - :b :c4487; - :b :c4488; - :b :c4489; - :b :c4490; - :b :c4491; - :b :c4492; - :b :c4493; - :b :c4494; - :b :c4495; - :b :c4496; - :b :c4497; - :b :c4498; - :b :c4499; - :b :c4500; - :b :c4501; - :b :c4502; - :b :c4503; - :b :c4504; - :b :c4505; - :b :c4506; - :b :c4507; - :b :c4508; - :b :c4509; - :b :c4510; - :b :c4511; - :b :c4512; - :b :c4513; - :b :c4514; - :b :c4515; - :b :c4516; - :b :c4517; - :b :c4518; - :b :c4519; - :b :c4520; - :b :c4521; - :b :c4522; - :b :c4523; - :b :c4524; - :b :c4525; - :b :c4526; - :b :c4527; - :b :c4528; - :b :c4529; - :b :c4530; - :b :c4531; - :b :c4532; - :b :c4533; - :b :c4534; - :b :c4535; - :b :c4536; - :b :c4537; - :b :c4538; - :b :c4539; - :b :c4540; - :b :c4541; - :b :c4542; - :b :c4543; - :b :c4544; - :b :c4545; - :b :c4546; - :b :c4547; - :b :c4548; - :b :c4549; - :b :c4550; - :b :c4551; - :b :c4552; - :b :c4553; - :b :c4554; - :b :c4555; - :b :c4556; - :b :c4557; - :b :c4558; - :b :c4559; - :b :c4560; - :b :c4561; - :b :c4562; - :b :c4563; - :b :c4564; - :b :c4565; - :b :c4566; - :b :c4567; - :b :c4568; - :b :c4569; - :b :c4570; - :b :c4571; - :b :c4572; - :b :c4573; - :b :c4574; - :b :c4575; - :b :c4576; - :b :c4577; - :b :c4578; - :b :c4579; - :b :c4580; - :b :c4581; - :b :c4582; - :b :c4583; - :b :c4584; - :b :c4585; - :b :c4586; - :b :c4587; - :b :c4588; - :b :c4589; - :b :c4590; - :b :c4591; - :b :c4592; - :b :c4593; - :b :c4594; - :b :c4595; - :b :c4596; - :b :c4597; - :b :c4598; - :b :c4599; - :b :c4600; - :b :c4601; - :b :c4602; - :b :c4603; - :b :c4604; - :b :c4605; - :b :c4606; - :b :c4607; - :b :c4608; - :b :c4609; - :b :c4610; - :b :c4611; - :b :c4612; - :b :c4613; - :b :c4614; - :b :c4615; - :b :c4616; - :b :c4617; - :b :c4618; - :b :c4619; - :b :c4620; - :b :c4621; - :b :c4622; - :b :c4623; - :b :c4624; - :b :c4625; - :b :c4626; - :b :c4627; - :b :c4628; - :b :c4629; - :b :c4630; - :b :c4631; - :b :c4632; - :b :c4633; - :b :c4634; - :b :c4635; - :b :c4636; - :b :c4637; - :b :c4638; - :b :c4639; - :b :c4640; - :b :c4641; - :b :c4642; - :b :c4643; - :b :c4644; - :b :c4645; - :b :c4646; - :b :c4647; - :b :c4648; - :b :c4649; - :b :c4650; - :b :c4651; - :b :c4652; - :b :c4653; - :b :c4654; - :b :c4655; - :b :c4656; - :b :c4657; - :b :c4658; - :b :c4659; - :b :c4660; - :b :c4661; - :b :c4662; - :b :c4663; - :b :c4664; - :b :c4665; - :b :c4666; - :b :c4667; - :b :c4668; - :b :c4669; - :b :c4670; - :b :c4671; - :b :c4672; - :b :c4673; - :b :c4674; - :b :c4675; - :b :c4676; - :b :c4677; - :b :c4678; - :b :c4679; - :b :c4680; - :b :c4681; - :b :c4682; - :b :c4683; - :b :c4684; - :b :c4685; - :b :c4686; - :b :c4687; - :b :c4688; - :b :c4689; - :b :c4690; - :b :c4691; - :b :c4692; - :b :c4693; - :b :c4694; - :b :c4695; - :b :c4696; - :b :c4697; - :b :c4698; - :b :c4699; - :b :c4700; - :b :c4701; - :b :c4702; - :b :c4703; - :b :c4704; - :b :c4705; - :b :c4706; - :b :c4707; - :b :c4708; - :b :c4709; - :b :c4710; - :b :c4711; - :b :c4712; - :b :c4713; - :b :c4714; - :b :c4715; - :b :c4716; - :b :c4717; - :b :c4718; - :b :c4719; - :b :c4720; - :b :c4721; - :b :c4722; - :b :c4723; - :b :c4724; - :b :c4725; - :b :c4726; - :b :c4727; - :b :c4728; - :b :c4729; - :b :c4730; - :b :c4731; - :b :c4732; - :b :c4733; - :b :c4734; - :b :c4735; - :b :c4736; - :b :c4737; - :b :c4738; - :b :c4739; - :b :c4740; - :b :c4741; - :b :c4742; - :b :c4743; - :b :c4744; - :b :c4745; - :b :c4746; - :b :c4747; - :b :c4748; - :b :c4749; - :b :c4750; - :b :c4751; - :b :c4752; - :b :c4753; - :b :c4754; - :b :c4755; - :b :c4756; - :b :c4757; - :b :c4758; - :b :c4759; - :b :c4760; - :b :c4761; - :b :c4762; - :b :c4763; - :b :c4764; - :b :c4765; - :b :c4766; - :b :c4767; - :b :c4768; - :b :c4769; - :b :c4770; - :b :c4771; - :b :c4772; - :b :c4773; - :b :c4774; - :b :c4775; - :b :c4776; - :b :c4777; - :b :c4778; - :b :c4779; - :b :c4780; - :b :c4781; - :b :c4782; - :b :c4783; - :b :c4784; - :b :c4785; - :b :c4786; - :b :c4787; - :b :c4788; - :b :c4789; - :b :c4790; - :b :c4791; - :b :c4792; - :b :c4793; - :b :c4794; - :b :c4795; - :b :c4796; - :b :c4797; - :b :c4798; - :b :c4799; - :b :c4800; - :b :c4801; - :b :c4802; - :b :c4803; - :b :c4804; - :b :c4805; - :b :c4806; - :b :c4807; - :b :c4808; - :b :c4809; - :b :c4810; - :b :c4811; - :b :c4812; - :b :c4813; - :b :c4814; - :b :c4815; - :b :c4816; - :b :c4817; - :b :c4818; - :b :c4819; - :b :c4820; - :b :c4821; - :b :c4822; - :b :c4823; - :b :c4824; - :b :c4825; - :b :c4826; - :b :c4827; - :b :c4828; - :b :c4829; - :b :c4830; - :b :c4831; - :b :c4832; - :b :c4833; - :b :c4834; - :b :c4835; - :b :c4836; - :b :c4837; - :b :c4838; - :b :c4839; - :b :c4840; - :b :c4841; - :b :c4842; - :b :c4843; - :b :c4844; - :b :c4845; - :b :c4846; - :b :c4847; - :b :c4848; - :b :c4849; - :b :c4850; - :b :c4851; - :b :c4852; - :b :c4853; - :b :c4854; - :b :c4855; - :b :c4856; - :b :c4857; - :b :c4858; - :b :c4859; - :b :c4860; - :b :c4861; - :b :c4862; - :b :c4863; - :b :c4864; - :b :c4865; - :b :c4866; - :b :c4867; - :b :c4868; - :b :c4869; - :b :c4870; - :b :c4871; - :b :c4872; - :b :c4873; - :b :c4874; - :b :c4875; - :b :c4876; - :b :c4877; - :b :c4878; - :b :c4879; - :b :c4880; - :b :c4881; - :b :c4882; - :b :c4883; - :b :c4884; - :b :c4885; - :b :c4886; - :b :c4887; - :b :c4888; - :b :c4889; - :b :c4890; - :b :c4891; - :b :c4892; - :b :c4893; - :b :c4894; - :b :c4895; - :b :c4896; - :b :c4897; - :b :c4898; - :b :c4899; - :b :c4900; - :b :c4901; - :b :c4902; - :b :c4903; - :b :c4904; - :b :c4905; - :b :c4906; - :b :c4907; - :b :c4908; - :b :c4909; - :b :c4910; - :b :c4911; - :b :c4912; - :b :c4913; - :b :c4914; - :b :c4915; - :b :c4916; - :b :c4917; - :b :c4918; - :b :c4919; - :b :c4920; - :b :c4921; - :b :c4922; - :b :c4923; - :b :c4924; - :b :c4925; - :b :c4926; - :b :c4927; - :b :c4928; - :b :c4929; - :b :c4930; - :b :c4931; - :b :c4932; - :b :c4933; - :b :c4934; - :b :c4935; - :b :c4936; - :b :c4937; - :b :c4938; - :b :c4939; - :b :c4940; - :b :c4941; - :b :c4942; - :b :c4943; - :b :c4944; - :b :c4945; - :b :c4946; - :b :c4947; - :b :c4948; - :b :c4949; - :b :c4950; - :b :c4951; - :b :c4952; - :b :c4953; - :b :c4954; - :b :c4955; - :b :c4956; - :b :c4957; - :b :c4958; - :b :c4959; - :b :c4960; - :b :c4961; - :b :c4962; - :b :c4963; - :b :c4964; - :b :c4965; - :b :c4966; - :b :c4967; - :b :c4968; - :b :c4969; - :b :c4970; - :b :c4971; - :b :c4972; - :b :c4973; - :b :c4974; - :b :c4975; - :b :c4976; - :b :c4977; - :b :c4978; - :b :c4979; - :b :c4980; - :b :c4981; - :b :c4982; - :b :c4983; - :b :c4984; - :b :c4985; - :b :c4986; - :b :c4987; - :b :c4988; - :b :c4989; - :b :c4990; - :b :c4991; - :b :c4992; - :b :c4993; - :b :c4994; - :b :c4995; - :b :c4996; - :b :c4997; - :b :c4998; - :b :c4999; - :b :c5000; - :b :c5001; - :b :c5002; - :b :c5003; - :b :c5004; - :b :c5005; - :b :c5006; - :b :c5007; - :b :c5008; - :b :c5009; - :b :c5010; - :b :c5011; - :b :c5012; - :b :c5013; - :b :c5014; - :b :c5015; - :b :c5016; - :b :c5017; - :b :c5018; - :b :c5019; - :b :c5020; - :b :c5021; - :b :c5022; - :b :c5023; - :b :c5024; - :b :c5025; - :b :c5026; - :b :c5027; - :b :c5028; - :b :c5029; - :b :c5030; - :b :c5031; - :b :c5032; - :b :c5033; - :b :c5034; - :b :c5035; - :b :c5036; - :b :c5037; - :b :c5038; - :b :c5039; - :b :c5040; - :b :c5041; - :b :c5042; - :b :c5043; - :b :c5044; - :b :c5045; - :b :c5046; - :b :c5047; - :b :c5048; - :b :c5049; - :b :c5050; - :b :c5051; - :b :c5052; - :b :c5053; - :b :c5054; - :b :c5055; - :b :c5056; - :b :c5057; - :b :c5058; - :b :c5059; - :b :c5060; - :b :c5061; - :b :c5062; - :b :c5063; - :b :c5064; - :b :c5065; - :b :c5066; - :b :c5067; - :b :c5068; - :b :c5069; - :b :c5070; - :b :c5071; - :b :c5072; - :b :c5073; - :b :c5074; - :b :c5075; - :b :c5076; - :b :c5077; - :b :c5078; - :b :c5079; - :b :c5080; - :b :c5081; - :b :c5082; - :b :c5083; - :b :c5084; - :b :c5085; - :b :c5086; - :b :c5087; - :b :c5088; - :b :c5089; - :b :c5090; - :b :c5091; - :b :c5092; - :b :c5093; - :b :c5094; - :b :c5095; - :b :c5096; - :b :c5097; - :b :c5098; - :b :c5099; - :b :c5100; - :b :c5101; - :b :c5102; - :b :c5103; - :b :c5104; - :b :c5105; - :b :c5106; - :b :c5107; - :b :c5108; - :b :c5109; - :b :c5110; - :b :c5111; - :b :c5112; - :b :c5113; - :b :c5114; - :b :c5115; - :b :c5116; - :b :c5117; - :b :c5118; - :b :c5119; - :b :c5120; - :b :c5121; - :b :c5122; - :b :c5123; - :b :c5124; - :b :c5125; - :b :c5126; - :b :c5127; - :b :c5128; - :b :c5129; - :b :c5130; - :b :c5131; - :b :c5132; - :b :c5133; - :b :c5134; - :b :c5135; - :b :c5136; - :b :c5137; - :b :c5138; - :b :c5139; - :b :c5140; - :b :c5141; - :b :c5142; - :b :c5143; - :b :c5144; - :b :c5145; - :b :c5146; - :b :c5147; - :b :c5148; - :b :c5149; - :b :c5150; - :b :c5151; - :b :c5152; - :b :c5153; - :b :c5154; - :b :c5155; - :b :c5156; - :b :c5157; - :b :c5158; - :b :c5159; - :b :c5160; - :b :c5161; - :b :c5162; - :b :c5163; - :b :c5164; - :b :c5165; - :b :c5166; - :b :c5167; - :b :c5168; - :b :c5169; - :b :c5170; - :b :c5171; - :b :c5172; - :b :c5173; - :b :c5174; - :b :c5175; - :b :c5176; - :b :c5177; - :b :c5178; - :b :c5179; - :b :c5180; - :b :c5181; - :b :c5182; - :b :c5183; - :b :c5184; - :b :c5185; - :b :c5186; - :b :c5187; - :b :c5188; - :b :c5189; - :b :c5190; - :b :c5191; - :b :c5192; - :b :c5193; - :b :c5194; - :b :c5195; - :b :c5196; - :b :c5197; - :b :c5198; - :b :c5199; - :b :c5200; - :b :c5201; - :b :c5202; - :b :c5203; - :b :c5204; - :b :c5205; - :b :c5206; - :b :c5207; - :b :c5208; - :b :c5209; - :b :c5210; - :b :c5211; - :b :c5212; - :b :c5213; - :b :c5214; - :b :c5215; - :b :c5216; - :b :c5217; - :b :c5218; - :b :c5219; - :b :c5220; - :b :c5221; - :b :c5222; - :b :c5223; - :b :c5224; - :b :c5225; - :b :c5226; - :b :c5227; - :b :c5228; - :b :c5229; - :b :c5230; - :b :c5231; - :b :c5232; - :b :c5233; - :b :c5234; - :b :c5235; - :b :c5236; - :b :c5237; - :b :c5238; - :b :c5239; - :b :c5240; - :b :c5241; - :b :c5242; - :b :c5243; - :b :c5244; - :b :c5245; - :b :c5246; - :b :c5247; - :b :c5248; - :b :c5249; - :b :c5250; - :b :c5251; - :b :c5252; - :b :c5253; - :b :c5254; - :b :c5255; - :b :c5256; - :b :c5257; - :b :c5258; - :b :c5259; - :b :c5260; - :b :c5261; - :b :c5262; - :b :c5263; - :b :c5264; - :b :c5265; - :b :c5266; - :b :c5267; - :b :c5268; - :b :c5269; - :b :c5270; - :b :c5271; - :b :c5272; - :b :c5273; - :b :c5274; - :b :c5275; - :b :c5276; - :b :c5277; - :b :c5278; - :b :c5279; - :b :c5280; - :b :c5281; - :b :c5282; - :b :c5283; - :b :c5284; - :b :c5285; - :b :c5286; - :b :c5287; - :b :c5288; - :b :c5289; - :b :c5290; - :b :c5291; - :b :c5292; - :b :c5293; - :b :c5294; - :b :c5295; - :b :c5296; - :b :c5297; - :b :c5298; - :b :c5299; - :b :c5300; - :b :c5301; - :b :c5302; - :b :c5303; - :b :c5304; - :b :c5305; - :b :c5306; - :b :c5307; - :b :c5308; - :b :c5309; - :b :c5310; - :b :c5311; - :b :c5312; - :b :c5313; - :b :c5314; - :b :c5315; - :b :c5316; - :b :c5317; - :b :c5318; - :b :c5319; - :b :c5320; - :b :c5321; - :b :c5322; - :b :c5323; - :b :c5324; - :b :c5325; - :b :c5326; - :b :c5327; - :b :c5328; - :b :c5329; - :b :c5330; - :b :c5331; - :b :c5332; - :b :c5333; - :b :c5334; - :b :c5335; - :b :c5336; - :b :c5337; - :b :c5338; - :b :c5339; - :b :c5340; - :b :c5341; - :b :c5342; - :b :c5343; - :b :c5344; - :b :c5345; - :b :c5346; - :b :c5347; - :b :c5348; - :b :c5349; - :b :c5350; - :b :c5351; - :b :c5352; - :b :c5353; - :b :c5354; - :b :c5355; - :b :c5356; - :b :c5357; - :b :c5358; - :b :c5359; - :b :c5360; - :b :c5361; - :b :c5362; - :b :c5363; - :b :c5364; - :b :c5365; - :b :c5366; - :b :c5367; - :b :c5368; - :b :c5369; - :b :c5370; - :b :c5371; - :b :c5372; - :b :c5373; - :b :c5374; - :b :c5375; - :b :c5376; - :b :c5377; - :b :c5378; - :b :c5379; - :b :c5380; - :b :c5381; - :b :c5382; - :b :c5383; - :b :c5384; - :b :c5385; - :b :c5386; - :b :c5387; - :b :c5388; - :b :c5389; - :b :c5390; - :b :c5391; - :b :c5392; - :b :c5393; - :b :c5394; - :b :c5395; - :b :c5396; - :b :c5397; - :b :c5398; - :b :c5399; - :b :c5400; - :b :c5401; - :b :c5402; - :b :c5403; - :b :c5404; - :b :c5405; - :b :c5406; - :b :c5407; - :b :c5408; - :b :c5409; - :b :c5410; - :b :c5411; - :b :c5412; - :b :c5413; - :b :c5414; - :b :c5415; - :b :c5416; - :b :c5417; - :b :c5418; - :b :c5419; - :b :c5420; - :b :c5421; - :b :c5422; - :b :c5423; - :b :c5424; - :b :c5425; - :b :c5426; - :b :c5427; - :b :c5428; - :b :c5429; - :b :c5430; - :b :c5431; - :b :c5432; - :b :c5433; - :b :c5434; - :b :c5435; - :b :c5436; - :b :c5437; - :b :c5438; - :b :c5439; - :b :c5440; - :b :c5441; - :b :c5442; - :b :c5443; - :b :c5444; - :b :c5445; - :b :c5446; - :b :c5447; - :b :c5448; - :b :c5449; - :b :c5450; - :b :c5451; - :b :c5452; - :b :c5453; - :b :c5454; - :b :c5455; - :b :c5456; - :b :c5457; - :b :c5458; - :b :c5459; - :b :c5460; - :b :c5461; - :b :c5462; - :b :c5463; - :b :c5464; - :b :c5465; - :b :c5466; - :b :c5467; - :b :c5468; - :b :c5469; - :b :c5470; - :b :c5471; - :b :c5472; - :b :c5473; - :b :c5474; - :b :c5475; - :b :c5476; - :b :c5477; - :b :c5478; - :b :c5479; - :b :c5480; - :b :c5481; - :b :c5482; - :b :c5483; - :b :c5484; - :b :c5485; - :b :c5486; - :b :c5487; - :b :c5488; - :b :c5489; - :b :c5490; - :b :c5491; - :b :c5492; - :b :c5493; - :b :c5494; - :b :c5495; - :b :c5496; - :b :c5497; - :b :c5498; - :b :c5499; - :b :c5500; - :b :c5501; - :b :c5502; - :b :c5503; - :b :c5504; - :b :c5505; - :b :c5506; - :b :c5507; - :b :c5508; - :b :c5509; - :b :c5510; - :b :c5511; - :b :c5512; - :b :c5513; - :b :c5514; - :b :c5515; - :b :c5516; - :b :c5517; - :b :c5518; - :b :c5519; - :b :c5520; - :b :c5521; - :b :c5522; - :b :c5523; - :b :c5524; - :b :c5525; - :b :c5526; - :b :c5527; - :b :c5528; - :b :c5529; - :b :c5530; - :b :c5531; - :b :c5532; - :b :c5533; - :b :c5534; - :b :c5535; - :b :c5536; - :b :c5537; - :b :c5538; - :b :c5539; - :b :c5540; - :b :c5541; - :b :c5542; - :b :c5543; - :b :c5544; - :b :c5545; - :b :c5546; - :b :c5547; - :b :c5548; - :b :c5549; - :b :c5550; - :b :c5551; - :b :c5552; - :b :c5553; - :b :c5554; - :b :c5555; - :b :c5556; - :b :c5557; - :b :c5558; - :b :c5559; - :b :c5560; - :b :c5561; - :b :c5562; - :b :c5563; - :b :c5564; - :b :c5565; - :b :c5566; - :b :c5567; - :b :c5568; - :b :c5569; - :b :c5570; - :b :c5571; - :b :c5572; - :b :c5573; - :b :c5574; - :b :c5575; - :b :c5576; - :b :c5577; - :b :c5578; - :b :c5579; - :b :c5580; - :b :c5581; - :b :c5582; - :b :c5583; - :b :c5584; - :b :c5585; - :b :c5586; - :b :c5587; - :b :c5588; - :b :c5589; - :b :c5590; - :b :c5591; - :b :c5592; - :b :c5593; - :b :c5594; - :b :c5595; - :b :c5596; - :b :c5597; - :b :c5598; - :b :c5599; - :b :c5600; - :b :c5601; - :b :c5602; - :b :c5603; - :b :c5604; - :b :c5605; - :b :c5606; - :b :c5607; - :b :c5608; - :b :c5609; - :b :c5610; - :b :c5611; - :b :c5612; - :b :c5613; - :b :c5614; - :b :c5615; - :b :c5616; - :b :c5617; - :b :c5618; - :b :c5619; - :b :c5620; - :b :c5621; - :b :c5622; - :b :c5623; - :b :c5624; - :b :c5625; - :b :c5626; - :b :c5627; - :b :c5628; - :b :c5629; - :b :c5630; - :b :c5631; - :b :c5632; - :b :c5633; - :b :c5634; - :b :c5635; - :b :c5636; - :b :c5637; - :b :c5638; - :b :c5639; - :b :c5640; - :b :c5641; - :b :c5642; - :b :c5643; - :b :c5644; - :b :c5645; - :b :c5646; - :b :c5647; - :b :c5648; - :b :c5649; - :b :c5650; - :b :c5651; - :b :c5652; - :b :c5653; - :b :c5654; - :b :c5655; - :b :c5656; - :b :c5657; - :b :c5658; - :b :c5659; - :b :c5660; - :b :c5661; - :b :c5662; - :b :c5663; - :b :c5664; - :b :c5665; - :b :c5666; - :b :c5667; - :b :c5668; - :b :c5669; - :b :c5670; - :b :c5671; - :b :c5672; - :b :c5673; - :b :c5674; - :b :c5675; - :b :c5676; - :b :c5677; - :b :c5678; - :b :c5679; - :b :c5680; - :b :c5681; - :b :c5682; - :b :c5683; - :b :c5684; - :b :c5685; - :b :c5686; - :b :c5687; - :b :c5688; - :b :c5689; - :b :c5690; - :b :c5691; - :b :c5692; - :b :c5693; - :b :c5694; - :b :c5695; - :b :c5696; - :b :c5697; - :b :c5698; - :b :c5699; - :b :c5700; - :b :c5701; - :b :c5702; - :b :c5703; - :b :c5704; - :b :c5705; - :b :c5706; - :b :c5707; - :b :c5708; - :b :c5709; - :b :c5710; - :b :c5711; - :b :c5712; - :b :c5713; - :b :c5714; - :b :c5715; - :b :c5716; - :b :c5717; - :b :c5718; - :b :c5719; - :b :c5720; - :b :c5721; - :b :c5722; - :b :c5723; - :b :c5724; - :b :c5725; - :b :c5726; - :b :c5727; - :b :c5728; - :b :c5729; - :b :c5730; - :b :c5731; - :b :c5732; - :b :c5733; - :b :c5734; - :b :c5735; - :b :c5736; - :b :c5737; - :b :c5738; - :b :c5739; - :b :c5740; - :b :c5741; - :b :c5742; - :b :c5743; - :b :c5744; - :b :c5745; - :b :c5746; - :b :c5747; - :b :c5748; - :b :c5749; - :b :c5750; - :b :c5751; - :b :c5752; - :b :c5753; - :b :c5754; - :b :c5755; - :b :c5756; - :b :c5757; - :b :c5758; - :b :c5759; - :b :c5760; - :b :c5761; - :b :c5762; - :b :c5763; - :b :c5764; - :b :c5765; - :b :c5766; - :b :c5767; - :b :c5768; - :b :c5769; - :b :c5770; - :b :c5771; - :b :c5772; - :b :c5773; - :b :c5774; - :b :c5775; - :b :c5776; - :b :c5777; - :b :c5778; - :b :c5779; - :b :c5780; - :b :c5781; - :b :c5782; - :b :c5783; - :b :c5784; - :b :c5785; - :b :c5786; - :b :c5787; - :b :c5788; - :b :c5789; - :b :c5790; - :b :c5791; - :b :c5792; - :b :c5793; - :b :c5794; - :b :c5795; - :b :c5796; - :b :c5797; - :b :c5798; - :b :c5799; - :b :c5800; - :b :c5801; - :b :c5802; - :b :c5803; - :b :c5804; - :b :c5805; - :b :c5806; - :b :c5807; - :b :c5808; - :b :c5809; - :b :c5810; - :b :c5811; - :b :c5812; - :b :c5813; - :b :c5814; - :b :c5815; - :b :c5816; - :b :c5817; - :b :c5818; - :b :c5819; - :b :c5820; - :b :c5821; - :b :c5822; - :b :c5823; - :b :c5824; - :b :c5825; - :b :c5826; - :b :c5827; - :b :c5828; - :b :c5829; - :b :c5830; - :b :c5831; - :b :c5832; - :b :c5833; - :b :c5834; - :b :c5835; - :b :c5836; - :b :c5837; - :b :c5838; - :b :c5839; - :b :c5840; - :b :c5841; - :b :c5842; - :b :c5843; - :b :c5844; - :b :c5845; - :b :c5846; - :b :c5847; - :b :c5848; - :b :c5849; - :b :c5850; - :b :c5851; - :b :c5852; - :b :c5853; - :b :c5854; - :b :c5855; - :b :c5856; - :b :c5857; - :b :c5858; - :b :c5859; - :b :c5860; - :b :c5861; - :b :c5862; - :b :c5863; - :b :c5864; - :b :c5865; - :b :c5866; - :b :c5867; - :b :c5868; - :b :c5869; - :b :c5870; - :b :c5871; - :b :c5872; - :b :c5873; - :b :c5874; - :b :c5875; - :b :c5876; - :b :c5877; - :b :c5878; - :b :c5879; - :b :c5880; - :b :c5881; - :b :c5882; - :b :c5883; - :b :c5884; - :b :c5885; - :b :c5886; - :b :c5887; - :b :c5888; - :b :c5889; - :b :c5890; - :b :c5891; - :b :c5892; - :b :c5893; - :b :c5894; - :b :c5895; - :b :c5896; - :b :c5897; - :b :c5898; - :b :c5899; - :b :c5900; - :b :c5901; - :b :c5902; - :b :c5903; - :b :c5904; - :b :c5905; - :b :c5906; - :b :c5907; - :b :c5908; - :b :c5909; - :b :c5910; - :b :c5911; - :b :c5912; - :b :c5913; - :b :c5914; - :b :c5915; - :b :c5916; - :b :c5917; - :b :c5918; - :b :c5919; - :b :c5920; - :b :c5921; - :b :c5922; - :b :c5923; - :b :c5924; - :b :c5925; - :b :c5926; - :b :c5927; - :b :c5928; - :b :c5929; - :b :c5930; - :b :c5931; - :b :c5932; - :b :c5933; - :b :c5934; - :b :c5935; - :b :c5936; - :b :c5937; - :b :c5938; - :b :c5939; - :b :c5940; - :b :c5941; - :b :c5942; - :b :c5943; - :b :c5944; - :b :c5945; - :b :c5946; - :b :c5947; - :b :c5948; - :b :c5949; - :b :c5950; - :b :c5951; - :b :c5952; - :b :c5953; - :b :c5954; - :b :c5955; - :b :c5956; - :b :c5957; - :b :c5958; - :b :c5959; - :b :c5960; - :b :c5961; - :b :c5962; - :b :c5963; - :b :c5964; - :b :c5965; - :b :c5966; - :b :c5967; - :b :c5968; - :b :c5969; - :b :c5970; - :b :c5971; - :b :c5972; - :b :c5973; - :b :c5974; - :b :c5975; - :b :c5976; - :b :c5977; - :b :c5978; - :b :c5979; - :b :c5980; - :b :c5981; - :b :c5982; - :b :c5983; - :b :c5984; - :b :c5985; - :b :c5986; - :b :c5987; - :b :c5988; - :b :c5989; - :b :c5990; - :b :c5991; - :b :c5992; - :b :c5993; - :b :c5994; - :b :c5995; - :b :c5996; - :b :c5997; - :b :c5998; - :b :c5999; - :b :c6000; - :b :c6001; - :b :c6002; - :b :c6003; - :b :c6004; - :b :c6005; - :b :c6006; - :b :c6007; - :b :c6008; - :b :c6009; - :b :c6010; - :b :c6011; - :b :c6012; - :b :c6013; - :b :c6014; - :b :c6015; - :b :c6016; - :b :c6017; - :b :c6018; - :b :c6019; - :b :c6020; - :b :c6021; - :b :c6022; - :b :c6023; - :b :c6024; - :b :c6025; - :b :c6026; - :b :c6027; - :b :c6028; - :b :c6029; - :b :c6030; - :b :c6031; - :b :c6032; - :b :c6033; - :b :c6034; - :b :c6035; - :b :c6036; - :b :c6037; - :b :c6038; - :b :c6039; - :b :c6040; - :b :c6041; - :b :c6042; - :b :c6043; - :b :c6044; - :b :c6045; - :b :c6046; - :b :c6047; - :b :c6048; - :b :c6049; - :b :c6050; - :b :c6051; - :b :c6052; - :b :c6053; - :b :c6054; - :b :c6055; - :b :c6056; - :b :c6057; - :b :c6058; - :b :c6059; - :b :c6060; - :b :c6061; - :b :c6062; - :b :c6063; - :b :c6064; - :b :c6065; - :b :c6066; - :b :c6067; - :b :c6068; - :b :c6069; - :b :c6070; - :b :c6071; - :b :c6072; - :b :c6073; - :b :c6074; - :b :c6075; - :b :c6076; - :b :c6077; - :b :c6078; - :b :c6079; - :b :c6080; - :b :c6081; - :b :c6082; - :b :c6083; - :b :c6084; - :b :c6085; - :b :c6086; - :b :c6087; - :b :c6088; - :b :c6089; - :b :c6090; - :b :c6091; - :b :c6092; - :b :c6093; - :b :c6094; - :b :c6095; - :b :c6096; - :b :c6097; - :b :c6098; - :b :c6099; - :b :c6100; - :b :c6101; - :b :c6102; - :b :c6103; - :b :c6104; - :b :c6105; - :b :c6106; - :b :c6107; - :b :c6108; - :b :c6109; - :b :c6110; - :b :c6111; - :b :c6112; - :b :c6113; - :b :c6114; - :b :c6115; - :b :c6116; - :b :c6117; - :b :c6118; - :b :c6119; - :b :c6120; - :b :c6121; - :b :c6122; - :b :c6123; - :b :c6124; - :b :c6125; - :b :c6126; - :b :c6127; - :b :c6128; - :b :c6129; - :b :c6130; - :b :c6131; - :b :c6132; - :b :c6133; - :b :c6134; - :b :c6135; - :b :c6136; - :b :c6137; - :b :c6138; - :b :c6139; - :b :c6140; - :b :c6141; - :b :c6142; - :b :c6143; - :b :c6144; - :b :c6145; - :b :c6146; - :b :c6147; - :b :c6148; - :b :c6149; - :b :c6150; - :b :c6151; - :b :c6152; - :b :c6153; - :b :c6154; - :b :c6155; - :b :c6156; - :b :c6157; - :b :c6158; - :b :c6159; - :b :c6160; - :b :c6161; - :b :c6162; - :b :c6163; - :b :c6164; - :b :c6165; - :b :c6166; - :b :c6167; - :b :c6168; - :b :c6169; - :b :c6170; - :b :c6171; - :b :c6172; - :b :c6173; - :b :c6174; - :b :c6175; - :b :c6176; - :b :c6177; - :b :c6178; - :b :c6179; - :b :c6180; - :b :c6181; - :b :c6182; - :b :c6183; - :b :c6184; - :b :c6185; - :b :c6186; - :b :c6187; - :b :c6188; - :b :c6189; - :b :c6190; - :b :c6191; - :b :c6192; - :b :c6193; - :b :c6194; - :b :c6195; - :b :c6196; - :b :c6197; - :b :c6198; - :b :c6199; - :b :c6200; - :b :c6201; - :b :c6202; - :b :c6203; - :b :c6204; - :b :c6205; - :b :c6206; - :b :c6207; - :b :c6208; - :b :c6209; - :b :c6210; - :b :c6211; - :b :c6212; - :b :c6213; - :b :c6214; - :b :c6215; - :b :c6216; - :b :c6217; - :b :c6218; - :b :c6219; - :b :c6220; - :b :c6221; - :b :c6222; - :b :c6223; - :b :c6224; - :b :c6225; - :b :c6226; - :b :c6227; - :b :c6228; - :b :c6229; - :b :c6230; - :b :c6231; - :b :c6232; - :b :c6233; - :b :c6234; - :b :c6235; - :b :c6236; - :b :c6237; - :b :c6238; - :b :c6239; - :b :c6240; - :b :c6241; - :b :c6242; - :b :c6243; - :b :c6244; - :b :c6245; - :b :c6246; - :b :c6247; - :b :c6248; - :b :c6249; - :b :c6250; - :b :c6251; - :b :c6252; - :b :c6253; - :b :c6254; - :b :c6255; - :b :c6256; - :b :c6257; - :b :c6258; - :b :c6259; - :b :c6260; - :b :c6261; - :b :c6262; - :b :c6263; - :b :c6264; - :b :c6265; - :b :c6266; - :b :c6267; - :b :c6268; - :b :c6269; - :b :c6270; - :b :c6271; - :b :c6272; - :b :c6273; - :b :c6274; - :b :c6275; - :b :c6276; - :b :c6277; - :b :c6278; - :b :c6279; - :b :c6280; - :b :c6281; - :b :c6282; - :b :c6283; - :b :c6284; - :b :c6285; - :b :c6286; - :b :c6287; - :b :c6288; - :b :c6289; - :b :c6290; - :b :c6291; - :b :c6292; - :b :c6293; - :b :c6294; - :b :c6295; - :b :c6296; - :b :c6297; - :b :c6298; - :b :c6299; - :b :c6300; - :b :c6301; - :b :c6302; - :b :c6303; - :b :c6304; - :b :c6305; - :b :c6306; - :b :c6307; - :b :c6308; - :b :c6309; - :b :c6310; - :b :c6311; - :b :c6312; - :b :c6313; - :b :c6314; - :b :c6315; - :b :c6316; - :b :c6317; - :b :c6318; - :b :c6319; - :b :c6320; - :b :c6321; - :b :c6322; - :b :c6323; - :b :c6324; - :b :c6325; - :b :c6326; - :b :c6327; - :b :c6328; - :b :c6329; - :b :c6330; - :b :c6331; - :b :c6332; - :b :c6333; - :b :c6334; - :b :c6335; - :b :c6336; - :b :c6337; - :b :c6338; - :b :c6339; - :b :c6340; - :b :c6341; - :b :c6342; - :b :c6343; - :b :c6344; - :b :c6345; - :b :c6346; - :b :c6347; - :b :c6348; - :b :c6349; - :b :c6350; - :b :c6351; - :b :c6352; - :b :c6353; - :b :c6354; - :b :c6355; - :b :c6356; - :b :c6357; - :b :c6358; - :b :c6359; - :b :c6360; - :b :c6361; - :b :c6362; - :b :c6363; - :b :c6364; - :b :c6365; - :b :c6366; - :b :c6367; - :b :c6368; - :b :c6369; - :b :c6370; - :b :c6371; - :b :c6372; - :b :c6373; - :b :c6374; - :b :c6375; - :b :c6376; - :b :c6377; - :b :c6378; - :b :c6379; - :b :c6380; - :b :c6381; - :b :c6382; - :b :c6383; - :b :c6384; - :b :c6385; - :b :c6386; - :b :c6387; - :b :c6388; - :b :c6389; - :b :c6390; - :b :c6391; - :b :c6392; - :b :c6393; - :b :c6394; - :b :c6395; - :b :c6396; - :b :c6397; - :b :c6398; - :b :c6399; - :b :c6400; - :b :c6401; - :b :c6402; - :b :c6403; - :b :c6404; - :b :c6405; - :b :c6406; - :b :c6407; - :b :c6408; - :b :c6409; - :b :c6410; - :b :c6411; - :b :c6412; - :b :c6413; - :b :c6414; - :b :c6415; - :b :c6416; - :b :c6417; - :b :c6418; - :b :c6419; - :b :c6420; - :b :c6421; - :b :c6422; - :b :c6423; - :b :c6424; - :b :c6425; - :b :c6426; - :b :c6427; - :b :c6428; - :b :c6429; - :b :c6430; - :b :c6431; - :b :c6432; - :b :c6433; - :b :c6434; - :b :c6435; - :b :c6436; - :b :c6437; - :b :c6438; - :b :c6439; - :b :c6440; - :b :c6441; - :b :c6442; - :b :c6443; - :b :c6444; - :b :c6445; - :b :c6446; - :b :c6447; - :b :c6448; - :b :c6449; - :b :c6450; - :b :c6451; - :b :c6452; - :b :c6453; - :b :c6454; - :b :c6455; - :b :c6456; - :b :c6457; - :b :c6458; - :b :c6459; - :b :c6460; - :b :c6461; - :b :c6462; - :b :c6463; - :b :c6464; - :b :c6465; - :b :c6466; - :b :c6467; - :b :c6468; - :b :c6469; - :b :c6470; - :b :c6471; - :b :c6472; - :b :c6473; - :b :c6474; - :b :c6475; - :b :c6476; - :b :c6477; - :b :c6478; - :b :c6479; - :b :c6480; - :b :c6481; - :b :c6482; - :b :c6483; - :b :c6484; - :b :c6485; - :b :c6486; - :b :c6487; - :b :c6488; - :b :c6489; - :b :c6490; - :b :c6491; - :b :c6492; - :b :c6493; - :b :c6494; - :b :c6495; - :b :c6496; - :b :c6497; - :b :c6498; - :b :c6499; - :b :c6500; - :b :c6501; - :b :c6502; - :b :c6503; - :b :c6504; - :b :c6505; - :b :c6506; - :b :c6507; - :b :c6508; - :b :c6509; - :b :c6510; - :b :c6511; - :b :c6512; - :b :c6513; - :b :c6514; - :b :c6515; - :b :c6516; - :b :c6517; - :b :c6518; - :b :c6519; - :b :c6520; - :b :c6521; - :b :c6522; - :b :c6523; - :b :c6524; - :b :c6525; - :b :c6526; - :b :c6527; - :b :c6528; - :b :c6529; - :b :c6530; - :b :c6531; - :b :c6532; - :b :c6533; - :b :c6534; - :b :c6535; - :b :c6536; - :b :c6537; - :b :c6538; - :b :c6539; - :b :c6540; - :b :c6541; - :b :c6542; - :b :c6543; - :b :c6544; - :b :c6545; - :b :c6546; - :b :c6547; - :b :c6548; - :b :c6549; - :b :c6550; - :b :c6551; - :b :c6552; - :b :c6553; - :b :c6554; - :b :c6555; - :b :c6556; - :b :c6557; - :b :c6558; - :b :c6559; - :b :c6560; - :b :c6561; - :b :c6562; - :b :c6563; - :b :c6564; - :b :c6565; - :b :c6566; - :b :c6567; - :b :c6568; - :b :c6569; - :b :c6570; - :b :c6571; - :b :c6572; - :b :c6573; - :b :c6574; - :b :c6575; - :b :c6576; - :b :c6577; - :b :c6578; - :b :c6579; - :b :c6580; - :b :c6581; - :b :c6582; - :b :c6583; - :b :c6584; - :b :c6585; - :b :c6586; - :b :c6587; - :b :c6588; - :b :c6589; - :b :c6590; - :b :c6591; - :b :c6592; - :b :c6593; - :b :c6594; - :b :c6595; - :b :c6596; - :b :c6597; - :b :c6598; - :b :c6599; - :b :c6600; - :b :c6601; - :b :c6602; - :b :c6603; - :b :c6604; - :b :c6605; - :b :c6606; - :b :c6607; - :b :c6608; - :b :c6609; - :b :c6610; - :b :c6611; - :b :c6612; - :b :c6613; - :b :c6614; - :b :c6615; - :b :c6616; - :b :c6617; - :b :c6618; - :b :c6619; - :b :c6620; - :b :c6621; - :b :c6622; - :b :c6623; - :b :c6624; - :b :c6625; - :b :c6626; - :b :c6627; - :b :c6628; - :b :c6629; - :b :c6630; - :b :c6631; - :b :c6632; - :b :c6633; - :b :c6634; - :b :c6635; - :b :c6636; - :b :c6637; - :b :c6638; - :b :c6639; - :b :c6640; - :b :c6641; - :b :c6642; - :b :c6643; - :b :c6644; - :b :c6645; - :b :c6646; - :b :c6647; - :b :c6648; - :b :c6649; - :b :c6650; - :b :c6651; - :b :c6652; - :b :c6653; - :b :c6654; - :b :c6655; - :b :c6656; - :b :c6657; - :b :c6658; - :b :c6659; - :b :c6660; - :b :c6661; - :b :c6662; - :b :c6663; - :b :c6664; - :b :c6665; - :b :c6666; - :b :c6667; - :b :c6668; - :b :c6669; - :b :c6670; - :b :c6671; - :b :c6672; - :b :c6673; - :b :c6674; - :b :c6675; - :b :c6676; - :b :c6677; - :b :c6678; - :b :c6679; - :b :c6680; - :b :c6681; - :b :c6682; - :b :c6683; - :b :c6684; - :b :c6685; - :b :c6686; - :b :c6687; - :b :c6688; - :b :c6689; - :b :c6690; - :b :c6691; - :b :c6692; - :b :c6693; - :b :c6694; - :b :c6695; - :b :c6696; - :b :c6697; - :b :c6698; - :b :c6699; - :b :c6700; - :b :c6701; - :b :c6702; - :b :c6703; - :b :c6704; - :b :c6705; - :b :c6706; - :b :c6707; - :b :c6708; - :b :c6709; - :b :c6710; - :b :c6711; - :b :c6712; - :b :c6713; - :b :c6714; - :b :c6715; - :b :c6716; - :b :c6717; - :b :c6718; - :b :c6719; - :b :c6720; - :b :c6721; - :b :c6722; - :b :c6723; - :b :c6724; - :b :c6725; - :b :c6726; - :b :c6727; - :b :c6728; - :b :c6729; - :b :c6730; - :b :c6731; - :b :c6732; - :b :c6733; - :b :c6734; - :b :c6735; - :b :c6736; - :b :c6737; - :b :c6738; - :b :c6739; - :b :c6740; - :b :c6741; - :b :c6742; - :b :c6743; - :b :c6744; - :b :c6745; - :b :c6746; - :b :c6747; - :b :c6748; - :b :c6749; - :b :c6750; - :b :c6751; - :b :c6752; - :b :c6753; - :b :c6754; - :b :c6755; - :b :c6756; - :b :c6757; - :b :c6758; - :b :c6759; - :b :c6760; - :b :c6761; - :b :c6762; - :b :c6763; - :b :c6764; - :b :c6765; - :b :c6766; - :b :c6767; - :b :c6768; - :b :c6769; - :b :c6770; - :b :c6771; - :b :c6772; - :b :c6773; - :b :c6774; - :b :c6775; - :b :c6776; - :b :c6777; - :b :c6778; - :b :c6779; - :b :c6780; - :b :c6781; - :b :c6782; - :b :c6783; - :b :c6784; - :b :c6785; - :b :c6786; - :b :c6787; - :b :c6788; - :b :c6789; - :b :c6790; - :b :c6791; - :b :c6792; - :b :c6793; - :b :c6794; - :b :c6795; - :b :c6796; - :b :c6797; - :b :c6798; - :b :c6799; - :b :c6800; - :b :c6801; - :b :c6802; - :b :c6803; - :b :c6804; - :b :c6805; - :b :c6806; - :b :c6807; - :b :c6808; - :b :c6809; - :b :c6810; - :b :c6811; - :b :c6812; - :b :c6813; - :b :c6814; - :b :c6815; - :b :c6816; - :b :c6817; - :b :c6818; - :b :c6819; - :b :c6820; - :b :c6821; - :b :c6822; - :b :c6823; - :b :c6824; - :b :c6825; - :b :c6826; - :b :c6827; - :b :c6828; - :b :c6829; - :b :c6830; - :b :c6831; - :b :c6832; - :b :c6833; - :b :c6834; - :b :c6835; - :b :c6836; - :b :c6837; - :b :c6838; - :b :c6839; - :b :c6840; - :b :c6841; - :b :c6842; - :b :c6843; - :b :c6844; - :b :c6845; - :b :c6846; - :b :c6847; - :b :c6848; - :b :c6849; - :b :c6850; - :b :c6851; - :b :c6852; - :b :c6853; - :b :c6854; - :b :c6855; - :b :c6856; - :b :c6857; - :b :c6858; - :b :c6859; - :b :c6860; - :b :c6861; - :b :c6862; - :b :c6863; - :b :c6864; - :b :c6865; - :b :c6866; - :b :c6867; - :b :c6868; - :b :c6869; - :b :c6870; - :b :c6871; - :b :c6872; - :b :c6873; - :b :c6874; - :b :c6875; - :b :c6876; - :b :c6877; - :b :c6878; - :b :c6879; - :b :c6880; - :b :c6881; - :b :c6882; - :b :c6883; - :b :c6884; - :b :c6885; - :b :c6886; - :b :c6887; - :b :c6888; - :b :c6889; - :b :c6890; - :b :c6891; - :b :c6892; - :b :c6893; - :b :c6894; - :b :c6895; - :b :c6896; - :b :c6897; - :b :c6898; - :b :c6899; - :b :c6900; - :b :c6901; - :b :c6902; - :b :c6903; - :b :c6904; - :b :c6905; - :b :c6906; - :b :c6907; - :b :c6908; - :b :c6909; - :b :c6910; - :b :c6911; - :b :c6912; - :b :c6913; - :b :c6914; - :b :c6915; - :b :c6916; - :b :c6917; - :b :c6918; - :b :c6919; - :b :c6920; - :b :c6921; - :b :c6922; - :b :c6923; - :b :c6924; - :b :c6925; - :b :c6926; - :b :c6927; - :b :c6928; - :b :c6929; - :b :c6930; - :b :c6931; - :b :c6932; - :b :c6933; - :b :c6934; - :b :c6935; - :b :c6936; - :b :c6937; - :b :c6938; - :b :c6939; - :b :c6940; - :b :c6941; - :b :c6942; - :b :c6943; - :b :c6944; - :b :c6945; - :b :c6946; - :b :c6947; - :b :c6948; - :b :c6949; - :b :c6950; - :b :c6951; - :b :c6952; - :b :c6953; - :b :c6954; - :b :c6955; - :b :c6956; - :b :c6957; - :b :c6958; - :b :c6959; - :b :c6960; - :b :c6961; - :b :c6962; - :b :c6963; - :b :c6964; - :b :c6965; - :b :c6966; - :b :c6967; - :b :c6968; - :b :c6969; - :b :c6970; - :b :c6971; - :b :c6972; - :b :c6973; - :b :c6974; - :b :c6975; - :b :c6976; - :b :c6977; - :b :c6978; - :b :c6979; - :b :c6980; - :b :c6981; - :b :c6982; - :b :c6983; - :b :c6984; - :b :c6985; - :b :c6986; - :b :c6987; - :b :c6988; - :b :c6989; - :b :c6990; - :b :c6991; - :b :c6992; - :b :c6993; - :b :c6994; - :b :c6995; - :b :c6996; - :b :c6997; - :b :c6998; - :b :c6999; - :b :c7000; - :b :c7001; - :b :c7002; - :b :c7003; - :b :c7004; - :b :c7005; - :b :c7006; - :b :c7007; - :b :c7008; - :b :c7009; - :b :c7010; - :b :c7011; - :b :c7012; - :b :c7013; - :b :c7014; - :b :c7015; - :b :c7016; - :b :c7017; - :b :c7018; - :b :c7019; - :b :c7020; - :b :c7021; - :b :c7022; - :b :c7023; - :b :c7024; - :b :c7025; - :b :c7026; - :b :c7027; - :b :c7028; - :b :c7029; - :b :c7030; - :b :c7031; - :b :c7032; - :b :c7033; - :b :c7034; - :b :c7035; - :b :c7036; - :b :c7037; - :b :c7038; - :b :c7039; - :b :c7040; - :b :c7041; - :b :c7042; - :b :c7043; - :b :c7044; - :b :c7045; - :b :c7046; - :b :c7047; - :b :c7048; - :b :c7049; - :b :c7050; - :b :c7051; - :b :c7052; - :b :c7053; - :b :c7054; - :b :c7055; - :b :c7056; - :b :c7057; - :b :c7058; - :b :c7059; - :b :c7060; - :b :c7061; - :b :c7062; - :b :c7063; - :b :c7064; - :b :c7065; - :b :c7066; - :b :c7067; - :b :c7068; - :b :c7069; - :b :c7070; - :b :c7071; - :b :c7072; - :b :c7073; - :b :c7074; - :b :c7075; - :b :c7076; - :b :c7077; - :b :c7078; - :b :c7079; - :b :c7080; - :b :c7081; - :b :c7082; - :b :c7083; - :b :c7084; - :b :c7085; - :b :c7086; - :b :c7087; - :b :c7088; - :b :c7089; - :b :c7090; - :b :c7091; - :b :c7092; - :b :c7093; - :b :c7094; - :b :c7095; - :b :c7096; - :b :c7097; - :b :c7098; - :b :c7099; - :b :c7100; - :b :c7101; - :b :c7102; - :b :c7103; - :b :c7104; - :b :c7105; - :b :c7106; - :b :c7107; - :b :c7108; - :b :c7109; - :b :c7110; - :b :c7111; - :b :c7112; - :b :c7113; - :b :c7114; - :b :c7115; - :b :c7116; - :b :c7117; - :b :c7118; - :b :c7119; - :b :c7120; - :b :c7121; - :b :c7122; - :b :c7123; - :b :c7124; - :b :c7125; - :b :c7126; - :b :c7127; - :b :c7128; - :b :c7129; - :b :c7130; - :b :c7131; - :b :c7132; - :b :c7133; - :b :c7134; - :b :c7135; - :b :c7136; - :b :c7137; - :b :c7138; - :b :c7139; - :b :c7140; - :b :c7141; - :b :c7142; - :b :c7143; - :b :c7144; - :b :c7145; - :b :c7146; - :b :c7147; - :b :c7148; - :b :c7149; - :b :c7150; - :b :c7151; - :b :c7152; - :b :c7153; - :b :c7154; - :b :c7155; - :b :c7156; - :b :c7157; - :b :c7158; - :b :c7159; - :b :c7160; - :b :c7161; - :b :c7162; - :b :c7163; - :b :c7164; - :b :c7165; - :b :c7166; - :b :c7167; - :b :c7168; - :b :c7169; - :b :c7170; - :b :c7171; - :b :c7172; - :b :c7173; - :b :c7174; - :b :c7175; - :b :c7176; - :b :c7177; - :b :c7178; - :b :c7179; - :b :c7180; - :b :c7181; - :b :c7182; - :b :c7183; - :b :c7184; - :b :c7185; - :b :c7186; - :b :c7187; - :b :c7188; - :b :c7189; - :b :c7190; - :b :c7191; - :b :c7192; - :b :c7193; - :b :c7194; - :b :c7195; - :b :c7196; - :b :c7197; - :b :c7198; - :b :c7199; - :b :c7200; - :b :c7201; - :b :c7202; - :b :c7203; - :b :c7204; - :b :c7205; - :b :c7206; - :b :c7207; - :b :c7208; - :b :c7209; - :b :c7210; - :b :c7211; - :b :c7212; - :b :c7213; - :b :c7214; - :b :c7215; - :b :c7216; - :b :c7217; - :b :c7218; - :b :c7219; - :b :c7220; - :b :c7221; - :b :c7222; - :b :c7223; - :b :c7224; - :b :c7225; - :b :c7226; - :b :c7227; - :b :c7228; - :b :c7229; - :b :c7230; - :b :c7231; - :b :c7232; - :b :c7233; - :b :c7234; - :b :c7235; - :b :c7236; - :b :c7237; - :b :c7238; - :b :c7239; - :b :c7240; - :b :c7241; - :b :c7242; - :b :c7243; - :b :c7244; - :b :c7245; - :b :c7246; - :b :c7247; - :b :c7248; - :b :c7249; - :b :c7250; - :b :c7251; - :b :c7252; - :b :c7253; - :b :c7254; - :b :c7255; - :b :c7256; - :b :c7257; - :b :c7258; - :b :c7259; - :b :c7260; - :b :c7261; - :b :c7262; - :b :c7263; - :b :c7264; - :b :c7265; - :b :c7266; - :b :c7267; - :b :c7268; - :b :c7269; - :b :c7270; - :b :c7271; - :b :c7272; - :b :c7273; - :b :c7274; - :b :c7275; - :b :c7276; - :b :c7277; - :b :c7278; - :b :c7279; - :b :c7280; - :b :c7281; - :b :c7282; - :b :c7283; - :b :c7284; - :b :c7285; - :b :c7286; - :b :c7287; - :b :c7288; - :b :c7289; - :b :c7290; - :b :c7291; - :b :c7292; - :b :c7293; - :b :c7294; - :b :c7295; - :b :c7296; - :b :c7297; - :b :c7298; - :b :c7299; - :b :c7300; - :b :c7301; - :b :c7302; - :b :c7303; - :b :c7304; - :b :c7305; - :b :c7306; - :b :c7307; - :b :c7308; - :b :c7309; - :b :c7310; - :b :c7311; - :b :c7312; - :b :c7313; - :b :c7314; - :b :c7315; - :b :c7316; - :b :c7317; - :b :c7318; - :b :c7319; - :b :c7320; - :b :c7321; - :b :c7322; - :b :c7323; - :b :c7324; - :b :c7325; - :b :c7326; - :b :c7327; - :b :c7328; - :b :c7329; - :b :c7330; - :b :c7331; - :b :c7332; - :b :c7333; - :b :c7334; - :b :c7335; - :b :c7336; - :b :c7337; - :b :c7338; - :b :c7339; - :b :c7340; - :b :c7341; - :b :c7342; - :b :c7343; - :b :c7344; - :b :c7345; - :b :c7346; - :b :c7347; - :b :c7348; - :b :c7349; - :b :c7350; - :b :c7351; - :b :c7352; - :b :c7353; - :b :c7354; - :b :c7355; - :b :c7356; - :b :c7357; - :b :c7358; - :b :c7359; - :b :c7360; - :b :c7361; - :b :c7362; - :b :c7363; - :b :c7364; - :b :c7365; - :b :c7366; - :b :c7367; - :b :c7368; - :b :c7369; - :b :c7370; - :b :c7371; - :b :c7372; - :b :c7373; - :b :c7374; - :b :c7375; - :b :c7376; - :b :c7377; - :b :c7378; - :b :c7379; - :b :c7380; - :b :c7381; - :b :c7382; - :b :c7383; - :b :c7384; - :b :c7385; - :b :c7386; - :b :c7387; - :b :c7388; - :b :c7389; - :b :c7390; - :b :c7391; - :b :c7392; - :b :c7393; - :b :c7394; - :b :c7395; - :b :c7396; - :b :c7397; - :b :c7398; - :b :c7399; - :b :c7400; - :b :c7401; - :b :c7402; - :b :c7403; - :b :c7404; - :b :c7405; - :b :c7406; - :b :c7407; - :b :c7408; - :b :c7409; - :b :c7410; - :b :c7411; - :b :c7412; - :b :c7413; - :b :c7414; - :b :c7415; - :b :c7416; - :b :c7417; - :b :c7418; - :b :c7419; - :b :c7420; - :b :c7421; - :b :c7422; - :b :c7423; - :b :c7424; - :b :c7425; - :b :c7426; - :b :c7427; - :b :c7428; - :b :c7429; - :b :c7430; - :b :c7431; - :b :c7432; - :b :c7433; - :b :c7434; - :b :c7435; - :b :c7436; - :b :c7437; - :b :c7438; - :b :c7439; - :b :c7440; - :b :c7441; - :b :c7442; - :b :c7443; - :b :c7444; - :b :c7445; - :b :c7446; - :b :c7447; - :b :c7448; - :b :c7449; - :b :c7450; - :b :c7451; - :b :c7452; - :b :c7453; - :b :c7454; - :b :c7455; - :b :c7456; - :b :c7457; - :b :c7458; - :b :c7459; - :b :c7460; - :b :c7461; - :b :c7462; - :b :c7463; - :b :c7464; - :b :c7465; - :b :c7466; - :b :c7467; - :b :c7468; - :b :c7469; - :b :c7470; - :b :c7471; - :b :c7472; - :b :c7473; - :b :c7474; - :b :c7475; - :b :c7476; - :b :c7477; - :b :c7478; - :b :c7479; - :b :c7480; - :b :c7481; - :b :c7482; - :b :c7483; - :b :c7484; - :b :c7485; - :b :c7486; - :b :c7487; - :b :c7488; - :b :c7489; - :b :c7490; - :b :c7491; - :b :c7492; - :b :c7493; - :b :c7494; - :b :c7495; - :b :c7496; - :b :c7497; - :b :c7498; - :b :c7499; - :b :c7500; - :b :c7501; - :b :c7502; - :b :c7503; - :b :c7504; - :b :c7505; - :b :c7506; - :b :c7507; - :b :c7508; - :b :c7509; - :b :c7510; - :b :c7511; - :b :c7512; - :b :c7513; - :b :c7514; - :b :c7515; - :b :c7516; - :b :c7517; - :b :c7518; - :b :c7519; - :b :c7520; - :b :c7521; - :b :c7522; - :b :c7523; - :b :c7524; - :b :c7525; - :b :c7526; - :b :c7527; - :b :c7528; - :b :c7529; - :b :c7530; - :b :c7531; - :b :c7532; - :b :c7533; - :b :c7534; - :b :c7535; - :b :c7536; - :b :c7537; - :b :c7538; - :b :c7539; - :b :c7540; - :b :c7541; - :b :c7542; - :b :c7543; - :b :c7544; - :b :c7545; - :b :c7546; - :b :c7547; - :b :c7548; - :b :c7549; - :b :c7550; - :b :c7551; - :b :c7552; - :b :c7553; - :b :c7554; - :b :c7555; - :b :c7556; - :b :c7557; - :b :c7558; - :b :c7559; - :b :c7560; - :b :c7561; - :b :c7562; - :b :c7563; - :b :c7564; - :b :c7565; - :b :c7566; - :b :c7567; - :b :c7568; - :b :c7569; - :b :c7570; - :b :c7571; - :b :c7572; - :b :c7573; - :b :c7574; - :b :c7575; - :b :c7576; - :b :c7577; - :b :c7578; - :b :c7579; - :b :c7580; - :b :c7581; - :b :c7582; - :b :c7583; - :b :c7584; - :b :c7585; - :b :c7586; - :b :c7587; - :b :c7588; - :b :c7589; - :b :c7590; - :b :c7591; - :b :c7592; - :b :c7593; - :b :c7594; - :b :c7595; - :b :c7596; - :b :c7597; - :b :c7598; - :b :c7599; - :b :c7600; - :b :c7601; - :b :c7602; - :b :c7603; - :b :c7604; - :b :c7605; - :b :c7606; - :b :c7607; - :b :c7608; - :b :c7609; - :b :c7610; - :b :c7611; - :b :c7612; - :b :c7613; - :b :c7614; - :b :c7615; - :b :c7616; - :b :c7617; - :b :c7618; - :b :c7619; - :b :c7620; - :b :c7621; - :b :c7622; - :b :c7623; - :b :c7624; - :b :c7625; - :b :c7626; - :b :c7627; - :b :c7628; - :b :c7629; - :b :c7630; - :b :c7631; - :b :c7632; - :b :c7633; - :b :c7634; - :b :c7635; - :b :c7636; - :b :c7637; - :b :c7638; - :b :c7639; - :b :c7640; - :b :c7641; - :b :c7642; - :b :c7643; - :b :c7644; - :b :c7645; - :b :c7646; - :b :c7647; - :b :c7648; - :b :c7649; - :b :c7650; - :b :c7651; - :b :c7652; - :b :c7653; - :b :c7654; - :b :c7655; - :b :c7656; - :b :c7657; - :b :c7658; - :b :c7659; - :b :c7660; - :b :c7661; - :b :c7662; - :b :c7663; - :b :c7664; - :b :c7665; - :b :c7666; - :b :c7667; - :b :c7668; - :b :c7669; - :b :c7670; - :b :c7671; - :b :c7672; - :b :c7673; - :b :c7674; - :b :c7675; - :b :c7676; - :b :c7677; - :b :c7678; - :b :c7679; - :b :c7680; - :b :c7681; - :b :c7682; - :b :c7683; - :b :c7684; - :b :c7685; - :b :c7686; - :b :c7687; - :b :c7688; - :b :c7689; - :b :c7690; - :b :c7691; - :b :c7692; - :b :c7693; - :b :c7694; - :b :c7695; - :b :c7696; - :b :c7697; - :b :c7698; - :b :c7699; - :b :c7700; - :b :c7701; - :b :c7702; - :b :c7703; - :b :c7704; - :b :c7705; - :b :c7706; - :b :c7707; - :b :c7708; - :b :c7709; - :b :c7710; - :b :c7711; - :b :c7712; - :b :c7713; - :b :c7714; - :b :c7715; - :b :c7716; - :b :c7717; - :b :c7718; - :b :c7719; - :b :c7720; - :b :c7721; - :b :c7722; - :b :c7723; - :b :c7724; - :b :c7725; - :b :c7726; - :b :c7727; - :b :c7728; - :b :c7729; - :b :c7730; - :b :c7731; - :b :c7732; - :b :c7733; - :b :c7734; - :b :c7735; - :b :c7736; - :b :c7737; - :b :c7738; - :b :c7739; - :b :c7740; - :b :c7741; - :b :c7742; - :b :c7743; - :b :c7744; - :b :c7745; - :b :c7746; - :b :c7747; - :b :c7748; - :b :c7749; - :b :c7750; - :b :c7751; - :b :c7752; - :b :c7753; - :b :c7754; - :b :c7755; - :b :c7756; - :b :c7757; - :b :c7758; - :b :c7759; - :b :c7760; - :b :c7761; - :b :c7762; - :b :c7763; - :b :c7764; - :b :c7765; - :b :c7766; - :b :c7767; - :b :c7768; - :b :c7769; - :b :c7770; - :b :c7771; - :b :c7772; - :b :c7773; - :b :c7774; - :b :c7775; - :b :c7776; - :b :c7777; - :b :c7778; - :b :c7779; - :b :c7780; - :b :c7781; - :b :c7782; - :b :c7783; - :b :c7784; - :b :c7785; - :b :c7786; - :b :c7787; - :b :c7788; - :b :c7789; - :b :c7790; - :b :c7791; - :b :c7792; - :b :c7793; - :b :c7794; - :b :c7795; - :b :c7796; - :b :c7797; - :b :c7798; - :b :c7799; - :b :c7800; - :b :c7801; - :b :c7802; - :b :c7803; - :b :c7804; - :b :c7805; - :b :c7806; - :b :c7807; - :b :c7808; - :b :c7809; - :b :c7810; - :b :c7811; - :b :c7812; - :b :c7813; - :b :c7814; - :b :c7815; - :b :c7816; - :b :c7817; - :b :c7818; - :b :c7819; - :b :c7820; - :b :c7821; - :b :c7822; - :b :c7823; - :b :c7824; - :b :c7825; - :b :c7826; - :b :c7827; - :b :c7828; - :b :c7829; - :b :c7830; - :b :c7831; - :b :c7832; - :b :c7833; - :b :c7834; - :b :c7835; - :b :c7836; - :b :c7837; - :b :c7838; - :b :c7839; - :b :c7840; - :b :c7841; - :b :c7842; - :b :c7843; - :b :c7844; - :b :c7845; - :b :c7846; - :b :c7847; - :b :c7848; - :b :c7849; - :b :c7850; - :b :c7851; - :b :c7852; - :b :c7853; - :b :c7854; - :b :c7855; - :b :c7856; - :b :c7857; - :b :c7858; - :b :c7859; - :b :c7860; - :b :c7861; - :b :c7862; - :b :c7863; - :b :c7864; - :b :c7865; - :b :c7866; - :b :c7867; - :b :c7868; - :b :c7869; - :b :c7870; - :b :c7871; - :b :c7872; - :b :c7873; - :b :c7874; - :b :c7875; - :b :c7876; - :b :c7877; - :b :c7878; - :b :c7879; - :b :c7880; - :b :c7881; - :b :c7882; - :b :c7883; - :b :c7884; - :b :c7885; - :b :c7886; - :b :c7887; - :b :c7888; - :b :c7889; - :b :c7890; - :b :c7891; - :b :c7892; - :b :c7893; - :b :c7894; - :b :c7895; - :b :c7896; - :b :c7897; - :b :c7898; - :b :c7899; - :b :c7900; - :b :c7901; - :b :c7902; - :b :c7903; - :b :c7904; - :b :c7905; - :b :c7906; - :b :c7907; - :b :c7908; - :b :c7909; - :b :c7910; - :b :c7911; - :b :c7912; - :b :c7913; - :b :c7914; - :b :c7915; - :b :c7916; - :b :c7917; - :b :c7918; - :b :c7919; - :b :c7920; - :b :c7921; - :b :c7922; - :b :c7923; - :b :c7924; - :b :c7925; - :b :c7926; - :b :c7927; - :b :c7928; - :b :c7929; - :b :c7930; - :b :c7931; - :b :c7932; - :b :c7933; - :b :c7934; - :b :c7935; - :b :c7936; - :b :c7937; - :b :c7938; - :b :c7939; - :b :c7940; - :b :c7941; - :b :c7942; - :b :c7943; - :b :c7944; - :b :c7945; - :b :c7946; - :b :c7947; - :b :c7948; - :b :c7949; - :b :c7950; - :b :c7951; - :b :c7952; - :b :c7953; - :b :c7954; - :b :c7955; - :b :c7956; - :b :c7957; - :b :c7958; - :b :c7959; - :b :c7960; - :b :c7961; - :b :c7962; - :b :c7963; - :b :c7964; - :b :c7965; - :b :c7966; - :b :c7967; - :b :c7968; - :b :c7969; - :b :c7970; - :b :c7971; - :b :c7972; - :b :c7973; - :b :c7974; - :b :c7975; - :b :c7976; - :b :c7977; - :b :c7978; - :b :c7979; - :b :c7980; - :b :c7981; - :b :c7982; - :b :c7983; - :b :c7984; - :b :c7985; - :b :c7986; - :b :c7987; - :b :c7988; - :b :c7989; - :b :c7990; - :b :c7991; - :b :c7992; - :b :c7993; - :b :c7994; - :b :c7995; - :b :c7996; - :b :c7997; - :b :c7998; - :b :c7999; - :b :c8000; - :b :c8001; - :b :c8002; - :b :c8003; - :b :c8004; - :b :c8005; - :b :c8006; - :b :c8007; - :b :c8008; - :b :c8009; - :b :c8010; - :b :c8011; - :b :c8012; - :b :c8013; - :b :c8014; - :b :c8015; - :b :c8016; - :b :c8017; - :b :c8018; - :b :c8019; - :b :c8020; - :b :c8021; - :b :c8022; - :b :c8023; - :b :c8024; - :b :c8025; - :b :c8026; - :b :c8027; - :b :c8028; - :b :c8029; - :b :c8030; - :b :c8031; - :b :c8032; - :b :c8033; - :b :c8034; - :b :c8035; - :b :c8036; - :b :c8037; - :b :c8038; - :b :c8039; - :b :c8040; - :b :c8041; - :b :c8042; - :b :c8043; - :b :c8044; - :b :c8045; - :b :c8046; - :b :c8047; - :b :c8048; - :b :c8049; - :b :c8050; - :b :c8051; - :b :c8052; - :b :c8053; - :b :c8054; - :b :c8055; - :b :c8056; - :b :c8057; - :b :c8058; - :b :c8059; - :b :c8060; - :b :c8061; - :b :c8062; - :b :c8063; - :b :c8064; - :b :c8065; - :b :c8066; - :b :c8067; - :b :c8068; - :b :c8069; - :b :c8070; - :b :c8071; - :b :c8072; - :b :c8073; - :b :c8074; - :b :c8075; - :b :c8076; - :b :c8077; - :b :c8078; - :b :c8079; - :b :c8080; - :b :c8081; - :b :c8082; - :b :c8083; - :b :c8084; - :b :c8085; - :b :c8086; - :b :c8087; - :b :c8088; - :b :c8089; - :b :c8090; - :b :c8091; - :b :c8092; - :b :c8093; - :b :c8094; - :b :c8095; - :b :c8096; - :b :c8097; - :b :c8098; - :b :c8099; - :b :c8100; - :b :c8101; - :b :c8102; - :b :c8103; - :b :c8104; - :b :c8105; - :b :c8106; - :b :c8107; - :b :c8108; - :b :c8109; - :b :c8110; - :b :c8111; - :b :c8112; - :b :c8113; - :b :c8114; - :b :c8115; - :b :c8116; - :b :c8117; - :b :c8118; - :b :c8119; - :b :c8120; - :b :c8121; - :b :c8122; - :b :c8123; - :b :c8124; - :b :c8125; - :b :c8126; - :b :c8127; - :b :c8128; - :b :c8129; - :b :c8130; - :b :c8131; - :b :c8132; - :b :c8133; - :b :c8134; - :b :c8135; - :b :c8136; - :b :c8137; - :b :c8138; - :b :c8139; - :b :c8140; - :b :c8141; - :b :c8142; - :b :c8143; - :b :c8144; - :b :c8145; - :b :c8146; - :b :c8147; - :b :c8148; - :b :c8149; - :b :c8150; - :b :c8151; - :b :c8152; - :b :c8153; - :b :c8154; - :b :c8155; - :b :c8156; - :b :c8157; - :b :c8158; - :b :c8159; - :b :c8160; - :b :c8161; - :b :c8162; - :b :c8163; - :b :c8164; - :b :c8165; - :b :c8166; - :b :c8167; - :b :c8168; - :b :c8169; - :b :c8170; - :b :c8171; - :b :c8172; - :b :c8173; - :b :c8174; - :b :c8175; - :b :c8176; - :b :c8177; - :b :c8178; - :b :c8179; - :b :c8180; - :b :c8181; - :b :c8182; - :b :c8183; - :b :c8184; - :b :c8185; - :b :c8186; - :b :c8187; - :b :c8188; - :b :c8189; - :b :c8190; - :b :c8191; - :b :c8192; - :b :c8193; - :b :c8194; - :b :c8195; - :b :c8196; - :b :c8197; - :b :c8198; - :b :c8199; - :b :c8200; - :b :c8201; - :b :c8202; - :b :c8203; - :b :c8204; - :b :c8205; - :b :c8206; - :b :c8207; - :b :c8208; - :b :c8209; - :b :c8210; - :b :c8211; - :b :c8212; - :b :c8213; - :b :c8214; - :b :c8215; - :b :c8216; - :b :c8217; - :b :c8218; - :b :c8219; - :b :c8220; - :b :c8221; - :b :c8222; - :b :c8223; - :b :c8224; - :b :c8225; - :b :c8226; - :b :c8227; - :b :c8228; - :b :c8229; - :b :c8230; - :b :c8231; - :b :c8232; - :b :c8233; - :b :c8234; - :b :c8235; - :b :c8236; - :b :c8237; - :b :c8238; - :b :c8239; - :b :c8240; - :b :c8241; - :b :c8242; - :b :c8243; - :b :c8244; - :b :c8245; - :b :c8246; - :b :c8247; - :b :c8248; - :b :c8249; - :b :c8250; - :b :c8251; - :b :c8252; - :b :c8253; - :b :c8254; - :b :c8255; - :b :c8256; - :b :c8257; - :b :c8258; - :b :c8259; - :b :c8260; - :b :c8261; - :b :c8262; - :b :c8263; - :b :c8264; - :b :c8265; - :b :c8266; - :b :c8267; - :b :c8268; - :b :c8269; - :b :c8270; - :b :c8271; - :b :c8272; - :b :c8273; - :b :c8274; - :b :c8275; - :b :c8276; - :b :c8277; - :b :c8278; - :b :c8279; - :b :c8280; - :b :c8281; - :b :c8282; - :b :c8283; - :b :c8284; - :b :c8285; - :b :c8286; - :b :c8287; - :b :c8288; - :b :c8289; - :b :c8290; - :b :c8291; - :b :c8292; - :b :c8293; - :b :c8294; - :b :c8295; - :b :c8296; - :b :c8297; - :b :c8298; - :b :c8299; - :b :c8300; - :b :c8301; - :b :c8302; - :b :c8303; - :b :c8304; - :b :c8305; - :b :c8306; - :b :c8307; - :b :c8308; - :b :c8309; - :b :c8310; - :b :c8311; - :b :c8312; - :b :c8313; - :b :c8314; - :b :c8315; - :b :c8316; - :b :c8317; - :b :c8318; - :b :c8319; - :b :c8320; - :b :c8321; - :b :c8322; - :b :c8323; - :b :c8324; - :b :c8325; - :b :c8326; - :b :c8327; - :b :c8328; - :b :c8329; - :b :c8330; - :b :c8331; - :b :c8332; - :b :c8333; - :b :c8334; - :b :c8335; - :b :c8336; - :b :c8337; - :b :c8338; - :b :c8339; - :b :c8340; - :b :c8341; - :b :c8342; - :b :c8343; - :b :c8344; - :b :c8345; - :b :c8346; - :b :c8347; - :b :c8348; - :b :c8349; - :b :c8350; - :b :c8351; - :b :c8352; - :b :c8353; - :b :c8354; - :b :c8355; - :b :c8356; - :b :c8357; - :b :c8358; - :b :c8359; - :b :c8360; - :b :c8361; - :b :c8362; - :b :c8363; - :b :c8364; - :b :c8365; - :b :c8366; - :b :c8367; - :b :c8368; - :b :c8369; - :b :c8370; - :b :c8371; - :b :c8372; - :b :c8373; - :b :c8374; - :b :c8375; - :b :c8376; - :b :c8377; - :b :c8378; - :b :c8379; - :b :c8380; - :b :c8381; - :b :c8382; - :b :c8383; - :b :c8384; - :b :c8385; - :b :c8386; - :b :c8387; - :b :c8388; - :b :c8389; - :b :c8390; - :b :c8391; - :b :c8392; - :b :c8393; - :b :c8394; - :b :c8395; - :b :c8396; - :b :c8397; - :b :c8398; - :b :c8399; - :b :c8400; - :b :c8401; - :b :c8402; - :b :c8403; - :b :c8404; - :b :c8405; - :b :c8406; - :b :c8407; - :b :c8408; - :b :c8409; - :b :c8410; - :b :c8411; - :b :c8412; - :b :c8413; - :b :c8414; - :b :c8415; - :b :c8416; - :b :c8417; - :b :c8418; - :b :c8419; - :b :c8420; - :b :c8421; - :b :c8422; - :b :c8423; - :b :c8424; - :b :c8425; - :b :c8426; - :b :c8427; - :b :c8428; - :b :c8429; - :b :c8430; - :b :c8431; - :b :c8432; - :b :c8433; - :b :c8434; - :b :c8435; - :b :c8436; - :b :c8437; - :b :c8438; - :b :c8439; - :b :c8440; - :b :c8441; - :b :c8442; - :b :c8443; - :b :c8444; - :b :c8445; - :b :c8446; - :b :c8447; - :b :c8448; - :b :c8449; - :b :c8450; - :b :c8451; - :b :c8452; - :b :c8453; - :b :c8454; - :b :c8455; - :b :c8456; - :b :c8457; - :b :c8458; - :b :c8459; - :b :c8460; - :b :c8461; - :b :c8462; - :b :c8463; - :b :c8464; - :b :c8465; - :b :c8466; - :b :c8467; - :b :c8468; - :b :c8469; - :b :c8470; - :b :c8471; - :b :c8472; - :b :c8473; - :b :c8474; - :b :c8475; - :b :c8476; - :b :c8477; - :b :c8478; - :b :c8479; - :b :c8480; - :b :c8481; - :b :c8482; - :b :c8483; - :b :c8484; - :b :c8485; - :b :c8486; - :b :c8487; - :b :c8488; - :b :c8489; - :b :c8490; - :b :c8491; - :b :c8492; - :b :c8493; - :b :c8494; - :b :c8495; - :b :c8496; - :b :c8497; - :b :c8498; - :b :c8499; - :b :c8500; - :b :c8501; - :b :c8502; - :b :c8503; - :b :c8504; - :b :c8505; - :b :c8506; - :b :c8507; - :b :c8508; - :b :c8509; - :b :c8510; - :b :c8511; - :b :c8512; - :b :c8513; - :b :c8514; - :b :c8515; - :b :c8516; - :b :c8517; - :b :c8518; - :b :c8519; - :b :c8520; - :b :c8521; - :b :c8522; - :b :c8523; - :b :c8524; - :b :c8525; - :b :c8526; - :b :c8527; - :b :c8528; - :b :c8529; - :b :c8530; - :b :c8531; - :b :c8532; - :b :c8533; - :b :c8534; - :b :c8535; - :b :c8536; - :b :c8537; - :b :c8538; - :b :c8539; - :b :c8540; - :b :c8541; - :b :c8542; - :b :c8543; - :b :c8544; - :b :c8545; - :b :c8546; - :b :c8547; - :b :c8548; - :b :c8549; - :b :c8550; - :b :c8551; - :b :c8552; - :b :c8553; - :b :c8554; - :b :c8555; - :b :c8556; - :b :c8557; - :b :c8558; - :b :c8559; - :b :c8560; - :b :c8561; - :b :c8562; - :b :c8563; - :b :c8564; - :b :c8565; - :b :c8566; - :b :c8567; - :b :c8568; - :b :c8569; - :b :c8570; - :b :c8571; - :b :c8572; - :b :c8573; - :b :c8574; - :b :c8575; - :b :c8576; - :b :c8577; - :b :c8578; - :b :c8579; - :b :c8580; - :b :c8581; - :b :c8582; - :b :c8583; - :b :c8584; - :b :c8585; - :b :c8586; - :b :c8587; - :b :c8588; - :b :c8589; - :b :c8590; - :b :c8591; - :b :c8592; - :b :c8593; - :b :c8594; - :b :c8595; - :b :c8596; - :b :c8597; - :b :c8598; - :b :c8599; - :b :c8600; - :b :c8601; - :b :c8602; - :b :c8603; - :b :c8604; - :b :c8605; - :b :c8606; - :b :c8607; - :b :c8608; - :b :c8609; - :b :c8610; - :b :c8611; - :b :c8612; - :b :c8613; - :b :c8614; - :b :c8615; - :b :c8616; - :b :c8617; - :b :c8618; - :b :c8619; - :b :c8620; - :b :c8621; - :b :c8622; - :b :c8623; - :b :c8624; - :b :c8625; - :b :c8626; - :b :c8627; - :b :c8628; - :b :c8629; - :b :c8630; - :b :c8631; - :b :c8632; - :b :c8633; - :b :c8634; - :b :c8635; - :b :c8636; - :b :c8637; - :b :c8638; - :b :c8639; - :b :c8640; - :b :c8641; - :b :c8642; - :b :c8643; - :b :c8644; - :b :c8645; - :b :c8646; - :b :c8647; - :b :c8648; - :b :c8649; - :b :c8650; - :b :c8651; - :b :c8652; - :b :c8653; - :b :c8654; - :b :c8655; - :b :c8656; - :b :c8657; - :b :c8658; - :b :c8659; - :b :c8660; - :b :c8661; - :b :c8662; - :b :c8663; - :b :c8664; - :b :c8665; - :b :c8666; - :b :c8667; - :b :c8668; - :b :c8669; - :b :c8670; - :b :c8671; - :b :c8672; - :b :c8673; - :b :c8674; - :b :c8675; - :b :c8676; - :b :c8677; - :b :c8678; - :b :c8679; - :b :c8680; - :b :c8681; - :b :c8682; - :b :c8683; - :b :c8684; - :b :c8685; - :b :c8686; - :b :c8687; - :b :c8688; - :b :c8689; - :b :c8690; - :b :c8691; - :b :c8692; - :b :c8693; - :b :c8694; - :b :c8695; - :b :c8696; - :b :c8697; - :b :c8698; - :b :c8699; - :b :c8700; - :b :c8701; - :b :c8702; - :b :c8703; - :b :c8704; - :b :c8705; - :b :c8706; - :b :c8707; - :b :c8708; - :b :c8709; - :b :c8710; - :b :c8711; - :b :c8712; - :b :c8713; - :b :c8714; - :b :c8715; - :b :c8716; - :b :c8717; - :b :c8718; - :b :c8719; - :b :c8720; - :b :c8721; - :b :c8722; - :b :c8723; - :b :c8724; - :b :c8725; - :b :c8726; - :b :c8727; - :b :c8728; - :b :c8729; - :b :c8730; - :b :c8731; - :b :c8732; - :b :c8733; - :b :c8734; - :b :c8735; - :b :c8736; - :b :c8737; - :b :c8738; - :b :c8739; - :b :c8740; - :b :c8741; - :b :c8742; - :b :c8743; - :b :c8744; - :b :c8745; - :b :c8746; - :b :c8747; - :b :c8748; - :b :c8749; - :b :c8750; - :b :c8751; - :b :c8752; - :b :c8753; - :b :c8754; - :b :c8755; - :b :c8756; - :b :c8757; - :b :c8758; - :b :c8759; - :b :c8760; - :b :c8761; - :b :c8762; - :b :c8763; - :b :c8764; - :b :c8765; - :b :c8766; - :b :c8767; - :b :c8768; - :b :c8769; - :b :c8770; - :b :c8771; - :b :c8772; - :b :c8773; - :b :c8774; - :b :c8775; - :b :c8776; - :b :c8777; - :b :c8778; - :b :c8779; - :b :c8780; - :b :c8781; - :b :c8782; - :b :c8783; - :b :c8784; - :b :c8785; - :b :c8786; - :b :c8787; - :b :c8788; - :b :c8789; - :b :c8790; - :b :c8791; - :b :c8792; - :b :c8793; - :b :c8794; - :b :c8795; - :b :c8796; - :b :c8797; - :b :c8798; - :b :c8799; - :b :c8800; - :b :c8801; - :b :c8802; - :b :c8803; - :b :c8804; - :b :c8805; - :b :c8806; - :b :c8807; - :b :c8808; - :b :c8809; - :b :c8810; - :b :c8811; - :b :c8812; - :b :c8813; - :b :c8814; - :b :c8815; - :b :c8816; - :b :c8817; - :b :c8818; - :b :c8819; - :b :c8820; - :b :c8821; - :b :c8822; - :b :c8823; - :b :c8824; - :b :c8825; - :b :c8826; - :b :c8827; - :b :c8828; - :b :c8829; - :b :c8830; - :b :c8831; - :b :c8832; - :b :c8833; - :b :c8834; - :b :c8835; - :b :c8836; - :b :c8837; - :b :c8838; - :b :c8839; - :b :c8840; - :b :c8841; - :b :c8842; - :b :c8843; - :b :c8844; - :b :c8845; - :b :c8846; - :b :c8847; - :b :c8848; - :b :c8849; - :b :c8850; - :b :c8851; - :b :c8852; - :b :c8853; - :b :c8854; - :b :c8855; - :b :c8856; - :b :c8857; - :b :c8858; - :b :c8859; - :b :c8860; - :b :c8861; - :b :c8862; - :b :c8863; - :b :c8864; - :b :c8865; - :b :c8866; - :b :c8867; - :b :c8868; - :b :c8869; - :b :c8870; - :b :c8871; - :b :c8872; - :b :c8873; - :b :c8874; - :b :c8875; - :b :c8876; - :b :c8877; - :b :c8878; - :b :c8879; - :b :c8880; - :b :c8881; - :b :c8882; - :b :c8883; - :b :c8884; - :b :c8885; - :b :c8886; - :b :c8887; - :b :c8888; - :b :c8889; - :b :c8890; - :b :c8891; - :b :c8892; - :b :c8893; - :b :c8894; - :b :c8895; - :b :c8896; - :b :c8897; - :b :c8898; - :b :c8899; - :b :c8900; - :b :c8901; - :b :c8902; - :b :c8903; - :b :c8904; - :b :c8905; - :b :c8906; - :b :c8907; - :b :c8908; - :b :c8909; - :b :c8910; - :b :c8911; - :b :c8912; - :b :c8913; - :b :c8914; - :b :c8915; - :b :c8916; - :b :c8917; - :b :c8918; - :b :c8919; - :b :c8920; - :b :c8921; - :b :c8922; - :b :c8923; - :b :c8924; - :b :c8925; - :b :c8926; - :b :c8927; - :b :c8928; - :b :c8929; - :b :c8930; - :b :c8931; - :b :c8932; - :b :c8933; - :b :c8934; - :b :c8935; - :b :c8936; - :b :c8937; - :b :c8938; - :b :c8939; - :b :c8940; - :b :c8941; - :b :c8942; - :b :c8943; - :b :c8944; - :b :c8945; - :b :c8946; - :b :c8947; - :b :c8948; - :b :c8949; - :b :c8950; - :b :c8951; - :b :c8952; - :b :c8953; - :b :c8954; - :b :c8955; - :b :c8956; - :b :c8957; - :b :c8958; - :b :c8959; - :b :c8960; - :b :c8961; - :b :c8962; - :b :c8963; - :b :c8964; - :b :c8965; - :b :c8966; - :b :c8967; - :b :c8968; - :b :c8969; - :b :c8970; - :b :c8971; - :b :c8972; - :b :c8973; - :b :c8974; - :b :c8975; - :b :c8976; - :b :c8977; - :b :c8978; - :b :c8979; - :b :c8980; - :b :c8981; - :b :c8982; - :b :c8983; - :b :c8984; - :b :c8985; - :b :c8986; - :b :c8987; - :b :c8988; - :b :c8989; - :b :c8990; - :b :c8991; - :b :c8992; - :b :c8993; - :b :c8994; - :b :c8995; - :b :c8996; - :b :c8997; - :b :c8998; - :b :c8999; - :b :c9000; - :b :c9001; - :b :c9002; - :b :c9003; - :b :c9004; - :b :c9005; - :b :c9006; - :b :c9007; - :b :c9008; - :b :c9009; - :b :c9010; - :b :c9011; - :b :c9012; - :b :c9013; - :b :c9014; - :b :c9015; - :b :c9016; - :b :c9017; - :b :c9018; - :b :c9019; - :b :c9020; - :b :c9021; - :b :c9022; - :b :c9023; - :b :c9024; - :b :c9025; - :b :c9026; - :b :c9027; - :b :c9028; - :b :c9029; - :b :c9030; - :b :c9031; - :b :c9032; - :b :c9033; - :b :c9034; - :b :c9035; - :b :c9036; - :b :c9037; - :b :c9038; - :b :c9039; - :b :c9040; - :b :c9041; - :b :c9042; - :b :c9043; - :b :c9044; - :b :c9045; - :b :c9046; - :b :c9047; - :b :c9048; - :b :c9049; - :b :c9050; - :b :c9051; - :b :c9052; - :b :c9053; - :b :c9054; - :b :c9055; - :b :c9056; - :b :c9057; - :b :c9058; - :b :c9059; - :b :c9060; - :b :c9061; - :b :c9062; - :b :c9063; - :b :c9064; - :b :c9065; - :b :c9066; - :b :c9067; - :b :c9068; - :b :c9069; - :b :c9070; - :b :c9071; - :b :c9072; - :b :c9073; - :b :c9074; - :b :c9075; - :b :c9076; - :b :c9077; - :b :c9078; - :b :c9079; - :b :c9080; - :b :c9081; - :b :c9082; - :b :c9083; - :b :c9084; - :b :c9085; - :b :c9086; - :b :c9087; - :b :c9088; - :b :c9089; - :b :c9090; - :b :c9091; - :b :c9092; - :b :c9093; - :b :c9094; - :b :c9095; - :b :c9096; - :b :c9097; - :b :c9098; - :b :c9099; - :b :c9100; - :b :c9101; - :b :c9102; - :b :c9103; - :b :c9104; - :b :c9105; - :b :c9106; - :b :c9107; - :b :c9108; - :b :c9109; - :b :c9110; - :b :c9111; - :b :c9112; - :b :c9113; - :b :c9114; - :b :c9115; - :b :c9116; - :b :c9117; - :b :c9118; - :b :c9119; - :b :c9120; - :b :c9121; - :b :c9122; - :b :c9123; - :b :c9124; - :b :c9125; - :b :c9126; - :b :c9127; - :b :c9128; - :b :c9129; - :b :c9130; - :b :c9131; - :b :c9132; - :b :c9133; - :b :c9134; - :b :c9135; - :b :c9136; - :b :c9137; - :b :c9138; - :b :c9139; - :b :c9140; - :b :c9141; - :b :c9142; - :b :c9143; - :b :c9144; - :b :c9145; - :b :c9146; - :b :c9147; - :b :c9148; - :b :c9149; - :b :c9150; - :b :c9151; - :b :c9152; - :b :c9153; - :b :c9154; - :b :c9155; - :b :c9156; - :b :c9157; - :b :c9158; - :b :c9159; - :b :c9160; - :b :c9161; - :b :c9162; - :b :c9163; - :b :c9164; - :b :c9165; - :b :c9166; - :b :c9167; - :b :c9168; - :b :c9169; - :b :c9170; - :b :c9171; - :b :c9172; - :b :c9173; - :b :c9174; - :b :c9175; - :b :c9176; - :b :c9177; - :b :c9178; - :b :c9179; - :b :c9180; - :b :c9181; - :b :c9182; - :b :c9183; - :b :c9184; - :b :c9185; - :b :c9186; - :b :c9187; - :b :c9188; - :b :c9189; - :b :c9190; - :b :c9191; - :b :c9192; - :b :c9193; - :b :c9194; - :b :c9195; - :b :c9196; - :b :c9197; - :b :c9198; - :b :c9199; - :b :c9200; - :b :c9201; - :b :c9202; - :b :c9203; - :b :c9204; - :b :c9205; - :b :c9206; - :b :c9207; - :b :c9208; - :b :c9209; - :b :c9210; - :b :c9211; - :b :c9212; - :b :c9213; - :b :c9214; - :b :c9215; - :b :c9216; - :b :c9217; - :b :c9218; - :b :c9219; - :b :c9220; - :b :c9221; - :b :c9222; - :b :c9223; - :b :c9224; - :b :c9225; - :b :c9226; - :b :c9227; - :b :c9228; - :b :c9229; - :b :c9230; - :b :c9231; - :b :c9232; - :b :c9233; - :b :c9234; - :b :c9235; - :b :c9236; - :b :c9237; - :b :c9238; - :b :c9239; - :b :c9240; - :b :c9241; - :b :c9242; - :b :c9243; - :b :c9244; - :b :c9245; - :b :c9246; - :b :c9247; - :b :c9248; - :b :c9249; - :b :c9250; - :b :c9251; - :b :c9252; - :b :c9253; - :b :c9254; - :b :c9255; - :b :c9256; - :b :c9257; - :b :c9258; - :b :c9259; - :b :c9260; - :b :c9261; - :b :c9262; - :b :c9263; - :b :c9264; - :b :c9265; - :b :c9266; - :b :c9267; - :b :c9268; - :b :c9269; - :b :c9270; - :b :c9271; - :b :c9272; - :b :c9273; - :b :c9274; - :b :c9275; - :b :c9276; - :b :c9277; - :b :c9278; - :b :c9279; - :b :c9280; - :b :c9281; - :b :c9282; - :b :c9283; - :b :c9284; - :b :c9285; - :b :c9286; - :b :c9287; - :b :c9288; - :b :c9289; - :b :c9290; - :b :c9291; - :b :c9292; - :b :c9293; - :b :c9294; - :b :c9295; - :b :c9296; - :b :c9297; - :b :c9298; - :b :c9299; - :b :c9300; - :b :c9301; - :b :c9302; - :b :c9303; - :b :c9304; - :b :c9305; - :b :c9306; - :b :c9307; - :b :c9308; - :b :c9309; - :b :c9310; - :b :c9311; - :b :c9312; - :b :c9313; - :b :c9314; - :b :c9315; - :b :c9316; - :b :c9317; - :b :c9318; - :b :c9319; - :b :c9320; - :b :c9321; - :b :c9322; - :b :c9323; - :b :c9324; - :b :c9325; - :b :c9326; - :b :c9327; - :b :c9328; - :b :c9329; - :b :c9330; - :b :c9331; - :b :c9332; - :b :c9333; - :b :c9334; - :b :c9335; - :b :c9336; - :b :c9337; - :b :c9338; - :b :c9339; - :b :c9340; - :b :c9341; - :b :c9342; - :b :c9343; - :b :c9344; - :b :c9345; - :b :c9346; - :b :c9347; - :b :c9348; - :b :c9349; - :b :c9350; - :b :c9351; - :b :c9352; - :b :c9353; - :b :c9354; - :b :c9355; - :b :c9356; - :b :c9357; - :b :c9358; - :b :c9359; - :b :c9360; - :b :c9361; - :b :c9362; - :b :c9363; - :b :c9364; - :b :c9365; - :b :c9366; - :b :c9367; - :b :c9368; - :b :c9369; - :b :c9370; - :b :c9371; - :b :c9372; - :b :c9373; - :b :c9374; - :b :c9375; - :b :c9376; - :b :c9377; - :b :c9378; - :b :c9379; - :b :c9380; - :b :c9381; - :b :c9382; - :b :c9383; - :b :c9384; - :b :c9385; - :b :c9386; - :b :c9387; - :b :c9388; - :b :c9389; - :b :c9390; - :b :c9391; - :b :c9392; - :b :c9393; - :b :c9394; - :b :c9395; - :b :c9396; - :b :c9397; - :b :c9398; - :b :c9399; - :b :c9400; - :b :c9401; - :b :c9402; - :b :c9403; - :b :c9404; - :b :c9405; - :b :c9406; - :b :c9407; - :b :c9408; - :b :c9409; - :b :c9410; - :b :c9411; - :b :c9412; - :b :c9413; - :b :c9414; - :b :c9415; - :b :c9416; - :b :c9417; - :b :c9418; - :b :c9419; - :b :c9420; - :b :c9421; - :b :c9422; - :b :c9423; - :b :c9424; - :b :c9425; - :b :c9426; - :b :c9427; - :b :c9428; - :b :c9429; - :b :c9430; - :b :c9431; - :b :c9432; - :b :c9433; - :b :c9434; - :b :c9435; - :b :c9436; - :b :c9437; - :b :c9438; - :b :c9439; - :b :c9440; - :b :c9441; - :b :c9442; - :b :c9443; - :b :c9444; - :b :c9445; - :b :c9446; - :b :c9447; - :b :c9448; - :b :c9449; - :b :c9450; - :b :c9451; - :b :c9452; - :b :c9453; - :b :c9454; - :b :c9455; - :b :c9456; - :b :c9457; - :b :c9458; - :b :c9459; - :b :c9460; - :b :c9461; - :b :c9462; - :b :c9463; - :b :c9464; - :b :c9465; - :b :c9466; - :b :c9467; - :b :c9468; - :b :c9469; - :b :c9470; - :b :c9471; - :b :c9472; - :b :c9473; - :b :c9474; - :b :c9475; - :b :c9476; - :b :c9477; - :b :c9478; - :b :c9479; - :b :c9480; - :b :c9481; - :b :c9482; - :b :c9483; - :b :c9484; - :b :c9485; - :b :c9486; - :b :c9487; - :b :c9488; - :b :c9489; - :b :c9490; - :b :c9491; - :b :c9492; - :b :c9493; - :b :c9494; - :b :c9495; - :b :c9496; - :b :c9497; - :b :c9498; - :b :c9499; - :b :c9500; - :b :c9501; - :b :c9502; - :b :c9503; - :b :c9504; - :b :c9505; - :b :c9506; - :b :c9507; - :b :c9508; - :b :c9509; - :b :c9510; - :b :c9511; - :b :c9512; - :b :c9513; - :b :c9514; - :b :c9515; - :b :c9516; - :b :c9517; - :b :c9518; - :b :c9519; - :b :c9520; - :b :c9521; - :b :c9522; - :b :c9523; - :b :c9524; - :b :c9525; - :b :c9526; - :b :c9527; - :b :c9528; - :b :c9529; - :b :c9530; - :b :c9531; - :b :c9532; - :b :c9533; - :b :c9534; - :b :c9535; - :b :c9536; - :b :c9537; - :b :c9538; - :b :c9539; - :b :c9540; - :b :c9541; - :b :c9542; - :b :c9543; - :b :c9544; - :b :c9545; - :b :c9546; - :b :c9547; - :b :c9548; - :b :c9549; - :b :c9550; - :b :c9551; - :b :c9552; - :b :c9553; - :b :c9554; - :b :c9555; - :b :c9556; - :b :c9557; - :b :c9558; - :b :c9559; - :b :c9560; - :b :c9561; - :b :c9562; - :b :c9563; - :b :c9564; - :b :c9565; - :b :c9566; - :b :c9567; - :b :c9568; - :b :c9569; - :b :c9570; - :b :c9571; - :b :c9572; - :b :c9573; - :b :c9574; - :b :c9575; - :b :c9576; - :b :c9577; - :b :c9578; - :b :c9579; - :b :c9580; - :b :c9581; - :b :c9582; - :b :c9583; - :b :c9584; - :b :c9585; - :b :c9586; - :b :c9587; - :b :c9588; - :b :c9589; - :b :c9590; - :b :c9591; - :b :c9592; - :b :c9593; - :b :c9594; - :b :c9595; - :b :c9596; - :b :c9597; - :b :c9598; - :b :c9599; - :b :c9600; - :b :c9601; - :b :c9602; - :b :c9603; - :b :c9604; - :b :c9605; - :b :c9606; - :b :c9607; - :b :c9608; - :b :c9609; - :b :c9610; - :b :c9611; - :b :c9612; - :b :c9613; - :b :c9614; - :b :c9615; - :b :c9616; - :b :c9617; - :b :c9618; - :b :c9619; - :b :c9620; - :b :c9621; - :b :c9622; - :b :c9623; - :b :c9624; - :b :c9625; - :b :c9626; - :b :c9627; - :b :c9628; - :b :c9629; - :b :c9630; - :b :c9631; - :b :c9632; - :b :c9633; - :b :c9634; - :b :c9635; - :b :c9636; - :b :c9637; - :b :c9638; - :b :c9639; - :b :c9640; - :b :c9641; - :b :c9642; - :b :c9643; - :b :c9644; - :b :c9645; - :b :c9646; - :b :c9647; - :b :c9648; - :b :c9649; - :b :c9650; - :b :c9651; - :b :c9652; - :b :c9653; - :b :c9654; - :b :c9655; - :b :c9656; - :b :c9657; - :b :c9658; - :b :c9659; - :b :c9660; - :b :c9661; - :b :c9662; - :b :c9663; - :b :c9664; - :b :c9665; - :b :c9666; - :b :c9667; - :b :c9668; - :b :c9669; - :b :c9670; - :b :c9671; - :b :c9672; - :b :c9673; - :b :c9674; - :b :c9675; - :b :c9676; - :b :c9677; - :b :c9678; - :b :c9679; - :b :c9680; - :b :c9681; - :b :c9682; - :b :c9683; - :b :c9684; - :b :c9685; - :b :c9686; - :b :c9687; - :b :c9688; - :b :c9689; - :b :c9690; - :b :c9691; - :b :c9692; - :b :c9693; - :b :c9694; - :b :c9695; - :b :c9696; - :b :c9697; - :b :c9698; - :b :c9699; - :b :c9700; - :b :c9701; - :b :c9702; - :b :c9703; - :b :c9704; - :b :c9705; - :b :c9706; - :b :c9707; - :b :c9708; - :b :c9709; - :b :c9710; - :b :c9711; - :b :c9712; - :b :c9713; - :b :c9714; - :b :c9715; - :b :c9716; - :b :c9717; - :b :c9718; - :b :c9719; - :b :c9720; - :b :c9721; - :b :c9722; - :b :c9723; - :b :c9724; - :b :c9725; - :b :c9726; - :b :c9727; - :b :c9728; - :b :c9729; - :b :c9730; - :b :c9731; - :b :c9732; - :b :c9733; - :b :c9734; - :b :c9735; - :b :c9736; - :b :c9737; - :b :c9738; - :b :c9739; - :b :c9740; - :b :c9741; - :b :c9742; - :b :c9743; - :b :c9744; - :b :c9745; - :b :c9746; - :b :c9747; - :b :c9748; - :b :c9749; - :b :c9750; - :b :c9751; - :b :c9752; - :b :c9753; - :b :c9754; - :b :c9755; - :b :c9756; - :b :c9757; - :b :c9758; - :b :c9759; - :b :c9760; - :b :c9761; - :b :c9762; - :b :c9763; - :b :c9764; - :b :c9765; - :b :c9766; - :b :c9767; - :b :c9768; - :b :c9769; - :b :c9770; - :b :c9771; - :b :c9772; - :b :c9773; - :b :c9774; - :b :c9775; - :b :c9776; - :b :c9777; - :b :c9778; - :b :c9779; - :b :c9780; - :b :c9781; - :b :c9782; - :b :c9783; - :b :c9784; - :b :c9785; - :b :c9786; - :b :c9787; - :b :c9788; - :b :c9789; - :b :c9790; - :b :c9791; - :b :c9792; - :b :c9793; - :b :c9794; - :b :c9795; - :b :c9796; - :b :c9797; - :b :c9798; - :b :c9799; - :b :c9800; - :b :c9801; - :b :c9802; - :b :c9803; - :b :c9804; - :b :c9805; - :b :c9806; - :b :c9807; - :b :c9808; - :b :c9809; - :b :c9810; - :b :c9811; - :b :c9812; - :b :c9813; - :b :c9814; - :b :c9815; - :b :c9816; - :b :c9817; - :b :c9818; - :b :c9819; - :b :c9820; - :b :c9821; - :b :c9822; - :b :c9823; - :b :c9824; - :b :c9825; - :b :c9826; - :b :c9827; - :b :c9828; - :b :c9829; - :b :c9830; - :b :c9831; - :b :c9832; - :b :c9833; - :b :c9834; - :b :c9835; - :b :c9836; - :b :c9837; - :b :c9838; - :b :c9839; - :b :c9840; - :b :c9841; - :b :c9842; - :b :c9843; - :b :c9844; - :b :c9845; - :b :c9846; - :b :c9847; - :b :c9848; - :b :c9849; - :b :c9850; - :b :c9851; - :b :c9852; - :b :c9853; - :b :c9854; - :b :c9855; - :b :c9856; - :b :c9857; - :b :c9858; - :b :c9859; - :b :c9860; - :b :c9861; - :b :c9862; - :b :c9863; - :b :c9864; - :b :c9865; - :b :c9866; - :b :c9867; - :b :c9868; - :b :c9869; - :b :c9870; - :b :c9871; - :b :c9872; - :b :c9873; - :b :c9874; - :b :c9875; - :b :c9876; - :b :c9877; - :b :c9878; - :b :c9879; - :b :c9880; - :b :c9881; - :b :c9882; - :b :c9883; - :b :c9884; - :b :c9885; - :b :c9886; - :b :c9887; - :b :c9888; - :b :c9889; - :b :c9890; - :b :c9891; - :b :c9892; - :b :c9893; - :b :c9894; - :b :c9895; - :b :c9896; - :b :c9897; - :b :c9898; - :b :c9899; - :b :c9900; - :b :c9901; - :b :c9902; - :b :c9903; - :b :c9904; - :b :c9905; - :b :c9906; - :b :c9907; - :b :c9908; - :b :c9909; - :b :c9910; - :b :c9911; - :b :c9912; - :b :c9913; - :b :c9914; - :b :c9915; - :b :c9916; - :b :c9917; - :b :c9918; - :b :c9919; - :b :c9920; - :b :c9921; - :b :c9922; - :b :c9923; - :b :c9924; - :b :c9925; - :b :c9926; - :b :c9927; - :b :c9928; - :b :c9929; - :b :c9930; - :b :c9931; - :b :c9932; - :b :c9933; - :b :c9934; - :b :c9935; - :b :c9936; - :b :c9937; - :b :c9938; - :b :c9939; - :b :c9940; - :b :c9941; - :b :c9942; - :b :c9943; - :b :c9944; - :b :c9945; - :b :c9946; - :b :c9947; - :b :c9948; - :b :c9949; - :b :c9950; - :b :c9951; - :b :c9952; - :b :c9953; - :b :c9954; - :b :c9955; - :b :c9956; - :b :c9957; - :b :c9958; - :b :c9959; - :b :c9960; - :b :c9961; - :b :c9962; - :b :c9963; - :b :c9964; - :b :c9965; - :b :c9966; - :b :c9967; - :b :c9968; - :b :c9969; - :b :c9970; - :b :c9971; - :b :c9972; - :b :c9973; - :b :c9974; - :b :c9975; - :b :c9976; - :b :c9977; - :b :c9978; - :b :c9979; - :b :c9980; - :b :c9981; - :b :c9982; - :b :c9983; - :b :c9984; - :b :c9985; - :b :c9986; - :b :c9987; - :b :c9988; - :b :c9989; - :b :c9990; - :b :c9991; - :b :c9992; - :b :c9993; - :b :c9994; - :b :c9995; - :b :c9996; - :b :c9997; - :b :c9998; - :b :c9999; - :b :c10000 . diff --git a/source/modules/lilv/sord-0.12.0/tests/test-17.out b/source/modules/lilv/sord-0.12.0/tests/test-17.out deleted file mode 100644 index 466edbb2d..000000000 --- a/source/modules/lilv/sord-0.12.0/tests/test-17.out +++ /dev/null @@ -1 +0,0 @@ - "a long\n\tliteral\nwith\nnewlines" . diff --git a/source/modules/lilv/sord-0.12.0/tests/test-17.ttl b/source/modules/lilv/sord-0.12.0/tests/test-17.ttl deleted file mode 100644 index 86c453bd8..000000000 --- a/source/modules/lilv/sord-0.12.0/tests/test-17.ttl +++ /dev/null @@ -1,6 +0,0 @@ -# Test long literal -@prefix : . -:a :b """a long - literal -with -newlines""" . diff --git a/source/modules/lilv/sord-0.12.0/tests/test-18.out b/source/modules/lilv/sord-0.12.0/tests/test-18.out deleted file mode 100644 index 4ff4b95b3..000000000 --- a/source/modules/lilv/sord-0.12.0/tests/test-18.out +++ /dev/null @@ -1,2 +0,0 @@ - "\nthis \ris a \U00015678long\t\nliteral\uABCD\n" . - "\tThis \uABCDis\r \U00015678another\n\none\n" . diff --git a/source/modules/lilv/sord-0.12.0/tests/test-18.ttl b/source/modules/lilv/sord-0.12.0/tests/test-18.ttl deleted file mode 100644 index 1adfa4516..000000000 --- a/source/modules/lilv/sord-0.12.0/tests/test-18.ttl +++ /dev/null @@ -1,9 +0,0 @@ -@prefix : . - -:a :b """\nthis \ris a \U00015678long\t -literal\uABCD -""" . - -:d :e """\tThis \uABCDis\r \U00015678another\n -one -""" . diff --git a/source/modules/lilv/sord-0.12.0/tests/test-19.out b/source/modules/lilv/sord-0.12.0/tests/test-19.out deleted file mode 100644 index 2e2dbe404..000000000 --- a/source/modules/lilv/sord-0.12.0/tests/test-19.out +++ /dev/null @@ -1 +0,0 @@ - "1.0"^^ . diff --git a/source/modules/lilv/sord-0.12.0/tests/test-19.ttl b/source/modules/lilv/sord-0.12.0/tests/test-19.ttl deleted file mode 100644 index 9de0c07b2..000000000 --- a/source/modules/lilv/sord-0.12.0/tests/test-19.ttl +++ /dev/null @@ -1,4 +0,0 @@ -@prefix : . - -:a :b 1.0 . - diff --git a/source/modules/lilv/sord-0.12.0/tests/test-20.out b/source/modules/lilv/sord-0.12.0/tests/test-20.out deleted file mode 100644 index fff2da56b..000000000 --- a/source/modules/lilv/sord-0.12.0/tests/test-20.out +++ /dev/null @@ -1,2 +0,0 @@ - "" . - "" . diff --git a/source/modules/lilv/sord-0.12.0/tests/test-20.ttl b/source/modules/lilv/sord-0.12.0/tests/test-20.ttl deleted file mode 100644 index 37a9a4f33..000000000 --- a/source/modules/lilv/sord-0.12.0/tests/test-20.ttl +++ /dev/null @@ -1,6 +0,0 @@ -@prefix : . - -:a :b "" . - -:c :d """""" . - diff --git a/source/modules/lilv/sord-0.12.0/tests/test-21.out b/source/modules/lilv/sord-0.12.0/tests/test-21.out deleted file mode 100644 index d5dca6907..000000000 --- a/source/modules/lilv/sord-0.12.0/tests/test-21.out +++ /dev/null @@ -1,3 +0,0 @@ - "1.0"^^ . - "1"^^ . - "1.0e0"^^ . diff --git a/source/modules/lilv/sord-0.12.0/tests/test-21.ttl b/source/modules/lilv/sord-0.12.0/tests/test-21.ttl deleted file mode 100644 index a8e8dc15a..000000000 --- a/source/modules/lilv/sord-0.12.0/tests/test-21.ttl +++ /dev/null @@ -1,4 +0,0 @@ -@prefix : . -:a :b 1.0 . -:c :d 1 . -:e :f 1.0e0 . diff --git a/source/modules/lilv/sord-0.12.0/tests/test-22.out b/source/modules/lilv/sord-0.12.0/tests/test-22.out deleted file mode 100644 index 3d0f970e8..000000000 --- a/source/modules/lilv/sord-0.12.0/tests/test-22.out +++ /dev/null @@ -1,3 +0,0 @@ - "-1.0"^^ . - "-1"^^ . - "-1.0e0"^^ . diff --git a/source/modules/lilv/sord-0.12.0/tests/test-22.ttl b/source/modules/lilv/sord-0.12.0/tests/test-22.ttl deleted file mode 100644 index 9b1a725aa..000000000 --- a/source/modules/lilv/sord-0.12.0/tests/test-22.ttl +++ /dev/null @@ -1,4 +0,0 @@ -@prefix : . -:a :b -1.0 . -:c :d -1 . -:e :f -1.0e0 . diff --git a/source/modules/lilv/sord-0.12.0/tests/test-23.out b/source/modules/lilv/sord-0.12.0/tests/test-23.out deleted file mode 100644 index fde31312e..000000000 --- a/source/modules/lilv/sord-0.12.0/tests/test-23.out +++ /dev/null @@ -1 +0,0 @@ - "John said: \"Hello World!\"" . diff --git a/source/modules/lilv/sord-0.12.0/tests/test-23.ttl b/source/modules/lilv/sord-0.12.0/tests/test-23.ttl deleted file mode 100644 index 9f5360af8..000000000 --- a/source/modules/lilv/sord-0.12.0/tests/test-23.ttl +++ /dev/null @@ -1,3 +0,0 @@ -# Test long literal -@prefix : . -:a :b """John said: "Hello World!\"""" . diff --git a/source/modules/lilv/sord-0.12.0/tests/test-24.out b/source/modules/lilv/sord-0.12.0/tests/test-24.out deleted file mode 100644 index 5a70bff19..000000000 --- a/source/modules/lilv/sord-0.12.0/tests/test-24.out +++ /dev/null @@ -1,2 +0,0 @@ - "true"^^ . - "false"^^ . diff --git a/source/modules/lilv/sord-0.12.0/tests/test-24.ttl b/source/modules/lilv/sord-0.12.0/tests/test-24.ttl deleted file mode 100644 index 25f3b7579..000000000 --- a/source/modules/lilv/sord-0.12.0/tests/test-24.ttl +++ /dev/null @@ -1,3 +0,0 @@ -@prefix : . -:a :b true . -:c :d false . diff --git a/source/modules/lilv/sord-0.12.0/tests/test-25.out b/source/modules/lilv/sord-0.12.0/tests/test-25.out deleted file mode 100644 index 1a38415fe..000000000 --- a/source/modules/lilv/sord-0.12.0/tests/test-25.out +++ /dev/null @@ -1,7 +0,0 @@ - . - . - . - . - . - . - . diff --git a/source/modules/lilv/sord-0.12.0/tests/test-25.ttl b/source/modules/lilv/sord-0.12.0/tests/test-25.ttl deleted file mode 100644 index 310349da1..000000000 --- a/source/modules/lilv/sord-0.12.0/tests/test-25.ttl +++ /dev/null @@ -1,14 +0,0 @@ -# comment test -@prefix : . -:a :b :c . # end of line comment -:d # ignore me - :e # and me - :f # and me - . -:g :h #ignore me - :i, # and me - :j . # and me - -:k :l :m ; #ignore me - :n :o ; # and me - :p :q . # and me diff --git a/source/modules/lilv/sord-0.12.0/tests/test-26.out b/source/modules/lilv/sord-0.12.0/tests/test-26.out deleted file mode 100644 index ad105cf48..000000000 --- a/source/modules/lilv/sord-0.12.0/tests/test-26.out +++ /dev/null @@ -1 +0,0 @@ - . diff --git a/source/modules/lilv/sord-0.12.0/tests/test-26.ttl b/source/modules/lilv/sord-0.12.0/tests/test-26.ttl deleted file mode 100644 index 0667c6b4a..000000000 --- a/source/modules/lilv/sord-0.12.0/tests/test-26.ttl +++ /dev/null @@ -1,4 +0,0 @@ -# comment line with no final newline test -@prefix : . -:a :b :c . -#foo diff --git a/source/modules/lilv/sord-0.12.0/tests/test-27.out b/source/modules/lilv/sord-0.12.0/tests/test-27.out deleted file mode 100644 index 7da0635ba..000000000 --- a/source/modules/lilv/sord-0.12.0/tests/test-27.out +++ /dev/null @@ -1 +0,0 @@ - . diff --git a/source/modules/lilv/sord-0.12.0/tests/test-27.ttl b/source/modules/lilv/sord-0.12.0/tests/test-27.ttl deleted file mode 100644 index 569023c8a..000000000 --- a/source/modules/lilv/sord-0.12.0/tests/test-27.ttl +++ /dev/null @@ -1,5 +0,0 @@ -@prefix foo: . -@prefix foo: . - -foo:blah foo:blah foo:blah . - diff --git a/source/modules/lilv/sord-0.12.0/tests/test-29.out b/source/modules/lilv/sord-0.12.0/tests/test-29.out deleted file mode 100644 index 612052d3b..000000000 --- a/source/modules/lilv/sord-0.12.0/tests/test-29.out +++ /dev/null @@ -1 +0,0 @@ - . diff --git a/source/modules/lilv/sord-0.12.0/tests/test-29.ttl b/source/modules/lilv/sord-0.12.0/tests/test-29.ttl deleted file mode 100644 index 612052d3b..000000000 --- a/source/modules/lilv/sord-0.12.0/tests/test-29.ttl +++ /dev/null @@ -1 +0,0 @@ - . diff --git a/source/modules/lilv/sord-0.12.0/tests/test-30.out b/source/modules/lilv/sord-0.12.0/tests/test-30.out deleted file mode 100644 index ce5c67d04..000000000 --- a/source/modules/lilv/sord-0.12.0/tests/test-30.out +++ /dev/null @@ -1,5 +0,0 @@ - . - . - . - . - . diff --git a/source/modules/lilv/sord-0.12.0/tests/test-30.ttl b/source/modules/lilv/sord-0.12.0/tests/test-30.ttl deleted file mode 100644 index 6721ec243..000000000 --- a/source/modules/lilv/sord-0.12.0/tests/test-30.ttl +++ /dev/null @@ -1,12 +0,0 @@ -# In-scope base URI is http://www.w3.org/2001/sw/DataAccess/df1/tests/ at this point - . -@base . -# In-scope base URI is http://example.org/ns/ at this point - . -@base . -# In-scope base URI is http://example.org/ns/foo/ at this point - . -@prefix : . -:a4 :b4 :c4 . -@prefix : . -:a5 :b5 :c5 . diff --git a/source/modules/lilv/sord-0.12.0/tests/test-id.out b/source/modules/lilv/sord-0.12.0/tests/test-id.out deleted file mode 100644 index 722fc6d1f..000000000 --- a/source/modules/lilv/sord-0.12.0/tests/test-id.out +++ /dev/null @@ -1,2 +0,0 @@ - _:genid1 . -_:docid1 . diff --git a/source/modules/lilv/sord-0.12.0/tests/test-id.ttl b/source/modules/lilv/sord-0.12.0/tests/test-id.ttl deleted file mode 100644 index 6bc1c37d9..000000000 --- a/source/modules/lilv/sord-0.12.0/tests/test-id.ttl +++ /dev/null @@ -1,4 +0,0 @@ -@prefix : . - -:c :d [] . -_:genid1 :a :b . diff --git a/source/modules/lilv/sord-0.12.0/tests/test-lang.out b/source/modules/lilv/sord-0.12.0/tests/test-lang.out deleted file mode 100644 index c36dda420..000000000 --- a/source/modules/lilv/sord-0.12.0/tests/test-lang.out +++ /dev/null @@ -1,4 +0,0 @@ - "Hello"@en . - "Howdy"@en-us . - "Bonjour"@fr . - "Guten Tag"@de-latn-de . diff --git a/source/modules/lilv/sord-0.12.0/tests/test-lang.ttl b/source/modules/lilv/sord-0.12.0/tests/test-lang.ttl deleted file mode 100644 index f7c2727f9..000000000 --- a/source/modules/lilv/sord-0.12.0/tests/test-lang.ttl +++ /dev/null @@ -1,6 +0,0 @@ -@prefix : . - -:thing :greeting "Hello"@en ; - :greeting "Howdy"@en-us ; - :greeting "Bonjour"@fr ; - :greeting "Guten Tag"@de-latn-de . diff --git a/source/modules/lilv/sord-0.12.0/tests/test-num.out b/source/modules/lilv/sord-0.12.0/tests/test-num.out deleted file mode 100644 index 2502580b9..000000000 --- a/source/modules/lilv/sord-0.12.0/tests/test-num.out +++ /dev/null @@ -1,9 +0,0 @@ - "0.1"^^ . - "+0.2"^^ . - "-0.3"^^ . - ".4"^^ . - "+.5"^^ . - "-.6"^^ . - "1.58490e-05"^^ . - "1.58490e+05"^^ . - "1.58490e05"^^ . diff --git a/source/modules/lilv/sord-0.12.0/tests/test-num.ttl b/source/modules/lilv/sord-0.12.0/tests/test-num.ttl deleted file mode 100644 index 54a425aca..000000000 --- a/source/modules/lilv/sord-0.12.0/tests/test-num.ttl +++ /dev/null @@ -1,11 +0,0 @@ -@prefix eg: . - -eg:thing eg:num 0.1 . -eg:thing eg:num +0.2 . -eg:thing eg:num -0.3 . -eg:thing eg:num .4 . -eg:thing eg:num +.5 . -eg:thing eg:num -.6 . -eg:thing eg:num 1.58490e-05 . -eg:thing eg:num 1.58490e+05 . -eg:thing eg:num 1.58490e05 . diff --git a/source/modules/lilv/sord-0.12.0/waf b/source/modules/lilv/sord-0.12.0/waf deleted file mode 100755 index 53731d29fc11b76bdae6386f57f733c2f27f1d52..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 83049 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 diff --git a/source/modules/lilv/sord-0.12.0/wscript b/source/modules/lilv/sord-0.12.0/wscript deleted file mode 100644 index 1a9b6330e..000000000 --- a/source/modules/lilv/sord-0.12.0/wscript +++ /dev/null @@ -1,302 +0,0 @@ -#!/usr/bin/env python -import glob -import os -import subprocess -import waflib.Logs as Logs -import waflib.Options as Options -import waflib.extras.autowaf as autowaf - -# Library and package version (UNIX style major, minor, micro) -# major increment <=> incompatible changes -# minor increment <=> compatible changes (additions) -# micro increment <=> no interface changes -SORD_VERSION = '0.12.0' -SORD_MAJOR_VERSION = '0' - -# Mandatory waf variables -APPNAME = 'sord' # Package name for waf dist -VERSION = SORD_VERSION # Package version for waf dist -top = '.' # Source directory -out = 'build' # Build directory - -def options(opt): - opt.load('compiler_c') - opt.load('compiler_cxx') - autowaf.set_options(opt) - opt.add_option('--no-utils', action='store_true', dest='no_utils', - help='Do not build command line utilities') - opt.add_option('--test', action='store_true', dest='build_tests', - help='Build unit tests') - opt.add_option('--static', action='store_true', dest='static', - help='Build static library') - opt.add_option('--no-shared', action='store_true', dest='no_shared', - help='Do not build shared library') - opt.add_option('--static-progs', action='store_true', dest='static_progs', - help='Build programs as static binaries') - opt.add_option('--dump', type='string', default='', dest='dump', - help='Dump debugging output (iter, search, write, all)') - -def configure(conf): - conf.load('compiler_c') - if Options.options.build_tests: - try: - conf.load('compiler_cxx') - except: - Logs.warn("No C++ compiler, sordmm.hpp compile test skipped") - pass - - autowaf.configure(conf) - autowaf.set_c99_mode(conf) - autowaf.display_header('Sord configuration') - - conf.env.BUILD_TESTS = Options.options.build_tests - conf.env.BUILD_UTILS = not Options.options.no_utils - conf.env.BUILD_SHARED = not Options.options.no_shared - conf.env.STATIC_PROGS = Options.options.static_progs - conf.env.BUILD_STATIC = (Options.options.static or - Options.options.static_progs) - - if conf.env.BUILD_TESTS: - conf.check(lib = 'gcov', - define_name = 'HAVE_GCOV', - mandatory = False) - - autowaf.check_pkg(conf, 'serd-0', uselib_store='SERD', - atleast_version='0.18.0', mandatory=True) - autowaf.check_pkg(conf, 'libpcre', uselib_store='PCRE', mandatory=False) - - # Parse dump options and define things accordingly - dump = Options.options.dump.split(',') - all = 'all' in dump - if all or 'iter' in dump: - autowaf.define(conf, 'SORD_DEBUG_ITER', 1) - if all or 'search' in dump: - autowaf.define(conf, 'SORD_DEBUG_SEARCH', 1) - if all or 'write' in dump: - autowaf.define(conf, 'SORD_DEBUG_WRITE', 1) - - autowaf.define(conf, 'SORD_VERSION', SORD_VERSION) - autowaf.set_lib_env(conf, 'sord', SORD_VERSION) - conf.write_config_header('sord_config.h', remove=False) - - autowaf.display_msg(conf, 'Utilities', bool(conf.env.BUILD_UTILS)) - autowaf.display_msg(conf, 'Unit tests', bool(conf.env.BUILD_TESTS)) - autowaf.display_msg(conf, 'Debug dumping', dump) - print('') - -def build(bld): - # C/C++ Headers - includedir = '${INCLUDEDIR}/sord-%s/sord' % SORD_MAJOR_VERSION - bld.install_files(includedir, bld.path.ant_glob('sord/*.h')) - bld.install_files(includedir, bld.path.ant_glob('sord/*.hpp')) - - # Pkgconfig file - autowaf.build_pc(bld, 'SORD', SORD_VERSION, SORD_MAJOR_VERSION, 'SERD', - {'SORD_MAJOR_VERSION' : SORD_MAJOR_VERSION}) - - source = 'src/sord.c src/syntax.c' - - libflags = ['-fvisibility=hidden'] - libs = ['m'] - defines = [] - if bld.env.MSVC_COMPILER: - libflags = [] - libs = [] - defines = ['snprintf=_snprintf'] - - # Shared Library - if bld.env.BUILD_SHARED: - obj = bld(features = 'c cshlib', - source = source, - includes = ['.', './src'], - export_includes = ['.'], - name = 'libsord', - target = 'sord-%s' % SORD_MAJOR_VERSION, - vnum = SORD_VERSION, - install_path = '${LIBDIR}', - libs = libs, - defines = defines + ['SORD_SHARED', 'SORD_INTERNAL'], - cflags = libflags) - autowaf.use_lib(bld, obj, 'SERD') - - # Static Library - if bld.env.BUILD_STATIC: - obj = bld(features = 'c cstlib', - source = source, - includes = ['.', './src'], - export_includes = ['.'], - name = 'libsord_static', - target = 'sord-%s' % SORD_MAJOR_VERSION, - vnum = SORD_VERSION, - install_path = '${LIBDIR}', - libs = libs, - defines = ['SORD_INTERNAL']) - autowaf.use_lib(bld, obj, 'SERD') - - if bld.env.BUILD_TESTS: - test_libs = libs - test_cflags = [''] - if bld.is_defined('HAVE_GCOV'): - test_libs += ['gcov'] - test_cflags += ['-fprofile-arcs', '-ftest-coverage'] - - # Profiled static library for test coverage - obj = bld(features = 'c cstlib', - source = source, - includes = ['.', './src'], - name = 'libsord_profiled', - target = 'sord_profiled', - install_path = '', - defines = defines, - cflags = test_cflags, - lib = test_libs) - autowaf.use_lib(bld, obj, 'SERD') - - # Unit test program - obj = bld(features = 'c cprogram', - source = 'src/sord_test.c', - includes = ['.', './src'], - use = 'libsord_profiled', - lib = test_libs, - target = 'sord_test', - install_path = '', - defines = defines, - cflags = test_cflags) - autowaf.use_lib(bld, obj, 'SERD') - - # Static profiled sordi for tests - obj = bld(features = 'c cprogram', - source = 'src/sordi.c', - includes = ['.', './src'], - use = 'libsord_profiled', - lib = test_libs, - target = 'sordi_static', - install_path = '', - defines = defines, - cflags = test_cflags) - autowaf.use_lib(bld, obj, 'SERD') - - # C++ build test - if bld.env.COMPILER_CXX: - obj = bld(features = 'cxx cxxprogram', - source = 'src/sordmm_test.cpp', - includes = ['.', './src'], - use = 'libsord_profiled', - lib = test_libs, - target = 'sordmm_test', - install_path = '', - defines = defines) - autowaf.use_lib(bld, obj, 'SERD') - - # Utilities - if bld.env.BUILD_UTILS: - for i in ['sordi', 'sord_validate']: - obj = bld(features = 'c cprogram', - source = 'src/%s.c' % i, - includes = ['.', './src'], - use = 'libsord', - lib = libs, - target = i, - install_path = '${BINDIR}', - defines = defines) - if not bld.env.BUILD_SHARED or bld.env.STATIC_PROGS: - obj.use = 'libsord_static' - if bld.env.STATIC_PROGS: - obj.env.SHLIB_MARKER = obj.env.STLIB_MARKER - obj.linkflags = ['-static', '-Wl,--start-group'] - autowaf.use_lib(bld, obj, 'SERD PCRE') - - # Documentation - autowaf.build_dox(bld, 'SORD', SORD_VERSION, top, out) - - # Man pages - bld.install_files('${MANDIR}/man1', bld.path.ant_glob('doc/*.1')) - - bld.add_post_fun(autowaf.run_ldconfig) - if bld.env.DOCS: - bld.add_post_fun(fix_docs) - -def lint(ctx): - subprocess.call('cpplint.py --filter=+whitespace/comments,-whitespace/tab,-whitespace/braces,-whitespace/labels,-build/header_guard,-readability/casting,-readability/todo,-build/include src/*.* sord/* src/zix/*.*', shell=True) - -def fix_docs(ctx): - if ctx.cmd == 'build': - autowaf.make_simple_dox(APPNAME) - -def upload_docs(ctx): - os.system('rsync -ravz --delete -e ssh build/doc/html/ drobilla@drobilla.net:~/drobilla.net/docs/sord/') - -def test(ctx): - blddir = autowaf.build_dir(APPNAME, 'tests') - try: - os.makedirs(blddir) - except: - pass - - for i in glob.glob(blddir + '/*.*'): - os.remove(i) - - srcdir = ctx.path.abspath() - orig_dir = os.path.abspath(os.curdir) - - os.chdir(srcdir) - - good_tests = glob.glob('tests/test-*.ttl') - good_tests.sort() - - os.chdir(orig_dir) - - autowaf.pre_test(ctx, APPNAME) - - os.environ['PATH'] = '.' + os.pathsep + os.getenv('PATH') - - nul = os.devnull - - autowaf.run_tests(ctx, APPNAME, [ - 'sordi_static file://%s/tests/manifest.ttl > %s' % (srcdir, nul), - 'sordi_static %s/tests/UTF-8.ttl > %s' % (srcdir, nul), - 'sordi_static -v > %s' % nul, - 'sordi_static -h > %s' % nul, - 'sordi_static -s " a <#Thingie> ." file:///test > %s' % nul, - 'sordi_static %s > %s' % (nul, nul)], - 0, name='sordi-cmd-good') - - autowaf.run_tests(ctx, APPNAME, [ - 'sordi_static > %s' % nul, - 'sordi_static ftp://example.org/unsupported.ttl > %s' % nul, - 'sordi_static -i > %s' % nul, - 'sordi_static -o > %s' % nul, - 'sordi_static -z > %s' % nul, - 'sordi_static -p > %s' % nul, - 'sordi_static -c > %s' % nul, - 'sordi_static -i illegal > %s' % nul, - 'sordi_static -o illegal > %s' % nul, - 'sordi_static -i turtle > %s' % nul, - 'sordi_static /no/such/file > %s' % nul], - 1, name='sordi-cmd-bad') - - autowaf.run_tests(ctx, APPNAME, ['sord_test']) - - commands = [] - for test in good_tests: - base_uri = 'http://www.w3.org/2001/sw/DataAccess/df1/' + test.replace('\\', '/') - commands += [ 'sordi_static "%s" "%s" > %s.out' % ( - os.path.join(srcdir, test), base_uri, test) ] - - autowaf.run_tests(ctx, APPNAME, commands, 0, name='good') - - Logs.pprint('BOLD', '\nVerifying turtle => ntriples') - for test in good_tests: - out_filename = test + '.out' - cmp_filename = srcdir + '/' + test.replace('.ttl', '.out') - if not os.access(out_filename, os.F_OK): - Logs.pprint('RED', 'FAIL: %s output is missing' % test) - else: - out_lines = sorted(open(out_filename).readlines()) - cmp_lines = sorted(open(cmp_filename).readlines()) - if out_lines != cmp_lines: - Logs.pprint('RED', 'FAIL: %s is incorrect' % out_filename) - else: - Logs.pprint('GREEN', 'Pass: %s' % test) - - autowaf.post_test(ctx, APPNAME) diff --git a/source/modules/lilv/sratom-0.4.2/NEWS b/source/modules/lilv/sratom-0.4.2/NEWS deleted file mode 100644 index 50279a19a..000000000 --- a/source/modules/lilv/sratom-0.4.2/NEWS +++ /dev/null @@ -1,25 +0,0 @@ -sratom (0.4.2) stable; - - * Fix serialisation of nested tuples - * Fix memory leaks - * Use new sord API to clean up and shrink code - * Disable timestamps in HTML documentation for reproducible build - * Update to waf 1.7.9 and autowaf r90 (install docs to versioned directory) - - -- David Robillard Mon, 18 Feb 2013 11:17:01 -0500 - -sratom (0.4.0) stable; - - * Correctly read objects with several rdf:type properties - * Support writing Object Atoms as top level descriptions if subject and - predicate are not given. - * Fix various hyper-strict warnings - * Upgrade to waf 1.7.2 - - -- David Robillard Thu, 23 Aug 2012 01:11:07 -0400 - -sratom (0.2.0) stable; - - * Initial release - - -- David Robillard Wed, 18 Apr 2012 15:14:11 -0400 diff --git a/source/modules/lilv/sratom-0.4.2/README b/source/modules/lilv/sratom-0.4.2/README deleted file mode 100644 index f9996650f..000000000 --- a/source/modules/lilv/sratom-0.4.2/README +++ /dev/null @@ -1,11 +0,0 @@ -Sratom ------- - -Sratom is a library for serialising LV2 atoms to/from RDF, particularly the -Turtle syntax. - -More information about LV2 atoms can be found at - -More information about Sratom can be found at - - -- David Robillard diff --git a/source/modules/lilv/sratom-0.4.2/doc/layout.xml b/source/modules/lilv/sratom-0.4.2/doc/layout.xml deleted file mode 100644 index 74a109fc3..000000000 --- a/source/modules/lilv/sratom-0.4.2/doc/layout.xml +++ /dev/null @@ -1,187 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/source/modules/lilv/sratom-0.4.2/doc/reference.doxygen.in b/source/modules/lilv/sratom-0.4.2/doc/reference.doxygen.in deleted file mode 100644 index c9e6ded34..000000000 --- a/source/modules/lilv/sratom-0.4.2/doc/reference.doxygen.in +++ /dev/null @@ -1,1792 +0,0 @@ -# Doxyfile 1.8.1.1 - -# This file describes the settings to be used by the documentation system -# doxygen (www.doxygen.org) for a project. -# -# All text after a hash (#) is considered a comment and will be ignored. -# The format is: -# TAG = value [value, ...] -# For lists items can also be appended using: -# TAG += value [value, ...] -# Values that contain spaces should be placed between quotes (" "). - -#--------------------------------------------------------------------------- -# Project related configuration options -#--------------------------------------------------------------------------- - -# This tag specifies the encoding used for all characters in the config file -# that follow. The default is UTF-8 which is also the encoding used for all -# text before the first occurrence of this tag. Doxygen uses libiconv (or the -# iconv built into libc) for the transcoding. See -# http://www.gnu.org/software/libiconv for the list of possible encodings. - -DOXYFILE_ENCODING = UTF-8 - -# The PROJECT_NAME tag is a single word (or sequence of words) that should -# identify the project. Note that if you do not use Doxywizard you need -# to put quotes around the project name if it contains spaces. - -PROJECT_NAME = Sratom - -# The PROJECT_NUMBER tag can be used to enter a project or revision number. -# This could be handy for archiving the generated documentation or -# if some version control system is used. - -PROJECT_NUMBER = @SRATOM_VERSION@ - -# Using the PROJECT_BRIEF tag one can provide an optional one line description -# for a project that appears at the top of each page and should give viewer -# a quick idea about the purpose of the project. Keep the description short. - -PROJECT_BRIEF = - -# With the PROJECT_LOGO tag one can specify an logo or icon that is -# included in the documentation. The maximum height of the logo should not -# exceed 55 pixels and the maximum width should not exceed 200 pixels. -# Doxygen will copy the logo to the output directory. - -PROJECT_LOGO = - -# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) -# base path where the generated documentation will be put. -# If a relative path is entered, it will be relative to the location -# where doxygen was started. If left blank the current directory will be used. - -OUTPUT_DIRECTORY = @SRATOM_DOC_DIR@ - -# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create -# 4096 sub-directories (in 2 levels) under the output directory of each output -# format and will distribute the generated files over these directories. -# Enabling this option can be useful when feeding doxygen a huge amount of -# source files, where putting all generated files in the same directory would -# otherwise cause performance problems for the file system. - -CREATE_SUBDIRS = NO - -# The OUTPUT_LANGUAGE tag is used to specify the language in which all -# documentation generated by doxygen is written. Doxygen will use this -# information to generate all constant output in the proper language. -# The default language is English, other supported languages are: -# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, -# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German, -# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English -# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, -# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrillic, Slovak, -# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese. - -OUTPUT_LANGUAGE = English - -# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will -# include brief member descriptions after the members that are listed in -# the file and class documentation (similar to JavaDoc). -# Set to NO to disable this. - -BRIEF_MEMBER_DESC = NO - -# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend -# the brief description of a member or function before the detailed description. -# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the -# brief descriptions will be completely suppressed. - -REPEAT_BRIEF = YES - -# This tag implements a quasi-intelligent brief description abbreviator -# that is used to form the text in various listings. Each string -# in this list, if found as the leading text of the brief description, will be -# stripped from the text and the result after processing the whole list, is -# used as the annotated text. Otherwise, the brief description is used as-is. -# If left blank, the following values are used ("$name" is automatically -# replaced with the name of the entity): "The $name class" "The $name widget" -# "The $name file" "is" "provides" "specifies" "contains" -# "represents" "a" "an" "the" - -ABBREVIATE_BRIEF = - -# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then -# Doxygen will generate a detailed section even if there is only a brief -# description. - -ALWAYS_DETAILED_SEC = NO - -# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all -# inherited members of a class in the documentation of that class as if those -# members were ordinary class members. Constructors, destructors and assignment -# operators of the base classes will not be shown. - -INLINE_INHERITED_MEMB = NO - -# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full -# path before files name in the file list and in the header files. If set -# to NO the shortest path that makes the file name unique will be used. - -FULL_PATH_NAMES = NO - -# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag -# can be used to strip a user-defined part of the path. Stripping is -# only done if one of the specified strings matches the left-hand part of -# the path. The tag can be used to show relative paths in the file list. -# If left blank the directory from which doxygen is run is used as the -# path to strip. - -STRIP_FROM_PATH = - -# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of -# the path mentioned in the documentation of a class, which tells -# the reader which header file to include in order to use a class. -# If left blank only the name of the header file containing the class -# definition is used. Otherwise one should specify the include paths that -# are normally passed to the compiler using the -I flag. - -STRIP_FROM_INC_PATH = - -# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter -# (but less readable) file names. This can be useful if your file system -# doesn't support long names like on DOS, Mac, or CD-ROM. - -SHORT_NAMES = NO - -# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen -# will interpret the first line (until the first dot) of a JavaDoc-style -# comment as the brief description. If set to NO, the JavaDoc -# comments will behave just like regular Qt-style comments -# (thus requiring an explicit @brief command for a brief description.) - -JAVADOC_AUTOBRIEF = YES - -# If the QT_AUTOBRIEF tag is set to YES then Doxygen will -# interpret the first line (until the first dot) of a Qt-style -# comment as the brief description. If set to NO, the comments -# will behave just like regular Qt-style comments (thus requiring -# an explicit \brief command for a brief description.) - -QT_AUTOBRIEF = NO - -# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen -# treat a multi-line C++ special comment block (i.e. a block of //! or /// -# comments) as a brief description. This used to be the default behaviour. -# The new default is to treat a multi-line C++ comment block as a detailed -# description. Set this tag to YES if you prefer the old behaviour instead. - -MULTILINE_CPP_IS_BRIEF = NO - -# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented -# member inherits the documentation from any documented member that it -# re-implements. - -INHERIT_DOCS = YES - -# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce -# a new page for each member. If set to NO, the documentation of a member will -# be part of the file/class/namespace that contains it. - -SEPARATE_MEMBER_PAGES = NO - -# The TAB_SIZE tag can be used to set the number of spaces in a tab. -# Doxygen uses this value to replace tabs by spaces in code fragments. - -TAB_SIZE = 4 - -# This tag can be used to specify a number of aliases that acts -# as commands in the documentation. An alias has the form "name=value". -# For example adding "sideeffect=\par Side Effects:\n" will allow you to -# put the command \sideeffect (or @sideeffect) in the documentation, which -# will result in a user-defined paragraph with heading "Side Effects:". -# You can put \n's in the value part of an alias to insert newlines. - -ALIASES = - -# This tag can be used to specify a number of word-keyword mappings (TCL only). -# A mapping has the form "name=value". For example adding -# "class=itcl::class" will allow you to use the command class in the -# itcl::class meaning. - -TCL_SUBST = - -# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C -# sources only. Doxygen will then generate output that is more tailored for C. -# For instance, some of the names that are used will be different. The list -# of all members will be omitted, etc. - -OPTIMIZE_OUTPUT_FOR_C = YES - -# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java -# sources only. Doxygen will then generate output that is more tailored for -# Java. For instance, namespaces will be presented as packages, qualified -# scopes will look different, etc. - -OPTIMIZE_OUTPUT_JAVA = NO - -# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran -# sources only. Doxygen will then generate output that is more tailored for -# Fortran. - -OPTIMIZE_FOR_FORTRAN = NO - -# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL -# sources. Doxygen will then generate output that is tailored for -# VHDL. - -OPTIMIZE_OUTPUT_VHDL = NO - -# Doxygen selects the parser to use depending on the extension of the files it -# parses. With this tag you can assign which parser to use for a given extension. -# Doxygen has a built-in mapping, but you can override or extend it using this -# tag. The format is ext=language, where ext is a file extension, and language -# is one of the parsers supported by doxygen: IDL, Java, Javascript, CSharp, C, -# C++, D, PHP, Objective-C, Python, Fortran, VHDL, C, C++. For instance to make -# doxygen treat .inc files as Fortran files (default is PHP), and .f files as C -# (default is Fortran), use: inc=Fortran f=C. Note that for custom extensions -# you also need to set FILE_PATTERNS otherwise the files are not read by doxygen. - -EXTENSION_MAPPING = - -# If MARKDOWN_SUPPORT is enabled (the default) then doxygen pre-processes all -# comments according to the Markdown format, which allows for more readable -# documentation. See http://daringfireball.net/projects/markdown/ for details. -# The output of markdown processing is further processed by doxygen, so you -# can mix doxygen, HTML, and XML commands with Markdown formatting. -# Disable only in case of backward compatibilities issues. - -MARKDOWN_SUPPORT = YES - -# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want -# to include (a tag file for) the STL sources as input, then you should -# set this tag to YES in order to let doxygen match functions declarations and -# definitions whose arguments contain STL classes (e.g. func(std::string); v.s. -# func(std::string) {}). This also makes the inheritance and collaboration -# diagrams that involve STL classes more complete and accurate. - -BUILTIN_STL_SUPPORT = NO - -# If you use Microsoft's C++/CLI language, you should set this option to YES to -# enable parsing support. - -CPP_CLI_SUPPORT = NO - -# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. -# Doxygen will parse them like normal C++ but will assume all classes use public -# instead of private inheritance when no explicit protection keyword is present. - -SIP_SUPPORT = NO - -# For Microsoft's IDL there are propget and propput attributes to indicate getter -# and setter methods for a property. Setting this option to YES (the default) -# will make doxygen replace the get and set methods by a property in the -# documentation. This will only work if the methods are indeed getting or -# setting a simple type. If this is not the case, or you want to show the -# methods anyway, you should set this option to NO. - -IDL_PROPERTY_SUPPORT = YES - -# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC -# tag is set to YES, then doxygen will reuse the documentation of the first -# member in the group (if any) for the other members of the group. By default -# all members of a group must be documented explicitly. - -DISTRIBUTE_GROUP_DOC = NO - -# Set the SUBGROUPING tag to YES (the default) to allow class member groups of -# the same type (for instance a group of public functions) to be put as a -# subgroup of that type (e.g. under the Public Functions section). Set it to -# NO to prevent subgrouping. Alternatively, this can be done per class using -# the \nosubgrouping command. - -SUBGROUPING = YES - -# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and -# unions are shown inside the group in which they are included (e.g. using -# @ingroup) instead of on a separate page (for HTML and Man pages) or -# section (for LaTeX and RTF). - -INLINE_GROUPED_CLASSES = YES - -# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and -# unions with only public data fields will be shown inline in the documentation -# of the scope in which they are defined (i.e. file, namespace, or group -# documentation), provided this scope is documented. If set to NO (the default), -# structs, classes, and unions are shown on a separate page (for HTML and Man -# pages) or section (for LaTeX and RTF). - -INLINE_SIMPLE_STRUCTS = YES - -# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum -# is documented as struct, union, or enum with the name of the typedef. So -# typedef struct TypeS {} TypeT, will appear in the documentation as a struct -# with name TypeT. When disabled the typedef will appear as a member of a file, -# namespace, or class. And the struct will be named TypeS. This can typically -# be useful for C code in case the coding convention dictates that all compound -# types are typedef'ed and only the typedef is referenced, never the tag name. - -TYPEDEF_HIDES_STRUCT = YES - -# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to -# determine which symbols to keep in memory and which to flush to disk. -# When the cache is full, less often used symbols will be written to disk. -# For small to medium size projects (<1000 input files) the default value is -# probably good enough. For larger projects a too small cache size can cause -# doxygen to be busy swapping symbols to and from disk most of the time -# causing a significant performance penalty. -# If the system has enough physical memory increasing the cache will improve the -# performance by keeping more symbols in memory. Note that the value works on -# a logarithmic scale so increasing the size by one will roughly double the -# memory usage. The cache size is given by this formula: -# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0, -# corresponding to a cache size of 2^16 = 65536 symbols. - -SYMBOL_CACHE_SIZE = 0 - -# Similar to the SYMBOL_CACHE_SIZE the size of the symbol lookup cache can be -# set using LOOKUP_CACHE_SIZE. This cache is used to resolve symbols given -# their name and scope. Since this can be an expensive process and often the -# same symbol appear multiple times in the code, doxygen keeps a cache of -# pre-resolved symbols. If the cache is too small doxygen will become slower. -# If the cache is too large, memory is wasted. The cache size is given by this -# formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range is 0..9, the default is 0, -# corresponding to a cache size of 2^16 = 65536 symbols. - -LOOKUP_CACHE_SIZE = 0 - -#--------------------------------------------------------------------------- -# Build related configuration options -#--------------------------------------------------------------------------- - -# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in -# documentation are documented, even if no documentation was available. -# Private class members and static file members will be hidden unless -# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES - -EXTRACT_ALL = YES - -# If the EXTRACT_PRIVATE tag is set to YES all private members of a class -# will be included in the documentation. - -EXTRACT_PRIVATE = NO - -# If the EXTRACT_PACKAGE tag is set to YES all members with package or internal scope will be included in the documentation. - -EXTRACT_PACKAGE = NO - -# If the EXTRACT_STATIC tag is set to YES all static members of a file -# will be included in the documentation. - -EXTRACT_STATIC = YES - -# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) -# defined locally in source files will be included in the documentation. -# If set to NO only classes defined in header files are included. - -EXTRACT_LOCAL_CLASSES = NO - -# This flag is only useful for Objective-C code. When set to YES local -# methods, which are defined in the implementation section but not in -# the interface are included in the documentation. -# If set to NO (the default) only methods in the interface are included. - -EXTRACT_LOCAL_METHODS = NO - -# If this flag is set to YES, the members of anonymous namespaces will be -# extracted and appear in the documentation as a namespace called -# 'anonymous_namespace{file}', where file will be replaced with the base -# name of the file that contains the anonymous namespace. By default -# anonymous namespaces are hidden. - -EXTRACT_ANON_NSPACES = NO - -# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all -# undocumented members of documented classes, files or namespaces. -# If set to NO (the default) these members will be included in the -# various overviews, but no documentation section is generated. -# This option has no effect if EXTRACT_ALL is enabled. - -HIDE_UNDOC_MEMBERS = YES - -# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all -# undocumented classes that are normally visible in the class hierarchy. -# If set to NO (the default) these classes will be included in the various -# overviews. This option has no effect if EXTRACT_ALL is enabled. - -HIDE_UNDOC_CLASSES = YES - -# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all -# friend (class|struct|union) declarations. -# If set to NO (the default) these declarations will be included in the -# documentation. - -HIDE_FRIEND_COMPOUNDS = NO - -# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any -# documentation blocks found inside the body of a function. -# If set to NO (the default) these blocks will be appended to the -# function's detailed documentation block. - -HIDE_IN_BODY_DOCS = YES - -# The INTERNAL_DOCS tag determines if documentation -# that is typed after a \internal command is included. If the tag is set -# to NO (the default) then the documentation will be excluded. -# Set it to YES to include the internal documentation. - -INTERNAL_DOCS = NO - -# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate -# file names in lower-case letters. If set to YES upper-case letters are also -# allowed. This is useful if you have classes or files whose names only differ -# in case and if your file system supports case sensitive file names. Windows -# and Mac users are advised to set this option to NO. - -CASE_SENSE_NAMES = YES - -# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen -# will show members with their full class and namespace scopes in the -# documentation. If set to YES the scope will be hidden. - -HIDE_SCOPE_NAMES = NO - -# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen -# will put a list of the files that are included by a file in the documentation -# of that file. - -SHOW_INCLUDE_FILES = YES - -# If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen -# will list include files with double quotes in the documentation -# rather than with sharp brackets. - -FORCE_LOCAL_INCLUDES = NO - -# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] -# is inserted in the documentation for inline members. - -INLINE_INFO = YES - -# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen -# will sort the (detailed) documentation of file and class members -# alphabetically by member name. If set to NO the members will appear in -# declaration order. - -SORT_MEMBER_DOCS = NO - -# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the -# brief documentation of file, namespace and class members alphabetically -# by member name. If set to NO (the default) the members will appear in -# declaration order. - -SORT_BRIEF_DOCS = NO - -# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen -# will sort the (brief and detailed) documentation of class members so that -# constructors and destructors are listed first. If set to NO (the default) -# the constructors will appear in the respective orders defined by -# SORT_MEMBER_DOCS and SORT_BRIEF_DOCS. -# This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO -# and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO. - -SORT_MEMBERS_CTORS_1ST = NO - -# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the -# hierarchy of group names into alphabetical order. If set to NO (the default) -# the group names will appear in their defined order. - -SORT_GROUP_NAMES = NO - -# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be -# sorted by fully-qualified names, including namespaces. If set to -# NO (the default), the class list will be sorted only by class name, -# not including the namespace part. -# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. -# Note: This option applies only to the class list, not to the -# alphabetical list. - -SORT_BY_SCOPE_NAME = YES - -# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to -# do proper type resolution of all parameters of a function it will reject a -# match between the prototype and the implementation of a member function even -# if there is only one candidate or it is obvious which candidate to choose -# by doing a simple string match. By disabling STRICT_PROTO_MATCHING doxygen -# will still accept a match between prototype and implementation in such cases. - -STRICT_PROTO_MATCHING = NO - -# The GENERATE_TODOLIST tag can be used to enable (YES) or -# disable (NO) the todo list. This list is created by putting \todo -# commands in the documentation. - -GENERATE_TODOLIST = NO - -# The GENERATE_TESTLIST tag can be used to enable (YES) or -# disable (NO) the test list. This list is created by putting \test -# commands in the documentation. - -GENERATE_TESTLIST = NO - -# The GENERATE_BUGLIST tag can be used to enable (YES) or -# disable (NO) the bug list. This list is created by putting \bug -# commands in the documentation. - -GENERATE_BUGLIST = NO - -# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or -# disable (NO) the deprecated list. This list is created by putting -# \deprecated commands in the documentation. - -GENERATE_DEPRECATEDLIST= YES - -# The ENABLED_SECTIONS tag can be used to enable conditional -# documentation sections, marked by \if sectionname ... \endif. - -ENABLED_SECTIONS = - -# The MAX_INITIALIZER_LINES tag determines the maximum number of lines -# the initial value of a variable or macro consists of for it to appear in -# the documentation. If the initializer consists of more lines than specified -# here it will be hidden. Use a value of 0 to hide initializers completely. -# The appearance of the initializer of individual variables and macros in the -# documentation can be controlled using \showinitializer or \hideinitializer -# command in the documentation regardless of this setting. - -MAX_INITIALIZER_LINES = 30 - -# Set the SHOW_USED_FILES tag to NO to disable the list of files generated -# at the bottom of the documentation of classes and structs. If set to YES the -# list will mention the files that were used to generate the documentation. - -SHOW_USED_FILES = YES - -# Set the SHOW_FILES tag to NO to disable the generation of the Files page. -# This will remove the Files entry from the Quick Index and from the -# Folder Tree View (if specified). The default is YES. - -SHOW_FILES = NO - -# Set the SHOW_NAMESPACES tag to NO to disable the generation of the -# Namespaces page. -# This will remove the Namespaces entry from the Quick Index -# and from the Folder Tree View (if specified). The default is YES. - -SHOW_NAMESPACES = NO - -# The FILE_VERSION_FILTER tag can be used to specify a program or script that -# doxygen should invoke to get the current version for each file (typically from -# the version control system). Doxygen will invoke the program by executing (via -# popen()) the command , where is the value of -# the FILE_VERSION_FILTER tag, and is the name of an input file -# provided by doxygen. Whatever the program writes to standard output -# is used as the file version. See the manual for examples. - -FILE_VERSION_FILTER = - -# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed -# by doxygen. The layout file controls the global structure of the generated -# output files in an output format independent way. To create the layout file -# that represents doxygen's defaults, run doxygen with the -l option. -# You can optionally specify a file name after the option, if omitted -# DoxygenLayout.xml will be used as the name of the layout file. - -LAYOUT_FILE = @SRATOM_SRCDIR@/doc/layout.xml - -# The CITE_BIB_FILES tag can be used to specify one or more bib files -# containing the references data. This must be a list of .bib files. The -# .bib extension is automatically appended if omitted. Using this command -# requires the bibtex tool to be installed. See also -# http://en.wikipedia.org/wiki/BibTeX for more info. For LaTeX the style -# of the bibliography can be controlled using LATEX_BIB_STYLE. To use this -# feature you need bibtex and perl available in the search path. - -CITE_BIB_FILES = - -#--------------------------------------------------------------------------- -# configuration options related to warning and progress messages -#--------------------------------------------------------------------------- - -# The QUIET tag can be used to turn on/off the messages that are generated -# by doxygen. Possible values are YES and NO. If left blank NO is used. - -QUIET = YES - -# The WARNINGS tag can be used to turn on/off the warning messages that are -# generated by doxygen. Possible values are YES and NO. If left blank -# NO is used. - -WARNINGS = YES - -# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings -# for undocumented members. If EXTRACT_ALL is set to YES then this flag will -# automatically be disabled. - -WARN_IF_UNDOCUMENTED = YES - -# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for -# potential errors in the documentation, such as not documenting some -# parameters in a documented function, or documenting parameters that -# don't exist or using markup commands wrongly. - -WARN_IF_DOC_ERROR = YES - -# The WARN_NO_PARAMDOC option can be enabled to get warnings for -# functions that are documented, but have no documentation for their parameters -# or return value. If set to NO (the default) doxygen will only warn about -# wrong or incomplete parameter documentation, but not about the absence of -# documentation. - -WARN_NO_PARAMDOC = YES - -# The WARN_FORMAT tag determines the format of the warning messages that -# doxygen can produce. The string should contain the $file, $line, and $text -# tags, which will be replaced by the file and line number from which the -# warning originated and the warning text. Optionally the format may contain -# $version, which will be replaced by the version of the file (if it could -# be obtained via FILE_VERSION_FILTER) - -WARN_FORMAT = "$file:$line: $text" - -# The WARN_LOGFILE tag can be used to specify a file to which warning -# and error messages should be written. If left blank the output is written -# to stderr. - -WARN_LOGFILE = - -#--------------------------------------------------------------------------- -# configuration options related to the input files -#--------------------------------------------------------------------------- - -# The INPUT tag can be used to specify the files and/or directories that contain -# documented source files. You may enter file names like "myfile.cpp" or -# directories like "/usr/src/myproject". Separate the files or directories -# with spaces. - -INPUT = @SRATOM_SRCDIR@/sratom/sratom.h - -# This tag can be used to specify the character encoding of the source files -# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is -# also the default input encoding. Doxygen uses libiconv (or the iconv built -# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for -# the list of possible encodings. - -INPUT_ENCODING = UTF-8 - -# If the value of the INPUT tag contains directories, you can use the -# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank the following patterns are tested: -# *.c *.cc *.cxx *.cpp *.c++ *.d *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh -# *.hxx *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.dox *.py -# *.f90 *.f *.for *.vhd *.vhdl - -FILE_PATTERNS = - -# The RECURSIVE tag can be used to turn specify whether or not subdirectories -# should be searched for input files as well. Possible values are YES and NO. -# If left blank NO is used. - -RECURSIVE = NO - -# The EXCLUDE tag can be used to specify files and/or directories that should be -# excluded from the INPUT source files. This way you can easily exclude a -# subdirectory from a directory tree whose root is specified with the INPUT tag. -# Note that relative paths are relative to the directory from which doxygen is -# run. - -EXCLUDE = - -# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or -# directories that are symbolic links (a Unix file system feature) are excluded -# from the input. - -EXCLUDE_SYMLINKS = NO - -# If the value of the INPUT tag contains directories, you can use the -# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude -# certain files from those directories. Note that the wildcards are matched -# against the file with absolute path, so to exclude all test directories -# for example use the pattern */test/* - -EXCLUDE_PATTERNS = - -# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names -# (namespaces, classes, functions, etc.) that should be excluded from the -# output. The symbol name can be a fully qualified name, a word, or if the -# wildcard * is used, a substring. Examples: ANamespace, AClass, -# AClass::ANamespace, ANamespace::*Test - -EXCLUDE_SYMBOLS = - -# The EXAMPLE_PATH tag can be used to specify one or more files or -# directories that contain example code fragments that are included (see -# the \include command). - -EXAMPLE_PATH = - -# If the value of the EXAMPLE_PATH tag contains directories, you can use the -# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank all files are included. - -EXAMPLE_PATTERNS = *.c - -# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be -# searched for input files to be used with the \include or \dontinclude -# commands irrespective of the value of the RECURSIVE tag. -# Possible values are YES and NO. If left blank NO is used. - -EXAMPLE_RECURSIVE = NO - -# The IMAGE_PATH tag can be used to specify one or more files or -# directories that contain image that are included in the documentation (see -# the \image command). - -IMAGE_PATH = - -# The INPUT_FILTER tag can be used to specify a program that doxygen should -# invoke to filter for each input file. Doxygen will invoke the filter program -# by executing (via popen()) the command , where -# is the value of the INPUT_FILTER tag, and is the name of an -# input file. Doxygen will then use the output that the filter program writes -# to standard output. -# If FILTER_PATTERNS is specified, this tag will be -# ignored. - -INPUT_FILTER = - -# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern -# basis. -# Doxygen will compare the file name with each pattern and apply the -# filter if there is a match. -# The filters are a list of the form: -# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further -# info on how filters are used. If FILTER_PATTERNS is empty or if -# non of the patterns match the file name, INPUT_FILTER is applied. - -FILTER_PATTERNS = - -# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using -# INPUT_FILTER) will be used to filter the input files when producing source -# files to browse (i.e. when SOURCE_BROWSER is set to YES). - -FILTER_SOURCE_FILES = NO - -# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file -# pattern. A pattern will override the setting for FILTER_PATTERN (if any) -# and it is also possible to disable source filtering for a specific pattern -# using *.ext= (so without naming a filter). This option only has effect when -# FILTER_SOURCE_FILES is enabled. - -FILTER_SOURCE_PATTERNS = - -#--------------------------------------------------------------------------- -# configuration options related to source browsing -#--------------------------------------------------------------------------- - -# If the SOURCE_BROWSER tag is set to YES then a list of source files will -# be generated. Documented entities will be cross-referenced with these sources. -# Note: To get rid of all source code in the generated output, make sure also -# VERBATIM_HEADERS is set to NO. - -SOURCE_BROWSER = NO - -# Setting the INLINE_SOURCES tag to YES will include the body -# of functions and classes directly in the documentation. - -INLINE_SOURCES = NO - -# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct -# doxygen to hide any special comment blocks from generated source code -# fragments. Normal C, C++ and Fortran comments will always remain visible. - -STRIP_CODE_COMMENTS = YES - -# If the REFERENCED_BY_RELATION tag is set to YES -# then for each documented function all documented -# functions referencing it will be listed. - -REFERENCED_BY_RELATION = YES - -# If the REFERENCES_RELATION tag is set to YES -# then for each documented function all documented entities -# called/used by that function will be listed. - -REFERENCES_RELATION = YES - -# If the REFERENCES_LINK_SOURCE tag is set to YES (the default) -# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from -# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will -# link to the source code. -# Otherwise they will link to the documentation. - -REFERENCES_LINK_SOURCE = YES - -# If the USE_HTAGS tag is set to YES then the references to source code -# will point to the HTML generated by the htags(1) tool instead of doxygen -# built-in source browser. The htags tool is part of GNU's global source -# tagging system (see http://www.gnu.org/software/global/global.html). You -# will need version 4.8.6 or higher. - -USE_HTAGS = NO - -# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen -# will generate a verbatim copy of the header file for each class for -# which an include is specified. Set to NO to disable this. - -VERBATIM_HEADERS = NO - -#--------------------------------------------------------------------------- -# configuration options related to the alphabetical class index -#--------------------------------------------------------------------------- - -# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index -# of all compounds will be generated. Enable this if the project -# contains a lot of classes, structs, unions or interfaces. - -ALPHABETICAL_INDEX = NO - -# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then -# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns -# in which this list will be split (can be a number in the range [1..20]) - -COLS_IN_ALPHA_INDEX = 5 - -# In case all classes in a project start with a common prefix, all -# classes will be put under the same header in the alphabetical index. -# The IGNORE_PREFIX tag can be used to specify one or more prefixes that -# should be ignored while generating the index headers. - -IGNORE_PREFIX = - -#--------------------------------------------------------------------------- -# configuration options related to the HTML output -#--------------------------------------------------------------------------- - -# If the GENERATE_HTML tag is set to YES (the default) Doxygen will -# generate HTML output. - -GENERATE_HTML = YES - -# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `html' will be used as the default path. - -HTML_OUTPUT = html - -# The HTML_FILE_EXTENSION tag can be used to specify the file extension for -# each generated HTML page (for example: .htm,.php,.asp). If it is left blank -# doxygen will generate files with .html extension. - -HTML_FILE_EXTENSION = .html - -# The HTML_HEADER tag can be used to specify a personal HTML header for -# each generated HTML page. If it is left blank doxygen will generate a -# standard header. Note that when using a custom header you are responsible -# for the proper inclusion of any scripts and style sheets that doxygen -# needs, which is dependent on the configuration options used. -# It is advised to generate a default header using "doxygen -w html -# header.html footer.html stylesheet.css YourConfigFile" and then modify -# that header. Note that the header is subject to change so you typically -# have to redo this when upgrading to a newer version of doxygen or when -# changing the value of configuration settings such as GENERATE_TREEVIEW! - -HTML_HEADER = - -# The HTML_FOOTER tag can be used to specify a personal HTML footer for -# each generated HTML page. If it is left blank doxygen will generate a -# standard footer. - -HTML_FOOTER = - -# The HTML_STYLESHEET tag can be used to specify a user-defined cascading -# style sheet that is used by each HTML page. It can be used to -# fine-tune the look of the HTML output. If the tag is left blank doxygen -# will generate a default style sheet. Note that doxygen will try to copy -# the style sheet file to the HTML output directory, so don't put your own -# style sheet in the HTML output directory as well, or it will be erased! - -HTML_STYLESHEET = @SRATOM_SRCDIR@/doc/style.css - -# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or -# other source files which should be copied to the HTML output directory. Note -# that these files will be copied to the base HTML output directory. Use the -# $relpath$ marker in the HTML_HEADER and/or HTML_FOOTER files to load these -# files. In the HTML_STYLESHEET file, use the file name only. Also note that -# the files will be copied as-is; there are no commands or markers available. - -HTML_EXTRA_FILES = - -# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. -# Doxygen will adjust the colors in the style sheet and background images -# according to this color. Hue is specified as an angle on a colorwheel, -# see http://en.wikipedia.org/wiki/Hue for more information. -# For instance the value 0 represents red, 60 is yellow, 120 is green, -# 180 is cyan, 240 is blue, 300 purple, and 360 is red again. -# The allowed range is 0 to 359. - -HTML_COLORSTYLE_HUE = 160 - -# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of -# the colors in the HTML output. For a value of 0 the output will use -# grayscales only. A value of 255 will produce the most vivid colors. - -HTML_COLORSTYLE_SAT = 100 - -# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to -# the luminance component of the colors in the HTML output. Values below -# 100 gradually make the output lighter, whereas values above 100 make -# the output darker. The value divided by 100 is the actual gamma applied, -# so 80 represents a gamma of 0.8, The value 220 represents a gamma of 2.2, -# and 100 does not change the gamma. - -HTML_COLORSTYLE_GAMMA = 80 - -# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML -# page will contain the date and time when the page was generated. Setting -# this to NO can help when comparing the output of multiple runs. - -HTML_TIMESTAMP = NO - -# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML -# documentation will contain sections that can be hidden and shown after the -# page has loaded. - -HTML_DYNAMIC_SECTIONS = NO - -# With HTML_INDEX_NUM_ENTRIES one can control the preferred number of -# entries shown in the various tree structured indices initially; the user -# can expand and collapse entries dynamically later on. Doxygen will expand -# the tree to such a level that at most the specified number of entries are -# visible (unless a fully collapsed tree already exceeds this amount). -# So setting the number of entries 1 will produce a full collapsed tree by -# default. 0 is a special value representing an infinite number of entries -# and will result in a full expanded tree by default. - -HTML_INDEX_NUM_ENTRIES = 100 - -# If the GENERATE_DOCSET tag is set to YES, additional index files -# will be generated that can be used as input for Apple's Xcode 3 -# integrated development environment, introduced with OSX 10.5 (Leopard). -# To create a documentation set, doxygen will generate a Makefile in the -# HTML output directory. Running make will produce the docset in that -# directory and running "make install" will install the docset in -# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find -# it at startup. -# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html -# for more information. - -GENERATE_DOCSET = NO - -# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the -# feed. A documentation feed provides an umbrella under which multiple -# documentation sets from a single provider (such as a company or product suite) -# can be grouped. - -DOCSET_FEEDNAME = "Doxygen generated docs" - -# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that -# should uniquely identify the documentation set bundle. This should be a -# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen -# will append .docset to the name. - -DOCSET_BUNDLE_ID = org.doxygen.Project - -# When GENERATE_PUBLISHER_ID tag specifies a string that should uniquely identify -# the documentation publisher. This should be a reverse domain-name style -# string, e.g. com.mycompany.MyDocSet.documentation. - -DOCSET_PUBLISHER_ID = org.doxygen.Publisher - -# The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher. - -DOCSET_PUBLISHER_NAME = Publisher - -# If the GENERATE_HTMLHELP tag is set to YES, additional index files -# will be generated that can be used as input for tools like the -# Microsoft HTML help workshop to generate a compiled HTML help file (.chm) -# of the generated HTML documentation. - -GENERATE_HTMLHELP = NO - -# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can -# be used to specify the file name of the resulting .chm file. You -# can add a path in front of the file if the result should not be -# written to the html output directory. - -CHM_FILE = - -# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can -# be used to specify the location (absolute path including file name) of -# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run -# the HTML help compiler on the generated index.hhp. - -HHC_LOCATION = - -# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag -# controls if a separate .chi index file is generated (YES) or that -# it should be included in the master .chm file (NO). - -GENERATE_CHI = NO - -# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING -# is used to encode HtmlHelp index (hhk), content (hhc) and project file -# content. - -CHM_INDEX_ENCODING = - -# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag -# controls whether a binary table of contents is generated (YES) or a -# normal table of contents (NO) in the .chm file. - -BINARY_TOC = NO - -# The TOC_EXPAND flag can be set to YES to add extra items for group members -# to the contents of the HTML help documentation and to the tree view. - -TOC_EXPAND = NO - -# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and -# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated -# that can be used as input for Qt's qhelpgenerator to generate a -# Qt Compressed Help (.qch) of the generated HTML documentation. - -GENERATE_QHP = NO - -# If the QHG_LOCATION tag is specified, the QCH_FILE tag can -# be used to specify the file name of the resulting .qch file. -# The path specified is relative to the HTML output folder. - -QCH_FILE = - -# The QHP_NAMESPACE tag specifies the namespace to use when generating -# Qt Help Project output. For more information please see -# http://doc.trolltech.com/qthelpproject.html#namespace - -QHP_NAMESPACE = - -# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating -# Qt Help Project output. For more information please see -# http://doc.trolltech.com/qthelpproject.html#virtual-folders - -QHP_VIRTUAL_FOLDER = doc - -# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to -# add. For more information please see -# http://doc.trolltech.com/qthelpproject.html#custom-filters - -QHP_CUST_FILTER_NAME = - -# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the -# custom filter to add. For more information please see -# -# Qt Help Project / Custom Filters. - -QHP_CUST_FILTER_ATTRS = - -# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this -# project's -# filter section matches. -# -# Qt Help Project / Filter Attributes. - -QHP_SECT_FILTER_ATTRS = - -# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can -# be used to specify the location of Qt's qhelpgenerator. -# If non-empty doxygen will try to run qhelpgenerator on the generated -# .qhp file. - -QHG_LOCATION = - -# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files -# will be generated, which together with the HTML files, form an Eclipse help -# plugin. To install this plugin and make it available under the help contents -# menu in Eclipse, the contents of the directory containing the HTML and XML -# files needs to be copied into the plugins directory of eclipse. The name of -# the directory within the plugins directory should be the same as -# the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before -# the help appears. - -GENERATE_ECLIPSEHELP = NO - -# A unique identifier for the eclipse help plugin. When installing the plugin -# the directory name containing the HTML and XML files should also have -# this name. - -ECLIPSE_DOC_ID = org.doxygen.Project - -# The DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs) -# at top of each HTML page. The value NO (the default) enables the index and -# the value YES disables it. Since the tabs have the same information as the -# navigation tree you can set this option to NO if you already set -# GENERATE_TREEVIEW to YES. - -DISABLE_INDEX = YES - -# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index -# structure should be generated to display hierarchical information. -# If the tag value is set to YES, a side panel will be generated -# containing a tree-like index structure (just like the one that -# is generated for HTML Help). For this to work a browser that supports -# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser). -# Windows users are probably better off using the HTML help feature. -# Since the tree basically has the same information as the tab index you -# could consider to set DISABLE_INDEX to NO when enabling this option. - -GENERATE_TREEVIEW = NO - -# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values -# (range [0,1..20]) that doxygen will group on one line in the generated HTML -# documentation. Note that a value of 0 will completely suppress the enum -# values from appearing in the overview section. - -ENUM_VALUES_PER_LINE = 4 - -# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be -# used to set the initial width (in pixels) of the frame in which the tree -# is shown. - -TREEVIEW_WIDTH = 250 - -# When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open -# links to external symbols imported via tag files in a separate window. - -EXT_LINKS_IN_WINDOW = NO - -# Use this tag to change the font size of Latex formulas included -# as images in the HTML documentation. The default is 10. Note that -# when you change the font size after a successful doxygen run you need -# to manually remove any form_*.png images from the HTML output directory -# to force them to be regenerated. - -FORMULA_FONTSIZE = 10 - -# Use the FORMULA_TRANPARENT tag to determine whether or not the images -# generated for formulas are transparent PNGs. Transparent PNGs are -# not supported properly for IE 6.0, but are supported on all modern browsers. -# Note that when changing this option you need to delete any form_*.png files -# in the HTML output before the changes have effect. - -FORMULA_TRANSPARENT = YES - -# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax -# (see http://www.mathjax.org) which uses client side Javascript for the -# rendering instead of using prerendered bitmaps. Use this if you do not -# have LaTeX installed or if you want to formulas look prettier in the HTML -# output. When enabled you may also need to install MathJax separately and -# configure the path to it using the MATHJAX_RELPATH option. - -USE_MATHJAX = NO - -# When MathJax is enabled you need to specify the location relative to the -# HTML output directory using the MATHJAX_RELPATH option. The destination -# directory should contain the MathJax.js script. For instance, if the mathjax -# directory is located at the same level as the HTML output directory, then -# MATHJAX_RELPATH should be ../mathjax. The default value points to -# the MathJax Content Delivery Network so you can quickly see the result without -# installing MathJax. -# However, it is strongly recommended to install a local -# copy of MathJax from http://www.mathjax.org before deployment. - -MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest - -# The MATHJAX_EXTENSIONS tag can be used to specify one or MathJax extension -# names that should be enabled during MathJax rendering. - -MATHJAX_EXTENSIONS = - -# When the SEARCHENGINE tag is enabled doxygen will generate a search box -# for the HTML output. The underlying search engine uses javascript -# and DHTML and should work on any modern browser. Note that when using -# HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets -# (GENERATE_DOCSET) there is already a search function so this one should -# typically be disabled. For large projects the javascript based search engine -# can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution. - -SEARCHENGINE = NO - -# When the SERVER_BASED_SEARCH tag is enabled the search engine will be -# implemented using a PHP enabled web server instead of at the web client -# using Javascript. Doxygen will generate the search PHP script and index -# file to put on the web server. The advantage of the server -# based approach is that it scales better to large projects and allows -# full text search. The disadvantages are that it is more difficult to setup -# and does not have live searching capabilities. - -SERVER_BASED_SEARCH = NO - -#--------------------------------------------------------------------------- -# configuration options related to the LaTeX output -#--------------------------------------------------------------------------- - -# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will -# generate Latex output. - -GENERATE_LATEX = NO - -# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `latex' will be used as the default path. - -LATEX_OUTPUT = latex - -# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be -# invoked. If left blank `latex' will be used as the default command name. -# Note that when enabling USE_PDFLATEX this option is only used for -# generating bitmaps for formulas in the HTML output, but not in the -# Makefile that is written to the output directory. - -LATEX_CMD_NAME = latex - -# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to -# generate index for LaTeX. If left blank `makeindex' will be used as the -# default command name. - -MAKEINDEX_CMD_NAME = makeindex - -# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact -# LaTeX documents. This may be useful for small projects and may help to -# save some trees in general. - -COMPACT_LATEX = NO - -# The PAPER_TYPE tag can be used to set the paper type that is used -# by the printer. Possible values are: a4, letter, legal and -# executive. If left blank a4wide will be used. - -PAPER_TYPE = a4wide - -# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX -# packages that should be included in the LaTeX output. - -EXTRA_PACKAGES = - -# The LATEX_HEADER tag can be used to specify a personal LaTeX header for -# the generated latex document. The header should contain everything until -# the first chapter. If it is left blank doxygen will generate a -# standard header. Notice: only use this tag if you know what you are doing! - -LATEX_HEADER = - -# The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for -# the generated latex document. The footer should contain everything after -# the last chapter. If it is left blank doxygen will generate a -# standard footer. Notice: only use this tag if you know what you are doing! - -LATEX_FOOTER = - -# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated -# is prepared for conversion to pdf (using ps2pdf). The pdf file will -# contain links (just like the HTML output) instead of page references -# This makes the output suitable for online browsing using a pdf viewer. - -PDF_HYPERLINKS = NO - -# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of -# plain latex in the generated Makefile. Set this option to YES to get a -# higher quality PDF documentation. - -USE_PDFLATEX = NO - -# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. -# command to the generated LaTeX files. This will instruct LaTeX to keep -# running if errors occur, instead of asking the user for help. -# This option is also used when generating formulas in HTML. - -LATEX_BATCHMODE = NO - -# If LATEX_HIDE_INDICES is set to YES then doxygen will not -# include the index chapters (such as File Index, Compound Index, etc.) -# in the output. - -LATEX_HIDE_INDICES = NO - -# If LATEX_SOURCE_CODE is set to YES then doxygen will include -# source code with syntax highlighting in the LaTeX output. -# Note that which sources are shown also depends on other settings -# such as SOURCE_BROWSER. - -LATEX_SOURCE_CODE = NO - -# The LATEX_BIB_STYLE tag can be used to specify the style to use for the -# bibliography, e.g. plainnat, or ieeetr. The default style is "plain". See -# http://en.wikipedia.org/wiki/BibTeX for more info. - -LATEX_BIB_STYLE = plain - -#--------------------------------------------------------------------------- -# configuration options related to the RTF output -#--------------------------------------------------------------------------- - -# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output -# The RTF output is optimized for Word 97 and may not look very pretty with -# other RTF readers or editors. - -GENERATE_RTF = NO - -# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `rtf' will be used as the default path. - -RTF_OUTPUT = rtf - -# If the COMPACT_RTF tag is set to YES Doxygen generates more compact -# RTF documents. This may be useful for small projects and may help to -# save some trees in general. - -COMPACT_RTF = NO - -# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated -# will contain hyperlink fields. The RTF file will -# contain links (just like the HTML output) instead of page references. -# This makes the output suitable for online browsing using WORD or other -# programs which support those fields. -# Note: wordpad (write) and others do not support links. - -RTF_HYPERLINKS = NO - -# Load style sheet definitions from file. Syntax is similar to doxygen's -# config file, i.e. a series of assignments. You only have to provide -# replacements, missing definitions are set to their default value. - -RTF_STYLESHEET_FILE = - -# Set optional variables used in the generation of an rtf document. -# Syntax is similar to doxygen's config file. - -RTF_EXTENSIONS_FILE = - -#--------------------------------------------------------------------------- -# configuration options related to the man page output -#--------------------------------------------------------------------------- - -# If the GENERATE_MAN tag is set to YES (the default) Doxygen will -# generate man pages - -GENERATE_MAN = YES - -# The MAN_OUTPUT tag is used to specify where the man pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `man' will be used as the default path. - -MAN_OUTPUT = man - -# The MAN_EXTENSION tag determines the extension that is added to -# the generated man pages (default is the subroutine's section .3) - -MAN_EXTENSION = .3 - -# If the MAN_LINKS tag is set to YES and Doxygen generates man output, -# then it will generate one additional man file for each entity -# documented in the real man page(s). These additional files -# only source the real man page, but without them the man command -# would be unable to find the correct page. The default is NO. - -MAN_LINKS = NO - -#--------------------------------------------------------------------------- -# configuration options related to the XML output -#--------------------------------------------------------------------------- - -# If the GENERATE_XML tag is set to YES Doxygen will -# generate an XML file that captures the structure of -# the code including all documentation. - -GENERATE_XML = NO - -# The XML_OUTPUT tag is used to specify where the XML pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `xml' will be used as the default path. - -XML_OUTPUT = xml - -# The XML_SCHEMA tag can be used to specify an XML schema, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_SCHEMA = - -# The XML_DTD tag can be used to specify an XML DTD, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_DTD = - -# If the XML_PROGRAMLISTING tag is set to YES Doxygen will -# dump the program listings (including syntax highlighting -# and cross-referencing information) to the XML output. Note that -# enabling this will significantly increase the size of the XML output. - -XML_PROGRAMLISTING = YES - -#--------------------------------------------------------------------------- -# configuration options for the AutoGen Definitions output -#--------------------------------------------------------------------------- - -# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will -# generate an AutoGen Definitions (see autogen.sf.net) file -# that captures the structure of the code including all -# documentation. Note that this feature is still experimental -# and incomplete at the moment. - -GENERATE_AUTOGEN_DEF = NO - -#--------------------------------------------------------------------------- -# configuration options related to the Perl module output -#--------------------------------------------------------------------------- - -# If the GENERATE_PERLMOD tag is set to YES Doxygen will -# generate a Perl module file that captures the structure of -# the code including all documentation. Note that this -# feature is still experimental and incomplete at the -# moment. - -GENERATE_PERLMOD = NO - -# If the PERLMOD_LATEX tag is set to YES Doxygen will generate -# the necessary Makefile rules, Perl scripts and LaTeX code to be able -# to generate PDF and DVI output from the Perl module output. - -PERLMOD_LATEX = NO - -# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be -# nicely formatted so it can be parsed by a human reader. -# This is useful -# if you want to understand what is going on. -# On the other hand, if this -# tag is set to NO the size of the Perl module output will be much smaller -# and Perl will parse it just the same. - -PERLMOD_PRETTY = YES - -# The names of the make variables in the generated doxyrules.make file -# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. -# This is useful so different doxyrules.make files included by the same -# Makefile don't overwrite each other's variables. - -PERLMOD_MAKEVAR_PREFIX = - -#--------------------------------------------------------------------------- -# Configuration options related to the preprocessor -#--------------------------------------------------------------------------- - -# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will -# evaluate all C-preprocessor directives found in the sources and include -# files. - -ENABLE_PREPROCESSING = YES - -# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro -# names in the source code. If set to NO (the default) only conditional -# compilation will be performed. Macro expansion can be done in a controlled -# way by setting EXPAND_ONLY_PREDEF to YES. - -MACRO_EXPANSION = NO - -# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES -# then the macro expansion is limited to the macros specified with the -# PREDEFINED and EXPAND_AS_DEFINED tags. - -EXPAND_ONLY_PREDEF = NO - -# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files -# pointed to by INCLUDE_PATH will be searched when a #include is found. - -SEARCH_INCLUDES = YES - -# The INCLUDE_PATH tag can be used to specify one or more directories that -# contain include files that are not input files but should be processed by -# the preprocessor. - -INCLUDE_PATH = - -# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard -# patterns (like *.h and *.hpp) to filter out the header-files in the -# directories. If left blank, the patterns specified with FILE_PATTERNS will -# be used. - -INCLUDE_FILE_PATTERNS = - -# The PREDEFINED tag can be used to specify one or more macro names that -# are defined before the preprocessor is started (similar to the -D option of -# gcc). The argument of the tag is a list of macros of the form: name -# or name=definition (no spaces). If the definition and the = are -# omitted =1 is assumed. To prevent a macro definition from being -# undefined via #undef or recursively expanded use the := operator -# instead of the = operator. - -PREDEFINED = - -# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then -# this tag can be used to specify a list of macro names that should be expanded. -# The macro definition that is found in the sources will be used. -# Use the PREDEFINED tag if you want to use a different macro definition that -# overrules the definition found in the source code. - -EXPAND_AS_DEFINED = - -# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then -# doxygen's preprocessor will remove all references to function-like macros -# that are alone on a line, have an all uppercase name, and do not end with a -# semicolon, because these will confuse the parser if not removed. - -SKIP_FUNCTION_MACROS = YES - -#--------------------------------------------------------------------------- -# Configuration::additions related to external references -#--------------------------------------------------------------------------- - -# The TAGFILES option can be used to specify one or more tagfiles. For each -# tag file the location of the external documentation should be added. The -# format of a tag file without this location is as follows: -# -# TAGFILES = file1 file2 ... -# Adding location for the tag files is done as follows: -# -# TAGFILES = file1=loc1 "file2 = loc2" ... -# where "loc1" and "loc2" can be relative or absolute paths -# or URLs. Note that each tag file must have a unique name (where the name does -# NOT include the path). If a tag file is not located in the directory in which -# doxygen is run, you must also specify the path to the tagfile here. - -TAGFILES = - -# When a file name is specified after GENERATE_TAGFILE, doxygen will create -# a tag file that is based on the input files it reads. - -GENERATE_TAGFILE = - -# If the ALLEXTERNALS tag is set to YES all external classes will be listed -# in the class index. If set to NO only the inherited external classes -# will be listed. - -ALLEXTERNALS = NO - -# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed -# in the modules index. If set to NO, only the current project's groups will -# be listed. - -EXTERNAL_GROUPS = YES - -# The PERL_PATH should be the absolute path and name of the perl script -# interpreter (i.e. the result of `which perl'). - -PERL_PATH = /usr/bin/perl - -#--------------------------------------------------------------------------- -# Configuration options related to the dot tool -#--------------------------------------------------------------------------- - -# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will -# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base -# or super classes. Setting the tag to NO turns the diagrams off. Note that -# this option also works with HAVE_DOT disabled, but it is recommended to -# install and use dot, since it yields more powerful graphs. - -CLASS_DIAGRAMS = NO - -# You can define message sequence charts within doxygen comments using the \msc -# command. Doxygen will then run the mscgen tool (see -# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the -# documentation. The MSCGEN_PATH tag allows you to specify the directory where -# the mscgen tool resides. If left empty the tool is assumed to be found in the -# default search path. - -MSCGEN_PATH = - -# If set to YES, the inheritance and collaboration graphs will hide -# inheritance and usage relations if the target is undocumented -# or is not a class. - -HIDE_UNDOC_RELATIONS = YES - -# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is -# available from the path. This tool is part of Graphviz, a graph visualization -# toolkit from AT&T and Lucent Bell Labs. The other options in this section -# have no effect if this option is set to NO (the default) - -HAVE_DOT = NO - -# The DOT_NUM_THREADS specifies the number of dot invocations doxygen is -# allowed to run in parallel. When set to 0 (the default) doxygen will -# base this on the number of processors available in the system. You can set it -# explicitly to a value larger than 0 to get control over the balance -# between CPU load and processing speed. - -DOT_NUM_THREADS = 0 - -# By default doxygen will use the Helvetica font for all dot files that -# doxygen generates. When you want a differently looking font you can specify -# the font name using DOT_FONTNAME. You need to make sure dot is able to find -# the font, which can be done by putting it in a standard location or by setting -# the DOTFONTPATH environment variable or by setting DOT_FONTPATH to the -# directory containing the font. - -DOT_FONTNAME = FreeSans - -# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs. -# The default size is 10pt. - -DOT_FONTSIZE = 10 - -# By default doxygen will tell dot to use the Helvetica font. -# If you specify a different font using DOT_FONTNAME you can use DOT_FONTPATH to -# set the path where dot can find it. - -DOT_FONTPATH = - -# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect inheritance relations. Setting this tag to YES will force the -# CLASS_DIAGRAMS tag to NO. - -CLASS_GRAPH = NO - -# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect implementation dependencies (inheritance, containment, and -# class references variables) of the class with other documented classes. - -COLLABORATION_GRAPH = NO - -# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for groups, showing the direct groups dependencies - -GROUP_GRAPHS = YES - -# If the UML_LOOK tag is set to YES doxygen will generate inheritance and -# collaboration diagrams in a style similar to the OMG's Unified Modeling -# Language. - -UML_LOOK = NO - -# If the UML_LOOK tag is enabled, the fields and methods are shown inside -# the class node. If there are many fields or methods and many nodes the -# graph may become too big to be useful. The UML_LIMIT_NUM_FIELDS -# threshold limits the number of items for each type to make the size more -# managable. Set this to 0 for no limit. Note that the threshold may be -# exceeded by 50% before the limit is enforced. - -UML_LIMIT_NUM_FIELDS = 10 - -# If set to YES, the inheritance and collaboration graphs will show the -# relations between templates and their instances. - -TEMPLATE_RELATIONS = NO - -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT -# tags are set to YES then doxygen will generate a graph for each documented -# file showing the direct and indirect include dependencies of the file with -# other documented files. - -INCLUDE_GRAPH = NO - -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and -# HAVE_DOT tags are set to YES then doxygen will generate a graph for each -# documented header file showing the documented files that directly or -# indirectly include this file. - -INCLUDED_BY_GRAPH = NO - -# If the CALL_GRAPH and HAVE_DOT options are set to YES then -# doxygen will generate a call dependency graph for every global function -# or class method. Note that enabling this option will significantly increase -# the time of a run. So in most cases it will be better to enable call graphs -# for selected functions only using the \callgraph command. - -CALL_GRAPH = NO - -# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then -# doxygen will generate a caller dependency graph for every global function -# or class method. Note that enabling this option will significantly increase -# the time of a run. So in most cases it will be better to enable caller -# graphs for selected functions only using the \callergraph command. - -CALLER_GRAPH = NO - -# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen -# will generate a graphical hierarchy of all classes instead of a textual one. - -GRAPHICAL_HIERARCHY = NO - -# If the DIRECTORY_GRAPH and HAVE_DOT tags are set to YES -# then doxygen will show the dependencies a directory has on other directories -# in a graphical way. The dependency relations are determined by the #include -# relations between the files in the directories. - -DIRECTORY_GRAPH = NO - -# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images -# generated by dot. Possible values are svg, png, jpg, or gif. -# If left blank png will be used. If you choose svg you need to set -# HTML_FILE_EXTENSION to xhtml in order to make the SVG files -# visible in IE 9+ (other browsers do not have this requirement). - -DOT_IMAGE_FORMAT = png - -# If DOT_IMAGE_FORMAT is set to svg, then this option can be set to YES to -# enable generation of interactive SVG images that allow zooming and panning. -# Note that this requires a modern browser other than Internet Explorer. -# Tested and working are Firefox, Chrome, Safari, and Opera. For IE 9+ you -# need to set HTML_FILE_EXTENSION to xhtml in order to make the SVG files -# visible. Older versions of IE do not have SVG support. - -INTERACTIVE_SVG = NO - -# The tag DOT_PATH can be used to specify the path where the dot tool can be -# found. If left blank, it is assumed the dot tool can be found in the path. - -DOT_PATH = - -# The DOTFILE_DIRS tag can be used to specify one or more directories that -# contain dot files that are included in the documentation (see the -# \dotfile command). - -DOTFILE_DIRS = - -# The MSCFILE_DIRS tag can be used to specify one or more directories that -# contain msc files that are included in the documentation (see the -# \mscfile command). - -MSCFILE_DIRS = - -# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of -# nodes that will be shown in the graph. If the number of nodes in a graph -# becomes larger than this value, doxygen will truncate the graph, which is -# visualized by representing a node as a red box. Note that doxygen if the -# number of direct children of the root node in a graph is already larger than -# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note -# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH. - -DOT_GRAPH_MAX_NODES = 50 - -# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the -# graphs generated by dot. A depth value of 3 means that only nodes reachable -# from the root by following a path via at most 3 edges will be shown. Nodes -# that lay further from the root node will be omitted. Note that setting this -# option to 1 or 2 may greatly reduce the computation time needed for large -# code bases. Also note that the size of a graph can be further restricted by -# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction. - -MAX_DOT_GRAPH_DEPTH = 0 - -# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent -# background. This is disabled by default, because dot on Windows does not -# seem to support this out of the box. Warning: Depending on the platform used, -# enabling this option may lead to badly anti-aliased labels on the edges of -# a graph (i.e. they become hard to read). - -DOT_TRANSPARENT = NO - -# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output -# files in one run (i.e. multiple -o and -T options on the command line). This -# makes dot run faster, but since only newer versions of dot (>1.8.10) -# support this, this feature is disabled by default. - -DOT_MULTI_TARGETS = NO - -# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will -# generate a legend page explaining the meaning of the various boxes and -# arrows in the dot generated graphs. - -GENERATE_LEGEND = NO - -# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will -# remove the intermediate dot files that are used to generate -# the various graphs. - -DOT_CLEANUP = YES diff --git a/source/modules/lilv/sratom-0.4.2/doc/style.css b/source/modules/lilv/sratom-0.4.2/doc/style.css deleted file mode 100644 index 4c62b46a8..000000000 --- a/source/modules/lilv/sratom-0.4.2/doc/style.css +++ /dev/null @@ -1,563 +0,0 @@ -body { - font-size: medium; - font-family: sans-serif; -} - -#top { - background-color: #F3F3F3; - margin: 0; - padding: 0; - border-bottom: 1px solid #DDD; - margin-bottom: 1ex; - font-size: xx-large; - font-weight: bold; -} - -div.header { - display: none; -} - -.tabs { - display: none; -} - -h1 h2 h3 h4 h5 h6 { - font-weight: bold; -} - -h1 { - font-size: 164%; -} - -h2 { - font-size: 132%; -} - -h3 { - font-size: 124%; -} - -h4 { - font-size: 116%; -} - -h5 { - font-size: 108%; -} - -h6 { - font-size: 100%; -} - -p { - margin: 0 0 1ex 0; -} - -br { - display: none; -} - -dt { - font-weight: 700; -} - -div.multicol { -} - -p.startli,p.startdd,p.starttd { - margin-top: 2px; -} - -p.endli { - margin-bottom: 0; -} - -p.enddd { - margin-bottom: 4px; -} - -p.endtd { - margin-bottom: 2px; -} - -caption { - font-weight: 700; -} - -span.legend { - font-size: 70%; - text-align: center; -} - -h3.version { - font-size: 90%; - text-align: center; -} - -div.qindex,div.navtab { - background-color: #EBEFF6; - border: 1px solid #A3B4D7; - text-align: center; - margin: 2px; - padding: 2px; -} - -div.qindex,div.navpath { - width: 100%; - line-height: 140%; -} - -div.navtab { - margin-right: 15px; -} - -/* @group Link Styling */ -a { - color: #3D8C57; - text-decoration: none; -} - -.contents a:visited { - color: #50755E; -} - -a:hover { - text-decoration: underline; -} - -a.qindexHL { - background-color: #9CAFD4; - color: #FFF; - border: 1px double #869DCA; -} - -a.code { - color: #4665A2; -} - -a.codeRef { - color: #4665A2; -} - -/* @end */ -dl.el { - margin-left: -1cm; -} - -.fragment { - font-family: monospace, fixed; - font-size: 105%; -} - -pre.fragment { - border: 1px solid #C4C4C4; - background-color: #F9F9F9; - padding: 4px 6px; - margin: 4px 8px 4px 2px; - overflow: auto; - font-size: 9pt; - line-height: 125%; -} - -div.ah { - background-color: #000; - font-weight: 700; - color: #FFF; - margin-bottom: 3px; - margin-top: 3px; - padding: .2em; - border: thin solid #333; -} - -div.groupHeader { - margin-left: 16px; - margin-top: 12px; - margin-bottom: 6px; - font-weight: 700; -} - -div.groupText { - margin-left: 16px; - font-style: italic; -} - -body { - background: #FFF; - color: #000; - margin: 0; -} - -div.contents { - margin-top: 10px; - margin-left: 10px; - margin-right: 10px; -} - -td.indexkey { - background-color: #EBEFF6; - font-weight: 700; - border: 1px solid #C4CFE5; - margin: 2px 0; - padding: 2px 10px; -} - -td.indexvalue { - background-color: #EBEFF6; - border: 1px solid #C4CFE5; - padding: 2px 10px; - margin: 2px 0; -} - -tr.memlist { - background-color: #EEF1F7; -} - -p.formulaDsp { - text-align: center; -} - -img.formulaDsp { -} - -img.formulaInl { - vertical-align: middle; -} - -div.center { - text-align: center; - margin-top: 0; - margin-bottom: 0; - padding: 0; -} - -div.center img { - border: 0; -} - -address.footer { - text-align: right; - padding: 0 0.25em 0.25em 0; -} - -img.footer { - border: 0; - vertical-align: middle; -} - -/* @group Code Colorization */ -span.keyword { - color: green; -} - -span.keywordtype { - color: #604020; -} - -span.keywordflow { - color: #e08000; -} - -span.comment { - color: maroon; -} - -span.preprocessor { - color: #806020; -} - -span.stringliteral { - color: #002080; -} - -span.charliteral { - color: teal; -} - -span.vhdldigit { - color: #F0F; -} - -span.vhdlkeyword { - color: #700070; -} - -span.vhdllogic { - color: red; -} - -/* @end */ -td.tiny { - font-size: 75%; -} - -.dirtab { - padding: 4px; - border-collapse: collapse; - border: 1px solid #A3B4D7; -} - -th.dirtab { - background: #EBEFF6; - font-weight: 700; -} - -hr { - height: 0; - border: none; - border-top: 1px solid #DDD; - margin: 2em 0 1em; -} - -hr.footer { - height: 1px; -} - -/* @group Member Descriptions */ -table.memberdecls { - border-spacing: 0; - font-size: small; -} - -.mdescLeft,.mdescRight,.memItemLeft,.memItemRight,.memTemplItemLeft,.memTemplItemRight,.memTemplParams { - background-color: #FBFBFB; - margin: 0; - padding: 0.25ex; -} - -.mdescLeft,.mdescRight { - color: #555; -} - -.memItemLeft,.memItemRight,.memTemplParams { - border-top: 1px solid #DDD; -} - -.memItemLeft,.memTemplItemLeft { - white-space: nowrap; - padding-left: 2em; -} - -.memTemplParams { - color: #464646; - white-space: nowrap; -} - -/* @end */ -/* @group Member Details */ -/* Styles for detailed member documentation */ -.memtemplate { - font-size: 80%; - color: #4665A2; - font-weight: bold; -} - -.memnav { - background-color: #EBEFF6; - border: 1px solid #A3B4D7; - text-align: center; - margin: 2px; - margin-right: 15px; - padding: 2px; -} - -.memitem { - padding: 0; - margin: 1ex 0 2ex 0; - border: 1px solid #CCC; -} - -.memname { - white-space: nowrap; - font-weight: bold; -} - -.memproto { - border-bottom: 1px solid #DDD; - padding: 0.5ex; - font-weight: bold; - background-color: #F3F3F3; -} - -.memdoc { - padding: 1ex; - background-color: #FBFBFB; - border-top-width: 0; -} - -.paramkey { - text-align: right; -} - -.paramtype { - white-space: nowrap; -} - -.paramname { - color: #602020; - white-space: nowrap; -} - -.paramname em { - font-style: normal; -} - -/* @end */ -/* @group Directory (tree) */ -/* for the tree view */ -.ftvtree { - font-family: sans-serif; - margin: 0; -} - -/* these are for tree view when used as main index */ -.directory { - font-size: 9pt; - font-weight: bold; - margin: 5px; -} - -.directory h3 { - margin: 0; - margin-top: 1em; - font-size: 11pt; -} - -.directory > h3 { - margin-top: 0; -} - -.directory p { - margin: 0; - white-space: nowrap; -} - -.directory div { - display: none; - margin: 0; -} - -.directory img { - vertical-align: -30%; -} - -/* these are for tree view when not used as main index */ -.directory-alt { - font-size: 100%; - font-weight: bold; -} - -.directory-alt h3 { - margin: 0; - margin-top: 1em; - font-size: 11pt; -} - -.directory-alt > h3 { - margin-top: 0; -} - -.directory-alt p { - margin: 0; - white-space: nowrap; -} - -.directory-alt div { - display: none; - margin: 0; -} - -.directory-alt img { - vertical-align: -30%; -} - -/* @end */ -div.dynheader { - margin-top: 8px; -} - -address { - font-style: normal; - color: #2A3D61; -} - -table.doxtable { - border-collapse: collapse; - margin: 0.5ex; -} - -table.doxtable td,table.doxtable th { - border: 1px solid #DDD; - padding: 3px 7px 2px; -} - -table.doxtable th { - background-color: #F3F3F3; - color: #000; - padding-bottom: 4px; - padding-top: 5px; - text-align: left; - font-weight: bold; -} - -.tabsearch { - top: 0; - left: 10px; - height: 36px; - z-index: 101; - overflow: hidden; - font-size: 13px; -} - -.navpath ul { - font-size: 11px; - height: 30px; - line-height: 30px; - color: #8AA0CC; - border: 1px solid #C2CDE4; - overflow: hidden; - margin: 0; - padding: 0; -} - -.navpath li { - list-style-type: none; - float: left; - padding-left: 10px; - padding-right: 15px; - color: #364D7C; -} - -.navpath a { - height: 32px; - display: block; - text-decoration: none; - outline: none; -} - -.navpath a:hover { - color: #6884BD; -} - -div.summary { - float: right; - font-size: 8pt; - padding-right: 5px; - width: 50%; - text-align: right; -} - -div.summary a { - white-space: nowrap; -} - -div.header { - background-color: #F3F3F3; - margin: 0; - border-bottom: 1px solid #DDD; -} - -div.headertitle { - padding: 5px 5px 5px 10px; - font-size: 180%; - font-weight: bold; -} diff --git a/source/modules/lilv/sratom-0.4.2/sratom.pc.in b/source/modules/lilv/sratom-0.4.2/sratom.pc.in deleted file mode 100644 index eb400830a..000000000 --- a/source/modules/lilv/sratom-0.4.2/sratom.pc.in +++ /dev/null @@ -1,11 +0,0 @@ -prefix=@PREFIX@ -exec_prefix=@EXEC_PREFIX@ -libdir=@LIBDIR@ -includedir=@INCLUDEDIR@ - -Name: Sratom -Version: @SRATOM_VERSION@ -Description: LV2 Atom RDF serialisation library -Requires: lv2 @PKG_serd_0@ @PKG_sord_0@ -Libs: -L${libdir} -l@LIB_SRATOM@ -Cflags: -I${includedir}/sratom-@SRATOM_MAJOR_VERSION@ diff --git a/source/modules/lilv/sratom-0.4.2/tests/sratom_test.c b/source/modules/lilv/sratom-0.4.2/tests/sratom_test.c deleted file mode 100644 index c103d09da..000000000 --- a/source/modules/lilv/sratom-0.4.2/tests/sratom_test.c +++ /dev/null @@ -1,306 +0,0 @@ -/* - Copyright 2012 David Robillard - - Permission to use, copy, modify, and/or distribute this software for any - purpose with or without fee is hereby granted, provided that the above - copyright notice and this permission notice appear in all copies. - - THIS SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -*/ - -#include -#include -#include -#include - -#include "lv2/lv2plug.in/ns/ext/atom/forge.h" -#include "lv2/lv2plug.in/ns/ext/atom/util.h" -#include "lv2/lv2plug.in/ns/ext/midi/midi.h" -#include "sratom/sratom.h" - -#define NS_RDF "http://www.w3.org/1999/02/22-rdf-syntax-ns#" - -#define USTR(s) ((const uint8_t*)(s)) - -static char** uris = NULL; -static size_t n_uris = 0; - -static char* -copy_string(const char* str) -{ - const size_t len = strlen(str); - char* dup = (char*)malloc(len + 1); - memcpy(dup, str, len + 1); - return dup; -} - -static LV2_URID -urid_map(LV2_URID_Map_Handle handle, const char* uri) -{ - for (size_t i = 0; i < n_uris; ++i) { - if (!strcmp(uris[i], uri)) { - return i + 1; - } - } - - uris = (char**)realloc(uris, ++n_uris * sizeof(char*)); - uris[n_uris - 1] = copy_string(uri); - return n_uris; -} - -static const char* -urid_unmap(LV2_URID_Unmap_Handle handle, - LV2_URID urid) -{ - if (urid > 0 && urid <= n_uris) { - return uris[urid - 1]; - } - return NULL; -} - -static int -test_fail(const char* fmt, ...) -{ - va_list args; - va_start(args, fmt); - fprintf(stderr, "error: "); - vfprintf(stderr, fmt, args); - va_end(args); - return 1; -} - -static int -test(bool top_level) -{ - LV2_URID_Map map = { NULL, urid_map }; - LV2_URID_Unmap unmap = { NULL, urid_unmap }; - LV2_Atom_Forge forge; - lv2_atom_forge_init(&forge, &map); - - Sratom* sratom = sratom_new(&map); - sratom_set_object_mode( - sratom, - top_level ? SRATOM_OBJECT_MODE_BLANK_SUBJECT : SRATOM_OBJECT_MODE_BLANK); - - LV2_URID eg_Object = urid_map(NULL, "http://example.org/Object"); - LV2_URID eg_one = urid_map(NULL, "http://example.org/a-one"); - LV2_URID eg_two = urid_map(NULL, "http://example.org/b-two"); - LV2_URID eg_three = urid_map(NULL, "http://example.org/c-three"); - LV2_URID eg_four = urid_map(NULL, "http://example.org/d-four"); - LV2_URID eg_true = urid_map(NULL, "http://example.org/e-true"); - LV2_URID eg_false = urid_map(NULL, "http://example.org/f-false"); - LV2_URID eg_path = urid_map(NULL, "http://example.org/g-path"); - LV2_URID eg_urid = urid_map(NULL, "http://example.org/h-urid"); - LV2_URID eg_string = urid_map(NULL, "http://example.org/i-string"); - LV2_URID eg_langlit = urid_map(NULL, "http://example.org/j-langlit"); - LV2_URID eg_typelit = urid_map(NULL, "http://example.org/k-typelit"); - LV2_URID eg_null = urid_map(NULL, "http://example.org/l-null"); - LV2_URID eg_chunk = urid_map(NULL, "http://example.org/m-chunk"); - LV2_URID eg_blob = urid_map(NULL, "http://example.org/n-blob"); - LV2_URID eg_blank = urid_map(NULL, "http://example.org/o-blank"); - LV2_URID eg_tuple = urid_map(NULL, "http://example.org/p-tuple"); - LV2_URID eg_rectup = urid_map(NULL, "http://example.org/q-rectup"); - LV2_URID eg_vector = urid_map(NULL, "http://example.org/r-vector"); - LV2_URID eg_seq = urid_map(NULL, "http://example.org/s-seq"); - - uint8_t buf[1024]; - lv2_atom_forge_set_buffer(&forge, buf, sizeof(buf)); - - const char* obj_uri = "http://example.org/obj"; - LV2_URID obj_id = urid_map(NULL, obj_uri); - LV2_Atom_Forge_Frame obj_frame; - if (top_level) { - lv2_atom_forge_resource(&forge, &obj_frame, obj_id, eg_Object); - } else { - lv2_atom_forge_blank(&forge, &obj_frame, 1, eg_Object); - } - LV2_Atom* obj = lv2_atom_forge_deref(&forge, obj_frame.ref); - - // eg_one = (Int32)1 - lv2_atom_forge_property_head(&forge, eg_one, 0); - lv2_atom_forge_int(&forge, 1); - - // eg_two = (Int64)2 - lv2_atom_forge_property_head(&forge, eg_two, 0); - lv2_atom_forge_long(&forge, 2); - - // eg_three = (Float)3.0 - lv2_atom_forge_property_head(&forge, eg_three, 0); - lv2_atom_forge_float(&forge, 3.0f); - - // eg_four = (Double)4.0 - lv2_atom_forge_property_head(&forge, eg_four, 0); - lv2_atom_forge_double(&forge, 4.0); - - // eg_true = (Bool)1 - lv2_atom_forge_property_head(&forge, eg_true, 0); - lv2_atom_forge_bool(&forge, true); - - // eg_false = (Bool)0 - lv2_atom_forge_property_head(&forge, eg_false, 0); - lv2_atom_forge_bool(&forge, false); - - // eg_path = (Path)"/absolute/path" - const char* pstr = "/absolute/path"; - const size_t pstr_len = strlen(pstr); - lv2_atom_forge_property_head(&forge, eg_path, 0); - lv2_atom_forge_path(&forge, pstr, pstr_len); - - // eg_urid = (URID)"http://example.org/value" - LV2_URID eg_value = urid_map(NULL, "http://example.org/value"); - lv2_atom_forge_property_head(&forge, eg_urid, 0); - lv2_atom_forge_urid(&forge, eg_value); - - // eg_string = (String)"hello" - lv2_atom_forge_property_head(&forge, eg_string, 0); - lv2_atom_forge_string(&forge, "hello", strlen("hello")); - - // eg_langlit = (Literal)"bonjour"@fr - lv2_atom_forge_property_head(&forge, eg_langlit, 0); - lv2_atom_forge_literal( - &forge, "bonjour", strlen("bonjour"), - 0, urid_map(NULL, "http://lexvo.org/id/iso639-3/fra")); - - // eg_typelit = (Literal)"bonjour"@fr - lv2_atom_forge_property_head(&forge, eg_typelit, 0); - lv2_atom_forge_literal( - &forge, "value", strlen("value"), - urid_map(NULL, "http://example.org/Type"), 0); - - // eg_null = null - lv2_atom_forge_property_head(&forge, eg_null, 0); - lv2_atom_forge_atom(&forge, 0, 0); - - // eg_chunk = 0xBEEFDEAD - uint8_t chunk_buf[] = { 0xBE, 0xEF, 0xDE, 0xAD }; - lv2_atom_forge_property_head(&forge, eg_chunk, 0); - lv2_atom_forge_atom(&forge, sizeof(chunk_buf), forge.Chunk); - lv2_atom_forge_write(&forge, chunk_buf, sizeof(chunk_buf)); - - // eg_blob = 0xDEADBEEF - uint32_t blob_type = map.map(map.handle, "http://example.org/Blob"); - uint8_t blob_buf[] = { 0xDE, 0xAD, 0xBE, 0xEF }; - lv2_atom_forge_property_head(&forge, eg_blob, 0); - lv2_atom_forge_atom(&forge, sizeof(blob_buf), blob_type); - lv2_atom_forge_write(&forge, blob_buf, sizeof(blob_buf)); - - // eg_blank = [ a ] - lv2_atom_forge_property_head(&forge, eg_blank, 0); - LV2_Atom_Forge_Frame blank_frame; - lv2_atom_forge_blank(&forge, &blank_frame, top_level ? 1 : 2, eg_Object); - lv2_atom_forge_pop(&forge, &blank_frame); - - // eg_tuple = "foo",true - lv2_atom_forge_property_head(&forge, eg_tuple, 0); - LV2_Atom_Forge_Frame tuple_frame; - lv2_atom_forge_tuple(&forge, &tuple_frame); - lv2_atom_forge_string(&forge, "foo", strlen("foo")); - lv2_atom_forge_bool(&forge, true); - lv2_atom_forge_pop(&forge, &tuple_frame); - - // eg_rectup = "foo",true,("bar",false) - lv2_atom_forge_property_head(&forge, eg_rectup, 0); - LV2_Atom_Forge_Frame rectup_frame; - lv2_atom_forge_tuple(&forge, &rectup_frame); - lv2_atom_forge_string(&forge, "foo", strlen("foo")); - lv2_atom_forge_bool(&forge, true); - LV2_Atom_Forge_Frame subrectup_frame; - lv2_atom_forge_tuple(&forge, &subrectup_frame); - lv2_atom_forge_string(&forge, "bar", strlen("bar")); - lv2_atom_forge_bool(&forge, false); - lv2_atom_forge_pop(&forge, &subrectup_frame); - lv2_atom_forge_pop(&forge, &rectup_frame); - - // eg_vector = (Vector)1,2,3,4 - lv2_atom_forge_property_head(&forge, eg_vector, 0); - int32_t elems[] = { 1, 2, 3, 4 }; - lv2_atom_forge_vector(&forge, 4, forge.Int, sizeof(int32_t), elems); - - // eg_seq = (Sequence)1, 2 - LV2_URID midi_midiEvent = map.map(map.handle, LV2_MIDI__MidiEvent); - lv2_atom_forge_property_head(&forge, eg_seq, 0); - LV2_Atom_Forge_Frame seq_frame; - lv2_atom_forge_sequence_head(&forge, &seq_frame, 0); - - const uint8_t ev1[3] = { 0x90, 0x1A, 0x1 }; - lv2_atom_forge_frame_time(&forge, 1); - lv2_atom_forge_atom(&forge, sizeof(ev1), midi_midiEvent); - lv2_atom_forge_raw(&forge, ev1, sizeof(ev1)); - lv2_atom_forge_pad(&forge, sizeof(ev1)); - - const uint8_t ev2[3] = { 0x90, 0x2B, 0x2 }; - lv2_atom_forge_frame_time(&forge, 3); - lv2_atom_forge_atom(&forge, sizeof(ev2), midi_midiEvent); - lv2_atom_forge_raw(&forge, ev2, sizeof(ev2)); - lv2_atom_forge_pad(&forge, sizeof(ev2)); - - lv2_atom_forge_pop(&forge, &seq_frame); - lv2_atom_forge_pop(&forge, &obj_frame); - - const char* base_uri = "file:///tmp/base/"; - - SerdNode s = serd_node_from_string(SERD_URI, USTR("http://example.org/obj")); - SerdNode p = serd_node_from_string(SERD_URI, USTR(NS_RDF "value")); - - SerdNode* subj = top_level ? NULL : &s; - SerdNode* pred = top_level ? NULL : &p; - - char* outstr = sratom_to_turtle( - sratom, &unmap, base_uri, subj, pred, - obj->type, obj->size, LV2_ATOM_BODY(obj)); - - printf("# Atom => Turtle\n\n%s", outstr); - - LV2_Atom* parsed = NULL; - if (top_level) { - SerdNode o= serd_node_from_string(SERD_URI, (const uint8_t*)obj_uri); - parsed = sratom_from_turtle(sratom, base_uri, &o, NULL, outstr); - } else { - parsed = sratom_from_turtle(sratom, base_uri, subj, pred, outstr); - } - if (!lv2_atom_equals(obj, parsed)) { - return test_fail("Parsed atom does not match original\n"); - } - - char* instr = sratom_to_turtle( - sratom, &unmap, base_uri, subj, pred, - parsed->type, parsed->size, LV2_ATOM_BODY(parsed)); - printf("# Turtle => Atom\n\n%s", instr); - - if (strcmp(outstr, instr)) { - return test_fail("Re-serialised string differs from original\n"); - } - - printf("All tests passed.\n"); - - free(parsed); - free(instr); - free(outstr); - sratom_free(sratom); - for (uint32_t i = 0; i < n_uris; ++i) { - free(uris[i]); - } - - free(uris); - uris = NULL; - n_uris = 0; - - return 0; -} - -int -main(void) -{ - if (test(false)) { - return 1; - } else if (test(true)) { - return 1; - } - return 0; -} diff --git a/source/modules/lilv/sratom-0.4.2/waf b/source/modules/lilv/sratom-0.4.2/waf deleted file mode 100755 index 53731d29fc11b76bdae6386f57f733c2f27f1d52..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 83049 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 diff --git a/source/modules/lilv/sratom-0.4.2/wscript b/source/modules/lilv/sratom-0.4.2/wscript deleted file mode 100644 index e505e0143..000000000 --- a/source/modules/lilv/sratom-0.4.2/wscript +++ /dev/null @@ -1,163 +0,0 @@ -#!/usr/bin/env python -import os -import subprocess -import waflib.Options as Options -import waflib.extras.autowaf as autowaf - -# Library and package version (UNIX style major, minor, micro) -# major increment <=> incompatible changes -# minor increment <=> compatible changes (additions) -# micro increment <=> no interface changes -SRATOM_VERSION = '0.4.2' -SRATOM_MAJOR_VERSION = '0' - -# Mandatory waf variables -APPNAME = 'sratom' # Package name for waf dist -VERSION = SRATOM_VERSION # Package version for waf dist -top = '.' # Source directory -out = 'build' # Build directory - -def options(opt): - opt.load('compiler_c') - autowaf.set_options(opt) - opt.add_option('--test', action='store_true', dest='build_tests', - help="Build unit tests") - opt.add_option('--static', action='store_true', dest='static', - help="Build static library") - opt.add_option('--no-shared', action='store_true', dest='no_shared', - help='Do not build shared library') - -def configure(conf): - conf.load('compiler_c') - autowaf.configure(conf) - autowaf.set_c99_mode(conf) - autowaf.display_header('Sratom Configuration') - - conf.env.BUILD_TESTS = Options.options.build_tests - conf.env.BUILD_SHARED = not Options.options.no_shared - conf.env.BUILD_STATIC = Options.options.static - - if not conf.env.BUILD_SHARED and not conf.env.BUILD_STATIC: - conf.fatal('Neither a shared nor a static build requested') - - # Check for gcov library (for test coverage) - if conf.env.BUILD_TESTS: - conf.check_cc(lib='gcov', - define_name='HAVE_GCOV', - mandatory=False) - - autowaf.check_pkg(conf, 'lv2', uselib_store='LV2', - atleast_version='1.0.0', mandatory=True) - autowaf.check_pkg(conf, 'serd-0', uselib_store='SERD', - atleast_version='0.14.0', mandatory=True) - autowaf.check_pkg(conf, 'sord-0', uselib_store='SORD', - atleast_version='0.12.0', mandatory=True) - - autowaf.define(conf, 'SRATOM_VERSION', SRATOM_VERSION) - autowaf.set_lib_env(conf, 'sratom', SRATOM_VERSION) - conf.write_config_header('sratom_config.h', remove=False) - - autowaf.display_msg(conf, "Unit tests", str(conf.env.BUILD_TESTS)) - print('') - -lib_source = ['src/sratom.c'] - -def build(bld): - # C Headers - includedir = '${INCLUDEDIR}/sratom-%s/sratom' % SRATOM_MAJOR_VERSION - bld.install_files(includedir, bld.path.ant_glob('sratom/*.h')) - - # Pkgconfig file - autowaf.build_pc(bld, 'SRATOM', SRATOM_VERSION, SRATOM_MAJOR_VERSION, - ['SERD', 'SORD', 'LV2'], - {'SRATOM_MAJOR_VERSION' : SRATOM_MAJOR_VERSION}) - - libflags = ['-fvisibility=hidden'] - libs = ['m'] - defines = [] - if bld.env.MSVC_COMPILER: - libflags = [] - libs = [] - defines = ['snprintf=_snprintf'] - - # Shared Library - if bld.env.BUILD_SHARED: - obj = bld(features = 'c cshlib', - export_includes = ['.'], - source = lib_source, - includes = ['.', './src'], - lib = libs, - name = 'libsratom', - target = 'sratom-%s' % SRATOM_MAJOR_VERSION, - vnum = SRATOM_VERSION, - install_path = '${LIBDIR}', - defines = defines + ['SRATOM_SHARED', 'SRATOM_INTERNAL'], - cflags = libflags) - autowaf.use_lib(bld, obj, 'SERD SORD LV2') - - # Static library - if bld.env.BUILD_STATIC: - obj = bld(features = 'c cstlib', - export_includes = ['.'], - source = lib_source, - includes = ['.', './src'], - lib = libs, - name = 'libsratom_static', - target = 'sratom-%s' % SRATOM_MAJOR_VERSION, - vnum = SRATOM_VERSION, - install_path = '${LIBDIR}', - defines = defines + ['SRATOM_INTERNAL']) - autowaf.use_lib(bld, obj, 'SERD SORD LV2') - - if bld.env.BUILD_TESTS: - test_libs = libs - test_cflags = [''] - if bld.is_defined('HAVE_GCOV'): - test_libs += ['gcov'] - test_cflags += ['-fprofile-arcs', '-ftest-coverage'] - - # Static library (for unit test code coverage) - obj = bld(features = 'c cstlib', - source = lib_source, - includes = ['.', './src'], - lib = test_libs, - name = 'libsratom_profiled', - target = 'sratom_profiled', - install_path = '', - defines = defines + ['SRATOM_INTERNAL'], - cflags = test_cflags) - autowaf.use_lib(bld, obj, 'SERD SORD LV2') - - # Unit test program - obj = bld(features = 'c cprogram', - source = 'tests/sratom_test.c', - includes = ['.', './src'], - use = 'libsratom_profiled', - lib = test_libs, - target = 'sratom_test', - install_path = '', - defines = defines, - cflags = test_cflags) - - # Documentation - autowaf.build_dox(bld, 'SRATOM', SRATOM_VERSION, top, out) - - bld.add_post_fun(autowaf.run_ldconfig) - if bld.env.DOCS: - bld.add_post_fun(fix_docs) - -def test(ctx): - autowaf.pre_test(ctx, APPNAME) - os.environ['PATH'] = '.' + os.pathsep + os.getenv('PATH') - autowaf.run_tests(ctx, APPNAME, ['sratom_test'], dirs=['./src','./tests']) - autowaf.post_test(ctx, APPNAME) - -def lint(ctx): - subprocess.call('cpplint.py --filter=+whitespace/comments,-whitespace/tab,-whitespace/braces,-whitespace/labels,-build/header_guard,-readability/casting,-readability/todo,-build/include src/* sratom/*', shell=True) - -def fix_docs(ctx): - if ctx.cmd == 'build': - autowaf.make_simple_dox(APPNAME) - -def upload_docs(ctx): - os.system("rsync -ravz --delete -e ssh build/doc/html/ drobilla@drobilla.net:~/drobilla.net/docs/sratom/") diff --git a/source/modules/rtaudio/Makefile.in b/source/modules/rtaudio/Makefile.in deleted file mode 100644 index 41685e5ff..000000000 --- a/source/modules/rtaudio/Makefile.in +++ /dev/null @@ -1,56 +0,0 @@ -### Do not edit -- Generated by 'configure --with-whatever' from Makefile.in -### RtAudio library Makefile - -RM = /bin/rm -LN = /bin/ln - -OBJECTS = RtAudio.o @objects@ - -STATIC = librtaudio.a -SHARED = @sharedlib@ -RELEASE = 4.0.12 -MAJOR = 4 -LIBRARIES = $(STATIC) $(SHARED) - -CC = @CXX@ -AR = @AR@ -RANLIB = @RANLIB@ - -DEFS = @CPPFLAGS@ -CFLAGS = @CXXFLAGS@ -Iinclude -fPIC - -all : $(LIBRARIES) - -tests: - cd tests && $(MAKE) all - -$(LIBRARIES): $(OBJECTS) - $(AR) ruv $(STATIC) $(OBJECTS) - ranlib $(STATIC) - $(CC) -fPIC @libflags@ $(OBJECTS) @LIBS@ - $(LN) -sf @sharedname@ $(SHARED) - $(LN) -sf @sharedname@ $(SHARED).$(MAJOR) - -%.o : %.cpp - $(CC) $(CFLAGS) $(DEFS) -c $(<) -o $@ - -%.o : include/%.cpp - $(CC) $(CFLAGS) $(DEFS) -c $(<) -o $@ - -clean : - $(RM) -f $(LIBRARIES) @sharedname@ $(SHARED)* - $(RM) -f $(OBJECTS) - $(RM) -f *~ - cd tests && $(MAKE) clean - -distclean: - $(RM) -f $(LIBRARIES) @sharedname@ $(SHARED)* - $(RM) -f $(OBJECTS) - $(RM) -f *~ - $(RM) -rf config.log config.status autom4te.cache Makefile rtaudio-config librtaudio.pc - cd tests && $(MAKE) distclean - -strip : - strip $(LIBRARIES) - ranlib $(LIBRARIES) - cd tests && $(MAKE) strip diff --git a/source/modules/rtaudio/config/config.guess b/source/modules/rtaudio/config/config.guess deleted file mode 100644 index 313be34be..000000000 --- a/source/modules/rtaudio/config/config.guess +++ /dev/null @@ -1,1371 +0,0 @@ -#! /bin/sh -# Attempt to guess a canonical system name. -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 -# Free Software Foundation, Inc. - -timestamp='2004-02-26' - -# This file 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. -# -# 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. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# Written by Per Bothner . -# Please send patches to . -# -# This script attempts to guess a canonical system name similar to -# config.sub. If it succeeds, it prints the system name on stdout, and -# exits with 0. Otherwise, it exits with 1. -# -# The plan is that this can be called by configure scripts if you -# don't specify an explicit build system type. - -me=`echo "$0" | sed -e 's,.*/,,'` - -usage="\ -Usage: $0 [OPTION] - -Output the configuration name of the system \`$me' is run on. - -Operation modes: - -h, --help print this help, then exit - -t, --time-stamp print date of last modification, then exit - -v, --version print version number, then exit - -Report bugs and patches to ." - -version="\ -GNU config.guess ($timestamp) - -Originally written by Per Bothner. -Copyright (C) 1992, 93, 94, 95, 96, 97, 98, 99, 2000 -Free Software Foundation, Inc. - -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." - -help=" -Try \`$me --help' for more information." - -# Parse command line -while test $# -gt 0 ; do - case $1 in - --time-stamp | --time* | -t ) - echo "$timestamp" ; exit 0 ;; - --version | -v ) - echo "$version" ; exit 0 ;; - --help | --h* | -h ) - echo "$usage"; exit 0 ;; - -- ) # Stop option processing - shift; break ;; - - ) # Use stdin as input. - break ;; - -* ) - echo "$me: invalid option $1$help" >&2 - exit 1 ;; - * ) - break ;; - esac -done - -if test $# != 0; then - echo "$me: too many arguments$help" >&2 - exit 1 -fi - - -dummy=dummy-$$ -trap 'rm -f $dummy.c $dummy.o $dummy.rel $dummy; exit 1' 1 2 15 - -# CC_FOR_BUILD -- compiler used by this script. -# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still -# use `HOST_CC' if defined, but it is deprecated. - -case $CC_FOR_BUILD,$HOST_CC,$CC in - ,,) echo "int dummy(){}" > $dummy.c - for c in cc gcc c89 ; do - ($c $dummy.c -c -o $dummy.o) >/dev/null 2>&1 - if test $? = 0 ; then - CC_FOR_BUILD="$c"; break - fi - done - rm -f $dummy.c $dummy.o $dummy.rel - if test x"$CC_FOR_BUILD" = x ; then - CC_FOR_BUILD=no_compiler_found - fi - ;; - ,,*) CC_FOR_BUILD=$CC ;; - ,*,*) CC_FOR_BUILD=$HOST_CC ;; -esac - -# This is needed to find uname on a Pyramid OSx when run in the BSD universe. -# (ghazi@noc.rutgers.edu 8/24/94.) -if (test -f /.attbin/uname) >/dev/null 2>&1 ; then - PATH=$PATH:/.attbin ; export PATH -fi - -UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown -UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown -UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown -UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown - -# Note: order is significant - the case branches are not exclusive. - -case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in - *:NetBSD:*:*) - # Netbsd (nbsd) targets should (where applicable) match one or - # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, - # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently - # switched to ELF, *-*-netbsd* would select the old - # object file format. This provides both forward - # compatibility and a consistent mechanism for selecting the - # object file format. - # Determine the machine/vendor (is the vendor relevant). - case "${UNAME_MACHINE}" in - amiga) machine=m68k-unknown ;; - arm32) machine=arm-unknown ;; - atari*) machine=m68k-atari ;; - sun3*) machine=m68k-sun ;; - mac68k) machine=m68k-apple ;; - macppc) machine=powerpc-apple ;; - hp3[0-9][05]) machine=m68k-hp ;; - ibmrt|romp-ibm) machine=romp-ibm ;; - *) machine=${UNAME_MACHINE}-unknown ;; - esac - # The Operating System including object format, if it has switched - # to ELF recently, or will in the future. - case "${UNAME_MACHINE}" in - i386|sparc|amiga|arm*|hp300|mvme68k|vax|atari|luna68k|mac68k|news68k|next68k|pc532|sun3*|x68k) - if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep __ELF__ >/dev/null - then - # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). - # Return netbsd for either. FIX? - os=netbsd - else - os=netbsdelf - fi - ;; - *) - os=netbsd - ;; - esac - # The OS release - release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` - # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: - # contains redundant information, the shorter form: - # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. - echo "${machine}-${os}${release}" - exit 0 ;; - alpha:OSF1:*:*) - if test $UNAME_RELEASE = "V4.0"; then - UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` - fi - # A Vn.n version is a released version. - # A Tn.n version is a released field test version. - # A Xn.n version is an unreleased experimental baselevel. - # 1.2 uses "1.2" for uname -r. - cat <$dummy.s - .data -\$Lformat: - .byte 37,100,45,37,120,10,0 # "%d-%x\n" - - .text - .globl main - .align 4 - .ent main -main: - .frame \$30,16,\$26,0 - ldgp \$29,0(\$27) - .prologue 1 - .long 0x47e03d80 # implver \$0 - lda \$2,-1 - .long 0x47e20c21 # amask \$2,\$1 - lda \$16,\$Lformat - mov \$0,\$17 - not \$1,\$18 - jsr \$26,printf - ldgp \$29,0(\$26) - mov 0,\$16 - jsr \$26,exit - .end main -EOF - $CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null - if test "$?" = 0 ; then - case `./$dummy` in - 0-0) - UNAME_MACHINE="alpha" - ;; - 1-0) - UNAME_MACHINE="alphaev5" - ;; - 1-1) - UNAME_MACHINE="alphaev56" - ;; - 1-101) - UNAME_MACHINE="alphapca56" - ;; - 2-303) - UNAME_MACHINE="alphaev6" - ;; - 2-307) - UNAME_MACHINE="alphaev67" - ;; - esac - fi - rm -f $dummy.s $dummy - echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` - exit 0 ;; - Alpha\ *:Windows_NT*:*) - # How do we know it's Interix rather than the generic POSIX subsystem? - # Should we change UNAME_MACHINE based on the output of uname instead - # of the specific Alpha model? - echo alpha-pc-interix - exit 0 ;; - 21064:Windows_NT:50:3) - echo alpha-dec-winnt3.5 - exit 0 ;; - Amiga*:UNIX_System_V:4.0:*) - echo m68k-unknown-sysv4 - exit 0;; - amiga:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - *:[Aa]miga[Oo][Ss]:*:*) - echo ${UNAME_MACHINE}-unknown-amigaos - exit 0 ;; - arc64:OpenBSD:*:*) - echo mips64el-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - arc:OpenBSD:*:*) - echo mipsel-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - hkmips:OpenBSD:*:*) - echo mips-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - pmax:OpenBSD:*:*) - echo mipsel-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - sgi:OpenBSD:*:*) - echo mips-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - wgrisc:OpenBSD:*:*) - echo mipsel-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - *:OS/390:*:*) - echo i370-ibm-openedition - exit 0 ;; - arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) - echo arm-acorn-riscix${UNAME_RELEASE} - exit 0;; - SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) - echo hppa1.1-hitachi-hiuxmpp - exit 0;; - Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) - # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. - if test "`(/bin/universe) 2>/dev/null`" = att ; then - echo pyramid-pyramid-sysv3 - else - echo pyramid-pyramid-bsd - fi - exit 0 ;; - NILE*:*:*:dcosx) - echo pyramid-pyramid-svr4 - exit 0 ;; - sun4H:SunOS:5.*:*) - echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit 0 ;; - sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) - echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit 0 ;; - i86pc:SunOS:5.*:*) - echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit 0 ;; - sun4*:SunOS:6*:*) - # According to config.sub, this is the proper way to canonicalize - # SunOS6. Hard to guess exactly what SunOS6 will be like, but - # it's likely to be more like Solaris than SunOS4. - echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit 0 ;; - sun4*:SunOS:*:*) - case "`/usr/bin/arch -k`" in - Series*|S4*) - UNAME_RELEASE=`uname -v` - ;; - esac - # Japanese Language versions have a version number like `4.1.3-JL'. - echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` - exit 0 ;; - sun3*:SunOS:*:*) - echo m68k-sun-sunos${UNAME_RELEASE} - exit 0 ;; - sun*:*:4.2BSD:*) - UNAME_RELEASE=`(head -1 /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` - test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 - case "`/bin/arch`" in - sun3) - echo m68k-sun-sunos${UNAME_RELEASE} - ;; - sun4) - echo sparc-sun-sunos${UNAME_RELEASE} - ;; - esac - exit 0 ;; - aushp:SunOS:*:*) - echo sparc-auspex-sunos${UNAME_RELEASE} - exit 0 ;; - atari*:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - # The situation for MiNT is a little confusing. The machine name - # can be virtually everything (everything which is not - # "atarist" or "atariste" at least should have a processor - # > m68000). The system name ranges from "MiNT" over "FreeMiNT" - # to the lowercase version "mint" (or "freemint"). Finally - # the system name "TOS" denotes a system which is actually not - # MiNT. But MiNT is downward compatible to TOS, so this should - # be no problem. - atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit 0 ;; - atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit 0 ;; - *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit 0 ;; - milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) - echo m68k-milan-mint${UNAME_RELEASE} - exit 0 ;; - hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) - echo m68k-hades-mint${UNAME_RELEASE} - exit 0 ;; - *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) - echo m68k-unknown-mint${UNAME_RELEASE} - exit 0 ;; - sun3*:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - mac68k:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - mvme68k:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - mvme88k:OpenBSD:*:*) - echo m88k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - powerpc:machten:*:*) - echo powerpc-apple-machten${UNAME_RELEASE} - exit 0 ;; - RISC*:Mach:*:*) - echo mips-dec-mach_bsd4.3 - exit 0 ;; - RISC*:ULTRIX:*:*) - echo mips-dec-ultrix${UNAME_RELEASE} - exit 0 ;; - VAX*:ULTRIX*:*:*) - echo vax-dec-ultrix${UNAME_RELEASE} - exit 0 ;; - 2020:CLIX:*:* | 2430:CLIX:*:*) - echo clipper-intergraph-clix${UNAME_RELEASE} - exit 0 ;; - mips:*:*:UMIPS | mips:*:*:RISCos) - sed 's/^ //' << EOF >$dummy.c -#ifdef __cplusplus -#include /* for printf() prototype */ - int main (int argc, char *argv[]) { -#else - int main (argc, argv) int argc; char *argv[]; { -#endif - #if defined (host_mips) && defined (MIPSEB) - #if defined (SYSTYPE_SYSV) - printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); - #endif - #if defined (SYSTYPE_SVR4) - printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); - #endif - #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) - printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); - #endif - #endif - exit (-1); - } -EOF - $CC_FOR_BUILD $dummy.c -o $dummy \ - && ./$dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \ - && rm -f $dummy.c $dummy && exit 0 - rm -f $dummy.c $dummy - echo mips-mips-riscos${UNAME_RELEASE} - exit 0 ;; - Motorola:PowerMAX_OS:*:*) - echo powerpc-motorola-powermax - exit 0 ;; - Night_Hawk:Power_UNIX:*:*) - echo powerpc-harris-powerunix - exit 0 ;; - m88k:CX/UX:7*:*) - echo m88k-harris-cxux7 - exit 0 ;; - m88k:*:4*:R4*) - echo m88k-motorola-sysv4 - exit 0 ;; - m88k:*:3*:R3*) - echo m88k-motorola-sysv3 - exit 0 ;; - AViiON:dgux:*:*) - # DG/UX returns AViiON for all architectures - UNAME_PROCESSOR=`/usr/bin/uname -p` - if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] - then - if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ - [ ${TARGET_BINARY_INTERFACE}x = x ] - then - echo m88k-dg-dgux${UNAME_RELEASE} - else - echo m88k-dg-dguxbcs${UNAME_RELEASE} - fi - else - echo i586-dg-dgux${UNAME_RELEASE} - fi - exit 0 ;; - M88*:DolphinOS:*:*) # DolphinOS (SVR3) - echo m88k-dolphin-sysv3 - exit 0 ;; - M88*:*:R3*:*) - # Delta 88k system running SVR3 - echo m88k-motorola-sysv3 - exit 0 ;; - XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) - echo m88k-tektronix-sysv3 - exit 0 ;; - Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) - echo m68k-tektronix-bsd - exit 0 ;; - *:IRIX*:*:*) - echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` - exit 0 ;; - ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. - echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id - exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX ' - i*86:AIX:*:*) - echo i386-ibm-aix - exit 0 ;; - ia64:AIX:*:*) - if [ -x /usr/bin/oslevel ] ; then - IBM_REV=`/usr/bin/oslevel` - else - IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} - fi - echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} - exit 0 ;; - *:AIX:2:3) - if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then - sed 's/^ //' << EOF >$dummy.c - #include - - main() - { - if (!__power_pc()) - exit(1); - puts("powerpc-ibm-aix3.2.5"); - exit(0); - } -EOF - $CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0 - rm -f $dummy.c $dummy - echo rs6000-ibm-aix3.2.5 - elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then - echo rs6000-ibm-aix3.2.4 - else - echo rs6000-ibm-aix3.2 - fi - exit 0 ;; - *:AIX:*:[45]) - IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | head -1 | awk '{ print $1 }'` - if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then - IBM_ARCH=rs6000 - else - IBM_ARCH=powerpc - fi - if [ -x /usr/bin/oslevel ] ; then - IBM_REV=`/usr/bin/oslevel` - else - IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} - fi - echo ${IBM_ARCH}-ibm-aix${IBM_REV} - exit 0 ;; - *:AIX:*:*) - echo rs6000-ibm-aix - exit 0 ;; - ibmrt:4.4BSD:*|romp-ibm:BSD:*) - echo romp-ibm-bsd4.4 - exit 0 ;; - ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and - echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to - exit 0 ;; # report: romp-ibm BSD 4.3 - *:BOSX:*:*) - echo rs6000-bull-bosx - exit 0 ;; - DPX/2?00:B.O.S.:*:*) - echo m68k-bull-sysv3 - exit 0 ;; - 9000/[34]??:4.3bsd:1.*:*) - echo m68k-hp-bsd - exit 0 ;; - hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) - echo m68k-hp-bsd4.4 - exit 0 ;; - 9000/[34678]??:HP-UX:*:*) - HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` - case "${UNAME_MACHINE}" in - 9000/31? ) HP_ARCH=m68000 ;; - 9000/[34]?? ) HP_ARCH=m68k ;; - 9000/[678][0-9][0-9]) - case "${HPUX_REV}" in - 11.[0-9][0-9]) - if [ -x /usr/bin/getconf ]; then - sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` - sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` - case "${sc_cpu_version}" in - 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 - 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 - 532) # CPU_PA_RISC2_0 - case "${sc_kernel_bits}" in - 32) HP_ARCH="hppa2.0n" ;; - 64) HP_ARCH="hppa2.0w" ;; - esac ;; - esac - fi ;; - esac - if [ "${HP_ARCH}" = "" ]; then - sed 's/^ //' << EOF >$dummy.c - - #define _HPUX_SOURCE - #include - #include - - int main () - { - #if defined(_SC_KERNEL_BITS) - long bits = sysconf(_SC_KERNEL_BITS); - #endif - long cpu = sysconf (_SC_CPU_VERSION); - - switch (cpu) - { - case CPU_PA_RISC1_0: puts ("hppa1.0"); break; - case CPU_PA_RISC1_1: puts ("hppa1.1"); break; - case CPU_PA_RISC2_0: - #if defined(_SC_KERNEL_BITS) - switch (bits) - { - case 64: puts ("hppa2.0w"); break; - case 32: puts ("hppa2.0n"); break; - default: puts ("hppa2.0"); break; - } break; - #else /* !defined(_SC_KERNEL_BITS) */ - puts ("hppa2.0"); break; - #endif - default: puts ("hppa1.0"); break; - } - exit (0); - } -EOF - (CCOPTS= $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null ) && HP_ARCH=`./$dummy` - if test -z "$HP_ARCH"; then HP_ARCH=hppa; fi - rm -f $dummy.c $dummy - fi ;; - esac - echo ${HP_ARCH}-hp-hpux${HPUX_REV} - exit 0 ;; - ia64:HP-UX:*:*) - HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` - echo ia64-hp-hpux${HPUX_REV} - exit 0 ;; - 3050*:HI-UX:*:*) - sed 's/^ //' << EOF >$dummy.c - #include - int - main () - { - long cpu = sysconf (_SC_CPU_VERSION); - /* The order matters, because CPU_IS_HP_MC68K erroneously returns - true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct - results, however. */ - if (CPU_IS_PA_RISC (cpu)) - { - switch (cpu) - { - case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; - case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; - case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; - default: puts ("hppa-hitachi-hiuxwe2"); break; - } - } - else if (CPU_IS_HP_MC68K (cpu)) - puts ("m68k-hitachi-hiuxwe2"); - else puts ("unknown-hitachi-hiuxwe2"); - exit (0); - } -EOF - $CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0 - rm -f $dummy.c $dummy - echo unknown-hitachi-hiuxwe2 - exit 0 ;; - 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) - echo hppa1.1-hp-bsd - exit 0 ;; - 9000/8??:4.3bsd:*:*) - echo hppa1.0-hp-bsd - exit 0 ;; - *9??*:MPE/iX:*:*) - echo hppa1.0-hp-mpeix - exit 0 ;; - hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) - echo hppa1.1-hp-osf - exit 0 ;; - hp8??:OSF1:*:*) - echo hppa1.0-hp-osf - exit 0 ;; - i*86:OSF1:*:*) - if [ -x /usr/sbin/sysversion ] ; then - echo ${UNAME_MACHINE}-unknown-osf1mk - else - echo ${UNAME_MACHINE}-unknown-osf1 - fi - exit 0 ;; - parisc*:Lites*:*:*) - echo hppa1.1-hp-lites - exit 0 ;; - hppa*:OpenBSD:*:*) - echo hppa-unknown-openbsd - exit 0 ;; - C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) - echo c1-convex-bsd - exit 0 ;; - C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) - if getsysinfo -f scalar_acc - then echo c32-convex-bsd - else echo c2-convex-bsd - fi - exit 0 ;; - C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) - echo c34-convex-bsd - exit 0 ;; - C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) - echo c38-convex-bsd - exit 0 ;; - C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) - echo c4-convex-bsd - exit 0 ;; - CRAY*X-MP:*:*:*) - echo xmp-cray-unicos - exit 0 ;; - CRAY*Y-MP:*:*:*) - echo ymp-cray-unicos${UNAME_RELEASE} - exit 0 ;; - CRAY*[A-Z]90:*:*:*) - echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ - | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ - -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ - exit 0 ;; - CRAY*TS:*:*:*) - echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit 0 ;; - CRAY*T3D:*:*:*) - echo alpha-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit 0 ;; - CRAY*T3E:*:*:*) - echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit 0 ;; - CRAY*SV1:*:*:*) - echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit 0 ;; - CRAY-2:*:*:*) - echo cray2-cray-unicos - exit 0 ;; - F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) - FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` - FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` - FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` - echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" - exit 0 ;; - hp300:OpenBSD:*:*) - echo m68k-unknown-openbsd${UNAME_RELEASE} - exit 0 ;; - i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) - echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} - exit 0 ;; - sparc*:BSD/OS:*:*) - echo sparc-unknown-bsdi${UNAME_RELEASE} - exit 0 ;; - *:BSD/OS:*:*) - echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} - exit 0 ;; - *:FreeBSD:*:*) - echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` - exit 0 ;; - *:OpenBSD:*:*) - echo ${UNAME_MACHINE}-unknown-openbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` - exit 0 ;; - i*:CYGWIN*:*) - echo ${UNAME_MACHINE}-pc-cygwin - exit 0 ;; - i*:MINGW*:*) - echo ${UNAME_MACHINE}-pc-mingw32 - exit 0 ;; - i*:PW*:*) - echo ${UNAME_MACHINE}-pc-pw32 - exit 0 ;; - i*:Windows_NT*:* | Pentium*:Windows_NT*:*) - # How do we know it's Interix rather than the generic POSIX subsystem? - # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we - # UNAME_MACHINE based on the output of uname instead of i386? - echo i386-pc-interix - exit 0 ;; - i*:UWIN*:*) - echo ${UNAME_MACHINE}-pc-uwin - exit 0 ;; - p*:CYGWIN*:*) - echo powerpcle-unknown-cygwin - exit 0 ;; - prep*:SunOS:5.*:*) - echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit 0 ;; - *:GNU:*:*) - echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` - exit 0 ;; - i*86:Minix:*:*) - echo ${UNAME_MACHINE}-pc-minix - exit 0 ;; - arm*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit 0 ;; - ia64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux - exit 0 ;; - m68*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit 0 ;; - mips:Linux:*:*) - cat >$dummy.c < /* for printf() prototype */ -int main (int argc, char *argv[]) { -#else -int main (argc, argv) int argc; char *argv[]; { -#endif -#ifdef __MIPSEB__ - printf ("%s-unknown-linux-gnu\n", argv[1]); -#endif -#ifdef __MIPSEL__ - printf ("%sel-unknown-linux-gnu\n", argv[1]); -#endif - return 0; -} -EOF - $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm -f $dummy.c $dummy && exit 0 - rm -f $dummy.c $dummy - ;; - ppc:Linux:*:*) - # Determine Lib Version - cat >$dummy.c < -#if defined(__GLIBC__) -extern char __libc_version[]; -extern char __libc_release[]; -#endif -main(argc, argv) - int argc; - char *argv[]; -{ -#if defined(__GLIBC__) - printf("%s %s\n", __libc_version, __libc_release); -#else - printf("unknown\n"); -#endif - return 0; -} -EOF - LIBC="" - $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null - if test "$?" = 0 ; then - ./$dummy | grep 1\.99 > /dev/null - if test "$?" = 0 ; then LIBC="libc1" ; fi - fi - rm -f $dummy.c $dummy - echo powerpc-unknown-linux-gnu${LIBC} - exit 0 ;; - alpha:Linux:*:*) - cat <$dummy.s - .data - \$Lformat: - .byte 37,100,45,37,120,10,0 # "%d-%x\n" - .text - .globl main - .align 4 - .ent main - main: - .frame \$30,16,\$26,0 - ldgp \$29,0(\$27) - .prologue 1 - .long 0x47e03d80 # implver \$0 - lda \$2,-1 - .long 0x47e20c21 # amask \$2,\$1 - lda \$16,\$Lformat - mov \$0,\$17 - not \$1,\$18 - jsr \$26,printf - ldgp \$29,0(\$26) - mov 0,\$16 - jsr \$26,exit - .end main -EOF - LIBC="" - $CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null - if test "$?" = 0 ; then - case `./$dummy` in - 0-0) UNAME_MACHINE="alpha" ;; - 1-0) UNAME_MACHINE="alphaev5" ;; - 1-1) UNAME_MACHINE="alphaev56" ;; - 1-101) UNAME_MACHINE="alphapca56" ;; - 2-303) UNAME_MACHINE="alphaev6" ;; - 2-307) UNAME_MACHINE="alphaev67" ;; - esac - objdump --private-headers $dummy | \ - grep ld.so.1 > /dev/null - if test "$?" = 0 ; then - LIBC="libc1" - fi - fi - rm -f $dummy.s $dummy - echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} - exit 0 ;; - parisc:Linux:*:* | hppa:Linux:*:*) - # Look for CPU level - case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in - PA7*) echo hppa1.1-unknown-linux-gnu ;; - PA8*) echo hppa2.0-unknown-linux-gnu ;; - *) echo hppa-unknown-linux-gnu ;; - esac - exit 0 ;; - parisc64:Linux:*:* | hppa64:Linux:*:*) - echo hppa64-unknown-linux-gnu - exit 0 ;; - s390:Linux:*:* | s390x:Linux:*:*) - echo ${UNAME_MACHINE}-ibm-linux - exit 0 ;; - sh*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit 0 ;; - sparc:Linux:*:* | sparc64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu - exit 0 ;; - x86_64:Linux:*:*) - echo x86_64-unknown-linux-gnu - exit 0 ;; - i*86:Linux:*:*) - # The BFD linker knows what the default object file format is, so - # first see if it will tell us. cd to the root directory to prevent - # problems with other programs or directories called `ld' in the path. - ld_supported_emulations=`cd /; ld --help 2>&1 \ - | sed -ne '/supported emulations:/!d - s/[ ][ ]*/ /g - s/.*supported emulations: *// - s/ .*// - p'` - case "$ld_supported_emulations" in - i*86linux) - echo "${UNAME_MACHINE}-pc-linux-gnuaout" - exit 0 - ;; - elf_i*86) - TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" - ;; - i*86coff) - echo "${UNAME_MACHINE}-pc-linux-gnucoff" - exit 0 - ;; - esac - # Either a pre-BFD a.out linker (linux-gnuoldld) - # or one that does not give us useful --help. - # GCC wants to distinguish between linux-gnuoldld and linux-gnuaout. - # If ld does not provide *any* "supported emulations:" - # that means it is gnuoldld. - test -z "$ld_supported_emulations" && echo "${UNAME_MACHINE}-pc-linux-gnuoldld" && exit 0 - case "${UNAME_MACHINE}" in - i*86) - VENDOR=pc; - ;; - *) - VENDOR=unknown; - ;; - esac - # Determine whether the default compiler is a.out or elf - cat >$dummy.c < -#ifdef __cplusplus -#include /* for printf() prototype */ - int main (int argc, char *argv[]) { -#else - int main (argc, argv) int argc; char *argv[]; { -#endif -#ifdef __ELF__ -# ifdef __GLIBC__ -# if __GLIBC__ >= 2 - printf ("%s-${VENDOR}-linux-gnu\n", argv[1]); -# else - printf ("%s-${VENDOR}-linux-gnulibc1\n", argv[1]); -# endif -# else - printf ("%s-${VENDOR}-linux-gnulibc1\n", argv[1]); -# endif -#else - printf ("%s-${VENDOR}-linux-gnuaout\n", argv[1]); -#endif - return 0; -} -EOF - $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy "${UNAME_MACHINE}" && rm -f $dummy.c $dummy && exit 0 - rm -f $dummy.c $dummy - test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0 - ;; -# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. earlier versions -# are messed up and put the nodename in both sysname and nodename. - i*86:DYNIX/ptx:4*:*) - echo i386-sequent-sysv4 - exit 0 ;; - i*86:UNIX_SV:4.2MP:2.*) - # Unixware is an offshoot of SVR4, but it has its own version - # number series starting with 2... - # I am not positive that other SVR4 systems won't match this, - # I just have to hope. -- rms. - # Use sysv4.2uw... so that sysv4* matches it. - echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} - exit 0 ;; - i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) - UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` - if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then - echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} - else - echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} - fi - exit 0 ;; - i*86:*:5:7*) - # Fixed at (any) Pentium or better - UNAME_MACHINE=i586 - if [ ${UNAME_SYSTEM} = "UnixWare" ] ; then - echo ${UNAME_MACHINE}-sco-sysv${UNAME_RELEASE}uw${UNAME_VERSION} - else - echo ${UNAME_MACHINE}-pc-sysv${UNAME_RELEASE} - fi - exit 0 ;; - i*86:*:3.2:*) - if test -f /usr/options/cb.name; then - UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then - UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')` - (/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486 - (/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \ - && UNAME_MACHINE=i586 - (/bin/uname -X|egrep '^Machine.*Pent ?II' >/dev/null) \ - && UNAME_MACHINE=i686 - (/bin/uname -X|egrep '^Machine.*Pentium Pro' >/dev/null) \ - && UNAME_MACHINE=i686 - echo ${UNAME_MACHINE}-pc-sco$UNAME_REL - else - echo ${UNAME_MACHINE}-pc-sysv32 - fi - exit 0 ;; - i*86:*DOS:*:*) - echo ${UNAME_MACHINE}-pc-msdosdjgpp - exit 0 ;; - pc:*:*:*) - # Left here for compatibility: - # uname -m prints for DJGPP always 'pc', but it prints nothing about - # the processor, so we play safe by assuming i386. - echo i386-pc-msdosdjgpp - exit 0 ;; - Intel:Mach:3*:*) - echo i386-pc-mach3 - exit 0 ;; - paragon:*:*:*) - echo i860-intel-osf1 - exit 0 ;; - i860:*:4.*:*) # i860-SVR4 - if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then - echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 - else # Add other i860-SVR4 vendors below as they are discovered. - echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 - fi - exit 0 ;; - mini*:CTIX:SYS*5:*) - # "miniframe" - echo m68010-convergent-sysv - exit 0 ;; - M68*:*:R3V[567]*:*) - test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;; - 3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 4850:*:4.0:3.0) - OS_REL='' - test -r /etc/.relid \ - && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && echo i486-ncr-sysv4.3${OS_REL} && exit 0 - /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ - && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;; - 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && echo i486-ncr-sysv4 && exit 0 ;; - m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) - echo m68k-unknown-lynxos${UNAME_RELEASE} - exit 0 ;; - mc68030:UNIX_System_V:4.*:*) - echo m68k-atari-sysv4 - exit 0 ;; - i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) - echo i386-unknown-lynxos${UNAME_RELEASE} - exit 0 ;; - TSUNAMI:LynxOS:2.*:*) - echo sparc-unknown-lynxos${UNAME_RELEASE} - exit 0 ;; - rs6000:LynxOS:2.*:*) - echo rs6000-unknown-lynxos${UNAME_RELEASE} - exit 0 ;; - PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) - echo powerpc-unknown-lynxos${UNAME_RELEASE} - exit 0 ;; - SM[BE]S:UNIX_SV:*:*) - echo mips-dde-sysv${UNAME_RELEASE} - exit 0 ;; - RM*:ReliantUNIX-*:*:*) - echo mips-sni-sysv4 - exit 0 ;; - RM*:SINIX-*:*:*) - echo mips-sni-sysv4 - exit 0 ;; - *:SINIX-*:*:*) - if uname -p 2>/dev/null >/dev/null ; then - UNAME_MACHINE=`(uname -p) 2>/dev/null` - echo ${UNAME_MACHINE}-sni-sysv4 - else - echo ns32k-sni-sysv - fi - exit 0 ;; - PENTIUM:CPunix:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort - # says - echo i586-unisys-sysv4 - exit 0 ;; - *:UNIX_System_V:4*:FTX*) - # From Gerald Hewes . - # How about differentiating between stratus architectures? -djm - echo hppa1.1-stratus-sysv4 - exit 0 ;; - *:*:*:FTX*) - # From seanf@swdc.stratus.com. - echo i860-stratus-sysv4 - exit 0 ;; - mc68*:A/UX:*:*) - echo m68k-apple-aux${UNAME_RELEASE} - exit 0 ;; - news*:NEWS-OS:6*:*) - echo mips-sony-newsos6 - exit 0 ;; - R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) - if [ -d /usr/nec ]; then - echo mips-nec-sysv${UNAME_RELEASE} - else - echo mips-unknown-sysv${UNAME_RELEASE} - fi - exit 0 ;; - BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. - echo powerpc-be-beos - exit 0 ;; - BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. - echo powerpc-apple-beos - exit 0 ;; - BePC:BeOS:*:*) # BeOS running on Intel PC compatible. - echo i586-pc-beos - exit 0 ;; - SX-4:SUPER-UX:*:*) - echo sx4-nec-superux${UNAME_RELEASE} - exit 0 ;; - SX-5:SUPER-UX:*:*) - echo sx5-nec-superux${UNAME_RELEASE} - exit 0 ;; - Power*:Rhapsody:*:*) - echo powerpc-apple-rhapsody${UNAME_RELEASE} - exit 0 ;; - *:Rhapsody:*:*) - echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} - exit 0 ;; - *:Darwin:*:*) - echo `uname -p`-apple-darwin${UNAME_RELEASE} - exit 0 ;; - *:procnto*:*:* | *:QNX:[0123456789]*:*) - if test "${UNAME_MACHINE}" = "x86pc"; then - UNAME_MACHINE=pc - fi - echo `uname -p`-${UNAME_MACHINE}-nto-qnx - exit 0 ;; - *:QNX:*:4*) - echo i386-pc-qnx - exit 0 ;; - NSR-[KW]:NONSTOP_KERNEL:*:*) - echo nsr-tandem-nsk${UNAME_RELEASE} - exit 0 ;; - *:NonStop-UX:*:*) - echo mips-compaq-nonstopux - exit 0 ;; - BS2000:POSIX*:*:*) - echo bs2000-siemens-sysv - exit 0 ;; - DS/*:UNIX_System_V:*:*) - echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} - exit 0 ;; - *:Plan9:*:*) - # "uname -m" is not consistent, so use $cputype instead. 386 - # is converted to i386 for consistency with other x86 - # operating systems. - if test "$cputype" = "386"; then - UNAME_MACHINE=i386 - else - UNAME_MACHINE="$cputype" - fi - echo ${UNAME_MACHINE}-unknown-plan9 - exit 0 ;; - i*86:OS/2:*:*) - # If we were able to find `uname', then EMX Unix compatibility - # is probably installed. - echo ${UNAME_MACHINE}-pc-os2-emx - exit 0 ;; - *:TOPS-10:*:*) - echo pdp10-unknown-tops10 - exit 0 ;; - *:TENEX:*:*) - echo pdp10-unknown-tenex - exit 0 ;; - KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) - echo pdp10-dec-tops20 - exit 0 ;; - XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) - echo pdp10-xkl-tops20 - exit 0 ;; - *:TOPS-20:*:*) - echo pdp10-unknown-tops20 - exit 0 ;; - *:ITS:*:*) - echo pdp10-unknown-its - exit 0 ;; -esac - -#echo '(No uname command or uname output not recognized.)' 1>&2 -#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 - -cat >$dummy.c < -# include -#endif -main () -{ -#if defined (sony) -#if defined (MIPSEB) - /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, - I don't know.... */ - printf ("mips-sony-bsd\n"); exit (0); -#else -#include - printf ("m68k-sony-newsos%s\n", -#ifdef NEWSOS4 - "4" -#else - "" -#endif - ); exit (0); -#endif -#endif - -#if defined (__arm) && defined (__acorn) && defined (__unix) - printf ("arm-acorn-riscix"); exit (0); -#endif - -#if defined (hp300) && !defined (hpux) - printf ("m68k-hp-bsd\n"); exit (0); -#endif - -#if defined (NeXT) -#if !defined (__ARCHITECTURE__) -#define __ARCHITECTURE__ "m68k" -#endif - int version; - version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; - if (version < 4) - printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); - else - printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); - exit (0); -#endif - -#if defined (MULTIMAX) || defined (n16) -#if defined (UMAXV) - printf ("ns32k-encore-sysv\n"); exit (0); -#else -#if defined (CMU) - printf ("ns32k-encore-mach\n"); exit (0); -#else - printf ("ns32k-encore-bsd\n"); exit (0); -#endif -#endif -#endif - -#if defined (__386BSD__) - printf ("i386-pc-bsd\n"); exit (0); -#endif - -#if defined (sequent) -#if defined (i386) - printf ("i386-sequent-dynix\n"); exit (0); -#endif -#if defined (ns32000) - printf ("ns32k-sequent-dynix\n"); exit (0); -#endif -#endif - -#if defined (_SEQUENT_) - struct utsname un; - - uname(&un); - - if (strncmp(un.version, "V2", 2) == 0) { - printf ("i386-sequent-ptx2\n"); exit (0); - } - if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ - printf ("i386-sequent-ptx1\n"); exit (0); - } - printf ("i386-sequent-ptx\n"); exit (0); - -#endif - -#if defined (vax) -# if !defined (ultrix) -# include -# if defined (BSD) -# if BSD == 43 - printf ("vax-dec-bsd4.3\n"); exit (0); -# else -# if BSD == 199006 - printf ("vax-dec-bsd4.3reno\n"); exit (0); -# else - printf ("vax-dec-bsd\n"); exit (0); -# endif -# endif -# else - printf ("vax-dec-bsd\n"); exit (0); -# endif -# else - printf ("vax-dec-ultrix\n"); exit (0); -# endif -#endif - -#if defined (alliant) && defined (i860) - printf ("i860-alliant-bsd\n"); exit (0); -#endif - - exit (1); -} -EOF - -$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy && rm -f $dummy.c $dummy && exit 0 -rm -f $dummy.c $dummy - -# Apollos put the system type in the environment. - -test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; } - -# Convex versions that predate uname can use getsysinfo(1) - -if [ -x /usr/convex/getsysinfo ] -then - case `getsysinfo -f cpu_type` in - c1*) - echo c1-convex-bsd - exit 0 ;; - c2*) - if getsysinfo -f scalar_acc - then echo c32-convex-bsd - else echo c2-convex-bsd - fi - exit 0 ;; - c34*) - echo c34-convex-bsd - exit 0 ;; - c38*) - echo c38-convex-bsd - exit 0 ;; - c4*) - echo c4-convex-bsd - exit 0 ;; - esac -fi - -cat >&2 < in order to provide the needed -information to handle your system. - -config.guess timestamp = $timestamp - -uname -m = `(uname -m) 2>/dev/null || echo unknown` -uname -r = `(uname -r) 2>/dev/null || echo unknown` -uname -s = `(uname -s) 2>/dev/null || echo unknown` -uname -v = `(uname -v) 2>/dev/null || echo unknown` - -/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` -/bin/uname -X = `(/bin/uname -X) 2>/dev/null` - -hostinfo = `(hostinfo) 2>/dev/null` -/bin/universe = `(/bin/universe) 2>/dev/null` -/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` -/bin/arch = `(/bin/arch) 2>/dev/null` -/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` -/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` - -UNAME_MACHINE = ${UNAME_MACHINE} -UNAME_RELEASE = ${UNAME_RELEASE} -UNAME_SYSTEM = ${UNAME_SYSTEM} -UNAME_VERSION = ${UNAME_VERSION} -EOF - -exit 1 - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "timestamp='" -# time-stamp-format: "%:y-%02m-%02d" -# time-stamp-end: "'" -# End: diff --git a/source/modules/rtaudio/config/config.sub b/source/modules/rtaudio/config/config.sub deleted file mode 100755 index 9a7d59a69..000000000 --- a/source/modules/rtaudio/config/config.sub +++ /dev/null @@ -1,1366 +0,0 @@ -#! /bin/sh -# Configuration validation subroutine script. -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 -# Free Software Foundation, Inc. - -timestamp='2012-11-19' - -# This file is (in principle) common to ALL GNU software. -# The presence of a machine in this file suggests that SOME GNU software -# can handle that machine. It does not imply ALL GNU software can. -# -# This file 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. -# -# 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. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, -# Boston, MA 02111-1307, USA. - -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# Please send patches to . -# -# Configuration subroutine to validate and canonicalize a configuration type. -# Supply the specified configuration type as an argument. -# If it is invalid, we print an error message on stderr and exit with code 1. -# Otherwise, we print the canonical config type on stdout and succeed. - -# This file is supposed to be the same for all GNU packages -# and recognize all the CPU types, system types and aliases -# that are meaningful with *any* GNU software. -# Each package is responsible for reporting which valid configurations -# it does not support. The user should be able to distinguish -# a failure to support a valid configuration from a meaningless -# configuration. - -# The goal of this file is to map all the various variations of a given -# machine specification into a single specification in the form: -# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM -# or in some cases, the newer four-part form: -# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM -# It is wrong to echo any other type of specification. - -me=`echo "$0" | sed -e 's,.*/,,'` - -usage="\ -Usage: $0 [OPTION] CPU-MFR-OPSYS - $0 [OPTION] ALIAS - -Canonicalize a configuration name. - -Operation modes: - -h, --help print this help, then exit - -t, --time-stamp print date of last modification, then exit - -v, --version print version number, then exit - -Report bugs and patches to ." - -version="\ -GNU config.sub ($timestamp) - -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001 -Free Software Foundation, Inc. - -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." - -help=" -Try \`$me --help' for more information." - -# Parse command line -while test $# -gt 0 ; do - case $1 in - --time-stamp | --time* | -t ) - echo "$timestamp" ; exit 0 ;; - --version | -v ) - echo "$version" ; exit 0 ;; - --help | --h* | -h ) - echo "$usage"; exit 0 ;; - -- ) # Stop option processing - shift; break ;; - - ) # Use stdin as input. - break ;; - -* ) - echo "$me: invalid option $1$help" - exit 1 ;; - - *local*) - # First pass through any local machine types. - echo $1 - exit 0;; - - * ) - break ;; - esac -done - -case $# in - 0) echo "$me: missing argument$help" >&2 - exit 1;; - 1) ;; - *) echo "$me: too many arguments$help" >&2 - exit 1;; -esac - -# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). -# Here we must recognize all the valid KERNEL-OS combinations. -maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` -case $maybe_os in - nto-qnx* | linux-gnu* | storm-chaos* | os2-emx*) - os=-$maybe_os - basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` - ;; - *) - basic_machine=`echo $1 | sed 's/-[^-]*$//'` - if [ $basic_machine != $1 ] - then os=`echo $1 | sed 's/.*-/-/'` - else os=; fi - ;; -esac - -### Let's recognize common machines as not being operating systems so -### that things like config.sub decstation-3100 work. We also -### recognize some manufacturers as not being operating systems, so we -### can provide default operating systems below. -case $os in - -sun*os*) - # Prevent following clause from handling this invalid input. - ;; - -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ - -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ - -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ - -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ - -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ - -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ - -apple | -axis) - os= - basic_machine=$1 - ;; - -sim | -cisco | -oki | -wec | -winbond) - os= - basic_machine=$1 - ;; - -scout) - ;; - -wrs) - os=-vxworks - basic_machine=$1 - ;; - -hiux*) - os=-hiuxwe2 - ;; - -sco5) - os=-sco3.2v5 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco4) - os=-sco3.2v4 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco3.2.[4-9]*) - os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco3.2v[4-9]*) - # Don't forget version if it is 3.2v4 or newer. - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco*) - os=-sco3.2v2 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -udk*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -isc) - os=-isc2.2 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -clix*) - basic_machine=clipper-intergraph - ;; - -isc*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -lynx*) - os=-lynxos - ;; - -ptx*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` - ;; - -windowsnt*) - os=`echo $os | sed -e 's/windowsnt/winnt/'` - ;; - -psos*) - os=-psos - ;; - -mint | -mint[0-9]*) - basic_machine=m68k-atari - os=-mint - ;; -esac - -# Decode aliases for certain CPU-COMPANY combinations. -case $basic_machine in - # Recognize the basic CPU types without company name. - # Some are omitted here because they have special meanings below. - tahoe | i860 | ia64 | m32r | m68k | m68000 | m88k | ns32k | arc \ - | arm | arme[lb] | arm[bl]e | armv[2345] | armv[345][lb] | strongarm | xscale \ - | pyramid | mn10200 | mn10300 | tron | a29k \ - | 580 | i960 | h8300 \ - | x86 | ppcbe | mipsbe | mipsle | shbe | shle \ - | hppa | hppa1.0 | hppa1.1 | hppa2.0 | hppa2.0w | hppa2.0n \ - | hppa64 \ - | alpha | alphaev[4-8] | alphaev56 | alphapca5[67] \ - | alphaev6[78] \ - | we32k | ns16k | clipper | i370 | sh | sh[34] \ - | powerpc | powerpc64 | powerpcle \ - | 1750a | dsp16xx | pdp10 | pdp11 \ - | mips16 | mips64 | mipsel | mips64el \ - | mips64orion | mips64orionel | mipstx39 | mipstx39el \ - | mips64vr4300 | mips64vr4300el | mips64vr4100 | mips64vr4100el \ - | mips64vr5000 | miprs64vr5000el | mcore | s390 | s390x \ - | sparc | sparclet | sparclite | sparc64 | sparcv9 | sparcv9b \ - | v850 | c4x \ - | thumb | d10v | d30v | fr30 | avr | openrisc | tic80 \ - | pj | pjl | h8500) - basic_machine=$basic_machine-unknown - ;; - m6811 | m68hc11 | m6812 | m68hc12) - # Motorola 68HC11/12. - basic_machine=$basic_machine-unknown - os=-none - ;; - m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | z8k | v70 | w65) - ;; - - # We use `pc' rather than `unknown' - # because (1) that's what they normally are, and - # (2) the word "unknown" tends to confuse beginning users. - i*86 | x86_64) - basic_machine=$basic_machine-pc - ;; - # Object if more than one company name word. - *-*-*) - echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 - exit 1 - ;; - # Recognize the basic CPU types with company name. - # FIXME: clean up the formatting here. - vax-* | tahoe-* | i*86-* | i860-* | ia64-* | m32r-* | m68k-* | m68000-* \ - | m88k-* | sparc-* | ns32k-* | fx80-* | arc-* | c[123]* \ - | arm-* | armbe-* | armle-* | armv*-* | strongarm-* | xscale-* \ - | mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* \ - | power-* | none-* | 580-* | cray2-* | h8300-* | h8500-* | i960-* \ - | xmp-* | ymp-* \ - | x86-* | ppcbe-* | mipsbe-* | mipsle-* | shbe-* | shle-* \ - | hppa-* | hppa1.0-* | hppa1.1-* | hppa2.0-* | hppa2.0w-* \ - | hppa2.0n-* | hppa64-* \ - | alpha-* | alphaev[4-8]-* | alphaev56-* | alphapca5[67]-* \ - | alphaev6[78]-* \ - | we32k-* | cydra-* | ns16k-* | pn-* | np1-* | xps100-* \ - | clipper-* | orion-* \ - | sparclite-* | pdp10-* | pdp11-* | sh-* | powerpc-* | powerpc64-* | powerpcle-* \ - | sparc64-* | sparcv9-* | sparcv9b-* | sparc86x-* \ - | mips16-* | mips64-* | mipsel-* \ - | mips64el-* | mips64orion-* | mips64orionel-* \ - | mips64vr4100-* | mips64vr4100el-* | mips64vr4300-* | mips64vr4300el-* \ - | mipstx39-* | mipstx39el-* | mcore-* \ - | f30[01]-* | f700-* | s390-* | s390x-* | sv1-* | t3e-* \ - | [cjt]90-* \ - | m88110-* | m680[01234]0-* | m683?2-* | m68360-* | z8k-* | d10v-* \ - | thumb-* | v850-* | d30v-* | tic30-* | tic80-* | c30-* | fr30-* \ - | bs2000-* | tic54x-* | c54x-* | x86_64-* | pj-* | pjl-*) - ;; - # Recognize the various machine names and aliases which stand - # for a CPU type and a company and sometimes even an OS. - 386bsd) - basic_machine=i386-unknown - os=-bsd - ;; - 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) - basic_machine=m68000-att - ;; - 3b*) - basic_machine=we32k-att - ;; - a29khif) - basic_machine=a29k-amd - os=-udi - ;; - adobe68k) - basic_machine=m68010-adobe - os=-scout - ;; - alliant | fx80) - basic_machine=fx80-alliant - ;; - altos | altos3068) - basic_machine=m68k-altos - ;; - am29k) - basic_machine=a29k-none - os=-bsd - ;; - amdahl) - basic_machine=580-amdahl - os=-sysv - ;; - amiga | amiga-*) - basic_machine=m68k-unknown - ;; - amigaos | amigados) - basic_machine=m68k-unknown - os=-amigaos - ;; - amigaunix | amix) - basic_machine=m68k-unknown - os=-sysv4 - ;; - apollo68) - basic_machine=m68k-apollo - os=-sysv - ;; - apollo68bsd) - basic_machine=m68k-apollo - os=-bsd - ;; - aux) - basic_machine=m68k-apple - os=-aux - ;; - balance) - basic_machine=ns32k-sequent - os=-dynix - ;; - convex-c1) - basic_machine=c1-convex - os=-bsd - ;; - convex-c2) - basic_machine=c2-convex - os=-bsd - ;; - convex-c32) - basic_machine=c32-convex - os=-bsd - ;; - convex-c34) - basic_machine=c34-convex - os=-bsd - ;; - convex-c38) - basic_machine=c38-convex - os=-bsd - ;; - cray | ymp) - basic_machine=ymp-cray - os=-unicos - ;; - cray2) - basic_machine=cray2-cray - os=-unicos - ;; - [cjt]90) - basic_machine=${basic_machine}-cray - os=-unicos - ;; - crds | unos) - basic_machine=m68k-crds - ;; - cris | cris-* | etrax*) - basic_machine=cris-axis - ;; - da30 | da30-*) - basic_machine=m68k-da30 - ;; - decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) - basic_machine=mips-dec - ;; - delta | 3300 | motorola-3300 | motorola-delta \ - | 3300-motorola | delta-motorola) - basic_machine=m68k-motorola - ;; - delta88) - basic_machine=m88k-motorola - os=-sysv3 - ;; - dpx20 | dpx20-*) - basic_machine=rs6000-bull - os=-bosx - ;; - dpx2* | dpx2*-bull) - basic_machine=m68k-bull - os=-sysv3 - ;; - ebmon29k) - basic_machine=a29k-amd - os=-ebmon - ;; - elxsi) - basic_machine=elxsi-elxsi - os=-bsd - ;; - encore | umax | mmax) - basic_machine=ns32k-encore - ;; - es1800 | OSE68k | ose68k | ose | OSE) - basic_machine=m68k-ericsson - os=-ose - ;; - fx2800) - basic_machine=i860-alliant - ;; - genix) - basic_machine=ns32k-ns - ;; - gmicro) - basic_machine=tron-gmicro - os=-sysv - ;; - go32) - basic_machine=i386-pc - os=-go32 - ;; - h3050r* | hiux*) - basic_machine=hppa1.1-hitachi - os=-hiuxwe2 - ;; - h8300hms) - basic_machine=h8300-hitachi - os=-hms - ;; - h8300xray) - basic_machine=h8300-hitachi - os=-xray - ;; - h8500hms) - basic_machine=h8500-hitachi - os=-hms - ;; - harris) - basic_machine=m88k-harris - os=-sysv3 - ;; - hp300-*) - basic_machine=m68k-hp - ;; - hp300bsd) - basic_machine=m68k-hp - os=-bsd - ;; - hp300hpux) - basic_machine=m68k-hp - os=-hpux - ;; - hp3k9[0-9][0-9] | hp9[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hp9k2[0-9][0-9] | hp9k31[0-9]) - basic_machine=m68000-hp - ;; - hp9k3[2-9][0-9]) - basic_machine=m68k-hp - ;; - hp9k6[0-9][0-9] | hp6[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hp9k7[0-79][0-9] | hp7[0-79][0-9]) - basic_machine=hppa1.1-hp - ;; - hp9k78[0-9] | hp78[0-9]) - # FIXME: really hppa2.0-hp - basic_machine=hppa1.1-hp - ;; - hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) - # FIXME: really hppa2.0-hp - basic_machine=hppa1.1-hp - ;; - hp9k8[0-9][13679] | hp8[0-9][13679]) - basic_machine=hppa1.1-hp - ;; - hp9k8[0-9][0-9] | hp8[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hppa-next) - os=-nextstep3 - ;; - hppaosf) - basic_machine=hppa1.1-hp - os=-osf - ;; - hppro) - basic_machine=hppa1.1-hp - os=-proelf - ;; - i370-ibm* | ibm*) - basic_machine=i370-ibm - ;; -# I'm not sure what "Sysv32" means. Should this be sysv3.2? - i*86v32) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv32 - ;; - i*86v4*) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv4 - ;; - i*86v) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv - ;; - i*86sol2) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-solaris2 - ;; - i386mach) - basic_machine=i386-mach - os=-mach - ;; - i386-vsta | vsta) - basic_machine=i386-unknown - os=-vsta - ;; - iris | iris4d) - basic_machine=mips-sgi - case $os in - -irix*) - ;; - *) - os=-irix4 - ;; - esac - ;; - isi68 | isi) - basic_machine=m68k-isi - os=-sysv - ;; - m88k-omron*) - basic_machine=m88k-omron - ;; - magnum | m3230) - basic_machine=mips-mips - os=-sysv - ;; - merlin) - basic_machine=ns32k-utek - os=-sysv - ;; - mingw32) - basic_machine=i386-pc - os=-mingw32 - ;; - miniframe) - basic_machine=m68000-convergent - ;; - *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) - basic_machine=m68k-atari - os=-mint - ;; - mipsel*-linux*) - basic_machine=mipsel-unknown - os=-linux-gnu - ;; - mips*-linux*) - basic_machine=mips-unknown - os=-linux-gnu - ;; - mips3*-*) - basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` - ;; - mips3*) - basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown - ;; - mmix*) - basic_machine=mmix-knuth - os=-mmixware - ;; - monitor) - basic_machine=m68k-rom68k - os=-coff - ;; - msdos) - basic_machine=i386-pc - os=-msdos - ;; - mvs) - basic_machine=i370-ibm - os=-mvs - ;; - ncr3000) - basic_machine=i486-ncr - os=-sysv4 - ;; - netbsd386) - basic_machine=i386-unknown - os=-netbsd - ;; - netwinder) - basic_machine=armv4l-rebel - os=-linux - ;; - news | news700 | news800 | news900) - basic_machine=m68k-sony - os=-newsos - ;; - news1000) - basic_machine=m68030-sony - os=-newsos - ;; - news-3600 | risc-news) - basic_machine=mips-sony - os=-newsos - ;; - necv70) - basic_machine=v70-nec - os=-sysv - ;; - next | m*-next ) - basic_machine=m68k-next - case $os in - -nextstep* ) - ;; - -ns2*) - os=-nextstep2 - ;; - *) - os=-nextstep3 - ;; - esac - ;; - nh3000) - basic_machine=m68k-harris - os=-cxux - ;; - nh[45]000) - basic_machine=m88k-harris - os=-cxux - ;; - nindy960) - basic_machine=i960-intel - os=-nindy - ;; - mon960) - basic_machine=i960-intel - os=-mon960 - ;; - nonstopux) - basic_machine=mips-compaq - os=-nonstopux - ;; - np1) - basic_machine=np1-gould - ;; - nsr-tandem) - basic_machine=nsr-tandem - ;; - op50n-* | op60c-*) - basic_machine=hppa1.1-oki - os=-proelf - ;; - OSE68000 | ose68000) - basic_machine=m68000-ericsson - os=-ose - ;; - os68k) - basic_machine=m68k-none - os=-os68k - ;; - pa-hitachi) - basic_machine=hppa1.1-hitachi - os=-hiuxwe2 - ;; - paragon) - basic_machine=i860-intel - os=-osf - ;; - pbd) - basic_machine=sparc-tti - ;; - pbb) - basic_machine=m68k-tti - ;; - pc532 | pc532-*) - basic_machine=ns32k-pc532 - ;; - pentium | p5 | k5 | k6 | nexgen) - basic_machine=i586-pc - ;; - pentiumpro | p6 | 6x86 | athlon) - basic_machine=i686-pc - ;; - pentiumii | pentium2) - basic_machine=i686-pc - ;; - pentium-* | p5-* | k5-* | k6-* | nexgen-*) - basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentiumpro-* | p6-* | 6x86-* | athlon-*) - basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentiumii-* | pentium2-*) - basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pn) - basic_machine=pn-gould - ;; - power) basic_machine=power-ibm - ;; - ppc) basic_machine=powerpc-unknown - ;; - ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppc64) basic_machine=powerpc64-unknown - ;; - ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppcle | powerpclittle | ppc-le | powerpc-little) - basic_machine=powerpcle-unknown - ;; - ppcle-* | powerpclittle-*) - basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ps2) - basic_machine=i386-ibm - ;; - pw32) - basic_machine=i586-unknown - os=-pw32 - ;; - rom68k) - basic_machine=m68k-rom68k - os=-coff - ;; - rm[46]00) - basic_machine=mips-siemens - ;; - rtpc | rtpc-*) - basic_machine=romp-ibm - ;; - sa29200) - basic_machine=a29k-amd - os=-udi - ;; - sequent) - basic_machine=i386-sequent - ;; - sh) - basic_machine=sh-hitachi - os=-hms - ;; - sparclite-wrs) - basic_machine=sparclite-wrs - os=-vxworks - ;; - sps7) - basic_machine=m68k-bull - os=-sysv2 - ;; - spur) - basic_machine=spur-unknown - ;; - st2000) - basic_machine=m68k-tandem - ;; - stratus) - basic_machine=i860-stratus - os=-sysv4 - ;; - sun2) - basic_machine=m68000-sun - ;; - sun2os3) - basic_machine=m68000-sun - os=-sunos3 - ;; - sun2os4) - basic_machine=m68000-sun - os=-sunos4 - ;; - sun3os3) - basic_machine=m68k-sun - os=-sunos3 - ;; - sun3os4) - basic_machine=m68k-sun - os=-sunos4 - ;; - sun4os3) - basic_machine=sparc-sun - os=-sunos3 - ;; - sun4os4) - basic_machine=sparc-sun - os=-sunos4 - ;; - sun4sol2) - basic_machine=sparc-sun - os=-solaris2 - ;; - sun3 | sun3-*) - basic_machine=m68k-sun - ;; - sun4) - basic_machine=sparc-sun - ;; - sun386 | sun386i | roadrunner) - basic_machine=i386-sun - ;; - sv1) - basic_machine=sv1-cray - os=-unicos - ;; - symmetry) - basic_machine=i386-sequent - os=-dynix - ;; - t3e) - basic_machine=t3e-cray - os=-unicos - ;; - tic54x | c54x*) - basic_machine=tic54x-unknown - os=-coff - ;; - tx39) - basic_machine=mipstx39-unknown - ;; - tx39el) - basic_machine=mipstx39el-unknown - ;; - tower | tower-32) - basic_machine=m68k-ncr - ;; - udi29k) - basic_machine=a29k-amd - os=-udi - ;; - ultra3) - basic_machine=a29k-nyu - os=-sym1 - ;; - v810 | necv810) - basic_machine=v810-nec - os=-none - ;; - vaxv) - basic_machine=vax-dec - os=-sysv - ;; - vms) - basic_machine=vax-dec - os=-vms - ;; - vpp*|vx|vx-*) - basic_machine=f301-fujitsu - ;; - vxworks960) - basic_machine=i960-wrs - os=-vxworks - ;; - vxworks68) - basic_machine=m68k-wrs - os=-vxworks - ;; - vxworks29k) - basic_machine=a29k-wrs - os=-vxworks - ;; - w65*) - basic_machine=w65-wdc - os=-none - ;; - w89k-*) - basic_machine=hppa1.1-winbond - os=-proelf - ;; - xmp) - basic_machine=xmp-cray - os=-unicos - ;; - xps | xps100) - basic_machine=xps100-honeywell - ;; - z8k-*-coff) - basic_machine=z8k-unknown - os=-sim - ;; - none) - basic_machine=none-none - os=-none - ;; - -# Here we handle the default manufacturer of certain CPU types. It is in -# some cases the only manufacturer, in others, it is the most popular. - w89k) - basic_machine=hppa1.1-winbond - ;; - op50n) - basic_machine=hppa1.1-oki - ;; - op60c) - basic_machine=hppa1.1-oki - ;; - mips) - if [ x$os = x-linux-gnu ]; then - basic_machine=mips-unknown - else - basic_machine=mips-mips - fi - ;; - romp) - basic_machine=romp-ibm - ;; - rs6000) - basic_machine=rs6000-ibm - ;; - vax) - basic_machine=vax-dec - ;; - pdp10) - # there are many clones, so DEC is not a safe bet - basic_machine=pdp10-unknown - ;; - pdp11) - basic_machine=pdp11-dec - ;; - we32k) - basic_machine=we32k-att - ;; - sh3 | sh4) - basic_machine=sh-unknown - ;; - sparc | sparcv9 | sparcv9b) - basic_machine=sparc-sun - ;; - cydra) - basic_machine=cydra-cydrome - ;; - orion) - basic_machine=orion-highlevel - ;; - orion105) - basic_machine=clipper-highlevel - ;; - mac | mpw | mac-mpw) - basic_machine=m68k-apple - ;; - pmac | pmac-mpw) - basic_machine=powerpc-apple - ;; - c4x*) - basic_machine=c4x-none - os=-coff - ;; - *-unknown) - # Make sure to match an already-canonicalized machine name. - ;; - *) - echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 - exit 1 - ;; -esac - -# Here we canonicalize certain aliases for manufacturers. -case $basic_machine in - *-digital*) - basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` - ;; - *-commodore*) - basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` - ;; - *) - ;; -esac - -# Decode manufacturer-specific aliases for certain operating systems. - -if [ x"$os" != x"" ] -then -case $os in - # First match some system type aliases - # that might get confused with valid system types. - # -solaris* is a basic system type, with this one exception. - -solaris1 | -solaris1.*) - os=`echo $os | sed -e 's|solaris1|sunos4|'` - ;; - -solaris) - os=-solaris2 - ;; - -svr4*) - os=-sysv4 - ;; - -unixware*) - os=-sysv4.2uw - ;; - -gnu/linux*) - os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` - ;; - # First accept the basic system types. - # The portable systems comes first. - # Each alternative MUST END IN A *, to match a version number. - # -sysv* is not here because it comes later, after sysvr4. - -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ - | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ - | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ - | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ - | -aos* \ - | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ - | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ - | -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \ - | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ - | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ - | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ - | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ - | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \ - | -interix* | -uwin* | -rhapsody* | -darwin* | -opened* \ - | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ - | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* | -os2*) - # Remember, each alternative MUST END IN *, to match a version number. - ;; - -qnx*) - case $basic_machine in - x86-* | i*86-*) - ;; - *) - os=-nto$os - ;; - esac - ;; - -nto*) - os=-nto-qnx - ;; - -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ - | -windows* | -osx | -abug | -netware* | -os9* | -beos* \ - | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) - ;; - -mac*) - os=`echo $os | sed -e 's|mac|macos|'` - ;; - -linux*) - os=`echo $os | sed -e 's|linux|linux-gnu|'` - ;; - -sunos5*) - os=`echo $os | sed -e 's|sunos5|solaris2|'` - ;; - -sunos6*) - os=`echo $os | sed -e 's|sunos6|solaris3|'` - ;; - -opened*) - os=-openedition - ;; - -wince*) - os=-wince - ;; - -osfrose*) - os=-osfrose - ;; - -osf*) - os=-osf - ;; - -utek*) - os=-bsd - ;; - -dynix*) - os=-bsd - ;; - -acis*) - os=-aos - ;; - -386bsd) - os=-bsd - ;; - -ctix* | -uts*) - os=-sysv - ;; - -ns2 ) - os=-nextstep2 - ;; - -nsk*) - os=-nsk - ;; - # Preserve the version number of sinix5. - -sinix5.*) - os=`echo $os | sed -e 's|sinix|sysv|'` - ;; - -sinix*) - os=-sysv4 - ;; - -triton*) - os=-sysv3 - ;; - -oss*) - os=-sysv3 - ;; - -svr4) - os=-sysv4 - ;; - -svr3) - os=-sysv3 - ;; - -sysvr4) - os=-sysv4 - ;; - # This must come after -sysvr4. - -sysv*) - ;; - -ose*) - os=-ose - ;; - -es1800*) - os=-ose - ;; - -xenix) - os=-xenix - ;; - -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) - os=-mint - ;; - -none) - ;; - *) - # Get rid of the `-' at the beginning of $os. - os=`echo $os | sed 's/[^-]*-//'` - echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 - exit 1 - ;; -esac -else - -# Here we handle the default operating systems that come with various machines. -# The value should be what the vendor currently ships out the door with their -# machine or put another way, the most popular os provided with the machine. - -# Note that if you're going to try to match "-MANUFACTURER" here (say, -# "-sun"), then you have to tell the case statement up towards the top -# that MANUFACTURER isn't an operating system. Otherwise, code above -# will signal an error saying that MANUFACTURER isn't an operating -# system, and we'll never get to this point. - -case $basic_machine in - *-acorn) - os=-riscix1.2 - ;; - arm*-rebel) - os=-linux - ;; - arm*-semi) - os=-aout - ;; - pdp10-*) - os=-tops20 - ;; - pdp11-*) - os=-none - ;; - *-dec | vax-*) - os=-ultrix4.2 - ;; - m68*-apollo) - os=-domain - ;; - i386-sun) - os=-sunos4.0.2 - ;; - m68000-sun) - os=-sunos3 - # This also exists in the configure program, but was not the - # default. - # os=-sunos4 - ;; - m68*-cisco) - os=-aout - ;; - mips*-cisco) - os=-elf - ;; - mips*-*) - os=-elf - ;; - *-tti) # must be before sparc entry or we get the wrong os. - os=-sysv3 - ;; - sparc-* | *-sun) - os=-sunos4.1.1 - ;; - *-be) - os=-beos - ;; - *-ibm) - os=-aix - ;; - *-wec) - os=-proelf - ;; - *-winbond) - os=-proelf - ;; - *-oki) - os=-proelf - ;; - *-hp) - os=-hpux - ;; - *-hitachi) - os=-hiux - ;; - i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) - os=-sysv - ;; - *-cbm) - os=-amigaos - ;; - *-dg) - os=-dgux - ;; - *-dolphin) - os=-sysv3 - ;; - m68k-ccur) - os=-rtu - ;; - m88k-omron*) - os=-luna - ;; - *-next ) - os=-nextstep - ;; - *-sequent) - os=-ptx - ;; - *-crds) - os=-unos - ;; - *-ns) - os=-genix - ;; - i370-*) - os=-mvs - ;; - *-next) - os=-nextstep3 - ;; - *-gould) - os=-sysv - ;; - *-highlevel) - os=-bsd - ;; - *-encore) - os=-bsd - ;; - *-sgi) - os=-irix - ;; - *-siemens) - os=-sysv4 - ;; - *-masscomp) - os=-rtu - ;; - f30[01]-fujitsu | f700-fujitsu) - os=-uxpv - ;; - *-rom68k) - os=-coff - ;; - *-*bug) - os=-coff - ;; - *-apple) - os=-macos - ;; - *-atari*) - os=-mint - ;; - *) - os=-none - ;; -esac -fi - -# Here we handle the case where we know the os, and the CPU type, but not the -# manufacturer. We pick the logical manufacturer. -vendor=unknown -case $basic_machine in - *-unknown) - case $os in - -riscix*) - vendor=acorn - ;; - -sunos*) - vendor=sun - ;; - -aix*) - vendor=ibm - ;; - -beos*) - vendor=be - ;; - -hpux*) - vendor=hp - ;; - -mpeix*) - vendor=hp - ;; - -hiux*) - vendor=hitachi - ;; - -unos*) - vendor=crds - ;; - -dgux*) - vendor=dg - ;; - -luna*) - vendor=omron - ;; - -genix*) - vendor=ns - ;; - -mvs* | -opened*) - vendor=ibm - ;; - -ptx*) - vendor=sequent - ;; - -vxsim* | -vxworks*) - vendor=wrs - ;; - -aux*) - vendor=apple - ;; - -hms*) - vendor=hitachi - ;; - -mpw* | -macos*) - vendor=apple - ;; - -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) - vendor=atari - ;; - esac - basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` - ;; -esac - -echo $basic_machine$os -exit 0 - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "timestamp='" -# time-stamp-format: "%:y-%02m-%02d" -# time-stamp-end: "'" -# End: diff --git a/source/modules/rtaudio/config/install.sh b/source/modules/rtaudio/config/install.sh deleted file mode 100755 index e69de29bb..000000000 diff --git a/source/modules/rtaudio/configure b/source/modules/rtaudio/configure deleted file mode 100755 index cab5204e0..000000000 --- a/source/modules/rtaudio/configure +++ /dev/null @@ -1,5865 +0,0 @@ -#! /bin/sh -# Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for RtAudio 4.0. -# -# Report bugs to . -# -# -# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. -# -# -# This configure script is free software; the Free Software Foundation -# gives unlimited permission to copy, distribute and modify it. -## -------------------- ## -## M4sh Initialization. ## -## -------------------- ## - -# Be more Bourne compatible -DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in #( - *posix*) : - set -o posix ;; #( - *) : - ;; -esac -fi - - -as_nl=' -' -export as_nl -# Printing a long string crashes Solaris 7 /usr/bin/printf. -as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -# Prefer a ksh shell builtin over an external printf program on Solaris, -# but without wasting forks for bash or zsh. -if test -z "$BASH_VERSION$ZSH_VERSION" \ - && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='print -r --' - as_echo_n='print -rn --' -elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='printf %s\n' - as_echo_n='printf %s' -else - if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then - as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' - as_echo_n='/usr/ucb/echo -n' - else - as_echo_body='eval expr "X$1" : "X\\(.*\\)"' - as_echo_n_body='eval - arg=$1; - case $arg in #( - *"$as_nl"*) - expr "X$arg" : "X\\(.*\\)$as_nl"; - arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; - esac; - expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" - ' - export as_echo_n_body - as_echo_n='sh -c $as_echo_n_body as_echo' - fi - export as_echo_body - as_echo='sh -c $as_echo_body as_echo' -fi - -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - PATH_SEPARATOR=: - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { - (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || - PATH_SEPARATOR=';' - } -fi - - -# IFS -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent editors from complaining about space-tab. -# (If _AS_PATH_WALK were called with IFS unset, it would disable word -# splitting by setting IFS to empty value.) -IFS=" "" $as_nl" - -# Find who we are. Look in the path if we contain no directory separator. -as_myself= -case $0 in #(( - *[\\/]* ) as_myself=$0 ;; - *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break - done -IFS=$as_save_IFS - - ;; -esac -# We did not find ourselves, most probably we were run as `sh COMMAND' -# in which case we are not to be found in the path. -if test "x$as_myself" = x; then - as_myself=$0 -fi -if test ! -f "$as_myself"; then - $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - exit 1 -fi - -# Unset variables that we do not need and which cause bugs (e.g. in -# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" -# suppresses any "Segmentation fault" message there. '((' could -# trigger a bug in pdksh 5.2.14. -for as_var in BASH_ENV ENV MAIL MAILPATH -do eval test x\${$as_var+set} = xset \ - && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : -done -PS1='$ ' -PS2='> ' -PS4='+ ' - -# NLS nuisances. -LC_ALL=C -export LC_ALL -LANGUAGE=C -export LANGUAGE - -# CDPATH. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -# Use a proper internal environment variable to ensure we don't fall - # into an infinite loop, continuously re-executing ourselves. - if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then - _as_can_reexec=no; export _as_can_reexec; - # We cannot yet assume a decent shell, so we have to provide a -# neutralization value for shells without unset; and this also -# works around shells that cannot unset nonexistent variables. -# Preserve -v and -x to the replacement shell. -BASH_ENV=/dev/null -ENV=/dev/null -(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV -case $- in # (((( - *v*x* | *x*v* ) as_opts=-vx ;; - *v* ) as_opts=-v ;; - *x* ) as_opts=-x ;; - * ) as_opts= ;; -esac -exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} -# Admittedly, this is quite paranoid, since all the known shells bail -# out after a failed `exec'. -$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 -as_fn_exit 255 - fi - # We don't want this to propagate to other subprocesses. - { _as_can_reexec=; unset _as_can_reexec;} -if test "x$CONFIG_SHELL" = x; then - as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which - # is contrary to our usage. Disable this feature. - alias -g '\${1+\"\$@\"}'='\"\$@\"' - setopt NO_GLOB_SUBST -else - case \`(set -o) 2>/dev/null\` in #( - *posix*) : - set -o posix ;; #( - *) : - ;; -esac -fi -" - as_required="as_fn_return () { (exit \$1); } -as_fn_success () { as_fn_return 0; } -as_fn_failure () { as_fn_return 1; } -as_fn_ret_success () { return 0; } -as_fn_ret_failure () { return 1; } - -exitcode=0 -as_fn_success || { exitcode=1; echo as_fn_success failed.; } -as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } -as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } -as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } -if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : - -else - exitcode=1; echo positional parameters were not saved. -fi -test x\$exitcode = x0 || exit 1 -test -x / || exit 1" - as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO - as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO - eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && - test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 -test \$(( 1 + 1 )) = 2 || exit 1" - if (eval "$as_required") 2>/dev/null; then : - as_have_required=yes -else - as_have_required=no -fi - if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : - -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -as_found=false -for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - as_found=: - case $as_dir in #( - /*) - for as_base in sh bash ksh sh5; do - # Try only shells that exist, to save several forks. - as_shell=$as_dir/$as_base - if { test -f "$as_shell" || test -f "$as_shell.exe"; } && - { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : - CONFIG_SHELL=$as_shell as_have_required=yes - if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : - break 2 -fi -fi - done;; - esac - as_found=false -done -$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && - { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : - CONFIG_SHELL=$SHELL as_have_required=yes -fi; } -IFS=$as_save_IFS - - - if test "x$CONFIG_SHELL" != x; then : - export CONFIG_SHELL - # We cannot yet assume a decent shell, so we have to provide a -# neutralization value for shells without unset; and this also -# works around shells that cannot unset nonexistent variables. -# Preserve -v and -x to the replacement shell. -BASH_ENV=/dev/null -ENV=/dev/null -(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV -case $- in # (((( - *v*x* | *x*v* ) as_opts=-vx ;; - *v* ) as_opts=-v ;; - *x* ) as_opts=-x ;; - * ) as_opts= ;; -esac -exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} -# Admittedly, this is quite paranoid, since all the known shells bail -# out after a failed `exec'. -$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 -exit 255 -fi - - if test x$as_have_required = xno; then : - $as_echo "$0: This script requires a shell more modern than all" - $as_echo "$0: the shells that I found on your system." - if test x${ZSH_VERSION+set} = xset ; then - $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" - $as_echo "$0: be upgraded to zsh 4.3.4 or later." - else - $as_echo "$0: Please tell bug-autoconf@gnu.org and -$0: gary@music.mcgill.ca about your system, including any -$0: error possibly output before this message. Then install -$0: a modern shell, or manually run the script under such a -$0: shell if you do have one." - fi - exit 1 -fi -fi -fi -SHELL=${CONFIG_SHELL-/bin/sh} -export SHELL -# Unset more variables known to interfere with behavior of common tools. -CLICOLOR_FORCE= GREP_OPTIONS= -unset CLICOLOR_FORCE GREP_OPTIONS - -## --------------------- ## -## M4sh Shell Functions. ## -## --------------------- ## -# as_fn_unset VAR -# --------------- -# Portably unset VAR. -as_fn_unset () -{ - { eval $1=; unset $1;} -} -as_unset=as_fn_unset - -# as_fn_set_status STATUS -# ----------------------- -# Set $? to STATUS, without forking. -as_fn_set_status () -{ - return $1 -} # as_fn_set_status - -# as_fn_exit STATUS -# ----------------- -# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. -as_fn_exit () -{ - set +e - as_fn_set_status $1 - exit $1 -} # as_fn_exit - -# as_fn_mkdir_p -# ------------- -# Create "$as_dir" as a directory, including parents if necessary. -as_fn_mkdir_p () -{ - - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || eval $as_mkdir_p || { - as_dirs= - while :; do - case $as_dir in #( - *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( - *) as_qdir=$as_dir;; - esac - as_dirs="'$as_qdir' $as_dirs" - as_dir=`$as_dirname -- "$as_dir" || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - test -d "$as_dir" && break - done - test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" - - -} # as_fn_mkdir_p - -# as_fn_executable_p FILE -# ----------------------- -# Test if FILE is an executable regular file. -as_fn_executable_p () -{ - test -f "$1" && test -x "$1" -} # as_fn_executable_p -# as_fn_append VAR VALUE -# ---------------------- -# Append the text in VALUE to the end of the definition contained in VAR. Take -# advantage of any shell optimizations that allow amortized linear growth over -# repeated appends, instead of the typical quadratic growth present in naive -# implementations. -if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : - eval 'as_fn_append () - { - eval $1+=\$2 - }' -else - as_fn_append () - { - eval $1=\$$1\$2 - } -fi # as_fn_append - -# as_fn_arith ARG... -# ------------------ -# Perform arithmetic evaluation on the ARGs, and store the result in the -# global $as_val. Take advantage of shells that can avoid forks. The arguments -# must be portable across $(()) and expr. -if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : - eval 'as_fn_arith () - { - as_val=$(( $* )) - }' -else - as_fn_arith () - { - as_val=`expr "$@" || test $? -eq 1` - } -fi # as_fn_arith - - -# as_fn_error STATUS ERROR [LINENO LOG_FD] -# ---------------------------------------- -# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are -# provided, also output the error to LOG_FD, referencing LINENO. Then exit the -# script with STATUS, using 1 if that was 0. -as_fn_error () -{ - as_status=$1; test $as_status -eq 0 && as_status=1 - if test "$4"; then - as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 - fi - $as_echo "$as_me: error: $2" >&2 - as_fn_exit $as_status -} # as_fn_error - -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi - -if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then - as_basename=basename -else - as_basename=false -fi - -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi - -as_me=`$as_basename -- "$0" || -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ - s//\1/ - q - } - /^X\/\(\/\/\)$/{ - s//\1/ - q - } - /^X\/\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - - - as_lineno_1=$LINENO as_lineno_1a=$LINENO - as_lineno_2=$LINENO as_lineno_2a=$LINENO - eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && - test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { - # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) - sed -n ' - p - /[$]LINENO/= - ' <$as_myself | - sed ' - s/[$]LINENO.*/&-/ - t lineno - b - :lineno - N - :loop - s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ - t loop - s/-\n.*// - ' >$as_me.lineno && - chmod +x "$as_me.lineno" || - { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } - - # If we had to re-execute with $CONFIG_SHELL, we're ensured to have - # already done that, so ensure we don't try to do so again and fall - # in an infinite loop. This has already happened in practice. - _as_can_reexec=no; export _as_can_reexec - # Don't try to exec as it changes $[0], causing all sort of problems - # (the dirname of $[0] is not the place where we might find the - # original and so on. Autoconf is especially sensitive to this). - . "./$as_me.lineno" - # Exit status is that of the last command. - exit -} - -ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in #((((( --n*) - case `echo 'xy\c'` in - *c*) ECHO_T=' ';; # ECHO_T is single tab character. - xy) ECHO_C='\c';; - *) echo `echo ksh88 bug on AIX 6.1` > /dev/null - ECHO_T=' ';; - esac;; -*) - ECHO_N='-n';; -esac - -rm -f conf$$ conf$$.exe conf$$.file -if test -d conf$$.dir; then - rm -f conf$$.dir/conf$$.file -else - rm -f conf$$.dir - mkdir conf$$.dir 2>/dev/null -fi -if (echo >conf$$.file) 2>/dev/null; then - if ln -s conf$$.file conf$$ 2>/dev/null; then - as_ln_s='ln -s' - # ... but there are two gotchas: - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -pR'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -pR' - elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln - else - as_ln_s='cp -pR' - fi -else - as_ln_s='cp -pR' -fi -rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -rmdir conf$$.dir 2>/dev/null - -if mkdir -p . 2>/dev/null; then - as_mkdir_p='mkdir -p "$as_dir"' -else - test -d ./-p && rmdir ./-p - as_mkdir_p=false -fi - -as_test_x='test -x' -as_executable_p=as_fn_executable_p - -# Sed expression to map a string onto a valid CPP name. -as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" - -# Sed expression to map a string onto a valid variable name. -as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" - - -test -n "$DJDIR" || exec 7<&0 &1 - -# Name of the host. -# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, -# so uname gets run too. -ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` - -# -# Initializations. -# -ac_default_prefix=/usr/local -ac_clean_files= -ac_config_libobj_dir=. -LIBOBJS= -cross_compiling=no -subdirs= -MFLAGS= -MAKEFLAGS= - -# Identity of this package. -PACKAGE_NAME='RtAudio' -PACKAGE_TARNAME='rtaudio' -PACKAGE_VERSION='4.0' -PACKAGE_STRING='RtAudio 4.0' -PACKAGE_BUGREPORT='gary@music.mcgill.ca' -PACKAGE_URL='' - -ac_unique_file="RtAudio.cpp" -# Factoring default headers for most tests. -ac_includes_default="\ -#include -#ifdef HAVE_SYS_TYPES_H -# include -#endif -#ifdef HAVE_SYS_STAT_H -# include -#endif -#ifdef STDC_HEADERS -# include -# include -#else -# ifdef HAVE_STDLIB_H -# include -# endif -#endif -#ifdef HAVE_STRING_H -# if !defined STDC_HEADERS && defined HAVE_MEMORY_H -# include -# endif -# include -#endif -#ifdef HAVE_STRINGS_H -# include -#endif -#ifdef HAVE_INTTYPES_H -# include -#endif -#ifdef HAVE_STDINT_H -# include -#endif -#ifdef HAVE_UNISTD_H -# include -#endif" - -ac_subst_vars='LTLIBOBJS -LIBOBJS -objects -PULSE_LIBS -PULSE_CFLAGS -req -api -libflags -sharedname -sharedlib -host_os -host_vendor -host_cpu -host -build_os -build_vendor -build_cpu -build -object_path -cxxflag -cppflag -EGREP -GREP -CPP -ac_ct_CC -CFLAGS -CC -AR -RANLIB -OBJEXT -EXEEXT -ac_ct_CXX -CPPFLAGS -LDFLAGS -CXXFLAGS -CXX -PKG_CONFIG_LIBDIR -PKG_CONFIG_PATH -PKG_CONFIG -GXX -target_alias -host_alias -build_alias -LIBS -ECHO_T -ECHO_N -ECHO_C -DEFS -mandir -localedir -libdir -psdir -pdfdir -dvidir -htmldir -infodir -docdir -oldincludedir -includedir -localstatedir -sharedstatedir -sysconfdir -datadir -datarootdir -libexecdir -sbindir -bindir -program_transform_name -prefix -exec_prefix -PACKAGE_URL -PACKAGE_BUGREPORT -PACKAGE_STRING -PACKAGE_VERSION -PACKAGE_TARNAME -PACKAGE_NAME -PATH_SEPARATOR -SHELL' -ac_subst_files='' -ac_user_opts=' -enable_option_checking -enable_debug -with_jack -with_alsa -with_pulse -with_oss -with_core -with_asio -with_ds -' - ac_precious_vars='build_alias -host_alias -target_alias -PKG_CONFIG -PKG_CONFIG_PATH -PKG_CONFIG_LIBDIR -CXX -CXXFLAGS -LDFLAGS -LIBS -CPPFLAGS -CCC -CC -CFLAGS -CPP -PULSE_CFLAGS -PULSE_LIBS' - - -# Initialize some variables set by options. -ac_init_help= -ac_init_version=false -ac_unrecognized_opts= -ac_unrecognized_sep= -# The variables have the same names as the options, with -# dashes changed to underlines. -cache_file=/dev/null -exec_prefix=NONE -no_create= -no_recursion= -prefix=NONE -program_prefix=NONE -program_suffix=NONE -program_transform_name=s,x,x, -silent= -site= -srcdir= -verbose= -x_includes=NONE -x_libraries=NONE - -# Installation directory options. -# These are left unexpanded so users can "make install exec_prefix=/foo" -# and all the variables that are supposed to be based on exec_prefix -# by default will actually change. -# Use braces instead of parens because sh, perl, etc. also accept them. -# (The list follows the same order as the GNU Coding Standards.) -bindir='${exec_prefix}/bin' -sbindir='${exec_prefix}/sbin' -libexecdir='${exec_prefix}/libexec' -datarootdir='${prefix}/share' -datadir='${datarootdir}' -sysconfdir='${prefix}/etc' -sharedstatedir='${prefix}/com' -localstatedir='${prefix}/var' -includedir='${prefix}/include' -oldincludedir='/usr/include' -docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' -infodir='${datarootdir}/info' -htmldir='${docdir}' -dvidir='${docdir}' -pdfdir='${docdir}' -psdir='${docdir}' -libdir='${exec_prefix}/lib' -localedir='${datarootdir}/locale' -mandir='${datarootdir}/man' - -ac_prev= -ac_dashdash= -for ac_option -do - # If the previous option needs an argument, assign it. - if test -n "$ac_prev"; then - eval $ac_prev=\$ac_option - ac_prev= - continue - fi - - case $ac_option in - *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; - *=) ac_optarg= ;; - *) ac_optarg=yes ;; - esac - - # Accept the important Cygnus configure options, so we can diagnose typos. - - case $ac_dashdash$ac_option in - --) - ac_dashdash=yes ;; - - -bindir | --bindir | --bindi | --bind | --bin | --bi) - ac_prev=bindir ;; - -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) - bindir=$ac_optarg ;; - - -build | --build | --buil | --bui | --bu) - ac_prev=build_alias ;; - -build=* | --build=* | --buil=* | --bui=* | --bu=*) - build_alias=$ac_optarg ;; - - -cache-file | --cache-file | --cache-fil | --cache-fi \ - | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) - ac_prev=cache_file ;; - -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ - | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) - cache_file=$ac_optarg ;; - - --config-cache | -C) - cache_file=config.cache ;; - - -datadir | --datadir | --datadi | --datad) - ac_prev=datadir ;; - -datadir=* | --datadir=* | --datadi=* | --datad=*) - datadir=$ac_optarg ;; - - -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ - | --dataroo | --dataro | --datar) - ac_prev=datarootdir ;; - -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ - | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) - datarootdir=$ac_optarg ;; - - -disable-* | --disable-*) - ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid feature name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"enable_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval enable_$ac_useropt=no ;; - - -docdir | --docdir | --docdi | --doc | --do) - ac_prev=docdir ;; - -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) - docdir=$ac_optarg ;; - - -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) - ac_prev=dvidir ;; - -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) - dvidir=$ac_optarg ;; - - -enable-* | --enable-*) - ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid feature name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"enable_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval enable_$ac_useropt=\$ac_optarg ;; - - -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ - | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ - | --exec | --exe | --ex) - ac_prev=exec_prefix ;; - -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ - | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ - | --exec=* | --exe=* | --ex=*) - exec_prefix=$ac_optarg ;; - - -gas | --gas | --ga | --g) - # Obsolete; use --with-gas. - with_gas=yes ;; - - -help | --help | --hel | --he | -h) - ac_init_help=long ;; - -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) - ac_init_help=recursive ;; - -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) - ac_init_help=short ;; - - -host | --host | --hos | --ho) - ac_prev=host_alias ;; - -host=* | --host=* | --hos=* | --ho=*) - host_alias=$ac_optarg ;; - - -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) - ac_prev=htmldir ;; - -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ - | --ht=*) - htmldir=$ac_optarg ;; - - -includedir | --includedir | --includedi | --included | --include \ - | --includ | --inclu | --incl | --inc) - ac_prev=includedir ;; - -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ - | --includ=* | --inclu=* | --incl=* | --inc=*) - includedir=$ac_optarg ;; - - -infodir | --infodir | --infodi | --infod | --info | --inf) - ac_prev=infodir ;; - -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) - infodir=$ac_optarg ;; - - -libdir | --libdir | --libdi | --libd) - ac_prev=libdir ;; - -libdir=* | --libdir=* | --libdi=* | --libd=*) - libdir=$ac_optarg ;; - - -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ - | --libexe | --libex | --libe) - ac_prev=libexecdir ;; - -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ - | --libexe=* | --libex=* | --libe=*) - libexecdir=$ac_optarg ;; - - -localedir | --localedir | --localedi | --localed | --locale) - ac_prev=localedir ;; - -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) - localedir=$ac_optarg ;; - - -localstatedir | --localstatedir | --localstatedi | --localstated \ - | --localstate | --localstat | --localsta | --localst | --locals) - ac_prev=localstatedir ;; - -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ - | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) - localstatedir=$ac_optarg ;; - - -mandir | --mandir | --mandi | --mand | --man | --ma | --m) - ac_prev=mandir ;; - -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) - mandir=$ac_optarg ;; - - -nfp | --nfp | --nf) - # Obsolete; use --without-fp. - with_fp=no ;; - - -no-create | --no-create | --no-creat | --no-crea | --no-cre \ - | --no-cr | --no-c | -n) - no_create=yes ;; - - -no-recursion | --no-recursion | --no-recursio | --no-recursi \ - | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) - no_recursion=yes ;; - - -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ - | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ - | --oldin | --oldi | --old | --ol | --o) - ac_prev=oldincludedir ;; - -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ - | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ - | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) - oldincludedir=$ac_optarg ;; - - -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) - ac_prev=prefix ;; - -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) - prefix=$ac_optarg ;; - - -program-prefix | --program-prefix | --program-prefi | --program-pref \ - | --program-pre | --program-pr | --program-p) - ac_prev=program_prefix ;; - -program-prefix=* | --program-prefix=* | --program-prefi=* \ - | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) - program_prefix=$ac_optarg ;; - - -program-suffix | --program-suffix | --program-suffi | --program-suff \ - | --program-suf | --program-su | --program-s) - ac_prev=program_suffix ;; - -program-suffix=* | --program-suffix=* | --program-suffi=* \ - | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) - program_suffix=$ac_optarg ;; - - -program-transform-name | --program-transform-name \ - | --program-transform-nam | --program-transform-na \ - | --program-transform-n | --program-transform- \ - | --program-transform | --program-transfor \ - | --program-transfo | --program-transf \ - | --program-trans | --program-tran \ - | --progr-tra | --program-tr | --program-t) - ac_prev=program_transform_name ;; - -program-transform-name=* | --program-transform-name=* \ - | --program-transform-nam=* | --program-transform-na=* \ - | --program-transform-n=* | --program-transform-=* \ - | --program-transform=* | --program-transfor=* \ - | --program-transfo=* | --program-transf=* \ - | --program-trans=* | --program-tran=* \ - | --progr-tra=* | --program-tr=* | --program-t=*) - program_transform_name=$ac_optarg ;; - - -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) - ac_prev=pdfdir ;; - -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) - pdfdir=$ac_optarg ;; - - -psdir | --psdir | --psdi | --psd | --ps) - ac_prev=psdir ;; - -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) - psdir=$ac_optarg ;; - - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil) - silent=yes ;; - - -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) - ac_prev=sbindir ;; - -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ - | --sbi=* | --sb=*) - sbindir=$ac_optarg ;; - - -sharedstatedir | --sharedstatedir | --sharedstatedi \ - | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ - | --sharedst | --shareds | --shared | --share | --shar \ - | --sha | --sh) - ac_prev=sharedstatedir ;; - -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ - | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ - | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ - | --sha=* | --sh=*) - sharedstatedir=$ac_optarg ;; - - -site | --site | --sit) - ac_prev=site ;; - -site=* | --site=* | --sit=*) - site=$ac_optarg ;; - - -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) - ac_prev=srcdir ;; - -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) - srcdir=$ac_optarg ;; - - -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ - | --syscon | --sysco | --sysc | --sys | --sy) - ac_prev=sysconfdir ;; - -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ - | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) - sysconfdir=$ac_optarg ;; - - -target | --target | --targe | --targ | --tar | --ta | --t) - ac_prev=target_alias ;; - -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) - target_alias=$ac_optarg ;; - - -v | -verbose | --verbose | --verbos | --verbo | --verb) - verbose=yes ;; - - -version | --version | --versio | --versi | --vers | -V) - ac_init_version=: ;; - - -with-* | --with-*) - ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid package name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"with_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval with_$ac_useropt=\$ac_optarg ;; - - -without-* | --without-*) - ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid package name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"with_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval with_$ac_useropt=no ;; - - --x) - # Obsolete; use --with-x. - with_x=yes ;; - - -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ - | --x-incl | --x-inc | --x-in | --x-i) - ac_prev=x_includes ;; - -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ - | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) - x_includes=$ac_optarg ;; - - -x-libraries | --x-libraries | --x-librarie | --x-librari \ - | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) - ac_prev=x_libraries ;; - -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ - | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) - x_libraries=$ac_optarg ;; - - -*) as_fn_error $? "unrecognized option: \`$ac_option' -Try \`$0 --help' for more information" - ;; - - *=*) - ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` - # Reject names that are not valid shell variable names. - case $ac_envvar in #( - '' | [0-9]* | *[!_$as_cr_alnum]* ) - as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; - esac - eval $ac_envvar=\$ac_optarg - export $ac_envvar ;; - - *) - # FIXME: should be removed in autoconf 3.0. - $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 - expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && - $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 - : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" - ;; - - esac -done - -if test -n "$ac_prev"; then - ac_option=--`echo $ac_prev | sed 's/_/-/g'` - as_fn_error $? "missing argument to $ac_option" -fi - -if test -n "$ac_unrecognized_opts"; then - case $enable_option_checking in - no) ;; - fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; - *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; - esac -fi - -# Check all directory arguments for consistency. -for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ - datadir sysconfdir sharedstatedir localstatedir includedir \ - oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ - libdir localedir mandir -do - eval ac_val=\$$ac_var - # Remove trailing slashes. - case $ac_val in - */ ) - ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` - eval $ac_var=\$ac_val;; - esac - # Be sure to have absolute directory names. - case $ac_val in - [\\/$]* | ?:[\\/]* ) continue;; - NONE | '' ) case $ac_var in *prefix ) continue;; esac;; - esac - as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" -done - -# There might be people who depend on the old broken behavior: `$host' -# used to hold the argument of --host etc. -# FIXME: To remove some day. -build=$build_alias -host=$host_alias -target=$target_alias - -# FIXME: To remove some day. -if test "x$host_alias" != x; then - if test "x$build_alias" = x; then - cross_compiling=maybe - elif test "x$build_alias" != "x$host_alias"; then - cross_compiling=yes - fi -fi - -ac_tool_prefix= -test -n "$host_alias" && ac_tool_prefix=$host_alias- - -test "$silent" = yes && exec 6>/dev/null - - -ac_pwd=`pwd` && test -n "$ac_pwd" && -ac_ls_di=`ls -di .` && -ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || - as_fn_error $? "working directory cannot be determined" -test "X$ac_ls_di" = "X$ac_pwd_ls_di" || - as_fn_error $? "pwd does not report name of working directory" - - -# Find the source files, if location was not specified. -if test -z "$srcdir"; then - ac_srcdir_defaulted=yes - # Try the directory containing this script, then the parent directory. - ac_confdir=`$as_dirname -- "$as_myself" || -$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_myself" : 'X\(//\)[^/]' \| \ - X"$as_myself" : 'X\(//\)$' \| \ - X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_myself" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - srcdir=$ac_confdir - if test ! -r "$srcdir/$ac_unique_file"; then - srcdir=.. - fi -else - ac_srcdir_defaulted=no -fi -if test ! -r "$srcdir/$ac_unique_file"; then - test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." - as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" -fi -ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" -ac_abs_confdir=`( - cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" - pwd)` -# When building in place, set srcdir=. -if test "$ac_abs_confdir" = "$ac_pwd"; then - srcdir=. -fi -# Remove unnecessary trailing slashes from srcdir. -# Double slashes in file names in object file debugging info -# mess up M-x gdb in Emacs. -case $srcdir in -*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; -esac -for ac_var in $ac_precious_vars; do - eval ac_env_${ac_var}_set=\${${ac_var}+set} - eval ac_env_${ac_var}_value=\$${ac_var} - eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} - eval ac_cv_env_${ac_var}_value=\$${ac_var} -done - -# -# Report the --help message. -# -if test "$ac_init_help" = "long"; then - # Omit some internal or obsolete options to make the list less imposing. - # This message is too long to be a string in the A/UX 3.1 sh. - cat <<_ACEOF -\`configure' configures RtAudio 4.0 to adapt to many kinds of systems. - -Usage: $0 [OPTION]... [VAR=VALUE]... - -To assign environment variables (e.g., CC, CFLAGS...), specify them as -VAR=VALUE. See below for descriptions of some of the useful variables. - -Defaults for the options are specified in brackets. - -Configuration: - -h, --help display this help and exit - --help=short display options specific to this package - --help=recursive display the short help of all the included packages - -V, --version display version information and exit - -q, --quiet, --silent do not print \`checking ...' messages - --cache-file=FILE cache test results in FILE [disabled] - -C, --config-cache alias for \`--cache-file=config.cache' - -n, --no-create do not create output files - --srcdir=DIR find the sources in DIR [configure dir or \`..'] - -Installation directories: - --prefix=PREFIX install architecture-independent files in PREFIX - [$ac_default_prefix] - --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX - [PREFIX] - -By default, \`make install' will install all the files in -\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify -an installation prefix other than \`$ac_default_prefix' using \`--prefix', -for instance \`--prefix=\$HOME'. - -For better control, use the options below. - -Fine tuning of the installation directories: - --bindir=DIR user executables [EPREFIX/bin] - --sbindir=DIR system admin executables [EPREFIX/sbin] - --libexecdir=DIR program executables [EPREFIX/libexec] - --sysconfdir=DIR read-only single-machine data [PREFIX/etc] - --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] - --localstatedir=DIR modifiable single-machine data [PREFIX/var] - --libdir=DIR object code libraries [EPREFIX/lib] - --includedir=DIR C header files [PREFIX/include] - --oldincludedir=DIR C header files for non-gcc [/usr/include] - --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] - --datadir=DIR read-only architecture-independent data [DATAROOTDIR] - --infodir=DIR info documentation [DATAROOTDIR/info] - --localedir=DIR locale-dependent data [DATAROOTDIR/locale] - --mandir=DIR man documentation [DATAROOTDIR/man] - --docdir=DIR documentation root [DATAROOTDIR/doc/rtaudio] - --htmldir=DIR html documentation [DOCDIR] - --dvidir=DIR dvi documentation [DOCDIR] - --pdfdir=DIR pdf documentation [DOCDIR] - --psdir=DIR ps documentation [DOCDIR] -_ACEOF - - cat <<\_ACEOF - -System types: - --build=BUILD configure for building on BUILD [guessed] - --host=HOST cross-compile to build programs to run on HOST [BUILD] -_ACEOF -fi - -if test -n "$ac_init_help"; then - case $ac_init_help in - short | recursive ) echo "Configuration of RtAudio 4.0:";; - esac - cat <<\_ACEOF - -Optional Features: - --disable-option-checking ignore unrecognized --enable/--with options - --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) - --enable-FEATURE[=ARG] include FEATURE [ARG=yes] - --enable-debug = enable various debug output - -Optional Packages: - --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] - --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) - --with-jack = choose JACK server support (mac and linux only) - --with-alsa = choose native ALSA API support (linux only) - --with-pulse = choose PulseAudio API support (linux only) - --with-oss = choose OSS API support (linux only) - --with-jack = choose JACK server support (unix only) - --with-core = choose CoreAudio API support (mac only) - --with-asio = choose ASIO API support (windoze only) - --with-ds = choose DirectSound API support (windoze only) - -Some influential environment variables: - PKG_CONFIG path to pkg-config utility - PKG_CONFIG_PATH - directories to add to pkg-config's search path - PKG_CONFIG_LIBDIR - path overriding pkg-config's built-in search path - CXX C++ compiler command - CXXFLAGS C++ compiler flags - LDFLAGS linker flags, e.g. -L if you have libraries in a - nonstandard directory - LIBS libraries to pass to the linker, e.g. -l - CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if - you have headers in a nonstandard directory - CC C compiler command - CFLAGS C compiler flags - CPP C preprocessor - PULSE_CFLAGS - C compiler flags for PULSE, overriding pkg-config - PULSE_LIBS linker flags for PULSE, overriding pkg-config - -Use these variables to override the choices made by `configure' or to help -it to find libraries and programs with nonstandard names/locations. - -Report bugs to . -_ACEOF -ac_status=$? -fi - -if test "$ac_init_help" = "recursive"; then - # If there are subdirs, report their specific --help. - for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue - test -d "$ac_dir" || - { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || - continue - ac_builddir=. - -case "$ac_dir" in -.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; -*) - ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` - # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` - case $ac_top_builddir_sub in - "") ac_top_builddir_sub=. ac_top_build_prefix= ;; - *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; - esac ;; -esac -ac_abs_top_builddir=$ac_pwd -ac_abs_builddir=$ac_pwd$ac_dir_suffix -# for backward compatibility: -ac_top_builddir=$ac_top_build_prefix - -case $srcdir in - .) # We are building in place. - ac_srcdir=. - ac_top_srcdir=$ac_top_builddir_sub - ac_abs_top_srcdir=$ac_pwd ;; - [\\/]* | ?:[\\/]* ) # Absolute name. - ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir - ac_abs_top_srcdir=$srcdir ;; - *) # Relative name. - ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_build_prefix$srcdir - ac_abs_top_srcdir=$ac_pwd/$srcdir ;; -esac -ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix - - cd "$ac_dir" || { ac_status=$?; continue; } - # Check for guested configure. - if test -f "$ac_srcdir/configure.gnu"; then - echo && - $SHELL "$ac_srcdir/configure.gnu" --help=recursive - elif test -f "$ac_srcdir/configure"; then - echo && - $SHELL "$ac_srcdir/configure" --help=recursive - else - $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 - fi || ac_status=$? - cd "$ac_pwd" || { ac_status=$?; break; } - done -fi - -test -n "$ac_init_help" && exit $ac_status -if $ac_init_version; then - cat <<\_ACEOF -RtAudio configure 4.0 -generated by GNU Autoconf 2.69 - -Copyright (C) 2012 Free Software Foundation, Inc. -This configure script is free software; the Free Software Foundation -gives unlimited permission to copy, distribute and modify it. -_ACEOF - exit -fi - -## ------------------------ ## -## Autoconf initialization. ## -## ------------------------ ## - -# ac_fn_cxx_try_compile LINENO -# ---------------------------- -# Try to compile conftest.$ac_ext, and return whether this succeeded. -ac_fn_cxx_try_compile () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext - if { { ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compile") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_cxx_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_cxx_try_compile - -# ac_fn_c_try_compile LINENO -# -------------------------- -# Try to compile conftest.$ac_ext, and return whether this succeeded. -ac_fn_c_try_compile () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext - if { { ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compile") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_c_try_compile - -# ac_fn_c_try_cpp LINENO -# ---------------------- -# Try to preprocess conftest.$ac_ext, and return whether this succeeded. -ac_fn_c_try_cpp () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if { { ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } > conftest.i && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_c_try_cpp - -# ac_fn_c_try_run LINENO -# ---------------------- -# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes -# that executables *can* be run. -ac_fn_c_try_run () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' - { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then : - ac_retval=0 -else - $as_echo "$as_me: program exited with status $ac_status" >&5 - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=$ac_status -fi - rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_c_try_run - -# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES -# ------------------------------------------------------- -# Tests whether HEADER exists, giving a warning if it cannot be compiled using -# the include files in INCLUDES and setting the cache variable VAR -# accordingly. -ac_fn_c_check_header_mongrel () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if eval \${$3+:} false; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 -$as_echo_n "checking $2 usability... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -#include <$2> -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_header_compiler=yes -else - ac_header_compiler=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 -$as_echo_n "checking $2 presence... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <$2> -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - ac_header_preproc=yes -else - ac_header_preproc=no -fi -rm -f conftest.err conftest.i conftest.$ac_ext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #(( - yes:no: ) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} - ;; - no:yes:* ) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} -( $as_echo "## ----------------------------------- ## -## Report this to gary@music.mcgill.ca ## -## ----------------------------------- ##" - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - eval "$3=\$ac_header_compiler" -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} # ac_fn_c_check_header_mongrel - -# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES -# ------------------------------------------------------- -# Tests whether HEADER exists and can be compiled using the include files in -# INCLUDES, setting the cache variable VAR accordingly. -ac_fn_c_check_header_compile () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -#include <$2> -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - eval "$3=yes" -else - eval "$3=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} # ac_fn_c_check_header_compile - -# ac_fn_c_try_link LINENO -# ----------------------- -# Try to link conftest.$ac_ext, and return whether this succeeded. -ac_fn_c_try_link () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext conftest$ac_exeext - if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - test -x conftest$ac_exeext - }; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information - # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would - # interfere with the next link command; also delete a directory that is - # left behind by Apple's compiler. We do this before executing the actions. - rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_c_try_link - -# ac_fn_c_check_func LINENO FUNC VAR -# ---------------------------------- -# Tests whether FUNC exists, setting the cache variable VAR accordingly -ac_fn_c_check_func () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -/* Define $2 to an innocuous variant, in case declares $2. - For example, HP-UX 11i declares gettimeofday. */ -#define $2 innocuous_$2 - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $2 (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef $2 - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $2 (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$2 || defined __stub___$2 -choke me -#endif - -int -main () -{ -return $2 (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - eval "$3=yes" -else - eval "$3=no" -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} # ac_fn_c_check_func -cat >config.log <<_ACEOF -This file contains any messages produced by compilers while -running configure, to aid debugging if configure makes a mistake. - -It was created by RtAudio $as_me 4.0, which was -generated by GNU Autoconf 2.69. Invocation command line was - - $ $0 $@ - -_ACEOF -exec 5>>config.log -{ -cat <<_ASUNAME -## --------- ## -## Platform. ## -## --------- ## - -hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` -uname -m = `(uname -m) 2>/dev/null || echo unknown` -uname -r = `(uname -r) 2>/dev/null || echo unknown` -uname -s = `(uname -s) 2>/dev/null || echo unknown` -uname -v = `(uname -v) 2>/dev/null || echo unknown` - -/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` -/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` - -/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` -/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` -/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` -/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` -/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` -/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` -/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` - -_ASUNAME - -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - $as_echo "PATH: $as_dir" - done -IFS=$as_save_IFS - -} >&5 - -cat >&5 <<_ACEOF - - -## ----------- ## -## Core tests. ## -## ----------- ## - -_ACEOF - - -# Keep a trace of the command line. -# Strip out --no-create and --no-recursion so they do not pile up. -# Strip out --silent because we don't want to record it for future runs. -# Also quote any args containing shell meta-characters. -# Make two passes to allow for proper duplicate-argument suppression. -ac_configure_args= -ac_configure_args0= -ac_configure_args1= -ac_must_keep_next=false -for ac_pass in 1 2 -do - for ac_arg - do - case $ac_arg in - -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil) - continue ;; - *\'*) - ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; - esac - case $ac_pass in - 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; - 2) - as_fn_append ac_configure_args1 " '$ac_arg'" - if test $ac_must_keep_next = true; then - ac_must_keep_next=false # Got value, back to normal. - else - case $ac_arg in - *=* | --config-cache | -C | -disable-* | --disable-* \ - | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ - | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ - | -with-* | --with-* | -without-* | --without-* | --x) - case "$ac_configure_args0 " in - "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; - esac - ;; - -* ) ac_must_keep_next=true ;; - esac - fi - as_fn_append ac_configure_args " '$ac_arg'" - ;; - esac - done -done -{ ac_configure_args0=; unset ac_configure_args0;} -{ ac_configure_args1=; unset ac_configure_args1;} - -# When interrupted or exit'd, cleanup temporary files, and complete -# config.log. We remove comments because anyway the quotes in there -# would cause problems or look ugly. -# WARNING: Use '\'' to represent an apostrophe within the trap. -# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. -trap 'exit_status=$? - # Save into config.log some information that might help in debugging. - { - echo - - $as_echo "## ---------------- ## -## Cache variables. ## -## ---------------- ##" - echo - # The following way of writing the cache mishandles newlines in values, -( - for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do - eval ac_val=\$$ac_var - case $ac_val in #( - *${as_nl}*) - case $ac_var in #( - *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 -$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; - esac - case $ac_var in #( - _ | IFS | as_nl) ;; #( - BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( - *) { eval $ac_var=; unset $ac_var;} ;; - esac ;; - esac - done - (set) 2>&1 | - case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( - *${as_nl}ac_space=\ *) - sed -n \ - "s/'\''/'\''\\\\'\'''\''/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" - ;; #( - *) - sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" - ;; - esac | - sort -) - echo - - $as_echo "## ----------------- ## -## Output variables. ## -## ----------------- ##" - echo - for ac_var in $ac_subst_vars - do - eval ac_val=\$$ac_var - case $ac_val in - *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; - esac - $as_echo "$ac_var='\''$ac_val'\''" - done | sort - echo - - if test -n "$ac_subst_files"; then - $as_echo "## ------------------- ## -## File substitutions. ## -## ------------------- ##" - echo - for ac_var in $ac_subst_files - do - eval ac_val=\$$ac_var - case $ac_val in - *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; - esac - $as_echo "$ac_var='\''$ac_val'\''" - done | sort - echo - fi - - if test -s confdefs.h; then - $as_echo "## ----------- ## -## confdefs.h. ## -## ----------- ##" - echo - cat confdefs.h - echo - fi - test "$ac_signal" != 0 && - $as_echo "$as_me: caught signal $ac_signal" - $as_echo "$as_me: exit $exit_status" - } >&5 - rm -f core *.core core.conftest.* && - rm -f -r conftest* confdefs* conf$$* $ac_clean_files && - exit $exit_status -' 0 -for ac_signal in 1 2 13 15; do - trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal -done -ac_signal=0 - -# confdefs.h avoids OS command line length limits that DEFS can exceed. -rm -f -r conftest* confdefs.h - -$as_echo "/* confdefs.h */" > confdefs.h - -# Predefined preprocessor variables. - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_NAME "$PACKAGE_NAME" -_ACEOF - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_TARNAME "$PACKAGE_TARNAME" -_ACEOF - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_VERSION "$PACKAGE_VERSION" -_ACEOF - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_STRING "$PACKAGE_STRING" -_ACEOF - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" -_ACEOF - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_URL "$PACKAGE_URL" -_ACEOF - - -# Let the site file select an alternate cache file if it wants to. -# Prefer an explicitly selected file to automatically selected ones. -ac_site_file1=NONE -ac_site_file2=NONE -if test -n "$CONFIG_SITE"; then - # We do not want a PATH search for config.site. - case $CONFIG_SITE in #(( - -*) ac_site_file1=./$CONFIG_SITE;; - */*) ac_site_file1=$CONFIG_SITE;; - *) ac_site_file1=./$CONFIG_SITE;; - esac -elif test "x$prefix" != xNONE; then - ac_site_file1=$prefix/share/config.site - ac_site_file2=$prefix/etc/config.site -else - ac_site_file1=$ac_default_prefix/share/config.site - ac_site_file2=$ac_default_prefix/etc/config.site -fi -for ac_site_file in "$ac_site_file1" "$ac_site_file2" -do - test "x$ac_site_file" = xNONE && continue - if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 -$as_echo "$as_me: loading site script $ac_site_file" >&6;} - sed 's/^/| /' "$ac_site_file" >&5 - . "$ac_site_file" \ - || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "failed to load site script $ac_site_file -See \`config.log' for more details" "$LINENO" 5; } - fi -done - -if test -r "$cache_file"; then - # Some versions of bash will fail to source /dev/null (special files - # actually), so we avoid doing that. DJGPP emulates it as a regular file. - if test /dev/null != "$cache_file" && test -f "$cache_file"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 -$as_echo "$as_me: loading cache $cache_file" >&6;} - case $cache_file in - [\\/]* | ?:[\\/]* ) . "$cache_file";; - *) . "./$cache_file";; - esac - fi -else - { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 -$as_echo "$as_me: creating cache $cache_file" >&6;} - >$cache_file -fi - -# Check that the precious variables saved in the cache have kept the same -# value. -ac_cache_corrupted=false -for ac_var in $ac_precious_vars; do - eval ac_old_set=\$ac_cv_env_${ac_var}_set - eval ac_new_set=\$ac_env_${ac_var}_set - eval ac_old_val=\$ac_cv_env_${ac_var}_value - eval ac_new_val=\$ac_env_${ac_var}_value - case $ac_old_set,$ac_new_set in - set,) - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 -$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} - ac_cache_corrupted=: ;; - ,set) - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 -$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} - ac_cache_corrupted=: ;; - ,);; - *) - if test "x$ac_old_val" != "x$ac_new_val"; then - # differences in whitespace do not lead to failure. - ac_old_val_w=`echo x $ac_old_val` - ac_new_val_w=`echo x $ac_new_val` - if test "$ac_old_val_w" != "$ac_new_val_w"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 -$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} - ac_cache_corrupted=: - else - { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 -$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} - eval $ac_var=\$ac_old_val - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 -$as_echo "$as_me: former value: \`$ac_old_val'" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 -$as_echo "$as_me: current value: \`$ac_new_val'" >&2;} - fi;; - esac - # Pass precious variables to config.status. - if test "$ac_new_set" = set; then - case $ac_new_val in - *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; - *) ac_arg=$ac_var=$ac_new_val ;; - esac - case " $ac_configure_args " in - *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. - *) as_fn_append ac_configure_args " '$ac_arg'" ;; - esac - fi -done -if $ac_cache_corrupted; then - { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 -$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} - as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 -fi -## -------------------- ## -## Main body of script. ## -## -------------------- ## - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - -ac_aux_dir= -for ac_dir in config "$srcdir"/config; do - if test -f "$ac_dir/install-sh"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install-sh -c" - break - elif test -f "$ac_dir/install.sh"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install.sh -c" - break - elif test -f "$ac_dir/shtool"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/shtool install -c" - break - fi -done -if test -z "$ac_aux_dir"; then - as_fn_error $? "cannot find install-sh, install.sh, or shtool in config \"$srcdir\"/config" "$LINENO" 5 -fi - -# These three variables are undocumented and unsupported, -# and are intended to be withdrawn in a future Autoconf release. -# They can cause serious problems if a builder's source tree is in a directory -# whose full name contains unusual characters. -ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. -ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. -ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. - - - -ac_config_files="$ac_config_files rtaudio-config librtaudio.pc Makefile tests/Makefile" - - -# Fill GXX with something before test. -GXX="no" - - - - - - - - - - -if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args. -set dummy ${ac_tool_prefix}pkg-config; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_PKG_CONFIG+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $PKG_CONFIG in - [\\/]* | ?:[\\/]*) - ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -PKG_CONFIG=$ac_cv_path_PKG_CONFIG -if test -n "$PKG_CONFIG"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 -$as_echo "$PKG_CONFIG" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_path_PKG_CONFIG"; then - ac_pt_PKG_CONFIG=$PKG_CONFIG - # Extract the first word of "pkg-config", so it can be a program name with args. -set dummy pkg-config; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_ac_pt_PKG_CONFIG+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $ac_pt_PKG_CONFIG in - [\\/]* | ?:[\\/]*) - ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG -if test -n "$ac_pt_PKG_CONFIG"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 -$as_echo "$ac_pt_PKG_CONFIG" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_pt_PKG_CONFIG" = x; then - PKG_CONFIG="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - PKG_CONFIG=$ac_pt_PKG_CONFIG - fi -else - PKG_CONFIG="$ac_cv_path_PKG_CONFIG" -fi - -fi -if test -n "$PKG_CONFIG"; then - _pkg_min_version=0.9.0 - { $as_echo "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 -$as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; } - if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - PKG_CONFIG="" - fi -fi - - - -# Checks for programs. -ac_ext=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -if test -z "$CXX"; then - if test -n "$CCC"; then - CXX=$CCC - else - if test -n "$ac_tool_prefix"; then - for ac_prog in g++ CC c++ cxx - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CXX"; then - ac_cv_prog_CXX="$CXX" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CXX=$ac_cv_prog_CXX -if test -n "$CXX"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 -$as_echo "$CXX" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$CXX" && break - done -fi -if test -z "$CXX"; then - ac_ct_CXX=$CXX - for ac_prog in g++ CC c++ cxx -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_CXX+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_CXX"; then - ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_CXX="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_CXX=$ac_cv_prog_ac_ct_CXX -if test -n "$ac_ct_CXX"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 -$as_echo "$ac_ct_CXX" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$ac_ct_CXX" && break -done - - if test "x$ac_ct_CXX" = x; then - CXX="g++" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - CXX=$ac_ct_CXX - fi -fi - - fi -fi -# Provide some information about the compiler. -$as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5 -set X $ac_compile -ac_compiler=$2 -for ac_option in --version -v -V -qversion; do - { { ac_try="$ac_compiler $ac_option >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compiler $ac_option >&5") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - sed '10a\ -... rest of stderr output deleted ... - 10q' conftest.err >conftest.er1 - cat conftest.er1 >&5 - fi - rm -f conftest.er1 conftest.err - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } -done - -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" -# Try to create an executable without -o first, disregard a.out. -# It will help us diagnose broken compilers, and finding out an intuition -# of exeext. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C++ compiler works" >&5 -$as_echo_n "checking whether the C++ compiler works... " >&6; } -ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` - -# The possible output files: -ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" - -ac_rmfiles= -for ac_file in $ac_files -do - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; - * ) ac_rmfiles="$ac_rmfiles $ac_file";; - esac -done -rm -f $ac_rmfiles - -if { { ac_try="$ac_link_default" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link_default") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : - # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. -# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' -# in a Makefile. We should not override ac_cv_exeext if it was cached, -# so that the user can short-circuit this test for compilers unknown to -# Autoconf. -for ac_file in $ac_files '' -do - test -f "$ac_file" || continue - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) - ;; - [ab].out ) - # We found the default executable, but exeext='' is most - # certainly right. - break;; - *.* ) - if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; - then :; else - ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - fi - # We set ac_cv_exeext here because the later test for it is not - # safe: cross compilers may not add the suffix if given an `-o' - # argument, so we may need to know it at that point already. - # Even if this section looks crufty: it has the advantage of - # actually working. - break;; - * ) - break;; - esac -done -test "$ac_cv_exeext" = no && ac_cv_exeext= - -else - ac_file='' -fi -if test -z "$ac_file"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error 77 "C++ compiler cannot create executables -See \`config.log' for more details" "$LINENO" 5; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler default output file name" >&5 -$as_echo_n "checking for C++ compiler default output file name... " >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 -$as_echo "$ac_file" >&6; } -ac_exeext=$ac_cv_exeext - -rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out -ac_clean_files=$ac_clean_files_save -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 -$as_echo_n "checking for suffix of executables... " >&6; } -if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : - # If both `conftest.exe' and `conftest' are `present' (well, observable) -# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will -# work properly (i.e., refer to `conftest.exe'), while it won't with -# `rm'. -for ac_file in conftest.exe conftest conftest.*; do - test -f "$ac_file" || continue - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; - *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - break;; - * ) break;; - esac -done -else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot compute suffix of executables: cannot compile and link -See \`config.log' for more details" "$LINENO" 5; } -fi -rm -f conftest conftest$ac_cv_exeext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 -$as_echo "$ac_cv_exeext" >&6; } - -rm -f conftest.$ac_ext -EXEEXT=$ac_cv_exeext -ac_exeext=$EXEEXT -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -FILE *f = fopen ("conftest.out", "w"); - return ferror (f) || fclose (f) != 0; - - ; - return 0; -} -_ACEOF -ac_clean_files="$ac_clean_files conftest.out" -# Check that the compiler produces executables we can run. If not, either -# the compiler is broken, or we cross compile. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 -$as_echo_n "checking whether we are cross compiling... " >&6; } -if test "$cross_compiling" != yes; then - { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - if { ac_try='./conftest$ac_cv_exeext' - { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then - cross_compiling=no - else - if test "$cross_compiling" = maybe; then - cross_compiling=yes - else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot run C++ compiled programs. -If you meant to cross compile, use \`--host'. -See \`config.log' for more details" "$LINENO" 5; } - fi - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 -$as_echo "$cross_compiling" >&6; } - -rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out -ac_clean_files=$ac_clean_files_save -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 -$as_echo_n "checking for suffix of object files... " >&6; } -if ${ac_cv_objext+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.o conftest.obj -if { { ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compile") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : - for ac_file in conftest.o conftest.obj conftest.*; do - test -f "$ac_file" || continue; - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; - *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` - break;; - esac -done -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot compute suffix of object files: cannot compile -See \`config.log' for more details" "$LINENO" 5; } -fi -rm -f conftest.$ac_cv_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 -$as_echo "$ac_cv_objext" >&6; } -OBJEXT=$ac_cv_objext -ac_objext=$OBJEXT -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5 -$as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; } -if ${ac_cv_cxx_compiler_gnu+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ -#ifndef __GNUC__ - choke me -#endif - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - ac_compiler_gnu=yes -else - ac_compiler_gnu=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -ac_cv_cxx_compiler_gnu=$ac_compiler_gnu - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 -$as_echo "$ac_cv_cxx_compiler_gnu" >&6; } -if test $ac_compiler_gnu = yes; then - GXX=yes -else - GXX= -fi -ac_test_CXXFLAGS=${CXXFLAGS+set} -ac_save_CXXFLAGS=$CXXFLAGS -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 -$as_echo_n "checking whether $CXX accepts -g... " >&6; } -if ${ac_cv_prog_cxx_g+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_save_cxx_werror_flag=$ac_cxx_werror_flag - ac_cxx_werror_flag=yes - ac_cv_prog_cxx_g=no - CXXFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - ac_cv_prog_cxx_g=yes -else - CXXFLAGS="" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - -else - ac_cxx_werror_flag=$ac_save_cxx_werror_flag - CXXFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - ac_cv_prog_cxx_g=yes -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ac_cxx_werror_flag=$ac_save_cxx_werror_flag -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 -$as_echo "$ac_cv_prog_cxx_g" >&6; } -if test "$ac_test_CXXFLAGS" = set; then - CXXFLAGS=$ac_save_CXXFLAGS -elif test $ac_cv_prog_cxx_g = yes; then - if test "$GXX" = yes; then - CXXFLAGS="-g -O2" - else - CXXFLAGS="-g" - fi -else - if test "$GXX" = yes; then - CXXFLAGS="-O2" - else - CXXFLAGS= - fi -fi -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. -set dummy ${ac_tool_prefix}ranlib; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_RANLIB+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$RANLIB"; then - ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -RANLIB=$ac_cv_prog_RANLIB -if test -n "$RANLIB"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 -$as_echo "$RANLIB" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_RANLIB"; then - ac_ct_RANLIB=$RANLIB - # Extract the first word of "ranlib", so it can be a program name with args. -set dummy ranlib; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_RANLIB"; then - ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_RANLIB="ranlib" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB -if test -n "$ac_ct_RANLIB"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 -$as_echo "$ac_ct_RANLIB" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_RANLIB" = x; then - RANLIB=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - RANLIB=$ac_ct_RANLIB - fi -else - RANLIB="$ac_cv_prog_RANLIB" -fi - -# Extract the first word of "ar", so it can be a program name with args. -set dummy ar; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_AR+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $AR in - [\\/]* | ?:[\\/]*) - ac_cv_path_AR="$AR" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_AR="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - test -z "$ac_cv_path_AR" && ac_cv_path_AR="no" - ;; -esac -fi -AR=$ac_cv_path_AR -if test -n "$AR"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 -$as_echo "$AR" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -if [ $AR = "no" ] ; then - as_fn_error $? "\"Could not find ar - needed to create a library\"" "$LINENO" 5; -fi - -# Checks for header files. -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. -set dummy ${ac_tool_prefix}gcc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="${ac_tool_prefix}gcc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_CC"; then - ac_ct_CC=$CC - # Extract the first word of "gcc", so it can be a program name with args. -set dummy gcc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_CC="gcc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 -$as_echo "$ac_ct_CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_CC" = x; then - CC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - CC=$ac_ct_CC - fi -else - CC="$ac_cv_prog_CC" -fi - -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. -set dummy ${ac_tool_prefix}cc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="${ac_tool_prefix}cc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - fi -fi -if test -z "$CC"; then - # Extract the first word of "cc", so it can be a program name with args. -set dummy cc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else - ac_prog_rejected=no -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then - ac_prog_rejected=yes - continue - fi - ac_cv_prog_CC="cc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -if test $ac_prog_rejected = yes; then - # We found a bogon in the path, so make sure we never use it. - set dummy $ac_cv_prog_CC - shift - if test $# != 0; then - # We chose a different compiler from the bogus one. - # However, it has the same basename, so the bogon will be chosen - # first if we set CC to just the basename; use the full file name. - shift - ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" - fi -fi -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - for ac_prog in cl.exe - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$CC" && break - done -fi -if test -z "$CC"; then - ac_ct_CC=$CC - for ac_prog in cl.exe -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_CC="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 -$as_echo "$ac_ct_CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$ac_ct_CC" && break -done - - if test "x$ac_ct_CC" = x; then - CC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - CC=$ac_ct_CC - fi -fi - -fi - - -test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "no acceptable C compiler found in \$PATH -See \`config.log' for more details" "$LINENO" 5; } - -# Provide some information about the compiler. -$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 -set X $ac_compile -ac_compiler=$2 -for ac_option in --version -v -V -qversion; do - { { ac_try="$ac_compiler $ac_option >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compiler $ac_option >&5") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - sed '10a\ -... rest of stderr output deleted ... - 10q' conftest.err >conftest.er1 - cat conftest.er1 >&5 - fi - rm -f conftest.er1 conftest.err - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } -done - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 -$as_echo_n "checking whether we are using the GNU C compiler... " >&6; } -if ${ac_cv_c_compiler_gnu+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ -#ifndef __GNUC__ - choke me -#endif - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_compiler_gnu=yes -else - ac_compiler_gnu=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -ac_cv_c_compiler_gnu=$ac_compiler_gnu - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 -$as_echo "$ac_cv_c_compiler_gnu" >&6; } -if test $ac_compiler_gnu = yes; then - GCC=yes -else - GCC= -fi -ac_test_CFLAGS=${CFLAGS+set} -ac_save_CFLAGS=$CFLAGS -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 -$as_echo_n "checking whether $CC accepts -g... " >&6; } -if ${ac_cv_prog_cc_g+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_save_c_werror_flag=$ac_c_werror_flag - ac_c_werror_flag=yes - ac_cv_prog_cc_g=no - CFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_g=yes -else - CFLAGS="" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - -else - ac_c_werror_flag=$ac_save_c_werror_flag - CFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_g=yes -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ac_c_werror_flag=$ac_save_c_werror_flag -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 -$as_echo "$ac_cv_prog_cc_g" >&6; } -if test "$ac_test_CFLAGS" = set; then - CFLAGS=$ac_save_CFLAGS -elif test $ac_cv_prog_cc_g = yes; then - if test "$GCC" = yes; then - CFLAGS="-g -O2" - else - CFLAGS="-g" - fi -else - if test "$GCC" = yes; then - CFLAGS="-O2" - else - CFLAGS= - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 -$as_echo_n "checking for $CC option to accept ISO C89... " >&6; } -if ${ac_cv_prog_cc_c89+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_cv_prog_cc_c89=no -ac_save_CC=$CC -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -struct stat; -/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ -struct buf { int x; }; -FILE * (*rcsopen) (struct buf *, struct stat *, int); -static char *e (p, i) - char **p; - int i; -{ - return p[i]; -} -static char *f (char * (*g) (char **, int), char **p, ...) -{ - char *s; - va_list v; - va_start (v,p); - s = g (p, va_arg (v,int)); - va_end (v); - return s; -} - -/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has - function prototypes and stuff, but not '\xHH' hex character constants. - These don't provoke an error unfortunately, instead are silently treated - as 'x'. The following induces an error, until -std is added to get - proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an - array size at least. It's necessary to write '\x00'==0 to get something - that's true only with -std. */ -int osf4_cc_array ['\x00' == 0 ? 1 : -1]; - -/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters - inside strings and character constants. */ -#define FOO(x) 'x' -int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; - -int test (int i, double x); -struct s1 {int (*f) (int a);}; -struct s2 {int (*f) (double a);}; -int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); -int argc; -char **argv; -int -main () -{ -return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; - ; - return 0; -} -_ACEOF -for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ - -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" -do - CC="$ac_save_CC $ac_arg" - if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_c89=$ac_arg -fi -rm -f core conftest.err conftest.$ac_objext - test "x$ac_cv_prog_cc_c89" != "xno" && break -done -rm -f conftest.$ac_ext -CC=$ac_save_CC - -fi -# AC_CACHE_VAL -case "x$ac_cv_prog_cc_c89" in - x) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 -$as_echo "none needed" >&6; } ;; - xno) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 -$as_echo "unsupported" >&6; } ;; - *) - CC="$CC $ac_cv_prog_cc_c89" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 -$as_echo "$ac_cv_prog_cc_c89" >&6; } ;; -esac -if test "x$ac_cv_prog_cc_c89" != xno; then : - -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 -$as_echo_n "checking how to run the C preprocessor... " >&6; } -# On Suns, sometimes $CPP names a directory. -if test -n "$CPP" && test -d "$CPP"; then - CPP= -fi -if test -z "$CPP"; then - if ${ac_cv_prog_CPP+:} false; then : - $as_echo_n "(cached) " >&6 -else - # Double quotes because CPP needs to be expanded - for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" - do - ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer to if __STDC__ is defined, since - # exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef __STDC__ -# include -#else -# include -#endif - Syntax error -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - -else - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.i conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - # Broken: success on invalid input. -continue -else - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.i conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.i conftest.err conftest.$ac_ext -if $ac_preproc_ok; then : - break -fi - - done - ac_cv_prog_CPP=$CPP - -fi - CPP=$ac_cv_prog_CPP -else - ac_cv_prog_CPP=$CPP -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 -$as_echo "$CPP" >&6; } -ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer to if __STDC__ is defined, since - # exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef __STDC__ -# include -#else -# include -#endif - Syntax error -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - -else - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.i conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - # Broken: success on invalid input. -continue -else - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.i conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.i conftest.err conftest.$ac_ext -if $ac_preproc_ok; then : - -else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details" "$LINENO" 5; } -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 -$as_echo_n "checking for grep that handles long lines and -e... " >&6; } -if ${ac_cv_path_GREP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -z "$GREP"; then - ac_path_GREP_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in grep ggrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_GREP" || continue -# Check for GNU ac_path_GREP and select it if it is found. - # Check for GNU $ac_path_GREP -case `"$ac_path_GREP" --version 2>&1` in -*GNU*) - ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo 'GREP' >> "conftest.nl" - "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_GREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_GREP="$ac_path_GREP" - ac_path_GREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_GREP_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_GREP"; then - as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 - fi -else - ac_cv_path_GREP=$GREP -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 -$as_echo "$ac_cv_path_GREP" >&6; } - GREP="$ac_cv_path_GREP" - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 -$as_echo_n "checking for egrep... " >&6; } -if ${ac_cv_path_EGREP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 - then ac_cv_path_EGREP="$GREP -E" - else - if test -z "$EGREP"; then - ac_path_EGREP_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in egrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_EGREP" || continue -# Check for GNU ac_path_EGREP and select it if it is found. - # Check for GNU $ac_path_EGREP -case `"$ac_path_EGREP" --version 2>&1` in -*GNU*) - ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo 'EGREP' >> "conftest.nl" - "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_EGREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_EGREP="$ac_path_EGREP" - ac_path_EGREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_EGREP_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_EGREP"; then - as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 - fi -else - ac_cv_path_EGREP=$EGREP -fi - - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 -$as_echo "$ac_cv_path_EGREP" >&6; } - EGREP="$ac_cv_path_EGREP" - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 -$as_echo_n "checking for ANSI C header files... " >&6; } -if ${ac_cv_header_stdc+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#include -#include - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_header_stdc=yes -else - ac_cv_header_stdc=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -if test $ac_cv_header_stdc = yes; then - # SunOS 4.x string.h does not declare mem*, contrary to ANSI. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "memchr" >/dev/null 2>&1; then : - -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "free" >/dev/null 2>&1; then : - -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. - if test "$cross_compiling" = yes; then : - : -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#if ((' ' & 0x0FF) == 0x020) -# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') -# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) -#else -# define ISLOWER(c) \ - (('a' <= (c) && (c) <= 'i') \ - || ('j' <= (c) && (c) <= 'r') \ - || ('s' <= (c) && (c) <= 'z')) -# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) -#endif - -#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) -int -main () -{ - int i; - for (i = 0; i < 256; i++) - if (XOR (islower (i), ISLOWER (i)) - || toupper (i) != TOUPPER (i)) - return 2; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - -else - ac_cv_header_stdc=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 -$as_echo "$ac_cv_header_stdc" >&6; } -if test $ac_cv_header_stdc = yes; then - -$as_echo "#define STDC_HEADERS 1" >>confdefs.h - -fi - -# On IRIX 5.3, sys/types and inttypes.h are conflicting. -for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ - inttypes.h stdint.h unistd.h -do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default -" -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - -for ac_header in sys/ioctl.h unistd.h -do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - -# Check for debug -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to compile debug version" >&5 -$as_echo_n "checking whether to compile debug version... " >&6; } -# Check whether --enable-debug was given. -if test "${enable_debug+set}" = set; then : - enableval=$enable_debug; cppflag=-D__RTAUDIO_DEBUG__ - cxxflag=-g - object_path=Debug - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -else - cppflag= - cxxflag=-O2 - object_path=Release - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - -# Checks for functions -ac_fn_c_check_func "$LINENO" "gettimeofday" "ac_cv_func_gettimeofday" -if test "x$ac_cv_func_gettimeofday" = xyes; then : - cppflag="$cppflag -DHAVE_GETTIMEOFDAY" -fi - - -# For -I and -D flags -CPPFLAGS="$CPPFLAGS $cppflag" - -# For debugging and optimization ... overwrite default because it has both -g and -O2 -#CXXFLAGS="$CXXFLAGS $cxxflag" -CXXFLAGS="$cxxflag" - -# Check compiler and use -Wall if gnu. -if test $GXX = "yes" ; then - cxxflag=-Wall - -fi - -CXXFLAGS="$CXXFLAGS $cxxflag" - -# Make sure we can run config.sub. -$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || - as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 -$as_echo_n "checking build system type... " >&6; } -if ${ac_cv_build+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_build_alias=$build_alias -test "x$ac_build_alias" = x && - ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` -test "x$ac_build_alias" = x && - as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 -ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || - as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 -$as_echo "$ac_cv_build" >&6; } -case $ac_cv_build in -*-*-*) ;; -*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; -esac -build=$ac_cv_build -ac_save_IFS=$IFS; IFS='-' -set x $ac_cv_build -shift -build_cpu=$1 -build_vendor=$2 -shift; shift -# Remember, the first character of IFS is used to create $*, -# except with old shells: -build_os=$* -IFS=$ac_save_IFS -case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 -$as_echo_n "checking host system type... " >&6; } -if ${ac_cv_host+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "x$host_alias" = x; then - ac_cv_host=$ac_cv_build -else - ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || - as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 -$as_echo "$ac_cv_host" >&6; } -case $ac_cv_host in -*-*-*) ;; -*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; -esac -host=$ac_cv_host -ac_save_IFS=$IFS; IFS='-' -set x $ac_cv_host -shift -host_cpu=$1 -host_vendor=$2 -shift; shift -# Remember, the first character of IFS is used to create $*, -# except with old shells: -host_os=$* -IFS=$ac_save_IFS -case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac - - - -sharedlib="librtaudio.so" - -sharedname="librtaudio.so.\$(RELEASE)" - -libflags="-shared -Wl,-soname,\$(SHARED).\$(MAJOR) -o \$(SHARED).\$(RELEASE)" - -case $host in - *-apple*) - sharedlib="librtaudio.dylib" - - sharedname="librtaudio.\$(RELEASE).dylib" - - libflags="-dynamiclib -o librtaudio.\$(RELEASE).dylib" - -esac - -# Checks for package options and external software -api="" - -req="" - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for audio API" >&5 -$as_echo_n "checking for audio API... " >&6; } -case $host in - *-*-netbsd*) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: using OSS" >&5 -$as_echo "using OSS" >&6; } - api="$api -D__LINUX_OSS__" - LIBS="$LIBS -lossaudio" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_create in -lpthread" >&5 -$as_echo_n "checking for pthread_create in -lpthread... " >&6; } -if ${ac_cv_lib_pthread_pthread_create+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lpthread $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char pthread_create (); -int -main () -{ -return pthread_create (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_pthread_pthread_create=yes -else - ac_cv_lib_pthread_pthread_create=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pthread_pthread_create" >&5 -$as_echo "$ac_cv_lib_pthread_pthread_create" >&6; } -if test "x$ac_cv_lib_pthread_pthread_create" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBPTHREAD 1 -_ACEOF - - LIBS="-lpthread $LIBS" - -else - as_fn_error $? "RtAudio requires the pthread library!" "$LINENO" 5 -fi - - ;; - - *-*-linux*) - -# Check whether --with-jack was given. -if test "${with_jack+set}" = set; then : - withval=$with_jack; - api="$api -D__UNIX_JACK__" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: using JACK" >&5 -$as_echo "using JACK" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for jack_client_open in -ljack" >&5 -$as_echo_n "checking for jack_client_open in -ljack... " >&6; } -if ${ac_cv_lib_jack_jack_client_open+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ljack $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char jack_client_open (); -int -main () -{ -return jack_client_open (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_jack_jack_client_open=yes -else - ac_cv_lib_jack_jack_client_open=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_jack_jack_client_open" >&5 -$as_echo "$ac_cv_lib_jack_jack_client_open" >&6; } -if test "x$ac_cv_lib_jack_jack_client_open" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBJACK 1 -_ACEOF - - LIBS="-ljack $LIBS" - -else - as_fn_error $? "JACK support requires the jack library!" "$LINENO" 5 -fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for snd_pcm_open in -lasound" >&5 -$as_echo_n "checking for snd_pcm_open in -lasound... " >&6; } -if ${ac_cv_lib_asound_snd_pcm_open+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lasound $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char snd_pcm_open (); -int -main () -{ -return snd_pcm_open (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_asound_snd_pcm_open=yes -else - ac_cv_lib_asound_snd_pcm_open=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_asound_snd_pcm_open" >&5 -$as_echo "$ac_cv_lib_asound_snd_pcm_open" >&6; } -if test "x$ac_cv_lib_asound_snd_pcm_open" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBASOUND 1 -_ACEOF - - LIBS="-lasound $LIBS" - -else - as_fn_error $? "Jack support also requires the asound library!" "$LINENO" 5 -fi - -fi - - - # Look for ALSA flag - -# Check whether --with-alsa was given. -if test "${with_alsa+set}" = set; then : - withval=$with_alsa; - api="$api -D__LINUX_ALSA__" - req="$req alsa" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: using ALSA" >&5 -$as_echo "using ALSA" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for snd_pcm_open in -lasound" >&5 -$as_echo_n "checking for snd_pcm_open in -lasound... " >&6; } -if ${ac_cv_lib_asound_snd_pcm_open+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lasound $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char snd_pcm_open (); -int -main () -{ -return snd_pcm_open (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_asound_snd_pcm_open=yes -else - ac_cv_lib_asound_snd_pcm_open=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_asound_snd_pcm_open" >&5 -$as_echo "$ac_cv_lib_asound_snd_pcm_open" >&6; } -if test "x$ac_cv_lib_asound_snd_pcm_open" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBASOUND 1 -_ACEOF - - LIBS="-lasound $LIBS" - -else - as_fn_error $? "ALSA support requires the asound library!" "$LINENO" 5 -fi - -fi - - - # Look for PULSE flag - -# Check whether --with-pulse was given. -if test "${with_pulse+set}" = set; then : - withval=$with_pulse; - api="$api -D__LINUX_PULSE__" - req="$req libpulse-simple" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: using PulseAudio" >&5 -$as_echo "using PulseAudio" >&6; } - -pkg_failed=no -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for PULSE" >&5 -$as_echo_n "checking for PULSE... " >&6; } - -if test -n "$PULSE_CFLAGS"; then - pkg_cv_PULSE_CFLAGS="$PULSE_CFLAGS" - elif test -n "$PKG_CONFIG"; then - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libpulse-simple\""; } >&5 - ($PKG_CONFIG --exists --print-errors "libpulse-simple") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_PULSE_CFLAGS=`$PKG_CONFIG --cflags "libpulse-simple" 2>/dev/null` -else - pkg_failed=yes -fi - else - pkg_failed=untried -fi -if test -n "$PULSE_LIBS"; then - pkg_cv_PULSE_LIBS="$PULSE_LIBS" - elif test -n "$PKG_CONFIG"; then - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libpulse-simple\""; } >&5 - ($PKG_CONFIG --exists --print-errors "libpulse-simple") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_PULSE_LIBS=`$PKG_CONFIG --libs "libpulse-simple" 2>/dev/null` -else - pkg_failed=yes -fi - else - pkg_failed=untried -fi - - - -if test $pkg_failed = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - -if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then - _pkg_short_errors_supported=yes -else - _pkg_short_errors_supported=no -fi - if test $_pkg_short_errors_supported = yes; then - PULSE_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "libpulse-simple" 2>&1` - else - PULSE_PKG_ERRORS=`$PKG_CONFIG --print-errors "libpulse-simple" 2>&1` - fi - # Put the nasty error message in config.log where it belongs - echo "$PULSE_PKG_ERRORS" >&5 - - as_fn_error $? "PulseAudio support requires the pulse-simple library!" "$LINENO" 5 -elif test $pkg_failed = untried; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - as_fn_error $? "PulseAudio support requires the pulse-simple library!" "$LINENO" 5 -else - PULSE_CFLAGS=$pkg_cv_PULSE_CFLAGS - PULSE_LIBS=$pkg_cv_PULSE_LIBS - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - -fi - LIBS="$LIBS `pkg-config --libs libpulse-simple`" -fi - - - # Look for OSS flag - -# Check whether --with-oss was given. -if test "${with_oss+set}" = set; then : - withval=$with_oss; - api="$api -D__LINUX_OSS__" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: using OSS" >&5 -$as_echo "using OSS" >&6; } -fi - - - # If no audio api flags specified, use ALSA - if test "$api" == ""; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: using ALSA" >&5 -$as_echo "using ALSA" >&6; } - api=-D__LINUX_ALSA__ - - req="$req alsa" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for snd_pcm_open in -lasound" >&5 -$as_echo_n "checking for snd_pcm_open in -lasound... " >&6; } -if ${ac_cv_lib_asound_snd_pcm_open+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lasound $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char snd_pcm_open (); -int -main () -{ -return snd_pcm_open (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_asound_snd_pcm_open=yes -else - ac_cv_lib_asound_snd_pcm_open=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_asound_snd_pcm_open" >&5 -$as_echo "$ac_cv_lib_asound_snd_pcm_open" >&6; } -if test "x$ac_cv_lib_asound_snd_pcm_open" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBASOUND 1 -_ACEOF - - LIBS="-lasound $LIBS" - -else - as_fn_error $? "ALSA support requires the asound library!" "$LINENO" 5 -fi - - fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_create in -lpthread" >&5 -$as_echo_n "checking for pthread_create in -lpthread... " >&6; } -if ${ac_cv_lib_pthread_pthread_create+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lpthread $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char pthread_create (); -int -main () -{ -return pthread_create (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_pthread_pthread_create=yes -else - ac_cv_lib_pthread_pthread_create=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pthread_pthread_create" >&5 -$as_echo "$ac_cv_lib_pthread_pthread_create" >&6; } -if test "x$ac_cv_lib_pthread_pthread_create" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBPTHREAD 1 -_ACEOF - - LIBS="-lpthread $LIBS" - -else - as_fn_error $? "RtAudio requires the pthread library!" "$LINENO" 5 -fi - - ;; - - *-apple*) - -# Check whether --with-jack was given. -if test "${with_jack+set}" = set; then : - withval=$with_jack; - api="$api -D__UNIX_JACK__" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: using JACK" >&5 -$as_echo "using JACK" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for jack_client_open in -ljack" >&5 -$as_echo_n "checking for jack_client_open in -ljack... " >&6; } -if ${ac_cv_lib_jack_jack_client_open+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ljack $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char jack_client_open (); -int -main () -{ -return jack_client_open (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_jack_jack_client_open=yes -else - ac_cv_lib_jack_jack_client_open=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_jack_jack_client_open" >&5 -$as_echo "$ac_cv_lib_jack_jack_client_open" >&6; } -if test "x$ac_cv_lib_jack_jack_client_open" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBJACK 1 -_ACEOF - - LIBS="-ljack $LIBS" - -else - as_fn_error $? "JACK support requires the jack library!" "$LINENO" 5 -fi - -fi - - -# AC_CHECK_HEADER(jack/jack.h, [], [AC_MSG_ERROR(Jack header file not found!)] ) -# LIBS="$LIBS -framework jackmp" ], ) - - - # Look for Core flag - -# Check whether --with-core was given. -if test "${with_core+set}" = set; then : - withval=$with_core; - api="$api -D__MACOSX_CORE__" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: using CoreAudio" >&5 -$as_echo "using CoreAudio" >&6; } - ac_fn_c_check_header_mongrel "$LINENO" "CoreAudio/CoreAudio.h" "ac_cv_header_CoreAudio_CoreAudio_h" "$ac_includes_default" -if test "x$ac_cv_header_CoreAudio_CoreAudio_h" = xyes; then : - -else - as_fn_error $? "CoreAudio header files not found!" "$LINENO" 5 -fi - - - LIBS="$LIBS -framework CoreAudio -framework CoreFoundation" -fi - - - # If no audio api flags specified, use CoreAudio - if test "$api" == ""; then - api=-D__MACOSX_CORE__ - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: using CoreAudio" >&5 -$as_echo "using CoreAudio" >&6; } - ac_fn_c_check_header_mongrel "$LINENO" "CoreAudio/CoreAudio.h" "ac_cv_header_CoreAudio_CoreAudio_h" "$ac_includes_default" -if test "x$ac_cv_header_CoreAudio_CoreAudio_h" = xyes; then : - -else - as_fn_error $? "CoreAudio header files not found!" "$LINENO" 5 -fi - - - LIBS="-framework CoreAudio -framework CoreFoundation" - - fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_create in -lpthread" >&5 -$as_echo_n "checking for pthread_create in -lpthread... " >&6; } -if ${ac_cv_lib_pthread_pthread_create+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lpthread $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char pthread_create (); -int -main () -{ -return pthread_create (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_pthread_pthread_create=yes -else - ac_cv_lib_pthread_pthread_create=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pthread_pthread_create" >&5 -$as_echo "$ac_cv_lib_pthread_pthread_create" >&6; } -if test "x$ac_cv_lib_pthread_pthread_create" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBPTHREAD 1 -_ACEOF - - LIBS="-lpthread $LIBS" - -else - as_fn_error $? "RtAudio requires the pthread library!" "$LINENO" 5 -fi - - ;; - - *-mingw32*) - -# Check whether --with-asio was given. -if test "${with_asio+set}" = set; then : - withval=$with_asio; - api="$api -D__WINDOWS_ASIO__" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: using ASIO" >&5 -$as_echo "using ASIO" >&6; } - objects="asio.o asiodrivers.o asiolist.o iasiothiscallresolver.o" - -fi - - - # Look for DirectSound flag - -# Check whether --with-ds was given. -if test "${with_ds+set}" = set; then : - withval=$with_ds; - api="$api -D__WINDOWS_DS__" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: using DirectSound" >&5 -$as_echo "using DirectSound" >&6; } - LIBS="-ldsound -lwinmm $LIBS" -fi - - - # If no audio api flags specified, use DirectSound - if test "$api" == ""; then - api=-D__WINDOWS_DS__ - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: using DirectSound" >&5 -$as_echo "using DirectSound" >&6; } - LIBS="-ldsound -lwinmm $LIBS" - fi - - LIBS="-lole32 $LIBS" - ;; - - *) - # Default case for unknown realtime systems. - as_fn_error $? "Unknown system type for realtime support!" "$LINENO" 5 - ;; -esac - -CPPFLAGS="$CPPFLAGS $api" - -cat >confcache <<\_ACEOF -# This file is a shell script that caches the results of configure -# tests run on this system so they can be shared between configure -# scripts and configure runs, see configure's option --config-cache. -# It is not useful on other systems. If it contains results you don't -# want to keep, you may remove or edit it. -# -# config.status only pays attention to the cache file if you give it -# the --recheck option to rerun configure. -# -# `ac_cv_env_foo' variables (set or unset) will be overridden when -# loading this file, other *unset* `ac_cv_foo' will be assigned the -# following values. - -_ACEOF - -# The following way of writing the cache mishandles newlines in values, -# but we know of no workaround that is simple, portable, and efficient. -# So, we kill variables containing newlines. -# Ultrix sh set writes to stderr and can't be redirected directly, -# and sets the high bit in the cache file unless we assign to the vars. -( - for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do - eval ac_val=\$$ac_var - case $ac_val in #( - *${as_nl}*) - case $ac_var in #( - *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 -$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; - esac - case $ac_var in #( - _ | IFS | as_nl) ;; #( - BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( - *) { eval $ac_var=; unset $ac_var;} ;; - esac ;; - esac - done - - (set) 2>&1 | - case $as_nl`(ac_space=' '; set) 2>&1` in #( - *${as_nl}ac_space=\ *) - # `set' does not quote correctly, so add quotes: double-quote - # substitution turns \\\\ into \\, and sed turns \\ into \. - sed -n \ - "s/'/'\\\\''/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" - ;; #( - *) - # `set' quotes correctly as required by POSIX, so do not add quotes. - sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" - ;; - esac | - sort -) | - sed ' - /^ac_cv_env_/b end - t clear - :clear - s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ - t end - s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ - :end' >>confcache -if diff "$cache_file" confcache >/dev/null 2>&1; then :; else - if test -w "$cache_file"; then - if test "x$cache_file" != "x/dev/null"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 -$as_echo "$as_me: updating cache $cache_file" >&6;} - if test ! -f "$cache_file" || test -h "$cache_file"; then - cat confcache >"$cache_file" - else - case $cache_file in #( - */* | ?:*) - mv -f confcache "$cache_file"$$ && - mv -f "$cache_file"$$ "$cache_file" ;; #( - *) - mv -f confcache "$cache_file" ;; - esac - fi - fi - else - { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 -$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} - fi -fi -rm -f confcache - -test "x$prefix" = xNONE && prefix=$ac_default_prefix -# Let make expand exec_prefix. -test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' - -# Transform confdefs.h into DEFS. -# Protect against shell expansion while executing Makefile rules. -# Protect against Makefile macro expansion. -# -# If the first sed substitution is executed (which looks for macros that -# take arguments), then branch to the quote section. Otherwise, -# look for a macro that doesn't take arguments. -ac_script=' -:mline -/\\$/{ - N - s,\\\n,, - b mline -} -t clear -:clear -s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g -t quote -s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g -t quote -b any -:quote -s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g -s/\[/\\&/g -s/\]/\\&/g -s/\$/$$/g -H -:any -${ - g - s/^\n// - s/\n/ /g - p -} -' -DEFS=`sed -n "$ac_script" confdefs.h` - - -ac_libobjs= -ac_ltlibobjs= -U= -for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue - # 1. Remove the extension, and $U if already installed. - ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' - ac_i=`$as_echo "$ac_i" | sed "$ac_script"` - # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR - # will be set to the directory where LIBOBJS objects are built. - as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" - as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' -done -LIBOBJS=$ac_libobjs - -LTLIBOBJS=$ac_ltlibobjs - - - -: "${CONFIG_STATUS=./config.status}" -ac_write_fail=0 -ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files $CONFIG_STATUS" -{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 -$as_echo "$as_me: creating $CONFIG_STATUS" >&6;} -as_write_fail=0 -cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 -#! $SHELL -# Generated by $as_me. -# Run this file to recreate the current configuration. -# Compiler output produced by configure, useful for debugging -# configure, is in config.log if it exists. - -debug=false -ac_cs_recheck=false -ac_cs_silent=false - -SHELL=\${CONFIG_SHELL-$SHELL} -export SHELL -_ASEOF -cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 -## -------------------- ## -## M4sh Initialization. ## -## -------------------- ## - -# Be more Bourne compatible -DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in #( - *posix*) : - set -o posix ;; #( - *) : - ;; -esac -fi - - -as_nl=' -' -export as_nl -# Printing a long string crashes Solaris 7 /usr/bin/printf. -as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -# Prefer a ksh shell builtin over an external printf program on Solaris, -# but without wasting forks for bash or zsh. -if test -z "$BASH_VERSION$ZSH_VERSION" \ - && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='print -r --' - as_echo_n='print -rn --' -elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='printf %s\n' - as_echo_n='printf %s' -else - if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then - as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' - as_echo_n='/usr/ucb/echo -n' - else - as_echo_body='eval expr "X$1" : "X\\(.*\\)"' - as_echo_n_body='eval - arg=$1; - case $arg in #( - *"$as_nl"*) - expr "X$arg" : "X\\(.*\\)$as_nl"; - arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; - esac; - expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" - ' - export as_echo_n_body - as_echo_n='sh -c $as_echo_n_body as_echo' - fi - export as_echo_body - as_echo='sh -c $as_echo_body as_echo' -fi - -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - PATH_SEPARATOR=: - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { - (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || - PATH_SEPARATOR=';' - } -fi - - -# IFS -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent editors from complaining about space-tab. -# (If _AS_PATH_WALK were called with IFS unset, it would disable word -# splitting by setting IFS to empty value.) -IFS=" "" $as_nl" - -# Find who we are. Look in the path if we contain no directory separator. -as_myself= -case $0 in #(( - *[\\/]* ) as_myself=$0 ;; - *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break - done -IFS=$as_save_IFS - - ;; -esac -# We did not find ourselves, most probably we were run as `sh COMMAND' -# in which case we are not to be found in the path. -if test "x$as_myself" = x; then - as_myself=$0 -fi -if test ! -f "$as_myself"; then - $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - exit 1 -fi - -# Unset variables that we do not need and which cause bugs (e.g. in -# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" -# suppresses any "Segmentation fault" message there. '((' could -# trigger a bug in pdksh 5.2.14. -for as_var in BASH_ENV ENV MAIL MAILPATH -do eval test x\${$as_var+set} = xset \ - && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : -done -PS1='$ ' -PS2='> ' -PS4='+ ' - -# NLS nuisances. -LC_ALL=C -export LC_ALL -LANGUAGE=C -export LANGUAGE - -# CDPATH. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - - -# as_fn_error STATUS ERROR [LINENO LOG_FD] -# ---------------------------------------- -# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are -# provided, also output the error to LOG_FD, referencing LINENO. Then exit the -# script with STATUS, using 1 if that was 0. -as_fn_error () -{ - as_status=$1; test $as_status -eq 0 && as_status=1 - if test "$4"; then - as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 - fi - $as_echo "$as_me: error: $2" >&2 - as_fn_exit $as_status -} # as_fn_error - - -# as_fn_set_status STATUS -# ----------------------- -# Set $? to STATUS, without forking. -as_fn_set_status () -{ - return $1 -} # as_fn_set_status - -# as_fn_exit STATUS -# ----------------- -# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. -as_fn_exit () -{ - set +e - as_fn_set_status $1 - exit $1 -} # as_fn_exit - -# as_fn_unset VAR -# --------------- -# Portably unset VAR. -as_fn_unset () -{ - { eval $1=; unset $1;} -} -as_unset=as_fn_unset -# as_fn_append VAR VALUE -# ---------------------- -# Append the text in VALUE to the end of the definition contained in VAR. Take -# advantage of any shell optimizations that allow amortized linear growth over -# repeated appends, instead of the typical quadratic growth present in naive -# implementations. -if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : - eval 'as_fn_append () - { - eval $1+=\$2 - }' -else - as_fn_append () - { - eval $1=\$$1\$2 - } -fi # as_fn_append - -# as_fn_arith ARG... -# ------------------ -# Perform arithmetic evaluation on the ARGs, and store the result in the -# global $as_val. Take advantage of shells that can avoid forks. The arguments -# must be portable across $(()) and expr. -if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : - eval 'as_fn_arith () - { - as_val=$(( $* )) - }' -else - as_fn_arith () - { - as_val=`expr "$@" || test $? -eq 1` - } -fi # as_fn_arith - - -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi - -if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then - as_basename=basename -else - as_basename=false -fi - -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi - -as_me=`$as_basename -- "$0" || -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ - s//\1/ - q - } - /^X\/\(\/\/\)$/{ - s//\1/ - q - } - /^X\/\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - -ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in #((((( --n*) - case `echo 'xy\c'` in - *c*) ECHO_T=' ';; # ECHO_T is single tab character. - xy) ECHO_C='\c';; - *) echo `echo ksh88 bug on AIX 6.1` > /dev/null - ECHO_T=' ';; - esac;; -*) - ECHO_N='-n';; -esac - -rm -f conf$$ conf$$.exe conf$$.file -if test -d conf$$.dir; then - rm -f conf$$.dir/conf$$.file -else - rm -f conf$$.dir - mkdir conf$$.dir 2>/dev/null -fi -if (echo >conf$$.file) 2>/dev/null; then - if ln -s conf$$.file conf$$ 2>/dev/null; then - as_ln_s='ln -s' - # ... but there are two gotchas: - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -pR'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -pR' - elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln - else - as_ln_s='cp -pR' - fi -else - as_ln_s='cp -pR' -fi -rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -rmdir conf$$.dir 2>/dev/null - - -# as_fn_mkdir_p -# ------------- -# Create "$as_dir" as a directory, including parents if necessary. -as_fn_mkdir_p () -{ - - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || eval $as_mkdir_p || { - as_dirs= - while :; do - case $as_dir in #( - *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( - *) as_qdir=$as_dir;; - esac - as_dirs="'$as_qdir' $as_dirs" - as_dir=`$as_dirname -- "$as_dir" || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - test -d "$as_dir" && break - done - test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" - - -} # as_fn_mkdir_p -if mkdir -p . 2>/dev/null; then - as_mkdir_p='mkdir -p "$as_dir"' -else - test -d ./-p && rmdir ./-p - as_mkdir_p=false -fi - - -# as_fn_executable_p FILE -# ----------------------- -# Test if FILE is an executable regular file. -as_fn_executable_p () -{ - test -f "$1" && test -x "$1" -} # as_fn_executable_p -as_test_x='test -x' -as_executable_p=as_fn_executable_p - -# Sed expression to map a string onto a valid CPP name. -as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" - -# Sed expression to map a string onto a valid variable name. -as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" - - -exec 6>&1 -## ----------------------------------- ## -## Main body of $CONFIG_STATUS script. ## -## ----------------------------------- ## -_ASEOF -test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -# Save the log message, to keep $0 and so on meaningful, and to -# report actual input values of CONFIG_FILES etc. instead of their -# values after options handling. -ac_log=" -This file was extended by RtAudio $as_me 4.0, which was -generated by GNU Autoconf 2.69. Invocation command line was - - CONFIG_FILES = $CONFIG_FILES - CONFIG_HEADERS = $CONFIG_HEADERS - CONFIG_LINKS = $CONFIG_LINKS - CONFIG_COMMANDS = $CONFIG_COMMANDS - $ $0 $@ - -on `(hostname || uname -n) 2>/dev/null | sed 1q` -" - -_ACEOF - -case $ac_config_files in *" -"*) set x $ac_config_files; shift; ac_config_files=$*;; -esac - - - -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -# Files that config.status was made for. -config_files="$ac_config_files" - -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -ac_cs_usage="\ -\`$as_me' instantiates files and other configuration actions -from templates according to the current configuration. Unless the files -and actions are specified as TAGs, all are instantiated by default. - -Usage: $0 [OPTION]... [TAG]... - - -h, --help print this help, then exit - -V, --version print version number and configuration settings, then exit - --config print configuration, then exit - -q, --quiet, --silent - do not print progress messages - -d, --debug don't remove temporary files - --recheck update $as_me by reconfiguring in the same conditions - --file=FILE[:TEMPLATE] - instantiate the configuration file FILE - -Configuration files: -$config_files - -Report bugs to ." - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" -ac_cs_version="\\ -RtAudio config.status 4.0 -configured by $0, generated by GNU Autoconf 2.69, - with options \\"\$ac_cs_config\\" - -Copyright (C) 2012 Free Software Foundation, Inc. -This config.status script is free software; the Free Software Foundation -gives unlimited permission to copy, distribute and modify it." - -ac_pwd='$ac_pwd' -srcdir='$srcdir' -test -n "\$AWK" || AWK=awk -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -# The default lists apply if the user does not specify any file. -ac_need_defaults=: -while test $# != 0 -do - case $1 in - --*=?*) - ac_option=`expr "X$1" : 'X\([^=]*\)='` - ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` - ac_shift=: - ;; - --*=) - ac_option=`expr "X$1" : 'X\([^=]*\)='` - ac_optarg= - ac_shift=: - ;; - *) - ac_option=$1 - ac_optarg=$2 - ac_shift=shift - ;; - esac - - case $ac_option in - # Handling of the options. - -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) - ac_cs_recheck=: ;; - --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) - $as_echo "$ac_cs_version"; exit ;; - --config | --confi | --conf | --con | --co | --c ) - $as_echo "$ac_cs_config"; exit ;; - --debug | --debu | --deb | --de | --d | -d ) - debug=: ;; - --file | --fil | --fi | --f ) - $ac_shift - case $ac_optarg in - *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; - '') as_fn_error $? "missing file argument" ;; - esac - as_fn_append CONFIG_FILES " '$ac_optarg'" - ac_need_defaults=false;; - --he | --h | --help | --hel | -h ) - $as_echo "$ac_cs_usage"; exit ;; - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil | --si | --s) - ac_cs_silent=: ;; - - # This is an error. - -*) as_fn_error $? "unrecognized option: \`$1' -Try \`$0 --help' for more information." ;; - - *) as_fn_append ac_config_targets " $1" - ac_need_defaults=false ;; - - esac - shift -done - -ac_configure_extra_args= - -if $ac_cs_silent; then - exec 6>/dev/null - ac_configure_extra_args="$ac_configure_extra_args --silent" -fi - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -if \$ac_cs_recheck; then - set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion - shift - \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 - CONFIG_SHELL='$SHELL' - export CONFIG_SHELL - exec "\$@" -fi - -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -exec 5>>config.log -{ - echo - sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX -## Running $as_me. ## -_ASBOX - $as_echo "$ac_log" -} >&5 - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 - -# Handling of arguments. -for ac_config_target in $ac_config_targets -do - case $ac_config_target in - "rtaudio-config") CONFIG_FILES="$CONFIG_FILES rtaudio-config" ;; - "librtaudio.pc") CONFIG_FILES="$CONFIG_FILES librtaudio.pc" ;; - "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; - "tests/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Makefile" ;; - - *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; - esac -done - - -# If the user did not use the arguments to specify the items to instantiate, -# then the envvar interface is used. Set only those that are not. -# We use the long form for the default assignment because of an extremely -# bizarre bug on SunOS 4.1.3. -if $ac_need_defaults; then - test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files -fi - -# Have a temporary directory for convenience. Make it in the build tree -# simply because there is no reason against having it here, and in addition, -# creating and moving files from /tmp can sometimes cause problems. -# Hook for its removal unless debugging. -# Note that there is a small window in which the directory will not be cleaned: -# after its creation but before its name has been assigned to `$tmp'. -$debug || -{ - tmp= ac_tmp= - trap 'exit_status=$? - : "${ac_tmp:=$tmp}" - { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status -' 0 - trap 'as_fn_exit 1' 1 2 13 15 -} -# Create a (secure) tmp directory for tmp files. - -{ - tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && - test -d "$tmp" -} || -{ - tmp=./conf$$-$RANDOM - (umask 077 && mkdir "$tmp") -} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 -ac_tmp=$tmp - -# Set up the scripts for CONFIG_FILES section. -# No need to generate them if there are no CONFIG_FILES. -# This happens for instance with `./config.status config.h'. -if test -n "$CONFIG_FILES"; then - - -ac_cr=`echo X | tr X '\015'` -# On cygwin, bash can eat \r inside `` if the user requested igncr. -# But we know of no other shell where ac_cr would be empty at this -# point, so we can use a bashism as a fallback. -if test "x$ac_cr" = x; then - eval ac_cr=\$\'\\r\' -fi -ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` -if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then - ac_cs_awk_cr='\\r' -else - ac_cs_awk_cr=$ac_cr -fi - -echo 'BEGIN {' >"$ac_tmp/subs1.awk" && -_ACEOF - - -{ - echo "cat >conf$$subs.awk <<_ACEOF" && - echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && - echo "_ACEOF" -} >conf$$subs.sh || - as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 -ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` -ac_delim='%!_!# ' -for ac_last_try in false false false false false :; do - . ./conf$$subs.sh || - as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 - - ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` - if test $ac_delim_n = $ac_delim_num; then - break - elif $ac_last_try; then - as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 - else - ac_delim="$ac_delim!$ac_delim _$ac_delim!! " - fi -done -rm -f conf$$subs.sh - -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && -_ACEOF -sed -n ' -h -s/^/S["/; s/!.*/"]=/ -p -g -s/^[^!]*!// -:repl -t repl -s/'"$ac_delim"'$// -t delim -:nl -h -s/\(.\{148\}\)..*/\1/ -t more1 -s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ -p -n -b repl -:more1 -s/["\\]/\\&/g; s/^/"/; s/$/"\\/ -p -g -s/.\{148\}// -t nl -:delim -h -s/\(.\{148\}\)..*/\1/ -t more2 -s/["\\]/\\&/g; s/^/"/; s/$/"/ -p -b -:more2 -s/["\\]/\\&/g; s/^/"/; s/$/"\\/ -p -g -s/.\{148\}// -t delim -' >$CONFIG_STATUS || ac_write_fail=1 -rm -f conf$$subs.awk -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -_ACAWK -cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && - for (key in S) S_is_set[key] = 1 - FS = "" - -} -{ - line = $ 0 - nfields = split(line, field, "@") - substed = 0 - len = length(field[1]) - for (i = 2; i < nfields; i++) { - key = field[i] - keylen = length(key) - if (S_is_set[key]) { - value = S[key] - line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) - len += length(value) + length(field[++i]) - substed = 1 - } else - len += 1 + keylen - } - - print line -} - -_ACAWK -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then - sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" -else - cat -fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ - || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 -_ACEOF - -# VPATH may cause trouble with some makes, so we remove sole $(srcdir), -# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and -# trailing colons and then remove the whole line if VPATH becomes empty -# (actually we leave an empty line to preserve line numbers). -if test "x$srcdir" = x.; then - ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ -h -s/// -s/^/:/ -s/[ ]*$/:/ -s/:\$(srcdir):/:/g -s/:\${srcdir}:/:/g -s/:@srcdir@:/:/g -s/^:*// -s/:*$// -x -s/\(=[ ]*\).*/\1/ -G -s/\n// -s/^[^=]*=[ ]*$// -}' -fi - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -fi # test -n "$CONFIG_FILES" - - -eval set X " :F $CONFIG_FILES " -shift -for ac_tag -do - case $ac_tag in - :[FHLC]) ac_mode=$ac_tag; continue;; - esac - case $ac_mode$ac_tag in - :[FHL]*:*);; - :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; - :[FH]-) ac_tag=-:-;; - :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; - esac - ac_save_IFS=$IFS - IFS=: - set x $ac_tag - IFS=$ac_save_IFS - shift - ac_file=$1 - shift - - case $ac_mode in - :L) ac_source=$1;; - :[FH]) - ac_file_inputs= - for ac_f - do - case $ac_f in - -) ac_f="$ac_tmp/stdin";; - *) # Look for the file first in the build tree, then in the source tree - # (if the path is not absolute). The absolute path cannot be DOS-style, - # because $ac_f cannot contain `:'. - test -f "$ac_f" || - case $ac_f in - [\\/$]*) false;; - *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; - esac || - as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; - esac - case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac - as_fn_append ac_file_inputs " '$ac_f'" - done - - # Let's still pretend it is `configure' which instantiates (i.e., don't - # use $as_me), people would be surprised to read: - # /* config.h. Generated by config.status. */ - configure_input='Generated from '` - $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' - `' by configure.' - if test x"$ac_file" != x-; then - configure_input="$ac_file. $configure_input" - { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 -$as_echo "$as_me: creating $ac_file" >&6;} - fi - # Neutralize special characters interpreted by sed in replacement strings. - case $configure_input in #( - *\&* | *\|* | *\\* ) - ac_sed_conf_input=`$as_echo "$configure_input" | - sed 's/[\\\\&|]/\\\\&/g'`;; #( - *) ac_sed_conf_input=$configure_input;; - esac - - case $ac_tag in - *:-:* | *:-) cat >"$ac_tmp/stdin" \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; - esac - ;; - esac - - ac_dir=`$as_dirname -- "$ac_file" || -$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$ac_file" : 'X\(//\)[^/]' \| \ - X"$ac_file" : 'X\(//\)$' \| \ - X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$ac_file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - as_dir="$ac_dir"; as_fn_mkdir_p - ac_builddir=. - -case "$ac_dir" in -.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; -*) - ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` - # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` - case $ac_top_builddir_sub in - "") ac_top_builddir_sub=. ac_top_build_prefix= ;; - *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; - esac ;; -esac -ac_abs_top_builddir=$ac_pwd -ac_abs_builddir=$ac_pwd$ac_dir_suffix -# for backward compatibility: -ac_top_builddir=$ac_top_build_prefix - -case $srcdir in - .) # We are building in place. - ac_srcdir=. - ac_top_srcdir=$ac_top_builddir_sub - ac_abs_top_srcdir=$ac_pwd ;; - [\\/]* | ?:[\\/]* ) # Absolute name. - ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir - ac_abs_top_srcdir=$srcdir ;; - *) # Relative name. - ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_build_prefix$srcdir - ac_abs_top_srcdir=$ac_pwd/$srcdir ;; -esac -ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix - - - case $ac_mode in - :F) - # - # CONFIG_FILE - # - -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -# If the template does not know about datarootdir, expand it. -# FIXME: This hack should be removed a few years after 2.60. -ac_datarootdir_hack=; ac_datarootdir_seen= -ac_sed_dataroot=' -/datarootdir/ { - p - q -} -/@datadir@/p -/@docdir@/p -/@infodir@/p -/@localedir@/p -/@mandir@/p' -case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in -*datarootdir*) ac_datarootdir_seen=yes;; -*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 -$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 - ac_datarootdir_hack=' - s&@datadir@&$datadir&g - s&@docdir@&$docdir&g - s&@infodir@&$infodir&g - s&@localedir@&$localedir&g - s&@mandir@&$mandir&g - s&\\\${datarootdir}&$datarootdir&g' ;; -esac -_ACEOF - -# Neutralize VPATH when `$srcdir' = `.'. -# Shell code in configure.ac might set extrasub. -# FIXME: do we really want to maintain this feature? -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -ac_sed_extra="$ac_vpsub -$extrasub -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -:t -/@[a-zA-Z_][a-zA-Z_0-9]*@/!b -s|@configure_input@|$ac_sed_conf_input|;t t -s&@top_builddir@&$ac_top_builddir_sub&;t t -s&@top_build_prefix@&$ac_top_build_prefix&;t t -s&@srcdir@&$ac_srcdir&;t t -s&@abs_srcdir@&$ac_abs_srcdir&;t t -s&@top_srcdir@&$ac_top_srcdir&;t t -s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t -s&@builddir@&$ac_builddir&;t t -s&@abs_builddir@&$ac_abs_builddir&;t t -s&@abs_top_builddir@&$ac_abs_top_builddir&;t t -$ac_datarootdir_hack -" -eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ - >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - -test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && - { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && - { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ - "$ac_tmp/out"`; test -z "$ac_out"; } && - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined" >&5 -$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined" >&2;} - - rm -f "$ac_tmp/stdin" - case $ac_file in - -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; - *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; - esac \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - ;; - - - - esac - -done # for ac_tag - - -as_fn_exit 0 -_ACEOF -ac_clean_files=$ac_clean_files_save - -test $ac_write_fail = 0 || - as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 - - -# configure is writing to config.log, and then calls config.status. -# config.status does its own redirection, appending to config.log. -# Unfortunately, on DOS this fails, as config.log is still kept open -# by configure, so config.status won't be able to write to it; its -# output is simply discarded. So we exec the FD to /dev/null, -# effectively closing config.log, so it can be properly (re)opened and -# appended to by config.status. When coming back to configure, we -# need to make the FD available again. -if test "$no_create" != yes; then - ac_cs_success=: - ac_config_status_args= - test "$silent" = yes && - ac_config_status_args="$ac_config_status_args --quiet" - exec 5>/dev/null - $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false - exec 5>>config.log - # Use ||, not &&, to avoid exiting from the if with $? = 1, which - # would make configure fail if this is the last instruction. - $ac_cs_success || as_fn_exit 1 -fi -if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 -$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} -fi - - -chmod oug+x rtaudio-config diff --git a/source/modules/rtaudio/configure.ac b/source/modules/rtaudio/configure.ac deleted file mode 100644 index 6586116d1..000000000 --- a/source/modules/rtaudio/configure.ac +++ /dev/null @@ -1,185 +0,0 @@ -# Process this file with autoconf to produce a configure script. -AC_INIT(RtAudio, 4.0, gary@music.mcgill.ca, rtaudio) -AC_CONFIG_AUX_DIR(config) -AC_CONFIG_SRCDIR(RtAudio.cpp) -AC_CONFIG_FILES([rtaudio-config librtaudio.pc Makefile tests/Makefile]) - -# Fill GXX with something before test. -AC_SUBST( GXX, ["no"] ) - -dnl Check for pkg-config program, used for configuring some libraries. -m4_define_default([PKG_PROG_PKG_CONFIG], -[AC_MSG_CHECKING([pkg-config]) -AC_MSG_RESULT([no])]) - -PKG_PROG_PKG_CONFIG - -dnl If the pkg-config autoconf support isn't installed, define its -dnl autoconf macro to disable any packages depending on it. -m4_define_default([PKG_CHECK_MODULES], -[AC_MSG_CHECKING([$1]) -AC_MSG_RESULT([no]) -$4]) - -# Checks for programs. -AC_PROG_CXX(g++ CC c++ cxx) -AC_PROG_RANLIB -AC_PATH_PROG(AR, ar, no) -if [[ $AR = "no" ]] ; then - AC_MSG_ERROR("Could not find ar - needed to create a library"); -fi - -# Checks for header files. -AC_HEADER_STDC -AC_CHECK_HEADERS(sys/ioctl.h unistd.h) - -# Check for debug -AC_MSG_CHECKING(whether to compile debug version) -AC_ARG_ENABLE(debug, - [ --enable-debug = enable various debug output], - [AC_SUBST( cppflag, [-D__RTAUDIO_DEBUG__] ) AC_SUBST( cxxflag, [-g] ) AC_SUBST( object_path, [Debug] ) AC_MSG_RESULT(yes)], - [AC_SUBST( cppflag, [] ) AC_SUBST( cxxflag, [-O2] ) AC_SUBST( object_path, [Release] ) AC_MSG_RESULT(no)]) - - -# Checks for functions -AC_CHECK_FUNC(gettimeofday, [cppflag="$cppflag -DHAVE_GETTIMEOFDAY"], ) - -# For -I and -D flags -CPPFLAGS="$CPPFLAGS $cppflag" - -# For debugging and optimization ... overwrite default because it has both -g and -O2 -#CXXFLAGS="$CXXFLAGS $cxxflag" -CXXFLAGS="$cxxflag" - -# Check compiler and use -Wall if gnu. -if [test $GXX = "yes" ;] then - AC_SUBST( cxxflag, [-Wall] ) -fi - -CXXFLAGS="$CXXFLAGS $cxxflag" - -AC_CANONICAL_HOST - -AC_SUBST( sharedlib, ["librtaudio.so"] ) -AC_SUBST( sharedname, ["librtaudio.so.\$(RELEASE)"] ) -AC_SUBST( libflags, ["-shared -Wl,-soname,\$(SHARED).\$(MAJOR) -o \$(SHARED).\$(RELEASE)"] ) -case $host in - *-apple*) - AC_SUBST( sharedlib, ["librtaudio.dylib"] ) - AC_SUBST( sharedname, ["librtaudio.\$(RELEASE).dylib"] ) - AC_SUBST( libflags, ["-dynamiclib -o librtaudio.\$(RELEASE).dylib"] ) -esac - -# Checks for package options and external software -AC_SUBST( api, [""] ) -AC_SUBST( req, [""] ) -AC_MSG_CHECKING(for audio API) -case $host in - *-*-netbsd*) - AC_MSG_RESULT(using OSS) - api="$api -D__LINUX_OSS__" - LIBS="$LIBS -lossaudio" - AC_CHECK_LIB(pthread, pthread_create, , AC_MSG_ERROR(RtAudio requires the pthread library!)) - ;; - - *-*-linux*) - AC_ARG_WITH(jack, [ --with-jack = choose JACK server support (mac and linux only)], [ - api="$api -D__UNIX_JACK__" - AC_MSG_RESULT(using JACK) - AC_CHECK_LIB(jack, jack_client_open, , AC_MSG_ERROR(JACK support requires the jack library!)) - AC_CHECK_LIB(asound, snd_pcm_open, , AC_MSG_ERROR(Jack support also requires the asound library!))], ) - - # Look for ALSA flag - AC_ARG_WITH(alsa, [ --with-alsa = choose native ALSA API support (linux only)], [ - api="$api -D__LINUX_ALSA__" - req="$req alsa" - AC_MSG_RESULT(using ALSA) - AC_CHECK_LIB(asound, snd_pcm_open, , AC_MSG_ERROR(ALSA support requires the asound library!))], ) - - # Look for PULSE flag - AC_ARG_WITH(pulse, [ --with-pulse = choose PulseAudio API support (linux only)], [ - api="$api -D__LINUX_PULSE__" - req="$req libpulse-simple" - AC_MSG_RESULT(using PulseAudio) - PKG_CHECK_MODULES([PULSE], [libpulse-simple], , AC_MSG_ERROR(PulseAudio support requires the pulse-simple library!)) - LIBS="$LIBS `pkg-config --libs libpulse-simple`" ], ) - - # Look for OSS flag - AC_ARG_WITH(oss, [ --with-oss = choose OSS API support (linux only)], [ - api="$api -D__LINUX_OSS__" - AC_MSG_RESULT(using OSS)], ) - - # If no audio api flags specified, use ALSA - if [test "$api" == "";] then - AC_MSG_RESULT(using ALSA) - AC_SUBST( api, [-D__LINUX_ALSA__] ) - req="$req alsa" - AC_CHECK_LIB(asound, snd_pcm_open, , AC_MSG_ERROR(ALSA support requires the asound library!)) - fi - - AC_CHECK_LIB(pthread, pthread_create, , AC_MSG_ERROR(RtAudio requires the pthread library!)) - ;; - - *-apple*) - AC_ARG_WITH(jack, [ --with-jack = choose JACK server support (unix only)], [ - api="$api -D__UNIX_JACK__" - AC_MSG_RESULT(using JACK) - AC_CHECK_LIB(jack, jack_client_open, , AC_MSG_ERROR(JACK support requires the jack library!))], ) - -# AC_CHECK_HEADER(jack/jack.h, [], [AC_MSG_ERROR(Jack header file not found!)] ) -# LIBS="$LIBS -framework jackmp" ], ) - - - # Look for Core flag - AC_ARG_WITH(core, [ --with-core = choose CoreAudio API support (mac only)], [ - api="$api -D__MACOSX_CORE__" - AC_MSG_RESULT(using CoreAudio) - AC_CHECK_HEADER(CoreAudio/CoreAudio.h, [], [AC_MSG_ERROR(CoreAudio header files not found!)] ) - LIBS="$LIBS -framework CoreAudio -framework CoreFoundation" ], ) - - # If no audio api flags specified, use CoreAudio - if [test "$api" == ""; ] then - AC_SUBST( api, [-D__MACOSX_CORE__] ) - AC_MSG_RESULT(using CoreAudio) - AC_CHECK_HEADER(CoreAudio/CoreAudio.h, - [], - [AC_MSG_ERROR(CoreAudio header files not found!)] ) - AC_SUBST( LIBS, ["-framework CoreAudio -framework CoreFoundation"] ) - fi - - AC_CHECK_LIB(pthread, pthread_create, , AC_MSG_ERROR(RtAudio requires the pthread library!)) - ;; - - *-mingw32*) - AC_ARG_WITH(asio, [ --with-asio = choose ASIO API support (windoze only)], [ - api="$api -D__WINDOWS_ASIO__" - AC_MSG_RESULT(using ASIO) - AC_SUBST( objects, ["asio.o asiodrivers.o asiolist.o iasiothiscallresolver.o"] ) ], ) - - # Look for DirectSound flag - AC_ARG_WITH(ds, [ --with-ds = choose DirectSound API support (windoze only)], [ - api="$api -D__WINDOWS_DS__" - AC_MSG_RESULT(using DirectSound) - LIBS="-ldsound -lwinmm $LIBS" ], ) - - # If no audio api flags specified, use DirectSound - if [test "$api" == "";] then - AC_SUBST( api, [-D__WINDOWS_DS__] ) - AC_MSG_RESULT(using DirectSound) - LIBS="-ldsound -lwinmm $LIBS" - fi - - LIBS="-lole32 $LIBS" - ;; - - *) - # Default case for unknown realtime systems. - AC_MSG_ERROR(Unknown system type for realtime support!) - ;; -esac - -CPPFLAGS="$CPPFLAGS $api" - -AC_OUTPUT - -chmod oug+x rtaudio-config diff --git a/source/modules/rtaudio/contrib/python/pyrtaudio/PyRtAudioTest.py b/source/modules/rtaudio/contrib/python/pyrtaudio/PyRtAudioTest.py deleted file mode 100644 index 1966ce57a..000000000 --- a/source/modules/rtaudio/contrib/python/pyrtaudio/PyRtAudioTest.py +++ /dev/null @@ -1,70 +0,0 @@ - -import rtaudio as rt - -from math import cos - -import struct - - -class audio_generator: - def __init__(self): - self.idx = -1 - self.freq = 440. - def __call__(self): - self.idx += 1 - if self.idx%48000 == 0: - self.freq *= 2**(1/12.) - return 0.5*cos(2.*3.1416*self.freq*self.idx/48000.) - - -class callback: - def __init__(self, gen): - self.gen = gen - self.i = 0 - def __call__(self,playback, capture): - [struct.pack_into("f", playback, 4*o, self.gen()) for o in xrange(256)] - self.i = self.i + 256 - if self.i > 48000*10: - print '.' - return 1 - -dac = rt.RtAudio() - -n = dac.getDeviceCount() -print 'Number of devices available: ', n - -for i in range(n): - try: - print dac.getDeviceInfo(i) - except rt.RtError as e: - print e - - -print 'Default output device: ', dac.getDefaultOutputDevice() -print 'Default input device: ', dac.getDefaultInputDevice() - -print 'is stream open: ', dac.isStreamOpen() -print 'is stream running: ', dac.isStreamRunning() - -oParams = {'deviceId': 1, 'nChannels': 1, 'firstChannel': 0} -iParams = {'deviceId': 1, 'nChannels': 1, 'firstChannel': 0} - -try: - dac.openStream(oParams,oParams,48000,256,callback(audio_generator()) ) -except rt.RtError as e: - print e -else: - dac.startStream() - - import time - print 'latency: ', dac.getStreamLatency() - - while (dac.isStreamRunning()): - time.sleep(0.1) - - print dac.getStreamTime() - - dac.stopStream() - dac.abortStream() - dac.closeStream() - diff --git a/source/modules/rtaudio/contrib/python/pyrtaudio/readme b/source/modules/rtaudio/contrib/python/pyrtaudio/readme deleted file mode 100644 index 56b868c87..000000000 --- a/source/modules/rtaudio/contrib/python/pyrtaudio/readme +++ /dev/null @@ -1,57 +0,0 @@ -PyRtAudio - a python wrapper around RtAudio that allows to perform audio i/o operations in real-time from the python language. - -By Antoine Lefebvre, 2011 - -This software is in the development stage. Do not expect compatibility -with future versions. Comments, suggestions, new features, bug fixes, -etc. are welcome. - - -This distribution of PyRtAudio contains the following: - -- rtaudiomodule.cpp: the python wrapper code -- setup.py: a setup script use to compile and install PyRtAudio -- examples: a single PyRtAudioTest.py script - -INSTALLATION - -The compilation and installation of the PyRtAudio module is handled by -the python Distribution Utilities ("Distutils"). Provided that your -system has a C++ compiler and is properly configure, the following -command should be sufficient: - ->> python setup.py install - -Please refer to the distutils documentation for installation problems: http://docs.python.org/distutils/index.html - -LEGAL AND ETHICAL: - -The PyRtAudio license is the same as the RtAudio license: - - PyRtAudio: a python wrapper around RtAudio - Copyright (c)2011 Antoine Lefebvre - - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation files - (the "Software"), to deal in the Software without restriction, - including without limitation the rights to use, copy, modify, merge, - publish, distribute, sublicense, and/or sell copies of the Software, - and to permit persons to whom the Software is furnished to do so, - subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - Any person wishing to distribute modifications to the Software is - asked to send the modifications to the original developer so that - they can be incorporated into the canonical version. This is, - however, not a binding provision of this license. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR - ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF - CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - diff --git a/source/modules/rtaudio/contrib/python/pyrtaudio/rtaudiomodule.cpp b/source/modules/rtaudio/contrib/python/pyrtaudio/rtaudiomodule.cpp deleted file mode 100644 index 40a87e596..000000000 --- a/source/modules/rtaudio/contrib/python/pyrtaudio/rtaudiomodule.cpp +++ /dev/null @@ -1,605 +0,0 @@ -/************************************************************************/ -/* PyRtAudio: a python wrapper around RtAudio - Copyright (c) 2011 Antoine Lefebvre - - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation files - (the "Software"), to deal in the Software without restriction, - including without limitation the rights to use, copy, modify, merge, - publish, distribute, sublicense, and/or sell copies of the Software, - and to permit persons to whom the Software is furnished to do so, - subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - Any person wishing to distribute modifications to the Software is - asked to send the modifications to the original developer so that - they can be incorporated into the canonical version. This is, - however, not a binding provision of this license. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR - ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF - CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -*/ -/************************************************************************/ - -// This software is in the development stage -// Do not expect compatibility with future versions. -// Comments, suggestions, new features, bug fixes, etc. are welcome - -#include - -#include "RtAudio.h" - -extern "C" { - - typedef struct - { - PyObject_HEAD; - RtAudio *dac; - RtAudioFormat _format; - int _bufferSize; - unsigned int inputChannels; - PyObject *callback_func; - } PyRtAudio; - - static PyObject *RtAudioError; - - static int callback(void *outputBuffer, void *inputBuffer, unsigned int nBufferFrames, - double streamTime, RtAudioStreamStatus status, void *data ) - { - PyRtAudio* self = (PyRtAudio*) data; - - if (status == RTAUDIO_OUTPUT_UNDERFLOW) - printf("underflow.\n"); - - if (self == NULL) return -1; - - float* in = (float *) inputBuffer; - float* out = (float *) outputBuffer; - - PyObject *py_callback_func = self->callback_func; - - int retval = 0; - - if (py_callback_func) { - PyGILState_STATE gstate = PyGILState_Ensure(); - - PyObject* iBuffer = PyBuffer_FromMemory(in, sizeof(float) * self->inputChannels * nBufferFrames); - PyObject* oBuffer = PyBuffer_FromReadWriteMemory(out, sizeof(float) * nBufferFrames); - PyObject *arglist = Py_BuildValue("(O,O)", oBuffer, iBuffer); - - if (arglist == NULL) { - printf("error.\n"); - PyErr_Print(); - PyGILState_Release(gstate); - return 2; - } - - // Calling the callback - PyObject *result = PyEval_CallObject(py_callback_func, arglist); - - if (PyErr_Occurred() != NULL) { - PyErr_Print(); - } - else if PyInt_Check(result) { - retval = PyInt_AsLong(result); - } - - Py_DECREF(arglist); - Py_DECREF(oBuffer); - Py_DECREF(iBuffer); - Py_XDECREF(result); - - PyGILState_Release(gstate); - } - - return retval; - } - - - - static void RtAudio_dealloc(PyRtAudio *self) - { - printf("RtAudio_dealloc.\n"); - if (self == NULL) return; - - if (self->dac) { - self->dac->closeStream(); - Py_CLEAR(self->callback_func); - delete self->dac; - } - - self->ob_type->tp_free((PyObject *) self); - } - - - static PyObject* RtAudio_new(PyTypeObject *type, PyObject *args, PyObject *kwds) - { - printf("RtAudio_new.\n"); - PyRtAudio *self; - char *api = NULL; - - if(!PyArg_ParseTuple(args, "|s", &api)) - return NULL; - - self = (PyRtAudio *) type->tp_alloc(type, 0); - - if(self == NULL) return NULL; - - self->dac = NULL; - self->callback_func = NULL; - - try { - if (api == NULL) - self->dac = new RtAudio; - else if(!strcmp(api, "jack")) - self->dac = new RtAudio(RtAudio::UNIX_JACK); - else if(!strcmp(api, "alsa")) - self->dac = new RtAudio(RtAudio::LINUX_ALSA); - else if(!strcmp(api, "oss")) - self->dac = new RtAudio(RtAudio::LINUX_ALSA); - else if(!strcmp(api, "core")) - self->dac = new RtAudio(RtAudio::MACOSX_CORE); - else if(!strcmp(api, "asio")) - self->dac = new RtAudio(RtAudio::WINDOWS_ASIO); - else if(!strcmp(api, "directsound")) - self->dac = new RtAudio(RtAudio::WINDOWS_DS); - } - catch (RtError &error) { - PyErr_SetString(RtAudioError, error.getMessage().c_str()); - Py_INCREF(RtAudioError); - return NULL; - } - - self->dac->showWarnings(false); - - //Py_XINCREF(self); - return (PyObject *) self; - } - - static int RtAudio_init(PyRtAudio *self, PyObject *args, PyObject *kwds) - { - printf("RtAudio_init.\n"); - //if (self == NULL) return 0; - return 0; - } - - // This functions does not yet support all the features of the RtAudio::openStream method. - // Please send your patches if you improves this. - static PyObject* RtAudio_openStream(PyRtAudio *self, PyObject *args) - { - if (self == NULL) return NULL; - - if (self->dac == NULL) { - printf("the dac is null.\n"); - Py_RETURN_NONE; - } - - PyObject *oParamsObj; - PyObject *iParamsObj; - int fs; - unsigned int bf; - PyObject *pycallback; - - if (!PyArg_ParseTuple(args, "OOiiO", &oParamsObj, &iParamsObj, &fs, &bf, &pycallback)) - return NULL; - - RtAudio::StreamParameters oParams; - oParams.deviceId = 1; - oParams.nChannels = 1; - oParams.firstChannel = 0; - - if (PyDict_Check(oParamsObj)) { - if (PyDict_Contains(oParamsObj, PyString_FromString("deviceId"))) { - PyObject *value = PyDict_GetItem(oParamsObj, PyString_FromString("deviceId")); - oParams.deviceId = PyInt_AsLong(value); - } - if (PyDict_Contains(oParamsObj, PyString_FromString("nChannels"))) { - PyObject *value = PyDict_GetItem(oParamsObj, PyString_FromString("nChannels")); - oParams.nChannels = PyInt_AsLong(value); - } - if (PyDict_Contains(oParamsObj, PyString_FromString("firstChannel"))) { - PyObject *value = PyDict_GetItem(oParamsObj, PyString_FromString("firstChannel")); - oParams.firstChannel = PyInt_AsLong(value); - } - } - else { - printf("First argument must be a dictionary. Default values will be used.\n"); - } - - RtAudio::StreamParameters iParams; - iParams.deviceId = 1; - iParams.nChannels = 2; - iParams.firstChannel = 0; - - if (PyDict_Check(iParamsObj)) { - if (PyDict_Contains(iParamsObj, PyString_FromString("deviceId"))) { - PyObject *value = PyDict_GetItem(iParamsObj, PyString_FromString("deviceId")); - iParams.deviceId = PyInt_AsLong(value); - } - if (PyDict_Contains(iParamsObj, PyString_FromString("nChannels"))) { - PyObject *value = PyDict_GetItem(iParamsObj, PyString_FromString("nChannels")); - iParams.nChannels = PyInt_AsLong(value); - } - if (PyDict_Contains(iParamsObj, PyString_FromString("firstChannel"))) { - PyObject *value = PyDict_GetItem(iParamsObj, PyString_FromString("firstChannel")); - iParams.firstChannel = PyInt_AsLong(value); - } - } - else { - printf("Second argument must be a dictionary. Default values will be used.\n"); - } - - - if (!PyCallable_Check(pycallback)) { - PyErr_SetString(PyExc_TypeError, "Need a callable object!"); - Py_XINCREF(PyExc_TypeError); - return NULL; - } - - // sanity check the callback ? - - - Py_INCREF(pycallback); /* Add a reference to new callback */ - self->callback_func = pycallback; /*Remember new callback */ - - // add support for other format - self->_format = RTAUDIO_FLOAT32; - - // add support for other options - RtAudio::StreamOptions options; - options.flags = RTAUDIO_NONINTERLEAVED; - - try { - if (self->dac->isStreamOpen()) - self->dac->closeStream(); - self->dac->openStream(&oParams, &iParams, self->_format, fs, &bf, &callback, self, &options); - } - catch ( RtError& error ) { - PyErr_SetString(RtAudioError, error.getMessage().c_str()); - Py_INCREF(RtAudioError); - return NULL; - } - - self->inputChannels = iParams.nChannels; - - Py_RETURN_NONE; - } - - static PyObject* RtAudio_closeStream(PyRtAudio *self, PyObject *args) - { - printf("RtAudio_closeStream.\n"); - if (self == NULL || self->dac == NULL) return NULL; - - try { - self->dac->closeStream(); - Py_CLEAR(self->callback_func); - } - catch(RtError &error) { - PyErr_SetString(RtAudioError, error.getMessage().c_str()); - Py_INCREF(RtAudioError); - return NULL; - } - - Py_RETURN_NONE; - } - - static PyObject* RtAudio_startStream(PyRtAudio *self, PyObject *args) - { - if (self == NULL || self->dac == NULL) return NULL; - - try { - self->dac->startStream(); - } - catch(RtError &error) { - PyErr_SetString(RtAudioError, error.getMessage().c_str()); - Py_INCREF(RtAudioError); - return NULL; - } - - Py_RETURN_NONE; - } - - - static PyObject* RtAudio_stopStream(PyRtAudio *self, PyObject *args) - { - printf("RtAudio_stopStream.\n"); - if (self == NULL || self->dac == NULL) return NULL; - - try { - self->dac->stopStream(); - } - catch(RtError &error) { - PyErr_SetString(RtAudioError, error.getMessage().c_str()); - Py_INCREF(RtAudioError); - return NULL; - } - - Py_RETURN_NONE; - } - - static PyObject* RtAudio_abortStream(PyRtAudio *self, PyObject *args) - { - printf("RtAudio_abortStream.\n"); - if (self == NULL || self->dac == NULL) return NULL; - - try { - self->dac->abortStream(); - } - catch(RtError &error) { - PyErr_SetString(RtAudioError, error.getMessage().c_str()); - Py_INCREF(RtAudioError); - return NULL; - } - Py_RETURN_NONE; - } - - static PyObject* RtAudio_isStreamRunning(PyRtAudio *self, PyObject *args) - { - if (self == NULL || self->dac == NULL) return NULL; - - if (self->dac == NULL) { - Py_RETURN_FALSE; - } - if (self->dac->isStreamRunning()) - Py_RETURN_TRUE; - else - Py_RETURN_FALSE; - } - - static PyObject* RtAudio_isStreamOpen(PyRtAudio *self, PyObject *args) - { - if (self == NULL || self->dac == NULL) return NULL; - - if (self->dac == NULL) { - Py_RETURN_FALSE; - } - if (self->dac->isStreamOpen()) - Py_RETURN_TRUE; - else - Py_RETURN_FALSE; - - } - - static PyObject* RtAudio_getDeviceCount(PyRtAudio *self, PyObject *args) - { - if (self == NULL || self->dac == NULL) return NULL; - - return PyInt_FromLong(self->dac->getDeviceCount()); - } - - static PyObject* RtAudio_getDeviceInfo(PyRtAudio *self, PyObject *args) - { - if (self == NULL || self->dac == NULL) return NULL; - - int device; - if (!PyArg_ParseTuple(args, "i", &device)) - return NULL; - - try { - RtAudio::DeviceInfo info = self->dac->getDeviceInfo(device); - - PyObject* info_dict = PyDict_New(); - - if (info.probed) { - Py_INCREF(Py_True); - PyDict_SetItemString(info_dict, "probed", Py_True); - } - else { - Py_INCREF(Py_False); - PyDict_SetItemString(info_dict, "probed", Py_False); - } - PyObject* obj; - - obj = PyString_FromString(info.name.c_str()); - PyDict_SetItemString(info_dict, "name", obj); - - obj = PyInt_FromLong(info.outputChannels); - PyDict_SetItemString(info_dict, "outputChannels", obj); - - obj = PyInt_FromLong(info.inputChannels); - PyDict_SetItemString(info_dict, "inputChannels", obj); - - obj = PyInt_FromLong(info.duplexChannels); - PyDict_SetItemString(info_dict, "duplexChannels", obj); - - if (info.isDefaultOutput) { - Py_INCREF(Py_True); - PyDict_SetItemString(info_dict, "isDefaultOutput", Py_True); - } - else { - Py_INCREF(Py_False); - PyDict_SetItemString(info_dict, "isDefaultOutput", Py_False); - } - - if (info.isDefaultInput) { - Py_INCREF(Py_True); - PyDict_SetItemString(info_dict, "isDefaultInput", Py_True); - } - else { - Py_INCREF(Py_False); - PyDict_SetItemString(info_dict, "isDefaultInput", Py_False); - } - - return info_dict; - - } - catch(RtError &error) { - PyErr_SetString(RtAudioError, error.getMessage().c_str()); - Py_INCREF(RtAudioError); - return NULL; - } - } - - static PyObject* RtAudio_getDefaultOutputDevice(PyRtAudio *self, PyObject *args) - { - if (self == NULL || self->dac == NULL) return NULL; - return PyInt_FromLong(self->dac->getDefaultOutputDevice()); - } - - static PyObject* RtAudio_getDefaultInputDevice(PyRtAudio *self, PyObject *args) - { - if (self == NULL || self->dac == NULL) return NULL; - return PyInt_FromLong(self->dac->getDefaultInputDevice()); - } - - static PyObject* RtAudio_getStreamTime(PyRtAudio *self, PyObject *args) - { - if (self == NULL || self->dac == NULL) return NULL; - return PyFloat_FromDouble( self->dac->getStreamTime() ); - } - - static PyObject* RtAudio_getStreamLatency(PyRtAudio *self, PyObject *args) - { - if (self == NULL || self->dac == NULL) return NULL; - return PyInt_FromLong( self->dac->getStreamLatency() ); - } - - static PyObject* RtAudio_getStreamSampleRate(PyRtAudio *self, PyObject *args) - { - if (self == NULL || self->dac == NULL) return NULL; - return PyInt_FromLong( self->dac->getStreamSampleRate() ); - } - - static PyObject* RtAudio_showWarnings(PyRtAudio *self, PyObject *args) - { - if (self == NULL || self->dac == NULL) return NULL; - - PyObject *obj; - if (!PyArg_ParseTuple(args, "O", &obj)) - return NULL; - - if (!PyBool_Check(obj)) - return NULL; - - if (obj == Py_True) - self->dac->showWarnings(true); - else if (obj == Py_False) - self->dac->showWarnings(false); - else { - printf("not true nor false\n"); - } - Py_RETURN_NONE; - } - - - static PyMethodDef RtAudio_methods[] = - { - // TO BE DONE: getCurrentApi(void) - {"getDeviceCount", (PyCFunction) RtAudio_getDeviceCount, METH_NOARGS, - "A public function that queries for the number of audio devices available."}, - {"getDeviceInfo", (PyCFunction) RtAudio_getDeviceInfo, METH_VARARGS, - "Return a dictionary with information for a specified device number."}, - {"getDefaultOutputDevice", (PyCFunction) RtAudio_getDefaultOutputDevice, METH_NOARGS, - "A function that returns the index of the default output device."}, - {"getDefaultInputDevice", (PyCFunction) RtAudio_getDefaultInputDevice, METH_NOARGS, - "A function that returns the index of the default input device."}, - {"openStream", (PyCFunction) RtAudio_openStream, METH_VARARGS, - "A public method for opening a stream with the specified parameters."}, - {"closeStream", (PyCFunction) RtAudio_closeStream, METH_NOARGS, - "A function that closes a stream and frees any associated stream memory. "}, - {"startStream", (PyCFunction) RtAudio_startStream, METH_NOARGS, - "A function that starts a stream. "}, - {"stopStream", (PyCFunction) RtAudio_stopStream, METH_NOARGS, - "Stop a stream, allowing any samples remaining in the output queue to be played. "}, - {"abortStream", (PyCFunction) RtAudio_abortStream, METH_NOARGS, - "Stop a stream, discarding any samples remaining in the input/output queue."}, - {"isStreamOpen", (PyCFunction) RtAudio_isStreamOpen, METH_NOARGS, - "Returns true if a stream is open and false if not."}, - {"isStreamRunning", (PyCFunction) RtAudio_isStreamRunning, METH_NOARGS, - "Returns true if the stream is running and false if it is stopped or not open."}, - {"getStreamTime", (PyCFunction) RtAudio_getStreamTime, METH_NOARGS, - "Returns the number of elapsed seconds since the stream was started."}, - {"getStreamLatency", (PyCFunction) RtAudio_getStreamLatency, METH_NOARGS, - "Returns the internal stream latency in sample frames."}, - {"getStreamSampleRate", (PyCFunction) RtAudio_getStreamSampleRate, METH_NOARGS, - "Returns actual sample rate in use by the stream."}, - {"showWarnings", (PyCFunction) RtAudio_showWarnings, METH_VARARGS, - "Specify whether warning messages should be printed to stderr."}, - // TO BE DONE: getCompiledApi (std::vector< RtAudio::Api > &apis) throw () - {NULL} - }; - - - static PyTypeObject RtAudio_type = { - PyObject_HEAD_INIT(NULL) - 0, /*ob_size*/ - "rtaudio.RtAudio", /*tp_name*/ - sizeof(RtAudio), /*tp_basicsize*/ - 0, /*tp_itemsize*/ - (destructor) RtAudio_dealloc, /*tp_dealloc*/ - 0, /*tp_print*/ - 0, /*tp_getattr*/ - 0, /*tp_setattr*/ - 0, /*tp_compare*/ - 0, /*tp_repr*/ - 0, /*tp_as_number*/ - 0, /*tp_as_sequence*/ - 0, /*tp_as_mapping*/ - 0, /*tp_hash */ - 0, /*tp_call*/ - 0, /*tp_str*/ - 0, /*tp_getattro*/ - 0, /*tp_setattro*/ - 0, /*tp_as_buffer*/ - Py_TPFLAGS_DEFAULT, /*tp_flags*/ - "Audio input device", /* tp_doc */ - 0, /* tp_traverse */ - 0, /* tp_clear */ - 0, /* tp_richcompare */ - 0, /* tp_weaklistoffset */ - 0, /* tp_iter */ - 0, /* tp_iternext */ - RtAudio_methods, /* tp_methods */ - 0, /* tp_members */ - 0, /* tp_getset */ - 0, /* tp_base */ - 0, /* tp_dict */ - 0, /* tp_descr_get */ - 0, /* tp_descr_set */ - 0, /* tp_dictoffset */ - (initproc)RtAudio_init, /* tp_init */ - 0, /* tp_alloc */ - RtAudio_new, /* tp_new */ - 0, /* Low-level free-memory routine */ - 0, /* For PyObject_IS_GC */ - 0, // PyObject *tp_bases; - 0, // PyObject *tp_mro; /* method resolution order */ - 0, //PyObject *tp_cache; - 0, //PyObject *tp_subclasses; - 0, //PyObject *tp_weaklist; - 0, //destructor tp_del; - //0, /* Type attribute cache version tag. Added in version 2.6 */ - }; - - - -#ifndef PyMODINIT_FUNC /* declarations for DLL import/export */ -#define PyMODINIT_FUNC void -#endif - PyMODINIT_FUNC - initrtaudio(void) - { - PyEval_InitThreads(); - - if (PyType_Ready(&RtAudio_type) < 0) - return; - - PyObject* module = Py_InitModule3("rtaudio", NULL, "RtAudio wrapper."); - if (module == NULL) - return; - - Py_INCREF(&RtAudio_type); - PyModule_AddObject(module, "RtAudio", (PyObject *)&RtAudio_type); - - RtAudioError = PyErr_NewException("rtaudio.RtError", NULL, NULL); - Py_INCREF(RtAudioError); - PyModule_AddObject(module, "RtError", RtAudioError); - } -} diff --git a/source/modules/rtaudio/contrib/python/pyrtaudio/setup.py b/source/modules/rtaudio/contrib/python/pyrtaudio/setup.py deleted file mode 100644 index 6ad0d4a68..000000000 --- a/source/modules/rtaudio/contrib/python/pyrtaudio/setup.py +++ /dev/null @@ -1,58 +0,0 @@ -#!/bin/env python - -import os -from distutils.core import setup, Extension - -if hasattr(os, 'uname'): - OSNAME = os.uname()[0] -else: - OSNAME = 'Windows' - - -define_macros = [] -libraries = [] -extra_link_args = [] -extra_compile_args = ['-I../../../'] -sources = ['rtaudiomodule.cpp', '../../../RtAudio.cpp'] - - -if OSNAME == 'Linux': - define_macros=[("__LINUX_ALSA__", ''), - ('__LINUX_JACK__', ''), - ('__LINUX_OSS__', '')] - libraries = ['asound', 'jack', 'pthread'] - -elif OSNAME == 'Darwin': - define_macros = [('__MACOSX_CORE__', '')] - libraries = ['pthread', 'stdc++'] - extra_link_args = ['-framework', 'CoreAudio'] - -elif OSNAME == 'Windows': - define_macros = [('__WINDOWS_DS__', None), - ('__WINDOWS_ASIO__', None), - ('__LITTLE_ENDIAN__',None), - ('WIN32',None)] - libraries = ['winmm', 'dsound', 'Advapi32','Ole32','User32'] - sources += ['../../../include/asio.cpp', - '../../../include/asiodrivers.cpp', - '../../../include/asiolist.cpp', - '../../../include/iasiothiscallresolver.cpp'] - extra_compile_args.append('-I../../../include/') - extra_compile_args.append('-EHsc') - - - -audio = Extension('rtaudio', - sources=sources, - libraries=libraries, - define_macros=define_macros, - extra_compile_args = extra_compile_args, - extra_link_args = extra_link_args, - ) - - -setup(name = 'rtaudio', - version = '0.1', - description = 'Python RtAudio interface', - ext_modules = [audio]) - diff --git a/source/modules/rtaudio/doc/doxygen/Doxyfile b/source/modules/rtaudio/doc/doxygen/Doxyfile deleted file mode 100644 index eb094df44..000000000 --- a/source/modules/rtaudio/doc/doxygen/Doxyfile +++ /dev/null @@ -1,1572 +0,0 @@ -# Doxyfile 1.6.2 - -# This file describes the settings to be used by the documentation system -# doxygen (www.doxygen.org) for a project -# -# All text after a hash (#) is considered a comment and will be ignored -# The format is: -# TAG = value [value, ...] -# For lists items can also be appended using: -# TAG += value [value, ...] -# Values that contain spaces should be placed between quotes (" ") - -#--------------------------------------------------------------------------- -# Project related configuration options -#--------------------------------------------------------------------------- - -# This tag specifies the encoding used for all characters in the config file -# that follow. The default is UTF-8 which is also the encoding used for all -# text before the first occurrence of this tag. Doxygen uses libiconv (or the -# iconv built into libc) for the transcoding. See -# http://www.gnu.org/software/libiconv for the list of possible encodings. - -DOXYFILE_ENCODING = UTF-8 - -# The PROJECT_NAME tag is a single word (or a sequence of words surrounded -# by quotes) that should identify the project. - -PROJECT_NAME = RtAudio - -# The PROJECT_NUMBER tag can be used to enter a project or revision number. -# This could be handy for archiving the generated documentation or -# if some version control system is used. - -PROJECT_NUMBER = 4.0.12 - -# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) -# base path where the generated documentation will be put. -# If a relative path is entered, it will be relative to the location -# where doxygen was started. If left blank the current directory will be used. - -OUTPUT_DIRECTORY = . - -# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create -# 4096 sub-directories (in 2 levels) under the output directory of each output -# format and will distribute the generated files over these directories. -# Enabling this option can be useful when feeding doxygen a huge amount of -# source files, where putting all generated files in the same directory would -# otherwise cause performance problems for the file system. - -CREATE_SUBDIRS = NO - -# The OUTPUT_LANGUAGE tag is used to specify the language in which all -# documentation generated by doxygen is written. Doxygen will use this -# information to generate all constant output in the proper language. -# The default language is English, other supported languages are: -# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, -# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German, -# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English -# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, -# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrilic, Slovak, -# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese. - -OUTPUT_LANGUAGE = English - -# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will -# include brief member descriptions after the members that are listed in -# the file and class documentation (similar to JavaDoc). -# Set to NO to disable this. - -BRIEF_MEMBER_DESC = YES - -# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend -# the brief description of a member or function before the detailed description. -# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the -# brief descriptions will be completely suppressed. - -REPEAT_BRIEF = YES - -# This tag implements a quasi-intelligent brief description abbreviator -# that is used to form the text in various listings. Each string -# in this list, if found as the leading text of the brief description, will be -# stripped from the text and the result after processing the whole list, is -# used as the annotated text. Otherwise, the brief description is used as-is. -# If left blank, the following values are used ("$name" is automatically -# replaced with the name of the entity): "The $name class" "The $name widget" -# "The $name file" "is" "provides" "specifies" "contains" -# "represents" "a" "an" "the" - -ABBREVIATE_BRIEF = "The $name class" \ - "The $name widget" \ - "The $name file" \ - is \ - provides \ - specifies \ - contains \ - represents \ - a \ - an \ - the - -# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then -# Doxygen will generate a detailed section even if there is only a brief -# description. - -ALWAYS_DETAILED_SEC = NO - -# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all -# inherited members of a class in the documentation of that class as if those -# members were ordinary class members. Constructors, destructors and assignment -# operators of the base classes will not be shown. - -INLINE_INHERITED_MEMB = NO - -# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full -# path before files name in the file list and in the header files. If set -# to NO the shortest path that makes the file name unique will be used. - -FULL_PATH_NAMES = NO - -# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag -# can be used to strip a user-defined part of the path. Stripping is -# only done if one of the specified strings matches the left-hand part of -# the path. The tag can be used to show relative paths in the file list. -# If left blank the directory from which doxygen is run is used as the -# path to strip. - -STRIP_FROM_PATH = - -# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of -# the path mentioned in the documentation of a class, which tells -# the reader which header file to include in order to use a class. -# If left blank only the name of the header file containing the class -# definition is used. Otherwise one should specify the include paths that -# are normally passed to the compiler using the -I flag. - -STRIP_FROM_INC_PATH = - -# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter -# (but less readable) file names. This can be useful is your file systems -# doesn't support long names like on DOS, Mac, or CD-ROM. - -SHORT_NAMES = NO - -# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen -# will interpret the first line (until the first dot) of a JavaDoc-style -# comment as the brief description. If set to NO, the JavaDoc -# comments will behave just like regular Qt-style comments -# (thus requiring an explicit @brief command for a brief description.) - -JAVADOC_AUTOBRIEF = NO - -# If the QT_AUTOBRIEF tag is set to YES then Doxygen will -# interpret the first line (until the first dot) of a Qt-style -# comment as the brief description. If set to NO, the comments -# will behave just like regular Qt-style comments (thus requiring -# an explicit \brief command for a brief description.) - -QT_AUTOBRIEF = NO - -# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen -# treat a multi-line C++ special comment block (i.e. a block of //! or /// -# comments) as a brief description. This used to be the default behaviour. -# The new default is to treat a multi-line C++ comment block as a detailed -# description. Set this tag to YES if you prefer the old behaviour instead. - -MULTILINE_CPP_IS_BRIEF = NO - -# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented -# member inherits the documentation from any documented member that it -# re-implements. - -INHERIT_DOCS = YES - -# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce -# a new page for each member. If set to NO, the documentation of a member will -# be part of the file/class/namespace that contains it. - -SEPARATE_MEMBER_PAGES = NO - -# The TAB_SIZE tag can be used to set the number of spaces in a tab. -# Doxygen uses this value to replace tabs by spaces in code fragments. - -TAB_SIZE = 8 - -# This tag can be used to specify a number of aliases that acts -# as commands in the documentation. An alias has the form "name=value". -# For example adding "sideeffect=\par Side Effects:\n" will allow you to -# put the command \sideeffect (or @sideeffect) in the documentation, which -# will result in a user-defined paragraph with heading "Side Effects:". -# You can put \n's in the value part of an alias to insert newlines. - -ALIASES = - -# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C -# sources only. Doxygen will then generate output that is more tailored for C. -# For instance, some of the names that are used will be different. The list -# of all members will be omitted, etc. - -OPTIMIZE_OUTPUT_FOR_C = NO - -# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java -# sources only. Doxygen will then generate output that is more tailored for -# Java. For instance, namespaces will be presented as packages, qualified -# scopes will look different, etc. - -OPTIMIZE_OUTPUT_JAVA = NO - -# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran -# sources only. Doxygen will then generate output that is more tailored for -# Fortran. - -OPTIMIZE_FOR_FORTRAN = NO - -# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL -# sources. Doxygen will then generate output that is tailored for -# VHDL. - -OPTIMIZE_OUTPUT_VHDL = NO - -# Doxygen selects the parser to use depending on the extension of the files it parses. -# With this tag you can assign which parser to use for a given extension. -# Doxygen has a built-in mapping, but you can override or extend it using this tag. -# The format is ext=language, where ext is a file extension, and language is one of -# the parsers supported by doxygen: IDL, Java, Javascript, C#, C, C++, D, PHP, -# Objective-C, Python, Fortran, VHDL, C, C++. For instance to make doxygen treat -# .inc files as Fortran files (default is PHP), and .f files as C (default is Fortran), -# use: inc=Fortran f=C. Note that for custom extensions you also need to set -# FILE_PATTERNS otherwise the files are not read by doxygen. - -EXTENSION_MAPPING = - -# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want -# to include (a tag file for) the STL sources as input, then you should -# set this tag to YES in order to let doxygen match functions declarations and -# definitions whose arguments contain STL classes (e.g. func(std::string); v.s. -# func(std::string) {}). This also make the inheritance and collaboration -# diagrams that involve STL classes more complete and accurate. - -BUILTIN_STL_SUPPORT = NO - -# If you use Microsoft's C++/CLI language, you should set this option to YES to -# enable parsing support. - -CPP_CLI_SUPPORT = NO - -# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. -# Doxygen will parse them like normal C++ but will assume all classes use public -# instead of private inheritance when no explicit protection keyword is present. - -SIP_SUPPORT = NO - -# For Microsoft's IDL there are propget and propput attributes to indicate getter -# and setter methods for a property. Setting this option to YES (the default) -# will make doxygen to replace the get and set methods by a property in the -# documentation. This will only work if the methods are indeed getting or -# setting a simple type. If this is not the case, or you want to show the -# methods anyway, you should set this option to NO. - -IDL_PROPERTY_SUPPORT = YES - -# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC -# tag is set to YES, then doxygen will reuse the documentation of the first -# member in the group (if any) for the other members of the group. By default -# all members of a group must be documented explicitly. - -DISTRIBUTE_GROUP_DOC = NO - -# Set the SUBGROUPING tag to YES (the default) to allow class member groups of -# the same type (for instance a group of public functions) to be put as a -# subgroup of that type (e.g. under the Public Functions section). Set it to -# NO to prevent subgrouping. Alternatively, this can be done per class using -# the \nosubgrouping command. - -SUBGROUPING = YES - -# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum -# is documented as struct, union, or enum with the name of the typedef. So -# typedef struct TypeS {} TypeT, will appear in the documentation as a struct -# with name TypeT. When disabled the typedef will appear as a member of a file, -# namespace, or class. And the struct will be named TypeS. This can typically -# be useful for C code in case the coding convention dictates that all compound -# types are typedef'ed and only the typedef is referenced, never the tag name. - -TYPEDEF_HIDES_STRUCT = NO - -# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to -# determine which symbols to keep in memory and which to flush to disk. -# When the cache is full, less often used symbols will be written to disk. -# For small to medium size projects (<1000 input files) the default value is -# probably good enough. For larger projects a too small cache size can cause -# doxygen to be busy swapping symbols to and from disk most of the time -# causing a significant performance penality. -# If the system has enough physical memory increasing the cache will improve the -# performance by keeping more symbols in memory. Note that the value works on -# a logarithmic scale so increasing the size by one will rougly double the -# memory usage. The cache size is given by this formula: -# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0, -# corresponding to a cache size of 2^16 = 65536 symbols - -SYMBOL_CACHE_SIZE = 0 - -#--------------------------------------------------------------------------- -# Build related configuration options -#--------------------------------------------------------------------------- - -# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in -# documentation are documented, even if no documentation was available. -# Private class members and static file members will be hidden unless -# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES - -EXTRACT_ALL = NO - -# If the EXTRACT_PRIVATE tag is set to YES all private members of a class -# will be included in the documentation. - -EXTRACT_PRIVATE = NO - -# If the EXTRACT_STATIC tag is set to YES all static members of a file -# will be included in the documentation. - -EXTRACT_STATIC = NO - -# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) -# defined locally in source files will be included in the documentation. -# If set to NO only classes defined in header files are included. - -EXTRACT_LOCAL_CLASSES = YES - -# This flag is only useful for Objective-C code. When set to YES local -# methods, which are defined in the implementation section but not in -# the interface are included in the documentation. -# If set to NO (the default) only methods in the interface are included. - -EXTRACT_LOCAL_METHODS = NO - -# If this flag is set to YES, the members of anonymous namespaces will be -# extracted and appear in the documentation as a namespace called -# 'anonymous_namespace{file}', where file will be replaced with the base -# name of the file that contains the anonymous namespace. By default -# anonymous namespace are hidden. - -EXTRACT_ANON_NSPACES = NO - -# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all -# undocumented members of documented classes, files or namespaces. -# If set to NO (the default) these members will be included in the -# various overviews, but no documentation section is generated. -# This option has no effect if EXTRACT_ALL is enabled. - -HIDE_UNDOC_MEMBERS = YES - -# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all -# undocumented classes that are normally visible in the class hierarchy. -# If set to NO (the default) these classes will be included in the various -# overviews. This option has no effect if EXTRACT_ALL is enabled. - -HIDE_UNDOC_CLASSES = YES - -# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all -# friend (class|struct|union) declarations. -# If set to NO (the default) these declarations will be included in the -# documentation. - -HIDE_FRIEND_COMPOUNDS = NO - -# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any -# documentation blocks found inside the body of a function. -# If set to NO (the default) these blocks will be appended to the -# function's detailed documentation block. - -HIDE_IN_BODY_DOCS = NO - -# The INTERNAL_DOCS tag determines if documentation -# that is typed after a \internal command is included. If the tag is set -# to NO (the default) then the documentation will be excluded. -# Set it to YES to include the internal documentation. - -INTERNAL_DOCS = NO - -# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate -# file names in lower-case letters. If set to YES upper-case letters are also -# allowed. This is useful if you have classes or files whose names only differ -# in case and if your file system supports case sensitive file names. Windows -# and Mac users are advised to set this option to NO. - -CASE_SENSE_NAMES = YES - -# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen -# will show members with their full class and namespace scopes in the -# documentation. If set to YES the scope will be hidden. - -HIDE_SCOPE_NAMES = NO - -# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen -# will put a list of the files that are included by a file in the documentation -# of that file. - -SHOW_INCLUDE_FILES = YES - -# If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen -# will list include files with double quotes in the documentation -# rather than with sharp brackets. - -FORCE_LOCAL_INCLUDES = NO - -# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] -# is inserted in the documentation for inline members. - -INLINE_INFO = YES - -# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen -# will sort the (detailed) documentation of file and class members -# alphabetically by member name. If set to NO the members will appear in -# declaration order. - -SORT_MEMBER_DOCS = NO - -# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the -# brief documentation of file, namespace and class members alphabetically -# by member name. If set to NO (the default) the members will appear in -# declaration order. - -SORT_BRIEF_DOCS = NO - -# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen -# will sort the (brief and detailed) documentation of class members so that -# constructors and destructors are listed first. If set to NO (the default) -# the constructors will appear in the respective orders defined by -# SORT_MEMBER_DOCS and SORT_BRIEF_DOCS. -# This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO -# and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO. - -SORT_MEMBERS_CTORS_1ST = NO - -# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the -# hierarchy of group names into alphabetical order. If set to NO (the default) -# the group names will appear in their defined order. - -SORT_GROUP_NAMES = NO - -# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be -# sorted by fully-qualified names, including namespaces. If set to -# NO (the default), the class list will be sorted only by class name, -# not including the namespace part. -# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. -# Note: This option applies only to the class list, not to the -# alphabetical list. - -SORT_BY_SCOPE_NAME = NO - -# The GENERATE_TODOLIST tag can be used to enable (YES) or -# disable (NO) the todo list. This list is created by putting \todo -# commands in the documentation. - -GENERATE_TODOLIST = YES - -# The GENERATE_TESTLIST tag can be used to enable (YES) or -# disable (NO) the test list. This list is created by putting \test -# commands in the documentation. - -GENERATE_TESTLIST = YES - -# The GENERATE_BUGLIST tag can be used to enable (YES) or -# disable (NO) the bug list. This list is created by putting \bug -# commands in the documentation. - -GENERATE_BUGLIST = YES - -# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or -# disable (NO) the deprecated list. This list is created by putting -# \deprecated commands in the documentation. - -GENERATE_DEPRECATEDLIST= YES - -# The ENABLED_SECTIONS tag can be used to enable conditional -# documentation sections, marked by \if sectionname ... \endif. - -ENABLED_SECTIONS = - -# The MAX_INITIALIZER_LINES tag determines the maximum number of lines -# the initial value of a variable or define consists of for it to appear in -# the documentation. If the initializer consists of more lines than specified -# here it will be hidden. Use a value of 0 to hide initializers completely. -# The appearance of the initializer of individual variables and defines in the -# documentation can be controlled using \showinitializer or \hideinitializer -# command in the documentation regardless of this setting. - -MAX_INITIALIZER_LINES = 30 - -# Set the SHOW_USED_FILES tag to NO to disable the list of files generated -# at the bottom of the documentation of classes and structs. If set to YES the -# list will mention the files that were used to generate the documentation. - -SHOW_USED_FILES = YES - -# If the sources in your project are distributed over multiple directories -# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy -# in the documentation. The default is NO. - -SHOW_DIRECTORIES = NO - -# Set the SHOW_FILES tag to NO to disable the generation of the Files page. -# This will remove the Files entry from the Quick Index and from the -# Folder Tree View (if specified). The default is YES. - -SHOW_FILES = YES - -# Set the SHOW_NAMESPACES tag to NO to disable the generation of the -# Namespaces page. This will remove the Namespaces entry from the Quick Index -# and from the Folder Tree View (if specified). The default is YES. - -SHOW_NAMESPACES = YES - -# The FILE_VERSION_FILTER tag can be used to specify a program or script that -# doxygen should invoke to get the current version for each file (typically from -# the version control system). Doxygen will invoke the program by executing (via -# popen()) the command , where is the value of -# the FILE_VERSION_FILTER tag, and is the name of an input file -# provided by doxygen. Whatever the program writes to standard output -# is used as the file version. See the manual for examples. - -FILE_VERSION_FILTER = - -# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed by -# doxygen. The layout file controls the global structure of the generated output files -# in an output format independent way. The create the layout file that represents -# doxygen's defaults, run doxygen with the -l option. You can optionally specify a -# file name after the option, if omitted DoxygenLayout.xml will be used as the name -# of the layout file. - -LAYOUT_FILE = - -#--------------------------------------------------------------------------- -# configuration options related to warning and progress messages -#--------------------------------------------------------------------------- - -# The QUIET tag can be used to turn on/off the messages that are generated -# by doxygen. Possible values are YES and NO. If left blank NO is used. - -QUIET = NO - -# The WARNINGS tag can be used to turn on/off the warning messages that are -# generated by doxygen. Possible values are YES and NO. If left blank -# NO is used. - -WARNINGS = YES - -# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings -# for undocumented members. If EXTRACT_ALL is set to YES then this flag will -# automatically be disabled. - -WARN_IF_UNDOCUMENTED = YES - -# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for -# potential errors in the documentation, such as not documenting some -# parameters in a documented function, or documenting parameters that -# don't exist or using markup commands wrongly. - -WARN_IF_DOC_ERROR = YES - -# This WARN_NO_PARAMDOC option can be abled to get warnings for -# functions that are documented, but have no documentation for their parameters -# or return value. If set to NO (the default) doxygen will only warn about -# wrong or incomplete parameter documentation, but not about the absence of -# documentation. - -WARN_NO_PARAMDOC = NO - -# The WARN_FORMAT tag determines the format of the warning messages that -# doxygen can produce. The string should contain the $file, $line, and $text -# tags, which will be replaced by the file and line number from which the -# warning originated and the warning text. Optionally the format may contain -# $version, which will be replaced by the version of the file (if it could -# be obtained via FILE_VERSION_FILTER) - -WARN_FORMAT = "$file:$line: $text" - -# The WARN_LOGFILE tag can be used to specify a file to which warning -# and error messages should be written. If left blank the output is written -# to stderr. - -WARN_LOGFILE = - -#--------------------------------------------------------------------------- -# configuration options related to the input files -#--------------------------------------------------------------------------- - -# The INPUT tag can be used to specify the files and/or directories that contain -# documented source files. You may enter file names like "myfile.cpp" or -# directories like "/usr/src/myproject". Separate the files or directories -# with spaces. - -INPUT = . \ - ../../RtAudio.h \ - ../../RtError.h - -# This tag can be used to specify the character encoding of the source files -# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is -# also the default input encoding. Doxygen uses libiconv (or the iconv built -# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for -# the list of possible encodings. - -INPUT_ENCODING = UTF-8 - -# If the value of the INPUT tag contains directories, you can use the -# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank the following patterns are tested: -# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx -# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90 - -FILE_PATTERNS = *.txt - -# The RECURSIVE tag can be used to turn specify whether or not subdirectories -# should be searched for input files as well. Possible values are YES and NO. -# If left blank NO is used. - -RECURSIVE = NO - -# The EXCLUDE tag can be used to specify files and/or directories that should -# excluded from the INPUT source files. This way you can easily exclude a -# subdirectory from a directory tree whose root is specified with the INPUT tag. - -EXCLUDE = - -# The EXCLUDE_SYMLINKS tag can be used select whether or not files or -# directories that are symbolic links (a Unix filesystem feature) are excluded -# from the input. - -EXCLUDE_SYMLINKS = NO - -# If the value of the INPUT tag contains directories, you can use the -# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude -# certain files from those directories. Note that the wildcards are matched -# against the file with absolute path, so to exclude all test directories -# for example use the pattern */test/* - -EXCLUDE_PATTERNS = - -# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names -# (namespaces, classes, functions, etc.) that should be excluded from the -# output. The symbol name can be a fully qualified name, a word, or if the -# wildcard * is used, a substring. Examples: ANamespace, AClass, -# AClass::ANamespace, ANamespace::*Test - -EXCLUDE_SYMBOLS = - -# The EXAMPLE_PATH tag can be used to specify one or more files or -# directories that contain example code fragments that are included (see -# the \include command). - -EXAMPLE_PATH = ../../tests/ - -# If the value of the EXAMPLE_PATH tag contains directories, you can use the -# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank all files are included. - -EXAMPLE_PATTERNS = - -# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be -# searched for input files to be used with the \include or \dontinclude -# commands irrespective of the value of the RECURSIVE tag. -# Possible values are YES and NO. If left blank NO is used. - -EXAMPLE_RECURSIVE = NO - -# The IMAGE_PATH tag can be used to specify one or more files or -# directories that contain image that are included in the documentation (see -# the \image command). - -IMAGE_PATH = - -# The INPUT_FILTER tag can be used to specify a program that doxygen should -# invoke to filter for each input file. Doxygen will invoke the filter program -# by executing (via popen()) the command , where -# is the value of the INPUT_FILTER tag, and is the name of an -# input file. Doxygen will then use the output that the filter program writes -# to standard output. If FILTER_PATTERNS is specified, this tag will be -# ignored. - -INPUT_FILTER = - -# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern -# basis. Doxygen will compare the file name with each pattern and apply the -# filter if there is a match. The filters are a list of the form: -# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further -# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER -# is applied to all files. - -FILTER_PATTERNS = - -# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using -# INPUT_FILTER) will be used to filter the input files when producing source -# files to browse (i.e. when SOURCE_BROWSER is set to YES). - -FILTER_SOURCE_FILES = NO - -#--------------------------------------------------------------------------- -# configuration options related to source browsing -#--------------------------------------------------------------------------- - -# If the SOURCE_BROWSER tag is set to YES then a list of source files will -# be generated. Documented entities will be cross-referenced with these sources. -# Note: To get rid of all source code in the generated output, make sure also -# VERBATIM_HEADERS is set to NO. - -SOURCE_BROWSER = NO - -# Setting the INLINE_SOURCES tag to YES will include the body -# of functions and classes directly in the documentation. - -INLINE_SOURCES = NO - -# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct -# doxygen to hide any special comment blocks from generated source code -# fragments. Normal C and C++ comments will always remain visible. - -STRIP_CODE_COMMENTS = YES - -# If the REFERENCED_BY_RELATION tag is set to YES -# then for each documented function all documented -# functions referencing it will be listed. - -REFERENCED_BY_RELATION = YES - -# If the REFERENCES_RELATION tag is set to YES -# then for each documented function all documented entities -# called/used by that function will be listed. - -REFERENCES_RELATION = YES - -# If the REFERENCES_LINK_SOURCE tag is set to YES (the default) -# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from -# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will -# link to the source code. Otherwise they will link to the documentation. - -REFERENCES_LINK_SOURCE = YES - -# If the USE_HTAGS tag is set to YES then the references to source code -# will point to the HTML generated by the htags(1) tool instead of doxygen -# built-in source browser. The htags tool is part of GNU's global source -# tagging system (see http://www.gnu.org/software/global/global.html). You -# will need version 4.8.6 or higher. - -USE_HTAGS = NO - -# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen -# will generate a verbatim copy of the header file for each class for -# which an include is specified. Set to NO to disable this. - -VERBATIM_HEADERS = YES - -#--------------------------------------------------------------------------- -# configuration options related to the alphabetical class index -#--------------------------------------------------------------------------- - -# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index -# of all compounds will be generated. Enable this if the project -# contains a lot of classes, structs, unions or interfaces. - -ALPHABETICAL_INDEX = NO - -# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then -# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns -# in which this list will be split (can be a number in the range [1..20]) - -COLS_IN_ALPHA_INDEX = 5 - -# In case all classes in a project start with a common prefix, all -# classes will be put under the same header in the alphabetical index. -# The IGNORE_PREFIX tag can be used to specify one or more prefixes that -# should be ignored while generating the index headers. - -IGNORE_PREFIX = - -#--------------------------------------------------------------------------- -# configuration options related to the HTML output -#--------------------------------------------------------------------------- - -# If the GENERATE_HTML tag is set to YES (the default) Doxygen will -# generate HTML output. - -GENERATE_HTML = YES - -# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `html' will be used as the default path. - -HTML_OUTPUT = ../html - -# The HTML_FILE_EXTENSION tag can be used to specify the file extension for -# each generated HTML page (for example: .htm,.php,.asp). If it is left blank -# doxygen will generate files with .html extension. - -HTML_FILE_EXTENSION = .html - -# The HTML_HEADER tag can be used to specify a personal HTML header for -# each generated HTML page. If it is left blank doxygen will generate a -# standard header. - -HTML_HEADER = header.html - -# The HTML_FOOTER tag can be used to specify a personal HTML footer for -# each generated HTML page. If it is left blank doxygen will generate a -# standard footer. - -HTML_FOOTER = footer.html - -# The HTML_STYLESHEET tag can be used to specify a user-defined cascading -# style sheet that is used by each HTML page. It can be used to -# fine-tune the look of the HTML output. If the tag is left blank doxygen -# will generate a default style sheet. Note that doxygen will try to copy -# the style sheet file to the HTML output directory, so don't put your own -# stylesheet in the HTML output directory as well, or it will be erased! - -HTML_STYLESHEET = - -# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML -# page will contain the date and time when the page was generated. Setting -# this to NO can help when comparing the output of multiple runs. - -HTML_TIMESTAMP = NO - -# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, -# files or namespaces will be aligned in HTML using tables. If set to -# NO a bullet list will be used. - -HTML_ALIGN_MEMBERS = YES - -# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML -# documentation will contain sections that can be hidden and shown after the -# page has loaded. For this to work a browser that supports -# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox -# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari). - -HTML_DYNAMIC_SECTIONS = NO - -# If the GENERATE_DOCSET tag is set to YES, additional index files -# will be generated that can be used as input for Apple's Xcode 3 -# integrated development environment, introduced with OSX 10.5 (Leopard). -# To create a documentation set, doxygen will generate a Makefile in the -# HTML output directory. Running make will produce the docset in that -# directory and running "make install" will install the docset in -# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find -# it at startup. -# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html for more information. - -GENERATE_DOCSET = NO - -# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the -# feed. A documentation feed provides an umbrella under which multiple -# documentation sets from a single provider (such as a company or product suite) -# can be grouped. - -DOCSET_FEEDNAME = "Doxygen generated docs" - -# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that -# should uniquely identify the documentation set bundle. This should be a -# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen -# will append .docset to the name. - -DOCSET_BUNDLE_ID = org.doxygen.Project - -# If the GENERATE_HTMLHELP tag is set to YES, additional index files -# will be generated that can be used as input for tools like the -# Microsoft HTML help workshop to generate a compiled HTML help file (.chm) -# of the generated HTML documentation. - -GENERATE_HTMLHELP = NO - -# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can -# be used to specify the file name of the resulting .chm file. You -# can add a path in front of the file if the result should not be -# written to the html output directory. - -CHM_FILE = - -# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can -# be used to specify the location (absolute path including file name) of -# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run -# the HTML help compiler on the generated index.hhp. - -HHC_LOCATION = - -# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag -# controls if a separate .chi index file is generated (YES) or that -# it should be included in the master .chm file (NO). - -GENERATE_CHI = NO - -# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING -# is used to encode HtmlHelp index (hhk), content (hhc) and project file -# content. - -CHM_INDEX_ENCODING = - -# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag -# controls whether a binary table of contents is generated (YES) or a -# normal table of contents (NO) in the .chm file. - -BINARY_TOC = NO - -# The TOC_EXPAND flag can be set to YES to add extra items for group members -# to the contents of the HTML help documentation and to the tree view. - -TOC_EXPAND = NO - -# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and QHP_VIRTUAL_FOLDER -# are set, an additional index file will be generated that can be used as input for -# Qt's qhelpgenerator to generate a Qt Compressed Help (.qch) of the generated -# HTML documentation. - -GENERATE_QHP = NO - -# If the QHG_LOCATION tag is specified, the QCH_FILE tag can -# be used to specify the file name of the resulting .qch file. -# The path specified is relative to the HTML output folder. - -QCH_FILE = - -# The QHP_NAMESPACE tag specifies the namespace to use when generating -# Qt Help Project output. For more information please see -# http://doc.trolltech.com/qthelpproject.html#namespace - -QHP_NAMESPACE = org.doxygen.Project - -# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating -# Qt Help Project output. For more information please see -# http://doc.trolltech.com/qthelpproject.html#virtual-folders - -QHP_VIRTUAL_FOLDER = doc - -# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to add. -# For more information please see -# http://doc.trolltech.com/qthelpproject.html#custom-filters - -QHP_CUST_FILTER_NAME = - -# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the custom filter to add.For more information please see -# Qt Help Project / Custom Filters. - -QHP_CUST_FILTER_ATTRS = - -# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this project's -# filter section matches. -# Qt Help Project / Filter Attributes. - -QHP_SECT_FILTER_ATTRS = - -# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can -# be used to specify the location of Qt's qhelpgenerator. -# If non-empty doxygen will try to run qhelpgenerator on the generated -# .qhp file. - -QHG_LOCATION = - -# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files -# will be generated, which together with the HTML files, form an Eclipse help -# plugin. To install this plugin and make it available under the help contents -# menu in Eclipse, the contents of the directory containing the HTML and XML -# files needs to be copied into the plugins directory of eclipse. The name of -# the directory within the plugins directory should be the same as -# the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before -# the help appears. - -GENERATE_ECLIPSEHELP = NO - -# A unique identifier for the eclipse help plugin. When installing the plugin -# the directory name containing the HTML and XML files should also have -# this name. - -ECLIPSE_DOC_ID = org.doxygen.Project - -# The DISABLE_INDEX tag can be used to turn on/off the condensed index at -# top of each HTML page. The value NO (the default) enables the index and -# the value YES disables it. - -DISABLE_INDEX = YES - -# This tag can be used to set the number of enum values (range [1..20]) -# that doxygen will group on one line in the generated HTML documentation. - -ENUM_VALUES_PER_LINE = 4 - -# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index -# structure should be generated to display hierarchical information. -# If the tag value is set to YES, a side panel will be generated -# containing a tree-like index structure (just like the one that -# is generated for HTML Help). For this to work a browser that supports -# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser). -# Windows users are probably better off using the HTML help feature. - -GENERATE_TREEVIEW = NO - -# By enabling USE_INLINE_TREES, doxygen will generate the Groups, Directories, -# and Class Hierarchy pages using a tree view instead of an ordered list. - -USE_INLINE_TREES = NO - -# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be -# used to set the initial width (in pixels) of the frame in which the tree -# is shown. - -TREEVIEW_WIDTH = 250 - -# Use this tag to change the font size of Latex formulas included -# as images in the HTML documentation. The default is 10. Note that -# when you change the font size after a successful doxygen run you need -# to manually remove any form_*.png images from the HTML output directory -# to force them to be regenerated. - -FORMULA_FONTSIZE = 10 - -# When the SEARCHENGINE tag is enabled doxygen will generate a search box -# for the HTML output. The underlying search engine uses javascript -# and DHTML and should work on any modern browser. Note that when using -# HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets -# (GENERATE_DOCSET) there is already a search function so this one should -# typically be disabled. For large projects the javascript based search engine -# can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution. - -SEARCHENGINE = NO - -# When the SERVER_BASED_SEARCH tag is enabled the search engine will be -# implemented using a PHP enabled web server instead of at the web client -# using Javascript. Doxygen will generate the search PHP script and index -# file to put on the web server. The advantage of the server -# based approach is that it scales better to large projects and allows -# full text search. The disadvances is that it is more difficult to setup -# and does not have live searching capabilities. - -SERVER_BASED_SEARCH = NO - -#--------------------------------------------------------------------------- -# configuration options related to the LaTeX output -#--------------------------------------------------------------------------- - -# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will -# generate Latex output. - -GENERATE_LATEX = NO - -# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `latex' will be used as the default path. - -LATEX_OUTPUT = latex - -# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be -# invoked. If left blank `latex' will be used as the default command name. -# Note that when enabling USE_PDFLATEX this option is only used for -# generating bitmaps for formulas in the HTML output, but not in the -# Makefile that is written to the output directory. - -LATEX_CMD_NAME = latex - -# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to -# generate index for LaTeX. If left blank `makeindex' will be used as the -# default command name. - -MAKEINDEX_CMD_NAME = makeindex - -# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact -# LaTeX documents. This may be useful for small projects and may help to -# save some trees in general. - -COMPACT_LATEX = NO - -# The PAPER_TYPE tag can be used to set the paper type that is used -# by the printer. Possible values are: a4, a4wide, letter, legal and -# executive. If left blank a4wide will be used. - -PAPER_TYPE = letter - -# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX -# packages that should be included in the LaTeX output. - -EXTRA_PACKAGES = - -# The LATEX_HEADER tag can be used to specify a personal LaTeX header for -# the generated latex document. The header should contain everything until -# the first chapter. If it is left blank doxygen will generate a -# standard header. Notice: only use this tag if you know what you are doing! - -LATEX_HEADER = - -# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated -# is prepared for conversion to pdf (using ps2pdf). The pdf file will -# contain links (just like the HTML output) instead of page references -# This makes the output suitable for online browsing using a pdf viewer. - -PDF_HYPERLINKS = NO - -# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of -# plain latex in the generated Makefile. Set this option to YES to get a -# higher quality PDF documentation. - -USE_PDFLATEX = YES - -# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. -# command to the generated LaTeX files. This will instruct LaTeX to keep -# running if errors occur, instead of asking the user for help. -# This option is also used when generating formulas in HTML. - -LATEX_BATCHMODE = NO - -# If LATEX_HIDE_INDICES is set to YES then doxygen will not -# include the index chapters (such as File Index, Compound Index, etc.) -# in the output. - -LATEX_HIDE_INDICES = NO - -# If LATEX_SOURCE_CODE is set to YES then doxygen will include -# source code with syntax highlighting in the LaTeX output. -# Note that which sources are shown also depends on other settings -# such as SOURCE_BROWSER. - -LATEX_SOURCE_CODE = NO - -#--------------------------------------------------------------------------- -# configuration options related to the RTF output -#--------------------------------------------------------------------------- - -# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output -# The RTF output is optimized for Word 97 and may not look very pretty with -# other RTF readers or editors. - -GENERATE_RTF = NO - -# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `rtf' will be used as the default path. - -RTF_OUTPUT = rtf - -# If the COMPACT_RTF tag is set to YES Doxygen generates more compact -# RTF documents. This may be useful for small projects and may help to -# save some trees in general. - -COMPACT_RTF = NO - -# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated -# will contain hyperlink fields. The RTF file will -# contain links (just like the HTML output) instead of page references. -# This makes the output suitable for online browsing using WORD or other -# programs which support those fields. -# Note: wordpad (write) and others do not support links. - -RTF_HYPERLINKS = NO - -# Load stylesheet definitions from file. Syntax is similar to doxygen's -# config file, i.e. a series of assignments. You only have to provide -# replacements, missing definitions are set to their default value. - -RTF_STYLESHEET_FILE = - -# Set optional variables used in the generation of an rtf document. -# Syntax is similar to doxygen's config file. - -RTF_EXTENSIONS_FILE = - -#--------------------------------------------------------------------------- -# configuration options related to the man page output -#--------------------------------------------------------------------------- - -# If the GENERATE_MAN tag is set to YES (the default) Doxygen will -# generate man pages - -GENERATE_MAN = NO - -# The MAN_OUTPUT tag is used to specify where the man pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `man' will be used as the default path. - -MAN_OUTPUT = man - -# The MAN_EXTENSION tag determines the extension that is added to -# the generated man pages (default is the subroutine's section .3) - -MAN_EXTENSION = .3 - -# If the MAN_LINKS tag is set to YES and Doxygen generates man output, -# then it will generate one additional man file for each entity -# documented in the real man page(s). These additional files -# only source the real man page, but without them the man command -# would be unable to find the correct page. The default is NO. - -MAN_LINKS = NO - -#--------------------------------------------------------------------------- -# configuration options related to the XML output -#--------------------------------------------------------------------------- - -# If the GENERATE_XML tag is set to YES Doxygen will -# generate an XML file that captures the structure of -# the code including all documentation. - -GENERATE_XML = NO - -# The XML_OUTPUT tag is used to specify where the XML pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `xml' will be used as the default path. - -XML_OUTPUT = xml - -# The XML_SCHEMA tag can be used to specify an XML schema, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_SCHEMA = - -# The XML_DTD tag can be used to specify an XML DTD, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_DTD = - -# If the XML_PROGRAMLISTING tag is set to YES Doxygen will -# dump the program listings (including syntax highlighting -# and cross-referencing information) to the XML output. Note that -# enabling this will significantly increase the size of the XML output. - -XML_PROGRAMLISTING = YES - -#--------------------------------------------------------------------------- -# configuration options for the AutoGen Definitions output -#--------------------------------------------------------------------------- - -# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will -# generate an AutoGen Definitions (see autogen.sf.net) file -# that captures the structure of the code including all -# documentation. Note that this feature is still experimental -# and incomplete at the moment. - -GENERATE_AUTOGEN_DEF = NO - -#--------------------------------------------------------------------------- -# configuration options related to the Perl module output -#--------------------------------------------------------------------------- - -# If the GENERATE_PERLMOD tag is set to YES Doxygen will -# generate a Perl module file that captures the structure of -# the code including all documentation. Note that this -# feature is still experimental and incomplete at the -# moment. - -GENERATE_PERLMOD = NO - -# If the PERLMOD_LATEX tag is set to YES Doxygen will generate -# the necessary Makefile rules, Perl scripts and LaTeX code to be able -# to generate PDF and DVI output from the Perl module output. - -PERLMOD_LATEX = NO - -# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be -# nicely formatted so it can be parsed by a human reader. This is useful -# if you want to understand what is going on. On the other hand, if this -# tag is set to NO the size of the Perl module output will be much smaller -# and Perl will parse it just the same. - -PERLMOD_PRETTY = YES - -# The names of the make variables in the generated doxyrules.make file -# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. -# This is useful so different doxyrules.make files included by the same -# Makefile don't overwrite each other's variables. - -PERLMOD_MAKEVAR_PREFIX = - -#--------------------------------------------------------------------------- -# Configuration options related to the preprocessor -#--------------------------------------------------------------------------- - -# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will -# evaluate all C-preprocessor directives found in the sources and include -# files. - -ENABLE_PREPROCESSING = YES - -# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro -# names in the source code. If set to NO (the default) only conditional -# compilation will be performed. Macro expansion can be done in a controlled -# way by setting EXPAND_ONLY_PREDEF to YES. - -MACRO_EXPANSION = NO - -# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES -# then the macro expansion is limited to the macros specified with the -# PREDEFINED and EXPAND_AS_DEFINED tags. - -EXPAND_ONLY_PREDEF = NO - -# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files -# in the INCLUDE_PATH (see below) will be search if a #include is found. - -SEARCH_INCLUDES = YES - -# The INCLUDE_PATH tag can be used to specify one or more directories that -# contain include files that are not input files but should be processed by -# the preprocessor. - -INCLUDE_PATH = - -# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard -# patterns (like *.h and *.hpp) to filter out the header-files in the -# directories. If left blank, the patterns specified with FILE_PATTERNS will -# be used. - -INCLUDE_FILE_PATTERNS = - -# The PREDEFINED tag can be used to specify one or more macro names that -# are defined before the preprocessor is started (similar to the -D option of -# gcc). The argument of the tag is a list of macros of the form: name -# or name=definition (no spaces). If the definition and the = are -# omitted =1 is assumed. To prevent a macro definition from being -# undefined via #undef or recursively expanded use the := operator -# instead of the = operator. - -PREDEFINED = - -# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then -# this tag can be used to specify a list of macro names that should be expanded. -# The macro definition that is found in the sources will be used. -# Use the PREDEFINED tag if you want to use a different macro definition. - -EXPAND_AS_DEFINED = - -# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then -# doxygen's preprocessor will remove all function-like macros that are alone -# on a line, have an all uppercase name, and do not end with a semicolon. Such -# function macros are typically used for boiler-plate code, and will confuse -# the parser if not removed. - -SKIP_FUNCTION_MACROS = YES - -#--------------------------------------------------------------------------- -# Configuration::additions related to external references -#--------------------------------------------------------------------------- - -# The TAGFILES option can be used to specify one or more tagfiles. -# Optionally an initial location of the external documentation -# can be added for each tagfile. The format of a tag file without -# this location is as follows: -# TAGFILES = file1 file2 ... -# Adding location for the tag files is done as follows: -# TAGFILES = file1=loc1 "file2 = loc2" ... -# where "loc1" and "loc2" can be relative or absolute paths or -# URLs. If a location is present for each tag, the installdox tool -# does not have to be run to correct the links. -# Note that each tag file must have a unique name -# (where the name does NOT include the path) -# If a tag file is not located in the directory in which doxygen -# is run, you must also specify the path to the tagfile here. - -TAGFILES = - -# When a file name is specified after GENERATE_TAGFILE, doxygen will create -# a tag file that is based on the input files it reads. - -GENERATE_TAGFILE = - -# If the ALLEXTERNALS tag is set to YES all external classes will be listed -# in the class index. If set to NO only the inherited external classes -# will be listed. - -ALLEXTERNALS = NO - -# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed -# in the modules index. If set to NO, only the current project's groups will -# be listed. - -EXTERNAL_GROUPS = YES - -# The PERL_PATH should be the absolute path and name of the perl script -# interpreter (i.e. the result of `which perl'). - -PERL_PATH = /usr/bin/perl - -#--------------------------------------------------------------------------- -# Configuration options related to the dot tool -#--------------------------------------------------------------------------- - -# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will -# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base -# or super classes. Setting the tag to NO turns the diagrams off. Note that -# this option is superseded by the HAVE_DOT option below. This is only a -# fallback. It is recommended to install and use dot, since it yields more -# powerful graphs. - -CLASS_DIAGRAMS = YES - -# You can define message sequence charts within doxygen comments using the \msc -# command. Doxygen will then run the mscgen tool (see -# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the -# documentation. The MSCGEN_PATH tag allows you to specify the directory where -# the mscgen tool resides. If left empty the tool is assumed to be found in the -# default search path. - -MSCGEN_PATH = /Applications/Doxygen.app/Contents/Resources/ - -# If set to YES, the inheritance and collaboration graphs will hide -# inheritance and usage relations if the target is undocumented -# or is not a class. - -HIDE_UNDOC_RELATIONS = YES - -# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is -# available from the path. This tool is part of Graphviz, a graph visualization -# toolkit from AT&T and Lucent Bell Labs. The other options in this section -# have no effect if this option is set to NO (the default) - -HAVE_DOT = NO - -# By default doxygen will write a font called FreeSans.ttf to the output -# directory and reference it in all dot files that doxygen generates. This -# font does not include all possible unicode characters however, so when you need -# these (or just want a differently looking font) you can specify the font name -# using DOT_FONTNAME. You need need to make sure dot is able to find the font, -# which can be done by putting it in a standard location or by setting the -# DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory -# containing the font. - -DOT_FONTNAME = FreeSans - -# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs. -# The default size is 10pt. - -DOT_FONTSIZE = 10 - -# By default doxygen will tell dot to use the output directory to look for the -# FreeSans.ttf font (which doxygen will put there itself). If you specify a -# different font using DOT_FONTNAME you can set the path where dot -# can find it using this tag. - -DOT_FONTPATH = - -# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect inheritance relations. Setting this tag to YES will force the -# the CLASS_DIAGRAMS tag to NO. - -CLASS_GRAPH = YES - -# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect implementation dependencies (inheritance, containment, and -# class references variables) of the class with other documented classes. - -COLLABORATION_GRAPH = YES - -# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for groups, showing the direct groups dependencies - -GROUP_GRAPHS = YES - -# If the UML_LOOK tag is set to YES doxygen will generate inheritance and -# collaboration diagrams in a style similar to the OMG's Unified Modeling -# Language. - -UML_LOOK = NO - -# If set to YES, the inheritance and collaboration graphs will show the -# relations between templates and their instances. - -TEMPLATE_RELATIONS = NO - -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT -# tags are set to YES then doxygen will generate a graph for each documented -# file showing the direct and indirect include dependencies of the file with -# other documented files. - -INCLUDE_GRAPH = YES - -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and -# HAVE_DOT tags are set to YES then doxygen will generate a graph for each -# documented header file showing the documented files that directly or -# indirectly include this file. - -INCLUDED_BY_GRAPH = YES - -# If the CALL_GRAPH and HAVE_DOT options are set to YES then -# doxygen will generate a call dependency graph for every global function -# or class method. Note that enabling this option will significantly increase -# the time of a run. So in most cases it will be better to enable call graphs -# for selected functions only using the \callgraph command. - -CALL_GRAPH = NO - -# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then -# doxygen will generate a caller dependency graph for every global function -# or class method. Note that enabling this option will significantly increase -# the time of a run. So in most cases it will be better to enable caller -# graphs for selected functions only using the \callergraph command. - -CALLER_GRAPH = NO - -# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen -# will graphical hierarchy of all classes instead of a textual one. - -GRAPHICAL_HIERARCHY = YES - -# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES -# then doxygen will show the dependencies a directory has on other directories -# in a graphical way. The dependency relations are determined by the #include -# relations between the files in the directories. - -DIRECTORY_GRAPH = YES - -# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images -# generated by dot. Possible values are png, jpg, or gif -# If left blank png will be used. - -DOT_IMAGE_FORMAT = png - -# The tag DOT_PATH can be used to specify the path where the dot tool can be -# found. If left blank, it is assumed the dot tool can be found in the path. - -DOT_PATH = /Applications/Doxygen.app/Contents/Resources/ - -# The DOTFILE_DIRS tag can be used to specify one or more directories that -# contain dot files that are included in the documentation (see the -# \dotfile command). - -DOTFILE_DIRS = - -# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of -# nodes that will be shown in the graph. If the number of nodes in a graph -# becomes larger than this value, doxygen will truncate the graph, which is -# visualized by representing a node as a red box. Note that doxygen if the -# number of direct children of the root node in a graph is already larger than -# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note -# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH. - -DOT_GRAPH_MAX_NODES = 50 - -# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the -# graphs generated by dot. A depth value of 3 means that only nodes reachable -# from the root by following a path via at most 3 edges will be shown. Nodes -# that lay further from the root node will be omitted. Note that setting this -# option to 1 or 2 may greatly reduce the computation time needed for large -# code bases. Also note that the size of a graph can be further restricted by -# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction. - -MAX_DOT_GRAPH_DEPTH = 0 - -# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent -# background. This is disabled by default, because dot on Windows does not -# seem to support this out of the box. Warning: Depending on the platform used, -# enabling this option may lead to badly anti-aliased labels on the edges of -# a graph (i.e. they become hard to read). - -DOT_TRANSPARENT = YES - -# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output -# files in one run (i.e. multiple -o and -T options on the command line). This -# makes dot run faster, but since only newer versions of dot (>1.8.10) -# support this, this feature is disabled by default. - -DOT_MULTI_TARGETS = NO - -# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will -# generate a legend page explaining the meaning of the various boxes and -# arrows in the dot generated graphs. - -GENERATE_LEGEND = YES - -# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will -# remove the intermediate dot files that are used to generate -# the various graphs. - -DOT_CLEANUP = YES diff --git a/source/modules/rtaudio/doc/doxygen/acknowledge.txt b/source/modules/rtaudio/doc/doxygen/acknowledge.txt deleted file mode 100644 index 8ea92e977..000000000 --- a/source/modules/rtaudio/doc/doxygen/acknowledge.txt +++ /dev/null @@ -1,28 +0,0 @@ -/*! \page acknowledge Acknowledgements - -Many thanks to the following people for providing bug fixes and improvements: -
    -
  • Stefan Arisona
  • -
  • Vincent Bénony
  • -
  • Rasmus Ekman
  • -
  • Anders Ervik
  • -
  • Robin Davies (Windows DS and ASIO)
  • -
  • Martin Koegler
  • -
  • Dmitry Kostjuchenko
  • -
  • Oliver Larkin
  • -
  • Antoine Lefebvre
  • -
  • Carlos Luna
  • -
  • Dominic Mazzoni
  • -
  • Tristan Matthews
  • -
  • Peter Meerwald (PulseAudio)
  • -
  • Benjamin Schroeder
  • -
  • Ryan Williams (Windows non-MS compiler ASIO support)
  • -
  • Ed Wildgoose (Linux ALSA and Jack)
  • - -
- -The RtAudio API incorporates many of the concepts developed in the PortAudio project by Phil Burk and Ross Bencina. Early development also incorporated ideas from Bill Schottstaedt's sndlib. The CCRMA SoundWire group provided valuable feedback during the API proposal stages. - -The early 2.0 version of RtAudio was slowly developed over the course of many months while in residence at the Institut Universitari de L'Audiovisual (IUA) in Barcelona, Spain and the Laboratory of Acoustics and Audio Signal Processing at the Helsinki University of Technology, Finland. Much subsequent development happened while working at the Center for Computer Research in Music and Acoustics (CCRMA) at Stanford University. All recent versions of RtAudio have been completed while working as an assistant / associate professor of Music Technology at McGill University. This work was supported in part by the United States Air Force Office of Scientific Research (grant \#F49620-99-1-0293). - -*/ diff --git a/source/modules/rtaudio/doc/doxygen/apinotes.txt b/source/modules/rtaudio/doc/doxygen/apinotes.txt deleted file mode 100644 index fc807141e..000000000 --- a/source/modules/rtaudio/doc/doxygen/apinotes.txt +++ /dev/null @@ -1,39 +0,0 @@ -/*! \page apinotes API Notes - -RtAudio is designed to provide a common API across the various supported operating systems and audio libraries. Despite that, some issues should be mentioned with regard to each. - -\section linux Linux: - -RtAudio for Linux was developed under Redhat distributions 7.0 - Fedora. Four different audio APIs are supported on Linux platforms: OSS (versions >= 4.0), ALSA, Jack, and PulseAudio. Note that RtAudio now only supports the newer version 4.0 OSS API. The ALSA API is now part of the Linux kernel and offers significantly better functionality than the OSS API. RtAudio provides support for the 1.0 and higher versions of ALSA. Jack is a low-latency audio server written primarily for the GNU/Linux operating system. It can connect a number of different applications to an audio device, as well as allow them to share audio between themselves. Input/output latency on the order of 15 milliseconds can typically be achieved using any of the Linux APIs by fine-tuning the RtAudio buffer parameters (without kernel modifications). Latencies on the order of 5 milliseconds or less can be achieved using a low-latency kernel patch and increasing FIFO scheduling priority. The pthread library, which is used for callback functionality, is a standard component of all Linux distributions. - -The ALSA library includes OSS emulation support. That means that you can run programs compiled for the OSS API even when using the ALSA drivers and library. It should be noted however that OSS emulation under ALSA is not perfect. Specifically, channel number queries seem to consistently produce invalid results. While OSS emulation is successful for the majority of RtAudio tests, it is recommended that the native ALSA implementation of RtAudio be used on systems which have ALSA drivers installed. - -The ALSA implementation of RtAudio makes no use of the ALSA "plug" interface. All necessary data format conversions, channel compensation, de-interleaving, and byte-swapping is handled by internal RtAudio routines. - -\section macosx Macintosh OS-X (CoreAudio and Jack): - -The Apple CoreAudio API is designed to use a separate callback procedure for each of its audio devices. A single RtAudio duplex stream using two different devices is supported, though it cannot be guaranteed to always behave correctly because we cannot synchronize these two callbacks. The numberOfBuffers parameter to the RtAudio::openStream() function has no affect in this implementation. - -It is not possible to have multiple instances of RtAudio accessing the same CoreAudio device. - -The RtAudio Jack support can be compiled on Macintosh OS-X systems, as well as in Linux. - -\section windowsds Windows (DirectSound): - -The \c configure script provides support for the MinGW compiler. DirectSound support is specified with the "--with-ds" flag. - -In order to compile RtAudio under Windows for the DirectSound API, you must have the header and source files for DirectSound version 5.0 or higher. As far as I know, there is no DirectSoundCapture support for Windows NT. Audio output latency with DirectSound can be reasonably good, especially since RtAudio version 3.0.2. Input audio latency still tends to be bad but better since version 3.0.2. RtAudio was originally developed with Visual C++ version 6.0 but has been tested with .NET. - -The DirectSound version of RtAudio can be compiled with or without the UNICODE preprocessor definition. - -\section windowsasio Windows (ASIO): - -ASIO support using MinGW and the \c configure script is specified with the "--with-asio" flag. - -The Steinberg ASIO audio API allows only a single device driver to be loaded and accessed at a time. ASIO device drivers must be supplied by audio hardware manufacturers, though ASIO emulation is possible on top of systems with DirectSound drivers. The numberOfBuffers parameter to the RtAudio::openStream() function has no affect in this implementation. - -A number of ASIO source and header files are required for use with RtAudio. Specifically, an RtAudio project must include the following files: asio.h,cpp; asiodrivers.h,cpp; asiolist.h,cpp; asiodrvr.h; asiosys.h; ginclude.h; iasiodrv.h; iasiothiscallresolver.h,cpp. The Visual C++ projects found in /tests/Windows/ compile both ASIO and DirectSound support. - -The Steinberg provided asiolist class does not compile when the preprocessor definition UNICODE is defined. Note that this could be an issue when using RtAudio with Qt, though Qt programs appear to compile without the UNICODE definition (try DEFINES -= UNICODE in your .pro file). RtAudio with ASIO support has been tested using the MinGW compiler under Windows XP, as well as in the Visual Studio environment. - -*/ diff --git a/source/modules/rtaudio/doc/doxygen/compiling.txt b/source/modules/rtaudio/doc/doxygen/compiling.txt deleted file mode 100644 index c1f83e4fa..000000000 --- a/source/modules/rtaudio/doc/doxygen/compiling.txt +++ /dev/null @@ -1,84 +0,0 @@ -/*! \page compiling Debugging & Compiling - -\section debug Debugging - -If you are having problems getting RtAudio to run on your system, make sure to pass a value of \e true to the RtAudio::showWarnings() function (this is the default setting). A variety of warning messages will be displayed which may help in determining the problem. Also, try using the programs included in the tests directory. The program audioprobe displays the queried capabilities of all hardware devices found for all APIs compiled. When using the ALSA and JACK APIs, further information can be displayed by defining the preprocessor definition __RTAUDIO_DEBUG__. - -\section compile Compiling - -In order to compile RtAudio for a specific OS and audio API, it is necessary to supply the appropriate preprocessor definition and library within the compiler statement: -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
OS:Audio API:C++ Class:Preprocessor Definition:Library or Framework:Example Compiler Statement:
LinuxALSARtApiAlsa__LINUX_ALSA__asound, pthreadg++ -Wall -D__LINUX_ALSA__ -o audioprobe audioprobe.cpp RtAudio.cpp -lasound -lpthread
LinuxPulseAudioRtApiPulse__LINUX_PULSE__pthreadg++ -Wall -D__LINUX_PULSE__ -o audioprobe audioprobe.cpp RtAudio.cpp -lpthread -lpulse-simple -lpulse
LinuxOSSRtApiOss__LINUX_OSS__pthreadg++ -Wall -D__LINUX_OSS__ -o audioprobe audioprobe.cpp RtAudio.cpp -lpthread
Linux or Macintosh OS-XJack Audio ServerRtApiJack__UNIX_JACK__jack, pthreadg++ -Wall -D__UNIX_JACK__ -o audioprobe audioprobe.cpp RtAudio.cpp `pkg-config --cflags --libs jack` -lpthread
Macintosh OS-XCoreAudioRtApiCore__MACOSX_CORE__pthread, CoreAudiog++ -Wall -D__MACOSX_CORE__ -o audioprobe audioprobe.cpp RtAudio.cpp -framework CoreAudio -lpthread
WindowsDirect SoundRtApiDs__WINDOWS_DS__dsound.lib (ver. 5.0 or higher), multithreadedcompiler specific
WindowsASIORtApiAsio__WINDOWS_ASIO__various ASIO header and source filescompiler specific
-

- -The example compiler statements above could be used to compile the audioprobe.cpp example file, assuming that audioprobe.cpp, RtAudio.h, RtError.h, and RtAudio.cpp all exist in the same directory. - - -*/ diff --git a/source/modules/rtaudio/doc/doxygen/duplex.txt b/source/modules/rtaudio/doc/doxygen/duplex.txt deleted file mode 100644 index c76ae73d1..000000000 --- a/source/modules/rtaudio/doc/doxygen/duplex.txt +++ /dev/null @@ -1,76 +0,0 @@ -/*! \page duplex Duplex Mode - -Finally, it is easy to use RtAudio for simultaneous audio input/output, or duplex operation. In this example, we simply pass the input data back to the output. - -\code -#include "RtAudio.h" -#include -#include -#include - -// Pass-through function. -int inout( void *outputBuffer, void *inputBuffer, unsigned int nBufferFrames, - double streamTime, RtAudioStreamStatus status, void *data ) -{ - // Since the number of input and output channels is equal, we can do - // a simple buffer copy operation here. - if ( status ) std::cout << "Stream over/underflow detected." << std::endl; - - unsigned long *bytes = (unsigned long *) data; - memcpy( outputBuffer, inputBuffer, *bytes ); - return 0; -} - -int main() -{ - RtAudio adac; - if ( adac.getDeviceCount() < 1 ) { - std::cout << "\nNo audio devices found!\n"; - exit( 0 ); - } - - // Set the same number of channels for both input and output. - unsigned int bufferBytes, bufferFrames = 512; - RtAudio::StreamParameters iParams, oParams; - iParams.deviceId = 0; // first available device - iParams.nChannels = 2; - oParams.deviceId = 0; // first available device - oParams.nChannels = 2; - - try { - adac.openStream( &oParams, &iParams, RTAUDIO_SINT32, 44100, &bufferFrames, &inout, (void *)&bufferBytes ); - } - catch ( RtError& e ) { - e.printMessage(); - exit( 0 ); - } - - bufferBytes = bufferFrames * 2 * 4; - - try { - adac.startStream(); - - char input; - std::cout << "\nRunning ... press to quit.\n"; - std::cin.get(input); - - // Stop the stream. - adac.stopStream(); - } - catch ( RtError& e ) { - e.printMessage(); - goto cleanup; - } - - cleanup: - if ( adac.isStreamOpen() ) adac.closeStream(); - - return 0; -} -\endcode - -In this example, audio recorded by the stream input will be played out during the next round of audio processing. - -Note that a duplex stream can make use of two different devices (except when using the Linux Jack and Windows ASIO APIs). However, this may cause timing problems due to possible device clock variations, unless a common external "sync" is provided. - -*/ diff --git a/source/modules/rtaudio/doc/doxygen/error.txt b/source/modules/rtaudio/doc/doxygen/error.txt deleted file mode 100644 index 514c1c41a..000000000 --- a/source/modules/rtaudio/doc/doxygen/error.txt +++ /dev/null @@ -1,5 +0,0 @@ -/*! \page errors Error Handling - -RtAudio makes restrained use of C++ exceptions. That is, exceptions are thrown only when system errors occur that prevent further class operation or when the user makes invalid function calls. In other cases, a warning message may be displayed and an appropriate value is returned. For example, if a system error occurs when processing the RtAudio::getDeviceCount() function, the return value is zero. In such a case, the user cannot expect to make use of most other RtAudio functions because no devices are available (and thus a stream cannot be opened). A client can call the function RtAudio::showWarnings() with a boolean argument to enable or disable the printing of warning messages to stderr. By default, warning messages are displayed. There is a protected RtAudio method, error(), that can be modified to globally control how these messages are handled and reported. - -*/ diff --git a/source/modules/rtaudio/doc/doxygen/footer.html b/source/modules/rtaudio/doc/doxygen/footer.html deleted file mode 100644 index 4f5b71cf7..000000000 --- a/source/modules/rtaudio/doc/doxygen/footer.html +++ /dev/null @@ -1,8 +0,0 @@ -


- - - -
©2001-2013 Gary P. Scavone, McGill University. All Rights Reserved.
Maintained by Gary P. Scavone.
- - - diff --git a/source/modules/rtaudio/doc/doxygen/header.html b/source/modules/rtaudio/doc/doxygen/header.html deleted file mode 100644 index 031694adf..000000000 --- a/source/modules/rtaudio/doc/doxygen/header.html +++ /dev/null @@ -1,10 +0,0 @@ - - -The RtAudio Home Page - - - - -
-Home   Class/Enum List   File List   Compound Members  
-
diff --git a/source/modules/rtaudio/doc/doxygen/license.txt b/source/modules/rtaudio/doc/doxygen/license.txt deleted file mode 100644 index c595b4f2f..000000000 --- a/source/modules/rtaudio/doc/doxygen/license.txt +++ /dev/null @@ -1,30 +0,0 @@ -/*! \page license License - - RtAudio: a set of realtime audio i/o C++ classes
- Copyright (c) 2001-2012 Gary P. Scavone - - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation files - (the "Software"), to deal in the Software without restriction, - including without limitation the rights to use, copy, modify, merge, - publish, distribute, sublicense, and/or sell copies of the Software, - and to permit persons to whom the Software is furnished to do so, - subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - Any person wishing to distribute modifications to the Software is - asked to send the modifications to the original developer so that - they can be incorporated into the canonical version. This is, - however, not a binding provision of this license. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR - ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF - CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -*/ diff --git a/source/modules/rtaudio/doc/doxygen/multi.txt b/source/modules/rtaudio/doc/doxygen/multi.txt deleted file mode 100644 index 85a3e4825..000000000 --- a/source/modules/rtaudio/doc/doxygen/multi.txt +++ /dev/null @@ -1,7 +0,0 @@ -/*! \page multi Using Simultaneous Multiple APIs - -Because support for each audio API is encapsulated in a specific RtApi subclass, it is possible to compile and instantiate multiple API-specific subclasses on a given operating system. For example, one can compile both the RtApiDs and RtApiAsio classes on Windows operating systems by providing the appropriate preprocessor definitions, include files, and libraries for each. In a run-time situation, one might first attempt to determine whether any ASIO device drivers exist. This can be done by specifying the api argument RtAudio::WINDOWS_ASIO when attempting to create an instance of RtAudio. If no available devices are found, then an instance of RtAudio with the api argument RtAudio::WINDOWS_DS can be created. Alternately, if no api argument is specified, RtAudio will first look for an ASIO instance and then a DirectSound instance (on Linux systems, the default API search order is Jack, Alsa, and finally OSS). In theory, it should also be possible to have separate instances of RtAudio open at the same time with different underlying audio API support, though this has not been tested. It is difficult to know how well different audio APIs can simultaneously coexist on a given operating system. In particular, it is unlikely that the same device could be simultaneously controlled with two different audio APIs. - -The static function RtAudio::getCompiledApi() is provided to determine the available compiled API support. The function RtAudio::getCurrentApi() indicates the API selected for a given RtAudio instance. - -*/ diff --git a/source/modules/rtaudio/doc/doxygen/playback.txt b/source/modules/rtaudio/doc/doxygen/playback.txt deleted file mode 100644 index c291f5ae1..000000000 --- a/source/modules/rtaudio/doc/doxygen/playback.txt +++ /dev/null @@ -1,82 +0,0 @@ -/*! \page playback Playback - -In this example, we provide a complete program that demonstrates the use of RtAudio for audio playback. Our program produces a two-channel sawtooth waveform for output. - -\code -#include "RtAudio.h" -#include -#include - -// Two-channel sawtooth wave generator. -int saw( void *outputBuffer, void *inputBuffer, unsigned int nBufferFrames, - double streamTime, RtAudioStreamStatus status, void *userData ) -{ - unsigned int i, j; - double *buffer = (double *) outputBuffer; - double *lastValues = (double *) userData; - - if ( status ) - std::cout << "Stream underflow detected!" << std::endl; - - // Write interleaved audio data. - for ( i=0; i= 1.0 ) lastValues[j] -= 2.0; - } - } - - return 0; -} - -int main() -{ - RtAudio dac; - if ( dac.getDeviceCount() < 1 ) { - std::cout << "\nNo audio devices found!\n"; - exit( 0 ); - } - - RtAudio::StreamParameters parameters; - parameters.deviceId = dac.getDefaultOutputDevice(); - parameters.nChannels = 2; - parameters.firstChannel = 0; - unsigned int sampleRate = 44100; - unsigned int bufferFrames = 256; // 256 sample frames - double data[2]; - - try { - dac.openStream( ¶meters, NULL, RTAUDIO_FLOAT64, - sampleRate, &bufferFrames, &saw, (void *)&data ); - dac.startStream(); - } - catch ( RtError& e ) { - e.printMessage(); - exit( 0 ); - } - - char input; - std::cout << "\nPlaying ... press to quit.\n"; - std::cin.get( input ); - - try { - // Stop the stream - dac.stopStream(); - } - catch (RtError& e) { - e.printMessage(); - } - - if ( dac.isStreamOpen() ) dac.closeStream(); - - return 0; -} -\endcode - -We open the stream in exactly the same way as the previous example (except with a data format change) and specify the address of our callback function \e "saw()". The callback function will automatically be invoked when the underlying audio system needs data for output. Note that the callback function is called only when the stream is "running" (between calls to the RtAudio::startStream() and RtAudio::stopStream() functions). We can also pass a pointer value to the RtAudio::openStream() function that is made available in the callback function. In this way, it is possible to gain access to arbitrary data created in our \e main() function from within the globally defined callback function. - -In this example, we stop the stream with an explicit call to RtAudio::stopStream(). It is also possible to stop a stream by returning a non-zero value from the callback function. A return value of 1 will cause the stream to finish draining its internal buffers and then halt (equivalent to calling the RtAudio::stopStream() function). A return value of 2 will cause the stream to stop immediately (equivalent to calling the RtAudio::abortStream() function). - -*/ diff --git a/source/modules/rtaudio/doc/doxygen/probe.txt b/source/modules/rtaudio/doc/doxygen/probe.txt deleted file mode 100644 index dd8c51160..000000000 --- a/source/modules/rtaudio/doc/doxygen/probe.txt +++ /dev/null @@ -1,70 +0,0 @@ -/*! \page probe Probing Device Capabilities - -A programmer may wish to query the available audio device capabilities before deciding which to use. The following example outlines how this can be done. - -\code - -// audioprobe.cpp - -#include -#include "RtAudio.h" - -int main() -{ - RtAudio audio; - - // Determine the number of devices available - unsigned int devices = audio.getDeviceCount(); - - // Scan through devices for various capabilities - RtAudio::DeviceInfo info; - for ( unsigned int i=0; i<=devices; i++ ) { - - info = audio.getDeviceInfo( i ); - - if ( info.probed == true ) { - // Print, for example, the maximum number of output channels for each device - std::cout << "device = " << i; - std::cout << ": maximum output channels = " << info.outputChannels << "\n"; - } - } - - return 0; -} -\endcode - -The RtAudio::DeviceInfo structure is defined in RtAudio.h and provides a variety of information useful in assessing the capabilities of a device: - -\code - typedef struct RtAudio::DeviceInfo { - bool probed; // true if the device capabilities were successfully probed. - std::string name; // Character string device identifier. - unsigned int outputChannels; // Maximum output channels supported by device. - unsigned int inputChannels; // Maximum input channels supported by device. - unsigned int duplexChannels; // Maximum simultaneous input/output channels supported by device. - bool isDefaultOutput; // true if this is the default output device. - bool isDefaultInput; // true if this is the default input device. - std::vector sampleRates; // Supported sample rates. - RtAudioFormat nativeFormats; // Bit mask of supported data formats. - }; -\endcode - -The following data formats are defined and fully supported by RtAudio: - -\code - typedef unsigned long RtAudioFormat; - static const RtAudioFormat RTAUDIO_SINT8; // Signed 8-bit integer - static const RtAudioFormat RTAUDIO_SINT16; // Signed 16-bit integer - static const RtAudioFormat RTAUDIO_SINT24; // Signed 24-bit integer (lower 3 bytes of 32-bit signed integer.) - static const RtAudioFormat RTAUDIO_SINT32; // Signed 32-bit integer - static const RtAudioFormat RTAUDIO_FLOAT32; // 32-bit float normalized between +/- 1.0 - static const RtAudioFormat RTAUDIO_FLOAT64; // 64-bit double normalized between +/- 1.0 -\endcode - -The \c nativeFormats member of the RtAudio::DeviceInfo structure is a bit mask of the above formats which are natively supported by the device. However, RtAudio will automatically provide format conversion if a particular format is not natively supported. When the \c probed member of the RtAudio::DeviceInfo structure is false, the remaining structure members are undefined and the device is probably unusable. - -Some audio devices may require a minimum channel value greater than one. RtAudio will provide automatic channel number compensation when the number of channels set by the user is less than that required by the device. Channel compensation is NOT possible when the number of channels set by the user is greater than that supported by the device. - -It should be noted that the capabilities reported by a device driver or underlying audio API are not always accurate and/or may be dependent on a combination of device settings. For this reason, RtAudio does not rely on the queried values when attempting to open a stream. - -*/ diff --git a/source/modules/rtaudio/doc/doxygen/recording.txt b/source/modules/rtaudio/doc/doxygen/recording.txt deleted file mode 100644 index 9b624386a..000000000 --- a/source/modules/rtaudio/doc/doxygen/recording.txt +++ /dev/null @@ -1,68 +0,0 @@ -/*! \page recording Recording - - -Using RtAudio for audio input is almost identical to the way it is used for playback. Here's the blocking playback example rewritten for recording: - -\code -#include "RtAudio.h" -#include -#include -#include - -int record( void *outputBuffer, void *inputBuffer, unsigned int nBufferFrames, - double streamTime, RtAudioStreamStatus status, void *userData ) -{ - if ( status ) - std::cout << "Stream overflow detected!" << std::endl; - - // Do something with the data in the "inputBuffer" buffer. - - return 0; -} - -int main() -{ - RtAudio adc; - if ( adc.getDeviceCount() < 1 ) { - std::cout << "\nNo audio devices found!\n"; - exit( 0 ); - } - - RtAudio::StreamParameters parameters; - parameters.deviceId = adc.getDefaultInputDevice(); - parameters.nChannels = 2; - parameters.firstChannel = 0; - unsigned int sampleRate = 44100; - unsigned int bufferFrames = 256; // 256 sample frames - - try { - adc.openStream( NULL, ¶meters, RTAUDIO_SINT16, - sampleRate, &bufferFrames, &record ); - adc.startStream(); - } - catch ( RtError& e ) { - e.printMessage(); - exit( 0 ); - } - - char input; - std::cout << "\nRecording ... press to quit.\n"; - std::cin.get( input ); - - try { - // Stop the stream - adc.stopStream(); - } - catch (RtError& e) { - e.printMessage(); - } - - if ( adc.isStreamOpen() ) adc.closeStream(); - - return 0; -} -\endcode - -In this example, we pass the address of the stream parameter structure as the second argument of the RtAudio::openStream() function and pass a NULL value for the output stream parameters. In this example, the \e record() callback function performs no specific operations. - -*/ diff --git a/source/modules/rtaudio/doc/doxygen/settings.txt b/source/modules/rtaudio/doc/doxygen/settings.txt deleted file mode 100644 index d7cc1d276..000000000 --- a/source/modules/rtaudio/doc/doxygen/settings.txt +++ /dev/null @@ -1,48 +0,0 @@ -/*! \page settings Device Settings - -The next step in using RtAudio is to open a stream with particular device and parameter settings. - -\code - -#include "RtAudio.h" - -int main() -{ - RtAudio dac; - if ( dac.getDeviceCount() == 0 ) exit( 0 ); - - RtAudio::StreamParameters parameters; - parameters.deviceId = dac.getDefaultOutputDevice(); - parameters.nChannels = 2; - unsigned int sampleRate = 44100; - unsigned int bufferFrames = 256; // 256 sample frames - - RtAudio::StreamOptions options; - options.flags = RTAUDIO_NONINTERLEAVED; - - try { - dac.openStream( ¶meters, NULL, RTAUDIO_FLOAT32, - sampleRate, &bufferFrames, &myCallback, NULL, &options ); - } - catch ( RtError& e ) { - std::cout << '\n' << e.getMessage() << '\n' << std::endl; - exit( 0 ); - } - - return 0; -} -\endcode - -The RtAudio::openStream() function attempts to open a stream with a specified set of parameter values. In the above example, we attempt to open a two channel playback stream using the default output device, 32-bit floating point data, a sample rate of 44100 Hz, and a frame rate of 256 sample frames per output buffer. If the user specifies an invalid parameter value (such as a device id greater than or equal to the number of enumerated devices), an RtError is thrown of type = INVALID_USE. If a system error occurs or the device does not support the specified parameter values, an RtError of type = SYSTEM_ERROR is thrown. In either case, a descriptive error message is bundled with the exception and can be queried with the RtError::getMessage() or RtError::what() functions. - -RtAudio provides four signed integer and two floating point data formats which can be specified using the RtAudioFormat parameter values mentioned earlier. If the opened device does not natively support the given format, RtAudio will automatically perform the necessary data format conversion. - -The \c bufferFrames parameter specifies the desired number of sample frames that will be written to and/or read from a device per write/read operation. This parameter can be used to control stream latency though there is no guarantee that the passed value will be that used by a device. In general, a lower \c bufferFrames value will produce less latency but perhaps less robust performance. A value of zero can be specified, in which case the smallest allowable value will be used. The \c bufferFrames parameter is passed as a pointer and the actual value used by the stream is set during the device setup procedure. \c bufferFrames values should be a power of two. Optimal and allowable buffer values tend to vary between systems and devices. Stream latency can also be controlled via the optional RtAudio::StreamOptions member \c numberOfBuffers (not used in the example above), though this tends to be more system dependent. In particular, the \c numberOfBuffers parameter is ignored when using the OS-X Core Audio, Jack, and the Windows ASIO APIs. - -As noted earlier, the device capabilities reported by a driver or underlying audio API are not always accurate and/or may be dependent on a combination of device settings. Because of this, RtAudio does not attempt to query a device's capabilities or use previously reported values when opening a device. Instead, RtAudio simply attempts to set the given parameters on a specified device and then checks whether the setup is successful or not. - -The RtAudioCallback parameter above is a pointer to a user-defined function that will be called whenever the audio system is ready for new output data or has new input data to be read. Further details on the use of a callback function are provided in the next section. - -Several stream options are available to fine-tune the behavior of an audio stream. In the example above, we specify that data will be written by the user in a \e non-interleaved format via the RtAudio::StreamOptions member \c flags. That is, all \c bufferFrames of the first channel should be written consecutively, followed by all \c bufferFrames of the second channel. By default (when no option is specified), RtAudio expects data to be written in an \e interleaved format. - -*/ diff --git a/source/modules/rtaudio/doc/doxygen/tutorial.txt b/source/modules/rtaudio/doc/doxygen/tutorial.txt deleted file mode 100644 index 65817742e..000000000 --- a/source/modules/rtaudio/doc/doxygen/tutorial.txt +++ /dev/null @@ -1,51 +0,0 @@ -/*! \mainpage The RtAudio Home Page - -RtAudio is a set of C++ classes that provide a common API (Application Programming Interface) for realtime audio input/output across Linux, Macintosh OS-X and Windows operating systems. RtAudio significantly simplifies the process of interacting with computer audio hardware. It was designed with the following objectives: - -
    -
  • object-oriented C++ design
  • -
  • simple, common API across all supported platforms
  • -
  • only one source and two header files for easy inclusion in programming projects
  • -
  • allow simultaneous multi-api support
  • -
  • support dynamic connection of devices
  • -
  • provide extensive audio device parameter control
  • -
  • allow audio device capability probing
  • -
  • automatic internal conversion for data format, channel number compensation, (de)interleaving, and byte-swapping
  • -
- -RtAudio incorporates the concept of audio streams, which represent audio output (playback) and/or input (recording). Available audio devices and their capabilities can be enumerated and then specified when opening a stream. Where applicable, multiple API support can be compiled and a particular API specified when creating an RtAudio instance. See the \ref apinotes section for information specific to each of the supported audio APIs. - -\section whatsnew Latest Updates (Version 4.0.12) - -- new functionality to allow error reporting via a client-supplied function (thanks to Pavel Mogilevskiy) -- new function to return the version number -- updated RtAudio.cpp and ASIO files for UNICODE support (thanks to Renaud Schoonbroodt) -- updates to PulseAudio API support (thanks to Peter Meerwald and Tristan Matthews) -- updates for pkg-config support in configure script -- 24-bit format changed to true 24-bit format, not sub-bytes of 32-bits (thanks to Marc Britton) -- bug fixes to make sure stream status is closed if error during probeDeviceOpen -- updates / fixes to SCHED_RR code in ALSA (thanks to Marc Lindahl) -- various changes to avoid global variables (thanks to Martin Koegler) - -\section download Download - -Latest Release (16 April 2013): Version 4.0.12 - -\section documentation Documentation Links - --# \ref errors --# \ref probe --# \ref settings --# \ref playback --# \ref recording --# \ref duplex --# \ref multi --# \ref compiling --# \ref apinotes --# \ref acknowledge --# \ref license --# Bug Tracker --# Possible Updates --# RtAudio at SourceForge - -*/ diff --git a/source/modules/rtaudio/doc/html/RtAudio_8h-source.html b/source/modules/rtaudio/doc/html/RtAudio_8h-source.html deleted file mode 100644 index 7dd2db957..000000000 --- a/source/modules/rtaudio/doc/html/RtAudio_8h-source.html +++ /dev/null @@ -1,641 +0,0 @@ - - -The RtAudio Home Page - - - - -
-Home   Class/Enum List   File List   Compound Members  
-
- -

RtAudio.h

Go to the documentation of this file.
00001 /************************************************************************/
-00039 /************************************************************************/
-00040 
-00045 // RtAudio: Version 4.0.6
-00046 
-00047 #ifndef __RTAUDIO_H
-00048 #define __RTAUDIO_H
-00049 
-00050 #include <string>
-00051 #include <vector>
-00052 #include "RtError.h"
-00053 
-00070 typedef unsigned long RtAudioFormat;
-00071 static const RtAudioFormat RTAUDIO_SINT8 = 0x1;    // 8-bit signed integer.
-00072 static const RtAudioFormat RTAUDIO_SINT16 = 0x2;   // 16-bit signed integer.
-00073 static const RtAudioFormat RTAUDIO_SINT24 = 0x4;   // Lower 3 bytes of 32-bit signed integer.
-00074 static const RtAudioFormat RTAUDIO_SINT32 = 0x8;   // 32-bit signed integer.
-00075 static const RtAudioFormat RTAUDIO_FLOAT32 = 0x10; // Normalized between plus/minus 1.0.
-00076 static const RtAudioFormat RTAUDIO_FLOAT64 = 0x20; // Normalized between plus/minus 1.0.
-00077 
-00115 typedef unsigned int RtAudioStreamFlags;
-00116 static const RtAudioStreamFlags RTAUDIO_NONINTERLEAVED = 0x1;    // Use non-interleaved buffers (default = interleaved).
-00117 static const RtAudioStreamFlags RTAUDIO_MINIMIZE_LATENCY = 0x2;  // Attempt to set stream parameters for lowest possible latency.
-00118 static const RtAudioStreamFlags RTAUDIO_HOG_DEVICE = 0x4;        // Attempt grab device and prevent use by others.
-00119 static const RtAudioStreamFlags RTAUDIO_SCHEDULE_REALTIME = 0x8; // Try to select realtime scheduling for callback thread.
-00120 
-00132 typedef unsigned int RtAudioStreamStatus;
-00133 static const RtAudioStreamStatus RTAUDIO_INPUT_OVERFLOW = 0x1;    // Input data was discarded because of an overflow condition at the driver.
-00134 static const RtAudioStreamStatus RTAUDIO_OUTPUT_UNDERFLOW = 0x2;  // The output buffer ran low, likely causing a gap in the output sound.
-00135 
-00137 
-00175 typedef int (*RtAudioCallback)( void *outputBuffer, void *inputBuffer,
-00176                                 unsigned int nFrames,
-00177                                 double streamTime,
-00178                                 RtAudioStreamStatus status,
-00179                                 void *userData );
-00180 
-00181 
-00182 // **************************************************************** //
-00183 //
-00184 // RtAudio class declaration.
-00185 //
-00186 // RtAudio is a "controller" used to select an available audio i/o
-00187 // interface.  It presents a common API for the user to call but all
-00188 // functionality is implemented by the class RtApi and its
-00189 // subclasses.  RtAudio creates an instance of an RtApi subclass
-00190 // based on the user's API choice.  If no choice is made, RtAudio
-00191 // attempts to make a "logical" API selection.
-00192 //
-00193 // **************************************************************** //
-00194 
-00195 class RtApi;
-00196 
-00197 class RtAudio
-00198 {
-00199  public:
-00200 
-00202   enum Api {
-00203     UNSPECIFIED,    
-00204     LINUX_ALSA,     
-00205     LINUX_OSS,      
-00206     UNIX_JACK,      
-00207     MACOSX_CORE,    
-00208     WINDOWS_ASIO,   
-00209     WINDOWS_DS,     
-00210     RTAUDIO_DUMMY   
-00211   };
-00212 
-00214   struct DeviceInfo {
-00215     bool probed;                  
-00216     std::string name;             
-00217     unsigned int outputChannels;  
-00218     unsigned int inputChannels;   
-00219     unsigned int duplexChannels;  
-00220     bool isDefaultOutput;         
-00221     bool isDefaultInput;          
-00222     std::vector<unsigned int> sampleRates; 
-00223     RtAudioFormat nativeFormats;  
-00225     // Default constructor.
-00226     DeviceInfo()
-00227       :probed(false), outputChannels(0), inputChannels(0), duplexChannels(0),
-00228        isDefaultOutput(false), isDefaultInput(false), nativeFormats(0) {}
-00229   };
-00230 
-00232   struct StreamParameters {
-00233     unsigned int deviceId;     
-00234     unsigned int nChannels;    
-00235     unsigned int firstChannel; 
-00237     // Default constructor.
-00238     StreamParameters()
-00239       : deviceId(0), nChannels(0), firstChannel(0) {}
-00240   };
-00241 
-00243 
-00294   struct StreamOptions {
-00295     RtAudioStreamFlags flags;      
-00296     unsigned int numberOfBuffers;  
-00297     std::string streamName;        
-00298     int priority;                  
-00300     // Default constructor.
-00301     StreamOptions()
-00302     : flags(0), numberOfBuffers(0), priority(0) {}
-00303   };
-00304 
-00306 
-00311   static void getCompiledApi( std::vector<RtAudio::Api> &apis ) throw();
-00312 
-00314 
-00322   RtAudio( RtAudio::Api api=UNSPECIFIED ) throw();
-00323 
-00325 
-00329   ~RtAudio() throw();
-00330 
-00332   RtAudio::Api getCurrentApi( void ) throw();
-00333 
-00335 
-00340   unsigned int getDeviceCount( void ) throw();
-00341 
-00343 
-00353   RtAudio::DeviceInfo getDeviceInfo( unsigned int device );
-00354 
-00356 
-00363   unsigned int getDefaultOutputDevice( void ) throw();
-00364 
-00366 
-00373   unsigned int getDefaultInputDevice( void ) throw();
-00374 
-00376 
-00413   void openStream( RtAudio::StreamParameters *outputParameters,
-00414                    RtAudio::StreamParameters *inputParameters,
-00415                    RtAudioFormat format, unsigned int sampleRate,
-00416                    unsigned int *bufferFrames, RtAudioCallback callback,
-00417                    void *userData = NULL, RtAudio::StreamOptions *options = NULL );
-00418 
-00420 
-00424   void closeStream( void ) throw();
-00425 
-00427 
-00433   void startStream( void );
-00434 
-00436 
-00442   void stopStream( void );
-00443 
-00445 
-00451   void abortStream( void );
-00452 
-00454   bool isStreamOpen( void ) const throw();
-00455 
-00457   bool isStreamRunning( void ) const throw();
-00458 
-00460 
-00463   double getStreamTime( void );
-00464 
-00466 
-00474   long getStreamLatency( void );
-00475 
-00477 
-00482   unsigned int getStreamSampleRate( void );
-00483 
-00485   void showWarnings( bool value = true ) throw();
-00486 
-00487  protected:
-00488 
-00489   void openRtApi( RtAudio::Api api );
-00490   RtApi *rtapi_;
-00491 };
-00492 
-00493 // Operating system dependent thread functionality.
-00494 #if defined(__WINDOWS_DS__) || defined(__WINDOWS_ASIO__)
-00495   #include <windows.h>
-00496   #include <process.h>
-00497 
-00498   typedef unsigned long ThreadHandle;
-00499   typedef CRITICAL_SECTION StreamMutex;
-00500 
-00501 #elif defined(__LINUX_ALSA__) || defined(__UNIX_JACK__) || defined(__LINUX_OSS__) || defined(__MACOSX_CORE__)
-00502   // Using pthread library for various flavors of unix.
-00503   #include <pthread.h>
-00504 
-00505   typedef pthread_t ThreadHandle;
-00506   typedef pthread_mutex_t StreamMutex;
-00507 
-00508 #else // Setup for "dummy" behavior
-00509 
-00510   #define __RTAUDIO_DUMMY__
-00511   typedef int ThreadHandle;
-00512   typedef int StreamMutex;
-00513 
-00514 #endif
-00515 
-00516 // This global structure type is used to pass callback information
-00517 // between the private RtAudio stream structure and global callback
-00518 // handling functions.
-00519 struct CallbackInfo {
-00520   void *object;    // Used as a "this" pointer.
-00521   ThreadHandle thread;
-00522   void *callback;
-00523   void *userData;
-00524   void *apiInfo;   // void pointer for API specific callback information
-00525   bool isRunning;
-00526 
-00527   // Default constructor.
-00528   CallbackInfo()
-00529     :object(0), callback(0), userData(0), apiInfo(0), isRunning(false) {}
-00530 };
-00531 
-00532 // **************************************************************** //
-00533 //
-00534 // RtApi class declaration.
-00535 //
-00536 // Subclasses of RtApi contain all API- and OS-specific code necessary
-00537 // to fully implement the RtAudio API.
-00538 //
-00539 // Note that RtApi is an abstract base class and cannot be
-00540 // explicitly instantiated.  The class RtAudio will create an
-00541 // instance of an RtApi subclass (RtApiOss, RtApiAlsa,
-00542 // RtApiJack, RtApiCore, RtApiAl, RtApiDs, or RtApiAsio).
-00543 //
-00544 // **************************************************************** //
-00545 
-00546 #if defined( HAVE_GETTIMEOFDAY )
-00547   #include <sys/time.h>
-00548 #endif
-00549 
-00550 #include <sstream>
-00551 
-00552 class RtApi
-00553 {
-00554 public:
-00555 
-00556   RtApi();
-00557   virtual ~RtApi();
-00558   virtual RtAudio::Api getCurrentApi( void ) = 0;
-00559   virtual unsigned int getDeviceCount( void ) = 0;
-00560   virtual RtAudio::DeviceInfo getDeviceInfo( unsigned int device ) = 0;
-00561   virtual unsigned int getDefaultInputDevice( void );
-00562   virtual unsigned int getDefaultOutputDevice( void );
-00563   void openStream( RtAudio::StreamParameters *outputParameters,
-00564                    RtAudio::StreamParameters *inputParameters,
-00565                    RtAudioFormat format, unsigned int sampleRate,
-00566                    unsigned int *bufferFrames, RtAudioCallback callback,
-00567                    void *userData, RtAudio::StreamOptions *options );
-00568   virtual void closeStream( void );
-00569   virtual void startStream( void ) = 0;
-00570   virtual void stopStream( void ) = 0;
-00571   virtual void abortStream( void ) = 0;
-00572   long getStreamLatency( void );
-00573   unsigned int getStreamSampleRate( void );
-00574   virtual double getStreamTime( void );
-00575   bool isStreamOpen( void ) const { return stream_.state != STREAM_CLOSED; };
-00576   bool isStreamRunning( void ) const { return stream_.state == STREAM_RUNNING; };
-00577   void showWarnings( bool value ) { showWarnings_ = value; };
-00578 
-00579 
-00580 protected:
-00581 
-00582   static const unsigned int MAX_SAMPLE_RATES;
-00583   static const unsigned int SAMPLE_RATES[];
-00584 
-00585   enum { FAILURE, SUCCESS };
-00586 
-00587   enum StreamState {
-00588     STREAM_STOPPED,
-00589     STREAM_RUNNING,
-00590     STREAM_CLOSED = -50
-00591   };
-00592 
-00593   enum StreamMode {
-00594     OUTPUT,
-00595     INPUT,
-00596     DUPLEX,
-00597     UNINITIALIZED = -75
-00598   };
-00599 
-00600   // A protected structure used for buffer conversion.
-00601   struct ConvertInfo {
-00602     int channels;
-00603     int inJump, outJump;
-00604     RtAudioFormat inFormat, outFormat;
-00605     std::vector<int> inOffset;
-00606     std::vector<int> outOffset;
-00607   };
-00608 
-00609   // A protected structure for audio streams.
-00610   struct RtApiStream {
-00611     unsigned int device[2];    // Playback and record, respectively.
-00612     void *apiHandle;           // void pointer for API specific stream handle information
-00613     StreamMode mode;           // OUTPUT, INPUT, or DUPLEX.
-00614     StreamState state;         // STOPPED, RUNNING, or CLOSED
-00615     char *userBuffer[2];       // Playback and record, respectively.
-00616     char *deviceBuffer;
-00617     bool doConvertBuffer[2];   // Playback and record, respectively.
-00618     bool userInterleaved;
-00619     bool deviceInterleaved[2]; // Playback and record, respectively.
-00620     bool doByteSwap[2];        // Playback and record, respectively.
-00621     unsigned int sampleRate;
-00622     unsigned int bufferSize;
-00623     unsigned int nBuffers;
-00624     unsigned int nUserChannels[2];    // Playback and record, respectively.
-00625     unsigned int nDeviceChannels[2];  // Playback and record channels, respectively.
-00626     unsigned int channelOffset[2];    // Playback and record, respectively.
-00627     unsigned long latency[2];         // Playback and record, respectively.
-00628     RtAudioFormat userFormat;
-00629     RtAudioFormat deviceFormat[2];    // Playback and record, respectively.
-00630     StreamMutex mutex;
-00631     CallbackInfo callbackInfo;
-00632     ConvertInfo convertInfo[2];
-00633     double streamTime;         // Number of elapsed seconds since the stream started.
-00634 
-00635 #if defined(HAVE_GETTIMEOFDAY)
-00636     struct timeval lastTickTimestamp;
-00637 #endif
-00638 
-00639     RtApiStream()
-00640       :apiHandle(0), deviceBuffer(0) { device[0] = 11111; device[1] = 11111; }
-00641   };
-00642 
-00643   typedef signed short Int16;
-00644   typedef signed int Int32;
-00645   typedef float Float32;
-00646   typedef double Float64;
-00647 
-00648   std::ostringstream errorStream_;
-00649   std::string errorText_;
-00650   bool showWarnings_;
-00651   RtApiStream stream_;
-00652 
-00660   virtual bool probeDeviceOpen( unsigned int device, StreamMode mode, unsigned int channels, 
-00661                                 unsigned int firstChannel, unsigned int sampleRate,
-00662                                 RtAudioFormat format, unsigned int *bufferSize,
-00663                                 RtAudio::StreamOptions *options );
-00664 
-00666   void tickStreamTime( void );
-00667 
-00669   void clearStreamInfo();
-00670 
-00675   void verifyStream( void );
-00676 
-00678   void error( RtError::Type type );
-00679 
-00684   void convertBuffer( char *outBuffer, char *inBuffer, ConvertInfo &info );
-00685 
-00687   void byteSwapBuffer( char *buffer, unsigned int samples, RtAudioFormat format );
-00688 
-00690   unsigned int formatBytes( RtAudioFormat format );
-00691 
-00693   void setConvertInfo( StreamMode mode, unsigned int firstChannel );
-00694 };
-00695 
-00696 // **************************************************************** //
-00697 //
-00698 // Inline RtAudio definitions.
-00699 //
-00700 // **************************************************************** //
-00701 
-00702 inline RtAudio::Api RtAudio :: getCurrentApi( void ) throw() { return rtapi_->getCurrentApi(); }
-00703 inline unsigned int RtAudio :: getDeviceCount( void ) throw() { return rtapi_->getDeviceCount(); }
-00704 inline RtAudio::DeviceInfo RtAudio :: getDeviceInfo( unsigned int device ) { return rtapi_->getDeviceInfo( device ); }
-00705 inline unsigned int RtAudio :: getDefaultInputDevice( void ) throw() { return rtapi_->getDefaultInputDevice(); }
-00706 inline unsigned int RtAudio :: getDefaultOutputDevice( void ) throw() { return rtapi_->getDefaultOutputDevice(); }
-00707 inline void RtAudio :: closeStream( void ) throw() { return rtapi_->closeStream(); }
-00708 inline void RtAudio :: startStream( void ) { return rtapi_->startStream(); }
-00709 inline void RtAudio :: stopStream( void )  { return rtapi_->stopStream(); }
-00710 inline void RtAudio :: abortStream( void ) { return rtapi_->abortStream(); }
-00711 inline bool RtAudio :: isStreamOpen( void ) const throw() { return rtapi_->isStreamOpen(); }
-00712 inline bool RtAudio :: isStreamRunning( void ) const throw() { return rtapi_->isStreamRunning(); }
-00713 inline long RtAudio :: getStreamLatency( void ) { return rtapi_->getStreamLatency(); }
-00714 inline unsigned int RtAudio :: getStreamSampleRate( void ) { return rtapi_->getStreamSampleRate(); };
-00715 inline double RtAudio :: getStreamTime( void ) { return rtapi_->getStreamTime(); }
-00716 inline void RtAudio :: showWarnings( bool value ) throw() { rtapi_->showWarnings( value ); }
-00717 
-00718 // RtApi Subclass prototypes.
-00719 
-00720 #if defined(__MACOSX_CORE__)
-00721 
-00722 #include <CoreAudio/AudioHardware.h>
-00723 
-00724 class RtApiCore: public RtApi
-00725 {
-00726 public:
-00727 
-00728   RtApiCore();
-00729   ~RtApiCore();
-00730   RtAudio::Api getCurrentApi( void ) { return RtAudio::MACOSX_CORE; };
-00731   unsigned int getDeviceCount( void );
-00732   RtAudio::DeviceInfo getDeviceInfo( unsigned int device );
-00733   unsigned int getDefaultOutputDevice( void );
-00734   unsigned int getDefaultInputDevice( void );
-00735   void closeStream( void );
-00736   void startStream( void );
-00737   void stopStream( void );
-00738   void abortStream( void );
-00739   long getStreamLatency( void );
-00740 
-00741   // This function is intended for internal use only.  It must be
-00742   // public because it is called by the internal callback handler,
-00743   // which is not a member of RtAudio.  External use of this function
-00744   // will most likely produce highly undesireable results!
-00745   bool callbackEvent( AudioDeviceID deviceId,
-00746                       const AudioBufferList *inBufferList,
-00747                       const AudioBufferList *outBufferList );
-00748 
-00749   private:
-00750 
-00751   bool probeDeviceOpen( unsigned int device, StreamMode mode, unsigned int channels, 
-00752                         unsigned int firstChannel, unsigned int sampleRate,
-00753                         RtAudioFormat format, unsigned int *bufferSize,
-00754                         RtAudio::StreamOptions *options );
-00755   static const char* getErrorCode( OSStatus code );
-00756 };
-00757 
-00758 #endif
-00759 
-00760 #if defined(__UNIX_JACK__)
-00761 
-00762 class RtApiJack: public RtApi
-00763 {
-00764 public:
-00765 
-00766   RtApiJack();
-00767   ~RtApiJack();
-00768   RtAudio::Api getCurrentApi( void ) { return RtAudio::UNIX_JACK; };
-00769   unsigned int getDeviceCount( void );
-00770   RtAudio::DeviceInfo getDeviceInfo( unsigned int device );
-00771   void closeStream( void );
-00772   void startStream( void );
-00773   void stopStream( void );
-00774   void abortStream( void );
-00775   long getStreamLatency( void );
-00776 
-00777   // This function is intended for internal use only.  It must be
-00778   // public because it is called by the internal callback handler,
-00779   // which is not a member of RtAudio.  External use of this function
-00780   // will most likely produce highly undesireable results!
-00781   bool callbackEvent( unsigned long nframes );
-00782 
-00783   private:
-00784 
-00785   bool probeDeviceOpen( unsigned int device, StreamMode mode, unsigned int channels, 
-00786                         unsigned int firstChannel, unsigned int sampleRate,
-00787                         RtAudioFormat format, unsigned int *bufferSize,
-00788                         RtAudio::StreamOptions *options );
-00789 };
-00790 
-00791 #endif
-00792 
-00793 #if defined(__WINDOWS_ASIO__)
-00794 
-00795 class RtApiAsio: public RtApi
-00796 {
-00797 public:
-00798 
-00799   RtApiAsio();
-00800   ~RtApiAsio();
-00801   RtAudio::Api getCurrentApi( void ) { return RtAudio::WINDOWS_ASIO; };
-00802   unsigned int getDeviceCount( void );
-00803   RtAudio::DeviceInfo getDeviceInfo( unsigned int device );
-00804   void closeStream( void );
-00805   void startStream( void );
-00806   void stopStream( void );
-00807   void abortStream( void );
-00808   long getStreamLatency( void );
-00809 
-00810   // This function is intended for internal use only.  It must be
-00811   // public because it is called by the internal callback handler,
-00812   // which is not a member of RtAudio.  External use of this function
-00813   // will most likely produce highly undesireable results!
-00814   bool callbackEvent( long bufferIndex );
-00815 
-00816   private:
-00817 
-00818   std::vector<RtAudio::DeviceInfo> devices_;
-00819   void saveDeviceInfo( void );
-00820   bool coInitialized_;
-00821   bool probeDeviceOpen( unsigned int device, StreamMode mode, unsigned int channels, 
-00822                         unsigned int firstChannel, unsigned int sampleRate,
-00823                         RtAudioFormat format, unsigned int *bufferSize,
-00824                         RtAudio::StreamOptions *options );
-00825 };
-00826 
-00827 #endif
-00828 
-00829 #if defined(__WINDOWS_DS__)
-00830 
-00831 class RtApiDs: public RtApi
-00832 {
-00833 public:
-00834 
-00835   RtApiDs();
-00836   ~RtApiDs();
-00837   RtAudio::Api getCurrentApi( void ) { return RtAudio::WINDOWS_DS; };
-00838   unsigned int getDeviceCount( void );
-00839   unsigned int getDefaultOutputDevice( void );
-00840   unsigned int getDefaultInputDevice( void );
-00841   RtAudio::DeviceInfo getDeviceInfo( unsigned int device );
-00842   void closeStream( void );
-00843   void startStream( void );
-00844   void stopStream( void );
-00845   void abortStream( void );
-00846   long getStreamLatency( void );
-00847 
-00848   // This function is intended for internal use only.  It must be
-00849   // public because it is called by the internal callback handler,
-00850   // which is not a member of RtAudio.  External use of this function
-00851   // will most likely produce highly undesireable results!
-00852   void callbackEvent( void );
-00853 
-00854   private:
-00855 
-00856   bool coInitialized_;
-00857   bool buffersRolling;
-00858   long duplexPrerollBytes;
-00859   bool probeDeviceOpen( unsigned int device, StreamMode mode, unsigned int channels, 
-00860                         unsigned int firstChannel, unsigned int sampleRate,
-00861                         RtAudioFormat format, unsigned int *bufferSize,
-00862                         RtAudio::StreamOptions *options );
-00863 };
-00864 
-00865 #endif
-00866 
-00867 #if defined(__LINUX_ALSA__)
-00868 
-00869 class RtApiAlsa: public RtApi
-00870 {
-00871 public:
-00872 
-00873   RtApiAlsa();
-00874   ~RtApiAlsa();
-00875   RtAudio::Api getCurrentApi() { return RtAudio::LINUX_ALSA; };
-00876   unsigned int getDeviceCount( void );
-00877   RtAudio::DeviceInfo getDeviceInfo( unsigned int device );
-00878   void closeStream( void );
-00879   void startStream( void );
-00880   void stopStream( void );
-00881   void abortStream( void );
-00882 
-00883   // This function is intended for internal use only.  It must be
-00884   // public because it is called by the internal callback handler,
-00885   // which is not a member of RtAudio.  External use of this function
-00886   // will most likely produce highly undesireable results!
-00887   void callbackEvent( void );
-00888 
-00889   private:
-00890 
-00891   std::vector<RtAudio::DeviceInfo> devices_;
-00892   void saveDeviceInfo( void );
-00893   bool probeDeviceOpen( unsigned int device, StreamMode mode, unsigned int channels, 
-00894                         unsigned int firstChannel, unsigned int sampleRate,
-00895                         RtAudioFormat format, unsigned int *bufferSize,
-00896                         RtAudio::StreamOptions *options );
-00897 };
-00898 
-00899 #endif
-00900 
-00901 #if defined(__LINUX_OSS__)
-00902 
-00903 class RtApiOss: public RtApi
-00904 {
-00905 public:
-00906 
-00907   RtApiOss();
-00908   ~RtApiOss();
-00909   RtAudio::Api getCurrentApi() { return RtAudio::LINUX_OSS; };
-00910   unsigned int getDeviceCount( void );
-00911   RtAudio::DeviceInfo getDeviceInfo( unsigned int device );
-00912   void closeStream( void );
-00913   void startStream( void );
-00914   void stopStream( void );
-00915   void abortStream( void );
-00916 
-00917   // This function is intended for internal use only.  It must be
-00918   // public because it is called by the internal callback handler,
-00919   // which is not a member of RtAudio.  External use of this function
-00920   // will most likely produce highly undesireable results!
-00921   void callbackEvent( void );
-00922 
-00923   private:
-00924 
-00925   bool probeDeviceOpen( unsigned int device, StreamMode mode, unsigned int channels, 
-00926                         unsigned int firstChannel, unsigned int sampleRate,
-00927                         RtAudioFormat format, unsigned int *bufferSize,
-00928                         RtAudio::StreamOptions *options );
-00929 };
-00930 
-00931 #endif
-00932 
-00933 #if defined(__RTAUDIO_DUMMY__)
-00934 
-00935 class RtApiDummy: public RtApi
-00936 {
-00937 public:
-00938 
-00939   RtApiDummy() { errorText_ = "RtApiDummy: This class provides no functionality."; error( RtError::WARNING ); };
-00940   RtAudio::Api getCurrentApi( void ) { return RtAudio::RTAUDIO_DUMMY; };
-00941   unsigned int getDeviceCount( void ) { return 0; };
-00942   RtAudio::DeviceInfo getDeviceInfo( unsigned int device ) { RtAudio::DeviceInfo info; return info; };
-00943   void closeStream( void ) {};
-00944   void startStream( void ) {};
-00945   void stopStream( void ) {};
-00946   void abortStream( void ) {};
-00947 
-00948   private:
-00949 
-00950   bool probeDeviceOpen( unsigned int device, StreamMode mode, unsigned int channels, 
-00951                         unsigned int firstChannel, unsigned int sampleRate,
-00952                         RtAudioFormat format, unsigned int *bufferSize,
-00953                         RtAudio::StreamOptions *options ) { return false; };
-00954 };
-00955 
-00956 #endif
-00957 
-00958 #endif
-00959 
-00960 // Indentation settings for Vim and Emacs
-00961 //
-00962 // Local Variables:
-00963 // c-basic-offset: 2
-00964 // indent-tabs-mode: nil
-00965 // End:
-00966 //
-00967 // vim: et sts=2 sw=2
-
-
- - - -
©2001-2009 Gary P. Scavone, McGill University. All Rights Reserved.
Maintained by Gary P. Scavone.
- - - diff --git a/source/modules/rtaudio/doc/html/RtAudio_8h.html b/source/modules/rtaudio/doc/html/RtAudio_8h.html deleted file mode 100644 index 9196f772d..000000000 --- a/source/modules/rtaudio/doc/html/RtAudio_8h.html +++ /dev/null @@ -1,184 +0,0 @@ - - -The RtAudio Home Page - - - - -
-Home   Class/Enum List   File List   Compound Members  
-
- - -
- -
-
RtAudio.h File Reference
-
-
-
#include <string>
-#include <vector>
-#include "RtError.h"
-#include <sstream>
-
-

Go to the source code of this file.

- - - - - - - - - - - - - - -

-Classes

class  RtAudio
 Realtime audio i/o C++ classes. More...
 
struct  RtAudio::DeviceInfo
 The public device information structure for returning queried values. More...
 
struct  RtAudio::StreamParameters
 The structure for specifying input or ouput stream parameters. More...
 
struct  RtAudio::StreamOptions
 The structure for specifying stream options. More...
 
- - - - - - - - - - - - - - - - -

-Typedefs

typedef unsigned long RtAudioFormat
 RtAudio data format type.
 
typedef unsigned int RtAudioStreamFlags
 RtAudio stream option flags.
 
typedef unsigned int RtAudioStreamStatus
 RtAudio stream status (over- or underflow) flags.
 
typedef int(* RtAudioCallback )(void *outputBuffer, void *inputBuffer, unsigned int nFrames, double streamTime, RtAudioStreamStatus status, void *userData)
 RtAudio callback function prototype.
 
typedef void(* RtAudioErrorCallback )(RtError::Type type, const std::string &errorText)
 RtAudio error callback function prototype.
 
-

Typedef Documentation

- -
-
- - - - -
typedef unsigned long RtAudioFormat
-
- -

RtAudio data format type.

-

Support for signed integers and floats. Audio data fed to/from an RtAudio stream is assumed to ALWAYS be in host byte order. The internal routines will automatically take care of any necessary byte-swapping between the host format and the soundcard. Thus, endian-ness is not a concern in the following format definitions.

-
    -
  • RTAUDIO_SINT8: 8-bit signed integer.
  • -
  • RTAUDIO_SINT16: 16-bit signed integer.
  • -
  • RTAUDIO_SINT24: 24-bit signed integer.
  • -
  • RTAUDIO_SINT32: 32-bit signed integer.
  • -
  • RTAUDIO_FLOAT32: Normalized between plus/minus 1.0.
  • -
  • RTAUDIO_FLOAT64: Normalized between plus/minus 1.0.
  • -
- -
-
- -
-
- - - - -
typedef unsigned long RtAudioStreamFlags
-
- -

RtAudio stream option flags.

-

The following flags can be OR'ed together to allow a client to make changes to the default stream behavior:

-
    -
  • RTAUDIO_NONINTERLEAVED: Use non-interleaved buffers (default = interleaved).
  • -
  • RTAUDIO_MINIMIZE_LATENCY: Attempt to set stream parameters for lowest possible latency.
  • -
  • RTAUDIO_HOG_DEVICE: Attempt grab device for exclusive use.
  • -
  • RTAUDIO_ALSA_USE_DEFAULT: Use the "default" PCM device (ALSA only).
  • -
-

By default, RtAudio streams pass and receive audio data from the client in an interleaved format. By passing the RTAUDIO_NONINTERLEAVED flag to the openStream() function, audio data will instead be presented in non-interleaved buffers. In this case, each buffer argument in the RtAudioCallback function will point to a single array of data, with nFrames samples for each channel concatenated back-to-back. For example, the first sample of data for the second channel would be located at index nFrames (assuming the buffer pointer was recast to the correct data type for the stream).

-

Certain audio APIs offer a number of parameters that influence the I/O latency of a stream. By default, RtAudio will attempt to set these parameters internally for robust (glitch-free) performance (though some APIs, like Windows Direct Sound, make this difficult). By passing the RTAUDIO_MINIMIZE_LATENCY flag to the openStream() function, internal stream settings will be influenced in an attempt to minimize stream latency, though possibly at the expense of stream performance.

-

If the RTAUDIO_HOG_DEVICE flag is set, RtAudio will attempt to open the input and/or output stream device(s) for exclusive use. Note that this is not possible with all supported audio APIs.

-

If the RTAUDIO_SCHEDULE_REALTIME flag is set, RtAudio will attempt to select realtime scheduling (round-robin) for the callback thread.

-

If the RTAUDIO_ALSA_USE_DEFAULT flag is set, RtAudio will attempt to open the "default" PCM device when using the ALSA API. Note that this will override any specified input or output device id.

- -
-
- -
-
- - - - -
typedef unsigned long RtAudioStreamStatus
-
- -

RtAudio stream status (over- or underflow) flags.

-

Notification of a stream over- or underflow is indicated by a non-zero stream status argument in the RtAudioCallback function. The stream status can be one of the following two options, depending on whether the stream is open for output and/or input:

-
    -
  • RTAUDIO_INPUT_OVERFLOW: Input data was discarded because of an overflow condition at the driver.
  • -
  • RTAUDIO_OUTPUT_UNDERFLOW: The output buffer ran low, likely producing a break in the output sound.
  • -
- -
-
- -
-
- - - - -
typedef int(* RtAudioCallback)(void *outputBuffer, void *inputBuffer, unsigned int nFrames, double streamTime, RtAudioStreamStatus status, void *userData)
-
- -

RtAudio callback function prototype.

-

All RtAudio clients must create a function of type RtAudioCallback to read and/or write data from/to the audio stream. When the underlying audio system is ready for new input or output data, this function will be invoked.

-
Parameters
- - - - - - - -
outputBufferFor output (or duplex) streams, the client should write nFrames of audio sample frames into this buffer. This argument should be recast to the datatype specified when the stream was opened. For input-only streams, this argument will be NULL.
inputBufferFor input (or duplex) streams, this buffer will hold nFrames of input audio sample frames. This argument should be recast to the datatype specified when the stream was opened. For output-only streams, this argument will be NULL.
nFramesThe number of sample frames of input or output data in the buffers. The actual buffer size in bytes is dependent on the data type and number of channels in use.
streamTimeThe number of seconds that have elapsed since the stream was started.
statusIf non-zero, this argument indicates a data overflow or underflow condition for the stream. The particular condition can be determined by comparison with the RtAudioStreamStatus flags.
userDataA pointer to optional data provided by the client when opening the stream (default = NULL).
-
-
-

To continue normal stream operation, the RtAudioCallback function should return a value of zero. To stop the stream and drain the output buffer, the function should return a value of one. To abort the stream immediately, the client should return a value of two.

- -
-
- -
-
- - - - -
typedef void(* RtAudioErrorCallback)(RtError::Type type, const std::string &errorText)
-
- -

RtAudio error callback function prototype.

-
Parameters
- - - -
typeType of error.
errorTextError description.
-
-
- -
-
-
-
- - -
©2001-2013 Gary P. Scavone, McGill University. All Rights Reserved.
Maintained by Gary P. Scavone.
- - diff --git a/source/modules/rtaudio/doc/html/RtAudio_8h_source.html b/source/modules/rtaudio/doc/html/RtAudio_8h_source.html deleted file mode 100644 index 36b07f501..000000000 --- a/source/modules/rtaudio/doc/html/RtAudio_8h_source.html +++ /dev/null @@ -1,721 +0,0 @@ - - -The RtAudio Home Page - - - - -
-Home   Class/Enum List   File List   Compound Members  
-
- - -
-
-
RtAudio.h
-
-
-Go to the documentation of this file.
1 /************************************************************************/
-
39 /************************************************************************/
-
40 
-
45 #ifndef __RTAUDIO_H
-
46 #define __RTAUDIO_H
-
47 
-
48 #include <string>
-
49 #include <vector>
-
50 #include "RtError.h"
-
51 
-
52 // RtAudio version
-
53 static const std::string VERSION( "4.0.12" );
-
54 
-
71 typedef unsigned long RtAudioFormat;
-
72 static const RtAudioFormat RTAUDIO_SINT8 = 0x1; // 8-bit signed integer.
-
73 static const RtAudioFormat RTAUDIO_SINT16 = 0x2; // 16-bit signed integer.
-
74 static const RtAudioFormat RTAUDIO_SINT24 = 0x4; // 24-bit signed integer.
-
75 static const RtAudioFormat RTAUDIO_SINT32 = 0x8; // 32-bit signed integer.
-
76 static const RtAudioFormat RTAUDIO_FLOAT32 = 0x10; // Normalized between plus/minus 1.0.
-
77 static const RtAudioFormat RTAUDIO_FLOAT64 = 0x20; // Normalized between plus/minus 1.0.
-
78 
-
121 typedef unsigned int RtAudioStreamFlags;
-
122 static const RtAudioStreamFlags RTAUDIO_NONINTERLEAVED = 0x1; // Use non-interleaved buffers (default = interleaved).
-
123 static const RtAudioStreamFlags RTAUDIO_MINIMIZE_LATENCY = 0x2; // Attempt to set stream parameters for lowest possible latency.
-
124 static const RtAudioStreamFlags RTAUDIO_HOG_DEVICE = 0x4; // Attempt grab device and prevent use by others.
-
125 static const RtAudioStreamFlags RTAUDIO_SCHEDULE_REALTIME = 0x8; // Try to select realtime scheduling for callback thread.
-
126 static const RtAudioStreamFlags RTAUDIO_ALSA_USE_DEFAULT = 0x10; // Use the "default" PCM device (ALSA only).
-
127 
-
139 typedef unsigned int RtAudioStreamStatus;
-
140 static const RtAudioStreamStatus RTAUDIO_INPUT_OVERFLOW = 0x1; // Input data was discarded because of an overflow condition at the driver.
-
141 static const RtAudioStreamStatus RTAUDIO_OUTPUT_UNDERFLOW = 0x2; // The output buffer ran low, likely causing a gap in the output sound.
-
142 
-
144 
-
182 typedef int (*RtAudioCallback)( void *outputBuffer, void *inputBuffer,
-
183  unsigned int nFrames,
-
184  double streamTime,
-
185  RtAudioStreamStatus status,
-
186  void *userData );
-
187 
-
189 
-
193 typedef void (*RtAudioErrorCallback)( RtError::Type type, const std::string &errorText );
-
194 
-
195 // **************************************************************** //
-
196 //
-
197 // RtAudio class declaration.
-
198 //
-
199 // RtAudio is a "controller" used to select an available audio i/o
-
200 // interface. It presents a common API for the user to call but all
-
201 // functionality is implemented by the class RtApi and its
-
202 // subclasses. RtAudio creates an instance of an RtApi subclass
-
203 // based on the user's API choice. If no choice is made, RtAudio
-
204 // attempts to make a "logical" API selection.
-
205 //
-
206 // **************************************************************** //
-
207 
-
208 class RtApi;
-
209 
-
210 class RtAudio
-
211 {
-
212  public:
-
213 
-
215  enum Api {
- - - - - - - - - -
225  };
-
226 
-
228  struct DeviceInfo {
-
229  bool probed;
-
230  std::string name;
-
231  unsigned int outputChannels;
-
232  unsigned int inputChannels;
-
233  unsigned int duplexChannels;
- - -
236  std::vector<unsigned int> sampleRates;
- -
239  // Default constructor.
-
240  DeviceInfo()
- -
242  isDefaultOutput(false), isDefaultInput(false), nativeFormats(0) {}
-
243  };
-
244 
- -
247  unsigned int deviceId;
-
248  unsigned int nChannels;
-
249  unsigned int firstChannel;
-
251  // Default constructor.
- -
253  : deviceId(0), nChannels(0), firstChannel(0) {}
-
254  };
-
255 
-
257 
-
313  struct StreamOptions {
- -
315  unsigned int numberOfBuffers;
-
316  std::string streamName;
-
317  int priority;
-
319  // Default constructor.
-
320  StreamOptions()
-
321  : flags(0), numberOfBuffers(0), priority(0) {}
-
322  };
-
323 
-
325  static std::string getVersion( void ) { return VERSION; }
-
326 
-
328 
-
333  static void getCompiledApi( std::vector<RtAudio::Api> &apis ) throw();
-
334 
-
336 
-
344  RtAudio( RtAudio::Api api=UNSPECIFIED ) throw();
-
345 
-
347 
-
351  ~RtAudio() throw();
-
352 
-
354  RtAudio::Api getCurrentApi( void ) throw();
-
355 
-
357 
-
362  unsigned int getDeviceCount( void ) throw();
-
363 
-
365 
-
375  RtAudio::DeviceInfo getDeviceInfo( unsigned int device );
-
376 
-
378 
-
385  unsigned int getDefaultOutputDevice( void ) throw();
-
386 
-
388 
-
395  unsigned int getDefaultInputDevice( void ) throw();
-
396 
-
398 
-
437  void openStream( RtAudio::StreamParameters *outputParameters,
-
438  RtAudio::StreamParameters *inputParameters,
-
439  RtAudioFormat format, unsigned int sampleRate,
-
440  unsigned int *bufferFrames, RtAudioCallback callback,
-
441  void *userData = NULL, RtAudio::StreamOptions *options = NULL, RtAudioErrorCallback errorCallback = NULL );
-
442 
-
444 
-
448  void closeStream( void ) throw();
-
449 
-
451 
-
457  void startStream( void );
-
458 
-
460 
-
466  void stopStream( void );
-
467 
-
469 
-
475  void abortStream( void );
-
476 
-
478  bool isStreamOpen( void ) const throw();
-
479 
-
481  bool isStreamRunning( void ) const throw();
-
482 
-
484 
-
487  double getStreamTime( void );
-
488 
-
490 
-
498  long getStreamLatency( void );
-
499 
-
501 
-
506  unsigned int getStreamSampleRate( void );
-
507 
-
509  void showWarnings( bool value = true ) throw();
-
510 
-
511  protected:
-
512 
-
513  void openRtApi( RtAudio::Api api );
-
514  RtApi *rtapi_;
-
515 };
-
516 
-
517 // Operating system dependent thread functionality.
-
518 #if defined(__WINDOWS_DS__) || defined(__WINDOWS_ASIO__)
-
519  #include <windows.h>
-
520  #include <process.h>
-
521 
-
522  typedef unsigned long ThreadHandle;
-
523  typedef CRITICAL_SECTION StreamMutex;
-
524 
-
525 #elif defined(__LINUX_ALSA__) || defined(__LINUX_PULSE__) || defined(__UNIX_JACK__) || defined(__LINUX_OSS__) || defined(__MACOSX_CORE__)
-
526  // Using pthread library for various flavors of unix.
-
527  #include <pthread.h>
-
528 
-
529  typedef pthread_t ThreadHandle;
-
530  typedef pthread_mutex_t StreamMutex;
-
531 
-
532 #else // Setup for "dummy" behavior
-
533 
-
534  #define __RTAUDIO_DUMMY__
-
535  typedef int ThreadHandle;
-
536  typedef int StreamMutex;
-
537 
-
538 #endif
-
539 
-
540 // This global structure type is used to pass callback information
-
541 // between the private RtAudio stream structure and global callback
-
542 // handling functions.
-
543 struct CallbackInfo {
-
544  void *object; // Used as a "this" pointer.
-
545  ThreadHandle thread;
-
546  void *callback;
-
547  void *userData;
-
548  void *errorCallback;
-
549  void *apiInfo; // void pointer for API specific callback information
-
550  bool isRunning;
-
551  bool doRealtime;
-
552  int priority;
-
553 
-
554  // Default constructor.
-
555  CallbackInfo()
-
556  :object(0), callback(0), userData(0), errorCallback(0), apiInfo(0), isRunning(false), doRealtime(false) {}
-
557 };
-
558 
-
559 // **************************************************************** //
-
560 //
-
561 // RtApi class declaration.
-
562 //
-
563 // Subclasses of RtApi contain all API- and OS-specific code necessary
-
564 // to fully implement the RtAudio API.
-
565 //
-
566 // Note that RtApi is an abstract base class and cannot be
-
567 // explicitly instantiated. The class RtAudio will create an
-
568 // instance of an RtApi subclass (RtApiOss, RtApiAlsa,
-
569 // RtApiJack, RtApiCore, RtApiDs, or RtApiAsio).
-
570 //
-
571 // **************************************************************** //
-
572 
-
573 #pragma pack(push, 1)
-
574 class S24 {
-
575 
-
576  protected:
-
577  unsigned char c3[3];
-
578 
-
579  public:
-
580  S24() {}
-
581 
-
582  S24& operator = ( const int& i ) {
-
583  c3[0] = (i & 0x000000ff);
-
584  c3[1] = (i & 0x0000ff00) >> 8;
-
585  c3[2] = (i & 0x00ff0000) >> 16;
-
586  return *this;
-
587  }
-
588 
-
589  S24( const S24& v ) { *this = v; }
-
590  S24( const double& d ) { *this = (int) d; }
-
591  S24( const float& f ) { *this = (int) f; }
-
592  S24( const signed short& s ) { *this = (int) s; }
-
593  S24( const char& c ) { *this = (int) c; }
-
594 
-
595  int asInt() {
-
596  int i = c3[0] | (c3[1] << 8) | (c3[2] << 16);
-
597  if (i & 0x800000) i |= ~0xffffff;
-
598  return i;
-
599  }
-
600 };
-
601 #pragma pack(pop)
-
602 
-
603 #if defined( HAVE_GETTIMEOFDAY )
-
604  #include <sys/time.h>
-
605 #endif
-
606 
-
607 #include <sstream>
-
608 
-
609 class RtApi
-
610 {
-
611 public:
-
612 
-
613  RtApi();
-
614  virtual ~RtApi();
-
615  virtual RtAudio::Api getCurrentApi( void ) = 0;
-
616  virtual unsigned int getDeviceCount( void ) = 0;
-
617  virtual RtAudio::DeviceInfo getDeviceInfo( unsigned int device ) = 0;
-
618  virtual unsigned int getDefaultInputDevice( void );
-
619  virtual unsigned int getDefaultOutputDevice( void );
-
620  void openStream( RtAudio::StreamParameters *outputParameters,
-
621  RtAudio::StreamParameters *inputParameters,
-
622  RtAudioFormat format, unsigned int sampleRate,
-
623  unsigned int *bufferFrames, RtAudioCallback callback,
-
624  void *userData, RtAudio::StreamOptions *options,
-
625  RtAudioErrorCallback errorCallback );
-
626  virtual void closeStream( void );
-
627  virtual void startStream( void ) = 0;
-
628  virtual void stopStream( void ) = 0;
-
629  virtual void abortStream( void ) = 0;
-
630  long getStreamLatency( void );
-
631  unsigned int getStreamSampleRate( void );
-
632  virtual double getStreamTime( void );
-
633  bool isStreamOpen( void ) const { return stream_.state != STREAM_CLOSED; }
-
634  bool isStreamRunning( void ) const { return stream_.state == STREAM_RUNNING; }
-
635  void showWarnings( bool value ) { showWarnings_ = value; }
-
636 
-
637 
-
638 protected:
-
639 
-
640  static const unsigned int MAX_SAMPLE_RATES;
-
641  static const unsigned int SAMPLE_RATES[];
-
642 
-
643  enum { FAILURE, SUCCESS };
-
644 
-
645  enum StreamState {
-
646  STREAM_STOPPED,
-
647  STREAM_STOPPING,
-
648  STREAM_RUNNING,
-
649  STREAM_CLOSED = -50
-
650  };
-
651 
-
652  enum StreamMode {
-
653  OUTPUT,
-
654  INPUT,
-
655  DUPLEX,
-
656  UNINITIALIZED = -75
-
657  };
-
658 
-
659  // A protected structure used for buffer conversion.
-
660  struct ConvertInfo {
-
661  int channels;
-
662  int inJump, outJump;
-
663  RtAudioFormat inFormat, outFormat;
-
664  std::vector<int> inOffset;
-
665  std::vector<int> outOffset;
-
666  };
-
667 
-
668  // A protected structure for audio streams.
-
669  struct RtApiStream {
-
670  unsigned int device[2]; // Playback and record, respectively.
-
671  void *apiHandle; // void pointer for API specific stream handle information
-
672  StreamMode mode; // OUTPUT, INPUT, or DUPLEX.
-
673  StreamState state; // STOPPED, RUNNING, or CLOSED
-
674  char *userBuffer[2]; // Playback and record, respectively.
-
675  char *deviceBuffer;
-
676  bool doConvertBuffer[2]; // Playback and record, respectively.
-
677  bool userInterleaved;
-
678  bool deviceInterleaved[2]; // Playback and record, respectively.
-
679  bool doByteSwap[2]; // Playback and record, respectively.
-
680  unsigned int sampleRate;
-
681  unsigned int bufferSize;
-
682  unsigned int nBuffers;
-
683  unsigned int nUserChannels[2]; // Playback and record, respectively.
-
684  unsigned int nDeviceChannels[2]; // Playback and record channels, respectively.
-
685  unsigned int channelOffset[2]; // Playback and record, respectively.
-
686  unsigned long latency[2]; // Playback and record, respectively.
-
687  RtAudioFormat userFormat;
-
688  RtAudioFormat deviceFormat[2]; // Playback and record, respectively.
-
689  StreamMutex mutex;
-
690  CallbackInfo callbackInfo;
-
691  ConvertInfo convertInfo[2];
-
692  double streamTime; // Number of elapsed seconds since the stream started.
-
693 
-
694 #if defined(HAVE_GETTIMEOFDAY)
-
695  struct timeval lastTickTimestamp;
-
696 #endif
-
697 
-
698  RtApiStream()
-
699  :apiHandle(0), deviceBuffer(0) { device[0] = 11111; device[1] = 11111; }
-
700  };
-
701 
-
702  typedef S24 Int24;
-
703  typedef signed short Int16;
-
704  typedef signed int Int32;
-
705  typedef float Float32;
-
706  typedef double Float64;
-
707 
-
708  std::ostringstream errorStream_;
-
709  std::string errorText_;
-
710  bool showWarnings_;
-
711  RtApiStream stream_;
-
712 
-
720  virtual bool probeDeviceOpen( unsigned int device, StreamMode mode, unsigned int channels,
-
721  unsigned int firstChannel, unsigned int sampleRate,
-
722  RtAudioFormat format, unsigned int *bufferSize,
-
723  RtAudio::StreamOptions *options );
-
724 
-
726  void tickStreamTime( void );
-
727 
-
729  void clearStreamInfo();
-
730 
-
735  void verifyStream( void );
-
736 
-
738  void error( RtError::Type type );
-
739 
-
744  void convertBuffer( char *outBuffer, char *inBuffer, ConvertInfo &info );
-
745 
-
747  void byteSwapBuffer( char *buffer, unsigned int samples, RtAudioFormat format );
-
748 
-
750  unsigned int formatBytes( RtAudioFormat format );
-
751 
-
753  void setConvertInfo( StreamMode mode, unsigned int firstChannel );
-
754 };
-
755 
-
756 // **************************************************************** //
-
757 //
-
758 // Inline RtAudio definitions.
-
759 //
-
760 // **************************************************************** //
-
761 
-
762 inline RtAudio::Api RtAudio :: getCurrentApi( void ) throw() { return rtapi_->getCurrentApi(); }
-
763 inline unsigned int RtAudio :: getDeviceCount( void ) throw() { return rtapi_->getDeviceCount(); }
-
764 inline RtAudio::DeviceInfo RtAudio :: getDeviceInfo( unsigned int device ) { return rtapi_->getDeviceInfo( device ); }
-
765 inline unsigned int RtAudio :: getDefaultInputDevice( void ) throw() { return rtapi_->getDefaultInputDevice(); }
-
766 inline unsigned int RtAudio :: getDefaultOutputDevice( void ) throw() { return rtapi_->getDefaultOutputDevice(); }
-
767 inline void RtAudio :: closeStream( void ) throw() { return rtapi_->closeStream(); }
-
768 inline void RtAudio :: startStream( void ) { return rtapi_->startStream(); }
-
769 inline void RtAudio :: stopStream( void ) { return rtapi_->stopStream(); }
-
770 inline void RtAudio :: abortStream( void ) { return rtapi_->abortStream(); }
-
771 inline bool RtAudio :: isStreamOpen( void ) const throw() { return rtapi_->isStreamOpen(); }
-
772 inline bool RtAudio :: isStreamRunning( void ) const throw() { return rtapi_->isStreamRunning(); }
-
773 inline long RtAudio :: getStreamLatency( void ) { return rtapi_->getStreamLatency(); }
-
774 inline unsigned int RtAudio :: getStreamSampleRate( void ) { return rtapi_->getStreamSampleRate(); }
-
775 inline double RtAudio :: getStreamTime( void ) { return rtapi_->getStreamTime(); }
-
776 inline void RtAudio :: showWarnings( bool value ) throw() { rtapi_->showWarnings( value ); }
-
777 
-
778 // RtApi Subclass prototypes.
-
779 
-
780 #if defined(__MACOSX_CORE__)
-
781 
-
782 #include <CoreAudio/AudioHardware.h>
-
783 
-
784 class RtApiCore: public RtApi
-
785 {
-
786 public:
-
787 
-
788  RtApiCore();
-
789  ~RtApiCore();
- -
791  unsigned int getDeviceCount( void );
-
792  RtAudio::DeviceInfo getDeviceInfo( unsigned int device );
-
793  unsigned int getDefaultOutputDevice( void );
-
794  unsigned int getDefaultInputDevice( void );
-
795  void closeStream( void );
-
796  void startStream( void );
-
797  void stopStream( void );
-
798  void abortStream( void );
-
799  long getStreamLatency( void );
-
800 
-
801  // This function is intended for internal use only. It must be
-
802  // public because it is called by the internal callback handler,
-
803  // which is not a member of RtAudio. External use of this function
-
804  // will most likely produce highly undesireable results!
-
805  bool callbackEvent( AudioDeviceID deviceId,
-
806  const AudioBufferList *inBufferList,
-
807  const AudioBufferList *outBufferList );
-
808 
-
809  private:
-
810 
-
811  bool probeDeviceOpen( unsigned int device, StreamMode mode, unsigned int channels,
-
812  unsigned int firstChannel, unsigned int sampleRate,
-
813  RtAudioFormat format, unsigned int *bufferSize,
-
814  RtAudio::StreamOptions *options );
-
815  static const char* getErrorCode( OSStatus code );
-
816 };
-
817 
-
818 #endif
-
819 
-
820 #if defined(__UNIX_JACK__)
-
821 
-
822 class RtApiJack: public RtApi
-
823 {
-
824 public:
-
825 
-
826  RtApiJack();
-
827  ~RtApiJack();
-
828  RtAudio::Api getCurrentApi( void ) { return RtAudio::UNIX_JACK; }
-
829  unsigned int getDeviceCount( void );
-
830  RtAudio::DeviceInfo getDeviceInfo( unsigned int device );
-
831  void closeStream( void );
-
832  void startStream( void );
-
833  void stopStream( void );
-
834  void abortStream( void );
-
835  long getStreamLatency( void );
-
836 
-
837  // This function is intended for internal use only. It must be
-
838  // public because it is called by the internal callback handler,
-
839  // which is not a member of RtAudio. External use of this function
-
840  // will most likely produce highly undesireable results!
-
841  bool callbackEvent( unsigned long nframes );
-
842 
-
843  private:
-
844 
-
845  bool probeDeviceOpen( unsigned int device, StreamMode mode, unsigned int channels,
-
846  unsigned int firstChannel, unsigned int sampleRate,
-
847  RtAudioFormat format, unsigned int *bufferSize,
-
848  RtAudio::StreamOptions *options );
-
849 };
-
850 
-
851 #endif
-
852 
-
853 #if defined(__WINDOWS_ASIO__)
-
854 
-
855 class RtApiAsio: public RtApi
-
856 {
-
857 public:
-
858 
-
859  RtApiAsio();
-
860  ~RtApiAsio();
- -
862  unsigned int getDeviceCount( void );
-
863  RtAudio::DeviceInfo getDeviceInfo( unsigned int device );
-
864  void closeStream( void );
-
865  void startStream( void );
-
866  void stopStream( void );
-
867  void abortStream( void );
-
868  long getStreamLatency( void );
-
869 
-
870  // This function is intended for internal use only. It must be
-
871  // public because it is called by the internal callback handler,
-
872  // which is not a member of RtAudio. External use of this function
-
873  // will most likely produce highly undesireable results!
-
874  bool callbackEvent( long bufferIndex );
-
875 
-
876  private:
-
877 
-
878  std::vector<RtAudio::DeviceInfo> devices_;
-
879  void saveDeviceInfo( void );
-
880  bool coInitialized_;
-
881  bool probeDeviceOpen( unsigned int device, StreamMode mode, unsigned int channels,
-
882  unsigned int firstChannel, unsigned int sampleRate,
-
883  RtAudioFormat format, unsigned int *bufferSize,
-
884  RtAudio::StreamOptions *options );
-
885 };
-
886 
-
887 #endif
-
888 
-
889 #if defined(__WINDOWS_DS__)
-
890 
-
891 class RtApiDs: public RtApi
-
892 {
-
893 public:
-
894 
-
895  RtApiDs();
-
896  ~RtApiDs();
- -
898  unsigned int getDeviceCount( void );
-
899  unsigned int getDefaultOutputDevice( void );
-
900  unsigned int getDefaultInputDevice( void );
-
901  RtAudio::DeviceInfo getDeviceInfo( unsigned int device );
-
902  void closeStream( void );
-
903  void startStream( void );
-
904  void stopStream( void );
-
905  void abortStream( void );
-
906  long getStreamLatency( void );
-
907 
-
908  // This function is intended for internal use only. It must be
-
909  // public because it is called by the internal callback handler,
-
910  // which is not a member of RtAudio. External use of this function
-
911  // will most likely produce highly undesireable results!
-
912  void callbackEvent( void );
-
913 
-
914  private:
-
915 
-
916  bool coInitialized_;
-
917  bool buffersRolling;
-
918  long duplexPrerollBytes;
-
919  std::vector<struct DsDevice> dsDevices;
-
920  bool probeDeviceOpen( unsigned int device, StreamMode mode, unsigned int channels,
-
921  unsigned int firstChannel, unsigned int sampleRate,
-
922  RtAudioFormat format, unsigned int *bufferSize,
-
923  RtAudio::StreamOptions *options );
-
924 };
-
925 
-
926 #endif
-
927 
-
928 #if defined(__LINUX_ALSA__)
-
929 
-
930 class RtApiAlsa: public RtApi
-
931 {
-
932 public:
-
933 
-
934  RtApiAlsa();
-
935  ~RtApiAlsa();
- -
937  unsigned int getDeviceCount( void );
-
938  RtAudio::DeviceInfo getDeviceInfo( unsigned int device );
-
939  void closeStream( void );
-
940  void startStream( void );
-
941  void stopStream( void );
-
942  void abortStream( void );
-
943 
-
944  // This function is intended for internal use only. It must be
-
945  // public because it is called by the internal callback handler,
-
946  // which is not a member of RtAudio. External use of this function
-
947  // will most likely produce highly undesireable results!
-
948  void callbackEvent( void );
-
949 
-
950  private:
-
951 
-
952  std::vector<RtAudio::DeviceInfo> devices_;
-
953  void saveDeviceInfo( void );
-
954  bool probeDeviceOpen( unsigned int device, StreamMode mode, unsigned int channels,
-
955  unsigned int firstChannel, unsigned int sampleRate,
-
956  RtAudioFormat format, unsigned int *bufferSize,
-
957  RtAudio::StreamOptions *options );
-
958 };
-
959 
-
960 #endif
-
961 
-
962 #if defined(__LINUX_PULSE__)
-
963 
-
964 class RtApiPulse: public RtApi
-
965 {
-
966 public:
-
967  ~RtApiPulse();
- -
969  unsigned int getDeviceCount( void );
-
970  RtAudio::DeviceInfo getDeviceInfo( unsigned int device );
-
971  void closeStream( void );
-
972  void startStream( void );
-
973  void stopStream( void );
-
974  void abortStream( void );
-
975 
-
976  // This function is intended for internal use only. It must be
-
977  // public because it is called by the internal callback handler,
-
978  // which is not a member of RtAudio. External use of this function
-
979  // will most likely produce highly undesireable results!
-
980  void callbackEvent( void );
-
981 
-
982  private:
-
983 
-
984  std::vector<RtAudio::DeviceInfo> devices_;
-
985  void saveDeviceInfo( void );
-
986  bool probeDeviceOpen( unsigned int device, StreamMode mode, unsigned int channels,
-
987  unsigned int firstChannel, unsigned int sampleRate,
-
988  RtAudioFormat format, unsigned int *bufferSize,
-
989  RtAudio::StreamOptions *options );
-
990 };
-
991 
-
992 #endif
-
993 
-
994 #if defined(__LINUX_OSS__)
-
995 
-
996 class RtApiOss: public RtApi
-
997 {
-
998 public:
-
999 
-
1000  RtApiOss();
-
1001  ~RtApiOss();
- -
1003  unsigned int getDeviceCount( void );
-
1004  RtAudio::DeviceInfo getDeviceInfo( unsigned int device );
-
1005  void closeStream( void );
-
1006  void startStream( void );
-
1007  void stopStream( void );
-
1008  void abortStream( void );
-
1009 
-
1010  // This function is intended for internal use only. It must be
-
1011  // public because it is called by the internal callback handler,
-
1012  // which is not a member of RtAudio. External use of this function
-
1013  // will most likely produce highly undesireable results!
-
1014  void callbackEvent( void );
-
1015 
-
1016  private:
-
1017 
-
1018  bool probeDeviceOpen( unsigned int device, StreamMode mode, unsigned int channels,
-
1019  unsigned int firstChannel, unsigned int sampleRate,
-
1020  RtAudioFormat format, unsigned int *bufferSize,
-
1021  RtAudio::StreamOptions *options );
-
1022 };
-
1023 
-
1024 #endif
-
1025 
-
1026 #if defined(__RTAUDIO_DUMMY__)
-
1027 
-
1028 class RtApiDummy: public RtApi
-
1029 {
-
1030 public:
-
1031 
-
1032  RtApiDummy() { errorText_ = "RtApiDummy: This class provides no functionality."; error( RtError::WARNING ); }
- -
1034  unsigned int getDeviceCount( void ) { return 0; }
-
1035  RtAudio::DeviceInfo getDeviceInfo( unsigned int /*device*/ ) { RtAudio::DeviceInfo info; return info; }
-
1036  void closeStream( void ) {}
-
1037  void startStream( void ) {}
-
1038  void stopStream( void ) {}
-
1039  void abortStream( void ) {}
-
1040 
-
1041  private:
-
1042 
-
1043  bool probeDeviceOpen( unsigned int /*device*/, StreamMode /*mode*/, unsigned int /*channels*/,
-
1044  unsigned int /*firstChannel*/, unsigned int /*sampleRate*/,
-
1045  RtAudioFormat /*format*/, unsigned int * /*bufferSize*/,
-
1046  RtAudio::StreamOptions * /*options*/ ) { return false; }
-
1047 };
-
1048 
-
1049 #endif
-
1050 
-
1051 #endif
-
1052 
-
1053 // Indentation settings for Vim and Emacs
-
1054 //
-
1055 // Local Variables:
-
1056 // c-basic-offset: 2
-
1057 // indent-tabs-mode: nil
-
1058 // End:
-
1059 //
-
1060 // vim: et sts=2 sw=2
-
-
- - -
©2001-2013 Gary P. Scavone, McGill University. All Rights Reserved.
Maintained by Gary P. Scavone.
- - diff --git a/source/modules/rtaudio/doc/html/RtError_8h-source.html b/source/modules/rtaudio/doc/html/RtError_8h-source.html deleted file mode 100644 index 68868deb2..000000000 --- a/source/modules/rtaudio/doc/html/RtError_8h-source.html +++ /dev/null @@ -1,65 +0,0 @@ - - -The RtAudio Home Page - - - - -
-Home   Class/Enum List   File List   Compound Members  
-
- -

RtError.h

00001 /************************************************************************/
-00010 /************************************************************************/
-00011 
-00012 #ifndef RTERROR_H
-00013 #define RTERROR_H
-00014 
-00015 #include <exception>
-00016 #include <iostream>
-00017 #include <string>
-00018 
-00019 class RtError : public std::exception
-00020 {
-00021  public:
-00023   enum Type {
-00024     WARNING,           
-00025     DEBUG_WARNING,     
-00026     UNSPECIFIED,       
-00027     NO_DEVICES_FOUND,  
-00028     INVALID_DEVICE,    
-00029     MEMORY_ERROR,      
-00030     INVALID_PARAMETER, 
-00031     INVALID_USE,       
-00032     DRIVER_ERROR,      
-00033     SYSTEM_ERROR,      
-00034     THREAD_ERROR       
-00035   };
-00036 
-00038   RtError( const std::string& message, Type type = RtError::UNSPECIFIED ) throw() : message_(message), type_(type) {}
-00039  
-00041   virtual ~RtError( void ) throw() {}
-00042 
-00044   virtual void printMessage( void ) throw() { std::cerr << '\n' << message_ << "\n\n"; }
-00045 
-00047   virtual const Type& getType(void) throw() { return type_; }
-00048 
-00050   virtual const std::string& getMessage(void) throw() { return message_; }
-00051 
-00053   virtual const char* what( void ) const throw() { return message_.c_str(); }
-00054 
-00055  protected:
-00056   std::string message_;
-00057   Type type_;
-00058 };
-00059 
-00060 #endif
-
-
- - - -
©2001-2009 Gary P. Scavone, McGill University. All Rights Reserved.
Maintained by Gary P. Scavone.
- - - diff --git a/source/modules/rtaudio/doc/html/RtError_8h_source.html b/source/modules/rtaudio/doc/html/RtError_8h_source.html deleted file mode 100644 index 2a733988f..000000000 --- a/source/modules/rtaudio/doc/html/RtError_8h_source.html +++ /dev/null @@ -1,69 +0,0 @@ - - -The RtAudio Home Page - - - - -
-Home   Class/Enum List   File List   Compound Members  
-
- - -
-
-
RtError.h
-
-
-
1 /************************************************************************/
-
10 /************************************************************************/
-
11 
-
12 #ifndef RTERROR_H
-
13 #define RTERROR_H
-
14 
-
15 #include <exception>
-
16 #include <iostream>
-
17 #include <string>
-
18 
-
19 class RtError : public std::exception
-
20 {
-
21  public:
-
23  enum Type {
- - - - - - - - - - - -
35  };
-
36 
-
38  RtError( const std::string& message, Type type = RtError::UNSPECIFIED ) throw() : message_(message), type_(type) {}
-
39 
-
41  virtual ~RtError( void ) throw() {}
-
42 
-
44  virtual void printMessage( void ) const throw() { std::cerr << '\n' << message_ << "\n\n"; }
-
45 
-
47  virtual const Type& getType(void) const throw() { return type_; }
-
48 
-
50  virtual const std::string& getMessage(void) const throw() { return message_; }
-
51 
-
53  virtual const char* what( void ) const throw() { return message_.c_str(); }
-
54 
-
55  protected:
-
56  std::string message_;
-
57  Type type_;
-
58 };
-
59 
-
60 #endif
-
-
- - -
©2001-2013 Gary P. Scavone, McGill University. All Rights Reserved.
Maintained by Gary P. Scavone.
- - diff --git a/source/modules/rtaudio/doc/html/acknowledge.html b/source/modules/rtaudio/doc/html/acknowledge.html deleted file mode 100644 index 6ca53810a..000000000 --- a/source/modules/rtaudio/doc/html/acknowledge.html +++ /dev/null @@ -1,63 +0,0 @@ - - -The RtAudio Home Page - - - - -
-Home   Class/Enum List   File List   Compound Members  
-
- - -
-
-
Acknowledgements
-
-
-

Many thanks to the following people for providing bug fixes and improvements:

-
    -
  • -Stefan Arisona
  • -
  • -Vincent Bénony
  • -
  • -Rasmus Ekman
  • -
  • -Anders Ervik
  • -
  • -Robin Davies (Windows DS and ASIO)
  • -
  • -Martin Koegler
  • -
  • -Dmitry Kostjuchenko
  • -
  • -Oliver Larkin
  • -
  • -Antoine Lefebvre
  • -
  • -Carlos Luna
  • -
  • -Dominic Mazzoni
  • -
  • -Tristan Matthews
  • -
  • -Peter Meerwald (PulseAudio)
  • -
  • -Benjamin Schroeder
  • -
  • -Ryan Williams (Windows non-MS compiler ASIO support)
  • -
  • -

    Ed Wildgoose (Linux ALSA and Jack)

    -

    -
  • -
-

The RtAudio API incorporates many of the concepts developed in the PortAudio project by Phil Burk and Ross Bencina. Early development also incorporated ideas from Bill Schottstaedt's sndlib. The CCRMA SoundWire group provided valuable feedback during the API proposal stages.

-

The early 2.0 version of RtAudio was slowly developed over the course of many months while in residence at the Institut Universitari de L'Audiovisual (IUA) in Barcelona, Spain and the Laboratory of Acoustics and Audio Signal Processing at the Helsinki University of Technology, Finland. Much subsequent development happened while working at the Center for Computer Research in Music and Acoustics (CCRMA) at Stanford University. All recent versions of RtAudio have been completed while working as an assistant / associate professor of Music Technology at McGill University. This work was supported in part by the United States Air Force Office of Scientific Research (grant #F49620-99-1-0293).

-
-
- - -
©2001-2013 Gary P. Scavone, McGill University. All Rights Reserved.
Maintained by Gary P. Scavone.
- - diff --git a/source/modules/rtaudio/doc/html/annotated.html b/source/modules/rtaudio/doc/html/annotated.html deleted file mode 100644 index d8fe6c306..000000000 --- a/source/modules/rtaudio/doc/html/annotated.html +++ /dev/null @@ -1,33 +0,0 @@ - - -The RtAudio Home Page - - - - -
-Home   Class/Enum List   File List   Compound Members  
-
- - -
-
-
Class List
-
-
-
Here are the classes, structs, unions and interfaces with brief descriptions:
-
[detail level 12]
- - - - - -
oCRtAudioRealtime audio i/o C++ classes
|oCDeviceInfoThe public device information structure for returning queried values
|oCStreamOptionsThe structure for specifying stream options
|\CStreamParametersThe structure for specifying input or ouput stream parameters
\CRtErrorException handling class for RtAudio & RtMidi
-
-
-
- - -
©2001-2013 Gary P. Scavone, McGill University. All Rights Reserved.
Maintained by Gary P. Scavone.
- - diff --git a/source/modules/rtaudio/doc/html/apinotes.html b/source/modules/rtaudio/doc/html/apinotes.html deleted file mode 100644 index c205ce0f0..000000000 --- a/source/modules/rtaudio/doc/html/apinotes.html +++ /dev/null @@ -1,46 +0,0 @@ - - -The RtAudio Home Page - - - - -
-Home   Class/Enum List   File List   Compound Members  
-
- - -
-
-
API Notes
-
-
-

RtAudio is designed to provide a common API across the various supported operating systems and audio libraries. Despite that, some issues should be mentioned with regard to each.

-

-Linux:

-

RtAudio for Linux was developed under Redhat distributions 7.0 - Fedora. Four different audio APIs are supported on Linux platforms: OSS (versions >= 4.0), ALSA, Jack, and PulseAudio. Note that RtAudio now only supports the newer version 4.0 OSS API. The ALSA API is now part of the Linux kernel and offers significantly better functionality than the OSS API. RtAudio provides support for the 1.0 and higher versions of ALSA. Jack is a low-latency audio server written primarily for the GNU/Linux operating system. It can connect a number of different applications to an audio device, as well as allow them to share audio between themselves. Input/output latency on the order of 15 milliseconds can typically be achieved using any of the Linux APIs by fine-tuning the RtAudio buffer parameters (without kernel modifications). Latencies on the order of 5 milliseconds or less can be achieved using a low-latency kernel patch and increasing FIFO scheduling priority. The pthread library, which is used for callback functionality, is a standard component of all Linux distributions.

-

The ALSA library includes OSS emulation support. That means that you can run programs compiled for the OSS API even when using the ALSA drivers and library. It should be noted however that OSS emulation under ALSA is not perfect. Specifically, channel number queries seem to consistently produce invalid results. While OSS emulation is successful for the majority of RtAudio tests, it is recommended that the native ALSA implementation of RtAudio be used on systems which have ALSA drivers installed.

-

The ALSA implementation of RtAudio makes no use of the ALSA "plug" interface. All necessary data format conversions, channel compensation, de-interleaving, and byte-swapping is handled by internal RtAudio routines.

-

-Macintosh OS-X (CoreAudio and Jack):

-

The Apple CoreAudio API is designed to use a separate callback procedure for each of its audio devices. A single RtAudio duplex stream using two different devices is supported, though it cannot be guaranteed to always behave correctly because we cannot synchronize these two callbacks. The numberOfBuffers parameter to the RtAudio::openStream() function has no affect in this implementation.

-

It is not possible to have multiple instances of RtAudio accessing the same CoreAudio device.

-

The RtAudio Jack support can be compiled on Macintosh OS-X systems, as well as in Linux.

-

-Windows (DirectSound):

-

The configure script provides support for the MinGW compiler. DirectSound support is specified with the "&ndash;with-ds" flag.

-

In order to compile RtAudio under Windows for the DirectSound API, you must have the header and source files for DirectSound version 5.0 or higher. As far as I know, there is no DirectSoundCapture support for Windows NT. Audio output latency with DirectSound can be reasonably good, especially since RtAudio version 3.0.2. Input audio latency still tends to be bad but better since version 3.0.2. RtAudio was originally developed with Visual C++ version 6.0 but has been tested with .NET.

-

The DirectSound version of RtAudio can be compiled with or without the UNICODE preprocessor definition.

-

-Windows (ASIO):

-

ASIO support using MinGW and the configure script is specified with the "&ndash;with-asio" flag.

-

The Steinberg ASIO audio API allows only a single device driver to be loaded and accessed at a time. ASIO device drivers must be supplied by audio hardware manufacturers, though ASIO emulation is possible on top of systems with DirectSound drivers. The numberOfBuffers parameter to the RtAudio::openStream() function has no affect in this implementation.

-

A number of ASIO source and header files are required for use with RtAudio. Specifically, an RtAudio project must include the following files: asio.h,cpp; asiodrivers.h,cpp; asiolist.h,cpp; asiodrvr.h; asiosys.h; ginclude.h; iasiodrv.h; iasiothiscallresolver.h,cpp. The Visual C++ projects found in /tests/Windows/ compile both ASIO and DirectSound support.

-

The Steinberg provided asiolist class does not compile when the preprocessor definition UNICODE is defined. Note that this could be an issue when using RtAudio with Qt, though Qt programs appear to compile without the UNICODE definition (try DEFINES -= UNICODE in your .pro file). RtAudio with ASIO support has been tested using the MinGW compiler under Windows XP, as well as in the Visual Studio environment.

-
-
- - -
©2001-2013 Gary P. Scavone, McGill University. All Rights Reserved.
Maintained by Gary P. Scavone.
- - diff --git a/source/modules/rtaudio/doc/html/bugs.html b/source/modules/rtaudio/doc/html/bugs.html deleted file mode 100644 index fd17ccbf9..000000000 --- a/source/modules/rtaudio/doc/html/bugs.html +++ /dev/null @@ -1,57 +0,0 @@ - - -RtAudio Bugs - - - -

RtAudio Bug Tracker

- -"Bugs" are considered to be problems that cause program crashes or unpredictable results. Incomplete or unavailable features are tracked as updates. - -

Reported (Unconfirmed) Bugs:

- - - - -
#VersionAPIDescriptionStatus
- -

Confirmed Bugs (Unfixed):

- - - - -
#VersionAPIDescription
- -

Fixed Bugs:

- - - - - - - - - - - - - - - - - - - - - - - - - - - -
#VersionAPIDescription
244.0.8AllVarious updates to most APIs to improve stopping efficiency and avoid lockup issues
234.0.8AllNew python binding in "contrib" directory (beta, thanks to Antoine Lefebvre)
224.0.8OS-XFixed problem handling device names in some languages (CFString conversion, Vincent Bénony)
214.0.8ASIOFixed problem using gcc4.4 (MinGW) to set and query supported sample rates
204.0.6OS-XFixed OS-X for OS < 10.5 ... need preprocessor definition around new variable type (thanks to Tristan Matthews)
194.0.6ALSAFixed ALSA code to set period size to power of two (thanks to Joakim Karrstrom)
184.0.5ASIOFixed ASIO sample rate selection bug (thanks to Sasha Zheligovsky)
174.0.5ALSA64-bit fixes in ALSA API (thanks to Stefan Muller Arisona)
164.0.5AllFixed bug in rtaudio-config script
154.0.5OS-XFixed a few gcc 4.4 errors in OS-X
144.0.5AllBug fix in byteSwapBuffer() (thanks to Stefan Muller Arisona and Theo Veenker)
134.0.5AllFix to int<->float conversion in convertBuffer() (thanks to Theo Veenker)
124.0.5AllFix to the way the stream state is changed to avoid infinite loop problem
114.0.4AllFixes in configure script
104.0.4AllFixed clearing of error message stream in error()
94.0.4AllFixed RtAudio::DeviceInfo description in "probing" documentation
84.0.4ALSA/OSSMemory leak fixes in ALSA and OSS
74.0.4JackJack in/out port flag fix
64.0.2AllFix to RtError::WARNING typo in RtAudio.h (RtApiDummy)
54.0.1AllFix to RtError::WARNING typo in RtAudio.cpp
44.0CoreAudioRtAudio checks a device's internal data format and sets it to the highest allowable bit rate. For some stupid devices, like the Griffin iMic, the default format is 8-bit mono when the requested format and number of channels does not exist. So, we need to query the device's capabilities using the kAudioStreamPropertyPhysicalFormats selector - i.e. ask a device for all of the channels/format/rate combination that it supports - and then enumerate through them to pick the best one.
34.0ALSAChanged sample rate setting to use snd_pcm_hw_params_set_rate_near() function
24.0All unicesDefault pthread scheduling priority changed to SCHED_RR when defined
14.0Windows DSMemory allocation bug in device querying
- - - - diff --git a/source/modules/rtaudio/doc/html/classRtAudio-members.html b/source/modules/rtaudio/doc/html/classRtAudio-members.html deleted file mode 100644 index f818bf7ea..000000000 --- a/source/modules/rtaudio/doc/html/classRtAudio-members.html +++ /dev/null @@ -1,57 +0,0 @@ - - -The RtAudio Home Page - - - - -
-Home   Class/Enum List   File List   Compound Members  
-
- - -
-
-
RtAudio Member List
-
-
- -

This is the complete list of members for RtAudio, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
abortStream(void)RtAudioinline
Api enum nameRtAudio
closeStream(void)RtAudioinline
getCompiledApi(std::vector< RtAudio::Api > &apis)RtAudiostatic
getCurrentApi(void)RtAudioinline
getDefaultInputDevice(void)RtAudioinline
getDefaultOutputDevice(void)RtAudioinline
getDeviceCount(void)RtAudioinline
getDeviceInfo(unsigned int device)RtAudioinline
getStreamLatency(void)RtAudioinline
getStreamSampleRate(void)RtAudioinline
getStreamTime(void)RtAudioinline
getVersion(void)RtAudioinlinestatic
isStreamOpen(void) const RtAudioinline
isStreamRunning(void) const RtAudioinline
LINUX_ALSA enum valueRtAudio
LINUX_OSS enum valueRtAudio
LINUX_PULSE enum valueRtAudio
MACOSX_CORE enum valueRtAudio
openStream(RtAudio::StreamParameters *outputParameters, RtAudio::StreamParameters *inputParameters, RtAudioFormat format, unsigned int sampleRate, unsigned int *bufferFrames, RtAudioCallback callback, void *userData=NULL, RtAudio::StreamOptions *options=NULL, RtAudioErrorCallback errorCallback=NULL)RtAudio
RtAudio(RtAudio::Api api=UNSPECIFIED)RtAudio
RTAUDIO_DUMMY enum valueRtAudio
showWarnings(bool value=true)RtAudioinline
startStream(void)RtAudioinline
stopStream(void)RtAudioinline
UNIX_JACK enum valueRtAudio
UNSPECIFIED enum valueRtAudio
WINDOWS_ASIO enum valueRtAudio
WINDOWS_DS enum valueRtAudio
~RtAudio()RtAudio
-
- - -
©2001-2013 Gary P. Scavone, McGill University. All Rights Reserved.
Maintained by Gary P. Scavone.
- - diff --git a/source/modules/rtaudio/doc/html/classRtAudio.html b/source/modules/rtaudio/doc/html/classRtAudio.html deleted file mode 100644 index 2b5461e2e..000000000 --- a/source/modules/rtaudio/doc/html/classRtAudio.html +++ /dev/null @@ -1,647 +0,0 @@ - - -The RtAudio Home Page - - - - -
-Home   Class/Enum List   File List   Compound Members  
-
- - - -
- -

Realtime audio i/o C++ classes. - More...

- -

#include <RtAudio.h>

- - - - - - - - - - - -

-Classes

struct  DeviceInfo
 The public device information structure for returning queried values. More...
 
struct  StreamOptions
 The structure for specifying stream options. More...
 
struct  StreamParameters
 The structure for specifying input or ouput stream parameters. More...
 
- - - - -

-Public Types

enum  Api {
-  UNSPECIFIED, -LINUX_ALSA, -LINUX_PULSE, -LINUX_OSS, -
-  UNIX_JACK, -MACOSX_CORE, -WINDOWS_ASIO, -WINDOWS_DS, -
-  RTAUDIO_DUMMY -
- }
 Audio API specifier arguments. More...
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

 RtAudio (RtAudio::Api api=UNSPECIFIED) throw ()
 The class constructor.
 
 ~RtAudio () throw ()
 The destructor.
 
-RtAudio::Api getCurrentApi (void) throw ()
 Returns the audio API specifier for the current instance of RtAudio.
 
unsigned int getDeviceCount (void) throw ()
 A public function that queries for the number of audio devices available.
 
RtAudio::DeviceInfo getDeviceInfo (unsigned int device)
 Return an RtAudio::DeviceInfo structure for a specified device number.
 
unsigned int getDefaultOutputDevice (void) throw ()
 A function that returns the index of the default output device.
 
unsigned int getDefaultInputDevice (void) throw ()
 A function that returns the index of the default input device.
 
void openStream (RtAudio::StreamParameters *outputParameters, RtAudio::StreamParameters *inputParameters, RtAudioFormat format, unsigned int sampleRate, unsigned int *bufferFrames, RtAudioCallback callback, void *userData=NULL, RtAudio::StreamOptions *options=NULL, RtAudioErrorCallback errorCallback=NULL)
 A public function for opening a stream with the specified parameters.
 
void closeStream (void) throw ()
 A function that closes a stream and frees any associated stream memory.
 
void startStream (void)
 A function that starts a stream.
 
void stopStream (void)
 Stop a stream, allowing any samples remaining in the output queue to be played.
 
void abortStream (void)
 Stop a stream, discarding any samples remaining in the input/output queue.
 
-bool isStreamOpen (void) const throw ()
 Returns true if a stream is open and false if not.
 
-bool isStreamRunning (void) const throw ()
 Returns true if the stream is running and false if it is stopped or not open.
 
double getStreamTime (void)
 Returns the number of elapsed seconds since the stream was started.
 
long getStreamLatency (void)
 Returns the internal stream latency in sample frames.
 
unsigned int getStreamSampleRate (void)
 Returns actual sample rate in use by the stream.
 
-void showWarnings (bool value=true) throw ()
 Specify whether warning messages should be printed to stderr.
 
- - - - - - - -

-Static Public Member Functions

-static std::string getVersion (void)
 A static function to determine the current RtAudio version.
 
static void getCompiledApi (std::vector< RtAudio::Api > &apis) throw ()
 A static function to determine the available compiled audio APIs.
 
-

Detailed Description

-

Realtime audio i/o C++ classes.

-

RtAudio provides a common API (Application Programming Interface) for realtime audio input/output across Linux (native ALSA, Jack, and OSS), Macintosh OS X (CoreAudio and Jack), and Windows (DirectSound and ASIO) operating systems.

-

RtAudio WWW site: http://www.music.mcgill.ca/~gary/rtaudio/

-

RtAudio: realtime audio i/o C++ classes Copyright (c) 2001-2013 Gary P. Scavone

-

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

-

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

-

Any person wishing to distribute modifications to the Software is asked to send the modifications to the original developer so that they can be incorporated into the canonical version. This is, however, not a binding provision of this license.

-

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

Member Enumeration Documentation

- -
-
- - - - -
enum RtAudio::Api
-
- -

Audio API specifier arguments.

-
Enumerator:
- - - - - - - - - -
UNSPECIFIED  -

Search for a working compiled API.

-
LINUX_ALSA  -

The Advanced Linux Sound Architecture API.

-
LINUX_PULSE  -

The Linux PulseAudio API.

-
LINUX_OSS  -

The Linux Open Sound System API.

-
UNIX_JACK  -

The Jack Low-Latency Audio Server API.

-
MACOSX_CORE  -

Macintosh OS-X Core Audio API.

-
WINDOWS_ASIO  -

The Steinberg Audio Stream I/O API.

-
WINDOWS_DS  -

The Microsoft Direct Sound API.

-
RTAUDIO_DUMMY  -

A compilable but non-functional API.

-
-
-
- -
-
-

Constructor & Destructor Documentation

- -
-
- - - - - - - - -
RtAudio::RtAudio (RtAudio::Api api = UNSPECIFIED) throw ()
-
- -

The class constructor.

-

The constructor performs minor initialization tasks. No exceptions can be thrown.

-

If no API argument is specified and multiple API support has been compiled, the default order of use is JACK, ALSA, OSS (Linux systems) and ASIO, DS (Windows systems).

- -
-
- -
-
- - - - - - - -
RtAudio::~RtAudio () throw ()
-
- -

The destructor.

-

If a stream is running or open, it will be stopped and closed automatically.

- -
-
-

Member Function Documentation

- -
-
- - - - - -
- - - - - - - - -
static void RtAudio::getCompiledApi (std::vector< RtAudio::Api > & apis) throw ()
-
-static
-
- -

A static function to determine the available compiled audio APIs.

-

The values returned in the std::vector can be compared against the enumerated list values. Note that there can be more than one API compiled for certain operating systems.

- -
-
- -
-
- - - - - -
- - - - - - - - -
unsigned int RtAudio::getDeviceCount (void ) throw ()
-
-inline
-
- -

A public function that queries for the number of audio devices available.

-

This function performs a system query of available devices each time it is called, thus supporting devices connected after instantiation. If a system error occurs during processing, a warning will be issued.

- -
-
- -
-
- - - - - -
- - - - - - - - -
RtAudio::DeviceInfo RtAudio::getDeviceInfo (unsigned int device)
-
-inline
-
- -

Return an RtAudio::DeviceInfo structure for a specified device number.

-

Any device integer between 0 and getDeviceCount() - 1 is valid. If an invalid argument is provided, an RtError (type = INVALID_USE) will be thrown. If a device is busy or otherwise unavailable, the structure member "probed" will have a value of "false" and all other members are undefined. If the specified device is the current default input or output device, the corresponding "isDefault" member will have a value of "true".

- -
-
- -
-
- - - - - -
- - - - - - - - -
unsigned int RtAudio::getDefaultOutputDevice (void ) throw ()
-
-inline
-
- -

A function that returns the index of the default output device.

-

If the underlying audio API does not provide a "default -device", or if no devices are available, the return value will be 0. Note that this is a valid device identifier and it is the client's responsibility to verify that a device is available before attempting to open a stream.

- -
-
- -
-
- - - - - -
- - - - - - - - -
unsigned int RtAudio::getDefaultInputDevice (void ) throw ()
-
-inline
-
- -

A function that returns the index of the default input device.

-

If the underlying audio API does not provide a "default -device", or if no devices are available, the return value will be 0. Note that this is a valid device identifier and it is the client's responsibility to verify that a device is available before attempting to open a stream.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void RtAudio::openStream (RtAudio::StreamParametersoutputParameters,
RtAudio::StreamParametersinputParameters,
RtAudioFormat format,
unsigned int sampleRate,
unsigned int * bufferFrames,
RtAudioCallback callback,
void * userData = NULL,
RtAudio::StreamOptionsoptions = NULL,
RtAudioErrorCallback errorCallback = NULL 
)
-
- -

A public function for opening a stream with the specified parameters.

-

An RtError (type = SYSTEM_ERROR) is thrown if a stream cannot be opened with the specified parameters or an error occurs during processing. An RtError (type = INVALID_USE) is thrown if any invalid device ID or channel number parameters are specified.

-
Parameters
- - - - - - - - - - -
outputParametersSpecifies output stream parameters to use when opening a stream, including a device ID, number of channels, and starting channel number. For input-only streams, this argument should be NULL. The device ID is an index value between 0 and getDeviceCount() - 1.
inputParametersSpecifies input stream parameters to use when opening a stream, including a device ID, number of channels, and starting channel number. For output-only streams, this argument should be NULL. The device ID is an index value between 0 and getDeviceCount() - 1.
formatAn RtAudioFormat specifying the desired sample data format.
sampleRateThe desired sample rate (sample frames per second).
*bufferFramesA pointer to a value indicating the desired internal buffer size in sample frames. The actual value used by the device is returned via the same pointer. A value of zero can be specified, in which case the lowest allowable value is determined.
callbackA client-defined function that will be invoked when input data is available and/or output data is needed.
userDataAn optional pointer to data that can be accessed from within the callback function.
optionsAn optional pointer to a structure containing various global stream options, including a list of OR'ed RtAudioStreamFlags and a suggested number of stream buffers that can be used to control stream latency. More buffers typically result in more robust performance, though at a cost of greater latency. If a value of zero is specified, a system-specific median value is chosen. If the RTAUDIO_MINIMIZE_LATENCY flag bit is set, the lowest allowable value is used. The actual value used is returned via the structure argument. The parameter is API dependent.
errorCallbackA client-defined function that will be invoked when an error has occured.
-
-
- -
-
- -
-
- - - - - -
- - - - - - - - -
void RtAudio::closeStream (void ) throw ()
-
-inline
-
- -

A function that closes a stream and frees any associated stream memory.

-

If a stream is not open, this function issues a warning and returns (no exception is thrown).

- -
-
- -
-
- - - - - -
- - - - - - - - -
void RtAudio::startStream (void )
-
-inline
-
- -

A function that starts a stream.

-

An RtError (type = SYSTEM_ERROR) is thrown if an error occurs during processing. An RtError (type = INVALID_USE) is thrown if a stream is not open. A warning is issued if the stream is already running.

- -
-
- -
-
- - - - - -
- - - - - - - - -
void RtAudio::stopStream (void )
-
-inline
-
- -

Stop a stream, allowing any samples remaining in the output queue to be played.

-

An RtError (type = SYSTEM_ERROR) is thrown if an error occurs during processing. An RtError (type = INVALID_USE) is thrown if a stream is not open. A warning is issued if the stream is already stopped.

- -
-
- -
-
- - - - - -
- - - - - - - - -
void RtAudio::abortStream (void )
-
-inline
-
- -

Stop a stream, discarding any samples remaining in the input/output queue.

-

An RtError (type = SYSTEM_ERROR) is thrown if an error occurs during processing. An RtError (type = INVALID_USE) is thrown if a stream is not open. A warning is issued if the stream is already stopped.

- -
-
- -
-
- - - - - -
- - - - - - - - -
double RtAudio::getStreamTime (void )
-
-inline
-
- -

Returns the number of elapsed seconds since the stream was started.

-

If a stream is not open, an RtError (type = INVALID_USE) will be thrown.

- -
-
- -
-
- - - - - -
- - - - - - - - -
long RtAudio::getStreamLatency (void )
-
-inline
-
- -

Returns the internal stream latency in sample frames.

-

The stream latency refers to delay in audio input and/or output caused by internal buffering by the audio system and/or hardware. For duplex streams, the returned value will represent the sum of the input and output latencies. If a stream is not open, an RtError (type = INVALID_USE) will be thrown. If the API does not report latency, the return value will be zero.

- -
-
- -
-
- - - - - -
- - - - - - - - -
unsigned int RtAudio::getStreamSampleRate (void )
-
-inline
-
- -

Returns actual sample rate in use by the stream.

-

On some systems, the sample rate used may be slightly different than that specified in the stream parameters. If a stream is not open, an RtError (type = INVALID_USE) will be thrown.

- -
-
-
The documentation for this class was generated from the following file: -
-
- - -
©2001-2013 Gary P. Scavone, McGill University. All Rights Reserved.
Maintained by Gary P. Scavone.
- - diff --git a/source/modules/rtaudio/doc/html/classRtError-members.html b/source/modules/rtaudio/doc/html/classRtError-members.html deleted file mode 100644 index 04e581149..000000000 --- a/source/modules/rtaudio/doc/html/classRtError-members.html +++ /dev/null @@ -1,45 +0,0 @@ - - -The RtAudio Home Page - - - - -
-Home   Class/Enum List   File List   Compound Members  
-
- - -
-
-
RtError Member List
-
-
- -

This is the complete list of members for RtError, including all inherited members.

- - - - - - - - - - - - - - - - - - - -
DEBUG_WARNING enum valueRtError
DRIVER_ERROR enum valueRtError
getMessage(void) const RtErrorinlinevirtual
getType(void) const RtErrorinlinevirtual
INVALID_DEVICE enum valueRtError
INVALID_PARAMETER enum valueRtError
INVALID_USE enum valueRtError
MEMORY_ERROR enum valueRtError
NO_DEVICES_FOUND enum valueRtError
printMessage(void) const RtErrorinlinevirtual
RtError(const std::string &message, Type type=RtError::UNSPECIFIED)RtErrorinline
SYSTEM_ERROR enum valueRtError
THREAD_ERROR enum valueRtError
Type enum nameRtError
UNSPECIFIED enum valueRtError
WARNING enum valueRtError
what(void) const RtErrorinlinevirtual
~RtError(void)RtErrorinlinevirtual
-
- - -
©2001-2013 Gary P. Scavone, McGill University. All Rights Reserved.
Maintained by Gary P. Scavone.
- - diff --git a/source/modules/rtaudio/doc/html/classRtError.html b/source/modules/rtaudio/doc/html/classRtError.html deleted file mode 100644 index e564d8626..000000000 --- a/source/modules/rtaudio/doc/html/classRtError.html +++ /dev/null @@ -1,142 +0,0 @@ - - -The RtAudio Home Page - - - - -
-Home   Class/Enum List   File List   Compound Members  
-
- - -
- -
-
RtError Class Reference
-
-
- -

Exception handling class for RtAudio & RtMidi. - More...

- -

#include <RtError.h>

- -

Inherits exception.

- - - - - -

-Public Types

enum  Type {
-  WARNING, -DEBUG_WARNING, -UNSPECIFIED, -NO_DEVICES_FOUND, -
-  INVALID_DEVICE, -MEMORY_ERROR, -INVALID_PARAMETER, -INVALID_USE, -
-  DRIVER_ERROR, -SYSTEM_ERROR, -THREAD_ERROR -
- }
 Defined RtError types. More...
 
- - - - - - - - - - - - - - - - - - - -

-Public Member Functions

RtError (const std::string &message, Type type=RtError::UNSPECIFIED) throw ()
 The constructor.
 
-virtual ~RtError (void) throw ()
 The destructor.
 
-virtual void printMessage (void) const throw ()
 Prints thrown error message to stderr.
 
-virtual const TypegetType (void) const throw ()
 Returns the thrown error message type.
 
-virtual const std::string & getMessage (void) const throw ()
 Returns the thrown error message string.
 
-virtual const char * what (void) const throw ()
 Returns the thrown error message as a c-style string.
 
-

Detailed Description

-

Exception handling class for RtAudio & RtMidi.

-

The RtError class is quite simple but it does allow errors to be "caught" by RtError::Type. See the RtAudio and RtMidi documentation to know which methods can throw an RtError.

-

Member Enumeration Documentation

- -
-
- - - - -
enum RtError::Type
-
- -

Defined RtError types.

-
Enumerator:
- - - - - - - - - - - -
WARNING  -

A non-critical error.

-
DEBUG_WARNING  -

A non-critical error which might be useful for debugging.

-
UNSPECIFIED  -

The default, unspecified error type.

-
NO_DEVICES_FOUND  -

No devices found on system.

-
INVALID_DEVICE  -

An invalid device ID was specified.

-
MEMORY_ERROR  -

An error occured during memory allocation.

-
INVALID_PARAMETER  -

An invalid parameter was specified to a function.

-
INVALID_USE  -

The function was called incorrectly.

-
DRIVER_ERROR  -

A system driver error occured.

-
SYSTEM_ERROR  -

A system error occured.

-
THREAD_ERROR  -

A thread error occured.

-
-
-
- -
-
-
The documentation for this class was generated from the following file: -
-
- - -
©2001-2013 Gary P. Scavone, McGill University. All Rights Reserved.
Maintained by Gary P. Scavone.
- - diff --git a/source/modules/rtaudio/doc/html/classes.html b/source/modules/rtaudio/doc/html/classes.html deleted file mode 100644 index 8f0e44b95..000000000 --- a/source/modules/rtaudio/doc/html/classes.html +++ /dev/null @@ -1,36 +0,0 @@ - - -The RtAudio Home Page - - - - -
-Home   Class/Enum List   File List   Compound Members  
-
- - -
-
-
Class Index
-
-
-
D | R | S
- - - - - - -
  D  
-
  R  
-
RtError   RtAudio::StreamParameters   
  S  
-
RtAudio::DeviceInfo   RtAudio   
RtAudio::StreamOptions   
-
D | R | S
-
-
- - -
©2001-2013 Gary P. Scavone, McGill University. All Rights Reserved.
Maintained by Gary P. Scavone.
- - diff --git a/source/modules/rtaudio/doc/html/compiling.html b/source/modules/rtaudio/doc/html/compiling.html deleted file mode 100644 index 58d6a557b..000000000 --- a/source/modules/rtaudio/doc/html/compiling.html +++ /dev/null @@ -1,51 +0,0 @@ - - -The RtAudio Home Page - - - - -
-Home   Class/Enum List   File List   Compound Members  
-
- - -
-
-
Debugging & Compiling
-
-
-

-Debugging

-

If you are having problems getting RtAudio to run on your system, make sure to pass a value of true to the RtAudio::showWarnings() function (this is the default setting). A variety of warning messages will be displayed which may help in determining the problem. Also, try using the programs included in the tests directory. The program audioprobe displays the queried capabilities of all hardware devices found for all APIs compiled. When using the ALSA and JACK APIs, further information can be displayed by defining the preprocessor definition RTAUDIO_DEBUG.

-

-Compiling

-

In order to compile RtAudio for a specific OS and audio API, it is necessary to supply the appropriate preprocessor definition and library within the compiler statement:

- - - - - - - - - - - - - - - - - -
OS: Audio API: C++ Class: Preprocessor Definition: Library or Framework: Example Compiler Statement:
Linux ALSA RtApiAlsa __LINUX_ALSA__ asound, pthread g++ -Wall -D__LINUX_ALSA__ -o audioprobe audioprobe.cpp RtAudio.cpp -lasound -lpthread
Linux PulseAudio RtApiPulse __LINUX_PULSE__ pthread g++ -Wall -D__LINUX_PULSE__ -o audioprobe audioprobe.cpp RtAudio.cpp -lpthread -lpulse-simple -lpulse
Linux OSS RtApiOss __LINUX_OSS__ pthread g++ -Wall -D__LINUX_OSS__ -o audioprobe audioprobe.cpp RtAudio.cpp -lpthread
Linux or Macintosh OS-X Jack Audio Server RtApiJack __UNIX_JACK__ jack, pthread

g++ -Wall -D__UNIX_JACK__ -o audioprobe audioprobe.cpp RtAudio.cpp pkg-config --cflags --libs jack -lpthread

-

-
Macintosh OS-X CoreAudio RtApiCore __MACOSX_CORE__ pthread, CoreAudio g++ -Wall -D__MACOSX_CORE__ -o audioprobe audioprobe.cpp RtAudio.cpp -framework CoreAudio -lpthread
Windows Direct Sound RtApiDs __WINDOWS_DS__ dsound.lib (ver. 5.0 or higher), multithreaded compiler specific
Windows ASIO RtApiAsio __WINDOWS_ASIO__ various ASIO header and source files compiler specific
-

The example compiler statements above could be used to compile the audioprobe.cpp example file, assuming that audioprobe.cpp, RtAudio.h, RtError.h, and RtAudio.cpp all exist in the same directory.

-
-
- - -
©2001-2013 Gary P. Scavone, McGill University. All Rights Reserved.
Maintained by Gary P. Scavone.
- - diff --git a/source/modules/rtaudio/doc/html/doxygen.css b/source/modules/rtaudio/doc/html/doxygen.css deleted file mode 100644 index 2642e8f9e..000000000 --- a/source/modules/rtaudio/doc/html/doxygen.css +++ /dev/null @@ -1,1172 +0,0 @@ -/* The standard CSS for doxygen */ - -body, table, div, p, dl { - font: 400 14px/19px Roboto,sans-serif; -} - -/* @group Heading Levels */ - -h1.groupheader { - font-size: 150%; -} - -.title { - font-size: 150%; - font-weight: bold; - margin: 10px 2px; -} - -h2.groupheader { - border-bottom: 1px solid #879ECB; - color: #354C7B; - font-size: 150%; - font-weight: normal; - margin-top: 1.75em; - padding-top: 8px; - padding-bottom: 4px; - width: 100%; -} - -h3.groupheader { - font-size: 100%; -} - -h1, h2, h3, h4, h5, h6 { - -webkit-transition: text-shadow 0.5s linear; - -moz-transition: text-shadow 0.5s linear; - -ms-transition: text-shadow 0.5s linear; - -o-transition: text-shadow 0.5s linear; - transition: text-shadow 0.5s linear; - margin-right: 15px; -} - -h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow { - text-shadow: 0 0 15px cyan; -} - -dt { - font-weight: bold; -} - -div.multicol { - -moz-column-gap: 1em; - -webkit-column-gap: 1em; - -moz-column-count: 3; - -webkit-column-count: 3; -} - -p.startli, p.startdd, p.starttd { - margin-top: 2px; -} - -p.endli { - margin-bottom: 0px; -} - -p.enddd { - margin-bottom: 4px; -} - -p.endtd { - margin-bottom: 2px; -} - -/* @end */ - -caption { - font-weight: bold; -} - -span.legend { - font-size: 70%; - text-align: center; -} - -h3.version { - font-size: 90%; - text-align: center; -} - -div.qindex, div.navtab{ - background-color: #EBEFF6; - border: 1px solid #A3B4D7; - text-align: center; -} - -div.qindex, div.navpath { - width: 100%; - line-height: 140%; -} - -div.navtab { - margin-right: 15px; -} - -/* @group Link Styling */ - -a { - color: #3D578C; - font-weight: normal; - text-decoration: none; -} - -.contents a:visited { - color: #4665A2; -} - -a:hover { - text-decoration: underline; -} - -a.qindex { - font-weight: bold; -} - -a.qindexHL { - font-weight: bold; - background-color: #9CAFD4; - color: #ffffff; - border: 1px double #869DCA; -} - -.contents a.qindexHL:visited { - color: #ffffff; -} - -a.el { - font-weight: bold; -} - -a.elRef { -} - -a.code, a.code:visited { - color: #4665A2; -} - -a.codeRef, a.codeRef:visited { - color: #4665A2; -} - -/* @end */ - -dl.el { - margin-left: -1cm; -} - -pre.fragment { - border: 1px solid #C4CFE5; - background-color: #FBFCFD; - padding: 4px 6px; - margin: 4px 8px 4px 2px; - overflow: auto; - word-wrap: break-word; - font-size: 9pt; - line-height: 125%; - font-family: monospace, fixed; - font-size: 105%; -} - -div.fragment { - padding: 4px; - margin: 4px; - background-color: #FBFCFD; - border: 1px solid #C4CFE5; -} - -div.line { - font-family: monospace, fixed; - font-size: 13px; - min-height: 13px; - line-height: 1.0; - text-wrap: unrestricted; - white-space: -moz-pre-wrap; /* Moz */ - white-space: -pre-wrap; /* Opera 4-6 */ - white-space: -o-pre-wrap; /* Opera 7 */ - white-space: pre-wrap; /* CSS3 */ - word-wrap: break-word; /* IE 5.5+ */ - text-indent: -53px; - padding-left: 53px; - padding-bottom: 0px; - margin: 0px; - -webkit-transition-property: background-color, box-shadow; - -webkit-transition-duration: 0.5s; - -moz-transition-property: background-color, box-shadow; - -moz-transition-duration: 0.5s; - -ms-transition-property: background-color, box-shadow; - -ms-transition-duration: 0.5s; - -o-transition-property: background-color, box-shadow; - -o-transition-duration: 0.5s; - transition-property: background-color, box-shadow; - transition-duration: 0.5s; -} - -div.line.glow { - background-color: cyan; - box-shadow: 0 0 10px cyan; -} - - -span.lineno { - padding-right: 4px; - text-align: right; - border-right: 2px solid #0F0; - background-color: #E8E8E8; - white-space: pre; -} -span.lineno a { - background-color: #D8D8D8; -} - -span.lineno a:hover { - background-color: #C8C8C8; -} - -div.ah { - background-color: black; - font-weight: bold; - color: #ffffff; - margin-bottom: 3px; - margin-top: 3px; - padding: 0.2em; - border: solid thin #333; - border-radius: 0.5em; - -webkit-border-radius: .5em; - -moz-border-radius: .5em; - box-shadow: 2px 2px 3px #999; - -webkit-box-shadow: 2px 2px 3px #999; - -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; - background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444)); - background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000); -} - -div.groupHeader { - margin-left: 16px; - margin-top: 12px; - font-weight: bold; -} - -div.groupText { - margin-left: 16px; - font-style: italic; -} - -body { - background-color: white; - color: black; - margin: 0; -} - -div.contents { - margin-top: 10px; - margin-left: 12px; - margin-right: 8px; -} - -td.indexkey { - background-color: #EBEFF6; - font-weight: bold; - border: 1px solid #C4CFE5; - margin: 2px 0px 2px 0; - padding: 2px 10px; - white-space: nowrap; - vertical-align: top; -} - -td.indexvalue { - background-color: #EBEFF6; - border: 1px solid #C4CFE5; - padding: 2px 10px; - margin: 2px 0px; -} - -tr.memlist { - background-color: #EEF1F7; -} - -p.formulaDsp { - text-align: center; -} - -img.formulaDsp { - -} - -img.formulaInl { - vertical-align: middle; -} - -div.center { - text-align: center; - margin-top: 0px; - margin-bottom: 0px; - padding: 0px; -} - -div.center img { - border: 0px; -} - -address.footer { - text-align: right; - padding-right: 12px; -} - -img.footer { - border: 0px; - vertical-align: middle; -} - -/* @group Code Colorization */ - -span.keyword { - color: #008000 -} - -span.keywordtype { - color: #604020 -} - -span.keywordflow { - color: #e08000 -} - -span.comment { - color: #800000 -} - -span.preprocessor { - color: #806020 -} - -span.stringliteral { - color: #002080 -} - -span.charliteral { - color: #008080 -} - -span.vhdldigit { - color: #ff00ff -} - -span.vhdlchar { - color: #000000 -} - -span.vhdlkeyword { - color: #700070 -} - -span.vhdllogic { - color: #ff0000 -} - -blockquote { - background-color: #F7F8FB; - border-left: 2px solid #9CAFD4; - margin: 0 24px 0 4px; - padding: 0 12px 0 16px; -} - -/* @end */ - -/* -.search { - color: #003399; - font-weight: bold; -} - -form.search { - margin-bottom: 0px; - margin-top: 0px; -} - -input.search { - font-size: 75%; - color: #000080; - font-weight: normal; - background-color: #e8eef2; -} -*/ - -td.tiny { - font-size: 75%; -} - -.dirtab { - padding: 4px; - border-collapse: collapse; - border: 1px solid #A3B4D7; -} - -th.dirtab { - background: #EBEFF6; - font-weight: bold; -} - -hr { - height: 0px; - border: none; - border-top: 1px solid #4A6AAA; -} - -hr.footer { - height: 1px; -} - -/* @group Member Descriptions */ - -table.memberdecls { - border-spacing: 0px; - padding: 0px; -} - -.memberdecls td, .fieldtable tr { - -webkit-transition-property: background-color, box-shadow; - -webkit-transition-duration: 0.5s; - -moz-transition-property: background-color, box-shadow; - -moz-transition-duration: 0.5s; - -ms-transition-property: background-color, box-shadow; - -ms-transition-duration: 0.5s; - -o-transition-property: background-color, box-shadow; - -o-transition-duration: 0.5s; - transition-property: background-color, box-shadow; - transition-duration: 0.5s; -} - -.memberdecls td.glow, .fieldtable tr.glow { - background-color: cyan; - box-shadow: 0 0 15px cyan; -} - -.mdescLeft, .mdescRight, -.memItemLeft, .memItemRight, -.memTemplItemLeft, .memTemplItemRight, .memTemplParams { - background-color: #F9FAFC; - border: none; - margin: 4px; - padding: 1px 0 0 8px; -} - -.mdescLeft, .mdescRight { - padding: 0px 8px 4px 8px; - color: #555; -} - -.memSeparator { - border-bottom: 1px solid #DEE4F0; - line-height: 1px; - margin: 0px; - padding: 0px; -} - -.memItemLeft, .memTemplItemLeft { - white-space: nowrap; -} - -.memItemRight { - width: 100%; -} - -.memTemplParams { - color: #4665A2; - white-space: nowrap; - font-size: 80%; -} - -/* @end */ - -/* @group Member Details */ - -/* Styles for detailed member documentation */ - -.memtemplate { - font-size: 80%; - color: #4665A2; - font-weight: normal; - margin-left: 9px; -} - -.memnav { - background-color: #EBEFF6; - border: 1px solid #A3B4D7; - text-align: center; - margin: 2px; - margin-right: 15px; - padding: 2px; -} - -.mempage { - width: 100%; -} - -.memitem { - padding: 0; - margin-bottom: 10px; - margin-right: 5px; - -webkit-transition: box-shadow 0.5s linear; - -moz-transition: box-shadow 0.5s linear; - -ms-transition: box-shadow 0.5s linear; - -o-transition: box-shadow 0.5s linear; - transition: box-shadow 0.5s linear; - display: table !important; - width: 100%; -} - -.memitem.glow { - box-shadow: 0 0 15px cyan; -} - -.memname { - font-weight: bold; - margin-left: 6px; -} - -.memname td { - vertical-align: bottom; -} - -.memproto, dl.reflist dt { - border-top: 1px solid #A8B8D9; - border-left: 1px solid #A8B8D9; - border-right: 1px solid #A8B8D9; - padding: 6px 0px 6px 0px; - color: #253555; - font-weight: bold; - text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); - background-image:url('nav_f.png'); - background-repeat:repeat-x; - background-color: #E2E8F2; - /* opera specific markup */ - box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); - border-top-right-radius: 4px; - border-top-left-radius: 4px; - /* firefox specific markup */ - -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; - -moz-border-radius-topright: 4px; - -moz-border-radius-topleft: 4px; - /* webkit specific markup */ - -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); - -webkit-border-top-right-radius: 4px; - -webkit-border-top-left-radius: 4px; - -} - -.memdoc, dl.reflist dd { - border-bottom: 1px solid #A8B8D9; - border-left: 1px solid #A8B8D9; - border-right: 1px solid #A8B8D9; - padding: 6px 10px 2px 10px; - background-color: #FBFCFD; - border-top-width: 0; - background-image:url('nav_g.png'); - background-repeat:repeat-x; - background-color: #FFFFFF; - /* opera specific markup */ - border-bottom-left-radius: 4px; - border-bottom-right-radius: 4px; - box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); - /* firefox specific markup */ - -moz-border-radius-bottomleft: 4px; - -moz-border-radius-bottomright: 4px; - -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; - /* webkit specific markup */ - -webkit-border-bottom-left-radius: 4px; - -webkit-border-bottom-right-radius: 4px; - -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); -} - -dl.reflist dt { - padding: 5px; -} - -dl.reflist dd { - margin: 0px 0px 10px 0px; - padding: 5px; -} - -.paramkey { - text-align: right; -} - -.paramtype { - white-space: nowrap; -} - -.paramname { - color: #602020; - white-space: nowrap; -} -.paramname em { - font-style: normal; -} -.paramname code { - line-height: 14px; -} - -.params, .retval, .exception, .tparams { - margin-left: 0px; - padding-left: 0px; -} - -.params .paramname, .retval .paramname { - font-weight: bold; - vertical-align: top; -} - -.params .paramtype { - font-style: italic; - vertical-align: top; -} - -.params .paramdir { - font-family: "courier new",courier,monospace; - vertical-align: top; -} - -table.mlabels { - border-spacing: 0px; -} - -td.mlabels-left { - width: 100%; - padding: 0px; -} - -td.mlabels-right { - vertical-align: bottom; - padding: 0px; - white-space: nowrap; -} - -span.mlabels { - margin-left: 8px; -} - -span.mlabel { - background-color: #728DC1; - border-top:1px solid #5373B4; - border-left:1px solid #5373B4; - border-right:1px solid #C4CFE5; - border-bottom:1px solid #C4CFE5; - text-shadow: none; - color: white; - margin-right: 4px; - padding: 2px 3px; - border-radius: 3px; - font-size: 7pt; - white-space: nowrap; - vertical-align: middle; -} - - - -/* @end */ - -/* these are for tree view when not used as main index */ - -div.directory { - margin: 10px 0px; - border-top: 1px solid #A8B8D9; - border-bottom: 1px solid #A8B8D9; - width: 100%; -} - -.directory table { - border-collapse:collapse; -} - -.directory td { - margin: 0px; - padding: 0px; - vertical-align: top; -} - -.directory td.entry { - white-space: nowrap; - padding-right: 6px; -} - -.directory td.entry a { - outline:none; -} - -.directory td.entry a img { - border: none; -} - -.directory td.desc { - width: 100%; - padding-left: 6px; - padding-right: 6px; - padding-top: 3px; - border-left: 1px solid rgba(0,0,0,0.05); -} - -.directory tr.even { - padding-left: 6px; - background-color: #F7F8FB; -} - -.directory img { - vertical-align: -30%; -} - -.directory .levels { - white-space: nowrap; - width: 100%; - text-align: right; - font-size: 9pt; -} - -.directory .levels span { - cursor: pointer; - padding-left: 2px; - padding-right: 2px; - color: #3D578C; -} - -div.dynheader { - margin-top: 8px; - -webkit-touch-callout: none; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} - -address { - font-style: normal; - color: #2A3D61; -} - -table.doxtable { - border-collapse:collapse; - margin-top: 4px; - margin-bottom: 4px; -} - -table.doxtable td, table.doxtable th { - border: 1px solid #2D4068; - padding: 3px 7px 2px; -} - -table.doxtable th { - background-color: #374F7F; - color: #FFFFFF; - font-size: 110%; - padding-bottom: 4px; - padding-top: 5px; -} - -table.fieldtable { - width: 100%; - margin-bottom: 10px; - border: 1px solid #A8B8D9; - border-spacing: 0px; - -moz-border-radius: 4px; - -webkit-border-radius: 4px; - border-radius: 4px; - -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; - -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); - box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); -} - -.fieldtable td, .fieldtable th { - padding: 3px 7px 2px; -} - -.fieldtable td.fieldtype, .fieldtable td.fieldname { - white-space: nowrap; - border-right: 1px solid #A8B8D9; - border-bottom: 1px solid #A8B8D9; - vertical-align: top; -} - -.fieldtable td.fielddoc { - border-bottom: 1px solid #A8B8D9; - width: 100%; -} - -.fieldtable tr:last-child td { - border-bottom: none; -} - -.fieldtable th { - background-image:url('nav_f.png'); - background-repeat:repeat-x; - background-color: #E2E8F2; - font-size: 90%; - color: #253555; - padding-bottom: 4px; - padding-top: 5px; - text-align:left; - -moz-border-radius-topleft: 4px; - -moz-border-radius-topright: 4px; - -webkit-border-top-left-radius: 4px; - -webkit-border-top-right-radius: 4px; - border-top-left-radius: 4px; - border-top-right-radius: 4px; - border-bottom: 1px solid #A8B8D9; -} - - -.tabsearch { - top: 0px; - left: 10px; - height: 36px; - background-image: url('tab_b.png'); - z-index: 101; - overflow: hidden; - font-size: 13px; -} - -.navpath ul -{ - font-size: 11px; - background-image:url('tab_b.png'); - background-repeat:repeat-x; - background-position: 0 -5px; - height:30px; - line-height:30px; - color:#8AA0CC; - border:solid 1px #C2CDE4; - overflow:hidden; - margin:0px; - padding:0px; -} - -.navpath li -{ - list-style-type:none; - float:left; - padding-left:10px; - padding-right:15px; - background-image:url('bc_s.png'); - background-repeat:no-repeat; - background-position:right; - color:#364D7C; -} - -.navpath li.navelem a -{ - height:32px; - display:block; - text-decoration: none; - outline: none; - color: #283A5D; - font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; - text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); - text-decoration: none; -} - -.navpath li.navelem a:hover -{ - color:#6884BD; -} - -.navpath li.footer -{ - list-style-type:none; - float:right; - padding-left:10px; - padding-right:15px; - background-image:none; - background-repeat:no-repeat; - background-position:right; - color:#364D7C; - font-size: 8pt; -} - - -div.summary -{ - float: right; - font-size: 8pt; - padding-right: 5px; - width: 50%; - text-align: right; -} - -div.summary a -{ - white-space: nowrap; -} - -div.ingroups -{ - font-size: 8pt; - width: 50%; - text-align: left; -} - -div.ingroups a -{ - white-space: nowrap; -} - -div.header -{ - background-image:url('nav_h.png'); - background-repeat:repeat-x; - background-color: #F9FAFC; - margin: 0px; - border-bottom: 1px solid #C4CFE5; -} - -div.headertitle -{ - padding: 5px 5px 5px 10px; -} - -dl -{ - padding: 0 0 0 10px; -} - -/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug */ -dl.section -{ - margin-left: 0px; - padding-left: 0px; -} - -dl.note -{ - margin-left:-7px; - padding-left: 3px; - border-left:4px solid; - border-color: #D0C000; -} - -dl.warning, dl.attention -{ - margin-left:-7px; - padding-left: 3px; - border-left:4px solid; - border-color: #FF0000; -} - -dl.pre, dl.post, dl.invariant -{ - margin-left:-7px; - padding-left: 3px; - border-left:4px solid; - border-color: #00D000; -} - -dl.deprecated -{ - margin-left:-7px; - padding-left: 3px; - border-left:4px solid; - border-color: #505050; -} - -dl.todo -{ - margin-left:-7px; - padding-left: 3px; - border-left:4px solid; - border-color: #00C0E0; -} - -dl.test -{ - margin-left:-7px; - padding-left: 3px; - border-left:4px solid; - border-color: #3030E0; -} - -dl.bug -{ - margin-left:-7px; - padding-left: 3px; - border-left:4px solid; - border-color: #C08050; -} - -dl.section dd { - margin-bottom: 6px; -} - - -#projectlogo -{ - text-align: center; - vertical-align: bottom; - border-collapse: separate; -} - -#projectlogo img -{ - border: 0px none; -} - -#projectname -{ - font: 300% Tahoma, Arial,sans-serif; - margin: 0px; - padding: 2px 0px; -} - -#projectbrief -{ - font: 120% Tahoma, Arial,sans-serif; - margin: 0px; - padding: 0px; -} - -#projectnumber -{ - font: 50% Tahoma, Arial,sans-serif; - margin: 0px; - padding: 0px; -} - -#titlearea -{ - padding: 0px; - margin: 0px; - width: 100%; - border-bottom: 1px solid #5373B4; -} - -.image -{ - text-align: center; -} - -.dotgraph -{ - text-align: center; -} - -.mscgraph -{ - text-align: center; -} - -.caption -{ - font-weight: bold; -} - -div.zoom -{ - border: 1px solid #90A5CE; -} - -dl.citelist { - margin-bottom:50px; -} - -dl.citelist dt { - color:#334975; - float:left; - font-weight:bold; - margin-right:10px; - padding:5px; -} - -dl.citelist dd { - margin:2px 0; - padding:5px 0; -} - -div.toc { - padding: 14px 25px; - background-color: #F4F6FA; - border: 1px solid #D8DFEE; - border-radius: 7px 7px 7px 7px; - float: right; - height: auto; - margin: 0 20px 10px 10px; - width: 200px; -} - -div.toc li { - background: url("bdwn.png") no-repeat scroll 0 5px transparent; - font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif; - margin-top: 5px; - padding-left: 10px; - padding-top: 2px; -} - -div.toc h3 { - font: bold 12px/1.2 Arial,FreeSans,sans-serif; - color: #4665A2; - border-bottom: 0 none; - margin: 0; -} - -div.toc ul { - list-style: none outside none; - border: medium none; - padding: 0px; -} - -div.toc li.level1 { - margin-left: 0px; -} - -div.toc li.level2 { - margin-left: 15px; -} - -div.toc li.level3 { - margin-left: 30px; -} - -div.toc li.level4 { - margin-left: 45px; -} - -.inherit_header { - font-weight: bold; - color: gray; - cursor: pointer; - -webkit-touch-callout: none; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} - -.inherit_header td { - padding: 6px 0px 2px 5px; -} - -.inherit { - display: none; -} - -tr.heading h2 { - margin-top: 12px; - margin-bottom: 4px; -} - -@media print -{ - #top { display: none; } - #side-nav { display: none; } - #nav-path { display: none; } - body { overflow:visible; } - h1, h2, h3, h4, h5, h6 { page-break-after: avoid; } - .summary { display: none; } - .memitem { page-break-inside: avoid; } - #doc-content - { - margin-left:0 !important; - height:auto !important; - width:auto !important; - overflow:inherit; - display:inline; - } -} - diff --git a/source/modules/rtaudio/doc/html/doxygen.png b/source/modules/rtaudio/doc/html/doxygen.png deleted file mode 100644 index 3ff17d807fd8aa003bed8bb2a69e8f0909592fd1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3779 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 diff --git a/source/modules/rtaudio/doc/html/duplex.html b/source/modules/rtaudio/doc/html/duplex.html deleted file mode 100644 index d397a8d34..000000000 --- a/source/modules/rtaudio/doc/html/duplex.html +++ /dev/null @@ -1,91 +0,0 @@ - - -The RtAudio Home Page - - - - -
-Home   Class/Enum List   File List   Compound Members  
-
- - -
-
-
Duplex Mode
-
-
-

Finally, it is easy to use RtAudio for simultaneous audio input/output, or duplex operation. In this example, we simply pass the input data back to the output.

-
#include "RtAudio.h"
-
#include <iostream>
-
#include <cstdlib>
-
#include <cstring>
-
-
// Pass-through function.
-
int inout( void *outputBuffer, void *inputBuffer, unsigned int nBufferFrames,
-
double streamTime, RtAudioStreamStatus status, void *data )
-
{
-
// Since the number of input and output channels is equal, we can do
-
// a simple buffer copy operation here.
-
if ( status ) std::cout << "Stream over/underflow detected." << std::endl;
-
-
unsigned long *bytes = (unsigned long *) data;
-
memcpy( outputBuffer, inputBuffer, *bytes );
-
return 0;
-
}
-
-
int main()
-
{
-
RtAudio adac;
-
if ( adac.getDeviceCount() < 1 ) {
-
std::cout << "\nNo audio devices found!\n";
-
exit( 0 );
-
}
-
-
// Set the same number of channels for both input and output.
-
unsigned int bufferBytes, bufferFrames = 512;
-
RtAudio::StreamParameters iParams, oParams;
-
iParams.deviceId = 0; // first available device
-
iParams.nChannels = 2;
-
oParams.deviceId = 0; // first available device
-
oParams.nChannels = 2;
-
-
try {
-
adac.openStream( &oParams, &iParams, RTAUDIO_SINT32, 44100, &bufferFrames, &inout, (void *)&bufferBytes );
-
}
-
catch ( RtError& e ) {
- -
exit( 0 );
-
}
-
-
bufferBytes = bufferFrames * 2 * 4;
-
-
try {
-
adac.startStream();
-
-
char input;
-
std::cout << "\nRunning ... press <enter> to quit.\n";
-
std::cin.get(input);
-
-
// Stop the stream.
-
adac.stopStream();
-
}
-
catch ( RtError& e ) {
- -
goto cleanup;
-
}
-
-
cleanup:
-
if ( adac.isStreamOpen() ) adac.closeStream();
-
-
return 0;
-
}
-

In this example, audio recorded by the stream input will be played out during the next round of audio processing.

-

Note that a duplex stream can make use of two different devices (except when using the Linux Jack and Windows ASIO APIs). However, this may cause timing problems due to possible device clock variations, unless a common external "sync" is provided.

-
-
- - -
©2001-2013 Gary P. Scavone, McGill University. All Rights Reserved.
Maintained by Gary P. Scavone.
- - diff --git a/source/modules/rtaudio/doc/html/errors.html b/source/modules/rtaudio/doc/html/errors.html deleted file mode 100644 index 3c054330c..000000000 --- a/source/modules/rtaudio/doc/html/errors.html +++ /dev/null @@ -1,25 +0,0 @@ - - -The RtAudio Home Page - - - - -
-Home   Class/Enum List   File List   Compound Members  
-
- - -
-
-
Error Handling
-
-
-

RtAudio makes restrained use of C++ exceptions. That is, exceptions are thrown only when system errors occur that prevent further class operation or when the user makes invalid function calls. In other cases, a warning message may be displayed and an appropriate value is returned. For example, if a system error occurs when processing the RtAudio::getDeviceCount() function, the return value is zero. In such a case, the user cannot expect to make use of most other RtAudio functions because no devices are available (and thus a stream cannot be opened). A client can call the function RtAudio::showWarnings() with a boolean argument to enable or disable the printing of warning messages to stderr. By default, warning messages are displayed. There is a protected RtAudio method, error(), that can be modified to globally control how these messages are handled and reported.

-
-
- - -
©2001-2013 Gary P. Scavone, McGill University. All Rights Reserved.
Maintained by Gary P. Scavone.
- - diff --git a/source/modules/rtaudio/doc/html/files.html b/source/modules/rtaudio/doc/html/files.html deleted file mode 100644 index a173fa676..000000000 --- a/source/modules/rtaudio/doc/html/files.html +++ /dev/null @@ -1,30 +0,0 @@ - - -The RtAudio Home Page - - - - -
-Home   Class/Enum List   File List   Compound Members  
-
- - -
-
-
File List
-
-
-
Here is a list of all documented files with brief descriptions:
- - - -
o*RtAudio.h
\*RtError.h
-
-
-
- - -
©2001-2013 Gary P. Scavone, McGill University. All Rights Reserved.
Maintained by Gary P. Scavone.
- - diff --git a/source/modules/rtaudio/doc/html/functions.html b/source/modules/rtaudio/doc/html/functions.html deleted file mode 100644 index 020228ff8..000000000 --- a/source/modules/rtaudio/doc/html/functions.html +++ /dev/null @@ -1,278 +0,0 @@ - - -The RtAudio Home Page - - - - -
-Home   Class/Enum List   File List   Compound Members  
-
- - -
-
Here is a list of all documented class members with links to the class documentation for each member:
- -

- a -

- - -

- c -

- - -

- d -

- - -

- f -

- - -

- g -

- - -

- i -

- - -

- l -

- - -

- m -

- - -

- n -

- - -

- o -

- - -

- p -

- - -

- r -

- - -

- s -

- - -

- t -

- - -

- u -

- - -

- w -

- - -

- ~ -

-
-
- - -
©2001-2013 Gary P. Scavone, McGill University. All Rights Reserved.
Maintained by Gary P. Scavone.
- - diff --git a/source/modules/rtaudio/doc/html/functions_enum.html b/source/modules/rtaudio/doc/html/functions_enum.html deleted file mode 100644 index 005cda175..000000000 --- a/source/modules/rtaudio/doc/html/functions_enum.html +++ /dev/null @@ -1,28 +0,0 @@ - - -The RtAudio Home Page - - - - -
-Home   Class/Enum List   File List   Compound Members  
-
- - -
-
-
- - -
©2001-2013 Gary P. Scavone, McGill University. All Rights Reserved.
Maintained by Gary P. Scavone.
- - diff --git a/source/modules/rtaudio/doc/html/functions_eval.html b/source/modules/rtaudio/doc/html/functions_eval.html deleted file mode 100644 index d2bf5502d..000000000 --- a/source/modules/rtaudio/doc/html/functions_eval.html +++ /dev/null @@ -1,80 +0,0 @@ - - -The RtAudio Home Page - - - - -
-Home   Class/Enum List   File List   Compound Members  
-
- - -
-
-
- - -
©2001-2013 Gary P. Scavone, McGill University. All Rights Reserved.
Maintained by Gary P. Scavone.
- - diff --git a/source/modules/rtaudio/doc/html/functions_func.html b/source/modules/rtaudio/doc/html/functions_func.html deleted file mode 100644 index 6bea4cefa..000000000 --- a/source/modules/rtaudio/doc/html/functions_func.html +++ /dev/null @@ -1,100 +0,0 @@ - - -The RtAudio Home Page - - - - -
-Home   Class/Enum List   File List   Compound Members  
-
- - -
-
-
- - -
©2001-2013 Gary P. Scavone, McGill University. All Rights Reserved.
Maintained by Gary P. Scavone.
- - diff --git a/source/modules/rtaudio/doc/html/functions_vars.html b/source/modules/rtaudio/doc/html/functions_vars.html deleted file mode 100644 index 2619b2aa4..000000000 --- a/source/modules/rtaudio/doc/html/functions_vars.html +++ /dev/null @@ -1,70 +0,0 @@ - - -The RtAudio Home Page - - - - -
-Home   Class/Enum List   File List   Compound Members  
-
- - -
-
-
- - -
©2001-2013 Gary P. Scavone, McGill University. All Rights Reserved.
Maintained by Gary P. Scavone.
- - diff --git a/source/modules/rtaudio/doc/html/globals.html b/source/modules/rtaudio/doc/html/globals.html deleted file mode 100644 index c7e4a6469..000000000 --- a/source/modules/rtaudio/doc/html/globals.html +++ /dev/null @@ -1,37 +0,0 @@ - - -The RtAudio Home Page - - - - -
-Home   Class/Enum List   File List   Compound Members  
-
- - -
-
Here is a list of all documented file members with links to the documentation:
-
-
- - -
©2001-2013 Gary P. Scavone, McGill University. All Rights Reserved.
Maintained by Gary P. Scavone.
- - diff --git a/source/modules/rtaudio/doc/html/globals_enum.html b/source/modules/rtaudio/doc/html/globals_enum.html deleted file mode 100644 index 340698c44..000000000 --- a/source/modules/rtaudio/doc/html/globals_enum.html +++ /dev/null @@ -1,25 +0,0 @@ - - -The RtAudio Tutorial - - - - -
-Tutorial   Class/Enum List   File List   Compound Members  
-
- - - -

-

-
- - - -
©2001-2006 Gary P. Scavone, McGill University. All Rights Reserved.
Maintained by Gary P. Scavone.
- - - diff --git a/source/modules/rtaudio/doc/html/globals_eval.html b/source/modules/rtaudio/doc/html/globals_eval.html deleted file mode 100644 index 94d360bd9..000000000 --- a/source/modules/rtaudio/doc/html/globals_eval.html +++ /dev/null @@ -1,33 +0,0 @@ - - -The RtAudio Tutorial - - - - -
-Tutorial   Class/Enum List   File List   Compound Members  
-
- - - -

-

-
- - - -
©2001-2006 Gary P. Scavone, McGill University. All Rights Reserved.
Maintained by Gary P. Scavone.
- - - diff --git a/source/modules/rtaudio/doc/html/globals_type.html b/source/modules/rtaudio/doc/html/globals_type.html deleted file mode 100644 index f0b451ea7..000000000 --- a/source/modules/rtaudio/doc/html/globals_type.html +++ /dev/null @@ -1,37 +0,0 @@ - - -The RtAudio Home Page - - - - -
-Home   Class/Enum List   File List   Compound Members  
-
- - -
-
-
- - -
©2001-2013 Gary P. Scavone, McGill University. All Rights Reserved.
Maintained by Gary P. Scavone.
- - diff --git a/source/modules/rtaudio/doc/html/index.html b/source/modules/rtaudio/doc/html/index.html deleted file mode 100644 index e1c5ef48f..000000000 --- a/source/modules/rtaudio/doc/html/index.html +++ /dev/null @@ -1,78 +0,0 @@ - - -The RtAudio Home Page - - - - -
-Home   Class/Enum List   File List   Compound Members  
-
- - -
-
-
The RtAudio Home Page
-
-
-

RtAudio is a set of C++ classes that provide a common API (Application Programming Interface) for realtime audio input/output across Linux, Macintosh OS-X and Windows operating systems. RtAudio significantly simplifies the process of interacting with computer audio hardware. It was designed with the following objectives:

-
    -
  • -object-oriented C++ design
  • -
  • -simple, common API across all supported platforms
  • -
  • -only one source and two header files for easy inclusion in programming projects
  • -
  • -allow simultaneous multi-api support
  • -
  • -support dynamic connection of devices
  • -
  • -provide extensive audio device parameter control
  • -
  • -allow audio device capability probing
  • -
  • -automatic internal conversion for data format, channel number compensation, (de)interleaving, and byte-swapping
  • -
-

RtAudio incorporates the concept of audio streams, which represent audio output (playback) and/or input (recording). Available audio devices and their capabilities can be enumerated and then specified when opening a stream. Where applicable, multiple API support can be compiled and a particular API specified when creating an RtAudio instance. See the API Notes section for information specific to each of the supported audio APIs.

-

-Latest Updates (Version 4.0.12)

-
    -
  • new functionality to allow error reporting via a client-supplied function (thanks to Pavel Mogilevskiy)
  • -
  • new function to return the version number
  • -
  • updated RtAudio.cpp and ASIO files for UNICODE support (thanks to Renaud Schoonbroodt)
  • -
  • updates to PulseAudio API support (thanks to Peter Meerwald and Tristan Matthews)
  • -
  • updates for pkg-config support in configure script
  • -
  • 24-bit format changed to true 24-bit format, not sub-bytes of 32-bits (thanks to Marc Britton)
  • -
  • bug fixes to make sure stream status is closed if error during probeDeviceOpen
  • -
  • updates / fixes to SCHED_RR code in ALSA (thanks to Marc Lindahl)
  • -
  • various changes to avoid global variables (thanks to Martin Koegler)
  • -
-

-Download

-

Latest Release (16 April 2013): Version 4.0.12

-

-Documentation Links

-
    -
  1. Error Handling
  2. -
  3. Probing Device Capabilities
  4. -
  5. Device Settings
  6. -
  7. Playback
  8. -
  9. Recording
  10. -
  11. Duplex Mode
  12. -
  13. Using Simultaneous Multiple APIs
  14. -
  15. Debugging & Compiling
  16. -
  17. API Notes
  18. -
  19. Acknowledgements
  20. -
  21. License
  22. -
  23. Bug Tracker
  24. -
  25. Possible Updates
  26. -
  27. RtAudio at SourceForge
  28. -
-
-
- - -
©2001-2013 Gary P. Scavone, McGill University. All Rights Reserved.
Maintained by Gary P. Scavone.
- - diff --git a/source/modules/rtaudio/doc/html/license.html b/source/modules/rtaudio/doc/html/license.html deleted file mode 100644 index e07b31637..000000000 --- a/source/modules/rtaudio/doc/html/license.html +++ /dev/null @@ -1,30 +0,0 @@ - - -The RtAudio Home Page - - - - -
-Home   Class/Enum List   File List   Compound Members  
-
- - -
-
-
License
-
-
-

RtAudio: a set of realtime audio i/o C++ classes
- Copyright (c) 2001-2012 Gary P. Scavone

-

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

-

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

-

Any person wishing to distribute modifications to the Software is asked to send the modifications to the original developer so that they can be incorporated into the canonical version. This is, however, not a binding provision of this license.

-

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-
-
- - -
©2001-2013 Gary P. Scavone, McGill University. All Rights Reserved.
Maintained by Gary P. Scavone.
- - diff --git a/source/modules/rtaudio/doc/html/multi.html b/source/modules/rtaudio/doc/html/multi.html deleted file mode 100644 index 19c166f8b..000000000 --- a/source/modules/rtaudio/doc/html/multi.html +++ /dev/null @@ -1,26 +0,0 @@ - - -The RtAudio Home Page - - - - -
-Home   Class/Enum List   File List   Compound Members  
-
- - -
-
-
Using Simultaneous Multiple APIs
-
-
-

Because support for each audio API is encapsulated in a specific RtApi subclass, it is possible to compile and instantiate multiple API-specific subclasses on a given operating system. For example, one can compile both the RtApiDs and RtApiAsio classes on Windows operating systems by providing the appropriate preprocessor definitions, include files, and libraries for each. In a run-time situation, one might first attempt to determine whether any ASIO device drivers exist. This can be done by specifying the api argument RtAudio::WINDOWS_ASIO when attempting to create an instance of RtAudio. If no available devices are found, then an instance of RtAudio with the api argument RtAudio::WINDOWS_DS can be created. Alternately, if no api argument is specified, RtAudio will first look for an ASIO instance and then a DirectSound instance (on Linux systems, the default API search order is Jack, Alsa, and finally OSS). In theory, it should also be possible to have separate instances of RtAudio open at the same time with different underlying audio API support, though this has not been tested. It is difficult to know how well different audio APIs can simultaneously coexist on a given operating system. In particular, it is unlikely that the same device could be simultaneously controlled with two different audio APIs.

-

The static function RtAudio::getCompiledApi() is provided to determine the available compiled API support. The function RtAudio::getCurrentApi() indicates the API selected for a given RtAudio instance.

-
-
- - -
©2001-2013 Gary P. Scavone, McGill University. All Rights Reserved.
Maintained by Gary P. Scavone.
- - diff --git a/source/modules/rtaudio/doc/html/pages.html b/source/modules/rtaudio/doc/html/pages.html deleted file mode 100644 index 116a070d3..000000000 --- a/source/modules/rtaudio/doc/html/pages.html +++ /dev/null @@ -1,39 +0,0 @@ - - -The RtAudio Home Page - - - - -
-Home   Class/Enum List   File List   Compound Members  
-
- - -
-
-
Related Pages
-
- -
- - -
©2001-2013 Gary P. Scavone, McGill University. All Rights Reserved.
Maintained by Gary P. Scavone.
- - diff --git a/source/modules/rtaudio/doc/html/playback.html b/source/modules/rtaudio/doc/html/playback.html deleted file mode 100644 index 1364fa565..000000000 --- a/source/modules/rtaudio/doc/html/playback.html +++ /dev/null @@ -1,97 +0,0 @@ - - -The RtAudio Home Page - - - - -
-Home   Class/Enum List   File List   Compound Members  
-
- - -
-
-
Playback
-
-
-

In this example, we provide a complete program that demonstrates the use of RtAudio for audio playback. Our program produces a two-channel sawtooth waveform for output.

-
#include "RtAudio.h"
-
#include <iostream>
-
#include <cstdlib>
-
-
// Two-channel sawtooth wave generator.
-
int saw( void *outputBuffer, void *inputBuffer, unsigned int nBufferFrames,
-
double streamTime, RtAudioStreamStatus status, void *userData )
-
{
-
unsigned int i, j;
-
double *buffer = (double *) outputBuffer;
-
double *lastValues = (double *) userData;
-
-
if ( status )
-
std::cout << "Stream underflow detected!" << std::endl;
-
-
// Write interleaved audio data.
-
for ( i=0; i<nBufferFrames; i++ ) {
-
for ( j=0; j<2; j++ ) {
-
*buffer++ = lastValues[j];
-
-
lastValues[j] += 0.005 * (j+1+(j*0.1));
-
if ( lastValues[j] >= 1.0 ) lastValues[j] -= 2.0;
-
}
-
}
-
-
return 0;
-
}
-
-
int main()
-
{
-
RtAudio dac;
-
if ( dac.getDeviceCount() < 1 ) {
-
std::cout << "\nNo audio devices found!\n";
-
exit( 0 );
-
}
-
- -
parameters.deviceId = dac.getDefaultOutputDevice();
-
parameters.nChannels = 2;
-
parameters.firstChannel = 0;
-
unsigned int sampleRate = 44100;
-
unsigned int bufferFrames = 256; // 256 sample frames
-
double data[2];
-
-
try {
-
dac.openStream( &parameters, NULL, RTAUDIO_FLOAT64,
-
sampleRate, &bufferFrames, &saw, (void *)&data );
-
dac.startStream();
-
}
-
catch ( RtError& e ) {
- -
exit( 0 );
-
}
-
-
char input;
-
std::cout << "\nPlaying ... press <enter> to quit.\n";
-
std::cin.get( input );
-
-
try {
-
// Stop the stream
-
dac.stopStream();
-
}
-
catch (RtError& e) {
- -
}
-
-
if ( dac.isStreamOpen() ) dac.closeStream();
-
-
return 0;
-
}
-

We open the stream in exactly the same way as the previous example (except with a data format change) and specify the address of our callback function "saw()". The callback function will automatically be invoked when the underlying audio system needs data for output. Note that the callback function is called only when the stream is "running" (between calls to the RtAudio::startStream() and RtAudio::stopStream() functions). We can also pass a pointer value to the RtAudio::openStream() function that is made available in the callback function. In this way, it is possible to gain access to arbitrary data created in our main() function from within the globally defined callback function.

-

In this example, we stop the stream with an explicit call to RtAudio::stopStream(). It is also possible to stop a stream by returning a non-zero value from the callback function. A return value of 1 will cause the stream to finish draining its internal buffers and then halt (equivalent to calling the RtAudio::stopStream() function). A return value of 2 will cause the stream to stop immediately (equivalent to calling the RtAudio::abortStream() function).

-
-
- - -
©2001-2013 Gary P. Scavone, McGill University. All Rights Reserved.
Maintained by Gary P. Scavone.
- - diff --git a/source/modules/rtaudio/doc/html/probe.html b/source/modules/rtaudio/doc/html/probe.html deleted file mode 100644 index 69fd84c60..000000000 --- a/source/modules/rtaudio/doc/html/probe.html +++ /dev/null @@ -1,75 +0,0 @@ - - -The RtAudio Home Page - - - - -
-Home   Class/Enum List   File List   Compound Members  
-
- - -
-
-
Probing Device Capabilities
-
-
-

A programmer may wish to query the available audio device capabilities before deciding which to use. The following example outlines how this can be done.

-
// audioprobe.cpp
-
-
#include <iostream>
-
#include "RtAudio.h"
-
-
int main()
-
{
-
RtAudio audio;
-
-
// Determine the number of devices available
-
unsigned int devices = audio.getDeviceCount();
-
-
// Scan through devices for various capabilities
- -
for ( unsigned int i=0; i<=devices; i++ ) {
-
-
info = audio.getDeviceInfo( i );
-
-
if ( info.probed == true ) {
-
// Print, for example, the maximum number of output channels for each device
-
std::cout << "device = " << i;
-
std::cout << ": maximum output channels = " << info.outputChannels << "\n";
-
}
-
}
-
-
return 0;
-
}
-

The RtAudio::DeviceInfo structure is defined in RtAudio.h and provides a variety of information useful in assessing the capabilities of a device:

-
typedef struct RtAudio::DeviceInfo {
-
bool probed; // true if the device capabilities were successfully probed.
-
std::string name; // Character string device identifier.
-
unsigned int outputChannels; // Maximum output channels supported by device.
-
unsigned int inputChannels; // Maximum input channels supported by device.
-
unsigned int duplexChannels; // Maximum simultaneous input/output channels supported by device.
-
bool isDefaultOutput; // true if this is the default output device.
-
bool isDefaultInput; // true if this is the default input device.
-
std::vector<unsigned int> sampleRates; // Supported sample rates.
-
RtAudioFormat nativeFormats; // Bit mask of supported data formats.
-
};
-

The following data formats are defined and fully supported by RtAudio:

-
typedef unsigned long RtAudioFormat;
-
static const RtAudioFormat RTAUDIO_SINT8; // Signed 8-bit integer
-
static const RtAudioFormat RTAUDIO_SINT16; // Signed 16-bit integer
-
static const RtAudioFormat RTAUDIO_SINT24; // Signed 24-bit integer (lower 3 bytes of 32-bit signed integer.)
-
static const RtAudioFormat RTAUDIO_SINT32; // Signed 32-bit integer
-
static const RtAudioFormat RTAUDIO_FLOAT32; // 32-bit float normalized between +/- 1.0
-
static const RtAudioFormat RTAUDIO_FLOAT64; // 64-bit double normalized between +/- 1.0
-

The nativeFormats member of the RtAudio::DeviceInfo structure is a bit mask of the above formats which are natively supported by the device. However, RtAudio will automatically provide format conversion if a particular format is not natively supported. When the probed member of the RtAudio::DeviceInfo structure is false, the remaining structure members are undefined and the device is probably unusable.

-

Some audio devices may require a minimum channel value greater than one. RtAudio will provide automatic channel number compensation when the number of channels set by the user is less than that required by the device. Channel compensation is NOT possible when the number of channels set by the user is greater than that supported by the device.

-

It should be noted that the capabilities reported by a device driver or underlying audio API are not always accurate and/or may be dependent on a combination of device settings. For this reason, RtAudio does not rely on the queried values when attempting to open a stream.

-
-
- - -
©2001-2013 Gary P. Scavone, McGill University. All Rights Reserved.
Maintained by Gary P. Scavone.
- - diff --git a/source/modules/rtaudio/doc/html/recording.html b/source/modules/rtaudio/doc/html/recording.html deleted file mode 100644 index 2acb1e638..000000000 --- a/source/modules/rtaudio/doc/html/recording.html +++ /dev/null @@ -1,83 +0,0 @@ - - -The RtAudio Home Page - - - - -
-Home   Class/Enum List   File List   Compound Members  
-
- - -
-
-
Recording
-
-
-

Using RtAudio for audio input is almost identical to the way it is used for playback. Here's the blocking playback example rewritten for recording:

-
#include "RtAudio.h"
-
#include <iostream>
-
#include <cstdlib>
-
#include <cstring>
-
-
int record( void *outputBuffer, void *inputBuffer, unsigned int nBufferFrames,
-
double streamTime, RtAudioStreamStatus status, void *userData )
-
{
-
if ( status )
-
std::cout << "Stream overflow detected!" << std::endl;
-
-
// Do something with the data in the "inputBuffer" buffer.
-
-
return 0;
-
}
-
-
int main()
-
{
-
RtAudio adc;
-
if ( adc.getDeviceCount() < 1 ) {
-
std::cout << "\nNo audio devices found!\n";
-
exit( 0 );
-
}
-
- -
parameters.deviceId = adc.getDefaultInputDevice();
-
parameters.nChannels = 2;
-
parameters.firstChannel = 0;
-
unsigned int sampleRate = 44100;
-
unsigned int bufferFrames = 256; // 256 sample frames
-
-
try {
-
adc.openStream( NULL, &parameters, RTAUDIO_SINT16,
-
sampleRate, &bufferFrames, &record );
-
adc.startStream();
-
}
-
catch ( RtError& e ) {
- -
exit( 0 );
-
}
-
-
char input;
-
std::cout << "\nRecording ... press <enter> to quit.\n";
-
std::cin.get( input );
-
-
try {
-
// Stop the stream
-
adc.stopStream();
-
}
-
catch (RtError& e) {
- -
}
-
-
if ( adc.isStreamOpen() ) adc.closeStream();
-
-
return 0;
-
}
-

In this example, we pass the address of the stream parameter structure as the second argument of the RtAudio::openStream() function and pass a NULL value for the output stream parameters. In this example, the record() callback function performs no specific operations.

-
-
- - -
©2001-2013 Gary P. Scavone, McGill University. All Rights Reserved.
Maintained by Gary P. Scavone.
- - diff --git a/source/modules/rtaudio/doc/html/settings.html b/source/modules/rtaudio/doc/html/settings.html deleted file mode 100644 index 2812cffdb..000000000 --- a/source/modules/rtaudio/doc/html/settings.html +++ /dev/null @@ -1,58 +0,0 @@ - - -The RtAudio Home Page - - - - -
-Home   Class/Enum List   File List   Compound Members  
-
- - -
-
-
Device Settings
-
-
-

The next step in using RtAudio is to open a stream with particular device and parameter settings.

-
#include "RtAudio.h"
-
-
int main()
-
{
-
RtAudio dac;
-
if ( dac.getDeviceCount() == 0 ) exit( 0 );
-
- -
parameters.deviceId = dac.getDefaultOutputDevice();
-
parameters.nChannels = 2;
-
unsigned int sampleRate = 44100;
-
unsigned int bufferFrames = 256; // 256 sample frames
-
- -
options.flags = RTAUDIO_NONINTERLEAVED;
-
-
try {
-
dac.openStream( &parameters, NULL, RTAUDIO_FLOAT32,
-
sampleRate, &bufferFrames, &myCallback, NULL, &options );
-
}
-
catch ( RtError& e ) {
-
std::cout << '\n' << e.getMessage() << '\n' << std::endl;
-
exit( 0 );
-
}
-
-
return 0;
-
}
-

The RtAudio::openStream() function attempts to open a stream with a specified set of parameter values. In the above example, we attempt to open a two channel playback stream using the default output device, 32-bit floating point data, a sample rate of 44100 Hz, and a frame rate of 256 sample frames per output buffer. If the user specifies an invalid parameter value (such as a device id greater than or equal to the number of enumerated devices), an RtError is thrown of type = INVALID_USE. If a system error occurs or the device does not support the specified parameter values, an RtError of type = SYSTEM_ERROR is thrown. In either case, a descriptive error message is bundled with the exception and can be queried with the RtError::getMessage() or RtError::what() functions.

-

RtAudio provides four signed integer and two floating point data formats which can be specified using the RtAudioFormat parameter values mentioned earlier. If the opened device does not natively support the given format, RtAudio will automatically perform the necessary data format conversion.

-

The bufferFrames parameter specifies the desired number of sample frames that will be written to and/or read from a device per write/read operation. This parameter can be used to control stream latency though there is no guarantee that the passed value will be that used by a device. In general, a lower bufferFrames value will produce less latency but perhaps less robust performance. A value of zero can be specified, in which case the smallest allowable value will be used. The bufferFrames parameter is passed as a pointer and the actual value used by the stream is set during the device setup procedure. bufferFrames values should be a power of two. Optimal and allowable buffer values tend to vary between systems and devices. Stream latency can also be controlled via the optional RtAudio::StreamOptions member numberOfBuffers (not used in the example above), though this tends to be more system dependent. In particular, the numberOfBuffers parameter is ignored when using the OS-X Core Audio, Jack, and the Windows ASIO APIs.

-

As noted earlier, the device capabilities reported by a driver or underlying audio API are not always accurate and/or may be dependent on a combination of device settings. Because of this, RtAudio does not attempt to query a device's capabilities or use previously reported values when opening a device. Instead, RtAudio simply attempts to set the given parameters on a specified device and then checks whether the setup is successful or not.

-

The RtAudioCallback parameter above is a pointer to a user-defined function that will be called whenever the audio system is ready for new output data or has new input data to be read. Further details on the use of a callback function are provided in the next section.

-

Several stream options are available to fine-tune the behavior of an audio stream. In the example above, we specify that data will be written by the user in a non-interleaved format via the RtAudio::StreamOptions member flags. That is, all bufferFrames of the first channel should be written consecutively, followed by all bufferFrames of the second channel. By default (when no option is specified), RtAudio expects data to be written in an interleaved format.

-
-
- - -
©2001-2013 Gary P. Scavone, McGill University. All Rights Reserved.
Maintained by Gary P. Scavone.
- - diff --git a/source/modules/rtaudio/doc/html/structRtAudioDeviceInfo-members.html b/source/modules/rtaudio/doc/html/structRtAudioDeviceInfo-members.html deleted file mode 100644 index 68a0841f0..000000000 --- a/source/modules/rtaudio/doc/html/structRtAudioDeviceInfo-members.html +++ /dev/null @@ -1,29 +0,0 @@ - - -The RtAudio Tutorial - - - - -
-Tutorial   Class/Enum List   File List   Compound Members  
-
- -

RtAudioDeviceInfo Member List

This is the complete list of members for RtAudioDeviceInfo, including all inherited members.

- - - - - - - - - -
duplexChannelsRtAudioDeviceInfo
inputChannelsRtAudioDeviceInfo
isDefaultInputRtAudioDeviceInfo
isDefaultOutputRtAudioDeviceInfo
nameRtAudioDeviceInfo
nativeFormatsRtAudioDeviceInfo
outputChannelsRtAudioDeviceInfo
probedRtAudioDeviceInfo
sampleRatesRtAudioDeviceInfo


- - - -
©2001-2006 Gary P. Scavone, McGill University. All Rights Reserved.
Maintained by Gary P. Scavone.
- - - diff --git a/source/modules/rtaudio/doc/html/structRtAudioDeviceInfo.html b/source/modules/rtaudio/doc/html/structRtAudioDeviceInfo.html deleted file mode 100644 index c67fbea2c..000000000 --- a/source/modules/rtaudio/doc/html/structRtAudioDeviceInfo.html +++ /dev/null @@ -1,259 +0,0 @@ - - -The RtAudio Tutorial - - - - -
-Tutorial   Class/Enum List   File List   Compound Members  
-
- -

RtAudioDeviceInfo Struct Reference

The public device information structure for returning queried values. -More... -

-#include <RtAudio.h> -

-List of all members. - - - - - - - - - - - - - - - - - - - - -

Public Attributes

std::string name
bool probed
int outputChannels
int inputChannels
int duplexChannels
bool isDefaultOutput
bool isDefaultInput
std::vector< int > sampleRates
RtAudioFormat nativeFormats
-


Detailed Description

-The public device information structure for returning queried values. -

-


Member Data Documentation

-

- - - - -
- - - - -
std::string RtAudioDeviceInfo::name
-
- - - - - -
-   - - -

-Character string device identifier.

-

- - - - -
- - - - -
bool RtAudioDeviceInfo::probed
-
- - - - - -
-   - - -

-true if the device capabilities were successfully probed.

-

- - - - -
- - - - -
int RtAudioDeviceInfo::outputChannels
-
- - - - - -
-   - - -

-Maximum output channels supported by device.

-

- - - - -
- - - - -
int RtAudioDeviceInfo::inputChannels
-
- - - - - -
-   - - -

-Maximum input channels supported by device.

-

- - - - -
- - - - -
int RtAudioDeviceInfo::duplexChannels
-
- - - - - -
-   - - -

-Maximum simultaneous input/output channels supported by device.

-

- - - - -
- - - - -
bool RtAudioDeviceInfo::isDefaultOutput
-
- - - - - -
-   - - -

-true if this is the default output device.

-

- - - - -
- - - - -
bool RtAudioDeviceInfo::isDefaultInput
-
- - - - - -
-   - - -

-true if this is the default input device.

-

- - - - -
- - - - -
std::vector<int> RtAudioDeviceInfo::sampleRates
-
- - - - - -
-   - - -

-Supported sample rates (queried from list of standard rates).

-

- - - - -
- - - - -
RtAudioFormat RtAudioDeviceInfo::nativeFormats
-
- - - - - -
-   - - -

-Bit mask of supported data formats.

-


The documentation for this struct was generated from the following file: -
- - - -
©2001-2006 Gary P. Scavone, McGill University. All Rights Reserved.
Maintained by Gary P. Scavone.
- - - diff --git a/source/modules/rtaudio/doc/html/structRtAudioStreamParameters-members.html b/source/modules/rtaudio/doc/html/structRtAudioStreamParameters-members.html deleted file mode 100644 index bf46aed88..000000000 --- a/source/modules/rtaudio/doc/html/structRtAudioStreamParameters-members.html +++ /dev/null @@ -1,23 +0,0 @@ - - -The RtAudio Tutorial - - - - -
-Tutorial   Class/Enum List   File List   Compound Members  
-
- -

RtAudioStreamParameters Member List

This is the complete list of members for RtAudioStreamParameters, including all inherited members.

- - - -
deviceIdRtAudioStreamParameters
firstChannelRtAudioStreamParameters
nChannelsRtAudioStreamParameters


- - - -
©2001-2006 Gary P. Scavone, McGill University. All Rights Reserved.
Maintained by Gary P. Scavone.
- - - diff --git a/source/modules/rtaudio/doc/html/structRtAudioStreamParameters.html b/source/modules/rtaudio/doc/html/structRtAudioStreamParameters.html deleted file mode 100644 index a61cf7b6d..000000000 --- a/source/modules/rtaudio/doc/html/structRtAudioStreamParameters.html +++ /dev/null @@ -1,109 +0,0 @@ - - -The RtAudio Tutorial - - - - -
-Tutorial   Class/Enum List   File List   Compound Members  
-
- -

RtAudioStreamParameters Struct Reference

The structure for specifying input or ouput stream parameters. -More... -

-#include <RtAudio.h> -

-List of all members. - - - - - - - - -

Public Attributes

int deviceId
int nChannels
int firstChannel
-


Detailed Description

-The structure for specifying input or ouput stream parameters. -

-


Member Data Documentation

-

- - - - -
- - - - -
int RtAudioStreamParameters::deviceId
-
- - - - - -
-   - - -

-Device index (0 to getDeviceCount() - 1).

-

- - - - -
- - - - -
int RtAudioStreamParameters::nChannels
-
- - - - - -
-   - - -

-Number of channels.

-

- - - - -
- - - - -
int RtAudioStreamParameters::firstChannel
-
- - - - - -
-   - - -

-First channel index on device (default = 0).

-


The documentation for this struct was generated from the following file: -
- - - -
©2001-2006 Gary P. Scavone, McGill University. All Rights Reserved.
Maintained by Gary P. Scavone.
- - - diff --git a/source/modules/rtaudio/doc/html/structRtAudio_1_1DeviceInfo-members.html b/source/modules/rtaudio/doc/html/structRtAudio_1_1DeviceInfo-members.html deleted file mode 100644 index 936ad4fce..000000000 --- a/source/modules/rtaudio/doc/html/structRtAudio_1_1DeviceInfo-members.html +++ /dev/null @@ -1,40 +0,0 @@ - - -The RtAudio Home Page - - - - -
-Home   Class/Enum List   File List   Compound Members  
-
- - - -
-
-
RtAudio::DeviceInfo Member List
-
- -
- - -
©2001-2013 Gary P. Scavone, McGill University. All Rights Reserved.
Maintained by Gary P. Scavone.
- - diff --git a/source/modules/rtaudio/doc/html/structRtAudio_1_1DeviceInfo.html b/source/modules/rtaudio/doc/html/structRtAudio_1_1DeviceInfo.html deleted file mode 100644 index a95b6ec50..000000000 --- a/source/modules/rtaudio/doc/html/structRtAudio_1_1DeviceInfo.html +++ /dev/null @@ -1,181 +0,0 @@ - - -The RtAudio Home Page - - - - -
-Home   Class/Enum List   File List   Compound Members  
-
- - - -
- -
-
RtAudio::DeviceInfo Struct Reference
-
-
- -

The public device information structure for returning queried values. - More...

- -

#include <RtAudio.h>

- - - - - - - - - - - - - - - - - - - - -

-Public Attributes

bool probed
 
std::string name
 
unsigned int outputChannels
 
unsigned int inputChannels
 
unsigned int duplexChannels
 
bool isDefaultOutput
 
bool isDefaultInput
 
std::vector< unsigned int > sampleRates
 
RtAudioFormat nativeFormats
 
-

Detailed Description

-

The public device information structure for returning queried values.

-

Member Data Documentation

- -
-
- - - - -
bool RtAudio::DeviceInfo::probed
-
-

true if the device capabilities were successfully probed.

- -
-
- -
-
- - - - -
std::string RtAudio::DeviceInfo::name
-
-

Character string device identifier.

- -
-
- -
-
- - - - -
unsigned int RtAudio::DeviceInfo::outputChannels
-
-

Maximum output channels supported by device.

- -
-
- -
-
- - - - -
unsigned int RtAudio::DeviceInfo::inputChannels
-
-

Maximum input channels supported by device.

- -
-
- -
-
- - - - -
unsigned int RtAudio::DeviceInfo::duplexChannels
-
-

Maximum simultaneous input/output channels supported by device.

- -
-
- -
-
- - - - -
bool RtAudio::DeviceInfo::isDefaultOutput
-
-

true if this is the default output device.

- -
-
- -
-
- - - - -
bool RtAudio::DeviceInfo::isDefaultInput
-
-

true if this is the default input device.

- -
-
- -
-
- - - - -
std::vector<unsigned int> RtAudio::DeviceInfo::sampleRates
-
-

Supported sample rates (queried from list of standard rates).

- -
-
- -
-
- - - - -
RtAudioFormat RtAudio::DeviceInfo::nativeFormats
-
-

Bit mask of supported data formats.

- -
-
-
The documentation for this struct was generated from the following file: -
-
- - -
©2001-2013 Gary P. Scavone, McGill University. All Rights Reserved.
Maintained by Gary P. Scavone.
- - diff --git a/source/modules/rtaudio/doc/html/structRtAudio_1_1StreamOptions-members.html b/source/modules/rtaudio/doc/html/structRtAudio_1_1StreamOptions-members.html deleted file mode 100644 index 60c4e03b5..000000000 --- a/source/modules/rtaudio/doc/html/structRtAudio_1_1StreamOptions-members.html +++ /dev/null @@ -1,35 +0,0 @@ - - -The RtAudio Home Page - - - - -
-Home   Class/Enum List   File List   Compound Members  
-
- - - -
-
-
RtAudio::StreamOptions Member List
-
- -
- - -
©2001-2013 Gary P. Scavone, McGill University. All Rights Reserved.
Maintained by Gary P. Scavone.
- - diff --git a/source/modules/rtaudio/doc/html/structRtAudio_1_1StreamOptions.html b/source/modules/rtaudio/doc/html/structRtAudio_1_1StreamOptions.html deleted file mode 100644 index 43e772ef7..000000000 --- a/source/modules/rtaudio/doc/html/structRtAudio_1_1StreamOptions.html +++ /dev/null @@ -1,121 +0,0 @@ - - -The RtAudio Home Page - - - - -
-Home   Class/Enum List   File List   Compound Members  
-
- - - -
- -
-
RtAudio::StreamOptions Struct Reference
-
-
- -

The structure for specifying stream options. - More...

- -

#include <RtAudio.h>

- - - - - - - - - - -

-Public Attributes

RtAudioStreamFlags flags
 
unsigned int numberOfBuffers
 
std::string streamName
 
int priority
 
-

Detailed Description

-

The structure for specifying stream options.

-

The following flags can be OR'ed together to allow a client to make changes to the default stream behavior:

-
    -
  • RTAUDIO_NONINTERLEAVED: Use non-interleaved buffers (default = interleaved).
  • -
  • RTAUDIO_MINIMIZE_LATENCY: Attempt to set stream parameters for lowest possible latency.
  • -
  • RTAUDIO_HOG_DEVICE: Attempt grab device for exclusive use.
  • -
  • RTAUDIO_SCHEDULE_REALTIME: Attempt to select realtime scheduling for callback thread.
  • -
  • RTAUDIO_ALSA_USE_DEFAULT: Use the "default" PCM device (ALSA only).
  • -
-

By default, RtAudio streams pass and receive audio data from the client in an interleaved format. By passing the RTAUDIO_NONINTERLEAVED flag to the openStream() function, audio data will instead be presented in non-interleaved buffers. In this case, each buffer argument in the RtAudioCallback function will point to a single array of data, with nFrames samples for each channel concatenated back-to-back. For example, the first sample of data for the second channel would be located at index nFrames (assuming the buffer pointer was recast to the correct data type for the stream).

-

Certain audio APIs offer a number of parameters that influence the I/O latency of a stream. By default, RtAudio will attempt to set these parameters internally for robust (glitch-free) performance (though some APIs, like Windows Direct Sound, make this difficult). By passing the RTAUDIO_MINIMIZE_LATENCY flag to the openStream() function, internal stream settings will be influenced in an attempt to minimize stream latency, though possibly at the expense of stream performance.

-

If the RTAUDIO_HOG_DEVICE flag is set, RtAudio will attempt to open the input and/or output stream device(s) for exclusive use. Note that this is not possible with all supported audio APIs.

-

If the RTAUDIO_SCHEDULE_REALTIME flag is set, RtAudio will attempt to select realtime scheduling (round-robin) for the callback thread. The priority parameter will only be used if the RTAUDIO_SCHEDULE_REALTIME flag is set. It defines the thread's realtime priority.

-

If the RTAUDIO_ALSA_USE_DEFAULT flag is set, RtAudio will attempt to open the "default" PCM device when using the ALSA API. Note that this will override any specified input or output device id.

-

The numberOfBuffers parameter can be used to control stream latency in the Windows DirectSound, Linux OSS, and Linux Alsa APIs only. A value of two is usually the smallest allowed. Larger numbers can potentially result in more robust stream performance, though likely at the cost of stream latency. The value set by the user is replaced during execution of the RtAudio::openStream() function by the value actually used by the system.

-

The streamName parameter can be used to set the client name when using the Jack API. By default, the client name is set to RtApiJack. However, if you wish to create multiple instances of RtAudio with Jack, each instance must have a unique client name.

-

Member Data Documentation

- -
-
- - - - -
RtAudioStreamFlags RtAudio::StreamOptions::flags
-
-

A bit-mask of stream flags (RTAUDIO_NONINTERLEAVED, RTAUDIO_MINIMIZE_LATENCY, RTAUDIO_HOG_DEVICE, RTAUDIO_ALSA_USE_DEFAULT).

- -
-
- -
-
- - - - -
unsigned int RtAudio::StreamOptions::numberOfBuffers
-
-

Number of stream buffers.

- -
-
- -
-
- - - - -
std::string RtAudio::StreamOptions::streamName
-
-

A stream name (currently used only in Jack).

- -
-
- -
-
- - - - -
int RtAudio::StreamOptions::priority
-
-

Scheduling priority of callback thread (only used with flag RTAUDIO_SCHEDULE_REALTIME).

- -
-
-
The documentation for this struct was generated from the following file: -
-
- - -
©2001-2013 Gary P. Scavone, McGill University. All Rights Reserved.
Maintained by Gary P. Scavone.
- - diff --git a/source/modules/rtaudio/doc/html/structRtAudio_1_1StreamParameters-members.html b/source/modules/rtaudio/doc/html/structRtAudio_1_1StreamParameters-members.html deleted file mode 100644 index ce64f8e36..000000000 --- a/source/modules/rtaudio/doc/html/structRtAudio_1_1StreamParameters-members.html +++ /dev/null @@ -1,34 +0,0 @@ - - -The RtAudio Home Page - - - - -
-Home   Class/Enum List   File List   Compound Members  
-
- - - -
-
-
RtAudio::StreamParameters Member List
-
-
- -

This is the complete list of members for RtAudio::StreamParameters, including all inherited members.

- - - - -
deviceIdRtAudio::StreamParameters
firstChannelRtAudio::StreamParameters
nChannelsRtAudio::StreamParameters
-
- - -
©2001-2013 Gary P. Scavone, McGill University. All Rights Reserved.
Maintained by Gary P. Scavone.
- - diff --git a/source/modules/rtaudio/doc/html/structRtAudio_1_1StreamParameters.html b/source/modules/rtaudio/doc/html/structRtAudio_1_1StreamParameters.html deleted file mode 100644 index 83a6f8b4e..000000000 --- a/source/modules/rtaudio/doc/html/structRtAudio_1_1StreamParameters.html +++ /dev/null @@ -1,91 +0,0 @@ - - -The RtAudio Home Page - - - - -
-Home   Class/Enum List   File List   Compound Members  
-
- - - -
- -
-
RtAudio::StreamParameters Struct Reference
-
-
- -

The structure for specifying input or ouput stream parameters. - More...

- -

#include <RtAudio.h>

- - - - - - - - -

-Public Attributes

unsigned int deviceId
 
unsigned int nChannels
 
unsigned int firstChannel
 
-

Detailed Description

-

The structure for specifying input or ouput stream parameters.

-

Member Data Documentation

- -
-
- - - - -
unsigned int RtAudio::StreamParameters::deviceId
-
-

Device index (0 to getDeviceCount() - 1).

- -
-
- -
-
- - - - -
unsigned int RtAudio::StreamParameters::nChannels
-
-

Number of channels.

- -
-
- -
-
- - - - -
unsigned int RtAudio::StreamParameters::firstChannel
-
-

First channel index on device (default = 0).

- -
-
-
The documentation for this struct was generated from the following file: -
-
- - -
©2001-2013 Gary P. Scavone, McGill University. All Rights Reserved.
Maintained by Gary P. Scavone.
- - diff --git a/source/modules/rtaudio/doc/html/tab_b.gif b/source/modules/rtaudio/doc/html/tab_b.gif deleted file mode 100644 index 0d623483ffdf5f9f96900108042a7ab0643fe2a3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35 ncmZ?wbhEHbWMp7uXkcJy*>IeJfk6j|fqX^=1|}vKMh0sDa2W*H diff --git a/source/modules/rtaudio/doc/html/tab_l.gif b/source/modules/rtaudio/doc/html/tab_l.gif deleted file mode 100644 index 9b1e6337c9299a700401a2a78a2c6ffced475216..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 706 zcmZ?wbhEHbZT`}F1e&(Gg}Y(8=I;HA5#Z$3JI=gGB)FQ#odI(O&E^@q;x zK6mr*m3xOS-#u~t!I@i+u0DKm^U160k6t`|^WpV}&n+8{U%dD9&a>B#U%!9-@yol< zU%&tQ{rk_K|NsC0`}dE5ET99@1@a36+kb~?0UJ*yc&I3X_m z!ND^5$O7$#8OFRuDhG}!?8z?cdZK&!`PWjdR;Aj^wZ` zeK{IEYHBJ)6K8VIp1`BVt++swf6j+=L{p1*nO(VhE`pFexG@5$|>uaCcd z`0m=9m+yak{QmXN#Sc$^{$X9h9&q2jiKAI|&T)a;PPx2K9p`YIdw8HtR5k2Q$2-O2 z*;3y{MQ-RnJTgJfI&R5|O)AHxDf_00XbPvDZPy4t=hHd)nfLPvms&O`Ok(sD()5v$ z5U@&h;a=#xbxVbo2~X&Xj0Ie(f{v>vERH+qC+nTG=B8Nca=wU-O$?1&vUgV~9=!H; zx>3p9Yn%*<>t~sk+&0xfyS8RsPfYBd<~wWK%j-LmpU>O7yX^h#UCp1x-p#i7@bE;py8XI6 zmY<)m>~)W~yIWcMVoiPg{duuf<*)9qZ9l$m*Ph&W&$jlv*Vpa+{pH@n=IQ$L?0$ax ec60Ul|8o2P|NVbd{6P)#weSbE3}s?04AuZvx_~SI diff --git a/source/modules/rtaudio/doc/html/tab_r.gif b/source/modules/rtaudio/doc/html/tab_r.gif deleted file mode 100644 index ce9dd9f533cb5486d6941844f442b59d4a9e9175..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2585 zcmbV}`9Bkk1ILFF--w5zJc=ZZT(zjE=;2|_S)Qm~rCWz1Pc)KPl;jv%A#&v2*x}yc zmf2~Jm~&=xjJY?PqwIN}f8qQ2{r$uH{c*nJbmr{cR5??*egHrs-B=MzCF`3%e{FAW z{oL5xTHn~5TM{jaB;@|_Ue5F&Zb@p(kMyG{*;gWDg zyeL|eZf7Qd8=#bXzSiR{yzRgLSj-fJS8>lBjVHN z^o-0eS=nE6a`W;LChBs=`+QAJP~{b93>H^eRb5kCSC1zUNezun%`L5M?RDzv#%jk7 zYVRX=vATPD`+oEfum^{RM@GjuP?-r=yh0!p;Vx^T9G7~`7%5ydH%70=jyJ;;`d;hv92x3R=z{xp+Lg2!*@OK*K15-t&okoPtSED)h&$RLxdbA zseWm^C3d%-yRNi-ryk^!ek+C`n&~cd$#ZWct_cUL{l~i+Nzx^5d!n94(>bW-iL~Rl z&8r)?q|1DIo=0=judQ{FaGcfLERz8gfn3-Qt<2lksh{mzpT}DXxUuR^z=^key&q4! z+wWI45vL0k$R^(F#{qfqhUsN@WA+w-V?LPH33!Q?WFSB3)WBojE@hK41Nb?KfS+Qo zXgrzfsP$wr4Qzy*{OD>uJBjdgGM@VMml5)2f~_}lD*YyOb}Hjeobhz#4c`w(l^>KK zr?Ud;W~Z}*w;%hZ|2^p^+f06gJDJQD zeIhGADbDmm&6arh(q>EZ<7mjzg7l|z$hRL8=1>)Nv=S7CY$B}iYJ&*T_-T_OG*L1q ztZ3Lana33?y3AKnyq^YCF|4x%Rb5WU&2qcl{TFKey%QJeMxn^SdT!hZ5+0i1zeusiYVp-phBl7b5+Px-X&LhByq z0F&<;K0l2+v>qiHlXb#$jXMv$uK-dEGE9L~qtdU(XeRXmvu*K2Q&6!fD**JxYP4b4BR7FdJ$Qx9G9`J%-_X!a#LGpp3g9)VWytGCa;7`S1_e8F~!R+aSJ zOF17p2`H?2kPs8Q`_;U}+D%3p zs2-0BTqFwpUoBk`?P;iPQ(IbEA|JmMx!P&YYG|R@S=5Mnw;-?A6rEEVyV%d7{iU4a zNk`i!%F(Ykpm`}#oH;BjY->@b8vQedv;pza2FL&*6ufjd+*3Ute&>kes~TU?^KkojsTh(o~(3tk1Y6>4(yn( z#U*ID9@eg-beKo1B;HXe+}{Z%n@7m0+yxivuqk9~;!1LGQlah)xYK4>wgL}l6dsaN zIxlRlq`*`j9PG4*0hD6YV_b_2w5b#)o7J?`q#{GjvvKlD`T*dWcZx<-s(ZvLB44E# z=!|sw!?)@%y$oRNL#25WS3lzdii}TuQ3?CLnvQ1_n};2sT_;Y;#d3=+-(O% zMN$>O!3;ke(UuLR%h_&)N zs^!-@A>QR}4yB1bPp`9S19ikTbZ~O{&FF-yHK{En;mmShDUIEw03`j(DBIsM}Rjki2J#SQa3gFZTKBPDeIiLt9Z z%bL3(B@Qw%(B`wSMS~dPh$=R`(}lBoFXKy(s|*{#ru$wjsBc_O#zxNk9w+UUHmx(U zmJ8+M+ndtnZ<7|VU9Mbt61zpo9T&3%Wx&XII=#QJxjR`CZf22ac3d51Z?GD%LEe_&*t46Qf;4`bZ7p2K(Ab5>GfT^}4! zBT&HZD`^PEgWoI&{~o-ID0F?O`75sm(87x%A{(}Ch1)QlzdJ)1B-eqe5a(weg0`4lQIf1evjvbBY50DVbzO7CLf|vP z2#0(U-|jZ`H{y5N^o7%iK6H>_HEGN->U6^!)1{XpJV!!4(Ig7wzZQ*9WYF4X1rG0x z=1uA@i`rIAciubDC{;~b(|&|A@xkjRP5aRcvRU9tvIm}jDB6J eQ0-6-y)mpwdT=ayS0tBxKDA*~;EWmo diff --git a/source/modules/rtaudio/doc/html/tabs.css b/source/modules/rtaudio/doc/html/tabs.css deleted file mode 100644 index 9cf578f23..000000000 --- a/source/modules/rtaudio/doc/html/tabs.css +++ /dev/null @@ -1,60 +0,0 @@ -.tabs, .tabs2, .tabs3 { - background-image: url('tab_b.png'); - width: 100%; - z-index: 101; - font-size: 13px; - font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; -} - -.tabs2 { - font-size: 10px; -} -.tabs3 { - font-size: 9px; -} - -.tablist { - margin: 0; - padding: 0; - display: table; -} - -.tablist li { - float: left; - display: table-cell; - background-image: url('tab_b.png'); - line-height: 36px; - list-style: none; -} - -.tablist a { - display: block; - padding: 0 20px; - font-weight: bold; - background-image:url('tab_s.png'); - background-repeat:no-repeat; - background-position:right; - color: #283A5D; - text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); - text-decoration: none; - outline: none; -} - -.tabs3 .tablist a { - padding: 0 10px; -} - -.tablist a:hover { - background-image: url('tab_h.png'); - background-repeat:repeat-x; - color: #fff; - text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); - text-decoration: none; -} - -.tablist li.current a { - background-image: url('tab_a.png'); - background-repeat:repeat-x; - color: #fff; - text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); -} diff --git a/source/modules/rtaudio/doc/html/updates.html b/source/modules/rtaudio/doc/html/updates.html deleted file mode 100644 index 88fd7d40e..000000000 --- a/source/modules/rtaudio/doc/html/updates.html +++ /dev/null @@ -1,88 +0,0 @@ - - -RtAudio Updates - - - -

RtAudio Update Tracker

- -

Needed Updates & Possible New Features:

- - - - - - - - - - - - - -
#DescriptionStatus
1Check implementation of various stream options (RTAUDIO_HOG_DEVICE, ...) to verify proper implementation.UC
2Do API-specific implementations of stream time where possible.UC
3Better support for multichannel (>2) audio devices in Windows DirectSound API.UC
4Mixer support to set the input volume, output volume, and select the input source (e.g., "Mic" vs "Line In") via following new methods: -
    -
  • double getStreamOutputVolume(): // returns value between 0.0 and 1.0
  • -
  • void setStreamOutputVolume( double volume ): // volume should be value between 0.0 and 1.0
  • -
  • double getStreamInputVolume(): // returns value between 0.0 and 1.0
  • -
  • void setStreamInputVolume( double volume ): // volume should be value between 0.0 and 1.0
  • -
  • void getStreamInputSources( std::vector<std::string>& sources ): // returns a vector of strings with source names
  • -
  • void setStreamInputSource( unsigned int index ): // source index is value between 0 and sources.size()-1, as determined from function above
  • -
UC4
5Robust support for full-duplex with different devices. Provide well-defined behavior if the devices get out of sync, with input taking precedence, so no incoming samples are lost (if possible).UC
6More sophisticated querying of device capabilities - for example, it'd be nice to figure out that a device supports either 4 channels of 16-bit or 2 channels of 24-bit audio.UC
7A faster device querying capability in DirectSound API - the current approach can take an extremely long time, especially for devices with many channels (like an RME Fireface 800).UC
8A way to specify a desired device name, instead of a device index, when opening a stream?UC
- -

-Status Codes: -

- - - -
UCUnder Consideration
API?Approved but need to determine API change
- - -

Recently Added Features:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
#DescriptionSolutionVersion
1Stream time support - ability to query the stream and find out the exact time since the stream was started, according to that device's clock. For APIs where this is not supported, this is estimated based on a count of the bytes that have been sent and the known latency.1New getStreamTime() function (DM)4.0
2Ability to determine whether stream is currently running.New bool isStreamRunning() function (DM)4.0
3NetBSD support added to Linux OSS API.__NetBSD__ must be defined (Emmanuel Dreyfus)4.0
4Added function to return available compiled APIsNew getCompiledApi() function (GS)4.0
5Changed isDefault member of RtAudioDeviceInfo structure to isDefaultOutput and isDefaultInput to be able to distinguish between default input and output devices.Modified RtAudioDeviceInfo structure (GS)4.0
6Added function to return current API for RtAudio instanceNew getCurrentApi() function (GS)4.0
7Added function to return current stream device(s) indexNew getStreamDevice() function (GS)4.0
8Dummy version that compiles without API compiler flag but does nothingNew RtApiDummy class (GS)4.0
9Ability to query device latency.2New getStreamLatency() function (GS)4.0
10Choice of opening a device in exclusive or non-exclusive mode. If opening in non-exclusive mode, try to use the device as-is without changing its sample rate, etc - this is good when users want to use two audio devices at once.3New RtAudio::StreamOptions structure and parameters4.0
11Previous CoreAudio support included only a single stream with multiple channels or multiple one-channel streams.Added support for arbitrary stream channel configurations (GS)4.0.5
12Added function to return actual sample rate used by a stream because sometimes it varies slightly from the specified one.New getStreamSampleRate() function (Theo Veenker)4.0.5
13Added way to specify realtime scheduling for unices.New StreamOptions flag "RTAUDIO_SCHEDULE_REALTIME" and attribute "priority" to StreamOptions (Theo Veenker)4.0.5
- -

Details:

- -1Currently implemented by incrementing a counter every time the tickStream() or callback function is called. If the gettimeofday() function is available (right now it is enabled for all Unix-like systems but not Windows), it also records the time of each tickStream() call. Then, when you call getStreamTime(), it adds the elapsed time since the last tickStream also. This makes the playback counter pretty smooth, but accurate. The intent is that now we could implement something more accurate on platforms that support it - but this is a reasonable baseline. One thing to watch out for: asking OSS for the stream time is problematic; on some devices the counter is only 16-bit and wraps around frequently, and on some devices it will sometimes return bogus values. -

-

-2This function could not be implemented for all APIs. If the function returns a value of zero, it should be assumed to be invalid. -

-

-3This implementation does not attempt to leave a device as-is. However, the flag RTAUDIO_HOG_DEVICE is provided to attempt to grab exclusive use of a device. -

-

-4I actually coded this up for OS-X Core Audio. However, I found it bloated the code and presented a number of interface problems that did more harm than good. Thus, it is currently not being considered further (GS). - - diff --git a/source/modules/rtaudio/doc/images/ccrma.gif b/source/modules/rtaudio/doc/images/ccrma.gif deleted file mode 100644 index 8a7418ca48a6739930ec9487280c027ecb08db10..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3527 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 diff --git a/source/modules/rtaudio/doc/images/mcgill.gif b/source/modules/rtaudio/doc/images/mcgill.gif deleted file mode 100644 index c571e3701b29cba905de133dda9ed646f14c974f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4614 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 conversion in convertBuffer() (thanks to Theo Veenker) -- bug fix in byteSwapBuffer() (thanks to Stefan Muller Arisona and Theo Veenker) -- fixed a few gcc 4.4 errors in OS-X -- fixed bug in rtaudio-config script -- revised configure script and Makefile structures -- 64-bit fixes in ALSA API (thanks to Stefan Muller Arisona) -- fixed ASIO sample rate selection bug (thanks to Sasha Zheligovsky) - -v4.0.4: (24 January 2008) -- added functionality to allow getDeviceInfo() to work in ALSA for an open device (like ASIO) -- fixes in configure script -- fixed clearing of error message stream in error() -- fixed RtAudio::DeviceInfo description in "probing" documentation -- memory leak fixes in ALSA and OSS -- Jack in/out port flag fix -- Windows changes for thread priority and GLOBALFOCUS - -v4.0.3: (7 December 2007) -- added support for MinGW compiler to configure script -- a few MinGW-related changes to RtAudio.cpp -- renamed test program probe.cpp to audioprobe.cpp -- moved various header files into single "include" directory and updated VC++ project files - -v4.0.2: (21 August 2007) -- fix to RtError::WARNING typo in RtAudio.h (RtApiDummy) -- removed "+1"s in RtApiCore c++ append when getting device name - -v4.0.1: (13 August 2007) -- fix to RtError::WARNING typo in RtAudio.cpp - -v4.0.0: (7 August 2007) -- new support for non-interleaved user data -- additional input/output parameter specifications, including channel offset -- new support for dynamic connection of devices -- new support for stream time -- revised callback arguments, including separate input and output buffer arguments -- revised C++ exception handling -- revised OSS support for version 4.0 -- discontinued support of blocking functionality -- discontinued support of SGI -- Windows DirectSound API bug fix -- NetBSD support (using OSS API) by Emmanuel Dreyfus -- changed default pthread scheduling priority to SCHED_RR when defined in the system -- new getCompiledApi() static function -- new getCurrentApi(), getStreamTime(), getStreamLatency(), and isStreamRunning() functions -- modified RtAudioDeviceInfo structure to distinguish default input and output devices - -v3.0.3: (18 November 2005) -- UNICODE fix for Windows DirectSound API -- MinGW compiler fix for ASIO API - -v3.0.2: (14 October 2005) -- modification of ALSA read/write order to fix duplex under/overruns -- added synchronization of input/output devices for ALSA duplex operation -- cleaned up and improved error reporting throughout -- bug fix in Windows DirectSound support for 8-bit audio -- bug fix in Windows DirectSound support during device capture query -- added ASIOOutputReady() call near end of callbackEvent to fix some driver behavior -- added #include to RtAudio.cpp -- fixed bug in RtApiCore for duplex operation with different I/O devices -- improvements to DirectX pointer chasing (by Robin Davies) -- backdoor RtDsStatistics hook provides DirectX performance information (by Robin Davies) -- bug fix for non-power-of-two Asio granularity used by Edirol PCR-A30 (by Robin Davies) -- auto-call CoInitialize for DSOUND and ASIO platforms (by Robin Davies) - -v3.0.1: (22 March 2004) -- bug fix in Windows DirectSound support for cards with output only - -v3.0: (11 March 2004) -- added Linux Jack audio server support -- new multi-api support by subclassing all apis and making rtaudio a controller class -- added over/underload check to Mac OS X support -- new scheme for blocking functionality in callback-based apis (CoreAudio, ASIO, and JACK) -- removed multiple stream support (all stream indentifier arguments removed) -- various style and name changes to conform with standard C++ practice - -v2.1.1: (24 October 2002) -- bug fix in duplex for Mac OS X and Windows ASIO code -- duplex example change in tutorial - -v2.1: (7 October 2002) -- added Mac OS X CoreAudio support -- added Windows ASIO support -- API change to getDeviceInfo(): device argument must be an integer between 1 - getDeviceCount(). -- "configure" support added for unix systems -- adopted MIT-like license -- various internal structural changes and bug fixes - -v2.01: (27 April 2002) -- Windows destructor bug fix when no devices available -- RtAudioError class renamed to RtError -- Preprocessor definitions changed slightly (i.e. __LINUX_OSS_ to __LINUX_OSS__) to conform with new Synthesis ToolKit distribution - -v2.0: (22 January 2002) -- first release of new independent class - diff --git a/source/modules/rtaudio/install b/source/modules/rtaudio/install deleted file mode 100644 index 0dca4a979..000000000 --- a/source/modules/rtaudio/install +++ /dev/null @@ -1,43 +0,0 @@ -RtAudio - a set of C++ classes which provide a common API for realtime audio input/output across Linux (native ALSA, JACK, PulseAudio, and OSS), Macintosh OS X (CoreAudio and JACK), and Windows (DirectSound and ASIO) operating systems. - -By Gary P. Scavone, 2001-2013. - -To configure and compile (on Unix systems and MinGW): - -1. Unpack the RtAudio distribution (tar -xzf rtaudio-x.x.tar.gz). -2. From within the directory containing this file, run configure: - - ./configure - -3. Typing "make" will compile static and shared libraries. - -4. From within the "tests" directory, type "make" to compile the example programs. - -A few options can be passed to configure, including: - - --enable-debug = enable various debug output - --with-alsa = choose native ALSA API support (linux only) - --with-pulse = choose native PulseAudio API support (linux only) - --with-oss = choose OSS API support (linux only) - --with-jack = choose JACK server support (linux or Macintosh OS-X) - --with-core = choose CoreAudio API support (Macintosh OS-X only) - --with-asio = choose ASIO API support (windows only) - --with-ds = choose DirectSound API support (windows only) - -Typing "./configure --help" will display all the available options. Note that you can provide more than one "--with-" flag to the configure script to enable multiple API support. - -If you wish to use a different compiler than that selected by configure, specify that compiler in the command line (ex. to use CC): - - ./configure CXX=CC - - -WINDOWS USERS: - -RtAudio compiles with the MinGW compiler or MS Visual Studio. - -Visual C++ 6.0 project files (very old) are included for the test programs in the /tests/Windows/ directory. These projects compile API support for both ASIO and DirectSound. - - -LINUX OSS: - -The OSS API support in RtAudio has not been tested for many years. I'm not even sure there are OSS drivers supporting recent linux kernels. In all likelihood, the OSS API code in RtAudio will disappear within the next year or two (if you don't want this to happen, let me know). diff --git a/source/modules/rtaudio/librtaudio.pc.in b/source/modules/rtaudio/librtaudio.pc.in deleted file mode 100644 index d7591a788..000000000 --- a/source/modules/rtaudio/librtaudio.pc.in +++ /dev/null @@ -1,12 +0,0 @@ -prefix=/usr/local -exec_prefix=${prefix} -libdir=${exec_prefix}/lib -includedir=${prefix}/include - -Name: librtaudio -Description: RtAudio - a set of C++ classes that provide a common API for realtime audio input/output -Version: 4.0.12 -Requires: @req@ -Libs: -L${libdir} -lrtaudio -Libs.private: -lpthread -Cflags: -pthread -I${includedir} @CPPFLAGS@ \ No newline at end of file diff --git a/source/modules/rtaudio/readme b/source/modules/rtaudio/readme deleted file mode 100644 index 280a3f642..000000000 --- a/source/modules/rtaudio/readme +++ /dev/null @@ -1,61 +0,0 @@ -RtAudio - a set of C++ classes that provide a common API for realtime audio input/output across Linux (native ALSA, JACK, PulseAudio and OSS), Macintosh OS X (CoreAudio and JACK), and Windows (DirectSound and ASIO) operating systems. - -By Gary P. Scavone, 2001-2013. - -This distribution of RtAudio contains the following: - -doc: RtAudio documentation (see doc/html/index.html) -tests: example RtAudio programs -include: header and source files necessary for ASIO, DS & OSS compilation -tests/Windows: Visual C++ .net test program workspace and projects - -OVERVIEW: - -RtAudio is a set of C++ classes that provides a common API (Application Programming Interface) for realtime audio input/output across Linux (native ALSA, JACK, and OSS), Macintosh OS X, SGI, and Windows (DirectSound and ASIO) operating systems. RtAudio significantly simplifies the process of interacting with computer audio hardware. It was designed with the following objectives: - - - object-oriented C++ design - - simple, common API across all supported platforms - - only one source and two header files for easy inclusion in programming projects - - allow simultaneous multi-api support - - support dynamic connection of devices - - provide extensive audio device parameter control - - allow audio device capability probing - - automatic internal conversion for data format, channel number compensation, (de)interleaving, and byte-swapping - -RtAudio incorporates the concept of audio streams, which represent audio output (playback) and/or input (recording). Available audio devices and their capabilities can be enumerated and then specified when opening a stream. Where applicable, multiple API support can be compiled and a particular API specified when creating an RtAudio instance. See the \ref apinotes section for information specific to each of the supported audio APIs. - -FURTHER READING: - -For complete documentation on RtAudio, see the doc directory of the distribution or surf to http://www.music.mcgill.ca/~gary/rtaudio/. - - -LEGAL AND ETHICAL: - -The RtAudio license is similar to the MIT License. - - RtAudio: a set of realtime audio i/o C++ classes - Copyright (c) 2001-2013 Gary P. Scavone - - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation files - (the "Software"), to deal in the Software without restriction, - including without limitation the rights to use, copy, modify, merge, - publish, distribute, sublicense, and/or sell copies of the Software, - and to permit persons to whom the Software is furnished to do so, - subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - Any person wishing to distribute modifications to the Software is - asked to send the modifications to the original developer so that - they can be incorporated into the canonical version. This is, - however, not a binding provision of this license. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR - ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF - CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/source/modules/rtaudio/rtaudio-config.in b/source/modules/rtaudio/rtaudio-config.in deleted file mode 100644 index 2422b6041..000000000 --- a/source/modules/rtaudio/rtaudio-config.in +++ /dev/null @@ -1,19 +0,0 @@ -#! /bin/sh -if (test "x$#" != "x1") ; then - echo "Usage: $0 [--libs | --cxxflags | --cppflags]" - exit; -fi - -LIBRARY="@LIBS@" -CXXFLAGS="@CXXFLAGS@" -CPPFLAGS="@CPPFLAGS@" - -if (test "x$1" == "x--libs") ; then - echo "$LIBRARY" -elif (test "x$1" == "x--cxxflags") ; then - echo "$CXXFLAGS" -elif (test "x$1" == "x--cppflags") ; then - echo "$CPPFLAGS" -else - echo "Unknown option: $1" -fi diff --git a/source/modules/rtaudio/tests/Makefile.in b/source/modules/rtaudio/tests/Makefile.in deleted file mode 100644 index fbca16b85..000000000 --- a/source/modules/rtaudio/tests/Makefile.in +++ /dev/null @@ -1,58 +0,0 @@ -### Do not edit -- Generated by 'configure --with-whatever' from Makefile.in -### RtAudio tests Makefile - for various flavors of unix and MinGW - -PROGRAMS = audioprobe playsaw playraw record duplex testall teststops -RM = /bin/rm -SRC_PATH = .. -INCLUDE = .. -OBJECT_PATH = @object_path@ -vpath %.o $(OBJECT_PATH) - -OBJECTS = RtAudio.o @objects@ - -CC = @CXX@ -DEFS = @CPPFLAGS@ -CFLAGS = @CXXFLAGS@ -CFLAGS += -I$(INCLUDE) -I../include -LIBRARY = @LIBS@ - -%.o : $(SRC_PATH)/%.cpp - $(CC) $(CFLAGS) $(DEFS) -c $(<) -o $(OBJECT_PATH)/$@ - -%.o : ../include/%.cpp - $(CC) $(CFLAGS) $(DEFS) -c $(<) -o $(OBJECT_PATH)/$@ - -all : $(PROGRAMS) - -audioprobe : audioprobe.cpp $(OBJECTS) - $(CC) $(CFLAGS) $(DEFS) -o audioprobe audioprobe.cpp $(OBJECT_PATH)/*.o $(LIBRARY) - -playsaw : playsaw.cpp $(OBJECTS) - $(CC) $(CFLAGS) $(DEFS) -o playsaw playsaw.cpp $(OBJECT_PATH)/*.o $(LIBRARY) - -playraw : playraw.cpp $(OBJECTS) - $(CC) $(CFLAGS) $(DEFS) -o playraw playraw.cpp $(OBJECT_PATH)/*.o $(LIBRARY) - -record : record.cpp $(OBJECTS) - $(CC) $(CFLAGS) $(DEFS) -o record record.cpp $(OBJECT_PATH)/*.o $(LIBRARY) - -duplex : duplex.cpp $(OBJECTS) - $(CC) $(CFLAGS) $(DEFS) -o duplex duplex.cpp $(OBJECT_PATH)/*.o $(LIBRARY) - -testall : testall.cpp $(OBJECTS) - $(CC) $(CFLAGS) $(DEFS) -o testall testall.cpp $(OBJECT_PATH)/*.o $(LIBRARY) - -teststops : teststops.cpp $(OBJECTS) - $(CC) $(CFLAGS) $(DEFS) -o teststops teststops.cpp $(OBJECT_PATH)/*.o $(LIBRARY) - -clean : - $(RM) -f $(OBJECT_PATH)/*.o - $(RM) -f $(PROGRAMS) - $(RM) -f *.raw *~ *.exe - $(RM) -fR *.dSYM - -distclean: clean - $(RM) -f Makefile - -strip : - strip $(PROGRAMS) diff --git a/source/modules/rtaudio/tests/Windows/audioprobe.dsp b/source/modules/rtaudio/tests/Windows/audioprobe.dsp deleted file mode 100755 index 679bf9a85..000000000 --- a/source/modules/rtaudio/tests/Windows/audioprobe.dsp +++ /dev/null @@ -1,162 +0,0 @@ -# Microsoft Developer Studio Project File - Name="audioprobe" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Console Application" 0x0103 - -CFG=audioprobe - Win32 Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "audioprobe.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "audioprobe.mak" CFG="audioprobe - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "audioprobe - Win32 Release" (based on "Win32 (x86) Console Application") -!MESSAGE "audioprobe - Win32 Debug" (based on "Win32 (x86) Console Application") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -RSC=rc.exe - -!IF "$(CFG)" == "audioprobe - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "audioprobe___Win32_Release" -# PROP BASE Intermediate_Dir "audioprobe___Win32_Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "" -# PROP Intermediate_Dir "Release" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c -# ADD CPP /nologo /MT /W3 /GX /O2 /I "../../" /I "../../include" /D "NDEBUG" /D "__WINDOW_DS__" /D "__WINDOWS_DS__" /D "__WINDOWS_ASIO__" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /YX /FD /c -# ADD BASE RSC /l 0x409 /d "NDEBUG" -# ADD RSC /l 0x409 /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib dsound.lib /nologo /subsystem:console /machine:I386 - -!ELSEIF "$(CFG)" == "audioprobe - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "audioprobe___Win32_Debug" -# PROP BASE Intermediate_Dir "audioprobe___Win32_Debug" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "" -# PROP Intermediate_Dir "Debug" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c -# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "../../" /I "../../include" /D "_DEBUG" /D "__WINDOWS_DS__" /D "__WINDOWS_ASIO__" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c -# ADD BASE RSC /l 0x409 /d "_DEBUG" -# ADD RSC /l 0x409 /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib dsound.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept - -!ENDIF - -# Begin Target - -# Name "audioprobe - Win32 Release" -# Name "audioprobe - Win32 Debug" -# Begin Group "Source Files" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" -# Begin Source File - -SOURCE=..\..\include\asio.cpp -# End Source File -# Begin Source File - -SOURCE=..\..\include\asiodrivers.cpp -# End Source File -# Begin Source File - -SOURCE=..\..\include\asiolist.cpp -# End Source File -# Begin Source File - -SOURCE=..\audioprobe.cpp -# End Source File -# Begin Source File - -SOURCE=..\..\include\iasiothiscallresolver.cpp -# End Source File -# Begin Source File - -SOURCE=..\..\RtAudio.cpp -# End Source File -# End Group -# Begin Group "Header Files" - -# PROP Default_Filter "h;hpp;hxx;hm;inl" -# Begin Source File - -SOURCE=..\..\include\asio.h -# End Source File -# Begin Source File - -SOURCE=..\..\include\asiodrivers.h -# End Source File -# Begin Source File - -SOURCE=..\..\include\asiodrvr.h -# End Source File -# Begin Source File - -SOURCE=..\..\include\asiolist.h -# End Source File -# Begin Source File - -SOURCE=..\..\include\asiosys.h -# End Source File -# Begin Source File - -SOURCE=..\..\include\ginclude.h -# End Source File -# Begin Source File - -SOURCE=..\..\include\iasiodrv.h -# End Source File -# Begin Source File - -SOURCE=..\..\include\iasiothiscallresolver.h -# End Source File -# Begin Source File - -SOURCE=..\..\RtAudio.h -# End Source File -# Begin Source File - -SOURCE=..\..\RtError.h -# End Source File -# End Group -# Begin Group "Resource Files" - -# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" -# End Group -# End Target -# End Project diff --git a/source/modules/rtaudio/tests/Windows/duplex.dsp b/source/modules/rtaudio/tests/Windows/duplex.dsp deleted file mode 100755 index c9ba2941a..000000000 --- a/source/modules/rtaudio/tests/Windows/duplex.dsp +++ /dev/null @@ -1,162 +0,0 @@ -# Microsoft Developer Studio Project File - Name="duplex" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Console Application" 0x0103 - -CFG=duplex - Win32 Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "duplex.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "duplex.mak" CFG="duplex - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "duplex - Win32 Release" (based on "Win32 (x86) Console Application") -!MESSAGE "duplex - Win32 Debug" (based on "Win32 (x86) Console Application") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -RSC=rc.exe - -!IF "$(CFG)" == "duplex - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "duplex___Win32_Release" -# PROP BASE Intermediate_Dir "duplex___Win32_Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "" -# PROP Intermediate_Dir "Release" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c -# ADD CPP /nologo /MT /W3 /GX /O2 /I "../../" /I "../../include" /D "NDEBUG" /D "__WINDOWS_DS__" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "__WINDOWS_ASIO__" /YX /FD /c -# ADD BASE RSC /l 0x409 /d "NDEBUG" -# ADD RSC /l 0x409 /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib dsound.lib /nologo /subsystem:console /machine:I386 - -!ELSEIF "$(CFG)" == "duplex - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "duplex___Win32_Debug" -# PROP BASE Intermediate_Dir "duplex___Win32_Debug" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "" -# PROP Intermediate_Dir "Debug" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c -# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "../../" /I "../../include" /D "_DEBUG" /D "__WINDOWS_ASIO__.__WINDOWS_DS__" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "__WINDOWS_ASIO__" /D "__WINDOWS_DS__" /YX /FD /GZ /c -# ADD BASE RSC /l 0x409 /d "_DEBUG" -# ADD RSC /l 0x409 /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib dsound.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept - -!ENDIF - -# Begin Target - -# Name "duplex - Win32 Release" -# Name "duplex - Win32 Debug" -# Begin Group "Source Files" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" -# Begin Source File - -SOURCE=..\..\include\asio.cpp -# End Source File -# Begin Source File - -SOURCE=..\..\include\asiodrivers.cpp -# End Source File -# Begin Source File - -SOURCE=..\..\include\asiolist.cpp -# End Source File -# Begin Source File - -SOURCE=..\duplex.cpp -# End Source File -# Begin Source File - -SOURCE=..\..\include\iasiothiscallresolver.cpp -# End Source File -# Begin Source File - -SOURCE=..\..\RtAudio.cpp -# End Source File -# End Group -# Begin Group "Header Files" - -# PROP Default_Filter "h;hpp;hxx;hm;inl" -# Begin Source File - -SOURCE=..\..\include\asio.h -# End Source File -# Begin Source File - -SOURCE=..\..\include\asiodrivers.h -# End Source File -# Begin Source File - -SOURCE=..\..\include\asiodrvr.h -# End Source File -# Begin Source File - -SOURCE=..\..\include\asiolist.h -# End Source File -# Begin Source File - -SOURCE=..\..\include\asiosys.h -# End Source File -# Begin Source File - -SOURCE=..\..\include\ginclude.h -# End Source File -# Begin Source File - -SOURCE=..\..\include\iasiodrv.h -# End Source File -# Begin Source File - -SOURCE=..\..\include\iasiothiscallresolver.h -# End Source File -# Begin Source File - -SOURCE=..\..\RtAudio.h -# End Source File -# Begin Source File - -SOURCE=..\..\RtError.h -# End Source File -# End Group -# Begin Group "Resource Files" - -# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" -# End Group -# End Target -# End Project diff --git a/source/modules/rtaudio/tests/Windows/playraw.dsp b/source/modules/rtaudio/tests/Windows/playraw.dsp deleted file mode 100755 index 849890d21..000000000 --- a/source/modules/rtaudio/tests/Windows/playraw.dsp +++ /dev/null @@ -1,162 +0,0 @@ -# Microsoft Developer Studio Project File - Name="playraw" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Console Application" 0x0103 - -CFG=playraw - Win32 Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "playraw.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "playraw.mak" CFG="playraw - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "playraw - Win32 Release" (based on "Win32 (x86) Console Application") -!MESSAGE "playraw - Win32 Debug" (based on "Win32 (x86) Console Application") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -RSC=rc.exe - -!IF "$(CFG)" == "playraw - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "playraw___Win32_Release" -# PROP BASE Intermediate_Dir "playraw___Win32_Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "" -# PROP Intermediate_Dir "Release" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c -# ADD CPP /nologo /MT /W3 /GX /O2 /I "../../" /I "../../include" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "__WINDOWS_ASIO__" /D "__WINDOWS_DS__" /YX /FD /c -# ADD BASE RSC /l 0x409 /d "NDEBUG" -# ADD RSC /l 0x409 /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib dsound.lib /nologo /subsystem:console /machine:I386 - -!ELSEIF "$(CFG)" == "playraw - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "playraw___Win32_Debug" -# PROP BASE Intermediate_Dir "playraw___Win32_Debug" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "" -# PROP Intermediate_Dir "Debug" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c -# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "../../" /I "../../include" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "__WINDOWS_ASIO__" /D "__WINDOWS_DS__" /YX /FD /GZ /c -# ADD BASE RSC /l 0x409 /d "_DEBUG" -# ADD RSC /l 0x409 /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib dsound.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept - -!ENDIF - -# Begin Target - -# Name "playraw - Win32 Release" -# Name "playraw - Win32 Debug" -# Begin Group "Source Files" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" -# Begin Source File - -SOURCE=..\..\include\asio.cpp -# End Source File -# Begin Source File - -SOURCE=..\..\include\asiodrivers.cpp -# End Source File -# Begin Source File - -SOURCE=..\..\include\asiolist.cpp -# End Source File -# Begin Source File - -SOURCE=..\..\include\iasiothiscallresolver.cpp -# End Source File -# Begin Source File - -SOURCE=..\playraw.cpp -# End Source File -# Begin Source File - -SOURCE=..\..\RtAudio.cpp -# End Source File -# End Group -# Begin Group "Header Files" - -# PROP Default_Filter "h;hpp;hxx;hm;inl" -# Begin Source File - -SOURCE=..\..\include\asio.h -# End Source File -# Begin Source File - -SOURCE=..\..\include\asiodrivers.h -# End Source File -# Begin Source File - -SOURCE=..\..\include\asiodrvr.h -# End Source File -# Begin Source File - -SOURCE=..\..\include\asiolist.h -# End Source File -# Begin Source File - -SOURCE=..\..\include\asiosys.h -# End Source File -# Begin Source File - -SOURCE=..\..\include\ginclude.h -# End Source File -# Begin Source File - -SOURCE=..\..\include\iasiodrv.h -# End Source File -# Begin Source File - -SOURCE=..\..\include\iasiothiscallresolver.h -# End Source File -# Begin Source File - -SOURCE=..\..\RtAudio.h -# End Source File -# Begin Source File - -SOURCE=..\..\RtError.h -# End Source File -# End Group -# Begin Group "Resource Files" - -# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" -# End Group -# End Target -# End Project diff --git a/source/modules/rtaudio/tests/Windows/playsaw.dsp b/source/modules/rtaudio/tests/Windows/playsaw.dsp deleted file mode 100755 index 7923c1ce6..000000000 --- a/source/modules/rtaudio/tests/Windows/playsaw.dsp +++ /dev/null @@ -1,162 +0,0 @@ -# Microsoft Developer Studio Project File - Name="playsaw" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Console Application" 0x0103 - -CFG=playsaw - Win32 Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "playsaw.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "playsaw.mak" CFG="playsaw - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "playsaw - Win32 Release" (based on "Win32 (x86) Console Application") -!MESSAGE "playsaw - Win32 Debug" (based on "Win32 (x86) Console Application") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -RSC=rc.exe - -!IF "$(CFG)" == "playsaw - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "playsaw___Win32_Release" -# PROP BASE Intermediate_Dir "playsaw___Win32_Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "" -# PROP Intermediate_Dir "Release" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c -# ADD CPP /nologo /MT /W3 /GX /O2 /I "../../" /I "../../include" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "__WINDOWS_ASIO__" /D "__WINDOWS_DS__" /YX /FD /c -# ADD BASE RSC /l 0x409 /d "NDEBUG" -# ADD RSC /l 0x409 /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib dsound.lib /nologo /subsystem:console /machine:I386 - -!ELSEIF "$(CFG)" == "playsaw - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "playsaw___Win32_Debug" -# PROP BASE Intermediate_Dir "playsaw___Win32_Debug" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "" -# PROP Intermediate_Dir "Debug" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c -# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "../../" /I "../../include" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "__WINDOWS_ASIO__" /D "__WINDOWS_DS__" /YX /FD /GZ /c -# ADD BASE RSC /l 0x409 /d "_DEBUG" -# ADD RSC /l 0x409 /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib dsound.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept - -!ENDIF - -# Begin Target - -# Name "playsaw - Win32 Release" -# Name "playsaw - Win32 Debug" -# Begin Group "Source Files" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" -# Begin Source File - -SOURCE=..\..\include\asio.cpp -# End Source File -# Begin Source File - -SOURCE=..\..\include\asiodrivers.cpp -# End Source File -# Begin Source File - -SOURCE=..\..\include\asiolist.cpp -# End Source File -# Begin Source File - -SOURCE=..\..\include\iasiothiscallresolver.cpp -# End Source File -# Begin Source File - -SOURCE=..\playsaw.cpp -# End Source File -# Begin Source File - -SOURCE=..\..\RtAudio.cpp -# End Source File -# End Group -# Begin Group "Header Files" - -# PROP Default_Filter "h;hpp;hxx;hm;inl" -# Begin Source File - -SOURCE=..\..\include\asio.h -# End Source File -# Begin Source File - -SOURCE=..\..\include\asiodrivers.h -# End Source File -# Begin Source File - -SOURCE=..\..\include\asiodrvr.h -# End Source File -# Begin Source File - -SOURCE=..\..\include\asiolist.h -# End Source File -# Begin Source File - -SOURCE=..\..\include\asiosys.h -# End Source File -# Begin Source File - -SOURCE=..\..\include\ginclude.h -# End Source File -# Begin Source File - -SOURCE=..\..\include\iasiodrv.h -# End Source File -# Begin Source File - -SOURCE=..\..\include\iasiothiscallresolver.h -# End Source File -# Begin Source File - -SOURCE=..\..\RtAudio.h -# End Source File -# Begin Source File - -SOURCE=..\..\RtError.h -# End Source File -# End Group -# Begin Group "Resource Files" - -# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" -# End Group -# End Target -# End Project diff --git a/source/modules/rtaudio/tests/Windows/record.dsp b/source/modules/rtaudio/tests/Windows/record.dsp deleted file mode 100755 index 9ba312ccf..000000000 --- a/source/modules/rtaudio/tests/Windows/record.dsp +++ /dev/null @@ -1,162 +0,0 @@ -# Microsoft Developer Studio Project File - Name="record" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Console Application" 0x0103 - -CFG=record - Win32 Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "record.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "record.mak" CFG="record - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "record - Win32 Release" (based on "Win32 (x86) Console Application") -!MESSAGE "record - Win32 Debug" (based on "Win32 (x86) Console Application") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -RSC=rc.exe - -!IF "$(CFG)" == "record - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "record___Win32_Release" -# PROP BASE Intermediate_Dir "record___Win32_Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "" -# PROP Intermediate_Dir "Release" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c -# ADD CPP /nologo /MT /W3 /GX /O2 /I "../../" /I "../../include" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "__WINDOWS_ASIO__" /D "__WINDOWS_DS__" /YX /FD /c -# ADD BASE RSC /l 0x409 /d "NDEBUG" -# ADD RSC /l 0x409 /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib dsound.lib /nologo /subsystem:console /machine:I386 - -!ELSEIF "$(CFG)" == "record - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "record___Win32_Debug" -# PROP BASE Intermediate_Dir "record___Win32_Debug" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "" -# PROP Intermediate_Dir "Debug" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c -# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "../../" /I "../../include" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "__WINDOWS_ASIO__" /D "__WINDOWS_DS__" /YX /FD /GZ /c -# ADD BASE RSC /l 0x409 /d "_DEBUG" -# ADD RSC /l 0x409 /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib dsound.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept - -!ENDIF - -# Begin Target - -# Name "record - Win32 Release" -# Name "record - Win32 Debug" -# Begin Group "Source Files" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" -# Begin Source File - -SOURCE=..\..\include\asio.cpp -# End Source File -# Begin Source File - -SOURCE=..\..\include\asiodrivers.cpp -# End Source File -# Begin Source File - -SOURCE=..\..\include\asiolist.cpp -# End Source File -# Begin Source File - -SOURCE=..\..\include\iasiothiscallresolver.cpp -# End Source File -# Begin Source File - -SOURCE=..\record.cpp -# End Source File -# Begin Source File - -SOURCE=..\..\RtAudio.cpp -# End Source File -# End Group -# Begin Group "Header Files" - -# PROP Default_Filter "h;hpp;hxx;hm;inl" -# Begin Source File - -SOURCE=..\..\include\asio.h -# End Source File -# Begin Source File - -SOURCE=..\..\include\asiodrivers.h -# End Source File -# Begin Source File - -SOURCE=..\..\include\asiodrvr.h -# End Source File -# Begin Source File - -SOURCE=..\..\include\asiolist.h -# End Source File -# Begin Source File - -SOURCE=..\..\include\asiosys.h -# End Source File -# Begin Source File - -SOURCE=..\..\include\ginclude.h -# End Source File -# Begin Source File - -SOURCE=..\..\include\iasiodrv.h -# End Source File -# Begin Source File - -SOURCE=..\..\include\iasiothiscallresolver.h -# End Source File -# Begin Source File - -SOURCE=..\..\RtAudio.h -# End Source File -# Begin Source File - -SOURCE=..\..\RtError.h -# End Source File -# End Group -# Begin Group "Resource Files" - -# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" -# End Group -# End Target -# End Project diff --git a/source/modules/rtaudio/tests/Windows/rtaudio.dsw b/source/modules/rtaudio/tests/Windows/rtaudio.dsw deleted file mode 100755 index 1869b31dc..000000000 --- a/source/modules/rtaudio/tests/Windows/rtaudio.dsw +++ /dev/null @@ -1,101 +0,0 @@ -Microsoft Developer Studio Workspace File, Format Version 6.00 -# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! - -############################################################################### - -Project: "audioprobe"=.\audioprobe.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "duplex"=.\duplex.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "playraw"=.\playraw.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "playsaw"=.\playsaw.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "record"=.\record.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "testall"=.\testall.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "teststops"=.\teststops.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Global: - -Package=<5> -{{{ -}}} - -Package=<3> -{{{ -}}} - -############################################################################### - diff --git a/source/modules/rtaudio/tests/Windows/testall.dsp b/source/modules/rtaudio/tests/Windows/testall.dsp deleted file mode 100755 index 72b6259e8..000000000 --- a/source/modules/rtaudio/tests/Windows/testall.dsp +++ /dev/null @@ -1,162 +0,0 @@ -# Microsoft Developer Studio Project File - Name="testall" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Console Application" 0x0103 - -CFG=testall - Win32 Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "testall.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "testall.mak" CFG="testall - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "testall - Win32 Release" (based on "Win32 (x86) Console Application") -!MESSAGE "testall - Win32 Debug" (based on "Win32 (x86) Console Application") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -RSC=rc.exe - -!IF "$(CFG)" == "testall - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "testall___Win32_Release" -# PROP BASE Intermediate_Dir "testall___Win32_Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "" -# PROP Intermediate_Dir "Release" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c -# ADD CPP /nologo /MT /W3 /GX /O2 /I "../../" /I "../../include" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "__WINDOWS_ASIO__" /D "__WINDOWS_DS__" /YX /FD /c -# ADD BASE RSC /l 0x409 /d "NDEBUG" -# ADD RSC /l 0x409 /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib dsound.lib /nologo /subsystem:console /machine:I386 - -!ELSEIF "$(CFG)" == "testall - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "testall___Win32_Debug" -# PROP BASE Intermediate_Dir "testall___Win32_Debug" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "" -# PROP Intermediate_Dir "Debug" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c -# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "../../" /I "../../include" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "__WINDOWS_ASIO__" /D "__WINDOWS_DS__" /YX /FD /GZ /c -# ADD BASE RSC /l 0x409 /d "_DEBUG" -# ADD RSC /l 0x409 /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib dsound.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept - -!ENDIF - -# Begin Target - -# Name "testall - Win32 Release" -# Name "testall - Win32 Debug" -# Begin Group "Source Files" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" -# Begin Source File - -SOURCE=..\..\include\asio.cpp -# End Source File -# Begin Source File - -SOURCE=..\..\include\asiodrivers.cpp -# End Source File -# Begin Source File - -SOURCE=..\..\include\asiolist.cpp -# End Source File -# Begin Source File - -SOURCE=..\..\include\iasiothiscallresolver.cpp -# End Source File -# Begin Source File - -SOURCE=..\..\RtAudio.cpp -# End Source File -# Begin Source File - -SOURCE=..\testall.cpp -# End Source File -# End Group -# Begin Group "Header Files" - -# PROP Default_Filter "h;hpp;hxx;hm;inl" -# Begin Source File - -SOURCE=..\..\include\asio.h -# End Source File -# Begin Source File - -SOURCE=..\..\include\asiodrivers.h -# End Source File -# Begin Source File - -SOURCE=..\..\include\asiodrvr.h -# End Source File -# Begin Source File - -SOURCE=..\..\include\asiolist.h -# End Source File -# Begin Source File - -SOURCE=..\..\include\asiosys.h -# End Source File -# Begin Source File - -SOURCE=..\..\include\ginclude.h -# End Source File -# Begin Source File - -SOURCE=..\..\include\iasiodrv.h -# End Source File -# Begin Source File - -SOURCE=..\..\include\iasiothiscallresolver.h -# End Source File -# Begin Source File - -SOURCE=..\..\RtAudio.h -# End Source File -# Begin Source File - -SOURCE=..\..\RtError.h -# End Source File -# End Group -# Begin Group "Resource Files" - -# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" -# End Group -# End Target -# End Project diff --git a/source/modules/rtaudio/tests/Windows/teststops.dsp b/source/modules/rtaudio/tests/Windows/teststops.dsp deleted file mode 100755 index 1543bc84f..000000000 --- a/source/modules/rtaudio/tests/Windows/teststops.dsp +++ /dev/null @@ -1,162 +0,0 @@ -# Microsoft Developer Studio Project File - Name="teststops" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Console Application" 0x0103 - -CFG=teststops - Win32 Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "teststops.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "teststops.mak" CFG="teststops - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "teststops - Win32 Release" (based on "Win32 (x86) Console Application") -!MESSAGE "teststops - Win32 Debug" (based on "Win32 (x86) Console Application") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -RSC=rc.exe - -!IF "$(CFG)" == "teststops - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "teststops___Win32_Release" -# PROP BASE Intermediate_Dir "teststops___Win32_Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "" -# PROP Intermediate_Dir "Release" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c -# ADD CPP /nologo /MT /W3 /GX /O2 /I "../../" /I "../../include" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "__WINDOWS_ASIO__" /D "__WINDOWS_DS__" /YX /FD /c -# ADD BASE RSC /l 0x409 /d "NDEBUG" -# ADD RSC /l 0x409 /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib dsound.lib /nologo /subsystem:console /machine:I386 - -!ELSEIF "$(CFG)" == "teststops - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "teststops___Win32_Debug" -# PROP BASE Intermediate_Dir "teststops___Win32_Debug" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "" -# PROP Intermediate_Dir "Debug" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c -# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "../../" /I "../../include" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "__WINDOWS_ASIO__" /D "__WINDOWS_DS__" /YX /FD /GZ /c -# ADD BASE RSC /l 0x409 /d "_DEBUG" -# ADD RSC /l 0x409 /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib dsound.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept - -!ENDIF - -# Begin Target - -# Name "teststops - Win32 Release" -# Name "teststops - Win32 Debug" -# Begin Group "Source Files" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" -# Begin Source File - -SOURCE=..\..\include\asio.cpp -# End Source File -# Begin Source File - -SOURCE=..\..\include\asiodrivers.cpp -# End Source File -# Begin Source File - -SOURCE=..\..\include\asiolist.cpp -# End Source File -# Begin Source File - -SOURCE=..\..\include\iasiothiscallresolver.cpp -# End Source File -# Begin Source File - -SOURCE=..\..\RtAudio.cpp -# End Source File -# Begin Source File - -SOURCE=..\teststops.cpp -# End Source File -# End Group -# Begin Group "Header Files" - -# PROP Default_Filter "h;hpp;hxx;hm;inl" -# Begin Source File - -SOURCE=..\..\include\asio.h -# End Source File -# Begin Source File - -SOURCE=..\..\include\asiodrivers.h -# End Source File -# Begin Source File - -SOURCE=..\..\include\asiodrvr.h -# End Source File -# Begin Source File - -SOURCE=..\..\include\asiolist.h -# End Source File -# Begin Source File - -SOURCE=..\..\include\asiosys.h -# End Source File -# Begin Source File - -SOURCE=..\..\include\ginclude.h -# End Source File -# Begin Source File - -SOURCE=..\..\include\iasiodrv.h -# End Source File -# Begin Source File - -SOURCE=..\..\include\iasiothiscallresolver.h -# End Source File -# Begin Source File - -SOURCE=..\..\RtAudio.h -# End Source File -# Begin Source File - -SOURCE=..\..\RtError.h -# End Source File -# End Group -# Begin Group "Resource Files" - -# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" -# End Group -# End Target -# End Project diff --git a/source/modules/rtaudio/tests/audioprobe.cpp b/source/modules/rtaudio/tests/audioprobe.cpp deleted file mode 100644 index a69437f97..000000000 --- a/source/modules/rtaudio/tests/audioprobe.cpp +++ /dev/null @@ -1,89 +0,0 @@ -/******************************************/ -/* - audioprobe.cpp - by Gary P. Scavone, 2001 - - Probe audio system and prints device info. -*/ -/******************************************/ - -#include "RtAudio.h" -#include -#include - -int main() -{ - // Create an api map. - std::map apiMap; - apiMap[RtAudio::MACOSX_CORE] = "OS-X Core Audio"; - apiMap[RtAudio::WINDOWS_ASIO] = "Windows ASIO"; - apiMap[RtAudio::WINDOWS_DS] = "Windows Direct Sound"; - apiMap[RtAudio::UNIX_JACK] = "Jack Client"; - apiMap[RtAudio::LINUX_ALSA] = "Linux ALSA"; - apiMap[RtAudio::LINUX_PULSE] = "Linux PulseAudio"; - apiMap[RtAudio::LINUX_OSS] = "Linux OSS"; - apiMap[RtAudio::RTAUDIO_DUMMY] = "RtAudio Dummy"; - - std::vector< RtAudio::Api > apis; - RtAudio :: getCompiledApi( apis ); - - std::cout << "\nRtAudio Version " << RtAudio::getVersion() << std::endl; - - std::cout << "\nCompiled APIs:\n"; - for ( unsigned int i=0; i -#include -#include - -/* -typedef char MY_TYPE; -#define FORMAT RTAUDIO_SINT8 -*/ - -typedef signed short MY_TYPE; -#define FORMAT RTAUDIO_SINT16 - -/* -typedef S24 MY_TYPE; -#define FORMAT RTAUDIO_SINT24 - -typedef signed long MY_TYPE; -#define FORMAT RTAUDIO_SINT32 - -typedef float MY_TYPE; -#define FORMAT RTAUDIO_FLOAT32 - -typedef double MY_TYPE; -#define FORMAT RTAUDIO_FLOAT64 -*/ - -void usage( void ) { - // Error function in case of incorrect command-line - // argument specifications - std::cout << "\nuseage: duplex N fs \n"; - std::cout << " where N = number of channels,\n"; - std::cout << " fs = the sample rate,\n"; - std::cout << " iDevice = optional input device to use (default = 0),\n"; - std::cout << " oDevice = optional output device to use (default = 0),\n"; - std::cout << " iChannelOffset = an optional input channel offset (default = 0),\n"; - std::cout << " and oChannelOffset = optional output channel offset (default = 0).\n\n"; - exit( 0 ); -} - -int inout( void *outputBuffer, void *inputBuffer, unsigned int nBufferFrames, - double streamTime, RtAudioStreamStatus status, void *data ) -{ - // Since the number of input and output channels is equal, we can do - // a simple buffer copy operation here. - if ( status ) std::cout << "Stream over/underflow detected." << std::endl; - - unsigned int *bytes = (unsigned int *) data; - memcpy( outputBuffer, inputBuffer, *bytes ); - return 0; -} - -int main( int argc, char *argv[] ) -{ - unsigned int channels, fs, bufferBytes, oDevice = 0, iDevice = 0, iOffset = 0, oOffset = 0; - - // Minimal command-line checking - if (argc < 3 || argc > 7 ) usage(); - - RtAudio adac; - if ( adac.getDeviceCount() < 1 ) { - std::cout << "\nNo audio devices found!\n"; - exit( 1 ); - } - - channels = (unsigned int) atoi(argv[1]); - fs = (unsigned int) atoi(argv[2]); - if ( argc > 3 ) - iDevice = (unsigned int) atoi(argv[3]); - if ( argc > 4 ) - oDevice = (unsigned int) atoi(argv[4]); - if ( argc > 5 ) - iOffset = (unsigned int) atoi(argv[5]); - if ( argc > 6 ) - oOffset = (unsigned int) atoi(argv[6]); - - // Let RtAudio print messages to stderr. - adac.showWarnings( true ); - - // Set the same number of channels for both input and output. - unsigned int bufferFrames = 512; - RtAudio::StreamParameters iParams, oParams; - iParams.deviceId = iDevice; - iParams.nChannels = channels; - iParams.firstChannel = iOffset; - oParams.deviceId = oDevice; - oParams.nChannels = channels; - oParams.firstChannel = oOffset; - - RtAudio::StreamOptions options; - //options.flags |= RTAUDIO_NONINTERLEAVED; - - try { - adac.openStream( &oParams, &iParams, FORMAT, fs, &bufferFrames, &inout, (void *)&bufferBytes, &options ); - } - catch ( RtError& e ) { - std::cout << '\n' << e.getMessage() << '\n' << std::endl; - exit( 1 ); - } - - bufferBytes = bufferFrames * channels * sizeof( MY_TYPE ); - - // Test RtAudio functionality for reporting latency. - std::cout << "\nStream latency = " << adac.getStreamLatency() << " frames" << std::endl; - - try { - adac.startStream(); - - char input; - std::cout << "\nRunning ... press to quit (buffer frames = " << bufferFrames << ").\n"; - std::cin.get(input); - - // Stop the stream. - adac.stopStream(); - } - catch ( RtError& e ) { - std::cout << '\n' << e.getMessage() << '\n' << std::endl; - goto cleanup; - } - - cleanup: - if ( adac.isStreamOpen() ) adac.closeStream(); - - return 0; -} diff --git a/source/modules/rtaudio/tests/playraw.cpp b/source/modules/rtaudio/tests/playraw.cpp deleted file mode 100644 index f57c0b0e3..000000000 --- a/source/modules/rtaudio/tests/playraw.cpp +++ /dev/null @@ -1,149 +0,0 @@ -/******************************************/ -/* - playraw.cpp - by Gary P. Scavone, 2007 - - Play a specified raw file. It is necessary - that the file be of the same data format as - defined below. -*/ -/******************************************/ - -#include "RtAudio.h" -#include -#include -#include -#include - -/* -typedef char MY_TYPE; -#define FORMAT RTAUDIO_SINT8 -#define SCALE 127.0 -*/ - -typedef signed short MY_TYPE; -#define FORMAT RTAUDIO_SINT16 -#define SCALE 32767.0 - -/* -typedef S24 MY_TYPE; -#define FORMAT RTAUDIO_SINT24 -#define SCALE 8388607.0 - -typedef signed int MY_TYPE; -#define FORMAT RTAUDIO_SINT32 -#define SCALE 2147483647.0 - -typedef float MY_TYPE; -#define FORMAT RTAUDIO_FLOAT32 -#define SCALE 1.0; - -typedef double MY_TYPE; -#define FORMAT RTAUDIO_FLOAT64 -#define SCALE 1.0; -*/ - -// Platform-dependent sleep routines. -#if defined( __WINDOWS_ASIO__ ) || defined( __WINDOWS_DS__ ) - #include - #define SLEEP( milliseconds ) Sleep( (DWORD) milliseconds ) -#else // Unix variants - #include - #define SLEEP( milliseconds ) usleep( (unsigned long) (milliseconds * 1000.0) ) -#endif - -void usage( void ) { - // Error function in case of incorrect command-line - // argument specifications - std::cout << "\nuseage: playraw N fs file \n"; - std::cout << " where N = number of channels,\n"; - std::cout << " fs = the sample rate, \n"; - std::cout << " file = the raw file to play,\n"; - std::cout << " device = optional device to use (default = 0),\n"; - std::cout << " and channelOffset = an optional channel offset on the device (default = 0).\n\n"; - exit( 0 ); -} - -struct OutputData { - FILE *fd; - unsigned int channels; -}; - -// Interleaved buffers -int output( void *outputBuffer, void *inputBuffer, unsigned int nBufferFrames, - double streamTime, RtAudioStreamStatus status, void *data ) -{ - OutputData *oData = (OutputData*) data; - - // In general, it's not a good idea to do file input in the audio - // callback function but I'm doing it here because I don't know the - // length of the file we are reading. - unsigned int count = fread( outputBuffer, oData->channels * sizeof( MY_TYPE ), nBufferFrames, oData->fd); - if ( count < nBufferFrames ) { - unsigned int bytes = (nBufferFrames - count) * oData->channels * sizeof( MY_TYPE ); - unsigned int startByte = count * oData->channels * sizeof( MY_TYPE ); - memset( (char *)(outputBuffer)+startByte, 0, bytes ); - return 1; - } - - return 0; -} - -int main( int argc, char *argv[] ) -{ - unsigned int channels, fs, bufferFrames, device = 0, offset = 0; - char *file; - - // minimal command-line checking - if ( argc < 4 || argc > 6 ) usage(); - - RtAudio dac; - if ( dac.getDeviceCount() < 1 ) { - std::cout << "\nNo audio devices found!\n"; - exit( 0 ); - } - - channels = (unsigned int) atoi( argv[1]) ; - fs = (unsigned int) atoi( argv[2] ); - file = argv[3]; - if ( argc > 4 ) - device = (unsigned int) atoi( argv[4] ); - if ( argc > 5 ) - offset = (unsigned int) atoi( argv[5] ); - - OutputData data; - data.fd = fopen( file, "rb" ); - if ( !data.fd ) { - std::cout << "Unable to find or open file!\n"; - exit( 1 ); - } - - // Set our stream parameters for output only. - bufferFrames = 512; - RtAudio::StreamParameters oParams; - oParams.deviceId = device; - oParams.nChannels = channels; - oParams.firstChannel = offset; - - data.channels = channels; - try { - dac.openStream( &oParams, NULL, FORMAT, fs, &bufferFrames, &output, (void *)&data ); - dac.startStream(); - } - catch ( RtError& e ) { - std::cout << '\n' << e.getMessage() << '\n' << std::endl; - goto cleanup; - } - - std::cout << "\nPlaying raw file " << file << " (buffer frames = " << bufferFrames << ")." << std::endl; - while ( 1 ) { - SLEEP( 100 ); // wake every 100 ms to check if we're done - if ( dac.isStreamRunning() == false ) break; - } - - cleanup: - fclose( data.fd ); - dac.closeStream(); - - return 0; -} diff --git a/source/modules/rtaudio/tests/playsaw.cpp b/source/modules/rtaudio/tests/playsaw.cpp deleted file mode 100644 index 100d8d9ba..000000000 --- a/source/modules/rtaudio/tests/playsaw.cpp +++ /dev/null @@ -1,203 +0,0 @@ -/******************************************/ -/* - playsaw.cpp - by Gary P. Scavone, 2006 - - This program will output sawtooth waveforms - of different frequencies on each channel. -*/ -/******************************************/ - -#include "RtAudio.h" -#include -#include - -/* -typedef char MY_TYPE; -#define FORMAT RTAUDIO_SINT8 -#define SCALE 127.0 -*/ - -typedef signed short MY_TYPE; -#define FORMAT RTAUDIO_SINT16 -#define SCALE 32767.0 - -/* -typedef S24 MY_TYPE; -#define FORMAT RTAUDIO_SINT24 -#define SCALE 8388607.0 - -typedef signed long MY_TYPE; -#define FORMAT RTAUDIO_SINT32 -#define SCALE 2147483647.0 - -typedef float MY_TYPE; -#define FORMAT RTAUDIO_FLOAT32 -#define SCALE 1.0 - -typedef double MY_TYPE; -#define FORMAT RTAUDIO_FLOAT64 -#define SCALE 1.0 -*/ - -// Platform-dependent sleep routines. -#if defined( __WINDOWS_ASIO__ ) || defined( __WINDOWS_DS__ ) - #include - #define SLEEP( milliseconds ) Sleep( (DWORD) milliseconds ) -#else // Unix variants - #include - #define SLEEP( milliseconds ) usleep( (unsigned long) (milliseconds * 1000.0) ) -#endif - -#define BASE_RATE 0.005 -#define TIME 1.0 - -void usage( void ) { - // Error function in case of incorrect command-line - // argument specifications - std::cout << "\nuseage: playsaw N fs


- - - -
©2003-2012 Gary P. Scavone, McGill University. All Rights Reserved.
- Maintained by Gary P. Scavone, gary at music.mcgill.ca
- - - diff --git a/source/modules/rtmidi/doc/doxygen/header.html b/source/modules/rtmidi/doc/doxygen/header.html deleted file mode 100644 index 3b6d60ba2..000000000 --- a/source/modules/rtmidi/doc/doxygen/header.html +++ /dev/null @@ -1,9 +0,0 @@ - - -The RtMidi Tutorial - - - -
-Tutorial   Class/Enum List   File List   Compound Members  
-
diff --git a/source/modules/rtmidi/doc/doxygen/tutorial.txt b/source/modules/rtmidi/doc/doxygen/tutorial.txt deleted file mode 100644 index 91d01a9e3..000000000 --- a/source/modules/rtmidi/doc/doxygen/tutorial.txt +++ /dev/null @@ -1,476 +0,0 @@ -/*! \mainpage The RtMidi Tutorial - -
\ref intro    \ref download    \ref start    \ref error    \ref probing    \ref output    \ref input    \ref virtual    \ref compiling    \ref debug    \ref multi    \ref apinotes    \ref acknowledge    \ref license
- -\section intro Introduction - -RtMidi is a set of C++ classes (RtMidiIn, RtMidiOut and API-specific classes) that provides a common API (Application Programming Interface) for realtime MIDI input/output across Linux (ALSA & Jack), Macintosh OS X (CoreMidi & Jack), and Windows (Multimedia Library & Kernel Streaming) operating systems. RtMidi significantly simplifies the process of interacting with computer MIDI hardware and software. It was designed with the following goals: - -
    -
  • object oriented C++ design
  • -
  • simple, common API across all supported platforms
  • -
  • only two header files and one source file for easy inclusion in programming projects
  • -
  • MIDI device enumeration
  • -
- -Where applicable, multiple API support can be compiled and a particular API specified when creating an RtAudio instance. - -MIDI input and output functionality are separated into two classes, RtMidiIn and RtMidiOut. Each class instance supports only a single MIDI connection. RtMidi does not provide timing functionality (i.e., output messages are sent immediately). Input messages are timestamped with delta times in seconds (via a \c double floating point type). MIDI data is passed to the user as raw bytes using an std::vector. - -\section whatsnew What's New (Version 2.0) - -No incompatable API changes were made in version 2.0, however, support for multiple compiled APIs (where available) was added (see \ref multi). Other changes include: 1. Added Windows Kernel Streaming support (thanks to Sebastien Alaiwan), though not tested in Visual Studio (and timestamping is not implemented); and 2. Support for the IRIX (SGI) operating system was discontinued. - -\section download Download - -Latest Release (26 July 2012): Version 2.0.1 - -\section start Getting Started - -The first thing that must be done when using RtMidi is to create an instance of the RtMidiIn or RtMidiOut subclasses. RtMidi is an abstract base class, which itself cannot be instantiated. Each default constructor attempts to establish any necessary "connections" with the underlying MIDI system. RtMidi uses C++ exceptions to report errors, necessitating try/catch blocks around many member functions. An RtError can be thrown during instantiation in some circumstances. A warning message may also be reported if no MIDI devices are found during instantiation. The RtMidi classes have been designed to work with "hot pluggable" or virtual (software) MIDI devices, making it possible to connect to MIDI devices that may not have been present when the classes were instantiated. The following code example demonstrates default object construction and destruction: - -\code - -#include "RtMidi.h" - -int main() -{ - RtMidiIn *midiin = 0; - - // RtMidiIn constructor - try { - midiin = new RtMidiIn(); - } - catch (RtError &error) { - // Handle the exception here - error.printMessage(); - } - - // Clean up - delete midiin; -} -\endcode - -Obviously, this example doesn't demonstrate any of the real functionality of RtMidi. However, all uses of RtMidi must begin with construction and must end with class destruction. Further, it is necessary that all class methods that can throw a C++ exception be called within a try/catch block. - - -\section error Error Handling - -RtMidi uses a C++ exception handler called RtError, which is declared -and defined in RtError.h. The RtError class is quite simple but it -does allow errors to be "caught" by RtError::Type. Many RtMidi -methods can "throw" an RtError, most typically if a driver error -occurs or an invalid function argument is specified. There are a -number of cases within RtMidi where warning messages may be displayed -but an exception is not thrown. There is a protected RtMidi method, -error(), that can be modified to globally control how these messages -are handled and reported. By default, error messages are not -automatically displayed in RtMidi unless the preprocessor definition -__RTMIDI_DEBUG__ is defined during compilation. Messages associated -with caught exceptions can be displayed with, for example, the -RtError::printMessage() function. - - -\section probing Probing Ports - -A programmer may wish to query the available MIDI ports before deciding which to use. The following example outlines how this can be done. - -\code -// midiprobe.cpp - -#include -#include -#include "RtMidi.h" - -int main() -{ - RtMidiIn *midiin = 0; - RtMidiOut *midiout = 0; - - // RtMidiIn constructor - try { - midiin = new RtMidiIn(); - } - catch ( RtError &error ) { - error.printMessage(); - exit( EXIT_FAILURE ); - } - - // Check inputs. - unsigned int nPorts = midiin->getPortCount(); - std::cout << "\nThere are " << nPorts << " MIDI input sources available.\n"; - std::string portName; - for ( unsigned int i=0; igetPortName(i); - } - catch ( RtError &error ) { - error.printMessage(); - goto cleanup; - } - std::cout << " Input Port #" << i+1 << ": " << portName << '\n'; - } - - // RtMidiOut constructor - try { - midiout = new RtMidiOut(); - } - catch ( RtError &error ) { - error.printMessage(); - exit( EXIT_FAILURE ); - } - - // Check outputs. - nPorts = midiout->getPortCount(); - std::cout << "\nThere are " << nPorts << " MIDI output ports available.\n"; - for ( unsigned int i=0; igetPortName(i); - } - catch (RtError &error) { - error.printMessage(); - goto cleanup; - } - std::cout << " Output Port #" << i+1 << ": " << portName << '\n'; - } - std::cout << '\n'; - - // Clean up - cleanup: - delete midiin; - delete midiout; - - return 0; -} -\endcode - -\section output MIDI Output - -The RtMidiOut class provides simple functionality to immediately send messages over a MIDI connection. No timing functionality is provided. - -In the following example, we omit necessary error checking and details regarding OS-dependent sleep functions. For a complete example, see the \c midiout.cpp program in the \c tests directory. - -\code -// midiout.cpp - -#include -#include -#include "RtMidi.h" - -int main() -{ - RtMidiOut *midiout = new RtMidiOut(); - std::vector message; - - // Check available ports. - unsigned int nPorts = midiout->getPortCount(); - if ( nPorts == 0 ) { - std::cout << "No ports available!\n"; - goto cleanup; - } - - // Open first available port. - midiout->openPort( 0 ); - - // Send out a series of MIDI messages. - - // Program change: 192, 5 - message.push_back( 192 ); - message.push_back( 5 ); - midiout->sendMessage( &message ); - - // Control Change: 176, 7, 100 (volume) - message[0] = 176; - message[1] = 7; - message.push_back( 100 ); - midiout->sendMessage( &message ); - - // Note On: 144, 64, 90 - message[0] = 144; - message[1] = 64; - message[2] = 90; - midiout->sendMessage( &message ); - - SLEEP( 500 ); // Platform-dependent ... see example in tests directory. - - // Note Off: 128, 64, 40 - message[0] = 128; - message[1] = 64; - message[2] = 40; - midiout->sendMessage( &message ); - - // Clean up - cleanup: - delete midiout; - - return 0; -} -\endcode - - -\section input MIDI Input - -The RtMidiIn class uses an internal callback function or thread to receive incoming MIDI messages from a port or device. These messages are then either queued and read by the user via calls to the RtMidiIn::getMessage() function or immediately passed to a user-specified callback function (which must be "registered" using the RtMidiIn::setCallback() function). We'll provide examples of both usages. - -The RtMidiIn class provides the RtMidiIn::ignoreTypes() function to specify that certain MIDI message types be ignored. By default, sysem exclusive, timing, and active sensing messages are ignored. - -\subsection qmidiin Queued MIDI Input - -The RtMidiIn::getMessage() function does not block. If a MIDI message is available in the queue, it is copied to the user-provided \c std::vector container. When no MIDI message is available, the function returns an empty container. The default maximum MIDI queue size is 1024 messages. This value may be modified with the RtMidiIn::setQueueSizeLimit() function. If the maximum queue size limit is reached, subsequent incoming MIDI messages are discarded until the queue size is reduced. - -In the following example, we omit some necessary error checking and details regarding OS-dependent sleep functions. For a more complete example, see the \c qmidiin.cpp program in the \c tests directory. - -\code -// qmidiin.cpp - -#include -#include -#include -#include "RtMidi.h" - -bool done; -static void finish(int ignore){ done = true; } - -int main() -{ - RtMidiIn *midiin = new RtMidiIn(); - std::vector message; - int nBytes, i; - double stamp; - - // Check available ports. - unsigned int nPorts = midiin->getPortCount(); - if ( nPorts == 0 ) { - std::cout << "No ports available!\n"; - goto cleanup; - } - midiin->openPort( 0 ); - - // Don't ignore sysex, timing, or active sensing messages. - midiin->ignoreTypes( false, false, false ); - - // Install an interrupt handler function. - done = false; - (void) signal(SIGINT, finish); - - // Periodically check input queue. - std::cout << "Reading MIDI from port ... quit with Ctrl-C.\n"; - while ( !done ) { - stamp = midiin->getMessage( &message ); - nBytes = message.size(); - for ( i=0; i 0 ) - std::cout << "stamp = " << stamp << std::endl; - - // Sleep for 10 milliseconds ... platform-dependent. - SLEEP( 10 ); - } - - // Clean up - cleanup: - delete midiin; - - return 0; -} -\endcode - -\subsection cmidiin MIDI Input with User Callback - -When set, a user-provided callback function will be invoked after the input of a complete MIDI message. It is possible to provide a pointer to user data that can be accessed in the callback function (not shown here). It is necessary to set the callback function immediately after opening the port to avoid having incoming messages written to the queue (which is not emptied when a callback function is set). If you are worried about this happening, you can check the queue using the RtMidi::getMessage() function to verify it is empty (after the callback function is set). - -In the following example, we omit some necessary error checking. For a more complete example, see the \c cmidiin.cpp program in the \c tests directory. - -\code -// cmidiin.cpp - -#include -#include -#include "RtMidi.h" - -void mycallback( double deltatime, std::vector< unsigned char > *message, void *userData ) -{ - unsigned int nBytes = message->size(); - for ( unsigned int i=0; i 0 ) - std::cout << "stamp = " << deltatime << std::endl; -} - -int main() -{ - RtMidiIn *midiin = new RtMidiIn(); - - // Check available ports. - unsigned int nPorts = midiin->getPortCount(); - if ( nPorts == 0 ) { - std::cout << "No ports available!\n"; - goto cleanup; - } - - midiin->openPort( 0 ); - - // Set our callback function. This should be done immediately after - // opening the port to avoid having incoming messages written to the - // queue. - midiin->setCallback( &mycallback ); - - // Don't ignore sysex, timing, or active sensing messages. - midiin->ignoreTypes( false, false, false ); - - std::cout << "\nReading MIDI input ... press to quit.\n"; - char input; - std::cin.get(input); - - // Clean up - cleanup: - delete midiin; - - return 0; -} -\endcode - -\section virtual Virtual Ports - -The Linux ALSA and Macintosh CoreMIDI APIs allow for the establishment of virtual input and output MIDI ports to which other software clients can connect. RtMidi incorporates this functionality with the RtMidiIn::openVirtualPort() and RtMidiOut::openVirtualPort() functions. Any messages sent with the RtMidiOut::sendMessage() function will also be transmitted through an open virtual output port. If a virtual input port is open and a user callback function is set, the callback function will be invoked when messages arrive via that port. If a callback function is not set, the user must poll the input queue to check whether messages have arrived. No notification is provided for the establishment of a client connection via a virtual port. - -\section compiling Compiling - -In order to compile RtMidi for a specific OS and API, it is necessary to supply the appropriate preprocessor definition and library within the compiler statement: -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
OS:MIDI API:Preprocessor Definition:Library or Framework:Example Compiler Statement:
LinuxALSA Sequencer__LINUX_ALSA__asound, pthreadg++ -Wall -D__LINUX_ALSA__ -o midiprobe midiprobe.cpp RtMidi.cpp -lasound -lpthread
Linux or MacJack MIDI__UNIX_JACK__jackg++ -Wall -D__UNIX_JACK__ -o midiprobe midiprobe.cpp RtMidi.cpp -ljack
Macintosh OS XCoreMidi__MACOSX_CORE__CoreMidi, CoreAudio, CoreFoundationg++ -Wall -D__MACOSX_CORE__ -o midiprobe midiprobe.cpp RtMidi.cpp -framework CoreMIDI -framework CoreAudio -framework CoreFoundation
WindowsMultimedia Library__WINDOWS_MM__winmm.lib, multithreadedcompiler specific
WindowsKernel Streaming__WINDOWS_KS__ks.h, ksmedia.h, setupapi.lib, ksuser.lib, multithreadedcompiler specific
-

- -The example compiler statements above could be used to compile the midiprobe.cpp example file, assuming that midiprobe.cpp, RtMidi.h, RtError.h, and RtMidi.cpp all exist in the same directory. - -\section debug Debugging - -If you are having problems getting RtMidi to run on your system, try passing the preprocessor definition __RTMIDI_DEBUG__ to the compiler (or define it in RtMidi.h). A variety of warning messages will be displayed that may help in determining the problem. Also try using the programs included in the test directory. The program midiprobe displays the queried capabilities of all MIDI ports found. - -\section multi Using Simultaneous Multiple APIs - -Support for each MIDI API is encapsulated in specific MidiInApi or MidiOutApi subclasses, making it possible to compile and instantiate multiple API-specific subclasses on a given operating system. For example, one can compile both the CoreMIDI and Jack support on the OS-X operating system by providing the appropriate preprocessor definitions for each. In a run-time situation, one might first attempt to determine whether any Jack ports are available. This can be done by specifying the api argument RtMidi::UNIX_JACK when attempting to create an instance of RtMidiIn or RtMidiOut. If no available ports are found, then an instance of RtMidi with the api argument RtMidi::MACOSX_CORE can be created. Alternately, if no api argument is specified, RtMidi will first look for CoreMIDI ports and if none are found, then Jack ports (in linux, the search order is ALSA and then Jack; in windows, the search order is WinMM and then WinKS). In theory, it should also be possible to have separate instances of RtMidi open at the same time with different underlying API support, though this has not been tested. - -The static function RtMidi::getCompiledApi() is provided to determine the available compiled API support. The function RtMidi::getCurrentApi() indicates the API selected for a given RtMidi instance. - -\section apinotes API Notes - -RtMidi is designed to provide a common API across the various supported operating systems and audio libraries. Despite that, some issues should be mentioned with regard to each. - -\subsection linux Linux: - -RtMidi for Linux was developed using the Fedora distribution. Two different MIDI APIs are supported on Linux platforms: ALSA and Jack. A decision was made to not include support for the OSS API because the OSS API provides such limited functionality and because ALSA support is now incorporated in the Linux kernel. The ALSA sequencer and Jack APIs allows for virtual software input and output ports. - -\subsection macosx Macintosh OS X (CoreAudio): - -The Apple CoreMidi API allows for the establishment of virtual input and output ports to which other software applications can connect. - -The RtMidi Jack support can be compiled on Macintosh OS-X systems, as well as in Linux. - -\subsection windowsds Windows (Multimedia Library): - -The \c configure script provides support for the MinGW compiler. - -The Windows Multimedia library MIDI calls used in RtMidi do not make use of streaming functionality. Incoming system exclusive messages read by RtMidiIn are limited to a length as defined by the preprocessor definition RT_SYSEX_BUFFER_SIZE (set in RtMidi.cpp). The default value is 1024. There is no such limit for outgoing sysex messages via RtMidiOut. - -RtMidi was originally developed with Visual C++ version 6.0. - -The \c configure script provides support for the MinGW compiler. - -\section acknowledge Acknowledgements - -Many thanks to the following people for providing bug fixes and improvements: -

    -
  • Sebastien Alaiwan (Jack memory leaks, Windows kernel streaming)
  • -
  • Jean-Baptiste Berruchon (Windows sysex code)
  • -
  • Pedro Lopez-Cabanillas (ALSA sequencer API, client naming)
  • -
  • Jason Champion (MSW project file for library build)
  • -
  • Eduardo Coutinho (Windows device names)
  • -
  • Paul Dean (increment optimization)
  • -
  • Luc Deschenaux (sysex issues)
  • -
  • John Dey (OS-X timestamps)
  • -
  • Christoph Eckert (ALSA sysex fixes)
  • -
  • Martin Koegler (various fixes)
  • -
  • Immanuel Litzroth (OS-X sysex fix)
  • -
  • Jon McCormack (Snow Leopard updates)
  • -
  • Axel Schmidt (client naming)
  • -
  • Alexander Svetalkin (Jack MIDI)
  • -
  • Casey Tucker (OS-X driver information, sysex sending)
  • -
  • Bastiaan Verreijt (Windows sysex multi-buffer code)
  • -
  • Dan Wilcox
  • -
- -\section license License - - RtMidi: realtime MIDI i/o C++ classes
- Copyright (c) 2003-2012 Gary P. Scavone - - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation files - (the "Software"), to deal in the Software without restriction, - including without limitation the rights to use, copy, modify, merge, - publish, distribute, sublicense, and/or sell copies of the Software, - and to permit persons to whom the Software is furnished to do so, - subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - Any person wishing to distribute modifications to the Software is - asked to send the modifications to the original developer so that - they can be incorporated into the canonical version. This is, - however, not a binding provision of this license. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR - ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF - CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -*/ diff --git a/source/modules/rtmidi/doc/html/RtError_8h-source.html b/source/modules/rtmidi/doc/html/RtError_8h-source.html deleted file mode 100644 index 4f7ad8a2f..000000000 --- a/source/modules/rtmidi/doc/html/RtError_8h-source.html +++ /dev/null @@ -1,65 +0,0 @@ - - -The RtMidi Tutorial - - - -
-Tutorial   Class/Enum List   File List   Compound Members  
-
- -

RtError.h

00001 /************************************************************************/
-00010 /************************************************************************/
-00011 
-00012 #ifndef RTERROR_H
-00013 #define RTERROR_H
-00014 
-00015 #include <iostream>
-00016 #include <string>
-00017 
-00018 class RtError
-00019 {
-00020 public:
-00022   enum Type {
-00023     WARNING,           
-00024     DEBUG_WARNING,     
-00025     UNSPECIFIED,       
-00026     NO_DEVICES_FOUND,  
-00027     INVALID_DEVICE,    
-00028     INVALID_STREAM,    
-00029     MEMORY_ERROR,      
-00030     INVALID_PARAMETER, 
-00031     DRIVER_ERROR,      
-00032     SYSTEM_ERROR,      
-00033     THREAD_ERROR       
-00034   };
-00035 
-00036 protected:
-00037   std::string message_;
-00038   Type type_;
-00039 
-00040 public:
-00042   RtError(const std::string& message, Type type = RtError::UNSPECIFIED) : message_(message), type_(type) {}
-00043 
-00045   virtual ~RtError(void) {};
-00046 
-00048   virtual void printMessage(void) { std::cerr << '\n' << message_ << "\n\n"; }
-00049 
-00051   virtual const Type& getType(void) { return type_; }
-00052 
-00054   virtual const std::string& getMessage(void) { return message_; }
-00055 
-00057   virtual const char *getMessageString(void) { return message_.c_str(); }
-00058 };
-00059 
-00060 #endif
-
-
- - - -
©2003-2009 Gary P. Scavone, McGill University. All Rights Reserved.
- Maintained by Gary P. Scavone, gary at music.mcgill.ca
- - - diff --git a/source/modules/rtmidi/doc/html/RtError_8h_source.html b/source/modules/rtmidi/doc/html/RtError_8h_source.html deleted file mode 100644 index 24c3fc466..000000000 --- a/source/modules/rtmidi/doc/html/RtError_8h_source.html +++ /dev/null @@ -1,65 +0,0 @@ - - -The RtMidi Tutorial - - - -
-Tutorial   Class/Enum List   File List   Compound Members  
-
- -

RtError.h

00001 /************************************************************************/
-00010 /************************************************************************/
-00011 
-00012 #ifndef RTERROR_H
-00013 #define RTERROR_H
-00014 
-00015 #include <exception>
-00016 #include <iostream>
-00017 #include <string>
-00018 
-00019 class RtError : public std::exception
-00020 {
-00021  public:
-00023   enum Type {
-00024     WARNING,           
-00025     DEBUG_WARNING,     
-00026     UNSPECIFIED,       
-00027     NO_DEVICES_FOUND,  
-00028     INVALID_DEVICE,    
-00029     MEMORY_ERROR,      
-00030     INVALID_PARAMETER, 
-00031     INVALID_USE,       
-00032     DRIVER_ERROR,      
-00033     SYSTEM_ERROR,      
-00034     THREAD_ERROR       
-00035   };
-00036 
-00038   RtError( const std::string& message, Type type = RtError::UNSPECIFIED ) throw() : message_(message), type_(type) {}
-00039  
-00041   virtual ~RtError( void ) throw() {}
-00042 
-00044   virtual void printMessage( void ) const throw() { std::cerr << '\n' << message_ << "\n\n"; }
-00045 
-00047   virtual const Type& getType(void) const throw() { return type_; }
-00048 
-00050   virtual const std::string& getMessage(void) const throw() { return message_; }
-00051 
-00053   virtual const char* what( void ) const throw() { return message_.c_str(); }
-00054 
-00055  protected:
-00056   std::string message_;
-00057   Type type_;
-00058 };
-00059 
-00060 #endif
-
-
- - - -
©2003-2012 Gary P. Scavone, McGill University. All Rights Reserved.
- Maintained by Gary P. Scavone, gary at music.mcgill.ca
- - - diff --git a/source/modules/rtmidi/doc/html/RtMidi_8h-source.html b/source/modules/rtmidi/doc/html/RtMidi_8h-source.html deleted file mode 100644 index b970ec72d..000000000 --- a/source/modules/rtmidi/doc/html/RtMidi_8h-source.html +++ /dev/null @@ -1,179 +0,0 @@ - - -The RtMidi Tutorial - - - -
-Tutorial   Class/Enum List   File List   Compound Members  
-
- -

RtMidi.h

00001 /**********************************************************************/
-00036 /**********************************************************************/
-00037 
-00038 // RtMidi: Version 1.0.11
-00039 
-00040 #ifndef RTMIDI_H
-00041 #define RTMIDI_H
-00042 
-00043 #include "RtError.h"
-00044 #include <string>
-00045 
-00046 class RtMidi
-00047 {
-00048  public:
-00049 
-00051   virtual void openPort( unsigned int portNumber = 0, const std::string portName = std::string( "RtMidi" ) ) = 0;
-00052 
-00054   virtual void openVirtualPort( const std::string portName = std::string( "RtMidi" ) ) = 0;
-00055 
-00057   virtual unsigned int getPortCount() = 0;
-00058 
-00060   virtual std::string getPortName( unsigned int portNumber = 0 ) = 0;
-00061 
-00063   virtual void closePort( void ) = 0;
-00064 
-00065  protected:
-00066 
-00067   RtMidi();
-00068   virtual ~RtMidi() {};
-00069 
-00070   // A basic error reporting function for internal use in the RtMidi
-00071   // subclasses.  The behavior of this function can be modified to
-00072   // suit specific needs.
-00073   void error( RtError::Type type );
-00074 
-00075   void *apiData_;
-00076   bool connected_;
-00077   std::string errorString_;
-00078 };
-00079 
-00080 /**********************************************************************/
-00096 /**********************************************************************/
-00097 
-00098 #include <vector>
-00099 #include <queue>
-00100 
-00101 class RtMidiIn : public RtMidi
-00102 {
-00103  public:
-00104 
-00106   typedef void (*RtMidiCallback)( double timeStamp, std::vector<unsigned char> *message, void *userData);
-00107 
-00109 
-00112   RtMidiIn( const std::string clientName = std::string( "RtMidi Input Client") );
-00113 
-00115   ~RtMidiIn();
-00116 
-00118 
-00122   void openPort( unsigned int portNumber = 0, const std::string Portname = std::string( "RtMidi Input" ) );
-00123 
-00125 
-00131   void openVirtualPort( const std::string portName = std::string( "RtMidi Input" ) );
-00132 
-00134 
-00140   void setCallback( RtMidiCallback callback, void *userData = 0 );
-00141 
-00143 
-00147   void cancelCallback();
-00148 
-00150   void closePort( void );
-00151 
-00153   unsigned int getPortCount();
-00154 
-00156 
-00159   std::string getPortName( unsigned int portNumber = 0 );
-00160 
-00162 
-00166   void setQueueSizeLimit( unsigned int queueSize );
-00167 
-00169 
-00176   void ignoreTypes( bool midiSysex = true, bool midiTime = true, bool midiSense = true );
-00177 
-00179 
-00186   double getMessage( std::vector<unsigned char> *message );
-00187 
-00188   // A MIDI structure used internally by the class to store incoming
-00189   // messages.  Each message represents one and only one MIDI message.
-00190   struct MidiMessage { 
-00191     std::vector<unsigned char> bytes; 
-00192     double timeStamp;
-00193 
-00194     // Default constructor.
-00195     MidiMessage()
-00196       :bytes(3), timeStamp(0.0) {}
-00197   };
-00198 
-00199   // The RtMidiInData structure is used to pass private class data to
-00200   // the MIDI input handling function or thread.
-00201   struct RtMidiInData {
-00202     std::queue<MidiMessage> queue;
-00203     MidiMessage message;
-00204     unsigned int queueLimit;
-00205     unsigned char ignoreFlags;
-00206     bool doInput;
-00207     bool firstMessage;
-00208     void *apiData;
-00209     bool usingCallback;
-00210     void *userCallback;
-00211     void *userData;
-00212     bool continueSysex;
-00213 
-00214     // Default constructor.
-00215     RtMidiInData()
-00216       : queueLimit(1024), ignoreFlags(7), doInput(false), firstMessage(true),
-00217         apiData(0), usingCallback(false), userCallback(0), userData(0),
-00218         continueSysex(false) {}
-00219   };
-00220 
-00221  private:
-00222 
-00223   void initialize( const std::string& clientName );
-00224   RtMidiInData inputData_;
-00225 
-00226 };
-00227 
-00228 /**********************************************************************/
-00240 /**********************************************************************/
-00241 
-00242 class RtMidiOut : public RtMidi
-00243 {
-00244  public:
-00245 
-00247 
-00250   RtMidiOut( const std::string clientName = std::string( "RtMidi Output Client" ) );
-00251 
-00253   ~RtMidiOut();
-00254 
-00256 
-00262   void openPort( unsigned int portNumber = 0, const std::string portName = std::string( "RtMidi Output" ) );
-00263 
-00265   void closePort();
-00266 
-00268 
-00276   void openVirtualPort( const std::string portName = std::string( "RtMidi Output" ) );
-00277 
-00279   unsigned int getPortCount();
-00280 
-00282 
-00285   std::string getPortName( unsigned int portNumber = 0 );
-00286 
-00288 
-00292   void sendMessage( std::vector<unsigned char> *message );
-00293 
-00294  private:
-00295 
-00296   void initialize( const std::string& clientName );
-00297 };
-00298 
-00299 #endif
-
-
- - - -
©2003-2009 Gary P. Scavone, McGill University. All Rights Reserved.
- Maintained by Gary P. Scavone, gary at music.mcgill.ca
- - - diff --git a/source/modules/rtmidi/doc/html/RtMidi_8h.html b/source/modules/rtmidi/doc/html/RtMidi_8h.html deleted file mode 100644 index b5c22ef4b..000000000 --- a/source/modules/rtmidi/doc/html/RtMidi_8h.html +++ /dev/null @@ -1,51 +0,0 @@ - - -The RtMidi Tutorial - - - -
-Tutorial   Class/Enum List   File List   Compound Members  
-
- -
-

RtMidi.h File Reference

#include "RtError.h"
-#include <string>
-#include <vector>
- -

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - - - - -

Classes

class  RtMidi
 An abstract base class for realtime MIDI input/output. More...
class  RtMidiIn
 A realtime MIDI input class. More...
class  RtMidiOut
 A realtime MIDI output class. More...
class  MidiInApi
struct  MidiInApi::MidiMessage
struct  MidiInApi::MidiQueue
struct  MidiInApi::RtMidiInData
class  MidiOutApi
class  MidiInCore
class  MidiOutCore
class  MidiInJack
class  MidiOutJack
class  MidiInAlsa
class  MidiOutAlsa
class  MidiInWinMM
class  MidiOutWinMM
class  MidiInWinKS
class  MidiOutWinKS
-

Detailed Description

-
-
- - - -
©2003-2012 Gary P. Scavone, McGill University. All Rights Reserved.
- Maintained by Gary P. Scavone, gary at music.mcgill.ca
- - - diff --git a/source/modules/rtmidi/doc/html/RtMidi_8h_source.html b/source/modules/rtmidi/doc/html/RtMidi_8h_source.html deleted file mode 100644 index 92be2abc4..000000000 --- a/source/modules/rtmidi/doc/html/RtMidi_8h_source.html +++ /dev/null @@ -1,531 +0,0 @@ - - -The RtMidi Tutorial - - - -
-Tutorial   Class/Enum List   File List   Compound Members  
-
- -

RtMidi.h

Go to the documentation of this file.
00001 /**********************************************************************/
-00037 /**********************************************************************/
-00038 
-00043 // RtMidi: Version 2.0.1
-00044 
-00045 #ifndef RTMIDI_H
-00046 #define RTMIDI_H
-00047 
-00048 #include "RtError.h"
-00049 #include <string>
-00050 #include <vector>
-00051 
-00052 class RtMidi
-00053 {
-00054  public:
-00055 
-00057   enum Api {
-00058     UNSPECIFIED,    
-00059     MACOSX_CORE,    
-00060     LINUX_ALSA,     
-00061     UNIX_JACK,      
-00062     WINDOWS_MM,     
-00063     WINDOWS_KS,     
-00064     RTMIDI_DUMMY    
-00065   };
-00066 
-00068 
-00073   static void getCompiledApi( std::vector<RtMidi::Api> &apis ) throw();
-00074 
-00076   virtual void openPort( unsigned int portNumber = 0, const std::string portName = std::string( "RtMidi" ) ) = 0;
-00077 
-00079   virtual void openVirtualPort( const std::string portName = std::string( "RtMidi" ) ) = 0;
-00080 
-00082   virtual unsigned int getPortCount() = 0;
-00083 
-00085   virtual std::string getPortName( unsigned int portNumber = 0 ) = 0;
-00086 
-00088   virtual void closePort( void ) = 0;
-00089 
-00091   static void error( RtError::Type type, std::string errorString );
-00092 
-00093  protected:
-00094 
-00095   RtMidi() {};
-00096   virtual ~RtMidi() {};
-00097 };
-00098 
-00099 /**********************************************************************/
-00115 /**********************************************************************/
-00116 
-00117 // **************************************************************** //
-00118 //
-00119 // RtMidiIn and RtMidiOut class declarations.
-00120 //
-00121 // RtMidiIn / RtMidiOut are "controllers" used to select an available
-00122 // MIDI input or output interface.  They present common APIs for the
-00123 // user to call but all functionality is implemented by the classes
-00124 // MidiInApi, MidiOutApi and their subclasses.  RtMidiIn and RtMidiOut
-00125 // each create an instance of a MidiInApi or MidiOutApi subclass based
-00126 // on the user's API choice.  If no choice is made, they attempt to
-00127 // make a "logical" API selection.
-00128 //
-00129 // **************************************************************** //
-00130 
-00131 class MidiInApi;
-00132 class MidiOutApi;
-00133 
-00134 class RtMidiIn : public RtMidi
-00135 {
-00136  public:
-00137 
-00139   typedef void (*RtMidiCallback)( double timeStamp, std::vector<unsigned char> *message, void *userData);
-00140 
-00142 
-00153   RtMidiIn( RtMidi::Api api=UNSPECIFIED,
-00154             const std::string clientName = std::string( "RtMidi Input Client"),
-00155             unsigned int queueSizeLimit = 100 );
-00156 
-00158   ~RtMidiIn ( void ) throw();
-00159 
-00161   RtMidi::Api getCurrentApi( void ) throw();
-00162 
-00164 
-00168   void openPort( unsigned int portNumber = 0, const std::string portName = std::string( "RtMidi Input" ) );
-00169 
-00171 
-00177   void openVirtualPort( const std::string portName = std::string( "RtMidi Input" ) );
-00178 
-00180 
-00186   void setCallback( RtMidiCallback callback, void *userData = 0 );
-00187 
-00189 
-00193   void cancelCallback();
-00194 
-00196   void closePort( void );
-00197 
-00199   unsigned int getPortCount();
-00200 
-00202 
-00205   std::string getPortName( unsigned int portNumber = 0 );
-00206 
-00208 
-00215   void ignoreTypes( bool midiSysex = true, bool midiTime = true, bool midiSense = true );
-00216 
-00218 
-00225   double getMessage( std::vector<unsigned char> *message );
-00226 
-00227  protected:
-00228   void openMidiApi( RtMidi::Api api, const std::string clientName, unsigned int queueSizeLimit );
-00229   MidiInApi *rtapi_;
-00230 
-00231 };
-00232 
-00233 /**********************************************************************/
-00247 /**********************************************************************/
-00248 
-00249 class RtMidiOut : public RtMidi
-00250 {
-00251  public:
-00252 
-00254 
-00261   RtMidiOut( RtMidi::Api api=UNSPECIFIED,
-00262              const std::string clientName = std::string( "RtMidi Output Client") );
-00263 
-00265   ~RtMidiOut( void ) throw();
-00266 
-00268   RtMidi::Api getCurrentApi( void ) throw();
-00269 
-00271 
-00277   void openPort( unsigned int portNumber = 0, const std::string portName = std::string( "RtMidi Output" ) );
-00278 
-00280   void closePort( void );
-00281 
-00283 
-00291   void openVirtualPort( const std::string portName = std::string( "RtMidi Output" ) );
-00292 
-00294   unsigned int getPortCount( void );
-00295 
-00297 
-00300   std::string getPortName( unsigned int portNumber = 0 );
-00301 
-00303 
-00307   void sendMessage( std::vector<unsigned char> *message );
-00308 
-00309  protected:
-00310   void openMidiApi( RtMidi::Api api, const std::string clientName );
-00311   MidiOutApi *rtapi_;
-00312 };
-00313 
-00314 
-00315 // **************************************************************** //
-00316 //
-00317 // MidiInApi / MidiOutApi class declarations.
-00318 //
-00319 // Subclasses of MidiInApi and MidiOutApi contain all API- and
-00320 // OS-specific code necessary to fully implement the RtMidi API.
-00321 //
-00322 // Note that MidiInApi and MidiOutApi are abstract base classes and
-00323 // cannot be explicitly instantiated.  RtMidiIn and RtMidiOut will
-00324 // create instances of a MidiInApi or MidiOutApi subclass.
-00325 //
-00326 // **************************************************************** //
-00327 
-00328 class MidiInApi
-00329 {
-00330  public:
-00331 
-00332   MidiInApi( unsigned int queueSizeLimit );
-00333   virtual ~MidiInApi( void );
-00334   virtual RtMidi::Api getCurrentApi( void ) = 0;
-00335   virtual void openPort( unsigned int portNumber, const std::string portName ) = 0;
-00336   virtual void openVirtualPort( const std::string portName ) = 0;
-00337   virtual void closePort( void ) = 0;
-00338   void setCallback( RtMidiIn::RtMidiCallback callback, void *userData );
-00339   void cancelCallback( void );
-00340   virtual unsigned int getPortCount( void ) = 0;
-00341   virtual std::string getPortName( unsigned int portNumber ) = 0;
-00342   virtual void ignoreTypes( bool midiSysex, bool midiTime, bool midiSense );
-00343   double getMessage( std::vector<unsigned char> *message );
-00344 
-00345   // A MIDI structure used internally by the class to store incoming
-00346   // messages.  Each message represents one and only one MIDI message.
-00347   struct MidiMessage { 
-00348     std::vector<unsigned char> bytes; 
-00349     double timeStamp;
-00350 
-00351     // Default constructor.
-00352   MidiMessage()
-00353   :bytes(0), timeStamp(0.0) {}
-00354   };
-00355 
-00356   struct MidiQueue {
-00357     unsigned int front;
-00358     unsigned int back;
-00359     unsigned int size;
-00360     unsigned int ringSize;
-00361     MidiMessage *ring;
-00362 
-00363     // Default constructor.
-00364   MidiQueue()
-00365   :front(0), back(0), size(0), ringSize(0) {}
-00366   };
-00367 
-00368   // The RtMidiInData structure is used to pass private class data to
-00369   // the MIDI input handling function or thread.
-00370   struct RtMidiInData {
-00371     MidiQueue queue;
-00372     MidiMessage message;
-00373     unsigned char ignoreFlags;
-00374     bool doInput;
-00375     bool firstMessage;
-00376     void *apiData;
-00377     bool usingCallback;
-00378     void *userCallback;
-00379     void *userData;
-00380     bool continueSysex;
-00381 
-00382     // Default constructor.
-00383   RtMidiInData()
-00384   : ignoreFlags(7), doInput(false), firstMessage(true),
-00385       apiData(0), usingCallback(false), userCallback(0), userData(0),
-00386       continueSysex(false) {}
-00387   };
-00388 
-00389  protected:
-00390   virtual void initialize( const std::string& clientName ) = 0;
-00391   RtMidiInData inputData_;
-00392 
-00393   void *apiData_;
-00394   bool connected_;
-00395   std::string errorString_;
-00396 };
-00397 
-00398 class MidiOutApi
-00399 {
-00400  public:
-00401 
-00402   MidiOutApi( void );
-00403   virtual ~MidiOutApi( void );
-00404   virtual RtMidi::Api getCurrentApi( void ) = 0;
-00405   virtual void openPort( unsigned int portNumber, const std::string portName ) = 0;
-00406   virtual void openVirtualPort( const std::string portName ) = 0;
-00407   virtual void closePort( void ) = 0;
-00408   virtual unsigned int getPortCount( void ) = 0;
-00409   virtual std::string getPortName( unsigned int portNumber ) = 0;
-00410   virtual void sendMessage( std::vector<unsigned char> *message ) = 0;
-00411 
-00412  protected:
-00413   virtual void initialize( const std::string& clientName ) = 0;
-00414 
-00415   void *apiData_;
-00416   bool connected_;
-00417   std::string errorString_;
-00418 };
-00419 
-00420 // **************************************************************** //
-00421 //
-00422 // Inline RtMidiIn and RtMidiOut definitions.
-00423 //
-00424 // **************************************************************** //
-00425 
-00426 inline RtMidi::Api RtMidiIn :: getCurrentApi( void ) throw() { return rtapi_->getCurrentApi(); }
-00427 inline void RtMidiIn :: openPort( unsigned int portNumber, const std::string portName ) { return rtapi_->openPort( portNumber, portName ); }
-00428 inline void RtMidiIn :: openVirtualPort( const std::string portName ) { return rtapi_->openVirtualPort( portName ); }
-00429 inline void RtMidiIn :: closePort( void ) { return rtapi_->closePort(); }
-00430 inline void RtMidiIn :: setCallback( RtMidiCallback callback, void *userData ) { return rtapi_->setCallback( callback, userData ); }
-00431 inline void RtMidiIn :: cancelCallback( void ) { return rtapi_->cancelCallback(); }
-00432 inline unsigned int RtMidiIn :: getPortCount( void ) { return rtapi_->getPortCount(); }
-00433 inline std::string RtMidiIn :: getPortName( unsigned int portNumber ) { return rtapi_->getPortName( portNumber ); }
-00434 inline void RtMidiIn :: ignoreTypes( bool midiSysex, bool midiTime, bool midiSense ) { return rtapi_->ignoreTypes( midiSysex, midiTime, midiSense ); }
-00435 inline double RtMidiIn :: getMessage( std::vector<unsigned char> *message ) { return rtapi_->getMessage( message ); }
-00436 
-00437 inline RtMidi::Api RtMidiOut :: getCurrentApi( void ) throw() { return rtapi_->getCurrentApi(); }
-00438 inline void RtMidiOut :: openPort( unsigned int portNumber, const std::string portName ) { return rtapi_->openPort( portNumber, portName ); }
-00439 inline void RtMidiOut :: openVirtualPort( const std::string portName ) { return rtapi_->openVirtualPort( portName ); }
-00440 inline void RtMidiOut :: closePort( void ) { return rtapi_->closePort(); }
-00441 inline unsigned int RtMidiOut :: getPortCount( void ) { return rtapi_->getPortCount(); }
-00442 inline std::string RtMidiOut :: getPortName( unsigned int portNumber ) { return rtapi_->getPortName( portNumber ); }
-00443 inline void RtMidiOut :: sendMessage( std::vector<unsigned char> *message ) { return rtapi_->sendMessage( message ); }
-00444 
-00445 // **************************************************************** //
-00446 //
-00447 // MidiInApi and MidiOutApi subclass prototypes.
-00448 //
-00449 // **************************************************************** //
-00450 
-00451 #if !defined(__LINUX_ALSA__) && !defined(__UNIX_JACK__) && !defined(__MACOSX_CORE__) && !defined(__WINDOWS_MM__) && !defined(__WINDOWS_KS__)
-00452   #define __RTMIDI_DUMMY__
-00453 #endif
-00454 
-00455 #if defined(__MACOSX_CORE__)
-00456 
-00457 class MidiInCore: public MidiInApi
-00458 {
-00459  public:
-00460   MidiInCore( const std::string clientName, unsigned int queueSizeLimit );
-00461   ~MidiInCore( void );
-00462   RtMidi::Api getCurrentApi( void ) { return RtMidi::MACOSX_CORE; };
-00463   void openPort( unsigned int portNumber, const std::string portName );
-00464   void openVirtualPort( const std::string portName );
-00465   void closePort( void );
-00466   unsigned int getPortCount( void );
-00467   std::string getPortName( unsigned int portNumber );
-00468 
-00469  protected:
-00470   void initialize( const std::string& clientName );
-00471 };
-00472 
-00473 class MidiOutCore: public MidiOutApi
-00474 {
-00475  public:
-00476   MidiOutCore( const std::string clientName );
-00477   ~MidiOutCore( void );
-00478   RtMidi::Api getCurrentApi( void ) { return RtMidi::MACOSX_CORE; };
-00479   void openPort( unsigned int portNumber, const std::string portName );
-00480   void openVirtualPort( const std::string portName );
-00481   void closePort( void );
-00482   unsigned int getPortCount( void );
-00483   std::string getPortName( unsigned int portNumber );
-00484   void sendMessage( std::vector<unsigned char> *message );
-00485 
-00486  protected:
-00487   void initialize( const std::string& clientName );
-00488 };
-00489 
-00490 #endif
-00491 
-00492 #if defined(__UNIX_JACK__)
-00493 
-00494 class MidiInJack: public MidiInApi
-00495 {
-00496  public:
-00497   MidiInJack( const std::string clientName, unsigned int queueSizeLimit );
-00498   ~MidiInJack( void );
-00499   RtMidi::Api getCurrentApi( void ) { return RtMidi::UNIX_JACK; };
-00500   void openPort( unsigned int portNumber, const std::string portName );
-00501   void openVirtualPort( const std::string portName );
-00502   void closePort( void );
-00503   unsigned int getPortCount( void );
-00504   std::string getPortName( unsigned int portNumber );
-00505 
-00506  protected:
-00507   void initialize( const std::string& clientName );
-00508 };
-00509 
-00510 class MidiOutJack: public MidiOutApi
-00511 {
-00512  public:
-00513   MidiOutJack( const std::string clientName );
-00514   ~MidiOutJack( void );
-00515   RtMidi::Api getCurrentApi( void ) { return RtMidi::UNIX_JACK; };
-00516   void openPort( unsigned int portNumber, const std::string portName );
-00517   void openVirtualPort( const std::string portName );
-00518   void closePort( void );
-00519   unsigned int getPortCount( void );
-00520   std::string getPortName( unsigned int portNumber );
-00521   void sendMessage( std::vector<unsigned char> *message );
-00522 
-00523  protected:
-00524   void initialize( const std::string& clientName );
-00525 };
-00526 
-00527 #endif
-00528 
-00529 #if defined(__LINUX_ALSA__)
-00530 
-00531 class MidiInAlsa: public MidiInApi
-00532 {
-00533  public:
-00534   MidiInAlsa( const std::string clientName, unsigned int queueSizeLimit );
-00535   ~MidiInAlsa( void );
-00536   RtMidi::Api getCurrentApi( void ) { return RtMidi::LINUX_ALSA; };
-00537   void openPort( unsigned int portNumber, const std::string portName );
-00538   void openVirtualPort( const std::string portName );
-00539   void closePort( void );
-00540   unsigned int getPortCount( void );
-00541   std::string getPortName( unsigned int portNumber );
-00542 
-00543  protected:
-00544   void initialize( const std::string& clientName );
-00545 };
-00546 
-00547 class MidiOutAlsa: public MidiOutApi
-00548 {
-00549  public:
-00550   MidiOutAlsa( const std::string clientName );
-00551   ~MidiOutAlsa( void );
-00552   RtMidi::Api getCurrentApi( void ) { return RtMidi::LINUX_ALSA; };
-00553   void openPort( unsigned int portNumber, const std::string portName );
-00554   void openVirtualPort( const std::string portName );
-00555   void closePort( void );
-00556   unsigned int getPortCount( void );
-00557   std::string getPortName( unsigned int portNumber );
-00558   void sendMessage( std::vector<unsigned char> *message );
-00559 
-00560  protected:
-00561   void initialize( const std::string& clientName );
-00562 };
-00563 
-00564 #endif
-00565 
-00566 #if defined(__WINDOWS_MM__)
-00567 
-00568 class MidiInWinMM: public MidiInApi
-00569 {
-00570  public:
-00571   MidiInWinMM( const std::string clientName, unsigned int queueSizeLimit );
-00572   ~MidiInWinMM( void );
-00573   RtMidi::Api getCurrentApi( void ) { return RtMidi::WINDOWS_MM; };
-00574   void openPort( unsigned int portNumber, const std::string portName );
-00575   void openVirtualPort( const std::string portName );
-00576   void closePort( void );
-00577   unsigned int getPortCount( void );
-00578   std::string getPortName( unsigned int portNumber );
-00579 
-00580  protected:
-00581   void initialize( const std::string& clientName );
-00582 };
-00583 
-00584 class MidiOutWinMM: public MidiOutApi
-00585 {
-00586  public:
-00587   MidiOutWinMM( const std::string clientName );
-00588   ~MidiOutWinMM( void );
-00589   RtMidi::Api getCurrentApi( void ) { return RtMidi::WINDOWS_MM; };
-00590   void openPort( unsigned int portNumber, const std::string portName );
-00591   void openVirtualPort( const std::string portName );
-00592   void closePort( void );
-00593   unsigned int getPortCount( void );
-00594   std::string getPortName( unsigned int portNumber );
-00595   void sendMessage( std::vector<unsigned char> *message );
-00596 
-00597  protected:
-00598   void initialize( const std::string& clientName );
-00599 };
-00600 
-00601 #endif
-00602 
-00603 #if defined(__WINDOWS_KS__)
-00604 
-00605 class MidiInWinKS: public MidiInApi
-00606 {
-00607  public:
-00608   MidiInWinKS( const std::string clientName, unsigned int queueSizeLimit );
-00609   ~MidiInWinKS( void );
-00610   RtMidi::Api getCurrentApi( void ) { return RtMidi::WINDOWS_KS; };
-00611   void openPort( unsigned int portNumber, const std::string portName );
-00612   void openVirtualPort( const std::string portName );
-00613   void closePort( void );
-00614   unsigned int getPortCount( void );
-00615   std::string getPortName( unsigned int portNumber );
-00616 
-00617  protected:
-00618   void initialize( const std::string& clientName );
-00619 };
-00620 
-00621 class MidiOutWinKS: public MidiOutApi
-00622 {
-00623  public:
-00624   MidiOutWinKS( const std::string clientName );
-00625   ~MidiOutWinKS( void );
-00626   RtMidi::Api getCurrentApi( void ) { return RtMidi::WINDOWS_KS; };
-00627   void openPort( unsigned int portNumber, const std::string portName );
-00628   void openVirtualPort( const std::string portName );
-00629   void closePort( void );
-00630   unsigned int getPortCount( void );
-00631   std::string getPortName( unsigned int portNumber );
-00632   void sendMessage( std::vector<unsigned char> *message );
-00633 
-00634  protected:
-00635   void initialize( const std::string& clientName );
-00636 };
-00637 
-00638 #endif
-00639 
-00640 #if defined(__RTMIDI_DUMMY__)
-00641 
-00642 class MidiInDummy: public MidiInApi
-00643 {
-00644  public:
-00645  MidiInDummy( const std::string clientName, unsigned int queueSizeLimit ) : MidiInApi( queueSizeLimit ) { errorString_ = "MidiInDummy: This class provides no functionality."; RtMidi::error( RtError::WARNING, errorString_ ); };
-00646   RtMidi::Api getCurrentApi( void ) { return RtMidi::RTMIDI_DUMMY; };
-00647   void openPort( unsigned int portNumber, const std::string portName ) {};
-00648   void openVirtualPort( const std::string portName ) {};
-00649   void closePort( void ) {};
-00650   unsigned int getPortCount( void ) { return 0; };
-00651   std::string getPortName( unsigned int portNumber ) { return ""; };
-00652 
-00653  protected:
-00654   void initialize( const std::string& clientName ) {};
-00655 };
-00656 
-00657 class MidiOutDummy: public MidiOutApi
-00658 {
-00659  public:
-00660   MidiOutDummy( const std::string clientName ) { errorString_ = "MidiOutDummy: This class provides no functionality."; RtMidi::error( RtError::WARNING, errorString_ ); };
-00661   RtMidi::Api getCurrentApi( void ) { return RtMidi::RTMIDI_DUMMY; };
-00662   void openPort( unsigned int portNumber, const std::string portName ) {};
-00663   void openVirtualPort( const std::string portName ) {};
-00664   void closePort( void ) {};
-00665   unsigned int getPortCount( void ) { return 0; };
-00666   std::string getPortName( unsigned int portNumber ) { return ""; };
-00667   void sendMessage( std::vector<unsigned char> *message ) {};
-00668 
-00669  protected:
-00670   void initialize( const std::string& clientName ) {};
-00671 };
-00672 
-00673 #endif
-00674 
-00675 #endif
-
-
- - - -
©2003-2012 Gary P. Scavone, McGill University. All Rights Reserved.
- Maintained by Gary P. Scavone, gary at music.mcgill.ca
- - - diff --git a/source/modules/rtmidi/doc/html/annotated.html b/source/modules/rtmidi/doc/html/annotated.html deleted file mode 100644 index 894c73590..000000000 --- a/source/modules/rtmidi/doc/html/annotated.html +++ /dev/null @@ -1,42 +0,0 @@ - - -The RtMidi Tutorial - - - -
-Tutorial   Class/Enum List   File List   Compound Members  
-
- -
-

Class List

Here are the classes, structs, unions and interfaces with brief descriptions: - - - - - - - - - - - - - - - - - - - -
MidiInAlsa
MidiInApi
MidiInCore
MidiInJack
MidiInWinKS
MidiInWinMM
MidiInApi::MidiMessage
MidiOutAlsa
MidiOutApi
MidiOutCore
MidiOutJack
MidiOutWinKS
MidiOutWinMM
MidiInApi::MidiQueue
RtErrorException handling class for RtAudio & RtMidi
RtMidiAn abstract base class for realtime MIDI input/output
RtMidiInA realtime MIDI input class
MidiInApi::RtMidiInData
RtMidiOutA realtime MIDI output class
-
-
- - - -
©2003-2012 Gary P. Scavone, McGill University. All Rights Reserved.
- Maintained by Gary P. Scavone, gary at music.mcgill.ca
- - - diff --git a/source/modules/rtmidi/doc/html/classMidiInAlsa-members.html b/source/modules/rtmidi/doc/html/classMidiInAlsa-members.html deleted file mode 100644 index f4e228e8d..000000000 --- a/source/modules/rtmidi/doc/html/classMidiInAlsa-members.html +++ /dev/null @@ -1,22 +0,0 @@ - - -The RtMidi Tutorial - - - -
-Tutorial   Class/Enum List   File List   Compound Members  
-
- -
-

MidiInAlsa Member List

This is the complete list of members for MidiInAlsa, including all inherited members. -
-
- - - -
©2003-2012 Gary P. Scavone, McGill University. All Rights Reserved.
- Maintained by Gary P. Scavone, gary at music.mcgill.ca
- - - diff --git a/source/modules/rtmidi/doc/html/classMidiInAlsa.html b/source/modules/rtmidi/doc/html/classMidiInAlsa.html deleted file mode 100644 index ceb57eaa3..000000000 --- a/source/modules/rtmidi/doc/html/classMidiInAlsa.html +++ /dev/null @@ -1,38 +0,0 @@ - - -The RtMidi Tutorial - - - -
-Tutorial   Class/Enum List   File List   Compound Members  
-
- -
-

MidiInAlsa Class Reference

-Inheritance diagram for MidiInAlsa:
-
-
- - -MidiInApi - -
-
- -

List of all members.

- -
-
The documentation for this class was generated from the following file: -
-
- - - -
©2003-2012 Gary P. Scavone, McGill University. All Rights Reserved.
- Maintained by Gary P. Scavone, gary at music.mcgill.ca
- - - diff --git a/source/modules/rtmidi/doc/html/classMidiInAlsa.png b/source/modules/rtmidi/doc/html/classMidiInAlsa.png deleted file mode 100644 index b84f1d18e6fab24111035694cee0fb108a528a77..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 372 zcmeAS@N?(olHy`uVBq!ia0vp^?m!&C!3-p8_Rin~QW60^A+G=b{|7Sv|35H)e!>JG z3ycpOI8c4){}UjWqa?^L7$^+}S5Ji)F)%PPd%8G=R4~4sd$;e10!M50vd;JaPgFOu z@-MyiZi4UT#vbLUbLuDl+{vr%%l)l>xNGyd#(dY3^15)pFzPg;Du_rejJv-6k;rn3qndt&_l`UE<$8GTwCJA0 z%wBqQadL{_+?+Xb$&TrP{Bchm($2E~x?r)1*|uy2_wnlb%6yqH - -The RtMidi Tutorial - - - -
-Tutorial   Class/Enum List   File List   Compound Members  
-
- -
-

MidiInApi Member List

This is the complete list of members for MidiInApi, including all inherited members. -
-
- - - -
©2003-2012 Gary P. Scavone, McGill University. All Rights Reserved.
- Maintained by Gary P. Scavone, gary at music.mcgill.ca
- - - diff --git a/source/modules/rtmidi/doc/html/classMidiInApi.html b/source/modules/rtmidi/doc/html/classMidiInApi.html deleted file mode 100644 index 177233b22..000000000 --- a/source/modules/rtmidi/doc/html/classMidiInApi.html +++ /dev/null @@ -1,46 +0,0 @@ - - -The RtMidi Tutorial - - - -
-Tutorial   Class/Enum List   File List   Compound Members  
-
- -
-

MidiInApi Class Reference

-Inheritance diagram for MidiInApi:
-
-
- - -MidiInAlsa -MidiInCore -MidiInJack -MidiInWinKS -MidiInWinMM - -
-
- -

List of all members.

- - - - - -

Classes

struct  MidiMessage
struct  MidiQueue
struct  RtMidiInData
-
The documentation for this class was generated from the following file: -
-
- - - -
©2003-2012 Gary P. Scavone, McGill University. All Rights Reserved.
- Maintained by Gary P. Scavone, gary at music.mcgill.ca
- - - diff --git a/source/modules/rtmidi/doc/html/classMidiInApi.png b/source/modules/rtmidi/doc/html/classMidiInApi.png deleted file mode 100644 index 573ae37a658d67fbdce3a345c922b10eb696d587..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 825 zcmeAS@N?(olHy`uVBq!ia0y~yV0;Q>2XHV0Nr8EDm4K8)fKQ0)|NsAi%>Vxn%%7hy z0muU50|yRNANv0U$mJ*r@(Tt^gTd8PAw~=gOeZ{D978G?-_E_AcSM25W%}AJ|Noz? zZAj4LW4lzsY!$qAfy&1OdA;@PZJ)fmr1te@%crD5!6|}M7V@NOI9FPqIzFL0_WtQO z+yCsRvID*)FPu32Quy3f!BejT%J%hE-#ps>@9+ov>dK?SwO4o)26qUsqdcJYV4o0Yvbd2_V?O8MNRqtBwNE- z(oxd3`_up9t^sZVZAL)*pB~k`uj;jXh20c}QyJVR_}SjGZWgbdq^ zR=sYXw|Htfqged*1$F_)m`+7FNOEf=Gp6dyuo1h$&i#rxRcApD>y(WRMq&ZSl8!w} zcbGqM`o@Y0N6-J3TRQppquW4Lr+`SI!H8p?_f1dfUHi&=)b&%H?@oSiSa8m?Ir{5M zuSN6f->!_hadGaSPmcDpQp2NTI_LAZg)Nlfm=>QdkaA3TN-neYF4vvPo!nE-zTj-N zsgjwZ&h_-Cw zoN!<|wP0J#>?!S!`UCjpdq3C|UU}v8s@kMzHp38;OSVz!+h(>*vCZAJ>4kRSrEUYG zu3q8aPJcc`z9|b@muQyXT6k)zqi>}3f;NrS+D7fMQ}@r`6sGil`r!#jda5h+{s}zI z5nU;!Cs$CE#2>JYr{vUD_wG$IU4+W!Y>HKy+O$j4!(5o zOiz_g*86vQ%4WZJp>gMer}zV%rpL5h!~gE-X^xhEXA19D=Un@8Q - -The RtMidi Tutorial - - - -
-Tutorial   Class/Enum List   File List   Compound Members  
-
- -
-

MidiInCore Member List

This is the complete list of members for MidiInCore, including all inherited members. -
-
- - - -
©2003-2012 Gary P. Scavone, McGill University. All Rights Reserved.
- Maintained by Gary P. Scavone, gary at music.mcgill.ca
- - - diff --git a/source/modules/rtmidi/doc/html/classMidiInCore.html b/source/modules/rtmidi/doc/html/classMidiInCore.html deleted file mode 100644 index cc3114546..000000000 --- a/source/modules/rtmidi/doc/html/classMidiInCore.html +++ /dev/null @@ -1,38 +0,0 @@ - - -The RtMidi Tutorial - - - -
-Tutorial   Class/Enum List   File List   Compound Members  
-
- -
-

MidiInCore Class Reference

-Inheritance diagram for MidiInCore:
-
-
- - -MidiInApi - -
-
- -

List of all members.

- -
-
The documentation for this class was generated from the following file: -
-
- - - -
©2003-2012 Gary P. Scavone, McGill University. All Rights Reserved.
- Maintained by Gary P. Scavone, gary at music.mcgill.ca
- - - diff --git a/source/modules/rtmidi/doc/html/classMidiInCore.png b/source/modules/rtmidi/doc/html/classMidiInCore.png deleted file mode 100644 index 65f21742d6f026c48e0255e98b8a14dc9bd11407..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 372 zcmeAS@N?(olHy`uVBq!ia0vp^UO*hc!3-ojorU)SDTx4|5ZC|z{{xx-{~wq?KVbrp z1;z&s9H>6@{|S)GQ4-`A43q|gtEWPY7#J9tJzX3_Dj471y~}qjt_TjVmjv0_xalQDeJPTax{W3O<}4?zpjzj+$_~#`t{Rhqw_cT`a<7Y|2Q^d zPt5m4pO(MZ68--Csnpf!-=bGtGtll^WqO8d$-gblo~lzrf;?4A!?_X{E3Epo#BRYZ z4nECG+Ke}JbVSZ-ZI8XM^V=QA#B-}vOmzF%W~{1OzwLGO4xqaHvxl) N!PC{xWt~$(695GjqT&Dm diff --git a/source/modules/rtmidi/doc/html/classMidiInDummy-members.html b/source/modules/rtmidi/doc/html/classMidiInDummy-members.html deleted file mode 100644 index 3c8d88e77..000000000 --- a/source/modules/rtmidi/doc/html/classMidiInDummy-members.html +++ /dev/null @@ -1,22 +0,0 @@ - - -The RtMidi Tutorial - - - -
-Tutorial   Class/Enum List   File List   Compound Members  
-
- -
-

MidiInDummy Member List

This is the complete list of members for MidiInDummy, including all inherited members. -
-
- - - -
©2003-2012 Gary P. Scavone, McGill University. All Rights Reserved.
- Maintained by Gary P. Scavone, gary at music.mcgill.ca
- - - diff --git a/source/modules/rtmidi/doc/html/classMidiInDummy.html b/source/modules/rtmidi/doc/html/classMidiInDummy.html deleted file mode 100644 index cb22287c9..000000000 --- a/source/modules/rtmidi/doc/html/classMidiInDummy.html +++ /dev/null @@ -1,38 +0,0 @@ - - -The RtMidi Tutorial - - - -
-Tutorial   Class/Enum List   File List   Compound Members  
-
- -
-

MidiInDummy Class Reference

-Inheritance diagram for MidiInDummy:
-
-
- - -MidiInApi - -
-
- -

List of all members.

- -
-
The documentation for this class was generated from the following file: -
-
- - - -
©2003-2012 Gary P. Scavone, McGill University. All Rights Reserved.
- Maintained by Gary P. Scavone, gary at music.mcgill.ca
- - - diff --git a/source/modules/rtmidi/doc/html/classMidiInDummy.png b/source/modules/rtmidi/doc/html/classMidiInDummy.png deleted file mode 100644 index b0bb7b5faa244b4572e1ac2cd3c3d30aa2ebd8f2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 385 zcmeAS@N?(olHy`uVBq!ia0vp^;XoX~!3-p$g(aT>DTx4|5ZC|z{{xx-{~wq?KVbrp z1;z&s9H>6@{|S)GQ4-`A43q|gtEWPY7#J7@JY5_^Dj471jpb`L;9z)QH2L2D6V(l$ zE++>0T%2+7jL6o%N4nl^m9< - -The RtMidi Tutorial - - - -
-Tutorial   Class/Enum List   File List   Compound Members  
-
- -
-

MidiInJack Member List

This is the complete list of members for MidiInJack, including all inherited members. -
-
- - - -
©2003-2012 Gary P. Scavone, McGill University. All Rights Reserved.
- Maintained by Gary P. Scavone, gary at music.mcgill.ca
- - - diff --git a/source/modules/rtmidi/doc/html/classMidiInJack.html b/source/modules/rtmidi/doc/html/classMidiInJack.html deleted file mode 100644 index 04b90bb4d..000000000 --- a/source/modules/rtmidi/doc/html/classMidiInJack.html +++ /dev/null @@ -1,38 +0,0 @@ - - -The RtMidi Tutorial - - - -
-Tutorial   Class/Enum List   File List   Compound Members  
-
- -
-

MidiInJack Class Reference

-Inheritance diagram for MidiInJack:
-
-
- - -MidiInApi - -
-
- -

List of all members.

- -
-
The documentation for this class was generated from the following file: -
-
- - - -
©2003-2012 Gary P. Scavone, McGill University. All Rights Reserved.
- Maintained by Gary P. Scavone, gary at music.mcgill.ca
- - - diff --git a/source/modules/rtmidi/doc/html/classMidiInJack.png b/source/modules/rtmidi/doc/html/classMidiInJack.png deleted file mode 100644 index fa5a0081ceacdefbd937846e22d1e427898cbbdf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 369 zcmeAS@N?(olHy`uVBq!ia0vp^o=OzQW60^A+G=b{|7Sv|35H)e!>JG z3ycpOI8c4){}UjWqa?^L7$^+}S5Ji)F)%PPc)B=-R4~4sdz-J>fTQhi`lavnPhtZs zL)Wlx%HdXF%Xz3Rawl)PsrR(6Qo3wSUwEF)f&n*|HR=i4xxH5<3(j4K6 z$sT`g&vY_q-HZOjQz}2X#BaC1j}hnFNep_g1v{+`)OY@vVX|9YIH~%1vDKTqtdi}o z=6ihg{@yU - -The RtMidi Tutorial - - - -
-Tutorial   Class/Enum List   File List   Compound Members  
-
- -
-

MidiInWinKS Member List

This is the complete list of members for MidiInWinKS, including all inherited members. -
-
- - - -
©2003-2012 Gary P. Scavone, McGill University. All Rights Reserved.
- Maintained by Gary P. Scavone, gary at music.mcgill.ca
- - - diff --git a/source/modules/rtmidi/doc/html/classMidiInWinKS.html b/source/modules/rtmidi/doc/html/classMidiInWinKS.html deleted file mode 100644 index a10fac26c..000000000 --- a/source/modules/rtmidi/doc/html/classMidiInWinKS.html +++ /dev/null @@ -1,38 +0,0 @@ - - -The RtMidi Tutorial - - - -
-Tutorial   Class/Enum List   File List   Compound Members  
-
- -
-

MidiInWinKS Class Reference

-Inheritance diagram for MidiInWinKS:
-
-
- - -MidiInApi - -
-
- -

List of all members.

- -
-
The documentation for this class was generated from the following file: -
-
- - - -
©2003-2012 Gary P. Scavone, McGill University. All Rights Reserved.
- Maintained by Gary P. Scavone, gary at music.mcgill.ca
- - - diff --git a/source/modules/rtmidi/doc/html/classMidiInWinKS.png b/source/modules/rtmidi/doc/html/classMidiInWinKS.png deleted file mode 100644 index b79159bc2b1b3aecff4c0cc440f8ee1e8fe06a74..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 385 zcmeAS@N?(olHy`uVBq!ia0vp^!9X0q!3-pWe(anBq$C1-LR|m<{|{vT|9@cq{DcWW z78oBmaG?6o|0h5$M@f)hFi;u{uAT}pVqjnt@N{tusbGA2_cq@l1s;YAS5^P~SN|RG zg110b^YYOoj-JyS1B~PQjrYks*WR^c=WUj}Z1L*c7~NO$$JF#z^1h#Fy|DO>T7q{W zlkcL)`Lcydsw%f1TkQ~?ulZOetbb*b%q)hI7YdV$wk1hr=KXpfoO`Wud!g0meF19r zm-ZWc{#!YH=fnLsV!P^Jnx74Nbdfhr^WzJ?&xV!$#%E0~`v8gg$xbzv3V$3j^Ngf< zuN;-DS1q{OY{7NFMR>!~&TWMmr)C^cV7)y1$5t8j2TS@Uv#X|`@AHn>WLqd%6m|T| z%_)W3y5xN)o9^(JU2^-4(6+QyeaqA>jU*?0uS~q<;_EZ{JNM?eobvfU`8+?HpZ)QP ZO@6yjs@3@@6<~NVc)I$ztaD0e0suh(s6PMz diff --git a/source/modules/rtmidi/doc/html/classMidiInWinMM-members.html b/source/modules/rtmidi/doc/html/classMidiInWinMM-members.html deleted file mode 100644 index 1e98845a1..000000000 --- a/source/modules/rtmidi/doc/html/classMidiInWinMM-members.html +++ /dev/null @@ -1,22 +0,0 @@ - - -The RtMidi Tutorial - - - -
-Tutorial   Class/Enum List   File List   Compound Members  
-
- -
-

MidiInWinMM Member List

This is the complete list of members for MidiInWinMM, including all inherited members. -
-
- - - -
©2003-2012 Gary P. Scavone, McGill University. All Rights Reserved.
- Maintained by Gary P. Scavone, gary at music.mcgill.ca
- - - diff --git a/source/modules/rtmidi/doc/html/classMidiInWinMM.html b/source/modules/rtmidi/doc/html/classMidiInWinMM.html deleted file mode 100644 index 775cb1d03..000000000 --- a/source/modules/rtmidi/doc/html/classMidiInWinMM.html +++ /dev/null @@ -1,38 +0,0 @@ - - -The RtMidi Tutorial - - - -
-Tutorial   Class/Enum List   File List   Compound Members  
-
- -
-

MidiInWinMM Class Reference

-Inheritance diagram for MidiInWinMM:
-
-
- - -MidiInApi - -
-
- -

List of all members.

- -
-
The documentation for this class was generated from the following file: -
-
- - - -
©2003-2012 Gary P. Scavone, McGill University. All Rights Reserved.
- Maintained by Gary P. Scavone, gary at music.mcgill.ca
- - - diff --git a/source/modules/rtmidi/doc/html/classMidiInWinMM.png b/source/modules/rtmidi/doc/html/classMidiInWinMM.png deleted file mode 100644 index 6321ddaa01f52bb8f81c0b73733de2f513147e3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 375 zcmeAS@N?(olHy`uVBq!ia0vp^kw6^4!3-o_Z)t`CDTx4|5ZC|z{{xx-{~wq?KVbrp z1;z&s9H>6@{|S)GQ4-`A43q|gtEWPY7#JAYJY5_^Dj471jpaLJz`^iflj`386KfYd z_1`8UI@imW`SvOGYiZ|m&r9XrFLFC6Kc(@phvDq+R~P;6HkK6cJ1}*VoQqGV>#0{aXft0h+Y_>^-b7FOeMH~8%}QTxZm?}X=awKN z|Ehk<>%TROmf2fQyjXa3`h@E9i!ML8xA}$5Pwn$=Csn7%6oH6O&PFM{Y@YkqKQTZ3 znY$tA%#ZHI<@;8i-ch3_;r>8$oz8h3R^nCo-ZXjMiDx-Bs@JO*Ke<0)^D*8w6X9(^*QVSA Ph7yCPtDnm{r-UW|L#3)c diff --git a/source/modules/rtmidi/doc/html/classMidiOutAlsa-members.html b/source/modules/rtmidi/doc/html/classMidiOutAlsa-members.html deleted file mode 100644 index 239ad317f..000000000 --- a/source/modules/rtmidi/doc/html/classMidiOutAlsa-members.html +++ /dev/null @@ -1,22 +0,0 @@ - - -The RtMidi Tutorial - - - -
-Tutorial   Class/Enum List   File List   Compound Members  
-
- -
-

MidiOutAlsa Member List

This is the complete list of members for MidiOutAlsa, including all inherited members. -
-
- - - -
©2003-2012 Gary P. Scavone, McGill University. All Rights Reserved.
- Maintained by Gary P. Scavone, gary at music.mcgill.ca
- - - diff --git a/source/modules/rtmidi/doc/html/classMidiOutAlsa.html b/source/modules/rtmidi/doc/html/classMidiOutAlsa.html deleted file mode 100644 index 0095a9866..000000000 --- a/source/modules/rtmidi/doc/html/classMidiOutAlsa.html +++ /dev/null @@ -1,38 +0,0 @@ - - -The RtMidi Tutorial - - - -
-Tutorial   Class/Enum List   File List   Compound Members  
-
- -
-

MidiOutAlsa Class Reference

-Inheritance diagram for MidiOutAlsa:
-
-
- - -MidiOutApi - -
-
- -

List of all members.

- -
-
The documentation for this class was generated from the following file: -
-
- - - -
©2003-2012 Gary P. Scavone, McGill University. All Rights Reserved.
- Maintained by Gary P. Scavone, gary at music.mcgill.ca
- - - diff --git a/source/modules/rtmidi/doc/html/classMidiOutAlsa.png b/source/modules/rtmidi/doc/html/classMidiOutAlsa.png deleted file mode 100644 index 39453e2d4ed1e364cbbacef5f9a9b4d7d541a0cd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 406 zcmeAS@N?(olHy`uVBq!ia0vp^fj}I6@{|S)GQ4-`A43q|gtEWPY7#J8;JzX3_Dj46+z1w$0funV)Z_R)Ad)y9u zQCnvwUYeX!5Po?xxdY{5CZ z_VMnG6Ux2zLGI`>{r1(f&i_)ClzX~g;o0|(#YaB;Ust~L-nW{bh-?$1IUr)*58=&z zNkWrn98pm-?Bo~HjN)RwKIurpqNbHAR|yKQ!ljM664Q@(_K6?a=PhyRzNPA^EiqT$3*25Xx5)8LRC8aIkx+Q; un^#iz7vC^BVv~9;>zux;(Ect7-TLq!g7@#ppR5B0B7>)^pUXO@geCw%yt5hr diff --git a/source/modules/rtmidi/doc/html/classMidiOutApi-members.html b/source/modules/rtmidi/doc/html/classMidiOutApi-members.html deleted file mode 100644 index 85259876d..000000000 --- a/source/modules/rtmidi/doc/html/classMidiOutApi-members.html +++ /dev/null @@ -1,22 +0,0 @@ - - -The RtMidi Tutorial - - - -
-Tutorial   Class/Enum List   File List   Compound Members  
-
- -
-

MidiOutApi Member List

This is the complete list of members for MidiOutApi, including all inherited members. -
-
- - - -
©2003-2012 Gary P. Scavone, McGill University. All Rights Reserved.
- Maintained by Gary P. Scavone, gary at music.mcgill.ca
- - - diff --git a/source/modules/rtmidi/doc/html/classMidiOutApi.html b/source/modules/rtmidi/doc/html/classMidiOutApi.html deleted file mode 100644 index 85a376688..000000000 --- a/source/modules/rtmidi/doc/html/classMidiOutApi.html +++ /dev/null @@ -1,42 +0,0 @@ - - -The RtMidi Tutorial - - - -
-Tutorial   Class/Enum List   File List   Compound Members  
-
- -
-

MidiOutApi Class Reference

-Inheritance diagram for MidiOutApi:
-
-
- - -MidiOutAlsa -MidiOutCore -MidiOutJack -MidiOutWinKS -MidiOutWinMM - -
-
- -

List of all members.

- -
-
The documentation for this class was generated from the following file: -
-
- - - -
©2003-2012 Gary P. Scavone, McGill University. All Rights Reserved.
- Maintained by Gary P. Scavone, gary at music.mcgill.ca
- - - diff --git a/source/modules/rtmidi/doc/html/classMidiOutApi.png b/source/modules/rtmidi/doc/html/classMidiOutApi.png deleted file mode 100644 index 814fc29150edcd4d9fbdb7fb36061c7b6fd60a19..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 896 zcmeAS@N?(olHy`uVBq!ia0y~yU=jzi12~w0Vxn%%7hy z0muU50|yRNANv0U$mJ*r@(Tt^gTd8PAw~=g%>14%jv*C{Z|B}Edac02wzx#?{r?ls zo8oU8d2B3JQ~SL&csE~~a>Rpg8}pugj;#11_AQB#=^%HLIEy|<+=S?=KsnF7y5&lj zw)=ly)$UmS`|z2%zJS3`C*0s zPH{Yp2e}_zdDJSwqTdnDeFP}AC(VEbuI@wA16GKK>TEi4{QgJeGw%6&it=KDm?U=-;q>vf6CZEmxRBb4C;LBq5wW7BbW#d{r74@ey z3eUKryKSyAqy8U_+ugRgPh1yl;1l?+WYq91XJ+@APmj2Qt~*wLpCkTNA$#qPH* zu}_cY{kZjM&$aHbw!MP!&yO-{K5BJa(Ogq)XWI9xC{O>+id@h4bCfq8>g!8y7yq}a zZ%@Ex%MXuiPEIO(cQkmGYw6{4=TH60)D2et9^xACHgadl_xuXOg{5nL-M{D5E`E6x z-<}gU`piE+@||?O`*pER=z)FWNbv)U(|xD9&o9^JxZ#`dpJB!79R4kr?rZ{P7Y0vP KKbLh*2~7anC$AO& diff --git a/source/modules/rtmidi/doc/html/classMidiOutCore-members.html b/source/modules/rtmidi/doc/html/classMidiOutCore-members.html deleted file mode 100644 index 7e1b4f904..000000000 --- a/source/modules/rtmidi/doc/html/classMidiOutCore-members.html +++ /dev/null @@ -1,22 +0,0 @@ - - -The RtMidi Tutorial - - - -
-Tutorial   Class/Enum List   File List   Compound Members  
-
- -
-

MidiOutCore Member List

This is the complete list of members for MidiOutCore, including all inherited members. -
-
- - - -
©2003-2012 Gary P. Scavone, McGill University. All Rights Reserved.
- Maintained by Gary P. Scavone, gary at music.mcgill.ca
- - - diff --git a/source/modules/rtmidi/doc/html/classMidiOutCore.html b/source/modules/rtmidi/doc/html/classMidiOutCore.html deleted file mode 100644 index 4bc396725..000000000 --- a/source/modules/rtmidi/doc/html/classMidiOutCore.html +++ /dev/null @@ -1,38 +0,0 @@ - - -The RtMidi Tutorial - - - -
-Tutorial   Class/Enum List   File List   Compound Members  
-
- -
-

MidiOutCore Class Reference

-Inheritance diagram for MidiOutCore:
-
-
- - -MidiOutApi - -
-
- -

List of all members.

- -
-
The documentation for this class was generated from the following file: -
-
- - - -
©2003-2012 Gary P. Scavone, McGill University. All Rights Reserved.
- Maintained by Gary P. Scavone, gary at music.mcgill.ca
- - - diff --git a/source/modules/rtmidi/doc/html/classMidiOutCore.png b/source/modules/rtmidi/doc/html/classMidiOutCore.png deleted file mode 100644 index a96f3e339b33a89327cb96afe092a556034c94fe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 404 zcmeAS@N?(olHy`uVBq!ia0vp^AwV3!!3-ofs4RL4q$C1-LR|m<{|{vT|9@cq{DcWW z78oBmaG?6o|0h5$M@f)hFi;u{uAT}pVqjoY_H=O!sbG9N_h8>)0}dDCwNL*4e%A6PPN~_gwe5;AcWA$x26kd9kIbrs^6B9oOE}Zp-^BiC5FWD8` z0VlNLru4R-2-8@Sv+hb4&w?MeSH!Gm6^ShnUMeUx%OFSOv`s_S=XEXL7$X{vZMtW4 zi#Pwr^Sk{E?$yo;?!9So^6tO4|1_m}Uh6x)e*bd$0?Gf2uCLuY@pouOHs=){5FzrS zcUSy{Cb2CGSamZT^Z8wya(DdmV)bp2lD=!o&meEp<-2fGkluVZ7M>)ib9DU{a!q@p z*RgKBD_g)HIWNQTyGvyp)xC}f)J?mgF|Cs6)!E$wR+1|N#O|FeE8E!mTKLLtf8&*g nyR%>H`~CH{{)^fLoZpz1PZO%q|N6fX7=#R-u6{1-oD!M - -The RtMidi Tutorial - - - -
-Tutorial   Class/Enum List   File List   Compound Members  
-
- -
-

MidiOutDummy Member List

This is the complete list of members for MidiOutDummy, including all inherited members. -
-
- - - -
©2003-2012 Gary P. Scavone, McGill University. All Rights Reserved.
- Maintained by Gary P. Scavone, gary at music.mcgill.ca
- - - diff --git a/source/modules/rtmidi/doc/html/classMidiOutDummy.html b/source/modules/rtmidi/doc/html/classMidiOutDummy.html deleted file mode 100644 index 7219f9c78..000000000 --- a/source/modules/rtmidi/doc/html/classMidiOutDummy.html +++ /dev/null @@ -1,38 +0,0 @@ - - -The RtMidi Tutorial - - - -
-Tutorial   Class/Enum List   File List   Compound Members  
-
- -
-

MidiOutDummy Class Reference

-Inheritance diagram for MidiOutDummy:
-
-
- - -MidiOutApi - -
-
- -

List of all members.

- -
-
The documentation for this class was generated from the following file: -
-
- - - -
©2003-2012 Gary P. Scavone, McGill University. All Rights Reserved.
- Maintained by Gary P. Scavone, gary at music.mcgill.ca
- - - diff --git a/source/modules/rtmidi/doc/html/classMidiOutDummy.png b/source/modules/rtmidi/doc/html/classMidiOutDummy.png deleted file mode 100644 index c49611fe40cb41544289b6ba13a8aaa5efa8c40e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 422 zcmeAS@N?(olHy`uVBq!ia0vp^i9j5{!3-qr{=J?Fq$C1-LR|m<{|{vT|9@cq{DcWW z78oBmaG?6o|0h5$M@f)hFi;u{uAT}pVqjo2^>lFzsbG9NH@5Gv0Y{7N+9$u|E9DuC zpSbfzE2f$+@KU?+VJ5@N*A?NXEB0qC<@~OCAUxEUIbn9)1l^Ah=Pa04cgs<+&F=kT zHI50PTV@EvO`0I2kSAWefkVtUGP+5(jNfXq>YOJ6oC^!)YoFz;QONjunq&3cO)V11 zSLc)+uD*X&%k@LtqRN2TrK?hE_fD@nL;GnKzOTI(>UU}yg)8s8%MZHX2tOS68%HZkh K=d#Wzp$PzUoUeoc diff --git a/source/modules/rtmidi/doc/html/classMidiOutJack-members.html b/source/modules/rtmidi/doc/html/classMidiOutJack-members.html deleted file mode 100644 index 00150611b..000000000 --- a/source/modules/rtmidi/doc/html/classMidiOutJack-members.html +++ /dev/null @@ -1,22 +0,0 @@ - - -The RtMidi Tutorial - - - -
-Tutorial   Class/Enum List   File List   Compound Members  
-
- -
-

MidiOutJack Member List

This is the complete list of members for MidiOutJack, including all inherited members. -
-
- - - -
©2003-2012 Gary P. Scavone, McGill University. All Rights Reserved.
- Maintained by Gary P. Scavone, gary at music.mcgill.ca
- - - diff --git a/source/modules/rtmidi/doc/html/classMidiOutJack.html b/source/modules/rtmidi/doc/html/classMidiOutJack.html deleted file mode 100644 index c3335014a..000000000 --- a/source/modules/rtmidi/doc/html/classMidiOutJack.html +++ /dev/null @@ -1,38 +0,0 @@ - - -The RtMidi Tutorial - - - -
-Tutorial   Class/Enum List   File List   Compound Members  
-
- -
-

MidiOutJack Class Reference

-Inheritance diagram for MidiOutJack:
-
-
- - -MidiOutApi - -
-
- -

List of all members.

- -
-
The documentation for this class was generated from the following file: -
-
- - - -
©2003-2012 Gary P. Scavone, McGill University. All Rights Reserved.
- Maintained by Gary P. Scavone, gary at music.mcgill.ca
- - - diff --git a/source/modules/rtmidi/doc/html/classMidiOutJack.png b/source/modules/rtmidi/doc/html/classMidiOutJack.png deleted file mode 100644 index c2f0acf1d31bbdd2d146f91f03e4eab35c89b498..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 407 zcmV;I0cie-P)W<^iz7 zk;oC=c&6r#^MQ6%x_8hy6Jo{lP2(j^D-%+7*{9W5z0xDoj6Ioh=FE#eJ<|zrrV%$e zVXAJ4%r5<$>8rY0bn4#U;hj&ILwCBL8nb&Oll`XqTkCj9{|~c%KR>`+@Lzm;wfm`m z$!skjx`5eQK6C~1F}fGCn8hq+F^gHu=P;4KHlzg6!w(BW3PyX306 zT69Y9_{j%UU5=i_@$RGd!002ovPDHLkV1gdN B#K`~v diff --git a/source/modules/rtmidi/doc/html/classMidiOutWinKS-members.html b/source/modules/rtmidi/doc/html/classMidiOutWinKS-members.html deleted file mode 100644 index 0ce4b0ed9..000000000 --- a/source/modules/rtmidi/doc/html/classMidiOutWinKS-members.html +++ /dev/null @@ -1,22 +0,0 @@ - - -The RtMidi Tutorial - - - -
-Tutorial   Class/Enum List   File List   Compound Members  
-
- -
-

MidiOutWinKS Member List

This is the complete list of members for MidiOutWinKS, including all inherited members. -
-
- - - -
©2003-2012 Gary P. Scavone, McGill University. All Rights Reserved.
- Maintained by Gary P. Scavone, gary at music.mcgill.ca
- - - diff --git a/source/modules/rtmidi/doc/html/classMidiOutWinKS.html b/source/modules/rtmidi/doc/html/classMidiOutWinKS.html deleted file mode 100644 index 7d84752e6..000000000 --- a/source/modules/rtmidi/doc/html/classMidiOutWinKS.html +++ /dev/null @@ -1,38 +0,0 @@ - - -The RtMidi Tutorial - - - -
-Tutorial   Class/Enum List   File List   Compound Members  
-
- -
-

MidiOutWinKS Class Reference

-Inheritance diagram for MidiOutWinKS:
-
-
- - -MidiOutApi - -
-
- -

List of all members.

- -
-
The documentation for this class was generated from the following file: -
-
- - - -
©2003-2012 Gary P. Scavone, McGill University. All Rights Reserved.
- Maintained by Gary P. Scavone, gary at music.mcgill.ca
- - - diff --git a/source/modules/rtmidi/doc/html/classMidiOutWinKS.png b/source/modules/rtmidi/doc/html/classMidiOutWinKS.png deleted file mode 100644 index b29a183449456ab6a7e8a7802d8a6597cf198088..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 426 zcmeAS@N?(olHy`uVBq!ia0vp^u|OQa!3-pQ3_JCKlth3}i0l9V|AEZ^{}0TcpD+Q) z0^&cft< zFQxq+&Q;IVyIh-gXivBQ@`=0mni==!7=CeG|Ni&u7c;NDi`*~yU#aT-%pV~jBIeir zc{3M@?|tE_Uv;rN?u+;(&C61%Wl>-BFMk! - -The RtMidi Tutorial - - - -
-Tutorial   Class/Enum List   File List   Compound Members  
-
- -
-

MidiOutWinMM Member List

This is the complete list of members for MidiOutWinMM, including all inherited members. -
-
- - - -
©2003-2012 Gary P. Scavone, McGill University. All Rights Reserved.
- Maintained by Gary P. Scavone, gary at music.mcgill.ca
- - - diff --git a/source/modules/rtmidi/doc/html/classMidiOutWinMM.html b/source/modules/rtmidi/doc/html/classMidiOutWinMM.html deleted file mode 100644 index d72b8d7b6..000000000 --- a/source/modules/rtmidi/doc/html/classMidiOutWinMM.html +++ /dev/null @@ -1,38 +0,0 @@ - - -The RtMidi Tutorial - - - -
-Tutorial   Class/Enum List   File List   Compound Members  
-
- -
-

MidiOutWinMM Class Reference

-Inheritance diagram for MidiOutWinMM:
-
-
- - -MidiOutApi - -
-
- -

List of all members.

- -
-
The documentation for this class was generated from the following file: -
-
- - - -
©2003-2012 Gary P. Scavone, McGill University. All Rights Reserved.
- Maintained by Gary P. Scavone, gary at music.mcgill.ca
- - - diff --git a/source/modules/rtmidi/doc/html/classMidiOutWinMM.png b/source/modules/rtmidi/doc/html/classMidiOutWinMM.png deleted file mode 100644 index b66c0e047d2e088c75a6093e85b9edefc91f4bbb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 420 zcmeAS@N?(olHy`uVBq!ia0vp^$v_;y!3-p=xUH7}DTx4|5ZC|z{{xx-{~wq?KVbrp z1;z&s9H>6@{|S)GQ4-`A43q|gtEWPY7#J9hJzX3_Dj46+z1?@nfX5|y!l(c9_wetV zZgOR6PlD;R33p?jm2_Nw{_#!!$C?s$3Ht*I=Yz6bU94VmKlZ4*VVJUheR)XG#OJMf zt&Veco?7?ClR-Zee zRrV{fp;`=dXT8XEI|^Bez4o|1fRdyR7Pxw;eV62;$~ z?GFAhuVrPENN8XL6UXdU*t2bwW`FE0*`=htRcX-=IU^nW`IVvtincki-)yr<1`b;H_hH=*;~%?(qlk9G1#ri;mtoe|yl{Gy%(Fi06ZUHx3v IIVCg!0GZyrK>z>% diff --git a/source/modules/rtmidi/doc/html/classRtError-members.html b/source/modules/rtmidi/doc/html/classRtError-members.html deleted file mode 100644 index e7656c71a..000000000 --- a/source/modules/rtmidi/doc/html/classRtError-members.html +++ /dev/null @@ -1,40 +0,0 @@ - - -The RtMidi Tutorial - - - -
-Tutorial   Class/Enum List   File List   Compound Members  
-
- -
-

RtError Member List

This is the complete list of members for RtError, including all inherited members. - - - - - - - - - - - - - - - - - - -
DEBUG_WARNING enum valueRtError
DRIVER_ERROR enum valueRtError
getMessage(void) const RtError [inline, virtual]
getType(void) const RtError [inline, virtual]
INVALID_DEVICE enum valueRtError
INVALID_PARAMETER enum valueRtError
INVALID_USE enum valueRtError
MEMORY_ERROR enum valueRtError
NO_DEVICES_FOUND enum valueRtError
printMessage(void) const RtError [inline, virtual]
RtError(const std::string &message, Type type=RtError::UNSPECIFIED)RtError [inline]
SYSTEM_ERROR enum valueRtError
THREAD_ERROR enum valueRtError
Type enum nameRtError
UNSPECIFIED enum valueRtError
WARNING enum valueRtError
what(void) const RtError [inline, virtual]
~RtError(void)RtError [inline, virtual]
-
- - - -
©2003-2012 Gary P. Scavone, McGill University. All Rights Reserved.
- Maintained by Gary P. Scavone, gary at music.mcgill.ca
- - - diff --git a/source/modules/rtmidi/doc/html/classRtError.html b/source/modules/rtmidi/doc/html/classRtError.html deleted file mode 100644 index f12472369..000000000 --- a/source/modules/rtmidi/doc/html/classRtError.html +++ /dev/null @@ -1,127 +0,0 @@ - - -The RtMidi Tutorial - - - -
-Tutorial   Class/Enum List   File List   Compound Members  
-
- -
-

RtError Class Reference

-

Exception handling class for RtAudio & RtMidi. -More...

- -

#include <RtError.h>

- -

List of all members.

- - - - - - - - - - - - - - - - - -

Public Types

enum  Type {
-  WARNING, -DEBUG_WARNING, -UNSPECIFIED, -NO_DEVICES_FOUND, -
-  INVALID_DEVICE, -MEMORY_ERROR, -INVALID_PARAMETER, -INVALID_USE, -
-  DRIVER_ERROR, -SYSTEM_ERROR, -THREAD_ERROR -
- }
 

Defined RtError types.

- More...

Public Member Functions

RtError (const std::string &message, Type type=RtError::UNSPECIFIED) throw ()
 The constructor.
-virtual ~RtError (void) throw ()
 The destructor.
-virtual void printMessage (void) const throw ()
 Prints thrown error message to stderr.
-virtual const TypegetType (void) const throw ()
 Returns the thrown error message type.
-virtual const std::string & getMessage (void) const throw ()
 Returns the thrown error message string.
-virtual const char * what (void) const throw ()
 Returns the thrown error message as a c-style string.
-

Detailed Description

-

Exception handling class for RtAudio & RtMidi.

-

The RtError class is quite simple but it does allow errors to be "caught" by RtError::Type. See the RtAudio and RtMidi documentation to know which methods can throw an RtError.

-

Member Enumeration Documentation

- -
-
- - - - -
enum RtError::Type
-
-
- -

Defined RtError types.

-
Enumerator:
- - - - - - - - - - - -
WARNING  -

A non-critical error.

-
DEBUG_WARNING  -

A non-critical error which might be useful for debugging.

-
UNSPECIFIED  -

The default, unspecified error type.

-
NO_DEVICES_FOUND  -

No devices found on system.

-
INVALID_DEVICE  -

An invalid device ID was specified.

-
MEMORY_ERROR  -

An error occured during memory allocation.

-
INVALID_PARAMETER  -

An invalid parameter was specified to a function.

-
INVALID_USE  -

The function was called incorrectly.

-
DRIVER_ERROR  -

A system driver error occured.

-
SYSTEM_ERROR  -

A system error occured.

-
THREAD_ERROR  -

A thread error occured.

-
-
-
- -
-
-
The documentation for this class was generated from the following file: -
-
- - - -
©2003-2012 Gary P. Scavone, McGill University. All Rights Reserved.
- Maintained by Gary P. Scavone, gary at music.mcgill.ca
- - - diff --git a/source/modules/rtmidi/doc/html/classRtMidi-members.html b/source/modules/rtmidi/doc/html/classRtMidi-members.html deleted file mode 100644 index 9ff6b2ef2..000000000 --- a/source/modules/rtmidi/doc/html/classRtMidi-members.html +++ /dev/null @@ -1,37 +0,0 @@ - - -The RtMidi Tutorial - - - -
-Tutorial   Class/Enum List   File List   Compound Members  
-
- -
-

RtMidi Member List

This is the complete list of members for RtMidi, including all inherited members. - - - - - - - - - - - - - - - -
Api enum nameRtMidi
closePort(void)=0RtMidi [pure virtual]
error(RtError::Type type, std::string errorString)RtMidi [static]
getCompiledApi(std::vector< RtMidi::Api > &apis)RtMidi [static]
getPortCount()=0RtMidi [pure virtual]
getPortName(unsigned int portNumber=0)=0RtMidi [pure virtual]
LINUX_ALSA enum valueRtMidi
MACOSX_CORE enum valueRtMidi
openPort(unsigned int portNumber=0, const std::string portName=std::string("RtMidi"))=0RtMidi [pure virtual]
openVirtualPort(const std::string portName=std::string("RtMidi"))=0RtMidi [pure virtual]
RTMIDI_DUMMY enum valueRtMidi
UNIX_JACK enum valueRtMidi
UNSPECIFIED enum valueRtMidi
WINDOWS_KS enum valueRtMidi
WINDOWS_MM enum valueRtMidi
-
- - - -
©2003-2012 Gary P. Scavone, McGill University. All Rights Reserved.
- Maintained by Gary P. Scavone, gary at music.mcgill.ca
- - - diff --git a/source/modules/rtmidi/doc/html/classRtMidi.gif b/source/modules/rtmidi/doc/html/classRtMidi.gif deleted file mode 100644 index 7caa12bf559a33d909827cf28b74f7368dc2d2a3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 764 zcmVgMh73-9al^7Z!j`TO|$?EU`E0SqW^AVF^i4?;_*kQu{<$R0vWN3WvA zix@L%+=%}1-$9ASKo;~!P^2)E2uTJ+xr^mOmHu4PlIaj8Kb!ezqS6@=r#+sPfO7Mx z51r7HMg}Nd%CxD|r%eq&ol4c|hpJeqO3ljEserFw!-^eCwyfE+X9rwG%eJlCw@Tm2 zojX@;gaLH(>Ma|0uiw3PA>jQ>xbEP>h}i~ya5%AJvV9**4!hVv zL4yt}`ZL|i4K54dY(qdtMrhs-dSk13Vx1JE&cI@AE*8<-?ySG{2t~;Majytq& z+Pq22<_)`a^t8ftD~Iko`e^FJfq!3p{cH2#$*pe>?|rvyzS)(_S8uv{@$}A<;}?5g zI>T+^H?qxgd??<+vnv z2coBBh5I%6UV_r4=Uac671rVcNOtKLmtv0jW0{1JiDq73DiG$HhQXOwn*h8ir(0^? uiRYPm#@VNtQU0k{o`SN-XQ7JOiRf5#D!QnRT}3MCq*qO9>7`R80028MhK5=I diff --git a/source/modules/rtmidi/doc/html/classRtMidi.html b/source/modules/rtmidi/doc/html/classRtMidi.html deleted file mode 100644 index 0f8b48541..000000000 --- a/source/modules/rtmidi/doc/html/classRtMidi.html +++ /dev/null @@ -1,152 +0,0 @@ - - -The RtMidi Tutorial - - - -
-Tutorial   Class/Enum List   File List   Compound Members  
-
- -
-

RtMidi Class Reference

-

An abstract base class for realtime MIDI input/output. -More...

- -

#include <RtMidi.h>

-
-Inheritance diagram for RtMidi:
-
-
- - -RtMidiIn -RtMidiOut - -
-
- -

List of all members.

- - - - - - - - - - - - - - - - - - - - -

Public Types

enum  Api {
-  UNSPECIFIED, -MACOSX_CORE, -LINUX_ALSA, -UNIX_JACK, -
-  WINDOWS_MM, -WINDOWS_KS, -RTMIDI_DUMMY -
- }
 

MIDI API specifier arguments.

- More...

Public Member Functions

-virtual void openPort (unsigned int portNumber=0, const std::string portName=std::string("RtMidi"))=0
 Pure virtual openPort() function.
-virtual void openVirtualPort (const std::string portName=std::string("RtMidi"))=0
 Pure virtual openVirtualPort() function.
-virtual unsigned int getPortCount ()=0
 Pure virtual getPortCount() function.
-virtual std::string getPortName (unsigned int portNumber=0)=0
 Pure virtual getPortName() function.
-virtual void closePort (void)=0
 Pure virtual closePort() function.

Static Public Member Functions

static void getCompiledApi (std::vector< RtMidi::Api > &apis) throw ()
 A static function to determine the available compiled MIDI APIs.
-static void error (RtError::Type type, std::string errorString)
 A basic error reporting function for RtMidi classes.
-

Detailed Description

-

An abstract base class for realtime MIDI input/output.

-

This class implements some common functionality for the realtime MIDI input/output subclasses RtMidiIn and RtMidiOut.

-

RtMidi WWW site: http://music.mcgill.ca/~gary/rtmidi/

-

RtMidi: realtime MIDI i/o C++ classes Copyright (c) 2003-2012 Gary P. Scavone

-

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

-

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

-

Any person wishing to distribute modifications to the Software is asked to send the modifications to the original developer so that they can be incorporated into the canonical version. This is, however, not a binding provision of this license.

-

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-

Member Enumeration Documentation

- -
-
- - - - -
enum RtMidi::Api
-
-
- -

MIDI API specifier arguments.

-
Enumerator:
- - - - - - - -
UNSPECIFIED  -

Search for a working compiled API.

-
MACOSX_CORE  -

Macintosh OS-X Core Midi API.

-
LINUX_ALSA  -

The Advanced Linux Sound Architecture API.

-
UNIX_JACK  -

The Jack Low-Latency MIDI Server API.

-
WINDOWS_MM  -

The Microsoft Multimedia MIDI API.

-
WINDOWS_KS  -

The Microsoft Kernel Streaming MIDI API.

-
RTMIDI_DUMMY  -

A compilable but non-functional API.

-
-
-
- -
-
-

Member Function Documentation

- -
-
- - - - - - - - - -
static void RtMidi::getCompiledApi (std::vector< RtMidi::Api > &  apis )  throw () [static]
-
-
- -

A static function to determine the available compiled MIDI APIs.

-

The values returned in the std::vector can be compared against the enumerated list values. Note that there can be more than one API compiled for certain operating systems.

- -
-
-
The documentation for this class was generated from the following file: -
-
- - - -
©2003-2012 Gary P. Scavone, McGill University. All Rights Reserved.
- Maintained by Gary P. Scavone, gary at music.mcgill.ca
- - - diff --git a/source/modules/rtmidi/doc/html/classRtMidi.png b/source/modules/rtmidi/doc/html/classRtMidi.png deleted file mode 100644 index 09220298c2c9a3bbb089359eff6a8d00911ae46d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 439 zcmeAS@N?(olHy`uVBq!ia0vp^6M#5?gBeI3Ea0&NQW60^A+G=b{|7Sv|35H)ega4Z z7#}!rp!(4NCqOPoNswPKP#O%bo(eHyU|@9fba4!+V0?S`;<`f$0xTE!)c*We|Lq_? zE$U9FfWb`P9?_kLUvh0<-@g7r{JE)n7VrvjD81OOU}>Rof2y~s1%HT`o&OfA8|B^p zOpF&4mVCb|>(%#1^YXQ~3%N5Q+fUuvWhGcsOq^mxD1 z`KLE`%99mkOLxAvRuTTXHZ1%c-_~NSfW^+gw(n - -The RtMidi Tutorial - - - -
-Tutorial   Class/Enum List   File List   Compound Members  
-
- -
-

RtMidiIn Member List

This is the complete list of members for RtMidiIn, including all inherited members. - - - - - - - - - - - - - - - - - - - - - - - -
Api enum nameRtMidi
cancelCallback()RtMidiIn [inline]
closePort(void)RtMidiIn [inline, virtual]
error(RtError::Type type, std::string errorString)RtMidi [static]
getCompiledApi(std::vector< RtMidi::Api > &apis)RtMidi [static]
getCurrentApi(void)RtMidiIn [inline]
getMessage(std::vector< unsigned char > *message)RtMidiIn [inline]
getPortCount()RtMidiIn [inline, virtual]
getPortName(unsigned int portNumber=0)RtMidiIn [inline, virtual]
ignoreTypes(bool midiSysex=true, bool midiTime=true, bool midiSense=true)RtMidiIn [inline]
LINUX_ALSA enum valueRtMidi
MACOSX_CORE enum valueRtMidi
openPort(unsigned int portNumber=0, const std::string portName=std::string("RtMidi Input"))RtMidiIn [inline, virtual]
openVirtualPort(const std::string portName=std::string("RtMidi Input"))RtMidiIn [inline, virtual]
RTMIDI_DUMMY enum valueRtMidi
RtMidiCallback typedefRtMidiIn
RtMidiIn(RtMidi::Api api=UNSPECIFIED, const std::string clientName=std::string("RtMidi Input Client"), unsigned int queueSizeLimit=100)RtMidiIn
setCallback(RtMidiCallback callback, void *userData=0)RtMidiIn [inline]
UNIX_JACK enum valueRtMidi
UNSPECIFIED enum valueRtMidi
WINDOWS_KS enum valueRtMidi
WINDOWS_MM enum valueRtMidi
~RtMidiIn(void)RtMidiIn
-
- - - -
©2003-2012 Gary P. Scavone, McGill University. All Rights Reserved.
- Maintained by Gary P. Scavone, gary at music.mcgill.ca
- - - diff --git a/source/modules/rtmidi/doc/html/classRtMidiIn.gif b/source/modules/rtmidi/doc/html/classRtMidiIn.gif deleted file mode 100644 index f4c5298b2935c203b697f0d549bd587b522bc39f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 459 zcmV;+0W|(cNk%w1VL1R$0P+9;|Ns9000960z@MLBkN^MxkN^MxkifveA^8LW00000 zEC2ui0673q000C2IJ(^aFv=yWy*TU5yXs&la^Gm4-2R&WyA0d0emd zsN8sTd1rMPcW{Jpigaj8hJP`UR*;gF7KfHCn3*e^oF|^2BcY-)l%<*zs;jII0I#sI zva_@Xw70mqy1KTzzQ4c*!obAEv%3N%g?#Z$T zYPavW>1zfasH%f z(uPl&H*FTR$rR?%Svi|Fy%}?<)2kzsW`#Pm%+9M$wSL8_ljYE|V#R`0Ta_zRpk%{N zmCClP%d=zK&c#|+>fN_Ht*)hORV~=RDUl{tyclugr;np1mYkCENsgE^YtEPe06W7c B^hE#w diff --git a/source/modules/rtmidi/doc/html/classRtMidiIn.html b/source/modules/rtmidi/doc/html/classRtMidiIn.html deleted file mode 100644 index 9eaabcde0..000000000 --- a/source/modules/rtmidi/doc/html/classRtMidiIn.html +++ /dev/null @@ -1,305 +0,0 @@ - - -The RtMidi Tutorial - - - -
-Tutorial   Class/Enum List   File List   Compound Members  
-
- -
-

RtMidiIn Class Reference

-

A realtime MIDI input class. -More...

- -

#include <RtMidi.h>

-
-Inheritance diagram for RtMidiIn:
-
-
- - -RtMidi - -
-
- -

List of all members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Public Types

-typedef void(* RtMidiCallback )(double timeStamp, std::vector< unsigned char > *message, void *userData)
 User callback function type definition.

Public Member Functions

 RtMidiIn (RtMidi::Api api=UNSPECIFIED, const std::string clientName=std::string("RtMidi Input Client"), unsigned int queueSizeLimit=100)
 Default constructor that allows an optional api, client name and queue size.
~RtMidiIn (void) throw ()
 If a MIDI connection is still open, it will be closed by the destructor.
-RtMidi::Api getCurrentApi (void) throw ()
 Returns the MIDI API specifier for the current instance of RtMidiIn.
void openPort (unsigned int portNumber=0, const std::string portName=std::string("RtMidi Input"))
 Open a MIDI input connection.
void openVirtualPort (const std::string portName=std::string("RtMidi Input"))
 Create a virtual input port, with optional name, to allow software connections (OS X and ALSA only).
void setCallback (RtMidiCallback callback, void *userData=0)
 Set a callback function to be invoked for incoming MIDI messages.
void cancelCallback ()
 Cancel use of the current callback function (if one exists).
-void closePort (void)
 Close an open MIDI connection (if one exists).
-unsigned int getPortCount ()
 Return the number of available MIDI input ports.
std::string getPortName (unsigned int portNumber=0)
 Return a string identifier for the specified MIDI input port number.
void ignoreTypes (bool midiSysex=true, bool midiTime=true, bool midiSense=true)
 Specify whether certain MIDI message types should be queued or ignored during input.
double getMessage (std::vector< unsigned char > *message)
 Fill the user-provided vector with the data bytes for the next available MIDI message in the input queue and return the event delta-time in seconds.
-

Detailed Description

-

A realtime MIDI input class.

-

This class provides a common, platform-independent API for realtime MIDI input. It allows access to a single MIDI input port. Incoming MIDI messages are either saved to a queue for retrieval using the getMessage() function or immediately passed to a user-specified callback function. Create multiple instances of this class to connect to more than one MIDI device at the same time. With the OS-X and Linux ALSA MIDI APIs, it is also possible to open a virtual input port to which other MIDI software clients can connect.

-

by Gary P. Scavone, 2003-2012.

-

Constructor & Destructor Documentation

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
RtMidiIn::RtMidiIn (RtMidi::Api  api = UNSPECIFIED,
const std::string  clientName = std::string("RtMidi Input Client"),
unsigned int  queueSizeLimit = 100 
)
-
-
- -

Default constructor that allows an optional api, client name and queue size.

-

An exception will be thrown if a MIDI system initialization error occurs. The queue size defines the maximum number of messages that can be held in the MIDI queue (when not using a callback function). If the queue size limit is reached, incoming messages will be ignored.

-

If no API argument is specified and multiple API support has been compiled, the default order of use is JACK, ALSA (Linux) and CORE, Jack (OS-X).

- -
-
-

Member Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - -
void RtMidiIn::openPort (unsigned int  portNumber = 0,
const std::string  portName = std::string( "RtMidi Input" ) 
) [inline, virtual]
-
-
- -

Open a MIDI input connection.

-

An optional port number greater than 0 can be specified. Otherwise, the default or first port found is opened.

- -

Implements RtMidi.

- -
-
- -
-
- - - - - - - - - -
void RtMidiIn::openVirtualPort (const std::string  portName = std::string( "RtMidi Input" ) )  [inline, virtual]
-
-
- -

Create a virtual input port, with optional name, to allow software connections (OS X and ALSA only).

-

This function creates a virtual MIDI input port to which other software applications can connect. This type of functionality is currently only supported by the Macintosh OS-X and Linux ALSA APIs (the function does nothing for the other APIs).

- -

Implements RtMidi.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void RtMidiIn::setCallback (RtMidiCallback  callback,
void *  userData = 0 
) [inline]
-
-
- -

Set a callback function to be invoked for incoming MIDI messages.

-

The callback function will be called whenever an incoming MIDI message is received. While not absolutely necessary, it is best to set the callback function before opening a MIDI port to avoid leaving some messages in the queue.

- -
-
- -
-
- - - - - - - - - -
void RtMidiIn::cancelCallback (void  )  [inline]
-
-
- -

Cancel use of the current callback function (if one exists).

-

Subsequent incoming MIDI messages will be written to the queue and can be retrieved with the getMessage function.

- -
-
- -
-
- - - - - - - - - -
std::string RtMidiIn::getPortName (unsigned int  portNumber = 0 )  [inline, virtual]
-
-
- -

Return a string identifier for the specified MIDI input port number.

-

An empty string is returned if an invalid port specifier is provided.

- -

Implements RtMidi.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void RtMidiIn::ignoreTypes (bool  midiSysex = true,
bool  midiTime = true,
bool  midiSense = true 
) [inline]
-
-
- -

Specify whether certain MIDI message types should be queued or ignored during input.

-

o By default, MIDI timing and active sensing messages are ignored during message input because of their relative high data rates. MIDI sysex messages are ignored by default as well. Variable values of "true" imply that the respective message type will be ignored.

- -
-
- -
-
- - - - - - - - - -
double RtMidiIn::getMessage (std::vector< unsigned char > *  message )  [inline]
-
-
- -

Fill the user-provided vector with the data bytes for the next available MIDI message in the input queue and return the event delta-time in seconds.

-

This function returns immediately whether a new message is available or not. A valid message is indicated by a non-zero vector size. An exception is thrown if an error occurs during message retrieval or an input connection was not previously established.

- -
-
-
The documentation for this class was generated from the following file: -
-
- - - -
©2003-2012 Gary P. Scavone, McGill University. All Rights Reserved.
- Maintained by Gary P. Scavone, gary at music.mcgill.ca
- - - diff --git a/source/modules/rtmidi/doc/html/classRtMidiIn.png b/source/modules/rtmidi/doc/html/classRtMidiIn.png deleted file mode 100644 index 11c83167d8431c683742b6bdca8d9aaf590bdedc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 317 zcmeAS@N?(olHy`uVBq!ia0vp^mOvc9!3-p)*y^eRDTx4|5ZC|z{{xx-{~wq?KVbrp z1;z&s9H>6@{|S)GQ4-`A43q|gtEWPYfMRDnT^vIy7~kH#$ah$QgEc_U_s@U-d(5I2 zwqD(&>#e2I?PnQu=34r#MUK+PlYBWD64DG7>%F|9E9Y^#A?0mz9-j(>zT)E&U&dd) z=V!dwJo)jgX-~NC?Of=e5?psBed<y(1+KjSMKc=nsFUljB1pUX6%rHPSVQ;t22 ze`l6@YKmrXU7(Uw%Y)B4>Q8rdI8;sZO}%!_;H6PYrhG}U0%HZIlQsJU{(n1*7f)UOxFF5j%nYV(@hJb6Mw< G&;$V1eTW7C diff --git a/source/modules/rtmidi/doc/html/classRtMidiOut-members.html b/source/modules/rtmidi/doc/html/classRtMidiOut-members.html deleted file mode 100644 index d5240a0d9..000000000 --- a/source/modules/rtmidi/doc/html/classRtMidiOut-members.html +++ /dev/null @@ -1,41 +0,0 @@ - - -The RtMidi Tutorial - - - -
-Tutorial   Class/Enum List   File List   Compound Members  
-
- -
-

RtMidiOut Member List

This is the complete list of members for RtMidiOut, including all inherited members. - - - - - - - - - - - - - - - - - - - -
Api enum nameRtMidi
closePort(void)RtMidiOut [inline, virtual]
error(RtError::Type type, std::string errorString)RtMidi [static]
getCompiledApi(std::vector< RtMidi::Api > &apis)RtMidi [static]
getCurrentApi(void)RtMidiOut [inline]
getPortCount(void)RtMidiOut [inline, virtual]
getPortName(unsigned int portNumber=0)RtMidiOut [inline, virtual]
LINUX_ALSA enum valueRtMidi
MACOSX_CORE enum valueRtMidi
openPort(unsigned int portNumber=0, const std::string portName=std::string("RtMidi Output"))RtMidiOut [inline, virtual]
openVirtualPort(const std::string portName=std::string("RtMidi Output"))RtMidiOut [inline, virtual]
RTMIDI_DUMMY enum valueRtMidi
RtMidiOut(RtMidi::Api api=UNSPECIFIED, const std::string clientName=std::string("RtMidi Output Client"))RtMidiOut
sendMessage(std::vector< unsigned char > *message)RtMidiOut [inline]
UNIX_JACK enum valueRtMidi
UNSPECIFIED enum valueRtMidi
WINDOWS_KS enum valueRtMidi
WINDOWS_MM enum valueRtMidi
~RtMidiOut(void)RtMidiOut
-
- - - -
©2003-2012 Gary P. Scavone, McGill University. All Rights Reserved.
- Maintained by Gary P. Scavone, gary at music.mcgill.ca
- - - diff --git a/source/modules/rtmidi/doc/html/classRtMidiOut.gif b/source/modules/rtmidi/doc/html/classRtMidiOut.gif deleted file mode 100644 index 5041efa0d547b1ff8b937e1eaf24b1c20416b4b4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 496 zcmVt^gLtMM1y_Z3*X*7ukn zs^$R-ghyktqcjar#vN`ML@uo(A~VSA0;Sy}4=d7gaJewptJZ~`Pcb<%E-*kxyr=O(#X)u)7Qe)(b(L++uh*L;p5`u z=E>*h-|5}!?AY$_)A91o^!3d5_{aMD#r^(*0Sx$SAi-V+50+Dyk72Wf4u?ggHj!UN zV-P21jJUSZVMm4^fuR{mvZTqAC{voeDC`EyU@l+&iYc=f&6>Gx(i&MSz|NdMZ}|i; zbSI9PxO5V=HMD6_qc)Q=_4O30(5Xjt#w_ZxY0#-le;#F8HEd9?T*G=Ly0+|EwMpHg z=_!_OTe@(sntj{TE#AC7@9sS-b+FmKg$ctIoHj4m#&Qz_{>%97Q^)xF*0RTILdIC`Z diff --git a/source/modules/rtmidi/doc/html/classRtMidiOut.html b/source/modules/rtmidi/doc/html/classRtMidiOut.html deleted file mode 100644 index 7087b66fa..000000000 --- a/source/modules/rtmidi/doc/html/classRtMidiOut.html +++ /dev/null @@ -1,202 +0,0 @@ - - -The RtMidi Tutorial - - - -
-Tutorial   Class/Enum List   File List   Compound Members  
-
- -
-

RtMidiOut Class Reference

-

A realtime MIDI output class. -More...

- -

#include <RtMidi.h>

-
-Inheritance diagram for RtMidiOut:
-
-
- - -RtMidi - -
-
- -

List of all members.

- - - - - - - - - - - - - - - - - - - - -

Public Member Functions

 RtMidiOut (RtMidi::Api api=UNSPECIFIED, const std::string clientName=std::string("RtMidi Output Client"))
 Default constructor that allows an optional client name.
~RtMidiOut (void) throw ()
 The destructor closes any open MIDI connections.
-RtMidi::Api getCurrentApi (void) throw ()
 Returns the MIDI API specifier for the current instance of RtMidiOut.
void openPort (unsigned int portNumber=0, const std::string portName=std::string("RtMidi Output"))
 Open a MIDI output connection.
-void closePort (void)
 Close an open MIDI connection (if one exists).
void openVirtualPort (const std::string portName=std::string("RtMidi Output"))
 Create a virtual output port, with optional name, to allow software connections (OS X and ALSA only).
-unsigned int getPortCount (void)
 Return the number of available MIDI output ports.
std::string getPortName (unsigned int portNumber=0)
 Return a string identifier for the specified MIDI port type and number.
void sendMessage (std::vector< unsigned char > *message)
 Immediately send a single message out an open MIDI output port.
-

Detailed Description

-

A realtime MIDI output class.

-

This class provides a common, platform-independent API for MIDI output. It allows one to probe available MIDI output ports, to connect to one such port, and to send MIDI bytes immediately over the connection. Create multiple instances of this class to connect to more than one MIDI device at the same time. With the OS-X and Linux ALSA MIDI APIs, it is also possible to open a virtual port to which other MIDI software clients can connect.

-

by Gary P. Scavone, 2003-2012.

-

Constructor & Destructor Documentation

- -
-
- - - - - - - - - - - - - - - - - - -
RtMidiOut::RtMidiOut (RtMidi::Api  api = UNSPECIFIED,
const std::string  clientName = std::string("RtMidi Output Client") 
)
-
-
- -

Default constructor that allows an optional client name.

-

An exception will be thrown if a MIDI system initialization error occurs.

-

If no API argument is specified and multiple API support has been compiled, the default order of use is JACK, ALSA (Linux) and CORE, Jack (OS-X).

- -
-
-

Member Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - -
void RtMidiOut::openPort (unsigned int  portNumber = 0,
const std::string  portName = std::string( "RtMidi Output" ) 
) [inline, virtual]
-
-
- -

Open a MIDI output connection.

-

An optional port number greater than 0 can be specified. Otherwise, the default or first port found is opened. An exception is thrown if an error occurs while attempting to make the port connection.

- -

Implements RtMidi.

- -
-
- -
-
- - - - - - - - - -
void RtMidiOut::openVirtualPort (const std::string  portName = std::string( "RtMidi Output" ) )  [inline, virtual]
-
-
- -

Create a virtual output port, with optional name, to allow software connections (OS X and ALSA only).

-

This function creates a virtual MIDI output port to which other software applications can connect. This type of functionality is currently only supported by the Macintosh OS-X and Linux ALSA APIs (the function does nothing with the other APIs). An exception is thrown if an error occurs while attempting to create the virtual port.

- -

Implements RtMidi.

- -
-
- -
-
- - - - - - - - - -
std::string RtMidiOut::getPortName (unsigned int  portNumber = 0 )  [inline, virtual]
-
-
- -

Return a string identifier for the specified MIDI port type and number.

-

An empty string is returned if an invalid port specifier is provided.

- -

Implements RtMidi.

- -
-
- -
-
- - - - - - - - - -
void RtMidiOut::sendMessage (std::vector< unsigned char > *  message )  [inline]
-
-
- -

Immediately send a single message out an open MIDI output port.

-

An exception is thrown if an error occurs during output or an output connection was not previously established.

- -
-
-
The documentation for this class was generated from the following file: -
-
- - - -
©2003-2012 Gary P. Scavone, McGill University. All Rights Reserved.
- Maintained by Gary P. Scavone, gary at music.mcgill.ca
- - - diff --git a/source/modules/rtmidi/doc/html/classRtMidiOut.png b/source/modules/rtmidi/doc/html/classRtMidiOut.png deleted file mode 100644 index ae613f8cba1a5f109fc6d374fd15b1d20fecf549..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 345 zcmeAS@N?(olHy`uVBq!ia0vp^&OjW%!3-oz!z@aGlth3}i0l9V|AEZ^{}0TcpD+Q) z0^^rQ$!xF$h@yCDvd(DPr z5kZqALT!1br`&v)`O4%~Xy2bni&MmVmohSFEL|XSBWyqKYvxr-gg+U~bKUG@5ec~8{m z6KspG*=#!eW9D;hd>l_xrb* j+lcQgHhJb&_m|OY62JaQx1J+FKQnl``njxgN@xNAxo(=P diff --git a/source/modules/rtmidi/doc/html/classes.html b/source/modules/rtmidi/doc/html/classes.html deleted file mode 100644 index 2b7a01a05..000000000 --- a/source/modules/rtmidi/doc/html/classes.html +++ /dev/null @@ -1,26 +0,0 @@ - - -The RtMidi Tutorial - - - -
-Tutorial   Class/Enum List   File List   Compound Members  
-
- -
-

Class Index

M | R
- -
  M  
-
MidiInWinKS   MidiOutApi   MidiOutWinMM   RtMidi   
MidiInAlsa   MidiInWinMM   MidiOutCore   MidiInApi::MidiQueue   RtMidiIn   
MidiInApi   MidiInApi::MidiMessage   MidiOutJack   
  R  
-
MidiInApi::RtMidiInData   
MidiInCore   MidiOutAlsa   MidiOutWinKS   RtError   RtMidiOut   
MidiInJack   
M | R
-
-
- - - -
©2003-2012 Gary P. Scavone, McGill University. All Rights Reserved.
- Maintained by Gary P. Scavone, gary at music.mcgill.ca
- - - diff --git a/source/modules/rtmidi/doc/html/doxygen.css b/source/modules/rtmidi/doc/html/doxygen.css deleted file mode 100644 index b057a9288..000000000 --- a/source/modules/rtmidi/doc/html/doxygen.css +++ /dev/null @@ -1,532 +0,0 @@ -/* The standard CSS for doxygen */ - -body, table, div, p, dl { - font-family: Lucida Grande, Verdana, Geneva, Arial, sans-serif; - font-size: 12px; -} - -/* @group Heading Levels */ - -h1 { - text-align: center; - font-size: 150%; -} - -h2 { - font-size: 120%; -} - -h3 { - font-size: 100%; -} - -dt { - font-weight: bold; -} - -div.multicol { - -moz-column-gap: 1em; - -webkit-column-gap: 1em; - -moz-column-count: 3; - -webkit-column-count: 3; -} - -p.startli, p.startdd, p.starttd { - margin-top: 2px; -} - -p.endli { - margin-bottom: 0px; -} - -p.enddd { - margin-bottom: 4px; -} - -p.endtd { - margin-bottom: 2px; -} - -/* @end */ - -caption { - font-weight: bold; -} - -span.legend { - font-size: 70%; - text-align: center; -} - -h3.version { - font-size: 90%; - text-align: center; -} - -div.qindex, div.navtab{ - background-color: #e8eef2; - border: 1px solid #84b0c7; - text-align: center; - margin: 2px; - padding: 2px; -} - -div.qindex, div.navpath { - width: 100%; - line-height: 140%; -} - -div.navtab { - margin-right: 15px; -} - -/* @group Link Styling */ - -a { - color: #153788; - font-weight: normal; - text-decoration: none; -} - -.contents a:visited { - color: #1b77c5; -} - -a:hover { - text-decoration: underline; -} - -a.qindex { - font-weight: bold; -} - -a.qindexHL { - font-weight: bold; - background-color: #6666cc; - color: #ffffff; - border: 1px double #9295C2; -} - -.contents a.qindexHL:visited { - color: #ffffff; -} - -a.el { - font-weight: bold; -} - -a.elRef { -} - -a.code { - color: #3030f0; -} - -a.codeRef { - color: #3030f0; -} - -/* @end */ - -dl.el { - margin-left: -1cm; -} - -.fragment { - font-family: monospace, fixed; - font-size: 105%; -} - -pre.fragment { - border: 1px solid #CCCCCC; - background-color: #f5f5f5; - padding: 4px 6px; - margin: 4px 8px 4px 2px; - overflow: auto; - word-wrap: break-word; - font-size: 9pt; - line-height: 125%; -} - -div.ah { - background-color: black; - font-weight: bold; - color: #ffffff; - margin-bottom: 3px; - margin-top: 3px -} - -div.groupHeader { - margin-left: 16px; - margin-top: 12px; - margin-bottom: 6px; - font-weight: bold; -} - -div.groupText { - margin-left: 16px; - font-style: italic; -} - -body { - background: white; - color: black; - margin-right: 20px; - margin-left: 20px; -} - -td.indexkey { - background-color: #e8eef2; - font-weight: bold; - border: 1px solid #CCCCCC; - margin: 2px 0px 2px 0; - padding: 2px 10px; -} - -td.indexvalue { - background-color: #e8eef2; - border: 1px solid #CCCCCC; - padding: 2px 10px; - margin: 2px 0px; -} - -tr.memlist { - background-color: #f0f0f0; -} - -p.formulaDsp { - text-align: center; -} - -img.formulaDsp { - -} - -img.formulaInl { - vertical-align: middle; -} - -div.center { - text-align: center; - margin-top: 0px; - margin-bottom: 0px; - padding: 0px; -} - -div.center img { - border: 0px; -} - -img.footer { - border: 0px; - vertical-align: middle; -} - -/* @group Code Colorization */ - -span.keyword { - color: #008000 -} - -span.keywordtype { - color: #604020 -} - -span.keywordflow { - color: #e08000 -} - -span.comment { - color: #800000 -} - -span.preprocessor { - color: #806020 -} - -span.stringliteral { - color: #002080 -} - -span.charliteral { - color: #008080 -} - -span.vhdldigit { - color: #ff00ff -} - -span.vhdlchar { - color: #000000 -} - -span.vhdlkeyword { - color: #700070 -} - -span.vhdllogic { - color: #ff0000 -} - -/* @end */ - -.search { - color: #003399; - font-weight: bold; -} - -form.search { - margin-bottom: 0px; - margin-top: 0px; -} - -input.search { - font-size: 75%; - color: #000080; - font-weight: normal; - background-color: #e8eef2; -} - -td.tiny { - font-size: 75%; -} - -.dirtab { - padding: 4px; - border-collapse: collapse; - border: 1px solid #84b0c7; -} - -th.dirtab { - background: #e8eef2; - font-weight: bold; -} - -hr { - height: 0; - border: none; - border-top: 1px solid #666; -} - -/* @group Member Descriptions */ - -.mdescLeft, .mdescRight, -.memItemLeft, .memItemRight, -.memTemplItemLeft, .memTemplItemRight, .memTemplParams { - background-color: #FAFAFA; - border: none; - margin: 4px; - padding: 1px 0 0 8px; -} - -.mdescLeft, .mdescRight { - padding: 0px 8px 4px 8px; - color: #555; -} - -.memItemLeft, .memItemRight, .memTemplParams { - border-top: 1px solid #ccc; -} - -.memItemLeft, .memTemplItemLeft { - white-space: nowrap; -} - -.memTemplParams { - color: #606060; - white-space: nowrap; -} - -/* @end */ - -/* @group Member Details */ - -/* Styles for detailed member documentation */ - -.memtemplate { - font-size: 80%; - color: #606060; - font-weight: normal; - margin-left: 3px; -} - -.memnav { - background-color: #e8eef2; - border: 1px solid #84b0c7; - text-align: center; - margin: 2px; - margin-right: 15px; - padding: 2px; -} - -.memitem { - padding: 0; - margin-bottom: 10px; -} - -.memname { - white-space: nowrap; - font-weight: bold; -} - -.memproto, .memdoc { - border: 1px solid #84b0c7; -} - -.memproto { - padding: 0; - background-color: #d5e1e8; - font-weight: bold; - -webkit-border-top-left-radius: 8px; - -webkit-border-top-right-radius: 8px; - -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); - -moz-border-radius-topleft: 8px; - -moz-border-radius-topright: 8px; - -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; - -} - -.memdoc { - padding: 2px 5px; - background-color: #eef3f5; - border-top-width: 0; - -webkit-border-bottom-left-radius: 8px; - -webkit-border-bottom-right-radius: 8px; - -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); - -moz-border-radius-bottomleft: 8px; - -moz-border-radius-bottomright: 8px; - -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; -} - -.paramkey { - text-align: right; -} - -.paramtype { - white-space: nowrap; -} - -.paramname { - color: #602020; - white-space: nowrap; -} -.paramname em { - font-style: normal; -} - -/* @end */ - -/* @group Directory (tree) */ - -/* for the tree view */ - -.ftvtree { - font-family: sans-serif; - margin: 0.5em; -} - -/* these are for tree view when used as main index */ - -.directory { - font-size: 9pt; - font-weight: bold; -} - -.directory h3 { - margin: 0px; - margin-top: 1em; - font-size: 11pt; -} - -/* -The following two styles can be used to replace the root node title -with an image of your choice. Simply uncomment the next two styles, -specify the name of your image and be sure to set 'height' to the -proper pixel height of your image. -*/ - -/* -.directory h3.swap { - height: 61px; - background-repeat: no-repeat; - background-image: url("yourimage.gif"); -} -.directory h3.swap span { - display: none; -} -*/ - -.directory > h3 { - margin-top: 0; -} - -.directory p { - margin: 0px; - white-space: nowrap; -} - -.directory div { - display: none; - margin: 0px; -} - -.directory img { - vertical-align: -30%; -} - -/* these are for tree view when not used as main index */ - -.directory-alt { - font-size: 100%; - font-weight: bold; -} - -.directory-alt h3 { - margin: 0px; - margin-top: 1em; - font-size: 11pt; -} - -.directory-alt > h3 { - margin-top: 0; -} - -.directory-alt p { - margin: 0px; - white-space: nowrap; -} - -.directory-alt div { - display: none; - margin: 0px; -} - -.directory-alt img { - vertical-align: -30%; -} - -/* @end */ - -address { - font-style: normal; - color: #333; -} - -table.doxtable { - border-collapse:collapse; -} - -table.doxtable td, table.doxtable th { - border: 1px solid #153788; - padding: 3px 7px 2px; -} - -table.doxtable th { - background-color: #254798; - color: #FFFFFF; - font-size: 110%; - padding-bottom: 4px; - padding-top: 5px; - text-align:left; -} - diff --git a/source/modules/rtmidi/doc/html/doxygen.png b/source/modules/rtmidi/doc/html/doxygen.png deleted file mode 100644 index f0a274bbaffdd67f6d784c894d9cf28729db0e14..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1281 zcmaJ>ZA?>F7(Vx-ms?uoS`b@hdRtpo6o^%HU>M$hfGrBvQnk$LE?p^P!kn&ikhyq! zX~V@&tPF5Qt@V?oTL96Bi%aRiwbe1)9DWQI#?)=HxS7QSw`J`5fAJ*eJbB;uNuKA& zdERDo*{Y<(If(#(B$Lr#;nB(8Y#ia=ZCeW?JfPLuQY`=@cW$k}Rivq|vbxGrRq1Tl9;+(gNt?}UtVKM2`T5t1jLzuL@0UIs`S#vlhl4)^ zLgSYrPj@$+`|j?eSbXTmiHGkWxV8V}BzNR?pl9k_s4pDu9vd5a_UzZEPk)}Ad{AV_ zzddrjrh4=Imr`E06;LY{)YYt?o}L~H@7C}F^WB!Ra=v`Q0bj{>5&$66CWF>mf6vjP z2N>RRY6ZYa=K`76>+|_)Xdwko+7wv}7cN|btOhWb(*{sta~6b?S8Omrxw}!4`NhGr zZVpNqpu1@BE`QGWNTpEpcJVW5izu~2B^GlM?1(OPg)zwW;QcP@Ltcclm>XbJL9C|j z=9!2?ua=uIlf0%AndzHsRC}IyTL$EhAee(fdKB`?27KeS^2M8M_7b~PiCFO&r5LC7 z7gl1*a<8;SjNaw#h=843_AV9iZbWQOAp5YOC^&_F*9K0> zB|6%IDb?aM#3viTxkLU4aXg&@+CkNTOnQ1iMP*^?b|^lJy$4C)Zk4isV!|RZ*XhXh zw8q3$=*0LeGC!XI_Wc?dkT~3+*Gu%%yIqP+Wr3H$=&ROMQU6q}Ag^P~>c5vAEO;a- z_dK-3PPeKar%)6$j~vI2#*-YH!1h6HYVtwCX5_wM`iF#UKz&&@9Oo5w3%XGYrX zW>dY~)SG-((Yim%`InwgTvyRC?e=Wh^8KCao!R6Eg&TpVWUY1sN~4G}V?nFnEGo-; zHZ_$eW9-GnC%^WS9b z@p;-$oH#MtC0v>Q$HX%4^JdFdO$0cbv-W)Q TtK}Eh@>>I#ipmV1>S*>q-hkC} diff --git a/source/modules/rtmidi/doc/html/files.html b/source/modules/rtmidi/doc/html/files.html deleted file mode 100644 index f3dc73d79..000000000 --- a/source/modules/rtmidi/doc/html/files.html +++ /dev/null @@ -1,25 +0,0 @@ - - -The RtMidi Tutorial - - - -
-Tutorial   Class/Enum List   File List   Compound Members  
-
- -
-

File List

Here is a list of all documented files with brief descriptions: - - -
RtError.h [code]
RtMidi.h [code]
-
-
- - - -
©2003-2012 Gary P. Scavone, McGill University. All Rights Reserved.
- Maintained by Gary P. Scavone, gary at music.mcgill.ca
- - - diff --git a/source/modules/rtmidi/doc/html/functions.html b/source/modules/rtmidi/doc/html/functions.html deleted file mode 100644 index f9157e341..000000000 --- a/source/modules/rtmidi/doc/html/functions.html +++ /dev/null @@ -1,258 +0,0 @@ - - -The RtMidi Tutorial - - - -
-Tutorial   Class/Enum List   File List   Compound Members  
-
- - -
- -
-
-Here is a list of all documented class members with links to the class documentation for each member: - -

- a -

- - -

- c -

- - -

- d -

- - -

- e -

- - -

- g -

- - -

- i -

- - -

- l -

- - -

- m -

- - -

- n -

- - -

- o -

- - -

- p -

- - -

- r -

- - -

- s -

- - -

- t -

- - -

- u -

- - -

- w -

- - -

- ~ -

-
-
- - - -
©2003-2012 Gary P. Scavone, McGill University. All Rights Reserved.
- Maintained by Gary P. Scavone, gary at music.mcgill.ca
- - - diff --git a/source/modules/rtmidi/doc/html/functions_enum.html b/source/modules/rtmidi/doc/html/functions_enum.html deleted file mode 100644 index 270d9069a..000000000 --- a/source/modules/rtmidi/doc/html/functions_enum.html +++ /dev/null @@ -1,38 +0,0 @@ - - -The RtMidi Tutorial - - - -
-Tutorial   Class/Enum List   File List   Compound Members  
-
- - -
-
-
- - - -
©2003-2012 Gary P. Scavone, McGill University. All Rights Reserved.
- Maintained by Gary P. Scavone, gary at music.mcgill.ca
- - - diff --git a/source/modules/rtmidi/doc/html/functions_eval.html b/source/modules/rtmidi/doc/html/functions_eval.html deleted file mode 100644 index 40a566152..000000000 --- a/source/modules/rtmidi/doc/html/functions_eval.html +++ /dev/null @@ -1,84 +0,0 @@ - - -The RtMidi Tutorial - - - -
-Tutorial   Class/Enum List   File List   Compound Members  
-
- - -
-
-
- - - -
©2003-2012 Gary P. Scavone, McGill University. All Rights Reserved.
- Maintained by Gary P. Scavone, gary at music.mcgill.ca
- - - diff --git a/source/modules/rtmidi/doc/html/functions_func.html b/source/modules/rtmidi/doc/html/functions_func.html deleted file mode 100644 index 8d0c48efb..000000000 --- a/source/modules/rtmidi/doc/html/functions_func.html +++ /dev/null @@ -1,162 +0,0 @@ - - -The RtMidi Tutorial - - - -
-Tutorial   Class/Enum List   File List   Compound Members  
-
- - -
- -
-
-  - -

- c -

- - -

- e -

- - -

- g -

- - -

- i -

- - -

- o -

- - -

- p -

- - -

- r -

- - -

- s -

- - -

- w -

- - -

- ~ -

-
-
- - - -
©2003-2012 Gary P. Scavone, McGill University. All Rights Reserved.
- Maintained by Gary P. Scavone, gary at music.mcgill.ca
- - - diff --git a/source/modules/rtmidi/doc/html/functions_type.html b/source/modules/rtmidi/doc/html/functions_type.html deleted file mode 100644 index 589be8fd9..000000000 --- a/source/modules/rtmidi/doc/html/functions_type.html +++ /dev/null @@ -1,35 +0,0 @@ - - -The RtMidi Tutorial - - - -
-Tutorial   Class/Enum List   File List   Compound Members  
-
- - -
-
-
- - - -
©2003-2012 Gary P. Scavone, McGill University. All Rights Reserved.
- Maintained by Gary P. Scavone, gary at music.mcgill.ca
- - - diff --git a/source/modules/rtmidi/doc/html/hierarchy.html b/source/modules/rtmidi/doc/html/hierarchy.html deleted file mode 100644 index 31f32e464..000000000 --- a/source/modules/rtmidi/doc/html/hierarchy.html +++ /dev/null @@ -1,48 +0,0 @@ - - -The RtMidi Tutorial - - - -
-Tutorial   Class/Enum List   File List   Compound Members  
-
- - -
- - - -
©2003-2012 Gary P. Scavone, McGill University. All Rights Reserved.
- Maintained by Gary P. Scavone, gary at music.mcgill.ca
- - - diff --git a/source/modules/rtmidi/doc/html/index.html b/source/modules/rtmidi/doc/html/index.html deleted file mode 100644 index 96a042dfe..000000000 --- a/source/modules/rtmidi/doc/html/index.html +++ /dev/null @@ -1,395 +0,0 @@ - - -The RtMidi Tutorial - - - -
-Tutorial   Class/Enum List   File List   Compound Members  
-
- -
-

The RtMidi Tutorial

2.0.1

Introduction    Download    Getting Started    Error Handling    Probing Ports    MIDI Output    MIDI Input    Virtual Ports    Compiling    Debugging    Using Simultaneous Multiple APIs    API Notes    Acknowledgements    License

-Introduction

-

RtMidi is a set of C++ classes (RtMidiIn, RtMidiOut and API-specific classes) that provides a common API (Application Programming Interface) for realtime MIDI input/output across Linux (ALSA & Jack), Macintosh OS X (CoreMidi & Jack), and Windows (Multimedia Library & Kernel Streaming) operating systems. RtMidi significantly simplifies the process of interacting with computer MIDI hardware and software. It was designed with the following goals:

-
    -
  • -object oriented C++ design
  • -
  • -simple, common API across all supported platforms
  • -
  • -only two header files and one source file for easy inclusion in programming projects
  • -
  • -MIDI device enumeration
  • -
-

Where applicable, multiple API support can be compiled and a particular API specified when creating an RtAudio instance.

-

MIDI input and output functionality are separated into two classes, RtMidiIn and RtMidiOut. Each class instance supports only a single MIDI connection. RtMidi does not provide timing functionality (i.e., output messages are sent immediately). Input messages are timestamped with delta times in seconds (via a double floating point type). MIDI data is passed to the user as raw bytes using an std::vector<unsigned char>.

-

-What's New (Version 2.0)

-

No incompatable API changes were made in version 2.0, however, support for multiple compiled APIs (where available) was added (see Using Simultaneous Multiple APIs). Other changes include: 1. Added Windows Kernel Streaming support (thanks to Sebastien Alaiwan), though not tested in Visual Studio (and timestamping is not implemented); and 2. Support for the IRIX (SGI) operating system was discontinued.

-

-Download

-

Latest Release (26 July 2012): Version 2.0.1

-

-Getting Started

-

The first thing that must be done when using RtMidi is to create an instance of the RtMidiIn or RtMidiOut subclasses. RtMidi is an abstract base class, which itself cannot be instantiated. Each default constructor attempts to establish any necessary "connections" with the underlying MIDI system. RtMidi uses C++ exceptions to report errors, necessitating try/catch blocks around many member functions. An RtError can be thrown during instantiation in some circumstances. A warning message may also be reported if no MIDI devices are found during instantiation. The RtMidi classes have been designed to work with "hot pluggable" or virtual (software) MIDI devices, making it possible to connect to MIDI devices that may not have been present when the classes were instantiated. The following code example demonstrates default object construction and destruction:

-
#include "RtMidi.h"
-
-int main()
-{
-  RtMidiIn *midiin = 0;
-
-  // RtMidiIn constructor
-  try {
-    midiin = new RtMidiIn();
-  }
-  catch (RtError &error) {
-    // Handle the exception here
-    error.printMessage();
-  }
-
-  // Clean up
-  delete midiin;
-}
-

Obviously, this example doesn't demonstrate any of the real functionality of RtMidi. However, all uses of RtMidi must begin with construction and must end with class destruction. Further, it is necessary that all class methods that can throw a C++ exception be called within a try/catch block.

-

-Error Handling

-

RtMidi uses a C++ exception handler called RtError, which is declared and defined in RtError.h. The RtError class is quite simple but it does allow errors to be "caught" by RtError::Type. Many RtMidi methods can "throw" an RtError, most typically if a driver error occurs or an invalid function argument is specified. There are a number of cases within RtMidi where warning messages may be displayed but an exception is not thrown. There is a protected RtMidi method, error(), that can be modified to globally control how these messages are handled and reported. By default, error messages are not automatically displayed in RtMidi unless the preprocessor definition __RTMIDI_DEBUG__ is defined during compilation. Messages associated with caught exceptions can be displayed with, for example, the RtError::printMessage() function.

-

-Probing Ports

-

A programmer may wish to query the available MIDI ports before deciding which to use. The following example outlines how this can be done.

-
// midiprobe.cpp
-
-#include <iostream>
-#include <cstdlib>
-#include "RtMidi.h"
-
-int main()
-{
-  RtMidiIn  *midiin = 0;
-  RtMidiOut *midiout = 0;
-
-  // RtMidiIn constructor
-  try {
-    midiin = new RtMidiIn();
-  }
-  catch ( RtError &error ) {
-    error.printMessage();
-    exit( EXIT_FAILURE );
-  }
-
-  // Check inputs.
-  unsigned int nPorts = midiin->getPortCount();
-  std::cout << "\nThere are " << nPorts << " MIDI input sources available.\n";
-  std::string portName;
-  for ( unsigned int i=0; i<nPorts; i++ ) {
-    try {
-      portName = midiin->getPortName(i);
-    }
-    catch ( RtError &error ) {
-      error.printMessage();
-      goto cleanup;
-    }
-    std::cout << "  Input Port #" << i+1 << ": " << portName << '\n';
-  }
-
-  // RtMidiOut constructor
-  try {
-    midiout = new RtMidiOut();
-  }
-  catch ( RtError &error ) {
-    error.printMessage();
-    exit( EXIT_FAILURE );
-  }
-
-  // Check outputs.
-  nPorts = midiout->getPortCount();
-  std::cout << "\nThere are " << nPorts << " MIDI output ports available.\n";
-  for ( unsigned int i=0; i<nPorts; i++ ) {
-    try {
-      portName = midiout->getPortName(i);
-    }
-    catch (RtError &error) {
-      error.printMessage();
-      goto cleanup;
-    }
-    std::cout << "  Output Port #" << i+1 << ": " << portName << '\n';
-  }
-  std::cout << '\n';
-
-  // Clean up
- cleanup:
-  delete midiin;
-  delete midiout;
-
-  return 0;
-}
-

-MIDI Output

-

The RtMidiOut class provides simple functionality to immediately send messages over a MIDI connection. No timing functionality is provided.

-

In the following example, we omit necessary error checking and details regarding OS-dependent sleep functions. For a complete example, see the midiout.cpp program in the tests directory.

-
// midiout.cpp
-
-#include <iostream>
-#include <cstdlib>
-#include "RtMidi.h"
-
-int main()
-{
-  RtMidiOut *midiout = new RtMidiOut();
-  std::vector<unsigned char> message;
-
-  // Check available ports.
-  unsigned int nPorts = midiout->getPortCount();
-  if ( nPorts == 0 ) {
-    std::cout << "No ports available!\n";
-    goto cleanup;
-  }
-
-  // Open first available port.
-  midiout->openPort( 0 );
-
-  // Send out a series of MIDI messages.
-
-  // Program change: 192, 5
-  message.push_back( 192 );
-  message.push_back( 5 );
-  midiout->sendMessage( &message );
-
-  // Control Change: 176, 7, 100 (volume)
-  message[0] = 176;
-  message[1] = 7;
-  message.push_back( 100 );
-  midiout->sendMessage( &message );
-
-  // Note On: 144, 64, 90
-  message[0] = 144;
-  message[1] = 64;
-  message[2] = 90;
-  midiout->sendMessage( &message );
-
-  SLEEP( 500 ); // Platform-dependent ... see example in tests directory.
-
-  // Note Off: 128, 64, 40
-  message[0] = 128;
-  message[1] = 64;
-  message[2] = 40;
-  midiout->sendMessage( &message );
-
-  // Clean up
- cleanup:
-  delete midiout;
-
-  return 0;
-}
-

-MIDI Input

-

The RtMidiIn class uses an internal callback function or thread to receive incoming MIDI messages from a port or device. These messages are then either queued and read by the user via calls to the RtMidiIn::getMessage() function or immediately passed to a user-specified callback function (which must be "registered" using the RtMidiIn::setCallback() function). We'll provide examples of both usages.

-

The RtMidiIn class provides the RtMidiIn::ignoreTypes() function to specify that certain MIDI message types be ignored. By default, sysem exclusive, timing, and active sensing messages are ignored.

-

-Queued MIDI Input

-

The RtMidiIn::getMessage() function does not block. If a MIDI message is available in the queue, it is copied to the user-provided std::vector<unsigned char> container. When no MIDI message is available, the function returns an empty container. The default maximum MIDI queue size is 1024 messages. This value may be modified with the RtMidiIn::setQueueSizeLimit() function. If the maximum queue size limit is reached, subsequent incoming MIDI messages are discarded until the queue size is reduced.

-

In the following example, we omit some necessary error checking and details regarding OS-dependent sleep functions. For a more complete example, see the qmidiin.cpp program in the tests directory.

-
// qmidiin.cpp
-
-#include <iostream>
-#include <cstdlib>
-#include <signal.h>
-#include "RtMidi.h"
-
-bool done;
-static void finish(int ignore){ done = true; }
-
-int main()
-{
-  RtMidiIn *midiin = new RtMidiIn();
-  std::vector<unsigned char> message;
-  int nBytes, i;
-  double stamp;
-
-  // Check available ports.
-  unsigned int nPorts = midiin->getPortCount();
-  if ( nPorts == 0 ) {
-    std::cout << "No ports available!\n";
-    goto cleanup;
-  }
-  midiin->openPort( 0 );
-
-  // Don't ignore sysex, timing, or active sensing messages.
-  midiin->ignoreTypes( false, false, false );
-
-  // Install an interrupt handler function.
-  done = false;
-  (void) signal(SIGINT, finish);
-
-  // Periodically check input queue.
-  std::cout << "Reading MIDI from port ... quit with Ctrl-C.\n";
-  while ( !done ) {
-    stamp = midiin->getMessage( &message );
-    nBytes = message.size();
-    for ( i=0; i<nBytes; i++ )
-      std::cout << "Byte " << i << " = " << (int)message[i] << ", ";
-    if ( nBytes > 0 )
-      std::cout << "stamp = " << stamp << std::endl;
-
-    // Sleep for 10 milliseconds ... platform-dependent.
-    SLEEP( 10 );
-  }
-
-  // Clean up
- cleanup:
-  delete midiin;
-
-  return 0;
-}
-

-MIDI Input with User Callback

-

When set, a user-provided callback function will be invoked after the input of a complete MIDI message. It is possible to provide a pointer to user data that can be accessed in the callback function (not shown here). It is necessary to set the callback function immediately after opening the port to avoid having incoming messages written to the queue (which is not emptied when a callback function is set). If you are worried about this happening, you can check the queue using the RtMidi::getMessage() function to verify it is empty (after the callback function is set).

-

In the following example, we omit some necessary error checking. For a more complete example, see the cmidiin.cpp program in the tests directory.

-
// cmidiin.cpp
-
-#include <iostream>
-#include <cstdlib>
-#include "RtMidi.h"
-
-void mycallback( double deltatime, std::vector< unsigned char > *message, void *userData )
-{
-  unsigned int nBytes = message->size();
-  for ( unsigned int i=0; i<nBytes; i++ )
-    std::cout << "Byte " << i << " = " << (int)message->at(i) << ", ";
-  if ( nBytes > 0 )
-    std::cout << "stamp = " << deltatime << std::endl;
-}
-
-int main()
-{
-  RtMidiIn *midiin = new RtMidiIn();
-
-  // Check available ports.
-  unsigned int nPorts = midiin->getPortCount();
-  if ( nPorts == 0 ) {
-    std::cout << "No ports available!\n";
-    goto cleanup;
-  }
-
-  midiin->openPort( 0 );
-
-  // Set our callback function.  This should be done immediately after
-  // opening the port to avoid having incoming messages written to the
-  // queue.
-  midiin->setCallback( &mycallback );
-
-  // Don't ignore sysex, timing, or active sensing messages.
-  midiin->ignoreTypes( false, false, false );
-
-  std::cout << "\nReading MIDI input ... press <enter> to quit.\n";
-  char input;
-  std::cin.get(input);
-
-  // Clean up
- cleanup:
-  delete midiin;
-
-  return 0;
-}
-

-Virtual Ports

-

The Linux ALSA and Macintosh CoreMIDI APIs allow for the establishment of virtual input and output MIDI ports to which other software clients can connect. RtMidi incorporates this functionality with the RtMidiIn::openVirtualPort() and RtMidiOut::openVirtualPort() functions. Any messages sent with the RtMidiOut::sendMessage() function will also be transmitted through an open virtual output port. If a virtual input port is open and a user callback function is set, the callback function will be invoked when messages arrive via that port. If a callback function is not set, the user must poll the input queue to check whether messages have arrived. No notification is provided for the establishment of a client connection via a virtual port.

-

-Compiling

-

In order to compile RtMidi for a specific OS and API, it is necessary to supply the appropriate preprocessor definition and library within the compiler statement:

- - - - - - - - - - - - - -
OS: MIDI API: Preprocessor Definition: Library or Framework: Example Compiler Statement:
Linux ALSA Sequencer __LINUX_ALSA__ asound, pthread g++ -Wall -D__LINUX_ALSA__ -o midiprobe midiprobe.cpp RtMidi.cpp -lasound -lpthread
Linux or Mac Jack MIDI __UNIX_JACK__ jack g++ -Wall -D__UNIX_JACK__ -o midiprobe midiprobe.cpp RtMidi.cpp -ljack
Macintosh OS X CoreMidi __MACOSX_CORE__ CoreMidi, CoreAudio, CoreFoundation g++ -Wall -D__MACOSX_CORE__ -o midiprobe midiprobe.cpp RtMidi.cpp -framework CoreMIDI -framework CoreAudio -framework CoreFoundation
Windows Multimedia Library __WINDOWS_MM__ winmm.lib, multithreaded compiler specific
Windows Kernel Streaming __WINDOWS_KS__ ks.h, ksmedia.h, setupapi.lib, ksuser.lib, multithreaded compiler specific
-

The example compiler statements above could be used to compile the midiprobe.cpp example file, assuming that midiprobe.cpp, RtMidi.h, RtError.h, and RtMidi.cpp all exist in the same directory.

-

-Debugging

-

If you are having problems getting RtMidi to run on your system, try passing the preprocessor definition __RTMIDI_DEBUG__ to the compiler (or define it in RtMidi.h). A variety of warning messages will be displayed that may help in determining the problem. Also try using the programs included in the test directory. The program midiprobe displays the queried capabilities of all MIDI ports found.

-

-Using Simultaneous Multiple APIs

-

Support for each MIDI API is encapsulated in specific MidiInApi or MidiOutApi subclasses, making it possible to compile and instantiate multiple API-specific subclasses on a given operating system. For example, one can compile both the CoreMIDI and Jack support on the OS-X operating system by providing the appropriate preprocessor definitions for each. In a run-time situation, one might first attempt to determine whether any Jack ports are available. This can be done by specifying the api argument RtMidi::UNIX_JACK when attempting to create an instance of RtMidiIn or RtMidiOut. If no available ports are found, then an instance of RtMidi with the api argument RtMidi::MACOSX_CORE can be created. Alternately, if no api argument is specified, RtMidi will first look for CoreMIDI ports and if none are found, then Jack ports (in linux, the search order is ALSA and then Jack; in windows, the search order is WinMM and then WinKS). In theory, it should also be possible to have separate instances of RtMidi open at the same time with different underlying API support, though this has not been tested.

-

The static function RtMidi::getCompiledApi() is provided to determine the available compiled API support. The function RtMidi::getCurrentApi() indicates the API selected for a given RtMidi instance.

-

-API Notes

-

RtMidi is designed to provide a common API across the various supported operating systems and audio libraries. Despite that, some issues should be mentioned with regard to each.

-

-Linux:

-

RtMidi for Linux was developed using the Fedora distribution. Two different MIDI APIs are supported on Linux platforms: ALSA and Jack. A decision was made to not include support for the OSS API because the OSS API provides such limited functionality and because ALSA support is now incorporated in the Linux kernel. The ALSA sequencer and Jack APIs allows for virtual software input and output ports.

-

-Macintosh OS X (CoreAudio):

-

The Apple CoreMidi API allows for the establishment of virtual input and output ports to which other software applications can connect.

-

The RtMidi Jack support can be compiled on Macintosh OS-X systems, as well as in Linux.

-

-Windows (Multimedia Library):

-

The configure script provides support for the MinGW compiler.

-

The Windows Multimedia library MIDI calls used in RtMidi do not make use of streaming functionality. Incoming system exclusive messages read by RtMidiIn are limited to a length as defined by the preprocessor definition RT_SYSEX_BUFFER_SIZE (set in RtMidi.cpp). The default value is 1024. There is no such limit for outgoing sysex messages via RtMidiOut.

-

RtMidi was originally developed with Visual C++ version 6.0.

-

The configure script provides support for the MinGW compiler.

-

-Acknowledgements

-

Many thanks to the following people for providing bug fixes and improvements:

-
    -
  • -Sebastien Alaiwan (Jack memory leaks, Windows kernel streaming)
  • -
  • -Jean-Baptiste Berruchon (Windows sysex code)
  • -
  • -Pedro Lopez-Cabanillas (ALSA sequencer API, client naming)
  • -
  • -Jason Champion (MSW project file for library build)
  • -
  • -Eduardo Coutinho (Windows device names)
  • -
  • -Paul Dean (increment optimization)
  • -
  • -Luc Deschenaux (sysex issues)
  • -
  • -John Dey (OS-X timestamps)
  • -
  • -Christoph Eckert (ALSA sysex fixes)
  • -
  • -Martin Koegler (various fixes)
  • -
  • -Immanuel Litzroth (OS-X sysex fix)
  • -
  • -Jon McCormack (Snow Leopard updates)
  • -
  • -Axel Schmidt (client naming)
  • -
  • -Alexander Svetalkin (Jack MIDI)
  • -
  • -Casey Tucker (OS-X driver information, sysex sending)
  • -
  • -Bastiaan Verreijt (Windows sysex multi-buffer code)
  • -
  • -Dan Wilcox
  • -
-

-License

-

RtMidi: realtime MIDI i/o C++ classes
- Copyright (c) 2003-2012 Gary P. Scavone

-

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

-

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

-

Any person wishing to distribute modifications to the Software is asked to send the modifications to the original developer so that they can be incorporated into the canonical version. This is, however, not a binding provision of this license.

-

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-
-
- - - -
©2003-2012 Gary P. Scavone, McGill University. All Rights Reserved.
- Maintained by Gary P. Scavone, gary at music.mcgill.ca
- - - diff --git a/source/modules/rtmidi/doc/html/structMidiInApi_1_1MidiMessage-members.html b/source/modules/rtmidi/doc/html/structMidiInApi_1_1MidiMessage-members.html deleted file mode 100644 index d1dc4fa71..000000000 --- a/source/modules/rtmidi/doc/html/structMidiInApi_1_1MidiMessage-members.html +++ /dev/null @@ -1,22 +0,0 @@ - - -The RtMidi Tutorial - - - -
-Tutorial   Class/Enum List   File List   Compound Members  
-
- -
-

MidiInApi::MidiMessage Member List

This is the complete list of members for MidiInApi::MidiMessage, including all inherited members. -
-
- - - -
©2003-2012 Gary P. Scavone, McGill University. All Rights Reserved.
- Maintained by Gary P. Scavone, gary at music.mcgill.ca
- - - diff --git a/source/modules/rtmidi/doc/html/structMidiInApi_1_1MidiMessage.html b/source/modules/rtmidi/doc/html/structMidiInApi_1_1MidiMessage.html deleted file mode 100644 index 58e952cb3..000000000 --- a/source/modules/rtmidi/doc/html/structMidiInApi_1_1MidiMessage.html +++ /dev/null @@ -1,30 +0,0 @@ - - -The RtMidi Tutorial - - - -
-Tutorial   Class/Enum List   File List   Compound Members  
-
- - -
-

MidiInApi::MidiMessage Struct Reference

-

List of all members.

- -
-
The documentation for this struct was generated from the following file: -
-
- - - -
©2003-2012 Gary P. Scavone, McGill University. All Rights Reserved.
- Maintained by Gary P. Scavone, gary at music.mcgill.ca
- - - diff --git a/source/modules/rtmidi/doc/html/structMidiInApi_1_1MidiQueue-members.html b/source/modules/rtmidi/doc/html/structMidiInApi_1_1MidiQueue-members.html deleted file mode 100644 index 9dee50244..000000000 --- a/source/modules/rtmidi/doc/html/structMidiInApi_1_1MidiQueue-members.html +++ /dev/null @@ -1,22 +0,0 @@ - - -The RtMidi Tutorial - - - -
-Tutorial   Class/Enum List   File List   Compound Members  
-
- -
-

MidiInApi::MidiQueue Member List

This is the complete list of members for MidiInApi::MidiQueue, including all inherited members. -
-
- - - -
©2003-2012 Gary P. Scavone, McGill University. All Rights Reserved.
- Maintained by Gary P. Scavone, gary at music.mcgill.ca
- - - diff --git a/source/modules/rtmidi/doc/html/structMidiInApi_1_1MidiQueue.html b/source/modules/rtmidi/doc/html/structMidiInApi_1_1MidiQueue.html deleted file mode 100644 index 5910ac181..000000000 --- a/source/modules/rtmidi/doc/html/structMidiInApi_1_1MidiQueue.html +++ /dev/null @@ -1,30 +0,0 @@ - - -The RtMidi Tutorial - - - -
-Tutorial   Class/Enum List   File List   Compound Members  
-
- - -
-

MidiInApi::MidiQueue Struct Reference

-

List of all members.

- -
-
The documentation for this struct was generated from the following file: -
-
- - - -
©2003-2012 Gary P. Scavone, McGill University. All Rights Reserved.
- Maintained by Gary P. Scavone, gary at music.mcgill.ca
- - - diff --git a/source/modules/rtmidi/doc/html/structMidiInApi_1_1RtMidiInData-members.html b/source/modules/rtmidi/doc/html/structMidiInApi_1_1RtMidiInData-members.html deleted file mode 100644 index 16154623f..000000000 --- a/source/modules/rtmidi/doc/html/structMidiInApi_1_1RtMidiInData-members.html +++ /dev/null @@ -1,22 +0,0 @@ - - -The RtMidi Tutorial - - - -
-Tutorial   Class/Enum List   File List   Compound Members  
-
- -
-

MidiInApi::RtMidiInData Member List

This is the complete list of members for MidiInApi::RtMidiInData, including all inherited members. -
-
- - - -
©2003-2012 Gary P. Scavone, McGill University. All Rights Reserved.
- Maintained by Gary P. Scavone, gary at music.mcgill.ca
- - - diff --git a/source/modules/rtmidi/doc/html/structMidiInApi_1_1RtMidiInData.html b/source/modules/rtmidi/doc/html/structMidiInApi_1_1RtMidiInData.html deleted file mode 100644 index 67db75b0c..000000000 --- a/source/modules/rtmidi/doc/html/structMidiInApi_1_1RtMidiInData.html +++ /dev/null @@ -1,30 +0,0 @@ - - -The RtMidi Tutorial - - - -
-Tutorial   Class/Enum List   File List   Compound Members  
-
- - -
-

MidiInApi::RtMidiInData Struct Reference

-

List of all members.

- -
-
The documentation for this struct was generated from the following file: -
-
- - - -
©2003-2012 Gary P. Scavone, McGill University. All Rights Reserved.
- Maintained by Gary P. Scavone, gary at music.mcgill.ca
- - - diff --git a/source/modules/rtmidi/doc/html/structRtMidiIn_1_1MidiMessage-members.html b/source/modules/rtmidi/doc/html/structRtMidiIn_1_1MidiMessage-members.html deleted file mode 100644 index 78796adf2..000000000 --- a/source/modules/rtmidi/doc/html/structRtMidiIn_1_1MidiMessage-members.html +++ /dev/null @@ -1,22 +0,0 @@ - - -The RtMidi Tutorial - - - -
-Tutorial   Class/Enum List   File List   Compound Members  
-
- -
-

RtMidiIn::MidiMessage Member List

This is the complete list of members for RtMidiIn::MidiMessage, including all inherited members. -
-
- - - -
©2003-2011 Gary P. Scavone, McGill University. All Rights Reserved.
- Maintained by Gary P. Scavone, gary at music.mcgill.ca
- - - diff --git a/source/modules/rtmidi/doc/html/structRtMidiIn_1_1MidiMessage.html b/source/modules/rtmidi/doc/html/structRtMidiIn_1_1MidiMessage.html deleted file mode 100644 index 63dc9d033..000000000 --- a/source/modules/rtmidi/doc/html/structRtMidiIn_1_1MidiMessage.html +++ /dev/null @@ -1,30 +0,0 @@ - - -The RtMidi Tutorial - - - -
-Tutorial   Class/Enum List   File List   Compound Members  
-
- - -
-

RtMidiIn::MidiMessage Struct Reference

-

List of all members.

- -
-
The documentation for this struct was generated from the following file: -
-
- - - -
©2003-2011 Gary P. Scavone, McGill University. All Rights Reserved.
- Maintained by Gary P. Scavone, gary at music.mcgill.ca
- - - diff --git a/source/modules/rtmidi/doc/html/structRtMidiIn_1_1MidiQueue-members.html b/source/modules/rtmidi/doc/html/structRtMidiIn_1_1MidiQueue-members.html deleted file mode 100644 index 03b5c92db..000000000 --- a/source/modules/rtmidi/doc/html/structRtMidiIn_1_1MidiQueue-members.html +++ /dev/null @@ -1,22 +0,0 @@ - - -The RtMidi Tutorial - - - -
-Tutorial   Class/Enum List   File List   Compound Members  
-
- -
-

RtMidiIn::MidiQueue Member List

This is the complete list of members for RtMidiIn::MidiQueue, including all inherited members. -
-
- - - -
©2003-2011 Gary P. Scavone, McGill University. All Rights Reserved.
- Maintained by Gary P. Scavone, gary at music.mcgill.ca
- - - diff --git a/source/modules/rtmidi/doc/html/structRtMidiIn_1_1MidiQueue.html b/source/modules/rtmidi/doc/html/structRtMidiIn_1_1MidiQueue.html deleted file mode 100644 index face6ed2b..000000000 --- a/source/modules/rtmidi/doc/html/structRtMidiIn_1_1MidiQueue.html +++ /dev/null @@ -1,30 +0,0 @@ - - -The RtMidi Tutorial - - - -
-Tutorial   Class/Enum List   File List   Compound Members  
-
- - -
-

RtMidiIn::MidiQueue Struct Reference

-

List of all members.

- -
-
The documentation for this struct was generated from the following file: -
-
- - - -
©2003-2011 Gary P. Scavone, McGill University. All Rights Reserved.
- Maintained by Gary P. Scavone, gary at music.mcgill.ca
- - - diff --git a/source/modules/rtmidi/doc/html/structRtMidiIn_1_1RtMidiInData-members.html b/source/modules/rtmidi/doc/html/structRtMidiIn_1_1RtMidiInData-members.html deleted file mode 100644 index 22d45e192..000000000 --- a/source/modules/rtmidi/doc/html/structRtMidiIn_1_1RtMidiInData-members.html +++ /dev/null @@ -1,22 +0,0 @@ - - -The RtMidi Tutorial - - - -
-Tutorial   Class/Enum List   File List   Compound Members  
-
- -
-

RtMidiIn::RtMidiInData Member List

This is the complete list of members for RtMidiIn::RtMidiInData, including all inherited members. -
-
- - - -
©2003-2011 Gary P. Scavone, McGill University. All Rights Reserved.
- Maintained by Gary P. Scavone, gary at music.mcgill.ca
- - - diff --git a/source/modules/rtmidi/doc/html/structRtMidiIn_1_1RtMidiInData.html b/source/modules/rtmidi/doc/html/structRtMidiIn_1_1RtMidiInData.html deleted file mode 100644 index 61e59b5ea..000000000 --- a/source/modules/rtmidi/doc/html/structRtMidiIn_1_1RtMidiInData.html +++ /dev/null @@ -1,30 +0,0 @@ - - -The RtMidi Tutorial - - - -
-Tutorial   Class/Enum List   File List   Compound Members  
-
- - -
-

RtMidiIn::RtMidiInData Struct Reference

-

List of all members.

- -
-
The documentation for this struct was generated from the following file: -
-
- - - -
©2003-2011 Gary P. Scavone, McGill University. All Rights Reserved.
- Maintained by Gary P. Scavone, gary at music.mcgill.ca
- - - diff --git a/source/modules/rtmidi/doc/html/tab_b.gif b/source/modules/rtmidi/doc/html/tab_b.gif deleted file mode 100644 index 0d623483ffdf5f9f96900108042a7ab0643fe2a3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35 ncmZ?wbhEHbWMp7uXkcJy*>IeJfk6j|fqX^=1|}vKMh0sDa2W*H diff --git a/source/modules/rtmidi/doc/html/tab_l.gif b/source/modules/rtmidi/doc/html/tab_l.gif deleted file mode 100644 index 9b1e6337c9299a700401a2a78a2c6ffced475216..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 706 zcmZ?wbhEHbZT`}F1e&(Gg}Y(8=I;HA5#Z$3JI=gGB)FQ#odI(O&E^@q;x zK6mr*m3xOS-#u~t!I@i+u0DKm^U160k6t`|^WpV}&n+8{U%dD9&a>B#U%!9-@yol< zU%&tQ{rk_K|NsC0`}dE5ET99@1@a36+kb~?0UJ*yc&I3X_m z!ND^5$O7$#8OFRuDhG}!?8z?cdZK&!`PWjdR;Aj^wZ` zeK{IEYHBJ)6K8VIp1`BVt++swf6j+=L{p1*nO(VhE`pFexG@5$|>uaCcd z`0m=9m+yak{QmXN#Sc$^{$X9h9&q2jiKAI|&T)a;PPx2K9p`YIdw8HtR5k2Q$2-O2 z*;3y{MQ-RnJTgJfI&R5|O)AHxDf_00XbPvDZPy4t=hHd)nfLPvms&O`Ok(sD()5v$ z5U@&h;a=#xbxVbo2~X&Xj0Ie(f{v>vERH+qC+nTG=B8Nca=wU-O$?1&vUgV~9=!H; zx>3p9Yn%*<>t~sk+&0xfyS8RsPfYBd<~wWK%j-LmpU>O7yX^h#UCp1x-p#i7@bE;py8XI6 zmY<)m>~)W~yIWcMVoiPg{duuf<*)9qZ9l$m*Ph&W&$jlv*Vpa+{pH@n=IQ$L?0$ax ec60Ul|8o2P|NVbd{6P)#weSbE3}s?04AuZvx_~SI diff --git a/source/modules/rtmidi/doc/html/tab_r.gif b/source/modules/rtmidi/doc/html/tab_r.gif deleted file mode 100644 index ce9dd9f533cb5486d6941844f442b59d4a9e9175..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2585 zcmbV}`9Bkk1ILFF--w5zJc=ZZT(zjE=;2|_S)Qm~rCWz1Pc)KPl;jv%A#&v2*x}yc zmf2~Jm~&=xjJY?PqwIN}f8qQ2{r$uH{c*nJbmr{cR5??*egHrs-B=MzCF`3%e{FAW z{oL5xTHn~5TM{jaB;@|_Ue5F&Zb@p(kMyG{*;gWDg zyeL|eZf7Qd8=#bXzSiR{yzRgLSj-fJS8>lBjVHN z^o-0eS=nE6a`W;LChBs=`+QAJP~{b93>H^eRb5kCSC1zUNezun%`L5M?RDzv#%jk7 zYVRX=vATPD`+oEfum^{RM@GjuP?-r=yh0!p;Vx^T9G7~`7%5ydH%70=jyJ;;`d;hv92x3R=z{xp+Lg2!*@OK*K15-t&okoPtSED)h&$RLxdbA zseWm^C3d%-yRNi-ryk^!ek+C`n&~cd$#ZWct_cUL{l~i+Nzx^5d!n94(>bW-iL~Rl z&8r)?q|1DIo=0=judQ{FaGcfLERz8gfn3-Qt<2lksh{mzpT}DXxUuR^z=^key&q4! z+wWI45vL0k$R^(F#{qfqhUsN@WA+w-V?LPH33!Q?WFSB3)WBojE@hK41Nb?KfS+Qo zXgrzfsP$wr4Qzy*{OD>uJBjdgGM@VMml5)2f~_}lD*YyOb}Hjeobhz#4c`w(l^>KK zr?Ud;W~Z}*w;%hZ|2^p^+f06gJDJQD zeIhGADbDmm&6arh(q>EZ<7mjzg7l|z$hRL8=1>)Nv=S7CY$B}iYJ&*T_-T_OG*L1q ztZ3Lana33?y3AKnyq^YCF|4x%Rb5WU&2qcl{TFKey%QJeMxn^SdT!hZ5+0i1zeusiYVp-phBl7b5+Px-X&LhByq z0F&<;K0l2+v>qiHlXb#$jXMv$uK-dEGE9L~qtdU(XeRXmvu*K2Q&6!fD**JxYP4b4BR7FdJ$Qx9G9`J%-_X!a#LGpp3g9)VWytGCa;7`S1_e8F~!R+aSJ zOF17p2`H?2kPs8Q`_;U}+D%3p zs2-0BTqFwpUoBk`?P;iPQ(IbEA|JmMx!P&YYG|R@S=5Mnw;-?A6rEEVyV%d7{iU4a zNk`i!%F(Ykpm`}#oH;BjY->@b8vQedv;pza2FL&*6ufjd+*3Ute&>kes~TU?^KkojsTh(o~(3tk1Y6>4(yn( z#U*ID9@eg-beKo1B;HXe+}{Z%n@7m0+yxivuqk9~;!1LGQlah)xYK4>wgL}l6dsaN zIxlRlq`*`j9PG4*0hD6YV_b_2w5b#)o7J?`q#{GjvvKlD`T*dWcZx<-s(ZvLB44E# z=!|sw!?)@%y$oRNL#25WS3lzdii}TuQ3?CLnvQ1_n};2sT_;Y;#d3=+-(O% zMN$>O!3;ke(UuLR%h_&)N zs^!-@A>QR}4yB1bPp`9S19ikTbZ~O{&FF-yHK{En;mmShDUIEw03`j(DBIsM}Rjki2J#SQa3gFZTKBPDeIiLt9Z z%bL3(B@Qw%(B`wSMS~dPh$=R`(}lBoFXKy(s|*{#ru$wjsBc_O#zxNk9w+UUHmx(U zmJ8+M+ndtnZ<7|VU9Mbt61zpo9T&3%Wx&XII=#QJxjR`CZf22ac3d51Z?GD%LEe_&*t46Qf;4`bZ7p2K(Ab5>GfT^}4! zBT&HZD`^PEgWoI&{~o-ID0F?O`75sm(87x%A{(}Ch1)QlzdJ)1B-eqe5a(weg0`4lQIf1evjvbBY50DVbzO7CLf|vP z2#0(U-|jZ`H{y5N^o7%iK6H>_HEGN->U6^!)1{XpJV!!4(Ig7wzZQ*9WYF4X1rG0x z=1uA@i`rIAciubDC{;~b(|&|A@xkjRP5aRcvRU9tvIm}jDB6J eQ0-6-y)mpwdT=ayS0tBxKDA*~;EWmo diff --git a/source/modules/rtmidi/doc/html/tabs.css b/source/modules/rtmidi/doc/html/tabs.css deleted file mode 100644 index a44416341..000000000 --- a/source/modules/rtmidi/doc/html/tabs.css +++ /dev/null @@ -1,105 +0,0 @@ -/* tabs styles, based on http://www.alistapart.com/articles/slidingdoors */ - -DIV.tabs -{ - float : left; - width : 100%; - background : url("tab_b.gif") repeat-x bottom; - margin-bottom : 4px; -} - -DIV.tabs UL -{ - margin : 0px; - padding-left : 10px; - list-style : none; -} - -DIV.tabs LI, DIV.tabs FORM -{ - display : inline; - margin : 0px; - padding : 0px; -} - -DIV.tabs FORM -{ - float : right; -} - -DIV.tabs A -{ - float : left; - background : url("tab_r.gif") no-repeat right top; - border-bottom : 1px solid #84B0C7; - font-size : 80%; - font-weight : bold; - text-decoration : none; -} - -DIV.tabs A:hover -{ - background-position: 100% -150px; -} - -DIV.tabs A:link, DIV.tabs A:visited, -DIV.tabs A:active, DIV.tabs A:hover -{ - color: #1A419D; -} - -DIV.tabs SPAN -{ - float : left; - display : block; - background : url("tab_l.gif") no-repeat left top; - padding : 5px 9px; - white-space : nowrap; -} - -DIV.tabs #MSearchBox -{ - float : right; - display : inline; - font-size : 1em; -} - -DIV.tabs TD -{ - font-size : 80%; - font-weight : bold; - text-decoration : none; -} - - - -/* Commented Backslash Hack hides rule from IE5-Mac \*/ -DIV.tabs SPAN {float : none;} -/* End IE5-Mac hack */ - -DIV.tabs A:hover SPAN -{ - background-position: 0% -150px; -} - -DIV.tabs LI.current A -{ - background-position: 100% -150px; - border-width : 0px; -} - -DIV.tabs LI.current SPAN -{ - background-position: 0% -150px; - padding-bottom : 6px; -} - -DIV.navpath -{ - background : none; - border : none; - border-bottom : 1px solid #84B0C7; - text-align : center; - margin : 2px; - padding : 2px; -} diff --git a/source/modules/rtmidi/doc/images/ccrma.gif b/source/modules/rtmidi/doc/images/ccrma.gif deleted file mode 100644 index 8a7418ca48a6739930ec9487280c027ecb08db10..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3527 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 diff --git a/source/modules/rtmidi/doc/images/mcgill.gif b/source/modules/rtmidi/doc/images/mcgill.gif deleted file mode 100644 index c571e3701b29cba905de133dda9ed646f14c974f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4614 zcmeHJ_gB;R_s$}V5Z;**8BLf$DFz4|Bne>)BoSp)ZP+M|5ELg$NZ0|x6cjNmN576B zxT_`%4QgAY)?)EkK)_L|f?Dy@lGn$6fBXIq-{;)({BVD`_niAY&p9_DD%{UM^)t*L z_6hbcz!!9OgPXU&t=p!1_rZf7K;02g-wYaCmKvHtdpEdn5$JlC&i9xuURvtu1Gn_x zcK^~%J-Gh^7<*#+b<8w917=^CW@bTBI>_7svh$X*WFRLGL=8&SOC?pHtOnFJgZiUO|L!`r)NmBEp9CGJK<8#oZ;MZ|r8wBivmzaSj`_;f9*km1O zvJL{atASkzn3w@GufY6!fb;+;FF*+a4lzKGX-Yc;3mcFoOGVn?PyiCB$0)i|c z$~Q^!!P=cbdI(61Kw1%yRRei7IMiY~)C?3Y;BYrMd=hB7LG4L!q8Df{f(y5S?l!pn z0O%ippPqn`CtzY0{5}ibFPIkQ!Th}G{rfK>|F7ErPygovtj{Po4Au#A`?vdVCSX_q zi@@1L>a+$Wma<}lQP)0D2028xM)q_JRatp$d1~zGynC4Dn>mU))8!E964TMphZ!eeAlEM@5~{$MN$&I0}UK8zz$@ zevJ2&{-HmUUX~l*CH!f@jXG@c%N5!4;ztcemzMU-Lv81Jk$0-hI|=Il3~J3R+{16I zpySI3tQfgNOxsfqCHZDv&0mgd%kpgv=5gu{&4d|Yc_&$RX&{-{aw5xC+!p&T_N4cU zwOh7)E}gZGX|TKXaJrz=xhs5csZ8SY<5(Ltyqo6{0Jn6p3%^v39Ivsp!`&MNtXvHF z&*4`2>&cdcxLNJ9KVJHyKC>LXc8zRJIqhm;*I|)YS8BJ*s=wAb*gLVz0%y!?Qto^t zQjkb)Oe-@QwohQYbI+A^2()JMcy?LPqhUw4YOW-PEgrQF+aZ(~)g@YfB+Hkc7S71p zK(4peeBhVnhWkf0*vR~hYg2-03sZt>eS3@D5N$f#q0lC(Nw9s5ePnSaRW7v+aD)kL zm#ZakdXiSdOU!sAJGo5$h*L>%#rAEqC2%K%wv0ETyLgKn&F`Tlni;A1?MJGyo@6#f z>ugxzii_Od)stAa>qC3F(_nRfg>#czT4{2S_oyiTxl`t*Z51nk|8x^(o4{E2?A#E^ zc~^!&Qj7){U)qyS^`7T zlv&nn%^zKBPHmkyg>i9&qAh16Qog0XN{TcK+@nzxga><6T7!7ktks$@^r>CU z595zF?!{nOHvUu6WsFA<9M0u(!cpWySwaM74G_W5s~n34+4$+-ijP`}AY1lEW=p=X zl^Rwi+QgU}ajuGXU;kC;?!Jm&T7Q_#X|zbLOS0X@$-rete13S1SM}gO`L`FHPVX2$ zc22J}M>y*GF~KrgSuf&A6lA`8sCEcPH0pU+`&Q_#O&)fQm^EukXc~dOMkM?el1Qew z?AQ6e>LmYCvMcncjilV+f_VnRMmO9e>KGoH_Y0?gQknJnME0{a+UB;PTqc5w?Tdp^ z1DjzS#2Fs(p5{p9o>i`!dj{eMUub-r4aD@}HOa<0@59`4UReg@E7f~`U`D^+^wa|Z zbJ9jT_tu`PN=a$pHgr4<6GN|C{sh-M4dIjB_GLO{Em_#GI;e|mWSEOLtt}%LbdfC7 z%Wtz06+Jga4lPzy>z%Ja5vZ_4>pWF|sXfN6h+knG-jMv;%eKXx;Zapv`ZqrHYVb=? zWzTrtBl;U5{y!?-ZiQ9+t(T;W&~ro7J;Lzwdg~Nb>GVbA#fy5z z1FRDxPHx1?vNpr6GTzDv1Hh8LdW*@fQ}PC3Mq#CFK&+*~-3DrKr+# zptE+Uo|cEodd*Z~vnC@C{4-1>8X zVtU*q5WO5)CW!HV&q4G13;{prNru?@PObZ`h*sp8qAMrAg!4ceQ#+y%Cq-cV6Y`l6 zFZ<*B6KZ+?WKbKil|MP2f&Q6G_1n60L}N94Yj4va+06-SFAY6^CN`V`#ui&foX3m+DXtRo!T}cBlrEp?XNT#tod>)PXx{^4j-pqH)YY0;#_+cyV1zSie zLJ8dm{|p$6K`)>^-Z&BG>v7KHo)gNXtm=aaSPQS=%atEdD69v<>Yr?t(oKQm@lW%u zq}2Oi(;E;yR=HzO9809##8vP=!uNYVRtVFA!*GLFjWgP>YY-Ib24{wwKdoxm(1Tf- z$hhMZdLF2qz9SoiHbN~_vV|3j?cpt(7MR`+ z+40QsXiQycXJd(1B@auV6n&+8(@l8mWOTkWR3G@L@f^zYKCki&yXO(>+E?>~jtIk1 zzo%jUgY^GZP7%bPOK5W76yXVvSCCMydCZ?}>sE(RH!3IEiCKHZ)^ll1({hBRjx|t% z>#qp>09m@mjqjg>q}3wwfeo$$c$~el7n{Jo+E|X)N{TD}$UJ1;*q&vLXl3(xK-|=L zV$(g@s)FMj+SA12u!C;YVS187w&A z$uR`es6jUS6Q8rnt=WMu>glR%xwfa8!ljNm7ZaY>#&0m2Ds?%YJQN&tym4JaMV;H% z1kGZ6ny?FM?&EB)Bmwq9_UUg+?yIC=AWS@&`h|LZ$eI0uFH}+``3FWps&i=Zd)P2Ev?*IZ@ zZ1(99+`Cf>v)m`r5Zv%YqydKD1ScF5bdl#=jhf_ZoS>kn>O9b#vij1gH^BpO_jZ+Y zLWwt9294t^dglc8kWar|CAAQ-SD7q04%KF5J=Toaoo=)x*+Y()$|nNL>ryIPmcmSW z$-+?I!9Pv>%H%YEbiSDmot;~&LO)m96tB^+RuaCg38uBq=`u?l_x*0?`%PTdAg0%^ zw_Y=Xs>YDFa~)7#LjF9@z1F{V?;v?4CDOfHMbD*mA)=qgq#TeztOIrI8h7jkpU%)t z3zdXz=VKGg6X^F-J@YBAls45<^70&kx&zC#RvLxX?szL#QrkHK{L;+k^wMbCg+yDZDVGkseyBDpP)Dwh^#RSpIRPTi+tP;AMwQ7$hh}aW&|mWBlAPR zk-I)Y)l3fzNwRyVW8nl^YDh6_w<>nV9OgksN70jlqZI6wl|T64!?j5Bd`7kyhRWO4@}e-A7vvx#E&g1LHefUv?pL!hs=-X+ zi_|71x>vZ8G>`u9(W_R!4d-d+*>z}os`Rzbfowh%z6fD?P@K+@#e;k6VH>X?ExUPZ zbnIXq!UYP-)aTJOyCE^w3aFqheW7isn624RLLXZ`Az!R#IQ#5C*9vC^)NCHf&nfWP z`kfJS>d^XpV*|8%hOz4vG8yM=VCQ;?V<$0;J1AC%wD zP@LCeLXD&yvNAFs?j?eAINOkUa4Y?OOFni}DfCzIs&AVW!5_F8S~N*bNNt}mw(oJ2?_p#>RkkWM+JKCGhdKc#ErV$+ z`9Ao`VCPxZ>L{qCm+}5(@MioAS|j~=B9uH!x!uBcVb^>M)}iaYB0Sr1!x4}* zZ1d5FtiMYjo|bfcgd#y`yvJy_{qe+8w0LD9YLas{BTy;A1<#_Jim=N+tlb5tQm2`F znQe$3+~#%$?=rN(5OCwk{%k6yTnp6<21M1iTYH!#`r?CR$`|&SSGa=DI8u^|zK_|_ zDZRa~(?I)PObot`%A=Uv2nqgb(L z!X9bBRcYwlUnqq-v}OwZ=MkGQgM&tUnr6VQ6hQ>3yN!HDfgY~#!$(18^i*2eyY#Ko z`}Y|zx*;rXJydu{9(|Q@_MuWPbL}g|?*4SJK!0=SSnStjfDOn>}#^RUB zJKmg<5bJQwI?6eZh#(LDa0TXJCay7>)0D#Dq~eCWAtxv@Sda9F(W$lg;-adkB$|sW)vuU;Zoi7{f%TQ7{taJUpvC0CdgJox7Jrix^oK1pOpy+S$b+xa zqv$z^V4tYNFkHRP8p|TP&u{\lib directory. \ No newline at end of file diff --git a/source/modules/rtmidi/msw/rtmidilib.sln b/source/modules/rtmidi/msw/rtmidilib.sln deleted file mode 100755 index 7302ae572..000000000 --- a/source/modules/rtmidi/msw/rtmidilib.sln +++ /dev/null @@ -1,20 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 10.00 -# Visual Studio 2008 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "rtmidilib", "rtmidilib.vcproj", "{EBFE5EB3-182A-47A6-922B-52ECF777F6A3}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - Release|Win32 = Release|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {EBFE5EB3-182A-47A6-922B-52ECF777F6A3}.Debug|Win32.ActiveCfg = Debug|Win32 - {EBFE5EB3-182A-47A6-922B-52ECF777F6A3}.Debug|Win32.Build.0 = Debug|Win32 - {EBFE5EB3-182A-47A6-922B-52ECF777F6A3}.Release|Win32.ActiveCfg = Release|Win32 - {EBFE5EB3-182A-47A6-922B-52ECF777F6A3}.Release|Win32.Build.0 = Release|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/source/modules/rtmidi/msw/rtmidilib.vcproj b/source/modules/rtmidi/msw/rtmidilib.vcproj deleted file mode 100755 index af1f75c26..000000000 --- a/source/modules/rtmidi/msw/rtmidilib.vcproj +++ /dev/null @@ -1,178 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/source/modules/rtmidi/readme b/source/modules/rtmidi/readme deleted file mode 100644 index 1dca6e97c..000000000 --- a/source/modules/rtmidi/readme +++ /dev/null @@ -1,57 +0,0 @@ -RtMidi - a set of C++ classes that provide a common API for realtime MIDI input/output across Linux (ALSA & Jack), Macintosh OS X (CoreMidi) and Windows (Multimedia & Kernel Streaming). - -By Gary P. Scavone, 2003-2012. - -This distribution of RtMidi contains the following: - -doc: RtMidi documentation (see doc/html/index.html) -tests: example RtMidi programs - -On unix systems, type "./configure" in the top level directory, then "make" in the tests/ directory to compile the test programs. In Windows, open the Visual C++ workspace file located in the tests/ directory. - -OVERVIEW: - -RtMidi is a set of C++ classes (RtMidiIn, RtMidiOut, and API specific classes) that provide a common API (Application Programming Interface) for realtime MIDI input/output across Linux (ALSA, Jack), Macintosh OS X (CoreMidi, Jack), SGI, and Windows (Multimedia Library, Kernel Streming) operating systems. RtMidi significantly simplifies the process of interacting with computer MIDI hardware and software. It was designed with the following goals: - - - object oriented C++ design - - simple, common API across all supported platforms - - only two header files and one source file for easy inclusion in programming projects - - MIDI device enumeration - -MIDI input and output functionality are separated into two classes, RtMidiIn and RtMidiOut. Each class instance supports only a single MIDI connection. RtMidi does not provide timing functionality (i.e., output messages are sent immediately). Input messages are timestamped with delta times in seconds (via a double floating point type). MIDI data is passed to the user as raw bytes using an std::vector. - -FURTHER READING: - -For complete documentation on RtMidi, see the doc directory of the distribution or surf to http://music.mcgill.ca/~gary/rtmidi/. - - -LEGAL AND ETHICAL: - -The RtMidi license is similar to the the MIT License, with the added "feature" that modifications be sent to the developer. - - RtMidi: realtime MIDI i/o C++ classes - Copyright (c) 2003-2012 Gary P. Scavone - - Permission is hereby granted, free of charge, to any person - obtaining a copy of this software and associated documentation files - (the "Software"), to deal in the Software without restriction, - including without limitation the rights to use, copy, modify, merge, - publish, distribute, sublicense, and/or sell copies of the Software, - and to permit persons to whom the Software is furnished to do so, - subject to the following conditions: - - The above copyright notice and this permission notice shall be - included in all copies or substantial portions of the Software. - - Any person wishing to distribute modifications to the Software is - asked to send the modifications to the original developer so that - they can be incorporated into the canonical version. This is, - however, not a binding provision of this license. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR - ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF - CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/source/modules/rtmidi/rtmidi-config.in b/source/modules/rtmidi/rtmidi-config.in deleted file mode 100644 index 2422b6041..000000000 --- a/source/modules/rtmidi/rtmidi-config.in +++ /dev/null @@ -1,19 +0,0 @@ -#! /bin/sh -if (test "x$#" != "x1") ; then - echo "Usage: $0 [--libs | --cxxflags | --cppflags]" - exit; -fi - -LIBRARY="@LIBS@" -CXXFLAGS="@CXXFLAGS@" -CPPFLAGS="@CPPFLAGS@" - -if (test "x$1" == "x--libs") ; then - echo "$LIBRARY" -elif (test "x$1" == "x--cxxflags") ; then - echo "$CXXFLAGS" -elif (test "x$1" == "x--cppflags") ; then - echo "$CPPFLAGS" -else - echo "Unknown option: $1" -fi diff --git a/source/modules/rtmidi/tests/Makefile.in b/source/modules/rtmidi/tests/Makefile.in deleted file mode 100644 index 21d1f67b5..000000000 --- a/source/modules/rtmidi/tests/Makefile.in +++ /dev/null @@ -1,48 +0,0 @@ -### Do not edit -- Generated by 'configure --with-whatever' from Makefile.in -### RtMidi tests Makefile - for various flavors of unix - -PROGRAMS = midiprobe midiout qmidiin cmidiin sysextest -RM = /bin/rm -SRC_PATH = .. -INCLUDE = .. -OBJECT_PATH = @object_path@ -vpath %.o $(OBJECT_PATH) - -OBJECTS = RtMidi.o - -CC = @CXX@ -DEFS = @CPPFLAGS@ -CFLAGS = @CXXFLAGS@ -CFLAGS += -I$(INCLUDE) -I$(INCLUDE)/include -LIBRARY = @LIBS@ - -%.o : $(SRC_PATH)/%.cpp - $(CC) $(CFLAGS) $(DEFS) -c $(<) -o $(OBJECT_PATH)/$@ - -all : $(PROGRAMS) - -midiprobe : midiprobe.cpp $(OBJECTS) - $(CC) $(CFLAGS) $(DEFS) -o midiprobe midiprobe.cpp $(OBJECT_PATH)/RtMidi.o $(LIBRARY) - -midiout : midiout.cpp $(OBJECTS) - $(CC) $(CFLAGS) $(DEFS) -o midiout midiout.cpp $(OBJECT_PATH)/RtMidi.o $(LIBRARY) - -qmidiin : qmidiin.cpp $(OBJECTS) - $(CC) $(CFLAGS) $(DEFS) -o qmidiin qmidiin.cpp $(OBJECT_PATH)/RtMidi.o $(LIBRARY) - -cmidiin : cmidiin.cpp $(OBJECTS) - $(CC) $(CFLAGS) $(DEFS) -o cmidiin cmidiin.cpp $(OBJECT_PATH)/RtMidi.o $(LIBRARY) - -sysextest : sysextest.cpp $(OBJECTS) - $(CC) $(CFLAGS) $(DEFS) -o sysextest sysextest.cpp $(OBJECT_PATH)/RtMidi.o $(LIBRARY) - -clean : - $(RM) -f $(OBJECT_PATH)/*.o - $(RM) -f $(PROGRAMS) *.exe - $(RM) -f *~ - -distclean: clean - $(RM) -f Makefile - -strip : - strip $(PROGRAMS) diff --git a/source/modules/rtmidi/tests/RtMidi.dsw b/source/modules/rtmidi/tests/RtMidi.dsw deleted file mode 100644 index 4ab1cdce1..000000000 --- a/source/modules/rtmidi/tests/RtMidi.dsw +++ /dev/null @@ -1,77 +0,0 @@ -Microsoft Developer Studio Workspace File, Format Version 6.00 -# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! - -############################################################################### - -Project: "cmidiin"=".\cmidiin.dsp" - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "midiout"=".\midiout.dsp" - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "midiprobe"=".\midiprobe.dsp" - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "qmidiin"=".\qmidiin.dsp" - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Project: "sysextest"=".\sysextest.dsp" - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Global: - -Package=<5> -{{{ -}}} - -Package=<3> -{{{ -}}} - -############################################################################### - diff --git a/source/modules/rtmidi/tests/cmidiin.cpp b/source/modules/rtmidi/tests/cmidiin.cpp deleted file mode 100644 index f2f392b53..000000000 --- a/source/modules/rtmidi/tests/cmidiin.cpp +++ /dev/null @@ -1,111 +0,0 @@ -//*****************************************// -// cmidiin.cpp -// by Gary Scavone, 2003-2004. -// -// Simple program to test MIDI input and -// use of a user callback function. -// -//*****************************************// - -#include -#include -#include "RtMidi.h" - -void usage( void ) { - // Error function in case of incorrect command-line - // argument specifications. - std::cout << "\nuseage: cmidiin \n"; - std::cout << " where port = the device to use (default = 0).\n\n"; - exit( 0 ); -} - -void mycallback( double deltatime, std::vector< unsigned char > *message, void *userData ) -{ - unsigned int nBytes = message->size(); - for ( unsigned int i=0; i 0 ) - std::cout << "stamp = " << deltatime << std::endl; -} - -// This function should be embedded in a try/catch block in case of -// an exception. It offers the user a choice of MIDI ports to open. -// It returns false if there are no ports available. -bool chooseMidiPort( RtMidiIn *rtmidi ); - -int main( int argc, char *argv[] ) -{ - RtMidiIn *midiin = 0; - - // Minimal command-line check. - if ( argc > 2 ) usage(); - - try { - - // RtMidiIn constructor - midiin = new RtMidiIn(); - - // Call function to select port. - if ( chooseMidiPort( midiin ) == false ) goto cleanup; - - // Set our callback function. This should be done immediately after - // opening the port to avoid having incoming messages written to the - // queue instead of sent to the callback function. - midiin->setCallback( &mycallback ); - - // Don't ignore sysex, timing, or active sensing messages. - midiin->ignoreTypes( false, false, false ); - - std::cout << "\nReading MIDI input ... press to quit.\n"; - char input; - std::cin.get(input); - - } catch ( RtError &error ) { - error.printMessage(); - } - - cleanup: - - delete midiin; - - return 0; -} - -bool chooseMidiPort( RtMidiIn *rtmidi ) -{ - std::cout << "\nWould you like to open a virtual input port? [y/N] "; - - std::string keyHit; - std::getline( std::cin, keyHit ); - if ( keyHit == "y" ) { - rtmidi->openVirtualPort(); - return true; - } - - std::string portName; - unsigned int i = 0, nPorts = rtmidi->getPortCount(); - if ( nPorts == 0 ) { - std::cout << "No input ports available!" << std::endl; - return false; - } - - if ( nPorts == 1 ) { - std::cout << "\nOpening " << rtmidi->getPortName() << std::endl; - } - else { - for ( i=0; igetPortName(i); - std::cout << " Input port #" << i << ": " << portName << '\n'; - } - - do { - std::cout << "\nChoose a port number: "; - std::cin >> i; - } while ( i >= nPorts ); - } - - std::getline( std::cin, keyHit ); // used to clear out stdin - rtmidi->openPort( i ); - - return true; -} diff --git a/source/modules/rtmidi/tests/cmidiin.dsp b/source/modules/rtmidi/tests/cmidiin.dsp deleted file mode 100644 index cacda208c..000000000 --- a/source/modules/rtmidi/tests/cmidiin.dsp +++ /dev/null @@ -1,114 +0,0 @@ -# Microsoft Developer Studio Project File - Name="cmidiin" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Console Application" 0x0103 - -CFG=cmidiin - Win32 Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "cmidiin.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "cmidiin.mak" CFG="cmidiin - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "cmidiin - Win32 Release" (based on "Win32 (x86) Console Application") -!MESSAGE "cmidiin - Win32 Debug" (based on "Win32 (x86) Console Application") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -RSC=rc.exe - -!IF "$(CFG)" == "cmidiin - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "cmidiin___Win32_Release" -# PROP BASE Intermediate_Dir "cmidiin___Win32_Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "" -# PROP Intermediate_Dir "Release" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c -# ADD CPP /nologo /W3 /GX /O2 /I "../" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "__WINDOWS_MM__" /YX /FD /c -# ADD BASE RSC /l 0x409 /d "NDEBUG" -# ADD RSC /l 0x409 /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib winmm.lib /nologo /subsystem:console /machine:I386 - -!ELSEIF "$(CFG)" == "cmidiin - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "cmidiin___Win32_Debug" -# PROP BASE Intermediate_Dir "cmidiin___Win32_Debug" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "" -# PROP Intermediate_Dir "Debug" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c -# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "../" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "__WINDOWS_MM__" /YX /FD /GZ /c -# ADD BASE RSC /l 0x409 /d "_DEBUG" -# ADD RSC /l 0x409 /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib winmm.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept - -!ENDIF - -# Begin Target - -# Name "cmidiin - Win32 Release" -# Name "cmidiin - Win32 Debug" -# Begin Group "Source Files" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" -# Begin Source File - -SOURCE=.\cmidiin.cpp -# End Source File -# Begin Source File - -SOURCE=..\RtMidi.cpp -# End Source File -# End Group -# Begin Group "Header Files" - -# PROP Default_Filter "h;hpp;hxx;hm;inl" -# Begin Source File - -SOURCE=..\RtError.h -# End Source File -# Begin Source File - -SOURCE=..\RtMidi.h -# End Source File -# End Group -# Begin Group "Resource Files" - -# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" -# End Group -# End Target -# End Project diff --git a/source/modules/rtmidi/tests/midiout.cpp b/source/modules/rtmidi/tests/midiout.cpp deleted file mode 100644 index 4da65c1e6..000000000 --- a/source/modules/rtmidi/tests/midiout.cpp +++ /dev/null @@ -1,146 +0,0 @@ -//*****************************************// -// midiout.cpp -// by Gary Scavone, 2003-2004. -// -// Simple program to test MIDI output. -// -//*****************************************// - -#include -#include -#include "RtMidi.h" - -// Platform-dependent sleep routines. -#if defined(__WINDOWS_MM__) - #include - #define SLEEP( milliseconds ) Sleep( (DWORD) milliseconds ) -#else // Unix variants - #include - #define SLEEP( milliseconds ) usleep( (unsigned long) (milliseconds * 1000.0) ) -#endif - -// This function should be embedded in a try/catch block in case of -// an exception. It offers the user a choice of MIDI ports to open. -// It returns false if there are no ports available. -bool chooseMidiPort( RtMidiOut *rtmidi ); - -int main( int argc, char *argv[] ) -{ - RtMidiOut *midiout = 0; - std::vector message; - - // RtMidiOut constructor - try { - midiout = new RtMidiOut(); - } - catch ( RtError &error ) { - error.printMessage(); - exit( EXIT_FAILURE ); - } - - // Call function to select port. - try { - if ( chooseMidiPort( midiout ) == false ) goto cleanup; - } - catch ( RtError &error ) { - error.printMessage(); - goto cleanup; - } - - // Send out a series of MIDI messages. - - // Program change: 192, 5 - message.push_back( 192 ); - message.push_back( 5 ); - midiout->sendMessage( &message ); - - SLEEP( 500 ); - - message[0] = 0xF1; - message[1] = 60; - midiout->sendMessage( &message ); - - // Control Change: 176, 7, 100 (volume) - message[0] = 176; - message[1] = 7; - message.push_back( 100 ); - midiout->sendMessage( &message ); - - // Note On: 144, 64, 90 - message[0] = 144; - message[1] = 64; - message[2] = 90; - midiout->sendMessage( &message ); - - SLEEP( 500 ); - - // Note Off: 128, 64, 40 - message[0] = 128; - message[1] = 64; - message[2] = 40; - midiout->sendMessage( &message ); - - SLEEP( 500 ); - - // Control Change: 176, 7, 40 - message[0] = 176; - message[1] = 7; - message[2] = 40; - midiout->sendMessage( &message ); - - SLEEP( 500 ); - - // Sysex: 240, 67, 4, 3, 2, 247 - message[0] = 240; - message[1] = 67; - message[2] = 4; - message.push_back( 3 ); - message.push_back( 2 ); - message.push_back( 247 ); - midiout->sendMessage( &message ); - - // Clean up - cleanup: - delete midiout; - - return 0; -} - -bool chooseMidiPort( RtMidiOut *rtmidi ) -{ - std::cout << "\nWould you like to open a virtual output port? [y/N] "; - - std::string keyHit; - std::getline( std::cin, keyHit ); - if ( keyHit == "y" ) { - rtmidi->openVirtualPort(); - return true; - } - - std::string portName; - unsigned int i = 0, nPorts = rtmidi->getPortCount(); - if ( nPorts == 0 ) { - std::cout << "No output ports available!" << std::endl; - return false; - } - - if ( nPorts == 1 ) { - std::cout << "\nOpening " << rtmidi->getPortName() << std::endl; - } - else { - for ( i=0; igetPortName(i); - std::cout << " Output port #" << i << ": " << portName << '\n'; - } - - do { - std::cout << "\nChoose a port number: "; - std::cin >> i; - } while ( i >= nPorts ); - } - - std::cout << "\n"; - rtmidi->openPort( i ); - - return true; -} diff --git a/source/modules/rtmidi/tests/midiout.dsp b/source/modules/rtmidi/tests/midiout.dsp deleted file mode 100644 index 3f9480f6e..000000000 --- a/source/modules/rtmidi/tests/midiout.dsp +++ /dev/null @@ -1,114 +0,0 @@ -# Microsoft Developer Studio Project File - Name="midiout" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Console Application" 0x0103 - -CFG=midiout - Win32 Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "midiout.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "midiout.mak" CFG="midiout - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "midiout - Win32 Release" (based on "Win32 (x86) Console Application") -!MESSAGE "midiout - Win32 Debug" (based on "Win32 (x86) Console Application") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -RSC=rc.exe - -!IF "$(CFG)" == "midiout - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "midiout___Win32_Release" -# PROP BASE Intermediate_Dir "midiout___Win32_Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "" -# PROP Intermediate_Dir "Release" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c -# ADD CPP /nologo /W3 /GX /O2 /I "../" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "__WINDOWS_MM__" /YX /FD /c -# ADD BASE RSC /l 0x409 /d "NDEBUG" -# ADD RSC /l 0x409 /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib winmm.lib /nologo /subsystem:console /machine:I386 - -!ELSEIF "$(CFG)" == "midiout - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "midiout___Win32_Debug" -# PROP BASE Intermediate_Dir "midiout___Win32_Debug" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "" -# PROP Intermediate_Dir "Debug" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c -# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "../" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "__WINDOWS_MM__" /YX /FD /GZ /c -# ADD BASE RSC /l 0x409 /d "_DEBUG" -# ADD RSC /l 0x409 /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib winmm.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept - -!ENDIF - -# Begin Target - -# Name "midiout - Win32 Release" -# Name "midiout - Win32 Debug" -# Begin Group "Source Files" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" -# Begin Source File - -SOURCE=.\midiout.cpp -# End Source File -# Begin Source File - -SOURCE=..\RtMidi.cpp -# End Source File -# End Group -# Begin Group "Header Files" - -# PROP Default_Filter "h;hpp;hxx;hm;inl" -# Begin Source File - -SOURCE=..\RtError.h -# End Source File -# Begin Source File - -SOURCE=..\RtMidi.h -# End Source File -# End Group -# Begin Group "Resource Files" - -# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" -# End Group -# End Target -# End Project diff --git a/source/modules/rtmidi/tests/midiprobe.cpp b/source/modules/rtmidi/tests/midiprobe.cpp deleted file mode 100644 index 7a7452ed3..000000000 --- a/source/modules/rtmidi/tests/midiprobe.cpp +++ /dev/null @@ -1,72 +0,0 @@ -// midiprobe.cpp -// -// Simple program to check MIDI inputs and outputs. -// -// by Gary Scavone, 2003-2012. - -#include -#include -#include -#include "RtMidi.h" - -int main() -{ - // Create an api map. - std::map apiMap; - apiMap[RtMidi::MACOSX_CORE] = "OS-X CoreMidi"; - apiMap[RtMidi::WINDOWS_MM] = "Windows MultiMedia"; - apiMap[RtMidi::WINDOWS_KS] = "Windows Kernel Straming"; - apiMap[RtMidi::UNIX_JACK] = "Jack Client"; - apiMap[RtMidi::LINUX_ALSA] = "Linux ALSA"; - apiMap[RtMidi::RTMIDI_DUMMY] = "RtMidi Dummy"; - - std::vector< RtMidi::Api > apis; - RtMidi :: getCompiledApi( apis ); - - std::cout << "\nCompiled APIs:\n"; - for ( unsigned int i=0; igetCurrentApi() ] << std::endl; - - // Check inputs. - unsigned int nPorts = midiin->getPortCount(); - std::cout << "\nThere are " << nPorts << " MIDI input sources available.\n"; - - for ( unsigned i=0; igetPortName(i); - std::cout << " Input Port #" << i+1 << ": " << portName << '\n'; - } - - // RtMidiOut constructor ... exception possible - midiout = new RtMidiOut(); - - std::cout << "\nCurrent output API: " << apiMap[ midiout->getCurrentApi() ] << std::endl; - - // Check outputs. - nPorts = midiout->getPortCount(); - std::cout << "\nThere are " << nPorts << " MIDI output ports available.\n"; - - for ( unsigned i=0; igetPortName(i); - std::cout << " Output Port #" << i+1 << ": " << portName << std::endl; - } - std::cout << std::endl; - - } catch ( RtError &error ) { - error.printMessage(); - } - - delete midiin; - delete midiout; - - return 0; -} diff --git a/source/modules/rtmidi/tests/midiprobe.dsp b/source/modules/rtmidi/tests/midiprobe.dsp deleted file mode 100644 index 0f79fce7b..000000000 --- a/source/modules/rtmidi/tests/midiprobe.dsp +++ /dev/null @@ -1,114 +0,0 @@ -# Microsoft Developer Studio Project File - Name="midiprobe" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Console Application" 0x0103 - -CFG=midiprobe - Win32 Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "midiprobe.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "midiprobe.mak" CFG="midiprobe - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "midiprobe - Win32 Release" (based on "Win32 (x86) Console Application") -!MESSAGE "midiprobe - Win32 Debug" (based on "Win32 (x86) Console Application") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -RSC=rc.exe - -!IF "$(CFG)" == "midiprobe - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "midiprobe___Win32_Release" -# PROP BASE Intermediate_Dir "midiprobe___Win32_Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "" -# PROP Intermediate_Dir "Release" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c -# ADD CPP /nologo /W3 /GX /O2 /I "../" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "__WINDOWS_MM__" /YX /FD /c -# ADD BASE RSC /l 0x409 /d "NDEBUG" -# ADD RSC /l 0x409 /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib winmm.lib /nologo /subsystem:console /machine:I386 - -!ELSEIF "$(CFG)" == "midiprobe - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "midiprobe___Win32_Debug" -# PROP BASE Intermediate_Dir "midiprobe___Win32_Debug" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "" -# PROP Intermediate_Dir "Debug" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c -# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "../" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "__WINDOWS_MM__" /YX /FD /GZ /c -# ADD BASE RSC /l 0x409 /d "_DEBUG" -# ADD RSC /l 0x409 /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib winmm.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept - -!ENDIF - -# Begin Target - -# Name "midiprobe - Win32 Release" -# Name "midiprobe - Win32 Debug" -# Begin Group "Source Files" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" -# Begin Source File - -SOURCE=.\midiprobe.cpp -# End Source File -# Begin Source File - -SOURCE=..\RtMidi.cpp -# End Source File -# End Group -# Begin Group "Header Files" - -# PROP Default_Filter "h;hpp;hxx;hm;inl" -# Begin Source File - -SOURCE=..\RtError.h -# End Source File -# Begin Source File - -SOURCE=..\RtMidi.h -# End Source File -# End Group -# Begin Group "Resource Files" - -# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" -# End Group -# End Target -# End Project diff --git a/source/modules/rtmidi/tests/qmidiin.cpp b/source/modules/rtmidi/tests/qmidiin.cpp deleted file mode 100644 index de8337ede..000000000 --- a/source/modules/rtmidi/tests/qmidiin.cpp +++ /dev/null @@ -1,98 +0,0 @@ -//*****************************************// -// qmidiin.cpp -// by Gary Scavone, 2003-2004. -// -// Simple program to test MIDI input and -// retrieval from the queue. -// -//*****************************************// - -#include -#include -#include -#include "RtMidi.h" - -// Platform-dependent sleep routines. -#if defined(__WINDOWS_MM__) - #include - #define SLEEP( milliseconds ) Sleep( (DWORD) milliseconds ) -#else // Unix variants - #include - #define SLEEP( milliseconds ) usleep( (unsigned long) (milliseconds * 1000.0) ) -#endif - -bool done; -static void finish( int ignore ){ done = true; } - -void usage( void ) { - // Error function in case of incorrect command-line - // argument specifications. - std::cout << "\nusage: qmidiin \n"; - std::cout << " where port = the device to use (default = 0).\n\n"; - exit( 0 ); -} - -int main( int argc, char *argv[] ) -{ - RtMidiIn *midiin = 0; - std::vector message; - int nBytes, i; - double stamp; - - // Minimal command-line check. - if ( argc > 2 ) usage(); - - // RtMidiIn constructor - try { - midiin = new RtMidiIn(); - } - catch ( RtError &error ) { - error.printMessage(); - exit( EXIT_FAILURE ); - } - - // Check available ports vs. specified. - unsigned int port = 0; - unsigned int nPorts = midiin->getPortCount(); - if ( argc == 2 ) port = (unsigned int) atoi( argv[1] ); - if ( port >= nPorts ) { - delete midiin; - std::cout << "Invalid port specifier!\n"; - usage(); - } - - try { - midiin->openPort( port ); - } - catch ( RtError &error ) { - error.printMessage(); - goto cleanup; - } - - // Don't ignore sysex, timing, or active sensing messages. - midiin->ignoreTypes( false, false, false ); - - // Install an interrupt handler function. - done = false; - (void) signal(SIGINT, finish); - - // Periodically check input queue. - std::cout << "Reading MIDI from port ... quit with Ctrl-C.\n"; - while ( !done ) { - stamp = midiin->getMessage( &message ); - nBytes = message.size(); - for ( i=0; i 0 ) - std::cout << "stamp = " << stamp << std::endl; - - // Sleep for 10 milliseconds. - SLEEP( 10 ); - } - - // Clean up - cleanup: - delete midiin; - - return 0; -} diff --git a/source/modules/rtmidi/tests/qmidiin.dsp b/source/modules/rtmidi/tests/qmidiin.dsp deleted file mode 100644 index 9b66f7e2e..000000000 --- a/source/modules/rtmidi/tests/qmidiin.dsp +++ /dev/null @@ -1,114 +0,0 @@ -# Microsoft Developer Studio Project File - Name="qmidiin" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Console Application" 0x0103 - -CFG=qmidiin - Win32 Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "qmidiin.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "qmidiin.mak" CFG="qmidiin - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "qmidiin - Win32 Release" (based on "Win32 (x86) Console Application") -!MESSAGE "qmidiin - Win32 Debug" (based on "Win32 (x86) Console Application") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -RSC=rc.exe - -!IF "$(CFG)" == "qmidiin - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "qmidiin___Win32_Release" -# PROP BASE Intermediate_Dir "qmidiin___Win32_Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "" -# PROP Intermediate_Dir "Release" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c -# ADD CPP /nologo /W3 /GX /O2 /I "../" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "__WINDOWS_MM__" /YX /FD /c -# ADD BASE RSC /l 0x409 /d "NDEBUG" -# ADD RSC /l 0x409 /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib winmm.lib /nologo /subsystem:console /machine:I386 - -!ELSEIF "$(CFG)" == "qmidiin - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "qmidiin___Win32_Debug" -# PROP BASE Intermediate_Dir "qmidiin___Win32_Debug" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "" -# PROP Intermediate_Dir "Debug" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c -# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "../" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "__WINDOWS_MM__" /YX /FD /GZ /c -# ADD BASE RSC /l 0x409 /d "_DEBUG" -# ADD RSC /l 0x409 /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib winmm.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept - -!ENDIF - -# Begin Target - -# Name "qmidiin - Win32 Release" -# Name "qmidiin - Win32 Debug" -# Begin Group "Source Files" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" -# Begin Source File - -SOURCE=.\qmidiin.cpp -# End Source File -# Begin Source File - -SOURCE=..\RtMidi.cpp -# End Source File -# End Group -# Begin Group "Header Files" - -# PROP Default_Filter "h;hpp;hxx;hm;inl" -# Begin Source File - -SOURCE=..\RtError.h -# End Source File -# Begin Source File - -SOURCE=..\RtMidi.h -# End Source File -# End Group -# Begin Group "Resource Files" - -# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" -# End Group -# End Target -# End Project diff --git a/source/modules/rtmidi/tests/sysextest.cpp b/source/modules/rtmidi/tests/sysextest.cpp deleted file mode 100644 index a11ec16e5..000000000 --- a/source/modules/rtmidi/tests/sysextest.cpp +++ /dev/null @@ -1,154 +0,0 @@ -//*****************************************// -// sysextest.cpp -// by Gary Scavone, 2003-2005. -// -// Simple program to test MIDI sysex sending and receiving. -// -//*****************************************// - -#include -#include -#include -#include "RtMidi.h" - -void usage( void ) { - std::cout << "\nuseage: sysextest N\n"; - std::cout << " where N = length of sysex message to send / receive.\n\n"; - exit( 0 ); -} - -// Platform-dependent sleep routines. -#if defined(__WINDOWS_MM__) - #include - #define SLEEP( milliseconds ) Sleep( (DWORD) milliseconds ) -#else // Unix variants - #include - #define SLEEP( milliseconds ) usleep( (unsigned long) (milliseconds * 1000.0) ) -#endif - -// This function should be embedded in a try/catch block in case of -// an exception. It offers the user a choice of MIDI ports to open. -// It returns false if there are no ports available. -bool chooseMidiPort( RtMidi *rtmidi ); - -void mycallback( double deltatime, std::vector< unsigned char > *message, void *userData ) -{ - unsigned int nBytes = message->size(); - for ( unsigned int i=0; i 0 ) - std::cout << "stamp = " << deltatime << std::endl; -} - -int main( int argc, char *argv[] ) -{ - RtMidiOut *midiout = 0; - RtMidiIn *midiin = 0; - std::vector message; - unsigned int i, nBytes; - - // Minimal command-line check. - if ( argc != 2 ) usage(); - nBytes = (unsigned int) atoi( argv[1] ); - - // RtMidiOut and RtMidiIn constructors - try { - midiout = new RtMidiOut(); - midiin = new RtMidiIn(); - } - catch ( RtError &error ) { - error.printMessage(); - goto cleanup; - } - - // Don't ignore sysex, timing, or active sensing messages. - midiin->ignoreTypes( false, true, true ); - - // Call function to select ports - try { - if ( chooseMidiPort( midiin ) == false ) goto cleanup; - if ( chooseMidiPort( midiout ) == false ) goto cleanup; - } - catch ( RtError &error ) { - error.printMessage(); - goto cleanup; - } - - midiin->setCallback( &mycallback ); - - message.push_back( 0xF6 ); - midiout->sendMessage( &message ); - SLEEP( 500 ); // pause a little - - // Create a long sysex messages of numbered bytes and send it out. - for ( int n=0; n<2; n++ ) { - message.clear(); - message.push_back( 240 ); - for ( i=0; isendMessage( &message ); - - SLEEP( 500 ); // pause a little - -} - - // Clean up - cleanup: - delete midiout; - delete midiin; - - return 0; -} - -bool chooseMidiPort( RtMidi *rtmidi ) -{ - bool isInput = false; - if ( typeid( *rtmidi ) == typeid( RtMidiIn ) ) - isInput = true; - - if ( isInput ) - std::cout << "\nWould you like to open a virtual input port? [y/N] "; - else - std::cout << "\nWould you like to open a virtual output port? [y/N] "; - - std::string keyHit; - std::getline( std::cin, keyHit ); - if ( keyHit == "y" ) { - rtmidi->openVirtualPort(); - return true; - } - - std::string portName; - unsigned int i = 0, nPorts = rtmidi->getPortCount(); - if ( nPorts == 0 ) { - if ( isInput ) - std::cout << "No input ports available!" << std::endl; - else - std::cout << "No output ports available!" << std::endl; - return false; - } - - if ( nPorts == 1 ) { - std::cout << "\nOpening " << rtmidi->getPortName() << std::endl; - } - else { - for ( i=0; igetPortName(i); - if ( isInput ) - std::cout << " Input port #" << i << ": " << portName << '\n'; - else - std::cout << " Output port #" << i << ": " << portName << '\n'; - } - - do { - std::cout << "\nChoose a port number: "; - std::cin >> i; - } while ( i >= nPorts ); - } - - std::cout << std::endl; - rtmidi->openPort( i ); - - return true; -} diff --git a/source/modules/rtmidi/tests/sysextest.dsp b/source/modules/rtmidi/tests/sysextest.dsp deleted file mode 100644 index 84ce2892e..000000000 --- a/source/modules/rtmidi/tests/sysextest.dsp +++ /dev/null @@ -1,114 +0,0 @@ -# Microsoft Developer Studio Project File - Name="sysextest" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Console Application" 0x0103 - -CFG=sysextest - Win32 Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "sysextest.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "sysextest.mak" CFG="sysextest - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "sysextest - Win32 Release" (based on "Win32 (x86) Console Application") -!MESSAGE "sysextest - Win32 Debug" (based on "Win32 (x86) Console Application") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -RSC=rc.exe - -!IF "$(CFG)" == "sysextest - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "sysextest___Win32_Release" -# PROP BASE Intermediate_Dir "sysextest___Win32_Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "" -# PROP Intermediate_Dir "Release" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c -# ADD CPP /nologo /W3 /GR /GX /O2 /I "../" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "__WINDOWS_MM__" /YX /FD /c -# ADD BASE RSC /l 0x409 /d "NDEBUG" -# ADD RSC /l 0x409 /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib winmm.lib /nologo /subsystem:console /machine:I386 - -!ELSEIF "$(CFG)" == "sysextest - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "sysextest___Win32_Debug" -# PROP BASE Intermediate_Dir "sysextest___Win32_Debug" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "" -# PROP Intermediate_Dir "Debug" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c -# ADD CPP /nologo /W3 /Gm /GR /GX /ZI /Od /I "../" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "__WINDOWS_MM__" /YX /FD /GZ /c -# ADD BASE RSC /l 0x409 /d "_DEBUG" -# ADD RSC /l 0x409 /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib winmm.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept - -!ENDIF - -# Begin Target - -# Name "sysextest - Win32 Release" -# Name "sysextest - Win32 Debug" -# Begin Group "Source Files" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" -# Begin Source File - -SOURCE=..\RtMidi.cpp -# End Source File -# Begin Source File - -SOURCE=.\sysextest.cpp -# End Source File -# End Group -# Begin Group "Header Files" - -# PROP Default_Filter "h;hpp;hxx;hm;inl" -# Begin Source File - -SOURCE=..\RtError.h -# End Source File -# Begin Source File - -SOURCE=..\RtMidi.h -# End Source File -# End Group -# Begin Group "Resource Files" - -# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" -# End Group -# End Target -# End Project diff --git a/source/modules/stk/juce_module_info b/source/modules/stk/juce_module_info deleted file mode 100644 index 87b2ed043..000000000 --- a/source/modules/stk/juce_module_info +++ /dev/null @@ -1,17 +0,0 @@ -{ - "id": "stk", - "name": "STK Library", - "version": "4.4.3", - "description": "STK Library for audio sysnthesis and effects", - "website": "https://ccrma.stanford.edu/software/stk", - "license": "GPL/Commercial", - - "dependencies": [ { "id": "juce_core", "version": "matching" } ], - - "include": "stk.h", - - "compile": [ { "file": "stk.cpp", "target": "! xcode" }, - { "file": "stk.mm", "target": "xcode" } ], - - "browse": [ "stk/*" ] -}