libaubio5-0.4.9-bp156.6.4 >  A eqΊI%z {[$3-"S3[iI8*-8| +%\狥vw'3eu[(!#TC!7Z)萖|mt%:_zs"KMg([Lk.nu uOGFp9V%Ccm#A{sdOh@= tg}Gq|E iW(VG@qg9TUͅɭ%hZķuh؇ Fv_Yܳ?1@V2 :Sѓ%pR: <G)ޢx;XǺm&Jh4қw%Sq6tV[YlWj~雷0pĩF~-3ptT77`;!rޫ/ 0Jzf>1^ԟ{!Cn$ hQuƮ05pݗcWyPp@?d   B (0 4 8 @  t;(k8t9:>~@~F~G~H~IXY\4]<^\bhcdxe}fluvw4x<yDzClibaubio50.4.9bp156.6.4Library for real-time audio labellingAubio is a library for real time audio labelling. Its features include segmenting a sound file before each of its attacks, performing pitch detection, tapping the beat and producing midi streams from live audio. The name aubio comes from 'audio' with a typo: several transcription errors are likely to be found in the results too.eqi01-armsrv2SUSE Linux Enterprise 15 SP6openSUSEGPL-3.0-or-laterhttps://bugs.opensuse.orgSystem/Librarieshttp://aubio.orglinuxaarch64eqeq387149449b8c231820e4d229bbb03c8ceb231c4a2bb4af31105d16c966cb1fd7libaubio.so.5.4.8rootrootrootrootaubio-0.4.9-bp156.6.4.src.rpmlibaubio.so.5()(64bit)libaubio5libaubio5(aarch-64)@@@@@@@@@@@@@@@@@@    /sbin/ldconfig/sbin/ldconfiglibavcodec.so.58.134()(64bit)libavcodec.so.58.134(LIBAVCODEC_58)(64bit)libavformat.so.58.76()(64bit)libavformat.so.58.76(LIBAVFORMAT_58)(64bit)libavutil.so.56.70()(64bit)libavutil.so.56.70(LIBAVUTIL_56)(64bit)libc.so.6()(64bit)libc.so.6(GLIBC_2.17)(64bit)libfftw3f.so.3()(64bit)libm.so.6()(64bit)libm.so.6(GLIBC_2.17)(64bit)libm.so.6(GLIBC_2.27)(64bit)libsamplerate.so.0()(64bit)libsamplerate.so.0(libsamplerate.so.0.0)(64bit)libsndfile.so.1()(64bit)libsndfile.so.1(libsndfile.so.1.0)(64bit)libswresample.so.3.9()(64bit)libswresample.so.3.9(LIBSWRESAMPLE_3)(64bit)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.0.4-14.6.0-14.0-15.2-14.14.3ci@bQu@^2@\b@[i[o[oZ'Z@ZJ"Y(YY.XW)@V/g@Bjørn Lie dliw@posteo.netTomáš Chvátal bjorn.lie@gmail.comtiwai@suse.detiwai@suse.detiwai@suse.dejengelh@inai.detiwai@suse.decoolo@suse.comjengelh@inai.detiwai@suse.dealarrosa@suse.comalarrosa@suse.comolaf@aepfle.dep.drouand@gmail.com- Replace pkgconfig(libavresample) with pkgconfig(libswresample) BuildRequires as ffmpeg-5 does not provide libavresample. - Add cdfe9ce.patch: [source_avcodec] avoid deprecation warning with latest avcodec api (58.134.100). - Add 8a05420.patch: [source_avcodec] define FF_API_LAVF_AVCTX for libavcodec > 59, thx @berolinux (closes gh-353).- Enable fftw3- Do not pull in the python2 as a dependency since we can build fine with python3- Update to version 0.4.9: * No upstream changes provided, please see https://git.aubio.org/?p=aubio.git;a=shortlog - Changes from version 0.4.8: * src/notes: new option release_drop. * src/spectral: new parameters added to filterbank and mfcc. * python/lib: start documenting module, improve build for win-amd64. * src fixes: prevent crash when using fft sizes unsupported by vDSP, prevent saturation when down-mixing a multi-channel source (avcodec/ffmpeg). - Changes from version 0.4.7: * src/io/, src/notes/, src/pitch: prevent crashes on corrupted files. * src/spectral/dct.h: add dct type II object with optimised versions. * examples/: fix jack midi output, improve messages when jack disabled. * python/: add dct support, minor bug fixes tests and demos. * wscript: improve support for BLAS/ATLAS. - Drop upstream fixed patches: * aubio-wavread-input-validation.patch * aubio-resampler-NULL-deref-fix.patch * 0001-src-notes-notes.c-bail-out-if-pitch-creation-failed-.patch * 0001-src-pitch-pitchyinfft.c-fix-out-of-bound-read-when-s.patch * 0002-src-io-source_wavread.c-also-exit-if-samplerate-is-n.patch * 0002-src-pitch-pitchyinfft.c-comment-out-debug-output.patch - Run spec-cleaner, modernize spec. - Replace ffmpeg3-devel with pkgconfig(libavdevice) BuildRequires: Allow to build with ffmpeg v4 and newer.- Fix minor security issues leading to segfault or buffer overread (CVE-2018-14522, bsc#1102359, CVE-2018-14523, bsc#1102364): 0001-src-pitch-pitchyinfft.c-fix-out-of-bound-read-when-s.patch 0002-src-pitch-pitchyinfft.c-comment-out-debug-output.patch 0001-src-notes-notes.c-bail-out-if-pitch-creation-failed-.patch 0002-src-io-source_wavread.c-also-exit-if-samplerate-is-n.patch - Refresh the previous fixes from the upstream version aubio-wavread-input-validation.patch aubio-resampler-NULL-deref-fix.patch- Use license file tag- Fix segfault with malformed input file (CVE-2017-17554, bsc#1072317): aubio-resampler-NULL-deref-fix.patch- Explicitly request ffmpeg 3.x for building- Fix divide-by-zero at wavread (CVE-2017-17054, bsc#1070399): aubio-wavread-input-validation.patch- update to 0.4.6 This version includes: * yinfast, a new version of the YIN pitch detection algorithm, that uses spectral convolution to compute the same results as the original yin, but with a cost O(N log(N)), making it much faster than the plain implementation (O(N^2)) * Intel IPP optimisations (thanks to Eduard Mueller) * improved support for emscripten (thanks to Martin Hermant), which compiles the aubio library as a javascript module and lets you run aubio's algorithm directly from within a web-page. 0.4.6 also comes with several bug fixes and improvements.- Rectify RPM groups.- Correct the license tag to GPL-3.0+- Do not install libaubio.a- Update soname and generate libaubio5 package - Update to version 0.4.5 * src/io/source_avcodec.c: add support for libswresample * aubio: new python command line tool to extract information * src/onset/onset.c: add spectral whitening and compression, improve default parameters * this_version.py: use centralized script to get current version, adding git sha when building from git repo (thanks to MartinHN) * src/spectral/awhithening.h: add adaptive whitening * src/{cvec,mathutils,musicutils}.h: add cvec_logmag, fvec_logmag, and fvec_push * src/onset/onset.h: add aubio_onset_set_default_parameters to load optimal parameters of each novelty function, _{set,get}_compression and _{set,get}_awhitening to turn on/off compression and adaptive whitening * src/spectral/specdesc.h: add weighted phase * src/onset/onset.c: improve default onset parameters (thanks to @superbock for access to his evaluation database), see commit dccfad2 for more details * src/pitch/pitch.c: avoid segfault when using invalid parameters * src/temporal/biquad.c: fix biquad parameters initialization (thanks to @jurlhardt) * examples/aubio{onset,track}.c: add options --miditap-note and - -miditap-velo to set which midi note is triggered at onset/beat (thanks to @tseaver) * examples/aubioonset.c: show actual parameters in verbose mode * examples/utils.c: improve memory usage to emit midi notes * python/ext/py-source.c: add with (PEP 343) and iter (PEP 234) interface * python/ext/py-sink.c: add with interface (PEP 343) * python/lib/aubio/cmd.py: new `aubio` command line tool * python/lib/aubio/cut.py: moved from python/scripts/aubiocut * doc/*.rst: reorganize and improve sphinx manual * doc/*.txt: update manpages, add simple manpage for aubio command line * doc/full.cfg: derive from doc/web.cfg * README.md: simplify and add contribute information * wscript: prefer libswresample over libavsamplerate when available, use current version in manpages, doxygen, and sphinx, update to newest waf * setup.py: use entry_points console_scripts to generate scripts, use centralized version from this_version.py, clean up * python/lib/moresetuptools.py: detect if libswresample is available - Update to version 0.4.4 * src/utils/log.h: new function to redirect log, error, and warnings * python/: AUBIO_ERR raises python exception, AUBIO_WRN to emit py warning * doc/: add some documentation, fix errors in manpages * wscript: new rules to build 'manpages', 'doxygen', and 'sphinx', new - -build-type= option (thanks to Eduard Mueller) * src/notes/notes.h: add minioi and silence methods * examples/: add --minioi (minimum inter-onset interval) option * src/pitch/pitchyin.c: improve msvc compiler optimisations (thanks to Eduard Mueller) * python/, src/: improve error messages, fix minor memory leaks * src/io/source_avcodec.c: improve compatibility with latest ffmpeg and with older libav/ffmpeg versions * python/demos/: new demos to capture microphone in real time * src/aubio.h: include utils/log.h * src/utils/log.h: add new aubio_log_set_function to redirect log messages * src/notes/notes.h: add aubio_notes_{get,set}_minioi_ms, add _{get,set}_silence methods * src/aubio_priv.h: add AUBIO_INF to print to stdout with header, use new logging function, add ATAN alias, add stdarg.h, move #include "config.h" * src/{fmat,fvec}.c: avoid integer division * src/pitch/pitchyin.c: [msvc] help compiler to optimize aubio_pitchyin_do by giving it addresses for all arrays which are referenced in inner loops, thanks to Eduard Mueller. * src/pitch/pitch.c: declare internal functions as static, fail on wrong method, warn on wrong unit, improve error messages, fix error string * src/spectral/specdesc.c: return NULL if wrong mode asked, remove trailing spaces * src/onset/onset.c: return null and clean-up if new_aubio_specdesc failed, fix error message * src/notes/notes.c: use midi note to store pitch candidate, round to nearest note, add a variable to define precision, fix out-of-bound write, fix unset silence_threshold, fix error message * src/spectral/ooura_fft8g.c: add cast to avoid conversion warnings, prefix public function with aubio_ooura_ to avoid with other apps using ooura (e.g. puredata), make internal functions static, * src/spectral/fft.c: add message about fftw3 being able to do non-power of two sizes, make calls to fftw_destroy_plan thread-safe, use prefixed aubio_ooura_rdft * src/spectral/phasevoc.c: fix error string * src/temporal/resampler.c: throw an error when using libsamplerate with doubles * src/io/ioutils.h: add functions to check samplerate and channels, use in sink_*.c * src/io/source.c: add error message when aubio was compiled with no source, only show error message from last child source_ * src/io/source_avcodec.c: call avformat_free_context after avformat_close_input, keep a reference to packet to remove it when closing file, avoid deprecation warnings with ffmpeg 3.2, add backward compatibility for libavcodec55, fix for old libavcodec54, use AV_SAMPLE_FMT_DBL when compiling with HAVE_AUBIO_DOUBLE, fix missing samples in eof block, avoid function calls before declarations, improve error messages, replace with new context before closing old one, make sure s->path is set to null * src/io/{source_wavread,sink_wavwrite}.c: declare internal functions as static * src/io/source_wavread.c: fix bytes_read for JUNK headers, improve error messages, initialize buffer, skip chunks until data is found, or abort, skip junk chunk * src/io/source_sndfile.c: add support for multi-channel resampling, set handle to null after sucessful close, add missing floor in ratio comparison, improve formatting * src/io/sink.c: only show error message from last child sink_ * src/io/sink_apple_audio.c: avoid crash on empty file name * src/io/sink_sndfile.c: improve error message * src/io/sink_{sndfile,wavwrite}.c: use AUBIO_MAX_CHANNELS, fix error message * README.md: update copyright dates, use https * src/aubio.h: add some links to examples, use https * src/pitch/pitch.h: add aubio_pitch_get_tolerance, add basic description of unit modes * src/notes/notes.h: add doxygen header * src/spectral/fft.h: strip example path * doc/*.rst: improve sphinx documentation * doc/android.rst: add reference to it scripts/build_android * doc/debian_packages.rst: added page on debian packages * doc/python_module.rst: add demo_source_simple.py, add note on pip, add `print(aubio.version)` * doc/cli.rst: include command line manpages * doc/cli_features.rst: add matrix of command line features * doc/requirements.rst: add a note about --notests (closes #77), document - -msvc options, improve description of options * doc/download.rst: added page on download * doc/installing.rst: update * doc/xcode_frameworks.rst: added page on xcode frameworks * doc/**: use https://aubio.org * doc/conf.py: use pyramid theme, update copyright, remove hardcoded path * doc/web.cfg: exclude ioutils from doc * doc/aubionotes.txt: document -M option (see #18), * doc/aubioonset.txt: add documentation for -M, --minioi, improve threshold description (thanks to Peter Parker), fix typo (onset, not pitch) * doc/aubio*.txt: document -T/--timeformat option * Makefile: add a brief intro, avoid offline operations, add html and dist targets, add rules for documentation, simplify listing, avoid offline operations, bump waf to 1.9.6, check for waf before clean, chmod go-w waflib, improve clean, use pip to install, factorise pip options, generate more test sounds, improve test_python and test_pure_python, pass build_ext in test_pure_python{,_wheel}, quieten uninstall_python if already uninstalled, improve test targets, use bdist_wheel in test_pure_python, build_ext only for --enable-double, verbose waf rules, add cleanwaf * wscript: added debug/release build type configurations release (default) enables optimizations, debug symbols are enabled in both configurations, thanks to Eduard Mueller. * wscript: add options to disable source_wavread/sink_wavwrite, add check for stdarg.h, new rules 'manpages', 'sphinx', and 'doxygen' to build documentation, add version to sphinx and manpages, disable libsamplerate if double precision enabled (libsamplerate only supports float), fix typos, remove trailing spaces, improve tarball creation (./waf dist), remove full.cfg from tarball, prepend to CFLAGS to honor user cflags * wscript, src/wscript_build: improve install locations using DATAROOTDIR, MANDIR, INCLUDEDIR * wscript: default to no atlas for now * src/wscript_build: always build static library * scripts/build_android: add an example script to build aubio on android, * examples/aubionotes.c: use new notes, set minioi, send last note off when needed, add warning for missing options * examples/aubioonset.c: add minioi option, in seconds * examples/: only send a last note off when using jack * examples/: return 1 if object creation failed * examples/: use PROG_HAS_OUTPUT, add PROG_HAS_SILENCE * tests/src/spectral/test-fft.c: fix default size * tests/src/spectral/test-phasevoc.c: fix typos * tests/src/utils/test-log.c: add AUBIO_INF, add example for aubio_log_set_function, improve messages * python/ext/aubiomodule.c: add aubio._aubio.__version__ and import it as aubio.version, use custom logging function for errors and warnings, remove duplicated add_generated_objects, use <> for non local aubio * python/ext/py-cvec.c: use NPY_INTP_FMT * python/ext/py-fft.c: use error string set in src/spectral/fft.c * python/ext/py-phasevoc.c: use error string set in src/spectral/phasevoc.c * python/ext/py-sink.c: always set samplerate and channels in init * python/ext/py-source.c: use error string set in src/io/source.c * python/lib/aubio/midiconv.py: add unicode double sharp and double flat, improve unicode handling, skip UnicodeEncodeError on python 2.x * MANIFEST.in: add src/**.c, exclude full.cfg, include waflib, remove python/ext/config.h * setup.py: define AUBIO_VERSION use sorted glob.glob to improve reproducibility, remove extra quotes, remove status from version string, update description, use custom build_ext instead of 'generate' command, define HAVE_AUBIO_DOUBLE to 1 if needed * python/lib/gen_code.py: add support for multiple _do outputs, fix number of output, improve del_ function, safer DECREF, fix indentation, emit RuntimeError * python/lib/gen_external.py: clean-up, enable tss, remove duplicate, sort generated files * python/lib/moresetuptools.py: add HAVE_STDARG_H, also check for HAVE_AUBIO_DOUBLE, cleaner clean, look first for system library, then for local build, then local sources, mo nore fake config.h here, use samplerate in single precision only * python/README.md: add a note about nose2 for python tests (closes #74) * scripts/setenv_local.sh: python3 compat * python/demos/demo_alsa.py: add example using alsaaudio (closes #72) * python/demos/demo_mfcc.py: add options to plot first and second derivatives, and set samplerate/win_s/hop_s, thanks to @jhoelzl (closes #68) * python/demos/demo_notes.py: add simple notes demos * python/demos/demo_pyaudio.py: added simple demo for pyaudio, see #6, closes #78, thanks to @jhoelzl and @notalentgeek, add some comments, avoid overwriting aubio.pitch * python/demos/demo_source_simple.py: fix indentation, make executable * python/demos/demo_timestretch{,_online}.py: fix usage string, remove unused import, use // to yield an integer (closes #71) * python/demos/demo_timestretch_online.py: use 512, fix block counter * python/demos/demo_tss.py: improve default parameters, exit before plotting * python/tests/: use local import, add __init__.py * python/tests/test_cvec.py: simplify * python/tests/test_fft.py: skip test fft(zeros).phas == 0 if needed, expected powerpc * python/tests/test_fvec.py: reduce alpha norm precision to 10.-4 * python/tests/test_{midi2note,note2midi}.py: use nose2.params, add unicode tests * python/tests/test_notes.py: add basic tests * python/tests/test_notes.py: test results are correct for 44100Hz_44100f_sine441.wav * python/tests/test_sink.py: add more tests, quiet warnings * python/tests/test_source.py: break long line, check the tail of the file is non-zero on non silent test files, filter user warnings to avoid spamming the console, only check if last frames are non silent on brownnoise (weak), remove fragile brownnoise test, check duration on short files, use nose2 params to process one sound file per test * python/tests/test_specdesc.py: RuntimeError is now raised on wrong mode * python/tests/utils.py: by default, use 5 seconds brownoise - Update to version 0.4.3 * src/io/source.h, src/io/source_*.h: add _get_duration * src/notes/notes.h: add basic notes object * src/tempo/beattracking.{c,h}: add _get_period and _get_period_s * src/mathutils.h: add fvec_ishift * src/fvec.{c,h}: add fvec_weighted_copy * src/tempo/tempo.{c,h}: add _get_period and _get_period_s, also add tatum, a subdivision of the beat period, default to 4, implement get/set_delay * src/**.{c,h}: use #ifdef HAVE_FOO, not #if _HAVE_FOO, add const qualifiers to unmodified pointers (see #35) * src/{fmat,fvec,mathutils}.c: optimisations (using atlas or Accelerate when available) for fvec_sum, fvec_mean, fvec_shift, aubio_level_lin, fvec_set_all, fvec_zeros, fvec_weight, fvec_copy, fvec_weighted_copy, fmat_vecmul * src/aubio_priv.h: check for atlas cblas, use cblas_xswap, vDSP_dotpr, protect SQR parameters, avoid redefining MIN/MAX, define PATH_MAX and PI when needed, use _isnan on windows msvc 9 to avoid linking error, more windows hacks * src/mathutils.c: avoid for loop initial declarations [gcc], use HAVE_ATLAS, use smpl_t for constants * src/fmat.c: skip asserts * src/spectral/{filterbank,mfcc}.c: use accelerated fmat_vecmul * src/spectral/fft.c: fftw can be used odd length sizes, not Ooura, factorise double / single flags, use memcpy * src/spectral/phasevoc.c: fix arguments checks, return NULL when fft creation failed , apply windowing for resynthesized grain, use ishift for odd windows, fix scaling factors for correct reconstruction at 50 and 75% overlap * src/pitch/pitch.c: allow for silence == 0, improve error messages * src/pitch/pitchmcomb.c: fix candidates sorting function, really comparing current to next * src/notes/notes.c: equivalent to previous examples/aubionotes.c results * src/onset/onset.c: simplify selection of first onset, fix for "conversion from 'smpl_t' to 'uint_t', possible loss of data" with msvc * src/pitch/pitchmcomb.c: scan across all spectrum * src/pitch/pitchyinfft.c: use fvec_weighted_copy * src/{spectral/*.c,onset/*.c,tempo/*.c}: make sure win_size > 1 * src/io/*.c: use custom defines for {source,sink}_apple_audio, take a copy of const char* path * src/io/source_avcodec.c: - update to libav10, libavcodec 55.34.1 - avoid deprecation warning, detect if we use ffmpeg or libav version - check if the uri is a network stream using av_url_split, call avformat_network_init() if needed - check if we still need max_analyze_duration2 (closes #53, thanks to @anthonylauzon) * src/io/source_{avcodec,sndfile}.c: avoid modifying input param * src/io/{sink,source,utils}_apple_audio.c: fix memory leak calling CFRelease (closes #26, closes #27, and closes #28) * src/io/sink_apple_audio.c: disable async mode for now, factorise code * src/io/source_apple_audio.c: check out of bounds _seek, set s->path, quiet * src/io/source_sndfile.c: fix crash, zero-pad output vector when upsampling, use sf_read_double when compiling with AUBIO_DOUBLE, approximate duration when resampling * src/io/sink_sndfile.c: fix for double precision * src/synth/sampler.c: fix typo, keeps a copy of uri * src/tempo/tempo.c: do not write novelty function in output[1] * src/temporal/resampler.c: make msvc happier adding a dummy variable * src/temporal/filter.c: check parameters, fix filter_do_outplace to really avoid modifying input * src/utils/windll.c: add dll main entry point * General: - new build system, new code generator - Python 3 compatibility (#33), thanks to Nils Philippsen (@nphilipp) - double precision compatibility - simplify memory allocations, removed unneeded malloc/free calls - fix memory leak (#49), check input sizes (#63) and output sizes (#60) - improve indentation, clean up unused imports and variables - fix comparison to None and to False * setup.py: move from python/setup.py, add option to build libaubio inside python-aubio (for instance with pip), add command 'generate' with option '--enable-double', build with -Wdeclaration-after-statement -Werror * python/ext/aubiomodule.c: fix PyMethodDef sentinel * python/ext/aubioproxy.c: factorize input checks into PyAubio_IsValidVector, fix windows c89 compilation, use npy_intp, not long * python/ext: rewrite and simplify, safer and improved memory usage (#49), improve error strings, verify actual object creation * python/ext/py-source.c: added duration, check seek is not negative * python/ext/py-musicutils.c: do not overwrite PyArg_ParseTuple messages * python/lib/gen_code.py: new generator, switch to using custom PyObjects instead of fvec, cvec, fmat, ready for double precision (defaults to single) * python/lib/aubio__init__.py: use new aubio.float_type, make sure length is not zero and float_type is imported * python/lib/aubio/midiconv.py: fix instance checks, make sure midi2note uses midi int (#33) * python/lib/aubio/slicing.py: fix samplerate * python/ext/aubio-types.h: add new_py_ functions to create PyObjects instead of fvec_t, apply to generated and hard-coded objects * python/lib/gen_external.py: improve compiler detection, fixes build on windows (#55) * python/lib/moresetuptools.py: helpers for windows and macos compilations * python/demos/demo_reading_speed.py: new reading speed tests, external packages disabled by default * python/demos/demo_timestretch.py: new timescale algorithm * python/demos/demo_timestretch_online.py: new timescale algorithm (online version) * python/demos/demo_create_test_sounds.py: add script to create simple sound files to test on using sox * python/demos/demo_a_weighting.py: add simple demo for a_weighting * python/demos/demo_filter.py: moved from _a_weighting * python/demos/demo_mfcc.py: use n_coeffs * python/demos/demo_bpm_extract.py: add exception type, avoid {} as default argument value * python/demos/demo_pysoundcard_*: update to pysoundcard 0.5.2 (closes #42) * python/scripts/aubiocut: fix usage string output * python/tests/run_all_tests,*.py: switch to nose2, fix most prospect warnings * python/tests/test_fvec.py: add test_pass_to_numpy, cope with accumulated errors * python/tests/test_cvec.py: simplify, add more tests * python/tests/test_fft.py: more tests, fft.do to clash on wrong size inputs, f.rdo input size, cvec is large enough, memory tests, avoid VisibleDeprecationWarning * python/tests/test_filterbank.py: check for wrong values, ValueError raised * python/tests/test_filter.py: add tests * python/tests/test_musicutils.py: simplify, check TypeError is raised * python/tests/test_mfcc.py: more tests, check for wrong input size (see #63) * python/tests/test_mathutils: fix test_miditobin test, can also raise NotImplementedError (darwin) * python/tests/test_note2midi.py: more tests, use unicode_literals * python/tests/test_phasevoc.py: add a note about ocasional crash check perfect reconstruction for overlap > 75% add 50% overlap test, fix duplicate test name, add wrong sized input tests * python/tests/test_sink.py: remove useless many_sinks_not_closed and cruft * python/tests/test_source.py: simplify, quieten, skip tests if no test sounds * python/tests/test_specdesc.py: check for wrong values, skip wrong name test, use correct input size (see #63) * python/tests/utils.py: try reopening the file is deleting it fails on windows * python/VERSION: removed, use same VERSION file for libaubio and python-aubio * MANIFEST.in: move from python/, update contents * nose2.cfg: add minimal config, set multiprocess always-on=false (fixes coverage, pass -N to speed up the tests) * examples/*.c: add time format option * examples/{aubioonset,aubiotrack}.c: also emit midi note, thanks to @topas-rec (closes #62) * examples/: use outmsg to print notes (fixes #8) * examples/aubionotes.c: use new aubio_notes object * examples/aubiotrack.c: enable -O and -t options, fix is_beat/is_silence types * examples/{parse_args,utils}.h: check in config.h if getopt.h was found, or build without for msvc, more windows hacks * examples/utils.c: change send_noteon to accept floating point midi note number * tests/src/io/test-source_apple_audio.c: shorten long line * tests/src/io/test-source_avcodec.c: use HAVE_LIBAV, closes #10 * tests/src/temporal: avoid crash, clarify * tests/src/tempo/test-tempo.c: tempo back to only one output * tests/src/test-delnull.c: improve test, avoid segfaults * tests/src/test-lvec.c: use AUBIO_LSMP_FMT * tests/utils_tests.h: add VA_ARGS versions of variadic macros * tests/utils_tests.h: also use custom srandom/random when compiling with - std=c99 * tests/utils_tests.h: make sure M_PI and RAND_MAX are defined * Makefile: set waf to 1.8.22 for now, new targets create_test_sounds, build_python, test_python, clean_python, build_python3, clean_python3, test_pure_python, test_pure_python_wheel, (use test_pure_* targets to build without libaubio), use 'HAVE_DOUBLE=1 make' to build in double precision * scripts/build_apple_frameworks: add script to build macosx and ios frameworks (see #34, #43) * scripts/build_emscripten: add script to build with emcc and co * scripts/build_mingw: add script to cross-compile using mingw * scripts/get_waf.sh: added simple script to fetch latest waf * scripts/setenv_local.sh: set environment to run from built source tree * scripts/setenv_local.sh: update to new python-aubio build location * tests/wscript_build: do not install test programs * tests/wscript_build, src/wscript_build: use 'use =', simplify * src/wscript_build: enable shared lib on ios, static lib on windows * wscript: - update --enable-foo to fail if foo is not found - add -mmacosx-version-min=10.4 on darwin - add '-fembed-bitcode' on ios (closes #31), min to 6.1 - make fat build, add option to not build with Accelerate framework - add option to not build with CoreAudio/AudioToolbox - add --disable-docs option - add -lm detection - pass HAVE_AUBIO_DOUBLE in compiler arguments - first check for headers, make getopt.h and unistd.h optional - check HAVE_AV* from ctx.env - make msvc compiler quieter, add /MD and /D_CRT_SECURE_NO_WARNINGS - check if we find atlas/cblas.h - new build platform emscripten - more cleanups and updates * src/: remove trailing spaces, improve doxygen strings, update copyrights, fix typos * src/onset/onset.h: fix description of get/set_delay functions * src/spectral/mfcc.h: add link to reference implementation * src/spectral/filterbank_mel.h: update reference url * src/musicutils.h: update link to Bernardini's paper, improve doc * doc/aubiomfcc.txt: add a note about the output * doc/*.cfg: update to Doxygen 1.8.8 * python/README.md: fix typo (thanks to Sam Alexander), document how to build in a virtualenv (see #2) * README.md: minor updates, link to python/README.md, switch to https- Use pkgconfig instead of libffmpeg-devel- Update to version 0.4.2 * src/onset/onset.h: add aubio_onset_get_silence(), fix description of aubio_onset_get/set_delay functions * src/tempo/tempo.h: add aubio_tempo_get_silence and aubio_tempo_get_threshold * src/io/audio_unit.c: fix deprecation warning (closes #16) * src/io/sink_apple_audio.c: avoid opening null path * src/io/sink_sndfile.c: improve error messages, set nsamples after write * src/io/sink_wavwrite.c: fail if samplerate is way too large, assume windows is little endian to build with mingw32 * src/io/source_apple_audio.c: check out of bounds _seek, set s->path, quiet * src/io/source_avcodec.c: update to libav10, libavcodec 55.34.1 * src/io/source_sndfile.c: cast to uint_t for now, clarify some variables names, fix crash, zero-pad output vector when upsampling, improve seek errors and strings * src/io/source_wavread.c: avoid orphan parenthesis , cast size_t to int to avoid warning on win64 , improve seek errors processing , sync error message * src/onset/onset.c: avoid doubled onset at start, check parameters * src/pitch/pitch.c: add Hertz as valid unit string, check parameters * src/pitch/pitchyin.c, src/pitch/pitchyinfft.c: avoid producing NaN on silence (closes #7) * src/pitch/pitchyin.{c,h}: fix typo, developed * src/spectral/phasevoc.c: fix argument checks, improve error messages * src/synth/sampler.c: make sure blocksize > 0 * src/tempo/beattracking.c: avoid segfault on silence (closes #24) * src/tempo/tempo.c: add silence detection (closes #23), add old behavior in examples/aubiotrack.c, check parameters * src/*.c: fix some useless float conversion * python/ext/aubiomodule.c: improve documentation * python/ext/py-musicutils.c: add silence_detection (closes #21), level_detection, db_spl, level_lin, complete window implementation * python/ext/py-source.c: add channels, add seek (closes #9) * python/demos/demo_a_weighting.py: add simple demo for a_weighting * python/demos/demo_sink_multi.py: add multi channel version * python/demos/, python/demos/: minor improvements, improve syntax (closes #19) * python/setup.py: use setuptools, add numpy to install_requires * waf: removed, now automatically downloaded with make, updated to 1.8.12 * Makefile: add target to fetch waf and basic instructions * .travis.yml: added template for travis continuous integration * {examples,src,tests}/wscript_build: add external libs and uselib to targets * src/wscript_build: do not hardocode install path * wscript, src/io/*.c: use custom defines instead of __APPLE__ * wscript: make fat build optional, remove iOS sdk versioning * examples/: use outmsg to print notes (fixes #8) * examples/parse_args.h: improve short documentation (closes #12) * doc/*.cfg: remove html timestamps to make build reproducible (see debian bug #779216) * doc/aubiocut.txt: improve documentation * doc/*.rst: add sphinx documentation basis with Makefile and conf.py * README.md: minor updates * python.old: removed old code * tests/: minor bug fixing - Add doxygen, ffmpeg-devel and txt2man dependencies - Replace python with python-devel/sbin/ldconfig/sbin/ldconfigi01-armsrv2 17019596210.4.9-bp156.6.40.4.9-bp156.6.4libaubio.so.5libaubio.so.5.4.8/usr/lib64/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.opensuse.org/openSUSE:Backports:SLE-15-SP6/standard/9dbd6c0d937cce250ad1c05631268125-aubiocpioxz5aarch64-suse-linuxELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=babf4427c138165bcb0ab444910cceabfd9215b2, strippedPRRRR RR R RRR R RRRRRRR'y\utf-86cbd9d2c02f4545f1b8e49166b24a6a07693415914313008d8544675ee770300?7zXZ !t/] cr$x#I3($wL&dAx4ߡ o\' -4tXZN|1.T/~83֪޵v85鉥ӻSL/MBVHD-Y*osh& ]ZjNͻ uu=67t$o&+ȩ-ssfAXn7//Xb<14No3rߋ}s ⠉!Al󨌬IOmx+)CNyf|N \x[fU.bLM?An&Wφ4mYh(E+x,I7ȱ>>\v{Mj^:i_:Fx>_FYsg *iH.|owK=ueH;:@ Mz2,RPqZ2}2"7=gw2 r)Ug[AG#&vɛm<&oiˀe~1Y97xY 96 #{"Prݜh2y *?l(.t^='{꿝'$ˏ_+HM k lL8Qx/K1 "  ]/W+JP4S2D1f_)S7՘@;m0!QZ"x ms[,M} ާΧ@11-_VtK\)J@];m+XL0#嚷k$ϕTI^-/z4=jFj]`ix .ؓ !ۙf#\k+TPGi=.Y6klo}97 :*qܖ4L&9SER#:";lC)Rg;f;7nDAz/ }^ tcMAbdDLd.q͚jh(SҠ0p{JYvk"a &zJ?c9 4! +\UK&|BGaE HRZۢpp~E/3 jIK2PWÇOu#UgRheouOСJ$?'?q}U:|!:d݌J.[ W퍕l1}ȡ;1`W/5'tU\ -\BlhαnEmNey֬[ch͉sWAc`R_8%>o$}Rϗ,!|<1z\wۺyp_k>IʵOj5G0\c]%8zy7FKshtWz%>$]N ŘkZ3wc>G8P4Q}'GvHqT(4{AbG[{QVo &т>ocHQ9 ?h S{BzҀ(7}=9 xgmamō @(/P~$w؃4MM }ZOÛ PU'"ROs؟Ä{l6gO<Ƿ˪hp>k< .әbM=&Ҳ j" ebϚM<Py0N~#J43tG;uͥ~|ٕJjXq%AQM ('8C-2aq!N~(ʕ{靖&pDvV4D퓉-N /)tǨ>]ĥZSvKQS9<[!ML>(eKf<QdF/sЋ| 6& !I;.E)v&9(e4l;VIȶ*$he\$s!+=ۛX4q`cQYq2Q04|9ٜ Q (T ݯ%Kg6:[ 4xy`X1]\I7xI>~yTb{OhíNlmh?i?ɟğ D.q8|9%e]QikSH74,?.+sSp7XҝE/c;(~[}UT&;xKtj諊>xȩC%H*uڔ-qJUd7J~-4^tR5NtӮ[CWr3 Uy\pG[)`8jI[_F7H^ *c89BOg)G0(HaڒrHBffyܦղ9A.K:}$KMZQ8 >Ըi01}oLTѵܛsML>X[U+)_w|ug! s%AgO,vh*rѣG D5<(z1oN։vn;]{=:dH nx" MDa]4X~=uׅT%Ç>]F_nzp|q#Uc3dKPW=(b:S7n3VoOߚksYzR|MתLU0cT&X $RKU+{F,,sQ.oQ' K՘eq!LQd aWU=D7?!W+axz|?.X`:co`\EVMnhb=57uu s}>J&bՊ o bL UBٗ+4vBo}ԬѫW, .d+XQ2E-i׺ OU8WsxK3~lsґlE7u N&z)C7##Z)-2FM8Y+K6jBIݺ4i`'M̈́ˍcFn[=^3 *7[ȍR^"+S{A"ݥrv;g,NS{;[:]!($18OZ|U*Ƶ6U0@p$J$ p$7 ,z6$>?6k6z9/F]Xy <`r0CGV5w X0pYggAYrR%lav gF.ky]vXBY'ASF/?] ڔ!Eˍe kKX>)*WAúܱPE^;+f' 33P~5DzX;cJM@-&QRirHpȔx=w( _f{Ѓ߫bw-G_Ǟ , ~f1-?)LkWM%]=vbg۾Ai`b> h@U?Ts8"ƮXbjWLdIXW3yiRGv][azǸfZxBL7be65?nݺ"q<Ws[a#=.aUA |r.CR[˳Nu۱;.p^}CR@̌H D2p.ї,Wzw-()^-4i\w*4.i F]M}AA'\f N`v=D[9Dh^Dc Oy1J$FIi2bj'fmwB3OO*P6@@84 +XЖӘ6WBRz/]^#,I@*r3%IDFg`(t]z:SMj 2og>t:՗$|o RS.;LbqڿJDҪo*?->0تV; ^}58y{fZ_Vvѕm!*^*ny8N67ݫl/Fz;k}kX!ܩ\7]ƵlvNyj+øK%wMTL)2‹X#/.= OVf#Y)c?a5/xPAG8UZ]!]k q?GΜcjO] Gε"vW}RAy 4kRn<zzW#s*^ hi[mԖT X/(m0*v!q:͚82qR7B!KR皟\w,Jڂw2ka͟;:1jMR˵o~>z$-b1D>3%25 Sah}}5hCEBndL ƛ:0枷Gu0aW c֠@Ȃ`8X[S2dc4ecJ=~Cm86Ay:׿f vYg{~7)xٝd?SЊgK@*f] ~V[z+ڛzKiZ.hVo*Zg(_#*K̬oH6_K%PTsZ=+rt*N5ɼZ6ve%hXdVӇ{&ۉ}ZH>Ug8"iwu&Y>J ;ͽ'j3j~yuGYhwğ).dWؚp^rG]r}Tψ+e˹i}dHb Z?xhѣGCQ%k̦d $ JCf"=hNaMQk*12`tkQO zȁwV&~(k|LRZdvfW3XwǰY YsaFUFWܵ_$oS[U.ݸҴP/L9[xQ)MbfCN+%7+9c7g7ʖ`=b0N0٩u.w$WpGa]5BQ1^5YLe6K`۰9̣SrL7*<g_үFJc~WiZnIHFU8@@ߒ.F 4_űO`us$`UXE(%ܩL!MMyQ3s"4+B?+SdmXFj13*Q 4LtD_a|9審s)yu^/w~1uv>3o\܅ҁ7QjS*V,=5;ƣĤz./̣sKS6!t3୸$N׼KC@}˽]YzS74ITJ TQv7LMg9LSUCLxC|9=@0٨L ,l kTŝn`|]PeYa]K&O%i 6#92Ƒ9HiHϖ1}o弖E՞ꂞ0c[>7^qi%k(ϙ ;La"af9nN?Iad`;X qED [Gnb6 -qf,ݜ֧s5< Мg:}(HE)S; qV4QP>y m~|Ɠ*Zs{e%NEY}]۟K!]0H rmUƢul4YN&"qbӕ~@H E@NӞeH#]gw!xSK|Cm"wahwL¼縚a0ey$yd,y+Ry0X5)X@-/_<8!MfX)aJ@[ȿ ºxEd@{`NeCŷ7:we}L^)?+K Ryhtl/w[@Pvwخtܞ܊O,&]L ?%uks#R _yyt 2YCvκZ;n>-- Bm-x׺Kom4`BE\]hh頉퐾S&{֡]^3xl1Brm@9r{((\AD O&B)ZQKz}AAI2l$;a |qeˎa/_Ҵ%$TO?μ> !PsFǦg suLQń#vnGGY4恪ŷՅTAz" o ׼m@1eAuEvwDm*{?lh6!jXj}co,_6-V >"P1p 1}\T`]u gT 0j-wv$s;] d5@\/cp+z[.QF_f]l}vq/Zػ.n="#YR;K|#ˏc6J%@}mS7XnB5vZ.M X8 OA$n!X) &oMcX)s' Iwemj+eCK-HZ5k ^D蕢.`%x:ktT]CZʯ>X̬je?m]yV}DEV@߯7z!|oܔ/]%|aP&Ehf>edenܿ}Iey,&l-zj8 ;r})S0.naO?x۶*j\*9!Fsxli̟'RGhT>._9"1_ 'cz2EGx ߪ0?B~o:O akj#eK$R̊-R\rY}scUKy]cB-;E+#)ϔHàHA I/vzpDh,0M_B{WoX'O6?EH?:K8~_pY@׸1v06ѧ 1UaդZ{\X`~@EojDd ePU)!#7UG>*e b2ת/SMn4ZõD !y'j Ka)NO{PUqm_ a%ԙGB'"i18#څ/on2iqntyD44ߊsQԵX8Iz"ȖrOS 6Ci:^4q#;aּc3:qrV;F dUgO ZvSU*Jpjkh1(Vr<_)gj}htZ7;!Zu~̴u4N A61&x\Ȇ ™L~3'FdmV2퓟rvʆT?yn0'E9wj;},Q*ZO. y4J.X2.{m8m:IXr4r_ 7_/ۚ?(ٲv8DkKN[h(WnJ^,h\Fs1"(Eը;s$|6>߿T Oe6YaM` Y"y~wFvپx'I \R]]4*8$^Vо֕UТ0N1FlTdדhc.K0-Ygk'ۂdߧr(*:-x] -[Ү})'ƞm+b |J^hs4h/dtְ|^ V&O *_1]c{6ZdHjsN{Cv8@/l 5a~YxcDSW/nփ\y e&r|GulfxkLCesFu"{%w-< j%9R_s˼x%17"BLħQ]:^[jgLZ'>f Xpꍚ rME:| R{0 RۃZ`OD ] ] k9225;`)Sf7Jv-kA/ʆQKmVӢQ† .!eVH*# 0 ^f͈>gu-dNv}лܼN2P:iJ^l6 8MMqKŌ`rgrX90 ϳ:4f8}wsCTS;;w[Ѷ9=<7lE>F$4bW]s?Xn &~*7RT2~H|7b~o߰@Bpd+B*ȊW<˲ C^J9=+qh ظ?\%հWRX N~6'}Ci:jG=s%JT3iG^;5gF*5ct_dd!'U-9wi,ܟ/LhTܚg#r(lv%fE2eSW6EkqJ*l:@ߎ{ 0?#Ś*ءUh&o0nRn͟f^ђRĽ!d\N! vҘ25?܍t.Ȫ bŦWI3[K!Z&g"ׄy k`(zpq.)խTdJviJ3y9+mXX&.B(U?+|%p5RG>Xgo$eyt!=cg+{:Y-:|ux;{A#rQj Zx)k9fY#OZxݑxagt80k(eRPblU7OӺ?uC+«!ZY4^ڵ4JkTujY0JBő#aNpX68f9C +X9"n!k bO <5:9(2h0fMo"KguŠ갻d6jKV"Jl}ڱBD46#7lutoUX RRiƏ#hWD}8Y>UGqZ拓%Kv2ZJx9JgR\] To>IfugEi Aa=m={JK+&||:ãU;ԏu(֜}}0'X,? ? /LŻu䴑ԡ]?_PHMPUi WmΞj~rM1h %mrMoCBor3bM91`),VYQqf:%kx$'Gm e2zs\ gG5ÊP#x|6yIǝ6NVu曅 $gi/t!K繑9P՛o:ɟ Ob1LѢpR[.g che+i1&=Lߎ <Ⱥ+lUIT{ q3v cvVթBV+:lf4U#eGnp۪!5[|y- SER*2ΨuR1$>S)VZcޅ.dmuVw-zƈ*^2܄PߏT'* r-^@@3ݚ^ng݆rfb,:_\HAsz-~ĩV#ӡ`vITk z9e: i?彳J-Ng"=lڞ8ƒ ;>Ġ/Χ3]Hh&a[3)*|E;lqY㤬A,d9iR`18.5nA==i׌1H-+eM\-뛆n3vQ`r<Dn$]\\!\| F.PUJ;1e8|ĩew$<Ќxu9? l:1!WY؎}j[fE)~K}elpuyȉ0#@oOCmRs؋L;A)@zNN3KBaDA;yOZ(S׎~$hB.Ҍtse10 #(vLw{*Z۷MPu.ׅEȉDẬ =OZSgU,'h`4%6wOK!d9U86cU~ -z9Xw] Zx# NɁP>xZ-i$?`dɃy5˧_ } Tؿc;^HKԙ^S0J2_pA;U,d3_ȞbMEjpPTqX:G7 mn^qQvY,۴!Ϋ1}3,m 6x\(fA^xuݍ K']aBRszۂf֒ !I(xĥ2fRI#*4׆utyE6HAxusbU6\\)ak#/q(pu \iX?+i25c+ժ%6d 3TuT0h싹!+x/OCqVꞛz?Qy~ۜWk 1#6++$=p]3S:/na4DʲjZO%0H7ȯzpEޚ&P.X`r ̩\OSJ+Y۟{o `g.OF0sjbo!23s;%U%1ꑂu KnҹG3eBk. ĞHd ye5IJD0xLe'j6b7Y^ %`2|6ynN$(X„D5 HU"j]buJVBYth/cay HVX Xͤn]Ge^1u(*Ԍ4qx  † `BFLԙO7$՚3DR8rz;EOVgˡFi%֕[) KhpEcoDO6@5H CL8 \]Ĩ6OY!ʬGq>ޝ{/F l5kWG/Of!?tTk'ItWV3\..6+殡[<DMxX#جuۣL2IbQd5/:]M*Opc YzqHZ *BU˷t2wSȒ V9TUQ\6H@{`ƌyM|cD ew& scS>XV`ո<14T]kBCqQ&\E.) Lx6CWBO*d=i;C&Utȱ"tB=T!G@ ż?oէ6"Wu7b/ԦTlu&hdN`WHZte nւ3J"_N /,B@9ugn^W ͘CM,-&hֵ/xx ߨt (Xnю F{}lL(ЌegF_h: ɾZc_採i\꿝X[$PQ~#{9$@ܴuH!?7qXB 2s8+ntF#^%ۺ LVQoHVwTmfM.0mb)1zq YlX=tkՈ@%,Zăg_MZ_32^5eTK=_B"@KԵc߮kp$M]F/O0q3K2wz HOvo6L >!]-OrAFm)hY 2`Ar0>׬dI <3X;0"s)~.4cu!VRV{DǾoqZ?qlVg\#'*"B1.k ʂ"Y)b!Iќ?Ȁ\[o#}\3`eK]Z*M|Eg4twjv( ⼉}ox%6G(xI\J@Q;pCNB@wjd/wqs Ĕ1Ikƨ+7H'XXkR5&CLCФz]w5 sK֩BÁH}+-% 21slzIĻ@&zlp8{?ϓsaxCr%V}U^S'EuIgإ] &mx;>R2;+47]vS&]nB)\Φd?\c(r>x@ĄeH9\R΍7^8D>m}vJn8&lt"oO[00MSkzﷷF>Od!r є‘$iR" 𭲴^6,M; ]^w)B6}um,W.g:BkIF5h4l'2UJå#wK[`HKQa:bvUQ^UBw+NFrǡǯQy u)ASK*,Îe΃S.pךu0DqtH綩QM`JU/+%ΙnE|Y`2-"'m}D{ZH18ɥckD/إc9_Z(UK6 ] k8~]^i~.(ʌxH"Zs ē̥Hk| ͽ@bͲn\AOq"'T'xc(IkzT!?}nښxo7<"`SɊ`'Mw"#"ng)ԘkCB$my0Yt]_Y^ont.i"HRy#`(趌eDXtbyaLK-E5Ff@J/zOO5._JpyM}" G.cП@A{?< C#qVhsOv0Y9 ~:oac^')? &%㰏ߞk*}~NؙYw6n6d*P#vdMM;O&%, 0%MKX8MPU&kWbE(~6PN^8yJFO h: wWP;-<+:""i$oJB)2m,M5BIa5_UaѹZE9ڻ--`B'B =7R3opTS_̟(*;6(Ke(mp#*y3iƊEwu()į8٦ˎ)U ~ 3JӴB@1ݶYywJvlY)qJ$f@c*vF}ܐ7)ܺXxQuRz-&a`IB V63&Ȗb,*eWW8|mڬ 󾷰,盵pax-l\3 ;ʮh-8{w/$2Guplla>X4-C~R? A ;ZZ|Y)4\^o y3!$&d[=hbH5x޿|GVSt('UFfl 9oMuoxҨIAFYěy[׷6܁dm;Olt!"a.' V2Q'W5)eU'^i޺6AvٝTI2 ;u;3:dGW>nREu`;1pAG,Յ5m[_y#LT(tzǗjHUKSOߒm1Wm"nj,P2:c)f<&]d@ߘ#/D 'Xk d{fp;Is(NEग^jydY UQi30&ݒG52贾)E0-M:FkL ^4ѼhxsdSHQ-e^N09hBHP4ίǬX^I :[\c0 6[Z'ˠm7i"(C &oyQdzE#C8< Y=$"\? kw^V02[;%selx@]EQ>2|:[6|[#9v8*/pV,::d}"^r-AN'rgpAcQ/{[ap  [8E1h'+ O:<*Q(Zbwג7CgXhSFqIALKym<b}Ek!ٶyN { @q {r֫pOX]DE~%ԺHY+8#)W{qCTmĥgf// 9,{BX$&ۗd< "+7i4Fͤ/$0ojZ]:9%$ VX`X<1t/:RTY,)/r'*cӯYۑПJHP4fc\]=ht|!AhϘ?PtRfU{|g7u IiLF 5.d:@QH8"I2:ݢ!a4śbqMj-$^>´MװRftwzֳMFQ6xf'^؂[\X;o%G)~hE΀PlH ? s?d?hJۥSk=^pHL1b6ia#';A0!2#}ЬT NB1Aw[! sDb!Y.,wgSתY"JRj /y,or=C>}_c{Q3 ɲ8u`(kiD}#&|*žnjИY=dnFޟ˧ej'xe(w|0VkdH9ոgJTJd9h-1C~V7(| SY]o+;Ժ?tQ\8~6ql G>pÛGƖq*"LMTc`NC*<ހ`}d{r2_Etq[tq*ϿMH4Y`\s#Tɝ/cʶId~\x &@Ȁ_x:&`y63'<&-謊w' O0åv#n(tN%͋+ډ|F ,;6@Jt<5>΍=ܣu) tk\2qM| `(ն<1@l[6:fjޙRkմiL x1M:D#ۿp8?_{J?}z0_ @cQ!jϪhXG췆_M%=TI/'XC^%c~V-k>/{E+)3wشf+ay)?>OJAJvL:ثkֺIXhi'aڃ ds=h]{.u+ 6M/%7,9sj\,x[;ogB~!]B7@%ɭ$iK*KlO)塗 GȖBبϰɩ[2ЕV;JfSg ŵlFQF]CG`vi蹒tdMyW/¹.(_^I]&FV $x5ncvHw$Nr-t?{=GpYoXAI]RsF`WM q<\} V&\ֹq0U {uIX?#|W +{p͡p>N@&f \4J0Qs^)nTzV)ŷ߀΍iFYQDz񧃏q ]lBVV"UnI~O_{Jf7if, ߷EXVȹE[;~qeK-H;"s v32_Pɤ.{(&Ἆ IYWwX|v6ds ߙKUd{{CwRop3Q1 =W!&Oqy1F&]<>u+/Wxp(/Fo(JEud` /gf,h)z`'x_߄$ݰ^8||)wC|gv콮~=Z\K݉C}gfNM:nǸ)b띍pte ` ;ÜD@/18N7Fsь:&!IxȚeflYhPSOIRw&vLJD*xW2g?wT#g)`P.GĀDrW>^C6FC.}]nZ;y!Y/G}8_2tN:dX?u>Pnc-nόԹb*55jf B z7mU (8^h8, nyQDM(9{MG='QjYJPZnnbCpDKᒘPg8a sTnuE ժA},]xBoÑNǓ3cxg I] H^ȬT^ 0Ҹ!pZyh C5f+ N٠Rݏܤ#`㞴}*Spܩd[i,A3D@> W11@QT['wڹ]!DC|tL vGʃEwM騎{ȭF ͝YnŽET1lFzIndp!dNGJGsn!Z;Vў:JAօL.VR A쥟&r/f&hF;C g_ovX_B^Y!2?Q6k*kkO, a뫲8qi4Y"5+-? g0E]AsL4xDg2aͤIN5w/Y$3,(8~I큁4R#p>A q86͎9BZLX;jxvj ЕeD/ ?gn~dhCfδgi ' Yt,ݾy<17kswt.qCo}I+[Z]@K)LwaxO4X2[ddz#9"r.a KkW}f1Ai\Up~CI ` }KӎS.A<*qry/Pg5u1jۗWPc\Rq.<(¦pB< b뵝ِ"N`;qie;m< ͫ`:9g8кVvv*;Y$w5&1bJZ(Dľ-FWRSm˰G4[X9 x6DM,r\As.=3Erw}דKBbE܏/+2>ܵn%IeL+{t/6L¥ | ˙@l6vN~ wh6!O0Ar֝n=UC 0e{#<9FrzeFYR8 aEou]4O4c-O? 3 i"%;(xm3cȺ@VsHA92*ݎw&1 hʇ3n#W]EEʦxs?yk/A6;/:s!Dn3:!kh#9yzB}'bM^@zۊKqêўN ߆j>wl F9><>C>ċm_ G`kA=7lCtFhaŬMh:~b |ڀE&Ɩ3*f7x0]f1F=ËH9~\{9q5oS@v6jRs ',a7WF, %h>L}XXr+`~a\' I[O˹ \KI$Cj'޸|%7Fظzv4^e}ؒ`w>X9k%`yTq KWxyN0 q.0YHqlQ*.z=+R(Q~Iǒm#ֵ޾Ov7GUILv 0k hb^^ݖz&8!I1em5+УI]C4X @@~0x,\_q)!LPɉ i`,LsU!f h9qÆau>]]7]G2Ԗ b$_7XObZ>Wޘ8qEXOw 墒"؁, BkzRÿTTƐlCؾ ` -i >x|VM871kc;>=?Db5 K9E+'qϴ:XcZTx{j( Gb4`I?wFa`i=P~9pϏ]~%ҘWd򐢉''T!bp*u7^;{AqYLgd>4BAIbk_6b`War6tF?B^6RDAAcWR[2> vܵֈ" `Z2F߿2(y ! ;ȉ3٪Xjo>H=Ia Po2}6'K|q)rTbla~r CVL.p؂`F)%G29s I=Mw?PD۟6X=\]W$Pʰ o! |Nv jV)๙b !gk`b_#Mg2P~fpQvp3L ā0H Xk1Y ɥ tTY|gVOɠ0>&ˢBv%8jԑV}pIxW}$ctwiMvU\̘ive᫪>s\ھފ> e`#/|=[p_#W&#+6g8fGQj(kڰG[)g 4pYfyKxK=G90IyvEYVnL ?_8şS~AhZ>/@#=wv*4 <=p\ņt<_0cǡ٪(W݅WxQF M|}|TP5 MJJ"Bpޒ{yѯ*xB.?La^&B /{D˿SbC<'0E„ ^#oL1FmqFK}Ph+be_kXzpMS"w(+2i^_c6^!EM}{R[x÷%+ vyR窑H,|F0H6w5G6/]W#W V~ qTQ%nF M 9kke}ҷqe#kOw:kDjZG[OX&)iZS7xO=6Xpmq0|4&\3"ܩplZaVL8?ɩQߙFEӪ*=0ݬ8 ΧȎ$|sԂקOcO=5IԮ1yd=ZJ{zHmرĚ-Oi@% R7|=ww0잵Ұ0h8D^N>_pzש㸵nˣ[~aG<5,j u&UF4wU+_ߣ{ց'a}D{EO2ԿΨ|H{̺ LuH]N2. uX G3A d3t"EH%(Ne0XY%n ?.R ^z5DHԱ^B^0πو WQ!]I&=;3guma!ߦ> D‡#dk,(QT5hu-a[`p\sC,)_:?N:nܒ[tdܷΐT}pWmc3\6NIdL'dJ4<9kĘkq䘞SGЪjB8@#|ytt/#.e'G`Ѥ_U`U0Y>A"J"N#t!yWQdl1[9++C$Y,Q#嚽W}a w!]ϚŞPS42rXÏ 6HPN[yqMhmiCpe #ex̃HY>s*+FcHު~ \f5N#~v*k˖-Yl8NTbQb Fݡ . I'V|#59Dh|prmM{s ґr+:U|_ h6SpGy6یdazi3(* _Dڵ+j4~'[ ;6>p D1m\gʢh&]'i'?yo6㶘.SyȢfIW0u;N4qG?2,TוB^ӗxt0Me7//D$e~ b*[HYCs/7H["ʛn6TUjg;Ū`fgGhULR7˃gc|􍼪-AG_2ǨsѨxm_uM\KtlF5#5D4C 4,Ncٝ-=?H8SҁHt4!  zrkC0vkkJ bE`!1X#ѯ2 l4dC Atԛ6+~a,i 3˷15™VsI2(#%C'xLeh Gb&۽XC-% 0~kK\E) 6Ũ0{Ub !HNFf~cP(.1@2 ؄$%tή52`?ڪ~:n')@beė+A=2!`X Sqoܻk‌ hYާMQVʹq <-m$J8ijVR=/)eb\Tb&b/%W|8r y=KEsg?} =v\yN`@@l격ҭ <M"Of 5*#;zQg( .avl't0x~ܭÍȬUt65vՁʀakz!cؽ2"r1s5vS|+AvtLwTgx%6ًe捄co.P.05 j%8bRDƣכD>\0V<ȳ: 5j.XlaP8G*ʓAtӁ ݋=V?7\ {$Fչ"4!h{x.̑t& fݥmQrVS[w6"ɍX錔$? cG.g:A4r$~")nqy!s+p-UN%AYaYa*(UZ 9e=M/3}GQeGeTbЪPEq @ \x"2=a/)MNSag1RcW f}{('0= hU=ż}4(2;wܺ ޛ#XXlԚ8`OY$O$D!325"3㏎$R9 =0Lel@5:j$[CV35!~۔x}~1zw xH+fwRQػJb5Cc}1WJ/LQyu2H#D~9A= #NL;1S,lHt-Ŀϭȥ® T$+_w=8;g9nR$N3cu/yK $a 3N8@O {:+?< vbC`F&ޜs9ns3NDN~iP}l b&t7le`URi=QZP/XŜNRk,O)™kN~ÿ1|f~.iq%ٙ3omDm-Bi}6ni(5dѲN wRDp$ 5QV ;nJĎ6Oa5y5>ݟ;%!}5UK0fgJ½4[oJ4 KުHφ{Mi;xnTH t}L.ilݣ]^y5t-H>~NEFM5䄔D9q/ \:P2Dx=հB {flAW H8p|c_/a'X$8t|V$ы;0 0> 3+#ʝ94Q>) \pM)I|_?j NDc#t+&2ns6:=Tz}2. g0&VMʵ*Oi)nkep|hZ šC|SmW\\Н|k#Ut;ŵ\z+eRk VZ;SXy^"  ><R=Q+z+9DQm0h!mT9Z@hjܡ-Q"^ڷ:+C:٣Jf9+ѿquLCUGAFgđXU,M|H\y=E\!qTHl]1-U Cs[*d87Խ;UV1T7R3LQ~AXuJۙb7y);q 쉞%F;Z cLŅo`0[#mZF0Sc0vrn`Mxq󡴗)'L٩n$x=_IaT `&q,ϑCAB oqƧwl/f }57qWSOSxVXÃN1?͑x}Ke!IlbR=➂μ sj,Q q7(sSeUJQae_jHb*R:a);snqsB ^Ux&t>Nnr/=LS=']zL=(^ү[pO2̍ŏu#딁T6[Z2˦/ uw4J;H=HD)251F< ђ5(w"'b}#[RX5fY Jp ԆR3[ #_%l5ϲ =<|#t&1ܶi٩BT#DLnScVsKP9CmOxH[W+DtB&Nu{o_~v¸WLj7OW=I!Zr%D!\]P$8bjtcH:b'ُ(`ɂ.݁{/'LoNW>4ؾ0^RŜfR?sbL$do_r+QߦI'ϱ=3d+⡅}QT5@fb1hu0ʬz*^f8[&| nF3HU=;gkqxPgYR[,dhZZç6ƛS]DYL@nwIMj֘D K ն^7I8% .c$(i2H&p3 a&)¿9Cݳ|a^&II3yP2Ppl|!fnPdd X[Ѭjwߔ4}rya_mUTB`EgDE8B|U-^o aDHB:42!{ |; ,H0DŽyz3g㭚A=N _Ҹ£$NKzz퓏g@*͢~[~A? /?[ GCl(Ą-J*.*l vs`].q.Y=آd qSA6\re7ʑ~$Kk'$S>Pv )'JQgj׆*^ar6A_Ö`;D~J&:Z%Rsxi kThfC3dF?`{bahG"I?a}l;V9MyMBe "܉"x{ %?w<y!cV^""zILcJ-A҈ȯ*._ʎL6sW g{WsA+opO!\D%4-}}$SU쭺锐_=")ΙppS/&e)w~U<,o}QQ6'S$ df̈M樐=If AFe ۧծ ε7qȔ}KN!`tџ!# >&xjGOTs%zO_E(JAzRg~?!E:CERy\ooIqxȫ1^]Q{ vÛuy=5W\.KmZbv㓲rpR>Bm}I]uWon-& m}+ ٲ=JI[P^N"NH3O))[\Jb%*s@&,^x\~ҝ/P&ԠDKN>%{ҫ95awOjQnšϰIt/P6 qLC G`C>\3Uɏ'{<ޘܢF[ޮuUEFx' *֛'fAmʹ벀<{ `7ѥ4]Rσ\3iӛf[?T ;ж#\qjlLNO>nMDzV"MQ|rTQ0 4p`m}뉁'u>V$%~ԮQOu@-G aDti '|%w߬.۩u F挃.5@^ Sd0NnNrȕnN.a%䛙/p"&}G.~+UJ\RIyf /^ҘJ!.գraYwlYTȒz+ 4*~-9WЙd:5p _;^,daR3ctY8A.Rf2?޻ &[mX*ŅFH-C]`;<ﯶo8GEtı#*b'P1W2W?ۂ}B3-+t_ivWb^c""\껫KϞMlwoހXIk#EM$Po2 E8e8m3W^aEQОk`qjӂ Uv[Gb妧 1- u2Skj/_"I|&Wmh <yZd1Wlt|B:ncF@W9{)BLN2gbݣU$UA183M[V qD)S? f1,@Ȫ.<\# \T[+=ȓs s۬? 7khbw.XKV$Cϡ(R#޵ N O_ ݱ(\Y;n%ڇ4~j00nb~C ֆhup"yO;2tk  [e7mWZӛ2F 4jg-}xx |F)y:R3iQ9> v%:=nic}mH Q*` lB%U)TP&`m.3%5]lc,,!j[3%l?^%-O^ndqN#9Q& nKPi#x[g C]FEJTT %ilܵ琽.L*h_#;S핈6VȬ&pc59A(/N?~-^O!| ay;,Ә[ v x:{HjqW EeH:לo6ODk%pTfyЭB'>㪢7#aoJftGq^ԟ 9eAy\z-X$\I6hM* /HzݖЧמb0j摄2nKt.hČpfE*_|-e0MЫcԹUȮk:'TVx1K8+ǰ=l rNp^ {"72;3< sy:W|ĢvvJHGW6'?71\pE@>Inw D?Ë'_B]J= .'#,d(3)$opI_Ï߷a~h6Cp<7$a<@q "9*q u'{u&Y-qdE j(^k%zɋ;D n+j+:&XJ+Hwl®ɭfuǿ^r(STsgNŔ=Ԧ4>AbN͍(&kȓ7lHidOũ"vedحGYEsoΞJp=ZU]M$eR7{Ȁ]gv${߉0>/-$`D3x;Fe^,U#xpCT?{ǘPo׶Ho乃eF4XJ60K|¦':5ғ__$;mG&=_Q :"l"-wyXMvR6F)" ~ Q'bEf|$=Lp*S7~R9*y Zh >3LҀN.K%0)H,*=JI!mrLTt yUVb饊P$TW[QM~ QO@W?ʕw;=5+ʅ#>1$<5\ؐmzN7QMk>`zχ:sS Ku>-{JOXOmqnH Gur$$%Pv*6͒A*o֑1@'zGrmȴ< Dԩo|qe4aJ}t J-F=8bL*jSBG>!a! 7y+&i MYF6!Vb5"c&o#j*;f2UYUɭ! LVVuD3i;۟[ ~y![.p"?ީa>jķr)tlt#G*XpHK)෣i6{bz Ҩ7 V.5I?s>˄_%m{%U{'NDLI?jŐ)@eM @g):]E~ JDd%P@@"7k{ WS}c0/ăʱT}O[#VZ''f{pt=U+*,}d ͋ϗQ )VGn:25ApK$\:O<ZrG*JMRNa3eʫ%ⲉ97nkYçZGItVi[H \l7ljN(~]w.n\&<=]'hr7fbrsSĿ}$a T1j=_ R4/ګN5g׶WmYs#; (,픇 Z 5.ʚz;#>%DM\}/!\9C7<˩;* ZjBG<)xƔUg=OCdzjb/4SpP^3%kY~`HGk=6[v %g[0 jj26zhvӤ%#!,~mH>m^ DgjjX| 0f'. ^gٕg NF/Y]ڷS(mRa:ET`A#Re(<}BE$bNX./M'lkܤc'lbB à<ȥ! ӿw (eڨnXHrtlH -ӁL0s&S[k&6QBL|~ "3ڒO[ha!DW N,*JUuV [gࠬN\앟N@7Y@p+W6>RЩrtuI?gOpFm]3q?PIïYZR۩QrKg َ'grExT@X H ivk@Ky@멎7 A0?1}{ljɐH}E"a?cEp։Ӷq] `x(NA[)SZ-?@;bMYS:oI^_rKUu?*[m5O9?Me@E`6jqIXpd< Fr਷o,eCVIE|~1e/^TҧX'(ղZs)6wBO?S#lH|3ZPQUmp_63>gFǑU 4|3#1 -:mWsY}.r6pW ` "phao6a~-pjwP\OP0m!L2iN^zTe{NPՈ8 uBMO)3s OV-jt>@e4Rt[#XV90675q1#D42!NsJOEgmhKYKRqئ޺L!`8#6TT6|䶹:_9TzHVxN3zRke9~,XC~ѓlU51̭y#:rzK_{j[kd%CNTq2zhDWuf 38q {FM.@9 m$fDI|:\mbH\Y#]鷲^1_V/VƑ۰A^TCp? LȆ%~Iui6̏7d yJ7<~%iO&wM[HN"/2LʵL 'SM"r,$1ix(v5Pڅ1[0GPa;*],խp2VN%!'q,%e$=ɺk6,HQXgsaX<Y,혖J%m=Q Ehgm(i@Ea#50nEJ"~ Mlt9XaWPV`@Y\;xu/-?L:#ZywoIc꛲dh HگhdX ֢#!"QtZkS^p #G}xژmcWSxZJk¼l0̩q^n'ąG@F\lV!>(sz:= NZN^"@b27x Iʩene)!WNeW{ <&l"_Ѯf0H@kV{9$p,{& (=;)Uqj]=K@h.+7H n3)׏oC[{jc#"Et::]a6zPڇ,E)}-GMVԁ]Z|4^tAT'- :y9˷*]6;5AϦqvUй*ĒeEN$z̻=A|}is9ncJX! 2kѻJnjIDR0.0IxhO5 kj*{ҹoNNwXU"{dgN/ ֗X )j '!& fG9Rݖ(7~L:4} !edc7%&+7]ѹߔ>R(@+yH(iK炍%Y8K"1 g= [IgZQ[c|<N]ӄ䋼Y>u;v]OƄe=X*[Cik(ڌ 7_L4)-p>xF&xFgKIdt +Zki*!ƌqΤiSc=)NtE{No~4QR,3$]8N= mKҁkHhѦ}D]>a˒+"Eހ̏m%4n2 {)T&2R5/Q_WZBI}Qq՟2@7}u"L,oR{j0YG'G󟶋 YQ gTl'WWQe+E6Gui_5.[K8)MYpSm p70, BIR=\4dkע v- `>r0`xSm"\ߪh*~\UhPXbʂ&9[oHkMP 8zd ߪTKضfz/|Rh *sО-)C4ѦI2_7aixN Pz(FFF짟o!lٍΰwkK>FB?ራ?,1^:%'|`z LcS$Ȥ)5{Υ]今 7O8+X>({ Ē-mO̬ʾNe*;o/Ǖ~+yزs`ƾEtQb<S.Ji)|.J heQ ੋAvdtC407T)0D)ɜ֣g`=xhe*6fxWeX,xj?XS!_u6W4ugRm,Q5i7`rWwa~eplj/׆:oRgԌ~wVJ[: Y fɈ7|&k(Sʌ8F B8'uL8n~]85O$L^+5r[ІQ7ڹb.cTGH22>ƹxE vv[ͺ _s1qؾemL 6?Am{:$R5 9YP#7M6ȥy($9PLԃ|`u6ڢ4ͻmxiVۚKppZ> o}Ց;eO"L P 2aՐALDi< N<!H]팄z&+qR__Mq5.;wokZ`g UAG9%A*cO,¦LF#E+=٘^覃+w\k }(԰^ Tڬ;Дbre}߈[xàOPwrr}fҞ^su=¯A1ɕ$^ǪXUB?TmIhpTݯ0'֟iwۏr{&՘v86\5?mP]YwnQ:!m'T?Ƚ[ETT x_="~R4UijxZS EoHLWA-I)/ Ew &Y_יmZ#}<؃Wg?ze64k[QW~&jW{Qaj+8&f'/ۊEy784/@ ZA(4#PyE,{+h9d:%y Y(: J.\3 *YmZ,'y`F+d3$s]+Ŏ `MXbGPWn.$?-Tw9%B ۭԋތ ]-jYw oxk=u!$ :ugmfz`wƤ vK!# 9yTϟ"+l@ʅ/=i fpL65K^ .›Ze=hƃ$ m$;]4W.c`?sƉDQa{1dlkT]? x\ Kg H}Xy'ZÑj>FR8MnEpHhJX>[J8H#7_,͋wG_LL* b{ I3nS͝N˧yiZT/{I% " ^st!2)6L-u^f1_0,E^ B# GF}q\FJnwFjLI/:OFc+|h+ 9ZzݹB10?vBzҕ޸uC!z!QG5a"p1Xj@AM&E0\j /ܵbB;}ְ)pc59L&. } a8VmRu/1ڂ[/vJ\=~^wv2h8.^$+%DB@ɝ,O<\dENi ]b\T%j̍]>鈩[_8bBgn[JhUI*z6S`q^ݨ jqFqJ[DJ1;Bհ\5gGT  zK، <1\]9b:241ULеlZ+Z .ZcHp es&|$`9vc/ Ϫ { olmZ-)Gn&ogBDŕ0*ze q)P9tU@|Fٰ34G}nA?Èevg/1`h8cU3Ƿ7S)}ЮF0$hbdn*ܫi1d\=K~:VzrTA>O!47)G]T =]MiNئ?YMjj;X^BkK *|*/YULmV&ԑ{Q~Ȏ9 CUDZ}6 ,kgW2 yՎhG@~- E( Rf>%w Ҫ\ݞf/qwJ/@(F6F8Ӭ%>ƿ0l99=E_h˵sjԞt~Q7Q0:E\3MCՍ }߄m4 9e/?:M*ʣFAAHpP@K|y;^@MȢ g1mtX>Gw2kq:hzmI Ѝ0ü@$=UzVo /窞Ր S%Sms;4SSH@5Q7uW]K $cْerVՓPy%"lɗrFbwrE `&JOtW@5xokmÆ?kΡťCNR*bƿ-ٲ U9GZւ1o" 4!26/5W*I|Μ$ػMWrwڏ<9oށ1CvWT?%JOQ+hr:HT˟wrO-$k)!j5{5o x[+"H@]^0Rqqb̗2lZAl-/1j\1,@½v) {eȀjܰ"{1t7*6BQmKAE{_Ca%!;F{:Ò9.s@2$%!ѩ"VL ¡p̸ʘw#ai66}&Ľ>]&q*^\,EŽ;o4B)%ŸA9;xoZe P"+'8 |dͻjLmccdg پncMÆ=&[M,n7<.DK{qkX!c yBs_>8:XJ!ɹd }Noz4oNi^/\LJ&8̈'$cW:D,= a{|qH.<~۠T`R ?kh4vW&o]L:Ċ A YZ